Rabu, 29 Juni 2022

Normalisasi Kasus Perpustakaan

Nama    : Intan Citra Adelia

Nim       : 213100229

Prodi     : Sistem Informasi


KASUS PERPUSTAKAAN

Kasus :

Sebuah perputakaan memiliki banyak buku yang dapat di pinjamkan ke pada anggota perpustakaan dengan menggunakan kartu peminjaman. Setiap anggota kartu peminjaman memiliki 1 kartu dan dapat meminjam beberapa buku.  Data nya terdiri dari id kartu peminjaman, nama peminjam, jumlah hari pinjam, biaya peminjaman, id buku, nama buku, penerbit buku, tahun terbit buku.

Id_pinjam

 

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

Rp.6000

Bk001

Matematika

Erlangga

2010

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhan

5

Rp.9000

Bk001

Matematika

Erlangga

2010

pj001

Boediyono

1

Rp.2000

Bk003

Visual basic

Gramedia

2012

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj003

Burhan

1

Rp.2000

Bk005

Struktur data

Smart book

2011

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

Ada beberapa anomali yang terjadi pada table berikut, yaitu:

ΓΌ  Anomali Peremajaan

Contoh:

Jika terjadi perubahan nama peminjam dengan id pinjam menjadi “Burhanudin”, maka perubahan harus dilakukan sebanyak 2x. Kalau dilakukan hanya 1x, maka data menjadi tidak konsisten (tidak sesuai)

Id_pinjam

 

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

Rp.6000

Bk001

Matematika

Erlangga

2010

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhanudin

5

Rp.9000

Bk001

Matematika

Erlangga

2010

pj001

Boediyono

1

Rp.2000

Bk003

Visual basic

Gramedia

2012

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj003

Burhan

1

Rp.2000

Bk005

Struktur data

Smart book

2011

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

Id_pinjam yang sama pj003 mempunyai nama yang berbeda, hal ini disebut anomali peremajaan)


ΓΌ  Anomali Penyisipan

Misalnya:

Jika terjadi penambahan buku baru, misalnya: Bk006, Algoritma Pemrograman, Mizan Pustaka, 2012. Dengan penambahan buku baru mengakibatkan terjadi kekosongan nilai pada atribut : Id_pinjam, Nm_peminjaman, Jm_hr_pl, dan biaya_punjam ( anomali penyisipan)

Id_pinjam

 

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

Rp.6000

Bk001

Matematika

Erlangga

2010

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhan

5

Rp.9000

Bk001

Matematika

Erlangga

2010

pj001

Boediyono

1

Rp.2000

Bk003

Visual basic

Gramedia

2012

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj003

Burhan

1

Rp.2000

Bk005

Struktur data

Smart book

2011

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

kosong

kosog

Kosong

kosong

Bk006

Algoritma Pemrograman

Mizan Pustaka

2012

ΓΌ  Anomali penghapusan

Jika Id pinjam pj002  membatalkan peminjaman dengan nama buku Basis data

Id_pinjam

 

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

Rp.6000

Bk001

Matematika

Erlangga

2010

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhan

5

Rp.9000

Bk001

Matematika

Erlangga

2010

pj001

Boediyono

1

Rp.2000

Bk003

Visual basic

Gramedia

2012

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj003

Burhan

1

Rp.2000

Bk005

Struktur data

Smart book

2011

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

Dengan penghapusan record tersebut mengakibatkan hilangnya data jm_hr_pj terhadap Biaya pinjam (Anomali penghapusan)

Berdasarkan beberapa anomali di atas, maka tabel/relasi tersebut harus didekomposisi (dipisahkan) berdasarkan dependensinya:

Table peminjaman

Id_pinjam

 

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

Rp.6000

Bk001

Matematika

Erlangga

2010

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhan

5

Rp.9000

Bk001

Matematika

Erlangga

2010

pj001

Boediyono

1

Rp.2000

Bk003

Visual basic

Gramedia

2012

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj003

Burhan

1

Rp.2000

Bk005

Struktur data

Smart book

2011

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

Buatlah normalisasi tersebut!


Table UNF ( Un Normalized Form ) 

        Merupakan suatu kondisi dimana sebuah table yang memiliki rangkap atau data yang terduplikasi.

Id_pinjam

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

1

Rp.6000

Rp.2000

Bk001

BK003

Matematika

Visual basic

Erlangga

Gramedia

2010

2012

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhan

1

5

Rp.2000

Rp.9000

Bk005

Bk001

Struktur data

Matematika

Smart book

Erlangga

2011

2010

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

 

Bentuk Normalisasi Pertama (1NF)

Pada table diatas Jm_hr_pj, Biaya_pinjam, Id_buku, Nm_buku, penerbit, dan tahun menyatakan atribut yang berulang (misal boediyono meminjam 2 buku yang berbeda). Bentuk seperti ini perlu diubah menjadi bentuk normal pertama.

Sesuai dengan konsep normal pertama yaitu  “suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal untuk setiap baris”.

Berikut adalah table yang sudah di normalisasi pertama

Id_pinjam

Nm_peminjam

Jm_hr_pj

Biaya_pinjam

Id_buku

Nm_buku

Penerbit

Thn_terbit

pj001

Boediyono

3

Rp.6000

Bk001

Matematika

Erlangga

2010

pj001

Boediyono

1

Rp.2000

Bk003

Visual basic

Gramedia

2012

pj002

Mulyadi

2

Rp.4000

Bk002

Basis data

Tinta emas

2009

pj003

Burhan

5

Rp.9000

Bk001

Matematika

Erlangga

2010

pj003

Burhan

1

Rp.2000

Bk005

Struktur data

Smart book

2011

pj004

Alex

3

Rp.6000

Bk004

Jaringan

Penebar swadaya

2008

pj005

Suparman

2

Rp.4000

Bk002

Basis data

Tinta emas

2009


Bentuk Normalisasi Kedua (2NF)

Ketentunan bentuk normal ke dua yaitu " suatu realasi berada dalam bentuk normal kedua jika dan hanya jika".

a.       Berada pada bentuk normal pertama

b.      Semua atribut bukan kunci memiliki depedensi sepenuhnya  terhadap kunci primer

Pada table diatas dapat digambarkan diagram depedensi fungsional, seperti berikut ini










Diagram depedensi fungsional diatas menjelaskan bahwa :

- Nm_pinjam memiliki dependensi fungsional terhadap Id_pinjam.

- Nm_buku, penerbit, Thn_terbit memiliki dependensi fungsional terhadap Id_buku.

-  Biaya_pinjam dan Jm_hr_pj mempunyai dependensi fungsional terhadap Id_pinjam dan Id_buku.

Berdasarkan diagram dependensi fungsional tersebut, pendekomposisinya menghasilkan tiga buah relasi, yaitu :

1. (Id_pinjam, Nm_pinjam)

Table peminjam

Id_pinjam

Nm_peminjam

pj001

Boediyono

pj002

Mulyadi

pj003

Burhan

pj001

Boediyono

pj004

Alex

pj003

Burhan

pj005

Suparman


2. (Id_buku, Nm_buku, penerbit, Thn_terbit)

Table buku

Id_buku

Nm_buku

Penerbit

Thn_terbit

Bk001

Matematika

Erlangga

2010

Bk002

Basis data

Tinta emas

2009

Bk001

Matematika

Erlangga

2010

Bk003

Visual basic

Gramedia

2012

Bk004

Jaringan

Penebar swadaya

2008

Bk005

Struktur data

Smart book

2011

Bk002

Basis data

Tinta emas

2009


3. (Id_pinjam, Id_buku, Jm_hr_pj, Biaya_pinjam)

Table Jumlah dan biaya peminjaman

Id_pinjam

Id_buku

Jm_hr_pj

Biaya_pinjam

pj001

Bk001

3

Rp.6000

pj002

Bk002

2

Rp.4000

pj003

Bk001

5

Rp.9000

pj001

Bk003

1

Rp.2000

pj004

Bk004

3

Rp.6000

pj003

Bk005

1

Rp.2000

pj005

Bk002

2

Rp.4000

 

Bentuk Normalisasi Ketiga (3NF)

Jm_hr_pj mempunyai dependensi fungsional terhadap Id_pinjam dan Id_buku. Serta Biaya_pinjam mempunyai dependensi fungsional terhadap Jm_hr_pinjam.

Id_pinjam

Id_buku

Jm_hr_pj

Biaya_pinjam

pj001

Bk001

3

Rp.6000

pj002

Bk002

2

Rp.4000

pj003

Bk001

5

Rp.9000

pj001

Bk003

1

Rp.2000

pj004

Bk004

3

Rp.6000

pj003

Bk005

1

Rp.2000

pj005

Bk002

2

Rp.4000

Dengan menggunakan pendekatan dari bentuk normalisasi ketiga maka relasi pada bagian c diatas dapat didekomposisi menjadi 2 relasi :

1.      (Id_pinjam, Id_buku, Jm_hr_pj)

Tabel  jumlah hari pinjam

Id_pinjam

Id_buku

Jm_hr_pj

pj001

Bk001

3

pj002

Bk002

2

pj003

Bk001

5

pj001

Bk003

1

pj004

Bk004

3

pj003

Bk005

1

pj005

Bk002

2

2.      (Jm_hr_pj, Biaya_pinjam)

Tabel biaya

Jm_hr_pj

Biaya_pinjam

1

Rp.2000

2

Rp.4000

3

Rp.6000

5

Rp.9000


Sekian semoga membantu menjawab persoalan dari kasus perpustakaan di atas :)

Pengalaman Magang di Dinas Kebudayaan, Kepemudaan dan Olahraga, Dan Pariwisata Kabupaten Klaten

Fakultas Komputer dan Teknik  Universitas Alma Ata Yogyakarta, mengadakan kegiatan magang untuk mahasiswa semester 7  (tujuh) Prodi Sistem I...