SlideShare a Scribd company logo
BAB VI PEMROGRAMAN FUNGSI
Pertemuan Minggu VII dan VIII
Alokasi Waktu

:

4 Jam Pertemuan

Standar Kompetensi

:

Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa
C

Kompetensi Dasar

:

Memahami program komputer yang mengandung unsur procedure dan fungsi

Indikator

:

Mahasiswa dapat memahami struktur program bahasa C yang mengandung unsur
procedure dan fungsi

:

Mahasiswa dapat membuat program dengan melibatkan struktur procedure dan fungsi

Dalam topic-topik sebelumnya kita telah memanfaatkan fungsi yang telah didefinisikan oleh C didalam
Pustaka (library) C itu sendiri, seprti sqrt (), pow (), dsb. Salah satu keunngulan pemrograman bahasa C
adalah bahwa seorang programmer dapat membuat Fungsi sendiri sesuai dengan kebutuhan program
aplikasi yang akan dikebangkan. Analogi fungsi adalah seperti halya kita ……
Suatu fungsi dapat diakses atau dipanggil dengan menuliskan nama fungsinya pada main program (fungsi
main ( ) ). Gambar dibawah ini mengilustrasikan program yang terdiri dari beberapa fungsi yang terkait
antara satu dengan yang lain.

Gambar 6.1
Diagram
fungsi

Struktur

pemanggilan

main()
{
function1();
……
fungtion2();

function1()
{
……
return;
}

function3()
{

function3();
……
function4();
……….
return;
}

}

function2()
{

}

……
return;

function4()
{
……
return;
}

Di beberapa literature ada yang membedakan antara pengertian fungsi dan procedure. Procedure diartikan
sebagai suatu bagian program yang menjalankan tugas tertentu yang kemudian dipanggil oleh fungsi
utama. Fungsi juga merupakan bagian dari program yang menjalankan tugas tertentu akan tetapi fungsi
mempunyai nilai yang akan di kembalikan ke fungsi utama ketika di panggil. Secara umum struktur
penamaan sebuah procedure dan fungsi adalah sebagai berikut:
void Nama_prosedure (void)

: struktur umum penamaan prosedure

int nama_fungsi (tipe_data parameter) : struktur umum penamaan fungsi

1
proses pendeklarasian fungsi ini biasanya terletak setelah penulisan library program, dibawah ini
merupakan salah satu cara pendeklarasian fungsi atau procedure
#include <conio.h>
#include <math.h>
#include <stdio.h>
………
int fungsi1 (int a, int b)
Void prosedure1 (void)
……..
Main()
{
………………..
………………..
}

6.1. PROSEDURE
Procedure lebih merupakan sebuah fungsi yang tidak memiliki parameter keluaran. Procedure
hanya digunakan untuk memecah program sehingga lebih mudah dalam pengelolaan dan
pengembangan selanjutnya. Procedure lebih ditekankan pada pemecahan tugas yang lebih spesifik
untuk menyederhanakan program dan mempermudah penanganan saat terjadi kesalahan. Contoh dibawah
ini akan menjelaskan penerapan procedure dalam suatu program yang bertujuan untuk mempermudah
pengelolaan program.
Contoh 6.1
#include <stdio.h>
#include <conio.h>
void luas(void);
void keliling(void);
main()
{
printf("Program Bangun Persegi Panjang");
luas();
keliling();
getch();
}
void luas(void)
{
int luasan, lebar, panjang;
lebar = 3;
panjang = 4;
luasan = panjang * lebar;
printf("nLuas nya adalah : %d",luasan);
}
void keliling(void)
{
int kelilingan, lebar, panjang;

2
lebar = 3;
panjang = 4;
kelilingan = (2*panjang) + (2*lebar);
printf("nKelilingnya adalah : %d",kelilingan);
}

Pada contoh 1.6 diatas bahwa program perhitungan persegi panjang yang menentukan luas dan keliling
dibagi menjadi tiga bagian program, bagian pertama adalah fungsi utama yaitu fungsi main(), bagian kedua
adalah procedure luas yang didefinisikan sebagai void luas (void), bagian ketiga adalah prosudure

