Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Function(2).

Presentasi serupa


Presentasi berjudul: "Function(2)."— Transcript presentasi:

1 Function(2)

2 Contoh soal Buatlah program untuk menghitung xy dengan x integer, y integer. Gunakan function untuk menghitung operasi tsb! X dan y dibaca dari keyboard

3 Solusi & langkah-langkah
Menentukan mana yang dijadikan program utama, mana yang dijadikan function Program utama  membaca masukan dari keyboard yaitu x dan y, kemudian menampilkan hasil operasinya Fungsi  berisi operasi xy dengan spesifikasi fungsi sbb:

4 Spesifikasi fungsi Argumen (input fungsi) : x dan y, bertipe integer
Return value(output fungsi) : hasil operasi xy bertipe integer Bentuk fungsinya kira-kira sbb: int pangkat(int x,int y);

5 Algoritma perpangkatan
Bagaimana algoritma untuk menghitung z= xy? Z= xy = x*x*x*x …*x Dalam bentuk loop for: z = 1; for(i=0;i<y;i++) { z = z*x; } Sejumlah y

6 Program Lengkap #include <cstdlib> #include <iostream>
using namespace std; int pangkat(int x,int y) { int z,i; z=1; for(i=0;i<y;i++) z=z*x; } return z; int main(int argc, char *argv[]) int x,y,hasil; cout << "masukkan x:"; cin >> x; cout <<endl<<"masukkan y:"; cin >> y; hasil = pangkat(x,y); cout <<endl<<"hasil : "<<hasil; system("PAUSE"); return EXIT_SUCCESS;

7 Contoh soal: Buatlah program untuk menghitung nilai rerata dari n buah bilangan. Jumlah bilangan dibaca dari keyboard. Bilangan-bilangan yang akan direrata juga dibaca dari keyboard. Gunakan fungsi untuk operasi rerata!

8 Langkah-langkah solusi
Program utama : membaca jumlah bilangan (n), membaca bilangan-bilangan yang akan direrata Fungsi : menghitung rerata

9 Spec fungsi Return value : berupa rerata, tipe : float
Argumen (masukan) : berupa jumlah bilangan dan array bilangan. karena masukan ada yg berupa array yg akan dicari reratanya, maka ada 2 pilihan bentuk argumen: float rerata(int jml,int masukan[10]) float rerata(int jml,int *masukan) Sebaiknya dipilih pilihan no 2. Argumen berupa pointer lebih fleksibel, jumlah elemen array tidak dibatasi

10 Fungsi dengan multi output
Bagaimana jika diinginkan >1 output pada suatu fungsi? Fungsi yang telah kita pelajari selama ini hanya memungkinkan utk 1 out, yaitu pada return value out1 in1 out2 in2 out3 out_n in_m

11 Argumen ‘called by reference’ (cbr)
Untuk membuat fungsi dengan >1 output, digunakan teknik argumen ‘called by ref’ Idenya dengan membuat argumen sebagai output Contohnya seperti pada fungsi ‘scanf’ scanf(“%d”,&a) Argumen 2, output Argumen 1, input

12 Argumen ‘CBR’ Output fungsi scanf tsb adalah variabel ‘a’
Yang dijadikan sebagai argumen sebenarnya adalah referens a (&a) atau alamat a, jadi bukan variabel a itu sendiri Untuk membuat fungsi menjadi CBR, digunakan argumen berbentuk pointer pada header fungsinya. Contoh: nama_fungsi(*arg1,*arg2)

13 Membuat fungsi CBR Contoh:
Buatlah program untuk menghitung +, -, X, dan / antara 2 bilangan, dengan syarat ke-4 operasi tsb dilakukan dalam 1 fungsi!

14 Perancangan fungsi Untuk mengerjakan ke-4 operasi tadi, dibutuhkan fungsi yang mempunyai 2 input dan 4 output Karena mempunyai 4 output, fungsi yang digunakan adalah fungsi CBR Rancangan headernya adalah sebagai berikut: void operasi(int a,int b,int *jumlah,int *kurang,int *kali,float *bagi) input Hasil + Hasil - Hasil * Hasil / Karena semua output sudah dikeluarkan lewat argumen, Return value dibuat void saja (tidak punya return val)

15 Program lengkap Modifikasi argumen output dengan operasi pointer
void operasi(int a,int b,int *jumlah,int *kurang,int *kali,float *bagi) { //definisi fungsi ‘operasi’ *jumlah=a+b; *kurang=a-b; *kali=a*b; *bagi=a/b; } int main(int argc, char *argv[]) { int a,b,c,d,e; float f; cout <<"masukkan bilangan pertama:"; cin >>a; cout <<endl<<"masukkan bilangan kedua:"; cin >>b; operasi(a,b,&c,&d,&e,&f); cout <<"hasil jumlah: "<<c<<endl; cout <<"hasil kurang: "<<d<<endl; cout <<"hasil kali: "<<e<<endl; cout <<"hasil bagi: "<<f<<endl; system("PAUSE"); return EXIT_SUCCESS; Modifikasi argumen output dengan operasi pointer Pemanggilan fungsi ‘operasi’ Melalui referens c,d,e,f Menampilkan output

16 Fungsi dengan output suatu array
Fungsi yg telah kita pelajari sebelumnya adalah fungsi dengan output variabel tunggal Bagaimana membuat suatu fungsi dengan output suatu array?

17 Fungsi dengan output array
Fungsi CBR juga bisa digunakan untuk membuat fungsi meng-outputkan suatu array Contoh: buatlah program untuk menjumlahkan 2 vektor. Gunakan fungsi untuk melakukan penjumlahan vektor

18 Fungsi dgn output array
Rancangan header fungsi untuk contoh tsb adalah sebagai berikut: void jumlah_array(int *a,int *b,int *c,int n) c = a+b Panjang vektor Vektor output Vektor input Vektor input

19 Program lengkap Arraynya langsung jadi argumen
void jumlah(int *a,int *b,int *c,int n) { //definisi fungsi jumlah int i; for(i=0;i<n;i++) *(c+i)=*(a+i)+*(b+i);//c[i]=a[i]+b[i] } int main(int argc, char *argv[]) int i,in1[5]={1,3,5,7,9},in2[5]={2,4,6,8,10},out[5],n=5; jumlah(in1,in2,out,n); //pemanggilan fungsi jumlah cout <<"hasil penjumlahan vektor:"<<endl; cout<<out[i]<<" "; system("PAUSE"); return EXIT_SUCCESS; Arraynya langsung jadi argumen


Download ppt "Function(2)."

Presentasi serupa


Iklan oleh Google