Anda di halaman 1dari 9

Pemrograma

Mod
Oleh :
Tim Penyusun MyU Pengontar Coding.

Lfsensi Dokumen:
CoJ yı i ylııÖ 2020 kun'ersilas Ne geri Padıııı g
Seluı ah üokuı ım 4i e•Learning UfofV£’rsifas Negeri Padang, /ınıı›n ‹tizuııakaıı nutuk koloni rin
lu terimol Uh i 'er.sita.s, ımtıık kediııtı+hem Pr rkııliolıaıı Oıı liue. Peng gıma‹m clokıımen ini cli lı+nr LINP tiHok dii‹-
iı! kn dur ti‹lak dipe rbolelıkan ıııelakukaıı pentılisan ııl‹ıı1,q. kecıuıli trendapaıkan iyisi rerlebilı dalııılu dari
PenıdfS dan Universitas Negerf Padang.

A. Capaian Pembelajaran‘
Setelah mempelajari materi ini diharapkan mahasiswa mampu niengenal,
memahami konsep pemrogr‹man modular dalam menyelesaikan masalah nyata
pemrograman.

B. lndikator Pencapaian Kompetensi‘


Untuk mencapai kompetensi yang diharapkan, ditetapkan indikator sebagai
berikut :
I . Mahasiswa dapat menjelaskan konsep pemrograman modular dengan tepat
2. Mahasiswa dapat menjelaskan konsep divide and conquer dengan tepat
3. Mahasiswa dapat menjelaskan konsep kopling dan kohesivitas modul dengan
tepat
4. Mahasiswa dapat menjelaskan persyaratan modul dalam menerapkan prinsip
loosely couple and highly cohesive dengan tepat
5. Mahasiswa dapat mengurai masalah menjadi sub-sub masalah yang lebih
kecil secara baik dengan tepat.

C. Pokok — Pokok Materi‘J


1. Konsep pemrograman modrilar
2. Konsep divide and conquer
3. Konsep kopling dan kohesivitas modul

D. Uraian Materi‘)

1. Pemrograman Modular
Merupakan paradigma pemrograman yang pertama kali diperkenalkan oleh
Information & Systems Institute, Inc. pada the National Symposium on Modulai‘
Programming pada 1968. Salah satu tokoh modular programniing adalah Lany
Constantine.
Pemrograman Modular adalah suatu teknik pemrograman pemi ograman di mana
program yang biasanya cukup besar dibagi-bagi menjadi beberapa bagian
program yang lebih kecil.
Keuntungan pemrograman modular adalah:
• Program lebih pendek
• Mudah dibaca dan dimengerti
• Mudah didokumentasi
• Mengurangi kesalahan dan mudah mencari kesalahan
• Kesalahan yang terjadi bersifat “lokal”

Dalam sebuah program, seringkali pemrogram perlu memecah persoalan yang


kompleks menjadi beberapa bagian yang lebih mudah diselesaikan. Ide inilah
yang mencetuskan struktur penuogranian modular, yaitu memecah persoalan
menjadi sub-sub persoalan yang biasa disebut subprogram.
Sebagai contoh, sebuah program yang dibuat untuk menghitung nilai rata-rata dari
sekumpulan nilai integer. Dalam prosesnya, program melakukan perhitungan
tersebut dalam dua langkah, yaitu menjumlahkan seluruh nilai, kemudian
membaginya dengan banyaknya nila i yang tersedia. Dengan demikian program
tersebut dapat dipecah menjadi dua subprogram, yaitu subprogram penjumlahan
dan subprogram pembagian.
Selain itu, pemrograman modular memungkinkan programiner memanggil
kembali subprogram yang telah didefinisikannya setiap kali diperlukan dalam
program tersebut. Programrner tidak perlu beiitlang kali mendefinisikan
sekumpulan instruksi yang diperlukan berulang kali dalam sebuah program
maupun dalam program lainnya. Dengan pemrograman modular, sebuah
subprogram dapat dianggap sebagai program kecil dengan sebuah tujuan spesifik
yang umumnya berisi operasi sederhana dan apabila terdapat kesalahan dapat
dilokalisir pada subprogram itu sendiri. Sub-sub program tersebut kemudian
disatukan oleh bagian program utama yang dapat memanggil subprogram tersebut
sesuai kebutuhan dalam program.

Program
Utama

Subprogram subprogram subprogram


1 2 3

Ada dua tipe subprogram yang biasa digunakan untuk memecah persoalan
kompleks menjadi lebih sederhana, yaitu fungsi (/unciioii) dan prosedur
@roceJure). Kedua tipe subprogi‘ana ini dapat digunakan bei‘samaan iaaaupun
salah satunya saja dalam sebuah program. Masing-masing tipe subprogram
memiliki karakteristik dan perilaku yang berbeda sehingga penggunaannya dalam
program juga berbeda-beda.
Dalam membuat sebuah subprogram, pemrogram dapat men y impannya dalam
salah satu dari dua lokasi berikut ini:
• dalam file yang sama dengan program utama, dapat dilakukan jika
subprogram sedikit dan berukuran kecil sehingga relatif mudah dikelola
dalam sebuah file
• dalam file yang terpisah, biasanya dilakukan jika subprogram
sudah terlalu banyak sehingga sulit dikelola, atau jika programmer‘
menginginkan supaya subprogram dapat digunakan di beberapa program
utama sekaligus.

2. Variabel Lokal dan Variabel


Global Variabel Lokal
Dalam mendeklarasikan sebuah fungsi/prosedur, dapat dideklarasikan pula
variabel-variabel yang akan digunakan dalam fungsi/ prosedur tersebut. Variabel
semacam ini disebut variabel lokal atau variabel internal. Variabel ini hanya
dikenali secara lokal dalam sebuah subprogram (fungsi atau prosedur). Variabel
lokal tidak dapat dipanggil, diakses dan diubah oleh prosedur atau fungsi yang
lain, bahkan oleh program utama sekalipun karena hanya dapat dikenali oleh
prosedur atau fungsi dimana vai‘iabel ini didefinisikan.
Variabel Global
Sedangkan variabel yang didefinisikan dalam program utama dan dapat
digunakan di progi‘am utama maupun sub- sub program lainnya disebut dengan
variabel global. Nilai dari variabel ini dapat dipanggil, diakses dan diubah oleh
prosedur atau fungsi apapun yang tei‘dapat dalam program tersebut.

3. Fungsi
Fungsi adalah subprogram yang menerima data masukan, melakukan beberapa
perhitungan dari data tei‘sebut, kemudian mengembalikan output berupa sebuah
data baru. Sebuah fungsi memetakan sebuah nilai (dal am domain) menjadi nilai
lain (dalam range) dengan operasi/ proses tertentu. Pendeklarasian fungsi
merupakan salah satu cara memecah persoalan ke dalam beberapa Hub persoalan
yang lebih mudah diselesaikan.
Dal am pembuatan sebuah fungsi, programmer hai‘us mendefinisikan:
• nama fungsi
• Tipe data yang dibuat/ dihasilkan oleh fungsi
• Daftai‘ parameter yang inenyatakan data yang diperlukan oleh fungsi
• Satu atau lebih instruksi yang melakukan perhitungan.
Fungsi yang sudah didefinisikan dapat digunakan dalam pi‘ogram utama
maupun dalam fungsi lainnya dengan cara memanggil nama fungsi dan
ireirbei‘ikan pai‘aineter yang dipeilukan oleh fungsi tei‘sebut.
Fungsi bekerja menurut mekanisme pemanggilan- pengembalian (call-return
iiiecli‹inism). Tahapan dalam mekanisme tersebut adalah:
• Fungsi dipanggil dari program utama maupun fungsi lainnya
• Sekumpulan operasi dalam fungsi dieksekusi
• Hasil eksekusi dikembalikan ke program utama atau fungsi lain yang
memanggilnya.

Keuntungan Fungsi
• Dapat melakukan pendekatan top-down dan divide-aiid-conquer:
Top-down: penelusuran program mudah
Divicle-an J-conquer: program besar dapat dipisah menjadi program-
program kecil.
• Kode prog•ram menjadi lebih pendek, mudah dibaca, dan mudah dipahami
• Program dapat dikerjakan oleh beberapa orang sehingga program cepat
selesai dengan koordinasi yang mudah.
• M udah dalam mencari kesalahan-kesalahan karena al ur logika jelas dan
sederhana
• Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
• Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa
mengganggu program keseluruhan
• Fungsi-fungsi menjadikan program mempunyai struktur yang jelas.
Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-
fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan
mudah dimengerti.
• Fungsi-fungsi digunakan untuk menghindai‘i penulisan pi‘ogram yang
sama yang ditulis secara berulang-ulang.
Langkah-langkah tersebut dapat dituliskan sekali saja secara terpisah
dalam bentuk fungsi.
Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak
perlu selalu menuliskannya, cukup memanggil fungsi tersebut.
• Mempermudah dokumentasi.
• Reusability: Suatu fungsi dapat digunakan kembali oleh program atau
fungsi lain

Perancangan Fungsi
Dalam membuat fungsi, perlu diperhatikan:
• Data yang diperlukan sebagai inputan (input)
• Informasi apa yang harus diberikan oleh fungsi yang dibuat ke
pemanggilnya (proses)
• Algoritma apa yang harus digunakan untuk mengolah data menjadi
informasi (proses)
• Output fungsi yang bersifat opsional yang bei‘asal dari proses perhitungan

• Penerapan variabel lokal yaitu bila variabel hanya dipakai oleh suatu fungsi
(tidak dimaksudkan untuk dipakai oleh fungsi yang lain). Pada contoh
berikut, antara variabel i dalam fungsi main() dan fung_1() tidak ada kaitannya,
sebab masing-masing merupakan vai‘iabel lokal.
7 int i : 2G;
8 f ung 1( );
9 printf(”nilni i di mnin() id\n”, i);
10 )
11
12 void fung l(veid)
13 - {
14
15 printf(”nilai i di dalam fun 1() id\n”, i);
16 )

nilai i di dalam fung 1() = 11


n i la i i di da lam main ( ) = 28

Proces s" exited "arter” 0 00473" second s with return value 29


Pres s any key to cont inue .

• Vai‘iabel global merupakan vai‘iabe1 yang dideklarasikan di luar fungsi, dengan


sifat :
dapat diakses oleh semua fungsi
kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama
dengan nol.
Contoh variabel global ada pada program globall.c yaitu bei‘upa variabel i.
Pada pendeklarasian
i nt i - 273;
menyatakan bahwa i nierupakan variabel eksternal dan diberi nilai awal sama
dengan 273. Nilai dari variabel i selanjutnya dapat diubah oleh fungsi
tambah() maupun main(). Setiap fungsi tambah() dipanggil maka nilai i akan
bertambah satu.
Code:
1
2
3 ir›‹-{..he ‹: *'t i ‹n.:’ >
4
5 int i: 273; '’
6 void tambah(void);
7
8 main()

10 pni nt f ( ”Nx1ai awa't x Man " , i ) i


l1 i +: 7;
12 printf(“Wilai i kini N0\n”, i);
13 tambah();
14 printf(“Nilai i kini R›d\n", i);
15 tambah();
16 printf(“Nilai i kini %d\n“, i) i
17 )
18
19 void tambah(veid)
20 - (
21
22 )

Output:
Nilai awal i =
273 Nilai i kini
= 280 Nilai i kini
= 281 Nilai i
kini = 282

Process’exited’after’0 0228S’seconds with return value 19


Press any key to continue . .

Pada contoh di atas, terlihat bahwa i hanya dideklarasikan di bagian atas


program, dan tak dideklarasikan lagi dalam fungsi main() maupun tambah().
Oleh karena i merupakan variabel global maka dapat digunakan oleh kedua
fungsi tersebut. Namun ada satu hal yang perlu diketahui, variabel global
haruslah dideklarasikan sebelum definisi fungsi yang akan menggunakannya.
F. Rangkuman‘)
• Peirrogi‘ai11an Modular adalah suatu teknik pemrogi‘aman pemrogi‘aman di
mana program yang biasanya cukup besar dibagi-bagi menjadi beberapa bagian
program yang lebih kecil.
• Pemrograman modular memungkinkan programmer memanggil kembali
subprogram yang telah didefinisikannya setiap kali diperlukan dalam program
tersebut. Programmer tidak perlu berulang kali mendefinisikan sekumpulan
instruksi yang diperlukan berulang kali dalam sebuah program maupun dalam
pi‘ogram lain nya.
• Dua tipe subprogram yang biasa digunakan adalah fungsi tfunction) dan
prosedur yroceclure).

Anda mungkin juga menyukai