Konsep Basis Data · Pelajaran 1 dari 9

Apa itu basis data

8 menit baca · BelajarCode

Hampir setiap aplikasi menyimpan data: akun pengguna, transaksi, nilai siswa, stok barang. Data itu disimpan di basis data (database), dan dikelola oleh perangkat lunak yang disebut DBMS (Database Management System), misalnya MySQL, PostgreSQL, SQLite, dan SQL Server.

Kenapa tidak cukup spreadsheet?

Spreadsheet dan basis data
KebutuhanSpreadsheetBasis data
Jumlah dataRibuan baris mulai beratJutaan baris tetap cepat dengan indeks
Banyak pengguna sekaligusRawan bentrokDiatur dengan aman
Aturan dataMudah diisi sembaranganTipe data, kunci, dan batasan dipaksakan
Hubungan antartabelDisalin manualDihubungkan dengan kunci
Diakses programTerbatasLewat SQL dari bahasa apa pun

Model relasional

Basis data relasional menyimpan data dalam tabel. Setiap tabel punya kolom (atribut) dengan tipe tertentu, dan setiap baris adalah satu catatan. Tabel-tabel dihubungkan lewat kolom kunci, dibahas di pelajaran berikutnya.

Bahasa untuk berbicara dengan basis data relasional adalah SQL (Structured Query Language). Perintah SQL inti hampir sama di semua DBMS. Contoh di kursus ini memakai SQLite, dan sebagian besar bisa langsung dipakai di MySQL maupun PostgreSQL.

SQL
1CREATE TABLE siswa (2    id INTEGER PRIMARY KEY,3    nama TEXT NOT NULL,4    kelas TEXT,5    nilai INTEGER6);78INSERT INTO siswa (nama, kelas, nilai) VALUES9    ('Andi', 'XI-1', 80),10    ('Bela', 'XI-2', 92),11    ('Citra', 'XI-1', 75);1213SELECT * FROM siswa;
Hasil
id | nama | kelas | nilai
1 | Andi | XI-1 | 80
2 | Bela | XI-2 | 92
3 | Citra | XI-1 | 75
  • CREATE TABLE membuat tabel beserta kolom dan tipenya.
  • INSERT INTO menambah baris. Kolom id terisi otomatis karena INTEGER PRIMARY KEY.
  • SELECT * FROM siswa mengambil semua kolom (*) dari tabel siswa.
  • Kata kunci SQL tidak membedakan huruf besar dan kecil, tetapi biasa ditulis kapital supaya mudah dibedakan dari nama tabel dan kolom.

Mencoba SQL di Playground

Playground belum menjalankan SQL secara langsung, tetapi Python punya modul sqlite3 bawaan. Salin program ini ke Playground Python, lalu ganti isi perintah SQL-nya untuk mencoba contoh-contoh di kursus ini:

Python
1import sqlite323db = sqlite3.connect(":memory:")4db.executescript("""5CREATE TABLE siswa (id INTEGER PRIMARY KEY, nama TEXT NOT NULL, kelas TEXT, nilai INTEGER);6INSERT INTO siswa (nama, kelas, nilai) VALUES ('Andi', 'XI-1', 80), ('Bela', 'XI-2', 92), ('Citra', 'XI-1', 75);7""")89hasil = db.execute("SELECT * FROM siswa")10print(" | ".join(kolom[0] for kolom in hasil.description))11for baris in hasil:12    print(" | ".join(str(x) for x in baris))
Keluaran
id | nama | kelas | nilai
1 | Andi | XI-1 | 80
2 | Bela | XI-2 | 92
3 | Citra | XI-1 | 75

":memory:" membuat basis data sementara di memori, jadi tidak ada file yang dibuat.

Cek pemahaman

Apa peran DBMS seperti MySQL atau PostgreSQL?

Latihan

Tabel buku

Tulis perintah SQL untuk membuat tabel buku dengan kolom id, judul (wajib diisi), penulis, tahun terbit, dan stok. Masukkan dua buku, lalu tampilkan semuanya.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi