Dua struktur utama, percabangan dan perulangan merupakan struktur yang tidak terpisahkan dengan algoritma dan pemrograman. Struktur perulangan memungkinkan algoritma untuk melakukan serangkaian perintah secara berulang-ulang. Dan untuk memenuhi syarat bahwa algoritma harus finite (terbatas) maka dalam perulangan pasti ada titik pemberhentian. Jika ternyata dalam sebuah kasus perulangan tidak mencapai titik berhenti maka dapat dikatakan algoritma tersebut salah.
Titik pemberhentian dapat diberikan dengan beberapa cara, sebagai berikut.
1. Pemberhentian dengan syarat
Pemberhentian dengan syarat artinya ada sebuah kondisi yang akan menyebabkan perulangan berhenti. Pemberian syarat ini juga dapat dilakukan dengan dua cara, yaitu:
a. Syarat diberikan di awal, di mana selama persayaratan dipenuhi maka dilakukan serangkaian perintah
b. Syarat diberikan di akhir, di mana proses akan diulang-ulang sampai syarat dipenuhi.
Bedakan antara kedua kalimat pada a dan b. Ketika syarat diberikan di awal, maka selama persayaratan itu dipenuhi , maka perulangan dilakukan. Jika kondisi sudah tidak dipenuhi maka berhenti. Sedangakan pada kasus syarat di akhir, dikerjakan serangkaian langkah. Setiap selesai rangkaian langkah diperiksa apakah kondisi sudah dicapai, jika belum maka proses diulangi lagi.
2. Pemberhentian dengan pencacah
Pemberhentian dengan pencacah, artinya dari awal sudah ditentukan bahwa perulangan akan dilakukan berapa kali. Pencacah ini juga ada dua macam cara, yaitu:
a. Pencacah naik
Pemberhentian dengan pencacah naik artinya untuk suatu pencacah, misalkan i dari 1 sampai 100 lakukan rangkaian langkah x. Artinya langkah tersebut akan diulangi sebanyak seratus kali
b. Pencacah turun
Pemberhentian dengan pencacah turun , artinya sebaliknya untuk suatu pencacah i dari
100 sampai 1 lakukan rangkaian langkah x, artinya langkah x akan diulangi sebanyak
seratus kali.
Penggunaan beberapa macam pemberhentian di atas tergantung dari situasi dan kondisi, untuk lebih jelasnya akan dijelaskan pada tiap-tiap kegiatan Belajar.
Baik, pada Kegiatan Belajar pertama ini dimulai dengan struktur perulangan dengan sayarat di depan.
Perhatikan kembali dua permasalahan di atas.
Kasus 1
Diketahui potongan algoritma berikut:
Algoritma Perulangan1
Variabel i : integer
1) i=1
2) WHILE (i<=10)
3) WRITE “Hello”
4) i=i+1
5) END
Jika ditelusuri maka, akan menghasilkan proses sebagai berkut.
Mula-mula nilai i =1. Selama i<=10 maka cetak kata kata “Hello” dan naikkan nilai i = i+1
Dengan demikian urutan perintah yang dilakukan adalah:
- Mulai i=1
- Cek apakah i<=10? Iya karena i=1, berarti cetak “Hello”, tambahkan i = i+1=2
- Cek apakah i<=10? Iya karena i=2, berarti cetak “Hello”, tambahkan i = i+1=3
- Cek apakah i<=10? Iya karena i=3, berarti cetak “Hello”, tambahkan i = i+1=4
- Cek apakah i<=10? Iya karena i=4, berarti cetak “Hello”, tambahkan i = i+1=5
- Cek apakah i<=10? Iya karena i=5, berarti cetak “Hello”, tambahkan i = i+1=6
- Cek apakah i<=10? Iya karena i=6, berarti cetak “Hello”, tambahkan i = i+1=7
- Cek apakah i<=10? Iya karena i=7, berarti cetak “Hello”, tambahkan i = i+1=8
- Cek apakah i<=10? Iya karena i=8, berarti cetak “Hello”, tambahkan i = i+1=9
- Cek apakah i<=10? Iya karena i=9, berarti cetak “Hello”, tambahkan i = i+1=10
- Cek apakah i<=10? Iya karena i=10, berarti cetak “Hello”, tambahkan i = i+1=11
- Cek apakah i<=10? Tidak karena i=11, berarti STOP keluar dari perulangan, END.
- Jadi dengan dmeikian kata “Hello” dicetak 10 kali.
Kasus 2
Pada kasus 2, diminta membuat algoritma untuk menuliskan semua bilangan kelipatan 5
yang kurang dari 100.
5 10 15 20 25 ... 95
Strategi yang harus dijalankan adalah menentukan:
1) Tentukan iterator, yaitu variabel yang berperan sebagai penggerak perulangan
2) Tentukan sentinel, syarat perulangan yang dibutuhkan agar perulangan dapat berhenti.
Untuk memecahkan permasalahan tersebut, ada beberapa strategi yang bisa diterapkan.
Jika 5, 10, 15, adalah suku dari sebuah barisan, bagaimana cara mendapatkan setiap sukunya? Bisa dari rumus suku ke-n atau menghubungkan antara suku ke n dengan suku sebelumnya. Kita tahu bahwa barisan di atas dapat dituliskan ulang dalam bentuk 5x1, 5x2, 5x3,
dan seterusnya, maka dalam hal ini bilangan 1, 2, 3 sebagai iterator, selanjutnya dapat dituliskan
langkah-langkahnya adalah sebagai berikut.
1) Nilai awal i =1 {i sebagai iterator}
2) Suku awal, a=5
3) Selama a< 100 maka lakukan langkah berikut {syarat a < 100 disebut sentinel}
4) Tuliskan a;
5) i=i+1;
6) a=5*i
7) Selesai
Dalam tiap perulangan iterator dan sentinel harus ada. Iterator akan menjamin perulangan dilakukan hingga mencapai kondisi (sentinel) dipenuhi sedangkan sentinel akan menjamin perulangan akan berhenti.
Perhatikan potongan algoritma di atas, kita dapat menelusuri algoritma di atas sebagai berikut.
Pertama nilai i=1 dan a=5
Diperiksa apakah a < 100 ? Iya, maka perintah berikutnya dijalankan
Tuliskan a {output: 5}
i=i+1=2 {nilai i menjadi 2}
a=5*i=5*2=10 {nilai a menjadi 10}
Di akhir struktur maka, kembali ke atas untuk diperiksa persyaratan Apakah a < 100? Iya, maka perintah berikutnya dijalankan lagi
Tuliskan a {output: 10}
i=i+1=3 {nilai i menjadi 3}
a=5*i=5*3=15 {nilai a menjadi 15}
Di akhir struktur maka, kembali ke atas untuk diperiksa persyaratan Apakah a < 100? Iya, maka perintah berikutnya dijalankan lagi
Tuliskan a {output: 15}
i=i+1=4 {nilai i menjadi 4}
a=5*i=5*4=20 {nilai a menjadi 20}
dan seterusnya sehingga ketika a=95, i=19
Apakah a < 100? Iya, maka perintah berikutnya dijalankan lagi
Tuliskan a {output: 95}
i=i+1=20 {nilai i menjadi 20}
a=5*i=5*20=100 {nilai a menjadi 100}
Apakah a < 100? Tidak, perulangan maka berhenti
Jadi keluaran dari algoritma adalah 5 10 15 ... 95
85 komentar:
Nirmala X tkj 1 hadir
Zulfa Maylafaiza Hadiatus Solihah
X tkj 1
(Hadir)
Komalasari x tkj 1 (hadirr)
Nurul Riyani,X TKJ 1 (Hadir)
Sandi Setiadi,X TKJ 1 (Hadir)
Luci yanti'x TKJ 1(hadir)
Siti Solihah Nur Fadilah, X TKJ 1 (hadir)
Siti Heriyanti,X TKJ 1(Hadir)
Asep Obi Saputra,X TKJ1(hadir)
Adi Komarudin,X TKJ 1(HADIR)
(Hadir)
Fadjar Muhammad Ikhsan X TKJ 1 (Hadir)
Mely yulyana X TKJ 1( hadir)
Nara Anggraeni X TKJ 1 hadir
Randi Fadilah X TKJ 1 (hadir)
Sriayu Purwati X TKJ 1 (hadir)
Dimas Nugraha XTKJ1 (hadir)
Muhamad Wisnu X TKJ 1 (habit)
Muhamad Wisnu X TKJ 1(hadir)
Wida X TKJ 1(hadir)
Rismawati X TKJ 1(hadir)
Bambang muhamad xtkj1 (hadir)
Rizki Zaelani XTKJ 1 Hadir
Rafli Sandika XTKJ2 Hadir
Ali Nurdiansah XTKJ2 Hadir
Siti Nurazizah XTKJ2 hadir
Rini Nurmalasari XTKJ2 hadir
Siti sopiah X RPL 2 Hadir
Rita purwati x tkj2 hadir
Angga Aditya X TKJ 2 Hadir
Icha Nurkholisoh X TKJ 2 HADIR
Aep Jamaludin X rpl 1 hadir
Neng Siti Sopuro XTKJ2 Hadir
Mutia Sri Rahayu X TKJ 2 HADIR
Suci amalia X RPL 2 Hadir
Dini Nur Rohmah X RPL 2 Hadir
Fuji Nurhalisa X TKJ 2 Hadir
Deni apriadi
X TKJ 2
Hadir
Erpin lugianto
XTKJ 2
HADIR
Adi saepul akbar X TKJ 2 Hadir
Siti Ropi kls 10 rpl 1 hadirr
Nisa Amalia Nasiha X TKJ 2 (Hadir)
Ela lestati, X RPL 2 (HADIR)
Rusli Ramdhani,X RPL 2 (HADIR)
Oktaviani putri
Fahri Zainal M X TKJ 2 Hadir
Oktaviani putri
Siti maesaroh
Siti maesaroh X RPL 1 Hadir
Oktaviani putri xrpl1 hadir
M Iqbal Nurjaman X RPL 1 (Hadir)
Faisal Hidayat X RPL 1 HADIR
Sapira Nurhayati X RPL 2 Hadir
Selvia intan pusvita
X Tkj 2
Hadir
Selvia intan pusvita
X Tkj 2
Hadir
Asi Sopia X RPL2
Hadir
Fiqri Zumadilla Latif XRPL2 Hadir!
Aulia Rahma X RPL2 HADIR
Ilham Maulana X TKJ2 HADIR
Risma Tazkia Purwati. X RPL2 HADIR
M Andriansyah x tkj2 hadir
Muhtar Fauzi XRPL 2 hadir
Lia Meilanii X Rpl 1 (Hadir)
Suandi Ali X Rpl 1 (Hadir)
Alamanda Lestari X RPL 1 -Hadir
Achyar X RPL 1 HADIR
Rizki Fauzi X RPL 2 (hadir)
Syaifulreza X tkj 2 (hadir)
Nisa Widya Pangestika X RPL 2 Hadir
Yunita Pujianti X Rpl 2 Hadir
Lesly Arselia Sujana X Rpl 2 Hadir
Aldila saskiawan x rpl 2 hadir
Risa latifah X TKJ 2 hadir
Aditiya nurdiansah X RPL 2
Aditiya nurdiansah X RPL 2
Rifki
X RPL 1 hadir
Ariyanti X rpl 2 hadir
Intan ayu lestari x rpl 2 hadir
Arsy Eka Ardita kls X Rpl 2 hadir
Posting Komentar