Twitter Delicious Facebook Digg Stumbleupon Favorites More

Rabu, 12 November 2014

Contoh Switch Case C++

Halo sobat blogger semua, disini saya akan memberikan contoh coding swictch case C++ buatan saya sendiri ya walaupun sederhana tapi bagi saya yang masih dalam tahap belajar ya pasti pusing bikin kayak gini..
Awalnya saya bikin ini karna pada saat mata kuliah algoritma anak2 semester 1 jurusan D4 informatika di suruh bikin coding tentang switch case dengan program C++ dan codingnya harus di rubah atau di modifikasi jangan seperti contoh di buku atau di internet dengan jangka waktu seminggu harus di kumpulin,, nah pas dosen bilang kayak gitu aku langsung menggunakan waktu sebaik2nya karna saya belum tau betul masalah bahasa pemprogaman c++ karna saya dulu lulusan SMA jurusan IPA, akhirnya saya nyari contoh2 switch case C++ di internet dan t copas berulang ulang kali dari internet dan t jalankan dan di edit tapi bagi saya kurang puas karna hasil copas eh nda sengaja ada referensi dari internet dapet bukunya aku download dan ta pelajari. 2 hari t pelajari terus dan nyoba2 akhirnya lumayan bisa dan aku bikin sendiri tugas dari pak dosen saya otak atik 3 hari dengan materi dari buku yang aku pelajari dan hasil belajar yang aku sudah tahu aku coba gabung2in sampai hasilnya seperti di bawah ini. Oy saya kasih tanda background kuning itu artie tulisan coding biar bisa di bedain antara tulisan coding dan tulisan penjelasan atau lainnya. Mari kita liat :

Ini coding yang pertama dimana ada 2 switch case :

#include <iostream>  
#include <conio.h>
using namespace std;  
 
