selamat datang di blogku... silakan dibaca... di comment... dan jangan lupa be my blog followers yah?...

1.05.2012

Tipe Data dan Operator

Tipe Data menunjukkan suatu nilai yang dpat digunakan oleh sutu variable yang bersangkutan.
Tipe Data dalam Pascal :
1. Tipe Data Sederhana, terdiri dari :
    a. Tipe data standar :
        – integer : merupakan tipe data berupa bilangan bulat
        - real : merupakan jenis bilangan pecahan
          – char : merupakan karakter yg ditulis diantara tanda petik tunggal. Ex : ‘A’, ‘a’, ’5′ dll
        – string : merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal.
        – boolean : merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE atau FALSE .
    b. Tipe data didefinisikan pemakai

12.19.2011

Mengenal Array pada Pascal


1. Definisi
Array adalah koleksi data yang tipenya sama, tersusun dalam bentuk barisan linier berurutan (sequence) dan jumlah elemen atau datanya tidak berubah (statis) sesuai dengan deklarasi awal. Semua elemen array diidentifikasi dengan sebuah nama (nama array) dan untuk setiap elemennya diidentifikasi/dibedakan dengan sebuah index.

2. Deklarasi.
Bentuk umum deklarasi array adalah:
type tipe_array = array [range_index] of ipe_data;
var var_array : tipe_array; (1.1)
Atau dapat langsung dituliskan sebagai berikut:
var var_array = array [range_index] of tipe_data; (1.1)
var_array adalah nama variabel array yang dipakai untuk mengidentifikasi array. Pemilihan nama variabel array mengikuti aturan pemberian nama variabel secara umum.
Range_index adalah batasan index yang digunakan untuk mengidentifikasi elemen array. Range_index menentukan jumlah elemen array, yang jumlahnya tidak akan berubah (statis) mulai saat awal disediakan (program dijalankan) hingga program selesai dijalankan. Misalnya range 0..9 atau 1..10 atau –1..8 atau ‘A’..’J’ akan menentukan jumlah elemen array sebanyak 10 buah.
Setiap elemen array diidentifikasi oleh salah satu index yang berada dalam range yang telah ditentukan. Penggunaan index yang berada di luar range Index akan mengakibatkan kesalah, Index ini tidak harus berupa bilangan positif, tetapi harus berupa bilangan bulat atau data-data yang masuk kategori tipe data ordinal (seluruh tipe data dasar selain real dan double), seperti semua varian integer, char, boolean atau tipe data enumerasi yang dibuat sendiri oleh user.
Tipe_data adalah tipe data untuk elemen array. Tipe data elemen array tidak harus berupa integer, atau tipe data dasar yang lain, tetapi dapat berupa tipe data terstruktur seperti array.
Tentang pemilihan model deklarasi, model deklarasi dengan membuat sebuah tipe array seperti model (1.1) akan lebih jelas dan lebih ringkas yang dapat dirasakan saat variabel-variabel bertipe array digunakan sebagai parameter sebuah fungsi atau prosedur.

3. Operasi Pada Array
- Operasi Memasukkan dan Mengambil Nilai
Bila array sudah dideklarasikan dan sudah diberi suatu nama, maka dapat dimanfaatkan sesuai fungsinya sebagai objek data. Operasi memasukkan nilai adalah operasi untuk memasukkan nilai data ke dalam elemen-elemen array. Biasanya hal ini dilakukan dengan operasi penugasan (assignment) dengan objek array terletak sebagai operan di sebelah kiri tanda ‘:=’.
Sedangkan operasi mengambil nilai adalah operasi untuk mendapatkan/membaca nilai dari suatu array. Hal dini dilakukan ketika menggunakan array sebagai operan nada suatu operasi atau sebagai parameter sebuah fungsi/prosedur.
- Operasi Mengakses Array
Operasi mengakses suatu objek data merupakan nama yang lebih umum daripada operasi memasukkan nilai ataupun membaca nilai. Jadi, operasi mengakses array dapat berupa memasukkan nilai atau membaca nilai array. Operasi ini dapat dilakukan pada array secara keseluruhan ataupun pada suatu elemen tertentu.
- Mengakses Elemen Array Secara Acak/Random
Setiap elemen array dapat diperlakukan secara individual terlepas dari elemen-elemen lainnya. Misalnya dalam hal memasukkan data, nilai[7] dapat dimasukkan lebih dulu daripada elemen lainnya.meskipun akhirnya semua elemen array akan diakses, namun tidak aturan yang pasti tentang urutan mengaksesnya. Kita bisa saja mengakses nilai[5] tanpa mengakses komponen array lainnya.
- Mengakses Elemen Array Secara Sequensial (Berurutan)
Struktur array yang elemen-elemennya tersusun secara berurutan, memungkinkan kita mengakses sebagian atau seluruh elemen array secara berurutan.
Untuk proses mengunjungi elemen array (traversal of array) secara berurutan dapat dilakukan dengan proses looping (perulangan). Pada model-model di atas, elemen-elemen array diakses secara berurutan dengan selisih satu index. Jadi elemen ke-6 akan diakses sebelum atau sesudah elemen ke-5 ataupun ke-7. Pergeseran index dilakukan dengan menambah atau mengurangi index sebelumnya dengan 1. Kita juga dapat membuat model yang lain dengan mengubah selisih indexnya. Misalkan menjadi 2, 3, atau berapa saja sesuai keperluan, asalkan selalu berada pada range index.
- Mengakses Array Secara Keseluruhan
Selain mengakses komponen array, kita juga dapat mengakses array secara keseluruhan yang akan mempengaruhi semua elemennya sekaligus. Misalkan A dan B adalah dua buah variabel array yang tipenya sama, dan jumlah elemennya juga sama, maka dalam Pascal dapat dilakukan operasi penugasan A := B yang berarti memasukkan nilai dari setiap elemen array B ke semua elemen A pada Index-Index yang bersesuaian.

4. Array Multidimensi
Tipe data elemen array tidak harus berupa tipe data elementer, namun juga dapat berupa tipe data terstruktur, misalnya array. Sebagai contoh, perhatikan deklarasi berikut :
Var Matrix:array[1..3,1..3] of integer;
Bentuk deklarasi mungkin saja dibuat untuk kasus demikian, tipe nilai_ujian adalah berupa array dengan dua elemen bertipe integer untuk menyimpan nilai ujian midterm dan ujian akhir. Sedangkan variabel nilai adalah array dengan sepuluh elemen bertipe nilai_ujian, yang digunakan untuk menyimpan nilai ujian dari 10 mahasiswa. Elemen-elemen array nilai bertipe array integer. Walaupun terdapat dua buah array, tetapi setiap deklarasi array hanya dibatasi dengna sebuah range Index saja. Jumlah elemen array nilai adalah 10, walaupun secara keseluruhan banyaknya bilangan yang dapat disimpan adalah 20 buah. Array demikian dikenal sebagai array berdimensi 1.

5. Penggunaan Konstanta untuk Batas Index Arrray
Deklarasi konstanta sering digunakan untuk batas bawah dan batas atas pada range Index array. Setiap kali menggunakan array, kita pasti berharap agar ruang yang kita sediakan sesuai dengna banyaknya data yang akan disimpan; jangan sampai berlebihan, ataupun kekurangan.
Sering kali kita terpaksa harus mengubah batas-batas range Index untuk menyesuaikan jumlah data. Penggunaan konstanta akan memudahkan bila ada keperluan untuk mengubah batas-batas range Index array, yaitu cukup mengganti nilai konstanta tersebut.


12.17.2011

Pengertian Array

Array 
Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap. Banyaknya komponen dalam larik ditunjukkan oleh suatu index, dimana tiap komponen di array dapat diakses dengan menunjukkan nilai indexnya atau subskript. Array dapat bertipe data sederhana seperti byte, word, integer, real, bolean, char, string dan tipe data scalar atau subrange. Tipe larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.
Contoh:
Var
Untai : array[1..50] of Integer;
Pada contoh Array dengan nama untai telah dideklarasikan dengan tipe integer, dengan jumlah elemen maksimum 50 elemen, nilai dari elemen array tersebut diatas harus bertipe integer.

12.12.2011

Program Array

