laporan praktikum

49
BAB I IF Penyeleksian kondisi adalah penentuan kondisi yang memenuhi dalam penyeleksian. Penyeleksian kondisi ini hubungannya dengan operasi relasi yang membandingkan antara dua kondisi. Di dalam Pascal, penyeleksian kondisi menggunakan statement If dan statement Case. A. STATEMENT IF If atau jika yaitu penyeleksian dengan menggunakan logika pengandaian. Statement if mempunyai dua bentuk yaitu If-Then dan If- Then..Else. Seperti dalam looping, statement if juga mempunyai bentuk tersarang (nested if). 1. persyaratan selection If Pernyataan harus bernilai Boolean (False atau true ) Meentukan aksi yang dilakukan jika kondisi tersebut memenuhi Setiap aksi tidak bileh beririsan Analisis kasus harus mencangkup semua kemungkinan kasus Struktur If-Then Algoritma : Dalam pemrograman Pascal : Dalam pemrograman C : if kondisi then if kondisi then if (kondisi) statement 1 statement 1 statement 1; else else else statement 2 statement 2; statement 2; Page 1

Upload: heryanto-nami-jaya

Post on 29-Jun-2015

560 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: laporan praktikum

BAB I

IF

Penyeleksian kondisi adalah penentuan kondisi yang memenuhi dalam penyeleksian.

Penyeleksian kondisi ini hubungannya dengan operasi relasi yang membandingkan antara dua

kondisi. Di dalam Pascal, penyeleksian kondisi menggunakan statement If dan statement Case.

A. STATEMENT IF

If atau jika yaitu penyeleksian dengan menggunakan logika pengandaian. Statement if

mempunyai dua bentuk yaitu If-Then dan If-Then..Else. Seperti dalam looping, statement if juga

mempunyai bentuk tersarang (nested if).

1. persyaratan selection If

Pernyataan harus bernilai Boolean (False atau true )

Meentukan aksi yang dilakukan jika kondisi tersebut memenuhi

Setiap aksi tidak bileh beririsan

Analisis kasus harus mencangkup semua kemungkinan kasus

Struktur If-Then

Algoritma : Dalam pemrograman Pascal : Dalam pemrograman C :

if kondisi then if kondisi then if (kondisi)

statement 1 statement 1 statement 1;

else else else

statement 2 statement 2; statement 2;

endif (*endif*) /*endif*/

a. Penyeleksian Satu Kasus

Notasi algoritmik untuk analisis penyeleksian satu kasus adalah dengan

menggunakan struktur IF-THEN:

Page 1

Page 2: laporan praktikum

Benar

If kondisi then

Aksi

endif

Salah then

Kondisi akan diseleksi oleh statemen if. Bila kondisi bernilai benar (true), maka aksi sesudah

kata then (dapat berupa satu atau lebih aksi) akan diproses. Bila kondisi

bernilai salah (false), maka tidak ada aksi apapun yang akan dikerjakan. Statemen endif adalah untuk

mempertegas bagian awal dan bagian akhir struktur IF THEN.

Contoh: Algoritma menentukan apakah sebuah bilangan bulat merupakan bilangan genap.

benar

then

salah

Page 2

IF CONDISI

AKSI

Algoritma BILANGAN_GENAP{ Menentukan apakah sebuah bilangan bulatyang dibaca dari piranti masukanmerupakan bilangan genap }DEKLARASIbil : integerDESKRIPSI :read(bil)if bil mod 2 = 0 thenwrite(‘bilangan genap’)Endif

bil mod 2 = 0

‘bilangan genap’

END

Page 3: laporan praktikum

Contoh bahasa pemrograman dalam bahasa pascal:

Maka apabila di Run akan menghasilkan output sbagai berikur:

2. Struktur If-Then..Else

b. Penyeleksian Dua Kasus

• Notasi algoritmik untuk analisis penyeleksian dua kasus adalah dengan menggunakan struktur IF-

THEN-ELSE:

Benar

then

salah else

Page 3

IF Kondisi Then

Aksi 1

Else

aksi 2

endif

IF

Kondisi?

Aksi 1

Aksi 2

Page 4: laporan praktikum

Dalam struktur IF-THEN-ELSE, aksi1 akan dilaksanakanjika kondisi bernilai benar (true),

dan jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan. Statemen else

menyatakan ingkaran (negation) dari kondisi.

Contoh: Algoritma menentukan bilangan maksimum (terbesar) dari dua buah bilangan bulat.

