Jumat, 18 Mei 2012

Program Kombinasi dari suatu bilangan dengan 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?
Solusi: Ada 3 kombinasi yaitu; A-B, A-C dan B-C.
berikut adalah program dari combinmasi silahkan dipahami semoga dapat membantu masalah anda :

#include<iostream.h>
#include<conio.h>
int faktorial (int x);
void main()
{
    int n,r, kombinasi;
    cout<<" Program Menghitung Kombinasi(nCr)"<<endl;
    cout<<" Masukkan Nilai n : "; cin>>n;
    cout<<" Masukkan Nilai r : "; cin>>r;
    kombinasi=faktorial(n)/(faktorial(r)*faktorial(n-r));
    cout<<" Kombinasinya adalah: "<<kombinasi;
    getch();
}
    int faktorial (int n)
{
    int fak;
    if (n<=1)
    {
    fak=1;
    }
    else
    {
    fak=n*faktorial(n-1);
    }
    return (fak);
}
 

nah begitulah proram ini saya buat ,,,,,!  apabila ada yang kurang jelass tau pun kesalahan jangan sungkan untuk tinggalkan unek-unek ataun saran. terimakasihh atas kunjungan nya ,,

Algoritma dan program kombinasi

Algoritma :
Deklarasi
    n, r, i                                     : integer
    faktorn,  faktorr, faktornr    : integer
    hasil                                    : integer
Deskripsi
    read n
    read r
    faktorn    <- 1
    faktorr    <- 1
    faktornr<- 1
    for i <- n downto 0 do 
        faktorn <- faktorn * i
    end for
    for  i <- r  downto 0  do
        faktorr <- faktorr * i
    end for
    for  i <- n – r  downto 0  do 
        faktornr <- faktornr * i
    end for
    hasil <- faktorn / (faktorr * faktornr)
    write hasil
    end

Program Biasa :
#include <iostream.h>
#include <conio.h>
int main(){
int n,r,i;
int faktorn=1,faktorr=1,faktornr=1;
cout<<"\t\tKOMBINASI"<<endl;
cout<<"Masukkan n : ";
cin>>n;
cout<<"Masukkan r : ";
cin>>r;
for(i=n;i>0; i--){
faktorn=faktorn*i;}
for(i=r;i>0; i--){
faktorr=faktorr*i;}
for(i=n-r;i>0; i--){
faktornr=faktornr*i;}
cout<<"Kombinasi ("<<n<<","<<r<<") : "<<faktorn/(faktorr*faktornr);
getch();
return 0;}

Program Class :
#include <iostream.h>
#include <conio.h>
class kombinasi{
public:
void masukan();
void proses();
void keluaran();
private:
int n,r,i;
int faktorn,faktorr,faktornr;};
void kombinasi::masukan(){
cout<<"\t\tKOMBINASI"<<endl;
cout<<"Masukkan n : ";
cin>>n;
cout<<"Masukkan r : ";
cin>>r;}
void kombinasi::proses(){
faktorn=1;
faktorr=1;
faktornr=1;
for(i=n;i>0; i--){
faktorn=faktorn*i;}
for(i=r;i>0; i--){
faktorr=faktorr*i;}
for(i=n-r;i>0; i--){
faktornr=faktornr*i;}}
void kombinasi::keluaran(){
cout<<"Kombinasi ("<<n<<","<<r<<") : "<<faktorn/(faktorr*faktornr);}
int main(){
kombinasi x;
x.masukan();
x.proses();
x.keluaran();
getch();
return 0;}

Program Jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
kombinasi x = new kombinasi();
x.masukan();
x.proses();
x.keluaran();}}
class kombinasi{
void masukan(){
System.out.print("\t\tKOMBINASI");
System.out.print("\n");
System.out.print("Masukkan n : ");
n = Input.readInt();
System.out.print("Masukkan r : ");
r = Input.readInt();}
void proses(){
faktorn =1;
faktorr =1;
faktornr =1;
for(i =n;i>0; i--){
faktorn =faktorn *i;}
for(i =r;i>0; i--){
faktorr =faktorr *i;}
for(i =n-r;i>0; i--){
faktornr =faktornr *i;}}
void keluaran(){
System.out.print("Kombinasi (");
System.out.print(n);
System.out.print(",");
System.out.print(r);
System.out.print(") : ");
System.out.print(faktorn/(faktorr *faktornr));}
private int n;
private int r;
private int i;
private int faktorn;
private int faktorr;
private int faktornr;}

Penjelasan :
Program di atas adalah program yang digunakan untuk mencari nilai kombinasi dari 2 bilangan yaitu n dan r. kombinasi sendiri mempunyai rumus n!/r!*(n-r)!. Jadi untuk pembilangnya adlah n faktorial dan untuk penyebutnya r faktorial kali dengan n-r faktorial. Untuk mencari nilai faktorial dari suatu bilangan maka digunakan fungsi perulangan atau for, untuk program di atas perulangan yang pertama untuk mencari hasil dari faktorial bilangan n dan perulangannya mengalami pengurangan 1, contoh 5! adalah 5x4x3x2x1=120 dan akan disimpan pada variabel faktorn, begitu pula untuk  mencari nilai r faktorial dan n-r faktorial yang akan disimpan pada variabel faktorr dan faktornr. Jadi kita tinggal menampilkan hasil dari faktorn dibagi dengan faktorr kali faktornr.

Program Menghitung Nilai Kombinasi

#include <cstdlib>
#include <iostream>


