Saturday 15 November 2014

Algoritma dasar C++


Dibawah ini adalah contoh-contoh program sederhana pengulangan atau loop,disini gamers blog membuat program dengan menggunakan Dev C++
Silahkan dipelajari dan semoga bermanfaat. . . .

KASUS 1

1.      Buat program untuk konversi bilangan Desimal ke Biner
 
     Source Code

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

using namespace std;

int main(){
       int bil,i=0,biner[100];    //Deklarasi Variabel, variabel biner bertipe array.
       cout<<"\nMasukkan bilangan desimal = ";
       cin>>bil;                  //memasukkan bilangan
       cout<<"Bilangan biner = ";              
while(bil){                /*awal looping, dengan inisialisasi bil = nilai inputan, kondisi = bil, dan stepnya bil/=2.   */
              biner[i]=bil%2;      //memasukkan hasil modulasi ke variabel biner.
              bil/=2;                    //step untuk looping, yaitu nilai bil dibagi dengan 2.
              i++;                 //nilai i ditambah 1
       }                          //akhir looping
while(i>0){                /*awal looping untuk mengeluarkan hasil konversi,inisilisasi adalah nilai i terakhir dari looping di atas, kondisi i>0, step i--  */
              i--;                 //nilai i dikurang 1
              cout<<biner[i];      //menampilkan hasil konversi dari variabel biner.
       }
       getch();
}
c.       ScreenShot



Kasus 2

2.       Buat program untuk mengecek apakah bilangan yang dimasukkan adalah bilangan prima.


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

using namespace std;

int main(){
       int bil,i,prima=1;         //Deklarasi Variabel. (variabel prima diisi dengan nilai 1)
    cout<<"\nMasukkan bilangan = ";
       cin>>bil;                  //Memasukkan nilai input ke variabel bil.
for (i=2; i<bil; i++){     /*Perulangan untuk cek apakah bil adalah bilangan prima atau bukan.*/
if (bil%i==0){       /*Jika bil di modulasi dg i dan hasilnya 0, maka bil bukan bilangan prima, dan sekaligus merubah nilai variabel prima yg semula 1 menjadi 0.*/
prima=0;      /*Variabel prima diisi dengan nilai 0. (Semula nilainya adalah 1) */
                     break;
              }
       }
       if(prima==1){              //validasi untuk cek apakah nilai variabel prima = 1?
              cout<<bil<<" adalah bilangan PRIMA.";//jika iya, maka bil adalah bilangan PRIMA
       } else {
              cout<<bil<<" BUKAN bilangan prima.";     //jika tidak, maka bil BUKAN bilangan prima
       }
       getch();
}

c.       ScreenShot






Kasus 3

3.       Buat program untuk menampilkan 150 bilangan prima pertama (bilangan prima mulai dari 2,3,5… hingga bilangan prima yang ke‐ 150).



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

using namespace std;

int main(){
int prima, prima_ke=1,i,j; /*Deklarasi variabel. (Nilai variabel prima_ke langsung diisi nilai 1)*/
       cout<<"Deretan 150 bilangan prima pertama adalah : \n";
for(i = 2; prima_ke<=150; i++){   /*Perulangan untuk cek semua bilangan mulai dr angka 2 - sekian,sehingga diperoleh 150 bilangan prima. */
              prima=1;             //variabel prima diisi dengan nilai 1.
for(j=2; j<i; j++){        /*perulangan untuk cek apakah nilai i adalah prima atau bukan.*/
                     if(i%j==0){   //jika hasil i%j==0, maka nilai i bukan prima.
                            prima=0;//karena bukan prima, varibel prima diisi dengan nilai 0.
                     }
              }
if(prima==1){              /*jika nilai variabel prima = 1, maka nilai i adalah bilangan prima.*/
                     cout<<i<<", ";       //output variabel i.
                     prima_ke++;   //nilai variabel prima_ke ditambah 1.
              }
       }
       getch();
}
c.       ScreenShot



KASUS 4

4.     Buat program untuk menampilkan faktor dari suatu bilangan yang dimasukkan.



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

using namespace std;

