Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

BAB 5 ALGORITMA DAN BILANGAN BULAT. DEFINISI ALGORITMA ALGORITMA ADALAH URUTAN LANGKAH- LANGKAH LOGIS PENYELESAIAN MASALAH YANG DISUSUN SECARA SISTEMATIS.

Presentasi serupa


Presentasi berjudul: "BAB 5 ALGORITMA DAN BILANGAN BULAT. DEFINISI ALGORITMA ALGORITMA ADALAH URUTAN LANGKAH- LANGKAH LOGIS PENYELESAIAN MASALAH YANG DISUSUN SECARA SISTEMATIS."— Transcript presentasi:

1 BAB 5 ALGORITMA DAN BILANGAN BULAT

2 DEFINISI ALGORITMA ALGORITMA ADALAH URUTAN LANGKAH- LANGKAH LOGIS PENYELESAIAN MASALAH YANG DISUSUN SECARA SISTEMATIS ALGORITMA ADALAH URUTAN LANGKAH- LANGKAH LOGIS PENYELESAIAN MASALAH YANG DISUSUN SECARA SISTEMATIS

3 CONTOH ALGORITMA DALAM KEHIDUPAN SEHARI-HARI : PROSES ALGORITM A CONTOH LANGKAH DALAM ALGORITMA 1. MEMBUAT KUE RESEP KUE MASUKKAN TELUR KE DALAM WAJAN, KOCOK SAMPAI MENGEMBANG 2. KEGIATAN SEHARI- HARI JADWAL HARIAN PUKUL : TIDUR SIANG, PUKUL : MEMBUAT PR

4 3. MENGISI VOUCHER KARTU PRABAYAR TELEPON GENGGAM (HP) PANDUAN PENGISIAN TEKAN NOMOR 888 MASUKKAN NOMOR VOUCHER 14 DIGIT

5 NOTASI UNTUK ALGORITMA 1. NOTASI KALIMAT DESKRIPTIF 2. NOTASI BAHASA KOMPUTER/BAHASA PEMROGRAMAN 3. NOTASI PSEUDOCODE

6 1. NOTASI KALIMAT DESKRIPTIF Setiap langkah biasanya diawali dengan kata kerja seperti ‘ baca’, ‘hitung’, ‘masukkan’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan bersyarat dinyatakan dengan ‘jika…maka…’. Setiap langkah biasanya diawali dengan kata kerja seperti ‘ baca’, ‘hitung’, ‘masukkan’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan bersyarat dinyatakan dengan ‘jika…maka…’. Contoh : Contoh : Algoritma Cari Elemen Terbesar Asumsikan a 1 sebagai elemen terbesar sementara. Simpan a 1 ke dalam maks. Asumsikan a 1 sebagai elemen terbesar sementara. Simpan a 1 ke dalam maks.

7 2. Bandingkan maks dengan elemen a 2. jika a 2 lebih besar dari maks, maka nilai maks diganti dengan a Ulangi langkah 2 untuk elemen- elemen berikutnya (a 3, a 4,…,a n ). 4. Berhenti jika tidak ada lagi elemen yang dibandingkan. Dalam hal ini, maks berisi nilai dari elemen terbesar.

8 2. NOTASI BAHASA KOMPUTER Dalam bahasa Pascal, algoritma mencari elemen terbesar ditulis abb : Dalam bahasa Pascal, algoritma mencari elemen terbesar ditulis abb : procedure CariElemenTerbesar (a : array_integer; n : integer; var maks : integer); {Mencari elemen terbesar di dalam array a[1..n]. Elemen terbesar akan disimpan di dalam maks. array_integer adalah tipe array yang sudah didefinisikan di dalam program utama dengan pendeklarasian berikut : const Nmaks = 1000; {ukuran maksimum array} type array_integer = array[1..Nmaks] of integer;}

9 var k : integer ; var k : integer ;begin maks := a[1]; for k := 2 to n do if a[k] > maks then maks := a[k]; end;

