METODE PENELITIAN HASIL DAN PEMBAHASAN

Ukuran: px
Mulai penontonan dengan halaman:

Download "METODE PENELITIAN HASIL DAN PEMBAHASAN"

Transkripsi

1 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 tahap paling awal dalam metodologi penelitian ini. Tahapan ini diperlukan untuk mempelajari prinsip dasar aritmatik field prima dan kajian umum lain yang berkaitan dengan field prima tersebut. Analisis Studi Literatur Analisis Implementasi Pengujian Pada tahap ini dilakukan analisis bagaimana cara merepresentasikan bilangan besar dalam komputer dengan kapasitas yang jauh lebih kecil dari bilangan tersebut sehingga efisien dalam alokasi memorinya. Setelah itu dilakukan analisis bagaimana komputer dapat melakukan komputasi terhadap operasi penjumlahan, pengurangan, perkalian, pembagian, reduksi, invers perkalian, dan eksponensial pada bilangan besar dengan waktu yang cepat dan hasil yang benar. Hankerson et al. (2004) mengemukakan bahwa untuk dapat melakukan operasi penjumlahan, pengurangan, perkalian, reduksi, dan invers perkalian pada bilangan p yang sangat besar, setiap anggota pada field prima (F p ) dapat dipandang sebagai integer multi-kata dengan basis 2 W, W adalah ukuran mesin dalam W-bit. Dalam pemrograman, suatu a F p diekspresikan sebagai suatu array dengan array paling kanan merupakan array paling signifikan. Setelah itu dapat dilakukan operasioperasi pada bilangan tersebut dengan menggunakan algoritme tertentu. Sebagai contoh, untuk operasi penjumlahan dilakukan dengan menjumlahkan masing-masing array yang dimulai dari array paling tidak signifikan. Implementasi Tahap ini mencakup bagaimana merepresentasikan bilangan besar dalam basis 2 W dengan W adalah ukuran mesin dalam W-bit dengan menggunakan bahasa C. Selanjutnya dilakukan proses implementasi algoritme penjumlahan, pengurangan, perkalian, pembagian, invers perkalian, reduksi, dan eksponensial pada bilangan tersebut. Lingkungan Pengembangan Sistem dibangun dan diuji dengan menggunakan hardware dan software dengan spesifikasi tertentu. Hardware yang digunakan berupa personal computer (PC) dengan spesifikasi: 1. Prosesor AMD Sempron 902 MHz 2. RAM 512 MB Software yang digunakan yaitu: 1. Sistem Windows XP 2. Bloodshed Dev-C Maple 12 Pengujian Pengujian pada penelitian ini dilakukan dengan menggunakan metode blackbox. Pengujian dilakukan dengan membandingkan antara output yang dihasilkan sistem pada penelitian ini dan output yang dihasilkan software penguji sehingga dapat diketahui nilai kebenaran dari output tersebut. Selanjutnya dari masing-masing operasi dihitung nilai kecepatan eksekusinya untuk mengukur kinerja dari algoritme yang digunakan. -operasi yang akan diuji yaitu penjumlahan, pengurangan, perkalian, pembagian, dan eksponensial. Panjang bit bilangan besar yang diuji yaitu 256 bit, 512 bit, dan 1024 bit untuk masing-masing operasi. Analisis HASIL DAN PEMBAHASAN Mesin yang digunakan pada penelitian ini adalah sebuah komputer 32 bit. Oleh karena itu, basis yang digunakan untuk merepresentasikan bilangan besar dalam komputer adalah Akan tetapi, basis dasar dari bilangan besar adalah 10 sehingga perlu dilakukan proses perubahan basis/konversi dari basis 10 ke dalam basis Proses konversi tersebut dilakukan dengan cara membagi bilangan besar dalam 3

2 basis 10 tersebut dengan 2 32 secara berulangulang sampai hasil baginya bernilai 0. Dari setiap proses pembagian tersebut dihasilkan nilai sisa bagi. Nilai sisa bagi inilah yang merupakan hasil representasi bilangan besar tersebut dalam basis Untuk lebih jelasnya dapat dilihat pada algoritme di bawah ini. Input : (a) 10 Output : (b) 2 32 = (a) n 0 2. While a 0 do b n a mod 2 32 a a / 2 32 n n Return (b 0 b 1 b 2... b n-1 ) Secara matematis representasi bilangan besar adalah sebagai b = b b (n-1) (32) b n-1, dengan b i {0, 1, 2,..., }untuk i = 0, 1,..., (n-1). Representasi ini menunjukkan bahwa digit array paling kanan (b n-1 ) merupakan digit array paling signifikan. Hal ini bertujuan memudahkan proses komputasi terutama ketika terjadi carry atau penambahan digit array yang paling signifikan. Representasi bilangan besar dengan basis 2 32 mempunyai keuntungan yaitu efisien dalam alokasi memori yang terlihat dari banyaknya digit array yang digunakan. Untuk merepresentasikan bilangan 1024 bit hanya dibutuhkan 32 digit array. Semakin sedikit digit array yang digunakan tentu akan mempercepat proses komputasi pada bilangan tersebut. Selain efisien dalam alokasi memori, hasil representasi tersebut merupakan nilai bit dari bilangan besar. Nilai bit ini akan berguna dalam operasi eksponensial terutama yang menggunakan algoritme left to right exponentiation. Tipe data yang digunakan untuk merepresentasikan bilangan besar dalam basis 2 32 adalah mp_int. Struktur mp_int dalam bahasa C dapat dilihat di bawah ini. typedef struct { int used, alloc, sign; unsigned long *dp; } mp_int; Struktur mp_int tersebut dapat dijelaskan sebagai Variabel used menggunakan tipe data int. Variabel ini menunjukkan banyaknya digit array dp yang telah digunakan. Nilai used harus berupa bilangan positif dan tidak boleh melebihi jumlah nilai variabel alloc. Variabel alloc menggunakan tipe data int. Variabel ini menunjukkan banyaknya digit array dp yang tersedia dan siap digunakan. Ketika nilai used melebihi nilai alloc maka terjadi penambahan ukuran array dp sehingga dapat merepresentasikan bilangan multipresisi. Variabel sign menggunakan tipe data int. Variabel ini menunjukkan tanda suatu bilangan mp_int. Nilai variabel ini hanya ada dua yaitu 0 (MP_ZPOS) dan 1 (MP_NEG). MP_ZPOS menandakan bilangan positif dan MP_NEG menandakan bilangan negatif. Variabel dp menggunakan tipe data unsigned long dan merupakan sebuah pointer. Variabel ini dapat mengalokasikan digit array secara dinamis (dapat mengalami penambahan) sehingga dapat merepresentasikan bilangan multipresisi. Implementasi -operasi bilangan besar pada aritmatik field prima diimplementasikan dalam bahasa C. Jenis-jenis tipe data dalam bahasa C dapat dilihat pada Tabel 1 di bawah ini. Tabel 1 Tipe data dalam bahasa C Tipe Data Panjang Bit char 8 short 16 long 32 long long 64 Tabel 1 di atas menunjukkan bahwa bahasa C mempunyai tipe data long long yang mempunyai panjang 64 bit. Tipe data ini berguna dalam merepresentasikan bilangan besar dalam basis Tipe data ini digunakan dalam proses perkalian yaitu sebagai variabel sementara untuk menyimpan hasil perkalian. Bahasa C merupakan bahasa prosedural sehingga operasi-operasi bilangan besar pada aritmatik field prima diimplementasikan dalam bentuk librari yang berisi fungsi-fungsi. Masing-masing fungsi mempunyai return value yang berguna untuk mendeteksi kesalahan. Jenis-jenis return value yang ada dapat dilihat pada Tabel 2 di bawah ini. 4

