Blogger templates

Pages

Senin, 04 Juni 2012

ARRAY


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