• Tidak ada hasil yang ditemukan

BAB 3 PERANCANGAN POGRAM APLIKASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 PERANCANGAN POGRAM APLIKASI"

Copied!
26
0
0

Teks penuh

(1)

32

PERANCANGAN POGRAM APLIKASI

3.1 Perancangan Program 3.1.1 Struktur Menu

Program aplikasi yang dirancang memiliki struktur dimana terdapat dua sub menu dari menu utamanya. Bentuk struktur menu program aplikasi yang dirancang dapat digambarkan sebagai berikut.

Gambar 3.1 Rancangan Struktur Menu Utama 1. Layar Utama

Pada layar utama ini menampilkan seluruh menu, yaitu File dan Help dan sub menu, yaitu RSA, ECC, Exit dan About dengan tampilan toolbar dan tab sheet.

2. Menu File

Menu ini ditampilkan dengan toolbar yang didalamnya berisi sub menu RSA, ECC, dan Exit.

(2)

3. Sub Menu RSA

Sub menu ini ditampilkan dengan toolbar dan tab sheet. Dalam sub menu ini ditampilkan layar proses enkripsi dan dekripsi dengan menggunakan algoritma metode enkripsi RSA.

4. Sub Menu ECC

Sub menu ini ditampilkan dengan toolbar dan tab sheet. Dalam sub menu ini ditampilkan layar proses enkripsi dan dekripsi dengan menggunakan algoritma metode enkripsi ECC.

5. Sub Menu Exit

Sub menu ini ditampilkan dengan toolbar. Sub menu ini berfungsi untuk keluar dari program aplikasi algoritma metode enkripsi.

6. Menu Help

Menu ini ditampilkan dengan toolbar. Di dalam menu ini terdapat sub menu About.

7. Sub Menu About

Sub menu ini ditampilkan dengan toolbar. Pada layar sub menu About ini menampilkan keterangan dari profile pembuat program aplikasi algoritma metode enkripsi.

3.1.2 STD (State Transition Diagram)

Perpindahan state setelah dilakukannya action pada rancangan program aplikasi ini akan dijelaskan lebih lanjut menggunakan STD

(3)

(State Transition Diagram). Dibawah ini adalah STD rancangan dari setiap modul yang terdapat pada program aplikasi yang dibuat.

3.1.2.1 STD Layar Utama

RSA ECC ABOUT

START

Klik File Pilih RSA Tampilkan Layar RSA

Klik Tab Sheet RSA

Klik File Pilih ECC

Klik Tab Sheet ECC

Tampilkan Layar ECC Klik Help Pilih About Klik OK, File Pilih RSA

Klik File Pilih RSA

Klik Tab Sheet RSA

Klik OK, File Pilih ECC

Tampilkan Layar RSA Tampilkan Layar RSA

Keluar Layar Help & Tampilkan Layar RSA

Tampilkan Layar Help

Tampilkan Layar About

Klik Help Pilih About

Keluar Layar Help & Tampilkan Layar ECC

EXIT Klik OK, Tab Sheet RSA

Klik OK, Tab Sheet ECC

Klik File Pilih Exit Keluar Program Aplikasi

Klik File Pilih Exit Klik File Pilih Exit Keluar Program Aplikasi Keluar Program Aplikasi

(4)

3.1.2.2 STD Sub Menu RSA RSA Encryption Decryption Browse File Save File Generate Key Exit

Klik File Pilih Exit Keluar Program Klik Button Generate Key Tampilkan Key Generation Detail

Klik Button Browse File Tampilkan Dialog Box Input File

Klik Button Decryption Tampilkan Mode Decryption Klik Button Encryption

Tampilkan Mode Encryption

Klik Button Save File Tampilkan Dialog Box Save File

Klik Button Save File

Tampilkan Dialog Box Save File

START

Klik File Pilih Exit Keluar Program

(5)

3.1.2.3 STD Sub Menu ECC ECC Encryption Decryption Browse File Save File Exit Clear All Update Key File

Klik File Pilih Exit Keluar Program Klik Button Browse File Tampilkan Dialog Box Input File

Klik Button Clear All Reset Semua Key & Nilai Klik Button Encryption

Lakukan Proses Enkripsi Lakukan Proses Dekripsi

Klik Button Decryption Klik Button Save File

Tampilkan Dialog Box Save File

Klik Button Save File Tampilkan Dialog Box Save File

START

Keluar Program Klik File Pilih Exit Klik Button Update Key File

