View
15
Download
0
Category
Preview:
Citation preview
Praktikum 1
Judul : Menggunakan Code::Blocks
Deskripsi : Tujuan dari praktikum ini adalah untuk mengenalkan proses pembuatan
project C++ menggunakan code::blocks
A. Memulai Project Baru
Untuk membuat sebuah project C++ perlu dilakukan langkah-langkah sebagai
berikut. Pilih Menu File -> New -> Project…
Pilih “Console Application” dan klik Go
Klik “Next”
Pilih C++ dan klik “Next”
Ketik judul project anda, misal Praktikum1, pada project title biasanya judul project sama
dengan nama file project, lalu tentukan penyimpanan project dengan click browse button di
samping edit box create project, lalu klik Next.
Kemudian klik Finish.
Setelah di klik finish maka terjadi perubahan dalam IDE anda seperti gambar di bawah ini,
yang menunjukan bahwa anda sudah berhasil membuat project baru dengan nama
Praktikum1 dan pada bagian management-project berubah seperti gambar berikut:
Klik dua kali “main.cpp”, maka akan muncul halaman code default seperti berikut.
Build dan jalankan project dengan menggunakan menu Build -> Build and Run, atau bisa
juga langsung menggunakan tombol F9, atau bisa langsung klik tombol Build and Run
seperti gambar di bawah ini:
B. Penjelasan Isi Program
− #include <iostream.h>
Perintah yang ada dalam tanda siku tidak harus iostream, Kalimat yang diawali
dengan tanda (#) adalah are pre-processor directive. Dalam contoh diatas perintah
#include <iostream.h> memberitahukan pre-processor kompiler untuk menyertakan
header file standard iostream. File spesifik ini juga termasuk library deklarasi
standard I/O pada C++ dan file ini disertakan karena fungsi-fungsinya akan
digunakan nanti dalam program.
− main ()
Dalam tubuh main inilah perintah-perintah bahasa c++ ditulis. fungsi main
merupakan titik awal di mana seluruh program C++ akan mulai dieksekusi.
Diletakkan di awal, di tengah atau di akhir program, isi dari fungsi main akan selalu
dieksekusi pertama kali. Pada dasarnya, seluruh program C++ memiliki fungsi
main. main diikuti oleh sepasang tanda kurung () karena merupakan fungsi.
− return 0;
return menyebabkan fungsi main() berakhir dan mengembalikan kode yang
mengikuti instruksi tersebut, dalam kasus ini 0. Ini merupakan cara yang paling
sering digunakan untuk mengakhiri program.
− using namespace std;
Using namespace std pada contoh diatas berfungsi untuk membuat simple
penggunaan fungsi “cout”. Contoh:
Jikalau kita tidak menuliskan using namespace std maka untuk menulis keluaran
maka penulisannya harus seperti di bawah ini.
Latihan
1. Praktekkan contoh program berikut, amati dan cetak hasilnya !
#include <iostream>
using namespace std;
int main()
{
cout<<"SAYA BELAJAR C++\n ";
cout<<"Pertama tidak mudah tetapi semua bisa dipelajari!";
}
2. Praktekkan contoh program berikut, amati dan cetak hasilnya !
#include <iostream>
using namespace std;
int main()
{
string nama;
cout<<"Masukkan nama panggilan : ";
cin>>nama; //atau bisa juga menggunakan getline(cin,nama);
cout<<"NAMAKU : "<<nama<<'\n';
}
Post Test
Buat program untuk menampilkan nama, nim, dan alamat dengan inputan dari keyboard
(menggunakan perintan “cin”) dan outputnya seperti di bawah ini.
Praktikum 2
Judul : Variabel, Tipe Data, dan Konstanta
Deskripsi : Tujuan dari praktikum ini adalah untuk mengenalkan beberapa variable
dan tipe data yang di gunakan di C++.
A. Tipe Data
Tipe data adalah suatu media atau memori pada komputer yang digunakan untuk
menampung. Berikut adalah jenis – jenis dari tipe data :
B. Variabel
Variabel adalah suatu wadah yang digunakan untuk menampung nilai atau
informasi. Nilai variabel dapat berubah-ubah ketika program dijalankan. Dengan kata lain
variabel adalah suatu memori dengan identitas tertentu untuk menampung nilai atau
informasi baik yang tetap maupun yang berubah – ubah.
Mendeklarasikan Variabel
Prosedur penerapan variabel dalam program utama haruslah dideklarasikan terlebih dahulu,
pengertian deklarasi dalam pemrograman c++ adalah melakukan inisialisasi variabel
dengan nama dan tipe data yang digunakan, sehingga nantinya dapat dikenali oleh program.
Adapun caranya adalah sebagai berikut :
string nama;
int a, b, c;
Namun adakalanya dalam mendeklarasikan sebuah variabel langsung disertai dengan
nilainya dan adakalanya yang tidak, sebagai contoh :
int jumlah;
jumlah = 10;
Dua pernyataan seperti diatas sebenarnya dapat disingkat melalui pendefinisian yang
disertai penugasan nilai, sebagi berikut :
int jumlah = 10;
Contoh :
Void main(){
Int a=2;
cout << “a= “<<a;
getch();
}
C. Konstanta
Berbeda dengan variabel, konstanta merupakan wadah yang dapat menyimpan nilai tetap
selama eksekusi program. Untuk membedakan dengan variabel maka nama konstanta
harus menggunakan huruf capital. C++ menyediakan 2 cara untuk membuat konstanta:
cara 1
Menggunakan keyword const
const float PHI = 3.14;
cara 2
Menggunakan #define
#define PHI 3.14
Keuntungan menggunakan #define apabila dibandingkan dengan const adalah kecepatan
kompilasi, karena sebelum kompilasi dilaksanakan, kompiler pertama kali mencari symbol
#define (oleh sebab itu mengapa # dikatakan prepocessor directive) dan mengganti semua
Phi dengan nilai 3.14.
Contoh Program:
#include <iostream>
using namespace std;
int main()
{
const int a = 1;
cout<<"a = "<<a;
return 0;
}
Latihan
1. Cobalah program berikut ini dan amati!
#include <iostream>
using namespace std;
int main()
{
int a,b,c;
float d;
a=10;
b=32;
c=5;
d=float(a+c)/2;
cout<<"Isi variabel a = "<<a<<endl;
cout<<"Isi variabel b = "<<b<<endl;
cout<<"Isi variabel c = "<<c<<endl;
cout<<"Isi variabel d = "<<d<<endl;
return 0;
}
2.Cobalah program berikut ini dan amati!
#include <iostream>
using namespace std;
int main()
{
int panjang, lebar, tinggi, keliling, luas,volume;
panjang = 5;
lebar = 7;
tinggi=2;
keliling=2*(panjang+lebar);
luas=panjang*lebar;
volume=luas*tinggi;
cout<<"Program untuk mencari luas dan keliling benda\n";
cout<<"==============================================\n";
cout<<"Keliling = "<<keliling<<endl;
cout<<"Luas = "<<luas<<endl;
cout<<"Volume = "<<volume<<endl;
}
Post Test
Buatlah program untuk mencari luas dan keliling lingkaran!
Praktikum 3
Judul : Operator
Deskripsi : Tujuan dari praktikum ini adalah untuk mengenalkan beberapa operator
yang di gunakan di C++.
A. Operator Aritmatika adalah operator yang sering kali kita jumpai dalam kalkulator.
Contoh Operator tersebut di antaranya adalah tanda perkalian (*), tanda pembagian
( / ), tanda plus yang berfungsi untuk penambahan (+),dan tanda kurang (-).
Contoh:
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
a=10;
b=5;
c=a+b;
cout<<"a ="<<a<<endl;
cout<<"b ="<<b<<endl;
cout<<"---------------"<<endl;
cout<<"Isi variabel c = "<<c<<endl;
cout<<"a x b = "<<a*b<<endl;
cout<<"a : b = "<<a/b<<endl;
cout<<"a % b = "<<a%b<<endl;
}
Penjelasan:
Operator sisa pembagian (%) digunakan untuk mencari sis pembagian dari suatu
perhitungan. Operator ini diterapkan untuk operand bertipe integer. Contoh pembagian
ini diantaranya.
Output
B. Operator increment dan decrement (++, --) adalah operator untuk melakukan
penambahan dan pengurangan dengan interval tertentu.
a++;
a+=1;
a=a+1;
Perbedaan antara a++ dan ++a:
Contoh 1 Contoh 2
B=3;
A=++B;
//Isi A adalah 4, dan B adalah 4
B=3;
A=B++;
//Isi A adalah 3, dan B adalah 4
Contoh:
int main ()
{
int A; //mendeklarasikan variabel
A = 5;
cout<<"Contoh melakukan pre-increment \n";
cout<<"Nilai A awal adalah : "<<A<<endl;
cout<<"Nilai ++A adalah :"<<++A<<endl;
cout<<"Nilai A akhir adalah:"<<A<<endl;
cout<<'\n'<<endl;
cout<<"Contoh melakukan pre-decrement \n";
cout<<"Nilai A awal adalah : "<<A<<endl;
cout<<"Nilai --A adalah :"<<--A<<endl;
cout<<"Nilai A akhir adalah:"<<A<<endl;
cout<<'\n'<<endl;
//mengubah nilai A menjadi 10
A = 10;
cout<<"Contoh melakukan pre-increment \n";
cout<<"Nilai A awal adalah : "<<A<<endl;
cout<<"Nilai A++ adalah :"<<A++<<endl;
cout<<"Nilai A akhir adalah:"<<A<<endl;
cout<<'\n'<<endl;
cout<<"Contoh melakukan pre-decrement \n";
cout<<"Nilai A awal adalah : "<<A<<endl;
cout<<"Nilai A-- adalah :"<<A--<<endl;
cout<<"Nilai A akhir adalah:"<<A<<endl;
cout<<'\n'<<endl;
return 0;
}
C. Operator relasi
Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil perbandingan
operator ini menghasilkan nilai numerik 1 (True) atau 0 (False).
Contoh:
#include <iostream>
using namespace std;
int main()
{
float a, b, c, d, e, f, x, y;
x = 10;
y = 40;
a= x == y;
b= x!=y;
c=x>y;
d=x<y;
e=x>=y;
f=x<=y;
cout<<"Hasil dari "<<x<<" == "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" != "<<y<<" = "<<b<<endl;
cout<<"Hasil dari "<<x<<" > "<<y<<" = "<<c<<endl;
cout<<"Hasil dari "<<x<<" < "<<y<<" = "<<d<<endl;
cout<<"Hasil dari "<<x<<" >= "<<y<<" = "<<e<<endl;
cout<<"Hasil dari "<<x<<" <= "<<y<<" = "<<f<<endl;
}
Post Test
Buat program mencari volume dan luas bola!
Praktikum 4
Judul : Input/Output dan Penyeleksian kondisi (if, if else, switch case)
Deskripsi : Tujuan dari praktikum ini adalah agar mahasiswa mampu memahami
fungsi I/O dan penyeleksian kondisi pada pemrograman C++.
A. Standar Output
Penggunaan cout stream dihubungkan dengan operator overloaded << (Sepasang tanda
"less than"). Contoh :
cout<<”selamat dating”; Menampilkan selamat tulisan
cout<< 123; Menampilkan angka cout<<x; Menampilkan isi variable x cout<<5+6; Menampilkan hasil penjumlahan 5+6
B. Standar Input
Standar input (cin) biasanya menggunakan >> (cin>>). Perintah cin digunakan untuk
menginput suatu nilai dari suatu piranti masukan (keyboard) untuk selanjutnya di proses
oleh program. Contoh:
int age;
cin>> age;
Cobalah program berikut ini:
#include <iostream>
using namespace std;
int main ()
{
int i;
cout<<"Masukan angka = ";
cin>>i;
cout<<"Angka yang sudah anda masukan adalah "<<i<<endl;
cout<<"Dan angka yang anda masukan jika di kali 2 jadi "<<2*i;
return 0;
}
Selain menggunakan syntax “cin>>” perintah input juga bisa menggunakan syntax
“getline(cin,variable)”.
Contoh:
string nama;
getline(cin,nama);
Perbedaannya menggunakan syntax “getline(cin,variable)” proses input bisa
memasukan banyak kata dengan pemisah sepasi. Cobalah program berikut ini:
#include <iostream>
using namespace std;
int main ()
{
string nama, alamat;
cout<<"Masukan nama lengkap anda: ";
getline(cin,nama);
cout<<"Masukan alamat anda: ";
getline(cin,alamat);
cout<<"Nama lengkap anda adalah "<<nama;
cout<<" dengan alamat di "<<alamat<<endl;
}
C. if
Syntax "if" digunakan untuk mengeksekusi statemen dalam kurung, jika statemen dalam
kurung benar makan fungsi di dalam "if" (statemen 1) dijalankan tetapi jika tidak maka
statement 2 yang dijalankan. Syntaxnya adalah seperti berikut ini:
if (kondisi)
{
statement 1
}
statement 2
Contoh:
#include <iostream>
using namespace std;
int main ()
{
int x=100;
if (x==100)
{
cout<<"Nilai x adalah "<<x<<endl;
}
cout<<"Nilai x bukan 100";
}
D. if else
if else sama saja dengan fungsi if akan tetapi fungsi else statemennya lebih banyak sesuai
yang di inginkan. Syntaxnya adalah seperti berikut:
if (kondisi)
{
statement 1
}
else if (kondisi)
{
statement 2
}
else
{
statement 3
}
statement 4
Contoh: #include <iostream>
using namespace std;
int main()
{
int a;
cout << "masukan bilangannya = ";
cin >> a;
if ( a % 2 == 0 )
cout << "genap";
else
cout << "ganjil";
return 0;
}
E. Switch case
Bentuk dari switch - case merupakan pernyataan yang dirancang khusus untuk menangani
pengambilan keputusan yang melibatkan sejumlah atau banyak alternative penyelesaian.
Pernyataan switch - case ini memiliki kegunaan sama seperti if – else bertingkat, tetapi
penggunaannya untuk memeriksa data yang bertipe karakter atau integer. Syntaxnya
adalah sebahai berikut: switch(expression){
case constant-expression :
statement(s);
break; //optional
case constant-expression :
statement(s);
break; //optional
default : //Optional
statement(s);
}
Contoh: #include <iostream>
#include<iomanip>
using namespace std;
int main ()
{
int n;
cout<<"Masukan Ranking (dari 1-5): ";
cin>>n;
switch(n)
{
case 1 :
cout << "Anda ranking ke - " <<n<< endl;
break;
case 2 :
cout << "Anda ranking ke - " <<n<< endl;
break;
case 3 :
cout << "Anda ranking ke - " <<n<< endl;
break;
case 4 :
cout << "Anda ranking ke - " <<n<< endl;
break;
case 5 :
cout << "Anda ranking ke - " <<n<< endl;
break;
default :
cout << "Anda memasukan angka di yang salah" << endl;
}
cout << "-------------------" << endl;
cout << "Selamat dan Sukses " << endl;
return 0;
}
Latihan
Program diskon buku
#include <iostream>
using namespace std;
int main()
{
float buku,harga,diskon,bayar,total;
cout<<"Masukan banyak pembelian buku = ";
cin>>buku;
cout<<"Masukan harga perbuku = ";
cin>>harga;
total=buku*harga;
cout<<"Total Harga = "<<total<<endl;
if (buku<=10)
{
diskon=0;
}
else if ((buku>=10) && (buku<30))
{
diskon=0.10*(buku*harga);
cout<<"Mendapatkan diskon (10%) = "<<diskon<<endl;
}
else
{
diskon=0.15*(buku*harga);
cout<<"Mendapatkan diskon (15%) = "<<diskon<<endl;
}
bayar=(buku*harga)-diskon;
cout<<"Total bayar setelah di diskon= "<<bayar<<endl;
}
Program mencari nilai maksimum #include <iostream>
using namespace std;
int main ()
{
int a,b,c;
cout<<"masukkan tiga buah angka dengan tiap memasukan angka tekan
enter:"<<endl;
cin>>a >>b >>c;
if(a>=b && a>=c)
cout<<"Nilai maksimumnya adalah " <<a <<endl;
else if(b>=a && b>=c)
cout<<"Nilai maksimumnya adalah " <<b <<endl;
else if(c>=a && c>=b)
cout<<"Nilai maksimumnya adalah " <<c <<endl;
return 0;
}
Post Test
Buatlah program untuk mencari nilai mahasiswa. Input angka dan output huruf. Dengan
criteria sebagai berikut. 81-100 = A, 71-80 = B, 51-70 = C, 31-50 = D, di bawah 30 = E.
Program menggunakan fungsi if else.
Praktikum 5
Judul : Perulangan (for, while, do-while)
Deskripsi : Tujuan dari praktikum ini adalah agar mahasiswa mampu memahami
fungsi perulangan pada pemrograman C++.
A. For
Perintah for digunakan untuk melakukan perulangan dengan batasan yang bisa kita
tentukan. Syntaxnya adalah sebagai berikut:
for ( Nilai awal; kondisi/batasan perulangan; proses pertambahannya )
{
eksekusi statemen apabila kondisi sesuai
}
Contoh:
#include <iostream>
using namespace std;
int main ()
{
for ( int x = 0; x < 10; x++ )
{
cout<< x <<endl;
}
return 0;
}
B. While
while dipakai untuk mengulang eksekusi dari suatu blok pernyataan yang jumlah ilangannya
tergantung dari kondisi yang diberikan, sejauh kondisi true, maka ulangan eksekusi dari blok
tersebut terus dilakukan. Syntaxnya adalah sebagai berikut:
while(kondisi)
{
statement;
}
Contoh:
#include <iostream>
using namespace std;
int main ()
{
int a = 10; // nilai awal a
while( a < 20 )
{
cout << "value of a: " << a << endl;
a++;
}
return 0;
}
#include <iostream>
using namespace std;
int main ()
{
int n;
cout << "Masukan nomor: ";
cin >> n;
while (n>0)
{
cout << n << ", ";
--n;
}
cout << "Horeeeeee!\n";
return 0;
}
C. do while
pernyataan ini dipakai untuk mengulang eksekusi dari suatu blok pernyataan yang jumlah
ulangannya tergantung dari kondisi yang diberikan, sejauh kondisi true, maka ulangan eksekusi
dari blok tersebut terus dilakukan. Syntaxnya adalah seperti berikut:
do
{
statement;
}while( kondisi );
Contoh:
#include <iostream>
using namespace std;
int main ()
{
int a = 10;
do
{
cout << "value of a: " << a << endl;
a = a + 1;
}
while( a > 20 );
return 0;
}
Post Test
Buatlah table dengan data seperti di bawah dengan menggunakan fungsi “for”!
Praktikum 6
Judul : Variabel Array
Deskripsi : Tujuan dari praktikum ini adalah agar mahasiswa mampu memahami dan
menggunakan variabel dalam bentuk Array pada pemrograman C++.
Variabel array adalah sebuah struktur data yang menyimpan multiple variabel dari tipe
data yang sama. Suatu variabel array mempunyai jumlah komponen yang banyaknya tetap.
Banyaknya komponen dalam suatu variabel array ditunjukan oleh suatu indek untuk
membedakan variabel yang satu dengan variabel yang lainnya. Variabel array secara umum dapat
digolongkan menjadi tiga buah dimensi :
⚫ array berdimensi satu
⚫ array berdimensi dua
⚫ array berdimensi tiga
Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara
mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya saja diikuti
oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
A. ARRAY SATU DIMENSI
Sebelum digunakan, variabel array perlu dideklarasikan terlebih dahulu. Cara
mendeklarasikan variabel array adalah sebagai berikut :
Keterangan :
⚫ tipe_data : untuk menyatakan type data yang digunakan. ex : int, double,
tipe_data nama_variabel[ukuran]
⚫ nama_variabel : untuk menyatakan nama variabel yang digunakan.
⚫ ukuran : untuk menyatakan jumlah maksimum elemen array.
Contoh pendeklarasian variabel array :
int bilangan[4];
Index pada variabel array pada bahasa C++ selalu dimulai dari nol(0). Suatu variabel array
dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang
tersebut.
Pendeklarasian bersama variabel-variabel array dilakukan dibagian deklarasi. Sedangkan
mengakses suatu variabel array, dapat diakses dengan menggunakan index-nya:
Contoh 1 :
elemen
1
elemen
2
elemen
3
elemen
4
0 1 2 3 index
Variabel Array
Contoh 2 : pemeriksaan kebenaran data inputan dengan array
Contoh 3 : mencari nilai maksimum, minimum, dan rata-rata pada array
B. ARRAY BERDIMENSI DUA
Array berdimensi dua tersusun dalam bentuk baris dan kolom, dimana index pertama
menunjukan baris dan index kedua menunjukan kolom. Array dimensi dua dapat digunakan
seperti pendataan penjualan, pendataan nilai dan lain sebagainya.
Cara mendeklarasikan variabel array dua dimensi adalah sebagai berikut :
Contoh pendeklarasian variabel array :
char nama_mhs[2][4];
Ilustrasi variabel array dua dimensi dapat dilihat seperti pada gambar :
tipe_data nama_variabel[index-1][index-2]
Variabel Array
A R I S
baris
0
Baris mewakili banyaknya nama yang dapat diinputkan oleh pengguna, sedangkan
kolom mewakili panjang karakter maksimal yang dapat digunakan.
Contoh 1 : penjumlahan dua buah matrik (array dua dimensi)
Contoh 2 : mencetak data penjualan pertahun
C. MENGIRIM ARRAY KE FUNGSI
Array dapat dikirimkan dari main() ke function, maupun sebaliknya dari function
ke main() atau ke function lain. Nilai-nilai array dapat di kirimkan terbalik, yakni dari called
function ke calling function.
Pada program di bawah ini, called function bertugas menginisialisasi elemen-
elemen array. Elemen pertama secara otomatis akan memiliki starting address dari array
karena di panggil oleh main() yang sudah memiliki starting address tersebut. Berikutnya,
main() mendisplay isi elemen-elemen array.
Contoh :
D. LATIHAN
1. Buatlah program kasir pada suatu toko komputer dengan tampilan seperti berikut :
Ketentuan pembuatan program adalah sebagai berikut :
o Harga total = harga * jumlah
o Harga discount = harga total - (0.25 * harga total)
o Total = ∑ dari harga discount
o Looping pada saat penginputan data dibuat dengan statement do-while.
o Looping pada saat menampilkan daftar belanja dibuat dengan statement for
Ketentuan ukuran array :
o Barang[20][20]
o Harga[20]
o Jumlah[20]
o Harga_total[20]
o Harga_discount[20]
bagian input data
2. Jika diketahui logika dari pengurutan data (sorting) adalah seperti pada ilustrasi di bawah ini :
1.] Mengecek apakah 109 > 9 ?
2.] Apabila true, maka akan dilakukan
pertukaran data :
i.] Nilai 109 akan ditampung ke
dalam P
ii.] Nilai 9 akan dipindahkan ke
index 1
iii.] Nilai 109 yang ditampung P
dipindahkan ke index 2
Buatlah program untuk mengurutkan data numerik seperti pada gambar di bawah ini :
-9 109 9 6 96
109 >9 ?
0 1 2 3 4
P = 109
-9 9 6 96
0 1 2 3 4
-9 9 109 6 96
0 1 2 3 4
P
3. Apabila diketahui logika perkalian dua buah matriks adalah seperti yang dijabarkan di bawah ini,
maka buatlah program yang dapat digunakan untuk melakukan perkalian dua buah matriks
seperti tampak pada tampilan di bawah ini:
Matriks A :
Matriks B :
Matriks C :
1 9 5
2 3 4
7 0 3
5 3 1
2 4 6
1 8 0
28
Syarat perkalian dua buah matriks adalah, jika matriks A berukuran (m × n) dan matriks
B berukuran (r × c), maka :
Nilai elemen matriks C pada baris dan kolom tertentu (p, q) merupakan hasil
penjumlahan dari semua operasi perkalian elemen-elemen matriks A pada baris p dengan
elemen-elemen matriks B pada kolom q yang bersesuaian.
Misal : Nilai elemen matriks C pada baris 1 kolom 1 adalah hasil penjumlahan dari
semua operasi perkalian elemen-elemen matriks A pada baris 1 dengan elemen-elemen matriks
B pada kolom 1.
Perhitungan :
C(1,1) = A(1,1)*B(1,1) + A(1,2)*B(2,1) + A(1,3)*B(3,1)
C(1,1) = 1*5 + 9*2 + 5*1
C(1,1) = 5 + 18 + 5
C(1,1) = 28
Praktikum 7
Judul : Fungsi
Deskripsi : Tujuan dari praktikum ini adalah agar mahasiswa mampu membuat Fungsi dan
menggunakannya dalam pembuatan program yang lebih kompleks
Fungsi merupakan blok dari kode yang dirancang untuk melakukan tugas khusus. Pada intinya
fungsi digunakan untuk mengurangi pengulangan penulisan program yang sama sehingga program
menjadi terstruktur, mudah dipahami, dan mudah dikembangkan. Fungsi umum yang bersifat mutlak
pada bahasa pemrograman C++ adalah fungsi main(). Fungsi main()merupakan fungsi utama karena dari
titik inilah program akan dimulai. Masih banyak lagi fungsi lain, misalnya fungsi printf() yang bertugas
untuk menampilkan informasi atau data ke layar.
A. STRUKTUR FUNGSI
Sebuah fungsi sederhana memiliki struktur atau bentuk penulisan sebagai berikut :
Nama dari suatu fungsi dapat ditentukan sendiri dengan aturan sebagai berikut :
⚫ Nama fungsi boleh dituliskan secara bebas dengan ketentuan tidak mengandung spasi
⚫ Argumen diletakkan dibelakang tanda kurung “( )” yang terletak di belakang nama fungsi
nama_fungsi (argumen)
{
pernyataan/perintah;
pernyataan/perintah;
……
}
⚫ Pernyataan atau perintah-perintah program dapat diletakkan diantara tanda kurung kurawal
“{ }”
Contoh : mencetak menu makanan dan minuman
Catatan :
◆ Perhatikan disini, bahwa fungsi MenuMakanan dan MenuMinuman dirancang untuk
melakukan tugas spesifik, yaitu mencetak isi menu
◆ Dengan digunakannya fungsi, maka apabila sekumpulan perintah tertentu dibutuhkan
oleh bagian program yang lain, maka kita tidak perlu menulis ulang perintah tersebut.
B. PROTOTIPE FUNGSI
Salah satu keuntungan memakai prototype, kompiler akan melakukan konversi antara tipe
parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan menunjukkan
kesalahan jika jumlah parameter dalam definisi dan pemanggilan berbeda.
Contoh prototype fungsi :
float total(float a, float b);
tipe data keluaran fungsi
tipe data parameter pertama
tipe data parameter kedua
Contoh : menghitung volume bola
C. JENIS FUNGSI
Berdasarkan jenisnya, fungsi dapat dibedakan menjadi fungsi yang mengembalikan nilai dan
fungsi yang tidak mengembalikan nilai. Secara umum, tipe fungsi yang tidak mengembalikan nilai
biasanya disebut dengan prosedur. Perbedaan kedua dapat dilihat sebagai berikut :
➢ Prosedur :
o Tidak mengembalikan suatu nilai parameter
o Selalu diawali dengan kata void, yang artinya tidak mengembalikan suatu nilai
o Tidak selalu membutuhkan parameter inputan
➢ Function :
o Mengembalikan suatu parameter nilai
o Membutuhkan parameter / argumen inputan
o Di dalam tubuh fungsi terdapat kata return, yang artinya mengembalikan nilai pada fungsi lain
yang memanggilnya
Contoh1 : mencetak dan menghitung deret bilangan ganjil
Contoh 2 : mencetak dan menghitung luas segitiga
Contoh 3 : menghitung luas bujur sangkar dan lingkaran
D. PENGIRIMAN DATA KE FUNGSI
Berdasarkan jenis data yang dapat dikirim melalui fungsi dapat dibagi menjadi dua, yaitu
pengiriman data konstanta ke fungsi dan pengiriman data variabel ke fungsi.
Pengiriman suatu konstanta ke fungsi dapat dilakukan dengan menempatkan suatu angka /
bilangan diantara kurung ”( )” yang terletak di belakang nama fungsi, sedangkan pengiriman suatu
variabel melalui fungsi dapat dilakukan dengan menempatkan satu atau beberapa variabel tertentu
( tergantung pada jumlah parameter pada prototype fungsi) di antara tanda kurung ”( )” di belakang
nama fungsi sesuai dengan urutan pengisian parameter yang bersesuaian.
Contoh 1 : menghitung luas persegi
Contoh 2 : menghitung besar daya
Praktikum 8
Judul : Pointer
Deskripsi : Tujuan dari praktikum ini adalah agar mahasiswa mampu membuat Pointer dan menggunakannya dalam pembuatan program yang lebih kompleks.
Sebuah pointer adalah sebuah variabel yang nilainya (value) adalah address dari variable lain.
Jadi sebuah pointer adalah sebuah variabel yang mengacu secara tidak langsung, atau menunjuk ke
variabel lain. Variabel target dari pointer adalah variabel yang terletak pada address yang disimpan di
pointer.
Variabel count secara langsung merujuk
pada suatu variabel yang memiliki nilai 7
Variabel countptr secara tidak langsung merujuk pada
suatu variabel yang memiliki nilai 7
Tipe data pointer mendefinisikan tipe dari obyek yang ditunjuk oleh pointer. Mengapa memakai
pointer? Berikut beberapa alasan mengapa menggunakan pointer :
⚫ Diperlukan jika bekerja dengan struktur data tertentu, seperti list yang panjangnya tidak
diketahui terlebih dahulu. Pointer akan memungkinkan pemakaian dan manipulasi list
⚫ Untuk manipulasi string
⚫ Sebagai parameter dalam function call
⚫ Menyampaikan command-line argument ke suatu program pada saat runtime
⚫ Mengembalikan lebih dari satu nilai dari sebuah fungsi
⚫ Untuk mengirim address suatu fungsi ke fungsi lain
7 count
7 countptr count
⚫ Untuk memanipulasi sebuah array dengan menggunakan pointer untuk mengakses elemen-
elemen array, tanpa memakai indeks (subscript) dari array
Secara teknis, tipe apapun dari pointer dapat menunjukkan lokasi (dimanapun) dalam memori.
Bahkan operasi pointer dapat dilaksanakan relatif terhadap tipe dasar apapun yang ditunjuk.
A. DEKLARASI POINTER
Seperti halnya variabel yang lain, variabel pointer juga harus dideklarasikan terlebih dahulu
sebelum digunakan. Bentuk umum dari pendeklarasian pointer adalah sebagai berikut :
Contoh 1 : penggunaan pointer
Output :
tipe_data *nama_pointer;
Contoh 2 : program untuk menunjukkan isi dari pointer
Output :
B. OPERASI POINTER
Operasi pada pointer secara umum dapat dibagi menjadi tiga. Operasi-operasi tersebut antara
lain:
1. Operasi Penugasan
Suatu variabel pointer seperti halnya variabel yang lain, juga bisa mengalami operasi
penugasan. Nilai dari suatu variabel pointer dapat disalin ke variabel pointer yang lain.
2. Operasi Aritmatika
Suatu variabel pointer hanya dapat dilakukan operasi aritmatika dengan nilai integer
saja. Operasi yang biasa dilakukan adalah operasi penambahan dan pengurangan.
Operasi penambahan dengan suatu nilai menunjukkan lokasi data berikutnya (index
selanjutnya) dalam memori. Begitu juga operasi pengurangan.
3. Operasi Logika
Suatu pointer juga dapat dikenai operasi logika. Operasi logika seperti yang diketahui
bersama melibatkan beberapa operator logika.
Contoh 1 : operasi penugasan pada pointer
Contoh 2 : operasi aritmatika pada pointer
Contoh 3 : operasi logika pada pointer
Contoh 4 : operasi logika pada pointer
C. POINTER DAN FUNCTION
Penggunaan pointer pada suatu program C yang menggunakan function salah satunya berfungsi
untuk meringankan tugas fungsi main. Apabila terdapat beberapa fungsi dalam suatu program, maka
setiap fungsi dapat menjalankan satu tugas spesifik saja.
Parameter-parameter nilai dapat dikirimkan dan diterima dari satu fungsi ke fungsi lainnya
dengan mudah. Seperti telah diketahui bersama bahwa penggunaan function akan mempermudah
manakala kita bekerja dengan model-model program yang besar.
Contoh 1 : sorting data menggunakan pointer
Contoh 2 : mengambil nilai inputan dari user melalui pointer
Output :
D. POINTER DAN ARRAY
Operasi pointer pada array antara lain dapat digunakan untuk mengakses elemen-elemen suatu
array tanpa memakai indek (subscript) dari array tersebut. Keuntungan penggunaan pointer ini adalah
bahwa kita dapat menggerakkan pointer dari suatu elemen array ke elemen berikutnya dengan cukup
mudah.
Contoh 1 : mengakses suatu array dengan pointer
Contoh 2 : mengisi nilai elemen-elemen suatu array dengan pointer
E. POINTER DAN STRING
Sebuah string adalah suatu character-array, yaitu suatu array yang elemen-elemen di dalamnya
terdiri dari karakter-karakter. Program-program di bawah ini akan menunjukkan bagaimana suatu
pointer mengakses array bertipe char.
Sebuah string selalu berakhir dengan sebuah NULL character. Jika suatu array karakter terdiri
dari 15 karakter, maka sebenarnya array tersebut terdiri dari 16 karakter, yang terdiri dari 15 elemen
karakter dan 1 NULL character.
Contoh 1 : memahami NULL character
Contoh 2 : mengubah suatu string menjadi uppercase
Output :
LATIHAN
Buatlah program untuk menghitung besar nilai arus listrik dengan ketentuan sebagai berikut :
⚫ Buatlah empat prototipe fungsi, yaitu:
o void jelaskan_program(void);
o void dapatkan_values(float *r, float *v);
o float do_kalkulasi(float resistance, float voltase);
o void tampilkan_hasil(float arus);
⚫ Pada fungsi main
o Mendeklarasikan variabel resistor, volt, arus dengan tipe float
o Memanggil fungsi jelaskan_program
o Memanggil fungsi dapatkan_values(&resistor, &volt)
o arus = do_kalkulasi(resistor, volt);
o Memanggil fungsi tampilkan_hasil(arus);
⚫ Pada fungsi jelaskan_program
o Mencetak pesan ke layar bahwa pengguna harus menginputkan nilai resistor dan voltase
⚫ Pada fungsi dapatkan_values
o Mendeklarasikan variabel resistansi dan voltase bertipe float
o Mengambil inputan dari pengguna dan memasukkan nilai-nilai tersebut ke pointer *r dan *v
⚫ Pada fungsi do_kalkulasi
o Mendeklarasikan variabel arus bertipe float
o Menghitung arus = voltase / resistansi;
o Mereturn nilai arus ke fungsi main
⚫ Pada fungsi tampilkan_hasil
o Mencetak nilai arus dalam ampere
Praktikum 9
Judul : Struct
Deskripsi : Tujuan dari praktikum ini adalah agar mahasiswa mampu membuat Structdan
menggunakannya dalam pembuatan program yang lebih kompleks.
Struktur yaitu pengelompokan dari variabel-variabel yang bernaung dalam satu nama
yang sama. Struktur biasa dipakai untuk mengelompokkan beberapa informasi yang berkaitan
dengan sebuah kesatuan, atau biasanya disebut dengan record.
Mendeklarasikan Struktur
Cara mendeklarasikan struktur adalah dengan menggunakan kata kunci struct. Contoh:
struct struktur_psd{
char kode[5];
char nama[30];
int unit;
float harga;
};
struct struktur_psd persediaan_pusat, persediaan_cabang;
Struktur ini diberi nama struktur_psd yang mempunyai empat buah elemen, yaitu kode[5] dan
nama[30] bertipe char, sedangkan unit bertipe int dan harga bertipe float. Struktur_psd
merupakan nama tipe data struktur dari lima elemen tersebut, bukan nama dari suatu variabel
struktur. Sedangkan persediaan_pusat dan persediaan_cabang merupakan variabel-variabel
yang mempunyai tipe data struktur_psd. Cara lain untuk mendeklarasikan struktur sebagai
berikut:
struct struktur_psd{
char kode[5];
char nama[30];
int unit;
float harga;
}persediaan_pusat, persediaan_cabang;
Untuk deklarasi seperti di atas, sebenarnya kata struktur_psd dapat juga tidak dituliskan. Ada
juga penulisan struktur seperti di bawah ini:
typedef struct{
char kode[5];
char nama[20];
int jml;
float harga;
}psd;
psd persediaan_barang; // pendefinisian nama variabel baru Dengan menggunakan “typedef”,
struktur psd didefinisikan kembali dengan nama baru tanpa menggunakan kata “struct” di awal
nama baru tersebut.
Mengakses Elemen-elemen Struktur
Untuk mengakses elemen-elemen struktur secara individual dengan menyebutkan nama variabel
strukturnya diikuti oleh operator titik (‘.’) dan nama dari elemen strukturnya. Berikut contoh
program untuk mengakses elemen struktur:
Contoh :
Suatu struktur dapat juga berisi struktur lain, cara mengaksesnya juga berbeda. Berikut contoh
struktur yang berisi struktur lain serta cara mengaksesnya.
Contoh :
Pada program tersebut, variable karyawan merupakan struktur yang berisi struktur lain. Yaitu
struktur tgl dan struktur alamat. Jadi, elemen lahir pada karyawan memiliki 3 elemen, yaitu
elemen dari struktur tgl (hari, bulan, tahun). Sedangkan elemen tinggal memiliki 2 elemen yaitu
elemen dari struktur alamat (jalan dan kota). Hasilnya dapat dilihat pada tampilan di bawah ini:
Latihan
Buat suatu program yang mengaplikasikan suatu struktur mahasiswa. Struktur mahasiswa berupa
array terdiri dari nim, nama, dan ip. Semua data adalah input dari user minimal 5 mahasiswa, lalu
tampilkan dalam bentuk tabel sederhana.
Recommended