10 3. NOTASI PSEUDOCODE Contoh : Contoh : procedure CariElemenTerbesar (input a 1, a 2,…, a n : integer, output maks : integer ) {Mencari elemen terbesar di antara elemen a 1, a 2, …, a n. Elemen terbesar akan disimpan di dalam maks. Masukan : a 1, a 2,…,a n Keluaran : maks }

11 Deklarasi k : integer Algoritma : maks ← a 1 for k ← to n do if a k > maks then maks ← a k endifendfor

12 BEBERAPA CONTOH ALGORITMA 1. ALGORITMA MEMPERTUKARKAN NILAI DARI DUA BUAH PEUBAH Contoh : procedure Tukar (input/output x, y : integer) {Mempertukarkan nilai x dan y Masukan : x dan y Keluaran : x dan y}

13 Deklarasi temp : integer Algoritma : temp ← x x ← y y ← temp

14 2. ALGORITMA MENCARI NILAI TERTENTU DI DALAM HIMPUNAN ELEMEN procedurePencarianBeruntun(input a 1,a 2,…,a n : integer, x : integer, output idx : integer) {Mencari x di dalam elemen a 1,a 2,…,a n.Lokasi (indeks elemen) tempat x ditemukan diisi ke dalam idx.Jika x tidak ditemukan, maka idx diisi dengan 0. Masukan : a 1,a 2,…,a n Keluaran : idx}

15 Deklarasi k : integer Algoritma : k ← 1 while (k < n)and (a k ≠ x) do k← k + 1 endwhile {k = n or a k = x} if a k = x then {x ditemukan} idx ← k else idx ← 0 {x tidak ditemukan} idx ← 0 {x tidak ditemukan}endif

16 BILANGAN BULAT BILANGAN BULAT ADALAH BILANGAN YANG TIDAK MEMPUNYAI PECAHAN DESIMAL, MISALNYA : 8, 21, 8765, -34, 0 DAN SEBAGAINYA BILANGAN BULAT ADALAH BILANGAN YANG TIDAK MEMPUNYAI PECAHAN DESIMAL, MISALNYA : 8, 21, 8765, -34, 0 DAN SEBAGAINYA

17 SIFAT PEMBAGIAN PADA BILANGAN BULAT DEFINISI 5.2 : DEFINISI 5.2 : Misalkan a dan b adalah dua buah bilangan bulat dengan syarat a ≠ 0. a habis membagi b (a divides b) jika terdapat bilangan bulat c sedemikian sehingga b = ac. Notasi : a | b jika b = ac, c ∈ Z dan a ≠ 0

18 TEOREMA EUCLIDEAN : Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0. jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q (quotient) dan r (remainder), sedemikian sehingga Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0. jika m dibagi dengan n maka terdapat dua buah bilangan bulat unik q (quotient) dan r (remainder), sedemikian sehingga m = nq + r dengan 0 ≤ r < n. m = nq + r dengan 0 ≤ r < n. n disebut pembagi (divisor), m disebut yang dibagi (dividend), q disebut hasil bagi (quotient) dan r disebut sisa(remainder). n disebut pembagi (divisor), m disebut yang dibagi (dividend), q disebut hasil bagi (quotient) dan r disebut sisa(remainder).

19 PEMBAGI BERSAMA TERBESAR DEFINISI 5.3. DEFINISI 5.3. Misalkan a dan b dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini dinyatakan Misalkan a dan b dua buah bilangan bulat tidak nol. Pembagi bersama terbesar (PBB) dari a dan b adalah bilangan bulat terbesar d sedemikian sehingga d | a dan d | b. Dalam hal ini dinyatakan PBB(a, b) = d.

20 SIFAT-SIFAT DARI PBB: TEOREMA 5.2. TEOREMA 5.2. Misalkan a, b, dan c adalah bilangan bulat. Misalkan a, b, dan c adalah bilangan bulat. a) Jika c adalah PBB dari a dan b, maka c | (a + b) b) Jika c adalah PBB dari a dan b, maka c | (a – b) c) Jika c | a, maka c | ab

