BAB III ANALISIS DAN PERANCANGAN Dalam bab ini akan diuraikan tentang penerapan steganografi pada file AVI serta analisis dan perancangan perangkat lunak yang akan dibangun.
3.1 Penerapan Steganografi pada File AVI Metode steganografi yang digunakan pada perangkat lunak ini adalah metode LSB Modification. Pemilihan metode ini didasarkan pada kesederhanaan algoritmanya. Penerapan steganografi pada file AVI meliputi dua proses, yaitu proses penyisipan data dan proses ekstraksi data.
3.1.1 Proses Penyisipan Data Proses penyisipan data menerima file AVI sebagai media, file data yang akan disisipkan, dan kunci penyisipan. Aktifitas yang dilakukan pada proses ini adalah : 1. Melakukan pembacaan file AVI untuk mempersiapkan data video. File video tersebut diubah menjadi kumpulan file BMP. Setiap frame dalam file AVI diubah menjadi sebuah file BMP. 2. Melakukan pembacaan file data untuk mempersiapkan bit-bit data. Data yang akan disembunyikan dapat berupa data apa saja. Format data tidak mempengaruhi proses penyisipan, karena data dibaca dengan mode biner. File data dibaca dalam mode biner untuk mendapatkan bit-bit penyusunnya. 3. Menyisipkan bit-bit data ke dalam kumpulan file BMP yang dihasilkan pada langkah (1) untuk bit yang bersesuaian. Kunci disisipkan pada file BMP pertama, sedangkan data rahasia disembunyikan pada file-file berikutnya. 4. Menggabungkan kembali kumpulan file BMP yang telah disisipkan bit data menjadi file AVI dan menyimpannya.
III-1
III-2
3.1.2 Proses Ekstraksi Data Proses ekstraksi data menerima file AVI yang telah disisipi data dan kunci ekstraksi. Aktifitas yang dilakukan pada proses ini adalah : 1. Melakukan pembacaan file AVI untuk mempersiapkan data video. File video tersebut diubah menjadi kumpulan file BMP. Setiap frame dalam file AVI diubah menjadi sebuah file BMP. 2. Memeriksa masukan kunci apakah sudah sama dengan kunci yang tersimpan di file BMP pertama. Jika sama maka lanjut ke proses berikutnya, jika tidak sama maka akan menampilkan pesan kesalahan. 3. Mendeteksi bit data pada file BMP kedua dan seterusnya yang mengandung kode data. 4. Menuliskan bit-bit data yang telah diekstraksi menjadi sebuah file.
3.2 Analisis Perangkat Lunak Dalam
Tugas
Akhir
ini,
akan
dibangun
sebuah
perangkat
lunak
yang
mengimplementasikan steganografi pada file AVI. Perangkat lunak ini diberi nama AVISteg. Untuk selanjutnya perangkat lunak ini disebut demikian dalam pembahasan ini. Analisis perangkat lunak yang akan dibangun meliputi spesifikasi sistem, kebutuhan antarmuka, dan kebutuhan fungsional.
3.2.3 Spesifikasi Sistem Penjelasan spesifikasi sistem ini mencakup kebutuhan perangkat lunak, tujuan pengembangan perangkat lunak, dan arsitektur perangkat lunak.
3.2.3.1 Kebutuhan Perangkat Lunak Berdasarkan uraian-uraian bab-bab sebelumnya, maka diperlukan suatu perangkat lunak yang dapat memenuhi kebutuhan berikut : 1. Menerima masukan file video digital asli maupun file video digital yang telah disisipi data. 2. Mampu menyisipkan data ke dalam file video digital. 3. Menyimpan file video digital yang sudah disisipi data.
III-3
4. Mampu mengekstraksi file video digital yang telah disisipi data untuk mendapatkan file data yang valid. 5. Mampu memutar file AVI, untuk mengamati perubahan yang terjadi sebelum dan setelah file AVI disisipi data.
3.2.3.2 Tujuan Pengembangan Perangkat Lunak AVISteg ditujukan untuk menyisipkan file data biner ke dalam file video dalam format AVI. AVISteg juga mampu mengekstraksi data yang disisipkan dalam file video tersebut, serta mampu memutar file AVI sebelum maupun setelah file tersebut disisipi data.
3.2.3.3 Arsitektur Perangkat Lunak Arsitektur global perangkat lunak AVISteg, diperlihatkan pada gambar III-1. Secara garis besar, perangkat lunak AVISteg memiliki dua komponen utama, yaitu komponen penyisipan data ke dalam file video digital dan komponen ekstraksi file video digital yang telah disisipi data. Masukan untuk komponen penyisipan data ke dalam file video digital ini adalah sebuah file video digital dengan format AVI, data yang akan disisipkan, dan sebuah kunci. Keluaran dari komponen ini adalah sebuah file video digital dengan format AVI yang telah disisipi data tersebut. Komponen ekstrasi file video digital melakukan proses ekstraksi kembali file video digital yang telah disisipi data untuk mendapatkan data yang valid. Masukan dari komponen ini adalah sebuah file video digital dengan format AVI dan sebuah kunci. Keluaran dari komponen ini adalah sebuah file video digital dengan format AVI dan file data yang disisipkan.
III-4
Gambar III-1 Arsitektur AVISteg
3.2.4 Kebutuhan Antarmuka Antarmuka perangkat keras yang dibutuhkan dalam perangkat lunak AVISteg adalah piranti visual (VGA card, monitor) sebagai alat untuk melihat pemutaran file AVI dan piranti audio (soundcard, speaker, headphone) sebagai alat untuk mendengarkan pemutaran file AVI.
3.2.5 Kebutuhan Fungsional Model fungsional perangkat lunak memberikan gambaran umum mengenai proses-proses yang terjadi dalam perangkat lunak tanpa memberikan detail mengenai bagaimana proses-proses tersebut diimplementasikan. Model fungsional juga memberikan gambaran tentang aliran data yang terjadi antar proses-proses yang ada maupun antar proses dengan entitas luar, misalnya pengguna perangkat lunak. Aliran data tersebut akan mendefinisikan masukan dan keluaran yang terdapat pada masing-masing proses yang terjadi, sehingga hubungan antar proses terlihat jelas.
III-5
Aliran informasi, deskrisi proses serta deskripsi data yang termasuk dalam kebutuhan fungsional akan digambarkan dengan alat bantu Diagram Konteks (Context Diagram) dan Diagram Aliran Data (Data Flow Diagram). Pada diagram ini, proses dilambangkan sebagai lingkaran, sedangkan data masukan dan keluaran tiap proses dilambangkan dengan garis berarah. Arah tersebut menunjukkan arah aliran data antar proses. Entitas luar digambarkan dengan persegi panjang.
3.2.5.1 Diagram Konteks Pada Diagram konteks/DFD level 0 (Gambar III-2) memperlihatkan interaksi antara pengguna AVISteg dengan entitas luarnya. Entitas luar AVISteg adalah Pengguna. Pada diagram konteks tersebut, entitas pengguna memberi masukan berupa nama file data yang akan disisipkan, nama file media untuk menampung data, kunci untuk menyisipkan maupun mengekstraksi data, dan nama file media berkode (stegomessage) yang akan diekstraksi.
Gambar III-1 Diagram Konteks AVISteg
3.2.5.2 DFD Level 1 Pada DFD level 1 (Gambar III-2), memberikan gambaran pemisahan dua proses utama yang terjadi dalam AVISteg, yaitu proses penyisipan data dan proses ekstraksi data. Pada proses penyisipan data, pengguna memasukkan nama file media, nama file data, dan
III-6
kunci. Pada proses ekstraksi data, pengguna memberi masukan kunci dan nama file media berkode yang akan diekstraksi.
Gambar III-2 DFD Level 1 Perangkat Lunak AVISteg
Tabel entitas dan data yang terdapat pada DFD level 1 AVISteg dapat dilihat pada Tabel III-1. Tabel III-2 Entitas dan Data pada DFD Level 1 AVISteg No. 1 2 3 4 5 6 7
Nama Data Nama file data Nama file media Nama file media berkode Nama file hasil ekstraksi Kunci penyisipan Kunci ekstraksi Pengguna
Keterangan Nama file data yang akan disisipkan Nama file media penampung yang akan disisipi data Nama file media penampung yang telah disisipi data Nama file data hasil ekstraksi Kunci untuk penyisipan data Kunci untuk ekstraksi data Entitas eksternal yang menggunakan perangkat lunak
Tabel proses yang terdapat pada DFD level 1 AVISteg dapat dilihat pada Tabel III-2. Tabel III-3 Proses pada DFD Level 1 AVISteg No. 1
2
Nama Proses Penyisipan data
Keterangan Proses penyisipan data pada media penampung
Ekstraksi data
Proses ekstraksi data
Data Masukan Nama file data, Nama file media, Kunci penyisipan Nama file media berkode, Kunci ekstraksi
Pemecahan proses DFD untul level 2 dan 3 dapat dilihat di lampiran B.
Data Keluaran Nama file media berkode Nama file hasil ekstraksi
III-7
3.3 Perancangan Perangkat Lunak Dalam subbab ini akan diuraikan tentang batasan perancangan, perancangan arsitektur, perancangan struktur data, dan perancangan antarmuka dari perangkat lunak yang akan dibangun.
3.3.1 Batasan Perancangan Batasan perancangan AVISteg adalah sebagai berikut : 1. Media masukan dan keluaran AVISteg adalah file AVI. 2. Format data yang disisipkan berupa file bertipe apapun. 3. AVISteg tidak menangani menangani penyuntingan file data. 4. AVISteg mampu melakukan proses pemutaran file AVI.
3.3.2 Perancangan Arsitektur Perancangan arsitektur perangkat lunak memberikan gambaran kendali fungsional dan dekomposisi modul serta fungsi dan prosedur yang terdapat pada perangkat lunak AVISteg.
Struktur kendali fungsional dari perangkat lunak AVISteg dapat dilihat pada Structure Chart pada gambar III-4 berikut ini :
Gambar III-3 Structure Chart pada AVISteg
III-8
Perangkat lunak ini terdiri atas tiga buah modul berikut :
1. Modul Utama Modul ini berisi antarmuka perangkat lunak yang memungkinkan terjadinya interaksi antara perangkat lunak dengan pengguna. Modul utama merupakan modul yang menentukan modul selanjutnya yang akan dipanggil. 2. Modul Proses Modul ini berisi prosedur-prosedur yang berhubungan dengan proses penyisipan dan ekstraksi data pada file media. 3. Modul Dokumen Modul ini menangani proses pembacaan dokumen dan penulisan dokumen. Dekomposisi modul yang terdapat pada perangkat lunak AVISteg dapat dilihat pada Hierarchy Chart pada gambar III-5 berikut ini :
Gambar III-4 Hierarchy Chart pada AVISteg
III-9
Pemetaan proses pada DFD ke dalam modul perangkat lunak AVISteg dapat dilihat pada Lampiran B laporan Tugas Akhir ini.
3.3.3 Perancangan Antarmuka Perancangan antarmuka terdiri dari Perancangan Struktur Menu dan Perancangan Layar Antarmuka.
3.3.3.1 Perancangan Struktur Menu Struktur menu yang terdapat pada perangkat lunak AVISteg dapat dilihat pada gambar III6.
Gambar III-5 Struktur Menu pada AVISteg
Penjelasan struktur menu pada gambar III-6 sebagai berikut : 1. Menu Proses Menu Proses adalah menu untuk memproses file media, file data, dan kunci. Menu ini terdiri atas : a. Penyisipan Menu untuk menyisipkan file data ke file media. b. Ekstraksi Menu untuk mengekstraksi file data dari file media. 2. Menu Bantuan Menu Bantuan adalah untuk melihat petunjuk penggunaan AVISteg. 3. Menu Pembuat Menu Pembuat adalah menu untuk melihat keterangan tentang AVISteg.
III-10
4. Menu Keluar Menu Keluar adalah menu untuk keluar dari AVISteg.