Anda di halaman 1dari 16

LAPORAN PRAKTIKUM PEMROGRAMAN MODUL

IV

disusun oleh

Hendri saputra (1022211008)

III B2

PROGRAM STUDY TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS BANGKA BELITUNG

2023/2024
PERCOBAAN 4

Pemrograman Modular

4.1 Tujuan Percobaan


Mahasiswa dapat memahami:
1. Pemrograman modular
2. Bentuk umum struktur pemrograman modular prosedur
3. Bentuk umum struktur pemrograman modular fungsi
4.2 Dasar Teori
4.2.1 Pemrograman Modular
Pemrograman Modular adalah suatu bentuk Teknik pemrograman dimana
program yang cukup besar dibagi-bagi menjadi beberapa bagian program
yang lebih kecil atau disebut dengan Upa-program (Sub-program), sehingga
akan mudah dipaham dan dapat digunakan kembali, baik untuk program itu
sendiri maupun program lain yang memiliki proses yang sama.

Struktur pohon yang memperlihatkan main program dipecah menjadi


beberapa upa-program. Program utama dipecah menjadi 3 upa-program.
Apabila upa-program terlalu besar, maka upa-program tersebut juga harus
dipecah lagi agar lebih sederhana, seperti yang terlihat pada upa-program 2
dipecah menjadi upa-program 1 dan upa-program 2.
Modularisasi program memberikan beberapa keuntungan :
• Program lebih pendek.
• Mudah dibaca dan dimengerti
• Mudah didokumentasi
• Mengurangi kesalahan dan mudah mencari kesalahan
• Kesalahan yang terjadi bersifat “lokal”

Terdapat dua bentuk upa-program, pertama prosedur (procedure) dan kedua


fungsi (function). Prosedur adalah upa-program yang melakukan aktivitas
spesifik, menerima masukan, tetapi tidak memberikan luaran secara
langsung, sedangkan fungsi adalah upa-program yang menerima masukan
dan menghasilkan luaran secara langsung.

4.2.2 Pemrograman Modular Prosedur


Prosedur adalah bagian modul sebuah program yang melaksanakan tugas
yang spesifik, hasilnya diamati selesai semua instruksi di dalamnya selesai
dikerjakan. Sebagai contoh sebuah prosedur yang melakukan pengurutan
(sorting) nilai ujian siswa, sebelum prosedur dijalankan nilai-nilai ujian
tersebut kondisinya belum terurut, dan setelah prosedur pengurutan
dijalankan nilai-nilai ujian tersebut sudah tersusun secara terurut.
Pada dasarnya, struktur prosedur sama dengan stuktur program biasa,
yaitu : ada bagian judul (header) yang terdiri atas nama prosedur, bagian
deklarasi untuk mendefinisikan nama peubah, nama tipe, dan konstanta, dan
bagian algoritma yang merupakan badan (body) prosedur.
Setiap prosedur mempunyai nama yang unik. Nama prosedur sebaiknya
diawali dengan kata kerja aktif karena prosedur berisi akivitas melakukan
sesuatu, misalnya prosedur HitungLuas, Tukar, CariMaks, dan lain
sebagainya.
Pada pemrograman bahasa C/C++, prosedur ditranslasikan ke dalam
bentuk sebuah function pada bahasa C bertipe void. Void adalah sebuah
fungsi (function) pada Bahasa C/C++ yang tidak mengembalikan nilai
keluaran (return) yang didapat dari hasil proses tersebut. Ini kenapa fungsi
tersebut disebut void, secara harfiah berarti kosong. Untuk ciri ciri dari
fungs ini adalah :
• Tidak memerlukan tipe data / menggunakan kata kunci void dalam
deklarasi.
• Tidak dapat langsung menampilkan hasil
• Tidak memiliki nilai kembalian (return value)
• Tidak menggunakan kata kunci return

Perhatikan Program berikut:


void hitungLuas(){
float luas, sisi;
printf("masukkan panjang sisi : ");
scanf("%f", &sisi);
luas = sisi * sisi;
printf("luas persegi : %0.3f \n", luas);
}

Fungsi void dideklarasikan terlebih dahulu bagian header, peubah, serta


bagian badan program yang berisi algoritma prosedur yang dilakukan. Pada
contoh, prosedur hitungLuas(), dipanggil pada program utama (main
program). Sebuah prosedur harus dipanggil ke dalam program utama agar
dapat bekerja dalam suatu program.

4.2.3 Pemrograman Modular Fungsi


Secara sederhana, fungsi atau function adalah blok kode program yang
dirancang untuk menyelesaikan sebuah tugas tertentu, dan merupakan bagian
dari program utama, layaknya sebuah fungsi dalam matematika yang
menerima masukan nilai, kemudian mengerluarkan nilai tertentu. Dalam
pemrograman, fungsi sering digunakan untuk membungkus program
menjadi bagian-bagian kecil. Logika program yang ada di dalam fungsi
dapat digunakan kembali dengan memanggilnya, sehingga tidak perlu
menulis ulang. Berdasarkan siapa yang membuat, fungsi bisa dibedakan ke
dalam 2 kelompok:
1. Built-In Function
2. User Defined Function

Built-In Function adalah sebutan untuk fungsi yang sudah ada secara
bawaan dari dalam bahasa pemrograman. Sedangkan User Defined Function
adalah fungsi yang dibuat dan didefinisikan sendiri (sebagai programmer).
Bahasa C menyediakan banyak fungsi bawaan, dan belum termasuk fungsi
yang bisa diakses dari berbagai library / header file pihak ketiga. Sebagai
contoh, printf(), scanf() dan strcpy() adalah fungsi bawaan bahasa C yang
tersimpan pada header file <stdio.h>.
Tidak seperti prosedur yang menggunakan tipe fungsi Void, fungsi
mengembalikan nilai tertentu ketika sudah dieksekusi. Sehingga sebuah
fungsi biasanya dideklarasikan dengan tipe data tertentu. Fungsi harus
terlebih dahulu dideklarasikan sama seperti prosedur.

4.3 Alat dan Bahan


 1 Set Komputer
- Sistem Operasi Windows 10 / Linux / MacOS
 Visual Studio Code (sudah terinstall extensi untuk Bahasa C/C++)
 minGW compiler (sudah terinstall)
4.4 Langkah Percobaan
1. Bukalah folder baru tempat anda menyimpan semua script program C pada
window baru visual studio code, kemudian buatlah file script programbaru
berekstensi .c .
2. Ketiklah listing program yang di berikan berikut ini pada file script program yang
terpisah.
3. Compile script program yang telah dibuat dengan mengklik run (tombol run) atau
dengan cara mengetikkan command berikut pada terminal VS code :
gcc -o [nama_file_executable] [nama_script_program_berkestensi.c]
4. Kemudian run program pada terminal dengan cara mengetikkan :
./[nama_executable_file].
5. Apabila masih ada yang error, tanyakan lah pada asisten pendamping.
6. Simpanlah listing program yang telah berhasil di,dalam folder yang telah anda
buat.
7. Lakukan Analisa output program dan jelaskanlah algoritma program yang
diberikan.
4.5 Analisa dan Pembahasan
4.5.1 Prosedur 1
Hasil Output:

Analisa dan Penjelasan:


Program ini terdiri dari dua fungsi, yaitu isPrime dan find.
Fungsi isPrime memeriksa apakah suatu bilangan bulat adalah bilangan
prima atau tidak. Fungsi ini mengembalikan nilai boolean true jika bilangan
tersebut adalah bilangan prima, dan false jika tidak. Fungsi find juga
memeriksa apakah suatu bilangan bulat adalah bilangan prima atau tidak.
Fungsi ini menggunakan pointer untuk mengembalikan nilai
boolean true jika bilangan tersebut adalah bilangan prima, dan false jika
tidak.
Program ini juga memiliki fungsi main, yang meminta pengguna
memasukkan sebuah bilangan bulat. Program kemudian memanggil kedua
fungsi untuk memeriksa apakah bilangan tersebut adalah bilangan prima atau
tidak. Jika kedua fungsi mengembalikan nilai boolean true, maka program
mencetak bahwa bilangan tersebut adalah bilangan prima. Jika salah satu
atau kedua fungsi mengembalikan nilai boolean false, maka program
mencetak bahwa bilangan tersebut bukanlah bilangan prima.
4.5.2 Prosedur 2
Hasil Output:
Analisa dan Penjelasan:
Pada permulaan program, beberapa header file disertakan, termasuk stdio.h
untuk fungsi standar input/output, string.h untuk fungsi terkait string,
stdlib.h untuk alokasi memori dan fungsi exit(), serta ctype.h untuk fungsi
pemrosesan karakter. Program ini memanfaatkan dua prosedur. Pertama, ada
fibonacci, yang bertugas mencetak deret bilangan Fibonacci sesuai dengan
parameter n yang diberikan. Deret ini dimulai dengan angka 1, 1, dan
seterusnya dihitung untuk bilangan-bilangan berikutnya. Jika n sama dengan
1 atau 2, maka akan mencetak bilangan pertama atau dua bilangan pertama
sesuai kebutuhan. Namun, jika n lebih besar dari 2, maka program akan
mencetak n bilangan pertama dalam deret Fibonacci. Untuk memastikan
keluaran yang benar, validasi input dilakukan menggunakan prosedur
CheckInput. Pengguna diminta untuk memasukkan jumlah bilangan
Fibonacci yang akan dicetak. Program akan membaca input dalam bentuk
string dan memvalidasinya untuk memastikan bahwa input hanya terdiri dari
angka. Jika ada karakter selain angka dalam input, program akan mencetak
pesan kesalahan dan mengakhiri eksekusi dengan fungsi exit(0). Pada bagian
utama program, yaitu main, pengguna diminta untuk memasukkan jumlah
bilangan Fibonacci yang akan dicetak. Kemudian, program menggunakan
fungsi CheckInput untuk memvalidasi dan mengambil input dari pengguna.
Setelah input diterima dan divalidasi, program akan memanggil prosedur
fibonacci dengan jumlah bilangan Fibonacci yang diminta dan mencetak
deret bilangan tersebut. Terakhir, program akan menampilkan pesan
"selesai" dan mengakhiri eksekusi.
4.5.3 Fungsi 1
Hasil Output:
Analisa dan Penjelasan:
Pada permulaan program, beberapa header file disertakan. Ini mencakup
stdio.h yang digunakan untuk fungsi input/output standar, math.h meskipun
tidak digunakan dalam program ini, dan stdbool.h yang digunakan untuk
tipe data bool. Program ini mengggunakan dua fungsi dan satu prosedur:
 Fungsi isPositive menerima satu parameter yaitu inputNumber dan
mengembalikan nilai true jika inputNumber lebih besar dari 0,
menunjukkan bahwa bilangan tersebut adalah bilangan positif. Jika
kondisinya tidak terpenuhi, maka fungsi ini akan mengembalikan false.
 Fungsi fact menerima satu parameter yaitu amountOfNumber dan
mengembalikan nilai faktorial dari bilangan tersebut.
 Prosedur printFactorial menerima dua parameter, first dan last, dan
bertugas mencetak nilai faktorial dari semua bilangan dalam rentang
dari first hingga last.
Dalam fungsi main, program akan meminta pengguna untuk memasukkan
dua bilangan, yaitu start (awal) dan finish (akhir), yang akan menentukan
rentang bilangan yang akan dihitung faktorialnya. Program akan melakukan
validasi untuk memastikan bahwa kedua bilangan tersebut adalah bilangan
positif. Jika salah satu dari mereka adalah bilangan negatif, program akan
meminta pengguna untuk memasukkan bilangan-bilangan tersebut lagi
hingga input yang valid diberikan. Setelah kedua bilangan positif diterima,
program akan memanggil prosedur printFactorial untuk mencetak nilai
faktorial dari semua bilangan dalam rentang yang telah ditentukan.
Selanjutnya, program akan menampilkan pesan "selesai" dan mengakhiri
eksekusi.

4.5.4 Fungsi 2
Hasil Output:

Analisa dan Penjelasan:


Program ini melibatkan dua fungsi dan satu prosedur:
 Fungsi isEven menerima satu parameter, yaitu number, dan
mengembalikan nilai true apabila number merupakan bilangan genap
(yaitu, dapat dibagi habis oleh 2), dan false jika number adalah
bilangan ganjil (tidak habis dibagi 2).
 Fungsi SumOfEven menerima dua parameter, yaitu first_num
(bilangan awal) dan last_num (bilangan terakhir), dan menghitung total
dari seluruh bilangan genap dalam rentang tersebut. Fungsi ini juga
mencetak setiap bilangan genap yang sedang dijumlahkan.
Dalam fungsi main, program meminta pengguna untuk memasukkan dua
bilangan, pertama (bilangan awal) dan terakhir (bilangan terakhir), yang
menentukan rentang bilangan yang akan dijumlahkan. Program akan
memanggil fungsi SumOfEven untuk menghitung jumlah dari bilangan
genap dalam rentang yang ditentukan. Selama proses ini, program juga
mencetak bilangan genap yang sedang dijumlahkan, dengan menambahkan
"+ " di antara bilangan-bilangan tersebut. Akhirnya, program mencetak hasil
jumlah bilangan genap dalam rentang yang ditentukan. Program
menampilkan pesan "selesai" dan menutup eksekusi.

4.6 Hasil Latihan


4.6.1 Buatlah sebuah program dalam bahasa C dengan fungsi / prosedur untuk
mencetak semua bilangan prima yang ada di rentang bilangan tertentu !
Hasil Output:

