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




Belajar SQL Teknologi
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 :

Belajar SQL Teknologi
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...
Query SQL Teknologi
Gambar 3. Query SQL





0 komentar