0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan28 halaman

Modul Praktikum Baisdata

Diunggah oleh

Sunny Lee
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan28 halaman

Modul Praktikum Baisdata

Diunggah oleh

Sunny Lee
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 28

MODUL PRAKTIKUM

SISTEM BASIS DATA

Oleh:
Slamet Kacung, S.Kom.

Laboratorium Komputer
Prodi Teknik Informatika
Universitas Dr. Soetomo
2012
KATA PENGANTAR

[isi kata pengantar]


SAP PRAKTIKUM
Nama Praktikum : Praktikum Sistem Basis Data
Deskripsi : Mata praktikum ini mengajarkan aplikasi untuk mendefinisikan table,
serta melakukan manipulasi dan membuat sebuah fungsi berbasis
SQL dan PlpgSql dengan menggunakan PostgreSQL.
Tujuan Instruksional : Dengan praktikum ini akan memberikan pengetahuan kepada
mahasiswa agar mampu membuat, memodifikasi, menghapus
table dan menampilkannya dengan menggunakan perintah-
perintah SQL.
SKS : 1 (satu) SKS di Lab. setara (3 SKS) di kelas.
Jumlah Pertemuan : 7x Pertemuan di Lab, 1x ujian
Prasyarat :-
No Pokok Bahasan Tujuan Instruksional Khusus Sub Bahasan Metode Tugas
1 Membangun Mahasiswa mampu : 1. Membuat Praktek
Database  Membangun database database
sederhana 2. Mendefinisikan
 membuat, memodifikasi, table
menghapus, serta 3. Manipulasi data
menampilkan data 4. Mendefinisikan
dengan select table, dan view.
membuat view 5. Latihan

2 Restricting dan Mahasiswa dapat : Praktek


1. Restricting baris
Sorting Data  menampilkan data yang
dan kolom
tersimpan dalam tabel
2. Sorting
dengan memberikan 3. Latihan
restriksi kolom maupun
baris

3 Fungsi dan Mahasiswa dapat : 1. Fungsi string Praktek


mengolah group  menggunakan fungsi 2. Fungsi date/time
untuk mengolah data 3. Aggregate function
tipe character dan
date/time dalam
selection query.
4 Menampilkan data Mahasiswa mampu : 1. Join Praktek
dari beberapa table menampilkan data dari 2. Sub Query
beberapa tabel yang 3. Latihan
berelasi.
5 Function berbasis Mahasiswa dapat : 1. Function berbasis Praktek
SQL dan PL/PGSQL  membuat, memodifikasi, SQL
dan menghapus data 2. Function berbasis
dengan function berbasis PL/PGSQL
SQPL dan PL/PGSQL 3. Latihan
6 Trigger Mahasiswa dapat : 1. Trigger Praktek
 membuat, memodifikasi, 2. Latihan
dan menghapus data
dengan trigger untuk
mempermudah dalam
pengolahan data
7 Backup dan Mahasiswa dapat : 1. Backup Praktek
Restore Database  Membuat file Backup dan 2. Restore
Restore database 3. Latihan
8 Ujian Praktek
PETUNJUK PRAKTIKUM

PENTUNJUK UMUM :
1. Peserta praktikum wajib hadir 10 (sepuluh) menit sebelum praktikum dimulai.
2. Peserta diharapkan sudah membaca modul sebelum mengikuti praktikum.

PETUNJUK TEKNIS :
1. Login ke sistem operasi gunakan user=mhs, password=unitomo.
2. Koneksi server database
 Klik tombol berikut untuk akses database server.

Koneksi
server

 Kemudian lengkapi seperti data berikut :

Host : pakai IP server


Contoh : 192.168.42.11
Name/description : NIM
Diisi. Contoh : 2012420247
Port : 5432
Username : Kel. Praktikum.
Password : Kel. Praktikum.

Note :
Pembuatan Database hanya
sekali pada saat pertemuan
pertama.

 Kemudian klik OK.


PERTEMUAN I
Membangun Database
Tujuan :
a. Mahasiswa mampu membangun database sederhana
b. Mahasiswa dapat membuat, memodifikasi dan menghapus table.
c. Mahasiswa dapat memanipulasi data dari table yang telah dibuat.
d. Mahasiswa dapat menampilkan data dengan select dan membuat view.

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Membuat database
b. Mendefinisikan Table
c. Manipulasi Data
d. Mendefinisikan View

Tugas Pendahuluan :
a. Sebutkan dan jelaskan tipe data yang digunakan dalam DBMS PostgreSQL!
b. Apa perbedaan antara DDL (Data Defition Language) dan DML (Data Manipulation
Language)?

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
Database adalah sebuah object yang kompleks untuk menyimpan informasi yang
terstruksur, yang diorganisir dan disimpan dalam suatu cara yang mengijinkan pemakainya
dapat mengambil informasi dengan cepat dan efisien.
1. DBMS menyediakan fasilitas untuk mendefinisikan struktur dari database dengan
pernyataan SQL. Subbagian dari pernyataan SQL yang mendefinisan dan mengedit
struktur ini disebut dengan Data Definition Language (DDL). Saat ini hampir semua
DBMS menggunakan antarmuka (user interface) visual untuk mendefinisikan dan
mengedit struktur ini. Yang selanjutnya piranti ini menerjemahkan tindakan user ke
dalam pernyataan DDL yang sesuai. Sebagai contoh, PostgreSQL menyediakan tool
untuk membuat database dengan piranti visual seperti pgAdmin III, tetapi ia juga
menghasilkan pernyataan DDL yang sesuai dan menyimpannya ke dalam sebbuah file
khusus yang disebut dengan Script.
2. DBMS terdapat fasilitas untuk memanipulasi informasi yang disimpan di dalam
database dengan pernyataan SQL. Sub bagian dari pernyataan SQL yang memanipulasi
informasi ini disebut dengan Data Manipulation Language (DML). Operasi dasar untuk
memanipulasi data seperti menambah (insert) record baru, memodifikasi (update) dan
menghapus (delete) record yang sudah ada, serta mengambil (select) record.
DBMS melindungi integritas database dengan menerapkan aturan, yang dimasukkan ke
dalam perancangan database tersebut. Kita bisa menentukan tidak mengizinkan field
tertentu kosong, melarang penghapusan record yang terhubung ke record lain, merubah
isi record dan perubahannya akan berdampak pada tabel lain yang berelasi, dan
sebagainya.

B. INSTRUKSI PRAKTIKUM
Instruksi 1 : Membuat Database
1. Jalankan PostgreSQLpgAdmin III
2. Click SQL Query, hingga tampak seperti gambar berikut :

SQL Query
3. Click Execute Query, lihat pada pgAdmin III, Treeview dibawah Database akan
muncul nama database akademik yang baru anda buat.

Instruksi 2 : Mendefinisikan Tabel


1. Click SQL Query
2. Buat tabel mahasiswa dengan struktur seperti berikut :
create table mahasiswa
(
nim varchar(10) NOT NULL,
nama varchar (40),
tempatlahir varchar (30),
tanggallahir date,
alamat varchar(50),
CONSTRAINT mhs_key PRIMARY KEY (nim)
);
3. Buat tabel jurusan dengan struktur seperti berikut :
create table jurusan
(
kodejurusan varchar (2) NOT NULL,
namajurusan varchar (30),
CONSTRAINT jur_key PRIMARY KEY (kodejurusan)
);
4. Tambahkan satu kolom kodejur pada tabel mahasiswa sebagai foreign key dengan
perintah ALTER, seperti berikut :
ALTER TABLE mahasiswa
add column kodejur varchar (2),
ADD CONSTRAINT jur_fkey FOREIGN KEY (kodejur)
REFERENCES jurusan (kodejurusan);

Instruksi 3 : Manipulasi Data


1. Gunakan perintah insert untuk menambahkan satu baris pada tabel mahasiswa
INSERT into mahasiswa (nim, nama)
VALUES ('2001420133', 'Dewi Cahyani')
2. Gunakan perintah update untuk merubah isi nama mahasiswa pada tabel
mahasiswa
UPDATE mahasiswa SET nama ='Suci Dewi Cahyani'
WHERE nim = '2001420133'
3. Gunakan perintah delete untuk menghapus baris pada tabel mahasiswa.
DELETE FROM mahasiswa
Warning!
“hati-hati dengan perintah diatas, karena bisa mengakibatkan hilangnya seluruh isi
pada tabel mahasiswa.”
4. Gunakan perintah delete untuk menghapus baris tertentu pada tabel mahasiswa.
DELETE FROM mahasiswa WHERE nim = '2001420133'

