Kelompok 3 :
1 . Amanda aAryando Taufik (16063001)
2. Atikah Zulfianti Putri (16063039)
3 . Luthfil Hirzan (16063048 )
4 . Ravi Novriansyah ( 16063018)
5. Zulfikar Lubis( 16063032)
6 . Selfi Harowanti (16060325)
7. Fischa Prima Eka Putri (16063011)
Puji Syukur kami ucapkan ke-hadiran Allah SWT, Tuhan yang memiliki ilmu
pengetahuan, karena atas berkat rahmat dan karunia-Nyalah, makalah ini dapat kami
selesaikan yang berjudul “Program Modular”. Dengan membuat tugas ini kami harapkan kita
semua mampu untuk lebih dalam mengetahui tentang Program Modular. kami sadar, sebagai
seorang pelajar yang masih dalam proses pembelajaran, penulisan makalah ini masih banyak
kekurangannya. Oleh karena itu, kami sangat mengharapkan adanya kritik dan saran yang
bersifat positif, untuk penulisan makalah yang lebih baik lagi di masa yang akan datang.
Harapan kami, semoga makalah yang sederhana ini, dapat memberi manfaat bagi
kita.
Penyusun
Kelompok 3
DAFTAR ISI
DAFTAR ISI...............................................................................................................ii
A . Kesimpulan ...................................................................................................14
PENDAHULUAN
C. Tujuanun Penulis .
1. Untuk mengetahui dan memahami penggunaan program modular
2. Untuk mengetahui struktur fungsi pada bahasa C
3. Untuk mengetahui struktur fungsi dan prosedur
4. Untuk mengetahui fungsu main
5. Untuk mengetahui fungsi rekursif
1
BAB II
PEMBAHASAN
1
f) Fungsi fungsi yang dapat digunakan untuk menghindari penulisan yang
sama yang ditulis secara berulang ulang. Langkah langkah program
yang sama dan sering digunakan berulangulang ddi program dapat
ditulis sekali saja secara terpisah dalam bentuk fumgsi. Selanjutnya
bagian program yang membutuhkan langkah langkah ini tidak perlu
selalu dituliskan lagi, tetapi cukup dengan memanggilnya.
2
Hal-hal yang harus diperhatikan dalam pembuatan function prototype:
Deklarasi fungsi harus ditulis di atas sebelum void main() dan tidak berisi
kode sama sekali,hanya berupa judul fungsi.
Contoh:
#include <stdio.h>
#include <conio.h>
int main ()
{
float Nilai ;
Nilai = - 543 . 21 ;
printf ("%7 .2f nilai mutlaknya adalah
% 7. 2f \n", Nilai, Absolut (Nilai));
getch ();
}
/ *-----Fungsi untuk memutlakkan nilai negatif-----* /
double Absolut(double X) / * definisi fungsi * /
{
if (X,0) X = -X;
return (X);
}
pada contoh program ini terlihat bahwa bagian program yang menggunakan
fungsi absolute () adalah sebagai berikut:
3
Jika bagian dari program yang menggunakan fungsi diletakkan
sebelum definisi dari fungsi maka deklarasi fungsi diperlukan. Akan tetapi jika
bagian dari program yang menggunakan fungsi terletak setelah definisi dari
fungsi maka deklarasi dari fungsi dapat tidak dituliskan.
Contoh:
Pada contoh ini fungsi absolut () didefinisikan terlebih dahulu sebelum fungsi
ini digunakan, sehingga deklarasi dari fungsi tidak diperlukan lagi.
#include <stdio.h>
#include <conio.h>
int main ()
{
float Nilai ;
Nilai = -543.21 ;
printf ("%7.2f nilai mutlaknya adalah% 7. 2f \n",
Nilai,Absolut (Nilai));
getch ();
}
Walaupun untuk contoh seperti ini deklarasi fungsi tidak diperlukan, namun
untuk praktik pembuatan program yang baik sebaiknya tetap dituliskan.
Contoh lain:
#include <stdio.h>
#include <conio.h>
int main ()
{
int N;
int fak;
printf ("beberapa factorial?"); scanf ("%d",&N);
fak = faktorial (N);
Pprintf ("%d factorial = %d\n"N,fak);
getch ();
}
4
/ *-----fungsi untuk menghitung nilai N factorial----* /
int faktorial (int N) / *definisi fungsi* /
{
int I;
int F=1;
If (n,=0);
return (0);
for (I=2;I<=N;I++) F *= I;
return (F);
}
[statement_1;]
[statement_2;]
...
[statement_3;]
[return (variabel)];
}
1. Tubuh fungsi dapat berisi segala perintah yang dikenal oleh bahasa C.
Pada dasarnya pendefinisian tubuh fungsi adalah sama dengan membuat
program seperti biasa.
2. Return adalah keyword pengembalian nilai dari fungsi ke luar fungsi.
Return adalah wajib jika fungsi tersebutmengembalikan nilai berupa tipe data
tertentu, tetapi tidak wajib jika fungsi tersebut bersifat void.
5
1. Fungsi yang tidak mengembalikan nilai (void) Ciri-ciri fungsi yang tidak
mengembalikan nilai adalah:
a) Fungsi yang void sering disebut juga prosedur.
b) Disebut void karena fungsi tersebut tidak mengembalikan suatu nilai
keluaran yang didapat dari hasil proses fungsi tersebut.
c) Ciri: tidak adanya keyword return.
d) Ciri: tidak adanya tipe data di dalam deklarasi fungsi.
e) Ciri: menggunakan keyword void.
f) Tidak dapat Iangsung ditampilkan hasilnya.
g) Tidak memiliki nilai kembalian fungsi.
int jml;
jml = a + b;
printf(“ud“%d”, jml);
keyword void Juga dlgunakan jika suatu fungsi tidak mengandung parameter apa
pun. Contoh penggunaan parameter vold adala berikut:
void print-error(void){
6
g) Dapat dianalogikan sebagai suatu variabel yang memiliki tipe data
tertentu sehingga dapat langsung ditampilkan hasilnya.
E. FUNGSI MAIN
Fungsi main merupakan fungsi yang spesial pada bahasa C. Setiap program
bahasa C pasti memiliki fungsi main. Sebuah program yang paling sederhana dalam
C, agar dapat dieksekusi (run) harus minimal harus memiliki 1 buab fungsi, yaitu
fungsi main(). Tanpa fungsi main, program C dapat dikompilasi tetapi tidak dapat
dieksekusi (harus dengan flag parameter -c, iika di UNIX). Pada saat program C
dijalankan, kompiler C akan mencari fungsi main() dan melaksanakan instruksi-
lnstruksi yang ada di sana.
fungsi main() sering dideklarasikan dalam 2 bentuk, yaitu:
1 int main{)
2 void main()
a. int main()
int main() berarti di dalam fungsi main tersebut harus terdapat keyword return
di bagian akhir dan mengembalikan nilai bertipe data int. Mengapa hasil return juga
harus bertipe int? Jawabnya, karena tipe data yang mendahului fungsi mainl) di atas
dideklarasikan dengan int. Jika sebuah program C dieksekusi maka status eksekusi
programnya akan dikembalikan. lika terminated successfully maka akan
dikembaiikan status 0. Sedangkan jika terminated unsuccessfully maka akan
dikembalikan nilai status tidak 0. Fungsi tersebut biasa digunakan pada lingkungan
UNIX.
b. void main()
void main{) berarti fungsi yang void dan tidak mengembalikan nilai status
program sehingga nilai status program tidak dapat diketahui. Biasanya dipakai pada
program C di lingkungan sistem operasi Windows.
7
F. FUNGSI REKURSIF
Fungsi rekursif adalah fungsi yang berisi dirinya sendiri atau fungsi yang
mendefinisikan dirinya sendiri, kadang kala sering disebut sebagai fungsi yang
memanggil dirinya sendiri. Fungsi rekursif merupakan fungsi matematis yang
berulang dan memiliki pola yang terstruktur, namun biasanya fungsi ini perlu
diperhatikan agar fungsi ini dapat berhenti dan tidak menghabiskan memori. Fungsi
rekursif merupakan fungsi yang harus digunakan secara hati-hati karena fungsi ini
dapat bersifat unlimited loop sehingga menyebabkan program hang up.
Beberapa ciri khas fungsi rekursif adalah sebagai berikut:
1 Kode program lebih singkat dan ada beberapa kasus yang memang lebih
mudah bila menggunakan fungsi rekursif.
2 Memakan memori yang lebih besar karena setiap kali bagian dirinya dipanggil
maka dibutuhkan sejumlah ruang memori tambahan.
3 Mengorbankan efisiensi dan kecepatan.
return_data_type function_name(parameter_list) {
...
function_name(...)
...
}
a) Faktorial
5! = 5 x 4 x 3 x 2 x 1
4! = 4 x 3 x 2 x 1
Berarti 5! = 5 x 4!
Salah satu cara untuk menghitung adalah dengan menggunakan loop, yang
mengalikan masing-masing bilangan dengan hasil yang diperoleh sebelumnya.
Penyelesaian dengan cara ini dinamakan iteratif, yang mana secara umum dapat di
definisikan sebagai
berikut
n! = (n)(n-1)(n-2) ... (1)
8
Penyelesaian bidang iteratif :
#include <stdio.h>
Int fact_it (int n)
{
Int i, fak;
/*****************************************************
****** * Menghitung sebuah factorial dengan proses looping
******************************************************
******
temp = 1;
for (i=1; i<=n; i++)
fak = fak * i;
return (fak) ;
}
Int main()
Int fac ;
Printf ( “masukan berapa faktorial : “ ) ;
scanf (“%d” ,&fac) ;
print f ( “Hasil faktorial dari adalah : %d\n”,
fact_it (fac) ;
}
9
n! = 1 jika n = 0 dan 1
n! = n*(n-1)!
0! =1
1! =1*(1-1)!
=1*0!
= 1*1
=1
2! = 2*(2-1)!
= 2*1
=2
3! = 3*(3-1)!
= 3*2!
=6
Penyelesaian program:
#includeb<stdio.h>
Int fact_rec (int n)
{
/*************************************************************
Menghitung sebuah factorial secara rekursif
**************************************************************
If ( n< 0 )
return 0;
else if (n == 0)
return 1;
else if (n == 1)
return 1;
else
return n * fact_rec (n-1)
}
Int main ()
{
Int fac;
print f ( “Masukan berapa faktorial : “ ) ;
scanf (“%d” ,&fac) ;
printf (“Hasil faktorial dari adalah : %d\n, fact_rec (fac) ;
;
}
10
Kondisi yang harus ditaati adalah:
1 Piringan tersebut hanya bias dipindahkan satu per satu.
2 Piringan yang lebih besar tidak boleh diletakkan di atas piringan yang lebih
kecil.
Algoritma:
#include <stdio.h>
N=3; towers(3,’A’,’C,’B’)
11
Towers(2,’A’,’B’,’C’) N=2; towers(2,’A’,’B’,’C’)
Towers(1,’B’,’A’,’C’) N=1;
Towers(1,’B’,’A’,’C’)
Piringan 2 dari B ke C Piringan 1 dari B ke A
(6) (5)
Towers(1,’A’,’C’,’B’) N=1;
Towers(1,’A’,’C’,’B’)
Piringan 1 dari A ke C
(7)
12
BAB III
PENUTUP
A. Kesimpulan
Pemprograman modular merupakan teknik pemprograman dimana
program yang biasanya cukup besar dibagi bagi menjadi beberapa bagian yang
lebih kecil sehingga kompleksitas program menjadi berkurang, masalah yang
kompleks dapat lebih mudah diselesaikan, dan akhirnya perlu deinisialisasi,
maka program tersebut sebaiknya dibagi menjadi 3 bagian yang lebih spesifik
sesuai fungsi masing masing.
Deklarasi fungsi (function prototype/ declaration) terdiri atas judul
fungsi dan tipe data yang akan dikembalikan (dapat berupa tipe data tertentu
atau bersifat void) tanpa adanya kode implementasi fungsi tersebut.
Sifat-sifat modul/ fungsi yang baik yaitu ,Nilai fain-in tinggi, Fan-out
rendah dan Self-contained tinggi.
Dalam membuat fungsi, yang perlu diperhatikan adalah data yang
diprlukan sebagai input, informasi apa yang harus diberikan oleh fungsi
pemanggilnya dan algoritma apa yang harus digunakan untuk mengolah data
sehingga menjadi informasi
Kategori function dalam C yaitu, Standard Library function, yaitu
fungsi-fungsi yang telah disediakan oleh C dalam file header atau library-nya.
Misalnya: system (“cls”), printf(), getch(). Untuk fungsi ini kita harus
mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengan
menggunakan preprosesor direktif: #include <conio.h>. Dan Programmer-
Defined function, adalah fungsi yang dibuat oleh programmer sendiri. Fungsi
ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari
program utama. Dan bisa dijadikan include-kan untuk penggunanya.
13
DAFTAR PUSTAKA
14