Minggu, 07 Juni 2015

ARRAY (STRUKTUR DATA)



Array

          Array adalah suatu variabel yang terdiri dari sekumpulan data dimana data-data tersebut mempunyai tipe data yang sama. Setiap data disimpan dalam alamat memori yang berbeda-beda dan disebut dengan elemen array. Setiap elemen mempunyai nilai indeks sesuai dengan urutannya. Melalui indeks inilah kita dapat mengakses data-data tersebut. Indeks dari elemen array ini, baik dalam bahasa C++ maupun Java dimulai dari 0, bukan 1 seperti dalam bahasa Pascal.

Macam – macam Array

Array dapat dibedakan menjadi 3, yaitu :
·         Array berdimensi satu
·         Array berdimensi dua
·         Array berdimensi banyak



Array berdimensi satu

Mendefinisikan array meliputi :
      Tipe data elemen array
      Nama array
      Jumlah elemen array

                      tipe_data nama_var_array[ukuran];

Misal :


char huruf[9]; 
Int umur[10];  
Int kondisi[2]={0,1}; 
     Int arr_dinamis[]={1,2,3};


            Subscript array (index array) dimulai dari nol

Keterangan :

Ø  char huruf[9]: berarti akan memesan tempat di memori komputer sebanyak 9 tempat dengan indeks dari 0-8, dimana semua elemennya bertipe data karakter semuanya. Kalau satu karakter berukuran 1 byte, berarti membutuhkan memori sebesar 9 byte.
Ø  int umur[10]: berarti akan memesan tempat di memori komputer sebanyak 10 tempat dengan indeks dari 0-9, dimana semua elemennya bertipe data integer semuanya. Kalau satu integer berukuran 4 bytes, berarti membutuhkan memori sebesar 4 x 10 = 20 bytes.
Ø  int kondisi[2]: berarti akan memesan tempat di memori komputer sebanyak 2 tempat dengan indeks 0-1, dimana semua elemennya bertipe data integer semuanya. Dan pada contoh di atas isi elemen-elemennya yang sebanyak 2 buah diisi sekaligus (diinisialisasi) yaitu pada elemen kondisi[0] bernilai 0, dan elemen kondisi[1] bernilai 1.
Ø  int arr_dinamis[]:berarti mendeklarasikan array dengan ukuran maksimum array tidak diketahui, namun ukuran tersebut diketahui berdasarkan inisialisasi yaitu sebanyak 3 elemen, yang isinya 1,2, dan 3. Kita tidak dapat mendeklarasikan array dinamis tanpa inisialisasi.
Ø  Tanda [] disebut juga “elemen yang ke- „. Misalnya kondisi[0] berarti elemen yang ke nol.
Ø  Array yang sudah dipesan, misalnya 10 tempat tidak harus diisi semuanya, bisa saja hanya diisi 5 elemen saja, baik secara berurutan maupun tidak. Namun pada kondisi yang tidak sepenuhnya terisi tersebut, tempat pemesanan di memori tetap sebanyak 10 tempat, jadi tempat yang tidak terisi tetap akan terpesan dan dibiarkan kosong.


Contoh Array berdimensi satu

Pada program di depan 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. Dengan menggunakan array, program menjadi lebih baik.

Ini adalah contoh Array berdimensi satu dalam program C++
#include <iostream.h>
#include <conio.h>
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();
}












Array berdimensi dua

Sering kali digambarkan/dianalogikan sebagai sebuah matriks. Jika array berdimensi satu hanya terdiri dari 1 baris dan banyak kolom, array berdimensi dua terdiri dari banyak baris dan banyak kolom yang bertipe sama.

                         Gambar array berdimensi (baris x kolom = 3 x 4)

Jurusan
1992
1993
1994
1995
Teknik Informatika
35
45
80
120
Manajemen Informatika
100
110
70
101
Teknik Komputer
10
15
20
17









Bentuk tabel diatas dapat dituangkan dalam bentuk array berdimensi dua dengan pendefinisian sebagai berikut :
                 int data_lulus[3][4];
           Pada pendefinisian diatas : 
                  ü  3 menyatakan jumlah baris (mewakili jurusan) 
                  ü  4 menyatakan jumlah kolom (mewakili tahun kelulusan)


Ini adalah dalam bentuk suatu matriks.

Larik Dimensi Dua dapat mewakili bentuk suatu matriks, contoh:
Suatu matriks
       x =
    selanjutnya dapat dideklarasikan sebagai berikut:
                             
   int x[2][4];
    atau diklarasikan dengan memberikan nilai elemennya sbb:
       int x[2][4]= {{8, 5, 9, 8},{8, 2, 1, 0}}












Contoh Array berdimensi dua

Berikut ini merupakan contoh penggunaan array berdimensi 2 untuk program pertambahan matrik ukuran 3x3.

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
   cout<<"Program Pertambahan Matrik 3x3"<<endl;
   int matrikA[3][3];
   int matrikB[3][3];
   int matrikC[3][3];
   cout<<endl<<"Masukkan data Matrik A"<<endl;
   for(int i=0; i<3; i++)
   {
      for(int j=0; j<3; j++)
      {
         cout<<"Elemen ke "<<(i+1)<<","<<(j+1)<<" : ";
         cin>>matrikA[i][j];
      }
   }
   cout<<endl<<"Masukkan data Matrik B"<<endl;
   for(int i=0; i<3; i++)
   {
      for(int j=0; j<3; j++)
      {
         cout<<"Elemen ke "<<(i+1)<<","<<(j+1)<<" : ";
         cin>>matrikB[i][j];
      }
   }
for(int i=0; i<3; i++)
   {
      for(int j=0; j<3; j++)
      {
     matrikC[i][j] = matrikA[i][j] + matrikB[i][j];
      }
   }
   clrscr();
   cout<<"Matrik A :"<<endl<<endl;
   for(int i=0; i<3; i++)
   {
      for(int j=0; j<3; j++)
      {
     cout<<setw(4)<<matrikA[i][j]<<" ";
      }
      cout<<endl;
   }
   cout<<endl<<"Matrik B :"<<endl<<endl;
   for(int i=0; i<3; i++)
   {
      for(int j=0; j<3; j++)
      {
     cout<<setw(4)<<matrikB[i][j]<<" ";
      }
      cout<<endl;
   }
cout<<endl<<"Hasil pertambahan, Matrik C :"<<endl<<endl;
   for(int i=0; i<3; i++)
   {
      for(int j=0; j<3; j++)
      {
     cout<<setw(4)<<matrikC[i][j]<<" ";
      }
      cout<<endl;
   }
   getch();
}


Tidak ada komentar:

Posting Komentar