Pengumpulan dan Sumber Data Pengolahan Data

BAB 3 METODOLOGI PENELITIAN

3.1 Pengumpulan dan Sumber Data

Pengumpulan data yang digunakan dalam penelitian ini adalah studi literatur yaitu penelusuran literatur yang bersumber dari buku, media, pakar ataupun dari hasil penelitian orang lain yang bertujuan untuk menyusun dasar teori yang digunakan dalam melakukan penelitian. Kemudian dilakukan pengumpulan data berupa data teks dengan kalimat panjang atau beberapa paragraphalinea. Data teks tersebut nantinya akan dienkripsi menggunakan algoritma ElGamal dan dikompresi menggunakan algoritma Shannon-Fano.

3.2 Pengolahan Data

Data yang telah dikumpulkan kemudian diolah dengan langkah-langkah sebagai berikut : 3.2.1 Pembangkit Bilangan Acak Bilangan p dan a akan dibangkitkan secara acak menggunakan program, dimana bilangan p adalah bilangan prima, sedangkan bilangan a adalah bilangan bulat yang merupakan a  { 0,1,…,p-2. Oleh karena itu, bilangan p yang didapat secara acak tersebut harus diuji kembali keprimaannya. Dalam penelitian ini, penulis menggunakan teori Lehmann untuk menguji keprimaan nilai p tersebut. Dalam teori Lehmann dinyatakan bahwa untuk setiap bilangan prima p dan setiap bilangan a yang kurang dari p dan tidak habis dibagi oleh p, maka berlaku : 3.1 3.2.2 Penentuan Akar Primitif  pada Algoritma ElGamal Sistem yang penulis rancang terdiri dari tahap penentuan bilangan prima p, yang akan mengenerate akar primitif α, dimana untuk bilangan bulat acak yang merupakan elemen primitive  primitive Root grup Zp dari bilangan bulat mod p, ditentukan : “jika p adalah bilangan prima dan e  N, dimana e  p − 1. Dalam setiap system Universitas Sumatera Utara residu modulo p, terdapat 0 atau e yang berbeda untuk m  Z, 0  m  p − 1, dengan ord p m = e secara khusus terdapat p −1 akar primitive modulo p. Mollin, 2007. Selanjutnya adalah proses enkripsi-kompresi dan proses dekompresi-dekripsi. 3.2.3 Proses Enkripsi-Kompresi Tahapan enkripsi-kompresi berguna untuk mengamankan pesan dan memampatkan ukuran pesan teks, dimana untuk mengamankan pesan penulis menggunakan algoritma ElGamal dan untuk memampatkan pesan penulis menggunakan algoritma Shannon-Fano. Tahapan ini dimulai dengan pembentukan kunci yaitu dengan menentukan bilangan prima p, menentukan akar primitif α atau g dan menentukan bilangan bulat x, proses selanjutnya adalah menghitung y = g x mod p dan kemudian akan didapatkan kunci privat x, p dan kunci public p, g, y. Setelah proses pembentukan kunci ElGamal, dilanjutkan ke proses enkripsi untuk menghasilkan ciphertextnumber yaitu dengan mengetikan plaintext yang akan dienkripsi, plaintext dipotong-potong kedalam bentuk blok-blok pesan yang kemudian dikonversikan kedalam kode ASCII, setiap plainnumber yang telah diblok dimasukkan kedalam rumus yang telah ditetapkan, sehingga diperolehlah ciphertextnumber dari proses enkripsi. Adapun flowchart dari proses enkripsi pesan teks dapat dilihat pada gambar 3.1. Gambar 3.1. Flowchart Proses Enkripsi Plainteks Plainteks ASCII = a � � dan = a . � � � Cipherteks For i = 1 sampai p A A Universitas Sumatera Utara Ciphertextnumber yang dihasilkan dari proses enkripsi menggunakan algoritma ElGamal berukuran 2 dua kali lebih besar dari pesan aslinya plaintext, sehingga dilakukan proses kompresi dengan menggunakan algoritma kompresi Shannon-Fano. Adapun flowchart proses kompresi dapat dilihat pada gambar 3.2. Gambar 3.2 Flowchart Proses Kompresi Gambar 3.2 menjelaskan bahwa ciphertext yang diperoleh dari proses enkripsi kemudian dikompresi, agar pesan termampatkan. Adapun proses yang dilakukan dengan menggunakan algoritma Shannon-Fano adalah membuat tabel yang memuat frekuensi kemunculan dari tiap karakter, mengurutkan frekuensi tersebut dengan karakter yang frekuensinya paling sering muncul berada di atas dari daftar descending, membagi karakter-karakter tersebut menjadi 2 kelompok yaitu atas dan bawah dengan jumlah total frekuensi pada bagian atas mendekati jumlah total frekuensi pada bagian bawah dan memberikan kode 0 untuk sebelah atas dan kode 1 untuk sebelah bawah, mengulangi langkah sebelumnya pada masing-masing kelompok hingga seluruh karakter dapat berdiri sendiri dan mempunyai kode bit yang unik. Hasil dari proses tersebut akan menghasilkan ciphertextnumber terkompresi. A Stop Cipherteks Cipherteks Terkompresi Inisialisasi Urut Frekuensi PembagianChar Kompresi Universitas Sumatera Utara 3.2.4 Proses Dekompresi-Dekripsi Tahapan dekompresi-dekripsi digunakan untuk mengembalikan pesan teks kebentuk semula, yaitu dengan melakukan proses dekompresi terlebih dahulu, kemudian diakhiri dengan proses dekripsi. Adapun urutan proses yang akan dilakukan pada tahapan dekompresi adalah mengidentifikasi data teks hasil kompresi yang sudah diubah menjadi karakter pengganti, kemudian karakter pengganti diubah terlebih dahulu menjadi kode biner yang dilanjutkan dengan penelusuran tabel biner dengan tujuan agar kode biner yang ditemukan dapat dibaca oleh pengguna dalam bentuk kode ASCII. Hasil dari proses dekompresi akan diperoleh ciphertext dengan ukuran yang sama sebelum ciphertext tersebut dimampatkan. Untuk pengembalikan ciphertext ke pesan aslinya plaintext, maka dilakukan proses dekripsi dengan menggunakan kunci privat. Adapun urutan yang akan dilakukan pada proses dekripsi adalah mengambil nilai x, p sebagai kunci privat dari proses pembentukan kunci ElGamal, masukan ciphertext kedalam rumus yanng telah ditetapkan, pindahkan plaintextnumber ke plaintextchar.

3.3 Proses Analisis