materi 5 conditional
TRANSCRIPT
DECISIONMAKING PENGAMBILAN KEPUTUSAN
Pertemuan 5Komputer II VBA for Excel 2007 atau 2010
Asli Frilantika , March 11, 2012
PENGAMBILAN KEPUTUSAN
Seringkali kita dihadapkan pada masalah untuk mengambil keputusan terhadap dua alternatif atau bahkan lebih. Kita bisa mengambil keputusan oleh sutu kondisi yang kita evaluasi terlebih dahulu. Hal serupa juga dilakukan oleh komputer. Untuk keperluan ini VBA menyediakan dua macam pernyataan, yaitu:
1. IF -THEN
2. SELECT CASE
IF…THEN DAN IF …THEN …ELSEIf … then adalah suatu perintah penyeleksian yang akan dilakukan bila memenuhi kondisi, dengan beberapa syntax sebagai berikut:Untuk 1 kondisi 1 pernyataanIf <condition> then [statement]Contoh:If A > 10 Then A = A + 1
Untuk 1 kondisi tapi beberapa pernyataan dapat ditulis dalam 1 baris di pisah dengan colon (:)
If <condition> then [statement_1]: [Satatement_2]: [Statement_3]:[statement_n]AtauIf <condition> then [Statement_1][Statement_2][Statement_3][Statement_n]EndIf
Contoh:If A > 10 Then A = A + 1 : B = B + A : C = C + B
Untuk 1 kondisi dan 2 pernyataan
If <kondisi> then [pernyataan1]
Else[pernyataan2]
End If
Contoh:If A > 10 Then
B = B + 1 Else
B = B - 1End If
Untuk bebrapa kondisi dan beberapa pernyataanIf <kondisi1> then [Pernyataan1]
ElseIf <kondisi2> then[pernyataan2]
……ElseIf <kondisike-n> then [pernyataan ke-n ]
Else [pernyataan ke n+1]
End If
Contoh:
IF NA>=80 then
Hrf=“Lulus Amat baik ”
ElseIF NA>=70 then
Hrf=“Lulus baik ”
ElseIF NA>=60 then
Hrf=“Lulus Cukup”
ElseIF NA>=50 then
Hrf=“Lulus Kurang
Else
Hrf=“Tidak Lulus”
End IF
CONTOH IF THEN BANYAK KONDISI PADA VBA
Sub IfBanyakKondisi()Worksheets(1).ActivateCells.ClearContentsDim x As ByteCells(1, 1).Value = "Angka"Cells(1, 2).Value = "Huruf“For x = 1 To 5
Cells(1 + x, 1).Value = xIf x = 1 ThenCells(x + 1, 2) = "Satu"
ElseIf x = 2 ThenCells(x + 1, 2) = "Dua"
ElseIf x = 3 ThenCells(x + 1, 2) = "Tiga"
ElseIf x = 4 ThenCells(x + 1, 2) = "Empat"
ElseCells(x + 1, 2) = "Lima"
End IfNext x
End Sub
BUATLAH TAMPILAN DI EXCEL NAMA HARI DALAM SEMINGGU DAN NAMA BULAN DALAM SETAHUNGUNAKAN PENGULANAN DAN KONDISIONAL IF-THEN
Bulan ke Nama Bulan
1 Januari
2 Pebruari
3 Maret
4 April
5 Mei
6 Juni
7 Juli
8 Agustus
9 September
10 Oktober
11 Nopember
12 Desember
Hari ke Nama Hari
1 Ahad
2 Senin
3 Selasa
4 Rabu
5 Kamis
6 Jum’at
7 Sabtu
SELECT CASE… Menyeleleksi satu dari beberapa pernyataan yang bergantung pada suatu ekpresi
Syntax
Select Case testexpression[Case expressionlist-n[statements-n]] ...[Case Else[elsestatements]]
End Select
Select Case Kinerja Case 1
Bonus = Gaji* 0.1 Case 2
Bonus = Gaji* 0.2 Case 3
Bonus = Gaji* 0.3 Case 4
Bonus = Gaji* 0.5Case Is > 4
Bonus = Gaji* 1 Case Else
Bonus = 0 End Select
Sub LatSelectCase() Worksheets(1).Activate Dim A As Byte For A = 1 To 10 Cells(1 + A, 1).Value = A Select Case A Case 1 Cells(1 + A, 2).Value = "Satu" Case 2 Cells(1 + A, 2).Value = "Dua" Case 3 Cells(1 + A, 2).Value = "Tiga" Case 4
Cells(1 + A, 2).Value = "Empat"
Case 5 Cells(1 + A, 2).Value = "Lima" Case 6 Cells(1 + A, 2).Value = "Enam" Case 7 Cells(1 + A, 2).Value = "Tujuh" Case 8 Cells(1 + A, 2).Value = "Delapan" Case 9 Cells(1 + A, 2).Value = "Sembilan" Case 10 Cells(1 + A, 2).Value = "Sepuluh" End Select Next AEnd Sub
CONTOH PENGGUNAN SELECT CASE PADA VBA
Sub Pesan2()Dim Msg, Style, Title, Help, Ctxt, Response, MyStringMsg = "Mau melanjutkan?" ' mendefinisikan pesan.Style = vbYesNo + vbCritical + vbDefaultButton2 ' mendefinisikan tombol.Title = " Demonstarsi MsgBox " ' mendefinisikan Judul Pesan (Title).Help = "DEMO.HLP" ' Define Help file.Ctxt = 1000 'Definisi Topik"Response = MsgBox(Msg, Style, Title, Help, Ctxt) 'penampilan pesanIf Response = vbYes Then ' pengguna memilih tombol Yes. MyString = "Yes" ' melakukan beberapa aksi. Call pesan1 ' melakukan pemanggilan sub/prosedut pesan1Else ' pengguna memilih tombol No. MyString = "No" ' melakukan beberapa aksiEnd If
End Sub
TUGAS LATIHAN 5
Ubahlah Progeram kondisional If Then pada program sebelumnya dengan menggunakan Select Case
Buatlah program untuk mengkonversi suhu dengan Pilihan F,R,KGunakan pengulangan, kondisional dan msgbox dan input box
Sub NamaRange1()ActiveWorkbook.Names.Add Name:="Tabel1",_ RefersToR1C1:="=Sheet1!R1C1:R11C2" Range("Tabel1").Select With Selection
.Font.Bold = True .Font.ColorIndex = 7 .HorizontalAlignment = xlCenter .Borders.LineStyle = xlContinuous .Interior.ColorIndex = 10
End WithCells(1, 1).ActivateEnd Sub