Pengenalan Array dan String


Array merupakan koleksi data dimana setiap elemen memakai nama dan tipe yang sama serta setiap elemen diakses dengan membedakan indeks array-nya. Berikut adalah contoh variable bernama c yang mempunyai lokasi memori yang semuanya bertipe int.

C[0] = -45;
C[1] = 6;
C[2] = 0;
C[3] = 72;
C[4] = 1543;
C[5] = 43;
C[6] = 4;

Masing-masing nilai dalam setiap lokasi mempunyai identitas berupa nama c dan nomor indeks yang dituliskan di dalam tanda kurung ‘[..]’. sebagai contoh, 72 adalah nilai dari c[3].

Deklarasi Array
Variable array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat. Dengan demikian, deklarasi untuk variable array c di atas adalah :
int c[7];

Perlu diperhatikan bahwa C++ secara otomatis menyediakan lokasi memori yang sesuai dengan yang dideklarasikan, dimana nomor indeks selalu dimulai dari 0. Nilai suatu variable array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya;
Int c[7] = {-45, 0, 6, 72, 1543, 43, 4}
Berarti setiap lokasi memori dari variable array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal.

Banyaknya lokasi memori dapat secara otomatis disediakan sesuai degan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori:
Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31};
Untuk memperjelas gambaran anda tentang array perhatikan contoh aplikasi variable array, yaitu program untuk menghitung jumlah setiap elemen dalam suatu array.
Sebagai gambaran dari program tersebut, dapat dibuat sebuah algoritma sebagai berikut:

  1. Tentukan elemen array sebanyak yang diinginkan (dalam hal ini, elemen array tersebut berjumlah 12 buah)
  2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini, nilai awal indeks adalah 0, batas akhir indeks adalah jumlah elemen array diatas yaitu 12 dikurangi dengan 1, kenaikannya adalah 1)
  3. Lakukan perulangan sesuai dengan langkah 2
  4. Lakukan penjumlahan masing-masing elemen array sampai batas akhir indeks terpenuhi
  5. Tampilkan penjumlahan semua elemen array
  6. Selesai.

Sedangkan implementasi dalam program dapat dilihat berikut ini.

Contoh Program array

/*Program :array1.cpp*/
#include 
#define SIZE 12
main()
{
  int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45};
  int indeks, total =0;
  for(indeks=0; indeks<=SIZE-1; indeks++)
    total += a[indeks]; 
  printf("\nTotal setiap elemen array adalah %d",total);
  return 0;
}

Bila program diatas dijalankan, akan muncul hasil :
Total setiap elemen array adalah 383

Adapun keterangan dari program diatas adalah sebagai berikut :
Hasil penjumlahan setiap elemen array diperoleh dari jumlah data atau elemen array sebanyak 12 buah yang sudah didefinisikan pada awal program yaitu #define SIZE 12. Kemudian setiap elemen array dari a[0] yang berisi data, a[1] yang berisi data 3 di jumlahkan sampai dengan a[11] yang berisi data 45. Proses penjumlahan dilakukan pada loop dimulai dari 0 sampai data yang terakhir atau elemen terakhir.

Array Dimensi Satu
Bentuknya :
Tipe nama_var[ukuran];
Dengan :
Tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain)
Ukuran : menyatakan jumlah maksimal elemen array
Contoh :
Float nilai_ujian[5];

Pada turbo C++ array disimpan dalam memori secara berurutan. Elemen pertama berindeks nol digambarkan sebagai berikut :
Nilai_ujian[0]
Nilai_ujian[1]
Nilai_ujian[2]
Nilai_ujian[3]
Nilai_ujian[4]

Masing-masing berbentuk float dan berjumlah 5 elemen.
Selain itu, deklarasi array juga dapat berupa :
Static int bulan[12]={1,2,3,4,5,6,7,8,9,10,11,12}
Sesuai dengan deklarasi array diatas, maka isi variable array telah ditentukan yaitu :
Bulan[0] bernilai 1
Bulan[1] bernilai 2
Bulan[2] bernilai 3
Bulan[3] bernilai 4
Bulan[4] bernilai 5
Bulan[5] bernilai 6
Bulan[6] bernilai 7
Bulan[7] bernilai 8
Bulan[8] bernilai 9
Bulan[9] bernilai 10
Bulan[10] bernilai 11
Bulan[11] bernilai 12

Untuk memperjelas tentang array dimensi satu, perhatikan maslah berikut ini :

Misalkan Anda diminta membuat algoritma dan program untuk menampilkan bilangan dari 1 sampai bilangan 10, dengan pangkatnya masing-masing. Adapun batas nilai maksimal yang disimpan adalah 100.
Sesuai yang telah Anda pelajari , bahwa bilangan 1 pangkatnya adalah 1. Hasil ini diperoleh dari 1*1, kemudian bilangan 2 pangkatnya adalah 4, hasil ini diperoleh dari 2*2 sampai bilangan 10 yang pangkatnya adalah 100, hasil ini diperoleh dari 10*10.
Algoritma dari permasalahan diatas adalah berikut ini :
1. Tentukan elemen array untuk menampung nilai perkalian
2. Tentukan nilai awal indeks, batas akhir indeks dan kenaikannya (dalam hal ini , nilai awal indeks adalah 0, batas akhir indeks adalah 10, dan kenaikannya adalah 1)
3. Lakukan perulangan sesuai langkah 2
4. Nilai awal indeks ditambah dengan 1
5. Lakukan perkalian masing-masing elemen array sampai batas akhir indeks terpenuhi.
6. Tampilkan perkalian semua elemen array
7. Selesai .
Contoh program array dimensi satu

/*Program :array2.cpp*/
#include 
int main()
{
  int square[100];
  int i; /*loop index*/;
  int k; /*the integer*/

  /*calculate the squares */
  for (i=0; i<10; i++)
  {
    k= i+1;
    square[i]=k*k;
    printf("\nPangkat dari %d adalah %d ", k, square[i]);
  }
  return 0;
}

Bila program dijalankan akan muncul hasil :
Pangkat dari 1 adalah 1
Pangkat dari 2 adalah 4
Pangkat dari 3 adalah 9
Pangkat dari 4 adalah 16
Pangkat dari 5 adalah 25
Pangkat dari 6 adalah 36
Pangkat dari 7 adalah 49
Pangkat dari 8 adalah 64
Pangkat dari 9 adalah 81
Pangkat dari 10 adalah 100

Penjelasan :
Dari program diatas, Anda dapat melihat ada 10 buah elemen yang masing-masing nilainya akan dipangkatkan, mulai dari 1 sampai 10. Dimana dalam memori sudah dipesan tempat sebanyak 100.
Sedangkan apabila array akan dikirim ke sebuah fungsi caranya adalah hanya dengan mencantumkan nama array tanpa diikuti dengan tanda apapun, seperti contoh berikut :
int c[5] = {-45, 0, 6, 72, 1543};
---
---
JUMLAH (c, 5)
----

Dalam contoh diatas, yang memanggil fungsi JUMLAH dengan mengirimkan argument berupa variable array c dan sebuah konstanta 5. Perhatikan bahwa variable array ditulis hanya c tanpa notasi tambahan apapun. Deklarasi variable array yang menjadi parameter dari suatu fungsi dituliskan dengan nama variable array yang diikuti dengan tanda kurung [], tanpa menuliskan banyaknya lokasi memori yang diinginkan.

ARRAY DIMENSI DUA
Struktur array yang dibahas diatas mempunyai satu dimensi, sehingga variabelnya disebut variable array berdimensi satu. Pada bagian ini ditunjukkan array berdimensi lebih dari satu, yang sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; yang menempati lokasi memori dengan susunan sebagai berikut :
0 1 2
0 2 4 1
1 5 3 7

Dan definisi variable untuk setiap elemen tersebut adalah :
0 1 2
0 b[0][0] b[0][1] b[0][2]
1 b[1][0] b[1][1] b[1][2]

Sebagai implementasi dari keterangan diatas, perhatikan program berikut ini :
Contoh Program array dimensi dua

/*Program :array2.cpp*/
#include 
void printArray(int[][3]);
main()
{
  int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}};
  int matrik2[2][3] = {1, 2, 3, 4, 5};
  int matrik3[2][3] = {{1, 2},{4}};
  printArray (matrik1);
  printArray (matrik2);
  printArray (matrik3);
  return 0;
}

void printArray (int a[][3])
{
  int i,j;
  for (i=0; i<=1; i++)
  {
    for (j=0; j<=2; j++)
    printf("%d",a[i][j]);;
    printf("\n");
  }
}

Bila program diatas dijalankan, akan mucul hasil :
123
456
123
450
120
400

Penjelasan :
Dari program diatas untuk matrik 1, penulisannya adalah 123 456, sedangkan pada matrik 2 penulisannya adalah 123 450. 0 disini mempunyai arti tempat yang disediakan untuk data kolom ke 3 dan baris ke 2 tidak diisi. Sedangkan matrik 3 penulisannya adalah 120 400. Dari matrik 3 disini kita bisa melihat bahwa pada baris pertama kolom ketiga data tidak diisi dan dianggap 0 dan pada baris kedua kolom kedua dan ketiga juga tidak diisi juga diisi 0.
Dalam program tersebut, juga digunakan fungsi untuk menampung hasil penjumlahan matrik.
Perhatikan contoh lain :
Int datasiswa[4][3];
Deklarasi diatas digunakan untuk mendeklarasikan suatu data siswa yang berbentuk demikian :
No Nama Kelas Jumlah Siswa
Tahun 1989 Tahun 1990 Tahun 1991
1 Kelas 1 50 55 49
2 Kelas 2 60 60 55
3 Kelas 3 56 56 56
4 Kelas 4 49 50 54

Dari deklarasi diatas maka angka empat [4] menyatakan jumlah kelas, dan angka indek [3] menyatakan tahun.
Data siswa [0][2] adalah Kelas 1 dan jumlah siswa tahun 1990 yaitu 55. Atau jumlah siswa kelas 1 pada tahun 1990 adalah 55.

Bentuk data siswa dapat juga digambarkan sebagai berikut :
1 2 3
1 50 55 49
2 60 60 55
3 56 56 56
4 49 50 54

Array ini dapat pula diberi nilai tetap dengan static seperti pada array dimensi satu. Deklarasinya adalah sebagai berikut :
Static int jumlah [4][3]=
{
50, 55, 49,
60, 60, 55,
56, 56, 56,
49, 50, 54
};

ARRAY DIMENSI BANYAK

Array ini seperti array dimensi dua tetapi dapat memiliki ukuran yang lebih besar. Sebenarnya array dimensi banyak ini tidak terlalu sering digunakan, tetapi sewaktu-waktu kalau dimensi yang dibutuhkan banyak, maka array ini sangat memegang peranan yang penting.


25 responses to “Pengenalan Array dan String”

  1. kk kalau array tersebut melibatkan operasi penjumlahan kebawah gimana cara penulisannya?? misal saya punya 3 produk, terus dalam setiap produk memiliki 3 tahun, dan didalam setiap tahun memiliki 2 semester… gimana cara penulisan untuk penjumlahan produk pada kolom semester pertama tahun pertama dari produk pertama sampai produk ketiga??? thank’s ya sebelumnya.

  2. bg add lahhhh facebook aq yar bisa tiap hari aq liat blogg abg n liat coment2 blogg na tx

    soalnya palink suka blajar c++ bg

    tlong yachhh!!!!

  3. tlog ana donk..
    bagaimana caranya clearin soal ni:
    ini pakai array
    dalam tabel bahwa:

    tahun 2000
    dolar=Rp.15000
    pound=Rp.17000

    tahun 2001
    dolar=Rp.16000
    pound=Rp.18000

    inputnya kurs=pound atau dollar
    tahun=

  4. Wahh makasih banget mas,, saya lagi butuh contoh Array di C++, maklum pindah dari PHP ke C++ ternyata banyak yang harus diperhatikan lagi,, hehe.. oh ya mas,, mohon tannya,, kan ada yang ini for(indeks=0; indeks<=SIZE-1; indeks++),, kalo saya buat menjadi ini for(indeks=0; indeks<SIZE; indeks++), jadi si SIZE gak saya kurang satu, tapi kondisi loopingnya saya ubah < biar nilai indeks gak keulang sejumlah SIZE,, itu gimana ? apa ada bedanya ?? terimakasihh

  5. ka tolong bantuin aku dong, ada tugas kuliah ni soal’a tentang array masih belum ngerti
    Diberikan matriks A sebagai berikut :
    1 2 3 4
    0 2 3 4
    0 0 3 4
    0 0 0 4
    itu listing program’a gimana ya ka ??
    makasih ka :)

  6. maaf,masih baru belajar C
    maw tanya_
    kl untuk ngujinya pake program apa ya maz?
    kl di java kan ada netbeans, nah kl c sendiri pake apa maz?
    terimakasih_

Leave a Reply