• Tidak ada hasil yang ditemukan

Pernyataan IF/ELSE

Dalam dokumen Buku Bahasa Pemrograman Lengkap (Halaman 192-196)

STATEMENT KENDALI

5.4. Pernyataan IF/ELSE

   if (jam = 6.30)     {          …      }    } 

Untuk lebih jelasnya mengenai pernyataan IF, perhatikan sebuah kasus yang digunakan untuk menentukan besarnya potongan dari pembelian barang yang diberikan seorang pembeli, dimana kasus tersebut mempunyai kriteria sebagai berikut:

 Tidak ada potongan jika total pembelian kurang Rp. 50.000,-

 Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.

Perhatikan Program yang menggunakan pernyataan IF.

Program 5.5 #include<stdio.h>  #include<conio.h>  #include<iostream>    using namespace std;    main()  { 

  double tot_beli, potongan=0, jum_bayar=0;    cout<<"Total Pembelian Rp. "; 

  cin>>tot_beli;    if (tot_beli >= 50000) 

    potongan = 0.2 * tot_beli;      cout<<"Besarnya Potongan Rp. ";          jum_bayar = tot_beli ‐ potongan; 

    cout<<"Jumlah yang harus dibayarkan Rp. ",jum_bayar; 

  getch(); 

    return 0; 

5.4. Pernyataan IF/ELSE

Pernyataan IF/ELSE merupakan sebuah pengembangan pernyataan IF. Secara umum bentuk pernyataan

ini juka digambarkan dalam bentuk flowchart sebagai berikut:

Statement Kendali Bahasa Pemrorgraman

2008 | Direktorat Pembinaan SMK

185

Gambar 5.3. Diagram alir IF-ELSE Jika diuraikan dalam bentuk kalimat,

gambar diatas dapat ditulis menjadi

sebuah pernyataan seperti dibawah ini: if (kondisi)  {  Pernyataan 1  }  else  {  Pernyataan 2  } 

Seperti pada pernyataan IF diatas, sebuah kondisi akan dilihat terlebih dahulu. Jika kondisi adalah benar, maka sebuah blok yang berisi satu atau lebih pernyataan akan dijalankan. Jika ekspresi adalah salah, maka pernyataan grup

berbeda yang akan dijalankan. Program dibawah merupakan contoh penggunaan pernyataan bersama operator modulus untuk menentukan apakah angka yang dihasilkan ganjil atau genap. Program 5.6 #include <conio.h>  #include <iostream>    using namespace std;    int main()  Kondisi Pernyataan 1

Pernyataan 2

Betul salah

186

Direktorat Pembinaan SMK | 2008

    int number; 

    cout << "masukan bilangan bulat dan saya akan memilahnya dengan IF\n";      cout << "adalah ganjil atau genap. "; 

    cin >> number;      if (number % 2 == 0) 

     cout << number << " adalah genap.\n";      else 

        cout << number << " adalah ganjil.\n";      getch(); 

    return 0; 

Keluaran program adalah sebagai berikut:

masukan bilangan bulat dan saya akan memilahnya dengan IF  

adalah ganjil atau genap. 17[Enter] 

17 adalah ganjil

Bagian lain diakhir pernyataan IF akan menentukan pernyataan yang akan dijalankan ketika kondisi yang ada tidak sesuai atau salah. Bila angka 2% tidak sama 0, pesan yang dicetak menunjukkan angka ganjil. Perlu diketahui bahwa program ini hanya akan mengambil salah satu dari dua jalur pernyataan IF/ELSE.. Jika Anda berpikir tentang pernyataan dalam program komputer, langkah-langkah yang diambil berdasarkan pertimbangkan pernyataan IF/ELSE sebagai penentu

jalan. Bahkan kadang terjadi jalanya program memutar, seperti halnya pada sebuah pernyataan IF, sedangkan pada pernyataan IF/ELSE menyebabkan pelaksanaan program mengikuti salah satu dari dua jalur yang tersedia.

Perhatikan gaya pemrograman yang digunakan untuk membangun pernyataan IF/ELSE. Atau dengan kata lain adalah pada tingkat yang sama seperti halnya perbedaan. Pernyataan eksekusi yang

dikendalikan oleh orang lain kadang berbeda satu tingkat.

Seperti halnya pada pernyataan IF, jika tidak menggunakan kotak sebagai bagian kontrol sebuah pernyataan. Program diatas menggambarkan hal tersebut ini. Ia juga memperlihatkan salah satu cara untuk menangani sebuah masalah pemrograman yaitu pembagian oleh nol.

Pembagian dengan nol sangat mustahil untuk dilakukan secara matematis dan biasanya menyebabkan program crash. Hal Ini berarti program akan terhenti sebelum waktunya, kadang-kadang akan muncul dengan pesan kesalahan. Program diatas menunjukkan salah satu cara untuk menguji nilai dari pembagi sebelum dilakukan pembagian. Nilai num2 akan diuji sebelum pembagian dilakukan. Jika pengguna memasukkan angka 0, maka baris dikontrol oleh bagian IF ketika program dijalankan, menampilkan

Statement Kendali Bahasa Pemrorgraman

2008 | Direktorat Pembinaan SMK

187

pesan yang menunjukkan program tidak dapat melakukan pembagian nol. Jika tidak, bagian lain mengambil kontrol, dan kemudian membagi num1 oleh num2 serta menampilkan hasilnya.

Salah satu aplikasi penggunaan IF/ELSE misalnya digunakan pada suatu permasalahan untuk menentukan besarnya potongan dari pembelian barang yang diberikan

seorang pembeli, dengan kriteria sebagai berikut:

 jika total pembelian kurang dari Rp. 50.000,- potongan yang diterima sebesar 5% dari total pembelian.

 Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan yang diterima sebesar 20% dari total pembelian.

Untuk lebih jelasnya perhatikan contoh program IF/ELSE dibawah ini: Program 5.7 #include<stdio.h>  #include<conio.h>  #include<iostream>    using namespace std;    main()  { 

    double tot_beli, potongan=0, jum_bayar=0;    

    cout<<"Total Pembelian Rp. ";      cin>>tot_beli;         if (tot_beli >= 50000)         potongan = 0.2 * tot_beli;       else         potongan = 0.05 * tot_beli; 

     cout<<"Besarnya Potongan Rp. "<<potongan<<endl;       jum_bayar = tot_beli ‐ potongan; 

   cout<<"Jumlah yang harus dibayarkan Rp. ",jum_bayar;       getch(); 

      return 0; 

Program dibawah ini digunakan untuk menentukan sebuah operasi pembagian yang menggunakan IF/ELSE , jika suatu bilangan dibagi

dengan nol maka program akan memberitahukan bahwa program tidak bisa melakukan operasi.

188

Direktorat Pembinaan SMK | 2008 Program 5.8 #include <conio.h>  #include <iostream>    using namespace std;    int main()  { 

  double num1, num2, quotient;    cout << "Masukan Angka: ";    cin >> num1; 

  cout << "Masukan Angka Lain: ";    cin >> num2; 

 

  if (num2 == 0) 

  { 

  cout << "Pembagian oleh 0 tidak mungkin dilakukan.\n";    cout << "silakan masukan angka lagi, "; 

  cout << "Angka lain yang lebih besar daripada 0.\n"; 

  } 

  else 

  { 

  quotient = num1 / num2; 

  cout << "The quotient of " << num1 << " divided by ";    cout << num2 << " is " << quotient << ".\n"; 

  } 

  getch(); 

  return 0

Keluaran program setelh diberi masukan adalah sebagai berikut: Masukan Angka: 10[Enter] 

Masukan Angka Lain: 0[Enter] 

Pembagian oleh 0 tidak mungkin dilakukan. 

silakan masukan angka lagi, Angka lain yang lebih besar daripada 0 

Dalam dokumen Buku Bahasa Pemrograman Lengkap (Halaman 192-196)