Minggu, 07 Oktober 2012

Logika & Algoritma (Pertemuan 3)

Pertemuan 3
KONSEP TIPE DATA
Bahasa Pemrograman PASCAL
Pascal ,  merupakan bahasa pemrograman tingkat tinggi.
Pascal dirancang oleh Prof. Niklaus Writh (Technical University di Zurich, Switzerland) pada tahun 1971
Nama Pascal diambil sebagai penghargaan kepada Blaise Pascal (ahli matematika dan philosopi dari Peancis).
TIPE DATA
1.    Tipe data Sederhana
1.    Tipe Ordinal  (berurutan)
Yang termasuk tipe data ordinal :
a.    Integer   tipe data untuk bilangan bulat (short int,word, byte dll).
b.    Boolean  tipe data yang memiliki nilai TRUE dan FALSE
c.    Char  tipe data yang berisi 1 buah karakter.
d.    Terbilang
e.    Sub Jangkauan
2.    Real  tipe data untuk menampung bilangan pecahan.
2.    Tipe data String
tipe data yang terdiri dari sekumpulan karakter.
3.    Tipe data Terstruktur
Array, Record, Set, File, objek


1.    Tipe data Sederhana
     TIPE ORDINAL
tipe data yang merupakan subset dari tipe data sederhana, tipe sederhana adalah semua tipe data sederhana kecuali tipe data numerik real.
Macam tipe data ordinal :
a.    Integer    tipe data yang digunakan untuk menyimpan bilangan bulat.
Tipe    Jangkauan    Ukuran
Shortint    128…127    Signed 8 bit
Integer    -32768…32767    Signed 16 bit
Longint    -2147483648…2147483647    Signed 32 bit
Byte    0…255    UnSigned 8 bit
Word    0…65535    UnSigned 16 bit

b.    Boolean  yang hanya dapat bernilai benar atau salah (TRUE or FALSE).
c.    Char  tipe  data yang digunakan untuk menyimpan data alfanumeris, seperti ‘A’,’Z’,’@’,’$’,’1’,’9’ dsb.
d.    Terbilang  digunakan untuk  memberi nama pada beberapa nilai tertentu.(tipe data yang didefinisikan sendiri oleh pembuatnya  dikenal juga tipe data enumerated)
contoh :
Type
    Hari = (Minggu, Senin, Selasa, Rabu, Kamis, Jumat, Sabtu ) ;
e.    Sub Jangkauan  digunakan untuk mendeklarasikan tipe yang berada pada jangkauan tertentu. Pada dasarnya tipe subjangkuan hampir sama dengan tipe bilangan bulat, bedanya kita bebas menentukan jangkauan dari tipe ini, misalnya dari 1 sampai 100.
Contoh :
Type
   Nilai = 0..100;




Karakteristik tipe Ordinal adalah
•    Merupakan Himpunan Berurutan (ordered set).  nilai dari tipe data ordinal memiliki nilai yang berurutan
•    Memiliki Fungsi standard ORD/Ordinalitas   (digunakan untuk menghasilkan nilai urutannya.)
•    Memiliki Fungsi standard PRED/Predecessor  (digunakan untuk menghasilkan nilai urutan sebelumnya.).
•    Memiliki Fungsi standard SUCC/Successor(digunakan untuk menghasilkan nilai urutan sesudahnya)

Contoh Program :
uses crt;
type
  Colors = (MERAH,BIRU,HIJAU);

begin
  clrscr;
  Writeln('BIRU mempunyai nilai ordinal ',Ord(BIRU));
  Writeln('kode ASCII dari "c" adalah ', Ord('c'), ' desimal');
  writeln;

  Writeln('predecessor dari 5 adalah ',Pred(5));
  Writeln('successor dari 10 adalah ',Succ(10));

  if Succ(MERAH) = BIRU then
    Writeln('DALAM TIPE Colors ,MERAH merupakan ',
            'predecessor dari BIRU.');
 readln;
end.
HASIL :
BIRU mempunyai nilai ordinal 1
kode ASCII dari "c" adalah 99 desimal

predecessor dari 5 adalah 4
successor dari 10 adalah 11
DALAM TIPE Colors ,MERAH merupakan predecessor dari BIRU.


Note !    Fungsi  (seperti: ord,pred,succ,chr,length,concat dsb )adalah sebuah perintah / instruksi program yang digunakan untuk keperluan pemrograman yang disediakan oleh bahasa pemrograman PASCAL




     TIPE REAL
Tipe data yang digunakan untuk menyimpan bilangan real/pecahan.
Tipe data    Jangkauan    Digit penting    Ukuran
Real    2.9 * 10-39 … 1.7 * 1038    11-12    6 byte
Single    1.5 * 10-45 … 3.4 * 1038    7-8    4 byte
Double    5.0 * 10-324 … 1.7 * 10308    15-16    8 byte
Extented    3.4 * 10-39 … 1.1 * 104932    19-20    10 byte
Comp    -263+1 … 1063-1    19-20    8byte

2.    TIPE STRING
Tipe string digunakan untuk menyimpan data yang berupa untaian karakter, seperti ‘ Pascal ’ , ’Algoritma ‘
Var
Kalimat : string;
# ConCat[fungsi].
    Untuk menggabungkan 2 atau beberapa variabel string.
    Sintaks:  ConCat (s1 [,s2,...,sn]: String) : String;
    contoh:   ConCat ('ABC','DEF')          { ABCDEF }
# Copy [fungsi].
              Mengambil satu atau beberapa karakter dari sebuah string.
              Sintaks:  Copy (S,Index,Count) : String;
              Keterangan :
                     S         = sebuah string (string).
                     Index  = posisi  awal kita  akan  mengambil  beberapa
                                    karakter (integer)
                     Count  = banyaknya karakter yang akan diambil (integer).

# Delete [prosedur].
              Menghapus sebagian karakter dari sebuah string.
              Sintaks:  Delete (S,Index,Count);
              Keterangan : sama dengan statemen Copy.
# Insert [prosedur].
              Menyisipkan satu atau beberapa karakter ke dalam sebuah string.
              Sintaks:  Insert (Source,var S,Index);
              Keterangan : Source = sumber string untuk disisipi (string)
                                    var  S = string tujuan yang akan disisipi  oleh  string Source (string)
                                    Index  = posisi mulai (integer).

   # Length [fungsi].
              Memberikan  nilai panjang dari suatu string (jumlah  karakter
              dalam string).
              Sintaks:  Length (S);
              Keterangan : S = string
                                       Length(S) menghasilkan nilai integer.

# Pos [fungsi].
              Mencari posisi sebuah bagian string (substring) didalam
              sebuah string.
              Sintaks:  Pos (Substr,S); {menghasilkan nilai Byte}
              Keterangan :   Substr    =   substring yang akan dicari  posisinya  di   dalam sebuah string S.
              Bila bernilai 0 berarti nilai string yang dicari tidak ada.

# Str [prosedur].
              Merubah nilai numerik ke dalam nilai string.
              Sintaks:  Str (N,S);
              Keterangan :
                          N = data tipe integer,
                          S = data tipe string.

 # Val [prosedur].
              Merubah nilai string ke dalam nilai numerik.
              Sintaks:  Val (S,N,P);
              Keterangan :
                              S = nilai string,
                              N = nilai real,
                              P  = posisi salah.
              Nilai string harus berisi angka, plus atau  minus, bila tidak
              berarti kesalahan dan letak kesalahannya ditunjukkan oleh va-
              riabel posisi salah. Jika benar, maka nilai variabel tsb = 0
              (nol).

 # UpCase [fungsi].
              Memberikan huruf kapital dari argumen.
              Sintaks:  UpCase (S);
              Keterangan :
                        S = variabel bertipe karakter.



