Algorithm and Programming - Program Control: Repetition - Gerald Stephanus Tamon // 2201743182

Algorithm and Programming

Pertemuan 10 Oktober 2018
Program Control: Repetition

Gerald Stephanus Tamon // 2201743182 // CB01-CL

Blog ini dibuat dengan sumber materi dari:
Ø  PPT Session 9 - 10 Oct 2018 - Program Control: Repetition




Repetition adalah pengulangan satu atau lebih instruksi dalam suatu waktu. Repetition digunakan dalam C untuk mengulang beberapa pernyataan atau expression untuk menghasilkan output yang diinginkan. Jumlah pengulangan bisa ditentukan di dalam program, atau ditentukan saat program berjalan.
Operasi yang digunakan untuk repetition:
  • -          for
  • -          while
  • -          do-while


1.       FOR

Ø  Syntax untuk repetition menggunakan for:

for(exp1; exp2; exp3) statement;
atau:
for(exp1; exp2; exp3){
            statement1;
            statement2;
            …….
 }

exp1 :  inisialisasi (initialization)
exp2 :  kondisi (conditional)
exp3 :  increment atau decrement
exp1, exp2 and exp3 boleh diisi, boleh tidak diisi.
untuk exp1 dan exp3 boleh diisi beberapa expression yang dipisah dengan tanda koma.


Ø  Contoh penggunaan for:

void reverse(char ss[])
{
    int c,i,j;
    for(i=0, j=strlen(ss)-1; i<j; i++, j--){
        c=ss[i];
        ss[i]=ss[j];
        ss[j]=c;
    }
}

Ø  Contoh program untuk menampilkan angka 1 sampai 10:

#include<stdio.h>
int main()
{
    int x;
    for( x = 1 ;  x <= 10 ;  x++ ) printf( "%d\n", x );
    return(0);
}

Ø  Contoh program untuk menampilkan angka 10 sampai 1:

#include<stdio.h>
int main()
{
    int x;
    for( x = 10 ;  x >= 1 ;  x-- ) printf( "%d\n", x);
    return(0);
}

Ø  Infinite Loop
Infinite loop adalah pengulangan tanpa kondisi untuk berhenti. Untuk mengakhiri pengulangan, gunakan break;

Ø  Nested Loop
Nested Loop adalah pengulangan dalam pengulangan. Pengulangan yang di paling dalam yang akan dijalankan terlebih dahulu.

Ø  Contoh Nested Loop:

int x, y;
for (x=1;x<=5;x++)
     for (y=5; y>=1; y--)
           printf(”%d %d ”,x,y);

Output :
1 5 1 4 1 3 .. 2 5 2 4 .. 5 1

2.       WHILE

Ø  Syntax untuk while:

while (exp) statements;
atau:
while(exp){
   statement1;
   statement2;
   …..
}

exp di dalam while adalah Boolean expression
(expression yang hasilnya TRUE atau FALSE),
statement akan dijalankan selama hasil exp bukan 0 (FALSE).

Ø  Contoh penggunaan while:

int counter = 1;
while ( counter <= 10 ) {
         printf( "%d\n", counter );
         ++counter;
}

3.       DO-WHILE

Ø  Syntax:

do{
    < statements >;
} while(exp);

statement akan dilakukan terus selama exp menghasilkan nilai TRUE.

Ø  Contoh penggunaan do-while:

int counter=0;
do {
         printf( "%d  ", counter );
   ++counter;
} while (counter <= 10);


Ø  Di operasi WHILE, statement tidak akan dijalankan jika exp bernilai FALSE.
Ø  Di operasi DO-WHILE, statement akan dijalankan sekali jika exp bernilai FALSE, ini dikarenakan validasi kondisi dilakukan setelah statement berjalan 1 kali.

Ø  Untuk mengakiri pengulangan, bisa dilakukan dengan beberapa cara:

o   Sentinel
o   Question, apakah pengulangan akan dilanjutkan?

Ø  Contoh (Question):

#include <stdio.h>
int main()
{
         int width, height, area; char repeat;
         printf(”Continue ? (Y/N) :”);
         scanf(”%c”,&repeat);
         while((toupper(repeat)) == ’Y’) {
              printf(” Width : ”);
              scanf(”%d”,&width);
              printf(” Height : ”);
              scanf(”%d”,&height);
              area = width*height;
              printf(” Area = %d\n\n”,area);
              printf(”Continue ?(Y/N):”);
              scanf(”%c”,&repeat);
         }
         return(0);
}





Ø  Contoh (Sentinel):
Sentinel = 0 untuk width dan height.

#include <stdio.h>
int main()
{
        int width, height, area;
        do{
             printf(” Width : ”);
             scanf(”%d”,&width);
             printf(” Height : ”);
             scanf(”%d”,&height);
             area = width*height;
             printf(” Area = %d\n\n”,area);
        } while((width != 0) && (height != 0));
        return(0);
}




Beda Break dan Continue:
Ø  Break digunakan untuk mengakhiri pengulangan (for, while, dan do-while)
Ø  Continue digunakan untuk melewati semua statement di bawahnya, dan melanjutkan pengulangan dari awal pengulangan.

Contoh perbedaan ‘break;’ dan ‘continue;’ dalam program:

Ø  Continue:
#include <stdio.h>
int main() {
        int x;
        for(x=1; x<=10; x++) {
        if (x == 5) continue;
        printf("%d ", x);
        }
        return 0;
}

Output : 1 2 3 4 6 7 8 9 10

Ø  Break:
#include <stdio.h>
int main() {
        int x;
        for(x=1; x<=10; x++) {
        if (x == 5) break;
        printf("%d ", x);
        }
        return 0;
}

Output : 1 2 3 4


Demikian dari post saya. Semoga blog ini berguna untuk kalian yang ingin belajar. Mohon maaf bila ada salah kata. Terima kasih telah membaca.









AD:
Spotify Premium 30.000 / bulan; 2XX.000 / tahun:

          Tokopedia

          Instagram

          Line@

Comments

Popular posts from this blog

Algorithm and Programming - Pointers and Arrays - Gerald Stephanus Tamon // 2201743182