Senin

Presentasi Struktur Data

Presentasi Struktur Data
Kelas : 11.2A.02

Nama : Diana Meisari
            Dessy Ayu Afrida
            Janur Jumiatin
            Mariana Ayu Putri
            Nur Khusnul Khotimah
            Sri Rahayu
     


*** PROGRAM PERHITUNGAN MATRIKS MENGGUNAKAN BORLAND C++ ***


          Latar Belakang Pembuatan Program:
       Menghitung matriks secara manual membutuhkan waktu yang lama dan ketelitian perhitungan, oleh karena itu saya membuat program matriks menggunakan Borland C++. 
           Listing Program ini Terdiri dari Array dimensi 2.

Penjelasan tentang Array:
Array adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama.
Nilai-nilai data di suatu larik disebut dengan elemen-elemen larik.
Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript atau suatu index.
Menurut dimensinya, array dapat dibedakan menjadi :
1. Array berdimensi satu
    - Setiap elemen array dapat diakses melalui index
    - Index array secara default dimulai dari 0
    - Deklarasi array :
    Tipe_array nama_array[ukuran]
2. Array berdimensi dua
    - Array dua dimensi merupakan array yang terdiri dari m buah baris dan n buah buah kolom
      Bentuknya dapat berupa matriks atau tabel.
    - Deklarasi array :
    Tipe_array nama_array [baris][kolom]
3. Array multidimensi
   - Array multidimensi merupakan array yang mempunyai ukuran lebih dari dua. Bentuk
     pendeklarasian array multidimensi sama saja dengan deklarasi array dimensi satu maupun
     dimensi dua.
   - Deklarasi array :
    Tipe_array nama_array [ukuran 1][ukuran 2] . . . [ukuran N]

Perbedaan array dengan tipe data lain :
   - Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan
     sebuah nilai saja.
   - Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float,
     double, long, dll) yang sama dengan satu nama saja.
Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi.

Berikut ini listing program perhitungan matriks:


#include <iostream.h>

#include <conio.h>