program determinan;
uses wincrt;
var A : array[1..2,1..2] of integer;
j,k,D : integer;
begin
For j:=1 to 2 do
begin
write('Entrikan baris ',j,' matriks A : ');
readln(A[j,1] , A[j,2]);
end;
For j:=1 to 2 do
begin
For k:=1 to 2 do write(A[j,k] : 5);
writeln;
end;
writeln;writeln;writeln;
D := A[1,1]*A[2,2] - A[1,2]*A[2,1];
writeln('Det(A) = ',D);
end.




program deret;
uses wincrt;
var n,d:integer ;
begin
     d:=2;
     for n:=2 to 6 do
     begin
     write (d, ' ');
     d:=d+2
     end;
end.





Program pengulangan_angka_dari_1_sampai_13;
uses wincrt;
var   
   i:integer;
   hasil : integer;

begin
     i:=2;
     repeat
    write (i, ' ');
     i:= i+2;
    until i>10;
end.




program deret;
 uses wincrt;
 var
 i: integer ;
 begin
 i:=2;
 while i<=10 do
 begin
 write (i, ' ');
 i:=i+2;
 end;
 end.


  program aa  ;
 uses wincrt;
 var i: integer;
 begin
 i:=2;
 write (i) ;
 repeat;
 write (' ');
 i:=i+2;
 write (i);
 until i=10;
 end.






Program  invers;
uses wincrt;
label  hitung;

var
    mat,adj : array [1..5,1..5] of integer;
    det,i,j : integer;
    c:char;

begin

  clrscr;
         { tampilan awal keterangan matrik }
  gotoxy(20,4);
  writeln('Matriks Ordo 2 x 2');

  gotoxy(15,5);
  writeln('-------------------------');

  gotoxy(15,7);
  writeln('1. Input data matrik ');

  gotoxy(15,8);
  writeln('2. Menentukan Adjoin Matrik');

  gotoxy(15,9);
  writeln('3. Mencari determinan matriks');

  gotoxy(15,10);
  writeln('4. Mencari Invers matriks');
  readln;

   if c = #13 then goto hitung;

           {end tampilan awal keterangan matrik}

           {mulai proses input}
hitung:
      begin
        clrscr;
        writeln('Input Matrik Ordo 2x2');
        writeln('-------------------------');
        for i := 1 to 2 do begin
           for j:= 1 to 2 do begin
               write('matrik ke ',i,' ',j,': ');readln(mat[i,j]);
           end;
           writeln;
        end;

        for i := 1 to 2 do begin
         write('|');
          for j := 1 to 2 do begin
            write(' ',mat[i,j],' ');
              if j = 2 then write ('|');
          end;
          writeln;
        end;
                 {end proses input matrik}

        writeln;
        writeln;
                 {mulai adjoin matrik dan determinan}

        writeln('Adjoin matrik Ordo 2x2');
        writeln('-----------------------');

        adj[1,1] := mat[2,2];
        adj[1,2] := mat[1,2] * -1;
        adj[2,1] := mat[2,1] * -1;
        adj[2,2] := mat[1,1];

          for i := 1 to 2 do begin
           write('|');
             for j := 1 to 2 do begin
                 write(' ',adj[i,j],' ');
                   if j = 2 then write('|');
             end;
             writeln;
          end;
        writeln;

        det := (mat[1,1] * mat [2,2]) - (mat[1,2] * mat[2,1]);

        write('Determinan dari matrik diatas adalah ');
        writeln(det);
        writeln;
                  {end of adjoin and determinan}

                  {mulai menghitung invers matrik}

        writeln('Invers Matrik ');
        writeln('----------------');
        writeln;

        for i := 1 to 2 do begin
         write('|');
          for j := 1 to 2 do begin
            write(' ',adj[i,j]/det:3:2,' ');
              if j = 2 then write('|');
          end;
          writeln;writeln;writeln;
       end;
                    {end of hitung invers matrik}

       end;
readln;
end.

12.05.2011

PROGRAM CETAK BINTANG

Program_pola_bintang_turun;
uses wincrt;
var
i,n,j:integer;
begin readln (n);
for i:=1 to n do
begin for j:=1 to n do
begin if (j i)
then write (' ')
else write ('*');
end;
writeln;
end;
end.
Powered By Blogger
 
Free Tail- Heart 1 Cursors at www.totallyfreecursors.com