Welcome to My Blog.masih bersama MAZ BROW Bang-iconk"TM. Get paid To Promote at any Location

Tuesday, May 10, 2011

BAB V ARRAY



1.      Pendahuluan
Pascal menyediakan kemampuan ini dengan menggunakan kata cadangan array. Array adalah tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe yang sama. Komponen-komponen ini disebut dengan component type atau base type. Suatu array memiliki jumlah komponen yang banyaknya tetap. Komponen dapat menggunakan tipe data apa saja. Banyaknya komponen dalam suatu array ditunjukkan oleh suatu indeks yang disebut dengan index type dan harus bertipe ordinal. Tiap komponen array diakses dengan mereferensikan index value.
Tipe suatu array haruslah berupa tipe sederhana, tidak boleh bertipe kompleks. Bila nilai-nilai dari elemen array dibatasi nilainya dalam suatu jangkauan range tertentu, maka dapat dideklarasikan dengan tipe array berbentuk subrange. Sedangkan bilai nilai-nilai elemen array dibatasi dengan nilai-nilai tertentu yang tidak dapat ditulis dalam suatu range, tetapi dapat ditentukan secara berurutan, maka dapat digunakan array tipe skalar.

2.      Kata cadangan yang digunakan

Array         :  digunakan untuk mendefinisikan sebuah jenis array
For          : mendefinisikan nilai awal perulangan
To            : mendefinisikan nilai akhir perulangan (perulangan positif)
Do           : digunakan untuk menyebutkan aksi yang akan dilakukan perulangan
If             : menyebutkan kondisi untuk suatu statemen agar dapat dieksekusi
Then        : menyebutkan statemen aksi yang harus dijalankan saat kondisi terpenuhi
Else      : menyebutkan statemen aksi yang dapat dieksekusi saat statemen aksi lain tidak  dieksekusi karena kondisinya tidak terpenuhi.


3.      Prosedur yang digunakan
Randomize   : menginisialisasi generator angka random yang dimiliki kompiler Pascal dengan suatu nilai random yang didapatkan dari clock komputer.

4.      Fungsi yang digunakan
Random     :  memunculkan suatu nilai random
Sqr             :  menghasilkan nilai kuadrat dari suatu argumen
Sqrt            :  menghasilkan nilai akar dari suatu argumen
Trunc         :  memotong nilai jenis real supaya menjadi nilai jenis integer
Frac           :  mengembalikan bagian pecahan dari suatu argumen

5.      Contoh Program
a.       Contoh pertama
Program m5c1;
Uses wincrt;
Const
      Huruf : array [0..4] of char = ('E','D','C','B','A');
Var
      i : word;
Begin
      For i := 0 to 4 do
            Writeln('Nilai ke ',i, ' = ',Huruf[i]);
End.
 b.       Contoh ke-dua
Program m5c2;
Uses wincrt;
Var
      x : array [1..100] of integer;
      i, n, max, min : integer;
Begin
      Write ('Banyaknya data: ');
      Readln (n);
      Randomize;
      For i := 1 to n do
            x[i] := random(100);
      max := x[1];
      min := x[1];
      For i:= 2 to n do
      Begin
            If x[i] > max then max := x[i];
            If x[i] < min then min := x[i];
      End;
      Writeln ('Maksimal: ', max, ', minimal: ', min);
End.
 c.      Contoh ke-tiga
Program m5c3;
Uses wincrt;
Const
     max = 100;
Var
     x : array [1..max] of integer;
     i, n, tot : integer;
     mean, sd, totkwd : real;
Begin
     write ('Jumlah data? ');
     readln (n);
     writeln;
     tot := 0;
     for i := 1 to n do
     Begin
          write ('Masukkan data ke ',i,': ');
          readln (x[i]);
          tot := tot + x[i];
     End;
     mean := tot/n;
     totkwd := 0;
     for i := 1 to n do
         totkwd := totkwd + sqr (mean - x[i]);
     sd := sqrt (totkwd/(n-1));
     writeln;
     writeln ('Standar Deviasi: ',sd:5:2);
End.

 d.       Contoh ke-empat
Program m5c4;
Uses wincrt;
Type
     X = string[7];
Const
     FaktorBln: array[1..12] of byte = (0,3,3,6,1,4,6,2,5,0,3,5);
     hari: array[0..8] of x = ('Minggu','Senin','Selasa',' ','Rabu','Kamis',' ','Jumat','Sabtu');
Var
     i: word;
     nama: string[255];
     j1, j2, j3, j4: integer;
     tgl, bln, thn: integer;
Begin
     write ('Tanggal? '); readln(tgl);
     write ('Bulan (1-12)? ');readln(bln);
     write ('Tahun (19..)? ');readln(thn);
     if thn > 1900 then thn := thn - 1900;
     j1 := trunc (thn*365.25);
     j2 := j1 + faktorbln[bln];
     if (thn/4 = int(thn/4)) and (bln<3) then j2 := j2-1;
     j3 := j2 + tgl;
     j4 := trunc(frac(j3/7)*10);
     writeln;
     writeln('Harinya adalah: ',hari[j4]);
End.                           


 6.      Tampilan Semua Program
Program pertama
 
Program ke-dua
Program ke-tiga
 Program ke-empat
 
  7.      Latihan

Buatlah sebuah program yang dapat menerima masukan sejumlah data tertentu dari pengguna (jumlah data masukan juga ditentukan oleh pengguna, bukan dari program). Program Anda haruslah dapat memberikan pilihan pekerjaan kepada pengguna (dalam bentuk menu, gunakan kata cadangan case ..  of) yaitu:

1)    Pilihan untuk memunculkan sebuah data saja (data ke-x, dan x ditentukan oleh pengguna)

2)   Pilihan untuk memunculkan data dari data ke-y sampai dengan data ke-z (nilai y dan nilai z ditentukan oleh pengguna)

3)   Pilihan untuk memunculkan semua data

4)   Pilihan untuk memunculkan statistik.

     Gabungkan contoh kode untuk mencari nilai minimal, maksimal, cacah data, jumlah nilai data,        rata-rata, dan standar deviasi ke dalam program Anda untuk memberikan nilai statistik pada           menu ke-4 ini. Ingat, Anda harus membentuknya dalam 1 program yang dapat memberikan        semua fungsi diatas.


No comments:

Post a Comment