Membuat Fungsi Sendiri di Excel, Intermezzo Angka

Posted by

Sekarang, kita akan mencoba untuk membuat fungsi sendiri di Excel. Fungsi tersebut bernama AngkaAjaib(atau nama lain yang anda kehendaki). Logikanya seperti yang saya tuliskan di postingan Intermezzo – Angka Ajaib. Silahkan lihat postingan itu.
Logikanya sederhana, seperti dibawah ini
Setiap huruf mempunyai nilai sendiri-sendiri berdasarkan urutan abjad abcd…dst. Nah apabila sebuah kata dimasukkan, maka fungsi akan menghitung nilai total dari huruf tersebut.
Contoh:
H A R D W O R K (kerja keras)
8 1 18 4 23 15 18 11 = 98

Implementasi Fungsi

Cara implementasi fungsi ini didalam Excel sebenarnya sederhana saja. Lihatlah kode dibawah ini:
Function AngkaAjaib(Tulisan)
    
    Const Abjad = "abcdefghijklmnopqrstuvwxyz"
    Panj = Len(Tulisan)
    For i = 1 To Panj
       Harga = InStr(1, Abjad, LCase(Mid(Tulisan, i, 1)), 1)
       TempHarga = TempHarga + Harga
    Next i
    AngkaAjaib = TempHarga
End Function
Fungsi tersebut dapat diterangkan sebagai berikut
Function AngkaAjaib(Tulisan)
End Function
‘Ini merupakan deklarasi fungsi. Nama fungsi terserah kita, sedangkan variabel (Tulisan) merupakan tempat menampung kata yang ingin kita hitung nilainya. Jadi pemakaian fungsi ini di Excel nantinya seperti ini :
=AngkaAjaib(A2)
‘Ada perbedaan mendasar antara Sub dengan Function. Function mengembalikan nilai, sedangkan Sub hanya menunjukkan alur.
Contohnya, kalau kita ingin menghitung jumlah, gunakan Function, sedangkan apabila kita ingin membuat prosedur printing dokument, gunakan Sub. Sub biasanya dilekatkan dengan tombol, sedangkan function langsung menghitung hasil di cell.
Const Abjad = "abcdefghijklmnopqrstuvwxyz"
Kita masukkan urutan abjad didalam sebuah variabel konstan. Nantinya tulisan yang dihitung nilainya akan dibandingkan dengan konstanta abjad ini dengan menghitung posisinya menggunakan fungsi Instr()
Panj = Len(Tulisan)
Fungsi Len() menghitung berapa panjang tulisan, dan dimasukkan dalam variabel Panj. Fungsi Panj adalah untuk memastikan bahwa iterasi yang akan dijalankan program dibawahnya dimulai dari 1 sampai sejumlah panjang tulisan
For i = 1 To Panj
       Harga = InStr(1, Abjad, LCase(Mid(Tulisan, i, 1)), 1)
       TempHarga = TempHarga + Harga
Next i


i adalah variabel bantu, fungsinya cuman untuk menghitung saja. Perintah kode ini adalah:
kerjakan mulai dari 1 sampai dengan panjang tulisan (panj), hal berikut ini:
cari lokasi tulisan ke- i didalam Abjad (fungsi Instr()) yang dihitung mulai dari 1,   dan masukkan nilainya dalam variabel harga.
kemudian, tambahkan nilai tersebut dengan hasil perhitungan sebelumnya, dan simpan dalam variabel TempHarga
Fungsi lcase() digunakan untuk mengecilkan (lowercase) Tulisan. Ini karena tulisan bisa jadi ditulis dalam huruf kecil maupun huruf besar, sementara itu abjad kita dalam huruf kecil. bila tanpa fungsi lcase(), maka huruf besar tidak akan dihitung, karena pasti fungsi Instr() tidak akan menemukan string yang dicari
AngkaAjaib = TempHarga
akhirnya masukkan nilai total didalam TempHarga ke dalam hasil fungsi AngkaAjaib, untuk ditampilkan
Peletakan

Seperti biasa, masukkan fungsi yang anda buat dalam modul, seperti gambar dibawah ini. Apabila kurang jelas, langkah-langkah membuka modul baru secara lengkap ada di posting fungsi-membalik-tulisan-dalam-excel.
Angka Ajaib
Selanjutnya anda bisa langsung memanggil fungsi tersebut sama seperti fungsi Excel yang lain. Contohnya seperti gambar dibawah ini
hasil perhitungan angka
Ada yang kurang jelas?. Silahkan tulis di kolom komentar


DR.CB
MS. Office TutorialUpdated at : March 30, 2013

1 comments:

  1. gan tolongin donk buatin fungsi terbilangnya dalam bahasa arab

    ReplyDelete