STATEMEN GO TO DAN IF-THEN Pertemuan IX
Statemen Alih Kontrol Pada bahasa pemrograman BASIC tidak hanya melakukan eksekusi baris demi baris atau secara berurutan yang tiap barisnya dieksekusi hanya satu kali. Namun dapat juga melakukan eksekusi program secara meloncat dan dieksekusi lebih dari satu kali dengan menggunakan statemen Alih Kontrol.
Statemen Alih Kontrol Statemen GO TO (Alih Tanpa Syarat) Apabila menggunakan statemen GO TO, maka program akan dijalankan secara meloncat ke baris yang nomor barisnya tertera pada statemen GO TO tersebut.
Statemen GO TO Contoh 1 10 LET A = 5 20 LET B = 8 30 PRINT A 40 GOTO 70 50 PRINT B 60 PRINT “BASIC” 70 END
Output: 5 Keterangan: Program langsung meloncati baris 50 dan 60, karena dari baris 40 akan langsung menjalankan baris 70
Statemen IF-THEN Statemen IF-THEN (Alih Bersyarat) Bentuk umum: IF (kondisi) THEN (nomor baris) IF (kondisi) RELASI (ekspresi) THEN (nomor baris)
Relasi di dalam BASIC dituliskan sebagai berikut: Operasi
Operator
Lebih besar atau sama dengan (≥)
>=
Lebih kecil atau sama dengan (≤)
<=
Tidak sama dengan (≠)
<>
Statemen IF-THEN Contoh 1 10 LET X = 6 20 PRINT X 30 IF X = 6 THEN 60 40 LET X = X +1 50 GOTO 20 60 END
Apabila nilai X pada saat itu sama dengan 6 maka program akan dijalankan dengan meloncat ke baris 60, outputnya: 6 Jika X tidak sama dengan 6 maka program akan menjalankan baris yang tepat di bawah baris statemen IF-THEN tersebut berada.
Loop Pada program BASIC terdapat baris yang dijalankan berulang kali, dikenal dengan sebutan loop.
Loop Contoh 1 10 LET X = 1 20 PRINT X 30 IF X = 5 THEN 60 40 LET X = X +1 50 GOTO 20 60 END
Output: 1 2 3 4 5
Keterangan:
baris 10, X berharga = 1
baris 20, harga X yang ada (yaitu = 1) dicetak
baris 30, karena harga X = 1 bukan 5, maka akan dilanjutkan dengan baris 40
baris 40, di mana X mendapat harga baru yaitu 1+1= 2
baris 50, mengakibatkan program meloncat kembali ke baris 20 (mencetak harga X = 2) kemudian berturut-turut dijalankan baris 50, 20, 30, begitu seterusnya sampai harga X pada baris 40 besarnya 5
baris 60, karena harga X = 5, maka komputer langsung melonacat ke baris 60
Loop Contoh 2 10 LET X = 4 20 PRINT X 30 IF X = 12 THEN 60 40 LET X = X + 2 50 GOTO 20 60 END
Output: 4 6 8 10 12
Loop Contoh 3 10 LET X = 1 20 LET Y = X * X 30 PRINT X; “KUADRAT SAMA DENGAN”; Y 40 IF X = 5 THEN 70 50 LET X = X + 1 60 GOTO 20 70 END
Output: 1 KUADRAT SAMA DENGAN 1 2 KUADRAT SAMA DENGAN 4 3 KUADRAT SAMA DENGAN 9 4 KUADRAT SAMA DENGAN 16 5 KUADRAT SAMA DENGAN 25
Loop Contoh 3 10 LET X = 1 20 LET Y = X * X 30 IF X = 5 THEN 70 40 PRINT X; “KUADRAT SAMA DENGAN”; Y 50 LET X = X + 1 60 GOTO 20 70 END
Output: 1 KUADRAT SAMA DENGAN 1 2 KUADRAT SAMA DENGAN 4 3 KUADRAT SAMA DENGAN 9 4 KUADRAT SAMA DENGAN 16
Statemen IF-THEN yang Diperluas Pada BASIC selain: IF (kondisi) THEN (nomor baris) terdapat juga IF (kondisi) THEN (statemen) Contoh: IF A > 75 THEN PRINT “LULUS” IF A < THEN LET B = 4 * A IF A > 10 THEN STOP Statemen di sebelah kanan THEN dijalankan hanya bila kondisi benar. Bila kondisi tidak benar, langsung dijalankan statemen di bawahnya.
Statemen GO TO dan IF-THEN Contoh 1 Sebuah program untuk menentukan apakah seorang mahasiswa lulus atau gagal dalam suatu mata kuliah setelah menempuh 2 kali ujian. Ketentuannya: dinyatakan lulus bila nilai rata-ratanya lebih besar dari 54, selain itu dinyatakan lulus. 10 DATA 52,66 20 READ N1,N2 30 LET X = (N1+N2)/2 40 IF X > 54 THEN 70 50 PRINT “MAHASISWA GAGAL” 60 GOTO 80 70 PRINT “MAHASISWA LULUS” 80 END
Output: MAHASISWA LULUS Keterangan: baris 10 dan 20, menunjukkan nilai ujian N1=52 dan N2=66 baris 30, menghitung nilai rata-rata X = (52+66)/2 = 59 baris 40, terjadi percabangan pada suatu kondisi: jika X > 54 akan dijalankan baris 70 (selanjutnya baris 80) jika bukan X > 54 akan dijalankan baris 50 (selanjutnya baris 60, kemudian baris 80)
Statemen GO TO dan IF-THEN Contoh 2 Sebuah program untuk menentukan mana bilangan yang lebih besar di antara dua bilangan yang berbeda. 10 DATA 40,43 20 READ A,B 30 IF A > B THEN 60 40 PRINT B; “LEBIH BESAR DARI”; A 50 GOTO 70 60 PRINT A; “LEBIH BESAR DARI”; B 70 END
Output: Apabila DATA 40,43 maka akan dijalankan berturut-turut baris 10, 20, 30, 40, 50, dan 70 dengan output: 43 LEBIH BESAR DARI 40 Apabila DATA 45,43 maka akan dijalankan berturut-turut baris 10, 20, 30, 60, dan 70 dengan output: 45 LEBIH BESAR DARI 43
Statemen IF-THEN yang Diperluas Contoh 3 10 DATA 90 20 READ K 30 IF K > 75 THEN 60 40 PRINT “GAGAL” 50 GOTO 70 60 PRINT “LULUS” 70 END
Output: LULUS
Statemen IF-THEN yang Diperluas Statemen IF - THEN – ELSE IF (kondisi) THEN (statemen) ELSE (statemen) Contoh 1 IF A > B THEN PRINT A ELSE X = X + 1 Keterangan: Apabila A lebih besar dari B maka akan mencetak A, kemudian akan langsung menjalankan statemen di bawahnya dengan meloncati statemen ELSE. Namun bila A tidak lebih besar dari B, statemen THEN diloncati dan langsung menjalankan statemen ELSE.
Statemen IF-THEN yang Diperluas Statemen IF - THEN - ELSE Contoh 2 10 DATA 2,4 20 READ A,B 30 IF A > B THEN PRINT A ELSE PRINT B 40 END
Output: 4
Statemen IF-THEN yang Diperluas AND, OR, dan NOT Pada statemen IF-THEN juga diperkenankan menggunakan kondisi berganda. Contoh 1 IF 2 > X AND X > 8 THEN PRINT B Pada kondisi berganda mengandung AND, statemen di sebelah kanan THEN dijalankan hanya bila kedua kondisi benar.
Contoh 2 IF A > 10 OR B > 13 THEN 90 Pada kondisi berganda mengandung OR, statemen di sebelah kanan THEN dijalankan apabila salah satu atau kedua kondisi benar.
Statemen IF-THEN yang Diperluas AND, OR, dan NOT Contoh 2 10 DATA … 20 READ A 30 IF 15 <= A AND A <= 20 THEN 60 40 PRINT “BUKAN MAHASISWA” 50 GOTO 70 60 PRINT “MAHASISWA” 70 END yang juga dapat ditulis sebagai: 10 DATA …. : READ A 20 IF 15 < = A AND A < = 20 THEN 40 30 PRINT “BUKAN MAHASISWA” : GO TO 50 40 PRINT “MAHASISWA” 50 END
Output: bila DATA 18, outputnya: MAHASISWA bila DATA 21, outputnya: BUKAN MAHASISWA
Statemen IF-THEN yang Diperluas AND, OR, dan NOT Contoh 4 10 DATA 17,6 20 READ A,B 30 IF A = 5 OR B = 6 THEN PRINT GOTO 60 40 PRINT “ANDA” 50 GOTO 70 60 PRINT “SAYA” 70 END
Output: SAYA