Anda di halaman 1dari 21

ARRAY

Oleh :
1. Diska Yudha P.R
2. Dwiki Nugraha
3. Faradila Emma Fikrisa
4. Nena Erviana
5. Novian Dwi Syahrizal
6. Nur Eka Andriani
Konsep Dasar
Tentu akan sangat menyulitkan bila kita harus
membuat banyak variabel untuk menampung
banyak data sejenis, A1, A2, , A100.
Lebih baik membuat satu variabel saja, namun
bisa menampung banyak data
Contoh : Tempat telur yang dijual di pasar, nomor
kursi bioskop/kereta api, posisi antrian, gedung
bertingkat beserta kamar-kamarnya, dll.
Array
Struktur data yang mengandung type data yang
mempunyai type sama.
Berupa sekelompok memori yang berhubungan
(contiguous).
Array mempunyai nama dan type yang sama.
Untuk merujuk lokasi tertentu atau elemen dalam array
nama array + indeks
Ilustrasi
Nama array
c[1] -45
c[2] 6
c[3] 0
c[4] 72
c[5] 1543
bilangan posisi
Untuk mengisi indeks 2 array c dengan nilai 5 :



Indeks array dalam C++, dimulai dari 0.
Algoritmik Bahasa C++
c[2] 5 c[2] = 5;

Deklarasi Array
Ditentukan dengan tipe dari setiap elemen dan banyaknya
elemen yang diperlukan oleh setiap array sehingga komputer
mempersiapkan sejumlah memori.



Array tipe char dapat digunakan untuk menyimpan string
karakter.
Tipe_data nama_array[jumlah_elemen];

Algoritmik Bahasa C++
c : array [0..4] of integer int c[5];

Mengisi Nilai Elemen Array
Nilai setiap elemen array dapat diisikan langsung

A[0] = 100; /*Nilai elemen A[0] adalah 100*/
B[5] = 35; /*Nilai elemen B[5] adalah 35 */
A[0] = B[5];/*Nilai elemen A[0] adalah 35 */
C = -99; /*C adalah variabel biasa, bukan
array. C bernilai -99 */
B[5] = C; /*Nilai elemen B[5] adalah -99.
A[0] tetap bernilai 35 */


Menampilkan Nilai Array
#include <iostream.h>

int main(){
int A[3];
int B = 35;
A[0] = 70;
A[1] = B;
cout<<Isi nilai A[0] adalah<<A[0]<<\n;
cout<<Isi nilai A[1] adalah<<A[1]<<\n;
cout<<Silakan user mengisi nilai A[2]:;
cin>>A[2];
cout<<Isi nilai A[2] adalah<<A[2]<<\n;
}

Hasil Tampilan:
Array initialization
Meskipun tidak dimungkinkan mengoperasikan array
secara langsung, namun pemberian nilai dapat dilakukan

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


Bila initializers-nya lebih sedikit dari elements array,
sisanya akan dianggap bernilai 0.

int a[10] = {0, 1, 2, 3, 4, 5, 6};

nilai a[7], a[8], dan a[9] dianggap 0.

Bila terdapat initializer, maka dimensi array dapat diabaikan

int b[] = {10, 11, 12, 13, 14};

b merupakan array yang memiliki 5 elemen karena di-inisialisasi dengan 5 angka.
Perhatikan bahwa variable b dinyatakan sebagai b[] untuk menjelaskan bahwa b adalah
sebuah array

Jika elemen array adalah karakter, maka initializer dapat berupa
string constant:

char s1[7] = "Hello,";
char s2[10] = "there,";
char s3[] = "world!";

Mencari Nilai Array
#include <iostream.h>
main ()
{
const int arraySize = 12;
int n[arraySize] = {1,3,5,7,9,4,5,6,44,6,88,45};
int Bil;
cout<<Masukkan nilai yang ingin dicari = ;
cin>>Bil;
for (int i=0; i < arraySize; i++)
{ if (n[i] == Bil)
{
cout<<Bil<<is Found!!\n;
break; }
}
return 0;
}

Pengurutan pada Elemen Array
Salah satu faktor dari lambatnya proses pencarian yang terdapat dalam
suatu kumpulan data adalah karena data tersebut tidak dalam keadaan
terurut. Dengan kata lain, pengurutan sangatlah diperlukan sebelum kita
melakukan pencarian data

Metode Gelembung (Bubble sort)
Sisipan (insertion sort)
Maksimum-Minimum (Max-Min Sort)
Quick Sort

Metoda/algoritma yang digunakan di sini adalah metoda
gelembung (bubble short)

Untuk shorting dari bilangan terkecil ke bilangan terbesar
(ascending) sebanyak n bilangan, dengan metoda ini
bilangan terbesar akan digeser ke paling kanan.

Selanjutnya bilangan terbesar ke-2 digeser ke posisi n-1,
dst.

#include <iostream.h>
main ()
{
// blok deklarasi dan penulisan urutan awal

const int arraySize = 12;
int dummy;
int n[arraySize]= {1,96,5,7,9,4,5,6,44,6,88,45};

cout<<"Urutan data awal:\n";
for(int i=0;i<arraySize;i++) {
cout<<n[i]<<" ";
}

// blok pergeseran bilangan terbesar

for(i=0; i< arraySize-1; i++) {
for(int j=0; j<arraySize-i; j++) {
if(n[j]>=n[j+1])
{
x=n[j];
n[j]=n[j+1];
n[j+1]=x;
}
else;
}
}

// blok print out hasil shorting

cout<<\n\nUrutan data dari kecil ke besar:\n";
for(i=0;i<arraySize;i++) {
cout<<n[i]<<" ";
}
cout<<"\n\nUrutan data dari besar ke kecil:\n";
for(i=arraySize-1;i>=0;i--) {
cout<<n[i]<<" ";
}
cout<<"\n\n";
return 0;
}

Multidimension array
Dimungkinkan untuk memiliki array dengan dimensi lebih dari
satu.

Setiap dimensi direpresentasikan oleh subscript. Array dua
dimensi memiliki dua subscript, 3 dimensi memiliki 3 subscript,
dst.

Array dapat berdimensi berapapun, tapi umumnya digunakan satu
atau dua dimensi.

Array 1 dimensi

[0] [1] [2] [3] [4]
Array 2 dimensi
[0,0] [0,1] [0,2] [0,3] [0,4]
[1,0] [1,1] [1,2] [1,3] [1,4]
Initializing multidimension array
Suatu nilai dapat diberikan (assigned) kedalam elemen array dengan
urutan array yang terakhir berubah terlebih dahulu ketika array
sebelumnya tetap. Maka array:

int theArray[5][3] memiliki urutan 5 elemen pertama bagian dari
theArray[0]; kemudian 3 elemen berikutnya adalah bagian dari
theArray[1]; dst.

Untuk meng-initialize array dapat dilakukan dengan:
int theArray[5][3] = {
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 };

Atau untuk kejelasan dapat digunakan tambahan kurung kurawal:
int theArray[5][3] = { {1,2,3},
{4,5,6},
{7,8,9},
{10,11,12},
{13,14,15} };
Contoh multidimension array [1]
#include <iostream.h>
void main (void)
{
int a2[2][4];
// memberi nilai
int i, j;
for(i = 0; i < 5; i = i + 1)
{
for(j = 0; j < 7; j = j + 1)
{ a2[i][j] = 10 * i + j;
cout<<"Nilai
a2["<<i<<","<<j<<"]="<<a2[i][j]<<"\n";
}
}
}

// print out

for(j = 0; j < 3; j = j + 1)
{ cout<<"\t"<<j<<":"; }
cout<<"\n";
for(i = 0; i < 5; i = i + 1)
{
cout<<i<<":";
for(j = 0; j < 7; j = j + 1)
{ cout<<"\t"<<a2[i][j]; }
cout<<"\n";
}

Output:
0: 1: 2:
0: 0 1 2
1: 10 11 12
2: 20 21 22
3: 30 31 32
4: 40 41 42

Anda mungkin juga menyukai