Tujuan organisasi file dalam sistem basis data Menyediakan sarana pencarian record bagi pengolahan, seleksi, atau penyaringan Memudahkan pembuatan atau pemeliharaan file Ada 2 jenis media penyimpan file SASD Sequential Access Storage Device Proses pembacaan record harus berurutan Tidak ada pengalamatan Data disimpan dalam bentuk blok Proses penulisan hanya bisa dilakukan sekali Contoh magnetic tape DASD Direct Access Storage Device Pembacaan record tidak harus urut Mempunyai alamat Data dapat disimpan dalam karakter atau blok Proses penulisan dapat dilakukan beberapa kali Contoh harddisk, floppy disk Metode susunan file Sequential urut Record disimpan berdasarkan suatu kunci Pencarian record tertentu dilakukan record demi record berdasarkan kuncinya Random Acak Kunci record ditransformasikan ke alamat penyimpanan dalam media fisik secara acak Indexed Sequential Merupakan gabungan antara metode urut dan acak Record disimpan secara berurutan dengan menggunakan kunci Masing-masing record memiliki indeks Pengalamatan dilakukan secara acak Indexed Random Record disimpan secara acak Masing-masing record memiliki indeks C. Arsitektur sistem basis data Pertimbangan dalam memilih arsitektur sistem basis data Keunggulan teknologi Biaya pengembangan Sesuai dengan kebutuhan pengguna Jenis arsitektur sistem basis data Sistem tunggal Standalone DBMS, basis data, dan aplikasi basis data ditempatkan pada komputer yang sama. Hanya bisa dipakai oleh satu pemakai pada saat yang bersamaan Sistem Terpusat Centralized system Terdiri dari sebuah server dan sejumlah terminal Bagian yang terpusat adalah basis data, DBMS, dan aplikasi basis data Sistem Client-server Ditujukan untuk mengatasi kelemahan yang terdapat pada sistem terpusat Terdiri dari 2 komponen utama yaitu client dan server. Client berisi aplikasi basis data; server berisi DBMS dan basis data D. Konsep DBMS DBMS Data Base Management System merupakan perangkat lunak yang memberikan fasilitas untuk melakukan fungsi pengaturan, pengawasan, pengendalian, pengolahan, dan koordinasi terhadap semua proses yang terjadi pada sistem basis data. Komponen-komponen utama DBMS Query language Digunakan oleh bagian lain dengan sedikit perintah sederhana Contoh SQL Structure Query Language, QBE Query By Example Report generator Dirancang untuk membuat cetakan, yang memiliki perintah- perintah untuk membuat header, judul, kolom, summary, dll. DML Data Manipulation Language Terdiri dari perintah-perintah yang disediakan dalam program aplikasi untuk melakukan manipulasi data seperti append, list, atau update DDL Data Definition Language Dengan bahasa ini dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur tabel, dll. Hasil dari kompilasi perintah DDL menjadi Kamus Data, yaitu data yang menjelaskan data sesungguhnya Contoh Create, Modify report, Modify structure Recovery Merupakan kemampuan untuk mengembalikan data yang rusak atau hilang akibat operasi basis data insert, update, delete, dll. Data dictionary Digunakan untuk memelihara definisi-definisi standar seluruh rinci data dalam lingkup kecil pada sistem basis data Database Merupakan bagian dari DBMS yang menyediakan data dalam berbagai tipe dan format untuk memenuhi kebutuhan pemakai Access routine Suatu rutin yang dapat dipanggil dan dipergunakan oleh program lain untuk mengakses basis data E. Kamus Data DBMS memberikan fasilitas data dictionary kamus data untuk mendefinisikan nama-nama rinci data dan format penyimpanannya Kamus data digunakan untuk Pada tahap analisis, sebagai alat komunikasi antara analis sistem dengan pemakai sistem tentang data yang mengalir di sistem, yaitu tentang data yang masuk ke sistem dan tentang informasi yang dibutuhkan oleh pemakai sistem Pada tahap perancangan sistem, digunakan untuk merancang input, laporan-laporan dan database Kamus data berisi Nama arus data, alias, bentuk data, arus data, penjelasan atau keterangan-keterangan, periode terjadinya transaksi, volume arus data yang mengalir dalam periode tertentu, struktur data BAB IV RELATIONAL DATABASE MODEL A. Terminologi Relational Database Model Model ini menjelaskan tentang hubungan logik antar data dalam basis data dengan cara memvisualisasikan ke dalam bentuk tabel dua dimensi yang terdiri dari sejumlah baris dan kolom yang menunjukan atribut-atribut Istilah-istilah dalam model basis data relasional Record Sebuah baris dalam suatu relasi. Disebut juga tuple Cardinality Banyaknya record dalam sebuah relasi Atribut Suatu kolom dalam sebuah relasi Domain Batasan nilai dalam atribut dan tipe dipilih dan dipakai untuk membedakan suatu record kolom B. Karakteristik Model Basis Data Relasional Relasi dalam model basis data relasional memiliki karakteristik Semua entry / elemen data pada suatu baris dan kolom tertentu harus mempunyai nilai tunggal single value, atau suatu nilai yang tidak dapat dibagi lagi atomic value, bukan suatu kelompok pengulangan Semua entry / elemen data pada suatu kolom tertentu dalam relasi yang sama harus mempunyai jenis yang C. Komponen Relasi Tabel relasional mempunyai 2 komponen Intention Terdiri dari dua bagian yaitu struktur penamaan naming structure dan batasan integritas integrity constraint Struktur penamaan menunjukkan nama tabel dan nama atribut yang ada lengkap dengan dengan batasan nilai dan tipe datanya Batasan integritas dipengaruhi oleh integritas referential yang meliputi key constraint dan referensial constraint. Key constraint tidak mengijinkan adanya nilai null pada atribut yang digunakan sebagai primary key Referentil constraint memberikan aturan bahwa nilai- nilai dalam atribut kunci yang digunakan untuk menghubungkan ke basis data lain tidak diijinkan memiliki nilai null Extention Menunjukkan isi dari tabel-tabel pada suatu waktu, cenderung berubah sewaktu-waktu D. Kunci Relasi Dasar penentuan primary key adalah bahwa nilai-nilai rinci data dari atribut yang digunakan sebagai primary key harus unik, tidak boleh ada nilai data yang sama pada semua record dalam basis data Aturan-aturan lainnya Integritas entity Nilai atribut yang dipilih sebagai primary key tidak boleh null untuk setiap record yang ada dalam relasi Aturan ini menjamin bahwa semua record yang ada dalam basis data akan dapat diakses karena semua record dapat diidentifikasi berdasarkan kunci yang unik Integritas referensial Jika dua buah tabel direlasikan maka primary key harus menjamin bahwa untuk setiap nilai primary key tertentu dalam tabel A, harus ada pula record dengan nilai primary key yang sama pada tabel B Contoh Tabel Mahasiswa Tabel Hobi nim nama B12110 Andri Suryanto C12007 Tiara Putri B12112 Andi Nur Cahyo nim hobi B12110 Memancing C12007 Berkebun B12112 Olahraga B12112 Membaca E. Relasi Antar Entity Ada dua jenis Relasi antar entity dalam satu tabel Berupa relasi antar entity yang berupa record untuk menyediakan data atau informasi dari atribut-atribut dalam satu tabel Contoh dalam tabel mahasiswa dapat diperoleh informasi bahwa nim B12110 bernama Andri Suryanto dengan jenis kelamin laki-laki Relasi antar entity dalam banyak tabel Tipe ini mempunyai kerelasian yang lebih rumit Ada 3 jenis Tree, Simple network, Complex network Hal yang harus diperhatikan adalah bagaimana agar relasi-relasi yang ada dalam sistem basis data dapat dihubungkan satu sama lain. F. Basis Data Yang Baik Pembentukan basis data yang baik akan memberikan sejumlah keuntungan Tabel-tabel dan relasi lebih kompak Struktur masing-masing tabel lebih efisien dan sistematik Kebutuhan ruang penyimpanan data lebih efisien Redundansi data yang optimal akan meningkatkan integritas data Tidak ada ambiguitas data di semua tabel BAB V NORMALISASI A. Pengertian Normalisasi adalah suatu teknik yang membuat tabel dengan struktur yang baik dengan cara-cara tertentu untuk membantu mengurangi atau mencegah timbulnya masalah yang berhubungan dengan pengolahan data dalam basis data. Kriteria yang mendefinisikan level-level pada normalisasi adalah bentuk normal. Melalui normalisasi dapat membentuk struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan. B. Tujuan Normalisasi Normalisasi perlu dilakukan agar hubungan dalam basis data menjadi mudah dimengerti, mudah dipelihara, mudah memprosesnya, dan mudah untuk dikembangkan sesuai kebutuhan baru. Selain itu, tujuan normalisasi adalah menghilangkan kerangkapan data, mengurangi kompleksitas, mempermudah pemodifikasian data. C. Anomali Masalah-masalah yang timbul dalam pembuatan tabel yang disebut dengan anomali. Anomali adalah proses pada basis data yang mempunyai efek samping yang tidak diharapkan. Misal data tidak konsisten, suatu data hilang pada saat dihapus, dll. Anomali ada 3 jenis yaitu 1 Anomali peremajaan Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah. Contoh Tabel Mahasiswa nama_mahasiswa program_studi jumlah_sks Kartika Putri Manajemen Informatika 5 Claudia Citra Manajemen Informatika 2 Yudi Permadi Manajemen Informatika 2 Claudia Citra Manajemen Informatika 1 Seandainya Claudia Citra dengan program_studi manajemen Informatika pindah ke Komunikasi Massa maka pengubahan data hanya dilakukan pada data pertama menjadi Tabel Mahasiswa nama_mahasiswa program_studi jumlah_sks Kartika Putri Manajemen Informatika 5 Claudia Citra Komunikasi Massa 2 Yudi Permadi Manajemen Informatika 2 Claudia Citra Manajemen Informatika 1 Pada tabel tersebut terlihat bahwa data tentang nama_mahasiswa Claudia Citra tidak sama yang menyebabkan data tidak konsisten. 2 Anomali Penyisipan Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tersebut justru menjadi key. Contoh Tabel Ekstrakurikuler nim ekstrakurikuler biaya B12110 Karate B12112 Tenis B12110 Tenis B12111 Paduan Suara B12110 Bulu Tangkis Misalnya akan tambah ekstrakurikuler baru yaitu Pemrograman Android dengan biaya akan tetapi belum ada seorangpun yang ikut ekstrakurikuler pemrograman android ini, sehingga data menjadi Tabel Ekstrakurikuler nim ekstrakurikuler biaya B12110 Karate B12112 Tenis B12110 Tenis B12111 Paduan Suara B12110 Bulu Tangkis Pemrograman Android 3 Anomali penghapusan Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data lain yang hilang. Contoh pada tabel ekstrakurikuler data nim B12112 akan dihapus karena sudah tidak ikut ekstrakurikuler lagi sehingga akibatnya data ekstrakurikuler tenis dan biaya akan ikut terhapus. D. Dependensi Ketergantungan Konsep dasar pada tahap normalisasi yang menjelaskan hubungan atribut atau secara lebih khusus menjelaskan nilai suatu atribut yang menentukan atribut lainnya. Macam-macam dependensi, yaitu 1 Dependensi Fungsional Definisi Suatu atribut Y mempunyai dependensi fungsional terhadap atribut X jika dan hanya jika setiap nilai X berhubungan dengan sebuah nilai Y. Notasi X Y X secara fungsional menentukan Y bisa dikatakan juga Y bergantung pada X Contoh Tabel Nilai nim nama mata_kuliah nilai B12110 Andri Suryanto Basis Data A C12007 Tiara Putri Basis Data A B12112 Andi Nur Cahyo Basis Data B B12110 Andri Suryanto Algoritma Pemrograman A B12111 Ilham Aris Prasetyo Basis Data C B12110 Andri Suryanto Struktur Data B A12007 Tiara Putri Algoritma Pemrograman B Dengan demikian nim nama nim secara fungsional menentukan nama, sebab setiap nim yang sama mempunyai nama yang sama. {nim, mata_kuliah} nilai nim dan mata_kuliah secara fungsional menentukan nilai, sebab setiap nim dan mata_kuliah yang sama mempunyai nilai yang sama. Keterangan Bagian yang terletak di sebelah kiri tanda panah biasa disebut determinan / penentu dan bagian yang terletak di sebelah kanan panah disebut dependensi / yang tergantung. Tanda {} digunakan untuk menentukan lebih dari satu atribut sebagai penentu atau sebagai yang tergantung. 2 Dependensi Penuh Definisi Suatu atribut Y mempunyai dependensi fungsional penuh terhadap X jika Y mempunyai dependensi fungsional terhadap X dan/atau Y tidak memiliki dependensi terhadap bagian subset dari X Contoh {nim, mata_kuliah nilai Bukan depedensi penuh. Tapi jika mata_kuliah dihilangkan akan menjadi dependensi penuh mata_kuliah nilai 3 Dependensi Parsial Definisi Dependensi Parsial merupakan ketergantungan fungsional dimana beberapa atribut dapat dihilangkan dari X dengan ketergantungan tetap dipertahankan Contoh {nim, nama, mata_kuliah nilai dimana jika nama dihapus maka ketergantungan tetap ada 4 Dependensi Transitif Definisi Dependensi transitif adalah kondisi dimana X,Y, Z merupakan atribut suatu relasi, dimana X Y dan Y Z. Maka dikatakan Z dependensi transitif terhadap X melalui Y Contoh Tabel mahasiswa Nim nama mata_kuliah dosen B12110 Andri Suryanto Basis Data Marwoto C12007 Tiara Putri Basis Data Marwoto B12112 Andi Nur Cahyo Basis Data Marwoto B12111 Ilham Aris Prasetyo Basis Data Marwoto nim mata_kuliah matakuliah nim E. Dekomposisi Pada tahap normalisasi sering kali terjadi pemecahan tabel kedalam bentuk dua atau lebih relasi. Proses pemecahaan ini disebut dengan dekomposisi. Syarat dekomposisi adalah Tidak ada informasi yang hilang ketika suatu relasi dipecah menjadi relasi-relasi lain. Contoh Terdapat suatu relasi awal sebagai berikut nim Nama hobi B12110 Andri Suryanto Memancing C12007 Tiara Putri Berkebun B12112 Andi Nur Cahyo Olahraga B12112 Andi Nur Cahyo Membaca Akan dilakukan dekomposisi, dengan tidak menghilangkan informasi. Hasil dekomposisi sebagai berikut Nim nama B12110 Andri Suryanto C12007 Tiara Putri B12112 Andi Nur Cahyo nim hobi B12110 Memancing C12007 Berkebun B12112 Olahraga B12112 Membaca F. Bentuk Normalisasi Berikut langkah-langkah normalisasi 1 Bentuk normalisasi pertama 1NF Suatu relasi disebut memenuhi bentuk normal pertama 1NF jika dan hanya jika setiap atribut dari relasi tersebut hanya memiliki nilai tunggal dan tidak ada pengulangan grup atribut dalam baris. Bentuk 1NF tidak boleh mengandung grup atribut yang berulang. Dikenakan pada tabel yang sama sekali belum ternomalisasi. Tabel yang belum ternomalisasi adalah tabel yang mempunyai atribut berulang. Contoh terdapat suatu data sebagai berikut Nim Nama hobi B12110 Andri Suryanto Memancing C12007 Tiara Putri Berkebun B12112 Andi Nur Cahyo Olahraga, Membaca Pada contoh di atas, hobi mempunyai atribut yang berulang. Untuk itu akan dibentuk ke normal 1NF. Syarat Normal 1NF adalah suatu relasi dikatakan dalam bentuk normal pertama jika dan hanya jika setiap atribut bernilai tunggal dalam satu baris. Tabel Mahasiswa Tabel Hobi nim nama Nim hobi B12110 Andri Suryanto B12110 Memancing C12007 Tiara Putri C12007 Berkebun B12112 Andi Nur Cahyo B12112 Olahraga B12112 Membaca Tabel di atas sudah memenuhi bentuk normal 1NF, karena tidak ada atribut bernilai ganda dalam satu baris. 2 Bentuk Normal 2NF Suatu relasi disebut memenuhi bentuk normal kedua 2NF jika dan hanya jika Memenuhi 1NF Setiap atribut yang bukan kunci utama tergantung secara fungsional terhadap semua atribut kunci dan bukan hanya sebagian atribut kunci fully functionally dependent. Aturan Sudah memenuhi dalam bentuk normal kesatu 1NF Semua atribut bukan kunci hanya boleh tergantung functional dependency pada atribut kunci Jika ada ketergantungan parsial maka atribut tersebut harus dipisah pada tabel yang lain Perlu ada tabel penghubung ataupun kehadiran foreign key bagi atribut-atribut yang telah dipisah tadi Untuk normalisasi ke bentuk 2NF, maka tabel 1NF didekomposisi menjadi beberapa tabel yang masing- masing memenuhi 2NF. Bila terdapat ketergantungan parsial maka eliminate. Tujuan membentuk 2NF semantik tabel 2NF menjadi lebih eksplisit fully FD mengurangi update anomali yang masih mungkin terjadi pada 1NF Contoh Tabel berikut memenuhi 1NF tapi tidak termasuk 2NF nim nama_ mahasiswa program_ studi kode_ makul sks nama_ makul nilai Primary key nim, kode_makul Tidak memenuhi 2NF, karena {nim, kode_makul} yang dijadikan sebagai primary key sedangkan {nim, kode_makul} nama_mahasiwa dependensi parsial {nim, kode_makul} program_studi dependensi parsial {nim, kode_makul} nama_makul dependensi parsial {nim, kode_makul} sks dependensi parsial {nim, kode_makul} nilai dependensi fungsional fungsional Functional dependencynya sebagai berikut {nim, kode makul} nilai fd1 fd3 kode makul, nama_makul, sks Tabel MataKuliah 3 Bentuk Normal 3NF Aturan Sudah berada dalam bentuk normal kedua 2NF Tidak ada ketergantungan transitif dimana atribut bukan kunci tergantung pada atribut bukan kunci lainnya. Tabel berikut memenuhi 2NF tapi tidak termasuk 3NF nim nama_mahasiswa kode_program_studi nama_program_studi Primary Key = nim karena masih terdapat atribut non primary key yakni nama_program_studi yang memiliki ketergantungan terhadap atribut non primary key yang lain kode_program_studi kode_program_studi nama_program_studi Sehingga tabel tersebut perlu didekomposisi menjadi Mahasiswa nim, nama_mahasiswa, kode_program_studi Program_Studi kode_program_studi, nama_program_studi 4 Bentuk Normal boyce-codd BCNF Bentuk ini dilakukan jika dan hanya jika semua penentu determinan adalah kunci kandidat atribut yang bersifat unik. BCNF merupakan perbaikan dari 3NF. Relasi yang memenuhi BCNF pasti memenuhi 3NF tetapi tidak sebaliknya. Aturan Bentuk BCNF terpenuhi dalam sebuah tabel, jika untuk setiap functional dependency terhadap setiap atribut atau gabungan atribut dalam bentuk X Y maka X adalah super key tabel tersebut harus di-dekomposisi berdasarkan functional dependency yang ada, sehingga X menjadi super key dari tabel-tabel hasil dekomposisi Setiap tabel dalam BCNF merupakan 3NF. Akan tetapi setiap 3NF belum tentu termasuk BCNF . Perbedaannya, untuk functional dependency X A, BCNF tidak membolehkan A sebagai bagian dari harus merupakan functional dependencies 6 Bentuk Normal 5NF Aturan Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposition menjadi tabel-tabel yg lebih kecil. Jika 4 bentuk normal sebelumnya dibentuk berdasarkan functional dependency, 5NF dibentuk berdasarkan konsep join dependence. Yaitu apabila sebuah tabel telah di-dekomposisi menjadi tabel-tabel lebih kecil, harus bisa digabungkan lagi join untuk membentuk tabel semula BAB VI MENGENAL MySQL A. Mengenal MySQL MySQL merupakan Sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, multi user serta menggunakan peintah dasar SQL Structured Query Language. MySQL memiliki dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang biasa digunakan adalah MySQL FreeSoftware yang berada di bawah Lisensi GNU/GPL General Public License. MySQL Merupakan sebuah database server yang free, artinya bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius. Selain database server, MySQl juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai Server, yang berarti program berposisi sebagai Client. Jadi MySQL adalah sebuah database yang dapat digunakan sebagai Client mupun server. Database MySQL merupakan suatu perangkat lunak database yang berbentuk database relasional atau disebut Relational Database Management System RDBMS yang menggunakan suatu bahasa permintaan yang bernama SQL Structured Query Language. B. Kelebihan MySQL Database MySQL memiliki beberapa kelebihan dibandin
wMMs.