Anda di halaman 1dari 15

LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR
PERTEMUAN 9
MEMBUAT FUNGSI SENDIRI

Nama : Naufal Rashad Aryaputra


NIM : 19/447081/SV/16800
Kelas : TRIK B
Hari/Tgl : Rabu, 8 April 2020

LABORATORIUM TEKNIK PERANGKAT LUNAK DAN KOMPUTER


TEKNOLOGI REKAYASA INSTRUMENTASI DAN KONTROL
DEPARTEMEN TEKNIK ELEKTRO DAN INFORMATIKA
SEKOLAH VOKASI
UNIVERSITAS GADJAH MADA
2020
BAB I
DASAR TEORI

• Deklarasi Fungsi
Pembuatan fungsi sendiri terpisah dari fungsi utama. Sebelum digunakan
(dipanggil), suatu fungsi harus dideklarasikan dan didefinisikan terlebih dahulu.
Bentuk umum pendeklarasian fungsi adalah:
tipe_fungsi nama_fungsi(parameter_fungsi);
Sedangkan bentuk umum pendefinisian fungsi adalah :
Tipe_fungsi nama_fungsi(parameter_fungsi)
{ statement
statement
………………………
}
• Hal-hal yang perlu diperhatikan dalam penggunaan fungsi :
Ø Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi
dengan nilai keluaran bertipe integer.
Ø Untuk fungsi yang memiliki keluaran bertipe bukan integer, maka diperlukan
pendefinisian penentu tipe fungsi.
Ø Untuk fungsi yang tidak mempunyai nilai keluaran maka dimasukkan ke
dalam tipe void.
Ø Pernyataan yang diberikan untuk memberikan nilai akhir fungsi berupa
pernyataan return.
Ø Suatu fungsi dapat menghasilkan nilai balik bagi fungsi pemanggilnya.

• Parameter Formal dan Parameter Aktual


Ø Parameter Formal adalah variabel yang ada pada daftar parameter dalam
definisi fungsi.
Ø Parameter Aktual adalah variabel (parameter) yang dipakai dalam
pemanggilan fungsi. Dalam contoh program pertambahan di atas parameter
formal terdapat pada pendefinisisan fungsi :

float tambah(float x, float y) //parameter formal


{ return(a+b);

Sedangkan parameter aktual terdapat pada pemanggilan fungsi :

int main()

{ ……………

…………..

c = tambah(a, b); //parameter aktual

…………..

• Cara Melewatkan Parameter


Cara melewatkan suatu parameter ada dua cara yaitu :
Ø Pemanggilan Secara Nilai (Call by Value)
ü Call by value akan menyalin nilai dari parameter aktual ke parameter
formal.
ü Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori
letak dari datanya.
ü Fungsi yang menerima kiriman nilai akan menyimpannya di alamat
terpisah dari nilai aslinya yang digunakan oleh bagian program yang
memanggil fungsi.
ü Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli
di bagian program yang memanggilnya.
ü Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari
bagian program yang memanggil fungsi ke fungsi yang dipanggil.
ü Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak
hanya untuk sebuah variabel, elemen array atau konstanta saja.
Ø Pemanggilan Secara Referensi (Call by Reference)
ü Pemanggilan secara Referensi merupakan upaya untuk melewatkan
alamat dari suatu variabel ke dalam fungsi.
ü Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan
nilai datanya.
ü Fungsi yang menerima kiriman alamat ini makan menggunakan alamat
yang sama untuk mendapatkan nilai datanya.
ü Perubahan nilai di fungsi akan merubah nilai asli di bagian program yang
memanggil fungsi.
ü Pengiriman parameter secara referensi adalah pengiriman dua arah,
yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya.
ü Pengiriman secara acuan tidak dapat bdilakukan untuk suatu ungkapan.

• Penggolongan Variabel berdasarkan Kelas Penyimpanan (Storage Class)


Ø Variabel lokal
Variabel lokal adalah variabel yang dideklarasikan di dalam fungsi.
Sifat-sifat variabel lokal :
ü Secara otomatis akan diciptakan ketika fungsi dipanggil dan akan lenyap
ketika proses eksekusi terhadap fungsi berakhir.
ü Hanya dikenal oleh fungsi tempat variabel dideklarasikan
ü Tidak ada inisialisasi secara otomatis (saat variabel diciptakan nilainya
random).
ü Dideklarasikan dengan menambahkan kata “auto” (opsional).
Ø Variabel global (eksternal)
Variabel global (eksternal) adalah variabel yang dideklarasikan di luar fungsi.
Sifat-sifat variabel global :
ü Dikenal (dapat diakses) oleh semua fungsi.
ü Jika tidak diberi nilai awal secara otomatis berisi nilai nol.
ü Dideklarasikan dengan menambahkan kata “extern” (opsional).

Ø Variabel Statis
Variabel statis adalah variabel yang nilainya tetap dan bisa berupa variabel
lokal (internal) dan variabel global (eksternal). Sifat-sifat variabel statis :
ü Jika bersifat internal (lokal), maka variabel hanya dikenal oleh fungsi
tempat variabel dideklarasikan.
ü Jika bersifat eksternal (global), maka variabel dapat dipergunakan oleh
semua fungsi yang terletak pada program yang sama.
ü Nilai variabel statis tidak akan hilang walau eksekusi terhadap fungsi
telah berakhir.
ü Inisialisasi hanya perlu dilakukan sekali saja, yaitu pada saat fungsi
dipanggil pertama kali.
ü Jika tidak diberi nilai awal secara otomatis berisi nilai nol. Dideklarasikan
dengan menambahkan kata “static”.

Ø Variabel Register
Variabel Register adalah variabel yang nilainya disimpan dalam register
CPU, bukan dalam memori RAM. Sifat-sifat variabel register :
ü Hanya dapat diterapkan pada variabel lokal yang bertipe int, char, dan
pointer.
ü Digunakan untuk mengendalikan proses perulangan (looping).
ü Proses perulangan akan lebih cepat karena variabel register memiliki
kecepatan yang lebih tinggi dibandingkan variabel biasa.
ü Dideklarasikan dengan menambahkan kata “register”.

• Fungsi Rekursif
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.

TUGAS
1. Buat fungsi untuk menentukan apakah suatu bilangan bulat bersifat ganjil atau
genap. Jika genap maka fungsi menghasilkan nilai 1, dan 0 untuk selainnya.
2. Buat sebuah program untuk menghitung luas segitiga dan persegi.
HASIL DAN ANALISA

Tugas 1 – Membuat Fungsi Ganjil Genap

a. Hasil
Flowchart Algoritma
1) Start
2) Deklarasi variabel
3) Input nilai a,b dan c
4) If nilai input modulus 2
memiliki hasil 0 maka F(x) = 1
Else F(x) = 0
5) End / Terminate.

Hasil Program
Pemrograman

Analisa:

#include <iostream>; :

#include merupakan sebuah preprocessor directive yang digunakan untuk memuat


sebuah file library. <iostream> merupakan sebuah file header yang memuat semua fungsi
program seperti cout,cin dan lainnya, #include memberitahu preprocessor compiler untuk
menggunakan file header standar iostream ke dalam program.

using namespace std; :

Baris ini merupakan instruksi untuk memberi tahu compiler bahwa program
menggunakan library dari Namespace. Dengan menggunakan perintah ini dapat
meminimalisir kesalahan akibat tidak dikenalinya fungsi cout maupun cin Std merupakan
singkatan dari standard.

int oddeven(int value);


Perintah ini digunakan untuk memanggil fungsi dari oddeven dan merupakan deklarasi
dari fungsi odd even, fungsi ini digunakan sebagai penyeleksi kondisi dari input bilangan
yang di masukkan oleh user.

Int main() :

Fungsi utama atau entry point dari seluruh program sebelum program di eksekusi, fungsi
main ini harus ada disetiap program agar program tersebut dapat berjalan. Fungsi ini
selalu diikuti dengan buka tutup kurung yang menandakan kalau line tersebut merupakan
suatu fungsi dalam program. int merupakan tipe data dalam fungsi main.

int value, Result :

Merupakan Deklarasi tipe data yang digunakan pada semua variabel yang digunakan, tipe
data integer digunakan karena input yang digunakan merupakan sebuah bilangan bulat
bukan bilangan berupa pecahan.

Line 8 - 13 :

cout merupakan singkatan dari console out, fungsinya adalah memberikan output dari
program pada console. “<< “ merupakan operator bitwise untuk memasukkan tulisan
kedalam cout.endl digunakan untuk memberikan fungsi enter pada program di baris
berikutnya. cin merupakan singkatan dari console in, fungsinya untuk memberikan input
value angka kedalam program.
Line 16-25 :

Merupakan program untuk mendeklarasikan fungsi dari oddeven, yang mana isi dari main
body fungsi odd even adalah penyeleksian kondisi jika hasil bagi 2 dari bilangan yang di
input oleh user sama dengan 0 maka akan menghasilkan fungsi sama dengan 1.
Sebaliknya, jika bilangan yang di input user memiliki nilai hasil bagi tidak sama dengan
0 maka akan menghasilkan fungsi f(x)= 0.

return 0 ; :

Memberikan feedback kepada fungsi main jika ada error pada program.
Tugas 2 – Program untuk Menghitung Luas Segitiga dan Persegi
Hasil
Flowchart Algoritma
1) Start
2) Deklarasi variabel
3) Input alas dan tinggi segitiga
4) Proses operasi aritmatika a*t/2
5) Print luas segitiga
6) End/Terminate
Program

Pemrograman
Analisa Program

#include <iostream>; :

#include merupakan sebuah preprocessor directive yang digunakan untuk memuat


sebuah file library. <iostream> merupakan sebuah file header yang memuat semua fungsi
program seperti cout,cin dan lainnya, #include memberitahu preprocessor compiler untuk
menggunakan file header standar iostream ke dalam program.

using namespace std; :

Baris ini merupakan instruksi untuk memberi tahu compiler bahwa program
menggunakan library dari Namespace. Dengan menggunakan perintah ini dapat
meminimalisir kesalahan akibat tidak dikenalinya fungsi cout maupun cin Std merupakan
singkatan dari standard.

Line 5 - 9

Merupakan Deklarasi tipe data yang digunakan pada semua variabel yang digunakan, tipe
data float digunakan karena input yang digunakan merupakan sebuah bilangan pecahan
bukan bilangan bulat.

Int main() :

Fungsi utama atau entry point dari seluruh program sebelum program di eksekusi, fungsi
main ini harus ada disetiap program agar program tersebut dapat berjalan. Fungsi ini
selalu diikuti dengan buka tutup kurung yang menandakan kalau line tersebut merupakan
suatu fungsi dalam program. int merupakan tipe data dalam fungsi main.
Line 12 - 32 :

cout merupakan singkatan dari console out, fungsinya adalah memberikan output dari
program pada console. “<< “ merupakan operator bitwise untuk memasukkan tulisan
kedalam cout.endl digunakan untuk memberikan fungsi enter pada program di baris
berikutnya. cin merupakan singkatan dari console in, fungsinya untuk memberikan input
value angka kedalam program.

Luassegitiga = segitiga (a, t) merupakan perintah untuk pemanggilan fungsi luas segitiga
yang dibuat pada line berikutnya, pada baris 27 dilakukan hal yang sama yaitu memanggil
fungi luaspersegi.

Line 34 - 38 :

Merupakan program untuk mendeklarasikan fungsi dari segitiga, yang mana isi dari main
body fungsi segitiga adalah operasi aritmatika dengan menggunakan rumus mencari luas
segitiga yaitu 1/2*alas*tinggi. Return merupakan nilai balik dari fungsi yaitu rumus dari
luas segitiga, diakhiri oleh kurung kurawal.
Line 40 - 43

Merupakan program untuk mendeklarasikan fungsi dari Persegi, yang mana isi dari main
body fungsi persegi adalah operasi aritmatika dengan menggunakan rumus mencari luas
persegi yaitu sisi*sisi. Return merupakan nilai balik dari fungsi yaitu rumus dari luas
Persegi, diakhiri oleh kurung kurawal.
BAB III
KESIMPULAN

1) Sebelum digunakan (dipanggil), suatu fungsi harus dideklarasikan dan


didefinisikan terlebih dahulu.
2) Fungsi merupakan elemen utama dalam bahasa C++ karena bahasa C++ sendiri
terbentuk dari kumpulan fungsi-fungsi.
3) Kalau tipe fungsi tidak disebutkan, maka akan dianggap sebagai fungsi dengan
nilai keluaran bertipe integer.

BAB IV
DAFTAR PUSTAKA

1) Modul Praktikum Pemrograman Dasar, Teknologi Rekayasa Instrumentasi dan


Kontrol, Departemen Teknik Elektro dan Informatika, Sekolah Vokasi,
Universitas Gadjah Mada.

Anda mungkin juga menyukai