ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA

Ukuran: px
Mulai penontonan dengan halaman:

Download "ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA"

Transkripsi

1 ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012

2 ANALISIS ALGORITME FAKTORISASI PENYARING KUADRIK BESERTA IMPLEMENTASINYA SECARA PARALEL RADEN BAGUS DIMAS PUTRA Skripsi sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Departemen Ilmu Komputer DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012

3 ABSTRACT R BAGUS DIMAS PUTRA. Analysis of Quadratic Sieve Algorithm with Parallel Implementation supervised by SUGI GURITMAN and HENDRA RAHMAWAN. Algorithm for finding the prime factors of large composite numbers are importance because of the widespread use of public key cryptosystems whose security depends on the presumed difficulty of the factorization problem. This research uses quadratic sieve algorithm for factoring big composite numbers. Quadratic sieve is the best algorithm for factoring composite numbers bellow 100 decimal digits. The quadratic sieve is analyzed and implemented using C programming language and parallelized by functional decomposition and domain decomposition. This research uses additional libraries for parallel implementation and for computing big integer numbers, which are MPI and GMP. The implementation result is tested in a computer with four processors. The factorized composite numbers are 25, 30, and 35 digits. The objectives of this research is to measure and analyze the performance of parallel quadratic sieve algorithm using performance metrics and the complexity of the implemented quadratic sieve. This research uses two ways for parallelizing method: functional decomposition toward sieving stage and domain decomposition on sieving stage. The best result of parallel quadratic sieve is the domain decomposition on sieving stage which has an average efficiency of 91.6%. The result is not good enough because there are an additional task for changing GMP data type to MPI data type on parallel implementation. The complexity of the communication is e^(()^(1/2) 10log N + 4 (P-1))/B which means it becomes worse the higher the composite numbers are. Performance metrics also become worse because of the additional task and the communication. Keyword : complexity, GMP, MPI, parallel, quadratic sieve

4 Judul Penelitian Nama NIM : Analisis Algoritme Faktorisasi Penyaring Kuadrik Beserta Implementasinya Secara Paralel : Raden Bagus Dimas Putra : G Menyetujui: Pembimbing 1, Pembimbing 2, Dr. Sugi Guritman NIP Hendra Rahmawan, S.Kom, M.T NIP Mengetahui: Ketua Departemen, Dr. Ir. Agus Buono, M.Si, M.Kom NIP Tanggal Lulus:

5 PRAKATA Alhamdulillah, segala puji dan syukur penulis panjatkan ke hadirat Allah subhanahu wata'ala yang telah memberikan rahmat dan karunia-nya sehingga penulis dapat menyelesaikan penulisan skripsi yang berjudul Analisis Algoritme Faktorisasi Penyaring Kuadrik Beserta Implementasinya Secara Paralel yang merupakan salah satu syarat untuk menyelesaikan pendidikan program sarjana pada Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam di Institut Pertanian Bogor. Shalawat dan salam tak lupa penulis sampaikan kepada Nabi Muhammad shallallahu 'alaihi wasallam serta kepada keluarganya, sahabatnya, dan kepada para pengikutnya. Dalam menyelesaikan tulisan ini penulis mendapat bantuan dari banyak pihak. Oleh karena itu, penulis ingin menyampaikan rasa terima kasih kepada: Bapak Dr. Sugi Guritman selaku dosen pembimbing pertama dan Bapak Hendra Rahmawan, S.Kom, M.T selaku dosen pembimbing kedua. Terima kasih atas segala pengetahuan dan bantuan serta nasehat-nasehat yang diberikan kepada penulis. Ibunda Sahani, Ayahanda Haryanto, serta adik R Bagus Agung W K dan Rr Aprilia Putri C yang telah memberikan doa, kasih sayang, dukungan, serta motivasi untuk menyelesaikan penelitian ini. Bapak Endang Purnama Giri, S.Kom, M.Kom selaku dosen penguji. Terima kasih atas segala bantuan yang diberikan kepada penulis. Bapak Sony Hartono Wijaya, S.Kom, M.Kom selaku dosen pembimbing akademik serta staf pengajar dan tata usaha yang telah memberikan bantuan dan kerjasamanya selama penulis menjadi mahasiswa Ilmu Komputer angkatan 45. Fitri Karlinda yang senantiasa memberikan doa, bantuan, dukungan, dan motivasi. Teman-teman Ilkomerz 45 khususnya Jaka Ahmad Juliarta dan Anggi Putrantio yang telah membantu pelaksanaan seminar dan senantiasa memberikan bantuan, dukungan serta motivasi kepada penulis. Seluruh mahasiswa Ilkom 44, 45, 46, dan 47 atas persahabatan yang luar biasa. Semoga karya ini bisa memberikan manfaat untuk perkembangan dunia kriptografi dan teknologi informasi di Indonesia. Bogor, Desember 2012 R Bagus Dimas Putra

6 RIWAYAT HIDUP Penulis bernama R Bagus Dimas Putra lahir di Jakarta pada tanggal 4 Agustus Penulis merupakan anak pertama dari tiga bersaudara yang terlahir dari pasangan Haryanto dan Sahani. Pada tahun 2008, penulis menamatkan pendidikan di SMA Negeri 2 Bogor, Jawa Barat. Pada tahun yang sama penulis menempuh pendidikan ke jenjang yang lebih tinggi yaitu Institut Pertanian Bogor (IPB). Penulis masuk IPB melalui jalur Undangan Seleksi Masuk IPB (USMI) dan diterima sebagai mahasiswa mayor Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Selama menjadi mahasiswa, penulis aktif sebagai asisten praktikum di berbagai mata kuliah Ilmu Komputer yang diantaranya adalah: Algoritme dan Pemrograman (2010, 2011), Organisasi Komputer (2010, 2011), Rangkaian Digital (2010, 2011), Struktur Data (2012), dan Sistem Pakar (2012). Pada tahun 2011 penulis menjadi salah satu finalis lomba Keamanan Jaringan Gemastik 4. Pada tahun 2012 penulis menjadi panitia dalam Pelatihan Nasional 2 Tim Olimpiade Komputer Indonesia sebagai asisten. Selain itu, penulis melaksanakan kegiatan Praktik Kerja Lapangan di Kantor Komunikasi dan Informatika Kota Bogor pada tahun 2011.

7 DAFTAR ISI Halaman DAFTAR TABEL... vii DAFTAR GAMBAR... vii DAFTAR LAMPIRAN... vii PENDAHULUAN Latar Belakang... 1 Tujuan Penelitian... 1 Ruang Lingkup Penelitian... 1 TINJAUAN PUSTAKA Prima dan Bilangan Komposit... 1 Teorema Dasar Aritmatika (TDA)... 1 Subeksponensial... 1 Faktorisasi Fermat... 1 Metode Kraitchik dan Dixon... 2 Faktor Basis... 2 Least Absolute Residue... 2 B-smooth... 2 Prima Relatif... 2 Residu Kuadrik... 2 Bergantung Linear... 2 Penyaring Kuadrik (QS)... 2 Penyaring Kuadrik Dasar (Basic QS)... 2 Pemrograman Paralel... 3 Arsitektur Komputer Paralel... 3 Distributed Memory... 3 Metode Foster... 4 GMP... 4 Message Passing Interface (MPI)... 4 Blocking dan Nonblocking Communication... 4 Communicator... 5 Performance Metric... 5 METODE PENELITIAN Studi Pustaka... 5 Analisis Algoritme Sekuensial QS... 5 Implementasi Algoritme Sekuensial QS... 6 Penerapan Metode Foster pada Algoritme QS... 6 Analisis Algoritme Paralel QS... 6 Implementasi Algoritme Paralel QS... 6 Perancangan Percobaan... 6 Percobaan... 6 Analisis Kinerja... 6 HASIL DAN PEMBAHASAN Studi Pustaka... 6 Analisis Algoritme Sekuensial QS... 7 Implementasi Algoritme Sekuensial QS... 7 Penerapan Metode Foster pada Algoritme QS... 7 Analisis Algoritme Paralel QS... 8 Implementasi Algoritme Paralel QS... 8 Perancangan Percobaan... 8 v

8 Percobaan... 9 Analisis Kinerja... 9 KESIMPULAN DAN SARAN Kesimpulan Saran DAFTAR PUSTAKA vi

9 DAFTAR TABEL Halaman 1 Hasil Pencarian Residu Kuadrik Hasil Pencarian s i Positif Hasil Pencarian s i Negatif Hasil Faktorisasi s i Bentuk Biner dari Pangkat Faktor s i DAFTAR GAMBAR Halaman 1 Arsitektur distributed memory, multiple-cpu computer Ilustrasi Metode Foster (Quinn 2004) Metode penelitian Hasil metode Foster Waktu eksekusi percobaan Waktu eksekusi percobaan Waktu eksekusi 25 digit Waktu eksekusi 30 digit Waktu eksekusi 35 digit Speed up 25 digit Speed up 30 digit Speed up 35 digit Efisiensi 25 digit Efisiensi 30 digit Efisiensi 35 digit Efisiensi rata-rata Cost dan overhead 25 digit Cost dan overhead 30 digit Cost dan overhead 35 digit Cost dan overhead rata-rata DAFTAR LAMPIRAN Halaman 1 Langkah-langkah penyelesaian kasus dan analisis algoritme QS Penurunan fungsi waktu eksekusi algoritme QS Hasil percobaan vii

