Minggu

Struktur Perulangan (Lanjutan)

Struktur Perulangan (Lanjutan)
Dalam bahasa pemograman, proses perulangan ditanganni dengan mekanisme yang dinamakan dengan LOOP. Dengan mekanisme Loop ini, suatu proses yang berulang dapat diimplementasikan dengan pernyataan-pernyataan yang relatif pendek.

1. Intruksi For

Intruksi perulangan yang paling sering digunakan untuk intruksi FOR. Intruksi ini digunakan apabila kita mengetahui secara pasti banyaknya perulangan yang akan dilakukan.
Pernyataan for mempunyai 3 parameter yaitu :

   1. Nilai awal(initial value)
   2. Test kondisi yang menentukan akhir LOOP
   3. penentu perubahan nilai

Bentuk umum pseudocode For format naik :

// untuk pengulanagn yang sifatnya menaik ( increment)
For ( variabel = niali_Aawal; kondisi; variabel++){
Statemen_yang_akan_diulang;
}

// untuk pengulangan yang sifatnyta menurun (decrement)
For (variabel = nilai_awal; kondisi; variabel --){
Statement_yang_akan_ diulang;
}

Sebagai catatn bahwa jika kita melakukan pengulangan  yang sifatnya menaik(increment) mka nilai awal dari variabel yang kita definisikan haruslah lebih kecil dari nilai akhir yang dituliskan dalam kondisi(ekspresi). Dan Sebaliknya untuk decrement.

Contoh :
Increment :
#include<iostream.h>
int main(){
cout<<"Pengulangan Menaik"<<endl;
int C;
for(C=0; C<10; C++) {
cout<<C+1<<endl;
}
return 0;
}
Decrement :
#include<iostream.h>

int main(){

cout<<"Pengulangan Menurun"<<endl;
int J;
for(J=10; J>0; J--) {
cout<<J<<endl;
}
return 0;
}

Struktur for dengan banyak variabel :
Struktur for didalam C++ dapat juga melibatkan lebih dari satu variabel, namun yang jelas satu diantaranya akan digunakan sebagi indeks pengulangan.

Contoh :
#include<iostream.h>
int main(){
char A;

int B;

int C;

for (A='a', B=0, C=1; A<'e'; A++, B=B+5, C=C*10){
cout<<"nilai A = "<<A<<endl;
cout<<"nilai B = "<<B<<endl;
cout<<"nilai C = "<<C<<endl;
cout<<endl;
}
return 0;
}

·         Struktur for bersarang
Struktur pengulangan juga dapat diterapkan pengulanagn bersarang (nested looping). Bentuk umum dari struktur for bersarang dapat juga dirumuskan seperti dibawah ini :
          
For (variabel1 =niali_awal; kondisi;variabel1++){
       For (variabel2=nilai_awal;kondisi2; variabel2++){
For (variabel3=niali_awal;kondisi3; variabel3++){
    Statement_statement_yang_Akan_diulang;
    ...
            }
       }
}

Rumusan diatas, pada setiap pengulangan pertama program akan menyelesaikan pengulangan kedua. Begitu juga pada setiap pengulangan kedua, program akan menyelesaikan pengulangan ketiga, begitu seterusnya.
Contoh :
#include<iostream.h>
int main(){
  for (int j=1; j<=10; j++){
             for(int k=1; k<=j; k++){
                        cout<<k*j<<' ';
             }
              cout<<'\n';
  }
            return 0;
}
                      
2. Struktur While

        Struktur pengulangan jenis ini adalah pengulanagn ynag melakukan pengecekan kondisi di awal blok struktur. Kita bahwa pengulangan hanya akan dilakukan jika kondisi yang didefinisikan didalamnya terpenuhi(bernilai benar). Hal ini jika kondisi yang diidefinisikan tidak terpenuhi(bernilai salah) maka statemen yang terdapat dalam blok pengulangan pun tidak akan pernah dieksekusi oleh program. Adapun bentuk umum dari struktur pengulangan while ini adalah :

 While (kondisi){
            Statemen_statemen_yang_akan_diulang;
}

Algoritma Tampilan dengan while
{menampilakan tulisan dengan while }

Deklarasi
C : integer

Diskripsi
C        0
While (C<10)
Write (Saya sangat menyukai C++)
C++
End while

Contoh :
            #include<iostream.h>
int main(){
int C;
C=0;
while(C<10){
cout<<"Saya sangat menyukai C++"<<endl;
C++;
}
return 0;
}

Selain contoh diatas , masih banyak contoh pengulangan lain yang dapat diterapkan denagn menggunakan struktur while, termasuk penggunaan struktur while bersarang.
Contoh :
#include<iostream.h>
int main(){
int J = 10;
int K;

while (J>=1){
K=1;
while (K <= J){
cout<<K*J<<' ';
K++;
}
cout<<'\n';
J--;
}
return 0;
}
Hasil :


3. Struktur Do While

        Berbeda dengan struktur while yang melakukan pengecekan kondisi diawal blok perulanagn, Pad struktur do-while kondisi justru ditempatkan dibagian akhir.
Berikut ini bentuk umum dari struktur do-while 
do {
   Statemen_yang_akan_diulang;
}while (kondisi);

Algoritma Faktor persekutuan terbesar :
{mencetak faktor persekutuan terbesar }
Algoritma Faktor persekutuan terbesar :
{mencetak faktor persekutuan terbesar }

Deklarasi
Bil1, Bil2: integer
Sisa : integer

Diskripsi
Read (Bil1)
Read (Bil2)
Bil1 < Bil2)
Temp        Bil1
Bil1         Bil2
Bil2        Temp
Do
Sisa        Bil1 % Bil2
Bil1           Bil2
Bil2  sisa
While  ( sisa != 0)
Enwhile
Write(faktor persekutuan terbesar)

Contoh :
#include<iostream.h>
int main(){
int Bil1, Bil2;
int sisa;

cout<<"masukan bilangan pertama :"; cin>>Bil1;
cout<<"Masukan bilangan kedua :"; cin>>Bil2;
 if (Bil1 < Bil2){
 int temp = Bil1;
 Bil1 = Bil2;
 Bil2 = temp;
 }
 do{
 sisa = Bil1 % Bil2;
 Bil1 = Bil2;
 Bil2 = sisa;
 } while (sisa !=0);

 cout<<"\n Faktor persekutuan terbesar = "<<Bil1;
 return 0;
 }

   2. Struktur Repeat – Until


Bentuk umum struktur repeat until adalah :
Repeat
Aksiuntil <kondisi>

      Penjelasan :
            Notasi ini mendasarkan pengulangan pada kondisi berhenti. Aksi di dalam badan kadang diulang sampai kondisi berhenti boolean bernilai true. Dengan kata lain, jika kondisi berhenti masih salah, pengulangan masih terus dilakukan. Karena pengulangan harus berhenti, maka di dalam badan kalang harus ada aksi yang mengubah harga kondisi.
            Struktur Repeat – Until memiliki makna yang sama dengan While-Do, dan dalam beberapa masalah kedua struktur komplemen satu sama lain. Namun ada perbedaan mendasar diantara keduanya. Pada struktur repeat-until, aksi (atau sekumpulan aksi) dilaksanakan minimal satu kali, karena kondisi pengulangan di periksa pada akhir struktur, sedangkan pada struktur while-do kondisi pengulangan diperiksa pada awal struktur sehingga memungkinkan pengulangan tidak akan pernah dilaksanakan bila kondisi pengulangan bernilai false.
Contoh :
    
Algoritma jumlah_deret
{menjumlahkan deret 1+2+3+.. N
Dengan N adalah bilangan bulat positif yang dibaca dari piranti masukan.
Jumalah deret dicetak  kepiranti keluaran .}

Deklarasi
N: integer                    { banyaknya suku deret, nilainya positif}
Angka : integer            {suku deret}
Jumlah:integer             {jumlah deret}

Diskripsi
Read(N)                      {banyaknya suku deret}
Jumlah                         0      {inisialisasi jumlah deret}
Angka                         1       {suku deret}
Repeat
Jumlah        
jumlah + angka            {jumlah deret sekarang}
Angka
angka + 1                         {suku deret berikutnya}
Until angka > N
Write(jumlah)

Program dengan bahasa Pascal :
program jumlah_deret;
var
N,angka,jumlah:integer;
begin
write('Berapa N?'); readln(N);
jumlah:=0;
angka:=1;
repeat
jumlah:=jumlah + angka;
angka :=angka+1;
until angka>N;
writeln('jumlah deret =', jumlah);
end.

Tidak ada komentar:

Posting Komentar