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
Top Related