Array pada C++
Pengertian Array :
Array merupakan tipe data terstruktur yang berguna untuk menyimpan sejumlah data yang bertipe sama. Bagian yang menyusun array disebut elemen array(isi), yang masing-masing elemen dapat diakses tersendiri melalui indeks array.
- Antara satu Variabel dengan variabel lain di dalam array dibedakan berdasarkan Subscript
- Sebuah subscript berupa bilangan di dalam Kurung siku […]
- Melalui subscript inilah masing-masing elemen array dapat diakses.
Sebagai contoh, misalkan terdapat array A yang memiliki 10 buah elemen nilai yang bertipe integer, maka kita dapat mereprentasikannya dengan gambar berikut.
Perbedaan Array dengan Variabel Biasa
Deklarasi variabel array :
Bentuk umum dalam mendeklarasikan suatu variabel array adalah sebagai berikut : int nilai[6];
Untuk mendeklarasikan suatu variabel array, komponen yang dibutuhkan adalah :
Untuk mendeklarasikan suatu variabel array, komponen yang dibutuhkan adalah :
- Tipe data elemen array
- Nama array
- Jumlah elemen array
Baca Artikel Terkait : MODULAR Function
Terdapat dua cara umum dalam mendeklarasikan variabel array :
- Mendeklarasikan variabel array, tanpa memasukkan nilai ke dalam variabel tersebut:
int nomor [6] ; - Mendeklarasikan variabel array, dengan memasukkan nilanya sekaligus ke dalam variabel tersebut:
int nomor [6] = { 10, 14, 28, 20, 23, 9 } ;
Aartikel Terkait : KONTSTANTA
Macam – macam array dapat dibedakan menjadi :
1. Array berdimensi satu
Yaitu data-data akan disimpan dalam satu baris array, sehingga hanya dibutuhkan satu pernomoran indeks.
Misalkan kita ingin membuat program untuk mencari nilai rata-rata dari 5 buah data nilai yang diinputkan oleh user. Tanpa menggunakan array, maka programnya adalah sebagai berikut :
Misalkan kita ingin membuat program untuk mencari nilai rata-rata dari 5 buah data nilai yang diinputkan oleh user. Tanpa menggunakan array, maka programnya adalah sebagai berikut :
void main() {
float nilai1, nilai2, nilai3, nilai4, nilai5;
float jumlah, rata2;
cout<<“Program Menghitung Nilai Rata-rata”<<endl;
cout<<“Masukkan nilai ke 1 : “;
cin>>nilai1;
cout<<“Masukkan nilai ke 2 : “;
cin>>nilai2;
cout<<“Masukkan nilai ke 3 : “;
cin>>nilai3;
cout<<“Masukkan nilai ke 4 : “;
cin>>nilai4;
cout<<“Masukkan nilai ke 5 : “;
cin>>nilai5;
jumlah = nilai1 + nilai2 + nilai3 + nilai4 + nilai5;
rata2 = jumlah / 5;
cout<<“Nilai rata-rata adalah “<<rata2<<endl;
getch();
}
Pada program di ATAS kita memerlukan 5 buah variabel yang berbeda-beda untuk menyimpan 5 buah nilai. Bisa dibayangkan kesulitan yang dihadapi jika kita harus memproses data yang lebih banyak.
Jadi Untuk lebih mudahnya kita dapat menggunakan array, seperti pada program berikut :
Jadi Untuk lebih mudahnya kita dapat menggunakan array, seperti pada program berikut :
void main()
{
float nilai[5];
float jumlah, rata2;
cout<<“Program Menghitung Nilai Rata-rata”<<endl;
for(int i=0; i<5; i++)
{
cout<<“Masukkan nilai ke “<<(i+1)<<” : “;
cin>>nilai[i];
}
jumlah = 0;
for(int i=0; i<5; i++)
{
jumlah = jumlah + nilai[i];
}
rata2 = jumlah / 5;
cout<<“Nilai rata-rata adalah “<<rata2<<endl;
getch();
}
BACA : Tpe Data dalam C++
2. Array Berdimensi Dua
Array berdimensi dua memberikan kita kesempatan untuk menyimpan data baik dalam bentuk baris maupun dalam bentuk kolom. Oleh karena itu dibutuhkan dua buah nilai indeks.
Bentuk umum dalam mendeklarasikan array berdimensi dua adalah sebagai berikut :
tipe data namaVariabel [jumlah_baris] [jumlah_kolom]
Contoh Array Dimensi dua :
Bentuk tabel diatas dapat dituangkan dalam bentuk array berdimensi dua dengan pendefinisian sebagai berikut :
Pada pendefinisian diatas :
3 menyatakan jumlah baris (mewakili jurusan)
4 menyatakan jumlah kolom (mewakili tahun kelulusan)
3 menyatakan jumlah baris (mewakili jurusan)
4 menyatakan jumlah kolom (mewakili tahun kelulusan)
Contoh pengaksesan :
data_lulus[1][2] = 5;
Artinya, memberikan nilai 5 ke baris 1 kolom 2 (baris dan kolom dimulai dari 0).
cout<<data_lulus[1][2];
Artinya, menampilkan elemen data_lulus dengan subscript pertama (baris) berupa 1 dan subscript kedua (kolom) berupa 2.
data_lulus[1][2] = 5;
Artinya, memberikan nilai 5 ke baris 1 kolom 2 (baris dan kolom dimulai dari 0).
cout<<data_lulus[1][2];
Artinya, menampilkan elemen data_lulus dengan subscript pertama (baris) berupa 1 dan subscript kedua (kolom) berupa 2.
Contoh Array Berdimensi dua
#include <iostream.h>
#include <conio.h>
int main()
{
int Nilai[4][3];
int pilih, i;
// memasukkan data ke dalam array berdimensi dua
Nilai[0][0] = 5; // nilai Nobita minggu ke 1
Nilai[0][1] = 3; // nilai Nobita minggu ke 2
Nilai[0][2] = 2; // nilai Nobita minggu ke 3
Nilai[1][0] = 72; // nilai Suneo minggu ke 1
Nilai[1][1] = 88; // nilai Suneo minggu ke 2
Nilai[1][2] = 60; // nilai Suneo minggu ke 3
Nilai[2][0] = 90; // nilai Shizuka minggu ke 1
Nilai[2][1] = 100; // nilai Shizuka minggu ke 2
Nilai[2][2] = 85; // nilai Shizuka minggu ke 3
Nilai[3][0] = 55; // nilai Giant minggu ke 1
Nilai[3][1] = 76; // nilai Giant minggu ke 2
Nilai[3][2] = 46; // nilai Giant minggu ke 3
// menampilkan nilai
while (1)
{
cout << “(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)\n”;
cout << “Nama Siswa (masukkan kode angka) : “; cin >> pilih;
if ((pilih == 0) || (pilih == 1) || (pilih == 2) || (pilih == 3))
break; //keluar dari loop-while
}
cout << “\nNama Siswa : “;
if (pilih == 0) cout << “Nobita\n”;
if (pilih == 1) cout << “Suneo\n”;
if (pilih == 2) cout << “Shizuka\n”;
if (pilih == 3) cout << “Giant\n”;
for (i = 0; i < 3 ; i++)
{
cout << “Minggu ” << i+1 << ” : ” << Nilai[pilih][i] << “\n”;
}
getch();
return 0;
}
Output Data
(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)
Nama Siswa (masukkan kode angka) : 2
(0 = Nobita, 1 = Suneo, 2 = Shizuka, 3 = Giant)
Nama Siswa (masukkan kode angka) : 2
Nama Siswa : Shizuka
Minggu 1 : 90
Minggu 2 : 100
Minggu 3 : 85
Minggu 1 : 90
Minggu 2 : 100
Minggu 3 : 85
Contoh Array Operasi Matriks
Penjumlahan Matriks
- Untuk menjumlahkan kedua matriks, dibutuhkan matriks yang memiliki ordo yang sama. Ordo adalah ukuran baris dan kolom. Apabila kita memiliki suatu matriks berukuran 2×3, maka kita memerlukan matriks lain yang berukuran 2×3 juga untuk dapat dijumlahkan
- Proses yang terjadi adalah setiap elemen pada matriks pertama dijumlahkan dengan elemen pada matriks kedua sesuai dengan alamat baris dan kolomnya.
#include <iostream.h>
#include <conio.h>int main()
{
int matrikA[3][4] = {7,6,9,3,5,7,4,2,7,9,2,2};
int matrikB[3][4] = {{3,6,8,6},{7,3,9,1},{8,5,9,4}};
int matrikC[3][4];
int i, j;
//penjumlahan matriks
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
{
matrikC[i][j] = matrikA[i][j] + matrikB[i][j];
}
}
//menampilkan data masing-masing matriks
cout << “\nData Matriks A : \n”;
cout << “================ \n”;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
cout << matrikA[i][j] << ” “;
cout << “\n”;
}
cout << “\nData Matriks B : \n”;
cout << “================ \n”;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
cout << matrikB[i][j] << ” “;
cout << “\n”;
}
cout << “\nData Matriks C = Matriks A + Matriks B : \n”;
cout << “======================================== \n”;
for (i=0; i<3; i++)
{
for (j=0; j<4; j++)
cout << matrikC[i][j] << ” “;
cout << “\n”;
}
getch();
return 0;
}
Otput Data
Contoh Array Memperoleh Bilangan Terbesar
Pada program ini, data akan dimasukkan ke dalam array, kemudian masing-masing data diperiksa hingga pada akhirnya didapatkan nilai terbesar.
#include <iostream.h>
#include <conio.h>
int main()
{
int data[10] = {3,23,10,44,87,8,29,37,26,21};
int max, i;
// menampilkan data pada array
cout << “Data pada array : \n”;
for (i=0; i<10; i++)
{
cout << data[i] << “\n”;
}
// memperoleh bilangan terbesar
max = data[0];
for (i=1; i<10; i++)
{
if (data[i] > max)
max = data[i];
}
cout << “\nBilangan terbesar yang diperoleh adalah : ” << max;
getch();
return 0;
}
Output Data
Mencari Suatu Data Pada Array
Prinsip utama dalam program ini adalah mengecek satu per satu data yang ada, untuk disesuaikan dengan nilai yang dimasukkan oleh user. Apabila ditemukan nilai yang sama, maka program akan berakhir dengan menampilkan kesimpulan dari pencarian tadi
Kelebihan Array :
- Merupakan struktur penyimpanan data yang paling mudah.
- Tipe data yang mampu menampung lebih dari satu data.
- Memori ekonomis, bisa semua elemen terisi.
- Waktu akses sama setiap elemen.
- Dapat diakses secara random
Kekurangan Array :
- Boros memory jika banyak elemen yang tidak digunakan.
- Merupakan struktur penyimpanan data yang statis.
- Kebanyakan bahasa pemrograman mengimplementasikan array statis yang sulit diubah ukurannya di pada waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis
Comments
Post a Comment