Pemrograman Dasar Pengantar Algoritma PTIIK - UB
Pengantar Algoritma - PTIIK UB 2012 Diambil dari nama ilmuwan asal Persia Al Khawarizmi (Abu Abdallah Muhammad ibn Musa Al Khawarizmi) Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M Tulisan di atas awalnya berbahasa Arab, lalu diterjemahkan ke Latin. Al Khawarizmi menjadi Algoritmi. Berkembang menjadi “algorismus”, yang berarti sistem bilangan desimal. Dalam bahasa Perancis di abad ke-17, algorismus menjadi “algorithm”, kemudian diadopsi dalam bahasa Inggris dengan nama sama. Mulai abad ke-19 istilah ini mulai memiliki arti yang agak berbeda (lihat halaman selanjutnya). Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Algoritma adalah sekumpulan instruksi atau langkah-langkah yang jelas (unambiguous) dan terbatas untuk mencari solusi suatu masalah. Untuk mendapatkan keluaran yang dibutuhkan dari masukan yang sah dalam waktu yang terbatas Algoritma sebenarnya cara, bukan hasil atau solusi Problem Algoritma Data yg diolah Data hasil olahan Komputer (Masukan/Input) (Keluaran/Output) Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Di pemrograman komputer, algoritma diimplementasikan ke dalam program komputer, yaitu: satu set instruksi atau langkah-langkah yang dijalankan dengan komputer untuk menyelesaikan suatu masalah. Pengantar Algoritma - PTIIK UB 2012
Pemodelan Komputer Sederhana COMPUTER TO – COMPUTE + ER menghitung/mengolah bilangan mengolah data Data yg diolah Pengolah Data (Processor) Data hasil olahan (Masukan/Input) (Keluaran/Output) (berbasis Aritmetika dan Logika) Penyimpanan Data (Storage, e.g. memory) Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma MASALAH / IDE PEMECAHAN SOLUSI / HASIL Algoritma Source Code Executable Code Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Compile Error T Executable code: => Run Y Runtime Error T DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH RANCANG ALGORITMA BUAT MODEL TULIS PROGRAM COMPILE Masalah: Menentukan akar-akar dari suatu persamaan kuadrat. Definisi: Persamaan kuadrat : ax2 + bx + c = 0 Data yg diperlukan : Nilai dari a, b dan c : tipe bilangan real Error Executable code: => Run Error Pengantar Algoritma - PTIIK UB 2012 DOKUMENTASI
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Model Matematika : Rumus ABC x1 = (-b + sqrt(b2 - 4ac))/2a x2 = (-b – sqrt(b2 - 4ac))/2a Executable code: => Run Error Pengantar Algoritma - PTIIK UB 2012 DOKUMENTASI
Tahap Pengembangan Algoritma TULIS PROGRAM COMPILE Error Executable code: => Run DOKUMENTASI DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA Start d = b2 – 4ac d < 0 Masukkan a,b,c x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Cetak: x1, x2 Cetak: “Akar imajiner” 10 Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run DOKUMEN TASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Penyajian Algoritma Algoritma dapat diekspresikan dalam bentuk: Tulisan, mis.: structured English, pseudocode, notasi lain Gambar, mis.: flow chart, activity diagram Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Pseudocode Kode atau bahasa informal yang digunakan untuk mendeskripsikan algoritma atau operasi-operasi dari sebuah program komputer Biasanya menggunakan bahasa yang dekat dengan sebuah bahasa pemrograman Ditulis dalam bahasa natural sederhana (mis. Inggris atau Indonesia) atau bahasa matematika Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”) Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Contoh pseudocode Algoritma Berangkat Kuliah Mulai Bangun dari Tempat Tidur Sholat/Doa Pagi Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk Kelas Mengikuti Kuliah Selesai Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Contoh pseudocode Algoritma Berangkat Kuliah 2 Mulai Bangun dari Tempat Tidur Sholat/Doa Pagi Jika waktu persiapan masih ada Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk Kelas Mengikuti Kuliah Selesai Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Contoh pseudocode Algoritma Berangkat Kuliah 3 Mulai Bangun dari Tempat Tidur Sholat/Doa Pagi Jika Hari ini adalah hari libur Tidur lagi tetapi jika Hari ini bukan hari libur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk Kelas Mengikuti Kuliah Selesai Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Contoh pseudocode Algoritma Sarapan Pagi Mulai Ambil piring Masukkan nasi dan lauk dalam piring Ambil sendok dan garpu Ulangi Angkat sendok dan garpu Ambil nasi dan lauk Suapkan ke dalam mulut Taruh sendok dan garpu Kunyah Sampai (nasi dan lauk habis) ATAU kekenyangan Bereskan piring, sendok dan garpu Selesai Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 Contoh pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan memori kalkulator Ulangi Input harga Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga Matikan kalkulator Selesai Pengantar Algoritma - PTIIK UB 2012
Diagram Alir (Flow Chart) Terminator Arah Proses Konektor Input/Output Konektor antar halaman Dokumen Pemanggilan Procedure Pemilihan Pengulangan Pengantar Algoritma - PTIIK UB 2012
Cetak Pesan “Akar imajiner” Contoh Diagram Alir Start d = b2 – 4ac d < 0 x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Stop Y T Masukkan a,b,c Cetak x1,x2 Cetak Pesan “Akar imajiner” Pengantar Algoritma - PTIIK UB 2012
Kriteria algoritma yang baik Correctness (kebenaran) Menghasilkan keluaran yang benar untuk masukan yang valid dalam waktu yang terbatas Mempunyai logika yang benar untuk memecahkan masalah. Simplicity (kesederhanaan) Mudah dipahami, mudah diprogram “Indah” Efficiency (efisiensi) Time efficiency (efisiensi waktu): seberapa cepat Space efficency (efisiensi ruang): seberapa banyak memori yang dibutuhkan Pengantar Algoritma - PTIIK UB 2012
Kriteria algoritma yang baik Generality (keumuman) Lain-lain Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda atau ambigu, dan mudah diimplementasikan kedalam bahasa pemrograman. Pengantar Algoritma - PTIIK UB 2012
Pengantar Algoritma - PTIIK UB 2012 PR Ubahlah algortima yang tertulis dalam pseudocode pada contoh-contoh di slides kuliah Pengantar Algortima ini ke dalam diagram alir (flowchart). Algoritma tersebut: Algoritma berangkat kuliah Algoritma berangkat kuliah 2 Algoritma berangkat kuliah 3 Algoritma sarapan pagi Algoritma menggunakan kalkulator Tuliskan identitas nama, NIM, dan kelas Anda pada lembar pekerjaan Gunakan kertas A4 dan tulisan tangan Kumpulkan pada kuliah Pemrograman Dasar hari Senin 10 September 2012 Pengantar Algoritma - PTIIK UB 2012