RANCANG BANGUN APLIKASI KOMPRESI FILE TEXT MENGGUNAKAN METODE LEMPEL-ZIV-WILCH (LZW) SKRIPSI Disusun Oleh: RAMA DHANY WIJAYA NPM. 10111100119 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PGRI YOGYAKARTA 2016 i RANCANG BANGUN APLIKASI KOMPRESI FILE TEXT MENGGUNAKAN METODE LEMPEL-ZIV-WILCH (LZW) SKRIPSI Diajukan kepada Universitas PGRI Yogyakarta untuk memenuhi salah satu persyaratan guna memperoleh gelar Sarjana Komputer Disusun Oleh: RAMA DHANY WIJAYA NPM. 10111100119 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PGRI YOGYAKARTA 2016 ii iii iv v vi MOTTO Sedikit sekali hal yang bisa kita percayai di hidup ini,tapi percayalah keringat tidak akan bohong kepadamu. HALAMAN PERSEMBAHAN Perjuangan merupakan pengalaman berharga yang dapat menjadikan kita manusia yang lebih berkualitas. Skripsi ini saya persembahkan untuk orang tua dan keluarga saya yang selalu mendukung.Untuk teman,sahabat dan orang-orang terdekat saya yang selalu membuat saya menjadi lebih bersemangat,dan siapapun yang duduk di dekat saya dan tersenyum saat membaca tulisan ini.Semoga skripsi ini bisa berguna untuk saya dan orang lain. vii KATA PENGANTAR Puji dan syukur ke hadirat Allah SWT yang telah memberikan rahmat dan anugerahNya sehingga penulis dapat menyelesaikan SKRIPSI yang berjudul “Rancang Bangun Aplikasi Kompresi File Text Menggunakan Metode LempelZiv-Wilch (LZW)”. Skripsi ini disusun guna memenuhi sebagian persyaratan kelulusan pendidikan strata satu (S-1) dan memperoleh gelar Sarjana Komputer pada Program Studi Teknik Informatika Fakultas Teknik di Universitas PGRI Yogyakarta. Terima kasih yang tak terhingga atas segala bimbingan, bantuan dan dukungan penulis haturkan kepada: 1. Prof. Dr. Buchory MS, M.Pd, selaku rektor Universitas PGRI Yogyakarta. 2. Bapak M. Fairuzabadi, S.Si, M.Kom, selaku Dekan Fakultas Teknik Universitas PGRI Yogyakarta dan selaku pembimbing skripsi I. 3. Ibu Meilany Nonsi Tentua, S.Si, MT, selaku Wakil Dekan Fakultas Teknik Universitas PGRI Yogyakarta dan selaku pembimbing skripsi II. 4. Ibu Marti Widya Sari, M.Eng, selaku Ketua Program Studi Teknik Informatika Universitas PGRI Yogyakarta. 5. Bapak M. Fairuzabadi, M.Kom, selaku pembimbing I dan Meilany Nonsi Tentua, S.Si, MT selaku pembimbing II. 6. Orang tua penulis Ibu dan Ayah, yang senantiasa memberikan do’a restu, dukungan dan dorongan semangat. Penulis menyadari sepenuhnya bahwa sebagai manusia biasa tentunya tidak akan luput dari kekurangan dan keterbatasan. Maka dengan segenap kerendahan hati, penulis mengharapkan saran dan kritik yang dapat menyempurnakan penulisan ini sehingga dapat bermanfaat dan berguna untuk pengembangan ilmu pengetahuan. Yogyakarta, 4 Mei 2016 Penulis viii DAFTAR ISI HALAMAN JUDUL........................................................................................................ i HALAMAN JUDUL....................................................................................................... ii HALAMAN PERSETUJUAN PEMBIMBING..................... Error! Bookmark not defined. HALAMAN PENGESAHAN DEWAN PENGUJI ................ Error! Bookmark not defined. HALAMAN PERNYATAAN KEASLIAN TULISAN .............................................................. iv HALAMAN MOTTO.................................................................................................... vi HALAMAN PERSEMBAHAN ....................................................................................... vii KATA PENGANTAR .................................................................................................. viii BAB I PENDAHULUAN............................................................................................... xv A. Latar Belakang ................................................................................................ 1 B. Identifikasi Masalah ........................................................................................ 2 C. Rumusan Masalah .......................................................................................... 2 D. Batasan Masalah ............................................................................................ 3 E. Tujuan Penelitian ............................................................................................ 3 F. Manfaat Penelitian ......................................................................................... 3 G. Sistematika Penulisan ..................................................................................... 4 H. Jadwal Penelitian ............................................................................................ 5 BAB II KAJIAN PUSTAKA ............................................ Error! Bookmark not defined. A. TinjauanPustaka ............................................ Error! Bookmark not defined. B. Landasan Teori .............................................. Error! Bookmark not defined. 1. Kompresi .................................................... Error! Bookmark not defined. 2. Algoritma LZW (Lempel-Ziv-Welch) ............... Error! Bookmark not defined. 3. File Teks ...................................................... Error! Bookmark not defined. 4. Format Teks ................................................ Error! Bookmark not defined. 5. Microsoft Visual Basic 6.0 ............................ Error! Bookmark not defined. BAB III METODE PENELITIAN ...................................... Error! Bookmark not defined. A. Obyek Penelitian ........................................... Error! Bookmark not defined. B. Bahan-bahan Penelitian ................................. Error! Bookmark not defined. C. Metode Penelitian ......................................... Error! Bookmark not defined. ix D. Alat-alat Penelitian ........................................ Error! Bookmark not defined. E. Algoritma LZW ............................................... Error! Bookmark not defined. 1. Kompresi LZW ............................................. Error! Bookmark not defined. 2. Dekompresi LZW ......................................... Error! Bookmark not defined. F. Rancangan Sistem.......................................... Error! Bookmark not defined. 1. Flowchart.................................................... Error! Bookmark not defined. 2. Struktur Menu............................................. Error! Bookmark not defined. G. Rancangan Tampilan ...................................... Error! Bookmark not defined. BAB IV IMPLEMENTASI SISTEM ................................. Error! Bookmark not defined. A. Implementasi ................................................ Error! Bookmark not defined. B. Pengujian Sistem ......................................... Error! Bookmark not defined. C. Pembahasan ................................................. Error! Bookmark not defined. BAB V PENUTUP ....................................................... Error! Bookmark not defined. A. Kesimpulan ................................................... Error! Bookmark not defined. B. Saran ............................................................ Error! Bookmark not defined. DAFTAR PUSTAKA ..................................................... Error! Bookmark not defined. x DAFTAR GAMBAR Gambar 3.1 Flowchart Kompresi LZW ........................ Error! Bookmark not defined. Gambar 3.2 Flowchart Dekompresi LZW..................... Error! Bookmark not defined. Gambar 3.3 Rancangan Struktur Menu ...................... Error! Bookmark not defined. Gambar 3.4 Rancangan Form Utama.......................... Error! Bookmark not defined. Gambar 3.5 Rancangan Halaman Simulasi Kompresi ... Error! Bookmark not defined. Gambar 3.6 Rancangan Form Simulasi Dekompresi ..... Error! Bookmark not defined. Gambar 3.7 Rancangan Form Kompresi...................... Error! Bookmark not defined. Gambar 3.8 Rancangan Form Dekompresi .................. Error! Bookmark not defined. Gambar 4.1 Halaman Utama ..................................... Error! Bookmark not defined. Gambar 4.2 Halaman Simulasi Kompresi .................... Error! Bookmark not defined. Gambar 4.3 Halaman Simulasi Dekompresi ................ Error! Bookmark not defined. Gambar 4.4 Halaman Kompresi ................................. Error! Bookmark not defined. Gambar 4.5 Halaman Dekompresi ............................. Error! Bookmark not defined. Gambar 4.8 Diagram Mengenai Tampilan Sistem ........ Error! Bookmark not defined. Gambar 4.9 Diagram Mengenai Bahasa yang digunakan............ Error! Bookmark not defined. Gambar 4.10 Diagram Mengenai Waktu Kompresi & Dekompresi..... Error! Bookmark not defined. Gambar 4.11 Diagram Mengenai Tidak Terjadi Error ... Error! Bookmark not defined. Gambar 4.12 Diagram Mengenai Kinerja Proses Kompresi & Dekompresi ............ Error! Bookmark not defined. Gambar 4.6 Tabel Proses Kompresi ............................ Error! Bookmark not defined. Gambar 4.7 Tabel Proses Dekompresi ........................ Error! Bookmark not defined. xi DAFTAR TABEL Tabel 1.1 Jadwal Penelitian ........................................................................................ 5 Tabel 2.1 ASCII.......................................................... Error! Bookmark not defined. Tabel 3.1 Tahapan Proses Kompresi ........................... Error! Bookmark not defined. Tabel 3.2 Tahapan Proses Dekompresi ....................... Error! Bookmark not defined. Tabel 4.1 Kompresi ................................................... Error! Bookmark not defined. Tabel 4.2 Proses Kompresi Manual ............................ Error! Bookmark not defined. Tabel 4.3 Proses Dekompresi Manual......................... Error! Bookmark not defined. xii DAFTAR MODUL Modul 2.1 Pseudo Code Kompresi .............................. Error! Bookmark not defined. Modul 2.2 Pseudo Code Dekompresi .......................... Error! Bookmark not defined. Modul 4.1 Script Kompresi ........................................ Error! Bookmark not defined. Modul 4.2 Script Dekompresi..................................... Error! Bookmark not defined. Modul 4.3 Script Kompresi ........................................ Error! Bookmark not defined. Modul 4.4 Script Dekompresi..................................... Error! Bookmark not defined. xiii ABSTRAK Rama Dhany Wijaya. Rancang Bangun Aplikasi Kompresi File Text Menggunakan Metode Lempel-Ziv-Wilch (LZW). Skripsi. Yogyakarta. Fakultas Teknik Universitas PGRI Yogyakarta, Maret 2016. Tujuan penelitian ini untuk merancang aplikasi kompresi file dengan menggunakan algoritma Lempel-Ziv-Welch (LZW), menguji validasi dan kehandalan aplikasi kompresi file yang dibangun melalui black boxtest dan alpha test. Kompresi data merupakan suatu cara yang dapat dimanfaatkan untuk mengatasi ukuran suatu file yang besar sehingga masalah penyimpanan, pengiriman data maupun kebutuhan bandwidth yang digunakan dapat diatasi. Pada penelitian yang dilakukan, diimplementasikan algoritma LZW untuk kompresi dan dekompresi file teks dengan format .txt. Berdasarkan hasil pengujian, manfaat yang diharapkan pada penelitian ini adalah menyediakan aplikasi yang dapat digunakan untuk melakukan kompresi file sehingga menghemat media penyimpanan dan komunikasi data. Kata Kunci : Kompresi File, Lempel-Ziv-Wilch (LZW) xiv ABSTRACK Rama Dhany Wijaya . Designing text file compression application using LempelZiv-Wilch(LZW) method.Under graduate thesis. Yogyakarta. Faculty of engineering, University of PGRI Yogyakarta,March 2016. The purpose of this study is to design application using a file compression algorithm Lempel-Ziv-Wilch(LZW), test validation and reliability of file compression application that was built by blackbox test and alpha test. Data compression is a way that can be used to overcome the size of a large file so that the problem of storage , data transmission and bandwidth used needs can be addressed . In the study conducted , implemented LZW algorithm for compression and decompression of a text file with a .txt format . Based on test results , the expected benefits of this research is to provide an application that can be used to compress the file so it saves storage media and data communications . Keywords : File compression , Lempel - Ziv - Wilch ( LZW ) xv BAB I PENDAHULUAN A. Latar Belakang Terdapat beberapa hal yang perlu diperhatikan pada saat teknologi semakin berkembang, yaitu kecepatan akses dan kapasitas memori. Semakin berkembangnya teknologi mengakibatkan ukuran suatu data akan semakin besar. Untuk menyalin sebuah data yang besar membutuhkan waktu yang semakin lama, dan untuk menyimpan data tersebut membutuhkan memori yang besar pula. Banyak data-data yang ingin kita simpan, tetapi kadang kala kapasitas memori yang kita miliki tidak sebanding dengan data yang akan kita simpan. Untuk mengatasi masalah penyimpanan data dan kecepatan akses, salah satunya dengan cara kompresi data informasi yang disimpan. Informasi yang dimaksud adalah informasi yang berupa file text (file berisi tulisan biasa). Seperti kita ketahui bahwa ukuran data teks lebih kecil bila dibandingkan dengan ukuran gambar/citra, dan kita ketahui pula beberapa instansi biasanya selalu menyimpan data text dalam jangka waktu lama karna akan dibutuhkan sewaktu-waktu. Walaupun demikian untuk mengefisiensikan ruang penyimpanan data dan mendapatkan waktu kecepatan akses yang lebih cepat, maka dianggap perlu untuk melakukan pemampatan bentuk berkas text ini. Pemampatan data informasi akan memperkecil ukuran file dan mempercepat transfer file sehingga dapat mengurangi beban memori. Dengan ukuran file yang lebih kecil akan lebih praktis untuk dibawa kemana saja, misalnya dalam media penyimpanan dan flash disk. Tujuan utama dilakukannya kompresi file antara lain menggabungkan lebih dari 1 1 2 file atau data menjadi sebuah file yang solid dan tidak terpisahkan, sehingga memudahkan dalam proses mobilitas atau perpindahan (Enterprise, 2010). Kompresi data merupakan suatu teknik untuk memperkecil ukuran file dari file aslinya. Semua jenis file dapat dikenakan proses kompresi. Salah satu diantaranya adalah file text. Algoritma Lempel-Ziv-Welch (LZW) adalah salah satu algoritma kompresi yang dapat digunakan untuk mengkompresi file tersebut. Algoritma ini melakukan kompresi dengan menggunakan rumus, dimana text diganti dengan index yang diperoleh dari sebuah “kamus”. Berdasarkan uraian di atas, penulis tertarik membuat Tugas Akhir yang berjudul “Rancang Bangun Aplikasi Kompresi File Text Menggunakan Metode Lempel-Ziv-Wilch (LZW)”. B. Identifikasi Masalah Berdasarkan latar belakang masalah diatas, dapat diidentifikasi berbagai permasalahan, sebagai berikut: 1. Kapasitas media penyimpanan data yang terbatas. 2. Ukuran file yang besar akan semakin memperlambat transmisi data. C. Rumusan Masalah Dari latar belakang di atas dapat dirumuskan suatu masalah antara lain: 1. Bagaimana merancang aplikasi kompresi file dengan menggunakan algoritma Lempel-Ziv-Welch (LZW)? 2. Bagaimana uji coba aplikasi yang dibangun? 3 D. Batasan Masalah Agar pembahasan dan penulisan laporan dapat dilakukan secara terarah dan mencapai sasaran, maka penulis membatasi masalah antara lain: 1. Input dari perangkat lunak ini adalah sebuah file, bukan beberapa file atau folder. 2. File uji yang akan digunakan untuk kompresi adalah tipe file plain text ASCII. 3. Menggunakan teknik algoritma kompresi Lempel-Ziv-Welch (LZW). 4. Perangkat lunak yang digunakan untuk membangun aplikasi ini adalah Microsoft Visaul Basic 6.0. E. Tujuan Penelitian Tujuan dari penelitian ini yaitu: 1. Merancang aplikasi kompresi file dengan menggunakan algoritma LempelZiv-Welch (LZW). 2. Menguji validasi dan kehandalan aplikasi kompresi file yang dibangun melalui black boxtest dan alpha test. F. Manfaat Penelitian Beberapa manfaat yang diharapkan pada penelitian ini adalah: 1. Bagi Peneliti a. Sebagai bahan implementasi dari pembelajaran yang telah didapat di kampus. b. Untuk menambah wawasan penulis dalam mebuat suatu program aplikasi. 4 2. Pengguna Aplikasi a. Menyediakan aplikasi yang dapat digunakan untuk melakukan kompresi file teks sehingga menghemat media penyimpanan dan komunikasi data. 3. Bagi Universitas a. Sebagai tolok ukur sejauh mana pemahaman dan penguasaan mahasiswa terhadap teori yang diberikan. b. Sebagai bahan referensi untuk penelitian yang akan datang tentang sistem informasi spasial. c. Sebagai bahan evaluasi akademik untuk meningkatkan mutu pendidikan. G. Sistematika Penulisan Sistematika penulisan yang digunakan dalam Tugas Akhir ini terbagi dalam beberapa pokok bahasan, yaitu: BAB I : PENDAHULUAN Berisi tentang latar belakang masalah, perumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, sistematika penulisan dan jadwal penelitian. BAB II : KAJIAN PUSTAKA Pada bab ini menjelaskan mengenai teori-teori yang mendasari penyusunan skripsi ini. BAB III : METODE PERANCANGAN Bab ini membahas tentang tahap-tahap dalam perancangan dari sistem yang dibuat. 5 BAB IV : IMPLEMENTASI SISTEM Bab ini berisi implementasi yang menjelaskan implementasi sistem serta pengujian yang akan menjelaskan pengujian sistem secara alpha dan betha. BAB V : PENUTUP Berisi kesimpulan mengenai penelitian yang dikerjakan lengkap dengan kelemahan dan kelebihan sistem, serta usulan-usulan yang bisa diimplementasikan untuk pengembangan sistem lebih lanjut. H. Jadwal Penelitian Penelitian ini akan dilakukan sesuai dengan rencana dan jadwal yang telah dibuat dalam bentuk matrik kerja penelitian sebagai acuan kerja bagi peneliti: Tabel 1.1 Jadwal Penelitian No Jadwal kegiatan 1 2 3 4 5 6 Pengajuan Judul Tugas Akhir Pengumpulan data Analisis dan desain sistem Pembuatan Program Uji coba Aplikasi Program Penyelesaian laporan 2015/2016 Nov Des Jan 1 2 3 4 1 2 3 4 1 2 3 4 6