Anda di halaman 1dari 20

LATIHAN SOAL Institut Teknologi Sumatera

(FUNGSI & PROSEDUR)


PENGENALAN PROGRAM STUDI

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;

//Algoritma
1. Fungsi atau Prosedur? if (bil == 0) {
2. Digunakan untuk apa? 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;
0
cout << CiriBilangan(X) << endl;

cout << CiriBilangan(1000) << endl;


1
int bil, c;

bil = -222; -1
c = CiriBilangan(bil);
cout << c << endl;

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

Anda mungkin juga menyukai