Please Wait, Loading...

Monday 24 October 2011

Membuat Jaringan Tree di SQL

           Bagaimana jika ada kasus untuk membuat sebuah jaringan model tree di Tabel dalam satu kolom? Jawaban dari kasus diatas sangat bervariasi, untuk kali ini penulis akan memaparkannya dengan menggunakan fungsi LPAD bawaan dari SQL. Secara teknis berikut adalah contoh kasus yang pernah penulis hadapi, yaitu membuat fungsi tree untuk menampilkan data dari sistem organisasi dari sebuah institusi, bagaimana tabel yang diharapkan, gambar berikut adalah tabel yang diharapkan dan beserta script SQLnya dan penjelasannya  :

SELECT Level AS "Hirarki Data",    LPAD(' ',3*(LEVEL-1) )||a.Nama_Anak as "Nama Unit Kerja"
FROM Nama_Skema.Nama_Tabel a
CONNECT BY PRIOR  a.Kode_Anak IN (a.Kode_Induk)
START WITH a.Kode_Anak IN (SELECT a.Kode_Anak FROM Nama_Skema.Nama_Tabel
WHERE a.Kode_Induk IS NULL );


Dan berikut adalah penjelasan dari script diatas :
  1. SELECT Level AS "Hirarki Data",  Maksudnya yaitu menampilkan hirarki data dengan mengaliaskan nama kolomnya dengan nama "Hirarki Data".
  2. LPAD(' ',...,...), Left PAD adalah suatu fungsi yang dimiliki Query SQL yang menangani masalah hirarki data, secara umum fungsi ini digunakan untuk untuk menambahkan karakter padding ke sisi kiri string sampai panjang tertentu, dengan default karakter Pad berupa spasi.
  3. LEVEL-1, adalah suatu  algoritma yang menyatakan adanya pengurangan nilai 1 terhadap data LEVEL, dalam hal ini maksudnya pada kolom Hirarki Data nilainya akan berkurang 1 jika script dijalankan.
  4. 3*(LEVEL-1), maksudnya memberikan jumlah string sesuai dengan hasil dari algoritma Level-1           ( Contoh Jika hasil Level-1 adalah 1 maka jumlah string di sisi kiri string sebanyak 3 karakter.)
  5. Connect By Prior adalah  Sebuah kondisi yang mengidentifikasikan mengenai hubungan antara baris induk dan baris anak secara hirarki.
  6. Start With  maksudnya,  Menetukan kondisi yang mengidentifikasikan baris string untuk digunakan sebagai root string dari hirarki query.
  7. " ...||a.Nama_Anak as "Nama Unit Kerja"... ", penggabungan string dengan mengaliaskan nama kolom dengan nama "Nama Unit Kerja".

Demikian Artikel mengenai membuat jaringan tree di SQL, semoga bermanfaat.. Amin

Posted By adminblog14:29

Activex Control, Ms ProgressBar Control di Visual Fox Pro

Activex Control, Ms ProgressBar Control

Semoga tidak bosan dengan tema ProgressBar, dalam tulisan ini beberapa hari yang lalu penulis iseng-iseng dan sempat bertanya-tanya dalam hati “bagaimana suatu ProgressBar dapat di aktifkan melalui suatu command button, dan menampilkan pesan proses loading, apakah itu bisa…??? “, Alkhamdullilah pertanyaan tersebut terjawab setelah penulis bertanya ke paman penulis sebut saja “Uncle Google”… :-)
Ehmm kembali ke tema diatas, konsepnya sederhana yaitu menyisipkan script dari proses progressbar dan memanggila pengaktifkan pesan tunggu, penyisipan script tersebut disisipkan di command button yang kita kehendaki, sebut saja dalam tulisan ini commandbutton dengan nama object = oCmdProsess, Procedure = Click.
Untuk scriptnya kurang lebihnya yaitu sebagai berikut :
**!** Procedure Click, oCmdProses **!**
Counter=0  &&& tipe data integer , add new property “counter”
DIME proses(100)  &&& tipe data string
**!** oPB adalah nama property dari object ProgressBar **!**
THISFORM.oPB.MIN =1
THISFORM.oPB.MAX=ALEN(proses)
THISFORM.oPB.VISIBLE = .T.
*!*    ‘Menyeting Nilai progress ke nilai minimum **!**
THISFORM.oPB.VALUE = THISFORM.oPB.MIN
*!* ‘Proses Loop **!**
FOR Counter = 1 TO 100 STEP +.001
WAIT WINDOW NOWAIT “Sedang Memproses Data…” && Pesan Tunggu
*!* ‘Menyeting Nilai inisial untuk masing-masing item di arary **!**
proses(Counter) = “”+ STR(Counter)
THISFORM.oPB.VALUE = Counter
ENDFOR
THISFORM.oPB.VISIBLE = .T. && jika .F. maka setelah progress selesai akan tidak nampak / hiden
THISFORM.oPB.VALUE = THISFORM.oPB.MIN
Semoga bermanfaat, aminn

Posted By adminblog13:19