Pengantar Sistem Basis Data 1 Pendahuluan Pentingnya Data dalam Sistem Informasi Sistem Informasi adalah pengelolaan Data, Orang/Pengguna, Proses dan Teknologi Informasi yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi. (Jeffery L. Whitten dkk, 2004 ) 2 Input-Proses-Ouput Data Formulir Input Data Proses Informasi 3 Apa itu Basis Data ? Basis Data, adalah mekanisme yang digunakan untuk menyimpan informasi atau data. Informasi adalah sesuatu yang kita gunakan sehari-hari untuk berbagai alasan. (Stephens dan Plew ;2000), Dengan basisdata pengguna dapat menyimpan data secara terorganisasi. Setelah data disimpan, informasi harus mudah diambil. Cara data disimpan dalam basisdata menentukan seberapa mudah mencari informasi berdasarkan banyak kriteria. Data pun harus mudah ditambahkan ke dalam basisdata, dimodifikasi, dan dihapus. 4 Konsep Dasar Basis Data Apa itu Basis Data ? Silberschatz, dkk (2002), mendefinisikan basisdata sebagai kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan. Menurut Mc Leod, dkk (2001), basisdata adalah kumpulan seluruh sumber daya berbasis komputer milik organisasi. 5 Konsep Dasar Basis Data Apa itu Basis Data ? Ramakrishnan dan Gehrke (2003), menyatakan basisdata sebagai kumpulan data, umumnya mendiskripsikan aktivitas satu organisasi atau lebih yang berhubungan. Misalnya, basisdata universitas mungkin berisi informasi mengenai hal berikut : Hubungan antar entitas seperti registrasi mahasiswa dalam matakuliah, fakultas yang mengajarkan matakuliah dan pengguna ruang kuliah. Entitas seperti mahasiswa, fakultas, mata kuliah, dan ruang kuliah. 6 Berbagai Definisi Basis Data Silberschatz, dkk (2002), Stephens dan Plew ;2000 -Kumpulan data berupa Informasi -Menyimpan Informasi dan data Mc Leod, dkk (2001), Ramakrishnan dan Gehrke (2003) - kumpulan seluruh sumber daya berbasis komputer Definisi Basis Data -Kumpulan data yg mendiskripsikan aktivitas 7 Apa Itu Basis Data file1 file2 file4 file3 8 Konsep Dasar Basis Data Apa itu Basis Data ? Kesimpulan : Basis data didefinisikan sebagai sekumpulan data yang saling berhubungan, disimpan dengan minimum redundansi untuk melayani banyak aplikasi secara optimal. 9 Konsep Dasar Basis Data Basis Data VS Pemrosesan File Tradisonal Pemrosesan File Tradisional Pemrosesan data diperlukan untuk mengolah data menjadi informasi. Integrasi informasi dapat menjadikan informasi menjadi lengkap dan relevan, sehingga dapat memberikan manfaat yang optimal. Secara tradisional atau konvensional, kegiatan pemrosesan data suatu aplikasi dilaksanakan oleh bagian yang terkait dengan aplikasi tersebut. 10 Konsep Dasar Basis Data Pemrosesan File Tradisional Suatu aplikasi terdiri atas sekumpulan program aplikasi, file data, dan prosedur yang mengerjakan suatu proses atau fungsi Setiap program aplikasi di dalam suatu lingkungan pemrosesan file tradisional, khusus beroperasi pada file data yang dibuat specifik untuk aplikasi itu Antar file data (di dalam satu aplikasi atau antar aplikasi) tidak ada hubungan, dan pada umumnya data didefinisikan dan disusun dengan cara yang berbeda untuk setiap aplikasi 11 Konsep Dasar Basis Data Pemrosesan File Tradisional A plikasi A kademik A plikasi Keuangan A plikasi A lumni File Data A kademik File Data Keuangan File Data A lumni Kenyataan ini membuat sulit dilakukannya integrasi data Dengan karakteristik sebagaimana telah disebutkan, terdapat sejumlah keterbatasan yang menyebabkan beaya pemrosesan menjadi mahal dan meningkatkan kemungkinan terjadinya kesalahan. 12 Konsep Dasar Basis Data Pemrosesan File Tradisional Keterbatasan tersebut adalah: Data menjadi terpisah dan terisolasi, karena antar file data tidak terhubung. Munculnya redundansi data, yang tidak dapat dihindarkan karena setiap aplikasi mempunyai file data sendiri-sendiri. Berpotensi terjadinya inkonsistensi data, yaitu jika dilakukan modifikasi data di suatu file akan tetapi di file yang lain (yang berisi data yang sama dengan data yang dimodifikasi) tidak dilakukan hal yang sama. 13 Konsep Dasar Basis Data Pemrosesan File Tradisional Munculnya data yang membingungkan (data confusion), yaitu apabila data yang sama disajikan dengan terminologi yang berbeda. Program aplikasi tergantung pada format file (program-data-dependence), yaitu kapan saja format data berubah maka seluruh program yang menggunakan data tersebut harus dimodifikasi. Sulit untuk menyajikan objek data yang komplek. 14 Konsep Dasar Basis Data Kesimpulan : Dengan keterbatasan-keterbatasan tersebut, pemrosesan file tradisional kurang mempunyai keluwesan dan tidak mendukung pemakaian data bersama (data sharing). Hal ini menyebabkan tidak dapat dilakukannya pertukaran data antar aplikasi, dan sering terjadi terpaksa harus dilakukan pengetikan ulang data dari satu aplikasi ke aplikasi yang lain. Sehingga untuk mengatasinya, dikenalkan konsep baru yang disebut basis data. 15 Basis Data Basis data didefinisikan sebagai sekumpulan data yang saling berhubungan, disimpan dengan minimum redundansi untuk melayani banyak aplikasi secara optimal. Redundansi (Kelebihan) : Penyimpanan data yang sama secara berulang Jika data yang diperoleh dari data lain disimpan tersendiri Data yang sama disimpan dalam banyak table yang berbeda 16 Konsep Dasar Basis Data Redundansi 1. Penyimpanan data yang sama secara berulang NIM KODE_MK SKS NILAI A10 MK_01 3 A A10 MK_02 2 B A11 MK_01 3 A A12 MK_01 3 A A12 MK_02 2 B A12 MK_03 3 B Terjadi pengulangan penulisan pasangan KODE_MK dan SKS yang sama. Misalnya untuk MK_01 (ditulis 3 kali), dan MK_02 (ditulis 2 kali) 17 Konsep Dasar Basis Data Redundansi Duplikasi data NIM KODE_MK NILAI A10 MK_01 A A10 MK_02 B A11 MK_01 A A12 MK_01 A A12 MK_02 B A12 MK_03 B Duplikasi terjadi karena penulisan KODE_MK untuk MK_01 dan MK_02, yang berturut-turut diulang sebanyak 3 dan 2 kali. Duplikasi penulisan seringkali tidak dapat dihindarkan dalam penyimpanan data 18 Konsep Dasar Basis Data Redundansi 2. Penyimpanan data yang dapat diperoleh dari data lain NIM NIP_WALI NIP_WALI NAMA_WALI A10 ADN_011 ADN_011 MAX A11 AND_012 AND_012 ROBERT Tabel a) Tabel b) NAMA_WALI TELP_WALI NIM TELP_WALI MAX (024)001 A10 (024)001 ROBERT (024)002 A11 (024)002 Tabel c) Tabel d) 19 Konsep Dasar Basis Data Redundansi Dengan mengamati keempat tabel di atas, ternyata Tabel d) berisi data yang dapat diperoleh dari tabel lain, yaitu dengan menghubungkan Tabel a), b), dan c). Dengan demikian untuk menghilangkan redundansi, Tabel d) perlu dihilangkan. 20 Konsep Dasar Basis Data Redundansi 3. Data yg sama disimpan dalam banyak table yg berbeda Nim Nama_Mhs Kd_MK Nm_MK SKS A10 MAX MK_01 Pancasila 2 A11 ROBERT MK_02 Agama 2 Tabel Mahasiswa Tabel Matakuliah Nim Nama_Mhs Kd_MK Nm_MK SKS Nilai A10 MAX Pancasila 2 MK_01 A A11 ROBERT Agama 2 MK_02 B Tabel Nilai 21 Konsep Dasar Basis Data Redundansi Dengan mengamati ke tiga table diatas, terdapat redundansi, yaitu atribut(data) Nama_mhs, Nm_MK dan SKS tersimpan pada beberapa table yang berbeda. Hal ini harus dihindari dengan jalan menghilangkan atribut Nama_mhs, Nm_MK dan SKS pada table Nilai 22 Konsep Dasar Basis Data Akibat redundansi (kelebihan) : Redundansi menyebabkan masalah pada waktu memperbarui (update) data, ruang penyimpanan yang boros, dan dapat menimbulkan tidak konsistennya data. Untuk membuat suatu basis data yang memberikan manfaat optimal, suatu inventory data harus dibuat, data dan informasi yang diperlukan harus dianalisa, file basis data yang diperlukan harus dirancang, dan prosedur untuk memelihara basis data harus diadakan 23 Konsep Dasar Basis Data Keunggulan Penggunaan Basis Data Tujuan awal dan utama dalam pengelolaan data dalam sebuah basis data adalah agar kita dapat memperoleh/menemukan kembali data dengan mudah dan cepat Di dalam penggunaan basis data, terdapat suatu tempat penyimpanan data tunggal yang dikelola Data tersebut didefinisikan sekali dan kemudian diakses oleh bermacam pengguna dan aplikasi Penggunaan basis data memberikan sejumlah keunggulan potensial dibandingkan dengan pemrosesan file tradisional 24 Konsep Dasar Basis Data Keunggulan Penggunaan Basis Data yaitu : 1. Kecepatan, Kemudahan dan Efisiensi Ruang Penyimpanan 2. Redundansi data minimum 3. Konsistensi data 4. Integrasi data 5. Pemakaian data bersama 6. Menjalankan pembakuan 25 Konsep Dasar Basis Data Keunggulan Penggunaan Basis Data yaitu : 7. Mempermudah pengembangan aplikasi 8. Menyediakan antarmuka banyak pengguna 9. Menggambarkan relasi komplek diantara data 10.Menjalankan batasan keutuhan (integrity) 11.Menyediakan backup dan pemulihan (recovery ) 26 Konsep Dasar Basis Data Resiko Pendekatan Basis Data 1. Spesialisasi baru 2. Perlunya biaya awal (start-up cost) 3. Perlunya konversi data 4. Perlunya backup 5. Meningkatnya kompleksitas data 6. Data mudah diserang (vulnerable) 7. Gangguan dengan adanya data bersama 8. Konflik organisasi 27 ISTILAH DASAR Character merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus (special characters) yang membentuk suatu item data / field. 28 ISTILAH DASAR Field merepresentasikan suatu atribut dari record yang menunjukkan suatu item dari data, seperti misalnya nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record. field name harus diberi nama untuk membedakan field yang satu dengan lainnya 29 ISTILAH DASAR • Field representation tipe field (karakter, teks, tanggal, angka, dsb), lebar field (ruang maksimum yang dapat diisi dengan karakter-karakter data). field value isi dari field untuk masing-masing record. 30 ISTILAH DASAR • Record Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap record dapat mewakili data tiap karyawan. 31 ISTILAH DASAR • File File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran yang ada. 32 Konsep Dasar • Key – Elemen Record yang dipakai untuk menemukan Record tersebut pada waktu akses – Jenis-jenis key: • • • • • • Primary key Secondary key Candidate key Alternate key Composite key Foreign key 33 Istilah Dasar – Primary key • Field yang mengidentifikasikan sebuah record dalam file • Bersifat unik Primari Key NIM 0222500250 0222300023 0144500024 NAMA TUTI WATI ALE UMUR 21 20 24 34 Istilah Dasar – Secondary key • Field yang mengidentifikasikan sebuah record dalam file • Tidak bersifat unik NIM 0222500250 0222300023 0144500024 NAMA TUTI WATI ALE UMUR 21 20 24 Secondary Key 35 Istilah Dasar – Candidate key • Field-field yang bisa dipilih (dipakai) menjadi primary key NIM 0222500250 0222300023 0144500024 NAMA TUTI WATI ALE NO_KWIT 789 254 365 JUMLAH 50000 60000 80000 Candicate key 36 Istilah Dasar – Composite key • Primary key yang dibentuk dari beberapa field HARI SELASA SELASA SELASA RUANG 322 321 333 MATA KULIAH LOGIKA MATEMATIKA PANCASILA KEWARGANEGARAAN Composite key 37 Istilah Dasar – Foreign key • Field yang bukan key, tetapi adalah key pada file yang lain. KD_DOSEN D232 D453 D812 NAMA Warsono, Drs R. Faisal Tri Darmadi Foreign key Primary key KD_MK N18 P25 K1A MATAKULIAH MANAJEMEN PASCAL INTERNET SKS 2 4 2 KD_DOSEN D231 D453 - 38 Istilah Dasar • Berdasarkan Model operasi : – Create Pembuatan berkas dengan cara membuat struktur berkas lebih dahulu, kemudian record-record dimuat ke dalam berkas tersebut – Up-date Pengubahan isi dari berkas diperlukan untuk menjaga berkas tetap up to date (diperbaharui) Ada 3 bagian dalam proses up date : – Insert/Penyisipan atau penambahan record – Modify/Perbaikan field – Delete/Penghapusan record 39 • Istilah Dasar Retrieval Pengaksesan sebuah berkas untuk tujuan mendapatkan informasi Menurut ada tidaknya persyaratan, retrieval dibagi menjadi • Comprehensive retrieval Proses untuk mendapatkan informasi dari semua record dalam berkas – • Misal : display all, list nama alamat Selective retrieval Mendapatkan informasi dari record-record tertentu berdasarkan persyaratan tertentu – Misal : list for program studi == ‘TI’ 40 Normalisasi 41 Tujuan Pembelajaran 1. 2. 3. 4. 5. 6. 7. Memahami pentingnya normalisasi. Memahami normalisasi bentuk pertama (1NF). Memahami aturan pembuatan normalisasi 1NF. Memahami normalisasi bentuk kedua (2NF) Memahami aturan normalisasi 2NF Memahami normalisasi bentuk ketiga (3NF) Memahami normalisasi Boyce-Codd Normal Form (BCNF) 42 Pentingnya Normalisasi Karena adanya struktur database yang kurang bagus Data yang sama tersimpan di beberapa tempat (file atau record) Ketidakmampuan untuk menghasilkan informasi tertentu Terjadi kehilangan informasi Terjadi adanya redundansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data Adanya NULL VALUE 43 Tujuan Normalisasi • Tujuan normalisasi adalah menyempurnakan struktur table menjadi lebih baik • Bentuk normalisasi yang sering digunakan adalah 1st NF, 2nd NF, 3rd NF, dan BCNF 44 FUNCTIONAL DEPENDENCY (FD) • Untuk melakukan normalisasi, harus bisa menentukan terlebih dahulu Functional Dependency (FD) atau Ketergantungan Fungsional, khususnya dalam melakukan dekomposisi rancangan database. • Functional Dependency (FD) dapat disimbolkan dengan: A B : artinya B memiliki ketergantungan dengan A • Berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A. 45 FUNCTIONAL DEPENDENCY (FD) • Contoh: Functional Dependency: • NRP Nama • Mata_Kuliah, NRP Nilai Non Functional Dependency: • Mata_Kuliah NRP • NRP Nilai 46 NORMALISASI 1NF 1st Normal Form (1NF) • Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal (1NF). • Suatu relasi R disebut 1st NF jika dan hanya jika kondisi tablenya dari unnormalized dirubah ke bentuk normal dengan kondisi semua attribute value-nya harus atomic (tidak boleh ada attribute yang composit / multivalue) 47 Unnormalized table (tabel tidak normal) Suatu tabel dikatakan unnormalized jika : a) Mempunyai penggandaan field yang sejenis Contoh : Tabel dibawah adalah tabel siswa mengambil mata kuliah SISWA b) Elemen datanya memungkinkan untuk null value (kosong) Contoh : Tabel yang mencatat No. SIM yang dimiliki siswa SISWA_SIM 48 Tabel dalam bentuk normal 1NF, jika … • Suatu tabel dikatakan berada pada bentuk normal I jika ia tidak berada pada bentuk unnormalized table, dimana terjadi penggandaan field yang sejenis dan memungkinkan ada field yang null (kosong) SISWA SIM 49 NORMALISASI 2NF 2st Normal Form (2NF) • Normalisasi 2NF: jika tabel berada dalam bentuk Normal Pertama (1NF) dan setiap atribut bukan kunci bergantung penuh pada kunci primer. • Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer. 50 Syarat 2st Normal Form (2NF) Syarat 2st Normal Form (2NF): • Memenuhi kriteria tabel Normal I (1NF) • Di dalam tabel tersebut tidak ada Redundansi / Pengulangan data dan Null Value. • Field-field yang bukan PK adalah Full Dependent (bergantung penuh) pada PK. 51 Contoh 2NF: • Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi) • Bentuk Normal II (2NF) : (Decompose) 52 Ilustrasi 2NF • Suatu format tabel Normal I (1NF) : (menghilangkan Redundansi) • Bentuk Normal II (2NF) : (Decompose) 53 NORMALISASI 3NF 3rd Normal Form (3NF) • Suatu relasi R disebut normal III (3rd NF) jika berada dalam bentuk normal II (2nd NF) dan tidak dijumpai adanya ketergantungan transitif (Transitive Dependency). • Kebergantungan Transitif (Transitive Dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci). 54 Syarat 3NF Syarat 3NF: • Harus berada dalam bentuk normal II (2NF). • Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency (ketergantungan secara transitif). 55 Contoh 3NF: • Bentuk Normal ke Dua (2NF) : Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field Nama dan Nilai adalah Full-Dependent terhadap NRP yang bertindak sebagai PK. Berbeda dengan field Keterangan di atas yang Dependent kepada NRP akan tetapi Tidak Mutlak. Ia lebih dekat • Bentuk Normal ke Tiga (3NF) : ketergantungannya dengan field Nilai. Karena field Nilai Dependent kepada NRP dan field Keterangan Dependent kepada Nilai, maka field Keterangan juga dependent kepada NRP. Ketergantungan yang demikian ini yang dinamakan Transitive-Dependent (dependent secara transitif atau samar/tidak langsung). Untuk itu dilakukan Normalisasi III (3NF). 56 Boyce-Codd Normal Form (BCNF) • Secara praktis, tujuan rancangan database adalah cukup sampai pada 3NF. Akan tetapi untuk kasus-kasus tertentu kita bisa mendapatkan rancangan yang lebih baik lagi apabila bisa mencapai ke BCNF. • BCNF ditemukan oleh: R.F. Boyce dan E.F. Codd • Suatu relasi R dikatakan dalam bentuk BCNF: jika dan hanya jika setiap Atribut Kunci (Key) pada suatu relasi adalah Kunci Kandidat (Candidate Key). • Kunci Kandidat (Candidate Key) adalah atribut-atribut dari entitas yang mungkin dapat digunakan sebagai kunci (key) atribut. • BCNF hampir sama dengan 3NF, dengan kata lain setiap BCNF adalah 3NF. 57 Contoh BCNF • Normal II (2NF) : • Normal III (3NF) atau BCNF 58 Implementasi Basis Data 59 Implementasi basis data • Merupakan upaya membangun basis data fisik yang ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS • Diawali dengan melakukan transformasi model data ke skema/struktur basis data • Diagram E-R ditransformasi ke basis data secara fisik • Himpunan entitas dan relasi ditransformasi ke tabel-tabel (file-file data) • Atribut-atribut dari himpunan entitas dan relasi ditransformasi ke field-field dari tabel yang sesuai 60 Transformasi model data ke basis data fisik • • • • • • • Transformasi umum/dasar Implementasi himpunan entitas lemah dan sub entitas Implementasi relasi tunggal (unary relation) Implementasi relasi multi entitas (N-ary relation) Implementasi relasi ganda (redundant relation) Implementasi spesialisasi dan generalisasi Implementasi agregasi 61 61 Transformasi umum/dasar Tabel Mahasiswa nim nama_mhs nim nama_mhs alamat_mhs tgl_lahir Mahasiswa alamat_mhs tgl_lahir Transformasi himpunan entitas dan atribut ke basis data fisik 62 62 Transformasi umum/dasar kode_dos alamat_dos kode_dos 1 Jurusan field yang ditambahkan dari relasi “mengepalai” nama_dos Tabel Dosen kode_dos nama_jur 1 mengepalai Dosen kode_jur kode_jur Tabel Jurusan nama_dos alamat_dos kode_jur nama_jur kode_dos Transformasi relasi satu ke satu ke basis data fisik 63 63 Kode_dos Nama_dos Alamat_dos 01 Agus 02 Khamidinal 03 Fikri Kode_jur Nama_jur Kode_dos 65 TIF 01 67 KIMIA 02 68 FISIKA 03 64 Kode_dos Nama_dos Alamat_dos 01 Agus 65 02 Khamidinal 67 03 Fikri 68 04 Nurochman 05 Didik Kode_jur Nama_jur 65 TIF 67 KIMIA 68 FISIKA Kode_jur 65 Transformasi umum/dasar nama_dos kode_dos kode_dos 1 waktu Tabel Dosen kode_dos Tabel Kuliah nama_dos alamat_dos kode_kul nama_kul N mengajar Dosen alamat_dos kode_kul kode_kul Kuliah tempat sks semester field yang ditambahkan dari relasi “mengajar” nama_kul sks semester kode_dos tempat waktu Transformasi relasi satu ke banyak ke basis data fisik 66 66 Kode_dos Kode_kul Nama Nama Alamat Sks Kode-kul Tempat Waktu semester 67 67 Transformasi umum/dasar nim nama_mhs N alamat_mhs tgl_lahir nama_kul N mempelajari Mahasiswa kode_kul kode_kul nim Kuliah indeks_nilai sks semester Tabel khusus yang mewakili himpunan relasi Tabel Mahasiswa nim nama_mhs Tabel mempelajari/tabel nilai alamat_mhs tgl_lahir nim Kode_kul Indeks_nilai Tabel Kuliah Kode_kul nama_kul sks semester Transformasi relasi banyak ke banyak ke basis data fisik 68 68