Top Banner
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 Meyla Yan Sari | Looping 1
23

Struktur Perulangan (Looping)

Feb 25, 2023

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Struktur Perulangan (Looping)

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

Meyla Yan Sari | Looping 1

Page 2: Struktur Perulangan (Looping)

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 :

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

Meyla Yan Sari | Looping 2

Page 3: Struktur Perulangan (Looping)

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)

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 :

Meyla Yan Sari | Looping 3

Page 4: Struktur Perulangan (Looping)

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’) ||

(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

Meyla Yan Sari | Looping 4

Page 5: Struktur Perulangan (Looping)

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 :

IV. Langkah Kerja

1. Hidupkan komputer anda !

Meyla Yan Sari | Looping 5

Page 6: Struktur Perulangan (Looping)

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’)

Meyla Yan Sari | Looping 6

Page 7: Struktur Perulangan (Looping)

do

output (nim)

output (nama)

output (kelas)

output (jurusan)

no ← no + 1

while(no ≤ 25)

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

Meyla Yan Sari | Looping 7

Page 8: Struktur Perulangan (Looping)

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

else

ganjil ganjil + I

endif

endfor

output (genap)

output (ganjil)

5. Kasus 2 (selesaikan dalam bentuk pseudocode):

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

Meyla Yan Sari | Looping 8

Page 9: Struktur Perulangan (Looping)

I : integerJumkar=0 : integerTeks [200] : character

Deskripsi

Input (‘kalimat’)For (i=0; teks[i]; i++) Jumkar++endforOutput (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 dofor kolom ← 1 to maks_kolom dohasil = baris * kolomoutput (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 9

Page 10: Struktur Perulangan (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)

Meyla Yan Sari | Looping 10

Page 11: Struktur Perulangan (Looping)

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

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

Meyla Yan Sari | Looping 11

Page 12: Struktur Perulangan (Looping)

===================================

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;

else if (pil==2) then

hasil n1 - n2;

else if(pil==3) then

hasil n1 * n2;

else

Meyla Yan Sari | Looping 12

Page 13: Struktur Perulangan (Looping)

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 13

Page 14: Struktur Perulangan (Looping)

No. 5

Meyla Yan Sari | Looping 14

Page 15: Struktur Perulangan (Looping)

No. 6

Meyla Yan Sari | Looping 15

Page 16: Struktur Perulangan (Looping)

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);

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);

Meyla Yan Sari | Looping 16

Page 17: Struktur Perulangan (Looping)

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>

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) : ");

Meyla Yan Sari | Looping 17

Page 18: Struktur Perulangan (Looping)

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);

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);

Meyla Yan Sari | Looping 18

Page 19: Struktur Perulangan (Looping)

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 19

Page 20: Struktur Perulangan (Looping)

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 20

Page 21: Struktur Perulangan (Looping)

VII. Daftar Pustaka

Jobsheet Algo 05.pdf

Handoko, S. 2011. BUKU AJAR LOGIKA & ALGORITMA.pdf.

Semarang: Politeknik Negeri Semarang.

Meyla Yan Sari | Looping 21

Page 22: Struktur Perulangan (Looping)

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)

Meyla Yan Sari | Looping 22

Page 23: Struktur Perulangan (Looping)

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 23