Minggu, 18 November 2012

Haruskah selalu diselesaikan dengan LOOPING ?



Melakukan eksekusi SQL (Structured Query Language) dalam jumlah jamak/banyak, dalam arti lebih dari satu. Lebih dari satu tentunya jika hanya ada dua record sudah memenuhi syarat ini, Hehehhe. Eksekusi disini dalam dari updating record atau penambahan record dengan jumlah banyak, deleting record tidak termasuk tentunya anda sendiri tahu kenapa, karena sangat mudah untuk mengeksekusinya. Updating record pun akan mudah jika nma dan jumlah field yang akan diupdate sama untuk semua record. Mudah-mudahan bisa dipahami kalimat-kalimat ini.


misalnya saya tinggal menulis seperti ini :
UPDATE nm_tabel SET [nm_field]=nilai;
Variebel nilai disini tergantung tipe data dari field yang bersangkutan juga, bisa string, numerik, boolean atau date. Hasil dari query ini tentunya akan merubah seluruh record dari field yang diupdate karena tidak adanya syarat (condition), dengan nilai sama semua. Jika type data [nm_field] adalah integer, kemudian variebel nilai adalah angka 10 (sepuluh) maka seluruh record akan terupdate dengan angka 10.

Namun bagaimana jika anda menghendaki bahwa hasil setiap record adalah beda atau tidak sama? Atau anda menghendaki penambahan record dalam jumlah "banyak" dari tabel yang beda (lebih dari satu maksudnya).
EMmmmm....bukankan kita bisa melakukan Looping seperti judul di atas? Ya itu salah satu solusi.
Ambil sebuah solusi dengan menulis seperti ini ;

WHILE not(nm_tabel.eof) do begin
   To Do !!
     proses updating record OR inserting data
end;

nm_tabel.next;

atau

for i := 0 to nm_tabel.recordcount-1 do begin
   To Do !!
     proses updating record OR inserting data
end;


Keterangan : "i"  adalah variabel bertipe integer sebagai kounter proses updating.

Supaya kelihatan dan prosesnya lebih keren lagi, bukankah sering kita menambahkan semacam komponen gauge atau progressbar, sehingga gambar secara awamnya proses updating terpantau dan berjalan seiring
proggressbar berjalan, seperti ilustrasi di bawah. Dalam bayangan awamnya sih "Sistem baru melakukan proses serius atau berat atau malah super berat" sehingga tidak boleh ada proses lain-lain dalam sistem atau setiap user yang berkepentingan dengan sistem harus idle dulu (tapi memang proses semacam ini sifatnya absolute tidak boleh diganggu), seolah-olah memory komputer terpresure untuk melakukannya. Hhhehheheh... mungkin seperti itu (dalam bayangan Awam lho). Gimana tidak berat kalau yang di update atau yang di tambahkan ada ribuan record, untuk hitungan manusia tentu berat melakukan proses yang sama

1000 kali!!! Cape bro..!

ILustrasi adalah proses updating saldo dalam sebuah system lembaga keuangan.

Namun jika memory komputer anda adalah laksana truck yang mampu mengangkut 1000 karung kenapa harus dilakukan 1000 kali proses utk mengangkatnya, bukankah hanya boros energi (bahan bakar) karena setiap angkut hanya membawa 1 karung, wah...jadi kelihatan tidak efisien ya....!

akan disambung....!

Tidak ada komentar:

Posting Komentar

Iklan !

Stats