model data - basis data

54
PENGANTAR BASIS DATA Lamhot Sitorus, M.Kom Fakultas Ilmu Komputer Universitas Methodist Indonesia

Upload: ardy-arts

Post on 01-Jan-2016

113 views

Category:

Documents


9 download

DESCRIPTION

Basis Data, Model Data

TRANSCRIPT

SISTEM BASIS DATA

PENGANTAR BASIS DATALamhot Sitorus, M.Kom

Fakultas Ilmu KomputerUniversitas Methodist Indonesia

Model DataKumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantic (makna) data dan batasan data

Yang akan ditunjukkan adalah makna dari data dan keterhubungannya dengan data yang lain, maka model Data ini lebih tepat disebut Model Data Lojik2Model DataModel Data Lojik berdasarkan Objek (Object Based Logical Model) yang terdiri dari :Model Keterhubungan Entitas (Entity Relationship Model)Model Berorientasi Objek (Object Oriented Model)Model Data Semantik (Semantic Data Model)Model Data Fungsional (Functional Data Model)

3Model DataModel Data Lojik berdasarkan Record (Record Based Logical Model) yang terdiri dari :Model Relasional (Relational Model)Model Hirarki (Hierarchical Model)Model Jaringan (Network Model)4Model DataModel Relasional adalah model data yang paling popular digunakan dalam perancangan data

Model Berorientasi Objek yang banyak digunakan dalam Pemrograman Berorientasi Objek.5Model Relasional ( Relational Model)menggunakan kumpulan tabel-tabel untuk merepresentasikan data & relasi antar data-data tersebut.

Setiap tabel terdiri atas kolom-kolom, dan setiap kolom mempunyai nama yang unik6Model Relasional ( Relational Model)

7Model Jaringan (Network Model )Data direpresentasikan dengan kumpulan record dan relasi diantaranya direpresentasikan dengan links8Model Jaringan (Network Model )

9Model Jaringan (Network Model )type customer = recordcustomer_name : string;customer_street : string;customer_city : string; end

type account = recordaccount_number : string; balance : integer; end

10Model Hirarki (Hirarchical Model)Mirip dengan model jaringan.Data direpresentasikan dalam record dan link. Perbedaannya adalah, record-record diorganisasikan sebagai tree (pohon) daripada graf. Model relasional berbeda dengan model jaringan & hirarki, dalam hal penggunaan pointer atau link.

11Model Hirarki (Hirarchical Model)

12Komponen Sistem basisdataSistem Basis dataFile / TabelBasis dataRecord / BarisData Item / FieldByteBitGambar Komponen Utama Sistem Basis Data13Komponen Sistem basisdataBit adalah suatu system angka biner yang terdiri atas dua nilai saja, yaitu 0 dan 1. Byte adalah bagian terkecil yang dapat dialamatkan dalam memori. Byte merupakan sekumpulan bit yang secara konvensional terdiri atas kombinasi delapan bit. Satu byte digunakan untuk mengkodekan satu buah character dalam memoriData Item adalah unit terkecil yang disebut data item yaitu sekumpulan byte / character yang mempunyai maknaRecord adalah sekumpulan data item data yang saling berhubungan dengan suatu objek tertentu14Komponen Sistem basisdataFile adalah sekumpulan record sejenis secara relasi, merupakan sekumpulan data item yang berhubungan dengan suatu objek tertentuBasis Data disebut pula sebagai koleksi data atau pustaka data atau library, adalah sekumpulan dari bermacam-macam tipe record yang mempunyai hubungan antar record terhadap suatu objek tertentuSistem Basis Data adalah sekumpulan Basis Data dalam suatu system yang mungkin tidak berhubungan satu sama lain, namun secara sederhana, system basis data adalah tersusun dari banyak file.

15Pada Model Entity-Relationship, dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data yang umum disebut dengan Diagram Entity-Relationship (Diagram E-R). Dalam menggambarkan Diagram E-R ada beberapa komponen-komponen pembentuk Model Entity-Relationship. Komponen utama pembentuk Model Entity-Relatinship, yaitu Entitas (Entity) dan Relasi (Relation).