10 1 Latar Belakang PENDAHULUAN Masalah dalam memfaktorisasi bilangan komposit telah membingungkan para ahli matematika selama lebih dari dua milenium (West 2007). Selain membutuhkan ketelitian yang tinggi hal tersebut juga membutuhkan waktu yang sangat lama bila memfaktorisasi bilangan komposit berdigit banyak. Pada masa kini faktorisasi bilangan komposit berdigit banyak dijadikan ajang kompetisi dengan hadiah utama sebesar $200,000. Kompetisi ini diselenggarakan oleh RSA Laboratories dan terus berlangsung hingga sekarang. Salah satu algoritme untuk memfaktorisasi bilangan komposit adalah algoritme penyaring kuadrik atau lebih sering dikenal dengan quadratic sieve (QS). Algoritme ini diperkenalkan oleh Carl Pomerance pada tahun Algoritme QS sangat tepat jika digunakan untuk memfaktorisasi bilangan komposit yang berukuran lebih sedikit dari 100 digit desimal (Pomerance 1996). Menurut hasil pembandingan Pomerance pada tahun 1996 dan beberapa penelitian lainnya algoritme ini adalah yang tercepat dalam memfaktorisasi bilangan komposit yang berukuran lebih kecil dari 100 digit desimal. Meskipun tercepat menurut hasil penelitian West pada tahun 2007 dalam tesisnya menyebutkan bahwa untuk memfaktorisasi bilangan komposit berukuran 70 digit saja membutuhkan waktu lebih dari detik atau sekitar 9 jam jika dilakukan secara sekuensial. Salah satu metode untuk mempercepat waktu eksekusi adalah dengan menggunakan pemrosesan paralel yang bisa diterapkan secara distributed memory (tiap prosesor memiliki memorinya masing-masing), shared memory (tiap prosesor menggunakan sebuah memori secara bersama-sama), dan hybrid (distributed shared memory). Pada penelitian ini diterapkan pemrosesan paralel terhadap proses memfaktorisasi bilangan komposit menggunakan algoritme QS dengan distributed memory. Pemrosesan paralel yang digunakan adalah dengan cara domain decomposition dan functional decomposition. Tujuan Penelitian Tujuan dari penelitian ini adalah : 1. Menganalisis kompleksitas algoritme QS secara sekuensial maupun paralel. 2. Mengimplementasikan algoritme QS secara sekuensial dan paralel pada komputer menggunakan bahasa C dengan library MPI dan GMP. 3. Menganalisis kinerja algoritme QS secara sekuensial dan paralel dengan menghitung waktu eksekusi, speed up, efisiensi, cost, dan overhead. Ruang Lingkup Penelitian Analisis teori, analisis algoritme, analisis uji perbandingan, dan implementasi algoritme penyaring kuadrik dibatasi untuk panjang bilangan komposit yang difaktorisasi adalah 25, 30, dan 35 serta jumlah proses yang dibangkitkan adalah 1, 2, 3, dan 4. Analisis performance metrics dibatasi pada waktu eksekusi, speed up, efisiensi, cost, dan overhead. Bahasa pemrograman yang digunakan adalah C dengan library tambahan MPI dan GMP. TINJAUAN PUSTAKA Prima dan Bilangan Komposit Prima adalah suatu bilangan Intejer p 2 jika bilangan tersebut hanya dapat dibagi oleh 1 dan p. Intejer positif yang bukan prima disebut bilangan komposit (Crandall & Pomerance 2005). Teorema Dasar Aritmatika (TDA) Teorema dasar aritmatika berbunyi, "Setiap intejer N > 1 dapat dituliskan sebagai hasil kali beberapa bilangan prima. N = p 1 a 1 p 2 a 2 p k a k dengan a i adalah intejer dan p i bilangan prima, untuk i = 1, 2,,k" (Crandall & Pomerance 2005). Subeksponensial Subeksponensial yaitu suatu algoritme eksponensial yang memiliki kompleksitas n o(1) atau pertumbuhannya seolah-olah seperti pertumbuhan polinomial berderajat tinggi serta kompleksitas ini adalah yang terkecil dalam algoritme faktorisasi (Crandall & Pomerance 2005). Faktorisasi Fermat Ide dasar algoritme Fermat untuk faktorisasi N adalah sebagai berikut. Jika N dapat dinyatakan N = x 2 - y 2, maka (x + y) dan (x - y) adalah faktor dari N. Ketika (x - y) > 1, maka N dikatakan mempunyai faktor non-trivial. Selanjutnya, jika N ganjil dan N = ab maka bentuk N = x 2 - y 2 dijamin tercapai dengan x = a + b 2 dan y = a + b (Guritman 2010). 2

11 2 Metode Kraitchik dan Dixon Metode Kraitchik dan Dixon adalah perkembangan dari metode Fermat namun metode ini telah melakukan penyaringan sehingga pencarian menjadi lebih singkat (Guritman 2010). Proses yang dilakukan pada metode ini sama dengan metode penyaring kuadrik dasar, tetapi terdapat beberapa perbedaan yang di antaranya adalah: ketika membuat barisan prima batas nilai prima terbesar B didefinisikan sendiri, prima yang dibangkitkan tidaklah harus residu kuadrik, serta total penyaringan tidak ditetapkan sehingga pencarian dilakukan sejumlah yang diharapkan. Oleh karena itu algoritme penyaring kuadrik menyelesaikan kekurangan algoritme ini. Faktor Basis Faktor basis adalah suatu himpunan bilangan prima yang berbeda yang lebih kecil atau sama dengan dari suatu nilai basis B atau dapat dinotasikan sebagai F={p p prima dan p B} (Guritman 2010). Least Absolute Residue Suatu bilangan b dikatakan least absolute residue dari bilangan a modulus n, dimana n adalah bilangan ganjil jika a b (mod n) dan - n B-smooth < b n (Crandall & Pomerance 2005). Suatu nilai b dikatakan smooth apabila pada b 2 t (mod n) bilangan t merupakan least absolute residue modulus n dan t = h α p i i=1 i dimana B = {p 1,p 2,,p h } adalah faktor basis dan α i > 0, untuk setiap i (Crandall & Pomerance 2005). Prima Relatif Jika GCD(a,b) = 1 maka bilangan bulat a dan b adalah bilangan prima relatif (Junaedi 1997). Bilangan a dan b tidaklah harus keduanya prima atau salah satunya. Contoh: 22 dan 15 adalah prima relatif namun 19 dan 57 serta 7 dan -7 bukan prima relatif karena hasil GCD(a,b) 1. Residu Kuadrik Untuk bilangan prima relatif a dan m dengan m positif, bilangan a adalah residu kuadrik (mod m) jika dan hanya jika x 2 a(mod m) memiliki penyelesaian untuk bilangan bulat x (Crandall & Pomerance 2005). Jika tidak memiliki penyelesaian maka a adalah residu nonkuadrik (mod m). Contoh: 30 adalah residu kuadrik terhadap 7 karena memiliki penyelesain yaitu 3 dan 4 sehingga (mod 7) atau (mod 7). Selain itu setiap bilangan ganjil adalah residu kuadrik terhadap 2 karena pasti memiliki solusi yaitu 1. Bergantung Linear Vektor-vektor v 1,v 2,,v n dalam ruang vektor V adalah bergantung linear jika terdapat skalar-skalar c 1,c 2,,c n yang tidak semuanya nol sehingga c 1 v 1 +c 2 v 2 + +c n v n = 0. Contoh: misalkan x = (1,2,3) T. Vektor-vektor e 1, e 2, e 3, x adalah bergantung linear karena e 1 + 2e 2 + 3e 3 - x = 0. Dalam hal ini c 1 =1, c 2 =2, c 3 =3, c 4 = -1 (Leon 2001). Penyaring Kuadrik (QS) Penyaring kuadrik adalah algoritme faktorisasi bilangan komposit modern yang memiliki kecepatan subeksponensial. Algoritme ini memungkinkan untuk memfaktorisasi lebih dari 50 digit yang algoritme sebelumnya hanya mampu memfaktorisasi hingga 20 digit. Penyaringan kuadrik memiliki beberapa variasi di antaranya adalah : 1. Basic QS 2. Fast matrix methods 3. Large prime variation 4. Multiple polynomials 5. Self initialization 6. Zhang s special QS (Crandall & Pomerance 2005). Penyaring Kuadrik Dasar (Basic QS) Ide dasar metode ini sama dengan metode Kraitchik dan Dixon yang merupakan pengembangan dari metode Fermat, yang akan menjadi penekanan di sini adalah pengoptimalan pada metode penyaringan. Hal ini terkait dengan: 1. Memilih nilai B yang cukup optimal. 2. Memilih barisan prima p 1 < p 2 < < p k B yang bisa mempercepat proses penyaringan. 3. Menentukan barisan pelacakan x 1, x 2,, x n sehingga memperbesar probabilitas bahwa semua faktor prima dari s i = x i 2 mod N berada dalam F = p 1 < p 2 < < p k. Dalam hal ini s i disebut B-smooth. Secara umum langkah-langkah dari semua metode QS didasari dari metode basic QS. Pada metode lain biasanya hanya merubah bagianbagian tertentu saja misalkan pada MP-QS, metode ini merubah bentuk polinomial pada proses penyaringan dan aljabar linear. Adapun langkah-langkah metode basic QS adalah:

12 3 1. Inisialisasi a. Tentukan nilai B B ~ L(N) di mana L N = e. b. Tentukan himpunan F = p p prima, p B, N p =1. 2. Penyaringan 2 a. Saring barisan s i = x i - N untuk x 0 = N dan x 1 = x i atau x 1 = x i-1-1 yang memenuhi s i merupakan B- smooth. Jika mencari s i yang negatif, haruslah F = F {-1} yang terkait dengan formulasi vektor binernya. b. Dapatkan sebanyak ( F +c) hasil saringan pasang (x i,s i ) dan dihimpun ke dalam himpunan S. Catatan bahwa nilai c adalah integer positif kecil (misalkan c = 2 tergantung besarnya N). Nilai c digunakan untuk mengantisipasi terjadinya kegagalan faktorisasi pada langkah terakhir. 3. Kalkulasi Aljabar Linear a. Untuk setiap x,s S, nyatakan s dalam representasi TDA s = dengan p F secara terurut. b. Dari setiap representasi TDA dari s, definisikan vektor biner v s = [σ p mod 2] dengan panjang F bit. Catatan bahwa jika -1 F, maka bit pertama dari v s adalah 0 ketika s > 0 dan 1 ketika s < 0. c. Dari sebanyak S = F + c vektor biner definisikan matrik A berukuran S F. d. Dari matriks A, dengan metode aljabar linear, pilih r vektor yang bergantung linear dan himpunan anggota-anggota S yang terkait yaitu H = x i1,s i1, x i2,s i2,, x ir,s ir. 4. Faktorisasi a. Dari himpunan H, hitung X = Y = r k=1 x ik mod N dan r s ik k=1 mod N. p σ(p) p b. Hitung g = GCD(X-Y,N). c. Jika 1 < g < N, maka g adalah faktor dari N. Jika g = 1 atau g = N, faktorisasi gagal. Catatan bahwa dalam kasus gagal, bisa kembali ke Langkah- 3 untuk mencari r vektor bergantung linear yang lain. Jika A tidak memuat himpunan vektor yang bergantung linear, maka nilai B atau c harus diperbesar (Crandall & Pomerance 2005). Contoh penyelesaian suatu kasus menggunakan algoritme penyaring kuadrik dasar (QS) dipaparkan dalam Lampiran 1 beserta analisis kompleksitasnya. Pemrograman Paralel Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah atau operasi secara bersamaan (Jordan & Alaghband 2006). Algoritme paralel adalah sebuah urutan yang memberi tahu bagaimana cara untuk memecahkan suatu masalah menggunakan beberapa prosesor. Algoritme ini mencakup identifikasi bagian dari pekerjaan bersama ke dalam proses yang berjalan secara paralel, pengaturan akses data yang dibagi ke beberapa prosesor, pendistribusian input, output, dan data yang terkait dengan program serta koordinasi proses di berbagai tahapan pelaksanaan program paralel (Grama et al. 2003). Arsitektur Komputer Paralel Arsitektur komputer multiprocessors secara umum terbagi menjadi dua berdasarkan pemakaian memori utamanya, yaitu centralized multiprocessors atau biasa disebut juga shared memory dan distributed multicomputer atau distributed memory (Quinn 2004). Dari sebuah pandangan pemrograman, pada zaman sekarang setiap komputer pribadi memiliki lebih dari satu memori sehingga memori dan prosesor dikelompokkan bersama dan melahirkan suatu pendekatan terhadap arsitektur komputer paralel, pendekatan ini dikenal sebagai distributed shared memory (Wilkinson & Allen 2010). Distributed Memory Gambar 1 Arsitektur distributed memory, multiple-cpu computer Sistem paralel komputer disebut distributed multicomputer atau distributed memory karena komputer-komputer saling terhubung melalui suatu interkoneksi jaringan di mana memori

