Gabut? Kepo-in Hal-hal dasar tentang SQL, Yuk!



Beberapa bulan bekerja dengan data, gue baru menyadari ternyata dunianya data tidak sebatas Excel ataupun Spreadsheet Google saja. Data bisa lebih dari itu. Data bisa bersemayam di tempat yang lebih gede dan berkumpul hingga ukuran yang tidak terbayangkan bagi kita-kita orang awam. Data yang ukurannya sudah tidak terbayang lagi karena saking besarnya, kemudian disebut sebagai big data. Data yang jumlahnya tak terkira, tak bisa lagi diolah menggunakan excel. Data-data itu kemudian dikumpulkan ke dalam tempat penyimpanan yang menggunakan sistem database. Hal ini sangat dimanfaatkan oleh dunia digital. Data-data digital tersebut yang gue dimaksud adalah data seluruh transaksi yang dilakukan oleh pelanggan hingga data dirinya.

 Gila banget gak sih? Untuk mengolah data ribuan di excel aja kita mumet dan ngeluh sana sini. Gimana dengan data yang digabung di database yang sungguh besar? Bagaimana cara mengolahnya?



Beruntungnya, di dunia ini banyak terlahir orang-orang pintar yang gemar meringankan beban umat manusia. Para ilmuwan tersebut kemudian menyepakati satu konstruksi bahasa standar yang secara de facto digunakan dalam manajemen basis data. Bahasa itu disebut Structured Query Language, dan kita anak gaul data lebih senang menyingkatnya dengan SQL (baca: es qi el, es qiu el).

Teman-teman yang ingin berkarir yang berhubungan dengan data sini deh gue kasitau. Menurut gue, SQL ini penting buat teman-teman pelajarin. Kenapa? Karena SQL itu telah terbukti mampu meningkatkan produktivitas kinerja pengolahan data. Kepake banget di big data!

“Umm..? Gimana sih? Gue belum kebayang fungsinya SQL ini apa…” kata Elo, yang emang buta banget masalah perdataan(?). Oke sini gue kasih analogi yang lebih sederhana. Di hari-hari biasa, elo biasanya berkutat di excel dengan jumlah data ratusan. It works fine and you can keep up with your daily routine. Trus kemudian, data lo bertambah berkali-kali lipat hingga ratusan ribu jumlahnya. Tiap kali Elo mau mengolah datanya, komputernya loading dulu, processing. Ini tuh makan waktu Elo banyak. Kerjaan lo jadi molor. Apalagi kalau komputernya tiba-tiba crashed?! What kind of nightmare is that? You haven’t even saved any work that you’ve done, yet!

Ini gak bisa dibiarin. Temen-temen harus mengambil tindakan pencegahan yang diperlukan untuk melindungi diri dari kehilangan data secara tidak sengaja. Temen-temen harus tau metode yang lebih cepat dan akurasi yang lebih besar daripada yang disediakan oleh Excel. Empat hal yang harus diperhatikan saat menyimpan data adalah :
  1. Menyimpan data harus cepat dan mudah karena kita bakalan cenderung sering melakukannya.
  2. Media penyimpanan harus dapat diandalkan. Gak banget loh kalau kita kembali lagi tapi malah datanya hilang!
  3. Pengambilan data harus cepat dan mudah, terlepas dari berapa banyak item yang kita simpan.
  4. Kita perlu cara mudah untuk memisahkan informasi persis seperti apa yang kita inginkan dari berjuta-juta data yang tidak kita inginkan saat ini.


Di sinilah kita memerlukan basis data (database) yang canggih yang memenuhi keempat kriteria di atas. Jika teman-teman menyimpan data yang banyak, teman-teman perlu menyimpan datanya di database.

