Procedure dan Fungsi pada pascal


Baik kali ini kita masuk kebagian procedure dan fungsi di pascal.
tapi sebelum membahas lebih jauh kita kenali dulu kira-kira apa sih perbedaan procedure dan fungsi di pascal.
perbedaannya yaitu.
1. Prosedur diawali dengan dengan kata procedure untuk mendeklarasikannya
contoh : procedure hitung_angka;
kalau fungsi di awali dengan kata function
function hitung_bilangan: integer;
2. Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).

3. Procedure outputnya diletakkan di dalam procedure, kalau fungsi outputnya di letakkan di program utama.
4. Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama. contoh :hitung_bilangan;
Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
contoh. hasil:= hitung_bilangan(a,b);
atau write('hasilnya adalah ', hitng_bilangan(a,b));

baik langsung saja ke contoh..
program aritha_pascal;
uses wincrt;

procedure nama;
var nm: string;

begin
write('masukkan nama anda ');
readln(nm);
write('haloo ', nm);
end;

begin
writeln('-======Program Procedure Input Nama======-');
nama;
end.



Procedure dengan parameter Input dan parameter Output


kalau kita lihat contoh program sebelumnya perintah input read(nama); dan output write(nama); berada di procedure yang sama. nah bagai mana caranya apabila kita membaca input di procedure a. kemudian menampilkannya di procedure b.
untuk melakukan itu kita membutuhkan yang namanya parameter. parameter ada 2 parameter input yang berfungsi sebagai inputan untuk procedure tesebut. dan yang kedua adalah parameter output. yang berufngsi untuk memberikan output pada variabel yang di parameterkan.

program aritha_pascal;

uses wincrt;

procedure inputnama (var nm:string);
begin
write('masukkan nama anda ');
readln(nm);
end;

procedure tampilnama (nm:string);
begin
write('haloo ',nm);
end;


var nama:string;
begin
writeln('-======Program Procedure Input Nama======-');
inputnama(nama);
tampilnama(nama);

end.


pada prosedur inputnama tulisan yang berwana merah (var nm:string) adalah parameter output (parameter by reference). dimana nama yang di inputkan di dalam procedur akan menjadi output pada program utama sehingga di program utama nama yang telah di inpukan tadi bisa digunakan. ciri2 parameter output adalah dengan adanya var pada (var nm:string)

sedangkan untuk parameter input tidak menggunakan var. lihat coding di procedure tampilnama yang berwana biru (nm:string) nah in adalah contoh parameter input (parameter by value)

contoh lain
program aritha_pascal;
uses wincrt;

procedure inputan(alas: integer; tinggi:integer; var luas:real);
begin
write('masukkan nilai alas : '); readln(alas);
write('masukkan nilai tinggi : '); readln(tinggi);
luas:= alas*tinggi/2;
end;

var a,t:integer;
luas : real;
begin
writeln('-======Program Procedure Luas segitiga======-');
writeln;
inputan(a,t,luas);
write('luas segitiga adalah : ', luas:0:2);
end.


Fungsi


program aritha_pascal;
uses wincrt;

function luassegitiga(alas: integer; tinggi:integer) : real;
var luas:real;
begin
luas:= alas*tinggi/2;
luassegitiga:= luas;
end;


var a,t:integer;
luas : real;

begin
writeln('-======Program Fungsi Luas segitiga======-');
writeln;
write('masukkan nilai alas : '); readln(a);
write('masukkan nilai tinggi : '); readln(t);

write('luas segitiga adalah : ', luassegitiga(a,t):0:2);

end.


tulisan yang berwarna merah adalah pemanggilan fungsi yang memberikan nilai luas dari segitiga.

kayaknya segitu aja deh ya contoh buat fungsi dan procedure. semoga bermanfaat :)
Read more.....

Perulangan pada pascal.

Perulangan adalah sebuah perintah yang menjalankan suatu perintah tertentu berulang-ulang sampai suatu kondisi terpenuhi.. msialnya kita ingin mengulangi perintah write('aku mahaiswa'); sebanyak 5 kali. maka kita bisa menggunakan perlangan for i := 1 to 5 do write('aku mahasiswa');

Perulangan ada 3 jenis.
1. Perulangan for do
2. perulangan repeat until
3. perulangan while do


Perulangan for do


contoh perulanga menggunakan for do
program pascal_aritha;
uses wincrt;
var i : integer;

begin
writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');
for i := 1 to 5 do writeln('aku mahasiswa');
end.

Hasil :
aku mahasiswa
aku mahasiswa
aku mahasiswa
aku mahasiswa
aku mahasiswa

contoh lain
program pascal_aritha;

uses wincrt;

var i : integer;

begin

writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');

for i := 1 to 20 do
begin
if (i mod 5<>0) then {jika i mod 5 tidak sama dengan 0 do}
write(' ',i)
else
writeln(' ',i);

end;
end.

Hasil :
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20

For bersarang
for bersarang adalah perintah for yang di dalamnya terdapat perintah for lagi.
contohnya.
program pascal_aritha;
uses wincrt;
var i,j : integer;

begin
writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');

for i := 1 to 5 do
begin
for j:= 1 to i do write (i,j,', ');
writeln;
end;
end.

Perhatikan Pada koding diatas terdapat perintah for didalam perintah for

Perulangan for downto
terkadang kita membutuhkan perulangan dimana nilainya menurun. misalnya 5,4,3,2,1 nah untuk kasus ini kita dapat menggunakan perintah for downto

contoh

for i:= 10 downto 1 do write ('no', i);

contoh program yang menghasilkan output seperti ini:


program aritha_pascal;

uses wincrt;
var
a,b,c:integer;

begin
writeln('-======Program Bintang======-');
for c := 1 to 5 do
begin
for a:= 5 downto c do write(' ');
for b:= 1 to c do write('**');
writeln;
end;
end.


Perulangan while


untuk menggunakan perulangan while pertama kita harus mendeklarasikan sebuah variabel untuk menjadi indeks perulangan pada while.
misalnya i:integer;

kemudian kita inisialisasikan nilai awal dari i tersebut. i:=1, berarti perulangan dimulai dari indeks 1

jadi secara umum while seperti ini.

while kondisi do
begin
perintah1;
perintah2;
perintah3;
dst..;
end;

contoh :
i:= 1;
while i<=5 do
begin
writeln('perulangan ke ', i);
i:= i+1
pada tulisan berwarna merah adalah penambahan indeks, agar perulangan tidak diulang terus menerus. jadi pada perulangan ke 2. indeks akan menjadi i:= 1+1, indeks nya 2. pada perulangan ketiga i:= 2+1, jadi indeks nya 3. sampai indeksnya 5 (sudah mencapai batas akhir kondisi i<=5) maka ketika indeksnya 6, perintah tidak diulang lagi.

perhatikan contoh berikut yang akan membuat output seperti ini :
*
**
***
****
dengan menggunakan perulangan while.

program pascal_aritha;

uses wincrt;

var i,j : integer;

begin
i:=1;
j:=1;
while i<=5 do
begin
j:=1;
while j<=i do
begin
write('*');
j:= j+1;
end;
i:= i+1;
writeln;


end;

end.


Perulangan repeat until


hampir mirip dengan while do. dimana repeat until juga memerlukan perintah i:= i+1; atau i:=i-1; untuk menentukan indeksnya menaik atau menurun, agar perulangan tidak diulang secara terus menerus.
bentuk umum perintah repeat until adalah..

repeat
perintah1;
perintah2;
dst..
until kondisi;



berikut contoh program menggunakan repeat until yang akan menghasilkan output seperti ini..
5 10 15 20
25 30 35 40
45 50 55 60
program pascal_aritha;

uses wincrt;

var i : integer;

begin
i:=5;
repeat
write(i,' ');
if i mod 20 = 0 then writeln;
i:=i+5;
until i>=61;
end.


intinya setiap perulangan mau pakai for do, while do atau repeat until terserah anda. gunakan lah cara yang ter mudah dan tercepat menurut anda. :)

Read more.....

Ekspresi logika (if then) (case of)

Ekspresi logika adalah sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertentu terpenuhi..
(wwee bingung)
contoh ekspresi logika misalnya jika umur > 20 maka dewasa kalau tidak berarti masi muda

nah ekpresi tersebut dapat kita gunakan pada pascal dengan sintaks

if umur>20 then write('dewasa')
else write('muda');

if kondisi then perintah_kondisi_terpenuhi
else perintah_kalau_kondisi_tdkterpenuhi

contoh

menentukan bilangan genap atau ganjil



program pascal_aritha;
uses wincrt;

var
a : integer;

begin
writeln('=====Program genap ganjil=====');
writeln(' =====by ArH==== ');

writeln;

write('masukkan sebuah bilangan/angka ');
readln(a);

if (a mod 2 = 0) then write (a, ' merupakan bilangan genap')
else write (a, ' merupakan bilangan ganjil');
end.


contoh lain

Menentutkan bilangan positif negatif atau 0


program pascal_aritha;
uses wincrt;

var
a : integer;

begin
writeln('=====Program Positif Negatif=====');
writeln(' =====by ArH==== ');

writeln;

write('masukkan sebuah bilangan/angka ');
readln(a);

if (a › 0) then
begin
write (a);
write (' merupakan bilangan positif');
end
else if (a‹0) then
begin
write (a);
write (' merupakan bilangan negatif');
end
else
write (a, ' merupakan angka nol');

end.

ingat
apabila perintah yang ingin kita jalankan ketika kondisi terpenuhi tsb lebih dari 1.
misalnya
write(a); write('merupakan bilangan positif'); *ini 2 perintah
atau
read(a); write(a); *ini juga 2 perintah
read(a); a:=a+1; write(a); *ini ada 3 perintah

jadi setiap perintah dipisahkan dengan tanda ";"

selanjutnya koding diatas menjelaskan bahwa apabila bilangan besar 0 maka akan ditulis "bilangan ini positif" namun jika bilangan tsb tidak besar dari 0 maka dilihat kondisi selanjutnya (else if a‹0) jika a kecil dari 0 maka akan di tulis output "bilangan negatif" apabila kedua kondisi tersebut tidak terpenuhi, maka di jalankan perintah yang ada pada kondisi terakhir (else)


contoh lain

Bilangan terbesar dari 3 bilangan



program pascal_aritha;
uses wincrt;

var
a,b,c : integer;
terbesar : integer;

begin
writeln('=====Program Bilangan terbesar=====');
writeln(' =====by ArH==== ');

writeln;

writeln('masukkan 3 buah bilangan/angka ');

write('bil pertama : ');
readln(a);

write('bil kedua : ');
readln(b);

write('bil ketiga : ');
readln(c);

terbesar:=0;

if (a › b) then
terbesar:= a
else terbesar:=b;

if (terbesar › c) then
terbesar := terbesar
else
terbesar:= c;

write ('bilangan terbesar adalah ', terbesar);
end.

Pe Er buat kalian, :P
coba buat program Menentukan nilai huruf mahasiswa

jika nilai ›70 dan ‹= 100 maka nilai huruf ='A'
jika nilai ›60 dan ‹= 70 maka nilai huruf ='B'
jika nilai ›50 dan ‹= 60 maka nilai huruf ='C'
jika nilai ›40 dan ‹= 50 maka nilai huruf ='D'
jika nilai ‹= 40 maka nilai huruf ='E'

Case of


guna case hampir sama dengan if, terkadang ada suatu kasus yang lebih mudah menggunakan if then. ada juga suatu kondisi yang lebih mudah menggunakan case of.

