Anda di halaman 1dari 78

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN


SEMESTER GANJIL TAHUN AKADEMIK 2020/2021

Disusun oleh :

Nama : Krish Pranata


NIM : 2018047
Prodi : TEKNIK INFORMATIKA S1
Kelompok :4

PROGRAM STUDI TEKNIK INFORMATIKA S-1


FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI NASIONAL MALANG
2020
LEMBAR PERSETUJUAN
ALGORITMA DAN PEMROGRAMAN
SEMESTER GANJIL TAHUN AKADEMIK 2020/2021

Disusun Oleh
NAMA : Krish Pranata
NIM : 2018047
PRODI : TEKNIK INFORMATIKA S-1

Mengetahui, Menyetujui,
Kepala Laboratorium Dosen Pembimbing
Rekayasa Perangkat Lunak

(Ahmad Faisol, ST, MT) (Joseph Dedy Irawan, ST, MT)


NIP.P.1031000431 NIP.P.197404162005011002

PROGRAM STUDI TEKNIK INFORMATIKA S-1


FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI NASIONAL MALANG
2020
i

KATA PENGANTAR

Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha Esa, karena
atas berkah rahmat dan karunia-Nya sehingga kami dapat menyelesaikan Laporan
Praktikum Mata Kuliah, guna persyaratan dalam menempuh mata kuliah.
Laporan ini disusun berdasarkan percobaan dan teori dasar yang ada dalam
buku panduan praktikum, teori yang diperoleh praktikan dari perkuliahan, dan
tidak lupa yaitu Internet sehingga praktikan dapat menambah tidak hanya
menguasai teori saja namun juga memahami serta mengaplikasikannya.
Terwujudnya laporan ini, tentunya tidak lepas dari bantuan-bantuan yang
telah kami terima. Pada kesempatan ini, kami menyampaikan terima kasih yang
sebesar-besarnya kepada yang terhormat:
1. Bapak Joseph Dedy Irawan, ST, MT. dan Bapak Renaldi Primaswana
Prasetya, S.Kom, M.Kom. selaku dosen pembimbing dan dosen mata
kuliah Algoritma dan Pemrograman.
2. Bapak Ahmad Faisol, ST, MT. selaku Ketua Pelaksana Praktikum
Algoritma dan Pemrograman Program Studi Teknik Informatika ITN
Malang.
3. Instruktur Lab.Pemrograman dan RPL Teknik Informatika yang telah
memberi petunjuk kepada penulis selama pelaksanaan praktikum.
4. Rekan-rekan yang telah membantu dalam pelaksanaan dan penyelesaian
laporan ini.
Dalam menyusun laporan ini kami menyadari bahwa laporan ini masih
memiliki kekurangan, karena itu segala kritik dan saran yang membangun akan
kami nanti demi perbaikan penyusunan laporan selanjutnya.
Harapan kami laporan praktikum ini bermanfaat bagi penulis sendiri
maupun pembaca sekalian.
Malang, Desember 2019

Penulis
ii

DAFTAR ISI

KATA PENGANTAR..............................................................................................i
DAFTAR ISI..........................................................................................................ii
DAFTAR GAMBAR..............................................................................................v
DAFTAR TABEL................................................................................................vii
BAB I Pendahuluan...............................................................................................1
I.1 Latar Belakang...............................................................................................1
I.2 Rumusan Masalah...........................................................................................2
I.3 Tujuan.............................................................................................................2
I.4 Manfaat...........................................................................................................2
BAB II Pengenalan C++........................................................................................1
II.1 Landasan Teori..............................................................................................1
II.2 Langkah – Langkah Praktikum.....................................................................2
II.3 Latihan Praktikum ke-1:................................................................................2
II.4 Tugas praktikum ke-1:..................................................................................3
II.5 Tugas praktikum ke-2:..................................................................................4
II.6 Tugas Praktikum ke-3:..................................................................................5
II.7 Kesimpulan....................................................................................................6
BAB III Operator dan Statement I/O..................................................................7
III.1 Landasan Teori.............................................................................................7
III.2 Langkah – Langkah Praktikum..................................................................10
III.3 Latihan Praktikum ke-1:............................................................................10
III.4 Latihan praktikum ke-2:.............................................................................11
III.5 Latihan praktikum ke-3:.............................................................................12
III.6 Tugas Praktikum ke-1:...............................................................................13
III.7 Tugas Praktikum ke-2:...............................................................................14
III.8 Tugas Praktikum ke-3:...............................................................................15
III.9 Kesimpulan................................................................................................16
BAB IV Percabangan.............................................................................................1
IV.1 Landasan Teori............................................................................................1
IV.2 Langkah – Langkah Praktikum....................................................................4
iii

IV.3 Latihan Praktikum ke-1: (IF ELSE)............................................................4


IV.4 Latihan praktikum ke-2: (IF ELSE).............................................................5
IV.5 Latihan praktikum ke-3: (SWITCH CASE)................................................6
IV.6 Tugas Praktikum ke-1: (IF ELSE)...............................................................8
IV.7 TugasPraktikum ke-2: (IF ELSE)................................................................9
IV.8 Tugas Praktikum ke-3: (SWITCH CASE)................................................11
IV.9 Kesimpulan................................................................................................12
BAB V Perulangan...............................................................................................13
V.1 Landasan Teori............................................................................................13
V.2 Langkah – Langkah Praktikum...................................................................16
V.3 Latihan Praktikum ke-1: (FOR)..................................................................16
V.4 Latihan praktikum ke-2: (WHILE).............................................................17
V.5 Latihan praktikum ke-3: (NESTED FOR)..................................................18
V.6 Tugas Praktikum ke-1: (FOR).....................................................................19
V.7 Tugas Praktikum ke-2: (DO WHILE).........................................................20
V.8 Tugas Praktikum ke-3: (NESTED FOR)....................................................21
V.9 Kesimpulan.................................................................................................22
BAB VI Fungsi Void dan Non-Void...................................................................23
VI.1 Landasan Teori..........................................................................................23
VI.2 Langkah – Langkah Praktikum..................................................................26
VI.3 Latihan Praktikum ke-1: (FUNGSI NON-VOID)....................................26
VI.4 Latihan praktikum ke-2: (FUNGSI NON-VOID).....................................27
VI.5 Latihan praktikum ke-3: (FUNGSI VOID)...............................................28
VI.6 Tugas Praktikum ke-1: (FUNGSI NON-VOID)........................................29
VI.7 Tugas Praktikum ke-2: (FUNGSI NON-VOID)........................................30
VI.8 Tugas Rumah ke-3: (FUNGSI VOID).......................................................32
V.9 Kesimpulan.................................................................................................32
BAB VII Array.....................................................................................................34
VII.1 Landasan Teori.........................................................................................34
VII.2 Langkah – Langkah Praktikum................................................................36
VII.3 Latihan Praktikum ke-1:...........................................................................36
VII.4 Latihan praktikum ke-2:...........................................................................37
iv

VII.5 Tugas Praktikum ke-1:.............................................................................38


VII.6 Tugas Praktikum ke-2:.............................................................................40
VII.7 Tugas Praktikum ke-3:.............................................................................43
VII.9 Kesimpulan...............................................................................................43
Kesimpulan...........................................................................................................45
DAFTAR PUSTAKA...........................................................................................46
v

DAFTAR GAMBAR

Gambar 2.1 Hasil Program Biodata siswa...............................................................3


Gambar 2.2 Hasil memperbaiki Program error........................................................3
Gambar 2.3 Hasil Membuat Program tampilan nama 3 huruf depan......................5
Gambar 2.4 Hasil dari membuat program nilai........................................................6
Gambar 3.1 Hasil program increment....................................................................11
Gambar 3.2 Hasil Program incremnet dan perkalian.............................................12
Gambar 3.3 Hasil menghitung Program................................................................13
Gambar 3.4 Hasil Program Tiket Bus....................................................................13
Gambar 3.5 Hasil Program Konversi Jam.............................................................14
Gambar 3.6 Hasil Program perbandingan nilai......................................................15
Gambar 4.1 Hasil Program Ganjil Genap................................................................5
Gambar 4.2 Hasil Program Pengelompokan Umur.................................................6
Gambar 4.3 Hasil Program ITN Train.....................................................................8
Gambar 4.4 Hasil dari Program Sistem Login Sederhana.......................................9
Gambar 4.5 Hasil Program Menghitung Komisi...................................................11
Gambar 4.6 Hasil Program Menentukan Jenis Larutan.........................................12
Gambar 5.1 Hasil Program Looping for................................................................16
Gambar 5.2 Hasil Program Latihan 2....................................................................18
Gambar 5.3 Hasil Program Latihan Praktikum 2...................................................19
Gambar 5.4 Hasil Program Menentukan Bilangan Genap dan Ganjil...................20
Gambar 5.5 Hasil Program Perulangan Bilangan Genap.......................................21
Gambar 5.6 Hasil Program Tugas Praktikum 3.....................................................21
Gambar 6.1 Hasil Program Menghitung luas dan keliling.....................................27
Gambar 6.2 Hasil Program Menampilkan “Lab. Rekayasa Perangkat Lunak”.....28
Gambar 6.3 Hasil Program menghitung volume kerucut......................................29
Gambar 6.4 Hasil Program Tugas Praktkum 1......................................................30
Gambar 6.5 Hasil Program Menghitung nilai........................................................31
Gambar 6.6 Hasil Program Menampilkan teks......................................................32
Gambar 7.1 Hasil Program Inputan nilai mahasiswa.............................................37
vi

Gambar 7.2 Hasil Program Menentukan Jumlah Bintang.....................................38


Gambar 7.3 Hasil Program Matriks Penjumlahan.................................................39
Gambar 7.4 Hasil Program Menentukan Jumlah Nilai..........................................42
Gambar 7.5 Hasil Program Perulangan Array.......................................................43
vii

DAFTAR TABEL
I-1

BAB 1
Pendahuluan

I.1 Latar Belakang


C++ adalah bahasa pemrograman yang dibuat oleh Bjarne Stroustrup
yang merupakan perkembangan dari bahasa C pada awal tahun 1970-an.
Bahasa itu diturunkan dari bahasa sebelumnya, yaitu B. Pada awalnya, bahasa
tersebut dirancang sebagai bahasa pemrograman yang dijalankan pada sistem
UNIX. Pada perkembanganya, versi ANSI (American National Standart
Institute). Bahasa pemrograman C menjadi versi dominan, meskipun versi
tersebut sekarang jarang dipakai dalam pengembangan sistem dan jaringan
maupun untuk sistem embedded. Bjarne Stroustrup pada Bel labs pertama
kali mengembangkan C++ pada awal 1980-an. Untuk mendukung fitur-fitur
pada C++, dibangun efisiensi dan sistem support untuk pemrograman tingkat
rendah (low level coding). Pada C++ ditambahkan konsep-konsep baru seperti
class dengan sifat-sifatnya seperti inheritance dan overloading. Salah satu
perbedaan yang paling mendasar dengan bahasa C adalah dukungan terhadap
konsep pemrograman berorientasi objek (Object Oriented Programming).
Dev-C++ merupakan sebuah IDE (Integrated Development
Environment) C / C++ yang sudah dilengkapi dengan TDM-GCC Compiler
(bagian dari GNU Compiler Collection / GCC). Dev-C++ merupakan IDE
gratis dan full fiture yang didistribusikan dibawah lisensi GNU General
Public License untuk pemrograman C dan C++. Seperti yang sudah
disebutkan diatas IDE merupakan lembar kerja terpadu untuk pengembangan
program.
Program C++ menghasilkan program yang sederhana dan mudah
digunakan, sehingga bisa digunakan untuk memecahkan suatu masalah pada
kehidupan sehari-hari.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
I-2

I.2 Rumusan Masalah


1. Bagaimana cara melakukan pemrograman dengan menggunakan Bahasa
C++?
2. Bagaimana cara membuat program dengan menggunakan aplikasi Dev C+
+?
3. Bagaimana mengimplementasikan pemrograman dengan bahasa C++
dalam kehidupan sehari-hari?
I.3 Tujuan
1. Praktikan mampu memahami pemograman dengan menggunakan bahasa
C++
2. Praktikan mampu membuat program dengan menggunakan aplikasi Dev
C++
3. Praktikan mampu mengimplementasikan pemrograman dengan Bahasa C+
+ dalam kehidupan sehari-hari.
I.4 Manfaat
1. Praktikan dapat mengerti dan memahami bahasa pemrograman C++.
2. Praktikan dapat membuat program dengan bahasa pemrograman C++.
3. Praktikan dapat membuat program dan mengaplikasikannya dalam
kehidupan sehari-hari.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-1

BAB 2 BAB II
Pengenalan C++

Jumlah Pertemuan : 100 menit


Tujuan Praktikum : 1. Mampu memahami pengertian Algoritma dan
Pemrograman dengan menggunakan C++
2. Mampu memahami konsep ‘Include’ pada C++

3. Mampu memahami bentuk umum dari


pemrograman C++
4. Mampu memahami variabel dan tipe data pada
C++
5. Mampu membuat program sederhana dari
pemahaman sebelumnya
Alat / bahan : 1. Seperangkat computer.

2. Perangkat lunak: Dev C++.

3. Modul Praktikum Algoritma dan


Pemrogramman 2020.
II.1 Landasan Teori
Bahasa Pemrograman C++ adalah bahasa Pemrograman Komputer
Tingkat Tinggi (High Level Language), tapi C++ juga dimungkinkan untuk
menulis Bahasa Pemrograman Tinggkat Rendah (Low Level Language) di
dalam pengkodingan.
C++ merupakan penyempurnaan dari bahasa pemrograman
sebelumnya yaitu bahasa C, oleh Bjarne Stroustrup pada tahun 1980. Awal
C++ mempunyai nama yaitu “C with Classes” dan berganti nama menjadi C+
+ pada tahun 1983. Bjarne Stroustrup membuat bahasa pemrograman C++
dengan tambahan fasilitas, yang sangat berguna pada tahun itu sampai
sekarang, yaitu bahasa pemrograman yang mendukung OOP (Object
Oriented Programming).
Setiap program C++ mempunyai bentuk umum seperti dibawah ini :
#include <iostream> //prepocessor directive
using namespace std;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-2

int main() {
Pernyataan_yang_akan_dilakukan;

return 0;
}
Seperti pada umumnya, langkah pertama kita harus berkenalan dengan bahasa
pemrograman c++.
// programku
#include <iostream>
using namespace std;
int main(){
cout<<"Praktikum Algoritma dan Pemrograman 2020"<<endl;
cout<<"Lab. RPL ITN MALANG";
return 0;
}
II.2 Langkah – Langkah Praktikum
1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrogramman.
3. Menjalankan script dari modul.
II.3 Latihan Praktikum ke-1:
Membuat Program biodata siswa
1. Source code :
#include <iostream>
using namespace std;
int main (){
char nama[15];
char nim[10];
char fakultas[20];
char jurusan[20];

cout<<"\tData Inputan "<<endl<<endl;


cout<<"Masukan Nama Lengkap : ";
cin>>nama;
cout<<"Masuka NIM : ";
cin>>nim;
cout<<"Masukan Fakultas : ";
cin>>fakultas;
cout<<"Masukan Jurusan : ";
cin>>jurusan;
cout<<endl;

cout<<"\tBiodata Mahasiswa"<<endl<<endl;
cout<<"Nama : "<<nama<<endl;
cout<<"NIM : "<<nim<<endl;
cout<<"Fakultas : "<<fakultas<<endl;
cout<<"Jurusan : "<<jurusan<<endl;
return 0;
}

2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-3

Gambar 2.1 Hasil Program Biodata siswa


3. Analisa Program
Pada Program tersebut saat di jalankan, cin akan menerima data
inputan program dan menyimpan data inputan ke variable. lalu data yang
ada di variable x di tampilkan dengan cout. Variabel char berguna untuk
menampung karakter angka maupun huruf.
II.4 Tugas praktikum ke-1:
Memperbaiki Program eror
1. Source code :
#include <iostream>
using namespace std;
int main () {
int a;
cout<<"Masukan angka = ";
cin>>a;
cout<<"Angka yang di masukan adalah "<<a;
return 0;
}

2. Tampilan Program :

Gambar 2.2 Hasil memperbaiki Program error


3. Analisa Program

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-4

Pada contoh tugas program kode using namespace sdt; itu salah
yang seharusnya kodenya adalah using namespace std;. Untuk penggunaan
kode penerima data dari input keyboard harus menggunakan cin dan kode
break dicontoh itu salah karena kode tersebut berfungsi untuk
menghentikan proses perulangan, cara yang benar penulisannya adalah int
a; yang artinya a adalah nilai variable yang akan diketik, dan cin>> a
artinya masukan nilai a. Di penulisan akhir kode harus dikasih tanda titik
koma (;) yang artinya setiap perintah harus ada tanda titik koma itu, jika
tidak disertakan maka perintah tidak akan bisa dijalankan.
II.5 Tugas praktikum ke-2:
Membuat Program tampilan nama 3 huruf depan
1. Source code :
#include <iostream>
using namespace std;
int main () {
cout<<"KKKK KKKKK RRRRRRRRRRRRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRRRRRRRRRRRRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKKKKKKKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKKKKKKKKK RRRRRRRRRrRRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRRRRRRRRrRRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR RRRR
IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKK RRRR
RRRR IIII"<<endl;
cout<<"KKKK KKKKK RRRR
RRRR IIII"<<endl;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-5

return 0;
}

2. Tampilan Program :

Gambar 2.3 Hasil Membuat Program tampilan nama 3 huruf depan


3. Analisa Program
Pada program diatas menggunakan kode yang sudah dikreasikan
sehingga menjadi 3 digit nama awal, yang di setiap akhir kode dituliskan
<<endl; yang bertujuan untuk setiap akhir kode akan pindah di bawahnya
bukan di samping atau ditengahnya agar lebih mudah untuk dikreasikan.
II.6 Tugas Praktikum ke-3:
Membuat Program
1. Source code :
#include <iostream>
using namespace std;
int main(){
float A,B;
cout<<"Masukkan Nilai A = ";cin>>A;
cout<<A<<endl;
cout<<"Masukkan Nilai B = ";cin>>B;
cout<<B;
return 0;
}
2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-6

Gambar 2.4 Hasil dari membuat program nilai


3. Analisa Program
Pada program tersebut menggunakan tipe data integer. Variabelnya
menggunakan tipe variabel float a dan b. variabel tersebut dibuat agar nilai
variabelnya merupakan inputan user
II.7 Kesimpulan
1. Bahasa Pemrograman C++ adalah bahasa Pemrograman Komputer
Tingkat Tinggi (High Level Language), tapi C++ juga dimungkinkan
untuk menulis Bahasa Pemrograman Tinggkat Rendah (Low Level
Language) di dalam pengkodingan.
2. C++ merupakan penyempurnaan dari bahasa pemrograman sebelumnya
yaitu bahasa C, oleh Bjarne Stroustrup pada tahun 1980. Awal C++
mempunyai nama yaitu “C with Classes” dan berganti nama menjadi C++
pada tahun 1983.
3. Cara pemakaian atau penulisan kode kode tidak bisa sembarangan
melainkan harus mengikuti prosedur kode itu sendiri agar program yang
dibuat bisa dijalankan tanpa adanya eror.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-7

BAB 3 BAB III


Operator dan Statement I/O

Jumlah Pertemuan : 100 menit

Tujuan Praktikum : 1. Mampu mamahami konsep Operator dan Statemen


I/O
2. Mampu Memahami jenis-jenis Operator
3. Mampu memahami Statement I/O
4. Mampu menerapkan Operator dan Statement I/O
ke dalam program
Alat / bahan : 1. Seperangkat computer.
2. Perangkat lunak: Dev C++
3. Modul Praktikum Algoritma dan Pemrograman
2020.

III.1 Landasan Teori


Operator merupakan simbol yang biasa dilibatkan dalam program
untuk melakukan suatu operasi atau manipulasi. Dengan operator, kita dapat
melakukan operasi perhitungan, perbandingan, manipulasi bit, dan lain-lain.
Sebagai pengenalan, terdapat istilah yang harus diketahui dalam bekerja
dengan operator.
Operator assignment (penugasan) adalah operator yang digunakan
untuk memasukkan atau mengisikan nilai ke dalam suatu variabel. Dalam
bahasa C++ digunakan operator berupa tanda sama dengan ( “ = ” ).
Operator Aritmatika, Operator ini digunakan untuk melakukan sebuah
opearasi penghitungan atau aritmatika. Tugasnya untuk memecahkan
masalah matematika. Pada operator penjumlahan, pengurangan, perkalian,
dan pembagian dilakukan operasi seperti biasa. Sedangkan, yang di maksud
dengan sisa pembagian adalah sisa dari hasil pembagian bukan hasil dari
pembagian.
Operator relasional atau hubungan digunakan untuk membandingkan
hubungan antara dua buah operand. Pada operator ini menghasilkan kondisi
benar atau salah.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-8

Operator increment merupakan operator yang dapat menambahkan


(menaikkan) suatu nilai. Operator increment ini ditandai dengan tanda “+
+”. Sedangkan, operator decrement merupakan operator yang
mengurangkan (menurunkan) suatu nilai. Operator decrement ini ditandai
dengan tanda “ -- ”.
Terdapat dua jenis increment/decrement, yaitu pre-increment adalah
melakukan penambahan nilai sebelum suatu variabel itu diproses, dan post-
increment yaitu melakukan proses terlebih dahulu sebelum dilakukan
penambahan nilai.
Operator majemuk digunakan untuk memendekkan penulisan
operasi penugasan semacam :
x = x + 2 ;
y = y * 4 ;
Menjadi :
x += 2;
y *= 4;
Operator logika adalah operasi matematika yang mengoprasikan
suatu nilai dalam bilangan biner. Operator bitwise akan bekerja dengan
mengubah bilangan desimal menjadi bilangan biner, setelah itu akan
melakukan operasi berdasarkan operator bitwise yang digunakan dan pada
akhirnya nilai tersebut akan diubah menjadi bilangan desimal kembali.
operator ini hanya bisa digunakan pada operand bertipe data int atau char.
1. Shift Left (<<)
Operator Bitwise Shift Left (<<) adalah operator yang akan
menggeser nilai dalam bentuk bilangan biner ke kiri.
Bentuk Penulisan :
Nilai << jumlah;
2. Shift Right (>>)
Operator Bitwise Shift Right (>>) adalah operator yang akan
menggeser nilai dalam bentuk bilangan biner ke kanan.
Bentuk Penulisan :
Nilai >> jumlah;
3. AND (&)

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-9

Membandingkan berdasarkan sifat dari AND yaitu untuk


menghasilkan nilai 1 (true) kedua operand harus bernilai 1(true) jika
tidak akan menghasilkan nilai 0 (false).
Pertama, ubah bilangan desimal menjadi biner, dan setelah
perbandingan selesai dilakukan, hasil dari perbandingan akan diubah ke
bentuk bilangan desimal lagi.
4. OR ( | )
Membandingkan berdasarkan sifat dari OR yaitu untuk mendapatkan
nilai 1 (true) maka salah satu atau semua operand harus bernilai 1
(true), jika semua operand bernilai 0 (false) maka akan mendapatkan
nilai 0 (false). Pertama, ubah bilangan desimal menjadi biner, dan
setelah perbandingan selesai dilakukan, hasil dari perbandingan akan
diubah ke bentuk bilangan desimal lagi.
5. XOR ( ^ )
Membandingkan berdasarkan sifat dari XOR yaitu untuk
mendapatkan nilai 1 (true) maka kedua operand harus memiliki nilai
yang berbeda, jika kedua operand memiliki nilai yang sama maka akan
mendapatkan nilai 0 ( false ).
6. NOT ( ~ )
Operator Bitwise NOT dilambangkan dengan menggunakan simbol
"~", Operator ini digunakan untuk membalik nilai bit dari suatu
operand. Berikut ilustrasi penggunaan Operator Bitwise NOT. Pertama,
ubah bilangan desimal menjadi biner, dan setelah perbandingan selesai
dilakukan, hasil dari perbandingan akan diubah ke bentuk bilangan
desimal lagi.
7. Logika AND ( && )
Operator AND akan menghasilkan nilai 1 (true) jika semua operand-
nya bernilai true. Namun, jika salah satu operand-nya bernilai 0 (false)
maka akan menghasilkan nilai 0 (false).
8. Logika OR ( || )

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-10

Operator OR akan menghasilkan nilai 1 (true), jika salah satu


operand-nya bernilai true, dan hanya akan menghasilkan nilai 0 (false)
jika seluruh operand-nya bernilai 0 (false).
9. Logika NOT ( ! )
Operator NOT akan menghasilkan nilai kebalikan dari operand-nya,
misal, jika operand-nya bernilai 1 (true) maka akan menghasilkan nilai
0 (false).
Operator ternary adalah operator yang digunakan dalam operasi yang
melibatkan tiga buah operand. Adapun operator yang digunakan untuk
menyatakannya adalah operator ?. berikut bentuk umum penggunaan
operator ternary.
Operator I/O, Pada C++ terdapat 2 jenis I/O dasar, yaitu :
a. Statemen Input adalah Statemen / fungsi yang digunakan untuk
menerima data dari keyboard. Operator yang digunakan “>>”, contoh:
cin>> (character in).
b. Statemen Output adalah Statemen yang digunakan untuk menampilkan
data ke layar monitor. Operator yang digunakan “<<”, contoh: cout<<
(character out).
III.2 Langkah – Langkah Praktikum
1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrogramman.
3. Menjalankan script dari modul.

III.3 Latihan Praktikum ke-1:


Buatlah hasil output program berikut dan jelaskan!
1. Source code :
#include <iostream>
using namespace std;
int main()
{
int x=6, y=4;
cout<<"x= "<<x<<endl;
cout<<"y= "<<y<<endl;
x+=y;// “x+=y” sama dengan “x=x+y”
cout<<"Setelah statemen x += y\n";
cout<<"x= "<<x;
return 0;
}

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-11