Instruksi 4 : Mendefinisikan View


1. Click SQL Query
2. Buatlah VIEW berikut :
CREATE VIEW MHA_view AS
SELECT *
FROM mahasiswa
WHERE nama = 'Putih' AND kodejur = ‘42’;
C. TUGAS
Tambahkan tabel.
1. Buat table – table berikut dengan query seperti langkah di atas
Table FAKULTAS
No Nama Tipe Data Panjang
1 KodeFakultas varchar 2
2 NamaFakultas varchar 30

Table MataKuliah
No Nama Tipe Data Panjang
1 KodeMK varchar 6
2 NamaMK varchar 40
3 SKS integer

Table KRS
No Nama Tipe Data Panjang
1 NIM varchar 10
2 KodeMK varchar 6
3 NilaiUTS Float4
4 NilaiUAS Float4
Catatan : Nama field bergaris bawah berarti primary key
2. Modifikasi table jurusan tambahkan satu field (KodeFakultas , varchar(2), sebagai foreign
key dari tabel Fakultas).

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini
PERTEMUAN II
Restricting dan Sorting Data
Tujuan :
a. Mahaiswa dapat menampilkan data yang tersimpan dalam tabel dengan
memberikan restriksi kolom maupun baris.
b. Mahasiswa dapat mengurutkan data berdasarkan kriteria tertentu.

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Restriksi Kolom
b. Restriksi Baris
c. Sorting Data

Tugas Pendahuluan :
a. Apa perbedaan antara klausa Where, Where Between, dan Where Like?
b. Apa fungsi dari perintah Order By?, dan berikan contoh!
c. Apa perbedaan dari fungsi ASC|DESC pada klausa order by? Jelaskan jawabanmu!

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
Restricting dan Sorting Data
Dalam suatu organisasi, informasi adalah hal yang terpenting dimana dengan informasi
suatu organisasi dapat memperhitungkan masa depan atau merancang strategi ke depan.
Informasi terdiri dari beberapa data dan data tersebut tersususn dalam suatu tabel.
Jika data pada tabel tidak terlalu banyak mungkin tidak ada masalah, tetapi jika data pada
tabel sangat banyak maka harus meningkatkan ketelitian dalam menampilkan data.
Sebagai contohnya jika ingin menampilkan beberapa data tidak perlu menampilakan
keseluruhan data.
Restricting data adalah penyederhanaan data seperti Where, Where between, where like,
dan lain-lain. Jika data tersebut tidak ditampilkan secara restricting maka query yang
dijalankan akan menampilakan keseluruhan tabel dan akan mempersulit dalam pencarian
data. Sedangkan sorting adalah pengurutan data dari yang besar ke yang kecil atau
sebaliknya dari yang kecil ke yang besar.

Restricting Kolom
Untuk menampilkan data yang terdapat pada setiap kolom dalam tabel digunakan
tanda bintang ( * ) sesudah SELECT dan sebelum FROM.
Sintaks: SELECT * FROM nama_tabel;
Contoh: Select * from "Products";
Untuk membuat restriksi kolom atau membatasi kolom yang tampil dapat
dilakukan dengan menuliskan nama kolom yang ingin ditampilkan.
Sintaks: SELECT nama_kolom1, nama_kolom2, ... FROM nama_tabel;
Contoh: select "ProductName", "UnitPrice" from "Products";
Restricting Baris
Untuk membuat restriksi baris atau membatasi jumlah baris yang tampil dapat
dilakukan dengan menambahkan WHERE sesudah nama tabel, diikuti dengan
kondisi yang diinginkan.
Sintaks: SELECT * FROM nama_tabel WHERE kondisi;
select * from "Products" where "UnitPrice" between 20 and 30;

Sorting
Data yang ditampilkan diurutkan berdasarkan kolom yang memiliki index atau
memiliki constraint primary key. Urutan baris data dapat diubah berdasarkan
kriteria yang diinginkan dengan menggunakan order by.
Sintaks: SELECT * FROM nama_tabel ORDER BY nama_kolom ASC|DESC;
Contoh: select * from "Products" order by "ProductName"
select * from "Products" order by "ProductName" desc