int main(){
       int bil, i;                //deklarasi variabel
    cout<<"\nMasukkan bilangan = ";
       cin>>bil;                  //memasukkan input ke variabel bil
       cout<<"Faktornya = ";
       for (i=1; i<=bil; i++){    //perulangan untuk mencari faktor dari bil.
              if (bil%i==0){              //jika hasil bil%i= 0, maka i adlaah faktor dari bil
                     cout<<i<<" "; //menampilkan i yang merupakan faktor dr bil
             
       }
       getch();
}
c.       ScreenShot



KASUS 5

5.      Buat program untuk mencari FPB dari dua buah bilangan yang dimasukkan




      Source Code

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

using namespace std;

int main(){
       int a,b,r;                 //deklarasi variabel
    cout<<"\nMasukkan bilangan pertama = ";
       cin>>a;
       cout<<"Masukkan bilangan kedua = ";
       cin>>b;
       r = a%b;                   //memasukkan hasil modulasi a dg b ke variabel r.
       cout<<"FPB = ";
       while (r!=0){              //perulangan untuk mencari FPB
              a = b;               //memasukkan nilai b ke a
              b = r;               //memasukkan nilai r ke b
              r = a%b;             //memasukkan hasil modulasi a dg b ke r
       }
       cout<<b<<endl;                    //menampilkan FPB di dlm variabel b
       getch();
}

c.       ScreenShot



KASUS 6

6.    Buat program yang terdiri dari 3 menu.




      Source Code

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

using namespace std;

int main(){
       int pil, bil,i=0,biner[100];
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##                 KASUS 6 : MENU APLIKASI BINER <> DESIMAL                   ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"+================================+\n";
       cout<<"+      1. Desimal Ke Biner  +\n";
       cout<<"+      2. Biner Ke Desimal  +\n";
       cout<<"+      3. Exit                    +\n";
       cout<<"+================================+\n \n";
       lagi :
       cout<<"Masukan Menu Pilihan       : ";
       cin>>pil;
       if (pil == 1){
              cout<<"\nMasukkan bilangan desimal = ";
              cin>>bil;            //memasukkan bilangan
              cout<<"Bilangan biner = ";              
while(bil){                /*awal looping, dengan inisialisasi bil = nilai inputan, kondisi = bil, dan stepnya bil/=2.*/
                     biner[i]=bil%2;//memasukkan hasil modulasi ke variabel biner.
                     bil/=2;              //step untuk looping, yaitu nilai bil dibagi dengan 2.
                     i++;          //nilai i ditambah 1
              }                    //akhir looping

while(i>0){          /*awal looping untuk mengeluarkan hasil konversi, inisilisasi adalah nilai i terakhir dari looping di atas, kondisi i>0, step i--*/
                     i--;          //nilai i dikurang 1
                     cout<<biner[i];//menampilkan hasil konversi dari variabel biner.
              }
       }
       else if (pil == 2){
              int biner,desi,dua;
              dua=1;
              desi=0;
              cout<<"Masukkan Bilangan Biner    : ";
              cin>>biner;          //memasukkan biner
do{                  /*awal looping, dengan inisialisasi biner= nilai inputan, kondisi = biner, dan stepnya bil/=10.*/
                     desi+=(biner%2)*dua;
                     dua*=2;              //nilai variabel dua dikali 2
                     biner/=10;    //nilai biner dibagi 10
              }while (biner);     
              cout<<"Bilangan Desimalnya adalah "<<desi; //menampilkan hasil
       }
       else if (pil == 3){
              return 0;            //kode untuk keluar dr program
       }
       else {
              cout<<"Inputan salah!\n";  //jika inputan pilihan salah, maka akan ditanya lagi.
              goto lagi;
       }
getch();
}


c.       ScreenShot




KASUS 7

7.    Buat program untuk menghitung            Permutasi dan Kombinasi.



b.      Source Code
#include <iostream>
#include <conio.h>

using namespace std;

int main(){
       long n, k, i, f1, f2, f3;         //Deklarasi variabel
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##                      KASUS 7 : PERMUTASI DAN KOMBINASI                     ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"\nMasukkan nilai n = ";cin>>n;
       cout<<"Masukkan nilai k = ";cin>>k;
       f1=f2=f3=1;                       //inisialisasi f1, f2, f3
if(n>k){                          /*seleksi kondisi agar format data benar, yaitu nilai n > k.*/
              for(i=n;i>0;i--){          //perulangan utk menghitung n!
                     f1=f1*i;
              }

              for(i=n-k;i>0;i--){        //perulangan utk menghitung (n-k)!
                     f2=f2*i;
              }

              for(i=k;i>0;i--){          //perulangan utk menghitung k!
                     f3=f3*i;
              }
cout<<"Hasil Permutasi = "<<f1/f2; //menampilkan hasil permutasi dengan rumus n!/(n-k)!
cout<<"\nHasil Kombinasi = "<<f1/(f2*f3); /*menampilkan hasil permutasi dengan rumus n!/(n-k)!k!  */
       } else {
              cout<<"format data salah!"; //jika n < k, maka tampil format data salah!
       }
       getch();
}
c.       ScreenShot




KASUS 8

8.    Buat program untuk membuat tampilan segi empat seperti di bawah ini. Tampilan ditentukan oleh nilai N yang dimasukkan.
Misal: Jika N = 5  
   *****   
   *****   
   *****   
   *****   
   *****
.

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

using namespace std;

int main(){
       int n, i, j;               //deklarasi variabel
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##                    KASUS 8 : TAMPILAN BINTANG SEGIEMPAT                    ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"\nMasukkan jumlah sisi bintang = ";
       cin>>n;
       for(i=1;i<=n;i++){         //perulangan untuk menampilkan baris bintang sejumlah a.
              for(j=1;j<=n;j++){   //perulangan untuk menampilkan kolom bintang sejumlah a.
                     cout<<"*";
              }
              cout<<endl;
       }
       getch();
}
c.       ScreenShot






KASUS 9

9.    Buat program untuk membuat tampilan segi empat seperti di bawah ini. Tampilan ditentukan oleh nilai N yang dimasukkan.
Misal: Jika N = 5  
   1           
   22         
   333       
   4444     
   55555

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

using namespace std;

int main() {
       int n, i, j;
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##                       KASUS 9 : TAMPILAN OLEH ANGKA N                      ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"\nMasukkan bilangan = ";
       cin>>n;
       i=1;
       while(i<=n){
              j=1;
              while(j<=i){
                     cout<<i;
                     j++;
              }
              cout<<endl;
              i++;
       }
       getch();

}

c.       ScreenShot



KASUS 10

10.    Buat program untuk membuat tampilan segi empat seperti di bawah ini. Tampilan ditentukan oleh nilai N yang dimasukkan.  
a.     
Misal: Jika N = 5
   *         
   **       
   ***    
   **** 
   *****               
   **** 
   ***    
   **       
   *         
  
#include <iostream>
#include <conio.h>

using namespace std;

int main(){
       int n, i, j;               //deklarasi variabel
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##                     KASUS 10 : MEMBUAT TAMPILAN SIMETRIS                   ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"\nMasukkan bilangan = ";
       cin>>n;
       i=1;                       //inisialisasi i = 1
       while(i<=n){               //perulangan membuat bintang berbentuk segitiga siku"
              j=1;
              while(j<=i){
                     cout<<"*";
                     j++;
              }
              cout<<endl;
              //=======================awal skrip bintang ke bawah==============>>>>
              if(i==n){            //seleksi jika nilai i = n
while(i>0){   /*perulangan membuat bintang bentuk segitiga siku" kebalikan dari segitiga awal.*/
                           j=1;
                           while(j<i){
                                  cout<<"*";
                                  j++;
                           }
                           i--;
                           cout<<endl;
                     }
break;        /*setelah selesai membuat segitiga ke-2, proses keluar dari perulangan.*/
              }
              //=======================akhir skrip bintang ke bawah==============>>>>
              i++;
       }
       getch();
}
c.       ScreenShot


KASUS 11

11.   Buat program untuk membuat tampilan segi empat seperti di bawah ini. Tampilan ditentukan oleh nilai N yang dimasukkan.
Misal: Jika N = 5  
   1           
   22         
   333       
   4444     
   55555




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

using namespace std;

int main(){
       int n,i,j,k;
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##             KASUS 11 : TAMPILAN SEGITIGA SIKU-SIKU BINTANG                 ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"\nMasukkan bilangan = ";
       cin>>n;
       i=1;
       while(i<=n){
              j=1;
              //========skrip spasi====>>
              k=n-i;
              while(k>0){
                     cout<<" ";
                     k--;
              }
              //========skrip bintang====>>
              while(j<=i){
                     cout<<"*";
                     j++;
              }
              cout<<endl;
              i++;
       }
       getch();
}

c.       ScreenShot




KASUS 12

Misal: Jika N = 5
     *       
   ***    
 ***** 
   ***    
     *       
  
12.   Buat program untuk membuat tampilan segi empat seperti di bawah ini. Tampilan ditentukan oleh nilai N yang dimasukkan. N harus ganjil.


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

using namespace std;

int main(){
       int n,i,j,k;
       cout<<"================================================================================";
       cout<<"##                                                                            ##";
       cout<<"##                  KASUS 12 : MEMBUAT TAMPILAN BELAHKETUPAT                  ##";
       cout<<"##                                                                            ##";
       cout<<"================================================================================";
       cout<<"\nMasukkan bilangan = ";
       cin>>n;
       if(n%2==1){
              i=1;
              while(i<=n){
                     j=1;
                     //======skrip spasi
                     k=(n-i)/2;
                     while(k>0){
                           cout<<" ";
                           k--;
                     }
                     //======== skrip bintang
                     while(j<=i){
                           cout<<"*";
                           j++;
                     }
                     cout<<endl;
                     //=======================awal skrip bintang ke bawah==============>>>>
                     if(i==n){
                           i-=2;
                           while(i>0){
                                  //======skrip spasi
                                  k=(n-i)/2;
                                  while(k>0){
                                         cout<<" ";
                                         k--;
                                  }
                                  j=1;
                                  while(j<=i){
                                         j++;
                                         cout<<"*";
                                  }
                                  i-=2;
                                  cout<<endl;
                           }
                            break;
                     }
                     //=======================akhir skrip bintang ke bawah==============>>>>
                     i+=2;
              }
       } else {
              cout<<"format data salah! bilangan harus ganjil";
       }
       getch();
}



c.       ScreenShot


1 comment: