Rabu, 30 Desember 2015

Cara Mencari Array Satu Dimensi

Array atau sering disebut dengan larik adalah kumpulan elemen data dengan tipe dan nama yang sama. Array termasuk struktur data statis, artinya adalah lokasi memori untuk suatu array tidak dapat ditambah atau dikurangi selama program dijalankan, maka untuk mengubah ukuran dari lokasi memori suatu array harus diperbaiki dalam listing programnya. Array dapat berupa array 1 dimensi, 2 dimensi dan n dimensi. untuk menentukan dimensi array dapat kita lihat dari banyaknya penunjuk index/posisi.
Dikatakan array satu dimensi karena banyaknya penunjuk indeks hanya satu. Sebelum variabel array digunakan maka variabel array harus dideklarasikan terlebih dahulu. Pendeklarasian variabel array satu dimensi sebenarnya hampir sama dengan pendeklarasian variabel yang lain, hanya saja pendeklarasian variabel array diikuti dengan maksimum banyaknya elemen yang dapat disimpan dalam variabel array yang dituliskan dalam pasangan tanda siku pembuka( [ ) dan siku penutup ( ] ). Di dalam bahasa C++, nilai awal index dimulai dari 0 (nol). Maka jika dituliskan banyaknya maksimum elemen adalah N, berarti index yang akan digunakan adalah 0, 1, 2, …, N-1.
Bentuk umum pendeklarasian array satu dimensi:
tipe_data nama_var_array[ukuran];
Dimana:
tipe_data : Menyatakan jenis tipe data elemen array (int, char, float, dll)
nama_var_array: menyatakan nama variabel yang dipakai
ukuran: menunjukan maksimal banyak elemen array.
Contoh:
int nilai[10]
dengan deklarasi di atas maka akan disiapkan lokasi memori untuk variabel array bertipe int sebanyak 10, seperti di bawah ini:
array-1-dimensi
array-1-dimensi
Mengisi Elemen Array Satu Dimensi
Suatu variabel array satu dimensi yang telah dideklarasikan telah dapat diisi elemen data. Mengisi elemen ke dalam suatu vaiabel array satu diemnsi dapat dilakukan dengan tiga cara, yaitu pada saat variabel dideklarasikan (Inisialisasi), menggunakan penugasan (=), dan membaca dari media masukan.
a. Inisialisasi Array Satu Dimensi
Menginisialisasi array sama dengan memberikan nilai awal array pada saat dideklarasikan. Bentuk umum inisialisasi array satu dimensi:
tipe_data nama_var_array[ukuran] = {elemen_0,elemen_1, …, elemen_n-1};
Dimana elemen_0, elemen_1, …, elemen_n-1 merupakan elemen-elemen dari array sebanyak ukuran. Jika banyaknya elemen kurang dari ukuran, maka sisanya akan diberi nilai 0 (nol). Namun jika banyaknya elemen lebih dari ukuran maka akan mengalami kesalahan “Too many initializers“.
Contoh Inisialisasi:
int nilai[10] = {8,12,14,20,30,23,44,53,6,9};
Contoh di atas berarti kita memesan tempat di memori komputer sebanyak 10 dengan index dari 0 sampai dengan 9, dimana elemen-elemen akan dimasukan ke lokasi nilai secara berturut-turut mulai dari index ke-0 hingga index ke-9, seperti berikut ini:
array1d-isi
Array 1 D dengan elemen terisi
Contoh Program:
#include<iostream.h>
#include<conio.h>
main()
{
  int Nilai[10]={8,12,14,20,30,23,44,53,6,9}; //Memberi nilai dengan inisialisasi secara langsung
  int i, Jumlah = 0;
  float Rata2;
  //Menghitung jumlah
  for(i=0;i<10;i++)
   Jumlah+=Nilai[i]; //sama dengan Jumlah = Jumlah+Nilai[i]
  Rata2 = (float) Jumlah/10;
  //Mencetak elemen array
  cout<<"\n\nDeretan Bilangan = ";
  for(i=0;i<10;i++)
   cout<<Nilai[i]<<" ";
  //Mencetak nilai jumlah
  cout<<"\nJumlah Bilangan = "<<Jumlah;
  cout<<"\nRata-Rata Bilangan = "<<Rata2;
  getch();
}
 b. Menggunakan Operator Penugasan (=)
Mengisi elemen array satu dimensi dengan menggunakan operator penugasan dapat dilakukan dengan bentuk berikut:
nama_var_array[index/posisi] = elemen;
dimana elemen adalah nilai yang akan disimpan di nama_var_array pada index/posisi.
Contoh:
Nilai[0] = 8;
Nilai[1] = 12;
Nilai[2] = 14;
...
Nilai[9] = 9;
Contoh Program:
#include<iostream.h>
#include<conio.h>
main()
{
  int Nilai[10];
  int i, Jumlah = 0;
  float Rata2;
  //Mengisi elemen array dengan operator penugasan(=)
  Nilai[0]=8;
  Nilai[1]=12;
  Nilai[2]=14;
  Nilai[3]=20;
  Nilai[4]=30;
  Nilai[5]=23;
  Nilai[6]=44;
  Nilai[7]=53;
  Nilai[8]=6;
  Nilai[9]=9;
  //Menghitung jumlah
  for(i=0;i<10;i++)
   Jumlah+=Nilai[i]; //sama dengan Jumlah = Jumlah+Nilai[i]
  Rata2 = (float) Jumlah/10;
  //Mencetak elemen array
  cout<<"\n\nDeretan Bilangan = ";
  for(i=0;i<10;i++)
   cout<<Nilai[i]<<" ";
  //Mencetak nilai jumlah
  cout<<"\nJumlah Bilangan = "<<Jumlah;
  cout<<"\nRata-Rata Bilangan = "<<Rata2;
  getch();
}

c. Dibaca dari Media Masukan
Cara ketiga adalah elemen dibaca dari media masukan (dalam hal ini keyboard). Untuk memberi nilai elemen array satu dimensi dengan keyboard dapat dilakukan dengan perintah:
cin>>nama_var_array[index/posisi];
Contoh:
cin>>Nilai[0]; //Memberi nilai elemen array posisi ke-0
cin>>Nilai[1]; //Memberi nilai elemen array posisi ke-1
cin>>Nilai[2]; //Memberi nilai elemen array posisi ke-2
cin>>Nilai[i]; //Memberi nilai elemen array posisi ke-1 dimana nilai i harus diketahui sebelumnya. Misalnya nilai i=7 berarti memberi nilai elemen array posisi ke-7.
Contoh Program:
#include<iostream.h>
#include<conio.h>
main()
{
  int Nilai[10];
  int i, Jumlah=0;
  float Rata2;
  //Membaca dan menghitung jumlah
  for(i=0;i<10;i++)
  {
    cout<<"Masukkan elemen ke-"<<i<<" = ";
    cin>>Nilai[i];
    Jumlah+=Nilai[i] // Bentuk lain dari Jumlah=Jumlah+Nilai[i];
  }
  Rata2 = (float)Jumlah/10;
  //Mencetak Elemen array
  cout<<"\n\nDeret Bilangan = ";
  for(i=0;i<10;i++)
    cout<<Nilai[i]<<" ";
  
  //Mencetak nilai jumlah
  cout<<"\nJumlah Bilangan = "<<jumlah;
  cout<<"\nRata-rata Bilangan = "<<Rata2;
  getch();
}
Mengakses Elemen Array Satu Dimensi
Elemen-elemen suatu array satu dimensi dapat diakses dengan menyebutkan nama variabel array yang diikuti dengan index/posisi elemen yang diakses. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan index tertentu secara langsung. contoh:
nama_var_array[index];
Pengaksesan nilai pada index tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada index yang dimaksud.
Nilai[3]; //Berarti mengakses/mengambil elemen dari variabel array yang nilainya ada di posisi 3
Nilai[6]; //Berarti mengakses/mengambil elemen dari variabel array yang nilainya ada di posisi 6
Contoh Program:
Mengakses nilai terbesar dari sederetan bilangan.
#include<iostream.h>
#include<conio.h>
main()
{
  int Nilai[20];
  int i, N, Terbesar;
  cout<<"Masukkan Banyaknya Bilangan = ";
  cin>>N;
  cout<<endl;
  //Membaca elemen array
  for(i=0;i<N;i++)
  {
    cout<<"Masukan elemen ke-"<<i<<" = ";
    cin>>Nilai[i];
  }
  Terbesar = Nilai[0]; //elemen pertama dibuat sebagai terbesar
  for (i=1;i<N;i++)
  {
    if(Nilai[i]>Terbesar)
       Terbesar = Nilai[i];
  }
  //Mencetak Elemen Array
  cout<<"\n\nDeret Bilangan = ";
  for(i=0;i<N;i++)
    cout<<Nilai[i]<<" ";
  //Mencetak Bilangan Terbesar
  cout<<"\nBilangan Terbesar = "<<Terbesar;
  getch();
}
Tidak terasa ya, hari sudah siang, demikian dulu sharingnya. insyaAllah lain kesempatan kita sambungan dengan Array Dua Dimensi.
Referensi:
Konsep dan Implementasi Struktur Data dengan C++ (Lamhot Sitorus & David J.M Sembiring)

Tidak ada komentar:

Posting Komentar