09 - MATRIX / ARRAY / TABEL

09 - MATRIX / ARRAY / TABEL

09 - MATRIX / ARRAY / TABEL
Senin, 10 Januari 2022

ARRAY


PENGERTIAN ARRAY

Type array adalah type yang mengacu kepada sebuah atau sekumpulan elemen melalui indeks di variabel. Elemen array dapat di akses langsung jika indeks tersebut terdefinisi nilainya. Array biasanya disebut juga sebagai tabel, matriks, atau larik. 

Type array digunakan untuk mempresentasikan sekumpulan informasi yang tertipe sama, dan di simpan dengan urutan. Saya analogikan array sebagi hari, dalam hari terdapat nama hari yang berjumlah 7, misalnya indeks 1 saya isi dengan hari senin dan seterusnya. Terdapat berbagai jenis array yaitu array 1 dimensi, dan array multidimensi (2d, 3d).



DEFINISI ARRAY

  • Array merupakan tipe non-skalar yang mengacu pada sekumpulan elemen tipe dan diakses melalui indeks.
  • Eleme yang ada di didalam array harus mempunyai tipe yang sama.
  • Disebut juga tabel, vektor, atau larik.
  • Penyimpanan tipe di lakukan secara kontigu dalam memory komputer.

INDEKS ARRAY

  • Elemen suatu array dapat di akses melalui index yang telah terdefinisi: array[index]
  • Elemen di awali dari 0 adalah elemen pertama (beberapa bahasa pemrograman yang lain mungkin memulai indeks dari 1)

PENGAKSESAN

  • Pengaksesan elemen array dapat dilakukan berurutan atau acak berdasarkan indeks tertentu secara langsung.
  • contoh : nilai[2] bernilai 4

CONTOH SOAL ARRAY 1 DIMENSI

Soal pertama adalah kita akan membuat array yang berisikan nama hari dalam bahasa pemrograman C++. Bagaimana caranya? simak berikut:

Judul
menyimpan nama hari dalam array
Kamus
hari[7] : array {"senin", "selasa", "rabu", "kami", "jumat", "sabtu", "minggu"} of string
Algoritma
output hari[0]
output hari[1]
output hari[2]
output hari[3]
output hari[4]
output hari[5]
output hari[6]

Kodingan:

#include <iostream>
using namespace std;
// Kamus
string hari[7] = {"Senin", "Selasa",
 "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"};
// Algoritma
int main()
{
    cout << hari[0] << endl;
    cout << hari[1] << endl;
    cout << hari[2] << endl;
    cout << hari[3] << endl;
    cout << hari[4] << endl;
    cout << hari[5] << endl;
    cout << hari[6] << endl;

    cin.get();
    return 0;
}

Hasil run:


ARRAY 2 DIMENSI

  • Terdiri dari dua batasan nilai, untuk panjang baris dan panjang kolom.
  • Sehingga perlu untuk membuat kurugn kota sebanyak 2. [][]
  • Indeks di kurung kotak pertama merepresentasikan elemen baris.
  • indeks di kurung kotak kedua mempresentasikan elemen kolom.

Array 2 dimensi dapat direpresentasikan seperti matriks, penulisan array 2 dimensi adalah dengan satu variabel dan dua array, contohnya seperti ini: x[][], array 2 dimensi ini dapat di lihat indeksnya seperti gambar di bawah ini.

Dari gambar di atas dapat disimpulkan bahwa array awal berperan sebagai baris, dan array kedua berperan sebagai kolom.

CONTOH SOAL ARRAY 2 DIMENSI

Buatlah penjumlahan matriks ordo 3 x 3 dengan nilai yang di inputkan oleh user.

Notasi dari soal di atas:

Judul
Penjumlahan 2     matriks ordo 3 x 3 dengan nilai di inputkan oleh user
Kamus
m1[5][5], m2[5][5], hasil[5][5] : array of integer
Algoritma

output ("INPUT MATRIKS A")
i traversal[0..2]
{
  j traversal[0..2]
  {
    output("Baris ")(i + 1)(" kolom ")(j + 1)(" = ")
    input m1[i][j]
  }
}

output ("INPUT MATRIKS B")
i traversal[0..2]
{
  j traversal[0..2]
  {
    output("Baris ")(i + 1)(" kolom ")(j + 1)(" = ")
    input m2[i][j]
  }
}

output ("HASIL PENJUMLAHAN")
i traversal[0..2]
{
  j traversal[0..2]
  {
    hasil[i][j] <- m1[i][j] + m2[i][j]
    output (hasil[i][j])(new line)
  }
  output (new line)
}

Hasil run:

#include <iostream>
using namespace std;
// Kamus
int m1[5][5], m2[5][5], hasil[5][5];
// Algoritma
int main()
{
    // input nilai matriks A
    cout <<"====================\nINPUT MATRIKS A\n";
    for(int i=0;i<3;i++) {
        for(int j=0;j<3;j++) {
            cout <<"Baris "<< i+1 <<" Kolom "<< j+1 <<" = "; cin >> m1[i][j]; 
        }
    }
    // input nilai matriks B
    cout <<"\nINPUT MATRIKS B\n";
    for(int i=0;i<3;i++) {
        for(int j=0;j<3;j++) { 
            cout <<"Baris "<< i+1 <<" Kolom "<< j+1 <<" = "; cin >> m2[i][j];
        }
    }
    // output hasil penjumlahan antara matriks A dan matriks B
    cout <<"\nHASIL PENJUMLAHAN MATRIKS A DAN B ADALAH : \n";
    for(int i=0;i<3;i++) {
        for(int j=0;j<3;j++) {
            hasil[i][j] = m1[i][j] + m2[i][j];
            cout << hasil[i][j] <<"\t";
        }
        cout << endl;
    }
    cin.get();
    return 0;
}

Hasil run:


ARRAY 3 DIMENSI.


Array 3D

  • Perbedaan dengan Array 2D adanya tambahan kedalaman disini.
  • Dalam hal ini terdiri dari tigak kotak [dimensi baris] [dimensi kolom] [dimensi kedalaman]
  • kita bisa bisa mendeklarasikan array 3D seperti ini : int x[3][3][3]

SOAL SEDERHANA

int x[2][3][2] = {
{ {0,1}, {2,3}, {4,5} }, { {6,7}, {8,9}, {10,11} }
};

begini jika berada didalam tabel :

Berapakah nilai x[0][1][0]? jawaban : 2 artinya adalah berada di tabel pertama baris 1 dan kolom 2.

Berapakah nilail x[1][2][1]? jawaban : 11 artinya adalah berada di tabel ke dua baris ke 2 dan kolom ke 3

CONTOH SOAL ARRAY

Di soal yang pertama kita akan membuat sebuah array untuk menampung data usia berupa inputan dan dari inputan itu kita akan mengurutkannya (sorting) dari usia paling mudah.

Notasi

Judul
Mengiputkan data usia lalu mengurutkan dari paling muda
Kamus
usia : array[0..10]
a,b : integer
Algoritma

output ("INPUT USIA")


i traversal [0..5]
{
    output ("input usia ke-")(i+1)(" : ")
    input (usia[i])
}

output ("SEBELUM DI SORTING")

i traversal [0..5]
{
    output (usia ke-)(i+1)(" : ")(usia[i])
}

output ("SESUDAH DI SORTING")
a <- 0
while(a<=5) {
    b <- a+1
    while(b<=5) {
        if(usia[a] > usia[b]) {
            swap(usia[a],usia[b])
        }
        b <- b+1
    }
    a <- a+1
}


i traversal [0..5]
{
    output ("USIA KE-")("i + 1")(" : ")(usia[i])
}

Kodingan:

/***************************
Judul: sorting data
Nama : Samuel Andrey Aji Prasetya
NIM : A11.2021.13716
Kelompok : A11.4113
Tanggal : 24 januari 2022
***************************/
// kamus
#include <iostream>
using namespace std;

int usia[10];
int a,b;
// algoritma
int main() {
    // input data
    cout <<"INPUT USIA\n";
    for(int i=0;i<=5;i++)
    {
        cout <<"input usia ke-"<<i+1<<" : ";
        cin >> usia[i];
    }
    // penampilan data sebelum di sorting
    cout <<"SEBELUM DI SORTING\n";
    for(int i=0;i<=5;i++)
    {
        cout <<"usia ke-"<<i+1<<" : "<<usia[i]<<"\n";
    }

    cout <<"\nSESUDAH DI SORTING\n";
    a=0;
    while(a<=5) {
        b=a+1;
        while(b<=5) {
            if(usia[a] > usia[b]) {
                swap(usia[a],usia[b]);
            }
            b+=1;
        }
        a+=1;
    }
    // proses sorting data


    // menampilkan data setelah di sort
    for(int i=0;i<=5;i++) {
        cout <<"USIA KE-"<<i+1<<" : "<< usia[i]<<"\n";
    }

    
   return 0;
}

Hasil run program:


Dan itu tadi contoh dari sorting atau pengurutan data di array.


Bila ada kesalahan dalam penulisan dan kekurangan lainnya mohon di maafkan, karena disini kita sama-sama belajar, dan bila mempunyai referensi lebih atau saran silahkan tambahkan di kolom komentar. Terima kasih.


Referensi : Diktat prosedural ITB IF. IF ITB.2007 , PPT Daspro teori array.

Seorang yang lebih suka menyendiri dan tidak suka di keramaian, walaupun dunia ini luas tapi sendiri lebih nyaman.
  • Facebook
  • WhatsApp
  • Instagram
  • Iklan Atas Artikel

    Iklan Tengah Artikel 1

    Iklan Tengah Artikel 2

    Iklan Bawah Artikel