Bermain Dengan Structured Query Language (SQL)
Salah
satu Iklan Mengatakan "Apapun Makanannya, Minumannya Pasti Teh B***l
S***r*". Sepertinya iklan tersebut berlaku dalam pemrograman. "Apapun
Bahasa Pemrogramannya, Querya pasti sama". Masalahnya adalah kebanyakan
pengembangan sistem berlomba lomba mempelajari berbagai bahasa pemrograman
tanpa menghiraukan kemampuan SQL. Apabila sudah menguasai perintah Insert,
Edit, Delete maka seolah olah tidak perlu lagi untuk mempelajari Sql. Hal ini
tidak salah, tapi tidak begitu tepat. Padahal, apabila anda menguasai SQL, maka
sepertinya anda tidak perlu banyak untuk mempelajari bahasa pemrograman. Kenapa
Demikian ?? Penasarannn yaaaa... atau jengkel ya baca artikel ini.. hahahaha..
Baik,
Seorang pengembangan sistem yang berorientasi bahasa pemrograman pasti akan
mengolah seluruh data menggunakan script atau source code. Akan tetapi apabila
pengembang sistem telah berorientasi pada database, maka disinilah dia sudah
mencapai puncaknya, dia akan memahami bahwa bahasa pemrograman hanya digunakan
untuk memasukkan dan menampilkan data saja. Seluruh proses transaksi pengolahan
diolah secara otomatis menggunakan Query. Jika hal ini telah sobat kuasai, maka
sobat akan sampai kesuatu titik bahwa bahasa pemrograman hanyalah pihak ketiga
dan sobat tidak perlu harus menguasai banyak script.
Salah
satu contoh sederhana adalah pembuatan program inventory. Prosedur dalam
program inventory adalah apabila terjadi penjualan maka akan mengurangi stock
pada master barang, akan tetapi apabila terjadi pembelian akan menambah stock
pada master barang. wah wah... apabila anda biasanya membuat program
menggunakan C++, kemudian anda akan beralih menggunakan VB, maka secara
otomatis anda harus mempelajari bagaimana melakukan pengurangan dan penjumlahan
data menggunakan script. Repoottt kan ???
Nah
berbeda dengan seorang programmer berorientasi database, proses penjumlahan dan
pengurangan stock langsung dimainkan menggunakan trigger yang melekat pada
database. Sehingga, apabila ingin mengembangkan program menggunakan bahasa
pemrograman apapun, cukup mempelajari perintah insert maka secara otomatis
prosedur stock akan berubah. Gimana ? Itu baru satu contoh kecil saja
lhooo................
Okee..
Sekarang yang mau saya contohkan adalah bagaimana menyajikan laporan absensi
dari data yang vertical menjadi horizontal. Apakah ini bermanfaat ? wah wah..
apabila anda pernah mengalami hal seperti ini saya kira sangat bermanfaat,
kebanyakan programmer mengolahnya menggunakan script bahkan sebagian langsung
diolah pada aplikasi pembuat laporan.
Baik
silahkan perhatikan :
Nama
Database : DbHanavi
Nama
Tabel : TbAbsensi
Attribut
TbAbsensi : ID, IDKaryawan, Jenis_Absen, Jam_Absen
| Gambar 1. Tabel Absensi |
Apabila
tabel yang kita miliki seperti gambar diatas, lantas permintaan client adalah
berupa output absensi perkaryawan yang harus berbentuk seperti gambar berikut :
| Gambar 2. Ouput yang diinginkan |
Hahaha.. apa yang biasa anda lakukan ?? saya yakin anda akan mengolah menggunakan script/source code untuk menghasilkan bentuk output seperti itu, atau bagi yang ingin jalan aman biasanya akan melakukan modifikasi pada aplikasi untuk pembuat laporan, bukan kah demikian ?
coba sekali lagi sobat perhatikan bentuk tabel yang menyimpan data, dan bentuk output yang diinginkan oleh user. coba renungkan dlu yaaaaaaaaaaaaaaaaaa...
Nah hal hal seperti ini, bahkan kasus apapun, mau seperti apapun bentuk outputnya, teman teman tidak usah lagi mikirin repot repot gimana bentuk scriptnya dan gimana memanipulasi dilaporan. yang harus sobat ingat adalah, bahasa pemrograman hanya untuk menginput dan menampilkan data. Apa kelebihannya kita menerapkan query langsung di database ? kelebihannya adalah apabila ada orang lain atau penyusup yang langsung mengoperasikan data di database, maka secara otomatis data akan terproses sesuai prosedure yang kita tanamkan. Namun apabila sobat membuat prosedur di bahasa pemrograman, waduuuuuuuh.. ketika database diacak acak, ya selesai sudah.
Baik langsung saja saya kasih bocorannya, untuk membuat output seperti Gambar no 2 diatas, sobat hanya membutuhkan sedikit query, berikut querynya yaaa...
| Gambar 3. Query SQL |
Tags:
ARTIKEL
0 komentar