Perancangan Sistem Implementasi Sistem Keamanan Data Menggunakan Algoritma RSA Dan Modified LSB

dikirimkan kepada penerima pesan untuk selanjutnya akan diekstraksi, yaitu dengan mengambil data komponen warna merah, kemudian memilih nilai bit-bit terakhir dari byte yang terletak hanya pada diagonal segmen warna merah tersebut. Setelah didapat bit-bit tersebut, sistem akan menerjemahkan tiap 20 bit ke dalam bentuk desimal, dan proses ini akan berhenti sampai di dapat biner dari karakter penanda yang digunakan sebagai penanda akhir dari cipherteks yang disisipi oleh pengirim pesan.

3.4 Perancangan Sistem

Perancangan sistem dilakukan agar memudahkan implementasi dalam pengembangan sistem. Perancangan sistem dapat berupa perancangan dalam bentuk flowchart, use case diagram, pseudocode maupun perancangan antarmuka interface. Perancangan ini nantinya yang akan menjadi patokan dalam pengembangan sistem selanjutnya.

3.4.1 Flowchart

Flowchart merupakan gambaran yang berupa bagan atau grafik dari langkah-langkah dan urutan-urutan prosedur dari suatu program. Untuk memahami proses pada sistem keamanan data ini, berikut adalah beberapa flowchart untuk menjelaskan proses kerja dari sistem yang dirancang:

3.4.1.1 Flowchart Gambaran Umum Sistem

Flowchart gambaran umum sistem ini menggambarkan keseluruhan proses yang terjadi pada sistem secara umum. Pada flowchart ini akan terlihat gambaran umum proses yang terjadi pada sistem, mulai dari proses embed, extract, encryption, dan decryption. Berikut adalah flowchart gambaran umum alur kerja sistem: Universitas Sumatera Utara Gambar 3.8 Flowchart Gambaran Umum Sistem Halaman Home tidak Ya Mulai Exit Extract Embed Pilih Stego Image tidak tidak Ya Cipherteks Input Kunci Privat Plainteks Ya Random Kunci Input Plainteks Cipherteks Pilih Cover Image Stego Selesai Help tidak Ya Ekstraksi Enkripsi Embedding Dekripsi Halaman Extract Halaman Embed Halaman Help Universitas Sumatera Utara

3.4.1.2 Flowchart Proses Enkripsi

Proses enkripsi dengan Algoritma RSA pada sistem ini dapat digambarkan dengan flowchart berikut: Tidak Tidak Mulai Ya Random p dan q prima? . Random ≡ Gcd , Ya Kunci Publik, Kunci Privat A Universitas Sumatera Utara Gambar 3.9 Flowchart Proses Enkripsi

3.4.1.3 Flowchart Proses Dekripsi

Proses dekripsi untuk mendapatkan plainteks dari cipherteks dengan Algoritma RSA pada sistem ini dapat digambarkan dengan flowchart pada Gambar 3.10. A Input Plainteks Ubah plainteks menjadi 3 angka desimal ASCII Ubah tiap 6 digit angka desimal menjadi 1 blok Blok ‐blok Cipherteks Selesai Panjang plainteks == ganjil Tidak Plainteks + “.” Ya Universitas Sumatera Utara Gambar 3.10 Flowchart Proses Dekripsi Mulai Blok cipherteks Input Kunci Privat d n Blok plainteks Konversi tiap 3 digit angka desimal ke ASCII Plainteks Selesai Pjg =genap endchar = “.” Plainteks = plainteks Plainteks = plainteks – “. “ Plainteks Ya Tidak Universitas Sumatera Utara

3.4.1.4 Flowchart Proses Embedding

