Dasar Pemrograman-8 ( Statemen Terstruktur)

download Dasar Pemrograman-8 ( Statemen Terstruktur)

of 7

Transcript of Dasar Pemrograman-8 ( Statemen Terstruktur)

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    1/14

    Statemen Terstruktur 44

    STATEMEN TERSTRUKTUR

    1 Pendahuluan

    - Statemen dapat dikatakan sebagai satuan terkecil suatu program.- Statemen dapat digolongkan menjadi dua kelompok, yaitu :

    1. Statemen Sederhana

    2. Statemen Terstruktur

    - Statemen sederhana adalah Statemen yang tidak berisi statemen yang

    lain, dan hanya terdiri dari satu baris statemen, terdiri dari statemen

     penugasan (assignment statement ) dan statemen fungsi:

    1.1 Statemen Penugasan - Statemen penugasan digunakan untuk mengubah nilai suatu

     peubah dengan nilai baru atau untuk menentukan suatu ungkapan

    yang nilainya bisa diperoleh dari fungsi yang digunakan.

    - Contoh statemen penugasan:

    D = B*B – 4*A*C;

    Sinus = sin(x/y);

    1.2 Statemen Fungsi

    - Statemen fungsi adalah statemen yang digunakan untuk

    memanggil suatu fungsi.

    - Jika fungsi yang dipanggil berisi sederetan parameter formal, maka

    dalam statemen fungsi juga harus berisi parameter aktual yang

    sesuai.

    - Parameter dalam deklarasi fungsi disebut parameter formal, dan

    dalam statemen fungsi atau pemanggil fungsi disebut dengan

     parameter aktual).- Contoh statemen fungsi:

    Invers_matriks(Matriks_A, Matriks_B);

    Baca_data;

    2. Statemen Terstruktur

    Statemen terstruktur adalah statemen yang tersusun dari sejumlahstatemen lain yang akan dieksekusi:

    1. Secara berurutan (statemen majemuk dan statemen with),

    2. Secara terkendali (statemen kendali) atau

    3. Secara berulang (statemen perulangan). 

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    2/14

    Statemen Terstruktur 45

    2.1 Statemen Majemuk  

    - Statemen majemuk (compound statement ) adalah statemen yang

    terdiri dari sejumlah statemen yang akan dieksekusi dengan urutan

    yang sama dengan urutan cara penulisan statement-statementersebut.

    - Komponen statemen ini diperlakukan sebagai satu statemen.

    - Statemen majemuk ditandai dengan tanda kurung kuraval buka ({)

    dan diakhiri dengan tanda kurung kuraval tutup (}).

    - Contoh statemen majemuk:

    {

    a = a + 1; b = a * c;

    d = b – a;

    };

    2.2 Statemen Kendali

    - Statemen kendali digunakan untuk mengambil suatu keputusan

    atau memilih bagian program yang akan dikerjakan sesuai dengan

    kondisi atau syarat yang diberikan.

    - Bahasa C menyediakan beberapa statemen kendali, seperti:

    o Statemen if  

    o Statemen if-else, dan

    o Statemen switch 

    - Statemen-statemen di atas memerlukan suatu kondisi atau syarat

    sebagai dasar pengambilan keputusan.

    - Salah satu kondisi yang umum digunakan adalah berupa keadaan

     benar atau salah (true or false).- Bahasa C menyediakan beberapa jenis operator untuk mendukung

     pembentukan kondisi benar atau salah.

    3. Operator Relasi.

    - Operator relasi (hubungan) biasa digunakan untuk membandingkan

    dua buah nilai. Hasil pembadingan berupa keadaan benar atau

    salah.- Operator relasi yang dapat digunakan dalam pemrograman

    disajikan pada tabel 4.1 berikut.

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    3/14

    Statemen Terstruktur 46

    Tabel 4.1 Operator Relasi.

    Operator Makna

    >

    >=<

    2

    30 > 15

    a = = 2

    I < (maks-1)

    Salah

    Benar

    Benar, jika a bernilai 2Salah, jika a tidak bernilai 2

    Benar, bila I kurang dari maks-1

    Salah, jika I lebih besar dari atau

    sama dengan maks-1

    - Pada data karakter, dasar pembandingan adalah nilai ASCII dari

    karakter yang dibandingkan. Misalnya nilai ASCII ‘A’ adalah 65 dan

    nilai ASCII ‘B’ adalah 66, maka ‘A’ lebih kecil dari ‘B’.

    4. Operator Logika

    Operator logika biasa digunakan untuk menghubungkan ungkapan

    relasi. Operator logika yang terdapat dalam C diperlihatkan pada Tabel

    4.3.

    Tabel 4.3 Operator Logika.

    Operator Maksud&&

    ||

    !

    Dan (AND)

    Atau (OR)

     Negasi (NOT)

    Bentuk penggunaan operator pada tabel 4.3 di atas adalah:

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    4/14

    Statemen Terstruktur 47

    Operand1 operator operand2

    - Baik operand1  maupun operand2  dapat berupa ungkapan relasi

    maupun ungkapan logika.

    - Hasil ungkapan mempunyai nilai benar atau salah.- Tabel 4.4 memberikan contoh hasil operasi ungkapan logika yang

    mdnggunakan operator && dan || untuk berbagai kemungkinan

    keadaan operand.

    Tabel 4.4 Kemungkinan operasi logika && dan ||.

    HasilOperand1 Operand2

    || &&Salah

    Salah

    Benar

    Benar

    Salah

    Benar

    Salah

     benar

    Salah

    Benar

    Benar

    Benar

    Salah

    Salah

    Salah

    Benar

    - Operator logika “atau” (||) akan menghasilkan nilai benar jika ada

    operand yang bernilai benar, dan akan menghasilkan nilai salah

     jika semua operand bernilai salah.- Operator “dan” (&&) akan memberikan hasil benar hanya jika

    kedua operand bernilai benar.

    - Bentuk pemakaian operator logika !:

    ! operand  

    - dengan operand   dapat berupa ungkapan logika ataupun relasi.

    Hasil operasi ! akan bernilai:

    o  benar, jika operand bernilai salah 

    o salah, jika operand bernilai benar. 

    4.1 Prioritas Operator Logika dan Relasi

    - Seperti halnya operator yang lain, operator logika dan operator

    relai juga mempunyai hirarki tertentu, seprti yang diperlihatkan

     pada Tabel 4.5.

    Tabel 4.5 Hirarki operator logika dan relasi.

    Tertinggi

    Terendah

    !

    > >= <

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    5/14

    Statemen Terstruktur 48

    - Berdasarkan hirarki yang ditunjukkan pada Tabel 4.5, maka

    ungkapan :

    (kar > ‘A’) && (kar < ‘Z)

    - Dapat ditulis menjadi:

    Kar > ‘A’ && kar < ‘Z’

    Latihan : 

    Tentukan hasil ungkapan berikut benar atau salah:1. 2 > 1 || 3 1 && 3 1) && (3 1 || 3 != 2) && ((2 > 1) || 2 )

    4.2 Nilai Benar dan Salah

    - Pada C, nilai hasil dari suatu ungkapan relasi atau logika jika

    dinyatakan dengan angka adalah sebagai berikut:

    o Salah berupa 0, dan

    o Benar berupa 1

    5 Statemen if  

    - Statemen if  mempunyai bentuk umum (sintaksis):

    if (kondisi) pernyataan

    - Arti dari statemen di atas adalah:

    o Jika kondisi bernilai benar, maka pernyataan dikerjakan

    o Jika kondisi bernilai salah, maka pernyataan tidak dikerjakan

    - Kondisi harus ditulis diantara tanda kurung, dapat berupa

    sembarang ungkapan (yang dipentingkan adalah nilai benar atau

    salah), sedangkan  pernyataan  adapat berupa sebuah statemen

    tunggal (sederhana) maupun statemen majemuk.- Pernyataan kosong berarti tidak mengandung penyataan.

    - Nilai kondisi bernilai nol berarti salah, sedangkan selain nol berarti

     benar.

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    6/14

    Statemen Terstruktur 49

    Kondisi

    Pernyataan

    salah

    benar 

     

    Gambar 4.1 Diagram alir Statemen if .

    - Contoh pemakaian if   misalnya untuk menentukan besarnya

    discount  yang diterima oleh seorang pembeli, berdasarkan kriteria:

    o Tidak ada discount  jika total pembelian kurang dari 100.000.

    o Bila total pembelian lebih besar dari atau sama dengan

    100.000, discount yang akan diterima sebesar 5 % dari total

     pembelian.

    - Penyelesaian dapat dilakukan dengan membuat asumsi bahwa

    default-nya discount   = 0 (tidak ada discount ).

    - Kemudian jika total pembelian lebih dari atau sama dengan

    100.000, maka besarnya discount   diubah menjadi 5 % dari total

     pembelian.

     Discount  = 0;

    if (total_pembelian >= 100000) 

     Discount = 0.05 * total_pembelian;

    - Dengan penentuan pengambilan keputusan seperti di atas,

    seandainya total_pembelian kurang dari 100.000, maka pernyataan

     Discount = 0.05 * total_pembelian;

    Tidak dijalankan. Dengan demikian discount   tetap akan bernilai

    nol.

    5.1 Statemen if-else

    Statemen if-else mempunyai sintaks:

    if (kondisi)

     pernyataan-1

    else

     pernyataan-2; 

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    7/14

    Statemen Terstruktur 50

    Kondisi

    Pernyataan-1

    salah

    benar 

    Pernyataan-2

    Gambar 4.2 Diagram Alir if-else.

    - Maksud dari pernyataan if-else adalah:

    o Jika kondisi benar, maka pernyataan-1 dijalankan,

    o Sedangkan jika kondisi bernilai salah, maka pernyataan-2

    yang akan dijalankan.

    - Masing- masing pernyataan-1 dan pernyataan-2 dapat berupa

    sebuah pernyataan tunggal maupun pernyataan majemuk.

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

    /* File program : Diskon.c */

    /* Contoh pemakaian if-else */

    /* Untuk menentukan besarnya diskon */

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

    #include

    main()

    {

    double total_pembelian, discount;

     printf ("Total pembelian : Rp ");

    scanf("%lf", &total_pembelian);

    if (total_pembelian >= 100000)discount = 0.05 * total_pembelian;

    else

    discount = 0;

     printf("Besarnya diskon : %.2lf\n", discount);

    }

    Program 4-1

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    8/14

    Statemen Terstruktur 51

    - Pada program di atas, pernyataan:

    If (total_pembelian >= 100000)

    Discount = 0.05 * total_pembelian;Else

    Discount = 0;

    - digunakan untuk menggantikan pernyataan :

    discount = 0;

    if (total_pembelian >= 100000)

    discount = 0.05 * total_pembelian;

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

    /* File program : Genap.c */

    /* Contoh pemakaian if-else */

    /* Untuk menentukan bilangan genap atau ganjil */

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

    #include

    main()

    {

    int bilangan;

     printf ("Masukkan sebuah bilangan bulat ");

    scanf("%d", &bilangan);

    if (bilangan % 2)

    {

     printf("Nilai %d tidak habis dibagi 2\n", bilangan);

     puts("Karena itu termasuk bilangan ganjil");}

    else

    {

     printf("Nilai %d habis dibagi 2\n", bilangan);

     puts ("karena itu termasuk sebagai bilangan genap");

    }

    }

    Program 4-2

    Contoh eksekusi:

    C>Genap

    Masukkan sebuah bilangan bulat: 6

     Nilai 6 habis dibagi 2

    Karena itu termasuk sebagai bilangan genap

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    9/14

    Statemen Terstruktur 52

    5.2 Pemakaian if Secara Bertingkat

    - Dalam bahasa C dimungkinkan untuk menggunakan statemen if (

    atau if-else) secara bertingkat , yaitu di dalam suatu statemen if

    (atau if-else) terdapat pernyataan if (atau if-else) yang lain.- Bentuk bertingkat seperti di atas disebut sebagai nested if .

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

    /* File program : hari.c */

    /* Contoh pemakaian if-else bertingkat */

    /* Untuk menampilkan nama hari */

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

    #include

    main()

    {

    int kode_hari;

     puts("Menentukan hari\n");

     puts("1 = SENIN 3 = RABU 5 = JUMAT 7 = MINGGU");

     puts("2 = SELASA 4 = KAMIS 6 = SABTU ");

     printf("\nMasukkan kode hari (1 .. 7): ");

    scanf("%d", &kode_hari);

    if (kode_hari == 1)

     puts("Hari SENIN");

    else

    if (kode_hari == 2)

     puts("Hari SEELASA");

    else

    if (kode_hari == 3)

     puts("Hari RABU");

    elseif (kode_hari == 4)

     puts("Hari KAMIS");

    else

    if (kode_hari == 5)

     puts("Hari JUMAT");

    else

    if (kode_hari == 6)

     puts("Hari SABTU");

    else

    if (kode_hari == 7)

     puts("Hari MINGGU");

    else

     puts("kode yang anda

    masukkan salah !");

    Program 4-3

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    10/14

    Statemen Terstruktur 53

    Contoh hasil keluaran program:

    C>hari

    Menentukan hari

    1 = SENIN 3 = RABU 5. = JUMAT 7 = MINGGU

    2 = SELASA 4 = KAMIS 6 = SABTU

    Masukkan kode hari (1 .. )

    Hari Rabu.

    6.

     Statemen Switch 

    - Statemen switch merupakan statemen yang dirancang khusus untuk

    menangani pengambilan keputusan yang melibatkan sejumlah

    alternatif.

    - Diantaranya untuk menggantikan pernyataan if bertingkat,

    misalnya pada penentuan nama hari, atau pada aplikasi menu

    dialog sederhana.

    - Bentuk umum statemen switch adalah:

    Switch (ekspresi)

    {

    case konstanta-1:

     pernyataan-1

      break;

    case konstanta-2:

     pernyataan-2

      break;.

    :

    case konstanta-x:

     pernyataan-n

      break;

    default:

     pernyataan-x;

      }

    -  Ekspresi   dapat berupa ungkapan bernilai integer atau bertipe

    karakter.

    - Setiap konstanta-i   (konstanta-1, konstanta-2, …, konstanta-n) 

    dapat berupa konstanta integer atau karakter.

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    11/14

    Statemen Terstruktur 54

    -  Pernyataan-I   ( pernyataan-1, pernyataan-2, …, pernyataan-n)

    dapat berupa satu atau beberapa pernyataan. 

    - Pengujian pada switch akan dimulai dari konstanta-1. 

    - Jika nilai konstanta-1 cocok dengan ekspresi, maka  pernyataan-1

    dijalankan. - Selanjutnya adanya pernyataan break   menyebabkan eksekusi

    diarahkan ke akhir switch. 

    - Jika ternyata nilai konstanta-1 tidak sama dengan nilai ekspresi, 

     pengujian dilakukan untuk konstanta-2, dan berikutnya serupa

    dengan pengujian konstant-1.

    - Jika sampai pengujian case  yang terakhir, ternyata tidak ada

    kecocokan, maka pernyataan yang mengikuti kata-kunci default  

    yang akan dijalankan.- Diagram alir statemen  switch  diperlihatan pada Gambar 4.4, dan

    contoh program pemakaian  switch  untuk menggantikan

     penggunaan if-else bertingkat diperlihatkan pada program 4-4.

    ekspresi = =

    konstanta-1

    Pernyataan

    dafault

    ya

    tidak

    Pernyataan-1

    break

    ekspresi = =

    konstanta-2

    ya

    tidak

    Pernyataan-2

    break

    ekspresi = =

    konstanta-n

    ya

    tidak

    Pernyataan-n

    break

     

    Gambar 4.4 Diagram Alir Statemen Switch.

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    12/14

    Statemen Terstruktur 55

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

    /* File program : hari.c */

    /* Contoh pemakaian Switch */

    /* Untuk menampilkan nama hari *//* ------------------------------------------- */

    #include

    main()

    {

    int kode_hari;

     puts("Menentukan hari\n");

     puts("1 = SENIN 3 = RABU 5 = JUMAT 7 = MINGGU"); puts("2 = SELASA 4 = KAMIS 6 = SABTU ");

     printf("\nMasukkan kode hari (1 .. 7): ");

    scanf("%d", &kode_hari);

    switch (kode_hari)

    {

    case 1:

     puts("Hari SENIN");

     break;case 2:

     puts("Hari SEELASA");

     break;

    case 3:

     puts("Hari RABU");

     break;

    case 4:

     puts("Hari KAMIS");

     break;

    case 5: puts("Hari JUMAT");

     break;

    case 6:

     puts("Hari SABTU");

     break;

    case 7:

     puts("Hari MINGGU");

     break;

    default: puts("kode yang akan masukkan salah !");

    }

    }

    Program 4-4

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    13/14

    Statemen Terstruktur 56

    - Terlihat dari program 4-4 di atas, bahwa dengan menggunakan

     pernyataan  switch, program menjadi lebih jelas dan mudah

    dipahami.

    - Penyertaan pernyataan break   pada program di atas sesudah

     penyataan  puts( ) dimaksudkan agar setelah menampilkan string,eksekusi dilanjutkan ke akhir switch.

    - Pada bagian default  tidak perlu ada break , karena jika pernyataan

    yang mengikuti default  dieksekusi, terakhir kali dengan sendirinya

    akan menuju ka akhir switch.

    - Jika dalam suatu case  tidak terdapat statemen break , maka

    seandainya nilai pada case cocok dengan nilai ungkapan  switch,

    eksekusi akan dilanjutkan ke pernyataan yang terletak pada case 

     berikutnya (sampai ditemukannya statemen break   atau akhir switch).

  • 8/19/2019 Dasar Pemrograman-8 ( Statemen Terstruktur)

    14/14

    Statemen Terstruktur 57

    QUIS 

    1. Buatlah program dengan masukan berupa suatu nilai antara 0

    sampai 100 dan program akan memberikan keluaran berupa

    klasifikasi A, B, C, D, atau E berdasarkan kriteria berikut:

     Nilai Klasifikasi

     Nilai > 90

    70 < Nilai < 90

    60 < Nilai