Dasar-dasar Algoritma Tenia Wahyuningrum, SKom., MT Asal Usul Kata Al Khuwarizmi Algorism Algorithm Algoritma Abu Ja’far Mohammed ibnMusa Al-Khwarizmi Buku : Al Jabar Wal Muqabala (Pemugaran dan pengurangan) Baghdad , sekitar tahun 780 s.d 850. Definisi Algoritma Urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. LOGIS Sesuai dengan logika Benar menurut penalaran Masuk akal Pertimbangan algoritma Harus benar Output sesuai yang dikehendaki Efisiensi Efisiensi waktu dan memori Hasil yang dicapai Harus mampu memberikan hasil yang sedekat mungkin dengan nilai sebenarnya “Setiap orang dapat membuat algoritma yang berbeda untuk menyelesaikan masalah” Jawablah Sebutkan contoh algoritma dalam kehidupan sehari-hari! Contoh No Proses Algoritma Contoh Langkah dalam Algoritma 1 Membuat Kue Resep Kue Masukan telur dalam wadah, kocok hingga mengembang 2 Membuat pakaian Pola pakaian Gunting kain dari pinggir kiri bawah ke arah kanan sejauh 5 cm 3 Merakit mobil tamiya Panduan merakit Sambungkan komponen A dengan komponen B 4 Kegiatan sehari-hari Jadwal harian Pukul 06.00 : mandi pagi Pukul 07.00 : berangkat kuliah 5 Mengisi voucher HP Panduan pengisian Tekan 888 Masukkan nomor voucher Pemroses Membuat kue koki / chef Membuat pakaian penjahit Memainkan lagu pianis Pemroses harus Mengerti setiap langkah dalam algoritma Mengerjakan operasi yang bersesuaian dengan langkah tsb Kumpulan Pernyataan komputer Bahasa Pemrograman Metode & Tahapan sistematis Program Algoritma AlGoRitMa, pRogRAm & BaHaSA Bahasa untuk berinteraksi manusia dengan komputer • bahasa mesin LLL MLL • assembly • Bahasa c, pascal, basic, dll HLL Formula ALgoritma Program Bahasa 001100011 !@!@*#)(@) !(@_** Bagaimana cara mereka berkomunikasi? Interpreter menerjemahkan program baris per baris artinya jika suatu baris akan dieksekusi, maka baris tersebut diterjemahkan dulu ke bahasa mesin. Contoh : bahasa basic Interpreter Compiler Menerjemahkan Menerjemahkan semua perintah baris per baris kemudian menjalankannya Interpreter & Compiler Gabungan keduanya Java Beberapa cara untuk menuliskan algoritma 1 2 3 Menggunakan kata-kata Menggambar diagram/ flowchart Menuliskan dalam bentuk pseudocode Dengan menggunakan kata-kata Contoh masalah A B Algoritma TukarIsiBejana Diberikan dua buah bejana, A dan B; bejana A berisi larutan berwarna merah, bejan B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejan A berisi larutan berwarna biru dan bejan B berisi larutan berwarna merah. Deskripsi: 1. Tuangkan larutan dari bejan A ke dalam bejana C. 2. Tuangkan larutan dari bejan B ke dalam bejana A. 3. Tuangkan larutan dari bejan C ke dalam bejana B. Dengan menggunakan flowchart Contoh masalah Jika lampu di rumah mati, apa yang harus dilakukan? Dengan flowchart Dengan pseudocode Dengan pseudocode “Satu cara untuk mewujudkan (atau kadang-kadang melakukan kodifikasi) suatu algoritma adalah dengan penulisan pseudocode” Pseudocode 1 2 3 TEXT Tidak menggunakan sintaksis bahasa pemrograman tertentu Tidak ada aturan baku dalam penulisannya Beberapa penulis sedikit meminjam sintaks bahasa tertentu Dengan pseudocode Algorithm LargestNumber Input: A non-empty list of numbers L. Output: The largest number in the list L. largest ← -∞ for each item in the list L, do if the item > largest, then largest ← the item return largest Contoh lain pseudocode Regular code (written in PHP): <?php if ($foo == "bar") { $yesFoo = true; Pseudocode: } If the value of foo is equal to bar else then make "yesFoo" true { otherwise, make "yesFoo" false $yesFoo = false; } ?> Latihan 7+3=? Mulai Masukkan angka pertama Pilih “+” Masukkan angka kedua Hasil angka pertama + angka kedua Pilih “=“ Tampilkan hasil Selesai mulai Masukkan angka 1 a Tampilkan hasil Pilih “+” selesai Masukkan angka 2 Hasil=angka1+angka 2 a Latihan di kelas Tulislah algoritma untuk mencari luas segitiga jika masukan dari pengguna adalah alas dan tinggi! (dengan menggunakan kalimat dan flowchart) Tugas Kecil 1 Buatlah algoritma untuk mengubah suhu dari Celcius ke Kelvin, dan dari Celcius ke Reamur Tuliskan contoh algoritma dalam kehidupan seharihari, beserta langkah-langkahnya Deadline 1 Minggu