SITI NURJANAH

Jumat, 20 Mei 2016

Perulangan Dalam C++ ( Looping )


TUGAS PEMROGRAMAN TERSTRUKTUR
MODUL PERULANGAN
(LOOPING)







Nama         : Siti Nurjanah
NIM           : 15.02.9156
Kelas           : 15 D3-MI 04





Sekolah Tinggi Manajemen Informatika AMIKOM Yogyakarta
 Tahun Akademik 2015/2016









MATERI PERULANGAN (LOOPING)




Tujuan Kegiatan Pembelajaran:

Setelah mempelajari materi kegiatan pembelajaran ini mahasiswa akan dapat :
1. Memahami algoritma perulangan dan mengenal bentuk dengan sturktur FOR, While, dan DO-While.
2) Menjelaskan prinsip kerja bentuk-bentuk perulangan dengan tepat.
3) Dapat menggunakan bentuk-bentuk perulangan dalam aplikasinya pada pembuatan program secara tepat
4) Dapat mengembangkan bentuk-bentuk perulangan dalam pemrograman secara benar


Uraian Materi

Dalam bahasa C++ tersedia suatu fasilitas yang digunakan untuk melakukan proses yang berulangulang sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan mencetak bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan. Namun dengan struktur perulangan proses, kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa perintah saja. Struktur perulangan dalam bahasa C mempunyai bentuk yang bermacam-macam. Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak.

Andakata diminta menjumlahkan 10 buah bilangan yang dimasukkan melalui keyboard dan kita myelesaikan masalah diatas dengan meggunakn sturtur sqeuence dan runtutan maka algoritmanya sebagai berikut:
input(x1)
input(x2)
input(x3)
input(x4)
input(x5)
input(x6)
input(x7)
input(x8)
input(x9)
input(x10)
jumlah=x1+x2+x3+X4+X5+x6+x7+x8+x9+x10 output(jumlah)
pseudocode diatas benar tetpi tidak efisien. Bayangkan saa, seandainya data yang harus dijumlahkan relatif besar, misalnya 100 buah,maka betapa banyaknya baris intstruksi untuk mebaca dan penjangnya penulisan instruksi untk menumlahkn datanya. Untuk maslah ini, solusinya adalah penggunaan struktur perulangan atau iteration.
Jumlah=0
for i=1 to 100 do
                input(x)
                jumlah=jumlah+X
endfor
uotput(jumlah)

instrksi perulangan digunakan untk menjalankan satu atau berapa instruksi sebanyak beberapa kali jika suatu kondisi terpenuhi. Instruksi perlangan memunginkan kita untuk menjalankan beberapa instruksi hanya degan menulisan instruksi tersenut satu kali saja. Proses perlangan biasanya digunakan untuk :
1. mengulang proses pemasukan data
2. mengulang poses prhitngan
3. mengulang proses penampilan hasil pengolahan data.
Struktur perulangan terdiri atas empt bagian:
1. kondisi perulanan , yaitu ekspresi boolean yang harus dipenuhi untuk melaksnakan perulangan. Kondisi ini bisa dinyataka secra eksplisit oleh pemrograman atau secara implisit oleh komputer.
2. badan perulangan, yaitu satu atau lebih instruksi yang akan diulang.
3. inisialisasi, yaitu aksi yang dilakkan sebelum perulangan dilkukan pertama kali.
4. terminasi, yaitu aksi yang menakibatkan perulangan dihentikan.

Didalam algoritma terdapat bebrapa macam struktur perlangan.berapa struktur perulangan dapat dipakai untuk menyelesaikan masalah yang sama tetapi ada struktur perulangan yang hanya cocok dipakai untuk masalah tertentu. Pemilian struktur perulangan untuk penyelesaikan suatu masalah dapat mempengaruhi kebenaran algoritma yang dibuat. Pemilian struktur perulangan yang tepat tergantung pad masalah yang akan diselesaikan.
Macam – macam struktur perulangan:
1.  instruksi FOR
2.  instruksi WHILE
3.  instruksi DO-WHILE
dalma bahasa pemrograman, proses perulangan ditangani dengan,mekanisme yang dinamakan LOOP. Degan mekanisme LOOP ini,suatu proses yang berulang dapat diimplementasikan degan pernyataan- pernyataan yang relatif pendek.

