Pages

Subscribe:

Thursday, January 3, 2013

Kompresi (Pemampatan) File (Berkas)



Konsep Kompresi

Konsep Kompresi mirip dengan konsep mencontek. Hahaha, bayangkan saat ujian semester siswa A menuliskan jawaban ujian pada selembar kertas, melipat-lipat kertas tersebut, lalu melemparnya ke siswa B. Siswa B mengambil lipatan kertas tersebut, dan membaca jawaban yang tertera.


Perlu diperhatikan, kertas yang terlipat tersebut diumpamakan sebagai file/berkas yang dimampatkan atau dikompres, ukuran yang lebih kecil membuatnya mudah untuk berpindah tangan. Tetapi untuk mendapatkan ukuran yang kecil dan kecepatan transfer, ada konsekuensinya. Sang penerima, misal, siswa B, harus membuka lipatan kertas tersebut sebelum dapat membaca contekan jawaban ujian tadi. Proses ini disebut proses dekompresi  dalam pemampatan berkas, tentunya diperlukan waktu dan resource.
 

Algoritma Kompresi

Salah satu algoritma sederhana yang ditunjukkan dengan algoritma yang dikenal Run-length encoding (RLE).
Contoh 1, terdapat string input sebagai berikut:

AAAAAAABBBCCCCCDDDDD
string tersebut dapat dikompresi menjadi:

Read More..

Tuesday, January 1, 2013

Apa itu CAPTCHA dan reCAPTCHA?


CAPTCHA merupakan singkatan dari Completely Automated Public Turing. Biasanya ditemukan untuk memvalidasi suatu masukan pada suatu halaman web. CAPTCHA digunakan untuk melakukan tes dalam menentukan apakah data diisi oleh bot (komputer) atau manusia. Biasanya, berisikan tulisan / kumpulan karakter yang didistorsi sedemikian rupa, serta warna background tertentu, namun masih dapat dilihat dengan baik oleh mata manusia.

Gambar 1. Berbagai CAPTCHA


Terlihat sangat sederhana, namun CAPTCHA berguna untuk menghindari aksi-aksi yang tidak diinginkan yang dapat merugikan/merusak aplikasi web. Sebagai contoh penggunaan CAPTCHA pada halaman sign up sebuah web penyedia layanan e-mail. Setelah mengisi data pribadi, maka captcha akan muncul untuk meminta masukkan. Jika user memasukkan serangkaian karakter pada CAPTCHA dengan benar, maka data yang telah dientri dapat tersimpan. Namun sebaliknya, jika user salah dalam memasukkannya karena akan dianggap yang memasukkan data bukanlah manusia(kemungkinan program generate).

reCAPTCHA

Lalu, apa itu reCAPTCHA? Apa bedanya dengan CAPTCHA? reCAPTCHA tidak jauh berbeda dengan CAPTCHA, dan memiliki tujuan yang sama. Yang membedakan keduanya adalah tulisan yang tampak biasanya terdapat dua kata, salah satu merupakan CAPTCHA biasa, dan yang lain adalah kata dari sebuah buku, koran, majalah atau media cetak lain yang akan didigitalisasikan.


Gambar 2. reCAPTCHA


Apa untungnya digitalisasi buku?
Banyak.
Dengan menggunakan buku yang berformat digital misalkan dengan format PDF, maka kita akan dengan mudah melakukan pencarian di dalam buku tersebut (bayangkan jika masih file mentah dari proses scanning yang biasanya berformat JPG).

Namun, digitalisasi amat bergantung terhadap kualitas scan. Jika kualitas scan kurang baik maka software secanggih apapun tidak dapat mengenali karakter secara akurat 100%. Bagi mesin (software), mengenali karakter semacam itu sangatlah sulit, namun bagi mata manusia, hal tersebut tidaklah sulit. Dari permasalahan di atas muncullah ide reCAPTCHA. Kata dari suatu buku yang sulit didigitalisasi, ditampilkan sebagai CAPTCHA untuk meminta "bantuan" dari manusia agar mengetikkan kata apa yang sebenarnya dimaksud.

Gambar 3. Kurang akuratnya teknologi OCR (teknologi untuk mendigitalisasi buku)
Tapi, dari konsep reCAPTCHA tersebut, muncul sebuah permasalahan, yaitu sebenarnya mesin penguji dari CAPTCHA tidak tahu apakah kata yang dimasukkan oleh user merupakan kata yang benar atau salah. Hal ini berbeda dengan CAPTCHA yang biasa.

Itulah sebabnya pada reCAPTCHA, selalu ada 2 buah kata. Pertama adalah kata yang telah diketahui oleh mesin, dan yang kedua adalah kata yang tidak terbaca oleh mesin. Untuk satu kata yang benar dan kata lain diisi sembarang, maka user sudah diizinkan untuk melakukan proses berikutnya. Namun dengan demikian, berarti kita tidak membantu proses digitalisasi.

Ide sederhana, tapi Fantastis.


Read More..