Model Data Pertemuan Minggu Ke-3
Kompetensi Khusus Mahasiswa mampu menjelaskan pentingnya model data, blok pembangun model data, evolusi model data, dan tingkat abstraksi data (C2)
Model Data Pemodelan data mengacu pada proses pembuatan model data untuk domain masalah tertentu. Domain masalah adalah area yang didefinisikan dengan jelas dalam lingkungan nyata, dengan ruang lingkup & batasan yang jelas, yang akan dibahas secara sistematis. Model data adalah representasi sederhana, biasanya grafis, dari struktur data dunia nyata yang lebih rumit. Dalam lingkungan database, model data mewakili struktur data & karakteristiknya, relasi, batasan, transformasi, & bentuk lain dengan tujuan untuk mendukung domain masalah tertentu.
Pentingnya Model Data Model data memfasilitasi interaksi antara desainer, programmer aplikasi, & end-user. Tiap orang dalam perusahaan memandang data dalam cara yang berbeda. Model data adalah abstraksi; data yang dibutuhkan tidak dapat ditarik dari model data.
Blok Pembangun Model Data Entitas: orang, tempat, benda, atau kejadian dimana data akan dikumpulkan & disimpan. Atribut: karakteristik dari entitas. Hubungan: hubungan antar entitas. One to many (1:M atau 1..*) Many to many (M:N atau *..*) One to one (1:1 atau 1..1) Constraint: batasan pada data untuk memastikan integritas data.
Aturan Bisnis Deskripsi singkat, tepat & tidak ambigu dari kebijakan, prosedur, atau prinsip dalam perusahaan. Berasal dari penjelasan rinci tentang operasi perusahaan untuk membuat & memberlakukan tindakan dalam lingkungan perusahaan. Diberikan secara tertulis & diperbarui untuk mencerminkan perubahan dalam lingkungan operasional perusahaan. Harus mudah dipahami & disebarkan secara luas untuk memastikan semua orang dalam perusahaan berbagi pengertian yang sama. Digunakan untuk mendefinisikan entitas, atribut, hubungan, & batasan.
Evolusi Model Data
Model Hirarki Dikembangan tahun 1960 untuk menangani jumlah data yang besar untuk proyek manufaktur. Struktur model menyerupai pohon terbalik dan berisi level atau segmen. Segmen ekuivalen dengan tipe record sistem file. Lapisan yang lebih tinggi dianggap sebagai induk dari segmen langsung di bawahnya, yang disebut anak. Menggambarkan hubungan one to many antara induk & anak (tiap induk dapat memiliki banyak anak, tetapi tiap anak hanya memiliki satu induk).
Model Jaringan Dapat menangani hubungan data yang rumit lebih efektif dibandingkan model hirarki, untuk meningkatkan kinerja database. Menggambarkan hubungan 1:M tetapi anak boleh memiliki lebih dari 1 induk. Tidak umum digunakan, tetapi definisi dari konsep database masih digunakan oleh model data modern: Schema: organisasi konseptual dari seluruh database seperti yang dipandang oleh DBA. Subschema: porsi database yang digunakan oleh program aplikasi yang benar-benar menghasilkan informasi yang dibutuhkan dari data dalam database. Data Manipulation Language (DML): lingkungan dimana data dapat dikelola & digunakan untuk bekerja dengan data dalam database. Data Definition Language (DDL): digunakan oleh DBA untuk mendefinisikan komponen schema.
Model relasional Diperkenalkan tahun 1970 oleh E. F. Codd dari IBM. Dasarnya adalah konsep matematis yang dikenal dengan relasi. Relasi (tabel) adalah matriks yang terdiri dari baris & kolom. Tiap baris dalam relasi disebut tuple. Tiap kolom mewakili atribut. Contoh software database relasional: Oracle, DB2, MSSQL, MySQL, dll. Diimplementasi menggunakan RDBMS (Relational Database Management System). RDBMS melakukan fungsi dasar seperti DBMS pada hirarki & jaringan, tetapi RDBMS menyembunyikan kompleksitas model relasional dari user. Misalnya RDBMS menangani semua detail fisik sementara user melihat database relasional sebagai kumpulan tabel yang menyimpan data. User dapat memanipulasi & menquery data dalam cara yang logis. Model ini mampu menghapus redudansi yang banyak ditemukan dalam sistem file.
Alasan lain model ini sangat diminati adalah bahasa query yang fleksibel, yaitu Structured Query Language (SQL). RDBMS menggunakan SQL untuk menerjemahkan query user ke dalam instruksi untuk mengeluarkan data yang diminta. Dari perspektif end-user, aplikasi database relasional berbasiskan SQL mencakup 3 bagian: antarmuka user, kumpulan tabel dalam database, & SQL engine.
Model ER Model ER diperkenalkan tahun 1976 oleh Peter Chen dan merupakan representasi grafis dari entitas & hubungannya dalam struktur database. Berikut komponen dari model ER: Entitas: digambarkan dalam bentuk kotak segiempat. Nama entitas menggunakan kata benda dan dituliskan di tengah kotak dengan huruf besar & kata tunggal. Entitas akan menjadi tabel dalam model relasional. Tiap baris dalam tabel relasional dikenal dengan entity instance atau entity occurrence dalam model ER. Tiap entitas terdiri dari sekumpulan atribut yang mendeskripsikan karakteristik khusus dari entitas. Hubungan antar entitas: terdiri dari one-to-many (1:M), many-to-many (M:N), & one-to-one (1:1). Nama hubungan menggunakan kata kerja aktif atau pasif. Jenis hubungan tersebut dapat digambarkan menggunakan 3 notasi ER yang ada (lihat gambar).
Model Berorientasi Objek (OODM) Dalam OODM, baik data & hubungannya terkandung dalam struktur tunggal yang dinamakan objek. Menunjukkan cara yang sangat berbeda dalam mendefinisikan & menggunakan entitas. Bedanya dengan entitas, objek mencakup informasi tentang hubungan antar fakta dalam objek, juga informasi tentang hubungannya dengan objek lain. Oleh karena itu, fakta dalam objek diberi makna yang lebih besar sehingga OODM dikatakan sebagai model data semantik. OODM biasanya digambarkan menggunakan UML (Unified Modeling Language) class diagram. Class diagram digunakan untuk mewakili data & hubungannya dalam bahasa pemodelan berorientasi objek.
Berikut komponen OODM: Objek merupakan abstraksi dari entitas dunia nyata, ekuivalen dengan entitas pada model ER. Tepatnya, objek mewakili hanya satu kemunculan dari entitas. Atribut mendeskripsikan properti dari objek. Objek yang berbagi karakteristik yang sama dikelompokkan dalam class. Class adalah kumpulan dari objek serupa dengan atribut & metode bersama. Class memiliki metode yang mewakili aksi di kehidupan nyata. Dengan kata lain, metode ekuivalen dengan prosedur dalam bahasa pemrograman tradisional. Dalam OO, metode mendefinisikan perilaku objek. Class diatur dalam class hierarchy. Class hierarchy menyerupai pohon terbalik dimana tiap class hanya memiliki satu parent. Inheritance adalah kemampuan objek dalam class hierarchy untuk mewariskan atribut dan metode ke class di bawahnya.
Perbandingan antara model OO, UML, & ER
Extended Relational Data Model (ERDM) ERDM menambahkan banyak fitur model OO dengan struktur database relasional yang lebih sederhana. Melahirkan generasi baru dari database relasional yang mendukung fitur OO seperti objek, tipe data berdasarkan class, & inheritance. DBMS berdasarkan ERDM disebut object/relational database management system (O/R DBMS). Populer dalam pasar niche seperti Computer-Aided Drawing/ Computer-Aided Manufacturing (CAD/ CAM), Geographic Information System (GIS), telekomunikasi, & multimedia, yang mendukung objek yang lebih rumit. XML (Extensible Markup Language) muncul sebagai standar untuk pertukaran data terstruktur, semi terstruktur, & tidak terstruktur. Perusahaan yang menggunakan data XML kini menyadari mereka butuh menangani data tidak terstruktur dalam jumlah besar, sehingga database XML berkembang untuk menangani data tidak terstruktur dalam format XML asli. O/R DBMS menambahkan dukungan untuk dokumen berbasiskan XML dalam struktur data relasionalnya. Model relasional dapat diperluas dengan mudah untuk memasukkan objek & XML.
Big Data & NoSQL Big Data mengacu pada gerakan untuk menemukan cara baru dan lebih baik untuk mengelola sejumlah besar data Web yang dihasilkan dan memperoleh wawasan bisnis dari itu, sementara secara bersamaan menyediakan kinerja tinggi dan skalabilitas dengan biaya yang wajar. NoSQL mengacu pada generasi baru dari database yang mengatasi tantangan khusus dari era Big Data & memiliki karakteristik umum seperti: Tidak berdasarkan model relasional. Mendukung arsitektur database terdistribusi. Menyediakan skalabilitas tinggi, ketersediaan tinggi, & toleransi kesalahan. Mendukung data tersebar yang sangat besar. Fokus pada kinerja dibandingkan konsistensi transaksi.
Perbandingan Terminologi antar Model Data
Tingkat Abstraksi Data Arsitektur ANSI/ SPARC: Eksternal Konseptual Internal
Model Eksternal Pandangan end user terhadap lingkungan data. End user biasanya bekerja dalam lingkungan dimana aplikasi memiliki fokus unit bisnis khusus. Tiap unit bisnis memiliki kebutuhan & batasan khusus, & menggunakan sebagian dari keseluruhan data perusahaan. Oleh karena itu, end user dalam unit bisnis tersebut melihat bagian datanya terpisah dari atau di luar unit lain dalam perusahaan. ERD digunakan untuk mewakili view eksternal yang dikenal sebagai external schema.
Beberapa keuntungan dari view eksternal: Mudah mengidentifikasi data khusus yang dibutuhkan untuk mendukung operasi tiap unit bisnis. Memudahkan pekerjaan desainer dengan adanya umpan balik terhadap model. Membantu memastikan batasan keamanan dalam desain database. Merusak keseluruhan database lebih sulit ketika tiap unit bisnis bekerja hanya dengan bagian datanya sendiri. Menyederhanakan pembuatan program aplikasi.
Model Konseptual Mewakili view global dari keseluruhan database perusahaan dengan mengintegrasikan semua view eksternal (entitas, hubungan, batasan, & proses) ke dalam satu view global dari data. Dikenal dengan conceptual schema. Memiliki beberapa keuntungan: Menyediakan pandangan menyeluruh dari lingkungan data yang mudah dimengerti. Independen dari software & hardware. Independensi software berarti model tidak bergantung pada software DBMS. Independensi hardware berarti model tidak bergantung pada hardware yang digunakan. Istilah desain logis mengacu pada pembuatan model data konseptual yang dapat diimplementasi pada DBMS manapun.
Model Internal Setelah DBMS dipilih, model internal memetakan model konseptual ke DBMS. Merupakan representasi dari database yang dilihat oleh DBMS. Internal schema menggambarkan representasi dari model internal menggunakan bentuk database yang didukung oleh database yang dipilih. Karena yang dipelajari adalah model relasional maka model konseptual akan dipetakan ke model relasional. Entitas dalam model konseptual akan menjadi tabel dalam model relasional. Schema internal diekspresikan menggunakan SQL.
Pengembangan model internal penting khususnya untuk model hierarki atau jaringan karena model tersebut membutuhkan spesifikasi tepat dari lokasi penyimpanan data & jalur akses data. Model relasional tidak memerlukan banyak detail dalam model internal karena RDBMS tidak menangani jalur akses data secara transparan tetapi tetap memerlukan lokasi penyimpanan data, khususnya dalam lingkungan mainframe. Karena model internal bergantung pada software database maka perubahan dalam software DBMS membutuhkan perubahan pada model internal agar sesuai dengan karakteristik & kebutuhan dari database. Ketika model internal dapat diubah tanpa mempengaruhi model konseptual maka dikatakan logical independence. Model internal tidak bergantung pada hardware sehingga perubahan pada alat penyimpanan & sistem operasi tidak berdampak pada model internal.
Model Fisik Beroperasi pada tingkat terbawah dari abstraksi, mendeskripsikan cara data disimpan pada media penyimpanan seperti disk atau tape. Membutuhkan definisi dari alat penyimpanan fisik & metode akses yang dibutuhkan untuk mencapai data dalam alat penyimpanan, sehingga bergantung pada software & hardware. Desainer harus memiliki pengetahuan mengenai hardware & software yang dibutuhkan untuk mengimplementasi desain database. Ketika model fisik berubah tanpa mempengaruhi model internal maka dikatakan physical independence.
Review Materi Mahasiswa mengerjakan tugas yang ada di portal.