20 15101103 BAB III
DESAIN DAN PEMBUATAN PROGRAM 3.1 Instrumen Penelitian
Dalam melakukan suatu penelitian skripsi ini diperlukan beberapa instrumen (alat bantu) yang digunakan unruk melakukan proses penelitian.
Instrumen ini menjadi suatu hal yang sangat penting serta mempengaruhi hasil dari penelitian tersebut. Pada penelitian ini akan dianalisis tentang algoritma Huffman dan Lempel-Ziv-Welch (LZW) terhadap kompresi dan dekompresi dari file citra. Apabila instrumen hardware dan software penduku yang digunakan dalam proses perancangan dan pembuatan program dalam kondisi yang baik dan didukung dengan data-data dari algoritma Huffman dan Lempel-Ziv-Welch (LZW) yang sesuai dan akurat, maka proses perancangan dan pembuatan program serta analisa yang dilakukan akan lancar dan semakin mudah.
3.1.1. Hardware
Instrumen hardware utama yang digunakan dalam penelitian ini adalah Personal Computer (dalam hal ini adalah notebook).
Personal Computer atau PC memiliki peran sebagai instrumen pembuat program serta penganalisa data baik data kompresi maupun dekompresi dari file citra, karena pada dasarnya seluruh proses yang dilakukan kali ini menggunakan bantuan PC tanpa terkecuali.
Keluaran akhir dari penelitian kali ini adalah hasil analisa dari kompresi dan dekompresi dari file citra menggunakan algoritma Huffman dan Lempel-Ziv-Welch (LZW) dengan pendukung berupa software untuk melakukan proses diatas yang hanya berjalan pada PC kususnya yang menggunakan operating system Windows. Pada gambar 3.1. dibawah ini menunjukan hardware PC yang digunakan selama proses penelitian.
15101103 21 Gambar 3.1 PC atau notebook yang digunakan
Spesifikasi notebook utama yang digunakan pada penelitian ini adalah.
1. Prosesor : Intel(R) Core(TM) i5-2450M CPU
@2,5GHz
2. Memory : 4096MB RAM 3. Harddisk : 750 GB
4. Graphic processor: Intel(R) HD Graphics 3000
5. Operating system : Windows 8.1 Enterprise 64-bit (6.3, Build 9600)
3.1.2. Software
Software yang digunakan selama proses pembuatan laporan skripsi ini adalah
1. Microsoft Visual Studio 2012 2. GC Huffman dan GC LZW 3. Microsoft Excel 2013
Perancangan dan pembuatan software kompresi dan dekompresi dilakukan dengam menggunakan Microsoft Visual Studio 2012. Dengan software tersebut proses design user interface serta coding dirancang, sedangkan untuk proses testing menggunakan software hasil keluaran dari perancangan menggunakan software Microsoft Visual Studio 2012 tersebut.
Spesifikasi minimal untuk mampu menjalankan Microsoft Visual Studio adalah:
1. Prosesor : Minimum 1,6 GHz atau lebih tinggi
22 15101103 2. Memory : 1GB untuk windows
32bit dan 2GB untuk windows 64 bit 3. Hardisk : Ruang bebas minimum 10GB
4. Graphic processor: Mendukung DirectX 9
Software GC Huffman dan GC LZW merupakan software untuk melakukan kompresi dan dekompresi yang dibuat menggunakan software Microsoft Visual Studio 2012. Sedangkan Microsoft Excel 2013 digunakan untuk menganalisa hasil dari seluruh data kompresi dan dekompresi yang telah didapatkan.
3.2 Flowchart Proses Pengerjaan
Flowchart untuk pengerjaan skripsi dapat dilihat pada gambar 3.2 berikut.
Mulai
Perancangan Algoritma Huffman
dan LZW
Aplikasi Kompresi Huffman dan LZW
Proses Simulasi Dan Pengambilan Data Huffman (Dokumen,Video, Music, Citra)
Kompresi gagal Hasil Kompresi
Selesai No
Yes
Analisis Pengujian Laporan Penelitian Hasil Dekompresi
Proses Simulasi Dan Pengambilan Data LZW (Dokumen,Video, Music, Citra)
Gambar 3.2 Flowchart perancangan sistem alur kerja
15101103 23 Langkah kerja pembuatan laporan skripsi ini adalah dimulai dari perancangan algoritma Huffman dan LZW yang akan digunakan, kemudian setelah itu akan dilakukan perancangan skenario – skenario pengujian algoritma tersebut agar diperoleh hasil yang seakurat mungkin. Setelah skenario terbentuk maka tahap selanjutnya dalam melakukan simulasi kompresi data dengan algoritma Huffman dan LZW dengan menguji setiap tipe dokumen, video, musik, dan citra dimana pengujian setiap tipe tersebut terdiri dari format ekstensi yaitu Portable Document Format (PDF), PowerPoint Presentation (PPT), dan, document (DOC) untuk teks, Audio Video Interleave (AVI), Flash Video (FLV), MPEG-4 (MP4) untuk video, Advanced Audio Coding (AAC), MPEG-1 Audio Layer 3 (MP3), Microsoft Wave File (WAV) untuk audio dan Portable Network Graphics (.PNG), Tagged image format (.TIF), dan Joint Photographics Expert Gruoup (.JPG) untuk citra. Dimana setiap format ekstensi dilakukan pengujian dengan menggunakan dua buah data dengan ukuran yang berbeda, dengan menggunakan kedua algoritma Huffman dan algoritma Lempel-Zip-Welch (LZW) maka diperoleh kapasitas setelah kompresi, rasio kompresi, waktu melakukan kompresi dan waktu melakukan dekompresi. Bila ditemukan kesalahan maka proses akan diulang mulai dari Perancangan Algoritma Huffman dan/atau Lempel-Zip-Welch LZW, namun bila tidak terjadi kesalan akan dihasilkan output berdasarkan algoritma yang digunakan dan kemudian akan dianalisa hasilnya.
3.3 Perancangan Sistem
Sebelum melakukan analisa dari algoritma huffman perlu dilakukan perancangan aplikasi menggunakan software Microsoft Visual Studio 2012, dengan bantuan software tersebut dapat dihasilkan sebuah aplikasi kompresi dan dekompresi file citra menggunakan algoritma Huffman dan algoritma Lempel-Zip-Welch (LZW) dimana software tersebut diberinama GC Huffman dan GC LZW
3.3.1 Perancangan Diagram Blok Sistem
Pada penelitian ini software yang akan digunakan untukmelakukan kompresi ada 2 yaitu GC Huffman untuk kompresi menggunakan algoritma Huffman dan GC LZW untuk kompresi menggunakan algoritma Lempel-Zip-Welch (LZW), namun alur utama dalam melakukan input dan output antara kedua program tersebut adalah sama sebagaimana ditampilkan pada gambar 3.4 berikut.
24 15101103
Video Teks Citra Suara
Compressor
File Terkompresi
Decompressor
Video Teks Citra Suara
Gambar 3.4 Diagram blok
Dari gambar 3.4 diatas terlihat informasi input yang digunakan terdapat empat jenis yaitu video, teks, citra, dan suara yang dimana keempat informasi input tersebut merupakan data multimedia, kemudian agar informasi input tersebut dapat berubah menjadi file terkompresi maka perlu dimasukan ke compreesor dimana compreesor yang dimaksut disini adalah software GC Huffman untuk kompresi menggunakan algoritma Huffman dan software GC LZW untuk kompresi menggunakan algoritma Lempel-Zip-Welch (LZW). File terkompresi yang dihasilkan oleh kedua software tersebut memiliki format yang berbeda sehingga untuk melakukan proses decompressor perlu menggunakan software yang sama dimana bila melakukan kompresi menggunakan software GC Huffman makan proses kompresinya pun menggunakan software GC Huffman dan sebaliknya, bila melakukan kompresi menggunakan software GC LZW makan proses kompresinya pun menggunakan software GC LZW. File terkompresi yang telah didekompresi akan kembali menjadi seperti informasi awal yang di-input dimana informasi video akan kembali lagi menjadi video, informasi teks kembali menjadi teks, demikian pula dengan informasi citra dan suara yang akan kembali menjadi informasi citra dan suara seperti informasi input semula dan tidak akan mungkin file yang telah terdekompresi akan menghasilkan hasil yang berbeda
15101103 25 daripada informasi input kecuali terdapat kesalahan yang dilakukan pengguna atau biasa disebut user error.
3.3.2 Perancangan Huffman
Software GC Huffman yang digunakan dalam penelitian skripsi ini memiliki alur kerja dari software ini dapat dilihat pada 3.4 menampilkan diagram blok dari GC Huffman dan pada gambar 3.5flowchart langkah kerja dari GC Huffman sedangkan user interface sebagai mana ditunjukan pada gambar 3.4berikut
Mulai
Input File
Membaca setiap bit
Menghitung jumlah kemunculan setiap byte yang sama
Buat daftar simpul dari hasil perhitungan, tiap simpul memiliki nilai
byte kemunculan
Pilih 2 simpul dengan jumlah kemunculan terkecil dan hapus
Buat simpul baru dari hasil penjumlahan 2 kemunculan terkecil
Semua simbol sudah ada pada simpul?
Selesai No
Yes File Kompesi Memilih directory output
Compress
Decompress
Memilih directory output
File Dekompesi Yes
No No
Yes
Membaca setiap bit dari string biner mulai dari akar mengembalikan setiap bit kebentuk
semula hingga simpul terakhir
Semua simpul sudah dikembalikan?
Yes
Gambar 3.5 Flowchart Alur Kerja Software GC Huffman
Alur kerja berdasarkan flowchar diatas adalah dimulai dari input file yang akan dikompresi kemudian memilih directory ouput file
26 15101103 yang akan diinginkan bila sudah kemudian sistem akan mengkompresi file input-tan menjadi suatu file yang baru, kemudian untuk mendekompresi, pilih kembali direktori yang diinginkan kemudian setelah itu sistem akan secara otomatis mendekompresi file, menjadikanya seperti file semula.
Gambar 3.6 user interface GC Huffman
Langkah kerja menjalankan Software GC Huffman sofware ini menggunakan listing program utama dari Hatem Mostafa dan untuk langkah-langkah pengopresasianya dapat dilihat dari gambar 3.7 sampai 3.14 berikut
1. Input file dengan cara klik tombol yang ditunjukan oleh panah merah berikut
Gambar 3.7 tombol input file
15101103 27 2. Pilih file yang akan dikompresikan
Gambar 3.8 Memilih file yang dikompresi
3. Pilih lokasi dan nama file keluaran yang diinikan dengan klik tombol berikut dan beri akhiran ekstensi .hfm
Gambar 3.9 memilih lokasi keluaran file kompresi 4. Tekan tombol compress untuk mengkompres file tersebut
Gambar 3.10 Software melakukan kompresi
28 15101103 5. Untuk decompress Input file dengan cara klik tombol berikut
Gambar 3.11 tombol input file 6. Pilih file yang akan didekompresikan
Gambar 3.12 Memilih file yang dikompresi
7. Pilih lokasi dan nama file keluaran hasil dekompresi yang diinikan dengan klik tombol berikut dan berinama
Gambar 3.13 memilih lokasi keluaran file dekompresi
15101103 29 8. Tekan tombol Decompress untuk mengdekompres file tersebut
Gambar 3.14 Software melakukan dekompresi
3.3.3 Perancangan Proses Lempel-Zip-Welch (LZW)
Pada gambar 3.15 alur kerja software GC LZW untuk mengkompresi suatu file citra berdasarkan algoritma Lempel-Zip- Welch (LZW)
Yes Mulai Input File
STRING + CHAR ada di
tabel?
File Kompresi Selesai Input byte pertama, simpan
dalam STRING Input byte berikutnya simpan
dalam CHAR
Output STRING
STRING + CHAR masuk ke tabel STRING + CHAR
STRING = STRING + CHAR
Ada byte input?
No
Yes
No Compress Input Bit Per Sample Memilih Directory Output
Gambar 3.15 Flowchart Alur Kerja Software GC LZW
30 15101103 Alur kerja software GC LZW dimulai dengan user meng-input file yang akan dikompresi kemudian memilih Bit per sample yang diinginkan, kemudian memilih directory dimana file output akan disimpan, setelah itu tekan tombol compress maka file yang telah ter- input dimana proses kompresi dilakukan secara otomatis oleh sistem dan file hasil kompresi akan muncul pada directory tersebut kemudian untuk mendekompresi, pilih kembali direktori yang diinginkan kemudian setelah itu sistem akan secara otomatis mendekompresi file, menjadikanya seperti file semula.
Langkah kerja menjalankan Software GC LZW sofware ini menggunakan listing program utama dari Hatem Mostafa dan untuk langkah-langkah pengopresasianya dapat dilihat dari gambar 3.16 sampai 3.24 berikut
1. Pilih Bit Per Sample yang akan digunakan
Gambar 3.16 Memilih Bit Per Sample 2. Input file dengan cara klik tombol berikut
Gambar 3.17 tombol input file
15101103 31 3. Pilih file yang akan dikompresikan
Gambar 3.18 Memilih file yang dikompresi
4. Pilih lokasi dan nama file keluaran yang diinikan dengan klik tombol berikut dan beri akhiran ekstensi .lzw
Gambar 3.19 memilih lokasi keluaran file kompresi 5. Tekan tombol compress untuk mengkompres file tersebut
Gambar 3.20 Software melakukan kompresi
32 15101103 6. Input file dengan cara klik tombol berikut
Gambar 3.21 tombol input file 7. Pilih file yang akan dikompresikan
Gambar 3.22 Memilih file yang dikompresi
8. Pilih lokasi dan nama file keluaran hasil dekompresi yang diinikan dengan klik tombol berikut dan berinama
Gambar 3.23 memilih lokasi keluaran file dekompresi
15101103 33 9. Tekan tombol Decompress untuk mengdekompres file tersebut
Gambar 3.24 Software melakukan dekompresi 3.4 Analisis Pengambilan Hasil Data
Analisis hasilpengujian ini bertujuan untuk mengolah hasil pengujian yang telah diperoleh menjadi suatu data yang dapat menunjukan algoritma algoritma Huffman atau algoritma Lempel-Zip-Welch (LZW) yang lebih baik dilihat dalam beberapa parameter.Analisis dilakunan dengan memperhatikan :
3.4.1 Skenario Pengambilan data
Dalam penelitian ini menggunakan 2 skenario untuk masing- masing tipe data yang diujikan, dimana skenario pertama menggunakan file dengan dengan variasi data didalamnya sedikit, sedangkan skenario kedua menggunakan file yang didalamnya memiliki banyak variasi data, adapun data-data dimaksut adalah sebagai berikut:
3.4.1.1 Video
Skenario pertamayang digunakan untuk menguji file video adalah megunakan sample yang berisi suatu file video dengan kemiripan karakter karakter yang sangat tinggi, karena ketiga video yang diujikan dalam format .AVI, .FLV, dan .MP4 hanya menampilkan warna abu-abu saja sepanjang video dan tanpa terdapatnya suara apapun dari video tersebut.
Sedangkan pada skenario kedua ini pengujian dilakukan dengan megunakan sample yang berisi suatu file video dengan karakter yang beragam yang dimana skenario
34 15101103 kedua ini lebih sering dijumpai dalam kegiatan sehari-hari, seperti gerakan manusia dan disertai suara pada video tersebut.
Pada format .MP4 yang diuji pada skenario pertama menggunakan video dengan durasi selama 4 menit 14 detik, resolusi 720x480, bitratenya sebesar 573Kbps, dan ukuranya sebesar 18.024 KB sedangkan pade skenario kedua memiliki durasi selama 3 menit 42 detik, resolusi 480x360, bitratenya sebesar 662Kbps, dan ukuranya sebesar 18.008 KB.
Pada format .FLV yang diuji pada skenario pertama menggunakan video dengan durasi selama 4 menit 14 detik, resolusi 720x480, bitratenya sebesar 184Kbps, dan ukuranya sebesar 5.711 KB sedangkan pade skenario kedua memiliki durasi selama 1 menit 20 detik, resolusi 480x360, bitratenya sebesar 604Kbps, dan ukuranya sebesar 5.902 KB.
Pada format .AVI yang diuji pada skenario pertama menggunakan video dengan durasi selama 14 detik, resolusi 720x480, bitratenya sebesar 30.307 Kbps, dan ukuranya sebesar 55.234 KB sedangkan pade skenario kedua memiliki durasi selama 14 detik, resolusi 720x480, bitratenya sebesar 30.307 Kbps, dan ukuranya sebesar 54.489 KB.
3.4.1.2 Teks
Pada pengujian file teks yang akan diujikan pun megunakan dua skenario yang dimana pada skenario pertama ini megunakan sample yang berisi suatu file teks dengan kemiripan karakter karakter yang sangat tinggi, karena ketiga teks yang diujikan dalam format .PDF,.PPT, dan .DOC hanya menampilkan karakter z dan spasi saja tanpa adanya karakter lain.
Pada skenario kedua pengujian file teks berikutnya, pengujian dilakukan dengan megunakan sample yang berisi suatu file teks dengan berbagai karakter yang beragam, dimana skenario kedua ini lebih sering dijumpai dalam kegiatan sehari-hari, seperti untuk penulisan laporan
15101103 35 novel, presentasi dan sebagainya
Pada format .DOC diuji pada skenario pertama menggunakan file yang berisikan karakter z dengan font calibri yang berukuran 11 serta terdiri dari 26.668 kata dan ukuranya sebesar 5.941 KB sedangkan pade skenario kedua menggunakan font times new roman yang berukuran 12 namun memiliki berbagai variasi karakter didalamnya dan juga memuat citra didalamnya dengan total 5468 karakter dan ukuranya sebesar 5.957 KB.
Pada format .PDF kedua file yang diuji baik pada skenario pertama maupun kedua adalah sama dengan yang diuji pada format .DOC hanyasaja formatnya yang diubah dalam bentuk .PDF sehingga untuk skenario pertama memiliki ukuran sebesar 2.568 KB dan untuk skenario kedua sebesar 3.563 KB.
Pada format .PPT diuji pada skenario pertama menggunakan file yang berisikan karakter z dengan desain layout putih polos kata dan ukuranya sebesar 3.798 KB sedangkan pade skenario kedua menggunakan desain layout bergambar dan banyak variasi karakter didalamnya dan juga memuat citra didalamnya dengan ukuranya sebesar 3.798 KB.
3.4.1.3 Citra
Pada pengujian file cita ini pun megunakan dua skenario yang dimana pada skenario pertama ini megunakan sample yang berisi suatu file citra dengan kemiripan karakter karakter yang sangat tinggi, karena ketiga citra yang diujikan dalam format tif, png, dan jpg hanya menampilkan warna abu-abu saja tanpa adanya warna lain.
Pada skenario kedua pengujian file citra berikutnya, pengujian dilakukan dengan megunakan sample yang berisi foto pemandangan yang memiliki banyak warna dan detail, dimana skenario kedua ini lebih sering dijumpai dalam kegiatan sehari-hari, seperti untuk foto portrait, landscape dan sebagainya.
Pada format .TIF diuji pada skenario pertama menggunakan file citra dengan resolusi 4.800x5.000 serta
36 15101103 kedalaman bit-nya adalah 48 bit dengan ukuran 140.646 KB sedangkan untuk skenario kedua menggunakan file citra dengan resolusi 6.000x4.000 serta kedalaman bit-nya adalah 48 bit dengan ukuran 140.658 KB adapun kedua format .TIF yang digunakan dapat dilihat pada gambar dibawah
Gambar 3.25 citra .tif skenario 1
Gambar 3.26 citra .tif skenario 2
Pada format .PNG diuji pada skenario pertama menggunakan file citra dengan resolusi 4.800x5.000 serta kedalaman bit-nya adalah 48 bit dengan ukuran 140.669 KB sedangkan untuk skenario kedua menggunakan file citra dengan resolusi 4.000x6.000 serta kedalaman bit-nya adalah 48 bit dengan ukuran 140.698 KB adapun kedua format .PNG yang digunakan dapat dilihat pada gambar dibawah
Gambar 3.27 citra .png skenario 1
15101103 37 Gambar 3.28 citra .tif skenario 2
Pada format .JPG diuji pada skenario pertama menggunakan file citra dengan resolusi 8.000x9.100 serta kedalaman bit-nya adalah 24 bit dengan ukuran 4.739 KB sedangkan untuk skenario kedua menggunakan file citra dengan resolusi 4.608x3.072serta kedalaman bit-nya adalah 24 bit dengan ukuran 4.740 KB adapun kedua format .JPG yang digunakan dapat dilihat pada gambar dibawah
Gambar 3.29 citra .jpg skenario 1
Gambar 3.30 citra .jpg skenario 2
38 15101103 3.4.1.4 Suara
Pada pengujian file suara ini pun megunakan dua skenario yang dimana pada skenario pertama ini megunakan sample yang berisi suatu suara kosong kepada ketiga format yang diuji yaitu format m4a, mp3, dan wav.
Pada skenario kedua pengujian file suara berikutnya, pengujian dilakukan dengan megunakan sample yang berisi file lagu, dimana skenario kedua ini lebih sering dijumpai dalam kegiatan sehari-hari.
Pada format .MP3 diuji pada skenario pertama menggunakan file bit rate 192 kbps dengan durasi 6 menit 9 detik dengan ukuran 8.655 KB, namun file tersebut bersifat mute atau tidak terdapat suara apapun. Sedangkan pada skenario pertama menggunakan file bit rate 320 kbps dengan durasi 3 menit 29 detik dengan ukuran 8.655 KB yang berisikan suara manusia dan berbagai instrumen musik.
Pada format .M4A diuji pada skenario pertama menggunakan file bit rate 319 kbps dengan durasi 6 menit 9 detik dengan ukuran 14.414 KB, namun file tersebut bersifat mute atau tidak terdapat suara apapun. Sedangkan pada skenario pertama menggunakan file bit rate 264 kbps dengan durasi 6 menit 33 detik dengan ukuran 12.940 KB yang berisikan suara manusia dan berbagai instrumen musik.
Pada format .WAV diuji pada skenario pertama menggunakan file bit rate 2.116 kbps dengan durasi 3 menit 4 detik dengan ukuran 47.587 KB, namun file tersebut bersifat mute atau tidak terdapat suara apapun.
Sedangkan pada skenario pertama menggunakan file bit rate 1.411 kbps dengan durasi 4 menit 34 detik dengan ukuran 47.348 KB yang berisikan suara manusia dan berbagai instrumen musik.
3.4.2 Membandingkan Hasil Kinerja Algoritma yang Diuji
Setelah dilakukan analisis pengujian kinerja menggunakan algoritma Huffman dan algoritma Lempel-Zip-Welch (LZW).
Perbandingan hasil berdasarkan parameter waktu kompresi, waktu
15101103 39 dekompresi, dan rasio kompresi yang telah diperoleh baik menggunakan algoritma Huffman dan algoritma Lempel-Zip- Welch (LZW). Kemudian dianalisis dan ditarik kesimpulan dari hasil pengukuran tersebut.