Selasa, 27 Mei 2014

Program sederhana mencari nilai PBB dengan C/C++

#include <iostream>
#include <stdio.h>
#include <conio.h>
#define max 20
using namespace std;

int main()
{
   int bil1, bil2, sisa,hasil,a,b;
   int ksisa[max],i=0;
   printf("Masukkan Nilai m : ");
   scanf("%d", &bil1);
   printf("Masukkan Nilai n : ");
   scanf("%d", &bil2);
   printf("\n");
   printf("%d mod %d : %d\n\n", bil1, bil2, bil1%bil2);

   a = bil1;
   b = bil2;
   for(;;){
    sisa = a % b;
    hasil = a / b;
    ksisa[i] = sisa;
    i++;
    printf("%-6d = %-3d . %-4d + %-3d\n", a, hasil, b, sisa);
    a = b;
    b = sisa;
    if (sisa == 0) break;
   }
    int j=i-2;
    printf("\nPBB (%d,%d) : %d\n\n", bil1, bil2,ksisa[j] );
    printf("Create by : Erwin Mardinata");

   
    return 0;
}


Antrian pada C++

#include <iostream>
#include <stdlib.h>
#include <conio.h>
#define max 7

using namespace std;

main(){
    int antrian[max];
    int depan=-1;
    int belakang=-1;
    int pil,i;

    for(;;){
        system("cls");
        cout<<"1. Masukkan Antrian\n";
        cout<<"2. Ambil Antrian\n";
        cout<<"3. Lihat Antrian\n";
        cout<<"4. Hapus Antrian\n";
        cout<<"5. keluar\n";
        cout<<"Masukkan Pilihanmu Bro : ";
        cin>>pil;
        switch (pil){

        case 1 : if (depan==0 && belakang==max-1){
                  cout<<"Data Antrian Full\n";}else
                  if (depan==-1 && belakang ==-1){
                  depan=belakang=0;
                  cout<<"Masukkan Data Antrian : ";
                  cin>>antrian[belakang];}else{
                  belakang++;
                  cout<<"Masukkan Data Antrian : ";
                  cin>>antrian[belakang];}
                  break;
        case 2 : if (depan == -1 && belakang == -1){
                 cout<<"Data Kosong!!!\n";}else{
                 cout<<"Data yang diambil : "<<antrian[depan];
                 for (i=depan; i<=belakang; i++){
                    antrian[i]=antrian[i+1];
                    belakang--;
                 }
                 if (belakang==-1){
                    depan=-1;
                 }
                 }
                  break;
        case 3 : if (depan==-1 && belakang ==-1){
                  cout<<"Antrian Kosong !!!\n";}else{
                  for (i=depan; i<=belakang; i++){
                    cout<<"Data Antrian ke-"<<i+1<<" : "<<antrian[i]<<endl;
                  }
                  }
                  break;
        case 4 : depan=belakang=-1;
                  cout<<"Data Antrian Berhasil dihapus!!!\n";
                  break;
        }
        getch();
        if (pil == 5) break;
    }

    return 0 ;
}

Sabtu, 10 Mei 2014

Mengubah Bilangan Desimal ke Biner

oke gan... kali ini saya membpostingkan tugas baru saya tentang Stack pada C++...!!!

Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First
Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang
dikeluarkan dari stack. 

berikut source code tugas saya tentang mengubah bilangan desimal ke biner...

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

using namespace std;

class DesimaltoBiner {
   private :
       stack<int>p;
       int desimal;
   public :
   void proses(){
    cout<<"Masukkan bilangan desimal : ";
    cin>>desimal;
    for (;;){  //tubuh looping
    p.push(desimal); //proses memasukkan nilai desimal kestack sampai perulangan selesai
    desimal = desimal / 2; //membagi nilai desimal berulang sampai nilai salah
    if (desimal < 1 )  //statemen keluar dari loop jika nilai kurang dari 1
    break;
    }
   }
   void hasil(){
    for (;;) //tubuh looping
    {
        cout<<p.top()%2<<" "; //medafatkas sisi hasil bagi 2 dari tumpukan teratas
    p.pop(); //mengeluarkan elemen terakhir untuk dibalik menjadi elemen pertama dan seterusnya
        if (p.empty()) //perulangan akan keluar jika
            break;     //stack p bernilai kosong
    }
   }
};

int main()
{
    DesimaltoBiner x;

    x.proses(); //memanggil fungsi proses didalam kelas DesimaltoBiner
    x.hasil();  ////memanggil fungsi hasil didalam kelas DesimaltoBiner

    return 0;
}