using namespace std;
 int faktorial (int n)
{
    int fak;
    if (n<=1)
    {
    fak=1;
    }
    else
    {
    fak=n*faktorial(n-1);
    }
    return (fak);
}
int main(int argc, char *argv[])
{
    int n,r, kombinasi;
    cout<<" Program Menghitung Kombinasi"<<endl;
    cout<<" \n Masukkan Nilai n : "; cin>>n;
    cout<<" \n Masukkan Nilai r : "; cin>>r;
    kombinasi=faktorial(n)/(faktorial(r)*faktorial(n-r));
    cout<<" \n Kombinasinya adalah: "<<kombinasi;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Hasilnya:

program menghitung nilai Kombinasi dan Permutasi dengan Rekursif

#include <cstdlib>
#include <iostream>
using namespace std;
 class rekursi{ public: rekursi();
  int faktorial(int);
  int kombinasi(int,int);
   int permutasi(int,int);
    private: int n,r; };
     rekursi::rekursi(){ cout<<"masukan nilai n:";cin>>n;
     cout<<"masukan nilai r:";cin>>r;
     cout<<"nilai Kombinasi : "<<kombinasi(n,r);
     cout<<endl<<"nilai Permutasi : "<<permutasi(n,r);
     }
     int rekursi::faktorial(int n){
                              if ((n == 0) || (n == 1 ))
      return (1);
      else return (n * faktorial(n-1));
      }
      int rekursi::kombinasi(int n,int r){ if(n<r){
          return 0;
      }
       else return (faktorial(n)/faktorial(r)*faktorial(n-r));
       }
        int rekursi::permutasi(int n, int r){ if(n<r){
        return 0;
       }
       else return (faktorial(n) / faktorial(n-r));
        }
         int main(int argc, char** argv) {
       rekursi a;
       system("PAUSE");
       return 0;
       }

Senin, 23 April 2012

Program Mencetakbilangan yang habis dibagi 5dan 7 antara 1-100


01#include <iostream.h>
02#include <conio.h>
03 
04class Bagi{
05 friend istream& operator>>(istream&, Bagi &);
06 friend ostream& operator<<(ostream&, Bagi&);
07 public:
08 Bagi();
09 void proses();
10 int bagi(int a);
11 private:
12 int a;
13 };
14 
15Bagi::Bagi(){
16cout<<"Mencetak bilangan yang habis dibagi 5 dan 7 antara 1 sampai 100"<<endl;
17 }
18//iteratif
19void Bagi::proses(){
20a =1;
21while (!(a>100)){
22if (a % 5==0 && a % 7==0){
23cout << a << endl;
24}else{}
25a =a+1;
26}
27}
28//rekursif
29int Bagi::bagi (int a){
30if (a>100){
31}else
32{
33if (a % 5==0 && a % 7==0)
34{
35cout << a << endl; }
36else
37{}bagi(a+1);
38}}
39 
40int main(){
41 
42 Bagi X;
43 X.proses();
44 X.bagi(1);
45 
46getch();
47}
48<pre>


Flowchart Mencetak bilangan (Rekursif)


mari kita amati ********
    

== misal kita masukkan bilangan 5,
maka hasilnya:

Flowchart mencetak Bilangan dg perbedaan +3,yang dikeluarka bil.genapnya(rekursif)


     

misal kitainputka bilangan 20,
hasilnya :

tugas DDP menggunakan C++


TUGAS MENGGUNAKAN C++

#include <iostream.h>
#include <conio.h>
main (){
cout<<”nama saya rizky andhika surya\n”;
cout<<”nim 11018161\n”;
cout<<”kelas C\n”;
cout<<”alamat: jl. piere tendean Wirobrajan Gg. Gatotkaca WB II 335B\n”;
getch ();
}

Program String pada C++


#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char nama[13];
char jurusan[7];
string kampus;
cout<<”masukan nama :”;
cin.getline(nama,sizeof(nama));
cout<<”masukan kampus :”; cin>>kampus;
cout<<”namaku:”<<nama<<endl;
cout<<”kampusku :”<<kampus<<endl;
system(“PAUSE”);
return EXIT_SUCCESS;
}

rekursif cetak 57



Selasa, 17 April 2012

PRAKTIKUM ALPRO 02 *KONDISIONAL


Menentukan Sebuah Bangun Persegi atau Persegi Panjang dengan

menggunakan Raptor :)

Algoritma :
* Masukkan p dan l
* Jika p=l maka bangun itu adalah persegi
* Jika p!=l makan bangun itu termasuk persegi panjang
Raptor :
Program C++ :
01#include <iostream>
02#include <string>
03 
04using namespace std;
05int main()
06{
07 string raptor_prompt_variable_zzyz;
08 int p;
09 int l;
10 
11raptor_prompt_variable_zzyz ="masukkan panjang:";
12 cout << raptor_prompt_variable_zzyz << endl;
13 cin >> p;
14 raptor_prompt_variable_zzyz ="masukkan lebar:";
15 cout << raptor_prompt_variable_zzyz << endl;
16 cin >> l;
17 if (p==l)
18 {
19 cout << "ini adalah bangun PERSEGI" << endl; }
20 else
21 {
22 cout << "ini adalah bangun PERSEGI PANJANG" << endl; }
23 
24system("PAUSE");
25 return EXIT_SUCCESS;
26}
Itulah cara menentukan suatu bangun persegi dan persegi panjang :)
semoga bermanfaat ..