Rabu, 08 Juni 2011

KONVERSI BILANGAN

Sistem bilangan

Bilangan desimal adalah bilangan yang menggunakan 10 angka mulai 0 sampai 9 berturut2. Setelah angka 9, maka angka berikutnya adalah 10, 11, 12 dan seterusnya. Bilangan desimal disebut juga bilangan berbasis 10. Contoh penulisan bilangan desimal : 1710. Ingat, desimal berbasis 10, maka angka 10-lah yang menjadi subscript pada penulisan bilangan desimal.
Bilangan biner adalah bilangan yang hanya menggunakan 2 angka, yaitu 0 dan 1. Bilangan biner juga disebut bilangan berbasis 2. Setiap bilangan pada bilangan biner disebut bit, dimana 1 byte = 8 bit.  Contoh penulisan : 1101112.
Bilangan oktal adalah bilangan berbasis 8, yang menggunakan angka 0 sampai 7. Contoh penulisan : 178.
Bilangan heksadesimal, atau bilangan heksa, atau bilangan basis 16, menggunakan 16  buah simbol, mulai dari 0 sampai 9, kemudian dilanjut dari A sampai F. Jadi, angka A sampai F merupakan simbol untuk 10 sampai 15. Contoh penulisan : C516.
Konversi bilangan
Konversi Bilangan Desimal ke Biner
n  Konversi bilangan desimal bulat ke bilangan Biner: Gunakan pembagian dgn 2 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban, yaitu sisa yang pertama akan menjadi least significant bit (LSB) dan sisa yang terakhir menjadi most significant bit (MSB).
n  Contoh: Konersi 17910  ke biner:
179 / 2 = 89 sisa 1   (LSB)
/ 2 = 44 sisa 1
/ 2 = 22 sisa 0
/ 2 = 11 sisa 0
/ 2 = 5 sisa 1
/ 2 = 2 sisa 1
/ 2 = 1 sisa 0
/ 2 = 0 sisa 1 (MSB)
Þ  17910  =  101100112
MSB        LSB
Konversi Bilangan Desimal ke Oktal
n  Konversi bilangan desimal bulat ke bilangan oktal: Gunakan pembagian dgn 8 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban, yaitu sisa yang pertama akan menjadi least significant bit (LSB) dan sisa yang terakhir menjadi most significant bit (MSB).
Contoh: Konversi 17910  ke oktal:
179 / 8 = 22 sisa 3   (LSB)
/ 8 = 2 sisa 6
/ 8 = 0 sisa 2 (MSB)
Þ  17910  =  2638
MSB   LSB
Konversi Bilangan Desimal ke Hexadesimal
n  Konversi bilangan desimal bulat ke bilangan hexadesimal: Gunakan pembagian dgn 16 secara suksesif sampai sisanya = 0. Sisa-sisa pembagian membentuk jawaban, yaitu sisa yang pertama akan menjadi least significant bit (LSB) dan sisa yang terakhir menjadi most significant bit (MSB).
Contoh: Konversi 17910  ke hexadesimal:
179 / 16 = 11 sisa 3   (LSB)
/ 16 = 0 sisa 11 (dalam bilangan hexadesimal berarti B)MSB
Þ  17910  =  B316
MSB  LSB
Dan masih bayak lagi konversi bilangan baik dari biner, oktal, maupun heksadesimal.

Untuk program konversi bisa di download di :
http://www.4shared.com/file/p9ZP0ZzZ/konversi.html

MOHON MEMBERI KOMENTAR.
TERIMA KASIH.

Jumat, 03 Juni 2011

JUMLAH, KURANG, KALI, BAGI

Algoritma Jumlah, Kurang, Kali, Bagi
{menampilkan hasil jumlah, kurang, klai, bagi }
Deklarasi :
p : integer
x  : integer
y : integer
hasil : double
Deskripsi :
ostr<<"TOTAL JUMLAH : "<<p.x+p.y<<endl;
ostr<<"TOTAL KURANG : "<<p.x-p.y<<endl;
ostr<<"TOTAL KALI : "<<p.x*p.y<<endl;
ostr<<"TOTAL BAGI : "<<p.x/p.y<<endl;


Listing

#include <cstdlib>
#include <iostream>

using namespace std;
class jumlah{
      friend istream& operator>>(istream&,jumlah&);
      friend ostream& operator<<(ostream&,const jumlah&);
      public :
            jumlah (int a=0,int b=0):x(a),y(b) {}
            double hasil();
    //   operator double()const;
      private:
              double x,y;
              double jum;
           //    void reduce();
             };
int main(int argc, char *argv[])
{
    int jum;
    jumlah a,b;
    //jumlah b;
    cin>>a;
    cin>>b;
   
    cout<<a<<endl;
    cout<<b<<endl;
  
//jum=(a+b);
//    cout<<jum;
    system("PAUSE");
    return EXIT_SUCCESS;
}

//jumlah::jumlah (int a) {
//x+y;
 //            }          

//jumlah::operator double(){
 //                return double x+y;}
 double jumlah::hasil(){
        return x+y;}

istream& operator>>(istream& istr,jumlah& p){
      cout<<"Masukan Nilai ke-1  : ";istr>>p.x;
      cout<<"Masukan Nilai ke-2  : ";istr>>p.y;
      cout<<endl;
      return istr;
     
       }
ostream& operator<<(ostream& ostr,const jumlah& p){
         ostr<<"TOTAL JUMLAH : "<<p.x+p.y<<endl;
         ostr<<"TOTAL KURANG : "<<p.x-p.y<<endl;
         ostr<<"TOTAL KALI : "<<p.x*p.y<<endl;
         ostr<<"TOTAL BAGI : "<<p.x/p.y<<endl;
         return ostr;
        }

PERMUTASI

Algoritma Permutasi
{menampilkan hasil kombinasi  n C r   = (n!) /(n-r)! }
Deklarasi :
n : integer
r  : integer
int f;
Deskripsi :
if ( n < 0) return 0;
int f = 1;
while (n >1)
f* = n--;
return f;
if  (n < 0 || r < 0 || n < r)
return factorial(n)/ factorial(n-r) ; }

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

using namespace std;
int faktorial(int n){
if (n<0) return 0;
int f =1;
while (n>1) f*=n--;
return f;
}

int permutasi(int n, int r){
if (n<0 || r<0||n<r) return 0;
return faktorial(n)/faktorial(n-r);
}

int kombinasi(int n, int r){
if (n<0 || r<0 || n < r) return 0;
return faktorial(n)/(faktorial(n-r)*faktorial(r));
}

int main(int bil_pertama, int bil_kedua){
    cout<<"\n";
    cout<<"NUR KAHFI IBRAHIM\n";
    cout<<"09018238\n";
    cout<<"\n";
    cout<<"|||||||||||||||||||||||||||\n";
    cout<<"|                         |\n";
    cout<<"| PERMUTASI DAN KOMBINASI |\n";
    cout<<"|                         |\n";
    cout<<"|||||||||||||||||||||||||||\n";
    cout<<"\n";
    cout<<"Masukan bilangan pertama : ";
    cin>>bil_pertama;
    cout<<"\n";
    cout<<"Masukan bilangan kedua   : ";
    cin>>bil_kedua;
    cout<<"\n";
    cout<<"HASIL PERMUTASI = "<<permutasi(bil_pertama,bil_kedua)<<endl;
    cout<<"HASIL KOMBINASI = "<<kombinasi(bil_pertama,bil_kedua)<<endl;
    getch();
    }

KOMBINASI

Algoritma Kombinatorial
{menampilkan hasil kombinasi  n C r   = (n!) /(n-r)! . r! }
Deklarasi :
n : integer
r  : integer
int f;
Deskripsi :
if ( n < 0) return 0;
int f = 1;
while (n >1)
f* = n--;
return f;
if  (n < 0 || r < 0 || n < r)
return factorial(n)/(factorial(n-r) * factorial(r)); }


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

using namespace std;
int faktorial(int n){
if (n<0) return 0;
int f =1;
while (n>1) f*=n--;
return f;
}

int permutasi(int n, int r){
if (n<0 || r<0||n<r) return 0;
return faktorial(n)/faktorial(n-r);
}

int kombinasi(int n, int r){
if (n<0 || r<0 || n < r) return 0;
return faktorial(n)/(faktorial(n-r)*faktorial(r));
}

int main(int bil_pertama, int bil_kedua){
    cout<<"\n";
    cout<<"NUR KAHFI IBRAHIM\n";
    cout<<"09018238\n";
    cout<<"\n";
    cout<<"|||||||||||||||||||||||||||\n";
    cout<<"|                         |\n";
    cout<<"| PERMUTASI DAN KOMBINASI |\n";
    cout<<"|                         |\n";
    cout<<"|||||||||||||||||||||||||||\n";
    cout<<"\n";
    cout<<"Masukan bilangan pertama : ";
    cin>>bil_pertama;
    cout<<"\n";
    cout<<"Masukan bilangan kedua   : ";
    cin>>bil_kedua;
    cout<<"\n";
    cout<<"HASIL PERMUTASI = "<<permutasi(bil_pertama,bil_kedua)<<endl;
    cout<<"HASIL KOMBINASI = "<<kombinasi(bil_pertama,bil_kedua)<<endl;
    getch();
    }