Analisa Kondisi dan Aksi



Yüklə 46,51 Kb.
tarix23.01.2018
ölçüsü46,51 Kb.
#22047

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

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 :

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

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.


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

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



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.
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’

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 :


  1. Untuk DO LOOP yang kondisi tes terletak pada awal instruksi :

DO [{WHILE  UNTIL} kondisi]

Blok instruksi

[EXIT LOOP]

blok instruksi

LOOP


  1. 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


I = I + 1 I = I + 1

LOOP LOOP UNTIL I>10




Analisa Aksi dan Kondisi
dari 10

Yüklə 46,51 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə