BAB
I
MAKSUD
DAN TUJUAN PRAKTIKUM
I.1 Maksud
Praktikum
1.
Membahas tentang fungsi
2. Membahas mengenai
pl/pgsql dan triger
I.2 Tujuan
Praktikum
1. Memahami dan menggunakan fungsi dalam database PostgreSQL.
2. Memahami dasar penggunaan PL/PGSQL dan TRIGGER
BAB
II
Dasar Teori
A. Landasan Teori
A.1 Fungsi dalam perspektif PostgreSQL
Fungsi SQL adalah sebuah kumpulan query, biasanya query yang detail dan
panjang yang dibungkus menjadi satu dan disimpan dalam database dan kemudian
apabila diperlukan hanya tinggal mengaksesnya tanpa mengetikan query detail.
Sedangkan untuk memunculkan fungsi dapat menggunakan query \df. Ada beberapa
konsep yang menarik dari fungsi antara lain: • Bahasa yang dipakai dapat
didefenisikan sendiri dengan tersedianya parameter LANGUAGE, tanpa harus mengkompilasi
ulang PostgreSQL. • Kita dapat membuat dua buah fungsi dengan nama yang sama
namun parametermasukkannya yang berbeda, baik tipe data maupun jumlahnya.
Ada beberapa faktor
yang perlu diperhatikan dalam membuat fungsi antara lain: • Nama Fungsi • Nomor
dari fungsi argument • Tipe data dari setiap argument • Tipe dari hasil fungsi
• Fungsi action • Bahasa yang digunakan oleh fungsi action. Berikut contoh
sederhana pembuatan fungsi SQL untuk perkalian dari tiga inputan :
db_personal=>
CREATE FUNCTION perkalian (FLOAT, FLOAT, FLOAT)
db_personal->
RETURNS FLOATdb_personal-> AS ‘SELECT ($1 + $2) * $3;’
db_personal->
LANGUAGE ‘sql’; CREATE
db_personal=>
SELECT perkalian (10,10,10); perkalian ———– 200 (1 row)
Contoh yang lain
dalam pembuatan fungsi SQL untuk mencari jumlah pegawai dari tabel pegawai
berikut :
Berikut kode SQL nya
:
Create
function jumlah_pegawai() Returns bigint As ‘select count(*) as
jumlah_pegawai from pegawai;’Language ‘sql’;
Maka hasilnya sebagai berikut
:
Select jumlah_pegawai();
Jumlah_pegawai
———————-
4
(1 row)
A.2 Fungsi dalam
Perspektif MySQL
Function dan Stored
Procedure merupakan fitur utama yang paling penting di MySQL 5. Function dan
Stored Procedure merupakan suatu kumpulan perintah atau statement yang disimpan
dan dieksekusi di server database MySQL. Dengan SP (Stored Procedure), kita
dapat menyusun program sederhana berbasis sintaks SQL untuk menjalankan fungsi
tertentu. Hal ini menjadikan aplikasi yang kita buat lebih efektif dan efisien.
Berikut ini beberapa keuntungan menggunakan Stored Procedure:
§ Lebih cepat. Hal ini karena kumpulan perintah query dijalankan langsung
diserver. Berbeda dengan jika dijalankan secara sekuensial di bahasa
pemrograman, akan lebih lambat karena harus “bolak-balik” antara client dan
server.
§ Menghilangkan duplikasi proses, pemeliharaan yang mudah. Pada dasarnya
operasi yang terjadi di suatu aplikasi terhadap database adalah sama. Secara
umum, di alam aplikasi biasanya terdapat operasi untuk validasi data inputan,
menambahkan record baru, mengubah record, menghapus record dan sebagainya.
Dengan SP, mungkin kita dapat menghindari adanya duplikasi proses yang kurang
lebih sama, sehingga pemeliharaannya juga jadi lebih mudah.
§ Meningkatkan keamanan database. Dengan adanya SP, database akan lebih
aman karena aplikasi yang memanggil SP tidak perlu mengetahui isi di dalamnya.
Sebagai contoh, dalam proses menambahkan data (insert), kita membuat suatu SP
khusus. Dengan demikian, saat client atau aplikasi akan menambahkan data
(insert) maka tidak perlu tahu nama tabelnya, karena hanya cukup memanggil SP
tersebut dengan mengi rimkan parameter yang diinginkan. Selanjutnya, Stored
Procedure dari segi bentuk dan sifatnya terbagi menjadi 2 (dua), yaitu FUNCTION
dan PROCEDURE. Perbedaan utama antara function dan procedure adalah terletak
pada nilai yang dikembalikannya (di -return). Function memiliki suatu nilai
yang dikembalikan (di-return), sedangkan procedure tidak. Umumnya suatu
procedure hanya berisi suatu kumpulan proses yang tidak menghasilnya value,
biasanya hanya menampilkan saja. Sebagai catatan bahwa dalam modul ini jika
terdapat istilah SP (Stored Procedure) maka yang dimaksud adalah Function dan
Procedure.
Sebagai contoh sederhana, kita akan membuat suatu
SP yang akan menampilkan string “Hello World!” di layar hasil. Berikut ini
perintah query untuk membuat SP tersebut:
DELIMITER
$$ CREATE PROCEDURE hello() BEGIN SELECT “Hello
World!”; END$$ DELIMITER ;
Untuk memanggil
procedure tersebut, gunakanlah CALL. Berikut ini contoh pemanggilan procedure
dan hasil tampilannya:
CALL
hello();
Hasilnya sebagai berikut:
+————–+ |Hello World!
| +————–+ | Hello World! | +————–+
Membuat SP Untuk membuat SP baru, berikut ini bentuk umumnya:
CREATE [DEFINER
= { user | CURRENT_USER }] PROCEDURE sp_name ([proc_parameter[,...]]) [characteristic
...] routine_body
CREATE [DEFINER
= { user | CURRENT_USER }] FUNCTION sp_name
([func_parameter[,...]]) RETURNS type[characteristic ...] routine_body
Contoh 1. Procedure
untuk menghitung jumlah pelanggan
DELIMITER
$$ CREATE PROCEDURE jumlahPelanggan() BEGIN SELECT COUNT(*) FROM
pelanggan; END$$DELIMITER ;
Cara pemanggilan
dari procedure diatas adalah dengan menggunakan CALL jumlahPelanggan().
Hasilnya akan ditampilkan jumlah record dari table pelanggan.
Berikut ini bentuk lain dari contoh diatas:
DELIMITER
$$ CREATE PROCEDURE jumlahPelanggan2(OUT hasil AS
INT) BEGIN SELECT COUNT(*) INTO hasil FROM
pelanggan; END$$ DELIMITER ;
Pada bentuk
procedure yang kedua di atas (jumlahPelanggan2), kita menyimpan hasil dari
procedure ke dalam satu variabel bernama hasil yang bertipe INT. Perbedaan dari
kedua bentuk di atas adalah, pada bentuk kedua, kita dapat memanggil procedure
dengan SELECT, sedangkan pada yang pertama tidak bisa. Berikut ini contoh
pemanggilan untuk procedure yang kedua:
mysql>
CALL jumlahPelanggan2(@jumlah); Query OK, 0 rows affected (0.00
sec) mysql> SELECT @jumlah AS `Jumlah Pelanggan`; +——————+ |
Jumlah Pelanggan | +——————+ | 5 | +——————+ 1 row in set
(0.02 sec)
Contoh 2. Procedure
untuk menghitung jumlah item barang yang pernah dibeli oleh satu pelanggan.
DELIMITER
$$ CREATE PROCEDURE jumlahItemBarang (pelanggan
VARCHAR(5)) BEGIN SELECT SUM(detil_pesan.jumlah) FROM pesan,
detil_pesan WHERE pesan.id_pesan=detil_pesan.id_pesan AND
pesan.id_pelanggan=pelanggan; END$$ DELIMITER ;
Contoh 3. Function untuk menghitung jumlah produk
yang tersedia (stock) untuk satu produk tertentu.
DELIMITER
$$ CREATE FUNCTION jumlahStockBarang(produk VARCHAR(5)) RETURNS
INT BEGIN DECLARE jumlah INT; SELECT COUNT(*) INTO jumlah FROM
produk WHERE id_produk=produk; RETURN jumlah;END$$ DELIMITER ;
Untuk memanggil
suatu function, kita tidak menggunakan CALL, tetapi langsung dapat memanggil
dengan SELECT. Berikut ini contoh pemanggilan untuk fungsi di atas.
SELECT
jumlahStockBarang(‘B0001′); Dan berikut ini hasilnya: +—————————-+ |
jumlahStockBarang(‘B0001′) | +—————————-+ | 1 | +—————————-+
Mengubah SP Untuk
mengubah SP yang sudah ada, berikut ini bentuk umumnya:
ALTER {PROCEDURE |
FUNCTION} sp_name [characteristic ...]
Menghapus SP Untuk
menghapus SP yang sudah ada, berikut ini bentuk umumnya:
DROP {PROCEDURE |
FUNCTION} [IF EXISTS] sp_name
Sintaks Dasar dalam
SP SP dapat dikatakan sebagai bahasa pemrograman yang berada di dalam database.
Oleh karena itu, tentunya terdapat sintaks-sintaks tertentu berhubungan dengan
SP tersebut, misalnya bagaimana untuk mendeklarasikan variabel, penyeleksian
kondisi, perulangan dsb. Pada bagian ini akan diuraikan beberapa sintaks dasar
SP yang didukung oleh MySQL.
Variabel digunakan
untuk menyimpan suatu nilai secara temporer (sementara) di memory. Variabel
akan hilang saat sudah tidak digunakan lagi. Variabel dalam MySQL sebelum dapat
digunakan, pertama kali harus dideklarasikan terlebih dahulu. Berikut ini
bentuk umum pendeklarasian suatu variabel di MySQL:
DECLARE
variable_name DATATYPE [DEFAULT value]; Contohnya: DECLARE jumlah
INT; DECLARE kode VARCHAR(5); DECLARE tgl_lahir DATE DEFAULT
‘1982-10-20’;
Setelah
dideklarasikan, suatu variabel dapat diisi dengan suatu nilai sesuai dengan
tipe data yang didefinisikan saat pendeklarasian. Untuk mengisikan nilai ke
dalam suatu variabel, digunakan perintah SET. Format umumnya sebagai berikut:
SET
variable_name = expression|value; Contohnya: SET jumlah =
10; SET kode = (SELECT id_pelanggan FROM pelanggan LIMIT 1); SET
tgl_lahir = now();
Berikut ini contoh
function hitungUmur() untuk menghitung umur seseorang saat ini berdasarkan
tahun kelahiran yang diberikan.
DELIMITER
$$ CREATE FUNCTION hitungUmur (lahir DATE) RETURNS
INT BEGIN DECLARE thn_sekarang, thn_lahir INT; SET thn_sekarang
= YEAR(now()); SET thn_lahir = YEAR (lahir); RETURN thn_sekarang –
thn_lahir; END$$ DELIMITER ;
Dengan adanya
fasilitas penyeleksian kondisi, kita dapat mengatur alur proses yang terjadi
dalam database kita. Di MySQL, penyeleksian kondisi terdiri dari IF, IF…ELSE
dan CASE. Berikut ini bentuk umum ketiga perintah tersebut: bBerikut ini contoh
penggunaan perintah IF dalam fungsi cekPelanggan() dimana fungsi ini memeriksa
apakah pelanggan sudah pernah melakukan t ransaksi pemesanan barang. Jika sudah
pernah, tampilkan pesan berapa kali melakukan pemesanan, jika belum tampilkan
pesan belum pernah memesan.
DELIMITER
$$ CREATE FUNCTION cekPelanggan (pelanggan varchar(5)) RETURNS
VARCHAR (100) BEGINDECLARE jumlah INT; SELECT COUNT(id_pesan) INTO
jumlah FROM pesan WHERE id_pelanggan=pelanggan; IF (jumlah > 0)
THEN RETURN CONCAT(“Anda sudah bertransaksi sebanyak “,jumlah, ”
kali”); ELSE RETURN “Anda belum pernah melakukan transaksi”; END
IF; END$$ DELIMITER ;
Dan berikut ini
contoh penggunaan perintah CASE dalam fungsi getDiskon() dimana fungsi ini
menentukan diskon berdasarkan jumlah pesanan yang dilakukan.
DELIMITER
$$ CREATE FUNCTION getDiskon(jumlah INT) RETURNS
int(11) BEGIN DECLARE diskon INT;CASE WHEN (jumlah >= 100)
THEN SET diskon = 10; WHEN (jumlah >= 50 AND jumlah < 100)
THEN SET diskon = 5; WHEN (jumlah >= 20 AND jumlah < 50)
THEN SET diskon = 3; ELSE SET diskon = 0; END CASE;RETURN
diskon; END$$ DELIMITER ;
A.3 Pendukung Fungsi
:
PostgreSQL memiliki fungsi yang dapat mengubah suatu nilai dalam suatu
kolom atau barismenjadi huruf besar. Fungsi tersebut bernama upper(nama_kolom),
berfungsi memanggilfungsi upper dengan nama_kolom sebagaii argumen sehingga
menghasilkan nilai pada kolom dalam huruf besar. Berikut Struktur SQL untuk
menampilkan data dalam huruf besar semua :
SELECT
upper ([nama kolom]) FROM [nama tabel];
Berikut struktur SQL untuk menampilkan data dimana huruf pertama saja
yang besar :
SELECT
initcap ([nama kolom]) FROM [nama tabel];
A.4 Fungsi PL/PGSQL
PL/PGSQL merupakan
bahasa yang lain untuk membuat sebuah fungsi, biasanya bahasa ini digunakan
untuk menangani fungsi yang lebih kompleks. Pl/pgsql sudah terdapat dalam
instalasi PostgreSQL. Keuntungan penggunaan Fungsi PL/PGSQL : 1. Meningkatkan
kinerja karena mengurangi pengiriman kode dari klien ke server. 2. Meningkatkan
keamanan karena pengaksesan data tertentu ditangani dalam server. 3.
Meningkatkan konsistensi data saat sejumlah aplikasi memanggil prosedur yang
sama; Sebaliknya kelemahannya yaitu server akan lebih terbebani karena banyak
proses yang harus ditangani. Sedangkan query PL/PGSQL agar lebih mudah di
pahami akan dibagi menjadi 2 yaitu pembuatan fungsi dan pembuatan definisi –
Berikut Struktur pembuatan fungsi dalam pl/pgsql
1. Pembuatan fungsi
:
CREATE
[OR REPLACE] FUNCTION nama_fungsi ( argtype , … ]) RETURNS
tipe_data AS ‘definisi’LANGUAGE ‘plpgsql’;
2. Pembuatan
definisi :
DECLARE
nama_variable tipe_data /* deklarasi variabel, type */ BEGIN /*
prosedural dan SQL masuk disini seperti select, update dan
sebagainya*/ Return nama_variable /* blok ini yang wajib */ END;
- Menghapus fungsi :
DROP
FUNCTION nama_fungsi(paramater, parameter, parameter … );
Contoh : DROP FUNCTION pembagian(text);
Berikut ini implementasi dari contoh penggunaan
fungsi dengan bahasa PL/PGSQL:
db_personal=>
CREATE FUNCTION pl_caripegawai (integer)
db_personal->
RETURNS text
db_personal->
AS ‘DECLARE hasil TEXT; db_personal’> BEGIN
db_personal’>
SELECT INTO hasil nama as nama_mahasiswa
db_personal’>
FROM pegawai
db_personal’>
WHERE id = $1; db_personal’> RETURN hasil; db_personal’> END;’
db_personal->
LANGUAGE ‘plpgsql’; CREATE
db_personal=>
SELECT pl_caripegawai (1);
pl_caripegawai
—————–
Hendro (1 row)
db_personal=>
SELECT pl_caripegawai (2);
pl_caripegawai
——————–
Tika (1 row)
Contoh berikut
menunjukkan query percabangan yang akan menampilkan nilai terkecil dari dua
buah parameter :
create
function percabangan (x integer,y integer) returns integer as
‘declare nilai_terkecil integer;begin if x < y then select into
nilai_terkecil x; else select into nilai_terkecil y; end if; return
nilai_terkecil; end;’ language ‘plpgsql’; Hasil sebagai berikut
: Select percabangan (300,250);Percabangan —————– 250 (1
row)
Contoh berikut
menunjukkan query perulangan yang akan menampilkan akumulasi dari jumlah
perulangan :
Create
function perulangan (a integer,b integer) Returns integer As ‘
declare nilai_awal integer default a; Hasil integer default 0; Begin
Loop If
nilai_awal > b then Exit; End if; Hasil :=
hasil+nilai_awal; Nilai_awal := nilai_awal+1; End loop;Return
hasil; End;’ Language ‘plpgsql’;
Hasilnya sebagai
berikut :
Select
perulangan (1,5);
Perulangan
—————-
15 1
(row)
A.5 Trigger dalam
perspektif PostgreSQL
Trigger digunakan
untuk menyisipkan sebuah fungsi pada saat suatu record di-INSERT, UPDATE dan
DELETE. Trigger sangat ideal untuk mengecek atau memodifikasi sebuah data pada
kolom sebelum dimasukkan ke dalam database, sehingga sebuah fungsi dapat
dipanggil setiap saat secara otomatis ketika sebuah row akan dimodifikasi. Ciri
khas dari fungsi yang diperuntukkan untuk trigger adalah menghasilkan output
bertipe OPAQUE. Tipe opaque adalah sebuah tipe yang menginformasikan pada
database bahwa fungsi tersebut tidak menghasilkan satu dari tipe data yang
ditetapkan SQL dan tidak secara langsung dapat digunakan dalam
statemen SQL. Language (bahasa) PL/PGSQL dapat digunakan untuk trigger
procedure, fungsi untuk trigger ini memiliki beberapa variabel khusus yang
terdeklarasi secara otomatis. Variabel tersebut antara lain:
• NEW: Variabel yang
berisi nilai baru suatu record pada saat INSERT atau UPDATE, bertipe RECORD. •
OLD: Variabel yang berisi nilai lama suatu record pada saat UPDATE atau
DELETE, juga bertipe RECORD. Berikut ini beberapa contoh penggunaan fungsi
sebagai trigger procedure: Contoh : trigger berikut ini memastikan isi field atau
kolom nama pada tabel anggota selalu huruf besar.
langkah pertama
buatlah fungsinya terlebih dahulu :
db_personal=>
CREATE FUNCTION tes_trigger()
db_personal->
RETURNS opaque
db_personal->
AS ‘BEGIN
db_personal’> NEW.nama :=
UPPER(NEW.nama);
db_personal’>
RETURN NEW;
db_personal’>
END;’
db_personal->
LANGUAGE ‘plpgsql’;
Kemudian lanjutkan
dengan pembuatan trigger yang berfungsi untuk memanggil fungsi secara otomatis
ketika kita melakukan INSERT ataupun UPDATE pada tabel anggota.
db_personal=>
CREATE TRIGGER tes1_trigger
db_personal->
BEFORE INSERT
db_personal->
ON anggota
db_personal->
FOR EACH ROW
db_personal->
EXECUTE PROCEDURE tes_trigger();
cobalah INSERT
beberapa data ke dalam tabel anggota:
db_personal=>
INSERT INTO anggota (id, nama)
db_personal->
VALUES (26, ‘andhie’);
INSERT
70831 1
db_personal=>
INSERT INTO anggota
db_personal->
VALUES (83, ‘rWatia’);
INSERT
70832 1
tampilkan isi dari
tabel anggota, hasilnya seperti pada tabel di bawah ini. Jadi setiap data yang
kita INSERT walaupun dalam penulisannya menggunakan huruf kecil Primary key
namun secara otomatis trigger akan memanggil fungsi yang bertugas untuk
mengganti setiap data yang masuk agar hasilnya nanti selalu menjadi huruf
besar:
db_personal=>
SELECT * FROM anggota;
id |
nama
——–
6 |
ANDHIE
————-
83 |
RWATIA (2 rows)
A.6 Trigger dalam
Perspektif MysQL
Menurut Wikipedia,
trigger dalam database diartikan sebagai “procedural code that is automatically
executed in response to certain events on a particular table or view in a
database“. Singkatnya, trigger merupakan sekumpulan perintah atau sintaks yang
akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau
view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara
otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari
suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara
otomatis ke tabel „log’ sebelum menghapus data di tabel pelanggan. Di MySQL,
Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.1.4)
fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak pengembang
MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini. Trigger
sering digunakan, antara lain untuk: Melakukan update data otomatis jika
terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang
baru maka stock akan bertambah secara otomatis. Trigger dapat digunakan untuk
mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis
akan menyimpan ke tabel log. Trigger dapat digunakan untuk melakukan validasi
dan verifikasi data sebelum data tersebut disimpan.
Membuat Trigger Baru
Berikut ini bentuk
umum perintah untuk membuat triggers:
CREATE
TRIGGER name [BEFORE|AFTER] [INSERT|UPDATE|DELETE] ON
tablename FOR EACH ROW statement
Keterangan dari
bentuk umum perintah membuat trigger: name, Nama trigger mengikuti peraturan
penamaan variabel / identi fier dalam MySQL [BEFORE | AFTER] digunakan untuk
menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah
proses. [INSERT | UPDATE | DELETE] digunakan untuk menentukan event (proses)
yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam
triggers. tablename, merupakan nama tabel dimana trigger berada. statement,
merupakan sekumpulan perintah atau query yang akan secara otomatis dijalankan
jika event / proses yang didefinisikan sebelumnya aktif. Statement atau
perintah dalam trigger dapat berupa satu perintah saja, dan dapat juga beberapa
perintah sekaligus. Jika terdapat beberapa perintah dalam trigger, maka gunakan
perintah BEGIN dan END untuk mengawali dan mengakhiri perintah. Di dalam
statement trigger, kita dapat mengakses record tabel sebelum atau sesudah
proses dengan menggunakan NEW dan OLD. NEW digunakan untuk mengambil record
yang akan diproses (insert atau update), sedangkan OLD digunakan untuk
mengakses record yang sudah diproses (update atau delete). Berikut ini contoh
trigger yang akan mencatat aktivitas ke tabel log setiap terjadi proses insert
ke tabel pelanggan:
DELIMITER
$$ CREATE TRIGGER penjualan.before_insert BEFORE INSERT ON
penjualan.pelanggan FOR EACH ROW BEGIN INSERT INTO `log` (description,
`datetime`, user_id) VALUES (CONCAT(‘Insert data ke tabel pelanggan id_plg = ‘,
NEW.id_pelanggan), now(), user()); END; $$ DELIMITER ;
Menghapus Trigger Untuk menghapus trigger, dapat menggunakan perintah
DROP TRIGGER dengan diikuti dengan nama tabel dan nama triggernya. Berikut ini
bentuk umum dan contoh perintah untuk menghapus trigger. Bentuk umum dan contoh
menghapus trigger:
DROP
TRIGGER tablename.triggername;
Contoh menghapus trigger bernama „before_insert‟ yang ada di tabel
pelanggan.
DROP
TRIGGER penjualan.before_insert;
B. Hasil Praktikum
1. Buatlah fungsi konversi suhu dari
Fahrenheit ke derajat celcius dengan rumus konversi sebagai berikut : celcius=
(5*(nilai Fahrenheit-32))/9! Kemudian jalankan hasilnya dengan menSELECT fungsi
tersebut !
PostgreSQL
MYSQL
2. Buatlah fungsi untuk mencari alamat
mahasiswa dari tabel mahasiswa berdasarkan nama mahasiswa. Kemudian jalankan
dengan perintah SELECT !
PostgreSQL
MYSQL
3. Buatlah fungsi untuk menghitung nilai
dengan menggunakan bahasa pl/sql !
|
Ketentuan
|
Hasil
|
|
Nilai
> 100 atau Nilai<0
|
Nilai
Salah
|
|
Nilai ≥
90
|
Nilai A
|
|
70
>= Nilai < 90
|
Nilai B
|
|
60
>= Nilai < 70
|
Nilai C
|
|
50
>= Nilai <60
|
Nilai D
|
|
0 >=
Nilai < 50
|
Nilai E
|
PostgreSQL
MYSQL
4. Buatlah fungsi menggunakan pl/pgsql untuk
mencari bilangan ganjil atau genap dari bilangan yang diinputkan. Kemudian
jalankan dengan perintah SELECT !
PostgreSQL
MYSQL
5. Tambahkan kolom modifikasi pada tabel
mahasiswa. Dimana setiap ada insert atau update maka tanggal pada kolom
modifikasi akan menunjukkan tanggal perubahan tersebut dilakukan.
PostgreSQL
MYSQL
C. Evaluasi Perbandingan
Based on the
explanation and The result of praktikum, we can conclude that syntax dari
MySQL dan PostgreSQL sangat berbeda dalam konteks pembuatan, pengubahan, dan
penghapusan fungsi. Kemudian pada PostgeSQL declare terletak sebelum begin,
sedangkan pada MYSQL declare terletak setelah begin. Dalam soal nomor 3,
PostgreSQL menggunakan tanda ‘ (dua kali) untuk mengapit String = (‘’Nilai
salah’’) sedangkan dalam MYSQL menggunakan tanda petik dua untuk mengapit
String = (“Nilai salah”)
D. Penutup
♥ Kesimpulan
Jadi, kesimpulan dari praktikum kali ini, bahwa struktur pembuatan
fungsi, PL/PGSQL dan trigger, pada 2 DBMS yaitu postgre dan MySQL sangat sangat
berbeda. Dan untuk perbedaannya bisa di baca di bagian evaluasi.
♥ Saran
Untuk semuanya, diharapkan
untuk tidak mudah menyerah dan terus mencoba.
♥ Daftar
Pustaka
1.
Praktikum DBD bab VIII.pdf
2. PL.pdf
3.
Mohriyan_mySQL2.pdf
Salam
semangat J
0 komentar:
Posting Komentar