Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Desain Basis Data

Pelajaran 3 dari 20

Masalah satu tabel besar

Tipe data dan NULL

Setelah pelajaran ini kamu bisa memilih tipe penyimpanan yang tepat di SQLite dan menjelaskan arti NULL dan NOT NULL pada kolom.

±14 menitDiperiksa 28 Sep 2026

Materi

Setiap atribut butuh tipe data. SQLite berbeda dari kebanyakan basis data: tipe kolom hanyalah afinitas, yaitu tipe yang dianjurkan, bukan diwajibkan. Ada lima afinitas: TEXT, NUMERIC, INTEGER, REAL, dan BLOB. Kolom berafinitas INTEGER atau NUMERIC mengubah teks yang berbentuk bilangan bulat menjadi INTEGER sebelum menyimpannya, sehingga nomor telepon 0812345 di kolom INTEGER tersimpan sebagai 812345. Nomor HP, kode pos, dan nomor induk karena itu disimpan sebagai TEXT: angka yang tidak pernah dijumlahkan bukan bilangan.

SQLite juga tidak punya tipe Boolean dan tipe tanggal tersendiri. Nilai benar-salah disimpan sebagai bilangan bulat, dan kata kunci TRUE serta FALSE hanyalah ejaan lain untuk 1 dan 0. Tanggal disimpan sebagai TEXT dengan format ISO 8601 (YYYY-MM-DD), sebagai REAL, atau sebagai INTEGER; format teks ISO tetap terurut benar ketika diurutkan sebagai teks.

CREATE TABLE anggota (
  id      INTEGER PRIMARY KEY,
  nama    TEXT NOT NULL,
  telepon TEXT,             -- teks, supaya nol di depan tetap ada
  aktif   INTEGER NOT NULL, -- 1 = aktif, 0 = tidak
  daftar  TEXT NOT NULL     -- '2026-05-17'
);

NULL berarti nilainya belum diketahui, bukan nol dan bukan teks kosong; kelas SQL Lanjutan sudah membahas cara menyaringnya dengan IS NULL. Dalam desain, pertanyaannya: bolehkah kolom ini kosong? Batasan NOT NULL menolak baris yang kolomnya kosong saat INSERT atau UPDATE. Dokumentasi PostgreSQL menambahkan bahwa tipe data saja terlalu kasar untuk membatasi isi, misalnya harga yang harus positif; untuk itu ada batasan CHECK.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 2 dari 3

SQLite tidak punya tipe Boolean tersendiri. Bilangan bulat berapa yang tersimpan bila kolom lunas diisi TRUE?

Latihan 3 dari 3

Nomor HP 081320000001 (tanpa tanda hubung) dimasukkan ke kolom yang dideklarasikan INTEGER di SQLite. Apa yang tersimpan?

Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke