2016 Daspro Uas
2016 Daspro Uas
Bobot untuk masing-masing komponen nilai project, mid exam, dan final exam berturut-turut adalah 0.3,
0.35, dan 0.35. Perlu dihitung perolehan nilai masing-masing mahasiswa (weighted score).
Tuliskan algoritma untuk melakukan pengisian data mahasiswa beserta nilai-nilainya, dan
penghitungannya sesuai penjelasan di atas. Berikut adalah procedure dan function yang harus Anda
selesaikan.
1. Procedure IsiData(output Mhs: tMhs, nMhs: integer)
2. Procedure HitungWScore(I/O Mhs: tMhs, input nMhs: integer)
3. Tampilkan nilai weighted score masing-masing mahasiswa.
Program HitungNilai
Kamus
Constant N: integer = 60
Type dMhs: < nim, nama : string
Project, Mid, Fin, WScore: real
>
Type tMhs: array[1..N] of dMhs
{Deklarasikan varibel yang diperlukan di bawah ini!}
Halaman 1 dari 7
Nama: …………………………….................... NIM: …………………….......
Algoritma
{Panggil prosedur untuk mengisi data dan menghitung weighted score setiap mahasiswa}
Kamus lokal
Algoritma
Kamus lokal
Algoritma
Halaman 2 dari 8
Nama: …………………………….................... NIM: …………………….......
Sebuah perpustakaan umum menyediakan loker sebagai tempat penitipan barang bagi para
pengunjungnya. Loker tersebut bisa dipinjam dengan syarat pengunjung memiliki kartu anggota
perpustakaan. Loker tersebut memiliki 100 slot dengan nomor 1 s.d. 100. Untuk memudahkan
pengelolaan, pihak manajemen perpustakaan bermaksud untuk mengkomputerisasi sistem peminjaman
loker yang selama ini masih bersifat manual. Sebagai programmer yang ditugaskan untuk membangun
sistem tersebut, tugas Anda adalah:
a. Buat prosedur RESET_ALL yang akan diaktifkan pada saat perpustakaan mulai dibuka; semua
loker dikosongkan!
b. Buat fungsi FIND_EMPTY untuk mencari loker yang kosong!
c. Buat prosedur USE_LOKER untuk mencatatkan nomor anggota perpustakaan yang melakukan
peminjaman pada loker yang bersesuaian!
d. Buat prosedur RESET_LOKER untuk mengosongkan satu loker tertentu!
Program SistemPeminjamanLoker
Kamus
constant nMax: integer = 100
Type TabelLoker: array [1..nMax] of string
TabLoker: TabelLoker
exit: boolean
menu, noLoker: integer
noAnggota: String
Procedure RESET_ALL (input T: TabelLoker)
Function FIND_EMPTY (T: TabelLoker, nMax: integer) integer
Procedure USE_LOKER (input/output T: TabelLoker, input noAnggota: String, input
noLoker: integer)
Procedure RESET_LOKER (input/output T: TabelLoker, input noLoker: integer)
Algoritma
{Memanggil prosedur RESET_ALL}
RESET_ALL
exit FALSE
while NOT exit do
output (‘1. Peminjaman Loker’)
output(‘2. Pengembalian Loker’)
output(‘3. Keluar’)
input (menu)
case (menu) of
1: {Memanggil fungsi FIND_EMPTY,
return value disimpan di variabel noLoker}
noLoker FIND_EMPTY (TabLoker)
if noLoker = 0 then
output (‘Loker penuh’)
else
input(noAnggota)
{Memanggil prosedur USE_LOKER}
USE_LOKER (TabLoker, nUsed, noAnggota, noLoker)
2: input(noLoker)
{Memanggil prosedur RESET_LOKER}
RESET_LOKER (TabLoker, noLoker)
else
exit TRUE
Halaman 3 dari 8
Nama: …………………………….................... NIM: …………………….......
Algoritma
Algoritma
Halaman 4 dari 8
Nama: …………………………….................... NIM: …………………….......
Algoritma
Algoritma
for i 2 to 10 do
x Tab[i]
j i - 1
while j > 0 and Tab[j] < x do
Tab[j+1] Tab[j]
j j - 1
Tab[j+1] x
Halaman 5 dari 8
Nama: …………………………….................... NIM: …………………….......
Tulislah isi Array Tab, ketika nilai i =6 dan nilai j tepat sebelum berubah menjadi 1.
1. Terdapat dua buah array yang berisi bilangan bilangan integer positif dan negative. Banyaknya
data pada kedua array tersebut bervariasi dan isi datanya masih belum terurut. Dari kedua array
itu akan dilakukan beberapa proses sebagai berikut:
a. Buatlah algoritma untuk mengurutkan array diatas secara descending menggunakan metode
Insertion Sort.
Procedure Selection Sort (input/output ArrayReal: array of real)
Kamus local:
Algoritma:
Halaman 6 dari 8
Nama: …………………………….................... NIM: …………………….......
b. Dari kedua array yang telah diurutkan, buatlah procedure untuk mencari elemen-elemen yang
sama di kedua tabel dan menempatkannya di array ke-3.
Contoh:
Array1 dan array2 setelah diurutkan:
Algoritma:
Halaman 7 dari 8
Nama: …………………………….................... NIM: …………………….......
Buat program untuk membaca sebuah pita mesin karakter, mendapatkan kata pertama dan terakhir dan
mengecek apakah kedua kata tersebut sama atau tidak.
Program KataPertama
Kamus
Constant Mark : character = ‘.’
Constant Blank : character = ‘ ’
Halaman 8 dari 8