Anda di halaman 1dari 12

Nama : Fadwa Syahida (4181111012)

Nur Halimahrahma Suci Marpaung


(4181111036)
Septina Simanihuruk (4182111019)
Kelas : Dik A Matematika 2018
Dosen Pengampu : Denny Haris, S.Si., M.Pd
Mata Kuliah : Struktur Data dan Algoritma

PENUGASAN : PROSEDUR DAN FUNGSI


1. PROSEDUR

Menurut artikel yang ditulis oleh Taryana Suryana prosedur adalah suatu program terpisah dalam
blok sendiri yang berfungsi sebagai subprogram (program bagian), Prosedur biasanya bersifat
suatu aktivitas seperti menghitung factorial sebuah bilangan, mencari bilangan genap dari
sekumpulan bilangan, dsb. Menurut buku ‘Algoritma Pemograman’ yang ditulis oleh Suarga,
prosedur adalah bagian dari suatu pemograman yang disusun secara terpisah untuk melakukan
suatu fungsi atau tugas khusus tertentu yang mempunyai dua macam bentuk yaitu subrutin dan
fungsi.
Jadi, menurut kami Prosedur adalah bagian dari suatu program yg disusun secara
terpisah untuk melakukan suatu tugas khusus atau tertentu, prosedur terpisah dalam blok sendiri,
prosedur merupakan sederetan intruksi algoritma yg diberi nama dan akan menghasilkan efek
neto yang terdefinisi. Prosedur biasanya bersifat suatu aktifitas misalnya menghitung faktorial
sebuah bilangan, mencari bilangan genap dari sekumpulan bilangan, dll.
 Ciri-ciri Prosedur:
 Hanya memiliki satu fungsi tujuan (logical inherent). Sebuah prosedur sebaiknya
hanya memiliki satu fungsi tujuan dan tidak bercampur dengan tujuan lain. Hal ini
untuk membuat prosedur lebih focus.
 Berukuran kecil (small size). Yang dimaksud ukuran disini adalah panjang algoritma
atau panjang kode program pada suatu prosedur. Ukuran kecil akan mudah dibaca
maupun diperbaiki.
 Tidak tergantung pada prosedur lain (independent). Sebuah prosedur harusnya bersifat
mandiri, artinya sebuah prosedur dapat berjalan dan diuji tanpa menunggu bagian
lainnya selesai. Selain itu variable yang digunakan dalam prosedur tidak
mempengaruhi variabel yang digunakan pada bagian lain di keseluruhan program.
A. Bentuk Umum Prosedur.
Prosedur nama_prosedur
{ spesifikasi dari prosedur, keadaan awal ketika prosedur belum dilaksanakan, dan juga
Keadaan akhir ketika prosedur dilaksanakan }
Deklarasi
{deklarasi variabel-variabel prosedur }
Deskripsi
{deskripsi dari tugas-tugas prosedur}
B. Contoh Penggunaan Prosedur
Prosedur_Hitung_Keliling
{menghitung keliling empat persegi panjang}
Deklarasi
real keliling;
Deskripsi
keliling←2*(panjang+lebar)
hasil←keliling;
Contoh lain:
Prosedur_Perkenalan
Deklarasi
var nama;
string umur;
Deskripsi
Writeln(‘hai nama saya’, nama,’dan umur’);
Perkenalan(‘Andi’,21);
Perkenalan(‘Budi’,23);
readln;
C. Variabel
Pada buku Algoritma Pemograman yang ditulis oleh Suarga, M. Sc, akan muncul dua
variabel pada pemograman saat menggunakan prosedur yaitu variabel loal dan variabel
global. Variabel local adalah variabel yang hanya dikenal atau berlaku dalam suatu prosedur
sedangkan variabel global adalah variabel yang berlaku di semua bagian program dan di
semua prosedur.
Menurut artikel yang ditulis oleh Saniman dan Muhammad Fathoni, variabel global
adalah variabel yang dapat digunakan atau dipanggil atau dikenali oleh semua fungsi /
prosedur / dikenali diseluruh program. Variabel global ini dapat digunakan pada beberapa
fungsi / prosedur, Hal ini betujuan untuk menghemat penulisan, karena tidak perlu lagi berkali
- kali menuliskan variabel yang sama pada beberapa fungsi / prosedur. Sedangkan variabel
lokal adalah variabel yang hanya dikenali oleh sebuah fungsi / prosedur saja (hanya dikenali
pada fungsi / prosedur tempat variabel tersebut dideklarasikan). Hal tersebut karena proses
deklarasi variabel lokal dilakukan di dalam lingkup fungsi yang dimaksud.
 Perbedaan Utama Variabel Global dan Variabel Lokal
 Variabel Global dideklarasian diluar fungsi main() atau diluar sebuah fungsi atau
prosedur lain.
 Variabel Lokal dideklarasian didalam sebuah fungsi atau by didalam sebuah prosedur.
 Variabel Global dapat digunakan atau dipanggil atau dikenali oleh semua fungsi /
prosedur / dikenali diseluruh program.
 Variabel Lokal hanya dikenali oleh suatu fungsi / prosedur saja (hanya dikenali pada
fungsi / prosedur tempat variabel tersebut dideklarasikan)
D. Parameter
Menurut buku Algoritma Pemograman yang ditulis oleh Suarga, M. Sc, jika suatu
prosedur dipanggil bisa dilakukan pertukaran daa antara program utama dan prosedur,
pertukaran bisa dilakukan dengan parameter, ada dua macam parameter yaitu actual dan
formal.
Menurut buku yang ditulis oleh Jogiyanto HM, Parameter adalah tempat penyimpanan
(variabel) di dalam function, yang digunakan untuk melakukan pemeberian data dari
pemanggil ke dalam function. Parameter terletak di antara tanda kurung ( dan ) setelah
identitas dari function, dan sebuah function dapat memiliki beberapa parameter yang
dipisahkan dengan tanda koma (,).
• Function Parameter
Function Parameter atau juga disebut sebagai Parameter Formal, adalah variabel lokal
yang didirikan di dalam deklarasi function (bukan definisi), Yang merupakan tempat
penyimpanan nilai dari argument yang diberikan saat pemanggilan function.
• Argument
Argument adalah parameter yang menyertai pemanggilan function. merupakan tempat
dimana anda bisa memberikan data untuk digunakan di dalam function yang dipanggil dan
diberikan saat pemanggilan function tersebut.

2. FUNGSI
Menurut buku Algoritma Pemograman yang ditulis oleh Suarga, M. Sc, fungsi adalah
sesuatu yang hakikatnya sama seperti prosedur tetapi harus mengembalikan suatu nilai ke
program yang menggunakan fungsi. Menurut buku yang ditulis oleh Jogiyanto HM, fungsi
adalah kumpulan peryataan yang melakukan tugas tertentu. Menurut artikel yang ditulis oleh
Saniman dan Muhammad Fathoni, fungsi sama halnya seperti prosedur, namun tetap ada
perbedaannya yaitu fungsi mempunyai output dengan tipe variabek yang kita tentukan. Berbeda
dengan prosedur yang bisa tidak menggunakan parameter, fungsi harus menggunakan parameter
dalam penggunaanya.
Jadi, kami simpulkan bahwa Fungsi sama halnya dengan prosedure, karena sama-sama
sebuah pernyataan untuk melakukan tugas tertentu, akan tetapi fungsi harus ada parameternya
dan mempunyai output sesuai dengan tipe variabel yang kita tentukan.
 Ciri-ciri Fungsi:
 Tipe hasil menspesifikasikan tipe nilai yang diberikan oleh fungsi. Nilai yang
diberikan oleh fungsi dapat bertipe dasar maupun bertipe bentukan. Sebagaimana
halnya pada prosedur, parameter fungsi pada fungsi tidak selalu harus ada
 Semua nama peubah/konstanta yang hanya berlaku di dalam fungsi saja