21 TEOREMA 5.3 : Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0 sedemikian sehingga Misalkan m dan n adalah dua buah bilangan bulat dengan syarat n > 0 sedemikian sehingga m = nq + r, 0 ≤ r < n maka PBB(m,n) = PBB(n,r) Maksud Teorema 5.3 PBB dari dua buah bil. bulat sama dgn PBB dari salah satu bil. bulat tsb dengan sisa hasil pembagiannya.

22 ALGORITMA EUCLIDEAN Algoritma Euclidean didasrkan pada aplikasi Teorema 5.3 secara berturut-turut sampai kita menemukan sisa pembagian bernilai nol Algoritma Euclidean didasrkan pada aplikasi Teorema 5.3 secara berturut-turut sampai kita menemukan sisa pembagian bernilai nol Diberikan dua buah bilangan tak negatif m dan n (m ≥ n ). Algoritma Euclidean berikut mencari pembagi bersama terbesar, PBB, dari kedua bilangan tsb, yaitu bil. bulat positif terbesar yg hbs membagi m dan n Diberikan dua buah bilangan tak negatif m dan n (m ≥ n ). Algoritma Euclidean berikut mencari pembagi bersama terbesar, PBB, dari kedua bilangan tsb, yaitu bil. bulat positif terbesar yg hbs membagi m dan n

23 Algoritma Euclidean 1. Jika n = 0 maka m adalah PBB(m, n); stop. tetapi jika n ≠ 0, lanjutkan ke langkah Bagilah m dgn n dan misalkan r adalah sisanya. 3. Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1 Catatan: Jika m ≤ n, maka pertukarkan nilai m dan n.

24 KOMBINASI LANJAR (LINEAR COMBINATION) Teorema 5.4. Misalkan a dan b adalah dua buah bil. bulat positif, maka terdpt bil. bulat m dan nm sedemikian shg Teorema 5.4. Misalkan a dan b adalah dua buah bil. bulat positif, maka terdpt bil. bulat m dan nm sedemikian shg PBB(a, b) = ma + nb. Teorema 5.4 menyatakan bhw PBB dua buah bil. bulat a dan b dpt dinyatakan sbg kombinasi lanjar a dan b dgn koefisien- koesifiennya.

25 Relatif Prima : DEFINISI 5.4 : DEFINISI 5.4 : Dua buah bilanganbulat a dan b dikatakan relatif prima jika PBB(a, b) = 1 Dua buah bilanganbulat a dan b dikatakan relatif prima jika PBB(a, b) = 1

26 Aritmetika Modulo DEFINISI 5.5. Misalkan a adalah bil. bulat dan m adalah bilangan bulat > 0. operasi a mod m memberikan sisa jika a dibagi dgn m. Dgn kata lain, a mod m = r sedemikian shg a = mq + r, dgn DEFINISI 5.5. Misalkan a adalah bil. bulat dan m adalah bilangan bulat > 0. operasi a mod m memberikan sisa jika a dibagi dgn m. Dgn kata lain, a mod m = r sedemikian shg a = mq + r, dgn 0 ≤ r < m Notasi : a mod m = r sedemikian shg a = mq + r, dgn 0 ≤ r < m

27 KONGRUEN : Kadang-kadang 2 buah bilangan bulat a dan b, mempunyai sisa yg sama jika dibagi dgn bilangan bulat positif m, dikatakan a dan b kongruen dalam modulo m, lambangnya a ≡ b (mod m). Kadang-kadang 2 buah bilangan bulat a dan b, mempunyai sisa yg sama jika dibagi dgn bilangan bulat positif m, dikatakan a dan b kongruen dalam modulo m, lambangnya a ≡ b (mod m). Jika a tidak kongruen dgn b dlm modulus m, ditulis a ≢ b (mod m) Jika a tidak kongruen dgn b dlm modulus m, ditulis a ≢ b (mod m)

28 DEFINISI 5.6. DEFINISI 5.6. Misalkan a dan b adalah bilangan bulat dan m adalah bilangan > 0, maka Misalkan a dan b adalah bilangan bulat dan m adalah bilangan > 0, maka a ≡ b (mod m) jika m habis membagi a-b.