benar

salah then

else

Page 4

Algoritma MAKSIMUM{ Menentukan bilangan terbesar dari dua bilangan bulat }DEKLARASIA, B : integerDESKRIPSI :read(A,B)if A > B thenwrite(‘Bilangan terbesar : ’,A)else { B A }write(‘Bilangan terbesar : ’,B)endif

A>B

Nilai terbesar A

Nilai terbesar B

END

program MAKSIMUM;{ Menentukan bilangan terbesar dari dua bilangan bulat }(* DEKLARASI *)varA, B : integer;(* DESKRIPSI *)beginwrite(‘Masukkan bilangan A : ‘);readln(A);write(‘Masukkan bilangan B : ‘);readln(B);if A > B thenwriteln(‘Bilangan terbesar : ’,A)elsewriteln(‘Bilangan terbesar : ’,B);(*endif*)end.

Page 5: laporan praktikum

Contoh bahasa pemrograman dalam pascal:

Apabila di Run akan muncul tampilan output sebagai berikut:

c. Penyeleksian Tiga Kasus atau Lebih (tersarang)

Notasi algoritmik untuk analisis penyeleksian tiga kasus atau lebih (tersarang) adalah tetap

dengan menggunakan struktur IF-THEN-ELSE sebagaimana halnya pada masalah dengan dua

kasus

• Tiga kasus:

Page 5

If kondisi then

Aksi 1

Else

If kondisi then

Aksi 2

Else

If kondisi then

Aksi 3

Endif

endif

If kondisi

1

If kondisi

2

Aksi 3

Aksi 1

Aksi 2

Page 6: laporan praktikum

Contoh bahasa pemrograman dalam pascal:

Apabila di Run maka akan muncul tampilan output sebagai berikut:\

Page 6

program MAKSIMUM;{ Menentukan bilangan terbesar dari dua bilangan bulat }(* DEKLARASI *)varA, B : integer;(* DESKRIPSI *)beginwrite(‘Masukkan bilangan A :‘);readln(A);write(‘Masukkan bilangan B :‘);readln(B);if A > B thenwriteln(‘Bilangan terbesar : ’,A)elsewriteln(‘Bilangan terbesar : ’,B);(*endif*)end.

Page 7: laporan praktikum

d. Empat kasus:

Contoh: Algoritma menentukan indeks nilai ujian mahasiswa:

Page 7

If kondisi then Aksi 1

elseIf kondisi then

Aksi 2Else

If kondisi then Aksi 3

ElseIf kondisi then

Aksi 4else

endifendif

endif

Kondisi1

Kondisi2

Kondisi3

Aksi 1

Aksi 2

Aksi 3

Aksi 4

Algoritma INDEKS_NILAI_UJIAN{ Menentukan indeks nilai mahasiswa berdasarkan nilaiujiannya }DEKLARASInilai : real { nilai ujian dalam numerik }indeks : char { ’A’, ’B’, ’C’, ’D’, ’E’ }DESKRIPSI :read(nilai)if nilai _ 80 thenindeks ‘A’elseif (nilai _ 70) and (nilai < 80) thenindeks ‘B’elseif (nilai _ 55) and (nilai < 70) thenindeks ‘C’elseif (nilai _ 40) and (nilai < 55) thenindeks ‘D’else { nilai < 40 }indeks ‘E’endifendifendifendifwrite(indeks)

Page 8: laporan praktikum

Contoh pascal :

Page 8

program INDEKS_NILAI_UJIAN;{ Menentukan indeks nilai mahasiswa berdasarkan nilai ujiannya }(* DEKLARASI *)varnilai : real; { nilai ujian dalam numerik }indeks : char;(* DESKRIPSI *)beginwrite(‘Masukkan nilai ujian : ‘);readln(nilai);if nilai >= 80 thenindeks := ‘A’elseif (nilai >= 70) and (nilai < 80) thenindeks := ‘B’elseif (nilai >= 55) and (nilai < 70) thenindeks := ‘C’elseif (nilai _ 40) and (nilai < 55) thenindeks := ‘D’else { nilai < 40 }indeks := ‘E’;(*endif*)(*endif*)(*endif*)(*endif*)writeln(‘Indeks nilai ujian = ‘,indeks);end.

Page 9: laporan praktikum

Apabila di output akan muncul tampilan sebagai berikut:

Penyeleksian Kondisi pada cPenyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian

kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka

maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir

melalui

tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama

untuk program yang kompleks.

1.STRUKTUR KONDISI “IF….”

Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi

tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam

blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah :

if(kondisi)

pernyataan;

Contoh Program 1 :

/* Program struktur kondisi if untuk memeriksa suatu kondisi */

#include “stdio.h”

#include “conio.h”

void main()

{ float nilai;

printf(“Masukan nilai yang didapat : “);

scanf(“%f”, &nilai);

if(nilai > 65)

printf(“\n ANDA LULUS !!!!\n”);

getch(); }

Page 9

Page 10: laporan praktikum

Bila program tersebut dijalankan dan kita memasukan nilai 80, maka perintah mencetak

perkataan LULUS !!!! akan dilaksanakan, namun sebaliknya bila kita memasukan sebuah nilai

yang kurang dari 65 maka program akan berhenti dan tidak dihasilkan apa-apa.

/* Program contoh penerapan struktur kondisi if */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

int a,b,c,max;

printf("Entry bil 1 : ");fflush(stdin);scanf("%i",&a);

printf("Entry bil 2 : ");fflush(stdin);scanf("%i",&b);

printf("Entry bil 3 : ");fflush(stdin);scanf("%i",&c);

if((a>b)&&(a>c))

max=a;

if((b>a)&&(b>c))

max=b;

if((c>a)&&(c>b))

max=c;

printf("Bil terbesar : %i\n",max);

if(max>0)

printf("Bil tsb adalah bil positif\n");

if(max<0)

printf("Bil tsb adalah bil negatif");

getch();

}

2 STRUKTUR KONDISI “IF......ELSE….”

Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang

diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi

yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya

adalah sebagai berikut :

Page 10

Page 11: laporan praktikum

if(kondisi)

pernyataan-1

else pernyataan-2

ontoh Program C:

#include “stdio.h”

#include “conio.h”

void main()

{ float nilai;

clrscr();

printf(“Masukan nilai yang didapat : “);

scanf(“%f”, &nilai); /* Masukan akan disimpan dalam variable nilai */

if (nilai > 65)

printf(“\n LULUS !!!\n”);

else

printf(“\n TIDAK LULUS !!!\n”);

getch();

}

Bila program tersebut dijalankan dan kita memasukan nilai 80 maka akan dicetak perkataan

“LULUS !!!” namun bila kita memasukan nilai yang kurang dari 65 maka akan tercetak perkataan

“TIDAK LULUS !!!”. Hal ini berbeda dengan struktur if dimana program akan berhenti bila kita

memasukan nilai kurang dari 65.

3 .STRUKTUR KONDISI “SWITCH....CASE....DEFAULT…”

Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi dengan

kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa

pernyataan ‘case’ tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan

hingga ditemukan pernyataan ‘break’. Jika tidak ada nilai pada case yang sesuai dengan nilai

kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah ‘default’. Bentuk umum

dari struktur kondisi ini adalah :

switch(kondisi)

{

case 1 : pernyataan-1;

Page 11

Page 12: laporan praktikum

break;

case 2 : pernyataan-2;

break;

.....

.....

case n : pernyataan-n;

break;

default : pernyataan-m

}

Translasi ke dalam bahasa C:

Persyaratan If :

Kondisi if harus bernilai Boolean ( true and false ) Jika syarat 1 benar maka aksi dijalankan, jika syarat 1 salah maka tidak dapat dijalankan. Pertanyaannya harus jelas.

Penjelasaan :

Apabila kondisi berniai true atau memenuhi persyaratan maka aksi 1 akan di jalankan tetapi jika kondisi bernilai false maka aksi 2 tidak di jalankan.

KESIMPULAN

Penggunaan fungsi if di gunakan untuk memecahkan masalah untuk mengambil suatu keputusan di antara banyaknya masalah yang ada. Tetapi pengunaan if strukturnya lebih panjang dan rumit di bandingkan dengan struktur case.

Selain itu fungsi if juga bisa di gunakan untuk memecahkan masalah lebih dari satu dengan menggunakan bentuk if bersusun

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 12

Page 13: laporan praktikum

BAB II

STUKTUR CASE

1. STATEMENT CASE

1. Persyaratan Selection Case:

Nilai dari ekspresi harus berbeda

Aksi dari ekspresi harus berupa runtunan

Boleh memakai otherwise yang bersifat optional Perbedaan case dengan if adalah susunan case lebih.

