C2
R
= y
k
C
R
mod p = 278
34
127 mod 521 =  457 C1
G
= 429
34
mod 521 = 275
C2
G
= 278
34
72 mod 521   = 456 C1
B
= 429
34
mod 521 = 275
C2
B
= 278
34
184 mod 521   = 297
Dekripsi Elgamal
Misalkan nilai pixelx,y dari proses enkripsi Elgamal adalah C1
R
= C1
G
= C1
B
= 457, C2
R
=  456,  C2
G
=  297  dan  C2
B
=  70.  Nilai-nilai  tersebut  selanjutnya  kita  enkripsi menggunakan algoritma RSA.
a
R
= C1
R p-1-x
a
G
= C1
G p-1-x
a
B
= C1
B p-1-x
C
R
= C2
R
a
R
mod p = 457   275
521-1-25
mod 521 = 127 C
G
= 456  275
521-1-25
mod 521 = 72 C
B
= 297   275
521-1-25
mod 521 = 184
3.2 Perancangan Sistem
Perancangan  sistem  merupakan  suatu  tahapan  yang  sangat  penting  dalam pembangunan sistem perangkat lunak. Berdasarkan hasil analisis proses dalam sistem
diperoleh  gambaran  fungsional  yang  akan  diterapkan  pada  sistem.  Berdasarkan gambaran  ini  dibangun  suatu  model
rancangan antarmuka
yang  akan diimplementasikan  menggunakan  bahasa  pemrograman  Visual  Basic.  Tahapan  ini
memberikan  gambaran  dasar  dari  sistem  yang  dibangun  dan  menentukan  langkah selanjutnya yang akan dilakukan pada tahap implementasi.
Universitas Sumatera Utara
3.2.1 Pembangkit Kunci Algoritma RSA dan Elgamal
Sebelum melakukan proses enkrisi  ataupun dekripsi pada aplikasi ini terlebih dahulu dilakukan  proses  pembangkit  kunci  untuk  kedua  algoritma  yaitu  algoritma  RSA  dan
Elgamal.  Pembangkit  kunci  digunakan  untuk  mempermudah  pengguna  untuk mendapatkan kunci  yang sesuai dengan dibutuhkan algoritma tanpa harus melakukan
perhitungan untuk mendapatkan kunci yang dibutuhkan.
Gambar 3.7 Rancangan Pembangkit Kunci Algoritma RSA dan Elgamal
3.2.2 Enkripsi Citra
Proses Enkripsi dilakukan secara bertahap dimulai dengan melakukan enkripsi dengan algoritma  RSA  dan  dilanjutkan  dengan  enkripsi  dengan  algoritma  Elgamal.  Tahapan
dalam  proses  enkripsi  ini  dilakukan  untuk  mendapatkan  hasil  enkripsi  citra  yang sesuai dan nantinya dapat dilakukan proses dekripsi pada citra terenkripsi.
PEMBANGKIT BILANGAN PRIMA
PASANGAN KUNCI RSA
PEMBANGKIT BILANGAN PRIMA
PASANGAN KUNCI ELGAMAL
Universitas Sumatera Utara
Gambar 3.8 Proses Enkripsi Citra
3.2.3 Dekripsi Citra
Proses  Dekripsi  dilakukan  untuk  memperoleh  citra  asli  dari  citra  terenkripsi.  Untuk mendapatkan citra hasil yang sesuai pengguna harus memasukkan citra terenkripsi dan
kunci yang tepat.
Gambar 3.9 Proses Dekripsi Citra
CITRA ENKRIPSI
RSA CITRA
PUBLIC KEY CITRA
TERENKRIPSI RSA
CITRA TERENKRIPSI
RSA ENKRIPSI
ELGAMAL CITRA
PUBLIC KEY CITRA
TERENKRIPSI ELGAMAL
CITR A
ASLI ENKRIPSI
RSA CITRA
PRIVATE KEY
CITRA TERENKRIPSI
RSA CITRA
TERENKRIPSI ELGAMAL
DEKRIPSI ELGAMAL
CITRA PRIVATE
KEY CITRA
TERENKRIPSI RSA
Universitas Sumatera Utara
3.2.4 Perancangan Flowchart
Flowchart  atau bagan  alir
adalah  bagan   chart  yang  menunjukkan  alir   flow  di dalam program  atau prosedur sistem secara logika. Bagan alir flowchart digunakan
terutama untuk alat bantu komunikasi dan untuk dokumentasi.
Sistem  flowchart  dapat  didefinisikan  sebagai  bagan  yang  menunjukkan  arus pekerjaan  secara  keseluruhan  dari  sistem.  Bagan  ini  menjelaskan  urut-urutan  dari
prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem.
Flowchart  merupakan  langkah  awal  dalam  pembuatan  program.  Dengan adanya  flowchart,  urutan  proses  kegiatan  menjadi  lebih  jelas.  Jika  ada  penambahan
proses maka dapat dilakukan dengan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram programmer menerjemahkannya ke bentuk program dengan
bahasa pemrograman.
Adapun Flowchart yang akan dibangun oleh Penulis sesuai dengan judul besar skripsi yaitu Implementasi Kombinasi Rhivest Shamir Adleman RSA Dan ElGamal
Dalam Penyandian Citra Bitmap.
Universitas Sumatera Utara
3.2.4.1 Flowchart Pembangkit Kunci Lucas Lehmer
Mulai p; bilangan
prima i = 1
if p = 2
s = 0 Ya
s = 4 Tidak
n = 2
p
- 1
i = p
s = s
2
– 2 mod n Ya
s = 0 Tidak
Tidak
Is_prime Ya
Is_composit
Selesai
Gambar 3.10 Flowchart Pembangkit kunci Lucas Lehmer
Universitas Sumatera Utara
3.2.4.2 Flowchart Pembangkit Kunci RSA
Gambar 3.11  Flowchart Pembangkit Kunci RSA
Universitas Sumatera Utara
3.2.4.3 Flowchart Proses Enkripsi RSA
Mulai Citra_Asli
Max i = lebarCitra_Asli Max j = panjangCitra_Asli
i = 0
If i  Max i
If j  Max j
R = Citra_Aslii,j.Red G = Citra_Aslii,j.Green
B = Citra_Aslii,j.Blue Ya
ER = R
e
mod n EG = G
e
mod n EB = B
e
mod n Tidak
Tidak j = 0
Ya
Citra Terenkripsi
Selesai Citra_Hasil.Redi, j = ER
Citra_Hasil.Greeni, j = EG Citra_Hasil.Bluei, j = EB
Gambar 3.12 Flowchart Proses Enkripsi RSA
Universitas Sumatera Utara
3.2.4.4 Flowchart Proses Dekripsi RSA
Mulai Citra_Enkripsi
Max i = lebarCitra_Enkripsi Max j = panjangCitra_Enkripsi
i = 0
If i  Max i
If j  Max j
ER = Citra_Enkripsii,j.Red EG = Citra_Enkripsii,j.Green
EB = Citra_Enkripsii,j.Blue Ya
R = ER
d
mod n G = EG
d
mod n B = EB
d
mod n Tidak
Tidak j = 0
Ya
Citra Asli Selesai
Citra_Asli.Redi, j = R Citra_Asli.Greeni, j = G
Citra_Asli.Bluei, j = B
Gambar 3.13 Flowchart Proses Kunci Dekripsi RSA
Universitas Sumatera Utara
3.2.4.5
Flowchart Pembangkit Kunci ElGamal
Mulai
p ; bilangan prima
g = random2, p-1
x = random2, p-1
x = g Tidak
y = g
x
mod p Ya
y, g, x, p
Selesai
Gambar 3.14 Flowchart Pembangkit Kunci ElGamal.
Universitas Sumatera Utara
3.2.4.6 Flowchart Proses Enkripsi ElGamal
Gambar 3.15 Flowchart Proses Enkripsi ElGamal
Mulai Citra_Asli
Max i = lebarCitra_Asli Max j = panjangCitra_Asli
i = 0
If i  Max i
If j  Max j
R = Citra_Aslii,j.Red G = Citra_Aslii,j.Green
B = Citra_Aslii,j.Blue Ya
ER1 = g
k
mod p EG1 = g
k
mod p EB1 = g
k
mod p ER2 = ykR
mod p EG2 = ykG
mod p EB2 = ykB
e
mod p Tidak
Tidak j = 0
Ya
Citra Terenkripsi
Selesai Citra_Hasil.Redi, j = ER
Citra_Hasil.Greeni, j = EG Citra_Hasil.Bluei, j = EB
j++ i++
Universitas Sumatera Utara
3.2.4.7 Flowchart Proses Dekripsi ElGamal
Mulai Citra_Enkripsi
Max i = lebarCitra_Enkripsi Max j = panjangCitra_Enkripsi
i = 0
If i  Max i
If j  Max j
ER1 = Citra_Enkripsii,j.Red EG1 = Citra_Enkripsii,j.Green
EB1 = Citra_Enkripsii,j.Blue ER2 = Citra_Enkripsii,j.Red
EG2 = Citra_Enkripsii,j.Green EB2 = Citra_Enkripsii,j.Blue
Ya
R = ER1
p-1-x
G = EG1
p-1-x
B = EB1
p-1-x
R = ER2  R mod p G = EG2
G mod p B = EB2  B mod p
Tidak
Tidak j = 0
Ya
Citra Asli Selesai
Citra_Asli.Redi, j = R Citra_Asli.Greeni, j = G
Citra_Asli.Bluei, j = B i++
j++
Gambar 3.16 Flowchart Proses Dekripsi ElGamal
Universitas Sumatera Utara
3.2.5 Perancangan Tampilan
Tujuan  dari  perancangan  sistem  adalah  untuk  memenuhi  kebutuhan  user  mengenai gambaran  yang  jelas  tentang  perancangan  sistem  yang  akan  dibuat  serta
diimplementasikan.
Untuk  mulai  membangun  suatu  program  yang  akan  dibangun,  maka  penulis terlebih  dahulu  merencanakan  alur  kerja  berdasarkan  kebutuhan  user  yang  akan
menggunakan  aplikasi  Enkrpisi  dan  Dekripsi  Citra.  Pada  aplikasi  ini  akan  dirancang form-form  yang  akan  dipakai  dalam  aplikasi  Enkripsi  dan  Dekripsi  Citra,  form  yang
akan  dirancang  adalah  Form  Tampilan    utama,  form  Pembangkit  Kunci  RSA  serta form pembangkit kunci ElGamal
3.2.5.1 Perancangan Form Utama
Form  ini  menampilkan  tampilan  awal  pada  saat  user  membuka  aplikasi  Enkripsi Dekripsi  Citra  yang  berisikan  button  open,  button  browse,  public  key,  private  key,
button generate dan button  proses.
Gambar 3.17  Rancangan form Utama
X _
Enkripsi Citra 32 Bit Menggunakan Algoritma RSA dan Elgamal
Public Key Private Key
Public Key Private Key
RSA Key Elgamal Key
Enkripsi Dekripsi
Proses Generate
Generate
BROWSE OPEN
Universitas Sumatera Utara
3.2.5.2 Perancangan form Pembangkit Kunci RSA
Pada  form  pembangkit  kunci  RSA  dibawah  ini  berisikan  kolom  batas  nilai  yang berfungsi  untuk  menginput  nilai  yang  akan  ditentukan  pada  saat  akan  melakukan
proses  Enkripsi  dan  Dekripsi  RSA.  Botton  Generate  Prime  berfungsi  untuk melakukan melakukan proses. Button kunci public dan kunci private berfungsi untuk
menampilkan nilai yang telah diperoleh pada saat proses Enkripsi dan Dekripsi
Gambar 3.18 Rancangan form Pembangkit Kunci RSA
X _
Generate RSA Key
Batas Nilai Generate
Prime
Pasangan Kunci Enkripsi Pasangan Kunci Dekripsi
Kunci Public Kunci Private
Universitas Sumatera Utara
3.2.5.3 Perancangan form Pembangkit Kunci Elgamal
Pada form pembangkit kunci ElGamal berisikan generate prime, generate key dan nilai g,x,y yang akan diperoleh setelah menginput nilai p.
Gambar 3.19 Rancangan form Pembangkit Kunci ElGamal
X _
Batas Nilai Generate Prime
p
Generate Key g
x y
Generate Elgamal  Key
Universitas Sumatera Utara
52
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1 Implementasi Sistem