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 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) Relasi di dalam BASIC dituliskan sebagai berikut: Bentuk umum: IF (kondisi) THEN (nomor baris) Operasi Lebih besar atau sama dengan ( ) Operator > = IF (kondisi) RELASI (ekspresi) THEN (nomor baris) 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 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 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 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 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 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 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 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 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 bila DATA 18, outputnya: MAHASISWA bila DATA 21, outputnya: BUKAN MAHASISWA 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
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 SAYA