Bentuknya :

CASE ekspresi OF

case_label1 : statement_1;

case_label2 : statement_2;

..

END;

Struktur CASE dapat digunakan untuk menganalisis penyeleksian dua kasus atau lebih

dan bentuknya adalah lebih sederhana daripada struktur IF-THEN-ELSE yang memiliki

bentukbertingkat-tingkat.

Kondisi1, kondisi2, …kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai

kebenarannya mulai dari kondisi pertama sampai ditemukan kondisi yang benar. Jika kondisi ke-k

benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan

dengan kondisi ke-k dapat lebih dari satu, karena ituia berupa runtunan. Jika tidak ada satupun

kondisi yang benar, maka aksi sesudah otherwise (optional) dikerjakan.

Page 13

Case nama

Kondisi 1 : aksi 1

Kondisi 2 : aksi 2

Kondisi 3 : aksi 3

.

Kondisi N : aksi N

Page 14: laporan praktikum

Bentuk umum instruksi case :

Case(variabel)

Nilai-1 : aksi-1;

Nilai-2 : aksi-2;

Nilai-3 : aksi-3;

............

Default : aksi-n;

Endcase.

Bentuk case di atas dapat di terjemahkan sbagai berikut :

Dimungkinkan ada n-buah aksi,mulai dari aksi-1 hingga aksi-n.

Setiap aksi hanya di lakukan apabila suatu nilai varibel di capai sesuai persyaratan. Misalnya,

aksi-1 dilakukan hanya bila variabel bernilai nilai-1,aksi-2 di lakukan apabila varibel bernilai

nilai-2, dan seterusnya.

Apabila tak satu pun nilai varibel yang cocok maka aksi-ndi kerjakan sebagai aksi

“default”(hanya dikerjakan apabila tidak ada yang memenhi syarat).

Page 14

Page 15: laporan praktikum

2. Struktur CASE menggantikan analisis kasus yang ekivalen dengan struktur IF-THEN-

ELSE berikut ini:

Contoh program selection CASE :

Algoritma teks : translasi ke dalam pascal

Deklarasi uses crt;

N : integer var

Deskripsi nilai : integer;

Read (masukan nilai :) begin

Case nilai of clrscr;

90 … 100 : write(A) write(‘masukan nilai=’); readln(nilai);

70 … 89 : write(B) case nilai of

Page 15

Page 16: laporan praktikum

50 … 69 : write(C) 90 … 100 : writeln(‘A’);

40 … 49 : write(D) 70 … 89 : writeln(‘B’);

0 … 39 : write(E) 50 … 69 : writeln(‘C’);

Endcase 40 … 49 : writeln(‘D’);

0 … 39 : writeln(‘E’);

end;

Readln;

End.

Algoritma teks : progam C :

Deklarasi #include<stdio.h>

#include<math.h>

Hitung1,hitung2,hitung3,N: real; main()

Pilihan : integer; { int pilihan;

Read(masukan pilihan, N) float hitung1,hitung2,hitung3,N;

Hitung1 ( N/6 ) * 4/3 printf(“masukan pilihan:”);

Hitung2 N*N + hitung1 scanf(“%d”, &pilihan);

Hitung3 sqrt(hitung2) + (N-hitung1) printf(“N:”);

scanf(“%f”, &N);

Case pilihan hitung1= (N/6) * 4/3;

1 : write(hitung1) hitung2= N*N + hitung1;

2 : write(hitung2) hitung3= sqrt (hitung2) +(Nhitung1);

3 : write(hitung3) switch(pilihan)

Page 16

Page 17: laporan praktikum

Endcase .

End { case 1 : printf(“hasilnyaadalah:%f”,hitung1);

Break;

case 2 : printf(“hasilnya adalah:%f”,hitung2);

Break;

case 3 : printf(“hasilnya adalah:%f”,hitung3);

Break;

}}

Tidak semua bahasa pemrograman menyediakan struktur CASE (misalnya Bahasa Fortran).

Bahasa Pascal dan C menyediakan struktur ini. Jika bahasa pemrograman tidak menyediakan

struktur CASE, maka struktur CASE dapat diganti dengan struktur IF-THEN-ELSE yang ekivalen.

Suatu permasalahan dapat dianalisa berdasarkan jumlah kasus yang dimilikinya, sehingga

nantinya dapat ditentukan aksi apa yang akan dilakukan bila suatu kasus dimasuki Struktur

penyeleksian adalah berupa struktur IF-THEN (atau IF-THEN-ELSE) dan struktur CASE.

KESIMPULAN

Penggunaan case tidak seluas if dan case lebih terbatas penggunaannya,

Karena dalam case tidak berfungsinya operator perbandingan. Dan nilai yang di case kan

harus bertipe integer atau karakter.

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 17

Page 18: laporan praktikum

BAB III

LOOPING FOR

1. LOOPING FOR-DO

Looping for-do digunakan untuk mengulang statement berulang kali sejumlah yang

ditentukan. Bila terdapat lebih dari satu statement yang ada di dalam looping maka menggunakan

begin...end;, jika hanya satu blok saja tidak perlu menggunakan begin...end;. Ada 3 bentuk looping

for-do yaitu for-do positif, for-do negatif dan for-do tersarang.

1. Persyaratan FOR-DO

Pencacah harus bernilai integer atau karakter, tetapi real tidak dapat digunakan

sebagai pencacah

Aksi dapat berupa satu atau lebih intruksi yang diulang

Nilai awal harus lebih keil atau sama dengan nilai akhir (for menaik )

Nilai awal harus lebih besar atau sama dengan nilai akhir (for menurun)

Penacacah diinisialisasi dengan nilai awal, nilai awal secara otomatis bertambah satu

setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan

nilai akhir

Jumlah pengulangan yang terjadi adalah nilai akhir-nilai awal +1

Bentuk umum pernyataan for ada 2 macam yaitu menaik (ascenfing) atau menurun

(descending).

FOR menaik :

For pencacah nilai_awal to nilai_akhir do

Aksi

Endfor.

Keterangan:

Pencacah haruslah dari type data yang memiliki predecessor dan successor, yaitu integer atau

karakter.tipe riil tidak dapat digunakan sebagai pencacah.

Aksi dapat berupa satu atau lebih instruksi yang si ulang.

Nilai_awal harus lebih kecil atau sama dengan nilai_akhir.jika nilai_awal lebih besar dari

nilai_akhir, maka badan pengulangan tidak dimasuki.

Page 18

Page 19: laporan praktikum

Pada awalnya,pencacah diinisialisasi dengan nilai_awal. Nilai pencacah secara otomatis

bertambah satu setiap kali badan pengulangan dimasuki,sampai akhirnya nilai pencacah sama

dengan nilai_akhir.

Jumlah pengulangan yang terjadi adalah nilai_akhir-nilai_awal +1.

FOR menurun :

For pencacah nilai_akhir downto nilai_awal do

Aksi

Endfor.

Keterangan :

Pencacah haruslah dari type data yang memiliki predecessor dan successor, yaitu integer atau

karakter.tipe riil tidak dapat digunakan sebagai pencacah.

Aksi dapat berupa satu atau lebih instruksi yang si ulang.

Nilai_akhir harus lebih kecil atau sama dengan nilai_awal.jika nilai_akhir lebih besar dari

nilai_awal, maka badan pengulangan tidak dimasuki.

Pada awalnya,pencacah diinisialisasi dengan nilai_akhir. Nilai pencacah secara otomatis

bertambah satu setiap kali badan pengulangan dimasuki,sampai akhirnya nilai pencacah sama

dengan nilai_awal Jumlah pengulangan yang terjadi adalah nilai_awal-nilai_akhir +1.

2. Looping For-Do Tersarang (Nested For)

Looping tersarang yaitu looping yang ada di dalam looping lainnya. Looping yang lebih

dalam akan diproses terlebih dahulu hingga habis kemudian looping yang lebih luar bertambah atau

berkurang dan memproses kembali looping yang paling dalam. Untuk lebih jelasnya, perhatikan

listing code program berikut :

Bila dicompile, maka outputnya :

11 12 13

21 22 23

Dengan digit/angka yang kiri adalah I dan yang kanan adalah j. Bagaimana bisa terjadi demikian?!?

Page 19

Page 20: laporan praktikum

Looping disamping bisa digambarkan seperti berikut :

Untuk i=1 è Untuk j=1 è write(i,j,’ ‘); = 11

Untuk j=2 è write(i,j,’ ‘); = 12

Untuk j=3 è write(i,j,’ ‘); = 13 writeln;

Untuk i=2 è Untuk j=1 è write(i,j,’ ‘); = 21

Untuk j=2 è write(i,j,’ ‘); = 22

Untuk j=3 è write(i,j,’ ‘); = 23 writeln;

