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
Function AngkaAjaib(Tulisan)
End Function
Harga = InStr(1, Abjad, LCase(Mid(Tulisan, i, 1)), 1)
TempHarga = TempHarga + Harga
Next i
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.

Selanjutnya anda bisa langsung memanggil fungsi tersebut sama seperti fungsi Excel yang lain. Contohnya seperti gambar dibawah ini

Ada yang kurang jelas?. Silahkan tulis di kolom komentar
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)Fungsi tersebut dapat diterangkan sebagai berikut
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
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 :Const Abjad = "abcdefghijklmnopqrstuvwxyz"
=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.
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 tulisanFor 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
Peletakanakhirnya masukkan nilai total didalam TempHarga ke dalam hasil fungsi AngkaAjaib, untuk ditampilkan
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.
Selanjutnya anda bisa langsung memanggil fungsi tersebut sama seperti fungsi Excel yang lain. Contohnya seperti gambar dibawah ini
Ada yang kurang jelas?. Silahkan tulis di kolom komentar
gan tolongin donk buatin fungsi terbilangnya dalam bahasa arab
ReplyDelete