Tampilan
Pertemuan 11: Jenis Atribut dan Key
Tujuan pembelajaran
Setelah pertemuan ini, Anda mampu:
- mengklasifikasikan atribut berdasarkan sifatnya;
- membedakan superkey, candidate key, dan primary key;
- menentukan primary key yang tepat pada sebuah tabel.
Pertemuan ini adalah bekal wajib sebelum normalisasi.
Peta materi
1. Lima cara menggolongkan atribut
| Jenis | Arti | Contoh |
|---|---|---|
| Attribute key | Nilai unik untuk mengenali satu baris. Disebut juga primary key. Jika dipinjam tabel lain disebut foreign key | NIM, SKU, Email |
| Simple | Tidak bisa diuraikan lagi | Nama, Harga |
| Composite | Masih bisa diuraikan | Alamat (jalan, kota, provinsi, kode pos) |
| Single-value | Satu nilai per baris | Tanggal lahir |
| Multi-value | Lebih dari satu nilai per baris | Kolom "produk" berisi "sepatu, kaos, topi" |
| Mandatory | Wajib diisi, tidak boleh kosong (NULL) | Email pembeli |
| Derived | Nilainya hasil olahan atribut lain | Total belanja = jumlah x harga |
Simple dan composite
Kolom Alamat yang berisi "Jl. Mawar 1, Pamekasan, Jawa Timur, 69311" adalah composite karena masih bisa dipecah menjadi jalan, kota, provinsi, dan kode pos. Dengan dipecah, kita bisa mencari semua pembeli di kota tertentu.
Single-value dan multi-value
Jika semua produk dalam satu pesanan digabung di satu kolom ("sepatu, kaos, topi"), itu multi-value. Sulit dicari dan dihitung. Solusinya: satu nilai per baris atau per kolom, bahkan lebih baik dipisah menjadi tabel sendiri.
Mandatory
Pada laporan order, kolom Produk 2, Produk 3, dan Produk 4 bukan mandatory karena pembeli tidak selalu membeli empat barang. Sebaliknya, Email pembeli mandatory.
Derived
Contoh pada laporan order: Produk Total, Total Berat, dan Total Belanja. Nilainya bisa dihitung kapan saja dari atribut lain, sehingga pada normalisasi kita biasanya menghapusnya.
2. Tiga tingkat key
Analogi: sebuah perusahaan ingin mengenali karyawannya dengan pasti.
Superkey
Satu atau gabungan atribut yang bisa membedakan setiap baris secara unik, walaupun ada atribut yang sebenarnya berlebihan.
Tabel produk (kode_produk, nama_produk, berat, harga, kode_penjual). Superkey-nya antara lain:
- (kode_produk, nama_produk, berat, harga, kode_penjual)
- (nama_produk, kode_penjual), jika dijamin penjual tidak menjual barang bernama sama
- (kode_produk, kode_penjual)
- (kode_produk)
Analogi: "nomor KTP + nama + alamat" tetap bisa mengenali seseorang, meskipun nama dan alamat sebenarnya tidak perlu.
Candidate key
Superkey yang minimal: tidak ada atribut yang bisa dibuang lagi tanpa merusak keunikannya.
- (kode_produk)
- (nama_produk), jika dijamin nama produk tidak boleh dibuat lebih dari sekali
Primary key
Satu candidate key yang dipilih sebagai kunci utama, yaitu yang paling cocok dan paling terjamin keunikannya. Pada tabel produk: kode_produk.
Mengapa bukan nama_produk?
Nama produk bisa saja berubah, dan sulit menjamin tidak ada nama kembar dari penjual berbeda. Kode produk dibuat sistem dan tidak berubah, jadi lebih aman.
Hubungan antar key
Semua primary key adalah candidate key, dan semua candidate key adalah superkey, tetapi tidak sebaliknya.
Latihan
Tabel mahasiswa (nim, nik, nama, email, prodi) dengan asumsi nim, nik, dan email masing-masing unik.
- Sebutkan tiga contoh superkey.
- Sebutkan semua candidate key.
- Pilih satu primary key dan jelaskan alasannya.
- Klasifikasikan atribut berikut: alamat lengkap, nomor telepon (satu mahasiswa boleh punya dua), IPK (dihitung dari nilai).
Contoh jawaban
- (nim), (nim, nama), (nik, email, prodi). Banyak kemungkinan lain.
- (nim), (nik), (email). Masing-masing sudah minimal dan unik.
- nim, karena dibuat institusi, stabil, dan tidak berubah. Email bisa berganti, NIK bersifat sensitif.
- Alamat lengkap: composite. Nomor telepon: multi-value. IPK: derived.
Kuis cepat
1. Kolom alamat yang berisi jalan, kota, provinsi, dan kode pos sekaligus adalah...
2. Kolom Total Belanja yang dihitung dari jumlah dikali harga adalah...
3. Superkey yang minimal, tidak ada atribut yang bisa dibuang lagi, disebut...
4. Hubungan yang benar antar jenis key adalah...
5. Kolom yang boleh kosong (NULL) disebut...
Terjawab 0 dari 5 soal
Rangkuman
Yang harus diingat
- Atribut punya jenis: key, simple/composite, single/multi-value, mandatory, derived.
- Superkey membedakan baris (boleh berlebihan), candidate key minimal, primary key adalah satu candidate key terpilih.
- Pilih primary key yang stabil dan terjamin unik.
| Istilah | Arti |
|---|---|
| Composite attribute | Atribut yang bisa diuraikan |
| Multi-value attribute | Atribut dengan lebih dari satu nilai |
| Derived attribute | Atribut hasil olahan |
| Superkey | Kombinasi atribut yang unik |
| Candidate key | Superkey minimal |
| Primary key | Candidate key yang dipilih |
Tugas mandiri
Ambil tabel dari kasus kelompok Anda. Klasifikasikan setiap kolomnya berdasarkan lima jenis atribut, lalu tuliskan superkey, candidate key, dan primary key beserta alasan pemilihannya.
Progres tersimpan di browser Anda dan tampil di halaman beranda.