ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI FAHRUR RAZI

Ukuran: px
Mulai penontonan dengan halaman:

Download "ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI FAHRUR RAZI"

Transkripsi

1 ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer FAHRUR RAZI PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2009

2 PERSETUJUAN Judul : ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) Kategori : SKRIPSI Nama : FAHRUR RAZI Nomor Induk Mahasiswa : Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen Fakultas : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, 10 Maret 2009 Pembimbing 2 Pembimbing 1 Drs. Haluddin Panjaitan Prof. Dr. Herman Mawengkang NIP NIP Diketahui/Disetujui oleh Prog. Studi Ilmu Komputer S-1 Ketua, Prof. Dr. Muhammad Zarlis NIP

3 PERNYATAAN ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LEMPEL ZIV WELCH (LZW) SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya Medan, 10 Maret 2009 FAHRUR RAZI

4 PENGHARGAAN Syukur Alhamdulillah penulis nyatakan kehadirat ALLAH SWT Yang Maha Pengasih dan Maha Penyayang, dengan limpahan rahmat dan karunia-nya skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Ucapan terima kasih saya sampaikan kepada Bapak Prof. Dr. Herman Mawengkang dan Bapak Drs. Haluddin Panjaitan, selaku pembimbing pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan skripsi ini. Panduan ringkas, padat dan profesional yang telah diberikan kepada saya agar penulis dapat menyelesaikan tugas ini. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Prof.Dr.Muhammad Zarlis dan Bapak Syahriol Sitorus, S.Si, M.IT., Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU, pegawai di Ilmu Komputer USU, dan rekan-rekan kuliah. Akhirnya, tdak terlupakan kepada bapak, ibu dan semua ahli keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa membalasnya.

5 ABSTRAK Algoritma LZW adalah algoritma kompresi yang berjenis dictionary coding dimana panjang bit kode adalah salah satu faktor yang sangat menentukan pada kinerja kompresi. Namun kompresi dengan menggunakan panjang bit yang tidak tepat menyebabkan hasil kompresi tidak optimal. Cara pemecahan masalah adalah beberapa panjang bit dicoba menggunakan program kompresi yang menggunakan LZW, sehingga didapatkan kesimpulan bagaimana pengaruh panjang bit kode yang digunakan pada kinerja program kompresi yang mengggunakan algoritma LZW. Filefile yang dicoba adalah Calgary Corpus dan Canterbury Corpus. Dari penelitian ini didapatkan hasil bahwa pada Calgary Corpus panjang bit kode yang paling optimal adalah 14 bit, pada Canterbury Corpus 13 bit, dan pada Canterbury Corpus Large File 19 bit.

6 THE EFFECT OF CODEWORD LENGTH TO PERFORMANCE OF COMPRESSION PROGRAM USED LZW ALGORITHM ABSTRACT LZW algorithm is compression algorithm based on dictionary coding where codeword length is a factor that very important to performance of LZW algorithm. But compression with bad codeword length result not optimal compression ratio. Problem solving method are some codeword length are test with program based on LZW, with the result conclusion how effect codeword length to performance of compression program used LZW algorithm. Test file are Calgary Corpus and Canterbury Corpus. From research the result are in Calgary Corpus optimal codeword length is 14 bit, in Canterbury Corpus optimal codeword length is 13 bit, and in Canterbury Corpus Large File optimal codeword length is 19 bit.

7 DAFTAR ISI Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar ii iii iv v vi vii ix x Bab 1 Pendahuluan Latar Belakang Perumusan Masalah Batasan Masalah Tujuan Manfaat Tinjauan Pustaka Metodologi Penelitian Sistematika Penulisan 4 Bab 2 Landasan Teori Pengertian Kompresi Metode Kompresi Rasio Kompresi Dictionary Coding Algoritma Lempel Ziv 77 (LZ77) Algoritma Lempel Ziv 78 (LZ78) Algoritma Lempel Ziv Welch (LZW) Struktur Data pada Dictionary Struktur Data Binary Tree 19 Bab 3 Perancangan dan Implementasi Perangkat Lunak Karateristik Algoritma LZW Proses Kompresi LZW Proses Dekompresi LZW Pemodelan Fungsional DFD Level 0 ( Context Diagram ) DFD Level DFD Level Kamus Data 29

8 3.2.5 Perancangan Struktur Data Perancangan Prosedural Perangkat Keras Dan Perangkat Lunak Pengujian Implementasi Antarmuka 37 Bab 4 Analisis Pengaruh Panjang Bit Kode pada Kinerja Program Kompresi yang Menggunakan Algoritma LZW File Yang Dicoba Calgary Corpus Canterbury Corpus Analisis Pengaruh Panjang Bit Kode pada Program Kompresi yang Menggunakan Algoritma LZW Analisis Pada Calgary Corpus Analisis Pada Canterbury Corpus Analisis Menggunakan Canterbury Corpus Large File 53 Bab 5 Penutup Kesimpulan Saran 56 Daftar Pustaka 58

9 DAFTAR TABEL Halaman Tabel 2.1 Proses kompresi 17 Tabel 2.2 Proses dekompresi 19 Tabel 3.1 Contoh proses kompresi 22 Tabel 3.2 Contoh proses dekompresi 24 Tabel 3.3 Spesifikasi proses context diagram perangkat lunak kompresi LZW 26 Tabel 3.4 Spesifikasi proses diagram level 1 P.0 27 Tabel 3.5 Spesifikasi proses diagram level 2 P.1 28 Tabel 3.6 Spesifikasi proses diagram level 2 P.2 29 Tabel 3.7 Kamus data 30 Tabel 4.1 Daftar ukuran file pada Calgary Corpus 45 Tabel 4.2 Hasil pengujian rata-rata rasio algoritma LZW pada Calgary Corpus 46 Tabel 4.3 Hasil pengujian waktu proses rata-rata kompresi algoritma LZW pada Calgary Corpus 48 Tabel 4.4 Jumlah item rata-rata proses kompresi algoritma LZW pada Calgary Corpus 50 Tabel 4.5 Daftar ukuran file pada Canterbury Corpus 51 Tabel 4.6 Hasil pengujian rata-rata rasio algoritma LZW pada Canterbury Corpus 52 Tabel 4.7 Hasil pengujian rasio algoritma LZW pada Canterbury Corpus Large File 54

10 DAFTAR GAMBAR Halaman Gambar 2.1 Ilustrasi contoh cara kerja algoritma LZ77 9 Gambar 2.2 Ilustrasi penggeseran window pada algoritma LZ77 10 Gambar 2.3 Ilustrasi penggunaan token (offset,length) 10 Gambar 2.4 Ilustrasi contoh fragmen lookahead yang terdapat pada history 11 Gambar 2.5 Ilustrasi implementasi dari algoritma LZ77 12 Gambar 2.6 Ilustrasi proses encoding algoritma LZ78 14 Gambar 2.7 Ilustrasi proses decoding algoritma LZ78 15 Gambar 2.8 Ilustrasi binary tree 20 Gambar 3.1 Ilustrasi binary tree pada proses kompresi 23 Gambar 3.2 DFD level 0 25 Gambar 3.3 DFD level 1 26 Gambar 3.4 DFD level 2 Proses P.1 27 Gambar 3.5 DFD level 2 Proses P.2 28 Gambar 3.6 Flowchart proses encoding algoritma LZW 33 Gambar 3.7 Flowchart proses decoding algoritma LZW 36 Gambar 3.8 Tampilan halaman utama 38 Gambar 3.9 Tampilan proses kompresi 39 Gambar 3.10 Tampilan proses dekompresi 39 Gambar 3.11 Tampilan pencarian file 40 Gambar 3.12 Tampilan bantuan 41 Gambar 4.1 Grafik rasio rata-rata hasil kompresi algoritma LZW pada Calgary Corpus 47 Gambar 4.2 Grafik waktu rata-rata proses kompresi pada Calgary Corpus 49 Gambar 4.3 Grafik rasio rata-rata kompresi pada Canterbury Corpus 53 Gambar 4.4 Grafik rasio rata-rata kompresi pada Canterbury Large File 55

11 BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi komputer yang sangat pesat menyebabkan data digital menjadi media yang umum dalam masyarakat. Pemakaian data digital ini meliputi seluruh lapisan masyarakat mulai dari perseorangan, lembaga, dan bisnis. Pemakaian data digital sangat efektif karena pada media dengan ukuran relatif kecil kita dapat menyimpan sangat banyak berkas dibandingkan pada media kertas yang berukuran relatif lebih besar. Akan tetapi media penyimpanan data digital memiliki keterbatasan dalam ukuran data yang dapat disimpan. Sedangkan data digital terus bertambah besar dan banyak sehingga pada suatu saat media penyimpanan data digital akan penuh oleh data digital tersebut. Pengiriman data digital membutuhkan bandwidth dalam pengirimannya dan bandwidth tersebut memerlukan biaya. Sehingga semakin besar data digital yang dikirim maka makin besar pula biaya yang dikeluarkan. Oleh karena sebab-sebab inilah maka kompresi data menjadi solusi tepat dalam menghemat pemakaian perangkat keras serta menurunkan biaya pengiriman data melalui internet. Selain lebih murah juga mengirim data yang telah terkompresi akan lebih cepat karena ukuran file telah diperkecil. Menurut Yair Wiseman algoritma Lempel Ziv terbagi atas dua kelompok. Kelompok pertama didasarkan pada penggunaan referensi pada data yang berulang, kelompok ini kemudian dikenal dengan LZ77 dan kelompok yang kedua menggunakan pendekatan pada pembuatan dictionary dari frase yang umum dalam

12 data, grup ini dikenal dengan LZ78. Menurut David Salomon algoritma LZW adalah varian dari algoritma LZ78. Menurut Yair Wiseman algoritma LZW merupakan algoritma yang menggunakan pointer. Dan jumlah bit yang digunakan pointer akan mempengaruhi efesiensi kompresi dari kedua algoritma tersebut. Analisis akan dilakukan dengan mencoba jumlah bit pointer yang berbeda-beda sehingga dapat disimpulkan jumlah bit mana yang paling tepat pada jenis file tertentu Rumusan Masalah Dari latar belakang diatas dapatlah dirumuskan masalah yang menjadi latar belakang tugas akhir ini, yaitu bagaimana pengaruh panjang bit kode pada kinerja program kompresi yang menggunakan algoritma LZW dimana kinerja tersebut diukur dengan parameter rasio file hasil kompresi dan waktu yang dibutuhkan untuk proses kompresi dan dekompresi Batasan masalah Batasan masalah adalah file-file yang dicoba terbatas pada Calgary Corpus dan Canterbury Corpus sebagai set file yang digunakan Tujuan Tujuan dari penulisan tugas akhir ini adalah untuk mengetahui pengaruh panjang bit kode pada program kompresi yang menggunakan algoritma LZW Manfaat

13 Manfaat dari penulisan Tugas Akhir ini menambah pengetahuan bagaimana pengaruh panjang bit kode pada program kompresi yang menggunakan algoritma LZW Tinjauan Pustaka Menurut David Salomon kompresi data adalah proses pengkodean informasi dengan menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya dipakai dengan menggunakan skema pengkodean tertentu. Kompresi data, terutama untuk komunikasi, dapat bekerja jika kedua pihak antara pengirim dan penerima data komunikasi memiliki skema pengkodean yang sama (Salomon, 2005). Menurut Mengyi (2006, hal:117) Dictionary Coding adalah metode yang menggunakan sekumpulan daftar frase (kamus), yang diharapkan berisikan banyak frase yang terdapat pada file sumber, dimana kamus digunakan untuk menggantikan fragmen dari sumber dengan pointer kamus tersebut. Kompresi hanya dapat dilakukan jika pointer yang dibutuhkan kurang dari ukuran fragmen tersebut. Dalam banyak hal, metode dictionary lebih mudah dimengerti daripada metode probabilistik. Algoritma Lempel Ziv ini terbagi atas dua varian utama yaitu LZ77 dan LZ78. Perbedaan utama kedua algoritma ini adalah pada teknik pembuatan dictionary. Pada LZ77 dictionary adalah fragmen dari sebuah window (sliding window). LZ78 menggunakan frase-frase yang pada file sebagai dictionary. Algoritma LZW adalah varian dari algoritma LZ78. Keunggulan masing-masing adalah algoritma LZ78 menggunakan struktur data yang lebih kompleks dalam mengelola penyimpanan dictionary, LZ77 mengubah dengan cepat dictionary dan lebih cepat pada saat decoding. Pada aplikasi pemilihan skema dapat sangat kompleks karena telah dipatenkan (Hankerson et al, 2003). Algoritma Lempel-Ziv-Welch (LZW) menggunakan teknik adaptif dan berbasiskan kamus Pendahulu LZW adalah LZ77 dan LZ78 yang dikembangkan oleh Jacob Ziv dan Abraham Lempel pada tahun 1977 dan Terry Welch

14 mengembangkan teknik tersebut pada tahun LZW banyak dipergunakan pada UNIX, GIF, V.42 untuk modem. Algoritma ini bersifat adaptif dan efektif karena banyak karakter dapat dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks. Prinsip kompresi tercapai jika referensi dalam bentuk pointer dapat disimpan dalam jumlah bit yang lebih sedikit dibandingkan string aslinya. Panjang bit yang digunakan akan berpengaruh pada rasio hasil kompresi maupun kecepatan kompresi Metodologi Penelitian Metodologi penelitian yang digunakan adalah metodologi penelitian komparatif. Dimana untuk menunjukkan pengaruh panjang bit kode pada kinerja program kompresi yang menggunakan algoritma LZW, beberapa panjang bit kode dicoba untuk dibandingkan. Kinerja program kompresi tersebut diukur dari rasio file hasil kompresi dan waktu proses yang dibutuhkan. Setelah dibandingkan maka dari hasil tersebut dibuat grafik untuk mempermudah analisis pengaruh panjang bit kode pada program kompresi yang menggunakan algoritma LZW. Dan kemudian disimpulkan bagaimana pengaruh panjang bit kode pada program kompresi yang menggunakan algoritma LZW. File-file yang digunakan dalam perbandingan ini adalah Calgary Corpus dan Canterbury Corpus Sistematika Penulisan Dalam penulisan tugas akhir ini, Penulis membagi sistematika penulisan menjadi 5 Bab, yang lebih jelasnya dapat dilihat di bawah ini : BAB 1 PENDAHULUAN Berisi tentang latar belakang diambilnya judul Tugas Akhir Pengaruh Panjang Bit Kode pada Kinerja Program Kompresi yang Menggunakan

15 Algoritma Lempel Ziv Welch, rumusan masalah, batasan masalah, tujuan, manfaat, tinjauan pustaka, metodologi penelitian, dan sistematika penulisan Tugas Akhir yang menjelaskan secara garis besar susbstansi yang diberikan pada masing-masing bab. BAB 2 LANDASAN TEORI Membahas tentang pengertian pemampatan data (file compression) secara umum, metode dan cara kerja dari algoritma LZW. BAB 3 PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK Membahas bagaimana perancangan program kompresi. Dimana perancangan sangat penting dalam pembuatan sebuah program. Pada bab ini juga dibahas mengenai hasil implementasinya pada perangkat lunak. BAB 4 ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LZW Membahas bagaimana pengaruh panjang bit kode pada program kompresi yang menggunakan algoritma LZW. Program yang telah implementasi sebelumnya kemudian digunakan sebagai alat penguji. Panjang bit kode yang berbeda-beda akan dicoba untuk mendapatkan kesimpulan. BAB 5 KESIMPULAN DAN SARAN Berisi kesimpulan dan saran-saran dari penulis.

16 BAB 2 LANDASAN TEORI 2.1 Pengertian Kompresi Menurut David Salomon kompresi data adalah proses pengkodean informasi dengan menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya dipakai dengan menggunakan skema pengkodean tertentu. Kompresi data, terutama untuk komunikasi, dapat bekerja jika kedua pihak antara pengirim dan penerima data komunikasi memiliki skema pengkodean yang sama (Salomon, 2005). Pemampatan merupakan salah satu dari bidang teori informasi yang bertujuan untuk menghilangkan redundansi dari sumber. Pemampatan bermanfaat dalam membantu mengurangi konsumsi sumber daya yang mahal, seperti ruang hard disk atau perpindahan data melalui internet (Nelson, 1996). Kompresi data ditujukan untuk mereduksi penyimpanan data yang redundan atau merepresentasikan kembali data tersebut kedalam bentuk yang lebih efisien dari segi kapasitas. Kompresi data terdiri dari dua kategori yaitu kompresi lossy dan lossless, dan pada citra digital kompresi jenis lossy yang sering digunakan. Kompresi jenis lossy merupakan suatu teknik kompresi yang pada prosesnya menghilangkan sebagian dari data sehingga file tidak dapat dikembalikan secara utuh, sebaliknya kompresi lossless merupakan teknik kompresi yang tetap mempertahankan informasi asli dari suatu data secara utuh. Pada citra digital kompresi lossy merupakan kategori yang sering digunakan. Akan tetapi tidak menutup kemungkinan untuk melakukan kompresi secara lossles (Mengyi, 2006).

17 2.2 Metode Kompresi Terdapat banyak metode kompresi dan metode-metode tersebut dapat dibagi menjadi: 1. Metode Lossless Menurut Mengyi (2006, hal:5) kompresi lossless adalah kompresi data yang menghasilkan file data hasil kompresi yang dapat dikembalikan menjadi file data asli sebelum dikompresi secara utuh tanpa perubahan apapun. Kompresi jenis ini ideal untuk kompresi teks. Algoritma yang termasuk dalam metode kompresi lossless diantaranya adalah dictionary coding dan huffman coding. 2. Metode Lossy Menurut Mengyi (2006, hal:6) kompresi data yang menghasilkan file data hasil kompresi yang tidak dapat dikembalikan menjadi file data sebelum dikompresi secara utuh. Ketika data hasil kompresi di-decode kembali, data hasil decoding tersebut tidak dapat dikembalikan menjadi sama dengan data asli tetapi ada bagian data yang hilang. 2.3 Rasio Kompresi Menurut Mengyi (2006, hal:11) rasio kompresi adalah ukuran dari output stream dibagi dengan ukuran dari input stream. Misalnya nilai rasio kompresi adalah 0.6 itu berarti data yang terkompres menggunakan hanya 60% dari ukuran sebenarnya. Dan nilai rasio kompresi yang lebih dari 1 berarti data yang dikompres malah membesar. Ukuran _ file _ terkompresi Rasio = 100% Ukuran _ file _ asli ( 2.1 ) 2.4 Dictionary Coding

18 Menurut Mengyi (2006, hal:117) Dictionary Coding adalah metode yang menggunakan sekumpulan daftar frase (kamus), yang diharapkan berisikan banyak frase yang terdapat pada file sumber, dimana kamus digunakan untuk menggantikan fragmen dari sumber dengan pointer kamus tersebut. Kompresi hanya dapat dilakukan jika pointer yang dibutuhkan kurang dari ukuran fragmen tersebut. Dalam banyak hal, metode dictionary lebih mudah dimengerti daripada metode probabilistik. Metode dictionary yang termudah dibuat adalah metode dengan menggunakan kamus yang tetap (statis) dimana kamus ini telah ada pada coder dan decoder. Untuk file teks misalnya teks bahasa inggris, beberapa ribu kata yang paling sering digunakan sebagai dictionary. Jika file sumber adalah file yang berisi kode sumber sebuah bahasa pemrograman tertentu misalnya bahasa C, maka daftar keyword dan standard library function dapat digunakan sebagai dictionary. Dictionary yang tetap (statis) lebih baik untuk situasi tertentu, tetapi setidaknya terdapat dua permasalahan serius. Penambahan, perubahan, penghapusan pada dictionary harus mengubah juga seluruh program kompresi yang telah tersebar luas. Permasalah kedua adalah dictionary yang statis tidak dapat melakukan kompresi pada teks yang tidak terdapat pada dictionary. Misalnya bahasa pemrograman C, dimana kompresi tidak dapat dilakukan pada nama variabel yang dibuat oleh programer (Hankerson et al, 2003). Hal yang terpenting pada metode Dictionary adalah bagaimana menciptakan algoritma yang dapat mengadaptasi seluruh jenis file sumber, dan biasanya untuk melakukan harus dilakukan scan pada file tersebut. Akan tetapi, komunikasi melalui modem yang misalnya V.42bis dimana penggunaan dictionary yang statis tidak digunakan melainkan penambahan dictionary akan dilakukan secara on-the-fly (Hankerson et al, 2003). Metode Adaptive dictionary ditemukan oleh Ziv dan Lempel pada tahun 1977 dan Sehingga kedua algoritma tersebut kemudian dikenal luas sebagai LZ77 dan LZ78. Algoritma LZ77 telah diaplikasikan pada Lharc, PKZIP, GNU zip, Info-ZIP, dan Portable Network Graphics (PNG) yaitu format kompresi citra lossless yang

19 didesain sebagai penerus dari GIF. Algoritma LZ78 telah digunakan pada standar komunikasi modem (V.42bis), dan program kompres Unix bernama compress, dan pada GIF format file citra (Hankerson et al, 2003). Algoritma Lempel Ziv ini terbagi atas dua varian utama yaitu LZ77 dan LZ78. Perbedaan utama kedua algoritma ini adalah pada teknik pembuatan dictionary. Pada LZ77 dictionary adalah fragmen dari sebuah window (sliding window). LZ78 menggunakan frase-frase yang pada file sebagai dictionary. Algoritma LZW adalah varian dari algoritma LZ78. Keunggulan masing-masing adalah algoritma LZ78 menggunakan struktur data yang lebih kompleks dalam mengelola penyimpanan dictionary, LZ77 mengubah dengan cepat dictionary dan lebih cepat pada saat decoding. Pada aplikasi pemilihan skema dapat sangat kompleks karena telah dipatenkan (Hankerson et al, 2003). 2.5 Algoritma Lempel Ziv 77 (LZ77) Pada dasarnya algoritma LZ77 membagi window dengan dua bagian yaitu history dan lookahead. Dalam pertimbangan pembuatan dictionary maka history akan digunakan sebagai dictionary sehingga history harus memiliki panjang lebih dari lookahead. Idenya adalah menggantikan segmen dari lookahead dengan pointer pada dictionary, dan menggeser prosesnya sepanjang window (Hankerson et al, 2003). Gambar 2.1 Ilustrasi contoh cara kerja algoritma LZ77 Pada Gambar 2.1 misalkan segmen inisial he sama dengan karakter kedua dari frase dictionary shell dan pada contoh ini digunakan offset 10 pada dictionary

