VII STRUKTUR ARRAY
VII.1
Pendahuluan
- Array disebut juga larik, merupakan runtun data dengan
setiap
elemen data menggunakan nama yang sama dan mesing-masing
elemen
data bertipe sama.
- Setiap
komponen (elemen) array dapat dibedakan dan diakses
melalui
nomor indeksnya.
- Struktur
array dapat digolongkan menjadi:
o Array berdimensi satu
o Array berdimensi dua
o Array berdimensi banyak
VII.2
Array Satu Dimensi
- Struktur
arrai satu dimensi
dapat dideklarasikan dengan
bentuk
umum
berupa:
Tipe
nama_var [ukuran];
- dengan:
o tipe: untuk menyatakan jenis
elemen array (misalnya char,
int,
unsigned).
o Ukuran untuk menyatakan jumlah maksimal elemen array.
- contoh
pendeklarasian suatu array
lima elemen dengan tipe float
adalah
sebagai berikut:
floatnilai_tes
[5];
VII.3
Mengakses Elemen Array
- Pada bahasa C, data array
akan disimpan dalam
memori pada
lokasi
yang berurutan.
- Elemen pertama mempunyai indeks
bernilai 0.
- Jika pada contoh variabel nilai_tes mempunyai 5 elemen,
maka
elemen pertama
mempunyai indeks sama dengan 0, elemen kedua
mempunyai indeks 1,
dan seterusnya.
- Gambar
7.1 memperlihatkan urutan
komponen array dalam
memori.
- Bentuk
umum pengaksesan suatu elemen variabel array adalah:
Nama_var
[indeks];
- Untuk variabel array nilai_tes,
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image006.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image009.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image011.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image013.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
o Nilai_tes[1] Æelemen ke-1 dari nilai_tes
o Nilai_tes[3] Æelemen ke-3 dari nilai_tes
nilai_tes[0]
nilai_tes[1]
nilai_tes[2]
tipe float
total 5
elemen
nilai_tes[3]
nilai_tes[4]
float
nilai_tes[5]
Gambar
7.1 Struktur array satu dimensi.
- Contoh untuk memasukkan data ke variabel array:
nilai_tes[0] = 70; /*
contoh 1*/
scanf(“%f”, &nilai_tes[3]); /* contoh 2*/
- Contoh
pertama merupakan pemberian
nilai 70 ke elemen variabel
nilai_tes ke-0.
- Contoh
kedua merupakan perintah
untuk membaca data bilangan
dari
keyboard dan diberikan ke elemen
nilai-tes yang ke-3.
- Statemen
&nilai_tes[3] menunjukkan “alamat dari elemen
variabel nilai_tes yang ke-3”.
- Perlu
diingat bahwa instruksi scanf( ) membutuhkan argumen
berupa alamat
dari variabel yang digunakan untuk menyimpan
nilai
masukan.
/*
------------------------------------------------ */
/*
File program : baca.c */
/*
Contoh pengaksesan array satu dimensi */
/*
------------------------------------------------ */
#include <stdio.h>
#define maks_tes
5
main()
{
int
i;
float
nilai_tes[maks_tes]; /* deklarasi array */
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif)
/*
Membaca data dari keyboard */
for
(i=0;i<maks_tes;i++)
{
printf("Nilai
tes ke-%d: ",i+1);
scanf("%f",
&nilai_tes[i]);
}
/*
Menampilkan data yang telah dimasukkan */
for
(i=0;i<maks_tes;i++)
{
printf("Nilai
tes ke-%d: %f",i+1,nilai_tes[i]);
}
}
Program
7-1.
- Program
7-1 diatas memperlihatkan cara memasukkan data larik
dari keyboard sebanyak lima buah
data dan kemudian
menampilkan data tersebut ke layar monitor.
- Data array juga dapat dideklarasikan dalam bentuk variabel
yang
bersifat statis,
serta dapat dilakukan
inisialisasi terhadap masing-
masing
elemen array.
- Contoh proses deklarasi dan
inisialisasinya adalah:
static
int jum_hari[12] =
{
31, 28, 31, 30, 31, 30,
31,
31, 30, 31, 30, 31
};
- Dengan deklarasi di atas, maka
o jum_hari[0] bernilai
31
o jum_hari[1] bernilai
28
o jum_hari[2] bernilai
31
o jum_hari[3] bernilai
30
o dan seterusnya.
- Nilai yang ada pada array menyatakan banyaknya
hari untuk setiap
bulan.
Latihan
1. Buatlah
program untuk menjumlahkan vektor A dengan vektor B
dan
hasilnya disimpan di vektor C.
Mula-mula buatlah suatu fungsi
untuk
membaca larik.
2. buatlah
program untuk melakukan
proses normalisasi atas 50 buah
data.
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif)
VII.4
Array Sebagai Parameter
- Array juga dapat dilewatkan sebagai
parameter fungsi.
- Sebagai
contoh diperlihatkan pada program 7-2 di bawah. Program
ini digunakan untuk memasukkan sejumlah
data, kemudian data
tersebut diurutkan dan data yang sudah urut akan ditampilkan ke
layar
monitor.
- Untuk melakukan proses
sorting (pengurutan data),
cara yang
dipakai yaitu buble sort (suatu model pengurutan data yang paling
sederhana dan kecepatan pengurutannya lambat).
- Algoritma pengurutan datanya adalah:
o Atur i bernilai 0
o Bandingkan x[i] dengan x[j], dengan j berjalan dari i+1
sampai
dengan n-1. Pada satiap perbandingan, jika
x[i] > x[j],
maka
isi x[i] dan x[j] ditukarkan.
o Naikkan nilai i sebesar
satu.
o Bila i < (n-1), ulangi mulai langkah 2
- Catatan :
o i = indeks array
o x = nama array untuk menyimpan data
o n = jumlah data
o Algoritma di atas berlaku untuk pengurutan naik
(ascending).
Untuk pengurutan turun (descending), penukaran dilakukan
jika
x[i] < x[j}.
/*
------------------------------------------- */
/*
File program : sorting.c */
/*
Contoh program sorting urut naik
*/
/*
------------------------------------------- */
#include <stdio.h>
#define maks 20
void
pemasukan_data (float x[], int
*pjumlah);
void
pengurutan_data (float x[], int
jumlah);
void
penampilan_data (float x[], int
jumlah);
main()
{
float
data[maks];
int
jum_data;
pemasukan_data(data, &jum_data);
pengurutan_data(data, jum_data);
penampilan_data(data, jum_data);
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif)
}
void
pemasukan_data (float x[], int
*pjumlah)
{
int
i, jum;
printf("Jumlah
data ");
scanf("%d",
&jum);
for(i=0;i<jum;i++)
{
printf("data
ke-%d: ", i+1);
scanf("%f",
&x[i]);
}
*pjumlah = jum;
}
void
pengurutan_data (float x[], int
jumlah)
{
int
i, j;
float
bantu;
for(i=0;i<jumlah-1;i++)
for(j=i+1;j<jumlah;j++)
if(x[i]
>x[j])
{
/*
penukaran data */
bantu
= x[i];
x[i]
= x[j];
x[j]
= bantu;
}
}
void
penampilan_data (float x[], int
jumlah)
{
int
i;
puts("\nData setelah diurutkan : \n");
for(i=0;i<jumlah;i++)
printf("data
ke-%d, %g\n",i+1, x[i]);
}
program 7-2
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image016.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image017.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image021.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image023.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image029.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image033.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image035.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif)
VII.5
Array 2-Dimensi
- Tipe data array dua dimensi
biasa digunakan untuk
menyimpan,
mengolah maupun menampilkan suatu data dalam bentuk tabel
maupun
matriks.
- Untuk data dalam bentuk tabel,
seperti yang diperlihatkan pada
tabel berikut
ini, dimensi pertama
array digunakan untuk
menyatakan nama Program Studi dan dimensi
kedua untuk
menyatakan jumlah
penerimaan mahasiswa per tahun pada tahun
tertentu.
Tabel
7.1 Jumlah Mahasiswa yang diterima
di
Jurusan Teknik Elektro UGM.
Tahun
1999 2000 2001
Program
Diploma 3
S1
Reguler
S1
Ekstensi
S2
Reguler
120
160
140
80
130
156
140
60
140
129
130
65
- Untuk mendeklarasikan array
agar dapat menyimpan data
penerimaan mahasiswa
dari tabel di atas adalah sebagai
berikut:
int
Jumlah_mhs [4][3];
- Nilai indeks 3 untuk menyatakan banyaknuya tahun dan 4
menyatakan banyaknya
program studi.
- Gambar
7.2 memperlihatkan ilustrasi untuk memudahkan
pemahaman tentang
arrau dua dimensi.
0
1 2
indeks pertama
(tahun)
0
1
2
3
120 130 140
160 156 129
140 140 130
80 60 65
indeks
kedua
(program
studi)
Gambar
7.2 Array dua dimensi.
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image037.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image039.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image041.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image039.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image041.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image039.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image042.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image043.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image044.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image045.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image046.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image047.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image048.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image049.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image051.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image052.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image053.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image054.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image055.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image056.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image055.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image051.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image057.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image058.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image059.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image060.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image061.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image062.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image063.gif)
- Seperti
halnya pada arrau
satu dimensi, data array dua dimensi
akan ditempatkan pada memori secara
berurutan, seperti yang
diperlihatkan pada Gambar 7.3.
120 130 140 160 156 129 140 140
Gambar
7.3 Model penyimpanan array dua
dimensi pada memori.
VII.5.1
Mengakses Elemen Array 2 Dimensi
- Untuk mengakses elemen array dua dimensi dapat
dilakukan
dengan
statemen:
nama_variabel[indeks pertama][indeks kedua];
- Sebagai contoh:
o Jumlah_mhs[1][2] = 129;
o Merupakan instruksi untuk mengakses elemen
array pada
baris
ke-1, kolom ke-2.
0
0
1
1 2
129
2
3
jumlah_mhs[1][2]
= 129;
Gambar
7.4. Pengakessan elemen array dua dimensi.
- Dalam program, untuk membaca atau memasukkan data array dua
dimensi dari keyboard dapat dilakukan dengan
memanfaatkan
statemen nested loop.
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image064.gif)
- Contoh
program berikut memperlihatkan bagaimana memasukkan
data sebuah matriks n x n ke memori dan menampilkan hasil
pembacaan ke layar monitor.
/*
------------------------------------------------ */
/*
File program : baca2.c */
/*
Contoh pengaksesan array dua dimensi */
/*
------------------------------------------------ */
#include <stdio.h>
main()
{
int
i,j;
int
matriks[4][3]; /* deklarasi array
*/
/*
Membaca data dari keyboard */
for
(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("matriks
(%d, %d): ",i,j);
scanf("%d",
&matriks[i][j]);
}
}
printf("\n\n");
/*
Menampilkan data matriks yang telah
dimasukkan */
for
(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf(" Matriks(%d, %d):
%d",i,j,matriks[i][j]);
}
printf("\n");
}
}
Program
7-3
VII.5.2
Inisialisasi Array 2 Dimensi
- Untuk memasukkan data arrau dua dimensi selain
melalui
keyboard, juga dapat dilakukan
emlalui proses inisialisasi dari
program.
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image066.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image067.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image068.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image065.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image066.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image066.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image069.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image071.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image072.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image073.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image074.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image075.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image077.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image078.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image075.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image077.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image079.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image080.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image081.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image069.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image071.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image072.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image073.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image083.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image076.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image082.gif)
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif)
- Proses
inisialisasi ini dilakukan
bersamaan dengan deklarasi
variabel array-nya.
- Sebagai
contoh, misalkan akan dilakukan proses
inisialisasi atas
data matriks
dengan nilai masing-masing elemen seperti pada
gambar
7.5 berikut.
0 1 2 3 4 5 6 7
0 0 1 1 1 1 1 0 0
1 0 1 0 0 0 1 0 0
2 1 1 0 0 0 1 1 0
3 1 1 0 0 0 0 1 0
4 1 1 0 0 0 0 1 0
5 1 1 0 0 0 0 1 0
6 1 1 0 0 0 0 1 0
7 0 0 0 0 0 0 0 0
Gambar
7.5 Nilai awal elemen-elemen suatu
matriks.
Deklarasi
dan inisialisasi yang dilakukan berupa:
static
int huruf_A[8][8] =
{ { 0, 1, 1, 1, 1, 1, 0, 0 },
{ 0,
1, 0, 0, 0, 1, 0, 0 },
{ 0,
1, 0, 0, 0, 1, 0, 0 },
{ 1,
1, 1, 1, 1, 1, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 0,
0, 0, 0, 0, 0, 0, 0 },
};
atau
dapat dapat juga ditulis sebagai berikut:
static
int huruf_A[8][8] =
{ 0, 1, 1, 1, 1, 1, 0, 0 ,
0,
1, 0, 0, 0, 1, 0, 0 ,
0,
1, 0, 0, 0, 1, 0, 0 ,
1,
1, 1, 1, 1, 1, 1, 0 ,
1,
1, 0, 0, 0, 0, 1, 0 ,
1,
1, 0, 0, 0, 0, 1, 0 ,
1,
1, 0, 0, 0, 0, 1, 0 ,
0,
0, 0, 0, 0, 0, 0, 0 ,
};
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
VII.6
Aray Dimensi Banyak
- Bahasa C memungkinkan untuk membuat struktur
data array yang
mempunyai dimensi lebih dari dua.
- Bentuk
umum pendeklarasian array
berdimensi banyak adalah:
tipe nama_variabel[ukuran
1][ukuran 2] … [ukuran n];
- Sebagai contoh :
int
data_huruf[2][8][8];
- Merupakan
pendeklarasian array data_huruf sebagai array tiga
dimensi.
- Sama halnya dengan
array dimensi satau atau dua, arrau dimensi
banyak
juga dapat diinisialisasi. Contohnya adalah sebagai berikut:
Static
int data_huruf[2][8][8] =
{ { { 0, 1, 1, 1, 1, 1, 0, 0 },
{ 0,
1, 0, 0, 0, 1, 0, 0 },
{ 0,
1, 0, 0, 0, 1, 0, 0 },
{ 1,
1, 1, 1, 1, 1, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 0,
0, 0, 0, 0, 0, 0, 0 },
},
{ { 1, 1, 1, 1, 1, 1, 0, 0 },
{ 1,
0, 0, 0, 0, 1, 0, 0 },
{ 1,
0, 0, 0, 0, 1, 0, 0 },
{ 1,
1, 1, 1, 1, 1, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 1,
1, 0, 0, 0, 0, 1, 0 },
{ 1,
1, 1, 1, 1, 1, 1, 0 },
{ 0,
0, 0, 0, 0, 0, 0, 0 },
}
};
VII.7
Inisialisasi Array Tak Berukuran
- Inisialisasi arrau yang tak berukuran dapat dilakukan untuk array
berdimensi satu atau lebih.
- Untuk array berdimensi lebih dari satu, dimensi terkirilah yang
boleh
tidak berukuran.
![](file:///C:/Users/ARIZWA~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif)
- Dengan
cara ini maka tabel dalam array dapat diperluas atau
dikurangi tanpa mengubah ukuran array.
- Sebagai contoh:
int
data[] =
{ 1,
2, 4, 7, 9 };
- Merupakan pendeklarasian arrau dimensi
satu yang tidak
berukuran. Secara
otomatis:
data[0]
bernilai 1
data[1]
bernilai 2
data[2]
bernilai 4
data[3]
bernilai 7
data[4]
bernilai 9
- Contoh lain untuk arrau berdimensi dua:
char
konversi[ ][2] =
{ ‘A’, ‘T’,
‘E’,
‘N’,
‘I’,
‘V’,
‘O’,
‘S’,
‘U’,
‘J’
};
- Pada contoh di atas, maka
konversi[0][0] bernilai
‘A’
konversi[0][1] bernilai ‘T’
konversi[1][0] bernilai ‘E’
konversi[1][1] bernilai ‘M’
…
Tidak ada komentar:
Posting Komentar