Anda di halaman 1dari 38

Praktikum Sistem Basis Data

MODUL 1
Pemrograman dengan Bahasa C++
Praktikum Sistem Basis Data | MODUL 1

First solve the problem.


Then, write the code
(John Johnson)

:)
2|Page
Praktikum Sistem Basis Data | MODUL 1

DAFTAR ISI

Tujuan Praktikum ......................................................................................................................................................5


Tujuan Umum.......................................................................................................................................... 5
Tujuan Khusus ......................................................................................................................................... 5
Kata Penting ................................................................................................................................................................5
1. Pengenalan Algoritma dan Pemrograman ......................................................................................................6
1.1. Algoritma ................................................................................................................................................... 6
1.2. Algoritma dalam Pemrograman.......................................................................................................... 6
1.3. Sintaks Program ....................................................................................................................................... 7
1.4. Input, Output, dan Komentar ............................................................................................................... 8
1.5. Variabel dan Tipe Data .......................................................................................................................... 9
2. Ekspresi, Operator, dan Percabangan .............................................................................................................11
2.1. Ekspresi ...................................................................................................................................................... 11
2.2. Operator.................................................................................................................................................... 11
2.3. Operator Relasi........................................................................................................................................12
2.4. Operator Logika ......................................................................................................................................12
2.5. Struktur Percabangan (IF-Conditional .............................................................................................. 13
3. Pengulangan (Looping) ...................................................................................................................................... 16
3.1. Logika Pengulangan .............................................................................................................................. 16
3.2. Switch Break .............................................................................................................................................16
3.3. Do-While dan While-Do-Loop ........................................................................................................... 17
3.4. For Loop ....................................................................................................................................................19
4. Array .................................................................................................................................................................... 21
4.1. Array ...........................................................................................................................................................21
4.2. Dimensi ......................................................................................................................................................21
4.3. Operasi dengan Array .......................................................................................................................... 22
5. Fungsi dan Prosedur ...................................................................................................................................... 25
5.1. Fungsi dan Prosedur ............................................................................................................................. 25
5.2. Variabel Lokal dan Global ................................................................................................................... 25
5.3. Fungsi Rekursif ........................................................................................................................................ 25
6. Record (Struct) ................................................................................................................................................. 28

3|Page
Praktikum Sistem Basis Data | MODUL 1

6.1 Cara Menginisiasikan Struct ................................................................................................................ 28


6.2 Contoh Penggunaan Struct ................................................................................................................ 29
6.3 Penggabungan Array dan Record .................................................................................................... 30
7. Error Handling ................................................................................................................................................. 33
DAFTAR REFERENSI ................................................................................................................................................. 35
TUGAS PENDAHULUAN ........................................................................................................................................ 36

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

1. Pengenalan algoritma dalam pemrograman C++


2. Pengenalan ekspresi dan operator dalam C++
3. Pemahaman dan pembuatan logika percabangan dan pengulangan
4. Pemahaman dan pembuatan pengelompokkan data dalam Array
5. Pemahaman pembuatan operasi tertentu di luar program utama
-------------------------------------------------------------------------------------

*) beri tanda pada kotak di samping jika Anda sudah menguasai.

Kata Penting

Pseudo-code IF-Conditional Loop-Condition


Switch-Break Do-While While-Do-Loop
For-Loop Array

Selamat Belajar!

5|Page
Praktikum Sistem Basis Data | MODUL 1

1. Pengenalan Algoritma dan Pemrograman


1.1. Algoritma

Dalam ilmu matematika dan komputasi, algoritma berarti langkah-langkah yang


harus ditempuh untuk kalkulasi atau pemecahan masalah. Pada dasarnya definisi
algoritma merupakan sesuatu yang abstrak dan kompleks. Namun algoritma bisa saja
sederhana, hanya perlu diketahui terkadang ada beberapa proses yang dilewati dan
dianggap sudah dilakukan.

1.2. Algoritma dalam Pemrograman

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.

Tidak ada sintaks formal untuk sebuah pseudo-code. Sebuah pseudo-code


umumnya terdiri dari bahasa yang mudah dimengerti (tidak seperti bahasa
pemrograman di komputer). Untuk lebih jelasnya materi ini akan dijelaskan oleh dosen
yang bersangkutan di kelas.

Khusus untuk flowchart pseudo-code, terdapat beberapa simbol khusus yang


memiliki makna berbeda sebagai berikut:

Simbol Makna
Menyatakan awal (start) dan akhir program (end)

Menandakan input dan output

Menandakan suatu proses

Kondisi percabangan (if conditional)

Konektor untuk algoritma

Menandakan struktur perulangan (looping)

Table 1.Simbol Flowchart Pseudocod

6|Page
Praktikum Sistem Basis Data | MODUL 1

1.3. Sintaks Program

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

Program <nama program> program <nama program>


Begin begin
<isi program> <isi program>;
End end.

C++ Fortran

#include <nama library> program <nama program>


using namespace std; <isi program>
int main () end program <nama
{ program>

<isi program>

return 0;

}
Table 2. Perbedaan Sintaks Awal dan Akhir Program

7|Page
Praktikum Sistem Basis Data | MODUL 1

1.4. Input, Output, dan Komentar

Dalam pemrograman, dikenal istilah input, output, dan komentar/comment. Input


adalah masukan yang diberikan oleh pengguna/user ketika program dijalankan, sementara
output adalah teks atau karakter tertentu yang ditampilkan ke layar device.

Agar lebih mudah dimengerti, sebuah program umumnya mengandung komentar.


Fungsi utama komentar adalah menjelaskan maksud dari langkah yang sedang dijalankan
untuk membantu proses debugging atau membantu user membaca source code. Daftar
sintaks untuk input, output, dan comment pada C++ adalah sebagai berikut:

Jenis Perintah Pseudocode C++

Input Input <variabel> cin >> <variabel>

Output Output <isi output> Cout << <isi output>

Comment /* <isi comment> */ /* <isi comment> */

Table 3. Sintaks Input-Output

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

menggunakan bahasa C++. Jangan lupa menyertakan komentar!

8|Page
Praktikum Sistem Basis Data | MODUL 1

Jawab

1.5. Variabel dan Tipe Data

Variabel merupakan elemen yang dapat dimanipulasi dan memiliki tipe data
tertentu. Tipe data sendiri adalah jenis yang menentukan tipe dari variabel yang
bersangkutan.

Tipe Data Deskripsi


char Merupakan tipe data karakter
int 16
Bilangan bulat s/d 2
long int 32
Bilangan bulat s/d 2
float Bilangan decimal
string Kata atau kalimat
Table 4. Jenis Tipe Data

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

Pada dasarnya, sebuah prosesor komputer mampu memproses banyak variabel


dalam waktu yang bersamaan. Cobalah membuat program yang menerima input dari
user berupa nama, NIM, dan fakultas kemudian menampilkannya ke layar sebagai
output!

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. Ekspresi, Operator, dan Percabangan


2.1. Ekspresi
Ekspresi (ungkapan) merupakan kombinasi dari operand dan operator yang dapat
berupa konstanta (untai/numerik), variabel, atau nilai tunggal. Operand tersebut juga dapat
berupa konstanta, variabel, atau nilai tunggal yang nantinya akan digunakan atau diolah
dalam program sesuai dengan operator.

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.

Simbol Nama dan Deskripsi Simbol


Operator
+ Tambah, berfungsi untuk operasi penambahan, bisa juga
digunakan untuk menggabungkan tipe data string, contoh:
Halte+BusHalteBus (tanpa spasi)
- Kurang, berfungsi untuk operasi pengurangan
* Kali, berfungsi untuk operasi perkalian
/ Bagi atau Div memiliki dua fungsi
Untuk tipe data float melakukan operasi pembagian,
contoh: 3/2=1.5
Untuk tipe data integer melakukan operasi
pembagian round down (pembulatan ke bawah),
contoh: 3/2=1
% Modulus, berfungsi untuk memunculkan sisa hasil operasi
pembagian, khusus untuk tipe data integer, contoh 6%4=2
Table 5. Operator Arimatik pada C++

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

Contohnya, a = a + 3; akan menghasilkan variabel a baru yang bernilai nilai


variabel a lama ditambah dengan 3. Selain jenis yang ditulis di tabel terdapat tipe
increment dan decrement. Increment dilambangkan dengan <variabel>++; dan
decrement dilambangkan dengan <variabel>--;. Tipe ini setara dengan <variabel
a> = <variabel a> + 1; dan <variabel a> = <variabel a> - 1;.