20 dan dihitung dari kanan ke kiri. Dimana komponen ketiga adalah karakter selanjutnya dari file sumber dan kemudian window digeser lihat Gambar 2.2. Gambar 2.2 Ilustrasi penggeseran window pada algoritma LZ77 Kemudian he diganti menjadi sebuah token yaitu (10,2,spasi). Dimana 10 berarti jarak karakter dengan karakter lookahead, 2 berarti panjang string yang sama, dan spasi adalah karakter setelah karakter he tersebut. Kompresi akan sukses jika token ini menghasilkan jumlah bit yang lebih sedikit dari pada file sumber. Selanjutnya karakter yang tidak sama pada token dapat mengakibatkan suatu kasus dimana tidak ada karakter yang sama pada history. Maka penggunaan (offset,length) dapat digunakan ketimbang token triple sebelumnya. Gambar 2.3 menunjukkan beberapa langkah proses pada contoh masalah: Gambar 2.3 Ilustrasi penggunaan token (offset,length) Sebuah decoder menerima output token, dimana token tersebut akan dibangun ulang. Menurut Hankerson (2003, hal:231) ada beberapa hal yang harus diperhatikan pada algoritma ini, yaitu:

21 1. Decoder harus dapat membedakan antara sebuah token dengan sebuah karakter asli. 2. Kualitas kompresi akan bergantung pada token, tepatnya pada panjang string token. Dimana panjang yang terlalu pendek dapat menyebabkan rasio kompresi membesar. 3. String yang sama didasarkan pada lookahead. Seperti pada Gambar 2.4 dimana window berisi fragmen tersebut. Gambar 2.4 Ilustrasi contoh fragmen lookahead yang terdapat pada history 4. Setiap langkah, maka digunakan greedy parsing dimana dictionary dicari untuk sebuah string sama yang terpanjang pada inisial segmen. Tidak ada jaminan penggunaan greedy parsing adalah maksimal. Pencarian untuk longest match pada dictionary adalah hal yang cukup sulit. Dimana banyak varian LZ77 yang menggunakan struktur data yang baik untuk mempercepat pencarian. 5. Banyak varian LZ77 yang mempunyai kecepatan tinggi saat proses decoding, akan tetapi diperlukan kerja keras untuk mencari algoritma dan struktur data yang cepat pada proses encoding. 6. Sebuah token dapat dikompres lagi dengan metode kompresi tertentu. Sebuah contoh, seharusnya digunakan jumlah bit yang tetap untuk menyimpan match length kemudian match length tersebut dikompres lagi dengan menggunakan metode kompresi probabilistik seperti Huffman akan menambah efektivitas dari algoritma LZ77.

22 Implementasi dari LZ77 file sumber tentu berisi ASCII akan terdiri dari 256 karakter dan panjang bit adalah 8 bit. Kemudian history dan lookahead keduanya mempunyai panjang yang tetap, dengan offsets menggunakan 12 bits dan length menggunakan 4 bits. Dan 1 bit digunakan sebagai penanda atau flag yang membedakan antara token dengan sebuah karakter asli. Sehingga total bit yang dibutuhkan adalah 17 bits sedangkan sebuah karakter asli membutuhkan 9 bits. Oleh sebab itu, maka token hanya digunakan untuk match length minimal 2 karakter. Penggunaan 4 bits pada length merepresentasikan panjang 2 sampai 17. Pada Gambar 2.5 dapat dilihat ilustrasi cara kerja dari implementasi algoritma LZ77. Gambar 2.5 Ilustrasi implementasi dari algoritma LZ77 File sumber membutuhkan 36 x 8 = 288 bits. Sedangkan hasil kompresi algoritma LZ77 adalah 6 token dan 18 karakter asli sehingga jumlah bit hasil kompresi adalah 6 x x 9 = 264 bits. Sehingga proses kompresi dapat menghemat 24 bit. LZ78 adalah algoritma yang tipikal menggunakan sebuah trie untuk menyimpan seluruh pola string. Sebuah dictionary pada algoritma LZ78 adalah sebuah set entry pola, dimana diindex dari 0 dan bernilai integer. Mirip dengan LZ77 dimana index menunjuk (pointing) pada sebuah kata pada dictionary yang disebut token. Berbeda dengan algoritma LZ77 output dari proses encoding algoritma LZ78 hanya berupa deretan token saja sehingga tidak dibutuhkan bit tambahan yang digunakan sebagai flag seperti algoritma LZ Algoritma Lempel Ziv 78 (LZ78)

23 Berbeda dengan LZ77 yang menggunakan token yang terdiri dari 3 bagian, LZ78 hanya membutuhkan 2 bagian untuk satu token. Token ini direpresentasikan sebagai <f,c> dimana f merepresentasikan offset yang berisi posisi awal dari sebuah match string dan c adalah karakter yang merupakan simbol selanjutnya pada file sumber. Sedangkan panjang match telah tersimpan pada dictionary, sehingga tidak dibutuhkan lagi komponen panjang match pada kode output. Jika simbol tidak ditemukan pada dictionary, token <0,x> digunakan sebagai penanda bahwa string adalah null string + x. Awalnya sebuah dictionary diisi dengan seluruh 256 karakter ASCII. Berikut algoritma encoding LZ78, yaitu: INPUT: file sumber OUTPUT : Sekumpulan token <index(word), c>, dictionary yang telah diupdate 1. while not EOF do 2. word empty 3. c next_char() 4. while word + c is in the Dictionary do 5. word word + c 6. c next_char() 7. end while 8. output token <index(word), c> { Dimana index(word) adalah index dari word pada dictionary } 9. add word + c into the dictionary at the nex available location 10. end while Misalkan input string a date at a date akan dikompres menggunakan algoritma LZ78 maka proses encoding dimulai dengan dictionary yang kosong. Proses encoding dapat dilihat pada Gambar 2.6

24 Gambar 2.6 Ilustrasi proses encoding algoritma LZ78 Proses decoding adalah membaca elemen dari token dari file yang terkompresi kemudian membangun dictionary dengan cara yang sama pada proses encoding. Misalnya <x,c> adalah sebuah token, dimana x adalah index dari dictionary dan c adalah karakter selanjutnya. Algoritma proses decoding algoritm LZ78 adalah sebagai berikut: INPUT: Sekumpulan token <x,c> OUTPUT : string dari simbol yang telah didecode 1. while not EOF do 2. x next_codeword() 3. c next_char() 4. output dictionary_word(x) + c 5. add dictionary_word(x) + c into dictionary at the nex available location 6. end while

25 Misalnya input dari proses encoding adalah token-token : 0a 0<spasi> 0d 1t 0e 2a 0t 6<spasi> 3a 7e. Proses decoding dapat dilihat pada Gambar 2.7. Dari proses ini didapat hasil berupa string asli yaitu a date at a date kembali. Gambar 2.7 Ilustrasi proses decoding algoritma LZ78 Menurut Menyi (2003, hal:139) beberapa hal yang perlu diperhatikan pada algoritma LZ78 adalah sebagai berikut: 1. LZ78 telah membuat perbaikan-perbaikan daripada LZ77. Dimana komponen token yang digunakan lebih sedikit dibanding LZ Tidak diperlukannya tambahan bit sebagai flag seperti LZ77 sehingga lebih efisien. 3. LZ78 mempunyai banyak varian dan LZW adalah salah satu varian LZ78 yang sangat populer. 2.7 Algoritma Lempel Ziv Welch (LZW) Algoritma Lempel-Ziv-Welch (LZW) menggunakan teknik adaptif dan berbasiskan kamus Pendahulu LZW adalah LZ77 dan LZ78 yang dikembangkan oleh Jacob Ziv

26 dan Abraham Lempel pada tahun 1977 dan Terry Welch mengembangkan teknik tersebut pada tahun LZW banyak dipergunakan pada UNIX, GIF, V.42 untuk modem. Algoritma ini bersifat adaptif dan efektif karena banyak karakter dapat dikodekan dengan mengacu pada string yang telah muncul sebelumnya dalam teks. Prinsip kompresi tercapai jika referensi dalam bentuk pointer dapat disimpan dalam jumlah bit yang lebih sedikit dibandingkan string aslinya. Menurut David Salomon (2005, hal:123) algoritma ini adalah versi aplikasi dari algoritma dictionary LZ78. Algoritma ini mempunyai ciri-ciri sebagai berikut : Dictionary diinisialisasi dengan semua symbol dari sumber input, sehingga jika symbol pertama kali muncul sudah punya entry dalam dictionary. Algoritma ini mengeluarkan output berupa indeks untuk string yang ada dalam dictionary. Jika kombinasi string tersebut tidak ada, maka kombinasi tersebut akan ditambahkan dalam dictionary dan algoritma akan mengeluarkan output dari kombinasi yang ada. Menurut Mengyi (2006, hal:120) algoritma untuk proses kompresi dengan algoritma Lempel Ziv Welch adalah sebagai berikut :

27 1. CHAR = get input character 2. WHILE there are still input characters DO 3. NEXT = get input character 4. IF CHAR+NEXT is in the string table then 5. CHAR = CHAR+NEXT 6. ELSE 7. output code for CHAR 8. add CHAR+NEXT to the string table 9. CHAR = NEXT 10. END of IF 11. END of WHILE 12. output the code for STRING Contoh proses kompresi yaitu misal string AAABAABBBB akan dikompresi dengan LZW. Dictionary akan diisi dengan nilai awal dan kode untuk karakter ascii dan pada proses kita menggunakan panjang bit kode adalah 9 bit. Tahapan proses kompresi ditunjukkan pada Tabel 2.1. Tabel 2.1 Proses kompresi CHAR NEXT CHAR + NEXT output code dictionary A A AA <65> A AA = <256> A A AA AA B AAB <256> AAB = <257> B A BA <66> B BA = <258> A A AA AA B AAB AAB B AABB <257> AABB = <259> B B BB <66> B BB = <260> B B BB BB <260>

28 Sehingga output yang dihasilkan dari proses kompresi adalah sebagai berikut : <65><256><66><257><66><260>. Hasil kompresi menghasilkan 6 codeword dengan panjang 9 bit, maka jumlah bit yang digunakan adalah 54 bit. Sedangkan file sumber mempunyai 10 karakter ASCII dengan masing-masing karakter 8 bit sehingga berjumlah 80 bit. Sehingga dapat dihitung rasio kompresi adalah : Ukuran _ file _ terkompresi Rasio = 100% Ukuran _ file _ asli 54 = 100% 80 = 67,5% Menurut Mengyi (2006, hal:125) algoritma untuk proses dekompresi dengan algoritma Lempel Ziv Welch adalah sebagai berikut : 1. read x from the compressed file 2. look up dictionary for element at x 3. output element 4. word = element 5. while not E0F do 6. read x 7. look up dictionary for element at x 8. if there is no entry yet for index x then 9. element = word + firstcharofword 10. end if 11. output element 12. add word + firstcharofelement to the dictionary 13. word = element 14. end while

29 Contoh Proses dekompresi misalnya output yang didapat dari hasil kompresi yang telah dilakukan yaitu <65><256><66><257><66><260> kemudian akan didekompresi menggunakan algoritma dekompresi Lempel Ziv Welch (LZW), proses dekompresi sebagai berikut : Tabel 2.2 Proses dekompresi x element output word in loop dictionary 65 A A 256 AA AA AA AA = B B B AAB = AAB AAB AAB BA = B B B AABB = BB BB BB BB = 260 Setelah proses dekompresi dilakukan maka file tersebut kembali pada data semula yaitu : AAABAABBBB. Algoritma LZW telah banyak diaplikasikan diantaranya program utilitas Unix yang bernama compress. 2.8 Struktur Data pada Dictionary Pemilihan struktur data sangat penting pada algoritma LZW, terutama pemilihan struktur data pada dictionary. Struktur data binary tree sangat tepat digunakan pada dictionary, karena binary tree akan menghemat waktu pencarian. Karena waktu pencarian dapat dikurangi maka akan berdampak pada kecepatan waktu kompresi dan dekompresi yang semakin baik. Hal ini akan menambah tingkat efisiensi dari algoritma tersebut Struktur Data Binary Tree Binary Tree adalah tree yang terurut yang pada setiap node dapat mempunyai satu, dua, atau tidak ada children node. Binary Tree yang digunakan untuk dictionary akan

30 berurut berdasarkan abjad dari string dictionary. Sehingga pencarian dapat dilakukan dengan lebih cepat, hal ini adalah salah satu keuntungan pemakaian binary tree jika dibandingkan struktur data list biasa (Weiss, 2003). F E G C EF D Gambar 2.8 Ilustrasi binary tree

31 BAB 3 PERANCANGAN DAN IMPLEMENTASI PERANGKAT LUNAK 3.1 Karateristik Algoritma LZW Cara kerja algoritma LZW adalah menyimpan karakter yang berulang pada sebuah dictionary. Kemudian output berupa kode dari string yang terdapat pada input tersebut. Sehingga efisiensi algoritma ini sangat bergantung pada dictionary, dimana implementasi dictionary akan mempengaruhi kecepatan serta hasil dari kompresi. Sebuah dictionary dapat menyimpan jumlah item bergantung pada pemilihan panjang kode bit, semakin panjang kode bit yang digunakan maka semakin banyak item yang dapat disimpan pada program Proses Kompresi LZW Proses kompresi LZW adalah membaca karakter dari file sumber kemudian karakter tersebut digabung dengan karakter yang telah dibaca sebelumnya menjadi sebuah string. String tersebut kemudian dicari pada dictionary jika tidak terdapat maka tambahkan string tersebut pada dictionary kemudian output string tersebut. Berikut contoh proses kerja algoritma LZW. Contoh proses kompresi yaitu misalnya string ^WED^WE^WEE^WEB^WET akan dikompresi dengan LZW. Dictionary akan diisi dengan nilai awal dan kode untuk karakter ascii. Kompresi akan menghasilkan output code dan dictionary dapat dilihat pada Tabel 3.1:

32 Tabel 3.1 Contoh proses kompresi Output Code Dictionary <94> ^ ^W = <256> <87> W WE = <257> <69> E ED = <258> <68> D D^ = <259> <256> ^WE = <260> <69> E E^ = <261> <260> ^WEE = <262> <261> E^W = <263> <257> WEB = <264> <66> B B^ = <265> <260> ^WET = <266> <84> T Proses pembuatan dictionary menggunakan struktur data binary tree. Hal ini dimaksudkan agar kecepatan pencarian pada dictionary dapat ditingkatkan. Dari dictionary yang dilihat pada tabel maka contoh binary tree yang dihasilkan pada proses kompresi dapat dilihat pada Gambar 3.1:

33 ^W 256 WE 257 ^WE 259 ED 257 WEB 263 ^WEE 261 D^ 258 E^ 260 ^WET 265 B^ 264 E^W 262 Gambar 3.1 Ilustrasi binary tree pada proses kompresi Proses pencarian pada binary tree rata-rata membutuhkan O (log n) waktu dan worst case dari proses pencarian adalah O(n) untuk n adalah banyak data pada dictionary. Dengan waktu rata-rata yang cukup baik maka kecepatan kompresi dan dekompresi akan semakin cepat. Hal ini adalah keuntungan pemakaian stuktur data binary tree. Misalkan kita memilih kompresi menggunakan jumlah bit kode 9 bit maka jumlah data dictionary adalah 2 9 = 512 data yang dapat disimpan pada dictionary. Semakin besar jumlah bit kode yang digunakan maka jumlah item dictionary akan semakin banyak. Dampak dari jumlah item dictionary adalah rasio kompresi yang dihasilkan. Dan hasil kompresi adalah sebagai berikut : <94><87><69><68> <256><69> <260><261><257><66><260><84>. Dan masing-masing kode yang dihasilkan adalah sebuah data dengan panjang kode 9 bit. Sehingga jumlah kode bit akan menentukan jumlah item data pada dictionary, hal ini sangat mempengaruhi efisiensi kompresi yang dilakukan baik pada kecepatan maupun rasio.

34 3.1.2 Proses Dekompresi LZW Proses dekompresi yaitu membaca satu-persatu kode bit dan menerjemahkan pada dictionary kemudian output hasilnya. Karateristik algoritma LZW adalah membangun kembali dictionary berdasarkan kode bit yang diterima. Proses pembuatan dictionary ini tetap menggunakan struktur data binary tree. Sesuai proses kompresi yang telah dilakukan maka kode-kode bit tersebut adalah : <94><87><69><68> <256><69> <260><261><257><66><260><84>. Kemudian hasil dekompresi algoritma LZW dapat dilihat pada Tabel 3.2: Tabel 3.2 Contoh proses dekompresi Output Code Dictionary <94> ^ ^W = <256> <87> W WE = <257> <69> E ED = <258> <68> D D^ = <259> <256> ^WE = <260> <69> E E^ = <261> <260> ^WEE = <262> <261> E^W = <263> <257> WEB = <264> <66> B B^ = <265> <260> ^WET = <266> <84> T 3.2 Pemodelan Fungsional Pemodelan fungsional diharapkan agar sebuah sistem yang dibangun memiliki fungsi yang maksimal. Oleh karena itu, maka fungsi-fungsi yang ada pada sistem tersebut

35 perlu dianalisis. Pada perangkat lunak kompresi yang menggunakan algoritma LZW, secara garis besar terdapat dua fungsi utama yaitu kompresi dan dekompresi menggunakan algoritma LZW. Pemodelan fungsional menggambarkan aspek dari sistem yang berhubungan dengan transformasi dari nilai, seperti fungsi, pemetaan, batasan, dan ketergantungan fungsional. Pemodelan fungsional menangkap sesuatu yang dikerjakan oleh sistem tanpa memperhatikan bagaimana dan kapan hal itu dikerjakan. Data Flow Diagram (DFD) adalah representasi grafis yang menggambarkan aliran informasi dan transformasi yang terjadi pada data dari input sampai output DFD Level 0 ( Context Diagram ) DFD level 0 atau disebut juga context diagram yang menggambarkan interaksi sistem dengan entitas-entitas eksternal. Semua proses sistem digambarkan pada sebuah lingkaran proses yang bertujuan agar diagram dapat menggambarkan bagaimana entitas-entitas luar mengirim dan menerima data dari sistem tersebut. DFD level 0 untuk sistem ini ditunjukan pada gambar 3.2. User File Asli File Terkompresi File Terkompresi File Asli Informasi P.0 Proses Encoding dan Decoding Algoritma LZW Gambar 3.2 DFD level 0

36 Tabel 3.3 Spesifikasi proses context diagram perangkat lunak kompresi LZW Nama Input Keterangan Proses Output Proses 0 / Proses Encoding dan Decoding Algoritma LZW File Asli, File Terkompresi, Informasi Proses Encoding adalah proses mengubah file asli menjadi file terkompresi, dan Proses Decoding adalah proses mengubah file yang telah terkompresi menjadi file asli kembali. File asli, file terkompresi, Informasi DFD Level 1 DFD Level 1 memberikan gambaran umum dari sistem. Pada level ini juga terdapat proses utama pada sistem. Serta pada level ini juga terdapat hubungan sistem dengan entitas, baik entitas eksternal maupun entitas internal. Masing-masing entitas data yang tercantum pada DFD level 0 sama dengan entitas data pada tabel 3.3. User File Asli File Terkompresi Informasi P.1 Proses Encoding File Terkompresi File Asli Informasi P.2 Proses Decoding Gambar 3.3 DFD level 1 Proses P.0

37 Tabel 3.4 Spesifikasi Proses DFD Level 1 P.0 Nama Input Keterangan Proses Output Proses 1 / Proses File Asli Proses Encoding adalah proses mengubah file asli File terkompresi, informasi Encoding menjadi file terkompresi. Dimana pada proses ini dilakukan encoding dengan menggunakan algoritma LZW Proses 2 / Proses Decoding File terkompresi Proses Decoding adalah proses mengubah file terkompresi menjadi file asli. Dimana pada proses ini dilakukan decoding dengan menggunakan algoritma LZW File Asli, informasi DFD Level 2 DFD level 2 merepresentasikan proses yang terjadi pada algoritma LZW. Berikut grafik serta tabel spesifikasi proses DFD Level 2 untuk proses P.1 dan proses P.2:

38 P.4 P.3 File Asli str Cari String str_terdapat_pada_dictionary P.6 Baca String pada Dari File + Output Kode Dictionary + str_tidak_terdapat_pada_dictionary File Terkompresi str_ditambahkan P.5 Tambahkan str pada Dictionary Gambar 3.4 DFD level 2 Proses P.1 Tabel 3.5 Spesifikasi Proses DFD Level 2 P.1 Nama Input Keterangan Proses Output Proses 3 / File Asli Membaca string dari file str Baca String Dari File sampai End of File Proses 4 / Cari String pada Dictonary str Mencari str yang terdapat pada Dictonary str_terdapat_pada_d ictionary, str_tidak_terdapat_p ada_dictionary Proses 5 / str_terdapat_pada_ Tambahkan str_terdapat str_ditambahkan Tambahkan dictionary _pada_dictionary pada str pada dictionary dictionary Proses 6 / Output Kode str_ditambahkan Output kode dari str_ditambahkan sehingga menghasilkan File Terkompresi File Terkompresi

39 File Terkompresi P.7 Baca codeword Dari File Terkompresi P.8 codeword Cari word word P.9 untuk Output word codeword pada Dictionary File Asli Gambar 3.5 DFD level 2 Proses P.2 Tabel 3.6 Spesifikasi Proses DFD Level 2 P.2 Nama Input Keterangan Proses Output Proses 7 / File Terkompresi Membaca token dari file codeword Baca token dari File Terkompresi terkompresi Proses 8 / Cari word untuk token pada Dictionary codeword Mencari string asli dari word token yang telah dibaca. Kemudian menghasilkan word sebagai string asli. Proses 9 / word Output word sehingga File Asli Output word didapat file asli Kamus Data Kamus data merupakan sekumpulan data yang terdapat pada sistem, dimana data disusun untuk memudahkan selama proses analisis dan desain. Kamus data menjelaskan lebih rinci mengenai istilah-istilah data yang terdapat pada DFD. Kamus

40 data membantu analis sistem untuk mendesain sistem dimana tidak ada data yang menggunakan nama berbeda padahal isi data tersebut identik, ataupun kesalahan dimana nama data berulang pada desain. Kamus data juga sangat berguna untuk menjelaskan sistem yang telah didesain dan mempermudan pemeliharaan maupun penambahan fungsi pada sistem. Masukan-masukan kamus data bisa dibuat setelah diagram aliran data dilengkapi atau bisa juga disusun saat diagram aliran data sedang dikembangkan. Penganalisis sistem bisa saja membuat suatu diagram aliran data level 0 dan sekaligus membuat masukan-masukan data awal. Selanjutnya, sewaktu penganalisis sistem mengembangkan diagram level data menjadi diagram anak, penganalisis juga bisa memodifikasi masukan-masukan kamus data yang baru sesuai dengan aliran data pada diagram alir anak. Berikut ini merupakan kamus data yang berisikan data yang digunakan pada diagram alir data mulai dari diagram konteks, DFD level 1, DFD level 2. Tabel 3.7 Kamus data Nama Tipe Data Keterangan File Asli File File yang akan dikompresi File Terkompresi File File yang telah terkompresi dengan algoritma LZW informasi String Informasi ukuran file, rasio kompresi, dan waktu yang dibutuhkan pada proses kompresi maupun dekompresi str String String yang dibaca dari file asli str_terdapat_pada_dictionary String String yang dibaca dari file asli dan terdapat pada dictionary

41 str_tidak_terdapat_pada_dictionary String String yang dibaca dari file asli dan tidak terdapat pada dictionary str_ditambahkan String String yang dibaca dari file asli dan ditambahkan pada dictionary codeword String Data yang dibaca dari file terkompresi, yang disimpan dalam memori dengan tipe data string. word String String yang didapat dari penerjemahan token dengan menggunakan dictionary Perancangan Struktur Data Perancangan struktur data berguna untuk dapat menghasilkan desain struktur data terbaik pada implementasi. Dalam algoritma LZW struktur data terpenting adalah struktur data yang digunakan dictionary. Struktur data yang baik sangat berpengaruh pada kecepatan proses decoding maupun encoding. Struktur Data Dictionary : TYPE END TYPE TreeNode = Pointer BinaryTreeNode; BinaryTreeNode = record Key : integer; Data : String; RighChild : TreeNode; LeftChild : TreeNode;

42 TYPE DictionaryStructure = record Key : integer; Data : String; DictionarySize : integer; RighChild : TreeNode; LeftChild : TreeNode; END TYPE Perancangan Prosedural Tahapan selanjutnya dalam perancangan perangkat lunak adalah tahapan perancangan prosedural atau detail algoritma. Tahapan ini disajikan dalam bentuk prosedur dan flowchart. Hal ini dilakukan untuk mempermudah dalam pengkodean yang akan dilakukan. Berikut ini prosedur dan flowchart proses encoding algoritma LZW: Prosedur 1. Proses Encoding LZW { Input : File asli } { Proses : Melakukan proses encoding algoritma LZW } { Output : File terkompresi dan informasi kompresi } Kamus Data : String1 Karakter1 Dictionary : string; : char; : DictionaryStucture; Algoritma Encoding LZW : 11. String 1 karakter pertama dari file sumber 12. while not EOF do 13. Karakter1 baca karakter dari file sumber 14. if Dictionary not full then

43 15. if Gabungan String1, Karakter1 terdapat pada Dictionary then 16. String1 String1 + Karakter1 17. else 18. Output kode untuk String1 19. Tambahkan Gabungan String1, Karakter1 pada Dictionary 20. String1 Karakter1 21. end if 22. else 23. Output kode untuk String1 24. String1 = Karakter1 25. end if 26. end while 27. Output kode untuk String1

44 Start String1 = Baca Karakter While NOT EOF Karakter1 = Baca Karakter IF Dictionary Not Full No Yes IF String1 + Karakter1 Terdapat Pada Dcitionary No Output Kode Untuk String1 Yes Output Kode Untuk String1 String1 = String1+ Karakter1 Tambahkan String1 + Karakter1 Pada Dictionary String1 = Karakter1 String1 = Karakter1 Output Kode Untuk String1 End Gambar 3.6 Flowchart proses encoding algoritma LZW LZW: Berikut ini prosedur proses pencarian string pada dictionary pada algoritma

45 Prosedur 2. Proses pencarian string pada dictionary { Input : String yang dicari } { Proses : Melakukan proses pencarian string pada dictionary } { Output : Nilai indeks untuk string pada dictionary, -1 artinya tidak ditemukan } Kamus Data : StringFind Dictionary RightTemp LeftTemp : string; : DictionaryStructure; : BinaryTreeNode; : BinaryTreeNode; Algoritma proses pencarian string pada dictionary: 1. if Dictionary= NULL then 2. return end if 4. while TRUE 5. if Dictionary.Data = StringFind then 6. return Dictionary.Key 7. else 8. RightTemp = Dictionary.Right 9. LeftTemp = Dictionary.Left 10. if (RightTemp = NULL) and (LeftTemp = NULL) then 11. return end if 13. if RightTemp.Data >= StringFind then 14. Dictionary= Dictionary.Right 15. else 16. Dictionary= Dictionary.Left 17. end if

46 18. end if 19. end while Prosedur penambahan string pada dictionary dapat dilihat pada Lampiran D. Berikut ini prosedur dan flowchart proses decoding algoritma LZW: Prosedur 4. Proses Decoding LZW { Input : File terkompresi } { Proses : Melakukan proses decoding algoritma LZW } { Output : File asli } Kamus Data : element word x Dictionary : string; : string; : integer; : DictionaryStucture; Algoritma Decoding LZW : 15. baca token x dari file terkompresi 16. cari nilai element dengan indeks x 17. output element 18. word = element 19. while not E0F do 20. baca x 21. cari nilai element dengan indeks x 22. if tidak entri untuk indeks x then 23. element = word + karakter pertama pada word 24. end if 25. output element 26. tambahkan entri word + karakter pertama pada word pada dictionary 27. word = element

47 28. end while

48 Start baca token x dari file terkompresi Cari Nilai element Dengan indeks x Output element word = element While NOT EOF baca x Cari Nilai element Dengan indeks x If tidak ada entri untuk indeks x element = word + karakter pertama pada word Output element Tambahkan entri word + karakter pertama pada word pada dictionary word = element End

49 Gambar 3.7 Flowchart proses decoding algoritma LZW 3.3 Perangkat Keras Dan Perangkat Lunak Pengujian Sebelum menganalisis perlu diketahui spesifikasi komputer yang digunakan. Karena hasil yang diperoleh dipengaruhi oleh kinerja dari komputer. Terutama waktu dan kecepatan proses karena perangkat keras yang lebih baik mempengaruhi waktu dan kecepatan proses. Sistem operasi yang digunakan adalah Windows XP. Bahasa pemrograman yang digunakan adalah bahasa pemrograman C++ yaitu menggunakan compiler Visual C Perangkat keras yang digunakan adalah komputer personal dengan spesifikasi sebagai berikut : 1. Prosessor AMD Sempron (1,75 GHz) 2. RAM 896 MB 3. Hardisk 80 GB 3.4 Implementasi Antarmuka Antarmuka perangkat lunak sangat penting untuk memudahkan pengguna dalam memakainya. Dalam hal ini walaupun perangkat lunak dibuat untuk analisis penulis, namun tetap saja aspek antarmuka sangat penting terutama dalam penyajian informasi hasil program tersebut. Implementasi antarmuka adalah sebagai berikut: 1. Tampilan Utama Tampilan utama menampilkan menu File untuk memilih menu LZW dimana menu tersebut akan menampilkan halaman untuk melakukan proses kompresi maupun dekompresi File. Menu Help adalah menu yang menampilkan bagaimana cara pemakaian program, serta menu exit untuk keluar dari aplikasi.

50 Gambar 3.8 Tampilan halaman utama 2. Tampilan Proses Kompresi dan Dekompresi Pada Tampilan inilah proses utama dari program dapat diakses. Untuk melakukan proses kompresi maka pengguna harus menentukan file sumber dan file tujuan proses kompresi tersebut. Cara menentukan file sumber adalah dengan melakukan klik pada tombol Get File pada Source kemudian pilih file. Cara menentukan file tujuan adalah dengan melakukan klik pada tombol Get File pada Destination kemudian pilih file. Kemudian pilih panjang bit yang akan digunakan dengan memilih dari combo box Bit Length..Kemudian untuk mengkompres file maka klik pada tombol Compress. Untuk melakukan proses dekompresi maka pengguna harus menentukan file sumber dan file tujuan proses dekompresi. Cara menentukan file sumber adalah dengan melakukan klik pada tombol Get File pada Source kemudian pilih file. Cara menentukan file tujuan adalah dengan melakukan klik pada tombol Get File pada Destination kemudian pilih file. Kemudian untuk melakukan dekompresi file maka klik pada tombol Decompress.

51 Gambar 3.9 Tampilan proses kompresi

52 Gambar 3.10 Tampilan proses dekompresi 3. Tampilan Dialog Pencarian File Tampilan dialog pencarian file dilakukan pada halaman proses kompresi dan dekompresi dengan melakukan klik pada button Get File. Maka pengguna akan mendapatkan tampilan untuk mencari serta memilih file yang akan diproses seperti pada Gambar 3.9. Gambar 3.11 Tampilan pencarian file 4. Tampilan Bantuan Tampilan bantuan (Help) berguna sebagai halaman yang menjelaskan bagaimana cara menggunakan program. Hal ini berguna agar pengguna tidak binggung dalam cara pemakaian program.

53 Gambar 3.12 Tampilan bantuan

54 BAB 4 ANALISIS PENGARUH PANJANG BIT KODE PADA KINERJA PROGRAM KOMPRESI YANG MENGGUNAKAN ALGORITMA LZW 4.1 File Yang Dicoba Oleh sebab pada analisis penulis harus mencoba file-file tertentu dengan perangkat lunak yang telah dibuat, maka terlebih dahulu file-file yang dicoba haruslah file-file yang dapat memaksimalkan analisis. Untuk itu penulis memilih Calgary Corpus serta Canterbury Corpus dalam analisis. Calgary Corpus dan Canterbury Corpus penulis pilih karena keduanya telah umum digunakan dalam membandingkan algoritma kompresi. Selain itu penelitian penulis dapat lebih mudah dibandingkan dengan penelitian lain tentang kompresi karena menggunakan file-file yang telah umum digunakan untuk penelitian mengenai kinerja kompresi. Canterbury Corpus merupakan penyempurnaan dari Calgary Corpus dan Canterbury Corpus belum digantikan oleh standar yang lebih baru Calgary Corpus Calgary Corpus adalah sebuah set file yang dibuat sebagai standar dalam pengujian dan perbandingan algoritma kompresi. Calgary Corpus dibuat oleh Ian Witten dan Tim Bell pada tahun 1987 kemudian dipakai secara luas pada tahun 1990-an. Pada pembuatan Calgary Corpus terdapat beberapa kriteria sehingga Calgary Corpus sangat tepat digunakan untuk membandingkan kinerja algoritma kompresi. Kriteriakriteria tersebut adalah : 1. Corpus harus berisi sebuah sampel dari tipe data yang berbeda-beda.

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN LZW (LEMPEL ZIV WELCH) PADA PEMAMPATAN FILE TEKS SKRIPSI CANGGIH PRAMILO

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN LZW (LEMPEL ZIV WELCH) PADA PEMAMPATAN FILE TEKS SKRIPSI CANGGIH PRAMILO STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN LZW (LEMPEL ZIV WELCH) PADA PEMAMPATAN FILE TEKS SKRIPSI Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar Sarjana Komputer CANGGIH PRAMILO

