Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge

Ukuran: px
Mulai penontonan dengan halaman:

Download "Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge"

Transkripsi

1 dapat dilihat pada Gambar 1. Penjelasan untuk masing-masing langkah adalah sebagai : Studi Literatur Tahapan ini diperlukan untuk mempelajari prinsip dasar aritmetika optimal extension field. Selain itu, juga mempelajari algoritme serta kajian umum lain yang berkaitan dengan field tersebut. Analisis Gambar 1 Metodologi Penelitian Dalam aritmetika, hal yang paling penting adalah penentuan parameter yang digunakan, yaitu n, c, m dan ω. Hankerson et al. (2004) dan Cohen et al. (2006) menyebutkan bahwa keamanan kunci kriptografi kurva elips 160 bit setara dengan kunci RSA konvensional 1024 bit. Oleh karena itu, dilakukan pemilihan parameter sehingga nm mendekati 160. Pada tahap ini, dilakukan analisis mencakup penentuan nilai parameter n, c, m dan ω yang akan dipakai. Kemudian, akan ditentukan cara merepresentasikan tersebut. Implementasi Studi Literatur Analisis Implementasi Pengujian Tahap ini mencakup implementasi operasioperasi aritmetika dalam. Operasi-operasi yang diimplementasikan adalah penjumlahan, pengurangan, perkalian, kuadrat, reduksi, pemangkatan dan invers pada aritmetika menggunakan bahasa pemrograman C. Lingkungan Pengembangan Sistem dibangun dan diuji dengan menggunakan hardware dan software dengan spesifikasi tertentu. Hardware yang digunakan berupa netbook dengan spesifikasi: 1. Prosesor Intel Atom N450 1,66 GHz 2. RAM 1 GB Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge Pengujian Pengujian pada penelitian ini dilakukan dengan metode black box. Pengujian dilakukan dengan membandingkan output yang dihasilkan dengan output yang seharusnya. Karena setelah dicari, belum ditemukan software yang melakukan perhitungan serupa, output yang benar dicari secara hitung manual. Selain itu, dari pengujian ini akan dihitung kecepatan eksekusi dari masing-masing operasi. Operasioperasi yang akan diuji adalah penjumlahan, pengurangan, perkalian, kuadrat, reduksi, pemangkatan dan invers. Analisis HASIL DAN PEMBAHASAN Dalam implementasi, hal pertama yang harus dilakukan adalah menentukan parameter n, c, m dan ω yang akan digunakan. Pada penelitian ini, konfigurasi p yang digunakan adalah p = 2 n c dengan n, c > 0. yang akan diimplementasikan adalah dengan panjang 8 bit dan 16 bit sehingga yang dicari adalah nilai n dan c yang membentuk p < 2 8 dan p < Untuk pemilihan m, syaratnya adalah membentuk polinomial tak teruraikan x m ω. m dapat dibentuk dari faktor-faktor (p-1). Selain itu, syarat yang lain adalah m jika dikalikan dengan n hasilnya mendekati 160. Nilai 160 dipilih karena jika menggunakan nilai tersebut, tingkat keamanan sistem kriptografi kurva elips yang dihasilkan dapat setara dengan 1024 bit. Untuk pemilihan ω, dipilih ω yang merupakan elemen primitif (primitive root modulo p) dalam F. Dalam penelitian ini, parameter yang digunakan untuk 8 bit adalah n = 7, c = 1, m = 21, ω = 3 Tipe I, nm = 147 n = 6, c = 3, m = 30, ω = 2 Tipe II, nm = 180 sedangkan untuk 16 bit n = 14, c = 3, m = 12, ω = 2 Tipe II, nm = 168 n = 13, c = 1, m = 13, ω = 2 Tipe I/II, nm = 169 4

2 Untuk memudahkan penyebutan dalam tulisan ini, yang menggunakan parameter : - n = 7, c = 1, m = 21, ω = 3 selanjutnya akan disebut nomor 1 - n = 6, c = 3, m = 30, ω = 2 selanjutnya akan disebut nomor 2 - n = 14, c = 3, m = 12, ω = 2 selanjutnya akan disebut nomor 3 - n = 13, c = 1, m = 13, ω = 2 selanjutnya akan disebut nomor 4 Anggota F adalah polinomial, misalkan a(z) F maka a(z) dapat ditulis sebagai dengan dan a(z) = a z = a z + + a z +a z + a a i = 0, 1, 2,..., p i = 0, 1, 2,..., m-1 p = 2 n c Dalam implementasinya, a(z) dapat direpresentasikan dalam suatu array yang berisi nilai koefisien representasi a dengan i bersesuaian dengan indeks dari array tersebut. Representasi F diilustrasikan pada Gambar 2. Indeks m Isi a... a a a Gambar 2 Representasi F pada array Implementasi Operasi-operasi aritmetika pada optimal extension field ini diimplementasikan dalam bahasa pemrograman C. Bahasa pemrograman C merupakan bahasa prosedural sehingga dalam pengimplementasiannya berbentuk fungsi. Beberapa jenis tipe data dalam bahasa pemrograman C dapat dilihat pada Tabel 1. Tabel 1 Tipe data dalam bahasa pemrograman C Tipe Data Panjang Bit char 8 short 16 long 32 Untuk merepresentasikan nilai-nilai dari suku polinomial, digunakan tipe data long unsigned yang mempunyai panjang 32 bit. Dalam penelitian ini, yang diimplementasikan adalah 8 bit dan 16 bit. Oleh karena itu, tipe data tersebut sudah dapat menampung hasil perkalian dalam aritmetika subfield yang nilai maksimalnya (2 16-1) (2 16-1) < (2 32-1). Dalam implementasinya, polinomial direpresentasikan dengan tipe data struct sebagai typedef struct { long unsigned *num; int length; } fpm; Operasi aritmetika optimal extension field ini diimplementasikan dalam bentuk fungsifungsi. Beberapa fungsi-fungsi dasar yang digunakan adalah : a. copy_fpm Fungsi ini digunakan sebagai operasi sama dengan (=) pada fpm. Fungsi ini akan menyalin nilai koefisien suku-suku polinomial dari suatu fpm ke fpm yang lain. Algoritme dari fungsi copy_fpm adalah sebagai Input : fpm b dan a Output : b = a 1. Alokasi memory untuk b sebesar a.length 2. n 0 3. while n < a.length do 4. b n a n 5. n n end while 7. b.length n Dari algoritme tersebut terlihat bahwa fungsi copy_fpm akan mengalokasikan memori untuk b sebesar a.length. Kemudian, semua variabel yang ada pada b diberikan nilai yang sama dengan a. b. cmp_fpm Fungsi ini digunakan untuk membandingkan nilai antara dua fpm. Fungsi ini mempunyai tiga kemungkinan return value (nilai kembali). Misal masukan pertama a dan masukan kedua b, ketiga kemungkinan return value dari fungsi cmp_fpm dapat dilihat pada Tabel 2. Tabel 2 Return value fungsi cmp_fpm Return Value Keterangan (-1) a < b 0 a = b 1 a > b 5

