Bab 7 Algoritma dan Pemrograman
D. Modularisasi Program (2)
97
Bab 7 Algoritma dan Pemrograman
Jika kalian sekarang bekerja dengan Modul F2 dan Modul utama-nya saja, jawablah pertanyaan-pertanyaan berikut.
1. Apakah kalian masih bisa mengatur parameter a, b, c, dan x pada fungsi f(x) = ax2+ bx + c dari modul utama?
2. Jika kalian kaitkan dengan eksperimen yang kalian lakukan saat mengisi Tabel 7.2, apa yang dapat kalian simpulkan?
Tuliskan jawabannya pada jurnal kalian!
Ayo, Kita Refleksi
1. Apakah kalian sudah dapat memahami bahwa program komputer dapat terdiri atas beberapa modul sub-program? Jika kalian menemukan kesulitan, kesulitan apa yang kalian temui?
2. Bagaimana perasaan kalian setelah menyadari bahwa sekarang kemampuan kalian sudah bertambah, kalian sudah mampu membuat program komputer yang terdiri atas beberapa modul?
3. Kesimpulan apa saja yang kalian dapatkan dari pertemuan ini?
Percakapan 1 Percakapan 2
Keterangan: Pada percakapan ini, Ibu bertanya dan menunggu jawaban dari Andi. Andi memberi jawaban kepada ibunya.
Keterangan: pada percakapan ini, Ibu memberi perintah kepada Andi.
Andi melakukan perintah tersebut dan Andi melaksanakannya secara mandiri.
Andi tidak wajib melaporkan hasil pekerjaannya kepada Ibu karena Ibu tidak memintanya, tetapi Ibu dapat mengetahui status hasil pelaksanaan pekerjaan Andi setelah Andi selesai mengerjakan tugasnya.
Percakapan antara Ibu dan Andi dapat menjadi analogi untuk mempelajari procedure dan function pada program. Istilah “procedure” dan “function”
di sini tidak diterjemahkan ke dalam bahasa Indonesia. Dua istilah ini dipakai untuk menjelaskan makna konsep “procedure” dan “function” dalam pemrograman. Bahasa pemrograman mengimplementasi “procedure” dan
“function” dengan berbagai cara dan juga memakai berbagai kata kunci.
Seperti yang kalian ketahui melalui pertemuan sebelumnya, bahwa ketika akan membuat sebuah modul program melalui menu “Function” pada Blockly, kalian dapat memilih dua jenis blok.
99
Bab 7 Algoritma dan Pemrograman
Blok program untuk function Blok program untuk procedure
Pada blok program ini, terdapat bagian return statement (ditandai dengan kotak merah). Modul program yang memiliki return statement, akan mengembalikan
‘jawaban’ atas aksi yang telah dilakukan pada blok tersebut. Hal ini dapat dianalogikan dengan Andi yang menjawab pertanyaan ibunya setelah menghitung apel di atas meja. Dalam pemrograman, modul program yang memiliki return statement dapat disebut function.
Pada blok program ini, tidak terdapat return statement. Modul program yang tidak memiliki return statement akan melaksanakan perintah-perintah (blok-blok) yang terdapat pada modul tersebut, tetapi setelahnya, tidak akan mengembalikan nilai apa pun kepada pemanggil modul tersebut.
Hal ini dapat dianalogikan dengan Andi yang melaksanakan perintah ibunya untuk mencuci apel dan meletakkannya kembali di atas meja.
Dalam pemrograman, modul program yang tidak memiliki return statement dapat disebut dengan procedure.
Ayo, Berpikir
Perhatikan percakapan lain antara Andi dan Ibu pada Gambar 7.5
Gambar 7.5 Percakapan Andi dan Ibu
Menurut analisis kalian, Gambar 7.5 dapat dikategorikan sebagai ilustrasi untuk procedure atau function? Jelaskan jawaban kalian!
Semoga kesamaan nama menu “Function” pada Blockly tidak membuat kalian bingung dengan istilah function dan procedure yang baru saja kalian pelajari. Agar semakin memahami mengenai function dan procedure, kerjakanlah aktivitas berikut ini.
Ayo, Kita Kerjakan
Aktivitas Individu
Aktivitas AP-K9-07: Modul Program: Fungsi Kuadrat dan Plotting Tujuan: Mampu membuat program untuk melakukan pemetaan titik-titik hasil perhitungan fungsi kuadrat pada bidang dua dimensi
Tingkat Kesulitan: 4
Syarat Pengetahuan: Fungsi Kuadrat dan bidang Cartesian
Pada aktivitas ini, kalian akan membuat program yang terdiri atas tiga buah modul, yaitu modul untuk menghitung fungsi kuadrat, modul untuk melakukan pemetaan hasil fungsi kuadrat pada bidang dua dimensi, dan modul utama. Sebelum membuat dengan program, mari, buat pemetaan fungsi kuadrat tersebut secara manual.
Fungsi kuadrat yang akan digunakan adalah fungsi kuadrat yang sama dengan yang terdapat pada pertemuan ke-3, yaitu
f(x)=ax^2+bx+c
Jika nilai variabel-variabelnya adalah a=5, b=10, dan c=20, lengkapi Tabel 2 berikut ini.
Tabel 7.4 Eksperimen Fungsi Kuadrat
x f(x)
0 20
1 2 3
101
Bab 7 Algoritma dan Pemrograman
x f(x)
4 5
Setelah mengisi Tabel 7.4, lengkapilah grafik pada Gambar 7.6.
Gambar 7.6 Tampilan Grafik f(x)
Saat ini, kalian akan mencoba memetakan titik-titik nilai f(x) pada Blockly.
Hasil pemetaan titik-titik nilai f(x) tidak akan menjadi sama persis dengan yang kalian gambar pada Gambar 7.6 karena adanya perbedaan sistem bidang dua dimensi yang digunakan dalam matematika (bidang Cartesian) dan Blockly.
Satuan yang digunakan pada Blockly adalah pixel. Titik (0,0) pada bidang gambar Blockly berada pada sudut kiri atas bidang gambar, seperti pada Gambar 7.7.
`
Gambar 7.7 Arah Koordinat pada Bidang Gambar Blockly
Untuk membuat program yang dapat menggambar pemetaan nilai f(x), diperlukan tiga buah modul, yaitu:
a. Procedure utama. Modul ini adalah modul utama dari program. Pada modul ini, akan dilakukan pengulangan untuk pemanggilan modul- modul lainnya.
b. Function F1. Modul ini adalah modul yang sudah pernah kalian buat pada pertemuan ke-3 pada Aktivitas AP-K9-04: Modul Program: Fungsi Kuadrat. Modul ini bertujuan untuk menghitung nilai f(x). Perhatikan
bahwa modul ini akan mengirimkan hasil perhitungan fungsi ke modul utama agar dapat dimanfaatkan oleh modul utama.
c. Procedure plot. Modul ini bertujuan untuk menggambar sebuah lingkaran pada bidang gambar. Perhatikan bahwa prosedur ini tidak mengembalikan nilai ke modul utama, hanya menggambar di layar, dan kalau sudah selesai, kontrol program akan kembali ke modul utama. Perintah selanjutnya setelah pemanggilan prosedur yang akan dijalankan.
Ikuti langkah berikut ini:
Nama Block Keterangan
Membuka file (sama dengan Aktivitas AP-K9-06:
Modul Program: Modifikasi Modul F1)
1. Buka file yang kalian buat pada Aktivitas AP-K9-04 dan simpan kembali file tersebut dengan format nama:
AP-K9-<No.
Aktivitas>-<No.
Absen>-<Nama>.cwc
Modul F1 2. Gunakan kembali
modul F1 yang sudah pernah kalian buat.
Menu Draw 3. Untuk
menggambarkan titik-titik yang merepresentasikan nilai f(x), gunakan menu “Draw” dari Blockly, dan pilihlah
“Circle”.
Pada blok Circle, kalian dapat mengatur variabel- variabel yang diperlukan untuk menggambar sebuah lingkaran.
103
Bab 7 Algoritma dan Pemrograman
Nama Block Keterangan
Parameter x dan y merepresentasikan posisi titik pusat lingkaran. Parameter radius adalah radius dari lingkaran. Kalian pun dapat mengatur warna garis lingkaran tepi lingkaran dengan parameter border_
color, sedangkan warna isi lingkaran dengan parameter color.
Ketebalan garis tepi lingkaran dapat diatur dengan parameter border_size.
Modul plot 4. Pada modul ini,
titik pusat lingkaran ditentukan oleh nilai x dan f(x).
Modul utama 5. Seperti yang kalian
sudah kerjakan pada Tabel 2, nilai x yang akan kita gambar memiliki nilai awal 0 dan nilai akhir 5. Hal ini dapat dilakukan pada bagian A.
Nama Block Keterangan Pada blok bagian B, dilakukan pemanggilan terhadap modul F1.
Nilai parameter a, b, dan c dapat ditetapkan pada bagian ini. Nilai parameter x mengikuti nilai variabel i (i ⋲ {0,1,2,3,4,5} ).
Pada blok bagian C, dilakukan pemanggilan terhadap modul plot. Parameter yang dikirimkan pada pemanggilan modul ini akan menentukan posisi lingkaran yang digambar.
Pemanggilan
modul utama Lakukan pemanggilan
modul utama. Hasil
pemetaan f(x)terhadap x
Pada bidang gambar Blockly, kalian dapat melihat hasil pemetaan titik f(x). Dapat kalian lihat, tentunya gambar ini berbeda hasilnya dengan apa yang kalian gambar pada Gambar 7.6.
Selamat, kalian sudah berhasil membuat program yang terdiri atas 3 modul! Bagian yang berbeda dengan Aktivitas AP-K9-04: Modul Program:
Fungsi Kuadrat adalah pada bagian ini kalian membuat sebuah procedure plot. Procedure ini tidak mengirim nilai kembalian pada modul yang memanggilnya, tetapi meninggalkan ‘jejak’ yang dapat kalian lihat hasilnya.
Setiap kali prosedur plot dipanggil, procedure tersebut menghasilkan sebuah lingkaran kecil pada bidang gambar Blockly.
105
Bab 7 Algoritma dan Pemrograman
Ayo, Kita Renungkan
1. Ceritakan dengan kalimat kalian sendiri mengenai persamaan dan perbedaan antara cara kerja function (misalnya modul F1) dan procedure (misalnya modul plot)!
2. Menurut kalian, kapan sebuah modul perlu mengembalikan nilai kembalian (return value) dan kapan sebuah modul tidak perlu mengembalikan nilai kembalian?
3. Mengapa sebuah modul pada umumnya memerlukan parameter?
4. Apa yang terjadi jika sebuah modul function atau modul procedure tidak mengandung/memanggil function atau procedure lain?
Tuliskan jawabannya pada jurnal kalian!
Ayo, Kita Kerjakan
Aktivitas Individu
Aktivitas AP-K9-08: Modul Program: Hitung Volume Tabung Tujuan: Mampu membuat program menghitung volume tabung Tingkat Kesulitan: 4
Syarat Pengetahuan: Konsep lingkaran, luas dan volume lingkaran
Pada aktivitas ini, kalian tidak diberi panduan berupa blok programnya.
Silakan berlatih membuat blok program berdasarkan contoh-contoh yang sudah diberikan pada aktivitas-aktivitas sebelumnya.
Dari pelajaran Matematika, kalian telah mengetahui bahwa rumus umum untuk menghitung volume bangun ruang ialah menghitung hasil perkalian antara luas alas dan tinggi bangun ruang tersebut. Buatlah program untuk menghitung volume sebuah tabung.
Input: 2 buah variabel, yaitu variabel r, t
Output: Tampilan pada layar berupa hasil perhitungan nilai volume Tabel di bawah ini adalah contoh input dan output dari program ini.
Nomor Contoh Input variabel r
Contoh Input
variabel t Contoh Output
1. 10 5 1570
2. 5 10 785
Analisis
Program tersebut terdiri atas tiga buah modul, yaitu seperti berikut.
a. Modul hitungLuasLingkaran. Modul ini bertujuan untuk menghitung luas lingkaran yang menjadi alas dari tabung. Modul ini memiliki sebuah parameter, yaitu r yang merepresentasikan jari-jari lingkaran.
b. Modul hitungVolume. Modul ini bertujuan untuk menghitung volume tabung. Parameter dari modul ini adalah r yang merepresentasikan jari- jari lingkaran dan t yang merepresentasikan tinggi tabung. Modul ini memanggil modul hitungLuasLingkaran.
c. Modul utama. Modul ini adalah modul utama yang bertujuan untuk memanggil modul hitungVolume dan menampilkan hasil perhitungannya.
Simpan file yang kalian buat dengan format nama file AP-K9-<No.
Aktivitas>-<No.Absen>-<Nama>.cwc