13 4 utama terdistribusi ke semua prosesor dan tiap prosesor memisahkan ruang alamat lokalnya (Quinn 2004). Ilustrasi arsitektur distributed memory dapat dilihat pada Gambar 1. Metode Foster Ian Foster mengemukakan empat langkah metode desain sistem paralel yang dimulai dari pembagian data ke dalam beberapa bagian, menentukan komunikasi antar bagian, mengelompokkan bagian yang memiliki komunikasi intensif dengan bagian lain, dan memetakan kelompok tersebut ke sejumlah prosesor yang ada. Empat tahapan desain tersebut adalah partitioning, communication, agglomeration, dan mapping (Quinn 2004). Ilustrasi metode Foster dapat dilihat pada Gambar 2. Gambar 2 Ilustrasi Metode Foster (Quinn 2004) a. Partisi (Partitioning) Partisi adalah suatu proses pembagian komputasi dan data ke dalam beberapa bagian. Ada dua cara untuk melakukan partisi, yaitu domain decomposition dan functional decomposition. Domain decomposition adalah pendekatan model algoritme paralel yang melakukan pembagian data menjadi beberapa bagian terlebih dahulu, kemudian menentukan bagaimana mengasosiasikan komputasi dengan data tersebut. Sedangkan functional decomposition melakukan pembagian komputasi terlebih dahulu (Quinn 2004). b. Komunikasi (Communication) Setelah melakukan partisi maka yang harus dilakukan adalah membuat suatu skema komunikasi antar bagian tersebut. Ada dua jenis komunikasi yang digunakan yaitu local communication dan global communication. Local communication adalah membuat saluran antar task ketika ada task yang membutuhkan nilai dari task lainnya. Global communication terjadi ketika ada primitif task dengan jumlah yang signifikan menyumbangkan data untuk menunjukkan proses komputasi (Quinn 2004). c. Aglomerasi (Agglomeration) Aglomerasi adalah proses pengelompokkan task ke dalam task yang lebih besar guna meningkatkan kinerja program maupun menyederhanakan program (Quinn 2004). d. Pemetaan (Mapping) Pemetaan adalah proses penugasan task ke prosesor. Tujuan dari pemetaan adalah memaksimalkan kemampuan prosesor dan meminimalkan komunikasi antar prosesor (Quinn 2004). GMP GMP adalah library gratis untuk presisi aritmatika, operasi pada bilangan bulat bertanda, bilangan rasional, dan bilangan pecahan. Tidak ada batasan praktis untuk presisi kecuali memori yang tersedia pada mesin yang menjalankan GMP. GMP memiliki sangat banyak kumpulan fungsi, dan fungsi tersebut memiliki antarmuka yang sederhana. Message Passing Interface (MPI) MPI adalah sebuah standar library pengenalan dasar pemrograman sistem paralel. MPI dapat digunakan dengan berbagai bahasa pemrograman seperti bahasa C dan Fortran. Operasi utama yang dilakukan oleh standar MPI yaitu: a. Point-to-point Communication MPI point-to-point communication adalah komunikasi antar dua proses. Satu proses bertugas mengirim data atau operasi dan proses lainnya bertugas menerima data atau operasi tersebut. b. Collective Communication MPI collective communication adalah komunikasi dipanggil oleh semua proses dalam communicator dan melibatkan seluruh proses tersebut (Quinn 2004). Blocking dan Nonblocking Communication Pada umumnya setiap fungsi komunikasi pada MPI bersifat blocking communication yang artinya setiap memanggil fungsi komunikasi proses tersebut akan menunggu hingga proses-proses yang melakukan komunikasi selesai berkomunikasi baru bisa melakukan aktivitas lainnya. Selain blocking communication MPI pun menyediakan beberapa fungsi nonblocking communication yaitu fungsi komunikasi yang hanya bersifat inisialisasi saja sehingga setiap proses yang berkomunikasi tidak harus

14 5 menyelesaikan komunikasinya untuk melakukan kegiatan yang lain. Untuk menyelesaikan komunikasi nonblocking, MPI menyediakan fungsi penyelesaian yang bersifat blocking dan nonblocking (Quinn 2004). Communicator Communicator adalah suatu tempat yang merupakan kumpulan proses-proses yang berhubungan dalam suatu komunikasi (Quinn 2004). Performance Metric Performance metrics adalah salah satu cara untuk menganalisis kinerja algoritme paralel (Grama et al. 2003). Beberapa persamaan performance metric yaitu: a. Waktu Eksekusi Waktu eksekusi serial adalah waktu yang dihitung dari awal sampai akhir eksekusi pada komputer sekuensial, dilambangkan dengan T s. Waktu eksekusi paralel adalah waktu yang dihitung ketika komputasi paralel dimulai sampai elemen proses terakhir selesai dieksekusi, dilambangkan dengan T p. b. Speed up Speed up (S) adalah rasio dari waktu yang digunakan untuk menyelesaikan masalah dalam program sekuensial (T s ) terhadap waktu yang diperlukan untuk menyelesaikan masalah yang sama dengan program paralel (T p ). Speed up dirumuskan pada persamaaan berikut: S = Ts Tp. c. Efisiensi Efisiensi (E) adalah rasio antara speed up dengan banyaknya prosesor yang digunakan (p). Efisiensi dirumuskan pada persamaan berikut: E = S p = Ts ptp. d. Cost Cost (C) pada sistem paralel adalah hasil perkalian waktu eksekusi paralel dengan jumlah prosesor yang digunakan. Fungsi cost dirumuskan pada persamaan berikut: C = pt p. e. Overhead Overhead adalah kelebihan dari total waktu yang dibutuhkan oleh semua proses paralel dibandingkan proses sekuensial pada masalah yang sama. Fungsi overhead dirumuskan pada persamaan berikut: T o = pt p - T s. METODE PENELITIAN Penelitian ini akan dikerjakan dalam beberapa tahap. Implementasi algoritme paralel penyaring kuadrik akan menggunakan metode Foster. Tahapan tersebut disesuaikan dengan metode penelitian yang dapat dilihat pada Gambar 3. Studi Pustaka Gambar 3 Metode penelitian Pada tahap ini, kegiatan yang dilakukan adalah mengumpulkan semua informasi yang terkait dengan penelitian. Informasi tersebut didapat dari jurnal, buku, internet, dan artikel yang membahas algoritme QS dan pemrosesan paralel. Analisis Algoritme Sekuensial QS Tahap ini bertujuan untuk mengetahui struktur algoritma, langkah-langkah

15 6 penyelesaian suatu kasus beserta kompleksitas algoritme QS secara sekuensial. Implementasi Algoritme Sekuensial QS Pada tahap ini algoritme sekuensial QS diimplementasikan dengan menggunakan bahasa C dan library tambahan GMP versi Fungsi-fungsi utama yang akan dibuat dalam algoritme ini adalah: 1. Inisialisasi sebagai fungsi pembentukan nilai B, barisan prima yang merupakan kuadratik residual dari nilai N. 2. Penyaringan merupakan fungsi untuk menentukan pasangan barisan yang merupakan nilai smooth dari B. 3. Kalkulasi aljabar linear yaitu untuk menentukan pasangan vektor bergantung linear. 4. Faktorisasi yaitu menentukan apakah hasil dari kalkulasi aljabar linear tersebut memiliki faktor prima dari nilai yang difaktorisasi. Penerapan Metode Foster pada Algoritme QS Pada tahap ini dirancang algoritme QS secara paralel menggunakan metode Foster dengan tahapan partisi, komunikasi, aglomerasi, dan pemetaan. Analisis Algoritme Paralel QS Tahapan ini bertujuan mengetahui kompleksitas algoritme paralel beserta kompleksitas komunikasi dari algoritme QS. Implementasi Algoritme Paralel QS Pada tahap ini algoritme paralel QS diimplementasikan dengan menggunakan bahasa C menggunakan library MPICH2. Implementasi paralel akan dilakukan dengan dua cara yaitu domain decomposition dan functional decomposition. Perancangan Percobaan Tahapan ini menentukan parameterparameter yang dibutuhkan untuk percobaan. Parameter-parameter tersebut antara lain: 1. Perangkat keras dan perangkat lunak. 2. Jumlah digit yang difaktorisasi. 3. Jumlah proses. 4. Performance Metric. Percobaan Dalam percobaan akan dicatat waktu eksekusi proses faktorisasi bilangan komposit dari implementasi algoritme QS secara sekuensial dan paralel. Analisis Kinerja Pada tahap analisis, hasil percobaan sekuensial QS akan ditentukan waktu eksekusinya dan algoritme paralel QS akan ditentukan waktu eksekusi, speed up, cost, efisiensi, dan overhead. HASIL DAN PEMBAHASAN Studi Pustaka Hasil pengumpulan informasi mengenai algoritme QS dan pemrosesan paralel yang terkait tulisan ini telah dicantumkan dalam bab tinjauan pustaka dan beberapa akan dibahas di bab lainnya. Sebelum beranjak pada algoritme QS terlebih dahulu akan dijelaskan mengenai sejarah terbentuknya algoritme QS. Pada awalnya pendahulu algoritme ini adalah Metode Fermat yang memperbaiki algoritme brute force atau yang lebih dikenal dengan trial division. Fermat memiliki pemikiran yaitu pencarian faktorisasi dari perkalian dua buah bilangan prima akan lebih cepat jika dicari dari tengah karena pada umumnya hasil pencarian akan lebih dekat dengan akar nilai tersebut dibandingkan dengan awal nilai. Contoh: 7x11=77. Hasil faktorisasi 77 akan lebih cepat dicari dari akar 77 yaitu 8 dibandingkan dengan mencari dari 1. Jika mencari dari 8 proses pencarian hanya butuh dua kali yaitu 8 dan 7 sedangkan jika dari 1 akan dibutuhkan tujuh kali pencarian. Kompleksitas algoritme ini sama dengan pendahulunya namun bestcase pada algoritme ini adalah worstcase pada algoritme sebelumnya dan sebaliknya. Perbaikan dari Metode Fermat yang berujung pada algoritme QS adalah algoritme Kraitchik dan Dixon. Algoritme ini adalah algoritme pertama yang melakukan penyaringan. Ide dasar dari konsep penyaringan yaitu nilai-nilai pencarian berikutnya merupakan gabungan dari hasil-hasil pencarian sebelumnya. Sehingga untuk mencapai suatu nilai dari hasil faktorisasi, tidaklah harus mencari sampai hasil faktorisasi tersebut. Cukup dengan mengumpulkan nilai-nilai sebelumnya lalu dilakukan perhitungan hingga mendapatkan hasil faktorisasi. Langkah-langkah algoritme ini identik dengan algoritme QS namun algoritme ini memiliki beberapa kekurangan seperti yang tertera pada tinjauan pustaka dan algoritme QS menutup kekurangan tersebut.