3 Tabel 2 Return value pada fungsi Return Value MP_OKAY (0) Keterangan Jika fungsi berhasil MP_MEM (-2) Jika fungsi melebihi memori MP_VAL (-3) Jika nilai input tidak valid Librari dalam penelitian ini mempunyai beberapa fungsi yang menjadi dasar dalam proses komputasi. Fungsi-fungsi tersebut yaitu: a. init Fungsi init digunakan untuk melakukan inisialisasi terhadap bilangan mp_int. Proses insialisasi ini akan memberikan nilai default pada variabel-variabel yang ada pada tipe data mp_int. Algoritme fungsi init adalah sebagai Input : mp_int a Output : alokasi memori a sebanyak 10 digit array 1. Alokasi memori untuk 10 digit 2. Jika gagal, return (MP_MEM) 3. For n from 0 to 9 do a n 0 4. a.sign MP_ZPOS 5. a.used 0 6. a.alloc Return ( MP_OKAY ) Algoritme fungsi init di atas menunjukkan bahwa fungsi tersebut akan mengalokasikan memori sebanyak 10 digit array atau setara dengan bilangan 320 bit. Jika terjadi kegagalan, maka fungsi tersebut akan mengembalikan nilai MP_MEM. Fungsi ini memberikan nilai default pada variabel-varibel yang ada dengan a.sign=mp_zpos, a.used=0, a.alloc=10, dan a n = 0, untuk n=0,1,...,9. b. mp_free_mem Fungsi mp_free_mem merupakan kebalikan dari fungsi init. Fungsi ini digunakan untuk mengembalikan memori yang telah dialokasikan ke kondisi semula sehingga memori tersebut dapat digunakan kembali. Algoritme fungsi mp_free_mem adalah sebagai Input : mp_int a Output : memori a didealokasi 1. For n from 0 to a.used-1 do a n 0 2. Free alokasi memori pada a 3. a.used 0 4. a.alloc 0 5 a. sign MP_ZPOS 6. Return ( MP_OKAY ) Algoritme fungsi mp_free_mem di atas mengembalikan memori yang telah terpakai. Selanjutnya fungsi tersebut akan memberikan nilai pada variabel-varibel yang ada dengan a.sign = MP_ZPOS, a.used = 0, dan a.alloc =0. c. mp_grow Fungsi mp_grow digunakan untuk menambah digit array ketika memori yang akan dipakai melebihi memori yang telah dialokasikan (alloc < used). Algoritme fungsi mp_grow adalah sebagai Input : mp_int a dan int b Output : alokasi memori a ditambahkan sampai b digit array 1. If a.alloc < b Realokasikan digit array a menjadi b For n from a.used to b do a n 0 a.alloc b 2. Return ( MP_OKAY ) Algoritme fungsi mp_grow di atas memeriksa banyaknya memori yang dialokasikan terlebih dahulu. Jika banyaknya memori yang ingin ditambahkan lebih besar dari memori yang telah dialokasikan, maka fungsi tersebut akan mengalokasikan kembali memori sebanyak memori yang ingin ditambahkan. d. mp_clear_zero Fungsi mp_clear_zero digunakan untuk menghilangkan semua nilai 0 pada digit array paling signifikan yang merupakan nilai tidak penting. Algoritme fungsi mp_clear_zero adalah sebagai Input : mp_int a Output : semua nilai 0 yang tidak penting pada a dhilangkan 1. If a a.used-1 = 0 While a.used 0 and a a.used-1 = 0 a a.used a a.used If a.used = 0 a.sign MP_ZPOS 3. Return ( MP_OKAY ) Algoritme fungsi mp_clear_zero di atas 5

