Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

NORMALISASI.

Presentasi serupa


Presentasi berjudul: "NORMALISASI."— Transcript presentasi:

1 NORMALISASI

2 Dekomposisi Dekomposisi : memecah relasi/tabel menjadi relasi/tabel yang lebih kecil untuk mendapatkan skema yang tidak mengandung anomali dan redundansi. Anomali Anomali adalah proses pada basis data yang memberikan efek samping yang tidak diharapkan ( misalnya menyebabkan ketidakonsistenan data atau membuat suatu data menjadi hilang ketika data lain dihapus)

3 Relasi (review) Kumpulan atribut yang nilainya :
Setiap atribut harus berharga tunggal. Semua harga pada suatu atribut harus mempunyai tipe yang sama Setiap atribut harus mempunyai nama yang unik Urutan atribut tidak penting Tidak ada dua baris (tuple) dalam relasi yang isinya identik Urutan baris (tuple) tidak penting ,

4 Proses Rancangan Database (review)
Mengumpulkan kebutuhan user/business Mengembangkan E-R Model berdasarkan kebutuhan user/business Konversikan E-R Model ke himpunan relasi (tabel) Normalisasikan relasi untuk menghilangkan anomali Implementasikan ke database dengan membuat tabel untuk setiap relasi yang sudah ternormalisasi

5 Normalisasi database (1)
Normalisasi adalah proses pembentukan struktur database sehingga sebagian besar ambiguity bisa dihilangkan. Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga paling ketat (5NF) Biasanya hanya sampai pada tingkat 3NF atau BCNF karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. am.bi.gu [a] bermakna lebih dr satu (sehingga kadang-kadang menimbulkan keraguan, kekaburan, ketidakjelasan, dsb); bermakna ganda; taksa Referensi: KamusBahasaIndonesia.org Ambiguity adalah, sesuatu yang memiliki makna lebih dari satu, barangkali karena memiliki suatu cerita/latar belakang historis, kategoris, kontraris, sosial, linguistik, moralistik, religius, litigius, prestisius, saintifik, heuristik, naturalistik, supernatural, ultranatural, eksistensial, biologis, deontologis, geologis, methodologis, nominalistik, deterministik, psikologis, diabolis, metaphoristik, patriotis, dialektik, ekletik, abnormal, paranormal, semi-formal atau tidak; atau barangkali campuran dari faktor2 diatas. SELECT..INNER JOIN..ON dengan nama kolom ini, MySQL akan mengeluarkan error: mysql> SELECT nama_matkul,jumlah_SKS,nama_dosen FROM mata_kuliah INNER JOIN daftar_dosen ON mata_kuliah.NIP_dosen=daftar_dosen.NIP_dosen; INNER JOIN daftar_dosen ON NIP_dosen=NIP_dosen; ERROR 1052 (23000): Column 'NIP_dosen' in on clause is ambiguous Dari pesan error yang terjadi, sebenarnya MySQL ‘bingung’ dalam memilih kolom. Query ON NIP_dosen=NIP_dosen menjadi ambigu karena kedua tabel kita memiliki nama kolom yang sama. Untuk mengatasi ambiguitas ini, MySQL mengharuskan kita secara eksplisit menyebutkan nama tabelnya. Cara penulisan ini menggunakan tanda titik sebagai pemisah: Nama_Tabel.Nama_Kolom Misalkan untuk merujuk pada kolom NIP_dosen pada tabel mata_kuliah, maka penulisannya menjadi: Mata_kuliah.NIP_dosen Sehingga query SELECT..INNER JOIN..ON yang benar menjadi: | nama_matkul       | jumlah_SKS | nama_dosen    | | Database          |          4 | Susi Indriani | | Fisika Dasar      |          2 | Tia Santrini  | | Jaringan Komputer |          3 | Rubin Hadi    | | Matematika Dasar  |          4 | Sabrina Sari  | | Mikro Prosesor    |          2 | Tia Santrini  | | Sistem Operasi    |          2 | Sabrina Sari  | | Teknik Kompilasi  |          2 | Tia Santrini  | 7 rows in set (0.00 sec)

