Disusun oleh:
Memori menggunakan heksadesimal yang ditandai dengan awalan ‘0x’, sehingga jika suatu
variabel menempati blok 10 dalam memori, maka alamatnya adalah 0x00000a
Argument Passing
• Ada 3 macam cara memberikan argumen (passing an argument) kedalam sebuah fungsi:
1. Pass by value
2. Pass by address / pass by pointer
3. Pass by reference
2
• Pass by Value artinya kita akan mempassing value sebagai parameter dalam fungsi yang
kita buat
• Pass by Address berarti kita akan menggunakan pointer untuk mengakses atau bisa
juga mengubah value dari sebuah alamat.
Deference (&)
Deference (&), adalah suatu operator yang berfungsi untuk menanyakan alamat dari suatu
variabel. Apabila memberikan simbol & diawal variabel dan mencetak hasilnya pada jendela
CLI, maka yang akan tercetak adalah alamat dari variabel tersebut bukan nilai yang ditampung
oleh variabel tersebut. Berikut contohnya
outputnya
Alamat variabel ‘a’ di setiap komputer akan berbeda-beda tergantung pada kompiler kamu
dalam mengalamatkan memori untuk suatu variabel.
Reference (*)
Reference (*), adalah operator yang berfungsi menyatakan suatu variabel adalah variabel
pointer. peletakan simbol ‘*’ operator reference diletakan diawal variabel. Operator
reference ini akan membuat suatu variabel pointer untuk menampung alamat. Nah untuk
lebih mudahnya liat contoh kuy…. :
3
Ouputnya adalah
Nilai variabel b sama dengan variabel a, walaupun variabel b tidak diberikan nilai yang sama dengan variabel
a. karena variabel pointer b menunjuk alamat a dan variabel pointer b dapat mengakses nilai yang terkandung
dalam alamat.
FUNCTION
Function adalah sebuah struktur, Pengelompokan yang mengandung sekelompok pernyataan
yang akan dilaksanakan oleh komputer jika nama function tersebut dipanggil untuk di
eksekusi, kecuali untuk function utama yaitu int main() yang akan di eksekusi secara otomatis.
4
Bayangkan jika kita melakukan pemrograman sebuah program yang sangat-sangat besar dan
memerlukan pernyataan yang sangat Panjang (complex), apa lagi jika sebuah proses
mempunyai banyak pernyataan dan dibutuhkan tidak hanya sekali saja, itu pasti akan
membuat kita pusing jika ini tidak ada function.
Function sangat membantu kita untuk membuat pengelompokan pernyataan berdasarkan
tugas, proses atau katagori. Ketika kita membutuhkan kelompok pernyataan tersebut kita
cukup memanggil nama functionnya saja.
• Suatu fungsi jelas memiliki tipe. Tipe suatu fungsi menentukan nilai kembalian dari
fungsi tersebut. Suatu fungsi dengan tipe int (integer) akan memberikan kembalian/
return berupa nilai bertipe integer dari pemrosesan yang sudah dilakukannya.
Berbeda dengan tipe void, dimana tipe fungsi ini tidak memiliki nilai kembalian atau
dapat dikatakan fungsi void hanya menjalankan rutin program saja.
• Nama_fungsi merupakan pengenal suatu fungsi. Nama_fungsi akan sangat berguna
dan wajib disertakan karena sebagai basis pemanggilan.
• Parameter merupakan variabel penampung input suatu fungsi. Dapat dikatakan
bahwa parameter merupakan satu-satunya gerbang input dan pertukaran nilai antara
suatu fungsi dengan dunia luar (fungsi main).
• Return merupakan instruksi yang berguna mengembalikan hasil kerja suatu fungsi,
untuk dapat digunakan di dunia luar (fungsi main).
Jelasnya perhatikan contoh ini:
Program itu merupakan program yang berfungsi menghitung luas persegi panjang, dengan
memanfaatkan sebuah fungsi. kita buat fungsi untuk hitung_luas dengan tipe int (integer).
5
Parameter ada terdapat pada fungsi hitung_luas adalah panjang, dan lebar dengan masing-
masing bertipe data integer. Variabel luas di deklarasikan di dalam function dan memiliki hasil
berupa perkalian panjang dan lebar. Nilai luas kemudian diumpan kembali sebagai nilai akhir
pemrosesan dengan menggunakan return pada baris 6.
Pada baris ke 17 yaitu di dalam fungsi main(), kita memanggil kembali fungsi hitung_luas dan
diberikan ke nilai parameter berupa variabel a, dan b. Nilai variabel a dan b pada baris
sebelumnya menampung nilai panjang dan lebar yang diinputkan kita. Pada baris 17 juga,
hasil umpan balik (return) fungsi hitung_luas, kita tampung pada variabel hasil untuk
kemudian dicetak dibaris 18 untuk melihat outputnya.
STRUCT
Struct atau record adalah kumpulan data yang memiliki tipe data yang berbeda. Secara
pendeklarasian, struct sangat berbeda dengan array yang hanya memiliki satu buah tipe data.
Struct digunakan apabila data yang ingin dikelompokkan memiliki tipe data yang berbeda.
Pendeklarasian struct sebagai berikut:
stuct data_mahasiswa
{
Deklarasi di atas ada dua variabel bernama Mahasiswa1 dan Mahasiswa2 setiap variabel
tersebut mempunyai field sesuai dengan data_mahasiswa.
Cara untuk mengisi dan memanggil nilai yang ada di dalam sebuah struct, sebagai berikut:
6
//Untuk mengisi nilai struct
cin>>mahasiswa1.nim;
Lebih jelasnya:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
//Deklarasi struct
struct data_mahasiswa
{
long int nim;
char nama[100];
char fakultas[100];
};
int main()
{
//Input struct data mahasiswa
cout<<" Data Mahasiswa Pertama\n";
cout<<"-----------------------\n";
cout<<" NIM : "; cin>>mahasiswa1.nim;
cout<<" Nama : "; fflush(stdin); gets(mahasiswa1.nama);
cout<<" Fakultas : "; fflush(stdin); gets(mahasiswa1.fakultas);
cout<<"\n\n";
cout<<" Data Mahasiswa Kedua\n";
cout<<"-----------------------\n";
cout<<" NIM : "; cin>>mahasiswa2.nim;
cout<<" Nama : "; fflush(stdin); gets(mahasiswa2.nama);
cout<<" Fakultas : "; fflush(stdin); gets(mahasiswa2.fakultas);
cout<<"\n\n";
7
CONTOH SOAL
1. Function
8
2. Struck
9
PEMBAHASAN SOAL
1. FUNCTION
Pada FUNCTION kali ini saya menggunakan #include <iostream> singkatan dari input
output stream header yang digunakan sebagai standar input output C++ dan #include
<conio.h> yang merupakan file header yang mempunyai fungsi sebagai menampilkan hasil
antarmuka kepada user,.
using namespace std yaitu perintah yang digunakan untuk mendeklarasikan pada
complier kalo kita akan menggunakan semua fungsi didalamnya.
Pertama membuat fungsi saldo, yang menggunakan fungsi int karena menggunakan void,
karena pada fungsi ini menggunakan operasi perhitungan. Dan hanya menggeluarkan
karakter saja.
membuat function penarikan dimana function digunakan untuk mengambil uang yang di
saldo, saya menggunakan int karena pada function ini kita melakukan operasi
perhitungan, pada sisa saldo setelah penarikan uang, disini pendeklarasikannya dengan
cara tabungan=tabungan-tarik; sehingga kita bisa mengeluarkan sisa saldo kita
ditabungan setelah melakukan penarikan uang.
10
Fungsi keluar untuk keluar dari aplikasi, pada fungsi ini menggunakan void karena hanya
mengeluarkan karakter saja.
Case yang pertama memanggil function saldo, yaitu cek saldo, case kedua akan memanggil
function penarikan, untuk melakukan penarikan uang, case ketiga memanggil fungsi
setoran uang tunai, yaitu untuk melakukan setoran tunai atau menabung, case keempat
terkahir akan memanggil fungsi keluar, yaitu fungsi untuk keluar dari aplikasinya.
11
2. STRUCK
Di sini sebuah struktur karyawan dinyatakan yang memiliki tiga nama anggota, usia dan
gaji.
Di dalam fungsi Main (), sebuah variabel struktur karyawan1 didefinisikan. Kemudian user
diminta untuk memasukkan informasi dan data yang dimasukkan oleh user dan akan
ditampilkan.
12
#include <iostream>
#include <conio.h>
#include <stdlib.h>
struct listbarang
int data;
};
listbarang* head;
listbarang* tail;
listbarang* curr;
listbarang* entry;
listbarang* del;
void inisialisasi()
head = NULL;
tail = NULL;
entry->data = dt;
entry->next = NULL;
if(head==NULL)
head = entry;
tail = head;
13
}
else
tail->next = entry;
tail = entry;
void kirimbarang()
int simpan;
if(head==NULL)
else
//kirimbarang depan
del = head;
head = head->next;
delete del;
void cetak()
curr = head;
if(head == NULL)
else
14
{
cout<<setw(6);
while(curr!=NULL)
cout<<curr->data<<"->";
curr = curr->next;
cout<<"NULL";
cout<<endl;
void menu()
int data;
do
system("cls");
cout<<"Menu : "<<endl;
cout<<"4. Exit"<<endl;
cin>>pilih;
switch(pilih)
case '1' :
15
cin>>data;
input(data);
break;
case '2' :
kirimbarang();
break;
case '3' :
cetak();
break;
case '4' :
exit(0);
break;
default :
cout<<"\nPilih ulang"<<endl;
cout<<"\nKembali ke menu?(y/n)";
cin>>ulang;
}while(ulang=='y' || ulang=='Y');
int main()
inisialisasi();
menu();
return EXIT_SUCCESS;
DAFTAR PUSTAKA
https://www.sinauarduino.com/artikel/fungsi-pada-pemrograman-cpp/
https://www.sinauarduino.com/artikel/pointer-pada-pemrograman-cpp/
https://www.worldbestlearningcenter.com/index_files/cpp-oop-singly-linkedlist-count-elements-
exercise.htm
16
https://www.belajarcpp.com/tutorial/cpp/function/
http://jagocoding.com/tutorial/666/Struct_Pada_Pemrograman_C
17