3 Algoritme dari fungsi cmp_fpm adalah sebagai : Input : fpm a dan b Output : Nilai perbandingan antara a dan b 1. if a.length > b.length 2. return 1 3. else 4. if b.length > a. length 5. return (-1) 6. else 7. for n a.length-1 to 0 8. if a n > b n 9. return end if 11. if a n < b n 12. return (-1) 13. end if 14. end for 15. end if 16. end if 17. return 0 Dari algoritme tersebut terlihat bahwa fungsi cmp_fpm akan membandingkan jumlah tempat di array yang digunakan pada a dan b. Jika a lebih banyak daripada b maka a > b dan sebaliknya jika b lebih banyak daripada a maka a < b. Jika array yang digunakan keduanya sama, maka akan dibandingkan mulai dari digit array paling signifikan antara keduanya. Jika semua nilai digit array sama, maka a = b. Aritmetika pada subfield F p Sebelum masuk ke algoritme optimal extension field F, akan dijelaskan terlebih dahulu mengenai aritmetika pada subfield F. Anggota F direpresentasikan sebagai polinomial yang suku-sukunya mempunyai nilai koefisien. Operasi aritmetika yang digunakan pada suku-suku polinomial tersebut adalah aritmetika field prima F. Dalam, aritmetika field prima terhadap koefisienkoefisien polinomial ini biasa disebut sebagai aritmetika pada subfield. Misal a(z) dan b(z) F, maka a(z) dan b(z) dapat ditulis sebagai a(z) = a z + + a z + a z + a b(z) = b z + + b z + b z + b Aritmetika yang digunakan pada a(z) dan b(z) secara keseluruhan adalah aritmetika optimal extension field. Akan tetapi, aritmetika yang digunakan pada operasi antar koefisien elemenelemen a(z) dan b(z) yaitu a i dan b i adalah aritmetika field prima F. Operasi-operasi aritmetika subfield F yang digunakan pada aritmetika F adalah sebagai : a. Penjumlahan Operasi penjumlahan dalam F adalah jumlah modulo p c = (a + b) mod p Nilai a, b < p maka (a + b) < 2p. Oleh karena itu, langkah reduksi yaitu modulo p dapat dengan mudah dilakukan dengan (a + b) p jika (a + b) > p Dengan begitu, dapat dipastikan bahwa c F. Aritmetika mendapat keuntungan dengan operasi ini karena tidak menyebabkan adanya carry. b. Pengurangan Operasi pengurangan dalam F juga merupakan operasi kurang modulo p c = (a - b) mod p Nilai a, b < p maka (a - b) > -p. Oleh karena itu, langkah modulo p dapat dengan mudah dilakukan dengan p - b + a jika a < b Dengan begitu, dapat dipastikan bahwa c F. c. Perkalian Operasi perkalian dalam F adalah kali modulo p c = (a. b) mod p Misal panjang bit a i, b i adalah w, maka panjang bit a.b < 2w. Oleh karena itu, langkah reduksi modulo p yang dilakukan akan memastikan c F dan membuat panjang bit c menjadi w kembali. Dalam penelitian ini, operasi modulo dalam F dilakukan dengan suatu fungsi khusus. d. Reduksi Operasi a mod b bila dijalankan secara konvensional adalah mengurangkan a dengan b sampai a < b. Akan tetapi, dengan menggunakan algoritme reduksi cepat yang dikemukakan Baley (2000), operasi modulo dapat dilakukan dengan lebih efisien. Algoritmenya adalah sebagai Input : n, c, p = 2 n c, x < p 2 Output : r = x modulo p 1. q 0 x >> n 2. r 0 x (q 0 << n) 6

4 3. r r 0 4. i 0 5. while q i > 0 do 6. q i+1 q 0 c >> n 7. r i+1 q 0 c (q i+1 c << n) 8. i i r r + r i 10. end while 11. while r > p do 12. r r p 13. end while e. Invers Misalkan a F, maka g F yang membuat (g. a) mod p = 1 atau bisa ditulis dengan (g. a) 1(mod p) disebut dengan invers a dalam F atau notasinya g = a. Ada dua macam algoritme invers dalam F yang diimplementasikan dalam penelitian ini, yaitu algoritme invers Extended Euclidean dan algoritme Binary Invers. Algoritme Extended Euclidean Input : a F, a > 0 Output : g = a F 1. u a, v p 2. x 1, x 0 3. while u > 1 do 4. quo v / u 5. rem v mod u 6. x = x x x 1.quo 7. v u 8. u rem 9. x x x x 11. end while 12. g x mod p Algoritme Binary Invers Input : a F, a > 0 Output : g = a F 1. u a, v p 2. x 1, x 0 3. while ( u 1 dan v 1) do 4. while u genap do 5. u u >> 1 6. if x genap maka 7. x x >> 1 8. else 9. x (x + p) >> end if 11. end while 12. while v genap do 13. v v >> if x genap maka 15. x x >> else 17. x (x + p) >> end if 19. end while 20. if u > v maka 21. u u v 22. x x x 23. else 24. v v u 25. x x x 26. end if 27. end while 28. if u == 1 maka 29. g x mod p 30. else 31. g x mod p 32. end if Aritmetika pada F p m Operasi-operasi aritmetika pada F p m yang diimplementasikan adalah : a. Penjumlahan Fungsi ini melakukan proses penjumlahan dua anggota F. Rumusnya adalah sebagai misalkan a(z) = a z anggota F, maka dan b(z) = b z a(z) + b(z) = c(z) = c z dengan c = (a + b ) mod p. Algoritmenya adalah sebagai Input : F a dan b dengan m koefisien Output : a + b = c F 1. for i 0 to m 1 do 2. c = a + b 3. if c > p maka 4. c = c p 5. end if 6. end for Dengan melihat algoritme tersebut, dapat diketahui bahwa algoritme penjumlahan untuk F dilakukan dengan menjumlahkan koefisien-koefisien representasi polinomial yang bersesuaian. Kemudian jika diperlukan, 7

5 hasil tiap penjumlahan direduksi dengan cara mengurangkannya dengan p. b. Pengurangan Fungsi ini melakukan proses pengurangan dua anggota F. Rumus dan algoritmenya hampir sama dengan penjumlahan sebagai misalkan a(z) = a z anggota F, maka dan b(z) = b z a(z) b(z) = c(z) = c z dengan c = (a - b ) mod p. Algoritmenya adalah sebagai Input : F a dan b dengan m koefisien Output : a - b = c F 1. for i 0 to m 1 do 2. if a > b maka 3. c = a b 4. else 5. c = p b + a 6. end if 7. end for Dengan melihat algoritme tersebut, dapat diketahui bahwa algoritme pengurangan untuk F dilakukan dengan mengurangkan koefisien-koefisien representasi polinomial yang bersesuaian. Kemudian jika diperlukan (a i < b i ), p dikurangkan terlebih dahulu dengan b i kemudian baru ditambah dengan a i. c. Perkalian Dalam penelitian ini, diimplementasikan dua algoritme perkalian. Kedua algoritme tersebut adalah algoritme Schoolbook dan algoritme Karatsuba. Algoritme perkalian Schoolbook Algoritme Schoolbook adalah metode perkalian yang sudah biasa kita pakai sejak sekolah dasar. Rumusnya : c(z) = a(z)b(z) = a z b z c z dengan c = a b mod p. Contoh a(z) = a z + a z + a b(z) = b z + b z + b c(z) = a(z)b(z) c z = (a b )z + (a b + a b )z + (a b + a b + a b )z + (a b + a b )z + a b Algoritme perkalian Schoolbook adalah sebagai Input : F a dan b dengan m koefisien Output : ab = c 1. for i 0 to 2m 2 do 2. c 0 3. if i < m maka 4. s i 5. e i 6. else 7. s m 1 8. e i m 1 9. end if 10. for j s to e do 11. c c + a b 12. end for 13. end for Dengan menggunakan algoritme Schoolbook, operasi perkalian dilakukan sebanyak n 2 dan penjumlahan sebanyak (n-1) 2 (Mahfouz 2004). Algoritme perkalian Karatsuba Waktu untuk melakukan operasi kali lebih lama dibandingkan waktu untuk melakukan operasi jumlah. Metode perkalian Karatsuba mempunyai keunggulan dengan menurunkan jumlah operasi perkalian yang dilakukan. Pada penelitian ini, algoritme Karatsuba yang digunakan adalah algoritme Karatsuba satu iterasi. Contoh penggunaan algoritme Karatsuba pada polinomial berderajat 1 a(z)b(z) = (a z + a ) (b z + b ) = a b z + ((a + a ) (b + b ) a b a b )z + a b dari contoh tersebut, dapat dilihat bahwa operasi perkalian yang dilakukan hanya sebanyak 3 kali. Bila menggunakan algoritme 8

