Analisis Sistem Analisis Perbandingan Kinerja Algoritma Shannon-Fano, Arithmetic Coding, Dan Huffman Pada Kompresi Berkas Teks Dan Berkas Citra Digital

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahap awal dalam sebuah penelitian yang bertujuan mengetahui masalah terkait dalam pembuatan sebuah sistem dan menggambarkan proses-proses yang ada di dalam sistem untuk menghasilkan keluaran yang sesuai dengan kebutuhan pemakai user. 3.1.1 Ruang lingkup masalah Tools yang digunakan untuk membuat aplikasi kompresi Shannon-Fano, Arithmetic Coding, dan Huffman ini adalah NetBeans IDE 7.0.1. Desain interface yang ada dalam aplikasi ini berupa tampilan form aplikasi untuk proses kompresi dari berkas teks dengan format .txt atau berkas citra dengan format .bmp yang dimasukkan secara digital beserta properties dari masing-masing algoritma kompresi dan untuk proses dekompresi dari berkas dengan format .sf, .ar, atau .hf beserta properties dari masing-masing algoritma dekompresi. Tujuan dari adanya properties ini adalah sebagai parameter yang menentukan algoritma optimal pada kompresi berkas teks atau berkas citra digital. 3.1.2 Analisis masalah Penyebab dan akibat yang akan mempengaruhi aplikasi Shannon-Fano, Arithmetic Coding, dan Huffman pada kompresi berkas teks dan berkas citra digital dijabarkan pada Tabel 3.1. Universitas Sumatera Utara 19 Tabel 3.1 Penyebab dan Akibat Analisis Penyebab dan Akibat Perbaikan Tujuan Sistem Masalah atau Peluang Masalah Penyebab dan Akibat Tujuan Sistem Kendala Sistem 1. Ukuran dari berkas teks dan berkas citra digital besar. 2. Banyak algoritma yang dapat diterapkan untuk kompresi berkas. 1. Proses transmisi data berkas teks atau berkas citra digital lambat. 2. Membutuhkan memori yang besar untuk menyimpan berkas teks atau berkas citra digital. 1. Dibutuhkan aplikasi untuk proses kompresi dan dekompresi berkas. 1. Tidak tersedianya aplikasi kompresi dan dekompresi berkas yang menggunakan algoritma Shannon-Fano, Arithmetic Coding, dan Huffman. Penyebab dan akibat pada Tabel 3.1 merepresentasikan sejumlah analisis masalah yang mempengaruhi aplikasi kompresi. Selanjutnya, masalah-masalah tersebut didekomposisi untuk mendapatkan rincian masalah yang lebih detil sebagai bahan pertimbangan untuk menghasilkan solusi teknis. Adapun dekomposisi masalah tersebut digambarkan dengan diagram ishikawa dan dapat dilihat pada Gambar 3.1. Ukuran berkas teks atau berkas citra digital besar Sulit untuk memampatkan berkas dengan cepat Boros memori penyimpanan berkas Tidak ada aplikasi kompresi dan dekompresi berkas dengan menggunakan algoritma Shannon-Fano, Arithmetic Coding, dan Huffman Machine Tools Materials Methods Man Banyaknya algoritma kompresi yang dapat diterapkan Gambar 3.1 Diagram Ishikawa Universitas Sumatera Utara 20 3.1.3 Analisis kebutuhan Analisis kebutuhan suatu sistem dikelompokkan menjadi 2 bagian, yaitu analisis fungsional dan analisis non-fungsional. Fungsional sistem adalah aktivitas dan pelayanan yang harus dimiliki oleh sebuah sistem yang dapat berupa input, output, proses maupun data yang tersimpan. Terkait dengan tahapan analisis perbandingan kinerja algoritma kompresi, khususnya analisis fungsional, tentunya sistem yang diinginkan dapat: 1. memampatkan berkas teks atau berkas citra digital, 2. menampilkan properties dari kinerja algoritma kompresi, 3. mendekompresi berkas yang telah dimampatkan, dan 4. menampilkan properties dari kinerja algoritma dekompresi. Non-fungsional sistem adalah karakteristik atau batasan yang menentukan kepuasan sebuah sistem yakni seperti kinerja, kemudahan penggunaan, anggaran, serta tenggat waktu yang mampu bekerja tanpa mengganggu fungsionalitas sistem lainnya. Non-fungsional sistem dari sistem yang dibangun dari segi performance adalah sistem memiliki kemampuan dalam melakukan kompresi berkas teks dan berkas citra digital dengan baik. Dari segi information adalah kemampuan sistem dalam menyediakan pesan konfirmasi keberhasilan proses kompresi dan dekompresi berkas. Dari segi economic adalah kemampuan sistem bekerja dengan baik tanpa biaya cost perangkat lunak dan perangkat keras, sehingga penggunaannya tidak mengeluarkan biaya ekstra. 3.1.4 Desain logis Model yang dihasilkan berdasarkan analisis di atas menunjukkan apa saja yang ada dalam aplikasi Shannon-Fano, Arithmetic Coding, dan Huffman pada kompresi berkas teks dan berkas citra digital, dan bagaimana bagian-bagian sistem tersebut diintegrasikan sehingga membentuk sistem yang utuh. Hal tersebut merupakan solusi yang memenuhi kebutuhan yang telah dianalisis. Desain logis yang digunakan pada penelitian ini antara lain: 1. Diagram Use case Diagram ini menggambarkan fungsionalitas yang diharapkan dari Aplikasi Kompresi, dan bagaimana sistem akan bekerja, meliputi interaksi antara aktor dengan sistem. Universitas Sumatera Utara 21 Pada sistem aplikasi kompresi terdapat satu aktor yaitu user. Untuk mendapatkan use case dari aktor, maka harus ditentukan hal-hal apa saja yang dapat dilakukan pemain pada sistem. Hal-hal yang dapat dilakukan oleh aktor antara lain: a. melakukan kompresi berkas, b. melakukan dekompresi berkas, c. melihat halaman Tentang Aplikasi. Diagram use case yang terjadi berdasarkan aktor dan use case yang telah diperoleh dapat dilihat pada Gambar 3.2. Kompresi Tentang Aplikasi Dekompresi Gambar 3.2 Diagram Use Case pada Aplikasi Kompresi Dokumentasi naratif untuk proses kompresi yang terdapat dalam diagram use case dijabarkan pada Tabel 3.2. Universitas Sumatera Utara 22 Tabel 3.2 Dokumentasi Naratif Use Case Kompresi Nama Use Case Kompresi Aktor User Deskripsi Use case ini mendeskripsikan proses menampilkan jendela “Kompresi” dari Aplikasi Kompresi. Pra-kondisi Sudah masuk ke tampilan Aplikasi Kompresi Bidang khas suatu kejadian Kegiatan Aktor Respon Sistem 1. Klik menu “File” 2. Klik menu item “Kompresi” 4. Klik button “Cari File ” 7. Klik button “Kompres” 3. Menampilkan jendela “Kompresi” 5. Membaca berkas yang telah dimasukkan aktor 6. Menampilkan properties berkas yang telah dimasukkan aktor 8. Melakukan proses kompresi dari berkas yang dimasukkan aktor 9. Menampilkan properties berkas yang telah dikompresi Pasca-kondisi Aplikasi dilanjutkan tanpa perubahan Dokumentasi naratif untuk proses dekompresi yang terdapat dalam diagram use case dijabarkan pada Tabel 3.3. Universitas Sumatera Utara 23 Tabel 3.3 Dokumentasi Naratif Use Case Dekompresi Nama Use Case Dekompresi Aktor User Deskripsi Use case ini mendeskripsikan proses menampilkan jendela “Dekompresi” dari Aplikasi Kompresi. Pra-kondisi 1. Sudah masuk ke tampilan Aplikasi Kompresi, 2. Sudah melakukan proses kompresi. Bidang khas suatu kejadian Kegiatan Aktor Respon Sistem 1. Klik menu “File” 2. Klik menu item “Dekompresi” 4. Klik button “Cari File ” 7. Klik button “Dekompres” 3. Menampilkan jendela “Dekompresi” 5. Membaca berkas yang dimasukkan aktor 6. Menampilkan properties berkas yang dimasukkan aktor 8. Melakukan proses dekompresi dari berkas yang dimasukkan aktor 9. Menampilkan properties berkas yang telah didekompresi Pasca-kondisi Aplikasi dilanjutkan tanpa perubahan Dokumentasi naratif untuk proses Tentang Aplikasi yang terdapat dalam diagram use case dijabarkan pada Tabel 3.4. Universitas Sumatera Utara 24 Tabel 3.4 Dokumentasi Naratif Use Case Tentang Aplikasi Nama Use Case Tentang Aplikasi Aktor User Deskripsi Use case ini mendeskripsikan proses menampilkan jendela “Tentang Aplikasi” dari Aplikasi Kompresi. Pra-kondisi Sudah masuk ke tampilan Aplikasi Kompresi Bidang khas suatu kejadian Kegiatan Pemain Respon Sistem 1. Klik menu “Bantuan” 2. Klik menu item “Tentang Aplikasi” 3. Menampilkan jendela “Tentang Aplikasi” Pasca-kondisi Aplikasi dilanjutkan tanpa perubahan 2. Diagram aktivitas Diagram ini menggambarkan berbagai alir aktivitas dalam Aplikasi Kompresi akan dirancang, mulai dari alir berawal, keputusan yang mungkin terjadi, dan sampai alir tersebut berakhir dapat dilihat pada Gambar 3.3. Universitas Sumatera Utara 25 USER SYSTEM Input berkas Baca berkas .bmp .txt Pilih Algoritma Kompresi Shannon-Fano Menyimpan berkas terkompresi ke direktori Menampilkan properties terkompresi Menampilkan properties berkas = Shannon-Fano Huffman Kompresi = Kompresi Pilih Menu Arithmetic Coding Input berkas .sf Baca berkas Menampilkan properties berkas = .sf .ar .hf Dekompresi Dekompresi .sf = .sf .ar .hf Dekompresi Menyimpan berkas terdekompresi ke direktori Menampilkan properties terdekompresi Tentang Aplikasi Menampilkan Tentang Aplikasi =Dekompresi Gambar 3.3 Diagram Aktivitas pada Aplikasi Kompresi Universitas Sumatera Utara 26 3. Diagram sekuensial Diagram ini menggambarkan hubungan statis antara aktor dan lifeline. Hubungan pada proses kompresi berkas terdiri dari proses sebagai berikut: a. pemanggilan berkas, b. pembacaan isi berkas, c. pemasukkan algoritma, d. penyimpanan berkas hasil kompresi, dan e. perhitungan properties kompresi. Diagram sekuensial pada Aplikasi Kompresi dapat dilihat pada Gambar 3.4 dan Gambar 3.5. Universitas Sumatera Utara Kompresi Berkas Input Berkas Input berkas .txt || .bmp Baca Isi Berkas Baca isi berkas Input Algoritma Kode ASCII terkompresi Simpan Berkas Terkompresi Menghitung Properties Properties Algoritma Shannon- Fano, Arithmetic Coding, dan Huffman Gambar 3.4 Diagram Sekuensial Proses Kompresi Dekompresi Berkas Input berkas .sh || .ar || .hf Baca isi berkas Input Berkas Baca Isi Berkas Input Algoritma Algoritma Shannon- Fano, Arithmetic Coding, dan Huffman Simpan Berkas Terkompresi Menghitung Properties Properties Kode ASCII terdekompresi Gambar 3.5 Diagram Sekuensial Proses Dekompresi Universitas Sumatera Utara 28

3.2 Pseudocode