Dasar Pemrograman-10 ( Statemen Terstruktur)

download Dasar Pemrograman-10 ( Statemen Terstruktur)

of 13

Transcript of Dasar Pemrograman-10 ( Statemen Terstruktur)

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    1/13

    Statemen Perulangan (Iterasi) 58

    V STATEMEN PERULANGAN (ITERASI)

    V.1 Pendahuluan

    - Mengulang suatu proses merupakan tindakan yang banyak

    dijumpai dalam pemrograman.- Pada semua bahasa pemrograman, pengulangan proses ditangani

    dengan suatu mekanisme yang disebut loop.

    - Dengan menggunakan loop, suatu proses yang berulang dapat

    diimplemetnasikan dengan baris program yang pendek.

    - Pada bahasa C terdapat tiga struktur loop, yaitu dengan

    menggunakan statemen while, do-while, dan for.

    - Berhubungan dengan penanganan loop ada beberapa pernyataan

    lain yang berfungsi diantaranya untuk keluar dari loop, sepertibreak, goto, dan continue.

    V.2 Statemen do-while

    - Statemen do-while digunakan untuk mengulang suatu proses

    selama kondinya dipenuhi.

    - Bentuk sintaks statemen do-whileadalah:

    do Pernyataan

    while (kondisi)

    - Pada pernyataan do-while, tubuh loopberupapernyataanyang bisa

    berupa pernyataan tunggal, pernyataan majemuk maupun

    pernyataan kososng.

    - Pada statemen do, mula-mula pernyataan akan dieksekusi,

    selanjutnya nilai kondisiakan diuji. Jika nilai kondisibenar, maka

    pernyataan akan dieksekusi lagi, kemudian kondisi diperiksakembali, begitu seterusnya, sampai nilai kondisisalah.

    - Diagram alir statemen do-while dapat dilihat pada Gambar 5.1.

    pernyataan

    kondisi

    salah

    benar

    tubuh

    loop

    keluar loop

    Gambar 5.1 Diagram alir do-while.

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    2/13

    Statemen Perulangan (Iterasi) 59

    - Contoh program berikut memberi gambaran pemakaian statemen

    do-while untuk mengatur penampilan tulisan Turbo C sebanyak

    sepuluh kali.

    /* --------------------------------------*//* File Program : TurboC.C */

    /* Menampilkan tulisan Turbo C */

    /* sepuluh kali */

    /* --------------------------------------*/

    #include

    main (){

    char pencacah;

    pencacah = 0;

    do

    {

    puts("Turbo C++\n");

    pencacah++;

    }

    while (pencacah < 10);

    }

    Program 5-1.

    - Pada program di atas, variabel pencacah digunakan untuk

    menghitung jumlah tulisan yang sudah ditampilkan pada layar.

    - Selama nilaipencacahkurang dari 10, maka perintah :

    puts(Turbo C++);

    akan dieksekusi kembali.

    - Contoh lain pemakaian do-while misalnya untuk mengatur agar

    tombol yang ditekan oleh pemakai program berupa salah satu

    diantara Y, y, T, atau t. Implementasi programnya adalah:

    do

    {

    pilihan = getch(); /* baca tombol */

    sudah_benar = (pilihan == Y)|| (pilihan= = y) ||

    (pilihan= = T) || (pilihan= = t);

    }

    while(!sudah_benar);

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    3/13

    Statemen Perulangan (Iterasi) 60

    - Mula-mula tombol dibaca dengan menggunakan statemengetch(),

    dan kemudian diberikan ke variabelpilihan.

    - Setelah itu variabelsudah_benarakan diisi dengan nilai benar (1)

    atau salah (0) tergantung dari nilaipilihan.- Jika pilihanberisi salah satu diantara Y, y, T, atau t, maka

    sudah_benar akan berisi benar.

    - Nilai variabel sudah_benar ini selanjutnya dijadikan sebagai

    kondisi do-while.

    - Pengulangan terhadap pembacaan tombol akan dilakukan kembali

    selama variabelsudah_benar bernilai salah.

    /* -----------------------------*//* File Program : Pilihan.C */

    /* Membaca tombol Y atau T */

    /* -----------------------------*/

    #include

    #include

    main ()

    {

    char pilihan;

    int sudah_benar;

    printf("Pilihlah Y atau T. ");

    /* Program hanya mau dilanjutkan

    kalau tombol Y, y, T, t yang ditekan */

    do

    {

    pilihan = getch(); /* baca tombol */

    sudah_benar = (pilihan == 'T') || (pilihan == 't')||

    (pilihan == 'Y') || (pilihan == 'y');

    }

    while (!sudah_benar);

    /* Memberi keterangan tentang pilihan */

    switch(pilihan)

    {

    case 'Y':

    case 'y':

    puts("\nPilihan anda adalah Y");

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    4/13

    Statemen Perulangan (Iterasi) 61

    break;

    case 'T':

    case 't':

    puts("\nPilihan anda adalah T");

    }}

    Program 5-2.

    V.3 Statemen While

    - Berbeda dengan do-while, pada statemen whilepengujian terhadap

    loop dilakukan di bagian awal (sebelum tubuh loop). Bentuksintaksisnya adalah sebagai berikut:

    While (kondisi)

    pernyataan

    dengan pernyataan dapat berupa pernyataan tunggal, pernyataan

    majemuk ataupun pernyataan kosong.

    Proses pengulangan terhadap pernyataan diperlihatkan pada Gambar

    5.2.

    pernyataan

    kondisi

    benar

    keluar loop

    Gambar 5.2 Diagram alir while.

    - Dengan melihat gambar 5.2 di atas tampak bahwa ada

    kemungkinan pernyataan yang merupakan tubuh loop tidak

    dijalankan sama sekali, yaitu jika pada pengujian kondisi while

    yang pertama kali ternyata kondisi bernilai salah.

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    5/13

    Statemen Perulangan (Iterasi) 62

    - Contoh lain penggunaan while dapat dilihat pada Program 5-3,

    yang digunakan untuk menghitung benyaknya karakter dari

    kalimat yang dimasukkan melalui papan-ketik. Disamping itu juga

    menghitung banyaknya spasi.

    - Untuk mengakhiri pemasukan kalimat, maka tombol ENTER harusditekan. Jadi tombol ENTER yang dijadikan sebagai kondisi

    perhitungan jumlah spasi maupu karakter keseluruhannya.

    (karakter = getch()) != ENTER

    - Ungkapan di atas mempunyai arti:

    o Bacalah sebuah karakter dan berikan ke variabel karakter.

    o Kemudian bandingkan apakah karakter tersebut tidak samadengan ENTER (Catatan: ENTER didefinisikan dalam

    #define).

    o Ungkapan akan menghasilkan nilai benar jika tombol yang

    ditekan bukan ENTER.

    - Pada program, jika tombol yang ditekan bukan ENTER, maka:

    o Jumlah karakterr dinaikkan sebesar satu (jumkar++;)

    o Kalau karakter berupa spasi, maka jumlah spasi dinaikkan

    sebesar satu melalui pernyataan:

    If (karakter == SPASI)jumspasi++;

    /* -----------------------------------*/

    /* File Program : Jumkar.C */

    /* Menghitung jumlah kata dan */

    /* karakter dlm kalimat */

    /* ------------------------------------*/

    #include

    #include

    #define ENTER '\R' /* Karakter CR */

    #define SPASI ' ' /* Karakter spasi */

    main ()

    {char karakter;

    int jumkar = 0;

    int jumspasi = 0;

    puts("Masukkan sebuah kalimat dan akhiri dengan ENTER.");

    puts("Saya akan menghitung jumlah karakter");

    puts("pada kalimat tersebut. \n");

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    6/13

    Statemen Perulangan (Iterasi) 63

    while((karakter = getche()) != ENTER)

    {

    jumkar++;

    if (karakter == SPASI) jumspasi++;

    }printf("\n Jumlah karakter = %d",jumkar);

    printf("\n Jumlah SPASI = %d\n", jumspasi);

    }

    Program 5-3.

    Latihan 5.1

    Apa hasil eksekusi dari program berikut:

    #include

    main( )

    {

    int i, jum;

    i = 5; jum = 0;

    while (i--)

    {

    printf(%d ,i);

    jum = jum + i;

    }

    printf(%d, jum);

    }

    Latihan 5.2

    Buatlah program untuk menampilkan deret berikut :

    20 30 40 . . . 200

    dengan menggunakan

    a. while

    b. do-while

    V.4 Statemen for

    - Statemen for digunakan untuk mengulang eksekusi suatu ungkapan

    dengan jumlah pengulangan yang sudah tertentu. Bentuk

    sintaksisnya adalah sebagai berikut:

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    7/13

    Statemen Perulangan (Iterasi) 64

    For (ungkapan1; ungkapan2; ungkapan3)

    pernyataan;

    - Fungsi dari masing-masing ungkapan pada statemenforadalah:

    o Ungkapan1 : digunakan untuk memberikan inisialisasiterhadap variabel pengendali loop.

    o Ungkapan2 : digunakan sebagai kondisi utnuk keluar dari

    loop.

    o Ungkapan3 : digunakan sebagai pengatur kenaikan nilai

    variabel pencacah/pengendali loop.

    - Ketiga ungkapan dalamfortersebut dipisahkan dengan tanda titik

    koma (;).

    - Loop for sebenarnya identik dengan bentuk loop while sebagaiberikut:

    ungkapan1;

    while (ungkapan2)

    {

    pernyataan ungkapan3

    }

    bilangan = 20

    bilangan

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    8/13

    Statemen Perulangan (Iterasi) 65

    -Contoh penggunaan for misalnya untuk menampilkan deretan angka

    sebagai berikut:

    20

    30

    40.

    .

    .

    100

    - Untuk keperluan ini, pernyataanfor yang digunakan berupa:

    for(bilangan = 20; bilangan

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    9/13

    Statemen Perulangan (Iterasi) 66

    V.5 Loop Di Dalam Loop

    - Dalam suatu loop dapat terkandung loop yang lain.

    - Loop yang terletak di dalam loop biasa disebut dengannested loop.

    - Salah satu contoh penggunaan nested loopmisalnya untuk

    membuat tabel perkalian berikut:

    1 2 3 4 5 6 7 8

    1 1 2 3 4 5 6 7 8

    2 2 4 6 8 10 12 14 16

    3 3 6 9 12 15 18 21 244 4 8 12 16 20 24 28 32

    5 5 10 15 20 25 30 35 40

    6 6 12 18 24 31 36 42 48

    7 7 14 21 28 35 42 49 56

    8 8 16 24 32 40 48 56 64

    - Bagian yang terletak di dalam bingkai dapat diperolehmelalui ungkapan sebagai berikut:

    For (baris = 1; baris

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    10/13

    Statemen Perulangan (Iterasi) 67

    - Untuk berpindah ke baris berikutnya, digunakan pernyataan

    Printf(\n);

    Latihan 5.3

    Buatlah suatu program untuk menampilkan semua bilangan

    genap yang terletak antara 20 sampai 100.

    V.6 Loop Yang Tidak Pernah Berhenti

    - Loop yang tidak pernah berhenti (berputar terus) seringterjadi disebabkan adanya kesalahan pada penanganan

    kondisi yang digunakan untuk keluar dari loop.

    - Sebagai contoh, jika ditulis:

    for(bilangan = 80; bilangan >= 10; bilangan -= 0)

    printf(%d\n, bilangan);

    - Maka statemen di atas tidak akan pernah berhenti berputar

    dalam menampilkan nilai 60. Kesalahan yang terjadi

    disebabkan kondisi yang tidak pernah tercapai.

    - Hal ini karena ungkapan ketiga dalam for salah tulis.

    Seharusnya berupa:

    bilangan -= 10

    - namun yang tertulis adalah:

    bilangan -= 0

    - Oleh karena kondisi bilangan >= 10selalu bernilai benar

    (sebab bilangan tetap bernilai 60) , maka pernyataan:

    printf(%d\n, bilangan);

    akan dijalankan terus menerus (biasa disebut hang).

    - Jika kondisi di atas terjadi, maka dapat dihentikan dengan

    menggunakan tombol CTRL-BREAK.

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    11/13

    Statemen Perulangan (Iterasi) 68

    V.7 Statemen Break

    - Statemen break berfungsi untuk keluar dari loop for, do-while,dan while.

    - Sedangkan pada statemenswitch, digunakan untuk menuju

    ke akhir (keluar dari) strukturswitch.

    - Gambar 5.4 memperlihatkan ilustrasi statemen break pada

    struktur loop for. Jika statemen break dijalankan maka

    eksekusi akan dilanjutkan ke statemen sesudah akhir tubuh

    loop for.

    Gambar 5.4 Ilustrasi pengaruh statemen break.

    for ( ; ; ) {

    .

    :

    if ( ... )

    break;

    .

    :}

    puts("\nSelesai ... ");

    akhir tubuh loop for

    /* ---------------------------------------*/

    /* File Program : Ketik.C */

    /* Pemakaian break pada loop for */

    /* ---------------------------------------*/

    #include

    #include

    #define ENTER '\R'

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    12/13

    Statemen Perulangan (Iterasi) 69

    main ()

    {

    char karakter;

    puts("Ketikkan apa saja");puts("Sampai tombol ENTER ditekan. \n");

    for( ; ;)

    {

    karakter = getche();

    if (karakter == ENTER)

    break; /* keluar dari loop for */

    }

    puts("\nSelesai ...");}

    Program 5-5

    V.8 Statemen continue

    - Statemen continue digunakan untuk mengarahkan eksekusike iterasi (proses) berikutnya pada loop yang sama.

    - Pada do-while dan while, pernyataan continue

    menyebabkan eksekusi akan menuju ke kondisi pengujian

    pengulangan, seperti yang diperlihatkan pada Gambar 5.5.

    - Pada loop for, pernyataan continue akan menyebabkan

    bagian penaik variabel pengendali loop dikerjakan

    (ungkapan 3 pada struktur loop for) dan kondisi untuk

    keluar dari loop (ungkapan2) akan diuji kembali.

    while ( kondisi )

    {

    continue;

    }

    do

    {

    continue;

    }

    while ( kondisi )

    Gambar 5.5 Pengaruh continue pada while dan do-while.

  • 7/25/2019 Dasar Pemrograman-10 ( Statemen Terstruktur)

    13/13

    Statemen Perulangan (Iterasi) 70

    /* ------------------------------------*/

    /* File Program : Deret.C *//* Pemakaian continue pada for */

    /* ------------------------------------*/

    #include

    main ()

    {

    int x;

    /* Menampilkan bilangan ganjil

    antara 7 sampai 25, kecuali 15 */

    for(x = 7;x