{"id":6547,"date":"2026-02-05T09:34:42","date_gmt":"2026-02-05T01:34:42","guid":{"rendered":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/"},"modified":"2026-02-05T09:34:42","modified_gmt":"2026-02-05T01:34:42","slug":"designing-a-library-system-from-erd-to-normalization-to-database-schema","status":"publish","type":"post","link":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/","title":{"rendered":"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data"},"content":{"rendered":"<h2>Pendahuluan<\/h2>\n<p>Merancang sistem basis data yang kuat dan efisien merupakan langkah penting dalam pengembangan sistem manajemen perpustakaan. Proses ini melibatkan beberapa tahap, dimulai dari perancangan Diagram Entitas-Relasi (ERD), diikuti dengan normalisasi, dan akhirnya pembuatan skema basis data. Dalam artikel ini, kami akan membahas satu per satu tahapan tersebut, menunjukkan bagaimana mengubah konsep menjadi basis data sistem perpustakaan yang terstruktur dengan baik dan dioptimalkan.<\/p>\n<h2>Proses Pemodelan Data dari ERD, Normalisasi, dan Skema Basis Data<\/h2>\n<ol>\n<li>Diagram Entitas-Relasi (ERD)<\/li>\n<\/ol>\n<p>Langkah pertama dalam merancang basis data sistem perpustakaan adalah membuat Diagram Entitas-Relasi (ERD). ERD merupakan representasi visual dari entitas data dan hubungan antar entitas dalam sistem. Berikut adalah beberapa komponen utama yang perlu dipertimbangkan:<\/p>\n<p>a. Entitas: Identifikasi entitas utama dalam sistem perpustakaan Anda. Ini dapat mencakup buku, penulis, peminjam, staf, dan transaksi.<\/p>\n<p>b. Atribut: Untuk setiap entitas, tentukan atribut atau sifat-sifatnya. Sebagai contoh, entitas &#8220;Buku&#8221; dapat memiliki atribut seperti ISBN, judul, penulis, tanggal publikasi, dan sebagainya.<\/p>\n<p>c. Hubungan: Tentukan hubungan antar entitas. Sebagai contoh, entitas &#8220;Peminjam&#8221; mungkin memiliki hubungan &#8220;Meminjam&#8221; dengan entitas &#8220;Buku&#8221; untuk merepresentasikan proses meminjam buku.<\/p>\n<p>d. Kardinalitas: Tentukan kardinalitas hubungan, yang menunjukkan berapa banyak contoh satu entitas terkait dengan entitas lain. Sebagai contoh, satu peminjam dapat meminjam beberapa buku, tetapi setiap buku hanya dapat dipinjam oleh satu peminjam pada satu waktu.<\/p>\n<ol start=\"2\">\n<li>Normalisasi<\/li>\n<\/ol>\n<p>Normalisasi adalah proses mengorganisasi data dalam basis data untuk menghilangkan redundansi dan meningkatkan integritas data. Tujuannya adalah meminimalkan duplikasi data dan memastikan setiap informasi disimpan di tempat yang paling tepat. Berikut adalah langkah-langkah yang terlibat dalam normalisasi basis data sistem perpustakaan:<\/p>\n<p>a. Identifikasi Ketergantungan Fungsional: Analisis atribut dalam entitas Anda dan tentukan atribut mana yang bergantung pada atribut lain. Sebagai contoh, dalam entitas &#8220;Buku&#8221;, nama penulis bergantung pada ISBN buku tersebut.<\/p>\n<p>b. Terapkan Aturan Normalisasi: Gunakan aturan normalisasi (misalnya, Bentuk Normal Pertama, Bentuk Normal Kedua, Bentuk Normal Ketiga) untuk memecah entitas kompleks menjadi entitas yang lebih sederhana dan membuat tabel terpisah untuk informasi yang saling terkait.<\/p>\n<p>c. Buat Hubungan: Bangun hubungan antar tabel yang telah dinormalisasi menggunakan kunci utama dan kunci asing untuk menjaga integritas data.<\/p>\n<p>d. Hilangkan Redundansi: Pastikan setiap informasi data disimpan hanya di satu tempat. Sebagai contoh, informasi penulis sebaiknya disimpan dalam tabel &#8220;Penulis&#8221; yang terpisah, bukan diduplikasi dalam setiap entri buku.<\/p>\n<ol start=\"3\">\n<li>Skema Basis Data<\/li>\n<\/ol>\n<p>Setelah basis data Anda sepenuhnya dinormalisasi, Anda dapat melanjutkan untuk membuat skema basis data. Skema menentukan struktur basis data, termasuk tabel, kolom, tipe data, dan batasan. Berikut adalah langkah-langkah untuk membuat skema basis data untuk sistem perpustakaan:<\/p>\n<p>a. Tentukan Tabel: Buat tabel berdasarkan entitas yang Anda identifikasi dalam ERD dan data yang telah dinormalisasi. Setiap tabel harus mewakili satu entitas tertentu (misalnya, &#8220;Buku&#8221;, &#8220;Penulis&#8221;, &#8220;Peminjam&#8221;).<\/p>\n<p>b. Tentukan Kolom: Tentukan kolom untuk setiap tabel, yang mewakili atribut yang telah diidentifikasi dalam ERD. Pastikan tipe data dan batasan (misalnya, kunci utama, kunci asing, batasan unik) didefinisikan dengan benar.<\/p>\n<p>c. Bangun Hubungan: Gunakan kunci asing untuk membangun hubungan antar tabel, menghubungkan data yang saling terkait. Sebagai contoh, tabel &#8220;Buku&#8221; dapat memiliki kunci asing yang merujuk ke tabel &#8220;Penulis&#8221;.<\/p>\n<p>d. Pengindeksan: Terapkan pengindeksan pada kolom yang sering digunakan untuk pencarian agar meningkatkan kinerja query.<\/p>\n<h2>Studi Kasus: Sistem Perpustakaan<\/h2>\n<h3>Diagram Entitas-Relasi<\/h3>\n<p>Kami telah mendefinisikan empat tabel: Penulis, Buku, Peminjam, dan Transaksi. Berikut ini penjelasan masing-masing tabel:<\/p>\n<ol>\n<li>Penulis: Berisi informasi tentang penulis buku. Memiliki AuthorID sebagai kunci utama dan atribut Nama.<\/li>\n<li>Buku: Mewakili detail buku. Berisi ISBN (Kunci Utama), Judul, Tanggal Publikasi, dan AuthorID sebagai kunci asing, yang merujuk ke tabel Penulis untuk membangun hubungan antara buku dan penulis.<\/li>\n<li>Peminjam: Menyimpan informasi tentang peminjam perpustakaan. Memiliki PatronID sebagai kunci utama dan atribut Nama.<\/li>\n<li>Transaksi: Tabel ini mencatat transaksi saat peminjam meminjam buku. Berisi TransactionID (Kunci Utama), BookID (kunci asing yang merujuk ke Buku), PatronID (kunci asing yang merujuk ke Peminjam), dan DueDate.<\/li>\n<\/ol>\n<p>Hubungan antar tabel ini direpresentasikan sebagai berikut:<\/p>\n<ul>\n<li>Penulis dan Buku terhubung dengan hubungan satu-ke-banyak, yang menunjukkan bahwa satu penulis dapat menulis beberapa buku.<\/li>\n<li>Buku dan Transaksi terhubung, yang merepresentasikan fakta bahwa setiap buku dapat menjadi bagian dari beberapa transaksi, tetapi setiap transaksi berkaitan dengan satu buku.<\/li>\n<li>Peminjam dan Transaksi terhubung, yang menunjukkan bahwa setiap peminjam dapat memiliki beberapa transaksi, tetapi setiap transaksi milik satu peminjam.<\/li>\n<\/ul>\n<h3>Proses Normalisasi<\/h3>\n<p>Mari kita bahas proses normalisasi untuk basis data sistem perpustakaan kita menggunakan tabel. Kita akan memulai dengan kumpulan awal tabel dan secara bertahap menormalisasikannya melalui Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF), dan Bentuk Normal Ketiga (3NF).<\/p>\n<p><strong>Tabel Awal:<\/strong><\/p>\n<ol>\n<li>Buku\n<ul>\n<li>ISBN (Kunci Utama)<\/li>\n<li>Judul<\/li>\n<li>Tanggal Publikasi<\/li>\n<li>ID Penulis (Kunci Asing)<\/li>\n<\/ul>\n<\/li>\n<li>Penulis\n<ul>\n<li>ID Penulis (Kunci Utama)<\/li>\n<li>Nama<\/li>\n<\/ul>\n<\/li>\n<li>Peminjam\n<ul>\n<li>ID Peminjam (Kunci Utama)<\/li>\n<li>Nama<\/li>\n<\/ul>\n<\/li>\n<li>Transaksi\n<ul>\n<li>ID Transaksi (Kunci Utama)<\/li>\n<li>ID Buku (Kunci Asing)<\/li>\n<li>ID Peminjam (Kunci Asing)<\/li>\n<li>Tanggal Jatuh Tempo<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><strong>Bentuk Normal Pertama (1NF):<\/strong><\/p>\n<p>Dalam Bentuk Normal Pertama, setiap tabel harus memiliki kunci utama, dan tidak boleh ada kelompok berulang atau array dalam kolom manapun. Tabel awal kita sudah memenuhi 1NF karena memiliki kunci utama, dan setiap sel berisi satu nilai tunggal.<\/p>\n<p><strong>Bentuk Normal Kedua (2NF):<\/strong><\/p>\n<p>Untuk mencapai 2NF, kita perlu memastikan bahwa atribut non-kunci bergantung pada seluruh kunci utama. Dalam tabel awal kita, tabel Buku memiliki ketergantungan parsial karena Judul dan Tanggal Publikasi hanya bergantung pada ISBN, bukan seluruh kunci utama. Kita akan membagi tabel Buku menjadi dua tabel:<\/p>\n<p><strong>Buku (2NF):<\/strong><\/p>\n<ul>\n<li>ISBN (Kunci Utama)<\/li>\n<li>ID Penulis (Kunci Asing)<\/li>\n<\/ul>\n<p><strong>DetailBuku (2NF):<\/strong><\/p>\n<ul>\n<li>ISBN (FK)<\/li>\n<li>Judul<\/li>\n<li>TanggalPublikasi<\/li>\n<\/ul>\n<p>Sekarang, setiap tabel memiliki atribut yang bergantung pada seluruh kunci utama.<\/p>\n<p><strong>Bentuk Normal Ketiga (3NF):<\/strong><\/p>\n<p>Dalam 3NF, kita menghilangkan ketergantungan transitif. Tabel Patrons tidak memiliki ketergantungan transitif, tetapi tabel Transactions memiliki ketergantungan transitif pada Books melalui BookID. Untuk menghilangkan ketergantungan ini, kita akan membuat tabel baru untuk transaksi:<\/p>\n<p><strong>Transaksi (3NF):<\/strong><\/p>\n<ul>\n<li>IDTransaksi (PK)<\/li>\n<li>IDPeminjam (FK)<\/li>\n<li>TanggalJatuhTempo<\/li>\n<\/ul>\n<p><strong>BukuYangDipinjam (3NF):<\/strong><\/p>\n<ul>\n<li>IDTransaksi (FK)<\/li>\n<li>IDBuku (FK)<\/li>\n<\/ul>\n<p>Sekarang, tabel Transaksi hanya bergantung pada PatronID, dan tabel BukuYangDipinjam mengelola hubungan antara transaksi dan buku.<\/p>\n<p>Tabel-tabel yang telah dinormalisasi dalam 3NF adalah sebagai berikut:<\/p>\n<p><strong>Buku (3NF):<\/strong><\/p>\n<ul>\n<li>ISBN (PK)<\/li>\n<li>IDPenulis (FK)<\/li>\n<\/ul>\n<p><strong>DetailBuku (3NF):<\/strong><\/p>\n<ul>\n<li>ISBN (FK)<\/li>\n<li>Judul<\/li>\n<li>TanggalPublikasi<\/li>\n<\/ul>\n<p><strong>Penulis (3NF):<\/strong><\/p>\n<ul>\n<li>IDPenulis (PK)<\/li>\n<li>Nama<\/li>\n<\/ul>\n<p><strong>Peminjam (3NF):<\/strong><\/p>\n<ul>\n<li>IDPeminjam (PK)<\/li>\n<li>Nama<\/li>\n<\/ul>\n<p><strong>Transaksi (3NF):<\/strong><\/p>\n<ul>\n<li>IDTransaksi (PK)<\/li>\n<li>PatronID (FK)<\/li>\n<li>TanggalJatuhTempo<\/li>\n<\/ul>\n<p><strong>BukuYangDipinjam (3NF):<\/strong><\/p>\n<ul>\n<li>TransactionID (FK)<\/li>\n<li>BookID (FK)<\/li>\n<\/ul>\n<p>Dengan mengikuti proses normalisasi hingga 3NF, kita telah meningkatkan integritas data, mengurangi redundansi, dan menghilangkan ketergantungan yang tidak diinginkan, menghasilkan basis data sistem perpustakaan yang terstruktur dengan baik dan dinormalisasi.<\/p>\n<h3>Skema Basis Data<\/h3>\n<p>\u2014 Tabel untuk Penulis<br \/>\nBuat Tabel Authors (<br \/>\nAuthorID INT PRIMARY KEY,<br \/>\nNama VARCHAR(255)<br \/>\n);<\/p>\n<p>\u2014 Tabel untuk Buku<br \/>\nBuat Tabel Books (<br \/>\nISBN VARCHAR(13) PRIMARY KEY,<br \/>\nAuthorID INT,<br \/>\nKUNCI ASING (AuthorID) MERUJUK KE Authors(AuthorID)<br \/>\n);<\/p>\n<p>\u2014 Tabel untuk DetailBuku<br \/>\nBuat Tabel BookDetails (<br \/>\nISBN VARCHAR(13),<br \/>\nJudul VARCHAR(255),<br \/>\nTanggalTerbit DATE,<br \/>\nKUNCI ASING (ISBN) MERUJUK KE Books(ISBN)<br \/>\n);<\/p>\n<p>\u2014 Tabel untuk Peminjam<br \/>\nBuat Tabel Patrons (<br \/>\nPatronID INT PRIMARY KEY,<br \/>\nNama VARCHAR(255)<br \/>\n);<\/p>\n<p>\u2014 Tabel untuk Transaksi<br \/>\nBuat Tabel Transaksi (<br \/>\nTransactionID INT PRIMARY KEY,<br \/>\nPatronID INT,<br \/>\nTanggalJatuhTempo DATE,<br \/>\nKUNCI ASING (PatronID) ACUAN Patrons(PatronID)<br \/>\n);<\/p>\n<p>\u2014 Tabel untuk BukuYangDipinjam (untuk merepresentasikan hubungan banyak-ke-banyak antara Transaksi dan Buku)<br \/>\nBuat Tabel BukuYangDipinjam (<br \/>\nTransactionID INT,<br \/>\nISBN VARCHAR(13),<br \/>\nKUNCI ASING (TransactionID) ACUAN Transaksi(TransactionID),<br \/>\nKUNCI ASING (ISBN) ACUAN Buku(ISBN)<br \/>\n);<\/p>\n<h2>Kesimpulan<\/h2>\n<p>Merancang basis data untuk sistem manajemen perpustakaan adalah tugas yang kompleks namun penting. Dengan memulai dari ERD, normalisasi data, dan kemudian membuat skema basis data yang terstruktur dengan baik, Anda dapat menjamin integritas data, mengurangi redundansi, dan mengoptimalkan kinerja basis data. Pendekatan terstruktur ini menjadi dasar bagi sistem perpustakaan yang handal dan efisien yang dapat secara efektif mengelola buku, penulis, pengguna, dan transaksi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pendahuluan Merancang sistem basis data yang kuat dan efisien merupakan langkah penting dalam pengembangan sistem manajemen perpustakaan. Proses ini melibatkan beberapa tahap, dimulai dari perancangan Diagram Entitas-Relasi (ERD), diikuti dengan normalisasi, dan akhirnya pembuatan skema basis data. Dalam artikel ini, kami akan membahas satu per satu tahapan tersebut, menunjukkan bagaimana mengubah konsep menjadi basis data sistem perpustakaan yang terstruktur dengan baik dan dioptimalkan. Proses Pemodelan Data dari ERD, Normalisasi, dan Skema Basis Data Diagram Entitas-Relasi (ERD) Langkah pertama dalam merancang basis data sistem perpustakaan adalah membuat Diagram Entitas-Relasi (ERD). ERD merupakan representasi visual dari entitas data dan hubungan antar entitas dalam sistem. Berikut adalah beberapa komponen utama yang perlu dipertimbangkan: a. Entitas: Identifikasi entitas utama dalam sistem perpustakaan Anda. Ini dapat mencakup buku, penulis, peminjam, staf, dan transaksi. b. Atribut: Untuk setiap entitas, tentukan atribut atau sifat-sifatnya. Sebagai contoh, entitas &#8220;Buku&#8221; dapat memiliki atribut seperti ISBN, judul, penulis, tanggal publikasi, dan sebagainya. c. Hubungan: Tentukan hubungan antar entitas. Sebagai contoh, entitas &#8220;Peminjam&#8221; mungkin memiliki hubungan &#8220;Meminjam&#8221; dengan entitas &#8220;Buku&#8221; untuk merepresentasikan proses meminjam buku. d. Kardinalitas: Tentukan kardinalitas hubungan, yang menunjukkan berapa banyak contoh satu entitas terkait dengan entitas lain. Sebagai contoh, satu peminjam dapat meminjam beberapa buku, tetapi setiap buku hanya dapat dipinjam oleh satu peminjam pada satu waktu. Normalisasi Normalisasi adalah proses mengorganisasi data dalam basis data untuk menghilangkan redundansi dan meningkatkan integritas data. Tujuannya adalah meminimalkan duplikasi data dan memastikan setiap informasi disimpan di tempat yang paling tepat. Berikut adalah langkah-langkah yang terlibat dalam normalisasi basis data sistem perpustakaan: a. Identifikasi Ketergantungan Fungsional: Analisis atribut dalam entitas Anda dan tentukan atribut mana yang bergantung pada atribut lain. Sebagai contoh, dalam entitas &#8220;Buku&#8221;, nama penulis bergantung pada ISBN buku tersebut. b. Terapkan Aturan Normalisasi: Gunakan aturan normalisasi (misalnya, Bentuk Normal Pertama, Bentuk Normal Kedua, Bentuk Normal Ketiga) untuk memecah entitas kompleks menjadi entitas yang lebih sederhana dan membuat tabel terpisah untuk informasi yang saling terkait. c. Buat Hubungan: Bangun hubungan antar tabel yang telah dinormalisasi menggunakan kunci utama dan kunci asing untuk menjaga integritas data. d. Hilangkan Redundansi: Pastikan setiap informasi data disimpan hanya di satu tempat. Sebagai contoh, informasi penulis sebaiknya disimpan dalam tabel &#8220;Penulis&#8221; yang terpisah, bukan diduplikasi dalam setiap entri buku. Skema Basis Data Setelah basis data Anda sepenuhnya dinormalisasi, Anda dapat melanjutkan untuk membuat skema basis data. Skema menentukan struktur basis data, termasuk tabel, kolom, tipe data, dan batasan. Berikut adalah langkah-langkah untuk membuat skema basis data untuk sistem perpustakaan: a. Tentukan Tabel: Buat tabel berdasarkan entitas yang Anda identifikasi dalam ERD dan data yang telah dinormalisasi. Setiap tabel harus mewakili satu entitas tertentu (misalnya, &#8220;Buku&#8221;, &#8220;Penulis&#8221;, &#8220;Peminjam&#8221;). b. Tentukan Kolom: Tentukan kolom untuk setiap tabel, yang mewakili atribut yang telah diidentifikasi dalam ERD. Pastikan tipe data dan batasan (misalnya, kunci utama, kunci asing, batasan unik) didefinisikan dengan benar. c. Bangun Hubungan: Gunakan kunci asing untuk membangun hubungan antar tabel, menghubungkan data yang saling terkait. Sebagai contoh, tabel &#8220;Buku&#8221; dapat memiliki kunci asing yang merujuk ke tabel &#8220;Penulis&#8221;. d. Pengindeksan: Terapkan pengindeksan pada kolom yang sering digunakan untuk pencarian agar meningkatkan kinerja query. Studi Kasus: Sistem Perpustakaan Diagram Entitas-Relasi Kami telah mendefinisikan empat tabel: Penulis, Buku, Peminjam, dan Transaksi. Berikut ini penjelasan masing-masing tabel: Penulis: Berisi informasi tentang penulis buku. Memiliki AuthorID sebagai kunci utama dan atribut Nama. Buku: Mewakili detail buku. Berisi ISBN (Kunci Utama), Judul, Tanggal Publikasi, dan AuthorID sebagai kunci asing, yang merujuk ke tabel Penulis untuk membangun hubungan antara buku dan penulis. Peminjam: Menyimpan informasi tentang peminjam perpustakaan. Memiliki PatronID sebagai kunci utama dan atribut Nama. Transaksi: Tabel ini mencatat transaksi saat peminjam meminjam buku. Berisi TransactionID (Kunci Utama), BookID (kunci asing yang merujuk ke Buku), PatronID (kunci asing yang merujuk ke Peminjam), dan DueDate. Hubungan antar tabel ini direpresentasikan sebagai berikut: Penulis dan Buku terhubung dengan hubungan satu-ke-banyak, yang menunjukkan bahwa satu penulis dapat menulis beberapa buku. Buku dan Transaksi terhubung, yang merepresentasikan fakta bahwa setiap buku dapat menjadi bagian dari beberapa transaksi, tetapi setiap transaksi berkaitan dengan satu buku. Peminjam dan Transaksi terhubung, yang menunjukkan bahwa setiap peminjam dapat memiliki beberapa transaksi, tetapi setiap transaksi milik satu peminjam. Proses Normalisasi Mari kita bahas proses normalisasi untuk basis data sistem perpustakaan kita menggunakan tabel. Kita akan memulai dengan kumpulan awal tabel dan secara bertahap menormalisasikannya melalui Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF), dan Bentuk Normal Ketiga (3NF). Tabel Awal: Buku ISBN (Kunci Utama) Judul Tanggal Publikasi ID Penulis (Kunci Asing) Penulis ID Penulis (Kunci Utama) Nama Peminjam ID Peminjam (Kunci Utama) Nama Transaksi ID Transaksi (Kunci Utama) ID Buku (Kunci Asing) ID Peminjam (Kunci Asing) Tanggal Jatuh Tempo Bentuk Normal Pertama (1NF): Dalam Bentuk Normal Pertama, setiap tabel harus memiliki kunci utama, dan tidak boleh ada kelompok berulang atau array dalam kolom manapun. Tabel awal kita sudah memenuhi 1NF karena memiliki kunci utama, dan setiap sel berisi satu nilai tunggal. Bentuk Normal Kedua (2NF): Untuk mencapai 2NF, kita perlu memastikan bahwa atribut non-kunci bergantung pada seluruh kunci utama. Dalam tabel awal kita, tabel Buku memiliki ketergantungan parsial karena Judul dan Tanggal Publikasi hanya bergantung pada ISBN, bukan seluruh kunci utama. Kita akan membagi tabel Buku menjadi dua tabel: Buku (2NF): ISBN (Kunci Utama) ID Penulis (Kunci Asing) DetailBuku (2NF): ISBN (FK) Judul TanggalPublikasi Sekarang, setiap tabel memiliki atribut yang bergantung pada seluruh kunci utama. Bentuk Normal Ketiga (3NF): Dalam 3NF, kita menghilangkan ketergantungan transitif. Tabel Patrons tidak memiliki ketergantungan transitif, tetapi tabel Transactions memiliki ketergantungan transitif pada Books melalui BookID. Untuk menghilangkan ketergantungan ini, kita akan membuat tabel baru untuk transaksi: Transaksi (3NF): IDTransaksi (PK) IDPeminjam (FK) TanggalJatuhTempo BukuYangDipinjam (3NF): IDTransaksi (FK) IDBuku (FK) Sekarang, tabel Transaksi hanya bergantung pada PatronID, dan tabel BukuYangDipinjam mengelola hubungan antara transaksi dan buku. Tabel-tabel yang telah dinormalisasi dalam 3NF adalah sebagai berikut: Buku (3NF): ISBN (PK) IDPenulis (FK) DetailBuku (3NF): ISBN (FK) Judul TanggalPublikasi Penulis (3NF): IDPenulis (PK) Nama Peminjam (3NF): IDPeminjam (PK) Nama Transaksi (3NF): IDTransaksi (PK) PatronID (FK) TanggalJatuhTempo BukuYangDipinjam (3NF): TransactionID (FK) BookID (FK) Dengan mengikuti proses normalisasi hingga 3NF, kita telah meningkatkan integritas data, mengurangi<a href=\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","_eb_attr":"","neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[17],"tags":[],"class_list":["post-6547","post","type-post","status-publish","format-standard","hentry","category-data-modeling-database"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data - Visual Paradigm Guides Indonesia<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data - Visual Paradigm Guides Indonesia\" \/>\n<meta property=\"og:description\" content=\"Pendahuluan Merancang sistem basis data yang kuat dan efisien merupakan langkah penting dalam pengembangan sistem manajemen perpustakaan. Proses ini melibatkan beberapa tahap, dimulai dari perancangan Diagram Entitas-Relasi (ERD), diikuti dengan normalisasi, dan akhirnya pembuatan skema basis data. Dalam artikel ini, kami akan membahas satu per satu tahapan tersebut, menunjukkan bagaimana mengubah konsep menjadi basis data sistem perpustakaan yang terstruktur dengan baik dan dioptimalkan. Proses Pemodelan Data dari ERD, Normalisasi, dan Skema Basis Data Diagram Entitas-Relasi (ERD) Langkah pertama dalam merancang basis data sistem perpustakaan adalah membuat Diagram Entitas-Relasi (ERD). ERD merupakan representasi visual dari entitas data dan hubungan antar entitas dalam sistem. Berikut adalah beberapa komponen utama yang perlu dipertimbangkan: a. Entitas: Identifikasi entitas utama dalam sistem perpustakaan Anda. Ini dapat mencakup buku, penulis, peminjam, staf, dan transaksi. b. Atribut: Untuk setiap entitas, tentukan atribut atau sifat-sifatnya. Sebagai contoh, entitas &#8220;Buku&#8221; dapat memiliki atribut seperti ISBN, judul, penulis, tanggal publikasi, dan sebagainya. c. Hubungan: Tentukan hubungan antar entitas. Sebagai contoh, entitas &#8220;Peminjam&#8221; mungkin memiliki hubungan &#8220;Meminjam&#8221; dengan entitas &#8220;Buku&#8221; untuk merepresentasikan proses meminjam buku. d. Kardinalitas: Tentukan kardinalitas hubungan, yang menunjukkan berapa banyak contoh satu entitas terkait dengan entitas lain. Sebagai contoh, satu peminjam dapat meminjam beberapa buku, tetapi setiap buku hanya dapat dipinjam oleh satu peminjam pada satu waktu. Normalisasi Normalisasi adalah proses mengorganisasi data dalam basis data untuk menghilangkan redundansi dan meningkatkan integritas data. Tujuannya adalah meminimalkan duplikasi data dan memastikan setiap informasi disimpan di tempat yang paling tepat. Berikut adalah langkah-langkah yang terlibat dalam normalisasi basis data sistem perpustakaan: a. Identifikasi Ketergantungan Fungsional: Analisis atribut dalam entitas Anda dan tentukan atribut mana yang bergantung pada atribut lain. Sebagai contoh, dalam entitas &#8220;Buku&#8221;, nama penulis bergantung pada ISBN buku tersebut. b. Terapkan Aturan Normalisasi: Gunakan aturan normalisasi (misalnya, Bentuk Normal Pertama, Bentuk Normal Kedua, Bentuk Normal Ketiga) untuk memecah entitas kompleks menjadi entitas yang lebih sederhana dan membuat tabel terpisah untuk informasi yang saling terkait. c. Buat Hubungan: Bangun hubungan antar tabel yang telah dinormalisasi menggunakan kunci utama dan kunci asing untuk menjaga integritas data. d. Hilangkan Redundansi: Pastikan setiap informasi data disimpan hanya di satu tempat. Sebagai contoh, informasi penulis sebaiknya disimpan dalam tabel &#8220;Penulis&#8221; yang terpisah, bukan diduplikasi dalam setiap entri buku. Skema Basis Data Setelah basis data Anda sepenuhnya dinormalisasi, Anda dapat melanjutkan untuk membuat skema basis data. Skema menentukan struktur basis data, termasuk tabel, kolom, tipe data, dan batasan. Berikut adalah langkah-langkah untuk membuat skema basis data untuk sistem perpustakaan: a. Tentukan Tabel: Buat tabel berdasarkan entitas yang Anda identifikasi dalam ERD dan data yang telah dinormalisasi. Setiap tabel harus mewakili satu entitas tertentu (misalnya, &#8220;Buku&#8221;, &#8220;Penulis&#8221;, &#8220;Peminjam&#8221;). b. Tentukan Kolom: Tentukan kolom untuk setiap tabel, yang mewakili atribut yang telah diidentifikasi dalam ERD. Pastikan tipe data dan batasan (misalnya, kunci utama, kunci asing, batasan unik) didefinisikan dengan benar. c. Bangun Hubungan: Gunakan kunci asing untuk membangun hubungan antar tabel, menghubungkan data yang saling terkait. Sebagai contoh, tabel &#8220;Buku&#8221; dapat memiliki kunci asing yang merujuk ke tabel &#8220;Penulis&#8221;. d. Pengindeksan: Terapkan pengindeksan pada kolom yang sering digunakan untuk pencarian agar meningkatkan kinerja query. Studi Kasus: Sistem Perpustakaan Diagram Entitas-Relasi Kami telah mendefinisikan empat tabel: Penulis, Buku, Peminjam, dan Transaksi. Berikut ini penjelasan masing-masing tabel: Penulis: Berisi informasi tentang penulis buku. Memiliki AuthorID sebagai kunci utama dan atribut Nama. Buku: Mewakili detail buku. Berisi ISBN (Kunci Utama), Judul, Tanggal Publikasi, dan AuthorID sebagai kunci asing, yang merujuk ke tabel Penulis untuk membangun hubungan antara buku dan penulis. Peminjam: Menyimpan informasi tentang peminjam perpustakaan. Memiliki PatronID sebagai kunci utama dan atribut Nama. Transaksi: Tabel ini mencatat transaksi saat peminjam meminjam buku. Berisi TransactionID (Kunci Utama), BookID (kunci asing yang merujuk ke Buku), PatronID (kunci asing yang merujuk ke Peminjam), dan DueDate. Hubungan antar tabel ini direpresentasikan sebagai berikut: Penulis dan Buku terhubung dengan hubungan satu-ke-banyak, yang menunjukkan bahwa satu penulis dapat menulis beberapa buku. Buku dan Transaksi terhubung, yang merepresentasikan fakta bahwa setiap buku dapat menjadi bagian dari beberapa transaksi, tetapi setiap transaksi berkaitan dengan satu buku. Peminjam dan Transaksi terhubung, yang menunjukkan bahwa setiap peminjam dapat memiliki beberapa transaksi, tetapi setiap transaksi milik satu peminjam. Proses Normalisasi Mari kita bahas proses normalisasi untuk basis data sistem perpustakaan kita menggunakan tabel. Kita akan memulai dengan kumpulan awal tabel dan secara bertahap menormalisasikannya melalui Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF), dan Bentuk Normal Ketiga (3NF). Tabel Awal: Buku ISBN (Kunci Utama) Judul Tanggal Publikasi ID Penulis (Kunci Asing) Penulis ID Penulis (Kunci Utama) Nama Peminjam ID Peminjam (Kunci Utama) Nama Transaksi ID Transaksi (Kunci Utama) ID Buku (Kunci Asing) ID Peminjam (Kunci Asing) Tanggal Jatuh Tempo Bentuk Normal Pertama (1NF): Dalam Bentuk Normal Pertama, setiap tabel harus memiliki kunci utama, dan tidak boleh ada kelompok berulang atau array dalam kolom manapun. Tabel awal kita sudah memenuhi 1NF karena memiliki kunci utama, dan setiap sel berisi satu nilai tunggal. Bentuk Normal Kedua (2NF): Untuk mencapai 2NF, kita perlu memastikan bahwa atribut non-kunci bergantung pada seluruh kunci utama. Dalam tabel awal kita, tabel Buku memiliki ketergantungan parsial karena Judul dan Tanggal Publikasi hanya bergantung pada ISBN, bukan seluruh kunci utama. Kita akan membagi tabel Buku menjadi dua tabel: Buku (2NF): ISBN (Kunci Utama) ID Penulis (Kunci Asing) DetailBuku (2NF): ISBN (FK) Judul TanggalPublikasi Sekarang, setiap tabel memiliki atribut yang bergantung pada seluruh kunci utama. Bentuk Normal Ketiga (3NF): Dalam 3NF, kita menghilangkan ketergantungan transitif. Tabel Patrons tidak memiliki ketergantungan transitif, tetapi tabel Transactions memiliki ketergantungan transitif pada Books melalui BookID. Untuk menghilangkan ketergantungan ini, kita akan membuat tabel baru untuk transaksi: Transaksi (3NF): IDTransaksi (PK) IDPeminjam (FK) TanggalJatuhTempo BukuYangDipinjam (3NF): IDTransaksi (FK) IDBuku (FK) Sekarang, tabel Transaksi hanya bergantung pada PatronID, dan tabel BukuYangDipinjam mengelola hubungan antara transaksi dan buku. Tabel-tabel yang telah dinormalisasi dalam 3NF adalah sebagai berikut: Buku (3NF): ISBN (PK) IDPenulis (FK) DetailBuku (3NF): ISBN (FK) Judul TanggalPublikasi Penulis (3NF): IDPenulis (PK) Nama Peminjam (3NF): IDPeminjam (PK) Nama Transaksi (3NF): IDTransaksi (PK) PatronID (FK) TanggalJatuhTempo BukuYangDipinjam (3NF): TransactionID (FK) BookID (FK) Dengan mengikuti proses normalisasi hingga 3NF, kita telah meningkatkan integritas data, mengurangiMerancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data\" \/>\n<meta property=\"og:url\" content=\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\" \/>\n<meta property=\"og:site_name\" content=\"Visual Paradigm Guides Indonesia\" \/>\n<meta property=\"article:published_time\" content=\"2026-02-05T01:34:42+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\"},\"headline\":\"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data\",\"datePublished\":\"2026-02-05T01:34:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\"},\"wordCount\":1207,\"commentCount\":0,\"articleSection\":[\"Data Modeling \/ Database\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\",\"url\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\",\"name\":\"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data - Visual Paradigm Guides Indonesia\",\"isPartOf\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/#website\"},\"datePublished\":\"2026-02-05T01:34:42+00:00\",\"author\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/#\/schema\/person\/292e97a06c90d6d605ddfd451bfdfe6f\"},\"breadcrumb\":{\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/guides.visual-paradigm.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Modeling \/ Database\",\"item\":\"https:\/\/guides.visual-paradigm.com\/id\/category\/data-modeling-database\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/guides.visual-paradigm.com\/id\/#website\",\"url\":\"https:\/\/guides.visual-paradigm.com\/id\/\",\"name\":\"Visual Paradigm Guides Indonesia\",\"description\":\"Smart guides for an AI-driven world\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/guides.visual-paradigm.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data - Visual Paradigm Guides Indonesia","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/","og_locale":"id_ID","og_type":"article","og_title":"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data - Visual Paradigm Guides Indonesia","og_description":"Pendahuluan Merancang sistem basis data yang kuat dan efisien merupakan langkah penting dalam pengembangan sistem manajemen perpustakaan. Proses ini melibatkan beberapa tahap, dimulai dari perancangan Diagram Entitas-Relasi (ERD), diikuti dengan normalisasi, dan akhirnya pembuatan skema basis data. Dalam artikel ini, kami akan membahas satu per satu tahapan tersebut, menunjukkan bagaimana mengubah konsep menjadi basis data sistem perpustakaan yang terstruktur dengan baik dan dioptimalkan. Proses Pemodelan Data dari ERD, Normalisasi, dan Skema Basis Data Diagram Entitas-Relasi (ERD) Langkah pertama dalam merancang basis data sistem perpustakaan adalah membuat Diagram Entitas-Relasi (ERD). ERD merupakan representasi visual dari entitas data dan hubungan antar entitas dalam sistem. Berikut adalah beberapa komponen utama yang perlu dipertimbangkan: a. Entitas: Identifikasi entitas utama dalam sistem perpustakaan Anda. Ini dapat mencakup buku, penulis, peminjam, staf, dan transaksi. b. Atribut: Untuk setiap entitas, tentukan atribut atau sifat-sifatnya. Sebagai contoh, entitas &#8220;Buku&#8221; dapat memiliki atribut seperti ISBN, judul, penulis, tanggal publikasi, dan sebagainya. c. Hubungan: Tentukan hubungan antar entitas. Sebagai contoh, entitas &#8220;Peminjam&#8221; mungkin memiliki hubungan &#8220;Meminjam&#8221; dengan entitas &#8220;Buku&#8221; untuk merepresentasikan proses meminjam buku. d. Kardinalitas: Tentukan kardinalitas hubungan, yang menunjukkan berapa banyak contoh satu entitas terkait dengan entitas lain. Sebagai contoh, satu peminjam dapat meminjam beberapa buku, tetapi setiap buku hanya dapat dipinjam oleh satu peminjam pada satu waktu. Normalisasi Normalisasi adalah proses mengorganisasi data dalam basis data untuk menghilangkan redundansi dan meningkatkan integritas data. Tujuannya adalah meminimalkan duplikasi data dan memastikan setiap informasi disimpan di tempat yang paling tepat. Berikut adalah langkah-langkah yang terlibat dalam normalisasi basis data sistem perpustakaan: a. Identifikasi Ketergantungan Fungsional: Analisis atribut dalam entitas Anda dan tentukan atribut mana yang bergantung pada atribut lain. Sebagai contoh, dalam entitas &#8220;Buku&#8221;, nama penulis bergantung pada ISBN buku tersebut. b. Terapkan Aturan Normalisasi: Gunakan aturan normalisasi (misalnya, Bentuk Normal Pertama, Bentuk Normal Kedua, Bentuk Normal Ketiga) untuk memecah entitas kompleks menjadi entitas yang lebih sederhana dan membuat tabel terpisah untuk informasi yang saling terkait. c. Buat Hubungan: Bangun hubungan antar tabel yang telah dinormalisasi menggunakan kunci utama dan kunci asing untuk menjaga integritas data. d. Hilangkan Redundansi: Pastikan setiap informasi data disimpan hanya di satu tempat. Sebagai contoh, informasi penulis sebaiknya disimpan dalam tabel &#8220;Penulis&#8221; yang terpisah, bukan diduplikasi dalam setiap entri buku. Skema Basis Data Setelah basis data Anda sepenuhnya dinormalisasi, Anda dapat melanjutkan untuk membuat skema basis data. Skema menentukan struktur basis data, termasuk tabel, kolom, tipe data, dan batasan. Berikut adalah langkah-langkah untuk membuat skema basis data untuk sistem perpustakaan: a. Tentukan Tabel: Buat tabel berdasarkan entitas yang Anda identifikasi dalam ERD dan data yang telah dinormalisasi. Setiap tabel harus mewakili satu entitas tertentu (misalnya, &#8220;Buku&#8221;, &#8220;Penulis&#8221;, &#8220;Peminjam&#8221;). b. Tentukan Kolom: Tentukan kolom untuk setiap tabel, yang mewakili atribut yang telah diidentifikasi dalam ERD. Pastikan tipe data dan batasan (misalnya, kunci utama, kunci asing, batasan unik) didefinisikan dengan benar. c. Bangun Hubungan: Gunakan kunci asing untuk membangun hubungan antar tabel, menghubungkan data yang saling terkait. Sebagai contoh, tabel &#8220;Buku&#8221; dapat memiliki kunci asing yang merujuk ke tabel &#8220;Penulis&#8221;. d. Pengindeksan: Terapkan pengindeksan pada kolom yang sering digunakan untuk pencarian agar meningkatkan kinerja query. Studi Kasus: Sistem Perpustakaan Diagram Entitas-Relasi Kami telah mendefinisikan empat tabel: Penulis, Buku, Peminjam, dan Transaksi. Berikut ini penjelasan masing-masing tabel: Penulis: Berisi informasi tentang penulis buku. Memiliki AuthorID sebagai kunci utama dan atribut Nama. Buku: Mewakili detail buku. Berisi ISBN (Kunci Utama), Judul, Tanggal Publikasi, dan AuthorID sebagai kunci asing, yang merujuk ke tabel Penulis untuk membangun hubungan antara buku dan penulis. Peminjam: Menyimpan informasi tentang peminjam perpustakaan. Memiliki PatronID sebagai kunci utama dan atribut Nama. Transaksi: Tabel ini mencatat transaksi saat peminjam meminjam buku. Berisi TransactionID (Kunci Utama), BookID (kunci asing yang merujuk ke Buku), PatronID (kunci asing yang merujuk ke Peminjam), dan DueDate. Hubungan antar tabel ini direpresentasikan sebagai berikut: Penulis dan Buku terhubung dengan hubungan satu-ke-banyak, yang menunjukkan bahwa satu penulis dapat menulis beberapa buku. Buku dan Transaksi terhubung, yang merepresentasikan fakta bahwa setiap buku dapat menjadi bagian dari beberapa transaksi, tetapi setiap transaksi berkaitan dengan satu buku. Peminjam dan Transaksi terhubung, yang menunjukkan bahwa setiap peminjam dapat memiliki beberapa transaksi, tetapi setiap transaksi milik satu peminjam. Proses Normalisasi Mari kita bahas proses normalisasi untuk basis data sistem perpustakaan kita menggunakan tabel. Kita akan memulai dengan kumpulan awal tabel dan secara bertahap menormalisasikannya melalui Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF), dan Bentuk Normal Ketiga (3NF). Tabel Awal: Buku ISBN (Kunci Utama) Judul Tanggal Publikasi ID Penulis (Kunci Asing) Penulis ID Penulis (Kunci Utama) Nama Peminjam ID Peminjam (Kunci Utama) Nama Transaksi ID Transaksi (Kunci Utama) ID Buku (Kunci Asing) ID Peminjam (Kunci Asing) Tanggal Jatuh Tempo Bentuk Normal Pertama (1NF): Dalam Bentuk Normal Pertama, setiap tabel harus memiliki kunci utama, dan tidak boleh ada kelompok berulang atau array dalam kolom manapun. Tabel awal kita sudah memenuhi 1NF karena memiliki kunci utama, dan setiap sel berisi satu nilai tunggal. Bentuk Normal Kedua (2NF): Untuk mencapai 2NF, kita perlu memastikan bahwa atribut non-kunci bergantung pada seluruh kunci utama. Dalam tabel awal kita, tabel Buku memiliki ketergantungan parsial karena Judul dan Tanggal Publikasi hanya bergantung pada ISBN, bukan seluruh kunci utama. Kita akan membagi tabel Buku menjadi dua tabel: Buku (2NF): ISBN (Kunci Utama) ID Penulis (Kunci Asing) DetailBuku (2NF): ISBN (FK) Judul TanggalPublikasi Sekarang, setiap tabel memiliki atribut yang bergantung pada seluruh kunci utama. Bentuk Normal Ketiga (3NF): Dalam 3NF, kita menghilangkan ketergantungan transitif. Tabel Patrons tidak memiliki ketergantungan transitif, tetapi tabel Transactions memiliki ketergantungan transitif pada Books melalui BookID. Untuk menghilangkan ketergantungan ini, kita akan membuat tabel baru untuk transaksi: Transaksi (3NF): IDTransaksi (PK) IDPeminjam (FK) TanggalJatuhTempo BukuYangDipinjam (3NF): IDTransaksi (FK) IDBuku (FK) Sekarang, tabel Transaksi hanya bergantung pada PatronID, dan tabel BukuYangDipinjam mengelola hubungan antara transaksi dan buku. Tabel-tabel yang telah dinormalisasi dalam 3NF adalah sebagai berikut: Buku (3NF): ISBN (PK) IDPenulis (FK) DetailBuku (3NF): ISBN (FK) Judul TanggalPublikasi Penulis (3NF): IDPenulis (PK) Nama Peminjam (3NF): IDPeminjam (PK) Nama Transaksi (3NF): IDTransaksi (PK) PatronID (FK) TanggalJatuhTempo BukuYangDipinjam (3NF): TransactionID (FK) BookID (FK) Dengan mengikuti proses normalisasi hingga 3NF, kita telah meningkatkan integritas data, mengurangiMerancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data","og_url":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/","og_site_name":"Visual Paradigm Guides Indonesia","article_published_time":"2026-02-05T01:34:42+00:00","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":"vpadmin","Estimasi waktu membaca":"6 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#article","isPartOf":{"@id":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/"},"headline":"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data","datePublished":"2026-02-05T01:34:42+00:00","mainEntityOfPage":{"@id":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/"},"wordCount":1207,"commentCount":0,"articleSection":["Data Modeling \/ Database"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/","url":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/","name":"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data - Visual Paradigm Guides Indonesia","isPartOf":{"@id":"https:\/\/guides.visual-paradigm.com\/id\/#website"},"datePublished":"2026-02-05T01:34:42+00:00","author":{"@id":"https:\/\/guides.visual-paradigm.com\/id\/#\/schema\/person\/292e97a06c90d6d605ddfd451bfdfe6f"},"breadcrumb":{"@id":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/guides.visual-paradigm.com\/id\/designing-a-library-system-from-erd-to-normalization-to-database-schema\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/guides.visual-paradigm.com\/id\/"},{"@type":"ListItem","position":2,"name":"Data Modeling \/ Database","item":"https:\/\/guides.visual-paradigm.com\/id\/category\/data-modeling-database\/"},{"@type":"ListItem","position":3,"name":"Merancang Sistem Perpustakaan: Dari ERD ke Normalisasi ke Skema Basis Data"}]},{"@type":"WebSite","@id":"https:\/\/guides.visual-paradigm.com\/id\/#website","url":"https:\/\/guides.visual-paradigm.com\/id\/","name":"Visual Paradigm Guides Indonesia","description":"Smart guides for an AI-driven world","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/guides.visual-paradigm.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"}]}},"_links":{"self":[{"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/posts\/6547","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/comments?post=6547"}],"version-history":[{"count":0,"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/posts\/6547\/revisions"}],"wp:attachment":[{"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/media?parent=6547"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/categories?post=6547"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/guides.visual-paradigm.com\/id\/wp-json\/wp\/v2\/tags?post=6547"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}