Anda di halaman 1dari 2

UJIAN TENGAH SEMESTER (UTS)

Semester : Genap
Tahun Ajaran : 2018/2019
Mata Kuliah : Algoritma dan Pemrograman
Hari/Tanggal : Jumat/05 April 2019
Waktu : 90 Menit
Sifat : Tutup Buku

Jawablah pertanyaan berikut pada lembar jawaban yang disediakan. Nilai maksimum dari
setiap pertanyaan tertera di awal soal. Nilai maksimum untuk ujian ini adalah 100.

1. (40) Buatlah sebuah program untuk menghitung gaji n karyawan, n merupakan sebuah
bilangan bulat yang akan diinputkan oleh user, kemudian akan dihitung gaji perkaryawan
dengan ketentuan sebagai berikut :
 Gaji per jam : Rp 10.000,-
 Bila jam kerja > 7 jam, maka sisa jam kerja dihitung sebagai lembur yg besarnya 1.5 * gaji
per jam.
 Karyawan yang memiliki masa kerja (dalam tahun) lebih dari 5 tahun memiliki gaji per
jam 30% lebih besar daripada karyawan yang memiliki masa kerja kurang dari atau sama
dengan 5 tahun.
Kemudian ditampilkan total gaji karyawan yang harus dibayarkan oleh perusahaan.
Jumlah jam kerja dan masa kerja tiap karyawan akan diinputkan oleh user.
Contoh inputan

Jumlah karyawan : 4 [inputan user]


Jam kerja karyawan 1 : 8 [inputan user]
Masa kerja karyawan 1 : 3 [inputan user]
Total Gaji : 85000
Jam kerja karyawan 2 : 6 [inputan user]
Masa kerja karyawan 2 : 5 [inputan user]
Total Gaji : 60000
Jam kerja karyawan 3 : 8 [inputan user]
Masa kerja karyawan 3 : 6 [inputan user]
Total Gaji : 110500
Jam kerja karyawan 4 : 12 [inputan user]
Masa kerja karyawan 4 : 3 [inputan user]
Total Gaji : 145000

Total Gaji karyawan : 400500

2. (40) Berikut ini diberikan sebuah program yang membutuhkan input sebuah bilangan bulat:
#include <stdio.h>

int main()
{ int i,j,k,l,m;
printf("masukkan angka : ");
scanf("%d",&k);
l=1;
m=k;
for (i=1;i<=k;i++){
for(j=1; j<=k; j++){

ALGORITMA DAN PEMROGRAMAN


if (i==j || j==m)
printf("%d",j);
else
printf("\t");
}
printf("\n");
m-- ;
}
return 0;
}

a. (10) Berapa kali proses perulangan (for) dilakukan pada program di atas?
b. (30) Jika diberikan input bilangan 5. Apa output yang dikeluarkan oleh program. Jelaskan
jawaban anda.

3. (20) Dalam membuat suatu program, rangkaian struktur kendali seringkali digunakan.
Misalnya penggunaan rangkaian struktur kendali kondisional (if) dan perulangan (for).
a. (10) Jelaskan apa perbedaan rangkaian struktur kendali for (...) if (...) dengan if (...) for (...).
b. (10) Berikan contoh program yang memperkuat penjelasan anda pada bagian (a).

**Selamat Mengerjakan**
“Sukses tergantung pada persiapan sebelumnya dan
tanpa persiapan itu pasti akan terjadi kegagalan”. -
Confucius.

ALGORITMA DAN PEMROGRAMAN

Anda mungkin juga menyukai