ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

dokumen-dokumen yang mirip
BAB III ANALISIS MASALAH

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Penyembunyian Pesan pada Citra GIF Menggunakan Metode Adaptif

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV. ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

1.1 LATAR BELAKANG I-1

BAB II DASAR TEORI. 1. Citra diam yaitu citra tunggal yang tidak bergerak. Contoh dari citra diam adalah foto.

datanya. Hasil User dapat melanjutkan aktivitas selanjutnya setelah memilih File yang diinginkan. 2. Use Case Menyisipkan Teks Table 4-2 Deskripsi Use

BAB 3 PERANCANGAN PROGRAM

BAB III PERANCANGAN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

Grafik yang menampilkan informasi mengenai penyebaran nilai intensitas pixel-pixel pada sebuah citra digital.

BAB IV. HASIL DAN ANALISIS

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

PERANCANGAN APLIKASI PENGACAKAN CITRA MENGGUNAKAN M-SEQUENCE BERDASARKAN PARAMETER

BAB 3 ANALISIS DAN PERANCANGAN. perancangan dan pembuatan akan dibahas dalam bab 3 ini, sedangkan tahap

BAB IV ANALISIS DAN PERANCANGAN SISTEM. proses kerja yang sedang berjalan. Pokok-pokok yang di analisis meliputi analisis

IMPLEMENTASI STEGANOGRAFI HOPPING SPREAD SPECTRUM KE DALAM FILE VIDEO SKRIPSI

BAB II LANDASAN TEORI

BAB V IMPLENTASI DAN PENGUJIAN

BAB 3 ANALISIS DAN PERANCANGAN. Perancangan program aplikasi pada penelitian ini menggunakan metode Linear

BAB III ANALISIS DAN PERANCANGAN


BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

BAB III METODE PENELITIAN

BAB IV. ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN


BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA, KONSEP DAN PERANCANGAN

APLIKASI KEAMANAN DATA DENGAN TEKNIK STEGANOGRAFI MENGGUNAKAN METODE END OF FILE (EOF)

BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB IV PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

APLIKASI PENGAMANAN DATA TEKS PADA CITRA BITMAP DENGAN MENERAPKAN METODE LEAST SIGNIFICANT BIT (LSB)

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

Bab 3 Metode dan Perancangan Sistem

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III KONSEP APLIKASI DAN PERANCANGAN. 3.1 Konsep Aplikasi Dalam membangun Aplikasi Multimedia Pembelajaran Otomotif dan

Penerapan Metode Adaptif Dalam Penyembunyian Pesan Pada Citra

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

BAB III ANALISIS DAN DESAIN SISTEM

APLIKASI PENGAMANAN HAK CIPTA UNTUK GAMBAR DIGITAL DENGAN TEKNIK WATERMARKING MENGGUNAKAN METODE SVD (SINGULAR VALUE DECOMPOSITION)

Gambar 4.1 Menu Login Form

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

IMPLEMENTASI DAN EVALUASI

BAB III ANALISA PERANCANGAN DAN PEMODELAN SISTEM

BAB III ANALISA DAN PERANCANGAN

Gambar 3.1. Diagram alir apikasi image to text

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

BAB III PERANCANGAN SISTEM

Perbandingan Steganografi pada Citra Gambar Graphics Interchange Format dengan Algoritma Gifshuffle dan Metode Least Significant Bit

Perancangan Perangkat Lunak untuk Penyembunyian Data Digital Menggunakan 4-Least Significant Bit Encoding dan Visual Cryptography

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN. 1 Universitas Kristen Maranatha

3.1 APLIKASI YANG DITANGANI OLEH CODE GENERATOR

BAB IV PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III ANALISA DAN DESAIN SISTEM

BAB V PENGUJIAN SISTEM DAN IMPLEMENTASI. komponen sistem yang diimplementasikan dan mengetahui kelemahan dari

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III PERANCANGAN SISTEM

