BAB 3 ANALISIS PERANCANGAN Perancangan program dalam skripsi ini menggunakan aturan linear sequential (waterfall). Pada bab 3 ini dibahas Analisis kebutuhan program. 3.1 Analisis Masalah Sebuah konten digital sangat mudah disebarluaskan di internet, dibutuhkan sebuah cara untuk melindungi konten tersebut dari tindak ilegal atau keamanan konten itu sendiri. Beberapa para ahli telah menyajikan beberapa cara teknik penyembunyian data untuk menyisipkan data rahasia. Namun pada beberapa skema penyembunyian data, medium (cover object) yang ingin memproteksi atau mengirim dari data tersimpan yang dirahasiakan, kemungkinan akan mengalami beberapa distorsi dan juga tidak dapat mentransformasikan kembali kepada format asli pada tahapan ekstraksi. Pada penggunaan citra yang sensitip, seperti halnya pada citra medis, citra pengindraan jarak jauh militer (remote sensing images), dan karya seni adalah sangat penting agar dapat menjamin bahwa konten media tersebut dapat dikembalikan kepada bentuk semula pada tahapan ekstraksi. 42
43 3.1.1 Usulan Pemecahan Masalah Gambar 3.1 Circle Proses Steganografi Maka dari pertimbangan dalam segi citra yang dapat dikembalikan ke bentuk semula sebelum citra disisipkan dan besar kapasitas yang dapat disisipkan, maka penulis menggunakan metode Histogram Shifting untuk penyisipan data. Kemudian penulis menambah kapasitas penyembunyian pesan yang akan menambah jumlah titik maksimum dan minimum menjadi dua pasang. Seperti gambar ilustrasi dibawah ini.
44 (a) (b) (c) Gambar 3.2 Alur dari Metode Shifting Dengan Dua Pasang, (a) Awal Citra, (b) Histogram Shifting, (c) Penyisipan bit
45 Dengan menggunakan metode Quad-tree segmentation untuk memperkecil bit penyimpanan minimum point pada setiap blok histogram shifting. Karena semakin besar panjang x dan y maka semakin besar data informasi yang disisipkan. Penggabungan dua metode terlihat seperti pada gambar dibawah ini. Gambar 3.3 Proses Penyisipan
46 Gambar 3.4 Proses Mengesktrak Pada pengimplementasian metode ini, penulis menggunakan media citra yang berwarna. Maka setiap kanal warna(rgb) pada citra yang sudah di-histogram Shifting. Kapasitas penyembunyian data (pure payload) yang akan dihasilkan pada satu blok. Kapasitas dihitung sebagai berikut: Untuk menghubungkan tiap blok data yang tesembunyi pada tiap kanal warna(rgb) dan puncak. Dimana tiap blok yang dihasilkan Quad-tree segmentation, dan Histogram shifting pada seluruh citra,maka dibutukan informasi yang menghubungkan kesemuanya itu. Hubungan antar blok dan Histogram Shifting untuk data yang disembunyikan, dengan Histogram Shifting untuk bit Quad-Tree Segmentation terlihat pada gambar berikut:
47 Gambar 3.5 Hubungan antar Informasi Overhead 2 dengan Overhead 1 Gambar 3.6 Hubungan Informasi antar Blok di Overhead1 Dari gambar diatas besar bit yang dibutuhkan untuk next a, next b, banyak b,dan len bit pesan sebesar 8 bit untuk masing-masing, jadi total 32 bit dan sisanya sesuai dengan kebutuhan yang ada.
Satu blok dapat dihitung besar daya tampung bit data yang tersisipkan ( payload Size) sebagai berikut: 48 Dan total bit yang dapat ditampung dalam sebuah citra sebagai berikut: Proses penyisipan dan ekstraksi adalah pengembangan metode Histogram Shifting yang ada, bisa dilihat pada gambar flowchart berikut ini:
Gambar 3.7 Flowchart Proses Menyisipkan Histogram Shifting. 49
50 Gambar 3.8 Flowchart Proses Mengesktrak Histogram Shifting. Sedangkan untuk proses keseluruhan antara Histogram Shfting dan Quad-tree Segmentation bisa dilihat pada flowchart dibawah ini
Gambar 3.9 Flowchart Proses menyisipkan 51
Gambar 3.10 Flowchart Proses Mengekstrak 52
53 3.2 Perancangan Program 3.2.1 Use Case Diagram Gambar 3.11 Use Case Diagram
54 3.2.2 Class diagram Gambar 3.12 Class Diagram
55 3.2.3 Sequence Diagram Memilih Citra. Gambar 3.13 Sequence Diagram Memilih Citra Proses Preload Menyisipkan Gambar 3.14 Sequence Diagram Proses Preload Menyisipkan
56 Proses Menyisipkan Gambar 3.15 Sequence Diagram Proses Menyisipkan
57 Proses Mengekstrak Gambar 3.16 Sequence Diagram Proses Mengekstrak
58 SearchQuadTreeSegmentation: Gambar 3.17 Sequence Diagram SearchQuadTreeSegmentation.
59 3.3 Rancangan Layar 3.3.1 Rancangan Menu Utama Gambar 3.18 Menu Utama Disini user dapat memilih citra yang bertipe.jpg dan jpeg. Sebelum user menyisikan atau mengesktrak, maka akan divalidasi citra, apakah sudah diinput atau belum. filename, dimensi, citra ditampilkan di menu ini.
60 3.3.2 Rancangan Loading Gambar 3.19 Loading Tampilan ini digunakan pada saat program melakukan proses panjang, seperti Proses Quad-tree Segmentation, Penyisipan, dan Mengekstrak. Disini juga akan ditampikan status proses yang berlangsung.
61 3.3.3 Rancangan Menyisipkan Menu Rancangan Menyisipkan Pesan Gambar 3.20 Menyisipkan Menu Tab Pesan Dimenu ini user dapat kembali ke Menu Utama, memilih type input, dan memproses. Pada saat ini user memilih pesan sebagai input, maka user dapat mengisi pesan input berupa text dengan setiap karakter sama dengan 8 bit atau sama dengan text bertipe ASCII. Program akan mengghitung jumlah karakter yang diinput. Dan user melihat batas untuk menginput pesan di Maksimal Banyak Karakter, setelah itu baru user dapat melanjutkan proses.
62 Rancangan Menyisipkan Data Gambar 3.21 Menyisipkan Menu Tab Data Dimenu ini user dapat kembali ke Menu Utama, memilih type input, dan memproses. Pada saat ini user memilih data sebagai input, disini user dapat input data, kemudian akan ditampilkan path, filename, dan size. Sebelum dinput data akan divalidasi besar size file tersebut dengan Besar Data Maksimum, baru user dapat melanjutkan proses selanjutnya dan kembali ke Menu Utama.
63 3.3.4 Rancangan Mengesktrak Menu Gambar 3.22 Mengesktrak Menu Dimenu ini user mengisi key dengan batasan 0 sampai dengan 255, kemudian user data melanjutkan proses dan kembali ke Menu Utama.
64 3.3.5 Rancangan Result Menyisipkan Gambar 3.23 Result dari Proses Menyisipkan Dimenu ini adalah hasil dari proses Menyisipkan, jika proses berhasil. User dapat melihat key yang dihasilkan proses Menyisipkan, PNSR, dan Citra Original berserta filename dan path. Kemudian user dapat kembali ke Main Menu dengan menekan tombol Ok.
65 3.3.6 Rancangan Result Mengekstrak Rancangan Result Mengesktrak Pesan Gambar 3.24 Result Pesan dari Proses Mengekstrak Dimenu ini adalah hasil dari proses Menyisipkan, jika proses berhasil. User dapat melihat text pesan, dan Citra Original berserta filename dan path. Kemudian user dapat kembali ke Menu Utama dengan menekan tombol Ok.
66 Rancangan Result Mengesktrek Data Gambar 3.25 Result Data dari Proses Mengekstrak Dimenu ini adalah hasil dari proses Menyisipkan, jika proses berhasil. User dapat melihat Data path, Data filename, Data size, dan Citra Original berserta filename dan path. Kemudian user dapat kembali ke Menu Utama dengan menekan tombol Ok.