Kursus
Jika Anda bekerja di industri yang banyak menggunakan data, Anda pasti pernah mendengar tentang database. Cara yang sangat umum untuk mengakses data yang disimpan dalam database adalah melalui SQL. Dalam artikel ini, Anda akan mempelajari lebih lanjut tentang SQL. Namun alih-alih langsung terjun mempelajari sintaks dan istilah yang digunakan dalam SQL, kita akan meninjau beberapa konsep kunci dalam ilmu komputer yang akan membantu kita menjawab pertanyaan: Apakah SQL bahasa pemrograman?
Apa itu SQL?
Mari kita mulai dengan mendefinisikan apa itu database. Sederhananya, database adalah sistem penyimpanan untuk menempatkan data terstruktur Anda. Selain itu, sistem manajemen database (DBMS) berfungsi sebagai antarmuka antara database dan pengguna akhir atau program. Anda dapat mempelajari lebih lanjut tentang hubungan ini di kursus Database Design DataCamp.
Jenis DBMS yang paling umum adalah sistem manajemen database relasional (RDBMS) tempat kita menyimpan data terstruktur, yaitu data yang menggabungkan relasi di antara entitas dan variabel. Entitas dan variabel ini diatur sebagai sekumpulan tabel dengan kolom dan baris.
Data dalam RDBMS disimpan dalam objek database yang disebut tabel. Sebuah database sering kali berisi beberapa tabel. Setiap tabel diidentifikasi dengan nama unik dan berisi kumpulan entri data terkait yang terstruktur sebagai baris dan kolom. Kolom dalam sebuah tabel dikenal sebagai field dan menyimpan nilai untuk properti tertentu dari sebuah tabel. Setiap baris dalam sebuah tabel dikenal sebagai record.
SQL, diucapkan sebagai “S-Q-L” atau “sequel”, adalah singkatan dari Structured Query Language. SQL digunakan dalam pemrograman dan dirancang untuk mengelola data yang disimpan dalam RDBMS menggunakan kueri SQL.
Kueri tidak lain adalah pernyataan yang terdiri dari berbagai perintah SQL yang bersama-sama menjalankan tugas tertentu untuk mengakses, mengelola, memodifikasi, memperbarui, mengontrol, dan mengatur data Anda. Definisi kueri ini terdengar sangat mirip dengan ‘program komputer’; apakah ini berarti SQL adalah bahasa pemrograman?
Mari kita pahami lebih baik apa yang dimaksud bahasa pemrograman pada bagian berikutnya.
Apa itu Bahasa Pemrograman?
Sebuah bahasa pemrograman terdiri dari sekumpulan kosakata dan kaidah tata bahasa yang sudah ditentukan. Bahasa ini kemudian dapat menginstruksikan komputer atau perangkat komputasi untuk menjalankan tugas-tugas tertentu.
Ada banyak jenis bahasa pemrograman, masing-masing dengan fitur dan tujuan yang berbeda. Namun, secara umum, bahasa-bahasa ini dapat dibagi menjadi dua kelompok: tingkat rendah dan tingkat tinggi.
Bahasa pemrograman yang lebih dekat ke kode mesin atau biner (1 dan 0) dikenal sebagai bahasa tingkat rendah.
Bahasa tingkat rendah sering kali sulit dibaca manusia karena strukturnya ditujukan untuk menulis instruksi seperti cara mesin “berpikir”. Meski demikian, bahasa ini tetap lebih mudah dipahami dibandingkan murni 1 dan 0.
Lalu mengapa menggunakan bahasa tingkat rendah? Karena bahasa ini cepat! Dan memberi programmer kendali yang lebih presisi atas bagaimana perangkat keras komputer akan berfungsi.
Di sisi lain, bahasa tingkat tinggi lebih dekat dengan cara manusia berkomunikasi. Bahasa ini menggunakan kata-kata dalam instruksinya yang mirip dengan bahasa yang kita gunakan sehari-hari, sehingga lebih mudah diprogram dan dipelihara. Kekurangannya, bahasa ini membutuhkan lebih banyak waktu untuk diterjemahkan ke kode mesin agar dapat dipahami komputer.
Namun seiring komputer semakin bertenaga, perbedaan kinerja antara bahasa tingkat rendah dan tingkat tinggi sering kali hanya beberapa milidetik. Itulah mengapa kita melihat sebagian besar lowongan pemrograman mencari orang dengan keterampilan bahasa pemrograman tingkat tinggi.
Apa itu Turing Completeness?
Untuk mengukur “kekuatan” sebuah bahasa pemrograman, ilmuwan komputer sering menggunakan konsep Turing completeness. Istilah ini dinamai Alan Turing, ilmuwan komputer yang pada tahun 1936 mengajukan mesin Turing. Gagasannya menjadi fondasi bagi teori tentang komputasi dan komputer.
Mesin Turing adalah perangkat yang mencetak simbol pada pita kertas dengan cara yang meniru seseorang yang mengikuti instruksi logis.
Bahasa pemrograman adalah sistem kaidah formal yang mengakses dan memodifikasi data. Jika kaidah-kaidah tersebut dapat mensimulasikan mesin komputasi hipotetis Turing, maka kaidah tersebut disebut "Turing complete". Sistem yang Turing complete dapat dibuktikan secara matematis mampu melakukan perhitungan apa pun yang mungkin.
Kami sangat merekomendasikan menonton video dari Computerphile ini untuk mempelajari lebih lanjut tentang Mesin Turing dan video lanjutan mereka tentang konsep Turing completeness.
Bahasa Pemrograman Umum vs. Bahasa Spesifik Domain
SQL memiliki sekumpulan kata kunci yang telah ditentukan dan mengikuti sintaks yang ketat. Untuk mulai pemrograman dalam SQL, lihat kursus Introduction to SQL DataCamp, di mana kami mulai dengan memilih dan memfilter record dan field lalu berlanjut ke fungsi agregat, pengurutan, dan pengelompokan.
Mengingat definisi bahasa pemrograman yang memiliki kosakata tertentu dan sintaks spesifik, SQL jelas memenuhi syarat sebagai bahasa pemrograman. Namun, SQL tidak memenuhi syarat sebagai General Purpose Language (GPL)Domain-Specific Language (DSL).
Bahasa spesifik domain adalah bahasa komputer yang dibuat khusus untuk menyelesaikan masalah dalam domain tertentu dan tidak dimaksudkan untuk dapat menyelesaikan masalah di luar domain tersebut.
Bahasa-bahasa ini dibangun dengan tujuan tertentu dalam desain dan implementasi. Sebagai contoh, SQL dibuat khusus untuk bekerja dengan database, untuk melakukan kueri pada database dan bekerja dengan data yang disimpan di dalamnya. Anda tidak dapat membangun seluruh aplikasi hanya dengan SQL.
Contoh lain dari DSL adalah Cascading Style Sheets—lebih dikenal sebagai CSS—yang digunakan untuk memberi gaya pada HTML di situs web.
DSL berbanding terbalik dengan General Purpose Language (GPL), yang berlaku luas di berbagai domain. Bahasa ini dirancang agar Anda dapat menulis berbagai jenis program dengan logika apa pun yang Anda perlukan.
Anda dapat membuat berbagai macam aplikasi menggunakan GPL, termasuk aplikasi desktop, seluler, atau web. Beberapa GPL yang paling banyak digunakan antara lain Python, C++, Ruby, Java, dan JavaScript.
Secara garis besar, DSL kurang kuat dibandingkan GPL. Namun, hal ini memiliki keuntungan tersendiri. Karena domain penerapannya yang sempit, SQL relatif lebih mudah dipelajari dibandingkan sebagian besar bahasa pemrograman tujuan umum.
Kami mendorong Anda mengikuti SQL Fundamentals track dari DataCamp, di mana kami membawa Anda dari pemula hingga mahir dalam SQL dengan 5 kursus hanya dalam 21 jam.
Jadi, apakah SQL Bahasa Pemrograman?
Turing completeness, seperti yang kita bahas sebelumnya, adalah indikator “kekuatan” sebuah bahasa pemrograman. Semakin kuat sebuah bahasa, semakin kompleks perhitungan yang dapat dilakukannya. Dengan diperkenalkannya common table expressions (CTE) dan fungsi Window dalam SQL, kita dapat melakukan perhitungan rekursif dan hierarkis dengan SQL sehingga menjadi semakin kuat dan memenuhi syarat sebagai Turing complete.
Namun, butuh waktu lama bagi Standar SQL untuk menambahkan fitur kueri hierarkis dan rekursif. Maka dari itu, beberapa RDBMS lama dan tradisional mungkin tidak memenuhi syarat sebagai Turing complete.
Kita telah membahas bagaimana bahasa pemrograman umum berbeda dari bahasa pemrograman spesifik domain. Ketika orang mengatakan “bahasa pemrograman”, mereka sering kali bermaksud “bahasa pemrograman tujuan umum”, yang terkadang dapat membingungkan.
Jadi, ketika berbicara tentang definisi yang tepat dari bahasa pemrograman, SQL adalah bahasa pemrograman spesifik domain yang Turing complete. Dengan demikian, SQL memenuhi syarat sebagai bahasa pemrograman.
Bagi Anda yang sudah memahami dasar-dasar SQL dan ingin melangkah lebih jauh serta mulai menggunakan window function, lihat kursus interaktif DataCamp tentang PostgreSQl Summary Stats and Window Functions. Anda akan belajar cara membuat kueri untuk keperluan analitik dan rekayasa data dengan window function, senjata rahasia SQL!
Beragam Jenis SQL
Anda mungkin pernah mendengar tentang berbagai jenis atau dialek SQL: T-SQL, PostgreSQL, MySQL, dan sebagainya. Namun Anda mungkin bertanya-tanya apa saja perbedaan jenis SQL ini dan mengapa ada banyak? Mari kita lihat sejarah singkat SQL.
Edgar Frank Codd, ilmuwan komputer Inggris yang bekerja di IBM, menerbitkan sebuah makalah berjudul “A Relational Model of Data for Large Shared Data Banks” pada tahun 1970. Pada saat itulah ia menemukan model relasional untuk manajemen database, yang sejak itu menjadi dasar teoretis bagi database relasional dan sistem manajemen database relasional.
Setelah itu, upaya dilakukan untuk membuat standar resmi SQL pada akhir 1980-an.
SQL menjadi standar American National Standards Institute (ANSI) pada tahun 1986 dan standar International Organization for Standardization (ISO) pada tahun 1987. Standar SQL telah direvisi berkali-kali sejak 1980-an, meskipun fitur inti dari standar SQL telah stabil sejak 1992.
Namun, variasi baru terus bermunculan karena para pengembang database di berbagai perusahaan perlu menyelesaikan masalah baru atau mengatasi masalah yang sudah ada tetapi tidak dibahas dalam standar SQL. Inilah yang menjelaskan mengapa banyak dialek SQL bermunculan dan masih berdampingan hingga saat ini.
Saat ini hanya ada satu bahasa SQL, tetapi berbagai Sistem Manajemen Database telah memperluas standar SQL asli untuk menambahkan fungsionalitas mereka sendiri atau menyesuaikan sintaks dengan cara kerja mereka masing-masing. Dengan demikian, lahirlah beragam dialek SQL.
Anda dapat membaca lebih lanjut tentang berbagai dialek ini di artikel blog kami yang berjudul ‘SQL Server, PostgreSQL, MySQL... apa bedanya? Mulai dari mana?’
Dialek SQL mana yang perlu dipelajari terlebih dahulu?
Kami menyarankan Anda mulai dengan PostgreSQL.
PostgreSQL adalah sistem database objek-relasional open-source yang andal dan menggunakan serta memperluas bahasa SQL. Ia juga memiliki berbagai fitur yang secara aman menyimpan dan menskalakan beban kerja data yang paling rumit.
Ini adalah yang paling dekat dengan SQL standar dan merupakan dialek SQL yang banyak digunakan. Memulai dengan PostgreSQL akan memberi Anda alat paling fleksibel untuk beradaptasi ke dialek SQL lainnya di kemudian hari dan mentransfer keterampilan Anda ke RDBMS lain.
Kursus Functions for Manipulating Data in PostgreSQL dari DataCamp adalah kursus interaktif tingkat menengah yang sangat baik untuk membantu Anda melangkah ke arah yang benar.
SQL dan Bahasa Prosedural
Jadi, kita tahu bahwa SQL bukan bahasa pemrograman tujuan umum. Namun, Anda dapat mengombinasikan SQL dengan bahasa prosedural untuk meniru beberapa perilaku seperti GPL. Dengan begitu, secara teknis memungkinkan menggunakan SQL di domain selain yang dimaksudkan.
Bahasa prosedural adalah bahasa pemrograman yang secara khusus melibatkan penggunaan fungsi, pernyataan kondisional, dan variabel untuk menulis program yang dikenali komputer guna mencapai keluaran komputasional tertentu.
Semua sistem manajemen database (DBMS) menerima satu atau lebih dialek bahasa prosedural. Beberapa contohnya meliputi:
Procedural Language for SQL (PL/SQL)
Ini adalah ekstensi untuk SQL yang dibuat oleh Oracle Corporation. Mirip dengan bahasa pemrograman tujuan umum, PL/SQL memungkinkan kondisi dan loop. Dengan PL/SQL, Anda juga dapat mendeklarasikan konstanta, variabel, tipe variabel, trigger, prosedur, dan fungsi.
Procedural Language/PostgreSQL (PL/pgSQL)
Ini adalah bahasa prosedural yang didukung oleh sistem manajemen database objek-relasional PostgreSQL yang bersifat open-source. Sangat mirip dengan PL/SQL dari Oracle yang dijelaskan di atas dan mencakup elemen seperti loop dan kondisi. Bahasa ini memungkinkan fungsi buatan pengguna dan juga operator untuk diwariskan.
Transact-SQL (T-SQL)
Ini adalah ekstensi pemrograman dari Sybase dan Microsoft yang memungkinkan deklarasi variabel lokal. Bahasa ini juga membuat perubahan pada pernyataan DELETE dan UPDATE tradisional dari standar SQL. Mencakup kontrol transaksi, penanganan pengecualian dan kesalahan. Digunakan di Microsoft SQL Server, sebuah database yang umum.
Melalui penggunaan ekstensi seperti ini, SQL dapat berperilaku mirip dengan GPL, membuatnya menjadi keterampilan yang semakin kuat dan penting untuk dipelajari!
Mulai belajar SQL.
Semoga kami telah meyakinkan Anda bahwa SQL bukan sekadar bahasa pemrograman. Melainkan sebuah bahasa pemrograman yang kuat yang membantu Anda memaksimalkan data Anda!
Datacamp adalah platform yang sangat baik untuk belajar ilmu data dan analitik secara online. Kami memiliki banyak kursus online berkualitas tinggi yang dapat membantu Anda memahami SQL dan seluk-beluknya.
Introduction to SQL Server kami adalah salah satu kursus interaktif di mana Anda akan berkesempatan menguji pengetahuan dan membangun kepercayaan diri dengan mempraktikkan apa yang Anda pelajari. Anda akan bekerja dengan database media digital untuk meninjau penjualan berbagai artis dan lagu, kumpulan data Eurovision, serta meninjau tren pemadaman listrik di AS untuk mengeksplorasi beragam jenis data dan skenario.
Selamat belajar!
