Pada kesempatan kali ini saya akan menjelaskan tentang jenis model data. Ini adalah tugas yang di berikan oleh ibu ERIKA DEVI UDYANTI, S.Kom, M.CS
Model Data pada hakekatnya adalah kumpulan perangkat konseptual untuk menggambarkan data, relasi data, makna (semantik) data, dan batasan data. Ada sejumlah cara dalam merepresentasikan Model Data untuk keperluan perancangan basis data, Dengan berdasarkan kelas atau kelompoknya di antaranya sebagai berikut :
ADA 6 MACAM MODEL DATA
- Model Hirarkis (Hierarchical Model)
- Model Jaringan (Network Model)
- Model Relasional (Relational Model)
- Model Relasi Entitas (Entity-Relationship Model)
- Model Berbasis Objek (Object Oriented Model)
- Model Hirarkis (Hierarchical Model)
- Model Jaringan (Network Model)
- Model Relasional (Relational Model)
- Model Relasi Entitas (Entity-Relationship Model)
- Model Berbasis Objek (Object Oriented Model)
- Model Multidimensial
MODEL DATA HIRARKIS
Model data hirarkis adalah model data paling tua yang pernah diterapkan dalam suatu DBMS. Model ini mengikuti pola hirarki pada suatu organisasi atau pada suatu keluarga, dimana terdapat rekaman data yang berfungsi sebagai “bapak” (parent-record) ada yang berfungsi sebagai “anak” (child-record), atau sebagai “pimpinan’ dan “anak-buah”. Dalam model ini seorang “bapak” bisa memiliki lebih dari satu “anak” tetapi seorang “anak” hanya boleh memiliki satu “bapak”.
Sebagai contoh basis-data yang menggambarkan rencana studi mahasiswa dimana seorang mahasiswa boleh mengambil beberapa matakuliah,ini sebagai salah satu contoh data hirarkis dan masih banyak lagi contoh yang lain, yang bisa kita pergunakan.
Pada model diatas tidak direpresentasikan bahwa satu matakuliah diambil oleh beberapa mahasiswa, karena berarti menyalahi aturan dimana satu “anak” (kuliah) memiliki banyak “bapak” (mahasiswa). Model diatas akan menyebabkan timbulnya “redudansi” data, karena banyak kemungkinan bahwa matakuliah yang sama diambil oleh beberapa mahasiswa, sehingga record-matakuliah tersebut direkam berkali-kali dibawah record-mahasiswa yang mengambilnya. Disamping itu apabila ada matakuliah yang tidak diprogram-kan oleh mahasiswa maka ada kemungkinan record-nya tidak ada dalam database karena tidak memiliki parent.
Sebagai contoh basis-data yang menggambarkan rencana studi mahasiswa dimana seorang mahasiswa boleh mengambil beberapa matakuliah,ini sebagai salah satu contoh data hirarkis dan masih banyak lagi contoh yang lain, yang bisa kita pergunakan.
Pada model diatas tidak direpresentasikan bahwa satu matakuliah diambil oleh beberapa mahasiswa, karena berarti menyalahi aturan dimana satu “anak” (kuliah) memiliki banyak “bapak” (mahasiswa). Model diatas akan menyebabkan timbulnya “redudansi” data, karena banyak kemungkinan bahwa matakuliah yang sama diambil oleh beberapa mahasiswa, sehingga record-matakuliah tersebut direkam berkali-kali dibawah record-mahasiswa yang mengambilnya. Disamping itu apabila ada matakuliah yang tidak diprogram-kan oleh mahasiswa maka ada kemungkinan record-nya tidak ada dalam database karena tidak memiliki parent.
macam-macam model data, MODEL DATA HIRARKIS.
Contoh Model Hirarkis
yang menunjukkan hubungan Dosen-MataKuliah-Mahasiswa dapat pula digambarkan dalam bentuk diagram sebagai berikut.
Diagram Hirarkis Dosen-Matakuliah-Mahasiswa
Perhatikan dalam model hirarki diatas, data mahasiswa yang sama terpaksa direkam berulang ketika mahasiswa tersebut memprogramkan lebih dari satu matakuliah.
Model hirarkis ini pernah di-implementasikan oleh IBM pada sebuah DBMS yang diberi nama IMS (Information Management System) namun kemudian di-kalahkan oleh implementasi model yang lebih mutakhir seperti model Data Relasional seperti Rbase, dsb.
Diagram Hirarkis Dosen-Matakuliah-Mahasiswa
Perhatikan dalam model hirarki diatas, data mahasiswa yang sama terpaksa direkam berulang ketika mahasiswa tersebut memprogramkan lebih dari satu matakuliah.
Model hirarkis ini pernah di-implementasikan oleh IBM pada sebuah DBMS yang diberi nama IMS (Information Management System) namun kemudian di-kalahkan oleh implementasi model yang lebih mutakhir seperti model Data Relasional seperti Rbase, dsb.
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.
MODEL DATA 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 dua-arah.
Dengan model jaringan ini maka informasi dimana seorang mahasiswa dapat mengambil beberapa matakuliah (pointer dari record mahasiswa tsb ke beberapa record-kuliah) dan juga informasi bahwa satu matakuliah dapat di-program-kan oleh banyak mahasiswa (pointer dari record-kuliah ke beberapa record-mahasiswa) keduanya dapat di-representasikan.
MODEL DATA RELASIONAL
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 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.
MODEL DATA ENTITY-RELATIONSHIP (ER)
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 entitas-himpuan 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.
Kardinalitas di antara dua himpunan entitas (misalnya A dan B) dapat berupa :
a. Satu ke satu (One to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B,
begitu juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
b. Satu ke Banyak (one to many),
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas B berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas A.
c. Banyak ke Satu (Many to One),
setiap entitas pada himpunan entitas A berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B,
tetapi tidak sebaliknya, dimana setiap entitas pada himpunan entitas A berhubungan dengan paling banyak satu entitas pada himpunan entitas B.
d. Banyak ke Banyak (Many to Many)
setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B,
demikian juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
Diagram Entity-Relationship (ER)
Penggambaran Model ER secara sistematis dilakukan melalui diagram ER. Notasi-notasi simbolik di dalam Diagram ER yang dapat digunakan adalah:
a. Persegi panjang, menyatakan Himpunan Entitas.
b. Lingkaran/Elips, menyatakan atribut (Atribut yang berfungsi sebagai key digaris bawahi).
c. Belah ketupat, menyatakan Himpunan Relasi.
d. Garis, sebagai penghubung antara Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan Atributnya.
e. Kardinalitas Relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi one to one, 1 dan N untuk relasi one to many atau N dan N untuk relasi many to many).
Tahap Pembuatan Diagram ER
Diagram ER selalu dibuat secara bertahap. Paling tidak ada dua kelompok penahapan yang biasa ditempuh di dalam pembuatan diagram ER, yaitu :
a. Tahap pembuatan Diagram ER awal (preliminary design). Yaitu :
- Melakukan pengidentifikasian dan menetapkan seluruh himpunan entitas yang akan terlibat.
- Menentukan atribut-atribut key dari masing-masing himpunan entitas.
- Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta foreign key nya.
- Menentukan derajat/kardinalitas relasi untuk setiap himpunan relasi.
- Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif (non key).
b. Tahap optimasi Diagram ER (final design).
MODEL DATA BERBASIS OBJEK
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 ( missal skripisi ), Model Basis data berorientasi objek , di definisikan 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.
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.
MODEL DATA MULTIDIMENSIAL
Database Multidimensial (MDA) memodelkan data sebagai fakta, dimensi, atau numerik untuk menganalisis data dalam jumlah besar, tujuannya adalah untuk mengambil keputusan. Database Multidimensial menggunakan bentuk kubus untuk merepresentasikan dimensi-dimensi data yang tersedia bagi seorang pengguna, maksimal empat dimensi.
Contoh: InterSystem Cache, ContourCube, dan Cognoa PowerPlay