Cara kerja program diatas yaitu cabang looping harus didahulukan operasi loop-nya

kemudian baru sub-nya. Looping tersebut berakhir sampai sub dan cabang bernilai akhir. Sekarang

analisis kedua listing code berikut :

true

false

Akhir for

Keterangan:

Page 20

Variabel = niali_awal

Variabel<=nilai_akhir

pernyataan

Variabel = variabel + 1

Page 21: laporan praktikum

Pencacah haruslah dari tipe data yang memiliki predecesser dan succerror,yaitu

integer atau karakter.tipe riil tidak dapat digunakan sebagai pencacah.

Aksi dapat berupa satu atau lebih instruksi yang di ulang.

jumlah pengulangan yang terjadi adalah nilai_akhir – nilai_awal + 1 .

Contoh Soal ;

C

#include <stdio.h>

main()

{

int i;

float c, f;

f=32;

for (i=1; i<=5; i++)

{

c=(f-32)*5/9;

printf("%0.5f %0.5f \n", f, c);

f=f+10;

}

}

PASCAL

program konversi;

Page 21

Page 22: laporan praktikum

uses crt;

var i : integer;

c,f : real;

begin

clrscr;

f := 32;

for i := 1 to 5 do

begin

c := 5/9 * (f - 32);

writeln (f:2:2 , c:10:2);

f := f+10;

end;

readln;

end.

Page 22

Page 23: laporan praktikum

Printscreen

pascal

Page 23

Page 24: laporan praktikum

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 24

Page 25: laporan praktikum

BAB IV

WHILE

1. PERULANGAN WHILE-DO

. persyaratan Looping While:

Kondisi harus bernilai false agar prulangan berhenti

Didalam badan perulangan harus ada intruksi untuk mengubah nilai kondisi

Peubah harus terdefinisi nilainya sebelum pengulangan dilaksanakanpertama kali

While digunakan pada kasus yang mengharuskan terlebih dahulu pemeriksaan kondisi objek,

sebelum objek tersebut dimanupulasi

Looping dengan while-do mempunyai bentuk seperi berikut :

while ekspresi_logika/relasi do statement;

Statement while-do digunakan untuk melakukan proses looping suatu statemen terus-menerus

selama ekspresi_logika/relasi bernilai benar atau belum terpenuhi.

Page 25

Page 26: laporan praktikum

Ekspresi relasi-nya yaitu i < 5. Jadi jika i masih lebih kecil dari 5 maka statement akan terus

diproses berulang, dan proses akan berhenti setelah i tidak lagi lebih besar dari 5 (i > 5). Maka dari

itu di dalam statement ada i:=i+1; yang akan menambahkan nilai i satu persatu supaya i > 5. Lihat

code berikut yang mebaca input dan mengoperasi-kannya. Kemudian ada penyeleksian input jika

memenuhi akan diulangi jika tidak akan berhenti.

program cel_to_fah; uses wincrt;

var cel,fah:real; lagi:char;

begin

lagi:=’y’;

while lagi=’y’ do

clrscr; {prosedur untuk menghapus layar}

write(‘Nilai celcius ? ‘);

readln(cel);

fah:=1.8 * cel + 32;

writeln(‘Fahrenheit = ‘,fah:5:2);

write(‘Menghitung lagi (y/t) ? ‘);

readln(lagi);

end; end.

Page 26

Page 27: laporan praktikum

Di dalam looping while-do juga terdapat while-do tersarang (nested while-do). Dan pada

prinsipnya adalah sama dengan nested for-do. Pemrograman Bahasa C dengan Turbo C

Perullangan pada cDalam bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses yang

berulangulang

sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan mencetak bilangan dari 1

sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan. Namun dengan struktur perulangan

proses, kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa

perintah saja. Struktur perulangan dalam bahasa C mempunyai bentuk yang bermacam-macam.

1 STRUKTUR PERULANGAN “ WHILE”

Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini banyak

digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut

selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah.

Contoh Program 1 :

/* Program Perulangan menggunakan while */

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

x = 1; /* awal variabel */

while (x <= 5) /* Batas akhir perulangan */

{ printf(“%d BAHASA C\n”, x);

x ++; /* variabel x ditambah dengan 1 */

}

getch();

}

Jika program tersebut dijalankan maka akan menghasilkan hasil sebagai berikut

1BAHASA C

2BAHASA C

3BAHASA C

Page 27

