Memaknai hidup untuk saling berbagi. Walaupun tidak berbentuk materi, tapi berbagi berupa ilmu dan informasi. Karena Informasi Tiada Henti







Saturday 10 July 2010

Program Permutasi dan Kombinasi dengan C++

Ini postingan untuk kamu-kamu yang lagi kerja in tugas dari dosen atau guru kamu. Mudah-mudahan postingan ini berguna buat kamu-kamu sekalian.

Saya akan beri kode programnya. Tapi, dalam hal ini saya menggunakan compiler MinGW Developer Standart. So, kalo mau compile di Dev-C++ kamu harus tambah "system("PAUSE");" sebelum "return 0;" pada fungsi utama (int main()). Dalam program ini, saya menggunakan class dan multiple inheritance.

Nah, ini dia yang ditunggu-tunggu. Kode Program Permutasi dan Kombinasi dengan C++ :

#include
using namespace std;
class input1 {
protected :
   int f1;
public :
   void faktorial_1 () {
       cout << "Jumlah Objek yang dipermutasikan/dikombinasikan (r) : "; cin >> f1;
   }
};
class input2 {
protected :
   int f2;
public :
   void faktorial_2 () {
       cout << "Jumlah Objek (n) : "; cin >> f2;
}
};
class hitung:public input1, public input2 {
protected :
   int fak1, fak2, fak3, i;
public :
   void faktorial () {
       fak1 = 1;
       fak2 = 1; 
       fak3 = 1;
       for (i = 1; i <= f1; i++)
       fak1 = fak1 * i;
       for (i = 1; i <= f2; i++)
       fak2 = fak2 * i;
       for (i = 1; i <= f2 - f1; i++)
          fak3 = fak3 * i;
   }
   int permutasi () {
        return (fak2/fak3);
   }
   int kombinasi () {
        return (fak2/(fak1*fak3));
   }
};
class cetak:public hitung {
public :
   void cetak_permutasi () {
       cout << "Hasil Permutasi " << f1 << " dari " << f2 << " adalah " << permutasi () << endl;
   }
   void cetak_kombinasi () {
       cout << "Hasil Kombinasi " << f1 << " dari " << f2 << " adalah " << kombinasi () << endl;
   }
};
int main () {
   cetak tampil;
   char pil;
   system ("cls");
   cout << "--- Menu Utama ---" << endl;
   cout << "1. Cari Permutasi" << endl;
   cout << "2. Cari Kombinasi" << endl;
   cout << "3. Exit" << endl;
   cout << "Masukkan pilihan : "; cin >> pil;
   if (pil == '1') {
       system ("cls");
       cout << "--- Permutasi ---" << endl;
       tampil.faktorial_1();
       tampil.faktorial_2();
       tampil.faktorial();
       tampil.permutasi();
       tampil.cetak_permutasi();
   }
   else if (pil == '2') {
       system ("cls");
       cout << "--- Kombinasi ---" << endl;
       tampil.faktorial_1();
       tampil.faktorial_2();
       tampil.faktorial();
       tampil.kombinasi();
       tampil.cetak_kombinasi();
   }
   else if (pil == '3')
        exit (1);
   else 
        cout << "masukkan pilihan salah." << endl;
   return 0;
}

Silahkan dicoba dulu kode programnya. Untuk lebih membangun, saya sangat mengharapkan komen dari kamu-kamu. Agar blog ini bisa lebih baik lagi dalam menghadirkan ilmu atau informasi yang bermanfaat khususnya di Dunia Komputer.

Sekian untuk postingan kali ini. Lain waktu saya akan bagi-bagi postingan lagi.


Like the Post? Do share with your Friends.

18 comments:

  1. wow,,,perfecto...
    keren abis Gung...
    oya izin copy pRogram_ny y Gung...
    tp tnang z ntar bkaLan d edit koQ...

    ReplyDelete
  2. Ok REP
    Kalo nak di edit juga ndak pa2 ko
    alnya
    tu program da agung persiapkan sedemikian rupa untuk kamu2 buat tugas

    ReplyDelete
  3. gung,klo REP mw pisahin antara Permutasi ma Kombinasi gmNa???
    REP g pgen pake Menu2 gtu...

    ReplyDelete
  4. gung REP kn g pgen pake menu gtu...
    Trus gmna cara pisahin programnya supaya yg permutasi ma kombinasi sendiri2...

    ReplyDelete
  5. Ubah jadi ni aja kode programnya :

    #include
    using namespace std;
    class input1 {
    protected :
    int f1;
    public :
    void faktorial_1 () {
    cout << "Jumlah Objek yang dipermutasikan/dikombinasikan (r) : "; cin >> f1;
    }
    };
    class input2 {
    protected :
    int f2;
    public :
    void faktorial_2 () {
    cout << "Jumlah Objek (n) : "; cin >> f2;
    }
    };
    class hitung:public input1, public input2 {
    protected :
    int fak1, fak2, fak3, i;
    public :
    void faktorial () {
    fak1 = 1;
    fak2 = 1;
    fak3 = 1;
    for (i = 1; i <= f1; i++)
    fak1 = fak1 * i;
    for (i = 1; i <= f2; i++)
    fak2 = fak2 * i;
    for (i = 1; i <= f2 - f1; i++)
    fak3 = fak3 * i;
    }
    int permutasi () {
    return (fak2/fak3);
    }
    };
    class cetak:public hitung {
    public :
    void cetak_permutasi () {
    cout << "Hasil Permutasi " << f1 << " dari " << f2 << " adalah " << permutasi () << endl;
    }
    };

    int main () {
    cetak tampil;
    system ("cls");
    cout << "--- Permutasi ---" << endl;
    tampil.faktorial_1();
    tampil.faktorial_2();
    tampil.faktorial();
    tampil.permutasi();
    tampil.cetak_permutasi();
    return 0;
    }

    tu untuk yang permutasi. yang kombinasi lakukan hal yang sama juga. tinggal hapus sebagian kode programnya aja.

    ReplyDelete
  6. ok mantap gung...

    blog mu pindah k worpress aj gung

    ReplyDelete
  7. gung,thnx bget y atas bantuan_nya,...
    pkok_ny ne bLoq paLing keren lh...
    REP mw bLg mksh bget y Gung

    ReplyDelete
  8. muanttaaaaaaaaaaaaaaaaaap !!!!

    inilah ciri orang sukses ...

    wkwkwkwkwkkaaaa ...

    ReplyDelete
  9. gung,biin iri aja nih ...


    hehehehe ..

    ReplyDelete
  10. Untuk perbaikan
    pada header tambahkan
    #include "iostream"
    untuk tanda petik 2
    anda dapat menggantinya dengan tanda kurang dari dan lebih dari

    terima kasih

    ReplyDelete
  11. wah.. mantap nih programnya.. sayangnya aku lupa kalau semalam terakhir, tp ga apa lah aku izin kopi ya bang?.

    ReplyDelete
  12. gung,bisa gak tunjukin program menggunakan overloading tp utk mnghapus file dlm OOP???

    ReplyDelete
  13. di postingan berikutnya saya akan bahas tentang apa yang Anda tanya kan

    ReplyDelete
  14. gung,bisa minta di ajarin bwt flowchart g????

    ReplyDelete
  15. waaw .. penyelamat banget nih postingan ..
    tugas buat besok pagi ada disini ..

    makasih ya gung , ijin copy yaa .. :)

    ReplyDelete

IconIconIconFollow Me on Pinterest

KOMPAS TEKNO

Page Rank

PageRank Checker

What's Hot