BAB 2 LANDASAN TEORI

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

Nama : Rendi Setiawan Nim :

BAB II DASAR TEORI. 2.1 Pendahuluan

BAB 2 TINJAUAN PUSTAKA

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

1. PENDAHULUAN 1.1. Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB II DASAR TEORI Teknik Kompresi Data

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG

BAB 2 Tinjauan Teoritis

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

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

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB IV HASIL DAN UJI COBA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III METODE KOMPRESI HUFFMAN DAN DYNAMIC MARKOV COMPRESSION. Kompresi ialah proses pengubahan sekumpulan data menjadi suatu bentuk kode

BAB 1 PENDAHULUAN Latar Belakang

BAB I BAB 1. PENDAHULUAN

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

Kompresi. Definisi Kompresi

1. Pendahuluan. 1.1 Latar Belakang Masalah

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

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

BAB 1 PENDAHULUAN Latar Belakang

REKAYASA PERANGKAT LUNAK

BAB 1 PENDAHULUAN. 1.1.Latar Belakang

BAB 2 TINJAUAN PUSTAKA

IMPLEMENTASI KOMPRESI DATA TEXT MENGGUNAKAN HUFFMAN CODING

BAB I PENDAHULUAN. diperlukan juga biaya yang besar untuk menyediakan media penyimpanan

KOMPRESI STRING MENGGUNAKAN ALGORITMA LZW DAN HUFFMAN

Deskripsi Mata Kuliah

BAB 2 TINJAUAN PUSTAKA

Dibuat Oleh : 1. Andrey ( )

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Penerapan Pengkodean Huffman dalam Pemampatan Data

BAB I PENDAHULUAN 1.1 LATAR BELAKANG MASALAH

ANALISIS KOMPRESI DATA TEKNIK LOSSLESS COMPRESSION

Teknik Kompresi Citra Menggunakan Metode Huffman

BAB II LANDASAN TEORI

DATA COMPRESSION CODING USING STATIC AND DYNAMIC METHOD OF SHANNON-FANO ALGORITHM

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

REKAYASA PERANGKAT LUNAK (SOFTWARE ENGINEERING)

A. Tujuan dan Ruang Lingkup Proyek Perancangan Rekayasa Perangkat Lunak

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III METODOLOGI PENELITIAN

Kata kunci: pohon biner, metode Huffman, metode Kanonik Huffman, encoding, decoding.

BAB III ANALISIS DAN PERANCANGAN

MULTIMEDIA system. Roni Andarsyah, ST., M.Kom Lecture Series

Kinerja Dan Performa Algoritma Kompressi Lossless Terhadap Objek Citra Digital

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

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. tertulis, audio dan video. Objek-objek tersebut yang sebelumnya hanya bisa

KONSEP. Tujuan Kompresi:

PENGANTAR KOMPRESI DATA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Penggunaan Kode Huffman dan Kode Aritmatik pada Entropy Coding

BAB I PENDAHULUAN. asing di kalangan masyarakat. Instant messaging, perangkat lunak aplikasi yang

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN. Pegawai rumah sakit merupakan pihak yang berinteraksi dengan banyak

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN 1.1 Latar Belakang

KINERJA DAN PERFORMA ALGORITMA KOMPRESSI LOSSLESS TERHADAP OBJEK CITRA DIGITAL

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

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

Perbandingan Algoritma Kompresi Terhadap Objek Citra Menggunakan JAVA

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. Perkembangan teknologi saat ini mengharuskan masyarakat untuk mengikuti

BAB II LANDASAN TEORI. beberapa ahli, definisi sistem adalah sebagai berikut.

Dibuat Oleh : 1. Andrey ( )

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Perbandingan Kompresi Data Dengan Algoritma Huffman Statik dan Adaptif

BAB I PENDAHULUAN. berbasis komputerisasi dengan berbagai dukungan aplikasi, baik dalam hal

BAB I PENDAHULUAN. yaitu sistematika penulisan yang merupakan indeks laporan tugas akhir, dimana. tiap sub bab berisi penjelasan ringkasan perbab.

ANALISIS METODE MASKING-FILTERING DALAM PENYISIPAN DATA TEKS

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

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

BAB 1 PENDAHULUAN 1-1

BAB I PENDAHULUAN I.1 Latar Belakang Masalah

UKDW BAB 1 PENDAHULUAN

Contoh kebutuhan data selama 1 detik pada layar resolusi 640 x 480 : 640 x 480 = 4800 karakter 8 x 8

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

REKAYASA PERANGKAT LUNAK. ( 1 st week)

BAB IV HASIL DAN PEMBAHASAN

Pemampatan Data dengan Kode Huffman pada Perangkat Lunak WinZip

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

BAB III ANALISA DAN DESAIN SISTEM

BAB I PENDAHULUAN. Di Era globalisasi seperti sekarang ini, teknologi sangatlah menjadi

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. Badan Perencanaan Pembangunan Daerah (Bappeda) Kota Bandung adalah salah

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

PEMAMPATAN CITRA (IMA

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

BAB IV IMPLEMENTASI DAN ANALISIS. Untuk mengimplementasikan metode kompresi Huffman dan Dynamic

REPRESENTASI PENGETAHUAN (KNOWLEDGE) BERBASIS RULE (RULE-BASED) DALAM MENGANALISA KEKURANGAN VITAMIN PADA TUBUH MANUSIA

Transkripsi:

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 menjadi suatu bentuk informasi melalu proses yang disebut pemrosesan data. (http://www.oxforddictionaries.com/definition/data?view=uk). 2.1.2 Data Compression Menurut Mahoney ( 2005 ), Data Compression adalah suatu proses mengurangi jumlah data yang diperlukan untuk penyimpanan atau transmisi data (teks, grafis, video, suara, dan sebagainya), biasanya dengan menggunakan teknik encoding. (http://cs.fit.edu/~mmahoney/compression/rationale.html) Data digital yang dikompresi akan mencari pola berulang dari biner 0s dan 1s. Semakin banyak pola dapat ditemukan, semakin banyak data yang dapat dikompresi. File teks pada umumnya dapat dikompresi hingga sekitar 40% dari ukuran aslinya, sedangkan file grafis dari 20% sampai 90%. Beberapa file bila dikompresi hanya berkurang sedikit. Hal ini sepenuhnya tergantung pada jenis file dan algoritma kompresi yang digunakan

8 Pengaplikasian Data Compression dewasa ini : Mengkompresi file komputer (Misal:.zip,.rar,.7zip,.bzip, dll) Mengkompresi grafis (Misal :.jpg,.png,.gif) Mengkompresi suara (Misal :.flac,.mp3,.wav,.acc, dll) Mengkompresi video (Misal :.tp,.ts,.avi,.mkv,.mp4,.3gp, dll) Tingkat entropi suatu sumber adalah angka yang hanya bergantung pada sifat statistik dari sumber. Jika sumber memiliki model sederhana, maka nomor ini dapat dengan mudah dihitung. Di sini, kami mempertimbangkan sumber yang berubah-ubah : (1) text. Dalam rumusan di atas diberitahu bahwa X merupakan huruf dalam suatu Zero Order Model Karakter secara statistik independen satu sama lain dan setiap huruf abjad,a, sama-sama mungkin terjadi. Biarkan m menjadi ukuran alfabet. Dalam hal ini, tingkat entropi diberikan oleh (2)

9 Untuk suatu ukuran text, alphabet m = 27. Jadi, jika ini pernah menjadi model yang akurat untuk text, maka tingkat entropi akan H = log2 27 = 4,75 bit / karakter. First Order Model Karakter secara statistik independen. Misalkan m adalah ukuran alfabet dan pi adalah probabilitas huruf ke-i dalam alfabet. Tingkat entropi adalah (3) Menggunakan distribusi orde kesatu, tingkat entropi teks akan menjadi 4,07 bit / karakter yang ini merupakan model yang benar. Second Order Model Misalkan P j / i adalah probabilitas bersyarat bahwa karakter contoh adalah huruf ke-j dalam alfabet yang diberikan bahwa karakter sebelumnya adalah huruf ke-i. Tingkat entropi adalah (4) Menggunakan distribusi orde kedua, tingkat entropi teks akan menjadi 3,36 bit / karakter yang ini merupakan model yang benar.

10 Third Order Model Misalkan P k / j, i adalah probabilitas bersyarat bahwa karakter contoh adalah huruf ke-x dalam alfabet yang diberikan bahwa karakter sebelumnya adalah huruf ke-j dan yang sebelum itu adalah huruf ke-i. Tingkat entropi adalah : (5) Menggunakan distribusi orde ketiga, tingkat entropi teks akan menjadi 2,77 bit / karakter yang ini merupakan model yang benar. General Order Model Misalkan Bn merupakan karakter n pertama. Tingkat entropi dalam kasus umum diberikan oleh (6) Dimana jumlahnya lebih dari semua nilai yang mungkin. Hal ini hampir tidak mungkin untuk menghitung tingkat entropi menurut persamaan di atas. Menggunakan metode prediksi, maka mampu memperkirakan bahwa tingkat entropi teks 27-huruf adalah 2,3 bit / karakter.

11 2.1.3 Data Compression dengan Ilmu Lain Banyak sekali metode yang diterapkan pada Data Compression, Secara umum adalah Algoritma. Algoritma berfungsi sebagai metode untuk mengkompresi data, tanpa adanya algoritma-aloritma tertentu ini, maka tata cara kompresi data tidak akan bisa dimengerti. Matematika merupakan dasar dari logika yang dapat membantu pengertian algoritma, serta menerapkan algoritma dalam komputer, karena pada dasarnya data pada komputer merupakan kumpulan angka dan huruf yang nantinya akan dipakai dalam data compression. 2.2 Pengertian Lossless Data Compression Menurut Mahoney ( 2005 ), Lossless Data Compression adalah proses kompresi suatu file, di mana semua data asli dapat dipulihkan bila file yang terkompresi dibuka. Dengan kompresi ini, setiap 1 byte data yang pada awalnya berada di file tersebut akan tetap ada setelah file terkompresi. Semua informasi data yang telah dikompresi benar-benar dapat dipulihkan. Biasanya ini adalah teknik kompresi pilihan untuk teks atau file spreadsheet(file-file penting dalam database), dimana kehilangan kata-kata pada file atau data-data keuangan dapat menimbulkan masalah besar.

12 Pada gambar, kompresi lossless diterapkan pada format Graphics Interchange (GIF) yang biasa ditemukan pada web. Di sisi lain, Lossy Compression mengurangi file dengan secara permanen menghapus informasi tertentu, terutama informasi yang berlebihan. Ketika file terkompresi, hanya sebagian dari informasi asli masih ada (walaupun pengguna mungkin tidak menyadarinya). Lossy Compression umumnya digunakan untuk video dan suara, di mana pada jumlah tertentu kehilangan informasi tidak akan terdeteksi oleh sebagian besar pengguna. Gambar JPEG file, misalnya biasanya digunakan untuk foto dan gambar dalam web, adalah gambar yang memiliki Lossy Compression. Menggunakan kompresi JPEG, pencipta dapat memutuskan ukuran file tersebut, semakin kecil ukuran filenya, semakin buruk pula kualitas pada gambar. Sebaliknya, semakin bagus kualitas pada gambar, semakin besar ukuran filenya. Gambar 2.1 Lossless Data Compression

13 Gambar 2.2 Lossy Data Compression 2.2.1 Kelebihan dan Kekurangan Lossless Data Compression Lossy Data Compression memiliki kelebihan dalam hal kecepatan dan rasio kompresi yang lebih besar, tetapi sebagian data akan hilang (loss) pada saat dilakukan proses uncompression. Salah satu contoh jenis kompresi ini digunakan untuk mengubah file audio menjadi mp3. Sebaliknya Lossless Data Compression mensyaratkan bahwa data hasil dekompresi akan persis sama dengan data yang terkompress. Terdapat 2 teknik kompresi yang umum digunakan dalam Lossless Data Compression yaitu : Berdasarkan pada prinsip data yang sering muncul akan dikodekan dengan lebih sedikit bit. Contoh : Huffman Coding Berdasarkan pada permodelan statistik untuk data teks. Misalkan dengan membangun suatu kamus (dictionary) dari simbol-simbol yang sering muncul pada suatu blok dan kemudian hanya akan diacu (reference) dengan menggunakan pointer. Contoh : LZ (Lempel-Ziv) algorithm.

14 2.3 Pengertian Lempel-Ziv Algorithm Menurut Jacob Ziv and Abraham Lempel ( 1977 ), Lempel-Ziv Algorithm adalah Algoritma yang melakukan kompresi dengan menggunakan dictionary, dimana bagian-bagian pada data akan diubah menjadi index yang diperoleh dari kamus. (IEEE Transactions on Information Theory, 23(3), pp. 337 343). Dengan kata lain algoritma ini bertujuan merubah bentuk input data yang akan dikompresi menjadi suatu blok-blok data yang tidak mengalami perulangan. Berikut ilustrasinya : Langkah Algoritma : 1. Memulai inisialisasi pada kamus yang mencakup panjang blok pada input data. 2. Mencari blok terpanjang W yang ada dalam kamus. 3. Merubah W berdasarkan indeksnya dalam kamus. 4. Tambahkan W diikuti oleh simbol pertama dalam blok berikutnya ke dalam kamus. 5. Lakukan lagi langkah ke-2. Untuk lebih jelasnya akan diperlihatkan pada gambar di bawah ini :

15 Gambar 2.3 Algoritma Lempel Ziv Contoh di atas mengilustrasikan bagaimana proses encoding dilakukan berdasarkan Algoritma Lempel-Ziv. Pendekatan seperti ini bersifat adaptif dan efektif karena banyak karakter dapat diencode dengan mengacu kepada string yang telah muncul sebelumnya (initial string) pada data tersebut. Prinsip kompresi akan tercapai, apabila referensi dalam bentuk pointer dapat atau telah tersimpan dengan jumlah byte yang lebih sedikit bila dibanding dengan string pada data aslinya dan telah menyelesaikan penelusuran dalam data tersebut. Misalkan : Untuk k = 1, salah satu string adalah : (1)

16 Dengan panjang 2. Untuk k = 2, salah satunya adalah : (2) Dengan panjang 10; dan untuk k = 3, salah satunya adalah : (3) Dengan panjang 34. Secara umum, panjang seperti sebuah string (4) bahwa : Karena mengandung frase 2j panjang j. Sangat mudah untuk memeriksa (5) Dengan menunjukkan bahwa dalam kedua ungkapan di atas untuk nk, kita dapatkan hasil : dan (6) Jika kita membiarkan menjadi jumlah frasa yang berbeda dalam serangkaian panjang, kita akan mendapatkan hasil :

17 (7) Untuk dengan demikian kita mendapatkan hasil : (8) 2.4 Metode Perancangan Program Metode perancangan program yang penulis gunakan adalah metode RPL (Rekayasa Piranti Lunak), secara umum dikenal sebagai terjemahan dari Software Engineering. Ilmu ini membahasa tentang semua aspek produksi piranti lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desain, algoritma, pengujian sampai pemeliharaan sistem setelah digunakan. Gambar berikut ini akan menceritakan tentang ruang lingkup RPL : Gambar 2.4 Ruang Lingkup RPL ( Abran et.al., 2004 )

18 Software requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak. Software design mencakup proses penentuan arsitektur, komponen, antarmuka, dan karakteristik lain dari perangkat lunak. Software construction berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan. Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak. Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan. Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu. Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak. Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL. Software engineering process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahan dan perbaikan proses RPL.

19 Software quality menitikberatkan pada kualitas dan daur hidup perangkat lunak. Perancangan program aplikasi dalam skripsi ini menggunakan metode The Waterfall Model. Metode ini terdiri dari beberapa langkah seperti yang dapat dilihat pada gambar 2.5 halaman 19 berikut : Gambar 2.5 The Waterfall Model Berikut ini adalah penjelasan dari tahapan-tahapan yang ada dalam The Waterfall Model :

20 Tahap investigasi dilakukan untuk menentukan apakah terjadi suatu masalah atau adakah peluang suatu sistem informasi dikembangkan. Pada tahapan ini studi kelayakan perlu dilakukan untuk menentukan apakah sistem informasi yang akan dikembangkan merupakan solusi yang layak. Tahap analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi serta menganalisa kondisi yang ada (sebelum diterapkan sistem informasi yang baru). Tahap disain bertujuan menentukan spesifikasi detil dari komponenkomponen sistem informasi (manusia, hardware, software, network dan data) dan produk-produk informasi yang sesuai dengan hasil tahap analisis. Tahap coding dilakukan untuk mengembangkan teori yang telah dipelajari lalu diterapkan kedalam bahasa komputer yang sudah dipelajari sehingga dapat mengembangkan software. Tahap implementasi merupakan tahapan untuk mendapatkan atau mengembangkan hardware dan software, melakukan pengujian, pelatihan dan perpindahan ke sistem baru. Tahapan perawatan (maintenance) dilakukan ketika sistem informasi sudah dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan perubahan (perbaikan) bila diperlukan.

21 2.5 Teknologi Pendukung 2.5.1 Teknologi NetBeans Teknologi yang dikembangkan oleh Oracle Coorporation ini merupakan sebuah program open-source yang membantu kalangan peneliti ataupun pengembang aplikasi yang menggunakan pemrograman berbahasa Java. Program ini juga user friendly karena mudah digunakan oleh peneliti ataupun pengembang aplikasi berbasis Java ( Jürgen Petri, 2010 ) 2.5.2 Java Gambar 2.6 Logo Java Gambar 2.6 di atas merupakan logo Java, yang merupakan bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sebagai komponen inti dari Java Sun Microsystems. Bahasa ini banyak berasal dari sintaks-sintaks bahasa C dan C++, namun memiliki model objek yang lebih sederhana dan lebih sedikit fasilitas-fasilitas yang tidak terlalu penting. Aplikasi ini biasanya disusun menjadi kelas-kelas yang dapat berjalan pada JVM (Java Virtual Machine) dalam sistem operasi komputer apapun ( James Gosling, 2005 ).