ALGORITMA PEMROGRAMAN 2 Pemrograman Modular Definisi Pemrograman Modular

  • Slides: 20
Download presentation
ALGORITMA & PEMROGRAMAN 2 Pemrograman Modular

ALGORITMA & PEMROGRAMAN 2 Pemrograman Modular

Definisi • • • Pemrograman Modular adalah pemrograman yang dilakukan dengan membuat subprogram (Modul)

Definisi • • • Pemrograman Modular adalah pemrograman yang dilakukan dengan membuat subprogram (Modul) diluar dari program utama. Modul yang sudah dirancang dapat dipasang ke dalam halaman lain yang membutuhkan. Teknik pemrograman modular (procedure dan function)

Keuntungan pemrograman modular • • Untuk aktifitas yang harus dilakukan lebih dari satu kali,

Keuntungan pemrograman modular • • Untuk aktifitas yang harus dilakukan lebih dari satu kali, modularisasi menghindari penulisan teks program yang sama secara berulang kali. Kemudahan dalam menulis dan menemukan kesalahan (debug) program.

Prosedur • • Prosedur adalah suatu rutin yang melakukan proses tertentu tanpa adanya pengembalian

Prosedur • • Prosedur adalah suatu rutin yang melakukan proses tertentu tanpa adanya pengembalian nilai. Prosedur bukan program yang berdiri sendiri, jadi tidak dapat dieksekusi secara langsung. Prosedur diakses dengan cara memanggil namanya dari program pemanggil. Prosedur bisa memiliki parameter atau tidak. Jika tidak memiliki parameter cukup dengan menuliskan namanya. Pendefenisian prosedur meliputi : Menuliskan nama prosedur, mendeklarasikan nama konstanta, peubah dan tipe (jika ada) dan menjabarkan rangkaian aksi yang dilakukan.

Contoh pemanggilan prosedur Notasi algoritmik (pseudocode): Algoritma Hitung Luas Deklarasi prosedur Luas Deskripsi: Luas

Contoh pemanggilan prosedur Notasi algoritmik (pseudocode): Algoritma Hitung Luas Deklarasi prosedur Luas Deskripsi: Luas Procedure Luas Header Deklarasi: panjang : integer lebar: integer Kamus luas: integer Deskripsi: Read(panjang, lebar) luas panjang * lebar Algoritma write(luas)

Contoh pemanggilan procedure // program menghitung Luas #include<iostream> #include<conio. h> using namespace std; void

Contoh pemanggilan procedure // program menghitung Luas #include<iostream> #include<conio. h> using namespace std; void Luas(); main() { Luas(); getch(); } void Luas() { int p, l, luas; cout<<"masukan panjang="; cin>>p; cout<<endl; cout<<"masukan lebar="; cin>>l; luas = p*l; cout<<"Luas="<<luas<<endl; }

Lingkup Variabel • Ø Ø Variabel Local Variabel yang terdapat pada bagian deklarasi prosedur.

Lingkup Variabel • Ø Ø Variabel Local Variabel yang terdapat pada bagian deklarasi prosedur. Bersifat lokal, hanya dapat digunakan di dalam prosedur yang mendeklarasikannya.

Contoh penggunaan variabel local #include<iostream> #include<conio. h> using namespace std; main() { int a,

Contoh penggunaan variabel local #include<iostream> #include<conio. h> using namespace std; main() { int a, b, z; cout<<"value a="; cin>>a; cout<<"value b="; cin>>b; z=a*b; cout<<z<<endl; getch(); }

Lingkup Variabel • Ø Ø Variabel Global Variabel yang dideklarasikan di dalam program utama.

Lingkup Variabel • Ø Ø Variabel Global Variabel yang dideklarasikan di dalam program utama. Bersifat global, dapat digunakan di bagian manapun dalam program, baik di program utama maupun di prosedur.

Contoh penggunaan variabel global #include<iostream> #include<conio. h> using namespace std; int x; // variabel

Contoh penggunaan variabel global #include<iostream> #include<conio. h> using namespace std; int x; // variabel global main() { int a, b; cout<<"value a="; cin>>a; cout<<"value b="; cin>>b; x=(a*b)/2; cout<<x<<endl; getch(); }

Lingkup Variabel • Ø Ø Ø Variabel Statis Variabel hanya bisa diakses oleh prosedur/fungsi

Lingkup Variabel • Ø Ø Ø Variabel Statis Variabel hanya bisa diakses oleh prosedur/fungsi yang mendeklarasikannya. Variabel tidak hilang saat eksekusi prosedur/fungsi berakhir. Inisialisasi dalam deklarasi hanya dilakukan sekali selama aplikasi berjalan

Contoh penggunaan variabel statis #include<iostream> #include<conio. h> using namespace std; void Pencacah(); //prototipe prosedur

Contoh penggunaan variabel statis #include<iostream> #include<conio. h> using namespace std; void Pencacah(); //prototipe prosedur main() { Pencacah(); getch(); } void Pencacah() { static int jumlah=1; cout<<"Prosedur telah dipanggil = "<<jumlah<<" kali"<<endl; jumlah++; }

Passing Parameter • • parameter berfungsi sebagai media komunikasi antara procedure dengan program pemanggil.

Passing Parameter • • parameter berfungsi sebagai media komunikasi antara procedure dengan program pemanggil. Prosedur dengan parameter diakses dengan cara memanggil prosedur tersebut beserta parameternya. Jenisnya: Parameter aktual : parameter yang disertakan pada waktu pemanggilan. Berdasarkan penggunaannya, ada 3 jenis parameter formal yaitu parameter masukan, parameter keluaran, parameter masukan/keluaran. Parameter formal : parameter yang dideklarasikan di bagian header prosedur itu sendiri.

Aturan penting yang harus diperhatikan • • • Jumlah parameter aktual pada pemanggilan prosedur

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. Tiap parameter aktual harus diekspresikan dalam cara yang sesuai dengan parameter formal yang bersesuaian, bergantung pada jenis parameter formal.

Contoh penggunaan parameter #include<iostream> #include<conio. h> using namespace std; int max(int a, int b);

Contoh penggunaan parameter #include<iostream> #include<conio. h> using namespace std; int max(int a, int b); main() { // local variable declaration: int a, b, result; cout<<"value a="; cin>>a; cout<<"value b="; cin>>b; result = max(a, b); cout<< "max value is="<<result<<endl; return 0; getch(); } // function returning the max between two numbers int max(int num 1, int num 2) { // local variable declaration int re; if(num 1 > num 2) re = num 1; else re = num 2; return re; }

Fungsi Modul program yang mengembalikan / memberikan (return) sebuah nilai yang bertipe sederhana. tipe

Fungsi Modul program yang mengembalikan / memberikan (return) sebuah nilai yang bertipe sederhana. tipe data sederhana : integer, real, boolean dan string Dalam matematika : f(x, y) = 3 x – y +xy f adalah sebuah fungsi dengan parameter x dan y. Nilai yang diberikan fungsi tergantung nilai parameter masukannya.

Fungsi diakses dengan memanggil namanya (sama seperti prosedur). • Fungsi dapat mengandung parameter formal

Fungsi diakses dengan memanggil namanya (sama seperti prosedur). • Fungsi dapat mengandung parameter formal berjenis parameter masukan • Fungsi harus dideklarasikan dengan tipenya. •

Perbedaan Function dan Prosedure • Pada fungsi, nilai yang dikirimkan balik terdapat pada nama

Perbedaan Function dan Prosedure • Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya. Pada contoh, nama fungsi tersebut adalah Tambah dan nilai yang dikirim balik berada pada nama fungsi tersebut. Sehingga nama fungsi ini harus digunakan untuk menampung hasil yang akan dikirimkan dari fungsi , contoh: Tambah = x + y; Nama fungsi yang berisi nilai yang akan dikirimkan

Perbedaan Function dan Prosedure Karena nilai balik berada di nama fungsi tersebut, maka fungsi

Perbedaan Function dan Prosedure Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. • Pada prosedur, nama prosedur tersebut tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik. •