Pascal

Bahasa Pemrograman Pascal

Written by Resika Arthana · 4 min read >

Bahasa pascal adalah bahasa pemrograman tingkat tinggi yang dikembangkan oleh Niklaus Wirth di Zurich pada akhir 1960-an hingga awal 1970-an. Pascal merupakan bahasa pemrograman yang terstruktur, sehingga sering digunakan sebagai sarana awal untuk mempelajari teknik pemrograman komputer.

1 Reserved Word (Kata Tercadang) Bahasa Pascal

Reserved Word adalah kata-kata yang sudah didefinisikan pada Pascal dan mempunyai arti tertentu. Kata-kata tersebut tidak boleh digunakan sebagai identifier (Pengenal).

Contoh : Program, Begin, End, If, For, While, Repeat, Write, Read.

Skema dari program pascal

Skema dari program Pascal adalah sebagai berikut.

Program nama_program;

[ Deklarasi label ]

[ Deklarasi konstanta ]

[ Deklarasi tipe ]

[ Deklarasi variabel ]

[ Deklarasi subprogram ]

Begin

Pernyataan;

….

Pernyataan;

End.

3 Deklarasi Prosedur dan Fungsi

Deklarasi Prosedur (Procedure) dan Fungsi ( Function) digunakan apabila program memiliki subprogram (bagian program) yg diletakkan terpisah dalam blok sendiri.

3.1 Prosedur

Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai keluaran secara langsung. Cara mendeklarasikan sebuah prosedur adalah sebagai berikut :

procedure A; { nama prosedur adalah A }

begin

{ statement }

end;

Pendeklarasian prosedur di atas adalah untuk prosedur yang tidak memerlukan parameter. Parameter adalah data masukan untuk subprogram yang nantinya akan diproses lebih lanjut dalam subprogram tersebut. Dalam Pascal, dikenal dua macam parameter yaitu :

1) Parameter nilai (value parameter), dan

2) Parameter referensi (reference parameter).

Cara mendeklarasikan parameter tersebut adalah sebagai berikut :

procedure B(X : integer; var Y : integer);

begin

{ statement }

end;

3.2 Fungsi

Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung. Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :

function A : integer; { nama fungsi adalah A dengan }

begin { tipe data keluaran adalah integer }

{ statement }

A := 3; { nilai yang dikeluarkan fungsi }

end;

Sebagaimana dalam prosedur, fungsi juga dapat diberikan parameter. Cara mendeklarasikan fungsi dengan parameter juga tidak jauh berbeda dengan pendeklarasian parameter pada prosedur.

function B(X : integer) : integer;

begin

{ statement }

B := X * 2;

end;

3.4 Rekursi

Dalam Pascal, ada satu kelebihan dalam cara pemanggilan subprogram. Pascal mengijinkan pemanggilan suatu subprogram dari dalam subprogram itu sendiri. Tidak semua bahasa pemrograman mengijinkan cara pemanggilan subprogram seperti itu karena akan banyak memakan memori. Untuk lebih jelasnya perhatikan potongan program di bawah ini:

procedure Z;

begin

{ statement }

Z;

end

4. Tipe Data

Dalam bahasa Pascal, secara garis besar dikenal dua macam tipe data yaitu tipe data sederhana (primitive type) dan tipe data kompleks (complex type). Tipe data sederhana adalah tipe data yang hanya mampu menyimpan satu nilai tiap satu variabelnya. Contoh tipe data sederhana adalah tipe numerik (integer dan real), tipe data karakter, tipe data boolean dan tipe data ennumerasi. Tipe data kompleks adalah tipe data yang mampu menyimpan lebih dari satu nilai dalam tiap satu variabelnya. Contoh tipe data kompleks adalah string, array (larik), record dan object.

Bentuk umum dari deklarasi tipe data adalah

Type pengenal = tipe

Keterangan:

pengenal : nama pengenal yang menyatakan tipe data.

tipe : tipe data yang berlaku dalam Turbo Pascal.

4.1 Tipe Data Sederhana

4.1.1 Tipe Ordinal

Semua tipe sederhana disebut tipe ordinal kecuali real. Karakteristik tipe data ordinal antara lain :