2. Tampilan Program :

Gambar 3.1 Hasil program increment


3. Analisa Program
Pada Program tersebut menggunakan tipe data int dan
menggunakan operator berupa tanda ( “=” ). sehingga variabel dengan
nilai yang tertera bisa diisi atau dimasukan. lalu variabel tersebut di
jumlahkan dengan rumus agar menghasilkan jawaban yang benar.
III.4 Latihan praktikum ke-2:
Buatlah output dari program di bawah ini beserta analisa program.
1. Source code :
#include <iostream>
using namespace std;
int main()
{
int x = 2;
cout<<"nilai x = "<<x<<endl;
x += 3;
cout<<"Setelah x += 3, x = "<<x<<endl<<endl;
cout<<"nilai x setelah di tambah 3 adalah
"<<x<<endl;
x *= 2;
cout<<"Setelah x *= 2, x = "<<x<<endl<<endl;
cout<<"nilai x setelah di kalikan 2 adalah
"<<x<<endl;
x++;
cout<<"Setelah x++ , x = "<<x<<endl;
return 0;
}

2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-12

Gambar 3.2 Hasil Program incremnet dan perkalian


3. Analisa Program
Program dengan variabel 2 akan diooprasikan penugasan dengan
operator penjumlahan. maka untuk memendekan penulisan menggunakan
‘+=’. begitupun yang lainya dengan menggunakan rumu-rumus yang
sesuai.
III.5 Latihan praktikum ke-3:
Hitunglah :
a. 9 >> 2 = c. 16 ^ 3 = e. ~ 567 =
b. 7 << 3 = d. 5 & 3 =
1. Source code :
#include <iostream>
using namespace std;
int main (){
int a=2, b=3, c=5, d=7, e=9, f=16, g=567;
cout<<(e>>a)<<endl;
cout<<(d<<b)<<endl;
cout<<(f^b)<<endl;
cout<<(c&b)<<endl;
cout<<(~567)<<endl;
return 0;
}

2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-13

Gambar 3.3 Hasil menghitung Program


3. Analisa Program
Program diatas menggunakan tipe data integer yang masing-masing
nilai variabelnya sudah berisi nilai. Untuk memahami program operator
bitwise harus dipahami dahulu angka bilangan biner agar mudah
membaca hasil dari program. Jika rumus-rumusnya benar program akan
menampilkan hasil program.
III.6 Tugas Praktikum ke-1:
Identifikasi kesalahan kode program di bawah ini. Analisa kesalahan
kode beserta kode program yang sudah benar dan tampilannya.
1. Source code :
#include <iostream>
using namespace std;

int main (){


int tiket=115000,tot_penum,tot_byr,byr,kem;
cout<<"\tTiket BUS HayITN"<<endl;
cout<<"Jumlah Penumpang : ";cin>>tot_penum;
tot_byr = tot_penum * tiket;
cout<<"Total Pembayaran : "<<tot_byr<<endl;
cout<<"Pembayaran : ";cin>>byr;
kem = byr-tot_byr;
cout<<"Kembalian : "<<kem;
return 0;
}

2. Tampilan Program :

Gambar 3.4 Hasil Program Tiket Bus


3. Analisa Program
Pada program diatas tipe data yang digunakan yaitu integer. Lalu
variabel di isikan nilai sesuai perintah dan ada juga yang berupa inputan
user. Setelah semua statemen terbaca mulai dari atas hingga bawah,
program akan menampilkan hasilnya terutama perhitungan seperti
variabel kem =byr-tot_byr.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-14

III.7 Tugas Praktikum ke-2:


Buatlah program untuk men konversikan jam ke detik, masukan jam,
menit, detik merupakan inputan user.
1. Source code :
#include <iostream>
using namespace std;
int main (){
int j, m, d, jam, menit, hasil;
cout<<"*********************************"<<endl;
cout<<"* \tKonversi Jam ke Detik\t*"<<endl;
cout<<"*********************************"<<endl;
cout<<endl;
cout<<"Masukan jam : ";cin>>j;
cout<<"Masukan Menit : ";cin>>m;
cout<<"Masukan Detik : ";cin>>d;
cout<<j<<" Jam "<<m<<" Menit "<<d<<" Detik "<<endl;
jam=j*3600;
menit=m*60;
hasil=jam+menit+d;
cout << "Konversi ke Detik : "<<hasil <<"
detik"<<endl;
return 0;
}

2. Tampilan Program :

Gambar 3.5 Hasil Program Konversi Jam


3. Analisa Program
Untuk mencari konversi jam ke menit memakai patokan rumus 1 jam
3600 detik, sedangkan 1 menit 60 detik, dan ditambah detiknya jika ingin
konversi jam ke detik. Variabel cin j, m, d adalah sebagai inputan user.
Dan statemen perhitungan ditulis seperti jika mengkonversikan
jam=j*60, dan rumus-rumus lainnya.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-15

III.8 Tugas Praktikum ke-3:


Membuat sebuah program tentang materi yang dipelajari pada bab 2
beserta hasil tampilan dan analisa program !
1. Source code :
#include <iostream>
using namespace std;
int main(){
int q,w,e,r,t,y,a,s,d;
cout<<" NILAI A = ";
cin>>a;
cout<<" NILAI S = ";
cin>>s;
cout<<" NILAI D = ";
cin>>d;
q = a==s;
w = s!=d;
e = d<a;
r = d>s;
t = a>=d;
y = s<=a;
cout<<"\tJika benar '1' Jika salah '0' "<<endl;
cout<<a<<" == "<<s<<" : "<<q;
cout<<" (Sama Dengan) "<<endl;
cout<<s<<" != "<<d<<" : "<<w;
cout<<" (Tidak sama dengan) "<<endl;
cout<<d<<" < "<<a<<" : "<<e;
cout<<" (Lebih Kecil) "<<endl;
cout<<d<<" > "<<s<<" : "<<r;
cout<<" (Lebih besar) "<<endl;
cout<<a<<" >= "<<d<<" : "<<t;
cout<<" (Lebih besar atau sama dengan) "<<endl;
cout<<s<<" <= "<<a<<" : "<<y;
cout<<" (Lebih kecil atau sama dengan) "<<endl;
return 0;
}

2. Tampilan Program :

Gambar 3.6 Hasil Program perbandingan nilai


3. Analisa Program

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-16

Pada program diatas dilakukan operasi menggunakan operator


relasional. Bernilai 0 jika salah (false) dan 1 jika benar (true). Fungsi
utama tetap menggunakan tipe data integer dengan variabel q, w, e, r, t,
y, a, s, d. lalu perhitungan program akan dibaca di statemen progam.
III.9 Kesimpulan
1. Operator merupakan simbol yang biasa dilibatkan dalam program untuk
melakukan suatu operasi atau manipulasi dan dapat melakukan operasi
perhitungan, perbandingan, manipulasi bit, dan lain-lain.
2. Pada dasarnya, ada tiga jenis operator dalam pemrograman C++ seperti
Unary, Binary, dan Ternary.
3. Ada beberapa macam operator seperti Operator Assingment, Operator
Aritmatika, Operator Relasional, Operator Naik dan Turun, Operator
Majemuk, Operator Bitwise, dan Operator Ternary.
4. Pada C++ terdapat 2 jenis I/O dasar, yaitu Statemen Input adalah
Statemen / fungsi yang digunakan untuk menerima data dari keyboard.
Operator yang digunakan “>>”, contoh: cin>> (character in), dan
Statemen Output adalah Statemen yang digunakan untuk menampilkan
data ke layar monitor. Operator yang digunakan “<<”, contoh: cout<<
(character out).

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-17

BAB 4 BAB IV
Percabangan

Jumlah Pertemuan : 100 menit


Tujuan Praktikum : 1. Mampu memahami konsep tentang Kondisi
2. Mampu memahami konsep IF dan Switch Case
3. Mampu membuat program dengan menambahkan
konsep Kondisi.
Alat / bahan : 1. Seperangkat computer.
2. Perangkat lunak: Dev C++
3. Modul Praktikum Algoritma dan Pemrograman
2020.
IV.1 Landasan Teori
IV.1.1 Percabangan IF
Salah satu permasalahan yang pasti akan dijumpai dalam
pembuatan program adalah suatu percabangan. Percabangan yang
dimaksud di sini adalah suatu pemilihan statement yang akan
dieksekusi di mana pemilihan tersebut didasarkan atas kondisi
tertentu.
Dalam kehidupan sehari-hari terkadang kita dihadapkan pada
kondisi dimana kita harus memilih suatu tindakan. Sebagai contoh
ketika anda ingin menonton film di bioskop. Konsepnya seperti ini:
Jika anda memiliki tiket, maka anda boleh masuk untuk menonton
film.
Nah, disana ada sebuah kondisi yang harus terpenuhi yaitu
memiliki tiket. Artinya jika anda tidak memiliki tiket (kondisi =
FALSE) maka anda tidak diperbolehkan untuk menonton film di
bioskop. Kurang lebih itulah contoh nyata konsep percabangan.
Intinya selama kondisi terpenuhi maka program akan
dijalankan. Begitu juga dalam membuat program, kita akan sedikit
banyak berurusan dengan pilihan. Disini kita akan mengenal dua
fungsi percabangan yaitu if else dan switch case.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-18

Struktur if Satu Kondisi Struktur ini merupakan struktur yang paling


sederhana karena hanya melibatkan satu kondisi yang akan
diperiksa. Bentuk umum dari struktur percabangan yang memiliki
satu kondisi adalah sebagai berikut :
if (kondisi) {
pernyataan1;
pernyataan2;
// kode yang di jalankan jika pernyataan
benar
......
}
Pernyataan IF diatas mempunyai pengertian, “Jika kondisi
bernilai benar, maka perintah/pernyataan akan dikerjakan dan jika
tidak memenuhi syarat maka akan diabaikan”.
Jika ’pernyataan’ yang dijalankan hanya sebaris, maka tanda
{} boleh ditiadakan. Seperti dibawah ini :
if (kondisi) pernyataan;
Kita juga dapat menggunakan operator logika ||(OR) dan &&(AND)
dalam menentukan sebuah ekspresi.
Struktur if Dua Kondisi Pada struktur ini terdapat sebuah
statemen khusus yang berguna untuk mengatasi kejadian apabila
kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah).
Bentuk umum dari sturuktur if adalah sebagai berikut :
if (kondisi) {
pernyataan_jika_kondisi_terpenuhi;
.....
}
else{
pernyataan_jika_kondisi_tidak_terpe
nuhi;
.....
}
Struktur if Tiga Kondisi atau Lebih Percabangan ini
merupakan perluasan dari struktur yang memiliki dua kondisi, yaitu
dengan menyisipkan satu atau lebih kondisi ke dalamnya. Untuk
struktur yang memiliki tiga kondisi atau lebih, bentuk umum dari
struktur ini adalah adalah seperti yang tampak di bawah ini.
if (kondisi1) {
statemen_jika_kondisi_terpenuhi;
} else if (kondisi2){
statemen_jika_kondisi2_terpenuhi;
}

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-19

else if (kondisi3){
statemen_jika_kondisi3_terpenuhi;
}
.....
else {
statemen_jika_semua_kondisi_diatas_
tidak_terpenuhi;
}

IV.1.2 Percabangan Switch


Selain menggunakan statemen if, C++ juga menawarkan
untuk dapat melakukan percabangan (pemilihan) dengan
menggunakan statemen switch. Pernyataan switch adalah pernyataan
yang digunakan untuk menjalankan salah satu pernyataan dari
beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah
ungkapan dan nilai penyeleksian. Pernyataan if…else if jamak dapat
dibangun dengan pernyataan switch.
Bentuk umum dari Switch :
switch (ekspresi)
{
case konstanta1:
pernyataan1;
break;
case konstanta2:
pernyataan2;
break;
case konstanta3:
pernyataan3;
break;
default:
pernyataan_lain;}

Hal-hal yang perlu diperhatikan :


1. Dibelakang keyword case harus diikuti oleh sebuah konstanta,
tidak boleh diikuti oleh ekspresi ataupun variabel.
2. Konstanta yang digunakan bertipe int atau char.
3. Jika bentuknya seperti diatas maka apabila ekspresi sesuai
dengan konstanta2 maka pernyataan2, pernyataan3 sampai
dengan pernyataan lain dieksekusi. Untuk mencegah hal
tersebut, gunakan keyword break. Jika keyword break digunakan
maka setelah pernyataan2 dieksekusi program langsung keluar
dari pernyataan switch. Selain digunakan dalam switch, keyword

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-20

break banyak digunakan untuk keluar dari pernyataan yang


berulang ( looping ).
4. Pernyataan lain (default) dieksekusi jika konstanta1 sampai
konstanta N tidak ada yang memenuhi ekspresi.
IV.2 Langkah – Langkah Praktikum
1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrograman.
3. Menjalankan script dari modul.
IV.3 Latihan Praktikum ke-1: (IF ELSE)
Buatlah program untuk mencari apakah bilangan tersebut GENAP atau
GANJIL, dimana bilangan merupakan inputan user.
1. Source code :
#include <iostream>
using namespace std;
int main(){
int bil;
cout<<"Masukan Bilangan : ";
cin>>bil;
cout<<endl;
if (bil%2==0){
cout<<bil<<" Adalah bilangan Genap"<<endl;
}else {
cout<<bil<<" Adalah bilangan Ganjil"<<endl;
}
return 0;}

2. Tampilan Program :

Gambar 4.1 Hasil Program Ganjil Genap


3. Analisa Program

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-21

Ketika menginput bilangan pada operator if akan ditanya apakah


hasil inputan adalah bilangan habis dibagi 2 dan sama dengan 0 (bil
%2==0). jika benar maka bilangan tersebut genap. jika salah maka
akan berpindah ke else yang berarti bilangan ganjil.
IV.4 Latihan praktikum ke-2: (IF ELSE)
Buat sebuah program untuk menentukan pengelompokan umur
berdasarkan umur yang di inputkan, ketentuan nilai :
0-5 Pengelompokan umur adalah “Masa Balita”
6-11 Pengelompokan umur adalah “Masa Kanak-kanak”
12-16 Pengelompokan umur adalah “Masa Remaja Awal”
17-25 Pengelompokan umur adalah “Masa Remaja Akhir”
26-35 Pengelompokan umur adalah “Masa Dewasa Awal”
36-45 Pengelompokan umur adalah “Masa Dewasa Akhir”
46-55 Pengelompokan umur adalah “Masa Lansia Awal”
56-65 Pengelompokan umur adalah “Masa Lansia Akhir”
>=66 Pengelompokan umur adalah “Masa Manula”.
1. Source code :
#include <iostream>
using namespace std;
int main(){
int usia;
cout<< "Pengelompokan Umur"<<endl;
cout<< "Masukan Usia : ";
cin>>usia;
cout<< "Usia anda : "<<usia<<" Tahun"<<endl;
if(usia<0)
{
cout<<"Masukan umur salah"<<usia<<endl;
}
else if(usia>=0, usia<=5)
{
cout<<"Masa Balita"<<endl;
}
else if(usia>=6, usia<=11)
{
cout<<"Masa Kanak-Kanak"<<endl;
}
else if(usia >=12, usia<=16)
{
cout <<"Masa Remaja Awal"<<endl;
}
else if(usia >=17, usia<=25)
{
cout <<"Masa Remaja Akhir"<<endl;
}

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-22

else if(usia >=26, usia<=35)


{
cout <<"Masa Dewasa Awal"<<endl;
}
else if(usia >=36, usia<=45)
{
cout <<"Masa Dewasa Akhir"<<endl;
}
else if(usia >=46, usia<=55)
{
cout <<"Masa Dewasa Lansia Awal"<<endl;
}
else if(usia >=56, usia<=65)
{
cout <<"Masa Lansia Akhir"<<endl;
}
else if(usia >=66)
{
cout <<"Masa Manula"<<endl;
}
return 0;
}

2. Tampilan Program :

Gambar 4.2 Hasil Program Pengelompokan Umur


3. Analisa Program
Ketika mengingputkan sebuah bilangan kurang dari 0 maka
program akan selesai karena itu adalah if. jika lebih dari 0 atau angka-
angka lainya maka else if akan berjalan sesuai dengan apa yang sudah kita
input. Progam tetap membaca ulang dari atas kebawah.
IV.5 Latihan praktikum ke-3: (SWITCH CASE)
Membuat program ITN Train
1. Source code :
#include <iostream>
using namespace std;
int main (){
int kereta,jumlah,total,bayar,kembali;
cout<<"\t ITN TRAIN"<<endl;
cout<<"1. Ekonomi"<<endl;
cout<<"2. Bisnis"<<endl;
cout<<"3. Eksekutif"<<endl;
cout<<"Masukan Pilihan Anda : ";cin>>kereta;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-23

cout<<"=========================================";
switch(kereta){
case 1 :
cout<<"\nKelas Ekonomi"<<endl;
cout<<"Harga Kelas Ekonomi :
Rp.150.000"<<endl;
cout<<"Masukan Jumlah Penumpang :
";cin>>jumlah;
cout<<"Total Pembayaran :
"<<jumlah*150000<<endl;
total=jumlah*150000;
cout<<"Masukan Pembayaran : Rp.";cin>>bayar;
kembali=bayar-total;
cout<<"Kembalian : Rp."<<kembali;
break;
case 2 :
cout<<"\nKelas Bisnis"<<endl;
cout<<"Harga Kelas Bisnis :
Rp.275.000"<<endl;
cout<<"Masukan Jumlah Penumpang :
";cin>>jumlah;
cout<<"Toal Pembayaran :
"<<jumlah*275000<<endl;
total=jumlah*275000;
cout<<"Masukan Pembayaran : Rp.";cin>>bayar;
kembali=bayar-total;
cout<<"Kembalian : Rp."<<kembali;
break;
case 3 :
cout<<"\nKelas Eksekutif"<<endl;
cout<<"Harga Kelas Eksekutif :
Rp.300.000"<<endl;
cout<<"Masukan Jumlah Penumpang :
";cin>>jumlah;
cout<<"Toal Pembayaran :
"<<jumlah*300000<<endl;
total=jumlah*300000;
cout<<"Masukan Pembayaran : Rp.";cin>>bayar;
kembali=bayar-total;
cout<<"Kembalian : Rp."<<kembali;
break;
default :
cout<<"\nPilihan Anda Tidak Tersedia";
}
return 0;
}

2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-24

Gambar 4.3 Hasil Program ITN Train


3. Analisa Program
Pada contoh program switch case diatas, Dimana terdapat 3
pilihan jenis kelas yang dapat dipilih oleh user dengan perbedaan harga
pada masing-masing kelasnya. User akan menginput pilihan kelas nya dan
disimpan pada variabel kereta, nantinya nilai dari variabel ini akan
dibandingkan pada setiap case pada blok switch. Apabila salah
satu case  bernilai true maka pernyataan pada case tersebut yang
dijalankan. User juga akan memasukan jumlah tiket yang ingin dibeli dan
akan disimpan nilainya pada variabel jumlah. Nilai total bayar akan
didapatkan dari jumlah yang dikali dari harga tiket tersebut.
IV.6 Tugas Praktikum ke-1: (IF ELSE)
Lengkapi pengkondisian kode program di bawah ini dan tampilan
program beserta analisanya. dengan ketentuan berikut :
a. Username dan Password di buat oleh praktikan (bebas)
b. Jika user menginput username dan password benar, maka menampilkan
output “Anda Berhasil Login”
c. Jika user menginput username salah dan password benar, maka
menampilkan output “Username Anda Salah”
d. Jika user menginput username benar dan password salah, maka
menampilkan output “Password Anda Salah”
e. Jika user menginput username dan password salah, maka menampilkan
output “Username dan Password Anda Salah”.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-25

1. Source code :
#include <iostream>
using namespace std;
int main(){
string username,password;
cout<<"\tSISTEM LOGIN SEDERHANA"<<endl;
cout<<"Masukkan USERNAME : "; cin>>username;
cout<<"Masukkan PASSWORD : "; cin>>password;
if(username == "admin" && password == "admin"){
cout<<"Anda Berhasil Login"<<endl;}
else if (username == "user" && password ==
"admin"){
cout<<"Username Anda Salah"<<endl;}
else if (username == "admin" && password ==
"user"){
cout<<"Password Anda Salah"<<endl;}
else {
cout<<"Username dan Password Anda
Salah"<<endl;}
return 0;
}

2. Tampilan Program :

Gambar 4.4 Hasil dari Program Sistem Login Sederhana


3. Analisa Program
Peraturan dalam program ini yaitu user memasukan username dan
password yang sudah terdaftar di dalam program. jika username &
password benar maka program akan mencetak "Anda berhasil login". dan
jika username & password yang di masukan tidak sama dengan program,
maka akan mencetak “Username dan Password Anda Salah”.
IV.7 TugasPraktikum ke-2: (IF ELSE)
Buatlah program dimana suatu perusahaan memberikan komisi
kepada para salesman dengan ketentuan sebagai berikut :
a. Bila salesman dapat menjual barang kurang dari Rp. 20.000,- , akan
diberikan komisi Rp. 10% dari pendapatan yang diperoleh hari itu.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-26

b. Bila salesman dapat menjual barang diatas Rp. 20.000,- , akan diberikan
uang jasa sebesar Rp. 5.000,- ditambah dengan uang komisi Rp. 15%
dari pendapatan yang diperoleh hari itu.
c. Bila salesman dapat menjual barang diatas Rp. 50.000,- , akan diberikan
uang jasa sebesar Rp. 10.000,- ditambah dengan uang komisi Rp. 20%
dari pendapatan yang diperoleh hari itu.
d. Bila salesman dapat menjual barang diatas Rp. 100.000,- , akan diberkan
uang jasa sebesar Rp. 20.000,- ditambah dengan uang komisi Rp. 25%
dari pendapatan yang diperoleh hari itu.
1. Source code :
#include <iostream>
using namespace std;
int main(){
float pdpt,jasa=0,komisi=0,total=0;
cout<<"Pendapatan hari ini : Rp.";cin>>pdpt;
if (pdpt>=0 && pdpt<20000)
{
komisi=0.1*pdpt;
}
else if (pdpt>=20000 && pdpt<50000)
{ jasa=5000;
komisi=0.15*pdpt;
}
else if (pdpt>=50000 && pdpt<100000)
{ jasa=10000;
komisi=0.2*pdpt;
}
else if (pdpt>=100000)
{ jasa=20000;
komisi=0.25*pdpt;
}
else
{ jasa=0;
komisi=0;
}
total=komisi+jasa;
cout<<"uang Jasa : Rp."<<jasa<<endl;
cout<<"Uang Komisi : Rp."<<komisi<<endl;
cout<<"==============================="<<endl;
cout<<"hasil Total : Rp."<<total<<endl;
return 0;}

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-27

Gambar 4.5 Hasil Program Menghitung Komisi


3. Analisa Program
Pada program tersebut menggunakan tipe data float untuk
menentukan bilangan pecahan. Dan juga menggunakan operator if-else
bertingkat. Agar mendapatkan hasil total semua maka komisi dikali nilai
pendapatan lalu hasil nilai komisi tersebut ditambah nilai jasa.
IV.8 Tugas Praktikum ke-3: (SWITCH CASE)
Memperbaiki program error
1. Source code :
#include <iostream>
using namespace std;
int main(){
int ph;
cout<<"\tProgram Menentukan Jenis Larutan"<<endl<<endl;
cout<<"Masukan Ph larutan : ";cin>>ph;
cout<<"========================"<<endl;
switch (ph){
case 1 ... 6 :
cout<<"Larutan Bersifat Asam";
break;
case 7 :
cout<<"Larutan Bersifat Netral";
break;
case 8 ... 14 :
cout<<"Larutan Bersifat Basa";
break;
default :
cout<<"Pilihan tidak tersedia";
}
return 0;
}

2. Tampilan Program :

Gambar 4.6 Hasil Program Menentukan Jenis Larutan


3. Analisa Program
Program diatas menggunakan range di switch case. Misal ingin
menginput nilai 1 sampai 6, maka dapat ditulis dengan 1 ... 6. Jika
inputan tidak memenuhi di case pertama maka program akan membaca

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-28

di case selanjutnya. Jika semua nilai tidak berada dalam daftar fungsi
case maka program akan menampilka fungsi default sebagai pengganti
case.
IV.9 Kesimpulan
1. Struktur If satu kondisi adalah struktur yang hanya melibatkan satu
kondisi yang akan diperiksa, jika kondisi bernilai benar maka perintah
akan dikerjakan dan jika tidak memenuhi syarat akan diabaikan.
2. Struktur If dua kondisi mempunyai sebuah statemen khusus yang
berguna untuk mengatasi kejadian apabila kondisi yang diperintahkan
tidak memenuhi syarat.
3. Struktur If tiga kondisi atau lebih merupakan perluasan dari struktur
yang memiliki dua kondisi, yaitu dengan menyisipkan satu atau lebih
kondisi kedalamnya.
4. Operator Ternary juga bisa merupakan salah satu dari tiga sifat
Operator, operator yang akan melibatkan 3 buah operand dalam satu
operasi. Terdapat juga Operator ternary berfungsi untuk mengevaluasi
ekspresi dan menentukan hasil berdasarkan kondisi. jika kondisi tersebut
1 ( true ) maka akan memilih pilihan ke satu, jika 0 ( false ) maka akan
memilih pilihan ke dua.
5. Statemen switch juga bisa melakukan percabangan (pemilihan).
6. Perbedaan switch case dengan if else, switch case digunakan pada
kondisi untuk menyederhanakan penulisan.
7. Biasanya switch case digunakan pada struktur percabangan yang
penulisan setiap kondisinya berupa 1 digit number.
8. Pernyataan switch adalah pernyataan yang digunakan untuk
menjalankan salah satu pernyataan dari beberapa kemungkinan
pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai
penyeleksian.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-29

BAB 5 BAB V
Perulangan

Jumlah Pertemuan : 100 menit


Tujuan Praktikum : 1. Mampu memahami konsep perulangan
2. Mampu melakukan perulangan dengan bantuan
“For”
3. Mampu melakukan perulangan dengan bantuan
“While”
4. Mampu melakukan perulangan dengan bantuan
“Do-While”
5. Mampu membuat program berdasarkan perulangan
Alat / bahan : 1. Seperangkat computer.
2. Perangkat lunak: Dev C++
3. Modul Praktikum Algoritma dan Pemrograman
2020.
V.1 Landasan Teori
V.1.1 Perulangan FOR
Perulangan data atau yang biasa disebut dengan “looping”
adalah proses yang dilakukan secara berulang-ulang sampai batas yang
ditentukan. Perulangan digunakan untuk mengulang sekumpulan
perintah sesuai dengan kondisi yang diberikan. Dengan loop, suatu
proses yang berulang dapat diimplementasikan menggunakan
statement-statement yang pendek, tanpa harus menuliskan statement
berulang-ulang. Dalam bahasa C++ terdapat tiga buah jenis struktur
pengulangan, yaitu :
1. Struktur For
2. Struktur While
3. Struktur Do-While
4. Struktur Nested For
Struktur For merupakan salah satu bentuk fungsi looping,
digunakan untuk melaksanakan pernyataan berulang kali terhadap

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-30

sejumlah nilai yang telah ditetapkan. Looping yang dilakukan oleh for
telah diketahui batas awal, batas kondisi dan perubahannya. Tipe data
dari variabel yang akan digunakan sebagai indeks haruslah tipe data
yang mempunyai urutan yang teratur, misalnya tipe data int (0,1,2,…)
atau char(‘a’,’b’,’c’,...).
Struktur For dengan Banyak Variabel, Struktur for di dalam C++ dapat
juga melibatkan lebih dari satu variabel namun yang jelas satu
diantaranya akan digunakan sebagai indeks pengulangan. Untuk
memahami konsepnya, berikut ini disajikan sebuah contoh program
dimana di dalamnya terdapat strukur for yang melibatkan dua buah
variabel, yaitu A, B dan C.
V.1.2 Perulangan While, Do-While
Struktur perulangan WHILE adalah pengulangan yang
melakukan pemeriksaan kondisi di awal blok struktur. Pengulangan
hanya akan dilakukan jika kondisi yang didefinisikan di dalamnya
terpenuhi (bernilai benar). Hal ini berarti jika kondisi yang
didefinisikan tidak terpenuhi (bernilai salah) maka statemen-statemen
yang terdapat dalam blok pengulangan pun tidak akan pernah
dieksekusi oleh program.
Bentuk umumnya :
while (kondisi) {
statemen_statemen_yang_akan_diulang;
perubahan;
}
Algoritma Program :
a. Sebuah while loop mengecek kondisi.
b. Selama kondisi yang dicek bernilai true, kode di dalam while loop di
jalankan.
c. Kondisi di cek lagi.
d. Proses ini berlanjut hingga saat kondisi bernilai false.
e. Saat kondisi yang di cek bernilai false, perulangan berakhir.
Struktur Do-While Berbeda dengan struktur while yang
melakukan pemeriksaan kondisi di awal blok perulangan, pada struktur
do-while kondisi justru ditempatkan di bagian akhir. Hal ini tentu

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-31

menyebabkan struktur pengulangan ini minimal akan melakukan satu


kali proses walaupun kondisi yang didefinisikan tidak terpenuhi
(bernilai salah).
Bentuk umum :
do {
statemen_yang_akan_diulang;
perubahan;
} while (kondisi);
Algoritma Program :
a. Kode didalam perulangan di jalankan.
b. kemudian kondisi di cek.
c. Selama kondisi yang dicek bernilai true, kode di dalam do di
jalankan.
d. Kondisi di cek lagi.
e. Proses ini berlanjut hingga saat kondisi bernilai false.
Saat kondisi yang di cek bernilai false, perulangan berakhir.
V.1.3 Perulangan Nested For
Pernyataan nested for adalah suatu perulangan for di dalam
perulangan for yang lain. Di dalam penggunaan nested for, perulangan
yang di dalam terlebih dahulu dihitung hingga selesai, kemudian
perulangan yang di luar diselesaikan.
Biasanya, nested loops digunakan untuk membuat aplikasi
matematika yang menggunakan baris dan kolom. Loop luar, biasanya
digunakan untuk mendefinisikan baris. Sedangkan loop dalam,
digunakan untuk mendefinisikan kolom.
Bentuk umum :
for (inisialisasi1 ; kondisi1 ; perubahan1)
{
for (inisialisasi2 ; kondisi2 ;
perubahan2)
{
Statement;
}
}

V.2 Langkah – Langkah Praktikum


1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrogramman.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-32

3. Menjalankan script dari modul.


V.3 Latihan Praktikum ke-1: (FOR)
Buat program dengan hasil seperti dibawah ini :
a. 5 6 7 8 9
b. 5 4 3 2 1
c. 1 2 4 7 11
d. A C E G I

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-33

1. Source code :
#include <iostream>
using namespace std;

int main(){
int a,b,c,d;
char F;

for(a=5;a<=9;a++){
cout<<a<<"\t";}
cout<<endl;

for (b=5;b>0;b--){
cout<<b<<"\t";}
cout<<endl;

for (c=1,d=0;c<=11;c++,d++)
{cout<<c<<"\t";
c+=d;}
cout<<endl;

for (F='A'; F<='I'; F+=2)


{cout<<F<<"\t";}
return 0;
}

2. Tampilan Program :

Gambar 5.1 Hasil Program Looping for


3. Analisa Program
Program menggunakan variabel char untuk menyimpan nilai dalam
bentuk karakter tunggal seperti ‘a’. lalu for berguna untuk mengurutkan
data dengan teratur, seperti di program diatas for ke 1 dan ke 2
mengurutkan data dari kecil ke besar atau sebaliknya. For ke 4
menggunakan 2 variabel untuk menghitung nilai yang di masukan sampai
selesai. program akan lanjut ke perintah berikutnya saat nilai yang
dimasukan sudah terpenuhi, begitupun juga sama dengan for ke 4.
V.4 Latihan praktikum ke-2: (WHILE)
Latihan 2
1. Source code :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-34

#include <iostream>
using namespace std;
int main()
{
char X='o';
int Y=1,Z=2;

while (X<='s' , Z<=10)


{
cout<<"Nilai X = "<<X<<endl;
cout<<"Nilai Y = "<<Y<<endl;
cout<<"Nilai Z = "<<Z<<endl<<endl;
X++,Y+=2,Z+=2;
}
return 0;}

2. Tampilan Program :

Gambar 5.2 Hasil Program Latihan 2


3. Analisa Program
Pada program diatas, terdapat variabel X bertipe char akan
digunakan sebagai indeks pengulangan. variabel Y dan Z akan digunakan
untuk menampung sebuah nilai, rumus dari program ini yaitu variabel
ditambah 2 yang artinya nilai variabel akan ditambahkan 2 seperti program
diatas. jika nilai tidak terpenuhi maka program akan berhenti, jika nilai
memenuhi maka program akan berjalan sampai selesai.

V.5 Latihan praktikum ke-3: (NESTED FOR)


Buatlah program dengan hasil sebagai berikut :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-35

* *

* * *

* * * *

1. Source code :
#include <iostream>
using namespace std;
int main (){
for (int x=1 ; x<=4 ; x++){
for (int y=4 ; y>=x ; y--){
cout << " ";}

for (int z=1 ; z<=x ; z++){


cout << "*";}
cout <<endl;}
return 0;
}

2. Tampilan Program :

Gambar 5.3 Hasil Program Latihan Praktikum 2


3. Analisa Program
Program diatas dengan variabel x=1, jika terpenuhi program akan
melakukan output horizontal y=4 sampai y bernilai 1. Lalu kondisi
variabel z dimulai dari jika z=1 maka z kurang sama dengan x yaitu 4 dan
perubahan z++. Maka program akan berjalan kebawah sampai x bernilai 4.
V.6 Tugas Praktikum ke-1: (FOR)
Buatlah program untuk menentukan bilangan genap dan ganjil  mulai
dari 1 hingga data ke n. nilai n adalah inputan dari user.
1. Source code :
#include <iostream>
using namespace std;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-36

int main()
{
int nilai,a;
cout<<"Masukkan banyak data = ";cin >>nilai;
cout<<endl;
cout << "Bilangan GENAP antara 1 s/d "<<nilai<<" adalah :
"<<endl;
for(a=2; a<=nilai; a++){
if(a%2==0){
cout<<a<<"\t";}
}
cout<<endl;
cout << "Bilangan GANJIL antara 1 s/d "<<nilai<<" adalah :
"<<endl;
for(a=1; a<=nilai; a++){
if(a%2!=0){
cout<<a<<"\t";}
}
return 0;
}

2. Tampilan Program :

Gambar 5.4 Hasil Program Menentukan Bilangan Genap dan Ganjil


3. Analisa Program
Bilangan akan dimulai dari 1 hingga nilai setiap bilangan di cek
seperti cara menentukan bilangan ganjil/genap. Apabila bilangan itu ganjil
maka cetak bilangan tersebut. Sama halnya dengan bilangan genap. Cukup
diubah bagian if dan a dimulai dari 2.
V.7 Tugas Praktikum ke-2: (DO WHILE)
Buat program dengan hasil seperti dibawah ini dengan ketentuan
berikut :
a. Kode program dan Tampilan.
b. Apabila program menginput bilangan genap, maka perulangan akan terus
di jalankan.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-37

c. Apabila user menginput bilangan ganjil, maka program selesai.


1. Source code :
#include <iostream>
using namespace std;
int main (){
int a;
while (a%2==0){
cout<<"Masukkan Bilangan Genap : ";cin>>a;
if (a%2==0){
cout<<"Benar"<<endl;
continue;
a++;
}
else {
cout<<"Salah"<<endl;}
}
cout<<"Program Selesai";
return 0;
}

2. Tampilan Program :

Gambar 5.5 Hasil Program Perulangan Bilangan Genap


3. Analisa Program
Pada program diatas jika kondisi di program terpenuhi atau bernilai
benar maka program akan mengulang atau loop di kode while lalu
mencetak statemennya. Jika kondisi tidak terpenuhi atau bernilai salah
maka program tidak akan menjalankan statemennya dan perulangan
berakhir.
V.8 Tugas Praktikum ke-3: (NESTED FOR)
Membuat sebuah program tentang materi yang dipelajari pada bab 7
1. Source code :
#include <iostream>
using namespace std;
main(){
int i,j;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-38

for (i=1;i<=3;i++)
for(j=1;j<=4;j++)
cout<<"i="<<i<<" j="<<j<<endl;
}

2. Tampilan Program :

Gambar 5.6 Hasil Program Tugas Praktikum 3


3. Analisa Program
Pada program diatas terjadi perulangan sebanyak 12 kali. Dapat
dihitung bahwa perulangan for yang dengan variable j terjadi perulangan
sebanyak 4 kali, sedangkan setiap perulangan variable j berada dalam
perulangan degan variabel I. Dengan demikian terjadi perulangan 4x3=12.
Standar ANSI mengizinkan kita untk membuat for bersarang sampai level
15, artinya sebuah perulangan for dapat memuat struktur for lainnya
sampai 14 for.
V.9 Kesimpulan
1. Perulangan data atau looping adalah proses yang dilakukan secara
berulang-ulang sampai batas yang inputan user.
2. Struktur Pengulangan for digunakan untuk memproses pengulangan sesuai
dengan jumlah pengulanganya. Struktur for memiliki kelebihan yaitu lebih
efiisien dikarenakan susunanya yang lebih sederhana dan lebih mudah
dipahami.
3. Struktur for di dalam c++ dapat juga dilibatkan lebih dari satu variabel ,
namun yang jelas satu diantaranya akan digunakan sebagai indeks
pengulangan.
4. Struktur perulangan while adalah pengulangan yang melakukan
pemeriksaan kondisi di awal blok struktur yang pengulangan hanya akan

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-39

dilakukan jika kondisi yang didefinisikan di dalamnya terpenuhi (bernilai


benar) jika bernilai salah maka statemen yang berada di blok perulangan
tidak akan dieksekusi program
5. Struktur do-while kondisinya justru ditempatkan di bagian akhir, karena
hal ini tentu menyebabkan struktur pengulangan ini minimal akan
melakukan satu kali proses walaupun kondisi yang didefinisikan tidak
terpenuhi (bernilai salah).
6. Statemen continue berbeda dengan break yang di gunakan untuk
menghentikan proses loop, continue digunakan untuk melanjutkan proses
loop.
7. Pernyataan nested for adalah suatu perulangan for di dalam perulangan for
yang lain.
8. Loop luar, biasanya digunakan untuk mendefinisikan baris, Sedangkan
loop dalam digunakan untuk mendefinisikan kolom.
9. nested loops digunakan untuk membuat aplikasi matematika yang
menggunakan baris dan kolom.
10. nested for, perulangan yang di dalam terlebih dahulu dihitung hingga
selesai, kemudian perulangan yang di luar diselesaikan.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-40

BAB 6 BAB VI
Fungsi Void dan Non-Void

Jumlah Pertemuan : 240 menit


Tujuan Praktikum : 1. Mampu memahami konsep Fungsi Void dan Non-
Void
2. Mampu membuat program dengan bantuan Fungsi
Void dan Non-Void
Alat / bahan : 1. Seperangkat computer.
2. Perangkat lunak: Dev C++.
3. Modul Praktikum Algoritma dan Pemrograman
2020.
VI.1 Landasan Teori
VI.1.1 Fungsi Non-Void
Fungsi merupakan statemen yang dikelompokkan menjadi
satu bagian kode (blok program) untuk menyelesaikan tugas spesifik
tertentu. Intinya kita ingin membagi-bagi program dari program
utama (main program) sehingga program dapat lebih rapih dan juga
lebih terstruktur dan dapat dijalankan berulang kali.
Dalam sebuah program C++ minimal kita memiliki 1
method, karena pada dasarnya main() juga merupakan sebuah
method. Method main adalah program utama kita.
Jenis-jenis fungsi ada dua yaitu:
1. Non void adalah fungsi dengan nilai balik atau fungsi dengan
return value ketika fungsi dipanggil.
2. Void adalah fungsi yang tidak mengembalikan nilai atau fungsi
yang tidak menghasilkan nilai balik ketika fungsi dipanggil
Keuntungan memakai fungsi :
4. Menguraikan tugas pemrograman rumit menjadi langkah-
langkah yang lebih sederhana atau kecil.
5. Mengurangi duplikasi kode (kode yang sama ditulis berulang-
ulang) dalam program.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-41

Fungsi non-void  disebut juga function. Disebut non-void


karena mengembalikan nilai kembalian yang berasal dari keluaran
hasil proses function tersebut .
Ciri-ciri dari jenis fungsi non-void adalah sebagai berikut:
a. Ada keyword return
b. Ada tipe data yang mengawali fungsi
c. Tidak ada keyword void
d. Memiliki nilai kembalian
Bentuk umumnya:
tipe_data_kembalian nama_fungsi
(parameter1, parameter2,…)
{
/* Badan Fungsi */
statemen_yang_akan_dilakukan;
return
nilai_yang_akan_dikembalikan;
}
Dari bentuk umum tersebut, yang perlu dijelaskan, yaitu:
1. tipe_nilai_balik
Tipe nilai balik adalah tipe data dari nilai yang akan
dikembalikan oleh fungsi. Khusus untuk Fungsi yang tidak
ditulis tipenya maka akan dianggap bertipe int atau char.
2. nama_fungsi
Nama fungsi adalah nama yang akan digunakan dalam
pemanggilan. Pemanggilan fungsi harus disesuaikan dengan
daftar parameter yang disertakan pada saat pendefinisian fungsi.
3. parameter
Parameter itu sendiri merupakan variabel berisi nilai
yang akan disertakan ke dalam proses yang dilakukan oleh
fungsi. Fungsi bisa saja memiliki satu atau lebih parameter. Jika
tak ada parameter, judul fungsi berupa:
tipe_nilai_balik nama_fungsi()
4. badan fungsi
Kode atau statemen-statemen yang akan dilaksanakan
di dalam fungsi guna menyelesaikan tugas spesifik tertentu.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-42

Untuk bagian ini harus diawali dengan tanda { dan diakhiri


dengan tanda }.
Fungsi dengan parameter yang mana parameter ini akan
digunakan sebagai nilai masukkan (input) dalam sebuah fungsi. Nilai
tersebut kemudian akan diproses oleh fungsi untuk menghasilkan
sebuah nilai kembalian (return value).
Secara teori, parameter yang terdapat pada pendefinisian
sebuah fungsi disebut dengan parameter formal, sedangkan
parameter yang terdapat pada saat pemanggilan disebut dengan
parameter aktual.
Fungsi tanpa parameter bisa didefinisikan sebagai fungsi
yang setiap kali pemanggilan fungsi tersebut, hasil yang didapatkan
selalu bernilai tetap.
VI.1.2 Fungsi Void
C++ tidak mengenal istilah prosedur (procedure) seperti
pada saat kita melakukan pemrograman dengan menggunakan
bahasa Pascal. Dalam bahasa Pascal, prosedur didefinisikan sebagai
suatu proses yang tidak mengembalikan nilai. Untuk melakukan hal
ini di dalam C++, maka harus membuat suatu fungsi dengan tipe
void, yang berarti tidak memiliki nilai balik (return value). 
Ciri-ciri dari jenis fungsi void adalah sebagai berikut: 
a) Secara umum tidak ada keyword return.
b) Tidak adanya tipe data di dalam deklarasi fungsi.
c) Menggunakan keyword void.
Bentuk umum dari pembuatan fungsi tanpa nilai balik ini
adalah seperti yang terlihat di bawah ini.
void nama_fungsi (parameter1, parameter2, …)
{
Statemen_yang_akan_dilakukan;
....
}

Dari fungsi void, kita tidak bisa mengembalikan nilai apa


pun, tapi kita bisa mengembalikan sesuatu selain nilai. Beberapa
diantaranya seperti di bawah ini.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-43

a) Return di fungsi void


Fungsi void tidak dapat mengembalikan nilai apa pun. Tapi
kita bisa menggunakan pernyataan return. return digunakan
untuk menunjukkan bahwa fungsi tersebut dihentikan.
b) Fungsi void dapat mengembalikan fungsi void lainnya
Fungsi void dapat me return kan fungsi lain, dengan syarat
fungsi tersebut harus fungsi void juga.

VI.2 Langkah – Langkah Praktikum


1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrogramman.
3. Menjalankan script dari modul.
VI.3 Latihan Praktikum ke-1: (FUNGSI NON-VOID)
Membuat program memilih perhitungan luas dan keliling segitiga
dengan menerapkan fungsi dengan parameter dan fungsi tanpa parameter,
contoh:
a. Luas menggunakan fungsi dengan parameter, Keliling menggunakan
fungsi tanpa parameter.
b. Sebaliknya juga boleh.
1. Source code :
#include <iostream>
using namespace std;
float sisi1,sisi2,sisi3;
float luas(float a,float t){
float l;
l=a*t/2;
return l;}
float keliling(){
return (sisi1+sisi2+sisi3);}
int main(){
int pilih;
cout << "1. luas segitiga" << endl;
cout << "2. keliling segitiga" << endl;
cout << "pilih : "; cin >> pilih;
if (pilih==1){
float a,t;
cout << "masukkan alas : ";cin >> a;
cout << "masukkan tinggi : ";cin >> t;
cout << "hasil : ";
cout << luas(a,t);
}
else if (pilih==2){
cout << "masukkan sisi1 : ";cin >> sisi1;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-44

cout << "masukkan sisi2 : ";cin >> sisi2;


cout << "masukkan sisi3 : ";cin >> sisi3;
cout << "hasil : ";
cout << keliling();
}
else if (pilih>=2){
cout << "pilihan tidak sesuai";
}
return 0;
}

2. Tampilan Program :

Gambar 6.1 Hasil Program Menghitung luas dan keliling


3. Analisa Program
Awal program menggunakan tipe data float dan fungsi non void
dengan parameter. selanjutnya fungsi tanpa parameter, dengan data
bertipe integer untuk inputan user. jika nilai sudah terinput maka fungsi
diawal program akan memproses nilainya.
VI.4 Latihan praktikum ke-2: (FUNGSI NON-VOID)
Menampilkan “Lab. Rekayasa Perangkat Lunak” dengan
menerapkan fungsi dengan parameter dan fungsi tanpa parameter !
1. Source code :
#include <iostream>
using namespace std;

