Kamis, 13 Februari 2014

PRAKTIK MERANCANG MACRO EXCEL 2007 ke atas



Penulis membahas cara membuat fungsi yang dibuat sendiri (user define function) pada Excel menggunakan VBA. Hal ini berguna jika Anda membutuhkan fungsi yang tidak disediakan oleh Microsoft Excel. Pada bahasan ini, Anda akan membuat fungsi yang dapat merubah angka menjadi teks pada MS Excel 2007 atau pada versi di atasnya.

MEMBUAT BERKAS YANG MEMILIKI MACRO PADA EXCEL 2007/10/13
Karena menggunakan Excel 2007 maka berkas Excel yang Anda buat haruslah menggunakan ekstensi “.xslm”. Sekarang mari kita membuat berkas baru Excel, berkas tersebut masih dalam format “.xslx”.


Buka berkas tersebut, kemudian simpan sebagai (save as) “fungsi sendiri.xslm”.

Maka Anda telah membuat berkas Excel 2007 yang dapat menggunakan macro (macro enabled). Lalu Anda atur keamanan dan privasi Excel pada  Macro Settings dan Trusted Location (lokasi terpercaya tempat kita menyimpan berkas-berkas excel ber-macro), sehingga macro yang Anda buat dapat bekerja. Kedua pengaturan tersebut terdapat pada Excel Option-Trust Center-Trust_Center Settings.


Pada pengaturan Macro, pilih “Disabled All Macro Except Digitally Signed Macros” (pilihan ke 3) atau “Enabled All Macro” (pilihan ke 4), disarankan pilihan ke-4 bagi pemula.
Kemudian Anda atur lokasi folder yang terpercaya (Trusted Location), di komputer penulis terletak di “E:\VBA\”. Jangan lupa untuk mencentang pilihan “Subfolder of this location also trusted” agar subfolder dari folder ini juga dipercaya.



MEMBUAT FUNGSI MERUBAH ANGKA KE TEKS UNTUK ANGKA TUNGGAL
Untuk membuat fungsi sendiri, maka Anda perlu membuat prosedur fungsi (function procedure) VBA pada module di Visual Basic Editor.



Sekarang Anda telah membuat fungsi bernama “angka_ke_kata” yang menghasilkan kata (tipe data string) dengan argumen angka (tipe data double).  Tipe data string untuk teks, sedangkan tipe data double untuk bilangan asli dan pecahan.
Function angka_ke_kata(angka As Double) As String
Dalam fungsi ini Anda menyiapkan array yang berisi teks yang berhubungan dengan bilangan tersebut. Array itu Anda beri nama “kata_angka”, berukuran 10, yang beranggotakan teks untuk bilangan dari nol sampai sembilan.
Dim kata_angka(10) As String
kata_angka(0) = "nol"
kata_angka(1) = "satu"
kata_angka(2) = "dua"
kata_angka(3) = "tiga"
kata_angka(4) = "empat"
kata_angka(5) = "lima"
kata_angka(6) = "enam"
kata_angka(7) = "tujuh"
kata_angka(8) = "delapan"
kata_angka(9) = "sembilan"

Berdasarkan array ini Anda sudah dapat membuat fungsi yang merubah angka tunggal menjadi teks. Anda cukup menambahkan kode VBA yang mengembalikan kata yang sesuai dengan argumen “angka” ketika fungsi “kata_ke_angka” dipanggil.
angka_ke_kata = kata_angka(angka)

 
Kembali ke “sheet1” pada workbook Excel mencoba fungsi yang telah dibuat. Isikan angka pada sel “A1” kemudian pada sel “A2” masukkan fungsi excel “angka_ke_kata”. Fungsi ini terletak pada pilihan fungsi “user defined”.








MEMBUAT FUNGSI MERUBAH ANGKA KE TEKS UNTUK ANGKA LEBIH DARI 9
Kita telah membuat fungsi yang merubah angka ke teks. Tapi fungsi ini bekerja hanya untuk angka-angka tunggal (dari nol sampai sembilan). Lebih dari itu maka fungsi ini menghasilkan kesalahan, sebagai contoh Anda tuliskan nilai 10 atau 200 di sel “A1”.

Selanjutnya Anda akan melengkapi kode-kode di fungsi yang telah Anda buat, sehingga dapat merubah angka lebih dari 9 menjadi teks. Algoritmanya sebenarnya cukup mudah, fungsi yang Anda buat akan menghitung panjang angka yang akan diubah. Setelah itu fungsi tersebut akan merubah setiap anggota angka menggunakan array  “kata_angka” seperti bahaasan sebelumnya, kemudian menggabungkan hasilnya. Sehingga hasil yang didapat berupa gabungan kata-kata, atau kalimat.
Dalam Visual Basic dikenal fungsi “Len(pernyataan)” untuk mengetahui panjang teks (kata atau kalimat). Karena angka yang diubah berupa bilangan bukan teks, maka Anda perlu merubah angka tersebut menjadi teks dengan fungsi “Cstr(pernyataan)”. Bilangan dalam format data double yang telah dikonversi menjadi format data string akan Anda simpan dalam variabel “angka_dlm_teks”. Sedangkan panjangnya Anda taruh dalam variabel “panjang_angka”.
angka_dlm_teks = CStr(angka)
panjang_angka = Len(angka_dlm_teks)
Sekarang mari kita uji hasilnya dengan angka 5 , 317, 105076. 





Berdasarkan informasi panjang angka tersebut, Anda dapat membuat loop untuk merubah setiap anggota angka menjadi teks dan menggabungkannya kembali. Dalam loop tersebut setiap karakter dalam variabel “angka_dlm_teks” akan Anda ambil meggunakan fungsi “Mid(string,awal,jumlah)”. Kemudian memasukan karakter itu ke dalam variabel “index_angka”. Variabel ini akan digunakan untuk mengambil data dari anggota array  “kata_angka” yang berasosiasi dengan karakter tersebut. Untuk menggabungkan hasilnya dari setiap kali proses tersebut diulang, maka digunakan operator penggabungan “&”.

For i = 1 To panjang_angka
    index_angka = Mid(angka_dlm_teks, i, 1)
    angka_ke_kata = angka_ke_kata & " " & kata_angka(index_angka)
Next


Sekarang mari ktia tes fungsi ini dengan angka 1, 720 dan 30827.

Senin, 03 Februari 2014

UN PRAKTIK 2013 - 2014

SOAL UJIAN PRAKTIK TIK
1. a. Praktikkan membuat folder di My Document lalu ganti nama folder dengan nama anda. (5)
b. Buat tampilan di bawah ini dengan program Microsoft Word. (15)

2. a. Praktikkan mengirim e-mail, melampirkan file, kirim ke : syams.ardhi@gmail.com. (10)
b. Buat tampilan di bawah ini dengan Microsoft Excel. (10)


3. Buatlah presentasi 3 slide Kesan dan Pesan selama di SMA N 1 Cikarang Utara Bekasi.
(gunakan Slide Transition, Custom Animation, Background berbeda setiap slide dengan waktu secara otomatis). (20)
4. Gabungkan dua helai foto Anda yang berbeda dengan Photoshop CS3/CS4/CS5/CS6 (20)
5. Buatlah pamflet dengan CorelDRAW dengan tema UJIAN NASIONAL 2014. (20)