Pertemuan 6 Dasar Pemrograman KomputerDasar …

16
Pertemuan 6 Dasar Pemrograman Komputer Dasar Pemrograman Komputer Pemrograman Modular 1

Transcript of Pertemuan 6 Dasar Pemrograman KomputerDasar …

Page 1: Pertemuan 6 Dasar Pemrograman KomputerDasar …

Pertemuan 6Dasar Pemrograman KomputerDasar Pemrograman Komputer

Pemrograman Modular

1

Page 2: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 3: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 4: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 5: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 6: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Fungsi

6

Page 7: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 8: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Fungsi

8

Page 9: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 10: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 11: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 12: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 13: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 14: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 15: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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

Page 16: Pertemuan 6 Dasar Pemrograman KomputerDasar …

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