4 memeriksa nilai pada digit array paling signifikan. Jika bernilai 0, maka fungsi tersebut akan melakukan proses looping sampai digit array tidak bernilai 0. Selama proses looping, nilai a.used berkurang 1. Librari dalam penelitian ini mempunyai beberapa fungsi yang digunakan sebagai operasi dasar dalam proses komputasi. Fungsi-fungsi tersebut yaitu: a. mp_copy Fungsi mp_copy digunakan sebagai operasi sama dengan (=) pada bilangan mp_int. Fungsi ini akan melakukan proses copy dari suatu bilangan mp_int ke bilangan mp_int yang lainnya. Algoritme fungsi mp_copy adalah sebagai Output : b = a 1. If b.alloc < a.used mp_grow ( b, a.used) 2. For n from 0 to a.used b n a n 3. b.used a.used 4. b.alloc a.alloc 5 b.sign a.sign Algoritme fungsi mp_copy di atas memeriksa jumlah alokasi memori pada bilangan b terlebih dahulu. Jika alokasi memori pada b lebih kecil dari a, maka dilakukan proses penambahan alokasi memori pada b sampai sebanyak a.used. Selanjutnya semua variabel yang ada pada b diberikan nilai yang sama dengan a. b. mp_zero Fungsi mp_zero digunakan untuk memberikan nilai 0 pada bilangan mp_int. Algoritme fungsi mp_zero adalah sebagai Input : mp_int a Output : a = 0 1. a.used = 0 2. For n from 0 to a.used a n 0 3 a. sign MP_ZPOS c. mp_cmp Fungsi mp_cmp digunakan untuk membandingkan dua bilangan mp_int. Fungsi ini mempunyai tiga return value. Ketiga return value tersebut yaitu MP_LT (-1) untuk menyatakan lebih kecil, MP_GT (1) untuk menyatakan lebih besar, dan M P_EQ (0) untuk menyatakan sama dengan. Algoritme fungsi mp_cmp adalah sebagai Output : nilai perbandingan antara a dan b 1. If a.used > b.used Return ( MP_GT ) 2. if a.used < b.used Return ( MP_LT ) 3. For n from a.used-1 to 0 If a n > b n Return ( MP_GT ) if a n < b n Return ( MP_LT ) Return ( MP_EQ ) Algoritme fungsi mp_cmp di atas membandingkan jumlah memori yang digunakan oleh a dan b. Jika memori yang digunakan a lebih banyak dari memori yang digunakan b, maka a > b dan sebaliknya jika memori yang digunakan b lebih banyak dari memori yang digunakan a, maka a < b. Jika memori yang digunakan keduanya sama, maka akan dibandingkan dari digit array paling signifikan antara keduanya. Jika semua nilai digit array sama, maka a = b. Librari dalam penelitian ini mempunyai beberapa operasi aritmatik dalam field prima. -operasi tersebut yaitu: a. Penjumlahan penjumlahan yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: 1. s_mp_add Fungsi s_mp_add digunakan untuk melakukan proses penjumlahan dua bilangan mutlak mp_int. Algoritme yang digunakan seperti yang diajarkan di sekolah dasar. Fungsi ini melakukan proses penjumlahan antar digit array sebanyak n sehingga kompleksitasnya adalah O(n) dengan n adalah banyaknya digit array. Algoritme fungsi s_mp_add adalah sebagai Output : c = a + b 1. If a.used > b.used min b.used max a.used x a 6

5 2. min a.used max b.used x b 3 If c.alloc < max +1 mp_grow(c,max +1) 4. u 0 5. For n from 0 to min-1 c n ( a n + b n + u) mod basis u ( a n + b n + u) / basis 6. For n from min to max-1 c n (x n + u) mod basis u (x n + u) / basis 7. If u > 0 c n u c.used max c.used max 9. Return ( MP_OKAY ) Algoritme fungsi s_mp_add di atas melakukan proses penjumlahan antar digit array yang dimulai dari digit array paling tidak signifikan. Jika hasil penjumlahannya melebihi basis yang digunakan, maka akan menghasilkan nilai carry 1. Nilai carry ini akan ditambahkan ke penjumlahan digit array berikutnya. 2. mp_add Fungsi mp_add merupakan fungsi penjumlahan dua bilangan mp_int dengan melihat tanda dari bilangan tersebut. Beberapa kemungkinan tanda yang dihasilkan dari penjumlahan dua bilangan mp_int dapat dilihat pada Tabel 3. Algoritme fungsi mp_add adalah sebagai Output : c = a + b 1. If a.sign = b.sign c.sign a.sign c a + b (s_mp_add) 2. If a < b c.sign b.sign c b - a (s_mp_sub) if a > b c.sign a.sign c a - b (s_mp_sub) c.sign MP_ZPOS c 0 (mp_zero) 3. Return ( MP_OKAY ) Algoritme fungsi mp_add di atas melakukan penjumlahan dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Jika kedua bilangan mempunyai tanda yang sama, maka operasi yang dilakukan adalah penjumlahan dan hasil yang diperoleh mempunyai tanda yang sama dengan bilangan yang ditambahkan. Akan tetapi, jika kedua bilangan mempunyai tanda yang berbeda, maka operasi yang dilakukan adalah operasi pengurangan dan tanda dari hasil yang diperoleh bergantung pada perbandingan kedua bilangan tersebut. Tabel 3 Tanda hasil fungsi mp_add Tanda a b Ket Tanda + + c = a + b c = a + b a < b c = b - a a < b c = b - a a > b c = a - b a > b c = a- b a = b c = a = b c = mp_add_mod Fungsi mp_add_mod merupakan fungsi penjumlahan yang digunakan dalam field prima dimana hasil yang diperoleh harus merupakan anggota field tersebut. Jika hasil penjumlahan yang diperoleh bukan merupakan anggota dalam field prima tersebut, maka hasil tersebut harus dilakukan proses reduksi dengan bilangan p. Algoritme fungsi mp_add_mod adalah sebagai Input : mp_int a, mp_int b dan mp_int p Output : c = (a + b) mod p 1. c a + b (mp_add) 2. If c = p c 0 (mp_zero) 3. if c > p c c p (mp_sub) 4. Return ( MP_OKAY ) b. Pengurangan pengurangan yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: c 7

6 1. s_mp_sub Fungsi s_mp_sub digunakan untuk melakukan proses pengurangan dua bilangan mutlak mp_int. Fungsi ini melakukan pengurangan antar digit array sebanyak n sehingga kompleksitasnya adalah O(n) dengan n adalah banyaknya digit array. Algoritme fungsi s_mp_sub adalah sebagai Output : c = a - b 1. min b.used 2. max a.used 3. If c.alloc < max mp_grow(c,max ) 4. u 0 5. For n from 0 to min-1 If a n b n + u c n a n - b n - u u 0 c n a n + basis - b n u u 1 6. For n from min to max-1 If a n u c n a n - u u 0 c n a n + basis u u 1 7. c.used max 8. mp_clear_zero ( c ) 9. Return ( MP_OKAY ) Algoritme fungsi s_mp_sub di atas melakukan proses pengurangan antar digit array yang dimulai dari digit array paling tidak signifikan. Jika nilai digit array a lebih besar dari digit array b ditambah carry, maka akan menghasilkan nilai carry 1. Nilai carry ini akan digunakan untuk mengurangi digit array a berikutnya. 2. mp_sub Fungsi mp_sub merupakan fungsi pengurangan dua bilangan mp_int dengan melihat tanda dari bilangan tersebut. Beberapa kemungkinan tanda yang dihasilkan dari pengurangan dua bilangan mp_int dapat dilihat pada Tabel 4. Algoritme fungsi mp_sub adalah sebagai Output : c = a b 1. If a.sign b.sign c.sign a.sign c a + b (s_mp_add) 2. If a < b c.sign ~ a.sign c b - a (s_mp_sub) if a > b c.sign a.sign c a - b (s_mp_sub) c.sign MP_ZPOS c 0 (mp_zero) 3. Return ( MP_OKAY ) Algoritme fungsi mp_sub di atas melakukan pengurangan dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Jika kedua bilangan mempunyai tanda yang berbeda, maka operasi yang dilakukan adalah penjumlahan dan hasil yang diperoleh mempunyai tanda yang sama dengan bilangan yang dikurangi. Akan tetapi, jika kedua bilangan mempunyai tanda yang sama, maka operasi yang dilakukan adalah operasi pengurangan dan tanda dari hasil yang diperoleh bergantung pada perbandingan kedua bilangan tersebut. Tabel 4 Tanda hasil fungsi mp_sub Tanda a b Ket Tanda + - c = a + b c = a + b a < b c = b - a a < b c = b - a a > b c = a - b a > b c = a- b a = b c = a = b c = mp_sub_mod Fungsi mp_sub_mod merupakan fungsi pengurangan yang digunakan dalam field prima dimana hasil yang diperoleh harus merupakan anggota field tersebut. Jika hasil yang diperoleh bukan merupakan anggota dalam field prima tersebut, maka hasil tersebut harus dilakukan proses reduksi dengan bilangan p. Algoritme c 8

