ikp213-01-pendahuluan
Upcoming SlideShare
Loading in...5
×
 

ikp213-01-pendahuluan

on

  • 641 views

 

Statistics

Views

Total Views
641
Views on SlideShare
641
Embed Views
0

Actions

Likes
0
Downloads
17
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

ikp213-01-pendahuluan ikp213-01-pendahuluan Presentation Transcript

  • BAHASA PEMROGRAMAN(IKP213)Pertemuan 1: Pendahuluan, 13 September 2011
  • 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
  • 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
  • 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
  • Arsitektur von Neumann5  Arsitektur komputer von Neumann Bahasa Pemrograman – IKP213
  • 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
  • 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
  • PDP-88 Bahasa Pemrograman – IKP213
  • PDP-89 Bahasa Pemrograman – IKP213
  • 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
  • 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
  • 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
  • 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
  • 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
  • Kompilasi dan Interpretasi15  Write once, Run eveywhere  Bytecode  Virtual machines  JVM  Python interpreter Bahasa Pemrograman – IKP213
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Tugas 123  Cari informasi di internet tentang siapa itu  John von Neumann  Alan M. Turing  Cari informasi tentang sejarah bahasa Fortran Bahasa Pemrograman – IKP213
  • 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
  • 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
  • AKHIR PERTEMUAN 1Selasa, 13 September 2011