Untuk menyisipkan cipherteks ke dalam cover image penyembunyian pesan dilakukan dengan menggunakan metode Modified LSB yang mengganti diagonal-diagonal byte komponen warna merah pada citra. Proses penyembunyian pesan tersebut dapat digambarkan dengan flowchart berikut: Tidak Tampilkan pesan Error A Tambahkan cipher dgn karakter ‘’ sbg penanda akhir dr pesan Mulai Blok ‐blok cipherteks Dimensi minimal = Jlh blok cipher 20 +20 Pilih cover image .bmp Cover image dimensi minimal Ya Ambil segmen warna merah Ubah cipher ke dalam biner 20 bit Universitas Sumatera Utara Gambar 3.11 Flowchart Proses Embedding Transpose matriks pesancipher A Bentuk matriks . Letakkan pesan ke diagonal‐ diagonal matriks buatan Zeros+2 Ganti bit‐bit terakhir diagonal byte merah dengan bit diagonal matriks buatan Stego image Simpan Nama file baru = Nama file yg telah ada Ya Konfirmasi File baru.bmp Selesai Tidak Universitas Sumatera Utara

3.4.1.5 Flowchart Proses Extracting

Ekstraksi dilakukan untuk memisahkan cipherteks yang tersembunyi dari stego image. Flowchart untuk proses ekstraksi diperlihatkan pada Gambar 3.12. Gambar 3.12 Flowchart Proses Extracting Mulai Pilih stego image .bmp Ambil komponen warna merah Ambil bit‐bit terakhir dari diagonal byte merah Pesan error: “Tidak ada pesan tersembunyi” Konversi e dalam bentuk desimal ′ Blok ‐blok cipherteks Selesai Ya e == eof Tidak Tidak e = [cipherteks] Cipherteks = [e] Cipherteks = [ ] Ya Universitas Sumatera Utara

3.4.2 Use Case Diagram

Fungsionalitas sistem digambarkan dalam bentuk use case diagram. Dimana sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Gambar 3.13 berikut adalah use case diagram dari sistem keamanan data. Gambar 3.13 Use Case Sistem SISTEM Embed Extract Input Plaintext Decrypt Input Private Key Extracting Select Image Embedding Select Image Encrypt Random p q USER Universitas Sumatera Utara Spesifikasi untuk masing-masing use case adalah sebagai berikut:

3.4.2.1 Use Case Embed

Spesifikasi use case Embed diperlihatkan pada tabel berikut: Tabel 3.1 Spesifikasi Use Case Embed Name Embed Actors User Trigger User memilih menu Embed Preconditions User menggunakan sistem keamanan data Post Conditions User dapat melihat hasil embedding Success Scenario 1. User memilih menu Embed. 2. Sistem menampilkan halaman Embed. 3. User mengeksekusi tombol random dan sistem membangkitkan pasangan kunci publik dan privat. 4. User menuliskan pesan yang akan dienkripsidisembunyikan kemudian mengeksekusi tombol Encrypt. 5. Sistem melakukan proses Enkripsi. 6. User memilih image sebagai cover image dan mengeksekusi tombol Embed. 7. Sistem melakukan proses Embedding dan menampilkan hasil embedding. 8. User dapat melihat hasil embedding. Alternative Flows -

3.4.2.2 Use Case Random p q

Spesifikasi use case Random p q dapat dilihat pada tabel berikut: Universitas Sumatera Utara Tabel 3.2 Spesifikasi Use Case Random p q Name Random p q Actors User Trigger User memilih menu Embed Preconditions User mengakses menu Embed Post Conditions User dapat melihat nilai p,q, kunci publik dan kunci privat Success Scenario 1. User memilih menu Embed. 2. Sistem menampilkan halaman Embed. 3. User mengeksekusi tombol random. 4. Sistem membangkitkan p, q, pasangan kunci publik dan privat kemudian menampilkannya. 5. User dapat melihat nilai p, q, kunci publik dan kunci privat. Alternative Flows -

3.4.2.3 Use Case Input Plaintext

Spesifikasi use case Input Plaintext dapat dilihat pada tabel berikut: Tabel 3.3 Spesifikasi Use Case Input Plaintext Name Input Plaintext Actors User Trigger User telah mendapatkan kunci publik dan kunci privat Preconditions User mengakses menu Embed Post Conditions User dapat melihat pesan yang akan dienkripsi Success Scenario User telah mendapatkan kunci publik dan kunci privat selanjutnya menginputkan plainteks yang akan dienkripsi Alternative Flows -

3.4.2.4 Use Case Encrypt

