Anda di halaman 1dari 19

1

Nizam
Excel in a nutshell Excel in a nutshell
Nizam
Excel as object Excel as object
Dalam Dalam graphical user interface, graphical user interface, aplikasi aplikasi
dan dan bagian bagian- -bagiannya bagiannya dikenal dikenal sebagai sebagai
object object
Object excel Object excel
Excel Excel
Workbook Workbook
Worksheet Worksheet
Range Range dalam dalam worksheet worksheet
Listbox Listbox
Chart sheet Chart sheet
Chart Chart
Dsb Dsb. .
Nizam
Object Object utama utama
Workbooks Workbooks merupakan merupakan folder folder
yang yang berisi berisi: :
Worksheets Worksheets
Chart sheets Chart sheets
Macro sheets (. Macro sheets (.xlm xlm obsolete) obsolete)
Dialog sheets (obsolete) Dialog sheets (obsolete)
Worksheets Worksheets merupakan merupakan lembar lembar
kerja kerja
1 worksheet 1 worksheet terdiri terdiri dari dari 256 256 kolom kolom dan dan
65,536 65,536 baris baris (16,777,216 (16,777,216 sel sel!!) !!)
setara setara dengan dengan 36,000 36,000 halaman halaman cetak cetak!!! !!!
Nizam
Excel user interface Excel user interface
Antarmuka Antarmuka excel excel bisa bisa dilakukan dilakukan
dengan dengan beberapa beberapa cara cara: :
Menu Menu
Dialog box Dialog box
Toolbars Toolbars
Drag Drag- -and and- -drop drop
Keyboard shortcuts Keyboard shortcuts
Nizam
Entry data Entry data
Nilai Nilai ( (angka angka, , tanggal tanggal, , waktu waktu) )
Text Text
Rumus Rumus
Nilai Nilai logika logika ( (boolean boolean true true- -false) false)
Beberapa Beberapa tips tips
Mengisi Mengisi data data pada pada range: range: isikan isikan data data pada pada active cell, active cell,
tekan tekan ctrl+Enter ctrl+Enter
Mengcopy Mengcopy ke ke bawah bawah: drag : drag pojok pojok selection selection
Mengcopy Mengcopy ke ke bawah bawah dgn dgn increment: drag increment: drag pojok pojok
selection selection sambil sambil tekan tekan ctrl ctrl
Untuk Untuk penulisan penulisan teks teks yang yang panjang panjang, , ganti ganti baris baris dengan dengan
alt+enter alt+enter
Untuk Untuk menulis menulis pecahan pecahan tulis tulis 0 < 0 <spasi spasi> > pecahan pecahan
Tanggal Tanggal hari hari ini ini: ctrl+; : ctrl+;
Jam Jam saat saat ini ini: : ctrl+shift ctrl+shift+; +;
Nizam
Beberapa Beberapa kemampuan kemampuan excel excel
Formatting Formatting
Formulas Formulas
Names Names
Functions Functions
Shapes Shapes
Charts Charts
Macros Macros
Database access Database access filter filter
2
Nizam
Analysis tools Analysis tools
Outline Outline
Automatic subtotals Automatic subtotals
Scenario management Scenario management
Analysis Analysis toolpak toolpak
Pivot table Pivot table
Auditing Auditing
Solver Solver
Add Add- -ins ins
Nizam
cell cell
Relative A1 Relative A1
Absolute $A$1 Absolute $A$1
row absolute A$1 row absolute A$1
Column absolute $A1 Column absolute $A1
Referencing other sheets/workbooks Referencing other sheets/workbooks
=[data.xls]Sheet2[A2]+1 =[data.xls]Sheet2[A2]+1
Referensi Referensi dengan dengan nama nama : insert : insert
name name create create
Nizam
VBA VBA - - Visual Basic for Visual Basic for
Application Application
Bahasa Bahasa pemrograman pemrograman untuk untuk
aplikasi aplikasi Windows Windows
Nizam
Bagian Bagian 1 1
Dasar Dasar- -dasar dasar pemrograman pemrograman VBA VBA
Nizam
Apa Apa yang yang dibicarakan dibicarakan? ?
Mengenal Mengenal VBA VBA
IDE IDE
Pemrograman Pemrograman berbasis berbasis object object
Cara Cara membuat membuat program VBA program VBA
Makro Makro
Editor program Editor program
Menjalankan Menjalankan program program
Membuat Membuat fungsisendiri fungsisendiri
Membuat Membuat prosedur prosedur
Mengatur Mengatur editor editor
Melindungi Melindungi program program
Nizam
Apa Apa dan dan kenapa kenapa VBA VBA
Merupakan Merupakan bahasa bahasa pemrograman pemrograman bagi bagi
semua semua aplikasi aplikasi Microsoft Office ( Microsoft Office (Exel Exel, ,
Word, Access, Word, Access, Powerpoint Powerpoint) ) dan dan beberapa beberapa
yang lain (Outlook, Visio, AutoCAD, yang lain (Outlook, Visio, AutoCAD,
MapInfo, MapInfo, dsb dsb.) .)
Dapat Dapat berfungsi berfungsi sebagai sebagai macro macro atau atau
bahasa bahasa pemrograman pemrograman
Merupakan Merupakan bahasa bahasa program program beorientasi beorientasi
object, object, semua semua object office object office dapat dapat dengan dengan
mudah mudah dimanipulasi dimanipulasi dengan dengan VBA VBA
Belajar Belajar satu satu bahasa bahasa dapat dapat daplikasikan daplikasikan
dalam dalam banyak banyak aplikasi aplikasi Windows Windows
3
Nizam
kenapa kenapa
Mendukung Mendukung aplikasi aplikasi internet internet dan dan
intranet intranet
Mendukung Mendukung ActiveX controls ActiveX controls
Code editor Code editor dengan dengan bantuan bantuan yang yang
lengkap lengkap dan dan debugger debugger
Form building tools Form building tools
Object browser Object browser
Dll Dll yang yang memudahkan memudahkan pembuatan pembuatan
program program Nizam
IDE IDE integrated development environment integrated development environment
Untuk Untuk menulis menulis/edit program VBA /edit program VBA
digunakan digunakan IDE IDE
Nizam
Module window
Project explorer
Properties window
Procedure list
Object list
Nizam
Prinsip Prinsip prmrograman prmrograman berbasis berbasis object object
Object Object
Workbook, worksheet, chart, cell, Workbook, worksheet, chart, cell, dsb dsb. .
Properties Properties
Setiap Setiap object object memiliki memiliki properties: color, properties: color,
font, italic, font, italic, dsb dsb. .
Method & procedure Method & procedure
Cara/ Cara/perintah perintah untuk untuk melakukan melakukan
sesuatu sesuatu: : pindah pindah worksheet, worksheet, pindah pindah
baris baris, , dsb dsb. .
Nizam
VBA programming VBA programming
Program Program dalam dalam VBA VBA disebut disebut prosedur prosedur ( (dan dan
function) function)
Tiga Tiga jenis jenis prosedur prosedur
Command macros Command macros mengotomasi mengotomasi prosedur prosedur- -
prosedur prosedur, , fungsi fungsi- -fungsi fungsi yang yang ada ada (built (built- -in) in)
dalam dalam aplikasi aplikasi, , memformat memformat, , menyimpan menyimpan, , dsb dsb. .
User User- -defined function (function procedure) defined function (function procedure)
program yang program yang berisi berisi rumus rumus dan dan perintah perintah yang yang
kita kita susun susun sendiri sendiri
Property procedure Property procedure menunjukkan menunjukkan atau atau
mengubah mengubah properti properti dari dari suau suau object (class object (class
module) module)
Nizam
Cara Cara membuat membuat program program
Dengan Dengan merekam merekam macro (macro macro (macro
recording) recording)
Dengan Dengan menulis menulis program program dalam dalam
IDE/VBA editor IDE/VBA editor
4
Nizam
Membuat Membuat dan dan menjalankan menjalankan macro macro
Tools Tools macro macro record macro record macro
Lakukan Lakukan prosedur prosedur- -prosedur prosedur dan dan
perubahan perubahan properties properties pada pada
worksheet worksheet
Stop macro recording Stop macro recording
Edit macro Edit macro untuk untuk memberbaiki memberbaiki dan dan
mengubah mengubah hasil hasil rekaman rekaman
Menjalankan Menjalankan: :
Dengan Dengan shortcut, shortcut, atau atau
Tools Tools macro macro run run pilih pilih nama nama macro macro Nizam
Menulis Menulis program program
Tools Tools macro macro visual visual basic editor basic editor
atau atau
Click Click tombol tombol VBE VBE
Pindah Pindah dari dari VBE VBE ke ke aplikasi aplikasi
alt+F11 alt+F11
Tuliskan Tuliskan program (function program (function atau atau
procedure) procedure)
Sub Sub
Baris Baris program program
End sub End sub
Nizam
Fungsi Fungsi
Fungsi Fungsi adalah adalah rumus rumus yang yang mengolah mengolah argumen argumen
dan dan mengembalikan mengembalikan hasil hasil
Struktur Struktur fungsi fungsi
Function Function NamaFungsi(argumen1, argumen2, NamaFungsi(argumen1, argumen2, ) )
[ [Pernyataan Pernyataan/statement VBA] /statement VBA]
NamaFungsi NamaFungsi = = hasil hasil yang yang dikembalikan dikembalikan
End Function End Function
Bagianbagian Bagianbagian: :
Statement Statement Function Function
Nama Nama fungsi fungsi
Argumen Argumen fungsi fungsi (parameter) (parameter)
Statement VBA yang Statement VBA yang melakukan melakukan hitungan hitungan
Hasil Hasil yang yang dikembalikan dikembalikan nama nama fungsi fungsi = =
Statement Statement End Function End Function
Nizam
Membuat Membuat fungsi fungsi
Contoh Contoh: : menghitung menghitung sisi sisi miring miring
segitiga segitiga
Sisimiring Sisimiring = sqr(x = sqr(x
2 2
+ y + y
2 2
) )
Function Function sisimiring(x sisimiring(x, y) , y) nama nama fungi fungi
sisimiring sisimiring = = sqr(x sqr(x ^ 2 + y ^ 2) ^ 2 + y ^ 2) nilai nilai
hasil hasil
End Function End Function
Pemakaian Pemakaian: : isikan isikan pada pada sel sel dengan dengan
nama nama formula, formula, misal misal =sisimiring(3, =sisimiring(3,
4) 4) akan akan menghasilkan menghasilkan 5 5
Nizam
Membuat Membuat fungsi fungsi
Function akar(A, B, C) Function akar(A, B, C)
If A <> 0 Then If A <> 0 Then
diskrim = B ^ 2 diskrim = B ^ 2 - - 4 * A * C 4 * A * C
If diskrim > 0 Then If diskrim > 0 Then
akar = "dua akar riel" akar = "dua akar riel"
ElseIf diskrim = 0 Then ElseIf diskrim = 0 Then
akar = akar = - -B / (2 * A) B / (2 * A)
Else Else
akar = "akar imaginer" akar = "akar imaginer"
End If End If
Else Else
akar = "bukan persamaan kuadrat" akar = "bukan persamaan kuadrat"
End If End If
End Function End Function
Nizam
prosedur prosedur
Prosedur Prosedur adalah adalah unit program unit program dalam dalam
VBA yang VBA yang merupakan merupakan blok blok kode kode
dalam dalam satu satu modul modul
Struktur Struktur sebuah sebuah prosedur prosedur
Sub Sub NamaProsedur NamaProsedur ( (argumen1, argumen1,
argumen2, argumen2, ) )
[ [pernyataan pernyataan/statement VBA] /statement VBA]
End Sub End Sub
5
Nizam
Membuat Membuat prosedur prosedur
Contoh Contoh: : perhitungan perhitungan bunga bunga
Sub Sub EnterLoanData EnterLoanData() ()
Sub Sub InputDataPinjaman InputDataPinjaman() ()
Range("bunga").Value = 0.08 Range("bunga").Value = 0.08
Range("lama").Value = 10 Range("lama").Value = 10
Range("pinjaman").Value = 100000000 Range("pinjaman").Value = 100000000
Range("bayar").Value = Range("bayar").Value =
"=PMT(bunga/12,lama*12,pinjaman)" "=PMT(bunga/12,lama*12,pinjaman)"
End Sub End Sub
Penggunaan Penggunaan: : tools tools macro macro pilih pilih nama nama
sub sub InputDataPinjaman InputDataPinjaman run run
Nizam
Memanfaatkan Memanfaatkan intellisense intellisense
Setiap Setiap oject oject dalam dalam excel excel memiliki memiliki
properties properties dan dan methods, methods,
Untuk Untuk memanipulasi memanipulasi obyek obyek dalam dalam
program VBA, program VBA, kita kita bisa bisa memanfaatkan memanfaatkan
intellisense intellisense
Caranya Caranya: :
Tuliskan Tuliskan nama nama obyek obyek dilanjutkan dilanjutkan dengan dengan titik titik
(.) (.) akan akan keluar keluar properties properties dari dari obyek obyek
tersebut tersebut
Contoh Contoh: application. : application.
Kalau Kalau kita kita tekan tekan <esc> <esc> intellisense intellisense tak tak akan akan
muncul muncul lagi lagi untuk untuk obyek obyek yang yang sama sama, , untuk untuk
memunculkan memunculkan lagi lagi tekan tekan Ctrl+J Ctrl+J
Nizam
Informasi Informasi parameter parameter
Setiap Setiap fungsi fungsi memiliki memiliki satu/beberapa satu/beberapa
parameter, parameter parameter, parameter terebut terebut dapat dapat
dimunculkan dimunculkan dengan dengan menuliskan menuliskan
nama nama fungsi fungsi dan dan tanda tanda kurung kurung buka buka
activecell.Formula=pmt( activecell.Formula=pmt( akan akan muncul muncul
argumen argumen untuk untuk fungsi fungsi pmt pmt
Nizam
Menyimpan Menyimpan/export /export modul modul
Dari project explorer, Dari project explorer, pilih pilih modul modul
yang yang akan akan disimpan disimpan
Pilih Pilih File|Export File|Export File File
Pilih Pilih lokasi lokasi tempat tempat menyimpan menyimpan file file
Beri Beri nama nama file.BAS file.BAS
Tekan Tekan Save Save
Nizam
Mengimpor/ambil Mengimpor/ambil modul modul
Dari project explorer Dari project explorer
Pilih Pilih File|Import File|Import File File
Pilih Pilih file file dari dari lokasi lokasi tempat tempat
menyimpan menyimpan file.BAS file.BAS
Tekan Tekan Open Open
Nizam
Mengatur Mengatur editor editor
Cara Cara kerja kerja dan dan tampilan tampilan editor editor dapat dapat
diatur diatur dengan dengan menu menu Tools|Options Tools|Options
6
Nizam
Melindungi Melindungi program program
Program Program dapat dapat dilindungi dilindungi dengan dengan
password password
Tools|ProjectName Tools|ProjectName Properties Properties
dialog box, dialog box, pilih pilih Protection Protection
Isikan Isikan password password untuk untuk melindungi melindungi
program program
OK OK
Nizam
Bagian Bagian 2 2
Variabel Variabel dan dan konstanta konstanta
Nizam
Apa Apa yang yang dibicarakan dibicarakan? ?
Mendeklarasi Mendeklarasi variabel variabel
Memahami Memahami lingkup lingkup varaibel varaibel
Mengirim Mengirim variabel variabel sbg sbg referensi referensi dan dan sbg sbg
argumen argumen
Variabel Variabel statik statik
Menghindari Menghindari kesalahan kesalahan variabel variabel
Jenis Jenis data data variabel variabel
Array Array
Konstanta Konstanta
Nizam
Deklarasi Deklarasi variabel variabel
Variabel Variabel dalam dalam VBA VBA sebaiknya sebaiknya
dideklarasikan dideklarasikan untuk untuk menyatakan menyatakan nama nama
dan dan jenis jenis data (data type) data (data type)
Pendeklrasian Pendeklrasian variabel variabel menghindari menghindari
kesalahan kesalahan dan dan mengefisienkan mengefisienkan program program
Caranya Caranya: : dengan dengan pernyataan pernyataan Dim Dim
Dim Dim namavar namavar As As jenisdata jenisdata
Namavar Namavar harus harus dimulai dimulai dengan dengan huruf huruf, max , max
255 255 karakter karakter, , tidak tidak mengandung mengandung spasi spasi
dan dan .!@#$%& .!@#$%&
Nizam
contoh contoh
Function Function GrossMargin GrossMargin() ()
deklarasi deklarasi variabel variabel
Dim Dim totalSales totalSales
Dim Dim totalExpenses totalExpenses
program program
totalSales totalSales = = Application.Sum(Range( Application.Sum(Range( Sales Sales )) ))
totalExpenses totalExpenses = =
Application.Sum(Range( Application.Sum(Range( Expenses Expenses )) ))
GrossMargin GrossMargin=( =(totalSales totalSales
totalExpenses)/totalSales totalExpenses)/totalSales
End Function End Function
Nizam
Lingkup Lingkup/scope /scope variabel variabel
Dalam Dalam VBA VBA lingkup lingkup variabel variabel
Lingkup Lingkup prosedur prosedur
Lingkup Lingkup modul modul
Lingkup Lingkup publik publik
7
Nizam
Lingkup Lingkup prosedur prosedur
Variabel Variabel hanya hanya bisa bisa diakses diakses oleh oleh pernyataan pernyataan- -pernyataan pernyataan
dalam dalam prosedur prosedur yang yang sama sama
Sub Procedure1() Sub Procedure1()
Dim Dim pesan pesan
semua semua pernyataan pernyataan di di dalam dalam prosedur prosedur ini ini
dapat dapat mengakses mengakses variabel variabel pesan pesan
pesan pesan = = Saya Saya dalam dalam lingkup lingkup
MsgBox MsgBox pesan pesan
End Sub End Sub
Sub Procedure2() Sub Procedure2()
pernyataan pernyataan di di dalam dalam prosedur prosedur ini ini
tak tak dapat dapat mengakses mengakses variabel variabel pesan pesan
MsgBox MsgBox pesan pesan variabel variabel pesan pesan tak tak dikenal dikenal dalam dalam
prosedur prosedur ini ini
End Sub End Sub
Nizam
Deklarasi Deklarasi implisit implisit dan dan eksplisit eksplisit
Pada Pada contoh contoh 2, 2, variabel variabel pesan pesan sebetulnya sebetulnya
tak tak dikenal dikenal, , tetapi tetapi ketika ketika dijalankan dijalankan tetap tetap
memberi memberi hasil hasil, , dalam dalam hal hal ini ini <blank>. <blank>. Ini Ini
dikarenakan dikarenakan VBA VBA mengenal mengenal deklarasi deklarasi
implisit implisit ( (semua semua variabel variabel otomatis otomatis diberi diberi
harga harga <blank>, <blank>, meski meski tak tak dikenal dikenal) )
Kondisi Kondisi semacam semacam ini ini kurang kurang baik baik dalam dalam
pemrograman pemrograman, , sebaiknya sebaiknya dinyatakan dinyatakan
bahwa bahwa semua semua variabel variabel harus harus
dideklarasikan dideklarasikan agar agar tak tak terjadi terjadi kesalahan kesalahan
Untuk Untuk menghindari menghindari
Option Explicit Option Explicit
Nizam
Lingkup Lingkup modul modul
Agar Agar variabel variabel dapat dapat diakses diakses oleh oleh
beberapa beberapa prosedur prosedur harus harus dideklarasi dideklarasi
sebelum/di sebelum/di luar luar prosedur prosedur- -prosedur prosedur
yang yang menggunakan menggunakan variabel variabel tersebut tersebut
Nizam
contoh contoh
Sub CalcMargins1() Sub CalcMargins1()
Range("GrossMarg").Value = GrossMarginCalc Range("GrossMarg").Value = GrossMarginCalc
Range("NetMarg").Value = Range("NetMarg").Value =
NetMarginCalc(Range("FixedCosts").Value) NetMarginCalc(Range("FixedCosts").Value)
End Sub End Sub
Function GrossMarginCalc() Function GrossMarginCalc()
Dim totSales Dim totSales
Dim totExpenses Dim totExpenses
totSales = Application.Sum(Range("Sales")) totSales = Application.Sum(Range("Sales"))
totExpenses = Application.Sum(Range("Expenses")) totExpenses = Application.Sum(Range("Expenses"))
GrossMarginCalc = (totSales GrossMarginCalc = (totSales - - totExpenses) / totExpenses) /
totSales totSales
End Function End Function
Function NetMarginCalc(fixedCosts) Function NetMarginCalc(fixedCosts)
Dim totSales Dim totSales
Dim totExpenses Dim totExpenses
totSales = Application.Sum(Range("Sales")) totSales = Application.Sum(Range("Sales"))
totExpenses = Application.Sum(Range("Expenses")) totExpenses = Application.Sum(Range("Expenses"))
NetMarginCalc = (totSales NetMarginCalc = (totSales - - totExpenses totExpenses - -
fixedCosts) fixedCosts) _ _ totSales totSales
End Function End Function
Dim totSales2 Dim totSales2
Dim totExpenses2 Dim totExpenses2
Sub CalcMargins2() Sub CalcMargins2()
Range("GrossMarg").Value = GrossMarginCalc2 Range("GrossMarg").Value = GrossMarginCalc2
Range("NetMarg").Value = Range("NetMarg").Value =
NetMarginCalc2(Range("FixedCosts").Value) NetMarginCalc2(Range("FixedCosts").Value)
End Sub End Sub
Function GrossMarginCalc2() Function GrossMarginCalc2()
totSales2 = Application.Sum(Range("Sales")) totSales2 = Application.Sum(Range("Sales"))
totExpenses2 = totExpenses2 =
Application.Sum(Range("Expenses")) Application.Sum(Range("Expenses"))
GrossMarginCalc2 = (totSales2 GrossMarginCalc2 = (totSales2 - - totExpenses2) / totExpenses2) /
totSales2 totSales2
End Function End Function
Function NetMarginCalc2(fixedCosts) Function NetMarginCalc2(fixedCosts)
NetMarginCalc2 = (totSales2 NetMarginCalc2 = (totSales2 - - totExpenses2 totExpenses2 _ _
- - fixedCosts2) / totSales2 fixedCosts2) / totSales2
End Function End Function
Nizam
Lingkup Lingkup publik publik
Kadang Kadang kita kita menginginkan menginginkan semua semua
modul modul dalam dalam proyek proyek kita kita dapat dapat
mengakses mengakses variabel variabel lingkup lingkup publik publik
Caranya Caranya: : deklarasikan deklarasikan dengan dengan
public public namavariabel namavariabel
Untuk Untuk menggantikan menggantikan dim dim
namavariabel namavariabel
Nizam
Mengirim Mengirimargumen argumen variabel variabel
Bila Bila program program terdiri terdiri dari dari banyak banyak prosedur prosedur, ,
mendeklarasikan mendeklarasikan variabel variabel dalam dalam lingkup lingkup
modul modul dapat dapat berbahaya berbahaya, , karena karena nilai nilai
variabel variabel dapat dapat diubah diubah oleh oleh setiap setiap prosedur prosedur
yang yang mengakses mengakses variabel variabel tersebut tersebut atau atau
variabel variabel yang yang sama sama dideklarasikan dideklarasikan
berbeda berbeda dalam dalam prosedur prosedur lain lain
Untuk Untuk menghindari menghindari kesalahan kesalahan semacam semacam
itu itu, , variabel variabel dapat dapat dikirim dikirim dari dari satu satu
prosedur prosedur ke ke yang lain yang lain sebagai sebagai argumen argumen
Pengiriman Pengiriman argumen argumen variabel variabel dapat dapat
berdasar berdasar referensi referensi atau atau berdasar berdasar nilai nilai
variabel variabel
8
Nizam
Mengirim Mengirimvariabel variabel berdasar berdasar referensi referensi
Contoh Contoh: :
Sub procedure3() Sub procedure3()
Dim Dim pesan pesan
pesan pesan = "Pesan asli!" = "Pesan asli!"
procedure4 procedure4 pesan pesan
MsgBox MsgBox pesan pesan
End Sub End Sub
Sub procedure4( Sub procedure4(kiriman kiriman) )
MsgBox MsgBox kiriman kiriman
kiriman kiriman = "pesan telah sampai!" = "pesan telah sampai!"
End Sub End Sub
Bila Bila procedure3 procedure3 dijalankan dijalankan, , mula mula- -mula mula pesan pesan berisi berisi Pesan Pesan
asli asli! ! kemudian kemudian berisi berisi pesan pesan telah telah sampai sampai! !
Nizam
Mengirim Mengirimvariabel variabel berdasar berdasar nilai nilai
Contoh Contoh: :
Sub procedure5() Sub procedure5()
Dim pesan Dim pesan
pesan = "Pesan asli!" pesan = "Pesan asli!"
procedure6 pesan procedure6 pesan
MsgBox pesan MsgBox pesan
End Sub End Sub
Sub procedure6(ByVal pesan) Sub procedure6(ByVal pesan)
MsgBox pesan MsgBox pesan
pesan = "terimakasih atas kirimannya!" pesan = "terimakasih atas kirimannya!"
End Sub End Sub
Bila Bila procedure5 procedure5 dijalankan dijalankan, , variabel variabel pesan pesan akan akan tetap tetap
berisi berisi Pesan Pesan asli asli! ! karena karena yang yang dikirim dikirim hanya hanya nilainya nilainya
( (ByVal ByVal) )
Nizam
Variabel Variabel statis statis
Dalam Dalam VBA, VBA, variabel variabel dalam dalam prosedur prosedur
setelah setelah digunakan digunakan nilainya nilainya akan akan
dihapus dihapus; ; ketika ketika prosedur prosedur dipanggil dipanggil
lagi lagi, , akan akan diisi diisi/ / hitung hitung lagi lagi
Bila Bila ingin ingin nilai nilai variabel variabel tak tak diubah diubah
bisa bisa dipakai dipakai variabel variabel statis statis (static (static
variable) variable)
Nizam
Contoh Contoh variabel variabel statik statik
Sub tesStatik() Sub tesStatik()
ProsedurStatik ProsedurStatik
ProsedurStatik ProsedurStatik
End Sub End Sub
Sub ProsedurStatik() Sub ProsedurStatik()
Static varStatik Static varStatik
Dim varReguler Dim varReguler
varStatik = varStatik + 5 varStatik = varStatik + 5
varReguler = varReguler + 5 varReguler = varReguler + 5
MsgBox "varStatik = " & varStatik & " dan varReguler = " & MsgBox "varStatik = " & varStatik & " dan varReguler = " &
varReguler varReguler
End Sub End Sub
Saat Saat dijalankan dijalankan nilai nilai varStatik varStatik mula mula- -mula mula 5, 5, lalu lalu 10, 10,
sedangkan sedangkan varReguler varReguler tetap tetap 5 5
Nizam
Menghindari Menghindari kesalahan kesalahan variabel variabel
Kadang Kadang kita kita salah salah mengetik mengetik nama nama
variabel variabel, , kesalahan kesalahan ini ini paling paling sering sering
terjadi terjadi pada pada pembuatan pembuatan program yang program yang
besar besar
Untuk Untuk menghidarinya menghidarinya, , gunakan gunakan perintah perintah
explicit, explicit, maka maka VBA VBA akan akan memberi memberi pesar pesar
error error bila bila ketemu ketemu variabel variabel baru baru yang yang
belum belum dideklarasikan dideklarasikan
Caranya Caranya: :
Dengan Dengan mendeklarasikan mendeklarasikan di di bagian bagian atas atas modul modul
Option Explicit Option Explicit
Pilih Pilih Tools|Option Tools|Option modul modul general, general,
pilih/contreng pilih/contreng Require Variable Declaration Require Variable Declaration
Nizam
J enis J enis data data variabel variabel
VBA VBA secara secara otomatis otomatis memberi memberi jenis jenis data data
variant (22 byte) variant (22 byte) untuk untuk setiap setiap variabel variabel
yang yang dideklarasikan dideklarasikan tanpa tanpa diberi diberi jenis jenis
data data
Untuk Untuk menghemat menghemat memori memori dan dan
menambah menambah efisiensi efisiensi program program jenis jenis data data
sebaiknya sebaiknya dinyatakan dinyatakan pada pada saat saat deklarasi deklarasi
variabel variabel
Cara: Cara:
Dim Dim namaVariabel namaVariabel As As JenisData JenisData
Contoh Contoh: :
Dim Dim kata kata As String As String
Dim Dim noMhs noMhs As Integer As Integer
9
Nizam
J enis J enis data data variabel variabel
Dapat Dapat untuk untuk sembarang sembarang jenis jenis data data 22 bytes + 22 bytes +
1 byte per 1 byte per
char char
Variant Variant
(string) (string)
Dapat Dapat untuk untuk sembarang sembarang jenis jenis data data 16 byte 16 byte Variant Variant
Untuk Untuk teks teks, , dapat dapat sampai sampai 64KByte 64KByte $ $ 1 byte per 1 byte per
char char
String String
Bil Bil pecahan pecahan presisi presisi tunggal tunggal ! ! 4 bytes 4 bytes Single Single
Referensi Referensi obyek obyek 4 bytes 4 bytes Object Object
Bilangan Bilangan cacah cacah besar besar - -2,147,483,648 2,147,483,648 sampai sampai
2,147,483,6487 2,147,483,6487
& & 4 bytes 4 bytes Long Long
Untuk Untuk bil bil cacah cacah antara antara - -32,768 32,768 sampai sampai 32,767 32,767 % % 2 bytes 2 bytes Integer Integer
Untuk Untuk tanggal tanggal, , antara antara 1 Jan 1000 1 Jan 1000 hingga hingga 31 31
Desember Desember 9999 9999
#date# #date# 8 bytes 8 bytes Date Date
Pressi Pressi ganda ganda, , bilangan bilangan negatif negatif - -
1.79769313486232E308 1.79769313486232E308 hingga hingga - -
4.9406564581247E 4.9406564581247E- -324; 324; bilangan bilangan positif positif dari dari
4.9406564581247E 4.9406564581247E- -324 324 hingga hingga
1.79769313486232E308 1.79769313486232E308
# # 8 bytes 8 bytes Double Double
Untuk Untuk mata mata uang uang, , nilai nilai antara antara - -
922,337,203,685,477.5808 922,337,203,685,477.5808 hingga hingga
922,337,203,685,477.5808 922,337,203,685,477.5808
@ @ 8 bytes 8 bytes Currency Currency
Nilai Nilai 0 0 sampai sampai 255 255 1 byte 1 byte Byte Byte
True & false True & false 2 bytes 2 bytes Boolean Boolean
Catatan Catatan lambang lambang Ukuran Ukuran Jenis Jenis
Nizam
default default jenis jenis data data
Kita Kita dapat dapat menyatakan menyatakan jenis jenis data default data default
Contoh Contoh: :
DefInt DefInt I I- -N N
Berarti Berarti semua semua variabel variabel yang yang mulai mulai dengan dengan huruf huruf
I I hingga hingga N ( N (kapital kapital) ) merupakan merupakan intege intege
Keywords: Keywords:
DefBool DefBool DefDbl DefDbl
DefByte DefByte DefDate DefDate
DefInt DefInt DefStr DefStr
DefLng DefLng DefObj DefObj
DefSng DefSng DefVar DefVar
Nizam
User User- -defined data types defined data types
Kita Kita dapat dapat mendefinisikan mendefinisikan jenis jenis data data sendiri sendiri
Contoh Contoh: :
Type Type Mahasiswa Mahasiswa
nama nama As String As String
nomhs nomhs As Integer As Integer
angkatan angkatan As Integer As Integer
tglLhr tglLhr As Date As Date
End Type End Type
Mahasiswa.nama Mahasiswa.nama = = Ahmad Ahmad Musa Musa
Mahasiswa.nomhs Mahasiswa.nomhs = 22718 = 22718
Mahasiswa.angkatan Mahasiswa.angkatan = 2002 = 2002
Mahasiswa.tglLhr Mahasiswa.tglLhr = #01/01/1985# = #01/01/1985#
Nizam
Variabel Variabel array array
Variabel Variabel matriks matriks dan dan vektor vektor dapat dapat
dideklarasikan dideklarasikan dengan dengan variabel variabel array array
Cara: Cara:
Dim mhs(200) As String Dim mhs(200) As String
mhs(0) = mhs(0) = Bambang Bambang Yuwono Yuwono
mhs(100) = mhs(100) = Banowati Banowati Ipit Ipit
Catatan Catatan: : bisa bisa Option Base 1 Option Base 1 mulai mulai dari dari
larik larik 1 1
Atau Atau Dim vektor(50 to 100) As Double Dim vektor(50 to 100) As Double
Dim matriks(1 to 50, 1 to 20) Dim matriks(1 to 50, 1 to 20)
Nizam
Array Array dinamis dinamis
Bila Bila ukuran ukuran array array belum belum diketahui diketahui, , bisa bisa
dideklarasikan dideklarasikan sebagai sebagai array array dinamis dinamis
Bila Bila dimensinya dimensinya diketahui diketahui bisa bisa dinyatakan dinyatakan
kemudian kemudian
Dim Dim myArray myArray() As Double () As Double

ReDim ReDim myArray(105) myArray(105)
ReDim ReDim akan akan me me- -reinisialisasi reinisialisasi nilai nilai variabel variabel dalam dalam
array array tersebut tersebut, , bila bila nilai nilai variabel variabel ingin ingin tak tak di di- -
reinisialisasi reinisialisasi: :
ReDim ReDim Preserve myArray(105) Preserve myArray(105)
Dimensi Dimensi array array bisa bisa diketahui diketahui dengan dengan
LBound(namaArray LBound(namaArray) ) indeks indeks bawah bawah
UBound(namaArray UBound(namaArray) ) indeks indeks atas atas
Nizam
contoh contoh
Sub Sub PerformCalculations PerformCalculations() ()
Dim Dim calcVal calcVal() As Double, () As Double, totVal totVal as Integer as Integer
. .
. .
. .
totVal totVal = = GetTotalValue GetTotalValue() ()
ReDim ReDim calcVal(totVal calcVal(totVal) )
. .
. .
End Sub End Sub
10
Nizam
konstanta konstanta
Konstanta Konstanta built built- -in in ada ada di di dalam dalam Excel Excel
untuk untuk properties properties dan dan methods methods berbagi berbagi
objects objects
Contoh Contoh: :
ActiveWIndow.WindowState ActiveWIndow.WindowState= =xlMaximized xlMaximized
User User- -defined constants defined constants
Public|Private Public|Private Const Const NamaKonstanta NamaKonstanta [ As Type] = expression [ As Type] = expression
Contoh Contoh: :
Public Const Public Const gravitasi gravitasi As Single As Single = 9.81 = 9.81
Nizam
Bagian Bagian 3 3
Ekspresi Ekspresi VBA VBA
Nizam
Apa Apa yang yang dibicarakan dibicarakan? ?
Struktur Struktur ekspresi ekspresi
Operator VBA Operator VBA
Bekerja Bekerja dengan dengan ekspresi ekspresi numerik numerik
Bekerja Bekerja dengan dengan ekspresi ekspresi tex tex/string /string
Bekerja Bekerja dengan dengan ekspresi ekspresi logika logika
Bekerja Bekerja dengan dengan ekspresi ekspresi tanggal tanggal
format format
Nizam
Struktur Struktur ekspresi ekspresi VBA VBA
Variabel Variabel = = statemen statemen tentang tentang variabel variabel
contoh contoh: :
energy = mass * ( energy = mass * (speedOfLight speedOfLight ^ 2) ^ 2)
operand < operand <asignment asignment> operand & > operand &
operator operator
Operand Operand harus harus menggunakan menggunakan jenis jenis variabel variabel
yang yang kompatibel kompatibel
Operator Operator harus harus sesuai sesuai dengan dengan jenis jenis data data
Nizam
Operator VBA Operator VBA
Aritmetik Aritmetik
+ + tambah tambah/plus /plus
- - kurang kurang/minus /minus
- - negasi negasi
* * kali kali
/ / bagi bagi
\ \ pembagian pembagian integer integer
^ ^ pangkat pangkat
Mod Mod modulus modulus 10 Mod 5 = 0 10 Mod 5 = 0
Konkatenasi Konkatenasi untuk untuk jenis jenis data string data string
Soft Soft & & ware ware
Nizam
Operator VBA Operator VBA
Pembanding Pembanding menghasilkan menghasilkan nilai nilai True True atau atau False False
= = sama sama dengan dengan 10=5 10=5 false false
> > Lebih Lebih besar besar dari dari
< < Lebih Lebih kecil kecil dari dari
>= >= Lebih Lebih besar besar atau atau sama sama dengan dengan
<= <= Lebih Lebih kecil kecil atau atau sama sama dengan dengan
<> <> Tidak Tidak sama sama dengan dengan
Like Like mirip mirip Jo?n Jo?n Like John Like John True True
11
Nizam
Operator Operator logika logika
Operator Operator logika logika menghasilkan menghasilkan nilai nilai True True atau atau
False False
And And e1 And e2 e1 And e2 T if both true T if both true
Eqv Eqv e1 e1 Eqv Eqv e2 e2 T if both T or both F T if both T or both F
Imp Imp e1 Imp e2 e1 Imp e2 F if e1 T and e2 F F if e1 T and e2 F
Or Or e1 Or e2 e1 Or e2 T if at least one is T T if at least one is T
Xor Xor e1 e1 Xor Xor e2 e2 F if both T or both F F if both T or both F
Not Not Not Not expr expr T if T if expr expr F F
Hierarki Hierarki: ^; ( : ^; (negasi negasi) ; * ) ; * dan dan /; /; \ \; Mod; + ; Mod; + dan dan - -; ;
&; comparison; Logical &; comparison; Logical
Nizam
Fungsi Fungsi matematik matematik
Fungsi Fungsi matematika matematika dasar dasar: :
Abs(x Abs(x) )
Atn(x Atn(x) )
Cos(x Cos(x) )
Exp(x Exp(x) )
Fix(x Fix(x) )
Hex(x Hex(x) )
Hex$(x Hex$(x) )
Int(x Int(x) )
Log(x Log(x) )
Oct(x Oct(x) )
Oct$(x Oct$(x) )
Rnd(x Rnd(x) )
Sgn(x Sgn(x) )
Sin(x Sin(x) )
Sqr(x Sqr(x) )
Tan(x Tan(x) )
Nizam
Fungsi Fungsi finansial finansial
Depresiasi Depresiasi sum sum- -of of- -year digits year digits suatu suatu aset aset SYD(cost SYD(cost, salvage, life, period) , salvage, life, period)
Depresiasi Depresiasi garis garis lurus lurus suatu suatu aset aset SLN(cost SLN(cost, salvage, life) , salvage, life)
Bunga Bunga periodik periodik pinjaman pinjaman atau atau investasi investasi Rate(nper Rate(nper, pmt, , pmt, pv pv, fv, type, guess) , fv, type, guess)
Nilai Nilai sekarang sekarang sejumlah sejumlah investasi investasi PV(rate PV(rate, , nper nper, pmt, fv, type) , pmt, fv, type)
Pembayaran Pembayaran pokok pokok pinjaman pinjaman untuk untuk masa masa
tertentu tertentu
PPmt(rate PPmt(rate, per, , per, nper nper, , pv pv, fv, type) , fv, type)
Pembayaran Pembayaran periodik periodik sejumlah sejumlah pinjaman pinjaman atau atau
investasi investasi
Pmt(rate,nper Pmt(rate,nper, , pv pv, fv, type) , fv, type)
Nett Nett present value present value serangkaian serangkaian investasi investasi NPV(rate NPV(rate, value1, value2, , value1, value2, ) )
Jumlah Jumlah periode periode investasi investasi atau atau pinjaman pinjaman NPer(rate NPer(rate, pmt, p, fv, type) , pmt, p, fv, type)
IRR yang IRR yang dimodifikasi dimodifikasi untuk untuk cash flow cash flow periodik periodik MIRR(values MIRR(values, , finance_rate finance_rate, ,
reinvest_rate reinvest_rate) )
Nilai Nilai internal rate of return internal rate of return serangkaian serangkaian cash cash- -
flows flows
IRR(values IRR(values, guess) , guess)
Pembayaran Pembayaran bunga bunga untuk untuk masa masa pinjaman pinjaman
tertentu tertentu
IPmt(rate,per,nper IPmt(rate,per,nper, , pv pv, fv, type) , fv, type)
Menghitung Menghitung nilai nilai masa masa depan depan dari dari investasi investasi atau atau
pinjaman pinjaman
FV(rate FV(rate, , nper nper, pmt, , pmt, pv pv, type) , type)
Menghitung Menghitung depresiasi depresiasi aset aset dengan dengan metode metode
double declining balance double declining balance
DDB(cost DDB(cost, salvage, life, period, , salvage, life, period,
factor) factor)
Nizam
Fungsi Fungsi string string
Dst Dst. .
karakter karakter sepanjang sepanjang length length dari dari string string mulai mulai start start Mid(string Mid(string, start, length) , start, length)
Menghilangkan Menghilangkan spasi spasi LTrim(string LTrim(string) )
Panjang Panjang karakter karakter Len(string Len(string) )
Posisi Posisi paling paling kiri kiri dari dari string string sbg sbg string string Left$(string Left$(string, length) , length)
Posisi Posisi paling paling kiri kiri dari dari string string sbg sbg varian varian Left(string Left(string, length) , length)
Mengubah Mengubah ke ke huruf huruf kecil kecil sbg sbg string string LCase$(string LCase$(string) )
Mengubah Mengubah ke ke huruf huruf kecil kecil sbg sbg varian varian LCase(string LCase(string) )
Posisi Posisi byte byte kejadian kejadian string1 string1 dalam dalam string2 string2
dihitung dihitung dari dari start start
InStrB(start InStrB(start, string1, string2) , string1, string2)
Posisi Posisi karakter karakter kejadian kejadian string1 string1 dalam dalam string2 string2
dihitung dihitung dari dari start start
InStr(star InStr(star, string1, string2) , string1, string2)
Konversi Konversi expression expression ke ke nilai nilai string string CStr(expression CStr(expression) )
Karakter Karakter ( (sebagai sebagai string) string) untuk untuk kode kode ANSI ANSI
charcode charcode
Chr$(charcode Chr$(charcode) )
Karakter Karakter ( (sbg sbg varian varian) ) untuk untuk kode kode ANSI ANSI charcode charcode Chr(charcode Chr(charcode) )
Karakter Karakter ANSI ANSI huruf huruf pertama pertama string string ASC(string ASC(string) )
Nizam
Bekerja Bekerja dengan dengan ekspresi ekspresi logika logika
Operator And Operator And
Expr1 And Expr2 Expr1 And Expr2 T T bila bila keduanya keduanya T T
Operator Or Operator Or
Expr1 Or Expr2 Expr1 Or Expr2 T T bila bila salah salah satu satu T T
Operator Operator XOr XOr
Expr1 Expr1 XOr XOr Expr2 Expr2 T T bila bila satu satu T T dan dan lainnya lainnya F F
Operator Operator Eqv Eqv
Expr1 Expr1 Eqv Eqv Expr2 Expr2 T T bila bila keduanya keduanya T T atau atau
keuanya keuanya F F
Operator Imp ( Operator Imp (Implikasi Implikasi) )
Expr1 Imp Expr2 Expr1 Imp Expr2 T T bila bila Expr2 T Expr2 T atau atau keduanya keduanya
F F
Nizam
Bekerja Bekerja dengan dengan tanggal tanggal
Tanggal Tanggal dalam dalam VBA VBA disimpan disimpan dalam dalam
bentuk bentuk rangkaian rangkaian angka angka, , dengan dengan 31 31
Desember Desember 1899 1899 sebagai sebagai awal awal
( (sembarang sembarang) ) sehingga sehingga 1 1 Januari Januari 1900 1900
adalah adalah 1; 366 1; 366 adalah adalah 31 31 Desember Desember 1900; 1900;
37,980 37,980 adalah adalah 25 25 Desember Desember 2003; 2003; dst dst. .
Saat Saat (jam, (jam, menit menit, , detik detik) ) dinyatakan dinyatakan dalam dalam
pecahan pecahan, , dengan dengan 0 0 adalah adalah tengah tengah malam malam; ;
0.5 0.5 adalah adalah tengah tengah hari hari
12
Nizam
Format Format
Untuk Untuk memformat memformat angka angka/string yang /string yang
muncul muncul bisa bisa digunakan digunakan perintah perintah
Format(expresi Format(expresi, format) , format)
Contoh Contoh: :
Format(Pemasukan Format(Pemasukan
Pengeluaran, Pengeluaran, currency currency ) )
Format(Now Format(Now, , medium time medium time ) )
Format(NoMhs Format(NoMhs, , 00000/TS 00000/TS ) )
Nizam
Bagian Bagian 4 4
Bekerja Bekerja dengan dengan Objects Objects
Nizam
kajian kajian
Pengertian Pengertian Object Object
Hiraki Hiraki object object
Bekerja Bekerja dengan dengan properti properti object object
Bekerja Bekerja dengan dengan metode metode object object
Menangani Menangani kejadian kejadian object object
Bekerja Bekerja dengan dengan koleksi koleksi object object
Browser object Browser object
Mereferensi Mereferensi pustaka pustaka object object tambahan tambahan
Memberikan Memberikan object object pada pada variabel variabel
Operator Is Operator Is
Bekerja Bekerja dengan dengan beberapa beberapa properties properties dan dan
methods methods
Object Object aplikasi aplikasi
Object windows Object windows
Nizam
Pengertian Pengertian object object
Object Object adalah adalah segala segala sesuatu sesuatu dalam dalam
aplikasi aplikasi Windows yang Windows yang dapat dapat dilihat dilihat
dan dan dimanipulasi/diubah dimanipulasi/diubah
Object Object bisa bisa berupa berupa satu satu object object atau atau
kumpulan kumpulan ( (collection collection) object ) object
Contoh Contoh: workbook, worksheet, : workbook, worksheet,
window, cell, range, window, cell, range, gambar gambar, , grafik grafik, ,
dsb dsb. .
Nizam
cara cara memanipulasi memanipulasi oject oject
Cara Cara memanipulasi memanipulasi object: object:
Mengubah Mengubah properties properties
Mengaktivasi Mengaktivasi method method yang yang terkait terkait dengan dengan
object object
Mendefinisi Mendefinisi prosedur prosedur yang yang dijalankan dijalankan saat saat
suatu suatu event event terjadi terjadi
Ilustrasi/analogi Ilustrasi/analogi
Komputer Komputer: : obj ect obj ect
Merek Merek, , jenis jenis prosesor prosesor: : property property
Menulis Menulis surat surat, main game: , main game: method method
Dihidupkan Dihidupkan, , dibuka dibuka, , dimatikan dimatikan: : event event
Nizam
Hirarki Hirarki object object
Object Object dalam dalam aplikasi aplikasi Office Office memiliki memiliki
hirarki hirarki dari dari yang paling yang paling umum umum
hingga hingga yang yang lebih lebih spesifik spesifik; ;
Object paling Object paling umum umum: Application : Application
object object program program itu itu sendiri sendiri. . Dalam Dalam
Excel Application object Excel Application object memiliki memiliki > >
15 objects 15 objects
13
Nizam
Objects Objects di di bawah bawah Application object Application object
Container Container untuk untuk fungsi fungsi- -fungsi fungsi
worksheet Excel worksheet Excel
WrosheetFunctio WrosheetFunctio
n n
Koleksi Koleksi dari dari semua semua workbooks yang workbooks yang
terbuka terbuka
Workbooks Workbooks Workbook Workbook
Kumpulan Kumpulan windows yang windows yang terbuka terbuka Windows Windows Window Window
Koleksi Koleksi nama nama- -nama nama yang yang ada ada dalam dalam
semua semua workbooks yang workbooks yang terbuka terbuka
Names Names Name Name
Kotak Kotak dialog yang built dialog yang built- -in in dalam dalam
Excel Excel
Dialogs Dialogs Dialog Dialog
Semua Semua file add file add- -in/ in/tambahan tambahan yang yang
ada ada dalam dalam Excel Excel
AddIns AddIns AddIn AddIn
Description Description Collection Collection Object Object
Nizam
Bekerja Bekerja dengan dengan object properties object properties
Sintaks Sintaks: : Object.Property Object.Property
Contoh Contoh: : Application.ActiveWindow Application.ActiveWindow
Masalah Masalah: :
Ada Ada beberapa beberapa propertes propertes yang yang juga juga
merupakan merupakan object object
Nizam
Properties .
ActiveMenuBar
ActiveWindow
Calculation
Etc.
Properties .
ActiveCell
Caption
DisplayGridlines
Etc.
Application Object
Window Object
Properties .
ColumnWidth
Font
Formula
Etc.
Range Object
Properties .
Italic
Name
Size
Etc.
Font Object
Application.ActiveWindow.ActiveCell.Font.Italic
sama dengan
ActiveCell.Font.Italic
Nizam
Menetapkan Menetapkan nilai nilai property property
Sintax Sintax: : Object.Property Object.Property = = value value
Value Value berupa berupa nilai nilai pernyataan pernyataan untuk untuk
menset menset property, property, bisa bisa berupa berupa : :
Numerik Numerik: : ActiveCell.Font.Size ActiveCell.Font.Size = 14 = 14
String: String: ActiveCell.Font.Name ActiveCell.Font.Name = = Arial Arial
Logika Logika: : ActiveCell.Font.Italic ActiveCell.Font.Italic = True = True
Nilai Nilai property property dapat dapat dicari dicari dengan dengan
variabel variabel = = Object.Property Object.Property
Nizam
Bekerja Bekerja dengan dengan methods methods
Method Method menggambarkan menggambarkan apa apa yang yang
dilakukan dilakukan object; object; contoh contoh: : metode metode
sort, pivot table, sort, pivot table, simpan simpan, , buka buka, , dsb dsb. .
Sintax Sintax: : Object.Method(arg1, arg2, Object.Method(arg1, arg2, ) )
contoh contoh: : ActiveWorkBook.Save ActiveWorkBook.Save
ActiveWorkBook.Close( ActiveWorkBook.Close(SaveChanges SaveChanges, ,
fileName fileName, , RouteWB RouteWB) )
Nizam
Mengelola Mengelola object events object events
Event Event adalah adalah segala segala sesuatu sesuatu yang yang
terjadi terjadi pada pada object, object, seperti seperti: :
membuka membuka workbook workbook adalah adalah event event
pada pada workbook workbook
Respons Respons terhadap terhadap event event yang yang terjadi terjadi
disebut disebut event handlers event handlers
Event handlers Event handlers akan akan dijalankan dijalankan bila bila
event event terjadi terjadi pada pada suatu suatu object object
14
Nizam
Contoh Contoh event handler event handler
' prosedur pemberian salam saat workbook dibuka ' prosedur pemberian salam saat workbook dibuka
' meminta nama pengguna ' meminta nama pengguna
Private Sub Workbook_Open() Private Sub Workbook_Open() event event membuka membuka
Workbook Workbook
Dim pesan, judul, Default, MyValue Dim pesan, judul, Default, MyValue
pesan = "Hi, siapa nama anda? " ' minta input pesan = "Hi, siapa nama anda? " ' minta input
nama. nama.
judul = "Salam pembuka" ' Set judul. judul = "Salam pembuka" ' Set judul.
Default = "tanpa nama" ' Set default. Default = "tanpa nama" ' Set default.
' Display pesan, judul, dan nilai default. ' Display pesan, judul, dan nilai default.
MyValue = InputBox(pesan, judul, Default) MyValue = InputBox(pesan, judul, Default)
MsgBox ("Assalamu'alaikum " + MyValue) MsgBox ("Assalamu'alaikum " + MyValue)
End Sub End Sub
Nizam
Mengelola Mengelola event event
Contoh Contoh: :
' prosedur pemberian salam saat workbook dibuka ' prosedur pemberian salam saat workbook dibuka
' meminta nama pengguna ' meminta nama pengguna
Private Sub Workbook_Open() Private Sub Workbook_Open() event event
membuka membuka wb wb
Dim pesan, judul, Default, MyValue Dim pesan, judul, Default, MyValue
pesan = "Hi, siapa nama anda? " pesan = "Hi, siapa nama anda? " ' minta ' minta
input nama. input nama.
judul = "Salam pembuka" judul = "Salam pembuka" ' Set ' Set
judul. judul.
Default = "tanpa nama" Default = "tanpa nama" ' Set default. ' Set default.
' Display pesan, judul, dan nilai default. ' Display pesan, judul, dan nilai default.
MyValue = InputBox(pesan, judul, Default) MyValue = InputBox(pesan, judul, Default)
MsgBox ("Assalamu'alaikum " + MyValue) MsgBox ("Assalamu'alaikum " + MyValue)
End Su End Sub b
Nizam
Bekerja Bekerja dengan dengan koleksi koleksi object object
Collection Collection adalah adalah himpunan himpunan objects yang objects yang serupa serupa; ;
seperti seperti WorkBooks WorkBooks Collection Collection merupakan merupakan koleksi koleksi
workbook yang workbook yang terbuka terbuka
Collection Collection juga juga merupakan merupakan object object sehingga sehingga
memiliki memiliki properties properties dan dan methods methods yang yang bisa bisa
dimanipulasi dimanipulasi
Anggota Anggota collection collection disebut disebut element element yang yang bisa bisa
diakses diakses dengan dengan namanya namanya atau atau dengan dengan index index
Contoh Contoh: :
Workbooks( Workbooks( Budget.xls Budget.xls ).Close ).Close
ActiveSheet.Picture(1).Copy ActiveSheet.Picture(1).Copy
Kalau Kalau tak tak diberi diberi index, index, diasumsikan diasumsikan semua semua
koleksi koleksi diperlakukan diperlakukan dengan dengan method yang method yang sama sama
Nizam
Object browser Object browser
Libraries
dan Project
Template
Code
Properties
Methods
Events
Nizam
Bekerja Bekerja dengan dengan object browser object browser
Menunjukkan Menunjukkan
objects objects yang yang ada ada
pada pada satu satu library, library,
properties, properties,
methods methods dan dan
events events yang yang terkait terkait
dengan dengan object object
Pencari object
Nizam
Memasukkan Memasukkan object object dalam dalamvariabel variabel
Sintax Sintax: : variableName variableName = = ObjectName ObjectName
Dim Dim budgetSheet budgetSheet As Object As Object
Set Set budgetSheet budgetSheet =_ =_
Workbooks( Workbooks( Budget.xls Budget.xls ).Worksheets( ).Worksheets( 2003 2003
Budget) Budget)
Lebih Lebih baik baik: :
Dim Dim budgetSheet budgetSheet As Worksheet As Worksheet
Set Set budgetSheet budgetSheet =_ =_
Workbooks( Workbooks( Budget.xls Budget.xls ).Worksheets( ).Worksheets( 2003 2003
Budget) Budget)
15
Nizam
Operator Is Operator Is
Kita Kita kadang kadang perlu perlu membandingkan membandingkan
beberapa beberapa objects, VBA objects, VBA menyediakan menyediakan
operator Is operator Is untuk untuk membandingkan membandingkan
dua dua objects objects
Hasil Hasil = = Object1 Object1 Is Is Object2 Object2
Object1 Object1 dan dan Object2 Object2 adalah adalah object object atau atau
variabel variabel, , bila bila sama sama, , hasil hasil akan akan True True, , bila bila
beda beda akan akan False False
Nizam
Bekerja Bekerja dengan dengan properties properties dan dan methods methods
yang yang banyak banyak (1/3) (1/3)
Contoh Contoh: :
Sub Sub FormatRange FormatRange() ()
Worksheets( Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ).Style = ).Style = Currency Currency
Worksheets( Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ).WrapText= True ).WrapText= True
Worksheets( Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ).Font.Size = 16 ).Font.Size = 16
Worksheets( Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ).Font.Bold = True ).Font.Bold = True
Worksheets( Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ).Font.Color = RGB(255, ).Font.Color = RGB(255,
0, 0) 0, 0)
Worksheets( Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ).Font.Name = ).Font.Name =
Arial Arial
End Sub End Sub
Nizam
Bekerja Bekerja dengan dengan properties properties dan dan methods methods
yang yang banyak banyak (2/3) (2/3)
Contoh Contoh yang yang lebih lebih baik baik: :
Sub FormatRange2() Sub FormatRange2()
With Worksheets( With Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ) )
.Style = .Style = Currency Currency
.WrapText= True .WrapText= True
.Font.Size = 16 .Font.Size = 16
.Font.Bold = True .Font.Bold = True
.Font.Color = RGB(255, 0, 0) .Font.Color = RGB(255, 0, 0)
.Font.Name = .Font.Name = Arial Arial
End With End With
End Sub End Sub
Nizam
Bekerja Bekerja dengan dengan properties properties dan dan methods methods
yang yang banyak banyak (3/3) (3/3)
Contoh Contoh yang yang lebih lebih baik baik lagi lagi: :
Sub FormatRange3() Sub FormatRange3()
With Worksheets( With Worksheets( Sheet1 Sheet1 ).Range( ).Range( B2:B5 B2:B5 ) )
.Style = .Style = Currency Currency
.WrapText= True .WrapText= True
With .Font With .Font
.Size = 16 .Size = 16
.Bold = True .Bold = True
.Color = RGB(255, 0, 0) .Color = RGB(255, 0, 0)
.Name = .Name = Arial Arial
End With End With
End With End With
End Sub End Sub
Nizam
Object Object aplikasi aplikasi
Application Object Application Object merupakan merupakan container container yang yang
berisi berisi semua semua oject oject dalam dalam aplikasi aplikasi yang yang
dijalankan dijalankan; object ; object ini ini memiliki memiliki beberapa beberapa
properties properties dan dan methods methods yang yang banyak banyak gunanya gunanya
Beberapa Beberapa contoh contoh
Application.ActivePrinter Application.ActivePrinter: : mengembalikan mengembalikan himpunan himpunan
printer driver yang printer driver yang tersedia tersedia
Application.ActiveWindow Application.ActiveWindow: : mengembalikan mengembalikan window yang window yang
sedang sedang aktif aktif
Application.Caption Application.Caption: : mengembalikan mengembalikan judul judul aplikasi aplikasi
Application.Dialogs Application.Dialogs: built : built- -in dialog yang in dialog yang ada ada dlm dlm aplikasi aplikasi
Application.Visible Application.Visible: : mengatur mengatur aplikasi aplikasi terlihat/tidak terlihat/tidak
Application.Width Application.Width: : lebar lebar window window aplikasi aplikasi
Application.Windows Application.Windows: : kumpulan kumpulan window window aplikasi aplikasi yang yang
aktif aktif
Nizam
Methods Methods pada pada Application Object Application Object
Application object Application object memiliki memiliki beberapa beberapa
methods, methods, diantaranya diantaranya
Application.Help Application.Help: : mendisplay mendisplay sistem sistem
Help Help aplikasi aplikasi
Application.Quit Application.Quit: : keluar keluar dari dari aplikasi aplikasi
Application.Repeat Application.Repeat: : mengulang mengulang kegiatan kegiatan
yang yang baru baru saja saja dilakukan dilakukan
Application.EnableCancelKey Application.EnableCancelKey
16
Nizam
Object Window Object Window
Menspesifikasi Menspesifikasi object window object window
Dengan Dengan indeks indeks, , atau atau dengan dengan
menuliskan menuliskan namanya namanya
Windows(1) Windows(1)
Windows( Windows( Nilai.xls Nilai.xls ), ), atau atau
ActiveWindow ActiveWindow window yang window yang saat saat ini ini
sedang sedang aktif aktif
Membuka Membuka window window baru baru
Window.NewWindow Window.NewWindow
Nizam
Object Window Object Window
Beberapa Beberapa properties object window properties object window
Window.Caption Window.Caption Window.Visible Window.Visible
Window.Height Window.Height Window.Width Window.Width
Window.Left Window.Left Window.WindowNumber Window.WindowNumber
Window.Top Window.Top Window.WindowState Window.WindowState
Window.UsableHeight Window.UsableHeight
Window.UsableWidth Window.UsableWidth
Beberapa Beberapa methods object window methods object window
Window.Activate Window.Activate
Windows( Windows( Nilai.xls Nilai.xls ).Activate ).Activate
Window.Close Window.Close
Window.LargeScroll(Down,Up,ToRight,ToLeft Window.LargeScroll(Down,Up,ToRight,ToLeft) )
Window.SmallScroll(Down,Up,ToRight,ToLeft Window.SmallScroll(Down,Up,ToRight,ToLeft) )
Nizam
Bagian Bagian 5 5
Mengendalikan Mengendalikan alur alur program program
Nizam
Apa Apa yang yang akan akan dibahas dibahas? ?
Pengendalian Pengendalian alur alur program program
If If Then Then
If If Then Then Else Else
Membuat Membuat keputusan keputusan ganda ganda
Fungsi Fungsi yang yang mengambil mengambil keputusan keputusan
Loops Loops
Do Do Loop Loop
For For Next Next
For Each For Each Next Next
Exit Exit
Nizam
Pengendalian Pengendalian alur alur program program
Alur Alur program program dikendalikan dikendalikan dengan dengan
logika logika pengambilan pengambilan keputusan keputusan (True (True
atau atau False) False)
If..Then If..Then
Langsung/sebaris Langsung/sebaris
If If condition condition Then Then statement statement
Dengan Dengan blok blok
If If condition condition Then Then
[ [statements statements] ]
End If End If
Nizam
Pengendalian Pengendalian alur alur program program
If If Then Then Else Else
Sintaks Sintaks
If If condition condition Then Then
[ [TrueStatements TrueStatements] ]
Else Else
[ [FalseStatements FalseStatements] ]
End If End If
Contoh Contoh: :
Function Function FutureValue(Rate FutureValue(Rate, , Nper Nper, Pmt, Frequency) , Pmt, Frequency)
If Frequency = If Frequency = Monthly Monthly Then Then
FutureValue FutureValue = = FV(Rate FV(Rate / 12, / 12, Nper Nper * 12, Pmt / 12) * 12, Pmt / 12) freq freq
monthly monthly
Else Else
FutureValue FutureValue = = FV(Rate FV(Rate / 4, / 4, NPer NPer * 4, Pmt / 4) * 4, Pmt / 4) freq freq
quarterly quarterly
End If End If
End Function End Function
17
Nizam
Keputusan Keputusan ganda ganda
Penggunaan Penggunaan operator And operator And dan dan Or Or
If If condition1 condition1 And And condition2 condition2 Then Then
[ [TrueStatements TrueStatements] ]
Else Else
[ [FalseStatements FalseStatements] ]
End If End If
Contoh Contoh: :
Function FutureValue2(Rate, Function FutureValue2(Rate, Nper Nper, Pmt, Frequency) , Pmt, Frequency)
If Frequency <> If Frequency <> Monthly Monthly And Frequency <> And Frequency <> Quarterly Quarterly Then Then
MsgBox MsgBox The The Frequeny Frequeny argument must be either argument must be either & & Monthly Monthly
or_ or_
Quarterly Quarterly ! !
Exit Function Exit Function
End If End If
If Frequency = If Frequency = Monthly Monthly Then Then
FutureValue2 = FutureValue2 = FV(Rate FV(Rate / 12, / 12, Nper Nper * 12, Pmt / 12) * 12, Pmt / 12) freq monthly freq monthly
Else Else
FutureValue2 = FutureValue2 = FV(Rate FV(Rate / 4, / 4, NPer NPer * 4, Pmt / 4) * 4, Pmt / 4) freq quarterly freq quarterly
End If End If
End Function End Function Nizam
Keputusan Keputusan ganda ganda
Penggunaan Penggunaan statement multi If statement multi If Then Then Else Else
If If condition1 condition1 Then Then
[ [condition1 condition1 TrueStatements TrueStatements] ]
ElseIf ElseIf condition2 condition2
[ [condition2 condition2 TrueStatements TrueStatements] ]
<etc.> <etc.>
Else Else
[ [FalseStatements FalseStatements] ]
End If End If
Contoh Contoh: :
Function FutureValue3(Rate, Function FutureValue3(Rate, Nper Nper, Pmt, Frequency) , Pmt, Frequency)
If Frequency = If Frequency = Monthly Monthly Then Then
FutureValue3 = FutureValue3 = FV(Rate FV(Rate / 12, / 12, Nper Nper * 12, Pmt / 12) * 12, Pmt / 12) freq monthly freq monthly
ElseIf ElseIf Frequency = Frequency = Quarterly Quarterly Then Then
FutureValue3 = FutureValue3 = FV(Rate FV(Rate / 4, / 4, NPer NPer * 4, Pmt / 4) * 4, Pmt / 4) freq quarterly freq quarterly
Else Else
MsgBox MsgBox The Frequency argument must be either The Frequency argument must be either & _ & _
Monthly Monthly or or Quarterly Quarterly ! !
End If End If
End Function End Function
Nizam
Keputusan Keputusan ganda ganda
Penggunaan Penggunaan Select Case Select Case
Select Case Select Case TestExpression TestExpression
Case Case FirstCaseList FirstCaseList
[ [FirstStatements FirstStatements] ]
Case Case SecondCaseList SecondCaseList
[ [SecondStatements SecondStatements] ]
<etc.> <etc.>
Case Case Else Else
[ [ElseStatements ElseStatements] ]
End Select End Select
Contoh Contoh: :
Function FutureValue4(Rate, Function FutureValue4(Rate, Nper Nper, Pmt, Frequency) , Pmt, Frequency)
Select Case Frequency Select Case Frequency
Case Case Monthly Monthly
FutureValue4 = FutureValue4 = FV(Rate FV(Rate / 12, / 12, Nper Nper * 12, Pmt / 12) * 12, Pmt / 12) freq freq
monthly monthly
Case Case Quarterly Quarterly
FutureValue3 = FutureValue3 = FV(Rate FV(Rate / 4, / 4, NPer NPer * 4, Pmt / 4) * 4, Pmt / 4) freq freq
quarterly quarterly
Case Else Case Else
MsgBox MsgBox The Frequency argument must be either The Frequency argument must be either & _ & _
Monthly Monthly or or Quarterly Quarterly ! !
End Select End Select
End Function End Function
Nizam
Keputusan Keputusan ganda ganda
Contoh Contoh lain: lain: mengubah mengubah nilai nilai angka angka ke ke huruf huruf
Function Function nilHuruf(nilAngka nilHuruf(nilAngka As Integer) As String As Integer) As String
Select Case Select Case nilAngka nilAngka
Case Is < 0 Case Is < 0
nilHuruf nilHuruf = = Salah Salah data data nilai nilai kurang kurang dari dari 0! 0!
Case Is < 50 Case Is < 50
nilHuruf nilHuruf = = F F
Case Is < 60 Case Is < 60
nilHuruf nilHuruf = = D D
Case Is < 70 Case Is < 70
nilHuruf nilHuruf = = C C
Case Is < 80 Case Is < 80
nilHuruf nilHuruf = = B B
Case Is <= 100 Case Is <= 100
nilHuruf nilHuruf = = A A
Case Else Case Else
nilHuruf nilHuruf = = Salah Salah! ! Nilai Nilai lebih lebih dari dari 100! 100!
End Select End Select
End Function End Function
Nizam
Fungsi Fungsi pengambil pengambil keputusan keputusan
Statement Statement IIf IIf (Inline If) (Inline If)
Sintaks Sintaks: : IIf IIf ( (condition condition, , TrueResult TrueResult, , FalseResult FalseResult) )
Function Function ProsesorCacat ProsesorCacat() As Boolean () As Boolean
ProsesorCacat ProsesorCacat = IIf((4195835 = IIf((4195835 (4195835/3145727) * 3145727), (4195835/3145727) * 3145727),
True, False) True, False)
End Function End Function
Fungsi Fungsi Choose Choose
Sintaks Sintaks: : Choose(index Choose(index, value1, value2, , value1, value2, ) )
Function Function NamaHari(noHari NamaHari(noHari As Integer) As String As Integer) As String
NamaHari NamaHari = = Choose(noHari Choose(noHari, , Ahad Ahad , , Senin Senin , , Selasa Selasa , , Rabu Rabu , , Kamis Kamis , ,
Jumat Jumat ,_ ,_ Sabtu Sabtu ) )
End Function End Function
Nizam
Fungsi Fungsi pengambil pengambil keputusan keputusan
Fungsi Fungsi Switch Switch
Sintaks Sintaks: Switch( : Switch(expr1, value1, value2 expr1, value1, value2, , ) )
Function NilHuruf2(nilAngka As Integer) As String Function NilHuruf2(nilAngka As Integer) As String
NilHuruf2 = NilHuruf2 = Switch(nilAngka Switch(nilAngka < 0 < 0 Error <0 Error <0 ,_ ,_
nilAngka nilAngka < 50, < 50, F F ,_ ,_
nilAngka nilAngka < 60, < 60, D D ,_ ,_
nilAngka nilAngka < 70, < 70, C C ,_ ,_
nilAngka nilAngka < 80, < 80, B B ,_ ,_
nilAngka nilAngka <= 100, <= 100, A A ,_ ,_
nilAngka nilAngka > 100, > 100, Error > 100 Error > 100 ) )
End Function End Function
18
Nizam
Pengulangan Pengulangan - - loop loop
Struktur Struktur Do Do Loop Loop
Sintaks Sintaks: :
Do While Do While condition condition check check dulu dulu baru baru loop loop
[statement] [statement] dilakukan dilakukan selama selama kondisi kondisi T T
Loop Loop
Do Do lakukan lakukan dulu dulu baru baru check check
[statement] [statement]
Loop While Loop While condition condition diulang diulang bila bila kondisi kondisi T T
Do Until Do Until condition condition check check dulu dulu baru baru loop loop
[ [statemnt statemnt] ] dilakukan dilakukan selama selama kondisi kondisi F F
Loop Loop
Do Do dilakukan dilakukan dulu dulu baru baru check check
[statement] [statement]
Loop Until Loop Until condition condition diulang diulang bila bila kondisi kondisi masih masih F F
Nizam
Pengulangan Pengulangan - - loop loop
Contoh Contoh
Sub Sub BigNumbers BigNumbers() ()
Dim Dim rowNum rowNum As Integer, As Integer, colNum colNum As Integer, As Integer, currCell currCell As As
Range Range
rowNum rowNum = = ActiveCell.Row ActiveCell.Row
colNum colNum = = ActiveCell.Column ActiveCell.Column
Set Set currCell currCell = = ActiveSheet.Cells(rowNum ActiveSheet.Cells(rowNum, , ColNum ColNum) )
Do While Do While currCell.Value currCell.Value <> <>
If If IsNumeric(currCell.Value IsNumeric(currCell.Value) Then ) Then
If If currCell.Value currCell.Value >= 1000 Then >= 1000 Then
currCell.Font.Color currCell.Font.Color = = VBAColor( VBAColor( magenta magenta ) )
End If End If
rowNum rowNum = = rowNum rowNum + 1 + 1
Set Set currCell currCell = = ActiveSheet.Cells(rowNum ActiveSheet.Cells(rowNum, , colNum colNum) )
Loop Loop
End Sub End Sub
Nizam
For For Next Next
Loop Loop dengan dengan For For Next Next
Sintaks Sintaks: For : For counter = start counter = start To To end [ end [inkremen inkremen] ]
[statement] [statement]
Next [ Next [counter counter] ]
Sub Sub LoopTest LoopTest() ()
Dim counter As Integer Dim counter As Integer
For counter = 1 To 10 For counter = 1 To 10
Application.StatusBar Application.StatusBar = = Counter value: Counter value: & &
counter counter
Application.Wait Application.Wait Now + Now +
TimeValue( TimeValue( 00:00:01 00:00:01 ) )
Next counter Next counter
Application.StatusBar Application.StatusBar = False = False
End Sub End Sub
Nizam
For Each For Each Next Next
Loop Loop dengan dengan For Each For Each Next Next
Sintaks Sintaks: For Each : For Each element element In In group group
[statement] [statement]
Next [ Next [element element] ]
Sub Sub convertProper convertProper() ()
Dim Dim cellObject cellObject As Object As Object
For Each For Each cellObject cellObject In Selection In Selection
cellObject.Formula cellObject.Formula = =
Application.Proper(cellObject Application.Proper(cellObject) )
Next Next
End Sub End Sub
Nizam
Penggunaan Penggunaan Exit For Exit For atau atau Exit Do Exit Do
Kadang Kadang kita kita perlu perlu keluar keluar dari dari Loop Loop
Caranya Caranya: : gunakan gunakan Exit For Exit For atau atau Exit Do Exit Do
Sub BigNumbers2() Sub BigNumbers2()
Dim Dim rowNum rowNum As Integer, As Integer, colNum colNum As Integer, As Integer, currCell currCell As Range As Range
rowNum rowNum = = ActiveCell.Row ActiveCell.Row
colNum colNum = = ActiveCell.Column ActiveCell.Column
Set Set currCell currCell = = ActiveSheet.Cells(rowNum ActiveSheet.Cells(rowNum, , ColNum ColNum) )
Do While Do While currCell.Value currCell.Value <> <>
If If IsNumeric(currCell.Value IsNumeric(currCell.Value) Then ) Then
If If currCell.Value currCell.Value >= 1000 Then >= 1000 Then
currCell.Font.Color currCell.Font.Color = = VBAColor( VBAColor( magenta magenta ) )
End If End If
Else Else
Exit Do Exit Do bila bila bukan bukan angka angka keluar keluar dari dari
Do loop Do loop
End If End If
rowNum rowNum = = rowNum rowNum + 1 + 1
Set Set currCell currCell = = ActiveSheet.Cells(rowNum ActiveSheet.Cells(rowNum, , colNum colNum) )
Loop Loop
End Sub End Sub
Nizam
Tugas Tugas - - 1 1
Salah Salah satu satu cara cara untuk untuk mencari mencari akar akar
persamaan persamaan f f adalah adalah dengan dengan metode metode
Newton Newton
Bila Bila f(x f(x) = ) = 0 0 adalah adalah fungsi fungsi yang yang akan akan dicari dicari
akarnya akarnya, , dan dan x x
n n
adalah adalah perkiraan perkiraan akar akar f(x f(x) )
maka maka pendekatan pendekatan nilai nilai akar akar persamaan persamaan
berikutnya berikutnya dapat dapat dicari dicari dengan dengan rumus rumus
x x
n+1 n+1
= = x x
n n
f(x f(x
n n
)/ )/f f (x (x
n n
) )
Di Di mana mana f f (x (x
n n
) ) adalah adalah nilai nilai turunan turunan fungsi fungsi di di x x
n n
Tuliskan Tuliskan prosedur prosedur dalam dalam VBA VBA untuk untuk
mencari mencari akar akar fungsi fungsi f(x f(x) = 0 ) = 0 yang yang
merupakan merupakan fungsi fungsi yang yang dapat dapat
didefinisikan didefinisikan dalam dalam program (user program (user- -
defined) defined)
19
Nizam
Tugas Tugas - - 2 2
Buat Buat sekumpulan sekumpulan program program dan dan
fungsi fungsi untuk untuk melakukan melakukan operasi operasi
bilangan bilangan komplex komplex: : penjumlahan penjumlahan, ,
pengurangan pengurangan, , perkalian perkalian, , pembagian pembagian
Nizam
Tugas Tugas 3 3
Buat Buat satu satu program program aplikasi aplikasi VBA excel VBA excel
untuk untuk bidang bidang teknik teknik
sipil/fisika/mekanika sipil/fisika/mekanika

Anda mungkin juga menyukai