535200052 Vaness Chen
7. Ujian akhir terdiri dari 100 soal pilihan ganda. Tiap soal mempunyai 5 pilihan dan
hanya satu jawaban yang benar. Hasil ujian dan informasi mahasiswa dapat
direpresentasikan sebagai berikut:
KUNCI:
1 2 3 4 .... 99 100
JAWABAN:
1 2 3 4 .... 99 100 NAMA:
1
2
...
...
N
Array KUNCI adalah array integer, berisi jawaban yang benar dari soal ujian pilihan
ganda (angka 1, 2, 3, 4, atau 5). Matriks JAWABAN[I,J] adalah array integer, berisi
jawaban dari siswa ke I untuk soal ke J. Array NAMA adalah array string, berisi nama
siswa yang mengikuti ujian. Jawaban ujian dikode sebagai angka 1, 2, 3, 4 atau 5. Jika
ada lebih dari suatu jawaban, maka dikode sebagai angka 6. Jawaban yang benar bernilai
1 dan seorang siswa baru dapat dinyatakan lulus jika mendapat nilai minimal 60.
Buatlah algoritma untuk mengisi array KUNCI, JAWABAN dan NAMA. Telusurilah
array KUNCI dan JAWABAN untuk menentukan nilai siswa, simpan hasilnya dalam
array NILAI. Output algoritma adalah semua nama siswa dan nilainya yang mendapatkan
predikat lulus.
Algoritma Menghitung_Jawaban
1. [ mengisi array kunci ]
For ( i = 0 ; i < 100 ; i++ )
{
Write("Masukkan Kunci ke ",i+1)
}
2. [ mengisi array jawaban ]
For (i = 0 ; i < 100 ; i++)
{
Write("Masukkan Jawaban no ",i+1)
}
3. [ mengisi nama siswa ]
For (i=0 ; i < 5 ; i++ )
535200052 Vaness Chen
{
Write("Tulis Nama Siswa ke ",i+1)
}
4. [ menelusuri array kunci dan jawaban ]
Read ( KUNCI[i])
Read ( JAWABAN[i][j]
5. [ mencari jawaban yang benar dan menentukan nilai siswa]
For ( i = 0 ; i < 100 ; i++ )
{
For ( j = 0 ; i < 100 ; i++ )
{
For ( k = 0 ; i < 6 ; i++ )
NILAI = 0
{
If ( JAWABAN[J][I] = KODE[1] )
{
Write ("JAWABAN = BENAR")
NILAI = J
}
Else if
JAWABAN[J][I] = KODE[2]
{
Write("JAWABAN = SALAH")
}
Else if
JAWABAN[J][I] = KODE[3]
{
Write("JAWABAN = SALAH")
}
Else if
JAWABAN[J][I] = KODE[4]
{
Write("JAWABAN = SALAH")
}
Else if
JAWABAN[J][I] = KODE[5]
{
Write("JAWABAN = SALAH")
}
Else if
JAWABAN[J][I] > 2
JAWABAN[J][I] = KODE [6]
{
Write("JAWABAN = SALAH")
}
}
If (JAWABAN[J][I] == KODE[1] > 60 )
{
Write (" NILAI SISWA ADALAH " N ")
535200052 Vaness Chen
}
}
6. [ menampilkan hasil output nama siswa dan nilai siswa yang lulus ]
For ( n = 0 ; n < 5 ; n++)
{
Write ("Nama Siswa ke ",i+1)
Read ( NAMA, NILAI )
}
7. Halt.
----------------------------------------------------------------------------------------------------------------
11. Diketahui data gaji karyawan suatu perusahaan disimpan dalam array matriks. Baris
menunjukkan karyawan ke i, kolom pertama menyimpan jumlah hari kerja dalam
sebulan, kolom kedua menyimpan golongan karyawan dan kolom ketiga menyimpan gaji
yang diterima dalam 1 bulan. Gaji karyawan dalam 1 bulan dihitung berdasarkan
golongan seperti tabel berikut:
Golonga Gaji pokok Uang transport
n perhari
1 Rp. 2.000.000 Rp. 50.000
2 Rp. 2.500.000 Rp. 60.000
3 Rp. 2.750.000 Rp. 75.000
4 Rp. 3.000.000 Rp. 100.000
11.a. Buatlah fungsi untuk menghitung gaji seorang karyawan berdasarkan tabel di atas
11.b. Buatlah algoritma untuk memasukkan data karyawan (jumlah hari kerja dan
golongan) ke dalam ke array matriks lalu menghitung besar gaji untuk tiap karyawan
dengan menggunakan fungsi pada 11.a dan menampilkan hasilnya dalam bentuk
tabel. Banyaknya karyawan ditentukan sendiri. Hitung pula total gaji dari seluruh
karyawan.
11
Variabel KARYAWAN, GOLONGAN, I, J, KOLOM1, KOLOM2, GAJI POKOK,
TRANSPORT, GAJI, TOTAL
VOID HITUNG_GAJI (INTEGER[ ], INTEGER[ ], INTEGER)
1. [ membaca array golongan ]
For ( i = 0 i < 4 ; i++)
{
Read ( GOLONGAN[i] )
2. [ menghitung gaji ]
GAJI POKOK[I] + TRANSPORT[J ] + GOLONGAN = GAJI
3. [kembali ke algoritma utama]
535200052 Vaness Chen
Algoritma Gaji
1. [ memasukkan data karyawan ]
For (KOLOM1 = 0 ; KOLOM1 < 30 ; KOLOM1++)
{ For ( KOLOM2 = 0 ; KOLOM2 < 4 ; KOLOM2 ++)
{ For ( KARYAWAN = 0 ; KARYAWAN < 10 ; KARYAWAN++)
{ Read (KOLOM1[I], KOLOM2[J], KARYAWAN)
}
}
}
2. [ menghitung gaji karyawan dengan fungsi hitung_gaji ]
HITUNG_GAJI(KOLOM[30],KOLOM2[4],KARYAWAN
3. [ menghitugn gaji total dari seluruh karyawan ]
TOTAL = HITUNG_GAJI
Write ("Total gaji dari seluruh karyawan adalah " ,TOTAL ")
4. Halt