You are on page 1of 68

Algoritma

&
Pemrograman

Disusun Oleh
Zulfikar, S.Pd, M.Kom
Bahan Ajar Internal
Universitas Muhammadiyah Riau
2
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Assalamualaikum warahmatullahi wabarakatuh
Alhamdulillahirobbil’alamin, segala puji kehadirat Allah SWT serta Sholawat dan
Salam untuk Rasulullah Nabi Muhammad Shalallahu Alaihi Wassalam.

Modul atau bahan ajar ini dirangkum dari berbagai sumber dan pengalaman
belajar mahasiswa Universitas Muhammadiyah Riau Program Studi Sistem
Informasi mata kuliah Algoritma dan Pemrograman. Dokumentasi belajar selamat
14 Pertemuan terangkum kesimpulannya dalam bahan ajar ini yang berisikan :
A. Konsep Dasar Algoritma
B. Tipe Data Sederhana
C. Flowchart
D. Struktur Dasar Algoritma
1. Sequence
2. Selection
3. Repetition / Looping
E. Fungtion & Procedure
F. Variabel Lokal dan Global
G. Array

Materi tersebut dirangkum dengan contoh penerapan dalam bahasa pemrograman


C++ dengan menggunakan aplikasi Dev CPP.

Pekanbaru, 27 Januari 2023

Zulfikar, S.Pd, M.Kom


Silahkan dibagikan dan Semoga Bermanfaat.
A. Pengantar Algoritma Dan Pemrograman

Sejarah Algoritma

Kata Algoritma diambil dari nama ilmuan muslim Abu Ja’far Muhammad bin
Musa Al-Khurizmi (780-846 M). Abu Ja’far Muhammad Ibnu Musa Al
Khuwarizmi adalah seorang penulis buku Arab yang berjudul Kitab Al Jabar
Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi
dibaca orang Barat menjadi algorism.

Kata algorism berarti proses menghitung dengan angka Arab. Seseorang


dikatakan algorist jika orang tersebut menggunakan angka Arab.

Kata algorism lambat laun menjadi algorithm disebabkan kata algorism sering
dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –
thm. Kata algorithm diserap ke dalam bahasa Indonesia menjadi algoritma.

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang


disusun secara sistematis. Menurut Kamus Besar Bahasa Indonesia:
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan
masalah. Algoritma dibutuhkan untuk memerintah komputer mengambil
langkah-langkah tertentu dalam menyelesaikan masalah

Kata logis disini berarti benar sesuai dengan logika manusia. Untuk menjadi
sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan
masalah harus memberikan hasil yang benar.

Algoritma erat kaitannya dengan Logika. Logika identik dengan masuk akal
dan penalaran. Penalaran adalah salah satu bentuk pemikiran. Pemikiran

4
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
adalah pengetahuan tak langsung yang didasarkan pada pernyataan langsung
pemikiran mungkin benar dan mungkin juga tak benar.

Jadi Logika bisa Definisikan sangat sederhana yaitu ilmu yang memberikan
prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan
yang berlaku. Pelajaran logika menimbulkan kesadaran untuk menggunakan
prinsip-prinsip untuk berfikir secara sistematis.

Algoritma tidak selalu identik dengan ilmu komputer saja. Dalam kehidupan
sehari-hari banyak terdapat proses yang digambarkan dalam suatu algoritma.
Dalam kehidupan sehari-hari banyak terdapat proses yang digambarkan dalam
suatu algoritma.

Domain Algoritma

 Masalah : motivasi untuk membuat algoritma.


 Algoritma : prosedur untuk menyelesaikan masalah. Seringkali satu
masalah dapat diselesaikan dengan lebih dari satu cara (banyak
kemungkinan).
 Program: representasi formal dari suatu algoritma dengan
menggunakan bahasa pemrograman yang bisa dimengerti oleh
komputer.
 Proses : aktivitas menjalankan langkah-langkah dalam algoritma.

Syarat membuat algoritma

 Input : data yang harus diberikan pada komputer


 Output: informasi yang akan diperoleh dari komputer
 Logika: Merencanakan proses program. Terdiri dari sejumlah instruksi
yang mengubah input menjadi output yang diinginkan

5
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Ciri-ciri Algoritma yang baik

 Tepat sasaran : memenuhi spesifikasi pekerjaan dan bekerja sesuai tujuan


 Flexible dan portable:
 Flexible untuk dikembangkan lebih lanjut
 Portable untuk digunakan pada berbagai sistem dan mesin
 Bersih dari kesalahan sistem ataupun logik
 Efektif : setiap langkah harus sederhana sehingga dapat dikerjakan dalam
sejumlah waktu yang masuk akal.
 Murah
 Didokumentasikan dengan baik untuk pengoperasian, pemeliharaan dan
pengembangan
 Algoritma pemberian (description) pelaksanaan suatu proses
 Tidak ambiguous : tidak bermakna ganda
 Harus berhenti setelah mengerjakan sejumlah langkah terbatas.

Penulisan Algoritma

1. Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan bahasa


manusia lainnya)
Tapi sering membingungkan (ambiguous)
2. Menggunakan flow chart (diagram alir)
Bagus secara visual akan tetapi repot kalau algoritmanya panjang
3. Menggunakan pseudo-code
Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti
oleh orang yang tidak mengerti pemrograman

6
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh : Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah
bilangan.

1. Algoritma Dalam Bahasa Natural


a. Ambil bilangan pertama dan set maks sama dengan bilangan pertama
b. Ambil bilangan kedua dan bandingkan dengan maks
c. Apabila bilangan kedua lebih besar dari maks, set maks sama dengan
bilangan kedua
d. Ambil bilangan ketiga dan bandingan dengan maks
e. Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan
bilangan ketiga
f. Variabel maks berisi bilangan terbesar. Tayangkan hasilnya

2. Algoritma dengan Flowchart

Mulai

Maks = bilangan pertama

Maks <
Ya Maks = bilangan kedua
bilangan kedua

Tidak

Maks <
Ya Maks = bilangan ketiga
bilangan ketiga

Tidak

Selesai

7
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
3. Algoritma dengan pseudo-code
maks ← bilangan pertama
if (maks < bilangan kedua) then
maks ← bilangan kedua
else
if (maks < bilangan ketiga) then
else
maks ← bilangan ketiga

Aspek Penting dari Algoritma


