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
do
output (Selamat Belajar Algoritma)
cacah
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
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
endwhile
while (!sdh_bnr)
pilih
sdh_bnr
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
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):
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
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);
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>
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);
14
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.
15
VI. Penutup
Demikian laporan job 5 logika dan algoritma ini saya buat. Apabila terdapat kesalahan
dalam penulisan, mohon kritik dan sarannya.
16
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.
18