Anda di halaman 1dari 18

I.

Tujuan Instruksional Khusus :


Setelah Menyelesaikan praktek ini mahasiswa dapat :
1. Mengetahui dan memahami tentang struktur perulangan ( loop / repitive) dalam
pseudocode.
2. Menjelaskan tentang bentuk umum atau struktur dari struktur- struktur perulangan
tersebut.
3. Membuat algoritma dengan pseudocode yang melibatkan permasalahan-permasalahan
yang membutuhkan proses perulangan.
II. Alat dan Bahan
-

PC minimal P-233 MMX


Disket DOS/Start Up Win98 , Program Bahasa Pascal, Disket Data dan Word
Processing

III. Dasar Teori :


Salah satu proses didalam suatu algoritma adalah proses perulangan (loop). Ada
beberapa struktur perulangan yang kita kenal, antara lain :
1. Struktur DO-WHILE
2. Struktur WHILE
3. Struktur REPEAT
4. Struktur FOR
5. Nested Loop
1.Stuktur DO-WHILE
Pada pernyataan do-while, tubuh loop (berupa pernyataan) berada diawal, sedangkan
kondisi
berada dibelakang. Berikut ini flow chart dan bentuk umum pernyataan do-while :
Struktur diagram alirnya :

Meyla Yan Sari | Looping

Gambar 1
Catatan :
- KONDISI adalah ungkapan yang digunakan untuk menyatakan suatu yang
disyaratkan (ungkapan akan bernilai boolean (kondisi true atau false) )
- Aksi adalah perintah-perintah yang dikerjakan selama loop berlangsung. Biasanya
perulangan dalam dowhile pasti berupa aksi jamak.
Contoh :
1. Penggunaan DO-WHILE untuk proses perulangan yang jumlah perulangannya dapat
diketahui
Cacah

1 { inisialisasi variable counter }

do
output (Selamat Belajar Algoritma)
cacah

cacah+1 {increment variabel counter}

while(cacah 100)

2. Penggunaan DO-WHILE, untuk mengunci pemakai agar yang ditekan hanya tombol
Y,y, T, atau t ( bila tombol lain yang ditekan maka loop akan berjalan terus):
do
pilih

input(karakter) /* baca tombol */

sdh_bnr (pilih =Y) OR (pilih =y) OR


(pilih =T) OR (pilih =t)
while(NOT sdh_bnr)

Meyla Yan Sari | Looping

2. Stuktur WHILE
berbeda dengan do-while, pada pernyataan while pengujian terhadap loop dilakukan
dibagian
awal ( sebelum tubuh loop), untuk lebih jelasnya perhatikan flow chart dan bentuk
umum
pernyataan while berikut.
Struktur diagram alirnya :

Contoh:
1. Penggunaan WHILE untuk proses perulangan yang jumlah perulangannya dapat
diketahui
Cacah

0 { inisialisasi variable counter }

While (cacah 100)


Write (Selamat Belajar Algoritma)
Cacah

cacah+1 {increment variabel counter}

endwhile

2. penggunaan WHILE, untuk kasus yang sama seperti permasalahan di atas


sdh_bnr

0 { diberi nilai awal dahulu }

while (!sdh_bnr)
pilih

read(karakter { baca tombol }

sdh_bnr

(pilih =Y) || (pilih =y) ||

Meyla Yan Sari | Looping

(pilih =T) || (pilih =t)


endwhile

3.Struktur REPEAT
Secara prinsip kerja struktur REPEAT sama dengan struktur WHILE. Perbedaan
mendasar antara keduanya adalah pada masalah logika pengulangan, yaitu perulangan
dalam struktur REPEAT akan berjalan selama kondisi bernilai salah sedang pada
struktur WHILE adalah sebaliknya. Untuk implementasinya struktur REPEAT hanya
jalan di bahasa Pascal, sedangkan struktur DO-WHILE hanya jalan di bahasa C.
4.Struktur FOR
Struktur perulangan yang lain adalah struktur FOR. Bentuk umum dan flow chart dari
struktur FOR adalah sebagai berikut

5.Nested loop (loop dalam loop)


Dalam suatu loop bisa terkandung loop yang lain. Loop seperti ini dikenal dengan
istilah loop dalam loop ( nested loop). Berikut ini contoh permasalahan yang
membutuhkan nested loop untuk membuat tabel perkalian :

Meyla Yan Sari | Looping

IV. Langkah Kerja


1. Hidupkan komputer anda !
2. Jalankan Microsoft Word, dengan cara menekan tombol Start>Program>MS Office
2000>Microsoft Word. Selanjutnya tuliskan algoritma dari permasalahan berikut ini
dan simpan dalam satu nama file : Lat05.doc.
3. Buatlah algoritma dengan model pseudocode untuk menampilkan nim, nama, kelas
dan jurusan anda sebanyak 25 kali. Gunakan struktur WHILE, DO-WHILE, REPEAT
dan FOR untuk menyelesaikan masalah ini.
Algoritma menampilkan_data_25_kali
{ Menampilkan nim, nama, kelas, jurusan sebanyak 25 kali.}
Kamus
char nim[10],nama[20],kelas[10],jurusan[30]
int no 1
Algoritma
input (nim)
input (nama)
input (kelas)
input (jurusan)
output (Menampilkan dengan struktur WHILE)
while (no 25)
output (nim)
output (nama)
output (kelas)
output (jurusan)
no no + 1
endwhile
output (Menampilkan dengan struktur DO-WHILE)
do
output (nim)
output (nama)
output (kelas)
output (jurusan)
no no + 1
while(no 25)
Meyla Yan Sari | Looping

output (Menampilkan dengan struktur REPEAT)


repeat
output (nim)
output (nama)
output (kelas)
output (jurusan)
no no + 1
until no 25
output (Menampilkan dengan struktur FOR)
for no 1 to 25 do
output (nim)
output (nama)
output (kelas)
output (jurusan)
endfor

4. Kasus 1 (selesaikan dalam bentuk pseudocode): Diketahui suatu n deret bilangan


positif (1, 2, 3, .n), dimana jumlah deret dimasukkan melalui piranti masukan.
Tugas anda hitunglah jumlahan genap dan jumlahan ganjil dari deret bilangan
tersebut. Tampilan hasil jumlahan tersebut kelayar.
Jawab:
Deklarasi
I, Bilangan, Ganjil, Genap : integer
deskripsi
input(bilangan)
for I

1 to Bilangan do

if ( I mod 2 = 0) then
genap

genap + I

ganjil

ganjil + I

else

endif
endfor
output (genap)
output (ganjil)
5. Kasus 2 (selesaikan dalam bentuk pseudocode):

Meyla Yan Sari | Looping

Seorang pengguna ingin memasukkan sejumlah karakter melalui peranti masukan.


Jumlah karakter yang dimasukkan bisa satu s/d n karakter. Untuk mengakhiri proses
pemasukan karakter digunakan karakter ENTER. Dari permasalahan ini hitunglah
jumlah karakter yang dimasukkan, jumlah kata yang terbentuk dari masukan tersebut.
Hitung_karakter
Deklarasi
I : integer
Jumkar=0 : integer
Teks [200] : character
Deskripsi
Input (kalimat)
For (i=0; teks[i]; i++)
Jumkar++
endfor
Output (jumlah karakter)
6. Kasus 3 (selesaikan dalam bentuk pseudocode) :
Lihat kasusnya di bagian Nested Loop. Untuk nilai maks_baris dan maks_kolom
dimasukkan dari peranti masukan.
Algoritma Nested_Loop
{ Membuat tabel perkalian dengan struktur FOR yang batas baris dan
kolomnya ditentukan dari piranti inputan }
Kamus
int hasil,maks_baris,maks_kolom,baris,kolom
Algoritma
input (maks_baris)
input (maks_kolom)
for baris 1 to maks_baris do
for kolom 1 to maks_kolom do
hasil = baris * kolom
output (hasil)
endfor

7. Kasus 4 (selesaikan dalam bentuk pseudocode):


Seorang dosen dalam memberikan nilai akhir suatu mata kuliah berpatokan pada tabel
berikut :

Meyla Yan Sari | Looping

Algoritma Menentukan_Nilai_Akhir
{ Menginputkan 10 nilai laporan dan dirata-rata kemudian dikali 45%, 5 nilai tugas
dan dirata-rata kemudian dikali 20%, 1 nilai mid test dan dikali 15%, 1 nilai end test
dan dikali 20%. Setelah mendapatkan hasil dari masing - masing nilai, jumlahkan
seluruhnya dan tampilkan hasil ke layar. }
Kamus
int nA,nL,total_nL,nT,total_nT,nMid,nEnd,total_nEnd
float total_nMid
int no
total_nL = 0
total_nT = 0
Algoritma
for no 1 to 10 do
input (nL)
total_nL total_nL + nL
endfor
total_nL = (total_nL / 10) * 0,45
for no 1 to 5 do
input (nT)
total_nT total_nT + nT
endfor
total_nT = (total_nT / 5) * 0,2
input (nMid)
total_nMid = nMid * 0,15
input (nEnd)
total_nEnd = nEnd * 0,2
nA = total_nL + total_nT + total_nMid + total_nEnd
Meyla Yan Sari | Looping

output (nA)
8. Kasus 5 (selesaikan dalam bentuk pseudocode) :
Diketahui suatu tabel operasi dua bilangan ( penjumlahan, pengurangan, pembagian
dan perkalian). Dari operasi tersebut buatlah kendali operasi dengan suatu menu
utama. Untuk dua bilangan yang akan dioperasikan dimasukkan melalui suatu peranti
masukan. Proses akan keluar bila pengguna memilih pilihan kelima yaitu keluar.
Contoh keluaran menu utama :
<<<< MENU OPERASI DUA BILANGAN >>>>
1. Penjumlahan
2. Pengurangan
3. Perkalian
4. Pembagian
5. Selesai
===================================
Pilihan Anda (1/2/3/4/5) :
Pseudocode
Algoritma menubilangan
Deklarasi
menu,n1,n2,hasil : integer;
Deskripsi
output("<<<< MENU OPERASI DUA BILANGAN >>>>)
output("-----------------------------------)
output("

1. Penjumlahan)

output("

2. Pengurangan)

output("

3. Perkalian)

output("

4. Pembagian)

output("

5. Selesai\n)

output("-----------------------------------)
input("Pilihan anda (1/2/3/4/5))
if (pil==5) then
selesai
else

input(bilangan pertama)
input(bilangan kedua)
if (pil==1) then
hasil n1 + n2;
Meyla Yan Sari | Looping

else if (pil==2) then


hasil n1 - n2;
else if(pil==3) then
hasil n1 * n2;
else
hasil n1 / n2;
endif
endif
endif
endif
output(hasil)
9. Cobalah anda implementasikan permasalahan nomor 4, 5, 6, 7, 8 dan 9 ke dalam
bentuk program dengan menggunakan bahasa pemrograman Pascal.
No.4

Meyla Yan Sari | Looping

10

No. 5

No. 6
Meyla Yan Sari | Looping

11

No. 7
#include <stdio.h>
main()
{
int nA,nL,total_nL,nT,total_nT,nMid,nEnd,total_nEnd;
float total_nMid;
int no;
total_nL = 0;
total_nT = 0;
for(no=1;no<=10;no++)
{
printf("Masukan Nilai Laporan ke %i = ",no);

Meyla Yan Sari | Looping

12

scanf("%d",&nL);
total_nL = total_nL + nL;
}
total_nL = (total_nL / 10) * 0.45;
for(no=1;no<=5;no++)
{
printf("Masukan Nilai Tugas ke %i = ",no);
scanf("%d",&nT);
total_nT = total_nT + nT;
}
total_nT = (total_nT/5) * 0.2;
printf("Masukan Nilai Mid Test = ");
scanf("%d",&nMid);
total_nMid = nMid * 0.15;
printf("Masukan Nilai End Test = ");
scanf("%d",&nEnd);
total_nEnd = nEnd * 0.2;
nA = total_nL + total_nT + total_nMid + total_nEnd;
printf("\n");
printf("Nilai Akhir = %d",nA);
}

No. 8
#include <stdio.h>

Meyla Yan Sari | Looping

13

main()
{
int menu,n1,n2,hasil;
do
{
printf("\n<<<<< MENU OPERASI DUA BILANGAN >>>>>\n");
printf("=====================================\n");
printf("1. Penjumlahan\n");
printf("2. Pengurangan\n");
printf("3. Perkalian\n");
printf("4. Pembagian\n");
printf("5. Selesai\n");
printf("=====================================\n");
printf("Pilihan Anda (1/2/3/4/5) : ");
scanf("%i",&menu);
if(menu == 1)
{
printf("Masukan angka 1 : ");
scanf("%i",&n1);
printf("Masukan angka 2 : ");
scanf("%i",&n2);
hasil = n1 + n2;
printf("Hasil : %i\n",hasil);
}else if(menu==2)
{
printf("Masukan angka 1 : ");
scanf("%i",&n1);
printf("Masukan angka 2 : ");
scanf("%i",&n2);
hasil = n1 - n2;
printf("Hasil : %i\n",hasil);
}else if(menu==3)
{
printf("Masukan angka 1 : ");
scanf("%i",&n1);

Meyla Yan Sari | Looping

14

printf("Masukan angka 2 : ");


scanf("%i",&n2);
hasil = n1 * n2;
printf("Hasil : %i\n",hasil);
}else if(menu==4)
{
printf("Masukan angka 1 : ");
scanf("%i",&n1);
printf("Masukan angka 2 : ");
scanf("%i",&n2);
hasil = n1 / n2;
printf("Hasil : %i\n",hasil);
}
}while(menu!=5);
printf("\nTerima kasih !");
}

V. Pertanyaan / Tugas
1. Apa yang anda ketahui tentang loop ? jelaskan dengan singkat dan jelas !
2. Struktur do-while dan repeat mempunyai kesamaan struktur yang hampir sama,
tetapi keduanya mempunyai logika pengulangan yang berbeda. Apa maksud dari
pernyataan tersebut ? berikanlah alasan anda dan sertai pula contoh riil masalah
yang menjelaskan keduanya.
3. Buatlah algoritma yang melibatkan masalah nested loop ! Silahkan masalah yang
akan anda selesaikan berdasarkan analisa anda sendiri.
4. Buatlah kesimpulan dari praktik yang anda lakukan dari jobsheet ke empat ini.

Meyla Yan Sari | Looping

15

VI. Penutup
Demikian laporan job 5 logika dan algoritma ini saya buat. Apabila terdapat kesalahan
dalam penulisan, mohon kritik dan sarannya.

Meyla Yan Sari | Looping

16

VII. Daftar Pustaka


Jobsheet Algo 05.pdf
Handoko, S. 2011. BUKU AJAR LOGIKA & ALGORITMA.pdf. Semarang:
Politeknik Negeri Semarang.

Meyla Yan Sari | Looping

17

VIII. Lampiran
1. Loop adalah proses yang perulangan sampai dengan batas tertentu yang telah
ditentukan sebelumnya.
2. Struktur do-while memiliki persyaratan perulangan bernilai true, jadi apabila batas
perulangan masih bernilai true, maka perulangan akan terus berlanjut. Tetapi
Repeat memiliki syarat perulangan bernilai false. Perulangan akan berlanjut
selama batas bernilai false.
3. Lagu anak ayam :
Algoritma Lagu_Anak_ayam
{ Menampilkan lagu anak ayam berkurang satu satu dan jumlah anak ayam di
inputkan dari keyboard }
Kamus
Int jmlanak,no
Char lagi
Algoritma
Do
Input(jmlanak)
no = 0
Do
Output(Anak ayam turunlah jmlanak , mati satu tinggalah jmlanak - 1)
Jmlanak jmlanak - 1
While(jmlanak>no)
Output (Anak ayam turunlah 1, mati satu tinggal induknya)
Input(lagi)
While(lagi=Y)
4. Kesimpulan
Looping adalah proses perulangan sampai dengan batas tertentu. Dengan Looping,
programmer tidak harus menuliskan kode program secara berulang kali. Struktur
Looping ada 5, yaitu Do-while, while, for, repeat-untill, dan nested loop.

Meyla Yan Sari | Looping

18

Anda mungkin juga menyukai