• Tidak ada hasil yang ditemukan

Konsep Pemrograman Praktikum 14 Fungsi : Parameter Fromal & Aktual

N/A
N/A
Protected

Academic year: 2021

Membagikan "Konsep Pemrograman Praktikum 14 Fungsi : Parameter Fromal & Aktual"

Copied!
16
0
0

Teks penuh

(1)

Konsep Pemrograman | Praktikum 14 || Fungsi :

Parameter Fromal & Aktual

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

1

A. Percobaan

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().

Jawab :

#include <stdio.h> main(){ int x; printf("\nULFA OCTA P | 2103157029 \n"); printf("\n---\n"); printf("\nMenentukan bilangan Ganjil & Genap\n"); printf("\n---\n"); printf("Masukkan bilangan : ");

scanf("%d",&x); if(x%2==0){

printf("%d adalah bilangan genap\n\n",x); }else{

printf("%d adalah bilangan ganjil\n\n",x); }

ULFA OCTA PRISNANDA 2103157029

(2)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

return 0; }

Output :

Analisa :

Bilangan genap adalah bilangan yang habis di bagi 2 (%2),

bil ganjil adalah tidak habis di bagi 2. Dengan program tsb

kita dapat menentukan bilangan ganjil atau genap.

Jika

bilangan yang dimasukkan ke parameter adalah bilangan

ganjil maka memberikan return value 1 bila tidak maka 0.

(3)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

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().

Jawab :

Koding :

#include <stdio.h> long faktorial(long bil); main()

{

long jumFaktorial,bil;

printf("PRAKTIKUM 14 \nULFA OCTA PRISNANDA | 2103157029\n"); printf("\n======================================== \n"); printf("FUNGSI MENAMPILKAN JUMLAH BILANGAN FAKTORIAL"); printf("\n========================================\n"); printf("\nMasukkan bilangan \t= ");

scanf("%ld",&bil);

jumFaktorial = faktorial(bil);

printf("\nJumlah faktorial dari %ld adalah %ld\n\n",bil,jumFaktorial);

}

long faktorial(long bil) {

int i,jum = 1; for(i=bil;i>0;i--) {

(4)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

jum = jum * i; } return jum; }

Output :

Analisa :

Dalam program ini menggunakan data long untuk menghitung

factorial dari angka yang diinputkan user. Menggunakan

looping untuk prosesnya, dan ditampilkan ke layar.

(5)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

3. Buatlah fungsi prima(), yang memberikan nilai balik 1 bila

bilangan yang dimasukkan adalah prima, dan 0 bila bukan

bilangan prima.

Jawab :

Koding :

#include <stdio.h> int prima(int bil); main()

{

int bil,isPrima;

printf("PRAKTIKUM 14\nULFA OCTA P | 2103157029\n"); printf("\n======================================== \n\n"); printf("FUNGSI MENGECEK BILANGAN PRIMA \n");

printf("\n======================================== \n"); printf("\nMasukkan bilangan \t= ");

scanf("%d",&bil); isPrima = prima(bil); if(isPrima)

printf("\nBilangan %d adalah bilangan PRIMA\n\n",bil); else

printf("\nBilangan %d bukan bilangan PRIMA\n\n",bil); getchar();

}

(6)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

{

int pembagi,faktornya = 0;

for(pembagi = 1;pembagi <= bil;pembagi++) { if(bil % pembagi == 0) faktornya++; } if(faktornya <= 2) return 1; else return 0; }

Output :

Analisa :

Dengan program ini, user dapat menentukan bilangan prima yang

diinputkan. Bilangan prima adalah bilangan yang habis dibagi 1

dan dirinya sendiri.

(7)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

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

Jawab :

Koding :

#include <stdio.h> #define PHI 3.14159f; float radian(float); main() { float derajad,hslRad;

printf("PRAKTIKUM 14\nULFA OCTA P | 2103157029\n"); printf("\n======================================== \n\n"); printf("FUNGSI KONVERSI BESARAN DERAJAD KE RADIAN \n"); printf("\n======================================== \n");

(8)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

printf("\nMasukkan besaran sudut \t= "); scanf("%f",&derajad);

hslRad = radian(derajad);

printf("Hasil konversi ke dalam radian adalah %f\n\n",hslRad); getchar();

}

float radian(float derajad) {

return (derajad / 180.0f) * PHI; }

(9)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

Analisa :

Untuk mengkonversi sudut yang diinputkan, dalam program ini

sudah dilengkapi PHI yang benilai tetap atau konstanta untuk

menghitung sudut.

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

suhu yang 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.

Jawab :

Koding :

#include <stdio.h> float konversi(char,float,char); main() { char sumber,tujuan; float suhuSumber,suhuTujuan; printf("\n======================================== \n");

(10)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

printf("FUNGSI UNTUK MENGKONVERSI SUHU");

printf("\n======================================== \n"); printf("\nMasukkan suhu sumber \t= ");

scanf("%f",&suhuSumber); fflush(stdin);

printf("\nMasukkan satuan asal [C/F/R]\t= "); scanf("%c",&sumber);

fflush(stdin);

printf("\nMasukkan satuan tujuan [C/F/R]\t= "); scanf("%c",&tujuan); suhuTujuan = konversi(sumber,suhuSumber,tujuan); printf("\n%.2f %c = %.2f %c\n\n",suhuSumber,sumber,suhuTujuan,tujuan); getchar(); }

float konversi(char sumber, float suhuSumber, char tujuan) { float pembandingSumber,pembandingTujuan,suhuAwalSumber,suhuAwalTujuan,suhuT ujuan; switch(sumber) {

case 'C': pembandingSumber = 5; suhuAwalSumber = 0; break;

case 'R': pembandingSumber = 4; suhuAwalSumber = 0; break;

case 'F': pembandingSumber = 9; suhuAwalSumber = 32; break;

}

(11)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

{

case 'C': pembandingTujuan = 5; suhuAwalTujuan = 0; break;

case 'R': pembandingTujuan = 4; suhuAwalTujuan = 0; break;

case 'F': pembandingTujuan = 9; suhuAwalTujuan = 32; break;

}

suhuTujuan = (pembandingTujuan / pembandingSumber) * (suhuSumber - suhuAwalSumber) + suhuAwalTujuan ;

return suhuTujuan;

Output :

Analisa :

Setiap satuan memiliki perhitungan masing-masing, kita dapat

mengkonversikan pada program ini dengan rumus fisika yang sudah

diinputkan di dalam program.

(12)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

B. Tugas Tambahan

a. 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; }

Jawab :

Program tersebut akan menampilkan nilai x sesuai yang

diinputkan tanpa ada perubahan walaupun ada fungsi

karena tidak ada return value.

b. 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

(13)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

(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

Jawab :

Koding :

#include <stdio.h> int cekTanggal(int,int,int); main() { int tanggal,bulan,tahun,isValid; printf("\n========================================\n"); printf("MENGECEK VALIDASI TANGGAL");

printf("\n========================================\n\n"); printf("Masukkan tanggal\t= "); scanf("%d",&tanggal); printf("Masukkan bulan \t\t= "); scanf("%d",&bulan); printf("Masukkan tahun \t\t= "); scanf("%d",&tahun); printf("\n");

(14)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

isValid = cekTanggal(tanggal,bulan,tahun); if(isValid)

printf("Tanggal tersebut valid\n\n"); else

printf("Tanggal tersebut tidak valid\n\n"); getchar();

}

int cekTanggal(int d,int m,int y) {

int jumD,isValid = 0; switch(m)

{

case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 :

jumD = 31; break;

case 4 : case 6 : case 9 : case 11 : jumD = 31; break; case 2 : if(y % 4 == 0) jumD = 29; else jumD = 28; break; }

if(1 <= m && m >= 12 && 1 <= d && d <= jumD) {

(15)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

isValid = 1; } return isValid; } Output :

(16)

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA | D3 PJJ

C. Kesimpulan

1. Dalam bahasa C, program terdiri dari fungsi-fungsi yang

terstruktur.

2. Parameter formal adalah variabel yang ada pada daftar parameter

dalam definisi fungsi.

3.

Parameter

aktual adalah parameter (tidak selalu berupa variabel)

yang dipakai dalam pemanggilan fungsi.

Referensi

Dokumen terkait

131 Pengadaan Jasa Konsultansi Pengawasan/Supervisi Peningkatan Jalan Paleuh - Cemplang Kec... 133 Peningkatan Jalan Bandung -

(3) Perencanaan penanggulangan bencana di daerah sebagaimana dimaksud pada ayat (1) dilakukan melalui penyusunan data tentang risiko bencana pada suatu wilayah dalam

Do svojih članov in na področju pridobivanja novih članov pristopa z izdelano strategijo in se poslužuje vseh na področju odnosov z javnostmi priznanih orodji, po drugi strani pa

Selat yang dipergunakan untuk pelayaran internasional, misalnya seperti Selat Malaka di Indonesia adalah selat yang di dalamnya dapat terjadi pelayaran

23 Noventa Yudiar (2009), “Metode Tafsir Quraish Shihab Tentang Ayat Hukum Dan Relevansinya Terhadap Pengembangan Hukum Keluarga Islam di Indonesia”, Jurnal

Kapasitas jalan adalah kemampuan ruas jalan untuk menampung arus atau volume lalu lintas yang ideal dalam satuan waktu tertentu, dinyatakan dalam jumlah kendaraan yang

diperlukan. Tingkat kedetilan yang diperlukan tergantung pada bagaimana data permintaan yang tidak terdistorsi akan digunakan oleh perusahaan yang terlibat

Skripsi difokuskan pada beberapa hal antara lain; miniaturisasi antena mikrostrip untuk bekerja pada frekuensi 2,6 – 2,7 GHz, membandingkan ukuran antena