Anda di halaman 1dari 11

PRAKTIKUM 14

KONSEP PEMROGRAMAN

LAPORAN RESMI
FUNGSI PARAMETER FORMAL & AKTUAL

Oleh :
I Gede Raka Sadiantara
D3 Teknik Informatika
A 2103191002

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


TAHUN AJARAN
2019/2020
1. Untuk setiap listing program dari percobaan-percobaan di atas, ambil capture outputnya.
1) a. Definisikan sebuah fungsi ganjil() yang memilliki sebuah parameter bilangan
bulat dan mengembalikan nilai 1 jika parameter yang diberikan adalah bilangan ganjil
dan mengembalikan nilai 0 jika parameter tsb bukan bilangan ganjil
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat function main untuk memanggil function ganjil() yang menerima input
sebuah bilangan bulat yang akan ditentukan ganjil/genapnya. Tampilkan pesannya
(ganjil/genap) dalam main().
 Listing Program
#include <stdio.h>
#include <stdlib.h>
int ganjil(n);

int main()
{
int n, hasil;

printf("Masukkan bilangan :
"); scanf("%d", &n);
hasil=ganjil(n);
if(hasil==1)
{printf("Bilangan Ganjil\n");}
else
{printf("Bilangan Genap\n");}
}
int ganjil(n)
{
if(n%2==0) {
return(0);
}
else{ retu
rn(1);
}
}

 Output
 Analisa
 Pada program ini, kita diminta untuk membuat sebuah program yang di dalamnya
terdapat satu fungsi main dan satu fungsi untuk menentukan bilangan ganjil. Bilangan
ganjil adalah bilangan yang apabila dibagi 2 sisa baginya 1. Dengan konsep tersebut
maka dibuatlah fungsi untuk mengecek suatu bilangan ganjil atau bukan. Fungsi tersebut
bertipe integer yang apabila bilangan yang dimasukkan ke parameter adalah bilangan
ganjil maka memberikan return value 1 bila tidak maka 0. Hasil return value tadi
diseleksi kembali apakah bilangan tersebut bilangan ganjil atau bukan, selajutnya hasil
akan ditampilkan di layar.
 #include<stdio.h> adalah file judul (header file) berisi kode yang akan dituliskan
dibawahnya
 Int main adalah fungsi utama yang harus ada dalam program c
 Kurung kurawa buka ({) dan kurung kurawa tutup (}) digunakan sebagai Tubuh fungsi,
yang berarti awal dan akhir dari seluruh fungsi. Dimana didalamnya terdapat banyak
perintah.
 Printf digunakan untuk menampilkan kalimat dalam petik ke layar
 Setiap baris diakhiri tanda titik koma (;), jika tidak maka akan muncul kotak berwarna
merah dan tulisan error dibawah.
 %d digunakan karena pada soal ini menggunakan tipe data int, %d menunjukkan bahwa
angka yang dimasukkan harus bilangan real.
 &a berarti bahwa data tersebut adalah a
 If adalah operator pernyataan yang berfungsi untuk mengecek pernyataan yang di
masukan atau membandingkan pernyataan.
 else digunakan untuk menerima nilai jika pernyataan if yang dibuat tidak memenuhi
persyaratan dari program yang dibuat.

2) Buatlah program untuk menghitung faktorial dengan menggunakan 2 fungsi (main() dan
faktorial()). Fungsi faktorial() memberikan return value bertipe long int yang
akan dicetak ke layar dalam fungsi main().
Contoh Input : n = 4
Output : Hasil faktorialnya = 24
 Listing Program
#include <stdio.h>
#include <stdlib.h>

