Jumat, 08 Juli 2011

Array 2 dimensi menjadi 1 dimensi

 berikut adalah contoh program dari merubah array 2 dimensi menjadi 1 dimensi menggunakan bahasa pemrograman C++ :


#include <cstdlib>
#include <iostream>


using namespace std;
class array{
      private:
              char d[00][100],e[200];
              int a,b,c;
      public:
             void inputan();
             void proses();
             void keluar();
};


void array::inputan(){
     cout<<"masukan baris :";
     cin>>a;
     cout<<"masukan kolom : " ;
     cin>>b;
     
     for(int i=0;i<a;i++){
             for(int j=0;j<b;j++){
                     cout<<"masukan data array ke-["<<i<<"],["<<j<<"] : ";
                     cin>>d[i][j];}}
}


void array::proses(){
     int k=0;
     for(int i=0;i<a;i++){
             for(int j=0;j<b;j++){
                     d[i][j]=e[k];k=k+1;
                     }
                     }
                     }
void array::keluar(){
     cout<<"data awal yang dimasukan :"<<endl;
     for(int i=0;i<a;i++){cout<<"[";
     for(int j=0;j<b;j++){
             cout<<d[i][j];}cout<<"]"<<endl;}
             
     cout<<"data yang sudah dipindah : "<<endl<<"["; 
     for(int i=0;i<(a*b);i++){
             cout<<e[i];
             }cout<<"]";
             }
int main(int argc, char *argv[])
{
    array a;
    a.inputan();
    a.proses();
    a.keluar();
    system("PAUSE");
    return EXIT_SUCCESS;
}

permutasi adalah menggabungkan beberapa objek dari suatu grup dengan memperhatikan urutan. Di dalam permutasi, urutan diperhatikan.
{1,2,3} tidak sama dengan {2,3,1} dan {3,1,2}
Contoh: Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?

berikut contoh program dalam bahasa C++:

#include<iostream.h>
#include<conio.h>
int faktorial(int x);
void main(){
int n,r,permutasi;
   cout<<"Program Permutasi (nPr)"<<endl;
   cout<<"masukan nilai n : ";
   cin>>n;
   cout<<"masukan nilai r : ";
   cin>>r;

   permutasi=faktorial(n)/faktorial(n-r);
   cout<<endl<<"Hasil Permutasi (nPr) : "<<permutasi;
getch();
}
int faktorial(int n){
float fak;
   if(n<=1){
    fak=1;
      }
   else{
    fak=n*faktorial(n-1);
      }
   return (fak);
   }

combinasi menggunakan Bahasa Pemrograman C++

Kombinasi adalah menggabungkan beberapa objek dari suatu grup tanpa memperhatikan urutan. Di dalam kombinasi, urutan tidak diperhatikan.
{1,2,3} adalah sama dengan {2,3,1} dan {3,1,2}.
Contoh: Seorang anak hanya diperbolehkan mengambil dua buah amplop dari tiga buah amplop yang disediakan yaitu amplop A, amplop B dan amplop C. Tentukan ada berapa banyak kombinasi untuk mengambil dua buah amplop dari tiga buah amplop yang disediakan?

contoh menggunakan bahasa pemrograman C++:

#include<iostream.h>
#include<conio.h>
int faktorial(int x);
void main(){
   int n,r,combinasi;
   cout<<"Program com (nCr)"<<endl;
   cout<<"masukan nilai n : ";
   cin>>n;
   cout<<"masukan nilai r : ";
   cin>>r;

   combinasi=faktorial(n)/(faktorial(r)*faktorial(n-r));
   cout<<endl<<"Hasil Permutasi (nPr) : "<<combinasi;
getch();
}
int faktorial(int n){
float fak;
   if(n<=1){
    fak=1;
      }
   else{
    fak=n*faktorial(n-1);
      }
   return (fak);
   }

Faktorial menggunakan Bahasa C++

Bilangan faktorial adalah perkalian antara bilangan bulat positif yang kurang dari atau sama dengan n. Faktorial biasanya ditulis dengan n! dan biasa disebut dengan n faktorial.


