Anda di halaman 1dari 8

LAPORAN PRATIKUM

ALGORITMA DAN PEMROGRAMAN

DISUSUN OLEH :

1. Tiara Lailatul Nikmah 4611419010


2. Jati Nugroho 4611419016
3. Rizki Mahjati Prie Husna 4611419026
4. Diah Siti Fatimah Azzahrah 4611419056
5. Fabian Dominggus Eka Boro 4611419060
6. Muhammad Zaenal Muttaqin 4611419078
7. Muhammad Fachrizal Zulfi Hendra 4611419090

PROGRAM STUDI TEKNIK INFORMATIKA

UNIVERSITAS NEGERI SEMARANG

2019
KATA PENGANTAR

Puji syukur alhamdulillah kami panjatkan ke hadirat Tuhan Yang Maha Esa, karena telah
melimpahkan rahmat-Nya berupa kesempatan dan pengetahuan sehingga makalah ini bisa
selesai pada waktunya.

Terima kasih juga kami ucapkan kepada teman-teman yang telah berkontribusi dengan
memberikan ide-idenya sehingga makalah ini bisa disusun dengan baik dan rapi.

Kami berharap semoga makalah ini bisa menambah pengetahuan para pembaca. Namun
terlepas dari itu, kami memahami bahwa makalah ini masih jauh dari kata sempurna, sehingga
kami sangat mengharapkan kritik serta saran yang bersifat membangun demi terciptanya
makalah selanjutnya yang lebih baik lagi.

Semarang, 1 Oktober 2019

Penulis

ii
DAFTAR ISI

JUDUL ................................................................................................................................... i

KATA PENGANTAR ......................................................................................................... ii

DAFTAR ISI ....................................................................................................................... iii

A. Prosedur
a. Pengertian Prosedur ................................................................................................. 1
b. Pengertian Fungsi .................................................................................................... 1
c. Perbedaan Fungsi dan Prosedur .............................................................................. 1
d. Mengapa menggunakan fungsi dan prosedur .......................................................... 2
e. Ciri-Ciri Prosedur yang Baik ................................................................................... 3
f. Bentuk Umum Prosedur .......................................................................................... 3
B. Prosedur
a. Pengertian Rekursif ................................................................................................. 4
b. Pengertian Fungsi Rekursif ..................................................................................... 4
c. Bentuk Umum Fungsi Rekursif ............................................................................... 4
d. Kelebihan................................................................................................................. 5
e. Kekurangan ............................................................................................................. 5

iii
A. Prosedur
a. Pengertian Prosedur
Prosedur merupakan suatu program terpisah dalam blok sendiri yang
berfungsi sebagai subprogram (program bagian). Prosedur biasanya bersifat suatu
aktifitas seperti mencari bilangan prima dari sekumpulan bilangan atau mencari
bilangan genap dari sekumpulan bilangan ,dan sebagainya. Prosedur biasanya
digunakan pada program yang terstruktur karena:
 Merupakan penerapan konsep program modular, yaitu memecah-mecah
program yang rumit menjadi program-program bagian yang lebih sederhana
dalam bentuk prosedur-prosedur.
 Untuk hal-hal yang sering dilakukan / dipakai berulang-ulang, cukup
dituliskan sekali saja dalam bentuk prosedur dan dapat dipergunakan atau
dipanggil berulangkali jika diperlukan.
 Membuat kode program lebih mudah dibaca / dimengerti terutama oleh
programmer lain.
 Dapat digunakan untuk menyembunyikan detail program

b. Pengertian Fungsi
Fungsi merupakan suatu program terpisah dalam blok sendiri yang berfungsi
sebagai subprogram (program bagian). Sama seperti halnya dengan prosedur, namun
tetap ada perbedaannya yaitu fungsi mempunyai pengembalian nilai /
mengembalikan sebuah nilai (memiliki return value) dari tipe tertentu (tipe dasar atau
tipe bentukan).

c. Perbedaan Fungsi dan Prosedur


 Pada fungsi, tipe data nilai yang dikirimkan balik (return value) terdapat pada
nama fungsinya, sedangkan prosedur tidak memiliki return value (misal return
luas).
 Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat
langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga

1
langsung dipindahkan ke pengenal variable yang lainnya (misal luas1 =
ContohFungsi(panjang)).
 Pada prosedur, nama prosedur tidak bisa digunakan lagsung tidak seperti pada
Nama Fungsi, yang bisa langsung digunakan dari sebuah prosedur adalah
parameternya yang mengandung nilai balik.
 Pada dasarnya tidak ada perbedaan yang signifikan antara fungsi dan prosedur
pada Bahasa C / C++, hanya dibedakan dari return value. Jika suatu sub program
tersebut memiliki nilai balik (return value) maka sub program tersebut disebut
Fungsi (Function) namun jika tidak mempunyai nilai balik maka sub program
tersebut adalah prosedur (Procedure).

d. Mengapa menggunakan fungsi dan prosedur


 Meningkatkan kemampuan untuk menganalisis kesalahan, jika terjadi suatu
kesalahan kita tinggal mencari fungsi atau prosedur yang bersangkutan saja dan
tak perlu di seluruh program.
 Modifikasi program dapat dilakukan pada suatu fungsi atau prosedur tertentu
saja tanpa mengganggu program keseluruhan (fungsi / prosedur lain)
 Memecahkan program yang rumit dan besar menjadi program-program yang
lebih sederhana atau kecil sehingga program lebih mudah dibaca dan mudah
dipahami
 Dengan memecah program menjadi subprogram-subprogram yang lebih kecil,
Program dapat dikerjakan oleh beberapa orang dengan pembagian beberapa
subprogram (fungsi / prosedur) untuk tiap orang nya sehingga program cepat
selesai dengan koordinasi yang mudah.
 Untuk aktivitas yang dilakukan lebih dari satu kali / sering dilakukan berulang-
ulang. fungsi dan prosedur dapat digunakan untuk menghindari penulisan
program yang sama yang ditulis secara berulang.
 Mempermudah dokumentasi.

2
e. Ciri-Ciri Prosedur yang Baik
Ciri-ciri Prosedur yang baik adalah sebagai berikut:
 Hanya memiliki satu fungsi tujuan (logical inherent). Sebuah prosedur sebaiknya
hanya mempunyai satu fungsi tujuan / hanya memecahkan sebuah masalah
dalam program dan tidak bercampur dengan tujuan lain. Hal tersebut agar
prosedur lebih focus sehingga tujuan dari sebuah prosedur lebih mundah
dipahami.
 Tidak tergantung pada prosedur lain (independent). Sebuah prosedur sebaiknya
bersifat mandiri, artinya sebuah prosedur dapat dijalankan dan diuji tanpa
menunggu bagian lainnya (prosedur / fungsi lain) selesai. Selain itu variable
yang digunakan dalam prosedur tidak mempengaruhi variabel yang digunakan
pada bagian lain di keseluruhan program (misalnya dengan menggunakan
variabel lokal).
 Berukuran kecil (small size). Yang dimaksud ukuran disini adalah panjang kode
program atau panjang algoritma pada sebuah prosedur. Ukuran kecil pada sebuah
prosedur agar prosedur lebih mudah dibaca, dipahami maupun diperbaiki jika
terdapat kesalahan pada sebuah prosedur.

f. Bentuk Umum Prosedur


Bentuk umum prosedur adalah sebagai berikut:

Void NamaProsedur (DaftarParameter){

/*Code atau Badan Prosedur*/}

3
B. Fungsi Rekursif
a. Pengertian Rekursif
Rekursif adalah kemampuan suatu rutin untuk memanggil dirinya sendiri.
Dalam Rekursif sebenarnya terkandung pengertian prosedur dan fungsi.
Perbedaannya adalah bahwa rekursif bisa memanggil ke dirinya sendiri, tetapi
prosedur dan fungsi harus dipanggil lewat pemanggil prosedur dan fungsi. Rekursif
merupakan teknik pemrograman yang penting dan beberapa bahasa pemrograman
mendukung keberadaan proses rekursif ini. Dalam prosedur dan fungsi, pemanggilan
ke dirinya sendiri bisa berarti proses berulang yang tidak bisa diketahui kapan akan
berakhir.

b. Pengertian Fungsi Rekursif


Fungsi rekursif adalah suatu fungsi yang memanggil dirinya sendiri. Pada
beberapa persoalan, fungsi rekursif sangat berguna karena mempermudah solusi.
Namun demikian, fungsi rekursif juga memiliki kelemahan, yakni memungkinkan
terjadinya overflow pada stack, yang berarti stack tidak lagi mampu menangani
permintaan pemanggilan fungsi karena kehabisan memori. Stack adalah area memori
yang dipakai untuk variable lokal untuk mengalokasikan memori ketika suatu fungsi
dipanggil. Oleh karena itu, jika bisa diselesaikan dengan metode iteratif, gunakanlah
metode iteratif.

c. Bentuk Umum Fungsi Rekursif


Bentuk umum fungsi rekursif adalah sebagai berikut :

return_data_type function_name(parameter_list)

{...

function_name(...);
... }

4
d. Kelebihan
 Sangat mudah untuk melakukan perulangan dengan batasan yang luas dalam
artian melakukan perulangan dalam skala yang besar.
 Dapat melakukan perulangan dengan batasan fungsi.

e. Kekurangan
 Tidak bisa melakukan nested loop atau looping bersarang.
 Biasanya membuat fungsi sulit untuk dipahami, hanya cocok untuk persoalan
tertentu saja
 Trace error sulit.
 Memerlukan stack yang lebih besar, sebab setiap kali fungsi dipanggil, variabel
lokal dan parameter formal akan ditempatkan ke stack dan ada kalanya akan
menyebabkan stack tak cukup lagi (Stack Overrun).
 Proses agak berbelit-belit karena terdapat pemangilan fungsi yang berulang-ulang
dan pemanggilan data yang ditumpuk.
 Memungkinkan terjadinya overflow pada stack (stack tak lagi mampu menangani
permintaan pemanggilan subrutin karena kehabisan memori)

Anda mungkin juga menyukai