Happy Watching Live Contruction

Tutorial Membuat Hangman Console Game dengan C++

Tutorial Membuat Hangman Console Game dengan C++ - Belajar C++

Hangman Game adalah salah satu game simple yang cukup terkenal hingga banyak Developer game membuat sejenis Hangman game. Hangman game biasanya bertemakan game tanya jawab. Quiz. Atau yang lain dengan taruhan sebuah gambar(Orang digantung di leher). Semakin anda membuat kesalahan semakin dekat korban tergantung. Kali ini kami “Belajar C++” akan belajar cara membuat game hangman game. Saya beri judul “Jawab atau Gantung – Console Game”.

Ini coding akan sedikit rumit dan banyak meskipun gamenya cukup simple. Yupz jangan remehkan apapun. Jangan lihat barang dari luarnya. Haha... D isini kita akan belajar beberapa statement baru seperti random, merubah warna console dan lain-lain.

1. Design Game Pertama beginilah tampilan yang akan buat, untuk yang punya ide sendiri anda silahkan bisa corat-coret dahulu untuk design gamenya. Setelah itu anda bisa membuat flowchart untuk mempermudahkan pembuatan.

Game Simple dengan C++ - Belajar C++

2. Membuat File Header untuk file-header kita harus gunakan sebutuhnya saja. Seperti input-output berarti kita akan menggunakan file-header iostream. dan disini BelajarCPP.com akan menggunakan file-header sebagai berikut
#include <string>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h> //digunakan untuk memanggil fungsi “srand”, “rand” (random)
#define gantibaris cout<<endl;
#define ganti2baris cout<<endl<<endl; //statement pengeluaran pengganti baris dijadikan fileheader
//jadi kita cukup hanya memanggil indentifier file header tersebut untuk mengganti baris.
using namespace std;

3. Buat Variabel ini digunakan untuk memesan memori kepada komputer. BelajarCPP menggunakan variabel kiranya seperti ini.
char nama_pemain[50], creator[50]="BelajarCPP.com";
int nyawa=5, jumlahditanyakan=0, jumlahpertanyaan=5, randompertanyaan, jawabanbenar, jawaban;
bool started=false, pertanyaan1digunakan=false, pertanyaan2digunakan=false, pertanyaan3digunakan=false, pertanyaan4digunakan=false, pertanyaan5digunakan=false;

4. Buat Main Function, fungsi ini akan menjadi fungsi utama yang akan pertama kali dibaca oleh compiler, jadi kita bisa gunakan untuk mengalihkan compiler ke beberapa fungsi yang kita buat, kira-kira saya buat seperti ini. Anda bebas mengekspresikan coding anda.
int main (int argc,char* argv[]){
  if(!started){ //jika started false
  mulaipermainan(); //ke fungsi mulaipermainan
} //proses akan masuk kedalam fungsi mulaipermainan hanya satu kali. Dan dikendalikan oleh variabel boolean.
pertanyaan(); // ke fungsi pertanyaan
  hasil(); //hasil
  if(!menang){ //jika menang = false
cout<<"Maaf anda kalah, Saudara anda telah tergantung !\nTekan tombol manapun untuk keluar..."<<endl;
      getch();
      return 0; // keluar
  }else{
      gantibaris;
      cout<<"  ~(^-^~)"<<endl;
    cout<<"     +"<<endl;
    cout<<"    /\\ "<<endl;
    cout<<"====================>"<<endl;
      cout<<"Selamat Saudara anda terselamatkan ! \nTekan tombol apapun untuk keluar..."<<endl;
//Beberapa warna bergantian untuk merayakan kemenangan
      system("color 1a");system("color 2b");system("color 3c");system("color 4d");system("color 5e");system("color 6f");
      system("color 1a");system("color 2b");system("color 3c");system("color 4d");system("color 5e");system("color 6f");
      system("color 1a");system("color 2b");system("color 3c");system("color 4d");system("color 5e");system("color 6f");
    getch();
      return 0; // keluar
}
}

Sebenarnya bisa saja kita membuat hanya ada di dalam satu function (fungsi main), tapi jika masalah itu besar dan sulit diselesaikan  alangkah baiknya jika kita memecah-mecahkan masalah itu. Ini juga untuk mempermudah kita dalam menyelesakannya.

5. Buat Function mulaipermainan() di sini kita akan menggunakan tipe data void untuk fungsi mulaipermainan. Fungsi ini dibuat untuk seperti menu utama dari game. Di sini kita buat dengan simple. Dengan memunculkan judul game. Masukan nama dan cara permainan yang di gambarkan sebagai pesan ancaman. Dan untuk melanjutkan juga kita cukup hanya menggunakan getch(). Dan di bawah ini adalah codenya.
void mulaipermainan(){
system("color f8"); //Set Warna Console = Putih
//Game Dimulai
printf("=============================================================\n");
printf("= Jawab atau Gantung - Console game - By %s =\n", creator); //judul game printf("=============================================================\n\n\n");
printf("Masukan Nama anda untuk memulai game : ");cin.getline(nama_pemain,sizeof(nama_pemain)); //masukan nama
printf("\n\n *Hy %s anda mendapatan satu pesan[ENTER]* \a", nama_pemain); //intruksi selanjutnya
getche();
//Membuka Pesan
   system("cls");
printf("\nTo : %s\nFrom : Creator \n\n", nama_pemain);
printf("\nHy %s. apa kabar? sayangnya anda baru saja memasukan identitas nama anda sebelumnya dan sekarang saudara anda dalam bahaya, kami telah menculik saudara anda, saudara anda berada di suatu tempat yang tidak bisa ditemukan oleh siapapun itu, tenang... kami telah memberikan permainan kepadanya agar dia tidak kesepian, yaitu tali di lehernya. kau pasti sudah tau maksud kami.\n", nama_pemain);
printf("\n======="); //cara permainan
   printf("\n      |");
   printf("\n      O");
   printf("\n     -+-");
   printf("\n     /\\\n");
   printf("\nSaudara anda dalam bahaya, untuk menyelamatkanya hanya ada satu cara untuk menyelamatkanya yaitu bermain bersama kami. itu mudah dengan cara menjawab 5 pertanyaan yang kami berikan dan kami juga berikan 5 kesempatan untuk menjawab jika anda mendapatkan 5 kesalahan dalam menjawab maka saudara anda akan berakhir seperti di atas. \n\nUps... \nTidak ada pilihan lain untuk ini! \nTekan tombol enter untuk melanjutkan permainan...[ENTER]");
   getch();
   system("cls"); // pembersih layar, sama seperti clrscr pada borland
   printf("\a\n==========================");
   printf("\a\n= Lets we start the Game =");
   printf("\a\n==========================");
started=true; //proses tidak akan masuk kedalam fungsi ini lagi.
}

6. Membuat Function pertanyaan, di sini kita harus bekerja keras untuk membuatnya, Karena code yang kita buat cukup banyak dan rumit. Fungsi ini digunakan untuk menyimpan beberapa pertanyaan yang akan diajukan secara random. Compiler akan membaca dan memilih salah satu nomer dari switch tapi jika itu telah ditanyakan maka variabel pertanyaan[nomer]digunakan akan bernlai true dan jika compiler memilih nomer itu lg maka akan dikembalikan menggunakan goto sehingga compiler memilih pertanyaan yang belum dijawab. Tapi jika semua pertanyaan dari variabel jumlahpertanyaan>=1 dan nyawa>=1. Maka compiler akan di kembalikan ke fungsi main dengan membawa kemenangan atau kekalahan yang berada di fungsi hasil.