1. Finiteness
Algoritma harus berhenti after a finite number of steps
2. Definiteness
Setiap langkah harus didefinisikan secara tepat, tidak boleh
membingungkan (ambiguous)
3. Input
Sebuah algoritma memiliki nol atau lebih input yang diberikan
kepada algoritma sebelum dijalankan
4. Output
Sebuah algoritma memiliki satu atau lebih output, yang biasanya
bergantung kepada input
5. Effectiveness
Setiap algoritma diharapkan miliki sifat efektif

8
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Algoritma :
Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya
menukar isi masing-masing gelas?

Tugas...

Buatlah suatu algoritma untuk proses aktivitas yang anda kerjakan dari pagi hingga
malam hari

9
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
B. TIPE DATA
Tipe data dasar yang sering dipakai oleh program, meliputi:
1. Integer (bilangan bulat)
Merupakan tipe data yang digunakan untuk menyatakan bilangan bulat.
Tidak memuat bilangan pecahan. Dalam tipe data ini tidak
diperkenankan menggunakan karakter koma antar dua bilangan.

Jenis-jenis Tipe Integer

Operator Pada Tipe Integer

10
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
2. real (bilangan pecahan)
 Penulisan untuk jenis data ini selalu menggunakan titik desimal.
 Nilai konstanta numerik real berkisar dari 1E-38 sampai dengan
1E+38 dengan mantissa yang signifikan sampai dengan 11 digit.
 E menunjukkan nilai 10 pangkat. Nilai konstanta numerik real
menempati memori sebesar 6 byte.

Tipe Bilangan real

3. char (alphanumerik dan tanda baca)


 Tipe data ini menyimpan karakter yang diketikkan dari keyboard
 Memiliki 266 macam yang terdapat dalam tabel ASCII (American
Standard Code for InformationInterchange)
Contoh: 'a' 'B' '+', dsb
 Dalam menuliskannya harus dengan memakai tanda kutip
tunggal.
 Jenis data ini memerlukan alokasi memori sebesar 1(satu) byte
untuk masing-masing data.

11
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Tipe Karakter

4. Boolean (logika).
 Tipe data logika
 Berisi dua kemungkinan nilai: TRUE (benar) atau FALSE (salah).
 Operator untuk jenis data ini adalah :
Logical Operator, yaitu : NOT, AND, OR dan XOR
Relational Operator, yaitu : >, <, >=, <=, <> dan =

Tipe data Boolean

12
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
C. Variabel Dan Konstanta

Variabel
 Suatu lokasi memori komputer yang digunakan untuk menampung dan
menyimpan data yang akan diolah.
 Tipe data variabel ditentukan oleh jenis data yang akan disimpan
 Penamaan bersifat  UNIK
 Aturan penulisan :
 Diawali dengan huruf
 Penulisan harus diikuti dengan Tipe Data
 Panjangnya bebas
 Tidak boleh menggunakan spasi

Konstanta
 Besaran yang mempunyai nilai tetap selama program dijalankan.
 Pemberian nilai yang akan disimpan dalam sebuah konstanta dilakukan
diawal program
 Selama program dijalankan nilainya tidak bisa diubah.
Notasi  const

Ekspresi
 Pernyataan yang mentransformasikan nilai menjadi keluaran yang
diinginkan melalui proses perhitungan (komputasi)
 Ekpresi terdiri dari operand dan operator.
 Ekspresi aritmatika adalah ekspresi yang melibatkan operand bertipe
numerik dan menghasilkan nilai bertipe numerik.

13
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Operator

 Operator Aritmatika
Pangkat, penjumlahan, pengurangan, perkalian, pembagian real,
 Operator Relasi
 Operator Logika

D. Flowchart

Pengertian Flowchart

 Bagan-bagan yang mempunyai arus yang menggambarkan langkah-


langkah penyelesaian suatu masalah.
 Bentuk gambar/diagram yang mempunyai aliran satu atau dua arah
secara sekuensial
 Merupakan cara penyajian dari suatu algoritma.

14
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Kegunaan Flowchart

 Untuk mendesain program


 Untuk merepresentasikan program
 Flowchart harus dapat merepresentasikan komponen-komponen dalam
bahasa pemrograman
 Sebelum pembuatan program
Mempermudah programmer dalam menentukan alur logika program
 Sesudah pembuatan program
Menjelaskan alur program kepada orang lain

Jenis Flowchart

 System Flowchart
Urutan proses dalam system dengan menunjukkan alat media input,
output serta jenis media penyimpanan dalam proses pengolahan data.
 Program Flowchart
Urutan instruksi yang digambarkan dengan symbol tertentu untuk
memecahkan masalah dalam suatu program.

15
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh System Flowchart

16
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Program Flowchart

17
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Simbol-simbol Flowchart
 Flow Direction Symbols (Simbol penghubung alur)
 Processing Symbols (Simbol proses).
 Input-output Symbols (Simbol input-output)
 Unsur-unsur pemrograman : Input  Proses Output.
 Komponen-komponen bahasa pemrograman sebagai berikut :
Input (scanf - cin)
Percabangan (if, switch)
Perulangan (while, for, for each, loop)
Output (printf - cout)

18
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
19
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
20
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Pembuatan Flowchart
 Tidak ada kaidah yang baku.
 Flowchart = gambaran hasil analisa suatu masalah
 Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram
lainnya.
 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit
sehingga jalannya proses menjadi singkat.
 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda
panah untuk memperjelas/
 Selalu dimulai dengan Start atau Begin

 Input / Output

21
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
 Proses

 Hasil Output

22
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Beberapa Contoh Flowchart

Tugas : Buatlah Algoritma Untuk Mencari Luas atau Keliling Lingkaran Dengan
Bahasa Natural & Flowchart.

23
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
E. Struktur Dasar Algoritma
1) Struktur Sequence (Runtunan)
 Instruksi dikerjakan secara berurutan baris perbaris mulai dari baris
pertama hingga baris terakhir, tanpa ada loncatan atau perulangan.
 Tiap instruksi dikerjakan satu per satu.
 Tiap instruksi dilaksanakan tepat sekali, tidak ada instruksi
yang diulang.
 Urutan instruksi yang dilaksanakan pemroses sama dengan
urutan instruksi sebagai tertulis di dalam teks algoritma.
 Akhir dari instruksi terakhir merupakan akhir algoritma.

Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil

Dari kedua algoritma hasil C dan D adalah Sama