2.3. Operator Relasi

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

Simbol Definisi Bernilsi True jika


== Sama dengan 10==10
!= Tidak sama dengan 8!=10
> Lebih dari 7>3
< Kurang dari 3<7
>= Lebih dari sama dengan 9>=9
<= Kurang dari sama dengan 2<=2
Table 6, Jenis Operator Relasi

2.4. Operator Logika

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.

Penggunaan operator logika biasanya berhubungan dengan operator relasi, yaitu


sebagai penghubung antara dua operator relasi. Lebih jelasnya, operator logika
menghubungkan hasil (true atau false) yang didapat dari operasi relasi dan memberikan
hasil baru (true atau false) berdasarkan operasi logika matematika.

12 | P a g e
Praktikum Sistem Basis Data | MODUL 1

Operator Fungsi Contoh penggunaan

&& AND true && true beroutput true

|| OR true || false beroutput true

! NOT !true beroutput false

Table 7. Jenis Operator Logika

2.5. Struktur Percabangan (IF-Conditional)


Pada pemrograman, terdapat sebuah operasi logika matematika yang biasa
digunakan untuk memecahkan masalah, operasi ini umumnya disebut operasi logika
kondisional. Dilambangkan dengan kata if, operasi ini akan melakukan / mengeksekusi
deretan perintah selanjutnya jika kondisi awalnya telah dipenuhi. Contoh sintaks if dalam
C++ adalah sebagai berikut:
if <kondisi/expression>
{ statement 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.

Selain bentuk if-conditional standar, terdapat juga bentuk if-conditional bertingkat.


Flowchart dan sintaks dari dari if bertingkat adalah sebagai berikut.

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

// kurung kurawal tutup


// sebanyak n buah

Contoh Kasus: Cek positif, negatif, atau nol

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!;

Output : Hello! Hello! Hello!


Hello! Hello!

3.2. Switch Break


Sebelum memasuki sintaks looping, terdapat salah satu sintaks yang umumnya
digunakan untuk analisa kasus dalam pemrograman. Sintaks switch akan mencocokkan
nilai suatu variabel dengan syarat yang telah ditentukan. Perlu diketahui bahwa switch
memperlakukan pengecekan menggunakan operator relasi sama dengan (==). Sintaks
switch adalah sebagai berikut:
switch (variabel)
{
case <kondisi 1>: <statement 1>;
break;
case <kondisi 2>: <statement 2>;
break;

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.

3.3. Do-While dan While-Do-Loop

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

Do while (<kondisi loop>)


{<statement loop>} {<statement loop>}

while (<kondisi loop>);

Contoh Kasus: Perhitungan Mundur

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

3.4. For Loop

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

Variabel loop adalah variabel yang digunakan untuk menyimpan nilai


hitung/counter dalam menjalankan loop for. Umumnya variabel counter ini bertipe
integer dan mengalami increment/decrement. Untuk kondisi infinite loop atau loop
yang tak berhenti, cukup kosongkan ketiga bagian <variable loop>, <kondisi
looping>, dan <inc/decrement>.

Contoh Kasus: Perhitungan Deret Aritmatika


Dalam matematika, deret aritmatika adalah urutan bilangan dengan suku-suku
selanjutnya merupakan penjumlahan suku sebelumnya dengan konstanta tertentu.
Contoh sederhana deret aritmatika adalah deret seperti berikut: 0 + 1 + 2 + 3 +4 + .
+ n. Menggunakan loop for, buatlah program yang menerima masukan user berupa
bilangan integer positif dan membuat hasil penjumlahan dari deret seperti pada contoh
diatas. Input user akan selalu >= 0.

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.

Figure 1. Matriks 2 Dimensi

21 | P a g e
Praktikum Sistem Basis Data | MODUL 1

4.3. Operasi dengan Array


Adanya indeks dan kemampuan untuk memanggil isi array tersebut memungkinkan
kita untuk melakukan operasi dengan array. Operasi dasar menggunakan array
umumnya melibatkan traversal atau pengecekan elemen/anggota dari array satu persatu.
Proses traversal ini dilakukan menggunakan teknik looping yang sudah dipelajari pada bab
sebelumnya.

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.

Contoh Kasus: Pengecekan Nilai pada Tabel

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:

1. Terdapat array satu dimensi dengan isi bilangan {0,3,4,1,2,5,6}.


2. Program yang diminta menerima input user berupa integer kemudian
melakukan pengecekan ke array satu dimensi tersebut untuk
menemukan bilangan yang di-input user.
3. Program akan memberikan output apabila bilangan ditemukan. Jika
bilangan tidak ditemukan, maka program akan memberitahu user bahwa
bilangan yang dicari tidak ditemukan.

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.

Contoh Kasus: Operasi Matriks

Matriks merupakan sekumpulan variabel yang dapat dioperasikan sesuai dengan


indeksnya. Definisi matriks sangat sesuai dengan definisi array 2 dimensi, karena itu array
juga dapat dioperasikan seperti matriks.

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

Sama seperti kasus sebelumnya, pertama-tama kelompokkan informasi yang ada di


soal:

1. Terdapat 2 array 2 dimensi dengan ukuran 2x2

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

//Looping untuk baris


for (n=0;n<2;n++){
//Looping untuk kolom
for (i=0;i<2;i++){
//Output ke layar
cout << mat1[n][i]+mat2[n][i] << ;
}
//New line
cout << endl;
}

return 0;
}

Tambahan: Cobalah buat program untuk menghitung perkalian matriks!

24 | P a g e
Praktikum Sistem Basis Data | MODUL 1

5. Fungsi dan Prosedur


5.1. Fungsi dan Prosedur
Setelah belajar mengenai program dan berbagai proses seperti input, output, deklarasi
dan operasi variabel, logika bercabang/if, dan looping, bagian terakhir dari dasar
pemrograman adalah penggunaan fungsi dan prosedur.

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.

Sintaks fungsi dalam C++ adalah sebagai berikut:

<tipe data> <nama fungsi> (parameter fungsi)


{
<isi fungsi>
return <nilai balik 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.

5.2. Variabel Lokal dan Global


Dengan adanya fungsi, variabel dibagi menjadi dua: variabel lokal dan global. Variabel
lokal adalah variabel yang nilainya hanya berlaku di dalam fungsi tersebut. Variabel lokal
akan dihapus nilainya setelah fungsi selesai. Variabel global sebaliknya merupakan variabel
yang berlaku di dalam program. Variabel global bisa saja diubah atau dioperasikan nilainya
oleh sebuah fungsi. Namun, sebuah fungsi ada baiknya hanya mengoperasikan parameter
dan variabel lokalnya ketika fungsi tersebut berjalan.

Pendeklarasian dan inisialisasi variabel lokal sama seperti variabel global.


Perbedaannya, variabel lokal dideklarasikan di bawah fungsi tertentu.

5.3. Fungsi Rekursif


Terdapat salah satu trik yaitu penggunaan fungsi rekursif. Rekursif berarti fungsi tersebut
memanggil dirinya sendiri terus menerus sampai suatu syarat tercapai. Fungsi rekursif tidak
banyak digunakan dalam pemrograman dasar karena sedikit kompleks. Untuk memahami
lebih jauh mengenai penggunaan fungsi dan prosedur dalam C++, simak contoh kasus
berikut ini:

25 | P a g e
Praktikum Sistem Basis Data | MODUL 1

Contoh Kasus: Persamaan Posisi, Percepatan, dan Kecepatan

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)

Fungsi countvelocity menghitung kecepatan akhir objek dengan kecepatan v,


percepatan a, dan waktu t
void showresult (float velo, float pos)

Prosedur showresult menampilkan hasil perhitungan 2 fungsi sebelumnya ke layar

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.

2. 2 Variabel hasil yaitu posisi dan kecepatan akhir.

3. Terdapat 2 fungsi dan 1 prosedur yaitu countpos, countvelocity, dan showresult.

4. Persamaan untuk kedua fungsi didefinisikan dalam soal.

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

//Mengembalikan/return nilai posisi


return position;
}

