Selasa, 23 April 2013

LA C++ VI

//Program Menu Matriks
#include <iostream.h>
#include <conio.h>

void main()
{
   int matriks1[10][10],matriks2[10][10],matriks3[10][10];
   int b, k, pil, x, y, i1, j1, i, j;
   char pil1,l;
   i=0;
   j=0;
   i1=0;
   j1=0;
   utama:
   clrscr();
   cout<<" -------- MATRIKS --------\n\n";
   cout<<"   1. Input Matriks       \n";
   cout<<"   2. Tampilkan Matriks   \n";
   cout<<"   3. Operasi Aritmatila  \n";
   cout<<"   4. Exit                \n\n";
   cout<<" -------------------------\n";
   cout<<"  Pilihan : "; cin>>pil;

   switch(pil){
      case 1:
          goto input;


      case 2:
          if (i==0 || j==0 || i1==0 || j1==0)
             { cout<<"Anda Belum mengisi element pada matriks (~.~)";
                getch();
               goto utama;}
          goto tampil;
      case 3:
          if (i==0 || j==0 || i1==0 || j1==0)
             { cout<<"Anda Belum mengisi element pada matriks (~.~)";
                getch();
               goto utama;}
          goto operasi;
      case 4:
          goto selesai;
      default:
          cout<<"  Angka yang anda pilih salah";getch();goto utama;}

      input:
           clrscr();
         cout<<"Masukan Baris Matriks A : "; cin>>i;
         cout<<"Masukan Kolom Matriks A : "; cin>>j;
         clrscr();
           cout<<"Matriks A\n\n";
         for (b=1;b<=i;b++)
              {  for (k=1;k<=j;k++)
                 {  cout<<"Masukan element matriks ["<<b<<","<<k<<"] : ";
                    cin>>matriks1[b][k];
                 }
                 cout<<endl;
              }

         cout<<"Angka yang anda masukan udah benar [y/t] ? "; cin>>l;
         if (l=='T' || l=='t')
             goto input;

         clrscr();
         cout<<"Masukan Baris Matriks B : "; cin>>i1;
         cout<<"Masukan Kolom Matriks B : "; cin>>j1;
         clrscr();
         cout<<"Matriks B\n\n";
         for (b=1;b<=i1;b++)
           {  for (k=1;k<=j1;k++)
                 {  cout<<"Masukan element matriks ["<<b<<","<<k<<"] : ";
                  cin>>matriks2[b][k];
                }
                cout<<endl;
             }

         cout<<"Angka yang anda masukan udah benar [y/t] ? "; cin>>l;
         if (l=='T' || l=='t')
             goto input;
         goto utama;

   tampil:
   clrscr();
        cout<<"Matriks A\n";
        for (b=1;b<=i;b++)
       {  for (k=1;k<=j;k++)
           { 
              cout<<matriks1[b][k]<<"   ";
           }
           cout<<endl;
        }

        x=15;
        y=2;
        gotoxy(15,1);
        cout<<"Matriks B";
        for (b=1;b<=i1;b++)
        {  gotoxy(x,y);
           for (k=1;k<=j1;k++)
           {
              cout<<matriks2[b][k]<<"   ";
           }
           y=y+1;
        }
        gotoxy(59,25);
        cout<<"--- Press Any Key ---";
       getch();
        goto utama;

   operasi:
        cout<<"  Pilih Operator (+/-/*/n) : "; cin>>pil1;
        switch(pil1){
            case '+' :
            clrscr();
            if (i1==i && j1==j)
             {  cout<<"Matriks A\n";
                for (b=1;b<=i;b++)
                {
                   for (k=1;k<=j;k++)
                   {
                      cout<<matriks1[b][k]<<"   ";
                   }
                   cout<<endl;
                }

                x=15;
                y=2;
                gotoxy(15,1);
                cout<<"Matriks B";
                for (b=1;b<=i1;b++)
                {
                   gotoxy(x,y);
                   for (k=1;k<=j1;k++)
                   {
                      cout<<matriks2[b][k]<<"   ";
                   }
                   y=y+1;
                 }

               x=30;
               y=2;
               gotoxy(30,1);
               cout<<"Matriks C";
               for (b=1;b<=i1;b++)
               {
                   gotoxy(x,y);
                   for (k=1;k<=j1;k++)
                   {
                      matriks3[b][k]=matriks1[b][k]+matriks2[b][k];
                      cout<<matriks3[b][k]<<"   ";
                   }
                   y=y+1;
               }
               gotoxy(59,25);
               cout<<"--- Press Any Key ---";
               getch();
               clrscr();
                   goto operasi;
            }
            else {
                   cout<<"Baris/Kolom Matriks A dan B tidak sama~ (~.~)"<<endl;
                   cout<<"\nAnda ingin merubah kolom Matriks [y/t] ??"; cin>>l;
                   if (l=='Y' || l=='y')
                      goto input;
                   clrscr();
                   goto operasi;}
            case '-':
            clrscr();
            if (i1==i && j1==j){
               cout<<"Matriks A\n";
               for (b=1;b<=i;b++)
               {
                  for (k=1;k<=j;k++)
                  {
                     cout<<matriks1[b][k]<<"   ";
                  }
                  cout<<endl;
               }

               x=15;
               y=2;
               gotoxy(15,1);
               cout<<"Matriks B";
               for (b=1;b<=i1;b++)
               {
                  gotoxy(x,y);
                  for (k=1;k<=j1;k++)
                  {
                      cout<<matriks2[b][k]<<"   ";
                  }
                  y=y+1;
               }

               x=30;
               y=2;
               gotoxy(30,1);
               cout<<"Matriks C";
               for (b=1;b<=i1;b++)
               {
                  gotoxy(x,y);
                  for (k=1;k<=j1;k++)
                  {
                      matriks3[b][k]=matriks1[b][k]-matriks2[b][k];
                      cout<<matriks3[b][k]<<"   ";
                  }
                  y=y+1;
               }
               gotoxy(59,25);
               cout<<"--- Press Any Key ---";
               getch();
               clrscr;
               goto operasi;
            }
            else{
                     cout<<"Baris/Kolom Matriks A dan B tidak sama~ (~.~)"<<endl;
                  cout<<"\nAnda ingin merubah kolom Matriks [y/t] ??"; cin>>l;
                  if (l=='Y' || l=='y')
                      goto input;
                  clrscr();
                  goto operasi;}

            case '*':
            clrscr();
            if (j==i1 && i==j1){
                cout<<"Matriks A\n";
                for (b=1;b<=i;b++)
                {
                   for (k=1;k<=j;k++)
                   {
                       cout<<matriks1[b][k]<<"   ";
                   }
                   cout<<endl;
                }

                x=15;
                y=2;
                gotoxy(15,1);
                cout<<"Matriks B";
                for (b=1;b<=i1;b++)
                {
                   gotoxy(x,y);
                   for (k=1;k<=j1;k++)
                   {
                      cout<<matriks2[b][k]<<"   ";
                   }
                   y=y+1;
                }

               x=30;
               y=2;
               gotoxy(30,1);
               cout<<"Matriks C";
               for (b=1;b<=i1;b++)
               {
                  gotoxy(x,y);
                  for (k=1;k<=j1;k++)
                  {
                      matriks3[b][k]=matriks1[b][k]-matriks2[k][b];
                      cout<<matriks3[b][k]<<"   ";
                  }
                  y=y+1;
               }
               gotoxy(59,25);
               cout<<"--- Press Any Key ---";
               getch();
               clrscr();
               goto operasi;
            }
            else{
                     cout<<"Baris/Kolom Matriks A dan B tidak sama~ (~.~)"<<endl;
                  cout<<"\nAnda ingin merubah kolom Matriks [y/t] ??"; cin>>l;
                  if (l=='Y' || l=='y')
                      goto input;
                  clrscr();
                  goto operasi;}
            case 'n':
              goto utama;
            default:
              cout<<"  Operator yang anda masukan salah~ ~.~";getch(); goto utama;
      }//tutup switch
     
      selesai:
        clrscr();
        gotoxy(35,10);
        cout<<"Sayonara >.<";
        getch();
}//end

