Rangkuman Praktikum Basis Data 2
1.
Konsep Sistem Basis Data
Basis data adalah kumpulan
data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau
dimanipulasi serta dapat diakses dengan mudah dan tepat menggunakan perangkat
lunak (program aplikasi) untuk menghasilkan sebuah informasi.
Sistem basis data merupakan
ruang lingkup yang lebih luas dari basis data. Sistem basis data memuat
sekumpulan basis data dalam suatu sistem yang mungkin tidak ada hubungan antara
satu dengan yang lain, tetapi secara keseluruhan mempunyai hubungan sebagai
sebuah sistem yang didukung oleh komponen lainnya.
Komponen Sistem Basis Data:
Perangkat Keras (Hardware), Sistem Operasi (Operating System), basis data
(Database), DBMS (Database Management System), Pemakai (User).
DBMS (Database Management
System) merupakan basis data dan set perangkat lunak (software) untuk pengelolaan basis data.
2.
Konsep
Model
Data
Model data merupakan suatu cara
untuk menjelaskan tentang data-data yang tersimpan dalam basis data dan
bagaimana hubungan antar data tersebut
untuk para pengguna (user) secara
logika. Secara garis besar model data dapat dikelompokkan menjadi 3 macam yaitu
:
1.
Model Data Berbasis Objek (Object based data model)
Merupakan himpunan data dan relasi yang
menjelaskan hubungan logik antar data dalam suatu basis data berdasarkan pada
obyek datanya. Salah satunya adalah Entity Relationship Model.
Model Entity
Relationship Diagram (ERD) atau Conceptual
Data Model (CDM) merupakan suatu model untuk
menjelaskan hubungan antar data dalam basis data berdasarkan suatu persepsi
bahwa dunia nyata terdiri dari obyek-obyek dasar (entitas) yang mempunyai
hubungan atau relasi antar obyek-obyek dasar (entitas) tersebut yang dilukiskan
dengan menggunakan simbol-simbol grafik tertentu.
2.
Model Data berbasis Record (Record
Based Data Model)
Model
ini berdasarkan pada record/rekaman untuk menjelaskan kepada para pemakai
tentang logik antar data dalam basis data. Salah satunya adalah Relational
model.
Model Rasional merupakan model data yang menjelaskan pada pengguna tentang hubungan logik
antar data dalam basis data dengan mempresentasikannya ke dalam betuk
tabel-tabel yang terdiri atas sejumlah baris yang menunjukkan record dan kolom yang menunjukkan atribut tertentu.
3.
Physical Based Data
Model
Model ini berdasarkan pada
teknis penyimpanan record dalam basis data. Model ini jarang digunakan untuk
memodelkan data kepada pemakai karena kerumitan dan kompleksitasnya yang
tinggi.
3.
Bahasa Basis data
Bahasa yang digunakan untuk
mendefinisikan, mengelolah dan memanipulasi basis data dikelompokkan 3 macam
yaitu :
1.
DDL (Data Definition Language)
digunakan untuk mendefinisikan struktur dan kerangka dari basis data yang
meliputi :
a.
Membentuk basis data, tabel, indeks.
b.
Mengubah struktur table.
c.
Menghapus basis data, tabel atau indeks.
2.
DML (Data Manipulation Language)
digunakan untuk menjabarkan pemrosesan data pada basis data yang meliputi :
a.
Menambahkan atau menyisipkan data baru ke basis data
b.
Mengelolah data yang tersimpan dalam basis data (query)
c.
Mengubah dan menghapus data dalam basis data.
3.
DCL (Data Control Language) digunakan
untuk pengaturan hak akses pengguna pada basis data yang meliputi :
a.
Menugaskan hak
akses terhadap basis data kepada pengguna atau grup pengguna.
b.
Membatalkan hak
akses pengguna terhadap basis data.
4.
Entity
Relationship Diagram (ER-D)
Merupakan model
data yang dikembangkan berdasarkan obyek atau entitas. ER_D berguna membantu
perancang atau analis sistem pada saat melakukan analisis dan perancangan basis
data karena model ini dapat menunjukkan macam data yang dibutuhkan dan
direlasikan antar data di dalamnya.
1.
Komponen ER_Diagram
Sebuah diagram ER
tersusun atas tiga komponen, yaitu entitas yang merupakan obyek dasar yang
terlibat dalam sistem, atribut yang berperan sebagai penjelas entitas,
kerelasian antar entitas menunjukkan hubungan yang terjadi diantara dua
entitas.
a.
Entitas (Entity)
Entitas menunjukkan
obyek-obyek dasar yang terkait di dalam sistem. Obyek dasar dapat berupa orang,
benda atau hal yang keterangannya perlu disimpan di dalam basis data.
Macam-macam Entitas :
·
Entitas Reguler
Entitas ini disebut
juga entitas dominan (strong entity). Keberadaan entitas ini tidak tergantung
pada entitas yang lain.
Contoh : Mahasiswa,
Matakuliah.
·
Entitas dependen
Entitas ini disebut
juga entitas tidak bebas/independen atau entitas lemah (weak entity) atau
entitas subordinat. Entitas ini dapat muncul jika ada entitas lain sebagai
acuannya (entitas reguler).
Contoh :
Matakuliah_konsentrasi, bergantung pada entitas Matakuliah.
·
Entitas super type
dan sub type
Entitas super type merupakan entitas yang
memiliki tingkatan yang lebih tinggi yaitu membawahi atau mempunyai entitas
bagian yang lebih rendah.
Contoh : Entitas
Karyawan.
Entitas sub type merupakan entitas yang lebih
rendah yaitu entitas yang menjadi entitas bagian dari entitas lain.
Contoh : Entitas
karyawan_tetap dan karyawan_tidak_tetap
b.
Atribut (Attribute)
Merupakan
keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan ke
dalam database. Atribut berfungsi sebagai penjelas pada sebuah entitas. Contoh
: mahasiswa mempunyai atribut nim, nama, jurusan, kelamin, tempat_lahir,
tanggal_lahir, dsb.
Atribut
pada sebuah entitas dibagi menjadi 2 yaitu :
·
Atribut sederhana (simple attribute), yaitu jika atribut
berisi sebuah komponen/nilai/elementer.
Contoh : pada
entitas mahasiswa adalah tahun masuk = 2013
·
Atribut komposit
(composite attribute), yaitu jika atribut berisi lebih dari sebuah komponen
nilai.
Contoh : pada
entitas mahasiswa adalah tanggal lahir yang terdiri atas komponen nilai
tanggal, bulan, tahun.
c.
Kerelasian antar
entitas (Entity Relationship)
Mendefiniskan
hubungan antara 2 buah entitas. Jenis kerelasian antar entitas dibagi mejadi 3
sebagai berikut :
1.
Kerelasian jenis
satu ke satu (one to one), kerelasian terjadi jika kejadian atau transaksi di
antara dua entitas yang berhubungan hanya memungkinkan terjadi sebuah kejadian
atau transaksi pada kedua entitas.
Dimana setiap tupel
(baris) pada entitas A berhubungan dengan paling banyak satu tupel pada entitas
B, dan begitu juga sebaliknya setiap tupel pada entitas B berhubungan dengan
paling banyak satu tupel pada entitas A.
2.
Kerelasian banyak
ke satu (many to one) atau satu ke banyak (one to many), kerelasian ini terjadi
jika kejadian atau transaksi di antara dua entitas yang berhubungan hanya
memungkinkan terjadi satu kali dalam entitas pertama dan dapat terjadi lebih
dari satu kali kejadian atau transaksi pada entitas kedua.
·
Satu ke banyak (one
to many)
Dimana satu tupel
pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, tetapi
tidak sebaliknya, dimana setiap tupel pada entitas B berhubungan dengan paling
banyak satu tupel pada entitas A.
·
Banyak ke satu
(many to one)
Dimana setiap tupel
pada entitas A dapat berhubungan dengan paling banyak satu tupel pada entitas
B, tetapi tidak sebaliknya, dimana setiap tupel pada entitas A berhubungan
dengan paling banyak satu tupel pada entitas B.
3.
Kerelasian jenis
banyak ke banyak (many to many)
Kerelasian jenis
ini terjadi jika kejadian atau transaksi di antara dua entitas yang berhubungan
memungkinkan terjadi lebih dari satu kali dalam entitas pertama dan kedua.
Dimana setiap tupel
pada entitas A dapat berhubungan dengan banyak tupel pada entitas B, dan
demikian juga sebaliknya, dimana setiap tupel pada entitas B dapat berhubungan
dengan banyak tupel pada entitas A.
2.
Langkah-langkah
Membuat ER_Diagram
Untuk membuat
ER_Diagram secara lengkap dapat dilakukan dengan mengikuti langkah-langkah
sebagai berikut :
·
Identifikasikan
setiap entitas yang terlibat.
·
Lengkapi
masing-masing entitas dengan atribut yang sesuai.
·
Tentukan primary
key dari masing-masing entitas.
·
Identifikasikan
setiap kerelasian berikut jenisnya yag terjadi di antara entitas dengan membuat
tabel daftar kerelasian antar entitas.
·
Gambarkan
simbol-simbol entitas, atribut, dan kerelasian antar entitas secara jelas dan
tidak bertabrakan.
·
Cek ER_Diagram yang
terbenuk, dalam hal : kelengkapan entitas, kelengkapan atribut, kelengkapan
kerelasian antar entitas dan jenis kerelasian antar entitas.
A. SQL
(Structured Query Language)
SQL
merupakan suatu bahasa (language) standar menurut ANSI (American National
Standards Institute) yang digunakan untuk mengakses basis data. SQL pertama
kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San
Jose, IBM). Kini SQL juga dijumpai pada berbagai platform, dari mikrokomputer
hingga mainframe. SQL dapat digunakan baik secara berdiri sendiri maupun
dilekatkan pada bahasa-bahasa lain seperti C dan Delphi. SQL juga telah menjadi
bagian dari sejumlah DBMS, seperti Oracle, Sybase, MySQL dan Informix.
B. Elemen SQL
Elemen dasar SQL mencakup pernyataan, nama, tipe data,
konstanta, ekspresi, operator relasi, operator logika dan fungsi bawaan.
a.
Pernyataan
Merupakan perintah SQL yang meminta sesuatu tindakan
kepada DBMS (Database Management System).
SQL memiliki kira-kira 30 pernyataan. Beberapa pernyataan dasar SQL dapat
dilihat pada tabel berikut :
Tabel 2.1 Pernyataan SQL
Pernyataan
|
Keterangan
|
CREATE
|
Menciptakan basis
data, tabel atau indeks
|
ALTER
|
Mengubah struktur
tabel
|
DROP
|
Menghapus basis
data, tabel atau indeks
|
COMMIT
|
Mengakhiri sebuah
eksekusi transaksi data
|
ROLLBACK
|
Mengembalikan ke
keadaan semula sekiranya suatu transaksi gagal dilaksanakan
|
INSERT
|
Menambahkan
sebuah baris pada tabel
|
UPDATE
|
Mengubah nilai
pada sebuah baris
|
SELECT
|
Memilih baris dan
kolom pada tabel
|
DELETE
|
Menghapus baris
pada tabel
|
GRANT
|
Menugaskan hak
terhadap basis data kepada pengguna atau grup pengguna
|
REVOKE
|
Membatalkan hak
terhadap basis data
|
Yang semuanya
dikelompokkan berdasarkan fungsinya masing-masing yaitu :
a.
Data Definition Language (DDL) : Digunakan untuk mendefinisikan data
dengan menggunakan perintah : CREATE, DROP, ALTER.
b.
Data Manipulation Language (DML) : Digunakan untuk memanipulasi data
dengan menggunakan perintah : INSERT, SELECT, UPDATE, DELETE.
c.
Data Control Language (DCL) : Digunakan untuk mengontrol hak para pemakai
data dengan perintah : GRANT, REVOKE.
b.
Nama
Nama digunakan sebagai identitas bagi objek-objek pada
DBMS (Database Management System).
Contoh objek pada DBMS adalah tabel, kolom dan pengguna.
c.
Tipe Data
Setiap data memiliki tipe data. Berikut ini adalah tipe
data dalam MySQL :
Tabel 2.2 Tipe
data untk numerik
Tipe
|
Keterangan
|
Range Nilai
|
TINYINT
|
Nilai integer yang sangat kecil
|
Signed : -128 s.d. 127
Unsigned : 0 s.d. 255
|
SMALLINT
|
Nilai integer yang kecil
|
Signed : -32768 s.d. 32767
Unsigned : 0 s.d. 65535
|
MEDIUMINT
|
Integer dengan nilai medium
|
Signed : -8388608 s.d. 8388607
Unsigned : 0 s.d. 16777215
|
INT
|
Integer dengan nilai standar
|
Signed : -2147483648 s.d. 2147483647
Unsigned : 0 s.d. 4294967295
|
BIGINT
|
Integer dengan nilai besar
|
Signed : -9223372036854775808 s.d. 9223372036854775807
Unsigned : 0 s.d. 18446744073709551615
|
FLOAT
|
Bilangan desimal dengan single-precission
|
minimum ± 1.175494351e-38
maksimum ± 3.402823466e+38
|
DOUBLE
|
Bilangan desimal dengan double-precission
|
minimum ± 2.2205738585072014e-308
maksimum ± 1.7976931348623457e+308
|
DECIMAL(M,D)
|
Bilangan float (desimal) yang dinyatakan sebagai
string. M adalah jumlah digit yang disimpan dalam suatu kolom, N adalah
jumlah digit dibelakang koma
|
Tergantung pada nilai M dan D
|
Keterangan :
Signed
dan Unsigned adalah atribut untuk tipe data numerik
-
Signed : Data yang
disimpan dalam suatu kolom dapat berupa data negatif dan positif.
-
Unsigned :
Digunakan agar data yang dimasukkan bukan data negatif (>=0). Tipe data
float tidak Dapat dinyatakan dengan unsigned.
Tabel 2.3 Tipe
data string atau karakter
Tabel 2.4 Tipe
data tanggal dan jam
Tipe
|
Range
|
Format
|
DATE
|
“1000-01-01” s.d. “9999-12-31”
|
“0000-00-00”
|
TIME
|
“-832:59:59” s.d. “838:59:59”
|
“00:00:00”
|
DATETIME
|
“1000-01-01 00:00:00” s.d. “9999-12-31 23:59:59”
|
“0000-00-00 00:00:00”
|
d.
Konstanta
Konstanta menyatakan nilai yang tetap atau tidak berubah.
Konstanta sering di pakai pada perintah SELECT. Konstanta di bagi menjadi 2 :
1.
Konstanta bertipe
numerik : 200, -3, 1500, 3.25
2.
Konstanta bertipe
karakter : ‘Teknik Informatika’
Keterangan :
Konstanta bertipe karakter atau String diapit oleh tanda
petik tunggal. Dan konstanta dengan nilai pecahan desimal adalah berupa tanda
titik.
e.
Operator Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh
suatu nilai dari hasil perhitungan.
Contoh
: harga*jumlah+2
Simbol-simbol
yang dapat digunakan pada ekspresi aritmatika :
Tabel 2.5 Simbol Ekspresi Aritmatika
Simbol
|
Keterangan
|
*
|
Perkalian
|
/
|
Pembagian
|
+
|
Penjumlahan
|
-
|
Pengurangan
|
%
|
Sisa pembagian
|
f.
Operator Relasi
Merupakan operator yang digunakan untuk membandingkan
suatu nilai dengan nilai yang lain. Biasanya operator relasi digunakan
bersamaan dengan operator logika dalam membantu untuk menampilkan informasi
dengan kriteria tertentu.Simbol-simbol yang dapat digunakan pada operator
relasi :
Tabel 2.6 Simbol Operator Relasi
Simbol
|
Keterangan
|
=
|
Sama dengan
|
>
|
Lebih besar
|
<
|
Lebih kecil
|
>=
|
Lebih besar atau sama dengan
|
<=
|
Lebih kecil atau sama dengan
|
<>
|
Tidak sama dengan
|
g.
Operator Logika
Operator
logika ada 3 yaitu OR, AND dan NOT
Tabel 2.7 Operator Logika
Simbol
|
Keterangan
|
NOT atau !
|
Sebagai negasi atau pembalik nilai
|
OR atau ||
|
Atau
|
AND atau &&
|
Dan
|
h.
Operator Pembanding
Tabel 2.8 Operator
Pembanding
Simbol
|
Keterangan
|
IS NOT NULL
|
Apakah sebuah nilai adalah tidak kosong (not null)
|
IS NULL
|
Apakah sebuah nilai adalah kosong (null)
|
BETWEEN
|
Apakah suatu nilai di antara dua batasan nilai
|
IN
|
Apakah suatu nilai berada di dalam pilihan yang ada
|
NOT IN
|
Apakah suatu nilai tidak berada dalam pilihan yang ada
|
LIKE
|
Apakah suatu nilai sesuai dengan kriteria tertentu
|
NOT LIKE
|
Apakah suatu nilai tidak sesuai dengan kriteria
tertentu
|
i.
Aggregate Functions
(Fungsi Agregat)
Fungsi adalah sebuah subprogram yang menghasilkan suatu
nilai jika dipanggil. Fungsi agregat adalah fungsi standar di dalam SQL, suatu
fungsi yang digunakan untuk melakukan summary, fungsi statistik standar yang
dikenakan pada suatu tabel atau query.
1.
SUM(ekspresi)
2.
Fungsi ini
digunakan untuk mendapatkan nilai total dari suatu kolom pada suatu tabel
3.
AVG(ekspresi)
Fungsi ini digunakan untuk mencari rata-rata nilai dalam
suatu kolom dari suatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya
adalah nama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengan
tipe data numerik.
4.
COUNT(x)
Fungsi ini digunakan untuk menghitung jumlah record
(baris) dari suatu kolom dari suatu tabel. X adalah nama kolom yang ingin
dicari jumlah barisnya.
5.
MAX(ekspresi)
Fungsi ini digunakan untuk mencari nilai terbesar dari
suatu kolom dari suatu tabel. Kolom yang dicari nilai terbesarnya memiliki tipe
data numerik.
6.
MIN(ekspresi)
Fungsi ini digunakan untuk mencari nilai terkecil dari
suatu kolom dari suatu tabel. Kolom yang dicari nilai terkecilnya memiliki tipe
data numerik.
--------------------------------------------------------------------------
LABORATORIUM INFORMATIKA
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------
--------------------------------------------------------------------------