Semua kemungkinan nilai dari suatu tipe ordinal merupakan himpunan berurutan dan setiap nilai berkaitan dengan ordinalitasnya yaitu nilai integral.

Fungsi standard ord dapat diterapkan pada sembarang tipe ordinal untuk mengetahui ordinalitasnya.

Fungsi standard pred dapat diterapkan untuk mengetahui predesesor.

Fungsi standard succ dapat diterapkan untuk mengetahui suksesor.

4.1.2 Tipe Integer

Tipe integer adalah tipe data yang nilainya tidak mempunyai titik desimal. Ada lima tipe data yang termasuk dalam kelompok ini seperti terlihat pada tabel di bawah ini.

Tabel 2.1 Tipe integer

Tipe

Batas Nilai

Ukuran dalam byte

byte

0..255

1

shortint

-128..127

1

integer

-32768..32767

2

word

0..65535

2

longint

-2147483648..2147483647

4

Tipe data juga menentuka operasi yang bisa dikerjakan. Pada tipe integer operator-operator yang bisa dikerjakan antara lain:

Tabel 2.2 Operator-operator pada tipe integer

Operator

Kegunaan

+

Penjumlahan

Pengurangan

*

Perkalian

div

Pembagian

mod

Sisa pembagian

4.1.3 Tipe Boolean

Data tipe boolean mempunyai dua nilai yakni benar dan salah. Dengan memakai operator and, or atau not maka dapat dibentuk ungkapan boolean yang lebih rumit.

4.1.4 Tipe Char

Tipe char digunakan untuk mendefinisikan tipe data yang nilainya merupakan himpunan karakter yang dikenal komputer seperti yang tersaji dalam tabel ASCII. Dalam program, konstanta bertipe char ditulis diantara tanda petik, misalnya ‘A’ . Perlu diingat bahwa data bertipe char hanya terdiri dari 1 karakter.

4.1.5 Tipe Terbilang

Disebut tipe terbilang karena semua nilai disebut satu persatu, contoh

Type Toko = (baru, ramai, sukses, rapi, gadjah)

Perlu diperhatikan bahwa dalam tipe terbilang semua data harus diletakkan di antara kurung, urutan datanya harus diperhatikan karena akan mempengaruhi fungsi pred dan succ.

4.1.6 Tipe Subjangkauan

Tidak jarang terjadi batas nilai yang mungkin untuk suatu perubah merupakan bagian atau subjangkauan dari tipe data yang telah didefinisikan, contoh nilai ujian adalah dari 0 sampai 100.

type Nilai = 0..100;

4.1.7 Tipe Real

Konstanta bertipe real adalah bilangan yang berisi titik desimal. Dalam Pascal paling sedikit harus ada satu digit sebelum dan sesudah titik desimal, tidak boleh ada koma dan nilainya bisa positif atau negatif.

Dalam Turbo Pascal terdapat lima macam tipe real yaitu real, single, double, extended dan comp seperti terlihat pada tabel di bawah ini.


Tipe

Batasan Nilai

Angka Signifikan

Ukuran dalam byte

real

2.9 x 10E-39..1.7 x 10E38

11-12

6

single

1.5 x 10E-45..3.4 x 10e38

7-8

4

double

5.0 x 10E-324..1.7 x 10E308

15-16

8

extended

1.9 x 10E-4951..1.1 x 10E4932

19-20

10

comp

-2E63 + 1..2E63 – 1

19-20

8

Operator-operator pada tipe real adalah :


Operator

Kegunaan

+

Penjumlahan

Pengurangan

*

Perkalian

/

Pembagian

4.2.2 Tipe Data Kompleks

4.2.2.1 Tipe String

Data yang bertipe string adalah data yang berisi sederetan karakter yang banyaknya karakter bisa berubah-ubah sesuai kebutuhan yaitu dari 1 sampai 255 karakter.

Bentuk umum dari deklarasi tipe string adalah:

type pengenal = string <[panjang]>

Keterangan:

pengenal : nama tipe data.

panjang : bilangan bulat yang menentukan banyaknya karakter, bila parameter panjang karakter tidak ditulis maka dianggap 255 karakter.

4.2.2.2 Tipe Larik

