Laporan praktikum pemrograman komputer membahas tiga tugas yang melibatkan penggunaan perulangan untuk menebak angka acak dan menyelesaikan soal matematika. Program pertama melibatkan tebakan angka antara 0-9, program kedua melibatkan tebakan angka antara 0-100 dengan umpan balik, dan program ketiga melibatkan penyelesaian soal operasi matematika sederhana.
Menerapkan biaya pada proyek dengan microsoft project
Praktikum Pemrograman Komputer Acara 3
1. LAPORAN PRAKTIKUM PEMROGRAMAN KOMPUTER
PROGRAM STUDI TEKNIK NUKLIR
NAMA : SHAFFAN HAQI
NOMHS : 16/395305/TK/44597
KELAS : TN
HARI/TANGGAL PRAKTIKUM : 14 MARET 2017
HARI/TANGGAL LAPORAN : 2017
ACARA : MENYUSUN PROGRAM DENGAN STATEMENT BERULANG SEDERHANA
DEPARTEMEN TEKNIK NUKLIR DAN TEKNIK FISIKA
FAKULTAS TEKNIK UGM
2. 1. Problem/Masalah
- Membuat program untuk menentukan jumlah tebakan angka random sampai tebakan
benar. Rentang angka acak dengan rentang 0-9
- Membuat program untuk menentukan jumlah tebakan angka random sampai tebakan
benar. Rentang angka acak dengan rentang 0-100 dengan nilai angka yang harus ditebak
juga acak terhadap waktu. Apabila tebakan lebih kecil daripada angka yang harus
ditebak, dikeluarkan “Tebakan terlalu kecil”, apabila sebaliknya, dikeluarkan “Tebakan
terlalu besar”
- Membuat program soal latihan operasi bilangan matematika berupa +, -, x, maupun :.
Beberapa nilai angka dirandom dan diperlihatkan kepada pengguna, dan pengguna
diharuskan untuk menyelesaikan operasi matematikan tersebut sampai benar.
2. Tujuan
- Peserta dapat menggunakan statement while
3. A. Analisis Tugas 1
a. Informasi : nomor tebakan (nomor), nilai tebakan (x)
b. Data
c. Landasan teori :
Angka random dibangkitkan dengan rentang 0 – 99, kemudian angka tersebut ditebak
oleh pengguna. Apabila tebakan terlalu besar maka akan muncul tulisan “Tebakan terlalu
besar” dan apabila sebaliknya akan muncul “Tebakan terlalu kecil”. Pengguna harus
menebak sampai benar dan setiap meneh, nomor tebakan akan bertambah.
B. Analisis Tugas 2
a. Informasi : Nilai operasi matematika.
b. Data :
c. Landasan Teori :
Beberapa angka random akan dibangkitkan dengan rentang tertentu kemudian angka angka
tersebut diperlihatkan kepada pengguna. Angka – angka tersebut disusun sedemikian rupa
sehingga menjadi soal operasi matematika sederhana. Pengguna diharuskan untuk menjawab
soal tersebut sampai benar. Nilai dari operasi matematika akan dicek oleh program.
4. Algoritma dan Flowchart
TUGAS CONTOH
1. Bangkitkan angka random 0 – 99 (nilai)
2. Beri nilai ulang=true dan nomor=0.
3. Kerjakan selama ulang adalah benar
a. Input nilai tebakan, nomor+=1
b. Jika tebak = nilai maka ulang=false, jika tidak ulang=true
4. Tampilkan tebakan dan nomor
3. Mulai
nomor=0
ulang=true
Ulang==true tebak
Tebak
nomor
selesai
Nilai=rand100
false
true Nomor+=1
Ulang=nilai!=tebak
TUGAS 1
1. Bangkitkan angka random 0 – 99 (nilai)
2. Beri nilai ulang=true dan nomor=0.
3. Kerjakan selama ulang adalah benar
a. Inputkan tebak, nomor+=1,
b. Jika tebak = nilai, maka ulang=false
c. Jika tidak, jika nilai tebak > nilai, keluarkan “Nilai tebakan terlalu besar”. Jika
tidak keluarkan “NIlai tebakan terlalu kecil”, dan ulang=true
4. Tampilkan tebakan dan nomor
4. Mulai
nomor=0
ulang=true
Ulang==true tebak
Tebak==nilai
Ulang=false
Tebak<nilai
Tebakan terlalu besar
Tebak
nomor
selesai
Tebakan terlalu kecil
Nomor+=1
Ulang=true
Nilai=rand100
truefalse
false true
false
true
TUGAS 2
1. Beri nilai ulang=true
2. Kerjakan selama ulang=true
a. Bangkitkan nilai random A,B, dan C.
b. Tampilkan nilai A, B, C dalam bentuk operasi matematika A + B - C
c. Inputkan nilai D
d. JIka (D == A + B – C) maka keluarkan pernyataan jawaban benar dan ulang=false
e. Jika tidak, keluarkan pernyataan jawaban salah dan ulang=true
5. Mulai
Ulang=true
Jawaban Anda Benar
Ulang==true
D==A+B-C
Jawaban Anda Salah
Ulang=true Ulang=false
selesai
false true
false
true A= rand
B=rand
C=rand
A + B + C =
5. Listing
TUGAS CONTOH
#include<iostream>
#include<cstdlib>
using namespace std;
int main ()
{
int nilai, tebak, nomor=0;
bool ulang(true);
nilai = rand()%10;
while(ulang)
{
cout<<"Inputkan Nilai Tebakan ";cin>>tebak;
ulang=nilai!=tebak;
nomor=nomor+1;
}
cout<<"Angka random = "<<tebak<<" Tertebak pada tebakan ke "<<nomor;
system ("pause");
return 0;
}
6. TUGAS 1
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main ()
{
int nilai, tebak, nomor=0;
bool ulang(true);
nilai = (rand()+time(0))%100;
while(ulang)
{
cout<<"Inputkan Nilai Tebakan ";cin>>tebak;
if (nilai==tebak) ulang=false;
else{nomor=nomor+1;
if (tebak<nilai) cout<<"Tebakan terlalu kecilnn";
else cout<<"Tebakan terlalu besarnn";
}}
cout<<"Angka random = "<<tebak<<" Tertebak pada tebakan ke "<<nomor<<"n";
system ("pause");
return 0;
}
TUGAS 2
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main ()
{
int A, B, C, D;
bool ulang(true);
while(ulang)
{
A=(rand()+time(0))%10;
B=(rand()+time(0))%15;
C=(rand()+time(0))%20;
cout <<"Nilai dari "<<A<<" + "<<B<<" - "<<C<<" = ";cin>>D;
if (D==(A+B-C)){ ulang=false; cout<<"Huhahahahahnn";}
else {cout<<"Maaf, jawaban anda salah nn";ulang=true;}}
system ("pause");
return 0;
}
8. TUGAS 2
7. Catatan
a. Cara Kerja program
TUGAS CONTOH
Program ini menggunakan header iostream untuk menjalankan fungsi input
output, cstdlib untuk fungsi random, dan ctime untuk fungus waktu. Using namespace
std; untuk memanggil semua program. Dideklarasikan variable, nomor dengan nilai
awal= 0, nilai dan tebak sebagai integers dan ulang sebagaiBoolean dengan nilai
true. Lalu, variable nilai diberi angka random dengan perintah rand() yang selalu
berubah terhadap waktu dari rentang 0 – 9. Pengguna akan memasukkan nilai
tebakan, setiap memasukkan tebakan, nomor aka bertambah sebanyak 1. Proses akan
terus berulang selama tebakan tidak sama dengan nilai karena ulang bernilai true
apabila tebakan tidak sama dengan nilai. Proses loop akan berhenti ketika tebakan
sama dengan nilai sehingga ulang bernilai salah. Munculkan tebakan dan jumlah
tebakan (nomor)
TUGAS 1
Program ini menggunakan header iostream untuk menjalankan fungsi input
output, cstdlib untuk fungsi random, dan ctime untuk fungus waktu. Using namespace
std; untuk memanggil semua program. Dideklarasikan variable, nomor dengan nilai
awal= 0, nilai dan tebak sebagai integers dan ulang sebagaiBoolean dengan nilai
true. Lalu, variable nilai diberi angka random dengan perintah rand() yang selalu
berubah terhadap waktu dari rentang 0 – 99. Pengguna akan memasukkan nilai
tebakan, setiap memasukkan tebakan, nomor aka bertambah sebanyak 1. Apabila
tebakan tidak sama dengan nilai, jika tebakan lebih besar daripada nilai, program,
akan memunculkan notifikasi berupa peringatan bahwa tebakan lebih besar daripada
nilai vise versa. Setelah pengguna berhasil menebak angka random, akan dikeluarkan
nilai tebakan dan jumlah tebakan.
TUGAS 2
9. Program 2 menggunanakan header yang sama dengan program TUGAS 1.
Dideklarasikan variable A, B, C, D, dan nomor dengan value 0 sebagai integers dan
ulang dengan nilai true sebagaiBoolean. Lalu ketika nilai dari ulang adalah true
jalankan perintah berikut, bangkitkan angka random pada variable A, B, dan C. Lalu
keluarkan dalam bentuk soal matematika sederhana. Pengguna akan diminta
memasukkan hasil dari operasi tersebut pada variable D. Program akan mengecek
apakah nilai D yang dimasukkan sesuaridengan jawaban operasi matematika
tersebut. Jika nilai D = A+B-C maka nilai ulang adalah false, diberikan penjelasan
bahwa jawaban sudah benar. Jika tidak, nilai ulang adalah true, diberikan penjelasan
bahwa jawaban salah, dan program akan mengulangi perintah dari merandom A, B,
dan C hingga nilai D yang diinputkan benar.
b. Untuk memverifikasi nilai input, pada TUGAS 1, dapat diberikan sub program untuk
menginput sekaligus mengecek nilai tebakan.
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int peco (int a){
cout<<"Inputkan Nilai Tebakan ";cin>>a;
if (cin.fail()){
cout<<"nShurima, your emeperor has returnednn";
cin.clear();
cin.ignore(1,'n');
return peco(a);}
else return a;}
int main ()
{
int a, nilai, tebak, nomor=0;
bool ulang=true;
nilai = (rand()+time(0))%100;
while(ulang)
{
tebak=peco(a);
if (nilai==tebak) ulang=false;
else{nomor=nomor+1;
if (tebak<nilai) cout<<"Tebakan terlalu kecilnn";
else cout<<"Tebakan terlalu besarnn";
}}
cout<<"Angka random = "<<tebak<<" Tertebak pada tebakan ke
"<<nomor<<"n";
system ("pause");
return 0;
}
Untuk TUGAS 2, sub program dipanggil juga saat menginput D sehingga menjadi
#include<iostream>
#include<cstdlib>
#include<ctime>
10. using namespace std;
int peco (int a,int A, int B, int C, bool c=true){
do
{
cout <<"Nilai dari "<<A<<" + "<<B<<" - "<<C<<" = ";cin>>a;
if (cin.fail()){c=true;cout<<"nShurima, your emeperor has
returnednn";}
else c=false;
cin.clear();
cin.ignore(999,'n');
}while (c);
return a;}
int main ()
{
int A, B, C, D, a;
bool ulang(true);
while(ulang)
{
A=(rand()+time(0))%10;
B=(rand()+time(0))%15;
C=(rand()+time(0))%20;
D=peco(a,A,B,C);
if (D==(A+B-C)){ ulang=false; cout<<"Huhahahahahnn";}
else {cout<<"Maaf, jawaban anda salah nn";ulang=true;}}
system ("pause");
return 0;}
c. Untuk membangkitkan angka dari 1,7 – 4,2, digunakan
a=static_cast<float>((rand()+time(0))%26)/10+1.7;