Anda di halaman 1dari 3

TUGAS06 dan Ringkasan

Pemrograman Modular Fungsi Rekursif


A. Ringkasan Pemahaman Fungsi – Rekursif
 Modularitas program akan terbantu dengan menggunakan fungsi, karena masing-masing fungsi
tidak tergantung dengan fungsi yang lain. Dua tipe subprogram yang biasa digunakan adalah
fungsi (function) dan prosedur (procedure). Dalam Bahasa C pendefinisian yang dikenal
adalah dalam bentuk fungsi juga untuk bentuk prosedur.
 Pemrograman Modular adalah suatu teknik pemrograman di mana program yang biasanya
cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih kecil untuk
melaksanakan suatu tugas tertentu dan ini dapat menghemat kode program yang digunakan
karena jika suatu suatu tugas yang sama mesti dikerjakan lagi, fungsi tersebut dapat digunakan
kembali.
 Pemrograman modular memungkinkan programmer memanggil kembali subprogram yang
telah didefinisikannya setiap kali diperlukan dalam program tersebut. Programmer tidak perlu
berulang kali mendefinisikan sekumpulan instruksi yang diperlukan berulang kali dalam
sebuah program maupun dalam program lainnya.
 Dalam Penyusunan fungsi harus diperhatikan antara lain jenis data yang di kembalikan, nama
fungsi, daftar argument, dan badan fungsi yang memuat deklarasi local dan prototipe fungsi.
 Fungsi dapat dikelompokkan kedalam dua kategori menurut ketersediaannya, yaitu fungsi
standard an fungsi buatan pemrogram.
 Di dalam program sebuah fungsi diimplementasikan dalam tiga bentuk, sebagai prototipe,
sebagai definisi , dan sebagai pemanggilan.
 Prototipe fungsi merupakan model dari sebuah fungsi yang berguna untuk memberi tahukan
kompiler tentang ciri-ciri suatu fungsi.
 Pengarah pra pengolahan memberikan beberapa fasilitas pelayanan berkas (file) sebelum
dikompilasi, diantaranya: penyisipan berkas (file), substitusi makro, dan pengarah kendali
kompiler.
 Berkas judul memuat deklarasi dan definisi variabel global, konstanta, dan prototipe fungsi.
 Pengiriman argument (variabel) dapat dilakukan dengan dua cara, yaitu
pengiriman/pengembalian dengan nilai-nilai (by value), dan pengiriman/pengembalian dengan
alamat (by reference).
 Fungsi main( ) dapat menerima argument yang diberikan dari system operasi disebut
command-line argument.
 Fungsi dapat menerima argument fungsi, fungsi dikirim akan dianggap sebagai pointer.
 Fungsi Rekursif adalah fungsi yang memanggil dirinya sendiri.
 Fungsi rekursif dapat menggantikan bentuk iterative yang dalam banyak hal-hal tertentu bisa
lebih efisien dan sederhana, tetapi juga bisa sangat membutuhkan memori konsumtif atau
memerlukan memori kerja yang besar.
 Setiap fungsi rekursif harus memiliki kasus penghentian (termination case), dan tiap-tiap
struktur pemanggilan harus lebih sederhana daripada struktur pemanggilan sebelumnya.
 Semua variabel otomatis yang terdapat didalam fungsi rekursif akan memiliki lokasi memori
sendiri pada setiap pemanggilan.
 Pernyataan-pernyataan yang terdapat sebelum pemanggilan rekursif akan dieksekusi dengan
urutan yang sama.
 Pernyataan-pernyataan yang terdapat setelah pemanggilan rekursif akan dieksekusi dengan
urutan yang terbalik terhadap pemanggilan.
 Fungsi rekursif dapat digolongkan atas tiga kelompok, rekursif akhir, rekursif tunggal, dan
rekursif ganda.

B. Kasus/Tugas Pertanyaan Teori


1) Jelaskan apa yang dimaksud dengan fungsi rekursif. Apa syarat-syarat yang diperlukan
dalam menyusun sebuah fungsi rekursif.
2) Sebutkan proses yang terjadi pada pemanggilan fungsi rekursif. Dapatkah proses rekursif
terjadi selamanya (tanpa akhir)? Uraikan jawaban dengan ringkas dan jelas.
3) Jelaskan perbedaan antara rekursif dan iterasi (loop) ?
4) Apabila sebuah program yang memuat fungsi rekursif dieksekusi, jelaskan bagimana
kompiler menangani variabel-variabel lokal yang terdapat dalam fungsi pada setiap
pemanggilan.
C. Kasus/Tugas Program
1) Dengan menggunakan fungsi-fungsi I/O standar getchar( ) dan putchar( ), buatlah sebuah
program rekursif untuk meminta dituliskan sembalang kalimat hingga ditekannya tombol
<ENTER> dan menuliskan kembali kalimat tersebut secara terbalik. Sebagai contoh, jika
dituliskan:
Selamat malam nak
Maka program akan menuliskan kembali kalimat ini seperti berikut:
kan malam tamaleS
2. Perkalian dua buah bilangan bulat positif dapat dilakukan dengan metode penjumlahan
sebagai berikut:
12 x 6 = 12 + 12 + 12 + 12 +12 +12
Buatlah sebuah program menggunakan fungsi rekursif untuk menghitung hasil perkalian
dengan metode penjumlahan seperti contoh di atas.

D. Format Tugas dalam bentuk FILE Jawaban


1. Jawaban harus diketik dengan format kwarto, File harus dikirimkan ke
elearning2.unp.ac.id atau elearning3.unp.ac.id pada activity Asignment Tugas06
paling lambat sepekan sejak tanggal dibukanya TUGAS06 ini, sampai hari Selasa
tanggal 07 Mei 2021 Jam 09:00 WIB. Jika terlambat maka Tugas Anda tidak bisa
lagi dikirimkan ke sini. Penyampaian tugas hanya melalui aplikasi ini, tidak diterima
pemberian langsung (offline) maupun lewat WA grup karena tidak terdokumentasi
di dalam sistem elearning2.

2. File Jawaban ada dua file terdiri dari Jawaban Tugas-06Program dan Jawaban
Tugas_06Teori, masing-masing diberi nama:

a. TUGAS06PROGRAM-1/2<NAMA/NIM ANDA>-<GRUP ANDA>-<4 ANGKA


AKHIR KODE SEKSI >
b. TUGAS06TEORI-<NAMA/NIM ANDA>-<GRUP ANDA>-<4 ANGKA AKHIR
KODE SEKSI >

Anda mungkin juga menyukai