3.    TIPE TERSTRUKTUR
a.    ARRAY  / larik
yaitu   tipe   data   berindeks   yang   terdiri   dari   satu   atau   lebih elemen/komponen yang memiliki tipe data yang sama. (mendeklarasikan kumpulan variabel yang bertipe sama)
penulisan :
Var
Nama_larik : array [batas_bawah..batas_atas] of tipe larik;
Var
a: array[1..8] of longint;
Sama artinya dengan :
a1, a2, a3, a4, a5, a6, a7, a8 : longint;
b.    RECORD / Rekaman
Tipe  data  ini  digunakan  untuk  merepresentasikan  kumpulan  elemen/komponen  yang  memiliki satu jenis atau lebih tipe data. Tiap element disebut juga field atau property atau attribute.
Type
TKaryawan = record;
Nama : string;
Alamat : string;
Gaji : longint;
End;
c.    SET / Himpunan
digunakan untuk menyimpan kumpulan nilai ( disebut juga anggota himpunan) yang bertipe sama.
Type
HimpunanKarakter =  set of char;
d.    FILE
tipe data untuk mengakses file.
Type
 Nomorfile = file of integer;





SUPLEMEN
MENGENAL PEMROGRAMAN PASCAL
Secara ringkas, struktur bahasa PASCAL dapat terdiri dari:
1.    Judul Program
2.    Blok Program
-    deklarasi label
-    definisi konstanta
-    definisi tipe
-    deklarasi variabel
-    deklarasi prosedur
-    deklarasi fungsi
3.    Bagian Pernyataan (statetement program/baris perintah)

PROGRAM nama_program;  {judul Program}
USES  nama_unit;  {deklarasi unit yang dipakai}
VAR   { Deklarasi Variabel }
BEGIN      
          Blok Program Utama
END.
a.    Deklarasi variabel
Untuk membuat variabel/pengenal/indentifier pada pascal yaitu dengan menuliskan nama variabel dan tipe datanya pada bagian deklarasi variabel
Format penulisan:  [ nama_identifier : tipe_data; ]
contoh :  
Var
  I : integer;
  nama : string;
  Jenis_kelamin : boolean;
  Luas,Panjang,Lebar : integer;





b.    Operator Aritmatika
Operator    Operasi    Tipe Operand    Tipe Hasil
*    Perkalian    real, real
integer, integer
real, integer    real
integer
real
DIV    Pembagian bulat    integer, integer    Integer
/    Pembagian real    real, real
integer, integer
real, integer     real
real
real
MOD    Sisa pembagian    integer, integer    integer
+    Penambahan    real, real
integer, integer
real, integer    real
integer
real
-    Pengurangan    real, real
integer, integer
real, integer    real
integer
real

Contoh :
operasi perkalian antara variabel  PANJANG dan LEBAR di masukan kedalam variabel LUAS
LUAS := PANJANG * LEBAR;

c.    Operator pemberi nilai (assignment operator)
Menggunakan sintax : “ := “ (titik dua sama dengan)
contoh:
LUAS := PANJANG * LEBAR
(hasil perkalian PANJANG * LEBAR dimasukan kedalam  variabel LUAS)

d.    Pernyataan masukan dan keluaran
READ dan READLN
Digunakan untuk meminta masukan dari papan ketik untuk diolah computer.
READ (nama);         memasukan nilai ke variabel
WRITE dan WRITELN
Digunakan untuk menampilkan data kelayar.
WRITE (‘Halo ’);    menampilkan string halo
WRITE (nama);        menampilkan isi variable nama.
    Perbedaan WRITE dengan WRITELN  yaitu ketika perintah write ini dikerjakan  kursor tidak akan ganti baris (tetap diposisi semula) sedangkan ketika perintah writeln ini dikerjakan kursor  akan pindah baris.

Article by  :    Nama : Dadan Supriatna
        NIM   : 12124537       

Tidak ada komentar:

Posting Komentar