Analisis kasus adalah konstruktor terpenting dalam algoritma pemrograman sehingga membuat teks algoritma yang sama dapat menghasilkan eksekusi yang berbeda-beda. Setiap statement dalam pascal normalnya dijalankan secara sekuensial ( beruntun ), dari atas kebawah seperti yang tertulis pada source code programnya. Analisis kasus dapat merubah urutan eksekusi.

Jika kita mendefinisikan analisis kasus berarti juga mendefinisikan :

Kondisi : yang berupa suatu ekpresi Boolean yang menghasilkan true atau false.

Aksi : yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang bersangkutan dipenuhi.

Suatu aksi hanya akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang bersangkutan terpenuhi (bernilai true). Penentuan kondisi Boolean dan aksi yang dilakukan bergantung pada jumlah kasus yang terdapat pada masalah tersebut.

Ungkapan kondisi dapat dihasilkan dengan operator perbandingan dan operator logika. ungkapan kondisi dapat dibentuk dengan mengkombinasikan operand yang bertipe sama dengan salah  satu operator.

Contoh Kondisi:

X > y

A + b >1

Str = ‘daspro’

Ketemu = true

I >= 100

Not true

( x < 0) and (y>20)

( x<0) or (y > 20)

Struktur if…then

Satu kasus

Bentuk ini menunjukan, jika (if) kondisi yang diseleksi adalah  benar( true ) maka statement yang mengikutinya akan diproses. Sebaliknya jika tidak benar (false) maka statement berikutnya tidak diproses.

Sintaks dalam pascal
If kondisi then

Aksi;

If kondisi then

Begin

Aksi 1;

Aksi 2;

End;

Jika kondisi true (benar), maka aksi dikerjakan. Jika kondisi false ( tidak benar) maka tidak terjadi apa-apa (efek neto “kosong”)

Program Menerima masukan sebuad nama,jika nama tidak diisi tampilkan pesan

Program Name;
	Uses crt;
	var nama:string;
begin
	clrscr;
	write('ketikan nama anda:'); readln(nama);
	if nama='' then writeln('isi dulu nama anda!!');
	readln;
 end.

Program untuk mengecek apakah sebuah bilangan termasuk bilangan genap atau bukan. Jika termasuk bilangan genap tampilkan pesan.

program Bilangan_genap;
uses crt;
	var bil:integer;
begin
	clrscr;
	write('Masukan bilangan :'); readln(bil);
	if bil mod 2=0 then
	begin
	writeln('bilangan genap'); writeln('pengecekan bilangan selesai');
	end;
readln;
end.

Dua kasus komplementer. (Bahasa kerennya If-Else bercabang)

Sintaks untuk analisis dengan dua kasus adalah dengan menggunakan struktur IF-ELSE

Sintaks dalam pascal
If kondisi then

Aksi1

Else

Aksi2;

If kondisi then

Begin

Aksi1; …..

End

Else

Begin Aksi2; . . . .

End;

Aksi satu akan dilaksanakan jika kondisi bernilai true (benar), tetapi jika kondisi bernilai false (salah), maka aksi-aksi yang akan dilaksanakan, ‘else’ menyatakan ingkaran/negasi dari kondisi.

Program untuk mengecek apakah sebuah bilangan termasuk bilangan genap atau bilangan ganjil.Jika termasuk bilangan genap,tampilkan pesan ’bilangan genap’,Jika termasuk bilangan ganjil tampilkan pesan’bilangan ganjil’

program genap_ganjil;
uses crt;
	var bil:integer;
begin
    clrscr;
	write('masukan bilangan :'); readln(bil);
	if bil mod 2 = 0 then
		writeln('bilangan genap')
	else
		writeln('bilangan ganjil');
	readln;
end.

Program untuk menentukan bilangan terbesar diantara dua bilangan yang dimasukkan.

program bilangan_terbesar;
uses crt;
	var bill,bil2:integer;
begin
	clrscr;
	write('masukan 2 bilangan :');
	readln(bill,bil2);
	
	if bill>bil2 then
	begin 
		writeln(bill,'>',bil2);
		writeln(bill,'bilangan terbesar');
	end
	
	else
	
	begin
		writeln(bil2,'>',bill);
		writeln(bil2,'bilangan terbesar');
	end;
	readln;
end.

Struktur case…of

Struktur case-of dapat menyederhanakan penulisan if-else yang bertingkat-tingkat pada permasalahan dengan dua kasus atau lebih.

Sintaks dalam pascal
Case nama_variabel of

Nilai1 : nilai2;

Nilai2 : aksi2;

. . .

nilaiN : aksiN;

[else aksiX;]

End;

Case nama_variabel of

Nilai1 : begin

Aksi1; Aksi2;

. . . .

End;

Nilai2 : aksi3;

. . .

nilaiN : aksiN;

[else aksiX;]

End;

Nama variable sudah dideklarasikan sebelumnya dan sudah berisi nilai tertentu yang memiliki tipe data yang sama dengan nilai1, nilai2,…..nilaiN

Nilai1, nilai2,….,nilaiN adalah nilai yang bertipe integer, char, atau Boolean.

Program penentuan nama bulan jika diinput nomor bulannya

Program Nama_bulan;
Uses crt;
	Var bulan:integer;
begin
	clrscr;
	write('masukan nomor bulan: ');
	readln(bulan);
case bulan of
	1:writeln('januari');
	2:writeln('februari');
	3:writeln('maret');
	4:writeln('april');
	5:writeln('mei');
	6:writeln('juni');
	7:writeln('juli');
	8:writeln('agustus');
	9:writeln('september');
	10:writeln('oktober');
	11:writeln('november');
	12:writeln('desember');
else
	writeln('bukan bulan yang benar');
end;
	readln;
end.

Desember 03, 2020   Posted by Wahyu Faseri in with No comments

0 Comments:

Posting Komentar

TEKNIK KOMPUTER DAN JARINGAN

TEKNIK KOMPUTER DAN JARINGAN

Bookmark Us

Delicious Digg Facebook Favorites More Stumbleupon Twitter

Search