Anda di halaman 1dari 6

2016

Sistem Manajemen Basis Data


FUNGSI
TIM SMBD-JTI
SMBD-JTI

A. Kompetensi Dasar
- Mempelajari dan memahami cara pembuatan fungsi dengan return berupa tabel dan penulisan
TSQL dengan menggunakan fungsi untuk menampilkan return dari fungsi tersebut.
- Mempelajari dan memahami penulisan TSQL menggunakan tabel turunan
- Mempelajari dan memahami penulisan TSQL menggunakan Common Table Expression
B. Alokasi Waktu
2 x 45 menit
C. Ruang Lingkup Pembahasan
- Fungsi
- Tabel Turunan
- Common Table Expression
D. Materi
1. Fungsi
Fungsi merupakan salah satu bentuk ekspresi tabel dengan properti yang hampir sama dengan
view. Keduanya sama-sama dapat digunakan untuk menampilkan informasi dalam bentuk tabel.
Keduanya juga tersimpan sebagai obyek pada database. Sama halnya dengan view, fungsi juga
mengenkapsulasi perintah SELECT. Hal yang membedakan dari keduanya adalah fungsi dapat
menerima inputan berupa variabel dan menggunakan nilai dari variabel tersebut di dalam
fungsi.
o Sintaks pembuatan fungsi

CREATE FUNCTION nama_skema.nama_fungsi


(@parameter AS tipe_data) RETURNS TABLE/tipe_data
AS
RETURN
TSQL SELECT
GO

Fungsi dapat menerima lebih dari satu inputan tapi hanya akan me-return satu nilai.
Definisikan skema dan nama dari fungsi, kemudian definisikan pula tipe data dari inputan
yang akan digunakan.
Untuk me-return suatu nilai dalam bentuk tabel, gunakan RETURNS TABLE.
Untuk me-return suatu nilai dalam bentuk skalar, gunakan RETURNS tipe_data.
Perintah SELECT yang akan dienkapsulasi dituliskan setelah kata kunci AS RETURN.
o Perintah SELECT untuk menampilkan nilai yang di-return oleh fungsi

SELECT kolom FROM nama_skema.nama_fungsi(@parameter,...)


GO

Sama halnya dengan view, untuk memanggil sebuah fungsi dan menampilkan nilai yang
di-return dari fungsi tersebut dapat digunakan perintah SELECT.

1
SMBD-JTI

o Mengubah fungsi
Untuk mengubah TSQL pada fungsi, dapat menggunakan kata kunci ALTER FUNCTION.

ALTER FUNCTION nama_skema.nama_fungsi


(@parameter AS tipe_data) RETURNS TABLE/tipe_data
AS
RETURN
TSQL SELECT
GO

o Menghapus fungsi
Untuk menghapus fungsi, dapat menggunakan kata kunci DROP.
DROP FUNCTION nama_skema.nama_fungsi

2. Tabel Turunan
Tabel turunan merupakan tabel yang diperoleh dari hasil eksekusi perintah SELECT yang
diberi nama dengan menggunakan alias (AS). Tabel turunan dideklarasikan setelah kata kunci
FROM. Berbeda dengan sub-query, tabel turunan dapat diumpamakan sebagai suatu tabel utuh.
Tabel turunan biasanya digunakan untuk membagi TSQL kompleks menjadi beberapa bagian
yang lebih mudah dipahami. Tabel turunan tidak disimpan sebagai obyek dalam database.
Berikut ini merupakan sintaks dari penggunaan tabel turunan.

SELECT a.kolom
FROM (SELECT kolom
FROM nama_skema.nama_tabel) AS a

Tabel turunan memiliki syarat sebagai berikut.


o Memiliki nama (menggunakan alias).
o Setiap kolom dari tabel turunan harus memiliki nama yang unik.
o Tidak menggunakan klausa ORDER BY tanpa TOP atau OFFSET/FETCH.
o Tidak dipanggil lebih dari satu kali dalam TSQL yang sama.
Tabel turunan dimungkinkan untuk.
o Menggunakan alias untuk nama kolom (baik internal maupun eksternal).
o Menggunakan parameter atau variabel.
o Digunakan dalam tabel turunan lain.

3. Common Table Expression


Sama halnya dengan sub-query dan tabel turunan, CTE juga digunakan untuk membagi query
yang kompleks agar lebih mudah dipahami. Berbeda dengan tabel turunan, CTE dapat
dipanggil berulang kali dalam satu TSQL. CTE tidak disimpan sebagai obyek dalam database.

2
SMBD-JTI

Berikut ini merupakan sintaks dari CTE.

WITH nama_CTE
AS
(
TSQL SELECT
)
SELECT kolom FROM nama_CTE

E. Latihan
1. Membuat fungsi dengan return nilai skalar

2. Membuat fungsi dengan return nilai tabel

3
SMBD-JTI

3. Menggunakan tabel turunan


a. Contoh 1

b. Contoh 2 (menggunakan parameter)

4
SMBD-JTI

c. Contoh 3 (nested/tabel turunan dalam tabel turunan)

4. Menggunakan CTE (Common Table Expression)