Sabtu, 23 Maret 2013

Contoh Program dengan Bahasa C++

Dibawah ini saya akan mencoba untuk menulis contoh-contoh program sederhana yang menggunakan bahasa C++.
Program sederhana yang saya tulis diantaranya :
  •  konversi jam, menit dan detik
  •   konversi dari cm ke km,m,cm menggunakan modulus
  •   Konversi desimal ke hexa, biner dan oktal
  •   Menghitung akar persamaan kuadrat
  •   Menghitung deret fibonaci dengan looping for
  •  Membuat huruf F dengan karakter *
  •  Membuat huruf H
  •   Menampilkan bilangan ganjil 1-100
  •  Menghitung luas persegi panjang dan volume balok dengan fungsi
  •  Menghitung luas alas, luas permukaan dan volume kerucut
  •   Penjumlahan dan perkalian(hanya menggunakan operator +)
  •  Menghitung luas persegi dan luas segitiga switch case
  •   Matriks ordo 2x2, transpose dan jumlahnya
  •   Mencari nilai mean (rata-rata) dalam array satu dimensi (panjang array 5).
  •   Membuat dan menulis data ke dalam dua file
  •   Membuat struct secara dinamis

Dibawah ini adalah contoh program sederhananya :

1. Konversi jam, menit dan detik

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

void main (){
        int jam =3600;
        int menit =60;
        int a, b, c, d, e, f;
        a=4*jam+56*menit+12;
        b=3*jam+21*menit+56;
        c=10*jam+34*menit+1;
        d=8*jam+32*menit+31;
        e=6*jam+42*menit+11;
        f=a+b+c+d+e;
        cout<<"hasil dari 4jam 56 menit 12 detik kedetik adalah "<<a<<endl;
        cout<<"hasil dari 3jam 21 menit 56 detik kedetik adalah "<<b<<endl;
        cout<<"hasil dari 10jam 34 menit 1 detik kedetik adalah "<<c<<endl;
        cout<<"hasil dari 8jam 32 menit 31 detik kedetik adalah "<<d<<endl;
        cout<<"hasil dari 6jam 42 menit 11 detik kedetik adalah "<<e<<endl;
        cout<<"jumlah total dari konversi tersebut adalah "<<f<<endl;
getch ();        
}

2. konversi dari cm ke km,m,cm menggunakan modulus
#include <iostream.h>
#include <conio.h>

void main () {
     int cm,m,km,a,b,c;
     cout<<"konversi dari cm ke km,m,cm:"<<endl;
     cout<<"masukan nilai a:";
     cin>>a;
     km=a/100000;
     b=a%100000;
     m=b/100;
     c=b%1000;
     cm=c;
     cout<<endl<<endl;

     cout<<"km="<<a/100000<<endl<<endl;
     cout<<"m="<<b/100<<endl<<endl;
     cout<<"cm="<<c<<endl<<endl;
getch ();
}

3. Konversi desimal ke hexa, biner dan oktal
cout<<"Program Konversi Bilangan\n\n";
cout<<"Masukkan bilangan desimal : ";
cin>>input;
dectohex(input);
dectobin(input);
dectooc(input);
getch();
}

void dectobin(int input)
{    
cout << input <<" dalam Biner adalah ";
for(int x=0; x<input;)
{
++counter;
c[counter] = input % 2;
input = input / 2;
}
while(counter>0)
{
cout << c[counter];
--counter;
}
cout<<"\n";
}

void dectohex(int input)
{
cout << input <<" dalam Hexadesimal adalah ";
for(int x=0; x<input;)
{
++counter;
c[counter] = input % 16;
input = input / 16;
}

while(counter>0)
{
if(c[counter]==15)
{
cout<<"F";      
}
else if(c[counter]==14)
{
cout<<"E";
}
else if(c[counter]==13)
{
cout<<"D";
}
else if(c[counter]==12)
{
cout<<"C";
}
else if(c[counter]==11)
{
cout<<"B";
}
else if(c[counter]==10)
{
cout<<"A";
}
else
{
cout<<c[counter];
}
--counter;
}
cout<<"\n";
}

void dectooc(int input)
{    
cout << input <<" dalam Oktal adalah ";
for(int x=0; x<input;)
{
++counter;
c[counter] = input % 8;
input = input / 8;
}
while(counter>0)
{
cout << c[counter];
--counter;
}
cout<<"\n";
}

