Pert 3 - Model Data

Download Report

Transcript Pert 3 - Model Data

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
memastikan integritas data.
data
untuk
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.