string withparameter(string a){


return a;
}
string noparameter()
{
return ("Lab.Rekayasa Perangkat Lunak");
}
int main(){
cout << withparameter("Lab.Rekayasa Perangkat
Lunak");
cout << endl << noparameter();
return 0;
}

2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-45

Gambar 6.2 Hasil Program Menampilkan “Lab. Rekayasa Perangkat Lunak”


3. Analisa Program
Fungsi pertama dengan parameter dibarengi dengan tipe data
string untuk menampilkan kata-kata. kedua fungsi tanpa parameter
dengan pemanggilan berupa variabel a. jika program membaca bagian
fungsi utama maka kata - kata parameter pada string sama dengan
kondisi yang kita masukan pada fungsi dengan parameter.
VI.5 Latihan praktikum ke-3: (FUNGSI VOID)
Membuat program menghitung volume kerucut dengan menerapkan
fungsi void !
1. Source code :
#include <iostream>
using namespace std;

double v,p=3.14;
void vol(double jari, double tinggi){
v=p*jari*jari*tinggi/3;
cout << v;}
main (){
double j,t;
cout << "Masukkan Jari-Jari Kerucut = "; cin >> j;
cout << "Masukkan Tinggi Kerucut = ";cin >> t;
cout << "Volume Kerucut = "; vol(j, t);
return 0;
}

2. Tampilan Program :

Gambar 6.3 Hasil Program menghitung volume kerucut


3. Analisa Program

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-46

Program menggunakan awalan tipe data doubel untuk variabel phi,


lalu membaca fungsi void dengan parameter doubel r dan t, dengan
statemen bervariabel v dengan nilai v yaitu phi*r*r*t/3. lalu di fungsi
utama menambahkan variabel j,t dengan maksut j dan t adalah inputan
user. lalu volume kerucut dengan memanggil fungsi void diawal yang
fungsi void itu adalah vol dengan parameter inputan user, lalu fungsi
void akan dipanggil dan dijalankan dengan rumus di statemen void
sampai nilai terpenuhi.
VI.6 Tugas Praktikum ke-1: (FUNGSI NON-VOID)
Identifikasi kesalahan
1. Source code :
#include <iostream>
using namespace std; // tidak ada

double hitung (double x, double d){


double h;
h = x * d/100;
return h; // tidak ada
}
int main(){
int b,c,e,byk; // variabel kurang
string a;
cout<<"Nama Barang = "; cin>>a;
cout<<"Harga Barang = "; cin>>b;
cout<<"Diskon (%) = "; cin>>c;
e=b-hitung(b,c);
cout<<"Harga setelah didiskon = "<<e<<endl;
cout<<"Masukkan banyak barang = ";cin>>byk;
cout<<"total = "<<e * byk;

2. Tampilan Program :

Gambar 6.4 Hasil Program Tugas Praktkum 1


3. Analisa Program

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-47

Progam tersebut bertipe double dengan fungsi non void dengan


parameter lalu menjalankan statemen double h. Selanjutnya program
menjalankan integer dengan hasil outputan. Dan nilai terpenuhi pada saat
user menginputkan nilanya.
VI.7 Tugas Praktikum ke-2: (FUNGSI NON-VOID)
Buatlah program dan analisanya untuk melakukan perhitungan 2
buah bilangan dan memilih perhitungannya (penjumlahan, pengurangan,
pembagian, perkalian). Jika pilihan tidak sesuai maka program akan
diulangi sampai pilihan terpenuhi.
1. Source code :
#include <iostream>
using namespace std;

double pertambahan(double a, double b){


double c;
c=a+b;
return c;
}
double pengurangan(double a, double b){
double c;
c=a-b;
return c;
}
double pembagian(double a, double b){
double c;
c=a/b;
return c;
}
double perkalian(double a, double b){
double c;
c=a*b;
return c;
}
int main(){
double bil1, bil2, pilih;
cout << "Bilangan pertama = "; cin >> bil1;
cout << "Bilangan kedua = "; cin >> bil2;
cout << "[1] pertambahan" << endl;
cout << "[2] pengurangan" << endl;
cout << "[3] pembagian" << endl;
cout << "[4] perkalian" << endl;
do {
cout << "pilih perhitungan = "; cin >> pilih;
if (pilih==1){
cout << pertambahan(bil1,bil2);
}
else if (pilih==2){
cout << pengurangan(bil1,bil2);
}
else if (pilih==3){

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-48

cout << pembagian(bil1,bil2);


}
else if (pilih==4){
cout << perkalian(bil1,bil2);
}
else{
cout << "Error" << endl;
}
}while(pilih != 1 && pilih != 2 && pilih != 3 && pilih !=
4);
return 0;
}

2. Tampilan Program :

Gambar 6.5 Hasil Program Menghitung nilai


3. Analisa Program
Dimasing-masing nama fungsi menggunakan tipe data double,
difunngsi pertama memikiki statement rumus untuk penjumlahan kedua
untuk pengurangan ketiga perkalian dan keempat pembagian dan
dikembalikan dengan return. Difungsi utama memasukkan bilangan 1
dan bilangan kedua untuk dihitung dilanjutkan dengan do while didalam
do while terdapat if else jika kita menginput kan angka 1 akan tampil
penjumlahan dengan memanggil fungsi yang berisi rumus tersebut. jika
kita menginput kan yang keluar dari konteks maka program akan
mengulang ke variabel pilih.
VI.8 Tugas Rumah ke-3: (FUNGSI VOID)
Tugas 1
1. Source code :
#include <iostream>
using namespace std;

void teks(string tek,int data){


for(int a=1;a<=data;a++){
cout<<tek<<endl;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-49

}
}
main(){
string a;
int b;
cout<<"Masukan teks = ";getline(cin, a);
cout<<"Banyak Perulangan = ";cin>>b;
teks(a,b);
return 0;
}

2. Tampilan Program :

Gambar 6.6 Hasil Program Menampilkan teks


3. Analisa Program
Program diatas menggunakan void ber parameter string dan
integer, dengan statemen perulangan for. ketika di fungsi utama ingin
meng inputkan kata-kata yang bisa di spasi maka menggunakan tipe data
getline lalu statemen for dipanggil dengan inputan banyak perulangan,
sehingga nilai ini diproses sesuai rumus statemen for.
V.9 Kesimpulan
1. Fungsi merupakan statemen yang dikelompokkan menjadi satu bagian
kode (blok program) untuk menyelesaikan tugas spesifik tertentu.
2. Dalam sebuah program C++ minimal harus memiliki 1 method, karena
pada dasarnya main() juga merupakan sebuah method. Method main
adalah program utama.
3. Jenis-jenis fungsi ada dua yaitu:
Non void adalah fungsi dengan nilai balik atau fungsi dengan return value
ketika fungsi dipanggil.
Void adalah fungsi yang tidak mengembalikan nilai atau fungsi yang tidak
menghasilkan nilai balik ketika fungsi dipanggil.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-50

4. Fungsi non-void disebut juga function. Disebut non-void karena


mengembalikan nilai kembalian yang berasal dari keluaran hasil proses
function tersebut.
5. Fungsi dengan parameter yang mana parameter ini akan digunakan sebagai
nilai masukkan (input) dalam sebuah fungsi.
6. Secara teori, parameter yang terdapat pada pendefinisian sebuah fungsi
disebut dengan parameter formal, sedangkan parameter yang terdapat pada
saat pemanggilan disebut dengan parameter aktual.
7. Fungsi tanpa parameter bisa didefinisikan sebagai fungsi yang setiap kali
pemanggilan fungsi tersebut, hasil yang didapatkan selalu bernilai tetap
8. C++ tidak mengenal istilah prosedur (procedure) seperti pada saat kita
melakukan pemrograman dengan menggunakan bahasa Pascal.
9. Ciri-ciri dari jenis fungsi adalah Secara umum tidak ada keyword return,
tidak adanya tipe data di dalam deklarasi fungsi, Menggunakan keyword
void.
10. Fungsi void tidak dapat mengembalikan nilai apa pun. Tapi kita bisa
menggunakan pernyataan return. return digunakan untuk menunjukkan
bahwa fungsi tersebut dihentikan.
11. Fungsi void dapat me return kan fungsi lain, dengan syarat fungsi tersebut
harus fungsi void juga.
12. Fungsi prototype atau prototype function sebenarnya merupakan sebuah
variasi gaya dalam mendeklarasikan sebuah fungsi.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-51

BAB 7 BAB VII


Array

Jumlah Pertemuan : 100 menit


Tujuan Praktikum : 1. Mampu memahami konsep array
2. Mampu membuat program penerapan array
Alat / bahan : 1. Seperangkat computer.
2. Perangkat lunak: Dev C++.
3. Modul Praktikum Algoritma dan Pemrograman
2020.
VII.1 Landasan Teori
Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah
nilai dengan tipe data tertentu. Misalnya :
int a1, a2, a3, a4, a5;

Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer


dimana masing masing variabel diberi nama a1, a2, a3, a4, dan a5. Jika
kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin
kita proses tidak kita ketahui atau bersifat dinamis? Kita tidak mungkin
menggunakan variabel seperti diatas.
Array adalah sebuah variabel yang menyimpan sekumpulan data
yang memiliki tipe sama. setiap data tersebut menempati lokasi atau
alamat memory yang berbeda-beda dan selanjutnya disebut dengan elemen
array. Elemen array tersebut kemudian dapat kita akses melalui indeks
yang terdapat di dalamnya namun penting sekali untuk diperhatikan bahwa
dalam C++, Indeks array selalu di mualai dari 0, bukan 1.
Untuk mendeklarasian sebuah array kita harus menggunakan tanda
[..](bracket).
Bentuk umum dari variabel array dapat ditulis seperti dibawah ini :
Tipe_data nama_variabel[indeks]; //ketentuan

int data[4]; //contoh


Pada contoh diatas, data yang dapat ditampung yaitu 4 data. Indeks
array selalu dimulai dari angka 0. Sehingga pada kasus diatas, data yang
tersimpan dimulai dari indeks ke 0 hingga 3.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-52

Namun anda juga dapat mendeklarasikan array sekaligus


memberikan inisialisasi tanpa harus memberikan tambahan deklarasi
ukuran array, sebagai berikut:
int daftarNilai [] = {10,9,8,10,9};

VII.1.1 Array 1 Dimensi


Contoh sebelumnya yang kita praktekkan yaitu merupakan
array 1 dimensi. Cara diatas merupakan cara untuk melakukan
inisialisasi. Untuk mengisikan data ke dalam element-element
array kita dapat melakukannya langsung untuk setiap element ,
contohnya :
DATA[0]=1
DATA[1]=2
DATA[2]=3
DATA[3]=4
......
Dst

Namun cara di atas tidak efisien karena jika memerlukan


data yang banyak harus menuliskan script yang banyak juga. Cara
yang lebih umum dan banyak di gunakan untuk mengisikan nilai
ke dalam element array adalah dengan menggunakan perulangan
(looping). Contoh jika ingin mengisikan 4 elemen array, maka
kita dapat menulis sintaks seperti berikut :
for(int index=0; index<4; index++){
cout<<"DATA["<<index<<"] =
";cin>>data[index];
}

VII.1.2 Array 2 Dimensi


Hampir sama dengan array 1 dimensi, yang membuat array
2 dimensi berbeda adalah daya tampung datanya. Jika di array 1
dimensi, kita perlu inisialisasi 1 angka untuk menunjukkan berapa
data yang bisa dimasukkan. Di array 2 dimensi, kita bisa
menginisialisasikan 2 angka. Array seperti ini sering di gunakan
untuk pemerosesan matrik, Bentuk umum dari array 2 dimensi
adalah sebagai berikut :
tipedata nama_array[jmlh baris][jmlah kolom];
float bil[2][5];

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-53

VII.2 Langkah – Langkah Praktikum


1. Buka Aplikasi Dev C++.

2. Buka Modul Praktikum Algoritma dan Pemrogramman.

3. Menjalankan script dari modul.

VII.3 Latihan Praktikum ke-1:


Buatlah program inputan nilai mahasiswa dalam 1 kelas. Hitung
jumlah nilai dan rata-rata kelas.
1. Source code :
#include<iostream>
using namespace std;
int main()
{
int nilai,a,total=0,rata;
cout<<"Masukkan Banyak Data : ";cin>>a;
int data[a];
for(nilai=1;nilai<=a;nilai++)
{
cout<<"Masukkan nilai mahasiswa ["<<nilai<<"]
= ";cin>>data[nilai];
}
cout<<endl;
cout<<"Menampilkan nilai yang telah
dimasukkan"<<endl<<endl;
for(nilai=1;nilai<=a;nilai++)
{
cout<<"Nilai yang terdapat pada indeks ke-";
cout<<nilai<<" : "<<data[nilai]<<endl;
total=total+data[nilai];
}
cout<<endl;
cout<<"Total Nilai : "<<total;
cout<<endl;
rata=total/a;
cout<<"Rata-Rata : "<<rata;
}

2. Tampilan Program :

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-54

Gambar 7.1 Hasil Program Inputan nilai mahasiswa


3. Analisa Program
Pada program diatas mula mula program akan menunggu inputan
dari user yg akan disimpan di dalam variable a , yang mana program akan
membuat sebuah array kosong sebanyak isi dari variable a tersebut.
Kemudian program akan masuk ke kondisi pengulangan yang banyaknya
perulangan nya adalah sebanyak inputan dari user , yg kemudian angka
angka yang dimasukkan oleh user di saat program menjalankan
perulangan akan disimpan dalam array yang bernama data , kemudian
program akan menampilkan kembali data data yang diinputkan oleh user ,
kemudian program akan menjumlahkan isi dari array tersebut kemudian
menghitung rata rata nya.
VII.4 Latihan praktikum ke-2:
Buatlah program menentukan jumlah bintang (*) perdasarkan
inputan.
1. Source code :
#include<iostream>
using namespace std;
int main ()
{
int dat,b,c;
cout<<"Masukkan Banyak Data : ";cin>>dat;
int data[dat];
for(b=0;b<dat;b++)
{
cout<<"Value "<<b+1<<" : ";cin>>data[b];
}
cout<<endl;
cout<<"Grafik Data"<<endl;
cout<<"-------------------"<<endl;

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-55

for(b=0;b<dat;b++)
{
cout<<"Nomor ke "<<b+1<<" : ";
for(c=0;c<data[b];c++){
cout<<"*";
}
cout<<endl;
}

2. Tampilan Program :

Gambar 7.2 Hasil Program Menentukan Jumlah Bintang


3. Analisa Program
Pada program diatas pertama tama program akan menunggu
inputan user untuk memasukkan banyak nya data yang ingin di
inputkan ,kemudian program akan memasukkan angka yang di inputkan
user ke dalam array bernama data , kemudian program akan menjalan
kan perulangan sebanyak angka yang di inputkan user pertama kali
yang dalam pengulangan tersebut peogram akan meminta user untuk
menginputkan nilai nilai yang kemudian disimpan di dalam array
data ,kemudian program akan menampilkan jumlah bintang sesuai dari
angka angka yang diinputkan user yang kemudian di tampung di array
data dengan menggunakan perulangan for.
VII.5 Tugas Praktikum ke-1:
Perbaiki program matriks penjumlahan berikut dan tampilan
program beserta analisa nya.
1. Source code :
#include<iostream>
using namespace std;
int main()

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-56

{
int n;
cout<<"Masukkan ukuran ordo matrik pertama dan
kedua : ";cin>>n;
int matrik_1[n][n],matrik_2[n][n];
cout<<endl;
cout<<"Masukkan nilai matrik pertama "<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
cout<<"Baris "<<i<<" Kolom "<<j<<" : ";
cin>>matrik_1[i][j];
}
}
cout<<endl;
cout<<"Masukkan nilai matrik kedua : "<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
cout<<"Baris "<<i<<" Kolom "<<j<<" : ";
cin>>matrik_2[i][j];
}
}
cout<<endl;
cout<<"Masukkan nilai matrik kedua : "<<endl;
for(int i=0;i<n;i++){
for(int j=0;j<2;j++){
cout<<matrik_1[i][j]+matrik_2[i][j]<<"
";
}
cout<<endl;
}
}

2. Tampilan Program :

Gambar 7.3 Hasil Program Matriks Penjumlahan


3. Analisa Program
Pada program diatas mula mula program akan menunggu
inputan user berupa jumla ordo matriks yang di inginkan yang

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-57

kemudian inputan tersebut oleh program akan disimpan di dalam


variable n yang kemudian variable n tersebut digunakan sebagai
parameter dari array multidimensi matrik_1 dan array multidimensi
matrik_2 , kemudian program akan masuk ke perulangan bersarang for
untuk kolom dan baris, yang mana untuk baris menggunakan variable i
dan kolom menggunakan variable j , yang di dalam perulangan nested
tersebut program akan menginstruksikan user untuk menginputkan
angka – angka yang kemudian akan disimpan dalam array matrik_1 ,
kemudian program akan mengulangi hal yang sama tapi kali ini nilai
nya disimpan di dalam array matrik_2 ,kemudian program akan
menjumlahkan isi dari array matrik_1 dan array matrik_2 dengan
menggunakan nested for.
VII.6 Tugas Praktikum ke-2:
Buatlah program nilai mahasiswa yang terdiri dari 2 kelas dengan
jumlah mahasiswa 5 per kelas. Tentukan jumlah nilai, rata-rata nilai, nilai
tertinggi, nilai terendah dari setiap kelas dan jumlah nilai keseluruhan,
rata-rata nilai keseluruhan, nilai tertinggi keseluruhan, terendah
keseluruhan.
1. Source code :
#include <iostream>
using namespace std;

