PRAKTIKUM 2 KONDISI DAN PILIHAN
I.
TUJUAN Tujuan praktikum 2 adalah mahasiswa bisa membuat program yang mengandung pengambilan keputusan berdasarkan suatu kondisi dan pilihan. Ada 3 program yang akan disusun, pertama mengenai penggunaan statement If – Then menentukan kelulusan. Program kedua adalah penggunaan statement Select – Case untuk konversi nilai dari nilai angka menjadi nilai huruf. Program ketiga adalah aplikasi statement If – Then dalam menghitung akar-akar persamaan kuadrat. II.
PROGRAM 1
A. DESAIN TAMPILAN Program 1 dibuat untuk menentukan kelulusan dari nilai yang diinputkan. Tampilan dibuat sederhana yaitu ada tempat untuk memasukkan nilai dan tempat untuk menampilkan hasil (lulus atau tidak lulus) dari nilai yang telah diinputkan. Jalankan software VB 6.0 sampai muncul sebuah form kosong. Aturlah ukuran form dan letakkan beberapa kontrol seperti desain tampilan pada gambar 2.1.
Label1 Text1 Command1
Label2
Form1
Frame1
Command2
Text2
Gambar 2.1. Desain tampilan program 1 Kondisi dan Pilihan. Rubahlah nilai-nilai property form dan kontrol yang telah dipasang pada form sebagai berikut : Form1 Property Name Caption
Nilai FKondisi1 Kondisi : If-Then
9
Praktikum 2 : Kondisi Dan Pilihan 10 Label1 Property Alignment Caption Font Fore color
Nilai 2 – Center MENETUKAN KELULUSAN Font : Arial, Font style : Bold, Size : 16 Pilih dalam tabulasi Palette : warna merah
Label2 Property Caption Font
Nilai Nilai : Size : 12
Text1 Property
Nilai
Name TAngka Text Font Size : 10 MaxLength 4 Frame1 Property Caption Font
Nilai Hasil Font style : Bold, Size : 10
Text2 Property Name Text Font
Nilai THasil Font style : Bold, Size : 12
Command1 Property Name Caption Font
Nilai CBOK OK Font : Arial, Font style : Bold, Size : 12
Command2 Property Name Caption Font
Nilai CBSelesai Selesai Font : Arial, Font style : Bold, Size : 12
Praktikum 2 : Kondisi Dan Pilihan 11 B. DESAIN PROGRAM Pada desain tampilan program seperti gambar 2.1, kontrol TextBox TAngka digunakan untuk menerima input suatu nilai dari user yang nilainya positif dan maksimum 100. Program akan memberikan respon jika user meng-klik salah satu dari 2 tombol berikut : • Tombol OK diklik, jika nilai yang diinputkan lebih besar atau sama dengan 60 maka pada tempat TextBox THasil akan muncul tulisan “Lulus” dan jika nilai kurang dari 60 THasil akan menampilkan tulisan “Tidak Lulus”. • Tombol Selesai digunakan untuk mengakhiri program dan menutup jendela program. C. LISTING PROGRAM Kode program yang dituliskan pada program 1 pada dasarnya adalah untuk menangani event-event yang terjadi jika tombol OK dan tombol Selesai diklik. Program akan memberikan respon setelah user meng-klik tombol OK atau tombol Selesai. Respon program dari nilai yang diinputkan dikendalikan melalui statement If – Then – Elseif – Else. Buatlah terlebih dahulu algoritma dan flowchart dari program 1. Listing program dari program 1 adalah sebagai berikut : Private Sub CBOK_Click() Dim Angka As Single Angka = TAngka.Text If Angka > 100 Then MsgBox "Masukkkan angka <= 100", vbExclamation, "Peringatan" TAngka.Text = "" ElseIf Angka < 0 Then MsgBox "Masukkkan angka >= 0", vbExclamation, "Peringatan" TAngka.Text = "" ElseIf Angka >= 60 Then THasil.Text = "Lulus" Else THasil.Text = "Tidak Lulus" End If End Sub Private Sub CBSelesai_Click() End End Sub
D. EKSEKUSI PROGRAM DAN PELACAKAN KESALAHAN Jalankan program 1, lakukan beberapa kali memasukkan input suatu nilai dan ujilah apakah program sudah sesuai dengan yang diinginkan. Program akan menghasilkan “Lulus” jika nilai yang diinputkan 60 dan “Tidak Lulus” jika nilai yang diinputkan < 60. Hasil program seperti ditunjukkan pada gambar 2.2.
Praktikum 2 : Kondisi Dan Pilihan 12
(a) (b) Gambar 2.2. Hasil eksekusi dari program 1, (a) memberikan hasil “Lulus”, (b) memberikan hasil “Tidak Lulus”. Lakukan pelacakan kesalahan jika hasil program dari nilai yang dimasukkan tidak seperti yang diinginkan dan betulkan kesalahan. Lakukan terus proses pelacakan kesalahan sampai tidak ada kesalahan lagi. III. PROGRAM 2 A. DESAIN TAMPILAN Program 2 dibuat untuk mendapatkan konversi dari nilai angka ke nilai huruf serta bobot dari nilai huruf tersebut. Tampilan dibuat mirip dengan program 1, hanya ada sedikit perubahan dan tambahan untuk menampilkan bobot nilai. Siapkan sebuah form kosong dan aturlah ukuran form. Letakkan beberapa kontrol seperti desain tampilan pada gambar 2.3.
Label1 Text1 Command1
Label2
Form1
Frame1 Label3
Text2
Label4
Text3 Command2
Gambar 2.3. Desain tampilan program 2 Kondisi dan Pilihan. Rubahlah nilai-nilai property form dan kontrol yang telah dipasang pada form sebagai berikut :
Praktikum 2 : Kondisi Dan Pilihan 13 Form1 Property Name Caption
Nilai FKondisi2 Pilihan : Select - Case
Label1 Property Alignment Caption Font Fore color
Nilai 2 – Center KONVERSI NILAI ANGKA KE NILAI HURUF Font : Arial, Font style : Bold, Size : 16 Pilih dalam tabulasi Palette : warna merah
Label2 Property Caption Font Text1
Nilai Nilai Angka : Size : 10
Property
Nilai
Name TAngka Text Font Size : 10 MaxLength 4 Frame1 Property Caption Font
Nilai Hasil Konversi Font style : Bold, Size : 10
Label3 Property Caption Font
Nilai Nilai Huruf : Size : 10
Label4 Property Caption Font
Nilai Bobot : Size : 10
Text2 Property Name Text Font
Nilai THuruf Font style : Bold, Size : 12
Praktikum 2 : Kondisi Dan Pilihan 14 Text3 Property Name Text Font
Nilai TBobot Font style : Bold, Size : 12
Command1 Property Name Caption Font
Nilai CBKonversi Konversi Font : Arial, Font style : Bold, Size : 12
Command2 Property Name Caption Font
Nilai CBSelesai Selesai Font : Arial, Font style : Bold, Size : 12
B. DESAIN PROGRAM Program 2 dibuat mirip dengan program 1 dengan desain tampilan seperti pada gambar 2.3. Kontrol TextBox TAngka digunakan untuk menerima input suatu nilai, tetapi hasil yang ditampilkan pada bagian output adalah merupakan konversi dari nilai angka yang diinputkan menjadi nilai huruf dan bobotnya setelah tombol Konversi di klik. Konversi nilai angka mengikuti aturan sebagai berikut : Nilai Angka (N) 80 < N 100 75 < N 80 69 < N 75 60 < N 69 55 < N 60 50 < N 55 44 < N 50 0 < N 44
Nilai Huruf A B+ B C+ C D+ D E
Bobot 4 3,5 3 2,5 2 1,5 1 0
C. LISTING PROGRAM Program 2 adalah modifikasi dari program 1. Perubahan dilakukan pada tombol OK menjadi tombol Konversi beserta perubahan penanganan event-nya. Respon program dari nilai yang diinputkan dikendalikan melalui statement Select Case. Buatlah terlebih dahulu algoritma dan flowchart dari program 2. Listing program untuk event klik tombol Konversi pada program 2 adalah sebagai berikut :
Praktikum 2 : Kondisi Dan Pilihan 15 Private Sub CBKonversi_Click() Dim Angka, Bobot As Single, Huruf As String Angka = TAngka.Text Select Case Angka Case Is > 100 MsgBox "Masukkan angka <= 100", vbExclamation, "Peringatan" Exit Sub Case Is > 80 Huruf = "A" Case Is > 75 Huruf = "B+" Case Is > 69 Huruf = "B" Case Is > 60 Huruf = "C+" Case Is > 55 Huruf = "C" Case Is > 50 Huruf = "D+" Case Is > 44 Huruf = "D" Case Else Huruf = "E" End Select THuruf.Text = Huruf TBobot.Text = Bobot End Sub
D. EKSEKUSI PROGRAM DAN PELACAKAN KESALAHAN Jalankan program 2, lakukan beberapa kali memasukkan input suatu nilai dan ujilah apakah program sudah sesuai dengan yang diinginkan. Program akan menghasilkan konversi dari nilai angka menjadi nilai huruf serta bobotnya sesuai dengan aturan yang telah diberikan sebelumnya. Hasil program seperti ditunjukkan pada gambar 2.4.
(a) (b) Gambar 2.4. Hasil eksekusi dari program 2, (a) konversi dari nilai 80 menghasilkan B+ dengan bobot 3,5, (b) konversi dari nilai 50 menghasilkan D dengan bobot 1. Lakukan pelacakan kesalahan jika hasil program dari nilai yang dimasukkan tidak seperti yang diinginkan dan betulkan kesalahan. Lakukan terus proses pelacakan kesalahan sampai tidak ada kesalahan lagi.
Praktikum 2 : Kondisi Dan Pilihan 16 IV. PROGRAM 3 A. DESAIN TAMPILAN Program 3 dibuat untuk menghitung akar-akar persamaan kuadrat. Pada desain tampilan dibuat ada bagian input dan bagian output. Pada bagian input didesain kotak input yang disusun dalam koefisien-koefisien persamaan kuadrat. Bagian output diletakkan di bawah bagian input untuk menampilkan akar-akar persamaan kuadrat. Siapkan sebuah form kosong dan aturlah ukuran form. Letakkan beberapa kontrol seperti desain tampilan pada gambar 2.5.
Form1
Label1
Frame1 Label4
Text2
Label2
Text3
Text1
Label5
Label3 Label6 Frame2
Label7
Label8 Command1 Command2 Gambar 2.5. Desain tampilan program 3 Kondisi dan Pilihan. Rubahlah nilai-nilai property form dan kontrol yang telah dipasang pada form sebagai berikut : Form1 Property Name Caption
Nilai FKondisi3 Kondisi
Label1 Property Alignment Caption Font Fore color
Nilai 2 – Center AKR-AKAR PERSAMAAN KUADRAT Font : Arial, Font style : Bold, Size : 16 Pilih dalam tabulasi Palette : warna merah
Praktikum 2 : Kondisi Dan Pilihan 17 Frame1 Property Caption Font
Nilai Input Koefisien Persamaan Kuadrat : Font style : Bold, Size : 10
Label2 Property Alignment Caption Font
Nilai 2 – Center Y= Font : Times New Roman, Font style : Bold Italic, Size : 20
Label3 Property Alignment Caption Font
Nilai 2 – Center X + Font : Times New Roman, Font style : Bold Italic, Size : 20
Label4 Property Alignment Caption Font
Nilai 2 – Center 2 Font : Times New Roman, Font style : Bold, Size : 14
Label5 Property Alignment Caption Font
Nilai 2 – Center X+ Font : Times New Roman, Font style : Bold Italic, Size : 20
Text1 Property Name Index Text Font
Nilai TKoef 0 Font : Arial, Size : 11
Text2 Property Name Index Text Font
Nilai TKoef 1 Font : Arial, Size : 11
Praktikum 2 : Kondisi Dan Pilihan 18 Text3 Property Name Index Text Font
Nilai TKoef 2 Font : Arial, Size : 11
Frame2 Property Caption Font
Nilai Akar-Akar Persamaan : Font style : Bold, Size : 10
Label6 Property Name Caption Font
Nilai LHasil Font : Arial, Size : 11
Label7 Property Name Caption Font
Nilai Lx1 Font : Arial, Size : 11
Label8 Property Name Caption Font
Nilai Lx2 Font : Arial, Size : 11
Command1 Property Name Caption Font
Nilai CBHitung Hitung Font style : Bold, Size : 12
Command2 Property Name Caption Font
Nilai CBSelesai Selesai Font style : Bold, Size : 12
Praktikum 2 : Kondisi Dan Pilihan 19 B. DESAIN PROGRAM Program 3 dibuat untuk menghitung akar-akar persamaan kuadrat dengan desain tampilan seperti pada gambar 2.5. Akar-akar dari suatu persamaan kuadrat dapat diperoleh dengan menggunakan rumus-rumus sebagai berikut : −b ± D ; dimana D = b 2 − 4ac x1.2 = 2a Nilai-nilai a, b dan c adalah merupakan nilai-nilai koefisien dari persamaan kuadrat : y = ax2 + bx + c Koefisien-koefisien a, b dan c diinputkan pada kontrol TextBox TKoef yang sudah disediakan pada bagian input koefisien. Pada bagian output yaitu didalam kontrol Frame2 akan tampil hasil perhitungan akarakar persamaan kuadrat setelah tombol Hitung di-klik. Akan ada 3 kemungkinan hasil yang didapatkan : 1. Jika nilai D > 0 maka pada LHasil akan tampil tulisan : “Ada 2 akar real :” serta Lx1 dan Lx2 akan ditampilkan hasil perhitungan akar-akar persamaan kuadrat. 2. Jika nilai D 0 maka pada LHasil akan tampil tulisan : “Ada 1 akar real :” serta Lx1 akan ditampilkan hasil perhitungan akar persamaan kuadrat. 3. Jika D < 0 maka pada LHasil akan tampil tulisan : “Menghasilkan akar imajiner :” serta Lx1 dan Lx2 akan ditampilkan hasil perhitungan akar-akar persamaan kuadrat dalam format bilangan imajiner. C. LISTING PROGRAM Kode program yang dituliskan pada program 3 pada dasarnya adalah untuk menangani event klik pada tombol Hitung dan tombol Selesai. Proses perhitungan untuk mencari akarakar persamaan kuadrat dilakukan setelah tombol Hitung diklik. Hasil akar-akar persamaan ditentukan dengan statement If – Then – Elseif – Else. Buatlah terlebih dahulu algoritma dan flowchart dari program 3. Listing program dari program 3 adalah sebagai berikut : Private Sub CBHitung_Click() Dim a, b, c, D, AkarD As Single, x1, x2 As Variant a = TKoef(0).Text b = TKoef(1).Text c = TKoef(2).Text D=b^2-4*a*c AkarD = Sqr(Abs(D)) If Abs(D) < 0.000001 Then D = 0 If D > 0 Then LHasil.Caption = "Ada 2 akar real :" x1 = (-b + AkarD) / (2 * a) x2 = (-b - AkarD) / (2 * a) Lx1.Caption = "x1 = " + Format(x1, "#.##") Lx2.Caption = "x2 = " + Format(x2, "#.##") ElseIf D = 0 Then LHasil.Caption = "Ada 1 akar real :" x1 = -b / (2 * a) Lx1.Caption = "x1 = x2 = " + Format(x1, "#.##") Else LHasil.Caption = "Menghasilkan akar imajiner :" x1 = Format(-b / (2 * a), "#.##") + " + " + Format(AkarD / (2 * a), "#.##") _ + " i"
Praktikum 2 : Kondisi Dan Pilihan 20 x2 = Format(-b / (2 * a), "#.##") + " - " + Format(AkarD / (2 * a), "#.##") _ + " i" Lx1.Caption = "x1 = " + x1 Lx2.Caption = "x2 = " + x2 End If End Sub Private Sub CBSelesai_Click() End End Sub
D. EKSEKUSI PROGRAM DAN PELACAKAN KESALAHAN Jalankan program 3 dan masukkan input untuk 3 buah persamaan kuadrat berikut ini : 1. y = (2x – 3) (x + 5) = 2x2 + 7x – 15 2. y = (4x – 5)2 = 16x2 – 40x + 25 3. y = x2 + 3x + 8.5 Program akan menghasilkan akar-akar persamaan kuadrat dari 3 persamaan kuadrat tersebut yaitu : 1. x1 = 1.5 x2 = –5 2. x1 = x2 = 1.25 3. x1 = –1.5 + 2.5 i x2 = –1.5 – 2.5 i Hasil program setelah dijalankan seperti ditunjukkan pada gambar 2.6.
(a)
(b)
(c) Gambar 2.6. Hasil eksekusi dari program 3, (a) menghasilkan 2 akar real, (b) menghasilkan 2 akar real, (c) menghasilkan akar imajiner.
Praktikum 2 : Kondisi Dan Pilihan 21 Ulangi lagi untuk beberapa persamaan kuadrat yang berbeda. Jika hasil program masih terdapat kesalahan lakukan pelacakan kesalahan dan betulkan kesalahannya. Lakukan terus proses pelacakan kesalahan sampai tidak ada kesalahan lagi. V. • • • •
•
DISKUSI Ikutilah petunjuk berikut, diskusikan dan cobalah memperbaikinya : Pada TextBox input untuk porgram 1, 2 dan 3 buatlah agar yang bisa diinputkan hanya angka saja. Khusus untuk program 3 bisa juga memasukkan angka negatif. Pada TextBox output untuk menampilkan hasil pada program 1 dan 2, cobalah edit teks yang ada didalamnya setelah program dijalankan. Apa yang terjadi ? Bagaimana caranya agar teks hasil tersebut tidak bisa diedit ? List program yang diberikan pada program 2 kurang lengkap karena tidak bisa menampilkan bobot dari konversi nilai yang telah dilakukan. Lengkapilah program 2 sehingga bobot nilai juga bisa diproses dan ditampilkan. Pada program 3, saat koefisien persamaan kuadrat diinputkan setelah proses hitung dilaksanakan ternyata hasil yang lama masih tampil pada bagian hasil output. Bagaimana caranya agar pada saat mulai dimasukkan input baru, secara otomatis hasil output menjadi bersih atau tidak ada tulisan ? Pada program 3, hapuslah satu baris statement berikut (bisa juga dengan memberikan tanda petik tunggal pada awal baris : ‘ ) : If Abs(D) < 0.000001 Then D = 0
Eksekusi program, cobalah lagi input untuk 3 macam kondisi seperti yang telah diberikan sebelumnya. Amati apa yang terjadi. Jelaskan mengapa hasil program bisa berbeda ?