3.2.1.2 Flowchart Algoritma Miller-Rabin Proses untuk pengujian bilangan prima menggunakan algoritma Miller-Rabin
ditunjukkanpada Gambar 3.2.n merupakan variabel yang akan diuji keprimaannya. t dan umerupakan variabel yang akan memenuhi persamaan
� – 1 = 2
�
�. Fungsi
witness
diimplementasikan untuk menguji bilangan yang diberikan ialah komposit dengan menghitung kepemilikan akar kuadrat.
Start n
u = n – 1 t = 0
u = 2 t += 1
Y N
Y a = random2, n – 1
witnessa
“n is not Prime” Y
End “n is Prime”
N Y
Start a, u, t, n
x = [] x.appendpowa, u, n
Y x.appendpowx[i-1], 2, n
x[i] == 1 and x[i-1] = 1 and
x[i-1] = n - 1 “True”
Y N
N
A B
x[t] = 1
“True” Y
End “n is not Prime”
N u 1 == 0
i = 0 i in rangen.length
i = 0 i in range1, t+1
Gambar 3.3 Flowchart
A. Algoritma Miller-Rabin B. Fungsi Witness
Universitas Sumatera Utara
3.2.1.3 Flowchart Algoritma Gordon Proses untuk pembangkitan bilangan yang memenuhi konsep Strong Prime
menggunakan algoritma Gordon ditunjukkanpada Gambar 3.3.p merupakan bilangan Strong Prime. Algoritma Gordon menggunakan algoritma Miller-Rabin untuk
menguji keprimaan setiap deret p dan q yang memenuhi konsep Strong Prime.
Start bit
r = generateRandomPrimebit2 s = generateRandomPrimebit2
s = generateRandomPrimebit Y
N
N
p0 = powr, q - 1, r q – powq, r - 1, r q + r q
p0 = p0 r q j = 1
p = 2 j q r + p0
End j = 1
p = 0 q = 2 j s + 1
q = 2 j s + 1 j += 1
Y
N p = 2 j q r + p0
j += 1 p
Y p0 1 == 0
Y N
not MillerRabinq not MillerRabinq
s == r
Gambar 3.4 FlowchartAlgoritma Gordon
Universitas Sumatera Utara
3.2.2 Data Flow Diagram DFD Data Flow Diagram ialah suatu model yang menggambarkan aliran data atau proses
yang dilakukan pada suatu rancangan sistem. DFD digunakan sebagai perangkat analisis dan perancangan terstruktur sehingga memungkinkan analis sistem
memahami sistem secara visual yang berupa rangkaian aliran data yang saling berkaitan.
3.2.2.1 DFD Level 0 DFD Level 0 diagram konteks menggambarkan suatu sistem secara keseluruhan,
termasuk aliran data masukan input ke dalam proseskegiatan sistem maupun data keluaran output. Diagram konteks dari aplikasi yang akan dibangun ditunjukkan
pada gambar 3.4.
Admin Super User
User Data User
Jumlah User Informasi Default User
Daftar Status Users Daftar Status Users
Data Admin Sistem Kriptografi RSA
Banyak Kunci Autentikasi
Pengguna pada Web
Gambar 3.5 DFD Level 0
Berdasarkan gambar 3.4, terdapat dua entitas, yaitu User dan AdminSuper User. Untuk memasuki sistem, kedua entitas harus memberikan masukan berupa
passwordkata sandi. Kemudian, sistem memberikan keluaran berupa daftar status User. Khusus bagi Admin, dapat memberikan masukan jumlah user ke dalam sistem
untuk mengatur ulang reset seluruh User yang ada dan sistem akan memberikan keluaran berupa informasi default User yang terdiri dari nama pengguna dan kata
sandi acak.
3.2.2.2 DFD Level 1 Berdasarkan diagram konteks, sistem terbagi menjadi empat aktivitas utama, yaitu:
penggantian kata sandi, update status onlineoffline seluruh pengguna, pemeriksaan akses ke sistem dan pengaturan ulang seluruh pengguna. Setiap proses memerlukan
input berupa data Admin dan data User username dan kata sandi sebagai identitas pengguna.
Universitas Sumatera Utara
Pemeriksaan Akses ke Sistem
Admin Super User
User Kata Sandi
Jumlah User Data Default Users
Data Status Users Penggantian
Kata Sandi
Pengaturan ulang seluruh pengguna
Update status onlineoffline
seluruh pengguna Users
Data Default User Kata Sandi User
Keys DataUser
Data Status Users
Data Admin Data User
Informasi Akses User
Data Status Users
Data Status Users Kata Sandi Admin
Data Admin Data Admin
Data Users Kunci
e dan n 1
2
3
4 D1
Keys D3
User_log D2
Data Users Data AdminUser
Gambar 3.6 DFD Level 1
3.2.2.3 DFD Level 2 Proses 1 Pada proses 1 penggantian kata sandi, proses terbagi menjadi dua, yaitu enkripsi kata
sandi yang diinginkan dan update kata sandi baru pengguna. Pada proses 1.1, kata sandi masing-masing Admin dan User dienkripsi menggunakan kunci e dan n yang
terdapat dalam database Keys dan Users. Kemudian, kata sandi terenkripsi disimpan melalui proses 1.2.
Admin Super User
User Enkripsi
Kata Sandi Kata Sandi Admin
Update Kata Sandi
Kata Sandi User
Kata Sandi Terenkripsi
Kata Sandi Kunci n
1.1
1.2 Users
D1 Keys
D3 Username
Kunci e
Gambar 3.7 DFD Level 2 Proses 1
Universitas Sumatera Utara
3.2.2.4 DFD Level 2 Proses 2 Pada proses 2, proses update status seluruh pengguna terbagi menjadi dua, yaitu
menentukan status Users dan menyimpan status seluruh pengguna. Proses 2.1 membaca isi database User_log untuk memberikan status Users kepada Admin dan
User. Proses 2.2 mendeteksi koneksi User yang login ke dalam sistem dan menyimpannya ke dalam storage User_log.
Data Status Users Admin
Super User User
Data Status Users Menentukan
Status Users
Data Users DataUser
Data Status Users
Menyimpan status onlineoffline
seluruh pengguna Data Admin
Data Users 2.1
2.2 User_log
D2 Users
D1
Gambar 3.8 DFD Level 2 Proses 2
3.2.2.5 DFD Level 2 Proses 4 Pada proses 4, proses pengaturan ulang reset seluruh pengguna terbagi menjadi
tujuh, yaitu enkripsi kata sandi Admin dan User, dekripsi kata sandi admin, pemeriksaan kata sandi Admin, pembangkitan kunci setiap pengguna dan kata sandi
User. Kata sandi dienkripsi oleh proses 4.1 dilanjutkan pemeriksaan kesamaan kata sandi pada proses 4.2. Apabila cocok, kata sandi tersebut didekripsi pada proses 4.3
menggunakan kunci-kunci yang telah dibangkitkan pada proses 4.5. Selain kunci- kunci setiap pengguna dibangkitkan, kata sandi setiap User juga dibangkitkan secara
acak pada proses 4.6 lalu dienkripsi pada proses 4.7. Pasangan kata sandi yang telah dienkripsi dan username pada storage Users.
Universitas Sumatera Utara
Admin Super User
Jumlah User Data Admin +
Kata sandi terenkripsi Pemeriksaan
kata sandi
Data Default Admin Keys
Data Admin
Pembangkitan kunci setiap pengguna
Data Admin Enkripsi kata sandi
Admin Kata sandi
terenkripsi Admin
Dekripsi kata sandi Admin
Pembangkitan kata sandi User
Jumlah User Data Default User
Enkripsi kata sandi Admin
Kata sandi Admin Kunci Admin
Enkripsi kata sandi User
Kunci User Kata sandi User
Keys Keys
Keys Keys
4.1
4.7 4.4
4.3 4.2
4.5
4.6 Users
D1
Keys D3
Gambar 3.9 DFD Level 2 Proses 4
3.2.3 Kamus Data Kamus data adalah daftar fakta tentang data dari setiap proses yang terjadi dalam
suatu sistem. Kamus data untuk sistem ini adalah sebagai berikut:
a. Keys File keys berfungsi untuk menyimpan semua data, yaitu kunci global yang
digunakan dalam proses enkripsi dan dekripsi.
Tabel 3.1 Kamus Data Keys
Nama Tipe Data
Keterangan
p String of Integer
Faktor prima p q
String of Integer Faktor prima q
n String of Integer
Kunci publik n tot_n
String of Integer Totien n = p · q
b. User_log File User_log berfungsi untuk menyimpan semua status seluruh pengguna
yang telah masuk ke sistem, yaitu halaman status.
Tabel 3.2 Kamus Data User_log
Nama Tipe Data
Keterangan
username String
Nama pengguna stamp
Datetime Tanggal dan waktu
c. Users
Universitas Sumatera Utara
File Users berfungsi untuk menyimpan seluruh identitas setiap pengguna sistem.
Tabel 3.3 Kamus Data Users
Nama Tipe Data
Keterangan
_id String of Integer
Nama pengguna Kd
String of Integer Kunci dekripsi
Ke String of Integer
Kunci enkripsi pass
String of List Kata sandi pengguna
yang telah dienkripsi
3.2.4 Mockup Mockup adalah rancangan sistem yang berskala kecil dan tidak lengkap serta
digunakan sebagai tampilan desain awal. Sistem ini terdapat lima page utama, yaitu Index page, Status page, Setting page, Reset page dan System page.
3.2.4.1 Index Page Tampilan awal sistem ialah Index Page. Di dalam page ini terdapat pilihan navigasi
dan form untuk login. Untuk masuk ke dalam sistem, pengguna harus memberikan input berupa username dan password pada form yang tersedia. Rancangan tampilan
page ditunjukkan pada gambar 3.9:
Gambar 3.10 Mockup Index page
Universitas Sumatera Utara
3.2.4.2 Status Page Status page ditunjukkan setelah pengguna melakukan login. Page ini
menampilkandaftar seluruh pengguna beserta status onlineofflinenya. Status masing- masing pengguna memiliki indikator perbedaan warna. Rancangan tampilan page
ditunjukkan pada gambar 3.10:
Gambar 3.11 Mockup Status page
3.2.4.3 Setting Page Setting page dapat diakses dengan memilih link setting pada menu navigasi. Dalam
page ini, terdapat form input untuk mengubah kata sandi pengguna yang bersangkutan. Rancangan tampilan page ditunjukkan pada gambar 3.11:
Gambar 3.12 Mockup Setting page
3.2.4.4 Reset Page Resetpage hanya dapat diakses oleh role admin. Dalam page ini, terdapat form input
untuk mengatur ulang jumlah user beserta kata sandi setiap pengguna. Untuk melakukan reset, role admin harus menginputkan jumlah pengguna yang diinginkan
serta password milik super useradmin. Rancangan tampilan page ditunjukkan pada gambar 3.12:
Universitas Sumatera Utara
Gambar 3.13 Mockup Reset page
3.2.4.5 System Page Systempage hanya dapat diakses oleh role admin. Page ini hanya terdapat text yang
mengindikasikan bahwa autorisasi pengguna berhasil. Rancangan tampilan page ditunjukkan pada gambar 3.13:
Gambar 3.14 Mockup System page
Universitas Sumatera Utara
BAB IV IMPLEMENTASI DAN PENGUJIAN