Anda di halaman 1dari 10

1 Modul 6

2 PROSEDUR

Intisari
Bab ini akan mengemukakan bahasan tentang pemrograman moduler,
definisi prosedur, pendefinisian prosedur, pemanggilan prosedur.

Kompetensi
Pembahasan pada bab ini sangat penting dipahami, karena materi
prosedur ini memberikan manfaat bagi pemrogram untuk membuat
program yang menggunakan prosedur. Materi prosedur sangat
berkaitan dengan materi lainnya dalam sebuah pemrograman
terstruktur, terutama pemrograman moduler.

Capaian Pembelajaran Sub-Matakuliah (CPMK)


Mahasiswa mampu membuat program aplikasi dengan menggunakan
prosedur

A. Konsep Pemrograman Moduler


Program yang besar dan kompleks dalam pengembangannya seorang programer akan
memecah program menjadi beberapa sub program yang lebih kecil. Tiap sub program
dikembangkan cukup independen dari program utama sehingga program dapat dirancang
tanpa mempertimbangkan konteks tempat di mana sub program tersebut digunakan. Sub
program yang disebut modul dapat dirancang oleh programer lain dari pengembang
programer utama. Modul yang ditulis dapat dipasang ke program lain yang
membutuhkannya. Teknik pemrograman seperti ini dinamakan teknik pemrograman
modular. Beberapa bahasa pemrograman termasuk Pascal menamakan modul dengan
sebutan prosedur atau fungsi. Modularisasi program memberikan 2 (dua) keuntungan :
1. Pertama, untuk aktivitas yang harus dilakukan lebih dari satu kali, modularisasi
menghindari penulisan teks program yang sama secara berulangkali. Modul
program cukup ditulis sekali, lalu modul tersebut dapat diakses dari bagian lain di
dalam program. Penggunaan modul program dapat mengurangi panjang program.
2. Kedua, modularisasi adalah kemudahan menulis dan menemukan kesalahan
program. Kemudahan menulis akan sangat berguna pada masalah besar yang
dikerjakan oleh satu tim pemrogram yang beranggotakan beberapa orang. Masalah
yang akan diprogram dipecah menjadi beberapa masalah yang lebih kecil. Setiap
masalah yang lebih kecil tersebut ditulis ke dalam modul individual yang spesifik
dan dikerjakan oleh orang yang berbeda.
Selanjtnya seluruh modul diintegrasikan menjadi satu buah program yang lengkap.
Program modular menjadi lebih mudah untuk dibaca dan dimengerti. Program yang

Modul Struktur Data


tidak modular sulit dipahami, khususnya kalau program tersebut panjang atau terdiri
dari puluhan, ratusan atau ribuan baris intruksi.
Karena setiap modul melakukan aktivitas spesifik, maka apabila terdapat kesalahan di
dalam program, kesalahan tersebut dapat dilokalisir pada modul yang bersangkutan.
Kebanyakan program komputer dapat ditulis modular, meskipun program tersebut tidak
melibatkan eksekusi yang berulang dari aktivitas yang sama. Pemecahan program menjadi
modul-modul individual umumnya dianggap sebagai praktek pemrograman yang baik.
Terdapat dua jenis modul program, pertama prosedur (procedure) dan kedua fungsi
(function). Struktur setiap modul tersebut pada hakikatnya sama dengan struktur algoritma
biasa, yaitu ada bagian judul (header) yang berisi nama modul, bagian deklarasi, dan
bagian badan (body) program yang berisi instruksi yang akan dilaksanakan.

B. Definisi Prosedur
Prosedur adalah modul program yang mengerjakan tugas/aktivitas yang spesifik dan
menghasilkan suatu efek netto. Suatu efek netto diketahui dengan membandingkan
keadaan awal dan keadaan akhir pada pelaksanaan prosedur. Oleh karena itu, pada
prosedur kita harus mendefinisikan keadaan awal sebelum rangkaian instruksi di dalam
prosedur dilaksanakan dan keadaan akhir yang diharapkan setelah rangkaian instruksi
dilaksanakan.

C. Pendefinisian Prosedur
Pada dasarnya, struktur prosedur sama dengan struktur algoritma yang sudah dikenal,
yaitu : bagian judul yang terdiri atas nama prosedur dan komentar yang menjelaskan yang
menjelaskan spesifikasi prosedur tersebut, bagian deklarasi dan badan prosedur. Setiap
prosedur memiliki nama yang unik. Nama prosedur sebaiknya diawali dengan kata kerja
karena prosedur berisi suatu aktivitas, misalnya HitungLuas, Tukar, CariMaks, Inisialisasi,
AktifkanMenu dan lain sebagainya.
Notasi Algoritma yang digunakan untuk mendefinisikan struktur prosedur adalah :

Procedure NamaProsedur
{Spesifikasi prosedur, berisi penjelasan tentang apa yang dilakukan
prosedur ini}
{K. Awal : keadaan sebelum prosedur dilaksanakan}
{K. Akhir : keadaan setelah prosedur dilaksanakan}

Deklarasi
{semua nama yang dipakai dalam prosedur dan hanya berlaku lokal
di dalam prosedur yang didefinisikan di sini}

Deskripsi
{badan prosedur, berisi kumpulan instruksi}

Gambar 1 Bentuk Umum Pendefinisian Prosedur (sumber:Rahardjo)

Modul Struktur Data


Contoh 3.1
Tuliskan prosedur mencetak string ’Hello World!’.

Penyelesaian

Procedure CetakHalo
{mencetak string ’Hello World!’ ke piranti keluaran}
{K. Awal : sembarang}
{K. Akhir : string ’Hello World!’ tercetak}

Deklarasi
{tidak ada}

