Prosedur dan function adalah sub-program yang dapat digunakan untuk memecah program utama menjadi bagian-bagian lebih kecil. Prosedur dipanggil untuk menjalankan serangkaian perintah tanpa nilai kembalian sedangkan function mengembalikan nilai. Laporan ini membahas penggunaan prosedur dan function dalam Oracle dan SQL Server.
1. LAPORAN PRAKTIKUM BASIS DATA LANJUT IV
Oleh
Annissaul Hidayah 11120018
Rizki Fadila 11120024
Desmala Paranti 11120031
Fakultas Teknik
Program Studi Teknik Informatika
Universitas Wijaya Kusuma Surabaya
2014
2. TUJUAN
1. Mengerti tentang penggunaan Procedure dan Function.
2. Memahami penggunaan Procedure dan Function.
3. Mampu menerapkan penggunaan Procedure dan Function
3. PENDAHULUAN
Procedure dan Function adalah suatu program terpisah dalam blok sendiri yang berfungsi
sebagai sub-program (modul program) yang merupakan sebuah program kecil untuk
memproses sebagian dari pekerjaan programutama.
Salah satu perbedaan produk Oracle dan SQL Server terdapat dalam tata cara penulisan Syntax
Query, dimana dalam SQL Server sering disebut sebagai Transact-SQL (TSQL) sedang dalam
Oracle sering di sebut PL/SQL. Secara umum Store Procedure dan Function dalam tiap
parameter mengandung:
- Nama parameter,
- Penggunaan (IN, OUT, IN-OUT), dan
- Tipe Data
(IN) adalah parameter input yang seharusnya tidak mengalami perubahan.
(OUT) adalah parameter output yang memberikan suatu nilai didalam procedure dan bisa
merupakan sebuah parameter baru atau variabel baru jika didalam function, karena merupakan
nilai balik (RETURN) sehingga sering dalam function disebut tidak terdapat OUT.
(IN-OUT) adalah parameter input-output, yang seharusnya memiliki suatu nilai input yang telah
disediakan diluar procedure/function, akan tetapi dapat diubah saat didalam procedure/function.
Procedure
Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur
dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul
prosedurnya.
Prosedur banyak digunakan pada program yang terstruktur, karena :
1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit
menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam
prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
4. Sebagaimana halnya sebuah program, suatu procedure juga memiliki header dan block.
Perbedaan bentuknya dengan program hanyalah pada bagian header-nya saja. Bentuk
Umum header suatu procedure adalah :
Atau
PROCEDURE nama;
PROCEDURE nama (formal parameter : jenis);
Jika kita menggunakan procedure dalam suatu program, maka procedure tersebut harus
dituliskan pada bagian deklarasi.
Function
Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan
tipenya atau jenis hasilnya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Pada bahasa
Pascal dikenal beberapa fungsi, misalkan : abs, pred, sqrt, sqr, succ dan sebagainya. Fungsi-
fungsi tersebut biasanya dikenal dengan Built in Function. Sedangkan function yang akan
bicarakan disini adalah fungsi yang kita buat sendiri. Berbeda dengan procedure, function
merupakan modul program yang menghasilkan suatu kuantitas. Hal ini dapat dilihat dari
bentuk header-nya yang menyebutkan jenis data dari kuantitas yang dihasilkan. Secara umum
bentuk header suatu function adalah :
FUNCTION nama : jenis hasil;
Atau
FUNCTION nama (formal parameter : jenis ) : jenis_hasil;
5. PERCOBAAN
ORACLE
Pembuatan tabel Prodi
Pembuatan tabel Mahasiswa
1. Buat Store procedure untuk mencari nama mahasiswa pada prodi tertentu, dengan input
statis dari kode prodi yang terdapat di dalam procedure.
6. 2. Buat Store procedure untuk mencari nama mahasiswa pada prodi tertentu, dengan input
dinamis dari kode prodi yang diinputkan ketika menjalankan procedure tersebut.
7. SQL
1. Membuat Procedure dengan input statis
Untuk membuat procedure
Untuk mengubah atau mengupdate isi procedure
Untuk menjalankan procedure
1. Membuat procedure dengan input dinamik
8. Untuk membuat procedure
Untuk mengubah / mengupdate isi procedure
Untuk menjalankan procedure
2. Membuat Function untuk menampilkan inputan
untuk membuat function dengan nama variabel inputan adalah tulis dan type datanya varchar
dengan panjang 50 kemudian nilai kembalian yaitu dengan type data yang sama
Untuk menjalankan function dengan inputan Hore aku berhasil
10. Perintah untuk menjalankan procedure pada tabel customer
Hasil tabel setelah ditambah
2. Untuk mengubah atau meng-update tarif bis
11. Tabel awal sebelum di update
Perintah untuk menjalankan procedure pada tarif bis
Tabel hasil tarif bis yang sudah di update
3. Untuk menghapus salah satu isi dari tabel kapal
12. Tampilan awal pada tabel kapal
Perintah untuk menjalankan procedure untuk menghapus salah satu isi dari tabel kapal
Hasil tabel kapal yang telah di hapus
13. 4. Untuk meng-update tabel kapal
Tampilan awal sebelum di update
Perintah untuk menjalankan procedure update kapal beserta hasilnya.
Function
1. Untuk mencari peawat yang memiliki nomor travel 192
14. Perintah untuk menampilkan hasil dari pencarian pesawat yang memiliki nomor travel 192
beserta hasilnya.
2. Untuk mencari bis dengan jumlah kursi 40.
Perintah untuk menampilkan hasil dari pencarian bis yang berdasarkan jumlah kursinya beserta
hasilnya.
15. 3. Untuk menjumlahkan tarif kereta api yang memiliki kode stasiun 213.
Perintah untuk menampilkan hasil dari penjumlahan tarif kereta api yang memiliki kode stasiun
213 beserta hasilnya.
4. Untuk menjumlah tarif bis yang memiliki kode terminal 445
16. Perintah untuk menampilkan hasil dari penjumlahan tarif bis yang memiliki kode terminal 445
beserta hasilnya.
SQL
Procedure
1. Tabel sebelum penambahan isi customer
17. Untuk menambahkan isi dari tabel customer
Perintah untuk menjalankan procedure penambahan pada isi tabel customer
Hasil
18. 2. Tabel awal sebelum di update
Untuk meng-update isi dari tabel bis
Perintah untuk menjalankan update pada isi tabel bis
Hasil
19. 3. Tabel awal sebelum di hapus salah satu isi tabel kapal
Untuk menghapus salah satu isi dari tabel kapal menurut nomor travel
Perintah untuk menghapus kapal yang memiliki nomor travel 501
20. Hasil
Function
1. Untuk menjumlahkan harga tiket yang memiliki kode stasiun 213
Perintah untuk memanggil penjumlahan dan menampilkan hasilnya.
2. Untuk menjumlah harga bis yang memiliki kode terminal 442
21. Perintah untuk menampilkan penjumlahan harga tiket
3. Untuk mencari tabel pesawat
Perintah untuk menampilkan data yang di cari
4. Untuk mencari data bis
23. Prosedur diawali dengan kata cadangan Procedure di dalam bagian deklarasi prosedur. Prosedur
dipanggil dan digunakan di dalam blok program yang lainnya dengan menyebutkan judul
prosedurnya. Sedangkan function harus dideklarasikan dengan tipenya atau jenis hasilnya. Tipe
deklarasi ini menunjukkan tipe hasil dari fungsi.