Jumat, 25 Juli 2008

oci_connect dan ocilogon

Bagi pengguna php dan oracle pasti akan kenal yang namanya oci8, oci8 ini adalah salah satu kompnen yang diperlukan untuk melakukan koneksi antara php dengan database oracle.
Nah... untuk melakukan koneksi maka diperlukan yang namanya oci_connect atau ocilogon.
Untuk kedua hal tersebut adalah sama yaitu perintah yang digunakan untuk melakukan koneksi antara php dan oracle.

Yang membedakan adalah untuk oci_connect mulai disuport oleh php5 makanya jika make php dibawah php5 tidak bisa. Jika anda memakai php5 maka sangat disarankan untuk menggunakan oci_connect, karena jika anda memakai ocilogon maka di sisi oracle akan membentuk session sampai apache direstart baru sesion yang timbul di kill, jadi jika anda melakukan ocilogon berkali-kali akan muncul session yang banyak. Misal jika anda punya 10 pengguna yang menggunakan aplikasi anda, dan mereka semua melakukan 10 kali refresh pada halaman yang memakai ocilogon, maka akan terbentuk 10 * 10 =100 sesion, sangat boros padahal cuma ada 10 user kok ada 100 sesion. Coba anda bayangkan jika pengguna aplikasi ada 1000 orang! . Nah kelemahan ini diperbaiki jika anda memakai oci_connect, karena sesion yang terjadi akan di kill secara otomatis setelah query selesai.

Silakan anda coba, dan semoga bermanfaat..

Rabu, 09 Juli 2008

Algoritma Lempel Ziv Welch (LZW)

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 :
i. Output sebuah kode untuk menggantikan string P.
ii. Tambahkan string (P + C) ke dalam dictionary dan berikan nomor/kode berikutnya yang belum digunakan dalam dictionary untuk string tersebut.
iii. 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 :
i. output string.CW ke stream karakter
ii. P= string.PW
iii. C = karakter pertama dari string.CW
iv. tambahkan string (P+C) ke dalam dictionary
􀂉 Jika tidak, maka :
i. P =string.PW
ii. C = karakter pertama dari string.PW
iii. 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).

Senin, 07 Juli 2008

firefox dan firebug untuk tool develop aplikasi web

salah satu tool yang digunakan dalam melakukan develope suatu aplikasi web adalah browser. Salah satu browser yang disarankan yaitu firefok, yang nantinya akan ditambahkan firebug pada adsonnya. kegunaan dari firebug ini adalah untuk mengetahui kesalahan-kesalahan yang mungkin terjadi tapi tidak terlihat lewat bowser sendiri, contohnya adalah kesalahan dari javascript yang kita gunakan. lewat konsol-nya akan ada suatu peringatan tentang error-error yang terjadi. Selain javascrip firebug juga bisa digunakan untuk medeteksi kesalahan script css. Jika anda menggunakan ajax pada aplikasi web anda, firebug ini sangat berguna karena kita dapat melihat isi dari paket yang dikirim lewat ajax. Lewat firebug ini juga kita dapat melihat apa saja yang diload oleh browser saat melakukan akses suatu halaman dari aplikasi kita. Selain yang diatas kita juga bisa melihat cookies yang dipakai oleh browser saat mengakses suatu halaman. Semoga hal ini dapat berguna bagi anda...