dideklarasikan di dalam bagian Deklarasi (lokal). Nama yang didefinisikan di
dalam bagian Deklarasi fungsi hanya dikenal dan berlaku di dalam fungsi yang
bersangkutan saja, fungsi lain atau program utama tidak dapat menggunakannya
A. Bentuk umum
Fungsi nama_fungsi (parameter formal)→tipe_hasil
[spesifikasi fungsi]
Deklarasi
[variabel lokal]
Deskripsi
[langkah atau proses yang dilakukan oleh fungsi]
.........................................
.........................................
[pengembalian nilai]
Return hasil.
B. Contoh Fungsi
Fungsi matematis f(x)= x 2+ 8 x+10
Fungsi F(input real x) → real
{menghitung nilai fungsi f(x)= x 2+ 8 x+10 }
Deklarasi
real y;
Deskripsi
y←x*x+8*x+10;
return y;
C. Pemanggilan Fungsi
Fungsi diakses dengan cara memanggil namanya dari program pemanggil, diikuti
dengan daftar parameter aktual (bila ada). Karena fungsi menghasilkan nilai, maka nilai
tersebut dapat ditampung dalam sebuah peubah yang bertipe sama dengan tipe fungsi atau
nilai yang dikembalikan oleh fungsi dapat langsung dimanipulasi. Parameter aktual dapat
berupa konstanta, nama konstanta, atau nama peubah.
Algoritma_Contoh_Pemanggilan_Fungsi
{ Program utama untuk pemanggilan fungsi F }
DEKLARASI
x : real;
function F(input x:real ) → real
{ Mengembalikan nilai F(x) = x2 + 2x – 3, x Є R } ;
return x*x + 2* x – 3;
DESKRIPSI
write (‘-------------------‘)
write (‘ x F(x) ‘)
write (‘-------------------‘)
x ← 10.0
while x ≤ 15.0 do
write (x,‘ ‘,F(x))
x ← x + 0.5
endwhile
write (‘-------------------‘)

3. BAGAIMANA CARA MEMBEDAKAN PROSEDUR DENGAN FUNGSI


Menurut kami cara membedakannya dengan melihat nilai baliknya. Pada fungsi nilai
baliknya terdapat pada nama fungsinya sedangkan pada prosedur nilai parameter yang dikirim
sebagai acuannya.
 Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya (kalau pada
prosedur pada parameter yang dikirimkan secara acuan). Pada contoh, nama fungsi
tersebut adalah Hitung dan nilai yang dikirim balik berada pada nama fungsi tersebut.
Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan
dari fungsi, sebagai berikut :
Hitung := A + B; (Nama fungsi yang berisi nilai yang akan dikirimkan)
 Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung
digunakan untuk dicetak hasilnya, sebagai berikut :
Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y)); (Nama fungsi yang langsung digunakan
untuk ditampilkan hasilnya.)
Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variabel yang
lainnya, sebagai berikut :
Hasil := Hitung(X,Y);
Writeln(X,’ + ‘,Y, ‘ + ‘,Hasil);
Sedang pada prosedur, nama prosedur tersebut tidak dapat digunakan langsung, yang dapat
langsung digunakan adalah parameternya yang mengandung nilai balik.
 Perbedaan fungsi dan prosedure
- Pada fungsi, nilai yang dialihkan balik pada nama fungsinya (jika pada prosedure
pada parameter yang disetujui oleh referensi).
- Karena nilai balik-balik pada nama fungsi tersebut, maka fungsi tersebut dapat
digunakan secara langsung untuk hasil tersebut. Atau nilai fungsi ini dapat juga
langsung dipindahkan kevariabel pengenal lainnya
- Nama prosedure tidak dapat digunakan langsung tidak seperti pada nama fungsi, yang
dapat langsung digunakan dari suatu prosedure adalah parameternya yang
mengandung nilai baik.
- Pada dasarnya tidak ada perbedaan yang signifikan antara prosedur dan fungsi pada
bahasa pascal, hanya dibedakan dari nilai kembali. Jika suatu sub program memiliki
nilai balik (nilai balik) maka subproogram tersebut di sebut fungsi (fungsi) jika tidak
memiliki nilai balik maka subprogram tersebut merupakan prosdur (prsedur).

