Jumat, 20 April 2012

Algoritma Kompresi

Definisi Kompresi
>> Kompresi data dalam ilmu komputer adalah sebuah cara untuk memadatakan data sehingga hanya memerlukan ruangan penyimpanan lebih kecil sehingga lebih efisien dalam menyimpannya atau mempersingkat waktu pertukaran data tersebut.
Kompresi data bertujuan untuk mengurangi ukuran data tanpa merusak tujuan dari data tersebut. Kompresi data menggunakan sedikit disk space. Kompresi data percepat akses, kompresi data dapat membuat lebih efisien.
>> Kompresi Data adalah salah satu subyek di bidang teknologi informasi yang saat ini telah diterapkan secara luas. Gambar-gambar yang anda dapatkan di berbagai situs internet pada umumnya merupakan hasil kompresi ke dalam format GIF atau JPEG. File video MPEG adalah hasil proses kompresi pula. Penyimpanan data berukuran besar pada server pun sering dilakukan melalui kompresi.

Ada beberapa format file yang digunakan untuk membuat file archive. Misalnya Unix Archiver (.a, .ar), Tape Archiver (.tar), LBR (.lbr). Unix Archiver digunakan pada platform Unix-like, merupakan format archive tradisional yang sekarang hanya digunakan untuk membuat static libraries. Tape Archiver, juga digunakan pada platform Unix-like, yang merupakan format archive yang umum digunakan. Sedangkan LBR digunakan pada platform MS-DOS.
Format file compression:

Untuk mengkompres data, ada beberapa format file yang digunakan seperti bzip2 (.bz2), gzip (.gz), lzma (.lzma), lzo (.lzo), pack (.z), compress (.Z). Perbedaan masing-masing format kompresi ini adalah algoritma yang digunakan. Seperti bzip2 yang menggunakan Burrows-Wheeler transform diikuti dengan move-to-front transform dan terakhir Huffman coding. Format gzip yang menggunakan algoritma DEFLATE untuk kompresi data, lzma menggunakan algoritma 7-zip, lzo menggunakan algoritma LZO. Beberapa dari format kompresi data ini digunakan bersama-sama ketika meng-archive file. Seperti Tape Archiver (.tar) yang digunakan bersama bzip2 (ekstensi file menjadi .tar.bz2), gzip (ekstensi file menjadi .tar.gz) atau compress (ekstensi file menjadi .tar.Z).
File archive + compression

Sekarang ini sudah banyak format file yang menawarkan archive+compression. Seperti ARC (.arc), ARJ (.arj), Cabinet (.cab), ZIP (.zip), Jar (.jar), Tar dengan GZip, BZip2, Compress, LZMA (.tar.gz, .tgz, .tar.bz2, .tar.Z, .tar.lz, .tlz). Jenis-jenis format ini “boleh” di-restore dengan software gratisan (tanpa perlu lisensi dari si pembuat format file tersebut). Sedangkan format file seperti WinACE (.ace), RAR (.rar), StuffIt (.sit, .sitx) hanya “boleh” di-restore oleh software tertentu (software yang telah mendapat lisensi untuk me-restore/ekstrak file dari si pembuat format file tersebut).
File-file yang telah di-archive+compress biasanya sering dijumpai di Internet. Karena, untuk pertukaran data yang cepat, diperlukan sebuah metode untuk mengirimkan data dalam jumlah yang sedikit dan dengan ukuran yang kecil.

Teknik Kompresi Data

1. Losseles Compression, Teknik kompresi yang tidak mengurangi ukuran aslinya. Losseles artinya tidak ada data yang hilang, menggunakan algortima tertentu untuk mengompres data (compress) dan mengembalikan ke ukuran semula (decompress), dipakai untuk mengompres data dan program.
2. Lossy Compression, Teknik kompresi yang mengurangi ukuran aslinya. Lossy artinya ada data yang hilang, bertujuan untuk mengefisienkan data,biasanya dipakai untuk mengompres data multimedia.

Kompresi data sangat populer sekarang ini karena dua alasan yaitu (Salomon, 2007) : 
-Orang – orang lebih suka mengumpulkan data. Tidak peduli seberapa besar media penyimpanan yang dimilikinya. Akan tetapi cepat atau lambat akan terjadi overflow.
- Orang – orang benci menunggu waktu yang lama untuk memindahkan data. Misalnya ketika duduk di depan komputer untuk menunggu halaman Web terbuka atau men-download sebuah file.