(1) Struktur Perulangan “FOR”

                Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana.
                Pernyataan for digunakan untuk melakukan looping. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan akan terus dieksekusi.

Pernyataan FOR mempunyai 3 parameter yaitu:
1. nilai awal (initial value)
2. test kondisi yang menentukan akhir dari LOOP
3. penentu perubahan nilai.

Bentuk umum perulangan for adalah sebagai berikut :


for ( ungkapan1; ungkapan2; ungkapan3)

Pernyataan;
 
 

                                                                                                                                                     
                Keterangan : 
·         Ungkapan1 merupakan pernyataan inisialisasi
·         Ungkapan 2 sebagai kondisi yang menentukan pengulangan thd pernyataan 
·         Ungkapan 3 sebagai pengatur variabel yang digunakan di ungkapan1

Bentuk FOR pseudocode format naik:
                for indeks=nilai_awal to nilai_akhir do
                <instruksi/blokinstruksi>
endfor.


Bentuk umum flowchart : 




cara kerja :
1. indeks di-assign dengan nilai awal
2. indeks dibandingkan dengan nilai akhir.
3. jika indeks <= nilai akhir maka
                a. badan loop dikejakan.
                b. secara otomatis nilai indeks ditambah 1.
                c. indeks dibandingkan dengan nilai akhir.
4. jika indeks > nilai akhir,maka akan dikerjakan perintah sesudah “endfor” (badan loop).

Bentuk umum pseudocode format turun:
                for indeks=nilai_awal downto niali_akhir do
                                <instruksi/blok instrksi>
                endfor


Contoh :
1. indeks perulangan naik:
                for i=1 to 3 do
                                output (I)
                endfor
2. indeks perulangan turun:
                for i=1 downto 3 do
                                output (I)
                endfor




sintaksis perintah FOR:

for(initial value;condition_expr;incremetal_expr)

yang perlu diperatikan dalam sintaksi penggunaan tanda titikkoma (;) sebaai pemisah parameter dalam sintaksis FOR, sintaksis tersebut memliki :

1. ekspresi inisialisasilah yang memberikan nilai awal pada variable  kontrol LOOP FOR dan memberitahu program dimana dapat memulai LOOP. Sebai contoh a=1 menginisialkan variable kontrol a dengan 1         dan memulai LOOP pada a=1.
2. ekspresi kondisi. Jika teskondisi bernilai salah, maka LOOP akan berhenti.sebagai contoh a <= 3 prgram akan melakukan tes apakah variabel a lebih kecil atau sama dengan 3 ,jikaa lebh besa dari 3 mka LOOP akan dihentikan.
3. eksprsi perubahan nilai yang akan berfungsi untuk menaikkan atau menurunkan nilai dari variable kontrol. Ekspresi perubahan nilai ini dapat berupa nilai positif(penaikkan) atau nilai negatif(penurunan). Operasi penaikkan nilai dapat menggunakan operator ++, yang artinya setiap loop operator ++ akan menambah nilai 1 ke variable kontrol. Sedangkan untuk penurunan nilai dapat mengunakan operator –.

contoh pogram looping menggunakan FOR :

//program mencetak nilai 3 sampai 0 
#include <iostream>
#include <conio.h>
using namespace std;
main(){
int i;
for (i=3; i>0;i--)
cout<<i<<endl;
}




tampilan :




program tersebut mempunyai sebuah LOOP FOR yang memiliki parameter sebagai berikut:
1. nilai awal variable I adalah 3(i=3)
2. tes kondisi variable I lebih besar dari 0(i>0)
3. perubahan nilai I setiap proses adalah berkurang 1 (I--)