Secara garis besar, arsitektur sistem Real Time Auto Door-Lock terbagi menjadi 6 bagian, yaitu:

ANALISIS DAN PERANCANGAN APLIKASI STEGANALISIS PADA MEDIA CITRA BMP DENGAN METODE ENHANCED LEAST SIGNIFICANT BIT SKRIPSI DESMAWATI

BAB IV ANALISIS PERANGKAT LUNAK


BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

Lingkungan Pengembangan

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar belakang

ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB SKRIPSI ANGGARANI NOVITASARI

Pembimbing 1 : TOHARI AHMAD, S.Kom., MIT., Ph.D. Pembimbing 2 : HUDAN STUDIAWAN, S.Kom., M.Kom. Melvin Simon Zepta Marbun

BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI SISTEM

BAB III ANALISA DAN PERANCANGAN APLIKASI

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN APLIKASI. Aplikasi chatting mobile phone yang menggunakan NetBeans IDE 6.0 yang di

BAB III ANALISA DAN PERANCANGAN

Studi dan Implementasi Steganografi pada Video Digital di Mobile Phone dengan DCT Modification

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN

Transkripsi:

BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Pada bab ini akan diuraikan mengenai analisis pada kebutuhan perangkat lunak, analisis kelas, serta perancangan antarmuka dan kelas dari perangkat lunak tersebut. 4.1 ANALISIS PERANGKAT LUNAK Perangkat lunak yang dibangun dalam Tugas Akhir ini dinamakan SteGIF, dan dibangun pada lingkungan perangkat komputer pribadi. Berikut ini akan dijelaskan tentang deskripsi umum sistem, arsitektur perangkat lunak, kebutuhan perangkat lunak, serta analisis kelas. 4.1.1 Deskripsi Umum Perangkat Lunak Perangkat lunak yang dibangun memiliki dua buah fungsi utama, yaitu fungsi penyisipan pesan dan yang kedua adalah fungsi ekstraksi pesan. Pada fungsi penyisipan pesan, yang menggunakan metode adaptif, perangkat lunak menerima masukan berupa citra GIF, pesan dan kunci untuk membangkitkan bilangan semu acak (pseudorandom). Keluaran dari fungsi penyisipan pesan ini adalah citra GIF yang telah disisipi pesan didalamnya. Fungsi kedua adalah melakukan ekstraksi pesan dari citra GIF yang sebelumnya telah mengalami proses penyisipan pesan menggunakan metode adaptif. Pada fungsi ekstraksi pesan, perangkat lunak menerima masukan berupa citra GIF yang memiliki pesan dan kunci yang sama dengan kunci yang digunakan pada proses penyisipan pesan. Keluaran dari fungsi ekstraksi pesan ini adalah pesan yang disisipkan pada citra GIF. Gambaran umum sistem yang akan dibangun dapat dilihat pada Gambar IV-1. IV-1

IV-2 4.1.2 Arsitektur Perangkat Lunak Gambar IV-1 Gambaran umum sistem Arsitektur dari perangkat lunak dapat dilihat pada Gambar IV-2. Terlihat bahwa SteGIF mempunyai dua buah modul utama yang merepresentasikan dua buah fungsi utama yang sudah disebutkan pada Subbab sebelumnya, yaitu modul penyisipan pesan dan modul ekstraksi pesan. Gambar IV-2 Arsitektur perangkat lunak

IV-3 Modul penyisipan pesan memiliki masukan berupa pesan, citra GIF, dan kunci. Kunci yang dimasukkan akan menjadi nilai seed untuk proses pembangkitan bilangan semu acak. Selanjutnya dilakukan dekompresi citra GIF untuk mengubah data raster GIF menjadi citra berkode bitmap. Setelah itu proses pemilihan piksel berdasarkan bilangan semu acak yang didapatkan, kemudian dilakukan pengecekan paritas terhadap setiap piksel yang dipilih. Setelah itu pesan disisipkan sesuai dengan penjelasan pada subbab 3.1. Terakhir citra berkode bitmap akan dikompresi kembali menjadi citra GIF. Keluaran dari modul ini adalah citra GIF yang sudah tersisipi pesan didalamnya. Modul ekstraksi pesan memiliki masukan berupa citra GIF yang sudah terisisipi pesan di dalamnya dan kunci. Kunci yang dimasukkan akan menjadi nilai seed untuk proses pembangkitan bilangan semu acak. Selanjutnya dilakukan dekompresi citra GIF untuk mengubah bentuk data raster citra GIF menjadi citra berkode bitmap. Setelah itu dilakukan pencarian piksel berdasarkan bilangan semu acak yang didapatkan, kemudian terhadap setiap piksel yang ditemukan akan dilakukan pengecekan paritas. Setelah itu dilakukan proses pengambilan pesan berdasarkan nilai paritas yang didapatkan untuk setiap piksel yang dipilih. 4.1.3 Kebutuhan Perangkat Lunak Perangkat lunak yang akan dibangun pada Tugas Akhir ini diharapkan dapat melakukan hal-hal berikut : 1. Membaca, melakukan kompresi dan dekompresi, dan melakukan parsing terhadap citra GIF 2. Melakukan pembangkitan bilangan semu acak berdasarkan kunci masukan pengguna 3. Melakukan pemilihan piksel berdasarkan bilangan semua acak yang dibangkitkan dan memeriksa paritas dari nilai piksel yang dipilih

IV-4 4. Menyisipkan pesan ke dalam citra GIF dan menambahkan informasi ke dalam comment extension yang terdapat pada citra GIF 5. Mengekstraksi pesan yang disisipkan dalam citra GIF 4.1.4 Diagram Use Case Untuk menggambarkan kebutuhan perangkat lunak secara visual digunakan sebuah diagram use case, yang dapat dilihat pada Gambar IV-3. Terdapat dua buah aktor yang berperan dalam perangkat lunak ini, yaitu pengirim dan penerima. Pengirim merupakan pengguna yang melakukan penyisipan pesan ke dalam citra GIF dan penerima merupakan pengguna yang melakukan ekstraksi pesan yang terdapat pada citra GIF. Gambar IV-3 Diagram use case Perangkat lunak memiliki enam buah use case. Dua buah use case utama, yaitu Penyisipan Pesan dan Ekstraksi Pesan merupakan use case yang mendapatkan trigger dari pengguna. Use case Membaca Pesan digunakan untuk melakukan pembacaan pesan serta proses validasi dari pesan, use case Menyimpan Pesan digunakan untuk

IV-5 menyimpan pesan ke dalam citra GIF menggunakan metode adaptif, sedangkan use case Mengambil Pesan digunakan untuk mengambil pesan dari citra GIF yang telah mengalami proses penyisipan pesan menggunakan metode adaptif. Use case Membaca Citra GIF digunakan untuk membaca citra GIF yang dimasukkan oleh pengguna, baik dalam proses penyisipan maupun ekstraksi pesan. Penjelasan tiap use case yang lebih rinci dapat dilihat pada Tabel IV-1. Tabel IV-1 Narasi use case No. Elemen Use Case Keterangan 1 Nama Menyisipkan Pesan Deskripsi Melakukan penyisipan pesan pada citra GIF Prekondisi Sistem menampilkan menu utama dari perangkat lunak yang ditampilkan Proses Pengguna memilih menu penyisipan pesan Kondisi akhir Sistem berpindah ke menu penyisipan pesan 2 Nama Mengekstraksi Pesan Deskripsi Melakukan ekstraksi pesan pada citra GIF Prekondisi Sistem menampilkan menu utama dari perangkat lunak Proses Pengguna memilih menu ekstraksi pesan Kondisi akhir Sistem berpindah ke menu ekstraksi pesan 3 Nama Membaca Citra GIF Deskripsi Melakukan kompresi, dekompresi, pembacaan dan parsing citra GIF Prekondisi Use case Menyisipkan Pesan atau use case Mengekstraksi Pesan sudah dilakukan Proses Pengguna memasukkan citra GIF Sistem melakukan dekompresi citra GIF Sistem melakukan validasi terhadap citra yang dimasukkan Sistem mem-parsing citra GIF Sisitem melakukan kompresi citra GIF Kondisi akhir Citra GIF telah dibaca dan divalidasi 4 Nama Membaca Pesan Deskripsi Melakukan pembacaan pesan Prekondisi Use case Menyisipkan Pesan dan use case Membaca Citra GIF sudah dilakukan Proses Pengirim memasukkan pesan Sistem melakukan validasi pesan Sistem menyimpan pesan yang telah divalidasi Kondisi akhir Pesan tersimpan dalam perangkat lunak

IV-6 No. Elemen Use Case Keterangan 5 Nama Menyimpan Pesan Deskripsi Melakukan penyimpanan pesan ke dalam citra GIF, termasuk proses kompresi citra GIF Prekondisi Use case Membaca Pesan sudah dilakukan Proses Pengirim menekan tombol Sisipkan Sistem membangkitkan bilangan semu acak Sistem melakukan pemilihan piksel dan pengecekan paritas piksel Sistem menyimpan pesan ke dalam piksel Sistem melakukan kompresi terhadap citra Kondisi akhir Citra GIF sudah mengandung pesan didalamnya 6 Nama Mengambil Pesan Deskripsi Mengambil kembali pesan yang tersembunyi di dalam citra GIF Prekondisi Use case Mengekstraksi Pesan dan use case Membaca Citra GIF sudah dilakukan Proses Penerima menekan tombol Ambil Pesan Sistem membangkitkan bilangan semu acak Sistem melakukan pemilihan piksel dan pengecekan paritas piksel Sistem mengambil bit-bit pesan dari piksel yang dipilih Kondisi akhir Pesan didapatkan 4.1.5 Analisis Kelas Perangkat lunak yang dikembangkan pada Tugas Akhir ini memiliki dua buah modul, yaitu modul penyisipan pesan dan modul ekstraksi pesan. Berikut ini akan dijelaskan analisis kelas yang diklasifikasikan menurut pembagian modul. 4.1.5.1 Diagram Kelas Analisis Penyisipan Pesan Proses penyisipan pesan membutuhkan tiga buah masukan, yaitu citra GIF, pesan, dan kunci. Ketiga masukan tersebut dapat menjadi kelas berbeda, seperti digambarkan pada Gambar IV-4.

IV-7 Gambar IV-4 Diagram kelas analisis penyisipan pesan Kelas Message merupakan kelas yang menangani proses pembacaan pesan masukan pengguna. Kelas ini juga menangani proses validasi terhadap pesan serta pembacaan ukuran pesan tersebut. Kelas Image merupakan kelas yang menangani seluruh proses terhadap citra GIF. Proses tersebut adalah proses pembacaan citra GIF, validasi citra GIF dan pengambilan data yang terdapat pada citra GIF masukan pengguna. Kelas Key merupakan kelas yang menyimpan nilai kunci masukan pengguna dan melakukan pembangkitan bilangan semu acak (pseudorandom) berdasarkan kunci tersebut. Kelas Embed merupakan kelas yang menangani seluruh proses yang terkait dengan penyisipan pesan termasuk pemilihan piksel dan pemeriksaan nilai paritas. Kelas ini juga mengatur jenis keluaran dari proses penyisipan pesan, apakan berkas citra baru atau menimpa berkas citra yang lama. Kelas CompressionDecompression merupakan kelas yang menangani proses kompresi dan dekompresi citra GIF. Proses kompresi akan mengubah citra bitmap menjadi citra GIF, dan sebaliknya proses dekompresi akan mengubah citra GIF

IV-8 menjadi citra bitmap. Kedua proses ini diperlukan untuk dapat mengakses nilai dari tiap piksel pada citra GIF, dan lalu mengembalikannya ke dalam kompresi LZW. 4.1.5.2 Diagram Kelas Analisis Ekstraksi Pesan Proses penyisipan pesan membutuhkan dua buah masukan, yaitu citra GIF yang mengandung pesan di dalamnya dan kunci. Kedua masukan tersebut dapat menjadi kelas berbeda, seperti digambarkan pada Gambar IV-5. Gambar IV-5 Diagram kelas analisis ekstraksi pesan Kelas Image dan kelas Key digunakan sama seperti pada proses penyisipan pesan. Kelas Image digunakan dalam proses pembacaan citra GIF, validasi citra GIF dan pengambilan data yang terdapat pada citra GIF masukan pengguna. Kelas Key digunakan utuk menyimpan nilai kunci masukan pengguna dan melakukan pembangkitan bilangan semu acak (pseudorandom) berdasarkan kunci tersebut. Kelas Extract merupakan kelas yang digunakan untuk membaca data yang tersimpan di dalam citra GIF dan menggabungkannya menjadi pesan yang dimasukkan oleh pengirim. Kelas ini juga menangani proses pemilihan piksel serta pengecekan nilai paritas. Kelas CompressionDecompression merupakan kelas yang sama dengan kelas CompressionDecompression yang digunakan pada modul penyisipan pesan.

IV-9 4.1.5.3 Diagram Kelas Analisis Keseluruhan Sistem Diagram kelas analisis keseluruhan sistem dapat dilihat pada Gambar IV-6. Jumlah kelas yang terdapat keseluruhan sistem adalah tujuh kelas. Kelas Interface digunakan untuk mengatur tampilan aplikasi yang memfasilitasi interaksi sistem dengan pengguna. Kelas Embed digunakan pada proses penyisipan pesan, yang menyimpan tiga jelas sebagai objek masukan, yaitu kelas Image, kelas Message, dan kelas Key. Sedangkan kelas Extract merupakan kelas yang digunakan pada proses ekstraksi pesan, yang menyimpan kelas Image dan kelas Key sebagai masukan. Kelas CompressionDecompression menangani proses kompresi dan dekompresi citra GIF untuk keperluan pembacaan dan penulisan citra GIF. Gambar IV-6 Diagram kelas analisis keseluruhan 4.2 PERANCANGAN PERANGKAT LUNAK Berikut ini akan dijelaskan mengenai perancangan dari perangkat lunak yang dikembangkan pada Tugas Akhir meliputi perancangan antarmuka perangkat lunak

IV-10 serta diagram kelas perancangan yang sudah memiliki atribut dan operasi secara lengkap. 4.2.1 Perancangan Antarmuka Berikut adalah antarmuka yang digunakan pada implementasi dari Tugas Akhir ini: 1. Antarmuka Menu Beranda Menu beranda adalah menu awal yang ditampilkan saat aplikasi dijalankan. Pada menu beranda ini ditampilkan tiga buah tombol pilihan menu, yaitu penyisipan, ekstraksi, dan tentang. Jika tombol penyisipan dipilih, maka aplikasi akan menampilkan menu penyisipan, dan jika tombol ekstraksi dipilih, maka aplikasi akan menampilkan menu ekstraksi. Gambar IV-7 Antarmuka Menu Beranda 2. Antarmuka Menu Penyisipan Pesan Menu penyisipan pesan ditampilkan saat tombol penyisipan pada menu beranda dipilih. Pada menu penyisipan pesan ditampilkan tiga buah field yaitu kunci, berkas yang disisipkan dan gambar penyisipan. Kunci akan diisi oleh pengguna dengan bilangan asli, sedangkan berkas yang disisipkan dan gambar penyisipan akan berisi alamat berkas yang akan disisipkan, dan berkas citra

IV-11 GIF yang akan menjadi tempat penyisipan pesan. Untuk mendapatkan alamat direktori, pengguna dapat menekan tombol browse yang ada di sebelah kanan tiap field, lalu pengguna akan memilih berkas mana yang mau disisipkan, juga berkas citra GIF mana yang akan menjadi tempat penyisipan pesan. Setelah field terisi, pengguna dapat menjalankan proses penyisipan pesan dengan memilih tombol Sisip Pesan. Pada saat tombol Sisip Pesan dipilih, akan muncul sebuah dialog untuk menentukan alamat direktori dan nama berkas citra GIF yang akan disimpan. Gambar IV-8 Antarmuka Menu Penyisipan Pesan 3. Antarmuka menu ekstraksi pesan Menu ekstraksi pesan akan ditampilkan saat tombol ekstraksi dipilih pada menu beranda. Pada menu ekstraksi pesan ditampilkan dua buah field, yaitu kunci dan berkas yang diekstraksi. Kunci akan diisi dengan masukan dari pengguna dengan bilangan asli. Untuk dapat mengekstraksi pesan dengan benar, dibutuhkan nilai kunci yang sama dengan nilai kunci yang dimasukkan pada saat penyisipan pesan. Berkas yang diekstraksi akan berisi alamat

IV-12 direktori dari citra GIF yang akan diekstraksi. Cara mendapatkan alamat direktori dari citra tersebut dengan yaitu dengan memilih tombol browse yang akan menampilkan sebuah dialog untuk memilih berkas. Setelah semua field terisi, pengguna dapat memulai proses ekstraksi pesan dengan cara memilih tombol Ekstraksi Pesan. Namun pada awalnya pengguna diminta menentukan alamat direktori untuk keperluan penyimpanan pesan yang terekstraksi. Gambar IV-9 Antarmuka Menu Ekstraksi Pesan 4.2.2 Perancangan Kelas Kelas yang terdapat pada perancangan pada dasarnya sama dengan kelas yang terdapat pada analisis, hanya saja pada perancangan terdapat beberapa penyesuaian. Penyesuaian yang dilakukan adalah penyesuaian nama kelas, atribut serta fungsi yang terdapat pada kelas. Selain itu, terdapat pula penyesuaian lain, yaitu kelas CompressionDecompression tidak diimplementasikan secara langsung, melainkan menggunakan library yang terdapat pada Java.

IV-13 Daftar kelas perancangan dapat dilihat pada Tabel IV-2. Detil dari atribut dan operasi dari masing-masing kelas dapat dilihat pada Lampiran C. Sedangkan diagram kelas perancangan, yang juga menjelaskan mengenai hubungan antar kelas, terdapat pada Gambar IV-10. Tabel IV-2 Daftar kelas perancangan Nama Kelas Perancangan Nama Kelas Analisis Keterangan MainView Interface Kelas yang mengatur tampilan aplikasi yang memfasilitasi interaksi sistem dengan pengguna Key Key Kelas yang membangkitkan deretan bilangan acak, untuk mengacak atau mengatur bit-bit pesan Message Message Kelas yang menangani proses pembacaan pesan masukan pengguna. Kelas ini juga menangani proses validasi terhadap pesan serta pembacaan ukuran pesan tersebut. SteGifImage Image Kelas yang menangani seluruh proses terhadap citra GIF. Proses tersebut adalah proses pembacaan citra GIF, validasi citra GIF dan pengambilan data yang terdapat pada citra GIF masukan pengguna. Embed Embed Kelas yang menangani seluruh proses yang terkait dengan penyisipan pesan termasuk pemilihan piksel dan pemeriksaan nilai paritas. Kelas ini juga mengaturjenis keluaran dari proses penyisipan pesan, apakan berkas citra baru atau menimpa berkas citra yang lama. Extract Extract Kelas yang digunakan untuk membaca data yang tersimpan di dalam citra GIF dan menggabungkannya menjadi pesan yang dimasukkan oleh pengirim. Kelas ini juga menangani proses pemilihan piksel serta pengecekan nilai paritas.

Gambar IV-10 Diagram kelas perancangan IV-14