Anda di halaman 1dari 13

Logika Algoritma & Desain Pemrograman

Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

Bab 11

Prosedur

Pengetahuan :
1. Mahasiswa mampu memilih jenis modular yang tepat untuk
menyelesaikan permasalah tertentu.
2. Mahasiswa mampu membuktikan hasil penggunaan Prosedur pada suatu
proses bisnis.
3. Mahasiswa mampu menampilkan hasil penggunaan Prosedur pada
permasalahan tertentu .

Ketrampilan :
1. Mahasiswa dapat menunjukkan Inisiatif dan persistensi pada materi
Konsep Modular.
2. Mahasiswa dapat menunjukkan rasa Tanggung Jawab pada materi
Prosedur.
3. Mahasiswa dapat menunjukkan disiplin dan rasa ingin tahu yang
besar pada penerapan Prosedur.
4. Mahasiswa dapat menunjukkan rasa percaya diri dan keinginan kuat
saat menyelesaikan soal dengan Prosedur.
5. Mahasiswa dapat menunjukkan Kemampuan mengatur waktu dan
kecepatan belajar saat menyelesaikan soal dengan Prosedur.
6. Menunjukkan rasa senang belajar pada saat mengerjakan Latihan Soal
Prosedur.

11.1 Pengantar Sub Program (Modular)


Sebuah program yang sederhana yang dibuat oleh programmer pemula biasanya
hanya terdiri dari program utama saja (main program). Semakin rumitnya jenis
permasalahan yang muncul, maka kompleksitas program yang dibuat juga semakin tinggi.

128
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

Hal ini menyebabkan semakin banyak baris yang ditulis pada bagian main program
(Farrel, 2015).
Untuk mengatasi hal tersebut, maka dipecahlah kode program yang ditulis pada
main program menjadi program-program kecil, tanpa mengubah fungsi utamanya.
Program-program kecil inilah yang selanjutnya disebut sebagai Sub Program. Sub
Program merupakan bagian dari program utama yang dapat berdiri sendiri (Ariani S, 2018)
(Kadir, 2013). Kode program yang ditulis pada sub program dapat dijalankan, apabila sub
program tersebut dipanggil pada program utama. Namun sebaliknya, apabila telah
membuat sebuah sub program, namun tidak dipanggil pada program utama, maka sub
program tersebut tidak akan pernah dijalankan.

Seberapa penting
penggunaan Sub
Program pada
Algoritma ??

Sangat penting, apabila terdapat


proses atau perintah yang sama dan
harus dilakukan berulang kali…
Agar tidak terus-menerus menulis
perintah yang sama, maka buatlah
Sub Program yang berisi perintah
tersebut, kemudian panggil Sub
Program tersebut di dalam sebuah
algoritma…

Beberapa manfaat yang dapat diambil apabila menggunakan sub program adalah
sebagai berikut:
1. Simplifikasi
Untuk memudahkan programmer, jika ada bagian pada program utama yang ditulis
berulang, cukup membuat sebuah sub program dan lakukan pemanggilan sub program
tersebut pada baris di program utama.
2. Modularisasi
Lebih mudah dalam mengolah dan menganalisis program (dalam mengoreksi,
memodifikasi dan menulis ulang program).

Beberapa pemrograman sering menyebut sub program sebagai Teknik


Pemrograman Modular/Routine. Pada dasarnya sub program dibagi menjadi 2 jenis, yaitu
sebagai berikut :

129
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

1. Prosedur (Procedure)
Prosedur adalah bagian dari suatu program yang disusun secara terpisah untuk
melakukan suatu tugas khusus/fungsi tertentu, tanpa mengembalikan nilai dari hasil proses
tersebut. Pada prosedur diijinkan melakukan penginputan dan pencetakan hasil output dari
sebuah proses, misalnya mencetak hasil penjumlahan dari proses aritmatika (Kadir, 2013).
2. Fungsi (Function)
Fungsi adalah bagian dari program yang dibuat terpisah untuk melaksanakan fungsi
tertentu yang menghasilkan suatu nilai untuk dikembalikan ke program utama (return)
(Kadir, 2013). Pada fungsi tidak diijinkan melakukan penginputan dan pencetakan hasil
output dari sebuah proses, misalnya mencetak hasil penjumlahan dari proses aritmatika.
Fungsi hanya bertugas sebagai tempat penampungan nilai sementara. Jika nilai tersebut
hendak dicetak, maka cetaknya pada program utama, bukan pada fungsi itu sendiri.

Mulai Masuk

Tahap Proses 1 Tahap Proses SP1

CALL SubProgram Tahap Proses SP2

