• Minggu, 29 Mei 2011

      PENGANTAR MULTIMEDIA

      DEFINISI MULTIMEDIA
      Pengertian multimedia secara etimologi (menurut kamus/ensklopedi) berasal dari dua kata “MULTI” dan “MEDIUM”. Yang berarti :
      MULTI (Latin noun) bermacam-macam, banyak
      MULTIMEDIA
      MEDIUM (Latin) : Sesuatu yang dipakai untuk menyampaikan atau membawa sesuatu
      MEDIUM (American Heritage Electronic Dictionary, 1991) : alat untuk mendistribusikan dan mempresentasikan informasi
      Secara terminologi (menurut istilah) Multimedia dapat diartikan sebagai penggunaan berbagai media yang berbeda untuk membawa, menyampaikan informasi dalam bentuk teks, grafik, animasi, audio, video dan atau gabungan dari beberapa komponen tersebut.
      Beberapa definisi menurut para ahli :
      • Kombinasi dari computer dan video (Rosch, 1996)
      • Kombinasi dari tiga elemen : suara, gambar dan teks (McComick, 1996)
      • Kombinasi dari paling sedikit dua media input dan output. Media ini dapat berupa audio (suara, musik), animasi, video, teks, grafik dan gambar (Turban dan kawan-kawan, 2001)
      • Multimedia dalam konteks computer Hofstetter, 2001 adalah:
        Pemanfaatan computer untuk membuat dan menggabungkan teks, grafik, audio, video, dengan menggunakan tool yang memungkinkan pemakai berinteraksi, berkreasi dan berkomunikasi.
      Dari beberapa definisi diatas, dapat disimpulkan Multimedia adalah penggunaan beberapa media untuk membawa, menyajikan dan mempresentasikan informasi dalam rupa teks, grafik, animasi, audio, video secara kreatif dan inovatif. Multimedia juga dapat memungkinkan terjalinnya hubungan interaktif antara penyaji dengan pemanfaat informasi yang ada di dalamnya.
      APA ITU KOMPUTER MULTIMEDIA
      Komputer multimedia adalah sebuah komputer dengan spesifikasi tertentu dan dilengkapi dengan beberapa peripheral yang digunakan untuk mengolah teks, grafik, audio, animasi dan video untuk menjadi sebuah informasi dan hiburan secara kreatif dan interaktif.
      Standar computer multimedia
      Pada tahun 1990 :

      16 MHz 386SX CPU
      2 MB RAM
      30 MB hard disk
      256-color, 640 x 480 VGA video card
      1x CD ROOM drive using no more than 40% of CPU to read, with < 1 second seek time
      Sound card outputting 22 KHz, 8-bit sound; and inputting 11 KHz, 8-bit sound
      Windows3.0 with multimedia extensions
      Pada tahun 1993 :
      25 MHz 386SX CPU
      4 MB RAM
      160 MB hard disk
      16-bit color, 640 x 480 VGA video card
      2x CD ROOM drive using no more than 40% of CPU to read, with < 400 ms seek time
      Sound card outputting 44 KHz, 16-bit sound
      Windows3.0 with multimedia extensions, or windows 3.1
      Pada tahun 1996 :
      75 MHz 386SX CPU
      4 MB RAM
      540 MB hard disk
      Video system that can show 352×240 at 30 frames per second, 15 bit color
      MPEG 1 Hardware or software video playback
      2x CD ROOM drive using no more than 40% of CPU to read, with < 400 ms seek time
      Sound card outputting 44 KHz, 16-bit sound
      Windows3.11
      Perkembangan selanjutnya, seiring perkembangan teknologi informasi dan komunikasi spesifikasi hardware computer multimedia sangat pesat. Namun bagaimanapun, hasil akhir produk-produk informasi akan sangat ditentukan juga pada kreatifitas dan inovasi pengguna tool tersebut
      MENGAPA MULTIMEDIA
      Pemenuhan kebutuhan informasi bagi manusia baik yang bergerak di bidang pendidikan, perusahaan, hiburan dan sebagainya mengalami perubahan pola atau cara. Dengan berbagai alasan seperti efisiensi waktu, biaya dan ruang, manusia cenderung mengingini perolehan dan penyimpanan informasi dengan cara-cara yang sederhana, cepat, menyenangkan, efisien dalam pemakaian ruang dan dengan biaya yang relative murah.
      Disisi lain berdasarkan pengamatan terhadap kemampuan manusia dalam menerima dan mengingat informasi yang diterimanya, menurut Riset Computer Technology Research (CTR) ;
      • Manusia mampu mengingat 20 % dari apa yang dia lihat
      • Manusia mampu mengingat 30% dari yang dia dengar
      • Manusia mampu mengingat 50% dari yang didengar dan dilihat
      • Manusia mampu mengingat 70% dari yang dia lihat, didengar dan dilakukan
      Mengacu pada hasil penelitian tersebut, para ahli teknologi berupaya mengadakan teknologi yang memungkinkan manusia memperoleh informasi yang diingininya dengan cara melihat, mendengar dan mengalami (menjadi pelaku) di dalamnya.
      Kemampuan multimedia dalam memudahkan aktivitas manusia diantaranya :
      • Mengubah tempat kerja. Dengan adanya teleworking, para pekerja dapat melakukan pekerjaannya tidak harus dari kantor. Contoh software yang mendukung teleworking dan telecommunicating adalah Netmeeting!
      • Mengubah cara belanja. Homeshooping/teleshooping dapat digunakan dengan menggunakan fasilitas internet
      • Mengubah cara belajar. Sekolah mulai menggunakan computer multimedia. Belajar on-line, e-learning dengan menggunakan e-book.
      • Dll
      KLASIFIKASI MULTIMEDIA
      Media (berdasar ISO93a) dapat diklasifikasikan menjadi beberapa criteria :
      1. Perception Medium
      Perception media merupakan penggunaan media dalam membantu manusia untuk merasakan lingkungannya. Bagaimana manusia menerima informasi pada lingkungan computer? Persepsi informasi melalui penglihatan atau pendengaran? Penerimaan informasi yang diterima manusia melalui indera “pendengaran” dan atau “penglihatan” tentunya akan mengalami perbedaan persepsi.
      Aspek pada presentation medium :
      1. Aspek Representation space : sesuatu yang terkandung dalam presentasi secara nyata. Misalnya kertas, layer, slide show, banner, poster dsb
      2. Aspek Representation Values : nilai-nilai yang terkandung dalam presentasi
        • self contained (isi presentasi itu sendiri)
        • Predifined Symbol set (makna dari symbol) misalnya teks, ucapan, gerak tubuh
      3. Aspek Representation Dimension
        • Ruang (space)
        • Waktu (time) :
          • Time independent (tidak bergantung terhadap waktu), discreet (text, grafis)
          • Time dependent (bergantung terhadap waktu) continous media (video, audio sinyal dari sensor yang berbeda)
      4. Representation Medium (media yang digunakan untuk mempresentasikan informasi) dalam hal ini dengan format apa informasi akan disajikan.
      5. Presentation Medium (media penyajian)
        Tool dan device yang digunakan untuk proses input dan output informasi. Melalui media apa informasi disajikan oleh computer?
        Output :kertas, layer, speaker
        Input : keyboard, mouse, kamera, microphone
      6. Storage Medium (media penyimpanan)
        Pembawa data yang mempunyai kemampuan untuk menyimpan informasi. Dimanakah informasi akan disimpan (micro film, hard disk, floppy disk, flash disk, CD-ROOM, DVD, VCD, SDCard dsb.
      7. Transmission Medium (Media Pengiriman)
        Pembawa informasi yang memungkinkan terjadinya transmisi (pengiriman) data secara kontinyu (tidak termsuk media penyimpanan). Bagaimana informasi dari tempat yang berbeda dapat dipertukarkan? (melalui jaringan menggunakan kabel (coaxial, fiber optic) atau melalui udara terbuka (wireless).
      8. Information Exchange Medium (media penukaran informasi)
        Pembawa informasi untuk transmisi, contoh : media penyimpanan dan media transmisi.
        Bagaimana informasi yang berbeda saling dipertukarkan? (direct transmission dengan jaringan computer, combined (storage dan transmission media), web yang berisi informasi, e-book, forum
      KATEGORI MULTIMEDIA BERDASARKAN MEDIUMNYA
      1. Multimedia Content Production (produksi konten multimedia)
      Multimedia content production dapat diartikan sebagai penggunaan media untuk penyajian produk-produk informasi berbasis kreatif. Misalkan animasi, musik digital, video dan sebagainya. Media tersebut tentunya juga beragam dan akan sangat mempertimbangkan untuk apa dan untuk siapa informasi tersebut disajikan. Contoh : banner, film kartun, web, cd interaktif, iklan, special effect dsb.
      2. Multimedia Communication (komunikasi multimedia)
      Multimedia komunikasi dapat diartikan penggunaan media untuk kegiatan komunikasi baik dalam bentuk audio, teks dan atau audio visual. Contoh : kegiatan chatting, sms, teleconference, video conference
      SISTEM MULTIMEDIA
      System multimedia adalah sesuatu yang dapat mengatur terdukungnya penggunaan lebih dari satu media. Bagaimana sebuah system dapat dikatakan system multimedia?;
      1. Kombinasi Media
      System disebut system multimedia apabila kedua jenis (discreet/contnous)media dipakai. Contoh media diskrit : teks, grafik dan media kontinyu adalah audio dan video.
      2. Independence
      Aspek utama dari jenis media yang berbeda adalah keterkaitan antara media tersebut. System disebut system multimedia apabaila tingkat ketergantungan/keterkaitan antara media rendah.
      3. Computer-Supported Integration
      System harus dapat melakukan pemrosesan yang dikontrol oleh computer. System dapat deprogram oleh system programmer/user.
      PERANGKAT LUNAK MULTIMEDIA
      Perangkat lunak multimrdia adalah komponen-komponen dalam data processing system, berupa program-program untuk mengintrol bekerjanya system multimedia. Perangkat lunak ini digologkan menjadi tiga bagian, yaitu bahasa pemrograman multimedia, perangkat lunak system multimedia dan perangkat lunak aplikasi multimedia.
      1. Bahasa Pemrograman Multimedia
      Bahasa pemrograman multimedia adalah bahasa computer yang digunakan programmer untuk membuat aplikasi multimedia. Contohnya Assembly, C, C++, Power Builder, Delphi, SQL, Visual Basic, Flash Programmer dan Java.
      2. Perangkat Lunak Sistem (System Software)
      Perangkat ini terdiri dari system operasi (operating system) misalnya DOS (Disc Operating System), Windowa 95/98/ME, Windows XP, Windows Vista, UNIX, Linux dan Mac OS. Perangkat lunak lainnya adalah aplikasi utilitas (utility application) seperti aplikasi anti virus.
      3. Perangkat Lunak Aplikasi Multimedia
      Perangkat lunak aplikasi multimedia merupakan aplikasi-aplikasi yang dirancang oleh personal atau organisasi untuk user yang bergerak dalam bidang multimedia spesifik seperti grafik 2D, modeling, animasi, sound editing, video editing dan sebagainya. Contoh :
      a. Perangkat Pengolah Teks
      Aplikasi yang banyak digunakan untuk pengolah teks misalnya : Microsoft word, word star for windows, word perfect dan start writer. Sedangkan aplikasi pengolah teks yang bersifat open sources seperti open office writer, KWiter dan Abi Word.
      b. Perangkat Lunak pengolah Animasi dan Grafik 2D
      Aplikasi Pengolah grafik 2D dibagi menjadi :
      - Grafik 2D Vektor misalnya corel draw, macromedia freehand, adobe illustrator, open draw dll
      - Grafik 2D Raster, misalnya : Adobe Photoshop, Jast Paint shop pro, Gimp dll.
      - Animasi, misalnya : Macromedia Flash, Adobe Image Ready dll.
      c. Perangkat Lunak pengolah Animasi dan Modelling Grafik 3D
      Contoh aplikasi animasi dan modeling 3D, misalnya : 3D studio maks, blender, maya, Softimage, Lighware dll.
      d. Perangkat Lunak Authoring Multimedia
      e. Perangkat Lunak Aplikasi Berbasis Web
      Contoh aplikasi berbasis web, misalnya : macromedia dream weaver, Microsoft front page, Joomla, Apache, macromedia flash, adobe photoshop dll.
      f. Aplikasi Pengolah Audio
      Aplikasi Pengolah audio, misalnya : Sound recorder, modplug tracker, audacity dll.
      g. Aplikasi Pengolah Video
      Contoh aplikasi ini, misalnya : windows movie maker, Pinaccle, Adobe Premiere, Ulead Video Studio dll
      h. Aplikasi dalam bidang Pengembangan Sumber Daya Manusia
      Multimedia merupakan media pelatihan yang baik dan menarik yang dikenal dengan istilah Computer Based Trainning (CBT). Misalnya perusahaan installshield membuat perangkat lunak multimedia yang dikhususkan untuk training. Contoh lainnya adalah perusahaan L’OREAL membuat program recruitment tenaga kerja.
      i. Aplikasi dalam Bidang Produksi
      Penggunakan aplikasi ini digunakan untuk merancang dan merekayasa suatu produk misalnya alat-alat elektronik dan mesin bahkan dapat pula digunakan untuk memonitor dan mengontrol proses produksi dan berkembang menuju manufaktur teritegrasi berbasis multimedia.
      j. Aplikasi Multimedia dalam bidang Pemerintahan
      Aplikasi yang paling menonjol do bidang pemerintahan adalah E-Government, Profil Departemen dan Kios Informasi tentang kota
      k. Aplikasi dalam Bidang Pendidikan
      Aplikasi multimedia pendidikan antara lain belajar on-line, Jardiknas dll
      l. Aplikasi dalam Bidang Travel
      Aplikasi berbasi web banyak digunakan sebagai penerapan layanan perjalanan yang di dalamnya termasuk layanan informasi biaya perjalanan, pemesanan on-line untuk lodging transportasi baik laut, darat maupun udara.
      m. Aplikasi dalam Bidang Hiburan
      Dalam bidang hiburan multimedia digunakan dalam pembuatan film, musik, radio interaktif, televise interaktif, game elektronik . dll.

      Algoritma Adaptive Huffman Coding

      Adaptive Huffman coding pertama kali diperkenalkan oleh Faller dan Gallager (Faller 1973; Gallaber 1978). Knuth memberikan kontribusi dengan peningkatan pada algoritmanya (Knuth 1985) dan menghasilkan algoritma yang dikenal dengan algoritma FGK. Versi terbaru dari adaptive Huffman Coding diperkenalkan oleh Vitter (Vitter 1987). Semua metode yang ditemukan merupakan skema define-word tabf menentukan mapping dari pesan sumber menjadi codeword didasari pada perkiraan probabilitas pesan sumber. Kode bersifat adaptive, berganti sesuai dengan perkiraan optimalnya pada saat itu. Dalam hal ini, Adaptive Huffman Code merespon lokalitas. Dalam pengertian, encoder mempelajari karakteristik dari sumber. Dekoder harus mempelajari bersamaan dengan encoder dengan selalu memperbaharui Huffman tree sehingga selalu sinkron dengan encoder.
      Keuntungan lain dari system ini adalah kebutuhan akan lewatnya data, data akan lewat hanya sekali (tanpa table statistic). Tentu saja, metode one-pass tidak akan menarik apabila jumlah bit yang ditransmisikan lebih besar dari metoda twopass. Namun, performa dari metode ini, dalam ruang lingkup jumlah bit yang ditransmisikan, dapat lebih baik daripada static Huffman coding. Permasalahan ini tidak kontradiktif dengan optimalisasi pada metode statis, karena metode ini optimal hanya [ada metode yang mengasumsikan mapping berdasarkan time-variant. Kinerja dari metode adaptive dapat lebih buruk daripada metode static. Metode adaptive Faller, Gallager dan Knuth merupakan dasar dari UNIX utility compact. Kinerja compact ini termasuk bagus, karen factor kompresinya mencapai 30-40%.
      Dasar dari algoritma FGK adalah adanya sibling (factor turunan) property, didefinisikan oleh Gallager [Gallager 1978]: binary code tree mempunyai sibling apabila setiap node )kecuali root) mempunyai sebuah sibling dan apabila node-node tersebut dapat diurutkan dalam weight dengan setiap node berhubungan dengan siblingnya masing-masing. Gallager membuktikan bahwa sebuah code prefik biner
      merupakan Huffman code jika dan hanya jika code tree mempunyai sibling property. Dalam algoritma FGK, baik pengirim dan penerima menangani perubahan dinamis dari Huffman code tree. Daun dari setiap pohon Huffman code merepresentasikan pesan sumber dan berat dari setiap daun merepresentasikan hitungan frekuensi untuk setiap pesan. Pada titik manapun dalam satuan waktu, k dari kemungkinan n pesan sumber terdapat pada susunan pesan.
      Gambar 3. Algoritma FGK

      Pada Gambar 3, Algoritma FGK mengolah susunan EXAMPLE (a) Pohon setelah memproses “aa bb“; 11 akan ditransmisikan untuk b selanjutnya. (b) Setelah b ketiga; 101 akan ditransmisikan untuk tempat selanjutnya; pohon tidak berubah; 100 akan ditransmisikan untuk c pertama. (c) Pohon setelah diperbaharui dengan c pertama.
      Pada awalnya, the code tree consists of a single leaf node, yang disebut 0- node. 0-node digunakan untuk menggambarkan pesan n-k yang tidak digunakan. Untuk setiap pesan yang ditransmisikan, kedua bagian harus menambahkan weight dan menghitung kembali code tree untuk mempertahankan simbling property. Pada titik dalam satuan waktu dimana t pesan telah ditransmisikan. Pada titik dimana t pesan telah ditransmisikan, k dari mereka berbeda, dan k < n, pohon merupakan Huffman tree asli dengan daun sebanyak k+1, 1 yaitu k pesan dan 0-node. Apabila pesan ke (t+1) adalah salah satu dari k, maka algoritma mentrasmisikan code ke a(t+1), menaikkan counter dan menghitung kembali pohon. Apabila terdapat pesan yang tidak digunakan, 0-node dipisah untuk membuat 2 pasang daun, satu untuk
      a(t+1), dan siblingnya adalah 0-node yang baru. Sekali lagi dalam proses ini, pohon diperhitungkan kembali. Dalam kasus ini, kode untuk 0-node dikirimkan; sebagai tambahan, penerima harus memberitahukan pesan n-k mana yang tidak digunakan yang muncul. Pada setiap node, penyimpanan perhitngan dari pesan yang muncul dilakukan. Node diberikan nomor untuk mengindikasikan posisi mereka dalam urutan sibling propertinya. Pembaharuan dari pohon dapat dilakukan dalam sebuah single traversal dari node a(t+1) sampai dengan root-nya. Traversal ini harus meningkatkan perhitungan untuk node a(t+1) dan untuk setiap bagian atas dari node tersebut. Node boleh berubah untuk memelihara sibling property-nya, namun perubahan membutuhkan keterlibatan node pada path a(t+1) ke root-nya.

      Run length Encoding

      Merupakan kompresi data teks yang dilakukan jika terdapat beberapa huruf yang sama ditampilkan secara berturut-turut. Terdapat dua tipe RLE yaitu RLE tipe 1 dan RLE tipe 2.
      Contoh :
      Data; ABCCCCCCCCDEFGGGG = 17 karakter
      Dengan RLE tipe 1 (min. 4 huruf sama) ditulis; ABC8!DEFG!4 = 11 karakter
      Dalam RLE tipe 1 ini terdapat suatu karakter yang tidak digunakan dalam teks seperti tanda ‘!’ yang digunakan untuk menandai. Teknik kompresi RLE tipe 1 ini memiliki kelemahan yaitu jika terdapat karakter angka, mana tanda mulai dan tanda akhir? Maka dalam RLE tipe 2 digunakanlah flag bilangan negatif untuk menandai batas sebanyak jumlah karakter tersebut.
      Contoh:
      Data; ABCCCCCCCCDEFGGGG = 17 Karakter
      Dengan RLE tipe 2; -2AB8CDEF4G = 12 Karakter
      Contoh:
      Data; AB12CCCCDEEEF = 13 Karakter
      Dengan RLE tipe 2; -4AB124CD3EF = 12 Karakter
      Teknik kompresi dengan RLE ini berguna untuk data yang banyak memiliki kesamaan, misal teks ataupun grafik seperti icon atau gambar garis-garis yang banyak memilki kesamaan pola.
      4. Shanon Fano Algoritma
      Pada prinsipnya algoritma ini menggunakan pendekatan top down dalam penyusunan binary tree. Metode ini sangat efisien untuk mengompresi file text yang berukuran besar.
      Langkah langkah kompresinya adalah :
      - Mengurutkan karakter berdasarkan probabilitasnya yang terbesar.
      - Membagi menjadi 2 berdasarkan selisih paling sedikit dari nilai dua kelompok karakter yang terurut tadi.
      - Secara rekursif dibagi menjadi 2 bagian, setiap bagian memiliki nilai yang sama atau dengan selisih paling sedikit.
      - Mengasign nilai 1 kekanan dan 0 ke kiri pada pohon biner.
      Contoh :
      Source = {A, B, C, D, E }
      Peluang={0.35, 0.17, 0.17, 0.16, 0.15}
      Membagi menjadi 2 kelompok besar:
      - kelompok 1 = A dengan total peluang 0.35 kelompok 2 = B, C, D, E dengan total peluang 0.65 selisih kel 1 dan 2 = 0.30
      - kelompok 1 = A, B dengan total peluang 0.52 kelompok 2 = C, D, E dengan total peluang 0.48 selisih kel 1 dan 2 = 0.04 –> paling sedikit
      - kelompok 1 = A , B, C dengan total peluang 0.69 kelompok 2 = D, E dengan total peluang 0.31 selisih kel 1 dan 2 = 0.38
      Jadi yang digunakan AB dan CDE, dengan tree awalnya yaitu :
      Kemudian dari 2 leaf yang terbentuk dilakukan proses pembagian lagi seperti diatas sampai tidak bisa dibagi lagi. Sehingga menghasilkan tree yang lengkap seperti berikut :

      Setelah Tree lengkap telah terbentuk maka dilakukan pembacaan dari root sampai ke karakter pada leaf. Dari pembacaan dihasilkan codeword sebagai berikut :
      • A = 00 –> 2 bit
      • B = 01
      • C = 10
      • D = 110 –>3bit
      • E = 111
      Dari code word diatas diperoleh panjang rata-ratanya :
      Lavg = 0.35*2 + 0.17*2 + 0.17*2 + 0.16*3 + 0.15 * 3 = 2,31 bit/char
      Nilai entropinya yaitu :
      H( S ) = H( P1, P2, P3, P4, P5)
      =-P1 log P1 -P2 log P2 – P3 log P3 – P4 log P4 – P5 log P5 –> log basis 2
      = 2,23 bit/char
      Jadi Efisiensinya = H(s)/Lavg = 2,232/2,31=96,67%
      Jadi dengan metode ini akan terasa sangat efektif jika banyak terjadi perulangan karakter pada text.

      Lemvel Ziv Coding

      Algoritma LZW dikembangkan dari metode kompresi yang dibuat oleh Ziv dan Lempel pada tahun 1977. Algoritma ini melakukan kompresi dengan menggunakan dictionary, di mana fragmen-fragmen teks digantikan dengan indeks yang diperoleh dari sebuah “kamus”. Prinsip sejenis juga digunakan dalam kode Braille, di mana kode-kode khusus digunakan untuk merepresentasikan kata-kata yang ada. Pendekatan 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. Algoritmanya sebagai berikut:
      1. Dictionary diinisialisasi dengan semua karakter dasar yang ada :
      2. P = karakter pertama dalam stream karakter.
      3. C = karakter berikutnya dalam stream karakter.
      4. Apakah string (P + C) terdapat dalam dictionary ?
      Jika ya, maka P = P + C (gabungkan P dan C menjadi string baru).
      Jika tidak, maka :

      - Output sebuah kode untuk menggantikan string P.
      - Tambahkan string (P + C) ke dalam dictionary dan berikan nomor/kode berikutnya yang belum digunakan dalam dictionary untuk string tersebut.
      - P = C.
      5. Apakah masih ada karakter berikutnya dalam stream karakter ?
      Jika ya, maka kembali ke langkah 2.
      Jika tidak, maka output kode yang menggantikan string P, lalu terminasi proses (stop).

      Proses dekompresi pada LZW dilakukan dengan prinsip yang sama seperti proses kompresi. Pada awalnya, dictionary diinisialisasi dengan semua karakter dasar yang ada. Lalu pada setiap langkah, kode dibaca satu per satu dari stream kode, dikeluarkan string dari dictionary yang berkorespondensi dengan kode tersebut, dan ditambahkan string baru ke
      dalam dictionary. Metode LZW yang diterapkan dalam penelitian ini bertipe dinamik, dimana hanya dilakukan satu kali pembacaan (one-pass) terhadap file yang akan dikompresi. Pengkodean data dilakukan secara on the fly, bersamaan dengan proses penambahan string baru ke dalam dictionary. Algoritma dekompresinya sebagai berikut:
      1. Dictionary diinisialisasi dengan semua karakter dasar yang ada :
      2. CW = kode pertama dari stream kode (menunjuk ke salah satu karakter dasar).
      3. Lihat dictionary dan output string dari kode tersebut (string.CW) ke stream karakter.
      4. PW = CW; CW = kode berikutnya dari stream kode.
      5. Apakah string.CW terdapat dalam dictionary ?
      Jika ada, maka :
      - output string.CW ke stream karakter
      - P= string.PW
      - C = karakter pertama dari string.CW
      - tambahkan string (P+C) ke dalam dictionary
      Jika tidak, maka :
      - P =string.PW
      - C = karakter pertama dari string.PW
      - output string (P+C) ke stream karakter dan tambahkan string tersebut ke dalam dictionary (sekarang berkorespondensi dengan CW);
      6. Apakah terdapat kode lagi di stream kode ?
      Jika ya, maka kembali ke langkah 4.
      Jika tidak, maka terminasi proses (stop).

      Huffman Coding

      Pada tahun 1951, David A. Huffman dalam kelas Informasi Teori di MIT diberikan pilihan untuk
      membuat sebuah term paper atau mengikuti ujian akhir. Pada saat itu pilihan term paper yang diberikan
      profesor Robert M. Fano adalah tentang menemukan kode biner yang paling efisien. Tidak dapat membuktikan kode apapun yang paling efisien, Huffman hampir menyerah dan mulai belajar untuk
      mengikuti ujian akhir saja, ketika ia menemukan ide untuk menggunakan pohon biner dengan pengurutan berdasarkan kekerapan dan berhasil membuktikan bahwa cara ini adalah yang paling efisien.
      Apa yang dilakukan Huffman melampaui profesornya sendiri, yang bekerja sama dengan pencipta bidang teori informasi Claude Shannon mengembangkan kode yang mirip. Huffman menghindari kesalahan besar dari kode Shannon-Fano yang kurang optimal dengan membangun pohon binernya dari bawah ke atas dan bukan dari atas ke. Makalah berjudul “A Method for the Construction of Minimum Redundancy Codes” tersebut lalu dipublikasikan oleh Huffman pada tahun 1952 dalam sebuah jurnal profesional untuk Institute of Radio Engineers.
      CONTOH :
      Terdapat sumber lima lambang dengan kemungkinan 0.3, 0.2, 0.2, 0.2, 0.1.
      Entropy dari sumber ini adalah H = −[0.3 log 0.3 + (3 × 0.2) log 0.2 + 0.1 log 0.1] = 2.246.
      Terdapat dua phase dalam menyusun kode huffman yaitu :
      a). reduction phase
      merupakan phase pengurangan, dimana bila terdapat beberapa simbol kemudian 2 simbol yang memiliki probabilitas paling kecil digabungkan menjadi satu simbol dengan probabilitas sama dengan jumlah probabilitas dari kedua simbol tersebut. Simbol hasil reduksi kemudian diperlakukan seperti simbol yang lain dan dilakukan reduksi lagi hingga mendapatkan 2 buah simbol dengan probabilitas yang tinggi.
      Contoh
      Terdapat beberapa simbol dengan peluang :
      S1 = 0.3, S2 = 0.2, S3 = 0.2, S4 = 0.2, S5 = 0.1
      Jika dilakukan reduction phase maka :
      S1 = 0.3, S2 = 0.3, S3 = 0.2, S4 = 0.2
      Kemudian
      S1 = 0.4, S2 = 0.3, S3 = 0.3
      Dan
      S1 = 0.6, S2 = 0.4
      Gambar diagramnya seperti berikut ini :
      b). splitting phase
      Merupakan phase pembalikan dari reductions phase. Dua simbol dengan probabilitas tinggi hasil reductions phase direpresentasikan kedalam satu komponen dengan code 1 dan O. Kemudian ambil mundur simbol sebelumnya dan representasikan kedalam dua komponen dengan code 00, 01, 10 dan 11. Begitu seterusnya hingga semua simbol sebelum direduksi telah direpesentasikan kedalam code.
      Contoh
      Hasil splitting phase dari simbol simbol diatas :
      0.6 = 0, 0.4 = 1
      Kemudian
      0.4 = 1, 0.3 = 00, 0.3 = 01
      Kemudian
      0.3 = 00, 0.3 = 01, 0.2 = 10, 0.2 = 11
      Dan
      0.3 = 00, 0.2 = 10, 0.2 = 11, 0.2 = 0.10, 0.1 = 011
      Gambar diagramnya seperti berikut ini :

      Dengan panjang rata rata nya (L)
      L = (2 × 0.3) + (2 × 0.2) + (2 × 0.2) + (3 × 0.2) + (3 ×0 .1) = 2.3
      Representasi dari Huffman Code tree contoh diatas adalah :

      Subscribe To RSS

      Sign up to receive latest news