berikut adalah program dengan menggunakan bahasa C++

#include<iostream.h>

#include<conio.h>
class lukman{
                friend ostream& operator<<(ostream&,lukman&);
                friend istream& operator>>(istream&,lukman&);
public:
                lukman();
                lukman_faktorial(){
                faktor=1;
                for(int i=1;i<=angka;i++){
                faktor=faktor*i;
                cout<<i<<"*";
               }
               cout<<endl;
               }
private:
                int angka;
                float faktor;
   };
lukman::lukman(){
                cout<<"Ini program Faktorial saya "<<endl;
              cout<<"+++++++++++++++++++++++++++"<<endl;
   }
istream& operator>>(istream& in,lukman& masuk){
                cout<<"Masukan angka : ";
               in>>masuk.angka;
                return in;
   }
ostream& operator<<(ostream& out,lukman& metu){
                cout<<"Hasil faktorial : ";
                out<<metu.faktor;
               return out;
   }
  main(){
  lukman x;
   cin>>x;
   x.lukman_faktorial();
   cout<<x;
   getch();
   return 0;
   }

Bilangan Fibonanci menggunakan Java

Bilangan fibonacci adalah bilangan yang berasal dari penjumlahan dua bilangan sebelumnya, untuk menghitungnya dapat menggunakan cara rekursif atau non-rekursif. Biasanya fibonacci digunakan untuk mengukur kemampuan anda dalam penggunaan looping dan kondisi dalam pemrograman.




public void fibonacci(int akhir) {
int a = 0;
int b = 1;
while (a < akhir) {
System.out.println(a);
int temp = a + b;
a = b;
b = temp;
}
}

fungsi fibonacci secara rekursif:
 

public int fibonaci(int akhir){
if(akhir < 2)
return 1;
else
return fibonaci(akhir-1)+fibonaci(akhir-2);
};

Rabu, 29 Juni 2011

Memberi Nilai Array Dengan Pointer

    array adalah suatu tipe data terstruktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi. Nah slah satu nya adalah  "MEMBERI NILAI ARRAY DENGAN POINTER" berikut salah satu bentuk Program nya silah kan dipahami dan di mengerti.


#include<iostream.h>

#include <conio.h>
void main()
{ int x[5], *p, k;
clrscr();
p = x;
x[0] = 5;
x[1] = x[0];
x[2] = *p + 2;
x[3] = *(p+1) - 3;
x[4] = *(x + 2);
for(k=0; k<5; k++)
cout<<"x["<<k<<"] = "<< x[k]<<"\n";
getch();
}

Operasi Aritmatika & Operasi Logika dengan Pointer

Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer
saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.
Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index selanjutnya)
dalam memori. Begitu juga operasi pengurangan.

//Contohnya
#include <iostream.h>
#include <conio.h>
void main()
{ int nilai[3], *penunjuk;
clrscr();
nilai[0] = 125;
nilai[1] = 345;
nilai[2] = 750;
penunjuk = &nilai[0];
cout<<"Nilai "<<*penunjuk <<" ada di alamat memori " <<penunjuk<<"\n";
cout<<"Nilai "<<*(penunjuk+1) <<" ada di alamat memori " <<penunjuk+1<<"\n";
cout<<"Nilai "<<*(penunjuk+2) <<" ada di alamat memori " <<penunjuk+2<<"\n";
getch();
}


Suatu pointer juga dapat dikenai operasi logika.

//Contoh
#include<iostream.h>
#include <conio.h>
void main()
{ int a = 100, b = 200, *pa, *pb;
clrscr();
pa = &a;
pb = &b;
cout<<"nilai pa= "<<pa<< " nilai pb= "<<pb<<"\n";
if(pa < pb)
cout<<"pa menunjuk ke memori lebih rendah dari pb\n";
if(pa == pb)
cout<<"pa menunjuk ke memori yang sama dengan pb\n";
if(pa > pb)
cout<<"pa menunjuk ke memori lebih tinggi dari pb\n";
getch();
}