Algoritma Miller-Rabin B. Fungsi Witness

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