Modul Praktikum
Algoritma Struktur Data
KATA PENGANTAR
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 1 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
PENGESAHAN
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 2 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Daftar Isi
KATA PENGANTAR ............................................................................................ 1
PENGESAHAN ...................................................................................................... 2
Minggu 1. Logika Proposision 1 (Proposition Logic) ......................................... 6
1.1. Tujuan Intruksi Khusus ........................................................................ 6
1.2. Dasar Teori ............................................................................................. 6
1.3 Latihan .................................................................................................. 14
1.4. Tugas......................................................................................................... 15
Minggu 2. Logika Proposision 2 (Proposition Logic) ....................................... 16
2.1. Tujuan Intruksi Khusus ......................................................................... 16
2.2. Dasar Teori .............................................................................................. 16
2.3. Latihan ..................................................................................................... 18
2.4. Tugas...................................................................................................... 18
Minggu 3. Dasar Pemrograman dengan Bahasa C++ ..................................... 19
3.1. Tujuan Intruksi Khusus ...................................................................... 19
3.2. Dasar Teori ........................................................................................... 19
3.3. Latihan .................................................................................................. 23
3.4. Tugas...................................................................................................... 25
Minggu 4. Tipedata, Variabel dan Kostanta dalam Bahasa C++ ................... 27
4.1. Tujuan Intruksi Khusus ...................................................................... 27
4.2. Dasar Teori ........................................................................................... 27
4.3. Latihan .................................................................................................. 29
4.4. Tugas...................................................................................................... 30
Minggu 5. Operator dan Struktur Percabangan dalam Bahasa C++ ............ 31
5.1. Tujuan Instruksi Khusus ..................................................................... 31
5.2. Dasar Teori ........................................................................................... 31
5.3. Latihan .................................................................................................. 35
5.4. Tugas...................................................................................................... 40
Minggu 6. Struktur Perulangan dalam Bahasa C++ ....................................... 43
6.1. Tujuan Instruksi Khusus ..................................................................... 43
6.2. Dasar Teori ........................................................................................... 43
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 3 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 4 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
12.4. Tugas........................................................................................................ 88
Minggu 13. Stack (Tumpukan Data) dan Queue (Antrian Data) ................... 90
13.1. Tujuan Instruksi Khusus ....................................................................... 90
13.2. Dasar Teori ............................................................................................. 90
13.3. Latihan .................................................................................................... 90
13.4. Tugas........................................................................................................ 93
Minggu 14. Pointer dan Responsi 2 ................................................................... 94
14.1. Tujuan Instruksi Khusus ....................................................................... 94
14.2. Dasar Teori ............................................................................................. 94
14.3. Latihan .................................................................................................... 94
14.4. Tugas........................................................................................................ 97
14.5. Contoh Program Lainnya ..................................................................... 97
DAFTAR PUSTAKA ........................................................................................ 111
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 5 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 6 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 7 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 8 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
1. Konjungsi ( )
Konjungsi adalah pernyataan majemuk dengan kata hubung “dan”.
Sehingga, notasi “p ^ q” dibaca “p dan q”. Tabel kebenaran untuk
konjungsi adalah sebagai berikut:
Tabel 1.2. Tabel Kebenaran Konjungsi
p q pq
T T T
T F F
F T F
F F F
p = pernyataan 1
q = pernyataan 2
p q = pernyataan 1 dan pernyataan 2
Dari tabel di atas, kita dapat melihat bahwa konjungsi hanya akan
benar jika kedua pernyataan (p dan q) benar.
Contoh:
p: 3 adalah bilangan prima (pernyataan bernilai benar)
q: 3 adalah bilangan ganjil (pernyataan bernilai benar)
p q: 3 adalah bilangan prima dan ganjil (pernyataan bernilai benar)
2. Disjungsi ( )
Disjungsi adalah pernyataan majemuk dengan kata hubung “atau”.
Sehingga notasi “p q” dibaca “p atau q”. Tabel nilai kebenaran
disjungsi:
Tabel 1.3. Tabel Kebenaran Disjungsi
p q pq
T T T
T F T
F T T
F F F
p = pernyataan 1
q = pernyataan 2
p q = pernyataan 1 atau pernyataan 2
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 9 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Dari tabel di atas, kita dapat melihat bahwa disjungsi hanya akan
benar jika salah satu dari kedua pernyataan (p atau q) benar, atau
disjungsi hanya salah jika kedua pernyataan (p dan q) salah.
Contoh:
p: Paus adalah mamalia (pernyataan bernilai benar)
q: Paus adalah herbivora (pernyataan bernilai salah)
p q: Paus adalah mamalia atau herbivora (pernyataan bernilai benar)
3. Disjungsi Exclusive (XOR)
Apabila p dan q merupakan proposisi, maka p q juga merupakan
proposisi yang dinamakan sebagai disjungsi eksklusif/ exclusive or (xor
) dari p dan q. p q dibaca p xor q, p q bernilai benar (T) tepat ketika
p dan q memiliki nilai kebenaran yang berbeda. Berikut adalah tabel
kebenaran XOR.
Tabel 1.4. Tabel Kebenaran XOR
P q pq
T T F
T F T
F T T
F F F
4. Implikasi (→)
Implikasi adalah pernyataan majemuk dengan kata hubung “jika…
maka…” Sehingga notasi dari “p → q” dibaca “Jika p, maka q”.
Adapun tabel nilai kebenaran dari implikasi seperti berikut :
Tabel 1.5. Tabel Kebenaran Implikasi
p q p→q
T T T
T F F
F T T
F F T
p = pernyataan 1
q = pernyataan 2
p → q = jika pernyataan 1 maka pernyataan 2
Dari tabel terlihat bahwa implikasi hanya bernilai salah jika
anteseden (p) benar, dan konsekuen (q) salah.
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 10 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Contoh:
p: Andi belajar dengan aplikasi ruangguru. (pernyataan bernilai benar)
q: Andi dapat belajar di mana saja. (pernyataan bernilai benar)
p → q: Jika Andi belajar dengan aplikasi ruangguru, maka Andi dapat
belajar di mana saja (pernyataan bernilai benar).
5. Biimplikasi (↔)
Biimplikasi adalah pernyataan majemuk dengan kata hubung “… jika
dan hanya jika”. Sehingga, notasi dari “p ↔ q” akan dibaca “p jika dan
hanya jika q”. Tabel nilai kebenaran biimplikasi sebagai berikut:
Tabel 1.5. Tabel Kebenaran Biimplikasi
p q p↔q
T T T
T F F
F T F
F F T
p = pernyataan 1
q = pernyataan 2
p ↔ q = pernyataan 1 jika dan hanya jika pernyataan 2
Dari tabel kebenaran tersebut, dapat kita amati bahwa biimplikasi akan
bernilai benar jika sebab dan akibatnya (pernyataan p dan q)
bernilai sama. Baik itu sama-sama benar, atau sama-sama salah.
Contoh:
p: 30 x 2 = 60 (pernyataan bernilai benar)
q: 60 adalah bilangan ganjil (pernyataan bernilai salah)
p ↔ q: 30 x 2 = 60 jika dan hanya jika 60 adalah bilangan ganjil
(pernyataan bernilai salah).
6. Kontrapositif, Konvers, dan Invers
Diberikan suatu implikasi p → q, maka :
a) kontrapositif (atau kontraposisi) dari p → q adalah q → p
b) konvers dari p → q adalah q → p
c) invers dari p → q adalah p → q
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 11 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 12 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
q, q1, q2,…
r, r1, r2,…
c) Operator logika proposisi : , , , , →, ↔
Berdasarkan defnisi formula logika proposisi, kita dapat mengetahui
bahwa
1. p ^ q = adalah formula logika proposisi
2. pq = bukan formula logika proposisi
3. ( p → r) = adalah formula logika proposisi, formula ini dapat
ditulis ( ( p → ( r)))
4. p ^ q → r s = bukan formula logika proposisi
5. p q → r s = bukan formula logika proposisi
6. p p q → r s = adalah formula logika proposisi, formula ini dapat
ditulis (p (p q)) → (r s)
7. ( ( ( p → q) → r) → s) = adalah formula logika proposisi
8. ((p → q) (r s)) = bukan formula logika proposisi
Pohon urai
Pohon urai (parse tree) dapat digunakan untuk menggambarkan
struktur suatu formula logika proposisi. Sebagai contoh, pohon urai untuk
formula ( p q) → (p (q r)) adalah sebagai berikut:
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 13 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
1.3 Latihan
1. Tuliskan (dalam bahasa Indonesia) negasi dari proposisi-proposisi berikut:
a) Saya seorang mahasiswa
b) Bulan ini bukan bulan Agustus
c) Susi tidak pernah dating tidak tepat waktu
d) 2 10 < 10 2
e) 3 4 ≥ 4 3
2. Tentukan negasi dari proposisi-proposisi berikut dalam bahasa Indonesia.
a) Bella lebih kaya daripada Susi
b) Susi lebih tua daripada Bella
c) Bella lebih cerdas daripada Susi
3. Diberikan proposisi sebagai berikut:
p = Matahari terbit dari timur
r = Kucing adalah reptile
q = 2 x 3 ≤ 32
s=24<42
Tuliskan dalam Bahasa Indonesia dan tentukan nilai kebenaran dari
proposisi majemuk berikut ini:
a) p q
b) r s
c) p q
d) r s
4. Tentukan, apakah proposisi–proposisi berikut ekuivalen:
a) ((not p or q) and (p or not r)) and (p or not q) dengan not (p or r)
b) (r or p) and ((not r or (not r or (p and q)) and (r or q)) dengan p and
q
c) (p or q) and (not p and (not p and q)) dengan not p and q
5. Berikan tanda kurung untuk memperjelas presedens operator-operator
logika pada proposisi-proposisi majemuk berikut!
a) 1 p q r
b) 2 p q
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 14 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
c) p q → r
d) p → q r
e) p q → r s
1.4. Tugas
1. Tentukan semua subformula dari formula (p → q) (q → p)
2. Tentukan semua subformula dari formula ( p q) → (p (q r)
3. Gambarkan pohon urai (parse tree) untuk formula-formula berikut:
a) (p (q → p)) r
b) ( p q) → (p (q r))
c) ((q → p) (p → r q))
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 15 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 16 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 17 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
2.3. Latihan
Cobalah kerjakan beberapa soal latihan di bawah ini!
1. Periksa apakah formula A yang berupa (p q) ( p q) bersifat
absah, terpenuhi atau kontradiksi.
2. Periksa apakah formula B yang berupa (p q) r bersifat terpenuhi.
Apakah B bersifat absah? Apakah B bersifat kontradiksi? Apakah B
merupakan contingency?
2.4. Tugas
1. Diberikan formula A = (p q r s) → ( p q r s). Untuk
memeriksa apakah A bersifat absah (valid), apakah kita harus
menggunakan tabel kebenaran?
2. Tunjukkan bahwa (p → q) ↔ ( p q) adalah formula yang absah tanpa
memakai tabel kebenaran.
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 18 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 19 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 20 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 21 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Berikut adalah contoh program untuk deklarasi variabel dan cara mengaksesnya
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 22 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
3.3. Latihan
Latihan 3.1.cpp
Penerapan perintah cin>>variabel
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 23 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 3.3.cpp
Penerapan gets (nama_variabel)
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 24 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
2. Latihan 3.5.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 25 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
3. Latihan 3.6.cpp
4. Latihan 3.7.cpp
a) Buatlah listing program untuk memasukkan data berupa angka
kemudian berikan perintah berupa perkalian, penjumlahan,
pembagian dan pengurangan.
b) Buatlah listing program untuk memasukkan dan menampilkan data
mahasiswa (nama, nim, alamat, jurusan/prodi, kelas, jumlah sks
yang diambil.
c) Buat dan simpan di dalam folder dengan nama nim mahasiswa
masing-masing, kirimkan ke folder yang ditentukan asisten
praktikum.
d) Berikanlah kesimpulan dari beberapa latihan program di atas!
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 26 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 27 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 28 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
4.3. Latihan
Cobalah beberapa program latihan di bawah ini, dan analisalah hasilnya !
Latihan 4.1.cpp
Latihan 4.2.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 29 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 4.3.cpp
4.4. Tugas
Berdasarkan beberapa latihan program di atas, maka buatlah program untuk
kasus berikut ini:
a) Menentukan luas bangun segitiga dan luas persegipanjang.
b) Aplikasi kalkulator sederhana, terdiri dari penjumlahan, pengurangan,
perkalian dan pembagian.
c) Pada program latihan 4.4.cpp terdapat penerapan typecasting, jelaskan
bagaimana typecasting tersebut dan jelaskan typecasting apa saja dalam
Bahasa C++!
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 30 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 31 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Increment
Increment adalah suatu penambahan nilai yang terjadi pada sebuah
variabel. Adapun operator yang digunakan untuk melakukan increment adalah
operator ++. Operator ini akan menambahkan nilai dari suatu variabel dengan
nilai 1. Terdapat dua jenis increment dalam bahasa C++ yaitu pre-increment
dan post-increment.
Pre-increment adalah melakukan penambahan nilai sebelum suatu variable itu
diproses, sedangkan Post-increment adalah melakukan proses terlebih dahulu
sebelum dilakukan penambahan nilai.
Decrement
Merupakan kebalikan dari proses increment, yaitu menurunkan
(mengurangi) nilai dari suatu variabel, dan ada dua jenis yaitu pre-decrement,
dan post-decrement.
Operator Binary (Aritmatika, Logika, Relasional)
Tabel 5.2. Operator Aritmatika
Operator Jenis Operator Contoh
+ Penjumlahan 4+5 = 9
- Pengurangan 6-2 = 4
* Perkalian 4*2 = 8
/ Pembagian 9/3 = 3
% Sisa bagi 10%3 = 1
Tabel 5.3. Operator Logika
Operator Jenis Operator Contoh
&& And (dan) 1 && 1 = 1
|| Or (atau) 1 || 1 = 1
! Negasi (lawan) !0 = 1
Tabel 5.4. Operator Relasional
Operator Jenis Operator
< Lebih kecil
<= Lebih kecil atau sama
dengan
> Lebih besar
>= Lebih besar atau sama
dengan
= Sama dengan
!= Tidak sama dengan
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 32 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Operator Ternary
Operator Ternary digunakan dalam operasi yang melibatkan 3 buah
operand, dan operator yang digunakan adalah “ ?: ”
Bentuk umum:
Ekspresi1 ? Ekspresi2 : Ekspresi3 ;
Contoh :
X = (X<0) ? –X : X
Operator Gabungan
Tabel 5.5. Operator Gabungan
Operator Contoh Ekuivalen
+= bonus + = 5000 bonus = bonus +5000
-= bonus - = 5000 bonus = bonus - 5000
*= bonus * = 5000 bonus = bonus * 5000
/= bonus /= 5000 bonus = bonus / 5000
%= bonus % = 5000 bonus = bonus % 5000
Type casting
Pengertian dari type casting adalah suatu cara yang digunakan untuk
menentukan atau merubah (konversi) nilai dari suatu tipe data numerik ke
dalam tipedata numerik lainnya. Terdapat 4 macam type casting dalam
Bahasa C++, diantaranya adalah dynamic_cast, const_cast, statis_cast dan
reinterpret_cast.
Struktur Kontrol Percabangan
1. Struktur if
Memutuskan untuk mengeksekusi statement atau blok statement
jika dan hanya jika ekspresi bernilai true.
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 33 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
3. Struktur switch
Memperbolehkan percabangan pada multiple outcomes. Berikut
adalah diagram alirnya untuk struktur switch.
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 34 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
5.3. Latihan
Cobalah beberapa program latihan di bawah ini, dan analisalah hasilnya !
Latihan 5.1.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 35 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 5.3.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 36 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 5.4.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 37 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 5.5.cpp
Latihan 5.6.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 38 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 5.7.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 39 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 5.8.cpp
5.4. Tugas
Berdasarkan contoh program di atas, buatlah program dengan kasus seperti
berikut :
1. Menentukan gaji karyawan, dengan ketentuan sbb:
a) Gaji Pokok
kode gol=1 --> gaji pokok=Rp. 1.500.000
kode gol=2 --> gaji pokok=Rp. 2.000.000
kode gol=3 --> gaji pokok=Rp. 2.500.000
kode gol=4 --> gaji pokok=Rp. 3.000.000
b) Tunjangan = 10% x gaji pokok
c) Gaji Bersih = gaji pokok + tunjangan
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 40 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 41 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 42 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 43 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
2. Struktur while
Struktur while digunakan untuk melakukan proses perulangan pernyataan
atau blok pernyataan terus-menerus selama kondisi ungkapan logika pada
while masih bernilai logika benar.
Bentuk umum struktur while :
while (kondisi)
{
Statement/pernyataan yang akan diulang ;
}
3. Struktur do while
Struktur do..while digunakan untuk mengulang pernyataan atau blok
pernyataan sampai kondisi yang diseleksi pada while tidak terpenuhi.
Bentuk umum struktur do while :
do
{
Statement yang akan diulang;
}
while(kondisi);
6.3. Latihan
Cobalah beberapa program latihan di bawah ini, dan analisalah hasilnya !
Latihan 6.1.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 44 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 6.2.cpp
Latihan 6.3.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 45 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 6.4.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 46 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 6.5.cpp
Latihan 6.6.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 47 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 6.7.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 48 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 6.8.cpp
6.4. Tugas
Berdasarkan beberapa latihan di atas, buatlah program untuk kasus di bawah
ini!
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 49 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 50 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 51 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 52 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 53 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 8.2.cpp
Program menggunakan prototype fungsi
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 54 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 8.3.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 55 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 8.4.cpp
Latihan 8.5.cpp
Tipe non void
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 56 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 8.6.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 57 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
8.4. Tugas
Berdasarkan beberapa program di atas, buatlah fungsi untuk kasus berikut ini!
1. Menentukan luas segitiga secara void dan nonvoid, ditambah adanya
prototype dalam program.
2. Buatlah program konversi nilai dengan fungsi sehingga tampilannya
seperti berikut:
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 58 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 59 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
9.3. Latihan
Cobalah bebrapa program di bawah ini!
Latihan 9.1.cpp
Latihan 9.2.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 60 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 9.3.cpp
Latihan 9.4.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 61 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 9.5.cpp
Latihan 9.6.cpp
Array 2 Dimensi untuk input
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 62 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 9.7.cpp
Operasi Matrix
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 63 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 64 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 65 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 9.8.cpp
Diagonal Matrix
Latihan 9.9.cpp
Perkalian Matrix dengan Konstanta
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 66 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 9.10.cpp
Perkalian antar Matrix
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 67 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 68 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
9.4. Tugas
Berdasarkan beberapa program di atas, buatlah program seperti berikut ini!
1. Menentukan nilai jumlah dan rata-rata dari data di dalam array.
Output seperti di bawah ini:
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 69 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 70 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 71 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 72 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 73 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 10.4.cpp
Metode Selection Sort Ascending
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 74 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 10.5.cpp
Metode Selection Sort Descending
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 75 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 10.6.cpp
Metode Insertion Sort
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 76 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
10.4. Tugas
Kerjakan soal di bawah ini!
1. Buat program untuk mengurutkan data dari n nilai serta tampilkan data
yang belum terurut dan yang sudah diurutkan
2. Buat program untuk mengurutkan huruf dengan inputan dinamis.
3. Buatlah program untuk mengurutkan nama teman sekelas anda.
Langkah :
a) Inputkan data secara dinamis, minimal 5 data
b) Buatlah pilihan pengurutan secara ascending dan decending
c) Tampilkan hasil sebelum pengurutan dan sesudah pengurutan
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 77 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 78 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 11.2.cpp
Metode Sentinel Search
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 79 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 11.3.cpp
Metode Sequential Search
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 80 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
11.4. Tugas
Buatlah sebuah program dengan pencarian data nama dalam sebuah kelas.
Langkah tugas :
1. Contoh program sebelumnya
2. Lakukan input array secara dinamis
3. Pencarian dilakukan dengan menggunakan nama siswa
4. Jika pencarian tidak ditemukan maka berilah keterangan
ditemukan tidaknya.
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 81 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 82 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 12.2.cpp
Struct yang berisi struct lain.
Latihan 12.3.cpp
Menghitung nilai mahasiswa
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 83 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 84 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 12.4.cpp
Struct of array
Latihan 12.5.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 85 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 86 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 12.6.cpp
IPK mahasiswa dengan menggunakan Struct
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 87 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
12.4. Tugas
Kerjakan beberapa kasus di bawah ini!
1. Buat sebuah program struct untuk menghitung gaji harian pegawai, bila
diketahui ketentuannya sebagai berikut :
Gaji per jam = Rp 5000
Bila jumlah jam kerja hari itu > 7 jam, maka kelebihannya
dihitung lembur yang besarnya 15 x gaji per jam.
Langkah pengerjaan :
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 88 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 89 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 90 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 13.2.cpp
Program Queue
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 91 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 92 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
13.4. Tugas
Berdasarkan beberapa contoh program stack dan queue tersebut di atas,
silahkan dimodifikasi ke dalam animasi sehingga proses tumpukan dan
antriannya bisa terlihat.
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 93 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 94 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 14.2.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 95 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 14.3.cpp
Latihan 14.4.cpp
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 96 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Latihan 14.5.cpp
14.4. Tugas
Buatlah program menggunakan array dengan pointer untuk membaca huruf
digit ke 9 sampai digit terakhir, dengan contoh tampilan sebagai berikut:
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 97 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 98 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 99 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 100 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 101 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
4. Sorting Huruf
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 102 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
5. Searching Huruf
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 103 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 104 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
6. Stack (Tumpukan)
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 105 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 106 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 107 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
7. Queue
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 108 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 109 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 110 dari 111
Universitas AMIKOM Yogyakarta
Fakultas Ilmu Komputer - Program Studi Diploma Tiga Manajemen Informatika
DAFTAR PUSTAKA
Modul Mata Kuliah : Algoritma Struktur Data [DM073] Hal. 111 dari 111