7 fungsi mp_sub_mod adalah sebagai Input : mp_int a, mp_int b dan mp_int p Output : c = (a - b) mod p 1. c a - b (mp_sub) 2. if c.sign = MP_NEG c c + p (mp_add) 3. Return ( MP_OKAY ) c. Perkalian perkalian yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: 1. s_mp_mul Fungsi s_mp_mul merupakan fungsi perkalian dua bilangan mutlak mp_int yang menggunakan algoritme schoolbook. Jika dua bilangan mp_int a dan b mempunyai digit array yang sama sebanyak n, maka banyaknya perkalian antar digit array adalah n 2 dan banyaknya penjumlahan adalah (n-1) 2 (Weimerskirch & Paar 2006). Algoritme fungsi s_mp_mul adalah sebagai Output : c = a b 1. Inisialisasi x dan y 2. For n from 0 to b.used-1 u 0 For m from 0 to a.used-1 x m+n (a m b n + u) mod basis u (a m b n + u) / basis If u > 0 x m+n u x.used m + n +1 x.used m + n y y + x (mp_add) x 0 (mp_zero) 3. c y 4. Bersihkan variabel sementara 5. Return ( MP_OKAY ) Algoritme fungsi s_mp_mul di atas menunjukkan bahwa fungsi tersebut melakukan perkalian bilangan a dengan seluruh digit array b dimana setiap perkalian menghasilkan bilangan x. Hasil akhir dari fungsi ini merupakan penjumlahan seluruh bilangan x yang dihasilkan. 2. s_mp_sqr Fungsi s_mp_sqr merupakan fungsi kuadrat atau fungsi perkalian khusus dimana nilai multiplicand sama dengan nilai multiplier. Untuk bilangan n-digit array, diperlukan (n 2 + n)/ 2 perkalian tunggal. Hal ini tentu akan lebih baik jika dibandingkan dengan perkalian biasa yang memerlukan n 2 perkalian tunggal. Algoritme fungsi s_mp_sqr adalah sebagai Input : mp_int a Output : b = a 2 1. Inisialisasi c (init) 2. c.used 2 a.used 3. For i from 0 to a.used-1 r c 2i + a i 2 c 2i r mod basis u r / basis k 1 For j from i + 1 to a.used-1 r 2 a i a j + u + c 2i + k c 2i + k r mod basis u r / basis k k +1 While u > 0 do r u + c 2i + k c 2i + k r mod basis u r / basis k k mp_clear_zero(c) 5. b c 6. Bersihkan variabel sementara 7. Return ( MP_OKAY ) 3. mp_mul Fungsi mp_mul merupakan fungsi perkalian dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Algoritme fungsi mp_mul adalah sebagai Output : c = a b 1. c = a b (s_mp_mul) 2. If a.sign = b.sign c.sign MP_ZPOS 3. If c= 0 c.sign MP_ZPOS c.sign MP_NEG 4. Return ( MP_OKAY ) Algoritme fungsi mp_mul di atas mengalikan dua bilangan mp_int dengan melihat tanda dari kedua bilangan tersebut. Jika kedua bilangan mempunyai tanda yang sama, maka hasil yang diperoleh bernilai 9

8 positif. Akan tetapi, jika kedua bilangan mempunyai tanda yang berbeda maka hasil yang diperoleh bernilai negatif tetapi jika salah satu bilangannya bernilai 0 maka hasil yang diperoleh bernilai positif. 4. mp_mul_mod Fungsi mp_mul_mod merupakan fungsi perkalian yang digunakan dalam field prima dimana hasil yang diperoleh harus merupakan anggota field tersebut. Jika hasil yang diperoleh bukan merupakan anggota dalam field tersebut, maka hasil tersebut harus dilakukan proses reduksi. Algoritme fungsi mp_mul_mod adalah sebagai Input : mp_int a, mp_int b, dan mp_int p Output : c =( a b) mod p 1. c = a b (mp_mul) 2. If c = a c 0 ( mp_zero) 3. if c > p c c mod p (mp_mod) 4. Return ( MP_OKAY ) d. Pembagian pembagian yang terdapat dalam librari dibagi menjadi beberapa fungsi. Fungsifungsi tersebut yaitu: 1. mp_div Fungsi mp_div digunakan untuk melakukan operasi pembagian antara bilangan mutlak mp_int a dan bilangan mutlak mp_int b. Fungsi ini akan menghasilkan nilai hasil bagi dan sisa bagi. Algoritme yang digunakan pada fungsi ini adalah algoritme pembagian klasik seperti yang diajarkan di sekolah dasar hanya saja sebelum dilakukan proses pembagian terdapat proses normalisasi. Proses normalisasi dilakukan agar nilai digit array paling signifikan b lebih besar atau sama dengan basis/2 (b n basis/2) dengan mengalikan suatu konstanta k pada a dan b. Nilai k sebaiknya merupakan kelipatan 2 sehingga operasinya hanya shift. Dengan adanya proses normalisasi ini, nilai perkiraan hasil bagi (q ) akan mendekati nilai hasil bagi sebenarnya (q). Jika digit array a = digit array b + 1 maka nilai q diperoleh dari persamaan : anb + a q' = min bn 1 n 1, B 1 B adalah basis yang digunakan. Jika pada persamaan di atas nilai b n-1 a / b, maka q -2 q q (Knuth 1998, diacu dalam Welschenbach 2005). Dengan asumsi bahwa nilai b n-1 mendekati nilai B, maka nilai q adalah q -2 q q. Proses normalisasi pada fungsi mp_div hanya akan mengubah nilai sisa bagi pada proses pembagian tanpa mengubah nilai hasil bagi. Oleh karena itu, untuk mendapatkan nilai sisa bagi yang sebenarnya diperlukan proses denormalisasi yaitu dengan membagi sisa bagi dengan k. Algoritme fungsi mp_div dapat dilihat pada Lampiran mp_div_mod Fungsi mp_div_mod merupakan fungsi pembagian yang digunakan dalam field prima dimana pembagian suatu bilangan a oleh b merupakan perkalian bilangan a dengan b -1. Jika hasil yang diperoleh bukan merupakan anggota dalam field tersebut, maka hasil tersebut harus dilakukan proses reduksi. Algoritme fungsi mp_div_mod adalah sebagai Input : mp_int a, mp_int b, dan mp_int p Output : c =( a / b) mod p 1. Inisialisasi d 2. d b -1 (mp_invmod) 3. c a b -1 (mp_mul) 4. If c = a c 0 ( mp_zero) 5. if c > a c c mod p (mp_mod) 6. Return ( MP_OKAY ) e. Reduksi Reduksi merupakan operasi yang dilakukan untuk mencari nilai sisa bagi dari pembagian dua bilangan mp_int sehingga hasil yang diperoleh merupakan anggota field prima. Fungsi dalam librari yang digunakan untuk melakukan operasi reduksi yaitu: mp_mod Algoritme fungsi mp_mod menggunakan algoritme pembagian klasik sama seperti pada fungsi mp_div dimana output dari fungsi mp_div adalah nilai hasil bagi dan nilai sisa bagi. Nilai sisa bagi inilah yang diperlukan oleh fungsi mp_mod. 10