Lebih terperinci

Kompresi. Definisi Kompresi

Kompresi. Definisi Kompresi 1 Kompresi Bahan Kuliah : Sistem Multimedia PS TI Undip Gasal 2011/2012 2 Definisi Kompresi Memampatkan/mengecilkan ukuran Proses mengkodekan informasi menggunakan bit yang lain yang lebih rendah daripada

Lebih terperinci

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB II DASAR TEORI. 2.1 Pendahuluan BAB II DASAR TEORI 2.1 Pendahuluan Kompresi data adalah proses pengkodean (encoding) informasi dengan menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya dipakai dengan menggunakan

Lebih terperinci

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS

ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS ANALISA DAN PERBANDINGAN ALGORITMA RUN LENGTH ENCODING DAN ALGORITMA LZW ( LEMPEL ZIV WECH ) DALAM PEMAMPATAN TEKS Indra Sahputra Harahap (12110809) Mahasiswa Program Studi Teknik Informatika, Stmik Budidarma

Lebih terperinci

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH

ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH ANALISIS KINERJA DAN IMPLEMENTASI ALGORITMA KOMPRESI ARITHMETIC CODING PADA FILE TEKS DAN CITRA DIGITAL SKRIPSI SARIFAH 061401090 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak

Lebih terperinci

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

BAB 1 PENDAHULUAN. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa BAB 1 PENDAHULUAN 1.1. Latar Belakang Masalah Data adalah bentuk jamak dari datum yang berarti sesuatu yang diberikan. Dalam penggunaan sehari-hari data berarti suatu pernyataan yang diterima secara apa

Lebih terperinci

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN SHANNON-FANO DALAM PEMAMPATAN FILE TEKS SKRIPSI NURFITA SARI HASIBUAN

STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN SHANNON-FANO DALAM PEMAMPATAN FILE TEKS SKRIPSI NURFITA SARI HASIBUAN STUDI PERBANDINGAN ALGORITMA HUFFMAN DAN SHANNON-FANO DALAM PEMAMPATAN FILE TEKS SKRIPSI NURFITA SARI HASIBUAN 051411012 PROGRAM STUDI SARJANA MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU

Lebih terperinci

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING

SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING SISTEM ANALISA PERBANDINGAN UKURAN HASIL KOMPRESI WINZIP DENGAN 7-ZIP MENGGUNAKAN METODE TEMPLATE MATCHING Pandi Barita Simangunsong Dosen Tetap STMIK Budi Darma Medan Jl. Sisingamangaraja No. 338 Simpang

Lebih terperinci

BAB II DASAR TEORI Teknik Kompresi Data

BAB II DASAR TEORI Teknik Kompresi Data BAB II DASAR TEORI 2.1. Teknik Kompresi Data Kompresi data dalam konteks ilmu komputer adalah suatu ilmu (dan seni) merepresentasikan informasi dalam bentuk yang padat[5]. Suatu proses mengubah masukan

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Peningkatan teknologi komputer memberikan banyak manfaat bagi manusia di berbagai aspek kehidupan, salah satu manfaatnya yaitu untuk menyimpan data, baik data berupa

Lebih terperinci

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar

PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE. Irwan Munandar PERBANDINGAN ALGORITMA HUFFMAN DAN ALGORITMA SHANNON-FANO PADA PROSES KOMPRESI BERBAGAI TIPE FILE I. Pendahuluan Irwan Munandar Balai Pendidikan dan Pelatihan Tambang Bawah Tanah Keterbatasan komputer

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 6 BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Dalam ilmu komputer, pemampatan data atau kompresi data adalah sebuah cara untuk memadatkan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisa Sistem Pembuatan sistem ini adalah bertujuan membuat aplikasi pengkompresian file. Sistem yang dapat memampatkan ukuran file dengan maksimal sesuai dengan

Lebih terperinci

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom

[TTG4J3] KODING DAN KOMPRESI. Oleh : Ledya Novamizanti Astri Novianty. Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom [TTG4J3] KODING DAN KOMPRESI Oleh : Ledya Novamizanti Astri Novianty Prodi S1 Teknik Telekomunikasi Fakultas Teknik Elektro Universitas Telkom Teknik Dictionary memanfaatkan kelompok simbol, kata, dan

Lebih terperinci

Penerapan Algoritma LZW (Lempel-Ziv-Welch) pada Program Pemampat File

Penerapan Algoritma LZW (Lempel-Ziv-Welch) pada Program Pemampat File Penerapan Algoritma (Lempel-Ziv-Welch) pada Program Pemampat File Verisky Mega Jaya - 13514018 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Analisis sistem merupakan penguraian dari suatu sistem yang utuh kedalam bagian bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang 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

Lebih terperinci

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG Kemajuan teknologi memicu kebutuhan informasi yang semakin besar. Sayangnya kebutuhan informasi yang besar ini berdampak pada kebutuhan storage (media penyimpanan)

Lebih terperinci

ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR

ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR ANALISIS DAN PERANCANGAN ALGORITMA ARITHMETIC CODING DALAM KOMPRESI FILE AUDIO SKRIPSI DEBI MAULINA SIREGAR 091421018 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN KOMPRESI STRING MENGGUNAKAN ALGORITMA DAN HUFFMAN Muhammad Maulana Abdullah / 13508053 Program Studi Teknik Informatika 2008 Bandung e-mail: if18053@students.if.itb.ac.id ABSTRAK Saat ini kompresi file

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data

BAB III ANALISA DAN DESAIN SISTEM. Analisa masalah yang didapat dari penelitian ini adalah membuat data BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Masalah Analisa masalah yang didapat dari penelitian ini adalah membuat data kompresi dengan menggunakan algoritma LZ77 dan Lempel Ziv Welch (LZW). Algoritma

Lebih terperinci

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011 STMIK GI MDP Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil Tahun 2010/2011 ANALISIS METODE HUFFMAN UNTUK KOMPRESI DATA CITRA DAN TEKS PADA APLIKASI KOMPRESI DATA Shelly Arysanti

Lebih terperinci

BAB 2 Tinjauan Teoritis

BAB 2 Tinjauan Teoritis BAB 2 Tinjauan Teoritis 2.1 Tinjauan Kepustakaan Topik kompresi data ini pernah dikerjakan oleh salah satu mahasiswa Politeknik Negeri Bandung angkatan 2007 yaitu Andini Ramika Sari [4]. Proses kompresi

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan

BAB III ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem bertujuan untuk mengidentifikasi permasalahan BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Analisis sistem bertujuan untuk mengidentifikasi permasalahan permasalahan yang ada pada sistem di mana aplikasi dibangun yang meliputi perangkat

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.. Analisa Masalah Salah satu fungsi dari sistem jaringan komputer yang banyak digunakan adalah penerapan file transfer, dimana dengan penerapan file transfer ini setiap

Lebih terperinci

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA

IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA IMPLEMENTASI DAN ANALISIS KINERJA ALGORITMA ARITHMETIC CODING DAN SHANNON-FANO PADA KOMPRESI CITRA BMP SKRIPSI SYAHFITRI KARTIKA LIDYA 081402070 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Komputer merupakan suatu perangkat elektronika yang dapat menerima dan mengolah data menjadi informasi, menjalankan program yang tersimpan dalam memori, serta dapat

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA 5 BAB 2 TINJAUAN PUSTAKA Setelah membaca bab ini maka pembaca akan memahami pengertian tentang kompresi, pengolahan citra, kompresi data, Teknik kompresi, Kompresi citra. 2.1 Defenisi Data Data adalah

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA Pada bab ini penulis memaparkan teori-teori ilmiah yang didapat dari metode pencarian fakta yang digunakan untuk mendukung penulisan skripsi ini dan sebagai dasar pengembangan sistem

Lebih terperinci

IMPLEMENTASI ALGORITMA SHANNON-FANO PADA KOMPRESI AUDIO SKRIPSI MUTIARA NOVELIA RAJAGUKGUK

IMPLEMENTASI ALGORITMA SHANNON-FANO PADA KOMPRESI AUDIO SKRIPSI MUTIARA NOVELIA RAJAGUKGUK IMPLEMENTASI ALGORITMA SHANNON-FANO PADA KOMPRESI AUDIO SKRIPSI MUTIARA NOVELIA RAJAGUKGUK 081402068 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA

Lebih terperinci

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Di era komputerisasi ini sudah banyak dikembangkan aplikasi perangkat lunak maupun perangkat keras untuk menghasilkan citra dalam bentuk data. Sebut saja kamera digital,

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Citra Digital Citra digital adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang sudah di-sampling sehingga dapat ditentukan ukuran titik gambar tersebut

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Kompresi 2.1.1 Sejarah kompresi Kompresi data merupakan cabang ilmu komputer yang bersumber dari Teori Informasi. Teori Informasi sendiri adalah salah satu cabang Matematika yang

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Pengertian Data Compression 2.1.1 Data Menurut Oxford ( 2010 ),Data dapat diartikan suatu kumpulan angka, karakter, gambar yang sebelumnya tidak memiliki arti apa-apa hingga diproses

Lebih terperinci

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM BAB III ANALISA DAN DESAIN SISTEM III.1. Analisa Masalah Analisa masalah yang didapat dari penelitian ini adalah membuat data kompresi dengan menggunakan algoritma Lempel Ziv Welch (LZW). Algoritma kompresi

Lebih terperinci

BAB I PENDAHULUAN. halaman khusus untuk pengaksesan dari handphone. Semakin baik informasi akan

BAB I PENDAHULUAN. halaman khusus untuk pengaksesan dari handphone. Semakin baik informasi akan BAB I PENDAHULUAN 1.1 Latar Belakang Di zaman sekarang ini kebutuhan akan informasi semakin diperlukan dan informasi tersebut harus dapat diakses dari mana saja dan kapan saja termasuk dari handphone.

Lebih terperinci

1. PENDAHULUAN 1.1. Latar Belakang Masalah

1. PENDAHULUAN 1.1. Latar Belakang Masalah 1. PENDAHULUAN 1.1. Latar Belakang Masalah Kompresi data merupakan suatu proses pengubahan ukuran suatu file atau dokumen menjadi lebih kecil secara ukuran. Berkembangnya teknologi hardware dan software

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI.1 Pengertian File Teks Teks adalah kumpulan dari karakter karakter atau string yang menjadi satu kesatuan. Teks yang memuat banyak karakter didalamnya selalu menimbulkan masalah pada

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Pertumbuhan besarnya data yang digunakan pada teknologi informasi saat ini berkembang sangat cepat yang sangat mempengaruhi media penyimpanan dan transmisi data. Hal

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Pemampatan data (data compression) merupakan salah satu kajian di dalam ilmu komputer yang bertujuan untuk mengurangi ukuran file sebelum menyimpan atau memindahkan

Lebih terperinci

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan

BAB II LANDASAN TEORI. Kompresi data atau pemampatan data adalah suatu proses pengubahan BAB II LANDASAN TEORI 2.1 Kompresi Kompresi data atau pemampatan data adalah suatu proses pengubahan sekumpulan data menjadi suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan data dan waktu

Lebih terperinci

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA. Kompresi. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO MULTIMEDIA Kompresi Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id 1 Definisi memampatkan/mengecilkan ukuran proses mengkodekan informasi menggunakan

Lebih terperinci

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN BAB III ANALISIS DAN PERANCANGAN III.1. Analisis Sistem Pada tahapan analisis dan perancangan ini bertujuan menganalisa kebutuhan pengembangan aplikasi media pembelajaran kompresi dengan algoritma LZW.

Lebih terperinci

EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL

EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL EVALUASI KINERJA ALGORITMA LEMPEL-ZIV STORER SZYMANSKI TERHADAP DATA TEKS DAN GAMBAR LAPORAN TUGAS AKHIR JUDUL Prima Even Ramadhan 13203076/Teknik Telekomunikasi PROGRAM STUDI TEKNIK ELEKTRO SEKOLAH TEKNIK

Lebih terperinci

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

BAB 3 METODOLOGI PENELITIAN. kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik BAB 3 METODOLOGI PENELITIAN 3.1 Metode Penelitian Dalam penulisan ini metode penelitian yang digunakan adalah metode studi kepustakaan dan studi laboratorium, di mana penulis mempelajari teori-teori teknik

Lebih terperinci

Penerapan Pengkodean Huffman dalam Pemampatan Data

Penerapan Pengkodean Huffman dalam Pemampatan Data Penerapan Pengkodean Huffman dalam Pemampatan Data Patrick Lumban Tobing NIM 13510013 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10

Lebih terperinci

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI

PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI PEMAMPATAN TATA TEKS BERBAHASA INDONESIA DENGAN METODE HUFFMAN MENGGUNAKAN PANJANG SIMBOL BERVARIASI Tri Yoga Septianto 1, Waru Djuiatno, S.T., M.T. 2, dan Adharul Muttaqin S.T. M.T. 1 Mahasisawa Teknik

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Kemajuan teknologi dewasa ini menyebabkan saling ketergantungan antara komputer dan telekomunikasi semakin besar. Jaringan-jaringan komputer mempunyai andil

Lebih terperinci

PENDEKATAN ALGORITMA PEMROGRAMAN DINAMIK DALAM MENYELESAIKAN PERSOALAN KNAPSACK 0/1 SKRIPSI SRI RAHAYU

PENDEKATAN ALGORITMA PEMROGRAMAN DINAMIK DALAM MENYELESAIKAN PERSOALAN KNAPSACK 0/1 SKRIPSI SRI RAHAYU PENDEKATAN ALGORITMA PEMROGRAMAN DINAMIK DALAM MENYELESAIKAN PERSOALAN KNAPSACK 0/1 SKRIPSI SRI RAHAYU 060823001 PROGRAM STUDI SARJANA MATEMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA

ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA ANALISIS PERBANDINGAN ALGORITMA HUFFMAN DAN RUN LENGTH ENCODING PADA KOMPRESI FILE AUDIO SKRIPSI HELBERT SINAGA 131421097 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan teknologi informasi yang pesat telah menjadi peran yang sangat penting untuk pertukaran informasi yang cepat. Kecepatan pengiriman informasi dalam

Lebih terperinci

SKRIPSI KOMPRESI DATA TEKS MENGGUNAKAN ALGORITMA PPM (PREDICTION BY PARTIAL MATCHING)

SKRIPSI KOMPRESI DATA TEKS MENGGUNAKAN ALGORITMA PPM (PREDICTION BY PARTIAL MATCHING) 11 SKRIPSI KOMPRESI DATA TEKS MENGGUNAKAN ALGORITMA PPM (PREDICTION BY PARTIAL MATCHING) Disusun oleh : Gilang Himawan Widya Putra 0735010026 PROGRAM STUDI SISTEM INFORMASI FAKULTAS TEKNOLOGI INDUSTRI

Lebih terperinci

PERANCANGAN APLIKASI PEMBELAJARAN BERBANTUAN KOMPUTER BERBASIS MULTIMEDIA SKRIPSI MUHAMMAD RAJIB

PERANCANGAN APLIKASI PEMBELAJARAN BERBANTUAN KOMPUTER BERBASIS MULTIMEDIA SKRIPSI MUHAMMAD RAJIB PERANCANGAN APLIKASI PEMBELAJARAN BERBANTUAN KOMPUTER BERBASIS MULTIMEDIA SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer MUHAMMAD RAJIB 031401033 PROGRAM STUDI

Lebih terperinci

VERIFIKASI INTEGRITAS DATA YANG DIUNDUH DARI INTERNET DENGAN MENGGUNAKAN MESSAGE DIGEST 5 (MD5) SKRIPSI IVAN JAYA

VERIFIKASI INTEGRITAS DATA YANG DIUNDUH DARI INTERNET DENGAN MENGGUNAKAN MESSAGE DIGEST 5 (MD5) SKRIPSI IVAN JAYA VERIFIKASI INTEGRITAS DATA YANG DIUNDUH DARI INTERNET DENGAN MENGGUNAKAN MESSAGE DIGEST 5 (MD5) SKRIPSI IVAN JAYA 060823018 DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

STUDI PERBANDINGAN KINERJA ALGORITMA KOMPRESI LEMPEL ZIV 77, LEMPEL ZIV 78 DAN LEMPEL ZIV WELCH PADA FILE TEXT SKRIPSI ANDRE PRATAMA

STUDI PERBANDINGAN KINERJA ALGORITMA KOMPRESI LEMPEL ZIV 77, LEMPEL ZIV 78 DAN LEMPEL ZIV WELCH PADA FILE TEXT SKRIPSI ANDRE PRATAMA STUDI PERBANDINGAN KINERJA ALGORITMA KOMPRESI LEMPEL ZIV 77, LEMPEL ZIV 78 DAN LEMPEL ZIV WELCH PADA FILE TEXT SKRIPSI ANDRE PRATAMA 0540030 PROGRAM STUDI S ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi informasi yang pesat telah menjadi peran yang sangat penting untuk pertukaran informasi yang cepat. Kecepatan pengiriman informasi dalam bentuk

Lebih terperinci

BAB I PENDAHULUAN. media penyimpanan yang mengalami perkembangan adalah flashdisk. Flashdisk

BAB I PENDAHULUAN. media penyimpanan yang mengalami perkembangan adalah flashdisk. Flashdisk BAB I PENDAHULUAN 1.1 Latar Belakang Perkembangan media penyimpanan data kian meningkat. Salah satu contoh media penyimpanan yang mengalami perkembangan adalah flashdisk. Flashdisk pertama kali dikomersilkan

Lebih terperinci

BAB IV HASIL DAN UJI COBA

BAB IV HASIL DAN UJI COBA 50 BAB IV HASIL DAN UJI COBA IV.1. Jalannya Uji Coba Uji coba dilakukan terhadap beberapa file dengan ektensi dan ukuran berbeda untuk melihat hasil kompresi dari aplikasi yang telah selesai dirancang.

Lebih terperinci

MEMBANGUN FASILITAS BOOKING ONLINE DI BLACK HOLE MUSIC STUDIO TIKA WAHYUNI SIREGAR

MEMBANGUN FASILITAS BOOKING ONLINE DI BLACK HOLE MUSIC STUDIO TIKA WAHYUNI SIREGAR MEMBANGUN FASILITAS BOOKING ONLINE DI BLACK HOLE MUSIC STUDIO Tugas Akhir Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya TIKA WAHYUNI SIREGAR 072406110 PRPGRAM STUDI D3 ILMU

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Perkembangan teknologi informasi ternyata berdampak pada perkembangan ilmu pengetahuan yang lain. Semuanya merupakan informasi yang sangat penting. Oleh karena

Lebih terperinci

BAB I PENDAHULUAN. Saat ini perkembangan teknologi berkembang sangat cepat. Penyimpanan

BAB I PENDAHULUAN. Saat ini perkembangan teknologi berkembang sangat cepat. Penyimpanan BAB I PENDAHULUAN 1.1 Latar Belakang Saat ini perkembangan teknologi berkembang sangat cepat. Penyimpanan data-data penting dalam media kertas kini sudah mulai ditinggalkan dan beralih pada media lainnya

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1. Kompresi Data Kompresi adalah mengecilkan/ memampatkan ukuran. Kompresi Data adalah teknik untuk mengecilkan data sehingga dapat diperoleh file dengan ukuran yang lebih kecil

Lebih terperinci

BAB I PENDAHULUAN. disebut LAN (local area network) maupun WLAN (wireless local area network).

BAB I PENDAHULUAN. disebut LAN (local area network) maupun WLAN (wireless local area network). BAB I PENDAHULUAN I.1. Latar Belakang Semakin berkembangnya teknologi khususnya di bidang informasi yang memungkinkan setiap orang untuk dapat berkomunikasi dan saling bertukar data. Dengan kemajuan teknologi

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Kompresi Data Kompresi data adalah proses mengkodekan informasi menggunakan bit atau information-bearing unit yang lain yang lebih rendah daripada representasi data yang tidak

Lebih terperinci

BAB I PENDAHULUAN. Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara

BAB I PENDAHULUAN. Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara BAB I PENDAHULUAN I.1. Latar Belakang Meningkatnya penggunaan komputer dalam kegiatan sehari hari, secara tidak langsung juga membuat kebutuhan akan penyimpanan data semakin meningkat. Data tersebut dapat

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Kompresi File Pada dasarnya semua data itu merupakan rangkaian bit 0 dan 1. Yang membedakan antara suatu data tertentu dengan data yang lain adalah ukuran dari rangkaian bit dan

Lebih terperinci

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI

PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI PERBANDINGAN ALGORITMA TERNARY COMMA CODE (TCC) DAN LEVENSTEIN CODE DALAM KOMPRESI FILE TEXT SKRIPSI ZULAIHA YULANDARI 121401140 PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

TUGAS AKHIR DEDY FIRDANI LINGGA

TUGAS AKHIR DEDY FIRDANI LINGGA MEMBUAT WEB BROWSER D3 TI USU MENGGUNAKAN APLIKASI MICROSOFT VISUAL STUDIO 2013 TUGAS AKHIR DEDY FIRDANI LINGGA 112406027 PROGRAM STUDI DIPLOMA 3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA

Lebih terperinci

APLIKASI DATABASE SISWA DI BIMBEL METRO TUGAS AKHIR RUDIANSYAH

APLIKASI DATABASE SISWA DI BIMBEL METRO TUGAS AKHIR RUDIANSYAH APLIKASI DATABASE SISWA DI BIMBEL METRO TUGAS AKHIR RUDIANSYAH 072406101 PROGRAM STUDI D3 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2010 ii APLIKASI DATABASE

Lebih terperinci

PERANCANGAN PERANGKAT LUNAK SIMULASI ANJUNGAN TUNAI MANDIRI (ATM)

PERANCANGAN PERANGKAT LUNAK SIMULASI ANJUNGAN TUNAI MANDIRI (ATM) 1 PERANCANGAN PERANGKAT LUNAK SIMULASI ANJUNGAN TUNAI MANDIRI (ATM) SKRIPSI LEO NARDO TOHONAN 031401044 PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

SISTEM INFORMASI PENYELESAIAN SKRIPSI MAHASISWA S1 MATEMATIKA FMIPA USU TUGAS AKHIR HANDY YOHANES SEMBIRING

SISTEM INFORMASI PENYELESAIAN SKRIPSI MAHASISWA S1 MATEMATIKA FMIPA USU TUGAS AKHIR HANDY YOHANES SEMBIRING SISTEM INFORMASI PENYELESAIAN SKRIPSI MAHASISWA S1 MATEMATIKA FMIPA USU TUGAS AKHIR HANDY YOHANES SEMBIRING 142406016 PROGRAM STUDI TEKNIK INFORMATIKA D3 FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

1. Pendahuluan. 1.1 Latar Belakang Masalah

1. Pendahuluan. 1.1 Latar Belakang Masalah 1. Pendahuluan 1.1 Latar Belakang Masalah Jumlah pengguna komputer semakin meningkat. Peningkatan jumlah pengguna komputer mengakibatkan penggunaan data digital juga semakin meningkat. Salah satu media

Lebih terperinci

SISTEM INFORMASI NILAI SISWA BERBASIS WEB PADA SMP NEGERI 10 BINJAI DENGAN MENGGUNAKAN PHP DAN MYSQL TUGAS AKHIR KHAIRUNNISA

SISTEM INFORMASI NILAI SISWA BERBASIS WEB PADA SMP NEGERI 10 BINJAI DENGAN MENGGUNAKAN PHP DAN MYSQL TUGAS AKHIR KHAIRUNNISA 1 SISTEM INFORMASI NILAI SISWA BERBASIS WEB PADA SMP NEGERI 10 BINJAI DENGAN MENGGUNAKAN PHP DAN MYSQL TUGAS AKHIR KHAIRUNNISA 112406172 PROGRAM STUDI D3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS

Lebih terperinci

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding Wisnu Adityo NIM:13506029 Program Studi Teknik Informatika ITB, Jalan Ganesha no 10 Bandung, email : raydex@students.itb.ac.id Abstrak Pada

Lebih terperinci

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC

Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC Kompresi Data dengan Algoritma Huffman dan Perbandingannya dengan Algoritma LZW dan DMC Roy Indra Haryanto - 13508026 Fakultas Sekolah Teknik Elektro dan Informatika Program Studi Teknik Informatika Institut

Lebih terperinci

PERANCANGAN PERANGKAT LUNAK PENGENKRIPSIAN CITRA *.BMP, *.GIF DAN *.JPG DENGAN METODE HILL SKRIPSI HENDRY YUANDI

PERANCANGAN PERANGKAT LUNAK PENGENKRIPSIAN CITRA *.BMP, *.GIF DAN *.JPG DENGAN METODE HILL SKRIPSI HENDRY YUANDI PERANCANGAN PERANGKAT LUNAK PENGENKRIPSIAN CITRA *.BMP, *.GIF DAN *.JPG DENGAN METODE HILL SKRIPSI HENDRY YUANDI 041401061 DEPARTEMEN S-1 ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB SKRIPSI ANGGARANI NOVITASARI

ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB SKRIPSI ANGGARANI NOVITASARI ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB SKRIPSI ANGGARANI NOVITASARI 061401051 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING

IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING 1 Devie R. Suchendra, 2 Sandra Wulandari 1 Program Studi Sistem Informasi STMIK LPKIA 2 Program Studi Teknik Informatika STMIK LPKIA Jln. Soekarno

Lebih terperinci

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 7 IMPLEMENTASI ALGORITMA KOMPRESI LZW PADA DATABASE SERVER

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 7 IMPLEMENTASI ALGORITMA KOMPRESI LZW PADA DATABASE SERVER Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 7 IMPLEMENTASI ALGORITMA KOMPRESI LZW PADA DATABASE SERVER Hidayat 1, Wendi Zarman 2, Tri Pamungkas 3 1,2,3 Teknik Komputer Unikom, Bandung 1 hidayat@unikom.ac.id

Lebih terperinci

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu

BAB I PENDAHULUAN. Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu BAB I PENDAHULUAN 1.1. Latar Belakang Masalah Dalam dunia modern sekarang ini kebanyakan aktivitas manusia selalu berhubungan dengan dokumentasi atau data. Data-data yang ada haruslah tersimpan dengan

Lebih terperinci

APLIKASI RUMUS BANGUN RUANG MENGGUNAKAN VISUAL BASIC 6.0 TUGAS AKHIR ARI ARYA FITRIZA

APLIKASI RUMUS BANGUN RUANG MENGGUNAKAN VISUAL BASIC 6.0 TUGAS AKHIR ARI ARYA FITRIZA APLIKASI RUMUS BANGUN RUANG MENGGUNAKAN VISUAL BASIC 6.0 TUGAS AKHIR ARI ARYA FITRIZA 112406010 PROGRAM STUDI D3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS

Lebih terperinci

STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI VERA MAGDALENA SIANTURI

STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI VERA MAGDALENA SIANTURI STUDI DAN IMPLEMENTASI KEAMANAN DATA DENGAN TANDA TANGAN DIGITAL SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer VERA MAGDALENA SIANTURI 041401056 PROGRAM STUDI

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Perkembangan teknologi komputer semakin pesat dewasa ini, sehingga sangat membantu manusia dalam mengolah data untuk mendapatkan informasi. Aktivitas yang dulunya dilakukan

Lebih terperinci

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA Perbandingan Algoritma Terhadap Objek Menggunakan JAVA Maria Roslin Apriani Neta Program Studi Magister Teknik Informatika, Universitas Atma Jaya Yogyakarta Jl. Babarsari no 43 55281 Yogyakarta Telp (0274)-487711

Lebih terperinci

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang

UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang BAB I PENDAHULUAN 1.1 Latar Belakang Berdasarkan data dari ATSI (Asosiasi Telekomunikasi Seluler Indonesia) yang dimuat di www.teknojurnal.com pada tanggal 18 Januari 2012, dari 240 juta pelanggan seluler

Lebih terperinci

KONSEP. Tujuan Kompresi:

KONSEP. Tujuan Kompresi: Kompresi Data KONSEP Tujuan Kompresi: Mengurangi ukuran file Hasil kompresi mirip dengan sinyal (file) asli Algoritma kompresi dapat di implementasi dengan mudah Handal/ tidak mudah berubah (robust) KOMPRESI

Lebih terperinci

STUDI PERBANDINGAN KOMPRESI MENGGUNAKAN METODE SHANNON FANO DAN UNARY CODING PADA FILE TEKS EUNIKE JOHANA

STUDI PERBANDINGAN KOMPRESI MENGGUNAKAN METODE SHANNON FANO DAN UNARY CODING PADA FILE TEKS EUNIKE JOHANA STUDI PERBANDINGAN KOMPRESI MENGGUNAKAN METODE SHANNON FANO DAN UNARY CODING PADA FILE TEKS SKRIPSI EUNIKE JOHANA 071402044 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

Lebih terperinci

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP Hak cipta dan penggunaan kembali: Lisensi ini mengizinkan setiap orang untuk menggubah, memperbaiki, dan membuat ciptaan turunan bukan untuk kepentingan komersial, selama anda mencantumkan nama penulis

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Citra adalah gambar bidang dua dimensi yang juga merupakan keluaran data. Artinya suatu data atau informasi tidak hanya direpresentasikan dalam bentuk teks, namun juga

Lebih terperinci

BAB I PENDAHULUAN. oleh Allah swt di dalam Al Qur annya pada Surah At-Tin Ayat 4, yaitu: bentuk yang sebaik-baiknya. (QS. At-Tin:4).

BAB I PENDAHULUAN. oleh Allah swt di dalam Al Qur annya pada Surah At-Tin Ayat 4, yaitu: bentuk yang sebaik-baiknya. (QS. At-Tin:4). BAB I PENDAHULUAN 1.1. Latar Belakang Berkaitan dengan pencitraan maka manusia adalah citra terbaik yang telah diciptakan oleh Allah swt. Hal ini sebagaimana dinyatakan oleh Allah swt di dalam Al Qur annya

Lebih terperinci

ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN MENGGUNAKAN ALGORITMA HUFFMAN SKRIPSI

ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN MENGGUNAKAN ALGORITMA HUFFMAN SKRIPSI ANALISIS PERBANDINGAN KOMPRESI FILE VIDEO DENGAN MOTION PICTURE EXPERT GROUP-4 DAN FLASH VIDEO DENGAN MENGGUNAKAN ALGORITMA HUFFMAN SKRIPSI NUZUL SAKINAH LUBIS 081401056 PROGRAM STUDI S1 ILMU KOMPUTER

Lebih terperinci

KOMPRESI DAN TEKS. = 4800 karakter. 8 x 8 Kebutuhan tempat penyimpanan per halaman = byte = byte = Kbyte

KOMPRESI DAN TEKS. = 4800 karakter. 8 x 8 Kebutuhan tempat penyimpanan per halaman = byte = byte = Kbyte KOMPRESI DAN TEKS KOMPRESI DATA Kompresi berarti memampatkan/mengecilkan ukuran Kompresi data adalah proses mengkodekan informasi menggunakan bit atau informationbearing unit yang lain yang lebih rendah

Lebih terperinci

PERANCANGAN APLIKASI EDUCATION GAME UNTUK PENGAJARAN BAHASA INGGRIS PADA ANAK-ANAK SKRIPSI KHAIRUNNISA

PERANCANGAN APLIKASI EDUCATION GAME UNTUK PENGAJARAN BAHASA INGGRIS PADA ANAK-ANAK SKRIPSI KHAIRUNNISA PERANCANGAN APLIKASI EDUCATION GAME UNTUK PENGAJARAN BAHASA INGGRIS PADA ANAK-ANAK SKRIPSI KHAIRUNNISA 061401056 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN

Lebih terperinci

SISTEM PENDUKUNG KEPUTUSAN SELEKSI PENERIMAAN BEASISWA DEPARTEMEN AGAMA DI PESANTREN DARULARAFAH RAYA DENGAN METODE TOPSIS SKRIPSI

SISTEM PENDUKUNG KEPUTUSAN SELEKSI PENERIMAAN BEASISWA DEPARTEMEN AGAMA DI PESANTREN DARULARAFAH RAYA DENGAN METODE TOPSIS SKRIPSI SISTEM PENDUKUNG KEPUTUSAN SELEKSI PENERIMAAN BEASISWA DEPARTEMEN AGAMA DI PESANTREN DARULARAFAH RAYA DENGAN METODE TOPSIS SKRIPSI MUKHLIDA FATMI 091421036 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN

Lebih terperinci

BAB I PENDAHULUAN. Teknologi modern telah berkembang pesat, khususnya yang berkaitan

BAB I PENDAHULUAN. Teknologi modern telah berkembang pesat, khususnya yang berkaitan BAB I PENDAHULUAN I.1. Latar Belakang Teknologi modern telah berkembang pesat, khususnya yang berkaitan dengan kemajuan komputer, hal tersebut merupakan salah satu faktor yang mempengaruhi pembaharuan

Lebih terperinci

Bab 6. Kompresi Data dan Teks. Pokok Bahasan : Tujuan Belajar : Sekilas Kompresi Data

Bab 6. Kompresi Data dan Teks. Pokok Bahasan : Tujuan Belajar : Sekilas Kompresi Data Pokok Bahasan : Sekilas kompresi data Jenis-jenis kompresi data Kriteria algoritma kompresi Klasifikasi teknik kompresi Teknik kompresi data Aplikasi kompresi Bab 6 Kompresi Data dan Teks Tujuan Belajar

Lebih terperinci

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital The 12th Industrial Electronics Seminar 2010 (IES 2010) Electronics Engineering Polytechnic Institute of Surabaya (EEPIS), Indonesia, Nopember 3, 2010 Image, Acoustic, Speech And Signal Processing Kinerja

Lebih terperinci