Top Banner

of 22

Percabangan dalam visual basic

Oct 18, 2015

Download

Documents

fatkhurhero

ini adalah makalah tentang percabangan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

PERCABANGANA. PendahuluanPercabangan adalah suatu permasalahan yang seringkali ditemui dalam pembuatan program, Percabangan adalah suatu pemilihan statemen-statement atau perintah-perintah yang akan di jalankan didasarkan atas kondisi tertentu..Statemen atau perintah tertentu akan dijalankan apabila memenuhi ketentuan yang telah didefinisikan sebelumnya. Selain struktur percabangan pada bahasa pemrograman juga ada struktur lain yaitu struktur perulangan. Perulangan digunakan untuk menentukan bagian-bagian di dalam program yang akan di eksekusi berulang-ulang berdasarkan kondisi tertentu. Pada bab ini akan dibahas struktur percabangan dan perulangan yang terdapat pada bahasa pemrograman VB 2005 dan C# beserta contoh program masing-masing. Pada VB 2005, secara garis besar terdapat lima jenis struktur percabangan dan tiga jenis struktur perulangan, sedangkan pada C# terdapat tiga struktur percabangan dan empat struktur perulangan..

B. Struktur If .. Then Pada VB Struktur if merupakan kondisi yang paling sederhana, yaitu untuk membandingkan suatu kondisi tertentu. Jika kondisi tersebut benar, maka akan dijalankan ekspresi tertentu. Tetapi jika kondisi tersebut salah, ekspresi di dalam if tidak akan dijalankan, dan blok if akan dilompati.. Bentuk umum dari struktur ini adalah sebagai berikut :

Contohnya :

Pada contoh program diatas, kondisi digunakan untuk menyatakan kelulusan berdasarkan nilai dari konversi ke Integer (Cint) Text3.Text. Jika nilai pada Text3 lebih besar dari 60 maka Text4 menampilkan keterangan Lulus, tetapi jika kondisi tidak terpenuhi program berhenti tanpa menampilkan pesan.C. Struktur If Pada C#Pada C# statement if digunakan untuk menjalankan bagian program jika kondisi tertentu terpenuhi. Kondisi pada C# terdapat pada bagian yang di dahului dengan tanda ( dan di akhiri dengan tanda ) dan statement atau pernyataan jika kondisi terpenuhi tidak menggunakan statement then, melainkan menggunakan blok program.

Contohnya :

Sama seperti if..then pada VB 2005 disini contoh program untuk menguji kondisi nilai dari Text3. nilai Text3.text terlebih dahulu di konversi ke tipe data integer (Convert.ToInt16) dan dimasukkan ke variabel nilai yang telah didefinisikan sebelumnya. Selanjutnya nilai di lakukan pengecekan apakah lebih atau sama dengan 60. Apabila kondisi terpenuhi maka blok program akan dijalankan, tetapi apabila kondisi tidak terpenenuhi program akan berhenti. D. Struktur If .. ThenElse Pada VBKondisi If ..Then ..Else adalah pengembangan dari struktur percabangan if. Pada struktur ini kita bisa menentukan pernyataan (statement) lain yang akan dieksekusi jika kondisi pertama tidak memenuhi syarat. Bentuk umum dari struktur ini dalah sebagai berikut :

Lakukan langkah-langkah berikut untuk membuat program yang menggunakan struktur percabangan ifthenelse : Buat project baru

Buat nama project dan solution seperti terlihat pada tampilan berikut :

Klik OK

Sesaat akan tampil IDE Microsoft Visual Studio 2005. Pada solution explorer akan terlihat Solution Percabangan yang terdapat 1 project (Percabangan1). Kita dapat menambahkan project lain yang dibuat memakai C# untuk membahas struktur yang sama nantinya pada solution ini. Pada form1 atur property sebagai berikut :PropertiNilai

BackcolorWhite

FormBorderStyleFixed3D

StartPositionCenterScreen

TextPercabangan Dua Kondisi

Masukkan Label, Text, dan Button ke dalam form

Atur masing-masing objek sehingga terlihat seperti ditampilkan pada gambar di bawah ini :

Klik Ganda pada form1dan ketikkan kode program berikut ini

Pada Button1 (Proses), Klik ganda objek dan tuliskan kode program dibawah ini :

Pengujian kondisi pada program ini terdapat pada event TextBox3_Leave. Untuk menuliskan kode program pada event ini pertama-tama klik icon event pada kotak properties. Selanjutnya pada event leave klik ganda dan tuliskan kode program untuk menguji kondisi dan menjalankan pernyataan sesuai dengan kondisinya. Kode program pada event TextBox_leave adalah sebagai berikut :

Terakhir klik ganda pada button2 (Selesai) dan tuliskan kode program di bawah ini :

Klik Toolbar Start Debugging untuk mencoba progra,

Klik Button1 (proses), isi data-data untuk mencoba kondisi

Klik kembali Button1 (Proses) untuk mencoba nilai lainnya :

Klik kembali Button2 (Selesai) untuk keluar dari program

Simpan project .

Pada program diatas pengecekan kondisi dilakukan padaa saat kursor keluar atau meninggalkan TextBox3. Pada kondisi di cek apakah nilai lebih besar dari 60 (Cint(TextBox3.text))>60 (perintah Cint untuk konversi ke integer dari string). Apabila nilai pada textbox3 lebih dari 60, maka keterangan (TextBox4.text) akan menampilkan text=Lulus tetapi jika tidak TextBox4 akan menampilkan text =Tidak LulusE. Struktur If - Else Pada C#Pada C# pengembangan dari if statement menggunakan if-else. Dalam statement ini jika kondisi tidak terpenuhi maka akan mengeksekusi blok program pada bagian else. Bentuk umum struktur if-else ini adalah sebagai berikut :

Untuk membuat program yang sama dengan contoh program pada VB 2005 ikuti langkah-langkah berikut :

Buat project baru C#, dengan cara Klik kanan pada Solution

Sesaat akan tampil jendela Add New Project

Pada Project Type pilih Visual C#

Pilih Windows Application pada bagian Template

Ketikkan Percabangan01_CSharp pada TextBox Name

Klik OK

Sesaat akan tampil Project Percabangan01_CSharp pada Solution Explorer.

Pada Form1 ubah property BackgroundColor=White, StartPosition=CenterScreen, dan Text=Program Selection Statemen C# .

Untuk mebuat tampilan program yang sama dengan tampilan program pada VB 2005 lakukan langkah-langkah berikut ini : Aktifkan Form1 pada Project Percabangan1 (VB2005).

Pada form aktif blok semua kontrol dengan menggunakan tombol keyboard Ctrl + A

Selanjutnya lakukan klik kanan mouse dan pilih copy

Kemudian aktifkan kembali Form1 pada Project C#

Klik kanan pada sembarang tempat di Form. Klik kanan Mouse dan pilih Paste

Atur posisi masing-masing kontrol Label dan TextBox, dan juga Button

Pada semua TextBox ubah Property Enabled menjadi False

Klik ganda pada Button1 (Proses) dan tambahkan kode program berikut ini :

Selanjutnya klik pada TextBox3. Pilih Event Leave pada kotak Property. Lakukan klik ganda pada Event Leave TextBox3 dan tuliskan kode program berikut ini:

Terakhir pada Button2 (Selesai) klik ganda dan ketikkan kode program berikut :

Sebelum menjalankan program, terlebih dahulu ubah StartUp Project menjadi ( Percabangan01_CSharp.

Jalankan program dengan menggunakan Menu Debug ( Start Debugging :

Klik Button Proses, masukkan NPM dan nama

Masukkan Nilai dan klik tombol Tab

Ulangi langkah-langkah diatas untuk mencoba kondisi dengan memasukkan nilai yang berbeda

Klik Button2 (Selesai) untuk keluar dari program Simpan Project Logika program ini sama dengan program yang dibuat menggunakan VB2005. pengecekan kondisi juga dilakukan pada event yang sama yaitu TextBox3 Leave. Hanya statement then pada VB 2005 tidak digunakan pada C#. Pada C# statement then digunakan Blok program { dan }. Setiap akhir statement diakhiri dengan titik koma ; Pendeklarasian variabel, variabel diletakkan di belakang setelah tipe data. Konversi data menggunakan statement Convert (Convert.ToInt16(TextBox3.Text).F. Struktur IIf (,.) Pada VBStruktur Percabangan iif adalah bentuk yang sederhana dari percabangan if..thenelse. Pada struktur kondisi ini bagian kondisi dan pernyataan terdapat pada satu baris. Aturan penulisan struktur iif adalah sebagai berikut :

Sebagai contoh kode program kelulusan yang menggunakan if ..thenelse dapat diubah menjadi :

G. Struktur If..ThenElseIfThen Pada VBStruktur Percabangan ini digunakan untuk program yang mempunyai tiga atau lebih kondisi. Pada struktur ini di bagian terakhir juga terdapat else yang digunakan untuk menjalankan pernyataan dibawahnya jika semua kondisi tidak terpenuhi. Aturan penulisan struktur ini adalah :

Pada contoh program berikut ini kita akan membandingkan dua bilangan yaitu nilai 1 dan nilai 2. Berikut langkah-langah membuat Program Perbandingan Angka.

Pada Solution Percabangan, klik kanan, pilih ( Add ( New Project

Sesaat akan tampil jendela Add New Project

Pada Project Type pilih Visual Basic ( Windows

Pilih Windows Application pada bagian Template

Klik Ok

Pada Form1, atur properti sebagai berikut :

PropertiNilai

BackcolorWhite

FormBorderStyleFixed3D

StartPositionCenterScreen

TextProgram Perbandingan angka

Masukkan tiga Label, tiga TextBox, dan tiga button ke dalam form

Ubah property Text pada Label1 =Nilai1, Label2=Nilai2, dan Label3=Keterangan

Letakkan masing-masing Textbox di sisi kanan pada masing-masing Label (TextBox1 disisi kanan Label1, TextBox2 disisi kanan Label2, dan TextBox3 disisi kanan Label3).

Pada Masing-masing Button ubah properti Text menjadi :

KontrolProperti Nilai

Button1TextMulai

Button2TextProses

Button3TextSelesai

Atur posisi masing-masing Button sehingga terlihat seperti ditampilkan pada gambar berikut ini

Klik ganda Button1 (Mulai) dan ketikkan kode program sebagai berikut :

Kode pada button1 digunakan untuk mengosongkan text yang terdapat pada masing-masing TextBox, dan mengarqhkan kursor ke TextBox1 ( TextBox1.Focus() ). Button ini digunakan pertama kali atau pada saat pemakai ingin mencoba lagi membandingkan angka yang lain setelah membandingkan angka yang lain.

Pengecekan kondisi terdapat pada saat pemakai Mengklik Button Proses. Kode untuk pengecekan angka ini adalah :

Terakhir Klik ganda Button3 (Selesai) untuk menuliskan yang digunakan untuk keluar dari program :

Ubah StartUp Project menjadi ( Percabangan2.

Jalankan program dengan menggunakan Menu Debug ( Start Debugging :

Setelah tampil Form, Klik Button1 (Mulai).

Masukkan Nilai 1 dan Nilai 2

Klik Button2 (Proses).

Klik kembali Button1 (Mulai) untuk mencoba Nilai yang lain

Ulangi lagi langkah di atas untuk mencoba angka lainnya

Klik Button3 (Selesai) untuk keluar dari program

Simpan Form dan Project

H. Contoh Program Nilai Mahasiswa Untuk lebih memahami struktur percabangan If..thenelseifthen di bawah ini kita mencoba lagi membuat program untuk menentukan nilai huruf dan predikat seorang mahasiswa berdasarkan nilai angka yang diperolehnya. Untuk membuat program nilai ini, ikuti langkah-langkah di bawah ini :

Pada Solution Percabangan, klik kanan, pilih ( Add ( New Project

Sesaat akan tampil jendela Add New Project

Pada Project Type pilih Visual Basic ( Windows

Pilih Windows Application pada bagian Template

Pada Name ketikkan Percabangan3

Klik Ok

Pada Form1 project percabangan3, atur property PropertiNilai

BackcolorWhite

FormBorderStyleFixed3D

StartPositionCenterScreen

TextProgram Range Nilai

Selanjutnya masukkan lima Label, lima TextBox, dan dua Button ke dalam form

Ubah Text pada masing-masing Label Atur TextBox secara berurutan dari atas ke bawah sesuai dengan label masing-masing. Atur panjang masing-masing TextBox sesuai dengan kebutuhan

Terakhir ubah Text pada Button1 menjadi Mulai dan Button2=Selesai dan letakkan di bagian bawah form.

Klik ganda pada button1 (mulai) selanjutnya ketikkan kode program untuk mengosongkan textbox dan mengarahkan kursor

Pada Button2 (Selesai) tambahkan kode program untuk keluar dari aplikasi

Untuk menguji range nilai untuk menentukan nilai huruf dan predikat berdasarkan nilai angka, klik ganda Aktifkan TextBox3, selanjutnya pilih event LostFocus dan ketikkan program pengujian kondisi berikut ini :

Ubah StartUp Project menjadi ( Percabangan3.

Jalankan program dengan menggunakan Menu Debug ( Start Debugging :

Setelah tampil Form, Klik Button1 (Mulai).

Masukkan NPM, Nama dan Nilai Angka

Pada saat kursor keluar dari TextBox3 (LostFocus) kondisi akan di uji dan hasil dari proses akan ditampilkan pada TextBox4 dan TextBox5

Klik tombol Mulai untuk mencoba mengisi data dengan data lainnya

Klik tombol Selesai mengakhiri program.

I. Struktur Pengembangan if else Pada C#Pada C# struktur if..else juga dapat dipakai untuk banyak kondisi. Untuk kondisi yang lebih dari dua, maka kita dapat menambahkan statemen else sebelum if. Struktur pengembangan if..else adalah sebagai berikut :

Untuk contoh program perbandingan angka pada C# kode program nya dapat ditulis seperti potongan source code dibawah ini :

J. Percabangan dengan IfThenElse Berantai Percabangan tidak harus hanya memiliki satu kondisi, bisa juga percabangan memiliki banyak kondisi dengan banyak proses keputusan, hal ini sering dinamakan dengan percabangan berantai. Percabangan berantai secara umum ada dua macam yang dituliskan dengan:

(1) Jenis percabangan berantai dengan hanya satu kondisi yang bisa terpenuhi

If Then

else

if Then

else

if Then

Else

If Then

Else

--- Keputusan yang lain ---

End If

End If

End If

End If

(2) Jenis percabangan berantai dengan banyak kondisi yang harus dipenuhi.

If Then

if Then

if Then

Else

End If

End If

End If

Contoh 7: Menentukan nilai A,B,C,D,E dengan syarat nilai A>80, nilai B>65 dan kurang dari 81, nilai C>55 dan kurang dari 66, nilai D>40 dan kurang dari 56, dan nilai E kurang dari 41, dapat dituliskan dalam percabangan berantai sebagai berikut:

If nilai < 41 Then

nilaiHuruf = E

Else

If nilai < 56 ThennilaiHuruf = D

Else

If nilai < 66 Then

nilaiHuruf = C

Else

If nilai 60 Then

TextBox4.Text = "Lulus"

End If

If (kondisi)

{

Pernyataan_1

Pernyataan_2

Pernyataan_N

}

int nilai;

nilai=Convert.ToInt16(TextBox3.Text);

if (nilai>=60)

{

TextBox4.Text="Lulus";

}

If (kondisi) Then

Pernyataan 1;

Pernyataan 2;

..

Pernyataan N ;

else

Pernyataan 1;

Pernyataan 2;

..

Pernyataan N ;

End if

L

A

B

E

L

TextBox1

TextBox2

TextBox3

TextBox4

Button2

Button1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

TextBox1.Enabled = False

TextBox2.Enabled = False

TextBox3.Enabled = False

TextBox4.Enabled = False

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

TextBox1.Enabled = True

TextBox2.Enabled = True

TextBox3.Enabled = True

TextBox4.Enabled = True

TextBox1.Clear()

TextBox2.Clear()

TextBox3.Clear()

TextBox4.Clear()

TextBox1.Focus()

End Sub

Private Sub TextBox3_Leave(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles TextBox3.Leave

If CInt(TextBox3.Text) > 60 Then

TextBox4.Text = "Lulus"

Else

TextBox4.Text = "Tidak Lulus"

End If

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button2.Click

End

End Sub

If (kondisi)

{

Pernyataan_1

Pernyataan_N

}

Else

{

Pernyataan_1

Pernyataan_N

}

private void Button1_Click(object sender, EventArgs e)

{

TextBox1.Enabled = true;

TextBox2.Enabled = true;

TextBox3.Enabled = true;

TextBox4.Enabled = true;

TextBox1.Text = "";

TextBox2.Text = "";

TextBox3.Text = "";

TextBox4.Text = "";

TextBox1.Focus();

}

private void TextBox3_Leave(object sender, EventArgs e)

{

int nilai;

nilai = Convert.ToInt16(TextBox3.Text);

if (nilai >= 60)

{ TextBox4.Text = "Lulus";}

else

{ TextBox4.Text = "Tidak Lulus";}

}

private void Button2_Click(object sender, EventArgs e)

{

Close();

}

Variabel / Objek = IIf( [Kondisi], Statement (Kondisi Terpenuhi), Statement (Kondisi tidak terpenuhi) )

Private Sub TextBox3_Leave(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles TextBox3.Leave

TextBox4.Text = IIf(CInt(TextBox3.Text) > 60, "Lulus", "Tidak Lulus")

End Sub

If (kondisi_1) Then

Statement..

.

Elseif (kondisi_2) Then

Statement..

.

Elseif (kondisi_N) Then

Statement..

.

Else

Statement..

.

End If

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button1.Click

TextBox1.Clear()

TextBox2.Clear()

TextBox3.Clear()

TextBox1.Focus()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button2.Click

If CInt(TextBox1.Text) > CInt(TextBox2.Text) Then

TextBox3.Text = "Nilai 1 Lebih Besar Dari Nilai 2"

ElseIf CInt(TextBox1.Text) < CInt(TextBox2.Text) Then

TextBox3.Text = "Nilai 1 Lebih Kecil Dari Nilai 2"

Else

TextBox3.Text = "Nilai 1 Sama Dengan Nilai 2"

End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Button3.Click

End

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button1.Click

TextBox1.Clear()

TextBox2.Clear()

TextBox3.Clear()

TextBox4.Clear()

TextBox5.Clear()

TextBox1.Focus()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Button2.Click

End

End Sub

Private Sub TextBox3_LostFocus(ByVal sender As Object, ByVal e As

System.EventArgs) Handles TextBox3.LostFocus

Dim Nilai As Integer

Nilai = CInt(TextBox3.Text)

If Nilai = 85 Then

TextBox4.Text = "A"

TextBox5.Text = "Sangat Baik"

ElseIf Nilai >= 70 And Nilai < 85 Then

TextBox4.Text = "B"

TextBox5.Text = "Baik"

ElseIf Nilai >= 55 And Nilai < 70 Then

TextBox4.Text = "C"

TextBox5.Text = "Cukup Baik"

ElseIf Nilai >= 40 And Nilai < 55 Then

TextBox4.Text = "D"

TextBox5.Text = "Kurang Baik"

Else

TextBox4.Text = "E"

TextBox5.Text = "Gagal"

End If

End Sub

If (kondisi_1)

{

Statement..

}

Else if (kondisi_2) Then

{

Statement..

}

Else if (kondisi_N) Then

{

Statement..

}

Else

{

Statement..

.

}

private void Button2_Click(object sender, EventArgs e)

{

int Nilai1, Nilai2;

Nilai1 = Convert.ToInt16(TextBox1.Text);

Nilai2 = Convert.ToInt16(TextBox2.Text);

if (Nilai1 > Nilai2)

{

TextBox3.Text = "Nilai 1 Lebih Besar dari nilai 2";

}

else if (Nilai1 < Nilai2)

{

TextBox3.Text = "Nilai 1 Lebih kecil dari nilai 2";

}

else

{

TextBox3.Text = "Nilai 1 sama dengan nilai 2";

}

}

Select Case [Kondisi ..]

Case :

Statement

Case :

Statement

Case :

Statement

Case Else :

Statement

End Select

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

lstProgramBox.Items.Add("Bayar")

lstProgramBox.Items.Add("Gratis/Open source")

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

lstProgramBox.Items.Add("Bayar")

lstProgramBox.Items.Add("Gratis/Open source")

End Sub

switch (Kondisi)

{

case 0:

Statement

Statement

break;

case 1:

Statement

Statement

break;

case 2:

Statement

Statement

break;

case 3:

Statement

Statement

break;

case N:

Statement

Statement

break;

default :

Statement

Statement

break;

}

private void lstProgramBox_SelectedIndexChanged(object sender,

EventArgs e)

{

string strOutput = "";

switch (lstProgramBox.SelectedIndex)

{

case 0:

StrOutput = "Microsft Office \n

Microsoft Visual Studio \n

Microsoft SQL Server 2000";

break;

case 1:

strOutput = "Apache2Triad \n

Open Office \n

MySQL";

break;

default :

break;

}

lblOutput.Text = strOutput;

PAGE