Larik (array) adalah tipe terstruktur yang mempunyai komponen dalam jumlah yang tetap dan setiap komponen mempunyai tipe data yang sama. Posisi masing-masing komponen dalam larik dinyatakan sebagai nomor indeks.

Bentuk umum dari tipe larik adalah

type pengenal = array [tipe_index] of tipe;

pengenal : nama tipe data.

tipe_index : tipe data untuk nomor index.

tipe : tipe data komponen.

Contoh,

type Vek = array [1..100] of integer;

4.2.2.3 Tipe Rekaman

Sama halnya dengan larik, rekaman (record) adalah kumpulan data. Perbedaan antara larik dengan rekaman adalah dalam larik semua elemennya harus bertipe sama tetapi dalam rekaman setiap elemen bisa mempunyai tipe data yang berbeda satu sama lainnya.

Bentuk umum deklarasi rekaman adalah

type pengenal = record

medan1 :tipe1;

medan2 :tipe2;

.

.

.

medann :tipen;

end;

Keterangan:

pengenal : pengenal yang menunjukkan tipe data yang akan dideklarasikan.

medan1,…, medann : nama medan yang akan digunakan.

tipe1,…, tipen : sembarang tipe data yang telah dideklarasikan sebelumnya.

Contoh deklarasi rekaman,

type Tgl_Kalender = record

Tanggal :1..31;

Bulan : 1..12;

Tahun : 1900..2000;

end;

4.2.2.4 Tipe Himpunan

Tipe himpunan adalah kumpulan obyek yang mempunyai tipe data yang sama dan urutan penulisannya tidak diperhatikan.Setiap onyek di dalam suatu himpunan disebut dengan anggota atau elemen himpunan

Bentuk umum deklarasi himpunan adalah

type pengenal = set of tipe_data;

atau dapat juga langsung dideklarasikan dalam bagian deklarasi perubah seperti berikut

var pengenal = set of tipe_data;

Keterangan:

pengenal : nama perubah atau pengenal yang akan dinyatakan sebagai tipe himpunan.

tipe_data : tipe data dari anggota himpunan, harus bertipe ordinal.

Contoh deklarasi himpunan adalah sebagai berikut.

type Irama = (jazz, rock, blues, country, classic);

Musik = set of Irama;

Nilai = set of 0..10;

Untai = set of char;

Huruf = set of ‘A’..’Z’;

Sakit = (pusing, mual, lemas, lesu, letih);

Penyakit = set of sakit;

4.2.2.5 Tipe Berkas

Berkas (file) adalah kumpulan sejumlah komponen yang bertipe data sama yang jumlahnya tidak tentu dan biasanya tersimpan dalam suatu media penyimpan luar. Jumlah komponen dalam berkas dapat ditambah jika diperlukan.

Dalam Pascal, berkas menyediakan data yang nantinya akan digunakan oleh suatu program. Berkas dapat berupa berkas yang disimpan di dalam cakram magnetis, pita magnetis, kartu plong dan sejenisnya atau berupa piranti logika yang selama ini kita gunakan, yaitu dengan statemen input dan output, yang menunjukkan piranti masukan keluaran standar (papan ketik dan layar tampilan).

Bentuk umum dari deklarasi berkas adalah

type pengenal = file of pengenal1;

Keterangan:

pengenal : pengenal yang akan dinyatakan sebagai tipe data berkas.

pengenal1 : tipe data komponen berkas.

Written by Resika Arthana
I Ketut Resika Arthana, staff dosen di Undiksha. Juga sebagai ketua divisi pengembangan sistem informasi di UPT TIK - Undiksha. Selain itu, juga sebagai co-founder PT. Hooki Global Kreasi. Bidang ilmu ditekuni : pemrograman, datamining, user experience dan IOT Profile

