Apa Itu Database? Mengenal Database, DBMS, dan MySQL
Pernah nggak kamu berpikir, bagaimana sebuah aplikasi bisa mengingat data penggunanya?
Misalnya, ketika kamu login ke sebuah website, aplikasi bisa mengenali akunmu. Ketika belanja online, aplikasi bisa menampilkan riwayat pesanan. Bahkan ketika kamu menutup browser dan membukanya lagi, data tersebut masih tersedia.
Apakah ada seseorang di belakang layar yang sibuk mencatat semua aktivitas pengguna?
Tentu saja tidak. Bayangkan kalau penggunanya satu juta orang. Bisa-bisa pegawainya lebih banyak daripada penggunanya.
Salah satu teknologi yang memungkinkan aplikasi menyimpan dan mengelola informasi tersebut adalah database.
Pada artikel pertama Series Database ini, kita akan mengenal apa itu database, bagaimana cara kerjanya, apa bedanya dengan DBMS, dan mengapa kita akan menggunakan MySQL untuk belajar.
Tenang, kita belum akan berhadapan dengan query SQL yang panjang. Kita kenalan dulu supaya nanti tidak sekadar mengetik perintah tanpa memahami tujuannya.
Apa Itu Database?
Secara sederhana, database adalah kumpulan data yang disusun secara terorganisasi agar mudah disimpan, dicari, diperbarui, dan dikelola.
Bayangkan kamu mempunyai toko kecil yang menjual berbagai kebutuhan sehari-hari.
Setiap produk memiliki informasi seperti nama, harga, dan jumlah stok.
| ID | Nama Produk | Harga | Stok |
|---|---|---|---|
| 1 | Kopi Sachet | 2.000 | 50 |
| 2 | Mi Instan | 3.500 | 30 |
| 3 | Air Mineral | 4.000 | 20 |
Ketika seseorang membeli dua kopi sachet, jumlah stok berubah dari 50 menjadi 48.
Kalau semua dicatat di buku, mungkin masih mudah selama jumlah produknya sedikit. Tetapi bagaimana kalau tokonya mempunyai 10.000 produk dan melayani ratusan transaksi setiap hari?
Di sinilah database membantu.
Aplikasi bisa menggunakan database untuk menyimpan informasi produk, mencari produk tertentu, memperbarui stok, dan mencatat transaksi.
Jadi, database bukan sekadar tempat menyimpan data. Database juga membantu memastikan data dapat digunakan dan dikelola secara terstruktur.
Mengapa Aplikasi Membutuhkan Database?
Sebenarnya tidak semua aplikasi membutuhkan database.
Aplikasi kalkulator sederhana, misalnya, bisa menghitung angka tanpa harus menyimpan setiap hasil perhitungan.
Namun, ketika aplikasi perlu mengingat informasi secara berkelanjutan, database menjadi sangat berguna.
1. Menyimpan Informasi Pengguna
Ketika seseorang mendaftar akun, aplikasi mungkin perlu menyimpan username, alamat email, dan informasi profil.
Saat pengguna login, backend dapat mengambil informasi yang diperlukan dari database untuk melakukan proses autentikasi.
Tentu saja, password tidak seharusnya disimpan sebagai teks biasa. Aplikasi yang dirancang dengan baik menyimpan password menggunakan metode hashing yang aman.
2. Mencatat Transaksi
Aplikasi toko online perlu mengetahui produk apa yang dibeli, siapa pembelinya, berapa jumlah barang, dan bagaimana status pesanannya.
Tanpa penyimpanan yang baik, aplikasi akan kesulitan menampilkan riwayat transaksi.
3. Mempermudah Pencarian Data
Bayangkan aplikasi mempunyai 100.000 produk.
Kalau pengguna mencari “kopi”, tentu kita tidak ingin memeriksa produk satu per satu secara manual.
Database menyediakan cara untuk melakukan pencarian menggunakan query. Dengan struktur dan index yang sesuai, pencarian tertentu juga dapat dilakukan secara lebih efisien.
4. Memperbarui Informasi
Harga produk bisa berubah. Stok barang bisa bertambah atau berkurang. Alamat pelanggan juga mungkin diperbarui.
Database memungkinkan aplikasi mengelola perubahan tersebut tanpa harus membuat ulang seluruh data.
Apa Bedanya Database dan DBMS?
Ketika belajar database, kamu akan sering menemukan istilah DBMS.
DBMS adalah singkatan dari Database Management System, yaitu perangkat lunak yang digunakan untuk membuat, mengakses, mengelola, dan mengamankan database.
Lalu apa bedanya?
- Database adalah kumpulan data yang dikelola.
- DBMS adalah perangkat lunak yang digunakan untuk mengelola kumpulan data tersebut.
Anggap saja kamu mempunyai perpustakaan.
Koleksi buku dan informasi tentang buku tersebut bisa dianalogikan sebagai database. Sementara sistem yang digunakan petugas untuk mencatat, mencari, dan mengelola koleksi adalah DBMS.
Beberapa contoh DBMS yang banyak digunakan adalah:
- MySQL
- PostgreSQL
- Oracle Database
- Microsoft SQL Server
- SQLite
Masing-masing mempunyai karakteristik dan kebutuhan penggunaan yang berbeda.
Pada series ini, kita akan fokus menggunakan MySQL.
Apa Itu MySQL?
MySQL adalah salah satu sistem manajemen database relasional atau Relational Database Management System (RDBMS).
Artinya, MySQL digunakan untuk mengelola database yang menyimpan informasi dalam bentuk tabel-tabel yang dapat saling berhubungan.
MySQL banyak digunakan dalam pengembangan aplikasi web karena mendukung SQL, tersedia dalam edisi komunitas gratis, dan dapat digunakan bersama berbagai bahasa pemrograman.
Misalnya, kamu membuat aplikasi menggunakan Node.js.
Node.js menangani permintaan dari pengguna, sedangkan MySQL menyimpan informasi yang diperlukan aplikasi.
Ketika pengguna meminta daftar produk, backend dapat mengambil data produk dari MySQL lalu mengirimkannya ke frontend.
MySQL bukan satu-satunya pilihan database, tetapi cukup cocok untuk mempelajari konsep dasar database relasional dan SQL.
Mengenal Database Relasional
Salah satu konsep penting dalam MySQL adalah database relasional.
Dalam database relasional, data biasanya disimpan dalam tabel. Setiap tabel memiliki kolom dan baris.
Sebagai contoh, kita mempunyai tabel pelanggan:
| id_pelanggan | nama |
|---|---|
| 1 | Budi |
| 2 | Siti |
Kemudian tabel pesanan:
| id_pesanan | id_pelanggan | total |
|---|---|---|
| 101 | 1 | 50000 |
| 102 | 2 | 75000 |
| 103 | 1 | 25000 |
Perhatikan kolom id_pelanggan pada tabel pesanan.
Kolom tersebut menunjukkan pelanggan yang memiliki pesanan.
Dari contoh tersebut, kita dapat mengetahui bahwa pelanggan dengan ID 1, yaitu Budi, mempunyai dua pesanan.
Kita tidak perlu menuliskan nama Budi berulang kali di setiap pesanan.
Hubungan seperti inilah yang menjadi salah satu dasar database relasional.
Nanti kita akan mempelajari bagaimana hubungan tersebut diterapkan menggunakan primary key, foreign key, dan JOIN.
Mengenal Tabel, Kolom, dan Baris
Ada tiga istilah dasar yang wajib kamu pahami sebelum belajar SQL.
Tabel (Table)
Tabel digunakan untuk menyimpan kumpulan data dengan struktur yang sama.
Misalnya, tabel produk menyimpan informasi produk, sedangkan tabel pelanggan menyimpan informasi pelanggan.
Kolom (Column)
Kolom menunjukkan atribut atau jenis informasi yang disimpan.
Pada tabel produk, contohnya adalah id_produk, nama_produk, harga, dan stok.
Setiap kolom biasanya memiliki tipe data tertentu, seperti angka, teks, atau tanggal.
Baris (Row)
Baris merupakan satu data atau record di dalam tabel.
Jika tabel produk memiliki 100 baris, berarti tabel tersebut menyimpan 100 record produk.
Supaya lebih mudah, bayangkan tabel seperti spreadsheet. Kolom adalah bagian vertikal yang memiliki nama, sedangkan baris berisi data individual.
Namun, database relasional mempunyai mekanisme tambahan seperti constraint, relasi, transaksi, dan pengelolaan akses yang tidak bisa disamakan begitu saja dengan spreadsheet.
Bagaimana Frontend, Backend, dan Database Bekerja Sama?
Kalau kamu sudah mengikuti series HTML, CSS, JavaScript, atau Backend/API di BapakGabut, sekarang kita bisa menghubungkan semuanya.
Bayangkan pengguna membuka halaman daftar produk.
Secara sederhana, alurnya seperti ini:
- Pengguna membuka halaman melalui browser.
- Frontend mengirim permintaan ke backend.
- Backend menjalankan query ke MySQL.
- MySQL mengembalikan data yang diminta.
- Backend mengirim respons ke frontend.
- Frontend menampilkan daftar produk kepada pengguna.
Contohnya:
Browser → Backend/API → MySQL → Backend/API → Browser
Perlu diingat, dalam arsitektur web yang umum, browser tidak langsung terhubung ke database MySQL.
Backend menjadi perantara yang menangani validasi, autentikasi, otorisasi, dan proses bisnis sebelum mengakses database.
Jadi, kalau frontend adalah bagian yang dilihat pengguna dan backend adalah bagian yang memproses permintaan, database merupakan salah satu komponen yang bertugas menyimpan serta menyediakan data.
Ketiganya saling melengkapi.
Apakah Database Sama dengan SQL?
Tidak.
Database adalah kumpulan data, sedangkan SQL (Structured Query Language) adalah bahasa yang digunakan untuk berinteraksi dengan database relasional.
Dengan SQL, kita bisa melakukan berbagai operasi, seperti:
- Membuat tabel.
- Menambahkan data.
- Mengambil data.
- Mengubah data.
- Menghapus data.
- Mengelola struktur dan hubungan antartabel.
Sebagai gambaran, berikut contoh query sederhana:
SELECT * FROM produk;Perintah tersebut meminta seluruh kolom dari tabel produk.
Belum perlu menghafalnya sekarang.
Pada artikel berikutnya kita akan menyiapkan MySQL terlebih dahulu. Setelah itu, barulah kita belajar membuat tabel dan menjalankan query secara bertahap.
Apakah Belajar Database Itu Sulit?
Di awal mungkin terlihat cukup rumit.
Ada banyak istilah baru seperti SQL, primary key, foreign key, index, transaction, dan sebagainya.
Tetapi sebenarnya konsep-konsep tersebut saling berhubungan.
Kita tidak harus memahami semuanya sekaligus.
Mulailah dari mengetahui bagaimana data disimpan dalam tabel. Setelah itu belajar mengambil dan mengubah data, kemudian memahami hubungan antartabel.
Kalau sudah terbiasa, kita bisa mempelajari cara membuat query lebih efisien dan menjaga konsistensi data.
Yang penting bukan seberapa banyak sintaks yang kamu hafal, melainkan apakah kamu memahami apa yang sedang dilakukan oleh query tersebut.
Karena dalam pekerjaan nyata, query yang berhasil dijalankan belum tentu menghasilkan data yang benar.
Dan percayalah, memperbaiki data yang salah kadang jauh lebih melelahkan daripada memperbaiki query yang error.
Kesimpulan
Pada artikel ini, kita sudah mengenal beberapa konsep dasar:
- Database adalah kumpulan data yang dikelola secara terorganisasi.
- DBMS adalah perangkat lunak untuk mengelola database.
- MySQL merupakan salah satu DBMS relasional yang banyak digunakan.
- Database relasional menyimpan data dalam tabel yang dapat saling berhubungan.
- Tabel terdiri dari kolom dan baris.
- SQL digunakan untuk berinteraksi dengan database relasional.
- Dalam aplikasi web, backend umumnya menjadi perantara antara frontend dan database.
Sekarang setidaknya kita sudah tahu apa yang dimaksud database dan mengapa keberadaannya penting dalam sebuah aplikasi.
Pada Bab 2, kita akan mulai praktik dengan memasang MySQL dan menghubungkannya ke DBeaver.
Sampai jumpa di artikel berikutnya, Gabuters!
Bagikan Artikel
Buat poster berbagi atau salin tautan artikel ini.
Lanjut membaca
Coba jalur lain
Pilihan konsisten dari artikel lain
Terakhir diperbarui pada , 20 hari yang lalu
Sebagian konten mungkin sudah tidak berlaku