30 Juli, 2009

Pelajaran - 3

Salah satu "Control Structure" adalah "If...Then...Else" yang digunakan untuk pemilihan. Sintak umum : "If...Then...Else"

======= S.1 ============
If Kondisi1Terpenuhi Then
LaksanakanPernyataanBlok1
End If

======= S.2 ============
If Kondisi1 Then
PernyataanBlok1
Else
PernyataanBlok2
End If

CATATAN
1. If diikuti pernyataan relasional, kondisional atau logikal yang menghasilkan nilai TRUE atau FALSE, misal: A > B

2. Pernyataan S.1, digunakan untuk pernyataan yang tidak mempunyai ingkaran. Bila Kondisi1 bernilai TRUE maka program akan melaksanakan PernyataanBlok1, jika bernilai FALSE, eksekusi akan dilanjutkan ke baris setelah pernyataan end if.

3. Pernyataan S.2 digunakan untuk kondisi yang memiliki ingkaran. Jika Kondisi1 bernilai TRUE, program akan melaksanakan pernyataanBlok1, sebaliknya, jika Kondisi1 bernilai FALSE, program akan melaksanakan pernyataanBlok2.

4. PernyataanBlok1 dan PernyataanBlok2 dapat berupa pernyataan "If...then..else" dan bentuk ini disebut dengan if berkalang (nested if)

Contoh penggunaan "if...then...else"
:
Ada tiga nilai yang ditampung pada variabel, A, B dan C. Buat program untuk mencari nilai terbesar dari ketiga bilangan tersebut.

Sebelum buat program, Dzaky design dulu logikanya.

1. A maksimum jika: A > B dan A > C
2. B Maksimum jika: A < B dan B > C
3. C Maksimum jika: C > A dan C > B

Pada pernyataan 1 menunjukkan adanya pernyataan relasional (A > B) yang bisa menghasilkan nilai TRUE atau FALSE dan pernyataan relasional (A > C) yang bisa bernilai TRUE atau FALSE. Gabungan kedua pernyataan relasional ini menghasilkan satu pernyataan logikal AND yang menghasilkan nilai TRUE jika kedua pernyataan relasional bernilai TRUE.

Pada pernyataan 2, B maksimum jika (A < B) dan (B > C). Pernyataan (A < B) adalah ingkaran dari ( A > B) pada pernyataan 1. Dengan demikian B akan menjadi calon maksimum jika pernyataan ( A > B) tidak terpenuhi dan selanjutnya B adalah maksimum jika (B > C) juga terpenuhi.

Pada pernyataan 3, C maksimum jika (C > A) dan (C > B). Pernyataan (C > A) menunjukkan bahwa ( A > B) pada pernyataan 1 tidak terpenuhi, dan (A < B) pada pernyataan 2 juga tidak terpenuhi. Sekarang tinggal pernyataan (C > B), dan ini sebenarnya adalah ingkaran dari pernyataan (B > C) yang ada pada pernyataan 2.

Kita rangkum:

A Maksimum jika : A > B, A > C
B Maksimum jika : not(A > B), B > C
C Maksimum jika : not(A > B), not(B > C)

not(A > B) dapat dianalogikan dengan ELSE dari (A > B).
not(B > C) dapat dianalogikan dengan ESLE dari (B > C).

Nah, sekarang Dzaky kerjakan !

Option Explicit
Dim a As Integer
Dim b As Integer
Dim c As Integer

Private Sub Command1_Click()
a = CInt(Val(Text1.Text))
b = CInt(Val(Text2.Text))
c = CInt(Val(Text3.Text))
If (a > b) Then
If (a > c) Then
Text4.Text = a
Else
Text4.Text = c
End If
ElseIf (b > c) Then '----------- ELSE dari ( a > b) == not ( a > b)
Text4.Text = b
Else
Text4.Text = c
End If
End Sub

Tidak ada komentar:

Posting Komentar