keliling yang didefinisikan sebagai void keliling (void).
Pada contoh 6.1 jika kita akan menambahkan suatu proses perhitungan lain terkait dengan
persegi panjang semisal menghitung sisi diagonal persegi panjang, kita hanya perlu
menambahkan deklarasi baru dibawah deklarasi procedure yang sudah ada, selanjutnya tinggal
mendeskripsikan prosedure tersebut seperti pada deskripsi procedure luas dan keliling yang
sudah ada.
Contoh 6.2
#include <stdio.h>
#include <conio.h>
void luas(void);
void keliling(void);
void diagonal(void);
main()
{
printf("Program Bangun Persegi Panjang");
luas();
keliling();
diagonal();
getch();
}
void luas(void)
{
int luasan, lebar, panjang;
lebar = 3;
panjang = 4;
luasan = panjang * lebar;
printf("nLuas nya adalah : %d",luasan);
}
void keliling(void)
{
int kelilingan, lebar, panjang;
lebar = 3;
panjang = 4;
kelilingan = (2*panjang) + (2*lebar);

3
printf("nKelilingnya adalah : %d",kelilingan);
}
void diagonal(void)
{
int lebar, panjang, diagonal
lebar = 3;
panjang = 4;
diagonal = sqrt( (lebar*lebar) + (panjang*panjang) );
printf(“nPanjang diagonal adalah : %d”,diagonal);
}

6.2. FUNGSI
Procedure yang kita dipelajari di atas adalah bentuk paling sederhana dari sebuah fungsi. Fungsi biasanya
mempunyai parameter masukan atau keluaran yang nantinya akan dikeluarkan pada saat fungsi tersebut di
panggil, masih dengan program yang telah dikembangkan pada contoh 6.1, pada contoh dibawah ini
program tersebut akan dimodifikasi dengan menggunakan fungsi.
Contoh 6.2
#include <stdio.h>
#include <conio.h>
int luas(int x, int y);
main()
{
int panjang, lebar, luasan;
printf("Program Bangun Persegi Panjang");
printf("nMasukan Panjangnya : ");
scanf("%d",&panjang);
printf("nMasukan Lebarnya : ");
scanf("%d",&lebar);
luasan = luas(panjang,lebar);
printf("nLuas Persegi Panjang : %d",luasan);
getch();
}
int luas(int x, int y)
{
int hit_luas;
hit_luas = x * y;
return(hit_luas);
}

Pada program contoh 6.2 jika diperhatikan ada penulisan tipe data dan parameter yang digunakan dalam
pendeklarasian fungsinya. Fungsi dideklarasikan didahului dengan tipe data yang akan dikembalikan
kemudian didalam tanda kurung juga berisi variable dan tipe data yang akan diproses pada saat
pemanggilan fungsi : int luas(int x, int y).
4
Pada pendeskrisian fungsi luas diatas lebih ditekankan pada proses bagaimana menghitung luas dengan
melibatkan parameter yang ada, pada contoh diatas juga didapatkan keyword return yang menyatakan
pengembalian dari suatu proses ketika fungsi tersebut di panggil pada fungsi yang lain. Jika ingin
menambahkan suatu fungsi lagi terkait dengan perhitungan persegi panjang adalah sebagai berikut
Contoh 6.3
#include <stdio.h>
#include <conio.h>
int luas(int x, int y);
int keliling(int x, int y);
main()
{
int panjang, lebar, luasan, kel;
printf("Program Bangun Persegi Panjang");
printf("nMasukan Panjangnya : ");
scanf("%d",&panjang);
printf("nMasukan Lebarnya : ");
scanf("%d",&lebar);
luasan = luas(panjang,lebar);
kel = keliling(panjang,lebar);
printf("nLuas Persegi Panjang : %d",luasan);
printf("nKeliling Persegi Panjang : %d",kel);
getch();
}
int luas(int x, int y)
{
int hit_luas;
hit_luas = x * y;
return(hit_luas);
}
int keliling(int x, int y)
{
int hit_keliling;
hit_keliling = (2*x) + (2*y);
return(hit_keliling);
}

