BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem adalah proses menentukan kebutuhan sistem, apa yang harus dilakukan sistem untuk memenuhi kebutuhan pengguna user. Pada saat tahap
perancangan diperlukan analisis sistem yang akan dibangun. Tahapan analisis kebutuhan merupakan tahap awal untuk membangun sebuah sistem atau aplikasi.
Dengan adanya analisis diharapkan agar hasil yang baik dan sesuai dengan kebutuhan.
3.1.1. Analisis Masalah
Perkembangan teknologi jaringan komputer menyebabkan terhubungnya satu komputer dengan komputer lainnya. Sehingga, keamanan data merupakan prioritas
utama dalam pendistribusian data. Dalam pendistribusian data, tentu pengirim tidak akan mau data yang dikirimkan diketahui isinya oleh lain, meskipun data tersebut
sudah berhasil diambil. Untuk melindungi data tersebut adalah dengan memanfaatkan teknik kriptografi dan steganografi. Dengan kriptografi data akan benar-benar berbeda
dengan data yang sebenarnya dan disisipkan ke dalam media gambar mengunakan teknik steganografi sehingga menutup kemungkinan data disalahgunakan oleh orang
lain.
Algoritma NTRUEncrypt merupakan algoritma yang tergolong ke dalam algoritma yang menggunakan sistem kunci publik. Algoritma ini digunakan untuk
mengamankan data teks. Algoritma ini menggunakan operasi terhadap polynomial. Sehingga pesan atau plaintext diubah terlebih dahulu ke dalam bentuk polynomial
untuk dapat melakukan proses enkripsi untuk menghasilkan ciphertext. Penentuan parameter yang digunakan dalam pembangkitan kunci merupakan proses penting pada
algoritma NTRUEncrypt.
Ciphertext yang dihasilkan dari proses enkripsi akan disisipkan ke dalam citra
dengan format bitmap .bmp. Metode yang digunakan untuk menyisipkan pesan adalah steganografi End of File. Metode ini menyisipkan pesan pada akhir file.
Sehingga tidak akan mengganggu kualitas data awal yang akan disisipkan pesan.
3.1.2. Analisis Persyaratan
Analisis persyaratan sistem dikelompokkan ke dalam dua kategori yaitu, analisis persyaratan fungsional dan analisis persyaratan non-fungsional. Persyaratan
fungsional berisi persyaratan pokok dari suatu sistem dimana persyaratan tersebut wajib ada atau disediakan dalam sistem tersebut. Sedangkan persyaratan non-
fungsional berupa persyaratan tambahan yang dapat menunjang kinerja dari persyaratan fungsional.
3.1.2.1. Persyaratan Fungsional
Persyaratan fungsional dari sistem yang akan dirancang adalah sebagai berikut. 1. Plaintext yang akan dienkripsi adalah file dengan format text .txt.
2. Citra digital yang digunakan untuk penyisipan pesan adalah file dengan format bitmap .bmp.
3. Parameter yang digunakan saat enkripsi dan dekripsi adalah sama. 4. Hasil dekripsi pesan disimpan kedalam format text .txt.
5. Citra digital yang disisipkan disimpan dalam format bitmap .bmp
3.1.2.2. Persyaratan Non-Fungsional
Adapun persyaratan non-fungsional pada sistem ini adalah sebagai berikut : 1. Performa
Sistem yang dibangun harus dapat menunjukkan hasil dari proses enkripsi dan penyisipan pesan menggunakan algoritma NTRUEncrypt dan steganografi End
of File . Dan pesan tersebut dapat diekstraksi kembali dari citra penampung.
2. Mudah dipelajari dan digunakan Sistem dibangun sederhana agar mudah digunakan dan dipelajari oleh
pengguna User. 3. Hemat biaya
Perangkat lunak yang dibangun tidak memerlukan peralatan tambahan ataupun perangkat pendukung dalam proses eksekusinya.
4. Dokumentasi Perangkat lunak yang akan dibangun mampu menyimpan citra digital
disisipkan pesan dan dapat menyimpan pesan yang diekstraksi kembali. 5. Manajemen kualitas
Perangkat lunak yang akan dibangun harus memiliki kualitas yang baik yaitu proses enkripsi dan penyisipan pesan relatif cepat. Begitu juga saat proses
ekstraksi pesan dan dekripsi 6. Kontrol
Perangkat lunak harus mampu memanajemen proses error yang terjadi pada saat penggunaan.
3.1.3. Analisis Proses
Dalam sistem ini digunakan algoritma NTRUEncrypt untuk melakukan proses enkripsi dan dekripsi, sedangkan untuk penyisipan pesan dilakukan dengan
steganografi EOF. Proses pertama yang akan dikerjakan sistem adalah proses pembangkitan kunci yaitu kunci privat dan kunci publik. Pembangkitan kunci
dilakukan setelah menentukan parameter set. Kunci privat yang dibangkitkan harus
mempunyai invers. Kunci publik yang dibangkitkan akan digunakan untuk mengenkripsi file text yang diinputkan. Setelah melakukan enkripsi, ciphertext akan
disisipkan pada citra asli, yaitu citra dengan format .bmp. Citra hasil penyisipan citra stego disimpan dalam media penyimpanan dan akan dikirim kepada penerima pesan.
Untuk mengetahui pesan yang diterima maka citra stego harus diekstraksi, citra yang diektraksi menghasilkan citra asli dan ciphertext. Kemudian ciphertext didekripsi
untuk mengetahui isi pesan tersebut.
3.2. Perancangan Sistem
Perancangan sistem merupakan tahapan yang dilakukan setelah tahap analisis sistem. Adapun perancangan sistem yang dilakukan adalah perancangan flowchart, kemudian
dilanjutkan dengan pembuatan diagram Unified Modeling Language UML dari sistem.
3.2.1. Perancangan Flowchart Aplikasi
Pada bagian ini akan dijelaskan langkah-langkah pembuatan aplikasi dalam flowchart sistem kemudian akan dijabarkan dalam bagian-bagian flowchart algoritma.
Flowchart di dalam sistem diantaranya: flowchart enkripsi Algoritma NTRUEncrypt
dan penyembunyian data EOF, flowchart ekstraksi EOF dan dekripsi pesan, flowchart enkripsi, flowchart dekripsi, flowchart penyisipan data, serta flowchart ekstraksi.