0 penilaian0% menganggap dokumen ini bermanfaat (0 suara)
75 tayangan3 halaman
Dokumen tersebut membahas tentang pemrograman modular menggunakan fungsi rekursif. Secara ringkas, dokumen tersebut menjelaskan tentang pengertian fungsi rekursif, syarat-syarat membuat fungsi rekursif, dan contoh soal tugas pembuatan program menggunakan fungsi rekursif untuk mengulang kalimat secara terbalik dan menghitung hasil perkalian dengan penjumlahan.
Dokumen tersebut membahas tentang pemrograman modular menggunakan fungsi rekursif. Secara ringkas, dokumen tersebut menjelaskan tentang pengertian fungsi rekursif, syarat-syarat membuat fungsi rekursif, dan contoh soal tugas pembuatan program menggunakan fungsi rekursif untuk mengulang kalimat secara terbalik dan menghitung hasil perkalian dengan penjumlahan.
Dokumen tersebut membahas tentang pemrograman modular menggunakan fungsi rekursif. Secara ringkas, dokumen tersebut menjelaskan tentang pengertian fungsi rekursif, syarat-syarat membuat fungsi rekursif, dan contoh soal tugas pembuatan program menggunakan fungsi rekursif untuk mengulang kalimat secara terbalik dan menghitung hasil perkalian dengan penjumlahan.
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 >