int main() {  
   char pilihan2;
   int kode;  

awal:  
      cout << "            ------------------------------------               \n";
      cout << "            ||   Mata Kuliah D4 Informatika   ||               \n";
      cout << "            ||      Kelas 1A Semester 1       ||               \n";
      cout << "            ------------------------------------               \n";
      cout << "              |------|-----------------------|                 \n";
      cout << "              | Kode |      Mata Kuliah      |                 \n";
      cout << "              |------|-----------------------|                 \n";
      cout << "              |   1  |         Agama         |                 \n";
      cout << "              |   2  |          PTI          |                 \n";
      cout << "              |   3  |     Bahasa Inggris    |                 \n";
      cout << "              |   4  |       Hardware        |                 \n";
      cout << "              |   5  | Aplikasi Perkantoran  |                 \n";
      cout << "              |   6  |       Kalkulus        |                 \n";
      cout << "              |   7  |      Algoritma        |                 \n";
      cout << "              |   8  |       Elektro         |                 \n";
      cout << "              |------|-----------------------|                 \n\n\n";
      cout << "        ==============================================         \n";
      cout << "        ||  Politeknik Harapan Bersama Kota Tegal   ||         \n";
      cout << "        ==============================================         \n\n\n";
      cout << "Masukkan Kode Mata Kuliah: ";  
      cin >> kode;  
      system("cls");
      
      switch (kode) {  
             case 1:
                  cout << "\n\n---------------------------------------------------------------------------\n";
                  cout << "| Mata Kuliah |        Dosen Pembimbing     | Hari dan Jam Kuliah  | Ruang |\n";
                  cout << "----------------------------------------------------------------------------\n";
                  cout << "|    Agama    | Dr. (Kan) Didi Junaedi, M.A | Kamis, 11:00 - 12:30 |   J   |\n";
                  cout << "----------------------------------------------------------------------------\n";
                  break;
                  
             case 2:
                  cout << "\n\n----------------------------------------------------------------------------\n";
                  cout << "| Mata Kuliah |        Dosen Pembimbing       | Hari dan Jam Kuliah | Ruang |\n";
                  cout << "-----------------------------------------------------------------------------\n";
                  cout << "|     PTI     | Ginanjar  Wiro Sasmito, M.Kom | Rabu, 10:15 - 11:45 |   K   |\n";
                  cout << "-----------------------------------------------------------------------------\n";  
                  break;
                  
             case 3:
                  cout << "\n\n-------------------------------------------------------------------\n";
                  cout << "|  Mata Kuliah   | Dosen Pembimbing | Hari dan Jam Kuliah  | Ruang |\n";
                  cout << "--------------------------------------------------------------------\n";
                  cout << "| Bahasa Inggris |  M.Arofiq, M.Pd  | Kamis, 08:00 - 09:30 |   J   |\n";
                  cout << "--------------------------------------------------------------------\n";  
                  break;
                  
            case 4:    
                 cout << "\n\n-------------------------------------------------------------------------\n";
                 cout << "| Mata Kuliah  |   Dosen Pembimbing    |  Hari dan Jam Kuliah |   Ruang   |\n";
                 cout << "---------------------------------------------------------------------------\n";
                 cout << "| Hardware     | M. Boni A, S.Kom, M.T | Senin, 10:15 - 12:30 |  Hardware |\n";
                 cout << "---------------------------------------------------------------------------\n";  
                 break;
                 
            case 5:
                 cout << "\n\n---------------------------------------------------------------------------------------\n";
                 cout << "|      Mata Kuliah        |       Dosen Pembimbing     |  Hari dan Jam Kuliah  | Ruang |\n";
                 cout << "----------------------------------------------------------------------------------------\n";
                 cout << "| Aplikasi Perkantoran    | Taufik Abidin, S.Pd, M.Kom | Selasa, 08:00 - 10:15 |   J   |\n";
                 cout << "----------------------------------------------------------------------------------------\n";  
                 break;
                 
            case 6:
                 cout << "\n\n-----------------------------------------------------------------\n";
                 cout << "| Mata Kuliah | Dosen Pembimbing | Hari dan Jam Kuliah   | Ruang |\n";
                 cout << "------------------------------------------------------------------\n";
                 cout << "|  Kalkulus   |   Dairoh, M.Sc   | Senin, 08:00 - 09:30  |   J   |\n";
                 cout << "------------------------------------------------------------------\n";  
                 break;
                 
            case 7:
                 cout << "\n\n-------------------------------------------------------------------\n";
                 cout << "| Mata Kuliah |   Dosen Pembimbing   | Hari dan Jam Kuliah | Ruang |\n";
                 cout << "--------------------------------------------------------------------\n";
                 cout << "|   Aloritma  | Oman Somantri, S.Kom | Senin, 13:15 - 15:30 |  J   |\n";
                 cout << "--------------------------------------------------------------------\n";  
                 break;
                 
            case 8:
                 cout << "\n\n--------------------------------------------------------------------------------\n";
                 cout << "| Mata Kuliah |        Dosen Pembimbing        | Hari dan Jam Kuliah  |  Ruang  |\n";
                 cout << "---------------------------------------------------------------------------------\n";
                 cout << "|   Elektro   | Dega Surono Wibowo,S.T., M.Kom | Senin, 08:00 - 10:15 | Elektro |\n";
                 cout << "---------------------------------------------------------------------------------\n";  
                 break;
            
            default:  
                      cout << "Tidak Ada Mata Kuliah Tersebut" << endl;  
            }  
pilihan2:
            cout <<"\n\n\nApakah anda ingin mengulanginya lagi (Y/N) = ";
            cin >> pilihan2;
            
            switch (pilihan2){
                   case 'Y' :
                   case 'y' :
                        system("cls");
                        goto awal;
                        break;
                        
                   case 'N' :
                   case 'n' :
                        cout << "\n\n                -----Terimakasih-----                 \n\n\n";
                        break;
                   default:  
                        cout << "\n--------------------------------------------------------------------------\n";
                        cout << "||Tidak Ada Kode Pilihan Tersebut,Tolong Masukan Kode Pilihan Yang Benar||" << endl;
                        cout << "--------------------------------------------------------------------------\n";
                        goto pilihan2;
                        break;
                        }
                
      
      
system ("PAUSE");  
return 0;  
}  

Kalo kurang jelas ini ada langsung coding dari pembuatanya pada jendela program dev C++. Penjelasannya hampir sama dengan coding ke 2.

ini gambarnya :




                    Download saja video tutorial dan penjelas coding pertama yang saya bikin sendiri tutorialnya..


