SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

7. pemrograman struktur
7. pemrograman struktur7. pemrograman struktur
7. pemrograman struktur
Roziq Bahtiar
 
C programming language notes (7)
C programming language notes (7)C programming language notes (7)
C programming language notes (7)
nakomuri
 
Pointer
PointerPointer
Pointer
windi1
 
C programming language notes (5)
C programming language notes (5)C programming language notes (5)
C programming language notes (5)
nakomuri
 

Was ist angesagt? (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
 

Andere mochten auch

2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan 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_data
Roziq Bahtiar
 
Informatica juridica caracteristica
Informatica juridica caracteristicaInformatica juridica caracteristica
Informatica juridica caracteristica
j071080
 

Andere mochten auch (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
 

Ähnlich wie 4. pemrograman fungsi

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
Devandy Enda
 
Struktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaStruktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatika
andhycicau
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
Budi Yono
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
Budi Yono
 
Materi kuliah 18 fungsi part 1
Materi kuliah 18   fungsi part 1Materi kuliah 18   fungsi part 1
Materi kuliah 18 fungsi part 1
kua
 

Ähnlich wie 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
 

Mehr von Roziq Bahtiar

6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointer
Roziq Bahtiar
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_string
Roziq Bahtiar
 
Open GL T0074 56 sm3
Open GL T0074 56 sm3Open GL T0074 56 sm3
Open GL T0074 56 sm3
Roziq Bahtiar
 
Open GL T0074 56 sm2
Open GL T0074 56 sm2Open GL T0074 56 sm2
Open GL T0074 56 sm2
Roziq Bahtiar
 

Mehr von 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
 

Kürzlich hochgeladen

bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
AtiAnggiSupriyati
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
HafidRanggasi
 

Kürzlich hochgeladen (20)

(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx(NEW) Template Presentasi UGM 2 (2).pptx
(NEW) Template Presentasi UGM 2 (2).pptx
 
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptxPEMANASAN GLOBAL - MATERI KELAS X MA.pptx
PEMANASAN GLOBAL - MATERI KELAS X MA.pptx
 
CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7CAPACITY BUILDING Materi Saat di Lokakarya 7
CAPACITY BUILDING Materi Saat di Lokakarya 7
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
 
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi  Profil Pelajar Pancasila.pdfaksi nyata sosialisasi  Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
 
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase BModul Ajar Bahasa Indonesia Kelas 4 Fase B
Modul Ajar Bahasa Indonesia Kelas 4 Fase B
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah DasarPPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
PPT Penjumlahan Bersusun Kelas 1 Sekolah Dasar
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
Prakarsa Perubahan ATAP (Awal - Tantangan - Aksi - Perubahan)
 
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase CModul Ajar Pendidikan Pancasila Kelas 5 Fase C
Modul Ajar Pendidikan Pancasila Kelas 5 Fase C
 
Integrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ikaIntegrasi nasional dalam bingkai bhinneka tunggal ika
Integrasi nasional dalam bingkai bhinneka tunggal ika
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptxPERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
PERAN PERAWAT DALAM PEMERIKSAAN PENUNJANG.pptx
 
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdfMAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
MAKALAH KELOMPOK 7 ADMINISTRASI LAYANAN KHUSUS.pdf
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
aksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajaraksi nyata penyebaran pemahaman merdeka belajar
aksi nyata penyebaran pemahaman merdeka belajar
 

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