Saturday, February 4, 2017

Membuat Function Di MS Access (Disertai Contoh)

www.AstroDigi.com AstroDigi.com | Sabtu, 4 Feb 2017 | Bagi programmer yang sudah mengerti cukup banyak tentang VBA, peran function (fungsi) pada pemrograman sudah menjadi bagian dari penyusunan instruksi.

Tetapi bagi programmer pemula, biasanya hanya function bawaan MS Access saja yang dipakai untuk menyusun instruksi, banyak yang belum tahu cara menciptakan function sendiri, untuk kepraktisan pemrograman.

Dalam artikel ini saya akan coba menjelaskan dengan cara yang mudah untuk dipahami.
Saya mulai dari function yang paling sederhana. Dalam artikel ini saya masih menggunakan kata "function" dan tidak menterjemahkan menjadi "fungsi" agar berbeda dengan kata "fungsi" dalam bahasa Indonesia.
www.AstroDigi.com www.AstroDigi.com www.AstroDigi.com www.AstroDigi.com www.AstroDigi.com www.AstroDigi.com www.AstroDigi.com
Perhatikan instruksi berikut:
'---------------------------------------------------------
'CONTOH 1:
' INSTRUKSI YANG TANPA FUNCTION
'---------------------------------------------------------
'-----------------------------------
'awal instruksi utama
'-----------------------------------
Private Sub hitungNilai_Click()
Dim nilai01, nilai02, nilai03 As Integer
Dim tanda As String

nilai01 = 5
nilai02 = 8
nilai03 = 9

If nilai01 < 15 Then
tanda = "nilai kurang dari 15"
Else
tanda = "nilai lebih besar dari 15"
End If

hasil = tanda      'menampilkan keterangan disebuah textbox bernama "hasil"
'dalam kasus ini hasil akan menampilkan: "nilai lebih besar dari 15"
End Sub
'-----------------------------------
'akhir instruksi utama
'-----------------------------------

Instruksi dalam contoh (sangat) sederhana diatas, dapat di-function-kan untuk meringkas instruksi utama, perhatikan dalam contoh berikut:

'---------------------------------------------------------
'CONTOH 2:
' BILA SEBAGIAN PEKERJAAN DI-FUNCTION-KAN (hanya permisalan)
'---------------------------------------------------------
'-----------------------------------
'awal instruksi utama
'-----------------------------------
Private Sub hitungNilai_Click()
jumlahkan
hasil = jumlahkan   'menampilkan keterangan disebuah textbox bernama "hasil"
'dalam kasus ini hasil akan menampilkan: "nilai lebih besar dari 15"

End Sub
'-----------------------------------
'akhir instruksi utama
'-----------------------------------


'sebagian instruksi dibuat menjadi function
Function jumlahkan()
Dim nilai01, nilai02, nilai03 As Integer
Dim tanda As String

nilai01 = 5
nilai02 = 8
nilai03 = 9

nilai01 = nilai01 + nilai02 + nilai03

If nilai01 < 15 Then
tanda = "nilai kurang dari 15"
Else
tanda = "nilai lebih besar dari 15"
End If
jumlahkan = tanda

End Function

Perhatikan pada contoh kedua sebagian instruksi di-function-kan sehingga instruksi utama tinggal 2 baris saja dan cukup dengan mengeksekusi function "jumlahkan". Function dapat disembunyikan pada object modul (module) di database MS Access, caranya adalah dengan membuat modul baru (New Module), dan ketikkan instruksi function diatas pada modul, setelah ditempatkan di modul maka function dapat dipakai untuk segala kebutuhan di database, bukan hanya untuk kebutuhan sebuah form saja. Simpan modul dengan sembarang nama, misalnya Module1.

Bila function sudah diletakkan di modul maka pada form cukup diketikkan saja instruksi utamanya. Bila ada form lain yang membutuhkan function yang sama maka cukup dengan mengeksekusi dengan mengetikkan function dalam baris instruksi.

Perhatikan juga bahwa hasil perhitungan bukan pada variabel "tanda" namun berada pada variabel "jumlahkan". Ya .. "jumlahkan" yang merupakan nama dari function itu adalah variabel, yang manipulasi dari nilai yang ada didalamnya berdasarkan pada instruksi yang ada didalam function tersebut.

Pada contoh ke 2 diatas adalah contoh dimana function disebutkan begitu saja tanpa ada parameter tambahan apapun. Sehingga programmer hanya akan mendapatkan hasil berdasarkan parameter yang sudah ada didalam function tersebut tanpa dapat memanipulasinya. Function yang sama dapat dituliskan dengan cara yang lebih baik seperti pada contoh berikut:

'---------------------------------------------------------
'CONTOH 3:
' BILA SEBAGIAN PEKERJAAN DI-FUNCTION-KAN (hanya permisalan)
'---------------------------------------------------------
'-----------------------------------
'awal instruksi utama
'-----------------------------------
Private Sub hitungNilai_Click()
hasil = jumlahkan(5, 8, 9) 'menampilkan keterangan disebuah textbox bernama "hasil"
'dalam kasus ini hasil akan menampilkan: "nilai lebih besar dari 15"

End Sub
'-----------------------------------
'akhir instruksi utama
'-----------------------------------


'sebagian instruksi dibuat menjadi function
Function jumlahkan(nilai01 As Integer, nilai02 As Integer, nilai03 As Integer)
Dim tanda As String

nilai01 = nilai01 + nilai02 + nilai03

If nilai01 < 15 Then
tanda = "nilai kurang dari 15"
Else
tanda = "nilai lebih besar dari 15"
End If
jumlahkan = tanda

