STRUKTUR KEPUTUSAN BAGIAN 2
STRUKTUR KEPUTUSAN (CASE)
1. Pengertian Struktur Keputusan
Struktur keputusan adalah struktur program yang melakukan
proses pengujian untuk mengambil suatu keputusan apakah suatu baris atau blok
instruksi akan diproses atau tidak. Pengujian kondisi ini dilakukan untuk
memilih salah satu dari beberapa alternatif yang tersedia.
a. Select Case Statement
Visual Basic menyediakan struktur Select case sebagai alternative
dari If..Then..Else untuk mengeksekusikan secara selektifbagi
sebuah pernyataan blok diantara banyak blok pernyataaan. Sebuah pernyataan Select Case menyediakan
kemampuan yang sama dengan If..Then..Else,
tapi dia membuat kode lebih mudah dibaca ketika tersedia beberapa pilihan.
Sebuah
struktur Select Case bekerja dengan
sebuah ekspresi pemeriksaan yang dievaluasisekali, pada bagian atas struktur .
visual Basic lalu membandingkan hasil ekspersi ini dengan nilai untuk setiap Case didalam struktur. Jika ada yang
cocok, maka mengeksekusi blok pernyataan yang terkait dengan Case
Select Case
[Kondisi]
Case [Ekspresi1]
[Statement1]
Case [Ekspresi2]
[Statement2]
...
Case Else
[Statement n]
End Select
Contoh Program 1:
1. Design Program
2. Pengaturan Propertis
NO
|
OBJEK
|
PROPERTIS
|
PENGATURAN
|
1
|
FROM 1
|
TEXT
|
Mini Market Semua Kita
|
2
|
LABEL1
|
TEXT
|
Cek Hadiah Sesuai Dengan Reward
|
3
|
LABEL2
|
TEXT
|
Jumlah Point Reward
|
4
|
LABEL3
|
TEXT
|
Hadiah
|
5
|
TEXTBOX1
|
TEXT
|
TxtJPR
|
6
|
TEXTBOX2
|
TEXT
|
TxtHadiah
|
7
|
BUTTON1
|
TEXT
|
Proses
|
|
|
NAME
|
BtnProses
|
8
|
BUTTON2
|
TEXT
|
Bersih
|
|
|
NAME
|
BtnBersih
|
9
|
BUTTON3
|
TEXT
|
Tutup
|
|
|
NAME
|
BtnTutup
|
3. Alur
Program
- Input Jumlah Point Reward.
- Klik Proses, maka akan tampil keterangan Hadiah sesuai point
reward.
Tabel Hadiah sebagai berikut:
Point
Reward
|
Hadiah
|
1000
|
Mug Cantik
|
1500
|
Boneka Cantik
|
2500
|
Kipas Angin
|
2500
|
Dispenser
|
4. Kode
Program
* Ketik
pada objek Button Proses sebagai berikut :
Private Sub btnproses_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btnproses.Click
Select Case Val(txtJPR.Text)
Case
Is <= 1000
txtHadiah.Text = "Mug Cantik"
Case
Is <= 1500
txtHadiah.Text = "Boneka Cantik"
Case
Is <= 2000
txtHadiah.Text = "Kipas Angin"
Case
Is <= 2500
txtHadiah.Text = "Dispenser"
Case
Else
txtHadiah.Text = "Tidak Ada"
End Select
End Sub
Private Sub btnbersih_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btnbersih.Click
txtJPR.Text = ""
txtHadiah.Text
= ""
End Sub
Private Sub btntutup_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btntutup.Click
End
End Sub
a. Select Case Dengan To
Digunakan untuk kondisi berupa range angka.
Bentuk Penulisan:
Select Case
[Kondisi]
Case [Nilai Awal1] to [Nilai
Akhir1]
[Statement 1]
Case [Nilai Awal2] to [Nilai Akhir2]
[Statement 2]
...
Case Else
[Statement n]
End Select
Contoh Program 2:
1. Mengunakan objek
pada contoh Program 1
2. Alur Program
- Input Jumlah Point Reward.
- Klik Proses, maka akan tampil keterangan Hadiah sesuai point
reward.
Tabel Hadiah sebagai berikut:
Point
Reward
|
Hadiah
|
500 – 1000
|
Mug Cantik
|
1001 – 1500
|
Boneka Cantik
|
1501 – 2000
|
Kipas Angin
|
2001 – 2500
|
Dispenser
|
* Ketik
pada objek Button Proses sebagai berikut :
Private Sub BtnProses_Click(ByVal sender As
System.Object, ...
Select Case
Val(TxtJPR.Text)
Case 500 To 1000
TxtHadiah.Text = "Mug Cantik"
Case 1001 To 1500
TxtHadiah.Text
= "Boneka Cantik"
Case 1501 To 2000
TxtHadiah.Text
= "Kipas Angin"
Case 2001 To 2500
TxtHadiah.Text
= "Dispenser"
Case Else
TxtHadiah.Text
= "Tidak Ada"
End Select
End Sub
* Ketik
pada objek Button Bersih sebagai berikut :
Private Sub btnbersih_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btnbersih.Click
txtJPR.Text = ""
txtHadiah.Text
= ""
End Sub
* Ketik
pada objek Button Tutup sebagai berikut :
Private Sub btntutup_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles btntutup.Click
End
End Sub
Tampilan program
setelah dijalankan sebagai berikut :
Operator Logika
Pengambilan suatu keputusan tidak hanya dapat dilakukan untuk satu kondisi
pengujian, tetapi dapat dilakukan juga untuk beberapa kondisi pengujian. Untuk
melakukan proses pengambilan keputusan dari 2 atau lebih kondisi diperlukan
operator yang dapat menghubungkan kondisi-kondisi yang akan diuji tersebut.
Adapun Operator yang digunakan adalah:
And
And adalah operasi yang melakukan
pengecekan atas 2 kondisi atau variabel yang ada. Jika kedua kondisi bernilai true,
maka hasil operasi AND adalah true, selain itu false.
Or
Or adalah operasi yang melakukan
pengecekan atas 2 kondisi atau variabel yang ada. Jika salah satu kondisi
bernilai true, maka hasil operasi OR adalah true, selain itu false.
Not
Not adalah operasi yang melakukan
pengecekan atas 1 kondisi atau variabel yang ada. Jika kondisi bernilai true,
maka hasil operasi NOT adalah false, dan sebaliknya.
Contoh:
Membuat
Program untuk menentukan Lulus atau Gagal berdasarkan dua parameter nilai yaitu
Nilai Potensi Akademik dan Nilai Psikotes.
Program Operator Logika:
2. Pengaturan Propertis
NO
|
OBJEK
|
PROPERTIS
|
PENGATURAN
|
||
1
|
FORM 1
|
TEXT
|
OPERATOR LOGIKA
|
||
2
|
LABEL1
|
TEXT
|
Hasil Tes Penerimaan Pegawai
|
||
3
|
LABEL2
|
TEXT
|
Nilai Potensi Akademik
|
||
4
|
LABEL3
|
TEXT
|
Nilai psikotes
|
||
5
|
LABEL4
|
TEXT
|
Hasil
|
||
6
|
TEXTBOX1
|
NAME
|
TXTNPA
|
||
7
|
TEXTBOX1
|
NAME
|
TXTNPS
|
||
8
|
TEXTBOX1
|
NAME
|
TXTHASIL
|
||
9
|
BUTTON1
|
TEXT
|
Proses
|
||
|
|
NAME
|
BtnProses
|
||
10
|
BUTTON2
|
TEXT
|
Bersih
|
||
|
|
NAME
|
BtnBersih
|
||
11
|
BUTTON3
|
TEXT
|
Tutup
|
||
|
|
NAME
|
BtnTutup
|
||
3. Alur Program
- Input Nilai Potensi
Akademik dan Nilai Psikotes
- Klik Proses, maka akan tampil Keterangan LULUS atau GAGAL pada
hasil. Pengujiannya sebagai berikut:
Jika
Nilai Potensi Akademik 85 keatas DAN Nilai Psikotes 75 keatas maka hasil:
“LULUS” selain itu hasil: “GAGAL”
4. Kode
Program
Ketik
pada objek Button Proses sebagai berikut :
Private Sub BtnProses_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles BtnProses.Click
If
TXTNPA.Text >= 85 And TXTNPs.Text >= 75 Then
TXTHasil.Text = "LULUS"
Else
TXTHasil.Text = "GAGAL"
End If
End Sub
*Operator OR
v Ketik
pada objek Button Proses sebagai berikut :
Private Sub BtnProses_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles BtnProses.Click
If
TXTNPA.Text >= 85 OR TXTNPs.Text >= 75 Then
TXTHasil.Text = "LULUS"
Else
TXTHasil.Text = "GAGAL"
End If
End Sub
* Operator NOT
Ketik
pada objek Button Proses sebagai berikut :
Private Sub BtnProses_Click(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles BtnProses.Click
If
TXTNPA.Text >= 85 NOT TXTNPs.Text >= 75 Then
TXTHasil.Text = "LULUS"
Else
TXTHasil.Text = "GAGAL"
End If
End Sub
Komentar
Posting Komentar