520 likes | 852 Views
Basis Data Week 2: Arsitektur & Model Basis Data. I Gede Mahendra Darmawiguna S.Kom M.Sc Jurusan Pendidikan Teknik Informatika. Universitas Pendidikan Ganesha. Istilah-istilah dalam sistem database :
E N D
Basis DataWeek 2: Arsitektur & Model Basis Data I GedeMahendraDarmawiguna S.KomM.Sc JurusanPendidikanTeknikInformatika UniversitasPendidikanGanesha
Istilah-istilahdalamsistem database : • Enterprise, merupakansuatubentukorganisasi, seperti : instansi, sekolah, bank, pabrik, dan lain-lain. • Entitas, suatuobyek yang dapatdibedakandenganobyeklainnya yang dapatdiwujudkandalam database. Contoh : Entitasdilingkunganuniversitas → mahasiswa, dosen, matakuliah Entitasdilingkunganinstansipemerintah → karyawan, departement • Atribute/Field,merupakankarakteristikentitastertentu. Contoh : Entity Mahasiswa → atributenyaadalah NPM, Nama, Alamatdan lain-lain. Entity Bank → atributenyaadalahNomor_Rekening, Nama_Nasabah.
Data Value,merupakan data actual atauinformasi yang disimpanditiap data elemenatauatribute. Isidariatributedisebutnilai data (data value). Contoh : • AtributeNama_Mahasiswa → Wayan Leger, KetutDoni, Antony. • AtribueAlamat_Mahasiswa → BanjarTegal, Banyuning, Penarukan. • Record/Tuple,merupakankumpulanisielemen data yang salingberhubunganmenginformasikantentangsuatu entity secaralengkap. Contoh : • Kumpulan atributeNomor_Bp, Nama_MahasiswadanAlamatberisikan “05111001”, Wayan Leger, BanjarTegal. • Kumpulan atributeKode_Obat, Nama_Obatberisikan K01, Konidin.
File,kumpulan record sejenis yang mempunyaipanjangelemendanatribute yang sama. • Kunci Elemen Data, merupakan tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas. • Database Management System (DBMS),merupakankumpulan file yang salingberkaitanbersamadengan program untukpengelolanyaataumerupakankumpulan software yang mengkoordinasikansemuakegiatan yang berhubungandengan database agar dapatdiakses/dipakaioleh user (pemakai).
Dari pengertian yang dijelaskan diatas secara umum dapat digambarkan sebagai berikut :
KegunaanDatabase Penyusunan database digunakanuntukmengatasimasalah-masalahpadapenyusunan data yaitu : a. Redudansi Data Redudansi data adalahmunculnya data-data yang samasecaraberulang-ulangpada file data gabungan yang semestinyatidakperluterjadi. Data redudansiperludihindarikarena : - Mengakibatkanpemborosanpenggunaan media penyimpanan - Proses updating yang lebih lama - Terjadinyaketidakkonsistensi data yang semakin besar
Contoh : Struktur File Karyawan Dari contoh diatas dapat dilihat terjadinya redudancy data yakni pada field golongan dan gaji pokok. Dimana setiap kali rincian record golongan dimasukkan maka akan muncul pula rincian data gaji pokok. Sehingga kerangkapan data akan terjadi pada file tersebut.
b. Inkonsistensi Data Inkonsistensi Data terjadi akibat : * Kesalahan dalam pemasukan data (data entry) * Update anomaly, yaitu : proses untuk mengapdate data tetapi mengakibatkan munculnya data yang tidak konsisten atau kehilangan informasi obyek yang ditinjau. Contoh : Inkonsistensi Data dalam File Mahasiswa dan KRS : File Mahasiswa
File KRS : Padacontohdiatasterjadiketidakkonsistensi data pada field namamahasiswadimanapada record NPM “03111005” yang seharusnya record namamahasiswapada file KRS tertulisLinda Yanti, karenaterjadikesalahan entry data tertulisLinda Yuliana. Data Inkonsistensiperludihindarikarenaakanmengakibatkankesalahan yang fatal padahasilpengolahan database yang tidaksesuaidenganfaktaataukenyataan yang ada.
ARSITEKTUR BASIS DATA Padatahun 1975, badanstandarisasinasionalAmerika ANSI-SPARC (American National Standards Institute – Standards Planning and Requirements Committee) menetapkantiga level abstraksidalam database, yaitu: Level Eksternal (external level) atau Level Pandangan (view level) 2. Level Konseptual (conceptual level) Level Internal (internal level) atau Level Fisik (physical level)
ARSITEKTUR BASIS DATA Level External atau View Level Konseptual Level Internal
ARSITEKTUR BASIS DATA External Level atau View Level • Level Eksternaladalah level yang berhubunganlangsungdenganpengguna database. • Pada level inipengguna (user) hanyabisamelihatstruktur data sesuaidengankeperluannyasehinggasetiap user bisamemilikipandangan (view) yang berbedadari user lainnya. • Pada level ini pula dimungkinkanpandangan user berbedadenganrepresentasifisikdari data, misalkanuntuk data harisecarafisik data direkamdalambentukkode (1, 2, 3, dst) sedang user melihat data dalambentukteksnamahari (Ahad, Senin, Selasa, …). • Data yang dilihatoleh user seakan-akanberasaldarisatu file, secarafisikmungkindiambildaribeberapa file yang berelasi.
ARSITEKTUR BASIS DATA Level Konseptual • Level Konseptual adalah level dari para administrator database, pada level ini didefinisikan hubungan antar data secara logik, sehingga diperlukan struktur data secara lengkap. • Para administrator database memahamibagaimanasatu view dijabarkandaribeberapa file data, demikian pula padasaatperancangan database merekadapatsajamembagi data menjadibeberapa file agar dapatdiaksesdandisimpansecaraefisien.
ARSITEKTUR BASIS DATA Level Internal • Level Internal adalah level dimana data disimpansecarafisikdalambentukkode, teks, angka, bit. • Pada level inididefinisikanallokasiruangpenyimpanan data, deskripsi data dalampenyimpanan, kompressi data (agar lebihhemat), danenkripsi data (agar lebihaman).
Konsepdari level-level tersebut akanmenambahpengertianmengenaikebebasan data/data independence. Data independence dapatdibagimenjadiduabagian : 1. Physical data independence. 2. Logical data independence. Physical Data Independence: Kebolehanuntukmengubahpolafisik database tanpamengakibatkansuatuaplikasi program dituliskembali. Modifikasipada level fisikbiasanyapadasaatmeningkatkandayaguna. Logical Data Independence Kebolehanuntukmengubahpolakonseptualtanpamengakibatkansuatuaplikasi program dituliskembali. Modifikasipada level inikhusussaatstrukturlogikadatabase ditambahkan/dikurangi. Agar independensi data dapatdicapaimakadisediakanpemetaanantarlapisan (level), yaitu pemetaaneksternal-konseptualdanpemetaankonseptual-internal.
Alasanperlunyaprinsip data independence diterapkanpengelolaansistem database adalah : Database administrator dapatmengubahisi, lokasi, danorganisasi database, tanpamengganggu program aplikasi yang sudahada. Vendorhardware dan software pengelolaan data bisamemperkenalkanproduk-produkbaru, tanpamengganggu program-program aplikasi yang sudahada. Memudahkanperkembangan program aplikasi. Memberikanfasilitaspengontrolanterpusatoleh DBA demi security danintegritas data denganmemperhatikanperubahan-perubahankebutuhan user (pemakai).
19 MODEL DATA • BeberapaJenis Model Data : • Model data File datar ( Flat-file data model ) • Model data Hirarki (Hierarchichal data model ) • Model data Jaringan ( Network data model ) • Model data Relasional ( Relational data model ) • Model data KeterhubunganEntitas ( Entity Relationship data model ) • Model data BerorientasiObjek (Object Oriented data model ) Model Data : Kumpulan perangkatkonseptualuntukmenggambarkan data, hubungan data, semantik data danbatasan data.
20 MODEL DATA MODEL DATA FILE DATAR ( FLAT-FILE DATA MODEL ) Data flat-file terdiridarisatuataulebih file yang dapatdibaca, yang secara normal berbentuk format file text. Informasipadasuatu flat-file disimpansebagai fields, dengan fields-nyamemilikipanjangkonstanataupanjangbervariasi yang dipisahkanbeberapakarakter (delimeter).
21 MODEL DATA Model data flat-file denganpanjang fields-nyakonstan. Contoh 1, Flat-file Model Data
22 MODEL DATA • Terdapat 3 fields : identifikasi angka, nama dosen, dan nama program studi. • Setiap fields memiliki panjang konstan karena field identifikasi angka selalu dimulai pada kolom #1 dan selalu berakhir pada kolom #4, field nama dosen selalu dimulai pada kolom #6 dan selalu berakhir pada kolom #25, dan seterusnya. PenjelasanContoh 1,
23 MODEL DATA Model data flat-file denganpanjang fields-nyabervariasi 0123: Mulyono: Progdi TI-S1 1234: Max Tetelepta : Progdi TI-S1 2345: TyasCatur P.: Progdi TI-S1 3456: IfanRiska: ProgdiTI-S1 4567: AyuPertiwi: ProgdiTI-S1 5678: EtikaKartika: ProgdiTI-S1 6789: AnthoniSuteja: ProgdiTI-S1 7890: FikriBudiman: Progdi TI-S1 Contoh 2, Flat-file Model Data
24 MODEL DATA • Model data flat-file denganpanjang fields bervariasi yang dipisahkandengandelimeter. • Untuksetiap fields dipisahkandengantitikdua. Setiap fields memilikipanjangtidakkonstan. • Padasaatmenggunakan fields separator, seharusnya fields seperatornyabukanmerupakankarakter yang terdapatpada data. PenjelasanContoh 2,
25 MODEL DATA Kelemahan model data flat-file: Flat-file tidakmenggunakanstruktur data yang denganmudahdapatdirelasikan Sulituntukmengatur data secaraefisiendanmenjaminakurasi Lokasifisik fields data dengan file harusdiketahui Program harusdikembangkanuntukmengatur data
26 MODEL DATA • Basis data Hirarkisatutingkatdiatas basis data flat-file, dalamhalinikaitanyadengankemampuanuntukmenemukandanmemelihararelasiantarkelompok data • Arsitektur model data hirarkiberdasarkankonsephubungan parent/child • Pada model data hirarki, suatu root table atau parent table beradaapastruktur yang paling atas, terhubungke child table yang dihubungkandengandata MODEL DATA HIRARKI ( HIERARCHICHAL DATA MODEL )
27 MODEL DATA Contoh: Hirarki Model Data
28 MODEL DATA Keterangan : Kelebihan basis data hirarkidibandingkan flat-file: Data dapatdengancepatdilakukan retrieve Integritas data mudahdilakukanpengaturan Kelemahan basis data hirarkidibandingkan flat-file: Penggunaharussangat familiar denganstruktur basis data Terjadiredudansi data
29 MODEL DATA MODEL DATA JARINGAN ( NETWORK DATA MODEL) Model basis data jaringanmerupakanperbaikandari model basis data hirarki, yaitudenganmenambahkankemampuan root table untukmelakukan share relationships dengan child tables. Dalamhalini child table dapatmemilikibanyak root table danuntukmelakukanaksesterhadap child table, tidakdibutuhkanlagiuntukmengakses root table terlebihdahulu.
30 MODEL DATA Contoh 1, Model Data Jaringan
31 MODEL DATA Contoh 2, Model Data Jaringan
32 MODEL DATA Model Data Jaringan Kelebihan model data jaringan: Data lebihcepatdiakses User dapatmengakses data dimulaidaribeberapatabel Mudahuntukmemodelkan basis data yang komplek Mudahuntukmembentuk query yang komplekdalammelakukan retrieve data.
33 MODEL DATA Model Data Jaringan Kelemahan basis data jaringan: Struktur basis datanyatidakmudahuntukdilakukanmodifikasi Perubahanstruktur basis data yang telahdidefinisikanakanmempengaruhi program aplikasi yang mengakses basis data User harusmemahamistruktur basis data.
34 MODEL DATA MODEL DATA RELASIONAL ( RELATIONAL DATA MODEL ) Model basis data relasionalmerupakan model basis data yang paling populerbanyakdigunakansekarangini Unit utama yang disimpanpada basis data adalahberbentuktabelataukelompok data yang salingberhubungan Tabelterdiribarisdankolom, barisadalahmerepresentasikantupleatau record padatabel, dankolommerepresentaksikan fields padatabel Tabeldapatberhubungandengantabel yang lain denganmenggunakankunci
35 MODEL DATA Contoh : Model Data Relasional
36 MODEL DATA Kelebihan basis data relasional: Data sangatcepatdiakses Struktur basis data mudahdilakukanperubahan Data direpresentasikansecaralogik, user tidakmembutuhkanbagaimana data disimpan. Mudahuntukmembentuk query yang komplekdalammelakukan retrieve data Mudahuntukmengimplementasikanintegritas data Data lebihakurat Mudahuntukmembangundanmemodifikasi program aplikasi Telahdikembangkan Structure Query Language (SQL).
37 MODEL DATA Kelemahan basis data relasional: Kelompokinformasi/tables yang berbedaharusdilakukan joined untukmelakukan retrieve data User harus familiar denganrelasiantartabel User harusbelajar SQL.
38 MODEL DATA Model Data KeterhubunganantarEntitas ( Entity Relationship data model ) Menjelaskanhubunganantar data dalamsistem basis data berdasarkansuatupresepsibahwa real world terdiridariobyek-obyekdasar yang mempunyaihubunganrelasiantaraobyek-obyektersebut Relasiantaraobyekdilukiskandenganmenggunakansimbol-simbolgrafistertentu
39 nim Kode_kul Nm_kul nim Kode_kul Mempelajari Mahasiswa Mata Kuliah Alamat_mhs SKS Nm_mhs Index_nilai semester MODEL DATA Contoh : Model Data KeterhubunganantarEntitas
40 MODEL DATA : menunjukkan obyek dasar/entitas (entity) : menunjukkan relasi : menunjukkan atribut dari obyek dasar/entitas : menunjukkan adanya relasi/link Keterangan simbol :
41 MODEL DATA Model Data BerorientasiObyek Model basis data berorientasiobjekadalahsuatu model basis data, dimana data didefinisikan, disimpan, dandiaksesmenggunakanpemrogramanberorientasiobjek. Basis data berorientasiobjekdidefinisikandenganmenggunakanbahasapemrogramanberorientasiobjek, yaitubahasa Java. Aplikasi End user jugadibangundenganmenggunakanbahasaberorientasiobjek. Object database management system digunakanuntukmembuat link antara basis data danaplikasi.
42 MODEL DATA Contoh : Model Data BerorientasiObyek
43 MODEL DATA Relasipada basis data berorientasiobyek
44 MODEL DATA Kelebihan basis data berorientasiobjek: Programmer hanyadibutuhkanmemahamikonsepberorientasiobjekuntukmengkombinasikankonsepberorientasiobjekdengan storage basis data relasional Objekdapatdilakukansifatpewarisandariobjek yang lain Secarateoritismudahuntukmengaturobjek Model data berorientasiobjeklebihkompatibeldengan tools pemrogramanberorientasiobjek.
45 MODEL DATA Kelemahan basis data berorientasi objek: User harus memahami konsep berorientasi objek, karena basis data berorientasi objek tidak dapat bekerja dengan metoda pemrograman tradisional
46 MODEL DATA Latihan dan Soal Sebelumbeberapa vendor-vendor seperti Microsoft dan Oracle mengeluarkan DBMS, bagaimanaorangatauperusahaanmelakukanpenyimpanan data. Jelaskansecarasingkat ! Berikanalasananda, mengapa model basis data flat-file sulituntukdapatdilakukanrelasi ? Berikanperbedaandanpersamaanmengenaihubungan parent/child yang terdapatpada model basis data hirarkidanjaringan ! Bagaimanarepresentasi model basis data relasional, berikanpenjelasansecarasingkat !
47 MODEL DATA Latihan dan Soal Untuk basis data yang terdiridaribeberapatabel, bagaimana model basis data relasionaldalammerelasikantabel-tabeltersebut, berikanuraiansecarasingkat ! Mengapa model basis data relasionalmenjadisangatpopuler, dansejauhmanadukungan yang diberikanoleh vendor-vendor DBMS ? Apa yang andaketahuitentang model basis data berorientasiobjek, berikanpenjelasansecarasingkat ! Bagaimanarepresentasi model basis data berorientasiobjek ?