Array pada bahasa C/C++

Pada tutorial sebelumnya kita telah membahas tentang rekursi. Kali ini saya akan membahas tentang array, postingan kali ini akan mencakup, apa itu array, dan penggunaan array.
Pada tutorial tentang variabel dan konstanta kita telah mengenal pendeklarasian suatu variabel, dalam penggunaannya variabel hanya bisa digunakan untuk menyimpan satu nilai saja, jadi jika kita membutuhkan program untuk menyimpan banyak variabel kita harus mendeklarasikan satu persatu. Contohnya ketika saya ingin menyimpan banyak nilai berjenis integer saya akan menulis seperti ini.

int nilai1;
int nilai2;
int nilai3;
//dst

hal ini sangatlah merepotkan, terlebih lagi jika tiap variabel setiap variabel mempunyai keterkaitan. Pada kasus seperti ini kita dapat menggunakan array.

Pengertian Array

Array adalah kumpulan nilai-nilai yang berada di satu nama yang sama dan di bahasa strong typed seperti C,C++ dan C#, setiap nilai-nilai dalam array memiliki tipe data yang sama. Data-data ini disebut dengan elemen dan untuk mengakses tiap-tiap elemen kita menggunakan index elemen dari tersebut. Pada bahasa C/C++ ukuran dari array adalah tetap. Ilustrasi dari array dan variabel adalah sebagai berikut:

Perbedaan dari variabel dan array

Pada gambar diatas dapat diperhatikan perbedaan dari variabel dan array, variabel diisi dengan satu data saja akan tetapi array dapat diisi dengan banyak data yang disebut dengan elemen. Karena elemen array yang banyak maka untuk menentukan elemen manakah yang akan kita gunakan index. Index array pada bahasa C/C++ dan kebanyakan bahasa pemrograman dimulai dari angka 0, ilustrasinya dapat dilihat di gambar berikut:

Ilustrasi dari array dan indeks nya

Dapat diperhatikan bahwa array dimulai dari index ke 0, jari index terakhir dari setiap array adalah panjang dikurangi 1.

Mendeklarasikan Array

Untuk membuat array adalah sebagai berikut:

<Tipe data> <Nama Array>[<panjang array>];

Jadi jika kita ingin membuat array bertipe data integer dengan nama “arrayku” yang terdiri dari 10 elemen kita dapat menulisnya seperti berikut ini:

int arrayku[10];

Menyimpan nilai pada array

Kita dapat menginisialisasikan nilai dari array satu persatu :

int arrayku[10];
arrayku[0]=1;
arrayku[1]=2;
arrayku[2]=3;
arrayku[3]=4;
arrayku[4]=5;
arrayku[5]=6;
arrayku[6]=7;
arrayku[7]=8;
arrayku[8]=9;
arrayku[9]=10;

Atau kita dapat menggabungkannya kedalam satu statement seperti berikut ini

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

Perlu diingat bahwa jumlah nilai yang berada diantara kurung kurawal {} tidak boleh melebihi besar array, besar array adalah angka yang kita tulis diantara kurung siku []. Jika kita tidak menentukan besarnya array diantara kurung siku maka array akan menyesuaikan jumlah nilai diantara kurung kurawal. Contoh dibawah akan membuat array yang sama akan tetapi kita tidak perlu menentukan panjangnya.

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

Statement-statement diatas akan menghasilkan array seperti ilustrasi dibawah:

int arrayku[10]
Nilai : 1 2 3 4 5 6 7 8 9 0
index : 0 1 2 3 4 5 6 7 8 9

Mengakses nilai pada array

Cara mengakses elemen pada array adalah lewat indexnya. Caranya adalah kita menulis nama dari array diikuti dengan kurung siku yang didalamnya kita tulis index yang ingin kita akses. Contohnya kita ingin mengoutputkan nilai diindex 6 yang berisi nilai 7:

printf("%i",arrayku[6]);

Kita juga dapat menggunakan variabel untuk mengganti nomor index untuk pengaksesan array, hal ini memungkinkan digunakannya perulangan untuk memanipulasi array. Contoh dibawah ini adalah penggunaan perulangan untuk mengoutputkan setiap nilai di array ‘arrayku’ diatas:

int i;
for(i=0;i<10;i++){
  printf("Element ke-%i\t= %i\n",i,arrayku[i]);
}

Array multidimensi

Array yang kita gunakan diatas adalah array satu dimensi karena hanya terdiri dari satu dimensi saja yaitu panjang array. Array multidimensi adalah array memiliki lebih dari 1 dimensi, untuk mendeklarasikan array multidimensi adalah sebagai berikut

<tipe data> <nama>[besar dimensi ke-1][besar dimensi ke-2]....[besar dimensi ke-n]

Contoh penggunaan array multi dimensi adalah untuk menyimpan data berupa matrik, hal ini dikarenakan matrik dapat disimpan kedalam array 2 dimensi. Berikut ini adalah contoh penyimpanan matrik kedalam array

Contoh dari matriks 3X3

kita dapat menyimpannya kedalam array 2 dimensi seperti berikut ini:

int matrikA[3][3]={{1,2,3},{4,5,6},{7,8,9}};

Pada array diatas kita membuat array 2 dimensi yang memiliki panjang dan lebar 3. Cara menginisialisasikan array ini adalah kita menuliskan kurung kurawal terluar yang digunakan untuk baris dari matriks dan didalamnya terdapat array dari elemen dari tiap-tiap nilai baris array: {{<baris-1>},{<baris-2>},{<baris-3>}}

Perlu diingat kita tidak bisa mengosongi semua nilai panjang array dalam array multidimensi. Jadi kita tidak dapat menuliskan seperti berikut ini:

int matrikA[][]={{1,2,3},{4,5,6},{7,8,9}};

Penggunaan array

Untuk contoh program kali ini kita akan membuat program untuk mencari determinan dari matrik 2×2. Contoh kali ini hanya menggunakan bahasa C, untuk bahasa C++ kita tinggal mengganti input outputnya.

#include <stdio.h>

int main(){
  int matrik[2][2];
  int i,j;
  for(i=0;i<2;i++)
  {
    for(j=0;j<2;j++)
    {
      printf("Input nilai baris:%i kolom:%i\t: ",i+1,j+1);
      scanf("%i",&matrik[i][j]);
    }
  }
  printf("Matrik yang dimasukkan: \n");
  for(i=0;i<2;i++)
  {
    printf("|");
    for(j=0;j<2;j++)
    {
      printf("%4i",matrik[i][j]);
    }
    printf("|\n");
  }
  int determinan=(matrik[0][0]*matrik[1][1])-(matrik[0][1]*matrik[1][0]);
  printf("Determinan matrik adalah\t: %i",determinan);
  return 0;
}

Output program adalah seperti berikut ini:

Output dari program yang dibuat

Penutup

Sekian tutorial kali ini, Silahkan post komentar apabila anda menemui permasalahan.
HAPPY CODING

No Responses

  1. Anonymous October 17, 2017

Leave a Reply