BAB III ANALISIS DAN DESAIN SISTEM III.1. Analisis III.1.1. Analisis Masalah Untuk membangun sebuah sistem diperlukan berbagai informasi yang sesuai dengan rumusan permasalahan, ide pokok pemecahan masalah dan model sistem yang akan dibangun. Terdapat berbagai cara yang digunakan untuk melindungi data misalnya pemberian pasword, tetapi cara ini dapat dibobol oleh para pembajak, karena user dapat membuat kemungkinan kemungkinan kata yang digunakan sebagai password oleh pihak yang menguncinya. Cara lainnya yaitu dengan Chipertex, dengan cara ini data-data yang hendak disimpan disandikan terlebih dahulu, akan tetapi cara ini dapat menarik kecurigaan oleh orang lain, sehingga ia akan berusaha memecahkan kode-kode penyandiannya, sehingga data tersebut dapat dibajak. Oleh karena itu dibutuhkan suatu cara yang mampu membuat para pembajak tidak curiga dan pemakai tidak langsung mengetahui bahwa ada data-data yang tersimpan. Dalam menyembunyikan data banyak cara dapat dilakukan, salah satunya adalah dengan penggantian Least Significant Bit (LSB) pada citra digital. LSB adalah bit yang paling tidak berarti dari setiap susunan biner. Bit-Plane Complexity Segmentation (BPCS) adalah salah satu metode steganografi, dimana metode ini memiliki kapasitas penyisipan pesan yang relatif besar jika dibandingkan dengan metode lain seperti Least Significant Bit (LSB). Hal ini dikarenakan prinsip teknik LSB adalah mengganti bagian penting pada frekuensi komponen, atau mengganti least significant bit dari cover - image dengan pesan rahasia, sedangkan BPCS dari cover -
image. Metode BPCS ini memanfaatkan perhitungan kompleksitas pada tiap bit plane dalam menyisipkan informasi rahasia. III.1.2. Strategi Pemecahan Masalah Adapun masalah yang ada yaitu sebagai berikut : 1. Bagaimana menjaga keutuhan dan integritas data berupa gambar agar keamanannya terjamin? 2. Metode apa yang digunakan agar keamanan gambarnya terjamin kerahasiaannya? 3. Bagaimana penerapan metode yang tepat pada proses penyandian data berupa gambar? Adapun strategi pemecahan masalah yang penulis gunakan adalah sebagai berikut : 1. Untuk menjaga keamanan gambar tersebut terjaga kerahasiaannya yaitu dengan menggunakan aplikasi citra digital. Aplikasi tersebut dapat mengkunci dengan beberapa metode yang diterapkan. 2. Dari banyaknya metode yang ada, metode yang aman digunakan adalah metode BPCS dan LSB. 3. Metode BPCS dan LSB ini memanfaatkan perhitungan kompleksitas pada tiap bit plane dalam menyisipkan informasi rahasia. Sehingga membuat para pembajak tidak curiga dan pemakai tidak langsung mengetahui bahwa ada data-data yang tersimpan. III.2. Penerapan Metode III.2.1. Penerapan Algoritma Metode BPCS Metode Bit-Plane Complexity Segmentation (BPCS) adalah teknik steganografi yang memiliki kapasitas besar, karena dapat menampung data rahasia dengan kapasitas yang relative
besar. Pada penyisipan data ada beberapa langkah-langkah yang dilakukan pada algoritma BPCS yaitu : Cover-object dengan sistem PBC diubah menjadi sistem CGC, kemudian citra tersebut dislice menjadi bit-plane dalam bentuk citra biner. Setiap bit-plane mewakili bit dari setiap piksel pada citra. Segmentasi setiap bit-plane pada cover-object menjadi informative dan noise-like region dengan menggunakan nilai batas/threshold (a0). Nilai umum dari threshold = 0,3. Kelompokkan byte-byte pesan rahasia menjadi rangkaian blok pesan rahasia. Jika blok (S) kurang kompleks dibandingkan dengan nilai batas, maka lakukan konjugasi terhadap S untuk mendapatkan S* yang lebih kompleks. Blok konjugasi (S*) pasti lebih kompleks dibandingkan dengan nilai batas. Sisipkan setiap blok pesan rahasia ke bit-plane yang merupakan noise-like region (atau gantikan semua bit pada noise-like region). Jika blok S dikonjugasi, maka simpan data pada conjugation map. Sisipkan juga conjugation map seperti yang dilakukan pada blok pesan rahasia. Ubah stego-object dari sistem CGC menjadi sistem PBC. III.2.2. Penerapan Algoritma Metode LSB Di bawah ini terdapat langkah-langkah yang di lakukan dalam menerapkan metode LSB untuk menyisipkan sebuah teks data, yaitu : a. Penyembunyian data dilakukan dengan mengganti bit-bit data di dalam segmen citra dengan bit-bit data rahasia. Metode yang paling sederhana adalah metode modifikasi LSB (Least Significant Bit Modification). b. Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling berarti MSB (most significant bit) dan bit yang paling kurang berarti LSB (least significant bit). c. Misalkan sebuah susunan bit pada sebuah byte:
Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut menyatakan warna merah, maka perubahan satu bit LSB tidak mengubah warna merah tersebut secara berarti. Lagi pula, mata manusia tidak dapat membedakan perubahan yang kecil. Misalkan segmen data citra sebelum perubahan: Pada gambar di bawah ini memperlihatkan sebuah citra pada saat sebelum di lakukan penyisipan dan setelah di lakukan penyisipan teks data. (a) (b) Gambar III.1 Gambar (a) merupakan citra bunga sebelum proses penyisipan, Gambar (b) merupakan citra setelah proses penyisipan teks.
Sebagai contoh kita akan menyisipkan data rahasia AKU. Setelah dikonversi didapat seperti yang terlihat pada Tabel III.1 berikut : Tabel III.1 Perubahan Karakter ke Biner Karakter ASCII Biner A 65 0100 0001 K 75 0100 1011 U 85 0101 0101 Sedangkan file yang menampung data diatas dimisalkan sebuah citra yang mempunyai jumlah pixel 8 buah. (Lihat Tabel III.2). Tabel III.2 Contoh Nilai RGB Pada Citra 8 Pixel No. Pixel Nilai RGB 1. R = 58 ; G = 65 ; B = 76 2. R = 130 ; G = 154 ; B = 169 3. R = 230 ; G = 200 ; B = 157 4. R = 200 ; G = 200 ; B = 200 5. R = 13 ; G = 14 ; B = 15 6. R = 78 ; G = 34 ; B = 32 7. R = 23 ; G = 29 ; B = 20 8 R = 22 ; G = 28 ; B = 80
Maka langkah selanjutnya adalah mengubah nilai desimal warna ke dalam bilangan biner. Tabel perubahan nilai desimal warna menjadi biner dapat dilihat pada Tabel III.3 berikut. Tabel III.3 Perubahan Nilai Desimal Warna ke Biner Nilai Desimal Biner Warna 58 00110010 65 01000001 76 01110000 130 10011100 154 01111000 169 01110110 230 01101111 200 01101110 157 00110111 200 01010001 200 01011010 200 00001100 13 00001101 14 00001110 15 00001111 78 01001110 34 00100010
32 00100000 23 00010111 29 00011101 20 00010100 22 00010110 28 00011100 80 01010000 Untuk menyisipkan antara citra dengan data yang disimpan dilanjutkan dengan langkah berikutnya yaitu mengganti setiap bit LSB (Least Significant Bit) citra dengan bit data rahasia. Data rahasia terdiri dari 3 byte atau memiliki 24 bit data yang hendak disisipkan. Maka untuk karakter yang pertama bit-bit datanya disisipkan ke byte 1-8 dari citra. III.3. Perancangan III.3.1. Use Case Diagram Kegiatan interaksi aktor terhadap sistem ditunjukkan pada use case diagram, Aktor akan terlibat dalam kegiatan tersebut adalah user. Use case diagram perangkat lunak yang dibangun terlihat pada gambar berikut : Menu BPCS Masukkan Sandi Masukkan Pesan
Menu Citra Menu LSB Masukkan Gambar Hasil Citra Masukkan sandi III.3.2. Activity Diagram Gambar III.2. Use Case Diagram Proses Penyandian dengan menggunakan metode BPCS dan LSB Menu Citra Menu BPCS Menu LSB Masukkan Masukkan Sandi Masukkan Pesan Masukkan Gambar Cipherteks Hasil Citra Ya Tidak
Gambar III.3. Activity Diagram Proses Penyandian dengan menggunakan metode BPCS dan LSB III.3.3. Sequence Diagram Berikut adalah Sequence diagram proses penyandian untuk metode BPCS dan LSB : Menu Bpcs Menu Lsb File 1 : MessageFile() 2 : FileChoser() 3 : Kunci Pesan() 5 : Tampil Pesan 4 : Info Path Pesan Gambar III.4. Sequence Diagram Pesan Menu Bpcs Menu Lsb Gambar Citra 1 : Gambar Citra() 2 : FileChoser() 3 : Kunci Gambar()
5 : Tampil Gambar 4 : Info Gambar Gambar III.5. Sequence Diagram Gambar III.4. Desain User Interface III.4.1. Tampilan Form Citra Form Input Pesan merupakan form yang penulis rancang untuk muncul ketika pengguna menekan tombol Stegano pada form Menu Utama. Form ini berfungsi untuk menerima inputan pesan yang akan disisipkan ke dalam gambar. Adapun bentuk rancangan form Input Pesan seperti terlihat pada Gambar III.6. Tampilan Citra Tampilan gambar Citra Alamat Citra xxxxxxxxx Ukuran Pesan (Byte) 999 Ukuran Citra (Kbyte) 999 Progres Bar xxxxxxxxxx Cari File Cari Pesan Proses Bersih Lihat Keluar Lokasi
Gambar III.6. Tampilan Form Citra III.4.2. Tampilan Form Ekstrak Pesan Form Ekstrak Pesan merupakan form yang penulis rancang untuk muncul ketika pengguna menekan tombol Stegano Teks pada form Menu Utama. Form ini berfungsi untuk melakukan pembacaan terhadap pesan yang telah disisipkan sebelumnya ke dalam sebuah gambar. Adapun bentuk rancangan form Decoding seperti terlihat pada Gambar III.7. Citra Stegano Pesan Rahasia Alamat Citra Stegano xxxxxxxxx xx Ukuran Pesan 999 Progres Bar xxxxxxxxx Cari File Proses Bersih Keluar Gambar III.7. Tampilan Ekstrak Pesan III.4.3. Tampilan Form Sandi
Form Sandi merupakan form yang penulis rancang untuk muncul ketika pengguna menekan tombol Proses pada form Menu Ekstrak. Form ini berfungsi untuk melakukan pengamanan terhadap pesan yang akan disisipkan sebelumnya ke dalam sebuah gambar. Adapun bentuk rancangan form Sandi seperti terlihat pada Gambar III.8. Password Konfirmasi xxxxxxxxx xxxxxxxxx OK Cancel Gambar III.8. Tampilan Form Sandi