Prosedur dalam C++.

Slides:



Advertisements
Presentasi serupa
Pemrogramman Terstruktur
Advertisements

FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Parameter formal adalah variabel yang ada pada daftar parameter dalam
Modul 11 – Hendi Hermawan - 1
INSTRUKSI MASUKAN DAN KELUARAN
Prosedur (Procedure).
BAB IV SUB PROGRAM DAN FUNGSI
FUNCTION / FUNGSI.
Review-Dasar Pemrograman Komputer
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
Function Ery Setiyawan Jullev.
FUNGSI.
STRUKTUR DATA (5) Pointer dan Function
Procedure , Function dan Parameter
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
Modul 4 Prosedur dan Fungsi.
Fungsi Fungsi.
Function User Function.
Rahmat D. R. Dako, ST, M.Eng.  Modul  void main (void)  Modul  fungsi = function  Keuntungan penggunaan Fungsi atau modul :  Program menjadi lebih.
FUNGSI.
DASAR PEMOGRAMAN MODULAR DESIGN DASAR PEMOGRAMAN KELOMPOK 5 UNIVERSITAS BRAWIJAYA.
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Fungsi dan Prosedur.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
FUNGSI.
Tujuan Instruksional Mahasiswa memahami konsep fungsi
SL 1201 Materi tentang Fungsi Program merupakan kumpulan dari fungsi-fungsi baik yang didefinisikan langsung maupun yang disimpan dalam file header. Dalam.
Prosedur.
FUNGSI.
FUNGSI.
FUNGSI.
Dasar Algoritma dan pemrograman
Prosedur Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer
Prosedur dan fungsi By Serdiwansyah N. A..
Algoritma dan Struktur Data 1 pertemuan 9
5. Fungsi S. Indriani L, M.T 5. Fungsi.
TEL 2112 Dasar Komputer & Pemograman Prosedur
FUNGSI.
PERTEMUAN XI PROSEDUR ALGORITMA & PEMROGRAMAN I TEKNIK INFORMATIKA
Prosedur (Procedure).
Algoritma dan Pemrograman I Dosen : Utami Dewi Widianti
UNIVERSITAS BRAWIJAYA
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
Dasar Pemrograman Renni Angreni, S.Kom.
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
PERTEMUAN 10 Algoritma Presented by : Sity Aisyah, M.Kom
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
Fungsi, Parameter & Rekursi
Pemrograman Terstruktur
CS1023 Pemrograman Komputer
Algoritma dan Pemrograman
IT234 ALGORITMA DAN STRUKTUR DATA
TEL 2112 Dasar Komputer & Pemograman Prosedur
TPI4202 e-tp.ub.ac.id Modular Design Lecture 7.
Parameter Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan.
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
TEL 2112 Dasar Komputer & Pemograman Prosedur
Algoritma dan Pemrograman I
Subrutin Nurdiansah PTIK 09 UNM.
Pengenalan Bahasa Pemrograman C++
UNIVERSITAS BRAWIJAYA
Algoritma dan Pemrograman
FUNGSI.
Pemrograman Terstruktur
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Transcript presentasi:

Prosedur dalam C++

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

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);

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

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.

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

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

Mendefinisikan Prosedur

Merealisasikan Prosedur

Contoh Realisasi Prosedur

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

Kode Prosedur dalam Program

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

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

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

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

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

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

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

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

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

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;

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.

#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;

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

#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;

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

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

#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;

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

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

#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;

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