Halaman

HEI........

"welcome to my blog"

ilmu

KONSEP DASAR BAHASA PASCAL
   
   
    Pengertian
   
    Pemrograman / programming  : adalah pekerjaan penulisan instruksi bagi komputer untuk menyelesaikan suatu masalah.
   
    Program    : adalah himpunan instruksi yang diperuntukkan bagi komputer, untuk menyelesaikan masalah yang diberikan.
   
    Interpreter  :  menerjemahkan perintah baris demi baris dan langsung melaksanakannya. contoh : BASIC.
   
    Compiler     : menerjemahkan dulu seluruh perintah dalam bahasa mesin. Baru kemudian terjemahan tersebut dijalankan oleh komputer. Contoh : FORTRAN, C, PASCAL.
   
   
    2.1. Sejarah Singkat Bahasa PASCAL
   
    Bahasa PASCAL pertama kali dikembangkan pada awal tahun 70-an oleh NICLAUS WIRTH di Technical University, Zurich – Swiss.
    Nama PASCAL diambil dari nama seorang ahli matematika bangsa Perancis, yaitu BLEISE PASCAL yang telah berjasa menemukan alat hitung mekanis pertama didunia pada abad ke-17.
    Bahasa pemrograman ini termasuk kategori “High Level Language”. Instruksi-instruksi yang digunakan dalam bahasa pemrograman ini sangat sistematis dan terstruktur.
    Pada Awalnya bahasa pemrograman ini diperkenalkan dengan tujuan untuk menjelaskan masalah pemrograman komputer bagi mahasiswa yang belajar pemrograman komputer.
    Ternyata dalam waktu singkat, nahasa pemrograman ini menjadi salah satu bahasa yang sangat populer dikalangan universitas, sehingga menjadi julukan sebagai bahasa universitas.
    Mulai dari awal perkembangannya hingga saat ini banyak sekali jenis bahasa pemrograman ini, masing-masing merupakan hasil pengembangannya, antara lain :
    UCSD Pascal
    Microsoft Pascal
    Apple Pascal
    Turbo Pascal
    dsb
   
    Diantara versi-versi yang ada, Turbo Pascal merupakan versi yang sangat populer saat ini.
   
   
   
    2.2. Struktur Dan Komponen Dasar Program Pascal.
   
        Struktur dari suatu program Pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu bagian deklarasi dan bagian pernyataan (statement).
   
    2.2.1. Struktur program :
   
    Judul Program            PROGRAM nama-program;
    Blok Program   
    Bagian deklarasi
    - deklarasi label            LABEL nama-label;
    - deklarasi konstanta        CONST…………..;
    - deklarasi tipe            TYPE …………….;
    - deklarasi variabel            VAR ……………...;
    - deklarasi prosedur        PROCEDURE nama-prosedur;
                        ……………………………….;
    - deklarasi fungsi            FUNCTION nama-fungsi;
                        ………………………….;
    Bagian Pernyataan       
    Begin
        (statement)           
        …………;
        …………;
    end.
   
   
    Contoh :  Menghitung luas bidang berbentuk empat persegi panjang dengan panjang P
         dan lebar L.
   
    PROGRAM Luas;                {Judul}
    VAR P,L,Luas    : real;            {Deklarasi variabel}
    BEGIN
        Read (P,L);                {Statemant}
        Luas := P*L;                {Statement}
        Write (P,L,Luas);            {Statement}
    END.
   
   
    Judul program sifatnya adalah optional, dan bila ditulis, harus terletak pada awal dari program dan diakhiri dengan titik koma.
    Bagian deklarasi digunakan bila di dalam program digunakan pengenal ( identifier). Identifier dapat berupa label, konstanta, tipe, variabel, prosedur dan fungsi. Kalau suatu program menggunakan identifier, Pascal menuntut supaya identifier tersebut diperkenalkan terlebih dahulu sebelum digunakan, yaitu dideklarasikan terlebih dahulu pada bagian ini.
    Beberapa aturan dalam program Pascal :
   