Di dalam pertanyaan kita akan mengirim nilai variabel “jawabanbenar” sesuai jawaban yang benar pada pertanyaan itu. Disaat setelah memberikan jawaban maka jawaban itu akan diseleksi benar atau tidak jika salah akan memanggil fungsinyawa(). Berikut adalah code fungsi pertanyaan()
void pertanyaan(){
   while(jumlahpertanyaan>=1&&nyawa>=1){
      if(jumlahpertanyaan>=1&&nyawa>=1){
         switch(randompertanyaan=1+(rand()%5)){ //rand=random akan memilih pertanyaan secara acak.
            case 1:
               if(!pertanyaan1digunakan){
                  jawabanbenar=2;
        gantibaris;
         jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Apa yang akan anda jawab jika teman anda meminta saran hadiah untuk pacarnya yang cantik/ganteng ?"<<endl;
    cout<<"[1]. Berilah hadiah yang spesial"<<endl;
    cout<<"[2]. Kasih No Telp/HP gue aja bro..."<<endl;
    cout<<"[3]. Pergi dan tidak menjawab"<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
        if(jawabanbenar==jawaban){
           cout<<"Selamat anda Benar !"<<endl;
             pertanyaan1digunakan=true;
             jumlahpertanyaan-=1;
            cout<<"===================="<<endl;
            cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             cout<<endl;
           cout<<endl;
        }else{
           cout<<"Ups anda Salah !"<<endl;
             nyawa-=1;
             fungsinyawa();
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
        }
               }
            break;
    case 2:
       if(!pertanyaan2digunakan){
          jawabanbenar=3;
        gantibaris;
         jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Apa yang bisa dilakukan jika anda mempunyai teman yang pintar ?"<<endl;
    cout<<"[1]. Membangun Bisnis"<<endl;
    cout<<"[2]. Belajar Bersama"<<endl;
    cout<<"[3]. Emang Gue Pikirin"<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
        if(jawabanbenar==jawaban){
           cout<<"Selamat anda Benar !"<<endl;
             pertanyaan2digunakan=true;
             jumlahpertanyaan-=1;
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
        }else{
           cout<<"Ups anda Salah !"<<endl;
             nyawa-=1;
             fungsinyawa();
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
  }
       }
    break;
    case 3:
       if(!pertanyaan3digunakan){
          jawabanbenar=3;
        gantibaris;
          jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Lebih memilih yang mana?"<<endl;
    cout<<"[1]. Laki-laki imut"<<endl;
    cout<<"[2]. Perempuan gagah tinggi besar"<<endl;
    cout<<"[3]. Taylor Swift "<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
        if(jawabanbenar==jawaban){
           cout<<"Selamat anda Benar !"<<endl;
             pertanyaan3digunakan=true;
             jumlahpertanyaan-=1;
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
            cout<<endl;
           cout<<endl;
        }else{
           cout<<"Ups anda Salah !"<<endl;
             nyawa-=1;
             fungsinyawa();
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
        }
     }
   break;
  case 4:
      if(!pertanyaan4digunakan){
         jawabanbenar=3;
       gantibaris;
        jumlahditanyakan=6-jumlahpertanyaan;
 cout<<jumlahditanyakan<<". Apa yang anda lakukan jika anda hanya mempunyai uang 10.000 tapi anda membutuhkan pensil(6.000) dan Pena(7.000) ?"<<endl;
   cout<<"[1]. Hanya membeli Pena(7.000) saja"<<endl;
   cout<<"[2]. Hanya membeli Pensil(6.000) saja"<<endl;
   cout<<"[3]. Simpan uangnya, masalah pensil dan pena bisa pinjam teman "<<endl;
   cout<<"===> Jawaban : ";cin>>jawaban;
       if(jawabanbenar==jawaban){
          cout<<"Selamat anda Benar !"<<endl;
            pertanyaan4digunakan=true;
           jumlahpertanyaan-=1;
           cout<<"===================="<<endl;
           cout<<"Kesempatan = "<<nyawa<<endl;
           cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
 }else{
          cout<<"Ups anda Salah !"<<endl;
           nyawa-=1;
           fungsinyawa();
           cout<<"===================="<<endl;
           cout<<"Kesempatan = "<<nyawa<<endl;
            cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
           ganti2baris;
       }
      }
   break;
  case 5:
       if(!pertanyaan5digunakan){
          jawabanbenar=1;
        gantibaris;
          jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Apakah anda suka JKT48 ?"<<endl;
    cout<<"[1]. Fans berat"<<endl;
    cout<<"[2]. Ya"<<endl;
    cout<<"[3]. Tidak"<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
           if(jawabanbenar==jawaban){
              cout<<"Selamat anda Benar !"<<endl;
            pertanyaan5digunakan=true;
            jumlahpertanyaan-=1;
            cout<<"===================="<<endl;
            cout<<"Kesempatan = "<<nyawa<<endl;
            cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
     else{
      cout<<"Ups anda Salah !"<<endl;
            nyawa-=1;
            fungsinyawa();
            cout<<"===================="<<endl;
            cout<<"Kesempatan = "<<nyawa<<endl;
            cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
               ganti2baris;
     }
        }
     break;
}
      }else{
         return;
      }
   }
}

6.5. Membuat fungsinyawa(), berfungsi untuk memberikan output status menggunakan gambar orang terantung. jika nyawa semakin dekat dengan nilai 0 maka akan semakin jelas menunjukan gambar “Korban sedang digantung”. Di sini kita akan memanfaatkan variabel “nyawa” untuk penyeleksianya. Dan juga kita manaruh statement pergantian warna console. Sebenarnya statement itu tidak dianjurkan untuk digunakan. Tapi boleh digunakan untuk pemula. “saya dapet dari forum. Saya juga bingung maksudnya apa”. Tapi yang pasti code untuk penggantian warna yang dianjurkan lebih ribet lg dari pada yang ini.
void fungsinyawa(){
   switch(nyawa){
   case 0:
printf("\n\7=======");
printf("\n      |");
    printf("\n      O");
    printf("\n     -+-");
    printf("\n     /\\ \n");
      system("color c4");
      system("color f7");
      system("color c4");
   break;
   case 1:
    printf("\n\7=======");
printf("\n      |");
    printf("\n      O");
    printf("\n     -+-");
    printf("\n     \n");
      system("color b3");
      system("color f7");
      system("color b3");
   break;
   case 2:
    printf("\n\7=======");
printf("\n      |");
    printf("\n      O");
    printf("\n     ");
    printf("\n     \n");
      system("color a1");
      system("color f7");
      system("color a1");
   break;
   case 3:
    printf("\n\7=======");
printf("\n      |");
    printf("\n      ");
    printf("\n     ");
    printf("\n     \n");
      system("color d5");
      system("color f7");
      system("color d5");
   break;
   case 4:
    printf("\n\7=======");
printf("\n      ");
    printf("\n      ");
    printf("\n     ");
    printf("\n     \n");
      system("color e6");
      system("color f7");
      system("color e6");
   break;
   }
}

7. Membuat Function Hasil(), digunakan untuk menentukan hasil akhir permainan pemain. Dengan menggunakan nilai variabel dari jumlahpertanyaan dan nyawa. Jika jumlahpertanyaan masih banyak dan nyawa sudah habis maka variabel menang akan bernilai false. Dan jika jumlahpertanyaan sudah habis dan nyawa masih banyak. Maka variabel menang akan bernilai true.
void hasil(){
  if(jumlahpertanyaan>=0&&nyawa<=0){
      menang=false;
   }else{
      menang=true;
   }
}
dan akhirnya akan kembali lagi ke fungsi main. Variabel menang akan menentukan keluaran menang atau kalah.

Game simple tapi pembuatanya cukup rumit. Untuk full codenya ada dibawah. Jikaingin mencoba copy  saja ode dibawah ke compiler kalian. Jika terjadi kesalahan. Coba selesaikan dan sesuaikan dengan compiler anda.
//Ayo kita Mulai
//Daftar File-header
#include <string>
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#define gantibaris cout<<endl;
#define ganti2baris cout<<endl<<endl;

using namespace std;

//Daftar Variabel
char nama_pemain[50], *creator="BelajarCPP.com";
int nyawa=5, jumlahditanyakan=0, jumlahpertanyaan=5, randompertanyaan, jawabanbenar, jawaban;
bool menang, started=false, pertanyaan1digunakan=false, pertanyaan2digunakan=false, pertanyaan3digunakan=false, pertanyaan4digunakan=false, pertanyaan5digunakan=false;

//Fungsi Mulai Permainan
void mulaipermainan(){
  //Set Warna Console = Putih
system("color f8");

   //Game Dimulai
   printf("=============================================================\n");
   printf("= Jawab atau Gantung - Console game - By %s     =\n", creator);
               printf("=============================================================\n\n\n");
printf("Masukan Nama anda untuk memulai game :");
   cin.getline(nama_pemain,sizeof(nama_pemain));
printf("\n\n *Hy %s anda mendapatan satu pesan[ENTER]* \a", nama_pemain);
   getche();

   //Membuka Pesan
   system("cls");
printf("\nTo : %s\nFrom : Creator \n\n", nama_pemain);
printf("\nHy %s. apa kabar? sayangnya anda baru saja memasukan identitas nama anda sebelumnya dan sekarang saudara anda dalam bahaya, kami telah menculik saudara anda, saudara anda berada di suatu tempat yang tidak bisa ditemukan oleh siapapun itu, tenang... kami telah memberikan permainan kepadanya agar dia tidak kesepian, yaitu tali di lehernya. kau pasti sudah tau maksud kami.\n", nama_pemain);
printf("\n=======");
   printf("\n      |");
   printf("\n      O");
   printf("\n     -+-");
   printf("\n     /\\\n");
   printf("\nSaudara anda dalam bahaya, untuk menyelamatkanya hanya ada satu cara untuk menyelamatkanya yaitu bermain bersama kami. itu mudah dengan cara menjawab 5 pertanyaan yang kami berikan dan kami juga berikan 5 kesempatan untuk menjawab jika anda mendapatkan 5 kesalahan dalam menjawab maka saudara anda akan berakhir seperti di atas. \n\nUps... \nTidak ada pilihan lain untuk ini! \nTekan tombol enter untuk melanjutkan permainan...[ENTER]");

   getch();
   system("cls");
   printf("\a\n==========================");
   printf("\a\n= Lets we start the Game =");
   printf("\a\n==========================");
started=true;
}

//Nyawa
void fungsinyawa(){
   switch(nyawa){
      case 0:
printf("\n\7=======");
printf("\n      |");
    printf("\n      O");
    printf("\n     -+-");
    printf("\n     /\\ \n");
         system("color c4");
         system("color f7");
         system("color c4");
      break;
      case 1:
    printf("\n\7=======");
printf("\n      |");
    printf("\n      O");
    printf("\n     -+-");
    printf("\n     \n");
         system("color b3");
         system("color f7");
         system("color b3");
      break;
      case 2:
    printf("\n\7=======");
printf("\n      |");
    printf("\n      O");
    printf("\n     ");
    printf("\n     \n");
         system("color a1");
         system("color f7");
         system("color a1");
      break;
      case 3:
    printf("\n\7=======");
printf("\n      |");
    printf("\n      ");
    printf("\n     ");
    printf("\n     \n");
         system("color d5");
         system("color f7");
         system("color d5");
      break;
      case 4:
    printf("\n\7=======");
printf("\n      ");
    printf("\n      ");
    printf("\n     ");
    printf("\n     \n");
         system("color e6");
         system("color f7");
         system("color e6");
      break;
   }
}

// Pertanyaan
void pertanyaan(){
   while(jumlahpertanyaan>=1&&nyawa>=1){
      if(jumlahpertanyaan>=1&&nyawa>=1){
         switch(randompertanyaan=1+(rand()%5)){ //rand=random akan memilih pertanyaan secara acak.
            case 1:
               if(!pertanyaan1digunakan){
                  jawabanbenar=2;
        gantibaris;
         jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Apa yang akan anda jawab jika teman anda meminta saran hadiah untuk pacarnya yang cantik/ganteng ?"<<endl;
    cout<<"[1]. Berilah hadiah yang spesial"<<endl;
    cout<<"[2]. Kasih No Telp/HP gue aja bro..."<<endl;
    cout<<"[3]. Pergi dan tidak menjawab"<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
        if(jawabanbenar==jawaban){
           cout<<"Selamat anda Benar !"<<endl;
             pertanyaan1digunakan=true;
             jumlahpertanyaan-=1;
            cout<<"===================="<<endl;
            cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             cout<<endl;
           cout<<endl;
        }else{
           cout<<"Ups anda Salah !"<<endl;
             nyawa-=1;
             fungsinyawa();
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
        }
               }
            break;
    case 2:
       if(!pertanyaan2digunakan){
          jawabanbenar=3;
        gantibaris;
         jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Apa yang bisa dilakukan jika anda mempunyai teman yang pintar ?"<<endl;
    cout<<"[1]. Membangun Bisnis"<<endl;
    cout<<"[2]. Belajar Bersama"<<endl;
    cout<<"[3]. Emang Gue Pikirin"<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
        if(jawabanbenar==jawaban){
           cout<<"Selamat anda Benar !"<<endl;
             pertanyaan2digunakan=true;
             jumlahpertanyaan-=1;
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
        }else{
           cout<<"Ups anda Salah !"<<endl;
             nyawa-=1;
             fungsinyawa();
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
  }
       }
    break;
    case 3:
       if(!pertanyaan3digunakan){
          jawabanbenar=3;
        gantibaris;
          jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Lebih memilih yang mana?"<<endl;
    cout<<"[1]. Laki-laki imut"<<endl;
    cout<<"[2]. Perempuan gagah tinggi besar"<<endl;
    cout<<"[3]. Taylor Swift "<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
        if(jawabanbenar==jawaban){
           cout<<"Selamat anda Benar !"<<endl;
             pertanyaan3digunakan=true;
             jumlahpertanyaan-=1;
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
            cout<<endl;
           cout<<endl;
        }else{
           cout<<"Ups anda Salah !"<<endl;
             nyawa-=1;
             fungsinyawa();
             cout<<"===================="<<endl;
             cout<<"Kesempatan = "<<nyawa<<endl;
             cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
             ganti2baris;
        }
     }
   break;
  case 4:
      if(!pertanyaan4digunakan){
         jawabanbenar=3;
       gantibaris;
        jumlahditanyakan=6-jumlahpertanyaan;
 cout<<jumlahditanyakan<<". Apa yang anda lakukan jika anda hanya mempunyai uang 10.000 tapi anda membutuhkan pensil(6.000) dan Pena(7.000) ?"<<endl;
   cout<<"[1]. Hanya membeli Pena(7.000) saja"<<endl;
   cout<<"[2]. Hanya membeli Pensil(6.000) saja"<<endl;
   cout<<"[3]. Simpan uangnya, masalah pensil dan pena bisa pinjam teman "<<endl;
   cout<<"===> Jawaban : ";cin>>jawaban;
       if(jawabanbenar==jawaban){
          cout<<"Selamat anda Benar !"<<endl;
            pertanyaan4digunakan=true;
           jumlahpertanyaan-=1;
           cout<<"===================="<<endl;
           cout<<"Kesempatan = "<<nyawa<<endl;
           cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
 }else{
          cout<<"Ups anda Salah !"<<endl;
           nyawa-=1;
           fungsinyawa();
           cout<<"===================="<<endl;
           cout<<"Kesempatan = "<<nyawa<<endl;
            cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
           ganti2baris;
       }
      }
   break;
  case 5:
       if(!pertanyaan5digunakan){
          jawabanbenar=1;
        gantibaris;
          jumlahditanyakan=6-jumlahpertanyaan;
  cout<<jumlahditanyakan<<". Apakah anda suka JKT48 ?"<<endl;
    cout<<"[1]. Fans berat"<<endl;
    cout<<"[2]. Ya"<<endl;
    cout<<"[3]. Tidak"<<endl;
    cout<<"===> Jawaban : ";cin>>jawaban;
           if(jawabanbenar==jawaban){
              cout<<"Selamat anda Benar !"<<endl;
            pertanyaan5digunakan=true;
            jumlahpertanyaan-=1;
            cout<<"===================="<<endl;
            cout<<"Kesempatan = "<<nyawa<<endl;
            cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
     else{
      cout<<"Ups anda Salah !"<<endl;
            nyawa-=1;
            fungsinyawa();
            cout<<"===================="<<endl;
            cout<<"Kesempatan = "<<nyawa<<endl;
            cout<<"Sisa Pertanyaan = "<<jumlahpertanyaan<<endl;
               ganti2baris;
     }
        }
     break;
}
      }else{
         return;
      }
   }
}

void hasil(){
if(jumlahpertanyaan>=0&&nyawa<=0){
      menang=false;
   }else{
    menang=true;
   }
}

// Main Function
int main (int argc,char* argv[]){
if(!started){
  mulaipermainan();
}
pertanyaan();
  hasil();
  if(!menang){
cout<<"Maaf anda kalah, Saudara anda telah tergantung !\nTekan tombol manapun untuk keluar..."<<endl;
      getch();
      return 0;
  }else{
      gantibaris;
      cout<<"  ~(^-^~)"<<endl;
    cout<<"     +"<<endl;
    cout<<"    /\\ "<<endl;
    cout<<"====================>"<<endl;
      cout<<"Selamat Saudara anda terselamatkan ! \nTekan tombol apapun untuk keluar..."<<endl;
      system("color 1a");system("color 2b");system("color 3c");system("color 4d");system("color 5e");system("color 6f");
      system("color 1a");system("color 2b");system("color 3c");system("color 4d");system("color 5e");system("color 6f");
      system("color 1a");system("color 2b");system("color 3c");system("color 4d");system("color 5e");system("color 6f");
    getch();
     return 0;
}
}

Atau anda bisa mendownload di sini.
http://www.mediafire.com/download/6wvi4ftgt5m2xum/Jawab+atau+Gantun+Console+Game+C+++-+BelajarCpp.com.zip

Cukup sekian dari belajarcpp.com semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda ke BelajarCPP. Have a nice day.

Pengertian dan Fungsi File-header C++

Pengertian dan Fungsi File-header C++ - Belajar C++

Sebelumnya kita telah membahas beberapa Code/Contoh program yang kita buat. apakah kau memperhatikan bahwa setiap awalan program pasti akan diawali dengan pemanggilan File header sebelum mendefinikasikan program tersebut.
#include <iostream>
using namespace std;

int main ()
{
   cout<<"Selamat datang di BelajarCPP.com"<<endl;
   return 0;
}

diatas merupakan contoh program sederhana C++. dan kali ini kita akan membahas mengenai "#include <iostream>" apa itu file header ? pada pernyataan itu terdiri dari 2 pernyataan, yaitu #include adalah apa yang dinamakan sebagai Preprocessor Directive yang berfungsi sebagai perintah yang termasuk kedalam program tetapi bukanlah instruksi dari program itu sendiri, dan Preprocessor Directive untuk #include sendiri merupakan sebuah intruksi untuk memanggil file (file-header) yang akan dgunakan.

dan kedua adalah <iostream> uang disebut sebagai "File-header" dan kali ini kita akan membahas mengenai apa itu file-header, agar lebih jelasnya kita akan membahas file-header di bawah. untuk <iostream> merupakan salah satu file header kepanjangan dari "Input Output STREAM" digunakan sebagai memanggil fungsi-fungsi yang berada pada file header tersebut seperti cout, cin dan lain-lain.

Apa itu File Header ?
File-header adalah pernyataan pendeklarasian utama dari sebuah program c++ yang berfungsi untuk memanggil dan menjalankan fungsi-fungsi yang terdapat dalam library file header C++ agar kita bisa menggunakan fungsi-fungsi pada file tersebut. contohnya adalah <iostream> merupakan deklarasi pernyataan yang merupakan file libary dari cout, cin dan lain-lain.

Bentuk Umum Penulisan
#include <File-Header>

kadang-kadang file-header disebut sebagai include file. pada code dan contoh program sebelumya pasti kita pernah liat file-header yang tidak memiliki dan ada yang memiliki ekstensi ".h" dan sebenarnya bukan hanya ekstensi ".h" ada juga ektensi seperti .hpp dan lainnya. tujuan dari file header adalah untuk mengadakan deklarasi fungsi dalam file yang akan kita gunakan dalam mendeskripsikan program. File .h ini dipakai sebagai "akses point" dimana kalo kamu mau akses sebuah method, class, atau struct, maka harus menggunakan file-header. File .h ini juga penting kalo kamu ingin membuat semacam .dll yang bakal diakses oleh framework lain.

file header standar untuk proses input/output adalah <iostream>. Kita memerlukan file header <iostream> hampir di setiap kode program yang kita buat dalam bahasa C.  Apabila kita menggunakan file header yang telah disediakan oleh kompilator, maka kita harus menuliskannya di dalam tanda ‘<’ dan ‘>’ (misalnya <iostream>). Namun, apabila kita menggunakan file header yang kita buat sendiri, maka file tersebut ditulis di antara tanda ‘"’ (misalnya "NamaHeader.h"). Apabila kita menggunakan tanda <>, maka file header tersebut akan dianggap berada pada direktori default yang telah ditentukan oleh kompilator. Sedangkan apabila kita menggunakan tanda "", maka file header dapat kita tentukan sendiri lokasinya.
#include <stdio.h>
using namespace std;

int main()
{
printf("Selamat datang di BelajarCPP.com");
return 0;
}

program diatas adalah contoh salah satu file header yang menggunakan ekstensi ".h". stdio.h adalah file yang berguna untuk memanggil fungsi printf, scanf dan lain-lain, code tersebut lebih sering digunakan dalam pemrograman C tapi kita juga bisa menggunakan bahasa C pada C++ karena C merupakan awal dari C++. File Header adalah suatu file library dengan ekstensi h (.h) yang merupakan file bantuan yang digunakan untuk menyimpan daftar-daftar fungsi yang akan digunakan dalam program.

Contoh Program
#include <iostream> // untuk input output C++ seperti Cout, Cin, endl dan lain-lain
#include <stdio.h> //untuk input output C sseperti Printf, Scanf dan lain-lain
#include <conio.h> //Untuk Getch()
using namespace std;

int main() {
int angka ;
cout << "Selaat Belajar C++ di BelajarCPP.com" << endl; //Menggunakan <iostream>
printf("Masukan angka : ");scanf("%d", &angka); //Menggunakan <stdio.h>
printf("Anda barusan memasukan %d", angka); //Menggunakan <stdio.h>
getch(); //Menggunakan <conio.h>
return 0;
}

Cukup sekian dari belajarcpp.com semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda ke BelajarCPP. Have a nice day.

Pengertian Object Data C++

Pengertian Data Objek C++ - Belajar C++

Pengertian Variabel
Variabel Adalah suatu tempat menampung data atau konstanta dimemori yang mempunyai nilai atau data yang dapat berubah-ubah selama proses program.Jenis Variabel pada C++ ini sangat berguna didalam penulisan suatu fungsi agar penggunaan didalam penggunaan suatu variabel tidak salah.

Baca juga : Pengertian dan Deklarasi Variabel C++

Pengertian Data Object
Data objek adalah bagian dari memori yang digunakan untuk menampung nilai dari variable. Variable umumnya digunakan untuk data objek yang nilainya dapat diubah selama pemrosesan berlangsung.
Contoh deklarasi variable :
int nilai ;
atau
int nilai = 80 ;

Dalam C++ pendeklarasian termasuk statemen, sehingga pendeklarasian dapat diletakkan pada sembarang tempat dalam program. Konstanta data objek adalah : variable yang nilainya tidak dapat diubah selama pemrosesan berlangsung.

Contoh deklarasi konstanta :
const double pi = 3.14 ;

Baca juga : Pengertian dan Contoh Konstanta/Literal C++

Cukup sekian dari belajarcpp.com semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda ke BelajarCPP. Have a nice day.

Last update : 2 Februari 2016

Fungsi ( using namespace std ) C++

Fungsi ( using namespace std ) C++ - Belajar C++

Mungkin para pengguna Borland atau pelajar baru C/C++ akan merasa asing terhadap code-code c++ sekarang. Banyak sekali perbedaan yang ada meskipun masih dalam bahasa pemrograman yang sama. Banyak perbedaan bahasa yang diajarkan dengan yang sekarang, salah satunya adalah “using namespace std;”

Bentuk umum penulisan
using namespace std;  

Contoh Program
#include <iostream>
using namespace std; // apa ini ?

int main ()
{
   cout<<”Selamat datang di BelajarCPP.com”
   return 0;
}

“using namespace std” terdiri dari 3 statements yaitu “using”, “namespace” dan “std”, mari kita kenali mereka bertiga sebelum tau fungsi penggunaan “using namespace std”.
  • using adalah deklarasi arahan / panggilan / pemberitahukan kepada kompiler untuk penggunaan deklarasi namespace dan anggota namespace.
  • namespace adalah penyedia metode untuk mencegah komflik nama dalam proyek-proyek besar. Simbol pendeklarasian di dalam blok namespace ditempatkan di lingkup bernama yang akan mencegah mereka pada keliruan pengenalan pada scope yang lainnya. Jika pendeklarasiannya seperti diatas, itu berfungsi untuk memanggil namespace yang telah dibuat.
  • std adalah nama namespace tersebut yang sudah tersedia dan tidak perlu dibuat ulang menggunakan fungsi namespace, cukup dipanggil. Std merupakan wadah urutan yang merangkum ukuran data dan array dinamis. Di dalam std terdapat halnya seperti cout, cin, endl dan lain-lain.

Anda mungkin pernah melihat penggunaan std dengan cara diatas maupun seperti std::cout pada program-program sebelumnya.
 #include <iostream>

int main ()
{
   std::cout<<”Selamat datang di BelajarCPP.com”
   return 0;
}

std::cout yang mengidentifikasi STandarD::Character OUTput . Fungsi utama using namespace std pada pendeklarasian tersebut adalah untuk memberitahukan kepada kompiler bahwa kita akan menggunakan semua fungsi , class atau file yang terdapat pada memori namespace std. Jadi jika anda telah menggunakan pernyataan “using namespace std” kita tidak perlu repot-repot menambahkan std:: di depan fungsi-fungsi untuk memanggil fungsi seperti fungsi cout, cin dan sebagainya yang terdapat dalam namespace std.

Cukup sekian dari belajarcpp.com semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda ke BelajarCPP. Have a nice day.

Pengertian Scope (Ruang Lingkup) C++

Pengertian Scope (Ruang Lingkup) - Belajar C++

Scope atau Cakupan atau Ruang lingkup adalah kode sumber bersarang pada awal blok titik deklarasi dan berahir di ujung blok. Sifat kode sumber itu akan hanya berlaku pada ruang lingkup tersebut tergantung atas penempatanya.
int main ()
 {
     int a = 0; // lingkup 'a' pertama dimulai
     ++ A; // nama 'a' adalah dalam lingkup dan mengacu pada 'a' yang pertama
     {
         int a = 1; // lingkup kedua 'a' dimulai
                    // pidah baris
         a = 42; // 'a' adalah dalam lingkup dan mengacu pada variabel 'a' yang kedua
     } // Blok ujung, ruang lingkup 'a' kedua
       // Ruang Lingkup 'a' pertama 'a' berlanjut
 } // Blok ujung, ruang lingkup 'a' pertama
 int b = a; // Kesalahan: nama 'a' tidak dalam lingkup

Nama sumber seperti nama variabel, nama fungsi dan lain-lain perlu didirikan sebagai penanda variabel atau fungsi tertentu. Sumber akan berlaku lokal jika sumber di dirikan di dalam lingkup lokal (didalam blok) yang berarti hanya bisa dipanggil pada blok ruang lingkup tersebut. untuk sumber diluar blok (global) akan berlaku sebaliknya, sumber diluar blok bisa kita panggil di dalam beberapa ruang lingkup lainya di di dalam ruang lingkup utama. dan untuk bersifat sangat public dan bisa di peroses oleh semua ruang lingkup Biasanya variabel didirikan diluar blok sebelum fungsi dan sesudah file header, tdak didalam suatu blok ruang lngkup..

Bisa dibilang bahwa code sumber pada ruang lingkup adalah variabel meskipun kita bisa menggunakanya pada fungsi parameter, tapi itu sama hanya beda penempatanya kali ini variabel akan mewakili penjelasan scope. Variabel tersebut akan bisa digunakan pada dimana dia di dirikan. Scope Variabel umumya mempunyai 2 macam yaitu

Variabel Lokal adalah variabel yang didirikan di dalam function atau blok suatu program, variabel tersebut akan bersifat lokal hanya bisa digunakan di dalam ruang lingkup itu.
#include <iostream>

using namespace std;
int main ()
{
char kalimat[]="Selamat Belajar C++"; //lokal variabel
cout<<kalimat; //pemanggilan lokal variabel
return 0;
}

Variabel Global adalah variabel yang didirikan diluar function biasanya terletak sesudah file-header sebelum function, variabel tersebut akan bersifat global, bisa digunakan dimanapun dan semua function.
#include <iostream>
#include <conio.h>
using namespace std;

char kalimat[]="Selamat Belajar C++"; //global variabel
int fungsibuatan()
{
cout<<kalimat<<" di BelajarCPP.com"; //pemanggilan variabel di fungsi buatan
}
int main ()
{
cout<<kalimat<<endl; // pemanggilan variabel di fungsi main
fungsibuatan();
return 0;
}

Baca juga : Pengertian Identifier dan Scope Identifier

Cukup sekian dari belajarcpp.com semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda ke BelajarCPP. Have a nice day.

Macam-mcam dan Contoh Jump Stetements ( Lompatan )

Macam-mcam dan Contoh Jump Stetements ( Lompatan ) - Belajar C++

Sebelumnya kita telah membahas mengenai Statemenst / pernyataan, bahwa pernyataan memliki dua jenis yaitu pernyataan tunggal dan majemuk. dan memiliki banyak macam seperti pernyataan penyeleksian, pengulangan dan lompatan, dan kali ini kita akan membahas mengenai pernyataan lompatan.

Pengertian Jump Stetements ( Lompatan )

Pernyataan Jump (lompat) adalah salah satu cara kita mengendalikan proses pengeksekusian pernyataan agar bisa kembali ke dalam jalur pembacaan baris. Tidak terjebak pada pernyataan majemuk yang kita buat seperti pengulangan tak terhingga. Atau bisa di bilang kita mengeluarkan proses pengeksekusian dari dalam pernyataan majemuk yang kita buat seperti IF, For dan lain agar kembali ke pembacaan baris. Tidak hanya mengeluarkan, kita juga bisa Melompati pengulangan (melewati beberapa angka pengulangan) atau mengeluarkan dari proses pengulangan tak terhingga.

Bukan hanya itu saja. Kita juga bisa mengendalikan pembacaan pengeksekusian pernyataan agar meloncati beberapa baris. Atau kita bisa mengembalikanya ke atas atau kemanapun baris yg kita inginkan. Untuk pernyataan jump kita bisa menggunakan “Break”, “Continue” dan “goto”.

Macam-macam Jump Stetements ( Lompatan )

Pernytaan Break
Break berfungsi untuk mengembalikan pengeksekusian keluar dari pernyataan pengulagan tak terbatas meskipun syarat penguangan itu belum terpenuhi. Kita bisa mengeluarkan jalur pengeksekusian dari pernyataan tersebut secara paksa.
#include <iostream.h>
#include <conio.h>
int main ()
{
   int n = 0, stop;
   cout<<"Masukan Batas penghitungan : ";cin>>stop;
   cout<<endl;
   for (n=1;n>0;n++)
   {
  cout<<n<<endl;
      if(n==stop)
      {
     break;
      }
   }
   cout<<endl<<"Penghitungan Dihentikan di angka ["<<stop<<"]"<<endl;
   getch();
}

Baca juga : Pengertian dan Contoh Pernyataan Break C++

Diatas merupakan contoh program pengulangan tak terhingga menggunakan for. Untuk menghentikan pengulangan tersebut kami taruh break pada pernyataan “if” jika n==stop, angka yang dimana anda masukan untuk penentu penghentian.

Perrnyataan continue
Pernyataan Continue berfungsi untuk melewati/melompoti suatu atau beberpa angka pengulangan. untuk melewatkan sisa loop pada iterasi saat ini, seolah-olah akhir blok pernyataan telah dicapai, menyebabkan ia melompat ke awal iterasi berikut.

Dibawah ini adalah contoh program continue perhitungan 1-10 menggunakan for yang akan melewati satu angka yang anda masukan.
#include <iostream>
#include <conio>
int main ()
{
   int n, hilang;
   cout<<"Masukan angka yang akan dihilangkan"<<endl;cin>>hilang;
   cout<<endl;
   for (n=1; n<=10; n++)
   {
      if (n==hilang)
      {
         cout<<"Boof !!!"<<endl;
         continue;
      }
      cout << n <<endl;
   }
getch();
}

Baca juga : Pengertian dan Contoh Pernyataan Continue C++

Pernyataan Goto
Pernyataan goto berfungsi untuk mengendalikan proses pembacaan, memungkinkan untuk melompati atau mengembalikan proses pengeksekusian, kita bisa mengembalikan ke atas atau kemanapun baris yang kita mau.

Untuk membuat tempat lompatan kita bisa menggunakan sintak label dan untuk memilih tempat dimana kita akan lompat menggunakan goto.
#include <iostream>
#include <conio>
main()
{
   char pilihangoto;
   bersih :
   clrscr();
   ulang:
   cout<<endl;
   cout<<"Hai Selamat Belajar Di BELAJARCPP.COM"<<endl<<endl;
   cout<<"[Y] Mengulangi Program"<<endl;
   cout<<"[C] Membersihkan Program"<<endl;
   cout<<"[N] Keluar dari program"<<endl;
   cout<<"Tindakan [Y/C/N] : ";cin>>pilihangoto;
   if(pilihangoto=='y' ||pilihangoto=='Y' )
   {
      goto ulang ;
   }
   else if (pilihangoto=='C' ||pilihangoto=='c' )
   {
      goto bersih;
   }
   else
   {
      goto selesai;
   }
getch();
selesai:
}

Baca juga : Pengertian dan Contoh Pernyataan goto C++

Untuk lebih jelasnya untuk pernyataan break, Continue atau goto mungkin anda bisa mengunjungi artikel resminya. Cukup sekian dari belajarcpp.com semoga artikel ini bisa bermanfaat untuk kita semua. Mohon maaf atas kekuranganya dan Terima Kasih atas dukungan dan kunjungan anda ke BelajarCPP. Have a nice day.