4. Menghitung akar persamaan kuadrat



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

   void main () {
   float a,b,c,x1,x2;

   cout<<"masukan nilai a : ";
   cin>>a;
   cout<<"masukan nilai b : ";
   cin>>b;
   cout<<"masukan nilai c : ";
   cin>>c;

   cout<<endl<<endl;
   x1=(b+sqrt(b*b-4*a*c))/2*a*c;
   x2=(b-sqrt(b*b-4*a*c))/2*a*c;

   cout<<"x1="<<x1<<endl<<endl;
   cout<<"x2="<<x2<<endl<<endl;

getch ();
}

5. Menghitung deret fibonaci dengan looping for



#include <iostream.h>

#include <conio.h>



void main () {
int a,b,c,i;
cout<<"program menghitung deret fibonaci"<<endl<<endl;

    cout<<"masukan bilangan pertama=";
    cin>>a;
    cout<<"masukan bilangan kedua=";
    cin>>b;

    for (i=0; i<=10; i++){
    c=a+b;

    cout<<c<<endl;
    a=b;
    b=c;
    }
getch ();
}

6.Membuat huruf F dengan karakter *

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

void main () {
  char a='*';
  int f,i,c;

  cout<<"masukan nilai tinggi:";
  cin>>f;
  for(i=1; i<=f; i++){
  cout<<a;
  if(i==1)
  for(c=1; c<=3; c++)
  cout<<a;
  if(i==3)
  for(c=1; c<=3; c++)
  cout<<a;
  cout<<endl;
  }
getch ();
}


7. Membuat huruf H
#include <iostream>
#include <conio>
main (){
    int angka;

    cout <<"Masukkan Nilai : ";
    cin >> angka;

   for(int a=1; a<=angka; a++)
  {
     for(int i=0; i<angka; i++)
    {
       if(i<1 || i == angka-1)
    {
    cout<<"#";
}

else if(a == (angka/2)+1)
{
cout<<"#";
}
else
{
cout<<" ";
}
}
cout<<endl;
}
getch();
}




8. Menampilkan bilangan ganjil 1-100
#include <iostream.h>


#include <conio.h>

int main (){
int a,b,i;
a=-1;
   cout<<"bilangan ganjil (1_100) adalah:"<<endl;

   for (i=1;i<=50;i++)
   {

   b=2+a;

   cout<<b<<" ";
   a=b;
   }
getch ();
}  




9. Menghitung luas persegi panjang dan volume balok dengan fungsi



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

int volume(int &l){
  int t;
  cout<<"masukan nilai t :";
  cin>>t;
  l =l*t;
  return l;
}

int luas(int p, int l)  {
   int x;
   x=p*l;
   cout<<"tampilkan nilai luas :"<<x<<endl;
   volume(x);
   return x;
}

void main (){
  int p,l,j;
  cout<<"masukan nilai p :";
  cin>>p;
  cout<<"masukan nilai l :";
  cin>>l;
  j=luas(p,l);
  cout<<"volume balok adalah : "<<j<<endl;

getch();
} 

10. Menghitung luas alas, luas permukaan dan volume kerucut
#include <iostream>
#include <conio>
#define phi 3.14

void main(){

   float r_alas, r_selimut, t, volume_krucut, luas_alas, luas_selimut;

    cout<<"maksukkan jari jari alas = ";
    cin>>r_alas;
    cout<<"maksukkan jari jari selimut = ";
    cin>>r_selimut;
    cout<<"masukkan tinggi kerucut = ";
    cin>>t;

    luas_alas=phi*r_alas*r_alas;
    volume_krucut=luas_alas*t;
    luas_selimut=phi*r_selimut*r_selimut/3;

    cout<<"luas_alas adalah "<<luas_alas<<endl;
    cout<<"volume_krucut "<<volume_krucut<<endl;
    cout<<"luas permukaan krucut "<<(luas_selimut+luas_alas);
getch();    
}




11. Penjumlahan dan perkalian(hanya menggunakan operator +)

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

int tambah (int a,int b) {
  int x;
  x=a+b;
  return x;
}

int kali (int a,int b){
  int y;
  for (int i=1; i<=b; i++) {
  y=y+a;
}
  return y;
}
void main (){
  int a,b,x,y;

  cout<<"nilai a : ";
  cin>>a;
  cout<<"nilai b : ";
  cin>>b;
  x=tambah(a,b);
  cout<<"hasil tambah : "<<x<<endl;
  y=kali(a,b);
  cout<<"hasil kali : "<<y<<endl;

getch ();   
}

12. Menghitung luas persegi dan luas segitiga switch case

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

int segitiga (int alas, int t) {
    int LS;
    LS=0.5*alas*t;
    return LS;
}

int persegi (int s){
    int LP;
    LP=s*s;
    return LP;
}

