{"id":65535,"date":"2026-07-06T08:41:00","date_gmt":"2026-07-06T01:41:00","guid":{"rendered":"https:\/\/www.rumahweb.com\/journal\/?p=65535"},"modified":"2026-07-03T15:43:52","modified_gmt":"2026-07-03T08:43:52","slug":"belajar-sql-database-14","status":"publish","type":"post","link":"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-14\/","title":{"rendered":"Belajar SQL Database Bagian 14 \u2013 Normalisasi Database"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Pada seri Belajar SQL Database Bagian 13, kita telah mempelajari penggunaan index untuk meningkatkan <a href=\"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-13\/\" target=\"_blank\" rel=\"noopener\" title=\"\">performa <em>query<\/em><\/a>. Namun, performa database tidak hanya dipengaruhi oleh index atau <em>query <\/em>yang digunakan. Struktur tabel yang dirancang dengan baik juga memiliki peran penting agar data tetap rapi, mudah dikelola, dan efisien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Saat pertama kali belajar SQL, banyak orang cenderung menyimpan seluruh data ke dalam satu tabel karena terlihat lebih sederhana. Pendekatan ini memang masih dapat digunakan untuk data dalam jumlah kecil. Namun, seiring bertambahnya data, biasanya akan muncul berbagai masalah, seperti data yang berulang (<em>redundancy<\/em>), proses pembaruan yang lebih rumit, hingga meningkatnya risiko inkonsistensi data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Untuk mengatasi masalah tersebut, database mengenal konsep normalisasi, yaitu proses menyusun struktur tabel agar lebih efisien dan meminimalkan duplikasi data. Sebagai contoh, perhatikan tabel mahasiswa berikut.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"185\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-1024x185.png\" alt=\"Data awal tabel mahasiswa - belajar sql database\" class=\"wp-image-65539\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-1024x185.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-300x54.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-768x139.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-370x67.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-270x49.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-570x103.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34-740x134.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-34.png 1394w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sekilas, tabel tersebut terlihat normal. Namun, jika jumlah mahasiswa terus bertambah, beberapa masalah mulai muncul.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nama jurusan akan tersimpan berulang kali.<\/li>\n\n\n\n<li>Mata kuliah yang diambil mahasiswa ditulis dalam satu kolom.<\/li>\n\n\n\n<li>Data mahasiswa, jurusan, dan mata kuliah masih bercampur dalam satu tabel.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Untuk mengatasi masalah tersebut, kita dapat menggunakan teknik yang disebut <strong>normalisasi database<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Apa itu Normalisasi Database?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Normalisasi database adalah proses menyusun data ke dalam beberapa tabel yang saling berhubungan agar data lebih rapi dan tidak banyak terjadi duplikasi. Tujuan utamanya bukan hanya menghemat penyimpanan, tetapi juga mempermudah pengelolaan data ketika database semakin besar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dalam database relasional, normalisasi biasanya dilakukan secara bertahap melalui beberapa tingkatan yang disebut <strong>Normal Form (NF)<\/strong>. Tiga bentuk normalisasi yang paling sering digunakan adalah:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First Normal Form (1NF)<\/li>\n\n\n\n<li>Second Normal Form (2NF)<\/li>\n\n\n\n<li>Third Normal Form (3NF)<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Selengkapnya tentang Normalisasi Database bisa Anda pelajari pada artikel berikut: <a href=\"https:\/\/blog.rumahweb.com\/normalisasi-database-adalah\/\" target=\"_blank\" rel=\"noopener\" title=\"normalisasi database\">Apa itu normalisasi database?<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Mengapa penting dan kapan perlu melakukan Normalisasi Database?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Dalam proses belajar SQL database, memahami normalisasi merupakan salah satu langkah penting untuk membangun struktur data yang rapi, efisien, dan mudah dikelola. Dengan menerapkan normalisasi, setiap data hanya disimpan pada tempat yang semestinya sehingga risiko duplikasi dan inkonsistensi dapat dikurangi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sebagai contoh, jika informasi dosen disimpan berulang kali pada setiap baris data mahasiswa, perubahan nama dosen harus dilakukan di banyak tempat sekaligus. Kondisi seperti ini meningkatkan kemungkinan terjadinya kesalahan. Melalui normalisasi, data dosen dipisahkan ke tabel tersendiri sehingga perubahan cukup dilakukan satu kali saja.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Normalisasi sebaiknya mulai diterapkan ketika:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Database mulai memiliki banyak tabel yang saling berhubungan.<\/li>\n\n\n\n<li>Data yang sama sering muncul berulang kali.<\/li>\n\n\n\n<li>Proses update atau penghapusan data mulai terasa rumit.<\/li>\n\n\n\n<li>Aplikasi akan terus dikembangkan dalam jangka panjang.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sebaliknya, untuk aplikasi sederhana atau proyek belajar dengan data yang masih sedikit, normalisasi tidak harus dilakukan secara berlebihan. Struktur database yang terlalu kompleks justru dapat membuat proses pengembangan menjadi lebih sulit.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cara Melakukan Normalisasi Database<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Agar lebih mudah dipahami, kita akan menggunakan contoh database mahasiswa yang sama dari awal hingga akhir pembahasan.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">First Normal Form (1NF)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Langkah pertama dalam normalisasi database adalah memastikan setiap kolom hanya menyimpan satu nilai.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Perhatikan tabel berikut:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"185\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-1024x185.png\" alt=\"Data tabel mahasiswa_awal\" class=\"wp-image-65542\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-1024x185.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-300x54.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-768x139.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-370x67.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-270x49.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-570x103.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36-740x134.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-36.png 1394w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Mahasiswa bernama Andi mengambil dua mata kuliah. Karena itu, kedua mata kuliah tersebut ditulis dalam satu kolom yang sama. Meskipun terlihat praktis, cara seperti ini akan menyulitkan ketika kita ingin mencari, memfilter, atau mengolah data mata kuliah tertentu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pada First Normal Form (1NF), setiap kolom hanya boleh menyimpan satu nilai. Karena itu data mata kuliah perlu dipisahkan menjadi beberapa baris agar lebih mudah diproses oleh database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tabel tersebut dapat diubah menjadi:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"227\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-1024x227.png\" alt=\"hasil dari penerapan normalisasi 1NF\" class=\"wp-image-65543\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-1024x227.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-300x67.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-768x171.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-370x82.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-270x60.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-570x127.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37-740x164.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-37.png 1261w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sekarang, setiap baris hanya menyimpan satu mata kuliah sehingga tabel sudah memenuhi aturan 1NF.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Second Normal Form (2NF)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah memenuhi 1NF, struktur data memang menjadi lebih baik. Namun jika diperhatikan, masih ada data yang berulang. Contohnya nama Andi muncul dua kali karena mengambil dua mata kuliah.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"165\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-1024x165.png\" alt=\"Data tabel mahasiswa_awal dengan nama Andi\" class=\"wp-image-65550\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-1024x165.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-300x48.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-768x124.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-370x60.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-270x44.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-570x92.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43-740x120.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-43.png 1318w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Jika suatu saat Andi mengambil delapan mata kuliah, maka nama Andi akan tersimpan delapan kali juga. Agar lebih efisien, data mahasiswa dan mata kuliah dapat dipisahkan ke tabel yang berbeda.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tabel Mahasiswa<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut adalah contoh tabel mahasiswa stelah dilakukan normalisasi 2NF. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"224\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-1024x224.png\" alt=\"isi tabel mata kuliah hasil dari penerapan normalisasi 2NF\" class=\"wp-image-65546\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-1024x224.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-300x66.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-768x168.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-370x81.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-270x59.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-570x125.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40-740x162.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-40.png 1149w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Tabel Mata Kuliah<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut adalah contoh tabel mata_kuliah setelah dilakukan normalisasi 2NF. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"211\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-1024x211.png\" alt=\"isi tabel mahasiswa hasil dari penerapan normalisasi 2NF\" class=\"wp-image-65547\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-1024x211.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-300x62.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-768x158.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-370x76.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-270x56.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-570x118.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41-740x153.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-41.png 1304w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Tabel KRS<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut adalah contoh tabel krs setelah dilakukan normalisasi 2NF. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"230\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-1024x230.png\" alt=\"isi tabel krs hasil dari penerapan normalisasi 2NF\" class=\"wp-image-65549\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-1024x230.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-300x67.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-768x172.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-370x83.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-270x61.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-570x128.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42-740x166.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-42.png 1194w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dengan struktur seperti ini, data mahasiswa cukup disimpan satu kali saja. Hubungan antara mahasiswa dan mata kuliah disimpan pada tabel KRS. Dengan pemisahan tersebut, informasi mahasiswa tidak perlu ditulis berulang kali setiap kali mengambil mata kuliah baru. Struktur seperti ini juga lebih mudah dikelola ketika jumlah data semakin banyak.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Third Normal Form (3NF)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Setelah memisahkan data mahasiswa dan mata kuliah, masih ada satu hal yang bisa diperbaiki. Misalnya kita memiliki tabel mahasiswa seperti berikut:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"166\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-1024x166.png\" alt=\"Data tabel mahasiswa dengan informasi kode jurusan beserta nama jurusannya\" class=\"wp-image-65551\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-1024x166.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-300x49.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-768x125.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-370x60.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-270x44.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-570x92.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44-740x120.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-44.png 1436w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pada tabel tersebut, setiap kode jurusan selalu memiliki nama jurusan yang sama.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sebagai contoh:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>IF selalu berarti Informatika.<\/li>\n\n\n\n<li>SI selalu berarti Sistem Informasi.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Artinya informasi jurusan masih tersimpan berulang kali. Agar lebih rapi, data jurusan dapat dipisahkan ke tabel tersendiri.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tabel Mahasiswa<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut adalah contoh normalisasi tabel mahasiswa.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"228\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-1024x228.png\" alt=\"isi tabel mahasiswa hasil dari penerapan normalisasi 3NF\" class=\"wp-image-65552\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-1024x228.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-300x67.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-768x171.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-370x83.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-270x60.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-570x127.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45-740x165.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-45.png 1255w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Tabel Jurusan<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut adalah contoh normalisasi tabel jurusan.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"178\" src=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-1024x178.png\" alt=\"isi tabel jurusan hasil dari penerapan normalisasi 3NF\" class=\"wp-image-65554\" srcset=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-1024x178.png 1024w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-300x52.png 300w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-768x134.png 768w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-370x64.png 370w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-270x47.png 270w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-570x99.png 570w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47-740x129.png 740w, https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/image-47.png 1363w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Dengan cara ini, jika suatu saat nama jurusan berubah, kita cukup memperbarui satu data pada tabel jurusan tanpa perlu mengubah seluruh data mahasiswa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perbedaan 1NF, 2NF, dan 3NF<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Meskipun sama-sama termasuk proses normalisasi, masing-masing memiliki tujuan yang berbeda.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Normalisasi<\/strong><\/td><td><strong>Tujuan<\/strong><\/td><\/tr><tr><td>1NF<\/td><td>Memastikan satu kolom hanya berisi satu nilai<\/td><\/tr><tr><td>2NF<\/td><td>Mengurangi data yang berulang dengan memisahkan<br \/>tabel berdasarkan jenis data<\/td><\/tr><tr><td>3NF<\/td><td>Memisahkan informasi yang masih berpotensi menyebabkan<br \/>duplikasi<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Secara sederhana, 1NF berfokus pada bentuk data dalam setiap kolom, 2NF memisahkan data yang sering berulang ke tabel terpisah, sedangkan 3NF menyempurnakan struktur tersebut agar setiap informasi disimpan pada tempat yang paling sesuai.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dalam praktiknya, sebagian besar aplikasi sederhana seperti sistem akademik, inventaris, atau toko online sudah cukup baik jika struktur databasenya dirancang hingga 3NF. Selain membuat data lebih rapi, proses pengembangan dan pemeliharaan aplikasi juga biasanya menjadi lebih mudah.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tips Menerapkan Normalisasi Database<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Agar proses belajar sql tentang normalisasi database berjalan dengan baik, berikut beberapa hal yang perlu diperhatikan:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Tentukan primary key sejak awal.<\/strong> Setiap tabel sebaiknya memiliki identitas unik agar hubungan antar tabel lebih mudah dibangun.<\/li>\n\n\n\n<li><strong>Pisahkan data berdasarkan fungsinya.<\/strong> Hindari menyimpan informasi yang berbeda dalam satu tabel jika data tersebut dapat dipisahkan menjadi beberapa entitas.<\/li>\n\n\n\n<li><strong>Kurangi duplikasi data.<\/strong> Simpan setiap informasi hanya satu kali, kemudian hubungkan menggunakan relasi antar tabel.<\/li>\n\n\n\n<li><strong>Lakukan normalisasi secara bertahap.<\/strong> Mulailah dari 1NF, kemudian lanjutkan ke 2NF dan 3NF sesuai kebutuhan.<\/li>\n\n\n\n<li><strong>Sesuaikan dengan kebutuhan aplikasi.<\/strong> Tidak semua database harus dinormalisasi hingga tingkat tertinggi. Pilih struktur yang seimbang antara kemudahan pengelolaan dan performa query.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut adalah beberapa pertanyaan popular tentang Normalisasi Database.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\" style=\"font-style:normal;font-weight:700\"><summary>Apakah semua database harus dinormalisasi sampai 3NF?<\/summary>\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-style:normal;font-weight:400\">Tidak. Untuk sebagian besar aplikasi, normalisasi hingga 3NF sudah cukup untuk mengurangi duplikasi data dan menjaga konsistensi. Pada beberapa kasus tertentu, struktur database bahkan sengaja dibuat lebih sederhana demi meningkatkan performa.<\/p>\n<\/details>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\" style=\"font-style:normal;font-weight:700\"><summary>Apa perbedaan normalisasi dan denormalisasi?<\/summary>\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-style:normal;font-weight:400\">Normalisasi bertujuan mengurangi duplikasi data dengan memisahkan informasi ke beberapa tabel yang saling berhubungan. Sebaliknya, denormalisasi menggabungkan kembali beberapa data agar proses pembacaan (query) menjadi lebih cepat, meskipun terdapat risiko duplikasi.<\/p>\n<\/details>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\" style=\"font-style:normal;font-weight:700\"><summary>Apakah normalisasi membuat database menjadi lebih lambat?<\/summary>\n<div style=\"height:5px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-style:normal;font-weight:400\">Tidak selalu. Normalisasi memang dapat menambah proses JOIN antar tabel, tetapi manfaatnya berupa data yang lebih konsisten dan mudah dikelola sering kali lebih besar. Jika performa menjadi perhatian utama, optimasi dapat dilakukan menggunakan index atau teknik denormalisasi pada kasus tertentu.<\/p>\n<\/details>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kesimpulan<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Normalisasi database adalah salah satu langkah penting dalam perancangan database relasional. Dengan melakukan normalisasi, data menjadi lebih terstruktur, lebih mudah dikelola, dan terhindar dari duplikasi yang tidak diperlukan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tiga bentuk normalisasi yang paling umum digunakan adalah 1NF, 2NF, dan 3NF. Dalam praktiknya, sebagian besar database relasional modern sudah cukup baik jika dirancang hingga mencapai Third Normal Form (3NF).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Demikian tutorial belajar SQL database bagian 14 tentang normalisasi database untuk pemula. Jangan lewatkan seri belajar SQL database lainnya dari Rumahweb untuk terus meningkatkan pemahaman Anda. Semoga bermanfaat!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada seri Belajar SQL Database Bagian 13, kita telah mempelajari penggunaan index untuk meningkatkan performa query. Namun, performa database tidak hanya dipengaruhi oleh index atau query yang digunakan. Struktur tabel yang dirancang dengan baik juga memiliki peran penting agar data tetap rapi, mudah dikelola, dan efisien. Saat pertama kali belajar SQL, banyak orang cenderung menyimpan [&hellip;]<\/p>\n","protected":false},"author":358,"featured_media":66020,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2294],"tags":[2133,135,134,1440],"class_list":["post-65535","post","type-post","status-publish","format-standard","has-post-thumbnail","category-database","tag-belajar-sql","tag-database","tag-mysql","tag-sql"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.9 - aioseo.com -->\n\t<meta name=\"description\" content=\"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Kholifatush Sholichah\"\/>\n\t<meta name=\"google-site-verification\" content=\"wPstUwU5246IbK_1PqwGrc1LoSDnB-9rPbcT8_vSNgQ\" \/>\n\t<meta name=\"keywords\" content=\"normalisasi database,contoh normalisasi database,cara normalisasi database,belajar sql,database,mysql,sql\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-14\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.9\" \/>\n\t\t<meta property=\"og:locale\" content=\"id_Id\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Rumahweb Journal \u2013 News, Article, and Tutorial of Web Dev\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Belajar SQL Database Bagian 14 \u2013 Normalisasi Database\" \/>\n\t\t<meta property=\"og:description\" content=\"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-14\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Belajar-SQL-Database-Bagian-14.webp\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Belajar-SQL-Database-Bagian-14.webp\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-06T01:41:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-03T08:43:52+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RumahwebIndonesia\/\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@rumahwebtweet\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Belajar SQL Database Bagian 14 \u2013 Normalisasi Database\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@rumahwebtweet\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Belajar-SQL-Database-Bagian-14.webp\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Belajar SQL Database Bagian 14 \u2013 Normalisasi Database","description":"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel","canonical_url":"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-14\/","robots":"max-image-preview:large","keywords":"normalisasi database,contoh normalisasi database,cara normalisasi database,belajar sql,database,mysql,sql","webmasterTools":{"google-site-verification":"wPstUwU5246IbK_1PqwGrc1LoSDnB-9rPbcT8_vSNgQ","miscellaneous":""},"schema":null,"og:locale":"id_Id","og:site_name":"Rumahweb Journal \u2013 News, Article, and Tutorial of Web Dev","og:type":"article","og:title":"Belajar SQL Database Bagian 14 \u2013 Normalisasi Database","og:description":"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel","og:url":"https:\/\/www.rumahweb.com\/journal\/belajar-sql-database-14\/","og:image":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Belajar-SQL-Database-Bagian-14.webp","og:image:secure_url":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Belajar-SQL-Database-Bagian-14.webp","og:image:width":1200,"og:image:height":630,"article:published_time":"2026-07-06T01:41:00+00:00","article:modified_time":"2026-07-03T08:43:52+00:00","article:publisher":"https:\/\/www.facebook.com\/RumahwebIndonesia\/","twitter:card":"summary_large_image","twitter:site":"@rumahwebtweet","twitter:title":"Belajar SQL Database Bagian 14 \u2013 Normalisasi Database","twitter:description":"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel","twitter:creator":"@rumahwebtweet","twitter:image":"https:\/\/www.rumahweb.com\/journal\/wp-content\/uploads\/2026\/06\/Belajar-SQL-Database-Bagian-14.webp"},"aioseo_meta_data":{"post_id":"65535","title":null,"description":"Di Belajar SQL database bagian 14, kita akan belajar tentang normalisasi database. Normalisasi database adalah proses menyusun data menjadi beberapa tabel","keywords":[{"label":"normalisasi database","value":"normalisasi database"},{"label":"contoh normalisasi database","value":"contoh normalisasi database"},{"label":"cara normalisasi database","value":"cara normalisasi database"}],"keyphrases":{"focus":{"keyphrase":"belajar sql","score":78,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":2},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":3,"maxScore":9,"error":1},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0},"keywordDensity":{"score":0,"type":"low","maxScore":9,"error":1}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-06-18 13:32:31","updated":"2026-07-06 01:45:31","seo_analyzer_scan_date":null},"_links":{"self":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/65535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/users\/358"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/comments?post=65535"}],"version-history":[{"count":13,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/65535\/revisions"}],"predecessor-version":[{"id":66034,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/posts\/65535\/revisions\/66034"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media\/66020"}],"wp:attachment":[{"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/media?parent=65535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/categories?post=65535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rumahweb.com\/journal\/wp-json\/wp\/v2\/tags?post=65535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}