Anda di halaman 1dari 12

UJIAN AKHIR SEMESTER

PRATIKUM ALGORITMA DAN PEMROGRAMAN

Dosen Pengampu :
Agariadne Dwinggo Samala S.Kom.,M.Pd.,T.,MCE

Disusun Oleh :
Amalia Sagita S.Rangkuti
22076001

PROGRAM STUDI PENDIDIKAN TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2022
JAWABAN

Buatlah program untuk menentukan nilai akhir mahasiswa.


Dengan ketentuan:
1) Nilai Kehadiran = 20 %, Nilai Tugas = 20%, Nilai UTS = 25% dan Nilai UAS
= 35%.
2) Nilai Akhir merupakan jumlah dari seluruh setiap nilai.

Rentang Nilai Akhir:


1) 0 s.d. 44 = E
2) 45 s.d. 55 = D
3) 56 s.d. 65 = C
4) 66 s.d. 75 = B-
5) 76 s.d. 80 = B
6) 81 s.d. 85 = B+
7) 86 s.d. 90 = A-
8) 91 s.d. 100 = A

Keterangan Hasil Kelulusan:


1) Antara 0 s.d. 55 menampilkan kalimat, “Maaf, anda tidak lulus!”
2) Antara 56 s.d. 65 menampilkan kalimat, “Selamat! anda lulus namun perlu
tingkatkan hasil belajar!”
3) Antara 66 s.d. 85 menampilkan kalimat, “Selamat! anda lulus dengan hasil
yang memuaskan!”
4) Antara 86 s.d. 100 menampilkan kalimat, “Selamat! anda lulus dengan
dengan pujian!

 Kode Program
#include <stdio.h>