oke gan... terima kasih atas kunjungannya,,, semoga bermanfaat....

Minggu, 04 Mei 2014

Kalkulator dengan OOP pada C++

Selamat datang Agan-agan diblog ini...

untuk artikel pertama diblog ini, saya akan mempostingkan source kode program kalkulator sederhana dengan OOP pada C++.

mungkin program ini bisa menjadi referensi agan-agan untuk belajar c++.
oke gan , berikut source codenya :

#include <iostream>
#include <string>

using namespace std;

class kalkulator {
  protected :           //menyatakan perintah yang berada didalam kelas kalkulator bisa dikenal di class dibawahnya
      float bil1;
      float bil2;
      float hasil;
  public :               //menyatakan method/perintah dibawahnya bisa diakses diluar kelas
  void jumlah(){
      cout<<"masukkan bil1 : "; cin>>bil1;
      cout<<"masukkan bil2 : "; cin>>bil2;
      cout<<endl;
      hasil = bil1 + bil2;
      cout<<"Hasil : "<<hasil<<endl;
  }
};
class kal_science : public kalkulator{  //memanggil kelas kalkulator agar dikenal didalam kelas ini
      private :  //menyatakan variable yang berada didalam kelas ini hanya dikenal didalam kelas ini
          float bil3;
      public :   //menyatakan method/perintah yang ada didalamnya bisa diakses dalam fungsi main()
      void hitung_kuadrat(){
        cout<<"masukkan bilangan : "; cin>>bil3;
        hasil=bil3*bil3;
        cout<<"Kuadrad dari "<<bil3<<" : "<<hasil<<endl;
      }
      void rata2(){
        cout<<"Masukkan nilai 1 : "; cin>>bil1;
        cout<<"Masukkan nilai 2 : "; cin>>bil2;
        cout<<"Masukkan nilai 3 : "; cin>>bil3;
        cout<<endl;
        hasil = (bil1+bil2+bil3)/3;
        cout<<"Rata-rata adalah : "<<hasil<<endl;
      }

};
class kal_dagang : public kalkulator{  //memangil kelas kelas kalkulator agar dikelan didalam kelas ini
    public :  //menyatakan method/perintah dibawahnya bisa diakses diluar kelas
    void kurang(){
      cout<<"Masukkan bilangan 1 : "; cin>>bil1;
      cout<<"Masukkan bilangan 2 : "; cin>>bil2;
      cout<<endl;
      hasil= bil1-bil2;
      cout<<"Hasil : "<<hasil<<endl;
    }
    void kali(){
      cout<<"Masukkan bilangan 1 : "; cin>>bil1;
      cout<<"Masukkan bilangan 2 : "; cin>>bil2;
      cout<<endl;
      hasil= bil1*bil2;
      cout<<"Hasil : "<<hasil<<endl;
    }
    void bagi(){
      cout<<"Masukkan bilangan 1 : "; cin>>bil1;
      cout<<"Masukkan bilangan 2 : "; cin>>bil2;
      cout<<endl;
      hasil= bil1/bil2;
      cout<<"Hasil : "<<hasil<<endl;
    }
};
int main(){
   kalkulator a;  //membungkus method-method didalam class kalkulator kedlm satu variable a
   kal_science b; //membungkus method-method didlm class kal_science kdlm satu variable a
   kal_dagang c;  //membungkus method-method didlm class kal_dagang kdlm satu variable a
   int pil;
   cout<<"KALKULATOR\n";
   cout<<"1. Hitung Kudrad\n";
   cout<<"2. Hitung Rata-rata\n";
   cout<<"3. Tambah\n";
   cout<<"4. Kurang\n";
   cout<<"5. Kali\n";
   cout<<"6. Bagi\n";
   cout<<"Pilih : "; cin>>pil;
     switch (pil){
       case 1 : b.hitung_kuadrat();  //proses pemanggilan dari masing-masing kelas
                break;
       case 2 : b.rata2();          //proses pemanggilan dari masing-masing kelas
                break;
       case 3 : a.jumlah();         //proses pemanggilan dari masing-masing kelas
                break;
       case 4 : c.kurang();         //proses pemanggilan dari masing-masing kelas
                break;
       case 5 : c.kali();           //proses pemanggilan dari masing-masing kelas
                break;
       case 6 : c.bagi();           //proses pemanggilan dari masing-masing kelas
                break;
       default : cout<<"Silakan pilih ulang"<<endl;
                 break;
     }
   return 0;
}


terima kasih atas kujungannya gan... semoga bermanfaat...

Universitas Teknologi Sumbawa
I Made Widiarta