Gunakan Key File yang sudah ada

(6)

3.1.2.4 STD Sub Menu About

ABOUT RSA ECC

START

Tampilkan Layar About Klik Ok, File Pilih ECC

Tampilkan Layar RSA

Tampilkan Layar RSA

Tampilkan Layar RSA Tampilkan Layar ECC Klik File Pilih ECC Tampilkan Layar ECC

Klik Help Pilih About

Klik Help Pilih About Tampilkan Layar About

Klik Tab Sheet ECC Klik File Pilih RSA

Klik Tab Sheet RSA Klik Ok, File Pilih ECC

Klik Ok, Tab Sheet ECC

Klik Ok, Tab Sheet RSA

Exit

Klik File Pilih Exit Keluar Program

Klik File Pilih Exit Keluar Program

Gambar 3.5 STD Sub Menu About

3.1.3 Rancangan Layar

Rancangan layar yang terdapat pada program aplikasi ini terdiri dari empat bagian besar, yaitu :

- Rancangan Layar Utama

- Rancangan Layar Sub Menu RSA - Rancangan Layar Sub Menu ECC - Rancangan Layar Sub Menu About

(7)

3.1.3.1 Rancangan Layar Utama

FILE HELP

ECC RSA

Generate Key

Browse File Encrypt Decrypt Save File

^

^

^

^ Prime Number 1 Prime Number 2

e : d :

n : n :

RSA & ECC Comparisson

Key Generation

File and Encryption

Key Generation Detail RSA

ECC Exit

About

Gambar 3.6 Rancangan Layar Utama

Fungsi setiap komponen rancangan menu layar utama ini adalah sebagai berikut :

- Toolbar menu File berfungsi sebagai navigasi untuk masuk kedalam sub menu RSA, ECC, dan Exit

- Toolbar menu Help berfungsi sebagai navigasi untuk masuk kedalam sub menu About.

(8)

- Toolbar File sub menu RSA berfungsi untuk masuk ke layar sub menu RSA.

- Toolbar File sub menu ECC berfungsi untuk masuk ke layar sub menu ECC

- Toolbar File sub menu Exit berfungsi untuk keluar dari program aplikasi.

- Toolbar Help sub menu About berfungsi untuk menampilkan keterangan si pembuat program aplikasi.

3.1.3.2 Rancangan Layar Sub Menu RSA

(9)

Fungsi setiap komponen rancangan sub menu layar sub menu RSA ini adalah sebagai berikut :

- Toolbar menu File berfungsi sebagai navigasi untuk masuk ke sub menu RSA, ECC, dan Exit

- Toolbar menu Help berfungsi sebagai navigasi untuk masuk ke sub menu About.

- Tab sheet RSA berfungsi untuk masuk ke layar sub menu RSA.

- Tab sheet ECC berfungsi untuk masuk ke layar sub menu ECC.

- Check box Prime Number 1 berfungsi untuk mengaktifkan text field Prime Number 1.

- Check box Prime Number 2 berfungsi untuk mengaktifkan text field Prime Number 2.

- Text field Prime Number 1 berfungsi untuk menginput nilai p. - Text field Prime Number 2 berfungsi untuk menginput nilai q. - Button Generate Key berfungsi untuk memberikan nilai e

yang diberikan secara random oleh komputer dan menghitung nilai d dan n dari input Prime Number 1 (p) dan Prime Number 2 (q).

- Text field Public Key e: berfungsi menampilkan nilai e yang diberikan secara random oleh komputer.

- Text field Public Key n: berfungsi menampilkan nilai n hasil perhitungan komputer.

(10)

- Text field Private Key d: berfungsi menampilkan nilai d hasil perhitungan komputer.

- Text field Private Key n: berfungsi menampilkan nilai n hasil perhitungan komputer.

- Text area Key Generation Detail berfungsi menampilkan keterangan lengkap dari Key Generation.

- Text area File and Encryption berfungsi menampilkan plaintext yang akan dienkripsi.

- Button Browse File berfungsi untuk input file text yang akan di enkripsi.

- Button Encrypt berfungsi untuk melakukan proses enkripsi. - Button Decrypt berfungsi untuk melakukan proses dekripsi. - Button Save File berfungsi untuk menyimpan file ciphertext

(11)

3.1.3.3 Rancangan Layar Sub Menu ECC

Gambar 3.8 Rancangan Layar Sub Menu ECC

Fungsi setiap komponen rancangan sub menu layar sub menu ECC ini adalah sebagai berikut :