6 Schoolbook, operasi perkalian yang dilakukan adalah 4 kali. Selain menambah banyaknya operasi jumlah, algoritme ini juga memerlukan variabel yang lebih banyak untuk melakukan perhitungan. Algoritme Karatsuba satu iterasi adalah sebagai Input : a,b F dengan k koefisien, p Output : c = ab 1. for i 0 to k 1 do 2. D i a i b i mod p 3. end for 4. for i 0 to k 1 do 5. for j i+1 to k 1 6. D i,j (a i + a j )(b i + b j ) mod p 7. end for 8. end for 9. c 0 D i for i 0 to 2k 3 do 12. c i if i ganjil, maka 14. for n i (i/2) to i 15. l i n 16. c i c i + D l,n - D l D n 17. end for 18. else 19. for n i (i/2) + 1 to i 20. l i n 21. c i c i + D l,n - D l D n 22. end for 23. c i c i + D i/2 24. end if 25. end for 26. c 2k 2 D k-1 Mahfouz (2004) mengatakan bahwa salah satu hal yang mempengaruhi kecepatan algoritme Karatsuba adalah rasio antara waktu eksekusi operasi kali dan waktu eksekusi operasi jumlah. Rasio yang diperlukan agar algoritme ini lebih cepat dibandingkan algoritme Schoolbook adalah lebih besar dari 3. Contoh untuk m = 3 misal r adalah rasio r = T mul / T add T mul = waktu operasi kali T add = waktu operasi tambah kompleksitas waktu algoritme Schoolbook T SB = 9T mul + 4T add = (9r + 4) T add Sedangkan kompleksitas algoritme Karatsuba T KA = 6T mul + 13T add = (6r + 13) T add Agar algoritme Karatsuba lebih cepat, maka d. Kuadrat T SB > T KA (9r + 4) T add > (6r + 13) T add 9r - 6r > r > 9 r > 3 Operasi kuadrat (pemangkatan dua) adalah sebuah bentuk khusus dari perkalian. Operasi kuadrat dapat dituliskan sebagai perkalian a(z)b(z) dengan a(z) = b(z). Operasi ini didefinisikan secara khusus karena memberikan suatu keuntungan dalam efisiensi operasi. Hasil dari operasi kali polinomial berderajat dua a(z)dan b(z) adalah a(z) = a z + a z + a b(z) = b z + b z + b c(z) = a(z)b(z) = (a b )z + (a b + a b )z + (a b + a b + a b )z + (a b + a b )z + a b Jika a(z) = b(z), maka hasilnya menjadi c(z) = a(z)a(z) = (a a )z + (a a + a a )z + (a a + a a + a a )z + (a a + a a )z + a a = (a a )z +(2a a )z +(2a a + a a )z + (2a a )z + a a Perkalian dengan 2 dapat dilakukan dengan pergeseran ke kiri sebanyak 1 bit. Dengan begitu, jumlah operasi kali menjadi lebih sedikit dan waktu operasinya pun menjadi lebih cepat. Implementasi algoritmenya adalah sebagai Input : a F dengan k koefisien, p Output : c = a 2 1. for i 0 to k 1 do 2. D i a i b i mod p 3. end for 4. c 0 D 0 5. i 1 6. for i 0 to 2k 3 do 7. c i 0 8. if i ganjil, maka 9. for n i (i/2) to i 10. c i c i + ((c l c n )<<1) mod p 11. end for 12. else 13. for n i (i/2) + 1 to i 14. c i c i + ((c l c n )<<1) mod p 15. end for 16. c i c i + D i/2 9

7 17. end if 18. end for 19. c 2k 2 D k-1 e. Reduksi Perkalian dua polinomial berderajat m pada umumnya akan menghasilkan polinomial berderajat 2m. Oleh karena itu, perlu dilakukan reduksi untuk memastikan hasil perkalian c(z) F. Rumus reduksi dalam aritmetika (reduksi dalam F ) adalah c z c z + (c + ωc )z mod f(z) Algoritme reduksi pada F adalah sebagai Input : F c dengan k koefisien, m, ω Output : c = c mod f (memastikan c F ) 1. if k > m maka 2. n 0 3. for i m to k 1 do 4. if ω = 2 maka 5. c c + (c << 1) 6. else 7. c c + (ωc ) 8. end if 9. n n end for 11. end if f. Pemangkatan Fungsi ini merupakan fungsi pemangkatan pada. Algoritme yang digunakan pada fungsi ini adalah left to right exponentiation. Algoritme ini bekerja dengan menggunakan nilai biner dari bilangan pemangkatnya (k). Algoritme ini melakukan proses perkalian polinomial sebanyak n dimana n adalah banyaknya bit k yang bernilai 1 dan melakukan operasi kuadrat sebanyak t dimana t adalah panjang bit k. Algoritmenya adalah sebagai Input : a F, m, ω, k Output : c = a mod f 1. c 1 2. n banyaknya bit bilangan k 3. while n > 0 do 4. c c 2 mod f 5. if k[n] == 1 maka 6. c c.a mod f 7. end if 8. n n 1 9. end while Pada penelitian ini, diimplementasikan dua fungsi pangkat. Pertama adalah fungsi pangkat yang operasi kali-nya menggunakan algoritme Schoolbook dan kedua adalah fungsi pangkat yang operasi kali-nya menggunakan algoritme Karatsuba. g. Invers Invers dari a F, a 0, adalah menemukan suatu a F sehingga aa 1 (mod f). Hankerson et al. (2004) dan Baley dan Paar (1998) menyebutkan bahwa Metode yang paling cepat dan relatif efisien untuk menemukan invers dari polinomial F adalah algoritme Invers Itoh dan Tsujii (ITI). Algoritme ini relatif sederhana untuk diimplementasikan karena hanya memerlukan beberapa operasi perkalian untuk menurunkan invers dalam F menjadi invers dalam subfield F. Algoritme tersebut menghitung dengan a = (a ) a mod f r = p 1 p 1 = p + + p + p + 1 (a ) 1 (mod p ) maka a F Untuk melakukan perhitungan efisien a = a mod f digunakan pemetaan Frobenius φ: F F didefinisikan dengan φ(a) = a. Jika Maka a = a z + + a z + a z + a φ : a a z () + + a z + a mod f Dengan bantuan pemetaan Frobenius tersebut, penghitungan a dapat dilakukan secara efisien menggunakan algoritme addition chain. Dalam penelitian ini, pemetaan Frobenius hanya dilakukan sampai i = 2. Hal ini ditujukan untuk menyederhanakan algoritme addition chain secara umum. Algoritme addition chain sendiri adalah sebagai Input : a F, p, m, ω, n, c Output : b = a = a mod f 1. div m >> 1 2. if m genap lakukan 3. t 1 a 10

8 4. b t 1 5. if div > 1 lakukan 6. t 2 t 1.a mod f 7. while div > 1 do 8. t 2 t 9. b t 2.b mod f 10. div div end while 12. end if 13. else 14. t 1 a 15. t 2 t 1.a mod f 16. t 2 t 17. b t while div > 1 do 19. t2 t 20. b t 2.b mod f 21. div div end while 23. end if Langkah selanjutnya setelah didapat a adalah mencari a. a dapat dihitung dengan a a = a Nilai a adalah sebuah bilangan F. Langkah selanjutnya, yaitu mencari invers dari a dilakukan menggunakan algoritme invers dalam aritmetika F sehingga waktu eksekusinya pun relatif cepat. Langkah terakhir adalah mengalikan (a ) dengan a dan didapatkan a = (a ) a Algoritme invers F secara lengkap adalah Input : a F, a 0 Output : a F sehingga aa 1(mod f) 1. Digunakan algoritme addition-chain untuk mendapatkan a, dengan r =(p -1)/(p-1) 2. c a = a a F 3. dicari c sehingga cc 1 (mod p) melalui algoritme invers dalam F 4. return (c a ) Fungsi invers dalam penelitian ini diimplementasikan dalam 4 kombinasi, yaitu algoritme perkalian menggunakan Karatsuba dan algoritme invers dalam F menggunakan Binary Invers algoritme perkalian menggunakan Karatsuba dan algoritme invers dalam F menggunakan Extended Euclidean algoritme perkalian menggunakan Schoolbook dan algoritme invers dalam F menggunakan Binary Invers algoritme perkalian menggunakan Schoolbook dan algoritme invers dalam F menggunakan Extended Euclidean. Pengujian Pengujian dilakukan dengan cara membandingkan output yang dihasilkan sistem dengan output yang dihitung dengan cara manual sehingga dapat diuji kebenaran dari output tersebut. Pengujian dilakukan sebanyak 10 kali menggunakan koefisien-koefisien polinomial yang ditentukan secara acak. Kemudian, setelah dipastikan nilai kebenarannya, pada masing-masing fungsi aritmetika dihitung nilai rata-rata waktu eksekusinya. Hal tersebut dilakukan lagi sebanyak 10 kali kemudian dihitung waktu ratarata dari waktu rata-rata hasil pengujian terhadap masing-masing fungsi aritmetika. Invers dalam F p Waktu eksekusi operasi invers menggunakan dua algoritme invers tersebut terdapat pada Tabel 3. Tabel 3 Waktu eksekusi operasi invers dalam F p n c p Euclidean Binary ,0019 2, ,9862 2, ,4328 3, ,4160 3,3300 Dari Tabel 3 terlihat bahwa kecepatan rata-rata eksekusi menggunakan algoritme Binary Invers lebih cepat daripada menggunakan algoritme Extended Euclidean sejalan dengan yang dikemukakan oleh Crandall dan Promerance (2005) bahwa algoritme Binary sering lebih cepat dibandingkan Euclid. Hali ini terjadi karena algoritme Binary Invers menggunakan operasi shift, tambah, dan kurang yang cost-nya lebih kecil dibanding operasi kali dan bagi yang digunakan pada algoritme Extended Euclidean. Penjumlahan Hasil pengujian untuk fungsi penjumlahan ditampilkan pada Tabel 4. Tabel 4 Waktu eksekusi operasi jumlah PARAMETER n c m ω Waktu rata-rata (µs) , , , ,

9 nomor 1 lebih cepat dibanding nomor 2 karena besar m pada nomor 1 lebih kecil dibanding pada nomor 2. Begitu juga nomor 3 lebih cepat daripada nomor 4 karena jumlah m yang lebih kecil. Pengurangan Selanjutnya, waktu eksekusi operasi pengurangan ini dapat dilihat pada Tabel 5. Tabel 5 Waktu eksekusi operasi kurang PARAMETER n c m ω Waktu rata-rata (µs) , , , ,5726 Seperti pada penjumlahan, nomor 1 lebih cepat dibanding nomor 2 karena besar m pada nomor 1 lebih kecil dibanding pada nomor 2. Begitu juga nomor 3 lebih cepat daripada nomor 4 karena nilai m yang lebih kecil. Perkalian Waktu eksekusi operasi perkalian dapat dilihat pada Tabel 6. Tabel 6 Waktu eksekusi operasi kali n c m ω Schoolbook Karatsuba , , , , , , , ,6921 Pada operasi kali yang menggunakan algoritme Schoolbook, waktu eksekusi pada nomor 1 lebih cepat dibanding dengan nomor 2. Begitu juga menggunakan nomor 3 lebih cepat dibanding menggunakan nomor 4. Dari sini juga terlihat bahwa besar m sangat berpengaruh pada operasi kali. Sama seperti pada algoritme Schoolbook, pada operasi kali yang menggunakan algoritme Karatsuba, waktu eksekusi pada nomor 1 lebih cepat dibanding dengan nomor 2. Begitu juga menggunakan nomor 3 lebih cepat dibanding menggunakan nomor 4. Dari sini juga terlihat bahwa besar m sangat berpengaruh pada operasi kali. Apabila dibandingkan antara algoritme Schoolbook dan algoritme Karatsuba, terlihat bahwa waktu eksekusi pada operasi kali yang menggunakan algoritme Schoolbook lebih cepat dibanding jika menggunakan algoritme Karatsuba. Hal ini terjadi karena algoritme Karatsuba membutuhkan banyak variabel sehingga memerlukan lebih banyak waktu juga untuk mengakses memory. Selain itu, hal ini juga karena rasio (waktu eksekusi operasi kali / waktu operasi tambah) pada mesin yang digunakan kurang dari 3. Rata-rata waktu dari 1000 operasi kali dengan bilangan acak pada komputer yang digunakan pada penelitian ini adalah 3,024 µs sedangkan untuk operasi tambah adalah 2,544 µs. Jadi, rasionya kurang dari 3 yaitu sekitar 1,2. Kuadrat Waktu eksekusi operasi kuadrat dapat dilihat pada Tabel 7. Tabel 7 Waktu eksekusi operasi kuadrat n c m ω kuadrat Schoolbook , , , , , , , ,3466 Waktu operasi menggunakan algoritme kuadrat secara khusus memang lebih cepat dibandingkan menggunakan algoritme perkalian Schoolbook. Hal ini terjadi karena operasi kali yang dilakukan pada algoritme kuadrat lebih sedikit dibanding jika menggunakan algoritme Schoolbook. Reduksi Tabel 8 menunjukkan waktu eksekusi operasi reduksi pada F. Tabel 8 Waktu eksekusi operasi reduksi PARAMETER n c m ω Waktu rata-rata (µs) , , , ,0465 nomor 2 lebih cepat waktu eksekusinya dibanding nomor 1 karena nilai parameter ω pada nomor 2 adalah 2 sedangkan nilai ω pada nomor 1 adalah 3. Nilai parameter ω = 2 mempunyai keunggulan karena operasi kali pada algoritme reduksi dapat digantikan dengan shift yang relatif lebih cepat dibanding kali. nomor 3 dan 4 mempunyai nilai ω yang sama yaitu 2. Akan tetapi, nilai m pada nomor 3 lebih besar dibandingkan pada nomor 4. Oleh karena itu, eksekusi pada nomor 4 menjadi lebih cepat. 12

