LATIHAN SOAL (FUNGSI & PROSEDUR) P E N G E N A L A N P R O G R A M S T U D I Institut Teknologi Sumatera 11/11/2017 PENGANTAR PROGRAM STUDI 1
TUJUAN KULIAH Mahasiswa dapat meningkatkan kemampuan pemrograman menggunakan fungsi dan prosedur Mahasiswa dapat memanfaatkan pengetahuan yang telah didapatkan sebelumnya dalam melakukan pemecahan persoalan. 11/11/2017 PENGANTAR PROGRAM STUDI 2
PRETEST 1. Pada saat kapan fungsi dan prosedur dapat digunakan di dalam program? 2. Apa perbedaan penggunaan fungsi dan prosedur? 11/11/2017 PENGANTAR PROGRAM STUDI 3
SOAL-1 int CiriBilangan(int bil) { //Kamus Lokal int hasil; 1. Fungsi atau Prosedur? 2. Digunakan untuk apa? //Algoritma if (bil == 0) { hasil = 0; else if (bil > 0) { hasil = 1; else { hasil = -1; return hasil; 11/11/2017 PENGANTAR PROGRAM STUDI 4
Apakah hasil dari potongan program berikut? int X = 0; cout << CiriBilangan(X) << endl; cout << CiriBilangan(1000) << endl; int bil, c; bil = -222; c = CiriBilangan(bil); cout << c << endl; 11/11/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 5
SOLUSI Menghasilkan: 0 : jika bil adalah 0 1 : jika bil adalah positif -1 : jika bil adalah negatif int X = 0; cout << CiriBilangan(X) << endl; 0 cout << CiriBilangan(1000) << endl; int bil, c; bil = -222; c = CiriBilangan(bil); cout << c << endl; -1 1 11/11/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 6
SOAL-2 Buatlah sebuah fungsi dan prosedur untuk menghasilkan luas lingkaran berdasarkan nilai jari-jari yang dimasukkan (bilangan float). 11/11/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 7
SOLUSI-2 Fungsi float LuasLingkaran (float r) { // Menghasilkan luas lingkaran berdasarkan r //Kamus Lokal const float PI = 3.14; //Algoritma return PI * r * r; Prosedur void LuasLingkaran (float r, float * L) { // Menghasilkan luas lingkaran berdasarkan r //Kamus Lokal const float PI = 3.14; //Algoritma *L = PI * r * r; 11/11/2017 PENGANTAR PROGRAM STUDI 8
SOAL-3 Buatlah sebuah program yang mempunyai : - Sebuah fungsi untuk menghitung keliling lingkaran - Sebuah prosedur untuk luas lingkaran Bagaimana agar konstanta PI hanya didefinisikan satu kali dalam program tersebut? 11/11/2017 PENGANTAR PROGRAM STUDI 9
SOLUSI-3 #include <iostream> using namespace std; //Konstanta Global const float PI = 3.14; //Spesifikasi Fungsi dan Prosedur Float KelLingkaran(float r); //fungsi Menghitung keliling lingkaran void LuasLingkaran(float r, float * L); //prosedur Menghitung luas lingkaran //PROGRAM UTAMA int main () { //Kamus float r, luas; cout << "Masukkan nilai jari-jari : "; cin >> r; cout << "Keliling Lingkaran = "<< KelLingkaran(r)<< endl; LuasLingkaran(r, &luas); cout << "Luas Lingkaran = " << luas; return 0; 11/11/2017 PENGANTAR PROGRAM STUDI 10
// Realisasi Fungsi dan Prosedur float KelLingkaran(float r) { return 2 * PI * r; // Realisasi Prosedur void LuasLingkaran(float r, float * L) { *L = PI * r * r; 11/11/2017 PENGANTAR PROGRAM STUDI 11
SOAL-4 Buatlah sebuah program dengan ketentuan sbb : Menerima 5 input bilangan integer Menghasilkan output hasil penjumlahan 5 bilangan. Apakah anda akan menggunakan fungsi atau prosedur? Apa alasan anda? 11/11/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 12
SOLUSI-4 #include <iostream> using namespace std; //Spesifikasi Prosedur void ProsedurJumlah(int *Sum); //PROGRAM UTAMA int main () { int Hasil; cout << "Masukkan 5 bilangan integer : " << endl; ProsedurJumlah(&Hasil); cout << "Hasil penjumlahan bilangan adalah = " << Hasil; return 0; 11/11/2017 PENGANTAR PROGRAM STUDI 13
// Realisasi Prosedur void ProsedurJumlah (int * Sum) { // KAMUS LOKAL int x, i; // ALGORITMA *Sum = 0; for (i = 1; i <= 5; i++) { cin >> x; *Sum = *Sum + x; 11/11/2017 PENGANTAR PROGRAM STUDI 14
SOAL-5 Buatlah sebuah sebuah program dengan sebuah fungsi yang dapat mengkonversikan angka bulan menjadi nama bulan. Contoh : 1 Januari 4 April 11/11/2017 PENGANTAR PROGRAM STUDI 15
SOLUSI-5 #include <iostream> using namespace std; //Spesifikasi Fungsi string KonversiNamaBulan(int bulan); //PROGRAM UTAMA int main () { int bln; cout << "Masukkan angka bulan yang akan dikonversi :"; cin >> bln; cout << "Bulan ke-" << bln << " adalah "; cout << KonversiNamaBulan(bln); return 0; 11/11/2017 PENGANTAR PROGRAM STUDI 16
string KonversiNamaBulan(int bulan) { //Algoritma switch(bulan) { case 1 : return "Januari"; case 2 : return "Februari"; case 3 : return "Maret"; case 4 : return "April"; case 5 : return "Mei"; case 6 : return "Juni"; case 7 : return "Juli"; case 8 : return "Agustus"; case 9 : return "September"; case 10 : return "Oktober"; case 11 : return "November"; case 12 : return "Desember"; 11/11/2017 PENGANTAR PROGRAM STUDI 17
SOAL-6 Dengan memanfaatkan prosedur, buatlah sebuah program utama yang digunakan untuk memutar 3 buah bilangan. Contoh: A = 3; B = 2; C = 1 ditukar menjadi : A = 1; B = 3; C = 2 11/11/2017 KU1072/PENGENALAN TEKNOLOGI INFORMASI B 18
PR Buatlah sub program kalkulator sederhana. Argumen dari sub program adalah bilangan 1, bilangan 2 dan tipe operasi aritmatika (tambah, kurang, kali, bagi). Sedangkan kembaliannya adalah hasil dari operasi aritmatika tersebut. Dari program utama, pengguna diminta untuk menginputkan nilai bilangan 1, bilangan 2, kemudian memilih operasi aritmatika yang diinginkannya. Menjadi nilai tambah apabila soal ini dikerjakan dengan prosedur. 11/11/2017 PENGANTAR PROGRAM STUDI 19
TERIMA KASIH 11/11/2017 PENGANTAR PROGRAM STUDI 20