B. INSTRUKSI PRAKTIKUM
Instruksi 1 : Ristricting Kolom
1. Menampilkan nama dan alamat mahasiswa
SELECT nama, alamat FROM mahasiswa
2. Menampilkan matakuliah dan jumlah sks
SELECT namamk as matakuliah, sks FROM matakuliah

Instruksi 2 : Ristricting Baris


1. Gunakan klausa WHERE untuk menampilkan data mahasiswa dengan kriteria yang
diinginkan
 SELECT nim, nama FROM mahasiswa WHERE kodejur=’42’
 SELECT nim, nama FROM mahasiswa WHERE kodejur=’41’
OR kodejur=’42’
Query diatas bisa disingkat dengan IN menjadi
 SELECT nim, nama FROM mahasiswa WHERE
Kodejur IN(‘41’,’42’)

2. Gunakan klausa LIKE untuk menampilkan data mahasiswa dengan kriteria yang
diinginkan
SELECT nim, nama FROM mahasiswa WHERE nim LIKE ‘2012%’

3. Gunakan klausa BETWEEN untuk menampilkan data matakuliah dengan kriteria


yang diinginkan
SELECT kodemk, namamk, sks FROM matakuliah
WHERE sks BETWEEN 3 AND 5

Instruksi 3 : Sorting
1. Gunakan klausa ORDER BY untuk mengurutkan data mahasiswa
SELECT * FROM mahasiswa
ORDER BY kodejur, nim

2. Gunakan klausa ORDER BY untuk mengurutkan data mahasiswa dari besar kecil
DESC
SELECT * FROM mahasiswa
ORDER BY nim DESC
C. TUGAS
1. Tampilkan nama beserta alamat lengkap dari setiap mahasiswa!
2. Carilah data mahasiswa yang alamatnya kosong
3. Carilah data mahasiswa yang lahir mulai tanggal 01/01/1980 sampai tanggal 31/12/1990
4. Carilah data mahasiswa yang lahir di kota malang
5. Carilah data matakuliah yang semester 3 sampai 5
6. Carilah semua data mahasiswa selain jurusan Informatika dan Sipil

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini
PERTEMUAN III
Fungsi dan Mengolah Group
Tujuan :
a. Mahaiswa dapat menggunakan fungsi untuk mengolah tipe data character dan
date/time dalam select.
b. Mahasiswa dapat mengolah group dengan fungsi aggregate.

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Fungsi String
b. Fungsi Date/Time
c. Fungsi Aggregate

Tugas Pendahuluan :
a. Apa perbedaan (fungsi) antara klausa WHERE dengan HAVING

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
1. Fungsi String
Fungsi yang digunakan untuk mengolah data dengan tipe string (character,
character varying, text). Fungsi string dapat digunakan untuk mengolah data
tipe non string dengan cara melakukan konversi ke string terlebih dahulu.
Fungsi Nilai Deskripsi Contoh Hasil
Balik
String || Text Menggabungkan select 'Basis ' ||
string string 'Data' as "Contoh"

Char_length( int Jumlah select


string) atau karakter char_length('UNITOMO')
length(string)
Lower(String) Text Mengubah select
string menjadi lower('UNITOMO')
huruf kecil
Upper(String) Text Mengubah Select
string menjadi upper(’unitomo’)
huruf besar
Substr( text Mendapatkan select
string, beberapa substr('unitomo', 4,3)
awal,jumlah) karakter

2. Fungsi Date/Time
Fungsi yang digunakan untuk mengolah data bertipe date atau time.
Fungsi Nilai Deskripsi Contoh Hasil
Balik
Current_date Date Menghasilkan select
tanggal hari current_date
ini
Current_time Time Menghasilkan select
waktu saat current_time
ini

Age(timestamp) Interval Menghitung select


selisih age(timestamp
dengan '1990-12-30')
current_date
Date_part( Double Mendapatkan select
text, precision komponen date_part(
’timestamp’) date/time 'day',current_d
ate)
Operator + Date Menambah select
hari current_date +
integer '7'

