p9 Array
p9 Array
ARRAY
A. Tujuan
1. Menjelaskan tentang array berdimensi satu
2. Menjelaskan tentang array berdimensi dua
3. Menjelaskan tentang array berdimensi banyak
4. Menjelaskan tentang inisialisasi array tak berukuran.
5. Menjelaskan array sebagai parameter fungsi
B. DASAR TEORI
Dalam beberapa literatur, array sering disebut (diterjemahkan) sebagai larik. Array
adalah kumpulan dari nilai-nilai data bertipe sama dalam urutan tertentu yang
menggunakan sebuah nama yang sama. Nilai-nilai data di suatu array disebut dengan
elemen-elemen array.
tipe_data : untuk menyatakan tipe dari elemen array, misalnya int, char, float.
ukuran
83
Elemen pertama
mempunyai indeks bernilai 0. Jika variabel nilai_tes dideklarasikan sebagai array dengan
5 elemen, maka elemen pertama memiliki indeks sama dengan 0, dan elemen terakhir
memiliki indeks 4. Bentuk umum pengaksesan array adalah sbb :
nama_var[indeks]
sehingga, untuk array nilai_tes, maka :
nilai_tes[0]
nilai_tes[4]
Contoh :
nilai_tes[0] = 70;
scanf(%f, &nilai_tes[2]);
Contoh pertama merupakan pemberian nilai 70 ke nilai_tes[0]. Sedangkan contoh 2
merupakan perintah untuk membaca data bilangan dari keyboard dan diberikan ke
nilai_tes[2]. Pada contoh 2 ini
&nilai_tes[2]
berarti alamat dari nilai_tes[2].
berupa alamat dari variabel yang digunakan untuk menyimpan nilai masukan.
Inisialisasi Array Berdimensi Satu
Sebuah array dapat diinisialisasi sekaligus pada saat dideklarasikan.
Untuk
84
int
int numbers[] = {2, -3, 45, 79, -14, 5, 9, 28, -1, 0};
double radians[1000];
numbers[10];
0
1
2
3
indeks pertama
(baris)
80
15
8
10
540
83
12
129
1032
301
15
257
indeks kedua
(kolom)
int data_lulus[4][3];
Gambar 10.1 Array berdimensi dua
Sama halnya pada array berdimensi satu, data array aka ditempatkan pada memori
yang berurutan. Perhatikan Gambar 10.2.
80
540
1032
15
83
301
80
85
{
{
{
{
{
{
{
0,
0,
1,
1,
1,
1,
0,
1,
1,
1,
1,
1,
1,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
1,
1,
1,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
0,
0
0
0
0
0
0
0
}
}
}
}
}
}
}
,
,
,
,
,
,
};
=
1,
0,
0,
1,
0,
0,
0,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0
86
=
1,
1,
1,
1,
0,
0,
0,
0,
1,
1,
0,
0,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
87
1,
1,
1,
1,
1,
0,
0,
1,
1,
1,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
0,
1,
0,
1,
1,
0,
0,
1,
0,
0,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0
};
int i, j, k;
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 }
}
};
ARRAY SEBAGAI PARAMETER
Array juga dapat dilewatkan sebagai parameter fungsi. Sebagai contoh ditujukan pada
program sorting.c. Program digunakan untuk memasukkan sejumlah data, kemudian data
tersebut diurutkan naik (ascending) dan dicetak ke layar.
Untuk melakukan sorting (proses pengurutan data), cara yang dipakai yaitu metode
buble sort (suatu metode pengurutan yang paling sederhana, dan memiliki kecepatan
pengurutan yang sangat lambat).
Algoritma pada metode pengurutan ini adalah sebagai berikut :
1. Atur i bernilai 0
2. Bandingkan x[i] dengan x[j], dg j berjalan dari i + 1 sampai dengan n-1.
3. Pada setiap pembandingan, jika x[i] > x[j], maka isi x[i] dan x[j] ditukarkan
4. Bila i < (n 1), ulangi mulai langkah 2.
Praktikum Dasar Programming 1
Mike Yuliana-PENS ITS
88
Catatan:
= indeks array
= jumlah data
j=2
j=3
j=4
50.5
30.3
20.2
20.2
30.3
50.5
50.5
50.5
20.2
20.2
30.3
30.3
25.2
25.2
25.2
25.2
31.3
31.3
31.3
31.3
i=1
j=2
j=3
j=4
20.2
20.2
20.2
50.5
30.3
25.2
30.3
50.5
50.5
25.2
25.2
30.3
31.3
31.3
31.3
89
i=2
j=3
j=4
20.2
20.2
25.2
25.2
50.5
30.3
30.3
50.5
i = 331.3
j=4
31.3
Hasil akhir
20.2
20.2
25.2
25.2
30.3
30.3
50.5
31.3
31.3
50.5
int i, j;
float smtr;
for(i=0; i<jumlah-1; i++)
for(j=i+1; j<jumlah; j++)
if(x[i] > x[j])
{
smtr = x[i];
x[i] = x[j];
x[j] = smtr;
}
/* penukaran data */
90
C. TUGAS PENDAHULUAN
1.
D. PERCOBAAN
1.
Frekuensi a=3
Frekuensi b=1
Frekuensi c=1
2.
3.
:3
Nama Mahasiswa-1
: Ani
Jumlah nilai
:3
Nilai-1
: 60
Nilai-2
: 70
Nilai-3
: 80
91
Nama Mahasiswa-2
: Amir
Jumlah nilai
:3
Nilai-1
: 60
Nilai-2
: 50
Nilai-3
: 40
Nama Mahasiswa-3
: Ali
Jumlah nilai
:3
Nilai-1
: 50
Nilai-2
: 60
Nilai-3
: 70
Output :
Nilai rata-rata Ani adalah 70.
Nilai rata-rata Amir adalah 50.
Nilai rata-rata Ali adalah 50.
4.
D. LAPORAN RESMI
1. Buatlah desain flowchart untuk setiap soal dalam percobaan
92