Nim : 2005551125
Kelompok :26
MODUL II
“PENYELEKSIAN KONDISI DAN PERULANGAN”
Tujuan
Tugas Pendahuluan
1. Selection
Selection atau Seleksi adalah sebuah tahap dimana program akan
melakukan pengecekan kondisi. Seleksi bisa digunakan untuk menentukan bagian
program/statement mana yang akan dijalankan jika kondisi tertentu terpenuhi. Di
dalam bahasa C, kita dapat membuat seleksi dengan if else atau switch case.
Selection berfungsi untuk memecahkan persoalan dan mengambil satu keputusan
dari beberapa pilihan sesuai kondisi yang sedang dialami
program. Substatement di dalam badan pernyataan majemuk akan dieksekusi jika
kondisi kebutuhan tersebut terpenuhi. Alur pembacaan program akan mengalir
dari atas ke bawah yang dilakukan oleh CPU. Ketika CPU menemukan
pernyataan penyeleksian, sebelum CPU memilih dan mengekseskusi pilihan yang
ada, program akan memeriksa kondisi dari program saat itu. Jika kondisi sesuai
dengan keadaan program maka pilihan tersebut akan diekseskusi.
1.1 Pernyataan if
Pernyataan (Statement) if Merupakan salah satu pernyataan dari dua
pernyataan penyeleksian, yang memungkinkan kita untuk memanipulasi aliran
jalanya eksekusi program berdasarkan kondisi program pada saat itu. Dapat
membuat banyak pilihan yang terdiri dari pernyataan tunggal atau majemuk.
Kondisi dari pernyataan if berupa bilangan Boolean, jika kondisi sesuai (true)
maka pilihan tersebut akan dijalankan jika (false) maka pilihan tersebut akan
diabaikan.
#include<stdio.h>
Int main()
{
int i = 10;
if(i == 10)
{
printf(“Nilai I adalah 10”);
}
return 0;
}
Kode Program 1.1, Contoh Statement if
Kode program 1.1 merupakan bentuk umum dari kondisi if. Kondisi
digunakan untuk menentukan pengambilan keputusan. Pada contoh program
tersebut menunjukkan pengecekan apakah nilai dari variabel i adalah 10 atau
bukan. Jika nilai i adalah 10, maka perintah yang berada di dalam if akan
dijalankan. Jika tidak, maka kode akan melewati perintah yang ada didalam if
dan program tersebut dianggap sudah selesai.
#include <stdio.h>
int main()
{
int a;
printf("Input nilai ujian: ");
scanf("%d",&a);
printf("\n");
int main()
{
char nilai; //variabel lokal
switch (nilai)
{
case A:
printf("Sangat Bagus\n");
break;
case B:
printf("Bagus\n");
break;
case c;
printf(“Tingkat lagi\n);
break;
default:
printf(“Maaf, format nilai tidak sesuai\n”);
}
Return 0;
}
Kode Program 1.3 Deklarasi Statement Switch
Pada contoh program 1.3 merupakan contoh deklarasi dari statement atau
pernyataan switch dimana kondisinya terdapat pada masing-masing case yang
ada. Ketika program berjalan user diminta untuk menginput salah satu huruf
antara ‘A-C’. Pada program terdapat perintah switch(nilai) yang akan memeriksa
isi dari variabel nilai yang dimasukan. Ketika memasukan nilai ‘A’ maka program
akan menjalankan perintah case ‘A’ dan akan mengeluarkan output “Sangat
Bagus” diikuti dengan break yang digunakan untuk menghentikan eksekusi
program sesuai dengan blok. Pada program juga terdapat case ‘B’ dan ‘C’
dimana case tersebut akan dijalakan sama seperti dengan case ‘A’ jika user
menginput nilai yang sesuai dengan case tersebut.
Gambar 1.3, flowchart statemen switch
2. Repetition
Repetition atau perulangan dalam Bahasa C/C++ sering disebut looping
merupakan proses yang dilakukan secara berulang-ulang dalam batas yang telah
ditentukan. Dengan menggunakan proses perulangan, penulisan kode program
dapat menjadi lebih efisien. Proses looping akan terus dilakukan sampai kondisi
yang ditentukan telah terpenuhi, jika sudah terpenuhi maka program akan berhenti
melakukan looping. Dalam bahasa C/C++, terdapat beberapa jenis statement
dalam looping, yaitu for, do-while, dan while.
#include “stdio.h”
int main(){
int i;
for(i = 1; i<= 10; i++)
{
printf(“%d BAHASA C\n”, i);
}
return 0;
}
Kode Program 2.1 Deklarasi Perulangan for
Pada program 2.1 merupakan contoh deklarasi dari perulangan for
dimana terdapat kondisi untuk melakukan looping dan kapan loop tersebut
berhenti. Dalam statement for, perulangan akan terus dilakukan oleh program jika
kondisinya masih terpenuhi akan terus mencetak output berupa “BAHASA C”.
Looping berhenti ketika variabelnya tidak sesuai dengan kondisinya yaitu i<=
10. Contoh program di atas juga terdapat increment(i++) yang merupakan
update variable. Increment digunakan untuk menambah variabel sebanyak 1
angka.
Gambar 2.1, flowchart statement for
int main()
{
int x;
x = 1; /* awal variabel */
while (x < 10) /* Batas akhir perulangan */
{
printf(“%d Halo Dunia\n”, x);
x ++; /* variabel x ditambah dengan 1 */
}
return 0;
}
Kode Program 2.2, Deklarasi Perulangan while
Pada perulangan while di atas, proses atau perintah mencetak kata-kata
“Halo Dunia” akan terus dilakukan selama variabel x masih kurang atau sama
dengan 10. Setiap kali melakukan perulangan, nilai dari variabel x akan
bertambah 1. Pada program 2.2 pengecekan loop dilakukan dibagian awal, dalam
perulangan for, kondisinya ditulis dalam satu perintah, seperti for(i=1; i<5;
i++), sedangkan dalam perulangan while, ketiga kondisi ini dibuat terpisah.
#include <stdio.h>
main(){
int bilangan;
do{
printf("%d\n", bilangan);
bilangan += 20;
} while (bilangan <=100);
return 0;
}
Kode Program 2.3, Deklarasi Perulangan do-while
3. Metode Perulangan
Pada bahasa pemrogramana C/C++ perulangan dibagi menjadi dua
metode. Pertama ada metode rekursif yang dapat memanggil dirinya sendiri.
Kedua, iterative yang bekerja sesuai dengan instruksi tertentu. Metode-metode
tersebut memiliki fungsi dan digunakan sesuai dengan kebutuhan penggunanya,
berikut merupakan penjelasan dan perbedaan dari kedua metode tersebut.
3.1 Metode Rekursif
Rekursif adalah suatu proses atau prosedur dari fungsi yang memanggil
dirinya sendiri secara berulang-ulang. Karena proses dalam Rekursif ini terjadi
secara berulang-ulang maka harus ada kondisi yang membatasi pengulangan
persebut, jika tidak maka proses tidak akan pernah berhenti sampai memori yang
digunakan untuk menampung proses tersebut tidak dapat menampung lagi
(Penuh).
b. Pseudcode
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan
agar dapat dibaca oleh manusia dan bukan oleh mesin. Berikut adalah pseudocode
dari program zodiak.
Algoritma:Menu Utama Menentukan Zodiak
(Program ini dapat menentukan zodiak berdasarkan tahun, bulan
dan tanggal lahir. Program ini sebagai menu utama pada program
menentukan zodiac dengan menggunakan if-else)
Deskripsi:
BEGIN
1. Write(“1.Mulai”)
2. Write(“2.Keluar”)
3. Read pilihan
4. If pilihan < 1 or > 2 then
5. Print”Input pilihan 1 atau 2”
6. 1. Input()
7. 0. “TERIMA KASIH” and exit
8. End if
9. End
Kode Program 4.1 Pseudocode Main Program Zodiak
Kode program 4.1 merupakan kode program atau pseudocode dari
program zodiak. Program ini untuk menentukan zodiak dengan menginputkan
berdasarkan bulan dan tanggal lahir. Pada bagian ini adalah bagian dari tahapan
pseudocode. Berikut merupakan pseudocode sub program zodiak yang dpaat
dilihat di bawah ini.
Deklarasi:
Tahun:int
Bulan:int
Tanggal:int
Deskripsi:
BEGIN
1. Read Tahun
2. If tahun < 1500
3. Print”Tahun anda tidak sesuai”
4. End if
5. Read Bulan
6. If Bulan < 1 or > 12 then
7. Print”batas input 1-12!”
8. End if
9. Read Tanggal
10. If tanggal < 1 or > 31 then
11. Print”batas input 1-31”
12. Else if Tahun < 1500, bulan == 2 and tanggal > 29 then
13. Print”batas input bulan februari 1-29”
14. Else if Tahun > 1500, bulan == 2 and tanggal > 28 then
15. Print”batas input bulan februari 1-28”
16. Else if bulan == 4 and tanggal 30 then
17. Print”Batas input di bulan April hanya 1-30”
18. End if
19. If tanggal >= 21 and bulan == 3 or tanggal <= 19 or
bulan == 4
20. printf"Zodiak Anda adalah Aries"
21. If tanggal >= 20 and bulan == 4 or tanggal <= 20 or
bulan == 5
22. printf"Zodiak Anda adalah Taurus"
23. If tanggal >= 21 and bulan == 5 or tanggal <= 20 or
bulan == 6
24. printf"Zodiak Anda adalah Gemini"
25. If tanggal >= 21 and bulan == 6 or tanggal <= 22 or
bulan == 7
26. printf"Zodiak Anda adalah Cancer"
27. If tanggal >= 23 and bulan == 7 or tanggal <= 22 or
bulan == 8
28. printf"Zodiak Anda adalah Leo"
29. If tanggal >= 23 and bulan == 8 or tanggal <= 22 or
bulan == 9
30. printf"Zodiak Anda adalah Virgo"
31. If tanggal >= 23 and bulan == 9 or tanggal <= 22 or
bulan == 10
32. printf"Zodiak Anda adalah Libra"
33. If tanggal >= 23 and bulan == 10 or tanggal <= 21 or
bulan == 11
34. printf"Zodiak Anda adalah Scorpio"
35. If tanggal >= 22 and bulan == 11 or tanggal <= 21 or
bulan == 12
36. printf"Zodiak Anda adalah Sagitarius"
37. If tanggal >= 22 and bulan == 12 or tanggal <= 19 or
bulan == 1
38. printf"Zodiak Anda adalah Capricorn"
39. If tanggal >= 20 and bulan == 1 or tanggal <= 18 or
bulan == 2
40. printf"Zodiak Anda adalah Aquarius"
41. If tanggal >= 19 and bulan == 2 or tanggal <= 20 or
bulan == 3
42. printf"Zodiak Anda adalah Pisces"
43. End if
END
Kode Program 4.2 Pseudocode Sub Program Zodiak
Kode program 4.2 merupakan kode program atau pseudocode dari sub
program zodiak. Program ini untuk menentukan zodiak dengan menginputkan
berdasarkan bulan dan tanggal lahir. Pada bagian ini adalah bagian dari tahapan
pseudocode. Berikut merupakan flowchart sub program zodiak lainnya.
Deklarasi :reset:int
Deskripsi:
BEGIN
1. if reset =1 then
2. input()
3. else
4. exit
5. end if
END
Kode Program 4.3 Pseudocode Sub Program Zodiak Restart
Kode program 4.3 merupakan kode program atau pseudocode dari sub
program zodiak. Program ini untuk menentukan zodiak dengan menginputkan
berdasarkan bulan dan tanggal lahir. Kemudian user akan disuruh memilih ingin
selesai menggunakan program ini atau mau mengulangi. Pada bagian ini adalah
bagian dari tahapan pseudocode.
b. Pseudocode
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan
agar dapat dibaca oleh manusia dan bukan oleh mesin. Berikut adalah pseudocode
dari program nilai akhir.
Algoritma : Fungsi main – Program Menentukan Nilai Akhir
(Program ini adalah sebagai program utama dalam program
menenutkan nilai akhir. Pada fungsi main() diawali dengan
memilih dua pilihan yang ada, yaitu menghitung nilai akhir dan
keluar dari program.)
Deklarasi :
pilih : integer
Deskripsi :
BEGIN
1. READ(pilih)
2. SWITCH (pilih)
3. 1 :
4. hitungNilaiAkhir
5. 2 :
6. exit
7. END SWITCH CASE
END
Kode Program 4.4 Pseudocode Program Nilai Akhir
Kode program 4.4 merupakan kode program atau pseudocode dari
program nilai akhir. Program ini untuk menentukan nilai akhir dengan
menginputkan nilai matakuliah yang didapatkan oleh mahasiswa. Pada bagian ini
adalah bagian dari tahapan pseudocode. Berikut merupakan pseudocode sub
program nilai akhir yang dapat dilihat di bawah ini.
Deklarasi :
absen : integer
tugas1 : float
tugas2 : float
tugas3 : float
kuis : float
uts : float
uas : float
nilai_angka : float
nilai_huruf : float
Deskripsi :
BEGIN
1. READ absen
2. READ tugas1
3. READ tugas2
4. READ tugas3
5. READ kuis
6. READ uts
7. READ uas
8. nilai_angka = (5 * (absen / 15)) + (0.2 * ((tugas1 +
tugas2 + tugas3) / 3)) + (0.15 * kuis) + (0.3 * uts) + (0.3
* uas)
9. nilai_huruf=nilai_angka
10. IF(nilai_huruf>=80)
11. WRITE (A)
12. ELSE IF(nilai_huruf >=75)
13. WRITE (B+)
14. ELSE IF(nilai_huruf>=65)
15. WRITE (B)
16. ELSE IF(nilai_huruf >=60)
17. WRITE (C+)
18. ELSE IF(nilai_huruf>=55)
19. WRITE (C)
20. ELSE IF(nilai_huruf>=50)
21. WRITE (D+)
22. ELSE IF(nilai_huruf>=45)
WRITE (D)
23. END IF
24. WRITE(nilai_angka)
25. WRITE(nilai_huruf)
END
Kode Program 4.5 Pseudocode sub Program Menghitung Nilai Akhir
Kode program 4.5 merupakan kode program atau pseudocode dari sub
program nilai akhir. Program ini untuk menentukan nilai akhir dengan
menginputkan matakuliah yang didapatkan oleh mahasiswa. Pada bagian ini
adalah bagian dari tahapan pseudocode.
a. Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu
proses (instruksi) dengan proses lainnya dalam suatu program. Berikut adalah
flowchart dari program konversi bilangan biner dan desimal.
Gambar 4.9 Flowchart Main Program Konversi Bilangan Biner dan Desimal
Gambar 4.9 adalah flowchart dari main program konversi bilangan biner
dan desimal. Program pengkonversian bilangan biner dan desimal ini
menggunakan metode kondisi dan perulangan. Flowchart sub program konversi
bilangan biner dan desimal dapat dilihat di bawah ini.
Gambar 4.10 Flowchart sub Program Konversi Bilangan Biner dan Desimal
Gambar 4.10 adalah flowchart dari sub program konversi bilangan
desimal dan biner Pada sub program ini, user akan diminta untuk menginput nilai
dari pilihan mereka. Flowchart sub program konversi bilangan biner dan desimal
selanjutnya dapat dilihat di bawah ini.
Gambar 4.11 Flowchart sub Program Biner ke Desimal
Gambar 4.11 adalah flowchart dari sub program konversi bilangan biner
ke desimal. Pada sub program ini, user akan diminta untuk menginput nilai berupa
biner dari pilihan mereka yang hasil yang diberikan dari pengkonversiannya
berupa bilangan dengan nilai desimal. Flowchart sub program konversi bilangan
biner dan desimal selanjutnya dapat dilihat di bawah ini.
Gambar 4.12 Flowchart sub Program Desimal ke Biner
Gambar 4.12 adalah flowchart dari sub program konversi bilangan
desimal ke biner. Pada sub program ini, user akan diminta untuk menginput nilai
berupa desimal dari pilihan mereka yang hasil yang diberikan dari
pengkonversiannya berupa bilangan biner.
b. Pseudocode
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan
agar dapat dibaca oleh manusia dan bukan oleh mesin. Berikut adalah pseudocode
dari program konversi bilangan biner dan desimal.
Deklarasi :
-
Deskripsi :
begin
1. Begin
2. menu()
End
Kode Program 4.6 Pseudocode Program konversi bilangan biner dan desimal
Kode program 4.6 merupakan kode program atau pseudocode dari
program konversi bilangan biner dan desimal. Program ini bekerja dengan user
menentukan pengkonversian yang ingin dipilih, lalu kemudian menginput nilai
bilangan yang ditentukan. Pada bagian ini adalah bagian dari tahapan pseudocode.
Berikut merupakan pseudocode sub program konversi bilangan biner dan desimal
yang dapat dilihat di bawah ini.
Deklarasi :
Pilihan : integer
Deskripsi :
Begin
1. read pilihan
2. switch(pilihan)
3. case 1:
4. bintodes()
5. break
6. case 2:
7. destobin()
8. break
9. default:
10. Print(“input tidak valid!”)
11. Break
12. End switch
END
Kode Program 4.7 Pseudocode sub Biner dan Desimal
Kode program 4.7 merupakan kode program atau pseudocode dari sub
program konversi bilangan biner dan desimal. Program ini bekerja dengan user
menentukan pengkonversian yang ingin dipilih, lalu kemudian menginput nilai
bilangan yang ditentukan. Pada bagian ini adalah bagian dari tahapan pseudocode.
Deklarasi :
biner : integer
pilihan : integer
desimal : integer
hasil : integer
b : integer
a : integer
Deskripsi :
Begin
1. read biner
2. while (biner != 0)do
3. a=biner mod 10
4. desimal=desimal + a*(2^b)
5. binary=binary/10
6. ++b
7. END While
8. Hasil= desimal
9. Write hasil
10. Read pilihan
11. switch (pilihan)
12. case 1:
13. bintodes()
14. break
15. case 2:
16. menu()
17. break
18. default:
19. Print(“input tidak valid!”)
20. Break
21. End switch
END
Kode Program 4.8 Pseudocode sub Biner ke Desimal
Kode program 4.8 merupakan kode program atau pseudocode dari sub
program konversi bilangan biner dan desimal bagian biner ke desimal. Program
ini bekerja dengan user menentukan pengkonversian yang ingin dipilih, lalu
kemudian menginput nilai bilangan yang ditentukan. Pada bagian ini adalah
bagian dari tahapan pseudocode.
Deklarasi :
desimal : integer
b: integer
hasil : integer
sisa : integer
a: integer
Pilihan : integer
Deskripsi :
begin
1. b=0
2. a=1
3. read desimal
4. While(desimal >= 1)do
5. desimal=desimal/2
6. sisa=desimal mod 2
7. b = b+(a*sisa)
8. a = a*10
9. END While
10. hasil=b
11. write hasil
12. Switch(pilihan)
13. case 1:
14. destobin()
15. break
16. case 2 :
17. menu()
18. break
19. default :
20. Print(“input tidak valid!”)
21. Break
22. End switch
End
Kode Program 4.9 Pseudocode sub Desimal ke Biner
Kode program 4.9 merupakan kode program atau pseudocode dari sub
program konversi bilangan biner dan desimal bagian desimal ke biner. Program
ini bekerja dengan user menentukan pengkonversian yang ingin dipilih, lalu
kemudian menginput nilai bilangan yang ditentukan. Pada bagian ini adalah
bagian dari tahapan pseudocode.
b. Pseudocode
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan
agar dapat dibaca oleh manusia dan bukan oleh mesin. Berikut adalah pseudocode
dari program fibonacci.
Deklarasi :
pilihan : integer
Deskripsi :
Begin
1. read pilihan
2. switch(pilihan)
3. case 1:
4. rekursif()
5. break
6. case 2
7. iteratif()
8. break
9. case 3:
10. exit(0)
11. break
12. default:
13. Print(“Inputan tidak valid!”)
14. break
15. end switch
End
Kode Program 4.10 Pseudocode Main Program Fibonacc
Kode program 4.10 merupakan kode program atau pseudocode dari
program fibonacci. Program ini bekerja dengan user menentukan ketentuan yang
ingin dipilih, lalu kemudian menginput nilai bilangan yang ditentukan. Pada
bagian ini adalah bagian dari tahapan pseudocode. Berikut merupakan
pseudocode sub program fibonacci yang dapat dilihat di bawah ini.
Deklarasi :
angka : integer
i : integer
deret_fibonacci_rekrusif() : integer
Deskripsi :
Begin
1. read angka
2. for i = 0, i < angka, i++ do
3. deret_fibonacci_rekrusif(angka)
4. if angka == 0 OR angka == 1
5. return angka
6. else if
7. return deret_fibonacci_rekursif (angka-1) +
deret_fibonacci_rekrusif(angka-2)
8. end if
9. write(deret_fibonacci_rekrusif(i))
10. End for
11. switch (pilihan)
12. case 1:
13. rekursif()
14. break
15. case 2:
16. menu()
17. break
18. case 3:
19. keluar()
20. break
16. default:
17. Print(“Input tidak valid!”)
18. break
19. End switch
End
Kode Program 4.11 Pseudocode sub Program Fibonacci Rekursif
Kode program 4.11 merupakan kode program atau pseudocode dari sub
program fibonacci. Program ini bekerja dengan user menentukan ketentuan yang
ingin dipilih, lalu kemudian menginput nilai bilangan yang ditentukan dengan
metode rekursif. Pada bagian ini adalah bagian dari tahapan pseudocode.
Begin
1. read angka
2. for i = 0, i < angka, i++ do
3. deret_fibonacci_rekrusif(angka)
4.
5. if angka == 0
6. return 0
7. if angka == 1
8. return 1
9. else
10. for i = 2, i <= angka, i++ do
11. c = a+b
12. a=b
13. b=c
14. return c
15. end for
16. end if
17. switch pilihan
18. case 1 :
19. default:
20. rekursif()
21. break
22. case 2:
23. menu()
24. break
25. case 3:
26. keluar()
27. break
28. default:
20. Print(“Input tidak valid!”)
21. break
29. End Switch
End
Kode Program 4.12 Pseudocode sub Program Fibonacci Iteratif
Kode program 4.12 merupakan kode program atau pseudocode dari sub
program fibonacci. Program ini bekerja dengan user menentukan ketentuan yang
ingin dipilih, lalu kemudian menginput nilai bilangan yang ditentukan dengan
metode iteratif. Pada bagian ini adalah bagian dari tahapan pseudocode.
b. Pseudocode
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan
agar dapat dibaca oleh manusia dan bukan oleh mesin. Berikut adalah pseudocode
dari program hanoi.
Deklarasi :
pilih : integer
Deskripsi :
BEGIN
1. READ(pilih)
2. SWITCH (pilih)
3. 1 :
4. rekursif()
5. 2 :
6. iterative()
7. 0 :
8. exit
9. END SWITCH
END
Kode Program 4.13 Pseudocode Main Menu Program Hanoi
Kode program 4.13 merupakan kode program atau pseudocode dari
program hanoi. Pada bagian ini adalah bagian dari tahapan pseudocode. Berikut
merupakan pseudocode sub program hanoi yang dapat dilihat di bawah ini.
Deklarasi :
cakram: char
Deskripsi :
BEGIN
1. READ(cakram)
2. cakram=n
3. if(n>0)
4. CALL FUNCTION pindahHanoiRekursif(int n-1, x,
z, y)
5. WRITE (perpindahan cakram)
CALL FUNCTION pindahHanoiRekursif(nit n-1, y,
x, z)
6. END IF
END
Kode Program 4.14 Pseudocode Sub Program Pindah Hanoi Rekursif
Kode program 4.14 merupakan kode program atau pseudocode dari sub
program pindah hanoi dengan metode rekursif. Pada bagian ini adalah tahapan
pseudocode bagian sub program yang menjelaskan program tersebut lebih
kompleks. Berikut merupakan pseudocode sub program hanoi lainnya yang dapat
dilihat di bawah ini.
Deklarasi :
Deskripsi :
BEGIN
1. READ(x)
2. IF(x==1)
3. if(n>0)
4. WRITE(1)
5. ELSE
WRITE(2*hanoiRekursif(x-1)+1)
6. END IF
END
Kode Program 4.15 Pseudocode Sub Program Hanoi Rekursif
Kode program 4.15 merupakan kode program atau pseudocode dari sub
program hanoi dengan metode rekursif. Pada bagian ini adalah tahapan
pseudocode bagian sub program yang menjelaskan program tersebut lebih
kompleks. Berikut merupakan pseudocode sub program hanoi lainnya yang dapat
dilihat di bawah ini.
Deklarasi :
Cakram : int
Hasil : int
Reset : int
Deskripsi :
BEGIN
1. READ(cakram)
2. CALL FUNCTION pindahHanoiRekursif(cakram, ‘1’, ‘2’,
‘3’)
3. hasil=hanoiRekursif(cakram)
4. WRITE(hasil)
5. READ(reset)
6. IF(reset==1)
7. go to main()
8. ELSE IF(reset==2)
9. go to rekursif()
10. ELSE IF(reset==0)
11. Exit
12. END IF
13. END
Kode Program 4.16 Pseudocode Sub Program Rekursif
Kode program 4.16 merupakan kode program atau pseudocode dari sub
program hanoi dengan metode rekursif. Pada bagian ini adalah tahapan
pseudocode bagian sub program yang menjelaskan program tersebut lebih
kompleks. Berikut merupakan pseudocode sub program hanoi lainnya yang dapat
dilihat di bawah ini.
Deklarasi :
i : int
tower[‘1’, ‘2’, ‘3’] : char
Deskripsi :
BEGIN
1. READ()
2. IF(n%2==0)
3. tower[1]=’3’
Tower[2]=’2’
4. END IF
5. FOR (i=1 and i<(1to n))
6. WRITE(perpindahan cakram)
7. i++
8. END FOR
End
Kode Program 4.17 Pseudocode Sub Program Pindah Hanoi Rekursif
Kode program 4.17 merupakan kode program atau pseudocode dari sub
program pindah hanoi dengan metode rekursif. Pada bagian ini adalah tahapan
pseudocode bagian sub program yang menjelaskan program tersebut lebih
kompleks. Berikut merupakan pseudocode sub program hanoi lainnya yang dapat
dilihat di bawah ini.
Deklarasi :
Cakram : int
Hasil : int
Reset : int
I : int
Temp =1 : int
Deskripsi :
BEGIN
1. READ(cakram)
2. CALL FUNCTION pindahHanoiIteratif(cakram)
3. FOR(i=0 and i<cakram)
4. temp =2*temp
5. If(i==cakram-1)
6. Temp=temp-1
7. END IF
8. END FOR
9. WRITE(langkah-langkah pemindahan cakram)
10. READ(reset)
11. IF(reset==1)
12. go to main()
13. ELSE IF(reset==2)
14. go to iterative()
15. ELSE IF(reset==0)
Exit
16. END IF
End
Kode Program 4.18 Pseudocode Sub Program Hanoi Iteratif
Kode program 4.18 merupakan kode program atau pseudocode dari sub
program hanoi dengan metode iteratif. Pada bagian ini adalah tahapan pseudocode
bagian sub program yang menjelaskan program tersebut lebih kompleks.
Program berhenti
Tabel 4 .3 merupakan hasil trace dari program menara hanoi. Untuk
menghitung langkah minimum pemindahan cakram melalui metode rekursif dapat
dilakukan dengan meng-input angka 1, setelah itu masukkan jumlah cakram yang
diinginkan. Pada contoh di atas, user memasukkan 2 buah cakram, lalu langkah
minimum pemindahan cakram sebanyak 3 langkah.
a. Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu
proses (instruksi) dengan proses lainnya dalam suatu program. Berikut adalah
flowchart dari program angsuran.
b. Pseudocode
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan konvensi struktural dari suatu bahasa pemrograman, dan ditujukan
agar dapat dibaca oleh manusia dan bukan oleh mesin. Berikut adalah pseudocode
dari program angsuran.
Deklarasi:
Pilihan = integer
Deskripsi:
BEGIN
1. Write(“1.Mulai Menghitung”)
2. Write(“2.Keluar”)
3. Read pilihan
4. If pilihan < 1 or > 2 then
5. Print”Input pilihan 1 atau 2”
6. 1. Input()
7. 0. “TERIMA KASIH” and exit
8. End if
END
Kode Program 4.19 Pseudocode Main Menu Program Perhitungan Kubus
Kode program 4.19 merupakan kode program atau pseudocode dari
program angsuran. Program ini untuk perhitungan angsuran. Pada bagian ini
adalah bagian dari tahapan pseudocode. Berikut merupakan pseudocode sub
program angsuran yang dapat dilihat di bawah ini.
Deklarasi :
Persen = character
Bunga = double
Lamapinjaman = double
Pokokpinjaman = double
Angsuranpokok = double
Besarbunga = double
Lamapinjaman = double
Angsurantotal = double
Deskripsi :
BEGIN
1. Read pokok pinjaman
2. Read bunga
3. Read lama pinjaman
4. Print pokok pinjaman
5. Print bunga
6. Print lama pinjaman
7. For i = 1, i < lamaPinjam, i++do
8. Bulan Ke = i
9. Angsuranpokok = p/t
10. Bungapinjaman(i)=((p-((bulan-1)*angsuranpokok))*y)/12
11. AngsuranTotal = Angsuranpokok()+bungapinjaman(bulan)
12. Print Bulan ke, Bunga, AngsuranPokok, TotalAngsuran
13. End for
14. Print TotalBunga, TotalAngsuran
END
Kode Program 4.20 Pseudocode Sub Program Angsuran
Kode program 4.20 merupakan kode program atau pseudocode dari sub
program angsuran. Program ini untuk perhitungan angsuran. Pada bagian ini
adalah tahapan pseudocode bagian sub program yang menjelaskan program
tersebut lebih kompleks. Berikut merupakan pseudocode sub program angsuran
lainnya yang dapat dilihat di bawah ini.
Deklarasi :reset:int
Deskripsi:
BEGIN
1. if reset =1 then
2. input()
3. else
4. exit
5. end if
END
Kode Program 4.21 Pseudocode Sub Program Angsuran Restart
Kode program 4.21 merupakan kode program atau pseudocode dari sub
program angsuran. Program ini untuk perhitungan angsuran. Pada bagian ini
adalah tahapan pseudocode bagian sub program yang menjelaskan program
tersebut lebih kompleks dan berisi restart yang berfungsi untuk user ingin
mengulangi penggunaan program atau tidak.
Bulan ke-1
Bunga=83333.13
Angsuran pokok=5000.00
Total angsuran=13333.00
Bulan ke-2
Bunga=4166.67
Angsuran pokok=5000.00
Total angsuran=9166.00
Total bunga=12499.00
Total angsuran=22499.00
Program berhenti
Tabel 4 .4 merupakan hasil trace dari program angsuran. Untuk
menghitung total biaya angsuran dapat dilakukan dengan meng-input angka 1,
setelah itu masukkan pokok pinjaman, besar bunga, dan lama pinjam. Program
akan menghitung total biaya angsuran dan menampilkan hasilnya ke layar.