MODUL 1
Pemrograman dengan Bahasa C++
Praktikum Sistem Basis Data | MODUL 1
:)
2|Page
Praktikum Sistem Basis Data | MODUL 1
DAFTAR ISI
3|Page
Praktikum Sistem Basis Data | MODUL 1
4|Page
Praktikum Sistem Basis Data | MODUL 1
Tujuan Praktikum
Tujuan Umum
Praktikan mampu memahami bahasa C++
Praktikan mampu memahami pemrograman berorientasi logika
Tujuan Khusus
Pada praktikum ini Anda akan diharapkan untuk menguasai poin-poin berikut ini.*)
Kata Penting
Selamat Belajar!
5|Page
Praktikum Sistem Basis Data | MODUL 1
Dalam pemrograman, algoritma adalah dasar dari program yang akan dibuat.
Algoritma akan menentukan bagaimana keberjalanan sebuah program. Tahap
penyusunan algoritma sebelum membuat program umumnya disebut pseudo-coding.
Simbol Makna
Menyatakan awal (start) dan akhir program (end)
6|Page
Praktikum Sistem Basis Data | MODUL 1
Sebuah program umumnya memiliki penanda awal dan akhir dari sebuah program.
Uniknya, untuk bahasa yang berbeda, penanda awal dan akhir program juga berbeda. Di
dalam pseudocode, umumnya sebuah program diawali dengan kata begin dan diakhiri
dengan kata end.
Perlu diketahui, di beberapa bahasa pemrograman tanda awal dan akhir program akan
mirip dengan tanda awal dan akhir fungsi (akan dijelaskan lebih lanjut pada bab
selanjutnya).
Contoh sintaks awal dan akhir program sesuai dengan bahasanya dapat dilihat dalam
tabel berikut:
Pseudocode Pascal
C++ Fortran
<isi program>
return 0;
}
Table 2. Perbedaan Sintaks Awal dan Akhir Program
7|Page
Praktikum Sistem Basis Data | MODUL 1
Khusus untuk tipe data string, input dilakukan menggunakan sintaks getline
(cin,<nama variabel>). Hal ini dikarenakan cin akan berhenti membaca input
setelah menemukan spasi. Karena itu, perlu digunakan getline untuk menginput satu line
sekaligus.
Contoh Kasus
Buatlah agar layar dapat menerima input nama user dan menampilkan
Hello <nama user> !
8|Page
Praktikum Sistem Basis Data | MODUL 1
Jawab
Variabel merupakan elemen yang dapat dimanipulasi dan memiliki tipe data
tertentu. Tipe data sendiri adalah jenis yang menentukan tipe dari variabel yang
bersangkutan.
Penamaan variabel dalam C++ bebas, tetapi tidak boleh mengandung spasi
maupun karakter khusus seperti garis bawah, koma, dan titik.
9|Page
Praktikum Sistem Basis Data | MODUL 1
Contoh Kasus
Jawab
Dari soal yang diberikan diketahui bahwa dibutuhkan 3 variabel yaitu nama, NIM,
dan fakultas. Nama dan fakultas lebih tepat menggunakan variabel string, sementara
NIM dapat menggunakan long integer ataupun string.
10 | P a g e
Praktikum Sistem Basis Data | MODUL 1
2.2. Operator
Operator merupakan simbol tertentu dalam bahasa pemrograman yang mampu
membuat compiler (penerjemah bahasa, dari bahasa yang ditulis pada layar menjadi bahasa
mesin) melakukan sejumlah operasi tertentu.
Terdapat beberapa macam operator dalam C. Tiga jenis operator yang sering
digunakan dalam pemrograman adalah operator aritmatik, operator relasi, dan operator
logika.
11 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Operator aritmatik dapat digunakan secara langsung untuk mengubah nilai suatu
variabel. Sintaks umumnya adalah:
<variabel> = <variabel/angka> <operator> <variabel/angka>;
Operator relasi adalah operator yang digunakan untuk menyatakan relasi atau
hubungan antara dua variabel. Berbeda dengan operator aritmatik, operator relasi akan
selalu menghasilkan data true atau false.
Penggunaan operator relasi umumnya terdapat pada statement if sebagai syarat true
atau false. Jenis operator relasi adalah sebagai berikut
Tipe operator yang ke tiga adalah operator logika. Operator logika adalah simbol yang
memiliki fungsi khusus untuk melakukan operasi logika seperti and, or, dan not.
12 | P a g e
Praktikum Sistem Basis Data | MODUL 1
atau
if <kondisi/expression>
{ statement 1 }
else
{ statement 2 }
Bagian expression adalah bagian syarat dari if-conditional. Pada bentuk ke dua, apabila
bagian expression dipenuhi, maka program akan menjalankan statement 1, sementara jika
tidak dipenuhi, maka program akan menjalankan statement 2. Statement berisi perintah-
perintah yang akan dijalankan oleh program seperti perintah print, scan, atau manipulasi
variabel.
13 | P a g e
Praktikum Sistem Basis Data | MODUL 1
if <kondisi/exp. 1>
{statement 1}
else { if <kondisi/exp. 2>
{statement 2}
else { if <kondisi/exp. 3>
{statement 3}
.
.
.
else { if <kondisi/exp. n>
{statement n}
else
{statement else}
}}}}}}}
Pengecekan bilangan positif, negatif, atau nol adalah sebuah fungsi dasar yang
umum digunakan pada program berskala kecil sampai besar. Untuk itu, buatlah program
yang dapat menerima input dari user berupa integer dan mengecek apakah bilangan
tersebut positif, negatif, atau bilangan nol.
Jawab
Untuk membuat program yang menjawab permasalahan diatas, perlu diketahui syarat-
syarat atau kondisi dari permasalahan. Kita tahu bahwa bilangan positif adalah bilangan
dengan nilai > 0, bilangan negative adalah bilangan dengan nilai < 0, dan bilangan nol
memiliki nilai = 0. Untuk itu kita harus mengecek setiap syarat yang ada. Urutan pengecekan
sebenarnya bebas, berikut contoh jawaban.
14 | P a g e
Praktikum Sistem Basis Data | MODUL 1
15 | P a g e
Praktikum Sistem Basis Data | MODUL 1
3. Pengulangan (Looping)
3.1. Logika Pengulangan
Pada pemrograman, sering kali dibutuhkan pemrosesan berulang-ulang untuk
mencapai suatu hasil tertentu. Apabila pengulangan ini dilakukan secara manual
ukuran file program akan menjadi terlalu besar. Contoh sederhana adalah jika kita
ingin menuliskan Hello! di layar sebanyak 7 kali, maka akan dibutuhkan paling tidak
7 baris perintah. Menggunakan sintaks pengulangan, persoalan tersebut dapat
diselesaikan hanya menggunakan 4 baris program.
int a;
for (a=1;a<=5;a++)
{
cout << Hello!;
16 | P a g e
Praktikum Sistem Basis Data | MODUL 1
.
.
case <kondisi n>: <statement n>;
break;
default: <statement default>
break;
}
Terdapat salah satu perintah baru dalam sintaks diatas yaitu break. Perintah break
digunakan untuk menyelesaikan proses looping atau pengecekan logika di dalam
sebuah program. Pada contoh diatas, apabila tidak ditulis break setelah statement,
maka variabel akan dicocokkan dengan semua kondisi meskipun sudah ditemukan
kondisi yang cocok.
Salah satu sintaks looping/pengulangan yang sering digunakan adalah sintaks Do-
While dan While-Do. Untuk jenis Do-While, program akan menjalankan statement terlebih
dahulu sebelum melakukan pengecekan kondisi looping. Sebaliknya, untuk While-Do,
program akan mengecek kondisi looping terlebih dahulu sebelum menjalankan statement
yang ada di dalamnya.
Dari bentuk diatas, bentuk Do-While akan selalu menjalankan statement yang ada di
dalamnya minimal sebanyak satu kali, sementara While-Do bisa saja tidak menjalankan
statement di dalamnya sama sekali karena kondisi looping tidak dipenuhi. Sintaks kedua
jenis looping adalah sebagai berikut.
Do-While While-Do
17 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Pada perlombaan balap mobil, umumnya terdapat istilah countdown atau hitung
mundur untuk menandakan dimulainya balapan. Hitung mundur ini dilakukan dengan
menampilkan teks hitungan dan tulisan START ketika hitungan mencapai nol. Buatlah
sebuah program yang menerima input user berupa bilangan integer dan menampilkan
hitungan saat itu, kemudian apabila hitungan mencapai nol, program diharapkan
menampilkan tulisan START! (Asumsi user akan selalu memberi masukan > 0)
Jawab
Untuk mengerjakan kasus ini, perlu diketahui terdapat 2 operasi yang dilakukan,
yaitu menampilkan teks dan melakukan perulangan. Teks yang ditampilkan dibuat
dengan logika if sederhana, jika angka tidak sama dengan nol maka teks yang
ditampilkan adalah angka tersebut. Bagian kedua, yaitu looping, dapat dikerjakan
menggunakan Do-While maupun While-Do. Perbedaan utamanya terdapat pada
kondisi looping. Untuk lebih jelasnya, simak contoh program pada halaman berikutnya
18 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Bentuk looping yang ketiga adalah bentuk For. Bentuk ini umumnya digunakan
untuk pengulangan yang sudah diketahui jumlahnya. Meskipun begitu, loop for bisa
saja dibuat seperti loop while. Sintaks loop for adalah sebagai berikut:
for
(<variabel loop>;<kondisi looping>;<inc/decrement>)
{
<statement loop>
}
Jawab
Sebelum menjawab kasus ini kita perlu tahu terlebih dahulu, ada berapa variabel
yang kita butuhkan dan proses seperti apa yang berjalan di dalam kasus ini. Variabel
utama yang digunakan dalam kasus ini adalah variabel penyimpan input user dan
variabel yang digunakan sebagai counter pada loop for. Karena diminta jumlah dari
deret, maka diperlukan pula sebuah variabel untuk menyimpan hasil penjumlahan.
19 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Untuk prosesnya sederhana, cukup menerima input dari user, lakukan looping,
kemudian tampilkan hasil penjumlahan dari looping ke layar ketika looping selesai.
Contoh program adalah sebagai berikut.
20 | P a g e
Praktikum Sistem Basis Data | MODUL 1
4. Array
4.1. Array
Setelah membahas mengenai variabel dan beberapa proses seperti percabangan dan
pengulangan, pada bab ini kita akan membahas kumpulan variabel atau array. Array
adalah sebuah variabel yang di dalamnya terdiri dari sekumpulan variabel. Sebuah array
umumnya dilambangkan dengan indeks dan isi dari array tersebut. Secara visual,
penggambaran array adalah sebagai berikut:
Perlu diketahui bahwa indeks array dalam C selalu dimulai dari nol, sehingga indeks
terakhir dari sebuah array adalah n-1 dimana n adalah alokasi jumlah tempat pada array
pada deklarasi variabel, sintaks deklarasi array adalah <tipe variabel> <nama
variabel>[<jumlah array>];.
Untuk pemanggilan isi dari array harus menyertakan indeksnya. Sintaksnya adalah <nama
variabel>[<indeks>].
4.2. Dimensi
Seperti sebuah tabel, sebuah array dapat dibuat memiliki beberapa dimensi. Dimensi
disini berarti indeksnya memiliki n komponen. Contoh, array berdimensi satu dengan
jumlah array 4 buah akan memiliki indeks dari nol sampai tiga. Array dengan jumlah array
4 buah tersebut bisa saja direpresentasikan menggunakan array dua dimensi dengan
ukuran 2x2. Array dua dimensi tersebut akan memiliki indeks dari [0,0] sampai [1,1]. Untuk
lebih jelasnya dapat disimak ilustrasi berikut ini.
21 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Menggunakan proses traversal, operasi aritmatik untuk array dapat dilakukan dengan
mudah. Pada array, operasi aritmatik harus dilakukan satu persatu untuk setiap elemen
array. Operasi aritmatik bisa saja dilakukan secara manual dengan menambahkan satu
persatu isi array, namun dapat juga dilakukan dengan proses traversal. Untuk lebih
jelasnya, simak kasus berikut ini.
Software pengolah data seperti Microsoft Excel mengolah data dalam bentuk
spreadsheet dan melakukan operasi tertentu pada spreadsheet tersebut. Operasi dasar
dalam pengolahan spreadsheet adalah mencari nilai atau value tertentu di dalam
spreadsheet tersebut.
Apabila diberikan array satu dimensi dengan isi array = {0,3,4,1,2,5,6}, buatlah
sebuah program yang menerima masukan user berupa integer dan mengecek
apakah integer tersebut ada di dalam array! Output berupa pemberitahuan kepada
user apakah bilangan tersebut ditemukan atau tidak. Masukan user bernilai bebas
hanya saja bertipe integer.
Jawab
Sebelum menjawab kasus ini, kelompokkan terlebih dahulu informasi yang ada
dalam soal, seperti:
22 | P a g e
Praktikum Sistem Basis Data | MODUL 1
#include <iostream>
using namespace std;
int main () {
// Deklarasi variabel
int i, a;
// i = counter, a = input user
int tabel[7] = {0,3,4,1,2,5,6};
// variabel array
// Input, inisialisasi counter
cin >> a;
// Loop
for (i = 0; i < 9; i++) {
if (a == tabel[i])
// Angka ditemukan
{
cout << Bilangan anda ditemukan<<endl;
}
} // loop selesai apabila i >= 9 atau break
if (i >= 9)
// tidak ditemukan, mencapai akhir
{cout << Bilangan tidak ditemukan ;}
return 0;
}
Bagian looping pada program diatas umumnya disebut bagian traversal karena pada
bagian tersebut program seolah-olah berjalan dan mengecek isi array dari yang paling
pertama sampai yang paling terakhir.
Buatlah program yang mampu melakukan operasi sederhana pada matriks seperti
penjumlahan! Jumlah matriks yang digunakan adalah 2 buah matriks dengan ukuran 2x2.
Isi dari matriks merupakan bilangan integer (bebas). Tampilkan hasil operasi penjumlahan
dan pengurangan ke layar user!
Jawab
23 | P a g e
Praktikum Sistem Basis Data | MODUL 1
2. Isi array merupakan bilangan integer, dibebaskan. Asumsikan isi array sudah fixed.
3. Operasi yang dilakukan adalah penjumlahan antara dua matrix, kemudian hasil
operasi ditampilkan di layar.
Dari informasi yang ada, dibutuhkan empat variabel, yaitu variabel counter 1, variabel
counter 2, variabel matriks 1, dan variabel matriks 2. Hasil operasi bisa saja dimasukkan ke
variabel baru, namun untuk mempersingkat, akan kita buat isi program sebagai berikut.
#include <iostream>
using namespace std;
int main () {
// Inisialisasi dan deklarasi variabel
int i,n;
int mat1[2][2] = {{2,3},{5,7}};
int mat2[2][2] = {{1,6},{4,9}};
return 0;
}
24 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Fungsi adalah suatu bagian dari program yang mampu mengerjakan tugas atau
operasi tertentu di luar program utama. Pada dasarnya sebuah prosedur adalah fungsi,
hanya saja prosedur tidak mengembalikan nilai seperti fungsi.
Pemanggilan fungsi di dalam program cukup dengan mendeklarasikan nama fungsi dan
variabel yang digunakan sebagai parameter fungsi. Pastikan variabel yang digunakan
memiliki tipe yang cocok dengan parameter fungsi. Prosedur memiliki sintaks sama, hanya
saja pada bagian <tipe data> diisi dengan void dan tidak perlu ada sintaks return.
25 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Pada ilmu fisika, terdapat suatu fungsi yang digunakan untuk mencari posisi,
percepatan, dan kecepatan dari suatu objek. Fungsi akan terlalu panjang apabila ditulis
dalam satu program. Untuk itu, buatlah program yang menerima masukan dari user
berupa nilai kecepatan awal, percepatan, dan waktu dengan tipe float, kemudian
menampilkan nilai kecepatan akhir dan jarak. Perhitungan kecepatan akhir, jarak, dan
penampilan hasil akhir berada pada fungsi dan prosedur terpisah yang terdefinisi sebagai
berikut:
float countpos (float v, float a, float t)
Fungsi countpos menghitung posisi objek dengan kecepatan v, percepatan a, dan pada
waktu t
float countvelocity (float v, float a, float t)
Jawab
Seperti biasa, kelompokkan terlebih dahulu informasi yang diperoleh dari soal seperti
berikut.
1. Terdapat 3 variabel dengan tipe float yang diinput oleh user yaitu variabel kecepatan,
percepatan, dan waktu.
Dari hal-hal tersebut, program dapat dibuat seperti berikut. Perlu diperhatikan bahwa
penambahan jumlah variabel untuk menyimpan nilai posisi dan kecepatan akhir tidak
bersifat wajib.
26 | P a g e
Praktikum Sistem Basis Data | MODUL 1
#include <iostream>
using namespace std;
//Deklarasi fungsi
float countpos (float v, float a, float t)
{
//Deklarasi variabel lokal
float position;
//Proses
position=v*t+(0.5*v*t*t);
//Program utama
int main ()
{
//Deklarasi variabel
float finalvelo, finalpos;
//Proses
cout << Masukkan nilai kecepatan : ;
cin >> v; cout << endl;
cout << Masukkan nilai percepatan : ;
cin >> a; cout << endl;
cout << Masukkan nilai waktu : ;
cin >> t; cout << endl;
27 | P a g e
Praktikum Sistem Basis Data | MODUL 1
finalpos = countposition(v,a,t);
return 0;
}
6. Record (Struct)
Record merupakan tipe data terstruktur yang terdiri dari beberapa item data yang dapat
memiliki tipe data yang berbeda beda. Masing-masing item data tersebut disebut field. Dalam
C++ record dikenal dengan struct.
Sama halnya dengan array, record berguna untuk membuat program yang melibatkan
data yang banyak dan kompleks dengan membuat penyimpanan data lebih terstruktur. Satu
field dalam record hanya dapat diisi oleh satu data, contoh:
Mahasiswa
Struct
Nama NIM UTS UAS Tugas Total Atribut Struct
Juki 13414999 75.9 95 89.7 88.475
data
Struct Nama_Struct {
Tipe_Data1 Atribut1
Tipe_Data2 Atribut2
Tipe_Data3 Atribut3
..... };
};
28 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Nama_Struct NamaObjek;
Object pada Struct dapat didefinisikan, diakses, dimanipulasi, atau dicetak dengan cara
menuliskan nama objek diikuti dengan titik(.), lalu nama field-nya :
NamaObjek.Atribut1 = nilai
29 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Output:
Contoh Kasus
Pengelola Stadion Gelora Bandung Lautan Api mendata pemesanan tiket untuk
pertandingan persahabatan antara Persib Bandung melawan PSV Eidenhoven. Terdapat
tiga jenis kursi penonton dengan harga yang berbeda masing-masingnya sebagai berikut:
30 | P a g e
Praktikum Sistem Basis Data | MODUL 1
Output:
31 | P a g e
Praktikum Sistem Basis Data | MODUL 1
32 | P a g e
Praktikum Sistem Basis Data | MODUL 1
7. Error Handling
Error handing adalah suatu bentuk penanganan eror yang terjadi ketika program
dijalankan dengan cara membuat suatu perintah khusus terhadap kejadian-kejadian yang
memungkinkan eror bisa terjadi. Jenis error handling yang akan dibahas dalam modul ini
adalah perintah percabangan dan perulangan.
Perintah percabangan dan perulangan dapat digunakan sebagai error handling bagi eror
yang disebabkan kesalahan input oleh user saat program dijalankan. Perintah percabangan
dan perulangan hanya dapat menangani eror yang terjadi akibat kesalahan input dengan
kondisi input memiliki tipe data yang sama dengan tipe data yang dimaksud oleh pembuat
program.
Sintaks perintah percabangan dan perulangan sebagai error handling disesuaikan dengan
kebutuhan user dalam membuat program, serta tergantung dari kreativitas user. Berikut
merupakan contoh program dengan penerapan error handling dalam contoh kasus dimana
program meminta user untuk memasukkan kode genre buku yang user ingin ketahui jumlah
bukunya dan menampilkan output yang diminta:
#include <iostream>
using namespace std;
//deklarasi variabel
int kode, jumlah;
string genrebuku;
int main()
{
cout<<"Selamat datang! Berikut merupakan kode genre buku:"<<endl;
cout<<"1. Fiction"<<endl;
cout<<"2. Biography"<<endl;
cout<<"3. Romance"<<endl;
cout<<"4. Cookbooks"<<endl;
cout<<"5. Self Help"<<endl;
cout<<"Silakan masukkan kode genre buku pilihan Anda: ";
cin>>kode;
if (kode<1||kode>5)
{
do
{
cout<<"Kode yang dimasukkan salah!"<<endl;
cout<<Silakan masukkan ulang kode genre buku pilihan Anda: ";
cin>>kode;
}
33 | P a g e
Praktikum Sistem Basis Data | MODUL 1
while (kode<1||kode>5);
}
switch (kode)
{
case 1: genrebuku="Fiction"; jumlah=751;
break;
case 2: genrebuku="Biography"; jumlah=325;
break;
case 3: genrebuku="Romance"; jumlah=563;
break;
case 4: genrebuku="Cookbooks"; jumlah=497;
break;
case 5: genrebuku="Self Help"; jumlah=256;
break;
}
return 0;
}
34 | P a g e
Praktikum Sistem Basis Data | MODUL 1
DAFTAR REFERENSI
Lab PTI. 2014. Modul Pengenalan Teknologi Informasi. Bandung: Institut Teknologi Bandung.
35 | P a g e
Praktikum Sistem Basis Data | MODUL 1
TUGAS PENDAHULUAN
PETUNJUK UMUM:
1. Sebutkan dan jelaskan jenis-jenis operator, serta jelaskan simbol-simbol yang ada pada
operator tersebut jika ada!
3. Buatlah program untuk menghitung gaya apung yang dialami oleh bola yang dicelupkan
seluruhnya ke dalam sebuah tangki berisi suatu fluida dengan kerapatan tertentu.
Penghitungan dilakukan dengan menginput jari-jari bola dan kerapatan fluida. Tampilkan
pula hasil penghitungan volume bola. Gunakan satuan yang tepat!
-2
Keterangan: gunakan g=9.8 ms dan =3,14.
36 | P a g e
Praktikum Sistem Basis Data | MODUL 1
4. Buatlah sebuah prosedur yang mencetak angka 0 sampai dengan 100 dimana program
tersebut menampilkan tulisan yes di sebelah angka hasil perkalian kuadrat seperti
berikut:
5. Sebuah tempat penitipan hewan peliharaan ingin membuat program menggunakan array
untuk menyimpan data 5 hewan peliharaan yang dititipkan di tempat tersebut.
Ketentuannya sebagai berikut:
- Data yang dimasukkan adalah nama hewan peliharaan, nama pemilik, dan jenis
hewan (kucing, anjing, dsb.)
- Di akhir program, berikan perintah untuk menginput nama salah satu hewan tersebut
dan kemudian program menampilkan data hewan yang namanya diinput tersebut.
6. Rental Mobil Jaya Abadi berencana untuk menggunakan program komputer agar bisa
mempermudah keperluan pencatatan pelanggan mereka. Mereka meminta Anda untuk
membuat sebuah program sederhana yang memiliki beberapa pilihan menu dengan
spesifikasi sebagai berikut:
1. Input data
User diminta untuk memasukkan nomor member, nama, nomor telepon, dan alamat
pelanggan.
2. Cari data
User diminta untuk mencari data pelanggan berdasarkan nomor member pelanggan.
3. Hapus data
User diminta untuk menghapus seluruh data pelanggan tertentu yaitu nomor member,
nama, nomor telepon, dan alamat pelanggan berdasarkan nomor member pelanggan.
4. Keluar program
User dianggap telah selesai menggunakan program, sehingga akan muncul kalimat
yang menyatakan program telah selesai digunakan.
Perhatikan penggunaan error handling dalam pembuatan program di atas.
37 | P a g e
Praktikum Sistem Basis Data | MODUL 1
sumbergambar: google.com
(John Mayer)
Good luck!
38 | P a g e