Pengenalan Array pada Bahasa C++

oleh Danny Suggi Saputra — Teknik Informatika UIN Sunan Gunung Djati Bandung

Danny Suggi Saputra
6 min readDec 19, 2022

ARRAY

Array atau Larik adalah sebuah variable yang memiliki serangkaian elemen dari jenis tipe data yang sama. Elemen-elemen tersebut dirangkai di dalam memori yang berdekatan dengan elemen lainnya. Bayangkan apabila pekerja sedang bekerja membuat program untuk suatu organisasi sekolah, tepatnya digunakan untuk mendata nilai-nilai dari siswa pada suatu kelas, dan dalam satu kelas terdapat 50 anak. Dengan arti kita membutuhkan 50 tempat penyimpanan (variabel).

Double nilai1, nilai2, nilai3, …, nilai50;

Jika menggunakan logika diatas akan sangat tidak efektif atau salah. Bagaimana jika satu kelas tidak selalu memiliki 50 anak, mungkin di masa depan akan memiliki murid lebih dari 50 anak di dalam kelas. Dengan arti program itu akan selalu membutuhkan modifikasi, bukan hanya pada variabel tersebut tapi keseluruhan program, seperti input, proses dan output. Untungnya, dalam bahasa pemrograman C++ dan hampir semua bahasa pemrograman, menyediakan fitur yang bernama “Array” atau “Larik”.

Array memungkinkan kita untuk membuat sebuah variabel yang dapat menyimpan banyak nilai. Di dalam array terdapat banyak elemen yang merupakan tempat untuk penyimpanan setiap nilai.

Bentuk Penulisan
Untuk merubah variabel biasanya menjadi variabel array adalah dengan menambahkan opreator subscript ( [ ] ). Untuk parameter di dalam operator subscript disebut sebagai index atau subscript, tempat dimana kita memberitahukan compiler berapa jumlah variabel yang akan di alokasi sesuai yang kita inginkan. Dalam array, istilah dari banyak variabel yang dialokasi itu disebut sebagai elemen.
Contoh penulisan:

  tipeData identifier[ukuran];

Inisialisasi Array
Saat mendirikan variabel array kita juga dimungkinkan untuk memberi nilai saat deklarasi variabel array secara bersamaan, inisialisasi array disebut sebagai “Initializer list”. Apa yang kita butuhkan untuk inisialisasi sebuah variabel array adalah sepasang tanda kurung kurwal yang mengapit semua nilai tersebut.
Contoh penulisan:

int grade[50] = {100, 90, 80, 70, 60, 50, 40, 30, 20, 10};

Di atas adalah contoh dari cara inisialiasi sebuah variabel array yang memiliki 50 elemen. Untuk melakukan inisialisasi kita membutuhkan tanda sama dengan setelah itu nilai dari setiap elemen. Nilai-nilai setiap elemen akan di kurung di dalam sepasang tanda kurung kurawal. Setiap nilai dipisahkan dengan tanda koma.

Mengakses Variabel Array
Untuk mengakses variabel array tidak jauh beda dengan cara mengakses variabel biasa, untuk mengakses variabel array membutuhkan Operator subscript ( [] ) dengan index di dalamnya yang diletakan setelah identitas variabel.
Contoh penulisan:

grade[2];

Contoh di atas akan mengakses elemen ketiga dari variabel “grade”. Bahasa pemrograman C++ tepatnya pada fitur array selalu menggunakan bilangan cacah (bilangan dimulai dari 0).

index array

ARRAY MULTIDIMENSI

Array adalah fitur dari bahasa pemrograman c++ yang memungkinkan kita untuk memesan banyak memori yang memiliki tipe data yang sama dengan hanya menggunakan satu identitas. Dalam variabel kita dimungkinkan untuk menggunakan array lebih dari satu buah, dan hal itu disebut sebagai Array Multidimensi.

Bentuk Penulisan

tipeData identifier[size1][size2];

Array dua dimensi memungkinkan anda untuk menggunakan array di dalam array, setiap array memiliki array di dalamnya. Kita dapat membayangkan sebuah array dua dimensi seperti sebuah table yang memiliki baris dan kolom, untuk array atau subscript pertama adalah baris dan subscript kedua adalah kolom.
Contoh:

Int x[3][4];
baris dan kolom pada array multidimensi

Inisialisasi Array Dua Dimensi
Untuk menginisialisasi array dua dimensi adalah dengan cara menggunakan tanda kurung kurawal di dalam tanda kurung kurawal.

string nama[3][2]={
{“joko”, “dadang”}, //baris ke satu dengan 2 kolom
{“fajar”, “nick”}, // baris ke dua dengan 2 kolom
{“laksono”, ”eren”} // baris ke tiga dengan 2 kolom
}

Tanda kurung kurawal pertama akan menyatakan keseluruhan array dari variabel, di dalamnya terdapat 3 sepasang kurung kurawal yang dipisahkan dengan tanda koma, yang menyatakan array dari subscript pertama. Di dalam masing-masing tanda subscript pertama berdiri 2 nilai sesuai ukuran array subscript kedua, masing-masing nilai dipisahkan dengan tanda koma.

Mengakses Array Dua Dimensi

Untuk mengakses sebuah cell pada array dimensi dua, sama seperti kita mengakses array dimensi satu. Tapi disini kita membutuhkan dua subscript sebagai alamat cell tersebut.

nama[2][1];

Untuk dapat megakses setiap cell di dalam array dua dimensi dengan dinamis anda dapat menggunakan pernyataan pengulangan nested (nested loop).

STUDI KASUS

Array dan multidimensional array dapat digunakan untuk berbagai kasus, salah satunya adalah pengoprasian matriks. Pada dasarnya matriks ini hamper sama dengan konsep dari array itu sendiri. Matriks adalah sekumpulan bilangan yang disusun berdasarkan baris dan kolom, serta ditempatkan di dalam tanda kurung.
Contoh kasus yang akan penulis kerjakan ialah:

  1. Menukar nilai baris dan kolom dalam suatu matriks atau bisa disebut sebagai transpose matriks.
  2. Membuat deret bilangan pada matriks dan mencari sejumlah bilangan yang tidak habis dibagi 3, 5, 7.

SOURCE CODE

Soal nomor 1

#include <iostream>
using namespace std;

const string divider = "==================================================\n";

int main(){
int i, j, n;
int num[20][20], temp[20][20];

cout << "MENUKAR NILAI BARIS DAN KOLOM\n";
cout << "Nama: Danny Suggi Saputra\nNIM: 1227050033" << divider;

cout << "Masukkan jumlah baris dan kolom matriks: "; cin >> n;
cout << endl;

cout << "Masukkan elemen matriks \n";
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
cout << "Matriks[" << i+1 << "][" << j+1 << "]: ";
cin >> num[i][j];
}
}
cout << "\n";

cout << "Matriks Awal : \n";
for (i = 0; i < n; i++){
for (j = 0; j < n; j++){
cout << num[i][j] << "\t";
}
cout << endl;
}


for (i = 0; i < n; i++){
for (j = 0; j < n; j++){
temp[j][i] = num[i][j];
}
}

cout << "Hasil Sesudah di Tranpose Matriks: \n";
for (i = 0; i < n; i++){
for (j = 0; j < n; j++){
cout << temp[i][j] << "\t";
}
cout << endl;
}
}

Soal nomor 2

#include <iostream>
using namespace std;

const string divider = "\n==================================================\n";

int main() {
int n_baris, n_kolom, i, j, res;

cout << "MENCARI NILAI YANG TIDAK HABIS DIBAGI DENGAN 3, 5, 7\n";
cout << "Nama: Danny Suggi Saputra\nNIM: 1227050033" << divider;

cout << endl << "Masukkan banyak baris: "; cin >> n_baris;
cout << "Masukkan banyak kolom: "; cin >> n_kolom;
cout << endl;

int num[n_baris][n_kolom];

// input
cout << "Masukkan elemen matriks \n";
for (i = 1; i <= n_baris; i++) {
for (j = 1; j <= n_kolom; j++) {
cout << "Num[" << i << "." << j << "]: ";
cin >> num[i][j];
}
}
cout << endl;

// elemen matriks
cout << "Matriks yang dimasukkan : \n";
for (i = 1; i <= n_baris; i++){
for (j = 1; j <= n_kolom; j++){
cout << num[i][j] << "\t";
}
cout << endl;
}
cout << endl;

// proses
cout << "Bilangan yang tidak habis dibagi 3, 5, 7: ";
for (i = 1; i <= n_baris; i++) {
for (j = 1; j <= n_kolom; j++) {
if (num[i][j] % 3 != 0 && num[i][j] % 5 != 0 && num[i][j] % 7 != 0) {
cout << num[i][j] << " ";
}
}
}
}

OUTPUT

Soal nomor 1

output pada program nomor 1

Soal nomor 2

output pada program nomor 2

--

--