8

Click here to load reader

DocumentBd

  • Upload
    hz-tena

  • View
    323

  • Download
    8

Embed Size (px)

DESCRIPTION

Menjelaskan tentang : Pengantar Basis Data, Lingkungan BD, DBMS, E-R, Konsep tabel/relasi, Normalisasi, Perancangan Basis Data Dan SQL

Citation preview

Page 1: DocumentBd

SistemBasisData1 Deskripsi Singkat Pengantar Basis Data Lingkungan BD DBMS E-R Konsep tabel/relasi Normalisasi Perancangan Basis Data SQL Tujuan

Mahasiswa mampu memahami konsep basis data, mengetahui tahap-tahap perancangan basis data dan menerapkannya, serta menggunakan perintah SQL untuk memanipulas BD

Referensi Abdul Kadir, Konsep dan tuntunan Praktik

Basis Data, Andi Adi Nugroho, S.T., Konsep pengembangan

SBD, Informatika C.J.Date, Pengenalan SBDm Indeks, 2004

Fatnsyah, Basis Data, Informatika, 2004 Pendahuluan

Sekarang peran basisdata sangat menonjol. Pemrosesan basisdata menjadi perangkat andalan yang kehadirannya sangat diperlukan oleh berbagai institusi dan perusahaan.

Basisdata tidak harus selalu berhubungan dengan komputer

Sejak kita lahir, mencari akte kelahiran, masuk sekolah, sampai meninggalpun data kita di catat di basisdata

Karena perkembangan teknologi maka basisdata kemudian dihubungkan dengan komputer

Kita menggunakan ATM (lihat Saldo,dll), melihat nilai-nilai selama 1 semester, pinjam buku diperpustakaan, semua itu menggunakan basisdata

Di Internet kita bisa menampilkan gambar, suara, video secara bersamaan dalam satu halaman WEB (disebut aplikasi Multimedia)

Aplikasi-aplikasi pada SIG (S.I. Geografis), kita dapat menyimpan serta menampilkan data-data pada peta, grafik, pemetaan geologi dan pertambangan.

Basisdata tidak hanya mempercepat pemperolehan informasi, tetapi juga dapat meningkatkan pelayanan kepada pelanggan. Bagi perusahaan, keuntungan seperti ini dapat meningkatkan daya saing terhadap perusahaan lain. Hal ini pula yang mendorong perusahaan pemrosesan mulai beralih memanfaatkan basis data

Gambaran basisdata dan penerapannya Berapa jumlah mahasiswa yang mengikuti kuliah

basisdata? Siapa sajakah yang lulus pada periode Agustus

tahun ini? Berapa prosestase mahasiswa yang tidak registrasi

pada semester ini? Berapa jumlah sks yang diperoleh mahasiswa

bernama Edi? Data dan Informasi Data adalah fakta mengenai objek, orang dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter atau simbol, suara, video) Informasi adalah hasil analis dan sintesis terhadap data. Dengan kata lain, informasi adalah data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang, entah itu manajer, staf, ataupun orang lain di dalam suatu organisasi atau perusahaan Menurut Encyclopedia of Computer Science and Enginering

Informasi adalah “data yang digunakan dalam pengambilan keputusan”, alasannya adalah bahwa informasi bersifat relatif, relatif terhadap situasi; relatif terhadap waktu saat keputusan diambil, juga relatif terhadap pembuat keputusan dan bahkan juga terhadap latar belakang pengambil keputusan.

Informasi menjadi sumber penting untuk melakukan pengambilan keputusan. Informasi dapat mengurangi ketidakpastian dan mempermudah pengambilan keputusan Contoh: Basisdata MHS: - Datanya: Nama, alamat, tgl.lahir, no.telp - Dari data tsb, kita bisa mencari informasi ttg: 1. Tanggal berapa mahasiswa nama

‘Adi’ dilahirkan 2. Berapa jml mhs yang tinggal di

Yogya Meta data - adalah data yang menjelaskan data yang lainnya - Penjelasan ini dapat berupa definisi data, struktur

data, aturan, serta batasan - Misal: kita punya deretan angka 5184025, meta

datanya: - Berupa NIM Mhs yang berkarakteristik: 7 karakter

numerik - Tidak diperkenankan ada huruf - Tidak diperkenankan ada tanda baca (: , ‘ ) - Tidak diperkenankan ada angka negatif BasisData (database) Chou

Kumpulan informasi bermanfaat yang diorganisasikan ke dalam tatacara khusus

