You are on page 1of 11

LAPORAN PRAKTIKUM DASAR PEMROGRAMAN 4

FUNGSI DAN REKURSIF

Nama : Muhammad Fadlan


NIM : 200803107
Kelompok Lab : C7

LABORATORIUM S1 MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2020
LEMBAR PENGESAHAN

Ditetapkan di

Medan, 2020

Asisten Lab 1 Asisten Lab 2

Gita Shyntia Lumbantobing Favour Get Gea


NIM 180803057 NIM 180803059

Perbaikan I

Pada tanggal : Selasa, 08 Desember 2020

Perbaikan II

Pada tanggal :

ACC

Pada tanggal : Kamis, 10 Desember 2020

Nilai
DAFTAR ISI

DAFTAR ISI ............................................................................................. i


BAB 1 PENDAHULUAN ...................................................................... 1
1.1 Latar Belakang .................................................................. 1
1.2 Tujuan ................................................................................ 1
1.3 Dasar Teori......................................................................... 2
1.3.1 Pengenalan Fungsi ................................................. 2
1.3.2 Pengenalan Fungsi Rekursif ................................. 3
BAB 2 HASIL DAN PEMBAHASAN .................................................. 5
2.1 Hasil Program .................................................................... 5
2.1.1 Source Code ........................................................... 5
2.1.2 Hasil Run Program ( Output ) ............................. 6
BAB 3 PENUTUP................................................................................... 7
3.1 Kesimpulan ........................................................................ 7
DAFTAR PUSTAKA

i
BAB 1
PENDAHULUAN

1.1 Latar Belakang

Seiring dengan kebutuhan masyarakat yang dipengaruhi oleh perkembangan


teknologi yang begitu pesat terutama di bidang komputer, hampir semua
pengolahan data maupun transaksi diberbagai perusahaan diproses menggunakan
komputer baik perusahaan swasta maupun instansi pemerintah. Penerapan sistem
operasi telah berubah dari sistem manual menjadi sistem komputerisasi, hal itu
cukup beralasan mengingat banyaknya kelebihan dari sistem komputerisasi antara
lain adalah proses pembelajaran struktur data yang membahas tentang Rekursif
dalam Algoritma.
Komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan
tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan
menyimpan data input memperoses dan menghasilkan output dibawah pengawasan
instruksi-instruksi program yang tersimpan di memori.

1.2 Tujuan

Berdasarkan latar belakang di atas, praktikum ini diharapkan Mahasiswa


mampu :

1.2.1 Mengenal fungsi dan fungsi rekursif dengan baik dan benar.
1.2.2 Membuat program fungsi dan program fungsi rekursif menggunakan
Bahasa C.

1
1.3 Dasar Teori

1.3.1 Pengenalan Fungsi

Fungsi sama seperti halnya dengan prosedur, namun tetap ada


