Materi sbd

45
Sri Rahmawati, M.Kom

Transcript of Materi sbd

Sri Rahmawati, M.Kom

Beberapa defenisi database:

•Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.•Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundancy) yang tidak perlu, untuk memenuhi berbagai kebutuhan.•Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.•Kumpulan dari beberapa file yang saling berhubungan yang dihubungkan oleh key field(Primary Key) dan tersimpan dalam media penyimpanan

LATAR BELAKANG SISTEM DATABASE

F1, F2,….Fn

Tingkatan Data Dalam Database RelasiDalam suatu sistem database relasi, data yang tersimpan dalam DBMS mempunyaitingkatan-tingkatan, sebagai berikut :

1. Karakter (Characters)Merupakan bagian terkecil dalam database, dapat berupa karakter numerik (angka0 s.d 9), huruf ( A - Z, a - z) ataupun karakter-karakter khusus, seperti *, &. %, # danlain-lain.

2. Field atau AttributeMerupakan bagian dari record yang menunjukkan suatu item data yang sejenis.Misalnya : field nama, file NIM dan lain sebagainya. Setiap field harus mempunyainama dan tipe data tertentu. Isi dari field di sebut Data Value. Dalam tabel database, field ini disebut juga kolom.

3. Record atau TuppleTuple/Record adalah kumpulan data value dari attribute yang berkaitan sehinggadapat menjelaskan sebuah entity secara lengkap. Misal : Record entity mahasiswa adalah kumpulan data value dari field nobp, nama, jurusan dan alamat per-barisnya. Dalam tabel database, Record disebut juga baris.

4. Table/EntityEntity merupakan sesuatu yang dapat diidentifikasi dari suatu sistem database, bisaberupa objek, orang, tempat, kejadian atau konsep yang informasinya akan disimpan dalam database. Misal : Pada sistem database akademik, yang menjadi entity adalah, mahasiswa, dosen, matakuliah dan lain-lain. Dalam aplikasi, penggunaan istilah Entity sering di samakan dengan istilah Tabel. (Entity = table). Disebut tabel, karena dalam merepresentasikan datanya di atur dalam bentuk baris dan kolom. Baris mewakili 1 record dan kolom mewakili 1 field. Dalam sistem database tradisional, entity/table ini disebut juga dengan file.

5. DatabaseKumpulan dari tabel-tabel yang saling berelasi, disusun secara logis, sehingga menghasilkan informasi yang bernilai guna dalam proses pengambilan keputusan.

Pendekatan-pendekatan dalam Manajemen Data

•Pendekatan tradisional (File-based System)Yaitu : sekumpulan program aplikasi yang membantu user dalam menghasilkan informasi atau laporan, dimana setiap program menangani dan mengatur data masing-masing (tidak saling berhubungan).

Kelemahan / keterbatasan file-based sistem1.Terjadinya pemisahan dan pengisolasian data.2.Terjadinya duplikasi data3.Data dependency(ketergantungan data)4.File yang tidak kompatibel5.Queries / pengambilan dan pembacaan file yang tetap

contohProgram Aplikasi Personalia

File Personalia

NpmNamaAltGol

Program Aplikasi Pelatihan

File Pelatih

an

NpmNamaJenis

Gol

•DATABASEDatabase adalah suatu bentuk yang

tunggal, tetapi memiliki kemampuan penyimpanan data yang besar yang dapat digunakan untuk banyak departemen.

Database disusun untuk mengatasi masalah pada penyusunan data yaitu

a)Data Redundancyb)Inconsistensi Datac)Data Terisolasid)Multiple Usere)Security.f)Integritas.