Spesifikasi use case Encrypt dapat dilihat pada tabel berikut: Universitas Sumatera Utara Tabel 3.4 Spesifikasi Use Case Encrypt Name Encrypt Actors User Trigger User telah menginputkan plainteks yang akan dienkripsi Preconditions User mengakses menu Embed Post Conditions User dapat melihat cipherteks hasil proses enkripsi Success Scenario 1. User telah menginputkan plainteks yang akan dienkripsi. 2. User mengakses tombol Encrypt. 3. Sistem akan melakukan proses enkripsi terhadap plainteks yang diinputkan dan menampilkan cipherteksnya. 4. User dapat melihat cipherteks hasil proses enkripsi. Alternative Flows -

3.4.2.5 Use Case Select Image Menu Embed

Spesifikasi use case Select Image menu Embed dapat dilihat pada tabel berikut: Tabel 3.5 Spesifikasi Use Case Select Image Menu Embed Name Select Image Actors User Trigger User telah mendapatkan cipherteks hasil enkripsi Preconditions User mengakses menu Embed Post Conditions Sistem menampilkan gambar yang dipilih oleh user sebagai cover image Success Scenario 1. User telah mendapatkan cipherteks yang akan disembunyikan dalam image. 2. User mengeksekusi tombol select image. 3. Sistem menampilkan pop-up window untuk mengakses lokasi penyimpanan gambar. 4. User memilih image bmp 24 bit yang diinginkan. 5. Sistem menampilkan gambar yang dipilih oleh user. Universitas Sumatera Utara 6. User dapat melihat image yang telah dipilih. Alternative Flows -

3.4.2.6 Use Case Embedding

Spesifikasi use case Embedding dapat dilihat pada tabel berikut: Tabel 3.6 Spesifikasi Use Case Embedding Name Embedding Actors User Trigger User telah memilih gambar sebagai cover image Preconditions User mengakses menu Embed Post Conditions Sistem menampilkan gambar hasil embedding Success Scenario 1. User telah memilih image sebagai cover image, kemudian mengeksekusi tombol embed. 2. Sistem melakukan proses embedding dan menampilkan hasil embedding. 3. User dapat melihat stego image hasil proses embedding. Alternative Flows -

3.4.2.7 Use Case Extract

Spesifikasi use case Extract diperlihatkan pada tabel berikut: Tabel 3.7 Spesifikasi Use Case Extract Name Extract Actors User Trigger User memilih menu Extract Preconditions User menggunakan sistem keamanan data Post Conditions User dapat melihat hasil dekripsi Universitas Sumatera Utara Success Scenario 1. User memilih menu Extract. 2. Sistem menampilkan halaman Extract. 3. User mengeksekusi tombol select image, memilih image sebagai stego image. 4. User mengeksekusi tombol Extract, dan sistem akan menampilkan hasil ekstraksi. 5. User menginputkan pasangan kunci privat dan mengeksekusi tombol decrypt. 6. Sistem melakukan proses dekripsi dan menampilkan hasilnya. 7. User dapat melihat hasil dekripsi. Alternative Flows -

3.4.2.8 Use Case Select Image Menu Extract

Spesifikasi use case Select Image menu Extract dapat dilihat pada tabel berikut: Tabel 3.8 Spesifikasi Use Case Select Image Menu Extract Name Select Image Actors User Trigger User mengakses menu Extract Preconditions User mengakses menu Extract Post Conditions Sistem menampilkan stego image yang dipilih oleh user Success Scenario 1. User mengeksekusi tombol select image. 2. Sistem menampilkan pop-up window untuk mengakses lokasi penyimpanan gambar. 3. User memilih image bmp 24 bit yang akan diekstraksi. 4. Sistem menampilkan gambar yang dipilih oleh user. 5. User dapat melihat image yang telah dipilih. Alternative Flows - Universitas Sumatera Utara

3.4.2.9 Use Case Extracting

Spesifikasi use case Extracting dapat dilihat pada tabel berikut: Tabel 3.9 Spesifikasi Use Case Extracting Name Extracting Actors User Trigger User telah memilih gambar sebagai stego image Preconditions User mengakses menu Extract Post Conditions Sistem menampilkan cipherteks hasil ekstraksi Success Scenario 1. User mengeksekusi tombol extract. 2. Sistem melakukan proses extracting dan menampilkan cipherteks hasil ekstraksi. 3. User dapat melihat cipherteks hasil proses ekstraksi. Alternative Flows -

3.4.2.10 Use Case Input Private Key

Spesifikasi use case Input Private Key dapat dilihat pada tabel berikut: Tabel 3.10 Spesifikasi Use Case Input Private Key Name Input Private Key Actors User Trigger User telah mendapatkan cipherteks hasil enkripsi Preconditions User mengakses menu Extract Post Conditions User dapat melihat kunci privat yang digunakan untuk proses dekripsi Success Scenario User telah mendapatkan cipherteks hasil enkripsi, selanjutnya menginputkan kunci privat yang digunakan untuk proses dekripsi Alternative Flows - Universitas Sumatera Utara

3.4.2.11 Use Case Decrypt

Spesifikasi use case Decrypt dapat dilihat pada tabel berikut: Tabel 3.11 Spesifikasi Use Case Decrypt Name Decrypt Actors User Trigger User telah menginputkan pasangan kunci privat Preconditions User mengakses menu Embed Post Conditions User dapat melihat plainteks hasil dekripsi Success Scenario 1. User mengeksekusi tombol decrypt. 2. Sistem melakukan proses dekripsi dan menampilkan plainteks hasil dekripsi. 3. User dapat melihat plainteks hasil dekripsi. Alternative Flows -

3.4.3 Pseudocode

Pseudocode adalah urutan baris algoritma yang menyerupai bahasa pemrograman yang merupakan penjelasan cara menyelesaikan suatu masalah. Urutan-urutan algoritma pada tiap proses yang berlangsung dalam sistem ini digambarkan dalam beberapa pseudocode berikut:

3.4.3.1 Pseudocode Proses Enkripsi

Urutan-urutan yang berlangsung dalam proses Enkripsi diperlihatkan dengan pseudocode pada Gambar 3.14. Universitas Sumatera Utara

3.4.3.2 Pse

Berikut ada G udocode Pr alah pseudo G Gambar 3.1 roses Dekr code untuk Gambar 3.1 14 Pseudoco ripsi proses Dek 15 Pseudoco ode Proses kripsi: ode Proses Enkripsi Dekripsi Universitas Sumatera Utara p

3.4.3.3 Pse

Urutan-uru pseudocode

3.4.3.4 Pse

Untuk pros pada pseud udocode Pr utan yang e berikut: Ga udocode Pr ses Extracti docode berik roses Embe berlangsun ambar 3.16 roses Extra ng urutan-u kut: edding ng dalam 6 Pseudocod acting urutan yang proses Em de Proses E g berlangsun mbedding d Embedding ng secara um diperlihatka umum, diper an pada rlihatkan Universitas Sumatera Utara

3.4.4 Per

Antarmuka digunakan. menggunak perancanga memudahk keamanan d

3.4.4.1 Hal

Halaman H setiap halam menu utam menuju ke G rancangan A a merupakan Antarmuka kan suatu p an antarmu kan pengemb data yang te laman Hom Home merup man, termas ma, yaitu E halaman de ambar 3.17 Antarmuka n jembatan a dirancang perangkat lu uka sistem bangan sist erdiri dari 4 me pakan tamp suk halaman Embed dan engan fungs 7 Pseudoco a Interface n antara use g sedemikian unak. Dalam m dilakuka tem. Beriku 4 halaman ut pilan awal n Home aka Extract . D si yang berb ode Proses E e er dengan n mungkin m pengemb an sebelum ut ini adalah tama, yaitu: sistem pada an terdapat Dimana tiap beda-beda. Extracting perangkat agar memu bangan sua m tahap i h rancangan : a saat sistem menu bar y -tiap menu Menu Emb lunak yang udahkan use atu perangk implementa n antarmuk m dijalanka yang menye u yang dipi bed akan me g sedang er dalam kat lunak asi agar ka sistem an. Pada diakan 2 lih akan enuju ke Universitas Sumatera Utara halaman Embed yang digunakan untuk melakukan proses enkripsi dan penyisipan pesan ke dalam cover image. Menu Extract akan menuju ke halaman Extract yang digunakan untuk melakukan proses ekstraksi pesan dari stego image dan kemudian mendekripsikan pesan tersebut. Gambar 3.18 Perancangan Antarmuka Halaman Home Pada gambar di atas terdapat beberapa komponen visual yang akan dijelaskan sebagai berikut: 1. Terdiri atas sebuah komponen Menu Editor yang berupa Menu Bar untuk mencakup 5 menu, yaitu Home, Embed, Extract, Help, Exit. 2. Terdiri atas sebuah Static Text sebagai nama aplikasi yang tertera pada halaman Home. 3. Terdiri atas sebuah Static Text untuk menempatkan identitas pengembang aplikasi. Home Home Embed Exit Help Extract X SISTEM KEAMANAN DATA DENGAN RSA DAN MODIFIED LSB Siska Anggraini || 081401040 || Universitas Sumatera Utara  1 3 2 Universitas Sumatera Utara

