NEW
Font size
WorksheetsNormalisasi
Total questions: 10
Worksheet time: 10mins
Seorang manajer proyek menyatakan, "Normalisasi database itu hanya membuang-buang waktu. Lebih baik kita langsung coding dan input data saja." Sebagai anggota tim, Anda mengetahui bahwa pendekatan ini akan menimbulkan masalah serius di kemudian hari.
Bagaimana sebaiknya sikap Anda dalam menanggapi pernyataan manajer tersebut?
Menerima dan mengikuti keputusan manajer karena ia yang memiliki jabatan lebih tinggi.
Diam saja tetapi dalam hati tidak setuju, dan berharap masalah tidak terjadi.
Menolak secara tegas pendapat manajer tersebut di depan seluruh tim untuk menunjukkan keahlian Anda.
Menghargai pendapat manajer, tetapi dengan sopan menyampaikan pentingnya normalisasi untuk menghindari masalah integritas data dan kerumitan maintenance di masa depan.
Mengabaikan pernyataan tersebut dan diam-diam merancang database yang ternormalisasi tanpa sepengetahuan manajer.
Perhatikan istilah-istilah berikut:
1. Setiap atribut non-kunci bergantung secara fungsional pada primary key.
2. Menghilangkan ketergantungan parsial.
3. Menghilangkan ketergantungan transitif.
Manakah pasangan yang PALING TEPAT antara tujuan normalisasi dengan bentuk normalnya?
1 - First Normal Form (1NF)
1 - Second Normal Form (2NF)
2 - First Normal Form (1NF)
2 - Third Normal Form (3NF)
3 - Second Normal Form (2NF)
Dalam sebuah rapat tim pengembangan sistem, Anda menyampaikan proposal desain database yang sudah dinormalisasi hingga 3NF. Seorang rekan senior yang dihormati mengkritik, "Desain ini terlalu rumit, akan membuat query jadi lambat. Denormalisasi saja untuk performa." Anda yakin dengan dasar teori yang Anda pegang, tetapi juga menghormati pengalaman rekan senior tersebut.
Tindakan apa yang PALING mencerminkan sikap bertanggung jawab dan terbuka?
Bersikap terbuka terhadap masukan, menganalisis lebih lanjut titik-titik yang dapat didenormalisasi tanpa mengorbankan integritas data, dan mendiskusikan trade-off antara performa dan konsistensi.
Mempertahankan pendapat sendiri dengan keras kepala karena Anda yakin teori yang Anda pelajari adalah yang paling benar.
Langsung setuju dengan rekan senior dan mengubah seluruh desain menjadi denormalisasi total.
Diam dan membiarkan konflik ini diselesaikan oleh pimpinan proyek.
Menganggap rekan senior tidak update dengan teknologi terbaru dan mengabaikan sarannya.
Perhatikan tabel Pesanan berikut yang belum dinormalisasi:
Berdasarkan prinsip First Normal Form (1NF), apa masalah utama pada struktur tabel di samping?
Terdapat ketergantungan transitif antara Nama_Pelanggan dan ID_Pesanan.
Terdapat grup atribut berulang (Produk1, Harga1, Produk2, Harga2) yang menyebabkan nilai NULL.
Atribut Nama_Pelanggan bergantung parsial pada ID_Pesanan.
Tabel tidak memiliki primary key.
Nilai pada kolom Harga1 dan Harga2 tidak konsisten.
Anda bergabung dengan tim warisan (legacy team) yang sistem database-nya sangat berantakan dan tidak dinormalisasi. Banyak data duplikat dan anomali. Tim lain sering mengeluh. Anda adalah junior di tim ini.
Nilai internal apa yang akan mendorong Anda untuk mengusulkan perbaikan, meskipun Anda adalah junior?
Keinginan untuk dipuji oleh atasan dan mendapatkan promosi.
Rasa tanggung jawab profesional dan keyakinan bahwa sistem yang baik akan membantu seluruh perusahaan bekerja lebih efektif.
Keinginan untuk menunjukkan bahwa senior-senior Anda telah melakukan kesalahan.
Ketakutan bahwa sistem akan rusak dan Anda yang akan disalahkan.
Tidak ada, lebih baik menunggu perintah dari atasan langsung.
Sebuah tabel Penjualan memiliki struktur berikut:
Diketahui bahwa Nama_Pelanggan dan Alamat_Pelanggan bergantung pada Kode_Pelanggan. Sedangkan Nama_Barang dan Kategori_Barang bergantung pada Kode_Barang.
Memecah tabel menjadi Penjualan dan Barang, lalu memindahkan Kode_Barang, Nama_Barang, Kategori_Barang ke tabel Barang.
Memecah tabel menjadi Penjualan, Pelanggan, dan Barang.
Menghapus kolom Nama_Pelanggan dan Nama_Barang karena sudah redundant.
Menggabungkan Kode_Pelanggan dan Kode_Barang menjadi primary key komposit.
Menambahkan kolom Total_Harga yang merupakan hasil kali Jumlah dan Harga_Satuan.
Seorang klien meminta fitur laporan yang sangat kompleks dan mendesak. Analisis menunjukkan bahwa untuk memenuhi permintaan ini dengan cepat, tim Anda harus "melanggar" aturan normalisasi dengan membuat tabel tambahan yang berisi data duplikat (denormalisasi).
Bagaimana Anda mengorganisasi nilai-nilai (prinsip normalisasi vs kebutuhan bisnis) dalam menyikapi hal ini?
Pernyataan 1: Normalisasi adalah hukum mutlak yang tidak boleh dilanggar dalam keadaan apa pun.
Pernyataan 2: Denormalisasi adalah pilihan yang sah sebagai trade-off untuk performa, asalkan dilakukan secara sadar, terdokumentasi, dan risikonya dikelola.
Pernyataan 1 benar, Pernyataan 2 salah.
Pernyataan 1 salah, Pernyataan 2 benar.
Kedua pernyataan benar, tetapi Pernyataan 2 lebih merepresentasikan pendekatan yang bijaksana dan terorganisir dalam dunia nyata.
Kedua pernyataan salah.
Kedua pernyataan benar dan memiliki bobot yang setara.
Berdasarkan diagram ketergantungan di atas, analisis masalah yang terjadi dan bentuk normal mana yang dilanggar?
Hanya 1NF yang dilanggar karena tidak ada primary key.
Terdapat pelanggaran 2NF (jika ID_Peminjaman adalah PK komposit) dan 3NF karena Nama_Anggota bergantung transitif pada ID_Peminjaman melalui ID_Anggota.
Tabel sudah berada dalam 3NF, tidak ada masalah.
Hanya pelanggaran 2NF karena Judul_Buku bergantung parsial pada ISBN.
Pelanggaran terjadi pada 1NF karena ada ketergantungan transitif.
Setelah bertahun-tahun bekerja, Anda menjadi seorang arsitek database senior. Anda melihat banyak praktik buruk di industri. Anda diundang untuk memberikan seminar kepada mahasiswa Teknik Informatika.
Poin utama apa yang ingin Anda sampaikan mengenai filosofi di balik normalisasi, yang melampaui sekadar aturan teknis?
Normalisasi adalah tentang menghafal bentuk-bentuk normal untuk lulus ujian.
Normalisasi pada hakikatnya adalah tentang menciptakan "kebenaran" dalam data; sebuah sistem yang dirancang dengan baik mencerminkan kejujuran, keteraturan, dan kemudahan untuk dirawat, yang merupakan nilai inti dari rekayasa perangkat lunak.
Normalisasi adalah teknik lama yang sudah tidak relevan dengan database NoSQL modern.
Tujuan utama normalisasi adalah mempersulit programmer junior agar hanya senior yang bisa memahami sistem.
Normalisasi adalah pilihan, boleh dilakukan boleh tidak, tergantung mood developer.
Tim Anda dihadapkan pada dua opsi desain untuk fitur baru:
Opsi A: Database yang dinormalisasi sempurna (3NF). Query laporan kompleks membutuhkan banyak JOIN dan dianggap lambat.
Opsi B: Database yang sedikit didenormalisasi. Beberapa data disimpan duplikat untuk mempercepat query laporan.
Bagaimana Anda menilai kedua opsi tersebut?
Pernyataan 1: Opsi A selalu lebih baik karena menjamin konsistensi data dan menghindari anomali update.
Pernyataan 2: Opsi B dapat menjadi pilihan yang lebih unggul jika peningkatan performa untuk pengguna akhir secara signifikan lebih bernilai daripada sedikit penurunan konsistensi, asalkan mekanisme sinkronisasi data diterapkan.
Pernyataan 1 benar, Pernyataan 2 salah.
Pernyataan 1 salah (karena tidak 'selalu' lebih baik), Pernyataan 2 benar.
Kedua pernyataan benar.
Kedua pernyataan salah.
Kedua pernyataan adalah opini yang tidak dapat dinilai benar salah.