16 7 Analisis Algoritme Sekuensial QS Pada dasarnya algoritme basic QS memiliki harapan waktu eksekusi L(N) 1+o(N), dimana L(N) = e. Persamaan tersebut didapatkan dari hasil turunan kecepatan ketika memilih B saat proses inisialisasi. Kompleksitas dari algoritme ini yaitu n o(1) dimana kompleksitas tersebut adalah turunan dari hasil waktu eksekusi tersebut. Adapun proses penurunan waktu eksekusi tertera pada Lampiran 2. Secara rinci penjelasan kompleksitas algoritme sekuensial QS yang dibuat pada tulisan ini dilampirkan pada Lampiran 1 bersamaan dengan langkah-langkah penyelesaian menggunakan algoritme QS. Adapun hasil pemaparan dari kompleksitas algoritme penyaring kuadrik dasar (QS) adalah O(e ) yang artinya sebanyak-banyaknya pencarian pada algoritme QS adalah sebesar e. Implementasi Algoritme Sekuensial QS Implementasi dari algoritme QS tahapannya dilakukan indentik dengan langkah-langkah penyelesaian yang ada pada tulisan ini. Terdapat sedikit perbedaan yang bertujuan memperkecil kompleksitas dari tahapan tersebut. Perbedaan pada setiap tahapannya akan dijelaskan bersamaan dengan kompleksitas dari tahapan-tahapan tersebut dalam implementasinya. Catatan kompleksitas pada setiap tahapan sama secara big O. Adapun perbedaan tersebut adalah 1. Inisialisasi Perbedaan pertama yaitu fungsi ini dibagi menjadi 2 bagian dengan nama inisialisasi untuk segala perhitungan yang bersifat konstan dan compute_fb untuk membentuk faktor basis. Perbedaan kedua yaitu tidak ada perhitungan B sebagai batas namun langsung menghitung jumlah residu B ln B. kuadrik yang lebih kecil dari B yaitu Faktor basis dibentuk dari sebuah fungsi pada library GMP yaitu mpz_legendre B sejumlah. Hal tersebut tidak ln B mempengaruhi kompleksitas sebelumnya karena fungsi yang dibuat pada akhirnya seolah-olah tetap mecari anggota faktor basis yang besarannya kurang dari B. Perbedaan lainnya yaitu setiap anggota faktor basis langsung dikalikan pada tahap inisialisasi. Sehingga kompleksitas tahap ini menjadi k+3e e Penyaringan Dalam implementasinya fungsi ini diberi nama saring. Perbedaannya adalah nilai z yang dipakai adalah 4. Proses pengalian anggota faktor basis telah dilakukan pada tahap inisialisasi. Proses pembuatan matriks pangkat yang seharusnya terjadi pada tahap 3 dipindahkan ke tahap ini yang bertujuan untuk optimasi pengerjaan secara paralel sehingga kompleksitasnya menjadi 1 k+15e + 64e Kalkulasi aljabar linear Fungsi ini diberi nama alin_biner. Perbedaan dalam implementasinya yaitu pada tahap ini hanya melakukan operasi biner untuk mendapatkan vektor-vektor yang bergantung linear sehingga 4e komplesitasnya adalah k+. 4. Fakorisasi Secara garis besar, fungsi ini tidak mengalami perubahan sehingga 1 kompleksitasnya adalah k + 4e 2. Jadi kompleksitas keseluruhan program sekuensial yang dibuat adalah 1 K+ 70e 2 +3e e. +15e Penerapan Metode Foster pada Algoritme QS Dalam algoritme QS proses harus dilakukan secara bertahap sehingga partisi yang optimal dilakukan adalah domain decomposition. Tahap yang paling optimal untuk dipartisi yaitu tahap penyaringan karena memiliki kompleksitas paling besar. Pada tulisan ini tidak dimungkinkan melakukan partisi secara domain decomposition pada tahap lainnya karena menggunakan fungsi-fungsi standar dari library GMP sehingga tahap lain selain penyaringan harus dilakukan secara utuh. Pada tulisan ini karena partisi domain decomposition hanya bisa dilakukan pada tahap penyaringan maka akan dilakukan juga functional decomposition terhadap tahap penyaringan dengan tahap berikutnya sehingga jika menggunakan dua proses, proses pertama akan melakukan setiap tahap kecuali tahap penyaringan dan proses kedua hanya melakukan tahap inisialisasi dan penyaringan. Jika dikerjakan menggunakan lebih dari dua proses maka proses pertama akan melakukan setiap tahap kecuali tahap penyaringan dan proses lainnya melakukan tahap inisialisasi serta akan melakukan domain decomposition pada tahap

17 8 penyaringan. Ilustrasi pembagian pekerjaan pada setiap proses dapat dilihat pada Gambar 4. Gambar 4 Hasil metode Foster Analisis Algoritme Paralel QS Dari hasil penerapan metode Foster kompleksitas akan mengecil jika proses yang dibentuk lebih dari dua. Karena jika proses yang dibentuk hanya dua yang terjadi hanyalah perpindahan data dari proses dua ke proses satu sehingga hanya menambah kompleksitas yaitu komunikasi. Jadi kompleksitas algoritme QS secara paralel yang ideal adalah K+ 70e1 2 +3e1 2 4e e P-1 +c dimana P adalah jumlah proses dan c adalah komunikasi. Komunikasi yang digunakan dalam tulisan ini adalah pengiriman suatu nilai dari setiap proses ke proses 1. Adapun biaya saat melakukan komunikasi data adalah y B dimana y adalah jumlah data dalam byte dan B adalah bandwidth atau kecepatan pengiriman data antar proses yang dinotasikan dalam byte/detik. Perhitungan bandwidth berbeda-beda bergantung pada arsitektur paralel yang digunakan. Jika menggunakan arsitektur 1 komputer dengan banyak prosesor maka bandwidth adalah kecepatan pengiriman data antar prosesor melalui RAM. Jika menggunakan arsitektur banyak komputer maka bandwidth adalah kecepatan pengiriman data antar komputer yang bisa berupa kecepatan kabel LAN, wireless, atau internet. Pada tulisan ini jumlah data yang dikirimkan adalah log 10 N byte karena data yang dikirimkan merupakan sebuah string dengan panjang log 10 N. Proses pengiriman dilakukan sebanyak e kali karena pengiriman dilakukan hanya ketika nilai smooth ditemukan. Komunikasi lain yang dilakukan adalah pengiriman sebuah bilangan bulat dari proses 1 ke proses lainnya sebagai bentuk bahwa pencarian telah selesai sehingga proses lain dapat menghentikan pekerjaannya. Komunikasi ini dilakukan sebanyak P-1 pengulangan. Dalam implementasi yang dilakukan, sebuah bilangan bulat berukuran 4 byte sehingga total kompleksitas komunikasi dari algoritme ini adalah c = e log 10 N+4(P-1) B Implementasi Algoritme Paralel QS Dalam implementasinya domain decomposition yang dilakukan bersifat round robin yang artinya setiap data dibagikan secara bergantian pada setiap proses. Contoh: jika ada 5 data {d1,d2,d3,d4,d5} dan 2 proses {p1,p2} secara round robin data akan dibagi menjadi {d1,d3,d5} untuk p1 dan {d2,d4} untuk p2. Terdapat pekerjaan tambahan saat terjadi komunikasi yaitu proses perubahan tipe data dari bilangan besar ke string dan dari string ke bilangan besar serta pengecekan pengiriman. Terjadi pengurangan pekerjaan yaitu pada saat pembentukan matriks pangkat karena dibuat bersamaan dengan pencarian nilai smooth. Karena proses mencari nilai smooth lebih lama dibandingkan pembentukan matriks pangkat maka nilai kompleksitas mencari matriks pangkat terbuang. Sehingga kompleksitas implementasi algoritme QS secara paralel adalah K+3e 1 2 4e e P-1 + e log 10 N+4(P-1) B dalam kompleksitas tersebut dapat ditafsirkan bahwa waktu eksekusi program paralel akan naik jika hanya menggunakan dua proses dibandingkan dengan implementasi secara sekuensial. Perancangan Percobaan Percobaan penelitian akan dilakukan dalam lingkungan sebagai berikut: a. Satu komputer quad core. b. Prosesor Intel Core i7-3610qm. c. Kecepatan prosesor 2.3GHz hingga 3.3GHz..

18 9 d. RAM 8192 MBytes. e. Kecepatan RAM 667 MHz. f. Sistem operasi Windows 7 64bit Professional Edition. g. Aplikasi yang dibutuhkan untuk menjalankan program: MPICH2, compiler bahasa pemrograman C dengan library tambahan MPI dan GMP. Proses percobaan akan dibagi menjadi dua bagian yaitu percobaan sistem secara keseluruhan yang kemudian akan dibandingkan antara sekuensial dengan paralel dan percobaan sistem pada tahap penyaringan yang dilakukan dengan cara domain decomposition. Pada percobaan pertama parameterparameter yang digunakan adalah 1. Jumlah digit yang difaktorisasi adalah 25, 30, dan 35 digit. 2. Jumlah proses yang dibangkitkan adalah 1, 2, 3 dan Performance metric yang dihitung adalah waktu eksekusi, speed up, cost, efisiensi, dan overhead. Pada percobaan kedua parameter-parameter yang digunakan adalah 1. Jumlah digit yang difaktorisasi adalah 25, 30, dan 35 digit. 2. Jumlah proses yang digunakan saat melakukan penyaringan adalah 1, 2, dan Performance metric yang dihitung adalah waktu eksekusi, speed up, cost, efisiensi, dan overhead. Percobaan Data yang digunakan dalam penelitian ini adalah bilangan bulat positif berukuran besar yang dibentuk dari suatu aplikasi matematika untuk membentuk bilangan bulat prima berukuran besar secara acak. Data-data tersebut adalah sebagai data 25 digit yang merupakan bentuk perkalian dari x , sebagai data 30 digit yang merupakan bentuk perkalian dari x , dan data yang berukuran 35 digit adalah sebagai bentuk dari hasil perkalian x Percobaan dibagi menjadi 2 jenis. Jenis percobaan 1 yaitu waktu eksekusi keseluruhan tahap sampai mendapatkan hasil yang dilakukan dengan cara functional decomposition serta domain decomposition. Percobaan 2 yaitu waktu eksekusi pada tahap penyaringan yang dilakukan dengan cara domain decomposition. Data hasil percobaan dapat dilihat pada Lampiran 3. Analisis Kinerja Hasil dari percobaan adalah waktu eksekusi, speed up, efisiensi, cost, dan overhead yang dipaparkan sebagai berikut. Waktu Eksekusi Hasil dari waktu eksekusi percobaan 1 dan 2 dapat dilihat pada Gambar 5 dan 6 serta perbandingan waktu eksekusi 25, 30, dan 35 digit dapat dilihat pada Gambar 7, 8, dan 9. Gambar 5 Waktu eksekusi percobaan 1 Gambar 6 Waktu eksekusi percobaan 2 Dari Gambar 5 dan 6 dapat disimpulkan bahwa semakin tinggi jumlah digitnya maka waktu eksekusi akan semakin bertambah dan juga sebaliknya semakin banyak proses yang di bentuk maka waktu eksekusi akan semakin berkurang. Gambar 7 Waktu eksekusi 25 digit

19 10 Gambar 8 Waktu eksekusi 30 digit Gambar 10 Speed up 25 digit Gambar 9 Waktu eksekusi 35 digit Pada percobaan 1 terlihat bahwa waktu eksekusi menggunakan 2 proses lebih lambat dibandingkan dengan 1 proses atau sekuensial. Hal ini dikarenakan jika menggunakan 2 proses, yang terjadi adalah paralelisasi dengan cara functional decomposition yang kompleksitasnya lebih tinggi dibandingkan dengan sekuensial. Pangkat tertinggi dari kompleksitas sekuensial adalah 15e sedangkan pada implementasi paralel adalah 17e P-1 dan jika jumlah proses = 2 menjadi 17e. Walaupun demikian kenaikan waktu eksekusi tidak begitu signifikan karena terjadi pengurangan waktu eksekusi yaitu ketika membuat matriks pangkat dari nilai smooth. Speed Up Speed up merupakan percepatan yang terjadi ketika ada penambahan proses. Hal ini dapat dihitung dari perbandingan waktu sekuensial dan paralel. Hasil speed up dari eksekusi data 25, 30, dan 35 digit dapat dilihat pada Gambar 10, 11, dan 12. Dari Gambar 10, 11, dan 12 dapat disimpulkan bahwa speed up yang terjadi pada percobaan 2 sudah baik karena sudah mendekati sejumlah proses yang dibentuk namun pada percobaan 1 kurang baik karena terdapat functional decomposition sehingga 1 proses menganggur dan mengakibatkan penurunan kecepatan yang signifikan. Efisiensi Gambar 11 Speed up 30 digit Gambar 12 Speed up 35 digit Efisiensi merupakan dasar penilaian terhadap kelayakan suatu pekerjaan dilakukan secara paralel. Hasil perhitungan efisiensi dari eksekusi data 25, 30, dan 35 digit dapat dilihat pada Gambar 13, 14, 15, dan 16. Gambar 13 Efisiensi 25 digit

