Sabtu, 21 Mei 2016

Contoh Program C++ Pemrograman Terstruktur

 

Contoh Program C++ PERULANGAN Dan PERCABANGAN

 
 
 
STUDI KASUS:
Menu Pilihan
-------------
1. Hitung luas lingkaran
2. Hitung luas persegi
3. Hitung luas segitiga
4. Exit
-------------
Pilihan anda (1/2/3/4) :

Misalnya pilihan 1

menghitung luas lingkaran
masukan jari-jari :
Luas Lingkaan :

Ada pepatah mengatakan “tak kenal maka tak sayang”. Untuk itu sebelum kita menginjak pada tahap penyelesaian, alangkah baiknya jika kita mengenal terlebih dahulu 3 konsep dasar yang nantinya akan kita gunakan untuk membentuk program diatas :

A. PERULANGAN

Dalam C++ perulangan digunakan untuk menjalankan satu perintah atau lebih, dan dilakukan secara berulang selama kondisi tertentu.

Secara umum perulangan terdiri dari 3 komponen, dengan kata lain memiliki 3 ciri khas :
  1. Nilai Awalyang berfungsi sebagai inisialisasi.
  2. Perubah Nilai, untuk menentukan berapa kali jumlah perulangan akan dikerjakan.
  3. Syarat, sebuah pernyataan / kondisi tertentu guna mengambil keputusan eksekusi program.

Ada beberapa jenis perulangan yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • for
  • do…while
  • while

Sementara itu, untuk studIKasus di atas saya akan menggunakan while, sehingga program akan dieksekusi selama while tertentu, adapun cara penulisannya sbb :
while ( syarat ) {
pernyataan ke-n;
Perubah Nilai;
}
Contoh :
while (i <= 10) {
if (i%2 == 0) {
cout << i << " ";
i++;
}
}


B. PERCABANGAN

Dalam C++ percabangan digunakan untuk memecahkan persoalan dan mengambil keputusan dari beberapa pernyataan. Ada beberapa jenis percabangan yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • if
  • if – else
  • switch – case

Untuk studIKasus diatas saya akan menggunakan if – else dan switch – case, sehingga mengandung pengertian “jika kondisi benar, maka kerjakan pernyataan 1, selain itu kerjakan pernyataan 2 apabila pernyataan 1 tidak memenuhi syarat”. Adapun cara penulisannya sebagai berikut :
if (kondisi) {
pernyataan 1;
}
else {
pernyataan 2;
}

Contoh :
if ( tot_beli >= 50000 ) {
potongan = 0.2 * tot_beli;
}
else {
potongan = 0.05 * tot_beli;
}

Sedangkan switch – case intinya sama dengan if – else, akan tetapi switch – case hanya bisa memeriksa data yang bertipe char dan int, selain itu tidak bisa. Adapun cara penulisannya sebagai berikut :
switch (syarat) {
case kontanta-1:
pernyataan 1;
break;
case konstanta-2:
perintah 2;
break;
default:
perintah;
}
Contoh :
switch (Hari) {
case 1:
cout << "Ahad";
break;
case 2:
cout << "Senin";
break;
default:
cout << "Selasa";
}


C. KEYWORD

Dalam pemrograman C++ keyword digunakan untuk membentuk fungsi tertentu, sedangkan cara pendeklarasiannya berbeda – beda, sebab ada beberapa keyword yang perlu #include <file> agar bisa dikenali oleh compiler, namun ada juga yang tidak perlu.

Ada beberapa jenis keyword yang bisa kita gunakan dalam pemrograman C++ diantaranya sebagai berikut :
  • break
  • continue
  • goto
  • gotoxy
  • exit
Namun dikarenakan kita dihimbau untuk mengacu pada pemrograman terstruktur maka, kita upayakan untuk menghindari goto sejauh-jauhnya.

Sementara itu, untuk studi kasus diatas saya akan coba menggunakan break dan exit ;

Break
Digunakan untuk keluar dari suatu statement baik berupa pengecekan maupun perulangan, namun paling sering digunakan pada percabangan switch – case, sehinga break digunakan untuk keluar dari case. Cara penulisan bisa melihat pada contoh struktur switch – case.

Exit
Merupakan pernyataan yang berfungsi untuk keluar dari program dan pernyataan ini memerlukan sebuah #include <stdlib.h> pada header, sehingga pernyataan dapat dibaca oleh compiler. Adapun cara dpenulisannya sebagai berikut :

exit(7); maka memiliki pengertian bahwa fungsi exit diberi nilai 7, sehingga jika kita memasukan nilai 7 maka program akan keluar.
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void main() {
pernyataan1;
pernyataan1;
exit(7);
}


Penyelesaian :
Tugas C

IF-ELSE MODE PROGRAMS :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
/**-------------------------
 Name : wawan chahyo nugroho
 NIM  : 12131249
 Blog : www.gatewan.com
 ---------------------------**/
void main() {
    unsigned int pilihan;
    cout << "MENU PILIHAN" << endl;
    cout << "------------" << endl;
    cout << "1. hitung luas lingkaran" << endl;
    cout << "2. hitung luas persegi" << endl;
    cout << "3. hitung luas segitiga" << endl;
    cout << "4. exit" << endl;
    cout << "------------" << endl;
    while (pilihan>=0){
    cout << "pilihan anda (1/2/3/4)         : "; cin >> pilihan;
     if (pilihan== 1) {
     cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Lingkaran" << endl;
     float r;
     cout << "Masukan jari-jari            : "; cin >> r;
    float Ll = 3.14*r*r;
     cout << "Luas Lingkaran               : " << Ll << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan== 2){
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Persegi" << endl;
     float p;
     cout << "Masukan Panjang              : "; cin >> p;
      float l;
      cout << "Masukan Lebar                : "; cin >> l;
    float Lp = p*l;
     cout << "Luas Persegi                 : " << Lp << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan== 3){
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Segitiga" << endl;
     float a;
     cout << "Masukan Alas                 : "; cin >> a;
      float t;
      cout << "Masukan Tinggi               : "; cin >> t;
    float Ls = 0.5*a*t;
     cout << "Luas Segitiga                : " << Ls << endl;
     cout << "-------------------------------------"<< endl;
      }
      else if (pilihan==4) {
      exit(4);
      }
      else {
      cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
      }
      }

    getch();
}

SWITCH-CASE MODE PROGRAMS :
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
/**-------------------------
 Name : wawan chahyo nugroho
 NIM  : 12131249
 Blog : www.gatewan.com
 ---------------------------**/
void main() {
  unsigned int pilihan;
   float r, Ll, p, l, Lp, a, t, Ls;
    cout << "MENU PILIHAN" << endl;
    cout << "------------" << endl;
    cout << "1. hitung luas lingkaran" << endl;
    cout << "2. hitung luas persegi" << endl;
    cout << "3. hitung luas segitiga" << endl;
    cout << "4. exit" << endl;
    cout << "------------" << endl;

    while (pilihan>=0){
    cout << "pilihan anda (1/2/3/4)         : "; cin >> pilihan;
    switch(pilihan) {
     case 1:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Lingkaran" << endl;
      cout << "Masukan jari-jari            : "; cin >> r;
      Ll = 3.14*r*r;
     cout << "Luas Lingkaran               : " << Ll << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 2:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Persegi" << endl;
      cout << "Masukan Panjang              : "; cin >> p;
      cout << "Masukan Lebar                : "; cin >> l;
      Lp = p*l;
      cout << "Luas Persegi                 : " << Lp << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 3:
      cout << "-------------------------------------"<< endl;
     cout << "Menghitung Luas Segitiga" << endl;
      cout << "Masukan Alas                 : "; cin >> a;
      cout << "Masukan Tinggi               : "; cin >> t;
      Ls = 0.5*a*t;
      cout << "Luas Segitiga                 : " << Ls << endl;
     cout << "-------------------------------------"<< endl;
         break;
      case 4:
      exit(4);
         break;
      default:
       cout << "Kode Yang Anda Masukan Salah...!!!"<< endl;
   }
   }

  getch();
}

Fungsi & Array

Fungsi & Array : Perbedaan Fungsi & Prosedur, Manfaat Fungsi, Pass by Value Vs. Pass by Reference, & Return Value

a. Apa yang dimaksud dengan fungsi dan prosedur?Jelaskan apa perbedaanya!
  • Fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang dijalankan.
  • Prosedur adalah suatu bagian yang digunakan untuk mengenali subprogram di dalam suatu program.
  • Perbedaan fungsi dan prosedur :
  • Fungsi dapat mengembalikan suatu nilai yang dapat digunakan dalam ekspresi. Sedangkan, prosedur tidak memiliki nilai yang berhubungan dengan namanya.
  • Fungsi digunakan untuk membuat operasi-operasi yang tidak ada dalam fungsi utama. Sedangkan, prosedur digunakan untuk menstrukturkan suatu program dan untuk memperbaiki kejelasan dan keumumannya.
b. Jelaskan apa manfaat penggunaan fungsi dalam pemrograman!
Manfaat penggunaan fungsi dalam pemrograman adalah untuk memudahkan pembacaan suatu program. Selain itu fungi dibuat untuk mengurangi terjadinya pengkodean ulang, serta dapat mengembangkan program menjadi lebih baik.
c. Jelaskan bagaimana fungsi bisa menerima variabel inputan (secara ‘pass by value’ dan ‘pass by reference’)! Dan jelaskan perbedaan keduanya!
  • Pemanggilan Secara Nilai (‘Pass by Value’) :
  • Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
  • Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya.
  • Fungsi yang menerima kiriman nilai akan menyimpannya di alamat terpisah dari nilai aslinya yang digunakan oleh bagian program yang memanggil fungsi.
  • Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli di bagian program yang memanggilnya.
  • Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.
  • Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja.
  • Pemanggilan Secara Referensi (‘Passl by Reference’)
  • Pemanggilan secara Referensi merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi.
  • Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya.
  • Fungsi yang menerima kiriman alamat ini makan menggunakan alamat yang sama untuk mendapatkan nilai datanya.
  • Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang memanggil fungsi.
  • Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
  • Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan.
d. Jelaskan bagaimana fungsi bisa menghasilkan output (return value)!
Untuk menghasilkan output (return value), fungsi membutuhkan input yang berupa argument atau para meter. Argument dan parameter memungkinkan terjadinya komunikasi antara fungsi utama dan fungsi-fungsi lain dalam program sehingga menjadi lebih fleksibel, karena daftar argument memungkinkan fungsi dapat memanipulasi data yang berbeda setiap kali fungsi tersebut dipanggil