24
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Tetapi jika algoritma di atas urutan no. 1,2 dan 3 diubah (ditukarkan ) maka
menghasil keluaran yang berbeda (tidaksama) seperti berikut :
Deklarasi :
A, B, C, D : integer
Deskripsi :
C A+B
D A*B
read (A, B)
write (C, D)
Hasil C dan D akan berbeda dengan dua algoritma sebelumnya

2) Struktur Selection (Pemilihan)


 Tidak setiap baris program akan dikerjakan
 Baris program akan dikerjakan jika memenuhi syarat
 Jadi, struktur keputusan adalah : struktur program yang melakukan
proses pengujian untuk mengambil suatu keputusan apakah suatu baris
program atau blok instruksi akan diproses atau tidak
 Pengambilan keputusan menggunakan pernyataan boolean (true/false)
dengan menggunakan operator pembanding( >,<,>=,<=,=,<>) yang
bisa di kombinasikan dengan operator boolean (AND, OR dan NOT)
 Contoh :
5 = 5  true, karena 5 sama dengan 5
3 = 4  false, karena 3 tidak sama dengan 4
A = 5  bisa true/false tergantung nilai variabel A
(A>5) AND (B=2)  true, jika pernyataan A>5 bernilai true, dan
pernyataan B=2 juga bernilai true

25
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Struktur Keputusan
Khusus untuk yang menggunakan opertor boolean (AND, OR, NOT dan
XOR), harus sesuai dengan tabel kebenaran

26
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Notasi Agoritmik Pemilihan Satu Kasus

3) Struktur Repetition (Perulangan)


 Perulangan adalah instruksi yang dapat mengulang sederetan
Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan.
 Struktur instruksi perulangan pada dasarnya terdiri atas :
o Kondisi perulangan; suatu kondisi yang harus dipenuhi agar
perulangan dapat terjadi.
o Badan (body) perulangan; deretan instruksi yang akan
diulang-ulang pelaksanaannya.
o Pencacah (counter) perulangan; suatu variabel yang nilainya
harus berubah agar perulangan dapat terjadi dan pada
akhirnya membatasi jumlah perulangan yang dapat
dilaksanakan
 Jenis Perulangan Bisa dengan For, While dan Do While

27
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
F. Fungtion & Procedure
Pengantar Fungi

Dalam Bahasa C++ sudah terdapat fungsi standar yang digunakan yaitu :
#include <iostream>
using namespace std;

int main() {

Perhatikan kode program C++ diatas, kode program tersebut merupakan kode
program dengan struktur yang paling sederhana yaitu fungsi main(), fungsi
main tersebut merupakan fungsi utama yang menjadi bagian utama pada
program setelah library input dan output.

Pengertian Fungsi

Fungsi merupakan sebuah sub program digunakan biasanya untuk


mengerjakan suatu perintah atau tugas tertentu berdasarkan tujuan dari fungsi
itu sendiri. Contohnya membuat fungsi untuk menghitung luas lingkaran,
maka tugas dari fungsi itu yaitu menghasilkan hasil dari perhitungan luas
lingkaran dan sebaiknya tidak mengerjakan tugas yang lain.

Bentuk Umum Fungsi Dalam Bahasa Pemrograman C++


Bentuk umum
int nama_fungsi () {
// Perintah yang dieksekusi;
}

28
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Penjelasan kode program diatas:

 int merupakan tipe data dari fungsi tersebut yang nantinya


fungsi ini akan menghasilkan nilai balik (return value)
berdasarkan tipe fungsi tersebut.
 nama_fungsi merupakan fungsi yang akan digunakan dan
dipangil ulang dalam pemrograman.
 blok didalam tanda {} akan dieksekusi saat fungsi tersebut
dipanggil.

Fungsi Dengan Parameter

Selain itu fungsi biasanya membawa informasi lewat nilai/variabel yang berada
di parameternya.
int nama_fungsi(parameter) {
// Perintah yang dieksekusi;
}
Parameter bertindak sebagai variabel didalam fungsi tersebut, parameter
dibuat setelah nama fungsi dan berada didalam tanda (). Kita dapat
menambahkan beberapa parameter sekaligus dalam satu fungsi. Jumlah
parameter didalam fungsi bisa lebih dari satu.

Penerapan Fungsi

Fungsi yang kita buat tidak akan berjalan, selama fungsi tersebut tidak
dipanggil melalui fungsi utama main(). Contoh Penerapan:

29
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Program Fungsi di C++
#include <iostream>
using namespace std;

int fungsi_tambah()
{
int jumlah=1+3;
return jumlah;
}

int main()
{
cout<<fungsi_tambah()<<endl;
}

Pada program diatas terdapat fungsi dengan nama fungsi_tambah() dan


mengerjakan penjumlahan 1+1 dan disimpan didalam variabel hasil. Nilai balik
dari fungsi tersebut di simpan pada variabel hasil. Fungsi fungsi_tambah()
kemudian dipanggil ulang dalam fungsi main() supaya hasilnya bisa
ditampilkan didalam output.

Contoh Fungsi Dengan Parameter Dalam C++


#include <iostream>
using namespace std;

int fungsi_tambah(int a, int b)


{
int hasil=a+b;
return hasil;
}

int main()
{
cout<<fungsi_tambah(1,3)<<endl;
}

Kode program diatas menghasilkan output yang sama dengan contoh fungsi
yang pertama, perbedaan utama yaitu fungsi penjumlahannya menggunakan 2
parameter yatu variabel a dan b. ketika fungsi penjumlahan dipanggil dari

30
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
fungsi main maka kita harus memasukan nilai sesuai dengan jumlah parameter
pada fungsi tersebut. Dalam contoh ini parameter pertama adalah angka 1 dan
yang kedua angka 3 sehingga ketika di jalankan kedua nilai tersebut
dijumlahkan melalui fungsi_tambah tersebut.

Pengertian Prosedur

Prosedur hamper sama dengan fungsi, prosedur merupakan bagian dari sub
program yang mengerjakan suatu perintah/tugas tertentu. Prosedur
bermanfaat saat kita ingin melakukan perintah yang sama berulang-ulang kali,
kita hanya perlu membuat sekali dan nantinya dapat dipergunakan dengan
cara dipanggil sesuai dengan kebutuhan.

Perbedaan Utama Prosedur dan Fungsi

Pada dasarnya tidak ada perbedaan yang signifikan antara prosedur dengan
fungsi. Fungsi dan Prosedur sama-sama merupakan sebuah sub program yang
dapat mengerjakan tugas tertentu, namun jika di cermati fungsi dideklarasi
dengan menggunakan tipe data misalnya int fungsi_tambah() atau zulfikar(),
fungsi tersebut wajib harus menghasilkan nilai balik (return value). Sementara
untuk prosedur di deklarasikan biasanya dengan tipe void. Tipe void adalah
salah satu jenis tipe data yang tidak berarti apa-apa (Valueless) tipe void
biasanya digunakan untuk prosedur yang pada dasarnya tidak mempunyai
nilai balik. Karena tipe void bersifat valueless maka pada saat pendeklarasian
prosedur tidak menyebutkan tipe void pun tidak apa-apa.

31
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Penerapan Prosedur C++
#include <iostream>

using namespace std;

int a=1;
int b=3;

void pro_tambah()
{
int hasil=a+b;
cout<<hasil;
}

int main() {
pro_tambah();
}

Dapat dilihat lewat contoh program diatas fungsi penjumlahan sama sekali
tidak mempunyai nilai balik. Tugas akan dijalankan lewat prosedur tersebut,
dan tetap perlu dipanggil melalui fungsi utama main().

Pada dasarnya fungsi dan prosedur adalah istilah yang sama sebagai sebuah
sub program untuk mengerjakan tugas tertentu, namun yang menjadi
pembeda adalah fungsi dideklarasikan dengan tipe data sedangkan untuk
prosedur tidak. fungsi menghasilkan nilai balik sementara prosedur tidak.

Variabel Lokal dan Global

Variabel merupakan sebuah “wadah/tempat” yang digunakan untuk


menampung data/nilai dengan tipe data tertentu. Jika dianalogikan, variabel
dapat dianggap sebagai sebuah Dompet. Dompet tersebut ditujukan untuk
menampung berbagai macam bentukkartu uang, kartu dan lainnya. Variabel
kurang leih seperti Dompet. Fungsi Variabel Adalah sebagai tempat yang akan
digunakan untuk menampung data dimemori dimana tempat tersebut dapat
menampung nilai (data) yang dapat berubah-ubah selama proses program.

32
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Variabel Global

Apabila di dalam kode program membutuhkan sebuah variabel yang dapat


dikenali oleh semua lingkungan dalam program yang kita buat, maka variabel
tersebut harus dideklarasikan sebagai variabel yang bersifat global.
Dalam bahasa C++ sendiri kita telah mengetahui bahwa struktur program
dalam bahasa C++ selalu ada fungsi utama dengan nama main() . Apabila kita
mendeklarasikan sebuah variabel diluar fungsi main() / fungsi lain / prosedur
lain, maka dengan sendirinya compiler akan menganggap variabel tersebut
sebagai variabel global.

Jadi Variabel global adalah variabel yang dapat digunakan atau dipanggil atau
dikenali oleh semua fungsi / prosedur / dikenali diseluruh program. Variabel
global ini dapat digunakan pada beberapa fungsi / prosedur, Hal ini betujuan
untuk menghemat penulisan, karena tidak perlu lagi berkali - kali menuliskan
variabel yang sama pada beberapa fungsi / prosedur.

Variabel Lokal

Berbeda dengan variabel global, variabel lokal adalah variabel yang hanya
dikenali oleh sebuah fungsi / prosedur saja (hanya dikenali pada fungsi /
prosedur tempat variabel tersebut dideklarasikan). Hal tersebut karena proses
deklarasi variabel lokal dilakukan di dalam lingkup fungsi yang dimaksud.
Perbedaan Utama Variabel Global dan Variabel Lokal
 Variabel Global dideklarasian diluar fungsi main() atau diluar sebuah
fungsi atau prosedur lain.
 Variabel Lokal dideklarasian didalam sebuah fungsi atau didalam
sebuah prosedur.
 Variabel Global dapat digunakan atau dipanggil atau dikenali oleh
semua fungsi / prosedur / dikenali diseluruh program.

33
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
 Variabel Lokal hanya dikenali oleh suatu fungsi / prosedur saja (hanya
dikenali pada fungsi / prosedur tempat variabel tersebut dideklarasikan)

G. Array

Struktur Data Array

Dalam bahasa Indonesia, array disebut dengan larik. Struktur ini merupakan
sekelompok berbagai data yang jaraknya saling berdekatan didalam suatu
memori. Array merupakan struktur data yang paling sering digunakan dalam
pemrograman. Karena dengan array, programmer bisa membuat matriks,
graph, himpunan, dan lain-lain. Setiap kumpulan data dalam array akan
mempunyai index sebagai urutan untuk meletakan data. Index dalam array
akan dimulai dari angka 0 (nol). Data yang digunakan pada suatu array
haruslah seragam atau dengan kata lain bertipe data yang sama. Misalnya
harus berupa kumpulan integer, kumpulan string, dan lain-lain. Struktur data
array memiliki tiga macam dimensi, yakni satu dimensi, dua dimensi serta
multi-dimensi. Dalam struktur data array, terdapat beberapa macam operasi.
Contoh operasi yang sering digunakan pada array adalah delete, insert, replace,
serach dan berbagai operasi lainnya.

Array merupakan sekumpulan data, sehingga tidak jarang kita butuh


mengambil atau mengakses data tertentu yang belum diketahui posisinya.
Pada kondisi ini diperlukan pencarian terlebih dahulu. Ada dua algoritma atau
metode pencarian yang sering digunakan dalam array yakni, sequential search
dan binary search.

34
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Array

Penerapan Array

Dari gambar di atas adalah Array A yang memiliki ukuran 5 index


penyimpanan. dimana setiap kotak kosong mewakili element dari array,
dimana dalam hal ini adalah nilai integer dari type int. Index array tersebut
dimulai dari 0 sampai 4. Sama seperti variable lainnya, suatu array harus
dideklarasikan terlebih dahulu sebelum pemakaiannya.

35
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Penulisan array dan deklarasi array pada C++:

Tipe_data nama_array [ukuran];

 Tipe data adalah tipe jenis data yang digunakan pada variabel array
tersebut. bisa berupa karakter string, angka atau sebuah bilangan.

 Nama array adalah nama yang kalian gunakan. bebas untuk


membuat nama array. Namun perlu diperhatikan standar yang baik
untuk nama sebuah variabel array.

 ukuran adalah sebuah nilai kapasitas untuk menentukan berapa


space yang disediakan untuk menampung nilai didalam array tersebut.

Int luas [5];

CATATAN: Ukuran harus berupa nilai constant (konstanta), karena array


merupakan blok dari memory static yang harus diberikan, sehingga compiler
dapat mengetahui jumlah memory yang diperlukan array sebelum instruksi.

Jika kita mendeklarasi array global (diluar dari function), nilai awalnya adalah
nol. Maka jika kita mendeklarasikan array global berikut:

int A [5];

setiap elemen dari A adalah 0:

Kita juga dapat mendeklarasikan suatu Array, berikut dengan nilainya dengan
menuliskan nilainya dalam tanda kurawal { }.

36
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Sebagai contoh:

int A [5] = { 16, 2, 77, 40, 12071 };

Deklarasi diatas akan menghasilkan array sebagai berikut :

Atau pada C++, boleh juga ditulis sebagai berikut :

int A [] = { 16, 2, 77, 40, 12071 };

Mengakses Variabel Array

Untuk mengakses nilai didalam variabel array menggunakan index. Array


selalu diawali dari index ke-0. Contoh jika berdasarkan array yang kita buat
diatas dan kita ingin mencetak nilai 2 dan 15 maka index yang diakses adalah 0
dan 3 karena nilai 2 berada pada index ke 0 dan nilai 5 berada pada index ke-3.
Lihat program berikut:

#include <iostream>
using namespace std;
int main() {
int nilai[5]={2,4,9,15,22};

cout<<nilai[0]<<endl;
cout<<nilai[3]<<endl;
}

Dari program diatas hasilnya adalah

37
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Dapat dilihat berdasarkan hasil output diatas ketika kita mengakses array
dengan index ke 0 dan 3 maka yang ditampilkan adalah nilai didalam index
tersebut yaitu 2 dan 15.

Array Mutidimensi

Dalam Materi sebelumnya sudah diketahu bahwa array adalah sebuah


variabel yang punya kemampuan untuk menyimpan lebih dari 1 nilai
yang memiliki tipe yang sama. Atau dalam kata lain array adalah
sekumpulan data dengan tipe data yang sama.

Array 2 Dimensi

Jika didalam array 1 dimensi hanya menggunakan sebuah tanda []


(bracket) namun pada array 2 dimensi kita membuat 2 tanda []
tersebut. Berikut ini adalah bentuk umum array 2 dimensi.

tipe_data nama_array [jumlah elemen baris][jumlah elemen kolom];

Contoh:

int A[3][4];

Contoh diatas kita mendeklarasikan sebuah variabel array 2 dimensi


dengan menggunakan tipe data integer dengan nama A memiliki
ukuran 3 jumlah elemen baris dan 4 kolom

38
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Inisialisasi Nilai Array 2 Dimensi

Inisialisasi nilai array 2 dimensi dapat dibuat dengan cara manual


ataupun dapat diinput oleh pengguna saat program dijalankan. Karena
array 2 dimensi mempunyai lebih dari satu bentuk index array, maka
ketika kita melakukan inisialisasi nilai (secara manual) perlu
menggunakan tanda {} untuk membentuk baris array.

int A[3][4]={{2,3,5,6},{3,4,7,8},{5,6,1,2}};

Mengakses Nilai Array 2 Dimensi

Mengakses nilai array dapat dilakukan dengan cara manual dimana


kita langsung mencetak sesuai dengan index baris dan kolom pada
array tersebut. Sebagai contoh jika kita ingin mengakses nilai 7 maka
index array yang kita akses adalah A[1][2]; karena 7 berada pada
elemen baris ke-1 dan pada kolom ke-2.

Mari kita lihat table berikut

In is ia s i Ar r a y

Va r ia b e l A Ko lo m 0 Ko lo m 1 Ko lo m 2 Ko lo m 3
Ba r is 0 A [0 ] [0 ] A [0 ] [1 ] A [0 ] [2 ] A [0 ] [3 ]
Ba r is 1 A [1 ] [0 ] A [1 ] [1 ] A [1 ] [2 ] A [1 ] [3 ]
Ba r is 2 A [2 ] [0 ] A [2 ] [1 ] A [2 ] [2 ] A [2 ] [3 ]

Va lu e A Ko lo m 0 Ko lo m 1 Ko lo m 2 Ko lo m 3
Ba r is 0 2 3 5 6
Ba r is 1 3 4 7 8
Ba r is 2 5 6 1 2

39
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Untuk array di atas juga bisa dibuat dengan Bahasa C++

#include <iostream>
using namespace std;

int main() {

int A[3][4]={{ 2,3,5,6},{3,4,7,8},{5,6,1,2}};

for (int b=0;b<3;b++){


for (int k=0;k<4;k++){
cout<<A[b][k]<<" ";
}
cout << endl;
}
}
Contoh Kode Program Dengan Nilai Angka Yang Di Inputkan
#include <iostream>
using namespace std;
int main() {
int A[3][4];
for (int b=0;b<3;b++){
for (int k=0;k<4;k++){
cout<<"A["<<b<<"]["<<k<<"] = ";
cin>>A[b][k];
}
cout << endl;
}

for (int b=0;b<3;b++){


for (int k=0;k<4;k++){
cout<<A[b][k]<<" ";
}
cout << endl;
}
}
Array 3 Dimensi

40
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Array tiga dimensi adalah sebutan untuk array yang penomoran index-
nya menggunakan 3 buah angka. Analogi yang sering dipakai seperti
titik koordinat dalam diagram kartesius 3D.

Array 3 dimensi adalah array yang menampung lebih dari satu tabel.
Dengan index pertama sebagai penentu jumlah tabel yang ingin dibuat.
Semakin banyak yang diinputkan, maka semakin banyak tabel yang
dapat disimpan. Index kedua adalah jumlah baris dalam satu tabel,
sedangkan index ketiga adalah jumlah kolom. Disini kita bisa membuat
banyak tabel dengan jumlah baris dan kolom yang sama.

Contoh

int angka [2][5][2]={{{10,2},{8,20},{2,79},{4,67},{8,21}}, {{10,27},


{27,48},{83,28},{2,73},{4,98}}};

Contoh Perulangannya dalam Bahasa C++

for(int i = 0; i<=1; i++){


cout<<i+1<<".\n";
for(int j = 0; j<=4; j++){
for(int k = 0; k<=1; k++){
cout<<angka[i][j][k]<<"\n";
}
cout<<endl;
}
cout<<endl;
}

H. Pembahasan Algoritma dan Pemrograman Dengan Bahasa C++

41
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Bahasa C Dibuat pada tahun 1972 oleh Dennis Ritchie untuk Sistim Operasi Linux
di Bell Telephone Laboratories. Kemudian Berkembang Ke C++ Pada Tahun 1980
dan saat ini ada C# (C Sharp) Oleh Windows Tahun 2000.

Contoh Penulisan Program C++

#include <iostream>
using namespace std;

int main ()
{
cout<<"Welcome To UMRI";

Program di atas merupakan bentuk umum dari c++. Dan selalu ada pada setiap
program C++ selalu ada koding “#include <iostream>” apa arti dari hal tersebut?.
#include <iostream> terdiri atas statement(pernyataan) antara lain #include dan
<iostream>

#include merupakan Preprocessor Directive yang mana berfungsi sebagai sebuah


intruksi untuk memanggil file-header yang akan di gunakan yang mana dalam hal
ini iostream

Sedangkan iostream adalah file header yang merupakan kepanjangan dari Input
Output Stream yang digunakan untuk memanggil fungsi yang ada pada library
file-header tersebut seperti fungsi input yaitu cin dan fungsi output yaitu cout.

Apa yang dimaksud File Header ?


File-header merupakan suatu statement untuk pendeklarasian utama dalam suatu
program di c++ yang gunakan untuk menjalankan dan memanggil fungsi-fungsi
yang terdapat dalam library file header C++ yang di deklarasikan sehingga kita

42
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
dapat menggunakan semua fungsi-fungsi yang ada pada file header tersebut.
contohnya adalah <iostream> merupakan deklarasi pernyataan yang merupakan
file libary dari fungsi input yaitu cin dan fungsi output yaitu cout dan masih
banyak lagi fungsi dalam file-header tersebut.

File header standar untuk proses input/output yang digunakan dalam bahasa
pemograman C++ adalah <iostream>. Kita selalu membutuhkan file header
iostream di setiap program yang kita buat dalam bahasa pemograman C++.
Apabila kita menggunakan suatu file header yang telah disediakan oleh compiler ,
maka kita harus menuliskannya seperti ini <iostream>. Tetapi, jika anda ingin
menggunakan file-header yang anda buat, maka file-header tersebut harus ditulis
seperti ini NamaHeader. Jika anda menggunakan tanda <>, maka file-header
tersebut akan dianggap berada pada folder direktori default. Namun jika anda
menggunakan tanda "", maka anda dapat mementukan sendiri letak folder dimana
anda menyimpan fungsi tersebut.

Berikut ini adalah contoh – contoh file header :


1. 1.#include<iostream>
Dingunakan untuk memanggil perintah input output seperti cin dan cout

2. 2. #include<stdio.h>

Digunakan untuk memanggil perintah input output seperti prinf dan scanf

3. 3.#include<math>
Digunkan untuk memanggil perintah perhitugan seperti min, max, cos, tan
sin,

Using namespace std, perintah ini digunakan untuk mendeklarasikan/


memberitahukan kepada compiler bahwa kita akan menggunakan semua

43
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
fungsi/class/file yang terdapat dalam namespace std. namespace sendiri memiliki
kesamaan dengan paket pada bahasa Java yang berisi pengelompokan fungsi,
class dan yang sejenis. Pada C++ library- library umumnya disimpan dalam
namespace std, seperti perintah cin dan cout.

Perbedaan penulisan apabila kita menggunakan namespace std atau tidak adalah :

Tanpa using namespace std

std::cout << " Tanpa menggunakan namespace std " ;


std::cin >> pil;

Menggunakan using namespace std

#include <iostream>
using namespace std;
int main()
{
cout << " Menggunakan namespace std ";
return 0;
}

44
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Study Kasus Sequence Program
Latihan 1

#include<iostream>
using namespace std;

int main () {
cout<<"Selamat Datang Di Praktek Pemrograman"<<endl;
cout<<"Nama Saya Zulfikar";
}

Latihan 2
#include <iostream>
using namespace std;
int main(){
float l, r;
const float phi = 3.14;
cout << "=================================\n";
cout << "Program Menghitung Luas Lingkaran\n";
cout << "=================================\n";
cout << "Masukkan panjang jari-jari lingkaran: ";
cin >> r;
l = phi*r*r;
cout << "Luas Lingkaran adalah "<< l << endl;
return 0;
}

45
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 3

#include <iostream>

using namespace std;

int main(){

int a,t;
float luas;

cout << "Masukkan panjang alas: ";


cin >> a;
cout << "Masukkan tinggi segitiga: ";
cin >> t;

luas = 0.5*a*t;
cout << "Luas segitiga adalah " << luas << endl;

return 0;
}

46
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Study Kasus Selection Program
Percabangan

A. IF
If (Kondisi) {Aksi}

B. IF Else
If (Kondisi) {Aksi1} Else
{Aksi 2}

C. IF Else If
If (Kondisi1) {Aksi1} else if (Kondisi 2)
{Aksi 2}
else if (Kondisi 3)
{Aksi 3}
.
.
.
else
{Aksi Terakhir}

D. Case
switch(variabel){
case <value1>:
break; case <value2>:
break; case <value3>:
break; default:
}

47
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
switch (nilai) {
case variabel1:
pernyataan akan di eksekusi, bila nilai = variabel1
break;
case variabel2:
pernyataan akan di eksekusi, bila nilai = variabel2
break;
...
default:
pernyataan akan di eksekusi, bila tidak ada variabel yang sama
dengan nilai
}

Latihan 4.
Contoh IF Else

Program Login Dengan Password

Sebuah Program Login Dengan Pilihan Password yang dientrikan secara manual
dalam program C++. Tampilan jika program berjalan seperti berikut :

48
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Jika Pasword Benar muncul pesan “Selamat Datang” Dan Terima Kasih Sudah
Menggunakan Aplikasi Ini. Jika Password salah maka akan muncul pesan
“Password Salah, Coba Lagi!” dan Terima Kasih sudah menggunakan Aplikasi Ini.

#include <iostream>
using namespace std;
int main(){
string password;
cout << "========= Login =========" << endl;
cout << "Masukan password: ";
cin >> password;
// percabangan if/else
if (password == "rahasia"){
cout << "Selamat datang!" << endl;
} else {
cout << "Password salah, coba lagi!" << endl;
}
cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;
return 0;
}

Latihan 5.
Program Ganjil Genap Dengan IF

49
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Kode Program
#include <iostream>
using namespace std;
int main(){
int a, hasil;
cout << "=================================\n";
cout << "======Program Ganjil Genap=======\n";
cout << "=================================\n";
cout << "Masukkan Bilangan Bulat: ";
cin >> a;

if(hasil = a % 2){
hasil == 1;
cout << "Angka Adalah Bilangan Ganjil\n";
} else {
cout << "Angka Adalah Bilangan Genap\n";
}

Latihan 6 Program Nilai Dengan IF

50
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
#include <iostream>
using namespace std;

int main(){

int nilai;
string grade;

cout << "=== Program Grade Nilai ===" << endl;


cout << "Inputkan nilai akhir: ";
cin >> nilai;

// menggunakan percabangan if/esle/if


if (nilai >= 90) {
grade = "A";
}
else if (nilai >= 80)
{
grade = "B+";
} else if (nilai >= 70)
{
grade = "B";
} else if (nilai >= 60)
{
grade = "C+";
} else if (nilai >= 50)
{
grade = "C";
} else if (nilai >= 40)
{
grade = "D";
} else {
grade = "E";
}

cout << "Grade anda: " << grade << endl;

return 0;
}

51
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 7 Program Jual Beli Dengan IF

#include <iostream>
using namespace std;

int main(){
double total, diskon, pajak, bayar;

// string grade;

cout << "=== Program Jual Beli ===" << endl;


cout << "Total Jumlah Belanja : ";
cin >> total;
// menggunakan percabangan if/esle/if
if (total >= 500000) {
diskon = total * 0.1 ;
}
else if (total >= 1000000)
{
diskon = total * 0.15;
} else if (total >= 1500000) {

diskon = total * 0.20;


} else {
diskon = total * 0;
}
pajak = total * 10 / 100 ;
bayar = total - diskon + pajak;

cout << "Jumlah Bayar: " << bayar << endl;

return 0;
}

52
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 8 Program Nilai Dengan Case

Program Nilai Dengan Ketentuan


Jika Nilai A = Nilai Istimewa
Nilai B = Bagus
Nilai C = Cukup
Nilai D = Yang Penting Lulus
Nilai E = Gagal Mas Bro.. Coba Lagi
Jika Salah Memasukkan Tampil Pesan Nilai Yang Anda Masukkan Salah!

Kode Program

#include <iostream>

using namespace std;

int main()
{
char nilai;

cout << "Input Nilai Anda (A - E): ";


cin >> nilai;

switch (nilai) {
case 'A':
cout << "Nilai Istiewa" << endl;
break;
case 'B':
cout << "Bagus" << endl;

53
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
break;

case 'C':
cout << "Cukup" << endl;
break;
case 'D':
cout << "Yang Penting Lulus" << endl;
break;
case 'E':
cout << "Gagal Mas Bro.. Coba Lagi" << endl;
break;
default:
cout << "Nilai Yang Anda Masukkan Salah!" << endl;
}

return 0;
}

Latihan 9 Program Remote TV Dengan Case

Kode Program

#include <iostream>
using namespace std;

int main()
{
int tv;

54
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
cout<<"=======DAFTAR CHANNEL TV======="<<endl;
cout<<"1. RCTI"<<endl;
cout<<"2. SCTV"<<endl;
cout<<"3. INDOSIAR"<<endl;
cout<<"4. ANTV"<<endl;
cout<<"5. TVONE"<<endl;
cout<<"6. TRANS 7"<<endl;
cout<<"================================"<<endl;

cout<<"Masukan Channel Pilihan = ";


cin>>tv;

switch(tv) {
case 1 :
cout<<"Chanel yang anda pilih adalah RCTI";
break;
case 2 :
cout<<"Channel yang anda pilih adalah SCTV";
break;
case 3 :
cout<<"Channel yang anda pilih adalah INDOSIAR";
break;
case 4 : cout<<"Chanel yang anda pilih adalah ANTV"; break;
case 5 : cout<<"Channel yang anda pilih adalah TVONE"; break;
case 6 : cout<<"Channel yang anda pilih adalah TRANS 7";
break;

default :
cout<<"channel tidak tersedia";

}
}

55
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 10. Program Hotel Dengan Case

#include <iostream>
using namespace std;
int main () {

char tipe_kamar;
int lama, total, pajak, bayar;

cout <<"===================================\n";
cout <<"A. President Suite Rp. 1.000.000 \n";
cout <<"B. Deluxe Rp. 750.000 \n";
cout <<"C. Double Rp. 500.000 \n";
cout <<"D. Single Rp. 250.000 \n";
cout <<"===================================\n";

cout <<"Type Kamar = \n";


cin >> tipe_kamar ;

cout <<"Lama Menginap = \n";


cin >> lama;

switch (tipe_kamar){
case 'A' :
total = lama * 1000000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;

56
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
break;
case 'B' :
total = lama * 750000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;
break;
case 'C' :
total = lama * 500000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;
break;
case 'D' :
total = lama * 250000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;
break;
default :
cout <<"Pilihan Type Kamar Salah\n";
}
}

57
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Study Kasus Repetition Program (looping)

Latihan 11 (For) // Menampilkan Saya Belajar C++ 10 Kali

#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 1; i <= 10; i++) {
cout << "Saya Belajar C++ Hari Ini " << endl;
}
return 0;
}

Latihan 12 (For) // Menampilkan Angka dari 100 Ke 1

#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 100; i > 0; i--) {
cout << i << endl;
}
return 0;
}

Latihan 13 (For) // Menampilkan Angka 500 400 300 200

#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 500; i > 100; i=i-100) {
cout << i << endl;
}
return 0;
}

58
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 14 (For) // Menampilkan Angka 300 900 2700

#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 300; i < 2701; i=i*3) {
cout << i << endl;
}
return 0;
}

Latihan 15 (While) // Tebakan /Login

#include <iostream>
using namespace std;

int main() {
char huruf;

cout<<"Masukkan Tebakan Anda : ";


cin>>huruf;

while(huruf!='z') {
cout<<"Anda Belum Beruntung \n";
cout<<"Masukkan Tebakan Anda : ";
cin>>huruf;

}
cout<<"Selamat Ada Dapat Hadiah Uang Tunai 1 Juta Rupiah!!!!!";
return 0;
}

59
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 16 (Do - While) // Tampilkan angka 3 6 9

#include <iostream>
using namespace std;
int main() {

int n=3;
do {
cout<<""<<n;
cout<<", ";
n+=3;
} while (n<=10);
}

Studi Kasus Program Sederhana


Latihan 17 – Program Lengkap Parkir

#include<iostream>
using namespace std;
int main(){
string kode;
int jumlah, total, diskon, bayar;

cout << "==================\n";


cout << "1.Buku Rp.3.000\n";

60
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
cout << "2.Pena Rp.5.000\n";
cout << "3.Pensil Rp.1.000\n";
cout << "4.Buku Gambar Rp.4.000\n";
cout << "==================\n";

cout << "Kode Barang=\n";


cin >> kode;

cout << "Jumlah Belanja=\n";


cin >> jumlah;

switch("kode"){
case "K001": total=jumlah*3000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl; break;
case "K002": total=jumlah*5000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl; break;
case "K003": total=jumlah*1000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl; break;
case "K004": total=jumlah*4000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl; break;
default:
cout << "Pilihan Kode Tidak Ada\n";
}
return 0;
}

61
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 18 – Program Jual Beli

#include<iostream>
using namespace std;
int main(){
int kode;
int jumlah, total, diskon, bayar;

cout << "==================\n";


cout << "1.Buku Rp.3.000\n";
cout << "2.Pena Rp.5.000\n";
cout << "3.Pensil Rp.1.000\n";
cout << "4.Buku Gambar Rp.4.000\n";
cout << "==================\n";

cout << "Kode Barang=\n";


cin >> kode;

cout << "Jumlah Belanja=\n";


cin >> jumlah;

switch(kode){
case 1: total=jumlah*3000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl;
break;
case 2: total=jumlah*5000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl;
break;
case 3: total=jumlah*1000;
diskon=0.05*total;
bayar=total-diskon;

62
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
cout << "Total Bayar=" << bayar << endl;
break;
case 4: total=jumlah*4000;
diskon=0.05*total;
bayar=total-diskon;
cout << "Total Bayar=" << bayar << endl;
break;
default:
cout << "Pilihan Kode Tidak Ada\n";
}
return 0;
}

Latihan 19 – Program Hotel

63
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
#include <iostream>
using namespace std;
int main () {

char tipe_kamar;
int lama, total, pajak, bayar;

cout <<"===================================\n";
cout <<"A. President Suite Rp. 1.000.000 \n";
cout <<"B. Deluxe Rp. 750.000 \n";
cout <<"C. Double Rp. 500.000 \n";
cout <<"D. Single Rp. 250.000 \n";
cout <<"===================================\n";

cout <<"Type Kamar = \n";


cin >> tipe_kamar ;

cout <<"Lama Menginap = \n";


cin >> lama;

switch (tipe_kamar){
case 'A' :
total = lama * 1000000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;
break;
case 'B' :
total = lama * 750000;
pajak = 0.1 * total;
bayar = total + pajak; cout << "Total Bayar
= " << bayar << endl ;
break;
case 'C' :
total = lama * 500000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;
break;
case 'D' :
total = lama * 250000;
pajak = 0.1 * total;
bayar = total + pajak;
cout << "Total Bayar = " << bayar << endl;
break;

64
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
default :
cout <<"Pilihan Type Kamar Salah\n";
}
}

