Perkenalkan nama saya Muhammad Iqbal Al Mulki, salah
satu mahasiswa Informatika dari Universitas Muhammadiyah
Sidoarjo. Disini Saya akan menyampaikan penjelasan singkat
tentang resumen Basis Data yang bersumber dari modul asli
UMSIDA. Jika ingin mengenal lebih dalam tentang universitas saya, silahkan
akses link berikut : umsida.ac.id atau fst.umsida.ac.id.
POKOK
BAHASAN 1
BASIS DATA,
MODEL DATA, DIAGRAM E-R
A.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. Komponen Sistem Basis Data: Perangkat
Keras (Hardware), Sistem Operasi (Operating System), basis data (Database),
DBMS (Database Management System), Pemakai (User).
B.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)
2. Model Data berbasis Record (Record Based Data
Model)
3. Physical Based Data Model
C. 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 :Membentuk
basis data, tabel, indeks. Mengubah struktur table. Menghapus basis data, tabel
atau indeks.
2. DML (Data Manipulation Language) digunakan untuk menjabarkan
pemrosesan data pada basis data yang meliputi : Menambahkan atau menyisipkan
data baru ke basis data, Mengelolah data yang tersimpan dalam basis data
(query), Mengubah dan menghapus data dalam basis data.
3.DCL (Data Control Language) digunakan
untuk pengaturan hak akses pengguna pada basis data yang meliputi : Menugaskan
hak akses terhadap basis data kepada pengguna atau grup pengguna. Membatalkan
hak akses pengguna terhadap basis data.
D. Entity Relationship Diagram
(ER-D)
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.
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.
POKOK BAHASAN 2
STRUKTURED QUERY LANGUAGE (SQL)
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
1. Pernyataan
Merupakan perintah SQL yang meminta sesuatu tindakan kepada DBMS
(Database Management System). Yang semuanya dikelompokkan berdasarkan fungsinya
masing-masing yaitu :
Data Definition Language (DDL) : Digunakan untuk mendefinisikan data
dengan menggunakan perintah : CREATE, DROP, ALTER.
Data Manipulation Language (DML) : Digunakan untuk memanipulasi data
dengan menggunakan perintah : INSERT, SELECT, UPDATE, DELETE.
Data Control Language (DCL) : Digunakan untuk mengontrol hak para
pemakai data dengan perintah : GRANT, REVOKE.
2. Nama
Nama digunakan sebagai identitas bagi objek-objek pada DBMS (Database
Management System). Contoh objek pada DBMS adalah tabel, kolom dan pengguna.
3. Tipe Data
4. Konstanta
Konstanta menyatakan nilai yang tetap atau tidak berubah. Konstanta
sering di pakai pada perintah SELECT. Konstanta di bagi menjadi 2 : Konstanta
bertipe numerik : 200, -3, 1500, 3.25 Konstanta bertipe karakter : ‘Teknik
Informatika’
5.Operator Aritmatika
Operator Aritmatika adalah ekspresi untuk memperoleh suatu nilai dari
hasil perhitungan.
Contoh : harga*jumlah+2
6. Operator Relasi
Merupakan operator yang digunakan untuk membandingkan suatu nilai
dengan nilai yang lain.
7. Operator Logika
Operator logika ada 3 yaitu OR, AND dan NOT.
8. Operator Pembanding
9. Aggregate Functions (Fungsi Agregat) Fungsi adalah sebuah
subprogram yang menghasilkan suatu nilai jika dipanggil.
POKOK BAHASAN 3
DATA DEFINITION LANGUAGE (DDL)
A. Data Definiton Language
(DDL)
DDL merupakan bagian dari sql yang digunakan untuk
mendefinisikan struktur dan kerangka data dan obyek basis data. Bisa
juga dikatakan merupakan kelompok perintah yang berfungsi untuk mendefinisikan
atribut-atribut basis data, tabel, batasan-batasan terhadap suatu atribut,
serta hubungan antar tabel.
1. Membuat Database
Contoh Syntax : mysql>
create database perpustakaan;
2. Menampilkan daftar
Database
Contoh Syntax
: mysql> show databases;
3. Menghapus Database
Contoh Syntax
: Mysql> drop database perpustakaan;
4. Mengaktifkan Database
Contoh Syntax
: Mysql> use perpustakaan;
5. Membuat Tabel
Contoh Syntax
: mysql> create table pengarang (kode_pengarang varchar(5),
nama_pengarang varchar(35));
6. Mendefinisikan null/not null
Contoh Syntax
: mysql> create table pengarangg (
kode_pengarang varchar(5) not
null,
nama_pengarang varchar(35) not
null);
7. Mendefinisikan Nilai Bawaan
(Default)
Contoh Syntax
: Mysql> create table buku (
Kode_buku varchar(5) not null,
Judul_buku varchar(15) not null,
harga integer default 0,
tahun_terbit varchar(5),
kode_pengarang varchar(5),
kode_penerbit varchar(5));
8. Menentukan kunci primer
(Primary Key) Pada Tabel
Contoh Syntax
: Mysql> create table pengarang (
Kode_pengarang varchar(5) not
null primary key,
Nama_pengarang varchar(15) not
null);
9. Menghapus Primary Key Pada
Tabel
Contoh Syntax
: Mysql> alter table pengarang drop primary key;
10. Menentukan Foreign Key
Pada Tabel
Contoh Syntax : mysql>
alter table buku add constraint fk foreign key (kode_pengarang) references
pengarang (kode_pengarang) on update cascade on delete no action;
11. Menghapus Foreign
Key
Contoh Syntax
: Mysql> alter table buku drop foreign key fk;
12. Mengubah Struktur
Tabel
Contoh Syntax
: Mysql> alter table buku add keterangan varchar(25);
13. Menghapus Tabel
Contoh Syntax
: Mysql> drop table buku;
POKOK BAHASAN 4
DATA MANIPULATION LANGUAGE (DML)
A. Data Manipulation
Language (DML)
Data manipulation language (DML) merupakan perintah-perintah yang
berfungsi untuk melakukan manipulasi data ataupun objek-objek yang ada didalam
tabel. DML menurut jenisnya dapat dibagi menjadi 2 jenis yaitu :
1. Prosedural, DML membutuhkan pemakai untuk menspesifikasikan data
apa yang dibutuhkan dan bagaimana cara mendapatkannya, contoh paket bahasa
prosedural adalah dBase III, FoxBase.
2. Non prosedural, DML membutuhkan pemakai untuk
menspesifikasikan data apa yang dibutuhkan tanpa tahu bagaimana cara
mendapatkannya. Contoh paket bahasa non prosedural adalah SQL (Structured Query
Language) atau Query By Example (QBE).
B.Perintah DML
1. INSERT
Contoh Syntax : Mysql
> insert into buku values (‘B001’,’Sistem
BasisData’,25000,’2004’,’P001’,’T001’);
2. UPDATE
Perintah UPDATE digunakan untuk
mengubah isi data pada satu atau beberapa kolom pada suatu tabel.
Contoh Syntax : Mysql
> update buku set judul_buku=’basis data terpadu’ where kode_buku=’B001’;
3. SELECT
Perintah SELECT digunakan untuk
menampilkan isi dari suatu tabel
yang dapat dihubungkan dengan
tabel yang lainnya.
Contoh Syntax : Mysql
> select * from buku;
4. DELETE
Perintah delete digunakan untuk
menghapus satu baris,baris dengan kondisi tertentu atau seluruh baris.
Contoh Syntax : Mysql
> delete from buku where judul_pengarang=’basis data’;
POKOK BAHASAN 5
QUERY DAN VIEW
A. Query
Query merupakan suatu proses
pengolahan data yang digunakan untuk memberikan hasil dari basis data
berdasarkan kriteria tertentu. Query tidak hanya membaca atau mengambil
data,Query biasanya melibatkan beberapa tabel yang direlasikan dengan
menggunakan field kunci.Namun query juga dapat digunakan pada satu tabel
saja,tetapi hasilnya kurang informatif dan terbatas.
1. Aturan dalam melakukan query antar tabel
Setiap field disebutkan bersama
dengan nama tabelnya,dipisahkan tanda titik (.)
2. Jenis – jenis join pada query.
a. Operator Cross Join
Operator ini berguna untuk
melakukan operasi penggabungan dengan perkalia kartesain.Namun penggabungan
jenis ini jarang digunakan karena tidak menghasilkan nilai informasi yang
efektif.
select * from buku cross join
pengarang limit 5;
b. Operator Inner Join
Inner join digunakan untuk
menampilkan data dari dua tabel yang berisi data sesuai dengan syarat
dibelakang on (tidak boleh null) dengan kata lain semua data dari tabel kiri
mendapat pasangan data dari tabel sebalah kanan.
Mysql> select * from pengarang
join buku on (pengarang.kode_pengarang=buku.kode_pengarang);
c. Operator Equijoin
Equijoin adalah penggabungan
antar tabel denga menggunakan operator ‘=’ pada kondisi klausa Where.
SELECT buku.kode_buku,
buku.judul_buku, pengarang.kode_pengarang, pengarang.nama_pengarang From buku,
pengarang WHERE buku.kode_pengarang=pengarang.kode_pengarang;
d. Operator Self-join
Self-join adalah jenis
penggabungan antar field dari tabel yang sama. Untuk melakukan penggabungan
self join menggunakan alias.
SELECT a.kode_buku, b.judul_buku
from buku a, buku b WHERE a.harga=’25000’ AND a.harga=’25000’;
e. Operetor Natural Join (
Left & Right )
Operator ini digunakan untuk
melakukan equijoin dengan memperlakukan nama-nama kolom yang sama sebagai kolom
penghubung.
SELECT buku.kode_buku,
buku.judul_buku, pengarang.kode_pengarang, pengarang.nama_pengarang FROM buku
NATURAL JOIN pengarang;
3. UNION, INTERSECT dan EXCEPT
a. UNION
Union merupakan operator yang
digunakan untuk menggabungkan hasil query,dengan ketentuan jumlah,nama dan tipe
kolom dari masing-masing tabel yang akan ditampilkan datanya harus sama.
b. INTERSECT
Intersect merupakan
operator yang digunakan untuk memperoleh data dari dua buah query
dimana data yang ditampilkan adalah yang memenuhi kedua query tersebut dengan
ketentuan jumlah,nama dan tipe kolom dari masing-masing tabel yang akan
ditampilkan datanya harus sama.
c. EXCEPT / Set Difference
Except merupakan operator yang
digunakan untuk memperoleh data dari dua buah query dimana data yang
ditampilkan adalah data yang ada pada hasil query 1 dan tidak terdapat pada
data dari hasil query 2 dengan ketentuan jumlah,nama dan tipe kolom dari
masing-masing tabel yang akan ditampilkan datanya harus sama.
d. Nested Queries / Subquery (IN,NOT IN,EXISTS,NOT EXIST)
Subquery berarti query didalam
query dengan menggunakan subquery, hasil dari query akan
menjadi bagian dari query diatasnya.
B. View
View adalah perintah query yang disimpan pada database dengan suatu
nama tertentu,sehingga bisa digunakan setiap saat untuk melihat data tanpa
menuliskan ulang query tersebut.
Penggunaan View
1. View antar 2 tabel
Kita akan membuat view dari relasi antara tabel “buku” dan “penerbit”
untuk menampilkan data buku dan penerbitnya dari
database PERPUSTAKAAN dengan nama ‘view_buku” perintahnya adalah
sebagi berikut :
Mysql > CREATE VIEW view_buku
>As
>SELECT a.kode_buku, a.judul_buku,
>a.tahun_terbit,b.nama_penerbit
>FROM
>buku a JOIN penerbit b ON a,buku= b.penerbit;
2. View dengan 3 tabel
Membuat view dari relasi antara tabel “buku”, ”anggota” dan
“peminjaman” untuk menampilkan data peminjaman buku dari database perpustakaan
dengan nama “view_peminjaman”. perintahnya adalah sebagai berikut :
Mysql >CREATE VIEW view_peminjaman
>AS
>SELECT a id_peminjaman, b.kode_buku, b.judul_buku,
>c.kode_anggota, c.nama_anggota, a.tanggal_pinjam,
>a.tanggal_kembali FROM peminjaman a, buku b,
>anggota c WHERE a.kode_buku=
b.kode_buku AND
>a.kode_anggota=c.kode_anggota;
POKOK BAHASAN 6
DATA CONTROL LANGUAGE (DCL) / HAK
AKSES USER
A. Pemahaman Hak Akses
Basis data yang telah dibuat perlu diatur agar data selalu dalam
keadaan aman dari pemakai yang tidak berhak. Pengaturan hak akses berguna dalam
hal pembatasan pengaksesan suatu data, misalkan hanya pemakai tertentu yang
bisa membaca atau pemakai lain yang justru dapat melakukan perubahan dan
penghapusan data.
Macam-macam perintah yang terkait dengan hak akses adalah SELECT,
INSERT, UPDATE, DELETE, REFERENCES, INDEX, CREATE, ALTER dan DROP.
B. Mengatur Hak Akses
a. Perintah GRANT
Dipergunakan untuk membuat user
baru dengan izin aksesnya.
Contoh Syntax : GRANT SELECT ON buku To
‘siska’@’localhost’;
b. Hak akses lebih dari satu.
Contoh Syntax : GRANT
SELECT, INSERT, UPDATE, DELETE, ON buku TO ‘siska’@’localhost’ ;
C. Membatasi Hak Akses
Hak akses perlu dibatasi untuk memudahkan dalam mengatur dan mengawasi
pemakaian data serta menjaga keamanan data.
Contoh Syntax : GRANT SELECT, UPDATE
(kode_buku,judul_buku,tahun_terbit) On buku TO ‘edi’@’localhost’ ;
D. Hak akses penuh
Untuk memberikan hak akses penuh kepada pemakai, dapat memakai
perintah klausa ALLPRIVILEGES. Tentunya dengan pemberian hak akses penuh kepada
pemakai (user).
Contoh Syntax : GRANT ALL PRIVILAGE ON buku to siska;
E. Hak akses kepada public
Untuk memberikan hak aksess kepada banyak user dapat menggunakan
klausa PUBLIC beberapa DBMS ada yang menggunakan klausa WORLD.
Contoh Syntax : GRANT SELECT, INSERT ON buku to
public;
F. Pencabutan hak akses
a. Pencabutan hak akses sementara
Untuk melakukan pencabutan atau penghapusan hak akses user menggunakan
perintah REVOKE perintah ini juga mampu melakukan pencabutan hak akses sebagian
pemakai atau secara keseluruhan.
Contoh Syntax : REVOKE SELECT ON buku FROM
‘siska’@’localhost’;
b. Perintah DELETE
Untuk menghapus user secara permanen dari basis data.
Sekian rangkuman Praktikum Basis Data dari saya, Semoga dapat
bermanfaat bagi kita semua, dan apabila ada kesalahan dalam kata mohon maaf
sebesar - besarnya .
Wassalamualaikum wr.wb
EmoticonEmoticon