9 f. Invers Perkalian Invers perkalian suatu bilangan mp_int a adalah a -1 dengan a a -1 = 1. Nilai invers tersebut diperlukan dalam operasi pembagian pada field prima. Fungsi dalam librari yang digunakan untuk melakukan operasi invers perkalian yaitu: mp_invmod Fungsi mp_invmod digunakan untuk mencari nilai invers perkalian pada suatu bilangan mp_int a pada field prima p. Algoritme yang digunakan fungsi ini adalah extended Euclidean. Algoritme ini menggunakan operasi pembagian dalam prosesnya sehingga membutuhkan cost yang cukup tinggi. Algoritme fungsi mp_invmod adalah sebagai Input : mp_int a dan mp_int p Output : c = a -1 1.Inisialisasi q, r, y 1, y 2, mul, y, t a, dan t b 2. t a p 3. t b a 4. y If b=0 Return (MP_VAL) 6. While t b 0 q t a / t b r t a mod t b y y 1 q y 2 t a t b t b r y 1 y 2 y 2 y 7. c y 1 mod p 8. Bersihkan variabel sementara 9. Return ( MP_OKAY ) g. Eksponensial eksponensial merupakan operasi yang berperan penting dalam kriptografi kunci asimetrik. ini digunakan dalam proses enkripsi dan dekripsi. Fungsi dalam librari yang digunakan untuk melakukan operasi eksponensial yaitu: mp_exp_mod Fungsi mp_exp_mod merupakan fungsi eksponensial yang digunakan pada field prima. Algoritme yang digunakan pada fungsi ini adalah left to right exponentiation. Algoritme ini bekerja dengan menggunakan nilai biner dari bilangan pemangkatnya (b). Algoritme ini melakukan proses perkalian multipresisi sebanyak n + t dengan n adalah panjang bit b dan t adalah banyaknya bit b yang bernilai 1. Algoritme fungsi mp_exp_mod adalah sebagai Input : mp_int a, mp_int b, dan mp_int p Output : c = a b mod p 1. c 1 2. x 1 << bitlength(basis) For i from b.used-1 to 0 temp b i For j from 0 to bitlength(basis)-1 c c 2 mod p If temp & x 0 c (c a) mod p temp temp << 1 4. Return ( MP_OKAY ) Pengujian Pengujian dilakukan dengan cara membandingkan output yang dihasilkan sistem dengan output yang dihasilkan oleh software pembanding sehingga dapat diketahui nilai kebenaran dari output tersebut. Software yang digunakan sebagai pembanding adalah MAPLE 12. Pengujian dilakukan sebanyak 10 kali untuk masing-masing operasi dan dihasilkan output yang benar. Untuk mengetahui kinerja sistem, dihitung nilai total waktu eksekusinya. waktu eksekusi dari hasil pengujian terhadap masing-masing fungsi aritmatik field prima dapat dilihat pada tabel-tabel di bawah ini. Tabel 5 waktu eksekusi fungsi penjumlahan pada field prima Bit Konversi Basis (s) ( s) (s) Tabel 5 di atas menunjukkan bahwa total waktu konversi basis (dari basis 10 ke basis 2 32 kemudian dikonversi kembali dari basis 2 32 ke basis 10) jauh lebih besar dari waktu operasi penjumlahan. Oleh karena itu, proses konversi basis sangat mempengaruhi total waktu eksekusi operasi penjumlahan. 11

10 Tabel 6 waktu eksekusi fungsi pengurangan pada field prima Bit Konversi Basis (s) ( s) (s) Tabel 6 di atas menunjukkan bahwa total waktu eksekusi operasi pengurangan sama seperti operasi penjumlahan. Hal ini dikarenakan banyaknya proses pada operasi pengurangan dan operasi penjumlahan adalah sama atau dengan kata lain kedua proses ini memiliki kompleksitas yang sama. Tabel 7 waktu eksekusi fungsi perkalian pada field prima Bit Konversi Basis (s) ( s) (s) Tabel 7 di atas menunjukkan bahwa total waktu eksekusi operasi perkalian tidak berbeda jauh dengan operasi penjumlahan dan pengurangan. Hal ini disebabkan perbandingan antara total waktu konversi basis dan waktu operasi sangat besar. Akan tetapi, jika dilihat pada waktu operasinya, waktu operasi pada perkalian jauh lebih besar dari operasi penjumlahan dan pengurangan. Tabel 8 waktu eksekusi fungsi pembagian pada field prima Bit Konversi Basis (s) ( s) (s) Tabel 8 di atas menunjukkan bahwa total waktu konversi basis pada operasi pembagian lebih kecil dari pada waktu operasinya tetapi perbedaannya tidak terlalu signifikan. Akan tetapi, jika hanya dilihat pada waktu operasinya, operasi pembagian memerlukan waktu yang jauh lebih besar dari operasi perkalian. Hal ini disebabkan jumlah proses pada operasi pembagian jauh lebih banyak dari operasi perkalian dimana pada operasi pembagian terdapat proses invers dan juga perkalian. Tabel 9 waktu eksekusi fungsi eksponensial pada field prima Bit Konversi Basis (s) ( s) (s) Tabel 9 di atas menunjukkan bahwa waktu operasi pada operasi eksponensial jauh lebih besar dari total waktu konversi basisnya. Hal itu menyebabkan total waktu eksekusi operasi eksponensial tidak berbeda jauh dengan waktu operasinya. KESIMPULAN DAN SARAN Kesimpulan Bilangan besar direpresentasikan dalam basis 2 32 pada komputer 32 bit. Representasi ini akan membutuhkan jumlah digit array paling sedikit bila dibandingkan dengan representasi lainnya sehingga efisien dalam penggunaan memori. Untuk bilangan 1024 bit hanya dibutuhkan 32 digit array. Semakin sedikit digit array yang dibutuhkan untuk merepresentasikan bilangan besar, maka semakin cepat komputasi pada bilangan besar tersebut. Dari pengujian yang dilakukan sebanyak 10 kali untuk masing-masing operasi pada field prima, sistem menghasilkan output yang benar. Pada bilangan 1024 bit, operasi penjumlahan membutuhkan waktu eksekusi sebesar s, operasi pengurangan membutuhkan waktu eksekusi sebesar s, operasi perkalian membutuhkan waktu eksekusi sebesar s, operasi pembagian membutuhkan waktu eksekusi sebesar s, dan operasi pengurangan membutuhkan waktu eksekusi sebesar s. 12

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

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

Software yang digunakan yaitu: 1. Sistem Operasi Windows 7 2. Bloodshed Dev-C Notepad++ 4. Winmerge 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,

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

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

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

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

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

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

Bab 2. Dasar-Dasar Pemrograman C

Bab 2. Dasar-Dasar Pemrograman C Bab 2. Dasar-Dasar Pemrograman C Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 Overview Tipe Data Standar (Standart Data Type) Aturan Pendefinisian Identifier Variabel Mendeklarasikan

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

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

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

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

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

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

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

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

Algoritma & Pemrograman

Algoritma & Pemrograman Algoritma & Pemrograman Bahasa Pemrograman C Oleh: Supatman HP: 081578865611 Bahasa C Ditemukan Oleh: Dennis M. Ritche (1972) Kemampuan C Portable Kecepatan Library Programming Sistem Operasi (Unix, MicroShell,

Lebih terperinci

Pengenalan Bahasa C. 1. Struktur penulisan program. #include < [library2.h] > #define [nama2] [nilai] ;

Pengenalan Bahasa C. 1. Struktur penulisan program. #include < [library2.h] > #define [nama2] [nilai] ; Pengenalan Bahasa C 1. Struktur penulisan program #include < [library1.h] > #include < [library2.h] > #define [nama1] [nilai] ; #define [nama2] [nilai] ; [global variables] [functions] void main(void)

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

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

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

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2 VARIABEL, TIPE DATA DAN EKSPRESI Bab 2 2.1 IDENTIFIER Indentifier adalah nama yang diberikan untuk nama objek, nama fungsi, nama variable, dll ( sifatnya case sensitive ). Identifier pada C++ terdiri dari

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

Review : Sifat Implementasi Linear List dengan Array

Review : Sifat Implementasi Linear List dengan Array Pertemuan 10 Linked List Disusun oleh : PH. Prima Rosa, S.Si., M.Sc. Sri Hartati Wijono, S.Si. 2003/2004 Pert. 10 Struktur Data - FMIPA USD - 2003 Hal. 1 Review : Sifat Implementasi Linear List dengan

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

Modul Praktikum Algoritma dan Struktur Data

Modul Praktikum Algoritma dan Struktur Data Tujuan : BAB 1 Struct, Array, dan Pointer 1. Mahasiswa memahami apakah yang dimaksud dengan struktur data. 2. Mahasiswa memahami apakah yang dimaksud dengan algoritma. 3. Mengingat kembali array, struktur,

Lebih terperinci

Pemrograman Berbasis Objek Operator dan Assignment

Pemrograman Berbasis Objek Operator dan Assignment Operator dan Assignment Macam-macam macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional

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

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut 1. Pengenalan Bahasa C++ a. Elemen Bahasa C+ Bahasa C++ ditulis dari beberapa elemen, antara lain: Pernyataan Satu atau beberapa ekspresi

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

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh PRAKTIKUM 2 1. Variabel Pengenal (identifier) merupakan nama yang biasa digunakan untuk suatu perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh pemrogram. Variabel adalah suatu

Lebih terperinci

OPERASI PERNYATAAN KONDISI

OPERASI PERNYATAAN KONDISI OPERASI PERNYATAAN KONDISI A. Pernyataan IF pernyataan if mempunyai pengertian, jika kondisi bernilai benar, maka perintah dikerjakan dan jiak tidak memenuhi syarat maka diabaikan. Dapat dilihat dari diagram

Lebih terperinci

Pengantar Bahasa C. Tim Pengajar ASD Semester I 2017/ /7/2017 FN/ASD/Sem /2018 1

Pengantar Bahasa C. Tim Pengajar ASD Semester I 2017/ /7/2017 FN/ASD/Sem /2018 1 Pengantar Bahasa C Tim Pengajar ASD Semester I 2017/2018 9/7/2017 FN/ASD/Sem. 1 2017/2018 1 C Programming Language Sejarah Singkat Dikembangkan oleh Dennis Ritchie dan Brian Kernighan pada awal 1970an

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

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

Operator dan Assignment

Operator dan Assignment Operator dan Assignment Macam-macam Operator Arithmetic Op. : + - * / % Relational Op. : > >= < >>> Conditional Op.

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

Basic Arithmetic Computing. Team Dosen Telkom University 2016

Basic Arithmetic Computing. Team Dosen Telkom University 2016 Basic Arithmetic Computing Team Dosen Telkom University 2016 Arithmetic & Logic Unit Pekerjaan : menghitung Menangani integer Bisa menangani bilangan floating point (real) dengan algortima tertentu atau

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN Kondisi pengolahan data yang telah dijabarkan sebelumnya pada bab 1 (satu) memiliki keterkaitan terhadap permasalahan yang teridentifikasi. Yaitu permasalahan terkait desain

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

Penerapan BFS dan DFS dalam Garbage Collection

Penerapan BFS dan DFS dalam Garbage Collection Penerapan BFS dan DFS dalam Garbage Collection Nugroho Satriyanto 13514038 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Bandung, Indonesia 13514038@std.stei.itb.ac.id

Lebih terperinci

Algortima. Teguh Cahyono, ST.M.Kom

Algortima. Teguh Cahyono, ST.M.Kom Algortima Teguh Cahyono, ST.M.Kom Tipe Data & Macam Operator Macam Macam Type Data Ada enam kelompok type data pada turbo pascal yaitu : 1) Tipe data sederhana, type data sederhana dibagi menjadi dua type

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

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 IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA BAB IV HASIL DAN UJI COBA IV.1. Jalannya Uji Coba 1. Halaman Utama Halaman utama dalah halaman validasi user sebelum user tertentu dapat melakukan enkripsi dan dekripsi file bahan ajar. Halaman ini bertujuan

