Anda di halaman 1dari 15

Tugas Mata Kuliah Algoritma dan Pemprograman Dasar

Dosen Pengampu : Zulhajji, S.T.,M.T


Dosen Mitra : Akhyar Muchtar, S.Pd.,M.T

ALGORITMA DAN PEMPROGRAMAN DASAR


SUBRUTIN PADA C++

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.

Makassar, 30 Oktober 2021

PENULIS

i
DAFTAR ISI

KATA PENGANTAR .................................................................................................. i


DAFTAR ISI ................................................................................................................ ii
BAB I ............................................................................................................................ 1
1.1 Latar Belakang ............................................................................................. 1
1.2 Rumusan Masalah ........................................................................................ 2
1.3 Tujuan ........................................................................................................... 3
BAB II .......................................................................................................................... 4
2.1 DEFINISI SUBRUTIN................................................................................. 4
2.2 SUBRUTIN DALAM BAHASA PEMPROGRAMAN ............................. 4
2.3 FUNCTION YANG MENGEMBALIKAN NILAI ................................... 6
2.4 FUNCTION YANG TIDAK MENGEMBALIKAN NILAI ..................... 7
2.5 FUNCTION DENGAN NILAI PARAMETER ......................................... 8
2.6 LINGKUP VARIABEL ............................................................................... 9
BAB III ....................................................................................................................... 11
3.1 Kesimpulan ................................................................................................. 11
DAFTAR PUSTAKA ................................................................................................ 12

ii
BAB I
Pendahuluan

1.1 Latar Belakang

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++.

C++ adalah bahasa pemrograman komputer yang dibuat oleh Bjarne


Stroustrup, yang merupakan perkembangan dari bahasa C dikembangkan di
Bell Labs (Dennis Ritchie). Pada awal tahun 1970-an, bahasa itu merupakan
peningkatan dari bahasa sebelumnya, yaitu B.

Pada awalnya, bahasa tersebut dirancang sebagai bahasa pemrograman


yang dijalankan pada sistem Unix. Pada perkembangannya, versi ANSI
(American National Standards Institute) pada bahasa pemrograman C menjadi
versi dominan, meskipun versi tersebut sekarang jarang dipakai dalam
pengembangan sistem dan jaringan maupun untuk sistem embedded.

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.

Subroutine merupakan suatu bagian dari program yang dimaksudkan


untuk mengerjakan suatu tugas tertentu dan letaknya terpisah dari program
yang memanggilnya. Dalam bahasa C sebuah subroutine adalah sebuah
function. Function atau fungsi Fungsi merupakan elemen utama dalam bahasa
C karena bahasa C sendiri terbentuk dari kumpulan fungsi-fungsi. Dalam setiap
program bahasa C, minimal terdapat satu fungsi yaitu fungsi main(). Dalam
bahasa C fungsi dapat dibagi menjadi dua, yaitu fungsi pustaka atau fungsi
yang telah tersedia dalam Turbo C dan fungsi yang didefinisikan atau dibuat
oleh programmer.

Sebuah subroutine dalam bahasa C adalah merupakan sebuah function atau


fungsi. Fungsi merupakan suatu bagian dari program yang dimaksudkan untuk
mengerjakan suatu tugas tertentu dan letaknya terpisah dari program yang
memanggilnya. Fungsi merupakan elemen utama dalam bahasa C karena
bahasa C sendiri terbentuk dari kumpulan fungsi-fungsi. Dalam setiap program
bahasa C, minimal terdapat satu fungsi yaitu fungsi main(). Fungsi banyak
diterapkan dalam program-program C yang terstruktur. Keuntungan
penggunaan fungsi dalam program yaitu program akan memiliki struktur yang
jelas (mempunyai readability yang tinggi) dan juga akan menghindari penulisan
bagian program yang sama. Dalam bahasa C fungsi dapat dibagi menjadi dua,
yaitu fungsi pustaka atau fungsi yang telah tersedia dalam Turbo C dan fungsi
yang didefinisikan atau dibuat oleh programmer.

1.2 Rumusan Masalah

1. Apakah definisi dari subrutin?


2. Bagaimanakah subrutin dalam bahasa pemprograman?
3. Apakah perbedaan antara function yang mengembalikan nilai, function
dengan nilai parameter dan function yang tidak mengembalikan nilai?
4. Apakah yang dimaksud lingkup variabel?

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

2.1 DEFINISI SUBRUTIN

Suatu program komputer biasanya merupakan suatu sistem besar yang


terdiri dari sub sistem - sub sistem yang mempunyai tugas sendiri-sendiri,
saling bekerja sama dan berinteraksi untuk menyelesaikan suatu permasalahan.
Dengan adanya pembagian tugas oleh sub sistem – sub sistem ini maka suatu
permasalahan dapat diselesaikan dengan lebih cepat dan kesalahan-kesalahan
yang mungkin terjadi selama proses penyelesaian masalah dapat dideteksi dan
diketahui sedini mungkin, termasuk di sub sistem mana kesalahannya terjadi.
Program komputer (terutama yang komplek) juga sebaiknya “dipecah-pecah”
menjadi program-program kecil. Program-program kecil tersebut disebut
dengan sub rutin. Sub rutin dibagi menjadi dua macam, yaitu sub rutin yang
mengembalikan nilai dan sub rutin yang tidak mengembalikan nilai. Dalam
Pascal kedua sub rutin yang mengembalikan nilai disebut dengan function,
sedangkan yang tidak mengembalikan nilai disebut dengan procedure. Tetapi
untuk C++ dan Java, kedua sub rutin tersebut dijadikan satu tetapi dapat diatur
untuk dapat mengembalikan nilai maupun tidak mengembalikan nilai. Untuk
C++, sub rutin tersebut ada dalam suatu function, sedangkan pada Java, sub
rutin berbentuk suatu method yang disebut dengan function method.
Baik C++ maupun Java terdapat dua macam fungsi, yaitu user-defined
function dan built-in function. Userdefined function merupakan fungsi yang
didefinisikan sendiri atau dibuat sendiri oleh pemrogram. Sedangkan built-in
function adalah fungsi yang sudah ada atau sudah disediakan oleh kompiler dan
siap digunakan oleh pemrogram.

2.2 SUBRUTIN DALAM BAHASA PEMPROGRAMAN

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>
}

Perhatikan contoh progam function yang benar


int contoh(int a, int b) {
……..
return(c);
}

Sedangkan program yang menggunakan


function salah adalah sebagai berikut:

int contoh(int a, b) {
……..
return(c);
}

Setiap function mempunyai kode-kode program sendiri-sendiri karena tugas


yang harus diselesaikan oleh setiap function juga berbeda-beda. Variabel-
variabel yang digunakan dalam function disebut dengan variabel lokal. Oleh
karena itu variabel tersebut hanya dapat digunakan didalam function itu sendiri
tidak bisa digunakan oleh function lain atau program utama. Variabel lokal ini
berfungsi pada saat function tersebut aktif dan akan hilang (dihapus) jika
function sudah tidak aktif lagi atau setelah function selesai melakukan tugasnya
(kecuali variabel yang digunakan dalam function adalah variabel global yang
dapat digunakan oleh semua function dan program utama). Untuk dapat
digunakan, function biasanya mempunyai parameter-parameter yang
digunakan untuk menerima masukan dari program yang memanggilnya.
Parameter-parameter ini disebut dengan parameter formal. Parameter formal ini
termasuk dalam variabel lokal yang akan berfungsi pada saat function aktif dan
akan dihapus pada saat function selesai melakukan tugasnya.

5
2.3 FUNCTION YANG MENGEMBALIKAN NILAI

Yang dimaksud dengan function yang mengembalikan nilai adalah


suatu sub rutin yang bila dipanggil oleh suatu program (argumen) maka
argumen tersebut akan memperoleh nilai balikan dari function tersebut.
Atau dengan kata lain, suatu function yang mempunyai nilai. Karena
mempunyai nilai inilah maka suatu function yang mengembalikan nilai harus
mempunyai tipe data sesuai dengan nilai yang dihasilkannya. Dengan demikian
dapat disimpulkan bahwa ciri dari function yang mengembalikan nilai adalah :
• Function tersebut mempunyai tipe data.
• Diakhiri dengan klausa return.

Berikut contoh program C++ yang menggunakan function dimana function-nya


dapat mengembalikan nilai

Output dari program diatas adalah

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).

2.4 FUNCTION YANG TIDAK MENGEMBALIKAN NILAI

Untuk sub rutin (function) yang tidak mengembalikan nilai bentuknya


sangat mirip dengan function yang mengembalikan nilai. Perbedaannya adalah
penggunaan kata kunci atau klausa void pada function yang tidak
mengembalikan nilai baik pada bahasa C++ maupun bahasa Java. Untuk lebih

jelasnya, perhatikan program C++ berikut ini untuk permasalahan yang sama,

yaitu mencari faktor persekutuan besar.


Output program diatas adalah

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).

2.5 FUNCTION DENGAN NILAI PARAMETER

Dalam pemrograman akan sering dijumpai melakukan proses pemindahan data


dari program utama ke bagian suatu fungsi. Pemindahan data harus dilakukan
pada bagian parameter. Jika data yang ada di program utama ingin dipindahkan
ke bagian fungsi tidak menggunakan parameter akan mengalami kesalahan.
Logika Parameter
Program Utama
int a=5
cetak(a )
Cetak(int x)
cout<<”====”<<endl;
…..
Cout << ”x” << x << endlendl;
A=a+10
cetak(a)
cout<<”====”<<endl;
…..
…..

• cetak(a) artinya memanggil fungsi cetak dan memberikan/ melewatkan


isi variabel a ke fungsi cetak. Fungsi cetak akan menerima data tersebut
dan disimpan di variabel x.
• Jadi yang diberikan ke fungsi hanyalah isi dari suatu variabel dan disalin
ke variabel x.
• Perubahan nilai x tidak akan berpengaruh pada variabel a

Langkah membuat fungsi dengan parameter sama dengan membuat fungsi


diatas hanya ada penambahan daftar parameter yang akan dilewatkan.

1. Membuat deklarasi fungsi .Letak deklarasi di atas void main(). Bentuk


umum pendeklarasian
void nama_fungsi(daftar parameter);
2. Pendefinisian fungsi. Letak definisi di bagian bawah program utama.
Tubuh fungsi diletakkan dalam pendefinisian ini.

8
void nama_fungsi(daftar parameter)
{
Tubuh fungsi
}

Contoh program dan outputnya

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

void cetak(int x,int y)


{ cout<<"isi x = "<<x<<endl;
cout<<"isi y = "<<y<<endl;
}
Bagian tubuh fungsi int x dan int y digunakan sebagai tempat untuk
menampung nilai parameter yang dilewatkan dari pemanggil fungsi.

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.

2.6 LINGKUP VARIABEL

Dalam bahasa C suatu variabel yang didefinisikan mempunyai ruang


lingkup yang terbatas. Suatu variabel yang dideklarasikan dalam suatu fungsi
hanya dikenal dalam fungsi itu sendiri, kecuali jika variabel tersebut
dideklarasikan secara global. Dalam bahasa c++ lingkup variabel dibedakan
Variabel Lokal
Suatu variabel yang dideklarasikan dalam suatu tubuh fungsi hanya
dikenal dalam tubuh fungsi itu sendiri. Sifat variabel seperti ini disebut dengan
variabel lokal.
Variabel Global
Lain dengan variabel global, perubahan data pada suatu bagian fungsi
akan berpengaruh pada semua bagian. Jika menginginkan variabel bersifat
global, proses pendeklarasian variabel diletakkan diatas void main()
Variabel Statis
Variabel static merupakan variabel yang hanya dikenal dalam suatu
fungsi dan nilai dari variabel ini tidak akan hilang saat keluar dari suatu fungsi.
Jika suatu variabel dideklarasikan sebagai variabel statis maka:

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

Dari penjelasan materi diatas dapat ditarik kesimpulan bahwa :


1. Subrutin adalah salah satu teknik pemprograman untuk meningkatkan
modularitas program yang akan dibuat.
Subrutin dibagi menjadi dua macam, yaitu subrutin yang
mengembalikan nilai dan subrutin yang tidak mengembalikan nilai.
Dalam C++, kedua subrutin tersebut dapat diatur untuk dapat
mengembalikan nilai maupun tidak mengembalikan nilai.
2. Fungsi adalah suatu jenis pembagian program kedalam bagian-bagian
yang lebih kecil yang dinamakan subrutin. Yang mana pada fungsi
memiliki nilai balik ketika subrutin tersebut dipanggil.
3. Prosedur merupakan jenis pembagian yang sama dengan fungsi, hanya
saja pada prosedur tidak mengembalikan nilai balik ketika subrutin
dipanggil. Oleh karenai itu, prosedur juga sering disebut sebagai fungsi
tanpa nilai balik.
4. Adapun manfaat dari penggunaan subrutin pada program adalah :
a. Mempermudah pengelolaan atau pengembangan program
mengingat setiap subrutin memiliki kode yang relatif sedikit jika
dibandingkan dengan kode program secara keseluruhan yang
disusun tanpa melibatkan subrutin.
b. Dapat digunakan untuk mengurangi jumlah kode akibat sejumlah
kode yang sama digunakan beberapa kali dalam program.
c. Menjadikan program lebih bersifat modular sehingga akan mudah
dipahami dan dapat digunakan kembali, baik untuk program itu
sendiri maupun untuk program lain yang memiliki proses yang sama.
5. Lingkup variabel terbagi menjadi tiga, yaitu variabel lokal, variabel
global dan variabel statis.

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

Anda mungkin juga menyukai