Defenisi Algoritma :

1. Algoritma adalah urutan langkah – langkah berhingga untuk memecahkan masalah logika atau matematika
2. Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan
3. Algoritma adalah urutan langkah – langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.

Algoritma Huffman
Algoritma Huffman ditemukan oleh David Huffman pada tahun 1952. Algoritma ini menggunakan pengkodean yang mirip dengan kode Morse. Berdasarkan tipe kode yang digunakan algoritma Huffman termasuk metode statistic. Sedangkan berdasarkan teknik pengkodeannya menggunakan metode symbolwise. Algoritma Huffman merupakan salah satu algoritma yang digunakan untuk mengompres teks. Algoritma Huffman secara lengkap : 

1. Pilih dua simbol dengan peluang (probability) paling kecil (pada contoh di atas simbol B dan D). Kedua simbol tadi dikombinasikan sebagai simpul orangtua dari simbol B dan D sehingga menjadi simbol BD dengan peluang 1/7 + 1/7 = 2/7, yaitu jumlah peluang kedua anaknya. 

2. Selanjutnya, pilih dua simbol berikutnya, termasuk simbol baru, yang mempunyai peluang terkecil. 

3. Ulangi langkah 1 dan 2 sampai seluruh simbol habis. Sebagai contoh, dalam kode ASCII string 7 huruf “ABACCDA” membutuhkan representasi 7 × 8 bit = 56 bit (7 byte), dengan rincian sebagai berikut:

Untuk mengurangi jumlah bit yang dibutuhkan, panjang kode untuk tiap karakter dapat dipersingkat, terutama untuk karakter yang frekuensi kemunculannya besar. Pada string di atas, frekuensi kemunculan A = 3, B = 1, C = 2, dan D = 1, sehingga dengan menggunakan algoritma di atas diperoleh kode Huffman seperti pada Tabel 1.

Dengan menggunakan kode Huffman ini, string “ABACCDA” direpresentasikan menjadi rangkaian bit : 0 110 0 10 10 111 0. Jadi, jumlah bit yang dibutuhkan hanya 13 bit dari yang seharusnya dibutuhkan 56 bit. Untuk menguraikan kembali data yang sudah dikodekan sebelumnya dengan algoritma Huffman, dapat digunakan cara sebagai berikut : 
1. Baca bit pertama dari string biner masukan 
2. Lakukan traversal pada pohon Huffman mulai dari akar sesuai dengan bit yang dibaca. Jika bit yang dibaca adalah 0 maka baca anak kiri, tetapi jika bit yang dibaca adalah 1 maka baca anak kanan. 3. Jika anak dari pohon bukan daun (simpul tanpa anak) maka baca bit berikutnya dari string biner masukan. 
4. Hal ini diulang (traversal) hingga ditemukan daun. 
5. Pada daun tersebut simbol ditemukan dan proses penguraian kode selesai. 
6. Proses penguraian kode ini dilakukan hingga keseluruhan string biner masukan diproses.

Algoritma LZW (Lempel-Ziv-Welch)
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.

Algoritma kompresi LZW secara lengkap :

KAMUS diinisialisasi dengan semua karakter dasar yang ada : {‘A’..’Z’,’a’..’z’,’0’..’9’}.
W = karakter pertama dalam stream karakter.
K = karakter berikutnya dalam stream karakter.

Lakukan pengecekan apakah (W+K) terdapat dalam KAMUS 
· Jika ya, maka W = W + K (gabungkan W dan K menjadi string baru). 
· Jika tidak, maka : 
· Output sebuah kode untuk menggantikan string W. 
· Tambahkan string (W+ K) ke dalam dictionary dan berikan nomor/kode berikutnya yang belum digunakan dalam dictionary untuk string tersebut. 
· W = K. 
· Lakukan pengecekan apakah masih ada karakter berikutnya dalam stream karakter 
· Jika ya, maka kembali ke langkah 2. 
· Jika tidak, maka output kode yang menggantikan string W, lalu terminasi proses (stop). 
Sebagai contoh, string “ABBABABAC” akan dikompresi dengan LZW. Isi dictionarypada awal proses diset dengan 3 karakter dasar yang ada: “A”, “B”, dan “C”. Tahapan proses kompresi ditunjukkan pada Tabel 2.
Proses dekompresi data pada algoritma LZW tidak jauh berbeda dengan proses kompresinya. Pada dekompresi LZW, juga dibuat tabel dictionary dari data input kompresi, sehingga tidak diperlukan penyertaan tabel dictionary ke dalam data kompresi. Berikut algoritma dekompresi LZW : 
1. Dictionary diinisialisasi dengan semua karakter dasar yang ada : {‘A’..’Z’,’a’..’z’,’0’..’9’}. 
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 
    * 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).

Minggu, 08 April 2012

Pengaruh Multimedia Terhadap Kebiasaan Masyarakat

Kehadiran globalisasi membawa pengaruh bagi kehidupan suatu bangsa. Pengaruh globalisasi dirasakan di berbagai bidang kehidupan. Secara umum globalisasi dapat dikatakan suatu proses tatanan masyarakat yang mendunia dan tidak mengenal batas wilayah. Sebagai sebuah proses, globalisasi berlangsung melalui dua dimensi, dalam interaksi antar bangsa, yaitu dimensi ruang dan dimensi waktu. Dimensi ruang yang dapat diartikan jarak semakin dekat atau dipersempit sedangkan waktu makin dipersingkat dalam interaksi dan komunikasi pada skala dunia. Hal ini tentunya tidak terlepas dari dukungan pesatnya laju perkembangan teknologi yang semakin canggih khususnyateknologi informasi dan komunikasi (TIK) serta multimeia. Teknologi informasi komunikasi (TIK) dan multimedia adalah pendukung utama bagi terselenggaranya globalisasi. Dengan dukungan teknologi  dalam bentuk apapun dan untuk berbagai kepentingan, dapat disebarluaskan dengan mudah sehingga dapat dengan cepat mempengaruhi cara pandang dan gaya hidup hingga budaya suatu bangsa. Kecepatan arus informasi yang dengan cepat membanjiri kita seolah-olah tidak memberikan kesempatan kepada kita untuk menyerapnya dengan filter mental dan sikap kritis. Makin canggih dukungan teknologi tersebut, makin besar pula arus informasi dapat dialirkan dengan jangkauan dan dampak global.
Sebagai contoh pengaruh pengaruh teknologi multimedia yang sudah merubah budaya dan kebiasaan masyarakat saat ini. dalam hal belanja dahulunya banyak sekali “ibu ibu” yang mengerumuni dan berebut baju di bak-bak atau counter barang barang diskon sekarang sudah berubah menjadi budaya berbelanja online dengan beradu cepat meng-klik barang di website tanpa harus bersusah payah datang ketoko pakaian. Adalagi, dulu kalau kita mau membaca al-quran kita harus membuka kitab al-quran yang lumayan tebal dan lumayan lebar hingga membawanya saja sudah berat, sekarang dengan teknologi multimedia dan teknologi informasi kita dapat mendownload aplikasi al-quran digital melalui internet dan disesuikan dengan spesifikasi dan operation system yang ada di smartphone kita atau tablet yang kita miliki, selain itu perubahan juga tampak jelas di bidang edukasi, seperti e-lerning yang dilakukan melalui telekonfrens dari jarak jauh dan dilakukan bukan hanya satu arah tapi pemateri yang ada di suatu tempat dapat memberikan materi kuliah online ke semua orang yang sudah terhubung dengan pemateri via internet atau yang lebih dikenal dengan VOIP.
Perkembangan teknologi informasi dan multimedia saat ini sudah merambah sampai munculnya beberapa perusahaan yang menawarkan TV kabel / satelit dengan harga murah dan dengan kualitas gambar dan suara digital, kalau dahulu kita nonton TV masih menggunakan teknologi sinyal analog sekarang sudah mulai berkembang TV analog dengan pemancar sinyal digita dengan kulitas yang lebih bagus daripada analog, dan mungkin setelah beberapa tahun kedepan TV kabel / satelit yang sedang booming saat ini sasibnya akan sama seperti wartel yang sudah mulai termakan zaman oleh adanya perkembangan moblie phone dan internet. Kalau dulu mau menikmati film di bioskop tapi kantong masih kantong ala mahasiswa merantau ya harus puasa dan tahan Cuma makan nasi sama sambel aja buat nge-bela-belain nonton di 21 baring si-dia, sekarang di zaman multimedia nggak perlu melakukan hal tersebut, cukup bermodalkan laptop, koneksi internet yg cukup cepat dan tinggal download di internet secara gratis, terus kalau mau nonton sama si-dia berudaan diar kayak di bioskop, ya pinjem aja LCD proyektor punya kampus sama penjaga kampus atau kasubag perlengkapan, tinggal kasih aja rokok sebungkus udah dah.
Selain dibidang komunikasi dan hiburan teknologi komunikas dan multimedia telah merambat sampai ke bidang ekonomi, seperti, kalau dulu untuk mentransfer uang kita harus datang ke teller yang ada di bank terdekat dan melakukan transaksi sekarang kita sudah bisa melakukan transaksi di semua atm yang ada di indonesia bahkan sekarang kitapun dapat melakukan transaksi perbankan di daerah terpencil yang tidak ada bank dan ATM melalui e-banking atau sms bank-ing. Hanya dengan bermodalkan koneksi internet dan sinyal yang ditangkap oleh provider telpon seluler kita dapat melakukan transaksi diamanpun kapan pun tanpa terbataskan oleh ruang dan waktu.
Selain perubahan diatas perubahan juga sangat berubah dalam bidang pergaulan dikalangan anak muda. Kalau dulu kalau lagi naksir sama seseorang Sok2 pinjem buku, pinjem catatan. Balikinnya pake disampulin, ditempelin puisi cinta atau teks lagu Kangen-nya Dewa 19 yg lagi ngetop. Berharap target baca dan tau isi hati kita kalo kita suka dia, kalau sekarang Semua status di FB bakal di-like dan di-comment dengan sangat manis, tweet si-dia bakalan di RT tanda setuju dengan pendapat dan tweet dia tadi meskipun status atau tweet yang bersangkutan sangat-sangat ga mutu dan sangat-sangat ga penting. Kalau dulu Tanya nomer telpon si-dia ke teman satu geng si target. Kalo sudah dapet, telpon-telponan pura-pura tanya PR atau mau pinjam catatan. Itu juga telponnya sembunyi-sembunyi kalo rumah lagi pada kosong, malu ketauan orang rumah kalo kita lagi sukaan sama seseorang. Telpon juga ga bisa lama-lama karena telpon bayarnya mahal. Lewat 10 menit pasti ortu mondar-mandir di tempat kita telp. Kalo mau telp di telp umum, pura-pura nukerin duit dulu di penjaga game dingdong. Tuker duit seribu, yg buat maen cuma 1 keping 100 perak biar ga curiga kalo tuker duitnya cuma buat telp di telp umum sebrang jalan. Tapi sekarang setelah perkembangan teknologi, Kalo sudah dapat nomer handphone si-dia, sms aja dulu. Diawali dengan topik yang tidak bermutu seperti, "Lagi ngapain?". Kalo gayung bersambut, SMS bakal berlanjut ke telpon telponan. Apalagi sekarang tarif seluler makin murah, terutama kalo pake provider yg sama.
Sama halnya kalau dulu kita mau kirim kirim surat dengan sahabat pena kita, kita mesti Ke Gramedia langsung ke bagian Fancy, pilih – pilih set amplop dan kertas surat yg wangi warnanya pun merah hati dan bergambar Hello Kitty. Tidak lupa membeli Pulpen Boxy agar tulisan rapi dan mudah dibaca oleh tambatan hati. Meski sering telat, tp kehadiran surat selalu dinanti. Untung Pak Pos sadar diri bahwa bukan dirinya yg dinanti, tetapi sepucuk surat dari masing2 kekasih hati. Itu dulu!!! Kalau sekarang Email aja. Ketik dulu yang rapi di Microsoft Word, upload foto-foto di jejaring sosial, kabarin si-dia via sms/bbm/mention kalo email udah dikirim, dan akibatnya banyak sekali pak post yang menggur karena kalah bersaing dengan teknologi yang lebih simple, mudah, dan cepat. Seharusnya PT. POS mengubah produknya jasanya dari pengantar pesan (surat) menjadi penyedia layanan e-mail agar tidak hilang diamkan oleh zaman. Dan yang lebih ekstrime lagi kalau kita mau masuk WC, jujur saya disini hanya menyampaikan fakta. Kalau dulu kalau mau masuk WC pasti berdoa dulu dan Masuk WC kaki kiri dulu, keluar WC kaki kanan dulu, dan sekarang yg lebih heranya kalau mau masuk WC Update dulu di foursquare baru masuk. Jangan sampe posisi mayor of WC kampus dan kost-kostan tergeser sama mahaiswa dan penghuni kost yang lain.