10 Pangkat Untuk waktu eksekusi fungsi pangkat ditampilkan pada Tabel 9. Tabel 9 Waktu eksekusi operasi pangkat menggunakan algoritme Schoolbook n c m ω Schoolbook Karatsuba , , , , , , , ,2390 Fungsi pangkat bila menggunakan algoritme Schoolbook untuk mengalikan polinomial memang lebih cepat waktu eksekusinya. Hal ini sejalan dengan perbandingan waktu operasi kali antara dua algoritme tersebut pada penelitian ini, yaitu perkalian menggunakan algoritme Schoolbook lebih cepat dibanding menggunakan algoritme Karatsuba. Selain itu, juga terlihat bahwa hal yang mempengaruhi kecepatan eksekusi fungsi pangkat ini adalah nilai dari parameter m. Semakin besar nilai m, semakin lama waktu eksekusinya. Invers dalam F p m Waktu eksekusi fungsi invers yang menggunakan algoritme perkalian Schoolbook ditampilkan pada Tabel 10. Waktu eksekusi fungsi invers yang menggunakan algoritme perkalian Karatsuba ditampilkan pada Tabel 11. Tabel 10 Waktu eksekusi invers : algoritme perkalian Schoolbook n c m ω Binary Euclidean , , , , , , , ,5830 Tabel 11 Waktu eksekusi invers : algoritme perkalian Karatsuba n c m ω Binary Euclidean , , , , , , , ,8124 Dari dua tabel tersebut dapat disimpulkan bahwa operasi invers yang menggunakan algoritme perkalian Schoolbook mempunyai waktu eksekusi yang lebih cepat dibandingkan dengan operasi invers yang menggunakan algoritme perkalian Karatsuba. Jika dilihat dari algoritme invers dalam F, operasi invers yang menggunakan Binary Invers lebih cepat waktu eksekusinya dibandingkan dengan operasi invers yang menggunakan algoritme Extended Euclidean. Dari sini dapat disimpulkan bahwa kombinasi operasi invers F terbaik adalah menggunakan algoritme perkalian Schoolbook dan algoritme Binary Invers untuk perhitungan invers dalam F -nya. Kesimpulan KESIMPULAN DAN SARAN Implementasi Aritmetika Optimal Extension Field () menggunakan Bahasa Pemrograman C telah berhasil dilakukan. Aritmetika optimal extension field mempunyai beberapa keunggulan dalam komputasi. Hal yang paling penting dalam adalah memilih parameter yang sesuai dengan arsitektur mesin dan memenuhi tingkat keamanan yang ingin dicapai. dengan parameter c = 1 mempunyai keunggulan perhitungan modulo dalam F yang lebih cepat. dengan parameter ω = 2 mempunyai keunggulan dalam mempercepat perhitungan reduksi. Dari pengujian yang dilakukan sebanyak 10 kali dengan polinomial yang dipilih secara acak untuk masing-masing operasi pada optimal extension field, sistem menghasilkan output yang benar. Dari penelitian ini, didapat beberapa kesimpulan. Pada penjumlahan dan pengurangan, terlihat bahwa semakin besar nilai parameter m semakin lama waktu eksekusinya. Untuk operasi kali, waktu eksekusi menggunakan algoritme Schoolbook lebih cepat dibandingkan menggunakan algoritme Karatsuba. Salah satu hal yang menyebabkan algoritme Schoolbook lebih cepat dari Karatsuba adalah rasio antara waktu perkalian dan penjumlahan pada mesin yang digunakan pada penelitian ini adalah kurang dari 3 yaitu 1,2. Operasi kuadrat yang didefinisikan secara khusus lebih cepat waktu eksekusinya dibandingkan jika digunakan algoritme perkalian Schoolbook. Pada operasi reduksi, yang mempunyai nilai ω = 2 mempunyai waktu eksekusi lebih cepat dibanding nilai lainnya. Selain itu, semakin besar nilai m semakin lama juga waktu eksekusinya. Operasi pangkat yang menggunakan algoritme Schoolbook sebagai operasi kali mempunyai waktu eksekusi yang lebih cepat daripada menggunakan algoritme Karatsuba. Kombinasi yang menghasilkan waktu eksekusi tercepat untuk operasi invers F adalah menggunakan 13

IMPLEMENTASI ARITMETIKA OPTIMAL EXTENSION FIELD (OEF) MENGGUNAKAN BAHASA PEMROGRAMAN C LUQMAN AZIZ FEBRIAN NUGRAHA

IMPLEMENTASI ARITMETIKA OPTIMAL EXTENSION FIELD (OEF) MENGGUNAKAN BAHASA PEMROGRAMAN C LUQMAN AZIZ FEBRIAN NUGRAHA IMPLEMENTASI ARITMETIKA OPTIMAL EXTENSION FIELD (OEF) MENGGUNAKAN BAHASA PEMROGRAMAN C LUQMAN AZIZ FEBRIAN NUGRAHA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

METODE PENELITIAN HASIL DAN PEMBAHASAN

METODE PENELITIAN HASIL DAN PEMBAHASAN METODE PENELITIAN Penelitian ini dilakukan dalam beberapa tahap. Tahapan-tahapan tersebut dapat dilihat pada Gambar 1 di bawah ini.. Gambar 1 Metodologi Penelitian. Studi Literatur Studi literatur merupakan

Lebih terperinci

Algoritma Pendukung Kriptografi

Algoritma Pendukung Kriptografi Bahan Kuliah ke-20 IF5054 Kriptografi Algoritma Pendukung Kriptografi Disusun oleh: Ir. Rinaldi Munir, M.T. Departemen Teknik Informatika Institut Teknologi Bandung 2004 20. Algoritma Pendukung Kriptografi

Lebih terperinci

BAB III HASIL DAN PEMBAHASAN

BAB III HASIL DAN PEMBAHASAN BAB III HASIL DAN PEMBAHASAN Pada bab ini akan dijelaskan hal-hal yang berhubungan dengan masalah dan bagaimana mengeksplorasinya dengan logaritma diskret pada menggunakan algoritme Exhaustive Search Baby-Step

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI DAN PENGUJIAN Perintah-perintah Mikroprosesor INTEL 8088/8086 yang didukung di dalam perangkat lunak ini adalah modus pengalamatan (MOV), penjumlahan (ADD),

Lebih terperinci

Sifat Prima Terhadap Fungsionalitas Algoritma RSA

Sifat Prima Terhadap Fungsionalitas Algoritma RSA Sifat Prima Terhadap Fungsionalitas Algoritma RSA Kamal Mahmudi Mahasiswa Jurusan Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Labtek V, Jalan Ganeca 10 Bandung

Lebih terperinci

IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI

IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI IMPLEMENTASI ARITMATIK FIELD PRIMA DENGAN BAHASA C HARYADI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2011 IMPLEMENTASI ARITMATIK FIELD PRIMA

Lebih terperinci

III PEMBAHASAN. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c.

III PEMBAHASAN. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c. enkripsi didefinisikan oleh mod dan menghasilkan siferteks c 3 Algoritme 3 Dekripsi Untuk menemukan kembali m dari c, B harus melakukan hal-hal berikut a Menggunakan kunci pribadi a untuk menghitung mod

Lebih terperinci

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996).

HASIL DAN PEMBAHASAN. Algoritma Modular Exponentiation mempunyai kompleksitas sebesar O((lg n) 3 ) (Menezes et al. 1996). pengukuran running time dari setiap perlakuan. Ulangan setiap perlakuan dilakukan sebanyak 10 kali untuk masing-masing RSA dan RSA-. Lingkungan Penelitian Perangkat keras dan perangkat lunak yang digunakan

Lebih terperinci

BAB 3 METODE PENELITIAN

BAB 3 METODE PENELITIAN BAB 3 METODE PENELITIAN Dalam bab ini akan dibahas mengenai metode penelitian dalam menyelesaikan permasalahan yang berkaitan dengan penelitian ini. Adapun yang akan dibahas antara lain: prosedur penelitian,

Lebih terperinci

ANALISIS ALGORITMA BINARY SEARCH

ANALISIS ALGORITMA BINARY SEARCH ANALISIS ALGORITMA BINARY SEARCH Metode Binary search Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana

Lebih terperinci

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian BAB III METODE PENELITIAN 3.1 Tahapan Penelitian Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian aplikasi dilakukan berdasarkan pada skenario pengujian yang ditentukan. 30

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN. simulasi untuk mengetahui bagaimana performanya dan berapa besar memori

BAB IV IMPLEMENTASI DAN PENGUJIAN. simulasi untuk mengetahui bagaimana performanya dan berapa besar memori BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Algoritma yang telah dirancang, akan diimplementasikan dalam program simulasi untuk mengetahui bagaimana performanya dan berapa besar memori yang dibutuhkan

Lebih terperinci

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs. Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks By. Rita Wiryasaputra, ST., M. Cs. ritasaputra@gmail.com Kriteria Unjuk Kerja Algoritma Pemrograman 1 Tugas Terakhir (15): Buatlah portofolio Pengidentifikasian

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA BAB II TINJAUAN PUSTAKA Pada bab ini dituliskan beberapa aspek teoritis berupa definisi teorema sifat-sifat yang berhubungan dengan teori bilangan integer modulo aljabar abstrak masalah logaritma diskret

Lebih terperinci

Arithmatika Komputer. Pertemuan 3

Arithmatika Komputer. Pertemuan 3 Arithmatika Komputer Pertemuan 3 2.3. Aritmetika Integer Membahas operasi aritmetika (Sistem Komplemen Dua) Penjumlahan Pengurangan Perkalian Pembagian Penjumlahan dan Pengurangan Penambahan pada complement

Lebih terperinci

BAB III BAB III METODE PENELITIAN

BAB III BAB III METODE PENELITIAN BAB III BAB III METODE PENELITIAN Sesuai dengan tujuan penelitian yaitu membangun model perangkat lunak algoritma Pohlig-Hellman multiple-key berdasarkan algoritma RSA multiple-key, maka pada bab ini dimulai

Lebih terperinci

Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian

Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian Raymond Lukanta 13510063 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Algoritma dan Struktur data

Algoritma dan Struktur data Pertemuan 2, Algoritma dan Struktur data Tenia wahyuningrum & Sisilia Thya Safitri VISI ST3 TELKOM Menjadi Perguruan Tinggi yang Unggul di Bidang Teknologi Telematika dan membentuk insan yang berkarakter

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat

BAB III ANALISIS DAN PERANCANGAN. yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat 41 BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Masalah Analisis masalah bertujuan untuk mengidentifikasi permasalahanpermasalahan yang ada pada sistem dimana aplikasi dibangun, meliputi perangkat keras

Lebih terperinci

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah elemen-elemen pada bahasa pemrograman: Berikut adalah element-element pada bahasa pemrograman: 1. Aturan

Lebih terperinci

Kompleksitas Algoritma Euclidean dan Stein(FPB Biner)

Kompleksitas Algoritma Euclidean dan Stein(FPB Biner) Kompleksitas Algoritma Euclidean dan Stein(FPB Biner) Okharyadi Saputra (13510072) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Penerapan Divide And Conquer Dalam Mengalikan Polinomial

Penerapan Divide And Conquer Dalam Mengalikan Polinomial Penerapan Divide And Conquer Dalam Mengalikan Polinomial Jauhar Arifin 13515049 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA Tim Pengajar KU1102 - Institut Teknologi Sumatera Data Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu

Lebih terperinci

Ekspresi, Pernyataan & Operasi Aritmetika/Logika

Ekspresi, Pernyataan & Operasi Aritmetika/Logika Ekspresi, Pernyataan & Operasi Aritmetika/Logika Ekspresi (expression) Pernyataan (statements) Operator Penugasan (assignment) Operator Aritmetika Operator Relasional Operator Logika Operator Bitwise 1

Lebih terperinci

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018 ARSITEKTUR SISTEM KOMPUTER Wayan Suparta, PhD https://wayansuparta.wordpress.com/ 3 9 April 2018 Penjumlahan dan Pengurangan Operasi Penjumlahan Operasi Pengurangan Aturan umum 0 + 0 = 0 0 + 1 = 1 1 +

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA

PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA PENGANTAR KOMPUTER & SOFTWARE I REPRESENTASI DATA Tim Pengajar KU1102 - Institut Teknologi Sumatera Data Data adalah sesuatu yang belum mempunyai arti bagi penerimanya dan masih memerlukan adanya suatu

Lebih terperinci

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs.

Algoritma dan Pemrograman 1. By. Rita Wiryasaputra, ST., M. Cs. Algoritma dan Pemrograman 1 By. Rita Wiryasaputra, ST., M. Cs. Tugas : 1. Ditulis tangan dalam buku catatan yang disampul kertas manggis, kumpul 13 Oktober 2016 jam 09.40 (pagi )UIGM 2. Tentukan KPK dari

Lebih terperinci

Tanda Tangan Digital Dengan Menggunakan SHA-256 Dan Algoritma Knapsack Kunci-Publik

Tanda Tangan Digital Dengan Menggunakan SHA-256 Dan Algoritma Knapsack Kunci-Publik Tanda Tangan Digital Dengan Menggunakan SHA-256 Dan Algoritma Knapsack Kunci-Publik Bhimantyo Pamungkas - 13504016 Program Studi Teknik Informatika ITB, Bandung 40132, email: btyo_pamungkas@yahoo.co.id

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

Lecture Notes Algoritma dan Pemrograman

Lecture Notes Algoritma dan Pemrograman Menukar Isi Dua Variabel (ed. ) / Lecture Notes Algoritma dan Pemrograman Menukar Isi Dua Variabel Thompson Susabda Ngoen Salah satu kegiatan pengolahan data adalah menukar isi dua variabel, misalnya pada

Lebih terperinci

PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A

PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A PENGANTAR KOMPUTER DAN TEKNOLOGI INFORMASI 1A REPRESENTASI DATA ALUR PEMROSESAN DATA SISTEM BILANGAN TEORI BILANGAN KOVERSI BILANGAN OPERASI ARITMATIKA Representasi Data Data adalah sesuatu yang belum

Lebih terperinci

BAB VII ALGORITMA DIVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER BAB VII ALGORITMA DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang

Lebih terperinci

REVIEW ARRAY. Institut Teknologi Sumatera

REVIEW ARRAY. Institut Teknologi Sumatera REVIEW ARRAY DASAR PEMROGRAMAN Institut Teknologi Sumatera TUJUAN PERKULIAHAN Mahasiswa mengingat kembali konsep dan cara kerja array Mahasiswa mampu membuat program menggunakan array PRE TEST Tuliskan,

Lebih terperinci

Searching [pencarian] Algoritma Pemrograman

Searching [pencarian] Algoritma Pemrograman Searching [pencarian] Algoritma Pemrograman mas.anto72@gmail.com 1 Jenis Pencarian Pencarian Internal proses pencarian dilakukan pada memori utama (RAM). Pencarian Eksternal proses pencarian dilakukan

Lebih terperinci

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna

Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna Perbandingan Algoritma Kunci Nirsimetris ElGammal dan RSA pada Citra Berwarna Whilda Chaq - 13511601 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

PENGKODEAN ARITMETIKA UNTUK KOMPRESI DATA TEKS (Arithmetic Coding for Text Compression)

PENGKODEAN ARITMETIKA UNTUK KOMPRESI DATA TEKS (Arithmetic Coding for Text Compression) 1 PENGKODEAN ARITMETIKA UNTUK KOMPRESI DATA TEKS (Arithmetic Coding for Text Compression) Bib Paruhun Silalahi, Fahren Bukhari, Solikha Nurhudayani 1 1Departemen Ilmu Komputer, Fakultas Matematika dan

Lebih terperinci

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String

Type Data terdiri dari : - Data Tunggal : Integer, Real, Boolean dan Karakter. - Data Majemuk : String Struktur dapat diartikan sebagai suatu susunan, bentuk, pola atau bangunan. Data dapat diartikan sebagai suatu fakta, segala sesuatu yang dapat dikodekan atau disimbolkan dengan kode-kode atau lambang-lambang

Lebih terperinci

Analisis Kompleksitas Algoritma dalam Operasi BigMod

Analisis Kompleksitas Algoritma dalam Operasi BigMod Analisis Kompleksitas Algoritma dalam Operasi BigMod Calvin sadewa / 13512066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

Tipe Data dan Variabel

Tipe Data dan Variabel PRAKTIKUM 3 Tipe Data dan Variabel A. TUJUAN PEMBELAJARAN 1. Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya) 2. Menjelaskan tentang Variabel 3. Menjelaskan tentang konstanta 4. Menjelaskan

Lebih terperinci

Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA

Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA Kegunaan Chinese Remainder Theorem dalam Mempercepat dan Meningkatkan Efisiensi Peforma Sistem Kriptografi RSA Shauma Hayyu Syakura NIM : 13507025 Program Studi Teknik Informatika Sekolah Teknik Elektro

Lebih terperinci

Aritmatika Komputer. Bab 9 4/29/2014

Aritmatika Komputer. Bab 9 4/29/2014 Bab 9 Disusun Oleh : Rini Agustina S.Kom, M.Pd FAKULTAS TEKNOLOGI INFORMASI 1 Pendahuluan Aritmetika komputer dibentuk dua jenis bilangan yang sangat berbeda integer dan floating point. Pada kedua jenis

Lebih terperinci

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B.

FUNGSI. setiap elemen di dalam himpunan A mempunyai pasangan tepat satu elemen di himpunan B. FUNGSI Dalam matematika diskrit, konsep fungsi sangat penting, dimana fungsi merupakan relasi yang mempunyai syarat setiap anggota dari daerah definisi (domain) mempunyai pasangan tepat satu anggota dari

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java PRAKTIKUM 3 OPERATOR A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java B. DASAR TEORI Operator dapat diklasifikasikan