perbedaannya yaitu fungsi mempunyai output dengan tipe variable yang kita
tentukan. Berbeda dengan prosedur yang bisa tidak menggunakan parameter,
fungsi harus menggunakan parameter dalam penggunaanya. Fungsi sejatinya
sama saja dengan prosedur yaitu pemisahakan kode program menjadi modul-
modul terpisah. Namun demikian tetap ada bedanya. Beda dari fungsi adalah
dia harus mengembalikan nilai sesuai dengan tipe data pada saat
mendeklarasikannya.
Bentuk umum fungsi :
TipeData NamaFungsi(daftar parameter){
/*Code atau badan proedur*\
return nilaireturn;
}

Contoh Program:

#include <stdio.h>
int main(){
int a;
int b;
int jumlah;
printf("Masukkan nilai a :");
scanf("%d",&a);
printf("Masukkan nilai b :");
scanf("%d",&b);
jumlah=hitung(a,b);
printf("\nJumlah : %d\n",jumlah);
}
int hitung(int a,int b){
int jumlah;
jumlah=a+b;
return jumlah;
}

2
Hasil Program:

1.3.2 Pengenalan Fungsi Rekursif

Rekursi (recursion) adalah merupakan suatu fungsi yang dapat


memanggil diriya sendiri. Fungsi Rekursif dipakai karena memiliki kelebihan
,yaitu penulisan baris program menjadi lebih singkat. akan tetapi fungsi ini
juga memiliki kekurangan, yaitu membutuhkan banyak memori karena
setiapprogram dipangil oleh dirinya sendiri, dibutuhkan sejumlah ruang
tambahan.
Bentuk umum fungsi rekursif :
return_data_type function_name(parameter_list)
{
...
function_name(...);
...
}
Berikut contoh fungsi rekursif :
Xn n adalah bilangan bulat positif. Contoh kasus :
Jika n = =1 maka Xn = X selain itu : Xn = X * Xn-1
Misal X = 2 dan n = 3,

Contoh Program:
#include <stdio.h>
int pangkat (int x, int y) //parameter pangkat
{ //struktur pemilihan if else
if (y == 0) //bila memasukan pangkat 0 maka
akan dikalikan 1

3
{
return 1;
}
else
{ //bila selain angka satu maka akan
diproses perkalian
return x * pangkat (x, y - 1);
}
}
int main()
{
int x, y; //variabel untuk bil bulat dan
bil pangkat

printf ("Masukan bilangan yang akan


dipangkatkan = ");
scanf ("%d", &x); //inputan bilangan bulat
printf ("\nPangkat Bilangan = ");
scanf ("%d", &y); //inputan pangkat
printf ("\nHasil bilangan %d pangkat %d
adalah %d\n", x, y, pangkat (x, y));
//pemanggilan fungsi pangkat
return 0;
}

Hasil Program:

4
BAB 2
HASIL DAN PEMBAHASAN

2.1 Hasil Program

2.1.1 Source Code

1. Program Fungsi

#include<stdio.h>
int main(){
int x,y;
printf("masukkan nilai pertama : ");
scanf("%d",&x);
printf("masukkan nilai kedua : ");
scanf("%d",&y);
printf("\nHasil perkalian dari %d dan %d adalah
%d\n",x,y,deret(x,y));
}
int deret(int a,int b){
int hasil;
hasil=a*b;
return hasil;
}

2. Program Fungsi Rekursif

#include<stdio.h>

int faktorial(int bil, int x , int i){


if(i>bil)
return x;
x *= i;
i++;
faktorial(bil,x,i);
}

int main(){
int hasil = 1,bil;
printf("Masukkan bilangan : ");

5
scanf(" %d",&bil);
hasil = faktorial(bil,hasil,1);
printf("\nNilai Faktorial dari bilangan %d!
adalah : %d\n",bil,hasil);
}

2.1.2 Hasil Run Program ( Output )


1. Program Fungsi

2. Program Fungsi Rekursif

6
BAB 3
PENUTUP

3.1 Kesimpulan

Fungsi mempunyai output dengan tipe variable yang kita tentukan. Fungsi
juga harus menggunakan parameter dalam penggunaanya. Berbeda dengan
prosedur, fungsi harus mengembalikan nilai sesuai dengan tipe data pada saat
mendeklarasikannya
Rekursif mudah dan sederhana namun dapat memberikan manfaat yang besar
bagi pembelajaran bahasa. Fungsi rekursif merupakan salah satu konsep yang
penting untuk dikuasai. Fungsi rekursif memiliki kelebihan dan kelemahan masing-
masing. Secara umum fungsi rekursif memiliki algoritma yang lebih mudah
dipahami dan dibuat tetapi membutuhkan penggunaan memori yang besar.

7
DAFTAR PUSTAKA

Nalzloverz, 2017, Modul 3 – Fungsi Rekursif, lan-balon.blogspot.com, diakses


online pada 07 Desember 2020, <http://lan-
balon.blogspot.com/2017/06/modul-3-fungsi-rekursif.html>
Padma Setasari, 2018, Pengertian Prosedur dan Fungsi Dalam Bahasa C,
student.blog.dinus.ac.id, diakses online pada 07 Desember 2020,
<https://student.blog.dinus.ac.id/padmasetasari/2018/07/01/pengertian-
prosedur-dan-fungsi-dalam-bahasa-c/>

You might also like