Pertemuan 6 Dasar Pemrograman KomputerDasar …

Post on 12-Nov-2021

5 views 0 download

Transcript of Pertemuan 6 Dasar Pemrograman KomputerDasar …

Pertemuan 6Dasar Pemrograman KomputerDasar Pemrograman Komputer

Pemrograman Modular

1

Tujuan

Memberikan pemahaman mengenai berbagai macam tipe fungsi berkaitan dengan argumen input dan “result value” serta bagaimana mengimplementasikannyavalue serta bagaimana mengimplementasikannya dalam bahasa C.

2

Daftar Argumen/Parameter Daftar Argumen/Parameter : Memungkinkan terjadinya komunikasi antara

“main function” dan fungsi fungsi lain dalammain function dan fungsi-fungsi lain dalam program Membuat fungsi menjadi lebih serba guna karena g j g

daftar argumen memungkinkan fungsi untuk dapat memanipulasi data yang berbeda setiap kali fungsi tersebut dipanggilkali fungsi tersebut dipanggil

Return statement : mengembalikan satu “result value” dari suatu fungsi

3

Daftar Argumen/Parameter

Output parameter : mengembalikan banyak/lebih dari satu “result value” dari suatu fungsi.

P t Parameter : Parameter input Parameter output Parameter output

4

Fungsi Berdasarkan jumlah argumen dan “result value” yang

dihasilkan (tipe fungsi), terdapat bermacam-macam fungsi sebagi berikut:g g Fungsi dengan beberapa argumen input dan satu

hasil Fungsi dengan satu argumen input dan beberapa

hasil Fungsi dengan parameter input/outputFungsi dengan parameter input/output dll

5

Fungsi dengan beberapa argumen input dan satu hasilargumen input dan satu hasil

Fungsi

6

Fungsi dengan beberapa argumen input dan satu hasilargumen input dan satu hasil

#include <stdio.h>#i l d < th h>#include <math.h>double scale(double x, int n); /* function prototype */int main(void) {

double num_1;int num_2;printf(“Masukkan bilangan real > “);scanf(“%lf”, &num_1);printf(“Masukkan bilangan integer > “);scanf(“%d”, &num_2);printf(“Hasil pemanggilan fungsi scale adalah %f\n”, scale(num_1, num_2);return(0);

}}double scale(double x, int n) {

double scale_factor;scale_factor=pow(10,n);return(x*scale factor)e u ( sca e_ ac o )

}

7

Fungsi dengan satu argumen input dan beberapa hasilargumen input dan beberapa hasil

Fungsi

8

Fungsi dengan satu argumen input dan beberapa hasilargumen input dan beberapa hasil

#include <stdio.h>#i l d < th h>#include <math.h>void separate(double num, char *signp, int *wholep, double *fracp); int main(void) {

double value;double value;char sn;int whl;double fr;printf(“Masukkan nilai yang akan dianalisis > “);scanf(“%lf”, &value);separate(value, &sn, &whl, &fr);printf(“Tanda bilangan : %c\n“, sn);printf( Tanda bilangan : %c\n , sn);printf(“Nilai magnitude bilangan : %d\n”, whl);printf(“Bagian pecahan dari bilangan : %.4f\n”, fr);return(0);

}}

9

Fungsi dengan satu argumen input dan beberapa hasilargumen input dan beberapa hasil

void separate(double num, char *signp, int *wholep, double *fracp) {double magnitude;if (num < 0) *signp=‘-’;else if (num==0) *signp=‘ ’;else *signp=‘+’;magnitude=fabs(num);* holep floor(magnit de)*wholep=floor(magnitude);*fracp=magnitude - *wholep;

}

10

Fungsi dengan parameter input/outputinput/output

#include <stdio.h>d bl d (d bl * d bl *l ) /* f ti t t */double order(double *smp, double *lgp); /* function prototype */int main(void) {

double num1, num2, num3;printf(“Masukkan tiga bilangan yang dipisahkan dengan spase > “);scanf(“%lf %lf %lf” &num1 &num2 &num3);scanf( %lf %lf %lf , &num1, &num2, &num3);order(&num1, &num2);order(&num1, &num3);order(&num2, &num3);printf(“Bilangan sudah terurut: %.2f %.2f %.2f\n”, num1, num2, num3);

t (0)return(0);}void order(double *smp, double *lgp) {

double temp;if (*smp > *lgp) {if ( smp > lgp) {

temp = *smp;*smp=*lgp;*lgp=temp;

}}}

11

Macam-Macam Fungsi

Tujuan Tipe Fungsi

Parameter HasilFungsi

Menghitungsatu karakteratau angka

Sama dengantipe dari nilaiyang dihitung

Parameter input untuk menampung data yang dikirim

Statement return dengan satu buah nilaiatau angka

tunggalyang dihitung data yang dikirim

oleh fungsi pemanggil

satu buah nilai hasil

M ilk id P t i t Tid k d h ilMenampilkan output yang berisi argumen karakter atau

void Parameter input untuk menampung data yang dikirim oleh fungsi

Tidak ada hasil

karakter atau angka

oleh fungsi pemanggil

12

Macam-Macam Fungsi

Tujuan Tipe Fungsi

Parameter HasilFungsi

Menghitung beberapa karakter atau

void Parameter input untuk menampung data yang dikirim oleh fungsi pemanggil

Hasil disimpan ke data dari fungsi pemanggil yangkarakter atau

angka tunggaldikirim oleh fungsi pemanggil.Parameter ouput berupa pointer untuk menampung hasil perhitungan.

pemanggil yang berupa pointer untuk parameter output. Tidak ada statement return.

Memodifikasi nilai-nilai argumen

void Parameter input/output berupa pointer. Data input diproses dan hasil

Hasil disimpan ke data dari fungsi pemanggil yangargumen diproses dan hasil

perhitungan disimpan ditempat yang sama.

pemanggil yang berupa pointer untuk parameter output. Tidak ada statement return.

13

Ruang Lingkup Variabel

#define MAX 950#define LIMIT 200Fl t ffFloat ff;void one(int anarg, double second);int fun_two(int one, char anarg);int main(void) {int main(void) {

int localvar;….

}}void one(int anarg, double second) {

int onelocal;….

}}int fun_two(int one, char anarg) {

int localvar;….….

}

14

Ruang Lingkup Variabel

Nama Variabel Visibel di one Visibel di fun_two Visibel di mainMAX Ya Ya YaMAX Ya Ya YaLIMIT Ya Ya Yamain Ya Ya Yalocalvar(main) tidak tidak Yaone (fungsi) Ya tidak Yaanarg(int) Ya tidak tidakg( )second Ya tidak tidakonelocal Ya tidak tidakfun two Ya Ya Yafun_two Ya Ya Yaone (parameter) tidak Ya tidakanarg(char) tidak Ya tidaklocalvar(fun_two) tidak Ya tidak

15

Referensi

Bab 6, “Modular Programming”, Problem Solving and Program Design in C, Jeri R. Hanly dan Elliot B. Koffman Addison Wesley 2002Koffman, Addison Wesley, 2002

16