Pemrograman Dasar Pengantar Algoritma Sutrisno Chandra Dewi Marji Ismiarta Aknuranda Issa Arwani A. Afif Supianto PTIIK- UB Pemodelan Komputer Sederhana COMPUTER TO – COMPUTE + ER menghitung/mengolah bilangan mengolah data Data yg diolah Pengolah Data (Processor) (Masukan/Input) (berbasis Aritmatika dan Logika) Data hasil olahan (Keluaran/Output) Penyimpanan Data (Storage, e.g. memory) Pengantar Algoritma - TIF UB 2010 2 Algoritma Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah. Diambil dari nama Al Khawarizmi (Al Khawarizmi: On Calculation with Hindu–Arabic numeral system, 825M). Disalahpami sebagai Algoritmi (jamak latin dari Algoritmus), yang akhirnya menjadi Algorithm, metode kalkulasi. Di pemrograman komputer, algoritma diimplementasikan dalam program komputer, i.e. satu set instruksi atau langkah-langkah yang dijalankan dengan komputer untuk menyelesaikan suatu masalah. Pengantar Algoritma - TIF UB 2010 3 Tahap Pengembangan Algoritma MASALAH / IDE Algoritma PEMECAHAN Source Code Pengantar Algoritma - TIF UB 2010 SOLUSI / HASIL Executable Code 4 Tahap Pengembangan Algoritma DEFINISI MASALAH BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Y Compile Error T Executable code: => Run Y Error T Pengantar Algoritma - TIF UB 2010 DOKUMEN TASI 5 Tahap Pengembangan Algoritma DEFINISI MASALAH BUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Masalah: Tentukan akar-akar dari suatu persamaan kwadrat. Definisi: Persamaan kwadrat : ax^2 + bx + c = 0 Data yg diperlukan : Nilai dari a, b dan c : tipe real Error Executable code: => Run Error Pengantar Algoritma - TIF UB 2010 DOKUMEN6 TASI Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Model Matematika : Error Rumus ABC x1 = (-b + sqrt(b^2 - 4ac))/2a x2 = (-b – sqrt(b^2 - 4ac))/2a Executable code: => Run Error Pengantar Algoritma - TIF UB 2010 7 DOKUMEN TASI Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA Start TULIS PROGRAM COMPILE Masukkan a,b,c Error d = b^2 – 4ac d<0 T x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Executable code: => Run Y Cetak: “Akar majiner” Error Cetak: x1, x2 DOKUMEN TASI Stop Pengantar Algoritma - TIF UB 2010 8 8 Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - TIF UB 2010 9 Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - TIF UB 2010 10 Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - TIF UB 2010 11 Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - TIF UB 2010 12 Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error DOKUMEN TASI Pengantar Algoritma - TIF UB 2010 13 Tahap Pengembangan Algoritma DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGORITMA TULIS PROGRAM COMPILE Error Executable code: => Run Error Pengantar Algoritma - TIF UB 2010 DOKUMEN TASI 14 Penyajian Algoritma Algoritma dapat diekspresikan dalam bentuk: Tulisan, misal: structured english, pseudocode, notasi lain Visual, misal: flow chart, activity diagram Pengantar Algoritma - TIF UB 2010 15 Pseudocode Outline dari sebuah program komputer Ditulis dalam bahasa Inggris atau Indonesia sederhana Kata kunci (keyword) digunakan untuk menjelaskan struktur kendali (misalnya: “jika”, “ulangi”, “sampai”,”if”,”repeat”, “until”) Pengantar Algoritma - TIF UB 2010 16 Contoh pseudocode Algoritma Menggunakan Kalkulator Mulai Nyalakan kalkulator Kosongkan Kalkulator Ulangi Input harga Tekan tombol Plus (+) Sampai semua harga diinput Tampilkan total harga Matikan kalkulator Selesai Pengantar Algoritma - TIF UB 2010 17 Contoh pseudocode Algoritma Berangkat Kuliah Mulai Bangun dari tempat tidur Mandi Pagi Sarapan Pagi Pergi Ke Kampus Cari Ruang Kuliah Masuk kelas untuk Kuliah Selesai Pengantar Algoritma - TIF UB 2010 18 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 - TIF UB 2010 19 Flow Chart Terminator Arah Proses Konektor Input/Output Konektor antar halaman Dokumen Pemanggilan Procedure Pemilihan Pengulangan Pengantar Algoritma - TIF UB 2010 20 Contoh flow chart Start Masukkan a,b,c d = b^2 – 4ac Y d<0 T x1=(-b+sqrt(d))/2a x2 =(-b-sqrt(d))/2a Cetak Pesan “Akar imajiner” Cetak x1,x2 Stop Pengantar Algoritma - TIF UB 2010 21 Kriteria algoritma yang baik Mempunyai logika yang tepat untuk memecahkan masalah. Menghasilkan keluaran yang benar dalam waktu yang singkat. Ditulis dengan bahasa baku terstruktur sehingga tidak menimbulkan arti ganda atau ambigu. Ditulis dengan format baku sehingga mudah diimplementasikan kedalam bahasa pemrograman. Semua operasi didefinisikan dengan jelas dan berakhir sesudah sejumlah langkah. Pengantar Algoritma - TIF UB 2010 22 Latihan 1. Buatlah algoritma menggunakan pseudocode untuk menghitung luas persegi panjang 2. Buatlah algoritma menggunakan pseudocode untuk mengubah jam dan menit yang diinput ke dalam satuan detik. 3. Buatlah algoritma menggunakan pseudocode untuk menentukan apakah bilangan yang diinput adalah bilangan ganjil atau bilangan genap. 4. Buatlah algoritma menggunakan pseudocode untuk menghitung luas lingkaran. 5. Buatlah algoritma menggunakan pseudocode untuk menginput 3 buah bilangan, kemudian tentukan bilangan terbesar, terkecil dan rata-ratanya Pengantar Algoritma - TIF UB 2010 23 Tugas Ulangi latihan no. 1 s/d no. 5 diatas dengan menggunakan Flow Chart Pengantar Algoritma - TIF UB 2010 24