Tahap Proses 3 Tahap Proses SP3

Selesai Keluar

Gambar 11. 1 Tahapan Flowchart pada Prosedur.

Pada Gambar 11.1 bentuk flowchart untuk Sub Program, pada saat pemanggilan
Sub Program, simbol flowchart yang digunakan berbeda, tidak seperti simbol flowchart
untuk proses pada umunya. Simbol flowchart untuk Sub Program mempunyai bentuk
persegi panjang yang mempunyai tambahan kotak pada samping kiri dan kanan. Ingat Bab
3. 

130
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

11.2 Pengertian Prosedur


Prosedur merupakan salah bentuk sub program yang dapat dilakukan tanpa
melakukan pengembalian nilai ke program utama. Namun, perlu diperhatikan bahwa
Prosedur juga harus dipanggil di program utama agar dapat menghasilkan nilai akhir.
Selain dipanggil di program utama, sebuah prosedur juga dapat dipanggil oleh prosedur
lainnya. Prosedur dapat dipanggil berulang kali di program utama. Perhatikan Cara Kerja
Prosedur yang digambarkan pada Gambar 11.2.

Program Utama
Modul A
Kode Program 1 Kode Program A1
Kode Program 2 Kode Program A2
Kode Program 3 Kode Program A3
Call Modul A
Kode Program 5 Modul B
Kode Program 6 Kode Program B1
Call Modul B Kode Program B2
Kode Program 8 Kode Program B3
Call Modul A Kode Program B4
Kode Program 10 Kode Program B5

Gambar 11. 2 Cara Kerja Prosedur

Prosedur dapat dianalogikan sebagai sebuah pabrik yang menangani beberapa


proses. Agar dapat berjalan sebagaimana mestinya, sebuah pabrik harus memiliki
ketersediaan bahan baku yang cukup. Kenyataannya, ketersediaan bahan baku bisa ada,
bisa juga tidak ada sama sekali. Jika pabrik memiliki ketersediaan bahan baku yang cukup,
maka semua proses dapat dijalankan dengan baik. Bahan Baku ini diibaratkan sebagai
prosedur. Jika kebutuhan prosedur untuk mendukung proses utama telah disediakan
semua, maka program utama dapat dijalankan dengan baik.

Bahan Baku

Pabrik

Gambar 11. 3 Ilustrasi Prosedur.

131
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

11.3 Parameter Prosedur


Ketika suatu prosedur dipanggil, maka pada hakikatnya dapat melakukan proses
pertukaran data antara program utama dan prosedur. Proses pertukaran ini dilakukan
melalui parameter. Pada prosedur, terdapat 2 jenis parameter yaitu sebagai berikut :
a. Parameter Aktual
Parameter aktual merupakan parameter yang disertakan pada saat prosedur dipangggil
untuk dijalankan pada program utama, sering disebut sebagai argumen.
b. Parameter Formal
Parameter formal merupakan parameter yang dituliskan pada definisi suatu
prosedur/fungsi. Ada 3 jenis dari parameter formal yang dapat digunakan pada
prosedur, yaitu :
1. Parameter Masukan (Input)
Parameter yang menerima nilai dari parameter aktual.
2. Parameter Keluaran (Output)
Parameter yang menyerahkan nilai ke parameter aktual.
3. Parameter masukan dan keluaran (Input-Output)
Parameter yang menerima nilai dari parameter aktual untuk diproses dalam
prosedur kemudian diserahkan kembali ke parameter aktual setelah selesai.

11.4 Penerapan Prosedur


Penerapan Prosedur dalam kehidupan sehari-hari yang sering dilakukan
diantaranya :
a. Perhitungan aritmatika, menghitung penjumalahan/perkalian/pembagian/
pengurangan 2 buah bilangan. Apabila seseorang membeli barang di toko, pasti
memikirkan berapakah total belanjanya. Total belanja selalu didapatkan dari
perkalian harga barang dan kuantiti barang yang dibeli. Proses perkalian itu
berulang terus hingga barang yang terakhir dibeli. Tampung proses perkalian di
sebuah prosedur, kemudian panggil prosedur tersebut sebanyak jenis barang yang
dibeli.
b. Mencetak Judul Film pada tiket bioskop. Apabila Anda membeli tiket bioskop
secara berkelompok 10 orang, proses pencetakkan judul film dapat disimpan di
prosedur, kemudian panggil prosedur tersebut sebanyak orang yang memesan tiket.

132
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

Adapun contoh bentuk Pseudocode dan Flowchart sederhana Penerapan Prosedur dapat
dilihat pada Gambar 14.4 dan Gambar 14.5.

Contoh Kasus 01 : Algoritma Menghitung Luas Persegi Panjang Menggunakan


Prosedur Tanpa Parameter.

Algoritma Utama :
Input : panjang, lebar
Panggil Procedure LuasPersPanjang()
Procedure LuasPersPanjang :
Rumus Luas Persegi Panjang = panjang x lebar
Output : Hasil Perhitungan Luas Persegi Panjang

Algoritma Utama Procedure LuasPersPanjang()

Mulai Masuk

panjang : integer luas = panjang * lebar


lebar : integer
luas : integer
Print luas

panjang = 0
lebar = 0
Keluar

Input (panjang, lebar)

CALL LuasPersPanjang

Selesai

Gambar 11. 4 Flowchart Prosedur Perhitungan Luas Persegi Panjang.

133
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

ALGORITMA UTAMA
{Algoritma Menghitung Luas Persegi Panjang, panjang dan lebar
diinputkan terlebih dahulu}

Deklarasi :
panjang, lebar, luas : Integer
Deskripsi :
Panjang = 0
Lebar = 0
Print (panjang, lebar)
Procedure LuasPersPanjang()

PROCEDURE LuasPersPanjang()
{Menghitung Luas Persegi Panjang}

Deklarasi :
- (tidak ada)
Deskripsi :
luas = panjang * lebar
Print (luas)

Gambar 11. 5 Flowchart dan Pseudocode Menghitung Luas Persegi Panjang


Menggunakan Prosedur Tanpa Parameter.

Contoh Kasus 02 : Algoritma Menghitung Luas Persegi Panjang Menggunakan


Prosedur Dengan Parameter Masukan (Inputan).

Algoritma Utama :
Input : panjang, lebar
Panggil Procedure LuasPersPanjang(Input P, L)
Procedure LuasPersPanjang (Input P, L) :
Rumus Luas Persegi Panjang = P x L
Output : Hasil Perhitungan Luas Persegi Panjang

134
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

Algoritma Utama Procedure LuasPersPanjang(Input P,L)

Mulai Masuk

panjang : integer luas : integer


lebar : integer

luas = P * L
Input panjang. lebar

Print luas
CALL LuasPersPanjang
(panjang, lebar)

Keluar
Selesai

Gambar 11. 6 Flowchart Menghitung Luas Persegi Panjang Menggunakan Prosedur


Dengan Parameter Masukan.

ALGORITMA UTAMA
{Algoritma Menghitung Luas Persegi Panjang, panjang dan lebar
diinputkan terlebih dahulu}

Deklarasi :
panjang, lebar: Integer
Procedure LuasPersPanjang (Input P, L :
integer)
Deskripsi :
Input (panjang, lebar)
LuasPersPanjang(panjang, lebar)

PROCEDURE LuasPersPanjang (Input P, L:integer)


{Menghitung Luas Persegi Panjang}

Deklarasi :
luas : integer
Deskripsi :
luas = P * L
Print (luas)

Gambar 11. 7 Pseudocode Menghitung Luas Persegi Panjang Menggunakan Prosedur


Dengan Parameter Masukan.

135
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

Contoh : Algoritma Menghitung Luas Persegi Panjang Menggunakan Prosedur


Dengan Parameter Keluaran (Output).

Algoritma Utama :
Input : panjang, lebar
Panggil Procedure LuasPersPanjang(Input P, L : integer; Output LS:integer)
Procedure LuasPersPanjang (Input P, L :integer; Output LS :integer) :
Rumus Luas Persegi Panjang = P x L
Output : Hasil Perhitungan Luas Persegi Panjang

Algoritma Utama

Mulai

Procedure LuasPersPanjang(Input P,L,LS)


panjang : integer
lebar : integer
luas :integer
Masuk

Input (panjang, lebar)


LS = P * L

CALL LuasPersPanjang Keluar


(panjang, lebar, luas)

Print luas

Selesai

Gambar 11. 8 Flowchart Menghitung Luas Persegi Panjang Menggunakan Prosedur


Dengan Parameter Keluaran.

136
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

ALGORITMA UTAMA
{Algoritma Menghitung Luas Persegi Panjang, panjang dan lebar
diinputkan terlebih dahulu}

Deklarasi :
panjang, lebar, luas: Integer
Procedure LuasPersPanjang(Input P,L :
integer, Output LS : integer)
Deskripsi :
Input (panjang, lebar)
LuasPersPanjang(panjang, lebar, luas)
Print (luas)

PROCEDURE LuasPersPanjang(Input P, L:integer; Output LS :


integer)
{Menghitung Luas Persegi Panjang}
Deklarasi :
- (tidak ada)
Deskripsi :
LS = P * L

Gambar 11. 9 Pseudocode Menghitung Luas Persegi Panjang Menggunakan Prosedur


Dengan Parameter Keluaran.

Contoh : Algoritma Menentukan Nilai Terbesar dari 2 buah bilangan menggunakan


Prosedur Dengan Parameter Masukan/Keluaran (Input/Output).

Algoritma Utama :
Input : Bil1, Bil2
Panggil Procedure Maksimum(I/O A1, A2 : integer)
Procedure Maksimum (I/O A1, A2 : integer) :
Mencari Angka Terbesar : if (A2>A1) then
tukar = A1
A1 = A2
A2 = tukar
end if

137
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

Algoritma Utama Procedure Maksimum(I/O A1, A2)

Mulai
Masuk

Bil1 : integer
Bil2 : integer
tukar : integer
Tidak
Input Bil1. Bil2 A2 > A1

Ya
CALL Maksimum
(Bil1, Bil2) tukar = A1
A1 = A2
A2 = tukar
Print A1

Keluar
Selesai

Gambar 11. 10 Flowchart Menentukan Bilangan Terbesar Menggunakan Prosedur Dengan


Parameter Masukan/Keluaran.

ALGORITMA UTAMA
{Algoritma Menentukan Nilai Terbesar, 2 buah bilangan diinputkan
terlebih dahulu}

Deklarasi :
Bil1, Bil2: Integer
Procedure Maksimum(I/O A1, A2 : Integer)
Deskripsi :
Input (Bil1, Bil2)
Maksimum(Bil1, Bil2)
Print (A1)

PROCEDURE Maksimum(I/O A1, A2 : Integer)


{Menentukan Bilangan Terbesar}
Deklarasi :
tukar : integer
Deskripsi :
if (A2>A1) then
tukar = A1
A1 = A2
A2 = tukar
end if

Gambar 11. 11 Pseudocode Menentukan Bilangan Terbesar Menggunakan Prosedur


Dengan Parameter Masukan/Keluaran.

138
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

11.5 Rangkuman

 Sub Program merupakan bagian dari program yang ditulis terpisah dari
program utama. Sub program dapat dijalankan apabila dipanggil
melalui program utama. Program Utama yang dibuat oleh seorang
programmer berfungsi untuk menggabungkan satu sub program atau
lebih agar dapat dapat dijalankan dengan baik dan benar.
 Sub Program dibagi menjadi 2 yaitu Prosedur dan Fungsi.
 Prosedur adalah bagian dari suatu program yang disusun secara terpisah
untuk melakukan suatu tugas khusus/fungsi tertentu, tanpa
mengembalikan nilai dari hasil proses tersebut.
 Ada 3 jenis parameter formal yang dapat digunakan pada sub program,
yaitu Parameter Masukan, Parameter Keluaran, serta Parameter
Masukan dan Keluaran (I/O).

11.6 Latihan Soal


Selesaikan soal di bawah ini menggunakan konsep Prosedur.
1. Mencetak Data Film pada tiket bioskop. Apabila Anda membeli tiket bioskop untuk
film yang sama secara berkelompok 10 orang, proses pencetakkan data film dapat
disimpan di prosedur, kemudian panggil prosedur tersebut sebanyak orang yang
memesan tiket. Buat Flowchart dan Pseudocode menggunakan konsep Prosedur
untuk mencetak data Judul Film pada tiket bioskop.

2. Apabila seseorang membeli barang di toko, pasti memikirkan berapakah total


belanjanya. Total belanja selalu didapatkan dari perkalian harga barang dan kuantiti
barang yang dibeli. Proses perkalian itu berulang terus hingga barang yang terakhir
dibeli. Tampung proses perkalian di sebuah prosedur, kemudian panggil prosedur
tersebut sebanyak jenis barang yang dibeli. Buat Flowchart dan Pseudocode

139
Logika Algoritma & Desain Pemrograman
Berbasis C-CHIL (Critical Creative Hybrid Independent Learning).

menggunakan konsep Prosedur untuk mencetak data penjualan lengkap beserta


Total Pembayaran.

3. Menghitung Keliling dan Luas Lingkaran dengan inputan jari-jari dan konstanta phi =
3.14. Buat Flowchart dan Pseudocode menggunakan konsep Prosedur dengan 2
macam parameter yaitu parameter masukan dan keluaran.

4. Menentukan urutan tinggi badan dari 3 orang dengan inputan tinggi badan dari
masing-masing orang tersebut. Buat Flowchart dan Pseudocode menggunakan konsep
Prosedur dengan parameter masukan dan keluaran (I/O).

140

Anda mungkin juga menyukai