•    Akhir sebuah program Pascal ditandai dengan tanda baca titik (.) setelah END yang  paling akhir.
•    Tanda titik koma (;) merupakan pemisah antar instruksi satu dengan lainnya.
•    Beberapa statement boleh ditulis menjadi satu baris dipisahkan dengan tanda baca titk koma (;)
    Contoh : simpan  :=  akhir;   akhir := simpan + awal;
•    Baris komentar diletakkan diantara tanda (* dan *) atau diantara tanda { dan }
    Contoh :     Var    rerata    : real;        (*nilai rata-rata*)
                Nil1    : real;        {nilai ujian}   
   
    Statement  (pernyataan)
        Adalah instruksi atau gabungan instruksi, yang menyebabkan komputer melakukan aksi.
   
    Type statement dalam Pascal terdiri atas :
   
1.    Sederhana :
    - menandai sebuah item data ke sebuah variabel (assigment statement)
        contoh : X := Y * 4.135
-    pemanggilan procedure dan goto statement

2.    Terstruktur:
    - Compound Statement
        contoh : Begin
                read (x) ;
                y := x + 5;
                write (y)
              End.
          - Repetitive Statement
        contoh :     For I := 1 to 100 do
                write (count);
         - Conditional Statement
        contoh :     If x > 100 then write (s)
                    else write (p) ;
   
   
    2.2.2. Komponen Dasar Program Pascal
   
    Pola susun bahasa Pascal dibentuk dengan menggunakan komponen bahasa pemrograman yang umum, yaitu :
1.    Simbol Dasar
2.    Reserved Word (kata pasti)
3.    Identifier (penyebut)
1.    Simbol Dasar.
    Simbol dasar terdiri atas :
1.    Simbol huruf, yaitu huruf A sampai dengan Z atau a sampai dengan z.
    (huruf besar dan kecil).
2.    Simbol angka atau digit yaitu : 0,1,2,3,4,5,6,7,8,9.
3.    Simbol khusus, yaitu
    +   -   *   /   ;   :=   ,   ‘   =   <   >   <=   >=   <>   :   {  }   ( )   [   ]
   
2.    Reserved Word (kata pasti)
    Reserved Word adalah suatu kata yang secara mutlak tidak boleh diartikan lain dan harus digunakan sebagaimana yang telah didefinisikan atau ditentukan kegunaanya oleh bahasa Pascal. Reserved word ini tidak boleh didefinisikan ulang oleh pemakai, sehingga tidak dapat dipergunakan sebagai pengenal (identifier)
    Reserved Word ini jumlahnya berbeda untuk masing-masing bahasa Pascal.
   
   
    Contoh beberapa reserved word yang telah didefinisikan oleh bahasa pascal antara lain
   
        AND        ELSE            LABEL        SET
        ARRAY    END            OF            TYPE
        BEGIN    FUNCTION        OR            UNTIL
        CASE        FOR            PROCEDURE    VAR
        CONST    GOTO            PROGRAM        WHILE
        DO        IF            RECORD        WITH
        DOWNTO    IN            REPEAT        dsb
   
3.    Identifier (sebutan/pengenal)
    Identifier merupakan sebuah kata yang digunakan sebagai nama atau sebutan terhadap sesuatu didalam program. Pemakai dapat mendefinisikan sendiri suatu nama sebagai identifier.
   
    Identifier ini terdiri atas :
   
1.    Identifier Standar, yaitu identifier yang telah didefinisikan oleh bahasa pascal.
    Contoh dari Identifier standar ini antara lain:
    ABS             LN
    ARCTAN        ODB
    BOOLEAN        PRED
    CHAR            ROUND
    CHR            READ
    COS            READLN
    EOF            SQR
    EOLN            SQRT
    EXP            SUCC    
        Dan masih banyak lagi.
   
2.    Identifier Non Standar; yaitu identifier yang didefinisikan oleh pemakai bahasa pascal; misalnya;
3.    nama suatu program
4.    nama suatu konstanta
5.    nama suatu variabel
6.    nama suatu procedure
    Identifier ini bebas, tetapi dengan ketentuan-ketentuan sebagai berikut :