16Entitas (Entity) dan Himpunan Entitas (Entity Set)Entitas merupakan individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Contoh : Mobil, Sepeda Motor dan lain-lain. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan Entitas (entity set). Himpunan entitas juga sering disebut hanya dengan Entitas saja.

17Entitas (Entity) dan Himpunan Entitas (Entity Set)Contoh-contoh himpunan entitas :Semua Pelanggan, atau Pelanggan saja dengan entitas Budiman, Suherman, Aminah dan seterusnyaSemua Mobil, atau Mobil saja dengan entitas mobil Honda, mobil Suzuki, mobil Toyota dan seterusnyaSemua Mahasiswa atau Mahasiswa saja dengan entitas Ali, Budiman, Iman dan seterusnya

18Atribut (Attributes / Properties)Setiap entitas pasti memiliki Atribut

Mendeskripsikan karakteristik (property) dari entitas

Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal yang penting dalam pembentukan model data.

Penetapan atribut bagi sebuah entitas umumnya didasarkan pada fakta yang ada. 19Atribut (Attributes / Properties)Tetapi tidak selalu seperti itu, karena pada saat proses normalisasi akan ada sejumlah atribut yang harus ditambahkan.

Yang relevan untuk lebih diperhatikan dalam pembuatan model E-R adalah kedudukan atribut dalam entitas.

Kita harus dapat membedakan mana atribut yang berfungsi sebagai kunci Primer (Primary Key) dan mana yang bukan (atribut deskriptif).20Atribut (Attributes / Properties)Contoh :Himpunana Entitas Mahasiswa Atribut NIM merupakan key, Atribut-atribut lainnya merupakan atribut deskriptif (Nama, alamat, Tgl_Lahir)Kumpulan atribut Kode_jenis_barang dan no_barang merupakan key untuk himpunan entitas Barang

21Atribut (Attributes / Properties)Pada dasarnya key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data (row) dalam tabel secara unik.

Artinya, jika suatu atribut dijadikan sebagai key, maka tidak boleh ada dua atau lebih data dengan nilai yang sama untuk atribut tersebut22Atribut (Attributes / Properties)UMI (Malam 6/10/11)Atribut kunci Super KeyCandidate KeyPrimary KeyAlternative KeyForeign Key23Atribut (Attributes / Properties)Super Key, satu atau lebih atribut yang dapat membedakan setiap baris data dalam sebuah tabel secara unik.Dalam entitas Mahasiswa (Nim, Nama, Alamat, Tgl_Lahir), super key adalah :Nim, Nama, Alamat, Tgl_LahirNim, Nama, Alamat Nim, Nama Nama, jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini.Nim

24Atribut (Attributes / Properties)Candidate Key, kumpulan atribut minimal yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah candidate key tidak boleh berisi atribut atau kumpulan atribut yang telah menjadi Super Key yang lain. Jadi, sebuah Candidate Key pastilah Super Key, tetapi belum tentu sebaliknya. Dalam Tabel Mahasiswa, Candidate Key adalah :NimNama, jika kita bisa menjamin tidak ada nilai yang sama untuk atribut ini.

25Atribut (Attributes / Properties)Primary Key, salah satu dari candidate key yang dipilih untuk mengidentifikasikan baris secara unik dalam entitas. Pemilihan Candidate Key menjadi sebuah Primary Key umumnya didasari oleh :Key tersebut lebih sering untuk dijadikan sebagai acuanKey tersebut lebih ringkasJaminan keunikan Key tersebut lebih baik

26Atribut (Attributes / Properties)Alternative Key, Candidate key yang tidak terpilih sebagai primary key atau atribut untuk menggantikan kunci utama.

Foreign Key, atribut dengan domain yang sama yang menjadi kunci utama sebuah relasi, tetapi pada relasi lain atribut hanya sebagai atribut biasa.

