pengantar pemrograman modular
TRANSCRIPT
-
7/24/2019 Pengantar Pemrograman Modular
1/6
PENGANTAR PEMROGRAMAN MODULAR
Untuk mencapai suatu tujuan besar , maka tujuan tersebut harus dibagi bagi menjadi
tujuan kecil sampai tujuan kecil itu merupukan tujuan yang dapat dicapai berdasarkan
kondisi dan potensi yang dimiliki saat itu (Al-Khuwarizmi)
Ucapan Al-Khuwarizmi diatas sangat mengena dalam kegiatan memprogram.
Program yang besar lebih sulit dibaca (dimengerti) dan lebih sulit lagi dalam pelacakan
kesalahan atau proses debugging (jika ada). leh karena itu ! program sebaiknya dibagi
menjadi beberapa upa-progra(subprogram"subroutine) yang lebih kecil dan terstruktur
melakukan #ungsi atau komputasi masing $ masing secara spesi#ik.
Upa-program yang baik adalh upa-program yang independepen dari program utamasehingga programnya dapat dirancang tanpa mempertimbangkan konteks dimana ia
digunakan. %engan kata lain! pemogram tidak perlu mempermasalahkan bagaimana
upaprogram tersebut dilakukan! tetapi cukup memikirkan apa yang ia lakukan.
&eknik pemecahan program menjadi sub-program dinamakan teknik pemrograman
modular (modular programming). 'eberapa bahasa pemrograman lain menamakan
pemrograman modular dengan sebutan sub-rutin (subroutine), module , prosedur , atau
un!si"
#ONTO$ PEMROGRAMAN MODULAR
/* Program mengecek sebuah palindrom */
#include #include
main()
{
char a[1!"b[1!
print$(%&etik 'esuatu n)gets(a)strcp+(b"a)strre,(b)
i$(strcmp(a"b)--)
{
print$(%ang anda inputkan adalah palindrom n)else{
print$(%ang anda inputkan 0ukan palindrome n)
-
7/24/2019 Pengantar Pemrograman Modular
2/6
-
7/24/2019 Pengantar Pemrograman Modular
3/6
asing $ masing upa-program mempunyai struktur yang serupa dengan program
utama! dengan pemecahan menjadi sejumlah program ! program terlihat menjadi lebih
sederhana. Program utama hanya perlu mendklarasikan upa-program tersebut sebelum
mereka digunakan(program utama dinyatakan sebagai bagian yang diarsir Al!oritma %"&).
Upa-program di eksekusi dengan memanggil namanya. Ketika sebuah upa-program dipanggil
pelaksanaan program sekarang berpindah ke upa-program tersebut ! selanjutnya seluruhintruksi di dalam upa-program dilaksanakan setelah seluruh intruksi didalam upa-program
selesai dikerjakan! dilaksanakan program kembali ke program pemanggil (dalam hal ini
program lama ). Untuk melaksanakan intruksi berikutnya.
/* Program pengecekan palindrom */
#include
,oid 0aca(char *a[1!),oid Proses(char *a[1!" char *b[1!),oid 2ek34ampil(char *a[1!" char *b[1!)
main() /* Program 5tama */{
/* 6eklarasi */char a[1!" b[1!
0aca(a)Proses(7a"7b)
2ek34ampil(7a"7b)
,oid 0aca (char *a[1!)/* embaca nilai a */
{print$(%&etik sesuatu n)gets(a)
,oid Proses(char *a[1!" char *b[1!)/* Proses mengcop+ dan membalik */
{strcp+(*a"*b) /* mengcop+ char a ke b */strre,(*b) /* string re,erse membalik char b */
,oid 2ek34ampil(char *a[1!" char *b[1!)/* engecek string dan enampilkan */
{
-
7/24/2019 Pengantar Pemrograman Modular
4/6
i$(strcmp(*a"*b)--) /* &ondisi membandingkan a dan b{
print$(%ang anda inputkan adalah palindrom n)else{
print$(%ang anda inputkan 0ukan palindrome n)
return
'euntun!an Pemro!raman Modular
odularisasi program memiliki dua keuntungan. Pertama! untuk aktu*itas yang harus
dilakukan lebih dari satu ! modularisasi menghundari dari penulisan teks program yang sama
secara berulang kali. %i sini ! upa-program cukup ditulis sekali saja! lalu upa-program dapat
di panggil dari bagian lain di dalam program . %i sini ! penggunaan upa-program dapat
mengurangi panjang program. +ebagai contoh! tinjau program dalam bahasa , di dalam
Algoritma . . /anya bagian algoritma yang sama dan ditulis berulang-ulang yang
ditampilkan disini( bagian yang di beri tanda 0 ). 'agian algoritma lain cukup dinyatakan
dengan 1...2.
/* Program 8+9 */
#include
main(){
/* 6eklarasi */
int :"0"2"6"temp.
/* :lgoritma */
...
...
/* Pertukaran nilai a dan b */
temp-: ;:-0 ; 80-temp ;.........
i$(2>6)
{
-
7/24/2019 Pengantar Pemrograman Modular
5/6
/* Pertukaran nilai c dan d */
temp-2 ;2-6 ; 82-temp ;
...
...
Al!oritma %" "ontoh program yang beberapa kali berisi bagian pertukaran
%i dalam Al!oritma %" diatas ada bagian program yang ditulis berulang kali
keduanya melakukan akti*itas yang sama. 3aitu pertukaran nilai antara dua buah peubah kita
dapat menulis bagian yang ditulis berulangkali tersebut ke dalam satu buah upa-program
yang diberi nama tukar. Upa-program yang bernama tukar diakses dengan memanggilnya dari
dalam program utama Al!oritma %""
/* Program 8+9 */
#include
,oid 4ukar(int *:" int *0) /*deklarasi subroutine +ang digunakan*/
main(){
/* 6eklarasi */
int :"0"2"6" temp
/* :lgoritma */
...
...
/* Pertukaran nilai : dan 0 */
4ukar(7:" 70).........
i$(2>6){
/* Pertukaran nilai 2 dan 6 */4ukar(72" 76)
...
...
,oid 4ukar(int *:" int *0)/* empertukarkan nilai : dan 0 */
-
7/24/2019 Pengantar Pemrograman Modular
6/6
{
/* 6eklarasi */int temp (peubah bantu)
/* :lgoritma */
temp-::-00-temp
Al!oritma %""ontoh program dengan menyatakan bagian pertukaran menjadi subroutine
#ukar