BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisa Sistem yang Berjalan Pertukaran data dan informasi menggunakan internet sudah menjadi hal yang sering dilakukan. Pertukaran informasi dan data menggunakan internet akan mempersingkat jarak dan waktu. Faktor yang paling diutamakan dalam pengiriman tersebut adalah kemudahan dan kecepatan, selain itu faktor keamanan juga merupakan hal yang penting. Banyak cara untuk membantu menyelesaikan masalah keamanan dalam pertukaran data dan informasi, salah satunya menggunakan steganografi. Steganografi merupakan sebuah teknik untuk menyembunyikan atau menyisipkan pesan rahasia ke dalam media pembawa, sehingga keberadaannya tidak diketahui oleh pihak yang tidak berhak atas pesan tersebut. Media pembawanya dapat berupa berkas citra dan salah satu metode steganografi untuk berkas citra adalah pixel value differencing. Pada awalnya metode pixel value differencing diteliti oleh Wu dan Tsai pada tahun 2003. Metode ini mencari selisih dua pixel yang bersebelahan. Selisih tersebut digunakan untuk menentukan besarnya pesan rahasia yang dapat disisipkan. Namun penelitian ini hanya menggunakan jangakauan tabel dengan gambar berkarakteristik hitam putih atau gray scale. Pada tahun 2007 Wang, Wu, Tsai, dan Hwang melakukan pengembangan terhadap metode pixel value differencing dengan menggabungkan fungsi modulus. Fungsi modulus hanya dipakai untuk kondisi atau syarat ketika citra stego-object kembali disusun. Stego-object yang dihasilkan cukup memuaskan, dari segi keamanan dan perubahan warna pengembangan ini lebih baik 33
34
dibandingkan dengan metode pixel value differencing yang ditemukan oleh Wu dan Tsai tahun 2003 dan Chan dan Tseng tahun 2004. Pada tahun 2009 Rojali juga melakukan modifikasi terhadap metode pixel value differencing, dimana hasil dari penelitiannya menghasilkan kapasitas gambar meningkat dan tetap mempertahankan kualitas dari citra. Distorsi antara media sebelum dan sesudah disisipkan pesan cukup kecil karena nilai PSNR diatas 36. Namun untuk data yang besar distorsinya mengalami banyak perubahan dan algoritma PVD hanya mengubah daerah dengan selisih pixel kecil yaitu interval 0-7. Marghny H. Mohamed melakukan pengembangan pada metode pixel value differencing pada tahun 2012. Hasil dari pengembangannya cukup berhasil karena kapasitas pesan rahasia yang disisipkan menjadi lebih banyak tanpa menyebabkan distorsi yang tinggi namun pengembangannya ini digabungkan dengan metode lain yaitu least significant bit. 3.2 Usulan Pemecahan Dengan penelitian ini diusulkan steganografi dengan metode pixel value differencing yang pengambilan pixel secara diagonal pada berkas citra dalam hal penyisipan file text(*.txt) dan dalam hal ekstraksi. Selain itu, penelitian ini menggunakan warna red, green, dan blue sehingga kapasitas sebuah gambar menjadi lebih banyak.
35
3.3 Metodologi Perancangan 3.3.1 Flow Chart Pada Sistem
Gambar 3.1 Flow Chart Sistem 3.3.1.1 Make File Notepad Pada tahap ini user membuat file notepad. File notepad ini berisi pesan rahasia yang akan disisipkan pada gambar. Semakin banyak karakter pesan, maka semakin besar ukuran file notepad yang nantinya akan mempengaruhi
36
proses penyisipan (embed). Semakin besar ukuran file notepad, semakin besar pula dimensi gambar yang diperlukan. 3.3.1.2 Prepare Images Setelah membuat file notepad, kini user menyimpan beberapa gambar yang akan menjadi media pembawa pesan. Semakin besar dimensi dari gambar, maka semakin banyak karakter yang dapat disisipkan. Format gambar yang dapat disisipkan beragam, antara lain JPEG, PNG, dan BMP. 3.3.1.3 Flow Chart Embed
Gambar 3.2 Flow Chart Embed
37
•
Choose File Message Pada tahap ini user memilih message yang akan dimasukkan dalam gambar.
Message yang dipilih dalam bentuk file notepad. Jumlah karakter yang dapat disisipkan tergantung dari kapasitas gambar yang dipilih. Banyak karakter dalam file notepad akan mempengaruhi lamanya proses embedding. •
Choose Image Pada tahap ini user memilih gambar yang akan disisipkan file notepad.
Format gambar yang dapat dipilih beragam, antara lain JPEG, BMP, dan PNG. •
Change Message To Binary Pada tahap ini program akan merubah file notepad menjadi biner. File
notepad harus diubah menjadi biner karena pada proses embedding, perhitungannya menggunakan biner. •
Get All Pixel Pada tahap ini program akan mengambil semua pixel pada gambar yang
dipilih. Cara pengambilan pixel dilakukan modifikasi dari metode pixel value differencing yang sudah ada, yaitu pengambilan pixel secara zigzag. •
Embedding Message Using PVD Method Setelah program merubah file notepad menjadi biner dan mendapat semua
pixel dari gambar, maka dilakukan penyisipan (embedding) menggunakan perhitungan dari metode pixel value differencing. •
Remake Image Using New Pixel Ketika proses penyisipan telah selesai, maka pixel – pixel yang telah
disisipkan pesan
mengalami perubahan. Pada tahap ini akan dibangun kembali
sebuah gambar dari pixel yang baru tersebut.
38
•
Save Stego-Object Pada tahap ini user dapat menyimpan gambar yang telah disisipkan pesan
(stego-object) ke dalam directory computer. User dapat memberikan nama pada file dan letak dari stego-object tersebut. •
Send Stego-Object Selain dapat menyimpan stego-object, user juga dapat mengirim stego-object
tersebut ke alamat e-mail yang dituju. Pengiriman stego-object ini menggunakan email maka diperlukan koneksi ke internet. 3.3.1.4 Flow Chart Extract
Gambar 3.3 Flow Chart Extract •
Choose Stego-Object Pada tahap ini user memilih stego-object yang akan diekstrak.
•
Get All Pixel Pada tahap ini program akan mengambil semua pixel pada stego-object yang
dipilih. Cara pengambilan pixel sama dengan proses penyisipan yaitu modifikasi dari
39
metode pixel value differencing yang sudah ada, yaitu pengambilan pixel secara zigzag. •
Extracting Stego-Object Using PVD Method Setelah mendapat semua pixel maka dilakukan proses extraxt dengan
menggunakan metode perhitungan pixel value differencing kepada setiap pixel. Hasil yang didapat dari proses ini berupa kumpulan biner. •
Show Message Biner – biner yang didapat dari proses extracting akan dilakukan proses
encode ke dalam bentuk karakter – karakter, sehingga pesan rahasia yang ada di dalam stego-object tersebut muncul dan sudah berbentuk kata - kata. •
Save Message Pesan rahasia yang telah muncul dapat disimpan di dalam folder komputer.
Pesan rahasia yang disimpan tersebut berupa file notepad. 3.4 Perancangan Unified Modeling Language 3.4.1 Use Case Diagram
Gambar 3.4 Use Case Diagram
40
Pada use case diagram diatas terlihat bahwa user pengirim dapat melakukan beberapa aksi seperti memilih pesan berupa file notepad kemudian memilih gambar yang akan disisipkan, melihat grafik karakteristik dari gambar yang telah dipilih, melakuan penyisipan pesan ke dalam gambar, menyimpan gambar yang telah disisipkan pesan ke dalam folder komputer, mengirim gambar yang telah disisipkan ke alamat e-mail yang dituju, dan melihat grafik jumlah pemakaian tabel Rj. Sedangkan user penerima dapat memilih gambar yang telah disisipkan pesan, mengekstrak gambar menjadi sebuah teks yang merupakan pesan rahasia, dan menyimpan teks tersebut menjadi file notepad di dalam folder komputer. 3.4.2 Class Diagram
Gambar 3.5 Class Diagram
41
Setiap kelas mempunyai peranannya masing – masing. Berikut dekripsi peranan setiap kelas. Tabel 3.1 Dekripsi Class Diagram Nama Kelas
Dekripsi
MainViewController
Kelas yang menjadi kelas utama dari setiap proses yang terjadi pada Main View. Isi kelas ini adalah kumpulan logic untuk Main View.
EmbedViewController
Kelas yang menjadi kelas utama dari setiap proses yang terjadi pada Embed View. Isi kelas ini adalah kumpulan logic untuk Embed View.
Embed
Kelas ini berisi kumpulan logic ketika proses embed dijalankan.
GraphicViewController
Kelas yang menjadi kelas utama dari setiap proses yang terjadi pada Graph View. Isi kelas ini adalah kumpulan logic untuk Graph View.
TypeGraph
Kelas ini berfungsi untuk menentukan fungsi
yang
dipakai
pada
kelas
GraphicViewController SingleCapacityDataViewMode Kelas ini merupakan tempat menampung data Rj table usage sementara sebelum datanya ditampilkan di Graph View
42
ColorRateDataViewModel
Kelas
ini
merupakan
tempat
menampung data warna sementara sebelum datanya diolah di kelas SingleColorRateDataViewMdel SingleColorRateDataViewModel
Kelas
ini
merupakan
menampung
data
sementara
sebelum
tempat
jumlah
pixel datanya
ditampilkan di Graph View SendImageViewController
Kelas yang menjadi kelas utama dari setiap proses yang terjadi pada Send Image View. Isi kelas ini adalah kumpulan logic untuk Send Image View.
ExtractViewController
Kelas yang menjadi kelas utama dari setiap proses yang terjadi pada Extract View. Isi kelas ini adalah kumpulan logic untuk Extract View.
Extract
Kelas ini berisi kumpulan logic ketika proses extract dijalankan.
Common
Kelas ini berisi kumpulan logic yang bisa dipakai pada proses embed dan extract
Table
Kelas ini berisi data statis tabel Rj
43
3.4.3 Sequence Diagram 3.4.3.1 Sequence Diagram Embed
44
3.4.3.2 Sequence Diagram Extract
Gambar 3.7 Sequence Diagram Extract
45
3.5
Perancangan Layar
3.5.1 Perancangan Layar Main View
Gambar 3.8 Rancangan Layar Main View
3.5.2 Perancangan Layar Embed View
Gambar 3.9 Rancangan Layar Embed View
46
3.5.3 Perancangan Layar Extract View
Gambar 3.10 Rancangan Layar Extract View
3.5.4 Perancangan Layar Send Image View
Gambar 3.11 Rancangan Layar Send Image View
47
3.5.5 Perancangan Layar Show Pixel Graph
Gambar 3.12 Rancangan Layar Show Pixel Graph
3.5.6 Perancangan Layar Show Table Rj Usage Graph
Gambar 3.13 Rancangan Layar Show Table Rj Usage Graph