Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Prosedur dalam C++.

Presentasi serupa


Presentasi berjudul: "Prosedur dalam C++."— Transcript presentasi:

1 Prosedur dalam C++

2 Fungsi Klasifikasi fungsi Predefined function User defined function
Fungsi dengan nilai balik (Fungsi) Fungsi tanpa nilai balik (Prosedur)

3 Contoh Fungsi double convert_dB_to_lin(double dB) {
return pow(10,(dB/10)); } double convert_lin_to_dB(double lin) return 10*log10(lin);

4 Definisi Prosedur Prosedur (subroutine) adalah modul program yang mengerjakan tugas/aktifitas yang spesifik dan menghasilkan suatu efek netto. Efek netto diketahui dengan membandingkan keadaan awal (sebelum) dan keadaan akhir (sesudah) pelaksanaan sebuah prosedur. Pada setiap prosedur harus didefinisikan keadaan awal (K.Awal) dan keadaan akhir (K.Akhir). 4

5 Definisi Prosedur Prosedur (subroutine) adalah modul program yang mengerjakan tugas/aktifitas yang spesifik dan menghasilkan suatu efek netto. Pada dasarnya prosedur membutuhkan input dan output. Input yang standar berasal dari piranti input standar (standard input device), yaitu keyboard. Output yang standar berasal dari piranti output standar (standard output device), yaitu monitor. Kedua piranti I/O standar ini dijembatani penggunaannya dalam C oleh library stdio.h (standard I/O), yang memperkenalkan printf untuk keperluan output dan scanf untuk keperluan input.

6 PROSEDUR (di dalamnya mengandung proses-proses, yang pihak luar tidak tahu) parameter output yang belum jelas/sudah jelas yang hendak diubah parameter input yg jelas isinya parameter output yang sudah berubah dan jelas

7 Tahapan Memanfaatkan Prosedur
Mendefinisikan prosedur Memberikan nama Mendefinisikan parameter formal (parameter input, output, input/output) Mendefinisikan initial state (I.S.) dan final state (F.S.) Merealisasikan prosedur Membuat algoritma prosedur -> memroses agar I.S. dapat berubah menjadi F.S. Menggunakan prosedur dalam program utama Memanggil prosedur dengan menggunakan parameter aktual

8 Mendefinisikan Prosedur

9 Merealisasikan Prosedur

10 Contoh Realisasi Prosedur

11 Pemanggilan Prosedur Prosedur diakses dengan memanggil namanya dari program pemanggil (program utama atau modul program lain). Dalam program pemanggil, prototype prosedur harus dideklarasikan supaya program pemanggil mengenal nama prosedur tersebut serta cara mengaksesnya. 11

12 Kode Prosedur dalam Program

13

14

15 Nama Lokal dan Nama Global
Nama-nama di bagian deklarasi prosedur. Bersifat lokal, hanya dapat digunakan di dalam prosedur yang melingkupinya. Nama Global : Nama-nama yang dideklarasikan di program utama. Bersifat global, dapat digunakan di bagian manapun dalam program, baik di program utama maupun di prosedur. 15

16 Nama Lokal dan Nama Global
Menggunakan Nama Lokal atau Nama Global ? Jika nama (peubah, tipe, atau tetapan) digunakan di seluruh bagian program, maka harus dideklarasikan global. Jika nama tersebut hanya digunakan di dalam prosedur, maka sebaiknya dideklarasikan lokal. Usahakan menggunakan nama global sedikit mungkin!  menyulitkan dalam pencarian kesalahan (debugging) 16

17 Contoh Variabel global Deklarasi prosedur (prototype)
#include <stdio.h> int N; float rata2; void Hit_Rata2(); void main() { printf(“Banyak data: %d”); scanf(“%d”, &N); Hit_Rata2(); printf(“Rata-rata : %f\n”, rata2); } Variabel global Deklarasi prosedur (prototype) Pemanggilan prosedur 17

18 Contoh Variabel lokal Variabel Global
void Hit_Rata2() { int i, bil, jumlah; jumlah=0; for(i=0;i<=N;i++) printf(“Masukkan angka ke-%d: “, i); scanf(“%d”, &bil); jumlah=jumlah+bil; } rata2=(float)jumlah/N; Variabel lokal Variabel Global 18

19 Parameter Kebanyakan program memerlukan pertukaran informasi antara prosedur (atau fungsi) dan titik di mana ia dipanggil.  Parameter berfungsi sebagai media komunikasi antara modul dengan program pemanggil. Tiap item data ditransferkan antara parameter aktual dan parameter formal. Parameter aktual : parameter yang disertakan pada waktu pemanggilan. Parameter formal : parameter yang dideklarasikan di bagian header prosedur itu sendiri. 19

20 Parameter Saat prosedur dipanggil, parameter aktual menggantikan parameter formal. Tiap parameter aktual berpasangan dengan parameter formal yang bersesuaian. Aturan penting yang harus diperhatikan: Jumlah parameter aktual pada pemanggilan prosedur harus sama dengan jumlah parameter formal pada deklarasi prosedurnya. Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian. 20

21 Parameter #include <stdio.h>
void HitungLuasLingkaran(float *hasil, float jejari); void main() { float Luas, radius; radius=9.8; HitungLuasLingkaran(&Luas, radius); printf(“%f\n”,Luas); } void HitungLuasLingkaran(float *hasil, float jejari) *hasil = 3.14*jejari*jejari; 21

22 Parameter Jenis parameter formal yang disertakan dalam prosedur:
Parameter masukan (input parameter)  nilainya berlaku sebagai masukan untuk prosedur. Parameter keluaran (output parameter)  menampung nilai keluaran yang dihasilkan prosedur. Parameter masukan/keluaran (input/output parameter)  berfungsi sebagai masukan sekaligus keluaran dari prosedur. 22

23 Parameter Masukan Nilai parameter aktual diisikan (assign) ke dalam parameter formal yang bersesuaian untuk digunakan dalam badan prosedur yang bersangkutan. Nilai yang dinyatakan oleh parameter masukan tidak dapat dikirim ke arah sebaliknya. Perubahan nilai parameter di dalam prosedur tidak mengubah nilai parameter aktual. Nama parameter aktual boleh berbeda dengan nama parameter formal. 23

24 int TambahSatu(int X) {
int hasil; hasil = X + 1; return hasil; } int main() { /* Mendeklarasikan variabel yang akan digunakan sebagai nilai parameter pada saat pemanggilan */ int Bilangan, HASIL; cout<<"Masukkan sebuah bilangan bulat: "; cin>>Bilangan; HASIL = TambahSatu(Bilangan); // Menampilkan nilai setelah diproses di dalam fungsi cout<<"Nilai akhir: "<<HASIL; return 0;

25 Parameter Keluaran Digunakan untuk menampung nilai keluaran dari prosedur yang akan digunakan oleh program pemanggil. Nama parameter aktual di program pemanggil akan menggantikan (substitute) nama parameter formal yang bersesuaian di prosedur. Setelah pemanggilan, parameter aktual akan berisi nilai keluaran dari prosedur yang dipanggil.

26 #include <iostream>
using namespace std; // Parameter X sebagai masukan dan parameter hasil sebagai keluaran void TambahSatu(int X, int *hasil) { *hasil = X + 1; } int main() { int Bilangan, HASIL; cout<<"Masukkan sebuah bilangan bulat: "; cin>>Bilangan; // Memanggil fungsi TambahSatu() TambahSatu(Bilangan, &HASIL); // Menampilkan nilai setelah diproses di dalam fungsi cout<<"Nilai akhir: "<<HASIL; return 0;

27 Parameter Masukan/Keluaran
Nilai parameter aktual akan diisikan ke parameter formal yang bersesuaian untuk digunakan dalam prosedur, dan nama parameter aktual juga digunakan dalam prosedur (untuk menampung keluaran  nilainya berubah). 27

28 #include <iostream>
using namespace std; // Parameter X sebagai masukan // dan juga sebagai keluaran void TambahSatu(int *X) { *X= *X + 1; } // Fungsi utama int main() { int Bilangan; cout<<"Masukkan sebuah bilangan bulat: "; cin>>Bilangan; // Memanggil fungsi TambahSatu() TambahSatu(&Bilangan); // Menampilkan nilai setelah diproses di dalam fungsi cout<<"Nilai akhir: "<<Bilangan; return 0;

29 Parameter Pada bahasa pemrograman : Parameter masukan
 value parameter, parameter by value Parameter keluaran & parameter masukan/keluaran  reference parameter, parameter by reference 29

30 Passing Parameter by Value
Fungsi ini akan melewatkan nilai parameter ke dalam sebuah fungsi sesuai proses yang terdapat pada fungsi tersebut Nilai yang dihasilkan oleh fungsi tidak akan mempengaruhi nilai yang terdapat pada program Compiler hanya membuat salinan (copy) dari nilai pada parameter aktual ke parameter formal Nilai yang berubah hanya nilai dalam fungsi saja

31 #include <iostream>
using namespace std; // Membuat fungsi dengan melewatkan nilai X ke dalamnya void Kali2(int X) { X = X * 2; cout<<"Nilai di dalam fungsi: "<<X<<endl; } // Fungsi utama int main() { int Bilangan; cout<<"Masukkan sebuah bilangan bulat: "; cin>>Bilangan; cout<<endl; // Menampilkan nilai awal cout<<"Nilai awal: "<<Bilangan<<endl; // Memanggil fungsi Kali2 Kali2(Bilangan); // Menampilkan nilai akhir cout<<"Nilai akhir: "<<Bilangan<<endl; return 0;

32 Proses di dalam fungsi Kali2()
Nilai Awal Bilangan = 10 dipanggil kembali di-copy ke variabel X Nilai Akhir X = 10 dilewatkan ke fungsi Proses di dalam fungsi Kali2() menghasilkan X = 20 Nilai di dalam fungsi

33 Passing Parameter by Reference
Parameter yang di-pass by reference: Parameter formal: antara type dan nama parameter diberi tanda asterisk *digunakan pada algoritma Parameter aktual: Jika dipakai hanya sebagai output: nilai parameter aktual tidak harus terdefinisi Jika dipakai sebagai input dan sekaligus output: nilai parameter aktual harus didefinisikan terlebih dahulu Pemanggilan parameter aktual : menggunakan tanda & sebelum nama parameter Nilai yang terdapat pada fungsi akan sama persis dengan nilai yang terdapat pada program

34 #include <iostream>
using namespace std; // Mendefinsikan fungsi yang melewatkan parameter berdasarkan alamat void Kali2(int& X) { // Gunakan tanda & untuk membuat alias atau referensi X = X * 2; cout<<"Nilai di dalam fungsi: "<<X<<endl; } int main() { int Bilangan; cout<<"Masukkan sebuah bilangan bulat: "; cin>>Bilangan; cout<<endl; // Menampilkan nilai awal cout<<"Nilai awal: "<<Bilangan<<endl; // Memanggil fungsi Kali2() Kali2(Bilangan); // Menampilkan nilai akhir cout<<"Nilai akhir: "<<Bilangan<<endl; return 0;

35 Alias/referensi X dilewatkan ke fungsi Proses di dalam fungsi Kali2()
Nilai Awal Bilangan = X = 10 dipanggil kembali Alias/referensi X dilewatkan ke fungsi Bilangan = 20 Nilai Akhir Proses di dalam fungsi Kali2() menghasilkan X = 20 Nilai di dalam fungsi


Download ppt "Prosedur dalam C++."

Presentasi serupa


Iklan oleh Google