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.
2 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.
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:
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.
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.
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.
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.
thanks informasinya….
singkat dan jelas…
jadi gampang belajar…
wooi hebat kak resika nouk tapi koq singkat banget kak?????????
Bli makasih
KASOON KALABEN INFONAH
TOR SAKALANGKONG
thx 4 da information..=D
ma kasih banyak ya mas
Matur suksma atas tutorial singkat pascalnya sangat membantu sekali bagi saya yang baru belajar.
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……
thankyu …
tgasku jd cpet slesai deh …
Bli, metaken kidik… Napi ke sane kawastanin “line Break” ring pemrograman pascal
Suksma..
bos..
jelasin tentang procedure ma function donk,
sama delay juga..
lagi pratikum prokom di kampus,
saya mahasiswa Teknik Informatika FT unud,
tolong ya..
tahnx ats contoh programnya!!!!!
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
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
tolong dund buatin contoh program yg memuat runtunan,pengulangan,pemilihan dan array
THANKS
lebih lengkap lagi dink programnya………
hehehhe………….
tenkz ya dah ngasih materi di atas..
tolong jelasin ttg loops, method n array donk…
aqu masiy lum paham ttg materi itu..
thx b4..
info untuk rumus pascal bilangan prima 0 ampe` 100 tolong dilengkapin dunk….. heheheh.makasi sebelumnya atas infonya.
makacwehh uat iNporm’na
Makasih udah bantu tugas saya, membuat tugas remidi komputer he…
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
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. ^^
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.. 🙂
waduchhhh………………….. puzing duech gue??zzzzzz
gmna nich mo nggunain bahasa pemrograman pascal segala suich?? paw lagi megang mouse ajac g’ prnah sjak dlu…
ea udch bguz.. bguz… sips????
pinter bgtz deuech loe nich udch,, thx very much luph,,
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 ^^
ad yg mau ajarin aq jd programer gag???
tar aq bayar lohhh..
aq tnggal d denpasar bali..
kalo mau message aj d e-mail q..
odonk2keliling@yahoo.com..
seriuzz lohh…
bantu’n bikin program menggunakan permurtasi donk……!!!!!!
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.
boLeh taNYag…??
cara bikin program perMutasi ma kombinasi tanpa pakek procedure gmannah yach….???
tolong bantu buat tugas pemrograman turbo pascal gmna cara cari bilangan prima 1-20 ????? sblm na thx alot 🙂
oiaa bls nya k email akku aj hehe
ada ga’ contoh tuk Function terbilang dari angka 1 sampai 1000??? gimana urutannya tuh. balasnya lewat email-ku sj. plis..ya….
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
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