0% menganggap dokumen ini bermanfaat (0 suara)
372 tayangan13 halaman

Materi Modular Pemrograman

Pemrograman modular membagi masalah menjadi submasalah lebih kecil yang diselesaikan menggunakan fungsi dan prosedur. Fungsi dan prosedur memiliki parameter dan tipe data yang berbeda untuk menyelesaikan submasalah secara terpisah.

Diunggah oleh

Nining Pragesti
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
372 tayangan13 halaman

Materi Modular Pemrograman

Pemrograman modular membagi masalah menjadi submasalah lebih kecil yang diselesaikan menggunakan fungsi dan prosedur. Fungsi dan prosedur memiliki parameter dan tipe data yang berbeda untuk menyelesaikan submasalah secara terpisah.

Diunggah oleh

Nining Pragesti
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 13

PEMROGRAMAN MODULAR

Materi
Pemrograman modular menggunakan perancangan program menyerdehanakan persoalan
didalam program dengan memecah atau membagi persoalan tersebut menjadi sub-sub persoalan
yang lebih kecil agar mudah diselesaikan. Secara umum dikenal dua cara yang dapat digunakan
untuk memecahkan persoalan dalam modul-modul, yaitu dengan menggunakna struktur fungsi
dan prosedur.

⇛ Programmer-Defined Function
Adalah function yang dibuat oleh programer sendiri. Fuction ini memiliki nama tertentu yang
unik dalam program, letaknya terpisah dari program utama, dan bisa dijadikan satu ke dalam
suatu library buatan programmer itu sendiri yang kemudian juga di-include-kan untuk
penggunaannya.

⇛ Struktur Function
1. Function Prototype
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :

 Tipe keluaran fungsi


 Jumlah parameter
 Tipe dari masing-masing parameter

Salah satu keuntungan pemakaian prototipe, kompiler akan melakukan konversi antara tipe
parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan
menunjukkan kesalahan jika jumlah parameter dalam definisi dan saat pemanggilan berbeda.
Contoh prototipe fungsi :

long kuadrat (long 1);


Pada contoh pertama, fungsi kuadrat ( ) mempunyai argumen/parameter bertipe long dan nilai
balik bertipe long.

void gratis ( );
pada contoh kedua , fungsi gratis ( ) tidak memiliki argumen/ parameter dan nilai
baiknya tidak ada (void).

double maks (double x, double y)


Pada contoh ketiga, fungsi maks( ) mempunyai dua buah argumen/parameter, dengan masing-
masing argumen bertipe double.

Function Definition
tipe_data nama_fungsi (argument 1, argument 2, argument ...)
{
Variabel_lokal;
Statement_1;
Statement_2;
...
return (variabel);
}

2. Parameter Fungsi
Terdapat dua macam parameter fungsi, yaitu :

1. Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
2. Parameter aktual adalah variabel yang dipakai dalam pemanggilan fungsi.

Bentuk penulisan parameter formal dan parameter aktual.

Prosedur
Prosedur adalah sederetan instruksi yang diberi nama, dan melakukan tujuan tertentu. Seperti
halnya pada fungsi, prosedur bekerja dengan mekanisme pemanggilan-pengembalian (call-return
mechanism).

Struktur umum deklarasi prosedur adalah sebagai berikut :


void nama_procedure (<daftar_parameter_input>, <daftar_parameter_output>)
{
/* instruksi */
}

Untuk penulisan parameter input-output dengan menambahkan karakter "&" pada tipe datanya.
Misalnya int & n.

⇛ Variabel Lokal dan Variabel Global


Variabel Lokal
Variabel lokal adalah variabel yang dideklarasikan didalam fungsi atau procedur. Variabel ini
hanya dapat dikenali didalam fungsi atau procedure itu sendiri. Variabel lokal tidak dapat
dipanggil, diakses dan diubah oleh prosedur atau fungsi yang lain, bahkan oleh program utama
sekalipun.

Variabel Global
Variabel global adalah variabel yang didefinisikan dalam program utama dan dapat digunakan di
program utama maupun sub-sub program lainya. Nilai dari variabel ini dapat dipanggil, diakses
dan diubah oleh prosedur atau fungsi apapun yang terdapat dalam program tersebut.

Contoh Program

Contoh ke-1 Menghitung luas segitiga


Diketahui algoritma menghitung luas segitiga sebagai berikut.
1. Mulai
2. Masukan panjang (p), tinggi (t)
3. Hitung luas (L) ⇦ 0.5 p*t
4. Tampilkan L
5. Selesai

Implementasi program untuk menghitung luas persegi tanpa menggunakan fungsi berikut ini :
Source Code :
#include <iostream>

using namespace std;

main (){
int p,t; //Variabel lokal
int luas; //Variabel lokal

cout<<"==========================================="<<endl;
cout<<"| |"<<endl;
cout<<"| MENCARI LUAS SEGITIGA |"<<endl;
cout<<"| |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Panjang : ";cin>>p;
cout<<"Masukan Tinggi : ";cin>>t;

//Melakukan perhitungan
luas=0.5*p*t;

//Menampilkan hasil perhitungan


cout<<"==========================================="<<endl;
cout<<"| Jadi, Luas Segitiga Adalah : "<<luas<<endl;
cout<<"==========================================="<<endl;
}

 Demo
Run program :

Contoh ke-2 Menggunakan fungsi untuk menghitung luas persegi panjang


Diketahui algoritma fungsi hitung luas persegi sebagai berikut.
1. Mulai
2. Hitung luas (L) ⇦ p*l
3. Tampilkan L
4. Selesai

Algoritma pemanggilan fungsi hitLuas


1. Mulai
2. Masukkan panjang (p), lebar (l)
3. Panggil hitungLuas
4. Tampilkan L
5. Selesai

Implementasi program untuk menghitung luas persegi menggunakan fungsi


Source Code :
#include <iostream>

using namespace std;

int hitungLuas(int p, int l){


int luas; //Variabel lokal
luas = p*l; //melakukan perhitungan
return luas;

main (){
int pj,lb;
int luasUtama;

cout<<"==========================================="<<endl;
cout<<"| |"<<endl;
cout<<"| MENCARI LUAS PERSEGI PANJANG |"<<endl;
cout<<"| |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Panjang : ";cin>>pj;
cout<<"Masukan Lebar : ";cin>>lb;

luasUtama=hitungLuas(pj, lb);

//Menampilkan hasil perhitungan


cout<<"==========================================="<<endl;
cout<<"| Jadi, Luas Segitiga Adalah : "<<luasUtama<<endl;
cout<<"==========================================="<<endl;
}

 Demo

Run program :

Contoh ke-3 Penggunaan fungsi untuk penentuan index nilai mahasiswa


Contoh yang lain untuk penggunaan fungsi adalah penentuan index nilai mahasiswa dimana
inputannya adalah nilai dengan skala 0 - 100 dan menghasilkan index A, B, C, D dan E, dengan
algoritma fungsi getIndex sebagai berikut.
1. Mulai
2. Masukan nilai (n)
3. Cek jika n >= 75 maka nilai huruf (inx) ⇦ A jika tidak, cek jika n> = 65 maka nilai huruf (inx)
B jika tidak, cek jika n >= 55 maka nilai huruf (inx) C jika tidak, cek jika n >= 45 maka nilai
huruf (inx) D jika tidak , nilai huruf (inx) E
4. Selesai

Algoritma pemanggilan fungsi getIndex


1. Mulai
2. Masukan nilai
3. Panggil getIndex
4. Tampilkan nilai_indek
5. Selesai

Implementasi program
Source Code :
#include <iostream>

using namespace std;

string getIndex(int n){


string inx; //Variabel lokal

if (n>=75) inx="A";
else if (n>=65) inx="B";
else if (n>=55) inx="C";
else if (n>=45) inx="D";
else inx="E";

return inx;
}

main (){
int nilai;

cout<<"==========================================="<<endl;
cout<<"| |"<<endl;
cout<<"| MENENTUKAN INDEKS NILAI MAHASISWA |"<<endl;
cout<<"| |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Nilai Mahasiswa : ";cin>>nilai;

cout<<"==========================================="<<endl;
cout<<"| Index Nilai Mahasiswa Adalah : "<<getIndex(nilai)<<endl;
cout<<"==========================================="<<endl;
}

 Demo

Run program :
Tampilan pada saat nilai n >= 75, maka akan menampilkan "A"
Tampilan pada saat nilai n >= 65, maka akan menampilkan "B"

Tampilan pada saat nilai n>=55, maka akan menampilkan "C"

Tampilan pada saat nilai n >= 45, maka akan menampilkan "D"

Tampilan pada saat selain nilai yang di-inputkan diatas, maka akan menampilkan "E"
Contoh ke-4 Menghitung luas persegi panjang menggunakan struktur procedure
Kembali pada contoh sebelumnya (menghitung luas persegi panjang), kita juga dapat
mengubahnya menjadi procedure dengan algoritma yang sama pada latihan 2, seperti pada
contoh dibawah ini:
Source Code :
#include <iostream>

using namespace std;

void hitungLuas(int p, int l, int& luas){


luas=p*l;

main (){
int pj, lb; //Variabel lokal
int luasUtama; //Variabel lokal

cout<<"==========================================="<<endl;
cout<<"| |"<<endl;
cout<<"| LUAS PERSEGI PANJANG (PROCEDURE) |"<<endl;
cout<<"| |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Panjang: ";cin>>pj;
cout<<"Masukan Lebar : ";cin>>lb;

hitungLuas(pj, lb, luasUtama);

cout<<"==========================================="<<endl;
cout<<"| Luas Persegi Panjang Adalah : "<<luasUtama<<endl;
cout<<"==========================================="<<endl;
}

 Demo
Run program :

Contoh ke-5 Menghitung index nilai mahasiswa menggunakan struktur procedure


Selanjutnya kita akan mengubah kode pada contoh fungsi untuk menghitung index nilai
mahasiswa diatas menjadi struktur procedure dengan bentuk algoritma yang sama pada latihan 3
seperti berikut :
Source Code :
#include <iostream>

using namespace std;

string inx; //Variabel global

string getIndex(int n){

if (n>=75) inx="A";
else if (n>=65) inx="B";
else if (n>=55) inx="C";
else if (n>=45) inx="D";
else inx="E";
}

main (){
int nilai;

cout<<"==========================================="<<endl;
cout<<"| |"<<endl;
cout<<"| INDEKS NILAI MAHASISWA (PROCEDURE) |"<<endl;
cout<<"| |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Nilai Mahasiswa : ";cin>>nilai;

getIndex(nilai);

cout<<"==========================================="<<endl;
cout<<"| Index Nilai Mahasiswa Adalah : "<<inx<<endl;
cout<<"==========================================="<<endl;
}

 Demo

Run program :

Contoh ke-6
Algoritma memanfaatkan unit.
1. Mulai
2. Panggil file unit1.h yang mempunyai 2 fungsi yaitu luasPersegi dan luasLingkaran
3. Masukkan lebar (l), panjang (p)
4. Panggil luasPersegi
5. Tampilkan luasPersegi
6. Masukkan jari-jari (r)
7. Pangggil luasLingkaran
8. Tampilkan luasLingkaran
9. Selesai

Isi file dengan nama uni1.h dengan kode sebagai berikut :


Source Code :
#include <iostream>
#define Phi 3.14

using namespace std;

void luasPersegi (int p, int l, int& luas){


luas=p*l;
}

float luasLingkaran(int r){


float ls;
ls=Phi*r*r;
return ls;
}
Selanjutnya buat program utama dengan nama prog-6.cpp dengan kode sebagai berikut :
Source Code :
#include <D:\Teachmeelectro.com\C++\Genap\1. Pemgrograman
Modular\Latihan\Latihan6\unit1.h>

main(){
int pj,lb, jari; //Variabel lokal
int luasP; //Variabel lokal
float luasL;

cout<<"==========================================="<<endl;
cout<<"| LUAS PERSEGI PANJANG |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Panjang : ";cin>>pj;
cout<<"Masukan Lebar : ";cin>>lb;

luasPersegi(pj, lb, luasP);

cout<<"==========================================="<<endl;
cout<<"| Luas Persegi Panjang Adalah : "<<luasP<<endl;
cout<<"==========================================="<<endl<<endl<<endl;

cout<<"==========================================="<<endl;
cout<<"| LUAS LINGKARAN |"<<endl;
cout<<"==========================================="<<endl;
cout<<"Masukan Jari-jari Lingkaran : ";cin>>jari;

luasL=luasLingkaran(jari);

cout<<"==========================================="<<endl;
cout<<"| Luas Lingkaran Adalah : "<<luasL<<endl;
cout<<"==========================================="<<endl<<endl<<endl;

Run program :

Anda mungkin juga menyukai