Fabbri dan Schwab Sistm berkas terpadu yang dirancang terutama untuk meminimalkan pengulangan data

Date Tempat untuk sekumpulan berkas data terkomputerisasi

Harianto Kristanto Basisdata/database adalah kumpulan file-file yang saling berelasi, relasi tsb biasa ditunjukkan dengan kunci dari tiap file yang ada. Satu database menunjukkan satu kumpulan data yang dipakai dalam satu lingkup perusahaan, instansi.

Page 2: DocumentBd

b. Sophisticated User / Pengguna Canggih Yaitu pemakai yang beriinteraksi dengan basis data tidak melalui program melainkan menggunakan bahasa query. Misal: Analis sistem, Pelaku End User Computing

c. Application Programmer / Pemrogram Aplikasi

Yaitu profesional dibidang komputer yang membuat program aplikasi menggunakan tool untuk membuat program aplikasi seperti Visual Foxpro, Delphi dll

d. DataBase Adiministrator (DBA)

Yaitu orang atau tim yang bertugas untuk mengelola sistem basis data secara keseluruhan. Tugas dari DBA antara lain : Mendefinisikan maupun modifikasi Skema

(dengan pernyataan DDL) Mendefinisikan struktur tempat penyimpanan

dan metode akses Mendefinisikan Batasan Integritas Pemberian Kewenangan / Hak Akses Pemeliharaan (Backup, recovery/memanggil

kembali data yang hilang atau rusak, memantau kinerja)

Konsep basisdata memerlukan dukungan pemahaman tentang beberapa hal, antara lain

- Aplikasi basisdata - Bahasa SQL - Manajemen basisdata - Manajemen dan Bisnis - Software basisdata - Hardware/teknologi informasi

Kriteria Penting suatu basisdata Berorientasi pada data (data oriented) bukan berorientasi pada program (program oriented) yang akan menggunakannya Dapat digunakan oleh pemakai yang berbeda-beda atau beberapa program aplikas tanpa perlu mengubah suatu basisdata Data dalam basisdata dapat berkembang dengan mudah baik volume maupun strukturnya Data yang ada dapat memenuhi kebutuhan sistem-sistem baru secara mudah Data dapat digunakan dengan cara yang berbeda-beda Kerangkapan data (data redundancy) minimal

Kekangan / Aturan dalam BD / Kegunaan database / syarat database Penyusunan satu database digunakan untuk mengatasi masalah-masalah pada penyusunan data yaitu: Kerangkapan data/Redundansi

Penyimpanan dibeberapa tempat untuk data yang sama, ini mengakibatkan pemborosan ruang penyimpanan dan biaya untuk mengakses jadi lebih tinggi

Inkonsistensi Data (Tidak konsisten) Dapat terjadi akibat: proses pembaharuan data (data entry) yang tidak benar, Proses pembaharuan data (update) yang tidak benar dan pengendalian sistem yang tidak baik/terkontrol.

DBMS (Database Management System) Kumpulan file yang saling berkaitan bersama dengan program untuk pengelolanya disebut sebagai DBMS. DBMS berisi satu koleksi data yang saling berelasi dan satu set program untuk mengakses data tersebut. Database adalah kumpulan datanya, sedangkan program pengelolanya berdiri sendiri dalam satu paket program yang komersial untuk membaca data, mengisi/menambah data, menghapus data dan melaporkan data dalam database. Keunggulan DBMS Kepraktisan: sistem yang berbasis kertas akan menggunakan kertas yang sangat banyak untuk menyimpan informasi Kecepatan: mesin dapat mengambil atau mengubah data jauh lebih cepat dibanding manusia Mengurangi kejemuan: Orang cenderung menjadi bosan kalau melakukan tindakan-tindakan berulang yang menggunakan tangan Kekinian: Informasi yang tersedia pada DBMS akan bersifat mutahir dan akurat setiap saat Keuntungan basisdata terhadap sistem pemrosesan berkas Kemubaziran data terkurangi Integritas data Independensi data Konsistensi data Berbagi data Penggunaan data lebih mudah Komponen Utama DBMS 1.Data (Data Operasional,Data Masukan,Data Keluaran) 2. Hardware (Perangkat Keras) 3. Software (Perangkat Lunak) 4. User / Pemakai Keterangan : 1. - Data Operasional: yaitu data yang disimpan

dalam basis data baik itu berupa data master maupun data transaksi - Data Masukan (Input data): yi data dari luar sistem yang dimasukkan melalui melalui peralatan input seperti keyboard yang dapat mengubah data operasional - Data Keluaran (Output data): yaitu data berupa laporan melalui peralatan output seperti screen, printer dll, sebagai hasil proses dari dalam suatu sistem yang mengakses data operasional.

2. Hardware (Perangkat Keras): Terdiri dari semua peralatan komputer yang berbentuk fisik yang digunakan untuk pengelolaan basis data, seperti : HardDisk, Keyboard, Monitor dll.

3. Software (Perangkat Lunak): Digunakan sebagai interface (antar Muka) antara pemakai dengan data fisik basis data, misalnya: Program-program aplikasi (POS, Inventory System dll), maupun DBMS (MySQL, SQL Server, Oracle dll) dan Sistem Operasi (DOS, Windows, Linux), walaupun SO tidak termasuk bagian dari sistem basisdata tapi sangat diperlukan.

4. User Atau Pemakai dibagi menjadi 4 bagian : a. Naïve User / Pemakai Awam Yaitu pemakai yang tidak berpengalaman/ tidak mahir. Berinteraksi dengan basisdata menggunakan program aplikasi yang khusus dibuat untuk suatu keperluan. Misal: Teller Bank, Kasir, Web User.

Page 3: DocumentBd

Kesulitan dalam pengaksesan data Pada saat tertentu dibutuhkan mencetak data

siapa saja pelanggan yang berada di kode pos 55122 Yk, padahal belum ada program yang telah ditulis untuk mengeluarkan data tersebut. Maka kesulitan tsb timbul, dan penyelesaiannya kearah DBMS yang mampu mengambil data secara langsung dengan bahasa yang familiar dan mudah digunakan (user friendly)

Data terisolasi/Isolasi data untuk standarisasi Dapat terjadi akibat: Tidak adanya

kemungkinan untuk menghubungkan antar data dalam file dan tidak ada standarisasi data (penulisan format data yang tidak sama jika data tersebar dibeberapa file akan menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan datanya)

Keamanan data (Security) Meliputi: Recovery, integrity (tipe dan ukuran

data), concurency, privacy. Tidak setiap pemakai sistem database

diperbolehkan untuk mengakses semua data. Misal: data mengenai gaji pegawai, hanya boleh dibuka oleh bag. Keuangan, tidak diperkenankan bagian lain untuk membaca atau mengubahnya.

Integritas data/kesatuan Database berisi file-file yang saling berkaitan,

masalah utama bagaimana kaitan antara file tersebut, maka secara teknis harus ada field kunci yang mengaitkan kedua file tersebut

Multiple User (Banyak pemakai) Suatu database harus dirancang untuk dapat

digunakan banyak pemakai dalam waktu yang bersamaan

Independensi data (Kebebasan data) Apabila kita menggunakan bhs. Pemrograman

BASIC dan kita punya file pelanggan dengan field: No.plg, nama, alamat, maka kalau tejadi perubahan struktur file pelanggan maka programnya harus ikut diubah. Hal ini disebut program yang telah kita buat tidak bebas terhadap database yang ada.

Berbeda jika dengan paket bahasa yang diciptakan dari DBMS, apapun yang terjadi pada struktur file, setiap kali hendak melihat data cukup dengan utility LIST, hendak menambah data dengan APPEND, tidak usah merubah programnya.

Apapun perubahan dalam database, semua perintah akan mengalami kestabilan tanpa perlu ada yang diubah.

Tetapi apabila ada syarat terhadap database yang ada. Misal: syarat pengambilan uang di Bank harus disisakan minimal Rp. 25.000,-. Syarat ini dimasukkan dalam aplikasi program yang di bangun, dan akan berubah menjadi Rp.50.000,-, maka program aplikasinya yang harus diubah dan ini menunjukkan ketidakbebasan program yang dibuat terhadap database

SISTEM BASISDATA Sistem BasisData adalah gabungan antara

Basisdata dan perangkat lunak DBMS termasuk di dalamnya program aplikasi yang dibuat dan bekerja dalam suatu sistem yang bertujuan untuk dapat memanipulasi data dari basisdata sehingga diperoleh informasi yang diinginkan.

Sistem BasisData Menurut Date – Sistem terkomputerisasi yang tujuan utamanya

adalah memelihara informasi dan membuat informasi tersebut tersedia saat dibutuhkan

Pengguna Sistem BasisData – Menambah file baru ke SBD – Mengosongkan berkas – Menyisipkan data ke suatu berkas – Mengubah data pada suatu berkas – Menghapus data pada suatu berkas Menyajikan suatu informasi yang diambil dari sejumlah berkas