Download Button


Ini coding yang ke 2, kalo kata aku sendiri ini pembuatan yang lumayan sulit aku nyoba gabungin antara if, else if, dan switch case.. dan ini codingnya..

#include <iostream>
#include <conio.h>

using namespace std;
int main()
{
      char *nama_makanan , *nama_minuman , kode_paket , pilihan2;
      int jumlah_beli,harga,bayar,kembalian,total;
awal:
       
      cout << "            ---------------------------------------           \n";
      cout << "            ||Selamat Datang Di Restauran Firdaus||           \n";
      cout << "            ---------------------------------------           \n\n\n";
      cout << "--------------------------------------------------------------\n";
      cout << "|Paket|      MENU MAKANAN      |  MENU MINUMAN  | HARGA      |\n";
      cout << "--------------------------------------------------------------\n";
      cout << "| A   | Lele Goreng + Nasi     + Teh Manis      | RP. 16.000 |\n";
      cout << "| B   | Mie Rebus + Telor      + Es Ovaltine    | Rp. 12.000 |\n";
      cout << "| C   | Mie Goreng + Telor     + Es Jeruk       | RP. 9.000 |\n";
      cout << "| D   | Gulai + Nasi           + Es Teh Manis   | Rp. 18.000 |\n";
      cout << "| E   | Soto + Nasi            + Kopi Susu      | RP. 11.000 |\n";
      cout << "--------------------------------------------------------------\n\n\n";
      cout << "        ==============================================        \n";
      cout << "        ||    Jl. Gajah Mada Limbangan Wetan, Brebes||        \n";
      cout << "        ==============================================        \n\n\n";
paket:
      cout << " Pilih Paket Yang Akan Anda Pesan [A/B/C/D/E] : "; cin >> kode_paket;
      cout << " Jumlah Pembelian : "; cin >> jumlah_beli;
      cout << "\t--------------------------------------------\n";
      system ("cls");
      if (kode_paket=='A' || kode_paket=='a')
      {
          nama_makanan="Lele Goreng + Nasi";
          nama_minuman="Teh Manis";
          harga=16000;
      }
      else if (kode_paket=='B' || kode_paket=='b')
      {
          nama_makanan="Mie Rebus + Telor";
          nama_minuman="Es Ovaltine";
          harga=12000;
      }
      else if (kode_paket=='C' || kode_paket=='c')
      {
          nama_makanan="Mie Goreng + Telor";
          nama_minuman="Es Jeruk";
          harga=9000;
      }
      else if (kode_paket=='D' || kode_paket=='d')
      {
          nama_makanan="Gulai + Nasi";
          nama_minuman="Es Teh Manis";
          harga=18000;
      }
      else if (kode_paket=='E' || kode_paket=='e')
      {
          nama_makanan="Soto + Nasi";
          nama_minuman="Kopi Susu";
          harga=11000;
      }
bayar:
      cout << "Nama Makanan                   : "<<nama_makanan<<"\n";
      cout << "Nama Minuman                   : "<<nama_minuman<<"\n";
      cout << "Jumlah makanan yang anda pesan : "<<jumlah_beli<<" porsi\n";
      cout << "Harga                          : Rp "<<harga<<"\n";
      cout << "_________________________________________\n";
      total=jumlah_beli*harga;
      cout << "Total Harga : Rp "<<total<<"\n";
      cout << "_________________________________________\n";
      cout << "Bayar       : Rp "; cin >> bayar;"\n";
      cout << "Total Bayar : Rp "<<total<<"\n";
      if (bayar < total)
      {
          cout << "_________________________________________\n";
          cout << "\tMaaf, Uang Anda Kurang !!!"<<endl;
          cout << "_________________________________________\n";
    
          getch();
          system ("cls");
          goto bayar;
      }
      cout << "_________________________________________\n";
      kembalian=bayar-total;
      cout << "Kembalian : Rp "<<kembalian<<"\n";
      cout << endl<<endl<<endl;
      cout << "\t\t=========================================\n";
      cout << endl;
      cout << "\t\t    TERIMA KASIH ATAS KUNJUNGANNYA  \n";
      cout << endl;
      {
          cout << "\t\t=========================================\n";
          cout << "\nApakah ingin menghitung ulang ? [Y/N] : ";
          cin >> pilihan2;
          switch(pilihan2)
          {
           
          case 'Y':
          case 'y' :
              system ("cls");    
              goto awal;
              break;
          case'N':
          case 'n' :
              cout << endl << endl;
              cout << "\t\t===TERIMA KASIH ANDA TELAH DATANG KE WARUNG KAMI===";
              getch();
              break;
          default:
              cout << "Inputkan Pilihan dengan Benar !!";
          }
          getch();
          return 0;
      }
}
Dan ni gambarnya hasil di compil n run :