main()
{
    char salah;
    double d[10][10];
    double e[10][10];
    double hasil[10][10];
    int i,j,r,bb,k,p;
    do{
    clrscr();

    gotoxy(60,1);cout<<"Created By: 11123464";
    gotoxy(15,3);cout<<"~~~~~~~~~  Program Perhitungan Matriks  ~~~~~~~~"<<endl;

    gotoxy(15,5);cout<<"================================================"<<endl;
    gotoxy(15,6);cout<<"Inputkan Banyak Baris: ";cin>>bb;
    gotoxy(15,7);cout<<"Inputkan Banyak Kolom: ";cin>>k;
    gotoxy(15,8);cout<<"================================================"<<endl<<endl;
    if (bb==k)
    {
    cout<<"INPUT ELEMEN  MATRIK A: "<<endl;
     for (i=0;i<bb;i++)
     for (j=0;j<k;j++)
     {
        cout<<"A["<<(i+1)<<","<<(j+1)<<"]=";cin>>d[i][j];
     }
     cout<<"INPUT ELEMEN  MATRIK B: "<<endl;
     for (i=0;i<bb;i++)
     for (j=0;j<k;j++)
     {
        cout<<"B["<<(i+1)<<","<<(j+1)<<"]=";cin>>e[i][j];
     }
     cout<<"-------------------------------------------------------"<<endl;
     cout<<"Pilih (1= Penjumlahan, 2= Pengurangan, 3= Perkalian) = ";cin>>p;
     cout<<"-------------------------------------------------------"<<endl;
     if(p==1)
     {
            cout<<"TAMPIL MATRIK : "<<endl;
            cout<<"Matriks A               Matriks B"<<endl;
            for (i=0;i<bb;i++)
            {
                for (j=0;j<k;j++)
                {
                    cout<<d[i][j]<<"    ";
                }
                if (i==0)
                {
                         cout<<"+";
                         cout<<"    ";
                         for (j=0;j<k;j++)
                         {
                             cout<<e[i][j]<<"    ";
                         }
                }
                if (i>0)
                {
                    cout<<"    ";
                    for (j=0;j<k;j++)
                    cout<<" "<<e[i][j]<<"   ";
                }
                cout<<endl;
            }
            for (i=0;i<bb;i++)
            for (j=0;j<k;j++)
            {
                hasil[i+1][j+1]=(d[i][j]+e[i][j]);
            }
            cout<<endl<<"HASIL AKHIR= "<<endl;
            for (i=0;i<bb;i++)
            {
                for (j=0;j<k;j++)
                {
                    cout<<hasil[i+1][j+1]<<"     ";
                }
                cout<<endl;
            }
     }
     else if(p==2)
     {
         cout<<"TAMPIL MATRIK : "<<endl;
         cout<<"Matriks A               Matriks B"<<endl;
         for (i=0;i<bb;i++)
            {
                for (j=0;j<k;j++)
                {
                    cout<<d[i][j]<<"    ";
                }
            if (i==0)
            {
                     cout<<"-";
                     cout<<"    ";
                     for (j=0;j<k;j++)
                     {
                         cout<<e[i][j]<<"    ";
                     }
            }
            if (i>0)
            {
                    cout<<"    ";
                    for (j=0;j<k;j++)
                    cout<<" "<<e[i][j]<<"   ";
            }
            cout<<endl;
            }
         for (i=0;i<bb;i++)
         for (j=0;j<k;j++)
         {
             hasil[i+1][j+1]=(d[i][j]-e[i][j]);
         }
         cout<<endl<<"HASIL AKHIR= "<<endl;
         for (i=0;i<bb;i++)
         {
             for (j=0;j<k;j++)
             {
                 cout<<hasil[i+1][j+1]<<"     ";
             }
             cout<<endl;
         }
     }
     else if(p==3)
     {
         cout<<"TAMPIL MATRIK : "<<endl;
         cout<<"Matriks A               Matriks B"<<endl;
         for (i=0;i<bb;i++)
            {
                for (j=0;j<k;j++)
                {
                    cout<<d[i][j]<<"    ";
                }
            if (i==0)
            {
                     cout<<"x";
                     cout<<"    ";
                     for (j=0;j<k;j++)
                     {
                         cout<<e[i][j]<<"    ";
                     }
            }
            if (i>0)
            {
                    cout<<"    ";
                    for (j=0;j<k;j++)
                    cout<<" "<<e[i][j]<<"   ";
            }
            cout<<endl;
            }
         hasil[i+1][j+1]=0;
         for (i=0;i<bb;i++)
         {
             for (j=0;j<k;j++)
             {
                 hasil[i+1][j+1]=0;
                 for (r=0;r<k;r++)
                 {
                     hasil[i+1][j+1]=hasil[i+1][j+1]+d[i][r]*e[r][j];
                 }
             }
         }
         cout<<endl<<"HASIL AKHIR= "<<endl;
         for (i=0;i<bb;i++)
         {
             for (j=0;j<k;j++)
             {
                 cout<<hasil[i+1][j+1]<<"     ";
             }
             cout<<endl;
         }
     }
     else
     {
     cout<<"Kode Yang Anda Masukan SALAH!"<<endl;
     cout<<"Apa Anda Ingin Mengulang? Y/N? ";
     cin>>salah;
     cout<<"-----TEKAN ENTER-----"<<endl;
     }
    }    //tutup kurung dari if (bb=k)
    else
    {
     cout<<"Ordo Yang Anda Masukan TIDAK SAMA!"<<endl;
     cout<<"Apa Anda Ingin Mengulang? Y/N? ";
     cin>>salah;
     cout<<"-----TEKAN ENTER-----"<<endl;
    }
    cout<<"Apa Anda Ingin Mengulang? Y/N? ";
    cin>>salah;
    cout<<"-----TEKAN ENTER-----"<<endl;
    }   //tutup kurung dari do-while
    while(salah=='y'||salah=='Y');
    getch();
}

Alur Program:
 - user memasukan banyaknya baris dan kolom matriks yang ingin dihitung
 - jika jumlah baris dan kolom sama, maka program bisa dilanjutkan
 - selanjutnya user memasukan banyaknya nilai dari suatu kolom/ baris matriks tersebut
 - setelah selesai user dapat memilih program perhitungan apa yang ingin ditampilkan, contoh : penjumlahan, pengurangan dan perkalian matriks
 - ketika user telah memilih maka tampilan dari matriks tersebut akan ditampilkan.


contoh inputan program penjumlahan matriks ordo 3x3:


contoh output program penjumlahan matriks ordo 3x3: