praktikum 8.docx
TRANSCRIPT
-
5/27/2018 PRAKTIKUM 8.docx
1/19
LAPORAN
PRAKTIKUM VIII
( FUNGSI )
DASAR KOMPUTER DAN PEMROGRAMAN
NURWAHYUDDI
(12022038)
Program Studi Teknik Elektro
Fakultas Teknologi Industri
UNIVERSITAS AHMAD DAHLAN
YOGYAKARTA
2012
-
5/27/2018 PRAKTIKUM 8.docx
2/19
1
I. TUJUAN PRAKTIKUM VIII
Adapun yang menjadi tujuan dalam Praktikum VI ini antara lain :
1. Mahasiswa dapat memahami implementasi konsep dasar pemrogramandengan alat bantu Turbo C++,
2. Mahasiswa dapat menjelaskan konsep fungsi,3. Mahasiswa mampu menjelaskan struktur fungsidan bagian-bagiannya,4. Mahasiswa mampu menjelaskan cara memanggil fungsi dalam fungsimain (),
5. Mahasiswa dapat menyusun dan menjelaskan program menggunakan strukturfungsi,
6. Mahasiswa dapat menjelaskan fungsi tanpa nilai balik (tipe void).
-
5/27/2018 PRAKTIKUM 8.docx
3/19
2
II. DASAR TEORI
Sebuah fungsi pada C++ umumnya berisi sejumlah pernyataan C++ yang
dikemas dengan sebuah nama. Selanjutnya nama ini dapat dipanggil beberapa kali
dalam suatu kode C++. Salah satu fungsi yang sering dilibatkan dalam aplikasi berbasis
konsol yaitu main(). Biasanya didalam fungsi tersebut dituliskan sejumlah
pernyataan.
Tujuan utama pembuatan fungsi adalah untuk membuat suatu aplikasi agar dapat
dipecah menjadi sejumlahbagian yang dapat dikelola dengan lebih mudah oleh
pemrogram daripada kalau aplikasi hanya mengandung sebuah fungsi, misalnya
fungsiA(), fungsiB(), dan fungsiC(). Kemudian didalam fungsimain(),
terdapat pemanggilan ketiga fungsi tersebut sebagai berikut :
Dalam implementasinya, pemrogram dapt berkonsentrasiuntuk menuliskan
fungsiA() secara detil telebih dahulu, kemudian ke fungsi-fungsi berikutnya sehingga
seluruh kode dituliskan.
Int main()
{
fungsiA();
fungsiB();
fungsiC();
}
-
5/27/2018 PRAKTIKUM 8.docx
4/19
3
Dalam prakteknya fungsiA() juga bisa tersusun atas sejumlah fungsi. Berikut
adalah contoh kerangka pemakaian fungsi dalam sebuah aplikasi.
a) Struktur Fungsi
main ()
fungsiA() fungsiB() fungsiC()
fungsiB2()fungsiB1() fungsiB3()
tipe_nilai_balik_nama_fungsi(tipe_parameterA, tipe_parameterB,...)
{
pernyataan_1;
...
pernyataan_n;
return nilai_balik;
}
-
5/27/2018 PRAKTIKUM 8.docx
5/19
4
Bagian
tipe_nilai_balik_nama_fungsi(tipe_parameterA,tipe_parameterB,..)
disebut judul fungsi, yang terdiri dari tiga bagian :
1. tipe_nilai_balikmenentukan tipe nilai yang diberikan oleh fungsi ketika fungsi dipanggil. Nilai
balik ditentukan melalui pernyataan return.
2. nama_fungsi3. parameter
digunakkan untuk melewatkan nilai ke fungsi. Antar parameter dipisahkan oleh
tanda (,). Jika tak ada parameter, judul fungsi berupa :
tipe_nilai_balik_nama_fungsi()
Dalam definisi fungsi, tanda titik koma sesudah tanda } tidak diperlukan. Pada
bagian pernyataan fungsi terdapat pernyataan return yang digunakan untuk mengakhiri
eksekusi fungsi dan memberikan nilai balik, yaitu nilai yang diberikan oleh fungsi
ketika fungsi dipanggil.
Contoh :
Artinya didefinisikan fungsi dengan nama kuadrat() yang digunakan untuk
menghitung nilai kuadrat dari sebuah bilangan. Nama parameter adalah x, dengan tipe
longdan memberikan nilai balik berupa perkalian x dengan x dan tipe long.
long kuadrat(long x)
{
long hasil = x*x;
return hasil;
}
-
5/27/2018 PRAKTIKUM 8.docx
6/19
5
b) Fungsi tanpa nilai balikFungsi dengan tipe void berarti tidak memiliki nilai balik, sehinnga tidak dapat
nilai balik berkedudukan sebagai ekspresi.
Contoh :
Bisa ditambahkan pernyataan return :
Cara memanggil fungsi diatas :
void info ()
{
cout
-
5/27/2018 PRAKTIKUM 8.docx
7/19
6
III. HASIL DAN PEMBAHASANa) Fungsi pada perhitungan nilai Rerata
Program VIII-1
Hasil kompile Program :
#include int N;float jumlah, rerata, data[100];
void Masukkan_Data(){cout > N;
for (int i=0; i
-
5/27/2018 PRAKTIKUM 8.docx
8/19
7
Berikut merupakan penjelasan dari program VIII-1:
Baris Keterangan1. header yang menyediakan operasi stream,
2.Merupakan keterangan untuk tipe dataN yang akan dimasukkan dalam bentuk
bilangan bulat (integer),
3.merupakan bentuk dari deklarasi array( jumlah, rerata data[100]) yang akan
ditampilkan dalam format bilangan /float(bertipe data float),
4.Merupakan perintah untuk fungsi Masukkan datatetapi tidak memiliki nilai
kembalian(return value)
5. Perintah output/keluaran untuk menampilkan tulisan Banyaknya Nilai=
6. Perintah input/masukkan untuk memasukkan nilai N,
7.Merupakan perintah untuk perulangan yang dibatasi dengan kondisi i= 0 dan
i
-
5/27/2018 PRAKTIKUM 8.docx
9/19
8
Perhitungan nilai Rerata dengan Standar Deviasi
Untuk menghitung standar Deviasi kita perlu menambahkan satu pustaka header yaitu
(math.h), serta fungsi string yang penting untuk menghitung standar deviasi yaitu
fungsi (stdrdev)(2).
Listing Program :
#include #include int N;float jumlah, rerata, peny, stdrdev, data[100];void Masukkan_Data(){cout > N;for (int i=0; i
-
5/27/2018 PRAKTIKUM 8.docx
10/19
9
Berikut hasil kompile dari program perhitungan nilai rerata dengan standar deviasi :
b) Fungsi untuk mengisi dan menampilkan MatriksProgram VIII-2
#include
int N = 2;
void MengisiMatriks(float X[5][5]){
for (int i=0; i
-
5/27/2018 PRAKTIKUM 8.docx
11/19
10
Berikut hasil kompile program serta penjelasan tiap baris dari program :
Berikut merupakan penjelasan dari program VIII-2:
Baris Keterangan1. File header yang menyediakan operasi stream,
2.Merupakan keterangan untukN =2 yang akan dimasukkan dalam bentuk
bilangan bulat (integer),
3.
Merupakan perintah untuk Mengisi Matriks tetapi tidak memiliki nilai
kembalian/nilai balik(return value) dimana X[5][5] dalam kondisi
float/bilangan,
4.
Merupakan perulangan yang digunakan dengan kondisi i=0 dan i
-
5/27/2018 PRAKTIKUM 8.docx
12/19
11
13. Merupakan fungsi utama pada program C++,
14. Keterangan untuk A[5][5] dalam bentuk bilangan / float,
15.Perintah output untuk menampilkan tulisan Masukkan elemen matriks A
serta perintah untuk newline,
16. Pemanggilan untuk fungsi MengisiMatriks(A),
17.Perintah keluaran/output untuk menampilkan tulisanMatriks A= serta
perintah untuk newline,
18. Pemanggilan untuk fungsi MenampilkanMatriks(A),
Berikut merupakan program hasil modifikasi dari program VIII-2 serta hasil
kompilenya(4):
Lanjutan program dibelakang,,
#include int N=2;float A[5][5], B[5][5], C[5][5];
void MengisiMatriksA(float A[5][5]) // ukuran array A yg didefinisikan
{for (int i=0; i
-
5/27/2018 PRAKTIKUM 8.docx
13/19
12
void MenampilkanMatriksB (float B[5][5]) {for (int i=0; i
-
5/27/2018 PRAKTIKUM 8.docx
14/19
13
c) Program Konversi SuhuProgram VIII-3
Berikut hasil eksekusi dari Listing program diatas :
Empat pendefinisian fungsi :
#include
float Suhu_C, Suhu_F; // definisikan variabel
float C_ke_F(float C) {
float F;
F = 1.8*C+32.0;
return F;
}
void Mengisi_Input() {
cout > Suhu_C; // isikan nilai Suhu C
}
void Mengkonversi() {
Suhu_F = C_ke_F(Suhu_C); // hitung nilai Suhu F
}
void Menampilkan_Hasil() {
cout
-
5/27/2018 PRAKTIKUM 8.docx
15/19
14
Setelah dilakukan pemindahan keempat fungsi ke bagian bawah program setelah akhir
dari program utamamain () serta dilakukannya compile, muncul Error Message,
antara lain sebagai berikut(5):
a.Function Mengisi_Input should have a prototypeb.Function Mengkonversi should have a prototypec.Function Menampilkan_Hasil should have a prototyped.Type mismatch in redeclaration of Mengisi_Input()e.Type mismatch in redeclaration of Mengkonversi()f.Type mismatch in redeclaration of
Menampilkan_Hasil()
Kegunaan keempat pendefinisian fungsi tersebut adalah memberikan header baru sesuaikeingina kita, dimana dalam header tersebut terdapat fungsi yang dapat dipanggil. Jadi
kita dapat menambahkan suatu header jika suatu compiler tidak support terhadap fungsi
yang kita gunakan(6).
IV. TUGASListing program :
#include char pilihan;
float input, output;
float C_ke_F(float C) {float F;F = 9.0/5.0*C+32.0;return F;
}float F_ke_C(float F) {
float C;C = 5.0/9.0*(F-32.0);return C;
}float C_ke_R(float C) {
float R;R = 4.0/5.0*C;return R;
}float R_ke_C(float R) {
float C;C = 5.0/4.0*R;return C;
}float F_ke_R(float F) {
float R;R = 4.0/9.0*(F-32);return R;
}
float R_ke_F(float R) {float F;
F = 9.0/4.0*R+32;return F;
}void Menampilkan_Menu() {
cout
-
5/27/2018 PRAKTIKUM 8.docx
16/19
15
Berikut hasil kompile dari program untuk menghitung konversi suhu :
else if((pilihan=='B')||(pilihan=='b')) {output = F_ke_C(input);cout
-
5/27/2018 PRAKTIKUM 8.docx
17/19
16
-
5/27/2018 PRAKTIKUM 8.docx
18/19
17
V. KESIMPULAN
Adapun kesimpulan yang dapat diambil dari praktikum VIII ini antara lain
sebagai berikut :
1. Didalam C++ umumnya terdapat sebuah fungsi yang berisi sejumlahpernyataan C++ yang dikemas dengan sebuah nama, dimana nama tersebut
dapat di panggil beberapa kali dengan suatu kode C++. Salah satu fungsi
yang sering dilibatkan dalam aplikasi berbasis konsol yaitumain ().
2. Dalam memanggil sebuah fungsi pada program C++ memiliki dua carapemanggilan, yaitu :
a) Cara tak langsung, yaitu cara pemanggilan fungsi untuk fungsi yangmengembalikan nilai (return value),
b) Cara langsung, yaitu cara pemanggilan fungsi untuk fungsi bertipe void( fungsi yang tidak mengembalikan nilai),
3. Suatu fungsi atau Sub-program bersifat sebagai suatu program utuh,maksudnya fungsi tersebut dapat melakukan suatu pekerjaan secara utuh.Semua jenis atau macam instruksi dapat digunakan dalam sebuah fungsi.
-
5/27/2018 PRAKTIKUM 8.docx
19/19
18
VI. REFERENSI
Modul Praktikum Dasar Pemrograman Kartika Firdausy, S.T.,M.T tugaskuliah.googlecode.com/ ilmukamu.wordpress.com/