- Toolbar menu File berfungsi sebagai navigasi untuk masuk ke sub menu RSA, ECC, dan Exit

- Toolbar menu Help berfungsi sebagai navigasi untuk masuk ke sub menu About.

- Tab sheet sub menu RSA berfungsi untuk masuk ke layar sub menu RSA.

(12)

- Tab sheet sub menu ECC berfungsi untuk masuk ke layar sub menu ECC.

- Text field p Lower Limit berfungsi untuk menginput nilai p Lower Limit.

- Text field p Upper Limit berfungsi untuk menginput nilai p Upper Limit.

- Button Update File Kunci berfungsi untuk menghitung nilai p, a, b, nA dari input p Lower Limit dan p Upper Limit.

- Button Clear All berfungsi untuk mereset nilai p Lower Limit dan p Upper Limit.

- Text field Key p: berfungsi menampilkan nilai p yang diberikan secara random oleh komputer dengan batasan p Lower Limit < p < p Upper Limit.

- Text field Key a: berfungsi menampilkan nilai a yang diberikan secara random oleh komputer dengan ketentuan a < p - 1.

- Text field Key b: berfungsi menampilkan nilai b yang diberikan secara random oleh komputer dengan ketentuan b < p - 1.

- Text field Key nA: berfungsi menampilkan nilai nA hasil perhitungan komputer.

- Text area File and Encryption berfungsi menampilkan plaintext dan ciphertext.

(13)

- Button Browse File berfungsi untuk input file text yang akan di enkripsi atau di dekripsi.

- Button Encrypt berfungsi untuk melakukan proses enkripsi. - Button Decrypt berfungsi untuk melakukan proses dekripsi. - Button Save File berfungsi untuk menyimpan file ciphertext

hasil enkripsi atau plaintext hasil dekripsi.

3.1.3.4 Rancangan Layar Sub Menu About

FILE HELP

ECC RSA

Generate Key

Browse File Encrypt Decrypt Save File

^

^

^

^ Prime Number 1 Prime Number 2

e : d :

n : n :

RSA & ECC Comparisson

Key Generation

File and Encryption

Key Generation Detail

RSA & ECC Commparison

Dibuat untuk proyek skripsi jenjang S1

Oleh :

0700695515 – Revyana Selviastuti ABOUT

OK

(14)

Fungsi setiap komponen rancangan sub menu layar sub menu ECC ini adalah sebagai berikut :

- Button Ok untuk keluar dan kembali ke layar utama dan sub menu RSA.

3.1.4 Spesifikasi Modul Modul EditNumbersOnly

Fungsi: men-setting agar hanya bisa input angka BEGIN

Setting editstyle agar hanya bisa menerima angka saja END

Modul About1Click

Fungsi: menampilkan form about BEGIN

Tampilan form about END

Modul CheckBox1Click

Fungsi: mengaktif / menonaktifkan input Prime Number 1 BEGIN

IF Checkbox1 = checked THEN aktifkan Edit1

(15)

nonaktifkan Edit1 END

Modul CheckBox2Click

Fungsi: mengaktif / menonaktifkan input Prime Number 2 BEGIN

IF Checkbox2 = checked THEN aktifkan Edit2

ELSE

nonaktifkan Edit2 END

Modul GenKeyClick

Fungsi: men-generate kunci publik dan kunci privat BEGIN

bersihkan Memo1

IF ada input Prime Number 1 THEN

panggil modul CheckPrime dengan input Prime Number 1 IF Prime Number 1 bukan bilangan Prima THEN

tampilkan pesan “Prime Number 1 is not Prime” ELSE

terima Prime Number 1 sebagai p ELSE

(16)

cari nilai p dengan modul GenPrime tampilkan nilai p pada Edit1

IF ada input Prime Number 2 THEN

panggil modul CheckPrime dengan input Prime Number 2 IF Prime Number 2 bukan bilangan Prima THEN

tampilkan pesan “Prime Number 2 is not Prime” ELSE

terima Prime Number 2 sebagai q ELSE

tambahkan pesan di Memo1 “Generating q values” cari nilai q dengan modul GenPrime

tampilkan nilai q pada Edit1 IF nilai p dan q OK THEN tambahkan pada Memo1 nilai p tambahkan pada Memo1 nilai q hitung n dengan cara p * q

hitung øn dengan cara (p – 1) * (q – 1) hitung e dengan memanggil modul GenE hitung d dengan memanggil modul CalcD tambahkan pada Memo1 nilai n