3.4.4.2 Halaman Embed

Halaman Embed akan mengantarkan user ke proses penyisipan pesan, yang terlebih dahulu melalui proses enkripsi dengan menggunakan algoritma RSA. Pada halaman Embed ini user akan diminta untuk melakukan beberapa aksi terhadap button-button ataupun mengisi kolom yang disediakan untuk input pesan, dan memilih cover image yang akan digunakan untuk menyembunyikan pesan. Gambar 3.19 Perancangan Antarmuka Halaman Embed Beberapa komponen yang digunakan dalam membangun perancangan antarmuka halaman Embed adalah sebagai berikut: 1. Terdiri atas sebuah komponen Menu Editor yang berupa Menu Bar untuk mencakup 5 menu, yaitu Home, Embed, Extract, Help, Exit. Embed Home Embed Extract Help X P : q : d : e : n : OK RANDOM Ciphertext : Plaintext : RESET Cover Image: SELECT ENCRYPT Detail Image Stego Image: SAVE EMBED DETAIL Exit  1 3 5 7 8 9 11 13 17 16 15 14 23 22 26 12 20 6 18 25 24 21 27 28 19 2 10 4 Universitas Sumatera Utara 2. Terdiri atas sebuah Static Text untuk label huruf p. 3. Terdiri atas sebuah Edit Text untuk menampilkan nilai p hasil pembangkitan nilai acak dari p. 4. Terdiri atas sebuah Static Text untuk label huruf q. 5. Terdiri atas sebuah Edit Text untuk menampilkan nilai q hasil pembangkitan nilai acak dari q. 6. Terdiri atas sebuah Push Button dengan nama Random yang berfungsi untuk membangkitkan nilai p dan q. 7. Terdiri atas sebuah Push Button dengan nama Ok yang berfungsi untuk menghitung nilai n,e, dan d. 8. Terdiri atas sebuah Static Text untuk label huruf n. 9. Terdiri atas sebuah Edit Text untuk menampilkan nilai n yang berguna dalam proses enkripsi dan dekripsi. 10. Terdiri atas sebuah Static Text untuk label huruf e. 11. Terdiri atas sebuah Edit Text untuk menampilkan nilai e sebagai kunci publik. 12. Terdiri atas sebuah Static Text untuk label huruf d. 13. Terdiri atas sebuah Edit Text untuk menampilkan nilai d sebagai kunci privat. 14. Terdiri atas sebuah Static Text untuk label plaintext. 15. Terdiri atas sebuah Edit Text sebagai tempat menginputkan plaintext yang akan dienkripsi. 16. Terdiri atas sebuah Static Text untuk label ciphertext. 17. Terdiri atas sebuah Edit Text untuk menampilkan ciphertext hasil enkripsi. 18. Terdiri atas sebuah Push Button dengan nama Encrypt untuk memulai proses enkripsi pada sistem. 19. Terdiri atas sebuah Push Button dengan nama Reset untuk menghapus kolom- kolom Edit Text yang telah berisi. 20. Terdiri atas sebuah Static Text untuk label cover image. 21. Terdiri atas sebuah Push Button dengan nama Select untuk memilih cover image yang akan digunakan dalam proses embedding. 22. Terdiri atas sebuah Axes untuk menampilkan cover image yang telah dipilih. 23. Terdiri atas sebuah Edit Text untuk menampilkan detail dari cover image. 24. Terdiri atas sebuah Push Button dengan nama Embed untuk memulai proses embedding. Universitas Sumatera Utara 25. Terdiri atas sebuah Push Button dengan nama Detail untuk menampilkan detail dari cover image dan stego image. 26. Terdiri atas sebuah Static Text untuk label stego image. 27. Terdiri atas sebuah Push Button dengan nama Save yang berfungsi untuk menyimpan stego image. 28. Terdiri atas sebuah Axes untuk menampilkan stego image yang telah disisipkan ciphertext.

