teringat kata-kata pamungkas yang ditangkis oleh ayahanda
#pamungkas1
anak : "pa,kemaren ad yang nawarin maen ke rumahnya"
ayah : "orang mana?"
anak : "suatu tempat di Indonesia"
ayah : "yah,,asal siap aj.boleh" aja. setidaknya ud kerja,jadi aslab misalnya.."
anak : "........(kog mudah amat yaaa,LANGSUNG JIPER!)"
beberapa bulan berikutnya
#pamungkas 2
anak : "pa,kira" kalo daftar sekarang kapan berangkatnya?
ayah : "yah,,,tergantung...klo daftar aja tanpa pelunasan yaaa,,bisa kapan-kapan"
anak : "......."
anak : "minimum dapat kursi berapa yg mesti di setor?"
ayah : "25 juta,duit semua yaaaa"
anak : "ooooo,mikir(klo ditumpuk kira" berapa senti tingginya yaaa)"
sambil ngeliat tayangan wukuf..
anak : "pa,kayaknya keren banget yaa paa,,klo nikah maharnya haji.."#mulai memancing
ayah : "yaaaa....nda bisa"
anak : :HAH????lho mngnya kenapa?"~~~(bersungut tidak jelas,secara berhaji dengan lelaki ke3 di dalam hidup ada di list harapan :D)
ayah : "yaaaa,,haji kan wajib.klo memang hadiah silahkan,,mahar tetep mesti ada barangnya nak"
anak : "nahhhhh,,maksud saya juga begitu paaa,,hadiah nya haji gituuuu..."
ayah : "ONH +?
anak : "yaaa,,pengennya reguler aja,jadi lebih merasakan nikmatnya ibadah haji dan kelebihannya uangnya bisa untuk kebtuhan dan berbagi :D"
ayah : "yaaa,berarti daftar dari sekarang,25 juta"
anak : "lha,uangnya dari mana??"
ayah : "yaa,,minta dengan Alloh lewat suamimu bisa kali nak"
anak : "lha,,,kan belum nikah pa??"
ayah : "yaaa,nikah dulu berarti."
anak: "........(mikir)"
*bisa dibayangkan ga akhir cerita di atas????
bener" men-CTAARRRRR :|
Kamis, 25 Oktober 2012
Sabtu, 28 April 2012
Perbandingan Algoritma Kompresi Huffman , LZW dan DMC
Ika Puji Astuti (2009 31 205)
STT PLN Jakarta 2012
Perbandingan Algoritma Kompresi Huffman , LZW dan DMC
1. PENDAHULUAN
Kompresi ialah proses pengubahan sekumpulan data menjadi
suatu bentuk kode untuk menghemat kebutuhan tempat penyimpanan dan waktu untuk
transmisi data.
Saat ini terdapat berbagai tipe algoritma kompresi ,antara lain: Huffman, LIFO, LZHUF, LZ77 dan variannya (LZ78, LZW, GZIP), Dynamic Markov Compression (DMC), Block-Sorting Lossless, Run- Length,
ShannonFano, Arithmetic, PPM (Prediction by Partial Matching), Burrows-Wheeler
Block Sorting, dan Half Byte.
Berdasarkan tipe peta kode yang digunakan untuk mengubah
pesan awal (isi file input) menjadi sekumpulan codeword, metode kompresi
terbagi menjadi dua kelompok, yaitu :
(a) Metode statik :
Menggunakan peta kode yang selalu sama. Metode ini
membutuhkan dua fase (two-pass): Fase pertama
untuk menghitung probabilitas kemunculan
tiap simbol/karakter dan menentukan peta kodenya, dan fase kedua untuk mengubah
pesan menjadi kumpulan kode yang akan ditransmisikan.
Contoh: algoritma Huffman statik.
(b) Metode dinamik (adaptif) :
Menggunakan peta kode yang dapat berubah dari waktu
ke waktu. Metode ini disebut adaptif karena peta kode mampu beradaptasi
terhadap perubahan karakteristik isi file selama proses kompresi berlangsung.
Metode ini bersifat onepass, karena hanya
diperlukan satu kali pembacaan terhadap isi file. Contoh: algoritma LZW dan DMC
2. METODE
2.1 Algoritma – algoritma dalam Kompresi Data
Dalam
pengkompresian data, ada bermacam – macam algoritma yang dapat digunakan. Kali
ini, akan dijelaskan tentang algoritma
Huffman, LZW, dan DMC.
2.1.1 Algoritma
Huffman
Algoritma
Huffman ditemukan oleh David Huffman pada tahun 1952. Algoritma ini menggunakan
pengkodean yang mirip dengan kode Morse. Berdasarkan tipe kodeyang 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 BDdengan 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:
01000001 01000010 01000001 01000011 01000011
A B A C C
01000100 01000001
D A
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.
Gambar 1. Pohon Huffman untuk “ABACCDA”
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 asukan.
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.
2.1.2 Algoritma LZW (Lempel-Ziv-Welch)
Algoritma LZW dikembangkan oleh Terry A.Welch dari
metode kompresi sebelumnya yang ditemukan oleh Abraham Lempel dan Jacob Ziv
pada tahun 1977. Algortima ini menggunakan teknik dictionary dalam kompresinya.
Dimana string karakter digantikan oleh kode table yang dibuat setiap ada string
yang masuk. Tabel dibuat untuk referensi masukan string selanjutnya. Ukuran tabel
dictionary pada algoritma LZW asli adalah 4096 sampel atau 12 bit, dimana 256
sampel pertama digunakan untuk table karakter single (Extended ASCII), dan
sisanya digunakan untuk pasangan karakter atau string dalam data
input.
Algoritma
LZW melakukan kompresi
dengan mengunakan kode table 256 hingga 4095 untuk mengkodekan pasangan
byte atau string. Dengan metode ini banyak string yang dapat dikodekan dengan
mengacu pada string yang telah muncul sebelumnya dalam teks. Algoritma kompresi
LZW secara lengkap :
1. KAMUS diinisialisasi dengan semua karakter dasar
yang ada : {‘A’..’Z’,’a’..’z’,’0’..’9’}.
2. W karakter pertama dalam stream karakter.
3. K karakter berikutnya dalam stream karakter.
4. 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).
Gambar 2. Flowchart Algoritma LZW (Gambar diatas)
Sebagai
contoh, string “ABBABABAC”
akan dikompresi dengan LZW. Isi dictionary pada diset dengan tiga
karakter dasar yang ada: “A”, “B”, dan “C”. Tahapan proses kompresi ditunjukkan
pada Tabel 2
Kolom posisi
menyatakan posisi sekarang dari stream karakter dan kolom karakter
menyatakan karakter yang terdapat pada posisi tersebut. Kolom dictionary
menyatakan string baru yang sudah ditambahkan ke dalam dictionary dan nomor
indeks untuk string tersebut ditulis pakah masih ada karakter dalam kurung
siku. Kolom output output yang
dihasilkan oleh langkah proses kompresi ditunjukkan pada Gambar 2
Gambar 3. Hasil Proses Kompresi
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 salah satu karakter dasar).
3. Lihat dictionary dan output string (string.CW)
ke stream karakter.
4. PW CW; CW kode berikutnya dari
5. Apakah string.CW terdapat dalam
Jika ada, maka :
Output string.CW ke stream
P string.PW
C karakter pertama dari CW
Tambahkan string (P+C) ke dalam
Jika tidak, maka :
P string.PW
C karakter pertama dari PW
Output string (P+C) ke stream tambahkan string
tersebut ke dalam (sekarang berkorespondensi dengan CW)
6. Apakah terdapat kode lagi di stream Jika ya,
maka kembali ke langkah 4.
Jika tidak, maka terminasi proses (stop)
2.1.3 Algoritma DMC
Algoritma
DMC (Dynamic Markov Compression) adalah algoritma kompresi data lossless
dikembangkan oleh Gordon Cormack dan Nigel Horspool. Algoritma ini menggunakan
pengkodean aritme prediksi oleh pencocokan sebagian (PPM), kecuali bahwa input
diperkirakan satu bit pada satu waktu (bukan dari satu byte pada suatu waktu).
DMC memiliki rasio kompresi yang baik dan kecepatan moderat, mirip dengan PPM,
tapi memerlukan sedikit lebih banyak memori dan tidak diterapkan secara luas.
Beberapa implementasi baru baru ini mencakup program kompresi eksperimental pengait
oleh Nania Francesco Antonio, ocamyd oleh Frank Schwellinger, dan sebagai
submodel di paq8l oleh Matt Mahoney. Ini didasarkan pada pelaksanaan tahun 1993
di C oleh Gordon Cormack.
Pada DMC, simbol alfabet input diproses per bit,
bukan per byte. Setiap output transisi menandakan berapa banyak simbol tersebut
muncul. Penghitungan tersebut dipakai untuk memperkirakan probabilitas dari
transisi.Contoh: pada Gambar 3, transisi yang keluar dari state 1 diberi label
0/5, artinya bit 0 di state 1 terjadi sebanyak 5 kali.
Secara umum, transisi ditandai dengan 0/p atau 1/q dimana p
dan q menunjukkan jumlah transisi dari state dengan input 0 atau 1. Nilai
probabilitas bahwa input selanjutnya bernilai 0 adalah p/(p+q) dan input
selanjutnya bernilai 1 adalah q/(p+q).
Lalu bila bit sesudahnya ternyata bernilai 0, jumlah bit 0 di transisi sekarang
ditambah satu menjadi p+1. Begitu pula
bila bit sesudahnya ternyata bernilai 1, jumlah bit 1 di transisi sekarang
ditambah satu menjadi q+1. Algoritma kompresi DMC :
1. s 1 ( jumlah state sekarang)
2. t 1 (state sekarang)
3. T[1][0] = T[1][1] 1 (model inisialisasi)
4. C[1][0] = C[1][1] 1 (inisialisasi untuk
menghindari masalah frekuensi nol)
5. Untuk setiap input bit e :
u t
t T[u][e] (ikuti transisi)
Kodekan e dengan probabilitas : C[u][e] / (C[u][0]
+ C[u][1])
C[u][e] C[u][e]+1
Jika ambang batas cloning tercapai, maka :
s s + 1 (state baru t’)
T[u][e]
s ; T[s][0] T[t][0] ; T[s][1]
T[t][1]
Pindahkan beberapa dari C[t] ke C[s]
Masalah tidak terdapatnya kemunculan suatu bit pada
state dapat diatasi dengan
menginisialisasi model awal state dengan
satu. Probabilitas dihitung menggunakan frekuensi relatif dari dua transisi
yang keluar dari state yang baru.
Jika frekuensi transisi dari suatu state t
ke state sebelumnya, yaitu state u, sangat tinggi, maka state t dapat
di-cloning. Ambang batas nilai cloning
harus disetujui oleh encoder dan decoder. State yang di-cloning diberi
simbol t’ (lihat Gambar 4 dan 5).
Aturan cloning adalah sebagai berikut :
Semua transisi dari state u dikirim ke state t’.
Semua transisi dari state lain ke state t tidak berubah.
Jumlah transisi yang keluar dari t’ harus mempunyai rasio yang sama (antara 0
dan 1) dengan jumlah transisi yang keluar dari t.
Jumlah transisi yang keluar dari t dan t’ diatur
supaya mempunyai nilai yang sama dengan jumlah transisi yang masuk [2].
2.2
Perbandingan Kinerja Algoritma Huffman dengan Algoritma LZW dan DMC
Jika kinerja algoritma Huffman dibandingkan dengan Algoritma
LZW dan DMC, maka akan diperoleh asil
seperti dibawah ini :
Dari grafik di atas, dapat kita lihat bahwa secara
ratarata algoritma DMC menghasilkan rasio file hasil kompresi yang terbaik
(41.5% ± 25.9), diikuti algoritma LZW (60.2% ± 28.9) dan terakhir algoritma
Huffman (71.4% ± 15.4).
Dan dari grafik di atas juga, dapat kita lihat
bahwa secara rata-rata algoritma LZW membutuhkan waktu kompresi yang tersingkat
(kecepatan kompresinya = 1139 KByte/sec ± 192,5), diikuti oleh algoritma
Huffman (555,8 KByte/sec ± 55,8), dan terakhir DMC (218,1 KByte/sec ± 69,4).
DMC mengorbankan kecepatan kompresi untuk mendapatkan rasio hasil kompresi yang
baik. File yang berukuran sangat besar membutuhkan waktu yang sangat lama bila
dikompresi dengan DMC.
3. KESIMPULAN
Dari makalah ini, dapat diambil kesimpulan sebagai berikut
:
1. Algoritma
Huffman dapat digunakan sebagai dasar untuk kompresi data, dan pengaplikasiannya
ukup
mudah serta dapat digunakan dalam berbagai jenis data.
2. Secara rata-rata algoritma DMC menghasilkan
rasio file hasil kompresi yang terbaik (41.5% ± 25.9), diikuti algoritma LZW
(60.2% ± 28.9) dan terakhir algoritma Huffman (71.4% ± 15.4)
3. Secara rata-rata algoritma LZW membutuhkan waktu
kompresi yang tersingkat (kecepatan kompresinya = 1139 KByte/sec ± 192,5),
diikuti oleh algoritma Huffman (555,8 KByte/sec ± 55,8), dan terakhir DMC (218,1
KByte/sec ± 69,4). DMC mengorbankan kecepatan kompresi untuk mendapatkan rasio
hasil kompresi yang baik. File yang berukuran sangat besar membutuhkan waktu
yang sangat lama bila dikompresi dengan DMC.
4. Jika dibandingkan dengan algoritma LZW dan DMC, dalam
kompresi data, algoritma Huffman masih kalah dalam hal rasio kompresi data
maupun kecepatan kompresinya.
source : google.com
Senin, 02 April 2012
Dampak Multimedia terhadap perkembangan Masyarakat Indonesia
“Tolong sediakan iklan lalu sebar ke berbagai socialmedia yang ada.”
Seringkali kata-kata tersebut mengambang di udara di sekitar kita. Baik di lingkup kampus,kantor,organisasi bahkan sampai RT. Iklan yang dibuat dengan semenarik mungkin menjadi semakin mudah di sebarkan dengan berbagai social media yang ada di jaringan internet. Perkembangan pemanfaatan multimedia sendiri tak dapat dipungkiri jauh melesat dari tahun ke tahun. Penggunaan animasi yang sangat erat hubungannya dengan multimedia itu sendiri semakin apik. Dibuktikan dengan film-film yang beredar,dengan sentuhan tangan-tangan yang memang diberikan berkah oleh Alloh,mereka meramu hasil yang direkam oleh kamera maupun gambar yang berhasil di capture menjadi suguhan yang memanjakan mata penikmat multimedia.
Berpanjang lebar menjelaskan multimedia,namun kita tidak tahu apa arti multimedia.Multimedia itu terdiri dari 2 kata yakni multi yang berarti banyak dan media yang berarti sesuatu yang digunakan untuk menyampaikan sesuatu. Jadi makna keseluruhannya yaitu seseatu yang digunkan untuk menyampaikan sesuatu kepada banyak pihak. Nah dalam maknanya sekarang,multimedia lebih direkatkan dengan komunikasi dan kemudahan penyampaian informasi dari suatu maupun banyak sumber ke seorang maupun banyak orang.
Multimedia sendiri merupakan kombinasi antara teks, gambar, video dan animasi. Bisa saja hanya satu aspek yang dikembangkan dalam perkembangannya. Dan itu semua tergantung kebutuhan dan keinginan dari penikmat multimedia itu sendiri. Tak dipungkiri,multimedia tidak terlepas dari computer. Setidaknya pengelolaan untuk teks, gambar, video dan animasi itu sendiri menggunakan computer. Multimedia seringkali terintegrasi diantara semuanya. Semisal film yang seringkali kita nonton. Multimedia juga bersifat dinamis yang bergerak dan mengikuti perkembangan zaman. Selain itu multimedia juga bersifat interaktif antara penikmat dan penyedia.
Multimedia juga membutuhkan akses berupa networking yang berkesinambungan. Yaitu berupa internet.Dengan fasilitas internet tiap orang dapat berinteraksi dengan mudah.
Diantara pengertian-pengertian di atas, banyak sekali dampak yang sangat berpengaruh dengan masyarakat pada era sekarang ini :
1. Kemalasan, dengan kemudahan akses yang semakin mudah
2. Dalam bidang komunikasi ,informasi akan semakin mudah sampai dari satu ke yang lain,tentunya pertemuan fisik menjadi tidak terlalu penting.Ini akan menyebabkan silaturahim merenggang,karena mau bagaimanapun pertemuan fisik itu lebih penting dan lebih baik dibandingkan komunikasi dunia maya.
3. Dalam bidang pemasaran,sampling maupun gmbaran produk yang di trading akan mudah untuk diketahui dengan pengiklanan melalui intenet terutama melalui jejaring social.
4. Dalam bidang social,aspirasi masyarakat akan dengan mudah tersampaikan di public.
Masih banyak sekali dampak yang terjadi,namun tentunya kita yang menentukan dampak yang akan terjadi. Maka berlaku bijaklah. ^^.
Masih banyak sekali dampak yang terjadi,namun tentunya kita yang menentukan dampak yang akan terjadi. Maka berlaku bijaklah. ^^.
Sesungguhnya segala sesuatu itu bisa tepat guna jika memang dilaksanakan dengan tepat juga.Bukan hanya dibuat lalu tidak dilaksanakan..
Selasa, 27 Maret 2012
journey to my dreaM >> Mecca al mukarramah part 1
bersama mama tercinta dan mencinta,go to Al haram..
segala asa,do'a harapan mengambang memenuhi relung di hati,pikiran dan segalanya..
Hidupku hanya untukMu Alloh..
adzaariyat 56
#persiapan al haram in hajj
Masjidil Haram, Makkah Al Mukarramah
Rabu, 08 Februari 2012
SP part 2
Merasakan kembali masa dimana orang-orang lain sudah pulang ke kampung halaman masing" tapi kita masih harus berkutat dengan kuliah perbaikan yang mau tidak mau diambil karena keteledoran diri sendiri yang tidak serius pada saat ujian..
Yah,mengulang kembali mata kuliah dalam waktu yang sangat singkat(hanya 2 minggu) dan tentunya dengan uang yang berkebalikan dari waktu kuliahnya alias,lebih mahal.
Suatu pembelajaran akan hikmah kehidupan, masa kuliah,masa sekolah sidah dibatasi hanya 8 semester,walaupun adakalanya beberapa orang memilih untuk mengundur kelulusannya dengan berbagai alasan.
Namun ingat.Itu di dunia.beda halnya dengan urusan akhirat yang notabenenya masa nya tidak akan dpernah diketahui oleh siapapun termasuk yang menjalaninya.Hanya Alloh SWT yang tahu permulaan dan pengakhiran.Ketika ada kesalahan pun tiada lagi SP ,hanya penyesalan yang hadir dalam gulungan roll film kehidupan.
Astahgfirulloh..
Semoga Alloh masih memberi kita kesempatan untuk menjadi lebih baik,
Aamiin..
#Semangat Ishlah..^^
Langganan:
Postingan (Atom)