Perancangan Sistem ANALISIS DAN PERANCANGAN SISTEM

3.2.3. Sequence diagram Diagram sequence digunakan untuk menggambarkan interaksi antara aktor dengan sistem dalam skenario use-case dengan mendeskripsikan waktu hidupnya, serta meng- identifkasi messages yang masuk ke dan keluar dari sistem. Pengirim :AES Service :ECElGamal Service Penerima generatePublicKeysecurityLevel :Main Service decryptcipher message :PrimeGenerator Service probablePrimebitLength large prime p encryptmessage cipher public key Q encryptkey, Q cipher key sendcipher + cipherKey secret message decryptcipherKey, n key Gambar 3.7: Diagram sequence sistem keamanan data.

3.3. Perancangan Sistem

3.3.1. Perancangan sistem pangkalan data database Database Management System DBMS adalah perangkat lunak yang memungkinkan pemakai membuat, memelihara, mengontrol dan mengakses basis data dengan cara praktis dan efisien. DBMS pada umumnya menyediakan fasilitas atau fitur-fitur yang memungkinkan data dapat diakses dengan mudah, aman dan cepat. Ada berbagai jenis model basis data, seperti model hirarki, berorientasi objek dan relasional. Model basis data yang akan digunakan adalah relasional, karena sederhana dan mudah digunakan. Pemodelan data merupakan teknik pengorganisasian dan pendokumentasian data yang akan diproses di dalam suatu sistem dan biasanya disebut juga dengan pemodelan database. Data dimodelkan menggunakan ERD Entity Relationship Diagram, yaitu sebuah diagram yang menggambarkan data dan atribut-atributnya sebagai suatu entity, serta hubungannya dengan entity lain. Entity dapat diartikan sebagai sebuah kelas yang digunakan untuk menampung dan menyimpan data. ERD Universitas Sumatera Utara tersusun dalam bentuk tabel dua dimensi, yang terdiri dari baris record dan kolom field. Seluruh tabel dihubungkan satu dengan yang lain sedemikian rupa menggunakan primary key, sehingga dapat mengurangi duplikasi data. Sistem ini menggunakan sebuah database yang terdiri dari empat tabel, yaitu Transactions, History, EllipticCurves, dan ECPoints. Tabel Transaction menyimpan parameter publik dan kunci rahasia yang dipakai dalam transaksi pengiriman naskah rahasia. Dan tabel History digunakan untuk menyimpan aktivitas enkripsi dekripsi file. Transactions EllipticCurves History ECPoints PrivateKey text PK Date datetime EllipticCurve int ECPoint int Destination varchar80 _ID int PK A text B text Fp text _ID int PK Filename text Status bit1 _ID int PK X text Y text Memiliki Memiliki Memiliki Gambar 3.8: Entity Relationship Diagram ERD sistem keamanan data. 3.3.2. Perancangan proses sistem Alur proses sistem telah dianalisis sebelumnya pada sub-bab 3.1.3, di mana proses yang lebih dulu dilakukan adalah enkripsi terhadap teks plain-text atau file yang dilanjutkan dengan enkripsi terhadap kunci Rijndael. Selanjutnya, pengiriman naskah acak beserta kunci acak kepada penerima. Dan terakhir proses dekripsi kunci acak yang dilakukan penerima untuk mendapatkan kembali kunci yang dapat mendekripsi naskah acak, sehingga mendapatkan kembali pesan asli dari pengirim. Seluruh proses dan aliran data pada sistem diperlihatkan pada Gambar 3.9. Universitas Sumatera Utara Pengirim Alice Enkripsi Pesan dengan AES History Penerima Bob Enkripsi Kunci dengan ElGamal Kurva Eliptik Dekripsi Pesan Acak dengan AES Dekripsi File Acak dengan AES Enkripsi Files dengan AES Dekripsi Kunci Acak dengan ElGamal Kurva Eliptik Bangkitkan Bilangan Prima dengan Miller-Rabin EllipticCurves ECPoints Transactions Kirim via E-mail Bangkitkan Parameter Publik Kunci Acak File Terpilih ListView dan Kunci AlertDialog File Acak ListView and Notification Drawer Pesan dan Kunci EditText Pesan Acak TextView Key Cipher-key and Cipher or Cipher-file Pesan Acak TextView atau File Acak ListView Buat Kunci Publik Kirim Permintaan Pembuatan Parameter Publik Persamaan Kurva Eliptik E dan Titik Acak P Tingkat Keamanan Spinner Bilangan Prima E adan P Persamaan Kurva Elliptik E dan Titik Acakt P E , P, dan n Kunci Acak, n , dan Pesan Acak atau File Acak Kunci Dekripsi Cipher-key and Private Key n Kunci Pesan Acak Titik Acak Insert Kurva Eliptik Insert Proses Kriptografi Insert Proses Kriptografi Insert Buat Kunci Privat Kunci Privat n Semua Kunci Privat Select Semua Parameter Publik dan Kunci Privat Insert Public Key Q Kunci Publik Q Kontak terpilih Activity { Intent.GET } File ListView Notification Drawer Cipher-file Pesan TextView Gambar 3.9: Physical DFD sistem keamanan data. 3.3.3. Perancangan antar-muka sistem Antar-muka sistem atau disebut juga dengan GUI Graphical User Interface dibangun menggunakan komponen-komponen pada platform Android yang disebut dengan View, Universitas Sumatera Utara dan wadahnya container disebut dengan ViewGroup. Ada banyak view sesuai dengan fungsinya masing-masing, seperti TextView, EditText, Button, ImageView, ListView, Spinner, Switch, dan lainnya. Pada platform Android, GUI akan ditampilkan kepada pengguna menggunakan Activity atau Fragment. Perbedaan keduanya adalah sebuah activity bisa menampilkan fragment, sementara fragment hanya bisa menampilkan fragment lainnya. Jadi, fragment membuat sebuah aplikasi menjadi lebih dinamis, karena activity bisa menambah, menghapus, atau mengganti fragment saat aplikasi sedang berjalan. Sistem ini akan dibangun dengan lima fungsionalitas utama yang terdari menu Message, Files, My Top Secrets, Settings, dan Feedback. Kelima menu disajikan dengan user interface yang didesain menggunakan dua activity, FileActivity dan SettingActivity, dan tiga fragment, yaitu MessageFragment, MyTopSecretFragment, dan Feedback- Fragment. Selain itu, sistem juga akan menggunakan sebuah dialog yang berfungsi membaca input kunci dari pengguna saat melakukan enkripsi atau dekripsi file yang dipilih.  MainActivity Activity utama yang akan berjalan pertama kali saat aplikasi dijalankan yang terdiri dari dua fragment utama, yaitu NavigationDrawerFragment dan MainFragment. Top Secret Message Files My Top Secrets Settings Feedback 2 3 1 Gambar 3.10: Desain MainActivity. 1 ImageButton, berfungsi untuk membuka atau menutup Navigation Drawer. 2 NavigationDrawerFragment, berfungsi sebagai Navigation Drawer yang akan menampilkan daftar menu menggunakan ListView. 3 MainFragment, berfungsi sebagai wadah container utama untuk fragment yang dipilih oleh pengguna melalui menu di Navigation Drawer. Universitas Sumatera Utara  MessageFragment Fragment yang akan muncul saat pengguna memilih menu Message. Fragment ini akan menjalankan proses enkripsi dekripsi plain-text dan pengiriman naskah acak cipher via e-mail. Mode enkripsi atau dekripsi ditukar menggunakan Switch 1 dan hasilnya ditampilkan menggunakan TextView 4. Selanjutnya jika pengguna ingin mengirim naskah acak cipher, tekan ImageButton 5. Type key Type message Message 1 3 5 6 8 2 4 7 Gambar 3.11: Desain MessageFragment. Berikut adalah penjelasan dari rancangan user interface pada Gambar 3.11. 1 Switch, berfungsi untuk menukar mode enkripsi atau dekripsi. 2 EditText, berfungsi untuk menangkap input kunci dari pengguna. 3 ImageButton, berfungsi untuk mengubah karakter pada EditText 2 menjadi terlihat atau tidak terlihat. 4 TextView, berfungsi untuk menampilkan hasil enkripsi atau dekripsi. 5 ImageButton, berfungsi untuk melakukan pengiriman naskah acak cipher pada TextView 4 melalui e-mail. 6 ImageButton, berfungsi untuk menyalin string pada TextView 4 ke clipboard. 7 EditText, berfungsi untuk menangkap plain-text naskah asli atau acak dari pengguna. 8 ImageButton, berfungsi untuk menjalankan proses enkripsi atau dekripsi string pada EditText 7. Universitas Sumatera Utara  FileActivity Fragment yang akan muncul saat pengguna memilih menu Files. Fragment ini akan menampilkan seluruh file yang tersimpan di dalam Phone dan SD Card storage menggunakan ListView untuk menjalankan proses enkripsi. File akan ditampilkan berdasarkan ekstensinya yang telah dikelompokkan menjadi kategori: 1 Document, terdiri dari ∗. , ∗. , ∗. , ∗. , ∗. , dan lainnya. 2 Multimedia, terdiri dari ∗. , ∗. , ∗ . , dan lainnya dengan ukuran yang tidak terlalu besar. 3 Text, terdiri dari ∗. , ∗. ℎ , ∗. ℎ , ∗. , dan lainnya. Kategori ini adalah file yang dapat dibaca oleh manusia. 4 Other, terdiri dari file dengan ekstensi yang tidak termasuk ke dalam kategori document, multimedia, text, atau photo, seperti ∗. , ∗. , dan lainnya. Masing-masing kategori ditampilkan dengan ListView dan fragment yang berbeda yang seluruhnya ditampilkan menggunakan ViewPager 3. Jika pengguna ingin mengenkripsi file dengan kategori photo, tekan ImageButton 1. Maka sistem akan memanggil activity lain yang dapat menampilkan foto, misalnya Google Photos atau Gallery. Seluruh file hasil enkripsi akan disimpan ke dalam direktori . File 1 File 2 File 3 File 4 File 5 Files 3 1 2 Gambar 3.12: Desain FileActivity. 1 ImageButton, berfungsi untuk menjalankan activity yang dapat menampilkan foto. 2 ListView, berfungsi untuk menampilkan seluruh file yang tersimpan di media penyimpanan. 3 ViewPager, berfungsi untuk menampilkan empat fragment yang mengategorikan file berdasarkan ekstensinya. Universitas Sumatera Utara  MyTopSecretFragment Fragment yang akan muncul saat pengguna memilih menu My Top Secrets, yang akan menampilkan seluruh file yang terenkripsi cipher-file menggunakan sebuah ListView 1. Fragment ini akan menjalankan proses dekripsi file dan pengiriman cipher-file melalui e-mail. File 1 File 2 File 3 File 4 File 5 My Top Secrets 1 Gambar 3.13: Desain MyTopSecretFragment.  SettingActivity Activity yang akan muncul saat pengguna memilih menu Settings. SettingActivity bertugas menyimpan seluruh pengaturan fungsional tambahan sistem ke dalam suatu media penyimpanan yang oleh Android disebut dengan SharedPreferences. Terdapat empat pengaturan fungsional tambahan sistem, yaitu: a. Pengaturan bahasa yang ditampilkan oleh sistem kepada pengguna. b. Pengaturan apakah setiap file yang telah selesai dienkripsi akan dihapus atau tidak begitu proses selesai. c. Pengaturan apakah menggunakan kata sandi untuk membuka My Top Secrets atau tidak. Jika ya, maka pengguna harus memasukkan kata sandinya untuk disimpan. 1 ListView, berfungsi untuk menampilkan seluruh file terdekripsi yang tersimpan di direktori . Universitas Sumatera Utara Settings Language Delete File Password English Always delete original file after encryption To unlocked My Top Secrets 1 2 3 Gambar 3.14: Desain SettingActivity.  FeedbackFragment Fragment yang akan muncul saat pengguna memilih menu Feedback. Fragment ini akan mengirim umpan-balik feedback dari pengguna kepada pihak pengembang developer melalui e-mail. E-mail Write your feedback Feedback 2 3 1 Gambar 3.15: Desain FeedbackFragment. 1 ImageButton, berfungsi untuk mengirim string pada EditText 3 kepada pihak pengembang developer. 2 Spinner, berfungsi untuk menampilkan daftar akun e-mail pengguna. 3 EditText, berfungsi untuk menerima input umpan-balik feedback dari pengguna. 1 ListPreference, menyimpan pengaturan bahasa yang digunakan sistem. 2 SwitchPreference, menyimpan pengaturan apakah file asli yang telah terenkripsi dihapus atau tidak. 3 EditTextPreference, menyimpan kata sandi yang akan digunakan untuk menampilkan MyTopSecretFragment. Universitas Sumatera Utara  KeyInputDialog Sebuah dialog yang akan muncul saat pengguna menekan item pada ListView untuk melakukan enkripsi atau dekripsi file. Dialog ini terdiri dari: 1 TextView, berfungsi menampilkan direktori file. 2 EditText, berfungsi menangkap input kunci dari pengguna. 3 ImageButton, berfungsi mengubah karakter pada EditText 2 menjadi terlihat atau tidak terlihat. 4 Encrypt Button, berfungsi menjalankan proses enkripsi file. 5 Cancel Button, berfungsi menutup dialog membatalkan proses enkripsi. Type key Insert key for encrypt this file File’s path Cancel Encrypt Gambar 3.16: Desain KeyInputDialog. Universitas Sumatera Utara

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM