1 BAB 1 PENDAHULUAN 1.1. Latar Belakang Kompresi data adalah suatu proses untuk mengubah sebuah input data stream (stream sumber atau data mentah asli) ke dalam aliran data yang lain yang berupa output atau stream lainnya (data yang sudah terkompresi) yang memiliki ukuran yang lebih kecil (Salomon & Giovanni, 2010). Seiring dengan perkembangannya data yang berkembang dan diproses saat ini menjadi semakin besar dari waktu ke waktu. Terdapat berbagai tipe data yang dapat dimuat yakni teks, gambar, audio (bunyi, suara, musik) dan video. Keempat macam data tersebut umumnya dikenal dengan multi media. Perkembangan teknologi yang semakin maju dan penambahan jumlah pengguna komputer yang semakin banyak menyebabkan ledakan data serta perpindahan data dari satu perangkat ke perangkat lain. Data-data tersebut umumnya dikompresi terlebih dahulu agar proses pertukaran tidak memakan waktu yang terlalu lama. Kompresi data merupakan proses mengubah aliran data input (sumber atau data mentah asli) menjadi aliran data lain (output atau terkompresi) yang memiliki ukuran yang lebih kecil. Sebuah stream adalah salah satu file atau buffer dalam memori. Kompresi data populer karena dua alasan: pertama, orang-orang suka untuk mengumpulkan data dan benci membuang apa pun. Tidak peduli seberapa besar perangkat penyimpanan seseorang, cepat atau lambat akan meluap. Kompresi data tampaknya berguna karena penundaan tak terhindarkan ini. Kedua, orang benci untuk menunggu waktu yang lama untuk transfer data. Ketika duduk di depan komputer, menunggu halaman Web untuk ditampilkan atau proses download sebuah file, kita tentu merasa bahwa sesuatu yang lebih dari beberapa detik merupakan waktu yang terasa lama untuk ditunggu. (Salomon, 2004) Mengkompresi data dilakukan dengan mengubah representasi dari tidak efisien (data yang panjang) menjadi efisien (data yang pendek). Kompresi dengan demikian hanya mungkin karena data biasanya diwakili dalam komputer dalam format yang Universitas Sumatera Utara 2 lebih panjang dari yang benar-benar diperlukan. Alasan yang tidak efisien (panjang) adalah bahwa representasi data yang biasanya digunakan membuat suatu proses menjadi lebih mudah untuk memproses data dan pengolahan data lebih umum serta lebih penting daripada kompresi data. Kode ASCII untuk karakter adalah contoh karakter yang baik untuk merepresentasikan data yang lebih panjang daripada yang benar-benar diperlukan. Kode ASCII menggunakan 7-bit karena kode yang berukuran tetap adalah kode yang mudah diproses. Sebuah kode variabel-size akan lebih efisien digunakan karena karakter-karakter tertentu digunakan lebih dari yang lain sehingga dapat digantikan dengan kode-kode yang lebih pendek. Terdapat dua teknik yang dapat dilakukan dalam melakukan kompresi data yaitu Lossy Compression dan Lossless Compression. Lossy Compression adalah kompresi data di mana hasil dekompresi dari data yang terkompresi tidak sama dengan data aslinya karena ada informasi yang hilang, tetapi masih dapat ditolerir oleh persepsi mata. Kompresi data lossy akan menjadi efektif apabila diaplikasikan pada gambar, film, dan suara digital. Sedangkan, Lossless Compression merupakan kompresi data dimana hasil dekompresi dari data yang terkompresi sama dengan data aslinya dan tidak ada informasi yang hilang. Kompresi data lossless disebut juga kompresi reversibel karena data asli mungkin dapat dikembalikan dengan sempurna dengan dekompresi. Teknik kompresi data lossless digunakan ketika sumber data asli penting sehingga tidak dapat kehilangan detail apapun. Jenis kompresi ini digunakan untuk menyimpan database, spreadsheet, atau untuk memproses file teks. (Mengyi, 2006) Contoh algoritma dengan teknik lossy compression adalah Wavelet, Chain Code, dan Run-Length Encoding (RLE). Sedangkan contoh algoritma dengan teknik lossless compression adalah Shannon-Fano, Huffman dan Universal Code (Misalnya Elias Code, Levenstein Code). Sukiman & Chandra (2013) melakukan penelitian terhadap algoritma Elias Gamma Code dengan melakukan pemodelan data yang akan dikompresi untuk kemudian direpresentasikan dengan simbol-simbol tertentu dimana data yang disertakan memilki informasi seperti frekuensi mengenai setiap simbol. Sementara pengkodean dilakukan untuk menghasilkan representasi data terkompresi dengan mengacu pada model guna menentukan kode untuk setiap simbol. Pada proses pengkompresiannya juga dibentuk pohon encoding. Dengan metode tersebut didapat Universitas Sumatera Utara 3 hasil bahwa algoritma Elias Gamma Code mempunyai rentang rasio kompresi 60% – 80%. Sukirman, et al. (2010) melakukan penelitian dengan mengoptimalkan proses pada transformasi DCT dan Kuantisasi. Proses yang dilakukan yaitu dengan cara menggabungkan proses DCT dan Kuantisasi. Dari hasil penggabungan tersebut didapatkan bahwa formulasi matematis pada DCT terkuantisasi mengandung jumlah operasi perkalian dan penambahan yang lebih kecil dibandingkan pada formulasi matematis DCT standar. Sehingga DCT terkuantisasi dapat meningkatkan rasio dan kualitas kompresi JPEG. Wijaya & Widodo (2010) melakukan penelitian terhadapat objek citra digital dengan menggunakan algoritma Huffman, LZW (Lempel Ziv Welch) dan RLE (RunLength Encoding). Pengujian dilakukan terhadap waktu kompressi dan dekompressi pada objek citra dengan format bmp, jpg dan tiff. Dari pengujian tersebut algoritma Huffman memiliki kompabilitas tinggi untuk dapat mengkompresi setiap format objek citra. Sedangkan waktu kompresi dan dekompresi algoritma LZW (Lempel Ziv Welch) kurang begitu baik tetapi memiliki kinerja kompresi yang tinggi pada format citra bmp. Sementara kemampuan kompabilitas yang dimiliki algoritma RLE (RunLength Encoding) tidak lebih baik dari algoritma Huffman dan LZW. Algoritma RLE hanya mampu mengkompresi citra dengan format bmp berjenis grayscale saja. Tetapi dalam hal ini memiliki performa kinerja yang cukup tinggi. Arysanti & Livianthy (2010) melakukan pengujian pada data citra dengan menggunakan algoritma Huffman. Data citra yang diolah dalam proses pengkompresannya adalah data citra dengan format BMP. Selain objek citra, pengujian juga dilakukan pada data teks dengan format text document (*.txt) dan Hyper Text Markup Language (*.htm). Pada penelitian ini hanya dilakukan pengujian pada tingkat efektivitas metode Huffman untuk kompresi data citra dan teks. Berdasarkan latar belakang tersebut diatas, penulis hendak mencoba untuk membandingkan algoritma kompresi data dengan menggunakan teknik Lossless Compression yakni algoritma Elias Gamam Code, Elias Delta Code dan Levenstein Code. Dengan menggunakan ketiga algoritma tersebut penulis hendak membandingkan rasio kompresi, space saving dan kecepatan kompresi yang dihasilkan ketiga metode tersebut dalam melakukan kompresi terhadap data teks Universitas Sumatera Utara 4 dengan berbagai variasi. Adapun metode yang akan digunakan adalah dengan melakukan pemodelan serta pengkodean berdasarkan tabel kode pada tiap-tiap algoritma tanpa membentuk pohon encoding seperti pada penelitian sebelumnya. Atas dasar inilah, penulis tertarik untuk mengambil judul : ANALISIS HASIL KOMPRESI DATA TEKS PADA ALGORITMA ELIAS GAMMA CODE, ELIAS DELTA CODE DAN LEVENSTEIN CODE. 1.2. Perumusan Masalah Algoritma yang sesuai untuk melakukan kompresi file input menjadi output yang diharapkan harus mempertimbangkan beberapa aspek seperti rasio kompresi, space saving dan kecepatan kompresi. Pada penelitian ini rumusan masalah adalah bagaimana membentuk kode ASCII serta mengembalikan binary pada kode ASCII menjadi string bit dengan pemodelan dan pengkodean berdasarkan pada tabel kode algoritma Elias Gamma Code, Elias Delta Code dan Levenstein Code. 1.3. Batasan Masalah Rumusan masalah diatas dibatasi dengan beberapa hal sebagai berikut: 1. Data yang digunakan untuk kompresi berupa data teks. 2. Nilai yang hendak dianalisa adalah rasio kompresi, space saving dan kecepatan kompresi. 3. Algoritma yang digunakan dalam penelitian ini adalah Elias Gamma Code, Elias Delta Code dan Levenstein Code. 1.4. Tujuan Penelitian Adapun tujuan penelitian ini adalah untuk mengetahui tingkat perbandingan rasio kompresi, space saving dan kecepatan kompresi antara algoritma Elias Gamma Code, Elias Delta Code dan Levenstein Code. Universitas Sumatera Utara 5 1.5. Manfaat Penelitian Adapun manfaat yang diharapkan dari penelitian ini adalah sebagai berikut : 1. Mengetahui perbandingan hasil kompresi data teks antara algoritma Elias Gamma Code, Elias Delta Code dan Levenstein Code dalam hal rasio kompresi, space saving dan kecepatan kompresi. 2. Memahami cara kerja algoritma Elias Gamma Code, Elias Delta Code dan Levenstein Code. 3. Hasil penelitian dapat menjadi rujukan para pembaca dalam memahami algoritma Elias Gamma Code, Elias Delta Code dan Levenstein Code. 1.6. Sistematika Penulisan Sistematika penulisan tugas akhir ini adalah sebagai berikut: Bab 1. Pendahuluan Bab ini meliputi latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian serta sistematika penulisan. Bab 2. Tinjauan Pustaka Bab ini akan menguraikan tinjauan pustaka yang berkaitan dengan algoritma kode Elias Gamma, kode Elias Delta dan kode Levenstein. Bab 3. Metodologi Penelitian Bab ini berisi metode penelitian yang akan digunakan, data yang akan dipakai, analisis data serta alat yang digunakan dalam melakukan penelitian. Bab 4. Hasil dan Analisis Bab ini akan memaparkan hasil penelitian. Bab 5. Kesimpulan dan Saran Bab ini berisi kesimpulan dan saran yang dapat diambil dari pembuatan tugas akhir ini. Universitas Sumatera Utara