29 Sifat-sifat pengerjaan hitung pada aritmetika modulo, khususnya thd operasi perkalian dan penjumlahan : Sifat-sifat pengerjaan hitung pada aritmetika modulo, khususnya thd operasi perkalian dan penjumlahan : Teorema 5.5 :Misalkan m adalah bilangan bulat positif. Teorema 5.5 :Misalkan m adalah bilangan bulat positif. 1. Jika a ≡ b (mod m) dan c adalah sembarang bilangan bulat maka a) (a+c) ≡ (b+c)(mod m) b) ac ≡ bc(mod m) c) a p ≡ b p (mod m) untuk suatu bilangan bulat tak negatif p. 2. Jika a ≡ b (mod m) dan c ≡ d (mod m), maka a) (a+c) ≡ (b+d)(mod m) b) ac ≡ bd(mod m)

30 BILANGAN PRIMA DEFINISI 5.7.Bilangan bulat positif p DEFINISI 5.7.Bilangan bulat positif p (p > 1) disebut bilangan prima jika pembaginya hanya 1 dan p. TEOREMA 5.7 (THE FUNDAMENTAL THEOREM OF ARITHMETIC). Setiap bilangan bulat positif yg lebih besar atau sama dgn 2 dpt dinyatakan sbg perkalian satu atau lebih bilangan prima.

31 Cara menentukan apakah sebuah bilangan merupakan prima atau bukan : Perhatikan faktor prima dari sebuah bilangan selalu lebih kecil atau sama dengan akar kuadart dari bilangan tsb. Perhatikan faktor prima dari sebuah bilangan selalu lebih kecil atau sama dengan akar kuadart dari bilangan tsb. Jadi utk menguji apakah n mrp bilangan prima atau komposit (bilangan selain prima), cukup membagi n dgn sejumlah bil. prima, mulai dari 2, 3, 5,…, bil.prima ≤√n. Jadi utk menguji apakah n mrp bilangan prima atau komposit (bilangan selain prima), cukup membagi n dgn sejumlah bil. prima, mulai dari 2, 3, 5,…, bil.prima ≤√n. Jika n habis dibagi dgn salah satu dari bil. prima tsb, maka n adl bil. komposit. Jika tdk, maka n adl bil. prima. Jika n habis dibagi dgn salah satu dari bil. prima tsb, maka n adl bil. komposit. Jika tdk, maka n adl bil. prima.

32 KRIPTOGRAFI Kriptografi adalah ilmu sekaligus seni utk menjaga kerahasiaan pesan (data atau informasi) dgn cara menyamarkannya (to crypt artinya menyamar) menjadi bentuk yg tdk mempunyai makna. Kriptografi adalah ilmu sekaligus seni utk menjaga kerahasiaan pesan (data atau informasi) dgn cara menyamarkannya (to crypt artinya menyamar) menjadi bentuk yg tdk mempunyai makna. Pesan yg dirahasiakan dinamakan plainteks (plaintext, artinya teks jelas yg dpt dimengerti) Pesan yg dirahasiakan dinamakan plainteks (plaintext, artinya teks jelas yg dpt dimengerti) Pesan hasil penyamaran disebut chiperteks (chipertext, artinya teks tersandi). Pesan hasil penyamaran disebut chiperteks (chipertext, artinya teks tersandi).

33 Proses penyamaran dari plainteks ke chiperteks disebut enkripsi (encryption) Proses penyamaran dari plainteks ke chiperteks disebut enkripsi (encryption) Proses pembalikan dari chiperteks ke plainteks disebut dekripsi (decryption) Proses pembalikan dari chiperteks ke plainteks disebut dekripsi (decryption) Kriptografer menggunakan enkripsi utk merahasiakan pesan dan mendeskripsikannya kembali. Kriptografer menggunakan enkripsi utk merahasiakan pesan dan mendeskripsikannya kembali. Kriptanalis (cryptanalyst) mempelajari metode enkripsi dan chiperteks dgn tujuan menemukan plainteksnya. Kriptanalis (cryptanalyst) mempelajari metode enkripsi dan chiperteks dgn tujuan menemukan plainteksnya. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalisis.

