Tuesday, March 24, 2009

Searching Simple Rasa Google

Searching simple rasa Google



Pertama kenal Internet orang pasti ketemu dengan paman Google, sahabat para netter. Kali ini saya mencoba membuat prosedur dalam visual foxpro untuk pencarian data sedikit mirip dengan google. Sedikit saja, karena saya tahu google hebat dalam proses searching.

Diawali permintaan client dari aplikasi Perpustakaan yang saya buat, bahwa dalam proses pencarian data, mereka menginginkan mencari data berdasar kata dalam sebuah kalimat.

Ok ini bisa dilakukan dengan memecah sebuah kalimat menjadi kata-kata kunci.
Algoritma singkatnya seperti ini, hitung jumlah total huruf dalam kalimat kunci, digunakan sebagai looping. baca kalimat kunci dengan cara ambil karakter per karakter dari kiri, setelah ketemu dengan spasi, simpan rangkaian karakter tadi dalam sebuah kata kunci (bisa dalam array) lanjutkan proses scanning huruf demi huruf sampai dengan jumlah karakter kalimat habis. Selanjutnya baca hasil scanning kata tadi dan buat akumulator untuk memproses sintak filter berdasarkan kata kata tersimpan.

Berikut Fungsi getfilter selengkapnya.


FUNCTION GetFilter
LPARAMETERS CFILTERKU, CFIELDKU
CCURSORKU = 'CUR'+SYS(3)
CREATE CURSOR &CCURSORKU (KATA C(100))
NJMLCHAR = LEN(ALLTRIM(CFILTERKU))
IF NJMLCHAR=0
CKALIMATSINTAK = "''$"+CFIELDKU
RETURN CKALIMATSINTAK
ENDIF
I = 1
CHURUF = 'a'
CKATA = ''
DO WHILE I
DO WHILE CHURUF#' '
CHURUF = SUBSTR(CFILTERKU, I, 1)
CKATA = CKATA+CHURUF
I = I+1
ENDDO
APPEND BLANK
REPLACE KATA WITH UPPER(CKATA)
CKATA = ''
CHURUF = 'a'
ENDDO
SELECT &CCURSORKU
GOTO TOP
CKALIMATSINTAK = "'"+ALLTRIM(KATA)+"'$UPPER("+CFIELDKU+")"
IF RECCOUNT()>1
SKIP
DO WHILE .NOT. EOF()
CSINTAK = " OR '"+ALLTRIM(KATA)+"'$UPPER("+CFIELDKU+")"
CKALIMATSINTAK = CKALIMATSINTAK+CSINTAK
SKIP
ENDDO
ENDIF
USE IN &CCURSORKU
RETURN CKALIMATSINTAK
ENDFUNC


Penjelasan singkat, Fungsi ini memiliki 2 parameter, parameter pertama adalah kalimat kunci, parameter kedua adalah field dari data yang akan di filter (dilakukan pencarian atau select), nilai yang didapat dari fungsi ini adalah serangkaian sintak filter, gabungkan nilai tersebut dengan sintak filter.

Contoh pemanggilan fungsi ini adalah :


CFILTER = "Where "+GETFILTER(CSEEK, 'buku')
SELECT KODE,BUKU FROM BUKU &CFILTER INTO CURSOR HASIL

maksud dari potongan program diatas adalah, menampilkan kode dan nama buku berdasarkan kata kunci cseek, masukkan variable cseek sebagai inputan kata kunci pencarian contoh cSeek='Aneka Resep Masakan' maka program akan menampilkan semua data dengan field buku mengandung kata 'Aneka', 'Resep', 'Masakan'

Semoga bermanfaat, Berminat lebih lanjut dengan program Perpustakaan ? Kontak saya melalui email : edi.widodo@gmail.com

Tuesday, March 03, 2009

Readyboost

Readyboost



Menggunakan flashdisk sebagai pendongkrak performance OS Windows ?.. Kenapa tidak.
Fitur Readyboost sangat menarik, ini hanya dijumpai pada Ms. Windows Vista dan Windows 7.

Harga memory DDR2 1 GB saat tulisan ini dibuat berkisar Rp. 200.000, jika dibandingkan dengan harga flashdisk yang hanya Rp.60.000 untuk ukuran 2GB, tentu saja flashdisk masih jauh lebih murah.

Komputer saya AMD 3000+ dengan memory Fisik 1GB DDR dan Harddisk 80GB SataII, terinstall OS Ms Windows 7, semula sebelum mencoba menggunakan fitur readyboost terasa berat, meskipun tetap lebih ringan bila dibandingkan dengan jalan windows vista.

Caranya cukup mudah, tinggal siapkan flashdisk kosong sebesar 2GB (bisa kurang bisa lebih) colokkan ke port usb, tunggu sampai terbaca oleh system, klik kanan flashdisk tersebut, kemudian pilih properties, dan pilih settingan dedicated this device to readyboost, restart komputer, dan rasakan peningkatan performance secara total.

btw, tentu saja penambahan memory fisik lebih dianjurkan, dan akan lebih powerfull, tapi untuk masa sulit, tidak ada rotan maka akarpun boleh jadi.

CMIIW