Algoritma
Muḥammad bin Mūsā al-Khawārizmī Kata algoritma berasal dari latinisasi al-Khawārizmī, Di dunia Barat, ia dikenal sebagai Al-Khawarizmi, Al-Cowarizmi, Al-Ahawizmi, Al-Karismi, Al-Goritmi, Al-Gorismi awalnya menjadi algorisma yang berarti: "aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik" Abad-18, istilah ini berkembang menjadi algoritma, yang berarti: "prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan"
Kondisi AWAL Pemecahan MASALAH Algoritma kumpulan perintah yang kebanyakan memiliki langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan), berupa susunan elemen-elemen berdasarkan baris & kolom yang membentuk satu kesatuan Kondisi AWAL Pemecahan MASALAH
X2+10x=39
Kondisi AWAL Pemecahan MASALAH Algoritma Memiliki tipe data: Integer, double, real (floating point), string, dll Tiap tipe data memiliki anggota dengan nilai-nilai tertentu operasi-operasi yang dapat dilakukan pada tiap anggota tipe data Kondisi AWAL Pemecahan MASALAH
Aspek penting ALGORITMA
Bagaimana akhir dari algoritma ini? int a=6; main() { while(a>5) cout<<a; a++; } Bagaimana akhir dari algoritma ini? UNFINITE
Algoritma harus berhenti setelah melalui beberapa tahapan (langkah) Finiteness Algoritma harus berhenti setelah melalui beberapa tahapan (langkah)
How could we define the “MIRACLE”?
Definiteness Setiap langkah harus didefinisikan secara tepat, tidak boleh membingungkan (ambigu)
Sebuah algoritma memiliki nol atau lebih input sebelum dijalankan OUTPUT Sebuah algoritma memiliki satu atau lebih output, yang biasanya bergantung kepada input Sebuah algoritma memiliki nol atau lebih input sebelum dijalankan
Setiap algoritma harus Effectiveness Setiap algoritma harus berdaya-guna (sangkil/ efektif)
Case: Fake Coin Problem You have 9 gold coins. All 9 coins look exactly the same but one coin is a fake and is either lighter or heavier than the other 8 coins. You have a scale - balance type with 2 trays- but can only load it twice. How do you find the fake gold coin?
Tugas You have 12 identical-looking coins, one of which is counterfeit. The counterfeit coin is either heavier or lighter than the rest. The only scale you have to use is a simple balance. Using the scale only three times (Note: not loading, but using for balancing), find the counterfeit coin.
Paradigma Algoritma
Permasalahan-permasalahan kecil dipecahkan secara parsial Divide and Conquer SMALLER PROBLEM SOLVED SMALLER PROBLEM SMALLER PROBLEM SMALLER PROBLEM SOLVED SMALLER PROBLEM SMALLER PROBLEM SOLVED CONQUER Permasalahan-permasalahan kecil dipecahkan secara parsial SMALLER PROBLEM SMALLER PROBLEM SOLVED SMALLER PROBLEM SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM SMALLER PROBLEM SOLVED SMALLER PROBLEM SMALLER PROBLEM SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM
Permasalahan terpecahkan Divide and Conquer SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED BIG PROBLEM SOLVED COMBINE Permasalahan terpecahkan SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED SMALLER PROBLEM SOLVED
Bilangan yang tidak memiliki pecahan desimal INTEGER Z Bilangan yang tidak memiliki pecahan desimal BILANGAN BULAT
Integer Data Type Signed Bertanda (+ / -) Unsigned Bulat positif
Pembagian integer a | b jika b = ac; c Z; a 0 a dan b adalah dua bil. bulat dengan syarat a tidak sama dgn. 0 a habis membagi b (a divides b) Jika terdapat bilangan bulat c Sedemikian hingga b = ac
Pembagian integer Contoh: 4 | 12 ? Ya 5 | 17 ? Tidak
m = nq + r Teorema Euclidian m dan n adalah bilangan bulat dengan n > 0, jika m (dividend) dibagi n (divisor) menghasilkan bilangan bulat q (quotient) dan menyisakan bilangan bulat r (remainder), untuk 0 r < n
Teorema Euclidian m = nq + r q = m div n r = m mod n
Teorema Euclidian Contoh: 34 = 5.6 + 4 6 = 34 div 5 4 = 34 mod 5
Tugas Tunjukkan apakah 19 habis membagi 89 773 8721
Tugas Carilah q dan r sehingga m = nq + r m = 66, n = 11 m = 221, n = 12 m = 3, n = 7
Diffie Hellman Key Exchange