MATAKULIAH :
PERANCANGAN BASIS SDATA (PBD) (3 sks) Program Studi : Sistim Informasi Dosen : Sari Muliadi, S.Kom, M.Kom
SEMESTER GANJIL TAHUN TAHUN AJARAN 2014/20 20 14/2015 15
GAMBARAN UMUM MATAKULIAH Matakuliah Perancangan Perancangan Basis Data (PBD) merupakan matakuliah yang dirancang untuk memberikan pengetahuan kepada mahasiswa secara teori tetang konsep basisdata (database), pemodelan data database, normalisasi database, relationship database dan analisas desain database yang dilengkapi dengan contoh kasus seperti Desain Database Sistem Informasi Akademik, Sistim informasi penjualan dan lain sebagainya. Matakuliah ini dapat dikatan bagian dari pembelajaran Bahasa Pemograman, karena setiap program aplikasi atau sistem informasi yang di design selalu menggunakan Database, selain itu pada matakuliah ini juga dijelasakan penerapan coding query bahasa pemograman yang dihubungkan dengan database seperti query input data, delete data, edit data dan laporan dan dalam hal ini digunakan database MySql. Pada dasarnya matakuliah ini adalah merupakan salah satu syarat utuk mempelajari matakuliah matakuliah Bahasa Pemograma, Pemograma, dengan demikian matakuliah matakuliah ini juga juga meiliki unsur-unsur praktikum, dengan demikian dalam pembalajaran matakuliah ini masiswa hasrus memiliki Laptop atau note book untuk mengikuti matakuliah system basis data ini.
Silabus Matakuliah (SAP) 1. Konsep onsep Per Peran anca cang ngan an Basi Basiss Data Data 2. Pemode Pemodelan lan Data Data (Medel (Medel Rela Relathi thionsh onship ip dan Rela Relasion sional) al) 3. No Norm rmal alis isai aiss Tab Tabel el dat datab abas ase e
4. Struk Struktur tur Tabel abel /fil /file e Data Databa base se 5. Bahas Bahasa a Basi Basiss Dat Data a (DD (DDLL dan dan DML) DML) 6. Desi Design gn Data Databa base se (Dat (Datab abase ase Mysql Mysql)) 7. Desain Desain Dat Databas abase e Trig Triger er (Dat (Databa abase se Mysql Mysql ) 8. Query Query Data Database base (ter (terapan apan SQL Yoq atau atau SQL SQL Comma Command nd Line) Line) 9. Praktik Praktikum um Coding Coding PHP input data, data, Edit Edit data, data, Delete Delete data data dan Lapora Laporan n
Media Praktikum 1. So Soft ftwa ware re XAM XAMPP PP,, SQL SQL Yoq Yoq 2. Sof Softw tware are Dreamw Dreamweav eaver er CS3 CS3 dan dan sejeni sejenisn snya ya 3. Laptop – Masing-masing
Model Pembelajaran Pembelajaran Model Pembalajaran dari matakuliah ini pada dasarnya adalah TEORI diruangan kulaih, akan tetapi megingat dan menimbang matakuliah ini adalah merupakan matakuliah terapan dan keahlian sehingga dibutuhkan adanya praktikum dalam proses belajar dan mengajar pada matakuliah ini, sehingga dapat memudahakan mahasiswa dalam mengikuti matakuliah Bahasa pemograman yang berbasis database,
Sistem Penilaian 1. 2. 3. 4. 5.
Nilai Kehadiran Nilai Quis , Latihan dan Tugas Sebelum MID Nilai Ujian Mid Nilai Quis , Latihan dan Tugas Setelah MID Nilai Ujian Semester
5 % (menentukan nilai KHS) 10 % 30 % 10 % 45 %
Ketentuan dalam Perkuliahan : 1. Perkuliahan dimulai pada jam 16.00 WIB 2. Perkuliahan dilaksanakan secara teori dan praktikum di ruangan kelas maka untuk pertemuan praktikum diwajibkan setiap mahasiswa mengunakan laptop/ note book masing-masing 3. Dalam perkuliahan mahasiswa harus berpakaian rapi dan sopan (baju harus pakai kerah) 4. Mahasiswa diralarang pakai sandal dan sejenisnya
5. Bagi mahasiswa yang berhalangan masuk dikarenakan Izin atau Sakit harus disertai dengan surat keterangan yang diberikan ke bagian akademik atau ketua kelas dan jika tidak ada surat keterangan di anggap Alpha (tidak hadir).
Ketentuan dalam Perkuliahan : 7. Saat perkuliahan berlangsung mahasiswa dilarang untuk sering keluar masuk ruangan kelas, karena dapat menggangu perkuliahan yang sedang berlangsung 8. Mahasiswa di larang untuk ribut dan menerima telphon di rungan kelas saat perkuliahan berlangsung. 9. Dalam perkuliahan diharapkan adanya sistem diskusi, tanya jawab antara mahasiswa dengan dosen 10. Mahasiswa dilarang menitip absen dengan teman, dan jika ada yang menitipkan maka kedua masiswa tersebut dianggap Alpha (tidak hadir)
1. KONSEP SISTEM BASIS DATA a. APA SEBENARNYA SISTEM BASIS DATA ITU ??? b. APA TUJUAN DARI SISTEM BASIS DATA ITU ?? c. KEPENTINGAN APA YANG DIDAPAT DALAM BASIS DATA ITU ?? d. SEJAUH MANA PERAN DAN KEGUNAAN BASIS DATA ??? e. KENAPA SISTIAP SISTEM INFORMASI HARUS DILENGKAPI DENGAN DATABASE
1. KONSEP SISTEM BASIS DATA Gambaran Umum Sistem Basis Basis Data, Database, dan Sistem Informasi Secara Bahasa SISTEM BASIS DATA terdiri dari TIGA kata : a. SISTEM
b. BASIS
Aturan,
Tatacara, konsep, model
Gudang/ Tempat Tampungan
c. DATA merupakan fakta/ bukti yang terdiri angka, huruf, gambar, video, dan dll JADI Sistem Basis Data : Aturan-Aturan, tatacara yang digunakan untuk mengkonsep, merancang, me-design suatu database secara benar. BASIS DATA (DATABASE) … ?
ADA BERAPA MACAM GUDANG DATA YANG ANDA KETAHUI 1. SECARA HARD/ FISIK 2. DAN SECARA SOFT
APA ? APA ?
1. KONSEP SISTEM BASIS DATA
Matakuliah
Lemari arsip si sebuah ruang
HARD DISK (Basis Data Nilai Mahasiswa)
Basis Data di Sebuah harddisk
Dosen
Nilai
Mahasiswa
Table Mata Kuliah
Table Dosen
Table Mahasiswa
Table Nilai
1. KONSEP SISTEM BASIS DATA Manfaat Data, Basis data dalam Sistim Informasi Kepentingan terhadap Sistem Informasi Basis Data
1. KONSEP SISTEM BASIS DATA Manfaat Data, Basis data dalam Sistim Informasi Kepentingan terhadap Sistem Informasi Basis Data
1. KONSEP SISTEM BASIS DATA Manfaat Data, Basis data dalam Sistim Informasi Kepentingan terhadap Sistem Informasi Basis Data
Saat ini Apapun Model Sistem Informasi Selalu menggunakan Basis Data (Database)
Maka perlu dpelajari Sistem Basis data
Guna Database dalam Sistem informasi a. Sebagai media dalam pengolahan data, komunikasi, penyimpanan data dan
sumber informasi b. Sebagai media dalam mempermudah pekerjaan, contoh: sistem informasi penilaian, Sistem informasi penggajian c. Sebagai media dalam pendukung pengambilan keputusan didalam perusahaan
Kebutuhan sistem informasi basis data saat ini adalah merupakan kebutuhan pokok bagi organisasi, kantor pemerintahaan swasta, perbankan, pabrik dll.
Defenisi Basis Data dan Sistem Basis Data Dafenisi Basis Data : 1. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. 2. Kumpulan file-file / tabel –tabel yang saling berelasi dan relasi tersebut biasanya ditunjukan dengan kunci dari tiap file yang ada, yang disimpan dalam media penyimpanan elektronis. Satu basis data menunjukan satu kumpulan data yang dipakai dalam lingkup perusahaan, instansi.
Defenisi Basis Data dan Sistem Basis Data Dafenisi Sistem Basis Data : Basis data hanyalah sebuah objek yang pasif. Ia tidak akan pernah berguna jika tidak ada pengelola atau penggeraknya, yang menjadi pengelola atau penggerak secara langsung adalah program atau aplikasi (software). Gabungan dari keduanya (basis data dan pengelolanya) menghasilkan sebuah sistem. Secara umum sebuah sistem basis data merupakan sistem yang terdiri dari atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data di sebuah system komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai (user) dan atau program lain untuk mengakses dan memanipulasi filefile/Tabel-tabel tersebut. DBMS (Data Base Management System) adalah perangkat lunak yang memberikan fasilitas untuk melakukan fungsi pengaturan, pengawasan, pengendalian, pengolahan, dan koordinasi terhadap semua proses yang terjadi pada sistem basis data
Defenisi Basis Data dan Sistem Basis Data Dafenisi Sistem Basis Data / DBMS (Database Management System):
Ruang Lingkup Sistem Basis Data Defenisi Basis Data dan Sistem Basis Data Dafenisi Sistem Basis Data / DBMS (Database Management System):
Hirarki Pembentuk Basis Data Basis data = Databasese Keterangan : •Bit, merupakan sistem angka biner yang terdiri atas angka 0 dan 1 •Byte (Caracter) , merupakan bagian terkecil, dapat berupa karakter numerik, huruf, ataupun karakter khusus yang membentuk suatu item data / field. 1 Byte digunakan untuk mengkodekan 1 karakter •Data item (field), merepresentasikan suatu atribut dari suatu record yang menunjukkan suatu item dari data, misalnya nama, alamat. Kumpulan dari field membentuk suatu record, atau boleh dikatan kumpulan dari character membentuk suatu arti. •Record, rekama/tuple , Kumpulan dari field membentuk suatu record, menggambarkan suatu unit data individu yang tertentu. Mi salnya: file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan. •File, terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis misalnya : file mata pelajaran berisi data tentang semua mata pelajaran yang ada. •database, Kumpulan dari file / tabel membentuk suatu database
Database =
Tabel mahasiswa
Tabel mtakuliah
Tabel dosen
Tabel nilai
Tabel pembimbing
Tabel absensi
Kumpulan tabel /file yang saling berhubungan membentuk database
DEFINISI BASIS DATA Itu apa ?
Tabel Biodata Tabel Golongan Tabel Gaji ......................
Tabel Jabatan
Nama
Alamat
Telpon
Arief
Jl. Katib
075121225
...............
............
..................
Asep
Jl. Singkong
075120115
Nama
Alamat
Telp
Arief
Jl. Katib
075121225
Nama
Alamat
Telp
Arief
Jl. Katib
075121225
Budi, 1121002, 2011, Jl. Mangga
01010101
TUJUAN BASIS DATA Itu apa ?
Basis data bertujuan untuk mengatur data sehingga diperoleh kemudahan, ketepatan, dan kecepatan dalam melakukan akses (entry, update, hapus, menampilkan, mengambil) data tersebut. TUJUAN BASIS DATA Itu diadakan /dibuat atau Syarat dari Basis Data : 1. Tujuan adanya redundansi data dan inkonsistensi data Redudansi data : terjadi jika suatu informasi disimpan di beberapa tempat. Misalnya, ada data mahasiswa yang memuat NIM, nama, alamat, dan atribut lainnya, sementara kita punya data lain tentang data KHS mahasiswa yang isinya yang terdapat NIM, nama, mata kuliah, dan nilai. Akibatnya apa ? : Pemborosan ruang penyimpanan Solusinya apa ? : harus ada perancangan system basis data inkonsistensi data: dikarenakan adanya data yang tidak sesuainya pada beberapa informasi yang saling berhubungan disebabkan adanya perubahan data. Contoh : Bila seorang pegawai pindah rumah, maka data “alamat” pada “tabel informasi data pegawai” dan “tabel informasi gaji pegawai” harus dirubah agar terjadi kesesuaian informasi.
2. Kesulitan Pengaksesan Data Basis data memiliki fasilitas untuk melakuakan pencarian informasi dengan menggunakan Query taupun dari tool untik melihat tabelnya. Dengan fasilitas ini. Kita bisa secara langsung melihat data dari software DBMS-nya. Selain itu, basis data bisa dihubungkan dengan program aplikasi sehingga memudahkan pengguna dalam mengakses informasi. Misalnya program aplikasi untuk kasir yang terhubung dengan basis data. pengguna cukup mengguna fasilitas pencarian ataupun laporan. Yang tersedia pada program aplikasi untuk mendapatkan informasi stok, laporan penjualan, dan lain-lain. Dalam basis data, informasi yang diperolah dari kumpulan data bisa berupa keseluruhan data, sebagai data, data denga filter tertentu, data yang terurut, ataupun data summary.
Contoh : Ketika direktur STMIK minta laporan untuk di cetak siapa saja mahasiswa yang memiliki nilai IPK ≥ 3.00 , nah hal ini jika dicari dengan menggunakan sistem manual akan menghabiskan waktu dan tenaga untuk melakukannya, giman kalau jumlah mahasiswanya lebih dari 1.000 orang repotkan, nah solusinya apa? , … maka diperlukan system basis data.
3. Multiple User Maksudnya: dimana Basis data tersebut penggunaanya dapat dilakukan oleh banyak pengguna (client) pada saat yang bersamaan atau pada saat yang berbeda. Dengan meletakkan basis data tersebut pada satu server. Dan tentu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya (client/operator) yang diberikan oleh admin. Contoh: STMIK Indonesia Kota padang memiliki Sitem Informasi Akademik, Sistem informasi Keuangan Portal mahasiswa, dll, nah masing-masing system tersebut bisa diakses secara bersaan dan pada waktu yang berbeda, akan tetapi pemakaian hak akses sudah diatur oleh admin sesuai dengan hak akses, misalnya hak akses operator akademik, hanya bisa untuk entry data mahasiswa, entry nilai mahasiswa, entry pembimbing mahasiswa, sedangankan mahasiswa bisa mengakses laporan nilai, laporan pembimbing mahasiswa, dll.
MANFAAT/KELEBIHAN BASIS DATA Itu apa sih ? 1. Kecepatan dan kemudahan ( speed ) Dengan menggunakan basis data pengambilan informasi dapat dilakukan dengan cepat dan mudah. Basis data memiliki kemampuan dalam mengelompokan, mengurutkan bahkan perhitungan dengan metematika. Dengan perancangan yang benar, maka penyajian informasi akan dapat dilakukan dengan cepat dan mudah.
2. Kebersamaan pemakai Sebuah basis data dapat digunakan oleh banyak user san banyak aplikasi. Untuk data-data yang diperlukan oleh banyak orang/bagian. Tidak perlu dilakukan pencatatan dimasingmasing bagian, tetapi cukup dengan satu basis data untuk dipakai bersama. Misalnya data mahasiswa dalam suatu perguruan tinggi, dibutuhkan oleh banyak bagian, diantaranya: bagian akademik, bagian keuangan, bagian kemahasiswaan, dan perpustakaan. Tidak harus semu bagian ini memiliki catatan dan semua bagian bisa mengakses data tersebut sesuai dengan keperluannya.
3. Pemusatan control data karena cukup dengan satu basis data unutk banyak keperluan, pengontrolan terhadap data juga cukup dilakuan di satu tempat saja. Jika ada perubahan data alamat mahasiswa misalnya, maka tidak perlu kita meng-update semua data dimasing-masing bagian tetapi cukup hanya disatu basis data. 4. Efesiensi ruang penyimpanan (space) Dengan pemakain bersama, kita tidak perlu menyediakan tempat penyimpanan diberbagai tempat, tetapi cukup satu saja sehingga ini akan menghemat ruang penyimpanan data yang dimilikioleh sebuah organisasi. Dengan teknik perancangan basis data yang benar, kita akan menyederhanakan penyimpanan sehingga tidak semua data harus disimpan. 5. Keakuratan ( Accuracy ) Penerapan secara ketat aturan tipe data, domain data, keunikan data, hubungan antara data, dan lain-lain, dapat menekan keakuratan dalam pemasukan/penyimpanan data.
6. Ketersediaan (availability ) Dengan basis data kita dapat mem-backup data, memilah-milah data mana yang masih diperlukan dan data mana yang perlu kita simpan ke tempat lain. Hal ini mengingat pertumbuhan transaksi suatu organisasi dari waktu ke waktu membutuhkan media penyimpanan yang semakin besar.
7. Keamanan (Security ) Kebanyakan DBMS dilengkapi dengan fasilitas manajemen pengguna diberikan hak akses yang berbeda-beda sesuai dengan pengguna dan posisinya. Basis data bisa diberikan passwordnya untuk membatasi orang yang mengaksesnya. 8. Kemudahan dalam pembuatan program aplikasi baru Pengguna basis data merupakan bagian dari perkembangan teknologi. Dengan adanya basis data pembuatan aplikasi bisa memanfaatkan kemampuan dari DBMS, sehingga pembuatan aplikasi tidak perlu mengurusi penyimpanan data, tetapi cukup mengatur interface untuk pengguna. 9. Pemakain secara langsung Basis data memiliki fasilitas untuk melihat datanya secara langsung dengan tool yang disediakan oleh DBMS. Untuk melihat data, langsung ke table ataupun menggunakan query. Biasanya yang menggunakan fasilitas ini adalah user yang sudah ahli, atau database administrator. 10. Kebebasan data (Data Independence) Jika sebuah program telah selesai dibuat, dan ternyata ada perubahan isi/struktur data. Maka dengan basis data, perubahan ini hanya perlu dilakukan pada level DBMS tanpa harus membongkar kembali program
11. User view Basis data penyediaan pandangan yang berbeda-beda untuk tiap-tiap pengguna. Misalnya kita memiliki data-data dari perusahaan yang bergerak dibidang retail. Data yang ada berupa data barang, penjualan, dan pembelian. Ada beberapa jenis pengguna yang memerlukan informasi terkait dengan data perusahaan tresebut. Mereka adalah pelanggan, kasir, bagian gudang, bagian akutansi dan manajer. Tidak semua data boleh diakses oleh semua pengguna. Misalnya kasir dia hanya boleh berhak melihat informasi nama barang dan harga jualnya. Sementara itu dia berhak untuk memasukan data penjualan . berbeda dengan pelanggan yang hanya melihat data keberadaan barang dan harga jual tetapi tidak berhak memasukan atau merubah data. Sementara itu bagian akutansi berhak melihat keuntungan dari tiap-tiap barang untuk menganalisa data akutansinya.Basis data mampu memberikan layanan organisasi seperti ini.
PENGGUNA BASIS DATA itu siapa? Pengguna database (“Actor on the scene”) a. Database Administrators Database Administrator (DBA) : orang yang memiliki tanggung jawab penuh dalam manajemen database (pengaturan hak akses,koordinasi dan monitoring, kebutuhan hardware/software). Sedangkan Dalam pekerjaannya biasanya dibantu oleh staf Admin. b. Database Designers bertanggung jawab dalam identifikasi data yang tersimpan dalam database, menentukan struktur data yang tepat untuk disimpan dalam database. c. End Users adalah orang-orang yang pekerjaannya membutuhkan akses ke database untuk melakukan query, update maupun genereate report database. d. System Analyst dan Application Programmers (Software Engineers) System Analyst : orang menentukan kebutuhan sistem end user. Application Programmers (Software Engineering) : orang yang kerjaannya berhubungan dengan kebutuhan koneksi database.
PENGGUNA BASIS DATA itu siapa? Pekerja dibalik database (“Worker behind the scene”) Merupakan Orang-orang yang tidak tertarik pada database, akan tetapi lebih cenderung pekerjaannya men-develop tool untuk kebutuhan database.
a. DBMS system designers dan implementer Orang-orang yang merancang dan meng-implementasikan modul-modul dan interface paket-paket software DBMS. (ex. Modul: catalog, procs query lang., procs interface, access & buffering data, controlling cuncurrency, handling data recovery & security;interfacing: interface for integrated system) b. Tool developers Orang-orang yang merancang dan mengimplementasikan tools untuk mendukung software DBMS. (tool untuk meningkatkan performance database, tool untuk monitoring operasional database, dll). c. Operators dan maintenance personnel Para personel administrator yang bertanggung jawab akan jalannya operasional database termasuk maintenance (hardware/software) DBMS.
PEMAKAI BASIS DATA itu siapa ? a. Bidang Kepegawaian, untuk berbagai perusahaan yang memiliki banyak pegawai Pergudangan (inventory), untuk perusahaan manufaktur (pabrik), grosir (reseller), apotik dll. b. Akuntansi, untuk berbagai perusahaan Layanan pelanggan (Customer care), untuk perusahaan yang berhubungan dengan banyak pelanggan (bank, konsultan dll) c. Perbankan, dalam melakukan pengelolaan data nasabah, tabungan, pinjaman, pembuatan laporan akuntansi, pelayanan informasi pada nasabah dll. d. Pendidikan / sekolah, dalam melakukan pengelolaan data siswa, penjadwalan kegiatan, perkuliahan, nilai dll. e. Rumah Sakit, dalam melakukan pengelolaan histori penyakit / pengobatan pasien, menangani pembayaran perawatan dll. f. Telekomunikasi, dalam melakukan pengelolaan data administrasi kabel / data pelanggan, menangani gangguan dll.
KOMPONEN SISTEM BASIS DATA itu apa saja ? a. Perangkat Keras (Hardware) : Perangkat keras yang biasanya terdapat dalam sistem basis data adalah sebagai berikut: 1). Komputer (satu untuk yang stand-alone atau lebih dari satu untuk system jaringan). 1). Memori sekunder yang on-line (harddisk). 3). Memori sekunder yang off-line (tape) untuk keperluan backup data. 4). Media / perangkat komunikasi (untuk sistem jaringan). b. Sistem Operasi (Operating System) Merupakan program yang mengaktifkan, memfungsikan atau menjalankan sistem komputer, mengendalikan seluruh sumber daya dalam komputer dan melakukan operasi – operasi dasar dalam komputer (operasi input/output), pengelolaan file, dan lain sebagainya. Program pengelola basis data (DBMS) akan aktif (running) jika system operasi yang dikehendakinya (sesuai) telah aktif. Sebagai contoh system operasi yang digunakan : Windows XP, Linux, Unix, dll.
KOMPONEN SISTEM BASIS DATA itu apa saja ? c. Basis Data (Database) Menyimpan berbagai obyek database (struktur tabel, indeks,dll) Sebuah sistem basis data dapat memiliki beberapa basis data. Setiap basis data dapat memiliki sejumlah objek basis data (seperti file/table, store procedure, indeks, dan lainya). Disamping berisi / menyimpan data, setiap basis data juga mengandung / menyimpan definisi struktur (baik untuk basis data maupun objek-objeknya secara detail). d. DBMS (Database Management System) Perangkat lunak yang memaintain data dalam jumlah besar. Pengelolaan basis data secara fisik tidak ditangani langsung oleh user (pemakai), tetapi ditangani oleh sebuah perangkat lunak (sistem) yang khusus /spesifik. Perangkat inilah disebut DBMS, yang akan menentukan bagaimana data diorganisasi, disimpan, diubah, dan diambil kembali. Perangkat tersebut juga menerapkan mekanisme pengamanan data (security), pemakaian data secara bersama (sharing data), pemaksaan keakuratan / konsistensi data, dan sebagainya. Sebagai contoh perangkat yang termasuk kedalam DBMS : MS-Access, MYSQL, SQL Server, Oracle, dll
KOMPONEN SISTEM BASIS DATA itu apa saja ? e. Pengguna (User) Para pemakai database. Ada beberapa jenis / tipe pemakai pada sistem basis data, berdasarkan cara mereka berinteraksi pada basis data, diantaranya adalah: 1. Programmer Aplikasi : orang yang membuat sistem aplikasi itu sendiri menggunakan bahasa pemogram yang telah ditentkan (seperti PHP, Delphi, VB, pascal, cobol, clipper,foxpro, dan lainnya). 2. User Mahir (Casual User): Adalah pemakai yang berinteraksi dengan sistem, (dia tidak seorang programmer). Mereka menyatakan query (hanya melakukan untuk akses data), dengan bahasa query yang telah disediakan oleh suatu DBMS. 3. User Umum (End User) (tukang install kan program aplikasi itu lah ) Adalah pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen, yang telah ditulis / disediakan sebelumnya. 4. User Khusus Adalah pemakai yang menulis aplikasi basis data non konvensional untuk keperluan khusus, seperti untuk aplikasi AI, Sistem Pakar, Pengolahan Citra, dan lainnyal, yang bisa saja mengakses basis data dengan / tanpa DBMS.
KOMPONEN SISTEM BASIS DATA itu apa saja ? f. Aplikasi (perangkat lunak) lain. Program lain dalam DBMS. Aplikasi lain ini bersifat optional, ada tidaknya tergantung pada kebutuhan kita. DBMS yang kita gunakan lebih berperan dalam pengorganisasian data dalam basis data, sementara bagi pemakai basis data (khususnya yang menjadi end user) dapat disediakan program khusus untuk melakukan pengisian, pengubahan dan pengambilan data.
Macam – Macam Tipe File dalam Sistem Basis Data Pada Suatu Database file dapat diartikan sebagai Tabel, dan berikut dibawah ini adalah merupakan macam-macam file yang terdapat dalam database :
1. File induk (master file) Ada 2 file induk : a. File induk acuan (reference master file) - Recordnya relatif statis, jarang berubah nilainya Contoh : file daftar gaji, matakuliah b. File induk dinamik (dynamic master file) Nilai dari recordnya sering berubah atau diupdate sebagai hasil suatu transaksi Contoh : file stok barang, file Daftar Harga Barang 2. File transaksi (Transaction file) Disebut juga file input data. Digunakan untuk merekam data hasil transaksi Contoh: file penjualan barang, File pembayaran SPP 3. File laporan (report file) Disebut juga file output, Laporan. Berisikan data yang dapat ditampilkan sebagai laporan Contoh: File Berita, File pengumuman, Kwitansi pemblelian, KHS, KRS,
Macam – Macam Tipe File dalam Sistem Basis Data
4. File sejarah (history file) - Disebut juga file arsip (archieval file). - Merupakan file yang berisi data masa lalu yang sudah tidak aktif lagi, tapi masih disimpan sebagai arsip 5. File pelindung (bacup file) - Merupakan salinan dari file-file yang masih aktif di dalam basis data pada saat tertentu - Digunakan sebagai cadangan apabila file basis data yang aktf mengalami kerusakan atau hilang
Macam-macam File tersebut ditas dalam suati aplikasi/Sistem Informasi tidak semua digunakan, dan tergantung dari jenis Aplikasi dan Sistem Inforasinya.
Operasi-Operasi Dasar Basis Data (Perintah proses yang bisa di lakukan pada database) Operasi dasar yang dapat dilakukan oleh basis data meliputi : a. Pembuatan basis data baru (create database) b. Penghapusan basis data (drop database) c. Pembuatan file/table baru ke dalam basis data (create table) d. Penghapusan file/table dari suatu basis data (drop table) e. Penambahan data baru ke sebuah file di sebuah basis data (insert) f. Pengambilan data dari sebuah file (retrieve/search, Select) g. Pengubahan data dari dari sebuah file (update)
h. Penghapusan data dari sebuah file (delete)
Ulasan Materi 1. Defenisi Sistem Basisi Data dan Sistem Basis Data 2. Hirarki Pementuk Basis Data itu Apa 3. Tujuan Basis Data itu dibuat / Tujuan Basis Data Tersebut diadakan 4. Komponen Basis Data itu apa Saja 5.
Macam – Macam File dalam Basis Data itu Apa Saja
Contex diagram dan DFD apakah masuk dalam Aturan Sistem Basis Data??
ASI (Aliran Sistem Informasi) dan Flowchart apakah masuk dalam Aturan Sistem Basis Data??
MODEL DATA Sekumpulan tool konseptual untuk mendeskripsikan data, relasi-relasi antar data yang Menyatakan hubungan antar rekaman yang tersimpan dalam basis data. Model data merupakan suatu cara untuk menjelaskan tentang data-data yang Tersimpan dalam Basis Data (Database) dan bagaimana Hubungan (Relasi) antar data tersebut untuk para Pemakai / Pengguna secara logik (logic) Model data merupakan sekumpulan konsep untuk menerangkan data, hubunganhubungan antara data dan batasan-batasan yang terintegrasi didalam suatu Basis Data (database) Tujuan Data Model Atau Pemodelan Data dalam Basis Data tersebut untuk Apa ? - Bagaimana mendeskripsikan dan memberikan Batasan Data, tabel dalam Database - Bagimana cara merelasikan atau menghubungkan antar data dalam Database
MODEL DATA
Pengelompokan Model Data Secara garis besar dalam Model Data untuk pengelompokan Model data dikelompokkan dalam tiga macam yaitu : 1. MODEL DATA BERBASIS OBYEK (OB JECT B ASED DATA MODEL ) 2. MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 3. MODEL DATA FISIK (PHYSICAL B ASED DATA MODEL)
MODEL DATA
MODEL DATA BERBASIS OBYEK (OBJ ECT BA SED DATA MODEL) Merupakan himpunan data dan prosedur/relasi yang menjelaskan hubungan logik antar data dalam suatu basis data berdasarkan obyek datanya TERDIRI ATAS : 1. Model keterhubungan entitas ( ENTITY RELATIONSHIP MODEL ) 2. Model berorientasi objek (O b j e c t o r i e n t e d m o d e l ) 3. Model data sematik (Semantic Data Model) 4. Model data fungsional (Functional Data Model)
MODEL DATA
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Model ini berdasarkan record/rekaman untuk menjelaskan kepada pemakai mengenai hubungan logik antar data dalam basis data
TERDIRI DARI : 1. Model relational (relation al m od el) 2. Model Hirarkis (Hierarchic al m od el) 3. Model jaringan (N et w o r k m o d e l )
MODEL DATA
MODEL DATA FISIK (PHYSICAL BA SED DATA MODEL ) Model ini digunakan untuk menguraikan data di tingkat internal atau menjelaskan kepada pemakai bagaimana data-data
dalam basis data
(database) disimpan dalam media penyimpanan secara fisik. model ini jarang digunakan karena justru menyulitkan pemakai. TERDIRI ATAS : 1. U NIFY IN G MO DE L 2. FRA M E M EM ORY
kerumitan dan kompleksitasnya yang
MODEL DATA
Model keterhubungan entitas (ENTITY REL ATIONSHIP MOD EL ) Digunakan untuk menjelaskan hubungan antar data dalam basis data kepada user secara logik ER-M yang digambarkan dalam bentuk diagram disebut diagram ER (Entity Relathionship) dengan menggunakan simbol-simbol grafis tertentu MENGAPA PERLU MODEL E-R 1. Dapat menggambarkan Hubungan Antar Entity dengan Jelas 2. Dapat Menggambarkan Batasan Jumlah Entity yang berelasi 3. Mudah dimengerti oleh pemakai/ Programmer dalam membuat script program 4. Mudah dimengerti dalam merancang Desain Database
MODEL DATA
Komponen – Komponen Entity Relathionship (E-R)
1. ENTITAS (ENTITY ) 2 . A TR IB U T (A TT RIB U T E )
3. RELASI, RELA SI A NTA R ENTITA S ( ENTITAS REL ATIONSHIP )
MODEL DATA
Komponen – Komponen Entity Relathionship (E-R)
1. ENTITAS (ENTITY ) Entitas / Entity dapat Berupa : a.
Entity yang bersifat fisik Merupakan Entitas/Antity secara Fisik dapat dilihat Contoh (Mahasiswa, Dosen, Buku,.. dll)
b.
Entity yang bersifat yang bersifat Konsep / Logik Merupakan Entity / Entitas secara fisik tidak dapat dilihat contoh ( Matakuliah, Golongan, jabatan, dll)
Simbol yang digunakan Untuk Entity/Entitas :
MODEL DATA
Macam – Macam Entity 1. Entity Reguler Disebut juga entitas dominan, merupakan entitas yang keberadaannya tidak tergantung pada entitas yang lain contoh entitas mhs, mata kuliah, karyawan, dll (Coba Cari Contoh Lain) 2. Entitas Dependen Disebut entitas tidak bebas/lemah /subordinat karena keberadaannya bergantung pada entitas yang lain artinya entitas tersebut muncul jika ada entitas lain sebagai acuannya (entitas reguler) misal: Entitas Jenjang pendidikan Bergantung pada Entitas Mahasiswa Entitas Golongan dan Pangkat Bergantung pada Entitas Karyawan dll (Coba Cari Contoh Lain)
MODEL DATA Macam – Macam Entity 3. Entitas Super Type dan Entitas Sub Type Entitas Super Type: Entitas yang memiliki tingkatan yang lebih tinggi yaitu membawahi atau mempunyai entitas bagian yang lebih rendah. Entitas Sub Type : Merupakan entitas yang lebih rendah yaitu entitas yang menjadi bagian entitas lain. Misal: Entitas Karyawan (entitas super type) terdiri dari entitas karyawan tetap (sub type) dan karyawan tidak tetap (sub type) Entytas Mahasiswa (Entitas super type) terdiri dari Entitas Mahasiswa Reguler (Sub type) dan Entitas Mahasiswa Mandiri (Sub type) Coba Cari Contoh Lain
MODEL DATA
Komponen – Komponen Entity Relathionship (E-R) 2. Atribut (Attribute) Merupakan keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan sebagai basis data. Nilai atribut adalah informasi yang disimpan disuatu atribut didalam suatu entitas atau relationship ADA 2 JENIS ATRIBUT a. Identifer (Key) untuk menentukan suatu Entitas Secara Unik b. Decriptor (nonkey atribute), untuk menentukan karakteristik dari suatu entitas yang unik SIMBOL UNTUK ATRIBUT ADALAH ELLIPS/OVAL
MODEL DATA
Contoh Entity dan Atribut
Atribut Identifer (Key)
NIM
NAMA MAHASISWA JURUSAN Discriptor (Atribut non key)
Atribut
ALAMAT
MODEL DATA Klasifikasi Atribut 1. Atribut Sederhana (Simple Attribute) - Yaitu jika atribut berisi sebuah komponen nilai/elementer - Atribut yang tidak dapat dibagi lagi menjadi atribut yang lebih besar Contoh : atribut nama : Joni Anwar Kode_Angkatan : 2012 (Ankatan 2012) Program Studi : Sistem Informasi Kode_Jenjang Studi : (01 Jenjang Studi Sarjana) : (02 Jenjang Studi Diploma) 2. Atribut Composit (Composite Attribute) - Yaitu atribut yang dapat diuraikan menjadi beberapa sub atribut
Contoh : Atribut alamat_mhs atribut ini dapat di urakan berdasarkan No_rumah, Kota, Kecamatan, dll
MODEL DATA Klasifikasi Atribut 3. Single Valued Atribut Yaitu Atribut yang memiliki satu harga / nilai Contoh : - Atribut Umur - gaji - suhu 4. Null Value Atribut Yaitu Atribut dari Entitas yang tidak memiliki nilai Contoh : Atribut Pendidikan : (SD, SLTP, SLTA, Diploma, Sarjana, Magister, Doktor)
5. Derived Atribut Yaitu Atribut yang nilainya dapat di isi atau diturunkan dari perhitungan atau algoritma tertentu Contoh : Atribut Umur Dapat disi dari Atribut Tanggal Lahir (tahun, Bulan,tgl) Atribut Lama_Studi dapat disi dari Atribut Tahun Angkatan dan Tahun Lulus Atribut IPK Dapat Disi oleh Apa?
MODEL DATA
Relasi Antar Entitas (R e l a t i o n s h i p ) Menunjukkan hubungan yang terjadi diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda Simbol yang digunakan
Kerelasian adalah kejadian atau transaksi yang terjadi di antara dua buah entitas yang keterangannya perlu disimpan dalam basisdata Contoh :
Mahasiswa
Mengambil Matakuliah
Matakuliah
MODEL DATA Relasi Antar Entitas (R e l a t i o n s h i p ) Aturan penggambaran relasi antar entitas : 1. Relasi dinyatakan dengan simbol belah ketupat 2. Nama relasi ditulis dalam simbol
3. Relasi menghubungkan 2 entitas 4. Nama relasi berupa: kata kerja aktif, tunggal 5. Nama relasi menggunakan nama yg mudah dipahami dan sesuai maknanya
MODEL DATA Relasi Antar Entitas (R e l a t i o n s h i p ) Notasi Simbolik Diagram E-R
MODEL DATA Kardinalitas (Cardinality ) / Derajat Relasi Kardinalitas atau derajat relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain Kardinalitas yang terjadi dapat berupa : a. one to one (satu ke satu) b. one to many (satu ke banyak ) atau sebaliknya c. many to many (banyak ke banyak )
MODEL DATA Kardinalitas (Cardinality ) / Derajat Relasi
Satu ke satu
Banyak ke satu
Satu ke Banyak
Banyak ke Banyak
MODEL DATA Kardinalitas (Cardinality ) / Derajat Relasi
Relasi 1 Ke 1
Relasi n Ke 1
Relasi 1 Ke n
Relasi n Ke n
MODEL DATA Kardinalitas (Cardinality ) / Derajat Relasi One To One (Satu ke Satu) Nama_dos
Alamat_dos
Nama_dos
Kode_jur
1
Kode_jur
1 Mengepalai
Dosen
Nama_jur
Jurusan
One To Many (Satu ke banyak) Nama_dos
Alamat_dos
Nama_dos
Kode_kul
1
Kode_kul
N
kuliah
mengajar
Dosen
Waktu
Tempat
Nama_kul
sks
semester
MODEL DATA Kardinalitas (Cardinality ) / Derajat Relasi Many To Many (Banyak ke Banyak)
npm
Nama_mhs
npm
Kode_kul
M Mahasiswa
Alamat_mhs
Tgl_lahir
Kode_kul
N
kuliah
mempelajari
Indeks_nilai
Nama_kul
sks
semester
MODEL DATA Kardinalitas (Cardinality ) / Derajat Relasi
HOBY
ORANG TUA 1
n senangi
punya 1
1
MAHASISWA
n
ambil
m
n
n
daftar 1 JURUSAN
MATAKULIAH
ajar
1
miliki
n
1 DOSEN
m RUANG
MODEL DATA Praktikum Kardinalitas ( Cardinality ) / Derajat Relasi dengan MS. Access 1. Membuat Entity Reguler 2. Membuat kardinalitas antar entity dan 3. Membuat Entity Dependensi
Kardinalitas Antar Entity regular dapat menciptakan : a. Entity Baru yang disebut dengan Entity Dependensi b. Entity Reguler yang memuat Foreign key (Kunci Tamu)
MODEL DATA Praktikum Kardinalitas ( Cardinality ) / Derajat Relasi dengan MS. Access Mengepalai
Dosen
Jurusan
Mengajar Membimbing
Matakuliah Mengabil
Mahasiswa Memiliki
Berapa Bayang Tabel Relasional / Dependen terbentuk Bagaimana tingkat Kardinalitas Antar Entity
MODEL DATA Tahapan Pembuatan E-R 1. Mengidentifikasi dan menetapkan seluruh himpunan entitas yang akan terlibat
MODEL DATA Tahapan Pembuatan E-R 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas
MODEL DATA Tahapan Pembuatan E-R 3. Mengidentfikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign key-nya
MODEL DATA Tahapan Pembuatan E-R 4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi
Tahapan Pembuatan E-R 5. Melengkapi himpnan entitas dan himpunan relasi dengan atribut deskriptif (non key)
MODEL DATA
Contoh Kasus
MODEL DATA
Gambarkan diagram entity relationship (ER-D) dari kasus dibawah ini dari kasus dibawah ini : Buatlah Rancangan ERD dari Relasi Antar Tabel untuk Sistem Informasi Akademik Sederhana Buat diagram sesuai dengan aturan Tahap Pembuatan ER-D
Contoh Kasus
MODEL DATA
Jawaban 1. Menetukan Entity a. Entity Mahasiswa b. Entity Dosen c. Entity Matakuliah d. Entity Ruangan
Mahasiswa
Dosen
Matakuliah
Ruangan Kuliah
Contoh Kasus
MODEL DATA
Jawaban 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas a. Entity Mahasiswa : Nim b. Entity Dosen : Nip c. Entity Matakuliah : Kd_MK d. Entity Ruangan : Kd_ruang Kd-MK Nim Matakuliah Mahasiswa
Nip
Kd-ruang
Dosen
Ruangan Kuliah
Contoh Kasus
MODEL DATA
Jawaban 3. Mengidentfikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign key-nya a. Mahasiswa 1. Mahasiswa : Dosen (Bimbingan) (key: Nim, Nip) 2. Mahasiswa : Matakuliah (Mengambil) (Key: Nim, Kd_Mk ) 3. Mahasiswa : Ruangan (0) b. Dosen 1. Dosen : Mahasiswa (0) 2. Dosen : Matakuliah (mengajar) (nip. Kd_Mk) 3. Dosen : Ruangan (0) a. Matakuliah Matakuliah : Mahasiswa (0) Matakuliah : Dosen (0) Matakuliah : ruang (dipakai) (Kd_mk, Kd_Ruang ) a. Ruang
Contoh Kasus
MODEL DATA
Jawaban Nim
Nim
Kd-MK Mengambil
Matakuliah
Mahasiswa Kd-MK
Nim
Kd-MK
Nip Bimbingan
Nip
Mengajar
Mengajar
Kd-ruang
Nip
Dosen
Ruangan Kuliah
Contoh Kasus Jawaban 4. Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi
MODEL DATA
Contoh Kasus
MODEL DATA
Jawaban Nim
Nim
Kd-MK
n
Mahasiswa
Nim
Matakuliah
Mengambil
n
n Kd-MK
n
1 Kd-MK
Nip
Bimbingan
Mengajar
Mengajar
Nip Nip
Kd-ruang
1
Dosen
1
1
Ruangan Kuliah
Contoh Kasus Jawaban 5. Melengkapi himpnan entitas dan himpunan relasi dengan atribut deskriptif (non key)
MODEL DATA
MODEL DATA
Contoh Kasus Nama Nim
Alamat
Kd-MK
Nim
Kd-MK
Nim
sks
Matakuliah
n 1 Kd-MK
n Nilai Mengajar
Bimbingan
Nilai
Nip Nip
Nm_MK
n Mengambil
n
Mahasiswa
Nim
Kd-MK
1
Kd-ruang
1
1
Kd-MK NmRK
Nip
Dosen Alamat
Mengajar
Nama
Kd-ruang
Ruangan Kuliah
Latihan : MODEL DATA Buatlah Rancangan Diagram ER dari sistem Informasi dibawah ini : 1. Sistem Informasi Kepegawaian 2. Sistem Informasi Perpustakaan 3. Sistem Informasi Penjualan Tiket 4. Sistem Informasi Rumah Sakit 5. Sistem Informasi Aset dan Barang Inventaris 6. Sistem Informasi Absensi 7. Sistem Informasi Pendapatan Keuangan Rumah Sakit 8. Sistem Informasi Peminjaman Alat perkuliahan 9. Sistem Informasi Apotik 10. Sistem Informasi Penggajian Pegawai Negeri Sipil 11. Sistem Informasi Mnajemen Surat Perkantoran 12. Sistem Informasi Pengadaan Barang 13. Sistem Informasi Pengelolan Barang Persediaan 14. Sistem Informasi Posyandu 15. Sistem Informasi Sewa Alat Berat 16. Sistem Informasi Pelaporan Kasus di Kepolisian 17. Sistem Informasi Pengelolaan Pajak Reklame
MODEL DATA Entity Kuat (Strong Entity) dan Entity Lemah (Weak Antity) Atau dapat dikatakan sebagai Entity Reguler dan Dependen 1. Entity Reguler / Entity Kuat (Strong Entity) Disebut juga entitas dominan, merupakan entitas yang keberadaannya tidak tergantung pada entitas yang lain contoh entitas mhs, mata kuliah, karyawan, dll (Coba Cari Contoh Lain) 2. Entitas Dependen / Entity Lemah (Weak Antity) Disebut entitas tidak bebas/lemah /subordinat karena keberadaannya bergantung pada entitas yang lain artinya entitas tersebut muncul jika ada entitas lain sebagai acuannya (entitas reguler)
Entity Kuat
Entity Lemah
MODEL DATA Contoh Menngunakan Entity Lemah 1. Pada Bank Kd_nsbh
Nasabah
saldo Nm_nsbh
no_Rek
Mempunyai
Rekening
Entity Rekeng tidak akan muncul jika tidak ada Nasabah (Entity Nasabah)
2. Model data sematik (Semantic Data Model)
Model Data Sematik Hampir sama dengan Entity Relationship model dimana relasi antara objek dasar tidak dinyatakan dengan simbol tetapi menggunakan kata-kata (Semantic). Semantic model digambarkan dalam bentuk diagram : d i a g r a m semantic
Komponene Diagram Semantik Model 1. Entitas a. dinyatakan dengan simbol persegi panjang atau ellips b. nama entitas ditulis didalam simbol, berupa kata benda dan mudah dipahami
2. Model data sematik (Semantic Data Model) 2. Atribut a. Dinyatakan dengan simbol ellips b. Pemberian Nama Atribut mudah dipahami dan bisa direlasikan dengan Entity c. Tanda garis MENUNJUKAN ADANYA RELASI MENUNJUKAN ADANYA ATRIBUT
Kerelasian Model Semantik a. b. c. d.
Relasi 1 ke 1 = (relasi satu ke satu) Relasi n ke 1 = (relasi banyak ke satu) Relasi 1 ke n = (relasi satu ke banyak) Relasi n ke M = (relasi banyak ke banyak)
MODEL DATA BERBASIS OBYEK 2. Model data sematik (Semantic Data Model) Contoh Model Semantik nobp
nama
Alamat
kdmk
mtk sks
Mahasiswa
Matakuliah
Mengambil / Registrasi 1
n
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Model ini berdasarkan record/rekaman untuk menjelaskan kepada pemakai mengenai hubungan logik antar data dalam basis data
TERDIRI DARI : 1. Model relational (relation al m od el) 2. Model Hirarkis (Hierarchic al m od el) 3. Model jaringan (N et w o r k m o d e l )
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 1. Model relational (relation al m od el) Dimana data serta hubungan antar data direpresentasikan oleh sejumlah tabel dan masing-masing tabel terdiri dari beberapa kolom yang namanya unique 2. Pada tabel model data relasional dilengkapi dengan atribut dan key Istilah dalam Basis Data Model Relasional : a. Relasi Relasi merupakan sebuah tabel yang terdiri dari beberapa kolom dan beberapa baris.
Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dengan yang lainnya.
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : b. Atribut Atribut merupakan kolom pada sebuah relasi. Setiap entitas pasti memiliki aribut yang mendeskripsikan karakter dari entitas tersebut. Penentuan atau pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting dalam pembentukan model data. Nobp
Nama
Alamat
Kota
c. Tup le
Tuple merupakan baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi tentang seseorang, misalnya : NPM, nama mahasiswa, alamat, kota, dll. 1021202005
Budiman
Jl. Mangga No 5
Padang
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : D. Dom ain :
Kumpulan nilai yang valid untuk satu atau lebih atribut nobp
nama
Alamat
kota
1021202001
Budiman
Jl. Pisang No.5
1021202002
Suharman
Jl. Pemuda no.01
Solok
1021202003
Yulmira
Jl. Durian no.1A
Pariaman
1021202004
Salmira
Jl. Katib no.7
Domain
Padang
Padang
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : E Derajat (deg ree) :
Jumlah atribut dalam sebuah relasi
nobp
nama
Derajat (Degree)
Alamat
kota
1021202001
Budiman
Jl. Pisang No.5
Padang
1021202002
Suharman
Jl. Pemuda no.01
Solok
1021202003
Yulmira
Jl. Durian no.1A
Pariaman
1021202004
Salmira
Jl. Katib no.7
Padang
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : F . Cardin ality :
Jumlah tupel dalam sebuah relasi nobp
nama
Alamat
kota
1021202001
Budiman
Jl. Pisang No.5
1021202002
Suharman
Jl. Pemuda no.01
Solok
1021202003
Yulmira
Jl. Durian no.1A
Pariaman
1021202004
Salmira
Jl. Katib no.7
Cardinality
Padang
Padang
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey 1. Sup er key
Satu atribut / kumpulan atribut yang secara unik mengidentifikasi sebuah tuple di dalam relasi nobp
nama
Alamat
kota
1021202001
Budiman
Jl. Pisang No.5
Padang
1021202002
Suharman
Jl. Pemuda no.01
Solok
1021202003
Yulmira
Jl. Durian no.1A
Pariaman
1021202004
Budiman
Jl. Sudirman no.7
Pariaman
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey
Super key : a. Nobp b. (Nobp+nama) c. (Nobp+alamat) d. (Nobp+kota) e. (Nama+alamat) f. (Nobp+nama+alamat+kota)
Tapi Jarang Digunakan semua Atribut Sebagai Super Key , biasanya Satu atau Dua Atribut
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey
2. Candidate key Satu Atribut atau beberapa atribut di dalam relasi yang biasanya mempunyai nilai unik yang dapat membedaka tiap baris/tuple dalam relasi/table Syaratnya : Atrinbut memiliki nilai unik / Tidak Ada Nilai atribut yang sama nobp
nama
Kd_jurusan
Alamat
kota
1021202001
Budiman
01SI
Jl. Pisang No.5
Padang
1021202002
Suharman
01SI
Jl. Pemuda no.01
Solok
1021202003
Yulmira
01SI
Jl. Durian no.1A
Pariaman
1021202004
Salmira
01SI
Jl. Katib no.7
Padang
Candidat key digunakan untuk data mutlak / Data yang sudah ditetapkan dan tidak di ubah
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey
Candidate key : a. Nobp
b. (Nobp+Nama)
tidak
memiliki nilai yang sama dalam relasi
c. (Nama+ Alamat) tidak memeiliki nilai yang sama dalam relasi
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey 3. Primary key
Merupakan satu atribut yang tidak hanya mengidentifikasikan secara unik suatu kejadian spesifik, tapi juga dapat mewakili setiap kejadian dari suatu entitas. Candidate key yang dipilih untuk mengidentifikasikan tuple secara unik dalam relasi. Setiap kunci candidate key punya peluang menjadi primary key, tetapi sebaiknya dipilih satu saja yang dapat mewakili secara menyeluruh terhadap entitas yang ada.
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey
nobp
nama
Alamat
kota
1021202001
Budiman
Jl. Pisang No.5
Padang
1021202002
Suharman
Jl. Pemuda no.01
Solok
1021202003
Yulmira
Jl. Durian no.1A
Pariaman
1021202004
Salmira
Jl. Katib no.7
Padang
Maka yang dapat dijadikan sebagai primary key adalah : nobp (unik tidak ada nobp yang sama)
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey Alternate key
Merupakan candidate key yang tidak dipakai sebagai primary key atau Candidate key yang tidak dipilih sebagai primary key. nobp
nama
Alamat
kota
1021202001
Budiman
Jl. Pisang No.5
Padang
1021202002
Suharman
Jl. Pemuda no.01
Solok
1021202003
Yulmira
Jl. Durian no.1A
Pariaman
1021202004
Salmira
Jl. Katib no.7
Padang
Yang dapat dijadikan sebagai alternate key : nama, alamat, kota
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey F o r e i g n k e y ( K u n c i T am u )
Atribut dengan domain yang sama yang menjadi kunci utama pada sebuah relasi tetapi pada relasi lain atribut tersebut hanya sebagai atribut biasa. Kunci tamu ditempatkan pada entitas anak dan sama dengan primary key induk direlasikan. nobp
nama
Kd_jur
Alamat
kota
1021202001
Budiman
10SI
Jl. Pisang No.5
1021202002
Suharman
10SI
Jl. Pemuda no.01
Solok
1021202003
Yulmira
10SI
Jl. Durian no.1A
Pariaman
1021202004
Salmira
10SI
Jl. Katib no.7
Foreign Key adalah : Kd_jur
Padang
Padang
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey
Kdmk
matakuliah
sks
Mk 102
Sistem basis data
3 sks
Mk 103
Pemograman web
3 sks
Mu 101
Agama
3 sks
Mu 102
Bahasa inggris
3 sks
Apakah ada F o r e i g n k e y (K u n c i T am u ) d i s i n i ? ?
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Istilah dalam Basis Data Model Relasional : G. Relational K ey
id_krs
Kd mk
1
Mk 102
1021202001
Sistem basis data
3 sks
2
Mk 103
1021202002
Pemograman web
3 sks
3
Mu 101 1021202003
Agama
3 sks
4
Mu 102 1021202004
Bahasa inggris
3 sks
Id_nl
nobp
nobp
mtk
sks
kdmk
nilai
1
1021202001
Mk 102
A
2
1021202002
Mk 102
B
3
1021202003
Mk 102
A
4
1021202004
Mk 102
C
Apa F o r e i g n k e y (K u n c i T am u ) n y a ? ?
Apa Nama Tabelnya ??
Apa nama tabelnya ?? Apa Primary key nya ?? Apa Foreign Key nya ??
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Cotoh – Contoh Model Relasional nobp
nama
Alamat
1021202001
Budiman
Jl. Pisang No.5
1021202002
Suharman
1021202003 1021202004
Kd mk
kota
mtk
sks
Padang
Mk 102
Sistem basis data
3 sks
Jl. Pemuda no.01
Solok
Mk 103
Pemograman web
3 sks
Yulmira
Jl. Durian no.1A
Pariaman
Mu 101
Agama
3 sks
Salmira
Jl. Katib no.7
Padang
Mu 102
Bahasa inggris
3 sks
nobp
Kd mk
Nilai
1021202001
Mk 102
A
1021202002
Mk 103
B
1021202003
Mu 101
A
1021202004
Mu 102
C
id-_regis
kdmk
nobp
01
Mk102
1021202001
02
mk103
1021202002
03
Mu 101
1021202003
02
Mu 102
1021202004
Ket: Sebelum Ada tabel Ambil MK ada tabel Lain : Tabel Status Registrasi
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Cotoh – Contoh Model Relasional No_supl
Nama_pen
Status
s01 s02 s03 s04
PT. OGAH-RUGI PT. SANTAI-DULU PT. MALU-MALU CV. ASAL JADI
03 03 02 01
PENGIRIMAN NO_SUPL
NO_PART
JUML
S01 S01 S01 S02 S02 S03 S04
P01 P02 P04 P01 P02 P03 P04
200 300 250 300 400 400 300
SUPPLIER KOTA MEDAN SURABAYA BANDUNG MEDAN
SUKU CADANG NO_PART
NAMA_PART
BAHAN BAKU
P01 P02 P03 P04 P05
BAUT-3 cm MUR - 3 cm BAUT -10 cm PACKING RING-MM
BESI BESI ALUMUNIUM KARET ALUMUNIUM
BERAT 10 8 45 6 2
KOTA JAKARTA JAKARTA SURABAYA MEDAN JAKARTA
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Jawablah beberapa pertanyaan dibawah ini No_Fak
Kd_item
Jmlh
401
B-1
130
402
B-2
30
402
C-2
55
403
C-2
55
1. Apa primary Key nya 2. Apa Nama Tabelnya
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Jawablah beberapa pertanyaan dibawah ini No_Fak
Kd_item
Jmlh
401
B-1
130
402
C-2
30
402
C-2
30
403
C-2
55
1. Benar / Salah
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Jawablah beberapa pertanyaan dibawah ini Semeter
tahun
No_bp
2
2012
1101001
Mk-001
3
2
2012
1101001
Mk-002
3
2
2012
1101002
Mk-001
3
2
2012
1101002
Mu-002
3
2
2012
1101002
Mk-003
3
1. Apa primary keynya 2. Apa nama tabelnya
Kd_mk
Sks
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) Jawablah beberapa pertanyaan dibawah ini Semeter
tahun
No_bp
2
2012
1101001
Mk-001
3
2
2012
1101001
Mk-002
3
2
2012
1101002
Mk-001
3
2
2012
1101002
Mu-002
3
2
2012
1101002
Mk-003
3
1. Apa primary keynya 2. Apa nama tabelnya
Kd_mk
Sks
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 2. Model Hirarkis (Hierarchic al m od el)
bisa disebut dengan model pohon, karena menyerupai pohon yang terbalik. Model ini menggunakan pola hubungan orang tua - anak (Parent-child). Setiap simpul (Entity) (biasa dinyatakan dengan lingkaran atau kotak)
Simpul yang terhubung ke simpul pada level dibawahnya disebut orang tua. Setiap orang tua bisa memiliki satu (hubungan 1:1) atau beberapa anak (1:M), tetapi setiap anak hanya memiliki 1 orang tua. simpul-simpul yang dibawahi oleh simpul orang tua disebut anak. Simpul orang tua yang tidak memiliki orang tua disebut akar (ROOT). Simpul yang tidak memiliki anak disebut daun (LEAF). Adapun hubungan antara anak dan orang tua disebut cabang.
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 2. Model Hirarkis (Hierarchic al m od el) Ketentuan dalam pembuatan hirarkI -
Node pada level yang lebih rendah hanya diijinkan mempunyai satu relasi dengan node pada tingkat yang lebih tinggi
-
Sebaliknya, node pada level yang lebih tinggi dapat mempunyai lebih dari satu node dibawahnya
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 2. Model Hirarkis (Hierarchic al m od el) Contoh Model Hirarkis Level 1
Level 2
Level 3
Level 4
A
B
C
F
D
G
D
E
I
J
K
F
G
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 2. Contoh Model Hirarkis (Hierarchic al m od el) id_prodi
Kd_prodi
Nm_prodi
101
P101
Ilmu Komputer
102
P102
Teknologi Informasi
Tabel Prodi
Tabel Jurusan id_Jurs
Kd_Jurs
201
J101
201
J102
nobp
Nama
Tabel Dosen Nm_jurs
id_dose
Nip_dos
Sistem Informasi
101
P101
Roko Candra
Sistem Komputer
102
P102
Deden Kurniawan
Kd_mk
Nama
Alamat
Kd_rkls
Nama
lokasi
Nm_dos
sks
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) 3. Model jaringan (N e tw o r k m o d e l )
Model basis data jaringan merupakan perbaikan pengembangan dari model basis data hirarki, yaitu dengan menambahkan kemampuan root table untuk melakukan share relationships dengan child tables. Sebuah c h i l d dapat mempunyai lebih dari satu p a r e n t .
MODEL DATA BERBASIS RECORD (RECORD BA SED DATA MODEL ) id_prodi
Kd_prodi
Nm_prodi
101
P101
Ilmu Komputer
102
P102
Teknologi Informasi
Tabel Prodi
Tabel Jurusan
Tabel Dosen
id_Jurs
Kd_Jurs
Nm_jurs
id_dose
Nip_dos
201
J101
Sistem Informasi
101
P101
Roko Candra
201
J102
Sistem Komputer
102
P102
Deden Kurniawan
nobp
Nama
Alamat
Kd_rkls
Nama
Nm_dos
lokasi
Matakuliah
Kd_mk nobp Registrasi
Kd_mk
Nama
sks
Tugas / Latihan : 1. Buatlah Rancangan Tabel Database menggunakan Model Relasional pada dapatabse berikut ini : a. Database Sistem Informasi Akademik (minimal 10 tabel) b. Database tabel Sistem informasi Manajemen Surat (pengelolaan Surat Masuk dan Surat keluar) c. Database Sistem Informasi Apotik d. Sistem Informasi Perpustakaan
NORMALISASI
NORMALISASI Asal Kata : Normal
Normalisasi : merupakan teknik/ Model yang digunakan dalam menempatkan Atribut-atribut (sekumpulan atribut) dalam satu tabel atau beberapa tabel pada database menjadi bagian-bagian tabel yang normal dan sesuai dengan struktur Tabel dengan tujuan untuk mengurangi kemubaziran dan redudansi terhadap data dalam tabel database. Tujuan Normalisasi 1. Untuk menghilangkan kerangkapan data (data berulang) 2. Untuk mempermudah melakukan modifikasi terhadap data
Apa itu Kerangkapan Data Munculnya data berulang – berulang – ulang ulang pada basis data yang tidak diperlukan
Kerangkapan Data terjadi dikarenakan 1. Kesalahan Kesalahan pembuata pembuatan n aplikasi aplikasi terhada terhadap p struktur struktur tabel tabel basis basis data data yang yang dituju sebagai penempatan data 2. Kesalahan Kesalahan Entry Entry Oleh Oleh Operator Operator pada pada saat saat entry entry data data (double (double entry) entry) - seperti tidak adanya script pengecekan perbandingan pada saat data disimpan dengan data yang ada di tabel basis data 3. Keselahan pada saat perancangan perancangan ulang Database yang dilakukan dilakukan pada waktu yang berbeda
Apa itu Kerangkapan Data Contoh Tabel Tabel Kerangkapan Kerangkapan Data dalam satu tabel Tabel Mahasiswa Nobp
Nama
1121001
Arman
1121001
Alamat
Jurusan
Hobi
Jl. Pepaya No.5 Padang
Sistem Informasi
Mancing
Yuni
Jl. Pemuda N0.6 Padang
Sistem Informasi
Menyanyi
1121003
Eko
Jl. Steba No. 6 Padang
Sistem Informasi
Olah raga
1121003
Eko
Jl. Steba No. 6 Padang
Sistem Informasi
Olah raga
Tabel diatas adalah merupakan tabel Mahasiswa dimana di mana terjadi kesalahaan terhadap Script program tidak memanfaatkan primary key untuk melakukan perbandingan terhadap data primary key tersebut.
Apa itu Kerangkapan Data
Apakah Tabel ini mengalami kerangkapan atau Tidak ?
Contoh Lagi Apa Nama Tabelnya ?... Apakah ini Tabel KRS atau Tidak Nobp
Nama
Kode MK
NmMK
sks
1121001
Tri Ubaya
PEM 101
Pemograman 1
3
1121001
Tri Ubaya
BSD 101
Basis Data 1
3
1121001
Tri Ubaya
PEM 102
Pemograman 2
3
1121001
Tri Ubaya
AGM 101
Agama
3
1121002
Weni Hilda
PEM 101
Pemograman 1
3
1121002
Weni Hilda
BSD 101
Basis Data 1
3
1121002
Weni Hilda
PEM 102
Pemograman 2
3
1121002
Weni Hilda
AGM 101
Agama
3
1121003
Marzuki
PEM 101
Pemograman 1
3
1121003
Marzuki
BSD 101
Basis Data 1
3
1121003
Marzuki
PEM 102
Pemograman 2
3
1121003
Marzuki
AGM 101
Agama
3
Apa itu Kerangkapan Data Tabel diatas mengalami kerangkapan data dan harus di urakan menjadi beberapa tabel
Tabel Mahasiswa
Tabel Matakuliah
Nobp
Nama
1121001
Tri Ubaya
1121002
Weni Hilda
1121003
Marzuki
Kode MK
NmMK
sks
PEM 101
Pemograman 1
3
BSD 101
Basis Data 1
3
PEM 102
Pemograman 2
3
AGM 101
Agama
3
Apa itu Kerangkapan Data Kode MK
Tabel Matakuliah
NmMK
PEM 101
Pemograman 1
BSD 101
Basis Data 1
PEM 102
Pemograman 2
AGM 101
Agama
PEM 101
Pemograman 1
BSD 101
Basis Data 1
PEM 102
Pemograman 2
AGM 101
Agama
PEM 101
Pemograman 1
BSD 101
Basis Data 1
PEM 102
Pemograman 2
AGM 101
Agama
Apa itu Kerangkapan Data
Tabel KRS / Tabel Ambil MAtakuliah
Nobp
Kode MK
1121001
PEM 101
1121001
BSD 101
1121001
PEM 102
1121001
AGM 101
1121002
PEM 101
1121002
BSD 101
1121002
PEM 102
1121002
AGM 101
1121003
PEM 101
1121003
BSD 101
1121003
PEM 102
1121003
AGM 101
Ketergantungan / Dependensi Atribut Dalam Normalisasi 1. Ketergantungan Fungsional 1. Ketergantungan fungsional merupakan ketergantungan antribut bukan kunci (key) terhadap kunci utamanya 2. X Y pada tabel R X
Y
KdMk
NmMK
ALG01
Algoritma 1
SBD01
Sistim Basis Data
Ketergantungan / Dependensi Atribut Dalam Normalisasi 2. Ketergantungan Fungsional Penuh 1. Ketergantungan fungsional Penuh merupakan ketergantungan antribut bukan kunci (key) terhadap kunci utamanya, tetapi atribut bukan kunci terbut tidak bergantung pada sub set atribut kunci yang lain A
B
C
D
nobp
nama
kdmtk
Nilai
1301001
Aditya W
ALG01
A
1301002
Tina A
SBD01
A
a. Ketergantungan Fungsional : AB Atau C D b. Ketergantungan Fungsional Penuh : A, C D
Ketergantungan / Dependensi Atribut Dalam Normalisasi 3. Ketergantungan Transitif 1. Ketergantungan Transitif merupakan ketergantungan antar atribut yaitu Atribut B tergantung pada atribut A, dan Atribut C tergantung pada atribut B pada suatu tabel. 2. (A B, BC, maka AC) C A B nobp
Kdmtk
MTK
KdDos
1301001
ALG01
Algoritma 1
Dos01
1301002
SBD01
Sistim Basis Data
Dos02
Proses Normalisasi 1.
Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat.
2.
Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Proses Normalisasi : Proses menganalisa Tabel - tabel Laporan, dengan menempatkan atributatribut sesuai dengan struktur tabel sehingga menjadi bentuk Tabel - Tabel database yang tidak mengalami redudansi data.
Contoh Tabel yang Belum di Normalisasi No Mhs
Nama-Mhs
Jurusan
Kode-MK
Nama-MK
Kode-Dosen
Nama-Dosen
Nilai
1121001
Tri Ubaya
SI
PEM 101
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
A
PEM 102
Pemograman 2
D004
Heru Saputra
B
AGM 101
Agama
D009
Rajab
A
PEM 101
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
B
PEM 102
Pemograman 2
D004
Heru Saputra
B
AGM 101
Agama
D009
Rajab
A
PEM 101
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
B
PEM 102
Pemograman 2
D004
Heru Saputra
B
AGM 101
Agama
D009
Rajab
B
1121002
1121002
Weni Hilda
Marzuki
SI
SI
Contoh Laporan yang akan di Normalisasi FAKTUR PEMBELIAN BARANG CV. STMIK Indonesia Jl. Tarandam No.12 Padang
Tanggal : 03 Maret 2013 Nomor : 020
Kode Supplayer : Sp 001 Nama Supplayer : Joko
Kode
Nama Barang
Qty
Harga
Jumlah
E001
TV Flat Toshiba 20 inch
5
2.500.000
12.500.000
E002
AC Split Panasonic 2PK
4
3500.000
14.000.000
E003
Infocus Acer T2013
1
4.500.000
4.500.000
Total Faktur
31.000.000
Tahapan Normalisasi Tahapan Normalisasi dimulai dari 1 NF (Normalisasi Tahap I) sampai dengan Tahapan 5 NF Pada Tahapan Normalisasi Proses Normalisasi Biasanya dilakukan Sapai pada Tahapan 3 NF (Normalisasi Tahap III) karena pada Tahap 3 NF ini sudah dapat memadai untuk menghasilkan TabelTabel yang berkualitas Urutan Tahapan Normalisasi terdiri dari : 1NF, 2NF, 3NF, BCNF (Boyce Codd Normal Form), 4NF 5NF
Bentuk – Bentuk Normalisasi 1.
Bentuk tidak normal (Unnormalized Form) Pada tahap ini biasanya data yang tersimpan/ direkam tidak megikuti suatu format yang tertentu, bisa saja data terduplikasi atau data tidak lengkap. Contoh Bentuk Data Tidak Normal
Bentuk – Bentuk Normalisasi Contoh Bentuk Data Tidak Normal No Mhs
Nama-Mhs
Kd-jur
Jursn
Kode-MK
Nama-MK
Kode-Dosen
Nama-Dosen
Nilai
1121001
Tri Ubaya
SI
Sistem Informasi
PEM 101
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
A
PEM 102
Pemograman 2
D004
Heru Saputra
B
AGM 101
Agama
D009
Rajab
A
PEM 101
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
B
PEM 102
Pemograman 2
D004
Heru Saputra
B
AGM 101
Agama
D009
Rajab
A
PEM 101
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
B
PEM 102
Pemograman 2
D004
Heru Saputra
B
AGM 101
Agama
D009
Rajab
B
1121002
1121003
Weni Hilda
Marzuki
SI
SI
Sistem Informasi
Sistem Informasi
Bentuk – Bentuk Normalisasi 1.
Bentuk tidak normal (Unnormalized Form) FAKTUR PEMBELIAN BARANG CV. STMIK Indonesia Jl. Tarandam No.12 Padang
Tanggal : 03 Maret 2013 Nomor : 020
Kode Supplayer : Sp 001 Nama Supplayer : Joko
Kode
Nama Barang
Qty
Harga
Jumlah
E001
TV Flat Toshiba 20 inch
5
2.500.000
12.500.000
E002
AC Split Panasonic 2PK
4
3500.000
14.000.000
E003
Infocus Acer T2013
1
4.500.000
4.500.000
Total Faktur
31.000.000
Bentuk – Bentuk Normalisasi 2.
Bentuk Normal Ke Satu (1 NF) Ciri – Ciri Normalisai 1NF: 1. Setiap Data disajikan dalam bentuk Tabel 2. Data dibentuk dalam satu record demi satu record (perbaris) dan nilai dari field berupa “atomic value” (yaitu setiap irisan dari baris dan kolom hanya mempunyai satu nilai data) 3. Tidak ada set atribut yang berulang-ulang atau atribut bernilai ganda (multi value) dalam satu record / baris, Cotoh pada table dibawah ini
nobp
Matakulia 1
Matakuliah 2
Matakuliah 3
0921001
matematika
Sistem basis data
Pemograman 1
0921002
matematika
Sistem basis data
Pemograman 1
Bentuk – Bentuk Normalisasi 2.
Bentuk Normal Ke Satu (1NF)
No Mhs
Nama-Mhs
Kd-jur
Jursn
Kode-MK
1121001
Tri Ubaya
SI
Sistem Informasi
PEM 101
1121001
Tri Ubaya
SI
Sistem Informasi
1121001
Tri Ubaya
SI
1121001
Tri Ubaya
1121002
Nama-MK
Kode-Dosen
Nama-Dosen
Nilai
Pemograman 1
D001
Amuharnis
B
BSD 101
Basis Data 1
D002
Sari Muliadi
A
Sistem Informasi
PEM 102
Pemograman 2
D004
Heru Saputra
B
SI
Sistem Informasi
AGM 101
Agama
D009
Rajab
A
Weni Hilda
SI
Sistem Informasi
PEM 101
Pemograman 1
D001
Amuharnis
B
1121002
Weni Hilda
SI
Sistem Informasi
BSD 101
Basis Data 1
D002
Sari Muliadi
B
1121002
Weni Hilda
SI
Sistem Informasi
PEM 102
Pemograman 2
D004
Heru Saputra
B
1121002
Weni Hilda
SI
Sistem Informasi
AGM 101
Agama
D009
Rajab
A
1121003
Marzuki
SI
Sistem Informasi
PEM 101
Pemograman 1
D001
Amuharnis
B
1121003
Marzuki
SI
Sistem Informasi
BSD 101
Basis Data 1
D002
Sari Muliadi
B
1121003
Marzuki
SI
Sistem Informasi
PEM 102
Pemograman 2
D004
Heru Saputra
B
1121003
Marzuki
SI
Sistem Informasi
AGM 101
Agama
D009
Rajab
B
Bentuk – Bentuk Normalisasi 3.
Bentuk Normal Ke Dua (2 NF) Suatu tabel dikatakan sudah memenuhi bentuk normal kedua, apabila tabel tsb memenuhi bentuk normal kesatu, dan atribut yg bukan key sudah tergantung penuh pada key-nya Ciri – Ciri Normalisai 2NF: 1. Bentuk data telah memenuhi bentuk Normal Kesatu 2.
Atribut bukan kunci haruslah bergantung secara fungsional pada kunci utama, sehingga untuk membentuk Normal Kedua haruslah sudah ditentukan kuncikunci field
3.
Atribut bukan kunci yang tidak memiliki atribut kunci meakukan depedensi Funsional Penuh terhadap kunci primer (PK)
4.
Kunci field harus unik dan dapat mewakili atribut lain yang menjadi anggotanya
5.
(Namun masih memungkinkan tabel dalam 2NF menunjukkan adanya depedensi transitif; artinya ada satu atau beberapa atribut yang masih bergantung pada atribut bukan kunci)
Bentuk – Bentuk Normalisasi 3.
Bentuk Normal Ke Dua (2 NF)
No Mhs
Nama-Mhs
Kd-jur
Jursn
1121001
Tri Ubaya
SI
Sistem Informasi
1121001
Tri Ubaya
SI
Sistem Informasi
1121001
Tri Ubaya
SI
Sistem Informasi
1121001
Tri Ubaya
SI
Sistem Informasi
1121002
Weni Hilda
SI
Sistem Informasi
1121002
Weni Hilda
SI
Sistem Informasi
1121002
Weni Hilda
SI
Sistem Informasi
1121002
Weni Hilda
SI
Sistem Informasi
1121003
Marzuki
SI
Sistem Informasi
1121003
Marzuki
SI
Sistem Informasi
1121003
Marzuki
SI
Sistem Informasi
1121003
Marzuki
SI
Sistem Informasi
Tanel Mahasiswa Bentuk 2NF
Bentuk – Bentuk Normalisasi 3. Kode-MK
Bentuk Normal Ke Dua (2 NF) Nama-MK
Kode-Dosen
Nama-Dosen
PEM 101
Pemograman 1
D001
Amuharnis
BSD 101
Basis Data 1
D002
Sari Muliadi
PEM 102
Pemograman 2
D004
Heru Saputra
AGM 101
Agama
D009
Rajab
PEM 101
Pemograman 1
D001
Amuharnis
BSD 101
Basis Data 1
D002
Sari Muliadi
PEM 102
Pemograman 2
D004
Heru Saputra
AGM 101
Agama
D009
Rajab
PEM 101
Pemograman 1
D001
Amuharnis
BSD 101
Basis Data 1
D002
Sari Muliadi
PEM 102
Pemograman 2
D004
Heru Saputra
AGM 101
Agama
D009
Rajab
Tabel Kuliah 2 NF (Dosen Mengajar Matakuliah)
Bentuk – Bentuk Normalisasi 4.
Bentuk Normal Ke Tiga (3NF) Suatu tabel dikatakan sudah memenuhi bentuk normal ketiga, apabila tabel tsb memenuhi bentuk normal kedua, dan atribut yg bukan key tidak tergantung transitif pada key-nya Ciri – Ciri Normalisai 3NF: 1. Berada pada bentuk normal kedua 2.
Semua atribut bukan kunci tidak memiliki transitif terhadap kunci primer
3.
Artinya setiap atribut bukan kunci harus bergantung hanya pada kunci primer secara menyeluruh.
Bentuk – Bentuk – Bentuk Bentuk Normalisasi 4.
Bentuk Normal Ke Tiga (3NF)
No Mhs
Nama-Mhs
Jursn
Kode-MK
1121001
Tri Ubaya
Sistem Informasi
PEM 101
1121001
Tri Ubaya
Sistem Informasi
1121001
Tri Ubaya
1121001
Kode-Dosen
Nama-Dosen
Pemograman Pemogr aman 1
D001
Amuharnis
BSD 101
Basis Data 1
D002
Sari Muliadi
Sistem Informasi
PEM 102
Pemograman Pemogr aman 2
D004
Heru Saputra
Tri Ubaya
Sistem Informasi
AGM 101
Agama
D009
Rajab
1121002
Weni Hilda
Sistem Informasi
PEM 101
Pemograman Pemogr aman 1
D001
Amuharnis
1121002
Weni Hilda
Sistem Informasi
BSD 101
Basis Data 1
D002
Sari Muliadi
1121002
Weni Hilda
Sistem Informasi
PEM 102
Pemograman Pemogr aman 2
D004
Heru Saputra
1121002
Weni Hilda
Sistem Informasi
AGM 101
Agama
D009
Rajab
1121003
Marzuki
Sistem Informasi
PEM 101
Pemograman Pemogr aman 1
D001
Amuharnis
1121003
Marzuki
Sistem Informasi
BSD 101
Basis Data 1
D002
Sari Muliadi
1121003
Marzuki
Sistem Informasi
PEM 102
Pemograman Pemogr aman 2
D004
Heru Saputra
1121003
Marzuki
Sistem Informasi
AGM 101
Agama
D009
Rajab
Tabel Mahasiswa
Nama-MK
Tabel Matakuliah 3NF Memenuhi BCNF
Tabel Dosen 3NF Memenuhi BCNF
Bentuk – Bentuk – Bentuk Bentuk Normalisasi 4.
Apakah Sudah Memenuhi 3NF
Bentuk Normal Ke Tiga (3NF)
Kd-jur
Jursn
No Mhs
Kode-MK
Nilai
Kode-MK
Nama-MK
Kode-Dosen
SI
Sistem Informasi
1121001
PEM 101
B
PEM 101
Pemograman Pemograman 1
D001
SI
Sistem Informasi
1121001
BSD 101
A
BSD 101
Basis Data 1
D002
SI
Sistem Informasi
1121001
PEM 102
B
PEM 102
Pemograman Pemograman 2
D004
SI
Sistem Informasi
1121001
AGM 101
A
AGM 101
Agama
D009
SI
Sistem Informasi
1121002
PEM 101
B
PEM 101
Pemograman Pemograman 1
D001
SI
Sistem Informasi
1121002
BSD 101
B
BSD 101
Basis Data 1
D002
SI
Sistem Informasi
1121002
PEM 102
B
PEM 102
Pemograman Pemograman 2
D004
SI
Sistem Informasi
1121002
AGM 101
A
AGM 101
Agama
D009
SI
Sistem Informasi
1121003
PEM 101
B
PEM 101
Pemograman Pemograman 1
D001
SI
Sistem Informasi
1121003
BSD 101
B
BSD 101
Basis Data 1
D002
SI
Sistem Informasi
1121003
PEM 102
B
PEM 102
Pemograman Pemograman 2
D004
SI
Sistem Informasi
1121003
AGM 101
B
AGM 101
Agama
D009
Tabel Jurusan
Tabel Nilai
Tabel Mengajar
Bentuk – Bentuk – Bentuk Bentuk Normalisasi 4.
Bentuk Normal Ke Tiga (3NF)
Kd-jur
Jursn
SI
Sistem Informasi
Pemograman Pemograman 1
SI
Sistem Informasi
Basis Data 1
SI
Sistem Informasi
Pemograman Pemograman 2
SI
Sistem Informasi
Agama
SI
Sistem Informasi
Pemograman Pemograman 1
SI
Sistem Informasi
Basis Data 1
SI
Sistem Informasi
Pemograman Pemograman 2
SI
Sistem Informasi
Agama
SI
Sistem Informasi
Pemograman Pemograman 1
SI
Sistem Informasi
Basis Data 1
SI
Sistem Informasi
Pemograman Pemograman 2
SI
Sistem Informasi
Agama
Tabel Kurikulum Jurusan
Nama-MK
Apakah sudah memenuhi Normal 3NF ?
5.
Bentuk Normal BCNF (Boyce-Codd Normal Form) Tabel harus berada dalam bentuk normal kesatu, Dua dan tiga selanjutnya setiap atribut harus bergantung fungsi pada atribute superkey Ciri – Ciri – Ciri Ciri Normalisai 3NF: 1.
BCNF BCNF adalah adalah kasus khusus khusus 3NF 3NF (apabila (apabila Normalisa Normalisasi si 3NF Masih Masih bisa di pecah pecah untuk untuk beberapa tabel )
2.
Setiap Setiap penentu penentu (determina (determinan) n) pada pada tabel tabel adalah adalah sebuah sebuah kunci kunci kandid kandidat at (candidate key)
3.
Mini Minima mall Ter Terda dapa patt 2 (dua (dua)) Candidate key
4.
Seluruh c a n d i d a t e k e y b e r s i f a t k o m p o s i t Atribut komposit adalah atribut yang nilainya masih dapat dipecah menjadi beberapa atribut yang lebih sederhana
5.
Jika tabel tabel 3NF hanya mengandung satu candidate candidate key maka bentuk bentuk 3NF sama dengan BCNF Ada satu atribut yang yang berpartisipasi berpart isipasi pada kedua candidate candidat e key. key.
6. 7.
Jika Suatu Tabel telah memenuhi Normalisasi Normalis asi BCNF maka selalu memenuhi 3NF, 3NF, tetapi tidak untuk sebaliknya
8.
Suatu tabel yang memenuhi Normalisasi 3NF belum tentu memenuhi BCNF
Bentuk – Bentuk Normalisasi 5.
Bentuk Normal BCNF (Boyce-Codd Normal Form) Tabel Nilai No Mhs
No Tlp
Kode-MK
Nilai
1121001
78551
PEM 101
B
1121001
78551
BSD 101
A
1121001
78551
PEM 102
B
1121001
78551
AGM 101
A
1121002
32563
PEM 101
B
1121002
32563
BSD 101
B
1121002
32563
PEM 102
B
1121002
32563
AGM 101
A
1121003
44234
PEM 101
B
1121003
44234
BSD 101
B
1121003
44234
PEM 102
B
1121003
44234
AGM 101
B
Bentuk – Bentuk Normalisasi 5.
Bentuk Normal BCNF (Boyce-Codd Normal Form)
Keterangan : 1. Tabel Nilai diatas memiliki dua buak Candidate key : No Mhs +Kode-MK dan No Tlp + Kode-MK 2. Atribut Kode-MK berpartisipasi pada kedua Candidate key sehingga keadaan tersebut mengakibatkan munculnya BCNF Anomali: 1. Jika akan disisipkan No_Tlp untuk seorang mahasiswa baru, hal ini tidak akan bisa dilakukan sebelum mahasiswa tersebut mengikuti minimal satu mata kuliah. Kegagalan ini karena nilai Kd_Mk, sebagai salah satu atribut yang berperan dalam p r i m a r y k e y , t i d a k d i k e t ah u i p a d a s a at p e n y i s i p a n . 2. Jika akan dilakukan penghapusan pada tuple mahasiswa nomor 1121003 karena mahasiswa tersebut membatalkan mata kuliah AGM 101, informasi tentang nomor telepon mahasiswa tersebut ikut hilang.
Bentuk – Bentuk Normalisasi 5.
Bentuk Normal BCNF (Boyce-Codd Normal Form)
Untuk menghilangkan anomali, relasi dipecah menjadi dua buah relasi yang lebih kecil. Dalam memecah relasi tersebut perlu diperhatikan f u n c t i o n a l d e p e n d e n c y yang ada yaitu:
a. No Mhs, Kode-MK Nilai b. No Tlp, Kode-MK Nilai c. No Mhs No.Tlp
Pada f u n c t i o n a l d e p e n d e n c y k e t i g a , N o M h s m e r u p a k a n d e t er m i n a n t et a p i bu kan m erupakan candid ate key,
sehingga relasi dipecah menjadi relasi NILAI dan TELEPON
Bentuk – Bentuk Normalisasi 5.
Bentuk Normal BCNF (Boyce-Codd Normal Form)
Kd-jur
Jursn
SI
Sistem Informasi
SI
Kd-jur
Nama-MK
Jursn
Pemograman 1
SI
Pemograman 1
Sistem Informasi
Pemograman 1
Sistem Informasi
Basis Data 1
SI
Basis Data 1
Sistem Informasi
Basis Data 1
SI
Sistem Informasi
Pemograman 2
SI
Pemograman 2
Sistem Informasi
Pemograman 2
SI
Sistem Informasi
Agama
SI
Agama
Sistem Informasi
Agama
SI
Sistem Informasi
Pemograman 1
SI
Pemograman 1
Sistem Informasi
Pemograman 1
SI
Sistem Informasi
Basis Data 1
SI
Basis Data 1
Sistem Informasi
Basis Data 1
SI
Sistem Informasi
Pemograman 2
SI
Pemograman 2
Sistem Informasi
Pemograman 2
SI
Sistem Informasi
Agama
SI
Agama
Sistem Informasi
Agama
SI
Sistem Informasi
Pemograman 1
SI
Pemograman 1
Sistem Informasi
Pemograman 1
SI
Sistem Informasi
Basis Data 1
SI
Basis Data 1
Sistem Informasi
Basis Data 1
SI
Sistem Informasi
Pemograman 2
SI
Pemograman 2
Sistem Informasi
Pemograman 2
SI
Sistem Informasi
Agama
SI
Agama
Sistem Informasi
Agama
Tabel Kurikulum Jurusan
Nama-MK
Tabel Kurikulum Jurusan BCNF
Nama-MK
Bentuk – Bentuk Normalisasi 5.
Bentuk Normal BCNF (Boyce-Codd Normal Form)
No Mhs
Kode-MK
Kode-Dosen
No Mhs
Kode-MK
No Mhs
Kode-Dosen
1121001
PEM 101
D001
1121001
PEM 101
1121001
D001
1121001
BSD 101
D002
1121001
BSD 101
1121001
D002
1121001
PEM 102
D004
1121001
PEM 102
1121001
D004
1121001
AGM 101
D009
1121001
AGM 101
1121001
D009
1121002
PEM 101
D001
1121002
PEM 101
1121002
D001
1121002
BSD 101
D002
1121002
BSD 101
1121002
D002
1121002
PEM 102
D004
1121002
PEM 102
1121002
D004
1121002
AGM 101
D009
1121002
AGM 101
1121002
D009
1121003
PEM 101
D001
1121003
PEM 101
1121003
D001
1121003
BSD 101
D002
1121003
BSD 101
1121003
D002
1121003
PEM 102
D004
1121003
PEM 102
1121003
D004
1121003
AGM 101
D009
1121003
AGM 101
1121003
D009
Tabel Registrasi 3NF
Tabel Registrasi 3NF dan Tabel Bimbingan BCNF
Bentuk – Bentuk Normalisasi 6.
Bentuk Normal Keempat (4NF) Suatu tabel dikatakan sudah memenuhi bentuk normal keempat, jika tabel tersebut juga termasuk BCNF Ciri – Ciri Normalisai 3NF: 1. Tebel berada pada BCNF 2. Tidak mengandung dua atribut atau lebih yang bernilai banyak 3. Dependensi nilai banyak merupakan terjemahan dari multivalued dependency (MVD) 4. Dependensi ini dipakai untuk menyatakan hubungan satu ke banyak
Bentuk – Bentuk Normalisasi 6.
Bentuk Normal Kelima (5NF)
Lakukanlah Proses Normalisasi pada Tabel, Tabel Laporan dibawah ini sampai tingkat terkecil dalam Normalisasi FAKTUR PEMBELIAN BARANG CV. STMIK Indonesia Jl. Tarandam No.12 Padang
Tanggal : 03 Maret 2013 Nomor : 020
Kode Supplayer : Sp 001 Nama Supplayer : Joko
Kode
Nama Barang
Qty
Harga
Jumlah
E001
TV Flat Toshiba 20 inch
5
2.500.000
12.500.000
E002
AC Split Panasonic 2PK
4
3500.000
14.000.000
E003
Infocus Acer T2013
1
4.500.000
4.500.000
Total Faktur
31.000.000
Soal 2 KRS STMIK Indonesia STMIK INDONESIA YAYASAN AMAL BAKTI PADANG Semester Tahun Dosen PA IP semster
NOBP : 121102 Nama : Iwan Abrar Alamat : Jl. Manggis No. 5 Solok
Kdmk
NM-MK
Total sks
sks
KD-dosen
: Genap : 2012/2013 : Nurmi, M.Kom :
Dosen-MK
Soal 3 Buatlah Normalisasi dari tabel : a. Tabel Peminjaman Buku Perpustakaan b. Tabel Laporan Penebusan Obat di Rumah Sakit c. Tabel Transaksi Penyetoran Uang di Bank d. Coba Lihat SIM Anda dan Buatkan Kedalam Bentuk Tabel dan Buatkan Normalisasinya e. Coba Lihat KTP Anda dan Buatkan Kedalam Bentuk Tabel dan Buatkan Normalisasinya
PENERAPAN NORMALISASI TERHADAP DATABASE UNTUK MELAKUKAN UJI NORMALISASI
1. Tujuan dari Normalisasi Untuk Tidak Terjadinya Kerangkapan Data, Redudansi Data data Berulang pada saat melakukan Entry Data.
2. Redudansi dan Kerangkapan data pada database akan mengakibatkan terjadinya Anomali 3. Ada 3 Macam Anomali : a. Anomali Penyisipan data (insert) b. Anomali Pengubahan data (update) c. Anomali Penghapusan Data (delete)
ANOMALI Merupakan Proses Modifikasi pada Basis data (tabel database) mengakibatkan terjadinya redudancy data dikarenakan tidak adanya normalisasi Macam – Macam Anomali 1. Anomali Peremajaan/ Edit dan Update Anomali Anomali ini terjadi jika ada perubahan (edit/ Update) terhadap sejumlah data sehingga menjadi data tidak baik / tidak normal Contoh:
ANOMALI 1. Contoh Anomali Peremajaan/ Edit dan Update Anomali NIM
NM_mhs
Kd_jur
Nm_Jur
Kd_mk
Nm_mk
sks
NL
112001
M Husni
SI
Sistem Informasi
SBD211
Sistem Basis Data
3
A
112001
M Husni
SI
Sistem Informasi
ALG221
Algoritma 1
3
A
112001
M Husni
SI
Sistem Informasi
SIM231
Sistem Info Manj
3
B
112001
M Husni
SI
Sistem Informasi
WTP241
Web Terapan
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SBD211
Sistem Basis Data
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
ALG221
Algoritma 1
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SPK231
Sis.Pendukung Kep
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
SOJ241
Sis. Operasi Jaring
3
A
Tabel diatas dimisalkan Tabel Nilai, Tetapi Struktur Tabel Tersebut Kurang Baik dan Dapat terjadi Anomali Update. Coba Lakukan Edit /Update terhadap sks pada kd_mk SBD211 dari 3 sks menjadi 4 sks maka harus melakukan update lebih dari 1 record yaitu pada baris ke-1 dan baris ke-5 dan Kalau hanya pada Baris ke-1 saja yang di Update maka data akan menjadi tidak Konsisten ini lah yang disebut dengan Update Anomali
ANOMALI 1. Contoh Anomali Peremajaan/ Edit dan Update Anomali NIM
NM_mhs
Kd_jur
Nm_Jur
Kd_mk
Nm_mk
sks
NL
112001
M Husni
SI
Sistem Informasi
SBD211
Sistem Basis Data
4
A
112001
M Husni
SI
Sistem Informasi
ALG221
Algoritma 1
3
A
112001
M Husni
SI
Sistem Informasi
SIM231
Sistem Info Manj
3
B
112001
M Husni
SI
Sistem Informasi
WTP241
Web Terapan
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SBD211
Sistem Basis Data
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
ALG221
Algoritma 1
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SPK231
Sis.Pendukung Kep
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
SOJ241
Sis. Operasi Jaring
3
A
Maka Solusinya Harus Ada Normalisasi dan pembentukan Tabel Matakuliah yang Terdiri dari (Kd_mk, Nm_mk, sks) dan Update sks dilakukan pada Tabel Matakuliah.
Macam – Macam Anomali 2. Insert Anomali Anomali ini terjadi pada saat penambahan data akan tetapi masih ada atribut yang kosung dalam satu record/baris. Contoh: NIM
NM_mhs
Kd_jur
Nm_Jur
Kd_mk
Nm_mk
sks
NL
112001
M Husni
SI
Sistem Informasi
SBD211
Sistem Basis Data
3
A
112001
M Husni
SI
Sistem Informasi
ALG221
Algoritma 1
3
A
112001
M Husni
SI
Sistem Informasi
SIM231
Sistem Info Manj
3
B
112001
M Husni
SI
Sistem Informasi
WTP241
Web Terapan
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SBD211
Sistem Basis Data
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
ALG221
Algoritma 1
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SPK231
Sis.Pendukung Kep
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
SOJ241
Sis. Operasi Jaring
3
A
Pada tabel Diatas dilakukan Penambahan data dengan NIM 112003 akan tetapi Nilai Matakuliahnya Keluar maka dalam Hal ini terjadi Insert Anomali
ANOMALI 2. Contoh Insert Anomali NIM
NM_mhs
Kd_jur
Nm_Jur
Kd_mk
Nm_mk
sks
NL
112001
M Husni
SI
Sistem Informasi
SBD211
Sistem Basis Data
3
A
112001
M Husni
SI
Sistem Informasi
ALG221
Algoritma 1
3
A
112001
M Husni
SI
Sistem Informasi
SIM231
Sistem Info Manj
3
B
112001
M Husni
SI
Sistem Informasi
WTP241
Web Terapan
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SBD211
Sistem Basis Data
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
ALG221
Algoritma 1
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SPK231
Sis.Pendukung Kep
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
SOJ241
Sis. Operasi Jaring
3
A
112003
Putri
SI
Sistem Komputer
SBD211
Sistem Basis Data
3
112003
Putri
SI
Sistem Komputer
ALG221
Algoritma 1
3
112003
Putri
SI
Sistem Komputer
SPK231
Sis.Pendukung Kep
3
112003
Putri
SI
Sistem Komputer
SOJ241
Sis. Operasi Jaring
3
Untuk menyelesaikan Masalah ini maka dilakukan Normalisasi pembetukan tabel baru dengan nama Tabel Registrasi Matakuliah
ANOMALI 2. Contoh Insert Anomali NIM
NM_mhs
Nm_Jur
Nm_mk
sks
112001
M Husni
Sistem Informasi
Sistem Basis Data
3
112001
M Husni
Sistem Informasi
Algoritma 1
3
112001
M Husni
Sistem Informasi
Sistem Info Manj
3
112001
M Husni
Sistem Informasi
Web Terapan
3
112002
Hengki Omitoria
Sistem Komputer
Sistem Basis Data
3
112002
Hengki Omitoria
Sistem Komputer
Algoritma 1
3
112002
Hengki Omitoria
Sistem Komputer
Sis.Pendukung Kep
3
112002
Hengki Omitoria
Sistem Komputer
Sis. Operasi Jaring
3
112003
Putri
Sistem Komputer
Sistem Basis Data
3
112003
Putri
Sistem Komputer
Algoritma 1
3
112003
Putri
Sistem Komputer
Sis.Pendukung Kep
3
112003
Putri
Sistem Komputer
Sis. Operasi Jaring
3
Untuk menyelesaikan Masalah ini maka dilakukan Normalisasi pembetukan tabel baru dengan nama Tabel Registrasi Matakuliah
Macam – Macam Anomali 3. Delete Anomali Anomali ini terjadi pada saat penghapusan satu baris data maka data yang juga lain akan terhapus. Contoh: NIM
NM_mhs
Kd_jur
Nm_Jur
Kd_mk
Nm_mk
sks
NL
112001
M Husni
SI
Sistem Informasi
SBD211
Sistem Basis Data
3
A
112001
M Husni
SI
Sistem Informasi
ALG221
Algoritma 1
3
A
112001
M Husni
SI
Sistem Informasi
SIM231
Sistem Info Manj
3
B
112001
M Husni
SI
Sistem Informasi
WTP241
Web Terapan
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SBD211
Sistem Basis Data
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
ALG221
Algoritma 1
3
B
112002
Hengki Omitoria
SK
Sistem Komputer
SPK231
Sis.Pendukung Kep
3
A
112002
Hengki Omitoria
SK
Sistem Komputer
SOJ241
Sis. Operasi Jaring
3
A
Pada Tabel Diatas akan dilakukan Penghapusan terhadap Baris Terakhir maka secara Automatis data lain (matakuliah Sistem Operasi Jaringan dan Data Mahasiswa dengan NIM 112002 juga akan terhapus)
Penerapan Normalisasi dalam Bentuk Model Relational Basis Data Lansung Pada Contoh Kasus FAKTUR PEMBELIAN BARANG CV. STMIK Indonesia Jl. Tarandam No.12 Padang
Tanggal : 03/03/2013 Nomor : 020
Kode Supplayer : Sp 001 Nama Supplayer : Joko
Kode
Nama Barang
Qty
Harga
Jumlah
E001
TV Flat Toshiba 20 inch
5
2.500.000
12.500.000
E002
AC Split Panasonic 2PK
4
3500.000
14.000.000
E003
Infocus Acer T2013
1
4.500.000
4.500.000
Total Faktur Jatuh Tempo Faktur : 03/04/2013
31.000.000
1. Merubah Dalam Bentuk Tabel dan Bentuk Tidak Normal (Annormalized) NoFak
KdSupp
NmSupp
020
Sp 001
Joko
Kdbrg
nmbrg
TglFak
Jth Tempo
qty
Hrg_brg
Jmlh
03/03/2013
03/04/2013
5
2.500.000
12.500.000
E002 AC Split Panasonic 2PK
4
3500.000
14.000.000
E003
1
4.500.000
4.500.000
E001 TV Flat Toshiba 20 inch
Infocus Acer T2013
Total
31.000.000
2. Merubah Dalam Bentuk Normal ke satu (1 NF) NoFak
KdSupp
NmSupp
Kdbrg
nmbrg
TglFak
Jth Tempo
020
Sp 001
Joko
E001
TV Flat Toshiba 20 inch
020
Sp 001
Joko
020
Sp 001
Joko
03/03/2013
03/04/2013
E002 AC Split Panasonic 2PK
03/03/2013
E003
03/03/2013
Infocus Acer T2013
qty
Hrg_brg
Jmlh
5
2.500.000
12.500.000
31.000.000
03/04/2013
4
3500.000
14.000.000
31.000.000
03/04/2013
1
4.500.000
4.500.000
31.000.000
Data Suda memenuhi normalisasi ke satu (1 NF)
Total
Normalisasi Tahap Pertama diatas masih banyak terdapat Kelemahan : a. Insert / Penyisipan Pada tabel diatas untuk memasukan (insert) data baru atau melakukan penambahan supplayer baru perlu adanya penambahan tabel transaksi pembelian Contoh : NoFak
KdSupp
NmSupp
Kdbrg
nmbrg
TglFak
Jth Tempo
020
Sp 001
Joko
E001
TV Flat Toshiba 20 inch
020
Sp 001
Joko
020
Sp 001
021
Sp 002
qty
Hrg_brg
Jmlh
03/03/2013
03/04/2013
E002 AC Split Panasonic 2PK
03/03/2013
Joko
E003
Infocus Acer T2013
Yudi
F001
Kulkas L 312
Total
5
2.500.000
12.500.000
31.000.000
03/04/2013
4
3500.000
14.000.000
31.000.000
03/03/2013
03/04/2013
1
4.500.000
4.500.000
31.000.000
05/03/2013
03/04/2012
2
1.000.000
2.000.000
2.000.000
Untuk melakukan penambahan Data Baru Perlu adanya Tabel Transaksi
Normalisasi Tahap Pertama diatas masih banyak terdapat Kelemahan : b. Delete / Penghapusan Bila melakukan penghapusan terhadap satu Record misal : Nofak : 020 maka data yang lain seperti : Kdsupp, Nmsup juga akan terhapus pada hal data tersebut masih diperlukan untuk data yang lain a. Update / Edit data / Pengubahan Data Nofak, Kdsupp, Nmsup di tulis berkali-kali dalam tabel diatas dan jika seandainya dilakukan perubahan terhadap Nmsupp (Nama Suplayer) maka proses Perubahan (update) dilakukan berkali-kali dan dilakukan perubaha disetiap record/baris dan jika hanya salah satu saja yang dirobah maka data menjadi tidak konsisten a. Redudancy Redudancy terdapat pada field karena muncul berkali-kali di setiap record dan jika dilakukan perubahan terhadap harga maka belum tentu juga terjadi perubahan terhadap Field baris dibawahnya.
3. Merubah Dalam Bentuk Normal Ke Dua (2NF) Pada Perubahan Normal ke dua (2NF) dari Tabel Normal ke satu (1NF) diatas dengan cara mentukan kunci field yang dapat dipakai sebagai patokan dalam pencarian dan penetuan sifat unik. Maka berdasarkan tabel diatas dapat diketahui kunci kandidat : - NoFak (Nomor Faktur) - KdSupp (Kode Suppayer) - Kdbrg (Kode Barang) Bentuk Normal Ke duanya adalah :
3. Merubah Dalam Bentuk Normal Ke Dua (2NF) Bentuk Normal Ke duanya adalah: Tabel Barang
Tabel Supplayer KdSupp
NmSupp
Sp 001
Joko
Sp 001
Joko
Sp 001
Joko
Sp 002
Yudi
Kdbrg
nmbrg
Hrg_brg
Jmlhbrg
E001
TV Flat Toshiba 20 inch
2.500.000
Xxx
E002
AC Split Panasonic 2PK
3500.000
Xxx
E003
Infocus Acer T2013
4.500.000
xxx
F001
Kulkas L 312
1.000.000
xxx
Tabel Faktur Penjualan
NoFak
KdSupp
Kdbrg
TglFak TglFak
Jth Tempo
qty
020
Sp 001
E001
03/03/2013
03/04/2013
5
020
Sp 001
E002
03/03/2013
020
Sp 001
E003
03/03/2013
03/04/2013 03/04/2013
021
Sp 002
F001
05/03/2013
03/04/2012
4 1 2
3. Merubah Dalam Bentuk Normal Ke Dua (2NF) Bentuk Normal Ke duanya adalah: Tabel Supplayer
Tabel Barang
* NmSupp KdSupp
*Kdbrg Nmbrg Hrg_brg Jmlhbrg
Tabel Faktur Penjualan *NoFak TglFak Jth Tempo Qty **KdSupp **Kdbrg
3. Merubah Dalam Bentuk Normal Ke Dua (2NF) Berdasarkan Tabel Normalisasi 2NF diatas sudah dapat menjawab pertanyaan pada Normalisasi 1NF yaitu terjadinya proses Insert, Delete dan Update yang tidak konsistensi dimana : Kode dan Nama Supplayer dapat di masukan / didaftarkan walaupun tidak ada proses Transaksi pada Tabel Faktur (pendaftaran data Supplayer) Kode Barang dan Nama Barang juga dapat didaftarkan (pendaftaran (pendaftaran databarang) Walau demikian masih terdapat permasalahan pada Tabel Faktur : a. Atribu Atributt qty (Kuant (Kuantitas) itas) tidak bergantu bergantung ng pada pada Kunci Kunci Utama Utama (*Nofak) (*Nofak),, akan tetapi tetapi juga juga bergantung pada kode barang (**kdbrg), maka hal ini dinamakan Ketergantungan Transitif maka haruslah dibentuk menjadi dua tabel b. Masih terdapatnya terdapatnya perulangan perulangan pada pada Tabel yaitu yaitu apabila ada penambahan penambahan pembelian dimisalkan 4 macam pembelian barang maka akan dilakukan 4 kali juga perulangan pada tabel faktur untuk pencatatan pada Nomor Faktur (Nofak), Tanggal Faktur (tglfak), Tanggal Jatuh tempo (jthtempo), kode supplayer (kdsupp) hal ini harus dipisahkan karena terjadi perulangan penulisan c. Maka Dibentukl Dibentuklah ah Norma Normalisas lisasii ke tiga tiga (3NF) (3NF) dari Tabel Faktu Fakturr
4. Merubah Dalam Bentuk Normal Ke Tiga (3NF) Bentuk normal ketiga mempunyai syarat, yaitu setiap tabel 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 tabel faktur harus didekomposisi (dipecah) lagi menjadi dua tabel yaitu tabel faktur dan tabeltransaksi barang, sehingga hasilnya adalah sebagai berikut ini:
3. Merubah Dalam Bentuk Normal Ke Tig (3NF) Tabel Supplayer
Tabel Barang
KdSupp
NmSupp
Kdbrg
nmbrg
Hrg_brg
Jmlhbrg
Sp 001
Joko
E001
TV Flat Toshiba 20 inch
2.500.000
Xxx
Sp 001
Joko
E002
AC Split Panasonic 2PK
3500.000
Xxx
Sp 001
Joko
E003
Infocus Acer T2013
4.500.000
xxx
Sp 002
Yudi
F001
Kulkas L 312
1.000.000
xxx
Tabel Faktur Penjualan NoFak
KdSupp
TglFak
Jth Tempo
020
Sp 001
03/03/2013
03/04/2013
020
Sp 001
03/03/2013
03/04/2013
020
Sp 001
03/03/2013
03/04/2013
021
Sp 002
05/03/2013
03/04/2012
NoFak
Kdbrg
qty
020
E001
5
020
E002
4
020
E003
1
021
F001
2
Tabel Transaksi Barang
4. Merubah Dalam Bentuk Normal Ke Tiga (3NF) Bentuk Normal Ke tiga adalah: Tabel Supplayer
Keterangan Relationship : Tabel Barang
* NmSupp KdSupp Tabel Faktur *NoFak TglFak Jth Tempo **KdSupp
Tabel transaksi Barang *NoFak **Kdbrg Qty
*Kdbrg Nmbrg Hrg_brg Jmlhbrg
a. Supp Suppli lier er ke Fakt Faktur ur rela relasi siny nya a adalah one to many, artinya adalah satu supplier mempunyai banyak faktur, faktur punya relasi terhadap supplier b. Faktu Fakturr ke Tra Trans nsak aksi si rel relas asin inya ya adalah one to many, artinya adalah satu faktur mempunyai beberapa transaksi barang (satu faktur terdiri dari satu atau lebih transaksi barang) c.
Bara Barang ng ke Trans ransak aksi_ si_Ba Bara rang ng relasinya adalah one to many, artinya adalah satu barang bisa terjadi beberapa kali transaksi pembelian barang.
Tugas / Latihan Normalisasi
Coba Anda Selesaikan Permasalahan Ini Berdasarkan Contoh Kasus Diatas KRS STMIK Indonesia STMIK INDONESIA YAYASAN AMAL BAKTI PADANG Semester Tahun Dosen PA IP semster
NOBP : 121102 Nama : Iwan Abrar Alamat : Jl. Manggis No. 5 Solok
Kdmk
NM-MK
Total sks
sks
KD-dosen
: Genap : 2012/2013 : Nurmi, M.Kom :
Dosen-MK
STRUKTUR TABEL / FILE DATABASE Struktur Tabel
Struktur tabel merupakan sebuah penjelasan uraian katalog dari elemenelemen data dalam sebuah sistem. Perancangan struktur tabel ini dimaksudkan untuk mempermudah dalam mengetahui apa saja yang terkandung dalam tiap-tiap elemen data.
Contoh Kasus Menetukan Entity dari Database SI Kepegawaian
1. Enti Entity ty Pega Pegaw wai 2. Entity Entity Dikl Diklat at Fung Fungsio sional nal dan dan Stru Struktu ktural ral 3. Entity Entity Mengi Mengikut kutii Dikklat Dikklat (Rel (Relath athion ionshi ship) p) 4. Tabel abel Pend Pend_F _For orma mall
Rancangan Sistem Informasi Kepegawaian Bentuk Struktur Tabelnya
. 1. Tabel Pegawai Tabel 1-1 Data Store Pegawai Nama
Pegawai
Keterangan
Berfungsi untuk menyimpan data pegawai
Struktur Data
PEGAWAI = ID_PEGAWAI + NAMA_PEGAWAI + ALAMAT_PEGAWAI + TEMPAT_LAHIR + TGL_LAHIR + KELAMIN + AGAMA + STAT_KEPEG + STAT KAWIN + GOL_DARAH + NO_KARPEG + ID_KEL
1. Tabel Pegawai Tabel 1-2 Data Item Pegawai No.
Nama Data Ite m
Tipe
Le bar
Ke te rangan Untuk yang berstatus PNS diisi dengan NIP-nya, defaultnya adalah kode “NPNS” ditambah tahun dan 4 digit nomor urut pengisian (mis : NPNS20080105)
1
ID_PEGAWAI
Char
12
2
NAMA_PEGAWAI
Char
25
3
ALAMAT_PEGAWAI
Char
60
4
TEMPAT_LAHIR
Char
15
5
TGL_LAHIR
Date
-
6
KELAMIN
Enum
-
Enum(„L‟,‟P‟)
7
AGAMA
Enum
-
Enum(„Islam‟ , ‟Katolik‟ , ‟Protestan‟, ‟Hindu‟, ‟Buddha‟)
8
STAT_KEPEG
Enum
-
Enum(„PNS‟, ‟CPNS‟, „Honorer‟)
9
STAT_KAWIN
Enum
-
Enum(„Belum Kawin‟, „Duda/Janda‟)
10
GOL_DARAH
enum
-
Enum(„A‟,‟B‟,‟AB‟,O)
11
NO_KARPEG
Char
12
12
ID_KEL
Char
6
‟Kawin‟ ,
F oreign key dari tabel Kelurahan
2. Tabel Diklat_FS (Fungsional dan Struktural) Tabel 2-1 Data Store Diklat_FS Nama
Diklat_FS
Keterangan
Berfungsi untuk menyimpan data Diklat Fungs iona l dan Struktural
Struktur Data
DIKLAT_FS = ID_DIKLAT + NAMA_DIKLAT + TEMP_DIKLAT + PEN_DIKLAT + WKT_DIKLAT
Apa yang dikasud dengan data Store Apa yang dimaksud dengan Data item
2. Tabel Diklat_FS (Fungsional dan Struktural) Tabel 2-2 Data Item Diklat_FS No.
1
2
Nama Data Ite m
ID_DIKLAT
NAMA_DIKLAT
Tipe
Char
Char
Le bar
9
40
Ke te rangan
Diambil dar i tahun diklat dan nomor urut pengis ian diawali kode “ID” (mis : ID2005015)
Nama diklat, diawali dengan katakata “DIKLAT FUNGSIONAL” atau “DIKLAT STRUKTURAL‟ sesuai jenisnya.
3
TEMP_DIKLAT
Char
8
Tempat penyelenggaraan diklat
4
PEN_DIKLAT
Char
20
Nama penyelenggara diklat
5
WKT_DIKLAT
Date
-
Waktu penyelenggaraan diklat
3. Tabel Mengikuti Tabel 3-1 Data Store Mengikuti Nama
Mengikuti
Keterangan
Berfungsi untuk menyimpan data Diklat yang diikuti oleh pegawai
Struktur Data
MENGIKUTI = NO_DIKLAT + ID_PEGAWAI + ID_DIKLAT
Tabel 3-2 Data Item Mengikuti No.
1
Nama Data Ite m
NO_DIKLAT
Tipe
Char
Le bar
10
Ke te rangan Diambil dar i tahun dan nomor ur ut pengisian data dan diawali dengan kode “ND‟ (mis: ND20080015)
2
ID_PEGAWAI
Char
12
F oreign key dari tabel Pegawai
3
ID_DIKLAT
Char
9
F oreign key dari tabel Diklat_FS
4. Tabel Pend_Formal Tabel 4-1 Data Store Pend_Formal Nama
Pend_Formal
Keterangan
Berfungsi untuk menyimpan data pendidikan forma l
Struktur Data
PEND_FORMAL = ID_PEND + ID_PEND + WKT_PEND
Tabel 4-2 Data Item Pend_Formal No.
Nama Data Ite m
Tipe
Le bar
Ke te rangan
1
ID_PEND
Char
9
Diambil dar itahun lulus dan nomor urut pengis ian data dan diawali karakter “SD” untuk tingkat Sekolah Dasar, “SP” untuk tingkat Sekolah Menengah Pertama, “SA” untuk tingkat Sekolah Menengah Atas, “DN” untuk tingkat Diploma, “SI” untuk tingkat Sarjana S1, dan “SN” untuk tingkat di atas Sarjana S1 (mis : SP1991010, SI2004005)
2
NAMA_PEND
Char
25
Nama tempat jenjang pendidikan
3
WKT_PEND
Date
-
Tanggal kelulusan jenjang pendidikan
5. Tabel Mengambil Tabel 5-1 Data Store Mengambil Nama
Mengambil
Keterangan
Berfungsi untuk menyimpan data pendidikan f orma l yang diambilpegawai
Struktur Data
MENGAMBIL = NO_PEND + ID_PEGAWAI + ID_PEND
Tabel 5-2 Data Item Mengambil
No.
1.
Nama Data Ite m
NO_PEND
Tipe
Char
Le bar
10
Ke te rangan Diambil dari tahun dan nomor ur ut pengisian data dan diawali karakter „NP‟ (mis: NP20080010)
2.
ID_PEGAWAI
Char
12
F oreign key dari tabel Pegawai
3.
ID_PEND
Char
9
F oreign key dari tabel Pend_Formal
6. Tabel Jabatan Tabel 6-1 Data Store Jabatan Nama Keterangan
Struktur Data
Jabatan Berfungsi untuk menyimpan data jabatan
JABATAN = ID_JABATAN + NAMA_JABATAN + GOL_JABATAN
Tabel 6-2 Data Item Jabatan No.
1
Nama Data Ite m
ID_JABATAN
Tipe
Char
Le bar
9
Ke te rangan Diambil dari tahun awal jabatan dan nomor urut pengis ian data dan diawali kode „IJ‟ (mis: IJ2008018)
2
3
NAMA_JABATAN
GOL_JABATAN
Char
Enum
20
-
Enum(„ – „, „I/a‟, „I/b‟, ‟I/c‟, „I/d‟ , „II/a‟, „II/b‟, „II/c‟, „II/d‟, „III/a‟, „III/b‟, „III/c‟, „III/d‟, „IV/a‟, „IV/b‟, „IV/c‟)
7. Tabel Menjabat Tabel 7-1 Data Store Menjabat Nama
Menjabat
Keterangan
Berfungsi untuk menyimpan data jabatan yang dijabat pegawai
Struktur Data
MENJABAT = NO_JABATAN + ID_JABATAN + ID_PEGAWAI
Tabel 7-2 Data Item Menjabat No.
Nama Data Item
Tipe
Le bar
Ke te rangan
1
NO_JABATAN
Char
10
Diambil dar i tahun dan nomor urut pengisian data dan diawali karakter “NJ” (mis: NJ20070027)
2
ID_JABATAN
Char
9
F or eign key dari tabel Jabatan
3
ID_PEGAWAI
Char
12
F or eign key dari tabel Pegawai
8. Tabel Unit_Kerja Tabel 8-1 Data S tore Unit_Kerja Nama
Unit_Kerja
Keterangan
Berfungsi untuk menyimpan data unit kerja
Struktur Data
UNIT_KERJA = ID_UNITKERJA + NAMA_UNITKERJA + ID_KEL + ID_INSTANSI + ALAMAT_UNIT
Tabel 8-2 Data Item Unit_Kerja No.
1
Nama Data Ite m
ID_UNITKERJA
Tipe
Char
Le bar
6
Ke te rangan
Diambil dar i 4 digit nomor ur ut pengisian data dan diawali kode “UK” (mis: UK0022)
2
NAMA_UNITKERJA
Char
20
3
ID_KEL
Char
6
F or eign key dari tabel Kelurahan
4
ID_INSTANSI
Char
6
F or eign key dari tabel Instansi
5
ALAMAT_UNIT
Char
30
9. Tabel Bekerja Tabel 9-1 Data Store Bekerja Nama
Bekerja
Keterangan
Berfungsi untuk menyimpan data unit kerja tempat pegawai bertugas
Struktur Data
BEKERJA = NO_KERJA + ID_PEGAWAI + ID_UNITKERJA
Tabel 9-2 Data Item Bekerja
No.
1
Nama Data Ite m
NO_KERJA
Tipe
Char
Le bar
10
Ke te rangan
Diambil dar i tahun dan nomor ur ut pengisian data dan diawali kode „NK‟ (mis: NK20080008)
2
ID_PEGAWAI
Char
12
Foreign key dari tabel Pegawai
3
ID_UNITKERJA
Char
6
Foreign key dari tabel Unit_Kerja
10. Tabel Instansi Tabel 10-1 Data Store Instansi Nama
Instansi
Keterangan
Berfungsi untuk menyimpan data instans i
Struktur Data
INSTANSI = ID_INSTANSI + NAMA_INSTANSI + ALAMAT_INSTANSI + ID_KEL
Tabel 10-2 Data Item Instansi No.
1
Nama Data Ite m
ID_INSTANSI
Tipe
Char
Le bar
6
Ke te rangan
Diambil dar i 4 digit nomor ur ut pengisian data dan diawali kode “IN‟ (mis : IN0009)
2
NAMA_INSTANSI
Char
20
3
ALAMAT_INSTANSI
Char
30
4
ID_KEL
Char
6
F oreign key dari tabel Kelurahan
11. Tabel Kelurahan Tabel 11-1 Data Store Kelurahan Nama
Kelurahan
Keterangan
Berfungsi untuk menyimpan data kelurahan
Struktur Data
KELURAHAN = ID_KEL + NAMA_KEL + ID_KEC
Tabel 11-2 Data Item Kelurahan No.
Nama Data Ite m
Tipe
Le bar
1
ID_KEL
Char
6
2
NAMA_KEL
Char
20
3
ID_KEC
Char
6
Ke te rangan
Diambil dar i 4 digit nomor ur ut pengisian data dan diawali kode “KL‟ (mis : KL0109)
F oreign key dari tabel Kecamatan
12. Tabel Kecamatan Tabel 12-1 Data Store Kecamatan Nama
Kecamatan
Keterangan
Berfungsi untuk menyimpan data kecamatan KECAMATAN = ID_KEC + NAMA_KEC +
Struktur Data
ID_KOTA_KAB
Tabel 12-2 Data Item Kecamatan No.
1
Nama Data Ite m
ID_KEC
Tipe
Char
Le bar
6
Ke te rangan Diambil dar i 4 digit nomor ur ut pengisian data dan diawali kode „KC‟ (mis: KC0052)
2
NAMA_KEC
Char
20
3
ID_KOTA_KAB
Char
6
F oreign key dari tabel Kota_Kab
13. Tabel Kota_Kab Tabel 13-1 Data Store Kota_Kab Nama
Kecamatan
Keterangan
Berfungsi untuk menyimpan data kecamatan
Struktur Data
KOTA_KAB = ID_KOTA_KAB + NAMA_KOTA_KAB + ID_PROPINSI
Tabel 13-2 No.
1
Data Item Kota_Kab Nama Data Ite m
ID_KOTA_KAB
Tipe
Char
Le bar
6
Ke te rangan Diambil dar i 4 digit nomor ur ut pengisian data dan diawali kode “KB” (mis: KB0003)
2
NAMA_KOTA_KAB
Char
20
3
ID_PROPINSI
Char
6
F or eign key dari tabel Propins i
14. Tabel Propinsi Tabel 14-1 Data Store Propinsi Nama
Propins i
Keterangan
Berfungsi untuk menyimpan data propins i
Struktur Data
PROPINSI = ID_PROPINSI + NAMA_PROPINSI
Tabel 14-2 No.
1
Data Item Propinsi Nama Data Ite m
ID_PROPINSI
Tipe
Char
Le bar
6
Ke te rangan
Diambil dar i 4 digit nomor ur ut pengisian data dan diawali kode “PR‟ (mis : PR0020)
2
NAMA_PROPINSI
Char
20
HIPO (RANCANGAN SI) Hierarchy plus Input-Proses-Output
Design Template Sistem Informasi (Bahasa Pemograman )
Halaman Login
Halaman Pengolahan Data Pegawai
Halaman Penambahan Data Kelurahan
Halaman Penambahan Data Kecamatan
Halaman Penambahan Data Kota/Kabupaten
Halaman Penambahan Data Propinsi
Halaman Penambahan Data Pendidikan Formal dan Diklat
Halaman Penambahan Data Pendidikan Formal
Halaman Penambahan Data Diklat
Halaman Penambahan Data Jabatan
Halaman Penambahan Data Unit Kerja
Halaman Penambahan Data Instansi
Halaman Pencarian Data Pegawai
Materi Bahasa Sistem Basis Data
Materi Bahasa Sistem Basis Data Merupakan cara berinteraksi/ Berkomunikasi antara pengguna Basis Data dengan Basis Data itu Sendiri yang diatur dengan menggunakan Bahasa khusus (Script) atau Command yang di tuliskan oleh Pengguna kedalam Basis data. Scrpt atau Coomand itu bisa berupa : SQL, Mysql, Dbase, SQLServer, Oracle, dll Kelompok Bahasa Basis Data 1. Data Definition Language (DDL) 2. Data Manipulation Language (DML)
Data Definition Language (DDL) 1. DDL adalah bahasa basis data yang digunakan untuk menggambarkan desain basis data secara keseluruhan. 2. Dengan DDL kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel, dsb. 3. Hasil dari kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary).
Data Definition Language (DDL)
Statement yang terdapat dalam DDL : - CREATE
DATABASE TABLE INDEX VIEW
- DROP
DATABASE TABLE INDEX VIEW
- ALTER TABLE
Query Data Defenition Language (DDL) 1. CREATE
Create digunakan untuk membuat tabel Betuk Umum : Create Table nama_tabel ( Kolom_1 tipe(panjang), Kolom_2 tipe(panjang), Kolon_n tipe(panjang)) Contoh: Create Table mahasiswa ( NIM text(8) not null primary key, NAMA text(30) not null, TGL_LAHIR date, ALAMAT text(50))
Create Table mahasiswa ( NIM text(8) not null, NAMA text(30) not null, TGL_LAHIR date, ALAMAT text(50), Primarykey(NIM))
Query Data Defenition Language (DDL) 1. CREATE Penjelasan NIM text(8) not null primary key = NIM dengan Type data (Text) (8), Not null (tidak boleh kosong) dan di setting sebagai Primary key (Kunci Utama) NAMA text(30) not null, = Nama dengan Type Data (Text) (30) caracter dan Not null (tidak Boleh Kosong) Tgl_lahir date = (tanggal Tahir dengan type data adalah (Date) Alamat text (50) = Type data alalah (Text) (50) caracter *NIM
NAMA
TGL_LAHIR
ALAMAT
Text (8)
Text (30)
date
Text (50)
Query Data Defenition Language (DDL) Type NULL Spesifikasi N U L L , NOT NULL , NOT NULL WITH DEFA ULT NULL :
Bisa diinterpretasikan atau dikatakan sebagai nilai yang tidak diketahui atau tidak tersedianya suatu nilai. Null bukan berarti kosong (blank) atau 0 (Nol) NOT NULL :
pemakai atau program harus memberikan nilai-nilai pada saat memasukkan record NOT NULL WITH DEFA ULT :
nilai default disimpan pada saat record dimasukkan tanpa nilai yang ditentukan untuk kolom ini.
Query Data Defenition Language (DDL) Type NULL Spesifikasi N U L L , NOT NULL , NOT NULL WITH DEFA ULT Contoh : CREATE TABLE PERSONEL (REGNO CHAR(10) NOT NULL, NAME CHAR(45) NOT NULL, ADDRESS CHAR(45), BIRTH DATE NOT NULL WITH DEFAULT, PRIMARY KEY (REGNO));
Query Data Defenition Language (DDL) 2. ALTER Alter digunakan untuk merubah, menambah(ADD), menghapus(DROP) struktur tabel. BU : Alter Table nama_tabel [spesifikasi perubahan] Contoh: Menambahkan field Jenis_kelamin pada tabel mahasiswa Sintaks SQL: ALTER TABLE mahasiswa ADD Jenis_kel text(1); NIM
NAMA
TGL_LAHIR
ALAMAT
Jenis_kel
Text (8)
Text (30)
date
Text (50)
Text(1)
Query Data Defenition Language (DDL) a. ALTER Untuk Menambah Contoh : Menambahkan Primary key pada field NIM di tabel mahasiswa
Sintaks SQL: ALTER TABLE mahasiswa ADD constraint NIM Primary Key(NIM); Create Table mahasiswa ( NIM text(8) not null, NAMA text(30) not null, TGL_LAHIR date, ALAMAT text(50)); ALTER TABLE mahasiswa ADD constraint NIM Primary Key(NIM);
Ket: menggunakan constraint
*NIM
NAMA
TGL_LAHIR
ALAMAT
Text (8)
Text (30)
date
Text (50)
Query Data Defenition Language (DDL) a. ALTER Untuk Menambah Contoh : Manambahkan field baru pada sebuah tabel. Query : ALTER TABLE nama_tabel ADD(nama_field tipe_data [definisi_konstraint]); Contoh : SQL > ALTER TABLE mahasiswa ADD(alamat varchar(50) NOT NULL);
Query Data Defenition Language (DDL) b. ALTER untuk merubah Contoh : Merubah ukuran dan tipe dari field NIM pada tabel mahasiswa Sintaks SQL: ALTER TABLE mahasiswa ALTER column NIM Number
*NIM
NAMA
TGL_LAHIR
ALAMAT
Number
Text (30)
date
Text (50)
Mengubah definisi field yang telah ada pada sebuah tabel. Query : ALTER TABLE nama_tabel MODIFY(nama_field tipe_field definisi_konstraint); Contoh : SQL > ALTER TABLE mahasiswa MODIFY(alamat varchar(25) not null);
Query Data Defenition Language (DDL) c. ALTER untuk Menghapus Menghapus sebuah constraint di dalam tabel. Query : ALTER TABLE nama_tabel DROP CONSTRAINT nama_constraint; Contoh : SQL > ALTER TABLE mahasiswa DROP CONSTRAINT Tgl_ lahir; Contoh Lain : ALTER TABLE mahasiswa DROP column Jenis_kel;
Query Data Defenition Language (DDL) 3. DROP Drop digunakan untuk menghapus Tabel Query: DROP TABLE nama_table [CASCADE CONSTRAINT]; Contoh : - Drop tabel Mahasiswa; - Drop tabel pegawai;
Data Manipulation Language (DML) DML berisi kumpulan perintah yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa : 1.
Penyisipan / Penambahan data baru ke suatu basis data.
2.
Penghapusan data dari suatu basis data.
3.
Pengubahan data di suatu basis data
Statement yang terdapat dalam DML : -
Insert Update Select Delete
Query Data Manipulation Language (DML) 1. Insert Insert digunakan untuk menyisipkan sebuah record ke dalam sebuah tabel. Query : INSERT INTO nama_tabel [(nama_field1, nama_field2, ….)] VALUES („data_field1‟, „data_field2‟, …); (Keterangan : masukan Kedalam nama_tabel (Nama_field, nama_fileld2...)) Untuk diketahui bahwa nama_field1, nama_field2, … dapat dihilangkan. Asalkan data yang dimasukkan, sesuai dengan urutan Field didalam Tabel yang dituju dan jumlah Field yang sesui dengan jumlah kolum/field tabel Maka Querynya menjadi : Inser into nama_tabel values (‘data_field1’, ‘data_field2’....);
Query Data Manipulation Language (DML) 1. Insert Contoh: Inserta into mahasiswa (NIM, NAMA, TGL_Lahir,Alamat) values (‘1121001’,’Tarmizi’,’10-02-1986’,’Jl.Pepaya No.5 Padang’); Atau Insert into mahasiswa values (‘1121001’,’Tarmizi’,’10-02-1986’,’Jl.Pepaya No.5 Padang’);
Tabel mahasiswa
*NIM
NAMA
TGL_LAHIR
ALAMAT
1121001
Tarmizi
10-02-1986
Jl.Pepaya No.5 Padang
Query Data Manipulation Language (DML) 2. Update (Update Record) Setiap nilai record / Data yang telah disimpan di dalam tabel dapat dimodifikasi atau di edit kembali berdasarkan kondisi tertentu. Query : UPDATE nama_tabel SET nama_field1 = nilai_baru1, nama_field2 = nilai_baru2, …. [WHERE kondisi];
Query Data Manipulation Language (DML) 2. Updadte (Update Record) Contoh : Update mahasiswa set NAMA = ‘Tarmizi Taher’, ALAMAT = ‘Jl. Pepaya No.6 Padang’ where NIM=‘1121001’; Atau Update mahasiswa set NAMA = ‘Tarmizi Taher’, ALAMAT = ‘Jl. Pepaya No.6 Padang’ where NIM=‘1121001’; Keteranga : Update Tabel Mahasiswa yang di SET (NAMA, ALAMAT) dimana NIM nya Adalah (1121001) Tabel mahasiswa
*NIM
NAMA
TGL_LAHIR
ALAMAT
1121001
Tarmizi Taher
10-02-1986
Jl.Pepaya No.6 Padang
Query Data Manipulation Language (DML) 3. Delete (Delete Record) Record yang telah disimpan di dalam sebuah tabel dapat dihapus berdasarkan kondisi tertentu. Jika kondisi untuk menghapus tidak didefinisikan maka seluruh record pada tabel tersebut akan dihapus. Query : DELETE nama_tabel where nama colum = isi colum; Atau : Query : Delete * From nama_tabel where Kondisi
Query Data Manipulation Language (DML) 3. Delete (Delete Record) Contoh : Delete mahasiswa where NIM=‘1121001’; Keterangan : (menghapus sebuah record pada tabel mahasiswa dimana nimnya „1121001‟) Atau: Contoh delete mahasiswa; (menghapus semua record pada table mahasiswa) Atau : Contoh Delete * from mahsiswa where NIM = ‘1121001’
Tabel mahasiswa
*NIM
NAMA
TGL_LAHIR
ALAMAT
Query Data Manipulation Language (DML) 4. Select (Select Statement) Statement SELECT digunakan untuk mengambil record dari satu tabel atau Bebrapa tabel. Record yang diambil dengan SELECT dapat disaring dengan menggunakan kondisi yang terdefinisi. Statement SELECT mempunyai format sebagai berikut : Query : Select field1, field2, ...fieldn INTO tabelbaru from tabel aktif; Atau Select * INTO tabel baru FROM Tabel aktif; Contoh : Select NIM, NAMA, ALAMAT, INTO mahasiswa2 from mahasiswa; (yang diambil Cuma : NIM, NAMA, ALAMAT) dimasukan ke tabel mahasiswa2) ATAU Select * INTO mahasiswa2 FROM mahsiswa; (memindahkan semua isi tabel mahasiswa ke tabel mahasiswa2)
Query Data Manipulation Language (DML) a. Macam Query yang menggunakan Statemen Select 1. Menampilkan seluruh Isi Tabel untuk Satu tabel SELECT *From tabel aktif; Contoh : Select * From mahasiswa; 2. Menampilkan Sebagian Isi Tabel untuk satu Tabel SELECT field1, field2....fieldn From tabel aktif; Contoh : Select NIM, NAMA, ALAMAT From mahasiswa;
Catatan : Semua Materi tentang Query DDL dan DML akan dibahas Lebih Lanjut pada Materi Praktikum menggunakan MYSQL
Menapilkan Data Tabel dan data tabel Relasi Setaleha membuat bebrapa tabel diatas, dan pengisian data pada masing-masing tabel dengan menggunakan perintah MYSQL command line maka selanjutnya dilakaukan menapilkan data tabel. JOIN dan KUNCI Join merupakan operasi yang digunakan untuk menggabungkan dua tabel atau lebih dengan hasil berupa gabungan dari kolom-kolom yang berasal dari tabeltabel tersebut. Tabel-tabel dalam sebuah basisdata dapat dihubungkan satu sama lain menggunakan kunci (Key). Kunci utama adalah sebuah kolom dengan nilai unik untuk masing-masing baris. Tujuannya adalah menggabungkan data antar tabel tanpa mengulangi semua data pada setiap tabel. Kita bisa menggunakan kata kunci JOIN untuk memilih data. Ada tiga macam kunci JOIN, yaitu INNER JOIN, LEFT JOIN, dan RIGHT JOIN, dll
JOIN dan KUNCI 1. Inner join Dengan inner join, tabel akan digabungkan dua arah, sehingga tidak ada data yang NULL di satu sisi. Inner Join menapilkan hasil tabel relasional dimana beberapa atributnya ditampilkan dari beberapa tabel master Script Inner Join : SELECT tabel1a.(nama atribut1a), tabel1a.(nama atribut1a), tabel 2a.(nama atribut 2a), tabel 2a.(nama atribut 2a) FROM tabel1a, tabel2a WHERE tabel1a.PK(atribut relasi)=tabel2.FK(atribut relasi); Sebagai contoh : kita akan menapilkan relasi antara tabel dosen dengan tabel mengajar. Kita aka menapilkan id, ajr, kode dosen, nama_dosen, dan kode_matakuliah select mengajar.id_ajr, dosen.kd_dos, dosen.nm_dos, mengajar.kd_mtk from mengajar, dosen where mengajar.kd_dos=dosen.kd_dos;
Inner Join dengan klausa INNER JOIN. Bentuk Scriptnya :
SELECT tabel1a.(atribut 1a), tabel1a.(atribut 1a), tabel2a.(atribut 2a), tabel 2a.(atribut 2a) FROM tabel1a INNER JOIN tabel2a ON tabel1a.PK(atribut relasi)=tabel2a.FK(atribut relasi); Contoh masih menggunakan contoh Tabel Dosen dengan tabel mengajar Inner Join dengan klausa INNER JOIN. select mengajar.id_ajr, dosen.kd_dos, dosen.nm_dos, mengajar.kd_mtk from mengajar inner join dosen on mengajar.kd_dos=dosen.kd_dos;
Outer Join Dengan outer join, tabel akan digabungkan satu arah, sehingga memungkinkan ada data yang NULL (kosong) di satu sisi. Outer Join terbagi menjadi 2 (dua) yaitu LEFT JOIN dan RIGHT JOIN. Bentuk Script LEFT JOIN. SELECT tabel1a.(atribut1a), tabel1a.(atribut1a), tabel2a.(atribut2a), tabel2a.(atribut2a) .* FROM tabel1a LEFT JOIN tabel2a ON tabel1a.PK(atribut relasi)=tabel2.FK(atribut relasi);
Contoh masih menggunakan tabel Dosen dan tabel mengajar
LEFT JOIN select mengajar.id_ajr, dosen.kd_dos, dosen.nm_dos, mengajar.kd_mtk from dosen left join mengajar on dosen.kd_dos=mengajar.kd_dos;
RIGHT JOIN Masih menggunakan Contoh yang sama select mengajar.id_ajr, dosen.kd_dos, dosen.nm_dos, mengajar.kd_mtk from dosen right join mengajar on dosen.kd_dos=mengajar.kd_dos;
Menapilkan 3 Tabel Atau Lebih yang Berelasi Masih menggunakan Contoh yang sama Selanjutnya Bagaimana pula dengan menapilkan 3 tabel atau lebih yang direlasikan Masih dengan Contoh yang sama : Menampilkan Tabel Relasi yaitu : tabel relasional (mengajar), tabel dosen, tabel matakuliah Coba selesaikan permasalahan ini…. Menapilkan 3 Tabel Atau Lebih yang Berelasi select mengajar.id_ajr, dosen.kd_dos, dosen.nm_dos, matakuliah.nm_mtk from mengajar, dosen, matakuliah where mengajar.kd_dos=dosen.kd_dos and mengajar.kd_mtk=matakuliah.kd_mtk;
Menapilkan relasi tabel mahasiswa, tabel krs dan Tabel Matakuliah
select krs.id_krs, matakuliah.kd_mtk, matakuliah.nm_mtk, mahasiswa.nobp, mahasiswa.nama from krs, mahasiswa, matakuliah where krs.nobp=mahasiswa.nobp and krs.kd_mtk=matakuliah.kd_mtk;
Menapilkan relasi tabel mahasiswa, tabel krs dan Tabel Matakuliah
select krs.id_krs, matakuliah.kd_mtk, matakuliah.nm_mtk, mahasiswa.nobp, mahasiswa.nama from krs, mahasiswa, matakuliah where krs.nobp=mahasiswa.nobp and krs.kd_mtk=matakuliah.kd_mtk;
TYPE DATA CARACTER 1. CHAR: Teks dengan maksimal 255 karakter 2. VARCHAR: Teks maksimal 255 karakter dan bersifat variabel 3. TEXT: Teks dengan panjang maksimal 65535
BILANGAN 1. 2. 3. 4. 5. 6. 7.
TINYINT: Bilangan 1 byte SMALLINT: Bilangan 2 byte INT atau INTEGER Bilangan 4 byte BIGINT: Bilangan 8 byte FLOAT: Bilangan pecahan (4 byte) DOUBLE atau REAL: Bilangan pecahan (8 byte) DECIMAL(M, D) atau NUMERIC(M, D): Bilangan pecahan
LAIN-LAIN 1. 2. 3. 4. 5.
DATE: Tanggal DATETIME: Waktu (tanggal dan jam) TIME : Jam ENUM(„nilai1‟, „nilai2‟, …): Nilai enumerasi BOOLEAN: tipe benar atau salah
PRAKTIKUM SISTEM BASIS DATA dengan PHP PENERAPAN DDL, DML DAN QUERY
PRAKTIKUM SISTEM BASIS DATA dengan PHP PENERAPAN DDL, DML DAN QUERY
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 1. Buat Database Nama Database : apotik Tabel Database : a. Tabel:
nama_obat
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 1. Buat Database Nama Database : apotik Tabel Database : b. Tabel Obat
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 1. Buat Database Nama Database : apotik Tabel Database : c. hrg_jual
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 1. Buat Database Nama Database : apotik Tabel Database : c. Lanjutan dengan Tabel Lainnya
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 2. Buat file Koneksi PHP Nama file : koneksi.php CODING
$sambung= mysql_connect ($host, $user,$pass, $db) or die ("error"); mysql_select_db ($db, $sambung); ?>
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 3. Buat file INDEX dengan Dreamweaver CS3 Untuk Menu pilihan Nama file : index.php
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 3. Buat file: input nama obat.php
Contoh Kasus DDL, DML dan Query untuk INPUT, EDIT DAN DELETE data 3. Buat file: input nama obat.php Inti Coding Form Inpunt Nama Obat // Memanggil Koneksi // Membuat Form untuk menempatkan Atribut