Tugas sim an'nida fatra yananto mihadi putra, se, m.si blog dan data base, 2018
Handout database
1. HAND OUT
DASAR TENTANG DATABASE
Pengertian :
a. “a collection of related data” (Elmazri & Navathe, 1994)
b. “an organized collection of logically related data” (McFadden, Hoffer, and
Presscot, 2002)
c. “a collection of data, typically describing the activities of one or more related
organizations” (Ramakrishnan & Gerke, 2000)
Beberapa definisi basis data adalah sebagai berikut:
Sekumpulan data store(bisa dalam jumlah besar) yang tersimpan dalam
magnetic disk, optical disk, dan media penyimpan sekunder lainnya.
Sekumpulan program-program aplikasi umum yang bersifat “batch” yang
mengeksekusi dan memproses data secara umum(hapus,cari,update,dll)
Basis data terdiri dari data yang di-share bagi banyak user dan memungkinkan
penggunaan data yang sama pada waktu bersamaan oleh banyak user
Koleksi terpadu dari data-data yang saling berkaitan dari suatu enterprise.Mis.
Basis data RS akan terdiri dari data-data seperti pasien, karyawam, dokter, dan
perawat
Pola dalam penyimpanan data :
1. Sistem pemrosesan berkas tradisional.
a. tiap aplikasi memiliki berkas sendiri sendiri
b. Dependensi data-program
Perubahan data membuat sejumlah program perlu dimodifikasi
c. Duplikasi data
Data yang sama muncul pada beberapa berkas
d. Keterbatasan berbagi data (Isolasi data - banyak format file)
e. Waktu pengembangan lama
Perlu membuat program untuk mengakses data
f. Problem integritas (kekonsistensian)
Kekakangan integritas (misalnya saldo >) menjadi bagian dari program
g. Keamanan data tidak terjamin
Aplikasi Personali
Personalia a
Aplikasi Pelatiha
Pelatihan n
Sistem penyimpanan dengan konsep database
2. Aplikasi database : adalah program aplikasi yang digunakan untuk
melaksanakan sederet kegiatan yang ditentukan oleh pemakai.
Database Mahasiswa
Mahasiswa
Registrasi Mata kuliah
Nilai Mata kuliah
Keunggulan penerapan konsep database
Independensi program-data
Meminimalkan redundansi data
Meningkatkan konsitensi data
Meningkatkan kemampuan berbagai data
Meningkatkan produktivitas pengembangan aplikasi
Meningkatkan pencapaian standarisasi
Meningkatkan kualitas data
Meningkatkan tanggapan dan kemudahan akses terhadap data
Mengurangi pemeliharaan program
Model dasar database
Hierarkis
Lebih dikenal dengan model pohon
Dosen Dosen
Siti Nurbaya Ashadi
Pengantar Pemrograman
Matematika I
Basis Data C
Rudi Asti Dina Dina Edi Ita Edi
Jaringan
3. Tiap anak bisa memiliki lebih dari satu orang tua.
Dosen Dosen
Siti Nurbaya Ashadi
Pengantar Pemrograman
Matematika I
Basis Data C
Rudi Asti Dina Edi Ita
Relasional
Menggunakan model berupa tabel berdimensi dua (yang disebut relasi atau
tabel),Memakai kunci tamu (foreign key) sebagai penghubung dengan tabel
lain.
Konsep Dasar Database
Field
i. Field merupakan implementasi dari suatu atribut data.
ii. Field merupakan unit terkecil dari data yang berarti(meaningful data)
yang disimpan dalam suatu file atau basis data.
Record
i. Field-field tersebut diorganisasikan dalam record-record
ii. Record merupakan koleksi dari field-field yang disusun dalam
format yang telah ditentukan.
iii. Selama desain sistem, record akan diklasifikasikan sebagai fixed-
length record atau variable-length record.
1. Fixed-length record: tiap instance record punya field, jumlah
field, dan ukuran logik yang sama
2. Variable-length record : mengijinkan record-record yang
berbeda dalam file yang sama memiliki panjang yang berbeda.
File dan Tabel
i. Record-record yang serupa diorganisasikan dalam grup-grup yang
disebut file. Jadi file merupakan kumpulan semua kejadian dari
struktur record yang diberikan.
ii. Tabel merupakan ekivalen basis data relasional dari sebuah file.
Beberapa operasi dasar yang dilakukan oleh aplikasi database:
4. • Menambah data
• Membaca data
• Mengubah data
• Menghapus 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 :
Superkey
Candidat key
Primary key
Alternate key
Foreign key
External key
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 lain
Candidate Key
ID_Cus Name NoOfPay Amount
112233 Tim 890 9000
112231 Kate 891 8000
112241 Tyson 895 10000
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 sembarang atribut yang menunjuk kepada primary key pada
tabel lain.
5. Akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many
to many
Primary Key Foreign Key
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
Tahap Perancangan Database
Perancangan secara konseptual
Diagram konteks
DFD
Model ER
Perancangan secara logis
Translasi model ER ke Model Relasional
Perancangan secara fisik
Penciptaan database, relasi, dan hal-hal terkait ke dalam bentuk fisik
Diagram Konteks
Merupakan gambaran kasar aliran informasi dan data yang akan dilakukan oleh system
database yang akan dirancang. Contoh diagram konteks :
6. Bagian
Penjualan
Laporan
penjualan
Daftar rencana Transfer
pembayaran
Manajer Sistem
Keuangan Bank
Persetujuan Pembayaran
Royalti Bukti transfer
Surat
pemberitahuan
Pengarang
Diagram ini hanya menjelaskan secara umum gambaran aliran konteks dari rancangan
system yang akan dibuat.
DFD ( Data Flow Diagram )
Laporan penjualan
1
Mencatat Data buku terjual
buku terjual
Catatan royalti
Jadwal pembayaran
Royalti terbayar
Waktu pembayaran
Daftar rencana
Royalti
Royalti pembayaran
belum Persetujuan
2 belum
terbayar
terbayar
Membuat
Laporan royalti
Jatuh tempo Ringkasan
royalti Transfer
Data Bukti transfer
pengarang 3
Memproses
pembayaran
Surat pemberitahuan
Nomor
Pengarang
rekening
Rekening bank
Pembayaran
7. Gambar diatas merupakan contoh DFD. DFD merupakan detail rancangan dari diagram
konteks yang sudah dibuat yang sudah memuat rancangan table database yang akan
diimplementasikan pada database yang akan dibuat.
Diagram E-R ( Entity Relational ).
ERD merupakan model jaringan yang menggunakan susunan data yang disimpan
dalam sistem secara abstrak
Diagram E-R berupa model data konseptual, yang merepresentasikan data dalam
suatu organisasi.
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?
Notasi Yang digunakan pada perancangan E-R diagram
ENTITAS Kardinalitas:
Selalu hanya satu
Hubungan
Satu atau banyak
Atribut
Nol atau satu
Nol, satu, atau banyak
Contoh ER diagram terlampir.
Latihan :
a. Perancangan diagram E-R.
Rancanglah diagram E-R dari kasus aplikasi database sederhanauntuk sistem informasi
akademis suatu universitas.
Dengan ketentuan sebagai berikut :
Entities yang dimuat adalah :
1. mahasiswa: menyimpan semua informasi pribadi mengenai semua mahasiswa
2. dosen: menyimpan semua informasi pribadi mengenai semua dosen
8. 3. mata_kuliah: menyimpan semua informasi mengenai semua mata kuliah yang
ditawarkan
4. ruang: menyimpan semua informasi mengenai ruang kelas yang digunakan
Normalisasi
• Normalisasi 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.
Pada proses normalisasi terhadap tabel pada database dapat dilakukan dengan tiga tahap
normalisasi antara lain :
1. Bentuk Normal ke Satu(1NF)
a. Syarat :
b. Tidak ada set atribut yang berulang atau bernilai ganda.
c. Telah ditentukannya primary key untuk tabel atau relasi.
d. Tiap atribut hanya memiliki satu pengertian.
e. Tiap atribut yang dapat memiiki banyak nilai sebenarnya menggambarkan
entitas atau relasi yang terpisah.
2. Bentuk Normal ke Dua(2NF)
a. Syarat :
b. Bentuk data telah memenuhi kriteria bentuk normal ke satu.
c. Atribut bukan kunci(non-key attribute) haruslah memiliki ketergantungan
fungsional sepenuhnya pada primary key
3. Bentuk Normal ke Tiga(3NF)
a. Syarat :
b. Bentuk data telah memenuhi kriteria bentuk normal ke dua.
c. 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 pada beberapa tingkatan.
Diberikan tabel Mahasiswa di bawah ini, akan dilakukan normalisasi sampai bentuk
normal ke tiga
Perhatikan bahwa tabel di atas sudah dalam bentuk normal ke Satu(1NF).
9. Bentuk Normal 2 ( NF2 )
Belum memenuhi kriteria 3NF,
Karena atribut non-key Nilai dan
Bobot masih memiliki ketergantu-
ngan fungsional.
Bentuk Normal 3 NF3
SQL (Structure Query Language).
merupakan bahasa yang digunakan untuk melakukan rekayasa terhadap data pada
database, mulai dari memasukkan, mengganti, dan menampilkan data pada database.
untuk lebih detail akan dibahas pada modul praktikum.
Implementasi E-R diagram dengan tools
Saat ini telah tersedia beberapa tools yang bisa digunakan untuk membuat desain
ERD dan secara otomatis bisa di generate ke bentuk tabel database secara otomatis.
Diantaranta adalah DB Designer, dan DB Wrench. Tools ini akan dipelajari secara lebih
detail pada praktikum.
10. PELANGGA
N
Mengirim PEMASOK
Mengirim
Memasok
PESANAN
KIRIMAN Memasok BARANG
Berisi
Digunakan_ PRODUK
pada
Contoh ERD
Pengenalan PostgreSQL
PostgreSQL atau sering disebut Postgres merupakan salah satu dari sejumlah
database besar yang menawarkan skalabilitas, keluwesan, dan kinerja yang tinggi.
Penggunaannya begitu meluas di berbagai platform dan didukung oleh banyak bahasa
pemrograman. Bagi masyarakat TI (teknologi informasi) di Indonesia, Postgres sudah
11. digunakan untuk berbagai aplikasi seperti web, billing system, dan sistem informasi besar
lainnya.
Karakteristik PostgreSQL
1. PostgreSQL adalah sebuah object-relational database management system
(ORDBMS)
2. Bersifat open source
3. Mendukung standar SQL92 dan SQL99
4. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
Arsitektur PostgreSQL
1. Berbasis Client-Server.
2. Backend software untuk database server (server-side): Postmaster
3. Frontend software (client-side):
a. psql (disediakan dalam paket PostgreSQL)
b. Client berbasis GUI (PgAdmin, PgAccess, ApplixWare, dsb.)
c. Client berbasis Web (phpPgAdmin)
d. Buat aplikasi sendiri (C, C++, Java, PHP, dsb.)
12. digunakan untuk berbagai aplikasi seperti web, billing system, dan sistem informasi besar
lainnya.
Karakteristik PostgreSQL
1. PostgreSQL adalah sebuah object-relational database management system
(ORDBMS)
2. Bersifat open source
3. Mendukung standar SQL92 dan SQL99
4. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
Arsitektur PostgreSQL
1. Berbasis Client-Server.
2. Backend software untuk database server (server-side): Postmaster
3. Frontend software (client-side):
a. psql (disediakan dalam paket PostgreSQL)
b. Client berbasis GUI (PgAdmin, PgAccess, ApplixWare, dsb.)
c. Client berbasis Web (phpPgAdmin)
d. Buat aplikasi sendiri (C, C++, Java, PHP, dsb.)
13. digunakan untuk berbagai aplikasi seperti web, billing system, dan sistem informasi besar
lainnya.
Karakteristik PostgreSQL
1. PostgreSQL adalah sebuah object-relational database management system
(ORDBMS)
2. Bersifat open source
3. Mendukung standar SQL92 dan SQL99
4. Mendukung bahasa pemrograman C, C++, Java, Tcl, Perl, Python, PHP, dst.
Arsitektur PostgreSQL
1. Berbasis Client-Server.
2. Backend software untuk database server (server-side): Postmaster
3. Frontend software (client-side):
a. psql (disediakan dalam paket PostgreSQL)
b. Client berbasis GUI (PgAdmin, PgAccess, ApplixWare, dsb.)
c. Client berbasis Web (phpPgAdmin)
d. Buat aplikasi sendiri (C, C++, Java, PHP, dsb.)