27Atribut (Attributes / Properties)Terdapat beberapa jenis atribut, yaitu :Simple Atribut, adalah atribut atomic yang tidak dapat dipilah lagi. Contoh Nama, Umur.Composite Atribut, adalah atribut yang masih dapat diuraikan lagi menjadi sub-sub atribut yang masing-masing memiliki makna. Contoh Alamat, NamaSingle value Atribut, adalah atribut-atribut yang memiliki paling banyak satu nilai untuk setiap baris. Contoh : Nama, Nim, Alamat, Umur.28Atribut (Attributes / Properties)Multi value Atribut, atribut-atribut yang dapat memiliki banyak nilai. Contoh : Pendidikan, Hobby.Mandatory Attribut, adalah atribut-atribut yang harus memiliki nilai, jadi tidak boleh kosong. Contoh : Nim, NamaNull value Atribut, adalah atribut yang tidak memiliki nilaiDerived Atrribut, adalah atribut-atribut yang nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut atau tabel lain yang berhubungan. Atribut demikian sebenarnya dapat diabaikan dari sebuah tabel, karena nilai-nilainya bergantung pada nilai yang ada di atribut lainnya29Relasi (Relationship)Relasi menunjukkan adanya hubungan diantara sejumlah record yang berasal dari entitas entitas yang berbeda.

Mahasiswa Mengambil / Mengikuti / Mempelajari Mata Kuliah

Kumpulan semua relasi di antara entitas-entitas Himpunan Relasi (Relationship sets).

Himpunan relasi sering disebut juga hanya Relasi saja30Domain dan Tipe DataTipe data pada setiap atribut (kolom) untuk keperluan penentuan struktur setiap tabel.

Penetapan Tipe Data ini akan berimplikasi pada adanya batas-batas nilai yang mungkin disimpan/diisikan ke setiap atribut (kolom)

Integer -32768 hingga 32767

Kita tidak mungkin untuk memasukkan data di luar batas nilai tersebut, data pecahan apalagi data yang berupa string (kumpulan huruf)

31Domain dan Tipe DataDomain memiliki banyak kesamaan pengertian dengan fungsi Type Data

Tipe Data lebih merujuk pada kemampuan penyimpanan data yang mungkin bagi suatu atribut secara fisik, tanpa melihat layak / tidaknya data tersebut bila dilihat dari kenyataan pemakaiannya.

Domain nilai lebih ditekankan pada batas-batas nilai yang diperbolehkan bagi suatu atribut

Tabel Kuliah misalnya Tipe Data atribut sks adalah integer. Secara fisik kita dapat saja menyimpan nilai -1, 0 atau 100, tetapi Dari kenyataan yang ada nilai yang layak (valid) untuk atribut sks adalah 1, 2, 3, 4 atau 6.

32Domain dan Tipe DataPada saat perancangan basis data tengah dilakukan, yang perlu kita lihat dan pertimbangkan adalah Domain nilai dari setiap atribut. Penetapan Tipe Data bagi suatu atribut baru akan relavan dan penting untuk diperhitungkan pada saat implementasi basis data33Kardinalitas / Derajat RelasiKardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lainnya.

Kardinalitas Relasi merujuk kepada hubungan maksimum yang terjadi dari entitas yang satu ke entitas yang lainnya dan begitu juga sebaliknya. 34Kardinalitas / Derajat RelasiSatu ke Satu (One to One)Setiap record pada Entitas A berhubungan dengan paling banyak satu record pada entitas B, dan begitu juga sebaliknya setiap record pada entitas B berhubungan dengan paling banyak dengan satu record pada entitas AWXYZKLMNABGambar Kardinalitas Relasi Satu ke Satu

35Kardinalitas / Derajat RelasiSatu ke Banyak (One to Many)Setiap record pada Entitas A dapat berhubungan dengan banyak record pada entitas B, tetapi sebaliknya, dimana setiap record pada entitas B berhubungan dengan paling banyak dengan satu record pada entitas AWXZKLMNOABGambar Kardinalitas Relasi Satu ke Banyak

36Kardinalitas / Derajat RelasiBanyak ke Satu (Many to One)Setiap record pada Entitas A berhubungan dengan paling banyak dengan satu record pada entitas B, tetapi tidak sebaliknya, dimana setiap record pada entitas B dapat berhubungan dengan lebih dari satu record pada entitas A.VWXYZ

K M OABGambar Kardinalitas Relasi Banyak ke Satu

37Kardinalitas / Derajat RelasiBanyak ke Banyak (Many to Many)Setiap record pada Entitas A dapat berhubungan dengan banyak record pada entitas B, dan demikian sebaliknya, dimana setiap record pada entitas B dapat berhubungan dengan banyak record pada entitas AWXYZKLMNABGambar III.9.. Kardinalitas Relasi Banyak ke Banyak

38Diagram Entity-Relationship (Diagram E-R)Model Entity-Relationship yang berisi komponen-komponen Entitas dan Relasi yang masing-masing dilengkapi dengan atribut yang merepresentasikan garis seluruh fakta dari entitas.

Dapat digambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R).

39Diagram Entity-Relationship (Diagram E-R)Notasi-notasi simbolik didalam Diagram E-R yang dapat kita gunakan adalah :Persegi Panjang, menyatakan EntitasEllips menyatakan atribut (atribut yang berfungsi sebagai key digaris bawahi)Belah Ketupat menyatakan RelasiGaris sebagai penghubung antara Relasi dengan Entitas dan Entitas dengan AtributKardinalitas Relasi dapat dinyatakan dengan banyaknya cabang atau dengan pemakaian angka (1 dan N).

40Relasi satu ke satuDosenJurusanMengetuaiNama_DosAlamat_DosNama_DosKode_JurKode_JurNama_Jur11Gambar Relasi Satu ke Satu41Relasi Satu ke BanyakGambar Relasi Satu ke Banyak1NNama_DosAlamat_DosNama_DosKode_KulKode_KulSemesterDosenMataKuliahMengajarSKSNama_KulTempatWaktu 42Relasi Banyak ke BanyakGambar Banyak ke BanyakNNNamaAlamatNimKode_KulKode_KulSemesterMahasiswaMataKuliahMempelajariSKSNama_KulIndeks_NilaiNimTgl_Lhr43Tahapan Pembuatan Diagram E-RTahap pembuatan Diagram E-R awal (preliminary design)Tujuan mendapatkan sebuah rancangan basis data minimal yang dapat mengakomodasi kebutuhan penyimpanan dataTahap ini umumnya mengabaikan anomali44Tahapan Pembuatan Diagram E-RTahap Optimasi Diagram E-R (final design)Memperhatikan aspek-aspek efisiensi, performansi dan fleksibilitas, walau sering tolak belakang. Ditampuh dengan melakukan koreksi terhadap hasil tahap awal. Bentuk korekasi berupa pendekomposisian entitas, penggabungan entitas, pengubahan derajat relasi, penambahan relasi baru dan penambahan / pengurangan atribut45Langkah-langkah Teknis Mengidentifikasi dan menetapkan seluruh entitas yang akan terlibatMenentukan atribut-atribut key dari masing-masing entitasMengidentifikasi dan menetapkan seluruh relasi diantara entitas-entitas yang ada beserta foreign key nyaMenentukan derajat / kardinalitas relasi untuk setiap relasiMelengkapi entitas dan relasi dengan atribut-atribut deskriptif (non key)46Langkah-langkah Teknis (1)MahasiswaKuliahDosen47Langkah-langkah Teknis (2)NimMahasiswaKuliahDosenKod_KulNama_Dos48Langkah-langkah Teknis (3)NimMahasiswaKuliahKod_KulMempelajariNimKod_KulMengajarDosenNama_DosNama_DosKod_Kul49Langkah-langkah Teknis (4)NimMahasiswaKuliahKod_KulMempelajariNimKod_KulMengajarDosenNama_DosNama_DosKod_KulNNN150Langkah-langkah Teknis (5)NimMahasiswaKuliahKod_KulMempelajariNimKod_KulMengajarDosenNama_DosNama_DosKod_KulNamaAlamatTgl_LahirNilaiSKSWaktuTempat AlamatNNN151Diagram E-R dengan Kamus DataNNN1MahasiswaKuliahMempelajariMengajarDosen52Diagram E-R dengan Kamus DataKamus Data :Mahasiswa = {Nim, Nama, Alamat, Tgl_Lahir}Kuliah = {KodeKul, NamaKul, Sks, Semester}Dosen = {Nama, Alamat}Mempelajari= {Nim, KodeKul, Nilai}Mengajar = {KodeKul, Nama, Waktu, Tempat}

53Next Topic Model Data Lanjutan54Thankyou.........