Anda di halaman 1dari 11

Algoritma dan Pemrograman

Analisa Kondisi dan Aksi

TUJUAN :

. Dapat menyelesaikan masalah dengan menggunakan lebih dari satu kondisi.


. Dapat menyelesaikan masalah menggunakan looping
. dapat menyelesaikan masalah menggunakan pembatasan perulangan dengan flowchart

Flowchart, Rijanto Tosin, bab 4, hal 41


Algoritma & Teknik Pemrograman, Budi Sutedjo, bab 10,115

Analisa Aksi dan Kondisi

1 dari 10
Algoritma dan Pemrograman

Hubungan antar kondisi

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-

Masing-masing hubungan ini menyatakan keterkaitan antar kondisi sehingga dapat


dilakukan aksi sesuai dengan hubungan tersebut.

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.

Kondisi I Kondisi II Hasil

Benar Benar Benar


Benar Salah Salah
Salah Benar Salah
Salah Salah Salah

Misalnya : untuk menentukan penerimaan calon pegawai ditentukan kriteria sebagai :

- Umur di bawah 30 tahu, dan


- Nilai test lebih besar dari 60

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 :

Analisa Aksi dan Kondisi

2 dari 10
Algoritma dan Pemrograman

Umur < 30 calon pegawai


Dan ya diterima
Nilai > 60

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.

Kondis I Kondisi II Hasil

Benar Benar Benar


Benar Salah Benar
Salah Benar Benar
Salah Salah Salah

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

Analisa Aksi dan Kondisi

3 dari 10
Algoritma dan Pemrograman

Usia > 60 mendpt tunjangan


ATAU ya pensiun
MK > 25

tidak

tidak mendpt tunjangan


pensiun

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.

Perputaran kembali / Looping

Pemrograman dengan struktur perulangan adalah suatu teknik pemrograman untuk


melakukan suatu proses secara berulanh-ulang jika suatu kondisi dipenuhi. Pada
prakteknya, proses perulangan biasanya digunakan untuk beberapa hal. Misalnya :
1. Mengulang proses pemasukan data
2. Mengulang proses perhitungan
3. Mengulang proses penampilan hasil pengolahan data.

Instruksi IF-THEN-GOTO

Instruksi IF-THEN-GOTO merupakan pemrograman dengan struktur perulangan, dimana


instruksi IF-THEN merupakan instruksi untuk pemeriksaan kondisi, sedangkan instruksi
GOTO digunakan untuk mengubah alur program menuju instruksi-instruksi yang telah
dieksekusi sebelumnya, jika kondisi dipenuhi. Contoh :

Permasalahan :
Buatlah sebuah program untuk menampilkan bilangan bulat dari angka 1 sampai
dengan angka 100.

Analisa Aksi dan Kondisi

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

Instruksi FOR-NEXT digunakan untuk mengeksekusi suatu baris/blok instruksi secara


berulang-ulang selama kondisi terpenuhi. Pada instruksi ini kondisi yang dapat digunakan
untuk menguji hanya sebatas perhitungan menambah atau mengurangi isi variabel
COUNTER dengan step tertentu. Instruksi ini digunakan apabila jumlah perulangan yang
dilakukan diketahui secara pasti. Adapun bentuk umum instruksi ini adalah :

FOR var-counter = nil-awal TO nil-akhir[STEP nil-penambah/pengurang]


Blok instruksi
NEXT [var-counter]

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

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

Analisa Aksi dan Kondisi

5 dari 10
Algoritma dan Pemrograman

NEXT I
END

Maka hasilnya adalah :


2
4
6
8
10

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

Maka hasilnya adalah :


10
8
6
4
2

Mengubah Alur Kerja Program dalam Kalang


Dalam satu kalang FOR-NEXT dapat dilakukan perubahan alur eksekusi baris program
seperti dapat dilihat pada contoh berikut ini.
Permasalahan :
Buatlah sebuah program untuk menampilkan bilangan ganjil antara 1- 10

Program
CLS
FOR I=1 TO 10
IF (I MOD 2) = 0 THEN GOTO Lewat
PRINT I
Lewat :
NEXT I

Maka hasilnya adalah :


1
3

Analisa Aksi dan Kondisi

6 dari 10
Algoritma dan Pemrograman

5
7
9

Mengubah Alur Kerja Program Keluar dari Jkalang FOR – NEXT

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”

REM Meminta inputan nama


INPUT “Masukan nama Anda=”, N$

REM Memeriksa masukan apakah nama=XXX?


REM jika ya , maka keluar dari kalang FOR NEXT
IF N$=”XXX” THEN EXIT FOR

REM Menampilkan jumlah huruf nama


PRINT “Panjang nama anda =”;LEN(N$)
NEXT I

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”

Instruksi FOR NEXT Tersarang

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.

Analisa Aksi dan Kondisi

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)

contoh kalang berpotongan : Contoh kalang tersarang :

FOR I=1 to 10 FOR I=1 to 10


FOR J=1 to 10 FOR J=1 to 10
PRINT I,J PRINT I,J
NEXT I NEXT J
NEXT J NEXT I

Contoh kalang yang menggunakan variabel counter yang sama :

FOR I=1 TO 10

FOR I=1 To 10
PRINT I,I
NEXT I
NEXT I

Instruksi WHILE WEND

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’

Analisa Aksi dan Kondisi

8 dari 10
Algoritma dan Pemrograman

REM Memasukkan sebuah bilangan


INPUT “Masukkan Sebuah Bilangan : “, Bil
REM Jika nilai dibagi 2 tidak bersisa, maka bil* 10,
REM Jika hasil bagi bersisa, maka bil/10
IF Bil MOD 2 = 0 THEN
PRINT bil*10
ELSE
PRINT bil/10
END IF
INPUT “Akan mengulang lagi (y/t) : “. Lagi$
WEND

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 :

a) Untuk DO LOOP yang kondisi tes terletak pada awal instruksi :


DO [{WHILE  UNTIL} kondisi]
Blok instruksi
[EXIT LOOP]
blok instruksi
LOOP

b) Untuk DO LOOP yang tes kondisinya terletak pada akhir instruksi :

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

Analisa Aksi dan Kondisi

9 dari 10
Algoritma dan Pemrograman

I=I+1 I=I+1
LOOP LOOP UNTIL I>10

Analisa Aksi dan Kondisi

10 dari 10
Algoritma dan Pemrograman

Analisa Aksi dan Kondisi

11 dari 10

Anda mungkin juga menyukai