20 11 Gambar 14 Efisiensi 30 digit efisiensi. Rata-rata dari keseluruhan efisiensi adalah 91.6%. Dengan kata lain proses domain decomposition pada tahap penyaringan algoritme QS 91.6% efisien untuk memfaktorisasi data sampai dengan 35 digit. Cost dan Overhead Hasil perhitungan cost dan overhead dari eksekusi data 25, 30, dan 35 digit dapat dilihat pada Gambar 17, 18, 19, dan 20. Gambar 17 Cost dan overhead 25 digit Gambar 15 Efisiensi 35 digit Dari Gambar 13,14, dan 15 terlihat bahwa efisiensi dari percobaan 1 kurang baik hal ini dikarenakan algoritme QS harus dilakukan dengan cara bertahap. Karena percobaan 1 mengandung functional decomposition maka akan terjadi pengangguran pada sebuah proses. Sehingga dapat disimpulkan bahwa algoritme QS kurang baik jika dilakukan dengan cara functional decomposition. Gambar 18 Cost dan overhead 30 digit Gambar 16 Efisiensi rata-rata Dari Gambar 16 dapat terlihat bahwa efisiensi rata-rata percobaan 2 sudah baik karena berada di atas 87% sehingga dapat disimpulkan bahwa algoritme QS baik jika dilakukan domain decomposition dalam tahap penyaringan. Selain itu dapat disimpulkan juga bahwa pada algoritme QS efisiensi akan semakin berkurang seiring bertambahnya suatu nilai. Hal ini dikarenakan semakin besar data yang dieksekusi maka akan semakin banyak komunikasi yang terjadi sehingga mengurangi Gambar 19 Cost dan overhead 35 digit Cost adalah total keseluruhan waktu pada seluruh proses. Nilai cost yang baik adalah sama dengan waktu sekuensial. Sedangkan overhead adalah selisih nilai cost dengan waktu sekuensial. Overhead merupakan bentuk kelebihan waktu total keseluruhan proses dalam paralel terhadap waktu sekuensialnya. Dari Gambar 20 terlihat bahwa semakin besar datanya maka cost dan overhead yang

21 12 dihasilkan juga semakin besar. Hal ini dikarenakan semakin besar data yang dieksekusi maka akan semakin banyak komunikasi yang terjadi. Hal ini dapat dilihat dari kompleksitas komunikasi dari algoritme ini e log 10 N+4(P-1) adalah yang berarti B komunikasi akan tumbuh seiring dengan pertumbuhan N sehingga waktu eksekusi akan semakin bertambah yang menyebabkan cost akan semakin tinggi dan overhead juga akan bertambah sebagai imbas dari kenaikan cost. Saran bertambahnya N sehingga menyebabkan nilai cost dan overhead akan semakin besar jika data semakin besar. Saran untuk penelitian lebih lanjut: 1. Pada penelitian selanjutnya dapat dikembangkan menggunakan varian lain dari algoritme QS dalam memfaktorisasi bilangan besar yang memiliki waktu eksekusi jauh lebih cepat dibandingkan basic QS seperti: MP-QS, large prime variation QS, dan lain sebagainya. 2. Pada penelitian selanjutnya dapat menggunakan library lain gabungan antara MPI dan GMP sehingga proses pengiriman data tidak perlu mengubah tipe data terlebih dahulu sehingga kompleksitasnya akan menurun dan waktu eksekusi menjadi lebih cepat. 3. Pada penelitian selanjutnya dapat dikembangkan pemrograman paralel pada algoritme QS menggunakan shared memory atau gabungan MPI dan shared memory. DAFTAR PUSTAKA Crandall R, Pemorance C Prime Number a Computational Perspective. Ed ke-2. New York: Springer. Gambar 20 Cost dan overhead rata-rata KESIMPULAN DAN SARAN Kesimpulan Dari hasil penelitian ini dapat diambil kesimpulan sebagai berikut: 1. Kompleksitas algoritme QS secara sekuensial adalah O(e ) sedangkan kompleksitas paralelnya adalah O e P di mana P adalah jumlah proses. 2. Algoritme QS kurang baik jika menggunakan functional decomposition, namun baik dengan menggunakan domain decompositon pada tahap penyaringan dengan efisiensi rata-rata sebesar 91.6% untuk besar data yang difaktorisasi kurang dari sama dengan 35 digit. 3. Kompleksitas komunikasi dari hasil implementasi paralel algoritme QS adalah e log 10 N+4(P-1) yang berarti banyak B komunikasi akan tumbuh seiring Grama A, Gupta A, Karypis G, Kumar V Introduction to Parallel Computing. Harlow: Addison-Wesley. Guritman S Faktorisasi dan Logaritme Diskret. Bogor: IPB Press. Jordan H, Alaghband G Fundamentals of Parallel Processing. New Jersey: Prentice Hall. Junaedi F Analisa algoritma Monte Carlo dalam rancangan kokoh [tesis]. Semarang: Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Diponegoro. Leon SJ Aljabar Linear dan Aplikasinya. Bondan A, penerjemah; Hardani HW, editor. Jakarta: Erlangga. Terjemahan dari: Linear Algebra with Applications. Pomerance C A tale of two sieve. [30 Des 2011].

22 13 Quinn MJ Parallel Programming in C with MPI and OpenMP. San Francisco: McGraw-Hill. West AG Bound optimization for parallel quadratic sieving using large prime variation [tesis]. Virginia: The Faculty of the Departement of Computer Science, Washington and Lee University. Wilkinson B, Allen M Parallel Programming Teknik dan Aplikasi Menggunakan Jaringan Workstation dan Komputer Paralel. Hidayat S, Santosa YB, Hery A, Himamunanto R, penerjemah. Yogyakarta: ANDI. Terjemahan dari: Parallel Programming Techniques and Applications Using Networked Workstation Parallel Computers.

23 LAMPIRAN

24 15 Lampiran 1 Langkah-langkah penyelesaian kasus dan analisis algoritme QS. Secara rinci kompleksitas algoritme sekuensial QS yang dibuat pada tulisan ini akan dijelaskan bersamaan dengan contoh menyelesaikan permasalahan dengan algoritme QS. Contoh: misalkan p = 47 dan q = 103 sehingga N = p x q yaitu Adapun langkah-langkah penyelesaian algoritme QS yaitu: 1. Inisialisasi. Tetapkan B sebagai batas faktor basis dan menentukan barisan prima p sehingga N residu kuadrik terhadap p. B = e 1 2 yaitu 8.4 lalu cari bilangan prima sesuai ketentuan yaitu seperti yang tertera pada Tabel 1. p N (mod p) Residu Kuadrik 2 1 YA 3 2 TIDAK 5 1 YA 7 4 YA Tabel 1 Hasil Pencarian Residu Kuadrik. Sehingga faktor basis yang terbentuk adalah F={2,3,7}. Kompleksitas dari proses inisialisasi yaitu konstan pada menghitung B dan 3e 1 2 untuk pencarian faktor basis. Pada tulisan ini kompleksitas yang dicantumkan adalah kompleksitas perkiraan sesuai yang terlihat oleh kasat mata. Pada kenyataannya kompleksitas mencari p, N (mod p), dan residu kuadrik berbeda-beda sesuai algoritme yang digunakan. Pada tulisan ini perkiraan kompleksitas inisialisasi yaitu k + 3e 1 2 dimana k adalah konstan. 2. Penyaringan. Saring barisan s i = x i 2 N untuk x 0 = N sebanyak F + c dimana c adalah konstan. Pada tulisan ini c = 2. Pemilihan nilai 2 akan dijelaskan pada tahap selanjutnya. Sebenarnya nilai c dapat ditentukan sesuai kebutuhan, namun agar mempermudah pengertian terhadap algoritme ini nilai c dipilih 2, sehingga jumlah nilai s i yang harus disaring adalah 5. Setelah ditemukan sejumlah yang ditentukan, pasangkan x i dengan s i. Nilai s i harus merupakan B- smooth yaitu faktor-faktor pembentuk s i harus berada pada faktor basis. Contoh: 200 merupakan B-smooth karena faktor pembentuk 200 yaitu 2 3 x 5 2. Bilangan 2 dan 5 berada dalam faktor basis sehingga 200 termasuk B-smooth. Contoh berikutnya 488 bukan merupakan B-smooth karena faktor pembentuk 488 yaitu 2 3 x 61. Karena 61 bukan anggota dari faktor basis maka 488 bukan B-smooth. Adapun hasil dari penyaringan yaitu seperti yang tertera pada Tabel 2 dan Tabel 3. i x s i Validasi FALSE TRUE TRUE FALSE FALSE TRUE Tabel 2 Hasil Pencarian s i Positif. i mx s i Validasi TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE Tabel 3 Hasil Pencarian s i Negatif.

25 16 Lampiran 1 Lanjutan Pada tulisan ini cara mencari s i yang B-smooth yaitu mencari 1 yang positif lalu 1 yang negatif. Karena hanya membutuhkan 5 buah s i maka jumlah s i yang dihasilkan yaitu 3 buah positif dan 2 buah negatif. Catatan pencarian s i dapat dilakukan hanya dengan mencari yang positif saja atau negatif saja. Karena algoritme pendahulunya yaitu Metode Fermat hanya mencari ke satu arah dikarenakan jika mencari ke dua arah akan membuat pencarian lebih lama. Berbeda dengan Metode Fermat proses penyaringan ke satu arah pada algoritme QS akan membuat proses penyaringan lebih lama, karena semakin menjauhi N nilai s i yang merupakan B-smooth akan semakin sulit ditemukan. Oleh sebab itu alangkah lebih baik proses penyaringan dilakukan ke dua arah. Pada kasus ini kita hanya perlu mencari 15 kali pencarian. Pada kasus terburuknya menurut Pomerance dan penelitian lainnya kita harus mencari sebanyak e yaitu sebanyak 70 kali pencarian. Dalam kasus ini terlihat e seperti N namun sebenarnya pertumbuhan e lebih lambat dibandingkan dengan N. Menurut hasil penurunan perhitungan jumlah dari F adalah B sebanyak. Proses validasi untuk mengecek s ln B i yang merupakan B-smooth menggunakan algoritme sebagai berikut: a. Kalikan semua bilangan prima yang berada pada faktor basis dan simpan dalam suatu variabel misalkan T. b. Untuk setiap s i lakukan modulasi T (mod s i ) lalu kuadratkan. Lakukan sebanyak z kali. Jika menghasilkan 0 maka s i adalah B-smooth dan sebaliknya (Crandall & Pomerance 2005). Bilangan z adalah bilangan kecil yang merupakan turunan dari B. Bilangan z paling optimal saat ini jika menggunakan penyaringan kuadrik dasar adalah 6 untuk bilangan tertinggi yang layak difaktorisasi. Pada tulisan ini bilangan z yang dipakai adalah 4 karena N tertinggi yang difaktorisasi adalah berjumlah 35 digit. Akan tetapi untuk menghitung kompleksitas akan digunakan z = 6 sebagai bentuk kasus terburuk. Catatan untuk algoritme penyaring kuadrik yang lain z bisa lebih besar dari 6 karena nilai N yang difaktorisasi bisa jauh lebih besar dibandingkan dengan algoritme penyaring kuadrik dasar. Pada kenyataannya z tumbuh sesuai pertumbuhan N namun pertumbuhannya sangatlah lambat. Dengan demikian dapat disimpulkan kompleksitas penyaringan pada algoritme QS adalah k + 2e e + 18e 1 = k + 2e e dimana k adalah segala bentuk perhitungan yang bersifat konstan atau tidak terpengaruh oleh pertumbuhan N. 3. Kalkulasi Aljabar Linear. Dari hasil saringan pasangan x i dan s i faktorkan s i terhadap faktor basis dan buat matriks pangkat dari si. Pangkat dibutuhkan untuk untuk mencari bentuk kuadrat karena s i = x i 2 N kongruen terhadap N = x i 2 s i yang artinya N akan bisa diselesaikan jika s i berbentuk kuadrat. Pada tahap ini akan dilakukan operasi perhitungan terhadap pangkat s i sehingga mendapatkan s i yang berbentuk kuadrat. Adapun hasil faktorisasi seperti yang tertera pada Tabel 4. i si Tabel 4 Hasil Faktorisasi s i.

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian.