7.    terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Huruf besar dan huruf kecil dianggap sama.
8.    Tidak boleh mengandung blank.
9.    Tidak boleh mengandung simbol-simbol khusus, kecuali garis bawah.
10.    Panjangnya bebas, tetapi hanya 63 karakter pertama yang dianggap signifikan.
   
    Contoh :
   
    Identifier        Keterangan
    GajiKaryawan        Benar
    No_Mhs        Benar
    P3K        Benar
    1X        Salah, karakter pertama harus huruf
    A&B        Salah, tidak boleh mengandung simbol khusus
    A B        Salah, tidak boleh mengandung blank
   
   
2.3. Jenis – jenis data
   
    Jenis – jenis data yang dikenal dalam bahasa pascal antara lain yaitu:
1.    Jenis data sederhana
a.    Jenis data yang standar; yaitu :
•    Integer
•    Real
•    Karakter
•    Boolean
b.    Jenis data yang non standar (user defined), yaitu;
•    Enumerated
•    Sub-range
2.    Jenis data berstuktur, yaitu:
a.    Array
b.    Record
c.    Set
d.    File
3.    Jenis Data Pointer
    INTEGER
   
        Jenis data ini terdiri atas integer positif, integer negatif dan nol. Merupakan nilai bilangan bulat.
    Pada TURBO PASCAL jenis data ini di bagi atas beberapa bagian, yaitu :
   
   
    Tipe        Ukuran memori
    (dalam byte)        Jangkauan nilai
    BYTE        1        0..255
    SHORTINT        1        -128..127
    INTEGER        2        -32768..32767
    WORD        2        0..65535
    LONGINT        4        -2147483648..2147483647
   
    Operator Integer terdiri atas :  + , - , * , / , DIV dan MOD
   
    Contoh :
   
    Var
        Jumlah : byte;
    Begin
        Jumlah := 200;
        WriteLn(‘Nilai JUMLAH = ‘,Jumlah);
    End.
   
    Hasilnya bila dijalankan :
   
        Nilai JUMLAH = 200
   
    REAL
   
   
    Penulisan untuk jenis data ini selalu menggunakan titik desimal. Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan 1E+38 dengan mantissa yang signifikan sampai dengan 11 digit. E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real menempati memori sebesar 6 byte.
    Contoh :
    123.45
    12345.   salah, titik desimal tidak boleh dibelakang
    12E5
    12E+5
    -12.34
    .1234   salah, titik desimal tidak boleh dimuka
   
    Pada TURBO PASCAL, jenis data ini dibedakan atas :
   
    Tipe        Ukuran memori
    (dalam byte)        Jangkauan nilai        Digit signifikan
    SINGLE        4        1.5x10E-45 .. 3.4x10E38        7-8
    DOUBLE        8        5.0x10E-324 .. 1.7x10E308        15-16
    EXTENDED        10        1.9x10E-4951 .. 1.1x10E4932        19-20
    COMP        8        -2E+63+1 .. 2E+63-1        19-20
   
    Operator untuk jenis data ini terdiri atas : + , - , * dan /
   
   
    KARAKTER
   
    Yang dimaksud dengan jenis data ini adalah karakter tunggal atau sebuah karakter yang ditulis diantara tanda petik tunggal, seperti misalnya ‘A’,’a’,’!’,’5’ dsb.
   
    Dasarnya adalah ASCII CHARACTER SET.
   
    Misalnya : 032 pada tabel ASCII CHARACTER SET menunjukkan karakter.
   
            Blank.
        033             !
        048               0
    076              L
        dst
   
    STRING
   
    Nilai data string merupakan urut-urutan dari karakter yang terletak di antara tanda petik tunggal. Nilai data string akan menenpati memori sebesar banyaknya karakter stringnya ditambah dengan 1 byte. Bila panjang dari suatu string di dalam deklarasi variabel tidak disebutkan, maka dianggap panjangnya adalah 255 karakter.
   
    Contoh :
   
    Var
        Kampus : string[10];
    Begin
        Kampus := ‘Gunadarma’;
    Write(Kampus);
    End.
   
   
   
    BOOLEAN
   
    Jenis data ini mempunyai nilai TRUE atau FALSE.
   
    Operator untuk jenis data ini adalah :
1.    Logical Operator, yaitu : NOT, AND dan OR
2.    Relational Operator, yaitu : >, <, >=, <=, <> dan =
    \
    JENIS DATA NON-STANDARD (USER DEFINED)
   
1.    ENUMERATED.
    Jenis data ini terdiri atas barisan identifier yang terurut dimana setiap identifier tersebut dianggap sebagai suatu individual data item (elemen data yang berdiri sendiri).
   
    Pada saat mendeklarasikan jenis data ini kita harus menuliskan semua elemen-elemennya.
   
    Bentuk umum deklarasinya adalah :
   
    TYPE nama = (data_item_1, data_item_2, ……., data_item_n);
   
    Contoh :
   
    TYPE hari = (sen,sel,rab,kam,jum,sab,ming);
   
    TYPE warna = (red,blue,green,yellow,black,white);
   
    Setelah jenis data ini dideklarasikan, maka selanjutnya kita dapat mendeklarasikan suatu variabel yang berjenis data sama dengan jenis data ini.
   
    Misalnya :
            TYPE nama_hari = (sen,sel,rab,kam,jum,sab,ming);
            VAR libur : nama_hari;
   
    Fungsi standar yang dapat digunakan pada jenis data ini adalah :
   
    PRED, SUCC dan ORD
   
    Misalnya :
   
        PRED (sel) = sen
        SUCC (sen) = sel
        ORD (sen) = 0
        ORD (sel) = 1
   
2.    SUB-RANGE.
   
    Jenis data ini berupa range dari suatu kumpulan data yang mempunyai urutan..
   
    Bentuk umum deklarasinya adalah :
   
        TYPE nama = data_item_pertama .. data_item_terakhir;
   
    Contoh :
   
1.    TYPE     jam_kuliah = 1 .. 10;
    tanggal = 1 .. 31;
    abjad = ‘A’ .. ‘Z’;
   
2.    TYPE     bulan = (jan,feb,mar,apr,mei,jun,jul,agt,sep,okt,nov,des);
    hari = (sen,sel,rab,kam,jum,sab,ming);
    ata = agt .. jan;
    pta = feb .. jun;
    hari_kerja = sen .. jum;
   
   
    TANDA OPERASI
   
    Tanda operasi (operator) di dalam bahasa Pascal dikelompokkan ke dalam 9 kategori, yaitu
   
1.    Assignment operator.
2.    Binary operator.
3.    Unary operator.
4.    Bitwise operator.
5.    Relational operator.
6.    Logical operator.
7.    Address operator.
8.    Set operator.
9.    String operator.
   
    Assignment operator
        Assignment operator (operator pengerjaan) menggunakan simbol titik dua diikuti oleh tanda sama dengan (:=).
   
    Contoh :
            A:=B;
   
   
    Binary operator
        Digunakan untuk mengoperasikan dua buah operand. Operand dapat berbentuk konstanta ataupun variabel. Operator ini digunakan untuk operasi aritmatika yang berhubungan dengan nilai tipe data integer dan real.
   
    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
    +        Pertambahan        real,real
    integer,integer
    real,integer        real
    integer
    real
    -        pengurangan        real,real
    integer,integer
    real,real        real
    integer
    real
   
    Contoh :
            15*5         hasilnya     75
            20/3        hasilnya    6.6666666667E+00
            20 div 3    hasilnya    6
            20 mod 3    hasilnya    2
   
    Unary operator
        Operator ini hanya menggunakan sebuah operand saja. Dapat berupa unary minus dan unary plus. Unary minus digunakan untuk menunjukkan nilai negatif, baik pada operang numerik real maupun integer. Unaru plus adalah operator untuk memberai tanda plus.
   
    Contoh :
            -5    +7
            -2.5    +2.5
   
    Bitwise operator
        Digunakan untuk operasi bit per bit pada nilai integer. Terdiri dari operator NOT, AND, OR, XOR, Shl, Shr.
   
    Relational operator
        Relational operator digunakan untuk  membandingkan hubungan antara dua buah operand dan akan didapatkan hasil tipe boolean, yaitu True atau False. Terdiri dari operator : =, <, >, <=, >=, <>
   
   
    Logical operator
        Terdapat 4 buah logical operator yaitu : NOT, AND, OR dan XOR. Operator ini bekerja dengan nilai-nilai logika, yaitu True dan False.
   
    Set operator
        Digunakan untuk operasi himpunan.
   
    String operator
        Digunakan untuk operasi string. Hanya ada sebuah operator string saja, yaitu operator + yang digunakan untuk menggabungkan dua buah nilai string.
   
    Contoh : 
            Nama1 := ‘Arief ‘;
            Nama2 := ‘Kurniawan’;
            Nama3 := Nama1 + Nama2;
   
   
    2.4. Konstanta, Variabel dan Ekspresi.
   
    Konstanta.
    Konstanta adalah suatu identifier non-standar yang nilainya telah ditetapkan dalam suatu program dan dideklarasikan pada bagian deklarasi.
   
    Bagian umum deklarasinya adalah :
   
        CONST identifier = nilai;
   
    Contoh :
   
        CONST    phi = 3.14;
                x= 2;
                 y = ‘S’;
   
   
    Variabel.
    Variabel adalah suatu identifier non-standar yang nilainya tidak tetap atau nilainya merupakan hasil dari suatu proses.
    (variabel yang dimaksudkan disini sama seperti halnya arti variabel pada aljabar).
   
   
    Bentuk umum deklarasinya adalah :
   
