UJIAN TENGAH SEMESTER
MATA KULIAH PENGANTAR CODING
Nama: Annisa Putri
NIM: 24042011
Dosen Pengampu: Eko Kurniawanto Putra, [Link], MT
Jawaban dari soal UTS
1. Berikut program dari flowchart nya.
#include <iostream>
using namespace std;
int main() {
int total;
cout << "Masukkan total: ";
cin >> total;
if (total > 1000000) {
double diskon = total * 0.3;
double total_setelah_diskon = total - diskon;
cout << "Diskon 30%: " << diskon << endl;
cout << "Total setelah diskon: " << total_setelah_diskon << endl;
}
else if (total > 500000) {
double diskon = total * 0.1;
double total_setelah_diskon = total - diskon;
cout << "Diskon 10%: " << diskon << endl;
cout << "Total setelah diskon: " << total_setelah_diskon << endl;
}
else {
cout << "Maaf tidak ada diskon" << endl;
}
cout << "TERIMA KASIH SUDAH BERBELANJA" << endl;
return 0;
}
2. Berikut program dan flowchart nya.
a. Berikut program beserta screnshootnya.
#include <iostream>
#include <string>
using namespace std;
int main() {
string namaSiswa, namaMataPelajaran;
float nilaiUTS, nilaiUAS, nilaiRataRata;
cout << "Masukkan Nama Siswa: ";
getline(cin, namaSiswa);
cout << "Masukkan Nama Mata Pelajaran: ";
getline(cin, namaMataPelajaran);
cout << "Masukkan Nilai UTS: ";
cin >> nilaiUTS;
cout << "Masukkan Nilai UAS: ";
cin >> nilaiUAS;
nilaiRataRata = (nilaiUTS + nilaiUAS) / 2;
cout << "\n--- Hasil Penilaian ---" << endl;
cout << "Nama Siswa: " << namaSiswa << endl;
cout << "Mata Pelajaran: " << namaMataPelajaran << endl;
cout << "Nilai UTS: " << nilaiUTS << endl;
cout << "Nilai UAS: " << nilaiUAS << endl;
cout << "Nilai Rata-rata: " << nilaiRataRata << endl;
if (nilaiRataRata >= 70) {
cout << "Status: LULUS" << endl;
} else {
cout << "Status: REMEDIAL" << endl;
}
return 0;
}
b. Flowchartnya terpisah karna saya bikin manual.
3. Berikut Flowchart dari program soal no 3
4. Berikut kesalahan dalam program yang saya temukan.
a. Baris 5: Chart t;
Kesalahannya: Menggunakan tipe data ‘char’ untuk menyimpan angka
adalah tidak tepat.
Perbaikan: Gunakan tipe data numerik yang sesuai seperti ‘int’ atau
‘float’.
b. Baris 7: cin>>t;
Kesalahan: Mencoba memasukan nilai ke variabel ‘char’ untuk tipe
numerik.
Perbaikan: Ubah tipe data menjadi tipe numerik yang sesuai.
c. Baris 11-16: Fungsi luas ()
Kesalahan: Pesan output yang kurang jelas dan cara pencetakan area
yang tidak tepat.
Perbaikan: Sederhanakan pesan output dan gunakan penamaan yang
lebih bermakna.
d. Baris 23-25: Input dan perhitungan volume
Kesalahan:
1. Perhitungan volume yang salah dan pesan output yang
membingungkan.
2. Line 24: l=luas(p,l); secara tidak benar menggunakan fungsi ‘luas
()’ untuk mengatur ‘l’.
Perbaikan: Buat fungsi terpisah untuk menghitung volume.
5. Baris 26: getch()
Kesalahan: getch() bukan fungsi standar c++ dan memerlukan <conio.h>
Perbaikan: Gunakan [Link]() atau hapus jika tidak diperlukan.
Berikut program versi yang telah diperbaiki.
#include <iostream>
using namespace std;
int volume(int p, int l, int t) {
return p * l * t;
}
int luas(int p, int l) {
return p * l;
}
int main() {
int p, l, t;
cout << "Masukkan nilai panjang: ";
cin >> p;
cout << "Masukkan nilai lebar: ";
cin >> l;
cout << "Masukkan nilai tinggi: ";
cin >> t;
int luasAlas = luas(p, l);
cout << "Luas alas adalah: " << luasAlas << endl;
int volumeBalok = volume(p, l, t);
cout << "Volume balok adalah: " << volumeBalok << endl;
return 0;
}