Page 28: laporan praktikum

4BAHASA C

5BAHASA C

Pada perulangan while di atas, proses atau perintah mencetak kata-kata “BAHASA C” akan

terus dilakukan selama variabel x masih kurang atau sama dengan 10. Setiap kali melakukan

perulangan, nilai dari variabel x akan bertambah 1.

Contoh Program 2 :

/* Program mencetak deret bilangan dengan menggunakan while */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

int i=1,x;

while(i<=3)

{ x=1;

while(x<=i)

{ printf("%3i",x);

x=x+1;

}

printf("\n");

i=i+1;

}

getch();

}

2 STRUKTUR PERULANGAN “DO.....WHILE…”

Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja

pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada

perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan

struktur do…while sekurang-kurangnya akan terjadi satu kali perulangan.

Page 28

Page 29: laporan praktikum

Contoh Program :

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

x = 1;

Kuliah Berseri IlmuKomputer.Com

Copyright © 2003 IlmuKomputer.Com

do

{ printf(“%d BAHASA C\n”, x);

x ++;

}

while(x <= 10);

getch(); }

3 STRUKTUR PERULANGAN “FOR”

Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk umum perulangan for adalah sebagai r=t/i;printf("\n Rata rata : %.2f",r);getch();}Contoh Program 1 :

/* Program perulangan menggunakan for */

#include “stdio.h”

#include “conio.h”

void main()

{ int x;

for(x = 1; x<= 10; x++)

{ printf(“%d BAHASA C\n”, x); }

getch();

}

Page 29

Page 30: laporan praktikum

Contoh Program 2 :

/* Mencari total dan rata-rata sejumlah bilangan menggunakan for */

#include"stdio.h"

#include"conio.h"

void main()

{ clrscr();

float r,i,x,t=0;int y;

for(y=1;y<=3;y++)

for(i=0;i<=2;i++)

{ printf("Entry bilangan %i : ",y);scanf("%f",&x);

t=t+x;

y=y+1;

}

printf("\n Total : %.2f",t);

r=t/i;

printf("\n Rata rata : %.2f",r);

getch();

}

Flowchart while

false

true

Page 30

kondisi

pernyataan

Page 31: laporan praktikum

Dari diagram di atas terlihat bahwa ada kemungkinan pernyataan tidak dieksekusi sama sekali .keadaan ini terjadi kalau kondsi awal bernilai false.

Contoh Program

C

#include <stdio.h>

main()

{

int i, jumlah;

jumlah=0;

i=1;

while(i<=5)

{

jumlah=jumlah+2;

printf("jumlah deret ke %d : %d\n",i,jumlah);

i++;

}

}

PASCAL

var

i,n,jumlah : integer;

begin

n := 2;

jumlah := 0;

i :=1;

while i <= 5 do

Page 31

Page 32: laporan praktikum

begin

jumlah := jumlah + 2;

writeln('jumlah deret ke ', i, ': ' , jumlah);

n := n+2;

i := i+1; end;

readln;

end.

Printscreen

C

Page 32

Page 33: laporan praktikum

PASCAL

Page 33

Page 34: laporan praktikum

KESIMPULAN

Aksi akan dilaksanakan berulangkali selama kondisi bernilai true. Jika kondisi bernilai

false, badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai. Kondisi di

akhir pengulangan (setelah endwhile) disebut loop invariant, yaitu variabel kondisi yang

nilainya sudah tidak berguna lagi.

Yang harus diperhatikan adalah pengulangan harus berhenti. Pengulangan yang tidak

pernah berhenti menandakan bahwa logika algoritma tersebut salah. Pengulangan berhenti

apabila kondisi bernilai falsei. Agar kondisi suatu saat bernilai false, maka di dalam badan

pengulangan harus ada instruksi yang mengubah nilai kondisi.

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 34

Page 35: laporan praktikum

BAB V

REPEAT

1. PERULANGAN REPEAT..UNTIL

A. Persyaratan Looping Repeat:

Pada perulangan kondisi harus bernilai Boolean

Didalam badan perulangan harus ada intruksi untuk mengubah nilai kondisi

Peubah harus terdefinisi nilainya sebelumpengulangan dilaksanakan pertama kali

Repeat di ginakan pada kasus yang terlebih dahulu memanipulasi objek baru, kemudian

memeriksa objek tersebut

B.definisi Repeat..Until

Repeat.. until adalah proses looping suatu statement secara terus menerus hingga ekspresi

yang ada di dalam until bernilai false atau sudah terpenuhi. Dengan kata lain looping repeat..until

prosesnya berkebalikan dengan looping while-do. Bentuknya:

Bentuk pernyataan REPEAT:

Penjelasan:

notasi ini menjelaskan pengulangan lpada kondisi boolean.aksi di dalam badan kalang di

ulang-ulang sammpai kondisi bernilai true. dengan kata lain , jika kondisi masih false ,proses

pengulangan masih terus dilakukan .karena proses pengulangan suatu saat harus berhenti. Maka di

dalam badan pengulangan harus ada pernyataan yang mengubah nilai peubah kondisi.

Page 35

REPEAT

Pernyataan_1 :

Pernyataan_2 :

...

Pernyataan_n :

UNTIL kondisi

Page 36: laporan praktikum

Pernyataan REPEAT memiliki makna yang sama sengan WHILE , dan dalam beberapa masalah

kedua pernyataan tersebut komplemen satu sama lain.

false

true

true

end

Tampak bahwa pengulangan justru dilakukan selama kondisi bernilai salah (false). Jadi

erupakan kebalikan dari WHILE .perbedaaan yang lain terhadap WHILE ,pemeriksaan terhadap

kondisi pada REPEAT dilakukan belakangan ,setelah bagian pernyataan yang terletak antara

REPEAT dan UNT IL.

Page 36

Repeat statement; until ekspresi_logika/relasi;

Perhatikan contoh berikut :

program repeat_until;

uses wincrt;

var i:byte;

begin

i:=0;

repeat

i:=i+1;

writeln(i);

until i=5;

end.

pernyataan

kondisi

Page 37: laporan praktikum

Proses looping akan terus dilakukan hingga ekspresi terpenuhi. Pada contoh, penambahan i

terus dilakukan hingga i=5. Sekarang pada program repeat_until, coba anda ganti ekspresi di dalam

until menjadi i>5. Kemudian anda compile dan apa yang terjadi ??! Coba bandingkan contoh looping

menggunakan repeat..until dengan looping while-do ini!

repeat while

Page 37

Output yang dihasilkan adalah :

12345

program sample_repeat;uses wincrt;var i:integer;begini:= 10;repeatwriteln(i);i:=i + 1;until i>5;end.

program sample_while;uses wincrt;var i:integer;begini:= 10;while i<5 dobeginwriteln(i);i:=i+1;end;end.

Output : Tidak ada hasilOutput :11

Page 38: laporan praktikum

Dari kedua contoh diatas dapat disimpulkan perbedaan kedua operasi tersebut : Ø Paling

sediki statement di dalam looping repeat diproses sekali, karena pemenuhan syarat until terletak

setelah statement. Sedangkan looping while statement-nya palingsedikit dikerjakan nol kali, karena

pemenuhan syarat while terletak sebelum statement. Ø Looping repeat tidak memerlukan blok

statement (begin..end;) pada statement yang lebih dari satu, karena batasnya sudah ditunjukkan oleh

repeat..until. Sedangkan while memerlukan blok statement (begin..end;) jika statementnya lebih dari

satu.

Didalam looping repeat..until juga terdapat looping tersarang (nested repeat). Sama seperti

nested for dan nested while dalam hal aturan, yaitu di dalam looping terdapat looping yang lain.

Perhatikan code program berikut yang menggunakan nested repeat. Program ini akan menghitung

sisi-sisi segitiga siku-siku dengan menggunakan rumus phytagoras yaitu C = A2 + B2.

Page 38

Page 39: laporan praktikum

KESIMPULAN

Aksi di dalam badan kalang diulang-ulang sampai kondisi bernilai true. Dengan kata

lain, jika kondisi masih false, proses pengulangan masih terus dilakukan. Karena proses

pengulangan suatu saat harus berhenti, maka di dalam badan pengulangan harus ada pernyataan

yang mengubah nilai peubah kondisi.

Pernyataan repeat memiliki makna yang sama dengan while, dan dalam beberapa

masalah kedua pernyataan tersebut komplemen satu sama lain.

DAFTAR PUSTAKA

Suarga,Drs.M.Sc.,M.Math.,Ph.D.algoritma pemrograman.andi yogyakarta.

Murnir, renaldi (2007). Algoritma dan Pemograman. Bandung:informatika Bandung.

Praktikum, team pengelola (2010) modul praktikum.. Garut : STT GARUT.

Page 39