MATERI LOGIKA DAN ALGORITMA PERTEMUAN KE-5


STRUKTUR LOOPING

Pemutaran kembali, terjadi ketika mengalihkan arus diagram alur kembali ke atas, shg bbrp alur berulang bbrp kali. 
(1)Variabel A diberi harga 1 
 (2)Var. A berubah hrg menjadi 2 
 (3)Var. B diberi hrg sebesar hrg A dikalikan hrg A 
(4)Harga B dicetak Lalu ke (2), (3),(4) & kembali lagi ke 

(2) dstnya... Jadi yang akan tercetak adalah harga-harga 4,9,16, ... dst


Bentuk umum penulisan proses LOOP : 
1. Statement While 
2. Statement Do.....While 
3. Statement FOR 
 a. Statement FOR Positif 
 b. Statement FOR Negatif 
 c. Statement FOR bersarang ( Nested Loop )

1. Statement While 
Perulangan akan terus dilaksanakan selama syarat tersebut terpenuhi. 

Bentuk Umum : 
                while (syarat) 
                  pernyataan ; 

 atau 

 while (syarat) 
 { 
 pernyataan; 
pernyataan; 
 }

Contoh 1: 
Int bil=1; 
While(bil<=5) 
cout<< bill;           bil= bil+1 

OUTPUT = 1 2 3 4 5 

Contoh 2: Buatlah algoritma dan program untuk menampilkan angka 10 
sampai 1 dengan pengurangan 1. 
Maka algoritmanya adalah sebagai berikut: 
1. Tentukan nilai awal 
2. Lakukan proses pengulangan selama i>0 
3. Cetak bilangan 
4. Ulangi langkah 2 sampai batas akhir

Adapun programnya sebagai berikut: 
#include <stdio.h>
main() 

int i; 
 i=10; 
while (i>0) 
 { 
 printf (" %d\n ",i); 
 I = I - 1; 
 } }


2. Statement Do.....While 
Perulangan akan dilaksanakan terlebih dahulu dan pengujian perulangan dilakukan belakangan. 

Bentuk Umum : 
         do 
           pernyataan; 
        while (syarat); 

 Atau 
 do 
 { 
 pernyataan; pernyataan; 
 } 
 while (syarat) 

Int bil=2;
Do
cout<<bil;
bil+=2;
While (bil<=10);

 Output : 2 4 6 8 10


Adapun programnya sebagai berikut: 
#include <stdio.h>
main() 
int counter; 
 counter =0; 
 do 
 { 
 printf ("C++ \n"); 
 counter++; 
 } 
 while (counter < 15); 
 }


3. Statement For 
Bentuk Umum : 
Contoh : 
for (a =0; a<=10; ++a)      =>     perulangan positif (+1) 
for (a =0; a<=10; a+=2)    =>     perulangan positif (+2) 
for (a=10; a>=0; --a)         =>     perulangan negatif


Listing for Menurun:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main() 
int i;
for (i=10; i>0; i--)
 cout<<"\n bilangan: "<<i;
 getch(); }

Listing for Menaik:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main() 
{int i;
for (i=0; i<10; ++i)
 cout<<"\n bilangan: "<<i;
 getch(); 
}





Nested For 
Perulangan for di dalam perulangan for lainnya. 
Bentuk Umum : 
For (inisialisasi; syarat pengulangan; pengubah nilai) 
For (inisialisasi; syarat pengulangan; pengubah nilai) 
 { 
 perintah ; 
 } 
 }


Contoh Program Menggunakan Nested-For:
#include <stdio.h>
#include <conio.h>
#include <iostream.h> Outputnya:
main()
{ int i, j;
 for (i=1; i<=5; i++)
 { cout<<endl;
 for (j=1; j<=i; j++)
 cout<<"*";}
 getch(); }






Perintah BREAK; 
 berfungsi untuk keluar dari suatu loop for, do...while, while. 
 Bentuk Umumnya adalah: 
 { 
 ......
 ...... 
 break;
 ......
 ...... 
 }
 .......

Buatlah Flowchart dan program untuk menginput sejumlah Bilangan integer satu per satu dan menghitung totalnya. Inputan akan berhenti apabila nilai yang diinput lebih besar dari 100. Kemudian mencetak total dan proses selesai. Hasil Outputnya adalah sbb: 

Flowchart dan programnya
Listing Program, sbb: 
#include <stdio.h>
#include <conio.h>
void main() 
int n, t; 
 t=0; 
 while (1) 
 { 
scanf("%i",&n); 
 t=t+n;
 if (t >= 100) break; 
}
 printf("%i",t);
 getch(); 
}



Perhatikan: nilai kondisi pada while (1), karena menurut bahasa C nilai tersebut bernilai True. Looping akan dikerjakan terus sampai dipaksa keluar oleh instruksi break;

Perintah Continue: 
digunakan untuk mengarahkan jalannya program ke iterasi (proses) 
berikutnya pada loop yang sama. 
Bentuk umumnya adalah: 
while (kondisi) 
...... 
...... 
Continue;
 ......
 ...... 



Contoh: Buatlah Algoritma dan program untuk mencetak bilangan 0 - 6, ketika proses pencetakan bilangan pada 4, maka bilangan ini dilewati. hasil outputnya adalah: 0,1,2,3,5,6. Algoritmanya adalah sebagai berikut: 
1. Tentukan nilai awal, batas akhir dan pertambahan nilai 
2. Lakukan pengulangan sesuai dengan langkah 1 
3. Jika dalam pengulangan bilangan yang ditampilkan sama dengan 4, maka pengulangan berhenti dan dilanjutkan ke bilangan selanjutnya. 
4. Cetak bilangan 
5. Jika dalam pengulangan bilangan yang akan ditampilkan sama dengan 6, maka pengulangan dihentikan


Adapun Programnya sebagai berikut: 
#include 
#include 
main() 
int i; 
 for (i=0; i<10; ++i) 
 { 
if (i==4) continue; 
 printf("bilangan : %d \n",i); 
 if (i==6) break; 
 } 
getch(); 

0 komentar:

Copyright © 2013 Sulhansubs