MAKALAH PERANCANGAN BASIS DATA “MODEL DATA” Disusun oleh: Ainun Aisyiyah 2014001690 Iman Safuad 2014001726 Ismi Fadhilah 2014001729 AMIK Harapan Bangsa Surakarta 2015 MODEL DATA A. Pengertian Model Data Model Data adalah sekumpulan konsep untuk menerangkan data, hubungan-hubungan antara data dan batasan-batasan yang terintegrasi didalam suatu organisasi. Model Data merupakan suatu cara untuk menjelaskan tentang data-data yang tersimpan dalam basis data dan bagaimana hubungan antar data tersebut untuk para pemakai secara logik. Model Data adalah kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik data dan batasan data. Model data harus menyediakan konsep dasar dan notasi yang memungkinkan perancang basis data dan pemakai utuk dapat mengkomunikasikan pemahamannya mengenai organisasi data. B. Komponen Model Data Komponen model data dapat dikategorikan menjadi 3 (tiga) bagian yang meliputi: 1. Bagian struktural, memuat sekumpulan aturan untuk melakukan konstruksi basis data (database). 2. Bagian manipulasi, melakukan definisi tipe operasi yang diijinkan pada data,termasuk operasi yang digunakan untuk melakukan perubahan (update), atau membaca data (retrieve) dari basis data dan untuk melakukan perubahan struktur basis data. 3. Sekumpulan aturan mengenai integritas, yang akan menjaga keakuratan dari data dalam basis data (database). C. Kelompok Model Data Terdapat 4 (empat) kelompok model data, yaitu model data berbasis objek, model data berbasis record, model data fisikal dan model data konseptual. a. Model Data Berbasis Objek. Pada model ini menjelaskan data pada tingkat konsepsi dan view. Model ini menggunakan objek sebagai perangkat lunak yang ditulis dalam potongan kecil yang dapat digunakan kembali sebagai elemen dalam file database. Database berorientasi objek adalah sebuah database multimedia yang bisa menyimpan lebih banyak tipe data dibanding database relasional. Salah satu model database berorientasi objek adalah database hypertext atau database web, yang memuat teks dan dihubungkan ke dokumen lain. Model lainnya adalah database hypermedia, yang memuat link dan juga grafis, suara, dan video. Contoh: database DB2, Cloudscape, Oracle9i dan sebagainya. Pada model ini biasanya digunakn untuk hal-hal rekayasa (misal skripsi), Model basis data berorientasi objek, didefinisikan dengan bahasa pemograman misalnya bahasa JAVA, disimpan dan diakses serta applikasi End User dibangun dengan pemrograman berorientasi objek pula. Untuk membuat link antara basis data dengan applikasi digunakanlah ODMS (Object Database Management System). Model data berorientasi objek, secara teori objek mudah diatur, objek dapat dilakukan dari sifat pewarisan objek lain, kompatibel dengan tools pemrograman, dan pemrogram hanya dibutuhkan pemahaman atas konsep model ini untuk mengkombinasikanya dengan storage basis data relasional. Begitu pula untuk user harus paham konsepnya karena model ini tidak dapat dikerjakan dengan pemrograman tradisionil. Pada model ini terdapat beberapa macam model, yaitu : ER Model (Entity relationship Model) Model Entity-Relationship adalah model data konseptual tingkat tinggi untuk perancangan basis data. Model data konseptual adalah himpunan konsep yang mendeskripsikan struktur basis data, transaksi pengambilan dan pembaruan basis data. Model ER adalah data konseptual tak tergantung DBMS dan platform perangkat keras tertentu. Model ER dikemukakan oleh Chen [1976]. Sejak itu, telah memperoleh banyak perhatian dan perluasan. Model ER adalah persepsi terhadap dunia nyata sebagai terdiri objek-objek dasar yang disebut entitas dan keterhubungan (relationship) antar entitas-entitas itu. Konsep paling dasar di model ER adalah entitas, relationship dan atribut. Komponen-komponen utama model ER adalah : a. Entitas (entity), entitas memodelkan objek-objek yang berada diperusahaan/lingkungan. b. Relationship, relationship memodelkan koneksi/hubungan di antara entitas-entitas. c. Atribut-atribut (properti-properti), memodelkan properti-properti dari entitas dan relationship. d. Konstrain-konstrain (batasan-batasan) integritas, konstrain-konstrain ketentuan validitas. Entitas (Entity) dan Himpunan Entitas (Entitas Sets) Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sebuah kursi yang kita duduki, seseorang yang menjadi pegawai di sebuah perusahaan dan sebuah mobil yang melintas di depan kita adalah entitas. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas (entity sets). Sederhananya, entitas menunjuk pada individu suatu objek, sedang himpunan entitas menunjuk pada rumpun (family) dari individu tersebut. Seorang pasien, misalnya akan dimasukkan dalam himpunan entitas pasien. Sedang seorang dokter akan ditempatkan dalam himpunan entitas dokter. Dalam berbagai pembahasan/literature, penyebutan himpunan entitas (yang kurang praktis) ini seringkali digantikan dengan sebutan entitas saja. Karena itu sering ditemui, penggunaan istilah entitas (entity) di sebuah literature sebenarnya menunjuk pada himpunan entitas. Kunci Entitas Sebagaimana model relasional, adalah penting dan berguna untuk memasukkan kunci yang diasosiasikan dengan himpunan entitas. Kunci pada himpunan entitas S, adalah himpunan atribut A. Sehingga tidak ada dua entitas di S yang mempunyai nilai sama untuk tiap atribut di A dan tidak ada subset di A yang dapat menjadi kunci di S, dengan demikian kunci mempunyai property minimal. Atribut (Atributes/Properties) Setiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik (property) dari entitas tersebut.Penentuan / pemilihan atribut-atribut yang relevan bagi sebuah entitas merupakan hal penting lainnya dalam pembentukan model ER. Contoh : nim, nama, alamat, kode. Relasi (Relationship) dan Himpunan Relasi (Relationship Sets) Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Misalnya, entitas seorang mahasiwa dengan nim = 980001 dan nama_mhs = Ali Akbar (yang ada di himpunan entitas Mahasiswa) mempunyai relasi dengan entitas sebuah mata kuliah dengan kode_kul = IF-110 dan nama_kul = Struktur Data. Relasi diantara kedua entitas tadi mengandung arti bahwa mahasiswa tersebut sedang mengambil/mempelajari mata kuliah tersebut di sebuah perguruan tinggi yang ditinjau. Kumpulan semua relasi diantara entitas-entitas yang terdapat pada himpunan entitashimpuan entitas tersebut membentuk himpunan relasi (relationship sets). Sebagaimana istilah himpunan entitas yang banyak sekali disingkat menjadi entitas, istilah himpunan relasi jarang sekali digunakan dan lebih sering disingkat dengan istilah relasi saja. Kardinalitas/derajat Relasi Kardinalitas Relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari himpunan entitas yang satu ke himpunan entitas yang lain dan begitu juga sebaliknya. OO model (Objek Oriented Model) Binary Model Model data semantic Model data infologikal, dan Model data fungsional. Semantik Model Sebenarnya hamper sama dengan ER Model, perbedaannya hanya terletak pada pernyataan adanya relasi antar objeknya. Jika pada ER Model menyatakan adanya relasi antar objek menggunakan simbol-simbol namun pada Semantic Model menggunakan kata-kata. Berikut contoh dari Semantic Model. Contoh Semantik Model Binary Model Data Binary model adalah model data yang memperluas definisi dari entity, bukan hanya atributeatributenya, tetapi juga tindakan-tindakannya. b. Model Data Berbasis Record. Pada model ini menjelaskan data pada tingkat konsepsi dan view, memakai seluruh struktur lojik basis data dan menyediakan uraian tingkat tinggi dari implementasi. Terdiri dari sejumlah fixed format record dengan berbagai tipe. Pada model ini teradapat 3 (tiga) macam tipe, yaitu: 1. Model Relational. Model data relasional adalah model data yang diciptakan berdasarkan teori-relasional seperti relational algebra, dan relational calculus. Salah seorang pencetus awal dari basis data relasional adalah E.F.Codd yang juga telah menciptakan serangkaian operasi matematika relasional terhadap model data relasional. Pada prinsipnya model data relasional dapat di representasikan dalam bentuk table (tabel) data, dimana: Satu tabel mewakili satu “domain” data atau entity, bila direkam merupakan satu file yang hanya memiliki satu tipe record saja, setiap record adalah baris setiap record terdiri atas beberapa field (atribut) atau tuple, atau kolom jumlah tuple/field pada setiap record sama setiap record memiliki atribut kunci utama (primary key) yang unik dan dapat dipakai untuk mengenali satu record. Pada model ini menggambarkan data dan relationship diantara data oleh suatu koleksi tabel. Contoh Model Data Relasional 2. Model Network (Jaringan) Model data jaringan adalah pengembangan dari model data hirarkis, melihat kekurangan dari model hirarkis tersebut. Pada model jaringan diperkenankan bahwa sebuah child-record bisa memiliki lebih dari satu parent-record. Pada implementasi-nya berarti antara parent-record dan child-record diperlukan penghubung (link atau pointer) yang bisa satu arah atau duaarah. Dengan model jaringan ini maka informasi dimana seorang mahasiswa dapat mengambil beberapa matakuliah (pointer dari record mahasiswa tsb ke beberapa recordkuliah) dan juga informasi bahwa satu matakuliah dapat di-program-kan oleh banyak mahasiswa (pointer dari record-kuliah ke beberapa record-mahasiswa) keduanya dapat direpresentasikan. Pada model ini menggambarkan koleksi record – record dan relationship diantara data ditunjukkan oleh link (penghubung) yang dapat dipandang sebagai pointer (penunjuk). Contoh Model Data Jaringan (Network) 3. Model Hirarki Pada model ini sama seperti pada model network dalam hal data dan relationship diantara data digambarkan oleh record dan link. Perbedaannya adalah record disusun sebagai “collection of tree” dengan sembarang grafik. Atau lebih sering disebut sebagai struktur pohon Istilah : Node: elemen-elemen pohon dalam model data hirarkhi. Node dapat berupa record. Root: node yang mempunyai level paling tinggi pada dalam suatu hirarkhi dan hanya satu node. Parent: node yang memiliki tingkatan yang lebih tinggi. Satu node pada tingkat level yang lebih rendah hanya diijinkan memiliki satu relasi saja. ke tingkat level yang lebih tinggi. Child: node-node yang memiliki tingkatan yang lebih rendah daripada parent. Satu parent dapat memiliki lebih dari satu child. Contoh Model Data Hirarki Kelebihanya: Karena struktur datanya permanen, dan secara eksplisit terhubung antara satu sama lainnya, maka proses pengaksesan data akan lebih cepat, mudah dilakukanya pengaturan dalam integritas data. Kelemahannya: Meskipun demikian, model struktur yang bersifat kaku ini menyebabkan beberapa masalah. Penambahan child tabel tidak bisa dilakukan jika tidak terhubung dengan parent tabel. Misalnya, jika parent tabelnya adalah “Dokter” dan child tabelnya adalah “Pasien”, maka penambahan pasien akan bergantung dengan dokter. Dengan kata lain, seorang pasien harus juga menambahkan seorang dokter. Begitu juga jika sebuah parent tabel dihapus, maka child-child tabel dibawahnya juga akan terhapus. Pada model ini pengguna harus familiar dengan struktur basis data, sering terjadinya redudansi (berulangnya) data. c. Model Data Fisik (Physical Based Data Model) Model Data Fisik digunakan untuk menguraikan data di tingkat internal atau menjelaskan kepada pemakai bagaimana data-data dalam basis data disimpan dalam media penyimpanan secara fisik. Model ini jarang digunakan karena kerumitan dan kompleksitasnya yang justru menyulitkan pemakai. Model ini terdiri dari : unifying model Unifying model Model ini menggabungkan memori dan transaksi database dalam satu kesatuan model. frame memory Frame Memory adalah sebuah virtual view dari tempat penyimpanan sekunder yang digunakan untuk mendukung penyimpanan record database. d. Model Data Konseptual (Conceptual Based Model Data) Model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-entitas itu. Biasanya direpresentasikan dalam bentuk Entity Relationship Diagram. Manfaat Penggunaan: Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan. Alat komunikasi antar pemakai basis data, designer, dan analis. Model ini terdiri atas : Entity Relationship Inheritance Association D. Kesimpulan Model Data adalah kumpulan perangkat konseptual untuk menggambarkan data, hubungan data, semantik data dan batasan data. Komponen model data terdiri dari tiga kategori, yaitu: bagian structural, bagian manipulasi, dan sekumpulan aturan mengenai integritas. Model data dapat dikelompokkan menjadi empat jenis, yaitu: 1. Model data berbasis objek, ada tiga jenis yaitu: ER Model, semantik model, dan binary model. 2. Model data berbasis record, ada tiga jenis yaitu: model data relational, model data jaringan (network), dan model data hirarki. 3. Model data fisik (physical), ada dua jenis yaitu: unifying model dan frame memory. 4. Model data konseptual.