Menu
CoddyTech

Apa Itu Database?

Database adalah kumpulan data yang terorganisasi dan disimpan di komputer supaya program bisa mencari, menambah, mengubah, dan menghapusnya dengan cepat dan aman. Database dikelola oleh software yang disebut database management system (DBMS), seperti PostgreSQL, MySQL, SQLite, atau MongoDB.

Oleh Kevin Spektor, Co-founder & CTO

Diperbarui 24 September 2026

Saat kamu masuk ke sebuah website, situs itu harus menemukan akunmu di antara jutaan akun lain, memeriksa password-mu, dan memuat pengaturanmu, semuanya dalam beberapa milidetik. Situs itu tidak membuka file teks lalu membacanya baris demi baris. Ia mengirim permintaan seperti SELECT * FROM users WHERE email = 'ana@example.com' ke database, dan database langsung melompat ke baris yang tepat dengan memakai index, mirip indeks di bagian belakang sebuah buku.

Cara kerja database

Ada dua bagian yang bekerja sama. Database adalah datanya, yang tersusun dalam struktur yang tetap. Database management system (DBMS) adalah program yang menyimpan data itu dalam file, menjaganya tetap konsisten, dan menjawab permintaan. PostgreSQL, MySQL, dan SQLite adalah DBMS; daftar pelangganmu adalah database-nya.

Dalam database relasional, data tinggal di dalam tabel. Setiap tabel punya kolom (nama, negara, poin) dan baris (satu per pengguna). Sebuah permintaan melewati langkah-langkah berikut:

  1. Programmu mengirim query, biasanya ditulis dalam SQL (Structured Query Language).
  2. DBMS mem-parse query itu dan merencanakan cara menjawabnya: tabel mana yang dibaca dan apakah sebuah index bisa melewati sebagian besar baris.
  3. DBMS membaca data dari disk dalam page berukuran tetap (secara default 4.096 byte di SQLite, 8 KB di PostgreSQL), sambil menyimpan page yang sering dipakai di memori.
  4. DBMS menyaring, mengurutkan, dan menggabungkan baris, lalu mengembalikan hasilnya.

Python menyertakan SQLite, jadi kamu bisa menjalankan database sungguhan di sini:

Kenji 340
Omar 340
Ana 120
users: 4 average points: 222.5

Program itu tidak pernah menjelaskan cara mencari. Program hanya menggambarkan hasil yang diinginkannya, dan DBMS yang memutuskan cara mendapatkannya. Itulah perbedaan utama antara bertanya kepada database dan menulis loop atas sebuah list.

Jenis-jenis database

JenisMenyimpan data sebagaiContohPemakaian yang umum
Relasional (SQL)Tabel berisi baris dan kolom, dihubungkan lewat keyPostgreSQL, MySQL, SQLite, Oracle, SQL ServerPengguna, pesanan, pembayaran: sebagian besar aplikasi
DokumenDokumen mirip JSONMongoDB, Firestore, CouchDBCatatan yang field-nya berbeda-beda dari satu ke yang lain
Key-valueNilai yang dicari lewat satu keyRedis, DynamoDBCache, session, penghitung
Wide-columnBaris dengan kolom fleksibel yang tersebar di banyak serverCassandra, HBaseVolume penulisan yang sangat tinggi
GraphNode dan hubungan antarnodeNeo4jJejaring sosial, rekomendasi
Time-seriesPengukuran yang diindeks berdasarkan waktuInfluxDB, TimescaleDBMetrik, data sensor
VectorDeretan angka (embedding)pgvector, Pinecone, MilvusPencarian kemiripan untuk fitur AI

Semua yang bukan relasional sering dikelompokkan sebagai NoSQL. Database relasional tetap menjadi pilihan default untuk sebagian besar aplikasi, karena tabel, constraint, dan SQL bisa menangani berbagai macam masalah dengan baik. Banyak produk juga menggabungkan beberapa jenis: PostgreSQL bisa menyimpan dokumen JSON, dan pgvector menambahkan pencarian vector ke dalamnya.

Transaksi: semua atau tidak sama sekali

Memindahkan uang dari Ana ke Ben butuh dua perubahan: tambahkan ke Ben, kurangi dari Ana. Kalau program crash di antara keduanya, uang muncul entah dari mana. Transaksi mengelompokkan perubahan supaya semuanya tersimpan atau tidak ada satu pun yang tersimpan. Di sini perubahan kedua melanggar sebuah aturan (saldo tidak boleh di bawah nol), jadi database juga membatalkan perubahan pertama:

transfer 30 done
{'ana': 20, 'ben': 30}
transfer 40 failed: CHECK constraint failed: balance >= 0
{'ana': 20, 'ben': 30}

Uang 40 untuk Ben sempat ditambahkan lalu ditarik kembali, jadi totalnya tetap sesuai. Database relasional menjanjikan empat sifat untuk transaksi, yang dikenal sebagai ACID: atomic (semua atau tidak sama sekali), consistent (aturan seperti CHECK selalu terpenuhi), isolated (dua pengguna yang menjalankan transaksi bersamaan tidak melihat pekerjaan setengah jadi milik satu sama lain), dan durable (begitu tersimpan, sebuah perubahan tetap ada meskipun terjadi crash atau listrik padam).

