Program Matrix Dinamis dengan C++

Tuesday, March 29, 2011 5:43 PM by Computer and Programming
#include <iostream>
#include <conio>
#include <stdlib>

main(){
int K['r']['s'],L['r']['s'],M['r']['s'],N['r']['s'];
int O['r']['s'],T['r']['s'],X['r']['s'];
int pilih,max,min;
int a,b,x,r,s;

clrscr();
welcome:
clrscr();
cout<<"  ==================\n";
cout<<"  = PROGRAM MATRIK =";
cout<<"\n  ==================\n\n";
cout<<" :: BANYAK BARIS :: ";
cin>>r;
cout<<" :: BANYAK KOLOM :: ";
cin>>s;

menu:
clrscr();
cout<<" ++++++++++++++++++++++++++++++++++++++++++++++"<<endl;
cout<<" +++++    MATRIK "<<r<<" x "<<s<<" || MATRIK "<<r<<" x "<<s<<"    +++++"<<endl;
cout<<" ++++++++++++++++++++++++++++++++++++++++++++++"<<endl;


cout<<"\n\n ||MAIN MENU||                    ||MAIN MENU||"<<endl;
cout<<" ==============================================";
cout<<"\n =   1. Input Matrik                          =";
cout<<"\n =   2. Output Matrik                         =";
cout<<"\n =   3. Penjumlahan Matrik                    =";
cout<<"\n =   4. Pengurangan Matrik                    =";
cout<<"\n =   5. Transpose Matrik                      =";
cout<<"\n =   6. Diagonal Matrik                       =";
cout<<"\n =   7. Nilai Maksimal dan Minimal Matrik     =";
cout<<"\n =   8. Perkalian Matrik dengan Konstanta     =";
cout<<"\n =   9. Perkalian Dua Matrik                  =";
cout<<"\n ==============================================";
cout<<"\n =   11.Setel Ulang Baris dan Kolom Matrik    =";
cout<<"\n =   12.Keluar Program                        =";
cout<<"\n ==============================================\n";
cout<<"\n Monggo Dipilih : ";
cin>>pilih;




if(pilih==1){
clrscr();
input:
clrscr();
cout<<"MENU INPUT\n";
cout<<"----------";
cout<<"\n1.Input Matrik A";
cout<<"\n2.Input Matrik B";
cout<<"\n3.Kembali ke Menu Utama";
cout<<"\n\nMasukkan Pilihan : ";
cin>>pilih;
cout<<endl;
   if(pilih==1){
   for(int a=1;a<=r;a++){
       for(int b=1;b<=s;b++){
         cout<<"Baris ke-"<<a<<" dan Kolom ke-"<<b<<" = ";
             cin>>K[a][b];
         }
       }
       getch();
       goto input;
   }
else if(pilih==2){
   for(int a=1;a<=r;a++){
       for(int b=1;b<=s;b++){
         cout<<"Baris ke-"<<a<<" dan Kolom ke-"<<b<<" = ";
             cin>>L[a][b];
         }
       }
       getch();
       goto input;
   }
else if(pilih==3){
   goto menu;
   }
   else {
   cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
   getch();
   goto input;
}
}




else if(pilih==2){
clrscr();
output:
clrscr();
cout<<"MENU OUTPUT\n";
cout<<"-----------";
cout<<"\n1.Output Matrik A";
cout<<"\n2.Output Matrik B";
cout<<"\n3.Kembali ke Menu Utama";
cout<<"\n\nMasukkan Pilihan : ";
cin>>pilih;
if(pilih==1){
       cout<<"\nMatrik A\n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
            }
            cout<<endl;
       }
       getch();
       goto output;
   }


   else if(pilih==2){
       cout<<"\nMatrik B\n";
   for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
         }
            cout<<endl;
       }
       getch();
       goto output;
   }
   else if(pilih==3){
   goto menu;
   }
   else {
   cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
   getch();
   goto output;
   }
}




   else if(pilih==3){
   clrscr();
jumlah:
    clrscr();
   cout<<"MENU PENJUMLAHAN\n";
   cout<<"----------------";
   cout<<"\n1.Matrik A + Matrik B";
   cout<<"\n2.Matrik B + Matrik A";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
       cout<<"\nMatrik A \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
            }
            cout<<endl;
       }
       getch();
         cout<<"\nMatrik B \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
            }
            cout<<endl;
       }
         getch();
         cout<<"\nMatrik A + Matrik B \n";
       for(int a=1;a<=r;a++){
         for(int b=1;b<=s;b++){
             M[a][b]=K[a][b]+L[a][b];
            }
         }
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<M[a][b]<<"\t";
         }
            cout<<endl;
       }
       getch();
       goto jumlah;
      }
   else if(pilih==2){
               cout<<"\nMatrik B \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
            }
            cout<<endl;
       }
         getch();
             cout<<"\nMatrik A \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
            }
            cout<<endl;
       }
       getch();
                cout<<"\nMatrik B + Matrik A \n";
       for(int a=1;a<=r;a++){
         for(int b=1;b<=s;b++){
             M[a][b]=L[a][b]+K[a][b];
            }
         }
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<M[a][b]<<"\t";
         }
            cout<<endl;
       }
       getch();
       goto jumlah;
      }
   else if(pilih==3){
   goto menu;
   }
      else {
   cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
   getch();
   goto jumlah;
}
   }




   else if(pilih==4){
   clrscr();
kurang:
clrscr();
   cout<<"MENU PENGURANGAN\n";
   cout<<"----------------";
   cout<<"\n1.Matrik A - Matrik B";
   cout<<"\n2.Matrik B - Matrik A";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
       cout<<"\nMatrik A \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
            }
            cout<<endl;
       }
         getch();
         cout<<"\nMatrik B \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
            }
            cout<<endl;
       }
         getch();
         cout<<"\nMatrik A - Matrik B \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
             N[a][b]=K[a][b]-L[a][b];
            }
         }
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<N[a][b]<<"\t";
         }
            cout<<endl;
       }
       getch();
       goto kurang;
      }
   else if(pilih==2){
            cout<<"\nMatrik B \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
            }
            cout<<endl;
       }
         getch();
             cout<<"\nMatrik A \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
            }
            cout<<endl;
       }
         getch();
              cout<<"\nMatrik B - Matrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
             N[a][b]=L[a][b]-K[a][b];
            }
         }
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<N[a][b]<<"\t";
         }
            cout<<endl;
       }
       getch();
       goto kurang;
      }
    else if(pilih==3){
   goto menu;
   }
      else {
         cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
   getch();
   goto kurang;
}
   }




   else if(pilih==5){
   clrscr();
   transpose:
   clrscr();
   cout<<"MENU TRANSPOSE\n";
   cout<<"--------------";
   cout<<"\n1.Transpose Matrik A";
   cout<<"\n2.Transpose Matrik B";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
         if(r==s){
       cout<<"\n:: Sebelum Transpose ::\n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
       cout<<"\n:: Setelah Transpose ::\n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         T[a][b]=K[b][a];
         cout<<T[a][b]<<"\t";
         }
         cout<<endl;
       }
       getch();
         goto transpose;
       }
         if(r!=s){
         cout<<"\nMatrik Tidak Dapat Mengeksekusi Operasi Ini\n";
            cout<<"Karena Ordo Matrik Tidak Mendukung\n";
            getch();
            goto transpose;
         }
      }
if(pilih==2){
   if(r==s){
         cout<<"\n:: Sebelum Transpose ::\n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
       cout<<"\n:: Setelah Transpose ::\n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         T[a][b]=L[b][a];
         cout<<T[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         goto transpose;
       }
         if(r!=s){
             cout<<"\nMatrik Tidak Dapat Mengeksekusi Operasi Ini\n";
            cout<<"Karena Ordo Matrik Anda Tidak Mendukung\n";
            getch();
            goto transpose;
         }
      }
      else if(pilih==3){
   goto menu;
   }
      else {
           cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
           getch();
   goto transpose;
}
   }




   if(pilih==6){
   clrscr();
   diagonal:
   clrscr();
   cout<<"MENU DIAGONAL\n";
   cout<<"-------------";
   cout<<"\n1.Diagonal Matrik A";
   cout<<"\n2.Diagonal Matrik B";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
       if(r==s){
         cout<<"\nMatrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
       cout<<"\nDiagonal Matrik A \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
             if(a==b){
               cout<<K[a][b]<<"\t";
               }
             }
         }
         getch();
         goto diagonal;
       }
         if(r!=s){
             cout<<"\nMatrik Tidak Dapat Mengeksekusi Operasi Ini\n";
            cout<<"Karena Ordo Matrik Anda Tidak Mendukung\n";
            getch();
            goto diagonal;
         }
      }
      if(pilih==2){
       if(r==s){
         cout<<"\nMatrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         cout<<"\nDiagonal Matrik B \n";
       for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
             if(a==b){
               cout<<L[a][b]<<"\t";
               }
             }
         }
         getch();
         goto diagonal;
       }
         if(r!=s){
             cout<<"\nMatrik Tidak Dapat Mengeksekusi Operasi Ini\n";
            cout<<"Karena Ordo Matrik Anda Tidak Mendukung\n";
            getch();
            goto diagonal;
         }
      }
      else if(pilih==3){
   goto menu;
   }
      else {
           cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
           getch();
   goto diagonal;
}
   }




   if(pilih==7){
   clrscr();
   maxmin:
   clrscr();
   cout<<"MENU MAKSIMAL/MINIMAL\n";
   cout<<"---------------------";
   cout<<"\n1.Maksimal/Minimal Matrik A";
   cout<<"\n2.Maksimal/Minimal Matrik B";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
       cout<<"\nMatrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         max=0;
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
if (K[a][b]>max){
max=K[a][b];


   }
            }
         }
         cout<<"\nNilai Maksimal = "<<max;
         getch();
         min=K[1][1];
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
if (K[a][b]<min){
min=K[a][b];


   }
            }
         }
         cout<<"\nNilai Minimal  = "<<min;
         getch();
         goto maxmin;
      }
      else if(pilih==2){
       cout<<"\nMatrik B \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         max=0;
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
if (L[a][b]>max){
max=L[a][b];
   }
            }
         }
         cout<<"\nNilai Maksimal = "<<max;
         getch();
         min=L[0][0];
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
if (L[a][b]<min){
min=L[a][b];


   }
            }
         }
         cout<<"\nNilai Minimal  = "<<min;
         getch();
         goto maxmin;
      }
      else if(pilih==3){
   goto menu;
   }
      else {
           cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
           getch();
   goto maxmin;
}
   }




if(pilih==8){
   clrscr();
   konstanta:
   clrscr();
   cout<<"MENU PERKALIAN KONSTANTA\n";
   cout<<"------------------------";
   cout<<"\n1.Perkalian Matrik A";
   cout<<"\n2.Perkalian Matrik B";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
       cout<<"\nMatrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         cout<<"\nMasukkan Sebuah Angka = ";
         cin>>x;
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         O[a][b]=K[a][b]*x;
         }
       }
         cout<<"\nSetelah Dikalikan dengan Konstanta "<<x<<" adalah : "<<endl;
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<O[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         goto konstanta;
      }
      if(pilih==2){
       cout<<"\nMatrik B \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<L[a][b]<<"\t";
         }
         cout<<endl;
       }
         cout<<"\nMasukkan Sebuah Angka = ";
         cin>>x;
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         O[a][b]=L[a][b]*x;
         }
       }
         cout<<"\nSetelah Dikalikan dengan Konstanta "<<x<<" adalah : "<<endl;
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<O[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         goto konstanta;
      }
      else if(pilih==3){
   goto menu;
   }
      else {
           cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
           getch();
   goto konstanta;
}
   }




   if(pilih==9){
   clrscr();
   kalimatrik:
   clrscr();
   cout<<"MENU PERKALIAN 2 MATRIK\n";
   cout<<"-----------------------";
   cout<<"\n1.Matrik A x Matrik B";
   cout<<"\n2.Matrik B x Matrik A";
   cout<<"\n3.Kembali ke Menu Utama";
   cout<<"\n\nMasukkan Pilihan : ";
   cin>>pilih;
   if(pilih==1){
       if(r==s){
         cout<<"\nMatrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
         cout<<"\nMatrik B \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
            for (int a=1;a<=r;a++){
             for (int b=1;b<=s;b++){
               X[a][b]=0;
                  for(int c=1;c<=r;c++){
                   X[a][b]=X[a][b]+K[a][c]*L[c][b];
                  }
               }
            }


            cout<<"\nMatrik A x Matrik B \n";
            for (int a=1;a<=r;a++){
             for (int b=1;b<=s;b++){
               cout<<X[a][b]<<"\t";
               }
               cout<<endl;
            }
            getch();
            goto kalimatrik;
         }
         if(r!=s){
             cout<<"\nMatrik Tidak Dapat Mengeksekusi Operasi Ini\n";
            cout<<"Karena Ordo Matrik Tidak Mendukung\n";
                getch();
            goto kalimatrik;
         }
      }
    else if(pilih==2){
   cout<<"\nMatrik B \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
   cout<<"\nMatrik A \n";
         for (int a=1;a<=r;a++){
       for (int b=1;b<=s;b++){
         cout<<K[a][b]<<"\t";
         }
         cout<<endl;
       }
         getch();
   for (int a=1;a<=r;a++){
             for (int b=1;b<=s;b++){
               X[a][b]=0;
                  for(int c=1;c<=r;c++){
                   X[a][b]=X[a][b]+K[a][c]*L[c][b];
                  }
               }
            }


            cout<<"\nMatrik B x Matrik A \n";
            for (int a=1;a<=r;a++){
             for (int b=1;b<=s;b++){
               cout<<X[a][b]<<"\t";
               }
               cout<<endl;
            }
            getch();
            goto kalimatrik;
         }
         if(r!=s){
         cout<<"\nMatrik Tidak Dapat Mengeksekusi Operasi Ini\n";
            cout<<"Karena Ordo Matrik Tidak Mendukung\n";
                getch();
            goto kalimatrik;
         }
   else if(pilih==3){
   goto menu;
   }
      else {
              cout<<"\nPilihan Anda Salah . . .\n";
           getch();
         clrscr();
         cout<<"ERROR ! ! !";
           getch();
   goto kalimatrik;
            }
       }




   else if(pilih==11){
      goto welcome;
   }




   else if(pilih==12){
   cout<<"\n MATUR NUWUN";
   getch();
   clrscr();
   cout<<"            ==========================";
   cout<<"\n            (1) Moh. Chasan Asy'ari";
   cout<<"\n            (2) Zaenal Syarif Abidin";
   cout<<"\n            (3) Ahmad Chazimul Asror";
   cout<<"\n            (4) Firman Jiwatama Widodo";
   cout<<"\n            ==========================";
      goto end;
   }




   else {
   cout<<"\n OJO SALAH PILIH ! ! !\n";
   cout<<" ERROR";
   getch();
   goto menu;
   }end:
getch();
}

2 Response to "Program Matrix Dinamis dengan C++"

  1. Unknown Says:

    salah di clrscr

  2. Unknown Says:

    salah di clrscr itu bgmn cara ubahnya

Post a Comment