Logika Program :
Program menu Matriks dimana :
Jika kita memilih 1 maka program akan meminta kita mengisi baris, kolom dan element pada matriks.
Jika kita memilih 2 maka hasil input matriks tadi akan tapil tetapi jika kita belum mengisi/menginput element matriks maka program akan mencetak "Anda Belum mengisi element pada matriks (~.~)".
Jika kita memilih 3 maka kita akan ditanya lagi "Pilih Operator (+/-/*/n) : ":

  • Saat kita memilih "+" maka program akan menjumlahkan 2 matriks, tetapi dengan konsisi baris dan kolom antara matriks A dan B sama.
  • Saat kita memilih "-" maka program akan mengurangkan 2 matriks, sama dengan penjumlahan jika baris dan kolom antara matriks A dan B sama baru bisa dikurangi.
  • Saat kita memilih "*" maka program akan mengkalikan 2 matriks, kondisi pada kali adalah kolom matriks A sama dengan Baris matriks B dan Baris pada matriks A sama dengan kolom pada matriks B.
  • Saat Kita memilih "n" maka program akan kembali ke menu utama.
Jika kita memilih 4 maka program akan selesai. >.<

Output :



DOWNLOAD PROGRAM

//Penjumlahan Matriks
#include <iostream.h>
#include <conio.h>

#include <iomanip.h>

void main()
{
   int ax[3][3], bx[3][3], cx[3][3];
   int b, k, x, y;
   clrscr();
   cout<<"--- Matriks A ---\n\n";
   for (b=0;b<3;b++)
   {
       for (k=0;k<3;k++)
       {
           cout<<"Masukan element matriks ["<<b<<","<<k<<"] : ";
           cin>>ax[b][k];
       }
      cout<<endl;
   }

   cout<<"--- Matriks B ---\n\n";
   for (b=0;b<3;b++)
   {
       for (k=0;k<3;k++)
       {
           cout<<"Masukan element matriks ["<<b<<","<<k<<"] : ";
           cin>>bx[b][k];
       }
       cout<<endl;
   }

   clrscr();

   cout<<"Penjumlahan antara Matriks A dan B";
   x=1;
   y=4;
   gotoxy(3,3);
   cout<<"Matriks A\n";
   for (b=0;b<3;b++)
   {
      gotoxy(x,y);
       for (k=0;k<3;k++)
      {
          cout<<setw(4)<<ax[b][k];
      }
      y=y+1;
   }


   x=15;
   y=4;
   gotoxy (17,3);
   cout<<"Matriks B\n";
   for (b=0;b<3;b++)
   {
       gotoxy(x,y);
       for (k=0;k<3;k++)
       {
           cout<<setw(4)<<bx[b][k];
       }
       y=y+1;
   }

   x=30;
   y=4;
   gotoxy (32,3);
   cout<<"Matriks C\n";
   for (b=0;b<3;b++)
   {
       gotoxy(x,y);
       for (k=0;k<3;k++)
       {
           cx[b][k]= ax[b][k] + bx[b][k];
           cout<<setw(4)<<cx[b][k];
       }
      y=y+1;
    }

  getch();
}

LOGIKA PROGRAM :
Program ini akan menjumlahkan 2 matriks berordo 3x3. Progra akan mementa kita memasukan element pada matriks A dan element pada matriks B kemudian Program akan menampilkan hasil penjumlahan antara matriks A dan B dalam matriks C.

OUTPUT :


0 komentar:

Posting Komentar

 
;