34 Algoritma Kriptografi : Jika kunci untuk proses enkripsi sama dgn kunci utk dekripsi,maka algoritma kriptografinya disebut algoritma simetri, contoh : DES (Data Encryption Standard) Jika kunci untuk proses enkripsi sama dgn kunci utk dekripsi,maka algoritma kriptografinya disebut algoritma simetri, contoh : DES (Data Encryption Standard) Jika kunci utk proses enkripsi berbeda dgn kunci utk dekripsi, maka algoritmanya disebut algoritma nirsimetri, Jika kunci utk proses enkripsi berbeda dgn kunci utk dekripsi, maka algoritmanya disebut algoritma nirsimetri, contoh : RSA (Rivest-Shamir-Adleman)

35 Algoritma RSA : 1. Pilih dua buah bilangan prima sembarang, sebut a dan b. Jaga kerahasiaan a dan b ini. 2. Hitung n = a x b. Besaran n tdk dirahasiakan. 3. Hitung m = (a-1) x (b-1). Sekali m telah dihitung, a dan b dpt dihapus utk mencegah diketahuinya oleh pihak lain. 4. Pilih sebuah bilangan bulat utk kunci publik, sebut namanya e, yg relatif prima thd m.

36 5. Bangkitkan kunci dekripsi, d, dgn kekongruenan ed ≡ 1 (mod m). Lakukan enkripsi thd isi pesan dgn persamaan c i = p i e mod n, yg dlm hal ini p i adalah blok plainteks, c i adalah chiperteks yg diperoleh, dan e adalah kunci enkripsi (kunci publik). Harus dipenuhi persyaratan bahwa nilai p i hrs terletak dlm himpunan nilai 0,1,2,…,n- 1 utk menjamin hsl perhitungan tdk berada di luar himpunan.

37 6. Proses dekripsi dilakukan dgn menggunakan persamaan p i = c i d mod n, yg dlm hal ini d adalah kunci dekripsi.

38 FUNGSI HASH : Data yg disimpan di dlm memori komputer perlu ditempatkan dlm suatu cara sedemikian shg pencariannya dpt dilakukan dgn cepat. Data yg disimpan di dlm memori komputer perlu ditempatkan dlm suatu cara sedemikian shg pencariannya dpt dilakukan dgn cepat. Setiap data yg berupa record mempunyai field kunci yg unik yg membedakan suatu record dgn record lainnya. Setiap data yg berupa record mempunyai field kunci yg unik yg membedakan suatu record dgn record lainnya. Fungsi hash digunakan utk menempatkan suatu record yg mempunyai nilai kunci k. Fungsi hash digunakan utk menempatkan suatu record yg mempunyai nilai kunci k.

39 Fungsi hash yg paling umum berbentuk Fungsi hash yg paling umum berbentuk h(k) = k mod m Yg dalam hal ini m adalah jumlah lokasi memori yg tersedia. Fungsi h diatas menempatkan record dgn kunci k pd lokasi memori yg beralamat h(k).

40 International Standard Book Number (ISBN) ISBN trdiri atas 4 bagian kode : ISBN trdiri atas 4 bagian kode : 1. Kode yg mengindentifikasikan bhs 2. Kode penerbit 3. Kode yg diberikan scr unik kpd buku tsb 4. Sebuah karakter uji (dpt berupa angka atau huruf X utk merepresentasikan angka 10), digunakan utk mendeteksi kesalahan pd karakter ISBN.

41 Karakter uji dipilih sedemikian sehingga : Karakter uji dipilih sedemikian sehingga : Untuk mendapatkan karakter uji, kita cukup menghitung Untuk mendapatkan karakter uji, kita cukup menghitung mod 11 = karakter uji mod 11 = karakter uji


Download ppt "BAB 5 ALGORITMA DAN BILANGAN BULAT. DEFINISI ALGORITMA ALGORITMA ADALAH URUTAN LANGKAH- LANGKAH LOGIS PENYELESAIAN MASALAH YANG DISUSUN SECARA SISTEMATIS."

Presentasi serupa


Iklan oleh Google