Praktikum ke 9

Praktikum ke 9

ARRAY 2 DIMENSI

1. Buatlah algoritma dan program tabel perkalian antara 10 matrrik kolom dengan 10 matrik baris. Tampilkan pula total elemen per baris dan perkolom dari hasil perhitungan tersebut.
2. Buatlah algoritma dan program untuk mencari data penjualan terbesar dan terkecil dari 10 seles selama 12 bulan (Januari-Desember). Data perbulan dan per sales dapat disimpan dalam array 2 dimensi.

Ingat gunakan kaidah pengembangan program yang benar:
1. 
 1. Identifikasi masalah
membuat tabel perkalian dengan matrik 10x10
2. input dan output
input:1 2 3 4 5 6 7 8 9 10
output: hasil perkalian
3. flowchart
4.
5. Implementasi dengan C++
#include <cstdlib>
#include <iostream>

using namespace std;
int tabel(int a[100][100],int total){

    for(int i=1;i<11;i++){
        cout<<i<<"    | ";
        for(int j=1;j<11;j++){
        cout<<a[i][j]<<" ";
        }cout<<endl;
    }
    cout<<endl<<"Total Elemen Array ="<<total<<endl;
}
int main(int argc, char *argv[])
{
    int a[100][100];
    int total;
    cout<<"menghitung Baris Dan Kolom"<<endl;
    cout<<"X/Y  | 1 2 3 4 5 6 7 8 9 10"<<endl;
    cout<<"------------------------------------"<<endl;
        for(int i=1;i<11;i++){
        for(int j=1;j<11;j++){
        a[i][j]=i*j;
        total=a[i][j];
        }
    }
    tabel(a,total);   
    system("pause");
    return 0;
}

6. Eksekusi


2.
1. Identifikasi masalah
Mencari data penjualan terbsar dan terkecil dari 10 seles selama 12 bulan
2. Input/Output
Input:
Jumlah data:10
Jumlah bulan:12
3. Flowchart
4.
5. Implementasi dengan C++
#include <cstdlib>
#include <iostream>
#include <iomanip>//menampilkan setw
using namespace std;
int tabel(int a[100][100],int n, int b){
    cout<<endl;
    for(int i=1;i<=n;i++){
        cout<<i<<setw(5);
        for(int j=1;j<=b;j++){
        cout<<a[i][j]<<setw(5);
        }cout<<endl;
    }
}
int main(int argc, char *argv[])
{
    int a[100][100];
    int n,b,maks;
    maks=0;
    cout<<"Masukkan Jumlah Penjualan : ";
    cin>>n;
    cout<<"Masukkan Jumlah Bulan : ";
    cin>>b;
        
    for(int i=1;i<=n;i++){
        for(int j=1;j<=b;j++){
            cout<<"Masukkan Data Ke-["<<i<<"]["<<j<<"] : ";
            cin>>a[i][j];
        }
    }
    cout<<"X/Y|     ";
    for(int i=1;i<=b;i++)
        cout<<i<<setw(5);
    tabel(a,n,b);  
    cout<<endl;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=b;j++){
            if(a[i][j]>maks)
            maks=a[i][j];
          
   
   
        }                          
   }
   int min=a[1][1];
            for(int i=1;i<=n;i++){
        for(int j=1;j<=b;j++){
            if(a[i][j]<min)
            min=a[i][j];
          
   
   
        }                          
   }
         cout<<"maks = "<<maks<<endl;
         cout<<"min = "<<min<<endl;  
          
    system("pause");
    return 0;
}

6. Eksekusi

REFLEKSI MINGGU #10

Assalamualaikum wr.wb,

Pertemuan ke 10 hari ini membahas tentang :
1. Linier serch
Andaikan terdapat array aray dengan banyak data sebanyak ukuran. Misalkan kita ingin
mencari data kunci dalam array aray. Prinsip pada pencarian linier, setiap data pada aray akan
dibandingkan dengan kunci sampai pada data yang terakhir (kasus terburuk). Bila pada posisi
ke-i data sama dengan kunci, berarti data ditemukan pada posisi ke-i. Bila sampai akhir data,
data tidak juga ditemukan berarti kunci tidak ada pada aray.




2. Biner (Binary Search)
Pada algoritma pencarian biner, data sudah dalam keadaan terurut (untuk mudahnya
diasumsikan urut naik). Contoh dalam kehidupan sehari-hari, seperti orang mencari nomor
telepon pada buku telepon. Setiap kali pencarian, kunci akan selalu dibandingkan dengan data
yang berada di tengah (middle), bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah
data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan”
(artinya data lebih besar dari data di tengah). Bila data ada di sebelah kiri, dilakukan pencarian
dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan). Jadi,
setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik
tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada
perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).

Untuk lebih jelas lagi bisa lihat tugas-tugas yang sudah di upload, stay stalking my blog Nur Farikhah ^_^