3. Fungsi Agregate
Fungsi yang digunakan untuk menghasilkan hasil tunggal dari sekumpulan
data (aggregate). Fungsi aggregate membutuhkan argumen atau inputan berupa
nama kolom atau kolom hasil olahan fungsi lain.
Fungsi Deskripsi Contoh Hasil
Avg Menghasilkan nilai select avg("UnitPrice") as
average atau "Harga Rata-rata"
rata-rata dari from "Products"
suatu ekspresi
numeric
Count(*) Menghasilkan select count(*) from
jumlah baris dari "Employees"
suatu ekspresi

select count("Photo") from


"Employees"

Max Menghasilkan nilai select max("UnitPrice")


tertinggi dari from "Products"
ekspresi yang
ditentukan
Min Menghasilkan nilai select min("UnitPrice")
terrendah dari from "Products"
ekspresi yang
ditentukan
Sum Menjumlahkan select sum("UnitPrice")
nilai dari suatu from "Products"
ekspresi
numeric.

SUM, AVG, COUNT, MAX, dan MIN ignore null values; COUNT(*) tidak.

B. INSTRUKSI PRAKTIKUM
Instruksi 1 : Mengubah nilai suatu kolom atau baris menjadi huruf besar
1. Gunakan klausa UPPER, untuk menampilkan mahasiswa dengan huruf besar
SELECT UPPER(nama) FROM mahasiswa
2. Gunakan klausa LOWER, untuk menampilkan mahasiswa dengan huruf kecil
SELECT LOWER(nama) FROM mahasiswa
3. Gunakan klausa INITCAP, untuk menampilkan mahasiswa dengan huruf pertama
besar
SELECT INITCAP(nama) FROM mahasiswa
Instruksi 2 : Mengubah String menjadi tanggal
1. Gunakan fungsi text_datetime untuk mengubah suatu string menjadi tanggal
dan jam(datetime).
SELECT text_datetime(’31-12-2000’)
text_datetime
-----------------------------
Sun 31 Dec 00:00:00 2000 JAVT
(1 row)

SELECT text_datetime(’31-12-2000 14:12:7’)


text_datetime
-----------------------------
Sun 31 Dec 14:12:07 2000 JAVT
(1 row)

Instruksi 3 : Memisahkan date dan time pada datetime


1. Gunakan fungsi date() untuk mengubah tipe data datetime menjadi date
SELECT date (timeofday()), time(timeofday())
date | time
----------+--------
02-04-2000|07:21:48
(1 row)

Instruksi 4 : Penambahan dan pengurangan untuk date


1. Gunakan fungsi now() untuk mengetahui tanggal kemarin, sekarang, dan lusa
SELECT now()-1 as kemarin, date(now())as today,
now()+1 as lusa
k e m a r i n | t o d a y | l u s a
---------------+------------+----------
01-04-2000 | 02-04-2000 |03-04-2000
(1 row)

Instruksi 5 : Gunakan klausa GROUP BY dan HAVING


1. Menampilkan jumlah mahasiswa dikelompokkan per jurusan
SELECT NamaJurusan, Count(NIM) as JumlahMHS
from MAHASISWA, JURUSAN
WHERE MAHASISWA.KodeJur = JURUSAN.KodeJurusan
Group By NamaJurusan
Order By NamaJurusan

2. Menampilkan nama jurusan yang jumlah mahasiswa per angkatan lebih dari 10
SELECT NamaJurusan, substr(NIM,1,4) as Angkatan,
Count(NIM) as JumlahMHS from MAHASISWA, JURUSAN
WHERE MAHASISWA.KodeJur = JURUSAN.KodeJurusan
Group By NamaJurusan, substr(NIM,1,4)
HAVING Count(NIM) > 10

3. Menampilkan nama dan usia tertua


SELECT nama, max(
date_part('year',age(tanggallahir)) ) || ' tahun' as
"Usia Tertua"
from mahasiswa
group by nama
C. TUGAS
1. Tampilkan daftar mahasiswa beserta usianya
2. Tampilkan daftar mahasiswa yang lahir pada tahun 1980
3. Tampilkan nim mahasiswa beserta lama lulus dari waktu tahun masuk hingga tahun
lulus.
4. Buat query dengan fungsi agregate untuk mencari Nilai akhir Tertinggi (MAX), Nilai
akhir Terendah (MIN) dan Nilai akhir rata-rata (AVG) dari masing-masing matakuliah.
Dengan ketentuan [Nilai Akhir] = 0.4 * NilaiUTS + 0.6 *NilaiUAS

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini
PERTEMUAN IV
Menampilkan Data dari Beberapa Tabel
Tujuan :
a. Mahaiswa mampu menampilkan data dari beberapa tabel yang berelasi.

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Join
b. Sub Query
c. Latihan

Tugas Pendahuluan :
a. Ada berapa klausa (model) untuk menghubungkan tabel satu dengan tabel yang lain?
Sebutkan!
b. Apa perbedaan antara klausa inner join, left join, right join, dan full join?

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
Menhubungkan Tabel dengan Join
Jika pada latihan sebelumnya kita ingin menampilkan query yang melibatkan banyak tabel
kita menggunakan klausa WHERE, tetapi klausa WHERE hanyalah untuk mengekspresikan
batasan yang melibatkan satu atau beberapa tabel. Metode yang tepat untuk
menghubungkan tabel adalah dengan operasi JOIN. Mengapa harus dengan JOIN? Coba
kita perhatikan query berikut :
Select nim, nama, namajurusan from mahasiswa, jurusan
WHERE mahasiswa.kodejur=jurusan.kodejurusan
Untuk memahami query diatas, sebelumnya tambahkan satu baris pada tabel mahasiswa
dan kosongi kodejur-nya, dan tambahkan satu baris pada tabel jurusan yang kodejurusan-
nya tidak digunakan pada tabel mahasiswa. Query tersebut tidak akan dapat menampilkan
mahasiswa yang kodejur-nya NULL, karena nilai NULL tidak akan pernah ketemu pada
tabel jurusan.
Operasi JOIN diklasifikasikan menjadi beberapa, seperti : INNER JOIN, LEFT JOIN,
RIGHT JOIN, dan FULL JOIN.

Subquery
Subquery adalah sebuah query biasa yang cursor hasilnya digunakan sebagai bagian dari
query yang lain.

B. INSTRUKSI PRAKTIKUM
Instruksi 1 : Menghubungkan dengan INNER JOIN
select nim, nama, namajurusan
from mahasiswa INNER JOIN jurusan
ON mahasiswa.kodejur= jurusan.kodejurusan

Instruksi 2 : Menghubungkan dengan LEFT JOIN


select nim, nama, namajurusan
from mahasiswa LEFT JOIN jurusan
ON mahasiswa.kodejur= jurusan.kodejurusan
Instruksi 3 : Menghubungkan dengan RIGHT JOIN
select nim, nama, namajurusan
from mahasiswa RIGHT JOIN jurusan
ON mahasiswa.kodejur= jurusan.kodejurusan

Instruksi 4 : Menghubungkan dengan FULL JOIN


select nim, nama, namajurusan
from mahasiswa FULL JOIN jurusan
ON mahasiswa.kodejur= jurusan.kodejurusan

Instruksi 5 : Sub Query


 Menampilkan data mahasiswa yang tidak melakukan KRS
select * from mahasiswa
WHERE nim NOT IN (SELECT nim FROM KRS)

C. TUGAS
1. Carilah matakuliah yang belum diprogram oleh mahasiswa.
2. Lakukan penghapusan pada semua baris di tabel Matakuliah yang matakuliahnya tidak
diprogram mahasiswa.

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini
PERTEMUAN V
Function
Tujuan :
a. Mahasiswa dapat membuat, memodifikasi, dan menghapus data dengan function
berbasis SQL dan PL/PGSql.
b. Mahasiswa mampu mengimplementasikan business rule pada stored function
c. Mahasiswa mampu menyederhanakan pekerjaan dengan menggunakan function
berbasis SQL dan PL/PGSql.

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Function berbasis SQL
b. Function berbasis PL/PGSql
c. Latihan

Tugas Pendahuluan :
a. NA

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
Function merupakan salah satu object yang ada di PostgreSQL Server sama seperti table,
view dan object-object lainnya. Function adalah sebuah rutin yang ditulis dengan bahasa
PLPG-SQL yang dapat memanipulasi baris-baris database. Semua pernyataan SQL
digunakan untuk memanipulasi baris, tetapi SQL tidak memiliki pernyataan alur kendali
seperti IF, CASE, serta fungsi-fungsi untuk memanipulasi string dan sebagainya. Dengan
Function secara otomatis kita akan menyederhanakan pekerjaan, karena kita tidak perlu
menulis berulang-ulang untuk query yang sama dengan parameter yang berbeda sebab
kita hanya tinggal mamanggil nama Function beserta parameternya. Function dapat
mengurangi network traffic dan beban kerja client hal ini dapat terjadi karena Function
disimpan, dikompilasi dan dijalankan di server sehingga client tidak perlu memindahkan
semua data dari server, client hanya mengirimkan nama Function beserta parameternya
server hanya mengirim hasil dari Function tersebut.
Syntax
CREATE [ OR REPLACE ] FUNCTION name ( [ argtype [, ...] ] )
RETURNS rettype
{ LANGUAGE langname
| IMMUTABLE | STABLE | VOLATILE
| CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
| [EXTERNAL] SECURITY INVOKER | [EXTERNAL] SECURITY DEFINER
| AS 'definition'
| AS 'obj_file', 'link_symbol'
} ...
[ WITH ( attribute [, ...] ) ]

name
Nama Function yang baru. Fungsi Nama harus unik di dalam database.
rettype
Adalah kepanjangan dari return type yang merupakan tipe data hasil output dari fungsi tersebut
misalnya varchar, integer maupun record.
langname
Adalah kepanjangan dari Language name yang berarti nama bahasa yang akan digunakan dalam
pembuatan funsgsi tersebut misalnya SQL, PLPG-SQL, C dan lain lain .

B. INSTRUKSI PRAKTIKUM
Instruksi 1 : Buatlah function untuk menjumlahkan tiga angka berikut ini :
 Function berbasis sql
CREATE FUNCTION tambah(INT, INT, INT) RETURNS INT AS
'SELECT $1 + $2 + $3'
LANGUAGE 'sql';

Jalankan function diatas dengan perintah berikut ini:


select tambah(7,8,9)

 Function berbasi plpgsql


create function add_three_values(anyelement, anyelement,
anyelement)
returns anyelement as '
declare
hasil alias for $0;
nilai1 alias for $1;
nilai2 alias for $2;
nilai3 alias for $3;
begin
hasil:=nilai1+nilai2+nilai3;
return hasil;
end;
'language plpgsql;

Jalankan function diatas dengan perintah berikut ini:


select * from add_three_values(1,2,3)
C. TUGAS
1. Buatlah fungsi ulangtahun mahasiswa yang membutuhkan argumen berupa
NIM dan menghasilkan tanggal lahir.
select ulangtahun(1)

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini
PERTEMUAN VI
TRIGGER
Tujuan :
a. Membuat, memodifikasi, dan menghapus data dengan trigger untuk mempermudah
dalam pengolahan data.
b. Mahasiswa mampu mengimplementasikan business rule pada trigger
c. Mahasiswa mampu menyederhanakan pekerjaan dengan menggunakan trigger

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Trigger
b. Latihan

Tugas Pendahuluan :
a. NA

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
Trigger merupakan object khusus pada postgresql yang memanggil fungsi khusus ber-
return value trigger. Trigger akan menjalankan fungsi trigger secara otomatis bila terjadi
kejadian (event) tertentu. Kejadian seperti menambah (insert), menghapus (delete) atau
merubah (update) record. Dengan kata lain, kita bisa mendefinisikan trigger pada sebuah
table yang akan dijalankan secara otomatis oleh postgreSQL bila baris (record) pada Tabel
tersebut kita tambah, hapus atau kita update. Trigger biasanya juga digunakan untuk
mendefinisikan business rules, misalnya kita ingin setiap ada pembelian stock di gudang
akan bertambah, bila ada penjualan stock akan berkurang dengan jalan pada table
pembelian kita definisikan trigger untuk mengupdate (menambah) table stock dan pada
table penjualan kita definisikan trigger untuk mengurangi stock.
Syntax
CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funcname ( arguments )

name
Nama dari trigger, harus unik dalam satu database, tidak boleh sama meskipun pada table
yang berbeda

