Oleh:
Dosen Pembimbing:
Universitas Pancasila
2019
1
KATA PENGANTAR
Puji syukur kehadirat Tuhan yang maha Esa yang telah melimpahkan segala rahmat dan segala
rahim bagi kita semua, hingga akhirnya saya dapat menyelesaikan makalah tentang “Tugas
Besar ” pada mata kuliah Algoritma & Pemrograman sebagai syarat nilai Ujian Akhir Semester
tahun 2018/2019.
Saya sampaikan terima kasih pada Dosen Mata kuliah Algoritma & Pemrograman
sekaligus Dosen Praktikum, Ibu Sri Rezeki Candra Nursari, M.Kom.
Serta kami juga menyampaikan banyak terima kasih kepada semua pihak yang telah
berkontribusi dalam pembuatan makalah ini.
Semoga makalah ini dapat memberikan pengetahuan yang lebih luas kepada pembaca.
Walaupun makalah ini memiliki kelebihan dan kekurangan. Penyusun membutuhkan kritik dan
saran dari pembaca yang membangun.
Terima kasih.
Penyusun
2
DAFTAR ISI
BAB 1 : PENDAHULUAN………………………………………………………………..4
1.1 LATAR BELAKANG.………………………………………………………....4
1.2 TUJUAN………………………………………………………………………..4
1.3 PEMBAHASAN TEORI……………………………………………………….4
2.1.1 SEQUENCE……………………………………………………...4
2.1.2 SELECTION……………………………………………………..5
2.1.3 REPETATION……………………………………………………5
2.1.4 REKURSIF……………………………………………………….5
2.1.5 ARRAY……………………………………………………..........6
2.1.6 FUNCTION……………………………………………………....6
2.1.7 STRING…………………………………………………………..6
2.1.8 SORT…………………………………………………………......7
1.4 TUGAS PRAKTIKUM……………………………………………………….. 8
BAB 3 : PENUTUP……………………………………………………………………….30
3.1 KEMPULAN……………………………………………………………...30
3.2 KRITIK……………………………………………………………………30
3.3 SARAN……………………………………………………………………30
DAFTAR PUSTAKA……………………………………………………………………..31
3
BAB 1
Pendahuluan
1.2 Tujuan
Tujuan disusunnya makalah ini adalah untuk memenuhi tugas besar mata kuliah
Algoritma dan Pemrograman semester genap 2018/2019. Dan memberikan solusi bagi
permasalahan jual beli barang di negeri ini.
1.3.1 Sequence
Algoritma merupakan runtunan (sequence) satu atau lebih instruksi/pernyataan,
setiap pernyataan dikerjakan secara berurutan sesuai dengan urutan penulisannya. Sebuah
instruksi dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan. Urutan
instruksi menentukan keadaan akhir algoritma.
4
1.3.2 Selection
Perintah SWITCH merupakan pernyataan yang dirancang untuk menangani
pengambilan keputusan yang melibatkan sejumlah pilihan alternatif yang diantaranya
untuk menggantikan pernyataan IF bertingkat. Perintah yang digunakan untuk
mengimplementasikan struktur multi alternatif.
1.3.3 Repetation
Repetation digunakan untuk mengeksekusi suatu pernyataan berulang kali.
1.3.4 Rekursif
Rekursif adalah salah satu metode dalam dunia matematika. Pada proses rekursif, akan
terjadi secara berulang-ulang. Perlu adanya stopping role atau penyetopan dari penghentian
proses perulangan.
5
1.3.5 Array
Array/larik adalah sebuah variabel yang menyimpan sekumpulan data yang
memiliki tipe sama. Array adalah kumpulan data bertipe sama dan bernama sama. Setiap
data tersebut menempati lokasi atau alamat memori yang berbeda-beda dan biasa disebut
Elemen Array. Elemen array adalah variabel dalam array.
1.3.6 Function
Fungsi merupakan sekumpulan pernyataan yang dikemas dalam sebuah nama.
Fungsi dapat dipanggil beberapa kali dari tempat yang berbeda dalam program.
1.3.7 String
Adalah suatu tipe data yang digunakan untuk menangani data teks (kumpulan
karakter).
6
1.3.8 Sort
Sort adalah proses pengurutan data yang sebelumnya disusun secara acak
sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu.
7
1.4 Tugas Praktikum
Prak01-12:
//Menghitung Luas Kamar Pseudo-code:
#include <iostream>
using namespace std; Deklarasi
P : int
L : int
int main() LS : int
{
int P,L,LS; Deskripsi
cout<<endl; input (P, L, LS)
cout << " Menghitung Luas Kamar Adi " << endl; LS←P * L
cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; print(LS)
cout << endl;
cout << "Masukkan Panjang Kamar Adi = "; cin >> P; Algoritma:
cout << "Masukkan Lebar Kamar Adi = "; cin >> L;
LS = P * L; 1. Memasukkan isi/nilai variabel P
cout << endl; 2. Memasukkan isi/nilai variabel L
cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; 3. LS←P * L
cout << "Jumlah Luas adalah " << LS << endl ; 4. Menampilkan/mencetak isi/variabel LS
cin.get(); 5. Selesai
}
Prak01-17:
//Menghitung Gaji Pegawai
#include <iostream>
using namespace std;
Pseudo-code:
int main()
Deklarasi
{
jam, jmlgaji : int
int jam,jmlgaji;
cout<<endl;
Deskripsi
cout << "Perhitungan Gaji Panji dengan Jam Kerjanya"
input (jam)
<< endl;
jmlgaji←10000 * jam
cout <<
print(jmlgaji)
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout <<endl;
Algoritma:
cout << "Memasukkan Jumlah Jam yang diinginkan = ";
cin >> jam ;
1. Memasukkan isi/variabel nilai jam
jmlgaji = 10000 * jam;
2. jmlgaji = 10000 * jam
cout << endl;
3. Menampilkan/mencetak isi nilai/varibel jmlgaji
cout <<
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout << "Hasil Perhitungan Gaji Panji adalah " <<
4. Selesai
jmlgaji << endl ;
cin.get();
}
Prak01-77:
//Menghitung Nilai A dan B
#include <iostream> PSEUDO CODE
using namespace std; Deklarasi Variabel
a,b=int
8
Prak02-07:
//if no.7
#include <iostream> Pseudo-code
using namespace std;
Deklaratif variabel
a,b = int
int main()
{ Deskriptif
int a,b; Input(a,b)
cout<<endl; If (a<b)
cout<< "Masukkan Nilai Pertama yang print(COBA LAGI)
Diinginkan = "; cin >> a; endif
cout<< "Masukkan Nilai Kedua yang
Diinginkan = "; cin >> b; Algoritma/Bahasa Alami
cout<<endl; 1. Memasukkan isi/nilai variabel a
if (a<b) 2. Memasukkan isi/nilai variabel b
{ 3. Jika (a<b), maka kerjakan baris 4
cout<< "COBA LAGI"; 4. Mencetak/menampilkan isi/nilai variabel “COBA LAGI”
cout<<endl; 5. Selesai
}
cin.get();
}
Prak3-05:
// Nested If No.05
#include <iostream>
using namespace std;
Pseudo code
int main()
{ Deklarasi variabel
int w,i,s,n,u,a,d,wis; w,i,s,n,u,a,d,wis
cout<<endl;
cout << "Menentukan Kelulusan Deskripsi
Peserta" <<endl; Input(w,i,s,n,u,a,d)
cout << n = 3 * w;
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" <<endl; u = 2 * i;
cout <<endl; a = 1 * s;
cout << "Masukkan Jumlah ttd Dosen = d = n + u + a;
"; cin >> w; If (d>=80)
cout << "Masukkan Jumlah ttd Senior = print(“LULUS”)
"; cin >> i; else (d>60)
cout << "Masukkan Jumlah ttd Karyawan print(”HUKUMAN RINGAN”)
= "; cin >> s; else
n = 3 * w; print(“TUGAS BERAT”)
u = 2 * i; endif
a = 1 * s; endif
d = n + u + a;
cout <<endl;
if (d>=80) Algoritma/Bahasa Alami:
{ 1. Memasukkan/menginput isi/nilai variabel w
cout<< "LULUS"; 2. Memasukkan/menginput isi/nilai variabel i
cout<<endl; 3. Memasukkan/menginput isi/nilai variabel s
} 4. n = 3 * w
else 5. u = 2 * i
{ 6. a = 1 * s
if (d>60) 7. d = n + u + a
{ 8. jika (d>=80), maka kerjakan baris 9, jika tidak
cout<< "HUKUMAN baris 10
RINGAN"; 9. mencetak/menampilkan “LULUS”
cout<<endl; 10. jika (d>60), maka kerjakan baris 11, jika tidak
} baris 12
else 11. Mencetak/menampilkan “HUKUMAN RINGAN”
{ 12. Mencetak/menampilkan “TUGAS BERAT”
cout<< "TUGAS 13. Selesai
BERAT";
cout<<endl;
}
}
cin.get();
}
9
Prak3-42:
// Switch No.42 Pseudo-code:
#include <iostream> Deklarasi variabel
using namespace std; wis, s, i :int
w :char
10
Prak3-46
//Teori Wisnu
#include <iostream> }
using namespace std; break;
case'd':
cout<< " KELUAR PROGRAM
int main() "<<endl;
{ cout<<endl;
int wisn,adhi,lati; default :cout<<" DATA ANDA
char wi; SALAH "<<endl;
float sn,nu,ad,dh,ty,wa4,wa6,wa8,wa9; }
cin.get();
}
cout<<endl;
cout<<"MENU" <<endl;
cout<<"~~~~" <<endl;
cout<<"A. MENGHITUNG LUAS SEGIEMPAT"<< endl;
cout<<"B. MENGHITUNG LUAS SEGITIGA" << endl;
cout<<"C. MENGHITUNG LUAS DAN KELILING LINGKARAN"<< endl; Pseudocode
cout<<"D. KELUAR PROGRAM" Deklarasi variabel
<< endl; wisn,adhi,lati :int
cout<<endl; wi :char
cout<<"PILIH [A/B/C/D] = ";cin>>wi; sn,nu,ad,dh,ty,wa4,wa6,wa8,wa9 :float
cout<<endl;
switch(wi) Deskripsi
{ Input(wi)
case'A': Switch
cout<< "1. LUAS SEGIEMPAT"<< endl; Case’A’ :input(wisn)
cout<< "2. EXIT"<< endl; Switch(wisn=1)
cout<< endl; Input(sn,nu)
cout<< "Pilih [1/2] = ";cin>>wisn; wa4=sn*nu
cout<<endl; print(wa4)
switch(wisn) switch(wisn=2)
{ print(“EXIT”)
case 1: break;
cout<< "Masukkan case”B” :input(adhi)
sn = ";cin>>sn; switch(adhi=1)
cout<< "Masukkan input(ad,dh
nu = ";cin>>nu; wa6=ad*dh
wa4=sn*nu; print(wa6)
cout<< "LUAS switch(adhi=2)
SEGIEMPAT = "<<wa4<<endl;break; print(“EXIT”)
case 2: break;
cout<< " EXIT " case’C’ ;input(lati)
<<wi<<endl;break; switch(lati=1)
default : cout << " DATA input(ty)
ANDA SALAH " << endl; wa8=3.14*ty*ty
} print(wa8)
break; switch(lati=2)
case'B': input(ty)
cout<< "1. MENGHITUNG LUAS wa9=2*3.14*ty
SEGITIGA"<<endl; print(wa9)
cout<< "2. EXIT"<<endl; switch(lati=3)
cout<< endl; print(“EXIT”)
cout<< "Pilih [1/2] = ";cin>>adhi; break;
cout<<endl; case’D’ :print(”KELUAR PROGRAM”)
default : print(“Data Anda Salah”)
switch(adhi) Algoritma
{ 1. Menginput variabel wi
case 1: 2. Jika (wi=A),maka kerjakan baris 3, jika tidak baris 10
cout<<"Masukkan 3. Jika(wisn=1),maka kerjakan baris 4, jika tidak baris 8
ad = ";cin>>ad; 4. Menginput variabel sn
cout<<"Masukkan 5. Menginput variabel nu
dh = ";cin>>dh; 6. Wa4=sn*nu
wa6=0.5*ad*dh; 7. Mencetak wa4
cout<< "LUAS 8. Jika (wisn=2), maka kerjakan baris 9
SEGITIGA = "<<wa6<<endl;break; 9. Mencetak “EXIT”
case 2: 10. Jika (wi=B), maka kerjakan baris 11, jika tidak baris 18
cout<< "EXIT" 11. Jika (adhi=1), maka kerjakan baris 12, jika tidak baris 16
<<wi<<endl;break; 12. Menginput variabel ad
default :cout << " DATA 13. Menginput variabel dh
ANDA SALAH " << endl; 14. wa6=0.5*ad*dh
} 15. Mencetak variabel wa6
break; 16. Jika (adhi=2), maka kerjakan baris 17
case'c': 17. Mencetak “EXIT”
cout<< "1. MENGHITUNG LUAS 18. Jika (wi=C), maka kerjakan baris 19, jika tidak baris 29
LINGKARAN"<<endl; 19. Mencetak “EXIT”
cout<< "2. MENGHITUNG KELILING 20. Jika (lati=1), maka kerjakan baris 21, jika tidak baris 24
LINGKARAN"<<endl; 21. Menginput variabel ty
cout<< "3. EXIT"<<endl; 22. wa8= 3.14 * ty * ty
cout<< endl; 23. Mencetak variabel wa8
cout<< "Pilih [1/2/3] = ";cin>>lati; 24. Jika (lati=2), maka kerjakan baris 25, jika tidak baris 26
cout<<endl; 25. Menginput variabel ty
26. wa9= 2 * 3.14 * ty
27. Mencetak variabel wa9
switch(lati) 28. Jika (lati=3), maka kerjakan baris 28,
{ 29. Mencetak “EXIT”
case 1: 30. Jika (wi=D), maka kerjakan baris 30
cout<<"Masukkan 31. Mencetak “KELUAR PROGRAM”
ty = "; cin>>ty; 32. Selesai
ty;
Prak4-01: wa8= 3.14 * ty *
cout<<"LUAS
LINGKARAN = "<<wa8<<endl;break;
case 2:
cout<<"Masukkan 11
ty = ";cin>>ty;
wa9= 2 * 3.14 *
ty;
cout<<"KELILING
LINGKARAN = "<<wa9<<endl;break;
case 3:
//while no.01 Algoritma
#include <iostream> 1.const w=1
using namespace std; 2.selama(w<=25)maka kerjakan baris 3-5 jika tidak baris 6
3.Mencetak “Universitas Pancasila Fakultas Teknik Jurusan Teknik
int main() Informatika”
{ 4. Menampilkan nilai variable w
int w; 5.w++
w=1; 6.selesai
cout<<endl;
cout<<"Menampilkan Tulisan Sebanyak 25 kali"<<endl; Pseudo-Code
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; Deklarasi variable
cout<<endl; w=int
while (w<=25) Deskripsi
{ w=1
cout<<"Universitas Pancasila Fakultas Teknik While(w<=25)
Jurusan Teknik Informatika"<<endl; Print(“Universitas Pancasila Fakultas Teknik Jurusan Teknik
cout<<endl; Informatika”,akp)
w++; w++
} endwhile
cin.get();
}
Prak4-18:
Prak5-02:
//soal no.02 for
#include <iostream> Pseudo Code:
using namespace std; Deklarasi variabel
w = int
int main()
{ Deskripsi
int w; for (w=0; w<=10000; w=w+100)
cout<<endl; print (w)
cout<<"Menampilkan Pengulangan 100X"<<endl; endfor
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<endl; Algoritma
for (w = 0; w <= 10000; w = w+100) 1. w=0
2. selama (w<=10000), maka kerjakan baris 3 sd. 4, jika
tidak baris 5
cout<< w <<endl; 3. Mencetak isi/nilai variabel w
cout<<endl; 4. w++
5. selesai
cin.get();
}
Prak5-10:
12
//soal no.10 nested for Pseudo code:
#include<iostream> Deklarasi variabel
using namespace std; s=0, w, I :int
Deskripsi
int main() for (w=1; w<=4; w++)
{ for (i=w; i<=7; i++)
int w,i,s; s=s+10
cout << endl; endfor
cout << " Menampilkan Pengulangan 4X(w) dan 7X(i)" endfor
<< endl; print (s)
cout <<
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << Algoritma
endl; 1. s=0
cout << endl; 2. w=1
s = 0; 3. i=w
for (w = 1; w <= 4; w++) 4. selama (w<=4) kerjakan baris 5 s.d. 8
for (i = w; i <= 7; i++) 5. selama (i<=7) kerjakan baris 6 s.d. 7
{ 6. s = s+10
s = s+10; 7. i = i+1
cout << " Nilai Akhir dari N adalah " << 8. w = w+1
s << endl; 9. mencetak isi/nilai variabel s
} 10. selesai
cin.get();
}
Prak6-01:
PSEUDOCODE
#include <iostream> DEKLARASI VARIABEL :
using namespace std; w : long int
DESKRIPSI :
int main() Const i = 7
{ Const s = 1
long int w, i=7, s=1; for (w = 1 ; w < = i ; w++)
cout<<endl; s = s*i
cout<<"Menampilkan Faktorial tanpa inputan"<<endl; print (w, s)
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<endl; ALGORITMA
for (w=1; w<=i; w++) 1. Const i = 7
{ 2. Const s = 1
s=s*i; 3. Selama (w < = i), maka kerjakan baris 4 dan 5 kalau
cout<<"Faktorial dari " <<w<<"! tidak kerjakan baris 6
adalah = " <<s<<endl; 4. s = s*i
} 5. Menampilkan isi variabel (w, s)
cin.get(); 6. Selesai
}
Prak7-13:
//wisnu adhitya latief prak7-13
#include <iostream>
Praktikum 7-13
using namespace std ;
PSEUDOCODE
#define adh 8
DEKLARASI VARIABEL :
w [adh] , wis = 0 , wisnu : float
int main()
i : int
{
DESKRIPSI :
float w [adh] , wis = 0 , wisnu ;
Const wis=0
int i ;
Const i = 1
for (i = 1 ; i < adh ; i++)
//Memasukkan atau Meng-input nilai ke dalam elemen array
input (w [i])
cout << " Masukkan Nilai Yang Ingin Dihitung : \n\n " ;
wis = wis + w [i]
for( i = 1 ; i < adh ; i++ )
endfor
{
wisnu = wis /adh
cout << endl ;
print (wisnu)
cout << " W [ " << i << " ] = " ;
cin >> w [i] ;
ALGORITMA
wis = wis + w [i] ;
1. Const jul = 0
}
2. Const i = 1
3. Selama (i < anj), maka kerjakan baris 4 dan 5 kalau
//Melakukan Proses perhitungan
Prak8-50:
wisnu = wis / adh ; tidak kerjakan baris 6
4. Masukan isi variabel w [i]
cout << endl ;
5. wis = wis + w[i]
6. wisnu = wis / adh
//Menampilkan atau Output Hasil Perhitungan
7. Menampilkan isi variabel (wisnu)
cout << " Nilai Rata-Rata Dari Data Diatas Adalah = " <<
8. Selesai
wisnu ;
cout << endl ;
13
cin.get();
}
//Kalikan dua buah matriks dengan ordo 3x4 dan 4x3 dengan inputan (nama
file : P08-50.ccp):
#include <iostream>
using namespace std;
int main()
Pseudo code
{
int A[3][4],B[4][3],C[3][3];
Deklarasi
int w,i;
A[3][4],B[4][3],C[3][3] :int
W,I :int
cout<<" Menampilkan ARRAY/LARIK MultiDimensi"<<endl;
Deskripsi
cout<<"Menentukan Besar Baris dan Kolom Matrik
For (w=0;w<3;w++)
A"<<endl;
For(i=0;i<4;i++)
cout<<endl;
Input (A[w][i])
cout<<"Menginput Isi Elemen Array Matrik A"<<endl;
Endfor
for(w=0;w<3;w++){
Endfor
for(i=0;i<4;i++){
For (w=0;w<4;w++)
cout<<"Masukkan Isi
For(i=0;i<3;i++)
Elemen["<<w+1<<"]["<<i+1<<"] = ";
Input (B[w][i])
cin>>A[w][i]; } }
Endfor
cout<<endl;
Endfor
cout<<"Menginput Isi Elemen Array Matrik B"<<endl;
For (w=0;w<3;w++)
for(w=0;w<4;w++){
For(i=0;i<4;i++)
for(i=0;i<3;i++){
Print(A[w][i], “ “)
cout<<"Masukkan Isi
Endfor
Elemen["<<w+1<<"] ["<<i+1<<"] = ";
Endfor
cin>>B[w][i]; } }
For (w=0;w<4;w++)
cout<<endl;
For(i=0;i<3;i++)
cout<<endl;
Print (B[w][i], “ “)
cout<<"Tampilan isi elemen array matrik A"<<endl;
Endfor
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
Endfor
cout<<endl;
For (w=0;w<3;w++)
for(w=0;w<3;w++)
For(i=0;i<4;i++)
{
C[w][i] = A[w][i] * B[w][i]
for(i=0;i<4;i++)
Endfor
cout<<A[w][i]<<" ";
Endfor
cout<<endl;
For (w=0;w<3;w++)
}
For(i=0;i<3;i++)
cout<<endl;
Print (C[w][i], “ “)
cout<<endl;
Endfor
cout<<"Tampilan isi elemen array matrik B"<<endl;
Endfor
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<endl;
Algoritma/Bahasa Alami
for(w=0;w<4;w++)
1. W=0
{
2. I=0
for(i=0;i<3;i++)
3. Selama (w<3),maka kerjakan baris 4sd.5
cout<<B[w][i]<<" ";
4. Selama (i<4), maka kerjakan baris 5
cout<<endl;
5. Memasukkan isi variabel A[w][i]
}
6. Selama (w<4),maka kerjakan baris 7sd.8
for(w=0;w<3;w++)
7. Selama (i<3), maka kerjakan baris 8
for(i=0;i<4;i++)
8. Memasukkan isi variabel B[w][i]
{
9. Selama (w<3),maka kerjakan baris 10sd.11
C[w][i] = A[w][i] * B[w][i];
10. Selama (i<4), maka kerjakan baris 11
}
11. Mencetak isi variabel A[w][i]
cout<<endl;
12. Selama (w<4),maka kerjakan baris 13sd.14
cout<<endl;
13. Selama (i<3), maka kerjakan baris 14
cout<<"Menampilkan Hasil Kali Dua Matriks
14. Mencetak isi variabel B[w][i]
"<<endl;
15. Selama (w<3),maka kerjakan baris 16sd.17
16. Selama (i<4), maka kerjakan baris 17
17. C[w][i] = A[w][i] * B[w][i]
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
18. Selama (w<3),maka kerjakan baris 19sd.20
for(w=0;w<3;w++)
19. Selama (i<4), maka kerjakan baris 20
{
20. Mencetak isi variabel (C[w][i], “ “)
for(i=0;i<3;i++)
{
cout<<C[w][i]<<" ";
}
cout<<endl;
cin.get();
}
}
Prak8-75:
14
ALGORITMA
1. w=0
#include<iostream> 2. wisnu=8
using namespace std; 3. adhi=8
int main() 4. i=0
{ 5. input variable lat
string wisnu[9]; 6. selama(wis<=8),maka kerjakan baris 7 s.d 11. kalau
string adhi [9]; tidak baris
string lat; 7. selama(nu>wis),maka kerjakan baris 8 s.d. 10 kalau tidak
cout<<"Masukkan Karakter = "; cin>>lat; baris
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~"; 8. menghitung adhi[wis]+=
cout<<endl; 9. mencetak variable (“ “)
cout<<"Menampilkan Bentuk"<<endl; 10. nu++
cout<<"~~~~~~~~~~~~~~~~~~"<<endl; 11. wis++
for (int wis=0; wis<=8; wis++) 12. selama(wis>=0) maka kerjakan baris 13 s.d.19 kalau
{ tidak baris 20
for (int nu=8; nu>wis; nu--) adhi[wis] +=" "; 13. selama(nu<=wis) maka kerjakan baris 14 s.d. 18 kalau
cout<<endl; tidak baris 20
} 14. menghitung wisnu[wis] +
for (int wis=8; wis>=0; wis--) 15. mencetak lat
{ 16. mencetak adhi[wis]
for (int nu=0; nu<=wis; nu++) wisnu[wis] += lat; 17. mencetak wisnu[wis]
cout<<adhi[wis] <<wisnu[wis] <<endl; 18. nu++
} 19. wis++
cin.get(); 20. selesai
}
PSEUDO-CODE
Deklarasi Variabel
wisnu[9],adhi[9],lat=string
wis,nu=int
Deskripsi
for(int wis=0;wis<=8;wis++)
for(int nu=8;nta>wis;nu--)
adhi[wis] +=
print(“ “)
endfor
endfor
for(int wis=8;wis>=0;wis--)
for(int nu=0;nu<=wis;nu++)
wisnu[wis] +=
print (lat)
print(adhi[wis],wisnu[wis])
endfor
endfor
Prak9-19:
Pseudo-code
#include<iostream>
using namespace std; Deklarasi Variabel Function
d,e : int
float opmat19 (float d, float e);
Function opmat19
int main() d/e
{
cout<<"Hasil Pembagian : " << opmat19(9.15,0.38); Deklarasi Variabel
cin.get(); d,e :int
}
Deskripsi
float opmat19 (float d, float e) opmat19(9.15,0.38)
{
cout<<endl;
return (d/e); Algoritma
} 1. Membuat function opmat19()
2. Menghitung d/e
3. Memanggil function opmat19(9.15,0.38)
4. Selesai
Prak10-10:
15
Pseudo Code
Prak11-03:
#include <iostream> Algoritma/Bahasa Alami
#include <string.h> 1. n=10
using namespace std; 2. w = 0
3. Selama (w<n)kerjakan baris 3 s.d. 5
int main() 4. Masukkan isi variabel A[w]
{ 5. w++
int w,s,u,a,n=10; 6. Selama (w<=n-1) kerjakan baris 7 s.d.
int A[n]; 7. Mencetak isi variabel A[w]
cout<<"Masukkan string sebanyak 10 angka"<<endl; 8. Mencetak isi “ “
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; 9. w++
for(w=0; w<n; w++) 10. u=0
{ 11. selama (u<n-2) kerjakan baris 12 s.d. 23
cout<<"Isi Elemen ke-"<<w+1<<" = "; cin>>A[w]; 12. S=u
} 13. W=u+1
14. Selama (w<=n-1) 15 s.d. 19
15. Jika (A[w]>A[s]) 16 s.d. 19
cout<<"Sebelum Berurutan"<<endl; 16. S=w
cout<<"~~~~~~~~~~~~~~~~~"<<endl; 17. Mencetak A[w]
cout<<endl; 18. Mencetak “ “
19. W++
20. a=A[s]
21. A[s]=A[u]
22. A[u]=a
for(w=0; w<=n-1; w++) 23. u++
cout<<A[w]<<" "; 24. Selama (w<n) kerjakan baris 25 s.d. 27
cout<<endl; 25. Mencetak isi variabel A[w]
cout<<endl; 26. Mencetak isi variabel “ “
27. w++
28. Selesai
//step by step
cout<<"Step by step"<<endl; Pseudo code
cout<<"~~~~~~~~~~~~"<<endl;
u=0; Deklarasi variabel
while(u<n-2) w,s,u,a,n=10 : int
{ A[n] : int
s=u;
w=u+1; Deskripsi
while(w<=n-1) for(w=0; w<n; w++)
{ print (w+1)
if(A[w]>A[s]) input (A[w])
s=w; endfor
cout<<A[w]<<" "; for(w=0; w<=n-1; w++)
w++; print (A[w], “ “)
} endfor
cout<<endl; while(u<n-2)
a=A[s]; s=u
A[s]=A[u]; w=u+1
A[u]=a; while(w<=n-1)
u++; if(A[w]>A[s])
} s=w
cout<<endl; print (A[w], “ “)
cout<<endl; w++
endif
Prak11-53: a=A[s]
cout<<"Sesudah diurutkan"<<endl; A[s]=A[u]
cout<<"~~~~~~~~~~~~~~~~~"<<endl; A[u]=a
cout<<endl; u++
endwhile
endwhile
for(w=0; w<n; w++)
16
print (A[w], “ “)
endfor
#include <iostream> Algoritma/Bahasa Alami
#include <string.h> 1. n=7
using namespace std; 2. w=0
3. selama(w<=n-1) kerjakan baris 4 s.d. 5
int i,j,k,X; 4. masukkan isi variabel A[w]
5. w++
6. Selama(w<n-1)kerjakan baris 7 s.d. 17
void Wisnu1() 7. Mencetak isi variabel A[w]
{ 8. Mencetak isi variabel “ “
int n=7; 9. i=0
char A[n]; 10. selama(i<=n)kerjakan baris 11 s.d. 17
cout<<"Masukkan string sebanyak 7 huruf"<<endl; 11. w=i
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; 12. X=A[w]
for(i=0; i<=n-1; i++) 13. Selama(w>0 && A[w-1]<X)kerjakan baris 14 s.d. 17
{ 14. A[w]=A[w-1]
cout<<"Isi Elemen ke-"<<i+1<<" = "; cin>>A[i]; 15. w--
} 16. A[w]=X
} 17. w++
18. Selama(w<=n)kerjakan baris 19 s.d. 21
void Wisnu2() 19. Mencetak isi variabel A[w]
{ 20. Mencetak isi variabel “ “
int n=7; 21. w++
char A[n]; 22. Selesai
cout<<endl;
cout<<"Sebelum Dilakukan Pengurutan"<<endl;
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl; Pseudo code
cout<<endl; Deklarasi variabel
for(i=0; i<=n-1; i++) w,i,s,X :int
cout<<A[i]<<" ";
cout<<endl; Deklarasi variabel function Wisnu1
} A[n] :char
Prak12-04:
17
#include <iostream>
#include <cmath>
using namespace std;
Prak13-04:
18
//(Nama,Alamat, Hobby, Usia, Status) Nama file TXT adalah BIO[NPM] Pseudo code
[NAMA].TXT(nama file : P13-04.ccp): Deklarasi variabel
#include <iostream> wis=int
#include <fstream> wisnu [wis+1]=char
using namespace std;
int main() Deskripsi
{ wis=80
//Mendeklarasi array sbg penyangga ofstream WisnuAdhi1;
const int wis=80; WisnuAdhi1.open(BIO[4518210048][Wisnu].TXT)
char Wisnu [wis+1]; WisnuAdhi1"Nama :Wisnu"
WisnuAdhi1"Alamat :Kp.sugutamu"
WisnuAdhi1"Hobby :Berolahraga"
ofstream WisnuAdhi1; WisnuAdhi1"Usia :19 Tahun"
WisnuAdhi1.open("BIO[4518210048][Wisnu].TXT"); WisnuAdhi1"Status :Mahasiswa"
WisnuAdhi1<< "Nama :Wisnu "<<endl; ifstream WisnuAdhi2("BIO[4518210048][Wisnu].TXT");
WisnuAdhi1<< "Alamat :Kp.sugutamu"<<endl; while(WisnuAdhi2)
WisnuAdhi1<< "Hobby :Berolahraga"<<endl; WisnuAdhi2.getline(Wisnu,wis);
WisnuAdhi1<< "Usia :19 Tahun "<<endl; Print(Wisnu)
WisnuAdhi1<< "Status :Mahasiswa endwhile
"<<endl; WisnuAdhi1.close()
WisnuAdhi2.close()
ifstream WisnuAdhi2("BIO[4518210048][Wisnu].TXT");
Algoritma
1. wis=80
//Membaca seluruh data 2. definisikan (wisnu,wis)
while(WisnuAdhi2) 3. Mendefinisikan objek WisnuAdhi1
{ 4. Membuka file objek (WisnuAdhi1.open("BIO[4518210048]
WisnuAdhi2.getline(Wisnu,wis); [Wisnu].TXT"))
cout<<Wisnu<<endl; 5. Menulis merekam ke file objek "Nama :Wisnu"
} 6. Menulis merakam ke file objek "Alamat :Kp.sugutamu"
//Menutup FILE 7. Menulis merekam ke file objek "Hobby :Berolahraga"
WisnuAdhi1.close(); 8. Menulis merekam ke file objek "Usia :19 Tahun"
WisnuAdhi2.close(); 9. Menulis merekam ke file objek "Status :Mahasiswa"
10. Memanggil file teks yg telah dibuat (ifstream
WisnuAdhi2(“BIO[4218210048][Wisnu].TXT”)
11. Jika (WisnuAdhi2) maka kerjakan baris 12 s.d. 13
12. Membaca sejumlah karakter sebanyak wis
(WisnuAdhi.getline(Wisnu,wis)
13. Mencetak Wisnu
14. Menutup file (WisnuAdhi1())
15. Menutup file (WisnuAdhi2())
16. Selesai
BAB 2
19
Tugas Besar
2.2 Pembahasan Tugas Besar
Function Wisnu1
print(“~~~~~~~~~~~~~~~~~”)
print(“DEALER NON RESMI HONDA CIVIC SERIES”)
print(“CABANG KOTA DEPOK, JAWA BARAT, INDONESIA“)
print(“4518210048“)
print(“~~~~~~~~~~~~~~~~~“)
print(“CIVIC ALL TYPE “)
print(“*2018 ONLY! AND ONLY ONCE TRANSACTION!*“)
print(“~~~~~~~~~~~~~~~~~“)
Function Wisnu2
p=5
for(int q = p; q >= 1; --q)
for(int r = 0; r < p-q; ++r)
print (" ")
endfor
for(int s = q; s <= 2*q-1; ++s)
print("* ")
endfor
for(int s = 0; s < q-1; ++s)
print("* ")
endfor
endfor
Deklarasi variabel
WCustomer[100],WAddress[100], WTelp[13] :char
A[1][10] = {4,5,1,8,2,1,0,0,4,8} :int
WOrder, w, i, p :int
WTotal, WHarga, WBayar, WKembali, WJumlah :signed long int
WMenu :char
k,m,n,o,l=10 :int
I[l]={4,2,1,7,3,5,9,6,8,10} :int
20
x, z=3, y=1 :long int
Deskripsi
m=0
Wisnu1()
for (x=1; x<=z; x++)
y=y*z;
print(y)
endfor
for(k=0; k<=l-1; k++)
print(I[k], " ")
endfor
while(m<l-2)
o=m;
k=m+1;
while(k<=l-1)
if(I[k]<I[o])
o=k;
print(I[k], " ")
k++;
endif
endwhile
n=I[o];
I[o]=I[m];
I[m]=n;
m++;
endwhile
for(k=0; k<l; k++)
print(I[k], " ")
endfor
input(WCostumer)
input(WAddress)
input(WTelp)
strupr(WCustomer)
strupr(WAddress)
input(WMenu)
if(WMenu==A)
input(WOrder)
switch(WOrder)
case1: Wharga= 309000000
input(Wjumlah)
WTotal=Wharga*WJumlah; break;
case2: Wharga= 321000000
input(Wjumlah)
WTotal=Wharga*WJumlah; break;
21
case3: Wharga= 343000000
input(Wjumlah)
WTotal=Wharga*WJumlah; break;
case4: Wharga= 379000000
input(Wjumlah)
WTotal=Wharga*WJumlah; break;
case5: Wharga= 415000000
input(Wjumlah)
WTotal=Wharga*WJumlah; break;
default: print(‘Inputan Anda Salah’)
print(WTotal)
input(WBayar)
WKembali = WBayar - WTotal
endif
if(WMenu==B)
print(‘Thank you for visit our online dealer!’, “ “)
endif
Wisnu2()
Wisnu1()
print(“~~~~~~~~~~~~~~~~~”)
print(“STRUK PEMBELIAN UNIT MOBIL”)
print(“~~~~~~~~~~~~~~~~~”)
print(WCustomer)
print(WAddress)
print(WTelp)
for(w=0;w<1;w++)
for(i=0;i<10;i++)
print(A[w][i], " ")
endfor
print(“Barang yg dibeli”)
print(WOrder, WHarga, WJumlah, WTotal)
print(WBayar)
print(WKembali)
print(“~~~~~~~~~~~~~~~~~”)
2.2.2 Algoritma
1. l=10
2. A[1][10] = {4,5,1,8,2,1,0,0,4,8}
3. I[l]={4,2,1,7,3,5,9,6,8,10}
4. z=3
5. y=1
6. m=0
7. Membuat function Wisnu1()
8. Mencetak (“~~~~”)
9. Mencetak (“DEALER NON RESMI HONDA CIVIC SERIES”)
22
10. Mencetak (“CABANG KOTA DEPOK, JAWA BARAT, INDONESIA”)
11. Mencetak (“4518210048”)
12. Mencetak (“~~~~”)
13. Mencetak (“CIVIC ALL TYPE”)
14. Mencetak (“*2018 ONLY! AND ONLY ONCE TRANSACTION!*“)
15. Mencetak (“~~~~”)
16. Membuat Function Wisnu2()
17. p=5
18. jika(int q = p; q >= 1; --q),maka kerjakan baris 19 s.d. 24
19. jika(int r = 0; r < p-q; ++r),maka kerjakan baris 20
20. Mencetak (" ")
21. jika(int s = q; s <= 2*q-1; ++s),maka kerjakan baris 22
22. Mencetak ("* ")
23. jika(int s = 0; s < q-1; ++s),maka kerjakan baris 24
24. Mencetak ("* ")
25. Memanggil function Wisnu1()
26. Jika (x=1; x<=z; x++), maka kerjakan baris 27 s.d. 28
27. y=y*z;
28. Mencetak isi variabel(y)
29. jika(k=0; k<=l-1; k++), maka kerjakan baris 30
30. mencetak(I[k], " ")
31. selama(m<l-2), maka kerjakan baris 32 s.d. 44
32. o=m;
33. k=m+1;
34. selama(k<=l-1),maka kerjakan baris 35 s.d. 38
35. jika(I[k]<I[o]),maka kerjakan baris 36 s.d. 38
36. o=k;
37. mencetak(I[k], " ")
38. k++;
39. n=I[o];
40. I[o]=I[m];
41. I[m]=n;
42. m++;
43. jika(k=0; k<l; k++), maka kerjakan baris 44
44. mencetak(I[k], " ")
45. memasukkan isi variabel WCustomer
46. memasukkan isi variabel WAddress
47. memasukkan isi variabel WTelp
48. strupr(WCustomer)
49. strupr(WAddress)
50. memasukkan isi variabel WMenu
51. jika(WMenu==A), maka kerjakan 52 s.d. 72, jika tidak baris 76
52. Memasukkan isi variabel WOrder
53. Jika (WOrder=1), maka kerjakan baris 54 s.d. 56, jika tidak baris 57
54. Wharga= 309000000
55. Memasukkan isi variabel Wjumlah
23
56. WTotal=Wharga*WJumlah
57. Jika (WOrder=2), maka kerjakan baris 58 s.d. 60, jika tidak baris 61
58. Wharga= 321000000
59. Memasukkan isi variabel Wjumlah
60. WTotal=Wharga*WJumlah
61. Jika (WOrder=3), maka kerjakan baris 62 s.d. 64, jika tidak baris 65
62. Wharga= 343000000
63. Memasukkan isi variabel (Wjumlah)
64. WTotal=Wharga*WJumlah
65. Jika(WOrder=4), maka kerjakan baris 66 s.d. 68, jika tidak baris 69
66. Wharga= 379000000
67. Memasukkan isi variabel Wjumlah
68. WTotal=Wharga*WJumlah
69. Jika (WOrder=5), maka kerjakan baris 70 s.d. 72
70. Wharga= 415000000
71. input(Wjumlah)
72. WTotal=Wharga*WJumlah
73. mencetak isi variabel WTotal
74. memasukkan isi variabel WBayar
75. WKembali = WBayar – Wtotal
76. Jika (WOrder=2), maka kerjakan baris 77
77. Mencetak isi variabel (‘Thank you for visit our online dealer!’)
78. Mencetak function Wisnu2()
79. Mencetak function Wisnu1()
80. Mencetak (“~~~~”)
81. Mencetak (“STRUK PEMBELIAN UNIT MOBIL”)
82. Mencetak (“~~~~”)
83. Mencetak isi variabel WCustomer
84. Mencetak isi variabel WAddress
85. Mencetak isi variabel WTelp
86. jika(w=0;w<1;w++), maka kerjakan baris 87 s.d. 89
87. jika(i=0;i<10;i++), maka kerjakan 89
88. mencetak isi variabel A[w][i]
89. mencetak isi variabel ( " ")
90. mencetak isi variabel (“Barang yg dibeli”)
91. mencetak isi variabel WOrder,
92. mencetak isi variabel WHarga,
93. mencetak isi variabel WJumlah,
94. mencetak isi variabel WTotal
95. mencetak isi variabel WBayar
96. mencetak isi variabel WKembali
#include <iostream>
97. mencetak isi variabel (“~~~~~~~~~~~~~~~~~”)
#include <string.h>
using namespace std;
void Wisnu1()
{
//HEADER
cout<<endl; 24
cout<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
cout<<"| DEALER NON RESMI HONDA CIVIC SERIES |"<<endl;
cout<<"| CABANG KOTA DEPOK, JAWA BARAT, INDONESIA |"<<endl;
cout<<"| 4518210048 |"<<endl;
o=m;
k=m+1;
while(k<=l-1)
{
if(I[k]<I[o])
o=k;
cout<<I[k]<<" ";
k++;
}
cout<<endl; 25
n=I[o];
I[o]=I[m];
I[m]=n;
m++;
cout <<"CIVIC HATCHBACK SPORT "<<endl;
WHarga = 321000000;
cout <<"Jumlah unit yang ingin di pesan: "; cin>>WJumlah;
WTotal = WJumlah*WHarga;
break;
case 3:
cout <<"CIVIC HATCHBACK EX "<<endl;
WHarga = 343000000;
cout <<"Jumlah unit yang ingin di pesan: "; cin>>WJumlah;
WTotal = WJumlah*WHarga; 26
break;
case 4:
cout <<"CIVIC HATCHBACK EX-L NAVI "<<endl;
WHarga = 379000000;
cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" << endl;
cout << "| TOTAL |" <<
endl;
cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" <<
endl;
cout <<"|Uang Yang Dibayarkan = Rp "<<WBayar<<",-"<<endl;
cout <<"|Kembali = Rp "<<WKembali<<",-"<<endl;
cout << "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" <<
endl; 27
cin.get();
}
28
BAB 3
29
Penutup
3.1 Kesimpulan
Semua kebutuhan sangat mudah didapatkan. Dalam bertansaksi sebenarnya sangat mudah
diakses di segala tempat, waktu dan keadaan. Jadi, bertansaksi dalam kehidupan sehari-hari atau
jarang yang kita lakukan seperti membeli mobil dapat sangat mudah dilakukan dangan adanya
program ini. Namun, dalam program ini hanya dapat membeli maksimal 2 unit mobil. Karena,
dalam bahasa pemrograman C++ terdapat tipe data signed long int, yang hanya dapat
menjangkau nominal 2.000.000.00 atau 2 miliar. Sehingga untuk membeli 3 atau lebih unit
mobil, program tidak dapat manjangkau perhitungan lebih dari 2 miliar.
3.2 Kritik
Dalam bahasa pemrograman C++ tidak ada/ ada tipe data yang dapat menyangkup digit
sampai 2 miliar.
3.3 Saran
Seharusnya dalam bahasa pemrograman C++ disediakan tipe data yang dapat
menjangkau digit yang tidak terbatas. Dalam hal ini dapat memudahkan programmer untuk
membuat sebuah program yang memiliki perhitungan lebih dari 2 miliar.
30
Daftar Pustaka
Nursari, Sri Rezeki Candra. 2018. “Algoritma dan Pemrograman Gasal 2018/2019”.
http://elearning.teknik.univpancasila.ac.id/course/view.php?id=132. (diakses 9 Januari)
31