Basis Data Modul Teori
Kosidin SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER JABAR STMIK JABAR Jl. Soekarno Hatta No. 775-777 Tlp./Fax (022)7335108 Bandung 40293
Pengertian Basis Data Basis : Sebuah tempat atau wadah Data : Sebuah fakta yang digambarkan dengan sebuah simbol yang belum memiliki arti. Basis Data : sekumpulan data yang sejenis yang saling berhubungan yang di organisasikan sedemikan rupa secara bersama-sama untuk memenuhi berbagai kebutuhan. Tujuan basis : bahwa data akan dipergunakan lagi dikemudian hari Operasi dasar basis data: 1. Create database : membuat basis data baru 2. Drop database : menghapus baris data 3. Create table : membuat tabel baru 4. Drop table : menghapus tabel 5. Insert data : mengisi data ke sebuah tabel 6. Update data : mengubah data dari sebuah tabel 7. Delete data : menghapus data dari tabel. Hirarki pembuatan basis data Basis data, Table/File, Record, Field, Value. Pemanfaatan basis data: 1. speed : kecepatan dan kemudahan 2. space/tempat/ruang : efesiensi tempat atau ruang penyimpanan 3. accuracy/batasan keakuratan data dalam pembentukan antar data 4. availability/ketersediaan : menyangkut atau ada hubungannya dengan space 5. completeness/kelengkapan : penambahan record/field agar data yang tidak lengkap menjadi lengkap. 6. security/keamanan : dengan basis data, penggunaannya sangat teratur sehingga memungkinkan data akan terjaga keamanannya. 7. sharability/kebersmaan : pemakaian secara bersama.
Basis Data, di susun oleh Kosidin
2
Komponen Basis Data 1. Hardware : perangkat keras 2. Sistem Operasi/Operating System, Seperti: windows 98, windows, 2000, windows ME, windows, xp, windows vista, linux, Mc book dll. 3. Basis Data sendiri (data bases) 4. Data base manajemen sistem Tugasnya sebagai penterjemaah dari perintah-perintah basi data kita, yang termasuk ke dalam DBMS seperti : FoxBase, Rbase, MsAccess, paradok, MySql dll. 5. User User sebagai programer aplikasi 6. Aplikasi : perangkat lunak lain, seperti Visual Basic dll.
Abstraksi Data Ada 3 level 1. Level Fisik Merupakan level terendah, yang menunjukan bagaimana sesungguhnya suatu data disimpan. 2. Level Lojik Merupakan level berikutnya, yang menggambarkan data apa yang sebenarnya (secara fungsional) disimpan dalam basis data dan hubungannya dengan data yang lain. 3. Level Penampakan Merupakan level tertinggi, yang hanya menunjukan sebagian dari basis data.
Bahasa Basis Data (Database Language) Bahasa itu yang terdiri atas sejumlah perintah yang diformulasikan yang diberikan oleh user dan diproses oleh DBMS. Bahasa Basis Data biasanya ada 2, yaitu: 1. Data Definition Language (DDL)
Basis Data, di susun oleh Kosidin
3
Struktur/skema basis data yang mewakili desain data secara keseluruhan. 2. Data Manipulation Language (DML) Dml merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data bisa berupa: - Penyisipan/penambahan data baru ke suatu basis data - Penghapusan data dari suatu basis data - Pengubahan data dari suatu basis data Sistem Pengolahan Basis Data/Database Manajemen System (DBMS) 1. File Manager, yang mengelola alokasi ruang dalam disk dan struktur data yang dipakai untuk mempresentasikan informasi yang tersimpan dalam disk. 2. Database Manager, yang menyediakan interface antara data low level yang ada di basis data dengan program aplikasi dan query yang diberikan ke sistem 3. Query Processor, yang menterjemaahkan perintah-perintah dalam bahasa query yang dapat dimengerti database manager. 4. DML Procompiler, yang mengkonversikan DML yang di tambah dalam program aplikasi. 5. DDL Compiler, yang mengkonversikan perintah-perintah DDL ke dalam sekumpulan tabel.
Model Basis Data Model : bagaimana kita mempresentasikannya ke dalam dunia nyata. Model basis data : cara/mekanisme untuk mengelola/mengerjakan data secara fisiknya. Model-model basis data 1. Relational 2. Hirarki
Basis Data, di susun oleh Kosidin
4
3. Jaringan (network) 1. Model basis data relational Basis data akan disebar ke dalam tabel-tabel dua dimensi, dua dimensi yaitu: row/record dan cloum/field. Basis data relational lebih mudah dan lebih fleksibel digunakan dalam kehidupan sehari-hari. Contoh: Tabel Mahasiswa NIM Nama MHS 001 Ikok 002 Kaeza Nabila
Alamat MHS Tgl Lahir Jl. Siliwangi dalam III No. 12 Juni 1980 5 Jl. Siliwangi dalam III No. 01 Januari 3 1995
Karakteristik tabel mahasiswa - memiliki 4 buah kolom data struktur tabel mahasiswa 1. Nama Field/kolom 2. Tipe data 3. Size/ukuran karakter yang dapat ditampung Nama Field NIM Nama MHS Alamat MHS Tgl Lahir
Tipe Data Numerik Text Text Date
Size 6 30 60 15
Ket. u/menampung Nim u/menampung nama u/menampung alamat u/menampung tgl lahir
Model Data Kumpulan konseptual untuk menggambarkan data, hubungan data, makna data, dan batasan data Model Entity Relationship (model keterhubungan entitas) Dunia nyata diterjemaahkan/ditranspormasikan dengan sebuah diagram data, yang umum disebut dengan diagram E-R.
Basis Data, di susun oleh Kosidin
5
Diagram Entity Relationship, terdiri dari: 1. Entity Merupakan individu yang mewakili sesuatu yang nyata, dan dapat dibedakan dari yang lain. Nyata memiliki entitas atribut. 2. Entitas sejenis, himpunan entitas (entity set). Himpunan entitas menunjuk pada rumpun dari individu tersebut. Syarat entitas: - nyata - memiliki identitas - memiliki atribut 3. Atribut Merupakan field yang ada dalam sebuah tabel. Atribut berdasarkan pengelompokannya 1. key dan atribut deskriptif 2. atribut sederhana dan atribut komposit 3. atribut bernilai tunggal dan atribut bernilai banyak 4. atribut harus berisi dan tidak berisi 5. atribut turunan 1. Key dan Atribut Deskriptif Key merupakan satu/gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik. Macam-macam key a. super Key Satu/lebih atribut yang membedakan setiap baris data dalam satu tabel secara unik, contoh dalam tabel mhs, Nim merupakan key. b. Candidate Key Merupakan suatu kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Contoh : dalam tabel mhs, Nim dan Nama Mhs.
Basis Data, di susun oleh Kosidin
6
Dalam memilih super key/primary ke ada syaratnya: 1. Key tersebut sering dijadikan acuan 2. Key tersebut lebih ringkas 3. Jaminan keunikan lebih baik. Atribut Deskriptif Atribut yang tidak termasuk ke dalam atribut primary key, contoh dalam tabel mhs yaitu : Nama mhs, alamat mhs, tgl lahir. 2. Atribut Sederhana dan Komposit Atribut Sederhana, atribut yang tidak bisa dibagi lagi (atomik)/tidak dapat dipilah lagi. Contoh atribut Nama Mhs Kaeza Nabila Atribut Komposit : atribut yang masih bisa diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna. Contoh atribut Alamat mhs Jl. Siliwangi No. 5 Bandung 40231 Dibagi menjadi : Alamat Jl. Siliwangi No. 5
Kota Bandung
Kode Pos 40231
3. Atribut Bernilai Tunggal dan Banyak Atribut bernilai tunggal, atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris data. Atribut bernilai banyak, atribut-atribut yang dapat kita isi dengan lebih satu nilai, tetapi jenisnya sama. Contoh : Mata Kuliah Waktu Basis Data Sabtu, 13.00 – 16.00
Basis Data, di susun oleh Kosidin
7
Minggu, 10.00 – 16.00 4. Atribut Harus Bernilai dan Tidak Atribut harus bernilai, atribut pada sebuah tabel yang kita tetapkan harus diisi data. Contoh ; dalam tabel mhs adalah Nim. Atribut boleh tidak bernilai Atribut yang digunakan yang nilainya (datanya) belum siap atau tidak ada. Contoh : dalam tabel mhs adalah Alamat dan tgl lahir. 5. Atribut Turunan Atribut yang nilainya/isinya diperoleh dari atribut tabel lain yang berhubungan. Relasi Pengertian Relasi Menunjukan hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Kardinalitas/Dearajat Relasi - One to One (satu ke satu) - One to Many (satu ke banyak) - Many to Many (banyak ke banyak) One to One (satu ke satu), tidak boleh menjalin relasi lebih dari Satu Contoh : Negara – memiliki – ibu kota
Negara
1
Memiliki
1
Ibu Kota
One to Many (satu ke banyak), entitas a boleh menjalin hubungan banyak ke entitas b, tetapi entitas b tidak boleh menjalin relasi lebih dari satu.
Basis Data, di susun oleh Kosidin
8
Contoh : Orang tua – mempunyai – anak
Orang Tua
1
Mempunyai
N
Anak
Many to Many (banyak ke banyak), setiap entitas boleh menjalin hubungan relasi banyak Contoh : Mahasiswa – mengikuti – mata kuliah
Mahasisw a
N
Mengikuti
N
Mata Kuliah
E-R Diagram Pengertian E-R Diagram Suatu gambaran yang mempresentasikan secara nyata dari dunia nyata yang berisi himpunan relasi dan himpunan entitas yang dilengkapi dengan atribut-atributnya. Simbol yang digunakan dalam membuat E-R Diagram Entitas Relasi
Penghubung Atribut
Basis Data, di susun oleh Kosidin
9
Contoh : E-R Diagram
Nama
Program
Mahasisw a
Kode
N
Mengikuti
N
Mata Kuliah
Nama MK
SKS
NIM
Proses Pembuatan E-R Diagram 1. Menetapkan dan menentukan seluruh himpunan entitas yang terlibat 2. Menentukan atribut key dari masing-masing himpunan entitas 3. Menggambarkan keseluruhan entitas yang mungkin muncul 4. Menentukan derajat relasi 5. Melengkapi atribut selain Key.
Derajat Relasi Minimum Contoh dari E-R diagram di atas : 0 : jika ada mahasiswa yang mengambil cuti, sehingga tidak mengikuti sama sekali mata kuliah 1 : mahasiswa akan mengikuti mata kuliah wajib, maka mata kuliah terebut harus diikuti N : jika jumlah mahasiswa banyak dan sama mengambil mata kuliah yang sama, memungkinkan tidak ada kelas yang kosong
Normalisasi Pengertian Normalisasi Usaha untuk membuat database dari tidak normal menjadi normal (konsep dasar)
Basis Data, di susun oleh Kosidin
10
Suatu kegiatan membuat database dari tidak normal menjadi normal. Syarat melakukan Normalisasi 1. Jika ada dekomposisi (pengurai) tabel, maka dekomposisinya harus dijamin aman. 2. Terpeliharanya ketergantungan fungsional pada saat perubahan data (dependency Preservation). Fungsi Dependensi (ketergantungan fungsi) Contoh : Tabel Nilai Nama MK IMK Basis Data Algoritma
NIM 001 002 003
Nama MHS Ikok Istanti Caesara
Nilai Angka 85 80 75
Cara menuliskan Fungsi Dependensi - Nim - Nama Mhs - Nim, Nama Mhs – Nilai Angka - Nim, Nama Mk - Nilai Angka - Nama Mk – Nilai Angka (tidak terjadi fungtional dependency
Catatan: Atribut Key
Atribut Deskriptif Ketergantungan Fungsi (kf)
Normalisasi terbagi menjadi beberapa bentuk : 1. Bentuk Normal ke 1 (1NF) Sebuah tabel tidak boleh memiliki multy value atribute (atribut yang memiliki nilai banyak. Contoh : Tabel Jadwal Kuliah Kode_MK
Nama_MK
Basis Data, di susun oleh Kosidin
SKS Caturwulan Nama_Dosen
11
IF01
Basis Data I 3 4 Waktu Ruang Sabtu, 13.00 - 6.00 Gedung PGRI Minggu, 10.00 – 16.00 Gedung PGRI
Kosidin
Tabel Jadwal kuliah tersebut belum normal, karena di dalam tabel tersebut terdapat satu atribut yang bernilai banyak. Perlu dilakukan 1NF, menjadi: Tabek ke 1 Tabel Jadwal Kode_MK IF02
Nama_MK Basis Data
SKS Caturwulan 3 4
Nama_Dosen Kosidin
Tabel ke 2 Tabel Waktu Kode_MK IF01
Waktu Sabtu, 13.00 – 16.00 Minggu, 10.00 – 16.00
Ruang Gedung PGRI Gedung PGRI
2. Bentuk Normal ke 2 (2NF) Atribut dalam suatu tabel tidak boleh ketergantungan sebagian fungsi terhadap atribut key (primary key) Contoh : Tabel Nilai Kode_MK IF01 IF02
NIM 001 002
Nilai Nama_MHS A Ikok B Kaeza
Harus dilakukan 2NF, karena atribut Nama_MHS hanya tergantung pada satu primary key saja, yaitu : atribut Nim. Bentuk 2NF nya adalah: menjadi 2 tabel Tabel Nilai 1 Basis Data, di susun oleh Kosidin
12
Kode_MK NIM Nilai IF01 001 A IF02 002 B Tabel Nilai 2 NIM 001 002
Nama_MHS Ikok Kaeza
3. Btentuk Normal ke 3 (3NF) Muncul apabila ada ketergantungan atribut deskriptif kepada atribut yang bukan primary key (atribut kunci) Contoh : Tabel_MHS NIM Nama_MHS Alamat
Kota
Kode Pos
001
Bandung
40131
Ikok
Jl. Siliwangi Dalam III No. 5
Diuraikan menjadi: Tabel_MHS1 NIM 001
Nama_MHS Ikok
Alamat Jl. Siliwangi Dalam III No. 5
Tabel_MHS2 Kota Bandung
Basis Data, di susun oleh Kosidin
Kode Pos 40131
13