6 Normalisasi database (2)
Mengapa dilakukan normalisasi ? Optimalisasi struktur tabel Meningkatkan kecepatan Menghilangkan pemasukan data yang sama Mengurangi redundansi Lebih efisien dalam penggunaan media penyimpanan Menghindari anomali (insertion anomalies, deletion anomalies, update anomalies). Integritas data yang ditingkatkan

7 Normalisasi database (3)
Sebuah tabel dikatakan baik (efisien) atau normal jika memenuhi 3 kriteria sbb: Jika ada dekomposisi (penguraian) tabel, maka dekomposisinya harus dijamin aman (Lossless-Join Decomposition). Artinya, setelah tabel tersebut diuraikan / didekomposisi menjadi tabel-tabel baru, tabel baru bisa menghasilkan tabel semula dengan sama persis. Terpeliharanya ketergantungan fungsional pada saat perubahan data (Dependency Preservation). Tidak melanggar Boyce-Code Normal Form (BCNF) Jika kriteria ketiga tidak dapat terpenuhi, maka paling tidak tabel tersebut tidak melanggar Bentuk Normal tahap ketiga (3rd Normal Form / 3NF).

8 Dependency / Ketergantungan
Dependency merupakan konsep yang mendasari normalisasi. Dependensi menjelaskan hubungan antar atribut, atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan nilai atribut lainnya. Ada beberapa jenis Dependency / Ketergantungan: Ketergantungan Fungsional / Functionally Dependency (FD) Ketergantungan Fungsional Penuh / Full Functionally Dependency (FFD) Ketergantungan Transitif / Transitive Dependency (TDF) Ketergantungan Total /Total Dependency (TD)

9 1. Ketergantungan Fungsional
Ketergantungan Fungsional menggambarkan hubungan atribut dalam sebuah relasi. Suatu atribut dikatakan Ketergantungan Fungsional pada yang lain, jika menggunakan harga atribut tersebut untuk menentukan harga atribut yang lain. Simbol yang digunakan adalah  (dibaca secara fungsional menentukan )

10 Lanjut.. Notasi: X  Y X dan Y adalah atribut dari sebuah tabel. Berarti X secara fungsional menentukan Y atau Y tergantung pada X, jika dan hanya jika ada dua baris data dengan nilai X yang sama, maka nilai Y juga sama Notasi: X  Y Adalah kebalikan dari notasi sebelumnya.

11 Contoh 1 Relasi Pembeli No_Pembeli Nama_Pembeli P01 Imam_x P02 Yazix P03 Hana Ketergantungan fungsional dari relasi Pembeli adalah : No_Pem → Nama_Pembeli Bagian sebelah kiri panah disebut penentu (determinan) dan sebelah kanan panah disebut yang tergantung (dependen). Tanda { } biasa digunakan kalau ada lebih dari satu atribut, baik pada penentu maupun yang tergantung.

12 Contoh 2 Functional Dependency: NRP  Nama {Mata_Kuliah, NRP}  Nilai
Non Functional Dependency: Mata_Kuliah  NRP NRP  Nilai

13 Contoh 3 Pesan_Jual Kode_Jual Kota Kode_Brg Jumlah P1 Yogya B1 10 B2 5 P2 Solo 7 6 B3 P3 Klaten B4 Pada contoh ini, Kode_Jual secara fungsional menentukan Kota, sebab terlihat bahwa untuk Kode_Jual yang sama, Kota-nya juga sama. Dengan demikian: Kode_Jual  Kota contoh lain: {Kode_Jual,Kode_Brg} Jumlah {Kode_Jual,Kode_Brg} Kota {Kode_Jual,Kode_Brg} {Jumlah, Kota}

14 2. Ketergantungan Fungsional Penuh
Suatu atribut Y mempunyai ketergantungan fungsional penuh terhadap atribut X, jika Y mempunyai ketergantungan funsional terhadap X Y tidak memiliki ketergantungan terhadap bagian dari X Notasi : X  Y

