sumber gambar : www.programering.com
Pengantar
Salah satu teknik pemrograman yang sering digunakan adalah pemrograman modular. Teknik ini dikembangkan karena keterbatasan manusia memikirkan pemecahan permasalahan. Manusia hanya sanggup memikirkan bagian tertentu dari keseluruhan program secara tuntas, tetapi mampu berpikir secara global. Pada umumnya orang memecahkan permasalahan secara bertahap. Pertama kali memikirkan persoalan secara global dengan sejumlah sub–masalah. Kemudian setiap sub–masalah dipikirkan rincian pemecahannya.
Sebagai contoh :
Misalkan kita disuruh mengunjungi teman dikota lain. Mungkin yang pertama kali dipikirkan adalah bahwa perjalanan dibagi atas tiga bagian, dua perjalanan dalam kota dan satu perjalanan antar kota. Diantara tiga sub-perjalanan tersebut yang pertama dipikirkan adalah perjalanan antar kota. Pikiran seperti ini berarti kita telah berasumsi bahwa perjalanan dalam kota dianggap sudah tahu. Andaikan kita memutuskan naik pesawat udara, maka dengan segera akan mencari tiket walaupun sesungguhnya kita belum mengetahui rincian perjalanan dalam kota. Sebelum berangkat atau menjelang keberangkatan, kita memikirkan rincian masing-masing tahapan perjalanan. Didalam benak kita bertanya, naik apa ke bandar udara ?. Kalaupun naik bus harus tahu lintasan dan tempat pemberhentiannya.
Mungkin kita tidak mau repot memikirkan semua itu, serahkan saja pemecahannya kepada sopir taksi, kita naik taksi. Perjalanan antar kota dipercayakan kepada pilot. Perjalanan dari bandar udara ke tempat tujuan dipercayakan juga kepada sopir taksi. Persoalan transportasi diatas kita pecahkan secara global saja. Sub-permasalahan dibebankan pemecahannya kepada pihak lain, yaitu pilot dan sopir taksi. Dalam hal ini pihak yang ditugasi itu harus tahu betul rincian pemecahan permasalahan yang ditugaskan kepadanya.
Pada pemrograman hal semacam itu juga terjadi. Pemecahan permasalahan dipikirkan secara bertahap. Permasalahan dibagi atas beberapa bagian kemudian setiap bagian dibagi lagi atas bagian-bagian lain yang lebih kecil, demikian seterusnya sampai bagian tersebut mudah untuk dapat diselesaikan.
Penyelesaian setiap bagian permasalahan disebut modul. Dalam program modul akan direalisasikan dalam bentuk prosudur, fungsi atau blok. Pada umumnya, suatu modul akan mengolah masukan yang diterimanya untuk menghasilkan keluaran seperti yang diinginkan.
Ada sebuah pernyataan dari Al-Khawarizmi:
Untuk mencapai suatu tujuan besar, maka tujuan tersebut harus dibagi-bagi menjadi tujuan kecil sampai tujuan kecil itu merupakan tujuan yang dapat dicapai berdasarkan kondisi dan potensi yang dimiliki saat itu.
Pernyataan Al-Khawarizmi dapat dijadikan analogi mengenai pemrograman modular. Pemrograman modular adalah memprogram dengan membagi program menjadi beberapa bagian procedure (prosedur) dan function (fungsi). Prosedur adalah bagian program yang tidak mengembalikan hasil proses ke bagian pemanggilnya. Sedangkan fungsi adalah bagian program yang akan mengembalikan suatu nilai hasil dari proses ke bagian pemanggilnya. Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Hasil akhir fungsi akan berupa sebuah nilai balik (return) .
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 di mana program yang biasanya cukup besar dibagi-bagi menjadi beberapa bagian program yang lebih kecil .
Pemrograman modular memungkinkan perancang program menyederhanakan persoalan didalam program dengan memecah atau membagi persoalan tersebut menjadi sub-sub persoalan yang lebih kecil agar mudah diselesaikan. Secara umum dikenal dua cara yang dapat digunakan untuk memecah persoalan dalam modul-modul, yaitu dengan menggunakan struktur fungsi dan prosedur. Pemahaman tentang perbedaan dan karakteristik masing -masing struktur tersebut perlu diimbangi pula dengan kemampuan mengimplementasikannya dalam program.
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.
Bayangkan 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 pemrogram memanggil kembali subprogram yang telah didefinisikannya setiap kali diperlukan dalam program tersebut. Pemrogram tidak perlu berulang kali mendefinisikan sekumpulan instruksi yang diperlukan beberapa 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.
Dalam pemrograman, dikenal 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.
Subprogram sebagai bagian dari program utama wajib mendefinisikan kondisi awal (initial state/I.S. ) sebelum proses dalam subprogram dieksekusi dan juga mendefinisikan kondisi akhir (final state/F.S. ) yang berupa hasil proses (output) atau perubahan nilai dalam variabel tertentu (khusus untuk fungsi saja).
Beberapa fungsi dan prosedur telah terdefinisi dan dapat langsung digunakan oleh pemrogram dalam sebuah program dengan mendefinisikan variabel-variabel yang diperlukan. Selain fungsi dan prosedur yang telah terdefinisi tersebut, pemrogram juga dapat membuat sendiri fungsi dan prosedur yang diperlukannya dalam sebuah program.
Dalam membuat sebuah subprogram, pemrogram dapat menyimpannya dalam salah satu dari dua lokasi berikut ini :
1. dalam file yang sama dengan program utama: dapat dilakukan jika subprogram sedikit dan berukuran kecil sehingga relatif mudah dikelola dalam sebuah file
2. dalam file yang terpisah: biasanya dilakukan jika subprogram sudah terlalu banyak sehingga sulit dikelola, atau jika pemrogram menginginkan supaya subprogram dapat digunakan di beberapa program utama sekaligus
Referensi
Anonim, “Algoritma & Pemrograman II”, Penerbit Gunadarma, Jakarta, 1990
Bryon, Goffried, “Programming with PASCAL”, Schaum Series, New York, 1986
Prather, Ronald E., “Problem Solving Principle : Programming with Pascal”, Prentice Hall, New Jersey, 1982
Dumairy, Matematika Terapan untuk Bisnis & Ekonomi Press (BPFE Yogyakarta)
Yogianto H.M, Turbo Pascal 5.0 Penerbit Andi Offset, Yogyakarta.
Ediman Lukito, Belajar Sendiri Pemrograman dengan Turbo Pascal 7.0
Harahap, Erwin (2005). Panduan Perkuliahan Algoritma & Pemrograman, Jurusan Statistika, Universitas Islam Bandung, Bandung.
Munir, Rinaldi. (2006). Algoritma dan Pemrograman, Edisi ke-3, Penerbit Informatika, Bandung.
Bahan Ajar Algoritma dan Pemrograman “Pemgrogaman Modular/ function” Politeknik Telkom Bandung, 2013
Tugas 10
Dari tugas sebelumnya (8,9,10) tulislah algoritma (Function) psudocode dan buatlah programnya menggunakan visual basic, Screenshoot hasil/ tampilan program dan lampirkan dengan membuat link melalui google drive
B_122150086_Irsyad Rahman Hakim
BalasHapushttps://drive.google.com/open?id=0B40DVqFzVe5-MWw4aHJvalFOS2c
B_122150072_Ichsan Syarafi
BalasHapushttps://drive.google.com/file/d/0Bwk6OW5YuaCnTWI3Q3lJakpfVnc/view?usp=sharing
tambahan
Hapushttps://drive.google.com/file/d/0Bwk6OW5YuaCnazBiYkw5M2xfeVE/view?usp=sharing
B_122150054_Ghulam Amar Al Ma'ruf
BalasHapushttps://drive.google.com/file/d/0B9mm7quM9zqVZEdKeDdxSmh6VE0/view?usp=sharing
B_122150097_Rangga Threfosa Tolongan
BalasHapushttps://drive.google.com/open?id=0B4Y8aD6Z3uM9WS1QWHZ6Q1FYMDg
B_122150068_Karunia Pramanti Putri
BalasHapushttps://drive.google.com/file/d/0B4ETOQeW6yFaZ3F2bE1ZelNKSXc/view?usp=sharing
Komentar ini telah dihapus oleh pengarang.
BalasHapusB_122150062_Christian Agung Pribadi
BalasHapushttps://drive.google.com/file/d/0B2D_0Ra9aYS2Q09mWEZNYVVLeUE/view?usp=sharing
B_122150064_FANDY SAPUTRA
BalasHapushttps://drive.google.com/file/d/0B0H3VtM_qnUrTHdacnhZa0U1dm8/view?usp=sharing
B_122150060_Moch Rizky Hermawan
BalasHapushttps://drive.google.com/file/d/0B5lgRqXlh9jEVjdOLUliQmc1OGc/view?usp=sharing
B_122150087_Aldhi Febrawan
BalasHapushttps://drive.google.com/file/d/0Bw2QkOzqd9u3c042UXR6MEllUlU/view?usp=sharing
B_122150096_Benyamin Purbowasito
BalasHapushttps://drive.google.com/open?id=0BznMW7qe0vD-bFRRNXdpeFNaZlE
B_122150067_Yustina Orchidtya Dwi Rosari
BalasHapushttps://drive.google.com/file/d/0BzAo0BITkdHkdGNDdXMxS3R0bEE/view?usp=sharing
Komentar ini telah dihapus oleh pengarang.
HapusB_122150070_Ridwhan Abdul Azis
BalasHapushttps://drive.google.com/open?id=0B67NHiA09e5hSGxkQUJsa3VTNjA
psudocode
https://drive.google.com/open?id=0B67NHiA09e5hWTJ4TGp0UEFIdXM
B_122150073_AYUB HENDRY YUWONO
BalasHapushttps://drive.google.com/file/d/0Bw08DZIeOPQYbzBoSVZSSW1pU28/view?usp=sharing
Komentar ini telah dihapus oleh pengarang.
BalasHapusB_122150078_Bagas Virgantama
BalasHapushttps://drive.google.com/file/d/0B9QJK3_VfINFMC1qVjJLX3FnYmM/view?usp=sharing
B_122150071_Nafisa Syaiha Syuhda
BalasHapushttps://drive.google.com/file/d/0BxSphnLByL3yNXBHbmQ5NFBPZjQ/view?usp=sharing
B_122150085_Kurnia Wardana Ariyanto
BalasHapushttps://drive.google.com/file/d/0B4n2sW-GSfiQN0p6SG9UejVlUEU/view?usp=sharing
C_chrisna Ocvatika santoso
BalasHapushttps://drive.google.com/drive/folders/0B3K04GtYqwXJQm9CQlNGdHJ5bTg
B_122150057_Rizky Firmansyah
BalasHapushttps://drive.google.com/file/d/0B75GAMWFm6yLX2NIN0dxaFpQczQ/view?usp=sharing
B_122150081_MAGHVIRA ANDHIKA ANJASMARA
BalasHapushttps://drive.google.com/file/d/0B4CRKrUERuUeVmhUSER1TWIzRkk/view?usp=sharing
B_122150075_KHAQIQ TAUFIQU MAULA
BalasHapushttps://drive.google.com/open?id=0BzSx1YuSbJNsTWFwZzREYk01SDQ
B_122150099_Arwan Saputro
BalasHapushttps://drive.google.com/open?id=0Bz5xDfbBotY9Q2VvZ0V5YVppY00
B_122150099_Arwan Saputro(revisi)
Hapushttps://drive.google.com/open?id=0Bz5xDfbBotY9MmdkNkY4dzNCeUU
B_122150063_Yakub Hidaya
BalasHapushttps://drive.google.com/file/d/0ByT3NQ7Xk1vQUWkzY3RaUTBBazg/view?usp=docslist_api
B_122150058_Efendi Setiawan
BalasHapushttps://drive.google.com/file/d/0B_0v_vXcXRDNdjVYcHZRUzdod2M/view?usp=sharing
B_122150076_AHMAD AINUN NA'IM
BalasHapushttps://drive.google.com/open?id=0B7KYxvNmdm4ZUzNVN0Vfb0dsc28
B_122150061_Arif Tri Fauzi
BalasHapushttps://drive.google.com/open?id=0B-MtP7lfZycjVzdJMndoak5wa1U
B_122150090_irfan syah aji wijaya
BalasHapushttps://drive.google.com/open?id=0B31BLNmn2FvwWFE3dDlpeDEzblE
B_122150094_Effie Azaria
BalasHapushttps://drive.google.com/file/d/0BwX9PsXxxksESGdjcUxrYldBcWs/view?usp=sharing
B_122150051_Novira Dwirahma
BalasHapushttps://drive.google.com/open?id=0B6EGrkdGisNbellDaU9ZSDU3MlU
B_122150091_Wulan Puji Astuti
BalasHapushttps://drive.google.com/file/d/0B__LVkm9bAl1NHRFVVRTMkpmMlk/view?usp=sharing
B_1221500053_Adh Dhuha Nurul Salsabila
BalasHapushttps://drive.google.com/file/d/0B3hUirhFo6O4UWU4SEFKNkRzRFU/view?usp=sharing
B_RIZKI DISTIANASARI_122150098
BalasHapushttps://drive.google.com/open?id=0B5-_j-bZ-JPCRHlwOWhwaVIyc00
B_122150056_GHIFARI SURYA SATRIA
BalasHapusTUGAS 11: MODULAR FUNGSI
https://drive.google.com/file/d/0B6moNA6X2YGhWlAzNzBHa0dsUmc/view?usp=sharing
B_122150059_Risang Ario Harimurti
BalasHapushttps://drive.google.com/file/d/0Bwt9xr6-G9WBU2xKNENORi1XX3c/view?usp=drivesdk
B_122150069_Zulfa Kartika Damayanti
BalasHapushttps://drive.google.com/open?id=0B5KnLhRvqgDZdWxKaG43akJMYm8
B_122150088_Alexander Perdana
BalasHapushttps://drive.google.com/open?id=0B32Gr8Wa_cxoM0F2VGdvbEUxeEE
C_122120053_MOCHAMMAD RIZQI KURNIAWAN
BalasHapushttps://drive.google.com/file/d/0B9QJK3_VfINFMC1qVjJLX3FnYmM/view?usp=sharing
B_122150074_Intan Maharani
BalasHapushttps://drive.google.com/file/d/0B4GheiuFHw85OUYwVEs0NkEtSG8/view?usp=sharing
Revisi
Hapushttps://drive.google.com/file/d/0B4GheiuFHw85NTExZHpHaC1MNTA/view?usp=sharing
C_122150101_Desi Widiyastuti
BalasHapushttps://drive.google.com/open?id=0BzTDj3iDm2vtc1k5QnpnRFhCYTg
A_122150050_Arifin Surya Lukita
BalasHapushttps://drive.google.com/file/d/0B_QHsRQ9T9k_YkxzT1RPZjR0dVE/view?usp=sharing
B_122150052_Muhammad Yusuf Suhardiman
BalasHapushttps://drive.google.com/file/d/0B2xJGzLCTiThTDNXaWhIb3Fwazg/view?usp=sharing
Komentar ini telah dihapus oleh pengarang.
BalasHapusC_122150103_Tifany Wahyu Widyaranti
BalasHapushttps://drive.google.com/file/d/0B30kdrycfof5Nm1vYXNZQnFqY2M/view?usp=sharing
B_122150082_Miftahus Salam
BalasHapushttps://drive.google.com/file/d/0B-qILWwsXtIxN01sRl9qcXhZbTA/view?usp=sharing
c_122150122-AnwarIlhamsyah
BalasHapushttps://drive.google.com/open?id=0B9Eng4DWc3bmbmJnTm1FQmx2UzQ
REVISI
Hapushttps://drive.google.com/open?id=0B9Eng4DWc3bmV3lFM1hiSl9oR3c
REVISI
Hapushttps://drive.google.com/open?id=0B9Eng4DWc3bmV3lFM1hiSl9oR3c
C_122150119_Muhammad Ridwan
BalasHapushttps://drive.google.com/file/d/0B0IVbp8d5hiCMFh1LWx0ZXJUZWM/view?usp=sharing
C_122150107_Aldi Dwiyantoro
BalasHapushttps://drive.google.com/file/d/0B3BGEY9SxjYQeDAxTFhya054Y2M/view?usp=sharing
C_122150107_Aldi Dwiyantoro
BalasHapushttps://drive.google.com/file/d/0B3BGEY9SxjYQeDAxTFhya054Y2M/view?usp=sharing
C_122150104_Yogya Willy Handoyo
BalasHapushttps://drive.google.com/open?id=0B7T4yPHJmkRFOGhOekNYc2lkREE
B_122150079_Ilham Pangestu utomo
BalasHapushttps://drive.google.com/file/d/0B_DR0s8qXBuMZ2tSSTJfZC1zRlU/view?usp=sharing
B_122150077_Gusdiniarko
BalasHapushttps://drive.google.com/folderview?id=0B9kNUeRp1ZSeUFpZZEZ1LVdpc0E&usp=sharing
C_122150112_Rini Theresia
BalasHapushttps://drive.google.com/file/d/0B0ORZS3-7EJXY1E1RVFoY1N1Yjg/view?usp=sharing
C_122120068_Muhammad Jangki Dausat
BalasHapushttps://drive.google.com/drive/folders/0B9Ty8fultAjKZE4wd3UyZTZmcE0
B_122150084_Aprininda Aisya N
BalasHapushttps://drive.google.com/file/d/0B8nusyn-geSFTjJrMTQ4VE16dWM/view?usp=sharing
C_122150121_Alita tri rachmawati
BalasHapushttps://drive.google.com/file/d/0B63O7Y5ffX_bdW83OFpSSnpHX3c/view?usp=sharing
C_122150120_Muhammad Iqbal F
BalasHapushttps://drive.google.com/file/d/0B-E8_sdZNhAhM1lITFZINmZnOFE/view?usp=sharing
C_122150120_Muhammad Iqbal F
BalasHapushttps://drive.google.com/file/d/0B-E8_sdZNhAhM1lITFZINmZnOFE/view?usp=sharing
C_122150109_Rifandi Elfrianto Firmansyah
BalasHapushttps://drive.google.com/file/d/0B8MINebazgTwamNxQkk1Wks2R2M/view
C_122150108_PINKIE WINANDARI BUDAYA
BalasHapushttps://drive.google.com/file/d/0B2ppWf4yw3siU25MZkpHdE9MTGs/view?usp=sharing
C_122150106_Fakhriel Ilman R
BalasHapushttps://drive.google.com/open?id=0Bx1PAxllr0VsMnoxZXpCUExuckk
C_122150111_Zakat Nuh Zikirullah
BalasHapushttps://drive.google.com/open?id=0B4L6DRvS0npIQ1dMbGR1UGFGNVU
C_122150115_Raka Ardiansyah P
BalasHapushttps://drive.google.com/open?id=0BzLaOAM2XGs8QVVXcnhDYlhhcHM
B_122150095_Alver Pramudito Zakiri
BalasHapushttps://drive.google.com/open?id=0BwVzMiyD5NqQSmtRaWRELXhLT1U
C_122150102_Puspa Puspita
BalasHapushttps://drive.google.com/open?id=0BzF4N2BnNAamOW90dk9MTHFFLUU
B_122150093_B.BAGUS ADI YOGA U
BalasHapusHttps://drive.google.com/file/d/0B5CYHUC5-s38RExxVm9vTDMwcXc/view?usp=drivesdk
Komentar ini telah dihapus oleh pengarang.
BalasHapusC_122150117_Riany Marifatika
Hapushttps://drive.google.com/file/d/0B1RVdONzuamKZERvd1N6cXAtU0U/view?usp=sharing
Komentar ini telah dihapus oleh pengarang.
BalasHapusC_122150118_AINUN FITRIYAH NURROCHMA
HapusREVISI
https://drive.google.com/file/d/0B78CnEMp9-htN05zeDFXNWhCd00/view?usp=sharing
C_122150105_AHMAD MA'LUFUL WAFA
BalasHapushttps://drive.google.com/file/d/0B07mhuAeeBU0VjFtRXJGVFhSOTg/view
C_122150114_SASHI APRIDA YUSMI
BalasHapushttps://drive.google.com/file/d/0B6-Ln1LwVrcVeG94VDhPODBaSkU/view?usp=sharing
Terima kasih pak sudah mau berbagi ilmunya
BalasHapusmy blog