4. APAKAH FUNGSI BISA DIUBAH MENJADI PROSEDUR? BAGAIMANA


CARANYA?
Pada diktat matakuliah Algoritma Pemrograman (Hibah Kompetisi A1), yang ditulis Noor
Ifada, dijelaskan bahwa 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. Jadi fungsi bisa
diubah menjadi prosedur.
Contoh: fungsi Maks dan program utama untuk menentukan bilangan terbesar di antara dua
buah bilangan.
Algoritma_Menentukan_Maksimum
{ Program utama yang memanggil fungsi MAKS untuk menentukan nilai maksimum
dari dua buah bilangan buat a dan b. }
DEKLARASI (* Program Utama *)
a, b : integer;
function Maks (input a,b : integer) → integer
{ Mengembalikan harga terbesar dari a dan b }
DEKLARASI (* Fungsi *)
{ tidak ada }
DESKRIPSI : (* Fungsi *)
if a ≥ b then
return a
else
return b
endif
DESKRIPSI : (* Program Utama *)
read (a,b)
write (Maks (a,b))
Program_Contoh_Pemanggilan_Fungsi;
var
a : integer ;
b : integer ;
function Maks (a, b : integer ) : integer ;
begin
if a >= b then
Maks := a
else
Maks := b;
end;
begin
write (‘Masukkan nilai a ? ‘);
readln (a);
write (‘Masukkan nilai b ? ‘);
readln (b);
writeln (‘Nilai yang terbesar adalah : ‘,Maks (a,b) );
end.
MENGUBAHNYA MENJADI PROSEDUR.
Algoritma_Menentukan_Maksimum
{ Program utama yang memanggil prosedur TentukanMaks untuk menentukan nilai
maksimum dua buah bilangan bulat a dan b }
DEKLARASI (* Program Utama *)
a, b, m : integer
procedure TentukanMaks (input a,b : integer , output maks : integer )
{ Menentukan nilai terbesar dari a dan b }
{ K.awal: a dan b sudah terdefinisi nilai }
{ K.akhir: maks berisi nilai terbesar dari a atau b }
DEKLARASI (* Prosedur *)
{ tidak ada }
DESKRIPSI : (* Prosedur *)
if a ≥ b then
maks ← a
else
maks ← b
endif
DESKRIPSI : (* Program Utama *)
read (a,b) TentukanMaks (a,b,m)
write (m)
Program_Contoh_Pemanggilan_Fungsi;
var
a : integer ;
b : integer ;
m : integer ;
procedure Tentukan_Maks (a,b: integer ; var maks: integer );
begin
if a >= b then
Maks := a
else
Maks := b;
end;
begin
write (‘Masukkan nilai a ? ‘);
readln (a); write (‘Masukkan nilai b ? ‘);
readln (b); Tentukan_Maks (a,b,m);
writeln (‘Nilai yang terbesar adalah : ‘,m);
end.
DAFTAR PUSTAKA
Jogiyanto HM.1989. Turbo Pascal , Yogyakarta: Andi Offset.
Noor Ifada [2005]. Diktat Matakuliah Algoritma Pemrograman (Hibah Kompetisi A1)
, Bangkalan: Jurusan Teknik Informatika. Universitas Trunojoyo.
Rinaldi Munir .2003. Algoritma dan Pemrograman dengan Pascal dan C edisi Kedua.
Informatika:Bandung
Saniman, dan Muhammad Fathoni. 2009. Procedure dan Fungsi pada Algoritma.
Jurnal Saintikom. 7(2).
Suarga.2018. Algoritma Pemograman. CV Andi Offset:Yogyakarta
BUKTI DISKUSI(KERJA KELOMPOK)

Anda mungkin juga menyukai