Latihan 20 – Array Satu Dimensi – Program Nilai

#include <iostream>
using namespace std;
int main()
{
int n;
string nama[10],status[10];
int nilai[10];

cout<<"Masukan Jumlah Data = ";


cin>>n;
cout<<endl;

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


cout<<endl;

cout<<"Data ke-"<<i+1<<endl;
cout<<"Masukan Nama = ";
cin>>nama[i];
cout<<"Masukan Nilai = ";
cin>>nilai[i];

65
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
if (nilai[i]<=50) {
status[i]="Tidak Lulus";
} else {
status[i]="Lulus";
}
}
cout<<endl;
cout<<"DAFTAR NILAI MAHASISWA"<<endl;
cout<<"-------------------------------------------"<<endl;
cout<<"No Nama Nilai Status "<<endl;
cout<<"-------------------------------------------"<<endl;

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


cout<<i+1<<" "<<nama[i]<<" "<<nilai[i]<<"
"<<status[i]<<endl;
cout<<"-------------------------------------------"<<endl;
}

Latihan 21 – Array Multidimensi Dengan Fungtion

#include <iostream>
using namespace std;

void array_angka(){
//Mendeklarasikan array
int angka[2][5][2]={{{10,2},{8,20},{2,79},{4,67},{8,21}},{{10,27},{27,48},
{83,28},{2,73},{4,98}}};

66
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
//Menampilkan array
for(int i = 0; i<=1; i++) { cout<<i+1<<".\n";
for(int j = 0; j<=4; j++){
for(int k = 0; k<=1; k++){
cout<<angka[i][j][k]<<"\t";
}
cout<<endl;
}
cout<<endl;
}
}

void array_huruf(){
string huruf[2][3][2]={{{"Sistem Informasi","Belajar Bahasa
Pemrograman"},{"Visi Misi","1 Jam Paham Bahasa C++"},{"Artikel
Tentang","Array 3 Dimensi"}},
{{"Mata Kuliah","Algoritma Pemrograman"},{"Semester","Ganjil"},
{"Fokus","Array Dalam C++"}}};

//Memanggil array
for(int i = 0; i<=1; i++){
cout<<i+1<<".\n";
for(int j = 0; j<=2; j++){
cout<<j+1<<".";
for(int k = 0; k<=1; k++){
cout<<" "<<huruf[i][j][k]<<"\t\t ";
}
cout<<endl;
}
cout<<endl;
}
}

int main(){
array_huruf();
array_angka();
return 0;
}

67
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Terima Kasih Semoga Bermanfaat

Jika ada pertanyaan silahkan hubungi langsung [....]

WA : 0853 6339 1112


Email : zulfikar.hc@gmail.com
Ig : zulfikarch dan digital_institute1

Sukses Untuk Kita Semua

68
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom

You might also like