Database vs spreadsheet vs file

File teks atau CSVSpreadsheetDatabase
UkuranSebanyak yang bisa dimuat programmu1.048.576 baris per sheet di ExcelMiliaran baris
Banyak penulis sekaligusTidakTerbatasYa, dengan lock dan transaksi
Menemukan satu catatanMembaca seluruh fileFilter atau pencarianPencarian lewat index
Aturan pada dataTidak adaValidasi opsionalTipe, constraint, foreign key
Mengajukan pertanyaanMenulis kode sendiriRumusSQL atau API query

Spreadsheet adalah alat yang bagus untuk satu orang yang melihat beberapa ribu baris. Begitu beberapa program atau pengguna menulis data pada saat yang sama, atau datanya harus mengikuti aturan, database adalah alat yang tepat.

Bagaimana database melindungi data

DBMS menulis setiap perubahan ke sebuah log sebelum menyentuh file datanya (write-ahead log), jadi setelah crash, DBMS bisa memutar ulang atau membatalkan pekerjaan yang belum selesai. PostgreSQL bisa menyimpan checksum di setiap page berukuran 8 KB dan melaporkan kegagalan checksum saat disk yang rusak mengembalikan data yang rusak. Pengguna dan izin menentukan siapa yang boleh membaca atau mengubah tabel mana, dan replikasi menyimpan salinan di server lain. Program juga harus memasukkan input pengguna sebagai parameter, seperti placeholder ? di atas, dan tidak pernah dengan menempelkannya langsung ke teks SQL, karena dari situlah serangan SQL injection terjadi.

Kesalahpahaman yang umum

  • "SQL adalah database." SQL adalah bahasanya. PostgreSQL, MySQL, dan SQLite adalah database yang memahaminya.
  • "NoSQL berarti sama sekali tanpa SQL." Istilah ini biasanya dibaca sebagai "not only SQL", dan beberapa database NoSQL punya bahasa query yang mirip SQL, seperti CQL milik Cassandra.
  • "Database selalu berupa server besar." SQLite adalah satu file yang dibuka langsung oleh sebuah program, tanpa server sama sekali. SQLite berjalan di dalam setiap ponsel Android dan iOS.
  • "Data di database aman selamanya." Database melindungi dari crash, bukan dari seseorang yang menjalankan DELETE secara tidak sengaja. Backup tetap dibutuhkan.

Lanjut ke mana

Kursus SQL mengajarkan query sejak SELECT yang pertama. Dokumentasi SQLite membahas langkah-langkah berikutnya: apa itu SQLite, membuat tabel, index, dan mencegah SQL injection. Untuk melihat bagaimana data tersusun di disk, baca apa itu byte, dan checksum menjelaskan bagaimana page yang rusak dideteksi.

Pertanyaan yang sering diajukan

Apa itu database dalam bahasa sederhana?

Database adalah tempat sebuah program menyimpan informasi supaya bisa menemukannya lagi dengan cepat. Bayangkan lemari arsip dengan indeks yang sempurna: kamu meminta "semua pesanan minggu lalu" dan mendapat jawabannya dalam hitungan milidetik, bahkan saat ada jutaan catatan.

Apa contoh database?

Kontak di ponselmu disimpan di sebuah database: Android dan iOS sama-sama menyertakan SQLite. Bank menyimpan rekening nasabah di database seperti Oracle atau PostgreSQL, dan Wikipedia menyimpan artikel-artikelnya di MariaDB. Toko online menyimpan produk, pelanggan, dan pesanan di tabel-tabel yang saling berhubungan.

Apa saja empat jenis database?

Tidak ada daftar resmi berisi empat jenis. Empat yang paling sering disebut adalah database relasional (tabel dan SQL), database dokumen (catatan mirip JSON), key-value store (nilai yang dicari lewat sebuah key), dan database graph (node dan hubungan antarnode). Buku pelajaran yang lebih lama juga mencantumkan database hierarkis dan database network.

Apa saja 5 database teratas?

Oracle, MySQL, Microsoft SQL Server, PostgreSQL, dan MongoDB sudah bertahun-tahun menempati lima besar peringkat popularitas DB-Engines. Di kalangan developer, PostgreSQL menjadi database yang paling banyak dipakai dalam Stack Overflow Developer Survey sejak 2023, dan SQLite adalah yang paling luas terpasang, karena ikut tertanam di dalam ponsel dan browser.

Apa bedanya database dan DBMS?

Database adalah datanya sendiri, yang tersusun dalam tabel atau dokumen. DBMS adalah software yang menyimpan data itu di disk dan menjawab permintaan atasnya, seperti PostgreSQL atau MySQL. Orang sering menyebut keduanya "database".

Apakah saya harus belajar SQL untuk memakai database?

Untuk database relasional, ya: SQL adalah cara kamu membuat tabel dan mengajukan pertanyaan kepada data, dan dasar-dasarnya bisa dipelajari dalam beberapa hari. Banyak program memakai library yang menuliskan SQL untukmu, tetapi menguasai SQL membuatmu jauh lebih mudah memahami apa yang dilakukan library itu dan kenapa sebuah query lambat.

Ilustrasi bahasa pemrograman di Coddy

Belajar coding dengan Coddy

Mulai