Modul 7 - Pemrograman Modular
Modul 7 - Pemrograman Modular
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.
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”
Program
Utama
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.
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:
Output:
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
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
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