TUJUAN :
1 dari 10
Algoritma dan Pemrograman
Kadang –kadang dalam suatu masalah terdapat beberapa kondisi atau persyaratan yang
saling menentukan. Hubungan antar kondisi ini biasanya terdiri dari dua hubungan,
yaitu :
- hubungan –DAN-
- hubungan –ATAU-
Hubungan DAN
Hubungan DAN merupakan hubungan antar kondisi yang mensyaratkan kedua kondisi
terpenuhi. Jika salah satu dari kondisi tidak terpenuhi maka proses/tindakan selanjutnya
yang dilakukan adalah kondisi yang bernilai false atau T (tidak).
Berikut ini terlampir tabel yang memperlihatkan nilai benar atau salah dari hubungan
DAN.
Berdasarkan contoh di atas berarti ada dua kondisi yang harus dipenuhi untuk
menyatakan bahwa calon pegawai diterima yaitu umur dan nilai test. Dengan demikian
dalam bentuk flowchart dapat digambarkan sebagai berikut :
2 dari 10
Algoritma dan Pemrograman
tidak
calon pegawai
tidak diterima
Dari flowchart di atas terlihat walaupun hasil test dari calon pegawai sama dengan 80
namun jika umurnya sama dengan 32 maka calon pegawai tersebut tidak diterima.
Hubungan ATAU
Hubungan ATAU merupakan hubungan antar kondisi yang mensyaratkan hanya salah
satu kondisi yang terpenuhi. Kondisi bernilai false atau T (tidak) hanya dapat tercapai
jika kedua kondisi tidak terpenuhi.
Berikut ini terlampir tabel yang memperlihatkan nilai dari hubungan ATAU.
Misalnya : Tunjangan pensiun diberikan kepada pegawai yang berusia lebih dari 60
tahun. Untuk pegawai yang mempunyai masa kerja lebih dari 25 tahun juga mendapatkan
tunjangan tersebut. Berdasarkan contoh di atas berarti tunjangan pensiun diberikan
kepada pegawai dengan kondisi usia lebih dari 60 tahun ATAU masa kerja lebih dari 25
tahun. Dengan demikian dapat dibuat flowchart seperti di bawah ini
3 dari 10
Algoritma dan Pemrograman
tidak
Dari flowchart di atas terlihat jika pegawai telah mencapai usia lebih dari 60 tahun maka
mendapat tunjangan pensiun. Namun walaupun usianya 50 tahun tapi dengan masa kerja
lebih dari 25 tahun maka pegawai tersebut masih mendapatkan tunjangan pensiun.
Karena salah satu syarat terpenuhi yaitu masa kerja lebih dari 25 tahun.
Instruksi IF-THEN-GOTO
Permasalahan :
Buatlah sebuah program untuk menampilkan bilangan bulat dari angka 1 sampai
dengan angka 100.
4 dari 10
Algoritma dan Pemrograman
Program :
Cls
REM menentukan nilai awal variabel I
I=1
Ulang:
REM Mencetak isi variabel I
PRINT I
REM Pengujian, jika isi variabel I < 100,
REM maka isi variabel I ditambah 1,
REM kemudian kembali ke label Ulang
IF I < 100 THEN I=I+1: GoTO Ulang
END
Instruksi FOR-NEXT
Jika nilai penambah /pengurang tidak ditulis, maka secara otomatis akan dipergunakan
nilai penambah yang telah diteentukan sebagai default, yaitu sebesar 1. Jika ingin
dilakukan hitungan dengan mengurangi isi variabel counter karena nilai awal > akhir,
maka nilai penambah/pengurang harus didefinisikan negatif.
Penulisan instruksi FOR – NEXT ini ada beberapa macam sesuai dengan kebutuhan
perulangan yang akan dilakukan , seperti perulangan satu kalang dan kalang dalam
kalang.
Instruksi FOR – NEXT tunggal adalah sebuah instruksi untuk perulangan yang hanya
menggunakan sebuah sebuah counter. Contoh :
Permasalahan :
Buatlah sebuah program untuk menampilkan bilangan genap antara 1-10
Program :
CLS
FOR I=1 to 10 STEP 1
IF (INT(I/2)=I/2) then PRINT I
5 dari 10
Algoritma dan Pemrograman
NEXT I
END
Apabila pertambahan counter adalah1, maka instruksi STEP dapat ditiadakan. Sedangkan
jika nilai awal lebih besar dari nilai akhir, maka hitungan akan dilakukan dengan cara
melakukan pengurangan terhadap isi variabel counter. Oleh karena itu digunakan STEP
bilangan negatif.
CLS
FOR I=10 to 1 STEP –1
IF (INT(I/2)=I/2) then PRINT I
NEXT I
END
Program
CLS
FOR I=1 TO 10
IF (I MOD 2) = 0 THEN GOTO Lewat
PRINT I
Lewat :
NEXT I
6 dari 10
Algoritma dan Pemrograman
5
7
9
Kadangkala eksekusi baris program dalam satu kalang FOOR-NEXT harus diakhiri
sebelum seluruh baris program diproses. Untuk keperluan tersebut dapat digunakan
instruksi EXIT FOR. Contoh :
CLS
FOR I = 1 TO 15
REM Menampilkan informasi
PRINT “Data ke”; I
PRINT “Isikan XXX untuk keluar”
PRINT “Selesai.”
END
Pada saat program diatas dieksekusi, power BASIC akan meminta masukan nama
sebanyak 15 buah, tetapi eksekusi tersebut dapat diakhiri sebelum 15 nama dituliskan,
apabila diketikkan “XXX”
Dalam sebuah kalang FOR NEXT diperbolehkan untuk membuat kalang FOR NEXT
lainnya. Pada operasi kalang dalam kalang tersebut, urutan eksekusi di mulai dari kalang
yang paling dalam sehingga instruksi-instruksi yang terdapat pada kalang yang paling
dalam akan paling banyak dieksekusi.
7 dari 10
Algoritma dan Pemrograman
Syarat yang harus diperhatikan untuk opersi FOR NEXT kalang tersarang :
1. setiap kalang tidak boleh menggunakan variabel counter yang sama
2. antara kalang-kalang tersebut tidak boleh saling berpotongan (Overlapping)
FOR I=1 TO 10
FOR I=1 To 10
PRINT I,I
NEXT I
NEXT I
Di samping instruksi FOR NEXT, terdapat instruksi kalang lain, yaitu instruksi WHILE
WEND yang digunakan untuk melakukan proses berulang selama sebuah kondisi
dipenuhi.
Berbeda dengan instruksi FOR-NEXT yang digunakan jika diketahui dengan pasti
banyaknya operasi perulangan. Instruksi WHILE WEND dapat digunakan bila jumlah
operasi perulangan yang dilakukan tidak diketahui dengan jelas, tetapi yang diketahui
hanya kondisi agar operasi perulangan terjadi.
Adapun bentuk umum instruksi ini :
WHILE kondisi
Blok kondisi
WEND
Contoh :
CLS
Lagi$ = ‘T’
REM selama lagi$ <> ‘T’ kerjakan proses berikut
WHILE Lagi$ =’T’
8 dari 10
Algoritma dan Pemrograman
Instruksi DO LOOP
Instruksi DO LOOP mempunyai fungsi yang sama dengan instruksi WHILE WEND,
yaitu untuk melakukan operasi perulangan, tetapi untuk penulisan kondisinya dapat
dilakukan secara fleksibel. Bentuk umum instruksi ini adalah :
DO
Blok instruksi
[EXIT LOOP]
blok instruksi
LOOP[{WHILE UNTIL }kondisi]
Perbedaan yang jelas antara 1 dan 2 adalah pada pengujian kondisinya. Pada point a,
kondisi akan diperiksa dulu apakah memenuhi syarat dan kemudian barulah instruksi
dilaksanakan, sedangkan pada point b, minimal proses instruksi telah dilakukan sekali,
baru kemudian pemeriksaan kondisi dilakukan.
Contoh :
I=1 I =1
DO WHILE I<=10 DO
PRINT I PRINT I
9 dari 10
Algoritma dan Pemrograman
I=I+1 I=I+1
LOOP LOOP UNTIL I>10
10 dari 10
Algoritma dan Pemrograman
11 dari 10