tampilan program tersebut :
3
2
1

perhatkan pada LOOP FOR dar program tersebut.  Loop akan dikerjakan dengan nilai awal i=3 dan selama i>0, degan perubahan nilai  adalah berkurang. Di dalam bagia parameter kondisi, kita bisa mengubah dengan perintah i>=1. Hasilnya akan sama karena loop akan dkerjakan selama i>=1, berarti loop ak berhenti jika nilai <1 yaitu 0, segingga nilai 0 tetap tidak ikut dicetak.

Loop FOR juga dapat berupa loopyang bersarang artinya ada loop perulangan FOR didalam sebuah loop FOR yang lainnya.
Perhatikan contoh berikut:


//program bersarang
#include <iostream>
#include <conio.h>
using namespace std;
main(){
int I,j;
for (i=1;i<=3;i++)
                for(j=1;j<=4;j++)
                cout<<”i=”<<i<<” j=”<<j<<endl;
}


tampilan :

 



tampilan program:
i=1          j=1
i=1          j=2
i=1          j=3
i=1          j=4         
i=2          j=1
i=2          j=2
i=2          j=3
i=2          j=4
i=3          j=1
i=3          j=2
i=3          j=3
i=3          j=4

terjadi perulangan sebanyak 12 kali. Dapat dihitung bahwa perulangan for yang dengan variable j terjadi perulangan sebanyak 4 kali, sedangkan setiap perulangan variable j brada dalam perlangan segan variabl I. Denga demikia, terjadi perulangan 4x3=12. Standar ANSI mengizinkan kita untk membuat FOR bersarang sampai level 15, artinya sebuah perulangan FOR dapat memuat struktur for lainnya sampai 14 for. Namun, ada juga kompiler yang menizinkan kita membuat for sampai lebih dari 15 level.

 Contoh program FOR untuk menampilkan bilangan genap:



tampilan :

 



Pernyataan for dapat berada di dalam pernyataan for lainnya yang biasa disebut nested for.
Contoh program For di dalam for sbb :


 




Tampilan:

 












(2) Struktur Perulangan “ WHILE”

Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (≠0) dan akan berhenti bila kondisinya bernilai salah (=0).
bentuk umum pseudocode :
while<kondisi> do
            <instruksi/blok instruksi>
endwhile

Bentuk Umum flowchart :




cara kerja :
1. sebelum masuk ke while-loop kondisi yang merupakan ekspresi oolean harus sudah mempunyai nilai.
2. jika kondisi true ,maka seluruhbadan loop dikejakan.
3. dicek kembali apakah kondisi benilai true ataufalse. Jika kondisi bernilai true, maka tidak ad perubahan,artinya kembali mengerjakan badan loop. Jika kondisi bernilai false, maka langsung mengerjakan statement pertama sesuda loop WHILE.
4. loopingbeenti setelah kondisi berniai false, sehingga harus ada statement yang mengakibatkan kondisi bernilaifalse. Namun, jikakondisi teap true, artinya,ika tidak ada statement yang megakibtkan kondisi bernilai false, maka terjadi infinite loop.


Sintaksis statement WHILE:
while (condition_expr)
            {statement-statement}




perhatikan contoh berikut:
//program while sederhana
#include <iostream>
#include <conio.h>
using namespace std;
main (){
int i;
i=3;
while(i>0){
cout<<"\n i="<<i;
i--;
}}





tampilan program tersebut sebagai berikut:
3
2
1

yang peru diigat , bahwa sebelum mask kedalam loop. Proram akanmelkkan tes terhadap kondisi loop dari while .jika kondisi terpenuhi maka program aka mengeksekusi statement yang ada dalam loop while. Namun, jika kondisi terpenuhi , mka program akan keluar dari loop dan akan mengeksekusi bais perinah selanjutnya .mengapa mengunkan tanda {} dalalm loop-while? Jika sebuah struktur perulagan memiliki lebih dari satu statement dalam loop,maka harus menggunaka {}. bagaimanajika tidak meggunakan tanda {} dalam struktur perulngan whle yang memiliki lebih dari satu statement?misalnya progra yangdi atas dirubah menjadi seperti dibawah ini:


//program while sederhana tanpa {}
#include <iostream>
#include <conio.h>
using namespace std;
main (){
int i;
i=3;
while(i>0)
cout<<i<<endl;
i--;
}


tampilan :

 



program akan brjalanterus degan menamilkan3.hal ini terjaad karna progam menanggap bhwa oop whle hanymemiliki satu statement yaiu cout sedangkan statement I-- berada di uar lop while, sehingga penontrol nilai I tidak ada. Nilai iakan terus bernilai 3,sehingga while tidak akan berhenti.



Pengujian ungkapan pada while dilakukan sebelum bagian pernyataan, Oleh karena itu ada kemungkinan bagian pernyataan pada while tidak dijalankan sama sekali, yaitu kalau kondisi yang pertama kali bernilai salah. Perhtikan gambar flowchart berikut : Catatan : Jika menggunakan while pastikan bahawa pada suatu saat ungkapan pada while bernilai salah. Jika tidak demikian pernyataan yang mengikutinya akan dijalankan selamanya.
Berikut contoh program perulangan dengan while untuk menampilkan “ C++” sebanyak 10 kali.

CONTOH WHILE

tampilan :







(3) Struktur DO-WHLE

Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur do…while sekurang-kurangnya akan terjadi satu kali perulangan.
Pada struktur do-while kondisi pengecekan ditempatkan di bagian akhir. Hal ini menyebabkan struktur pengulangan ini minimal akan melakukan satu kali proses walaupun kondisi yang didefinisikan tidak terpenuhi (bernilai salah).


Flowcart Do while :

 


bentuk umum algoritma do -while :
do
                <instruksi/blok instruksi>
while<kondisi>


contoh progam:
#include <iostream>
#include <conio.h>
using namespace std;
main (){
int i;
i=3;
while(i>3){
cout<<i<<endl;
i--;
}cout<<"\n \n akhir program\n\n";
}

tampilan :



tampilan program:
akhir program

program tersebut akan lansgung mengksekusi bagianakhir program karena kondisi dari loop While saat program dijalnkan sudah tidak memenuhi kondisi .

//Program do-while
#include <iostream>
#include <conio.h>
using namespace std;
main (){
int i;
i=3;
do{
cout<<i<<endl;
i--;
}while(i>3);
cout<<"\n\nakhir program \n\n";
}

tampilan :




tampilan progam :
3
akhir program

terlihat pada prgam yag aka mask ke oop baru melakukan tes kondisi, sehinga minimalsatu kali lop akan dikerjakan. While menjadi satu kesatuan dengan do dalam instruksi do-while, setelah while harusdi akhiri dengan titik koma (;) seprti contoh while(i>3); sedangkan untuk instruksi while itu seniri jagan diberi tanda titik koma.
 Bentuk umum dari struktur do-while.

do {
pernyataan 1;
pernyataan 2;
 …. pernyataan n ; }while (ungkapan)
 
 









Catatan :
·         Bagian pernyataan1 hingga N dijalankan secara berulang sampai dengan ungkapan bernilai salah (=0).
·          Berbeda dengan while, pengujian ungkapan dilakukan di bagianbelakang (setelah bagian pernyataan).
·          Dengan demikian bagian pernyataan pada pengujian do – while minimal· akan dijalankan satu kali.



                                                               


Berikut program modifikasi prgram sebelumnya untuk menampilkan tulisan C++ 10 kali dengan do – while.

Tampilan :
 






















Referensi :
http://staff.uny.ac.id/sites/default/files/pendidikan/Mutaqin,Drs.,M.Pd.,M.T./BabIIKegPemb5_
Perulang.pdf


buku : 10 lankah belajar ogika dan algoritma, menggunakan bahasa C dan C++ di GNU/linux: Ema utama & sukrisno :penerbit andi


5 komentar: