KATA PENGANTAR
Puja dan Puji Syukur hanya milik Tuhan Yang Maha Esa, yang telah
memberikan kasih sayang-Nya dan meluangkan waktu kepada penulis untuk
menyelesaikan Tugas Mandiri Pemrograman Terstruktur Komputer. Penulis juga ucapkan terima kasih kepada Teman-teman yang
telah membantu dalam penyelesaian tugas ini,
Tugas Mandiri tentang
" Pemrograman
Terstruktur Komputer " ini diajukan untuk
memenuhi salah satu tugas UAS ( Ujian Akhir Semester) .
Penulis sangat menyadari bahwa Tugas Mandiri ini masih jauh dari sempurna. Oleh karena
itu, penulis mengharapkan kritik dan saran baik secara tertulis ataupun secara
lisan, khususnya kepada Dosen mata kuliah Pemrograman Terstruktur Komputer
agar penulis bisa mengembangkan ilmu pengetahuannya.
Batam
, 21 May
2012
Hendrik Sudefri s
Daftar isi
KATA pengantar.............................................................................................. 1
daftar isi............................................................................................................ 2
BAB I
pendahuluan.................................................................................................... 3
I.1 LATAR BELAKANG...................................................................................... 3
I.2 RUANG LINGKUP.................................................................................... 4
I.3
RUMUSAN MASALAH............................................................................. 4
I.4
TUJUAN...................................................................................................... 4
I.5
MANFAAT................................................................................................. 5
BAB II PEMBAHASAN
II.1 ELEMEN – ELEMEN
BAHASA DALAM PASCAL…………………..6
II.2 STRUKTUR PROGRAM
PASCAL……………………………………12
II.3
PENGULANGAN………………………………………………………14
II.4
PROSEDUR DAN FUNGSI ...…………………………………………………..18
BAB III PENUTUP
III.1
KESIMPULAN…………………………………………………………26
DAFTAR PUSTAKA
BAB I
PENDAHULUAN
I.1 LATAR BELAKANG
Bahasa program merupakan suatu wahana untuk menuangkan
pikiran manusia yang dapat dimengerti oleh mesin komputer sehingga bernilai guna. Suatu bahasa program akan
terikat aturan dari paradigma bahasa.
Ada berbagai macam paradigma bahasa :
Prosedural, Fungsional, Deklaratif, Object Oriented, Konkuren.
Perlu diperhatikan perbedaan antara belajar bahasa program dengan belajar
memprogram!!! Belajar bahasa program hanya belajar tentang sintak (aturan) dari
bahasa sedangkan belajar memprogram akan tercakup beberapa hal yang didalamnya
terkandung tentang belajar bahasa program itu sendiri. Yang harus diperhatikan oleh mahasiswa yang
sedang belajar memprogram, yaitu :
Simulasi , sensibilitas terhadap masalah dan kemungkinan solusi.
Kegiatan dilakukan di kelas, melalui permainan. Contoh : Mengurutkan tinggi
badan mahasiswa dari tinggi ke pendek
atau sebaliknya. Permainan dapat dilakukan secara manual maupun dengan
komputer.
Analisis masalah secara lebih formal dan membuat spesifikasi dan
algoritma dalam notasi yang ditetapkan. Mahasiswa harus menuliskan solusi
algoritmiknya dalam notasi standar di kelas. Penulisan notasi algoritmik
bertujuan untuk menyeragamkan pemahaman
tentang algoritma program yang terbebas dari sintak (aturan) penulisan bahasa
program .
Menulis program, yaitu menterjemahkan notasi algoritmik ke dalam sintak
bahasa program.
Debugging dan menguji coba program. Hal ini bertujuan untuk mendapatkan
program yang benar. Program dikatakan benar jika terbebas dari salah lojik
dan sintak bahasa. Secara ideal mahasiswa hanya diberi kesempatan untuk
me-run program sebanyak 2 kali : pertama untuk membersihkan program dari
kesalahan sintak dan kedua untuk mendapatkan program benar. Pada tahap ini
diharapkan tidak terjadi kesalahan lojik jika analisa benar.
Mengamati peristiwa eksekusi, perlu dilakukan untuk meningkatkan
kepercayaan bahwa jika analisa benar
maka sisa pekerjaan menjadi mudah. Pada pemrograman prosedural, aspek ini
penting untuk memahami fenomena eksekusi dan perubahaan nilai suatu struktur
data.
Membaca program : orang akan
dapat menulis dengan baik kalau sering membaca. Hal ini juga berlaku dalam
memprogram. Kegiatan yang dapat dilakukan di kelas adalah dengan saling tukar
menukar teks algoritma, dan saling mengkritik algoritma teman. Mahasiswa harus
berlatih sendiri pada kegiatan belajar bersama.
Membuktikan kebenaran program secara formal , satu-satunya hal yang
menjamin kebenaran, tetapi kontradiktif dan sulit diterapkan dalam kehidupan
sehari-hari. Program yang hanya lima baris pembuktiannya bisa sehalaman,
sehingga seringkali tidak pernah diterapkan dalam aplikasi nyata.
Makalah ini akan membahas tentang algoritma dan pemrograman dalam
Bahasa Pascal.
I.2 RUANG LINGKUP
Pada penulisan makalah ini, Saya membatasi permasalahan, yakni seputar
runtunan, pemilihan (satu kasus, dua kasus, tiga kasus/lebih, case),
pengulangan (for_do, while_do, repeat_until), prosedur, fungsi, dan larik.
I.3 RUMUSAN MASALAH
Apa saja elemen-elemen bahasa dalam Pascal ?
Bagaimana struktur program Pascal ?
Apa yang dimaksud dengan struktur runtunan, pemilihan, pengulangan,
prosedur, fungsi, dan larik ?
Bagaimana algoritma dan program dari struktur tersebut ?
I.4 TUJUAN
Adapun tujuan pembuatan makalah ini adalah :
Untuk melengkapi nilai tugas mata kuliah Algoritma dan Pemrograman 1
Sebagai media untuk berbagi pengetahuan
Untuk mengkaji kembali pengetahuan yang telah saya dapat pada kuliah
Algoritma dan Pemrograman 1
I.5 MANFAAT
Dengan adanya makalah ini diharapkan mahasiswa/i dapat lebih memahami
dan mengerti tentang Algoritma dan dapat Pemrograman.
BAB II
PEMBAHASAN
II.1 ELEMEN – ELEMEN BAHASA DALAM PASCAL
Pascal adalah bahasa pemrograman yang pertama kali di buat
oleh Profesor Niklaus Wirth, seorang anggota International
Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil
nama dari matematikawan Perancis,
Blaise Pascal,
yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat
bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer
kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga
untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat
itu. Sebelum kita membuat sebuah program, maka terlebih dahulu kita harus
mengerti tentang elemen- elemen bahasa (Language elements) Turbo Pascal,
seperti Reserved word, Statement, Type, Constants, Variabel, Tipe data, Label,
Operator, dan lain-lain.
a. Reserved Word
Reserved word adalah kata – kata yang tidak dapat dijadikan menjadi
identifier (pengenal), karena kata – kat tersebut sudah mempunyai arti
tersendiri dalam Turbo Pascal. Adapun kata – kata yang termasuk ke dalam
identifier adalah:
And, asm, array, begin, case, const, constructor, destructor, div, do,
downto, else, end, exports, file, for, function, goto, if, implementation, in,
inherited, inline, interface, label, library, mod, nil, not, object, of,
or,packed, procedure, program, record, repeat, set, shl, shr, string, then, to,
type, unit, until, uses, var, while, with, xor.
b. Statement
Statement adalah salah satu dari berikut ini:
- Assignment (:=)
- Begin..end
- Case..of..else..end
- For..to/downto..do
- Goto
- If..then..else
- Inline(..)
- Procedure call
- Repeat..until
- While..do
- With..do
c. Type
Bentuk umum:
Type
Pengenal = tipe data;
……….
Pengenal = tipe data;
d. Const (Constant)
Constant yang disingkat dengan const adalah nilai konstanta ( nilai
tetap) yang dipasang dalam program.
Bentuk umum:
Const
Pengenal = ekspresi
………
Pengenal = ekspresi
Const
Pengenal: type = nilai;
………..
Pengenal: type = nilai;
e. Var ( Variabel)
Jika constant adalah nilai tetap, maka Variabel adalah nilai yang
isinya dapat berubah – ubah. Dalam program, Variabel disingkat menjadi Var.
Bentuk umum:
Var
Pengenal, … pengenal : Tipe data;
……
Pengenal,… pengenal: Tipe data;
f. Tipe Data
Tipe atau jenis data dalam Turbo Pascal dibagi kedalam 6 kelompok
besar, antara lain:
1. Tipe simple:
Tipe ordinal : dibagi kedalam 5 tipe:
Tipe
|
Range
|
Size
|
Shortint
|
128..127
|
8-bit
|
Integer
|
-32768..32767
|
16-bit
|
Longint
|
-2147483648..2147483647
|
32-bit
|
Byte
|
0.255
|
8-bit
|
Word
|
0.65535
|
16-bit
|
Tipe integer : dibagi kedal 5 bagian yaitu:
Tipe
|
Range
|
Format
|
Shortint
|
-128..127
|
8-bit bertanda
|
Integer
|
-32768..32767
|
16-bit bertanda
|
Longint
|
-2147483648..2147483647
|
32-bit bertanda
|
Byte
|
0.255
|
8-bit tak bertanda
|
Word
|
0.65535
|
16-bit tak bertanda
|
Catatan : Semua tipe integer adalah tipe ordinal.
Tipe real : dibagi kedalm 5 bagian yaitu:
Tipe
|
Range
|
Digit
|
Byte
|
Real
|
2.9e-39..1.7e38
|
11 - 12
|
6
|
Single
|
1.5e-45..3.4e38
|
7 - 8
|
4
|
Double
|
5.0e-324..1.7e308
|
15 - 16
|
8
|
Extended
|
3.4e4932..1.1e4932
|
19 - 20
|
10
|
comp
|
-9.2e18..9.2e18
|
19 - 20
|
8
|
Turbo Pascal juga menyediakan 2 model floating-point:
- Software floating
point,{$N-}
- 80×87 floating point,
{$N+}
Tipe char
Char adalah semua tombol yang terdapat pada keyboard, atau lebih
lengkapnya semua karakter yang
terdapat pada kode ASCII.
Apabila tipe char dijadikan konstanta, maka karakter yang dimasukkan
harus diapit oleh tanda kutip satu. Dan
apabila karakter tersebut berupa tanda kutip satu, maka harus diapit oleh dua
tanda kutip satu.
Tipe Boolean
Ada empat yang termasuk kedalam tipe Boolean :Boolean, wordbool,
longbool, bytebool. Keempat tipe Boolean tersebut adalah tipe untuk
kompatibilitas dengan Windows.
Tipe enumerated
Bentuk umum:
Type
Nama = (pengenal,
Pengenal,…,
Pengenal );
Tipe subrange
Bentuk umum:
Constant1 .. constant2
2. Tipe String
String adalah kumpulan dari beberapa karakter dan panjangnya tidak
boleh melebihi 255 karakter. Jika string mengandung tanda kutip satu, maka
tanda kutip tersebut harus diberi tanda kutip lagi.
Bentuk umum:
String [ constant ]
Atau
String
Ciri – ciri
Apabila panjang string tidak ditentukan maka panjangnya dianggap255
karakter. Oleh karena itu, untuk menghemat memori, biasakanlah selalu
menentukan panjang string yang akan dibuat.
3. Tipe Structured
Tipe structured adalah tipe yang terdiri lebih dari satu nilai. Sedangkan tipe structured terdiri dari 5 tipe :
Tipe array
Bentuk umum:
Array [Indeks] of Tipe Data
Tipe file
Bentuk umum:
File of type
Atau
File
Tipe object
Tipe object adalah data berstruktur yang berisi komponen bilangan
fixed.
Bentuk umum:
Object
Field;
Field;
……..
Method;
Method;
End;
Tipe record
Bentuk umum:
Record
Field;
Field;
…….
End;
Tipe set
Bentuk umum:
Set of Tipe Data
4. Tipe Pointer
Tipe pointer adalah tipe yang berisi alamat memori, dan berlambang ^.
Anda dapat menunjuk sebuah nilai kedalam variable pointer dengan:
- Procedure New atau
GetMem
- Operator @
- Fungsi Ptr
5. Tipe Procedural
Procedure dan Function adalah bagian Turbo Pascal dalam mebuat sebuah
program. Melalui tipe Procedural, maka anda dapat memperlakukan Procedure dan
Function sebagai object sehingga dapat dimasukkan kedalam sebuah variable dan
parameter. Hasil function haruslah berupa string, real, integer, char, Boolean,
atau pointer.
g. Label
Label adalah suatu deklarasi untuk membuat percabangan dalam proram.
Label bisa berupa huruf, misalnya: AWAL, AKHIR, atau angka antara 0 and 999.
Dan untuk menuju kelabel yang telah dideklarasikan harus menggunakan instruksi
GOTO.
Bentuk umum:
Label pengenal,….. pengenal;
h. Operator
Operator adalah lambing- lambing untuk melakukan perkalian, penjumlahan
dan lain- lain seperti dalam kalkulator. Tetapi operator dalam computer lebih
kompleks dibandingkan kalkulator. Jenis-jenis operator:
Operator penghubung ( relational operators )
Operator arithmatik ( arithmetic operators )
Operator logika ( logical operators )
Operator pembanding ( Boolean operators )
Operator string ( string operators )
Operator set ( set operators )
Operator @ ( @ operators )
|
II.2 STRUKTUR PROGRAM PASCAL
Struktur dasar dalam pemrograman pascal :
Elemen-elemen dalam program harus sesuai dengan urutannya, beberapa
elemen bisa dihilangkan bila tidak diperlukan. Seperti contoh dibawah, program
yang ada merupakan program yang benar, tapi tidak melakukan apapun.
Komentar dapat disertakan dalam penulisan kode. Komentar tidak akan
disertakan dalam kompilasi (compile) atau saat program dijalankan (execute).
Penanda komentar adalah (* dan diakhiri dengan *). atau dapat pula dengan tanda
{ dengan akhiran }. Pemakaian komentar dalam bahasa pascal tidak boleh salah,
karena akan menimbulkan masalah. Penulisan komentar yang salah seperti :
{ { disini komentar } }
Pada saat code dicompile, akan memberikan pesan kesalahan karena
compiler akan melihat tanda { yang pertama dan tanda } yang pertama pula,
sehingga tanda } yang kedua akan dianggap kesalahan. Berikut beberapa contoh
penulisan komentar yang benar :
{ { disini komentar }
{ disini komentar } writeln(’test komentar’); { komentar lagi }
(* disini komentar *)
Pemberian komentar akan mempermudah dalam memahami suatu kode program
(source code). Bila kita menulis program tanpa memberikan komentar, saat kita
membuka kembali kode yang kita tulis dalam jangka waktu berselang lama. Akan
mempersulit kita memahami program yang kita buat sebelumnya (bila program
sangat rumit).
II.3 PENGULANGAN
Struktur pengulangan secara umum terdiri atas dua bagian :
kondisi pengulangan, yaitu ekspresi Boolean yang harus dipenuhi untuk
melaksanakan pengulangan. Kondisi ini ada yang dinyatakan secara eksplisit oleh
pemrogram atau dikelola sendiri oleh komputer (implisit);
badan (body) pengulangan, yaitu bagian algoritma yang diulang.
Disamping itu, struktur pengulangan biasanya disertai dengan bagian :
inisialisasi, yaitu aksi yang dilakukan sebelum pengulangan dilakukan
pertama kali
terminasi, yaitu aksi yang dilakukan setelah pengulangan selesai
dilaksanakan
Inisialisasi dan
terminasi tidak selalu harus ada, namun pada berbagai kasus inisialisasi
umumnya diperlukan.
Struktur pengulangan secara umum :
yang dalam hal ini awal dan akhir pengulangan dinyatakan sebagai kata
kunci yang bergantung pada struktur pengulangan yang digunakan. Selain itu,
<inisialisasi> dan <terminasi> adalah bagian yang opsional.
Di dalam algoritma terdapat beberapa macam struktur pengulangan yang
berbeda. Beberapa struktur dapat dipakai untuk masalah yang sama, namun ada
notasi pengulangan yang hanya cocok dipakai untuk masalah tertentu. Pemilihan
struktur pengulangan untuk masalah tertentu dapat mempengaruhi kebenaran
algoritma. Pemilihan struktur pengulangan yang tepat bergantung pada masalah
yang akan deprogram. Tiga (3) macam notasi struktur pengulangan, yaitu :
struktur FOR
struktur WHILE
struktur REPEAT
Struktur FOR
Struktur pengulangan FOR digunakan untuk menghasilkan pengulangan
sejumlah kali yang dispesifikasikan. Jumlah pengulangan diketahui atau dapat
ditentukan sebelum eksekusi. Untuk mencacah sudah berapa kali pengulangan
dilakukan, kita memerlukan sebuah peubah (variable) pencacah (counter). Peubah
ini nilainya selalu bertambah satu setiap kali pengulangan dilakukan. Jika
cacah pengulangan sudah mencapai jumlah yang dispesifikasikan, maka proses
pengulangan berhenti
Bentuk umum struktur FOR ada dua macam : menaik (ascending) atau
menurun (descending).
FOR menaik :
Keterangan :
pencacah haruslah dari tipe data yang memiliki predecessor dan
successor, yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai
pencacah.
Aksi adalah satu atau lebih instruksi yang diulang.
nilai_awal harus lebih kecil atau sama dengan nilai_akhir. Jika
nilai_awal lebih besar dari nilai_akhir, maka badan pengulangan tidak dimasuki.
Pada awalnya,pencacah diinisialisasi dengan nilai_awal.Nilai pencacah
secara otomatis bertambah satu setiap kali pengulangan dimasuki, sampai
akhirnya nilai pencacah sama dengan nilai_akhir.
Jumlah pengulangan yang tejadi adalah nilai_akhir - nilai_awal + 1.
Contoh analisis :
Buatlah algoritma dan program mencetak angka 1, 2, .., N, yang dalam
hal ini nilai N dibaca terlebih dahulu dari piranti masukan.
Jadi, program CETAK_N_ANGKA dalam bahasa pascal adalah sebagai berikut
:
Pertanyaan :
Apa yang terjadi bila N=0? N=-1? N=1?
Jawab :
Jika N = 0 atau N = -1, proses pengulangan tidak terjadi, karena nilai
akhir pencacah pengulangan lebih besar dari nilai awalnya (1).
Jika N = 1, pengulangan yang terjadi adalah 1 kali, karena 1 – 1 + 1 =
1.
For menurun :
Keterangan :
Pencacah haruslah dari tipe data yang memiliki predecessor dan
successor, yaitu integer atau karakter. Tipe riil tidak dapat digunakan sebagai
pencacah.
Aksi adalah satu atau lebih instruksi yang diulang.
nilai_akhir harus lebih besar atau sama dengan nilai_awal. Jika
nilai_akhir lebih kecil dari nilai_awal, maka badan pengulangan tidak dimasuki.
Pada awalnya, pencacah diinisialisasi dengan nilai_akhir. Nilai
pencacah secara otomatis berkurang satu setiap kali aksi diulang, sampai
akhirnya nilai pencacah sama dengan nilai_awal.
Jumlah pengulangan yang terjadi adalah nilai_awal-nilai_akhir+1.
Contoh analisis :
Algorima dan program peluncuran roket dengan hitung mundur, mulai dari
10, 9, 8, …, 0.
Struktur WHILE
Bentuk umum :
Aksi (atau runtunan aksi) akan dilaksanakanberulangkali selama kondisi
benilai true. Jika kondisi bernilai false, badan pengulangan tidak akan
dilaksanakan, yang berarti pengulangan selesai.
Yang harus diperhatikan adalah pengulangan harus berhenti. Pengulangan
yang tidak pernah berhenti menandakan bahwa logika algoritma tersebut salah.
Pengulangan berhenti apabila kondisi bernilai false. Agar kondisi suatu saat
bernilai false, maka di dalam badan pengulangan harus ada instruksi yang
mengubah nilai peubah kondisi.
II.4 PROSEDUR DAN FUNGSI
Sebuah program yang baik adalah program yang membagi permasalahan utama
menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh sebuah
subprogram, cara ini disebut dengan modular programming (pemrograman
terbagi/terpecah). Cara ini termasuk pemrograman terstruktur dan sangat didukung
oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan dua jenis subprogram, yaitu
procedure dan function (prosedur dan fungsi).
Dengan modular programming, program lebih mudah dibaca dan dimengerti.
Selain itu, pembenahan program dan penelusuran jalannya program (debugging)
menjadi lebih mudah sebab dapat langsung diketahui subprogram mana yang berjalan
tidak sesuai dengan yang diharapkan.
Sebuah program yang baik adalah program yang membagi permasalahan utama
menjadi bagian-bagian kecil dimana setiap bagian kecil ditangani oleh sebuah
subprogram, cara ini disebut dengan modular programming (pemrograman
terbagi/terpecah). Cara ini termasuk pemrograman terstruktur dan sangat didukung
oleh bahasa Pascal. Untuk itu, Pascal telah menyediakan dua jenis subprogram, yaitu
procedure dan function (prosedur dan fungsi).
Dengan modular programming, program lebih mudah dibaca dan dimengerti.
Selain itu, pembenahan program dan penelusuran jalannya program (debugging)
menjadi lebih mudah sebab dapat langsung diketahui subprogram mana yang berjalan
tidak sesuai dengan yang diharapkan.
P r o s e d u r
Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai
keluaran secara langsung.
Prosedur adalah subprogram yang menerima masukan tetapi tidak mempunyai
keluaran secara langsung.
Pada dasarnya, struktur prosedur sama dengan struktur algoritma yang
sudah anda kenal. Setiap prosedur mempunyai nama yang unik. Nama prosedur
sebaiknya diawali dengan kata kerja karena prosedur berisi suatu aktivitas.
Notasi algoritma yang digunakan untuk mendefinisikan struktur prosedur
(tanpa parameter) adalah :
Cara
mendeklarasikan sebuah prosedur adalah sebagai
berikut :
berikut :
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 :
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 :
Pada deklarasi prosedur di atas, parameter X adalah parameter nilai
sedang parameter
Y adalah parameter referensi. Jadi, pendeklarasian parameter referensi didahului oleh
reserved word var. Parameter referensi ini nantinya dapat dijadikan sebagai variabel
keluaran dari prosedur.
Y adalah parameter referensi. Jadi, pendeklarasian parameter referensi didahului oleh
reserved word var. Parameter referensi ini nantinya dapat dijadikan sebagai variabel
keluaran dari prosedur.
Untuk lebih memahami penggunaan prosedur dalam Pascal, perhatikan
contoh
program di bawah ini :
program Prosedur;
uses wincrt;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
procedure Kali(A,B : integer);
var
I : integer;
begin
Hasil := 0;
for I := 1 to B do Hasil := Hasil + A;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Kali(Bil_1, Bil_2);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.
program di bawah ini :
program Prosedur;
uses wincrt;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
procedure Kali(A,B : integer);
var
I : integer;
begin
Hasil := 0;
for I := 1 to B do Hasil := Hasil + A;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Kali(Bil_1, Bil_2);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan
program di atas. Dua prosedur terakhir memiliki kemiripan, bedanya hanya
pada jumlah parameter dan variabel hasil perkaliannya. Untuk lebih jelas, jalankan program dan perhatikan apa yang dilakukan oleh dua prosedur tersebut maka akan nampak perbedaan keduanya.
2. F u n g s i
Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung. Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :
pada jumlah parameter dan variabel hasil perkaliannya. Untuk lebih jelas, jalankan program dan perhatikan apa yang dilakukan oleh dua prosedur tersebut maka akan nampak perbedaan keduanya.
2. F u n g s i
Fungsi adalah subprogram yang menerima masukan dan mempunyai keluaran secara langsung. Cara mendeklarasikan sebuah fungsi adalah sebagai berikut :
Sebagaimana dalam prosedur, fungsi juga dapat diberikan parameter. Cara
mendeklarasikan fungsi dengan parameter juga tidak jauh berbeda dengan
pendeklarasian parameter pada prosedur.
mendeklarasikan fungsi dengan parameter juga tidak jauh berbeda dengan
pendeklarasian parameter pada prosedur.
Perbedaan utama antara prosedur dan fungsi adalah dalam menghasilkan
keluaran.
Walaupun prosedur bisa menghasilkan nilai keluaran, tetapi nilai tersebut tidak dapat
diambil secara langsung, melainkan harus diambil melalui parameter referensi.
Sedangkan keluaran dari fungsi dapat diambil langsung dari fungsi tersebut.
Walaupun prosedur bisa menghasilkan nilai keluaran, tetapi nilai tersebut tidak dapat
diambil secara langsung, melainkan harus diambil melalui parameter referensi.
Sedangkan keluaran dari fungsi dapat diambil langsung dari fungsi tersebut.
Untuk lebih memahami perbedaan prosedur dan fungsi, perhatikan contoh
berikut ini :
program Fungsi;
uses wincrt;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
function Kali(A,B : integer) : integer;
var
I,J : integer;
begin
J := 0;
for I := 1 to B do J := J + A;
Kali := J;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kali(Bil_1,Bil_2):5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.
program Fungsi;
uses wincrt;
var
Bil_1, Bil_2, Hasil : integer;
procedure Awal;
begin
Writeln('Latihan Pascal 2 : Prosedur dan Fungsi');
Writeln('--------------------------------------');
Writeln;
Writeln('Nama : ____________________');
Writeln('NIM : __________');
Writeln;
end;
procedure Baca_Data;
begin
Write('Masukkan bilangan pertama : ');
Readln(Bil_1);
Write('Masukkan bilangan kedua : ');
Readln(Bil_2);
Writeln;
end;
function Kali(A,B : integer) : integer;
var
I,J : integer;
begin
J := 0;
for I := 1 to B do J := J + A;
Kali := J;
end;
procedure Kalikan(A,B : integer; var C : integer);
var
I : integer;
begin
C := 0;
for I := 1 to B do C := C + A;
end;
begin
ClrScr;
Awal;
Baca_Data;
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kali(Bil_1,Bil_2):5);
Kalikan(Bil_1, Bil_2, Hasil);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Hasil:5);
Writeln;
Write('Tekan Enter...');
Readln;
end.
Perhatikan program di atas. Prosedur Kalikan dan fungsi Kali mempunyai
keluaran yang sama, tetapi cara mengambil keluarannya berbeda. Perhatikan dan
jelaskan apa yang terjadi jika baris keempat dalam program utama yang semula
perintah :
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kali(Bil_1,Bil_2):5);
diubah menjadi :
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kalikan(Bil_1,Bil_2,Hasil):5);
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kali(Bil_1,Bil_2):5);
diubah menjadi :
Writeln(Bil_1:3,' x ',Bil_2:3,' = ',Kalikan(Bil_1,Bil_2,Hasil):5);
BAB III
PENUTUP
III.1 KESIMPULAN
Pascal adalah bahasa pemrograman yang pertama kali di buat
oleh Profesor Niklaus Wirth, seorang anggota International
Federation of Information Processing (IFIP) pada tahun 1971. Dengan mengambil nama
dari matematikawan
Perancis,
Blaise Pascal,
yang pertama kali menciptakan mesin penghitung, Profesor Niklaus Wirth membuat
bahasa Pascal ini sebagai alat bantu untuk mengajarkan konsep pemrograman komputer
kepada mahasiswanya. Selain itu, Profesor Niklaus Wirth membuat Pascal juga
untuk melengkapi kekurangan-kekurangan bahasa pemrograman yang ada pada saat
itu.
Bahasa Pascal adalah bahasa pemrograman tingkat tinggi (high level
language) yang cukup populer, khususnya di Indonesia. Hal ini disebabkan bahasa
Pascal lebih mudah dipahami dibanding bahasa pemrograman lainnya, seperti
bahasa C, bahasa assembler, dan lain sebagainya. Selain itu, bahasa Pascal
adalah bahasa pemrograman yang terstruktur dan lebih mendekati bahasa manusia
(bahasa Inggris) sehingga sangat cocok diterapkan dalam dunia pendidikan. Dalam
latihan ini, digunakan compiler FreePascal (www.freepascal.org) yang bersifat
open source dan tersedia di banyak operating system (DOS, Windows, Linux,
Macintosh, FreeBSD, dan lain sebagainya).
DAFTAR PUSTAKA
No comments:
Post a Comment