1.    Jika hanya 1 (satu) variabel yang dideklarasikan :
   
    VAR identifier : jenis data;
   
2.    Jika lebih dari 1 (satu) variabel dan masing-masing memiliki jenis data yang sama :
   
    VAR id-1, id-2, …., id-3 : jenis data;
   
3.    Jika beberapa variabel yang berbeda jenis datanya :
   
    VAR     identifier-1 : jenis data;
            identifier-2 : jenis data;
                .
                .
                .
            identifier-n : jenis data;
   
4.    Jika variabel yang dideklarasikan berjenis data non-standar :
   
    TYPE id = (data_item_1,data_item_2,…,data_item_n);
    VAR id-v : id;
   
    SUB-RANGE :
   
    TYPE  id = data_item_pertama .. data_item_terakhir;
    VAR    id-v : id;
   
    Contoh :
   
1.    VAR     x     : integer;
2.    VAR    p,q,r     : real;
3.    VAR    a,b     : char;
    m,n    : boolean;
4.    TYPE     warna = (merah,hitam,biru,putih,kuning);
          VAR    x1,x2    : warna;
5.    TYPE     tahun = 1900 .. 1993;
          VAR thn-1,thn-2,thn-3 : tahun;
   
   
   
   
   
    Ekspresi.
   
    Sebuah ekspresi merupakan kumpulan dari  operand-operand (seperti : bilangan, konstanta, variabel dll) yang bersama-sama dengan operator membentuk suatu bentuk aljabar dan menyatakan suatu nilai.
   
    Ada 2 (dua) jenis ekspresi dalam bahasa Pascal, yaitu :
1.    Ekspresi numerik / aritmatika, yaitu suatu ekspresi yang menghasilkan nilai numerik / aritmatika.
2.    Ekspresi Boolean atau ekspresi logika, yaitu suatu ekspresi yang menghasilkan nilai boolean / logika (true/false).
   
    Contoh :
1.    (b * b – 4 * a * c) / (2*a)  / (2 * a)    ekspresi numerik, jika a,b dan c adalah bilangan (variabel bernilai numerik).
2.    Upah < 1000.0    ekspresi boolean (“upah” adalah suatu variabel bernilai real).
   
   
    2.5. Input dan output (Standar I/O).
   
    Dalam bahasa Pascal untuk keperluan input (membaca input) digunakan identifier standar READ atau READLN.
    Identifier standar ReadLn sedikit berbeda dengan Read. ReadLn digunakan untuk memasukkan data perbaris, artinya setelah tombol Enter ditekan, maka akan ganti baris, sedangkan Read tidak ganti baris, masih dalam baris yang sama.
    Sedangkan untuk keperluan output (mencetak output) digunakan identifier standar WRITE atau WRITLN.
    Perbedaan Write dengan WriteLn adalah bahwa Write menampilkan hasil tanpa ganti baris dan tampilan berikutnya akan disambung dalam baris yang sama. Sedang WriteLn digunakan untuk menampilkan tampilan perbaris, akan ganti baris untuk tampilan berikutnya.