DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

Embed Size (px)

Citation preview

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    1/13

    DIKTAT PEMROGRAMAN PASCAL

    Pascal merupakan suatu bahasa komputer tingkat tinggi yang dibuat sekitar tahun 1970 olehNiklaus Wirth dan digunakan untuk pendidikan komputer.

    Menu Run [Ctrl + F9]

    Perintah ini digunakan untuk mengeksekusi program yang sudah anda buat. Anda juga bisa menekan Ctrl +

    F9 untuk mengeksekusi program anda.

    Menu Compile [Alt + F9]

    Perintah ini digunakan untuk mengkompile program atau bisa juga kita bilang kalau program yang telahkita buat tadi dengan bahasa pascal di terjemahkan kedalam bahasa komputer agar si komputer ini mengerti

    apa-apa saja perintah kita.

    Sumenu M!"e

    Pilihan ini digunakan untuk mengaktifkan perintah make, jika file yang primer telah diberi nama, maka file

    ini akan dikompilasi, jika tidak maka file yang terakhir yang sedang dimuat di editor akan dikompilasi..Pilihan ini sangat berguna jika terdapat beberapa program yang secara fisik terpisah tetapi secara logikanya

    merupakan suatu kesatuan.Sumenu #uil$

    Perintah ini mirip dengan perintah make, hanya saja perintah build ini sifatnya bebas, sedangkan perintahmake hanya akan mengkompilasi file-file selain file yang digunakan.

    Re%er&e$ 'or$

    eser!ed "ord adalah kata-kata baku yang digunakan dalam program dan sudah terintergrated dalam

    pascal dan juga mempunyai bentuk serta kegunaan tertentu yang telah didefinisikan oleh Pascal.eser!ed "ord tidak boleh didefinisikan kembali oleh pemakai, sehingga tidak dapat digunakan sebagai

    pengenal #$dentifier%. &alam bahasa pemrograman Pascal,

    beberapa eser!ed "ord dalam Pascal anatra lain'

    A(& &)"(*) $( )F *$( A / $(0$*& ) *0( AA1 (& $(/$( PAC2&*) 3$( 4P)* $(*FAC P)C&5 *1P CA F$/ /A3/ P)A 5($*

    C)(* F) /$3A1 C)& 5(*$/ C)(*5C*) F5(C*$)( )& PA* 5

    &*5C*) )*) ($/ * 6A &$6 $F ()* 0/ "0$/ &) $P/(*A*$)( )37C*

    0 "$*0.

    elain dari eser!ed "ord di atas, *urbo Pascal masih memiliki tambahan eser!ed"ord berikut'A#SOL(TE ASSEM#LER )* FAR FOR'ARD INDE

    Program heading

    8

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    2/13

    Judul program dalam Turbo Pascal bersifat optional dan tidak ada pengaruhnya dalamprogram. Jika ditulis akan memberikan nama program dan suatu daftar parameter optionaldimana program itu berkomunikasi. aftar itu terdiri dari sederetan indentifier yang diakhiridengan tanda kurung dan dipisahkan dengan tanda koma.!ontoh "Program Perhitungan#$nput%&utput'(

    Uses Clause)agian uses clause digunakan untuk menentukan library yang dibutuhkan saat proses program.*$)+,+- merupakan file penyimpan subroutine yang secara berulang digunakan saat prosesprogram. *ibrary ini diistilahkan sebagai unit dalam Turbo P,!,* yang terdiri dari -T/%&/+*,-% 2+,P3% &% !+T yang ditempatkan dalam file T4+)&.TP*.!ontoh "Uses Crt; (*menggunakan Unit Crt *)

    Perhatian "4nit system merupakan unit yang secara otomatis akan disertakan dalam setiapprogram% unit inilah mengatur semua perintah dasar input dan output pada Pascal .edangkan unit5unit lain hanya akan disertakan bila kita pilih pada bagian uses.

    Declaration)agian ini meliputi deklarasi untuk label% const% type% 6ar% procedure dan function.yarat terpenting dalam pembentukan suatu program adalah% baha setiap 6ariabel%type non5standard% label% procedure non5standard% serta function non5standard yangdipakai didalamnya harus nyatakan #deklarasi' terlebih dahulu pada bagian deklarasi.etiap deklarasi tersebut harus bersifat unik #tidak boleh serupa satu sama yang lain'.Penulisan nama dalam deklarasi tersebut harus memenuhi syarat5syarat sebagaiberikut "5 pan8ang nama maimum :; character% diaali dengan alphabet5 tidak ada special character kecuali tanda garis baah #

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    3/13

    $nteger ->;?: to +>;?; integer

    "ord < to ?==>= integer

    /ongint -8@?@;>?@: to +8@?@;>?@; integer

    eal - to + fractional

    tring up to == letters non-numeric

    Char 8 letter only non-numeric

    5 CharType 6ariabel yang berguna untuk pengolahan character ,!$$% type character ini

    penulisannya ditandai dengan dua buah petik tunggal seperti " A,A% A;A%A@A%B7 untukmenyatakan A harus ditulis AAAA5 BooleanType 6aribale yang berguna untuk pengolahan hal yang hanya mempunyai duaketentuan yaitu benar#T+4/' dan salah#C,*/' sa8a.D.Real typesType 6ariable yang beguna untuk pengolahan data yang tidak bulat% untuk type realini 8uga terbagi atas beberapa "

    >

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    4/13

    12 St!temen3%t!temen 0!n/ $i/un!"!n untu" input4output2

    5 Re!$4Re!$ln [pro%e$ur]2

    Perintah ini digunakan untuk memasukkan Binput data leDat keyboard ke dalam suatu !ariabel.

    intaks' eadEeadln#%G #ingat, selalu diakhiri dengan titik koma BG% 2eterangan ' H !ariabel.

    ead H pada statemen ini posisi kursor tidak pindah ke baris selanjutnya.

    eadln H pada statemen ini posisi kursor akan pindah ke baris selanjutnya setelah di input.

    5 Re!$Ke0 [6un/%i]2

    5ntuk pembacaan sebuah karakter dari keyboard. *ipe data yang dihasilkan adalah char.

    intaks' ead2eyG

    5 'rite4'riteln [pro%e$ur]2

    &igunakan untuk menampilkan isi dari suatu nilai !ariable di layar.

    intaks' "riteE"riteln#%G2eterangan ' H !ariabel.

    "riteE"ritelnH statement ini digunakan untuk mencetak !ariable ke dalam monitor

    Contoh 'Pro/r!m input7

    (%e% Crt7

    -!r nm 8 Strin/7

    npm 8 Strin/7

    #e/in

    Clr%,r7

    'riteln )m!%u""!n n!m! $!n NPM *7

    'riteln )333333333333333333333333333333*7

    'rite )n!m! !n$! 8 *7

    Re!$ln )nm*7

    'riteln )NPM !n$! 8 *7

    Re!$ln )npm*7

    En$2

    #il! $i:!l!n"!n ;!%iln0! !$!l!;8

    m!%u""!n n!m! $!n NPM

    333333333333333333333333333333

    n!m! !n$! 8 ) $i input *

    NPM !n$! 8 ) $i input *

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    5/13

    Jadi misalnya anda ingin mencetak tulisan tersebut pada kolom D0% baris 1;% maka anda harusmemindahkan cusor keposisi kolom D0% baris 1;% diikuti dengan perintah pencetakan tulisantersebut% contoh "GotoXY(!"#$);

    %riteln(&'ulisan ini ietak mulai kolom !" i baris #$);

    GotoXY(");

    %rite(&'urbo&);

    GotoXY(%+ereX,#!"$);

    %rite(&-asal&);

    8umlah kolom dan baris pada layar normal ENormalnya F0 kolom% DG baris.

    TextMode(CO40);anTextMode(CO80);

    Uses CRT;beginTextMode(CO40);

    Writeln('A Real BI C!ara"ters on s"reen #');

    Readln;TextMode(CO80);

    Writeln('Ba"$ to nor%al');Readln;end&

    5 DelLine [pro%e$ur]2

    5ntuk menghapus sebuah baris pada posisi kursor dan menaikkan baris-baris dibaDahnya.

    intaks' &el/ineG

    5 In%Line [pro%e$ur]2

    5ntuk menyisipkan sebuah baris pada posisi kursor dan menggeser kebaDah tampilan-tampilan baris

    dibaDahnya.

    intaks' $ns/ineG

    St!temen3%t!temen t!m!;!n )>!rn!.%u!r! $!n >in$o>*2

    5 Te?tColor [pro%e$ur]2

    5ntuk mengatur Darna dari karakter-karakter di layar.

    intaks' *etColor #color ' 3yte%GCatatan ' untuk pilihan Darna lihat pada buku *urbo Pascal yang anda miliki.

    &aftar *etColor '

    #% 0ijau uda #>% 0ijau pupus #@% erah

    #=% 5ngu *ua #?% 2uning #;% Putih

    #:% 3iru *ua #9% 3iru Cerah #8% 5ngu Cerah #8@% 2uning uda

    #8=% 5ngu Pupus #8?% 0itam

    &aftar *etColor dengan 3link '#8;% 3iru *ua #8:% 0ijau uda #89% 0ijau Pupus

    #

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    6/13

    end&

    ,nda dapat sa8a melakukan hal tersebut dengan menambahkan angka 1DF pada nomor arnayang anda inginkan% misalnya "'e.tColor(/ , #0);

    %riteln(&1era+ an berkeip2keip&);

    ,tau "'e.tColor(3e , 4link);%riteln(&1era+ an berkeip2keip&);

    5 Te?t#!,"Groun$ [pro%e$ur]2

    5ntuk mengatur Darna latar belakang dari karakter-karakter di layar.intaks' *et3ackround #Color ' 3yte%G

    5 #entu" @ entu" Perul!n/!n

    &alam hampir setiap program yang kompleks mutlak memerlukan suatu perulangan dan percabangan.*ujuan perulangan disini adalah untuk mengulang statement atau blok statement berulang kali sesuai

    sejumlah yang ditentukan pemakai. &alam materi ini akan memberikan gambaran konsep dasar dari

    pengertian diatas.

    5 Perul!n/!n For2

    Perulangan dengan statemen For digunakan untuk mengulang statemen atau suatu blok statemen berulang

    kali. Perulangan dengan statemen For dapat berupa perunlangan positif dan perulangan negatif.

    5 Perul!n/!n For po%iti6

    contoh '

    perulangan positif untuk satu statement '(%e% Crt7

    -!r

    i 8 Inte/er7

    #e/in

    For i 8 1 To B Do 'riteln )I Lo&e Din$!*7

    END2

    Penjelasan ' 3erati statemen $ /o!e &inda akan diulang sebanyak = kali yaitu dengan menghitung nilai idari i ke 8 sampai nilai i terakhir yaitu i ke =.

    5 Conto; $en/!n men//un!"!n lo" %t!tement8

    cara penulisannya dengan pada aDal blok diaDali dengan 3egin danpada akhir blok diakhiri dengan ndG(%e% Crt7

    -!r

    i 8 Inte/er7

    #e/in

    For i8 1 To 1 Do

    #e/in

    'riteln )I Lo&e Din$!*7 lo" %t!tement

    En$7En$.

    5 Perul!n/!n For ne/!ti6

    Perulangan negatif adalah perulangan dengan menghitung #counter% dari besar ke

    kecil.

    tatement yang digunakan adalah For-&oDn*o-&o

    contoh '(%e% Crt7

    ?

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    7/13

    -!r

    i 8 Inte/er7

    #e/in

    For i 8 1 Do>nTo 1 Do 'rite )i8*7

    En$2

    5 Perul!n/!n For ter%!r!n/

    Perulangan For tersarang adalah perulangan For yang berada pada perulangan yang lainnya. Perulanganyang lebih dalam akan diproses terlebih dahulu sampai habis, kemudian perulangan yang lebih luar baru

    akan bertambah, mengerjakan perulangan yang lebih dalam lagi mulai dari nilai aDalnya dan seterusnya.

    Contoh '-!r

    !. 8 Inte/er7

    #e/in

    For ! 8 1 To Do

    #e/in

    For 8 1 To < Do 'rite )! 8H.8

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    8/13

    8+17

    En$7

    En$7

    Re!$ln7

    En$2

    5 Perul!n/!n Repe!t 3 (ntil2

    epeat I 5ntil digunakan untuk mengulang statement-statemen atau blok statement sampai #5ntil% kondisiyang diseleksi di 5ntil tidak terpenuhi. intak dari statement ini adalah '

    Contoh '-!r

    i 8 Inte/er7

    #e/in

    i87

    Repe!t

    i8 i+17

    'riteln )i*7

    (ntil iB7

    En$2

    5 Repe!t @ (ntil ter%!r!n/epeat I 5ntil tersarang adalah suatu perulangan epeat - 5ntil yang satu berada didalam perulangan

    epeat I 5ntil yang lainnya.

    Contoh '-!r

    !.., 8 Re!l7

    #e/in

    'riteln)*7

    'riteln) %i%i A %i%i # Si%i C *7

    'riteln ) *7

    !8 17

    Repe!t perul!n/!n lu!r

    :

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    9/13

    8 7

    Repe!t perul!n/!n $!l!m

    ,8SJrt )!!+*7

    'riteln )!88

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    10/13

    ndG5 C!%e 3 O6

    truktur Case I )f mempunyai suatu ungkapan logika yang disebut dengan selector dan sejumlah statemen

    yang diaDali dengan suatu label permasalahan #case label% yang mempunyai tipe sama dengan selector.tatement yang mempunyai case label yang bernilai sama dengan case label yang bernilai sama dengan

    nilai selector akan diproses sedang statemen yang lainya tidak. 3entuk struktur dari Case - )f'

    Case 6ariabel 2ondisi )f

    Case I /abel 8G tatement 8GCase I /abel G tatement G

    Case I /abel >G tatement >G

    Case I /abel @G tatement @G

    ........

    ........

    Case I /abel n G tatement n G

    nd G J end dari case K

    &aftar Case label dapat berupa konstanta, range dari konstanta yang bukan bertipe real. Contoh program GPro/r!m nil!i7

    -!r

    nil 8 C;!r 7

    #e/in

    'rite )Nil!i Numeri" 0!n/ $i$!p!t 8*7Re!$ln )nil*7

    C!%e nil O6

    A8 'riteln )S!n/!t #!i"*7

    #8 'riteln)#!i"*7

    C8 'riteln)Cu"up*7

    D8 'riteln)Kur!n/*7

    E8 'riteln)S!n/!t Kur!n/*7

    En$7

    En$2

    *rogra% +o,ersi-nilai;ses "rt;

    ,arnilai .integer;lagi ."!ar;

    beginre/eat"lrs"r;

    Write('Mas$$an nilai .');readln(nilai);"ase nilai o8&&00 .1riteln('A');2&&80 .1riteln('B');4&&20 .1riteln('C');3&&40 .1riteln('');0&&30 .1riteln('5');else

    1riteln('6ala! nilai');end;

    1rite('7agi&&&&&9:T');lagi.

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    11/13

    Array adalah tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe

    sama. 2omponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen

    yang jumlahnya tetap. 3anyaknya komponen dalam larik ditunjukkan oleh suatu inde, dimana tiap

    komponen di array dapat diakses dengan menunjukkan nilai indenya atau subskript. Array dapat bertipedata sederhana seperti byte, Dord, integer, real, bolean, char, string dan tipe data scalar atau subrange. *ipe

    larik mengartikan isi dari larik atau komponen- komponenya mempunyai nilai dengan tipe data tersebut.

    Contoh'

    6ar5ntai ' arrayB8..=,8..> of integerG

    ini berarti bahDa array a memiliki 9 inde yaitu 8.8, 8., 8.> ... >., >.>. 3entuk array seperti ini kerap kita

    jumpai pada pemrograman matriks baik itu penjumlahan, ataupun perkalian.

    )k, untuk penggunaan array secara real pada program adalah sebagai berikut'

    u%e% ,rt7&!r

    !8!rr!0 [122] o6 inte/er7

    ".l8inte/er7

    e/in

    ,lr%,r7

    6or "81 to $o

    e/in

    >riteln)M!%u""!n An/"!8*7 re!$ln )!["]*7

    en$7

    6or "8 1 to $o

    e/in

    l8 l + !["]7

    en$7>riteln)uml!; $!ri Semu! An/"!8 .l*7

    re!$ln7

    en$2,ar a . arra=&&0 o b=te;

    begin a.

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    12/13

    a.

  • 7/23/2019 DIKTAT BAHASA PEMROGRAMAN PASCAL SEMESTER 1.doc

    13/13

    . text; s . string;

    begin "lrs"r; 1rite('In/t ile na%e to read . '); readln(s); assign(s); J asso"iate it K reset(); J o/en it K 1!ile not 5O() do J read it ntil it's done K begin readln(s); 1riteln(s); end; "lose(); J "lose it Kend&

    ses "rt;,ar . text; s . string;

    begin "lrs"r;

    1rite('In/t ile na%e to read . '); readln(s); assign(s); J asso"iate it K

    JNIEK reset(); J o/en it K JNIK i IOreslt>?0 t!en begin 1riteln('5rror en"ontered in reading ile 's); !alt; end;

    1!ile not 5O() do J read it ntil it's done K

    begin readln(s); 1riteln(s); end; "lose(); J "lose it Kend&

    8>