pada akhir pertemuan ini, diharapkan...

39
1

Upload: others

Post on 29-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

  • 1

  • Pada akhir pertemuan ini, diharapkan mahasiswa

    akan mampu :

    Memahami struktur kendali pengulangan

    (looping) dan memanfaatkannya dalam pembuatan

    aplikasi program komputer dengan bahasa

    pemrograman java.

    2

  • Struktur Pengulangan (looping)

    Konstruksi for, while dan do-while

    Nested dan infinite loop

    Compound atau Block statement

    Break dan Continue

    3

  • Struktur pengulangan dimaksudkan untukmelakukan proses pengulangan dari beberapainstruksi dalam sejumlah pengulangan tertentu

    Jumlah pengulangan dapat ditentukansebelumnya atau ditentukan dalam prosespelaksanaan pengulangan.

    Tiga macam struktur pengulangan dalam pemrograman terstruktur, yaitu: Struktur for Struktur while Struktur do-while

    4

  • Konstruksi for

    for (exp1; exp2; exp3) statement;atau:

    for (exp1; exp2; exp3){statement1;statement2;…….

    }

    exp1 : adalah ekspresi untuk inisialisasi,exp2 : adalah ekspresi conditional exp3 : adalah ekspresi increment atau decrement

    exp1, exp2 dan exp3 adalah sifatnya optional (boleh ada bolehtidak ada).

    5

  • 6

    Struktur logika pengulangan for

    exp1

    exp3

    statements

    exp2true

    false

    exp1

    exp3

    statements

    exp2true

    false

  • 7

    Contoh :

    for (x=1; x

  • Contoh :• Program mencetak angka dari 1 sampai 10

    • Program mencetak angka dari 10 sampai 1

    8

    int x;

    for( x = 1 ; x = 1 ; x-- ) sout(x );

  • Contoh penggunaan for untuk menghitung rata-rata pengeluaran uang bensin selama satu bulan, dengandata sbb :

    Minggu Pengeluaran

    1 Rp. 32.000,-

    2 Rp. 29.000,-

    3 Rp. 33.000,-

    4 Rp. 24.000,-

    9

    Algoritma :

    1. Variabel jumlah diberi nilai nol

    2. Baca data pengeluaran bensin dari keyboard dan simpan ke variabel data

    3. Tambahkan data ke jumlah

    4. Ulangi 2 dan 3 sebanyak 4 kali

    5. Rerata = Jumlah / 4

  • Infinite LoopUntuk membuat infinite loop dapat dilakukan dengan

    menggunakan “for-loop”, dengan menghilangkan ketiga

    parameter (exp1, exp2, exp3) yang ada pada for loop.

    Untuk keluar dari loop dapat digunakan statement break.

    Contoh:

    10

    int i = 0;

    for(;;) {

    i++;

    sout(i);

    if (i>=10) break;

    }

  • Nested Loop

    Jika di dalam sebuah pengulangan terdapat

    statement pengulangan. Pengulangan akan

    dijalankan dimulai dari pengulangan terdalam.

    11

    Output :

    1 5 1 4 1 3 .. 2 5 2 4 .. 5 1

    int x, y;

    for (x=1;x=1; y--){

    sout(x +” ”+ y);

    }

    }

    Bahasa C

  • Sintaks :

    while (eks.boolean) statements;

    atau :

    while(eks.boolean){

    statement1;

    statement2;

    …..

    }

    12

    eks. boolean

    statements

    true

    false

  • Contoh :

    while(product

  • Kesetaraan for dengan while sbb:

    Contoh:

    14

    int x;

    for( x = 1 ; x

  • Sintaks :

    do statement while (eks.boolean);

    atau :

    do {

    statement1;

    statement2;

    …..

    } while(eks.boolean)

    Selama eks.boolean bernilai true maka statements dieksekusi berulang-ulang.

    Pengetesan eks.boolean dilakukan setelah meng-eksekusistatements.

    15

    eks. booleantrue

    false

    statements

  • Contoh:

    int i = 0;do {

    sout(i);} while(++i

  • Pada pengulangan while, statement atau blok

    statement mungkin tidak akan pernah dilaksanakan,

    bila nilai ekspresi boolen bernilai false, karena operasi

    pengulangan diawali dengan mengeksekusi ekspresi

    boolean terlebih dahulu.

    Pada pengulangan do-while statement atau blok

    statement pasti dikerjakan paling sedikit satu kali,

    karena ekspresi boolean baru diuji pada akhir blok

    pengulangan.

    17

  • Beberapa cara untuk menghentikan pengulangan

    untuk program interaktif, di antaranya dapat dilakukan

    dengan menambah:

    • Sentinel atau Pembatas dengan kode khusus.

    • Pertanyaan, misalkan: “Apakah pengulangan akan

    dilanjutkan?”.

    18

  • Contoh : Cara „sentinel‟ pada konstruksi do-while dengan memakai nilai 0 pada variabel panjang dan variabel lebar.

    19

    int panjang,lebar,luas; char ulang;

    do{ cetak(“Panjang [0=selesai] : “);

    baca(panjang);

    cetak(“Lebar [0=selesai] : “);

    baca(lebar);

    luas = panjang * lebar;

    cetak (“Luas = “+luas);

    } while((panjang != 0) && (lebar != 0));

  • Contoh : Cara „Pertanyaan‟ pada konstruksi While

    20

    int panjang, lebar, luar; char ulang;

    cetak(”Teruskan Perhitungan ? (Y/T) :”);

    baca(ulang);

    while((toupper(ulang)) == ’Y’) {

    cetak(”Panjang : ”); baca (panjang);

    cetak(”Lebar : ”); baca(lebar);

    luas = panjang * lebar;

    cetak(”Luas =”,luas);

    cetak(”Teruskan Perhitungan?(Y/T):”);

    baca(ulang);

    }

  • break

    • Digunakan untuk keluar dari loop (for, while dan do-

    while)

    • Digunakan untuk keluar dari switch

    continue

    • skip sisa instruksi dalam loop, dan eksekusi loop

    berjalan ke tahap selanjutnya

    21

  • int x = 1;while (x5) break;

    }

    22

    Contoh penggunaan statement break pada loop yangmenyebabkan program keluar dari loop tersebut

    Keluar dari loop

  • Contoh:

    23

    int x;

    for(x=1; x

  • for (i=k; i < n; i++) printf(”TIF-FTUB\n”);

    1. Jika k < n maka berapa kali kata TIF-FTUB di cetak

    dilayar monitor?

    2. Jika k=n maka berapa kali kata TIF-FTUB di cetak

    dilayar monitor ?

    3. Jika k > n maka berapa kali kata TIF-FTUB di cetak

    dilayar monitor ?

    24

  • for (i=k; i >= n; i--) printf(” TIF-FTUB \n”);

    1. Jika k < n maka berapa kali kata TIF-FTUB di cetak

    dilayar monitor ?

    2. Jika k=n maka berapa kali kata TIF-FTUB di cetak

    dilayar monitor ?

    3. Jika k > n maka berapa kali kata TIF-FTUB di cetak

    dilayar monitor ?

    25

  • Dapatkah infinite/forever loop ditulis menggunakan

    for loop, while loop dan do-while loop ?

    Jika p = pernyataan dan e = ekspresi, ubahlah loop for

    berikut menjadi loop while.

    a. for(; e ;) p;

    b.for(; ; e) p;

    26

  • Bandingkan dua buah sintaks for berikut ini :

    Jelaskan outputnya dan perbedaannya dari dua

    potongan program di atas!

    27

    for (i=0, j=1; i

  • #include int main(){

    int x,y;for(x=1;x=1;y--)

    printf("%d %d ",x,y);return 0;

    }

    28

    #include

    int main()

    {

    int x,y;

    for(x=1;x=1;y--)

    printf("%d %d ",x,y);

    return 0;

    }

    APA OUTPUT PROGRAM BERIKUT ??

    awas! Ada titik koma

  • #include int main(){

    int x,y;for(x=1;x=1;y--);

    printf("%d %d ",x,y);return 0;

    }

    29

    #include

    int main()

    {

    int x,y;

    for (x=1;x=1;y--);

    printf("%d %d ",x,y);

    return 0;

    }

    APA OUTPUT PROGRAM BERIKUT ??

    awas! ada titik koma

    Awas! ada titik koma

  • Jelaskan output program berikut ini :

    30

    #include

    int main() {

    int nilai = 0, jumlah = 0;

    while(nilai < 10) {

    jumlah += nilai;

    printf(”\nNilai =%d, Jumlah =%d”, nilai++, jumlah);

    }

    return 0;

    }

  • Jelaskan output program berikut ini :

    31

    #include

    int main() {

    long bil, tmp, x=1;

    printf(”\nInput bil:”); scanf(”%d”, &bil);

    tmp=bil;

    while(bil >= 1) x*=bil--;

    printf(”\n%ld ! = %ld”,tmp, x);

    return 0;

    }

  • Buat program untuk menampilkan bilangan ganjil dari

    11 s/d 188, dengan menggunakan :

    • for

    • while

    • do - while

    32

  • Diasumsikan hari 1 menyatakan senin, 2 - selasa, 3 -

    rabu,…, 7 – minggu. Buatlah sebuah program untuk

    menampilkan angka hari sebanyak n yang diinput dari

    keyboard. Perhatikan pola berikut :

    n = 3 1 2 3

    n = 71 2 3 4 5 6 7

    n = 101 2 3 4 5 6 7 1 2 3

    33

  • int x ;for(x=0 ; x

  • Buatlah program untuk menampilkan gambar seperti

    contoh dibawah, dimana n variabel integer yg nilainya

    di-input dari keyboard (dengan for, while atau do-while

    loop).

    *

    * *

    * * *

    * * * *

    * * * * *

    35

    n

    n

  • Buatlah program untuk menampilkan gambar seperti

    contoh dibawah, dimana n variabel integer yg nilainya

    di-input dari keyboard (dengan for, while atau do-while

    loop).

    * * * * *

    * * * *

    * * *

    * *

    *

    36

    n

    n

  • Apa Output dari program di bawah ini?

    37

    #include int main(){ int x,y,z;

    for (x=0; x

  • 38

    Struktur logika pengulangan for

    exp1

    exp3

    statements

    exp2true

    false

  • 39

    exp1

    exp3

    statements

    exp2true

    false

    Struktur logika pengulangan for