LINGKUNGAN BASIS DATA 1. Arsitektur Basis Data

Sesuai dengan ANSI SPARC (American Nasional Standard Institute Standard Plainning And Requirement Commite) yaitu serupa dengan standart untuk arsitektur jaringan yang ditetapkan oleh komite khusus. Arsitektur terdiri atas 3 lapis (disebut juga level) :

a. Lapis Internal b. Lapis konseptual c. Lapis Eksternal.

Digambarkan sebagai berikut :

Arsitektur 3 tingkat

Page 4: DocumentBd

Tujuan adanya arsitektur 3 tingkat adalah memunculkan abstraksi dan memindahkan pandangan pemakai terhadap basisdata dan cara implementasinya secara fisik sehingga memperoleh keuntungan ketidakbergantungan/independensi data yang tinggi. Alasan:

Tiap pemakai dapat mengakses data yang sama tetapi dengan pandangan yang berbeda, dengan kata lain user view sesuai dengan kebutuhan dan bisa berbeda tiap user

User tidak berurusan dengan kerumitan penyimpann fisik basisdata

DBA dapat melakukan perubahan struktur penyimpanan basisdata tanpa mempengaruhi user view

Physical level/Tingkat Internal/Tingkat Fisik

Merupakan tingkat terendah Mendeskripsikan cara penyimpanan fisik data Mengurusi alokasi ruang penyimpanan data

dan indeks Berhubungan dengan metode manajemen file

untuk menyimpan dan mengakses data Conseptual level/Tingkat konsep

Mendeskripsikan tentang data apa yang disimpan

Menyatakan Entitas, atribut dan keterhubungannya (relationship) serta konstrain maupun informasi mengenai keamanan dan integritas data

Berisi Struktur logik View Level/Tingkat Pandangan/External Level

Berinteraksi dengan sebagian dari basisdata (sesuai kebutuhan user)

View/padangan mendifinisikan satu bagian untuk satu kelompok pemakaian tertentu

Dapat menyediakan banyak pandangan berbeda pada basisdata yang sama

IMPLEMENTASI BASISDATA 1. Microsoft Access Suatu basisdata microsoft acces hanya terdiri dari satu file. Tidak ada transaction log yang merekam transaksi. Kita tidak bisa menambah jumlah file ke suatu basisdata dan juga tidak dapat mengurangi file-file dari basisdata. Suatu basisdata microsoft Acces persisnya harus ditulis sebagai basisdata dalam format microsoft access. Basisdata microsoft acces berakhiran MDB (Microsoft DataBase). Suatu basisdata Microsoft access dioperasikan oleh foregroundprocess MSAccess.Exe 2. Microsoft Fox Pro

Suatu basisdata Microsoft fox Pro terdiri atas kumpulan file berisi tabel, kumpulan file berisi index, kumpulan file berisi query dan kumpulan file program untuk modul, form dan laporan (report). Satu basisdata Microsoft fox pro dioperasikan oleh foreground process MSFP.Exe. 3. Microsoft SQL Server Suatu basisdata Microsoft SQL server terdiri atas kumpulan data files dan kumpulan (transaction) log files. Kita bisa menambahkan data file dan log file ke suatu basisdata. Satu atau lebih basisdata dioperasikan oleh satu instance (background process) yang namanya sama dengan nama basisdata.

4. Oracle Suatu basisdata Oracle terdiri atas kumpulan config

file kumpulan data files, dan kumpulan log file. Satu basisdata dioperasikan oleh satu atau lebih instance yang namanya boleh berbeda degan nama basisdata. Satu instance merupakan kumpulan background process. Hirarki data

Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun dalam sebuah hirarki, mulai dari yang paling sederhana hingga paling kompleks. Susunan/hirarki datanya sbb:

2. MODEL DATA Model data merupakan suatu cara untuk

menjelaskan tentang data-data yang tersimpan dalam basisdata dan bagaimana hubungan antar data tersebut untuk para pemakai (user) secara logik. Konsep yang digunakan untuk membuat s t r uktur Basisdata Terdapat 2 kelompok model data : 1. Konseptual / high level

Bagaimana pemakai basisdata memandang/memperlakukan data

2. Fisikal / Low Level Bagaimana deskripsi detail data disimpan dalam komputer (format perekaman, urutan dan indexing)

Model data konseptual terdiri dari 2 macam : 1. Object base data model (Model data berbasis

object) Menjelaskan hubungan logik antar data

dalam suatu basisdata berdasar obyek datanya

Mis : Entity Relationship (E-R), Semantik, Object Oriented

2. Record Base data Model (Model Data berbasis Record) Menjelaskan hubungan logik antar data berdasar record. Digunakan untuk menguraikan implementasi sistem basisdata

Mis : Relational, Hirarki, Jaringan E-R Model

Entity Relationship Model �Dikenalkan oleh Chen (1976)

Berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi obyek-obyek dasar yang dinamakan entitas (Entity) serta hubungan (Relationship) antara entitas-entitas tsb.

Tak Bergantung DBMS dan platform perangkat keras

Page 5: DocumentBd

Digunakan untuk : Mengembangkan Model Konseptual Menjelaskan Struktur Basis Data Memberikan gambaran kepada pengguna terhadap data. Tiga Komponen Penting dalam Model E-R adalah: Entity, Atribut dan Relasi ENTITY / ENTITAS Obyek di dunia nyata yang dapat dibedakan dengan obyek yang lainnya. Set Entity / Himpunan Entitas: Kumpulan Entity yang serupa. Set Entity dapat berupa: Fisik : Mahasiswa, Pasien, Kendaraan Konsep / Logik : Pekerjaan, Mata Kuliah, Kursus Simbol Entity : (berupa kotak Segiempat) Contoh Entity:Totok, Andi, Budi �dimodelkan sebagai Mahasiswa

ATRIBUT Ciri atau karakteristik yang bermakna untuk mendeskripsikan entitas Bertujuan untuk membedakan obyek-obyek di dalam entity. Karakteristik yang bermakna dan tidak bermakna contoh untuk entity mahasiswa maka: - bermakna: NIM, nama_mahasiswa, IPK - tidak bermakna: tinggi_badan, berat badan Tinggi_badan dan berat_badan menjadi karakteristik yang bermakna bagi entity petinju Simbol atribut : elips dan dihubungkan dengan entity melalui garis

JENIS-JENIS ATRIBUT : Atribut Sederhana Atribut yang disusun hanya dari satu komponen tunggal dengan keberadaan bebas. Atribut sederhana tak dapat dibagi lagi �atribut atomik Misal : nama, jenis_kelamin Atribut Komposit Atribut yang disusun dari banyak komponen yang masing-masing keberadaannya bebas. Atribut dapat dipecah menjadi komponen yang lebih kecil yang keberadaannya bebas Misal : alamat �jalan, no_rumah, kecamatan • Atribut Tunggal Mengandung hanya satu nilai. Bisa terdiri dari atribut sederhana atau atribut komposit Misal : NIM, No_karyawan, Agama Ket : Seorang mahasiswa hanya punya 1 NIM, atau 1 Agama • Atribut Bernilai Banyak / Jamak Atribut yang mengandung banyak nilai Misal : hobby, ketrampilan, nomor_telepon Ket : Seorang mahasiswa bisa memiliki banyak hobby atau lebih dari 1 nomor_telepon • Atribut turunan Atribut yang mengandung nilai dimana nilai tersebut bisa diperoleh dari hasil kalkulasi atau penerapan algoritma ke atribut lain Misal : atribut umur �bisa diperoleh dari atribut tanggal_lahir

Cara penggambaran beberapa jenis atribut di atas :

Gambar 4. Cara Penggambaran Atribut Domain Atribut Himpunan nilai yang diberikan ke suatu atribut Termasuk diantaranya: tipe data, panjang, konstrain, format dll Atribut yang berbeda boleh mempunyai domain yang sama Key (Kunci) Himpunan dari satu atau lebih atribut yang digunakan untuk membedakan antara satu entity dengan entity yang lain Harus unik dan tidak boleh kosong Superkey, Candidate key, primary key Primary Key : o Candidate key yang dipilih untuk identifikasi entitas pada himpunan entitas o Digambarkan dengan menambah garis bawah

mahasiswa

RELASI Himpunan antara satu himpunan entitas dengan himpunan entitas yang lain Dilambangkan dengan simbol diamond (wajik) yang di dalamnya terdapat kata kerja/ kata hubung. Misal : Dosen Mengajar Mahasiswa

Atribut Hubungan / atribut relasi Uraian tentang suatu hubungan Berguna untuk menjelaskan suatu hubungan Jika atribut hubungan cukup banyak maka perlu dipertimbangkan untuk menjadi entity baru NIM Kode MK SKS Mahasiswa Mengambil Mata Kuliah nama mahasiswa nilai nama mk Derajat Relasi : Jumlah entitas yang berpartisipasi dalam suatu relasi. Ada tiga macam : 1. Unary relationship / rekursif relationship hanya melibatkan 1 entitas / berderajad 1

1-1 1-M

M-N

Page 6: DocumentBd

Setiap dosen harus membimbing minimal 1 orang mahasiswa

Dosen bisa membimbing banyak mahasiswa atau tidak membimbing satu orang pun mahasiswa Entitas Kuat (Strong Entity) dan Entitas Lemah (Weak Entity) Entitas Kuat �keberadaannya tak tergantung keberadaan entitas lain Entitas Lemah �keberadaannya sangat tergantung keberadaan entitas lain • Identifying owner o entitas dimana entitas lemah bergantung o digambarkan dengan segiempat bertumpuk • Identifying relationship o Relasi antara entitas lemah dan entitas kuat o Digambarkan dengan diamond/wajik bertumpuk

Contoh :

Soal : - Sebuah Sekolah Tinggi Komputer mempunyai 5 Buah Jurusan (TI, MI, TK, SI, KA). - Setiap Mahasiswa hanya diperbolehkan mengambil 1 jurusan. - Apabila mahasiswa jurusan TI akan mengambil Jurusan SI maka mahasiswa tersebut harus keluar dari jurusan TI dan pindah ke jurusan SI. - Setiap Jurusan menawarkan mata kuliah dimana mata kuliah-mata kuliah tersebut bebas diambil oleh setiap mahasiswa tergantung nilai IP semesternya masing-masing. - Mahasiswa diperbolehkan untuk cuti maksimal 4 semester tidak berturut-turut. - Setiap mata kuliah hanya boleh diampu oleh seorang dosen, meskipun mata kuliah tersebut mata kuliah pararel (mata kuliah yang sama tetapi lebih dari 1 kelas). - Apabila dosen mempunyai kesibukan yang cukup padat seperti sedang menyelesaikan S2/S3 ataupun memangku jabatan struktural maka dosen tersebut diperkenankan untuk tidak mengajar mata kuliah apapun. - Selain mengampu matakuliah, setiap dosen wajib membimbing minimal 1 orang mahasiswa Jawaban :

2. Binary relationship melibatkan 2 entitas / berderajad 2

3. Ternary Relationship melibatkan 3 entitas / berderajad 3 Yayasan Menyediakan Mahasiswa Beasiswa. Cardinality Ratio Menjelaskan hubungan batasan jumlah keterhubungan satu entity dengan entity lainnya Menyatakan jumlah anggota entity yang terlibat dalam ikatan yang terjadi Tergantung pada aturan suatu organisasi/aturan bisnis tertentu Jenis: - One to one, 1:1, satu ke Satu - One to many, 1:m, satu ke banyak - Many to many, m:n, banyak ke banyak Contoh: 1:1

Seorang pasien hanya boleh menempati satu tempat tidur. Satu tempat tidur hanya boleh ditempati seorang pasien Totok A11 Titik B12 Andi A12 Contoh: 1:m, m,1

Seorang pegawai hanya boleh bekerja di satu departemen. Satu departemen bisa mempekerjakan banyak pegawai

Contoh:m:n

Seorang mahasiswa boleh mengambil banyak mata kuliah. Satu mata kuliah boleh diambil banyak mahasiswa

Partisipasi Hubungan Partisipasi atau keterlibatan tiap anggota entity dalam membentuk instan hubungan Dapat bersifat wajib (Full / Total Participation) atau tidak wajib(Partial Participation) Penggambaran bisa menggunakan (berurutan lambang wajib / tidak wajib) / atau / atau

/

Page 7: DocumentBd

O

Skema : - Mahasiswa (nim: char(10), nama_mhs: char(20), alamat: char(30), ipk:float(4,2), kode_jur: char(2), kode_dosen: char(15)) - Jurusan (kode_jur: char(2), nama_jur: char(15)) - Dosen (kode_dosen: char(5), nama_dosen: char(20)) - Mata_kuliah (kode_mk: char(8), nama_mk: char(20): sks: integer, kode_jur:char(2), kode_dosen: char(5))Ambil (nim: char(10), kode_mk: char(8), nilai: char(1)) Model Data lain: 1. Model Hirarkis Model hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orangtua-anak. Setiap simpul (biasa dinyatakan degan lingkaran atau kotak) menyatakan sekumpulan medan. Simpul yang terhubung ke simpul pada level di bawahnya disebut orangtua. Setiap orangtua bisa memiliki satu (hubungan 1:1) atau beberapa anakan (hubungan 1:M), tetapi setiap anak hanya memiliki satu orangtua. Simpul-simpul yang dibawahi oleh simpul orangtua disebut anak. Simpul orangtua yang tidak memiliki orangtua disebut akar. Simpul yang tak memiliki anak disebut daun. Adapun hubungan antara anak dan orangtua disebut cabang. Gambar dibawah memperlihatkan contoh model hirarkis, yang terdiri atas 4 level dan 13 simpul.