Lebih terperinci

Enkripsi dengan Menggunakan Fungsi Polinom Rekursif

Enkripsi dengan Menggunakan Fungsi Polinom Rekursif Enkripsi dengan Menggunakan Fungsi Polinom Rekursif Irfan Kamil (13510001) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

BAB III ANALISIS KOMPLEKSITAS ALGORITMA BAB III ANALISIS KOMPLEKSITAS ALGORITMA 3.1 Kompleksitas Algoritma Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien.

Lebih terperinci

REPRESENTASI DATA. Arsitektur Komputer

REPRESENTASI DATA. Arsitektur Komputer REPRESENTASI DATA Arsitektur Komputer Abstraksi Data Raw data kehidupan manusia - Personal data input [lewat 5 indra] - Mass media [audio/visual] data input [populer, ilmiah, fiksi, riset, dll.] Pengertian

Lebih terperinci

Algoritma Divide and Conquer (Bagian 2)

Algoritma Divide and Conquer (Bagian 2) Algoritma Divide and Conquer (Bagian 2) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel

Lebih terperinci

Berikut langkah-langkah penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.

Berikut langkah-langkah penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan. 20 BAB III METODOLOGI PENELITIAN 3.1 Desain Penelitian Pada bab ini akan dipaparkan skema umum penelitian yang dilakukan untuk mempermudah dalam melakukan penelitian. Dalam penelitian ini terdapat dua

Lebih terperinci

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs. Sejarah C Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs. Pengembangan dari bahasa BCPL(Martin Richard, 1967) dan bahasa B (Ken Thompson, 1970) Dibantu Brian W. Kernighan, Ritchie menulis buku

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Kuliah #2 Struktur program C Tipe data Input / Output Algoritme dan Pemrograman Beberapa Catatan Lakukan KRS B jika: Belum mendaftar di KRS A Mendaftar di KRS A, tapi nama tidak muncul di absen Pindah

Lebih terperinci

BAB I PENDAHULUAN. tidak memiliki pembagi kecuali satu dan bilangan itu sendiri. Karena sifatnya

BAB I PENDAHULUAN. tidak memiliki pembagi kecuali satu dan bilangan itu sendiri. Karena sifatnya 1 BAB I PENDAHULUAN 1.1. Latar Belakang Bilangan prima merupakan salah satu bilangan penting dalam ilmu matematika. Bilangan prima didefinisikan sebagai bilangan bulat positif yang tidak memiliki pembagi

Lebih terperinci

Arsitektur dan Organisasi

Arsitektur dan Organisasi Arsitektur dan Organisasi Komputer 6-1 Aditya Wikan Mahastama, S.Kom Week 9 Computer Arithmetic (1) ALU dan Operasi Integer Arithmetic & Logic Unit Arsitektur dan Organisasi Komputer Tugas ALU: Melakukan

Lebih terperinci

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP Muhammad Indra NS - 23515019 1 Program Magister Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 4 Alokasi Memori A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami perbedaan penggunaan tipe data array dengan pointer menggunakan alokasi

Lebih terperinci

3 HASIL DAN PEMBAHASAN

3 HASIL DAN PEMBAHASAN 3 HASIL DAN PEMBAHASAN 3.1 Formulasi Masalah Sejauh ini telah diperkenalkan bahwa terdapat tiga parameter yang terkait dengan konstruksi suatu kode, yaitu panjang, dimensi, dan jarak minimum. Jika C adalah

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu

Lebih terperinci

Desain Class Dan Analisis Operator Pada Class Integer Tak Terbatas

Desain Class Dan Analisis Operator Pada Class Integer Tak Terbatas J. Math. and Its Appl. ISSN: 1829-605X Vol. 1, No. 2, Nov. 2004, 21 27 Desain Class Dan Analisis Operator Pada Class Integer Tak Terbatas Bandung Arry Sanjoyo Jurusan Matematika FMIPA - ITS email:bandung@matematika.its.ac.id

Lebih terperinci

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom Tipe Data dan Variabel Dosen Pengampu Muhammad Zidny Naf an, M.Kom Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan

Lebih terperinci

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER Danang Arief Setyawan NIM : 3559 Program Studi Teknik Informatika Institut Teknologi Bandung e-mail: das_centauri@yahoo.com

Lebih terperinci

P 4 Bab 3 : Dasar Pemrograman C

P 4 Bab 3 : Dasar Pemrograman C Kampus II, Jl. Jembatan Merah, Nomor.C. Gejayan, Yogyakarta, Telp: (0), Fax (0) 00 P Bab : Dasar Pemrograman C. Tujuan Mahasiswa mampu mengetahui dan memahami identifier, keyword, variable, tipe data,

Lebih terperinci

Manusia itu seperti pensil Pensil setiap hari diraut sehingga yang tersisa tinggal catatan yang dituliskannya. Manusia setiap hari diraut oleh rautan

Manusia itu seperti pensil Pensil setiap hari diraut sehingga yang tersisa tinggal catatan yang dituliskannya. Manusia setiap hari diraut oleh rautan Manusia itu seperti pensil Pensil setiap hari diraut sehingga yang tersisa tinggal catatan yang dituliskannya. Manusia setiap hari diraut oleh rautan umur hingga habis, dan yang tersisa tinggal catatan

Lebih terperinci

Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu

Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu Aplikasi Teori Bilangan Bulat dalam Pembangkitan Bilangan Acak Semu Ferdian Thung 13507127 Program Studi Teknik Informatika ITB, Jalan Ganesha 10 Bandung, Jawa Barat, email: if17127@students.if.itb.ac.id

Lebih terperinci

Bilangan Bertanda (Sign Number)

Bilangan Bertanda (Sign Number) Bilangan Bertanda (Sign Number) Disusun oleh: Tim dosen SLD Diedit ulang oleh: Endro Ariyanto Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom Agustus 2015 Signed Integer: Sign/magnitude

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan uraian dari sebuah sistem kedalam bentuk yang lebih sederhana dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan

Lebih terperinci

12/29/2011. Algoritme dan Pemrograman. Bit. Bitwise operator

12/29/2011. Algoritme dan Pemrograman. Bit. Bitwise operator Algoritme dan Pemrograman Kuliah #13 Operator Bitwise Tipe Enumerasi Manipulasi File Bit Singkatan dari binary digit (digit biner), yaitu suatu nilai bilangan yang direpresentasikan sebagai bilangan biner

Lebih terperinci

Fast Fourier Transform

Fast Fourier Transform Fast Fourier Transform Perbandingan Algoritma Fast Fourier Transform Dengan Algoritma Dasar Dalam Mengalikan Polinomial Andika Kusuma Informatika Institut Teknologi Bandung Bandung, Indonesia 13515033@std.stei.itb.ac.id

Lebih terperinci

Ekspresi, Pernyataan & Operasi Aritmetika/Logika

Ekspresi, Pernyataan & Operasi Aritmetika/Logika Ekspresi, Pernyataan & Operasi Aritmetika/Logika Ekspresi(expression) Pernyataan (statements) Operator Penugasan (assignment) Operator Aritmetika Operator Relasional Operator Logika Operator Bitwise 1

Lebih terperinci

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone,

BAB I PENDAHULUAN. Penyampaian pesan dapat dilakukan dengan media telephone, handphone, BAB I PENDAHULUAN. Latar Belakang Sekarang ini teknologi untuk berkomunikasi sangatlah mudah. Penyampaian pesan dapat dilakukan dengan media telephone, handphone, internet, dan berbagai macam peralatan

Lebih terperinci

Algoritme dan Pemrograman

Algoritme dan Pemrograman Algoritme dan Pemrograman Searching (Pencarian) Sorting (Pengurutan) Tipe struct Searching (pencarian) Mencari data berdasarkan nilai tertentu, x. Beberapa contoh algoritme pencarian: Sequential search

Lebih terperinci

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C 1. Pendahuluan Lingkungan Turbo C++ 4.5 Turbo C++ 4.5 adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C++ 4.5. 1 2 3 4 1 : Menu Utama

Lebih terperinci

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Algoritma yang efektif diukur dari berapa jumlah waktu dan

Lebih terperinci

BAB V HASIL SIMULASI

BAB V HASIL SIMULASI 46 BAB V HASIL SIMULASI Pada bab ini akan disajikan beberapa hasil pendekatan numerik harga opsi put Amerika menggunakan metode beda hingga. Algoritma yang disusun di bawah ini untuk menentukan harga opsi

Lebih terperinci

Pertemuan 04. Pemrograman Dasar 2012

Pertemuan 04. Pemrograman Dasar 2012 Pertemuan 04 Pemrograman Dasar 2012 1 Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Memahami tentang proses sederhana (simple process) berupa pemanggilan procedure (fungsi) dan ekspresi serta

Lebih terperinci

BAB 3. OPERATOR DALAM BHS C

BAB 3. OPERATOR DALAM BHS C BAB. OPERATOR DALAM BHS C. Assigment Operator Operator Assigment digunakan untuk memberikan nilai ke suatu variabel. Operator yang digunakan adalah opertor = A = 5; (memberi nilai 5 ke dalam variabel A)

Lebih terperinci

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM III.1. Analisis Masalah Proses analisa sistem merupakan langkah kedua pada pengembangan sistem. Analisa sistem dilakukan untuk memahami informasi-informasi

Lebih terperinci

Pengenalan C++ Oleh : Dewi Sartika

Pengenalan C++ Oleh : Dewi Sartika Pengenalan C++ Oleh : Dewi Sartika Pendahuluan Bahasa Pemrograman C++ merupakan bahasa tingkat menengah dimana bahasa ini didasarkan atas bahasa C, keistimewaan dari bahasa C++ adalah bahasa ini mendukung

Lebih terperinci

Algoritma Divide and Conquer. (Bagian 2)

Algoritma Divide and Conquer. (Bagian 2) Algoritma Divide and Conquer (Bagian 2) (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel A dibagi (istilahnya: dipartisi) menjadi A1 dan A2 sedemikian

Lebih terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma 1 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan Sebuah algoritma tidak saja harus

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C PRAKTIKUM 3 DASAR PEMROGRAMAN C A. TUJUAN 1. Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya) 2. Menjelaskan tentang Variabel 3. Menjelaskan tentang konstanta 4. Menjelaskan tentang

Lebih terperinci

Modul 1 Dasar Dasar Bahasa Pemrograman C

Modul 1 Dasar Dasar Bahasa Pemrograman C Modul 1 Dasar Dasar Bahasa Pemrograman C 1. C dan Pengolahan Sinyal Digital C adalah bahasa pemrograman tingkat tinggi. Sebab bahasa pemrogramannya menggunakan keyword dan syntax yang mudah dimengerti

Lebih terperinci

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C PRAKTIKUM 3 DASAR PEMROGRAMAN C A. TUJUAN 1. Menjelaskan tentang beberapa tipe data dasar (jenis dan jangkauannya) 2. Menjelaskan tentang Variabel 3. Menjelaskan tentang konstanta 4. Menjelaskan tentang

Lebih terperinci

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 4 IMPLEMENTASI DAN EVALUASI 42 BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Komputer yang Digunakan Spesifikasi sistem komputer yang digunakan untuk menjalankan program simulasi adalah sebagai berikut. 4.1.1 Spesifikasi Perangkat

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA 4 BAB II TINJAUAN PUSTAKA Untuk mencapai tujuan penulisan penelitian diperlukan beberapa pengertian dan teori yang berkaitan dengan pembahasan. Dalam subbab ini akan diberikan beberapa teori berupa definisi,

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

Bab 10 Penyajian Data Integer dan Bilangan Floating Point 10.1 Pendahuluan

Bab 10 Penyajian Data Integer dan Bilangan Floating Point 10.1 Pendahuluan Bab 10 Penyajian Data Integer dan Bilangan Floating Point 10.1 Pendahuluan Komputer menyimpan semua data dan instruksi program dalam bentuk biner tidak ada ketentuan khusus yang dibuat untuk penyimpanan

Lebih terperinci

JARINGAN UNTUK MERGING

JARINGAN UNTUK MERGING SORTING - Merging Definisi: A = {a 1, a 2,..., a r } B = {b 1, b 2,..., b s } merupakan dua deret angka yang terurut naik; merge A dan B merupakan deret C = {c 1, c 2,..., c r+s } yang juga terurut naik,

Lebih terperinci

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian dapat dilihat pada Gambar 3.1 berikut ini : Pemilihan Sampel Polinomial

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian dapat dilihat pada Gambar 3.1 berikut ini : Pemilihan Sampel Polinomial digilib.uns.ac.id BAB III METODE PENELITIAN Tahapan yang dilakukan dalam penelitian dapat dilihat pada Gambar 3.1 berikut ini : Pemilihan Sampel Polinomial Penerapan Rumus Kuadrat, algoritma Cardano, Viete

Lebih terperinci

SILABUS MATA KULIAH MICROPROCESSOR I Nama Dosen: Yulius C. Wahyu Kurniawan, S.Kom.

SILABUS MATA KULIAH MICROPROCESSOR I Nama Dosen: Yulius C. Wahyu Kurniawan, S.Kom. SILABUS MATA KULIAH MICROPROCESSOR I Nama Dosen: Yulius C. Wahyu Kurniawan, S.Kom. Konsep Dasar Bilangan Pengertian Base (Radix), Absolute Digit, Positional Value Macam-macam Sistem Bilangan Desimal, Oktal,

Lebih terperinci

P5 Variabel, Tipe Data dan Operator

P5 Variabel, Tipe Data dan Operator P5 Variabel, Tipe Data dan Operator A. Tujuan Mahasiswa memahami dan dapat menggunakan variabel, operator dan tipe data pada visual basic.net B. Pembahasan Variabel Operator Tipe Data 5.1. Variabel Mendeklarasikan

Lebih terperinci

BAB 3 METODOLOGI PENELITIAN

BAB 3 METODOLOGI PENELITIAN BAB 3 METODOLOGI PENELITIAN 3.1 Desain Penelitian Menentukan Kebutuhan Data Yang Digunakan Mengumpulkan Data Yang Akan Digunakan Mempersiapkan Alat Dan Bahan Wawancara Studi Literatur Desain Penelitian

Lebih terperinci

1. Integer Interger adalah data numerik yang tidak mengandung pecahan, dan disajikan dalam memori komputer sebagai angka bulat. Mengacu pada obyek

1. Integer Interger adalah data numerik yang tidak mengandung pecahan, dan disajikan dalam memori komputer sebagai angka bulat. Mengacu pada obyek Pada CPU ARITMATICH 1. Integer Interger adalah data numerik yang tidak mengandung pecahan, dan disajikan dalam memori komputer sebagai angka bulat. Mengacu pada obyek data dengan range -32768 s/d 32767.

Lebih terperinci

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Matematika Diskrit Kompleksitas Algoritma Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada

Lebih terperinci

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Ronny - 13506092 Jurusan Teknik Informatika Institut Teknologi Bandung Email : if16092@students.if.itb.ac.id 1. Abstract

Lebih terperinci

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : PENGURUTAN Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : 1. Ascending / menaik Syarat : L[1] L[2] L[3] L[N] 2. Descending / menurun

Lebih terperinci

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi BAB I PENDAHULUAN I.1 Latar Belakang Dalam era globalisasi sekarang ini, keamanan merupakan aspek yang sangat penting dalam transaksi informasi. Informasi yang dipertukarkan tidak semuanya terbuka bagi

Lebih terperinci

Tipe Data dan Operator dalam Pemrograman

Tipe Data dan Operator dalam Pemrograman Diktat Pelatihan Olimpiade Komputer Oleh Fakhri Pertemuan ke 2 : Tipe Data dan Operator dalam Pemrograman 2.1 Tipe Data Tipe data adalah jenis dari suatu nilai pada pemrograman, baik itu angka, tulisan,

Lebih terperinci