Oleh :
Nama : Astri Maulina
NIM : 210209500035
Kelas : PTIK D
Fakultas Teknik
Program Studi Pendidikan Teknik Informatika
dan Komputer Universitas Negeri Makassar
2021
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Mahakuasa karena telah memberikan kesempatan pada kami
untuk menyelesaikan makalah ini. Atas rahmat dan hidayah-Nya lah kami dapat menyelesaikan makalah
terkait subrutin atau fungsi di C++.
Makalah ini disusun guna memenuhi tugas mata kuliah Algoritma dan Pemrograman Dasar dengan
Dosen Pengampu Bapak Zulhajji, S.T.,M.T yang bermitra dengan Bapak Akhyar Muchtar, S.Pd., M.T.
Selain itu, kami juga berharap agar makalah ini dapat menambah wawasan bagi pembaca mengenai subrutin
atau fungsi di C++.
Bahasa pemrograman C++ merupakan bahasa yang popular didalam pengajaran pada computer sains
maupun pada kalangan programmer yang mengembangkan system software maupun aplikasi. Bahasa C++
sifatnya portable, karena compilernya tersedia hampir pada semua arsitektur computer maupun system
operasi, sehingga investasi waktu dan tenaga yang anda lakukan dalam mempelajari bahasa pemrograman
ini memiliki nilai strategis yang sangat menjanjikan.Bahasa C++ merupakan bahasa yang sangat ketat dalam
pemakaian type data maupun penulisannya yang case sensitif, hal ini berarti programmer di tuntut
kedisiplinannya dalam penulisan program
Kami mengucapkan terima kasih sebesar-besarnya kepada Bapak Zulhajji, S.T.,M.T. dan Bapak
Akhyar Muchtar, S.Pd., M.T. selaku dosen mata kuliah Algoritma dan Pemrograman Dasar. Tugas yang
telah diberikan ini dapat menambah pengetahuan dan wawasan kami terkait prosedur subrutin fungsi di C++.
Kami menyadari makalah ini masih jauh dari kata sempurna. Oleh karena itu, kritik dan saran yang
membangun akan Kami terima demi kesempurnaan makalah ini.
PENULIS
i
DAFTAR ISI
ii
BAB I
Pendahuluan
Bahasa komputer telah melalui evolusi yang dramatis sejak komputer yang
pertama dibuat untuk bantuan dalam kalkulasi sejak perang dunia ke dua.
Awalnya programmer bekerja dengan instruksi komputer yang sangat primitif
yaitu bahasa mesin (bahasa mesin). Pada bahasa mesin instruksi-instruksi
terdiri dari suatu kalimat yang panjang berupa tulisan 1 (satu) dan 0 (nol).
Selanjutnya assembler digunakan untuk pemesanan mesin ke mnemoniscs
yang dapat dibaca dan ditangani oleh manusia seperti ADD dan MOV.
Kemudian, lahirlah bahasa tingkat tinggi seperti BASIC dan COBOL. Bahasa
ini mendukung orang bekerja dengan sejumlah kata dan kalimat tertentu dalam
seperti Let I=100. Dengan adanya tambahan langkah pada Compiler seperti
tahap kompilasi dan lingking pada kode, sehingga terasa kurang nyaman.
Kompiler akan menghasilkan suatu program yang sangat cepat pada saat
dijalankan karena waktu untuk menterjemahkan program telah dihilangkan.
Keuntungan dari suatu Compiler adalah menghasilkan program yang dapat
dieksekusi yang tidak tergantung pada sumber program. Sedangkan pada
interpreter anda harus menjalankannya dengan menggunakan sumber
program.Sekarang biaya tenaga programmer jauh lebih mahal dibandingkan
dengan harga komputer yang digunakan dalam bisnis. Program yang ditulis
dengan baik dan mudah ditangani adalah suatu yang layak tinggi. Hingga saat
ini sudah banyak bahasa pemprograman yang digunakan salah satunya adalah
bahasa pemprograman C++.
Bjarne Stroustrup pada Bell Labs pertama kali mengembangkan C++ pada
awal 1980-an. Untuk mendukung fitur-fitur pada C++, dibangun efisiensi dan
1
sistem support untuk pemrograman tingkat rendah (low level coding).Pada
C++ ditambahkan konsep-konsep baru seperti class dengan sifat-sifatnya
seperti inheritance dan overloading.[butuh rujukan] Salah satu perbedaan yang
paling mendasar dengan bahasa C adalah dukungan terhadap konsep
pemrograman berorientasi objek (object-oriented programming). Tidak jauh
berbeda dengan bahasa pemprograman lainnya, C++ terdiri dari berbagai
elemen – elemen salah satunya adalah subrutin atau fungsi.
2
1.3 Tujuan
Adapun tujuan yang ingin dicapai dari penulisan makalah ini adalah :
1. Mengetahui definisi dari subrutin;
2. Memahami subrutin dalam bahasa pemprograman;
3. Memahami perbedaan antara function yang mengembalikan nilai,
function dengan nilai parameter, dan function yang tidak
mengembalikan nilai;
4. Memahami lingkup variabel (variabel lokal, global dan statik).
3
BAB II
PEMBAHASAN
Bentuk umum sub rutin (function) pada C++ dan Java sangat mirip.
Untuk function yang mengembalikan nilai, setiap function harus didahului oleh
tipe data yang sesuai dengan jenis data yang akan dikembalikan, kecuali tipe
data array. Setiap function juga mempunyai daftar parameter dimana setiap
parameter dipisahkan dengan tanda koma (,). Parameter-parameter ini
digunakan untuk menerima data (nilai) dari program yang memanggilnya. Kita
dapat mendeklarasikan banyak parameter atau tidak sama sekali. Untuk fungsi
yang tidak mempunyai parameter merupakan fungsi yang nilainya tetap (tidak
berubah). Sedangkan fungsi yang mempunyai parameter nilai fungsinya
dinamis (dapat berubah-ubah). Parameter-parameter ini merupakan variabel-
4
variabel yang harus dideklarasikan sendiri-sendiri meskipun tipe datanya sama.
Bentuk umum dari function yang mengembalikan nilai adalah sebagai berikut
tipe_data nama_fungsi(daftar_parameter)
{
isi dari fungsi
return<ekspresi>
}
int contoh(int a, b) {
……..
return(c);
}
5
2.3 FUNCTION YANG MENGEMBALIKAN NILAI
Baris ke-3 sampai dengan ke-16 merupakan sub rutin (function) yang
bernama fpb(). Sedangkan baris ke17 sampai dengan ke-26 merupakan
program utamanya. Program utama ini akan memanggil function fpb() melalui
suatu argumen (lihat baris ke25). Function fpb() bertugas untuk melakukan
pencarian faktor persekutuan besar dari dua buah bilangan yang dimasukkan di
program utama (lihat baris ke-19 sampai dengan ke-24). Setelah selesai
melakukan tugasnya, maka function fpb() akan mempunyai nilai yang langsung
ditampilkan pada program utama. Function fpb() mempunyai tipe data integer
dan mempunyai dua buah parameter formal yang bertipe data integer juga, yaitu
6
a dan b (baris ke-3). Function tersebut juga mempunyai variabel hasil yang
bertipe data integer (baris ke-4). Function fpb() ini nilainya akan sama dengan
variabel hasil (baris ke-15). Variabel a, b, dan hasil merupakan variabel lokal
dimana ketiga variabel ini hanya berfungsi pada function fpb() saja. Variabel a
dan b bertugas untuk menerima data yang dikirim oleh program lain yang
memanggilnya sedangkan variabel hasil digunakan untuk menyimpan data
hasil pencarian faktor persekutuan besar (baris ke-6 dan baris ke-12).
jelasnya, perhatikan program C++ berikut ini untuk permasalahan yang sama,
Program di atas, function fpb() (baris ke-3 sampai dengan baris ke16) tidak
mempunyai tipe data dan klausa return diakhir program, sehingga dapat kita
simpulkan bahwa function fpb() bukan merupakan suatu function yang
mengembalikan nilai. Sebaliknya, function fpb() diawali dengan klausa void
sehingga function tersebut merupakan suatu function yang tidak
mengembalikan nilai. Hasil perhitungan faktor persekutuan besar dari dua buah
7
bilangan tidak dikembalikan ke program utama yang memanggilnya tetapi
ditampilkan sendiri oleh function tersebut (baris ke-15). Dengan argumen pada
program utama yang memanggil fuction fpb() (baris ke-25) tidak menghasilkan
suatu nilai seperti halnya pada contoh sebelumnya (function yang
mengembalikan nilai).
8
void nama_fungsi(daftar parameter)
{
Tubuh fungsi
}
Penjelasan
void cetak(int,int);
mendeklarasikan suatu fungsi tanpa nilai balik tetapi ada daftar
parameter. Daftar parameter ada sebanyak 2 dan masing-masing bertipe
integer
Cetak(5,6)
memanggil fungsi cetak dan melewatkan data 5 dan data 6 sebagai
parameter dan data 5 akan ditampung di variabel x dan data 6 akan
ditampung di variabel y
Cetak(a,b)
Memanggil fungsi cetak dan melewatkan isi variabel a dan isi variabel
y sebagai parameter dan data variabel a akan ditampung di variabel x
dan data variabel b akan ditampung di variabel y.
9
1. Variabel hanya dapat diakses dalam fungsi di mana variabel tersebut
dideklarasikan
2. Nilai variabel tidak akan hilang walaupun sudah keluar dari suatu fungs
10
BAB III
PENUTUP
3.1 Kesimpulan
11
DAFTAR PUSTAKA
Indahyani, Uce dan Yuniati Rahmawati. 2020. Algoritma dan Pemprograman dalam
Bahasa C++. Sidoarjo : UMSIDA Press.
Sholeh, Muhammad. 2013. Panduan Belajar Pemprograman Terstruktur Algoritma
dan Pemprograman C++. Jakarta : AKPRIND PRESS.
Suprapto, dkk. 2008. Bahasa Pemprograman. Jakarta : Kementriaan Pendidikan dan
Kebudayaan.
12