Lebih terperinci

TIPE, NAMA, DAN NILAI

TIPE, NAMA, DAN NILAI TIPE, NAMA, DAN NILAI Dian Palupi Rini, M.Kom Tipe Dasar Bilangan Logika Nama Tipe adalah boolean (diambil dari nama matematikawan Inggris George Boole). Ranah Nilai : true (benar) dan false (salah). Konstanta

Lebih terperinci

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan

STACK (TUMPUKAN) Tumpukan uang koin Tumpukan kotak Tumpukan Buku. Gambar 1. Macam-macam tumpukan STACK (TUMPUKAN) adalah suatu urutan elemen yang elemennya dapat diambil dan ditambah hanya pada posisi akhir (top) saja. Contoh dalam kehidupan sehari-hari adalah tumpukan piring di sebuah restoran yang

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

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

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

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

Pemrograman Berorientasi Obyek. Operator & Assignment

Pemrograman Berorientasi Obyek. Operator & Assignment Pemrograman Berorientasi Obyek Operator & Assignment 1 MATERI POKOK Unary operator Arithmetic operator Shift operator: , dan >>> Comparison operator Bitwise operator: &, ^, dan. Short Circuit operator

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

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

Pengenalan Struktur Data dan Algoritma

Pengenalan Struktur Data dan Algoritma BAB I Pengenalan Struktur Data dan Algoritma Tujuan : 1. Mahasiswa memahami apakah yang dimaksud dengan struktur data 2. Mahasiswa memahami apakah yang dimaksud dengan algoritma 3. Mengingat kembali array,

Lebih terperinci

Arsitektur dan Organisasi Komputer

Arsitektur dan Organisasi Komputer Arsitektur dan Organisasi Komputer Modul ke: Aritmatika Komputer Fakultas Ilmu Komputer Dian Wirawan, S.Kom, M.Kom Program Studi Teknik Informatika http://www.mercubuana.ac.id Aritmatika Komputer Arsitektur

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

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab ini membahas analisis perancangan perangkat lunak (diberi nama c2p) dari segi struktur data dan analisis aliran data. Hal-hal yang dibahas diantaranya

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA S1-TI ALGORITMA & PEMROGRAMAN MODUL V STRUKTUR KONTROL PERULANGAN SEM I WAKTU 100 MNT I. STRUKTUR PERULANGAN Salah satu kelebihan

Lebih terperinci

Algoritma dan Struktur Data. Ramos Somya

Algoritma dan Struktur Data. Ramos Somya Algoritma dan Struktur Data Ramos Somya Penggunaan record dalam jumlah yang banyak alokasi memory konvensional tidak bisa diandalkan. Misal kita akan bekerja dengan file yang menyimpan sangat banyak record,

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

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang

Structure dasar dari bahasa pemrograman arduino adalah sederhana yang Structuer Pemrograman 1. Structure Structure dasar dari bahasa pemrograman arduino adalah sederhana yang hanya terdiri dari dua bagian. void setup( ) // Statement; void loop( ) // Statement; Dimana setup

Lebih terperinci

04. Single Linked List

04. Single Linked List 04. Single Linked List ARNA FARIZA YULIANA SETIOWATI Capaian Pembelajaran 1. Mahasiswa mengerti konsep alokasi memori secara dinamis menggunakan pointer. 2. Mahasiswa mengerti konsep single linked list

Lebih terperinci

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISA MASALAH DAN PERANCANGAN BAB III ANALISA MASALAH DAN PERANCANGAN III.1. Analisa Sub bab ini berisikan tentang analisa sistem yang akan dibangun. Sub bab ini membahas teknik pemecahan masalah yang menguraikan sebuah sistem menjadi

Lebih terperinci

Achmad Solichin.

Achmad Solichin. Pemrograman Bahasa C dengan Turbo C Sh-001@plasa.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit),

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

METODE PENELITIAN HASIL DAN PEMBAHASAN

METODE PENELITIAN HASIL DAN PEMBAHASAN 1 Dalam segi keamanan penyandian data algoritme IDEA mempunyai standar yang lebih sederhana namun cukup ampuh untuk mencegah serangan cryptanalysis terhadap kunci enkripsi dan dekripsi. Pembangkit kunci

Lebih terperinci

Dasar Pemrograman Mikrokontroler dengan Bahasa C

Dasar Pemrograman Mikrokontroler dengan Bahasa C Dasar Pemrograman Mikrokontroler dengan Bahasa C Pokok Bahasan: 1. Penggunaan Fungsi (Using Functions) 2. Penanaman bahasa rakitan di dalam Program 'C' Tujuan Belajar: Setelah mempelajari dalam bab ini,

Lebih terperinci

BAHASA PEMROGRAMAN C

BAHASA PEMROGRAMAN C BAHASA PEMROGRAMAN C A. Pengenalan Bahasa C diciptakan oleh Dennis Ritchie tahun 1972 di Bell Laboratories. Kelebihan Bahasa C: - Bahasa C tersedia hampir di semua jenis computer. - Kode bahasa C sifatnya

Lebih terperinci

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n. 1 ELEMEN DASAR C++ HIMPUNAN KARAKTER Himpunan karakter pada C++ terdiri huruf, digit maupun simbol-simbol lainnya (termasuk spasi dan karakter kontrol). Huruf, contoh : A s/d Z dan a s/d z Digit, contoh

