ALGORITMA Dr.Eng. Retno Supriyanti, ST,MT 1. Ambil ikan gurame seberat 1 hingga 2 kg dan biarkan ikan itu berenang di air yang bersih selama 24 jam 2. Bersihkan sisik ikan itu dan sayat dagingnya 3. Lumuri sayatan daging ikan itu dengan mentega dan bumbui dengan garam dan lada 4. Letakkan diatas papan dan panggang dengan api sedang selama 10 menit 5. Buang ikan gurame dan makan papannya (source: Adlai Stevenson) Pendahuluan • Algoritma : Sebuah himpunan terhingga dari instruksi yang mempunyai karakteristik sebagai berikut: – Presisi – Unik – Terhingga – Masukan – Keluaran – Umum Contoh 1. x := a 2. Jika b > x, maka x:= b. 3. Jika c > x, maka x:=c. Algoritma Dalam Kehidupan • Algoritma adalah jantung ilmu komputer atau informatika. • Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma. • Namun algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. • Di dalam resep makanan terdapat langkahlangkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang lain. Bahasa Pemrograman • Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh bahasa pemrograman adalah : Pascal, C++, Basic, dll. • Notasi algoritma dapat diterjemahkan kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat independen. Flowchart • Suatu flowchart adalah suatu representasi secara diagram yang mengilustrasikan urutan dari operasi yang dilakukan untuk mendapatkan suatu hasil. • Dengan kata lain, flowchart membantu kita untuk mengerti dan melihat bentuk algoritma dengan menampilkan algoritma dalam simbol-simbol gambar. Start / End Proses Input / Output Percabangan Koneksi dua bagian flowchart Garis Alir Gambar 1.1 Flowchart • Dalam menggambar flowchart, digunakan simbol tertentu seperti diatas. • Contoh berikut bisa digunakan untuk lebih mengerti perbedaan kegunaan simbolsimbol tersebut. • Misal kita ingin mencari jumlah dari 2 buah bilangan, maka flowchart-nya adalah sebagai berikut : Start Masukkan A dan B C=A+B Tampilkan C End Gambar 1.2 Flowchart • Contoh lain, misalkan kita ingin mengetahui apakah sebuah bilangan ganjil atau genap. • Untuk itu kita harus membuat flowchart seperti ini : Start Masukkan A Bagi A dengan 2 ya Apakah sisa hasil bagi = 0 ? “Genap” tidak “Ganjil” End Gambar 1.3 Pseudo Code • Pseudo Code adalah urutan baris algoritma seperti kode pemrograman dan tidak memiliki sintak yang baku. • Pseudo Code lebih umum digunakan oleh programmer yang berpengalaman. • Akan tetapi, flowchart lebih mudah dimengerti oleh programmer pemula. • Pseudo code sangat mudah diimplementasikan ke dalam kode program dibandingkan dengan flowchart. Pseudo Code • Kita bisa bebas menulis pseudo code selama itu mudah dimengerti bagi orang lain. • Tetapi disarankan untuk menggunakan keyword yang umum digunakan seperti : if, then, else, while, do, repeat, for, dan lainnya. • Dan ikuti gaya penulisan pemrograman seperti Pascal, C++, dll. • Perhatikan kode dibawah ini : 1. 2. 3. 4. Mulai Masukkan sebuah angka Masukkan sebuah angka dan tampilkan Ambil angka yang sebelumnya dan tampilkan 5. Selesai Pseudo Code • Walaupun pseudo code diatas masih bisa dimengerti tetapi ada beberapa statemen yang ambigu. • Dari baris kedua, kita tidak tahu kemana angka tersebut disimpan dan kita juga tidak tahu angka yang mana yang dimaksud untuk “angka yang sebelumnya”. Apakah angka yang pertama atau yang kedua. • Pseudo Code diatas dapat dimodifikasi menjadi seperti berikut : 1. 2. 3. 4. 5. Start Masukkan A Masukkan B, Tampilkan B Tampilkan A End Pseudo Code • Pseudo Code diatas lebih baik dibandingkan sebelumnya. • Kita bisa dengan jelas melihat dimana angka disimpan dan angka yang mana yang ditampilkan. • Sekarang kita akan mengubah flowchart pada gambar 1.2 1. 2. 3. 4. 5. Start Masukkan A dan B C=A+B Tampilkan C End Pseudo Code • Cobalah ubah flowchart pada gambar 1.3 menjadi pseudo code! BILANGAN BULAT Pengertian Bilangan bulat terdiri dari bilangan bulat negatif dan bilangan cacah, ditulis: B = {…,-3, -2, -1, 0, 1, 2, 3, 4, …} Pada garis bilangan -4 -3 -2 -1 1 0 2 3 4 Keterangan : 1. Bilangan bulat negatif merupakan kelompok bilangan yang terletak disebelah kiri nol. 2. Pada garis bilangan mendatar, jika bilangan a terletak di sebelah kiri b maka a lebih kecil dari b, ditulis a < b atau b > a (dibaca b lebih besar dari a) 3. Untuk a < b maka : Perubahan dari a ke b disebut naik Perubahan dari b ke a disebut turun Operasi Bilangan Bulat 1. Penjumlahan a. Tertutup a + b bilangan bulat b. Komutatif a + b = b + a c. Asosiatif (a + b) + c = a + (b + c) 2. Pengurangan Lawan (invers) a – b = a + (-b) 3. Perkalian a. Tertutup a x b bilangan bulat b. Komutatif a x b = b x a c. Asosiatif (a x b) x c = a x (b x c) d. Unsur identitas a x 1 = a e. Distributif a (b + c) = ab + ac a (b - c) = ab – ac 4. Pembagian Kebalikan (invers) dari perkalian a : b = a x 1/b KPK dan FPB KPK (Kelipatan Persekutuan Terkecil) KPK dari 2 bilangan atau lebih dapat diperoleh dengan : Dari anggota himpunan kelipatan persekutuan • bilangan-bilangan tersebut yang terkecil dan bukan nol, atau Dengan cara mengalikan faktor-faktor prima •yang berbeda dengan pangkat tertinggi. • Contoh : Tentukan KPK dari 8 dan 12 ! KP dari 8 dan 12 = {0, 24, 48, 72, …}, maka KPK dari 8 dan 12 adalah 24. Dengan faktor prima : 8 = 2 x 2 x 2 = 23 12 = 2 x 2 x 3 = 22 x 3 KPK dari 8 dan 12 adalah 23 x 3 = 24 • FPB (Faktor Persekutuan Terbesar) • FPB dari 2 bilangan atau lebih dapat diperoleh dengan : Dari anggota himpunan faktor •persekutuan bilangan-bilangan tersebut yang terbesar atau, Dengan cara mengalikan faktor•faktor prima yang sama dengan pangkat terendah. • Contoh : Tentukan FPB dari 8 dan 12 ! FP dari 8 dan 12 = {1, 2, 4}, maka FPB dari 8 dan 12 adalah 4. Dengan faktor prima : 8 = 2 x 2 x 2 = 23 12 = 2 x 2 x 3 = 22 x 3 FPB dari 8 dan 12 adalah 22 = 4 Contoh soal 1 Dalam suatu tes, jawaban yang benar diberi nilai 4, yang salah diberi nilai -2, dan untuk soal tidak dijawab diberi nilai 0. Jika dari 25 soal, Andi menjawab dengan benar 18 soal dan 5 soal salah serta sisanya tidak dijawab, maka berapa nilai yang diperoleh andi? Pembahasan Benar (b) = 4, Salah (s) = -2, dan Kosong (k)=0 • Rumus nilai siswa adalah: N = 4b – 2s + 0k Nilai Andi ; b = 18, s = 5, dan k = 2 adalah; N = 4(18) – 2(5) + 0(2) = 72 – 10 + 0 = 62 Contoh soal 2 Dalam sebuah lomba, terdapat 17 orang ikut lomba busana dan 11 orang ikut lomba melukis. Jika jumlah peserta lomba seluruhnya ada 25 orang, maka berapa persentase banyak peserta yang hanya mengikuti lomba melukis saja ? Pembahasan n (M) = 11 n (B) = 17 n(M B) = = n(M) + n(B) – n(M B) = 11 + 17 – 25 = 3 n (M) saja = 11 – 3 = 8 Persentasenya = 8/ 25 x 100% = 32 % S M 8 B 3 14 Contoh soal 3 Seorang petani memiliki lahan seluas 1 ha dan 3/5 nya akan digunakan untuk menanam jagung, setiap 1 m2 lahan memerlukan bibit jagung sebanyak 11/2 ons. Jika harga bibit jagung Rp 2000,- per kilogram maka berapa biaya untuk membeli jagung seluruhnya ? Pembahasan • Lahan yang digunakan untuk menanam jagung = 3/5 x 10.000 m2 = 6.000 m2 • Tiap 1 m2 lahan memerlukan jagung 11/2 ons = 0,15 kg Banyak jagung seluruhnya = 6000 x 0,15 kg = 900 kg Biaya membeli jagung = Rp 2.000,- x 900 = Rp 1.800.000,- selesai