15 Contoh contoh , terdapat relasi pelanggan:
Pelanggan ( KODE_PELANGGAN, NAMA, KOTA, NOMOR_FAX ) Pada relasi ini: {KODE_PELANGGAN, KOTA} NOMOR_FAX KODE_PELANGGAN NOMOR_FAX KET: Pada (1) Nomor_Fax bergantung pada {KODE_PELANGGAN, KOTA} dan bergantung pada KODE_PELANGGAN (pada 2) yang tidak lain adalah bagian dari {KODE_PELANGGAN, KOTA}, maka Nomor_Fax hanya mempunyai dependensi fungsional sepenuhnya terhadap KODE_PELANGGAN

16 Contoh : Pembeli → Kota {Pembeli, Barang} → Kota Kota mempunyai depedensi fungsional terhadap Pembeli atau {Pembeli, Barang} tapi kota mempunyai depedensi fungsional sepenuhnya terhadap pembeli bukan barang.

17 contoh Kebergantungan fungsional berikut: (1) IDPegawai -> tglLahir
maka benar juga menyatakan: (2) IDPegawai, namaPegawai -> tglLahir Pada (2) sebenarnya namaPegawai tidak diperlukan untuk memperoleh tglLahir. IDPegawai sudah mencukupi untuk memperoleh nilai tglLahir. Jadi: merupakan kebergantungan fungsional penuh bukan kebergantungan fungsional penuh

18 3. Ketergantungan Transitif
Atribut Z mempunyai dependensi transitif terhadap X bila apabila Y tergantung pada X dan Z tergantung pada Y X → Y → Z

19 Contoh Definisi : Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut Z tergantung pada atribut Y pada relasi R. ( X Y, Y Z, maka X Z ) Contoh : Ketergantungan transitif : No-pem  Kode-kota Kode-kota  Kota , maka No-pem  Kota

20 Lanjut.. NIP Nama Gol_gaji Gaji_pokok 0001 Ian III A 600000 0002 Saputra III B 650000 0003 Rohim 0004 Fani Gol_gaji fungsional dependency pada NIP dan Gaji_pokok Fungsional Dependency pada Gol_gaji. NIP sebagai X, Gol_gaji sebagai Y, dan Gaji_pokok sebagai Z Jadi nilai-nilai rinci data pada atribut Gaji_pokok (Z) bergantung transitif terhadap NIP X  Y  Z NIP  Gol_gaji Gaji_pokok

21

22

23

24 4. Ketergantungan Total Suatu atribut Y mempunyai ketergantungan total pada atribut X jika: Y memiliki ketergantungan fungsi terhadap X X memiliki ketergantungan fungsi terhadap Y Notasi : X  Y

25 Lanjut.. Contoh : PEGAWAI (NO-INDUK,NAMA,TMP-LAHIR,TG-LAHIR, ALAMAT)
Dengan demikian notasi dapat ditulis: NO-INDUK  NAMA

26 BENTUK NORMAL PERTAMA (First Normal Form - 1NF)
Bentuk normal 1NF terpenuhi jika sebuah tabel tidak memiliki atribut bernilai banyak (multivalued attribute), atribut composite atau kombinasinya dalam domain data yang sama. Data dibentuk dalam satu record demi record dan nilai field adalah atomic value. Tidak ada set atribut yang berulang / bernilai ganda)

27 Atribut bernilai ganda
Lanjut.. Suatu relasi berada dalam bentuk normal pertama jika relasi tidak mengandung atribut yang bernilai ganda Contoh : Atribut bernilai ganda

28 Sekarang atribut berniali tunggal
Lanjut.. Pemecahannya Buang atribut berganda Caranya: Atur setiap kolom berisi satu nilai. - Bila isi suatu kolom untuk suatu baris berisi n nilai, maka pecahlah baris menjadi n baris Sekarang atribut berniali tunggal

29 Lanjut..

30 Lanjut..

31 Lanjut..