before / after
Triger akan dijalankan setelah proses atau sebelum proses yang dilakukan.

event
Triger tersebut akan dijalankan setelah pada saat kejadian insert, update, delete.
table
Nama tabel yang akan dijalankan triger.

funcname
Nama fungsi yang kan dipanggil pada triger, ingat fungsi ini sudah harus dibuat pada saat
dipanggil di triger.

Arguments
Adapun variable yang terjadi pada saat triger dijalankan adalah sebagai sebagai berikut :
 NEW
Adalah record baru yang dihasilkan pada saat penambahan atau perubahan record.

 OLD
Adalah record lama yang dihasilkan pada saat penghapusan atau perubahan record.

 TG_OP
Mempunyai tipe data text yang bernilai INSERT, UPDATE atau DELETE sesuai
dengan operasi yang terjadi.

B. INSTRUKSI PRAKTIKUM
Instruksi 1 : Buatlah tabel dengan perintah query dengan struktur sebagai berikut :
CREATE TABLE emp
(
empname text,
salary integer,
last_date timestamp without time zone,
last_user text
)

Instruksi 2 : Buatlah Trigger untuk menjalankan sebelum proses insert atau update pada
tabel emp
CREATE TRIGGER emp_ins_upd
BEFORE INSERT OR UPDATE
ON emp
FOR EACH ROW
EXECUTE PROCEDURE emp_ins_upd();

Instruksi 3 : Buatlah Trigger function untuk merubah empname pada tabel emp menjadi
huruf besar
CREATE OR REPLACE FUNCTION emp_ins_upd()
RETURNS trigger AS
$BODY$
begin
new.empname := UPPER(new.empname);
return new;
end;
$BODY$
LANGUAGE plpgsql VOLATILE

Instruksi 4 : Tambahkan satu buah record kedalam tabel emp


insert into emp values('slamet kacung',2000000,'11-05-1978')
Instruksi 5: Tampilkan tabel emp, dan lihat apa yang terjadi
select * from emp

C. TUGAS
1. Buatlah trigger untuk merubah nama mahasiswa besar pada huruf pertama pada tabel
mahasiswa pada saat proses sebelum insert.
2. Buat Trigger untuk mengupdate NIM Mahasiswa jika kodejur pada Mahasiswa dirubah,
sehingga selalu sama antara NIM dengan kode jurusannya.

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini
PERTEMUAN VII
Backup dan restore
Tujuan :
a. Mahasiswa membuat file Backup dan Restore database.

Deskripsi : Pada modul ini membahas beberapa materi meliputi :


a. Backup
b. Restore

Tugas Pendahuluan :
a. Apa fungsi dari back-up
b. Sebutkan beberapa tool yang digunakan untuk melakukan back-up database

Kebutuhan Alat:
a. PC yang ter install software PostgreSQL
b. Server Database

A. MATERI
Dari sekian banyak database server yang beredar dipasaran PostgreSQL termasuk salah
satu yang paling baik, PostgreSQL 9.1 memiliki fitur yang luar biasa. Namun secanggih-
canggihnya teknologi yang ditawarkan sebaiknya kita tidak mempercayakan begitu saja.
Apalagi ketika kita bicara soal data. Kita wajib mem-back-up data secara berkala.
Ya, backup adalah mantra ampuh untuk menjaga agar tidak kehilangan data (yang terlalu
besar). Banyak cara yang dilakukan untuk melakukan backup bisa secara graphic maupun
secara command-line.

B. INSTRUKSI PRAKTIKUM
Instruksi 1: Buat file backup
1. Pilih database yang mau di backup
2. Pilih direktori untuk menyimpan file backup, kemudian pilih format custome dan
Kemudian klick tombol backup untuk proses backup database

Instruksi 2: Restore database


1. Sebelum melakukan backup, buatlah database baru misalkan dengan nama akad.
C. TUGAS
1. Buatlah file backup untuk database dengan menggunakan command, gunakan
perintah pg_dump (untuk melakukan backup database) dan pg_restore (untuk
restore database)

D. EVALUASI
1. Analisa hasil percobaan yang anda lakukan
2. Kerjakan tugas diatas, dan analisa hasil tampilannya
3. Berikan kesimpulan dari praktikum ini

Anda mungkin juga menyukai