Anda di halaman 1dari 12

Pemrograman

Modular
Oleh :
Tim Penyusun MKU Pengantar Coding.

Lisensi Dokumen:
Copyright © 2020 Universitas Negeri Padang
Seluruh dokumen di e-Learning Universitas Negeri Padang, hanya digunakan untuk kalangan
Internal Universitas, untuk kebutuhan Perkuliahan Online. Penggunaan dokumen ini di luar UNP tidak
diizinka dan tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
Penulis dan Universitas Negeri Padang.

A. Capaian Pembelajaran*)
Setelah mempelajari materi ini diharapkan mahasiswa mampu mengenal,
memahami konsep pemrograman modular dalam menyelesaikan masalah nyata
pemrograman.

B. Indikator Pencapaian Kompetensi*)


Untuk mencapai kompetensi yang diharapkan, ditetapkan indikator sebagai
berikut :
1. 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*)


1. Konsep pemrograman modular
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 Modular
Programming pada 1968. Salah satu tokoh modular programming adalah Larry
Constantine.
Pemrograman Modular adalah suatu teknik pemrograman pemrograman 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 pemrograman 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 nilai yang tersedia. Dengan demikian program
tersebut dapat dipecah menjadi dua subprogram, yaitu subprogram penjumlahan
dan subprogram pembagian.
Selain itu, 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 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 (function) dan prosedur
(procedure). Kedua tipe subprogram ini dapat digunakan bersamaan maupun
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 menyimpannya 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 variabel ini didefinisikan.
Variabel Global
Sedangkan variabel yang didefinisikan dalam program utama dan dapat
digunakan di program 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 terdapat dalam program tersebut.

3. Fungsi
Fungsi adalah subprogram yang menerima data masukan, melakukan beberapa
perhitungan dari data tersebut, kemudian mengembalikan output berupa sebuah
data baru. Sebuah fungsi memetakan sebuah nilai (dalam domain) menjadi nilai
lain (dalam range) dengan operasi/ proses tertentu. Pendeklarasian fungsi
merupakan salah satu cara memecah persoalan ke dalam beberapa sub persoalan
yang lebih mudah diselesaikan.
Dalam pembuatan sebuah fungsi, programmer harus mendefinisikan:
• nama fungsi
• Tipe data yang dibuat/ dihasilkan oleh fungsi
• Daftar parameter yang menyatakan data yang diperlukan oleh fungsi
• Satu atau lebih instruksi yang melakukan perhitungan.
Fungsi yang sudah didefinisikan dapat digunakan dalam program utama
maupun dalam fungsi lainnya dengan cara memanggil nama fungsi dan
memberikan parameter yang diperlukan oleh fungsi tersebut.
Fungsi bekerja menurut mekanisme pemanggilan- pengembalian (call-return
mechanism). 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-and-conquer:
Top-down: penelusuran program mudah
Divide-and-conquer: program besar dapat dipisah menjadi program-
program kecil.
• Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami
• Program dapat dikerjakan oleh beberapa orang sehingga program cepat
selesai dengan koordinasi yang mudah.
• Mudah dalam mencari kesalahan-kesalahan karena alur 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 menghindari penulisan program 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 berasal dari proses perhitungan

Contoh Fungsi:

• 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 variabel lokal.
Code:

Output:

• Variabel global merupakan variabel 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 global1.c yaitu berupa variabel i.
Pada pendeklarasian
int i = 273;
menyatakan bahwa i merupakan 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:

Output:

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.
E. Aktivitas Pembelajaran*)
Untuk menunjang keberhasilan pembelajaran daring dan luring, maka
mahasiswa dapat mengikuti aktifitas pembelajaran sebagai berikut :
Menu Aktifitas Keterangan
Informasi, Kehadiran dan Tatap Maya
1. Informasi Mahasiswa melihat
Perkuliahan informasi terbaru terkait
perkuliahan melalui menu
Announcement
2. Presensi Mahasiswa melakukan
Online pengisian presensi online
3. Tatap Maya Mahasiswa melakukan
tatap maya (web
conference) sesuai dengan
jadwal yang ditetapkan
oleh dosen (opsional)
Sumber Belajar
3. Modul Ajar Mahasiswa mempelajari
materi kuliah melalui
Modul Ajar
4. Slide Mahasiswa mempelajari
intisari materi melalui slide
presentasi
5. Video Mahasiswa menyaksikan
Pendukung tayangan video pendukung
yang berisi materi contoh
pemrograman modular
Aktifitas Belajar
6. Latihan Mahasiswa mengerjakan
Latihan membuat program
sederhana.
7. Tugas Mahasiswa mengerjakan
tugas proyek dengan
menerapkan pemrograman
modular dalam
menyelesaikan masalah
sederhana.
8. Tes Online Mahasiswa mengikuti Tes
yang dilakukan pada akhir
topik bahasan materi
(Opsional)
F. Rangkuman*)
• Pemrograman Modular adalah suatu teknik pemrograman pemrograman 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
program lainnya.
• Dua tipe subprogram yang biasa digunakan adalah fungsi (function) dan
prosedur (procedure).

G. Latihan/Kasus/Tugas**)
1. Fungsi adalah … .
a. Salah satu jenis subprogram
b. Sekumpulan instruksi yang diberi nama
c. Blok program yang menerima data masukan, tanpa harus mengembalikan
nilai apapun ke kode pemanggil
d. Deklarasi dari prosedur
e. Bagian program yang dapat memanggil program utama berulang kali sesuai
kebutuhan

2. Perhatikan potongan program berikut ini:


Apakah nama fungsi yang ada di dalam potongan program di atas?
a. luas_segitiga
b. hasil
c. integer
d. luas
e. sesuatu

3. Di antara pilihan berikut ini, manakah yang tidak harus didefinisikan pada saat
membuat sebuah subprogram?
a. Nama subprogram
b. Tipe data yang dihasilkan oleh subprogram
c. Satu atau lebih instruksi yang melakukan perhitungan
d. Progam utama/ subprogram lain yang akan menggunakannya
e. Daftar parameter yang menyatakan data yang diperlukan oleh
subprogram

4. Berikut ini adalah pernyataan-pernyataan yang benar tentang subprogram,


kecuali … .
a. Subprogram adalah cara yang digunakan pemrogram untuk memecah
persoalan menjadi sub-sub persoalan yang lebih sederhana.
b. Subprogram dapat dipanggil oleh program utama maupun subprogram
lainnya.
c. Subprogram adalah fungsi/ prosedur yang ada di dalam file yang sama
dengan program utama.
d. Subprogram dapat memanggil subprogram lain dalam file yang berbeda.
e. Subprogram memungkinkan pemrogram menyelesaikan persoalan
secara parsial.

5. Perhatikan potongan algoritma berikut ini:


Bagian apakah yang kurang dari fungsi di atas?

a. deklarasi variabel global


b. deklarasi variabel lokal
c. deklarasi parameter input
d. deklarasi parameter output
e. deklarasi output fungsi

H. Tes Formatif & Kunci Jawaban**)

1. Apakah output program diatas jika pengguna menginputkan iUmur10 dan


iUmurOrtu23 ?
2. Sebutkan variabel-variabel lokal dan global dalam potongan program diatas!
3. Sebutkan tiga macam parameter dalam subprogram!
4. Ubahlah algoritma tersebut kedalam bahasa C!

I. Daftar Rujukan**)

*) Ditulis dalam modul ini yang kemudian saat dipublikasikan ke e-Learning di upload dalam format PDF
**) Di tulis dalam dokumen terpisah dan dijadikan sebagai bagian dari Aktifitas pada e-Learning

Anda mungkin juga menyukai