Kriteria Database & File-Based System1. Data oriented (database), program oriented.(file-based system) Program oriented :a)Hanya dapat digunakan oleh satu program aplikasib)Untuk mengatasi masalah tertentu dengan cara tertentu.c)Perkembangan hanya terjadi pada volume datad)Sering terjadi duplikasi data.2.Dapat digunakan oleh beberapa program aplikasi tanpa harus merubah databasenya.3.Volume dan strukturnya dapat berkembang dengan mudah.4.Kebutuhan sistem baru mudah terpenuhi.5.Meminimalkan data duplikasi.`

ContohProgram Aplikasi Personalia

Kepegawaian

Program AplikasiPelatihan

SISTEM BASIS DATAYaitu : Sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai / program lain untuk mengakses dan memanipulasi file-file tersebut.

Basis data

F1 F2 F3…..Fn

user

Program Lain

DBMSKomponen sistem Basis Data.•Hardware1.Memory sekunder yang on-line (harddisk)2.Komputer (1 untuk stand alone, lebih dari 1 untuk jaringan)3.Memory sekunder yang off-line (flasdisk) untuk back up data4.Media/perangkat komunikasi.(untuk jaringan)

•Sistem operasi.Untuk mengaktifkan sistem komputer. MS-DOS, MS-Windows ,windows 2007 stand alone Novell, Windows NT, Unix, SCO Unix, Linux Jaringan.•Basis Data (data base) data dan struktur•Sistem pengelola basis data (DBMS)Yaitu : Suatu software yang membantu user dalam mendefenisikan, membuat dan menjaga (memelihara) database dan juga menyediakan sarana dalam mengontrol setiap pengaksesan dalam database.DBMS akan menentukan :•Bagaimana data diorganisasikan, disimpan, diubah dan diambil kembali.•Menerapkan mekanisme pengamanan data•Menerapkan mekanisme pemakaian data secara bersama.•Dll

Contoh : dBase III, dBase IV, FoxBase, MS-Access, Rbase, SQL, Oracle, dll

•UserBerdasarkan cara mereka berinteraksi :a. Programmer aplikasiUser yang berinteraksi langsung dengan database melalui suatu DML (Data Manipulation Language) yang disertakan di dalam program yg ditulis dalam program induk spt VB, JAVA,PASCAL, Basic, dllb. User Mahir (Casual User)User yang berinteraksi dengan database tanpa melalui pembuatan suatu modul program untuk menyatakan query. Mereka menggunakan bahasa query yang telah disediakan oleh DBMSc. User Umum (end user/naïve user)User yang berinteraksi dengan sistem Database melalui suatu program aplikasi yang permanen (executable program).d. User KhususUser yang berinteraksi dengan database untuk keperluan-keperluan tertentu spt untuk aplikasi AI, Image Processing, dsb.e. Aplikasi Software lain.Bersifat operasional (menunjang operasi).

Komponen DBMS•HardwareHardware yang digunakan tergantung dengan kebutuhan sistem dan kegunaan dari DBMS itu sendiri.•SoftwareYang dimaksud dengan software di sini adalah software DBMS berikut sistem operasinya, termasuk software pendukung jaringan jika database tersebut terdapat dalam suatu jaringan.•ProcedureInstruksi dan peraturan yang mengatur disain dan penggunaan database. Seperti :1.Bagaimana cara Log on ke database2.Bagaimana menggunakan fasilitas dan program aplikasi3.Bagaimana memulai dan mengakhiri database4.Membuat backup database5.Bagaimana menangani kersakan hardware dan software. Termasuk prosedur dalam •mengidentifikasi kerusakan komponen•memperbaiki kerusakan

4. People.Terdiri dari :1.DA dan DBA (Data Administrator dan Database Administrator)Tugas DA :•Bertanggung jawab terhadap data resource antara lain :•Data planning•Development dan maintenance (pengembangan dan pemeliharaan)•Menetapkan aturan, procedure dan disain logic DBA

Tugas DBA•Bertanggung jawab terhadap realisasi fisik sistem database•Mendisain fisik database•Mengatur implementasi, security dan integrity•Bertanggung jawab terhadap kepuasan user dalam penggunaan database.•Perancang database

A.Perancang logicTugas :•mengidentifikasikan data termasuk menentukan entity dan attribut•menentukan relasi atau hubungan antar data•menentukan batasan terhadap data yang akan disimpan dalam suatu database•memahami organisasi data dan memahami aturan main suatu organisasi.B.Perancang FisikTugas :•Menggunakan data logic dan mewujudkannya ke dalam bentuk fisik, seperti :•memetakan logical data ke dalam bentuk tabel• Memilih storage dan metode akses data• Mendisain metode keamanan data• dll

• Arsitektur DatabaseTujuan utama dari sistem database adalah menyediakan pemakai melalui suatu pandangan abstrak mengenai data, dengan menyembunyikan detail dari bagaimana data disimpan dan dimanipulasikan. Oleh karena itu, titik awal untuk perancangan sebuah database haruslah abstrak dan deskripsi umum dari kebutuhan-kebutuhan informasi suatu organisasi harus digambarkan di dalam database.

Tiga Tingkatan Arsitektur Database ANSI-SPARC

Ada 3 tingkat dalam arsitektur database yang bertujuan membedakan cara pandang pemakai terhadap database dan cara pembuatan database secara fisik. 3 tingkatan arsitektur database :

1.Tingkat Eksternal (External Level)/Level View Tingkat eksternal merupakan cara pandang pemakai terhadap database. Pada tingkat ini menggambarkan bagian database yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah database. Masing-masing pemakai merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas (relationship) yang diperlukan saja. Contoh : view dari mahasiswa, view dari mata kuliah

2.Tingkat Konseptual (Conseptual Level) Tingkat konseptual merupakan kumpulan cara pandang terhadap database. Pada tingkat ini menggambarkan data apa yang disimpan dalam database dan hubungan antara datanya. Hal-hal yang digambarkan dalam tingkat konseptual adalah :

- semua entitas beserta atribut dan hubungannya

- batasan data- keamanan dan integritas informasi

Deskripsi data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut tanpa memperhatikan besarnya penyimpanan dalam ukuran byte. Contoh : entity, relationship, tipe data dan constraint.

3 Tingkat Internal (Internal Level)Tingkat internal merupakan perwujudan

database dalam komputer. Pada tingkat ini menggambarkan bagaimana database disimpan secara fisik di dalam peralatan storage yang berkaitan erat dengan tempat penyimpanan/physical storage. Tingkat internal memperhatikan hal-hal berikut ini :-alokasi ruang penyimpanan data dan indeks- deskripsi record untuk penyimpanan (dengan ukuran penyimpanan untuk data elemen .Contoh : organisasi file secara

sequential, ralative atau index sequential-penempatan record -pemampatan data dan teknik encryption

Gambar 1. Tingkatan Arsitektur Database

Model DataMenyatakan hubungan antardata dalam

database Model data Object-Based data model (ER-Model)Ada tiga macam model data dasar (Record-Based Data Model)HierarkisJaringanRelasional

Pemodelan Database

Model HierarkisModel data hierarkis biasa disebut model

pohon ,karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak. Setiap simpul (biasa dinyatakan dengan lingkaran dan kotak ) menyatakan sekumpulan medan/node. Setiap orang tua bisa memiliki satu (1:1) atau beberapa anak (1:M), tetapi setiap anak memiliki satu orang tua. Simpul-simpul yang dibawahi oleh orang tua (Parent) disebut simpul anak (Child ). Simpul orang tua yang tidak memiliki orang tua disebut akar (Root) . Simpul yang tidak memiliki anak disebut daun(Leaf) . Adapun hubungan antara anak dan orang tua disebut dengan cabang.

Model HierarkisContoh

Model JaringanDisebut juga model CODASYL(conference data system language)

Setiap anak bisa memiliki lebih dari satu orangtua

Rudi Asti Dina Edi

DosenSiti Nurbaya

PengantarBasis Data

PemrogramanC

Model RelasionalMerupakan model data yang paling populer saat ini

Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau tabel)

Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel lain

Nama Dosen Kelas Mahasiswa

Siti Nurbaya

Pengantar Basis Data

Rudi

Siti Nurbaya

Pengantar Basis Data

Asti

Siti Nurbaya

Pengantar Basis Data

Dina

Siti Nurbaya

Pemrog. C Dina

Siti Nurbaya

Pemrog. C Edi

Ashadi Matematika I

Ita

Ashadi Matematika I

Edi

Operasi dasar pada DatabaseMenambah dataMembaca dataMengubah dataMenghapus data

Kunci(key)Kunci merupakan elemen record yang dipakai untuk menemukan record tersebut pada waktu akses atau bisa digunakan untuk identifikasi tiap record.

Jenis-jenis kunci :SuperkeyCandidat keyPrimary keyAlternate keyForeign key

Kunci(key) (1)Superkey : kumpulan atribut dari suatu tabel yang dapat digunakan untuk mengidentifikasi entity atau record dari tabel tersebut secara unik

Candidate key : superkey dengan jumlah atribut minimal. Candidat key ini tidak boleh berisi atribut dari tabel yang lainID_cus Name No.of

PayAmount

112233 Tim 890 9000112231 Gabry 891 8000

112241 Holy 895 10000

Candidat key

Kunci(key) (2)Primary key :Salah satu atrribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb : Key tersebut lebih natural untuk dijadikan acuan Key tersebut lebih sederhana Key tersebut cukup uniqe

Alternate key :Setiap atribut dari candidate key yang tidak terpilih sebagai primary key akan dinamakan alternate key. Pada contoh sebelumnya bila untuk primary key dipilih ID_Cus maka alternate key nya adalah No.of Pay

Foreign key : merupakan atribut yang menunjuk kepada primary key pada tabel lain. Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to many

Kunci(key) (3)Foreign key (cont’)

KODE MK SKS KD-Dosen

TEL 100 Fisika 3 D-101

TEL 200 Isyarat 2 D-109

TEL 210 T.Kendali

2 D-101

KD-Dosen Nama_Dosen

D-100 Badu,S.T

D-101 Ir.Thomas

D-109 Harry,S.T,M.T

Primary key Foreign key Primary key

Tahapan Perancangan DatabasePerancangan secara konseptual

Diagram konteksDFDModel ER

Perancangan secara logisTranslasi model ER ke Model Relasional

Perancangan secara fisikPenciptaan database, relasi, dan hal-hal terkait ke dalam bentuk fisik

Entity Relationship Diagram(ERD)

ERD merupakan model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak

ERD menekankan pada struktur dan relationship data, berbeda dengan DFD(Data Flow Diagram) yang merupakan model jaringan fungsi yang akan dilaksanakan sistem

Biasanya digunakan oleh profesional sistem untuk berkomunikasi dengan pemakai eksekutif tingkat tinggi dalam perusahaan yang tidak tertarik pada pelaksanaan operasi sistem sehari-hari, namun lebih kepada :Data apa saja yang diperlukan untuk bisnis mereka?Bagaimana data tersebut berelasi dengan data lainnya?

Siapa saja yang diperbolehkan mengakses data tsb?

Simbol dalam Diagram E-R

ENTITAS

Hubungan

Kardinalitas:

Selalu hanya satu

Satu atau banyak

Nol atau satu

Nol, satu, atau banyak

Atribut

Garis bawah: Kunci atau pengenal (identifier)

CARDINALITY / DERAJAD RELASI/ JENIS HUBUNGAN ANTAR TABELMenunjukkan jumlah maximum entity yang dapat berelasi dengan entity lain.Cardinality relasi yang terjadi di antara 2 himpunan entity (A,B) dapat berupa:•One to One (1 : 1) ---|----------|--Artinya setiap entity pada himpunan entity A berhubungan dengan paling banyak 1 entity pada himpunan entity B. Begitu juga sebaliknya.•One to Many (1: M) ---|---------|<----Artinya setiap entity pada himpunan entity A dapat berhubungan dengan banyak entity pada himpunan entity B, tetapi tidak sebaliknya, dimana setiap entity pada himpunan entity B berhubungan dengan paling banyak 1 entity pada himpunan entity A.•Many to Many (M : N) --->|----------|<------Artinya setiap entity pada himpunan entity A dapat berhubungan dengan banyak entity pada himpunan entity B, begitu juga sebaliknya.

Memasok

BARANG

Mengirim

KIRIMAN Memasok

PEMASOK

Digunakan_pada

PRODUK

Berisi

PESANAN

Mengirim

PELANGGAN

LatihanRancanglah diagram E-R dari kasus aplikasi database sederhanauntuk sistem informasi akademis suatu universitas.

Dengan ketentuan sebagai berikut :Entities yang dimuat adalah :mahasiswa: menyimpan semua informasi pribadi mengenai semua mahasiswa

dosen: menyimpan semua informasi pribadi mengenai semua dosen

mata_kuliah: menyimpan semua informasi mengenai semua mata kuliah yang ditawarkan

ruang: menyimpan semua informasi mengenai ruang kelas yang digunakan

FUNCTIONAL DEPENDENCY

NormalisasiNormalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible

Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

Normalisasi: 1NF, 2NF, 3NF Bentuk Normal ke Satu(1NF)

Syarat : 1. Tidak ada set atribut yang berulang atau bernilai ganda.2. Telah ditentukannya primary key untuk tabel atau relasi.3. Tiap atribut hanya memiliki satu pengertian. Tiap atribut yang dapat memiiki banyak nilai sebenarnya

menggambarkan entitas atau relasi yang terpisah. Bentuk Normal ke Dua(2NF)

Syarat :1. Bentuk data telah memenuhi kriteria bentuk normal ke satu.2. Atribut bukan kunci(non-key attribute) haruslah memiliki

ketergantungan fungsional sepenuhnya pada primary key.

Normalisasi: 1NF, 2NF, 3NF (1)Bentuk Normal ke Tiga(3NF)

Syarat :1.Bentuk data telah memenuhi kriteria bentuk normal ke dua.

2.Atribut bukan kunci(non-key attribute) tidak boleh memiliki ketergantungan fungsional terhadap atribut bukan kunci lainnya. Seluruh atribut bukan kunci pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key di relasi itu saja.

Contoh Normalisasi :Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk normal ke tiga

Perhatikan bahwa tabel di atas sudah dalam bentuknormal ke Satu(1NF)

Contoh(cont’)Bentuk Normal ke dua(2NF) :

Belum memenuhi kriteria 3NF, Karena atribut non-key Nilai danBobot masih memiliki ketergantu-ngan fungsional.

Penguraian ttg ketergantungan fungsi

Primary Key ; Nim, KD_mkulFunctional Dependency:1.Nim Nama,Tgl_Lahir2.KD_mkul Kuliah,sks3.Nim,kdmkul Nilai ,Bobot

Contoh(cont’)Bentuk Normal ke tiga(3NF) :

Penguraian ttg ketergantungan fungsi

Primary Key ; Nim, KD_mkulFunctional Dependency:1.Nim Nama,Tgl_Lahir2.KD_mkul Kuliah,sks3.Nim,kdmkul Nilai 4.Nilai Bobot