32 BENTUK NORMAL KEDUA (Second Normal Form - 2NF)
Bentuk normal 2NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk 1NF. Normalisasi 2NF: setiap atribut bukan kunci bergantung penuh pada kunci primer (primary key). Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer (primary key) Jika terdapat atribut yang tidak memiliki ketergantungan terhadap primary key, maka atribut tersebut harus dipindah atau dihilangkan.

33 SYARAT 2NF Memenuhi kriteria tabel 1NF
Di dalam tabel tersebut tidak ada redudansi / pengulangan data dan Null Value Field-field yang bukan PK (primary key) adalah Fully Functional Dependency (bergantung penuh) pada PK.

34 Contoh Perhatikan tabel di bawah ini. Atribut mana yang bisa menjadi primary key, dan bagaimana ketergantungan fungsional semua atribut?

35 lanjut Jika No dan Kursus dijadikan composite primary key, maka nama tidak tergantung fungsional penuh terhadap PK, perlu dipisahkan dari tabel.

36 contoh

37 PEMASOK-2 PEMASOK-1

38 Contoh INF

39 BENTUK NORMAL KETIGA (Third Normal Form - 3NF)
Bentuk normal 3NF terpenuhi jika telah memenuhi bentuk 2NF. Jika tidak ada atribut non primary key yang memiliki ketergantungan terhadap atribut non primary key yang lainnya (ketergantungan transitif).

40 Contoh (1) Tabel mahasis berikut ini memenuhi syarat 2NF, tetapi tidak memenuhi 3NF Karena masih terdapat atribut non primary key (yakni Kota dan Provinsi) yang memiliki ketergantungan terhadap atribut non primary key yang lain (yakni KodePos) : KodePos  {Kota, Provinsi}

41 Contoh (2) Sehingga tabel tersebut perlu didekomposisi menjadi :
Mahasiswa (NIM, NamaMhs, Jalan, KodePos) KodePos (KodePos, Provinsi, Kota)

42 Mahasiswa NIM NAMAMHS JALAN KODEPOS KodePos KODEPOS PROVINSI KOTA

43 Boyce-Codd Normal Form (BCNF)
Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk: X  Y maka X adalah super key. Tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi. Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X  A, BCNF tidak membolehkan A sebagai bagian dari primary key.

44 BentukNormal TahapKeempat(4th Normal Form /4NF)
Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multivalued atribute. Untuk setiap multivalued dependencies (MVD) juga harus merupakan functional dependencies.

45

46 BentukNormal TahapKeempat(5th Normal Form /5NF)
Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah loss less decomposition menjadi tabel-tabel yg lebih kecil. Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yakni apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi (join) untuk membentuk tabel semula

47

48 Unnormalisasi Langkah pertama dalam melakukan normalisasi data adalah dengan membentuk contoh data tersebut diatas dengan membentuk unnormalisasi data.

49 Normal Pertama (1 NF) Bentuklah menjadi bentuk normal pertama dengan memisah-misahkan data pada atribut atribut yang tepat dan bernilai atomik, juga seluruh record / baris harus lengkap adanya. Bentuk relasi adalah flat file. Dengan normal pertama kita dapat membuat satu tabel yang terdiri dari 11 Atribut yaitu (No_Faktur, Kode_Supp, Nama_Supp, Kode_Brg, Nama_Brg, Tanggal, Jatuh_Tempo, Qty, Harga, Jumlah, Total ).

50 Normal Pertama (1 NF) Pada normal pertama tersebut masih terjadi banyak kelemahan, terutama pada proses ANOMALI insert, update dan delete berikut ini: a). Inserting / Penyisipan Kita tidak dapat memasukkan kode dan nama supplier saja tanpa adanya transaksi pembelian, sehingga supplier baru bisa dimasukkan kalau ada transaksi pembelian. b). Deleting / Penghapusan Bila satu record / baris di atas dihapus, misal nomor faktur 779, maka berakibat pada penghapusan data supplier S02 (Waras Sejati) padahal data tersebut masih diperlukan. c). Updating / Pengubahan Kode dan nama supplier terlihat ditulis berkali-kali, bila nama supplier berubah, maka di setiap baris yang ada harus dirubah, bila tidak menjadi tidak konsisten. Atribut jumlah seharusnya tidak perlu, karena setiap harga dikali kuantitas akan menghasilkan jumlah, sehingga hasilnya akan menjadi lebih konsisten. A02

51 Normal Kedua (2 NF) Bentuk normal kedua dengan melakukan dekomposisi relasi diatas menjadi beberapa relasi dan mencari kunci primer dari tiap-tiap relasi tersebut dan atribut kunci haruslah unik. Melihat permasalahan faktur di atas, maka dapat diambil beberapa kunci kandidat : ( No_Faktur, Kode_Supp, dan Kode_Brg ). Kunci kandidat tersebut nantinya bisa menjadi kunci primer pada relasi hasil dekomposisi.

52 Normal Kedua (2 NF) Relasi Supplier Relasi Barang Relasi Faktur
Kode_Supp Nama_Supp S02 Waras Sejati G01 Medika jaya Medika Jaya Kode_Brg Nama_Brg Harga R01 Mixagripi 5000 A01 Sanaflux A02 Bodrexno 6000 Relasi Faktur No_Faktur Kode_Brg Kode_Supp Tanggal Jatuh Tempo Qty 779 R01 S02 02/02/2001 09/03/2001 10 998 A01 G01 07/02/2001 A02

53 Normal Kedua (2 NF) Pada bentuk normal kedua tersebut masih terjadi permasalahan yaitu pada relasi Faktur, yaitu : Atribut Qty pada relasi Faktur, tidak tergantung pada kunci utama, atribut tersebut bergantung fungsi pada Kode Brg dan no_faktur, hal ini dinamakan ketergatungan transitif dan haruslah dipilah menjadi dua relasi. Masih terdapat pengulangan, yaitu setiap kali satu faktur yang terdiri dari 3 macam barang maka 3 kali juga dituliskan no_faktur, tanggal, dan jatuh_tempo. Hal ini harus dipisahkan bila terjadi penggandaan tulisan berulang-ulang.

54 4. Bentuk Normal Ketiga (3 NF)
Bentuk normal ketiga mempunyai syarat, setiap relasi tidak mempunyai atribut yang bergantung transitif, harus bergantung penuh pada kunci utama dan harus memenuhi bentuk normal kedua (2 NF). Untuk memenuhi bentuk normal ketiga (3 NF), maka pada relasi faktur harus didekomposisi (dipecah) lagi menjadi dua relasi yaitu relasi faktur dan relasi transaksi barang, sehingga hasilnya adalah sebagai berikut ini:

55 Relasi Faktur Relasi Transaksi Relasi Supplier Relasi Barang Kode_Supp
Nama_Supp S02 Waras Sejati G01 Medika jaya Kode_Brg Nama_Brg Harga R01 Mixagripi 5000 A01 Sanaflux A02 Bodrexno 6000 Relasi Faktur No_Faktur Tanggal Jatuh Tempo Kode_Supp 779 02/02/2001 09/03/2001 S02 998 07/02/2001 G01 Relasi Transaksi No_Faktur Kode_Brg Qty 779 R01 10 998 A01 A02

56 unnormal

57 1 NF Tabel 1

58 Tips And Trik Gambarkan ketergantungan Fungsionalnya

59 2 NF Sudah memenuhi 1 NF tetapi belum memenuhi 2 NF karena atribut
Bukan kunci belum sepenuhnya tergantung pada primary key {No-pem,Kode-Kota } kota No-pem  Kota No-Pem, No-bar  Jumlah

60 2 NF Tabel1 didekomposisi menjadi dua tabel yaitu tabel2 dan tabel3,sehingga atribut non primary key bergantung penuh pada primary key dan terpenuhi 2NF Tabel 1 Tabel 2 No-pem  Kode-Kota No-pem  Kota Kode-Kota  Kota No-pem, No-bar  Jumlah

61 Ketergantungan transitif
3 NF Ada ketergantungan transitif di tabel3, maka perlu di pisah menjadi tabel lebih kecil Tabel 3 Ketergantungan transitif No-pem  Kode-Kota Kode-Kota  Kota

