BASIS DATA Oleh Olivia E.S Liando, ST, M.Sc 1 BASIS DATA Definisi Harfiah BASIS + DATA representasi dari fakta dunia yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Fakta-fakta yang dapat disimpan dan mempunyai arti tertentu / isi fakta. markas / tempat berkumpul / tempat bersarang / gudang BASIS DATA III/2013 2 BASIS DATA Definisi Istilah BASIS DATA DATA DATA DATA DATA Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan tertentu 3 Konsep Basis Data Analogi ≈ Lemari Arsip Disk MAP FILE Basis Data Lemari Arsip NIM Nama Alamat Tgl. Lahir 0400100252 Adi Jl. Akasia 12 Januari 1980 0400200144 Sandi Jl. Pulau Kawe 1 April 1981 0300100312 Heru Jl. Ahmad Yani 31 Juli 1980 Sistem Manajemen Basis Data : • Kumpulan program yang memungkinkan pengguna untuk membuat dan memelihara suatu basis data yang tersusun seefektif mungkin. Sistem Basis Data : Basis datanya dan sistem manajemen basis data Karakteristik BASIS DATA Informasi dari basis data juga disimpan pada sistem basis data, termasuk databasenya sendiri dan definisi lengkap dari database : ◦ Struktur setiap file ◦ Tipe dan format penyimpanan dari setiap item data ◦ Batasan-batasan yang diberikan pada data Konsep Dasar Basis Data 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 7 Konsep Dasar Basis Data 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 8 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 9 Komponen Sistem Basis Data 1. 2. 3. 4. 5. Perangkat keras (Hardware) Sistem Operasi (Operating System) Basis Data (Database) Aplikasi Pengelola Basis Data (DBMS) Pemakai (User) Hirarkis Data Bahasa DBMS Bahasa Basis Data dikelompokkan menjadi: 1. Data Definition Language (DDL) Struktur/skema basis data yang menggambarkan/ mewakili desain basis data secara keseluruhan. Dapat digunakan untuk membuat tabel baru, mengubah tabel, menentukan struktur penyimpanan tabel Hasil kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data (Data Dictionary) Bahasa DBMS Data Manipulation Language (DML) Merupakan bentuk bahasa basis data yang berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data Manipulasi dapat berupa : ◦ ◦ ◦ Penambahan/penyisipan data baru ke suatu basis data Penghapusan data dari suatu basis data Pengubahan data di suatu basis data SISTEM BASIS DATA Manfaat Basis Data • Kecepatan dan Kemudahan (Speed) Yakni agar pengguna basis data bisa: - menyimpan data - melakukan perubahan/manipulasi terhadap data - menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa (manual). • Efisiensi Ruang Penyimpanan (Space) Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan 14 SISTEM BASIS DATA Pemanfaatan Basis Data, Cont’d… • Keakuratan (Accuracy) Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb. • Ketersediaan (Availability) Agar data bisa diakses oleh setiap pengguna yang membutuhkan, dengan penerapan teknologi jaringan serta melakukan pemindahan/penghapusan data yang sudah tidak digunakan / kadaluwarsa untuk menghemat ruang penyimpanan. 15 SISTEM BASIS DATA Pemanfaatan Basis Data, Cont’d… • Kelengkapan (Completeness) Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru. • Keamanan (Security) Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan. 16 SISTEM BASIS DATA Pemanfaatan Basis Data, Cont’d… • Kebersamaan (Sharability) Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data). 17 SISTEM BASIS DATA Gambar Level Abstraksi Dalam DBMS View 1 View 2 View 3 Conceptual Schema Physical Schema Disk 18 Model Basis Data Definisi & Cara representasi Model data merupakan kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik (makna) data dan batasan data Model data merupakan suatu cara untuk menjelaskan tentang data-data yang tersimpan dalam basis data dan bagaimana hubungan antar data tersebut untuk para pemakai (User) secara logik. Model data lebih tepat -> “model data lojik” 20 1. 2. Cara representasi model data: Object-Based Logical Model (model logik berdasarkan objek) Record-Based Logical Model (model logik berdasarkan record) 21 Object-Based Logical Model Model keterhubungan entitas (Entity-Relationship Model) Model berorientasi Objek (Object-Oriented Model) Model data semantik (Semantic Data Model) Model data fungsional (Functional Data Model) 22 Record-Based Logical Model Model Hirarkis (Hierarchical Model) Model Jaringan (Network Model) Model Relasional (Relational Model) 23 ENTITY-RELATIONSHIP MODEL Entity-Relationship Diagram (ERD) Merupakan diagram yang menggambarkan hubungan (relationship) antar entitas (entity). Symbol E-R Diagram Symbol Keterangan Symbol Keterangan = Entity = Atribut Komposit = Weak Entity = Relationship = Identifying Relationship = Atribut ______ = Atribut Kunci = Atribut Multivalue = Atribut Derivatif Tahap Pembuatan Entity Relationship Diagram 1. 2. 3. 4. 5. 6. Mengidentifikasikan dan menetapkan seluruh himpunan entity yang akan terlibat. Menentukan atribut-atribut dari setiap entity. Menentukan atribut primary key dari setiap entity. Menentukan relationship antar entity. Menentukan atribut-atribut dari setiap relationship (jika ada). Menentukan Cardinality Ratio/Constraint. ENTITAS (ENTITY) Entity adalah obyek (individu yang mewakili sesuatu) yang dapat dibedakan dengan obyek yang lain dalam dunia nyata. Himpunan Entitas (Entity sets) adalah kumpulan dari entity yang sama atau sejenis. Simbol : persegi panjang nama_entity Contoh: Himpunan Entitas Mahasiswa ATRIBUT (ATTRIBUTES) Attributes – property or characteristic of an entity type Example: Attributes of entity of Employee include: name_ employee_ID, name, address, and Birthdate attributed Represented with Oval/Ellipse shape Classifications of attributes: - Simple vs Composite Attribute - Single-Valued vs Multivalued Attribute - Derived Attributes - Identifier (key) Attributes VALUE SET (Domain) dari Atribut : Kumpulan harga/nilai yang dapat dimiliki oleh atribut dari suatu entitas. Definisi domain dari suatu atribut akan mencakup : tipe data, panjang, format, nilai yang memingkinkan, keunikan dan kemungkinan data null. Contoh : ◦ Atribut nama pada entitas mahasiswa domainnya nama orang. ◦ Atribut nama pada entitas barang domainnya nama barang. Value set Entitas Mahasiswa NIM Nama Alamat Tgl. Lahir 98070001 Bambang Pamungkas Jl. Gejayan 12 A 12 Januari 1980 98070002 Kurniawan Jl. Kaliurang Km. 5.8 1 April 1981 98070003 Bima Sakti Jl. Magelang 47 31 Juli 1980 Macam-Macam Atribut Atribut sederhana/atomik (Simple Attribute) Atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih mendasar (atribut yang bernilai tunggal) Contoh : atribut Harga dari entity Barang. Atribut komposit (Composite Attribute) Atribut yang terdiri dari beberapa atribut yang lebih mendasar. Contoh : entity Pegawai memiliki atribut Nama yang terdiri dari nama depan (first name), nama tengah (middle name) dan nama belakang (last name). Macam-Macam Atribut (lanj) Atribut Bernilai Tunggal (Single-valued Attribute) Atribut yang hanya mempunyai satu harga/nilai untuk suatu entitas tertentu. Contoh: atribut TglLahir dari entity Pegawai Atribut Bernilai Ganda/Banyak (Multi-valued Attribute) atribut yang dapat terdiri dari sekumpulan nilai untuk suatu entitas tertentu. Contoh: atribut Gelar dari entity Pegawai dapat memiliki lebih dari satu nilai, yaitu: Sarjana, Master, Doktor, Professor, dll Macam-Macam Atribut (lanj) Derived Attribute (Atribut Derivatif ) Suatu atribut yang dihasilkan dari atribut lain (nilai atribut dapat diisi atau diturunkan dari perhitungan tertentu. Contoh : atribut Umur yang dapat dihasilkan (dihitung) dari atribut TglLahir. TglLahir Umur Nama PEGAWAI Atribut Kunci (Key/Identifier Attribute) Identifier unik dari suatu entitas karena nilai dari atribut kunci ini akan berbeda untuk masing-masing entitas – biasa disebut Primary Key. Simple Key vs Composite Key Dapat terdiri dari atribut kunci sederhana (simple key att.) atau kunci komposit (composite key att.) Contoh : ◦ id_mobil dari entitas Mobil att. kunci komposit (atribut id_mobil terdiri dari nomor_mobil dan tanggal) ◦ kode_mk dari entitas Mata Kuliah att. kunci sederhana Atribut Kunci (lanj) Foreign Key (kunci tamu) Suatu atribut dalam suatu entity yang menunjuk ke atribut primary key dari entity lain. Candidate Key (kunci calon) Sebuah atribut atau lebih yang secara unit mengidentifikasikan sebuah record, memiliki nilai unik disetiap record, dan berfungsi sebagai calon primery key. Contoh: kode_dosen dan NIP masing-masing bersifat unik, tidak ada yang sama atau bernilai null. Alternate Key (kunci alternatif) Candidate key yang tidak terpilih sebagai primery key. Contoh: jika kode_dosen dipilih sebagai primery key maka otomatis NIP menjadi alternate key-nya, begitu sebaliknya. Simbol-Simbol Atribut (Oval/Ellipse) nama_atribut nama_atribut nama_atribut_kunci nama_atribut nama_atribut_komposit nama_atribut bernilai ganda nama_atribut nama_atribut_derivatif nama_entity RELASI (RELATIONSHIP) Relationship adalah hubungan yang terjadi antara satu atau lebih entity. Contoh : an employee work_on a company. relationship : work_on. Simbol : wajik employee work_on company RELASI (RELATIONSHIP) Antara Mahasiswa Mengambil Mata_Kuliah, tentu ada Nilai yang dihasilkan. Dimanakah atribut Nilai ditempatkan? Attribute of Relationship Apa yang terjadi jika atribut Nilai ditempatkan pada entitas Mahasiswa? Apa yang terjadi jika atribut Nilai ditempatkan pada entitas Mata_Kuliah? Atribut Nilai harus ditempatkan pada relasi Mengambil, yang berarti seorang mahasiswa tertentu yang mengambil mata kuliah tertentu, akan mendapatkan nilai tertentu pula. Relasi dapat memiliki atribut, dimana terjadi adanya transaksi yang menghasilkan suatu nilai tertentu Degree of Relationship Degree of relationship is the number of entity types that participate in it. - Unary Relationship (Relasi Berderajat 1) - Binary Relationship (Relasi Berderajat 2) - Ternary Relationship (Relasi Berderajat 3) Relationship Degree Relationship Cardinality Cardinality Ratio Menjelaskan jumlah (rasio) keterhubungan satu entity dengan entity yang lainnya. - 1 : 1 (One – to – One) - 1 : N (One – to – Many) - N : 1 (Many – to – One) - M : N (Many – to – Many) Relationship Cardinality Strong vs. Weak Entities, and Identifying Relationship Strong entity - Exist independently of other types of entities - Has its own uniqe identifier - Represented with single-line rectangle Weak entity - Dependent on a strong entity ... cannot exist on its own - Does not have a unique identifier - Represented with double-line rectangle Identifying relationship - Links strong entities to weak entities - Represented with double line diamond Strong vs. Weak Entities, and Identifying Relationship MODEL RELASIONAL Perancangan Basis Data secara Logika Model Data Relasional Model Data Relasional menggambarkan data dalam bentuk tabel-tabel. Model Data Relasional mengandung 3 komponen inti : ◦ Struktur data, data diorganisasi dalam bentuk tabel-tabel ◦ Manipulasi data, menggunakan SQL ◦ Integritas data, untuk spesifikasi aturan bisnis Struktur data Relasional Relasi adalah tabel data dua dimensi Contoh : Karyawan(NIP, Nama, DeptNo, Gaji) Transformasi ER-Diagram ke Relasi Transformasi ER-D Dalam perancangan basis data secara logika, kita melakukan transformasi ER ke skema basis data relasional Pemetaan Entitas Entitas ditransformasi ke dalam aturan asosiasi Contoh : NOPelanggan Nama Alamat Pelanggan NOPelanggan Nama Alamat Setiap entitas akan di implementasikan sebagai sebuah tabel (file data) Nama_mk KdMK MATAKULIAH SKS TABEL MATA KULIAH semester 52 normalisasi Salah satu langkah perancangan logis Proses yang digunakan untuk menentukan pengelompokan atribut-atribut dalam sebuah relasi sehingga diperoleh relasi yang berstruktur baik. Format dari bentuk normal Normalisasi menghilangkan duplikasi dan meminimalkan redundansi data.(redundansi data : data disimpan berkali-kali, istilah lain untuk duplikasi) Hasil: pengorganisasian yang lebih baik dan pemakaian space fisik lebih efektif Langkah-langkah dalam normalisasi Bentuk tidak ternormalisasi Menghilangkan atribut ganda Bentuk Normal Pertama (1NF) Menghilangkan depedensi parsial Bentuk Normal Kedua (2NF) Menghilangkan depedensi transitif Bentuk Normal Ketiga (3NF) Bentuk BoyceCodd (BCNF) Menghilangkan ketergantungan yang penentunya bukan kunci kandidat Menghilangkan lebih dari satu depedensi bernilai ganda Bentuk Normal Keempat (4NF) Mengatasi depedensi gabungan Bentuk Normal Kelima (5NF)