Pada contoh 6.3 terlihat ketika ingin menambahkan suatu fungsi, kita tinggal nenambahkan deklarasi
fungsi dibawah deklarasi fungsi yang terdahulu, selanjutnya dideskripsikan dibawah deskripsi fungsi
yang sudah ada dalam hal ini deskripsi fungsi untuk menghitung luas.

Pengayaan
Latihan 6.1

5
#include <stdio.h>
#include <conio.h>
int kabisat(int th);
main()
{
int tahun;
printf("Masukan Tahun : ");
scanf("%d",&tahun);
kabisat(tahun);
getch();
}
int kabisat(int th)
{
if(th%4==0)
printf("Kabisat");
else
printf("Bukan Kabisat");
return(th);
}
Latihan 6.2
#include <stdio.h>
#include <conio.h>
int fak(int fk);
main()
{
int nilai,ft;
printf("Masukan Nilai: ");
scanf("%d",&nilai)
printf("Nilai Faktorial dari %d adalah %d",nilai,fak(nilai));
getch();
}
int fak(int fk)
{
int i,f;
if(fk==0)
{
f=1;
}
if(fk > 0)
{
f=1;
for (i=1; i<=fk; i++)
{
f=f*i;

6
}
return(f);
}
}

7

More Related Content

What's hot

Praktikum
PraktikumPraktikum
Praktikum
inggar tri
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman strukturRoziq Bahtiar
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
inggar tri
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)nakomuri
 
Pengantar R
Pengantar RPengantar R
Pengantar R
Raden Maulana
 
Pointer
PointerPointer
Pointerwindi1
 
Tugas sp algo
Tugas sp algoTugas sp algo
Tugas sp algo
andredavid17
 
Dasar c
Dasar cDasar c
Dasar c
Toni Yulianto
 
Tipe data
Tipe dataTipe data
Tipe data
kafin0607
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)nakomuri
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++
Sparisoma Viridi
 
Modul pascal
Modul pascalModul pascal
Modul pascal
shediazz
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
Kelinci Coklat
 
Materi 3&4 prosedur
Materi 3&4   prosedurMateri 3&4   prosedur
Materi 3&4 prosedur
Alfa Felle
 
Pertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan MacroPertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan Macro
Endang Retnoningsih
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
Kelinci Coklat
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
Irwin andriyanto
 

What's hot (20)

Praktikum
PraktikumPraktikum
Praktikum
 
7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman struktur
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)
 
Pointer c++
Pointer c++Pointer c++
Pointer c++
 
Pengantar R
Pengantar RPengantar R
Pengantar R
 
Pointer
PointerPointer
Pointer
 
Tugas sp algo
Tugas sp algoTugas sp algo
Tugas sp algo
 
Dasar c
Dasar cDasar c
Dasar c
 
Tipe data
Tipe dataTipe data
Tipe data
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)
 
Perkenalan Pemrograman C++
Perkenalan Pemrograman C++Perkenalan Pemrograman C++
Perkenalan Pemrograman C++
 
Modul pascal
Modul pascalModul pascal
Modul pascal
 
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur1. Algoritma, Struktur Data dan Pemrograman Terstruktur
1. Algoritma, Struktur Data dan Pemrograman Terstruktur
 
Materi 3&4 prosedur
Materi 3&4   prosedurMateri 3&4   prosedur
Materi 3&4 prosedur
 
Pertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan MacroPertemuan 10 Pointer dan Macro
Pertemuan 10 Pointer dan Macro
 
Pointer
PointerPointer
Pointer
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 
Algoritma flowchart
Algoritma flowchartAlgoritma flowchart
Algoritma flowchart
 
Tugas alogaritma
Tugas alogaritmaTugas alogaritma
Tugas alogaritma
 

Viewers also liked

Common natural treatments
Common natural treatmentsCommon natural treatments
Common natural treatments
Kay Duncan
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrogramanRoziq Bahtiar
 
Логистика севера Spe Москва окт 2013
Логистика севера Spe  Москва окт  2013Логистика севера Spe  Москва окт  2013
Логистика севера Spe Москва окт 2013
Александр Головизнин
 
зал боевой и трудовой славы
зал боевой и трудовой славызал боевой и трудовой славы
зал боевой и трудовой славы
serdj phil
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman
Roziq Bahtiar
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_dataRoziq Bahtiar
 
Diplomado modulos promo
Diplomado modulos promoDiplomado modulos promo
Diplomado modulos promo
Rocío Morales
 
Informatica juridica caracteristica
Informatica juridica caracteristicaInformatica juridica caracteristica
Informatica juridica caracteristica
j071080
 

Viewers also liked (10)

Common natural treatments
Common natural treatmentsCommon natural treatments
Common natural treatments
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman
 
Логистика севера Spe Москва окт 2013
Логистика севера Spe  Москва окт  2013Логистика севера Spe  Москва окт  2013
Логистика севера Spe Москва окт 2013
 
зал боевой и трудовой славы
зал боевой и трудовой славызал боевой и трудовой славы
зал боевой и трудовой славы
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman
 
1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data1. variable identifier dan_tipe_data
1. variable identifier dan_tipe_data
 
Alpro tutor
Alpro tutorAlpro tutor
Alpro tutor
 
Diplomado modulos promo
Diplomado modulos promoDiplomado modulos promo
Diplomado modulos promo
 
Mehlomakulu N N ethesis 20FEB15
Mehlomakulu N N ethesis 20FEB15Mehlomakulu N N ethesis 20FEB15
Mehlomakulu N N ethesis 20FEB15
 
Informatica juridica caracteristica
Informatica juridica caracteristicaInformatica juridica caracteristica
Informatica juridica caracteristica
 

Similar to 4. pemrograman fungsi

Modul c++
Modul c++Modul c++
Modul c++
Kiki MochRifki
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
Izhan Nassuha
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
Akmal Fajar
 
07 function 2
07 function 207 function 2
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaDevandy Enda
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
Ni Kadek Lia Mastika Dewi
 
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
RizaJr
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
Bang Jo
 
Fungsi
FungsiFungsi
Fungsi
Rahmat Rijal
 
Struktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaStruktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatika
andhycicau
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritma
Dhan junkie
 
C++
C++C++
Listing Program Penjualan Sepatu
Listing Program Penjualan SepatuListing Program Penjualan Sepatu
Listing Program Penjualan Sepatu
Dwi Mardianti
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1Budi Yono
 
Praktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa cPraktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa c
Izhan Nassuha
 
C++
C++C++
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1Budi Yono
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1kua
 
Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++
KuliahKita
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
EnvaPya
 

Similar to 4. pemrograman fungsi (20)

Modul c++
Modul c++Modul c++
Modul c++
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi Fundamental
 
07 function 2
07 function 207 function 2
07 function 2
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
 
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptxDDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
DDP_ProgramHitung_Ni Kadek Lia Mastika Dewi.pptx
 
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdfDasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
Dasar-Pemrograman-Modul-1-Pengenalan-Pemrograman.pdf
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMAN
 
Fungsi
FungsiFungsi
Fungsi
 
Struktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaStruktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatika
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritma
 
C++
C++C++
C++
 
Listing Program Penjualan Sepatu
Listing Program Penjualan SepatuListing Program Penjualan Sepatu
Listing Program Penjualan Sepatu
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
 
Praktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa cPraktikum fungsi dasar bahasa c
Praktikum fungsi dasar bahasa c
 
C++
C++C++
C++
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
 
Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++Algoritma dan Struktur Data - Pengenalan Bahasa C++
Algoritma dan Struktur Data - Pengenalan Bahasa C++
 
Laporan Praktikum Algoritma
Laporan Praktikum AlgoritmaLaporan Praktikum Algoritma
Laporan Praktikum Algoritma
 

More from Roziq Bahtiar

Techarea company profile
Techarea company profileTecharea company profile
Techarea company profile
Roziq Bahtiar
 
static and dynamic routing
static and dynamic routingstatic and dynamic routing
static and dynamic routing
Roziq Bahtiar
 
Perintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating SistemPerintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating Sistem
Roziq Bahtiar
 
Pengantar algoritma pemrograman
Pengantar algoritma pemrogramanPengantar algoritma pemrograman
Pengantar algoritma pemrograman
Roziq Bahtiar
 
Flowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulatFlowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulat
Roziq Bahtiar
 
Tarby magazine salafiyah kajen
Tarby magazine  salafiyah kajenTarby magazine  salafiyah kajen
Tarby magazine salafiyah kajen
Roziq Bahtiar
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointerRoziq Bahtiar
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_stringRoziq Bahtiar
 
Eigen
EigenEigen
3 piksel_dan_histogram
 3 piksel_dan_histogram 3 piksel_dan_histogram
3 piksel_dan_histogram
Roziq Bahtiar
 
Open GL T0074 56 sm3
Open GL T0074 56 sm3Open GL T0074 56 sm3
Open GL T0074 56 sm3Roziq Bahtiar
 
Open GL T0074 56 sm2
Open GL T0074 56 sm2Open GL T0074 56 sm2
Open GL T0074 56 sm2Roziq Bahtiar
 

More from Roziq Bahtiar (20)

Techarea company profile
Techarea company profileTecharea company profile
Techarea company profile
 
static and dynamic routing
static and dynamic routingstatic and dynamic routing
static and dynamic routing
 
Perintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating SistemPerintah perintah dasar linux Operating Sistem
Perintah perintah dasar linux Operating Sistem
 
Pengantar algoritma pemrograman
Pengantar algoritma pemrogramanPengantar algoritma pemrograman
Pengantar algoritma pemrograman
 
Flowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulatFlowchart progrm linear bilangan bulat
Flowchart progrm linear bilangan bulat
 
Tarby magazine salafiyah kajen
Tarby magazine  salafiyah kajenTarby magazine  salafiyah kajen
Tarby magazine salafiyah kajen
 
Pcd 10
Pcd 10Pcd 10
Pcd 10
 
Pcd 11
Pcd 11Pcd 11
Pcd 11
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointer
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_string
 
Pcd 7
Pcd 7Pcd 7
Pcd 7
 
Pcd 5
Pcd 5Pcd 5
Pcd 5
 
Pcd 4
Pcd 4Pcd 4
Pcd 4
 
Eigen
EigenEigen
Eigen
 
3 piksel_dan_histogram
 3 piksel_dan_histogram 3 piksel_dan_histogram
3 piksel_dan_histogram
 
Pcd 8
Pcd 8Pcd 8
Pcd 8
 
2 pengolahan_citra
 2 pengolahan_citra 2 pengolahan_citra
2 pengolahan_citra
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Open GL T0074 56 sm3
Open GL T0074 56 sm3Open GL T0074 56 sm3
Open GL T0074 56 sm3
 
Open GL T0074 56 sm2
Open GL T0074 56 sm2Open GL T0074 56 sm2
Open GL T0074 56 sm2
 

Recently uploaded

Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
muhammadRifai732845
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
astridamalia20
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
agusmulyadi08
 
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
AgusRahmat39
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Fathan Emran
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
Kurnia Fajar
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
erlita3
 
Laporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdfLaporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdf
yuniarmadyawati361
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
Dedi Dwitagama
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
heridawesty4
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
lindaagina84
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Galang Adi Kuncoro
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
nawasenamerta
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
TarkaTarka
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
gloriosaesy
 
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docxForm B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
EkoPutuKromo
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
muhammadyudiyanto55
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
DataSupriatna
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
DEVI390643
 
tugas pai kelas 10 rangkuman bab 10 smk madani bogor
tugas pai kelas 10 rangkuman bab 10 smk madani bogortugas pai kelas 10 rangkuman bab 10 smk madani bogor
tugas pai kelas 10 rangkuman bab 10 smk madani bogor
WILDANREYkun
 

Recently uploaded (20)

Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdfTugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
Tugas Mandiri 1.4.a.4.3 Keyakinan Kelas.pdf
 
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptxSOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
SOSIALISASI PPDB TAHUN AJARAN 2024-2025.pptx
 
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagjaPi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
Pi-2 AGUS MULYADI. S.Pd (3).pptx visi giru penggerak dan prakrsa perubahan bagja
 
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
ppt-menghindari-marah-ghadab-membiasakan-kontrol-diri-dan-berani-membela-kebe...
 
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum MerdekaModul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
Modul Ajar PAI dan Budi Pekerti Kelas 2 Fase A Kurikulum Merdeka
 
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptxPPT Aksi Nyata Diseminasi Modul 1.4.pptx
PPT Aksi Nyata Diseminasi Modul 1.4.pptx
 
Program Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdfProgram Kerja Kepala Sekolah 2023-2024.pdf
Program Kerja Kepala Sekolah 2023-2024.pdf
 
Laporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdfLaporan wakil kepala sekolah bagian Kurikulum.pdf
Laporan wakil kepala sekolah bagian Kurikulum.pdf
 
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.pptKOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
KOMITMEN MENULIS DI BLOG KBMN PB PGRI.ppt
 
Laporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdfLaporan pembina seni tari - www.kherysuryawan.id.pdf
Laporan pembina seni tari - www.kherysuryawan.id.pdf
 
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docxINSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
INSTRUMEN PENILAIAN PRAKTIK KINERJA KS Dok Rating Observasi (1).docx
 
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 BandungBahan Sosialisasi PPDB_1 2024/2025 Bandung
Bahan Sosialisasi PPDB_1 2024/2025 Bandung
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdfSapawarga - Manual Guide PPDB Tahun 2024.pdf
Sapawarga - Manual Guide PPDB Tahun 2024.pdf
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
 
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docxForm B1 Rubrik Observasi Presentasi Visi Misi -1.docx
Form B1 Rubrik Observasi Presentasi Visi Misi -1.docx
 
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptxPRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
PRESENTASI OBSERVASI PENGELOLAAN KINERJA KEPALA SEKOLAH.pptx
 
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdfNUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
NUMERASI KOMPETENSI PENDIDIK TAHAP CAKAP DAN MAHIR.pdf
 
Permainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaanPermainan Wiwi Wowo aksi nyata berkebhinekaan
Permainan Wiwi Wowo aksi nyata berkebhinekaan
 
tugas pai kelas 10 rangkuman bab 10 smk madani bogor
tugas pai kelas 10 rangkuman bab 10 smk madani bogortugas pai kelas 10 rangkuman bab 10 smk madani bogor
tugas pai kelas 10 rangkuman bab 10 smk madani bogor
 

