2
KATA PENGANTAR
Bismilahirahmanirakhim
Syukur kehadirat Allah SWT atas pertolongan dan kasih sayang Nya sehingga penulis bisa
merampungkan penyusunan 'Modul Praktikum Pemrograman Basis Data' ini. Mengutip salah
satu kata bijak imam bukhori 'Bersiaplah berlelah lelah dalam belajar jika engkau tidak ingin
terhina dalam kebodohan'. Maka atas semangat saling belajar lah modul ini bisa terpenuhi.
Terima kasih pula untuk team asisten dan modul yang telah berpeluh keringat mensukseskan
mata kuliah praktikum pemrograman basis data. Modul ini adalah modul revisi ke 4 setelah tiga
tahun mengalami perbaikan.
Modul praktikum ini bertujuan untuk pendukung perkuliahan Pemrograman Basis Data.
Digunakan terbatas dimasa pandemi covid 19 dengan pembelajaran online dan terbatas untuk
Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta. Tentunya masih butuh
penyempurnaan pada edisi berikutnya. Fokus pembelajaran adalah best practise sharing dengan
memperbanyak contoh dan studi kasus.
Kesempurnaan hanya milik Allah SWT, tak ada gading yang tak retak; Penulis sangat terbuka
untuk segala masukan demi perbaikan perkuliahan praktikum basis data ke depan. Masukan bisa
langsung atau via email arita@mercubuana-yogya.ac.id. Terakhir semoga karya ini bisa memberi
kemanfaatan untuk civitas akademika FTI pada khususnya. Terima kasih
3
DAFTAR ISI
TABLE OF CONTENTS
KATA PENGANTAR........................................................................................................................................ iii
DAFTAR ISI.................................................................................................................................................... iv
Daftar Gambar ............................................................................................................................................ vii
Tata Tertib Praktikum ................................................................................................................................ viii
1 BAB 1 PL/SQL (PROGRAMMING LANGUAGE/STRUCTURE QUERY LANGUAGE) ............................... ix
1.1 Identitas ....................................................................................................................................... ix
1.2 PL/SQL ........................................................................................................................................... 9
1.3 Instalasi oracle express 18.g ....................................................................................................... 10
1.4 Menjalankan oracle command line............................................................................................. 11
1.5 Praktek Login ke database .......................................................................................................... 12
1.6 Test Akhir .................................................................................................................................... 14
2 BAB 2 AN ANYMOUS BLOK DAN TYPE DATA.................................................................................... 17
2.1 Identitas ...................................................................................................................................... 17
2.2 Anonymous blok ......................................................................................................................... 17
2.2.1 HEADER ............................................................................................................................... 17
2.2.2 BODY ................................................................................................................................... 17
2.2.3 EXCEPTION .......................................................................................................................... 18
2.2.4 PRAKTEK .............................................................................................................................. 18
2.3 Type Data Skalar ......................................................................................................................... 19
2.4 Type Data Komposite.................................................................................................................. 20
2.5 Pendeklarasian tipe data dan penggunaanya (praktek) ............................................................. 20
2.6 Test Akhir .................................................................................................................................... 21
3 BAB 3 STRUKTUR PERCABANGAN .................................................................................................... 23
3.1 Identitas ...................................................................................................................................... 23
3.2 If Then ......................................................................................................................................... 24
3.3 If Then Elsif(Bersarang) ............................................................................................................... 25
3.4 Case When .................................................................................................................................. 25
3.5 Test Akhir .................................................................................................................................... 27
4 BAB 4 STRUKTUR PENGULANGAN ................................................................................................... 28
4
4.1 Identitas ...................................................................................................................................... 37
4.2 pengulangan sederhana(simple looping).............................................................................. xxxviii
4.2.1 Sintax............................................................................................................................. xxxviii
4.3 pengulangan FOR ( For looping) ........................................................................................... xxxviii
4.4 pengulangan While (While looping) ............................................................................................ xl
5 BAB 5- EXCEPTION HANDLING ............................................................................................................ 28
5.1 EXCEPTION HANDLING................................................................................................................ 28
5.1.1 NON PREDEFINED ERRORS............................................................................................... 30
5.1.2 USER DEFINED EXCEPTIONS ............................................................................................. 32
6 BAB 6- CURSOR ..................................................................................................................................xliv
6.1 Identitas .....................................................................................................................................xliv
6.2 Cursor Implisit ............................................................................................................................xliv
6.3 Cursor Eksplisit............................................................................................................................xlv
6.4 Test Akhir ...................................................................................................................................xlvi
7 BAB 7-STORED PROCEDURE.............................................................................................................xlviii
7.1 Identitas ...................................................................................................................................xlviii
7.2 STORED PROCEDURE................................................................................................................xlviii
APA ITU PARAMETER ? ..........................................................................................................................xlix
parameter formal dan aktual.................................................................................................................xlix
7.3 PRAKTEK.....................................................................................................................................xlix
7.3.1 CREATE SINTAKSIS..............................................................................................................xlix
7.3.2 REPLACE SINTAKSIS ................................................................................................................ l
7.3.3 DROP SINTAKSIS..................................................................................................................... l
7.3.4 PARAMETER IN...................................................................................................................... li
7.3.5 PARAMETER OUT .................................................................................................................. li
7.3.6 MELIHAT PARAMETER OUT DENGAN iSQL*PLUS ................................................................ lii
7.3.7 MENGGUNAKAN IN OUT PARAMETER................................................................................. lii
7.3.8 MELIHAT PROSEDUR DALAM KAMUS DATA ....................................................................... liii
7.4 TUGAS ......................................................................................................................................... liii
8 BAB 8- STORED FUNCTION................................................................................................................... lv
8.1 Identitas ....................................................................................................................................... lv
8.2 STORED FUNCTION ?.................................................................................................................... lv
8.2.1 CREATE SINTAKSIS.............................................................................................................. lvii
5
8.2.2 REPLACE SINTAKSIS ............................................................................................................ lvii
8.2.3 DROP SINTAKSIS.................................................................................................................lviii
8.2.4 IN SINTAKSIS.......................................................................................................................lviii
8.2.5 OUT SINTAKSIS ...................................................................................................................lviii
8.2.6 IN OUT SINTAKSIS................................................................................................................ lix
8.3 TUGAS .......................................................................................................................................... lx
9 BAB 9- PACKAGE ................................................................................................................................. lxi
10 BAB 10- TRIGGER............................................................................................................................. lxi
11 BAB 11- TUGAS BESAR .................................................................................................................... lxi
12 Bibliography .................................................................................................................................... lxi
6
Daftar Gambar
GAMBAR 1 FILE INSTALASI...........................................................................................................................................10
GAMBAR 2. KLIK SETUP ...............................................................................................................................................10
GAMBAR 3. PROSES INSTALASI....................................................................................................................................11
GAMBAR 4. ISIAN PASSWORD USER SYS DAN SYSTEM YANG HARUS DISIMPAN .......................................................11
GAMBAR 5 . PILIHAN MENU ORACLE ..........................................................................................................................12
GAMBAR 6. MENU SQL COMMAND LINE ....................................................................................................................12
GAMBAR 7. LOGIN KE USER SYSTEM ...........................................................................................................................12
GAMBAR 8. UNLOCK USER SKEMA HR USER ...............................................................................................................13
GAMBAR 9. MASUK KE SKEMA HR / EMPLOYEE..........................................................................................................14
GAMBAR 10. QUERY PADA SKEMA / DATABASE HR....................................................................................................14
GAMBAR 11. BLOK PL/SQL...........................................................................................................................................17
GAMBAR 12. AN ANYMOUS BLOK 1 ............................................................................................................................18
GAMBAR 13. HASIL EKSEKUSI BLOK PL/SQL ................................................................................................................19
GAMBAR 14. AN ANYMOUS BLOK 2 ............................................................................................................................19
7
Tata Tertib Praktikum
Tata Tertib berikut untuk kebaikan bersama
8
1 BAB 1 PL/SQL (PROGRAMMING LANGUAGE/STRUCTURE
QUERY LANGUAGE)
1.1 IDENTITAS
1.
2.
1.
2.
3.
1.2 PL/SQL
A. Apa itu PL / SQL ?
PL / SQL merupakan gabungan dari Structured Query Language (SQL) dengan fitur bahasa
pemrograman procedural (PL). PL/SQL dikembangkan oleh Oracle Corporation di awal 90-an
untuk meningkatkan kemampuan SQL.
Kenapa SQL saja tidak cukup ? ,
SQL tidak memiliki struktur kontorl pemrograman seperti LOOPING dan seleksi kondisi IF THEN
ELSE. Sedangkan PL/SQL dapat menangani logika tersebut dengan mudah.
B. Fitur PL / SQL
PL/SQL memiliki beberapa fitur diantaranya terintegrasi dengan SQL, menawarkan pengecekan
error yang luas, memiliki berbagai jenis data, memiliki berbagai struktur pemrograman,
mendukung pemrograman terstruktur, mendukung OOP, mendukung pengembangan aplikasi
web dan halaman server
C. Keuntungan PL / SQL
PL/SQL memiliki keuntungan sebagai berikut :
a) Peningkatan kinerja,
PL / SQL memungkinkan pengiriman seluruh blok pernyataan ke database pada satu waktu. Hal ini
akan mengurangi lalu lintas jaringan dan memberikan kinerja tinggi untuk aplikasi.
b) Portable,
PL/SQL adalah sarana yang asli dimiliki oleh oracle server, artinya program PL/SQL dapat dengan
mudah dipindahkan dari satu oracle server ke oracle server lainnya, meskipun denga OS atau
platform yang berbeda.Penggunaan variable/ identifier sanagat memudahkan dalam membuat
suatu perintah SELECT untuk diproses dan hasilnya digunakan untuk melakukan proses lainnya.
Dapat mengganakan struktur control (LOOP, FOR, WHILE)
c) Security
9
PL/SQL memungkinkan kita untuk memberikan pembatasan antara client dan server. Pembatasan
tersebut bisa diberikan lewat trigger yang ditulis dalam bentuk PL/SQL, sehingga bisa membatasi
akses ke aplikasi dan database.
d) Higher Productivity
PL/SQL dapat digunakan di semua aplikasi Oracle termasuk Oracle Forms dan Oracle reports.
Sehingga tidak perlu membuat dengan sintak yang lain pada platform yang sama dan waktu
pengembangan pun bisa di hemat.
e) Better Performance
Tanpa menggunakan PL/SQL, Oracle hanya menjalankan satu statement SQL pada satu waktu jika
hal ini dilakukan pada lingkungan client server jelas akan membebani jalur komunikasi. Jika
menggunakan PL/SQL, satu blok statement akan dikirimkan sekaligus pada waktu yang sama.
Keuntungan yang diperoleh dari sisi aplikasi adalah aplikasi menjadi lebih ringan karena respon
dari server cepat dan statement dikirimkan sekaligus pada waktu yang sama dan penggunaan
memori juga berkurang.
f) PL / SQL menyediakan dukungan untuk Mengembangkan Aplikasi Web dan Server Pages.
(Anon., 2017)
2. Kemudian instalasi oracle, pastikan catat dan ingat password user admin nya.
10
Gambar 3. Proses instalasi
Gambar 4. Isian password user sys dan system yang harus disimpan
11
Gambar 5 . pilihan menu oracle
3. Lalu klik run command line untuk bisa masuk ke menu command line oracle. Selama
praktikum , menu ini yang akan digunakan untuk praktek.
4. Tampilan setelah masuk ke commad line
1. Login ke oracle terlebih dahulu gunakan password user system saat awal instalasi.
Perintah login ke oracle
Conn username
Conn username
Setelah login maka akan diminta memasukkan password, oracle menyembunyikan proses input
password seakan akan tidak ada inputan.
2. Login user system adalah login DBA (Data base administrator), sehingga bisa membuka semua
table, untuk kepentingan praktikum, gunakan skema HR. skema ini butuh di unlock dulu
12
Gambar 8. Unlock user skema HR user
Untuk password bisa diganti pada bagian identified by sesuai keinginan. Untuk contoh
diatas password nya adalah HR.
cw
13
3. Coba masuk ke database HR dengan user HR
4. Database siap digunakan untuk praktek PL/SQL. Coba masuk ke salah satu table dan lakukan
query sederhana misal seperti contoh berikut ini !
14
Table jobs
Table regions
15
16