Mudul 11&12
Di Susun Oleh :
I Gde Bagus Ngurah Aditya Darma Giri
Nim:
19101160
Parameter
Pada prosedur dan fungsi (dibahas pada pertemuan berikutnya) akan melibatkan penggunaan
parameter. Parameter adalah suatu variable yang berfungsi sebagai penampung nilai pada prosedur atau
fungsi, yang diberikan oleh pemanggil prosedur atau fungsi. Parameter yang dikirmkan dari modul utama
ke modul prosedur disebut dengan parameter nyata (actual parameter) dan parameter yang ada dan
dituliskan pada judul prosedur disebut dengan parameter formal (formal parameter).
Proses pengiriman data lewat parameter nyata ke parameter formal disebut dengan parameter
passing. Parameter nyata dan parameter formal harus dengan tipe yang sama.
a. Pass by Value
Parameter yang dikirimkan berupa nilai (value)nya saja. Jadi apabila terjadi pengubahan nilai
pada prosedur ataupun fungsi tidak akan mempengaruhi nilai pada variabel yang
dipassingkan, atau yang dikirimkan.
b. Pass by Reference
Parameter yang dikirimkan berupa acuan. Jadi apabila terjadi pengubahan nilai pada
prosedur ataupun fungsi akan mempengaruhi nilai pada variabel yang dipassingkan, atau
yang dikirimkan.
Terdapat dua jenis prosedur, yaitu prosedur dengan parameter dan prosedur tanpa parameter.
Berikut format penulisan pendeklarasian prosedur yang memiliki parameter:
Selain prosedur dengan parameter, terdapat pula prosedur yang tidak memiliki parameter.Berikut
format prosedur tanpa parameter:
procedure nama_prosedur()
{
tipe_data variabel1;
tipe_data variabel2;
......
......
Prenyataan_1;
Prenyataan_2;
Prenyataan_3;
.......
.......
}
KEGIATAN PRAKTIKUM
Buatlah projek baru dengan nama ModProsedur, buat 3 file dalam projek tersebut :
1. header.h
2. function.c
3. main.c
int main()
{
tampil(); return 0;
}
Setelah pekerjaan tersimpan, lakukan kompilasi projek dengan menekan F9 dan jalankan
program dengan menekan F10. Amatilah hasilnya!
Pembahasan (Modul 12)
Pada dasarnya fungsi atau function maupun prosedur adalah sama. Fungsi maupun prosedur
sama-sama merupakan subprogram. Selain itu, fungsi dan prosedur dapat digunakan atau dipanggil
berkali-kali atau berulang-ulang dalam sebuah program. Namun, fungsi lebih cenderung digunakan
untuk membuat perintah-perintah yang bersifat perhitungan. Selain itu, perbedaan antara fungsi dan
prosedur adalah fungsi memiliki pengembalian nilai, sehingga pada saat dipanggil, sebuah fugnsi dapat
langsung digunakan untuk mengisikan ekspresi yang ada. Dalam bahasa pemrograman C, fungsi
didefinisikan dengan function. Berikut format penulisan untuk mendeklarasikan sebuah function:
void tampil (); (merupakan sebuah fungsi dengan variable tampil. Void memiliki arti
“kosong” sehingga Fungsi void sendiri tidak mengembalikan nilai keluaran yang didapat dari
proses tersebut.)
//header
void tampil ()(merupakan sebuah fungsi dengan variable tampil. Void memiliki arti
“kosong” sehingga Fungsi void sendiri tidak mengembalikan nilai keluaran yang didapat dari
proses tersebut.)
{
printf("Hallo, ini percobaan pertama prosedur modul 11");
(perintah yang digunakan untuk mencetak kalimat dalam tanda petik.)
}
//function
int main ()(adalah fungsi pertama yang akan dijalankan ketika program dimulai/dieksekusi.
Penggunaan “int” sendiri, berarti menyatakan bahwa program tersebut memberikan nilai balik
berupa integer.)
{
}
//main
Output :
Contoh 2.
#include<stdio.h> (merupakan fungsi dasar sebuah header. Stdio adalah singkatan dari
standar input output yang merupakan header standar yang digunakan dalam Bahasa c.)
void tulispagar (int n); (merupakan sebuah fungsi dengan variable tulis pagar
dengan parameter int n. Void memiliki arti “kosong” sehingga Fungsi void sendiri tidak
mengembalikan nilai keluaran yang didapat dari proses tersebut.)
//header
int main ()(adalah fungsi pertama yang akan dijalankan ketika program
dimulai/dieksekusi. Penggunaan “int” sendiri, berarti menyatakan bahwa program tersebut
memberikan nilai balik berupa integer.)
return 0; (menyatakan bahwa nilai balik program adalah nol, nilai nol biasa
digunakan untuk menyatakan bahwa program berhasil melaksanakan tugas yang
dibebankan.)
}
//main
Output :
Contoh 3
void persegi(float sisi); (sebuah bentuk deklarasi prosedur dengan float sisi
sebagai parameternya.)
int pil; (deklarasi variable pil (pilihan) dengan tipe data integer.)
float sisi,panjang,lebar,alas,tinggi,d1,d2; (deklarasi variable sisi,
panjang, lebar, alas, tinggi, d1, d2 dengan tipe data float.)
printf("======Menu Aplikasi======\n"); (perintah untuk mencetak
kalimat dalam tanda petik.)
printf("1. Menghitung luas persegi.\n");(perintah untuk mencetak
kalimat dalam tanda petik.)
printf("2. Menghitung luas persegi panjang.\n");(perintah untuk
mencetak kalimat dalam tanda petik.)
printf("3. Menghitung luas jajar genjang.\n");(perintah untuk
mencetak kalimat dalam tanda petik.)
printf("4. Menghitung luas layang-layang.\n");(perintah untuk
mencetak kalimat dalam tanda petik.)
printf("\nMasukkan pilihan anda : ");scanf("%d",&pil);
(perintah untuk mencetak kalimat dalam tanda petik dan membaca nilai yang diinputkan pada
program.)
switch(pil)(merupakan sebuah tahap dimana program akan melakukan pengecekan
kondisi dan menentukan bagian program atau statement mana yang akan dijalankan jika kondisi
tertentu terpenuhi.) {
return 0; (menyatakan bahwa nilai balik program adalah nol, nilai nol biasa
digunakan untuk menyatakan bahwa program berhasil melaksanakan tugas yang dibebankan.)
}
//main
Output :
Modul 12 Pembahasan
Buatlah projek baru dengan nama ModFunngsi, buat 3 file dalam projek tersebut :
1. header.h
2. function.c
3. main.c
#include <conio.h>
#include <stdio.h>
float kali(float a,float b);
Salinlah coding program di bawah ini ke dalam file function.c :
#include "header.h"
float kali(float a,float b)
{
return a*b;
}
File function.c
#include "header.h"
float perkalian(float a, float b)
{
return a*b;
}
File main.c
#include "header.h"
/* run this program using the console pauser or add your own
getch, system("pause") or input loop */
int main() {
float a,b;
printf("Masukkan nilai pertama : ");scanf("%f",&a);
printf("Masukkan nilai kedua : ");scanf("%f",&b);
printf("Hasil perkalian : %f",perkalian(a,b));
return 0;
}
Bab III
Tugas
Modul 11
Soal 1.
FUNCTION.C
#include”header.h”
MAIN.C
#include”header.h”
int main()
{
float alas,tinggi,luas;
HEADER.H
#include<stdio.h>
#include<stdlib.h>
void segitiga(float alas, float tinggi);
output :
Soal 2.
Header.h
#include<stdio.h>
#include<stdlib.h>
void ppanjang();
function.c
#include"header.h"
void ppanjang()
{
int panjang,lebar,luas;
luas=panjang*lebar;
}
Main.c
#include"header.h"
int main()
{
int panjang,lebar;
int luas;
luas=panjang*lebar;
printf("\nLuas persegi panjang : %d",luas);
return 0;
}
Output :
Soal 3.
FUNCTION.C (GAJI)
#include"header.h"
if (strcmp(golongan, "1")==0)
{
gajipokok=2000000;
}
else if (strcmp(golongan, "2")==0)
{
gajipokok=3000000;
}
else if (strcmp(golongan, "3")==0)
{
gajipokok=4000000;
}
else
{
printf("golongan salah!");
}
if (strcmp(status, "1")==0)
{
total_gaji=gajipokok;
tunjangan=0;
}
else if (strcmp(status, "2")==0)
{
printf("masukkan jumlah anak :"); scanf
("%d",&jmlh_anak);
tunjangan_rumahtangga= 0.5*gajipokok;
if (jmlh_anak=0)
{
total_gaji= gajipokok+tunjangan_rumahtangga;
tunjangan=tunjangan_rumahtangga;
}
else
{
tunjangan_anak=jmlh_anak*0.2*gajipokok;
total_gaji=
gajipokok+tunjangan_rumahtangga+tunjangan_anak;
tunjangan=tunjangan_rumahtangga+tunjangan_anak;
}
}
else
{
printf("status salah!");
}
printf("\n-----------------------------------\n");
printf("\nNama : %s",nama);
printf("\ngolongan : %s",golongan);
printf("\nstatus : %s", status);
printf("\nGaji Pokok : %.2f", gajipokok);
printf("\ntunjangan : %.2f", tunjangan);
printf("\ntotal gaji : %.2f",total_gaji);
}
FUNCTION2.C (KAMAR)
#include"header.h"
if (strcmp(jenis,"1")==0)
{
harga=650000;
}
if (strcmp(jenis,"2")==0)
{
harga=900000;
}
if (strcmp(jenis,"3")==0)
{
harga=1200000;
}
if (strcmp(jenis,"4")==0)
{
harga=1500000;
}
total_harga=harga*lama;
printf("total harga : %d", total_harga);
}
MAIN.C
#include"header.h"
int main()
{
int pilihan, lama;
char nama[10], golongan[3], status[2], jenis[4];
float total_gaji;
printf("-----MENU-----\n");
printf("1. Menghitung Gaji\n");
printf("2. Booking kamar hotel\n");
printf("3. keluar\n");
printf("Masukkan pilihan anda : "); scanf("%d",&pilihan);
switch (pilihan)
{
case 1:
printf("\n-----Menghitung gaji-----\n");
printf("Nama pegawai :");
scanf("%s",&nama);
printf("Golongan Pegawai (1/2/3) :"); scanf
("%s",&golongan);
printf("status (1. lajang/ 2.menikah) :");
scanf("%s",&status);
case 2:
printf("\n-----Booking Kamar Hotel-----\n");
printf("Nama Tamu :"); scanf("%s",&nama);
printf("\n-----JENIS KAMAR-----");
printf("\n 1. Single room \n 2. Double room \n 3.
Deluxe room \n 4. Suite room \n ");
printf("pilih jenis kamar :"); scanf("%s",
jenis);
printf("lama mengiinap :"); scanf("%d",
&lama);
default:
printf("end");
break;
}
return 0;
}
HEADER.H
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>