Deskripsi
Write (’[Hello World!’)

Contoh 3.2
Tuliskan prosedur untuk menghitung luas segitiga dengan rumus L=(alas x tinggi)/2.
Panjang alas dan tinggi segitiga dibaca dari dalam prosedur. Luas segitiga dicetak ke
piranti keluaran.

Penyelesaian

Procedure HitungLuasSegitiga
{menghitung luas segitiga dengan rumus L=(alas x tinggi)/2
{K. Awal : sembarang}
{K. Akhir : L berisi luas segitiga. Nilai L dicetak ke piranti keluaran}

Deklarasi
Alas, tinggi, luas : real

Deskripsi
Read (alas, tinggi)
Luas  (alas*tinggi)/2
Write (L)

D. Pemanggilan Prosedur
Prosedur bukan program yang berdiri sendiri, jadi tidak dapat dieksekusi secara
langsung. Ini berarti, instruksi-instruksi di dalam prosedur baru dapat dilaksanakan
hanya bila prosedur tersebut diakses/dipanggil. Prosedur diakses dengan cara
m,emanggil namanya dan program pemanggil (program utama atau modul program
lain) :
NamaProsedur

Modul Struktur Data


Gambar 3.2 Pemanggilan Prosedur(sumber:Rahardjo)

Ketika NamaProsedur 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.
Di dalam program pemanggil, kita harus mendeklarasikan prototype prosedur di
dalam bagian deklarasi. Prototype prosedur hanya berisi bagian judul prosedur.
Tujuan pendeklarasian prototype program adalah supaya program pemanggil
“mengenal“ nama prosedur tersebut serta cara mengaksesnya.

Contoh 3.3

Tuliskan contoh program utama untuk memanggil prosedur CetakHalo

Penyelesaian

Algoritma Halo
{program utama untuk mencetak string ’Halo!’}

Deklarasi
Procedure CetakHalo
{mencetak string ’Halo!’ ke piranti keluaran}

Deskripsi
CetakHalo {panggil prosedur CetakHalo}

Contoh 3.4
Tuliskan contoh program utama untuk memanggil prosedur HitungLuasSegitiga.

Penyelesaian

Algoritma Luas_Segitiga
{program utama untuk menghitung luas segitiga}

Deklarasi
Procedure HitungLuasSegitiga
{menghitung luas segitiga dengan rumus L=(alas x tinggi)/2}

Deskripsi
Write(’Menghitung Luas Segitiga’)
HitungLuasSegitiga
Write (’Selesai’)

Modul Struktur Data


E. Penutup
Kata prosedur sering kita dengar dalam kehidupan sehari-hari. Seorang mahasiswa
pada setiap awal semester selalu melakukan penaftaran ulang (registrasi). Langkah-langkah
pendaftaran ulang lazim dinyatakan dalam sebuah prosedur yang dinamakan prosedur
daftar ulang. Ketika sebuah prosedur dilakukan, maka instruksi-instruksi di dalamnya
dikerjakan satu per satu.
Dalam dunia pemrograman, prosedur adalah modul program yang mengerjakan
tugas/aktivitas yang spesifik dan menghasilkan suatu efek netto. Suatu efek netto diketahui
dengan membandingkan keadaan awal dan keadaan akhir pada pelaksanaan sebuah
prosedur. Oleh sebab itu, pada setiap prosedur kita perlu mendefinisikan keadaan awal
sebelum rangkaian instruksi di dalam prosedur dilaksanakan dan keadaan akhir yang
diharapkan setelah rangkaian instruksi di dalam prosedur dilaksanakan.

1. Tugas
Buat program perhitungan luas segitiga menggunakan prosedur.

2. Umpan Balik dan Tindak Lanjut


Untuk menguasai materi ini, sebaiknya anda membuat ringkasan materi tentang
prosedur dan membuat sendiri beberapa program dengan menggunakan prosedur.
Kerjakan tugas di atas dengan langsung membuat program di komputer. Jalankan
program tersebut sampai benar. Hapus kembali listing program yang sudah benar dan
buat kembali program tersebut, dan jalankan. Kalau tingkat kesalahan pada
pembuatan program sudah kecil, anda dapat melanjutkan materi berikutnya. Kalau
program belum jalan, perbaiki terus sampai benar.

Modul Struktur Data


Daftar Pustaka

[1] Dwi Sanjaya, 2001, Berpetualang dengn Struktur Data di Planet Pascal,
Yogyakarta: J&J Learning;
[2] Kadir, Abdul. 2002. Pemrograman Pascal Buku1. Yogyakarta: Andi Offset.
[3] Kadir, Abdul. 2002. Pemrograman Pascal Buku2. Yogyakarta: Andi Offset.
[4] Morin, P. (2012). Open Data Structures (in Java), edition 0.1 E. Retrieved from
http://opendatastructures.org/ods-java/
[5] Munir, Rinaldi. 2005. Algoritma dan Pemrograman dalam bahasa Pascal dan C
Edisi 3. Bandung: Informatika.
[6] Rahardjo, Budi. 2005. Teknik Pemrograman Pascal. Bandung:Informatika

Modul Struktur Data


Modul 7

FUNGSI

Intisari
Bab ini akan mengemukakan bahasan tentang definisi fungsi, cara
mendefinisikan fungsi, cara pemanggilan fungsi dan parameter.

Kompetensi
Pembahasan pada bab ini sangat penting dipahami, karena materi
fungsi ini memberikan manfaat bagi pemrogram untuk membuat
program yang menggunakan fungsi. Materi fungsi sangat berkaitan
dengan materi lainnya dalam sebuah pemrograman terstruktur,
terutama pemrograman moduler.

Capaian Pembelajaran Sub-Matakuliah (CPMK)


Mahasiswa mampu membuat program dengan menggunakan fungsi.

A. Definisi Fungsi
Fungsi (function) sebenarnya sama dengan sebuah prosedur. Perbedaannya, pada
fungsi terdapat pengembalian nilai, sehingga pada saat pemanggilan, fungsi dapat
langsung digunakan untuk mengisikan sebuah ekspresi.

B. Pendefinisian Fungsi
Berbeda dengan prosedur yang didefinisikan dengan kata kunci function. Berikut ini
bentuk umum dari pendefinisian sebuah fungsi.

Function NamaFungsi (parameter1 : tipe_data,


paraneter2: tipe_data, . . .) : tipe_data;
const
{daftar konstanta lokal}
var
{daftar pendeklarasian variabel lokal}
Begin
{kode program yang akan ditulis}
...
NamaFungsi := nilai_kembalian; {ingat baris ini}
End;

Gambar 4.1 Bentuk Umum Pendefinisian Fungsi

Modul Struktur Data


Berikut ini contoh pendefinisian fungsi sederhana yang akan mengalikan dua buah
bilangan bulat.

Function Kali (x, y : integer) : longint;


Begin
Kali := x * y;
End;

Kita juga dapat mendeklarasikan variabel lokal untuk menyimpan nilai sebelum
akhirnya dikembalikan lagi ke fungsi, misalnya seperti kode di bawah ini.
Function Kali (x, y : integer) : longint;
var
Hasil : longint;
Begin
Hasil := x * y;
Kali := Hasil;
End;

C. Pemanggilan fungsi
Fungsi diakses dengan cara memanggil namanya dari program pemanggil, diikuti
dengan daftar parameter aktual (bila ada). Oleh karena fungsi menghasilkan sebuah nilai
maka pada saat pemanggilannya juga dapat ditampung ke dalam suatu variabel. Berikut ini
contoh pemanggilan fungsi di atas.

var
A : longint;
Begin
{memanggil fungsi Kali dan menyimpan nilainya ke dalam variabel A)
A := Kali (10, 5);
...
End.

D. Parameter
Parameter merupakan suatu nilai atau referensi yang dilewatkan ke dalam rutin
tertentu dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat di dalam
rutin itu sendiri. Parameter ditempatkan di dalam tanda kurung setelah nama rutin
bersangkutan. Suatu fungsi umumnya mempunyai parameter. Namun bisa saja suatu fungsi
tidak memiliki paramater.
Setiap parameter yang dilewatkan harus memiliki tipe data tersendiri yang dapat
berupa dari tipe dasar maupun bentukan seperti array, record atau pointer. Untuk
mengetahui arti parameter, perhatikan fungsi matematika di bawah ini.
f (x) = 2x2 + 5x – 3

Bila x=1, maka f akan mengembalikan nilai 4, yang berasal dari

Modul Struktur Data


f (1) = 2(1)2 + 5(1) – 3 = 2 + 5 – 3 = 4

Bila x=2, maka f akan mengembalikan nilai 15, yang berasal dari
f (2) = 2(2)2 + 5(2) – 3 = 8 + 10 – 3 = 15

Dari ilustrasi tersebut terlihat jelas bahwa hasil nilai dari fungsi f ditentukan oleh
besarnya nilai x, sehingga x disebut sebagai parameter dari fungsi f.

E. Penutup
Seperti halnya prosedur, fungsi juga merupakan sub program yang mempunyai tujuan
spesifik. Pertanyaan sering muncul dalam pemrograman moduler adalah : apakah sebuah
modul program akan dibuat sebagai prosedur atau fungsi ? Fungsi digunakan apabila
modul program mengembalikan sebuah nilai, sementara prosedur digunakan apabila modul
menghasilkan efek netto dari satu atau sekumpulan aksi. Pemilihan apakah sebuah modul
direalisasikan sebagai fungsi atau prosedur bergantung pada kebutuhan dan seni
memprogram.

1) Pertanyaan
Buat program perhitungan nilai faktorial menggunakan fungsi.

2) Umpan Balik dan Tindak Lanjut


Untuk menguasai materi ini, sebaiknya anda membuat ringkasan materi tentang
fungsi dan membuat sendiri beberapa program dengan menggunakan fungsi. Kerjakan
tugas di atas dengan langsung membuat program di komputer. Jalankan program
tersebut sampai benar. Hapus kembali listing program yang sudah benar dan buat
kembali program tersebut, dan jalankan. Kalau tingkat kesalahan pada pembuatan
program sudah kecil, anda dapat melanjutkan materi berikutnya. Kalau program belum
jalan, perbaiki terus sampai benar.

Modul Struktur Data


Daftar Pustaka

[1] Dwi Sanjaya, 2001, Berpetualang dengn Struktur Data di Planet Pascal,
Yogyakarta: J&J Learning;
[2] Kadir, Abdul. 2002. Pemrograman Pascal Buku1. Yogyakarta: Andi Offset.
[3] Kadir, Abdul. 2002. Pemrograman Pascal Buku2. Yogyakarta: Andi Offset.
[4] Morin, P. (2012). Open Data Structures (in Java), edition 0.1 E. Retrieved from
http://opendatastructures.org/ods-java/
[5] Munir, Rinaldi. 2005. Algoritma dan Pemrograman dalam bahasa Pascal dan C
Edisi 3. Bandung: Informatika.
[6] Rahardjo, Budi. 2005. Teknik Pemrograman Pascal. Bandung:Informatika

Modul Struktur Data

Anda mungkin juga menyukai