BASIS DATA Oleh Olivia E.S Liando, ST, M.Sc
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
BASIS DATA BASIS DATA Definisi Istilah 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
Konsep Basis Data Analogi ≈ Lemari Arsip Disk FILE MAP Basis Data 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 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 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 MK_02 B A11 A12 MK_03 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 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: 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 Yakni agar pengguna basis data bisa: 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
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.
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.
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).
SISTEM BASIS DATA Gambar Level Abstraksi Dalam DBMS View 1 View 2 Conceptual Schema Physical Schema Disk
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”
Cara representasi model data: Object-Based Logical Model (model logik berdasarkan objek) Record-Based Logical Model (model logik berdasarkan record)
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)
Record-Based Logical Model Model Hirarkis (Hierarchical Model) Model Jaringan (Network Model) Model Relasional (Relational Model)
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 = Atribut Derivatif = Identifying Relationship = Atribut ______ = Atribut Kunci = Atribut Multivalue
Tahap Pembuatan Entity Relationship Diagram 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: employee_ID, name, address, and Birthdate Represented with Oval/Ellipse shape Classifications of attributes: Simple vs Composite Attribute Single-Valued vs Multivalued Attribute Derived Attributes Identifier (key) Attributes name_ attributed
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. PEGAWAI Nama TglLahir Umur
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 nama_atribut_kunci 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 company work_on
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
Perancangan Basis Data secara Logika 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 :
Implementasi Basis Data Setiap entitas akan di implementasikan sebagai sebuah tabel (file data) Nama_mk KdMK MATAKULIAH TABEL MATA KULIAH SKS 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) Menghilangkan ketergantungan yang penentunya bukan kunci kandidat Bentuk Boyce-Codd (BCNF) Menghilangkan lebih dari satu depedensi bernilai ganda Bentuk Normal Keempat (4NF) Mengatasi depedensi gabungan Bentuk Normal Kelima (5NF)