Topik 8
Perulangan
Algoritma & Struktur Data
PS. Manajemen Informatika
Sub Topik
1. Konsep Dasar Perulangan
2. Pernyataan FOR
3. Pernyataan WHILE
4. Pernyataan REPEAT
Tujuan
Tujuan Instruksional Umum :
Mahasiswa diharapkan mampu membuat algoritma
dengan perulangan
Tujuan Instruksional Khusus :
 Mahasiswa mampu memahami konsep perulangan
 Mahasiswa mampu menggunakan pernyataan FOR
 Mahasiswa mampu menggunakan pernyataan
WHILE
 Mahasiswa mampu menggunakan pernyataan
REPEAT
Konsep Dasar Perulangan
 Struktur perulangan secara umum terdiri dari dua
bagian, yaitu:
• Kondisi perulangan, yaitu ekspresi boolean yang harus
dipenuhi untuk melaksanakan perulangan. Kondisi ini
ada yang dinyatakan secara eksplisit oleh pemrogram
atau dikelola sendiri oleh komputer (implisit)
• Badan (body) perulangan, yaitu bagian algoritma yang
diulang
 Struktur perulangan biasanya disertai dengan bagian :
• Inisialisasi, yaitu aksi yang dilakukan sebelum
perulangan dilakukan pertama kali
• Terminasi, yaitu aksi yang dilakukan setelah
perulangan selesai dilaksanakan
Pernyataan FOR
 Digunakan untuk menghasilkan pengulangan sejumlah
yang telah dispesifikasikan
 Jumlah pengulangan diketahui sebelum eksekusi
 Memerlukan sebuah pencacah untuk mencacah berapa kali
pengulangan dilakukan
 Peubah ini nilainya selalu bertambah satu setiap kali
pengulangan dilakukan
 Jika cacah pengulangan sudah mencapai jumlah yang
dispesifikasikan, maka proses pengulangan berhenti
 Bentuk pernyataan FOR ada dua, yaitu:
1. FOR Menaik
2. FOR Menurun
FOR Menaik
for pencacah  nilai_awal to nilai_akhir do
pernyataan
endfor
Keterangan :
i. pencacah haruslah dari tipe data yang memiliki predecessor
dan successor, yaitu integer atau karakter. Tipe real tidak
bisa digunakan sebagai pencacah.
ii. pernyataan adalah satu atau lebih instruksi yang berulang
iii. nilai_awal harus lebih kecil atau sama dengan nilai_akhir.
Jika nilai_awal lebih besar dari nilai_akhir, maka badan
pengulangan tidak dimasuki.
iv. 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.
v. Jumlah pengulangan yang terjadi adalah nilai_akhir –
nilai_awal + 1
 Flowchart :
FOR Menurun
for pencacah  nilai_akhir downto nilai_awal do
pernyataan
endfor
Keterangan :
i. pencacah haruslah dari tipe data yang memiliki predecessor
dan successor, yaitu integer atau karakter. Tipe real tidak
bisa digunakan sebagai pencacah.
ii. pernyataan adalah satu atau lebih instruksi yang berulang
iii. nilai_akhir harus lebih besar atau sama dengan nilai_awal.
Jika nilai_akhir lebih kecil dari nilai_awal, maka badan
pengulangan tidak dimasuki.
iv. Pada awalnya, pencacah diinisialisasi dengan nilai_akhir.
Nilai pencacah secara otomatis berkurang satu setiap kali
badan pengulangan dimasuki, sampai akhirnya nilai
pencacah sama dengan nilai_awal.
v. Jumlah pengulangan yang terjadi adalah nilai_awal –
nilai_akhir + 1
 Flowchart :
Contoh Soal
 Kasus 1 :
Buatlah algoritma untuk mencetak pesan angka 1 sampai 10!
English Structure
Masalah : Menampilkan angka 1 sampai 10
Input : -
Output : 1,2,3,4,5,6,7,8,9,10
Pencacah : i, bertipe bilangan bulat
Proses :
1. Untuk i bernilai 1 sampai 10, lakukan
Cetak i
Flowchart :
Pseudocode :
ALGORITMA Tampil_Angka
{ Mencetak angka 1,2,3,4,5,6,7,8,9,10}
DEKLARASI
i : integer
DESKRIPSI:
for i  1 to 10 do
output(i)
endfor
 Kasus 2 :
