Professional Documents
Culture Documents
UTS Design Analisa Algoritma SMT 2 - 20180801381 - DANIEL HUTAJULU PDF
UTS Design Analisa Algoritma SMT 2 - 20180801381 - DANIEL HUTAJULU PDF
(Praktikum)
CCS222 - DESAIN DAN ANALISA ALGORITMA - CR101
(copas = nilai 0)
SOAL PRAKTIKUM 1 :
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <limits>
#include <cstdlib>
#include <windows.h>
#include <unistd.h>
#include <dos.h>
#include <iomanip>
int danielxyz(0);
PAGE 1
void Menara_Hanoi(int htzl, char x, char y, char z);
danielxyz++;
if(htzl==1){
cout << " | Pindah Bagian atas Disc dari " << x << " ke " << z << " |" <<
endl;
else{
Menara_Hanoi (1 , x, y, z);
int htzl;
PAGE 2
cout << " | >> PROGRAM THE TOWER OF HANOI << |" << endl;
cout << " $ Result menunjukan " << danielxyz << " kali perpindahan. \n" << endl;
cout << " | >> 20180801381 DANIEL HUTAJULU << |" << endl;
system("pause");
PAGE 3
Screenshot Output program Menara Hanoi :
Keterangan :
PAGE 4
Fungsi perintah void Menara_Hanoi();
Program Permainan Menara Hanoi ini dibuat menggunakan Rekursif ‘danielxyz++’
yang dapat kita lihat pada void hanoi.
Note:
variabel ‘htzl’ berfungsi untuk jumlah inputan pada keyboard;
variabel 'x' berperan sebagai tiang a;
variabel 'y' sebagai tiang b;
variabel 'z' berperan sebagai tiang c;
Jika banyak piringan yang di inputkan = 1, maka : Piringan akan langsung dipindahkan
ke menara tujuan.
PAGE 5
Program Menara_Hanoi pada fungsi main berfungsi untuk memanggil fungsi rekursif
dari Hanoi tersebut.
Perintah system ("color 0A"); untuk mengubah warna system console menjadi green
Perintah cin >> htzl; untuk menginput jumlah data dari keyboard dengan var htzl bertipe
data integer
Perintah Menara_Hanoi(htzl, 'A', 'B', 'C'); untuk memanggil fungsi hanoi yang diinputkan
keyboard lalu menampilkan output inisialisasi piringan disk yang berpindah A, B dan C
Perintah cout << " $ Result menunjukan " << danielxyz << " kali perpindahan. \n" <<
endl; untuk menampilkan hasil jumlah perpindahan yang terjadi tergantung jumlah
inputan pada keyboard
PAGE 6
SOAL PRAKTIKUM 2 :
Source code :
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <limits>
#include <cstdlib>
#include <windows.h>
#include <unistd.h>
#include <dos.h>
#include <iomanip>
int main(){
int A,B,C,D,E;
PAGE 7
char menu_pilihan,harga,mau_beli_lagi;
int cepe,gocap,duapuluhribu,ceban,goceng;
char jenis_minuman[20],merk[20];
int payment_bill,money,purchases,Product_prices,Total_prices;
dashboard:
cout<<"===================================================="<<endl;
cout<<"===================================================="<<endl;
cout<<"----------------------------------------------------"<<endl;
cout<<"----------------------------------------------------"<<endl;
cout<<"----------------------------------------------------"<<endl;
cin>>menu_pilihan;
cout<<"----------------------------------------------------"<<endl;
cout<<"----------------------------------------------------"<<endl;
cout<<"----------------------------------------------------"<<endl;
PAGE 8
cout<<"Silahkan Input Pesanan Anda : ";
cin>>harga;
cin>>purchases;
cout<<"----------------------------------------------------"<<endl;
switch(menu_pilihan)
case '1' :
break;
default:
break;
switch(harga)
default:
Product_prices=5000;
break;
PAGE 9
Total_prices=Product_prices*purchases;
cout<<"----------------------------------------------------"<<endl;
cin>>payment_bill;
cout << "\nJumlah yang di bayarkan kurang dari nominal transaksi !!!\n" << endl;
system("pause");
goto dashboard;
else {
PAGE 10
money=payment_bill-Total_prices;
cout<<"===================================================="<<endl;
A=(money%100000);
cepe=(money-A)/100000;
B=(A%50000);
gocap=(A-B)/50000;
C=(B%20000);
duapuluhribu=(B-C)/20000;
D=(C%10000);
ceban=(C-D)/10000;
E=(D%5000);
goceng=(D-E)/5000;
PAGE 11
printf("\n Jumlah Pecahan Rp. 10.000 \t : %d \n",ceban);
printf("\n");
system("pause");
cout<<"===================================================="<<endl;
cout<<endl;
if(mau_beli_lagi=='Y'||mau_beli_lagi=='y')
goto dashboard;
else{
cout<<endl;
getch();
PAGE 12
Screenshot Output program Vending Machine :
Keterangan :
Perintah ini berfungsi untuk mendeklarasikan tipe data int dan char (karakter).
PAGE 13
Perintah ini berfungsi untuk menampilkan tampilan dasar (utama/dashboard) saat
program di running menggunakan compiler devc++ lalu meminta user untuk menginput
pesanan sesuai daftar menu pilihan.
Perintah ini berfungsi untuk memberikan pilihan keputusan pada user untuk memilih tipe
pesanan dan harga item yang akan di beli dengan menginputkan angka pesanan tsb.
PAGE 14
Perintah ini berfungsi untuk melakukan perulangan switch case “menu_pilihan” dan
“harga” pada jumlah data barang jualan vending machine, jika data vending machine
yang besar dan memuat banyak minuman perintah ini akan semakin sangat berguna.
Perintah ini berfungsi untuk melakukan proses perhitungan dengan rumus formula
Total_prices=Product_prices*purchases;
Kemudian memberikan user untuk menginput Total uang yang akan di bayarkan
cin>>payment_bill;
PAGE 15
Perintah ini berfungsi untuk membuat conditional if else jika uang yang diinput user:
*Mesin ini akan menolak apabila jumlah yang di bayarkan kurang dari nominal transaksi
*Apabila jumlah yang di bayarkan lebih besar, maka mesin akan memberikan
kembalian dengan nominal uang lembaran bernilai tertinggi dahulu sampai terendah
Perintah ini berfungsi untuk mencetak hasil perhitungan uang kembalian user dengan
rumus : money=payment_bill-Total_prices;
PAGE 16
Perintah ini berfungsi untuk menghitung jumlah pecahan mata uang yang akan di
kembalikan Vending Machine kepada user/customer dengan perbandingan dari mata
uang paling besar Rp.100.000,- sampai Rp.5.000,- berurutan dari atas sampai bawah
A=(money%100000); cepe=(money-A)/100000;
**setelah program menghitung berapa lembar uang kembalian seratus ribu maka lanjut
ke perintah berikutnya, dan berulang sampai berakhir di E.
B=(A%50000); gocap=(A-B)/50000;
C=(B%20000); duapuluhribu=(B-C)/20000;
D=(C%10000); ceban=(C-D)/10000;
E=(D%5000); goceng=(D-E)/5000;
PAGE 17
Perintah ini berfungsi untuk memberikan akses pilihan pada user untuk menggunakan
kembali program atau keluar dari program dengan inputan dari keyboard.
TERIMA KASIH
DANIEL HUTAJULU
PAGE 18