Analisa dan Penjelasan:


 isPrime(num) adalah prosedur yang memeriksa apakah sebuah
bilangan num adalah bilangan prima.
 printPrimesInRange(start, end) adalah prosedur yang mencetak
semua bilangan prima dalam rentang dari start hingga end.
 Pada prosedur printPrimesInRange, kita menggunakan loop for untuk
memeriksa setiap bilangan dalam rentang dan memanggil
isPrime(num) untuk memeriksa apakah bilangan tersebut adalah
bilangan prima.
 main adalah prosedur utama yang menerima masukan rentang bilangan
dari pengguna dan memanggil printPrimesInRange untuk mencetak
bilangan prima dalam rentang tersebut.

4.6.2 Buatlah program dalam bahasa C dengan menggunakan prosedur / fungsi


yang dapat memungkinkan user memilih untuk menghitung jarak dua buah
titik dengan koordinat kartesian (x,y) dengan menggunakan Euclidian
Distance atau Manhattan Distance. Perhitungan Euclidian Distance dan
Manhattan Distance dibuat ke dalam sebuah fungsi/prosedur, serta program
dibuat mengulang dengan cara memasukkan kode : 1 untuk perhitungan
Euclidian Distance dan menampilkan hasilnya, 2 untuk perhitungan
Manhattan Distance dan menampilkan hasilnya, 3 untuk keluar dari
pengulangan dan menghentkan program !

Hasil Output:
Analisa dan Penjelasan:
 calculateEuclideanDistance adalah prosedur yang menghitung
Euclidean Distance antara dua titik dengan koordinat (x1, y1) dan (x2,
y2) dan mencetak hasilnya.
 calculateManhattanDistance adalah prosedur yang menghitung
Manhattan Distance antara dua titik dengan koordinat (x1, y1) dan (x2,
y2) dan mencetak hasilnya.
 Pada prosedur main, pengguna dapat memilih jenis perhitungan jarak
(Euclidean atau Manhattan) atau keluar dari program. Program akan
terus berjalan hingga pengguna memilih untuk keluar (choice == 3).

4.6.3 Buatlah program dalam Bahasa C dengan menggunakan prosedur / fungsi


untuk menerima masukan dua buah bilangan bulat dan menghasilkan luaran
berupa faktor persekutuan terbesar keduanya. (Greatest Common Divisor /
GCD) (petunjuk : gunakan algoritma Euclid)

Hasil Output:
Analisa dan Penjelasan:
 calculateGCD adalah prosedur yang menghitung Faktor Persekutuan
Terbesar (GCD) dari dua bilangan bulat a dan b menggunakan
algoritma Euclid. Proses penghitungan dilakukan dengan mengulang
sampai b menjadi 0, dan hasil GCD adalah a. Hasil GCD tersebut
kemudian dicetak di layar.
 Pada prosedur main, pengguna diminta untuk memasukkan dua
bilangan bulat, dan kemudian dipanggil calculateGCD untuk
menghitung dan mencetak hasil GCD dari kedua bilangan tersebut.

4.7 Kesimpulan
Dari percobaan yang telah dilakukan dapat disimpulkan bahwa:
1. Pemrograman Modular adalah suatu bentuk Teknik pemrograman dimana
program yang cukup besar dibagi-bagi menjadi beberapa bagian program yang
lebih kecil atau disebut dengan Upa-program (Sub-program), sehingga akan
mudah dipaham dan dapat digunakan kembali, baik untuk program itu sendiri
maupun program lain yang memiliki proses yang sama.
2. Setiapsubprogrammelakukantugas(komputasi)yangspesifik.
3. Sub program yang baik adalah yang bersifat independent dari program
utamanya.
4. Prosedur adalah bagian modul sebuah program yang melaksanakan tugas yang
spesifik, hasilnya diamati selesai semua instruksi di dalamnya selesai dikerjakan.
5. fungsi atau function adalah blok kode program yang dirancang untuk
menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama,
layaknya sebuah fungsi dalam matematika yang menerima masukan nilai,
kemudian mengerluarkan nilai tertentu.
4.8 Daftar Pustaka
1.Ridho, Muhammad Fauzan. Modul Praktikum Pemrograman Komputer. Balunijuk :
Lab JTE UBB, 2023
2.Hanson,DR pencarian C Antar muka dan Implementasi-Teknikuntuk Membuat
Perangkat Lunak yang Dapat Digunakan Kembali. Membaca,MA: Addison-
Wesley,1997

Anda mungkin juga menyukai