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