Gambar Contoh model hirarkis

Pada contoh di atas, A berkedudukan sebagai Akar dan berkedudukan sebagai orangtua dari simpul B, C, D dan E. Ke empat simpul, anak simpul A. C juga berkedudukan sebagai orangtua dari F dan G. Adapun simpul B, F, G,H, I,J, L dan M disebut juga daun.

Contoh produk DBMS yang menggunakan model hirarkis adalah (Information Manajemen System), yang dikembangkan oleh dua perusahaan IBM dan Rockwell Internasional Corporation. 2. Model Jaringan Model jaringan distandrisasi pada tahun 1971 oleh data base task Group (DBTG). Model ini menyerupai model hirarakis, dengan perbedaan satu simpul anak bisa memiliki lebih dari satu orangtua. Oleh karena sifatnya yang demikian, model ini bisa menyatakan hubungan 1:1 (satu orang tua punya 1 anak) , 1:M (satu orang tua punya banyak anak), maupun M:M (beberapa anak bisa mempunyai beberapa orang tua).

A

Level 1 ………

B C D E

F G H I J K

L M

Level 2 ………

Level 3 ………

Level 4 ………

Dosen

Siti Nurbaya

Pengantar Basisdata

Pemrograman Java

Dosen

Ashadi

Matematika

Rudi Asti Dian Dian Edi Ita Edi

Pada model jaringan orangtua disebut pemilik dan anak disebut anggota.

Biasanya data direpresentasikan sebagai kumpulan rekord dan keterhubungan direpresentaskan dengan himpunan-himpunan secara eksplisit dimodelkan dengan himpunan yang menjadi pointer dalam implementasinya. Record-record diorganisasikan sebagai struktur graph umum dimana record sebagai simpul dan himpunan sebagai busur di graph. 3. Model Relasional Model relasional merupakan model yang paling sederhana sehingga mudah digunakan dan dipahami oleh pengguna, serta merupakan model yang paling populer saat ini. Model ini menggunakan sekumpulan tabel berdimensi dua (yang disebut relasi atau tabel), dengan masing-masing relasi tersusun atas tupel atau baris dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubaziran data dan menggunakan kunci tamu untuk berhubungan dengan relasi lain. DBMS yang bermodelkan relasional biasa disebut RDBMS (Relational Database Management System) Model Relasional

Pemrogram

Pengguna

Relasi Berkas Tabel Tupel (baris) Rekaman Baris Attribute Medan Kolom Istilah penting di model relasional adalah 1. Relasi 2. Atribute 3. Domain 4. Tupel/record 5. Kardinalitas Basisdata relasional adalah kumpulan relasi dengan nama-nama relasi yang berbeda. Skema basisdata relasional adalah kumpulan skema untuk relasi-relasi di basisdata. 1. Relasi Relasi merupakan tabel dengan baris-baris dan kolom-kolom yang bernama. Tupel/record adalah baris suatu relasi (baris dalam suatu tabel). Elemen-elemen relasi adalah baris-baris atau tupel-tupel di tabel itu. Tupel–tupel dapat muncul dengan sembarang urutan. Tupel-tupel ini serupa rekord-rekord di file.

Dosen

Siti Nurbaya

Pengantar Basisdata

Pemrograman Java

Dosen

Ashadi

Matematika

Rudi Asti Dian Edi Ita

Page 8: DocumentBd

NIM

Nama Alamat IPK

001 Totok Jalan Hati-hati 10 3,22

002 Titik Jalan Berbatu 20 3,22

003 Andi Jl. Kupang Gang I No I0 A 2,7

Kode Mata Kuliah

Nama Mata Kuliah Dosen

SKBP701H Database Kelas Server Badiyanto

SKBP702H Pemrog.Basis data Lanjut Badiyanto

SKBP325E Sistem Basis Data Cuk Subiyantoro

SKBP325E Sistem Basis Data Tri Prabawa

Gambar Relasi(1) NIM Nama Mata Kuliah 001 Totok Kalkulus,Aljabar Linier 002 Titik Basis Data,Kalkulus

003 Andi Basis Data,Kalkulus,Pemrograman Web

NIM Nama Mata Kuliah

001 Totok Kalkulus

001 Totok Aljabar Linier

002 Titik Basis Data

002 Titik Kalkulus

003 Andi Basis Data

003 Andi Kalkulus

003 Andi Pemrograman Web

Gambar Relasi(2) Skema Relasi Skema relasi terdiri dari : – Nama Relasi �Harus unik

– Nama atribut relasi �Harus unik dan diasosiasikan dengan nama domain

Contoh : Mahasiswa (nim : char(10), nama : char(40), alamat : char(40), ipk : decimal(4,2)) – Pengembangan berikutnya adalah disertakannya

konstrain integritas Instan Relasi [gambar relasi (1)] Primary dan Foreign Key Primary Key (Kunci Primer/Utama) Atribut atau kombinasi atribut yang secara unik

mengidentifikasi setiap baris dalam relasi Foreign Key (Kunci Tamu) – Atribut atau kombinasi atribut pada relasi yang berfungsi sebagai kunci primer pada relasi lain pada basisdata yang sama – Digunakan untuk melakukan referensi ke tupel pada relasi lain (relasi yang menjadikan kunci tersebut sebagai kunci primer) Contoh relasi : NIM Nama_mhs Alamat IPK

001 Totok Jalan Hati-hati 10 3,22

002 Titik Jalan Berbatu 20 3,22

003 Andi Jl. Kupang Gang I No I0 A 2,7

Gambar : Tabel Mahasiswa

2. Atribute Aribute adalah kolom bernama di relasi. Pada model relasional, relasi-relasi digunakan untuk menyimpan informasi objek-objek yang direpresentasikan dengan basisdata. Relasi dipresentasikan sebagai tabel dua dimensi dimana baris-baris tabel berkorespondensi dengan satu record individu dan kolom-kolom tabel berkorespondensi dengan atribut-atribut individu itu. Atribut-atribute dapat muncul dalam sembarang urutan dimana relasi masih relasi yang sama bagaimanapun urutan kemunculan atribut-atribut di dalamnya. Derajat (degree) relasi adalah jumlah atribut yang dimiliki relasi. 3. Domain Domain adalah himpunan nilai yang diijinkan pada suatu atribute. Setiap atribute di basis data relasional didefinisikan pada suau domain. Domain-domain dapat berbeda untuk masing-masing atribute atau dua atribute atau lebih dapat mempunyai domain yang sama.

Domain dan tipe Konsep domain penting karena memungkinkan pemakai mendefiniskan berpusat arti dan sumber nilai-nilai yang dapat dimiliki atribute. 4. Kardinalitas Kardinalitas adalah jumlah tupel yang dikandung. Kardinalitas relasi berubah begitu tupel ditambah atau dihapus. Nilai kardinalitas adalah kondisi suatu saat dari tabel.

Ada beberapa sifat yang melekat pada suatu relasi 1. Tidak ada tupel (baris) yang kembar 2. Urutan tupel tidaklah penting (tupel-tupel dapat

dipandang dalam sebarang urutan) 3. Setiap atribut memiliki nama yang unik 4. Letak atribute bebas ( urutan atribute tidak penting) 5. Setiap atribut memiliki nilai tunggal dan jenisnya

sama untuk semua tupel.

Komponen Model Relasional Struktur data Data-data diorganisasi dalam bentuk tabel dengan

baris-baris dan kolom-kolom Manipulasi data Operasi manipulasi dilakukan dengan menggunakan

perintah SQL Integritas data Fasilitas untuk menspesifikasikan aturan bisnis yang

memelihara integritas data saat dilakukan manipulasi Ketentuan/Properti Relasi Setiap Relasi/tabel dalam basisdata harus mempunyai

nama yang unik Setiap Atribut/field/Kolom mempunyai nama yang

unik, urutan kolom tidak diperhatikan Relasi/tabel adalah himpunan tupel/record – Setiap tupel bersifat unik/distinct [gambar relasi(1)] – Karena berupa himpunan maka urutan keberadaan

tupel tidak diperhatikan Setiap nilai pada perpotongan baris dan kolom

tertentu bersifat atomic (bernilai tunggal), tidak diperkenankan atribut bernilai banyak [gambar relasi (2)]