AES pipeline yang diharapkan. Implementasinya akan menggunakan prosedur komunikasi MPI point-to-point send-receive untuk aliran proses penyandian. 7 Studi Pustaka Kegiatan yang dilakukan pada tahap ini adalah mengumpulkan semua informasi atau literatur yang terkait dengan penelitian. Informasi tersebut didapat dari buku, internet, dan artikel yang

Lebih terperinci

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel OLEH : SUPRIYANTO (G651090191) OKE HENDRADHY (G651090101) KAMALUDDIN MAHFUDZ (G651090231) DEPARTEMEN

Lebih terperinci

ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR

ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR ANALISIS DAN IMPLEMENTASI ALGORITME ADVANCED ENCRYPTION STANDARD (AES) SECARA PARALEL SAYED ZULFIKAR DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR

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

EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A

EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A EKSPLORASI MASALAH LOGARITMA DISKRET PADA FINITE FIELD ( ) Y A N A SEKOLAH PASCA SARJANA INSTITUT PERTANIAN BOGOR BOGOR 2009 PERNYATAAN MENGENAI TUGAS AKHIR DAN SUMBER INFORMASI Dengan ini saya menyatakan

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

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving Christianto - NIM : 1350003 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Pengantar Teknik Informatika

Pengantar Teknik Informatika Pengantar Teknik Informatika Algoritma dan Kompleksitas Pertemuan Ke-3 Materi E-learning Tanggal : 1 Oleh : Supatman Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta Tahun 2012 Algoritma

Lebih terperinci

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Bilangan prima merupakan suatu hal yang mendasar dan sangat penting dalam bidang matematika secara umum dan teori bilangan secara khusus (Agrawal et al, 2002). Sejak

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB TINJAUAN PUSTAKA.1 Kriptografi Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan

Lebih terperinci

PENGEMBANGAN MODEL SINGLE SIGN-ON UNTUK LAYANAN INTERNET DAN PROXY IPB PRIYO PUJI NUGROHO

PENGEMBANGAN MODEL SINGLE SIGN-ON UNTUK LAYANAN INTERNET DAN PROXY IPB PRIYO PUJI NUGROHO PENGEMBANGAN MODEL SINGLE SIGN-ON UNTUK LAYANAN INTERNET DAN PROXY IPB PRIYO PUJI NUGROHO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012 PENGEMBANGAN

Lebih terperinci

Deskripsi. Buku Ajar 3/1/2010. Pengajar. Materi Kuliah. Materi Kuliah #2. Komputasi Paralel. Kuliah 01: Pendahuluan

Deskripsi. Buku Ajar 3/1/2010. Pengajar. Materi Kuliah. Materi Kuliah #2. Komputasi Paralel. Kuliah 01: Pendahuluan // Komputasi Paralel Kuliah : Pendahuluan Yeni Herdiyeni http://www.cs.ipb.ac.id/~yeni/paralel Departemen Ilmu Komputer IPB Semester Genap Deskripsi Membahas kebutuhan dan klasifikasi mesin paralel (SISD,

Lebih terperinci

STUDI SEJARAH DAN PERKEMBANGAN BILANGAN PRIMA

STUDI SEJARAH DAN PERKEMBANGAN BILANGAN PRIMA STUDI SEJARAH DAN PERKEMBANGAN BILANGAN PRIMA Jansen - NIM : 13506028 Jurusan Teknik Informatika ITB, Bandung email: if16028@students.if.itb.ac.id Abstract Makalah ini membahas tentang perkembangan salah

Lebih terperinci

EVALUASI DETERMINAN MATRIKS REKURSIF DENGAN FAKTORISASI LB RUDIANSYAH

EVALUASI DETERMINAN MATRIKS REKURSIF DENGAN FAKTORISASI LB RUDIANSYAH EVALUASI DETERMINAN MATRIKS REKURSIF DENGAN FAKTORISASI LB RUDIANSYAH DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2007 ABSTRAK RUDIANSYAH. Evaluasi

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

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS

KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS KRIPTOGRAFI KUNCI PUBLIK ALGORITMA ELGAMAL DENGAN METODE THE SIEVE OF ERATOSTHENES UNTUK PEMBANGKITAN BILANGAN PRIMA SKRIPSI SYAUVIKA LUBIS 061401001 PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

Lebih terperinci

PEMFAKTORAN KUNCI RSA DENGAN METODE PENYARINGAN KUADRATIK HERY MULYONO

PEMFAKTORAN KUNCI RSA DENGAN METODE PENYARINGAN KUADRATIK HERY MULYONO PEMFAKTORAN KUNCI RSA DENGAN METODE PENYARINGAN KUADRATIK HERY MULYONO DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012 1 PEMFAKTORAN KUNCI RSA DENGAN

Lebih terperinci

PENYAJIAN SISTEM INFORMASI SPASIAL SUMBER DAYA ALAM DENGAN MENGGUNAKAN FRAMEWORK PMAPPER AMALIA RAHMAWATI G

PENYAJIAN SISTEM INFORMASI SPASIAL SUMBER DAYA ALAM DENGAN MENGGUNAKAN FRAMEWORK PMAPPER AMALIA RAHMAWATI G PENYAJIAN SISTEM INFORMASI SPASIAL SUMBER DAYA ALAM DENGAN MENGGUNAKAN FRAMEWORK PMAPPER AMALIA RAHMAWATI G64103020 DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

MENENTUKAN PRIMALITAS SEMUA BILANGAN YANG TERDAPAT PADA SELANG TERTENTU SECARA BRUTE FORCE

MENENTUKAN PRIMALITAS SEMUA BILANGAN YANG TERDAPAT PADA SELANG TERTENTU SECARA BRUTE FORCE MENENTUKAN PRIMALITAS SEMUA BILANGAN YANG TERDAPAT PADA SELANG TERTENTU SECARA BRUTE FORCE E.Z. Adnan Kashogi 13505094 Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung

Lebih terperinci

ANALISIS KOMPUTASI PARALEL DAN SERIAL PADA ALGORITMA MERGE SORT

ANALISIS KOMPUTASI PARALEL DAN SERIAL PADA ALGORITMA MERGE SORT J. Sains MIPA, April 2018, Vol. 18, No. 1, Hal.: 13-18 ISSN 1978-1873 ANALISIS KOMPUTASI PARALEL DAN SERIAL PADA ALGORITMA MERGE SORT Machudor Yusman, Aristoteles* dan Anie Rose Irawati Jurusan Ilmu Komputer

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

PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI SHELVIE NIDYA NEYMAN

PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI SHELVIE NIDYA NEYMAN PERANCANGAN PROTOKOL PENYEMBUNYIAN INFORMASI TEROTENTIKASI SHELVIE NIDYA NEYMAN SEKOLAH PASCASARJANA INSTITUT PERTANIAN BOGOR BOGOR 2007 PERNYATAAN MENGENAI TESIS DAN SUMBER INFORMASI Dengan ini saya menyatakan

Lebih terperinci

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH 061401090 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS

ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS ANALISIS GRAFOLOGI BERDASARKAN HURUF a DAN t MENGGUNAKAN ALGORITME K-NEAREST NEIGHBOR AMANDA KARATIKA HUBEIS DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

Lebih terperinci

KOMPUTASI PARALEL UNTUK PENGOLAHAN PRESTASI AKADEMIK MAHASISWA

KOMPUTASI PARALEL UNTUK PENGOLAHAN PRESTASI AKADEMIK MAHASISWA KOMPUTASI PARALEL UNTUK PENGOLAHAN PRESTASI AKADEMIK MAHASISWA Andri Lesmana Wanasurya Magister Teknik Elektro Universitas Katolik Indonesia Atma Jaya Jakarta, Indonesia andri.lesmana@atmajaya.ac.id Maria

Lebih terperinci

ANALISIS DAN IMPLEMENTASI MODEL PARALEL HYBRID DENGAN MPI DAN OPENMP PADA METODE CONJUGATE GRADIENT ANGGI HARYO SAKSONO

ANALISIS DAN IMPLEMENTASI MODEL PARALEL HYBRID DENGAN MPI DAN OPENMP PADA METODE CONJUGATE GRADIENT ANGGI HARYO SAKSONO ANALISIS DAN IMPLEMENTASI MODEL PARALEL HYBRID DENGAN MPI DAN OPENMP PADA METODE CONJUGATE GRADIENT ANGGI HARYO SAKSONO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN

Lebih terperinci

BAB I PENDAHULUAN. seiring perkembangan teknologi mikroprosesor, proses komputasi kini dapat

BAB I PENDAHULUAN. seiring perkembangan teknologi mikroprosesor, proses komputasi kini dapat BAB I PENDAHULUAN I.1 Latar Belakang Proses komputasi yang dapat dilakukan oleh komputer telah berkembang dengan pesat. Pada awalnya proses komputasi hanya dapat dilakukan secara sekuensial saja. Sebuah

Lebih terperinci

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya

Algoritma Kriptografi Kunci Publik. Dengan Menggunakan Prinsip Binary tree. Dan Implementasinya Algoritma Kriptografi Kunci Publik Dengan Menggunakan Prinsip Binary tree Dan Implementasinya Hengky Budiman NIM : 13505122 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10,

Lebih terperinci

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara

BAB 2 LANDASAN TEORI. Universitas Sumatera Utara 5 BAB 2 LANDASAN TEORI 2.1 Kriptografi Kriptografi adalah ilmu yang mempelajari bagaimana mengirim pesan secara rahasia sehingga hanya orang yang dituju saja yang dapat membaca pesan rahasia tersebut.

Lebih terperinci

ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI

ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI ANALISIS DAN PERBANDINGAN PENGGUNAAN METODE PEMBANGKITAN BILANGAN PRIMA FERMAT DAN LUCAS-LEHMER DALAM KRIPTOGRAFI ELGAMAL SKRIPSI RATNANINGTYAS YOGA WIJAYANTI 081401011 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN

Lebih terperinci

BAB IV PENGUJIAN DAN ANALISIS

BAB IV PENGUJIAN DAN ANALISIS BAB IV PENGUJIAN DAN ANALISIS Pada bab ini akan dijelaskan tentang pengujian dari masing masing metode computing dan juga analisa dari hasil pengujian tersebut. Pengujian dilakukan pada waktu proses dengan

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH PENGOLAHAN PARALEL (S1/ TEKNIK KOMPUTER)

SATUAN ACARA PERKULIAHAN MATA KULIAH PENGOLAHAN PARALEL (S1/ TEKNIK KOMPUTER) SATUAN ACARA PERKULIAHAN MATA KULIAH PENGOLAHAN PARALEL (S1/ TEKNIK KOMPUTER) Minggu Media Tugas Referensi 1 Pendahuluan butuhan akan komputer paralel Quinn, Agar mahasiswa mengerti akan apa yang dimaksud

Lebih terperinci

Organisasi & Arsitektur. Komputer. Org & Ars komp Klasifikasi Ars Komp Repr Data

Organisasi & Arsitektur. Komputer. Org & Ars komp Klasifikasi Ars Komp Repr Data Organisasi & Arsitektur Komputer Org & Ars komp Klasifikasi Ars Komp Repr Data Organisasi berkaitan dengan fungsi dan desain bagianbagian sistem komputer digital yang menerima, menyimpan dan mengolah informasi.

Lebih terperinci

UJI DAN APLIKASI KOMPUTASI PARALEL PADA JARINGAN SYARAF PROBABILISTIK (PNN) UNTUK PROSES KLASIFIKASI MUTU BUAH TOMAT SEGAR

UJI DAN APLIKASI KOMPUTASI PARALEL PADA JARINGAN SYARAF PROBABILISTIK (PNN) UNTUK PROSES KLASIFIKASI MUTU BUAH TOMAT SEGAR UJI DAN APLIKASI KOMPUTASI PARALEL PADA JARINGAN SYARAF PROBABILISTIK (PNN) UNTUK PROSES KLASIFIKASI MUTU BUAH TOMAT SEGAR oleh: MOH. KHAWARIZMIE ALIM F14101030 2006 FAKULTAS TEKNOLOGI PERTANIAN INSTITUT

Lebih terperinci

ANALISIS DAN IMPLEMENTASI I/O PARALEL PADA ALGORITME ENKRIPSI ADVANCED ENCRYPTION STANDARD (AES) MUHAMMAD ZULFIKAR HANDANA

ANALISIS DAN IMPLEMENTASI I/O PARALEL PADA ALGORITME ENKRIPSI ADVANCED ENCRYPTION STANDARD (AES) MUHAMMAD ZULFIKAR HANDANA ANALISIS DAN IMPLEMENTASI I/O PARALEL PADA ALGORITME ENKRIPSI ADVANCED ENCRYPTION STANDARD (AES) MUHAMMAD ZULFIKAR HANDANA DEPARTEMEN ILMU KOMPUTER FAKLTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT

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

BAB I PENDAHULUAN. Merancang aplikasi Paralel Processing yang diimplementasikan dengan penggunaan Computer-Unified-Device-Architecture (CUDA).

BAB I PENDAHULUAN. Merancang aplikasi Paralel Processing yang diimplementasikan dengan penggunaan Computer-Unified-Device-Architecture (CUDA). BAB I PENDAHULUAN 1.1. Tujuan Merancang aplikasi Paralel Processing yang diimplementasikan dengan penggunaan Computer-Unified-Device-Architecture (CUDA). 1.2. Latar Belakang Banyak Central Processing Unit

Lebih terperinci

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Luqman Arifin Siswanto - 13513024 Program Sarjana Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Studi dan Implementasi Sistem Kriptografi Rabin

Studi dan Implementasi Sistem Kriptografi Rabin Studi dan Implementasi Sistem Kriptografi Rabin Anugrah Adeputra Program Studi Teknik Informatika, Institut Teknologi Bandung, Jl.Ganesha No.10 Email: if15093@students.if.itb.ac.id Abstraksi Sistem Kriptografi

Lebih terperinci

Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan

Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan Widhaprasa Ekamatra Waliprana - 13508080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

IMPLEMENTASI TEKNOLOGI MOBILE AGENT PADA LAYANAN PRINTER BERBASIS LOKASI RENDY EKA SAPUTRA

IMPLEMENTASI TEKNOLOGI MOBILE AGENT PADA LAYANAN PRINTER BERBASIS LOKASI RENDY EKA SAPUTRA IMPLEMENTASI TEKNOLOGI MOBILE AGENT PADA LAYANAN PRINTER BERBASIS LOKASI RENDY EKA SAPUTRA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012 IMPLEMENTASI

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS) RENCANA PEMBELAJARAN SEMESTER (RPS) IK2134 ORGANISAI DAN ARSITEKTUR KOMPUTER Disusun oleh: PROGRAM STUDI ILMU KOMPUTASI FAKULTAS INFORMATIKA TELKOM UNIVERSITY LEMBAR PENGESAHAN Rencana Semester (RPS) ini

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

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN

PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN PERANCANGAN ALGORITMA KRIPTOGRAFI KUNCI SIMETRI DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN Ibrahim Arief NIM : 13503038 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Lebih terperinci

SINKRONISASI DATA DENGAN PEMROSESAN PARALEL MENGGUNAKAN MODEL PEMROGRAMAN MAPREDUCE

SINKRONISASI DATA DENGAN PEMROSESAN PARALEL MENGGUNAKAN MODEL PEMROGRAMAN MAPREDUCE SINKRONISASI DATA DENGAN PEMROSESAN PARALEL MENGGUNAKAN MODEL PEMROGRAMAN MAPREDUCE Murti Retnowo Jurusan Manajemen Informatika, UTY, Yogyakarta e-mail: nowo.yogya@gmail.com ABSTRAK Penelitian dalam pemrosesan

Lebih terperinci

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN Mohamad Ray Rizaldy - 13505073 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung, Jawa Barat e-mail: if15073@students.if.itb.ac.id

Lebih terperinci

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi.

Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi. PARALLEL PROCESSING Penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Tujuan Utama Untuk meningkatkan performa komputasi. Komputasi Parallel Salah satu teknik melakukan

Lebih terperinci

METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA

METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA Buletin Ilmiah Mat Stat dan Terapannya (Bimaster) Volume 04, No 1 (2015), hal 85 94 METODE SOLOVAY-STRASSEN UNTUK PENGUJIAN BILANGAN PRIMA Sari Puspita, Evi Noviani, Bayu Prihandono INTISARI Bilangan prima

Lebih terperinci

IDENTIFIKASI JENIS SHOREA (MERANTI) MENGGUNAKAN ALGORITME VOTING FEATURE INTERVALS 5 BERDASARKAN KARAKTERISTIK MORFOLOGI DAUN EVI SUSANTI

IDENTIFIKASI JENIS SHOREA (MERANTI) MENGGUNAKAN ALGORITME VOTING FEATURE INTERVALS 5 BERDASARKAN KARAKTERISTIK MORFOLOGI DAUN EVI SUSANTI IDENTIFIKASI JENIS SHOREA (MERANTI) MENGGUNAKAN ALGORITME VOTING FEATURE INTERVALS 5 BERDASARKAN KARAKTERISTIK MORFOLOGI DAUN EVI SUSANTI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

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

Penggunaan Algoritma Divide and Conquer Dalam Parallel Computing Untuk Melakukan 3D Rendering

Penggunaan Algoritma Divide and Conquer Dalam Parallel Computing Untuk Melakukan 3D Rendering Penggunaan Algoritma Divide and Conquer Dalam Parallel Computing Untuk Melakukan 3D Rendering Abstrak Giovanni Sakti Nugraha 1, Odit Ekwardo 2, Fata Mukhlish 3 Laboratorium Ilmu dan Rekayasa Komputasi

Lebih terperinci

Variabel, Tipe Data, dan Operator. Oleh : Edi Sugiarto, S.Kom, M.Kom

Variabel, Tipe Data, dan Operator. Oleh : Edi Sugiarto, S.Kom, M.Kom Variabel, Tipe Data, dan Operator Oleh : Edi Sugiarto, S.Kom, M.Kom 1 Pendahuluan Program merupakan kumpulan instruksi yg akan dikerjakan oleh komputer. Program yg kita tulis merupakan urutan perintah

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

KINERJA PROTOKOL ROUTING DALAM KOMUNIKASI REAL-TIME PADA JARINGAN BERKABEL DAMAS WIDYATMOKO

KINERJA PROTOKOL ROUTING DALAM KOMUNIKASI REAL-TIME PADA JARINGAN BERKABEL DAMAS WIDYATMOKO KINERJA PROTOKOL ROUTING DALAM KOMUNIKASI REAL-TIME PADA JARINGAN BERKABEL DAMAS WIDYATMOKO DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012 KINERJA

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

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

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA

PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA Ikhsan Fanani NIM : 13505123 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : ikhsan_fanani@yahoo.com

Lebih terperinci

1. PENDAHULUAN 1.1. LATAR BELAKANG MASALAH

1. PENDAHULUAN 1.1. LATAR BELAKANG MASALAH 1. PENDAHULUAN 1.1. LATAR BELAKANG MASALAH Pada saat ini, teknologi mengalami kemajuan yang sangat pesat, khususnya pada perkembangan komputer. Adapun salah satu teknologi yang mendukung cepatnya perhitungan

Lebih terperinci

IMPLEMENTASI GRID COMPUTING DENGAN MENGGUNAKAN PENGALAMATAN IPv6

IMPLEMENTASI GRID COMPUTING DENGAN MENGGUNAKAN PENGALAMATAN IPv6 IMPLEMENTASI GRID COMPUTING DENGAN MENGGUNAKAN PENGALAMATAN IPv6 Ahmad Makhsun¹, Idris Winarno, SST, M.Kom.² ¹Mahasiswa Jurusan Teknik Informatika, ²Dosen Jurusan Teknik Informatika Jurusan Teknik Informatika

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

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

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik

Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik Implementasi dan Perbandingan Algoritma Kriptografi Kunci Publik RSA, ElGamal, dan ECC Vincent Theophilus Ciputra (13513005) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor

Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor Implementasi Hypergraph Partitioning pada Paralelisasi Perkalian Matriks-Vektor Murni dan Tri Handhika Pusat Studi Komputasi Matematika Universitas Gunadarma, Depok {murnipskm, trihandika}@staff.gunadarma.ac.id

Lebih terperinci

Teknik-Teknik Kriptanalisis Pada RSA

Teknik-Teknik Kriptanalisis Pada RSA Teknik-Teknik Kriptanalisis Pada RSA Felix Arya 1, Peter Paulus, dan Michael Ivan Widyarsa 3 Departemen Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 Bandung 4013 E-mail : if1039@students.if.itb.ac.id

Lebih terperinci

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA Mata Kuliah Kode / SKS Program Studi Fakultas : Pengolahan Paralel : AK012215 / 2 SKS : Sistem Komputer : Ilmu Komputer & Teknologi Informasi 1 Pendahuluan Agar mahasiswa mengerti akan apa yang dimaksud

Lebih terperinci

KONTRAK PEMBELAJARAN (KP) MATA KULIAH