void main () {
    int a;
    float lagi, LP,LS,s,alas,t;
    clrscr();

    cout<<" 1. Menghitung Luas Persegi."<<endl;
    cout<<" 2. Menghitung Luas Segitiga."<<endl;

    cout<<"masukan pilihan : ";cin>>a;

switch (a){
    case 1: cout<<"masukan sisi ";
    cin>>s;
    LP=persegi(s);
    cout<<"luas persegi adalah "<<LP;
    break;
    case 2: cout<<"Masukkan alas ";
    cin>>alas;
    cout<<"Masukkan tinggi ";
    cin>>t;

   LS=segitiga (alas,t);
   cout<<"Luas segitiga adalah "<<LS;
   break;
}


getch ();
}




13. Matriks ordo 2x2, transpose dan jumlahnya
#include <conio.h>

#include <iostream.h>

void main(){
    int A[2][2], B[2][2], C[2][2];

    cout<<"Masukan Matriks A\n"<<endl;
    for(int i=0;i<2;i++)
    {
       for(int j=0;j<2;j++)
       {
          cout<<"A["<<i<<"]["<<j<<"]: ";
          cin>>A[i][j];
       }
    }
   cout<<"\n\n";

   cout<<"Matriks\n";
   for(int i=0;i<2;i++)
   {
      for(int j=0;j<2;j++)
      {
         cout<<" "<<A[i][j];
      }
      cout<<"\n"<<endl;
   }

    cout<<"transpose matrik"<<endl;
    for(int i=0;i<2;i++)
    {
       for(int j=0;j<2;j++)
       {
           B[j][i]=A[i][j];
       }
    }
    for(int i=0;i<2;i++)
    {
       for(int j=0;j<2;j++)
       {
            cout<<" "<<B[i][j];
       }
         cout<<"\n"<<endl;
    }

 cout<<"jumlah A + B : "<<endl;
 for(int i=0;i<2;i++)
    {
       for(int j=0;j<2;j++)
       {
            C[i][j]=B[i][j]+A[i][j];
       }
    }

 for(int i=0;i<2;i++)
    {
       for(int j=0;j<2;j++)
       {
            cout<<" "<<C[i][j];
       }
         cout<<"\n"<<endl;
    }

getch();



14. Mencari nilai mean (rata-rata) dalam array satu dimensi (panjang array 5).
#include <iostream.h>
#include <conio.h>
#define n 5

void data(float a[n]){
   for(int i=0;i<n;i++){
    cout<<"data ke "<<i<<" : ";
     cin>>a[i];
   }
}
float meandata(float a[n]){
    float d=0;
    for(int i=0;i<n;i++){
    d+=a[i];
   }
   return d/n;
}
void main(){
   float a[n], mean,tampil;
   data(a);
  
   mean=meandata(a);
   cout<<endl;
   cout<<"Mean \t: "<<mean<<endl;

getch();
}

15 . Membuat dan menulis data ke dalam dua file

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

void main () {

char nama [20];
char nim [20];
int jumlah;
     char dosen [20];
     char mk [20];
     int jum;

     cout<<"masukan jumlah mahasiswa :";
     cin>>jumlah;
   cout<<"masukan jumlah DOSEN :";
     cin>>jum;

     ofstream save;
     save.open ("mahasiswa.txt", ios::app);
     for (int i=1; i<=jumlah; i++){
     cout<<"Nama :";
   cin>>nama;
     save<<"NAMA :"<<nama<<endl;

     cout<<"Nim :";
   cin>>nim;
     save<<"NIM :"<<nim<<endl;
   }
   save.close();

     save.open ("dosen.txt", ios::app);
     for (int i=1; i<=jum; i++){
     cout<<"NAMA DOSEN :";
     cin>>dosen;
     save<<"NAMA DOSEN :"<<dosen<<endl;

     cout<<"MK :";
     cin>>mk;
     save<<"MK :"<<mk<<endl;
       }
   save.close();
}

16. Membuat struct secara dinamis
#include<conio.h>
#include<iostream.h>

struct mahasiswa{
  char nim[15];
  char nama[30];
  char alamat[50];
};

void main(){
   mahasiswa mhs;
   cout<<"Nama   : "; cin>>mhs.nama;
   cout<<"Nim    : "; cin>>mhs.nim;
   cout<<"Alamat : "; cin>>mhs.alamat;

   cout<<endl<<endl;

   cout<<"Nim Anda    : "<<mhs.nim<<endl;
   cout<<"Nama Anda   : "<<mhs.nama<<endl;
   cout<<"Alamat Anda : "<<mhs.alamat<<endl;

getch(); 
}