Buatlah algoritma untuk mencetak angka 10 menurun ke 1!
English Structure
Masalah : Menampilkan angka 10 menurun ke 1
Input : -
Output : 10,9,8,7,6,5,4,3,2,1
Pencacah : i, bertipe bilangan bulat
Proses :
1. Untuk i bernilai 10 menurun ke 1, lakukan
Cetak i
Flowchart :
Pseudocode :
ALGORITMA Tampil_Angka
{ Mencetak angka 10,9,8,7,6,5,4,3,2,1}
DEKLARASI
i : integer
DESKRIPSI:
for i  10 downto 1 do
output(i)
endfor
Pernyataan WHILE
 Bentuk umum pernyataan WHILE adalah :
while kondisi do
pernyataan
endwhile
Keterangan :
pernyataan akan dilaksanakan berulangkali selama
kondisi bernilai benar. Jika kondisi bernilai salah, badan
pengulangan tidak akan dimasuki, yang berarti
pengulangan selesai. Agar kondisi suatu saat bernilai
salah, maka di dalam badan pengulangan harus ada
instruksi yang mengubah nilai kondisi.
 Flowchart :
 Kasus 3 :
Buatlah algoritma untuk mencetak angka 1 sampai 10!
English Structure
Masalah : Menampilkan angka 1 sampai 10
Input : -
Output : 1,2,3,4,5,6,7,8,9,10
Pencacah : i, bertipe bilangan bulat
Proses :
1. Mengisi variabel i dengan nilai awal = 1
2. Selama i < 10, ulangi
a. Cetak i
b. Menaikkan nilai i = i + 1
Contoh Soal
Flowchart :
Pseudocode :
ALGORITMA Tampil_Angka
{ Mencetak angka 1,2,3,4,5,6,7,8,9,10}
DEKLARASI
i : integer
DESKRIPSI:
i  1
while i <= 10 do
output(i)
i  i + 1
endwhile
Pernyataan REPEAT
 Bentuk umum pernyataan REPEAT adalah :
repeat
pernyataan
until kondisi
Keterangan :
pernyataan akan dilaksanakan berulangkali selama
kondisi bernilai benar. Jika kondisi bernilai salah, badan
pengulangan tidak akan dimasuki, yang berarti
pengulangan selesai. Agar kondisi suatu saat bernilai
salah, maka di dalam badan pengulangan harus ada
instruksi yang mengubah nilai kondisi.
 Flowchart :
 Kasus 4 :
Buatlah algoritma untuk mencetak angka 1 sampai 10!
English Structure
Masalah : Menampilkan angka 1 sampai 10
Input : -
Output : 1,2,3,4,5,6,7,8,9,10
Pencacah : i, bertipe bilangan bulat
Proses :
1. Mengisi variabel i dengan nilai awal = 1
2. Ulangi
a. Cetak i
b. Menaikkan nilai i = i + 1
Sampai i > 10
Contoh Soal
Flowchart :
Pseudocode :
ALGORITMA Tampil_Angka
{ Mencetak angka 1,2,3,4,5,6,7,8,9,10}
DEKLARASI
i : integer
DESKRIPSI:
i  1
repeat
output(i)
i  i + 1
until i > 10
WHILE atau REPEAT?
 Panduan kapan menggunakan WHILE atau REPEAT :
• Gunakan konstruksi WHILE pada kasus yang
mengharuskan terlebih dahulu pemeriksaan objek
sebelum objek tersebut dimanipulasi
• Gunakan konstruksi REPEAT pada kasus yang terlebih
dahulu memanipulasi objek, baru kemudian
memeriksa kondisi objek tersebut
Contoh Soal
 Kasus 5: WHILE BENAR REPEAT SALAH
ALGORITMA PenjumlahanDeretPecahan
{ Menghitung jumlah seluruh nilai pecahan dari sejumlah data bilangan bulat (x) yang
dibaca dari papan ketik. Akhir pembacaan adalah bila nilai x yang dibaca = 0 }
DEKLARASI
x : integer { data bilangan bulat yang dibaca }
S : real { jumlah deret }
DESKRIPSI:
S  0 { inisialisasi jumlah deret }
input(x)
while x ≠ 0 do
S  S + 1/x
input(x)
endwhile
{ x = 0 }
output(S)
 Kasus 6: WHILE SALAH REPEAT BENAR
ALGORITMA SimulasiMenuProgram
{ Menampilkan menu, membaca pilihan menu, dan menampilkan nomor menu yang
dipilih oleh pengguna }
DEKLARASI
NomorMenu : integer
DESKRIPSI:
repeat
write(„ MENU „)
write(„1. Baca data „)
write(„2. Cetak data „)
write(„3. Ubah data „)
write(„4. Hapus data „)
write(„5. Keluar program „)
write(„Masukkan pilihan anda (1/2/3/4/5) ? „)
input(NomorMenu)
case NomorMenu
1 : output(„Anda memilih menu nomor 1‟)
2 : output(„Anda memilih menu nomor 2‟)
3 : output(„Anda memilih menu nomor 3‟)
4 : output(„Anda memilih menu nomor 4‟)
5 : output(„Keluar program‟)
endcase
until NomorMenu = 5
Rangkuman
 Pernyataan FOR digunakan untuk jumlah pengulangan yang
diketahui dan kenaikan pencacah bernilai bulat
 Pernyataan WHILE dan REPET digunakan untuk jumlah
pengulangan yang belum diketahui dan kenaikan pencacah
bisa bernilai bulat atau pecahan
 Pengecekan kondisi pada pernyataan WHILE dilakukan di
awal
 Pengecekan kondisi pada pernyataan REPEAT dilakukan di
akhir
Latihan Soal
 Kasus 1:
Buatlah algoritma dengan perintah FOR, WHILE dan
REPEAT untuk menampilkan hasil perhitungan berikut!
Misalkan, user memasukkan angka = 5, maka proses
yang dilakukan adalah :
jumlah = 1 + 2 + 3 + 4 + 5 = 15
 Kasus 2:
Buatlah algoritma dengan perintah FOR, WHILE dan
REPEAT untuk menampilkan hasil perhitungan berikut!
Misalkan, user memasukkan angka = 5, maka proses
yang dilakukan adalah :
rata-rata = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3
REFERENSI
1. Budi Sutedjo, Michael A.N. 2000. “Algoritma dan Teknik
Pemrograman”. Yogyakarta: ANDI OFFSET.
2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan
Pemrograman”. Yogyakarta: ANDI OFFSET.
3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma &
Pemrograman Dalam Bahasa Pascal dan C Buku 1”.
Bandung: Informatika.
4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma &
Pemrograman Dalam Bahasa Pascal dan C Buku 2”.
Bandung: Informatika.

Topik 8 Perulangan

  • 1.
    Topik 8 Perulangan Algoritma &Struktur Data PS. Manajemen Informatika
  • 2.
    Sub Topik 1. KonsepDasar Perulangan 2. Pernyataan FOR 3. Pernyataan WHILE 4. Pernyataan REPEAT
  • 3.
    Tujuan Tujuan Instruksional Umum: Mahasiswa diharapkan mampu membuat algoritma dengan perulangan Tujuan Instruksional Khusus :  Mahasiswa mampu memahami konsep perulangan  Mahasiswa mampu menggunakan pernyataan FOR  Mahasiswa mampu menggunakan pernyataan WHILE  Mahasiswa mampu menggunakan pernyataan REPEAT
  • 4.
    Konsep Dasar Perulangan Struktur perulangan secara umum terdiri dari dua bagian, yaitu: • Kondisi perulangan, yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan perulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh pemrogram atau dikelola sendiri oleh komputer (implisit) • Badan (body) perulangan, yaitu bagian algoritma yang diulang  Struktur perulangan biasanya disertai dengan bagian : • Inisialisasi, yaitu aksi yang dilakukan sebelum perulangan dilakukan pertama kali • Terminasi, yaitu aksi yang dilakukan setelah perulangan selesai dilaksanakan
  • 5.
    Pernyataan FOR  Digunakanuntuk menghasilkan pengulangan sejumlah yang telah dispesifikasikan  Jumlah pengulangan diketahui sebelum eksekusi  Memerlukan sebuah pencacah untuk mencacah berapa kali pengulangan dilakukan  Peubah ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan  Jika cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses pengulangan berhenti  Bentuk pernyataan FOR ada dua, yaitu: 1. FOR Menaik 2. FOR Menurun
  • 6.
    FOR Menaik for pencacah nilai_awal to nilai_akhir do pernyataan endfor Keterangan : i. pencacah haruslah dari tipe data yang memiliki predecessor dan successor, yaitu integer atau karakter. Tipe real tidak bisa digunakan sebagai pencacah. ii. pernyataan adalah satu atau lebih instruksi yang berulang iii. nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Jika nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki. iv. 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. v. Jumlah pengulangan yang terjadi adalah nilai_akhir – nilai_awal + 1
  • 7.
  • 8.
    FOR Menurun for pencacah nilai_akhir downto nilai_awal do pernyataan endfor Keterangan : i. pencacah haruslah dari tipe data yang memiliki predecessor dan successor, yaitu integer atau karakter. Tipe real tidak bisa digunakan sebagai pencacah. ii. pernyataan adalah satu atau lebih instruksi yang berulang iii. nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki. iv. Pada awalnya, pencacah diinisialisasi dengan nilai_akhir. Nilai pencacah secara otomatis berkurang satu setiap kali badan pengulangan dimasuki, sampai akhirnya nilai pencacah sama dengan nilai_awal. v. Jumlah pengulangan yang terjadi adalah nilai_awal – nilai_akhir + 1
  • 9.
  • 10.
    Contoh Soal  Kasus1 : Buatlah algoritma untuk mencetak pesan angka 1 sampai 10! English Structure Masalah : Menampilkan angka 1 sampai 10 Input : - Output : 1,2,3,4,5,6,7,8,9,10 Pencacah : i, bertipe bilangan bulat Proses : 1. Untuk i bernilai 1 sampai 10, lakukan Cetak i
  • 11.
  • 12.
    Pseudocode : ALGORITMA Tampil_Angka {Mencetak angka 1,2,3,4,5,6,7,8,9,10} DEKLARASI i : integer DESKRIPSI: for i  1 to 10 do output(i) endfor
  • 13.
     Kasus 2: Buatlah algoritma untuk mencetak angka 10 menurun ke 1! English Structure Masalah : Menampilkan angka 10 menurun ke 1 Input : - Output : 10,9,8,7,6,5,4,3,2,1 Pencacah : i, bertipe bilangan bulat Proses : 1. Untuk i bernilai 10 menurun ke 1, lakukan Cetak i
  • 14.
  • 15.
    Pseudocode : ALGORITMA Tampil_Angka {Mencetak angka 10,9,8,7,6,5,4,3,2,1} DEKLARASI i : integer DESKRIPSI: for i  10 downto 1 do output(i) endfor
  • 16.
    Pernyataan WHILE  Bentukumum pernyataan WHILE adalah : while kondisi do pernyataan endwhile Keterangan : pernyataan akan dilaksanakan berulangkali selama kondisi bernilai benar. Jika kondisi bernilai salah, badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai. Agar kondisi suatu saat bernilai salah, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai kondisi.
  • 17.
  • 18.
     Kasus 3: Buatlah algoritma untuk mencetak angka 1 sampai 10! English Structure Masalah : Menampilkan angka 1 sampai 10 Input : - Output : 1,2,3,4,5,6,7,8,9,10 Pencacah : i, bertipe bilangan bulat Proses : 1. Mengisi variabel i dengan nilai awal = 1 2. Selama i < 10, ulangi a. Cetak i b. Menaikkan nilai i = i + 1 Contoh Soal
  • 19.
  • 20.
    Pseudocode : ALGORITMA Tampil_Angka {Mencetak angka 1,2,3,4,5,6,7,8,9,10} DEKLARASI i : integer DESKRIPSI: i  1 while i <= 10 do output(i) i  i + 1 endwhile
  • 21.
    Pernyataan REPEAT  Bentukumum pernyataan REPEAT adalah : repeat pernyataan until kondisi Keterangan : pernyataan akan dilaksanakan berulangkali selama kondisi bernilai benar. Jika kondisi bernilai salah, badan pengulangan tidak akan dimasuki, yang berarti pengulangan selesai. Agar kondisi suatu saat bernilai salah, maka di dalam badan pengulangan harus ada instruksi yang mengubah nilai kondisi.
  • 22.
  • 23.
     Kasus 4: Buatlah algoritma untuk mencetak angka 1 sampai 10! English Structure Masalah : Menampilkan angka 1 sampai 10 Input : - Output : 1,2,3,4,5,6,7,8,9,10 Pencacah : i, bertipe bilangan bulat Proses : 1. Mengisi variabel i dengan nilai awal = 1 2. Ulangi a. Cetak i b. Menaikkan nilai i = i + 1 Sampai i > 10 Contoh Soal
  • 24.
  • 25.
    Pseudocode : ALGORITMA Tampil_Angka {Mencetak angka 1,2,3,4,5,6,7,8,9,10} DEKLARASI i : integer DESKRIPSI: i  1 repeat output(i) i  i + 1 until i > 10
  • 26.
    WHILE atau REPEAT? Panduan kapan menggunakan WHILE atau REPEAT : • Gunakan konstruksi WHILE pada kasus yang mengharuskan terlebih dahulu pemeriksaan objek sebelum objek tersebut dimanipulasi • Gunakan konstruksi REPEAT pada kasus yang terlebih dahulu memanipulasi objek, baru kemudian memeriksa kondisi objek tersebut
  • 27.
    Contoh Soal  Kasus5: WHILE BENAR REPEAT SALAH ALGORITMA PenjumlahanDeretPecahan { Menghitung jumlah seluruh nilai pecahan dari sejumlah data bilangan bulat (x) yang dibaca dari papan ketik. Akhir pembacaan adalah bila nilai x yang dibaca = 0 } DEKLARASI x : integer { data bilangan bulat yang dibaca } S : real { jumlah deret } DESKRIPSI: S  0 { inisialisasi jumlah deret } input(x) while x ≠ 0 do S  S + 1/x input(x) endwhile { x = 0 } output(S)
  • 28.
     Kasus 6:WHILE SALAH REPEAT BENAR ALGORITMA SimulasiMenuProgram { Menampilkan menu, membaca pilihan menu, dan menampilkan nomor menu yang dipilih oleh pengguna } DEKLARASI NomorMenu : integer DESKRIPSI: repeat write(„ MENU „) write(„1. Baca data „) write(„2. Cetak data „) write(„3. Ubah data „) write(„4. Hapus data „) write(„5. Keluar program „) write(„Masukkan pilihan anda (1/2/3/4/5) ? „)
  • 29.
    input(NomorMenu) case NomorMenu 1 :output(„Anda memilih menu nomor 1‟) 2 : output(„Anda memilih menu nomor 2‟) 3 : output(„Anda memilih menu nomor 3‟) 4 : output(„Anda memilih menu nomor 4‟) 5 : output(„Keluar program‟) endcase until NomorMenu = 5
  • 30.
    Rangkuman  Pernyataan FORdigunakan untuk jumlah pengulangan yang diketahui dan kenaikan pencacah bernilai bulat  Pernyataan WHILE dan REPET digunakan untuk jumlah pengulangan yang belum diketahui dan kenaikan pencacah bisa bernilai bulat atau pecahan  Pengecekan kondisi pada pernyataan WHILE dilakukan di awal  Pengecekan kondisi pada pernyataan REPEAT dilakukan di akhir
  • 31.
    Latihan Soal  Kasus1: Buatlah algoritma dengan perintah FOR, WHILE dan REPEAT untuk menampilkan hasil perhitungan berikut! Misalkan, user memasukkan angka = 5, maka proses yang dilakukan adalah : jumlah = 1 + 2 + 3 + 4 + 5 = 15  Kasus 2: Buatlah algoritma dengan perintah FOR, WHILE dan REPEAT untuk menampilkan hasil perhitungan berikut! Misalkan, user memasukkan angka = 5, maka proses yang dilakukan adalah : rata-rata = (1 + 2 + 3 + 4 + 5)/5 = 15/5 = 3
  • 32.
    REFERENSI 1. Budi Sutedjo,Michael A.N. 2000. “Algoritma dan Teknik Pemrograman”. Yogyakarta: ANDI OFFSET. 2. Fathul Wahid. 2004. “Dasar-Dasar Algoritma dan Pemrograman”. Yogyakarta: ANDI OFFSET. 3. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 1”. Bandung: Informatika. 4. Rinaldi Munir, Leoni Lidya. 2002. “Algoritma & Pemrograman Dalam Bahasa Pascal dan C Buku 2”. Bandung: Informatika.