SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Destaque

Common natural treatments
Common natural treatmentsCommon natural treatments
Common natural treatmentsKay Duncan
 
2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrograman2. teknik pemilihan dalam_pemrograman
2. teknik pemilihan dalam_pemrogramanRoziq Bahtiar
 
зал боевой и трудовой славы
зал боевой и трудовой славызал боевой и трудовой славы
зал боевой и трудовой славыserdj phil
 
3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrograman3. teknik looping dalam_pemrograman
3. teknik looping dalam_pemrogramanRoziq 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 promoRocío Morales
 
Informatica juridica caracteristica
Informatica juridica caracteristicaInformatica juridica caracteristica
Informatica juridica caracteristicaj071080
 

Destaque (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
 

Semelhante a 4. pemrograman fungsi

Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa cIzhan Nassuha
 
Intruksi Fundamental
Intruksi FundamentalIntruksi Fundamental
Intruksi FundamentalAkmal Fajar
 
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.pptxNi 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.pdfRizaJr
 
ALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANALGORITMA dan PEMROGRAMAN
ALGORITMA dan PEMROGRAMANBang Jo
 
Struktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaStruktur dasar input dan output aritmatika
Struktur dasar input dan output aritmatikaandhycicau
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritmaDhan junkie
 
Listing Program Penjualan Sepatu
Listing Program Penjualan SepatuListing Program Penjualan Sepatu
Listing Program Penjualan SepatuDwi 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 cIzhan Nassuha
 
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 AlgoritmaEnvaPya
 

Semelhante a 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
 

Mais de Roziq Bahtiar

Mais de 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
 

Último

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.pdfChananMfd
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdfanitanurhidayah51
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAAndiCoc
 
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxPPT AKUNTANSI KEUANGAN MENENGAH DUA.pptx
PPT AKUNTANSI KEUANGAN MENENGAH DUA.pptxssuser8905b3
 
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 PMMIGustiBagusGending
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxssuser50800a
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxIrfanAudah1
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDNurainiNuraini25
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...Kanaidi ken
 
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.pptxSlasiWidasmara1
 
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.pdfsdn3jatiblora
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiaNILAMSARI269850
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...Kanaidi ken
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfCandraMegawati
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxssuser35630b
 
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)MustahalMustahal
 

Último (20)

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
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKAMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA
 
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 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
 
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptxKontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
Kontribusi Islam Dalam Pengembangan Peradaban Dunia - KELOMPOK 1.pptx
 
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptxRefleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
Refleksi Mandiri Modul 1.3 - KANVAS BAGJA.pptx.pptx
 
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SDPPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
PPT AKSI NYATA KOMUNITAS BELAJAR .ppt di SD
 
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...PELAKSANAAN  + Link-Link MATERI Training_ "Effective INVENTORY &  WAREHOUSING...
PELAKSANAAN + Link-Link MATERI Training_ "Effective INVENTORY & WAREHOUSING...
 
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
 
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
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
presentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesiapresentasi lembaga negara yang ada di indonesia
presentasi lembaga negara yang ada di indonesia
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
RENCANA + Link2 Materi Pelatihan/BimTek "PTK 007 Rev-5 Thn 2023 (PENGADAAN) &...
 
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdfContoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
Contoh Laporan Observasi Pembelajaran Rekan Sejawat.pdf
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.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)
 

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