• Tidak ada hasil yang ditemukan

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN"

Copied!
9
0
0

Teks penuh

(1)

MODUL PRAKTIKUM

PERCABANGAN DAN PENGULANGAN

Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

e) TRAVERSAL (FOR TO DO) 2.1 STATEMENT PERCABANGAN 2.1.1 IF THEN

FORMULA : IF [KONDISI] THEN [AKSI]

Dapat diartikan dari formula tersebut adalah AKSI akan terjalankan apabila KONDISI bernilai

TRUE. KONDISI merupakan sebuah BOOLEAN yang hanya memiliki 2 nilai , yaitu TRUE dan FALSE.

Contoh ekspresi BOOLEAN adalah : § X > Y § A ≠ B § M = N § P ≤ Q § A + B > 1 § kata = ‘daskom’ § k mod 4 = 0 § nilai = TRUE § NOT TRUE § (X > 0) and (Y<0)

(2)

MODUL PRAKTIKUM

o SATU KONDISI

ALGORITMIK PASCAL

PROGRAM GENAP GANJIL Program genap_ganjil; {menentukan genap sebuah bilangan} uses crt;

var

kamus : a,b : integer; a, b : integer begin Algoritma : write ('masukan nilai a : '); readln (a); input (a)

if (a mod 2 = 0) then

begin if (a mod 2 = 0 ) then write (a, ' adalah bilangan genap '); output ('bilangan genap')

b ← b + 1 b := b +1; end; end.

Yang menjadi ekspresi boolean dari program diatas adalah “a mod 2 = 0” . Apabila a diberi input 3 maka KONDISI (a mod 2 = 0) bernilai FALSE dan tidak melakukan eksekusi apapun. Namun apabila kita beri input a dengan 4 maka KONDISI bernilai TRUE dan mengerjakan AKSI yang ada pada program.

Dalam penulisan notasi algoritmik untuk AKSI (output (‘bilangan genap’)) harus menjorok kedalam karena dalam notasi algoritmik tidak ada batas yang menjelaskan banyak aksi yang akan dilakukan. Begitu juga dengan penulisan dalam pascal, apabila lebih dari satu instruksi pada AKSI maka harus menggunakan begin dan end; untuk membatasinya.

o DUA KONDISI

ALGORITMIK PASCAL

PROGRAM GENAP GANJIL Program genap_ganjil; {menentukan genap atau ganjil uses crt; sebuah bilangan} var kamus : a : integer; a : integer begin Algoritma : write ('masukan nilai a : '); readln (a); input (a) if (a mod 2 = 0) then if (a mod 2 = 0 ) then write (‘ bilangan genap ')

output ('bilangan genap') else else write (‘bilangan ganjil ')

output ('bilangan genap') end.

(3)

MODUL PRAKTIKUM

Program di atas dikatakan dua kondisi karena apabila KONDISI (a mod 2 = 0 ) bernilai

TRUE maka akan muncul “bilangan genap” , apabila bernilai FALSE maka muncul tulisan

“bilangan ganjil”.

o TIGA KONDISI ATAU LEBIH

ALGORITMIK PASCAL

PROGRAM BILANGAN BULAT Program bilangan_bulat; {menentukan sebuah bilangan nol, uses crt; positif, atau negatif } var kamus : a : integer;

a: integer begin

Algoritma : write ('masukan a : ');readln (a); input (a) if (a > 0) then

if (a > 0) then write('bilangan positif') output ('bilangan positif') else if (a < 0) then

else if (a < 0) then write('bilangan negatif') output ('bilangan negatif') else

else write('bilangan nol'); output ('bilangan nol') end.

Dikatakan 3 kondisi karena apabila KONDISI1 (a>0) bernilai TRUE maka output “bilangan positif” , namun jika tidak maka ada percabangan kembali yaitu dengan pertanyaan KONDISI2 (a<0) dan apabila nilai KONDISI2 adalah TRUE maka output “bilangan negatif” dan bila KONDISI2 FALSE maka output “bilangan nol”. Untuk kondisi lebih dari 3 dapat menambahkan else if pada percabangan selanjutnya.

2.1.2 CASE OF

FORMULA : Case (variabel) of DEPEND ON (variabel) <kondisi_1> : <aksi1> <kondisi_1> : <aksi1> <kondisi_2> : <aksi2> <kondisi_2> : <aksi2> <kondisi_3> : <aksi3> <kondisi_3> : <aksi3>

Notasi algoritmik mengenal formula ini adalah DEPEND ON, sedangkan pada pascal formula yang digunakan adalah CASE OF. CASE OF dan DEPEND ON mempunyai perbedaan, yaitu pada variabel dan ekspresi boolean pada kondisinya. CASE OF hanya bisa menggunakan 2 variabel yaitu integer dan char dan ekspresi boolean yang dapat digunakan hanya ‘=’, Sedangkan pada DEPEND ON semua variabel bisa digunakan dalam formulanya dan semua ekspresi boolean bisa digunakan.

(4)

MODUL PRAKTIKUM

ALGORITMIK

Program bilangan bulat

{menentukan positif,negatif, atau nol} kamus : a : integer algoritma : input (a) depend on (a)

a > 0 : output ('bilangan positif') a < 0 : output ('bilangan negatif') a = 0 : output ('bilangan nol')

Dari formula di atas kita tidak bisa menggunakan CASE OF karena ekspresi boolean pada kondisi ada yang menggunakan ekspresi “>”. Berikut adalah contoh CASE OF dan bentuk notasi algoritmiknya.

ALGORITMIK PASCAL

Program nama bilangan program nama ; {menuliskan angka dalam bentuk huruf} uses crt;

Var

kamus : a : integer; a : integer begin

algoritma : writeln ('batas input 0-3'); output ('batas input 0-3') write('masukan a : '); readln (a); input (a) case (a) of

depend on (a) 0 : write ('nol'); a = 0 : output ('nol') 1 : write ('satu'); a = 1 : output ('satu') 2 : write ('dua'); a = 2 : output ('dua') 3 : write ('tiga'); a = 3 : output ('tiga') end;

end.

Program diatas menggunakan operasi boolean “=”. Dalam penulisan ekspresi boolean pada CASE OF berbeda dengan notasi algoritmik, hal ini bisa dilihat dari contoh diatas bahwa penulisannya hanya menuliskan isi variabel. (*begin end; untuk menentukan batas aksi yang akan dilakukan)

(5)

MODUL PRAKTIKUM

2.2 STATEMENT PENGULANGAN

Pengulangan terdiri dari dua bagian :

§ kondisi yang mengakibatkan pengulangan suatu saat berhenti, yang dinyatakan oleh sebuah ekspresi logik baik secara eksplisit maupun implisit

§ badan pengulangan, yaitu aksi yang harus diulang selama kondisi yang ditentukan untuk pengulangan masih dipenuhi

Ada 5 macam notasi dalam perulangan a. berdasarkan jumlah pengulangannya

aksi akan dilakukan sebanyak n kali, dengan memasukan nilai N maka pengulangan tersebut akan berhenti ketika telah melakukan pengulangan sebanyak n kali.

b. Berdasarkan kondisi berhenti

aksi akan diberhentikan apabila kondisi berhenti bernilai true, akan diulang apabila kondisi berhenti bernilai false. Pengulangan ini minimal akan dilakukan satu kali karena saat aksi pertama dilakukan tidak ada pengkondisian.

c. Berdasarkan kondisi pengulangan

aksi akan dilakukan selama kondisi-pengulangan masih bernilai true. Pada pengulangan ini ada kemungkinan aksi tidak dilakukan karena saat pertama kali kondisi-pengulangan sudah bernilai false.

d. Berdasarkan dua aksi

Mekanisme yang dilakukan oleh pengulangan ini adalah dengan melakukan secara otomatis Aksi-1 pada eksekusi yang pertama kemudian dilakukan test terhadap kondisi berhenti. Tergantung kepada kondisi berhenti yang ditest:

(6)

MODUL PRAKTIKUM

§ pengulangan dihentikan karena efek neto dari Aksi-1 menghasilkan kondisi berhenti.

Pengulangan ini berguna untuk kasus-kasus di mana Aksi-2 merupakan hal yang harus dilakukan tergantung dari hasil Aksi-1.

e. Berdasarkan pencacah

Pada pengulangan ini akan dilakukan sebanyak selisih range harga yang dapat dilakukan. Type dari nama pencacah tidak bisa digunakan oleh semua tipe, hanya integer dan char saja yang dapat digunakan.

Dari 5 contoh pengulangan tersebut, hanya 3 saja yang bisa digunakan dalam PASCAL yaitu : § Repeat until

ALGORITMIK PASCAL

Program mengulang program ulang; {menuliskan angka berurut dari 1 -n } uses crt;

var

kamus : i,n : integer; n,i : integer begin

Algoritma : write('banyaknya pengulangan ? '); input (n) readln (n);

i ←1 i := 1; repeat repeat output (i) begin i ←i +1 write (i); until (i≤n) i := i +1;

end;

until (i <= n)

end.

Dalam program tersebut apabila n diberi nilai 0 maka output dari program adalah 1, hal ini dikarenakan dalam repeat until minimal aksi yang terjadi adalah aksi yang pertama. Dan apabila input lebih dari nol maka output akan mengeluarkan nilai 1 sampai bilangan n yang diinputkan. (*begin end; dalam pascal menandakan aksi yang akan diulang)

(7)

MODUL PRAKTIKUM

§ While Do

ALGORITMIK PASCAL

Program mengulang program ulang; {menuliskan angka berurut dari 1 -n } uses crt;

var

kamus : i,n : integer; n,i : integer begin

Algoritma : write('banyaknya pengulangan ? '); input (n) readln (n);

i ←1 i := 1;

while (i ≤ n) do while (i <= n) do output(i) begin

i ←i +1 write (i); i := i+1

end;

end.

Dari program diatas pengulangan akan terjadi bila kondisi bernilai TRUE dan berhenti mengulang setelah kondisi FALSE. Apabila input n diberi angka 0 maka tidak ada output yang terjadi karena saat memulai kondisi sudah bernilai FALSE. (*begin end; dalam pascal menandakan aksi yang akan diulang)

§ Traversal (For to do)

ALGORITMIK PASCAL

Program mengulang program ulang; {menuliskan angka berurut dari 1 -n } uses crt;

var

kamus : i,n : integer; n,i : integer begin

Algoritma : write('banyaknya pengulangan ? '); input (n) readln (n);

i traversal [1..n] for i:=1 to n do write (i) write (i);

end.

Program diatas sama seperti sebelumnya yaitu mencetak angka dari 1 sampai n, namun pada program ini menggunakan traversal/for to do (dalam pascal). Seperti yang dijelaskan pada awalnya bahwa variabel pencacah untuk pengulangan ini hanya bisa untuk integer dan char saja. Apabila n diberi input 0 maka program akan error karena for to do adalah pencacah maju. Apabila kita ingin mencacah mundur maka kita bisa menggunakan for downto, prinsipnya sama hanya nilai cacahnya saja yang berbeda.

(8)

MODUL PRAKTIKUM

ALGORITMIK PASCAL

Program mengulang program ulang; {menuliskan angka berurut dari n-1 } uses crt;

var

kamus : i,n : integer; n,i : integer begin

Algoritma : write('banyaknya pengulangan ? '); input (n) readln (n);

i traversal [n..1] for i:=n downto 1 do write (i) write (i);

end.

Contoh soal aplikasi

Buatlah sebuah program untuk membuat bangun berikut Input = 4 * ** *** **** Penyelesaian

Program tersebut menjelaskan bahwa output gambar tergantung input. Input sama dengan 4 maka banyak baris sama dengan 4, dimana setiap baris terdapat bintang sebanyak urutan baris tersebut.

ALGORITMIK PASCAL

Program mengulang program ulang; {menuliskan angka berurut dari n-1 } uses crt;

var

kamus : i,n : integer; n,i : integer begin

Algoritma : write('banyaknya n ? '); input (n) readln (n);

i traversal [1..n] for i:=1 to n do j traversal [1..i] begin

output ('*') for j :=1 to i do begin write ('*'); end; writeln; end; end.

(9)

MODUL PRAKTIKUM

Lihat program pascal (misal n=4)

for i:=1 to n do berfungsi untuk membuat baris yaitu sebanyak 4 . Aksi yang akan

diulang pada pengulangan ini adalah for j:=1 to i do dan writeln; . for j:=1 to i do berfungsi membuat bintang pada masing-masing baris dan writeln; berfungsi membuat baris baru untuk baris selanjutnya. for j:=1 to i do berarti pengulangan yang akan dilakukan adalah sebanyak 1 sampai i, hal ini dikarenakan i adalah urutan baris sehingga saat baris satu hanya mencetak satu bintang, baris kedua mencetak dua bintang, dan seterusnya.

REFERENSI

Referensi

Dokumen terkait

proses pencucian pakaian secara profesional, banyaknya permasalahan yang timbul di dalam pabrik makanan tempat ia bekerja terkait kebersihan pakaian hasil pencucian

mempengaruhi biaya bunga perusahaan karena bunga pinjaman yang diminta oleh. bank komersial atau kreditor berdasarkan tingkat suku bunga pasar,

PAI Di SMP Alternatif Qaryah Thayyibah Kalibening Salatiga. Mutu dan citra pendidikan Indonesia kian terpuruk. Hal ini disebabkan beberapa hal, diantaranya di karenakan

Pertambahan peserta JKN akan meningkatkan investasi di sector kesehatan, seperti pembangunan fasilitas kesehatan, produksi obat dan alkes, dan untuk jangka panjang,

Kajian Lingkungan Hidup Strategis yang selanjutnya disingkat KLHS adalah proses mengintegrasikan pembangunan berkelanjutan yang berwawasan lingkungan hidup dalam

terbukti melalui penelitian dengan hasil perhitungan nilai F hitung sebesar 18,916 yang lebih besar dari F tabel 3,9391 yang menunjukkan bahwa brand image,

Tujuan dari perancangan dan pembuatan aplikasi ini adalah untuk membuat sebuah aplikasi web yang mendukung pengolahan informasi geografis UPN “Veteran” Jawa

bahwa untuk melaksanakan ketentuan Pasal 184 ayat (1) Undang-Undang Nomor 32 Tahun 2004 tentang Pemerintahan Daerah sebagaimana telah diubah dengan Undang-Undang