Setelah memahami Aturan dan Cara Penulisan Kode Program Pascal pada tutorial sebelumnya, kali ini kita akan fokus membahas Struktur Dasar Kode Program Pascal, yakni apa-apa saja yang bisa ditulis di dalam kode program pascal.
Struktur Dasar Kode Program Pascal
Pascal adalah bahasa pemrograman deklaratif dan terstruktur, yang artinya seluruh variabel, konstanta, fungsi, dan beberapa struktur pemrograman lain harus 'diperkenalkan' diawal kode program dan dalam urutan yang sudah ditentukan. Didalam pemrograman, 'perkenalan' ini dikenal dengan istilah 'deklarasi' (declarations).
Struktur kode program pascal bisa dipecah menjadi 2 bagian: bagian Deklarasi dan bagian Main Program, seperti berikut ini:
program nama_program;   { bagian deklarasi } begin   { main program } end.
Bagian Deklarasi terdiri dari beberapa jenis kode program, yakni:
- Perintah Uses
- Deklarasi Type
- Deklarasi Konstanta (constant)
- Deklarasi Variabel (variable)
- Deklarasi Fungsi (function)
- Deklarasi Prosedur (procedure)
Sedangkan Main Program nantinya akan berisi kode program utama. Penjelasan mengenai fungsi masing-masing deklarasi akan kita lihat sekilas, dan akan dibahas secara mendalam dalam tutorial terpisah.
Agar lebih mudah memahami fungsi dari masing-masing deklarasi tersebut, saya akan membuat kode program menghitung luas dan keliling segitiga. Anda tidak perlu memahami kode-kode yang ada karena kita memang belum membahasnya, silahkan perhatikan pada penulisan struktur saja.
Berikut contoh kode menghitung luas dan keliling segitiga menggunakan pascal:
program hitung_lingkaran;  uses crt;  type warna=(merah, kuning, biru);  const PI=3.14;  var jari2:integer=7; warna_lingkaran:warna=merah;  function luas_lingkaran:real; begin   luas_lingkaran:=PI*jari2*jari2; end;  procedure kel_lingkaran(jari2:integer); begin   write('Keliling Lingkaran = ');   writeln(PI*(jari2+jari2):4:2, ' cm'); end;  begin clrscr; writeln('==PROGRAM MENGHITUNG LUAS LINGKARAN=='); writeln('==---------------------------------=='); writeln('Diketahui: jari-jari lingkaran = ',jari2,' cm'); writeln('Warna Lingkaran = ',warna_lingkaran); writeln('Luas Lingkaran = ',luas_lingkaran:4:2, ' cm'); kel_lingkaran(jari2); readln; end.
Kode program diatas cukup panjang, namun sekali lagi anda tidak perlu memahaminya. Saya akan membahas kode-kode diatas dalam tutorial pascal lainnya. Kali ini kita hanya fokus kepada struktur program. Berikut penjelasannya dari struktur diatas:
Penulisan Nama Program Pascal
Seperti biasa, baris pertama sebuah kode pascal dimulai dengan penulisan keyword program , kemudian diikuti dengan nama program.
Sebenarnya, anda tidak harus menulis kode ini. Penulisan nama program sepenuhnya opsional (boleh ditulis, boleh tidak). Silahkan coba hapus baris "program hitung_lingkaran;" dari kode diatas, hasilnya tetap bisa di-compile dan dijalankan.
Aturan penulisan nama program sama seperti aturan penulisan identifier yang kita bahas pada tutorial aturan dan cara penulisan kode program pascal.
Perintah Uses
Uses adalah cara bahasa pemrograman pascal untuk memasukkan kode-kode external yang dikenal dengan unit (atau library dalam bahasa pemrograman lain). Sebagai contoh, perintah clrscr yang saya gunakan pada program utama merupakan perintah yang ada pada unit crt. Terdapat berbagai unit yang bisa kita gunakan, seperti math, sysutils, printer, dan strutils.
Ketersediaan unit ini berbeda-beda untuk masing-masing aplikasi. Compiler Free Pascal memiliki unit yang lebih banyak dari pada Turbo Pascal karena masih aktif dikembangkan hingga sekarang.
Deklarasi Type
Pada bagian deklarasi Type, kita bisa membuat tipe data bentukan. Sebagai contoh, dalam kode diatas saya membuat tipe data warna, dimana tipe data ini hanya bisa diisi dengan nilai merah, kuning, atau biru.
Deklarasi Konstanta (constant)
Konstanta atau constant adalah sebuah 'penampung' yang nilainya bersifat tetap. Dalam contoh diatas, saya membuat konstanta PI dengan nilai 3.14.
Deklarasi Variabel (variable)
Variabel atau variable adalah 'penampung' yang nilainya bisa berubah sepanjang alur program. Kita akan sering menggunakan variabel dalam pembuatan kode program. Pada contoh diatas saya membuat variabel jari2 yang diset bertipe data integer. Nilai jari2 juga langsung diisi dengan angka 7.
Deklarasi Fungsi (function)
Sebuah fungsi atau function dikenal juga sebagai subprogram, karena kita bisa memecah alur program yang panjang menjadi fungsi-fungsi yang saling terpisah. Berbeda dengan prosedur, fungsi akan mengembalikan nilai.
Dalam contoh diatas saya membuat function luas_lingkaran yang digunakan untuk menghitung luas lingkaran. Fungsi ini akan mengembalikan nilai akhir bertipe real.
Deklarasi Prosedur (procedure)
Pada dasarnya, prosedur atau procedure adalah fungsi yang tidak mengembalikan nilai. Prosedur adalah sesuatu yang unik di dalam pascal. Bahasa pemrograman lain umumnya tidak mengenal prosedur.
Dalam kode diatas saya membuat procedure kel_lingkaran untuk menghitung keliling lingkaran. Karena prosedur tidak mengembalikan nilai, maka saya langsung menampilkan hasilnya dengan writeln.
Main Program
Main program adalah tempat dimana kode program utama ditulis. Disinilah dilakukan pemanggilan fungsi atau prosedur (jika ada), serta pembuatan proses alur kerja program. Main program diawali dengan keyword begin dan diakhiri dengan end.
Pada contoh kode diatas, saya memulai main program dengan perintah clrscr. Perintah ini berasal dari unit crt. Clrscr merupakan singkatan dari clear screen, digunakan untuk menghapus output dari kode program sebelumnya (membersihkan layar).
Agar anda bisa mengetahui fungsi clrscr, silahkan hapus kode ini dan jalankan program beberapa kali dari dalam aplikasi Free Pascal atau Turbo Pascal. Anda akan lihat bahwa output program akan 'bertumpuk' setiap kali kita menjalankan kode program.
Perintah clrscr akan menghapus kode-kode diatasnya, sehingga tampilan output akan 'bersih'.
Sebuah kode program pascal tidak harus menggunakan seluruh struktur diatas, contohnya kode program Hello World yang kita jalankan pada tutorial sebelumnya tidak menggunakan struktur ini sama sekali. Kita akan mempelajari lebih dalam mengenai masing-masing struktur ini dalam tutorial tersendiri.
Berikutnya, saya akan dibahas tentang pengertian variabel dan cara penulisan variabel pascal.
MOHON POSTING BAHASA PEMOGRAMAN VISUAL BASIC
Requestnya ditampung ya,.. :)
makasih gan sangat membantu
Terimakasih saya sangat menikmati postingan Pak Andre, perkenankan dua pertanyaan: apakah di dlm pascal ada semacam perpustakaan program program kecil yg sdh jadi dan bisa kita gunakan untuk mendukung fungsi dlm sebuah program yg kita ingin buat? Atw semacam template blog yg bisa dimodif?
Program kecil di pascal mungkin cuma kumpulan fungsi dan sedikit library tambahan mas. Karena pascal itu sendiri saat ini kurang dikembangkan lagi (selain untuk keperluan akademis).
Untuk membuat program yang lebih kompleks (dan memiliki banyak 'template') bisa pakai C++. Atau jika ingin membuat aplikasi visual, bisa coba Lazarus yang berbasiskan pascal.
mau tanya gan kok free pascal punya saya setiap saya run terus tampilan hasilnya muncul terus hilang lagi itu gimna gan… mohon bantuannya
Coba ditambahkan perintah "readln;" dibaris terakhir kode program gan… Contohnya bisa dilihat di tutorial pascal selanjutnya.
tolong post tentang pemrograman PYTHON dong mas ,,,
Sarannya ditampung y mas :)
Tp buat saat ini saya masih fokus ke HTML, CSS, PHP, MySQL dan JavaScript dulu.
hi kak andre, salam kenal nih,
hmm mau nanya nih mengenai procedure dan function,
kemarin aku baru dapet soal dari kampus yang isi nya,
Progran testing;
uses crt;
var a,b,c:byte;
begin
clrscr;
write('nilai i= ');
readln(a);
writeln; writeln;
b:= a*5;
c:= a*5;
writeln('hasil 1= ',b);
writeln; writeln;
writeln('hasil 2= ',c);
readkey;
end.
Program testing;
uses crt;
var a,b,c: byte;
begin
clrscr;
a:= isi (nilai 1= ');
kelang (2);
hasil(1,5);
kelang(2);
hasil(2,5);
readkey;
end;
nah dari dua program tersebut di surut tulis function nya sama procedur hasil dan procedure kelang nya >.<
gak ngerti kak,
bisa ajarin gk :( ?
mohon bimbingan nya (>/\<)
Untuk saat ini saya belum bisa bantu nih gan (sedang ada kesibukan juga). Mudah2an ada rekan lain yang bisa ngasih jawaban :)
salah ketik aja, program/progran
bisa ajarin ttg program pascal
nilai A=91-100
B=75-90
Untuk sementara silahkan ikuti tutorial yang ada y sis :)
Materinya memang belum lengkap, sisanya akan menyusul bertahap.
kalo ga salah pake case of (percabangan) itu mba
Saya butuh statement goto , label , fungsi sama prosedur bro . Thanks
Semoga materi percabangan, pengulangan cepat2 di posting ..
Iya nih gan, akhir2 ini saya ada sedikit kesibukan. Mudah2an bisa lanjutin tutorial pascal lagi, hehe…
sejauh ini saya masih paham bro makasih ya dari awal posting nya , next akan saya baca + saya coba lagi
hehe ini buat latihan seleksi OSN 2016 saya bro :v lumayan bisa juga buat entar kalo dah kuliah ambi jurusan IT
Yup, lanjut gan :)
baca segitu aja udah pusing pala ane!!! hadehhh
Hehe, bacanya pelan2 saja gan, dan saya sarankan mulai dari Part 1 dulu.
mantap!!cukup membantu belajar…..
iji share gan!!
Silahkan gan… :)
Mat pagi kak,,mau nanya bangaimana yach caranya agar mengerti tengtang bahasa pemograman pascal dengan cepat alnya pelajarannya nda pernah saya mengerti,ad ng cara gampang dan ng bikin pusing untuk bisa cepat mengerti?mohon bantuanya yach kak..
Kalau saya sih g percaya yang cepat2 gan. Semua butuh proses, termasuk belajar programming. Belajar bahasa pemrograman g bisa hapalan (yang bisa cepat), tapi juga kemampuan berfikir kita untuk memecahkan masalah.
Saran saya coba cari buku yang detail membahas Pascal, lalu pelajari perlahan. Jangan lanjut ke pembahasan berikutnya jika kita belum paham. Karena biasanya buku pemrograman itu berkelanjutan. Jika lompat2 (karena pengen cepat), biasanya malah pusing n jadi ngantuk, hehe…
Mas cara supaya app Free Pascal nya gak ngebuka file .pas nya trus gimana ya?
Soalnya tiap buka app nya pasti semua file.pas langsung kebuka semua jadi numpuk gitu
Sorry, baru belajar pascal soalnya udah mau kuliah
Aplikasi Free Pascal memang otomatis menampilkan seluruh file .pas yang masih aktif gan (belum ditutup). Solusinya, ketika agan sudah selesai menggunakan Free Pascal, tutup dulu semua jendela pascal yang masih terbuka. Paling gampang pilih menu Window->Close All.
Sekarang ketika Free Pascalnya dibuka kembali, tidak ada jendela yang akan bertumpuk.
Pinku 27 Jan 16
hi kak andre, salam kenal nih,
hmm mau nanya nih mengenai procedure dan function,
kemarin aku baru dapet soal dari kampus yang isi nya,
Progran testing;
uses crt;
var a,b,c:byte;
begin
clrscr;
write('nilai i= ');
readln(a);
writeln; writeln;
b:= a*5;
c:= a*5;
writeln('hasil 1= ',b);
writeln; writeln;
writeln('hasil 2= ',c);
readkey;
end.
Program testing;
uses crt;
var a,b,c: byte;
begin
clrscr;
a:= isi (nilai 1= ');
kelang (2);
hasil(1,5);
kelang(2);
hasil(2,5);
readkey;
end;
Oh ternyata di window, ane bingung cara close nya itu kemarin hehe
Makasih banyak atas jawabannya
Siip, lanjut gan.
Makasih infonya gan… udh lama nyari ni tutorial akhirnya dapet web THE BEST…ijin Share yah….pertanyaan:bisa dijelasin lebih detail kah,tentang penambahan nilai akhir :real?dan di windws xp free pascal bisa kah?
mo nanya nih kak, itu kan ada yang bagian luas_lingkaran:4:2
fungsi 4:2 itu apa yaa kak
Itu untuk menformat tampilan angkanya gan. Penjelasannya nanti akan dibahas disini: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-real-pascal/
kalo tutorial pascal gini ada bukunya gak ya gan berbahasa indonesia kalo ada tolong share dong….
klo admin jual juga bisa beli gak…. butuh buat belajar
Saat ini belum ada gan, soalnya saya masih fokus ke web programming. Tp memang sudah ada rencana untuk nulis buku pascal juga (belum dalam waktu dekat) :)
saya belajar ini pas masuk smk jurusan rekayasa perangkat lunak
tapi pembahasanya gk sedetail ini :D
dan ampe saya di drop out dari sekolah :v karena bolos bosen belajar di sekolah lebih milih belajar di warnet (bisa sambil ngopi) 4 tahun lalu
tapi entah kenapa sampe skrang saya pengen banget bisa pemprograman sukur2 menguasai
maksih pak/om andre :* :v
sorry curhat dikit syg
Hehe, siip mas… semoga tutorial pascal di duniailkom ini bisa mengobati "rasa kangennya" dengan programming :D
om admin maaf, saya ikutin tutor baru sampe part 7, lalu saya kan barusan mengcopy program yg luas lingkaran di tutorial ke dalam aplikasi windows free pascal saya, tapi pas di run g bisa jalan, padahal mengcopy nya udh bener :'(
knp ya?
Kalau pakai kode program lain bisa jalan g? Atau selama agan menggunakan Free Pascal udah pernah sukses? misalnya menampilkan teks "Hello World".
Jika sebelumnya sudah pernah sukses, berarti kode programnya yang bermasalah, silahkan periksa lagi.
gan itu yang :4:2 maksudnya apa ya?
Itu untuk menformat tampilan angka desimal. Lengkapnya nanti dipelajari di sini: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-dan-cara-penggunaan-tipe-data-real-pascal/
gan saya boleh tanya luas_lingkaran 4:2 untuk apa ya ituh
Itu untuk menformat tampilan angka desimal, Artinya angka untuk variabel luas_lingkaran akan ditampilkan dengan 4 digit sebelum angka desimal, dan 2 digit setelah angka desimal.
min mo nanya di bagian
uses
crt;
dan
begin
clrscr;
kok erok, ane pake web online http://www.codechef.com tolong pencerahannya
Kalau untuk compiler online, bisa jadi punya syarat2 khusus. Perintah uses crt dan clrscr digunakan untuk menghapus teks hasil sebelumnya, mungkin untuk compiler online perintah ini tidak disediakan.
Dalam tutorial pascal di duniailkom ini saya berasumsi dilajankan menggunakan aplikasi Free Pascal yang diinstall atau Turbo Pascal..
Bingung ee. versinya beda, jadi agak ribet gitu.
itu supaya bisa nulis menghitung lingkaran kek gimana ya?
masih nggak ngerti
Silahkan coba ikuti semua tutorial pascal ini dari part 1 – 48. Mudah2an nanti bisa buat sendiri programnya…
di pascal, apakah bisa membuat program untuk mendeteksi anomali dari data stasioner, misal data elektrokardiografi?
Sepertinya tidak bisa yang rumit seperti itu. Minimal harus pakai Delphi untuk pemrograman tingkat lanjut pascal (terutama jika ingin tampilan grafis layaknya aplikasi2 desktop).
Jujur saya belajar banyak dari blog ini, terimakasih ilmunya mas. Salam kenal, saya juga ingin membuat catatan belajar saya dalam bentuk blog hehehe.
Siap, silahkan.. kalau artikelnya berasal dari materi yang ada di duniailkom, boleh dicantumkan link sumbernya kesini y…
mas saya newbie, ingin belajar bahasa pemrograman, enaknya dimulai dari mana y?mksi:D
Untuk dasar2 pemrograman, bisa belajar dari bahasa Pascal ini dulu.
Mas, program hitung lingkarannya di turbo pascal tidak bisa, apa ya yg harus diubah?
Saya sudah tidak install turbo pascal lagi, jadi tidak bisa coba langsung. Mungkin errornya ada dibagian warna_lingkaran:warna=merah;, proses inisialisasi variabel mesti dipisah di dalam compiler turbo pascal. Penjelasan apa itu inisialisasi bisa kesini: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-variabel-dan-cara-penulisan-variabel-pascal/
Btw, sebaiknya pindah ke Free Pascal saja, Turbo Pascal udah terlalu jadul untuk standar saat ini…
Gan maksudnya procedure tidak mengembalikan nilai itu gimana ya?
Cukup panjang kalau dijelaskan disini. Selain itu "mengembalikan nilai" ini harus dibahas bersamaan dengan function.
Function adalah subprogram yang bisa mengembalikan nilai, sedangkan procedure tidak. Jika ada function cari_rata_rata, maka kita bisa menulis seperti ini:
writeln cari_rata_rata;
Tapi jika cari_rata_rata dibuat sebagai procedure, kode program diatas akan menghasilkan error.
Penjelasan lebih lanjut tentang procedure dan function saya bahas dengan lebih lengkap di buku Pascal Uncover Duniailkom.
Maaf agan author, saya compile program contoh diatas tentang luas lingkaran kenapa bisa error ya ? Aplikasi saya pakai Dev-Pascal , apakah ada masalah dengan itu ?
Pesan errornya apa y? tapi bisa jadi ada perbedaan syntax dengan Dev-pascal, karena dalam tutorial ini saya menggunakan Free Pascal.
Selamat Pagi Mas Andrey . Saya sudah mencoba tutor di atas menggunakan free pascal . namun kenapa error ya ?
program hitung_lingkaran;
uses
crt;
type
warna=(merah, kuning, biru);
const
PI=3.14;
var
jari2:integer=7;
warna_lingkaran:warna=merah;
function luas_lingkaran:real;
begin
luas_lingkaran:=PI*jari2*jari2;
end;
procedure kel_lingkaran(jari2:integer);
begin
write('Keliling Lingkaran = ');
writeln(PI*(jari2+jari2):4:2, ' cm');
end;
begin
clrscr;
writeln('==PROGRAM MENGHITUNG LUAS LINGKARAN==');
writeln('==———————————==');
writeln('Diketahui: jari-jari lingkaran = ',jari2,' cm');
writeln('Warna Lingkaran = ',warna_lingkaran);
writeln('Luas Lingkaran = ',luas_lingkaran:4:2, ' cm');
kel_lingkaran(jari2);
readln;
end. itu codinganya yg saya tulis di free pascal
Error nya seperti apa y? barusan coba saya test sukses dan tidak ada error. Bisa coba restart Free Pascalnya dan buat file baru. Bisa juga matikan anti virus untuk sementara (mana tau terblokir oleh antivirus)
Selamat Siang Pak Andre ,terima kasih untuk segala tutorial yang telah anda berikan itu sangat membantu saya dalam memahami pembelajar diperkuliah yang tidak begitu saya pahami.
sedikit pertanyaan saya mencoba program yang anda berikan:
program hitung_lingkaran;
uses
crt;
type
warna=(merah, kuning, biru);
const
PI=3.14;
var
jari2:integer=7;
warna_lingkaran:warna=merah;
function luas_lingkaran:real;
begin
luas_lingkaran:=PI*jari2*jari2;
end;
procedure kel_lingkaran(jari2:integer);
begin
write('Keliling Lingkaran = ');
writeln(PI*(jari2+jari2):4:2, ' cm');
end;
begin
clrscr;
writeln('==PROGRAM MENGHITUNG LUAS LINGKARAN==');
writeln('==———————————==');
writeln('Diketahui: jari-jari lingkaran = ',jari2,' cm');
writeln('Warna Lingkaran = ',warna_lingkaran);
writeln('Luas Lingkaran = ',luas_lingkaran:4:2, ' cm');
kel_lingkaran(jari2);
readln;
end.
Saya menggunakan Turbo Pascal (with DOSBox) cuman ketika saya jalankan/Run ada kendala " Error 85 : ";" expected " apakah ada sedikit perbedaan dari Turbo pascal yang anda berikan dengan Turbo Pascal with DOSBox saya padahal saya sudah menulis sesuai pada yang anda berikan , lalu kendalanya dimana , terima kasih bila anda berkenan menjawab ,karena pembahasan anda sangat membantu saya
Betul, kode program diatas akan error di Turbo Pascal karena Turbo Pascal tidak mendukung pendeklarasian dan pengisian nilai variabel sekaligus, yakni baris:
jari2:integer=7;
warna_lingkaran:warna=merah;
Penjelasannya nanti ada di part tentang variabel: https://www.duniailkom.com/tutorial-belajar-pascal-pengertian-variabel-dan-cara-penulisan-variabel-pascal/
Untuk sementara bisa di lewati saja. Tapi saran saya sebaiknya beralih pakai Free Pascal.
Min mua nanya pebedaan tanda + sama , dalam penulisan writeln apa ya min.
Penggunaannya bisa beda2 tergantung penempatan dan situasi. Tapi biasanya tanda + dipakai untuk operator penambahan matematika, sedangkan tanda koma dipakai untuk memisah string dengan variabel.
Pascal on Android yang ada di google playstore, apakah lebih baik dari free Pascal atau Turbo Pascal 7.0?
Untuk programming, saya lebih sarankan untuk tetap menggunakan Laptop / Komputer, kecuali benar2 terpaksa misalnya tidak punya komputer. Selain lebih susah untuk proses mengetik, kadang ada beberapa pembatasan atau kode yang tidak jalan di android.
Khusus untuk Pascal, lebih disarankan pakai Free Pascal daripada Turbo Pascal 7.
mantap lur
makasih gan tutorial nya, saya mau nanya, pada baris akhir yang keliling lingkaran kenapa ngga diawali writeln ya?
Alasannya karena perintah writeln sudah dilakukan di dalam procedure kel_lingkaran()