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