Penjelasan :
1.      Kalimat yang diawali dengan tanda (#) adalah are pre-processor directive. Dalam contoh diatas saya dengan 2 perintah
a)   #include <iostream.h>  karna saya akan diperlukan pada program yang melibatkan perintah input output, misal : cout, cin.
·       cout Perintah ini digunakan untuk menampilkan kalimat atau string ke layar monitor dan header yang harus dicantumkan adalah IOSTREAM. Contoh :
ΓΌ cout << “            || Selamat Datang Di Restauran Firdaus ||           \n";
Kata yang di apit pada “ “ akan di tampilkan pada layar monitor, namun perintah \n tidak akan di tampilkan karna \n adalah untuk mengganti baris atau dalam penulisan di ms.word itu untuk enter 1x. sebernarnya penulisan kode ganti baris ada lagi selain kode tersebut yaitu <<endle setelah tanda apit misal cout << "            ||Selamat Datang Di Restauran Firdaus||           "<<endl; dan setiap penulisan harus diakhiri dengan tanda ;  jika tidak saat di compile and run akan eror sob.
·       Cin adalah digunakan untuk memasukan suatu data dapat berupa teks ataupun angka. Contoh :
ΓΌ cout << " Jumlah Pembelian : "; cin >> jumlah_beli; jadi ketika kata jumlah pembelian : muncul pada monitor itu ada tanda kursor yang berkedip bahwa disitu kita di wajibkan mengisi apa yang di perintahkan seperti pada saya yaitu memasukan jumlah pembelian. Kata jumlah_beli di artikan bahwa data yang kita masukan akan di simpan di kata tersebut. Dan cara penulisan karakter tidak boleh dengan sepasi namun dengan kata sambung underscore yaitu tanda _
b)   #include <conio.h> diperlukan bila melibatkan clrscr() atau system (“cls”); dan getch (); yaitu perintah untuk membersihkan layar ketika saya sudah mengisi jumlah pembelian dan menekan enter layar akan bersih dan berganti menjadi nama makanan, nama minuman dll.
2.      main () Dalam tubuh main inilah perintah-perintah bahasa c++ ditulis. fungsi main merupakan titik awal di mana seluruh program C++ akan mulai dieksekusi. Diletakkan di awal, di tengah atau di akhir program, isi dari fungsi main akan selalu dieksekusi pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsi main. Main diikuti oleh sepasang tanda kurung () karena merupakan fungsi.
3.      char adalah untuk isi dari bagiannya adalah berupa karakter/string.
4.      int adalah untuk isi dari bagiannya ada berupa Integer/bilangan bulat dengan kapasitas angka     - 32768 s/d 32767.
5.      Awal : adalah label untuk menandakan baris awal dan masih ada lagi label yang lain yang akan saya gunakan, karna disini saya menggunakan scrip goto yang nanti dalam scrip goto akan melompat ke label mana.
6.      system ("cls"); sudah saya jelaskan tadi. Jadi ketika kita menginput atau memasukan data di atas perintah header system (“cls”); maka saat anda menekan enter layar akan menghapus data tadi dan mengganti dengan data selanjutnya. Contohnya seperti koding saya yaitu :
  cout << " Pilih Paket Yang Akan Anda Pesan [A/B/C/D/E] : "; cin >> kode_paket;
       cout << " Jumlah Pembelian : "; cin >> jumlah_beli;
       cout << "\t--------------------------------------------\n";
       system ("cls");
7.      \t adalah untuk Tab ( default = 8 karakter )
8.         if (kode_paket=='A' || kode_paket=='a')
{
nama_makanan="Lele Goreng + Nasi";
nama_minuman="Teh Manis";
harga=8000;
}

If ( )  digunakan jika kondisi yang di input terjadi maka akan melakukan tindakan ini, jika tidak dia tidak akan melakukan tindakan ini maka dia akan melakukan tindakan lain. Tindakan yang dimaksud disini adalah ketika nanti kita akan disuruh memilih paket. Di dalam kurung tersebut saya isi dengan kode paket A. Tanda || maksudnya yaitu jika nanti kita di suruh input kode yang harus di pilih misal A,B,C kemudian kita inputnya a dengan tidak menggunakan huruf kapital maka akan tetap terbaca atau tetap sama dengan huruf kapitalnya, dengan kata lain tanda tersebut adalah atau dalam bahasa komputernya. Karna instruksi saya lebih dari satu instruksi yang akan dijalankan maka harus dibuat dalam blok instruksi dengan menggunakan tanda kurung kurawal { } setelah ganti baris If () Kemudian kita tulis nama_makanan= kalau kata saya penulisan nama_makanan itu seperti memori penyimpanan nama makanan pada kode paket A dan pada kode paket brikutnya. Lalu “Lele Goreng+Nasi”; data kode paket a yang akan di simpan di memori yang nantinya akan di munculkan pada output dan selanjutnya. Kalau harga tidak perlu di apit tanda kutip.
9.      else if (kode_paket=='B' || kode_paket=='b')
{
nama_makanan="Mie Rebus + Telor";
nama_minuman="Es Ovaltine";
harga=12000;

else if digunakan jika kondisi kedua yang diperkirakan akan terjadi jika kondisi pertama tidak mau. Dan penjelasan lainnya sama dengan penjelasan pada no 6.
10.    cout << "Nama Makanan                   : "<<nama_makanan<<"\n";
cout << "Nama Minuman                   : "<<nama_minuman<<"\n";
cout << "Jumlah makanan yang anda pesan : "<<jumlah_beli<<" porsi\n";
cout << "Harga                          : Rp "<<harga<<"\n";
cout << "_________________________________________\n";
Disini layar akan menampilkan kode paket yang sudah kita pilih dan input yang sudah kita masukan. Nah seperti yang sudah saya katakan penyimpanan memori nama makanan, nama minuman dan sebagainya akan di tampilkan lagi sesuai yang sudah kita pilih kode paketnya dan jumlah beli.
11.    total=jumlah_beli*harga;
cout << "Total Harga : Rp "<<total<<"\n";
Disini program akan menghitung jumlah beli kali harga yang akan di simpan pada memori kata total. Kemudian memori total akan di tampilkan pada layar bersamaan dengan hasil total harga.
12.    if (bayar < total) jika saat kita memasukan nominal jumlah uang kurang dari total yang seharusnya akan kita bayar.
13.    getch(); berfungsi untuk menghentikan program skrip program dan melanjutkannya setelah kita menekan tombol Enter.
14.    Goto bayar; goto yang digunakan agar program melompat ke baris yang telah ditentukan seperti saya meloncat ke baris bayar.
15.    switch(pilihan2) instruksi switch yang berfungsi untuk melakukan alur percabangan dengan kumpulan bagian program yang masing-masing berdiri sendiri. Dimana input dari variable pilihan2 akan mengarahkan ke suatu kondisi (case) masing-masing. Pernyataan switch - case ini memiliki kegunaan sama seperti if else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer.
16.    case 'Y' :
case 'y' :
bagian program suatu percabangan yang pertama yang berdiri sendiri yang menuju ke alur y atau ke cabang y. Dan begitu juga pada case selanjutnya.
17.    break;  instruksi ini berfungsi untuk keluar dari case pertama dan juga pada selanjutnya
18.    default; instruksi yang akan mengeksekusi jika pilihan yang diminta untuk variabel pilihan tidak sesuai akan mengalihkan ke kondisi diluar pilihan yang ada.
19.    return 0; Instruksi return menyebabkan fungsi main() berakhir dan mengembalikan kode yang mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling sering digunakan untuk mengakhiri program.





Sekian postingan dari saya, semoga bermanfaat bagi agan. Thanks.. 

0 komentar:

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Blogger Templates