int faktorial(int);
int hsl=1;
int main()
{
int j;
printf("Input angka: ");
scanf("%d",&j);
faktorial(j); printf("\
n");
return 0;
}
int faktorial(int x){
int i;
for(i=x; i>0; i--){
hsl=hsl*i;
if (i>=2)
printf("%d *
",i); else
printf("%d = %d",i,hsl);
}
}
 Output

 Analisa
 Pada program ini, kita diminta untuk membuat sebuah program yang di dalamnya
terdapat satu fungsi main dan satu fungsi untuk mengubah inputan bilangan menjadi hasil
faktorial. Faktorial merupakan hasil kali seluruh bilangan mulai dari angka yang diinput
hingga angka 1. Pada program ini, fungsi akan menerima inputan bilangan pada fungsi
main yang akan dicari faktorialnya dari parameter di fungsi (faktorial()) yang kita buat
dibawah fungsi main. Kemudian memprosesnya dengan cara melakukan pengulangan.
Selanjutnya jumlah dari faktorial tadi dikembalikan ke fungsi pemangil pada fungsi main
untuk ditampilkan ke layar.
 Fungsi int sebelum int main adalah sebuah fungsi yang mana akan mengembalikan
sebuah nilai dari
 hasil prosesnya.
 Fungsi int yaitu menginputkan bilangan bulat.
 Fungsi int setelah int main yaitu memproses untuk menampilkan sebuah nilai.
 Fungsi %d yaitu menampilkan bilangan bulat.
 Fungsi for yaitu perulangan sebuah kondisi
 Fungsi printf yaitu memasukkan data yang diminta untuk diinputkan.
 Fungsi scanf yaitu menampilkan bilangan yang diminta.

3) Buatlah fungsi prima(), yang memberikan nilai balik 1 bila bilangan yang
dimasukkan adalah prima, dan 0 bila bukan bilangan prima.
Contoh Input : n = 23
Output : 23 adalah bilangan prima
 Listing Program
#include <stdio.h>
#include <stdlib.h>

int prima(int);
int main()
{
int a;
printf("Input Bilangan:
"); scanf("%d",&a);
prima(a);
return 0;
}
int prima(int x){
int i,prm=0;
for (i=1; i<=x; i++){
if (x%i==0){prm+
+;}
}
if (prm==2)
printf("%d Bilangan prima\n",x);
else
printf("%d Bilangan bukan prima\n",x);
return(x);
}
 Output

 Analisa

 Pada program ini, kita diminta untuk membuat sebuah program yang di dalamnya
terdapat satu fungsi main dan satu fungsi untuk mengecek bilangan yang kita input
adalah bilangan prima atau buka. Bilangan prima hanyalah bilangan yang hanya
mempunyai 2 faktor pembagi yaitu bilangan 1 dan bilangan itu sendiri. Maka dari itu
pada program kali ini fungsi melakukan looping untuk mengecek apakah faktor pembagi
dari bilangan tersebut kurang dari atau sama dengan 2 atau tidak. Pada fungsi main akan
ditampilkan hasil pengecekan pada fungsi (prima()) di layar.
 Fungsi int sebelum int main adalah sebuah fungsi yang mana akan mengembalikan
sebuah nilai dari hasil prosesnya.
 Fungsi int yaitu menginputkan bilangan bulat.
 Fungsi int setelah int main yaitu memproses untuk menampilkan sebuah nilai.
 Fungsi if jika ada sebuah kondisis yang bernilai benar atau salah.
 Fungsi printf yaitu memasukkan data yang diminta untuk diinputkan.
 Fungsi scanf yaitu menampilkan bilangan yang diminta.
 Fungsi else yaitu suatu kondisi yang menyatakan benar atau salah tanpa pernyataan.

4) a. Definisikan sebuah fungsi radian() yang berfungsi untuk mengkonversi besaran


sudut dari derajat ke radian dengan rumus sbb : rad = drjt / 180.0f * PI. Fungsi tersebut
memiliki sebuah parameter yaitu derajat yang akan dikonversi, dan memiliki sebuah return
value berupa hasil konversi dalam radian.
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat function main untuk memanggil function radian(), setelah sebelumnya meminta
masukan nilai derajat yang akan dikonversi.
d. Definisikan PI sebagai sebuah konstanta yang bernilai : 3.14159f
Contoh Input : derajat = 90
Output : derajat dalam radian = 0.5
 Listing Program
#include <stdio.h>
#include <stdlib.h>
float radian (float n);

int main()
{
float n, hasil;
printf("Masukkan derajat :
"); scanf("%f", &n);
hasil=radian(n);
printf("Derajat dalam Radian = %g pi\n", hasil);
}
float radian(float n)
{
float hasil;
hasil=(n/180);
return(hasil);
}

 Output

 Analisa

 Pada program ini, kita diminta untuk membuat sebuah program yang di dalamnya
terdapat satu fungsi main dan satu fungsi untuk mengkonversi inputan derajat menjadi
radian. Pertama-tama kita harus membuat konstanta Phi yang nantinya akan dipakai pada
fungsi (radian()). Pada fungsi main, kita diminta untuk menginput bilangan dalam
derajat dengan tipe data float. Pada fungsi main nantinya akan dipanggil fungsi radian
untuk mengkonversi dari derajat menjadi radian. Setelah itu hasilnya akan ditampilkan
pada layer
 Fungsi float sebelum int main adalah sebuah fungsi yang mana akan mengembalikan
sebuah nilai dari hasil prosesnya.
 Fungsi float yaitu menginputkan bilangan desimal.
 Fungsi %f yaitu untuk menampikan pecahan atau bilangan desimal.
 Fungsi float setelah int main yaitu memproses untuk menampilkan sebuah nilai.
 Fungsi if jika ada sebuah kondisis yang bernilai benar atau salah.
5) a. Definisikan sebuah fungsi float konversi(suhu, asal, tuj), untuk
mengkonversikan suhu dari Celsius ke Fahrenheit, Celsius ke Reamur, Fahrenheit ke
Celsius, Fahrenheit ke Reamur, Reamur ke Celsius, dan Reamur ke Fahrenheit. Dimana
suhu adalah suhu sumber, asal adalah satuan awal suhuyang akan dikonversi dan tuj adalah
satuan hasil konversi
b. Tulislah prototipe fungsi untuk fungsi tersebut.
c. Buat function main() untuk memanggil function konversi(), setelah sebelumnya meminta
masukan nilai suhu, satuan asal dan satuan tujuannya.
Contoh tampilan:
Masukkan suhu sumber = 100
Masukkan satuan asal = C
Masukkan satuan tujuan = R
Hasil konversi suhu 100 C = 80 R

 Listing Program
#include <stdio.h> #include <stdlib.h>

float konversi(char,float,char); int main()


{
char sumber,tujuan;
float suhuSumber,suhuTujuan;

printf("Masukkan suhu sumber scanf("%f",&suhuSumber);


: "); fflush(stdin);
printf("Masukkan satuan asal [C/F/R] scanf("%c",&sumber);
fflush(stdin);
printf("Masukkan satuan tujuan [C/F/R] scanf("%c",&tujuan);
: ");

: ");

suhuTujuan = konversi(sumber,suhuSumber,tujuan); printf("\n%.2f %c = %.2f


%c\n\n",suhuSumber,sumber,suhuTujuan,tujuan); return 0;
}

float konversi(char sumber, float suhuSumber, char tujuan)


{
float pembandingSumber,pembandingTujuan,suhuAwalSumber,suhuAwalTujuan,suhuTu juan
switch(sumber)
{
case 'C':
pembandingSumber = 5;
suhuAwalSumber = 0; break;
case 'R':
pembandingSumber = 4;
suhuAwalSumber = 0; break;
case 'F':
pembandingSumber = 9;
suhuAwalSumber = 32; break;
}
switch(tujuan)
{
case 'C':
pembandingTujuan = 5;
suhuAwalTujuan = 0;
break;
case 'R':
pembandingTujuan = 4;
suhuAwalTujuan = 0;
break;
case 'F':
pembandingTujuan = 9;
suhuAwalTujuan = 32;
break;void ubah(int);
}
suhuTujuan = (pembandingTujuan / pembandingSumber) * (suhuSumber -
suhuAwalSumber) + suhuAwalTujuan ;
return suhuTujuan;
}

 Output

 Analisa

 Pada program ini, kita diminta untuk membuat sebuah program yang di dalamnya
terdapat satu fungsi main dan satu fungsi bertipe float untuk mengkonversi besaran suhu
yang diinput. Pada fungsi main kita diminta untuk menginput besarnya suhu, satuan asal
suhu, dan satuan tujuan suhu. Selanjutkan akan dipanggil fungsi (konversi()). Fungsi ini
akan mengubah besarnya suhu yang kita input dari besaran satuan asal menjadi besaran
satuan tujuan menggunakan dua perintah switch dalam satu fungsi yang sama. Salah satu
hal yang perlu diperhatikan disini adalah ketika satuan suhu memiliki titik beku yang
bukan nol. Maka dalam proses konversi perlu proses penambahan atau pengurangan agar
hasil yang direturn fungsi tersebut benar. Setelah itu fungsi main akan menerima return
value berupa hasil konversi yang akan ditampilkan di layar.
 Printf digunakan untuk menampilkan keterangan ke layar
 main() merupakan program utama yang akan dijalankan
 scanf berfungsi untuk menerima inputan user ke alamat
variabel tersebut
 float berfungsi untuk menyatakan jenis tipe data bilangan real termasuk pecahan
 %f berfungsi untuk menampilkan data bilangan real ke layar
 NamaFungsi(parameter) berfungsi untuk menyatakan suatu fungsi, jika terletak
didalam main() makan menyatakan fungsi itu akan dipanggil
 return(value) berfugsi untuk mengembalikan nilai atau value keluaran dari fungsi
ke parameter fungsi

2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.


 Kesimpulan :
Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
Parameter aktual adalah parameter (tidak selalu berupa variabel) yang dipakai dalam pemanggilan
fungsi. Dalam bahasa C, program terdiri dari fungsi-fungsi yang terstruktur. Penggolongan variabel
berdasarkan kelas penyimpanannya dibagi menjadi beberapa variable, diantaranya variabel
lokal/auto, variabel global/eksternal, variabel statis, variabel register.
3. Apa hasil eksekusi dari program berikut :
#include <stdio.h>
void ubah(int);
main()
{
int x;
printf("Masukkan nilai x : ");
scanf("%d", &x);
ubah(x);
printf("x = %d\n", x);
}
void ubah(int y)
{
y = 85;
}
 Output

 Analisa
User menginputkan nilai kedalam variabel x, lalu ada fungsi ubah(y) yang memiliki deklarasi nilai
y=85. Namun pada main(), parameter dari fungsi ubah() diganti dari ubah(y) menjadi ubah(x).
Oleh karena itu saat di cetak, angka akan menunjukan data dari x bukan data dari y.
4. Dengan menggunakan fungsi, buatlah program yang melakukan validasi terhadap tanggal, bulan
dan tahun yang diinputkan. Program juga melakukan pengecekan apakah sebuah tahun adalah
tahun kabisat atau bukan (jika tahun bukan kabisat, bulan yang diinputkan bulan 2 tanggal di atas
28 maka tanggal tidak valid).
Contoh:
Input tanggal : 29
bulan : 2
tahun : 1999
Output : tanggal tidak valid
 Listing Program

#include <stdio.h>
#include <stdlib.h>
int kabisat(thn);

int main()
{
int tgl, bln, thn, hasil;

printf("Tanggal : ");
scanf("%d", &tgl);
printf("Bulan : ");
scanf("%d", &bln);
printf("Tahun : ");
scanf("%d", &thn);

hasil=kabisat(thn);
switch(bln){
case 2:
if(tgl>28)
printf("Tanggal tidak valid\n");
break;
default:
if(hasil==1){
printf("Tahun Kabisat\n");
}
else{
printf("Bukan Tahun Kabisat\n");
}
}

}
int kabisat(thn)
{
if(thn%4==0 || thn%400==0 && thn%100!=0)
{
return(1);
}
else
return(0);
}
 Output

 Analisa

 Pada program ini, kita diminta untuk membuat sebuah program yang di dalamnya
terdapat satu fungsi main dan satu fungsi untuk mengecek apakah tanggal, bulan, tahun
yang diinput valid atau tidak. Pada fungsi main kita diminta untuk menginput tanggal,
bulan, dan tahun. Selanjutnya inputan tersebut akan dicek oleh fungsi (cek()) yang
didalam fungsi tersebut menggunakan perintah switch untuk bulan. Pada bulan tersebut
akan dicek berapa jumlah harinya dan jika dia bulan Februari maka akan dicek tahunnya,
apakah kabisat atau bukan. Setelah selesai di cek valid atau tidak tanggal, bulan, dan
tahunnya. Maka valid akan di return ke fungsi main untuk di cek sekali lagi, jika valid
bernilai 1 maka tanggal bulan dan tahun tersebut adalah valid, jika tidak maka tnaggal
bulan dan tahun tersebut tidak valid.

Anda mungkin juga menyukai