- Modul utama dan tambahan
- Fitur pemrograman modular
- Modularitas
- Definisi fungsi
- Cakupan variabel
- Itu prosedural
- Contoh pemrograman modular
- Modularitas dalam kehidupan nyata
- Fungsi di Java
- Keuntungan
- Pemrograman proyek independen
- Pengembangan program yang efisien
- Berbagai penggunaan modul
- Kemudahan debugging dan modifikasi
- Kekurangan
- Struktur yang terlalu berorientasi objek
- Modul terlalu kecil
- Terurai tanpa alasan
- Aplikasi
- Bahasa C.
- Referensi
The pemrograman modular adalah teknik yang digunakan untuk pengembangan perangkat lunak, di mana program ini dibagi menjadi beberapa blok kecil atau komponen otonom yang disebut modul, yang dikelola, logis dan fungsional.
Modul adalah sekumpulan pernyataan yang memecahkan masalah tertentu. Setiap modul berisi semua yang diperlukan untuk memenuhi fungsinya sendiri dan dapat diedit atau dimodifikasi tanpa memengaruhi bagian proyek lainnya.
Contoh pemecahan masalah menggunakan modul. Sumber: Kayau / CC BY (https://creativecommons.org/licenses/by/3.0)
Cara pemrograman ini dicapai dengan mempertahankan antarmuka modul permanen yang digunakan oleh komponen perangkat lunak lain untuk mengakses fungsi masing-masing modul.
Modul memaksakan batasan logis antar komponen, meningkatkan pemeliharaan. Mereka digabungkan melalui antarmuka, yang dirancang sedemikian rupa untuk meminimalkan ketergantungan antara modul yang berbeda.
Modul utama dan tambahan
Sebuah modul utama dan beberapa modul sekunder adalah apa yang membentuk pemrograman modular. Dari modul utama, panggilan dilakukan ke fungsi modul tambahan.
Plug-in ini ada sebagai file terpisah yang dapat dijalankan, yang dimuat saat modul utama dijalankan. Setiap modul memiliki nama unik yang ditetapkan dalam pernyataan PROGRAM.
Tim kerja dapat mengembangkan modul yang berbeda secara terpisah tanpa harus mengetahui semua modul dari sistem. Setiap aplikasi modular dikaitkan dengan nomor versi untuk memberikan fleksibilitas kepada pengembang dalam memelihara modul.
Fitur pemrograman modular
Modularitas
Komputer tidak memerlukan versi kode yang di-exploding untuk menjalankannya. Batasan kognitif manusia itulah yang memaksa Anda untuk menulis kode dalam bagian yang lebih kecil.
Suatu program dapat berisi fungsi lain dan juga dapat merujuk ke fungsi yang ada di file lain. Fungsi atau modul ini adalah kumpulan pernyataan yang digunakan untuk melakukan operasi atau menghitung nilai.
Untuk menjaga kesederhanaan dan keterbacaan dalam program besar dan kompleks, fungsi utama pendek digunakan bersama dengan fungsi lain, bukan fungsi utama panjang.
Dengan memisahkan suatu program menjadi beberapa kelompok modul, setiap modul akan lebih mudah dipahami sehingga sesuai dengan pedoman dasar pemrograman terstruktur.
Definisi fungsi
Suatu fungsi terdiri dari deklarasi definisinya diikuti dengan perintah dan pernyataan. Bentuk umum dari suatu fungsi adalah:
Function_name (deklarasi parameter) {
kalimat;
perintah;
ekspresi kembali;
}
- Deklarasi parameter mewakili informasi yang diteruskan ke fungsi.
- Variabel tambahan yang digunakan secara khusus oleh fungsi didefinisikan dalam kalimat.
- Semua fungsi harus menyertakan pernyataan return.
Cakupan variabel
Variabel yang dideklarasikan dalam fungsi utama atau dalam fungsi yang ditentukan pengguna disebut variabel lokal. Ini memiliki nilai saat fungsi dijalankan, tetapi nilainya tidak dipertahankan saat fungsi selesai.
Variabel yang dideklarasikan di luar program utama atau fungsi yang ditentukan pengguna disebut variabel global. Variabel ini dapat diambil dari fungsi apa pun yang ada di dalam program.
Itu prosedural
Pemrograman modular cukup prosedural, karena sepenuhnya berorientasi pada penulisan kode untuk fungsi, tanpa memperhitungkan datanya.
Contoh pemrograman modular
Modularitas dalam kehidupan nyata
Misalkan rumah yang memiliki listrik, dengan beberapa outlet di dinding. Sistem ini memungkinkan Anda untuk memasang berbagai perangkat listrik, misalnya microwave, mesin cuci, pengering, dll.
Perangkat ini dirancang untuk melakukan tugas spesifiknya saat dicolokkan dan dinyalakan, di mana pun lokasinya.
Modul aplikasi harus mengikuti filosofi yang sama. Ini berarti bahwa mereka hanya perlu melakukan tugas spesifik mereka tidak peduli di bagian aplikasi mana mereka berada, atau bahkan aplikasi mana mereka terhubung.
Selain itu, sebagaimana perangkat listrik dapat dengan mudah dicabut dari stopkontak, modul harus dirancang sedemikian rupa sehingga dapat dengan mudah dilepaskan dari aplikasi.
Sama seperti melepas perangkat listrik tidak memengaruhi fungsionalitas perangkat lain yang terhubung, menghapus modul dari aplikasi seharusnya tidak memengaruhi fungsionalitas modul lain dari aplikasi tersebut.
Fungsi di Java
Dalam modul Java ditulis sebagai fungsi independen. Misalnya, Anda mungkin memiliki fungsi atau blok kode untuk menghitung IPK siswa berdasarkan nilai mereka di semua mata pelajaran yang telah mereka ambil.
Fungsi tersebut perlu mendapatkan daftar nilai sebagai input dan kemudian mengembalikan rata-rata nilai yang dihitung:
Fungsi ini disebut CalculateAverageNote. Ini menerima sebagai masukan daftar catatan, menggunakan array tipe data ganda, dan mengembalikan rata-rata yang dihitung.
Dalam fungsinya, jumlah variabel lokal diinisialisasi ke nol dan kemudian, menggunakan perulangan for, semua kualifikasi ditambahkan ke penjumlahan. Akhirnya, jumlah yang diperoleh dibagi dengan jumlah nada, mengembalikan nilai yang dihasilkan.
Jika pada matriks masukan terdapat not 3.5, 3.0 dan 4.0, maka setelah dijumlahkan akan dijumlahkan nilai 10.5 dan kemudian akan dibagi 3, karena ada tiga not. Fungsi tersebut akan mengembalikan nilai 3.5.
Keuntungan
Pemrograman proyek independen
Beberapa programmer dapat mengerjakan proyek yang sama jika itu dibagi menjadi beberapa modul. Pemrogram yang berbeda dapat secara mandiri merancang modul program yang berbeda, yang diperlukan untuk program yang besar dan kompleks.
Pengembangan program yang efisien
Program dapat dikembangkan lebih cepat, karena modul kecil yang berdiri sendiri lebih mudah dipahami, dirancang, dan diuji daripada program besar.
Pemrogram dapat memberikan masukan yang diperlukan dan memverifikasi bahwa modul tersebut benar dengan memeriksa keluarannya.
Berbagai penggunaan modul
Kode yang ditulis untuk satu program sering kali berguna untuk program lain. Pemrograman modular memungkinkan bagian ini disimpan untuk digunakan di masa mendatang. Karena kodenya dapat direlokasi, modul yang disimpan dapat ditautkan ke program lain yang memenuhi persyaratan input dan output.
Dengan pemrograman monolitik, bagian kode seperti itu disematkan di dalam program dan tidak tersedia untuk digunakan oleh program lain.
Kemudahan debugging dan modifikasi
Modul lebih kecil dari program lengkap, jadi lebih mudah untuk menguji. Setiap modul dapat ditulis dan diuji secara terpisah dari program lainnya. Setelah modul diuji, ia dapat digunakan dalam program baru tanpa harus mengujinya lagi.
Ketika program harus dimodifikasi, pemrograman modular menyederhanakan pekerjaan. Modul baru atau yang di-debug dapat ditautkan ke program yang sudah ada tanpa mengubah program lainnya.
Kekurangan
Struktur yang terlalu berorientasi objek
Pemrograman ini menggunakan antarmuka, yang merupakan ide yang cukup efektif. Untuk memanfaatkannya, beberapa framework dilengkapi dengan kelas lengkap yang dapat dipertukarkan. Misalnya, untuk menangani persistensi, mungkin ada beberapa kelas yang mengimplementasikan antarmuka persistensi.
Namun, lingkungan pengembangan terintegrasi (IDE) bingung tentang hal ini. Misalnya, Anda mungkin mencoba mencari sumber dari suatu metode, dan IDE tidak akan tahu metode mana yang ingin Anda lihat, sehingga menampilkan daftar panjang file di mana metode dengan nama itu ada.
Modul terlalu kecil
Ada banyak modul yang hanya berisi fungsi yang sangat kecil. Setiap modul membutuhkan waktu parsing dan pemrosesan tambahan, selain judulnya dalam kode.
Oleh karena itu, menggunakan banyak modul kecil akan menambah biaya tambahan ke sistem kompilasi, meningkatkan ukuran paket.
Terurai tanpa alasan
Beberapa kode hampir tidak pernah berubah. Dalam kasus tersebut mungkin tidak masuk akal untuk mencoba membuatnya terlihat lebih bersih atau dengan logika abstrak, jika hanya menggunakannya berfungsi dengan baik.
Ada kode-kode yang tidak terlihat terlalu bagus, namun tidak banyak berubah dalam beberapa tahun terakhir. Tidak ada alasan untuk menguraikan kode yang tidak pernah berubah dan sudah berfungsi dengan baik menjadi modul.
Aplikasi
Pemrograman modular hanyalah sebuah konsep. Praktiknya dapat diterapkan dalam bahasa pemrograman apa pun, terutama yang bersifat prosedural, yang memiliki program yang dikompilasi secara terpisah.
Pustaka komponen yang dibangun dari modul yang dikompilasi secara terpisah dapat digabungkan menjadi satu set menggunakan alat pemrograman yang disebut linker.
Nama fungsi pada modul yang berbeda harus unik untuk memfasilitasi aksesnya jika fungsi yang digunakan oleh modul utama harus diekspor.
Di antara bahasa pemrograman yang mendukung konsep pemrograman modular adalah C, Ada, PL / I, Erlang, Pascal, Algol, COBOL, RPG, Haskell, Python, HyperTalk, IBM / 360 Assembler, MATLAB, Ruby, IBM RPG, SmallTalk, Morpho, Java (paket dianggap sebagai modul), Perl, dll.
Bahasa C.
Pemrograman modular dapat diterapkan dalam bahasa C karena memungkinkan untuk memperbaiki kesulitan besar dengan memisahkannya menjadi beberapa modul.
Masing-masing modul ini memecahkan masalah tertentu, sedangkan program utama, yang merupakan rangkaian prosedur semacam itu, menyelesaikan masalah secara keseluruhan.
Setiap fungsi yang didefinisikan di C secara default dapat diakses secara global. Ini dapat dilakukan dengan menyertakan file header, di mana implementasi fungsi ditentukan.
Sebagai contoh, kami ingin mendeklarasikan tipe data stack dan juga bahwa implementasi dan struktur data disembunyikan dari pengguna.
Ini dapat dilakukan dengan terlebih dahulu mendefinisikan file publik bernama stack.h, yang akan berisi data generik dengan tipe data stack dan fungsi yang didukung oleh tipe data stack.
stack.h:
extern stack_var1;
extern int stack_do_something (void);
Sekarang Anda dapat membuat file bernama stack.c yang berisi implementasi tipe data stack:
Referensi
- CIO Wiki (2019). Pemrograman Modular. Diambil dari: cio-wiki.org.
- Definisi IT (2020). Pemrograman Modular. Diambil dari: defit.org.
- New Mexico Tech (2020). Pemrograman modular dengan fungsi. Diambil dari: ee.nmt.edu.
- Christian Maioli (2020). 3 teknik kreatif untuk menulis kode modular. Tech Beacon. Diambil dari: techbeacon.com.
- Geeks for Geeks (2020). Pendekatan Modular dalam Pemrograman. Diambil dari: geeksforgeeks.org.
- Belajar (2020). Pemrograman Modular: Definisi & Aplikasi di Java. Diambil dari: study.com.