300 likes | 653 Views
Pemrograman Dasar. Pengantar Algoritma. PTIIK - UB. Algoritma. 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
E N D
Pemrograman Dasar Pengantar Algoritma PTIIK - UB
Algoritma • 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
Algoritma • 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 (Keluaran/Output) (Masukan/Input) Pengantar Algoritma - PTIIK UB 2012
Algoritma • 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/mengolahbilangan mengolah data Data yg diolah Pengolah Data (Processor) Data hasil olahan (Keluaran/Output) (Masukan/Input) (berbasis Aritmetika dan Logika) Penyimpanan Data (Storage, e.g. memory) Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma MASALAH / IDE PEMECAHAN SOLUSI / HASIL Source Code Executable Code Algoritma Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma DEFINISI MASALAH RANCANG ALGORITMA BUAT MODEL TULIS PROGRAM COMPILE Y Compile Error T Executable code: => Run Y Runtime Error T DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH 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 DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL 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 RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM Start COMPILE Masukkan a,b,c Error d = b2 – 4ac d < 0 Executable code: => Run Y T Cetak: “Akarimajiner” x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Error Cetak: x1, x2 DOKUMENTASI 10 Stop Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI Pengantar Algoritma - PTIIK UB 2012
Tahap Pengembangan Algoritma RANCANG ALGORITMA DEFINISI MASALAH MEMBUAT MODEL TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMENTASI 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
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
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
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
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
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
Contoh pseudocode AlgoritmaMenggunakanKalkulator Mulai Nyalakankalkulator Kosongkanmemorikalkulator Ulangi Input harga Tekantombol Plus (+) Sampaisemuahargadiinput Tampilkan total harga Matikankalkulator Selesai Pengantar Algoritma - PTIIK UB 2012
Diagram Alir (Flow Chart) Arah Terminator Proses Konektor Input/Output Konektor antar halaman Dokumen Pemanggilan Procedure Pemilihan Pengulangan Pengantar Algoritma - PTIIK UB 2012
Contoh Diagram Alir Start Masukkana,b,c d = b2 – 4ac Y d < 0 T CetakPesan “Akarimajiner” x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Cetak x1,x2 Stop 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
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