tambahkan pada Memo1 nilai øn tambahkan pada Memo1 nilai e tambahkan pada Memo1 nilai d tampilkan nilai e pada Edit3

(17)

tampilkan nilai n pada Edit4 tampilkan nilai d pada Edit5 tampilkan nilai n pada Edit6 END

END

Modul Form Create

Fungsi: men-setting tampilan awal layar utama dan variabel-variabel global pada saat pertama kali program dijalankan

BEGIN

panggil modul EditNumbersOnly untuk semua input setting nilai awal semua varibel global

END

Modul Button2Click

Fungsi: Membuka File untuk di Encrypt atau Decrypt BEGIN

buka Open File Dialog bersihkan Memo2

tampilkan file pada Memo2 END

Modul Exit1Click

(18)

BEGIN

tutup program END

Modul RSA1Click

Fungsi: Mengaktifkan tab RSA BEGIN

aktifkan tab RSA END

Modul ECC1Click

Fungsi: Mengaktifkan tab ECC BEGIN

aktifkan tab ECC END

Modul Button3Click

Fungsi: Mengenkripsi file / text yang terdapat di Memo2 BEGIN

IF tidak ada text di Memo2 THEN tampilkan pesan “Text is empty” ELSE

IF tab yang aktif = RSA THEN

encrypt Memo2 memakai modul RSAAlg dengan varibel e dan n tampilkan hasil enkripsi pada Memo2

(19)

IF tab yang aktif = ECC THEN

encrypt Memo2 memakai modul ECCAlgEnc tampilkan hasil enkripsi pada Memo2

END

Modul Button4Click

Fungsi: Mendekripsi file / text yang terdapat di Memo2 BEGIN

IF tidak ada text di Memo2 THEN tampilkan pesan “Text is empty” ELSE

IF tab yang aktif = RSA THEN

encrypt Memo2 memakai modul RSAAlg dengan varibel d dan n tampilkan hasil dekripsi pada Memo2

IF tab yang aktif = ECC THEN

encrypt Memo2 memakai modul ECCAlgDec tampilkan hasil dekripsi pada Memo2

END

Modul Button5Click

Fungsi: Men-save file / text yang sedang ditampilkan di Memo2 BEGIN

buka Save File Dialog

save semua text di Memo2 ke dalam file END

(20)

Modul Button6Click

Fungsi: Membersihkan semua input yang terdapat pada tab ECC BEGIN

bersihkan Edit7 – Edit12 dari input END

Modul Button7Click

Fungsi: memvalidasi input p Lower dan Upper Limit dan memanggil modul UpdKeyCombFile

BEGIN

IF input p lower kosong THEN tampilkan pesan “Please input p Lower Limit”

ELSE IF input p upper kosong THEN tampilkan pesan “Please input p Upper Limit”

ELSE IF (p lower < 227) OR (p upper > 283) tampilkan pesan “ p value should be between 227 and 283”

ELSE IF p lower > p upper tampilkan pesan “p lower should be smaller than p upper”

ELSE IF (p lower > 227) AND (p upper < 283) THEN

panggil modul UpdKeyCombFile dengan variabel p lower dan p upper END

(21)

Modul CheckPrime

Fungsi: mengecek apakah suatu bilangan merupakan bilangan prima atau bukan

BEGIN

IF bil.tersebut = 0 THEN RETURN false ELSE

FOR i = 2 to bil.tersebut / 2 DO j = bil.tersebut mod i

IF j = 0 THEN RETURN false RETURN true

END

Modul GenPrime

Fungsi: menentukan bilangan prima secara acak BEGIN

REPEAT acak a

IF a kelipatan 2 THEN a = a + 1

UNTIL panggil modul CheckPrime dengan variabel a RETURN a

(22)

Modul CheckRelPrime

Fungsi: mengecek apakah 2 bilangan merupakan bilangan yang relatif prima atau bukan

BEGIN

IF a < b THEN tukar a dengan b m = a mod b

WHILE m <> 0 DO a = b

b = m m = a mod b

IF b = 1 THEN RETURN true ELSE RETURN false

END

Modul GenE

Fungsi: menentukan nilai e BEGIN

e = GenPrime

WHILE CheckRelPrime dengan variabel e dan øn DO e = GenPrime RETURN e

END

Modul CalcD

(23)

BEGIN

Hitung d dengan rumus (1+k øn)/e RETURN d

END

Modul RSAAlg

Fungsi: menghitung algoritma RSA (ab mod c) BEGIN

hitung hasil ab mod c RETURN hasil END

Modul UpdKeyCombFile

Fungsi: mengupdate file “pab key combination.txt” yang berisi kombinasi kunci p, a dan b yang dapat membentuk 256 titik pada kurva elliptic

BEGIN

FOR p = p awal to p akhir DO IF p adalah bilangan prima THEN FOR a = 0 to p-1 DO

FOR b = 0 to p-1 DO Panggil modul CalcNode IF jumlah titik = 256 THEN

(24)

Hitung jumlah kombinasi kunci p, a, dan b yang ditemukan ENDIF ENDFOR ENDFOR ENDIF ENDFOR END Modul CalcNode

Fungsi: membuat representasi karakter ASCII pada titik-titik yang dibentuk oleh

persamaan kurva elliptic. BEGIN

Cari titik-titik yang terdapat pada persamaan kurva elliptic Simpan koordinat titik tersebut ke dalam nomor desimal ASCII Hitung banyak titik

END

Modul ECCAlgEnc

Fungsi: Menjalankan proses enkripsi dengan algoritma ECC BEGIN

baca file pab key combination.txt

IF file “pab key combination.txt” ditemukan THEN Tulis header file

(25)

acak titik G dengan range 0-254

WHILE hasil perkalian bukan titik infinitas DO Kalikan titik G sebanyak n kali

acak nA dengan range 1 sampai n-1 PA = nA * G

hitung jumlah baris pada memo2 FOR ulang = 1 to jumlah baris DO Baca karakter pada Memo2

acak nilai k antara 0 sampai p

cari nilai kPA dengan mengalikan k dengan titik PA jumlahkan titik kPm (titik karakter) dengan titik kPA Tulis hasil enkripsi pada Memo2

ENDFOR ENDIF END

Modul ECCAlgDec

Fungsi: Menjalankan proses dekripsi dengan algoritma ECC BEGIN

Periksa semua kunci yang diinput

IF semua kunci yang diinput benar THEN Tulis header file

acak titik G dengan range 0-254

(26)

Kalikan titik G sebanyak n kali acak nA dengan range 1 sampai n-1 PA = nA * G

hitung jumlah baris pada memo2 FOR ulang = 1 to jumlah baris DO Baca karakter pada Memo2

nACm1 = titik Cm yang pertama * nA

-nACm1 = titik yang berlawanan dengan titik nACm1 Jumlahkan titik Cm2 dengan titik -nACm1

Tulis hasil dekripsi pada Memo2 ENDFOR

ENDIF END

Gambar

Gambar 3.1  Rancangan Struktur Menu Utama  1.  Layar Utama
Gambar 3.2  STD Layar Utama
Gambar 3.3  STD Sub Menu RSA.
Gambar 3.4  STD Sub Menu ECC
+6

Referensi

Dokumen terkait

yang digunakan pada penelitian ini adalah sampel air laut dan kerang Anadara granosa , yang diperoleh dari perairan di sekitar pelabuhan nelayan gampong deah

Siswa menyimak gambar yang berisi lingkungan sehat dan tidak sehat lalu guru memberi penjelasan tentang lingkungan sehat dan tidak sehat serta memberi contoh sederhana.

Dalam memelihara babi mereka sangat membutuhkan pakan yang baik karena babi mempunyai daging yang sangat besar dan dan mempunyai protein yang sangat tinggi na

Pada penelitian ini, desain penelitian yang digunakan oleh peneliti adalah cross-sectional dengan tujuan untuk mengetahui apakah terdapat hubungan antara tingkat

Pengalaman di sektor publik lebih dari 27 tahun dalam penugasan asurans yang berkaitan dengan pelaporan keuangan, kinerja, dan audit tujuan tertentu, serta.. penugasan

Merujuk pada hasil temuan penelitian tentang peran guru PAI pada pelaksanaan kegiatan belajar mengajar dalam mewujudkan pembelajaran Interaktif Inspiratif Menyenangkan

Jika guru telah mempunyai sifat Rabbani, maka dalam segala kegiatan pendidikan anak didiknya akan menjadi Rabbani juga. Jadi, dapat disimpulkan bahwa persyaratan

Diagram Batang Angka Ekivalen Kecelakaan Tampilan seperti pada Gambar 8 dapat diakses dengan mengklik Menu Diagram dan memilih sub menu Diagram Batang Angka Ekivalen