62 3 NF Tabel4 No-pem  Kode-kota Kode-ota  Kota

63

64

65

66 Atribut Bernilai Ganda / Berulang
Contoh 1. Bentuk Tidak Normal ( Unnormalized Form) Merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya tanpa format tertentu. Data dapat tidak lengkap atau terduplikasi Tabel Perpustakaan ini masih bersifat universal Perpustakaan No Nama Alamat No Buku1 Judul Buku1 Pengarang1 No Buku2 Judul Buku2 Pengarang2 No Buku3 Judul Buku3 Pengarang3 Jml Pjm Tgl Pinjam A001 Rahayu Kemuning 117 B001 Msword Ahmad 1 26/1/2000 A002 Iwan Kamboja 29 B002 Foxpro Pramono B005 Acces Anton 3 1/2/2000 A003 Tuti Nangka 20 7/2/2000 A004 Riyanto Kenanga 21 2 11/2/2000 A005 Kiki Merdeka 10 B006 Ws Atribut Bernilai Ganda / Berulang

67 Bentuk Normal Kesatu ( 1 NF / First Normal Form )
Setiap data dibentuk dalam flat file( file datar / rata ) Data dibentuk dalam satu record demi record dan nilai field adalah atomic value Tidak ada set atribut yang berulang2 / bernilai ganda ) Perpustakaan No Nama Alamat No Buku Judul Buku Pengarang Jml Pinjam Tgl Pinjam A001 Rahayu Kemuning 117 B001 Msword Ahmad 1 26/1/2000 A002 Iwan Kamboja 29 3 1/2/2000 B002 Foxpro Pramono B005 Acces Anton A003 Tuti Nangka 20 7/2/2000 A004 Riyanto Kenanga 21 2 11/2/2000 A005 Kiki Merdeka 10 B006 WS Perpustakaan No anggota Nama Alamat NoBuku JudulBuku Pengarang JumlahPinjam TglPinjam Data Duplikat belum ada field kunci yang unik

68 Bentuk Kedua ( 2 NF / Second Normal Form )
Telah Menenuhi kriteria Bentuk Normal 1 NF Atribut Bukan Kunci Haruslah Bergantung Secara Fungsi Pada Primary Key Primary Key Harus Sudah Ditentukan Dan Bersifat Unik, Serta Dapat Mewakili Atribut Lain Yang Menjadi Anggotanya Anggota Noanggota Nama Alamat A001 Rahayu Kemuning 117 A002 Iwan Kamboja 29 A003 Tuti Nangka 20 A004 Riyanto Kenanga 21 A005 Kiki Merdeka 10 Pinjam Buku No anggota Nobuku Jumlahpinjam tglpinjam A001 B001 1 26/1/2000 A002 3 1/2/2000 B002 A003 7/2/2000 A004 2 11/2/2000 B005 A005 B006 Nobuku Judulbuku Pengarang B001 Msword Ahmad B002 Foxpro Pramono B005 Acces Anton B006 Ws pramono Data Duplikat belum ada field kunci yang unik

69 Bentuk Normal Kedua ( 3 NF / Third Normal Form )
Telah Memenuhi kriteria Bentuk 2 NF Semau Atribut Bukan Primer Tidak Mempunyai Hubungan / Ketergantungan Transitif Atribut bukan kunci harus bergantung hanya pada primary key Anggota Noanggota Nama Alamat A001 Rahayu Kemuning 117 A002 Iwan Kamboja 29 A003 Tuti Nangka 20 A004 Riyanto Kenanga 21 A005 Kiki Merdeka 10 Pinjam Buku Noanggota Nobuku A001 B001 A002 B002 B005 A003 A004 A005 B006 Nobuku Judulbuku Pengarang B001 Msword Ahmad B002 Foxpro Pramono B005 Acces Anton B006 Ws Peminjaman Noanggota Jumlahpinjam Tglpinjam A001 1 26/1/2000 A002 3 1/2/2000 A003 7/2/2000 A004 2 11/2/2000 A005


Download ppt "NORMALISASI."

Presentasi serupa


Iklan oleh Google