Konon, database pertama dahulu kala pada tahun 1950-an disusun menurut model hirarki. Kendati pun, banyak masalah redundansi, dan ketidakfleskibelan struktrualnya membuat modifikasi database menjadi sulit. FYI, redundansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan. Boros memori, gitu loh! Kemudian dikembangkanlah database ini menjadi database yang mengikuti model jaringan, biar kelemahan-kelemahan model hirarki bisa dikurangi. Database jaringan memiliki redundansi minimal tetapi memberikan keuntungan untuk struktural yang kompleks. Beberapa tahun kemudian, ilmuwan bernama Dr. E. F. Codd mengembangkan model relasional, yang menampilkan redundansi minimal dan struktur yang mudah di pahami. Bahasa SQL inilah yang diciptakan dan dikembangkan untuk beroperasi pada database relasional. Database relasional akhirnya yang digunakan sampai sekarang dengan bantuan bahasa SQL untuk mengolah data di dalam database tersebut.

Dr. Edward F. Codd

SQL adalah bahasa yang fleksibel yang dapat elo gunakan dalam berbagai cara. Ini tuh merupakan alat komunikasi yang paling banyak digunakan untuk berkomunikasi dengan database relasional. Tapi bahasa SQL itu beda dengan bahasa pemrograman R, Python, Pascal, C++, ataupun Java. Deretan yang gue sebut tadi (R, Python, Pascal, C++, ataupun Java) dipakai untuk memecahkan masalah dalam bahasa prosedural. Maksudnya, Elo nulis suatu prosedur : urutan perintah yang melakukan operasi tertentu setelah operasi yang lain selesai. Prosedurnya dapat berupa urutan linier, ataupun loop, tetapi intinya, programmer-lah yang menentukan urutan eksekusi.

SQL tuh beda dari penjelasan barusan, gaes! SQL, di sisi lain, adalah bahasa non-prosedural. Untuk memecahkan masalah menggunakan SQL, cukup beritahu SQL apa yang kita pengenin! Kayak minta sama Om Jin di Jin dan Jun atau minta sama genie-nya Aladdin. Alih-alih berbusa-busa (atau tangan pegel ngetik banyak-banyak) memberitahu si sistem bagaimana cara mendapatkan apa yang elo inginkan. Sistem manajemen basis data atau DBMS (Database Management System) yang bakalan memutuskan cara terbaik untuk mendapatkan apa yang elo minta. Se-simple itu!

Gue kasih contoh, deh. Misalnya, kita punya daftar seluruh pasien di suatu rumah sakit yang terkumpul sejak sepuluh tahun lalu. Dari tabel data pasien itu, kita pengen lihat data pasien-pasien yang terkena penyakit jantung. Kita pengen filter data pasien yang kita lihat itu yang umurnya diatas 50 tahun aja. Kita bisa melakukan pengambilan data yang diinginkan dengan menggunakan query sebagai berikut :


SELECT * FROM PASIEN_RUMAH_SAKIT WHERE UMUR > 50

         Udah. Pernyataan ini mengambil semua baris dari tabel PASIEN_RUMAH_SAKIT di mana nilai di kolom usia lebih besar dari 50 tahun. Dalam SQL, Elo gak perlu menentukan cara informasi diambil. Mesin database bakalan memeriksa database dan memutuskan sendiri bagaimana memenuhi permintaan lo. Elonya tinggal menentukan data apa yang perlu diambil. Ah, FYI, Istilah query adalah pertanyaan yang elo berikan ke database. Jika data dalam database memenuhi persyaratan permintaan lo, SQL bakalan mengambil data itu. Simpel, kan?

        Segini dulu cerita gue tentang SQL. Rencananya masih bakal gue bahas lagi satu atau dua post kedepan. Yang gue mau bahas kedepan nantinya adalah 6 Hal Penting yang Harus Dikuasai dengan SQL, dan Tips-Tips Seputar Belajar SQL, Cara Cepat Memasterinya! See YA!

Popular posts from this blog

Pengertian dari Governance, Risk Management, and Compliance (GRC)

ALERT !! 3 HAL DASAR MEMAHAMI SQL UNTUK PEMULA!!

Bahas Film Bioskop, Review Horror Movie Entitled "Us (2019)"