sintaks case of apabila variabel nya integer

var
pilihan : integer;
begin

case pilihan of
1 : write('pilihan1');
2 : write('pilihan2');
3 : write('pilihan3');
end;
end.


sintaks case of apabila variabel nya char

var
pilihan : char;
begin

case pilihan of
'a' : write('pilihan1');
'b' : write('pilihan2');
'b' : write('pilihan3');
end;
end.

selain itu anda juga dapat mengunakan case dengan cara seperti ini.

case pilih of
'a'..'g' :write('anda memasukkan huruf diatara a-g');
'h'..'n' :write('anda memasukkan huruf diatara h-n');
else write('anda memasukkan huruf yang lain');
end;

contoh program

Program Menu pilihan



program pascal_aritha;
uses wincrt;

var
menu : integer;

begin
writeln('=====Program Menu Pilihan=====');
writeln(' =====by ArH==== ');

writeln;

writeln('Fakultas-Fakultas di UIN SUSKA');
writeln('1. Sains dan teknologi ');
writeln('2. Tarbiyah ');
writeln('3. Ekonomi ');
writeln;

writeln('Silah kan pilih menu (1-3) ');
read(menu);
case menu of
1: begin
writeln('jurusan pada Sains dan teknologi adalah');
writeln('1. teknik informatika');
writeln('2. teknik industri');
writeln('3. teknik elektro');
writeln('4. Matematika');
writeln('5. Sistem Informasi');
end;

2 : begin
writeln('jurusan pada Fakultas Ekonomi adalah');
writeln('1.eee');
writeln('1.ccc');
end;

end.

3 : begin
writeln('jurusan pada Tarbiyah adalah');
writeln('1.aaa');
writeln('1.bbb');
end;
else writeln('menu tidak ada');
end;
end.

Read more.....

Variabel dan konstanta pada pascal

variabel : untuk menyimpan data yang nilainya bisa diubah2.
const : konstanta yang nilainya tida bisa diubah2..

contoh penggunaan const adalah ketika menghitung luas lingkaran. dimana nilai phi = 3.14 tidak bisa dirubah2.. maka dari itu lebih baik kita menggunakan konstanta.

program pascal_aritha;
uses wincrt;

const phi = 3.14;

var
r : integer;
luas : real;

begin
write ('==============Program Luas Lingkaran===============');
writeln;


write('masukkan jari-jari ');
readln(r);

writeln;

luas:= phi*r*r;
writeln('luas =', luas:0:2);
end.


untuk mendeklarasikan sebuah konstanta dan nilainya. menggunakan perintah const nama_konst = nilainya;
fungsi dari luas:0:2 adalah untuk menampilkan 2 angka ibelakang koma.

kemudian pada variabel luas type datanya tida integer lagi. tapi real. kenapa? karena integer adalah type data untuk bilangan bulat. karena luas merupakan bilangan berkoma (karena mengalikan nya dengan 3.14) maka kita menggunakan type data real untuk bilangan berkoma.

tipe data


integer : bilangan bulat
real : bilangan berkoma
boolean : variabel boolean yang bernilai true atau false
char : kareakter yang berisi 1 karakter misalnya a, b atau z
string : untuk menyimpan kata atau kalimat

kita juga bisa membuat type data yang baru. misalnya kita ingin membuat type data yang bisa menampung nilai bilangan bulat.

type
bulat =integer;

jadi di bagian var nya kita bisa menggunakan tipe data tersebut

bulat p;
seperti itu..

lanjut.

program menghitung rata2 tiga bilangan


program pascal_aritha;
uses wincrt;

const x= 3;

var
a,b,c : integer;
rata : real;

begin
write ('==============Program Rata Rata===============');
writeln;


write('masukkan nilai pertama ');
readln(a);

write('masukkan nilai kedua ');
readln(b);

write('masukkan nilai ketiga ');
readln(c);


rata:= (a+b+c)/x;
writeln('rata-ratanya adalah =', rata:0:2);
end.


Read more.....

Pascal pendahuluan


Pascal merupakan bahasa pemrograman prosedural yang cocok di pelajari untuk pemula yang ingin belajar pemrograman. Mengapa demikian? karena pascal sitaks (aturan penulisan) nya mirip dengan algoritma. sehingga kita bisa dengan mudah mengimplementasikan algoritma kedalam bahasa pascal.

baiklah langsung saja kita mulai mengenal bagaimana menggunakan bahasa pemrograman pascal.
pertama yang kita perlukan adalah software compiler yang bisa menterjemahkan bahasa pascal kedalam perintah2 yang dimengerti oleh komputer. anda dapat mengunakan aplikasi kompiler pascal seperti turbo pascal. anda dapat mendownloadnya disini..

memberi output pada program


untuk menampilkan tulisan "hello world" pada pascal anda dapat menggunakan sintaks berikut.

program pascal_pertamaku;
uses wincrt;
begin
write('hello world');

end.


Penjelasan : pada baris pertama program pascal_pertamaku;
merupakan pemberian nama program yang kita buat. aturan2 dalam memberi nama adalah
1. tidak boleh menggunakan spasi " "
2. kalau mau meisahkan kata pakai udedscore "_"
3. ga boleh menggunakan nama yang merupakan sintaks pada pascal. misalnya write, read, for atau while
4. di akhirnya hari di beri tanda titik koma ";"

untuk menjalankan program heloword diatas, tekan tombol ctrl f9 pada keyboard (jika menggunakan TPW.
maka hasilnya akan seperti ini,


lanjuut..
ada perbedaan antara sintaks write ('haloo'); dan writeln('haloo');

perbedaannya adalah kalo kita menggunakan write saja. maka tulisan dibuat pada baris tsb. tapi kalo writeln setelah tulisan akan dibuat baris baru.
nih contohnya..
program pascal_pertamaku;
uses wincrt;

begin
write ('hello, ');


writeln('setelah tulisan ini baris baru loh');
writeln('haai');
write('dorr');
end.


input dari user


untuk meminta input dari user kita bisa menggunakan perintah read(nama_variabel); atau readln(nama_variabel);

lihat contoh berikut (*upps jangan cuma dilihat.. di cobain doong hehe)

program pascal_pertamaku;
uses wincrt;

var
nama: string;

begin
write ('hello, ');


writeln('siapa namamu?');
readln(nama);

writeln('nama kamu ', nama);
end.


Penjelasan : pada bagian atas ada penambahan sintaks
var
nama : string;

nah ini gunanya adalah untuk menampung nama yang yang dimasukkan user. kemudian menampilkannya pada output dengan menggunakan printah writeln('nama kamu', nama);
anda juga bisa menampilkan nama dengan menggunakan perintah write(nama);
seperti itu. ingat. untuk menampilkan nilai dari suatu variabel. jangan menggunakan tanda petik (') pada write nya..mudah mudahan ga bingung ya

okee.. lanjut lagi.. :)
nih yang terakhir. membuat program menghitung luas persegi panjang. yang meminta user untuk menginputkan panjang dan lebar. lalu program menghasilkan output berupa luas (panjang x lebar)

nih contohnya.
program pascal_pertamaku;
uses wincrt;

var
p : integer;
l : integer;
luas : integer;

begin
write ('==============Program Luas Persegi Panjang===============');
writeln;


writeln('masukkan panjang ');
readln(p);


writeln('masukkan lebar ');
readln(l);
writeln;

luas:= p*l;
writeln('luas =', luas);
end.


untuk memberi nilai pada suatu variabel mengunakan sintaks :=
misalnya luas := p * l;
berarti nilai luas tersebut adalah p dikali l
Read more.....
Related Posts Plugin for WordPress, Blogger...