You are on page 1of 9
Oleh Pemrograman Modular 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 diiginka 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, 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 C. 5. Mahasiswa dapat mengurai masalah menjadi sub-sub masalah yang lebih kecil secara baik dengan tepat. 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 meneari 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 atukan 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 memiiliki 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 schingga 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 yel-variabel yang akan di kan 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 igunakan 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, Scbuah 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 fun 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 dickseku 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. Modifi ‘si program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruban Fungsi-fungsi menjadikan program mempunyai struktur yang jelas. Dengan memisahkan langkab-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 © 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 J* File program : Lokal.c *, #include void fung_1(veid); main() { int i = 205 fung_1()5 printf("nilad 4 di dalam main() = %d\n", i); wovauaune sol} 12 _ void fung_1(void) Bet 14 ant i= 11; 15, printf("nilai i di dalam fung_1() = %d\n", i)s asl) Output: nilai i di dalam fung 10) nilai i di dalam main() 0 Process exited after 0.00473 seconds with return value 29 Press any key to continue . . - Variabel global merupakan variabel yang dideklarasikan di luar fungsi, dengan sifat : Y dapat diakses oleh semua fungsi Y kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama dengan nol. Contoh variabel global ada pada program globall.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 1 /* File program : globol1.c 2 Contoh program dengan variabel eksternal 3 Winclude 4 5S Ant i = 273; /* variabel eksternal */ 6 void tambah(void); 7 8 main() 98 ¢ 10 printf(*NS1ai awal 4 = d\n", i)5 u i473 12 printf("Nilai 4 kind = %d\n", i); 3 tambah(); 14 printf(NS1ad 4 kind = d\n", i); 15 tenbah() 16 printf(NS1ad 4 kind = d\n", i)5 why 18 19 veid tambah(vesd) 20 t t 2a ites 2b) Process exited after 0.02285 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 mi () 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’) 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 mendefi sikan 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).

You might also like