3.4.4.3 Halaman Extract

Pada halaman Extract, user harus memilih gambar yang telah disisipi pesan stego image. Setelah mengekstraksi cipherteks yang terdapat dalam gambar, user harus mengisi kunci privat untuk dapat melakukan dekripsi terhadap pesan. Gambar 3.20 Perancangan Antarmuka Halaman Extract Ectract Home Embed Extract Help X Stego Image EXTRACT SELECT Ciphertext : d : n : DECRYPT Plaintext : Exit RESET RESET Input private key  1 9 8 7 6 5 4 3 2 10 12 11 13 14 15 16 17 Universitas Sumatera Utara Beberapa komponen yang digunakan dalam membangun perancangan antarmuka halaman Embed adalah sebagai berikut: 1. Terdiri atas sebuah komponen Menu Editor yang berupa Menu Bar untuk mencakup 5 menu, yaitu Home, Embed, Extract, Help, Exit. 2. Terdiri atas sebuah Static Text untuk label stego image 3. Terdiri atas sebuah Push Button dengan nama Select yang berfungsi untuk memilih stego image yang akan diekstraksi 4. Terdiri atas sebuah Axes untuk menampilkan stego image yang akan diekstraksi. 5. Terdiri atas sebuah Push Button dengan nama Extract untuk memulai proses ekstraksi. 6. Terdiri atas sebuah Push Button dengan nama Reset untuk mengosongkan nilai- nilai yang telah berisi. 7. Terdiri atas sebuah Static Text untuk label ciphertext. 8. Terdiri atas sebuah Edit Text untuk menampilkan ciphertext hasil ekstraksi. 9. Terdiri atas sebuah Static Text untuk label input private key. 10. Terdiri atas sebuah Static Text untuk label huruf d. 11. Terdiri atas sebuah Edit Text tempat untuk menginputkan nilai d. 12. Terdiri atas sebuah Static Text untuk label huruf n. 13. Terdiri atas sebuah Edit Text tempat untuk menginputkan nilai n. 14. Terdiri atas sebuah Push Button dengan nama Decrypt untuk memulai proses dekripsi. 15. Terdiri atas sebuah Push Button dengan nama Reset untuk mengosongkan nilai- nilai yang telah berisi. 16. Terdiri atas sebuah Static Text untuk label plaintext. 17. Terdiri atas sebuah Edit Text tempat untuk menampilkan plaintext hasil dekripsi.

3.4.4.4 Halaman Help

Halaman Help menampilkan halaman bantuan untuk memudahkan user dalam memahami dan menggunakan sistem. Universitas Sumatera Utara Gambar 3.21 Perancangan Antarmuka Halaman Help Beberapa komponen yang digunakan dalam membangun perancangan antarmuka halaman Embed adalah sebagai berikut: 1. Terdiri atas sebuah komponen Edit Text yang menampilkan penjelasan untuk proses Encryption. 2. Terdiri atas sebuah komponen Edit Text yang menampilkan penjelasan untuk proses Embedding 3. Terdiri atas sebuah komponen Edit Text yang menampilkan penjelasan untuk proses Extraction. 4. Terdiri atas sebuah komponen Edit Text yang menampilkan penjelasan untuk proses Decryption. X Help Penjelasan untuk proses extraction Penjelasan untuk proses decryption Penjelasan untuk proses embedding Penjelasan untuk proses encryption 1 4 3 2 Universitas Sumatera Utara BAB 4 IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem