Selasa, 07 April 2020

Struktur Kontrol Perulangan


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:

Unknown mengatakan...

Nirmala X tkj 1 hadir

Blog Editor mengatakan...

Zulfa Maylafaiza Hadiatus Solihah
X tkj 1
(Hadir)

Unknown mengatakan...

Komalasari x tkj 1 (hadirr)

Nurul riyani mengatakan...

Nurul Riyani,X TKJ 1 (Hadir)

Sandi Setiadi mengatakan...

Sandi Setiadi,X TKJ 1 (Hadir)

Luci yanti mengatakan...

Luci yanti'x TKJ 1(hadir)

Siti Solihah Nur Fadilah mengatakan...

Siti Solihah Nur Fadilah, X TKJ 1 (hadir)

Unknown mengatakan...

Siti Heriyanti,X TKJ 1(Hadir)

Unknown mengatakan...

Asep Obi Saputra,X TKJ1(hadir)

Adi Komarudin mengatakan...

Adi Komarudin,X TKJ 1(HADIR)

Unknown mengatakan...

(Hadir)

Unknown mengatakan...

Fadjar Muhammad Ikhsan X TKJ 1 (Hadir)

Mely yulyana mengatakan...

Mely yulyana X TKJ 1( hadir)

Nara anggraeni mengatakan...

Nara Anggraeni X TKJ 1 hadir

Randi mengatakan...

Randi Fadilah X TKJ 1 (hadir)

Sriayu Purwati mengatakan...

Sriayu Purwati X TKJ 1 (hadir)

Dimas nigraha mengatakan...

Dimas Nugraha XTKJ1 (hadir)

https://blog.mwinvesmentmedia.com mengatakan...

Muhamad Wisnu X TKJ 1 (habit)

https://blog.mwinvesmentmedia.com mengatakan...

Muhamad Wisnu X TKJ 1(hadir)

Wida mengatakan...

Wida X TKJ 1(hadir)

Rismawati mengatakan...

Rismawati X TKJ 1(hadir)

Unknown mengatakan...

Bambang muhamad xtkj1 (hadir)

rzky mengatakan...

Rizki Zaelani XTKJ 1 Hadir

Rafli Sandika mengatakan...

Rafli Sandika XTKJ2 Hadir

Aliiii mengatakan...

Ali Nurdiansah XTKJ2 Hadir

Siti Nurazizah mengatakan...

Siti Nurazizah XTKJ2 hadir

Rini Nurmalasari mengatakan...

Rini Nurmalasari XTKJ2 hadir

Unknown mengatakan...

Siti sopiah X RPL 2 Hadir

Rita mengatakan...

Rita purwati x tkj2 hadir

Angga aditya mengatakan...

Angga Aditya X TKJ 2 Hadir

Anonim mengatakan...

Icha Nurkholisoh X TKJ 2 HADIR

Aep mengatakan...

Aep Jamaludin X rpl 1 hadir

Rafli Sandika mengatakan...

Neng Siti Sopuro XTKJ2 Hadir

Mutia sri rahayu mengatakan...

Mutia Sri Rahayu X TKJ 2 HADIR

Unknown mengatakan...

Suci amalia X RPL 2 Hadir

Dini Nur Rohmah mengatakan...
Komentar ini telah dihapus oleh pengarang.
Dini Nur Rohmah mengatakan...

Dini Nur Rohmah X RPL 2 Hadir

Fuzi Nurhalisa mengatakan...

Fuji Nurhalisa X TKJ 2 Hadir

Denny mengatakan...

Deni apriadi
X TKJ 2
Hadir

Unknown mengatakan...

Erpin lugianto
XTKJ 2
HADIR

Adi saepul akbar mengatakan...

Adi saepul akbar X TKJ 2 Hadir

Opiii mengatakan...

Siti Ropi kls 10 rpl 1 hadirr

Nisa Amalia Nasiha mengatakan...

Nisa Amalia Nasiha X TKJ 2 (Hadir)

Ela lestari mengatakan...

Ela lestati, X RPL 2 (HADIR)

Ela lestari mengatakan...
Komentar ini telah dihapus oleh pengarang.
Unknown mengatakan...

Rusli Ramdhani,X RPL 2 (HADIR)

Oktaviani putri mengatakan...
Komentar ini telah dihapus oleh pengarang.
Oktaviani putri mengatakan...

Oktaviani putri

Fahri Zainal M mengatakan...

Fahri Zainal M X TKJ 2 Hadir

Oktaviani putri mengatakan...

Oktaviani putri

Siti maesaroh mengatakan...

Siti maesaroh

Siti maesaroh mengatakan...

Siti maesaroh X RPL 1 Hadir

Oktaviani putri mengatakan...

Oktaviani putri xrpl1 hadir

M Iqbal Nurjaman mengatakan...

M Iqbal Nurjaman X RPL 1 (Hadir)

Sapira Nurhayati mengatakan...
Komentar ini telah dihapus oleh pengarang.
Anonim mengatakan...

Faisal Hidayat X RPL 1 HADIR

Sapira Nurhayati mengatakan...

Sapira Nurhayati X RPL 2 Hadir

Pelajar mengatakan...
Komentar ini telah dihapus oleh pengarang.
Pelajar mengatakan...

Selvia intan pusvita
X Tkj 2
Hadir

Pelajar mengatakan...

Selvia intan pusvita
X Tkj 2
Hadir

Asi Sopia mengatakan...

Asi Sopia X RPL2
Hadir

Unknown blogger mengatakan...

Fiqri Zumadilla Latif XRPL2 Hadir!

AuliaRhma mengatakan...

Aulia Rahma X RPL2 HADIR

Ilham Maulana mengatakan...

Ilham Maulana X TKJ2 HADIR

Rekayasa perangkat lunak mengatakan...

Risma Tazkia Purwati. X RPL2 HADIR

Muhamad Andriansyah mengatakan...

M Andriansyah x tkj2 hadir

Muhtar mengatakan...

Muhtar Fauzi XRPL 2 hadir

Lia meilanii mengatakan...

Lia Meilanii X Rpl 1 (Hadir)

Program.prakerin mengatakan...

Suandi Ali X Rpl 1 (Hadir)

Alamanda mengatakan...

Alamanda Lestari X RPL 1 -Hadir

Unknow mengatakan...

Achyar X RPL 1 HADIR

Rizki mengatakan...

Rizki Fauzi X RPL 2 (hadir)

Unknown mengatakan...

Syaifulreza X tkj 2 (hadir)

Dini Nur Rohmah mengatakan...

Nisa Widya Pangestika X RPL 2 Hadir

Dini Nur Rohmah mengatakan...

Yunita Pujianti X Rpl 2 Hadir

Dini Nur Rohmah mengatakan...

Lesly Arselia Sujana X Rpl 2 Hadir

aldila_saskiawan.blog mengatakan...

Aldila saskiawan x rpl 2 hadir

Risa latifah mengatakan...

Risa latifah X TKJ 2 hadir

Aditiya nurdiansah mengatakan...

Aditiya nurdiansah X RPL 2

Aditiya nurdiansah mengatakan...

Aditiya nurdiansah X RPL 2

Unknown mengatakan...

Rifki
X RPL 1 hadir

Unknown mengatakan...

Ariyanti X rpl 2 hadir

Unknown mengatakan...

Intan ayu lestari x rpl 2 hadir

Arsy mengatakan...
Komentar ini telah dihapus oleh pengarang.
Arsy mengatakan...

Arsy Eka Ardita kls X Rpl 2 hadir