Bahasa Pemrograman 1 STRUKTUR KONTROL VB Chapter 03 bimocahyo
Pernyataan berkondisi atau kondisional statement adalah sebuah pernyataan yang menganalisa suatu keadaan dan mengambil keputusan berdasarkan pada hasil dari analisa tersebut. KONDISI
Digunakan untuk membandingkan suatu kondisi tertentu, jika kondisi tersebut benar, maka akan menjalankan ekpresi tertentu. Tetapi jika kondisi salah ekpresi didalam if tidak akan dijalankan. Syntaksnya sbb : If ( kondisi ) Then ……. Pernyataan………… End If KONDISI PERNYATAAN START STOP True False IF SEDERHANA
IF SEDERHANA Keterangan : Kondisi : kondisi yang dibandingkan kebenarannya. Pernyataan : kode-kode program yang akan dijalankan jika kondisi memenuhi syarat (bernilai True) Setiap pernyataan If diakhiri dengan penutup End If. Semua baris kode program yang terdapat di antara If dan End If ini disebut dengan blok program, dan akan dilaksanakan apabila kondisi yang dibandingkan bernilai benar (True). IF SEDERHANA
IF SEDERHANA Contoh: Private Sub Text1_Change() Dim pesan If (Text1.Text = "saya") Then Text2.Text = "saya" End If End Sub IF SEDERHANA
IF SEDERHANA Private Sub Form_Activate() Dim nama As String * 20 Dim banyak, harga, discount, jumlah, bayar As Long nama = InputBox("nama barang") banyak = InputBox("banyak barang") harga = InputBox("harga satuan") jumlah = banyak * harga If jumlah > 5000 Then discount = 0.1 * jumlah End If bayar = jumlah - discount Print "nama barang : " + nama Print "banyak barang :"; Format(banyak, "###,###,###") Print "Harga Satuan :"; Format(harga, "###,###,###") Print "Jumlah :"; Format(jumlah, "###,###,###") Print "discout :"; Format(discount, "###,###,###") Print "total :"; Format(bayar, "###,###,###") End Sub IF SEDERHANA
IF SEDERHANA
pada If … Else … kita bisa menentukan ekspresi lain yang akan dieksekusi jika kondisi yang dibandingkan oleh if tidak memenuhi syarat. Syntaksnya sbb : If ( kondisi ) Then Pernyataan 1 Else Pernyataan 2 End If KONDISI PERNYATAAN 2 PERNYATAAN 1 START STOP True False IF … ELSE…
IF … ELSE… Keterangan : Kondisi : kondisi yang dibandingkan Pernyataan 1 : kode-kode program yang akan dijalankan jika kondisi yang dibandingkan oleh If memenuhi syarat (bernilai True) Pernyataan 2 : kode-kode program yang dijalankan jika kondisi yang dibandingkan oleh If tidak memenuhi syarat (bernilai False) IF … ELSE…
IF … ELSE…
IF … ELSE… Dim sngBonus, sngPajak, sngGajiTotal As Single Private Sub Command1_Click() If (Text2.Text > 1000000) Then sngBonus = Text2.Text * 0.1 sngPajak = (Text1.Text + sngBonus) * 0.15 sngGajiTotal = Text1.Text + sngBonus - sngPajak Else sngBonus = 0 End If Text3.Text = sngBonus Text4.Text = sngPajak Text5.Text = sngGajiTotal End Sub Private Sub Command2_Click() End IF … ELSE…
Jika kondisi bernilai True IF … ELSE…
Jika kondisi bernilai False IF … ELSE…
ElseIf Digunakan untuk mengevaluasi banyak kondisi. Syntaksnya sbb : If ( kondisi1 ) Then Pernyataan 1 ElseIf ( kondisi2 ) Then Pernyataan 2 ElseIf ( kondisi3 ) Then pernyataan 3 …dst… Else ( Kondisi ke-n ) Then pernyataan ke-n End If ElseIf
Contoh ElseIf
ElseIf Contoh Private Sub cmdHitung_Click() Huruf.Enabled = True If Val(Nilai) >= 75 Then Huruf.Text = "A" ElseIf Val(Nilai) >= 65 Then Huruf.Text = "B" ElseIf Val(Nilai) >= 55 Then Huruf.Text = "C" ElseIf Val(Nilai) >= 45 Then Huruf.Text = "D" Else Huruf.Text = "E" End If Huruf.Enabled = False End Sub ElseIf
Contoh ElseIf
Digunakan untuk melakukan pemilihan kondisi yang jumlahnya banyak atau bertingkat tingkat. SELECT…CASE…
SELECT…CASE… SYNTAKS SELECT CASE Select Case ekspresi Case nilai : ……..Pernyataan1……. ……..Pernyataan2……. ……..Pernyataan3……. Case Else nilai : ……..Pernyataan4……. End Select SELECT…CASE…
SELECT…CASE… Keterangan : Ekspresi : ekspresi apa saja pada Visual Basic, misalnya nilai numerik, string, perhitungan dan sebagainya dengan syarat harus menghasilkan nilai integer atau string. Nilai : hasil dari ekspresi yang dapat berupa nilai integer atau string. Pernyataan-1, pernyataan-2, … : instruksi-instruksi yang akan dilakukan jika user memilih nilai yang sesuai. Case Else : jika memilih nilai lain dari yang terdapat pada variabel nilai, maka ekspresi pada case Else ini yang akan dijalankan. SELECT…CASE…
Contoh : SELECT…CASE…
SELECT…CASE… Dim intPilihan Private Sub cmdExit_Click() End End Sub Private Sub Text1_Change() intPilihan = Text1.Text Select Case intPilihan Case 1: Text2.Text = "Rp. 10.000,-" Case 2: Text2.Text = "Rp. 8.500,-" Case 3: Text2.Text = "Rp. 12.000,-" Case 4: Text2.Text = "Rp. 5.000,-" Case 5: Text2.Text = "Rp. 7.000,-" Case 6: Text2.Text = "Rp. 9.500,-" Case Else: Text2.Text = "Pilihan tidak ada....!!" End Select SELECT…CASE…
SELECT…CASE…
Pengulangan atau Loop sering juga disebut dengan iterasi adalah instruksi program yang memerintahkan suatu tugas diulang-ulang berdasarkan kondisi tertentu. Pengulangan ini dapat dikendalikan oleh aplikasi tergantung pada kondisi yang diinginkan PENGULANGAN
Melakukan pengulangan terus menerus selama (while) suatu kondisi memenuhi syarat atau bernilai True. Dan akan berhenti jika kondisi bernilai False. DO…WHILE… Syntaksnya sbb : Do While (kondisi) ekspresi… Loop
DO…WHILE… Keterangan : Kondisi : kondisi yang dibandingkan kebenarannya. Ekspresi : kode-kode program yang akan dijalankan jika kondisi memenuhi syarat (bernillai True) DO…WHILE… Contoh : intNilai = 1 Do while (intNilai <= 5) intNilai = intNilai + 1 Loop
DO…WHILE… Contoh : Private Sub Text1_Change() Dim x, pesan x = Text1.Text Do While (x = "1") pesan = MsgBox("Looping", vbCritical, "Warning!") Loop End Sub DO…WHILE… Program ini akan error, karena ketika diketik angka 1, maka akan terus muncul msgbox…..
DO…WHILE… Contoh : Dim strNama(5) As String Dim intCounter As String Private Sub Command1_Click() End End Sub Private Sub Form_Load() intCounter = 1 Do While (intCounter <= 5) strNama(intCounter) = InputBox("Ketikan Nama ke-" + Str(intCounter), "Meninput Nama 5 Kali") List1.AddItem strNama(intCounter) intCounter = intCounter + 1 Loop DO…WHILE…
DO…WHILE… Kotak input ini akan ditampilkan sampai kondisi pada Do While tidak lagi memenuhi syarat (tidak lagi <=5)
DO…WHILE… Semua nama yang diinput disimpan pada variabel array strNama lalu ditampilkan pada List Box.
Do Until akan menjalankan blok program didalam loop selama kondisi yang dibandingkan tidak terpenuhi (False), baru kemudian setelah memenuhi syarat (True) program akan berhenti. Syntaksnya sbb : Do Until (kondisi) Pernyataan Loop DO…UNTIL…
DO…UNTIL… Keterangan : Kondisi : kondisi yang dibandingkan kebenarannya. ekspresi : kode-kode program yang akan dijalankan jika kondisi memenuhi syarat (bernillai False) DO…UNTIL… Contoh : intNilai = 1 Do Until (intNilai > 5) intNilai = intNilai + 1 Loop
DO…UNTIL… Contoh : Dim strNama(5) As String Dim intCounter As String Private Sub Command1_Click() End End Sub Private Sub Form_Load() intCounter = 1 Do Until (intCounter > 5) strNama(intCounter) = InputBox("Ketikan Nama ke-" + Str(intCounter), "Meninput Nama 5 Kali") List1.AddItem strNama(intCounter) intCounter = intCounter + 1 Loop DO…UNTIL…
Digunakan untuk mengulangi suatu perintah dalam jumlah yang ditentukan Syntaksnya sbb : For counter = nilaiAwal TO nilaiAkhir [Step kenaikan] ……..Pernyataan Next counter FOR…NEXT…
FOR…NEXT… Keterangan : counter : variabel integer yang digunakan untuk melakukan pengulangan. nilaiAwal : nilai awal variabel untuk memulai pengulangan. nilaiAkhir : nilai akhir variabel untuk menghentikan pengulangan. Jika nilai variabel counter sudah sama dengan nilai variabel nilaiakhir maka loop akan dihentikan. kenaikan : besarnya kenaikan yang dinginkan dalam pengulangan. ekspresi : instruksi-instruksi yang akan dilakukan jika kondisi memenuhi syarat. FOR…NEXT…
FOR…NEXT… Menjumlahkan nilai dari 1 sampai 10 intJumlah = 0 For intAngka = 1 To 10 intJumlah = intJumlah + intAngka Next intAngka Menjumlahkan nilai dari 1 sampai 100 dalam kelipatan 5 For intAngka = 1 To 100 Step 5 FOR…NEXT…
Contoh : Membuat program yang berfungsi menghitung jumlah semua angka dari nilai yang dimasukkan. FOR…NEXT…
FOR…NEXT… Dim intJumlah, intAngka As Integer Dim IntAwal, intAkhir As Integer Private Sub Command1_Click() intJumlah = 0 IntAwal = Text1.Text intAkhir = Text2.Text For intAngka = IntAwal To intAkhir intJumlah = intJumlah + intAngka Next intAngka Text3.Text = intJumlah End Sub Private Sub Command2_Click() Unload Me End FOR…NEXT…
Hasil FOR…NEXT…
FOR…NEXT… Contoh menghitung Pemangkatan. Atur Properti kontrol-kontrol pada form : Kontrol Properti Nilai Form1 Caption Menghitung Pangkat Label1 Angka Label2 Pangkat Label3 Hasil TextBox1 Name Text txtAngka <kosongkan> TextBox2 txtPangkat TextBox3 txtHasil Command1 cmdHitung Hitung Command2 cmdExit Exit FOR…NEXT…
Contoh menghitung Pemangkatan FOR…NEXT…
FOR…NEXT… Dim Angka, Pangkat As Integer Private Sub cmdHitung_Click() Dim i As Integer Dim B As Integer B = 1 Angka = Val(txtAngka.Text) Pangkat = Val(txtPangkat.Text) If Pangkat = 0 Then txtHasil.Text = 1 ElseIf Pangkat = 1 Then txtHasil.Text = Angka ElseIf Pangkat > 0 Then For i = 1 To Abs(Pangkat) B = B * Angka Next txtHasil.Text = Str(B) Else txtHasil.Text = Str(1 / B) End If End Sub Private Sub Command1_Click() End FOR…NEXT…
Hasil setelah program dijalankan FOR…NEXT…
Untuk keluar dari loop baik pada do while, do until maupun for next dapat dilakukan dengan perintah “Exit” Contoh : Exit Do Exit For KELUAR PENGULANGAN For intCounter = 1 To 10 ‘--- kode-kode VB lain--- If (txtPenjualan.Text = 0) Then Exit For End IF ‘--- Kode-kode VB Lain --- Next intCounter
Pengertian Public dan Private Akses Pernyataan [Public | Private] menentukan ruang lingkup (scope) prosedur/fungsi. Sebuah prosedur/fungsi dengan scope public bisa digunakan dalam lingkup project. Sedangkan prosedur/fungsi dengan scope private hanya bisa digunakan dalam lingkup form saja PROSEDUR dan FUNGSI
Prosedur adalah sebuah rutin program yang mampu menerima berbagai nilai atau data namun tidak ada nilai yang dikembalikan. Bentuk penulisan (syntax) prosedur : [Public | Private] Sub <nama_sub> ([<argumen>]) … <isi procedure> End Sub PROSEDUR
Contoh : Private Sub Command3_Click() Unload Me End Sub PROSEDUR
Fungsi adalah sebuah rutin program yang mampu menerima berbagai nilai atau data dan memberikan suatu hasil tertentu. Bentuk penulisan (syntax) fungsi : [Public | Private] Function <nama_function> ([<argumen>]) As <tipe_data> … <isi procedure> End Function FUNGSI
<nama_sub> atau <nama_function> dibuat sebagai pengenal procedure saat di-‘panggil’. Aturan penamaan sebuah procedure sama dengan aturan penamaan sebuah variabel. Nama sebuah procedure dibuat unik, tidak boleh ada yang sama. <argumen> merupakan serangkaian nilai dan tipe data yang dipakai oleh procedure untuk mengerjakan ‘tugas’-nya. Sebuah procedure bisa saja tidak memakai argumen sama sekali. Pernyataan As <tipe_data> pada procedure function menentukan tipe data nilai yang akan dikembalikan(return value) setelah ‘tugas’-nya selesai. FUNGSI
FUNGSI CONTOH FUNGSI Function Bulan(x As Date) End Function Dim sRet As String Select Case Month(x) Case 1: sRet = "Januari" Case 2: sRet = "Februari" Case 3: sRet = "Maret" Case 4: sRet = "April" …….. Case 12: sRet = "Desember" Case Else sRet = "tidak sah" End Select Bulan = sRet End Function FUNGSI
Pemanggilan : PROSEDUR dan FUNGSI Untuk menggunakan sebuah prosedur, maka prosedur tersebut harus di-‘panggil’ pada bagian tertentu dari kode program. Call <nama_sub>([<argumen>]) Sedangkan fungsi bisa di-‘panggil’ langsung dengan menyisipkannya di dalam kode program yang memanggilnya PROSEDUR dan FUNGSI
Contoh : Private Sub Command1_Click() Call box1 End Sub Private Sub box1() Dim msg Text1.Text = "fungsi box1" msg = MsgBox("Fungsi Box1", vbOKCancel, "Call Function") End Sub PROSEDUR dan FUNGSI
Hasilnya: PROSEDUR dan FUNGSI
Terima Kasih