ikp213-01-pendahuluan

761 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
761
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ikp213-01-pendahuluan

  1. 1. BAHASA PEMROGRAMAN(IKP213)Pertemuan 1: Pendahuluan, 13 September 2011
  2. 2. Administratif2  Konvensi perkuliahan  Kedatangan maksimal 15 menit (why?)  Berlaku untuk dosen dan mahasiswa  Penilaian  Kuis 10%  Tugas 20% (ditentukan kemudian)  UTS 30% (27 Okt 2011, 0800 WIB; sifat ditentukan kemudian)  UAS 40% (12 Jan 2012, 0800 WIB; sifat ditentukan kemudian)  Legibilitas UAS  Minimal kehadiran 70% dari seluruh tatap muka yang diadakan Bahasa Pemrograman – IKP213
  3. 3. Visi Misi Teknik Informatika dan Road3 Map Perkuliahan  Pesan sponsor Jurusan  Di mana kita?  Matematika Diskrit: Automata dan Mesin Turing  Pemrograman  Organisasi Komputer, Arsitektur Komputer  Sistem Operasi  Jaringan Komputer  Pemrograman Berbasis Komponen  Pemrograman Berbasis Web Bahasa Pemrograman – IKP213
  4. 4. Road Map Perkuliahan4  Ke mana kita?  Cloud computing  Mobile application  Web 2.0, Personalization  E-Learning  Sumber daya multimedia  Ubiquitous computing (komputasi sarwega) Bahasa Pemrograman – IKP213
  5. 5. Arsitektur von Neumann5  Arsitektur komputer von Neumann Bahasa Pemrograman – IKP213
  6. 6. Arsitektur von Neumann6  Tigas unit dasar (three basic units)  Input  Output  Memory  Fetch-Decode-Execute cycle  Fetch instruksi dari memory (ke mana?)  Decode apa keinginan instruksi (add, sub, mult, div, jump, branch?) Bahasa Pemrograman – IKP213
  7. 7. Arsitektur von Neumann7  Fetch-Decode-Execute cycle  Execute instruksi (di mana dilakukan?)  Satuan Hz dalam CPU  Peningkatan kinerja  Pipelining  Cache  Optimasi kompilator (mis. "gcc –O2")  Membuat program komputer Bahasa Pemrograman – IKP213
  8. 8. PDP-88 Bahasa Pemrograman – IKP213
  9. 9. PDP-89 Bahasa Pemrograman – IKP213
  10. 10. Bahasa Pemrograman10  Menyalakan tombol switch on dan off  Hasil komputasi?  Tape  Printer  Bahasa Mesin (Machine Language)  Assembly Language (Bahasa Rakitan)  Mnemonic dari bahasa mesin  ADD, SUB, MULT, DIV, BRANCH, JUMP Bahasa Pemrograman – IKP213
  11. 11. Bahasa Pemrograman11  Bahasa pemrograman generasi 1  Fortran  COBOL  Bahasa pemrograman lain  ADA, B, C, C++, BASIC, Pascal  Visual Basic, Delphi, Qt, Tcl/Tk, Python, Ruby  PHP  Android  Prolog, Haskell, LISP Bahasa Pemrograman – IKP213
  12. 12. Bahasa Pemrograman12  Kebutuhan untuk  Bahasa yang lebih mudah  Lebih bebas dari kesalahan  Mendukung multitasking  Berorientasi objek  Dapat berjalan dalam lingkungan terdistribusi / web  Dapat berjalan dalam lingkungan terbatas (mobile devices) Bahasa Pemrograman – IKP213
  13. 13. Kompilasi dan Interpretasi13  Bahasa sumber  Ditulis dalam bahasa tingkat tinggi (Java, C, dkk)  Bahasa mesin  Diterjemahkan  Kompilasi atau Interpretasi  Problem: Perbedaan arsitektur dan set instruksi  Penerjemahan ke bahasa mesin  Penerjemahan menjadi bahasa mesin  Hasil penerjemahan dijalankan  Syntax analysis Bahasa Pemrograman – IKP213
  14. 14. Kompilasi dan Interpretasi14  Syntax tree  Object generation  Target machine language (tergantung arsitektur)  Kompilasi  Dilakukan oleh kompilator  Tidak tergantung kepada kompilator  Interpretasi  Dilakukan oleh interpreter  Selalu tergantung kepada interpreter Bahasa Pemrograman – IKP213
  15. 15. Kompilasi dan Interpretasi15  Write once, Run eveywhere  Bytecode  Virtual machines  JVM  Python interpreter Bahasa Pemrograman – IKP213
  16. 16. Komputabilitas16  Computability  Sebuah program mendefinisikan sebuah fungsi matematik  Tabel basis data  SQL  Hasil kueri  Dokumen  Google  Dokumen relevan hasil kueri  Bilangan bulat  Konversi Suhu  Bilangan dalam satuan Celsius  Komputasi: Langkah-langkah mendapatkan hasil fungsi dari input yang diberikan Bahasa Pemrograman – IKP213
  17. 17. Komputabilitas17  Komputasi; Program; Algoritma  Himpunan  Kumpulan objek  Objek matematika: A = {1, 2, 3}; B = {a, b, c}  Relasi  Pemetaan antara objek-objek dalam himpunan berbeda  f: A  B = { (1, b), (2, a), (3, c) }  f(1) = ? Bahasa Pemrograman – IKP213
  18. 18. Komputabilitas18  Fungsi  Bentuk khusus dari relasi  Aturan (rule) yang memetakan elemen unik y di himpunan B dengan setiap elemen x di himpunan A  f:A  B  f(x) = y  Domain: Himpunan A  Range (Codomain): Himpunan B Bahasa Pemrograman – IKP213
  19. 19. Komputabilitas19  f(x) = x^2 + 2x + 3  f(x) = if x = 0 then 0 else x + f(x-2)  Partial Functions  Tidak selalu terdefinisi untuk semua input  Sebuah fungsi bisa dikomputasikan (computable) jika sebuah program yang mengkomputasikannya  Fungsi f:A  B computable jika ada algoritma untuk menghitungnya  Diberikan x, algoritma tsb berhenti dengan luaran y Bahasa Pemrograman – IKP213
  20. 20. Komputabilitas20  Noncomputable Functions  Ada fungsi yang tidak bisa dibuat algoritmanya  Halting Problem  Sebuah program P yang menerima masukan sebuah string x  Luaran dari program P ditulis sebagai P(x)  Tentukan apakah program P berhenti untuk masukan x  Fungsi fHalt(P x) = "stop" jika P berhenti; fHalt(P x) = , , "tidak stop" jika P tidak berhenti Bahasa Pemrograman – IKP213
  21. 21. Komputabilitas21  Fungsi fHalt tidak computable  Definisikan sebuah fungsi Q(P, x)  Q(P, x) = "stop" jika P(x) = "stop"  Q(P x) = "tidak stop" jika P(x) = "tidak stop" ,  Definisikan sebuah fungsi D(P)  D(P) = "run forever" jika Q(P P) = "stop" ,  D(P) = "stop" jika Q(P P) = "tidak stop" ,  D(P) = "run forever" jika P(P) = "stop"  D(P) = "stop" jika P(P) = "tidak stop" Bahasa Pemrograman – IKP213
  22. 22. Pustaka22  John Mitchell, "Concepts in Programming Languages"  Arsitektur von Neumann, http://id.wikipedia.org/wiki/Arsitektur_von_Neuma nn  PDP-8, http://en.wikipedia.org/wiki/PDP-8  PDP-8, http://www.pdp8.net/  http://tjerdastangkas.blogspot.com/ Bahasa Pemrograman – IKP213
  23. 23. Tugas 123  Cari informasi di internet tentang siapa itu  John von Neumann  Alan M. Turing  Cari informasi tentang sejarah bahasa Fortran Bahasa Pemrograman – IKP213
  24. 24. Tugas 124  Tulis dalam laporan singkat di:  kertas A4  blog  Batas waktu: 19 September 2011, pukul 13.30 WIB  Diloker / sekretariat (pak Haryono)  By e-mail barliant@gmail.com (sertakan URL, Nama, dan NIM)  Be Creative and be Honest! Bahasa Pemrograman – IKP213
  25. 25. Moral of the Story25  Multitasking doesnt work for people  Perluwaktu 20 menit untuk berpindah fokus dari satu pekerjaan ke pekerjaan lain  Seberapa jauh manusia bisa mendayagunakan komputer?  Seberapa cepat manusia mengetikkan input melalui keyboard?  Procrastination Bahasa Pemrograman – IKP213
  26. 26. AKHIR PERTEMUAN 1Selasa, 13 September 2011

×