Professional Documents
Culture Documents
Algoritma
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
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 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.
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
5
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Ciri-ciri Algoritma yang baik
Penulisan Algoritma
6
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh : Buat sebuah algoritma untuk memilih bilangan terbesar dari 3 buah
bilangan.
Mulai
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
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.
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.
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 =
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
14
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Kegunaan Flowchart
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.
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
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
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
28
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Penjelasan kode program diatas:
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;
}
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.
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>
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.
32
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
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
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.
34
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Array
Penerapan Array
35
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Contoh Penulisan array dan deklarasi array pada C++:
Tipe data adalah tipe jenis data yang digunakan pada variabel array
tersebut. bisa berupa karakter string, angka atau sebuah bilangan.
Jika kita mendeklarasi array global (diluar dari function), nilai awalnya adalah
nol. Maka jika kita mendeklarasikan array global berikut:
int A [5];
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:
#include <iostream>
using namespace std;
int main() {
int nilai[5]={2,4,9,15,22};
cout<<nilai[0]<<endl;
cout<<nilai[3]<<endl;
}
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
Array 2 Dimensi
Contoh:
int A[3][4];
38
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Inisialisasi Nilai Array 2 Dimensi
int A[3][4]={{2,3,5,6},{3,4,7,8},{5,6,1,2}};
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() {
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
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.
#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>
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.
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.
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,
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 :
#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>
int main(){
int a,t;
float luas;
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
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";
}
50
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
#include <iostream>
using namespace std;
int main(){
int nilai;
string grade;
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;
return 0;
}
52
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom
Latihan 8 Program Nilai Dengan Case
Kode Program
#include <iostream>
int main()
{
char 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;
}
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;
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";
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)
#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 1; i <= 10; i++) {
cout << "Saya Belajar C++ Hari Ini " << endl;
}
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int i;
for (i = 100; i > 0; i--) {
cout << i << endl;
}
return 0;
}
#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;
}
#include <iostream>
using namespace std;
int main() {
char 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);
}
#include<iostream>
using namespace std;
int main(){
string kode;
int jumlah, total, diskon, bayar;
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";
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;
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;
}
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";
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";
}
}
#include <iostream>
using namespace std;
int main()
{
int n;
string nama[10],status[10];
int nilai[10];
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;
#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
68
Bahan Ajar Algoritma dan Pemrograman Oleh
Zulfikar, S.Pd, M.Kom