TUGAS1_DASAR_PEMROGRAMAN_HENDRO_GUNAWAN_200401072103_IF-101.pdf

HendroGunawan8 165 views 119 slides Nov 27, 2024
Slide 1
Slide 1 of 119
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84
Slide 85
85
Slide 86
86
Slide 87
87
Slide 88
88
Slide 89
89
Slide 90
90
Slide 91
91
Slide 92
92
Slide 93
93
Slide 94
94
Slide 95
95
Slide 96
96
Slide 97
97
Slide 98
98
Slide 99
99
Slide 100
100
Slide 101
101
Slide 102
102
Slide 103
103
Slide 104
104
Slide 105
105
Slide 106
106
Slide 107
107
Slide 108
108
Slide 109
109
Slide 110
110
Slide 111
111
Slide 112
112
Slide 113
113
Slide 114
114
Slide 115
115
Slide 116
116
Slide 117
117
Slide 118
118
Slide 119
119

About This Presentation

a) Algoritma adalah urutan langkah logis pengambilan keputusan untuk memecahkan masalah secara sistematis.
b) Program adalah himpunan atau kumpulan instruksi tertulis untuk melakukan tugas tertentu dengan komputer atau sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaik...


Slide Content

1


DASAR PEMROGRAMAN
TUGAS 1
Nama : Hendro Gunawan
NIM : 200401072103
Kelas : IF-101
BAB 1
TERMINOLOGI PEMROGRAMAN
1. Algoritma
• Algoritma adalah urutan langkah logis pengambilan keputusan untuk memecahkan masalah
secara sistematis.
2. Program
• Himpunan atau kumpulan instruksi tertulis untuk melakukan tugas tertentu dengan komputer.
• Sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah.
3. Bahasa Pemrograman
• Bahasa yang digunakan untuk menulis suatu program.
4. Kode Sumber
• Himpunan atau kumpulan instruksi komputer yang ditulis menggunakan bahasa pemrograman.
5. Progammer
• Yaitu orang yang menulis program menggunakan bahasa pemrograman.
6. Software
• Himpunan atau kumpulan program dan data terkait.
1.1. Tiga Level Bahasa Pemrograman
1. Bahasa Tingkat Rendah
• Bahasa mesin berisikan kode-kode mesin yang hanya dapat diinterpretasikan langsung oleh
mesin komputer.
• Berupa kode numerik 0 dan 1 microcode: sekumpulan instruksi dalam bahasa mesin
• Keuntungan: eksekusi cepat
• Kekurangan: sulit dipelajari manusia
2. Bahasa Tingkat Menengah
• Bahasa assembly bahasa simbol dari bahasa mesin. Contohnya adalah: ADD, MUL, SUB, dll.
• Macro instruksi: sekumpulan kode dalam bahasa assembly.
• Kelebihan: eksekusi cepat, masih dapat dipelajari dari bahasa mesin, file kecil.
• Kekurangan: tetap sulit dipelajari, program sangat panjang.

2


• Contoh:
fib:
mov edx, [esp+8]
cmp edx, 0
ja @f
mov eax, 0
ret

@@:
cmp edx, 2
ja @f
mov eax, 1
ret

@f:
push ebx
mov ebx, 1
mov ecx, 1

@@:
lea eax, [ebx+ecx]
cmp edx, 3
jbe @f
mov ebx, ecx
mov ecx, eax
dec edx
jmp @b

@f:
pop ebx
ret
Penjelasan:
• Kode di atas adalah implementasi dalam assembly untuk menghitung bilangan Fibonacci.
• Struktur kode memanfaatkan instruksi low-level seperti mov, cmp, lea, dan penggunaan register
seperti eax, ebx, ecx, dan edx.
• Fungsi fib menerima argumen yang disimpan di [esp+8] dan mengembalikan hasil bilangan
Fibonacci yang sesuai melalui register eax.
Logika ini menggunakan dua perbandingan utama untuk bilangan Fibonacci awal (0 dan 1) dan
melakukan iterasi menggunakan instruksi jmp dan manipulasi register untuk menghitung nilai Fibonacci
yang lebih besar.

3


3. Bahasa Tingkat Tinggi
• The 3rd Generation Programing Language lebih dekat dengan bahasa manusia. Memberi
fasilitas kemudahan dalam pembuatan program. Misalnya: variabel, type data, konstanta,
struktur kontrol, loop, fungsi, prosedur, dll.
• Kelebihan: Mudah dipelajari, mendekati permasalahan yang akan dipecahkan, kode program
pendek.
• Kekurangan: eksekusi lambat.
• Contoh bahasa pemrograman tingkat tinggi: C++ (Turbo C++), Visual Basic (non-.NET), PHP
(prosedural), Delphi (Borland), Pascal (Turbo Pascal).
• Contoh bahasa pemrograman C++:
#include <iostream>
using namespace std;

void sapaLisa() {
cout <<"Hai Lisa" << endl;
}
void sapaJ() {
cout << "Good Morning, J" << endl;
}
void sapaMe() {
cout << "Hello Me,.." << endl;
}
void sapaHendro() {
cout << "Selamat Malam Hendro Gunawan" << endl;
}
int main() {
sapaLisa();
sapaJ();
sapaMe();
sapaHendro();

return 0;
}
Output:

4. Bahasa Tingkat Objek
• Bahasa pemrograman tingkat Object-Oriented dan Visual/Very-High Level.
• Beberapa sumber mungkin akan berpendapat bahwa “ bahasa pemrograman tingkat Object-
Oriented dan Visual” merupakan “Pengembangan dari bahasa pemrograman tingkat tinggi”, hal

4


tersebut memang benar karena pendekatan Object-Oriented diterapkan pada bahasa
pemrograman tingkat tinggi seperti PHP atau Visual Basic.NET.
• Contoh bahasa pemrograman tingkat Object-Oriented dan Visual:
• PHP
<?php
include("koneksi.php"); // Memasukkan file koneksi database

// Cek apakah tombol 'daftar' sudah diklik
if (isset($_POST['daftar'])) {
// Ambil data dari formulir
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];

// Buat query SQL untuk menyimpan data ke dalam tabel 'mhs'
$sql = "INSERT INTO mhs (NIM, Nama, Alamat) VALUE ('$nim','$nama', '$alamat')";
$query = mysqli_query($con, $sql); // Eksekusi query

// Cek apakah query berhasil
if ($query) {
// Jika berhasil, redirect ke halaman index.php dengan status sukses
header('Location: index.php?status=sukses');
} else {
// Jika gagal, redirect ke index.php dengan status gagal
header('Location: index.php?status=gagal');
}
} else {
// Jika tidak diakses melalui tombol 'daftar', tampilkan pesan
die("Akses dilarang...");
}
?>
• Visual Basic.NET
• Java (termasuk Java yang digunakan pada Android Studio)
• JSP
• ASP
1.2. Paradigma Bahasa Pemrograman
• Imperative
Fokus pada menjelaskan bagaimana suatu program beroperasi.
• Procedural
Program yang dibuat dengan memberikan serangkaian perintah yang berurutan. Program terdiri
dari satu atau lebih prosedur. Bahasa-bahasa ini memiliki kode program sedemikian rupa
sehingga program mengeksekusi pernyataan demi pernyataan.
• Object-Oriented

5


Program yang mempresentasikan konsep “Object” yang memiliki data field dan prosedur terkait
yang disebut “method”. Seluruh data dan fungsi di dalam paradigma ini dibungkus dalam kelas-
kelas atau objek-objek.

Gambar 1. Programming Language Paradigms
Sumber: Pertemuan 1.pptx
1.3. Logika Pemecahan Masalah
Apa Itu logika?
Logis / Masuk Akal Pola Pikir

Rasional Kaidah Berpikir
Gambar 2. Logika Pemecahan masalah.
Sumber: Pertemuan 1.pptx
1.4. Terminologi Logika
• Di dalam Buku Praktis bahasa Indonesia, logika adalah pengetahuan tentang cara berpikir yang
sehat. Arti lainnya yaitu suatu bentuk pemikiran yang harus diikuti agar berpikir secara valid
(menurut cara semestinya; berlaku) menurut aturan yang berlaku.
• Logika ini akan membantu kita dalam memecahkan permasalahan.
1.5. Pemecahan Masalah
• Algoritma merupakan urutan langkah logis pengambilan keputusan untuk memecahkan masalah
secara sistematis.
• Namun, pembuatan algoritma merupakan salah satu tahap dalam proses pemecahan masalah.
1.6. Tahap Pemecahan Masalah
1. Masalah

6


2. Analisis Masalah
3. Perancangan Algoritma
4. Implementasi (Coding)

Gambar 3. Tahap Pemecahan Masalah
Sumber: Pertemuan 1.pptx
1.7. Input-Process-Output Model


Gambar 4. Input-Process-Output Model
Sumber: Pertemuan 1.pptx
• Dalam IPO Model, Algoritma bertugas untuk memproses seluruh Input dan hasil merupakan
Output.
1.8. Contoh Pemecahan Masalah Persamaan Linear
1. Masalah
• Diberikan persamaan ax + b = c, dimana a, b, c merupakan bilangan Real. Buatlah algoritma
untuk mencari solusi dari persamaan tersebut!
2. Analisa Masalah
• Apa yang ingin diselesaikan?
Nilai dari x dari persamaan linear
• Apa yang menjadi input?
Nilai parameter a, b, c
• Output
Nilai x, atau penjelasan jika ada solusi yang valid.
• Bagaimana mengubah input menjadi output?
▪ a = 0 dan c - b = 0, maka hasilnya adalah tak terhingga (karena persamaan selalu benar untuk
semua x).

7