4. pemrograman fungsi

  • 1. BAB VI PEMROGRAMAN FUNGSI Pertemuan Minggu VII dan VIII Alokasi Waktu : 4 Jam Pertemuan Standar Kompetensi : Mahasiswa dapat membuat program komputer sederhana dengan menggunakan bahasa C Kompetensi Dasar : Memahami program komputer yang mengandung unsur procedure dan fungsi Indikator : Mahasiswa dapat memahami struktur program bahasa C yang mengandung unsur procedure dan fungsi : Mahasiswa dapat membuat program dengan melibatkan struktur procedure dan fungsi Dalam topic-topik sebelumnya kita telah memanfaatkan fungsi yang telah didefinisikan oleh C didalam Pustaka (library) C itu sendiri, seprti sqrt (), pow (), dsb. Salah satu keunngulan pemrograman bahasa C adalah bahwa seorang programmer dapat membuat Fungsi sendiri sesuai dengan kebutuhan program aplikasi yang akan dikebangkan. Analogi fungsi adalah seperti halya kita …… Suatu fungsi dapat diakses atau dipanggil dengan menuliskan nama fungsinya pada main program (fungsi main ( ) ). Gambar dibawah ini mengilustrasikan program yang terdiri dari beberapa fungsi yang terkait antara satu dengan yang lain. Gambar 6.1 Diagram fungsi Struktur pemanggilan main() { function1(); …… fungtion2(); function1() { …… return; } function3() { function3(); …… function4(); ………. return; } } function2() { } …… return; function4() { …… return; } Di beberapa literature ada yang membedakan antara pengertian fungsi dan procedure. Procedure diartikan sebagai suatu bagian program yang menjalankan tugas tertentu yang kemudian dipanggil oleh fungsi utama. Fungsi juga merupakan bagian dari program yang menjalankan tugas tertentu akan tetapi fungsi mempunyai nilai yang akan di kembalikan ke fungsi utama ketika di panggil. Secara umum struktur penamaan sebuah procedure dan fungsi adalah sebagai berikut: void Nama_prosedure (void) : struktur umum penamaan prosedure int nama_fungsi (tipe_data parameter) : struktur umum penamaan fungsi 1
  • 2. proses pendeklarasian fungsi ini biasanya terletak setelah penulisan library program, dibawah ini merupakan salah satu cara pendeklarasian fungsi atau procedure #include <conio.h> #include <math.h> #include <stdio.h> ……… int fungsi1 (int a, int b) Void prosedure1 (void) …….. Main() { ……………….. ……………….. } 6.1. PROSEDURE Procedure lebih merupakan sebuah fungsi yang tidak memiliki parameter keluaran. Procedure hanya digunakan untuk memecah program sehingga lebih mudah dalam pengelolaan dan pengembangan selanjutnya. Procedure lebih ditekankan pada pemecahan tugas yang lebih spesifik untuk menyederhanakan program dan mempermudah penanganan saat terjadi kesalahan. Contoh dibawah ini akan menjelaskan penerapan procedure dalam suatu program yang bertujuan untuk mempermudah pengelolaan program. Contoh 6.1 #include <stdio.h> #include <conio.h> void luas(void); void keliling(void); main() { printf("Program Bangun Persegi Panjang"); luas(); keliling(); getch(); } void luas(void) { int luasan, lebar, panjang; lebar = 3; panjang = 4; luasan = panjang * lebar; printf("nLuas nya adalah : %d",luasan); } void keliling(void) { int kelilingan, lebar, panjang; 2
  • 3. lebar = 3; panjang = 4; kelilingan = (2*panjang) + (2*lebar); printf("nKelilingnya adalah : %d",kelilingan); } Pada contoh 1.6 diatas bahwa program perhitungan persegi panjang yang menentukan luas dan keliling dibagi menjadi tiga bagian program, bagian pertama adalah fungsi utama yaitu fungsi main(), bagian kedua adalah procedure luas yang didefinisikan sebagai void luas (void), bagian ketiga adalah prosudure keliling yang didefinisikan sebagai void keliling (void). Pada contoh 6.1 jika kita akan menambahkan suatu proses perhitungan lain terkait dengan persegi panjang semisal menghitung sisi diagonal persegi panjang, kita hanya perlu menambahkan deklarasi baru dibawah deklarasi procedure yang sudah ada, selanjutnya tinggal mendeskripsikan prosedure tersebut seperti pada deskripsi procedure luas dan keliling yang sudah ada. Contoh 6.2 #include <stdio.h> #include <conio.h> void luas(void); void keliling(void); void diagonal(void); main() { printf("Program Bangun Persegi Panjang"); luas(); keliling(); diagonal(); getch(); } void luas(void) { int luasan, lebar, panjang; lebar = 3; panjang = 4; luasan = panjang * lebar; printf("nLuas nya adalah : %d",luasan); } void keliling(void) { int kelilingan, lebar, panjang; lebar = 3; panjang = 4; kelilingan = (2*panjang) + (2*lebar); 3
  • 4. printf("nKelilingnya adalah : %d",kelilingan); } void diagonal(void) { int lebar, panjang, diagonal lebar = 3; panjang = 4; diagonal = sqrt( (lebar*lebar) + (panjang*panjang) ); printf(“nPanjang diagonal adalah : %d”,diagonal); } 6.2. FUNGSI Procedure yang kita dipelajari di atas adalah bentuk paling sederhana dari sebuah fungsi. Fungsi biasanya mempunyai parameter masukan atau keluaran yang nantinya akan dikeluarkan pada saat fungsi tersebut di panggil, masih dengan program yang telah dikembangkan pada contoh 6.1, pada contoh dibawah ini program tersebut akan dimodifikasi dengan menggunakan fungsi. Contoh 6.2 #include <stdio.h> #include <conio.h> int luas(int x, int y); main() { int panjang, lebar, luasan; printf("Program Bangun Persegi Panjang"); printf("nMasukan Panjangnya : "); scanf("%d",&panjang); printf("nMasukan Lebarnya : "); scanf("%d",&lebar); luasan = luas(panjang,lebar); printf("nLuas Persegi Panjang : %d",luasan); getch(); } int luas(int x, int y) { int hit_luas; hit_luas = x * y; return(hit_luas); } Pada program contoh 6.2 jika diperhatikan ada penulisan tipe data dan parameter yang digunakan dalam pendeklarasian fungsinya. Fungsi dideklarasikan didahului dengan tipe data yang akan dikembalikan kemudian didalam tanda kurung juga berisi variable dan tipe data yang akan diproses pada saat pemanggilan fungsi : int luas(int x, int y). 4
  • 5. Pada pendeskrisian fungsi luas diatas lebih ditekankan pada proses bagaimana menghitung luas dengan melibatkan parameter yang ada, pada contoh diatas juga didapatkan keyword return yang menyatakan pengembalian dari suatu proses ketika fungsi tersebut di panggil pada fungsi yang lain. Jika ingin menambahkan suatu fungsi lagi terkait dengan perhitungan persegi panjang adalah sebagai berikut Contoh 6.3 #include <stdio.h> #include <conio.h> int luas(int x, int y); int keliling(int x, int y); main() { int panjang, lebar, luasan, kel; printf("Program Bangun Persegi Panjang"); printf("nMasukan Panjangnya : "); scanf("%d",&panjang); printf("nMasukan Lebarnya : "); scanf("%d",&lebar); luasan = luas(panjang,lebar); kel = keliling(panjang,lebar); printf("nLuas Persegi Panjang : %d",luasan); printf("nKeliling Persegi Panjang : %d",kel); getch(); } int luas(int x, int y) { int hit_luas; hit_luas = x * y; return(hit_luas); } int keliling(int x, int y) { int hit_keliling; hit_keliling = (2*x) + (2*y); return(hit_keliling); } Pada contoh 6.3 terlihat ketika ingin menambahkan suatu fungsi, kita tinggal nenambahkan deklarasi fungsi dibawah deklarasi fungsi yang terdahulu, selanjutnya dideskripsikan dibawah deskripsi fungsi yang sudah ada dalam hal ini deskripsi fungsi untuk menghitung luas. Pengayaan Latihan 6.1 5
  • 6. #include <stdio.h> #include <conio.h> int kabisat(int th); main() { int tahun; printf("Masukan Tahun : "); scanf("%d",&tahun); kabisat(tahun); getch(); } int kabisat(int th) { if(th%4==0) printf("Kabisat"); else printf("Bukan Kabisat"); return(th); } Latihan 6.2 #include <stdio.h> #include <conio.h> int fak(int fk); main() { int nilai,ft; printf("Masukan Nilai: "); scanf("%d",&nilai) printf("Nilai Faktorial dari %d adalah %d",nilai,fak(nilai)); getch(); } int fak(int fk) { int i,f; if(fk==0) { f=1; } if(fk > 0) { f=1; for (i=1; i<=fk; i++) { f=f*i; 6