End Function

Pada contoh ke 3 diatas, semua variabel dijadikan parameter pelengkap function sehingga, programmer dapat memanipulasi variabel yang akan diolah didalam function tersebut. Perhatikan pula bahwa variabel "jumlahkan" adalah sebuah variabel bertipe data "string". Tipe data dari variabel function ini boleh dibiarkan tidak dideklarasikan, seperti diatas yaitu:

Function jumlahkan(nilai01 As Integer, nilai02 As Integer, nilai03 As Integer)

Bisa juga dituliskan dengan cara yang lebih baik menjadi:

Function jumlahkan(nilai01 As Integer, nilai02 As Integer, nilai03 As Integer) As String

Mendeklarasikan variabel dari function akan mempercepat proses kerja aplikasi, sehingga programmer disarankan untuk melengkapi function dengan deklarasi dari tipe data function yang dibuat.

Dan seperti yang sudah saya sebutkan diatas, karena "jumlahkan" selain sebagai nama function juga adalah sebuah variabel, maka sesungguhnya tidak diperlukan lagi variabel "tanda" sebagai perantara didalam proses pengolahan datanya, maka instruksi function dapat dituliskan sebagai berikut:

'---------------------------------------------------------
'CONTOH 4:
' BILA SEBAGIAN PEKERJAAN DI-FUNCTION-KAN (hanya permisalan)
'---------------------------------------------------------
'-----------------------------------
'awal instruksi utama
'-----------------------------------
Private Sub hitungNilai_Click()
hasil = jumlahkan(5, 8, 9) 'menampilkan keterangan disebuah textbox bernama "hasil"
'dalam kasus ini hasil akan menampilkan: "nilai lebih besar dari 15"

End Sub
'-----------------------------------
'akhir instruksi utama
'-----------------------------------


'sebagian instruksi dibuat menjadi function
Function jumlahkan(nilai01 As Integer, nilai02 As Integer, nilai03 As Integer) As String

nilai01 = nilai01 + nilai02 + nilai03

If nilai01 < 15 Then
jumlahkan = "nilai kurang dari 15"
Else
jumlahkan = "nilai lebih besar dari 15"
End If

End Function

Pada contoh diatas, anda sudah tidak menemukan lagi variabel "tanda" yang memang tidak sesungguhnya tidak diperlukan lagi dalam function tersebut.

Karena merupakan sebuah variabel, maka function dapat dipergunakan berulang kali dalam operasi aritmetik ataupun logika, seperti pada contoh berikut ini:

'---------------------------------------------------------
'CONTOH 5:
' BILA SEBAGIAN PEKERJAAN DI-FUNCTION-KAN (hanya permisalan)
'---------------------------------------------------------
'-----------------------------------
'awal instruksi utama
'-----------------------------------
Private Sub hitungNilai_Click()
hasil = jumlahkan(1, 2, 7) & " --- " & jumlahkan(1, 13, 6) 'menampilkan keterangan disebuah textbox bernama "hasil"
'dalam kasus ini hasil akan menampilkan: "nilai kurang dari 15 --- nilai lebih besar dari 15"

End Sub
'-----------------------------------
'akhir instruksi utama
'-----------------------------------

Untuk pengujian di form MS Access, anda bisa buat sebuah form, tambahkan sebuah tombol dan empat buah textBox. Namakan tombol dengan nama "hitungNilai" dan untuk textBox beri nama masing-masing dengan "a", "b", "c" dan hasil. Perhatikan pada gambar yang disertakan pada artikel ini.

Pada event onClick tombol "hitungNilai" tadi, tuliskan instruksi sebagai berikut:

Private Sub hitungNilai_Click()
hasil = jumlahkan(a, b, c)
End Sub

Untuk mencobanya isikan nilai di textBox a, b, c yang berfungsi sebagai input dan lihat hasilnya pada textBox hasil. Lihat juga pada gambar yang disertakan bersama artikel ini.

Function juga dapat digunakan untuk membuat query, buat sebuah tabel dengan tiga buah field dengan nama a, b, dan c dengan tipeData number, beri nama tabel tersebut, misalnya Table1. Kemudian lanjutkan dengan membuat query, dengan Table1 sebagai source (sumber). Tempatkan ketiga field dalam tabel sebagai field dari query yang dibuat. Tambahkan field keempat dengan function sebagai source, yang dituliskan sebagai  berikut:

Keterangan: jumlahkan([nilai01];[nilai02];[nilai03]) 

Untuk lebih jelasnya anda bisa melihat pada gambar yang disertakan pada artikel ini.
Simpan query tersebut beri nama, misalnya Query1. Buka query tadi dan perhatikan bahwa field keempat (Keterangan) akan menghasilkan nilai yang sesuai dengan nilai dari field nilai01, field nilai02 dan field nilai03.

Untuk lebih jelasnya pembaca dapat men-download contoh file di URL ini:
https://xa.yimg.com/df/AstroDigi/aaUji.mdb?token=GEWMArS0QZXKuSTnAEaHslhIVj6l2fX2FttJSIRiiJ2TAAyE6-VqazhjtHoC-QQaowPo6eD9l_GAljjo3FuNFG6VXpeny21jxVhK1PaNo5i9imRT-qeUw253NBRvelxDg0OeAzg1&type=download

Akhir kata semoga artikel ini bermanfaat bagi para pembaca sekalian, selamat mencoba .. have a nice day :-)

 www.AstroDigi.com (Nino Guevara Ruwano)

Comments :

0 comments to “Membuat Function Di MS Access (Disertai Contoh)”


Post a Comment