▪ a = 0 dan c – b ≠ 0, maka hasilnya adalah tak terdefinisi (karena persamaan menjadi tidak
konsisten).
▪ a ≠ 0, selain kedua alternatif solusi di atas, persamaan memiliki satu solusi unik, hasilnya
adalah:
??????=
(&#3627408516; – &#3627408515;)
&#3627408514;

3. Algoritma 1
Name : Linear Equations
Given : a, b, c
Result : x
Intermediates : a = 0, (c - b) == 0, a ≠ 0
Definition : x := Linear Equations (a, b, c)
--------------------------------------------------------------------------------------------------------------
Method :
Get a
Get b
Get c
Let If a==0, then:
• If (c-b)==0, print “Solusi tak terhingga”.
• Else, print “Tidak ada solusi”.
Else:
• Let x=(c-b)/a
• Give x
Penjelasan Algoritma 1
Penjelasan dari program pada gambar tersebut adalah penyelesaian persamaan linear sederhana dalam
bentuk ax + b = c, di mana kita perlu mencari nilai x.
Berikut adalah langkah-langkahnya:
1. Input Variabel:
o Program menerima tiga masukan: a, b, dan c.
2. Memeriksa Kondisi:
o Jika a = 0:
▪ Program akan memeriksa apakah b sama dengan c. Jika ya, maka persamaan memiliki
"solusi tak hingga" karena setiap nilai x akan memenuhi persamaan 0 ⋅ x + b = c.
▪ Jika b tidak sama dengan ccc, maka program akan menyatakan "tidak ada solusi" karena
persamaan 0 ⋅ x + b = c tidak mungkin dipenuhi untuk sembarang nilai x.

8


3. Menghitung Nilai x:
o Jika a ≠ 0:
▪ Program akan menghitung nilai x menggunakan rumus: x = (c – b) / a
▪ Setelah menghitung, program akan memberikan nilai x sebagai solusi persamaan.
Program ini dirancang untuk menyelesaikan persamaan linear sederhana dan memeriksa apakah
persamaan memiliki solusi atau tidak berdasarkan nilai dari variabel a, b, dan c.
4. Contoh Implementasi Pseudocode
Start
Input a, b, c
If a == 0 then
If (c - b) == 0 then
Print "Solusi tak terhingga"
Else
Print "Tidak ada solusi"
Else
Hitung x = (c - b) / a
Print "Nilai x =", x
End
Penjelasan Pseudocode:
Berikut adalah rincian dari setiap langkah dalam pseudocode:
1. Start:
o Mulai program.
2. Input a, b, c:
o Program menerima input tiga variabel yaitu a, b, dan c.
3. Pengecekan Nilai a:
o Jika a = 0:
▪ Program memeriksa apakah a bernilai nol, karena jika a = 0, persamaan menjadi tidak
linear.
▪ Jika c − b = 0:
▪ Jika kondisi ini terpenuhi, artinya c sama dengan b, maka persamaan memiliki
solusi tak terhingga (karena setiap nilai x akan memenuhi persamaan 0 ⋅ x + b = c.
▪ Cetak "Solusi tak terhingga".
▪ Jika c − b ≠ 0:
▪ Jika c tidak sama dengan b, maka persamaan tidak memiliki solusi (karena tidak
mungkin 0 ⋅ x + b = c untuk nilai x mana pun).
▪ Cetak "Tidak ada solusi".
4. Jika a ≠ 0:
o Jika a tidak sama dengan nol, maka persamaan dapat diselesaikan dengan menghitung nilai
x menggunakan rumus: x = (c−b) / a

9


o Hitung nilai x dan cetak hasilnya sebagai "Nilai x = [nilai x]".
5. End:
o Program berakhir.
Pseudocode ini memungkinkan untuk menentukan apakah persamaan memiliki solusi tunggal, solusi
tak terhingga, atau tidak ada solusi tergantung pada nilai input dari a, b, dan c.
5. Gambar Flowchart
Flowchart adalah representasi grafis dari suatu proses atau algoritma. Flowchart menggunakan simbol-
simbol tertentu untuk menggambarkan langkah-langkah yang harus di lakukan dalam urutan tertentu
untuk mencapai suatu tujuan atau menyelesaikan masalah. Ini membantu memvisualisasikan alur kerja,
membuat proses lebih mudah dipahami, dan mendeteksi potensi masalah atau langkah yang tidak efisien.

Gambar 5. Flowchart Persamaan Linear
Sumber: (Penulis 2024)
Flowchart ini menggunakan aplikasi Flowgorithm versi 4.5.0 agar mudah dalam
mengimplementasikannya.
6. Penjelasan Flowchart

10


Gambar flowchart di atas menggambarkan proses penyelesaian persamaan linear sederhana dengan
bentuk: ax + b = c
Flowchart ini menentukan nilai x atau memberikan solusi alternatif berdasarkan nilai dari variabel input
a, b, dan c.. Berikut penjelasan langkah-langkah dari flowchart tersebut:
1. Deklarasi Variabel
• Program mendeklarasikan variabel a, b, c, dan x sebagai integer atau bilangan bulat.
2. Input Variabel
• Program meminta pengguna untuk memasukkan nilai untuk variabel a, b, dan c.
3. Pengecekan Apakah a = 0
• Jika a = 0, program akan masuk ke blok pengecekan kedua.
• Jika c – b = 0: Output berupa “Solusi tak terhingga”, karena persamaan berubah menjadi
identitas (misalnya, 0 = 0).
• Jika c – b ≠ 0: Output berupa “Tidak ada solusi”, karena tidak mungkin menyelesaikan
persamaan seperti 0x = 5.
4. Jika a ≠ 0
• Program akan menghitung nilai x menggunakan formula: ??????=
(&#3627408412; – &#3627408411;)
&#3627408410;

• Hasil dari nilai x dicetak sebagai output.
5. Akhir Program
• Setelah semua proses selesai, program akan berakhir.
7. Coding
• Contoh Implementasi dalam Python:
# Fungsi untuk mencari solusi persamaan ax + b = c
def cari_solusi(a, b, c):
if a == 0:
if c - b == 0:
print("Solusi tak terhingga.")
else:
print("Tidak ada solusi.")
else:
x = (c - b) / a
print(f"Nilai x = {x}")

# Contoh penggunaan
a = float(input("Masukkan nilai a: "))
b = float(input("Masukkan nilai b: "))
c = float(input("Masukkan nilai c: "))

cari_solusi(a, b, c)

8. Penjelasan Output:

11


• Jika a = 0 dan c - b = 0, maka output adalah:
“Solusi tak terhingga.”
• Jika a = 0 dan c – b ≠&#3627409358;, maka output adalah:
“Tidak ada solusi.”
• Jika a ≠&#3627409358;, maka output adalah nilai x sesuai hasil perhitungan.
9. Kode Program dalam C++:
#include <iostream>
using namespace std;

void cariSolusi(double a, double b, double c) {
if (a == 0) {
if (c - b == 0) {
cout << "Solusi tak terhingga." << endl;
} else {
cout << "Tidak ada solusi." << endl;
}
} else {
double x = (c - b) / a;
cout << "Nilai x = " << x << endl;
}
}

int main() {
double a, b, c;

// Input nilai a, b, dan c dari pengguna
cout << "Masukkan nilai a: ";
cin >> a;
cout << "Masukkan nilai b: ";
cin >> b;
cout << "Masukkan nilai c: ";
cin >> c;

// Panggil fungsi untuk mencari solusi
cariSolusi(a, b, c);

return 0;
}
10. Penjelasan Kode Program
1. Fungsi cari solusi:
• Mengecek apakah nilai a adalah 0.
▪ Jika iya, ada dua kemungkinan:
➢ c – b == 0 : Artinya, persamaan selalu benar, dan solusinya tak terhingga.
➢ c – b != 0 : Artinya, persamaan tidak konsisten, sehingga tidak ada solusi.
• Jika a tidak 0, solusi dihitung menggunakan: ??????=
(&#3627408412; – &#3627408411;)
&#3627408410;

12


• Hasilnya dicetak ke layar.
2. Fungsi main:
• Menerima input untuk nilai a, b, dan c.
• Memanggil fungsi cari solusi dengan input tersebut.
11. Contoh Output:
Kasus 1: a = 0, b = 1, c = 1

Kasus 2: a = 0, b = 1, c = 3

Kasus 3: a = 2, b = 3, c = 7

Kode ini menangani kasus persamaan linear dengan benar dan memberikan solusi atau pesan yang tepat
berdasarkan input yang diberikan.
1.9. Contoh Pemecahan Masalah Jeruk?????? dan Apel ??????

Gambar 6. Bagaimana membuatnya sebanding?
Sumber: Pertemuan 1 .pptx
1. Masalah
• Tidak sebandingnya timbangan antara jeruk dan apel.
2. Analisis Masalah
• Apa yang ingin diselesaikan?
Membuat sebanding antara jeruk dan apel.
• Apa yang menjadi input?
Jumlah jeruk dan apel

13


• Bagaimana membuatnya seimbang?
Menambah 1 jeruk
Menambah apel jika diperlukan
Membelah apel atau menambah buah lain untuk mencapai keseimbangan.
3. Algoritma 2
Name : Fruit Balance
Given : Num Oranges , Num Apples
Result : Balance
Intermediates : Difference (diff)
Definition : Balance:= Fruit Balance(Num Oranges, Num Apples)
----------------------------------------------------------------------------------------------------------------------------
Method :
Get Num Oranges
Get Num Apples
Let Diff = Number Oranges – Number Apples
if diff > 0, Print “Add as many apples as diff”
if diff < 0, Print “Add as many oranges as diff”
if diff == 0, Print “Balance has been reached”
Give Balance
4. Contoh Implementasi Pseudo-Code
Algoritma KeseimbanganBuah (Jeruk, Apel):
diff = Jeruk - Apel

Jika diff > 0:
Tambah Apel sebanyak diff
Output: "Ditambah apel sebanyak " + diff

Jika diff < 0:
Tambah Jeruk sebanyak |diff|
Output: "Ditambah jeruk sebanyak " + |diff|

Jika diff == 0:
Output: "Jumlah buah sudah seimbang"
5. Penjelasan Pseudocode:
• Method ini memastikan jumlah jeruk dan apel selalu seimbang dengan cara menghitung selisih
antara keduanya dan menambah buah sesuai kebutuhan.
• Menggunakan variabel antara, seperti diff untuk menyimpan selisih, membantu algoritma tetap
efisien dan mudah dibaca.
• Keluaran atau hasil akan bergantung pada apakah penambahan buah diperlukan atau tidak.

14


6. Gambar Flowchart

Gambar 7. Flowchart Menyeimbangkan Jumlah Jeruk dan Apel.
Sumber: (Penulis 2024)
7. Penjelasan Flowchart:
1. Inisialisasi dan Input:
o Program memulai dengan mendeklarasikan variabel jeruk, apel, dan diff sebagai
bilangan bulat.
o Meminta pengguna untuk menginput jumlah jeruk dan apel.
o Variabel diff dihitung sebagai selisih antara jumlah jeruk dan apel (diff = jeruk -
apel).

15


2. Cek Keseimbangan Awal:
o Jika diff == 0, artinya jumlah jeruk dan apel sudah seimbang, maka program menampilkan
pesan: "Jumlah jeruk dan apel sudah seimbang" dan langsung berhenti.
3. Jika Tidak Seimbang:
o Jika diff != 0, program menampilkan pesan bahwa buah tidak seimbang beserta nilai
selisih.
o Kemudian, program memeriksa apakah jumlah jeruk lebih banyak daripada apel (jeruk >
apel):
▪ Jika benar, maka program menampilkan pesan untuk menambah apel sejumlah selisih
tersebut.
▪ Jika salah, maka program menampilkan pesan untuk menambah jeruk sejumlah selisih
tersebut.
4. Keseimbangan Akhir:
o Setelah menambah jeruk atau apel, program menampilkan pesan "Jumlah sekarang
seimbang!".
8. Ringkasan Simbol Flowchart:
Berikut adalah ringkasan simbol yang digunakan dalam flowchart tersebut:
1. Oval (Ellipse):
o Fungsi: Menandakan awal atau akhir dari proses.
o Contoh: Simbol "Main" (awal) dan "End" (akhir).
2. Parallelogram (Jajar Genjang):
o Fungsi: Digunakan untuk input atau output.
o Contoh:
▪ Input jeruk dan apel.
▪ Output seperti "Buah tidak seimbang", "Menambah jeruk", dll.
3. Rectangle (Persegi Panjang):
o Fungsi: Menunjukkan proses atau operasi.
o Contoh: Proses diff = jeruk - apel.
4. Diamond (Berlian):
o Fungsi: Menandakan percabangan (kondisi / keputusan).
o Contoh:
▪ Apakah diff == 0?
▪ Apakah jeruk > apel?
5. Circle (Lingkaran Kecil):
o Fungsi: Menyambungkan alur dalam flowchart (connector).

16


o Contoh: Lingkaran yang digunakan setelah percabangan untuk menggabungkan alur.
Flowchart ini menangani perbandingan antara jumlah buah jeruk dan apel serta memberikan respons
berdasarkan hasil perbandingan tersebut.
9. Coding
#include <iostream>
using namespace std;

int main() {
int jeruk, apel, diff;

// Input jumlah jeruk dan apel
cout << "Masukkan jumlah jeruk: ";
cin >> jeruk;
cout << "Masukkan jumlah apel: ";
cin >> apel;

// Hitung selisih antara jeruk dan apel
diff = jeruk - apel;

// Cek apakah sudah seimbang
if (diff == 0) {
cout << "Jumlah jeruk dan apel sudah seimbang." << endl;
} else {
cout << "Buah tidak seimbang. Selisih: " << abs(diff) << endl;

// Tentukan apakah harus menambah jeruk atau apel
if (jeruk > apel) {
cout << "Menambah apel: " << diff << endl;
} else {
cout << "Menambah jeruk: " << abs(diff) << endl;
}

cout << "Jumlah sekarang seimbang!" << endl;
}

return 0;
}

10. Penjelasan Kode:
1. Deklarasi Variabel:
o jeruk, apel, dan diff digunakan untuk menyimpan jumlah buah dan selisihnya.
2. Input dari Pengguna:
o Program meminta input jumlah jeruk dan apel.
3. Hitung Selisih:
o Variabel diff menyimpan hasil selisih antara jeruk dan apel (diff = jeruk - apel).

17


4. Cek Keseimbangan:
o Jika diff == 0, program menampilkan pesan bahwa jumlah buah sudah seimbang.
o Jika tidak seimbang, program menampilkan selisih dan menentukan apakah harus menambah
jeruk atau apel berdasarkan perbandingan jumlah.
5. Output Tambahan:
o Program menampilkan pesan buah mana yang perlu ditambah beserta jumlahnya agar
seimbang.
6. Fungsi abs():
o Digunakan untuk memastikan bahwa selisih selalu positif saat ditampilkan, agar lebih jelas
bagi pengguna.
11. Contoh Output:
Kasus 1
Jumlah jeruk=5, apel=3

Kasus 2
Jumlah jeruk=10, apel=100

BAB 2
ALGORITMA
2.1. Algoritma
2.1.1. Definisi
• Algoritma merupakan urutan langkah demi langkah yang terbatas, diskrit, memiliki instruksi yang
tidak ambigu untuk memecahkan masalah tertentu.
➢ Memiliki data input dan diharapkan untuk menghasilkan data output.
➢ Setiap instruksi dapat dilakukan dalam jumlah waktu yang terbatas dengan cara deterministik.
• Secara sederhana, algoritma merupakan serangkaian instruksi untuk memecahkan suatu masalah
(menyelesaikan pekerjaan).
• Masalah bisa dalam bentuk apa pun:
➢ Bisnis

18


• Dapatkan part dari Vancouver ke Ottawa besok pagi
• Alokasikan tenaga kerja untuk memaksimalkan keuntungan
➢ Hidup
• Saya lapar. Bagaimana cara memesan pizza?
• Jelaskan bagaimana cara mengikat tali sepatu pada anak usia 5 tahun.
• Kita berurusan dengan masalah pengolahan data diterjemahkan ke program yang dapat dijalankan
pada komputer.
2.1.2. Representasi Algoritmik
• Input
➢ Get information Get (input command)
• Storage
➢ Store information Given/Result
Intermediates/Set
• Process
➢ Arithmetic Let (assignment command)
➢ Repeat instructions Loop
➢ Branch conditionals If
• Output
➢ Give Information Give (output command)

Gambar 2.1. Representasi Algoritmik
Sumber: Modul Dasar Pemrograman 2
2.1.3. Deskripsi Algoritma
• Pahami masalah sebelum memecahkannya.
▪ Identifikasi & beri nama setiap Input (Given).
▪ Identifikasi & beri nama setiap Output (Result).
▪ Tetapkan nama Algoritma (Name)
▪ Gabungkan ketiga bagian informasi menjadi sebuah pernyataan resmi (Definition):

19


• Result := Name (Given)
2.1.4. Method
• Setelah deskripsi Method algoritma telah disiapkan, berikutnya adalah pemecahan masalahnya.
• Kita kembangkan serangkaian instruksi (terbatas) yang ketika dijalankan akan melakukan komputasi
terhadap Result yang diinginkan dari Given (Method)
2.1.5. Assignment Command
• Syntax x = 5Y + 16 sebelah kiri tanda “=” menunjukkan nama variabel, dan sebelah kanan
merupakan nilai atau ekspresi. Setiap variabel mengacu pada lokasi yang unik dalam memori
komputer yang berisi nilai.
• Interpretasi
Sebuah assignment dijalankan dalam dua langkah:
1-evaluasi ekspresi ditemukan di sisi kanan.
2-pengaturan nilai yang dikembalikan dalam sel memori yang sesuai dengan variabel.
• Contoh:
➢ Let SideSize=15
➢ LetArea=SideSize*SideSize
2.1.6. Assignment: Mathematics VS Computer Science
• Instruksi berikut adalah sama pada matematika: A = B B = A
Tidak dalam computer science
Let A = B tidak sama dengan Let B = A
• Dalam matematika kita mengenal relasi B = A + 1 merupakan pernyataan yang selalu benar setiap
saat. Pada computer science, kita menggunakan assignment. Kita dapat memiliki: A = 5
B = A + 1
A = 2
Relasi B = A + 1 bernilai benar setelah instruksi kedua dan sebelum instruksi ketiga.
• Instruksi A = A + 3 bernilai salah pada matematika.
Pada computer science, Let A = A + 3 berarti: nilai A yang baru merupakan penjumlahan antara nilai
A yang lama dengan 3.
• Instruksi A + 5 = 3 diperbolehkan dalam matematika.
Let A + 5 = 3 tidak memiliki arti pada computer science karena sebelah kiri “=” haruslah nama
variabel.
2.1.7. Input Command
• Syntax
Get variable
Variabel diperoleh dari Given

20


• Interpretasi
Di sini, user harus memberikan sebuah nilai. Nilai yang diberikan, ditugaskan pada variabel.
• Contoh
Get Size_Side
2.1.8. Output Command
• Syntax
Give variable
Variabel diperoleh daro Result
• Interpretasi
Nilai variabel ditampilkan.
• Contoh
Give Area
2.1.9. Algoritma 1
• Tulis algoritma untuk menemukan jumlah dari tiga bilangan yang diberikan!
NAME : SUM3
GIVENS : N1, N2, N3
RESULTS : Total
DEFINITION : Total := SUM3 (N1, N2, N3)
------------------------------------------
METHOD :
Get N1
Get N2
Get N3
Let Total = N1 + N2 + N3
Give Total
• Penjelasan Algoritma 1:
Algoritma SUM3 di atas bertujuan untuk menghitung jumlah tiga nilai, yang diberi nama N1, N2, dan
N3. Berikut adalah penjelasan dari langkah-langkah yang ada dalam algoritma tersebut:
1. Name - Nama algoritma ini adalah SUM3.
2. Givens - Algoritma menerima tiga input, yaitu N1, N2, dan N3.
3. Result - Hasil dari algoritma ini adalah Total, yang merupakan penjumlahan dari N1, N2, dan N3.
4. Definitions - Total didefinisikan sebagai penjumlahan dari ketiga nilai input, yaitu Total := SUM3
(N1, N2, N3).
Method:
Langkah-langkah dari metode untuk menghitung Total adalah sebagai berikut:

21


• Get N1: Ambil nilai pertama, N1.
• Get N2: Ambil nilai kedua, N2.
• Get N3: Ambil nilai ketiga, N3.
• Let Total = N1 + N2 + N3: Hitung total dengan menjumlahkan ketiga nilai tersebut.
• Give Total: Tampilkan hasil Total.
Tujuan
Tujuan dari algoritma ini adalah memproses tiga input angka menjadi satu output yang merupakan
jumlah dari ketiganya. Algoritma ini sederhana dan efektif untuk menyelesaikan masalah penjumlahan
dengan beberapa langkah yang jelas dan terstruktur.
2.1.10. Algoritma 2
• Tulis algoritma untuk menemukan hasil dari operasi pembagian jika diberikan dua bilangan X dan
Y
NAME : Division
GIVENS : X, Y
RESULTS : Quotient
DEFINITION : Quotient := Division (X, Y)
-----------------------------------------------------------------------
METHOD :
Get X
Get Y
Let Qoutient = X/Y
Give Quotient
• Penjelasan Algoritma 2:
Algoritma Division bertujuan untuk membagi dua nilai yang diberikan, yaitu X dan Y, untuk
mendapatkan hasil pembagian yang disebut Quotient (hasil bagi). Berikut penjelasan dari algoritma
tersebut:
1. Name: Nama algoritma ini adalah Division.
2. Givens: Algoritma menerima dua input, yaitu X (nilai pembilang) dan Y (nilai penyebut).
3. Result: Hasil dari algoritma ini disebut Quotient, yaitu hasil dari pembagian X dengan Y.
4. Definition: Hasil Quotient didefinisikan sebagai hasil dari operasi Division (X, Y).
Method:
Langkah-langkah dalam metode untuk menghitung adalah sebagai berikut:
• Get X: Ambil nilai X dari pengguna. Quotient
• Get Y: Ambil nilai Y dari pengguna.
• Let Quotient = X / Y: Hitung Quotient dengan membagi X dengan Y.

22


• Give Quotient: Tampilkan hasil Quotient ke pengguna.
Tujuan
Tujuan algoritma ini adalah menghitung dan menampilkan hasil bagi dari dua nilai input, X dan Y.
Algoritma ini berguna untuk pembagian sederhana dan diatur dengan langkah-langkah yang jelas untuk
memastikan hasil yang diinginkan, yaitu nilai Quotient.
2.1.11. Algoritma 3
• Tulis algoritma untuk menemukan hasil penjumlahan dan perkalian dari dua bilangan yang
diberikan.
NAME : SumTimes
GIVENS : Num1, Num2
RESULTS : Total, Product
DEFINITION : Total & Product := SumTimes(Num1, Num2)
--------------------------------------------------------------------------------------------
METHOD :
Get Num1
Get Num2
Let Total = Num1 + Num2
Let Product = Num1 * Num2
Give Total
Give Product
• Penjelasan Algoritma 3:
Algoritma SumTimes ini bertujuan untuk menerima dua angka, menghitung jumlahnya serta hasil
perkaliannya, dan menampilkan kedua hasil tersebut. Berikut penjelasan rinci dari setiap bagian:
1. Name: Nama algoritma adalah SumTimes.
2. Givens: Algoritma ini menerima dua nilai masukan, yaitu Num1 dan Num2.
3. Results: Hasil dari algoritma ini adalah Total (hasil penjumlahan dari kedua nilai) dan Product (hasil
perkalian dari kedua nilai).
4. Definition: Total dan Product didefinisikan sebagai SumTimes(Num1, Num2).
Method:
Langkah-langkah dalam metode untuk menghitung Total dan Product adalah sebagai berikut:
• Get Num1: Terima nilai pertama (Num1) dari pengguna.
• Get Num2: Terima nilai kedua (Num2) dari pengguna.
• Let Total = Num1 + Num2: Hitung nilai Total dengan menjumlahkan Num1 dan Num2.
• Let Product = Num1 * Num2: Hitung nilai Product dengan mengalikan Num1 dan Num2.
• Give Total: Tampilkan nilai Total.
• Give Product: Tampilkan nilai Product.

23


Tujuan
Algoritma ini bertujuan untuk menghitung dan menampilkan dua hasil, yaitu jumlah dan perkalian dari
dua nilai input yang diberikan pengguna. Algoritma ini sederhana dan terdiri dari langkah-langkah yang
jelas sehingga cocok untuk operasi matematika dasar pada dua angka.
2.1.12. Algoritma 4
• Tentukan jumlah dan rata-rata dari tiga bilangan yang diberikan!
NAME : AVG3
GIVENS : Num1, Num2, Num3
RESULTS : Sum, Average
DEFINITION : Sum & Average := AVG3(Num1, Num2, Num3)
--------------------------------------------------------------------------------------------
METHOD :
Get Num1
Get Num2
Get Num3
Let Sum = Num1 + Num2 + Num3
Let Average = Sum/3
Give Sum
Give Average
• Penjelasan Algoritma 4:
Algoritma AVG3 ini digunakan untuk menghitung jumlah dan rata-rata dari tiga angka yang
diberikan oleh pengguna. Berikut penjelasan rinci dari tiap bagian:
1. Name: Nama algoritma adalah AVG3.
2. Givens: Algoritma ini menerima tiga nilai masukan, yaitu Num1, Num2, dan Num3.
3. Results: Hasil dari algoritma ini adalah Sum (jumlah dari ketiga angka) dan Average (rata-rata dari
ketiga angka).
4. Definition: Sum dan Average didefinisikan sebagai hasil dari fungsi AVG3(Num1, Num2, Num3).
Method:
Langkah-langkah dalam metode untuk menghitung Sum dan Average adalah sebagai berikut:
• Get Num1: Terima nilai pertama (Num1) dari pengguna.
• Get Num2: Terima nilai kedua (Num2) dari pengguna.
• Get Num3: Terima nilai ketiga (Num3) dari pengguna.
• Let Sum = Num1 + Num2 + Num3: Hitung nilai Sum dengan menambahkan Num1, Num2, dan
Num3.
• Let Average = Sum/3: Hitung nilai Average dengan membagi Sum dengan 3.

24


• Give Sum: Tampilkan nilai Sum kepada pengguna.
• Give Average: Tampilkan nilai Average kepada pengguna.
Tujuan
Algoritma ini dirancang untuk menghitung jumlah total dan rata-rata dari tiga angka. Algoritma ini
memberikan informasi dasar statistik untuk tiga nilai yang dimasukkan pengguna, yang berguna dalam
berbagai aplikasi matematika atau analisis data sederhana.
2.1.13. Intermediates
• Terkadang dalam sebuah algoritma, kita perlu memiliki variabel untuk menyimpan sebuah nilai
sementara.
• Ini adalah variabel perantara yang pada deskripsi algoritma disebut sebagai Intermediates.
2.1.14. Algoritma 5
• Tulis algoritma untuk menukar nilai dari dua bilangan !
NAME : Swap
GIVENS : X, Y
RESULTS : X, Y
INTERMEDIATES : Temp
DEFINITION : Swap (X, Y)
----------------------------------------------------------------------
METHOD :
Get X
Get Y
Let Temp = X
Let X = Y
Let Y = Temp
Give X
Give Y
• Penjelasan Algoritma 5:
Algoritma 5 adalah algoritma sederhana untuk menukar nilai dua variabel, yaitu X dan Y, menggunakan
variabel perantara Temp. Berikut adalah penjelasan langkah demi langkah dari algoritma tersebut:
1. Givens (Input):
o Algoritma menerima dua nilai masukan, yaitu X dan Y.
2. Intermediates (Variabel Perantara):
o Sebuah variabel perantara Temp digunakan untuk menyimpan sementara nilai salah satu variabel
agar proses pertukaran dapat dilakukan tanpa kehilangan data.
3. Method (Langkah-langkah):

25


o Get X: Mendapatkan atau membaca nilai X.
o Get Y: Mendapatkan atau membaca nilai Y.
o Let Temp = X: Menyimpan nilai X ke dalam variabel Temp.
o Let X = Y: Menetapkan nilai Y ke X, sehingga X sekarang berisi nilai awal dari Y.
o Let Y = Temp: Menetapkan nilai Temp (nilai awal X) ke Y, sehingga Y sekarang berisi nilai awal
dari X.
o Give X: Mengembalikan atau menampilkan nilai X yang telah ditukar.
o Give Y: Mengembalikan atau menampilkan nilai Y yang telah ditukar.
4. Results (Output):
o Setelah langkah-langkah di atas selesai, nilai X dan Y sudah tertukar.
Contoh
Misalkan:
• X = 5
• Y = 10
Setelah algoritma ini dijalankan:
• Nilai X akan menjadi 10
• Nilai Y akan menjadi 5
Kesimpulan: Algoritma ini menggunakan variabel Temp sebagai variabel sementara untuk menukar
nilai antara X dan Y.
2.1.15. Algoritma 6
• Tulis algoritma yang menambahkan dua bilangan yang diberikan (X dan Y) dan mengembalikan
jumlah tersebut dalam variabel X !

NAME : AddXY
GIVENS : X, Y
RESULTS : X, Y
INTERMEDIATES : None
DEFINITION : AddXY (X, Y)
---------------------------------------------------------------------
METHOD :
Get X
Get Y
Let X = X + Y
Give X


• Penjelasan Algoritma 6:

26


Algoritma 6 adalah algoritma sederhana untuk menambahkan dua nilai, X dan Y, dan menyimpan
hasilnya di variabel X. Berikut adalah penjelasan langkah-langkah dari algoritma ini:
1. Givens (Input):
o Algoritma menerima dua nilai masukan, yaitu X dan Y.
2. Intermediates (Variabel Perantara):
o Tidak ada variabel perantara yang digunakan dalam algoritma ini.
3. Method (Langkah-langkah):
o Get X: Mendapatkan atau membaca nilai X.
o Get Y: Mendapatkan atau membaca nilai Y.
o Let X = X + Y: Menambahkan nilai Y ke X dan menyimpan hasil penjumlahan ini ke dalam X.
Setelah langkah ini, X akan berisi hasil dari X + Y.
o Give X: Mengembalikan atau menampilkan nilai X, yang sekarang berisi hasil penjumlahan X +
Y.
4. Results (Output):
o Algoritma ini hanya memberikan hasil akhir dari X setelah penjumlahan.
Contoh
Misalkan:
• X = 3
• Y = 7
Setelah algoritma ini dijalankan:
• Nilai X akan menjadi 3 + 7 = 10
• Nilai Y tetap 7 (tidak berubah karena algoritma tidak mengubahnya).
Kesimpulan: Algoritma ini berfungsi untuk menjumlahkan dua nilai X dan Y dan menyimpan hasilnya
di X, lalu menampilkan nilai X yang baru.
2.1.16. Summary
Tabel 2.1. Ringkasan
Sumber: Modul Dasar Pemrograman Pertemuan 2 - Algoritma.pdf
Name Nama formal sebuah algoritma
Given Nama dari nilai yang diberikan untuk suatu masalah
Result Nama dari nilai yang dihasilkan dari suatu masalah
Intermediate Nama dari variabel perantara yang digunakan dalam algoritma
Definition Definisi formal dari algoritma, menggunakan format Name, Given, dan
Result
Method Rangkaian langkah demi langkah dari instruksi untuk menyelesaikan
masalah

27



2.2. Menelusuri Algoritma
• Tujuan menelusuri algoritma adalah untuk memastikan bahwa ia bekerja.
• Ini adalah tes yang harus diselesaikan sebelum menulis kode komputer.
• Penelusuran meliputi:
➢ Mengeksekusi urutan instruksi dengan sampel serangkaian nilai.
➢ Menghitung nilai dari setiap variabel setelah setiap instruksi dieksekusi.
➢ Memeriksa hasil yang benar.
• Langkah 1: Beri nomor setiap instruksi dalam algoritma
• Langkah 2: Buat tabel
➢ Kolom pertama dan tabel menunjukkan instruksi yang telah dieksekusi.
➢ Kolom selanjutnya berisi daftar semua variabel algoritma (Given, Result, Intermediate).
• Langkah 3: Lengkapi tabel
➢ Setiap kolom tabel mewakili variabel.
➢ Mulai di baris pertama dari algoritma identifikasi apa yang akan terjadi pada setiap variabel
setelah instruksi dieksekusi.
• Ubah nilai setiap perubahan instruksi dan tinggalkan semua kolom lain kosong.
2.2.1. Penelusuran 1
• Telusuri algoritma 4 menggunakan bilangan 24, 31, dan 35.
Tabel 2.2. Penelusuran1
Sumber: Modul Dasar Pemrograman Pertemuan 2 - Algoritma.pdf
METHOD Line Num1 Num2 Num3 Sum Avg
(1) Get Num1 1 24
(2) Get Num2 2 31
(3) Get Num3 3 35
(4) Let Sum=Num1+Num2+Num3 4 90
(5) Let Average=Sum/3 5 30
(6) Give Sum 6 Output 90
(7) Give Average 7 Output 30
• Penjelasan Tabel 2:
Tabel penelusuran algoritma ini menunjukkan langkah-langkah untuk menghitung jumlah dan rata-rata
dari tiga angka. Berikut adalah penjelasan untuk setiap baris:
1. Get Num1: Algoritma mendapatkan nilai pertama, yaitu Num1 = 24.
2. Get Num2: Algoritma mendapatkan nilai kedua, yaitu Num2 = 31.
3. Get Num3: Algoritma mendapatkan nilai ketiga, yaitu Num3 = 35.

28


4. Let Sum = Num1 + Num2 + Num3: Menghitung jumlah ketiga angka tersebut dengan rumus Sum
= 24 + 31 + 35, menghasilkan Sum = 90.
5. Let Average = Sum / 3: Menghitung rata-rata dengan membagi total jumlah (Sum) dengan 3,
sehingga Average = 90 / 3 = 30.
6. Give Sum: Menampilkan nilai dari Sum, yaitu 90.
7. Give Average: Menampilkan nilai dari Average, yaitu 30.
Hasil akhir dari algoritma ini adalah Sum = 90 dan Average = 30. Tabel ini secara sistematis melacak
perubahan pada variabel untuk setiap langkah dalam metode yang ditentukan, sehingga memudahkan
untuk memahami alur perhitungan.
2.2.2. Penelusuran 2
• Telusuri algoritma 5 dimana bilangan X dan Y bernilai 25 dan 88.
Tabel 2.3. Penelusuran2
Sumber: Modul Dasar Pemrograman Pertemuan 2 - Algoritma.pdf
METHOD Line X Y Temp
(1) Get X 1 25
(2) Get Y 2 88
(3) Let Temp=X 3 25
(4) Let X=Y 4 88
(5) Let Y=Temp 5 25
(6) Give X 6 Output 88
(7) Give Y 7 Output 25
• Penjelasan Tabel 3:
Tabel penelusuran pada algoritma ini menunjukkan langkah-langkah untuk menukar nilai dari variabel
X dan Y menggunakan variabel sementara, Temp. Berikut adalah penjelasan setiap langkah dalam tabel:
1. Line 1: Get X – Nilai awal untuk X dimasukkan, yaitu 25.
2. Line 2: Get Y – Nilai awal untuk Y dimasukkan, yaitu 88.
3. Line 3: Let Temp = X – Menyimpan nilai X (25) ke dalam variabel Temp.
4. Line 4: Let X = Y – Mengganti nilai X dengan nilai Y, sehingga sekarang X menjadi 88.
5. Line 5: Let Y = Temp – Mengganti nilai Y dengan nilai Temp (yang menyimpan nilai awal X),
sehingga Y sekarang menjadi 25.
6. Line 6: Give X – Output dari nilai X yang sekarang telah menjadi 88.
7. Line 7: Give Y – Output dari nilai Y yang sekarang telah menjadi 25.
• Hasil akhir dari algoritma ini adalah nilai X dan Y berhasil ditukar tanpa kehilangan nilai awal
mereka, dan nilai akhir dari X adalah 88, sedangkan nilai akhir dari Y adalah 25.

29


2.3. Evaluasi
1. Tulis algoritma penjumlahan 5 bilangan. Telusuri algoritma jika diberikan bilangan 1, 3, 5, 7, dan 9.
2. Tulis algoritma untuk menghitung rata-rata dari 5 bilangan. Telusuri algoritma jika diberikan
bilangan 1, 3, 5, 7, dan 9.
3. Tulis algoritma untuk mengalikan 3 bilangan. Telusuri algoritma jika diberikan bilangan 2, 9, dan 6.
2.4. Jawaban Evaluasi
• Algoritma 7
Tulis algoritma penjumlahan 5 bilangan. Telusuri algoritma jika diberikan bilangan 1, 3, 5, 7, dan 9.
NAME : SUM5
GIVENS : Num1, Num2, Num3, Num4, Num5
RESULTS : Total
DEFINITION : Total := SUM5 (Num1, Num2, Num3, Num4, Num5)
----------------------------------------------------------
METHOD :
Get Num1
Get Num2
Get Num3
Get Num4
Get Num5
Let Total = Num1 + Num2 + N3um + Num4 + Num5
Give Total
• Penjelasan Algoritma 7:
Algoritma dalam gambar yang berjudul "SUM5" adalah sebuah algoritma sederhana untuk menghitung
jumlah dari lima bilangan yang diberikan, yaitu Num1, Num2, Num3, Num4, dan Num5. Berikut adalah
penjelasan setiap langkah dalam algoritma tersebut:
1. Nama Program: "SUM5" menandakan bahwa program ini akan menghitung jumlah dari lima
angka.
2. Input (Givens): Lima variabel Num1, Num2, Num3, Num4, dan Num5 sebagai bilangan yang akan
dijumlahkan.
3. Output (Results): Satu variabel hasil yang disebut Total, yang akan berisi hasil penjumlahan dari
kelima bilangan.
4. Metode:
o Program pertama-tama meminta input dari lima bilangan melalui langkah "Get Num1" hingga
"Get Num5".

30


o Selanjutnya, diinstruksikan untuk menghitung jumlah kelima bilangan dengan persamaan
Total = Num1 + Num2 + Num3 + Num4 + Num5.
o Setelah itu, hasil dari penjumlahan tersebut disimpan dalam variabel Total dan kemudian
ditampilkan melalui langkah "Give Total".
Jadi, algoritma ini cukup sederhana dan bertujuan untuk mengambil lima angka sebagai input,
menjumlahkan semuanya, dan kemudian menampilkan hasilnya sebagai Total.
• Telusuri algoritma jika diberikan bilangan 1, 3, 5, 7, dan 9.
Tabel 2.4. Penelusuran Algoritma 7
Sumber: (Penulis 2024)
METHOD Line Num1 Num2 Num3 Num4 Num5 Sum
(1) Get Num1 1 1
(2) Get Num2 2 3
(3) Get Num3 3 5
(4) Get Num4 4 7
(5) Get Num5 5 9
(6) Let
Sum=Num1+Num2+
Num3+Num4+Num5
6 25
(7) Give Sum 7 Output 25
• Penjelasan Tabel 4:
Tabel penelusuran ini menunjukkan proses eksekusi algoritma yang menghitung jumlah dari lima angka,
yaitu Num1, Num2, Num3, Num4, dan Num5. Berikut adalah penjelasan setiap barisnya:
1. Baris (1) - (5): Algoritma mengambil masing-masing nilai untuk kelima angka:
o Baris 1: Nilai Num1 diisi dengan angka 1.
o Baris 2: Nilai Num2 diisi dengan angka 3.
o Baris 3: Nilai Num3 diisi dengan angka 5.
o Baris 4: Nilai Num4 diisi dengan angka 7.
o Baris 5: Nilai Num5 diisi dengan angka 9.
2. Baris (6): Algoritma menghitung total atau jumlah dari semua angka dengan rumus:
Sum=Num1 + Num2 + Num3 + Num4 + Num5
Substitusi nilai masing-masing variabel menghasilkan:
Sum = 1 + 3 + 5 + 7 + 9 = 25
Nilai Sum sekarang adalah 25.
3. Baris (7): Algoritma menampilkan hasil dari Sum, yaitu 25.

31


Output akhir dari algoritma ini adalah nilai 25, yang merupakan hasil penjumlahan dari kelima angka
yang diberikan.
• Algoritma 8
Tulis algoritma untuk menghitung rata-rata dari 5 bilangan.
NAME : AVG5
GIVENS : Num1, Num2, Num3, Num4, Num5
RESULTS : Average
DEFINITION : Average := AVG5(Num1, Num2, Num3, Num4, Num5)
-----------------------------------------------------------
METHOD :
Get Num1
Get Num2
Get Num3
Get Num4
Get Num5
Let SUM = Num1 + Num2 + Num3 + Num4 + Num5
Let Average = SUM/5
Give Average
• Penjelasan Algoritma 8:
Algoritma tersebut berfungsi untuk menghitung nilai rata-rata dari lima bilangan yang dimasukkan.
Berikut adalah penjelasan langkah-langkahnya:
1. GIVENS (Diberikan): Terdapat lima bilangan, yaitu Num1, Num2, Num3, Num4, dan Num5.
2. RESULTS (Hasil): Hasil akhir yang diinginkan adalah Average, yaitu rata-rata dari lima bilangan
tersebut.
3. DEFINITION (Definisi): Mendefinisikan Average sebagai hasil dari perhitungan AVG5(Num1,
Num2, Num3, Num4, Num5), yang berarti rata-rata dari lima bilangan yang diberikan.
4. METHOD (Metode):
o Get Num1 hingga Get Num5: Mengambil masing-masing nilai dari lima bilangan tersebut.
o Let SUM = Num1 + Num2 + Num3 + Num4 + Num5: Menjumlahkan kelima bilangan tersebut
dan menyimpannya dalam variabel SUM.
o Let Average = SUM / 5: Menghitung rata-rata dengan membagi SUM dengan 5 dan
menyimpannya dalam variabel Average.
o Give Average: Menampilkan hasil rata-rata tersebut.
Algoritma ini bekerja dengan langkah-langkah sederhana untuk menghitung rata-rata, dimulai dari
pengambilan nilai, penjumlahan, pembagian, dan akhirnya memberikan hasil.

32


• Telusuri algoritma jika diberikan bilangan 1, 3, 5, 7, dan 9.
Tabel 2.5. Penelusuran Algoritma 8
Sumber: (Penulis 2024)
METHOD Line Num1 Num2 Num3 Num4 Num5 Sum
(1) Get Num1 1 1
(2) Get Num2 2 3
(3) Get Num3 3 5
(4) Get Num4 4 7
(5) Get Num5 5 9
(6) Let
Sum=Num1+Num2+
Num3+Num4+Num5
6 25
(7) Let Average=SUM/5 7 5
(8) Give Average 8 Output 5
• Penjelasan Tabel 5:
Penjelasan dari tabel penelusuran algoritma untuk menghitung rata-rata dari 5 bilangan ini adalah
sebagai berikut:
1. Langkah 1 - 5 (Baris 1-5): Pada langkah ini, setiap nilai dari bilangan yang akan dihitung rata-
ratanya diperoleh dan disimpan ke dalam variabel-variabel Num1, Num2, Num3, Num4, dan Num5.
Pada tabel penelusuran, terlihat masing-masing variabel diisi dengan bilangan yang diberikan:
o Num1 = 1
o Num2 = 3
o Num3 = 5
o Num4 = 7
o Num5 = 9
2. Langkah 6 (Baris 6): Semua nilai yang telah diperoleh dijumlahkan menjadi SUM. Jadi, SUM
dihitung sebagai berikut:
SUM = Num1 + Num2 + Num3 + Num4 + Num5 = 1 + 3 + 5 + 7 + 9 = 25
3. Langkah 7 (Baris 7): Rata-rata (Average) dihitung dengan membagi SUM dengan jumlah bilangan
(5). Maka,
Average = SUM/5 = 25/5 = 5
4. Langkah 8 (Baris 8): Hasil Average diberikan sebagai output, yaitu 5.
Hasil Akhir: Nilai rata-rata dari bilangan 1, 3, 5, 7, dan 9 adalah 5.
• Algoritma 9
Tulis algoritma untuk mengalikan 3 bilangan.

33


NAME : Multiply3
GIVENS : Num1, Num2, Num3
RESULTS : Product
DEFINITION : Product := Multiplay3(Num1, Num2, Num3)
----------------------------------------------------
METHOD :
Get Num1
Get Num2
Get Num3
Let Product= Num1*Num2*Num3
Give Product
• Penjelasan Algoritma 9:
Algoritma tersebut berfungsi untuk menghitung perkalian dari tiga bilangan yang dimasukkan. Berikut
adalah penjelasan langkah-langkahnya:
1. GIVENS (Diberikan): Terdapat tiga bilangan, yaitu Num1, Num2, dan Num3.
2. RESULTS (Hasil): Hasil akhir yang diinginkan adalah Product, yaitu perkalian dari tiga bilangan
tersebut.
3. DEFINITION (Definisi): Mendefinisikan Product sebagai hasil dari perhitungan
Multiplay3(Num1, Num2, Num3), yang berarti perkalian dari tiga bilangan yang diberikan.
4. METHOD (Metode):
o Get Num1 hingga Get Num3: Mengambil masing-masing nilai dari tiga bilangan tersebut.
o Let Product = Num1 * Num2 * Num3: Mengalikan ketiga bilangan tersebut.
o Give Product: Menampilkan hasil perkalian dari tiga bilangan tersebut.
Algoritma ini bekerja dengan langkah-langkah sederhana untuk menghitung perkalian dari tiga bilangan,
dimulai dari pengambilan nilai, perkalian dan akhirnya memberikan hasil.
• Telusuri algoritma jika diberikan bilangan 2, 9, dan 6.
Tabel 2.6. Penelusuran Algoritma 9
Sumber: (Penulis 2024)
METHOD Line Num1 Num2 Num3 Product
(1) Get Num1 1 2
(2) Get Num2 2 9
(3) Get Num3 3 6
(4) Let Product= Num1*Num2*Num3 4 108
(5) Give Product 5 Output 108
• Penjelasan Tabel 6:

34


Penjelasan dari tabel penelusuran algoritma untuk menghitung perkalian dari 3 bilangan ini adalah
sebagai berikut:
1. Langkah 1 - 3 (Baris 1-3): Pada langkah ini, setiap nilai dari bilangan yang akan dihitung
perkaliannya diperoleh dan disimpan ke dalam variabel-variabel Num1, Num2, dan Num3. Pada
tabel penelusuran, terlihat masing-masing variabel diisi dengan bilangan yang diberikan:
o Num1 = 2
o Num2 = 9
o Num3 = 6
2. Langkah 4 (Baris 4): Semua nilai yang telah diperoleh dikalikan menjadi Product. Jadi,
Product dihitung sebagai berikut:
Product = Num1 * Num2 * Num3 = 2 * 9 * 6 =108
3. Langkah 5 (Baris 5): Hasil Product diberikan sebagai output, yaitu 108.
Hasil Akhir: Nilai perkalian dari bilangan 2, 9, dan 6 adalah 108.
2.5. Diskusi
1. Dalam penerapan sebuah algoritma untuk menyelesaikan sebuah masalah, terkadang kita
menggunakan Intermediate. Menurut Anda apa alasan menggunakan Intermediate dalam sebuah
algoritma dan apa bedanya dengan Variable pada umumnya?
2. Konsep paling simple dari sebuah Algoritma adalah "memproses sebuah input menjadi sebuah
informasi" (input → proses → output). Dimana input ini merupakan "data" dan output merupakan
"informasi". Beberapa dari kita tentunya sudah ada yang mengetahui konsep dari Data dan Informasi
ini. Tetapi coba kita perdalam lagi kali ini ya dengan masing-masing dari Anda dengan memberikan
pendapat apa itu Data dan Informasi. Dan apakah pernah ada pengalaman dalam penggunaan istilah
ini dalam kehidupan sehari-hari atau di pekerjaan?
2.6. Jawaban Diskusi
2.6.1. Penggunaan Intermediate dalam Algoritma dan Perbedaannya dengan Variabel Umum
2.6.1.1. Alasan Penggunaan Intermediate dalam Algoritma
Intermediate atau variabel perantara digunakan untuk menyimpan hasil sementara selama proses
komputasi. Ada beberapa alasan utama mengapa intermediate diperlukan dalam sebuah algoritma:
1. Memecah Proses yang Kompleks
o Algoritma yang rumit bisa terdiri dari beberapa langkah, dan setiap langkah dapat menghasilkan
hasil sementara yang dipakai pada langkah berikutnya. Intermediate memungkinkan kita untuk
menghindari perhitungan berulang dengan menyimpan hasil antara.
o Contoh: Dalam perhitungan luas lingkaran, nilai sementara untuk π×r
2
bisa disimpan sebelum
dikalikan dengan konstanta lain dalam formula yang lebih panjang.
2. Meningkatkan Keterbacaan Kode

35


o Penggunaan intermediate bisa membuat algoritma lebih mudah dibaca dan dipahami.
Menyimpan hasil sementara dengan nama variabel yang deskriptif membantu programmer lain
(atau diri sendiri) memahami alur program dengan lebih jelas.
o Contoh: Daripada menggunakan satu ekspresi kompleks dalam satu baris, hasil dari setiap
komponen bisa disimpan ke dalam variabel perantara seperti totalHarga atau diskonAkhir.
3. Optimasi Waktu Eksekusi
o Dalam beberapa kasus, intermediate digunakan untuk menyimpan hasil komputasi mahal
(misalnya, operasi matematis berat) agar tidak dihitung ulang setiap kali dibutuhkan. Ini
membantu mengoptimalkan kinerja algoritma.
4. Penghindaran Bug
o Menyimpan hasil antara juga membantu mencegah kesalahan. Misalnya, jika suatu algoritma
bergantung pada banyak variabel input dan perubahan, intermediate dapat menjaga stabilitas
nilai di tengah proses yang panjang.
2.6.1.2. Perbedaan Intermediate dengan Variabel Umum
• Scope atau Ruang Lingkup:
o Intermediate biasanya digunakan untuk tujuan sementara dalam suatu langkah tertentu. Begitu
hasil final sudah dihitung, intermediate seringkali tidak diperlukan lagi.
o Variabel umum bisa memiliki cakupan lebih luas dan menyimpan data yang dibutuhkan di
seluruh bagian algoritma atau program.
• Tujuan Penggunaan:
o Intermediate bertujuan untuk menjembatani antara beberapa proses dalam algoritma,
sedangkan variabel umum digunakan untuk menyimpan input, output, atau nilai tetap yang
diperlukan sepanjang program.
o Contoh: Jika kita membuat program untuk menghitung gaji karyawan, gajiPokok adalah
variabel utama, sedangkan potonganPajak atau totalBonus bisa dianggap sebagai
intermediate.
2.6.1.3. Contoh Algoritma dengan Intermediate
Misalkan algoritma menghitung luas dan keliling lingkaran.
1. Input: jari-jari (r)
2. Intermediate:
o luas = π * r * r (hasil antara sebelum menampilkan keluaran)
o keliling = 2 * π * r
3. Output: Luas dan keliling lingkaran
Dalam algoritma ini, luas dan keliling adalah intermediate karena nilainya hanya digunakan untuk
proses selanjutnya dan tidak memiliki nilai tetap sepanjang eksekusi program.

36


Berikut adalah contoh algoritma menghitung luas persegi panjang dengan menggunakan
intermediate.
2.6.1.4. Algoritma Menghitung Luas Persegi Panjang
1. Input: Panjang (p) dan Lebar (l)
2. Intermediate:
o luas = p * l (Hasil sementara yang menyimpan luas)
3. Output: Menampilkan nilai luas persegi panjang
2.6.1.5. Kode Algoritma dalam Bahasa Natural
1. Masukkan nilai panjang (p)
2. Masukkan nilai lebar (l)
3. Hitung luas = p * l
4. Tampilkan hasil luas
2.6.1.6. Implementasi dengan Pseudocode
START
Input p // panjang persegi panjang
Input l // lebar persegi panjang
luas = p * l // intermediate: menyimpan hasil perhitungan luas
Output "Luas persegi panjang adalah: ", luas
END

2.6.1.7. Penjelasan Penggunaan Intermediate
• Variabel luas berperan sebagai intermediate karena nilainya hanya digunakan sementara dalam
perhitungan.
• Panjang (p) dan lebar (l) adalah variabel input, yang nilainya diberikan pengguna dan bisa berubah
setiap kali program dijalankan.
• Menggunakan intermediate luas membantu memecah proses dan menyimpan hasil sementara
sebelum menampilkannya sebagai output, sehingga perhitungan tidak perlu diulang.
2.6.1.8. Contoh Implementasi dalam C++
#include <iostream>
using namespace std;

int main() {
// Deklarasi variabel
float p, l, luas; // p = panjang, l = lebar, luas = intermediate

// Input panjang dan lebar
cout << "Masukkan panjang: ";
cin >> p;
cout << "Masukkan lebar: ";
cin >> l;

37


// Perhitungan luas sebagai intermediate
luas = p * l;

// Output hasil
cout << "Luas persegi panjang adalah: " << luas << endl;

return 0;
}
2.6.1.9. Contoh Output
Contoh, jika kita masukkan panjang adalah 20 dan lebar 10 maka hasilnya adalah 200.

2.6.2. Apa itu Data?
Data dan Informasi adalah konsep dasar dalam ilmu komputer dan manajemen, yang sering digunakan
dalam kehidupan sehari-hari. Berikut penjelasan dan pengalaman yang relevan.
• Data adalah kumpulan fakta atau angka mentah yang belum diolah atau diberi konteks. Data tidak
memiliki arti sampai diproses atau dianalisis. Bentuk data bisa berupa angka, teks, gambar, suara,
atau simbol lainnya.
• Contoh: Jumlah penjualan harian, suhu harian, atau daftar nama karyawan.
Analogi: Data ibarat bahan mentah dalam memasak, seperti sayuran atau rempah, yang perlu diolah
untuk menjadi hidangan.
2.6.2.1. Apa itu Informasi?
• Informasi adalah hasil dari pengolahan data yang memberikan makna atau wawasan. Informasi
adalah data yang sudah diorganisir atau dianalisis sehingga dapat digunakan untuk mendukung
pengambilan keputusan.
• Contoh: Setelah memproses data penjualan harian, bisa disimpulkan bahwa penjualan tertinggi
terjadi pada hari Jumat, yang menjadi informasi untuk perencanaan promosi.
Analogi: Informasi seperti hidangan yang sudah matang, yang siap disantap dan memiliki arti bagi
konsumen.
2.6.2.2. Pengalaman dalam Kehidupan Sehari-hari atau Pekerjaan
1. Kehidupan Sehari-hari:
o Saat menggunakan aplikasi kesehatan, data seperti jumlah langkah, detak jantung, dan waktu
tidur harian diukur oleh perangkat. Data tersebut kemudian diproses menjadi informasi berupa
saran kesehatan, seperti “Anda butuh tidur lebih lama” atau “Target langkah harian tercapai”.
2. Pekerjaan:

38


o Di manajemen bisnis, data penjualan dan data stok digunakan untuk menghasilkan informasi
seperti tren penjualan atau barang yang perlu di-restok. Dengan informasi ini, manajer bisa
mengambil keputusan strategis tentang produk mana yang harus dipromosikan atau dihentikan.
3. Pengembangan Software:
o Dalam pembuatan aplikasi, data pengguna seperti waktu login atau kebiasaan pemakaian
dikumpulkan untuk menghasilkan informasi berupa laporan statistik yang digunakan untuk
meningkatkan pengalaman pengguna.
BAB 3
FLOWCHART
3.1. Flowchart
3.2. Pengertian Flowchart
• Definisi Kamus:
➢ Sebuah representasi skematis dari urutan operasi, seperti dalam proses manufaktur atau program
komputer .
• Definisi Teknis:
➢ Sebuah representasi grafis dari urutan operasi dalam suatu sistem informasi atau program.
Flowchart sistem informasi menunjukkan bagaimana data mengalir dari dokumen sumber
melalui komputer untuk distribusi akhir kepada pengguna. Flowchart program menunjukkan
urutan instruksi dalam satu program atau subroutine.
➢ Menunjukkan logika suatu algoritma.
➢ Menekankan langkah-langkah individual dan interkoneksi mereka.
➢ Misalnya aliran kontrol dari satu tindakan ke tindakan berikutnya.
3.3. Simbol Flowchart Dasar

39


Gambar 3.1. Simbol Flowchart dasar
Sumber: Modul Dasar Pemrograman Pertemuan Ke-3
3.4. Struktur Kendali
• Struktur kontrol adalah blok pemrograman yang menganalisis variabel dan memilih arah berikutnya
didasarkan pada parameter yang diberikan.
• Tipe-tipe struktur kendali:
1. Berurutan
2. Bercabang
3. Berulang
3.5. Flowchart dengan Struktur Kendali Berurutan
• Instruksi satu dan lainnya dilakukan secara berurutan (squential).

Gambar 3.2. Flowchart dengan Struktur Kendali Berurutan
Sumber: Modul Dasar Pemrograman Pertemuan Ke-3
3.6. Flowchart 1


NAME :SUM3
GIVEN :N1, N2, N3
RESULTS :Total
DEFINITION :Total := SUM3 (N1, N2, N3)
----------------------------------------
METHOD :
Get N1
Get N2
Get N3
Let Total = N1 + N2 + N3
Give Total
ALGORITMA 1

40


Algoritma SUM3 di atas bertujuan untuk menghitung jumlah tiga nilai, yang diberi nama N1, N2, dan
N3. Berikut adalah penjelasan dari langkah-langkah yang ada dalam algoritma tersebut:
5. Name - Nama algoritma ini adalah SUM3.
6. Givens - Algoritma menerima tiga input, yaitu N1, N2, dan N3.
7. Result - Hasil dari algoritma ini adalah Total, yang merupakan penjumlahan dari N1, N2, dan N3.
8. Definitions - Total didefinisikan sebagai penjumlahan dari ketiga nilai input, yaitu Total := SUM3
(N1, N2, N3).
Method:
Langkah-langkah dari metode untuk menghitung Total adalah sebagai berikut:
• Get N1: Ambil nilai pertama, N1.
• Get N2: Ambil nilai kedua, N2.
• Get N3: Ambil nilai ketiga, N3.
• Let Total = N1 + N2 + N3: Hitung total dengan menjumlahkan ketiga nilai tersebut.
• Give Total: Tampilkan hasil Total.
Tujuan dari algoritma ini adalah memproses tiga input angka menjadi satu output yang merupakan
jumlah dari ketiganya. Algoritma ini sederhana dan efektif untuk menyelesaikan masalah penjumlahan
dengan beberapa langkah yang jelas dan terstruktur.
3.6.1. Menggunakan Flowgorithm

Gambar 3.3. Flowchart Menggunakan Flowgorithm
Sumber: (Penulis 2024)

41


Flowchart pada gambar 3.3. di atas menunjukkan proses algoritma untuk menjumlahkan tiga bilangan yaitu N1,
N2, dan N3 dan menghasilkan Total. Berikut adalah penjelasan dari setiap langkah dalam flowchart tersebut:
1. Main: Ini adalah titik awal dari program.
2. Deklarasi Variabel:
o Pada langkah ini, variabel-variabel N1, N2, N3, dan Total dideklarasikan sebagai tipe Integer.
Variabel N1, N2, dan N3 akan menyimpan input bilangan yang akan dijumlahkan, sedangkan
Total akan menyimpan hasil penjumlahan.
3. Input N1:
o Program meminta pengguna untuk memasukkan nilai variabel N1.
4. Input N2:
o Program meminta pengguna untuk memasukkan nilai variabel N2.
5. Input N3:
o Program meminta pengguna untuk memasukkan nilai variabel N3.
6. Perhitungan Total = N1 + N2 + N3:
o Setelah memperoleh nilai N1, N2, dan N3, program melakukan operasi penjumlahan N1 + N2 +
N3 dan menyimpan hasilnya ke dalam variabel Total.
7. Output:
o Program menampilkan hasil dari operasi penjumlahan, dengan teks "Total: " diikuti oleh nilai
Total.
8. End:
o Program selesai dan keluar.
Flowchart ini menunjukkan langkah-langkah yang jelas untuk melakukan operasi penjumlahan antara tiga angka
yang dimasukkan pengguna dan menampilkan hasil penjumlahan dari operasi tersebut.
Contoh output:
Kasus 1: N1= 100, N2= 100, N3= 100 Kasus 2: N1= 100, N2= 200, N3= 300

Gambar 3.4. Contoh Output
Sumber: (Penulis 2024)

42


Pada gambar 3.4 di atas menjelaskan bahwa pada contoh kasus 1 jika N1= 100, N2= 100, dan N3= 100 maka hasil
penjumlahan dari ketiga angka tersebut adalah 300. Sedangkan pada kasus 2 jika diberikan variabel N1= 100,
N2= 200, dan N3= 300 maka hasil dari penjumlahan dari tiga bilangan tersebut adalah 600.
3.6.2. Menggunakan Office Word (Bagan Alur)




















Gambar 3.5. Flowchart Menggunakan Bagan Alur
Sumber: (Penulis 2024)
Pada gambar 3.5 di atas menjelaskan tentang proses algoritma untuk menjumlahkan tiga buah bilangan
yaitu N1, N2, dan N3 dengan menghasilkan total dari ketiga bilangan tersebut. Berikut adalah penjelasan
dari gambar flowchart tersebut:
1. START SUM3: Ini adalah titik awal dari program.
2. GET N1:
o Program meminta pengguna untuk memasukkan nilai variabel N1.
3. GET N2:
o Program meminta pengguna untuk memasukkan nilai variabel N2.
4. GET N3:
o Program meminta pengguna untuk memasukkan nilai variabel N3.
5. LET TOTAL = N1 + N2 + N3:
o Setelah memperoleh nilai N1, N2, dan N3, program melakukan operasi penjumlahan N1 +
N2 + N3 dan menyimpan hasilnya ke dalam variabel Total.
6. GIVE TOTAL:
o Program menampilkan hasil dari operasi penjumlahan.
START
SUM3
Get N1
Get N2
Get N3
Let Total = N1 + N2 + N3
Give Total
STOP
SUM3

43


7. STOP SUM3:
o Program selesai dan keluar.
Flowchart ini menunjukkan langkah-langkah yang jelas untuk melakukan operasi penjumlahan antara
tiga angka yang dimasukkan pengguna dan menampilkan hasil penjumlahan dari operasi tersebut.
3.7. Flowchart 2


NAME : Division
GIVENS : X, Y
RESULTS : Quotient
DEFINITION : Quotient := Division (X, Y)
-----------------------------------------------------------------------
METHOD :
Get X
Get Y
Let Qoutient = X/Y
Give Quotient
• Penjelasan Algoritma 2:
Algoritma di atas adalah algoritma sederhana untuk melakukan pembagian antara dua angka, X dan Y,
dan menghasilkan hasil bagi, atau "Quotient." Berikut adalah penjelasan dari setiap bagian dalam
algoritma tersebut:
1. NAME: "Division" - Nama dari algoritma ini adalah "Division," yang berarti operasi pembagian.
2. GIVENS: "X, Y" - Algoritma ini membutuhkan dua nilai masukan, yaitu X dan Y, yang akan
digunakan sebagai angka yang dibagi.
3. RESULTS: "Quotient" - Hasil dari algoritma ini adalah "Quotient," yang merupakan hasil
pembagian X oleh Y.
4. DEFINITION: "Quotient := Division (X, Y)" - Bagian ini mendefinisikan bahwa nilai
"Quotient" diperoleh dari operasi pembagian X dengan Y.
5. METHOD:
o Get X - Mengambil atau memasukkan nilai untuk variabel X.
o Get Y - Mengambil atau memasukkan nilai untuk variabel Y.
o Let Quotient = X/Y - Melakukan operasi pembagian antara X dan Y untuk mendapatkan
hasil bagi atau "Quotient."
o Give Quotient - Mengeluarkan atau menampilkan nilai "Quotient" sebagai hasil akhir dari
algoritma ini.
Secara keseluruhan, algoritma ini menerima dua input (X dan Y), membagi X dengan Y, dan
memberikan hasil bagi sebagai output.
ALGORITMA 2

44


3.7.1. Presentasi Flowchart Menggunakan Flowgorithm

Gambar 3.6. Flowchart Menggunakan Flowgorithm
Sumber: (Penulis 2024)
Flowchart pada gambar 3.5. di atas menggambarkan proses algoritma untuk membagi dua bilangan X
dan Y dan menghasilkan hasil bagi. Berikut adalah penjelasan dari setiap langkah dalam flowchart
tersebut:
1. Main: Ini adalah titik awal dari program.
2. Deklarasi Variabel:
o Pada langkah ini, variabel-variabel X, Y, dan LetQuotient dideklarasikan sebagai tipe Integer.
Variabel X dan Y akan menyimpan input bilangan yang akan dibagi, sedangkan LetQuotient
akan menyimpan hasil bagi.
3. Input X:
o Program meminta pengguna untuk memasukkan nilai untuk variabel X.
4. Input Y:
o Program meminta pengguna untuk memasukkan nilai untuk variabel Y.
5. Perhitungan LetQuotient = X/Y:
o Setelah memperoleh nilai X dan Y, program melakukan operasi pembagian X / Y dan
menyimpan hasilnya ke dalam variabel LetQuotient.
6. Output:

45


o Program menampilkan hasil dari operasi pembagian, dengan teks "Give Quotient: " diikuti oleh
nilai LetQuotient.
7. End:
o Program selesai dan keluar.
Flowchart ini menunjukkan langkah-langkah yang jelas untuk melakukan operasi pembagian antara dua
angka yang dimasukkan pengguna dan menampilkan hasil bagi dari operasi tersebut.
Contoh Output:
Kasus 1: X= 1000, dan Y= 10 Kasus 2: X= 1500, dan Y= 50

Gambar 3.7. Contoh Output
Sumber: (Penulis 2024)
Pada gambar 3.6 contoh output di atas tepatnya pada kasus 1 menjelaskan bahwa jika X= 1000 dan Y= 10 maka
hasil pembagiannya adalah 100. Sedangkan pada kasus 2 jika X =1500 dan Y= 50 maka hasil dari pembagian
kedua angka tersebut adalah 30.
3.7.2. Presentasi Flowchart Menggunakan Office Word (Bagan Alur)


















START
SUM3
Get X
Get Y
Let Quotient = X/Y
Give Quotient
STOP
SUM3

46




Gambar 3.8. Flowchart Menggunakan Bagan Alur
Sumber: (Penulis 2024)
3.8. Flowchart dengan Struktur Kendali Bercabang
• Suatu instruksi yang membutuhkan pilihan/keputusan terhadap sebuah kondisi.











Gambar 3.9. Flowchart dengan Struktur Kendali Bercabang
Sumber: (Penulis 2024)
3.9. Flowchart 3








NAME : PassGrade
GIVENS : M1, M2, M3, M4
RESULTS : Grade
DEFINITION : Grade := PassGrade (M1, M2, M3, M4)
-------------------------------------------------------------------------------------
METHOD :
Get M1
Get M2
Get M3
Get M4

Let Grade = (M1, M2, M3, M4)/4
If (Grade >= 50)
Give “PASS”
Else
Give “FAIL”
• Penjelasan Algoritma 3:
Kondisi p?
Instruksi 1 Instruksi 2
ALGORITMA 3

47


Algoritma di atas adalah algoritma untuk menentukan apakah seorang siswa lulus atau gagal berdasarkan
rata-rata nilai dari empat mata pelajaran, yaitu M1, M2, M3, dan M4. Berikut adalah penjelasan dari
setiap bagian dalam algoritma tersebut:
1. NAME: "PassGrade" - Nama algoritma ini adalah "PassGrade," yang berarti algoritma untuk
menentukan kelulusan berdasarkan nilai.
2. GIVENS: "M1, M2, M3, M4" - Algoritma ini menerima empat nilai masukan, yaitu M1, M2, M3,
dan M4, yang mewakili nilai dari empat mata pelajaran.
3. RESULTS: "Grade" - Hasil dari algoritma ini adalah Grade, yang menunjukkan apakah siswa lulus
atau gagal.
4. DEFINITION: "Grade := PassGrade (M1, M2, M3, M4)" - Bagian ini mendefinisikan bahwa
Grade akan dihitung dengan menggunakan nilai-nilai yang dimasukkan.
5. METHOD:
o Get M1 - Mengambil atau memasukkan nilai untuk variabel M1.
o Get M2 - Mengambil atau memasukkan nilai untuk variabel M2.
o Get M3 - Mengambil atau memasukkan nilai untuk variabel M3.
o Get M4 - Mengambil atau memasukkan nilai untuk variabel M4.
o Let Grade = (M1 + M2 + M3 + M4) / 4 - Menghitung rata-rata dari keempat nilai yang telah
dimasukkan.
o If (Grade >= 50) - Memeriksa apakah nilai rata-rata Grade lebih besar atau sama dengan 50.
▪ Give “PASS” - Jika Grade lebih besar atau sama dengan 50, maka siswa dinyatakan "PASS"
(lulus).
▪ Else Give “FAIL” - Jika Grade kurang dari 50, maka siswa dinyatakan "FAIL" (gagal).
Algoritma ini menerima empat nilai sebagai masukan, menghitung rata-rata dari nilai-nilai tersebut,
dan memeriksa apakah rata-rata tersebut memenuhi syarat kelulusan. Jika rata-rata nilai (Grade)
mencapai atau melebihi 50, siswa dinyatakan lulus ("PASS"); jika tidak, siswa dinyatakan gagal
("FAIL").

48


3.9.1. Presentasi Flowchart Menggunakan Flowgorithm

Gambar 3.10. Flowchart Menggunakan Flowgorithm
Sumber: (Penulis 2024)
Flowchart pada gambar 3.10. di atas menggambarkan proses algoritma untuk menjumlah empat
bilangan M1, M2, M3, M4 dan membagi jumlah bilangan tersebut dengan bilangan 4, kemudian
menghasilkan output yang disimpan dalam bentuk variabel Grade. Jika Grade lebih besar sama dengan
50 maka output adalah “PASS” (Lulus), namun jika Grade lebih kecil dari 50 maka output adalah “FAIL”
(Gagal). Berikut adalah penjelasan dari setiap langkah dalam flowchart tersebut:
1. Main: Ini adalah titik awal dari program.
2. Deklarasi Variabel:
o Pada langkah ini, variabel-variabel M1, M2, M3, M4 dan Grade dideklarasikan sebagai tipe
Integer. Variabel M1, M2, M3, M4 akan menyimpan input bilangan yang akan dibagi,
kemudian hasil bagi akan disimpan dalam bentuk Grade.
3. Input M1:
o Program meminta pengguna untuk memasukkan nilai untuk variabel M1.
4. Input M2:

49


o Program meminta pengguna untuk memasukkan nilai untuk variabel M2.
5. Input M3:
o Program meminta pengguna untuk memasukkan nilai untuk variabel M3.
6. Input M4:
o Program meminta pengguna untuk memasukkan nilai untuk variabel M4.
7. Perhitungan Grade =(M1 + M2 + M3 + M4)/4:
o Setelah memperoleh nilai M1, M2, M3, dan M4, program melakukan operasi pembagian
dengan angka 4 dan menyimpan hasilnya ke dalam variabel Grade.
8. Output:
o Program menampilkan hasil dari operasi pembagian, dengan Output Grade: " diikuti oleh nilai
Grade.
9. Grade >=50:
o True: Program mencetak output “PASS” (Lulus).
o False: Program akan mencetak output “FAIL” (Gagal).
10. End:
o Program selesai dan keluar.
Flowchart ini menunjukkan langkah-langkah yang jelas untuk melakukan operasi penjumlahan antara 4
angka, kemudian menghasilkan hasil bagi yang disimpan dalam variabel Grade kemudian mencetaknya
menjadi dua output, jika lebih besar sama dengan angka 50 maka output adalah “PASS” dan jika lebih
kecil dari angka 50 maka output adalah “FAIL”.
Contoh Output:
Kasus 1: M1= 100, M2= 100, M3= 100, M3= 100 Kasus 2: M1= 50, M2= 50, M3= 50, M4= 50

Kasus 3: M1= 40, M2= 40, M3= 40, M4= 40

50



Gambar 3.11. Contoh Output
Sumber: (Penulis 2024)
Penjelasan dari gambar 3.11 pada kasus 1 adalah jika diberikan input berupa bilangan M1= 100, M2=
100, dan M4=100, maka output yang dihasilkan adalah “PASS” (Lulus), demikian juga dengan kasus 2
jika M1= 50, M2= 50, M3= 50, dan M4= 50, maka output akan mencetak “PASS”, namun jika diberikan
bilangan pada M1= 40, M2= 40, M3= 40, dan M4= 40, maka output akan menampilkan “FAIL”.
3.9.2. Presentasi Flowchart Menggunakan Office Word (Bagan Alur)























Gambar 3.11. Flowchart Menggunakan Office Word (Bagan Alur)
Sumber: (Penulis 2024)
START
PassGrade
Get
M1, M2, M3,
M4
Let Grade =
(M1+M2+M3+M4)/4
Grade >=50
Give
“FAIL”
Give
“PASS”
STOP
PassGrade
True False

51


Penjelasan Program:
Gambar tersebut adalah flowchart yang menggambarkan proses perhitungan rata-rata nilai (Grade) dari
empat mata pelajaran dan menentukan apakah siswa lulus atau gagal berdasarkan nilai rata-rata tersebut.
Berikut adalah penjelasannya:
Langkah-langkah Flowchart
1. Mulai (Start):
o Proses dimulai dengan program bernama "PassGrade."
2. Input Nilai:
o Program meminta pengguna untuk memasukkan empat nilai: M1, M2, M3, dan M4.
3. Menghitung Rata-rata:
o Rata-rata nilai dihitung menggunakan rumus:
????????????&#3627408462;&#3627408465;&#3627408466;=
M1+M2+M3+M4
4

4. Pengecekan Kondisi Kelulusan:
o Program memeriksa apakah nilai rata-rata (Grade) lebih besar atau sama dengan 50:
▪ Jika benar (True): Program akan memberikan hasil "PASS" (lulus).
▪ Jika salah (False): Program akan memberikan hasil "FAIL" (gagal).
5. Output Hasil:
o Berdasarkan kondisi, program menampilkan "PASS" atau "FAIL."
6. Akhir Program (Stop):
o Setelah menampilkan hasil, program berhenti.
Fungsi Program
Flowchart ini digunakan untuk:
• Menghitung rata-rata dari empat nilai yang diberikan.
• Menentukan apakah siswa lulus atau gagal berdasarkan kriteria nilai minimal 50.
Contoh Kasus
Jika nilai yang dimasukkan adalah:
• M1 = 60, M2 = 70, M3 = 80, M4 = 40
• Grade = 60 + 70 + 80 + 40 = 62.5 Karena Grade >= 50, hasilnya adalah "PASS".
3.10. Flowchart dengan Struktur Kendali Berulang








Kondisi p?
Instruksi

52





Gambar 3.12. Flowchart dengan Struktur Kendali Berulang
Sumber: (Penulis 2024)
3.11. Flowchart 4


NAME : NLoop
GIVENS : N
RESULTS : None
INTERMEDIATES: i
DEFINITION : Grade := PassGrade (M1, M2, M3, M4)
-----------------------------------------------------------------------------------------
METHOD :
Get N
Set i = 0
While = (i≠??????)
Let i = i + 1
Loop
• Penjelasan Algoritma 4:
Algoritma NLoop adalah sebuah algoritma dasar yang mengilustrasikan penggunaan perulangan (loop)
untuk menjalankan sebuah proses sebanyak N kali. Berikut adalah penjelasan dari tiap bagian algoritma
tersebut:
• Komponen Algoritma
1. NAME:
o Nama algoritma adalah NLoop.
2. GIVENS:
o N: Nilai yang diberikan sebagai masukan untuk menentukan jumlah iterasi yang dilakukan
dalam loop.
3. RESULTS:
o Tidak ada hasil akhir yang dikembalikan langsung oleh algoritma (None).
4. INTERMEDIATES:
o i: Variabel penghitung atau iterasi yang digunakan untuk melacak jumlah perulangan yang
sedang berjalan.
5. DEFINITION:
o Grade := PassGrade (M1, M2, M3, M4): Bagian ini tampaknya tidak relevan dengan loop
yang dijelaskan di metode, sehingga bisa diabaikan dalam konteks penjelasan perulangan.
• Langkah-langkah dalam Algoritma (METHOD)
1. Get N:
ALGORITMA 4

53


o Masukkan nilai N, yaitu jumlah iterasi yang ingin dilakukan.
2. Set i = 0:
o Inisialisasi variabel penghitung iii dengan nilai awal 0.
3. While = (i ≠ N):
o Buat kondisi loop yang akan terus berjalan selama iii tidak sama dengan N.
4. Let i = i + 1:
o Tambahkan nilai 1 pada iii setiap kali loop dijalankan.
5. Loop:
o Kembali ke langkah awal perulangan hingga kondisi i= N tercapai.
• Penjelasan Proses
• Algoritma ini adalah struktur dasar untuk iterasi dari 0 hingga N−1 (dalam implementasi nyata,
iterasi berhenti saat i=N).
• Fungsinya adalah untuk memastikan sebuah proses diulang sebanyak N kali. Namun, karena
algoritma ini tidak mendefinisikan proses apa pun di dalam loop, ia hanya meningkatkan nilai i
sampai batas N.
• Contoh Eksekusi
Misalkan N= 5
• Iterasi 1: i= 1
• Iterasi 2: i= 2
• Iterasi 3: i= 3
• Iterasi 4: i= 4
• Iterasi 5: i= 5
Loop berakhir setelah i= N.
• Poin Penting
• Struktur algoritma ini dapat digunakan sebagai kerangka dasar untuk berbagai jenis pengulangan.
Misalnya, menampilkan angka dari 1 hingga N, atau menjalankan operasi tertentu setiap iterasi.
• Dalam implementasi nyata, biasanya ada aksi spesifik yang dilakukan di dalam loop, tetapi aksi
tersebut tidak dijelaskan dalam algoritma ini.

54


3.11.1. Presentasi Flowchart Menggunakan Flowgorithm

Gambar 3.13. Flowchart dengan Struktur Kendali Berulang
Sumber: (Penulis 2024)
Penjelasan Program
Gambar 3.13 tersebut adalah flowchart sederhana yang menggambarkan proses perulangan (loop)
menggunakan struktur kontrol iteratif. Berikut adalah penjelasan langkah-langkahnya:
1. Deklarasi Variabel:
o Dua variabel, i dan N, dideklarasikan sebagai bilangan bulat (Integer).
2. Input Nilai:
o Program meminta pengguna untuk memasukkan nilai N.
3. Inisialisasi:
o Variabel i diatur dengan nilai awal 0.
4. Pemeriksaan Kondisi:
o Program memeriksa apakah nilai i tidak sama dengan N.
▪ Jika benar (True), program masuk ke langkah berikutnya.
▪ Jika salah (False), program keluar dari loop dan berakhir.
5. Increment (Penambahan):
o Jika kondisi i != N terpenuhi, maka nilai i akan ditambah 1 (i = i + 1).
6. Ulangi Proses:
o Setelah penambahan, program kembali memeriksa kondisi di langkah ke-4.
7. Akhir Program:

55


o Jika kondisi i != N salah, loop berhenti, dan program berakhir.
Fungsi Program
Flowchart ini merepresentasikan pengulangan sederhana yang berjalan dari i = 0 hingga i = N (tidak
termasuk N). Dengan kata lain, program menghitung dari 0 hingga nilai yang diinput oleh pengguna, dan
setiap iterasi menambah nilai i sebesar 1.
3.11.2. Presentasi Flowchart Menggunakan Office Word (Diagram Alur)






















Gambar 3.14. Flowchart Menggunakan Office Word (Diagram Alur)
Sumber: (Penulis 2024)
Gambar 3.14 menjelaskan tentang Flowchart perulangan dengan nama NLoop, langkah-langkahnya
adalah sebagai berikut:
1. Input Nilai
o Program meminta menginputkan nilai yang disimpan dalam variabel N
2. Inisialisasi
o Variabel i diset dengan nilai awal 0
3. Kondisi
o Memeriksa kondisi apakah i tidak sama dengan N:
▪ Jika Benar maka masuk ke langkah berikutnya
▪ Jika salah program akan keluar dari loop dan berakhir/berhenti.
4. Increment
o Jika kondisi i tidak sama dengan N terpenuhi, maka i akan ditambah sebesar 1.
5. Perulangan
START
NLoop
Get N
Set i = 0
i ≠ N?
i = i + 1
STOP
NLoop
False
True

56


o Setelah penambahan program akan kembali mengulang ke langkah 3
6. Akhiri Program
o Jika i tidak sama dengan N, maka loop akan berhenti dan program akan berakhir.
3.12. Algoritma 5


NAME : AVG10
GIVENS : X
RESULTS : AVG
INTERMEDIATES: i, SUM
DEFINITION : AVG := AVG10 (X)
-----------------------------------------------------------------------------------------
METHOD :
Set i = 0
Set SUM = 0

While = (i < 10)
Get X
Let SUM = X + SUM
Let i = i + 1
Loop

Let AVG = SUM/10
Give AVG
Penjelasan Algoritma 5:
Algoritma AVG10 adalah algoritma yang dirancang untuk menghitung rata-rata dari 10 angka yang
dimasukkan oleh pengguna. Berikut adalah penjelasan langkah-langkahnya:
Penjelasan Algoritma
1. Deklarasi Variabel:
o x: Variabel untuk menyimpan input angka dari pengguna.
o AVG: Variabel hasil yang menyimpan nilai rata-rata.
o i: Variabel penghitung (counter) untuk mengontrol iterasi loop.
o SUM: Variabel yang digunakan untuk menjumlahkan 10 angka.
2. Inisialisasi:
o i diatur ke 0 sebagai penghitung awal.
o SUM diatur ke 0 untuk menampung total nilai dari angka-angka yang dimasukkan.
3. Proses Perulangan:
o Program akan memasuki loop selama nilai i kurang dari 10.
o Setiap Iterasi:
▪ Program meminta input angka dari pengguna dan menyimpannya dalam x.
ALGORITMA 5

57


▪ Nilai x ditambahkan ke SUM.
▪ Variabel penghitung i dinaikkan sebesar 1.
4. Menghitung Rata-rata:
o Setelah loop selesai (artinya 10 angka telah dimasukkan), program menghitung rata-rata
dengan rumus: AVG=SUM/10
5. Output:
o Nilai rata-rata (AVG) ditampilkan kepada pengguna.
Fungsi Algoritma
• Input: 10 angka dari pengguna.
• Proses:
o Menjumlahkan semua angka yang dimasukkan.
o Membagi total jumlah angka dengan 10.
• Output: Menampilkan rata-rata dari 10 angka.
Contoh Kasus
Jika pengguna memasukkan angka berikut:
5, 10, 15, 20, 25, 30, 35, 40, 45, 50
1. Perhitungan Total:
SUM=5+10+15+20+25+30+35+40+45+50=275
2. Menghitung Rata-rata:
AVG=SUM/10=275/10=27.5
Output: Nilai rata-rata adalah 27.5.

58


3.12.1. Presentasi Flowchart menggunakan Flowgorithm

Gambar 3.15. Gambar Flowchart Menggunakan Flowgorithm
Sumber: (Penulis)
Contoh Output:
Jika pengguna memasukkan angka berikut: 5, 10, 15, 20, 25, 30, 35, 40, 45, dan 50, maka hasil dari rata-rata
penjumlahan tersebut adalah: 27,5

Gambar 3.16. Contoh Output
Sumber: (Penulis)

59


3.12.2. Presentasi Flowchart menggunakan Office Word (Bagan Alur)
























Gambar 3.17. Flowchart Menggunakan Office Word (Bagan Alur)
Sumber: (Penulis)
3.13. Latihan
1. Modifikasi Algoritma 2 (Quotient = X/Y) dengan menambah kondisi:
➢ Jika Y = 0 dan X = 0, maka Qoutient “Infinity”
➢ Jika Y = 0 dan X ≠ 0, maka Quotient “Undefinied”
➢ Selain dua kondisi di atas, tampilkan nilai Quotient
2. Buat flowchart yang mempresentasikan Algoritma pada soal No. 1
3.13.1. Jawaban










START
AVG10
Set i = 0
Set SUM = 0
i <&#3627409359;&#3627409358; ?
Get X
Let SUM = X + SUM
Let i = i + 1
Let AVG = SUM/10
Give AVG
STOP
AVG10

60



NAME : Quotient
GIVENS : X, Y
RESULTS : Quotient
DEFINITION : Quotient := Division (X, Y)
-----------------------------------------------------------------------
METHOD :
Get X
Get Y
If X = 0 And Y = 0 Then
Let Quotient = “Infinity”
Else If X ≠ 0 and Y = 0 Then
Let Quotient = “Undefined”
Else
Let Qoutient = X/Y
End If
Give Quotient
3.13.2. Penjelasan Algoritma 2 (Modifikasi)
3.13.3. Nama dan Tujuan Algoritma
• NAME: Quotient
• TUJUAN: Algoritma ini bertujuan untuk menghitung hasil pembagian Quotient dari dua bilangan
X (pembilang) dan Y (penyebut) dengan kondisi khusus untuk menangani pembagian dengan nol (0).
3.13.4. Penjelasan Langkah-Langkah
1. Input Data:
o Get X: Algoritma meminta pengguna untuk memasukkan nilai X (pembilang).
o Get Y: Algoritma meminta pengguna untuk memasukkan nilai Y (penyebut).
2. Cek Kondisi:
o Kondisi 1:
▪ Jika X = 0 dan Y = 0, maka:
▪ Tetapkan Quotient menjadi "Infinity".
▪ Penjelasan: Dalam matematika, pembagian 0/0 tidak terdefinisi, tetapi dalam
beberapa konteks, ini sering dianggap sebagai tak terhingga (infinity).
o Kondisi 2:
▪ Jika X ≠ 0 dan Y = 0, maka:
▪ Tetapkan Quotient menjadi "Undefined".
▪ Penjelasan: Dalam matematika, pembagian oleh nol tidak didefinisikan, sehingga
algoritma memberikan hasil "Undefined".
o Kondisi 3:
▪ Jika tidak ada kondisi di atas yang terpenuhi (yakni, Y ≠ 0), maka:
ALGORITMA 2 (MODIFIKASI)

61


▪ Lakukan pembagian normal: Quotient = X / Y.
▪ Penjelasan: Jika penyebut (Y) bukan nol, maka algoritma akan menghitung hasil
pembagian seperti biasa.
3. Output Hasil:
o Give Quotient: Menampilkan nilai Quotient yang telah dihitung atau diberikan
berdasarkan kondisi.
3.13.5. Contoh Kasus
1. Kasus 1:
o Input: X = 0, Y = 0
o Proses:
▪ X = 0 dan Y = 0, maka Quotient = "Infinity".
o Output: "Infinity"
2. Kasus 2:
o Input: X = 5, Y = 0
o Proses:
▪ X ≠ 0 dan Y = 0, maka Quotient = "Undefined".
o Output: "Undefined"
3. Kasus 3:
o Input: X = 10, Y = 2
o Proses:
▪ Y ≠ 0, maka lakukan pembagian: Quotient = X / Y = 10 / 2 = 5.
o Output: 5

62


3.13.6. Representasi Flochart Menggunakan Flowgorithm

Gambar 3.18. Representasi Flochart Menggunakan Flowgorithm
Sumber: (Penulis 2024)
3.13.7. Contoh Output
Kasus 1 Jika X = 0 Dan Y = 0, maka Output adalah infinity, karena di dalam ilmu matematika bilangan
0 jika dibagi dengan 0 hasilnya adalah tak terhingga.
Kasus 2 Jika X = 5, dan Y = 0, maka Output yang diberikan adalah “Undefined”. Karena dalam
matematika setiap bilangan yang dibagi dengan angka nol. hasilnya adalah tidak terdefinisi.
Kasus 3 Jika X = 5, dan Y = 2, maka hasilnya adalah 2,5. Pada kasus ini, Y ≠ 0. Karena Y bukan nol,
pembagian X/Y dapat dilakukan secara normal.

63





Gambar 3.19. Contoh Output
Sumber: (Penulis 2024)
3.13.8. Representasi Flochart Menggunakan Office Word (Bagan Alur)

64







































Gambar 3.20. Representasi Flochart Menggunakan Office Word (Bagan Alur)
Sumber: (Penulis 2024)
3.14. Diskusi
Setelah mempelajari materi pada pertemuan ke-3 kali ini tentang Flowchart dan contoh penerapannya,
kita mengetahui Flowchart digunakan sebagai alat bantu dalam perancangan sebuah aplikasi untuk
menerjemahkan logika dari suatu algoritma dengan notasi grafik. Ada banyak tools yang bisa digunakan
untuk perancangan sebuah aplikasi dan direpresentasikan dalam bentuk notasi grafik. Anda tentunya
sangat wajib mengetahui tools lainnya tersebut karena nantinya akan berhubungan dengan peningkatan
karir dan kompetensi Anda dalam bidang ICT, apalagi jika Anda tertarik bergelut di bidang Software
Development/Engineer. Tugas Anda sekarang adalah mencari referensi tools lainnya untuk
START
QUOTIENT
Get X
Get Y
Give “Infinity”
If X=0 And
Y=0
If X≠0 And
Y=0
Give “Undefined”
Let Quotient = X/Y
Give “Quotient”
STOP
QUOTIENT

65


menerjemahkan logika dari suatu algoritma dengan notasi grafik untuk keperluan development aplikasi,
jelaskan mengenai tools tersebut, dan jelaskan juga perbedaannya dengan Flowchart ini.
3.15. Jawaban Diskusi
Untuk menerjemahkan logika dari suatu algoritma dalam bentuk grafik, ada banyak tools selain
flowchart yang dapat membantu dalam perancangan aplikasi. Berikut adalah beberapa tools yang umum
digunakan dalam pengembangan software, serta perbedaannya dengan flowchart:
1. UML (Unified Modeling Language)
Deskripsi: UML adalah sebuah bahasa pemodelan standar yang digunakan untuk merancang dan
memvisualisasikan sistem berbasis objek. UML menyediakan berbagai diagram, seperti Class Diagram,
Sequence Diagram, Activity Diagram, dan Use Case Diagram, yang memungkinkan pengembang untuk
menggambarkan aspek struktural dan perilaku dari sistem.
Perbedaan dengan Flowchart: Flowchart digunakan untuk memetakan alur logika secara prosedural,
sedangkan UML lebih fokus pada pemodelan hubungan antar objek dan aliran data dalam konteks
pemrograman berbasis objek. UML juga lebih kompleks dan mencakup lebih banyak aspek dalam
pengembangan perangkat lunak.
2. DFD (Data Flow Diagram)
Deskripsi: DFD digunakan untuk menggambarkan aliran data dalam sebuah sistem. Diagram ini
memvisualisasikan bagaimana data diproses dan bergerak di antara komponen atau entitas dalam sistem.
DFD cocok untuk sistem yang memiliki banyak interaksi data.
Perbedaan dengan Flowchart: Flowchart cenderung fokus pada alur proses atau langkah-langkah logika,
sedangkan DFD lebih terfokus pada aliran data di antara proses dan entitas dalam sistem. DFD
memberikan pandangan yang lebih jelas tentang input, output, dan pemrosesan data.
3. ERD (Entity-Relationship Diagram)
Deskripsi: ERD adalah representasi grafis dari hubungan antara entitas dalam basis data. Diagram ini
membantu merancang dan memahami struktur tabel dan relasi dalam basis data.
Perbedaan dengan Flowchart: Flowchart tidak menggambarkan relasi antara entitas dalam basis data.
ERD lebih spesifik untuk perancangan struktur database dan memvisualisasikan hubungan antar tabel,
sementara flowchart lebih umum dan berfokus pada alur proses.
4. State Diagram (Diagram Keadaan)
Deskripsi: State Diagram digunakan untuk menggambarkan status atau keadaan dari objek atau sistem
pada waktu yang berbeda, berdasarkan aksi yang terjadi. Biasanya digunakan dalam pemodelan sistem
real-time atau pengembangan aplikasi dengan berbagai status operasi.
Perbedaan dengan Flowchart: Flowchart menampilkan urutan langkah logika secara umum, sedangkan
State Diagram lebih cocok untuk menampilkan perubahan status suatu objek atau sistem berdasarkan
input atau peristiwa eksternal. Ini berguna dalam sistem yang responsif terhadap berbagai kondisi.

66


5. BPMN (Business Process Model and Notation)
Deskripsi: BPMN adalah standar untuk memodelkan proses bisnis. BPMN menggunakan simbol dan
notasi khusus yang memungkinkan perancang untuk membuat model proses bisnis dengan alur kerja
yang terperinci. Diagram BPMN sering digunakan untuk perancangan alur kerja dalam perusahaan atau
organisasi.
Perbedaan dengan Flowchart: BPMN memiliki standar yang lebih kompleks dan mendalam dalam
memodelkan alur proses bisnis, dengan elemen seperti swimlanes, gateways, dan events yang
memungkinkan pemodelan proses yang lebih detail. Flowchart, di sisi lain, adalah alat yang lebih
sederhana dan lebih umum.
6. Gantt Chart
Deskripsi: Gantt Chart adalah representasi grafis dari jadwal proyek yang menampilkan tugas, durasi,
dan ketergantungan antar tugas. Meskipun bukan untuk memodelkan logika algoritma, Gantt Chart
sering digunakan untuk perencanaan proyek pengembangan perangkat lunak.
Perbedaan dengan Flowchart: Gantt Chart tidak menunjukkan alur proses atau logika, melainkan
berfokus pada manajemen waktu dan sumber daya dalam proyek. Flowchart, sebaliknya,
menggambarkan urutan langkah-langkah untuk penyelesaian tugas atau algoritma tertentu.
BAB 4
PSEUDOCODE
4.1. Pseudocode
4.2. Definisi Pseudocode
➢ Pseudocode adalah deskripsi informal tingkat tinggi dari prinsip operasi sebuah program
komputer atau algoritma lainnya. Ia menggunakan konvensi struktural bahasa pemrograman,
tetapi dimaksudkan untuk dibaca manusia daripada mesin.
➢ Pseudocode:
• Pseudo: semu atau tidak sebenarnya
• Code: kode
4.3. Aturan Penulisan Pseudocode
1. Tulis satu pernyataan setiap baris
2. Tulis kata kunci dengan huruf kapital
3. Indent untuk menunjukkan hirarki
4. Akhiri struktur multi baris
5. Jaga independensi bahasa pernyataan
4.4. Tulis Satu Pernyataan Setiap Baris
• Setiap pernyataan dalam pseudocode harus mengungkapkan hanya satu aksi untuk komputer.

67


Tabel 4.1. Langkah-langkah Proses dengan Pseudocode
Sumber: (Penulis 2024)
Uraian Kegiatan Pseudocode
Read name, hour worked, rate of pay GET Name
GET hoursWorked
GET payRate
Platform calculations LET gross = hourseWorked*payRate
Write name, horse worked, gross GIVE name, hourseWorked, gross

4.5. Tulis Kata Kunci dengan Huruf Kapital
• Tulis kata kunci dengan huruf kapital untuk menentukan sebuah instruksi.
• Kata kunci: GET, SET, LET, IF, ELSE, WHILE, GIVE, dst.
Tabel 4.2. Gros Pay
Sumber: (Penulis 2024)
Pseudocode
GET name
GET hoursWorked
GET payRate
LET gross = hourseWorked*payRate
GIVE name, horseWorked, gross

Gambar di atas menjelaskan pseudocode tentang sebuah program sederhana yang digunakan untuk
menghitung gaji kotor (gross pay) berdasarkan jumlah jam kerja (hourseWorked) dan tarif per jam
(payRate).
Penjelasan:
1. GET name
Program meminta nama pekerja.
2. GET hourseWorked
Program meminta jumlah jam kerja pekerja.
3. GET payRate
Program meminta tarif per jam.
4. LET gross = horseWorked*payRate
Program menghitung gaji kotor dengan mengalikan jumlah jam kerja dengan tarif per jam.
5. GIVE name, hourseWorked, gross
Program menampilkan nama pekerja, jumlah jam kerja, dan gaji kotor.

68


Tujuan:
Pseudocode ini digunakan untuk mendeskripsikan alur logika sederhana dari sebuah program
penghitungan gaji karyawan sebelum diimplementasikan dalam bahasa pemrograman tertentu.
4.6. Indent Untuk Menunjukkan Hirarki
• Setiap struktur kendali memiliki pola indentasi yang berbeda:
➢ Sequence: setiap pernyataan mulai pada kolom yang sama
➢ Selection: inden pernyataan yang berada dalam struktur selection, kecuali kata kunci selection
(IF, ELSE, ELSE, dll).
➢ Loop: inden pernyataan yang berada dalam struktur loop, kecuali kata kunci loop (WHILE,
FOR, TO, DO, dll)
4.7. Akhiri Struktur Multi Baris
• IF diakhiri dengan ENDIF
• WHILE diakhiri dengan ENDWHILE
• FOR diakhiri dengan ENDFOR
4.8. Jaga Independensi Bahasa Pernyataan
• Pseudocode merupakan bahasa universal. Jangan gunakan bahasa pemrograman yang spesifik dalam
menuliskan pseudocode.
• Ingat, di sini kita mendeskripsikan logika dalam sebuah program, belum melakukan programing.
4.9. Pseudocode VS Flowchart
Tabel 4.3. Pseudocode VS Flowchart
Sumber: (Penulis 2024)
Pseudocode Flowchart
Kelebihan: Kelebihan:
✓ Mudah diubah ✓ Terstandarisasi
✓ Menerapkan konsep terstruktur ✓ Memiliki gambaran secara visual
✓ Dilakukan dengan mudah pada Word
Processor

Kekurangan: Kekurangan:
✓ Tidak visual ✓ Sulit untuk memodifikasi
✓ Tidak ada standar yang diterima dan sangat
variatif
✓ Elemen desain terstruktur tidak diterapkan
✓ Software khusus yang diperlukan

4.10. Contoh-contoh Penulisan Pseudocode
1. Menampilkan tulisan Test

69


Start
Print “Test”
End
2. Menampilkan variabel berisi tulisan Test
Start
A = “Test”
Print A
End
3. Menghitung hasil penjumlahan
Start
Read b, c
d = b + c
Print b, “ditambah”, c, “hasilnya”, d
End
4. Menampilkan isi variabel yang hanya lebih kecil dari 10
Start
Read e
If e < 10 Then
Print e
Else
Print “Masukkan angka kurang dari 10!
End if
End
5. Menampilkan isi variabel yang hanya di antara 0 dan 10
Start
Read f
If f < 10 then
Print f
Else
Print “Masukkan angka di antara 0 dan 10!”
End if
End
6. Menampilkan mata pelajaran sesuai nomor yang dimasukkan
Start
Print “Masukkan nomor mata pelajaran Anda (1-3):”

70


Read g
Switch g
Case 1 : Print “Matematika”
Case 2 : Print “Bahasa Indonesia”
Case 3 : Print “Bahasa Inggris”
Else : Print “Masukkan hanya nomor 1-3”
End Switch
End
7. Menampilkan tulisan Test sebanyak 5 kali dengan fungsi For
Start
For h = 1 To 5 Do
Print “Test”
End For
End
8. Menampilkan tulisan Test sebanyak 5 kali dengan fungsi While-Do
Start
j = 1
Repeat
Print “Test”
j = j + 1
End While
End
9. Menampilkan tulisan Test sebanyak 5 kali dengan fungsi Repeat-Until
Start
j = 1
Repeat
Print “Test”
j = j + 1
Until j <= 5
End
4.11. Latihan
• Tulislah algoritma (deskripsi & method) berdasarkan flowchart dengan menerapkan aturan dalam
penulisan pseudocode.

71


4.12. Presentasi Flowchart 1

Gambar 4.4. Flowchart 1
Sumber: Modul Dasar Pemrograman Pertemuan 4 - Pseudocode

72


4.12.1. Representasi Flowchart Menggunakan Flowgorithm

Gambar 4.5. Flowchart 1 menggunakan Flowgorithm
Sumber: (Penulis)
4.12.2. Contoh Output
Contoh 1 Jika diberikan input nilai N1 = 10, N2 = 100, N3 = 5 maka hasil output nya adalah 100
Contoh 2 Jika N1 = 95, N2 = 50, dan N3 = 25 maka hasil output nya adalah 95

1
2

73


Gambar 4.6. Contoh Output
Sumber: (Penulis 2024)
4.12.3. Representasi Flowchart Menggunakan Office Word (Bagan Alur)
































Gambar 4.7. Flowchart 1 Menggunakan Office Word (Bagan Alur)
Sumber: (Penulis 2024)
Berdasarkan flowchart yang ada pada gambar 3.1, 3.2, dan 3.3 di atas berikut adalah algoritma dalam
bentuk deskripsi dan pseudocode.
4.12.4. Deskripsi Algoritma 1
1. Algoritma ini menerima tiga input berupa bilangan N1, N2, dan N3.
2. Langkah pertama adalah membandingkan nilai N1dengan N2:
o Jika N1>N2, maka nilai sementara dari Largest adalah N1.
o Jika tidak, maka nilai sementara dari Largest adalah N2.
3. Setelah itu, bandingkan nilai N3 dengan nilai Largest:
START
BIG3
Get N1
Get N2
Get N3
If
(N1>N2)
Let Largest = N2 Let Largest = N1
If (N3>
Largest)
Let Largest = N1 Let Largest = N1
Give Largest
STOP
BIG3

74


o Jika N3>Largest, maka nilai Largest diperbarui menjadi N3.
4. Algoritma mengembalikan nilai terbesar (Largest) dari ketiga bilangan yang diberikan.


NAME : BIG3
GIVENS : N1, N2, N3
RESULTS : Largest
INTERMEDIATES: N1, N2, N3, Largest
DEFINITION : Largest := BIG3(N1, N2, N3)
-----------------------------------------------------------------------------------------
METHOD :
Get N1
Get N2
Get N3
If N1 > N2 Then
Let Largest N1
Else
Let Largest N2
If N3 > Largest Then
Let Largest N3
4.12.5. Penjelasan Algoritma
Algoritma BIG3 dirancang untuk menemukan nilai terbesar (Largest) dari tiga angka input (N1, N2, dan
N3). Berikut adalah langkah-langkah penjelasan secara detail:
1. Nama Algoritma
• Nama: BIG3
• Tujuan: Menentukan angka terbesar di antara tiga input (N1, N2, dan N3).
2. Input (Givens)
• N1, N2, N3: Tiga angka yang akan dibandingkan untuk mencari nilai terbesar.
3. Hasil (Results)
• Largest: Variabel yang akan menyimpan nilai terbesar di antara N1, N2, dan N3.
4. Variabel Sementara (Intermediates)
• N1, N2, N3: Angka input.
• Largest: Variabel sementara untuk membandingkan nilai terbesar saat proses berlangsung.
5. Definisi
• Algoritma ini didefinisikan sebagai Largest := BIG3(N1, N2, N3).
o Artinya, hasil terbesar (Largest) akan dihasilkan oleh proses BIG3 berdasarkan N1, N2, dan
N3.
6. Metode
Langkah-langkah yang diikuti oleh algoritma:
1. Get N1, N2, N3:
ALGORITMA 1

75


o Membaca atau mendapatkan tiga angka input dari pengguna.
2. Perbandingan Pertama (N1 vs N2):
o Jika (N1 > N2):
▪ Set nilai Largest = N1.
o Jika Tidak:
▪ Set nilai Largest = N2.
3. Perbandingan Kedua (N3 vs Largest):
o Jika (N3 > Largest):
▪ Set nilai Largest = N3.
4. Hasil Akhir:
o Nilai variabel Largest sekarang berisi angka terbesar di antara N1, N2, dan N3.
Algoritma BIG3 menggunakan logika sederhana untuk membandingkan tiga angka input satu per satu.
Hasil akhirnya adalah angka terbesar yang ditemukan di antara N1, N2, dan N3.
Dengan metode ini, algoritma secara efisien menentukan nilai terbesar dengan hanya dua langkah
perbandingan.
4.12.6. Pseudocode
BEGIN BIG3
GET N1, N2, N3 // Input tiga bilangan

// Bandingkan N1 dan N2
IF (N1 > N2) THEN
LET Largest = N1
ELSE
LET Largest = N2
ENDIF

// Bandingkan N3 dengan Largest
IF (N3 > Largest) THEN
LET Largest = N3
ENDIF

// Output nilai terbesar
GIVE Largest
END BIG3
Penjelasan Pseudocode:
1. BEGIN BIG3: Menandakan awal algoritma.
2. GET: Membaca nilai masukan.
3. LET: Menyatakan variabel atau memperbarui nilai variabel.
4. IF-THEN-ELSE: Struktur logika untuk perbandingan nilai.
5. GIVE: Menampilkan hasil akhir.
6. END BIG3: Menandakan akhir algoritma.

76


Pseudocode ini telah disesuaikan dengan aturan baku dan sesuai dengan logika dari flowchart.
4.14. Presentasi Flowchart 2

Gambar 4.8. Flowchart 2
Sumber: Modul Dasar Pemrograman Pertemuan 4 – Pseudocode
Berdasarkan flowchart pada gambar 3.4, berikut algoritma dan pseudocode untuk sorting tiga nilai X1,
X2, dan X3 menggunakan metode pertukaran (swap).

77


4.14.1. Algoritma 2


NAME : SORT3
GIVENS : X1, X2, X3
RESULTS : Temp
INTERMEDIATES : X1, X2, X3, Temp
DEFINITION : Temp := SORT3(X1, X2, X3)
---------------------------------------------------------------------------
METHOD :
Get X1
Get X2
Get X3
If X1 > X2 Then
Let Temp = X1
Let X1 = X2
Let X2 = Temp
If X2 > X3 Then
Let Temp = X2
Let X2 = X3
Let X3 = Temp
If X1 > X2 Then
Let Temp = X1
Let X1 = X2
Let X2 = Temp
Give X1
Give X2
Give X3
Penjelasan Algoritma SORT3
Algoritma SORT3 digunakan untuk mengurutkan tiga angka input (X1, X2, dan X3) dalam urutan
menaik (ascending order). Berikut adalah detail dari algoritma tersebut:
1. Nama Algoritma
• Nama: SORT3
• Tujuan: Mengurutkan tiga angka input (X1, X2, X3) dalam urutan menaik.
2. Input (Givens)
• X1, X2, X3: Tiga angka yang akan diurutkan.
3. Hasil (Results)
• X1, X2, X3 dalam urutan menaik (ascending order).
4. Variabel Sementara (Intermediates)
• X1, X2, X3: Angka input yang akan diurutkan.
• Temp: Variabel sementara untuk menyimpan nilai saat proses pertukaran (swap).
5. Definisi
ALGORITMA 2

78


• SORT := SORT3(X1, X2, X3):
o Setelah proses selesai, X1, X2, dan X3 akan berisi nilai yang telah diurutkan secara menaik.
6. Metode
Langkah-langkah algoritma SORT3:
1. Membaca Input (Get X1, X2, X3):
o Ambil tiga angka input dari pengguna.
2. Perbandingan Pertama (X1 > X2):
o Jika X1 lebih besar dari X2:
▪ Simpan nilai X1 di variabel sementara Temp.
▪ Tukar nilai X1 dengan X2.
▪ Set nilai X2 dengan Temp.
3. Perbandingan Kedua (X2 > X3):
o Jika X2 lebih besar dari X3:
▪ Simpan nilai X2 di variabel sementara Temp.
▪ Tukar nilai X2 dengan X3.
▪ Set nilai X3 dengan Temp.
4. Perbandingan Ketiga (X1 > X2):
o Jika X1 lebih besar dari X2:
▪ Simpan nilai X1 di variabel sementara Temp.
▪ Tukar nilai X1 dengan X2.
▪ Set nilai X2 dengan Temp.
5. Menghasilkan Output (Give X1, X2, X3):
o Setelah tiga perbandingan selesai, nilai X1, X2, dan X3 akan diurutkan dalam urutan menaik.
Kesimpulan
1. Algoritma SORT3 menggunakan metode perbandingan dan pertukaran (swap) untuk
mengurutkan tiga angka dalam urutan menaik.
2. Tiga langkah perbandingan memastikan bahwa hasil akhir adalah:
o X1 ≤ X2 ≤ X3.
3. Proses ini efisien karena hanya membutuhkan maksimal tiga perbandingan dan pertukaran,
sesuai dengan input yang terbatas pada tiga angka.
Deskripsi Algoritma 2
1. Algoritma menerima tiga input X1, X2, dan X3.
2. Bandingkan X1 dengan X2:
o Jika X1>X2, tukar nilai X1 dengan X2 menggunakan variabel sementara Temp.
3. Bandingkan X2 dengan X3:

79


o Jika X2>X3, tukar nilai X2 dengan X3 menggunakan Temp.
4. Bandingkan X1 dengan X2 lagi untuk memastikan urutan benar:
o Jika X1>X2, tukar nilai X1 dengan X2.
5. Algoritma akan mengembalikan nilai X1, X2, dan X3 dalam urutan naik (ascending order).
4.14.2. Pseudocode
BEGIN SORT3
// Input tiga bilangan
GET X1, X2, X3

// Bandingkan X1 dengan X2
IF (X1 > X2) THEN
LET Temp = X1
LET X1 = X2
LET X2 = Temp
ENDIF

// Bandingkan X2 dengan X3
IF (X2 > X3) THEN
LET Temp = X2
LET X2 = X3
LET X3 = Temp
ENDIF

// Bandingkan X1 dengan X2 lagi
IF (X1 > X2) THEN
LET Temp = X1
LET X1 = X2
LET X2 = Temp
ENDIF

// Output hasil
GIVE X1, X2, X3
END SORT3

Penjelasan Pseudocode:
1. BEGIN SORT3: Menandakan awal algoritma.
2. GET: Membaca input X1, X2, dan X3.
3. LET: Menyatakan atau memperbarui variabel (termasuk operasi swap).
4. IF-THEN-ELSE: Struktur logika untuk perbandingan nilai.
5. GIVE: Menampilkan hasil akhir berupa X1, X2, dan X3 dalam urutan ascending.
6. END SORT3: Menandakan akhir algoritma.
Pseudocode ini mencerminkan alur dan logika pada flowchart secara lengkap dan terstruktur.

80


4.14.3. Presentasi Flowchart Menggunakan Flowgorithm

Gambar 4.9. Flowchart menggunakan Flowgorithm
Sumber: (Penulis 2024)
Contoh Output
Jika diberikan inputan X1 = 3, X2 = 2, dan X3 = 1 maka keluarannya adalah 1, 2, 3

81



Gambar 4.10. Contoh Output
Sumber: (Penulis 2024)
4.15. Presentasi Flowchart 3

Gambar 4.11. Presentasi Flowchart 3
Sumber: Modul Dasar Pemrograman Pertemuan 4 – Pseudocode

82


4.16. Algoritma 3


NAME : FARE
GIVENS : Age
RESULTS : Price
DEFINITION : Price := Fare(Age)
-----------------------------------------------------------------------------------------
METHOD :
Get Age
If (Age < 16) Then
Let Price = $7
Else If (Age > 65) Then
Let Price = $5
Else
Let Price = $10
Give Price
Deskripsi Algoritma 3
Algoritma FARE digunakan untuk menentukan harga tiket (Price) berdasarkan usia (Age) dengan aturan
sebagai berikut:
1. Input yang Dibutuhkan:
o Age: Usia dari individu yang akan membeli tiket.
2. Logika dan Proses:
o Jika usia (Age) kurang dari 16 tahun, maka harga tiket (Price) ditetapkan sebesar $7.
o Jika usia (Age) lebih dari 65 tahun, maka harga tiket (Price) ditetapkan sebesar $5.
o Untuk usia di luar rentang tersebut (16 hingga 65 tahun, inklusif), harga tiket (Price)
ditetapkan sebesar $10.
3. Output:
o Harga tiket (Price) yang telah dihitung berdasarkan usia individu.
4. Langkah-langkah Operasi:
o Baca atau ambil input Age.
o Periksa kondisi:
▪ Jika Age < 16, set Price = $7.
▪ Jika Age > 65, set Price = $5.
▪ Jika tidak memenuhi kedua kondisi di atas, set Price = $10.
o Berikan output nilai Price.
Tujuan Algoritma
Algoritma ini bertujuan untuk menentukan harga tiket secara dinamis berdasarkan kategori usia, yang
biasanya diterapkan pada sistem seperti tiket transportasi, hiburan, atau acara lainnya.
ALGORITMA 3

83


Contoh Penggunaan
• Input: Age = 12
Output: Price = $7
• Input: Age = 70
Output: Price = $5
• Input: Age = 30
Output: Price = $10
4.16.1. Presentasi Flowchart 3 menggunakan Flowgorithm

Gambar 4.12. Presentasi Flowchart 3 menggunakan Flowgorithm
Sumber: (Penulis 2024)
Contoh Output:
Contoh 1 Jika Age = 10 maka price = $7 Contoh 2 Jika Age = 70 maka price = $5

84



Contoh 3 Jika Age = 43 maka price = 10

Gambar 4.13. Contoh Output
Sumber: (Penulis)
4.16.2. Presentasi Flowchart Menggunakan Office Word (Bagan Alur)

85
























Gambar 4.14. Flowchart Menggunakan Office Word (Bagan Alur)
Sumber: (Penulis)
4.17. Pseudocode
BEGIN FARE
// Input usia
GET Age

// Cek usia untuk menentukan harga tiket
IF (Age < 16) THEN
LET Price = $7
ELSE IF (Age > 65) THEN
LET Price = $5
ELSE
LET Price = $10
ENDIF

// Tampilkan harga tiket
GIVE Price
END FARE
Penjelasan Pseudocode:
1. BEGIN FARE: Menandakan awal algoritma.
2. GET: Membaca input berupa usia (Age).
START
FARE
Price = $7
Age<16
Get Age
Give Price
STOP
FARE
Age>65
Price = $5 Price = $10

86


3. IF-ELSE IF-ELSE: Struktur logika untuk mengevaluasi kondisi:
o Age < 16: Menetapkan harga tiket $7.
o Age > 65: Menetapkan harga tiket $5.
o Default (usia lainnya): Menetapkan harga tiket $10.
4. LET: Menggunakan variabel untuk menyimpan harga tiket.
5. GIVE: Menampilkan harga tiket ke pengguna.
6. END FARE: Menandakan akhir algoritma.
4.18. Diskusi
Kita sudah membahas lebih dari 2 pertemuan tentang konsep dari Pseudocode dan cara membuatnya.
Banyak jenis dan cara penulisan Pseudocode yang berbeda-beda dan sebagian besar merujuk ke bahasa
pemrograman (Coding) yang populer. Tetapi harus tetap diingat Pseudocode dan Bahasa Pemrograman
(Coding) ini jelas 2 hal yang berbeda. Menurut Anda apa yang membedakan Pseudocode dengan
Coding? Akan lebih baik lagi jika Anda dapat memberikan contohnya.
4.19. Jawaban Diskusi
Perbedaan utama antara pseudocode dan coding (kode pemrograman) terletak pada tujuan, bentuk, dan
penggunaannya. Berikut penjelasannya:
1. Definisi dan Tujuan
Pseudocode:
Adalah representasi logika algoritma yang ditulis dalam bahasa yang mirip dengan bahasa manusia,
tidak mengikuti aturan sintaksis bahasa pemrograman tertentu.
Tujuannya adalah untuk mempermudah memahami alur logika atau algoritma sebelum
diimplementasikan dalam kode pemrograman.
Pseudocode digunakan untuk perencanaan, diskusi tim, dan menjelaskan konsep kepada orang lain.
Coding:
Adalah implementasi teknis dari algoritma menggunakan bahasa pemrograman tertentu (misalnya
Python, Java, C++).
Tujuannya adalah untuk membuat program yang dapat dijalankan oleh komputer.
Coding memerlukan kepatuhan pada sintaks bahasa pemrograman yang digunakan.
2. Sintaks
Pseudocode: Tidak memiliki aturan ketat terkait sintaks, dan lebih fleksibel. Penulisan disesuaikan agar
mudah dipahami.
Coding: Harus mengikuti aturan sintaks bahasa pemrograman yang spesifik, misalnya tanda kurung, titik
koma, atau spasi yang harus konsisten.
3. Contoh

87


Pseudocode
BEGIN FARE
// Input usia
GET Age

// Cek usia untuk menentukan harga tiket
IF (Age < 16) THEN
LET Price = $7
ELSE IF (Age > 65) THEN
LET Price = $5
ELSE
LET Price = $10
ENDIF

// Tampilkan harga tiket
GIVE Price
END FARE

Coding (Python)
#include <iostream>
using namespace std;

int main() {
int age; // Variabel untuk menyimpan usia
int price; // Variabel untuk menyimpan harga tiket

// Input usia
cout << "Masukkan usia: ";
cin >> age;

// Cek usia untuk menentukan harga tiket
if (age < 16) {
price = 7; // Harga tiket untuk usia di bawah 16 tahun
} else if (age > 65) {
price = 5; // Harga tiket untuk usia di atas 65 tahun
} else {
price = 10; // Harga tiket untuk usia di antara 16 hingga 65 tahun
}

// Tampilkan harga tiket
cout << "Harga tiket adalah $" << price << endl;

return 0; // Mengakhiri program
}
Contoh Output:
Jika umur = 10

88


Jika umur = 43

Jika umur = 70

4. Penggunaan
Pseudocode: digunakan saat tahap desain sistem atau algoritma untuk membantu tim memahami logika.
Coding: digunakan untuk menjalankan logika yang telah dirancang dalam pseudocode menggunakan
bahasa pemrograman yang sebenarnya.
BAB 5
VARIABEL, KONSTANTA, TIPE DATA
5.1. Variabel
• Variabel merupakan lokasi memori bernama yang isinya dapat bervariasi/ berbeda dari waktu
ke waktu.
• Jadi variabel memiliki:
➢ Nama:
➢ Nilai yang variatif/berbeda
Contoh 1

Gambar 5.1. Algoritma 1




Tabel 5.1. Penelusuran Algoritma

89


Sumber: Modul Dasar Pemrograman Pertemuan 5 - Variabel, Konstanta, dan Tipe Data

5.2. Mendeklarasikan Variabel
• Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan terlebih dahulu
sebelum digunakan.
• Deklarasi adalah pernyataan yang menyediakan tipe data (data type) dan pengidentifikasi
(identifier) untuk suatu variabel.
• Tipe data: klasifikasi yang mendeskripsikan nilai, bagaimana ia dapat disimpan di memori
dan operasi apa saja yang dapat dilakukan.
5.3. Mendeklarasikan Variabel
• Jadi ketika mendeklarasikan variabel, harus disediakan sebuah tipe data dan
pengidentifikasinya.
• Contoh tipe data: num dan string.
Contoh 2

Gambar 5.2. Algoritma 2

90


• Ada 2 variabel:
➢ myNumber
➢ myAnswer
• Deklarasikan kedua variabel sebelum digunakan
• Kedua variabel berikut BENAR atau SALAH?
A. Hourly-wage
B. Hourly_wage
C. Hourly wage
D. hourlyWage
E. HoUrLyWaGe
F. Hourly$
G. hourlyΩ
Berikut analisis mengenai BENAR atau SALAH untuk variabel yang disebutkan, berdasarkan aturan
umum dalam penamaan variabel:
Aturan Penamaan Variabel:
1. Tidak boleh mengandung spasi (gunakan underscore _ jika diperlukan).
2. Hanya boleh menggunakan huruf (A-Z, a-z), angka (0-9), atau underscore (_).
3. Tidak boleh dimulai dengan angka.
4. Tidak boleh mengandung simbol khusus kecuali underscore (_).
5. Bersifat case-sensitive (huruf besar dan kecil dianggap berbeda).
6. Analisis Variabel:
1. Hourly-wage: SALAH
o Mengandung tanda minus (-), yang tidak diperbolehkan dalam penamaan variabel.
2. Hourly_wage: BENAR
o Menggunakan huruf dan underscore (_), yang diperbolehkan.
3. Hourly wage: SALAH
o Mengandung spasi, yang tidak diperbolehkan dalam penamaan variabel.
4. hourlyWage: BENAR
o Menggunakan huruf tanpa simbol atau spasi, dan mematuhi aturan CamelCase.
5. HoUrLyWaGe: BENAR
o Menggunakan huruf dengan kombinasi kapitalisasi, yang diperbolehkan.
6. Hourly$: SALAH
o Mengandung simbol $, yang tidak diperbolehkan dalam penamaan variabel (kecuali dalam
beberapa bahasa seperti PHP, tetapi ini spesifik pada bahasa tersebut).
7. hourlyΩ: SALAH

91


o Mengandung simbol Ω (karakter khusus), yang tidak diperbolehkan.
o Kesimpulan:
Tabel 5.2. Penamaan Variabel
Variabel Validitas
Hourly-wage SALAH
Hourly_wage BENAR
Hourly wage SALAH
hourlyWage BENAR
HoUrLyWaGe BENAR
Hourly$ SALAH
hourlyΩ SALAH
• Berbagai bahasa pemrograman memiliki aturan berbeda dalam penamaan variabel.
• Ada yang memperbolehkan penggunaan hyphens (-), underscore (-), karakter spesial, atau
karakter dalam bahasa asing.
• Ada yang case sensitive ada pula yang tidak
• Dalam penulisan nama variabel perlu diingat 2 hal:
• Nama variabel harus dalam satu kata, tidak boleh dipisahkan dengan spasi.
• Nama variabel sebaiknya memiliki sebuah makna.
5.4. Memahami Tipe Data
• Variabel numerik:
1. Dapat menyimpan angka dan operasi matematika dapat dilakukan menggunakan variabel ini.
2. Dapat menyimpan nilai desimal dan bilangan bertanda (positif/negatif)
• Variabel String:
1. Dapat menyimpan teks seperti huruf dan karakter spesial lainnya.
2. Dapat pula menyimpan angka, tapi tidak dapat dilakukan operasi aritmatika menggunakan
angka.
5.5. Mendeklarasikan Konstanta Bernama
• Konstanta mirip dengan variabel, namun konstanta dapat ditugaskan hanya sekali pada sebuah
nilai.
• Penamaan konstanta mengikuti aturan variabel.
• Contoh pendeklarasian konstanta:
num SALES_TAX = 0,06

92


Knowledge Check
5.6. Two Truths & A Lie


Manakah pertanyaan berikut yang SALAH?
a. Tipe data variabel mendeskripsikan jenis nilai yang dapat disimpan dan operasi yang dapat
dilakukannya.
b. Jika name adalah suatu variabel string, maka pernyataan SET name = “ED” adalah valid.
c. Jika salary adalah suatu variabel numerik, maka pernyataan SET salary = “12.50” adalah
valid.
Jawaban yang SALAH adalah:
c. Jika salary adalah suatu variabel numerik, maka pernyataan SET salary = "12.50" adalah
valid.
Penjelasan:
1. Tipe data variabel mendeskripsikan jenis nilai yang dapat disimpan dan operasi yang dapat
dilakukannya.
Pernyataan ini BENAR, karena tipe data menentukan apakah variabel tersebut dapat menyimpan
angka, teks, atau tipe lainnya, serta operasi yang sesuai (misalnya, penjumlahan untuk angka
atau penggabungan untuk string).
2. Jika name adalah suatu variabel string, maka pernyataan SET name = “ED” adalah valid.
Pernyataan ini BENAR, karena "ED" adalah nilai string yang valid untuk variabel bertipe string.
3. Jika salary adalah suatu variabel numerik, maka pernyataan SET salary = “12.50” adalah
valid.
Pernyataan ini SALAH, karena:
• Tipe data numerik tidak dapat menyimpan nilai dalam bentuk string (teks) seperti "12.50".
• Jika ingin menyimpan nilai tersebut, "12.50" harus dituliskan dalam format numerik tanpa
tanda kutip, seperti 12.50.
Oleh karena itu, jawaban yang SALAH adalah c.
Contoh Tipe Data Integer dalam Pascal

93



Penjelasan Program:
• program tipe_integer;
Menentukan nama program.
• uses crt;
Menggunakan library CRT untuk fungsi seperti clrscr dan readln.
• var a: integer;
Mendeklarasikan variabel a dengan tipe data integer.
• clrscr;
Membersihkan layar sebelum menampilkan hasil.
• Logika utama:
1. a := 20;
Memberikan nilai 20 pada variabel a.
2. writeln('a: ', a);
Menampilkan nilai variabel a ke layar.
3. Ulangi proses dengan nilai baru (15), kemudian tambahkan 10 ke nilai a.
• readln;
Menjeda program agar menunggu pengguna menekan tombol sebelum keluar.
Keluaran Program:

94


Program selesai setelah menekan tombol apapun.
5.7. Jenis-jenis Tipe Data Integer di dalam Pascal
Tabel 5.3. Jenis-jenis Tipe Data Integer di dalam Pascal
Type Range Ukuran (dalam byte)
Byte 0 .. 255 1
Shortint -128 .. 127 1
Smallint -32768 .. 32767 2
Word 0 .. 65535 2
Integer antara smallint atau longint size 2 atau 4
Cardinal longword 4
Longint -2147483648 .. 2147483647 4
Longword 0 .. 4294967295 4
Int64
-9223372036854775808 ..
922337203685477587
8
QWord 0 .. 18446744073709551615 8

5.8. Tipe Data
1. Tipe Data primitif (Sederhana)
Adalah tipe data yang hanya mampu menyimpan satu nilai tiap satu variabel. Tipe data primitive
merupakan tipe data dasar yang sering dipakai oleh program. Contoh tipe data primitive adalah
tipe numerik (integer dan real), tipe data karakter/char, tipe data boolean.
A. Numeric
Tipe data numerik digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk
bilangan atau angka. Semua bahasa pemrograman menyediakan type data numeric, hanya saja
berbeda dalam jenis numeric yang diakomodasi. Tipe data ini terbagi atas integer, dan real.
a). Integer
Merupakan tipe data berupa bilangan bulat, terbagi atas beberapa kategori seperti terlihat dalam
tabel 5.2. Tabel 5.2 menunjukkan jenis data, ukuran dalam memori dan rentang nilainya.
Tabel 5.4. Tipe data Bilangan Integer
Type Data Ukuran Tempat Rentang Nilai
Byte 1 byte 0 s/d +255
Shortint 1 byte -128 s/d +127
Word 2 byte 0 s/d 65535
Integer 2 byte 2-32768 s/d 32767

95


Longint
4 byte -2147483648 s/d
2147483647
Contoh penggunaannya pada pascal

Berdasarkan gambar di atas, berikut adalah penjelasan untuk program tersebut:
Kode Program
1. Deklarasi Program
program HitungDIVMOD;
Program diberi nama HitungDIVMOD, yang mendemonstrasikan operasi DIV dan MOD
dalam Pascal.
var
a, b, jumlah1, jumlah2: integer;
o a dan b digunakan untuk menyimpan hasil operasi DIV dan MOD.
o jumlah1 dan jumlah2 adalah bilangan yang akan digunakan dalam operasi pembagian
dan modulo.
o Tipe data semua variabel adalah integer karena melibatkan bilangan bulat.
2. Bagian Utama Program
begin
jumlah1 := 10;
jumlah2 := 3;
o Nilai awal jumlah1 ditetapkan sebagai 10, dan jumlah2 sebagai 3.
3. Operasi DIV dan MOD
a := jumlah1 div jumlah2; { Operasi DIV untuk hasil bagi }
b := jumlah1 mod jumlah2; { Operasi MOD untuk sisa bagi }

96


o DIV menghitung hasil bagi dalam bentuk bilangan bulat (10 div 3 = 3).
o MOD menghitung sisa pembagian (10 mod 3 = 1).
4. Menampilkan Hasil
writeln('HASIL A = ', a); { Menampilkan hasil DIV }
writeln('HASIL B = ', b); { Menampilkan hasil MOD }
o Menampilkan nilai a dan b ke layar.
5. Akhir Program
readln; { Tunggu input sebelum keluar }
end.
Keluaran Program
Ketika program dijalankan, hasilnya adalah:
HASIL A = 3
HASIL B = 1
• Penjelasan Keluaran:
o HASIL A adalah hasil pembagian bulat dari 10 div 3, yaitu 3.
o HASIL B adalah sisa pembagian 10 mod 3, yaitu 1.
Fungsi Utama Operasi DIV dan MOD
1. DIV:
o Membagi dua bilangan bulat dan menghasilkan hasil pembagian tanpa desimal (bilangan
bulat saja).
2. MOD:
o Menghasilkan sisa pembagian dua bilangan bulat.
Program ini berjalan dengan baik dan memberikan hasil yang diharapkan.
Output Program:

b) Real
Konstanta bertipe real adalah bilangan yang berisi titik desimal atau jenis bilangan pecahan. Dalam
Pascal paling sedikit harus ada satu digit sebelum dan sesudah titik desimal, tidak boleh ada koma
dan nilainya bisa positif atau negatif. Dapat dituliskan secara biasa atau model scientific. Contoh
bilangan real adalah: 34.265, – 3.55, 0.0, dan 35.997E+11, dimana E merupakan simbol
perpangkatan 10. Jadi 452,13 mempunyai nilai Sama dengan 4,5213e2.
Penggolongan type data bilangan real dapat dilihat pada tabel 5.3 berikut ini.

97


Tabel 5.5. Bilangan Real
Type Data Ukuran Tempat Rentang Nilai
real 6 byte 2,9 x 10
−23
s/d 1,7 x 10
38

single 4 byte 1,5 x 10
−45
s/d 3.4 x 10
38

double 8 byte 5,0 x 10
−324
s/d 1,7 x 10
308

extended 10 byte 3,4 x 10
−4932
s/d 1,1 x 10
104932

comp 8 byte -9,2 x 10
18
s/d 9,2 x 10
18

Penjelasan Tipe Data Bilangan Real
1. real:
o Ukuran Tempat: 6 bytes.
o Rentang Nilai: 2,9 x 10
−23
s/d 1,7 x 10
38
.
o Tipe data ini digunakan untuk bilangan real standar dengan rentang yang cukup luas dan
presisi sedang.
2. single:
o Ukuran Tempat: 4 bytes.
o Rentang Nilai: 1,5 x 10
−45
s/d 3.4 x 10
38
.
o Tipe data ini lebih hemat memori dibandingkan real, cocok untuk aplikasi dengan
presisi rendah.
3. double:
o Ukuran Tempat: 8 bytes.
o Rentang Nilai: 5,0 x 10
−324
s/d 1,7 x 10
308
.
o Memiliki presisi yang lebih tinggi dibandingkan real atau single, cocok untuk
perhitungan yang membutuhkan akurasi tinggi.
4. extended:
o Ukuran Tempat: 10 bytes.
o Rentang Nilai: 3,4 x 10
−4932
s/d 1,1 x 10
104932
.
o Memberikan rentang nilai dan presisi yang sangat tinggi. Digunakan untuk perhitungan
ilmiah yang memerlukan tingkat akurasi ekstrem.
5. comp:
o Ukuran Tempat: 8 bytes.
o Rentang Nilai: -9,2 x 10
18
s/d 9,2 x 10
18
.
o Dirancang untuk menyimpan bilangan integer besar dalam format real. Biasanya
digunakan dalam aplikasi finansial atau statistik.
o Catatan Tambahan

98


• Presisi: Semakin besar ukuran tempat (bytes), semakin tinggi presisi dan semakin besar rentang
nilai yang bisa direpresentasikan.
• Pemilihan Tipe Data: Pemilihan tipe data bergantung pada kebutuhan aplikasi, baik dari segi
rentang nilai maupun konsumsi memori.
Contoh penggunaan tipe data real pada pascal

Penjelasan kode program:
• PROGRAM Penjumlahan:
• Menyatakan awal dari program dengan nama opsional, yaitu Penjumlahan.
• Nama program ini tidak wajib, tetapi berguna untuk dokumentasi.
• Deklarasi VAR:
• Bagian ini digunakan untuk mendeklarasikan variabel-variabel yang akan digunakan dalam
program.
• Variabel yang dideklarasikan:
o nilai1: bertipe REAL (angka desimal).
o nilai2: bertipe REAL (angka desimal).
o hasil: bertipe REAL, untuk menyimpan hasil penjumlahan.
• BEGIN ... END:
• BEGIN: Menandai awal dari blok utama program.
• END: Menutup blok utama program. Harus diakhiri dengan tanda titik (.).
• nilai1 := 2.52:
• Memberikan nilai 2.52 kepada variabel nilai1.
• nilai2 := 3.2:

99


• Memberikan nilai 3.2 kepada variabel nilai2.
• hasil := nilai1 + nilai2:
• Melakukan operasi penjumlahan antara nilai1 dan nilai2, kemudian hasilnya disimpan
dalam variabel hasil.
• WRITE('HASIL PENJUMLAHAN = ', hasil:4:2):
• Menampilkan teks HASIL PENJUMLAHAN = di layar diikuti oleh nilai variabel hasil.
• Format 4:2 artinya:
o 4: Total jumlah karakter yang dialokasikan untuk mencetak angka.
o 2: Jumlah angka di belakang koma desimal.
• Jika hasil memiliki lebih dari 4 karakter total (termasuk tanda desimal), output nya tetap dicetak
sesuai kebutuhan.
• END.:
• Menandakan akhir dari program. Harus diakhiri dengan titik (.) agar program bisa dikompilasi
dengan benar.
Hasil Output
Output program adalah sebagai berikut

Alur Program
1. Program mulai dengan mendeklarasikan variabel.
2. Nilai awal diberikan ke variabel nilai1 dan nilai2.
3. Variabel hasil dihitung dengan menambahkan nilai1 dan nilai2.
4. Hasil penjumlahan ditampilkan ke layar dengan format desimal 2 angka di belakang koma.
Program ini sangat sederhana dan cocok digunakan untuk memahami dasar penggunaan variabel, operasi
matematika, dan output di Pascal.
B. Karakter (char)
Karakter adalah tipe data yang hanya mampu menyimpan 1 digit karakter. Ukuran untuk tipe data
karakter adalah 1 byte (1 byte=8 bit). Adapun macam karakter yang ada sejumlah 256 macam
karakter yaitu dari kode karakter (ASCII), 0 sampai dengan 255. Untuk penulisan karakter
menggunakan tanda petik tunggal (‘) di depan dan di belakang karakter yang ditulis. Contoh: ‘a’,
‘A’, ‘&’, dll.
Nilai-nilai yang termasuk karakter adalah:

100


a) Karakter huruf: ‘a’, ‘z’, ‘A’, ‘Z’
b) Karakter angka: ‘0’, ‘9’
c) Karakter tanda baca: titik, koma, titik koma, titik dua dan sebagainya
d) Karakter khusus: $, %, #, @, dan sebagainya.
Contoh penggunaan dalam bahasa C++
Contoh program type data character
#include <iostream> // Untuk input-output seperti cout
#include <cctype> // Untuk fungsi seperti isupper, islower, isdigit, isspace
#include <cstring> // Untuk fungsi strlen jika diperlukan (opsional dalam C++)

using namespace std;

int main() {
string kalimat = "Institut Teknologi Padang"; // Kalimat yang akan dihitung
int jmlupp = 0, jmllow = 0, jmldig = 0, jmlspc = 0;

// Looping untuk menghitung karakter dalam string
for (char c : kalimat) { // Menggunakan for-each untuk membaca setiap karakter
if (isupper(c))
jmlupp++; // Hitung huruf besar
else if (islower(c))
jmllow++; // Hitung huruf kecil
else if (isdigit(c))
jmldig++; // Hitung angka
else if (isspace(c))
jmlspc++; // Hitung spasi
}

// Cetak hasil perhitungan
cout << "Jumlah Karakter : " << kalimat.length() << " karakter" << endl; //
Menggunakan length() untuk panjang string
cout << "Jumlah Upper : " << jmlupp << " karakter" << endl;
cout << "Jumlah Lower : " << jmllow << " karakter" << endl;
cout << "Jumlah Angka : " << jmldig << " karakter" << endl;
cout << "Jumlah Spasi : " << jmlspc << " karakter" << endl;

return 0; // Menandakan program selesai dengan sukses
}
Penjelasan program
1. #include <iostream>:
o Digunakan untuk input-output standar seperti cout untuk mencetak ke layar dan cin untuk
input dari pengguna.
2. #include <cctype>:
o Berisi fungsi-fungsi manipulasi karakter, seperti:
▪ isupper(c): Memeriksa apakah karakter c adalah huruf kapital.

101


▪ islower(c): Memeriksa apakah karakter c adalah huruf kecil.
▪ isdigit(c): Memeriksa apakah karakter c adalah angka.
▪ isspace(c): Memeriksa apakah karakter c adalah spasi.
3. Deklarasi Variabel:
o string kalimat: Menyimpan teks "Institut Teknologi Padang " yang akan
dihitung karakter-karakternya.
o int jmlupp, jmllow, jmldig, jmlspc: Variabel-variabel untuk menghitung jumlah
huruf besar, huruf kecil, angka, dan spasi. Diinisialisasi dengan nilai 0.
4. Looping (For-Each):
cpp
for (char c : kalimat)
o Membaca setiap karakter dalam string kalimat satu per satu.
o Variabel c akan berisi setiap karakter secara berurutan.
Logika di dalam looping:
o isupper(c): Jika c adalah huruf besar, tambahkan nilai jmlupp dengan 1.
o islower(c): Jika c adalah huruf kecil, tambahkan nilai jmllow dengan 1.
o isdigit(c): Jika c adalah angka, tambahkan nilai jmldig dengan 1.
o isspace(c): Jika c adalah spasi, tambahkan nilai jmlspc dengan 1.
5. Fungsi cout:
o Menampilkan hasil perhitungan ke layar.
o Fungsi kalimat.length() digunakan untuk menghitung jumlah total karakter dalam
string.
6. Fungsi main:
o Fungsi utama yang dieksekusi pertama kali saat program berjalan.
o Mengembalikan 0 untuk menandakan bahwa program telah selesai dengan sukses.
Alur Eksekusi Program
1. Kalimat "Institut Teknologi Padang " disimpan dalam variabel kalimat.
2. Looping membaca setiap karakter dalam string kalimat.
o Jika karakter adalah huruf besar, huruf kecil, angka, atau spasi, jumlahnya dihitung sesuai
kategori.
3. Setelah selesai, hasil perhitungan ditampilkan:
o Jumlah total karakter.
o Jumlah huruf besar.
o Jumlah huruf kecil.
o Jumlah angka.

102


o Jumlah spasi.
Hasil Output
Jika dijalankan, output yang dihasilkan adalah:
Jumlah Karakter : 25 karakter
Jumlah Upper : 2 karakter
Jumlah Lower : 20 karakter
Jumlah Angka : 0 karakter
Jumlah Spasi : 3 karakter
Kegunaan Program
• Program ini dapat digunakan untuk menganalisis isi sebuah string, seperti menghitung jumlah huruf
besar, huruf kecil, angka, dan spasi.
• Berguna untuk aplikasi pengolah teks atau statistik sederhana pada teks input.
Output:

C. Boolean
Merupakan tipe data logika, yang berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah).
Turbo Pascal for Windows memiliki tiga macam jenis yaitu: Boolean, WordBool, dan LongBool. Tipe
boolean memakai memori paling kecil, sedangkan WordBool dan LongBool dipakai untuk menulis
program yang sesuai dengan lingkungan Windows.
Tabel di bawah ini menunjukkan Tipe Data Boolean
Tabel 5.6. Tipe Data Boolean
Tipe Data Ukuran Tempat
Boolean 1 byte
WordBool 2 byte
LongBool 3 byte
Contoh penggunaan pada Pascal:

103



Penjelasan Program:
1. PROGRAM BooleanExample:
o Menyatakan awal dari program dengan nama opsional BooleanExample. Nama program ini
tidak wajib, tetapi berguna untuk dokumentasi.
2. Deklarasi VAR:
o Digunakan untuk mendeklarasikan variabel yang akan digunakan.
o benar dideklarasikan sebagai tipe BOOLEAN, yang hanya bisa menyimpan nilai TRUE atau
FALSE.
3. BEGIN ... END:
o BEGIN: Menandakan awal dari blok utama program.
o END.: Menandakan akhir dari blok utama program dan harus diakhiri dengan titik (.).
4. Pemberian Nilai:
o benar := TRUE; memberikan nilai TRUE ke variabel benar.
5. WRITELN:
o WRITELN digunakan untuk mencetak nilai variabel ke layar.
o WRITELN('benar = ', benar) akan menampilkan teks "benar = " diikuti oleh nilai
variabel benar.
Output Program:

104


5.9. Diskusi
Kita sudah bersama-sama memahami bahwa Konstanta juga merupakan sebuah Variabel, namun ada
yang membedakan antara Variabel dan Konstanta. Jelaskan menurut pendapat Anda sendiri perbedaan
antara Variabel dan Konstanta, serta cara mendeklarasikan keduanya di dalam Algoritma Pseudocode.
Akan lebih baik lagi jika Anda mencari dari referensi lainnya selain di modul yang sudah dibagikan
untuk cara mendeklarasikan Konstanta ini.
5.10. Jawaban Diskusi
Pendapat Saya tentang Perbedaan Variabel dan Konstanta
• Variabel:
o Merupakan tempat penyimpanan data yang nilainya dapat berubah selama program
dijalankan.
o Digunakan untuk menyimpan nilai yang bisa dimodifikasi oleh pengguna atau hasil
perhitungan selama eksekusi program.
o Contoh: Dalam program menghitung luas lingkaran, variabel seperti radius dapat berubah
berdasarkan input pengguna.
• Konstanta:
o Merupakan nilai tetap yang tidak dapat diubah selama program dijalankan.
o Digunakan untuk menyimpan nilai yang sifatnya tetap sepanjang program, seperti nilai π
(Pi) atau nilai tetap lainnya.
o Contoh: Dalam program menghitung luas lingkaran, nilai konstanta PI = 3.14159 tidak
akan pernah berubah.
Cara Mendeklarasikan Variabel dan Konstanta di Pseudocode
1. Deklarasi Variabel
Dalam pseudocode, variabel dideklarasikan dengan menyebutkan nama variabel dan tipe datanya.
Contoh:
DECLARE radius : REAL
DECLARE area : REAL
• radius adalah variabel yang menyimpan nilai berupa bilangan desimal.
• area adalah variabel untuk menyimpan hasil perhitungan luas.
2. Deklarasi Konstanta
Konstanta dideklarasikan dengan kata kunci seperti CONSTANT atau CONST, tergantung pada aturan
dalam pseudocode. Contoh:
CONSTANT PI : REAL <- 3.14159
• PI adalah konstanta bertipe REAL yang nilainya adalah 3.14159.
• Tanda <- digunakan untuk memberikan nilai awal pada konstanta.

105


Contoh Implementasi Pseudocode
Berikut adalah contoh pseudocode untuk menghitung luas lingkaran:
CONSTANT PI : REAL <- 3.14159
DECLARE radius : REAL
DECLARE area : REAL

BEGIN
OUTPUT "Masukkan jari -jari lingkaran:"
INPUT radius
area <- PI * radius * radius
OUTPUT "Luas lingkaran adalah: ", area
END
BAB 6
TUGAS 1

No. URAIAN TUGAS
1 Tuliskan sebuah algoritma (dalam bentuk pseudocode dan flowchart) untuk mencari solusi dari
sebuah persamaan kuadrat. (Bobot: 100%)
*Petunjuk:
- Persamaan kuadrat adalah persamaan yang variabelnya memiliki pangkat tertinggi sama
dengan dua (2).
- Bentuk umum persamaan kuadrat: &#3627408462;??????
2
+&#3627408463;??????+&#3627408464;=0.

Contoh persamaan Input Output Keterangan
??????
2
+2??????+1=0 1
2
1
x = -1 Persamaan tersebut
hanya memiliki 1
solusi, yaitu x = -1
2??????
2
−5??????+2=0 2
-5
2
x1 = 2
x2 = 0.5
Persamaan tersebut
memiliki 2 solusi,
yaitu x = 2 dan 0.5
??????
2
+2??????+4=0 1
2
4
[Error] Persamaan tersebut
tidak memiliki solusi.


6.1. Algoritma

106


6.1.1. Algoritma 1



NAME : SolveQuadraticEquation
GIVENS : a, b, c
RESULTS : x, x1, x2
INTERMEDIATES: D, x, x1, x2
DEFINITION : SolveQuadraticEquation := (D = b
2
– 4ac)
--------------------------------------------------------------------------------------------------
METHOD :

Get a
Get b
Get c

If a = 0
Let QuadraticEquation = “Error: Ini bukan
persamaan kuadrat.”
Let D = b
2
– 4ac

If D > 0 Then
Let x1 =
−&#3627408411; + √??????
&#3627409360;&#3627408410;

Let x2 =
−&#3627408411; − √??????
&#3627409360;&#3627408410;

Let QuadraticEquation = “Persamaan memiliki
dua solusi.”

Else if D = 0 Then
Let x =
−&#3627408411;
&#3627409360;&#3627408410;

Let QuadraticEquation = “Persamaan memiliki
satu solusi.”

Else
Let Quadrati Equation = “Persamaan tidak
memiliki solusi real.”

Give x
Give x1
Give x2

6.1.2. Penjelasan Algoritma 1
Berikut adalah penjelasan dari algoritma 1
ALGORITMA 1

107


6.1.3. Nama dan Tujuan
1. NAME: SolveQuadraticEquation
2. Algoritma ini dirancang untuk menyelesaikan persamaan kuadrat berbentuk: ax
2
+ bx + c = 0
dengan parameter a, b, dan c.
6.1.5. Parameter Algoritma
1. GIVENS:
• a, b, c: Koefisien persamaan kuadrat yang diberikan sebagai input.
2. RESULTS:
• x1, x2: Hasil solusi persamaan kuadrat (bisa berupa satu solusi, dua solusi, atau tidak ada
solusi).
3. INTERMEDIATES:
• D: Diskriminan, yaitu D = b
2
– 4ac. Nilai ini digunakan untuk menentukan sifat solusi.
4. DEFINITION:
• Hubungan antara parameter dan diskriminan dirumuskan sebagai: D = b
2
– 4ac
6.1.5. Metode atau Langkah Algoritma
1. Input Nilai Koefisien:
• Meminta pengguna untuk memasukkan nilai a, b, dan c.
2. Pemeriksaan a:
• Jika a = 0, program langsung menampilkan pesan error karena bukan persamaan kuadrat.
3. Hitung Diskriminan (D = b
2
– 4ac):
• Nilai D menentukan sifat solusi persamaan:
• Jika D > 0:
• Persamaan memiliki dua solusi real (x1 dan x2):
x
1=
−b+ √D
2a


x
2=
−b− √D
2a

• Menampilkan hasil dengan dua solusi.
• Jika D = 0:
• Persamaan memiliki satu solusi real (x):
x=
−b
2a

• Menampilkan hasil dengan satu solusi.
• Jika D < 0:

108


• Persamaan tidak memiliki solusi real, karena akar kuadrat dari D (diskriminan
negatif) tidak terdefinisi dalam bilangan real.
4. Output Solusi:
• Memberikan hasil x1, x2, atau x berdasarkan nilai D.
6.1.6. Penjelasan Kondisi
1. Kasus a = 0:
Algoritma mengidentifikasi bahwa persamaan tersebut bukan persamaan kuadrat karena
pangkat tertinggi variabelnya bukan dua.
2. Kasus D > 0:
• Diskriminan positif menunjukkan bahwa persamaan memiliki dua akar berbeda.
• Algoritma menghitung dua solusi (x1, x2) menggunakan rumus kuadrat.
3. Kasus D = 0:
• Diskriminan nol menunjukkan bahwa persamaan memiliki dua akar yang sama atau satu
solusi tunggal.
• Algoritma menghitung akar tersebut (x).
4. Kasus D < 0:
• Diskriminan negatif menunjukkan bahwa persamaan tidak memiliki akar dalam bilangan
real (akar imajiner).
6.2. Pseudocode
ALGORITHM SolveQuadraticEquation
INPUT: a, b, c (koefisien persamaan kuadrat)
OUTPUT: Solusi persamaan kuadrat (x1, x2) atau pesan error jika tidak ada solusi

BEGIN
IF a = 0 THEN
OUTPUT "Error: Ini bukan persamaan kuadrat."
EXIT
ENDIF

D <- b^2 - 4 * a * c // Hitung diskriminan

IF D > 0 THEN
x1 <- (-b + sqrt(D)) / (2 * a)
x2 <- (-b - sqrt(D)) / (2 * a)
OUTPUT "Persamaan memiliki dua solusi: x1 = ", x1, " dan x2 = ", x2
ELSE IF D = 0 THEN
x <- -b / (2 * a)
OUTPUT "Persamaan memiliki satu solusi: x = ", x
ELSE
OUTPUT "Persamaan tidak memiliki solusi real."
ENDIF
END

109


6.2.1. Penjelasan Pseudocode
Berikut adalah penjelasan dari pseudocode pada gambar tersebut:

6.2.2. Nama dan Tujuan
ALGORTIHM SolveQuadraticEquation
Tujuan algoritma ini adalah untuk menyelesaikan persamaan kuadrat dalam bentuk:
ax
2
+ bx + c = 0
dengan menentukan solusi x1 dan x2 (jika ada), atau menampilkan pesan error jika persamaan
tidak valid.
6.2.3. Parameter Algoritma
1. INPUT:
• a: Koefisien kuadrat (koefisien variabel x2).
• b: Koefisien linier (koefisien variabel x).
• c: Konstanta (nilai tetap dalam persamaan kuadrat).
2. OUTPUT:
• Solusi x1 dan x2 (jika persamaan memiliki solusi).
• Pesan error jika tidak ada solusi atau jika persamaan tidak valid.
6.2.4. Langkah-Langkah Algoritma
1. Periksa apakah a = 0:
• Jika a = 0, persamaan tidak valid sebagai persamaan kuadrat (karena koefisien x2 harus
ada).
• Program menampilkan pesan error:
"Error: Ini bukan persamaan kuadrat."
• Program berhenti (EXIT)
2. Hitung diskriminan (D):
• Diskriminan dihitung menggunakan formula: D = b
2
– 4ac
• Nilai D akan menentukan sifat solusi persamaan.
3. Cetak Sifat Diskriminan (D):
• Jika D > 0:
• Persamaan memiliki 2 solusi real (x1 dan x2):
x
1=
−b+ √D
2a


x
2=
−b− √D
2a

• Program menampilkan solusi:

110


"Persamaan memiliki dua solusi: x1 = ..., dan x2 = ..."
• Jika D = 0:
• Persamaan memiliki satu solusi real (x):
x=
−b
2a

• Persamaan menampilkan solusi
"Persamaan memiliki satu solusi: x = ..."
• Jika D < 0:
• Persamaan tidak memiliki solusi real (akar negatif).
• Program menampilkan pesan:
"Persamaan tidak memiliki solusi real."
4. Selesai:
• Program memberikan solusi (jika ada) atau pesan sesuai kondisi D.
6.2.5. Penjelasan Kasus
1. Kasus a = 0
• Persamaan bukan persamaan kuadrat, dan program segera meberikan pesan error.
2. Kasus D > 0
• Diskriminan positif menunjukkan persamaan memiliki dua akar berbeda.
• Solusi dihitung menggunakan rumus kuadrat dengan dua hasil (x1, x2).
3. Kasus D = 0
• Diskriminan nol menunjukkan persamaan memiliki satu akar ganda (satu solusi).
4. Kasus D < 0
• Diskriminan negatif menunjukkan persamaan tidak memiliki solusi dalam bilangan real.

111


6.3. Representasi Flowchart Menggunakan Flowgorithm

Gambar 6.1. Presentasi Flowchart Menggunakan Flowgorithm.
Sumber: (Penulis 2024)
6.3.1. Contoh Kasus 1
Misalkan kita berikan persamaan berikut: 0x
2
+ 2x + 4 = 0
Langkah-langkah penyelesaian:
1. Identifikasi Koefisien:
• a = 0
• b = 2
• c = 4

112


2. Periksa Nilai a:
• Karena a = 0, ini bukan persamaan kuadrat.
• Persamaan tersebut menjadi linear: 2x + 4 = 0
3. Jika Algoritma untuk Persamaan Kuadrat Digunakan:
• Algoritma akan mendeteksi bahwa a = 0 di awal proses dan langsung memberikan error.
• Pesan Output: “Error: Ini bukan persamaan kuadrat.”
4. Catatan:
• Jika b ≠ 0, persamaan linear tersebut dapat diselesaikan dengan:
x = −
&#3627408516;
&#3627408515;
= −
&#3627409362;
&#3627409360;
= -2
• Namun, algoritma ini khusus untuk persamaan kuadrat, sehingga dianggap tidak valid
jika a = 0
5. Output Algoritma:
• Input: a = 0, b = 2, c = 4
• Diskriminan (D): Tidak dihitung karena a = 0
• Pesan Output: “Error: Ini bukan persamaan kuadrat.”

Gambar 6.2. Contoh Output pada Kasus 1
Sumber: (Penulis 2024)
6. Visualisasi Kasus Error
• Input Tidak Valid: Koefisien a = 0 membuat persamaan tersebut gagal memenuhi syarat
sebagai persamaan kuadrat. Algoritma dirancang untuk mengatasi kasus ini dengan
memberikan pesan kesalahan untuk mencoba menyelesaikan persamaan.

113


6.3.2. Contoh Kasus 2
Misalkan kita berikan persamaan berikut: x
2
+ 2x + 1 = 0
Input: a = 1, b = 2, c = 1
• D = b
2
– 4ac
D = 2
2
– 4(1)(1)
D = 4 – 4 = 0
D = 0
• Karena D = 0, maka persamaan dihitung menggunakan rumus sebagai berikut;
x=
−b
2a


x =
−2
2(1)
=
−2
2
= -1
• Hasil: Persamaan memiliki satu solusi x = -1

Gambar 6.3. Contoh Output pada Kasus 2
Sumber: (Penulis 2024)
6.3.3. Contoh Kasus 3
Misalkan kita berikan persamaan 2x
2
– 5x + 2 = 0
Input: a = 2, b = -5, c = 2
• D = b
2
– 4ac
D = (-5)
2
– 4(2)(2)
D = 25 – 16
D = 9
• Karena D > 0, maka persamaan dihitung menggunakan rumus:

114



??????
&#3627409359;=
−&#3627408411; + √??????
&#3627409360;&#3627408410;
=
−(−&#3627409363;) + √&#3627409367;
&#3627409360;(&#3627409360;)
=
&#3627409363; + &#3627409361;
&#3627409362;
=
&#3627409366;
&#3627409362;
= &#3627409360;
??????
&#3627409360;=
−&#3627408411; − √??????
&#3627409360;&#3627408410;
=
−(−&#3627409363;) − √&#3627409367;
&#3627409360;(&#3627409360;)
=
&#3627409363; − &#3627409361;
&#3627409362;
=
&#3627409360;
&#3627409362;
= 0,5
• Hasil: x1 = 2, dan x2 = 0,5

Gambar 6.4. Contoh Output pada Kasus 3
Sumber: (Penulis 2024)
6.3.4. Contoh Kasus 4
Misalkan kita berikan persamaan x
2
+ 2x + 4 = 0
Input: a = 1, b = 2, c = 4
• D = b
2
– 4ac
D = (2)
2
– 4(1)(4)
D = 4 – 16
D = -12
• Karena D < 0, Hasil: Persamaan tidak memiliki solusi real.

115



Gambar 6.5. Contoh Output pada Kasus 4
Sumber: (Penulis 2024)
6.4. Flowchart Menggunakan Office Word (Bagan Alur)

116































Gambar 6.5. Presentasi Flowchart Menggunakan Office Word (Diagram Alur)
Sumber: (Penulis 2024)
Kesimpulan
1. a) Algoritma adalah urutan langkah logis pengambilan keputusan untuk memecahkan masalah secara
sistematis.
START
SolveQuadraticEquation

Get a
Get b
Get c
If ( a = 0 )
Let D = b
2
– 4 ac
If (D > 0 )
Let x1 =
−&#3627408411; + √??????
&#3627409360;&#3627408410;

Let x2 =
−&#3627408411; − √??????
&#3627409360;&#3627408410;

If (D = 0 )
Let x =
−&#3627408411;
&#3627409360;&#3627408410;

N Y
Give x1
Give x2
STOP
SolveQuadraticEquation

N Y
Y N
Give “Error: ini bukan
persamaan kuadrat”

Give “Persamaan
memiliki dua solusi”

Give “Persamaan
memiliki satu solusi”

Give “Persamaan tidak
memiliki solusi real”

Give “x”

117


b) Program adalah himpunan atau kumpulan instruksi tertulis untuk melakukan tugas tertentu dengan
komputer atau sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk
menyelesaikan masalah.
2. a) Intermediate (luas) berguna untuk menyimpan hasil sementara perhitungan agar proses lebih
mudah dibaca dan dimengerti.
b) Selain itu, penggunaan intermediate seperti ini juga mengurangi kesalahan hitung karena kita
hanya perlu menyimpan hasil di satu tempat dan tidak perlu mengulangi operasi yang sama
berulang kali.
c) Secara sederhana, data adalah bahan mentah yang perlu diolah, sedangkan informasi adalah
produk akhir yang memiliki arti dan dapat digunakan. Keduanya memiliki peran penting dalam
berbagai aspek kehidupan, seperti pengambilan keputusan, perencanaan bisnis, dan
pengembangan aplikasi.
3. a) Masing-masing tool memiliki kegunaan yang spesifik tergantung pada aspek sistem yang ingin
digambarkan. Sementara Flowchart baik untuk memetakan alur langkah demi langkah dalam
algoritma, tools seperti UML dan DFD lebih baik dalam menggambarkan hubungan struktural dan
data dalam sistem, dan BPMN membantu dalam pemodelan proses bisnis yang kompleks.
Memahami berbagai tools ini akan sangat membantu dalam pengembangan kompetensi di bidang
rekayasa perangkat lunak, terutama dalam perancangan dan dokumentasi sistem.
b) Setiap tool ini dapat dipelajari lebih lanjut untuk meningkatkan pemahaman tentang cara mereka
bekerja dalam konteks pengembangan software.
4. Pseudocode adalah langkah awal dalam pemecahan masalah yang berfokus pada logika tanpa
memperhatikan detail teknis. Sementara itu, coding adalah langkah implementasi logika tersebut
menjadi program yang dapat dijalankan oleh komputer. Kedua hal ini saling melengkapi dalam
pengembangan perangkat lunak.
5. a) Variabel bersifat dinamis dan nilainya dapat berubah selama eksekusi program, sedangkan
konstanta bersifat statis dan nilainya tetap.
b) Deklarasi konstanta menggunakan kata kunci seperti CONSTANT untuk membedakannya dari
variabel.
c) Konsep ini digunakan untuk menjaga kejelasan program dan mencegah perubahan nilai yang
seharusnya tetap, sehingga meminimalkan kesalahan.
6. Algoritma ini mengatasi berbagai kemungkinan solusi persamaan kuadrat:
a) Menangani persamaan linear (a = 0).
b) Menggunakan diskriminan (D) untuk menentukan sifat solusi:
• Dua solusi (jika D > 0).
• Satu solusi (jika D = 0).

118


• Tidak ada solusi real (jika D < 0).
Jika Anda ingin mencari lebih banyak referensi, Anda bisa melihat dokumentasi tentang pseudocode di
buku pemrograman algoritma atau situs-situs belajar seperti Khan Academy dan GeeksforGeeks.
Daftar Pustaka
[1] Riad Sahara, S. M. (2024). Algoritma Pemrograman Pertemuan Ke-1. Jakarta: Universitas Siber
Asia.
[2] Riad Sahara, S. M. (2024). Algoritma Pemrograman Pertemuan Ke-2. Jakarta: Universitas Siber
Asia.
[3] Riad Sahara, S. M. (2024). Algoritma Pemrograman Pertemuan Ke-3. Jakarta: Universitas Siber
Asia.
[4] Riad Sahara, S. M. (2024). Algoritma Pemrograman Pertemuan Ke-4. Jakarta: Universitas Siber
Asia.
[5] Riad Sahara, S. M. (2024). Algoritma Pemrograman Pertemuan Ke-5. Jakarta: Universitas Siber
Asia.
[6] Riad Sahara, S. M. (2024). Tugas 1-Dasar Pemrograman.doc. Jakarta: Universitas Siber Asia.
Link File
??????
??????

119