BAB
1
PEMBUKAAN
1.1
Tujuan
Percobaan
Mempelajari dan memahami sekaligus
menerapkan fungsi array pada program Bahasa C
1.2
Teori
Dasar
Array Adalah Kumpulan Dari
Nilai-Nilai Data Bertipe Sama Dalam Urutan tertentu yang menggunakan sebuah
nama yang sama. Nilai-nilai data di suatu larik disebut dengan elemen-elemen
larik. Letak urutan dari suatu elemen larik ditunjukkan oleh suatu subscript
atau suatu index.
Variabel Array
Nama_variabel[indeks]
Ketentuan nama variabel arrray sama dengan nama
variabel biasa indeks menunjukkan nomor dari variabel .
Deklarasi Variabel Array
BU :
tipe nama_variabel[indeks];
Contoh :
float bil[10];
Deklarasi
variabel array dengan nama bil yang akan menampung 10 data yang
bertipe float. Indeks
10 menunjukkan variabel
bil terdiri dari
10 elemen, dimana setiap elemen
akan menampung sebuah data.
Indeks array dimulai dari nol(0) , sedang nomor
elemen biasanya dimulai dari satu(1). Nomor elemen dapat dibuat sama dengan
nomor indeks untuk mempermudah pembuatan program yaitu dengan memberi indeks
satu lebih banyak dari jumlah data yang dibutuhkan, sehingga menjadi :
Float
bil[11]
Menurut dimensinya, array dapat
dibedakan menjadi :
1. Array satu dimensi
·
Setiap elemen array dapat diakses
melalui index
·
Index array secara default dimulai dari
0
·
Deklarasi array :
Tipe_array
nama_array[ukuran]
Inisialisasi
dapat dilakukan bersama dengan deklarasi atau tersendiri. Inisialisasi
suatu array adalah dengan meletakkan elemen array di antara tanda kurung
kurawal {}, antara elemen yang satu dengan lainnya dipisahkan koma.
int bil[2] = {4,1,8}
bil[0]
= 4
bil[1] = 1
bil[2]
= 8
Automatic Array adalah inisialisasi array dilakukan
di dalam fungsi tertentu. Hanya compiler
C yang berstandar ANSI C yang dapat menginisialisasikan automatic array.
Cara menginisialisasikan array dari compiler yg tidak mengikuti
standar ANSI C:
1. Diinisialisasikan di luar fungsi sebagai variabel
global/external array.
int
bil[2]={0,0,0};
main()
2. diinisialisasikan didlm fungsi sebagai variabel
lokal/static array.
main()
{
static
int bil[2]={0,0,0};
.........
Pada automatic array yang tidak diinisialisasikan ,
elemen array akan memiliki nilai yang tidak beraturan. Bila global & static
array tidak diinisialisasi maka semua elemen array secara otomatis akan diberi
nilai nol(0).
Contoh :
main()
{
int y;
int
hitung=0;
int
x[0];
for(y=0;y<5;y++)
{
hitung+=y;
x[y]=hitung;
printf("%3d
- %3d\n",y,x[y]);
}
}
output:
0- 0
1- 1
2- 3
3- 6
4- 10
Mendefinisikan jumlah elemen array dalam variabel
Besarnya variabel indeks dapat ditentukan dengan
menggunakan
preprocessor directives #define
#define N 40
main()
{
int
no[N],gaji[N],gol[N],status[N],juman[N];
Bila besari indeks akan diubah menjadi 50, cukup
diganti dengan
#define N 50
2. Array dua dimensi
·
Array dua dimensi merupakan array yang terdiri
dari m buah baris dan n buah buah kolom bentuknya dapat berupa matriks atau
tabel.
·
Deklarasi array :
Tipe_array nama_array [baris][kolom]
Nama_variabel
[indeks1][indeks2]
Indeks1
: jumlah/nomor baris
Indeks2 : jumlah/nomor kolom
Jumlah elemen yang dimiliki array 2 dimensi dapat
ditentukan dari hasil perkalian indeks1
* indeks2
Misal
: array a[2][3] akan memiliki 2*3 = 6 elemen.
Main()
{
float bil [5] [5]
.......
Dapat
dituliskan dengan #define
#define n 5
Main()
{
float
bil [n] [n]
.......
Inisialisasi
array 2 dimensi
Main()
{
float
bil[2] [3] =
{ {
1,2,3}, /*baris 0*/
{ 4,5,6}, /*baris
1*/
}
Elemen bil [0] [0] = 1
Elemen bil [0] [1] = 2
Elemen bil [0] [2] = 3
Elemen bil [1] [0] = 4
Elemen bil [1] [1] = 5
Elemen bil [1] [2] = 6
Contoh :
Main()
{
int
x[3][5];
int
y,z;
int
hitung=0;
for(y=0;y<3;y++)
{
printf("y
= %d\n",y);
for(z=0;z<5;z++)
{
hitung+=z;
x[y][z]
= hitung;
printf("%/t%3d
- %3d\n",z,x[y][z]);
}
}
}
Output:
Y = 0
0- 0
1- 1
2- 2
3- 6
4- 10
Y = 1
0- 10
1- 11
2- 13
3- 16
4- 20
Y = 2
0- 20
1- 21
2- 23
3- 26
4- 30
String dan Array
1. Pada string terdapat karakter null(\0) di akhir string
2. String sudah pasti
array, array belum tentu string
Contoh - contoh :
1. array dengan
pengisian input melalui keyboard
baca_input()
{
float nilai[10];
for(i=0;i<10;i++)
scanf("%d",&nilai[i]);
}
2. Fungsi yang mencetak
isi array dari akhir ke awal
cetak_array()
{
float nilai[10];
for(i=9;i>=0;i--)
scanf("%3f",nilai[i]);
}
3. Menghitung rata -
rata isi array nilai
rata_rata()
{
float nilai[10],jum*rata;
for(i=0,jum=0;i<=9;i++)
jum+=nilai[i];
rata=jum/i;
}
4. Mencari nilai
terbesar
besar()
float temp,nilai[10];
{
for(temp=nilai[0],i=1;i<=9;i++)
if(nilai[i] > temp)
temp=nilai[i];
}
return(temp)
3.Array
multidimensi
·
Array multidimensi merupakan array yang
mempunyai ukuran lebih dari dua. Bentuk pendeklarasian array multidimensi sama
saja dengan deklarasi array dimensi satu maupun dimensi dua.
·
Deklarasi array :
Tipe_array nama_array [ukuran 1][ukuran 2]
. . . [ukuran N]
Perbedaan array dengan tipe data lain :
Array dapat mempunyai
sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai
saja. Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data
(char, int, float, double, long, dll) yang sama dengan satu nama saja. Selain
itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya
berupa satu dimensi.
Array juga dapat digunakan sebagai
parameter. Jenisnya :
a.
Array dimensi satu sebagai parameter :
Pengiriman parameter
berupa array dimensi satu merupakan pengiriman secara acuan/referensi, karena
yang dikirimkan adalah alamat dari elemen pertama arraynya, bukan seluruh
nilai-nilai elemenya. Alamat elemen pertama dari array dapat ditunjukkan oleh
nama lariknya yang tidak ditulis dengan indeknya.
b.
Array dua dimensi sebagai parameter :
Pengiriman parameter
berupa array dua dimensi hampir sama dengan pengiriman parameter array satu
dimensi, hanya saja perbedaannya adalah dalam array dua dimensi harus
menyebutkan baris dan kolom array dimensi dua tersebut, mendeklarasikan
MAX_ROWS dan MAX_COLS yang digunakan untuk pengiriman parameter array dua
dimensi dan pada saat pengiriman parameter formal array dua dimensi, kita harus
menyebutkan banyaknya dimensi array untuk kolom, sehingga ukuran kolom dapat
diketahui, hal ini berkaitan dengan pemesanan variabel array di memori.
0 komentar:
Posting Komentar