IMPLEMENTASI ALGORITMA LZ77 DALAM KOMPRESI FILE BERBASIS ANDROID Ismael1, Ali Anmaruddin2, Jurusan Teknik Komputer dan Informatika Politeknik Negeri Medan 2 Jurusan Sistem Informasi Universitas Potensi Utama Email :
[email protected]
1
Abstract-- In the era of growing computerization there are many operating systems that run on Android devices, as products Mobile Phone today is more developed and more desirable because of a variety of features can be shown to meet the needs and special attraction for its users. The Android operating system is one of the operating system that was developing. There are advantages of this operating system, among others, the operating system can be changed in accordance with the wishes of their own, many computer applications are already available for Android devices. One of the features that are supported in the Android operating system is the implementation of file compression feature in the process of transfer through your android device to a PC using algoritma with become attractive features of your Android device itself. But the problems that occur in the community is at least the implementation of file compression used as well as the least development which uses the android device using LZ77 algorithm. Where is the solution to solve this problem is that we have to spread these applications through the Internet, so that people know the development of a LZ77 algorithm in android file compression can be implemented into your android device uses an algorithm to support algorithms. Implementation compression file dalam melalui android device uses algorithms during data transmission can save usage time data transfer via android device to a PC using an algorithm to compress the file is the algorithm, the use of algorithms LZ77 nature which compression technique file compression results can be decompressed again and the result is the same as the file before the compression process. Keywords: "File Compression", "Decompression File", "LZ77 algorithm", "File Transfer", "Mobile Phone Android". Abstrak-Pada era komputerisasi yang semakin berkembang banyak terdapat sistem operasi yang berjalan pada perangkat Android, sebagai produk Mobile Phone dewasa ini lebih berkembang dan lebih diminati karena beragam fitur dapat ditampilkan untuk memenuhi kebutuhan dan daya tarik tersendiri bagi penggunanya. Sistem operasi
Android merupakan salah satu sistem operasi yang tengah berkembang. Terdapat keunggulan dari sistem operasi ini antara lain sistem operasinya dapat diubah sesuai dengan keinginan sendiri, banyaknya aplikasi komputer yang sudah tersedia untuk perangkat Android. Salah satu fitur dalam sistem operasi Android adalah fitur implementasi kompresi file menggunakan algoritma LZ77 yang menjadi fitur menarik dari perangkat Android itu sendiri. Namun, pada aplikasi ini Besarnya ukuran file terkadang menjadi kendala dalam proses kompresi/dekompresi file akan memakan waktu yang lebih lama dibandingkan dengan file yang memiliki ukuran lebih kecil, Oleh karena itu, pengiriman data atau file harus memerlukan bandwidth yang besar apabila ukuran file yang akan dikirim juga besar, Sehingga pada saat proses kompresi/dekompresi file dapat menghemat penggunanaan waktu transfer data melalui perangkat android ke PC menggunakan algoritma LZ77, pemakaian algortima LZ77 sifatnya yang dimana teknik kompresi file hasil kompresi dapat didekompresi lagi dan hasilnya sama seperti file sebelum proses kompresi. Kata Kunci : “Kompresi File”,”Dekompresi File”, “Algoritma LZ77”, “Transfer File”, “Mobile Phone Android”.
1. Pendahuluan Perkembangan teknologi informasi telah banyak membantu setiap orang dengan berbagai fitur dan jenis teknologi yang dapat digunakan pada kehidupan sehari-hari. Pada era komputerisasi yang semakin berkembang banyak terdapat sistem operasi yang berjalan pada perangkat Android, sebagai produk MobilePhone dewasa ini lebih berkembang dan lebih diminati karena beragam fitur dapat ditampilkan untuk memenuhi kebutuhan dan daya tarik tersendiri bagi penggunanya. Sistem operasi Android merupakan salah satu sistem operasi yang tengah berkembang. Terdapat keunggulan dari sistem operasi ini antara lain sistem operasinya dapat diubah sesuai dengan
keinginan sendiri, banyaknya aplikasi komputer yang sudah tersedia untuk perangkatAndroid. Salah satu fitur yang didukung dalam sistem operasi Android adalah fitur implementasi kompresi file dalam proses transfer melalui perangkat android ke pc menggunakan algoritma yang menjadi fitur menarik dari perangkat Android itu sendiri. Implementasi kompresi file dalam melalui perangkat android menggunakan algoritma adalah pengiriman data atau file melalui media jaringan tentu memerlukan bandwidth yang besar apabila ukuran file yang akan dikirim juga besar, sehingga proses pengiriman data yang berkapasitas besar, itu akan mengakibatkan jaringan yang ada menjadi sibuk dan membuat pengiriman file memakan waktu yang cukup lama, maka dari itu diperlukan sebuah aplikasi yang berfungsi untuk mengkompresi ukuran file, Sehingga pada saat pengiriman data dapat menghemat penggunanaan waktu transfer data melalui perangkat android ke PC menggunakan algoritma untuk mengkompresi file adalah algoritma, Pemakaian algortima LZ77 sifatnya yang dimana teknik kompresi file hasil kompresi dapat didekompre lagi dan hasilnya sama seperti file sebelum proses kompresi. Implementasi dan pengembangan sebuah algoritma LZ77 dalam kompresi file Android dapat di implementasikan ke Perangkat Android menggunakan Algoritma LZ77 dengan dukungan Algoritma, berdasarkan latar belakang inilah penulis berinisiatif untuk merancang sebuah aplikasi dengan mengambil konsep untuk Skripsi dengan judul “ImplementasiAlgoritma LZ77 Dalam Kompresi File Berbasis Android”. 2. Metode Penyelesaian Masalah Metode yang digunakan menyelesaikan masalah adalah :
dalam
Analisis Kebutuhan Sesuai dengan penyelesaian masalah yang akan dilakukan, analisis kebutuhan yang harus ada pada perancangan adalah: 1. penulis memerlukan data aplikasi Kompresi file menggunakan algoritma LZ77. 2. Untuk pembuatan aplikasi kompresi file dibutuhkan pengetahuan menggunakan java.
3. Software yang digunakan sistem operasi Microsoft Windows Seven, SDK Java dan SDK Android. Data Kata “data” diadopsi dari bahasa Inggris dan berasal dari kata Yunani “datum” yang berarti “fakta”. Data di komputer memilki ukuran dalam penyebutannya. Data terkecil di komputer disebut dengan bit, yaitu sinyal elektronik yang melewati suatu rangkain digital (prosesor) komputer. Bit-bit tersebut selanjutnya dirangkai dan rangkaian tersebut diberi kode lagi yang disebut dengan character. Kompresi Data Kompresi data merupakan cabang ilmu komputer yang bersumber dari teori informasi. Teori informasi sendiri adalah salah satu cabang matematika yang berkembang sekitar akhir dekade 1940-an. Tokoh utama dari teori informasi adalah ClaudeShannon dari BellLaboratory. Teori informasi memusatkan pada berbagai metode tentang informasi termasuk penyimpanan dan pemrosesan pesan. Teori informasi mempelajari pula tentang pengulangan data pada pesan. Semakin banyak pengulangan data semakin besar pula ukuran pesan, upaya mengurangi pengurangan data inilah yang akhirnya melahirkan subjek ilmu tentang kompresi data. Algoritma LZ77 Algoritma kompresi LZ77 adalah suatu metoda kompresi data lossless yang akan dibuat aplikasinya pada pengerjaan penelitian ini. Aplikasi ini bertujuan untuk melakukan pengompresian dan pendekompresian data secara khusus pada BlackBerry. Algoritma LZ77 diperkenalkan untuk pertama kalinya pada tahun 1977 oleh AbrahamLempel dan JacobZiv. Algoritma LZ77 merupakan suatu algoritma dasar yang banyak dikembangkan oleh orang-orang. Misalnya saja LZW, LZSS, dan LZMA. Algoritma LZ77 sendiri sering disebut dengan LZ1. Algoritma ini juga disebut algoritma “slidingwindow” karena melakukan kompresi data dengan cara menggerakkan buffer tempat simbol-simbol berada setiap
kali satu atau lebih simbol terkompresi. Buffer yang dibutuhkan algoritma kompresi ini ada dua, yaitu searchbuffer dan lookaheadbuffer. Kedua buffer ini memegang peran penting dalam melakukan kompresi terhadap suatu file. Rumus MSE =
dimana : citra asli
I’(x,y) merupakan nilai pixel M, N merupakan dimensi
citra Rumus PSNR = 20 * log10 (255 / sqrt(MSE)) Kualitas citra terbaik pada suatu bitrate atau tingkat kompresi (compression rate) adalah tujuan utama kompresi citra. Untuk melihat kualitas hasil suatu metode kompresi dapat diukur dengan menggunakan Mean Square Error (MSE) maupun dengan Peak Signal-to-Noise Ratio (PSNR). Keduanya merupakan standar pengukuran error dalam kompresi citra. MSE adalah sigma dari jumlah error antara citra hasil kompresi dan citra asli, sedangkan PSNR digunakan untuk menghitung peak error. Pada pengukuran menggunakan MSE, nilai yang rendah adalah lebih baik, sebaliknya pada pengukuran menggunakan PSNR, nilai yang tinggi adalah lebih baik. Algortima Kompresi Kompresi LZSS mencari suatu solusi untuk beberapa bottleneck dan masalah unjuk kerja yang terdapat pada algoritma LZ77. Algoritma LZSS membuat dua perubahan besar dari cara kerjanya. Perubahan pertama adalah cara textwindow diatur. Pada LZ77, frase dalam text window disimpan sebagai suatu block tunggal bersambung dari teks, dengan tidak ada organisasi lainnya pada bagian atasnya. LZSS masih menyimpan teks dalam window bersambung, tetapi algoritma ini juga membentuk struktur data tambahan yang meningkatkan organisasi dari setiap frase-frase. Setiap frase dilewatkan melalui suatu lookaheadbuffer dan dikodekan dalam bagian textwindows, LZSS menambahkan frase dalam
struktur pohon. Pada implementasinya suatu binarysearchtree. Dengan mengurutkan frasefrase menjadi suatu tree seperti ini, maka waktu yang diperlukan untuk mencari frasestring terpanjang pada proporsional dari ukuran window dan panjang frase. Selain itu, LZSS proporsi ini sesuai dengan logaritma basis 2 dari ukuran window dikalikan dengan panjang frase.
Algoritma Dekompresi Pada awalnya sebagai contoh, algoritma kompresi LZSS mungkin tidak akan menemukan setiap frase yang cocok untuk menghasilkan selusin atau input simbol pertama. Di bawah sistem LZ77, encoder masih mempunyai output suatu dummymatchposition dengan panjang nol dari setiap simbol yang dihasilkannya. Selain itu LZSS menggunakan suatu bit tunggal sebagai suatu prefix untuk setiap output token untuk mengindikasikan apakah ini merupakan suatu pasangan offset/length ataupun suatu simbol tunggal untuk dihasilkan. Ketika menghasilkan beberapa karakter tunggal, metode ini mengurangi overhead dari kemungkinan beberapa byteper karakter menurun hingga suatu byte tunggal per karakter. Java Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan Java 2 adalah generasi kedua dari Javaplatform (generasi awalnya adalah JDK atau Java Development Kit). Java inilah yang berdiri diatas mesin interpreter yang diberi nama Java Virtual Machine(JVM). JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin”. Oleh karena itu bahasa java disebut juga sebagai bahasa pemrograman yang portable karena dapat dijalankan sebagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Android
Android SDK (Software Development Kit) Android SDK adalah tools API (Aplication Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Beberapa fitur-fitur Android yang paling penting dalah mesin Virtual Dalvik yang dioptimalkan untuk perangkat mobile, integrated browser berdasarkan engine open source WebKit, Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi opengl ES 1.0 (Opsional akselerasi perangkat keras), kemudian SQLite untuk penyimpanan data (database). Fitur-fitur android lainnya termasuk media yang mendukung audio, video, dan gambar, juga ada fitur bluetooth, EDGE, 3G dan WiFi, dengan fitur kamera, GPS, dan kompas. Selanjutnya fitur yang juga turut disediakan adalah lingkungan Development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse. Kebutuhan Hardware dan Software Dalam implementasi dan perancangan aplikasi kompresi file ini penerapan perangkat sebagai pendukung perancangan menggunakan beberapa perangkat untuk melakukan perancangan yang dapat dijelaskan sebagai berikut :
Desain sistem ini merupakan gambaran perancangan yang akan dilakukan dan yang dihasilkan. Desain sistem dibutuhkan sebagai gambaran langkah-langkah desain dan bagianbagian yang dibutuhkan agar aplikasi dapat berjalan sesuai perancangan. Pada tahapan ini menggambarkan diagram alur kerja aplikasi dan desain interface yang akan dibuat. Adapun beberapa perancangan diagram dan desain yang akan dibuat dapat dijelaskan dibawah ini. Penerapan Algoritma Berikut ini contoh pengaplikasian kompresi dan dekompresi dengan menggunakan algoritma LZ77. Contoh berikut ini hanya akan menjelaskan pengkompresian dan dekompresi terhadap beberapa karakter dengan mengkodekan menurut kode ASCII. 1. Kompresi String dalam Algoritma LZ77 Sebagai contoh, string “MAMA_MASAK_NASI” akan dikompresi dengan LZ77. Isi dictionary pada awal proses diset dengan tujuh karakter dasar yang ada: “M”, “A”, “_”, “S”, “K”, “N”, “I”. bit dictionary yang dipakai untuk contoh ini adalah 8 bit. tahapan kompresi ditunjukkan pada Tabel III.1 berikut. Diketahui : Input String: MAMA_MASAK_NASI bit dictionary: 8 bit
1. Perangkat Keras (Hardware), perangkat keras merupakan perangkat yang digunakan untuk menjalankan dan implementasi aplikasi yang dirancang, yang terdiri dari perangkat mobile phone android. 2. Perangkat Lunak (Software), perangkat lunak merupakan perangkat yang digunakan untuk mendesain dan melakukan pemrograman, yang terdiri dari. a. Operating SystemWindows Seven. b. JDK Java 1.7, sebagai bahasa pemrograman Java dan compiler Java. c. Netbeans 7.1.2, sebagai editor source code Java.
Desain Sistem
Tabel 1.Tahapan Proses Kompresi
Total awal bit disimpan tanpa kompresi = Total input * bit dictionary = 15 x 8 = 120 bit Besar file setelah dikompresi = Total output * bit dictionary = 12 x 8 = 96 bit Hasil kompresi dari string MAMA_MASAK_NASI yaitu: Decimal : 77-65-256-32-256-83-65-75-3278-65-83-73 Heksa : 4D-41-4D-41-20-4D-41-53-414B-20-4E-41-53-49 Biner
: 01001101-01000001-0100110101000001-00100000-01001101 01000001-01010011-0100000101001011-00100000-01001110 01000001-01010011-01001001
Hasil dekompresi dari kode 77-65-25632-256-83-65-75-32-261-71-85 yaitu “MAMA_MASAK_NASI“.
Hasil Rasio Kompresi Rasio
Ukuran File Terkompres = x 100 % Ukuran File Asli
Use case diagram Use case diagram menggambarkan aktor yang menggunakan aplikasi dan perilaku pengguna, pada gambar berikut ini.
96 =
Implementasi Algoritma LZ77 Dalam Kompresi File Berbasis Android
x 100 %
<
>
120 = 80 %
Start
Input File
Pilih Proses <>
User
2. Dekompresi String dalam Algoritma LZ77 Sebagai contoh, dari hasil output kode kompresi sebelumnya diambil decimal yang dihasilkan “77-65-256-32-256-83-65-75-32-7865-83-73” dan didekompresi dengan algoritma LZ77. bit dictionary yang dipakai adalah 8 bit. tahapan proses dekompresi ditunjukkan pada Tabel 3.2. Diketahui : Input kode: 77-65-256-32-256-83-6575-32-78-65-83-73 Tabel 2.Tahapan Proses Dekompresi
Kompresi <>
<>
Dekompresi <>
Output/Hasil
Gambar 1.Use Case Diagram
Keterangan pada gambar diatas dapat dilihat proses yang berlangsung menunjukan tahapan penggunaan aplikasi yang dibangun. Pada tahapan ini penggunana menjalankan aplikasi dengan start dan menentukan inputan file. Kemudian pengguna memilih proses apa yang akan dilakukan, apakah memilih proses kompresi atau proses dekompresi dengan algoritma LZ77.
Activity diagram
Pada gambar dibawah ini adalah activitydiagramaplikasi kompresi dan dekompresi yang dirancang, dapat dilihat pada gambar berikut ini.
pada squence diagram diatas, pengguna memilih proses yang disediakan yaitu proses kompresi dan dekompresi. Setelah pilihan proses ditentukan oleh pengguna kembali pada menu utama.
Classdiagram Classdiagram pada perancangan aplikasi ini, dapat dilihat pada gambar berikut ini.
Gambar 2.Activity Diagram
User atau pengguna akan menemukan menu utama saat program dijalankan, lalu user menginputkanfile apa yang akan di masukkan dan memilih proses yang ingin dilakukan yaitu kompresi atau dekompresi setelah proses dijalankan secara otomatis aplikasi akan melakukan proses dan memberikan output atau hasil dilokasi yang telah ditentukan oleh user.
Sequence diagram Sequence diagram berikut ini akan menggambarkankegiatandariskenario penggunaan aplikasi, sequence diagram memilih proses yang dapat dilihat pada gambar berikut ini.
Gambar 4.Class Diagram
Class diagram adalah sebuah class yang menggambarkan struktur dan penjelasan class, paket, dan objek serta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class diagram juga menjelaskan hubungan antar class dalam sebuah sistem yang sedang dibuat dan bagaimana caranya agar mereka saling berkolaborasi untuk mencapai sebuah tujuan.
Perancangan Interface Perancangan interface adalah gambaran tampilan layar yang akan didesain, hal ini berguna agar proses perancangan dapat dilakukan sesuai desain yang telah dilakukan. Implementasi tampilan hasil program aplikasi yang telah dapat dijalankan harus sesuai dengan desain yang telah dibuat. Gambar 3.Sequence Diagram
Pengguna berinteraksi melalui pilihan proses yang ada pada menu utama, dapat dilihat
Rancangan Interface Splash
Rancangan InterfaceSplash menjelaskan tampilan dimana saat aplikasi baru dijalankan, yang dapat dilihat pada gambar dibawah ini. Kompresi LZ77
Rancangan InterfaceHelp Pada desain tampilan form help berfungsi untuk memberikan informasi bantuan penggunaan untuk pengguna. Dapat dilihat pada gambar di bawah ini.
Bantuan Penggunaan Berisikan tentang cara info cara penggunaan aplikasi
Splash
Close Gambar 7. Rancangan InterfaceHelp Gambar 5. Rancangan Interface Splash
Rancangan Interface Utama Rancangan Interface utama menjelaskan tampilan dimana terdapat menu dan fungsi tools yang digunakan untuk melakukan kompresi maupun dekompresi file, yang dapat dilihat pada gambar dibawah ini.
Tentang Aplikasi Berisikan tentang info pembuatan program
Kompresi LZ77 Patch File :
Rancangan Interface About Pada desain tampilan form about berfungsi untuk memberikan informasi perancangan aplikasi untuk pengguna. Dapat dilihat pada gambar di bawah ini.
Close
Input
Gambar 8. Rancangan Interface About
Directory Output: Compression
Output
Decompression
Info LZ77 :
View Directory
Proccess
Gambar 6. Rancangan Interface Utama
Hasil Dan Pembahasan Hasil Dalam tahapan bab ini menjelaskan hasil dari perancangan sistem serta uji coba yang telah dilakukan dari sistem yang telah selesai dirancang dan dapat digunakan. Hasil sistem yang dibuat merupakan sebuah aplikasi kompresi data teks atau pengkodean data teks menggunakan algoritma yang telah ditentukan. Aplikasi yang dirancang akan mempunyai tahapan dalam menjalankannya dengan menginputkan data teks asli dan selanjutnya akan diproses oleh aplikasi sehingga menghasilkan pengkodean pada data teks yang telah diinputkan. Adapun tampilan hasil dan
implementasi dari aplikasi yang dihasilkan dapat dijelaskan pada beberapa bagian berikut ini : Tampilan Menu Splash Pada bagian ini merupakan penjelasan dari hasil rancangan tampilan menu splash yang dapat dilihat pada gambar berikut ini.
Pada gambar diatas menampilkan tampilan menu utama dimana terdapat tampilan untuk melakukan penginputan file yang akan dikompresi maupun dekompresi. Tampilan Menu Bantuan Pada bagian ini merupakan menu tampilan ini merupakan bantuan bagi pengguna atau user dalam menjalankan aplikasi yang dapat dilihat pada gambar berikut ini.
Gambar 9. Tampilan Menu Splash
Pada gambar IV.1 diatas menampilkan tampilan splah, dimana tampilan ini akan terdapat disaat aplikasi pertama kai dijalankan. Tampilan Menu Utama Pada bagian ini merupakan penjelasan dari hasil rancangan tampilan menu utama dari hasil yang telah dijalankan yang dapat dilihat pada gambar berikut ini.
Gambar 11. Tampilan Menu Bantuan
Pada gambar diatas menampilkan tampilan menu bantuan dalam menjalankan aplikasi yang dibangun sehingga memudahkan para user dalam penggunaannya. Tampilan Menu Tentang Menu tampilan ini merupakan gambaran sekilas tentang program yang dapat dilihat pada gambar berikut ini.
Gambar 10. Tampilan Menu Utama
Pembahasan Tahap uji coba akan dilakukan pengujian sistem apakah telah sesuai dengan perancangan dan target yang akan di capai dalam perancangan. Sistem yang telah dirancang akan dilakukan uji coba agar dapat melihat kelemahan dari sistem tersebut. 3. Hasil Uji Coba (Balck BoxTesting) Adapun hasil pengujian sistem pada perancangan aplikasi yang telah dilakukan dapat dilihat pada tabel pengujian berikut ini.
Gambar 12. Tampilan Menu Tentang
Pada gambar diatas menampilkan informasi tentang aplikasi yang telah dibangun dan dapat digunakan. Tampilan Menu Input Pada menu input tampilan ini merupakan menu untuk menginputkan file yang akan dikompresi yang dapat dilihat pada gambar berikut ini.
Pengujian Kompresi File Teks
Pengujian Dekompresi
Gambar 13. Tampilan Menu Input
Pada gambar diatas menampilkan tampilan menu bantuan dalam menjalankan aplikasi yang dibangun sehingga memudahkan para user dalam penggunaannya.
Kelebihan Sistem Adapun beberapa kelebihan yang dimiliki oleh aplikasi kompresi file berbasis android ini adalah sebagai berikut : 1. Penggunaan aplikasi kompresi file ini dalam menjalankanya memiliki cara yang sangat sederhana sehingga memudahkan pengguna.
2. Untuk melakukan kompresi file, proses yang terjadi dengan menggunakan algoritma LZ77 ini memberikan performa terbaik dibanding dengan algoritma modifikasi dari LZ77. Kekurangan Sistem Setiap sistem yang dibangun tentunya memiliki kekurangan, kekurangan yang dimiliki sistem ini adalah : 1. Sistem yang dibangun masih tahap uji coba dan belum di pubilkasikan secara Online. 2. Melihat perkembangan sistem pada aplikasi dengan desain yang dinamis, aplikasi ini masih perlu banyak pengembangan lagi dari segi desain dan tampilan untuk mempermudah user dalam penggunaanya. 3. Kurang efektifnya waktu kompresi dikarenakan prosesor android yang kurang memeadai, semakin cepat prosesor maka proses kompresi dan dekompresi akan semakin cepat. 4. Kesimpulan Kesimpulan merupakan rangkuman dari seluruh hasil penelitian yang telah dilakukan oleh penulis, beberapa kesimpulan yang berguna kedepannya untuk pengembangan maupun masukan bagi pembaca dan penulis sendiri. Adapaun kesimpulan yang terdapat dalam kompresi file dengan berbasis android ini dapat dijelaskan pada beberapa point berikut : 1. Pada aplikasi pengkompresian yang dilakukan menggunakan algoritma LZ77 ini, kecepatan proses yang berjalan tergantung pada besarnya karakter file yang diinputkan. 2. Pemprosesan terhadap file teks lebih cepat dibandingkan file binary karena variasi byte file teks lebih kecil daripada file binary 3. Algoritma LZ77 menunjukkan performasi terbaiknya terhadap file teks karena jumlah simbol yang muncul lebih sedikit. Sedangkan bytes dalam filebinary lebih bervariasi, maka kemungkinan kemunculan pola byte yang sama jarang terjadi. 4. Ukuran search buffer mempengaruhi performa kompresi. Apabila yang diinginkan rasio kompresi lebih baik bila ukuran seacrh buffer diperbesar, sebaliknya untuk
kecepatan kompresi yang terbaik didapat dengan memperkecil ukuran search buffer. 5. Saran Penulis juga memiliki saran untuk pengembangan sistem yang dapat berguna bagi pembaca maupun penulis dikemudian hari. Beberapa saran dan masukan yang dirasa perlu untuk dituliskan yaitu sebagai berikut: 1. Pada saat melakukan kompresi file, diharapkan saat menjalankannya menggunakan perangkat yang mempunyai prosesor yang lebih besar sehingga proses yang terjadi tidak memerlukan waktu yang lama. 2. Desain Interface dapat dimanfaatlkan oleh pengembang untuk membuat desain interface yang lebih menarik perhatian pengguna. 3. Diharapkan penelitian dan penulisan skripsi ini dapat menjadi bahan acuan bagi pembaca dan penulis sendiri untuk pengembangan aplikasi sejenis. Sehingga menambah wawasan dan menghasilkan sumber daya manusia yang aktif dan berkompeten dikemudian hari. Daftar Pustaka [1] Muhammad Iqbal Dzulhaq, Aan Ahmad Andayani, 2014, Aplikasi Kompresi File Dengan Metode Lempel-Ziv-Welchof, Dosen STMIK Bina Sarana global, Mahasiswa STMIK Bina Sarana Global, Vol 1, ISSN : 2088 – 1762 . [2] Tri Listyorini, 2013, Perancangan Mobile Learning Mata Kuliah Sistem Operasi Berbasis Android, Jurnal SIMETRIS, Dosen Fakultas Teknik, Program Studi Teknik Informatika Universitas Muria Kudus, Vol 3 No 1, ISSN: 2252-4983. [3] Arya Reza Nugraha, Ary Mazharuddin S, 2013, Penyembunyian Pesan Rahasia Yang Terenkripsi Menggunakan Algoritma Rsa Pada Media Kompresi, JURNAL TEKNIK POMITS, Institut Teknologi Sepuluh Nopember, No. 1, Vol.2, ISSN: 2337-3539.
[4] Tommy Gunardi, 2011, Implementasi Algoritma Kompresi LZ77 Pada Smartphone Blackberry, Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, ISSN: 2087 – 3328. [5] Erik Iman Heri Ujianto, SriHartati, 2010, Ikhtisar Kompresi Citra (Image Compression Overview) , Program Studi Teknik Informatika, Fakultas Sains & Teknologi, Universitas Teknologi Yogyakarta, Prosiding Seminar Nasional Aplikasi Sains & Teknologi (SNAST) Periode II. [6] Kian Wie, Adang Risuta, 2012, Kompresi dan Dekompresi File Dengan Algoritma LZSS, STMIK IBBI Medan, Kampus Topaz, Jalan Damar No. 9G Medan. [7] Utomo Budiyanto, 2011, Rancang Bangun Aplikasi Mobile Dosen Penasihat Akademik : Studi Kasus Universitas Budi Luhur Jakarta, Jurnal TELEMATIKA MKOM, Universitas Budi Luhur, No. 2, Vol. 3, ISSN 2085-725X. [8] Alicia Sinsuw, Xaverius Najoan, 2013, Prototipe Aplikasi Sistem Informasi Akademik Pada Perangkat Android,Program Studi Teknik Informatika, Jurusan Teknik Elektro Fakultas Teknik Universitas Sam Ratulangi Manado, ISSN : 2301-8402. [9] Defni, Indri Rahmayun, 2014, Enkripsi SMS (Short Message Service) Pada Telepon Selular Berbasis Android Dengan Metode RC6, Dosen Jurusan Teknologi Informasi Politeknik Negeri Padang, Vol.16 No.1, ISSN : 1693-752X. [10] Sugiarti, Yuni, S.T.M.Kom, 2013, Analisa dan Perancangan UML (Unified Modeling Language) Generated Vb.6, Edisi Pertama, Graha Ilmu, Yogyakarta.