KONTRAK PEMBELAJARAN (KP) MATA KULIAH KONTRAK PEMBELAJARAN (KP) MATA KULIAH Kode MK: TSK-617 Program Studi Sistem Komputer Fakultas Teknik Universitas Diponegoro Pengajar : Eko Didik Widianto, ST, MT Semester : 6 KONTRAK PEMBELAJARAN Nama

Lebih terperinci

STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI VERA MAGDALENA SIANTURI

STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI VERA MAGDALENA SIANTURI STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer VERA MAGDALENA SIANTURI 041401056 PROGRAM STUDI

Lebih terperinci

Analisis dan Implementasi Serangan Kunci secara Konkuren pada Algoritma RSA

Analisis dan Implementasi Serangan Kunci secara Konkuren pada Algoritma RSA Analisis dan Implementasi Serangan Kunci secara Konkuren pada Algoritma RSA Rezan Achmad / 13508104 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

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

PEMBENTUKAN PASSAGE DALAM QUESTION ANSWERING SYSTEM UNTUK DOKUMEN BAHASA INDONESIA SYAHRUL FATHI

PEMBENTUKAN PASSAGE DALAM QUESTION ANSWERING SYSTEM UNTUK DOKUMEN BAHASA INDONESIA SYAHRUL FATHI PEMBENTUKAN PASSAGE DALAM QUESTION ANSWERING SYSTEM UNTUK DOKUMEN BAHASA INDONESIA SYAHRUL FATHI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012

Lebih terperinci

Modul Pengantar Aplikasi Komputer (PAK 240) Prodi S1 P.Akuntansi UNY Pengampu : Annisa Ratna Sari, S.Pd PENGENALAN KOMPUTER

Modul Pengantar Aplikasi Komputer (PAK 240) Prodi S1 P.Akuntansi UNY Pengampu : Annisa Ratna Sari, S.Pd PENGENALAN KOMPUTER 1 PENGENALAN KOMPUTER DEFINISI KOMPUTER Istilah komputer mempunyai arti yang luas dan berbeda bagi setiap orang. Istilah komputer (computer) diambil dari bahasa Latin computare yang berarti menghitung

Lebih terperinci

Parallel Database. by: Ahmad Syauqi Ahsan

Parallel Database. by: Ahmad Syauqi Ahsan 13 Parallel Database by: Ahmad Syauqi Ahsan Latar Belakang 2 Parallel Database Management System adalah DBMS yang diimplementasikan pada parallel computer yang mana terdiri dari sejumlah node (prosesor

Lebih terperinci

BAB II LANDASAN TEORI. informasi menjadi sebuah teks yang tidak dapat dibaca (Ferguson dkk, 2010).

BAB II LANDASAN TEORI. informasi menjadi sebuah teks yang tidak dapat dibaca (Ferguson dkk, 2010). BAB II LANDASAN TEORI 2.1 Enkripsi Enkripsi merupakan sebuah metode penyandian sebuah pesan atau informasi menjadi sebuah teks yang tidak dapat dibaca (Ferguson dkk, 2010). Enkripsi berkaitan erat dengan

Lebih terperinci

ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR

ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR 091421018 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem Calvin Aditya Jonathan 13513077 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA

KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA KRIPTOGRAFI KURVA ELIPTIK ELGAMAL UNTUK PROSES ENKRIPSI- DEKRIPSI CITRA DIGITAL BERWARNA Daryono Budi Utomo, Dian Winda Setyawati dan Gestihayu Romadhoni F. R Jurusan Matematika Fakultas Matematika dan

Lebih terperinci

IMPLEMENTASI HYBRID PARALLELIZATION PADA ALGORITME GLOBAL PAIRWISE ALIGNMENT ERWANSYAH ADRIANTAMA

IMPLEMENTASI HYBRID PARALLELIZATION PADA ALGORITME GLOBAL PAIRWISE ALIGNMENT ERWANSYAH ADRIANTAMA IMPLEMENTASI HYBRID PARALLELIZATION PADA ALGORITME GLOBAL PAIRWISE ALIGNMENT ERWANSYAH ADRIANTAMA DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015

Lebih terperinci

DAFTAR ISI. Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA)

DAFTAR ISI. Pengamanan Pesan Rahasia Menggunakan Algoritma Kriptografi Rivest Shank Adleman (RSA) DAFTAR ISI PERNYATAAN... i ABSTRAK... ii KATA PENGANTAR... iii UCAPAN TERIMA KASIH... iv DAFTAR ISI... v DAFTAR TABEL... ix DAFTAR GAMBAR... x DAFTAR LAMPIRAN... xi ARTI LAMBANG... xii BAB 1 PENDAHULUAN

Lebih terperinci

BAB 4. TEOREMA FERMAT DAN WILSON

BAB 4. TEOREMA FERMAT DAN WILSON BAB 4. TEOREMA FERMAT DAN WILSON 1 Program Studi Pendidikan Matematika Universitas Muhammadiyah, Ponorogo June 11, 2012 Metoda Faktorisasi Fermat (1643) Biasanya pemfaktoran n melalui tester, yaitu faktor

Lebih terperinci

Teorema Fermat Dalam Menentukan Keprimaan Bilangan

Teorema Fermat Dalam Menentukan Keprimaan Bilangan Teorema Fermat Dalam Menentukan Keprimaan Bilangan Jauhar Arifin 13515049 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

Lebih terperinci

CROSS LANGUAGE QUESTION ANSWERING SYSTEM MENGGUNAKAN PEMBOBOTAN HEURISTIC DAN RULE BASED SELAMET SUBU

CROSS LANGUAGE QUESTION ANSWERING SYSTEM MENGGUNAKAN PEMBOBOTAN HEURISTIC DAN RULE BASED SELAMET SUBU CROSS LANGUAGE QUESTION ANSWERING SYSTEM MENGGUNAKAN PEMBOBOTAN HEURISTIC DAN RULE BASED SELAMET SUBU DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR

Lebih terperinci

Multithreading untuk Algoritma Divide and Conquer

Multithreading untuk Algoritma Divide and Conquer Multithreading untuk Algoritma Divide and Conquer Novan Parmonangan Simanjuntak(13509034) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi Thomas Anung Basuki Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi Intisari Makalah ini membahas komputasi paralel pada jaringan komputer menggunakan PVM. Untuk memperjelas,

Lebih terperinci

KLASIFIKASI ARSITEKTURAL

KLASIFIKASI ARSITEKTURAL ArKom 02 (Klasifikasi Sistem Komputer) PDF 2 / 1-9 KLASIFIKASI ARSITEKTURAL Ada 3 skema klasifikasi arsitektural sistem komputer, yaitu: 1. Klasifikasi Flynn Didasarkan pada penggandaan alur instruksi

Lebih terperinci

Departemen Teknik Informatika Institut Teknologi Bandung 2004

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

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

BILANGAN DAN KETERBAGIAN BILANGAN BULAT

BILANGAN DAN KETERBAGIAN BILANGAN BULAT BILANGAN DAN KETERBAGIAN BILANGAN BULAT A. Sistem Bilangan Dalam matematika mempelajari urutan dan keberaturan di antara bilangan-bilangan merupakan suatu bagian yang sangat fundamental. Dengan ditemukannya

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

Analisis Kinerja Matrix Multiplication Pada Lingkungan Komputasi Berkemampuan Tinggi (Cuda Gpu)

Analisis Kinerja Matrix Multiplication Pada Lingkungan Komputasi Berkemampuan Tinggi (Cuda Gpu) Analisis Kinerja Matrix Multiplication Pada Lingkungan Komputasi Berkemampuan Tinggi (Cuda Gpu) 1 Machudor Yusman, 2 Anie Rose Irawati, 3 Achmad Yusuf Vidyawan 1 Jurusan Ilmu Komputer FMIPA Unila 2 Jurusan

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

PERANCANGAN ARSITEKTUR PEMARALELAN UNTUK MENCARI SHORTEST PATH DENGAN ALGORITMA DIJKSTRA

PERANCANGAN ARSITEKTUR PEMARALELAN UNTUK MENCARI SHORTEST PATH DENGAN ALGORITMA DIJKSTRA PERANCANGAN ARSITEKTUR PEMARALELAN UNTUK MENCARI SHORTEST PATH DENGAN ALGORITMA DIJKSTRA Eko Adi Sarwoko Jurusan Matematika FMIPA UNDIP Abstrak Perancangan arsitektur pemaralelan merupakan salah satu tahap

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 2: Kriptografi. Landasan Matematika. Fungsi

Bab 2: Kriptografi. Landasan Matematika. Fungsi Bab 2: Kriptografi Landasan Matematika Fungsi Misalkan A dan B adalah himpunan. Relasi f dari A ke B adalah sebuah fungsi apabila tiap elemen di A dihubungkan dengan tepat satu elemen di B. Fungsi juga

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

TEMPORAL QUESTION ANSWERING SYSTEM BAHASA INDONESIA ADI DARLIANSYAH

TEMPORAL QUESTION ANSWERING SYSTEM BAHASA INDONESIA ADI DARLIANSYAH TEMPORAL QUESTION ANSWERING SYSTEM BAHASA INDONESIA ADI DARLIANSYAH DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2012 TEMPORAL QUESTION ANSWERING

Lebih terperinci

Himpunan Ω-Stabil Sebagai Daerah Faktorisasi Tunggal

Himpunan Ω-Stabil Sebagai Daerah Faktorisasi Tunggal Vol. 9, No.1, 49-56, Juli 2012 Himpunan Ω-Stabil Sebagai Daerah Faktorisasi Tunggal Nur Erawaty 1, Andi Kresna Jaya 1, Nirwana 1 Abstrak Misalkan D adalah daerah integral. Unsur tak nol yang bukan unit

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH ALGORITMA PENGOLAHAN PARALEL (S1/ TEKNIK INFORMATIKA)

SATUAN ACARA PERKULIAHAN MATA KULIAH ALGORITMA PENGOLAHAN PARALEL (S1/ TEKNIK INFORMATIKA) SATUAN ACARA PERKULIAHAN MATA KULIAH ALGORITMA PENGOLAHAN PARALEL (S1/ TEKNIK INFORMATIKA) Minggu Media Tugas Referensi 1 Pendahuluan butuhan akan komputer paralel Quinn, Agar mahasiswa mengerti akan apa

Lebih terperinci

MATRIKS BENTUK KANONIK RASIONAL DENGAN MENGGUNAKAN PEMBAGI ELEMENTER INTISARI

MATRIKS BENTUK KANONIK RASIONAL DENGAN MENGGUNAKAN PEMBAGI ELEMENTER INTISARI Buletin Ilmiah Math. Stat. dan Terapannya (Bimaster) Volume 6, No. (17), hal 7 34. MATRIKS BENTUK KANONIK RASIONAL DENGAN MENGGUNAKAN PEMBAGI ELEMENTER Ardiansyah, Helmi, Fransiskus Fran INTISARI Pada

Lebih terperinci

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting

Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting Modifikasi Algoritma RSA dengan Chinese Reamainder Theorem dan Hensel Lifting Reyhan Yuanza Pohan 1) 1) Jurusan Teknik Informatika ITB, Bandung 40132, email: if14126@students.if.itb.ac.id Abstract Masalah

Lebih terperinci

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Algoritma Algoritma adalah deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis atau urutan logis pengambilan keputusan untuk pemecahan suatu masalah. Algoritma

Lebih terperinci