0% menganggap dokumen ini bermanfaat (0 suara)
79 tayangan

Format Algo

Laporan ini membahas praktikum mata kuliah Algoritma dan Pemrograman. Laporan ini berisi latihan dan tugas praktikum yang meliputi pengenalan C++, operator dan statement, percabangan, perulangan, function dan array.

Diunggah oleh

octaryolucas123
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
79 tayangan

Format Algo

Laporan ini membahas praktikum mata kuliah Algoritma dan Pemrograman. Laporan ini berisi latihan dan tugas praktikum yang meliputi pengenalan C++, operator dan statement, percabangan, perulangan, function dan array.

Diunggah oleh

octaryolucas123
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 81

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN


SEMESTER GANJIL TAHUN AKADEMIK 2022/2023

Disusun oleh :
Nama : Octaryo Lucas Martua Simamora
NIM : 2218119
Prodi : TEKNIK INFORMATIKA S-1
Kelompok : 31

PROGRAM STUDI TEKNIK INFORMATIKA S-1


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

Disusun Oleh
NAMA : Octaryo Lucas Martua Simamora
NIM : 2218119
PRODI : TEKNIK INFORMATIKA S-1

Mengetahui, Menyetujui,
Kepala Laboratorium Dosen Pembimbing
Pemrograman Komputer

(Ahmad Faisol, ST, MT) (F .X Ariwibisono, S. T.M.Kom)


NIP.P.1031000431 NIP.P 1030300397

PROGRAM STUDI TEKNIK INFORMATIKA S-1


FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT TEKNOLOGI NASIONAL MALANG
2022
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. F .X. Ariwibisono, ST, M.Kom selaku dosen pembimbing Praktikum
Algoritma dan Pemrograman.
2. Bapak Joseph Dedy Irawan, ST, MT. dan Bapak Renaldi Primaswana
Prasetya, S.Kom, M.Kom. selaku dosen mata kuliah Algoritma dan
Pemrograman.
3. Bapak Ahmad Faisol, ST, MT. selaku Ketua Pelaksana Praktikum
Algoritma dan Pemrograman Program Studi Teknik Informatika ITN
Malang.
4. Instruktur Lab.Pemrograman Komputer Teknik Informatika yang telah
memberi petunjuk kepada penulis selama pelaksanaan praktikum.
5. 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 2022

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++ ......................................................................................... 3
II.1 Landasan Teori ......................................................................................... 3
II.2 Langkah – Langkah Praktikum .............................................................. 10
II.3 Latihan Praktikum ke-1: Program Membuat Angka NIM ..................... 10
II.4 Tugas Praktikum ke-1: Perbaikan Source Code ..................................... 11
II.5 Tugas Praktikum ke-2: Program Data IPK Mahasiswa. ......................... 12
II.6 Tugas praktikum ke-3 : Program Luas Persegi Panjang ........................ 13
II.7 Kesimpulan ............................................................................................. 14
BAB III Operator dan Statement ......................................................................... 15
III.1 Landasan Teori ................................................................................... 15
III.2 Langkah – Langkah Praktikum ........................................................... 22
III.3 Latihan Praktikum ke-1: Program Operasi Pertambahan ................... 22
III.4 Latihan Praktikum ke-2: Program Pertambahan dan Perkalian .......... 23
III.5 Latihan Praktikum ke-3: Program Operasi Bitwise ............................ 24
III.6 Tugas Praktikum ke-1: Program volume dan setengah bola .............. 25
III.7 Tugas Praktikum ke-2: Program konversi suhu .................................. 26
III.8 Tugas praktikum ke-3: Program Operasi Not ..................................... 27
III.9 Kesimpulan ......................................................................................... 27
BAB IV Percabangan ............................................................................................ 28
IV.1 Landasan Teori ................................................................................... 28
IV.2 Langkah – Langkah Praktikum ........................................................... 31
IV.3 Latihan Praktikum ke-1: (If Else) Program Tinggi Berat Badan ........ 31
IV.4 Latihan Praktikum ke-2: (If Else) Program Penentuan Bulan ............ 32
iii

IV.5 Latihan Praktikum ke-3: Program Luas dan Keliling ......................... 34


IV.6 Tugas Praktikum ke-1: (If Else) IPK Mahasiswa ............................... 35
IV.7 Tugas Praktikum ke-2: (If Else) Program Username.......................... 36
IV.8 Tugas praktikum ke-3: Program Menentukan Kelulusan Nilai .......... 37
IV.9 Kesimpulan ......................................................................................... 37
BAB V Perulangan ................................................................................................ 38
V.1 Landasan Teori ....................................................................................... 38
V.2 Langkah – Langkah Praktikum .............................................................. 40
V.3 Latihan Praktikum ke-1: (For) Program Perulangan For ....................... 40
V.4 Latihan Praktikum ke-2: (While) Program Fibonaci .............................. 41
V.5 Latihan Praktikum ke-3 : Program angka dan huruf .............................. 42
V.6 Tugas Praktikum ke-1: (For) Program data Penjualan Motor ................ 44
V.7 Tugas Praktikum ke-2: (While) Program Kelipatan............................... 45
V.8 Tugas praktikum ke-3 (Nested): Program NIM ganjil ........................... 46
V.9 Kesimpulan ............................................................................................. 48
BAB VI Function (Non-Void) dan Prosedure (Void) ........................................... 49
VI.1 Landasan Teori ................................................................................... 49
VI.2 Langkah – Langkah Praktikum ........................................................... 52
VI.3 Latihan Praktikum ke-1: Program Program Jari-Jari(Function) ......... 52
VI.4 Latihan Praktikum ke-2: Program Biodata Mahasiswa(Void) ........... 53
VI.5 Latihan Praktikum ke-3: Program cek Bilangan Ganjil Genap .......... 54
VI.6 Tugas Praktikum ke-1: Program Konversi Satuan(Void) ................... 55
VI.7 Tugas Praktikum ke-2: Program Turunan Fungsi (Function) ............. 56
VI.8 Tugas praktikum ke-3: Program Persegi panjang(Void) ................... 57
VI.9 Kesimpulan ......................................................................................... 58
BAB VII Array ...................................................................................................... 59
VII.1 Landasan Teori ................................................................................... 59
VII.2 Langkah – Langkah Praktikum ........................................................... 61
VII.3 Latihan Praktikum ke-1: Program Penjumlahan ................................. 61
VII.4 Latihan Praktikum ke-2: Program Data Tinggi Badan ....................... 62
VII.5 Latihan Praktikum ke-3: Program Data Point..................................... 63
VII.6 Tugas Praktikum ke-1: Program Nilai Mahasiswa ............................. 64
VII.7 Tugas Praktikum ke-2: Program Data Mahasiswa ............................. 66
VII.8 Tugas praktikum ke-3: Program Array ............................................... 67
iv

VII.9 Kesimpulan ......................................................................................... 68


KESIMPULAN ..................................................................................................... 69
DAFTAR PUSTAKA ............................................................................................. 1
v

DAFTAR GAMBAR
Gambar 2.1 Tampilan Membuat Angka NIM ....................................................... 10
Gambar 2.2 Tampilan Source Code yang sudah diperbaiki .................................. 12
Gambar 2.3 Tampilan Program Data dan IPK Mahasiswa ................................... 13
Gambar 2.4 Program Menghitung Luas Persegi Panjang ..................................... 14
Gambar 3.1 Hasil Tampilan Program Operasi Pertambahan ................................ 23
Gambar 3.2 Tampilan Program Operasi Pertambahan dan Perkalian ................... 23
Gambar 3.3 Tampilan Program Operasi Bitwise .................................................. 24
Gambar 3.4 Program Menghitung Volume Bola dan Setengah Bola ................... 25
Gambar 3.5 Program Konversi Suhu .................................................................... 26
Gambar 3.6 Program Operasi Not ......................................................................... 27
Gambar 4.1 Tampilan Program Menghitung Berat Badan ................................... 32
Gambar 4.2 Tampilan Program Menentukan Bulan ............................................. 33
Gambar 4.3 Tampilan Menghitung Luas dan Keliling Setengah Lingkaran ........ 34
Gambar 4.4 Tampilan Program Menentukan Grade Nilai Mahasiswa ................. 35
Gambar 4.5 Tampilan Program Login .................................................................. 36
Gambar 4.6 Tampilan Program Menentukan Kelulusan Nilai.............................. 37
Gambar 5.1 Program Perulangan For ................................................................... 41
Gambar 5.2 Tampilan Program Perulangan While Fibonachi. ............................. 42
Gambar 5.3 Tampilan Program Latihan................................................................ 43
Gambar 5.4 Tampilan Program Penjualan Motor ................................................. 45
Gambar 5.5 Tampilan Program Kelipatan. ........................................................... 46
Gambar 5.6 Tampilan NIM ganjil menggunakan Nested ..................................... 47
Gambar 6.1 Tampilan Program Jari -jari .............................................................. 53
Gambar 6.2 Tampilan Program Biodata dengan Fungsi Void .............................. 54
Gambar 6.3 Tampilan Program Menentukan Bilangan Ganjil Genap .................. 55
Gambar 6.4 Tampilan Program Konversi Satuan ................................................. 56
Gambar 6.5 Tampilan Program Turunan Fungsi .................................................. 57
Gambar 6.6 Tampilan Program Bilangan Persegi panjang. .................................. 58
Gambar 7.1 Tampilan Program Penjumlahan ....................................................... 62
Gambar 7.2 Tampilan Program Data Tinggi Badan ............................................. 63
Gambar 7.3 Tampilan Program Data Point........................................................... 64
Gambar 7.4 Tampilan Program Nilai Mahasiswa ................................................. 65
vi

Gambar 7.5 Tampilan Program Data Pasien ......................................................... 67


Gambar 7.6 Tampilan Program Array .................................................................. 68
vii

DAFTAR TABEL
Table 2.1 Tabel Tipe Data. ...................................................................................... 8
Tabel 2.2 Tabel Escape Sequence Characters. ........................................................ 9
Tabel 3.1 Tabel Operator Aritmatika. ................................................................... 16
Tabel 3.2 Tabel Prioritas Operator. ....................................................................... 17
Tabel 3.3 Tabel Operasi Resional. ........................................................................ 17
Tabel 3.4 Tabel Operator Majemuk. ..................................................................... 19
Tabel 3.5 Tabel AND,............................................................................................ 20
Tabel 3.6 Tabel OR. .............................................................................................. 20
Tabel 3.7 Tabel XOR. ............................................................................................ 21
Tabel 3.8 Tabel NOT. ............................................................................................ 21
1

BAB I
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


Raflizar Deswandi Yahya
Tgl:
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


Raflizar Deswandi Yahya
Tgl:
3

BAB II
Pengenalan C++
Durasi Pertemuan : 120 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


2022.

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

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
4

Setiap program C++ mempunyai bentuk umum seperti dibawah ini :


#include <iostream> //prepocessor directive
using namespace std;

int main() {
Pernyataan_yang_akan_dilakukan;

return 0;
}

II.1.1 Header dan Fungsi Main


Header adalah tempat kita memasukan library yang ada di c++
ke dalam program, library tersebut berisi deklarasi berbagai fungsi
yang dibutuhkan oleh program baik itu sebagai standar Input/Output
maupun sebagai syntax.
Apabila kita lihat pada program baris pertama terdapat #include
<iostream>. Tanda ‘#’ adalah Preprocessor directive. Preprocessor
directive sendiri adalah intruksi untuk compiler memerintahkan untuk
memproses suatu arahan atau informasi sebelum memulai melakukan
kompilasi pada program yang telah kita tulis, misal untuk memasukan
file library, dll.
Sebagai contoh, jika dilihat dari program diatas kita akan
memasukan (include) library iostream ke dalam program kita, library
iostream sendiri adalah header yang di butuhkan untuk melakukan
input dan output, dll. Jika di perhatikan terdapat kode using namespace
std, Using adalah sebuah kata kunci yang digunakan untuk
memperkenalkan suatu Namespace kepada suatu ruang lingkup,
dengan ini kita tidak diwajibkan lagi untuk menyertakan nama dari
Namespace dan Scope Operator :: setiap kali mencoba untuk
mengakses entitas dari Namespace tersebut.
Jika tidak menggunakan using namespace std maka cout dan cin
tidak dapat dikenali kecuali didepannya terdapat syntax std::,
contohnya :
// programku
#include <iostream>
int main(){
std::cout<<"Praktikum Algoritma dan Pemrograman
2022"<<endl;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
5

std::cout<<"Lab. Pemrograman Komputer ITN


MALANG";
return 0;
}
Selanjutnya fungsi main(), main() adalah blok program utama
kita yang di tulis diantara { hingga }. Fungsi inilah yang akan dipanggil
pertama kali pada saat eksekusi program. Apabila ada fungsi lain yang
dibuat, maka fungsi tersebut akan dijalankan ketika dipanggil di fungsi
utama. Hal ini karena bahasa C/C++ merupakan bahasa procedural
yang menerapkan konsep runtutan (program dieksekusi baris-perbaris
dari atas ke bawah secara berurutan).
II.1.2 Return 0;
Intruksi return menyebabkan fungsi main() berakhir dan
mengembalikan kode yang mengikuti instruksi tersebut, dalam kasus
ini 0. Ini merupakan cara yang paling sering digunakan untuk
mengakhiri program.
II.1.3 Komentar Program
Komentar adalah bagian dari kode program yang tidak ikut
dibaca pada proses kompilasi. Dengan kata lain, komentar tidak akan
mempengaruhi jalannya program. Dalam C++ terdapat 2 jenis
komentar, yaitu :
a. Menggunakan tanda //
Tanda ini digunakan untuk menuliskan komentar yang
banyaknya hanya satu baris.
// ini adalah komentar untuk satu baris
b. Menggunakan tanda /**/
Berbeda dengan sebelumnya, tanda ini dapat digunakan
untuk menuliskan komentar yang banyaknya satu baris atau
lebih. Komentar ini dimulai dari tanda /* sampai ditemukan tanda
*/. /*ini adalah komentar panjang yang banyaknya lebih dari
satu baris*/.
/*ini adalah komentar panjang
yang banyaknya
lebih dari satu baris*/

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
6

II.1.4 Tanda Semicolon(Titik Koma)


Tanda semicolon “ ; ” digunakan untuk mengakhiri sebuah
pernyataan. Setiap pernyataan harus diakhiri dengan sebuah tanda
semicolon. E. Input dan Output Statement Input adalah Statement /
fungsi yang digunakan untuk menerima data dari input keyboard,
contoh: cin (character in). cin>>a; Statement Output adalah
Statement yang digunakan untuk menampilkan data ke layar monitor.,
contoh: cout (character out).
II.1.5 Input dan Output
Statement Input adalah Statement / fungsi yang digunakan
untuk menerima data dari input keyboard, contoh: cin (character in).
cin>>a;
Statement Output adalah Statement yang digunakan untuk
menampilkan data ke layar monitor., contoh: cout (character out).
cout<<”RPL”;

II.1.6 Jenis Identifier


Identifier atau pengenal adalah suatu nama yang biasa dipakai
dalam pemrograman untuk menyatakan variabel, konstanta, tipe data,
dan fungsi. Identifier yang berperan sebagai variabel dan konstanta
berfungsi untuk menampung sebuah nilai yang digunakan dalam
program.
A. Konstanta
Konstanta adalah jenis identifier yang bersifat konstan
atau tetap, artinya nilai dari konstanta di dalam program tidak
berubah. Terdapat dua cara untuk membuat sebuah konstanta,
yaitu dengan menggunakan preposesor directive #define dan
menggunakan kata kunci const.
1. Menggunakan kata kunci const.
Mendefinisikan sebuah konstanta dapat dilakukan
dengan menggunakan kata kunci const. Berikut ini adalah
bentuk umumnya.
const tipe_data nama_konstanta = nilai;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
7

#define nama_konstanta nilai_tetapan


2. Menggunakan Preprocessor Directive #define
Keuntungan menggunakan #define apabila
dibandingkan dengan const adalah kecepatan kompilasi,
karena sebelum kompilasi dilaksanakan, kompiler pertama
kali mencari symbol #define (oleh sebab itu mengapa #
dikatakan preprocessor directive). #define adalah
preprocessor directive, oleh sebab itu tidak diakhiri dengan
tanda semicolon (;).
#define nama_konstanta nilai_tetapan

II.1.7 Tipe Data


A. Tipe Data
Dasar Adalah tipe data yang dapat langsung dipakai.
Daftarnya dapat dilihat pada tabel dibawah ini :
B. Variabel
Variabel adalah sebuah identifier yang mempunyai nilai
dinamis. Berbeda dengan konstanta yang nilainya selalu tetap, nilai
dari suatu variabel bisa diubah-ubah sesuai kebutuhan.
1. Deklarasi variable
Untuk menggunakan variabel pada C++, kita harus
mendeklarasikan tipe data yang akan digunakan. Sintaks
penulisan deklarasi variabel adalah dengan menuliskan tipe
data yang akan digunakan diikuti dengan identifier yang benar.
Pengertian deklarasi disini berarti mengenalkan sebuah
pengenal ke program dan menentukan jenis data yang
disimpan di dalamnya.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
8

Bentuk pendeklarasian variabel :


tipe_data nama_variabel;

Contoh :
int A;
float a;
char kata;
Jika akan menggunakan tipe data yang sama untuk
beberapa identifier maka dapata dituliskan dengan
menggunakan tanda koma.
int a,b,c;
float d,e,f;
Nama dari suatu variabel dapat ditentukan sendiri oleh
program dengan aturan sebagai berikut :
a. Tidak boleh dimulai dengan karakter non huruf.
b. Terdiri dari gabungan huruf dan angka dengan karakter
pertama harus berupa huruf. Bahasa C++ bersifat
casesensitive, yang artinya huruf besar dan kecil
dianggap berbeda. Jadi antara nim, NIM, dan Nim
dianggap berbeda.
c. Tidak boleh mengandung spasi.
d. Tidak boleh mengandung simbol-simbol khusus, kecuali
garis bawah (underscore). Yang termasuk simbol khusus
yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *,
(, ), -, +, =, dsb.
Panjang bebas, tetapi hanya 32 karakter pertama yang terpakai.
Table 2.1 Tabel Tipe Data.
Tipe Ukuran Jangkauan Nilai Jumlah
Dasar Memory Digit
(byte) Presisi

Char 1 -128 hingga +127 -

Int 2 -32768 hingga -


+32767

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
9

Long 4 -2.147.438.648 -
hingga
2.147.438.647
Float 4 3,4E-38 hingga 6-7
3,4E38
Double 8 1,7E-308 hingga 15-16
1,7E308
Long 10 3,4E-4932 hingga 19
Double 1.1E4932

2. Karakter dan String Literal


String adalah tipe data text yang memungkinkan kita
menyimpan nilai dengan bentuk text, kumpulan dari karakter.
Berbeda dengan char gabungan dari karakter. Perbedaannya
dengan tipe data char adalah mengenai penyimpanannya. Char
menyimpan hanya beberapa karakter saja, sedangkan String
dapat menyimpan banyak karakter, kata, dan kalimat
sekaligus.
3. Escape Sequence Characters
Escape sequence characters adalah urutan sebuah table,
penulisan kode yang mewakili sebuah karakter yang tidak
dapat diwakili secara langsung seperti newline yang diwakili
dengan tanda \n dan petik dua dengan menggunakan tanda \".
Tabel 2.2 Tabel Escape Sequence Characters.
Karakter Keterangan

\O Karakter ber-ASCII nol (karakter null)

\a Karakter bell

\b Karakter B.ackspace

\f Karakter ganti halaman (fromfeed)

\n Karakter baris baru (newline)

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
10

\r Karakter carriage return (ke awal baris)

\t Karakter tab horizontal

\v Karakter tab vertical

\\ Karakter \

\’ Karakter ‘

\” Karakter “

\? Karakter ?

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: Program Membuat Angka NIM


1. Source Code:
#include <iostream>
using namespace std;
int main(){
cout << " 11\t11 \t99999999999\n";
cout << " 11\t11 \t99 999\n";
cout << " 11\t11 \t99 999\n";
cout << " 11\t11 \t99999999999\n";
cout << " 11\t11 \t 999\n";
cout << " 11\t11 \t 999\n";
cout << " 11\t11 \t9999999999\n";
cout <<"\n";
return 0;
}

2. Hasil Tampilan

Gambar 2.1 Tampilan Membuat Angka NIM

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
11

3. Analisa
Dalam program membuat angka NIM ini, terdapat cout yang
berfungsi untuk mencetak atau mengeluarkan kalimat yang ada di dalam
tanda petik dua. Dimana di cout angka yang dikeluarkan adalah angka 1
dan 9 yang disusun sampai membentuk angka NIM user. Selanjutnya di
dalam source code juga terdapat “\t” yang berfungsi sebagai tab atau spasi
dengan jarak yang lebih jauh. Selanjutnya terdapat “\n” yang berfungsi
sebagai end line atau berguna untuk memutuskan kalimat baris pertama
dengan kedua agar tidak saling menyambung. Jika program sudah disusun
sehingga membentuk angka NIM, maka ketika ditampilkan akan
membentuk angka NIM sesuai dengan yang dituliskan oleh user.
II.4 Tugas Praktikum ke-1: Perbaikan Source Code
1. Source Code
#include <iostream>
using namespace std;
#cons define tahun 2022
// cons dan define bisa dipilih salah satu, karena
mereka memiliki fungsi yang sama, sehingga salah satu
dapat dihapus
int main(){
// seharusnya dibawah int main terdapat int tahun; Cout
<> "Masukan Tahun Saat Ini : ";
//cout ditulis menggunakan huruf kecil semua, dan simbol
setelah cout adalah<<
CIN << "tahun";
// penulisan cin juga seharusnya menggunakan huruf kecil
semua, dan simbol yang digunakan bukan<< melainkakn >>,
dan tidak perlu diberi tanda petik dua
Cout >> "Praktikum Algoritma Tahun Ajaran >> tahun <<
"/" >> tahun + 1;
// seharusnya cout ditulis dengan huruf kecil semua, dan
simbol yang digunakan setelah cout seharusnya<<, lalu
tanda petik dua seharusnya berakhir setelah kata Ajaran,
simbol setelah kata Ajaran seharusnya ditulis << dan
simbol setelah "/" juga seharusnya ditulis <<
reTurn 0;
// return seharusnya ditulis menggunakan huruf kecil
semua
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
12

2. Hasil Tampilan

Gambar 2.2 Tampilan Source Code yang sudah diperbaiki


3. Analisa
Analisa saya terhadap program diatas adalah saya menemukan
banyak kesalahan dalam penulisan source code diatas. Seperti kesalahan
dalam penulisan cin, cout, lalu penggunaan define dan cons yang memiliki
fungsi sama, penulisan kata yang masih menggunakan huruf besar seperti
yang terdapat pada kata return, maupun kesalahan pada penggunaan
simbol. Sehingga ketika source code yang salah tersebut, kita benahi dan
disusun sesuai dengan modul yang diberikan, maka program dapat
dijalankan dengan baik dan tidak mengalami error.
II.5 Tugas Praktikum ke-2: Program Data IPK Mahasiswa.
1. Source Code:
#include <iostream>
using namespace std;
int main(){
string nama, kelas;
int nim, semester;
float ip;
cout<<"Masukkan Nama Anda: ";cin>> nama;
cout<<"Masukkan NIM Anda: ";cin>> nim;
cout<<"Masukkan Kelas Anda: ";cin>>kelas;
cout<<"Masukkan Semester anda: ";cin>>semester;
cout<<"Masukkan IP Anda: ";cin>>ip;
cout<<"----------------- Hasil -----------------"<<endl;
cout<<"Nama Anda Adalah "<<nama<<endl;
cout<<"NIM Anda Adalah "<<nim<<endl;
cout<<"Kelas Anda adalah "<<kelas<<endl;
cout<<"Semester Anda Adalah "<<semester<<endl;
cout<<"IP Anda Adalah "<<ip<<endl;
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
13

2. Hasil Tampilan

Gambar 2.3 Tampilan Program Data dan IPK Mahasiswa


3. Analisa
Analisa saya mengenai program diatas adalah saya membuat
program diatas menggunakan string untuk nama dan kelas lalu saya
menggunakan integer untuk NIM dan semester dan yang terakhir saya
menggunakan float untuk bagian IP. Saya membuat program ini sesuai
dengan modul yang diberikan, saya menggunakan cout untuk
menampilkan tulisan dan cin untuk mengetik tulisan ketika program
dijalankan. Ketika program sudah dituliskan secara benar dan sesuai,
maka program dapat berjalan dengan baik dan tidak terdapat error.
II.6 Tugas praktikum ke-3 : Program Luas Persegi Panjang
1. Source Code:
#include <iostream>
using namespace std;
int main(){
string nama;
int nim, panjang, lebar, luas;
cout<<"Masukkan Nama Anda: ";cin>> nama;
cout<<"Masukkan NIM Anda: ";cin>> nim;cout<<endl;
cout<<"============== LUAS PERSEGI PANJANG
=============="<<endl;
cout<<"Masukkan Panjang = ";cin>>panjang;
cout<<"Masukkan Lebar = ";cin>>lebar;
luas = panjang * lebar;
cout<<"Luas = "<<luas<<" cm";
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
14

2. Hasil Tampilan

Gambar 2.4 Program Menghitung Luas Persegi Panjang


3. Analisa
Analisa saya mengenai program diatas adalah saya menggunakan
string untuk menuliskan bagian nama, dan untuk bagian NIM, panjang
dan lebar saya menggunakan integer. Lalu saya menuliskan program
menggunakan cin dan cout. Sehingga ketika program sudah dituliskan
dengan baik dan sesuai maka ketika dijalan akan berhasil dan tidak
mengalami error.
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. 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).
3. Header adalah tempat kita memasukan library yang ada di c++ ke dalam
program, library tersebut berisi deklarasi berbagai fungsi yang
dibutuhkan oleh program baik itu sebagai standar Input/Output maupun
sebagai syntax.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
15

BAB III
Operator dan Statement
Durasi Pertemeuan : 120 Menit
Tujuan Praktikum : 1. Mampu memahami konsep Operator dan I/O pada
C++
2. Mampu membuat program sederhana dari
pemahaman sebelumnya
Alat / bahan : 1. Seperangkat computer.

2. Perangkat lunak: Dev C++.

3. Modul Praktikum Algoritma dan Pemrogramman


2022.

III.1 Landasan Teori


III.1.1 Operator
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. Sebagai contoh :
C = 3 + 7;
Keterangan :
a. C disebut variable
b. = disebut operator assignment
c. 3 dan 7 disebut operand
d. 3 + 7 disebut ekspresi
e. + disebut operator aritmatika (penambahan)
f. = 3 + 7 disebut statemen aritmatika

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
16

Pada dasarnya, ada tiga jenis operator dalam pemrograman C++.


A. Unary
Sifat unary pada operator adalah melibatkan sebuah
operand pada suatu operasi aritmatika.
Contoh: -5
B. Binary
Sifat binary pada operator adalah melibatkan 2 buah
operand pada suatu operasi artimatika.
Contoh: 4 + 8
C. Ternary
Sifat ternary pada operator adalah melibatkan 3 buah
operand pada suatu operasi aritmatika
Contoh: 10 % 3 + 2;
a > b ? 1 : 0;
III.1.2 Operator Assingment
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 ( “ = ” ).
Contoh :
int A, B;
A = 55;
B = 66;
III.1.3 Operator Aritmatika
Operator ini digunakan untuk melakukan sebuah opearasi
penghitungan atau aritmatika. Tugasnya untuk memecahkan
masalah matematika.
Tabel 3.1 Tabel Operator Aritmatika.
Operator Deskripsi Contoh
+ Penjumlahan X+Y
- Pengurangan X-Y
* Perkalian X*Y

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
17

/ Pembagian X/Y
% Sisa pembagian Integer (Modulus) X%Y

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.
Tabel 3.2 Tabel Prioritas Operator.
Kedudukan Operator Deskripsi
Tertinggi ++ -- Increment,
dercement
* / % Perkalian,
pembagian,
modulus
Terendah + - Penjumlahan,
pengurangan

III.1.4 Operator Relasional


Operator relasional atau hubungan digunakan untuk
membandingkan hubungan antara dua buah operand. Pada operator
ini menghasilkan kondisi benar atau salah.
Tabel 3.3 Tabel Operasi Resional.
Operator Deskripsi Contoh
== Sama dengan 5==5 Benar,
(bukan assigment) karena 5
sama dengan
5
!= Tidak sama dengan 5!=2 Benar,
karena 5
tidak sama
dengan 2

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
18

> Lebih besar 5>2 Benar,


karena 5
lebih besar
dari 2
< Lebih Kecil 5<2 Tidak,
karena 5
lebih besar
dari 2
>= Lebih besar atau 5>=5 Benar,
sama dengan karena 5
sama dengan
5
<= Lebih kecil atau 5<=2 Tidak,
sama dengan karena 5
lebih besar
dari 2

III.1.5 Operator Naik dan Turun (Increment dan Decrement)


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.
III.1.6 Operator Majemuk (Compound Assignment)
Operator majemuk digunakan untuk memendekkan
penulisan operasi penugasan semacam :
x = x + 2 ;
y = y * 4 ;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
19

Menjadi :
x += 2;
y *= 4;

Tabel 3.4 Tabel Operator Majemuk.


Operator Keterangan Contoh
Penggunaanya
+= Penjumlahan z += x sama
dengan, z = z + x
-= Pengurangan z -= x sama
dengan, z = z - x
*= Perkalian z = x sama
dengan, z = z x
/= Pembagian z /= x sama
dengan, z = z / x

III.1.7 Operator Bitwise (Logika)


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.
a. Shift Left (<<)
Operator Bitwise Shift Left (<<) adalah operator yang
akan menggeser nilai dalam bentuk bilangan biner ke kiri.
Bentuk Penulisan :
Nilai << jumlah;
b. Shift Right (>>)
Operator Bitwise Shift Right (>>) adalah operator yang
akan menggeser nilai dalam bentuk bilangan biner ke kanan.
Bentuk Penulisan :
Nilai >> jumlah;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
20

c. AND (&)
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.
Tabel 3.5 Tabel AND,
Operand 1 (14) Operand 2 (9) Hasil
1 1 1
1 0 0
1 0 0
0 1 0

d. 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
lagi002E.
Tabel 3.6 Tabel OR.
Operand 1 (12) Operand 2 (10) Hasil
1 1 1
1 0 1
0 1 1
0 0 0

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
21

e. 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 ).
Tabel 3.7 Tabel XOR.
Operand 1 (12) Operand 2 (10) Hasil
1 1 0
1 0 1
0 1 1
0 0 0

f. NOT ( ~ )
Operator Bitwise NOT dilambangkan dengan
menggunakan simbol "~", Operator ini digunakan untuk
membalik nilai bit dari suatu operand.
Tabel 3.8 Tabel NOT.
Operand Hasil
0 1
0 1
0 1
0 1
1 0
1 0
1 0
1 0

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

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
22

h. Logika OR ( || )
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).
i. Logika NOT ( ! )
Operator NOT akan menghasilkan nilai kebalikan dari
operand-nya, misal, jika operand-nya bernilai 1 (true) maka
akan menghasilkan nilai 0 (false).
III.1.8 Operator Ternary
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.
max=operand1<operand2?jika_benar:jika_salah;

III.1.9 Operator I/O


Pada C++ terdapat 2 jenis I/O dasar, yaitu :
1. Statemen Input adalah Statemen / fungsi yang digunakan untuk
menerima data dari keyboard. Operator yang digunakan “>>”,
contoh: cin>> (character in).
2. 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: Program Operasi Pertambahan


1. Source Code:
#include <iostream>
using namespace std;
int main() {
int x=10, y=5;
cout<<"x= "<<x<<endl;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
23

cout<<"y= "<<y<<endl;x+=y;
cout<<"x= "<<x;
return 0;
}
2. Hasil Tampilan

Gambar 3.1 Hasil Tampilan Program Operasi Pertambahan


3. Analisa
Dalam source code diatas kita menggunakan tipe data interger yang
dimana dalam tipe data integer terdapat variable x dan y. variable x dan y
tersebut memiliki nilai yaitu 10 dan 5. Setelah itu, didalam source code
tersebut terdapat rumus yaitu x += y, yang dimana rumus ini merupakan
singkatan dari rumus x = x+y. ketika semua source code sudah ditulis
dengan benar, maka ketika dijalankan hasil running akan muncul dan
tidak mengalami error.
III.4 Latihan Praktikum ke-2: Program Pertambahan dan Perkalian
1. Source Code:
#include <iostream>
using namespace std;
int main(){
int x = 2;
cout<<"nilai x = "<<x<<endl;x += 3;
cout<<"nilai x setelah di tambah 3 adalah"<<x<<endl;
x *= 2;
cout<<"nilai x setelah di kalikan 2 adalah"<<x<<endl;
x++;
cout<<"Nilai x++,x adalah "<<x<<endl;
return 0;
}

2. Hasil Tampilan

Gambar 3.2 Tampilan Program Operasi Pertambahan dan Perkalian

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
24

3. Analisa
Pada program diatas tipe data yang digunakan adalah integer, yang
yang dimana dalam integer tersebut terdapat satu variable yaitu x. setelah
itu terdapat rumus x += 3, yang dimana nilai x adalah 2 lalu ditambahkan
dengan 3 dan hasilnya adalah 5. Yang kedua terdapat rumus x *= 2, yang
dimana nilai x adalah 5 dan dikalikan dengan 2 maka hasilnya adalah 10.
Dan yang terakhir adalah x++, dimana nilai x yaitu 10 dinaikkan satu kali
menjadi 11.
III.5 Latihan Praktikum ke-3: Program Operasi Bitwise
1. Source Code
#include <iostream>
using namespace std;
int main() {
int a=8, b=3, c=6, d=4, e=14, f=7, g=567;
cout<<(a>>b)<<endl;
cout<<(c<<d)<<endl;
cout<<(e^b)<<endl;
cout<<(f&b)<<endl;
cout<<(~g)<<endl;
return 0;
}
2. Hasil Tampilan

Gambar 3.3 Tampilan Program Operasi Bitwise


3. Analisa
Pada program diatas menggunakan tipe data integer, yang dimana
dalam tipe data integer tersebut terdapat beberapa variable dan nilai dari
variable tersebut telah diketahui. Lalu dalam cout pertama berisi a>>b,
yang dimana hal tersebut bermaksud menggeser 3 bit a kesebelah kanan
sebanyak dua kali. Setelah itu pada cout yang kedua juga terdapat program
c<<d yang dimana program ini bermaksud menggeser 4 bit c kearah kiri.
Selanjutnya terdapat program e^b yang bermaksud Membandingkan
berdasarkan sifat dari XOR yaitu untuk mendapatkan nilai 1 (true) maka

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
25

kedua operand harus memiliki nilai yang berbeda, jika kedua operand
memiliki nilai yang sama maka akan mendapatkan nilai 0 ( false ).
Selanjutnya terdapat program f&b yang bermaksud Membandingkan
berdasarkan sifat dari AND yaitu untuk menghasilkan nilai 1 (true) kedua
operand harus bernilai 1(true) jika tidak akan menghasilkan nilai 0 (false).
Yang terakhir adalah ~g yang dimana nilai g ditambah satu terlebih dahulu
lalu dikalikan dengan minus satu.
III.6 Tugas Praktikum ke-1: Program volume dan setengah bola
1. Source Code:
#include <iostream>
using namespace std;
int main() {
float volume, Volume;
const float phi = 3.14;int r;
cout<<"ooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooo"<<endl;
cout<<"oo Program Menghitung Bola dan Setengah Bola
oo"<<endl;
cout<<"ooooooooooooooooooooooooooooooooooooo
ooooooooooooooooooooooooo\n\n";
cout<<"Masukkan r: ";cin>>r; volume = (4
*phi * r * r * r)/3;
cout<<"Volume Bola = "<<volume<<endl;
cout<<"=================================================="
<<endl;
Volume = (2 * phi * r)/3;
cout<<"Volume Setengah Bola "<<Volume;
return 0;
}

2. Hasil Tampilan

Gambar 3.4 Program Menghitung Volume Bola dan Setengah Bola


3. Analisa
Dalam program diatas terdapat beberapa tipe data, yang dimana
terdapat integer untuk jari jari, float untuk volume bola dan setengah bola
dan const float untuk phi. Setelah itu nilai r kita inputkan sesuai dengan

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
26

tiga angka terakhir NIM. Setelah diinputkkan maka program akan


menghitung volume bola dan setengah bola sesuai dengan rumus yang
sudah ditentukan, sehingga ketika program dijalankan maka hasil akan
keluar seperti gambar diatas.
III.7 Tugas Praktikum ke-2: Program konversi suhu
1. Source Code:
#include <iostream>
using namespace std;
int main() {
float C,F,R,K;
cout<<"Konversi Suhu\n\n\n";
cout << "masukkan suhu (celcius) = "; cin >> C;
F = (9.0/5.0) * C + 32;
R = (4.0/9.0) * (F-32);
K = (5.0/4.0) * R + 273;
cout << C << " derajat celcius\t " << " = " << F
<< "\t derajat fahrenheit" <<endl;
cout << F << " derajat fahrenheit\t " << " = " <<R
<<"\t derajat Reamur"<<endl;
cout << R << " derajat Reamur\t " << " = " << K <<"\t
derajat Kelvin" <<endl;
return 0;}

2. Hasil Tampilan

Gambar 3.5 Program Konversi Suhu


3. Analisa
Pada program diatas terdapat tipe data float, yang dimana tipe data
float digunakan karena dalam konversi suhu terdapat pembagian yang bisa
menyebabkan hasilnya bernilai koma atau tidak bulat. Lalu dalam source
code diatas ketika rumus sudah dituliskan dengan benar maka program
atau source code yang dituliskan juga harus sesuai dan benar. Sehingga
ketika program dijlankan maka tidak terjadi error.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
27

III.8 Tugas praktikum ke-3: Program Operasi Not


1. Source Code
#include <iostream>
using namespace std;
int main() {
int x = 33;
cout<<"~x = " << ~x << endl;
return 0;
}

2. Hasil Tampilan

Gambar 3.6 Program Operasi Not


3. Analisa
Pada program diatas terdapat tipe data integer, yang dimana dalam
tipe data integer tersebut terdapat variable x yang bernilai 33. Lalu pada
bagian sourcode terdapat program ~x yang dimana nilai x ditambah satu
terlebih dahulu dan dikalikan dengan minus satu sehingga hasilnya adalah
minus 33. Setelah itu program yang sudah dituliskan dengan baik dan
benar maka akan berjalan dengan baik tanpa adanya error.
III.9 Kesimpulan
1. 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 ( “ = ” ).
2. Operator relasional atau hubungan digunakan untuk membandingkan
hubungan antara dua buah operand. Pada operator ini menghasilkan
kondisi benar atau salah.
3. 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 “ -- ”

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
28

BAB IV
Percabangan
Durasi 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 Pemrogramman


2022.

IV.1 Landasan Teori


IV.1.1 If Else
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

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
29

banyak berurusan dengan pilihan. Disini kita akan mengenal dua


fungsi percabangan yaitu if else dan switch case.
A. Struktur if satu kodisi
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;

B. 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_terpenuhi;
.....
}

C. 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

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
30

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;
}
else if (kondisi3){
statemen_jika_kondisi3_terpenuhi;
}
.....
else {

statemen_jika_semua_kondisi_diatas_tidak_terpenu
hi;
}

IV.1.2 Switch Case


A. Struktur 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.
switch (ekspresi)
{
case konstanta1:
pernyataan1;
break;
case konstanta2:
pernyataan2;
break;
case konstanta3:
pernyataan3;
break;
default:
pernyataan_lain;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
31

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 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 Pemrogramman.
3. Menjalankan script dari modul.
IV.3 Latihan Praktikum ke-1: (If Else) Program Tinggi Berat Badan
1. Source Code:
#include <iostream>
using namespace std;
int main(){
float tb,bb;
char bbi;
cout<<"program hitung berat ideal"<<endl;
cout<<"1. Laki-Laki"<<endl;
cout<<"2. Perempuan"<<endl;;
cout<<"Apa jenis kelamin anda ? (1/2) ";cin>>bbi;
cout<<"Masukkan tinggi anda ";cin>>tb;
if(bbi=='1'){
bb=(tb - 100) - ((tb - 100) * 0.10);
cout<<" Berat badan ideal anda yaitu" <<bb<<" Kg";
} else if(bbi=='2'){
bb=(tb - 100) - ((tb - 100) * 0.15);
cout<<" Berat badan ideal anda yaitu" <<bb<<"kg";

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
32

} else {cout<<" DATA ERROR ATAU INPUTAN BERMASALAH";


}return 0;
2. Hasil Tampilan

Gambar 4.1 Tampilan Program Menghitung Berat Badan


3. Analisa
Pada program ini yaitu program menghitung berat badan ideal,
yangdimana dalam program ini saya menggunan type data float untuk
tinggibadan dan berat badan. Karena dalam penginputan berat dan tinggi
badan biasanya bisa berupa bilangan yang tidak bulat, lalu saya
menggunakan tipe data char untuk menandakan variabel jenis kelamin.
Lalu setelah itu, jika program sudah menggunakan type data yang di
inginkan makan langkah selanjutnya adalah saya menggunakan if dan
else untuk membuat program kasusnya, yang dimana jika kita laki laki
yang disimbolkan dengan angka 1 maka program akan menghitung berat
badan laki laki, lalu jika kita menginputkan angka 2 maka program akan
menghitung berat badan untuk perempuan. Lalu jika kita menginputkan
angka selain 1 dan 2 maka hasil yang keluar ketika program dijalankan
adalah error.
IV.4 Latihan Praktikum ke-2: (If Else) Program Penentuan Bulan
1. Source Code:
#include<iostream>
usingnamespacestd;
int main(){
int b;
cout<<"=== Program Penentuan Bulan ===";
cout<< "\n\nMasukkan bulan ke : "; cin>>b;
if ( b == 1){
cout<<" Bulan ke "<<b <<" adalah bulan
Januari";
}
else if ( b == 2){
cout<<" Bulan ke "<<b <<" adalah bulan
Februari";

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
33

}
else if ( b == 3){
cout<<" Bulan ke "<<b <<" adalah bulan
Maret";
}
else if ( b == 4){
cout<<" Bulan ke "<<b <<" adalah bulan
April"
;
}
else if ( b == 5){
cout<<" Bulan ke "<<b <<" adalah bulan
Mei";
}
else if ( b == 6){
cout<<" Bulan ke "<<b <<" adalah bulan
Juni";
}
else if ( b == 7){
cout<<" Bulan ke "<<b <<" adalah bulan
Juli";
}
else if ( b == 8){
cout<<" Bulan ke "<<b <<" adalah bulan
Agustus";
}
else if ( b == 9){
cout<<" Bulan ke "<<b <<" adalah bulan
September";
}
else if ( b == 10){
cout<<" Bulan ke "<<b <<" adalah bulan
Oktober";
}
else if ( b == 11){
cout<<" Bulan ke "<<b <<" adalah bulan
November";
}
else if ( b == 12){
cout<<" Bulan ke "<<b <<" adalah bulan
Desember";
}
return 0;
}

2. Hasil Tampilan

Gambar 4.2 Tampilan Program Menentukan Bulan

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
34

3. Analisa
Dalam program ini yaitu program menentukan bulan, yang dimana
dalam program ini saya menggunakan tipe data integer. Dan juga
variabel yang saya gunakan adaalah “b”, setelah itu ketika kita sudah
memasukkan variabel yang sesuai dengan keinginan kita setelah itu kita
menuliskan program if dan else pada Dev C++. Ketika semua program
sudah dituliskan dengan baik dan benar, maka ketika program
dijalankan maka tampilannya akan seperti gambar diatas.
IV.5 Latihan Praktikum ke-3: Program Luas dan Keliling
1. Source Code:
#include <iostream>
using namespace std;
int main(){
float kl, d, r, phi=3.14;
cout<<"program Menghitung Luas dan Keliling Setengah
Lingkaran"<<endl;
<<"1. Menghitung Luas Setengah Lingkaran"<<endl;
<<"2. Menghitung Keliling Setengah Lingkaran"<<endl;
<<"Masukkan Pilihan Anda: ";cin>>kl;cout<<endl;
<<"Masukkan Jari-Jari ";cin>>r;cout<<endl;
<<"Masukkan Diagonal ";cin>>d;cout<<endl;
if(kl==1){
kl= (phi**r*r)/2.0;
<<"Luas Setengah Lingkaran adalah " <<kl<<" cm";
} else if(kl==2){
kl = (phi * d)/2.0;
cout<<"Keliling Setengah Lingkaran adalah " <<kl<<"
cm";
} else {
cout<<" DATA ERROR ATAU INPUTAN BERMASALAH"; }
return 0;
}
2. Hasil Tampilan

Gambar 4.3 Tampilan Menghitung Luas dan Keliling Setengah Lingkaran

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
35

3. Analisa
Dalam program di atas yang dimana adalah program untuk
menghitungluas dan keliling setengah bola, dalam program diatas saya
menggunakan tipe data float yang dimana saya menggunakan tipe data
tersebut karena bilangan yang digunakan adalah bilangan yang bukan
bulat. Lalu setelah itu saya menuliskan program selanjutnya yang dimana
adalah if dan else. Setelah program yang saya tuliskan sudah baik dan
benar maka program dapat dijalankan tanpa adanya error.
IV.6 Tugas Praktikum ke-1: (If Else) IPK Mahasiswa
1. Source Code:
#include <iostream>
using namespace std;
int main(){
int b;
cout<<"Program menentukan Grade Mahasiswa "<<endl;
cout<<"Masukkan Nilai Anda: ";cin>>b;cout<<endl;
if(b==0) && (b<=9)){
cout<<"Grade anda adalah F";
}
else if((b>=10) && (b<=19)){
cout<<"Grade anda adalah E";
} else if((b>=20) && (b<=39)){
cout<<"Grade anda adalah D";
} else if((b>=40) && (b<=59)){
cout<<"Grade anda adalah C";
} else if((b>=60) && (b<=79)){
cout<<"Grade anda adalah B";
}else if((b>=80) && (b<=100)){
cout<<"Grade anda adalah A";
} else{
cout<<" Nilai Dibawah 0 atau Diatas 100 Tidak Valid";
}
return 0;
}
2. Hasil Tampilan

Gambar 4.4 Tampilan Program Menentukan Grade Nilai Mahasiswa

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
36

3. Analisa
Dalam program diatas, yang dimana program diatas adalah
program untuk menetukan grade mahasiswa. Tipe data yang saya
gunakan dalamprogram diatas adalah integer dengan variabel data b.
steelah itu sayamenuliskan program sesuai dengan perintah yang ada
secara baik dan benar sehingga ketika program dijalankan dapat berjalan
dengan baik dan benar.
IV.7 Tugas Praktikum ke-2: (If Else) Program Username
1. Source Code:
#include <iostream>
using namespace std;

int main (){


string userName; string
userPassword;

cout << "Please enter your user name: ";cin >>


userName;
cout << "Please enter your user password:";cin >>
userPassword;
if (userName == "Ryo" && userPassword =="2218119"){
cout << "Login Sukses"<< endl;
}
else{
cout << "Login Gagal" <<endl;
}
return 0;
}

2. Hasil Tampilan

Gambar 4.5 Tampilan Program Login


3. Analisa
Dalam program diatas yaitu program sederhana Login, yang
dimana dalam program diatas tipe data yang saya gunakan tipe data
stirng. Lalu jika tipe data sudah sesuai maka kita tinggal menyusun
program if dan else. Setelah program sudah tertulis dengan baik dan
benar, maka program dapat dijalankan dengan baik tanpa adanya error.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
37

IV.8 Tugas praktikum ke-3: Program Menentukan Kelulusan Nilai


1. Source Code:
#include<iostream>
using namespace std;
int main() {
int n;
cout << "Masukkan nilai Anda : ";cin >> n;if(n>= 60)
{
cout<<"Anda Lulus";
}
else {
cout<<"Anda Tidak Lulus";
}
return 0;
}

2. Hasil Tampilan

Gambar 4.6 Tampilan Program Menentukan Kelulusan Nilai


3. Analisa
Pada program diatas, dimana program diatas adalah program
untuk menentukan lulus atau tidak melalui nilai. Yang dimana pada
program ini saya menggunakan tipe data integer. Setelah itu kita
menuliskan program selanjutnya yaitu if dan else, ketika program sudah
dituliskan secara benar dan sesuai maka program dapat berjalan dengan
baik tanpaadanya error seperti gambar diatas.
IV.9 Kesimpulan
1. Struktur if satu kondisi merupakan struktur yang paling sederhana
karena hanya melibatkan satu kondisi yang akan diperiksa.
2. Pada struktur if dua kondisi terdapat sebuah statemen khusus yang
berguna untuk mengatasi kejadian apabila kondisi yang didefinisikan
tersebut tidak terpenuhi (bernilai salah).
3. 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


Raflizar Deswandi Yahya
Tgl:
38

BAB V
Perulangan
Durasi Pertemuan : 120 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 Pemrogramman


2022.

V.1 Landasan Teori


V.1.1 Pengertian Pengulangan(Looping)
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.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
39

Dalam bahasa C++ terdapat empat buah jenis struktur pengulangan,


yaitu :
1. Struktur For
2. Struktur While
3. Struktur Do-While
4. Struktur Nested Loop
V.1.2 Struktur For
Merupakan salah satu bentuk fungsi looping, digunakan untuk
melaksanakan pernyataan berulang kali terhadap 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’,...).
Bentuk umum:
for (inisialisasi ; kondisi ; perubahan) {
Statement;
}
V.1.3 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 melizbatkan dua buah variabel, yaitu A, B dan C.
V.1.4 Struktur 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.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
40

V.1.5 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 menyebabkan struktur
pengulangan ini minimal akan melakukan satu kali proses walaupun
kondisi yang didefinisikan tidak terpenuhi (bernilai salah).
V.1.6 Struktur Nested Loop
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.
a) Biasanya, nested loops digunakan untuk membuat aplikasi
matematika yang menggunakan baris dan kolom. Loop luar,
biasanya digunakan untuk mendefinisikan kolom. Sedangkan loop
dalam, digunakan untuk mendefinisikan baris.
V.2 Langkah – Langkah Praktikum
1. Buka Aplikasi Dev C++.
2. Buka Modul Praktikum Algoritma dan Pemrogramman.
3. Menjalankan script dari modul
V.3 Latihan Praktikum ke-1: (For) Program Perulangan For
1. Source Code:
#include<iostream>
using namespace std;
int main(){
int a, b, c, d, y;
cout<<"A. ";
for (a=-5; a>-40; a-=7){
cout<<a << " ";
}
cout<<endl;
cout<<"B. ";
for (b=1; b>=-243; b*=-3){
cout<<b << " ";
if(b==-243){
break;
}
}
cout<<endl;
y=1;
cout<<"C. ";

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
41

for (c=6, d=0; c<=21; c++,d++){


cout << c << " ";
c+=d;
}
cout<<endl;
cout<<"D. ";
for (d=1; d<=9; d++){
if (d==3 || d == 5 || d==7){
d++;
}
cout<< d << " ";
}
return 0;
}

2. Hasil Tampilan

Gambar 5.1 Program Perulangan For


3. Analisa
Pada program perulangan diatas dimana terdapat empat program
perulangan dengan inisialisasi, kondisi, dan perubahan yang berbeda-beda.
Pada program perulangan A dan B, program perulangannya hampir sama,
dimana pada program A inisialisasinya berawal dari angka -5 dengan
kondisi mencapai -40 dengan perubahan dikurang 7 untuk bilangan
selanjutnya, sedangkan pada program B inisialisasinya berawal dari angka
1 dengan kondisi mencapai angak -243 dan perubahannya dikali dengan -
3 untuk bilangan selanjutnya. Lalu untuk program C dan D memiliki tipe
perulangan yang sama yaitu menggunakan dua variabel akan tetapi
inisialisasi, kondisi, dan perubahannya berbeda sedikit.
V.4 Latihan Praktikum ke-2: (While) Program Fibonaci
1. Source Code:
#include <iostream>
using namespace std;
int fibonacci(int n) {
if (n == 0 || n ==1){
return n;
} else {
return (fibonacci(n-1) + fibonacci(n-2));
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
42

}
int main() {
int n, i = 1, j = 0;
cout << "Masukkan batas jumlah bilangan fibonacci: ";
cin >> n;

cout << "Hasil bilangan fibonacci: \n";


while( i <= n){
i++;
cout<< fibonacci(j) <<" | ";
j++;
}
return 0;
}
2. Hasil Tampilan

Gambar 5.2 Tampilan Program Perulangan While Fibonachi.


3. Analisa
Pada program diatas merupakan program untuk menghitung
bilangan Fibonacci, dimana kondisi batas dari perulangan merupakan
inputan dari user. Lalu untuk inisialisasinya dimulai dari 0 dengan
perubahan nilai bertambah 1. Ketika program perulangan masih bernilai
benar maka perulangan akan terus dijalankan, dan apabila perulangan
tidak bernilai benar maka program akan berhenti.
V.5 Latihan Praktikum ke-3 : Program angka dan huruf
1. Source Code:
#include <iostream>
using namespace std;
int main(){
cout<<"A."<<endl;
int a= 23;
do{
cout << a << " ";
a-=4;
if (a==7){
cout<< a << " ";
a=a-11;
}
}
while (a>=-20);
cout<<endl<<endl<<endl;
cout<<"B."<<endl;
char q='c';

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
43

while(q<='k') {
cout<<q<<"\t";
q=q+2;
}
cout<<endl<<endl<<endl;
cout<<"C."<<endl;
char w='w';
while(w>='k') {
cout<<w<<"\n";
w=w-3;
}
cout<<endl<<endl<<endl;
cout<<"D."<<endl;
int e= 4,x=0;
char r='d';
do {
cout<<e<<" "<<r<<" ";
x++;
e+=x;
r+=x;
} while(e<=14,r<='n');
cout<<endl<<endl<<endl;
cout<<"E."<<endl;
int t=-23;
do {
cout<<t<<" ";
t+=5;
if(t==-18){
cout<<t<<" ";
t+=10;
}
} while(t<=17);
return 0;
}
2. Hasil Tampilan

Gambar 5.3 Tampilan Program Latihan

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
44

3. Analisa
Pada program Latihan angka diatas memiliki cara pengerjaan yang
sama. Dimana dalam kelima program diatas terdapat berbagai macam tipe
data dan variabel. Selanjutnya program kita susun sesuai dengan
perulangan yang ingin kita gunakan. Selanjutnya tinggal kita menetukan
inisialisasi, kondisi dan perubahannya.
V.6 Tugas Praktikum ke-1: (For) Program data Penjualan Motor
1. Source Code
#include <iostream>
using namespace std;
int main (){
cout<<"<<<<<<<<<<<<<<Pilihan Kendaraaan
Bermotor>>>>>>>>>>>>\n\n";
int pilih, jumlah, n, a;
cout<<"1. HONDA \n";
cout<<"2. YAMAHA \n";
cout<<"3. KAWASAKI \n";
cout<<"4. KTM \n";
cout<<"5. SUZUKI \n";
cout<<"Masukkan pilihanmu : "; cin>>pilih;
if(pilih==1){
cout<<"input data kendaraan honda : ";
cin>>jumlah;
for(n=1;n<=jumlah;n++){
cout<<"pembeli ke - "<<n<<" = ";
cin>>a;
}
}
else if(pilih==2){
cout<<"input data kendaraan yamaha :
";cin>>jumlah;
for(n=1;n<=jumlah;n++){
cout<<"pembeli ke - "<<n<<" = ";
cin>>a;
}
}
else if(pilih==3){
cout<<"input data kendaraan kawasaki :
";cin>>jumlah;
for(n=1;n<=jumlah;n++){
cout<<"pembeli ke - "<<n<<" = ";
cin>>a;
}
}
else if(pilih==4){
cout<<"input data kendaraan ktm :
";cin>>jumlah;
for(n=1;n<=jumlah;n++){
cout<<"pembeli ke - "<<n<<" = ";
cin>>a;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
45

}
else if(pilih==5){
cout<<"input data kendaraan suzuki : ";
cin>>jumlah;
for(n=1;n<=jumlah;n++){
cout<<"pembeli ke - "<<n<<" = ";
cin>>a;
}
}
else{
cout<<"inputan tidak diterima";
}
}
Return 0;
}

2. Hasil Tampilan

Gambar 5.4 Tampilan Program Penjualan Motor


3. Analisa
Pada program diatas, dimana program diatas merupakan program
inputan data kendaraan. Dalam program diatas menggunakan program
perulangan for yang dikombinasikan dengan if dan else. Yang dimana
setelah kita menginput pilihan dan data kendaraan, dimana data kendaraan
digunakan sebagai banyaknya perulangan, hal selanjutnya yang dilakukan
adalah menulis program if dan else lalu di dalam program if dan else
tersebut terdapat program perulangan, sehingga jika sudah benar maka
program dapat berjalan seperti gambar diatas.
V.7 Tugas Praktikum ke-2: (While) Program Kelipatan
1. Source Code:
#include <iostream>
using namespace std;

int main(){

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
46

int a,b,c=1;
cout<<"==== NIM || NAMA ===="<<endl;
cout<<"Masukkan nilai kelipatan: ";cin>>a;
cout<<"Masukkan nilai akhir:
";cin>>b;cout<<endl;
cout<<"----- Hasil Output -----\n"<<endl;
while(c<=b){
if(c%a==0){
c++;
cout<<" * ";
continue;
}
cout<<c<<" ";
c++;
}
return 0;
}

2. Hasil Tampilan

Gambar 5.5 Tampilan Program Kelipatan.


3. Analisa
Pada program diatas, dimana program tersebut kita memasukkan
nilai kelipatannya yang akan diubah dan batas akhir dari nilainya. Yang
dimana pada program diatas inisialisasinya berawal dari angka 1 dengan
kondisi mencapai angka 20 sesuai dengan inputan diawal.lalu Ketika
program berjalan, dan Ketika program menuliskan angka 6 dan
kelipatannya maka akan diganti dengan simbol bintang.
V.8 Tugas praktikum ke-3 (Nested): Program NIM ganjil
1. Source Code:
#include <iostream>
using namespace std;

int main(){
cout<<"NIM GANJIL: 2218119"<<endl;
cout<<"Ganjil 1"<<endl;
for(int x=1;x<=6;x++){
for(int y=6;y>x;y--){
cout<<x<<" ";
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
47

cout<<endl;
}
for(int x=5;x>=1;x--){
for(int y=5;y>=x;y--){
cout<<y<<" ";
}
cout<<endl;
}
cout<<"Ganjil 2"<<endl;
for(char j='E';j>='A';j--){
for(char k='A';k<=j;k++){
cout<<k<<" ";
}
cout<<endl;
}
for(char j='A';j<='E';j++){
for(char k='A';k<=j;k++){
cout<<j<<" ";
}
cout<<endl;
}

return 0;
}
2. Hasil Tampilan

Gambar 5.6 Tampilan NIM ganjil menggunakan Nested


3. Analisa
Pada program diatas terdapat perulangan pertama yang dimana pada
program pertama terdapat dua variabel dan dua kali perulangan. Pada
perulangan pertama terdapat variabel x dengan inisialisasinya berawal
dari 1 dengan kondisi nilai mencapai 6 dan perubahannya adalah nilainya
selalu bertambah 1. Dan juga terdapat variabel y dengan nilai
inisialisasinya berawal dari 6 dengan kondisinya lebih dari nilai variabel

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
48

x dan perubahan nilainya dikurangi 1. Dan pada perulangan pertama ini


nilai yang dicetak adalah nilai dari variabel x. selanjutnya pada
perulangannya yang kedua, terdapat dua variabel yang sama juga, dimana
pada variabel x-nya inisialisasinya berawal dari 5 dengan kondisi
mencapai 1 dan perubahan nilainya dikurangi 1. Dan pada variabel y
inisialisasinya berawal dari 5 juga dengan kondisi nilainya lebih dari nilai
variabel x dengan perubahan nilainya adalah dikurangi 1. Dan pada
perulangan yang kedua ini nilai yang dicetak adalah nilai dari variabel y.
V.9 Kesimpulan
1. Perulangan data atau yang biasa disebut dengan “looping” adalah proses
yang dilakukan secara berulang-ulang sampai batas yang ditentukan.
2. Struktur for di dalam C++ dapat juga melibatkan lebih dari satu variabel
namun yang jelas satu diantaranya akan digunakan sebagai indeks
pengulangan.
3. 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.
4. Struktur while yang melakukan pemeriksaan kondisi di awal blok
perulangan, pada struktur do-while kondisi justru ditempatkan di bagian
akhir.
5. Program perulangan While dan Do-While merupakan dua program yang
mirip. Hanya saja yang membedakan kedua program ini adalah
pemeriksaan kondisinya saja.
6. 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.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
49

BAB VI
Function (Non-Void) dan Prosedure (Void)
Durasi Pertemuan : 120 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 Pemrogramman


2022.

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.
1. Jenis-jenis fungsi ada dua yaitu:
2. Non void adalah fungsi dengan nilai balik atau fungsi dengan
return value ketika fungsi dipanggil. Fungsi Non Void wajib
memiliki return value ketika ingin digunakan.
3. Void (Prosedur) adalah Fungsi yang tidak mengembalikan nilai
atau fungsi yang tidak menghasilkan (return value) ketika fungsi
dipanggil, atau biasa disebut dengan sebuah prosedur. Namun jika
Void tetap diberikan return value, maka fungsi tersebut tetap bisa
dijalankan.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
50

4. Keuntungan memakai fungsi :


a. Menguraikan tugas pemrograman rumit menjadi langkah-
langkah yang lebih sederhana atau kecil.
b. Mengurangi duplikasi kode (kode yang sama ditulis berulang-
ulang) dalam program.
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:
1. Ada keyword return
2. Ada tipe data yang mengawali fungsi
3. Tidak ada keyword void
4. 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
Fungsi bisa saja memiliki satu atau lebih parameter.
Parameter itu sendiri merupakan variabel berisi nilai yang akan

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
51

disertakan ke dalam proses yang dilakukan oleh fungsi. 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. Untuk
bagian ini harus diawali dengan tanda { dan diakhiri dengan tanda
}.
5. Return Value
Perintah return pada fungsi artinya mengembalikan nilai
yang tersimpan dalam sebuah variabel kepada kode yang akan
memanggil function tersebut. Tujuan dari sebuah return adalah
untuk mengembalikan sebuah nilai pada function.
a. Fungsi dengan paramater
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.
b. Fungsi tanpa parameter
Fungsi tanpa parameter bisa didefinisikan sebagai fungsi
yang setiap kali pemanggilan fungsi tersebut, hasil yang
didapatkan selalu bernilai tetap.
V.1.2 Fungsi tanpa Nilai Balik
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

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
52

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.
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: Program Program Jari-Jari(Function)


1. Source Code
#include <iostream>
#include <iomanip>
using namespace std;
float volume(float a){
float b;
b =1.333*3.14*a*a*a;
return b;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
53

}
int main(){
cout<<setprecision(9);
cout<<"NIM: 2218119"<<endl;
float x,y;
cout<<"Masukan Nilai:Jari-Jari : "; cin >> x;
cout <<"Volume Bola = " <<volume(x)<<endl;
cout <<"Volume Setengah Bola = " <<volume(x)/2;
return 0;
}
2. Hasil Tampilan

Gambar 6.1 Tampilan Program Jari -jari


3. Analisa
Program diatas merupakan program dengan fungsi non-void,
dimana program fungsi non-void nanti akan dipanggil kedalam program
utama. Didalam program terdapat fungsi non-void untuk mencari volume
bola dan setengah bola. Jari jari yang digunakan adalah inputan dua angka
terakhir NIM yang sudah ditambah sepuluh. Setelah kita sudah
menginputkan NIM maka program utama akan otomatis memanggil
fungsi non-void yang sudah ditentukan, dimana pada volume bola
program akan otomatis memanggil fungsi non-void, dan pada volume
setengah bola fungsi non-void yang dipanggil akan dibagi dua.
VI.4 Latihan Praktikum ke-2: Program Biodata Mahasiswa(Void)
1. Source Code
#include <iostream>
using namespace std;
void nama(){
string nama;
cout<<"Masukkan Nama: ";cin>>nama;
}
void nim(){
int nim;
cout<<"Masukkan NIM: ";cin>>nim;
}
void kelamin(){
string kelamin;
cout<<"Masukkan Jenis Kelamin: ";cin>>kelamin;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
54

int main(){
cout<<"-----Biodata Mahasiswa-----"<<endl;
string x;
nama();getline(cin,x);
nim();
kelamin();
return 0;
}
2. Hasil Tampilan

Gambar 6.2 Tampilan Program Biodata dengan Fungsi Void


3. Analisa
Pada program diatas, dimana terdapat program Void biodata
mahasiswa dengan nama, NIM, dan jenis kelamin merupakan inputan
user. Dalam program diatas, semua program dan variabel serta tipe data
nama, NIM, dan jenis kelamin berada dalam Void. Sehingga dalam
program utama kita hanya memanggil nama fungsinya saja. Terdapat
getline dalam program diatas, dimana getline bertujuan agar ketika kita
memasukkan nama Panjang program tidak akan langsung berhenti ketika
kita menginputkannya.
VI.5 Latihan Praktikum ke-3: Program cek Bilangan Ganjil Genap
1. Source Code
#include <iostream>
using namespace std;

void bilangan(){
int x;
cout<<"Masukkan Nilai Bialangan: ";cin >> x;
if (x % 2 == 0){
cout<<x<<" Adalah Bilangan Genap ";
}
else{
cout<<x<<" Adalah Bilangan Ganjil ";
}
}
int main(){
bilangan();
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
55

2. Hasil Tampilan

Gambar 6.3 Tampilan Program Menentukan Bilangan Ganjil Genap


3. Analisa
Dalam program diatas yaitu program untuk menentukan apakah nilai
dari inputan user merupakan bilangan ganjil atau genap. Dalam
menentukan bilangan ganjil atau genap dari nilai inputan user dalam
program Void terdapat inputan nilai bilangan. Dimana ketika user sudah
menginputkan nilainya maka program akan memproses input-an tersebut
sesuai dengan program if-else diatas. Dimana jika nilai input user habis
dibagi 2 maka nilai tersebut merupakan bilangan genap, akan tetapi jika
nilai input user tidak habis dibagi 2 maka bilangan tersebut merupakan
bilangan ganjil. Lalu dalam program utama kita hanya menuliskan nama
dari program Void-nya yaitu bilangan.
VI.6 Tugas Praktikum ke-1: Program Konversi Satuan(Void)
1. Source Code
#include <iostream>
using namespace std
void satuan(){
cout << "----- Konversi Satuan -----" << endl;
cout << endl;
float km, hm, dam, m, cm
cout << "Masukkan Angka (cm): ";cin >> cm;
cout << endl;
km = cm / 100000;
hm = cm / 10000;
dam = cm / 1000;
m = cm / 100;
cout << " Dalam Km Menjadii = " << km <<" Km" << endl;
cout << " Dalam Hm Menjadii = " << hm <<" Hm" << endl;
cout << " Dalam Dam Menjadii = " << dam <<" Dam" <<
endl;
cout << " Dalam M Menjadii = " << m <<" M" << endl;
}
int main(){
satuan();
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
56

2. Hasil Tampilan

Gambar 6.4 Tampilan Program Konversi Satuan

3. Analisa
Program diatas merupakan program untuk mengkonversi satuan.
Dimana dalam program void terdapat inputan user untuk memasukkan
nilai awal. Ketika nilai sudah dimasukkan maka program akan ototmatis
mengkonversi nilai tersebut. Sehingga dalam program utama maka nama
fungsi dari Void tersebut yang ditulis dan program akan berjalan tanpa
error.
VI.7 Tugas Praktikum ke-2: Program Turunan Fungsi (Function)
1. Source Code
#include <iostream>
using namespace std;
int rumus(int z){
int y;
y =4*(z*z*z)-4*(z*z)+5*z+7;
return y;
}
int turunan(int z){
int j;
j=3*4*(z*z)-4*(z*z)+5*z;
}
int main(){
int x,y;
cout<<"f(x)= 4x^3-4x^2+5x+7"<<endl;
cout<<"Masukan nilai x = "; cin >> x;
cout <<"Hasil = " <<rumus(x)<<endl;
cout<<" Hasil Persamaan Setelah Diturunkan =
"<<turunan(x)<<endl;
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
57

2. Hasil Tampilan

Gambar 6.5 Tampilan Program Turunan Fungsi


3. Analisa
Dalam program diatas dimana program untuk menyelesaikan
persamaan yang sudah ditetapkan pada program utama. Dimana pada nilai
x nya merupakan inputan bebas dari user. Sehingga ketika sudah
menginputkan nilai maka program akan otomatis menghitung hasil
pertama dan hasil setelah persamaan diturunkan. Dimana rumus atau
persamaan yang ada pada fungsi non-void akan otomatis terpanggil ke
dalam program utama dan memproses persamaan tersebut.
VI.8 Tugas praktikum ke-3: Program Persegi panjang(Void)
1. Source Code
#include <iostream>
using namespace std;

void perulangan(){
int p,l;
cout<< "Masukkan Panjang: ";cin>>p;
cout<< "Masukkan Lebar: ";cin>>l;cout<<endl;

for(int a=1; a<=p;a++){


for(int b=1; b<=l; b++){
cout<<a;
}
cout<<endl;
}
}
int main(){
perulangan();
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
58

2. Hasil Tampilan

Gambar 6.6 Tampilan Program Bilangan Persegi panjang.


3. Analisa
Dalam program diatas terdapat program untuk membuat persegi
Panjang angka. Dimana untuk Panjang dan lebarnya merupakan input-an
dari user. Untuk input-an Panjang dan lebar terdapat dalam program Void,
dimana dalam program Void tersebut terdapat program perulangan.
Sehingga nilai input-an tadi akan dipakai dalam kondisi perulangannya.
Sehingga dalam program pertama hanya perlu menuliskan nama fungsi
dari program Void tersebut dan program akan berjalan.
VI.9 Kesimpulan
1. Fungsi merupakan statemen yang dikelompokkan menjadi satu bagian kode
(blok program) untuk menyelesaikan tugas spesifik tertentu.
2. Void (Prosedur) adalah Fungsi yang tidak mengembalikan nilai atau fungsi
yang tidak menghasilkan (return value) ketika fungsi dipanggil, atau biasa
disebut dengan sebuah prosedur.
3. Fungsi non-void disebut juga function. Disebut non-void karena
mengembalikan nilai kembalian yang berasal dari keluaran hasil proses
function tersebut.
4. C++ tidak mengenal istilah prosedur (procedure) seperti pada saat kita
melakukan pemrograman dengan menggunakan bahasa Pascal
5. Dari fungsi void, kita tidak bisa mengembalikan nilai apa pun, tapi kita bisa
mengembalikan sesuatu selain nilai.
6. Fungsi void dapat me-return kan fungsi lain, dengan syarat fungsi tersebut
harus fungsi void juga.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
59

BAB VII
Array
Durasi Pertemuan : 120 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 Pemrogramman


2022.

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

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
60

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.
Namun anda juga dapat mendeklarasikan array sekaligus memberikan
inisialisasi tanpa harus memberikan tambahan deklarasi ukuran array, sebagai
berikut:
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 :

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
61

tipedata nama_array[jmlh baris][jmlah kolom];


float bil[2][5];
Ilustrasi tabel array sebagai berikut :
Tabel 7. 1 Tabel Array
[0][0] [0][1] [0][2] [0][3] [0][4]

[1][0] [1][1] [1][2] [1][3] [1][4]

Contoh diatas menunjukkan bahwa kita dapat mengisi data dari


array 00, 01, 02, 03, 04, 10, 11 dan seterusnya. Sehingga, data yang
diisi totalnya menjadi 2 x 5 = 10 data.
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: Program Penjumlahan


1. Source Code
#include <iostream>
using namespace std;
int main(){
int data[10] = {1,2,3,4,5,6,7,8,9,0} ;
int t;
cout<<"Data Array [1,2,3,4,5,6,7,8,9,0]"<<endl;
cout << "Target : " ;
cin >> t ;
for(int a=0 ; a<=t ; a++){
for(int b=0 ; b<=10 ; b++){
if(a+b==t){
cout <<"Penjumlahan dari " << t << " = " ;
cout << a << " + " << b << " = " << t << endl;
break ;
}
}
}
return 0;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
62

2. Hasil Tampilan

Gambar 7.1 Tampilan Program Penjumlahan


3. Analisa
Dalam program Array diatas, data yang disediakan adalah sebanyak
10 data. Dimana dalam program ini juga terdapat program Nested Loop,
sehingga kita batas kondisi yang akan digunakan adalah hasil input dari
user. Setelah itu juga terdapat program if yang digunakan sebagai program
selanjutnya dimana nilai perulangan a dan b yang muncul akan
dijumlahkan dan menghasilkan nilai yang di masukkan oleh user.
VII.4 Latihan Praktikum ke-2: Program Data Tinggi Badan
1. Source Code
#include <iostream>
using namespace std;
int main (){
int nilai [4];
int data,nomor,tb;
cout <<"Masukkan Banyak Data = "; cin>>data;
cout <<endl;
for (nomor=0; nomor<4; nomor++){
cout<<"Tinggi Badan mahasiswa ke - "<<nomor+1<<" =
";cin>>nilai[nomor];
}
cout<<endl;
cout<<"Data Tinggi Badan Mahasiswa Semester 1
"<<endl<<endl;
for (nomor=0; nomor<data; nomor++){
cout <<"Tinggi Badan Mahasiswa ke - "<<nomor+1<<" :
"<<nilai[nomor]<<endl; }
cout<<endl;
cout<<"Tinggi Badan Tertinggi = "<<nilai[0]<<endl;
cout<<"Tinggi Badan Terendah = "<<nilai[2]<<endl;
return 0 ;
}

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
63

2. Hasil Tampilan

Gambar 7.2 Tampilan Program Data Tinggi Badan


3. Analisa
Dalam program Array diatas yang merupakan program menentukan
tinggi badan tertinggi dan terendah. Dimana data array yang digunakan
adalah sebanyak 4 data. Selanjutnya jika kita sudaha menginputkan
banyak data di awal, maka program akan melanjutkan dengan
mengerjakan perulangan untuk menginputkan tinggi badan yang akan
dimasukkan. Setelah semua tinggi badan Mahasiswa dimasukkan, maka
program akan mengerjakan ulang data dengan langsung mengeluarkan
hasil inputan dan hasil dari tinggi badan yang terendah dan tertinggi.
VII.5 Latihan Praktikum ke-3: Program Data Point
1. Source Code
#include <iostream>
using namespace std;
int main () {
int jumlah;
cout<<"Masukkan Banyak Data : ";cin>>jumlah;
string nama[jumlah];
int point[jumlah];
for(int i = 0;i < jumlah; i++){
cout<<"\nData ke- "<<i+1<<endl;
cout<<"Masukkan Nama : ";cin>>nama[i];
cout<<"Masukkan Point : ";cin>>point[i];
}
cout<<"\n\nGrafik Data\n";
cout<<"-----------------------------------\n";
for(int i = 0;i < jumlah; i++){
cout<<"Data ke - "<<i+1<<" "<<nama[i]<<": ";
for(int j = 0;j <point[i];j++){
cout<<"*";

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
64

}
cout<<endl;
}
return 0;
}

2. Hasil Tampilan

Gambar 7.3 Tampilan Program Data Point


3. Analisa
Dalam program diatas, untuk batas data array yang kan digunakan
kita harus memasukkannya terlebih dahulu. Dimana nilai yang kita
masukkan tersebut juga akan digunakan di dalam perulangan selanjutnya.
Dimana ketika kita telah memasukkan nilai data di awal maka selanjutnya
program akan mengerjakan perulangan yang pertama dimana di
perulangan yang pertama, nanti kita akan diminta untuk memasukkan
nama dan point. Setelah kita sudah selesai memasukkan semuanya, maka
program akan langsung mengeluarkan datn dengan nama dan point-nya
yang berupa bintang.
VII.6 Tugas Praktikum ke-1: Program Nilai Mahasiswa
1. Source Code
#include <iostream>
using namespace std ;
int main (){
int n;
string nama[10],grade[10];
int nilai[10],nim[10];
cout<<"Masukan Jumlah Data = ";cin>>n;
cout<<endl;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
65

for (int a=0; a<n; a++) {


cout<<endl;
cout << "Mahasiswa ke-" << a+1 <<endl;
cout << "Masukan Nama = " ;cin >> nama[a];
cout << "Masukkan NIM = " ;cin >> nim[a] ;
cout << "Masukan Nilai = " ;cin >> nilai[a] ;
if (nilai[a] <= 50) {
grade[a]="C";
} else if (nilai[a] <= 75){
grade[a]="B";
}else if (nilai[a] <= 100){
grade[a]="A";
}
}
cout<<endl;
cout<<"DAFTAR NILAI MAHASISWA"<<endl;
cout<<"-------------------------------------------
"<<endl;
cout<<"NO NIM NAMA GRADE"<<endl;
cout<<"-------------------------------------------
"<<endl;
for (int a=0; a<n;a++) {
cout<<a+1<<" "<<nim[a]<<" "<<nama[a]<<"
"<<grade[a]<<endl;
cout<<"-------------------------------------------
"<<endl;
}
return 0;
}

2. Hasil Tampilan

Gambar 7.4 Tampilan Program Nilai Mahasiswa

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
66

3. Analisa
Dalam program diatas, data array yang disediakan adalah sebanyak
10 data untuk nama, NIM, dan nilai. Dimana ketika kita menjalankan
program maka hal yang pertama kita lakukan adalah memasukkan nilai
data yang akan digunakan. Setelah itu kita akan mengisi nama, NIM, dan
nilai sesuai dengan banyak data yang kita unputkan tadi. Setelah selesai
memasukkan semuanya maka program perulangan yang terakhir otomatis
akan bekerja untuk menampilkan nama dan NIM dan juga Nilai yang
sudah berbentuk gradenya.
VII.7 Tugas Praktikum ke-2: Program Data Mahasiswa
1. Source Code
#include <iostream>
using namespace std ;
int main (){
int r,n;
string nama[10],darah[10];
int ruang[10],sistolik[10],diastolik[10];
cout<<"Masukan Jumlah Ruangan = ";cin>>n;
cout<<"Masukan Jumlah Pasien = ";cin>>r;
cout<<endl;
for(int b=0 ; b<n ; b++ ){
cout << "Data Ruangan ke- " << b+1 <<endl;
cout<<"===========================================" <<
endl;
for (int a=0; a<r; a++) {
cout<<endl;
cout << "Pasien ke-" << a+1 <<endl;
cout << "Masukan Nama = " ;cin >> nama[a];
cout << "Masukkan SISTOLIK = " ;cin >> sistolik[a] ;
cout << "Masukan DIASTOLIK = " ;cin >> diastolik[a] ;
if (sistolik[a] < 90||diastolik[a] <60){
darah[a]="Hipotensi";
} else if (sistolik[a] > 140 || diastolik[a] >80) {
darah[a]="Hipertensi";}
cout<< endl;
}
}
cout<<endl;
cout<<"DAFTAR PASIEN"<<endl;
cout<<"-------------------------------------------
"<<endl;
cout<<"NO NAMA SISTOLIK DIASTOLIK
STATUS"<<endl;
cout<<"-------------------------------------------
"<<endl;
for (int b=0 ; b<n ; b++ ){
cout<<"DATA RUANG KE- "<<b+1 <<endl;
for (int a=0; a<r ;a++) {

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
67

cout<<a+1<<" "<<nama[a]<<"
"<<sistolik[a]<<" "<<diastolik[a]<<" "<<
darah[a] << endl;
cout<<"-------------------------------------------
"<<endl;
}
}
return 0;
}

2. Hasil Tampilan

Gambar 7.5 Tampilan Program Data Pasien


3. Analisa
Dalam program diatas, hal pertama yang akan kita lakukan ketika
program berjalan adalah memasukkan jumlah ruangan dan pasien.
Selanjutnya pada program perulangan yang pertama, dimana batas
kondisinya menggunakan nilai dari jumlah pasien. Hal selanjutnta adalah
kita memasukkan nama, SISTOLIK, dan DIASTOLIK dari pasien.
Setelah semua terisi maka program akan otomatis mejalnnkan program
perulangan yang kedua, dimana program tersebut akan menampilkan data
ruangan, nama, SISTOLIK, DIASTOLIK dan status dari pasien.
VII.8 Tugas praktikum ke-3: Program Array
1. Source Code
#include <iostream>
using namespace std;
int main(){
int data[10] = {1,2,3,4,5,6,7,8,9,0} ;

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
68

cout<<data[0]<<endl;
cout<<data[1]<<endl;
cout<<data[2]<<endl;
cout<<data[3]<<endl;
cout<<data[4]<<endl;
cout<<data[5]<<endl;
return 0;
}

2. Hasil Tampilan

Gambar 7.6 Tampilan Program Array


3. Analisa
Dalam program array diatas dimana data yang menampung jumlah
array sudah ditentukan yaitu 10. Dalam program diatas juga sudah
terdapat nilai dari masing maasing data. Sehingga ketika kita menuliskan
program dan data yang kita ingin keluarkan sesuka hati kita, maka kita
dapat memasukkan nilai dari data array yang ada sesuai dengan keinginan
kita.
VII.9 Kesimpulan
1. 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.
2. 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.
3. 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,

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
69

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. 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 ( “ = ” ).
3. 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.
4. Pernyataan switch adalah pernyataan yang digunakan untuk menjalankan salah
satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari
sebuah ungkapan dan nilai penyeleksian.
5. Perulangan data atau yang biasa disebut dengan “looping” adalah proses yang
dilakukan secara berulang-ulang sampai batas yang ditentukan.
6. For merupakan salah satu bentuk fungsi looping, digunakan untuk
melaksanakan pernyataan berulang kali terhadap sejumlah nilai yang telah
ditetapkan.
7. 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.
8. 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.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
70

9. Fungsi merupakan statemen yang dikelompokkan menjadi satu bagian kode


(blok program) untuk menyelesaikan tugas spesifik tertentu.
10. Void (Prosedur) adalah Fungsi yang tidak mengembalikan nilai atau fungsi
yang tidak menghasilkan (return value) ketika fungsi dipanggil, atau biasa
disebut dengan sebuah prosedur.
11. Fungsi non-void disebut juga function. Disebut non-void karena
mengembalikan nilai kembalian yang berasal dari keluaran hasil proses
function tersebut.
12. 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.

Disetujui Aslab Ttd / Paraf


Raflizar Deswandi Yahya
Tgl:
1

DAFTAR PUSTAKA
Laboratorium Pemrograman Komputer. 2022. Modul Praktikum Algoritma Dan
Pemrogramman. Laboratorium Pemrograman Komputer Teknik Informatika
Insitut Teknologi Nasional Malang.

Willms, André. C++-der interaktive Programmierkurs: CD-ROM mit 8 Stunden


Lernprogramm und Entwicklungsumgebung Dev-C++; Begleitbuch. Vol. 1.
Pearson Deutschland GmbH, 2008.

Walters, D. L., Webster, M., Pasupati, S., Walton, A., Muller, D., Stewart, J., ... &
Bannon, P. (2015). Position statement for the operator and institutional
requirements for a transcatheter aortic valve implantation (TAVI)
program. Heart, Lung and Circulation, 24(3), 219-223.

Karplus, Kevin. Using if-then-else DAGs for multi-level logic minimization.


Computer Research Laboratory, University of California, Santa Cruz, 1988.

Turjan, Alexandru, Bart Kienhuis, and Ed Deprettere. "Translating affine nested-


loop programs to process networks." Proceedings of the 2004 international
conference on Compilers, architecture, and synthesis for embedded systems.
2004.

Schwarz, Wolfgang, and Jürgen Spilker. "A VARIANT OF PROOF OF


DABOUSSI'S THEOREM ON THE CHARACTERIZATION OF
MULTIPLICATIVE FUNCTIONS WITH NON-VOID FOURIER-BOHR-
SPECTRUM." Analysis 6.2-3 (1986): 237-250.

Meyer, Bertrand. "Prelude to a Theory of Void." JOOP 11.7 (1998): 36-48.

Indriana, Nilna. "Array: Array." An-Nas: Jurnal Humaniora 3.2 (2019): 51-62.
LABORATORIUM PEMROGRAMAN KOMPUTER
INSTITUT TEKNOLOGI NASIONAL
Kampus II : Jl. Raya Karanglo Km. 2 Malang

LEMBAR ASISTENSI PRAKTIKUM ALGORITMA DAN PEMROGRAMAN


SEMESTER GANJIL TAHUN AKADEMIK 2022/2023
Nama : Octaryo Lucas Martua Simamora
NIM : 2218119
Kelompok : 31

Asistensi Paraf
No. Tanggal
Konsep Program Hasil Akhir

Pengenalan C++
Operator dan Statement I/O
Instruktur

Percabangan
1 Perulangan
Fungsi Void dan Non-Void
Array
Dosen

Batas Akhir:

Malang, … Januari 2023


Asisten Laboratorium Dosen Pembimbing,

(Raflizar Deswandi Yahya) (F .X Ariwibisono, S. T .M.Kom)


2018112 NIP.P 1030300397

Anda mungkin juga menyukai