LAPORAN
RESMI
PRAKTIKUM ALGORITMA PEMROGRAMAN (ALPRO)
MODUL IV
“PROSEDUR DAN FUNGSI”
Disusun
Oleh :
|
Disetujui : ....../……./………../Bangkalan
|
(ANDI HARTONO)
10.04.111.00020
|
LABORATORIUM COMMON COMPUTING
JURUSAN TEKNIK
INFORMATIKA
FAKULTAS
TEKNIK
UNIVERSITAS
TRUNOJOYO MADURA
2012 / 2013
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Dalam dunia pascal penggunaan
koding yang terlalu panjang untuk sebuah program memang sering terjadi.
Terkadang sebuah program menggunakan banyak rumus yang dirasa cukup
membingungkan. Oleh sebab itu muncul prosedur dan fungsi yang berfungsi
membantu menyederhanakan koding yang terlalu panjang dengan cara memanggil nama
prosedur/fungsi yang telah dituliskan.
1.2 TUJUAN
Tujuan mahasiswa mengikuti praktikum Algortima
Pemrograman Modul 2 ini adalah :
1. Praktikan dapat mengerti dan memahami tentang prosedur dan fungsi.
2. Praktikan dapat membedakan pengunaan prosedur dan fungsi.
3. Praktikan dapat membuat suatu program
menggunakan prosedur dan
fungsi.
BAB
II
DASAR
TEORI
2.1 TEORI SINGKAT
Seringkali dalam pembuatan program yang berukuran
besar, program tersebut dapat dipecah menjadi beberapa subprogram/modul yang
lebih kecil. Tiap modul dapat dipasangkan ke program lain yang membutuhkannya.
Jenis modul program ada dua macam, yaitu Prosedur dan Fungsi.
a. Prosedur
Prosedur adalah modul program yang mengerjakan
aktivitas yang spesifik dan hasilnya diperoleh dengan membandingkan keadaan
awal dan keadaan akhir pada pelaksanaan sebuah prosedur. Sehingga pada setiap
prosedur keadaan awal harus didefinisikan sebelum rangkaian instruksi di
dalam prosedur dilaksanakan dan keadaan akhir yang diharapkan setelah
rangkaian instruksi dilaksanakan.
Struktur prosedur terdiri dari tiga bagian (Gambar
4.1), yaitu:
· Judul
· Deklarasi
· Deskripsi/Badan
Prosedur
Cara memanggil prosedur: NAMA_PROSEDUR;
Ketika NAMA_PROSEDUR dipanggil,
kendali program berpindah secara otomatis ke prosedur tersebut. Instruksi di
dalam badan prosedur dilaksanakan. Setelah semua instruksi selesai
dilaksanakan, kendali program berpindah secara otomatis ke instruksi sesudah pemanggilan
prosedur.
Kebanyakan
program memerlukan pertukaran informasi antara prosedur (atau fungsi) dan titik
dimana ia dipanggil. Penggunaan parameter menawarkan mekanisme penukaran
informasi tersebut. Tiap item data ditransfer antara parameter aktual dan
parameter formal yang bersesuaian. Parameter aktual adalah parameter yang
disertakan ketika pemanggilan, sedangkan paramater formal adalah parameter yang
dideklarasikan di bagian header prosedur itu sendiri. Ketika prosedur
dipanggil, parameter aktual menggantikan parameter formal.
Berdasarkan maksud penggunaannya, terdapat tiga jenis
parameter formal yang disertakan di dalam prosedur, yaitu:
·
Prosedur
dengan Parameter Masukan
Parameter masukan adalah parameter yang nilainya
berlaku sebagai masukan untuk prosedur. Pada parameter masukan, nilai parameter
aktual diisikan ke dalam parameter formal yang bersesuaian. Nilai ini digunakan
di dalam badan prosedur yang bersangkutan. Nilai yang dinyatakan oleh parameter
masukan tidak dapat dikirim dalam arah sebaliknya. Itulah alasan mengapa
parameter jenis ini diacu sebagai parameter masukan. Perubahan nilai parameter
di dalam badan prosedur tidak mengubah nilai parameter aktual. Karena yang
dipentingkan adalah nilainya, maka nama parameter aktual boleh berbeda dengan nama parameter formal yang
bersesuaian.
Struktur Bahasa Pascal untuk prosedur dengan parameter
masukan ditunjukkan oleh Gambar 4.2.
Gambar 4.2. Struktur
Bahasa Pascal Untuk Prosedur Dengan Parameter Masukan.
Cara
memanggil prosedur: NAMA_PROSEDUR(parameter_aktual);
· Prosedur
dengan Parameter Masukan/Keluaran
Parameter
masukan/keluaran adalah parameter yang berfungsi sebagai masukan sekaligus
keluaran bagi prosedur tersebut. Bila prosedur yang mengandung parameter
keluaran dipanggil, nama parameter aktual di dalam program pemanggil
menggantikan nama parameter formal yang bersesuaian di dalam prosedur. Jadi,
nama parameter aktual akan digunakan selama pelaksanaan prosedur. Akibat
penggunaan parameter masukan/keluaran, bila parameter actual diubah nilainya di
dalam badan prosedur, maka sesudah pemanggilan prosedur nilai parameter aktual
di titik pemanggilan juga berubah. Ini berbeda dengan parameter masukan, yang
dalam hal ini meskipun nilai parameter aktual di dalam badan prosedur diubah,
nilai parameter aktual tersebut tidak berubah di titik pemanggilan.
Struktur
Bahasa Pascal untuk prosedur dengan parameter masukan/keluaran ditunjukkan oleh
Gambar 4.3.
Gambar 4.3. Struktur
Bahasa Pascal Untuk Prosedur Dengan Parameter Masukan/Keluaran
Cara
memanggil prosedur: NAMA_PROSEDUR(parameter_aktual);
b.
Fungsi
Fungsi
juga merupakan modul program yang mempunyai tujuan spesifik. Fungsi
memberikan/mengembalikan (return) sebuah nilai dan tipe tertentu (tipe dasar
atau tipe bentukan). Fungsi diakses dengan memanggil namanya. Selain itu,
fungsi juga dapat mengandung daftar parameter formal. Parameter pada fungsi
selalu merupakan parameter masukan. Jenis parameter masukan pada fungsi
disebabkan oleh kenyataan bahwa parameter pada fungsi merupakan masukan yang
digunakan oleh fungsi tersebut untuk menghasilkan nilai.
Struktur Bahasa Pascal
untuk fungsi ditunjukkan oleh Gambar 4.4.
Gambar 4.4. Struktur
Bahasa Pascal Untuk Fungsi
c. Variabel Global dan
Lokal
Variabel-variabel
yang dideklarasikan di dalam bagian Deklarasi Prosedur ataupun Fungsi bersifat
“lokal” dan hanya dapat digunakan di dalam Prosedur/Fungsi yang melingkupinya
saja. Sedangkan variabel-variabel yang dideklarasikan di dalam program utama
bersifat “global” dan dapat digunakan di bagian manapun di dalam program, baik
di dalam program utama maupun di dalam Prosedur/Fungsi.
BAB III
TUGAS PENDAHULUAN
Kerjakan
tugas-tugas di bawah ini sebelum praktikum dimulai.
1.
Prosedur dan Fungsi merupakan
pemrograman modular. Apakah perbedaan antara keduanya? Kapankah suatu fungsi
dibuat dan digunakan? Dan kapankah
suatu prosedur digunakan? Bisakah
suatu kasus diselesaikan
menggunakan prosedur dan fungsi?
Sertai alasannya
2.
Sebuah truk bergerak dari Kota
Bangkalan Menuju kedalaman
Pulau Madura. Pada Km
pertama ia menghabiskan
10lt bahanbakar. Pada Km
ke 2 ia menghabiskan 8lt
bahan bakar(atau 80%
dibanding Km pertama).
Demikian seterusnya setiap Km sebelumnya. Susun algoritma untuk
menghitung dan menampilkan total bahan bakar yang dihabiskan setelah mencapai
100km Batas nilai yang bisa dimasukkan
melalui piranti masukan dengan menggunakan Prosedur!
Contoh:
Masukkan batas nilai: 100
Bahan Bakar yang telah dihadiskan (lt) ....
3.
Buatlah algoritma
untuk menghitung rumus-rumus
persamaaan kuadrat (ax2+bx+c=0) berikut ini:
- Rumus diskriminan
- Rumus mencari akar-akar
persamaan
Setiap rumus dijadikan sebuah fungsi tersendiri dengan
parameter-parameter yang dimasukkan dari luar fungsi.
Contoh:
Masukkan nilai a : 1
Masukkan nilai b : 4
Masukkan nilai c : 3
Hasil diskriminan (D) : 2
Nilai X1 : -1
Nilai X2 : -3
4.
PLN
menerapkan pembayaran listrik perumahan dengan cara perhitungan sebagai berikut
: - Untuk golongan 1 tarif : Rp 1000/kWh
-
Untuk golongan 2 tarif : Rp
2000/kWh
Dengan syarat penghitungan:Minimum pembayaran
adalah 100 kWh
sedangkan untuk pemakaian 1000kWh
dan seterusnya tarifnya ditambah 10% dari total pembayaran.
Tampilan
Golongan Pemakaian Pembayaran
1 50 kwh 100.000
2 150kwh
200.000
1 1000kwh 1.100.000
Jawaban :
1. a.
Perbedaan antara prosedur dan fungsi
· fungsi
harus di deklarasikan dengan tipenya, sedangkan prosedur tidak. Hal ini
menunjukkan bahwa pada fungsi itu sendiri dapat menampung nilai, sedangkan
prosedur tidak.
b.
kapan kita harus menggunakan prosedur dan fungsi
· Fungsi lebih tepat
digunakan apabila modul program mengembalikan sebuah nilai, sementara prosedur digunakan bila modul menghasilkan efek netto dari (satu atau)
sekumpulan aksi.
c. suatu kasus dapat diselesaikan dengan menggunakan prosedur dan
fungsi dalam sekaligus karena fungsi dapat
dikonversikan sebagai prosedur dengan menyatakan nilai yang dikembalikan oleh
fungsi tersebut sebagai parameter keluaran prosedur. Demikian juga, prosedur
yang mempunyai satu buah parameter keluaran dapat ditulis sebagai fungsi dengan
menyatakan parameter keluaran sebagai nilai yang dikembalikan oleh fungsi
2.
Algoritma
bahan bakar
DEKLARASI
program uji_coba_bahan_bakar {nama
program yang akan dijalankan}
uses
wincrt;
var n:integer; j:real; {variabel global}
procedure
hitung (n:integer; var j:real) {nama prosedur beserta parameternya}
var i:integer; a:real; {variabel
lokal}
DESKRIPSI
a:=10;
for i:= 1 to n do
begin
j:=j+a;
a:=a*0.8;
end;
end;
write ('masukkan nilai n:'); read (n);
{inputan}
hitung (n,j); {memanggil prosedur}
write (j:2:2); {hasil akhir}
end.
3.
Algoritma persamaan
kuadrat
Algoritma
Hitung_persamaan_kuadrat
{User memasukkan nilai a,b, dan c
dari persamaan kuadrat(ax2+bx+c=0) melalui piranti masukan dan
menghasilkan nilai D, X1 dan X2}
DESKRIPSI :
1.
Menentukan fungsi rumus_D,
yaitu :
deskriminan = sqrt ( (b*b) – (4*a*c))
{Fungsi ini akan mempunyai
nilai balik pada variabel D.}
2. Membuat
fungsi untuk menentukan nilai_X1 yaitu :
X1 = (-b +
deskriminan)/(2*a)
{Fungsi ini akan mempunyai
nilai balik pada variabel X1.}
3. Membuat fungsi untuk menentukan nilai_X2 yaitu :
X2 = (-b –
deskriminan)/(2*a)
{Fungsi ini akan mempunyai
nilai balik pada variabel X2.}
4. Membaca nilai dari user untuk variabel a, b, dan c.
5. Untuk hasil diskriminan, memanggil fungsi rumus deskriminan
6. Untuk nilai X1 dan X2 memanggil fungsi
nilai_X1 dan nilai_X2.
7. Selesai
4.
Algoritma
pembayaran listrik pln
DEKLARASI
Program
pembayaran_pln {judul program}
uses wincrt;
var a,b:real;
{variabel global}
c :integer; {variabel global}
procedure HitungPembayaran(a:real;
var b:real) {nama prosedur dan parameter}
DESKRIPSI
var tarif:integer;
begin
if c=1 then
tarif:=1000
else
if c=2 then
tarif:=2000;
if a <= 100 then
a:=100;
b :=tarif*a;
if a >=1000 then
b:=b+(0.1*b);
end;
begin
write('Masukan
Golongan : ') {inputan jenis golongan}
readln(c);
write('Masukan
Pemakaian : ') {inputan besar pemakaian listrik}
read(a);
writeln;
HitungPembayaran(a,b)
{proses perhitungan total pembayaran}
writeln('Golongan Pemakaian
Pembayaran')
write (c,a:13:0,'
Kwh', b:13:0) {hasil akhir}
end.
BAB IV
IMPLEMENTASI
4.1. KEGIATAN
PRAKTIKUM
Pada saat praktikum, kerjakan tugas-tugas berikut ini:
1. Buat program untuk tugas prepraktikum2!
2. Buat program untuk tugas prepraktikum 3!
3. Buat program untuk tugas prepraktikum 4!
Jawaban :
1. Program menghitung Bahan Bakar.
program uji_coba_bahan_bakar;
uses wincrt;
var n:integer;
j:real;
procedure hitung (n:integer; var j:real);
var i:integer;
a:real;
begin
a:=10;
for i:= 1 to n do
begin
j:=j+a;
a:=a*0.8;
end;
end;
begin
write
('masukkan jarak:'); read (n);
hitung (n,j);
write (‘bahan baar yang dikeluarkan : ‘,j:2:2);
end.
|
Running
program
2.
Program
persamaan kuadrat.
Running
program
3.
Program
hitung pembayaran listrik pln.
Running program
4.2. TUGAS AKHIR
Buatlah algoritma dan
terjemahkan dalam Bahasa Pascal untuk menghitung bilangan fibonaci dengan menggunakan
teknik rekursif dan non-rekursif!
Contoh:
Masukkan fibonaci deret bilangan fibbonaci 1, 1,
2, 3, 5, 8, 13, ...
Masukan suku pertama : 1
Masukan batas suku: 6
Deret Keluaran: 1, 1, 2, 3, 5, 8
Jawaban:
Algoritma Program Bentuk menghitung bilangan
fibonaci :
JUDUL Program angka_fibonanci
DEKLARASI
a,n,i,j : integer
procedure fibonanci
DEKLARASI PROSEDUR
DESKRIPSI PROSEDUR
write(‘deret keluaran:’)
j ß 0
for i:=1 to n do
j ß j+a
a ß j-a
write(j)
endfor
DESKRIPSI
write('Masukan suku pertama: ')
read(a)
write('Masukan batas suku :
')
read(n)
fibonanci
koding program menghitung bilangan
fibonaci :
Running
program
BAB V
PENUTUP
5.1 KESIMPULAN
Dari
kegiatan praktikum diatas dapat disimpulkan bahwa modul dibagi menjadi dua,
yaitu prosedur dan fungsi. prosedur
berguna untuk mengumpulkan statemen-statemen yang dapat dijalankan menjadi satu
dalam suatu program dan untuk menjalankanya kembali hanya dengan menuliskan
nama prosedur yang menampungnya, sedangkan fungsi tidak hanya dapat dipakai
untuk mengelompokkan baris-baris perintah seperti halnya prosedur, tetapi fungsi dapat menampung nilai yang disimpan pada nama
fungsi. Fungsi lebih tepat digunakan apabila modul program mengembalikan sebuah
nilai, sementara prosedur digunakan bila modul menghasilkan
efek netto dari (satu atau) sekumpulan aksi.
5.2 SARAN
1. Sebaiknya asisten pratikum dapat menjalankan
peraturan yang telah ditentukan.
2. Untuk
kegiatan praktikum sebaiknya lebih memperhatikan waktu kapan praktikum harus
dimulai (tepat waktu).
No comments:
Post a Comment