MODEL DATA DEFINISI Model Data adalah kumpulan bentukanbentukan deskripsi data level tinggi yang menyembunyikan rincian penyimpanan data level rendah. Pada level logik, terdapat beberapa model data diantaranya model Data Relasional, Model Data Hirarki, Model Data jaringan, model data objek relasional,model data berorientasi objek dan lain sebagainya. Abstraksi Data merupakan tingkatan/level bagaimana melihat data dalam sebuah sistem basis data. Terdapat 3 buah level: yaitu: 1. Tingkat Internal atau Fisik (Physical Level) 2. Tingkat Konsep (conceptual level) 3. Tingkat Pandangan (View Level atau External Level) Tingkat Internal atau Fisik (Physical Level) Tingkat fisik adalah tingkat terendah Abstraksi ini mendeskripsikan cara penyimpanan fisik data. Pada abstraksi tingkat ini, struktur data tingkat rendah yang kompleks dideskripsikan secara rinci. Tingkat ini mencakup implementasi fisik basisdata untuk memperoleh kinerja dan utilisasi ruang penyimpanan yang optimal. Tingkat ini meliputi struktur data dan organisasi berkas untuk menyimpan data di perangkat penyimpanan. Tingkat fisik ini berurusan dengan 1. Alokasi ruang penyimpanan untuk data dan indeks 2. Deskripsi record untuk penyimpanan (yaitu ukuran simpan untuk item data). 3. Penempatan Record 4. Teknik-teknik kompresi data dan eksripsi data Tingkat Konsep (Conseptual Level) Tingkat konsep adalah tingkat yang mendeskripsikan data apa yang sesungguhnya disimpan dan keterhubungan-keterhubungan (Relationships) diantara data di basisdata. Seluruh basis data dideskripsikan dengan sejumlah struktur yang sederhana. Tingkat ini berisi struktur logik seluruh basisdata yang dilihat di DBA.Tingkat ini menggambarkan pandangan lengkap kebutuhan data oleh organisasi yang tidak bergantung urusan penyimpanan. Tingkat konseptual ini menyatakan 1. Entitas, atribut, dan keterhubungannya 2. Konstrain-konstrain terhadap data 3. Informasi semantiks data 4. Informasi keamanan dan integritas data. Tingkat Pandangan (View Level atau External Level) Tingkat konsep masih kompleks disebabkan ukuran basisdata yang besar. Banyak pemakai yang tidak berurusan dengan semua informasi yang disimpan basisdata. Kebanyakan pemakai hanya memerlukan sebagian dari yang ada di basisdata.pemakai tersebut hanya hendak berinteraksi dengan sebagian dari basisdata. Tingkat abstraksi pandangan (view) mendifinisikan suatu bagian untuk suatu kelompok pemakai tertentu. Sistem dapat menyediakan banyak pandangan berbeda pada basisdata yang sama. Skema Deskripsi data dalam model data disebut skema. Dalam model relasional untuk relasi menspesifikasikan namanama relasi, atribut atu kolom, dan tipe dari masingmasing atribut atau kolom. Skema pada model relasional dapat dipandang sebagai template mendeskripsikan relasi. Sebagaimana dengan abstraksi data, data di DBMS dideskripsikan dalam tiga level abstraksi. yaitu Skema Konseptual Skema Pandangan Skema Fisik Skema Konseptual Mendeskripsikan data yang disimpan dalam pahaman model data DBMS. Pilihan mengenai relasi-relasi dan atribut-atribut untuk masing-masing relasi tidaklah sederhana. Proses perancangan konseptual basisdata dipergunakan untuk menghasilkan skema konseptual yang terbaik. Skema Pandangan Skema ini menspesifikasikan model data DBMS untuk pengaksesan data yang disesuaikan ragam pemakai atau kelompok pemakai. Perancangan skema pandangan dituntun oleh kebutuhan pemakai akhir. Skema Fisik Skema ini menspesifikasikan rincianrincian penyimpanan. Skema fisik menyatakan relasi-relasi di skema konseptual cara penyimpanan di penyimpanan sekunder. Keputusan mengenai skema fisik bergantung pada pola pemakaian/pengaksesan data yang terjadi. Record-based Model model ini mendeskripsikan data tingkat konsep dan pandangan. Model ini juga dapat digunakan untuk menspesifikasikan struktur logik keseluruhan dan telah menyediakan deskripsi implementasi walau dalam tingkat tinggi.Model dinamakan Record-based Model karena basisdata distrukturkan dalam rekord dengan beberapa format tipe yang tetap. Masing-masing tipe record mendefinisikan sejumlah field tetap (Atribut) dan masing-masing field biasanyha mempunyai panjang yang tetap. Pada model data level ini telah berisi kakas-kakas dan bahasa-bahasa untuk mendeskripsikan hal-hal berikut: 1. Skema konseptual dan eksternal skema menspesifikasikan struktur data yang disimpan di basis data. Skema-skema di definisikan dan di deskripsikan dengan data Definition Language (DDL) 2. Konstrain-konstrain konstrain menspesifikasikan kondisi yang harus dipenuhi item-item data di basisdata, subbahasa ang menspesifikasikan konstrain ini biasanya merupakan bagian dari DDL. 3. Operasi-operasi pada Data operasi-operasi pada item-item basis data yang di deskripsikan menggunakan data manipulation language (DML). DML biasanya merupakan bagian penting basisdata karena kumpulan operasi ini adalah sekumpulan abstraksi data level tinggi. Macam-macam Model Data Terdapat tiga record-based model yang secara luas digunakan , yaitu: 1. Model Relasional (Relational Model) 2. Model Jaringan (Network Model) 3. Model Hirarki ( Hierarchical model) Model Jaringan Data yang di presentasikan sebagai kumpulan record dan keterhubungan di representasikan dengan himpunan-himpunan. Dibanding dengan model relasional maka pada model jaringan keterhubungan secara eksplisit dimodelkan dengan model himpunan yang menjadi pointer dalam implementasinya. Recordrecord diorganisasikan sebagai struktur graph umum dimana record sebagai simpul dan record sebagai graph. Contoh : Dosen Dosen Ari Doni Matematika Ekonomi Basis Data Shinta Indah Aan Model Hirarki Model hirarki adalah tipe terbatas model jaringan. Data direpresentasikan sebagai kumpulan record dan keterhubungan direpresentasikan sebagai himpunan. Model hirarki hanya mengijinkan simpul mempunyai satu induk. Dan dapat direpresentasikan sebagai graph pohon dengan rekord sebagai simpul disebut segmen dan himpunan sebagai busur. Contoh: Dosen Dosen Basis Data Ari Doni Ekonomi Shinta Indah Matematika Nanda Aan What is Relational Model Biasa disebut dengan “Relational Data Model” Adalah suatu model data dimana data disimpan dalam bentuk relasi Merupakan “Record-based Logical Models” User Customer UserID FirstName LastName CustID 100 Mary Abermany 100 Abermany 101 Jerry Caldera 335-6421, 454-9744 104 Alea Copley 101 215-7789 Caldera 107 Murugan Jacksoni 107 299-9090 Jacksoni Relational Model Phone LastName Non-Relational Model Sasaran dari model Relasional 1. Memungkinkan derajat ketidakbergantungan data yang tinggi. Program aplikasi tidak dipengaruhi modifikasi representasi internal khususnya perubahan organisasi berkas, urutan record, dan jalur pengaksesan. 2. Memberi landasan semantik, konsistensi dan redudansi data. 3. Memungkinkan bahasa manipulasi data menjadi berorientasi perluasan himpunan (Set Oriented data manipulation language). Model relasional merupakan suatu kerangka (tatanan) penampakan data ke pemakai, cara perlakuan pemakai dan perilaku data itu, model relasional mendifinisikan persepsi pemakai terhadap data. Model relasional tidak membicarakan fisik serta strategi penyimpanan dan pengaksesan data. Pada model Relasional 1. Data dipersepsi pemakai sebagai tabel-tabel(tidak ada yang lain selain tabel) 2. Operasi menghasilkan tabel baru dari tabel-tabel lama (Yang telah ada). Keunggulan Model Relasional 1. Alat Komunikasi yang bagus antara pemakai dan perancang. 2. Memenuhi kriteria perancangan basisdata yang esensi. 3. Struktur data yang direpresentasikan dengan relasi dapat secara langsung di konversi ke RDBMS dan di implementasikan pada komputer lewat RDBMS secara langsung. 4. Mengorganisasikan data didalam suatu koleksi tabel-tabel membuat rancangan menjadi mudah dipahami. 5. Menyediakan suatu bahasa yang relatif lengkap untuk mendefinisikan, mengambil, dan meng-update data. 6. Menyediakan aturan integritas yang mendifinisikan suatu keadaan yang konsisten untuk meningkatkan reliabilitas data. Relasi (Relation) Definisi : Relasi adalah tabel data 2 dimensi dengan karakteristik tertentu. Tabel 2 dimensi –layaknya suatu matriks- mempunyai Baris (rows/records), dan Kolom (columns/attribute/field) Karakteristik Relasi : Mempunyai nama yang unik. Setiap nilai harus atomik (not multivalued, not composite) Setiap baris harus unik (can’t have two rows with exactly the same values for all their fields) Atribut pada tabel (columns) harus mempunyai nama yang unik NOTE : 1. Istilah Relasi pada model relasional tidak sama dengan relasi E-R model 2. Digunakan hanya untuk struktur lojik DB dan bukan untuk struktur fisik Bagian 1 : Struktur Model Relasional Apakah ini Relasi ? UserID FirstName LastName CustID 100 Mary Abermany 100 Abermany 101 Jerry Caldera 335-6421, 454-9744 104 Alea Copley 101 215-7789 Caldera 107 Murugan Jacksoni 104 610-9850 Copley 107 299-9090 Jacksoni Ya, memenuhi syarat Relasi CustID Bukan Relasi, ada sel bernilai ganda Bukan Relasi, ada 2 baris identik Phone Phone LastName LastName 100 335-6421 Abermany 101 215-7789 Caldera 104 610-9850 Copley 100 335-6421 Abermany 107 299-9090 Jacksoni Terminologi Model Relasional Relasi Atribut Domain : Tabel yang memiliki baris dan kolom : Nama kolom pada relasi : Kumpulan nilai yang mungkin (legal) untuk satu atribut atau lebih Tupel : Baris suatu relasi dan memuat hanya satu nilai per atribut Degree : Jumlah atribut pada relasi (unary, binary, ternary, n-ary) Kardinalitas : Jumlah tupel pada relasi NOTE : Domain Atribut = Atribut + Nama Domain + Deskripsi + Definisi Domain Terminologi Model Relasional Sinonim Primary Key idstudio studioName STD001 Fox STD002 Disney STD003 Paramount Atribut Primary Key Relasi Tupel Foreign Key JudulFilm idfilm title year length filmType idstudio F001 Star Wars 1977 124 color STD001 F002 Mighty Ducks 1991 104 color STD003 F003 Wayne’s World 1992 95 color STD001 Degree=6 Kardinaiitas=3 StudioFilm Bagian 1 : Struktur Model Relasional Terminologi Model Relasional Contoh : Domain Atribut Relasi JudulFilm Atribut Nama Domain Deskripsi Domain Definisi Domain idfilm IdFilms Identitas film Character, size 4, range : F001 – F999 title Titles Judul film Character, size 40 year Years Tahun pembuatan film Date, format : yyyy length Lengths Panjang film dalam satuan menit Integer, 3 digit filmType FilmTypes Jenis Fim Character, size 20 idstudio IdStudios Kode Studio pembuat film Character, size 6, range : STD001 – STD999 Skema Bentuk dasar model relasional adalah relasi. Relasi terdiri dari dua hal yaitu: Skema Relasi, mendeskripsikan kolom-kolom untuk tabel. Instan Relasi dari skema relasi adalah tabel Basisdata relasional adalah kumpulan relasi dengan nama-nama relasi yang berbeda. Skema basisdata relasional adalah skema untuk relasi-relasi di basis data. Skema relasi yang lengkap berisi 1. Nama relasi, nama relasi harus unik di basis data 2. Nama atribut-nama atribut direlasi di asosiasikan nama domain-nama domain atribut adalah nama yang diberikan ke kolom relasi, semua kolom direlasi harus diberi nama serta nama kolom-nama kolom itu harus unik di satu relasi 3. Konstrain-konstrain integritas adalah batasan-batasan pada relasi, yaitu batasan-batasan pada tupletuple yang muncul di relasi. Skema disebut legal jika memenuhi semua konstrain intergritas yang diasosiasikan skema Contoh Relasi ► Penduduk (NIK, Nama, Alamat, Rt, Rw, KodeKel, JenisKelamin, StatusMarital, TmpLahir, TglLahir, Pekerjaan, Pendidikan) ► Nama relasi(entity) = Penduduk ► Attribut ke 1 = Nik ► Attribut ke 2 = Nama ► Attribut ke 12 = Pendidikan ► Jumlah attribut = 12 25 Nilai dari Tuple ► Harus Atomic ► Jika Multivalue attribute hrs direpresentasikan ke dalam relasi lain ► Jika Composite attribute hrs dinyatakan sebagai simple attribute ► Null value berarti (tidak diketahui nilainya, tdk ada harga tertentu, tidak bermanfaat pada tuple tersebut) 26 Tabel ► Tersusun menurut baris dan kolom ► Terdiri dari baris-baris yang memuat data yang saling berhubungan satu dengan lainnya ► Terdiri dari kolom-kolom data-data dengan tipe yang sama 27 Contoh Tabel Attribut NIK NAMA ALAMAT RT RW KDLURAH 12.14.01.181169.0001 Arif Muntasa Cipta Karya E - 24 19 9 0104 12.14.12.411275.0002 Ella Marina JL Cipto Kusumo 23 12 5 1202 Setiap Baris Disebut Sebagai Tuple/Record 28 Penjelasan Tabel ► Jumlah tuple = 2 ► Jumlah attribut = 6 ► Dalam satu tabel, attribut yang berbeda dapat mempunyai domain yang sama misalnya attribut Rt dan attribut Rw 29 Soal Latihan 1. Diketahui tabel di bawah ini 30 Soal Latihan ► Tentukan jumlah tupplenya ► Tentukan jumlah fieldnya ► Tentukan primary keynya 31 Latihan 2. Buatlah relasi data mahasiswa, data dosen, data mata kuliah beserta atribut-atributnya!