37 Replies to “Bahasa Pemrograman Pascal”

  1. program mencari_kembalian;
    uses crt;
    var a,b,c,d:integer;

    begin
    clrscr;
    writeln(‘NAMA: Ikhwanurrohim’);
    writeln(‘masukan harga barang’);
    readln(a);
    writeln(‘masukan jumlah beli’);
    readln(b);
    writeln(‘masukan jumlah bayar’);
    readln(c);
    d:=c-(a*b);
    writeln(‘jadi kembaliannya adalah ‘,d);
    readln;
    end.

  2. program pembelian;
    uses crt;
    var
    a,b,c,d:real;
    begin
    clrscr;
    writeln(‘agung suanita’);
    writeln(‘masukkan harga barang:’);
    readln(a);
    writeln(‘masukkan jumlah barang:’);
    readln(b);
    writeln(‘masukkan jumlah bayar:’);
    readln(c);
    d:=c-(a*b);
    writeln(‘kembali:=’,d:0:2);
    readln;
    end.

  3. program hitung kembalian yukk;
    uses crt;
    var
    a,b,c
    ayu kalimantari

    begin
    writeln (‘program kasir_ocee dehh’);
    writeln (‘———————–‘);

    writeln (‘harga barang=’);
    readln (a);
    writeln (‘jumlah beli=’);
    readln (b);
    writeln (‘jumlah bayarnya=’);
    readln (c);
    kembalian:=(c-(a*b)),c=
    readln
    end.

  4. hai kak…wah…ternyata memuat tentang Pascal….
    nie tadi saya nyari artikel tentang Pascal…eh ketemu webside kakak….
    ternyata kakak FT UNUD juga..Elektro juga lagi…hahahhahaaa…sama….
    saya angkatan 2005……

  5. bos..
    jelasin tentang procedure ma function donk,
    sama delay juga..

    lagi pratikum prokom di kampus,
    saya mahasiswa Teknik Informatika FT unud,

    tolong ya..

  6. Menentukan suatu bilangan prima atau bukan
    1. Deklarasikan variabel i, bil, dan a
    2. Masukkan bilangan yang ingin diketahui apakah bilanga prima atau bukan dan nyatakan ke variabel bil
    3. Tanya apakah bilangan yang diinputkan kurang dari atau sama dengan null (0). Bila iya, cetak ”Bilangan tersebut bukan bilangan Prima”. Bila tidak, lanjutkan pada proses berikutnya
    4. Lakukan proses looping, i=2; i<=bil; i++
    5. Hitung sisa hasil bagi nilai pada variabel bil dengan i dan nyatakan ke variable a
    6. Tanya apakah hasil bagi bilangan tersebut sama dengan 0. Bila iya, cetak “Bilangan tersebut bukan Bilangan Prima”. Bila tidak, cetak “Bilangan tersebut adalah bilangan Prima”
    7. Program selesai

    algoritma di atas dijadikan paskal gimana balas….. ke email aq
    makasih

  7. boz..
    jelasin coding program bwat himpunan donk..
    coz G lageyh da tugas negh sruh bikin..
    1. Buatlah Program untuk menangani masalah operasi-operasi terhadap 2 himpunan, seperti:
    – irisan
    – union
    – komplemen
    Petunjuk : input berupa himpunan yang direpresentasikan dengan array beserta dengan himpunan universe-nya
    2. Buatlah Program untuk menangani masalah operasi-operasi terhadap 2 himpunan, seperti:
    – selisih (difference)
    – simmetric difference
    Petunjuk : input berupa himpunan yang direpresentasikan dengan array beserta dengan himpunan universe-nya
    3. Buatlah Program untuk menangani masalah operasi-operasi terhadap 2 himpunan ganda (multiset), seperti :
    – irisan
    – gabungan
    – komplemen
    – pengurangan
    Petunjuk : input berupa himpunan yang direpresentasikan dengan array
    4. Buatlah Program untuk mencari powerset dari sebuah himpunan
    Petunjuk : input berupa himpunan yang direpresentasikan dengan array
    5. Buatlah program untuk mengenumersi hasil permutasi dan kombinasi dari obyek masukan (untuk mudahnya, masukan berupa huruf).
    Contoh : input → obyek : A,B,C
    Susun : 2
    Permutasi :
    AB AC
    BC BA
    CA CB
    Ada 6 kemungkinan susunan huruf → ini sebenarnya mengenumerasi P(3,2)
    Kombinasi :
    AB AC
    BC
    Ada 3 kemungkinan susunan huruf → ini sebenarnya mengenumerasi C(3,2)
    ____________________________________________________________
    tolong bantu yach..
    klo bisa kirim ke email d7r_newbie@telkom.net

  8. tenkz ya dah ngasih materi di atas..

    tolong jelasin ttg loops, method n array donk…
    aqu masiy lum paham ttg materi itu..

    thx b4..

  9. info untuk rumus pascal bilangan prima 0 ampe` 100 tolong dilengkapin dunk….. heheheh.makasi sebelumnya atas infonya.

  10. beleh ngga bantu aku kerjain tugas ini, soale aku masih binngung,

    Makasih
    jefri

    Perhatikan inisialisasi array berikut ini :

    Const

    Nilai : array [1…6,1…3]

    = ((1,2,3),( 8,9,10),(12,14,15),(19,21,22),(24,28,30))

    Berapakah nilai dari elemen berikut :

    a. Nilai [1,2]

    b. Nilai [3,2]

    c. Nilai [4,2]

    d. Nilai [3,3]

    e. Nilai [5,1]

    Buatlah Pemrogramannya

  11. bisa tolongin ndag??
    neh q dpet tugas dsuruh buat program menghitung kombinasi
    cntoh :
    input n = 5
    output k = 3
    hasil 5C3 = 10
    mesti pkek prosedur / fungsi.

    tlong ea??
    kirim k email q pam.pararam@yahoo.com
    tnks b4. ^^

  12. kalau menjumlahkan banyaknya huruf ‘A’ (udah dicetak sebelumnya diatas tapi belum dijumlah banyaknya berapa)misalkan A=2 buah,B=3buah,secara otomatis caranya gimana gan?suwunnn.. 🙂

  13. waduchhhh………………….. puzing duech gue??zzzzzz
    gmna nich mo nggunain bahasa pemrograman pascal segala suich?? paw lagi megang mouse ajac g’ prnah sjak dlu…

    1. ea udch bguz.. bguz… sips????
      pinter bgtz deuech loe nich udch,, thx very much luph,,

  14. mau nanya bos kalo soal’a kyak gini gmn rumus’a?
    diketahui:
    mangga=7000/kg
    jeruk=6000/kg
    rambutan=5000/kg
    melon=4000/kg
    jika pengisian data” tsb lebih dari 2kg maka dijadikan harga 10% semua benda.

    mohon d jwb secepat’a,kirim k email juga tdk apa”.. makasih sebelumnya ^^

    1. uses crt;

      function factorial(n: integer): longint;
      begin
      if (n = 0) then
      factorial := 1
      else
      factorial := n * factorial(n – 1);
      end;

      function permutasi(a, r:integer):real;
      begin
      if (a=0) then
      permutasi := 1
      else
      permutasi := factorial(a)/factorial(a-r);
      end;

      var x, y: integer;
      begin
      writeln(‘Program Permutasi’);
      writeln;
      write(‘Berapa banyak n: ‘);
      readln(x);
      write(‘Jumlah yang dipilih (r): ‘);
      readln(y);
      writeln;
      writeln(‘ permutasi = ‘, permutasi(x, y):3:2);
      readln;
      end.

  15. tolong bantu buat tugas pemrograman turbo pascal gmna cara cari bilangan prima 1-20 ????? sblm na thx alot 🙂

  16. ada ga’ contoh tuk Function terbilang dari angka 1 sampai 1000??? gimana urutannya tuh. balasnya lewat email-ku sj. plis..ya….

  17. Assalamualaikum kak tolong bantu ya secepatnya tugas membuat soal pilihan ganda ada poin 10 loncat soal selanjutnya mendapatkan poin bertambah tetapi jika salah poin berhenti dan program berhenti terimakasih tolong di bantu ya kak

  18. Assalamualaikum kak tolong bantu ya secepatnya tugas membuat soal pilihan ganda ada poin 10 loncat soal selanjutnya mendapatkan poin bertambah tetapi jika salah poin berhenti dan program berhenti terimakasih tolong di bantu ya kak mohon. Bantuannya ya ka

Leave a Reply to mellya' siswi SMA TAQ Cancel reply

Your email address will not be published. Required fields are marked *

Page optimized by WP Minify WordPress Plugin