Anda di halaman 1dari 12

FUNCTION

1. Tujuan

Setelah menyelesaikan modul ini, mahasiswa diharapkan :


1. Mampu menjalankan Function pada data base yang berbeda (MS. Access, SQL Server, MySQL,
Oracle)
2. Mampu membuktikan jalannya Function.

2. Dasar Teori

JENIS-JENIS FUNGSI PADA DBMS


FUNGSI BUILT-IN
SQL memiliki banyak fungsi built-in untuk melakukan perhitungan pada data, diantaranya :

- TEXT
Terdiri dari :
 Upper ( )
 Lower ( )
 Trim ( )
 Left ( )
 Right ( )

- NUMERIK
Terdiri dari :
 Power ( )
 Tan ( )
 Sin ( )
 Cos ( )

- DATE
Terdiri dari :
 Datediff ( )
 Datepart ( )
 Now ( )
 Date ( )

- SYSTEM

 FUNGSI COSTUMIZE

Fungsi Aggregate SQL Server

Fungsi agregat adalah fungsi yang digunakan untuk mengkoleksi sejumlah data yang tersimpan
pada suatu field dan menampilkannya dalam bentuk nilai tunggal. Fungsi agregat yang ada
dalam SQL adalah SUM, MAX, MIN, AVG dan COUNT. Fungsi agregat ini bisa digunakan
pada perintah SELECT untuk menampilkan data dengan memunculkan nilai tunggal. Kegunaan
masing-masing fungsi agregat antara lain :

SUM digunakan untuk menghitung total jumlah data yang tersimpan pada sebuah field.
Bentuk umum penggunakan fungsi SUM adalah :
SUM(nama_field)

MAX digunakan untuk menentukan nilai tertinggi dari data yang tersimpan pada sebuah field.
Bentuk umum penggunaan fungsi MAX adalah :
MAX(nama_field)

MIN digunakan untuk menentukan nilai terendah dari data yang tersimpan pada sebuah field.
Bentuk umum penggunaan fungsi MAX adalah :
MIN(nama_field)

AVG digunakan untuk mencari nilai rata-rata dari data yang tersimpan pada sebuah field.
Bentuk umum penggunaan fungsi AVG adalah :
AVG(nama_field)

COUNT digunakan untuk menghitung jumlah record dalam sebuah tabel. Bentuk umum
penggunaan fungsi COUNT adalah :
COUNT(nama_field)

Fungsi Scalar SQL Server

SQL Scalar yaitu fungsi yang digunakan untuk mendapatkan nilai tunggal berdasarkan nilai
inputan, contohnya :
ROUND() untuk membulatkan nilai decimal
LEN() mendapatkan panjang karakter dari sebuah field text
NOW() mendapatkan data tanggal dan waktu saat ini.
UCASE() merubah field text menjadi upper case atau huruf besar
LCASE() merubah field text menjadi lower case atau huruf kecil

Fungsi Table Value SQL Server

Jika Scalar function dapat mengembalikan sebuah nilai dengan tipe data tertentu, maka
table value function dapat mengembalikan nilai berupa table. Table valued function ini
dibedakan menjadi dua jenis yaitu Inline table valued function dan multistatement table valued
function. Inline valued function dapat digunakan jika hasil yang akan dikembalikan merupakan
hasil dari perintah SELECT. Bagian dari deklarasi inline function tidak didalam blok BEGIN
END. Fungsi Inline table valued function ini mirip seperti view, perbedaanya adalah jika pada
view tidak bisa menggunakan parameter, sedangkan pada function diijinkan mengggunaan
parameter.

CREATE FUNCTION [dbo].[test] ( @X INT, @Y INT )


RETURNS INT
AS
BEGIN
RETURN @X + @Y
END
GO

Fungsi System SQL Server

Kelompok fungsi sistem adalah kelompok fungsi yang memberikan informasi tentang
pemakaian server database oleh pemakai. Kelompok fungsi ini terdiri atas :
 CURRENT_USER ( )
menghasilkan kombinasi nama user dan nama host pada sesi saat ini yang terautentifikasi. Hasil
output dapat berbeda dari nilai USER ().

 DATABASE ( )
menampilkan nama database yang sedang digunakan.
 VERSION ( )
menampilkan versi MySQL yang sedang aktif.
 LAST_INSERT_ID( )
digunakan untuk menampilkan informasi data yang telah dihasilkan (di-generate) oleh MySQL
pada kolom yang menggunakan tipe data AUTOINCREMENT.

 SESSION_USER( )