main()
{
//variabel dan tipe data
int nkehadiran, ntugas, nuts, nuas, hadir, tugas, uts, uas, nilaiAkhir;

//biodata

printf("=============================================================
\n");
printf("Nama : Amalia Sagita S.Rangkuti\n");
printf("NIM : 22076001\n");
printf("Program Studi : Pendidikan Teknik Informatika\n");
printf("Group : 202210760007\n");

printf("=============================================================
\n");
printf("\n");

printf("=============================================================
\n");
printf("\t\tMenentukan Nilai Akhir Mahasiswa\n\n");

printf("=============================================================
\n");
printf("Masukkan Nilai Tugas Anda : "); scanf("%d", &tugas);
printf("Masukkan Nilai UTS Anda : "); scanf("%d", &uts);
printf("Masukkan Nilai UAS Anda : "); scanf("%d", &uas);
printf("Masukkan Kehadiran Anda : "); scanf("%d", &hadir);

//rumus nilai akhir mahasiswa


nkehadiran = hadir * 0.20;
ntugas = tugas * 0.20;
nuts = uts * 0.25;
nuas = uas * 0.35;
nilaiAkhir=nkehadiran + ntugas + nuts + nuas;

//output
if(nilaiAkhir>=91 && nilaiAkhir<=100){
printf("\n\n Index Nilai Anda %d, Index Nilai Anda A", nilaiAkhir);
printf("\n\n Selamat Anda Lulus dengan nilai yang sangat memuaskan!");
}else if(nilaiAkhir>=86 && nilaiAkhir<90){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda A-", nilaiAkhir);
printf("\n\n Selamat Anda Lulus dengan nilai yang sangat memuaskan!");
}else if(nilaiAkhir>=81 && nilaiAkhir<85){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda B+", nilaiAkhir);
printf("\n\n Anda Lulus dengan Baik, tingkatkan terus belajarnya!");
}else if(nilaiAkhir>=76 && nilaiAkhir<80){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda B", nilaiAkhir);
printf("\n\n Anda Lulus dengan Baik, tingkatkan terus belajarnya!");
}else if(nilaiAkhir>=66 && nilaiAkhir<75){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda B-", nilaiAkhir);
printf("\n\n Anda Lulus dengan Baik, tingkatkan terus belajarnya!");
}else if(nilaiAkhir>=56 && nilaiAkhir<65){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda C", nilaiAkhir);
printf("\n\n Anda Lulus, tingkatkan lagi untuk kedepannya!");
}else if(nilaiAkhir>=45 && nilaiAkhir<55){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda D", nilaiAkhir);
printf("\n\n Maaf, anda tidak lulus!");
}else if(nilaiAkhir>=0 && nilaiAkhir<44){
printf("\n\n Nilai Akhir Anda %d, Index Nilai Anda E", nilaiAkhir);
printf("\n\n Maaf, anda tidak lulus!");
}

 Screenshoot Program
 Screenshoot Output Program

2.

JAWABAN
2. Sebuah Toko Es Krim “ICE CREAM” menjual beberapa variasi rasa. Dalam kasus ini,
pembeli datang dan diberikan menu pilihan ice cream, beserta harga masing-masing
dari ice cream tersebut.

Ada 3 (tiga) pilihan es krim yang diberikan, yaitu:


• Vanilla, dengan harga Rp. 25.000
• Chocolate, dengan harga Rp. 30.000
• Cappucino, dengan harga Rp. 35.000
Jika jumlah pembelian melebihi Rp. 50.000, akan diberikan diskon 10%, sedangkan jika
jumlah pembelian di atas Rp. 40.000 namun di bawah Rp. 50.000, akan diberikan diskon
5%, sementara di bawah itu tidak mendapatkan diskon. Untuk perhitungan uang
kembalian, yaitu jumlah uang yang diberikan dikurangi jumlah total pembelian.
Di akhir program, program akan memberikan kesempatan untuk memilih, apakah ingin
mengulangi proses iya atau tidak [Y/T].

 Kode Program
#include <stdio.h>

main(){
//variabel
int pilihan,harga, potongan, pembeli, bayar, kembalian, total, jmlbayar;

//biodata

printf("========================================================
=====\n");
printf("Nama : Amalia Sagita S.Rangkuti\n");
printf("NIM : 22076001\n");
printf("Program Studi : Pendidikan Teknik Informatika\n");
printf("Group : 202210760007\n");

printf("========================================================
=====\n");

printf("Jumlah Pembeli : \n"); scanf("%d", &pembeli);

printf("Pilihan Menu :");


printf("\n1. Vanilla Rp. 25.000");
printf("\n2. Chocolate Rp. 30.000");
printf("\n3. Capucinno Rp. 35.000");
printf("\nPilihan : "); scanf("%d", &pilihan);

//percabangan harga menu


if(pilihan=1){
harga=25000;
}else if (pilihan=2){
harga=30000;
}else if(pilihan=3){
harga=35000;
}

//rumus total harga dan jumlah


total = harga*pembeli;
//percabangan potongan harga
if(total>=50000){
potongan = total * 0.10;
}else if(total>=40000 && total<50000){
potongan = total * 0.05;
}else{
potongan = 0;
}

//rumus total bayar


jmlbayar = total-potongan;

//output pembayaran
printf("Jumlah Bayar : %d", jmlbayar);
printf("\n\nUang Bayar : "); scanf("%d", &bayar);
kembalian = bayar - jmlbayar;
printf("Uang Kembalian : %d", kembalian);
}

 Screenshoot Program
 Screenshoot Output Program

JAWABAN

3. Buatlah Program menghitung Gaji PNS, pengguna akan memasukan jumlah Pegawai
yang akan dihitung gajinya, lalu kemudian memasukan data-data yang diminta.
nantinya program akan menampilkan output berdasarkan input yang dilakukan oleh
user. Inputan terdiri dari nama, golongan, dan jam kerja, sementara output berupa gaji
pokok dan bayaran lembur, serta tunjangan!

Data pegawai dibagi kedalam 4 golongan:


• Golongan 1 gaji pokok sebesar Rp.1.486.500 dan tunjangan sebesar Rp. 250.000.
• Golongan 2 gaji pokok sebesar Rp. 1.926.000 dan tunjangan sebesar Rp. 300.000
• Golongan 3 gaji pokok sebesar Rp. 2.456.700 dan tunjangan sebesar Rp. 350.000
• Golongan 4 gaji pokok sebesar Rp. 2.899.500 dan tunjangan sebesar Rp. 400.000

Untuk jam kerja normal pegawai dalam sebulan adalah 150 jam, apabila lebih dari itu
maka akan dihitung sebagai lembur. Bayaran lembur perjam adalah Rp.10.000. Setiap
karyawan akan dikenakan pajak sebesar 0.5% untuk lemburnya!
Hitunglah:
1. Anton, Golongan 2, jam kerja 235
2. Denji, Golongan 3, jam kerja 256

 Kode Program
#include <stdio.h>
int main ()
{
//variabel & tipe data
char nama[100];
int gaji_per_jam, gaji_pokok, golongan, lama_kerja, tunjangan, lembur, gaji, gaji_bersih,
pajak;

//biodata

printf("=============================================================
\n");
printf("Nama : Amalia Sagita S.Rangkuti\n");
printf("NIM : 22076001\n");
printf("Program Studi : Pendidikan Teknik Informatika\n");
printf("Group : 202210760007\n");

printf("=============================================================
\n");

printf("===============================================\n");
printf("Nama Pegawai : ");gets(nama);
printf("Golongan Pegawai (1-4) : ");scanf("%i",&golongan);
printf("Masukkan lama kerja (1 bulan/jam) : ");scanf("%i",&lama_kerja);
printf("\n===============================================\n");

//switch case sesuai golongan


switch(golongan)
{
case 1:gaji_pokok=1486500; tunjangan=250000; gaji_per_jam=10000;
if(lama_kerja<=150)
{
gaji=gaji_pokok+tunjangan;
}
else
{
lembur=(lama_kerja-150)*gaji_per_jam;
gaji=gaji_pokok+tunjangan+lembur;
}
break;
case 2:gaji_pokok=1926000; tunjangan=300000; gaji_per_jam=10000;
if(lama_kerja<=150)
{
gaji=gaji_pokok+tunjangan;
}
else
{
lembur=(lama_kerja-150)*gaji_per_jam;
gaji=gaji_pokok+tunjangan+lembur;
}
break;
case 3:gaji_pokok=2456700; tunjangan=350000; gaji_per_jam=10000;
if(lama_kerja<=150)
{
gaji=gaji_pokok+tunjangan;
}
else
{
lembur=(lama_kerja-150)*gaji_per_jam;
gaji=gaji_pokok+tunjangan+lembur;
}
break;
case 4:gaji_pokok=2899500; tunjangan=400000; gaji_per_jam=10000;
if(lama_kerja<=150)
{
gaji=gaji_pokok+tunjangan;
}
else
{
lembur=(lama_kerja-150)*gaji_per_jam;
gaji=gaji_pokok+tunjangan+lembur;
}
break;
default:
printf("Golongan tidak ditemukan \nMohon masukkan golongan yang sesuai\n");
}

//perhitungan pajak gaji


pajak = 0.005*gaji;

//rumus gaji bersih


gaji_bersih=gaji-pajak;

printf("\n===============================================");
printf("\nPajak = Rp. %d",pajak);
printf("\nGaji Bersih = Rp. %d",gaji_bersih);
printf("\n===============================================\n");
return 0;
}

 Screenshoot Program
 Screenshoot Output Program

Anda mungkin juga menyukai