float countvelocity (float v, float a, float t)


{
float velo;
velo=v+a*t;
return velo;
}

void showresult (float velo, float pos)


{
//Proses (tidak butuh variabel lokal)
cout<<Posisi benda adalah pada<<pos<<meter<<endl;
cout<<Kecepatan akhir benda adalah<<velo<<meter per
sekon<<endl;
}

//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;

//Melakukan perhitungan dengan memanggil fungsi


finalvelo = countvelocity(v,a,t);

27 | P a g e
Praktikum Sistem Basis Data | MODUL 1

finalpos = countposition(v,a,t);

//Menampilkan hasil dengan memanggil prosedur


showresult(finalvelo, finalpos);

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

Berikut struktur kode untuk membuat record:

Struct Nama_Struct {

Tipe_Data1 Atribut1

Tipe_Data2 Atribut2

Tipe_Data3 Atribut3

..... };

};

6.1 Cara Menginisiasikan Struct


Hal pertama yang harus dilakukan untuk menginisiasi struct yaitu kita harus membuat
objeknya terlebih dahulu.

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

6.2 Contoh Penggunaan Struct


Contoh sederhana dari record adalah record data nilai mahasiswa. Record tersebut
terdiri dari field Nama, NIM, UTS, UAS, Tugas, dan total yang memiliki tipe data yang
berbeda satu sama lain yaitu single untuk field UAS, UTS, Tugas.dan total, string untuk field
nama dan integer untuk field NIM. Setiap field hanya dapat diisi oleh satu data.

29 | P a g e
Praktikum Sistem Basis Data | MODUL 1

Output:

6.3 Penggabungan Array dan Record


Penggabungan array dan record merupakan salah satu metode yang memungkinkan
untuk menyimpan data yang banyak secara terstruktur.

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:

1. Kursi VIP : Rp 750.000,00


2. Kursi Kelas 1 : Rp 550.000,00
3. Kursi Kelas 2 : Rp 300.000,00

Buatlah program untuk mendata pembelian 3 orang pembeli!

30 | P a g e
Praktikum Sistem Basis Data | MODUL 1

Output:

31 | P a g e
Praktikum Sistem Basis Data | MODUL 1

Secara sederhana, data dapat disajikan sebagai berikut:

Indeks Atribut Data


0 Nama Adhit
ID Pembeli 101
Jumlah Tiket VIP 2
Jumlah TIket Kelas 1 0
Jumlah Tiket Kelas 2 1
Total Biaya Rp1.800.000,00
1 Nama Hanif
ID Pembeli 102
Jumlah Tiket VIP 0
Jumlah TIket Kelas 1 3
Jumlah Tiket Kelas 2 0
Total Biaya Rp 1.650.000,00
2 Nama Amir
ID Pembeli 103
Jumlah Tiket VIP 0
Jumlah TIket Kelas 1 0
Jumlah Tiket Kelas 2 5
Total Biaya Rp 1.500.000,00

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

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

cout<<"Genre buku pilihan Anda adalah:"<<genrebuku<<endl;


cout<<"Jumlah buku: "<<jumlah;

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:

Tugas Pendahuluan atau TP adalah prasyarat mengikuti praktikum. Tidak


mengerjakan TP akan mendapat sanksi.
Tidak menerima Plagiarisme. Pelaku akan dikenai sanksi berat.
Margin Atas-Kiri: 3 cm, margin Kanan-bawah: 4 cm. Beri identitas di sebelah kanan
atas (Nama, Nim, Modul, Shift 1/2).
Soal TP nomor 1 sampai 4 dikerjakan di A4 dengan DITULIS TANGAN (rapi dan
terbaca), bolak-balik di A4 bersih atau dikerjakan di A4 reuse.
Untuk program nomor 5 dan 6 dikumpulkan ke masing-masing ketua kelas (dalam 1
cd per kelas) dengan format folder SISBASDAT_KELAS_XX (contoh:
SISBASDAT_KELAS_01) dimana di dalamnya terdapat subfolder yang diberi nama NIM
(contoh: 13414200) berisi program masing-masing dalam format .cpp dan .txt (copy
syntax dari program ke notepad). Format penamaan file adalah NIM_TP1_NO SOAL
(contoh: 13414200_TP1_05).
TP dikumpulkan saat praktikum akan dimulai. Pengumpulan di luar waktu tersebut
tidak akan diterima dan nilai TP yang bersangkutan akan diberi nilai 0.

SOAL TES PENDAHULUAN

1. Sebutkan dan jelaskan jenis-jenis operator, serta jelaskan simbol-simbol yang ada pada
operator tersebut jika ada!

2. Tuliskan 2 perbedaan fungsi dan prosedur!

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

No matter what I do, Im going to earn it.

(John Mayer)

Good luck!
38 | P a g e

Anda mungkin juga menyukai