digunakan untuk menampilkan informasi pemakain yangsedang melakukan akses ke dalam
server MySQL saat ini. Fungsi ini kadang digunakan oleh seorang pemakai., untuk mengetahui
siapa saja yang sedang login ke dalam MySQL pada suatu terminal yang sedang ditinggalkan
oleh pemakai lain, atau kadang juga kita ingin tahu kita sedang mengakses MySQL dengan nama
pemakai yang mana, akrena kita memiliki banyak nama pemakai yang berbeda-beda
privilegenya demi keamanan

 SYSTEM USER( )
fungsi ini sama dengan fungsi SESSION_USER( ).

 USER( )
fungsi ini sama dengan fungsi SYSTEM_USER( ) dan SESSION_USER( ).

 BENCHMARK(count, ekspresi)
mengerjakan perintah pada ekspresi sejumlah count kali. Nilai yang dihasilkan selalu 0. Hal
penting dari fungsi ini adalah nilai waktu yang digunakan (elapsed time) yang diberikan pada
bagian akhir, memungkinkan kita menilai berpaa cepat server mengevaluasi query. Berikut ini
contoh tampilan fungsi benchmark untuk mengetahui kecepatan 10 kali perintah select *
from pinjaman.

 LOAD_FILE(namafile)
digunakan untuk membuka file dan memberikan isinya sebagai string. File harus ada di dalam
server, dan pemakai untuk menggunakan fungsi ini harus memiliki privilege FILE

3. Daftar Alat dan Bahan

1. Personal Komputer 1 Unit


2. Software DBMS (MS. Access, SQL Server, MySQL, Oracle)

4. Keselamatan Kerja

1. Sebelum melakukan langkah percobaan, pastikan kabel power terhubung ke Power Supply.
2. Matikan komputer setelah praktikum selesai.
5. Langkah Kerja

1. Jalankan Query berikut pada SQL Server.

Kemudian uji dengan perintah SELECT dbo.hitluas2(10,5)

Anda dapat pula mengujinya dengan perintah PRINT dbo.hitluas2(10,5)


Anda dapat pula menggunakan contoh Fungsi seperti berikut dengan terlebih dahulu memilih
nama salah satu database -> Programmability -> Functions -> New -> Scalar-Valued Function

Kemudian jalankan Function berikut.


Untuk mengujinya gunakan perintah SELECT dbo.JUMLAH_BAR (8,9).

2. Pada nilai data yang diperoleh dari tabel, anda dapat menggunakan perintah berikut.

Untuk mengujinya gunakan perintah berikut


Berikut ini merupakan isi dari tabel barang

3. Jalankan Function berikut.

Selanjutnya uji dengan perintah berikut.


6. Data Percobaan dan Analisa Data

Analisa : Apabila telah anda telah berhasil membuat sebuah fungsi maka akan muncul pada
bagian Nama Database -> Programmability -> Functions -> Scalar_valued Functions. Dalam
pembuatan sebuah fungsi maka tidak diperbolehkan ada Fungsi dengan nama yang sama.

Analisa : [dbo].[JUMLAH_BAR1] merupakan nama Fungsi yang anda buat. @BAR_ID


merupakan variabel dari data yang akan diinputkan pada saat anda menjalankan fungsi. Awalnya
kita lakukan pendeklarasian pada variabel @TOTAL_BARANG yang berupa tipe data int,
kemudian dari varibel tersebut, diisikan hasil penjumlahan dari Field BAR_ID dan
BAR_STOCK dari tabel BARANG untuk nilai Field BAR_ID dari tabel BARANG yang sama
dengan variabel @BAR_ID yang nilainya anda inputkan pada proses pengujian.
Analisa : Gambar tersebut merupakan hasil pengujian dengan menjalankan Fungsi
JUMLAH_BAR1, karena nilai yang diinputkan adalah tiga maka Field BAR_ID dan
BAR_STOCK pada tabel Barang seperti gambar dibawah ini akan dijumlahkan untuk nilai
BAR_ID yang sama dengan 3 sehingga diperoleh nilai 5.
Analisa : Pada langkah kerja nomor 3, karena Fungsi yang kita buat diawali dengan variabel
ID_PESERTA lalu diikuti variabel NAMA, maka pada saat proses pengujian, kita juga harus
memasukkannya secara runtut karena jika tidak, akan muncul seperti tulisan merah diatas.

7. Kesimpulan

Pada DBMS dikenal dua macam Fungsi yaitu Fungsi Built in dan Fungsi costumize. Fungsi
Built in terdiri dari Text, Numerik, Date dan system.

Sql Server memiliki berbagai macam fungsi seperti Fungsi Aggregate, Fungsi Scalar, Fungsi
Table Valued, dan Fungsi System.

Anda mungkin juga menyukai