Lebih terperinci

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun

BAB III METODOLOGI PENELITIAN. ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun BAB III METODOLOGI PENELITIAN 3.1 Analisis Algoritma Kriptografi RSA Algoritma kriptografi RSA adalah algoritma untuk keamanan data yang ditemukan oleh Rivest, Shamir dan Adleman (RSA) pada tahun 1977-1978.

Lebih terperinci

Fungsi : Dasar Fungsi

Fungsi : Dasar Fungsi PRAKTIKUM 13 Fungsi : Dasar Fungsi A. TUJUAN PEMBELAJARAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Fungsi adalah suatu bagian

Lebih terperinci

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP

Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Algoritma Euclidean dan Struktur Data Pohon dalam Bahasa Pemrograman LISP Ahmad Ayyub Mustofa Jurusan Teknik Informatika ITB, Bandung 40132, email: rekka_zan@students.itb.ac.id Abstraksi Bahasa pemrograman

Lebih terperinci

Quis. 2. Sistem bilangan yang menggunakan basis 8 adalah: A. Biner D. Hexadesimal B. Oktal E. Sexagesimal C. Desimal

Quis. 2. Sistem bilangan yang menggunakan basis 8 adalah: A. Biner D. Hexadesimal B. Oktal E. Sexagesimal C. Desimal Pertemuan 7 QUIS 1. Bagian yang terkait erat dengan unit-unit operasional dan interkoneksi antar komponen penyusun sistem komputer dalam merealisasikan aspek arsitekturalnya, merupakan pengertian dari:

Lebih terperinci

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom Objek Data, Variabel, dan Konstanta Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom Pengantar Penyimpanan data di komputer (memori, register, dan lainnya) Organisasi yang sederhana Barisan bit

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

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2 VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,

Lebih terperinci

ARNA FARIZA YULIANA SETIOWATI

ARNA FARIZA YULIANA SETIOWATI 03. Queue ARNA FARIZA YULIANA SETIOWATI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Capaian Pembelajaran 1. Mahasiswa mengerti konsep stack dan operasi pada queue. 2. Mahasiswa dapat menggunakan queue untuk

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

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK PEMROGRAMAN BERORIENTASI OBJEK Fungsi Budhi Irawan, S.Si, M.T 10/27/2017 9:12:31 AM 1 PENDAHULUAN Fungsi merupakan kumpulan statemen yang dikelompokan menjadi satu bagian kode (blok program) untuk menyelesaikan

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

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH:

ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM MATA KULIAH: MATA KULIAH: ORGANISASI KOMPUTER INSTRUKSI MESIN DAN PROGRAM PRODI PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER JURUSAN PENDIDIKAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2011 By: AYU

Lebih terperinci

Struct Lanjutan: Studi Kasus

Struct Lanjutan: Studi Kasus Struktur Data Struct Lanjutan: Studi Kasus Bayu Setiaji, S.Kom STMIK AMIKOM YOGYAKARTA 1. Tujuan 1. Pendalaman struct 2. Review fungsi 3. Dapat mengaplikasikan konsep struct dalam kasus nyata 2. Penjelasan

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

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 2 Stack (Tumpukan) A. TUJUAN PEMBELAJARAN Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami terminologi yang terkait dengan struktur data stack. 2. Memahami operasi-operasi

Lebih terperinci

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Waktu komputasi (dalam detik) Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma

Lebih terperinci

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware Tujuan JAVA Education Network Indonesia Pengenalan Pemrograman Komputer Pengenalan Pemrograman 1 Pada akhir pelajaran, siswa diharapkan dapat: Mengidentifikasi perbedaan komponen-komponen pada komputer

Lebih terperinci

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng.

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng. Elemen Bahasa Pemrograman Aditya Rizki Yudiantika, M.Eng. Algoritma dan Struktur Data (SI063) Ganjil 2017/2018 Outline Pengenalan bahasa C++ Struktur penulisan kode dan elemen Tipe data Konstanta Operator

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA Hal 1 dari 8 A. KOMPETENSI 1. Memahami jenis-jenis operator dalam C++ 2. Memahami operator assignment yang digunakan dalam C++ 3. Mampu menggunakan operator aritmatika 4. Mampu menggunakan operator relasional

Lebih terperinci

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM ANALISIS ALGORITMA Analisis Masalah dan Running Time Disusun Oleh: Adam Mukharil Bachtiar Teknik Informatika UNIKOM adfbipotter@gmail.com AGENDA PERKULIAHAN DEFINISI MASALAH f x = a 0 + a n cos nπx +

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

TIPE DATA DAN OPERASI I/O

TIPE DATA DAN OPERASI I/O Praktikum 4 (2/2) TIPE DATA DAN OPERASI I/O A. TUJUAN 1. Menjelaskan tentang instruksi I/O B. DASAR TEORI Untuk keperluan menampilkan data/informasi, C menyediakan sejumlah fungsi. Beberapa di antaranya

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA No EKA/EKA255 Revisi:01 30 Agu 2014 Hal 1 / 5 A TUJUAN Setelah melakukan praktik mahasiswa diharapkan: 1 Menjelaskan proses pengulangan menggunakan pernyataan for 2 Menjelaskan tentang variasi pernyataan

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

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014 Pengenalan Struktur Data Farah Zakiyah Rahmanti 2014 Definisi Skema organisasi, seperti struktur dan array, yang diterapkan pada data sehingga data dapat diinterprestasikan dan sehingga operasoperasi spesifik

Lebih terperinci

KONSEP POINTER DAN LINKED LIST

KONSEP POINTER DAN LINKED LIST Pertemuan 3 KONSEP POINTER DAN LINKED LIST Untuk mengolah data yang banyaknya tidak bisa ditentukan sebelumnya, maka disediakan satu fasilitas yang memungkinan untuk menggunakan suatu perubah yang disebut

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Aritmatik Komputer. Oky Dwi Nurhayati, ST, MT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Aritmatik Komputer. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Aritmatik Komputer Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id ALU Inputs and Outputs Representasi Integer Dalam sistem bilangan biner, semua

Lebih terperinci

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN BAB III ANALISA DAN PERANCANGAN 1.1 Analisa Masalah Masalah yang ingin diselesaikan pada Tahap Akhir ini antara lain adalah menerapkan algoritma Message Digest 5 (MD5) agar bisa digunakan untuk enkripsi

Lebih terperinci