int main()
{
int kls[2]
[5],a,b,jum[2]={0,0},maks[2],min[2],sem,ber;
cout << "Data Nilai kelas 1\n\n";
for (a=0; a<=4; a++)
{
cout << "Nilai Mahasiswa Kelas 1 Nomor
"<<a+1<<" = ";
cin >> kls[0][a];
jum[0]=jum[0]+kls[0][a];
}

maks[0]=kls[0][0];
for (a=0; a<=4; a++)
{
if (kls[0][a]>maks[0])
{
maks[0]=kls[0][a];
}
}

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-58

min[0]=kls[0][0];
for (a=0; a<=4; a++)
{
if (kls[0][a]<min[0])
{
min[0]=kls[0][a];
}
}

cout << "\nData Nilai Kelas 2\n\n";


for (a=0; a<=4; a++)
{
cout << "Nilai Mahasiswa Kelas 1 Nomor
"<<a+1<<" = ";
cin >> kls[1][a];
jum[1]=jum[1]+kls[1][a];
}

maks[1]=kls[1][0];
for (a=0; a<=4; a++)
{
if (kls[1][a]>maks[1])
{
maks[1]=kls[1][a];
}
}
min[1]=kls[1][0];
for (a=0; a<=4; a++)
{
if (kls[1][a]<min[1])
{
min[1]=kls[1][a];
}
}

if(maks[0]>maks[1])
{
sem=maks[0];
}
else if(maks[0<maks[1]])
{
sem=maks[1];
}

if(min[0]<min[1])
{
ber=min[0];
}
else if(min[0]>min[1])
{
ber=min[1];
}

cout << "\n\nJumlah Nilai Kelas A = "<<jum[0];


cout << "\nRata - Rata Kelas A = "<<jum[0]/5;
cout << "\nNilai Tertinggi Kelas A = "<<maks[0];
cout << "\nNilai Terendah Kelas A = "<<min[0];

cout << "\n\nJumlah Nilai Kelas B = "<<jum[1];

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-59

cout << "\nRata - Rata Kelas B = "<<jum[1]/5;


cout << "\nNilai Tertinggi Kelas B = "<<maks[1];
cout << "\nNilai Terendah Kelas B = "<<min[1];

cout << "\n\nJumlah Nilai Rata-Rata Kelas A & B =


"<<jum[0]+jum[1];
cout << "\nRata - Rata Kelas A & B = "<<(jum[0]/5)+
(jum[1]/5)/2;
cout << "\nNilai Tertinggi Kelas A & B = "<<sem;
cout << "\nNilai Terenddah Kelas A & B = "<<ber;

return 0;
}

2. Tampilan Program :

Gambar 7.4 Hasil Program Menentukan Jumlah Nilai


3. Analisa Program
Progarm tersebut untuk menghitung nilai mahasiswa kelas 1 dan
2, dengan tipe data int berparameter untuk menentukan maksimal dan
minimal nilai. kemudian masukan nilai kelas pertama yang diolah di
perulangan for, pada for dalam atau for ke 2 buat percabangan if guna
memasukan nilai kelas kedua dan program menghitung nilai
keseluruhan tersebut.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-60

VII.7 Tugas Praktikum ke-3:


Membuat sebuah program tentang materi yang dipelajari pada bab 10
1. Source code :
#include <iostream>
using namespace std;

int main(){
int a;
int nilai[5];
int tampung = 0;
cout<<"masukan perulangan = ";cin>>a;
for(int i=0; i<a;i++){
cout<<"Isi index ke ["<<i<<"] = ";
cin>>nilai[i];
}
for(int i=0; i<5;i++){
tampung = tampung + nilai[i];
}
cout<<"\nHasil Penjumlahan semua : "<<tampung
<< endl;
return 0;
}

2. Tampilan Program :

Gambar 7.5 Hasil Program Perulangan Array


3. Analisa Program
Pada program diatas program akan langung masuk ke perulangan
sebanyak inputan user yang pada masing masing perulangan nya user
akan di instruksikan yang kemudian akan disimpan dalam array yang
bernama nilai. kemudian program akan menjumlah kan hasil yang
kemudian hasil nya akan disimpan di dalam variabel tampung.
VII.9 Kesimpulan
1. Array adalah sebuah variabel yang menyimpan sekumpulan data yang
memiliki tipe sama. setiap data tersebut menempati lokasi atau alamat

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-61

memory yang berbeda-beda dan selanjutnya disebut dengan elemen


array.
2. Untuk mendeklarasian sebuah array kita harus menggunakan tanda
( [..] ).
3. Dalam C++ terdapat 2 jenis array yaitu Array 1 dimensi ,Array 2
dimensi.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-62

BAB 8 Kesimpulan

Dengan adanya kegiatan praktikum Algoritma dan Pemrogramman.


Penulis dapat menyimpulkan sebagai berikut :

1. Bahasa Pemrograman C++ adalah bahasa Pemrograman Komputer Tingkat


Tinggi (High Level Language), tapi C++ juga dimungkinkan untuk menulis
Bahasa Pemrograman Tinggkat Rendah (Low Level Language) di dalam
pengkodingan.
2. C++ merupakan penyempurnaan dari bahasa pemrograman sebelumnya yaitu
bahasa C, oleh Bjarne Stroustrup pada tahun 1980. Awal C++ mempunyai
nama yaitu “C with Classes” dan berganti nama menjadi C++ pada tahun
1983.
3. Cara pemakaian atau penulisan kode kode tidak bisa sembarangan melainkan
harus mengikuti prosedur kode itu sendiri agar program yang dibuat bisa
dijalankan tanpa adanya eror.
4. Operator merupakan simbol yang biasa dilibatkan dalam program untuk
melakukan suatu operasi atau manipulasi dan dapat melakukan operasi
perhitungan, perbandingan, manipulasi bit, dan lain-lain.
5. Pada dasarnya, ada tiga jenis operator dalam pemrograman C++ seperti
Unary, Binary, dan Ternary.
6. Ada beberapa macam operator seperti Operator Assingment, Operator
Aritmatika, Operator Relasional, Operator Naik dan Turun, Operator
Majemuk, Operator Bitwise, dan Operator Ternary.
7. Pada C++ terdapat 2 jenis I/O dasar, yaitu Statemen Input adalah Statemen /
fungsi yang digunakan untuk menerima data dari keyboard. Operator yang
digunakan “>>”, contoh: cin>> (character in), dan Statemen Output adalah
Statemen yang digunakan untuk menampilkan data ke layar monitor.
Operator yang digunakan “<<”, contoh: cout<< (character out).
8. Struktur If satu kondisi adalah struktur yang hanya melibatkan satu kondisi
yang akan diperiksa, jika kondisi bernilai benar maka perintah akan
dikerjakan dan jika tidak memenuhi syarat akan diabaikan.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-63

9. Struktur If dua kondisi mempunyai sebuah statemen khusus yang berguna


untuk mengatasi kejadian apabila kondisi yang diperintahkan tidak memenuhi
syarat.
10. Struktur If tiga kondisi atau lebih merupakan perluasan dari struktur yang
memiliki dua kondisi, yaitu dengan menyisipkan satu atau lebih kondisi
kedalamnya.
11. Operator Ternary juga bisa merupakan salah satu dari tiga sifat Operator,
operator yang akan melibatkan 3 buah operand dalam satu operasi. Terdapat
juga Operator ternary berfungsi untuk mengevaluasi ekspresi dan
menentukan hasil berdasarkan kondisi. jika kondisi tersebut 1 ( true ) maka
akan memilih pilihan ke satu, jika 0 ( false ) maka akan memilih pilihan ke
dua.
12. Statemen switch juga bisa melakukan percabangan (pemilihan).
13. Perbedaan switch case dengan if else, switch case digunakan pada kondisi
untuk menyederhanakan penulisan.
14. Biasanya switch case digunakan pada struktur percabangan yang penulisan
setiap kondisinya berupa 1 digit number.
15. Pernyataan switch adalah pernyataan yang digunakan untuk menjalankan
salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan
nilai dari sebuah ungkapan dan nilai penyeleksian.
16. Perulangan data atau looping adalah proses yang dilakukan secara berulang-
ulang sampai batas yang inputan user.
17. Struktur Pengulangan for digunakan untuk memproses pengulangan sesuai
dengan jumlah pengulanganya. Struktur for memiliki kelebihan yaitu lebih
efiisien dikarenakan susunanya yang lebih sederhana dan lebih mudah
dipahami.
18. Struktur for di dalam c++ dapat juga dilibatkan lebih dari satu variabel ,
namun yang jelas satu diantaranya akan digunakan sebagai indeks
pengulangan.
19. Struktur perulangan while adalah pengulangan yang melakukan pemeriksaan
kondisi di awal blok struktur yang pengulangan hanya akan dilakukan jika
kondisi yang didefinisikan di dalamnya terpenuhi (bernilai benar) jika bernilai

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-64

salah maka statemen yang berada di blok perulangan tidak akan dieksekusi
program
20. Struktur do-while kondisinya justru ditempatkan di bagian akhir, karena hal
ini tentu menyebabkan struktur pengulangan ini minimal akan melakukan
satu kali proses walaupun kondisi yang didefinisikan tidak terpenuhi (bernilai
salah).
21. Statemen continue berbeda dengan break yang di gunakan untuk
menghentikan proses loop, continue digunakan untuk melanjutkan proses
loop.
22. Pernyataan nested for adalah suatu perulangan for di dalam perulangan for
yang lain.
23. Loop luar, biasanya digunakan untuk mendefinisikan baris, Sedangkan loop
dalam digunakan untuk mendefinisikan kolom.
24. nested loops digunakan untuk membuat aplikasi matematika yang
menggunakan baris dan kolom.
25. nested for, perulangan yang di dalam terlebih dahulu dihitung hingga selesai,
kemudian perulangan yang di luar diselesaikan.
26. Fungsi merupakan statemen yang dikelompokkan menjadi satu bagian kode
(blok program) untuk menyelesaikan tugas spesifik tertentu.
27. Dalam sebuah program C++ minimal harus memiliki 1 method, karena pada
dasarnya main() juga merupakan sebuah method. Method main adalah
program utama.
28. Jenis-jenis fungsi ada dua yaitu:
Non void adalah fungsi dengan nilai balik atau fungsi dengan return value
ketika fungsi dipanggil.
Void adalah fungsi yang tidak mengembalikan nilai atau fungsi yang tidak
menghasilkan nilai balik ketika fungsi dipanggil.
29. Fungsi non-void disebut juga function. Disebut non-void karena
mengembalikan nilai kembalian yang berasal dari keluaran hasil proses
function tersebut.
30. Fungsi dengan parameter yang mana parameter ini akan digunakan sebagai
nilai masukkan (input) dalam sebuah fungsi.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-65

31. Secara teori, parameter yang terdapat pada pendefinisian sebuah fungsi
disebut dengan parameter formal, sedangkan parameter yang terdapat pada
saat pemanggilan disebut dengan parameter aktual.
32. Fungsi tanpa parameter bisa didefinisikan sebagai fungsi yang setiap kali
pemanggilan fungsi tersebut, hasil yang didapatkan selalu bernilai tetap
33. C++ tidak mengenal istilah prosedur (procedure) seperti pada saat kita
melakukan pemrograman dengan menggunakan bahasa Pascal.
34. Ciri-ciri dari jenis fungsi adalah Secara umum tidak ada keyword return, tidak
adanya tipe data di dalam deklarasi fungsi, Menggunakan keyword void.
35. Fungsi void tidak dapat mengembalikan nilai apa pun. Tapi kita bisa
menggunakan pernyataan return. return digunakan untuk menunjukkan
bahwa fungsi tersebut dihentikan.
36. Fungsi void dapat me return kan fungsi lain, dengan syarat fungsi tersebut
harus fungsi void juga.
37. Fungsi prototype atau prototype function sebenarnya merupakan sebuah
variasi gaya dalam mendeklarasikan sebuah fungsi.
38. Array adalah sebuah variabel yang menyimpan sekumpulan data yang
memiliki tipe sama. setiap data tersebut menempati lokasi atau alamat
memory yang berbeda-beda dan selanjutnya disebut dengan elemen array.
39. Untuk mendeklarasian sebuah array kita harus menggunakan tanda ( [..] ).
40. Dalam C++ terdapat 2 jenis array yaitu Array 1 dimensi ,Array 2 dimensi.

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
II-66

BAB 9 DAFTAR PUSTAKA

Laboratorium Pemrograman dan RPL. 2020. Modul Praktikum Algoritma Dan


Pemrogramman. Laboratorium Pemrograman Insitut Teknologi Nasional Malang

Disetujui Aslab Ttd / Paraf


Nama aslab
Tgl:
LABORATORIUM PEMROGRAMAN & RPL
INSTITUT TEKNOLOGI NASIONAL
Kampus II : Jl. Raya Karanglo Km. 2 Malang

LEMBAR ASISTENSI PRAKTIKUM ALGORITMA DAN PEMROGRAMAN


SEMESTER GANJIL TAHUN AKADEMIK 2020/2021
FOTO
Nama : Krish Pranata 3x4
(Menggunak
NIM : 2018047 an Jas
Almamater)

A
No. Tanggal
Konsep

Pengenalan C++
Operator dan Statement I/O

Instruktur
Percabangan
1
Perulangan
Fungsi Void dan Non-Void
Array

Dosen
2

Batas Akhir:

Asisten, Malang, … Desember 2019


Dosen, Pembimbing,

(Nama Aslab) (Joseph Dedy Irawan, ST, MT)


NIM NIP.P.197404162005011002

Anda mungkin juga menyukai