Sem. 2 2013/2014
RUBRIK PENILAIAN
UJIAN TENGAH SEMESTER
KU1072/PENGENALAN TEKNOLOGI INFORMASI B
SEM. 2 2013/2014
HARI, TANGGAL : SABTU, 5 APRIL 2014
SIFAT UJIAN
DURASI
: 120 MENIT
BAHASA
: C++
FAK./SEK.
2.
3.
4.
5.
Dalam dokumen ini, terdapat 4 soal yang masing-masing memiliki komponen sebagai berikut:
a. Deskripsi Soal
b. Jawaban/alternatif jawaban setiap soal (bisa terintegrasi dengan soal, dalam bentuk teks warna merah)
c. Cara Penilaian
d. Rubrik Penilaian
Tata cara penilaian untuk tiap soal/bagian soal dapat dilihat pada bagian Cara Penilaian. Nilai setiap soal/bagian
soal ditentukan oleh tabel Rubrik Penilaian berdasarkan suatu kriteria tertentu.
Tabel Rubrik Penilaian terdiri atas 3 buah kolom yaitu:
- Indeks : indeks kategori kompetensi mahasiswa, dinyatakan dalam bentuk kumpulan huruf, yang merupakan
perkiraan dari range E (terendah) s.d. A (tertinggi). Ini merupakan versi huruf dari Nilai.
- Nilai : nilai skala 0 s.d. 4 pengganti setiap indeks. Ini merupakan instrumen penilaian utama.
- Deskripsi : deskripsi kriteria yang harus dicapai untuk memperoleh indeks/nilai terkait. Hal ini terkait dengan
kompetensi, kemampuan, atau hal lain yang harus dicapai oleh mahasiswa pada
Cara penilaian dengan menggunakan tabel Rubrik Penilaian adalah sbb:
- Dosen memeriksa pekerjaan mahasiswa pada soal/bagian soal terlebih dahulu dan memberikan tanda pada
semua kesalahan yang terjadi (seperti cara mengoreksi biasa).
- Cocokkan hasil pemeriksaan terhadap jawaban pada soal/bagian soal yang bersangkutan dengan kolom
Deskripsi pada tabel Rubrik Mahasiswa, cari deskripsi yang paling tepat mengambarkan hasil pekerjaan
mahasiswa.
- Berikan nilai skala 0 s.d. 4 yang sesuai dengan Deskripsi yang cocok dengan hasil pekerjaan mahasiswa. Nilai
ini bisa dikonversi menjadi E s.d. A, tetapi untuk mendapatkan nilai akhir tetap menggunakan nilai angka.
Nilai setiap soal/bagian soal adalah dalam skala 0 s.d. 4.
Setelah semua soal diberikan nilai, maka diberikan nilai akhir dengan cara mengalikan setiap nilai soal/bagian soal
setiap nilai dengan bobot masing-masing, yaitu:
a. Soal 1 : 25%
b. Soal 2 : 25%
c. Soal 3 : 25% dengan rincian: soal 3.a. : 12.5% dan soal 3.b. : 12.5%
d. Soal 4 : 25% dengan rincian: soal 4.a. : 12.5% dan soal 4.b. : 12.5%
Dosen penilai dipersilakan memberikan kebijakan-kebijakan yang diperlukan dalam proses penilaian, jika
dirasakan perlu dilakukan penyesuaian Rubrik Penilaian untuk kasus-kasus tertentu demi memberikan penilaian
yang seadil-adilnya kepada seluruh mahasiswa.
Sem. 2 2013/2014
cout << A;
void Tukar_Nilai (float *A, float *B);
i = 0;
while (i != 5) {
cout<<i<<endl;
i = i + 1;
}
Tuliskan penjelasan instruksi-instruksi di atas di bagian kosong di bawah ini dan di halaman kosong sebaliknya
(jika perlu).
ALTERNATIF JAWABAN
No.
1.a.
1.b.
1.c.
1.d.
1.e.
Instruksi
Instruksi untuk mendeklarasikan sebuah konstanta bernama X yang ber-type char
(character) yang mempunyai harga E.
Instruksi untuk mendeklarasikan sebuah variabel bernama T sebagai sebuah array
dengan elemen ber-type integer dengan ukuran 50 buah elemen, indeks dari 0 s.d. 49.
Instruksi kondisional (analisis kasus) dengan kasus yaitu apakah A (sebuah variabel
ber-type numerik, misalnya integer) bernilai lebih dari atau sama dengan 10 atau
kurang dari atau sama dengan 4. Jika ya, dituliskan ke layar nilai A melalui
perintah cout << A. Jika tidak, tidak dilakukan apa-apa.
Instruksi untuk mendeklarasikan sebuah prosedur dengan nama Tukar_Nilai yang
memiliki dua buah parameter yaitu parameter A dan B yang bertype float (bilangan
riil). Parameter A dan B sama-sama merupakan parameter yang memungkinkan untuk
input sekaligus output karena di-pass sebagai reference.
Instruksi pengulangan dengan memanfaatkan while. Pengendali pengulangan adalah
variabel i (bertype integer) yang diinisialisasi dengan nilai 0 melalui instruksi i
= 0. Dengan while, sebelum masuk ke badan pengulangan, kondisi pengulangan
diperiksa dahulu yaitu dalam hal ini perintah i != 0 (apakah i tidak sama dengan
0). Jika iya, baru masuk ke badan pengulangan. Badan pengulangan berisi perintah 1)
menuliskan isi variabel i ke layar (perintah cout<<i<<endl) dan 2) meng-increment
atau menambah 1 nilai variabel i (perintah i = i + 1). Setelah itu kembali ke awal
pengulangan while dengan memeriksa kondisi pengulangan. Pengulangan dihentikan
setelah nilai setelah perintah i = i + 1 menyebabkan nilai i menjadi = 5.
Dalam instruksi ini, badan pengulangan dieksekusi sebanyak 5 kali berdasarkan
pemeriksaan terhadap nilai i, yaitu dari i=0 s.d. i=4. Dengan demikian, di layar
akan tertulis:
0
1
2
3
4
Sem. 2 2013/2014
CARA PENILAIAN
1.
Berikan penilaian untuk setiap butir soal 1.a s.d. 1.e di atas. Jawaban untuk setiap butir soal tidak harus persis
sama, tetapi benar. Setiap butir soal dinilai sebagai berikut:
Nilai
Deskripsi
2
Jawaban benar (boleh kurang sedikit, tapi jawaban seluruhnya benar/tidak ada kesalahan)
1
Jawaban masih ada kesalahan, tapi mengarah pada jawaban yang benar
0
Mengerjakan, tapi salah total, atau tidak mengerjakan
Catatan:
Dosen dipersilakan memberikan nilai pertengahan, misalnya 0.5 atau 1.5 jika memang dirasa diperlukan.
2.
Jumlahkan/total nilai semua butir soal di atas untuk mendapatkan Nilai Total. Nilai Total maksimum = 10; Nilai
Total minimum = 0.
3.
Cocokkan Nilai Total dengan deskripsi kriteria Rubrik Penilaian di bawah untuk mendapatkan indeks dan nilai
soal. Mohon diperhatikan penilaian khusus untuk Nilai Total = 0.
Jika ada nilai pertengahan, dipersilakan untuk membuat kebijakan bagaimana cara memindahkannya ke
indeks/nilai berdasarkan rubrik di bawah ini.
RUBRIK PENILAIAN
Indeks
A
AAB
B
BC
C
CD+
D
DE+
E
Nilai
4
3.75
3.5
3
2.5
2
1.75
1.5
1
0.75
0.5
0
Deskripsi Kriteria
Nilai Total = 10
Nilai Total = 9
Nilai Total = 8
Nilai Total = 7
Nilai Total = 6
Nilai Total = 5
Nilai Total = 4
Nilai Total = 3
Nilai Total = 2
Nilai Total = 1
Nilai Total = 0, tapi masih mengerjakan (walaupun hanya 1 butir soal, tapi harus cukup signifikan)
Nilai Total = 0, dan tidak mengerjakan
Sem. 2 2013/2014
Program
Keluaran
#include <iostream>
using namespace std;
typedef struct {
string Nama;
int NIM;
int nilai;
} Mhs;
int main()
{
Mhs M;
M.Nama = "Amir"; M.NIM = 999; M.nilai = 50;
if (M.nilai > 50) {
cout << M.Nama << "/" << M.NIM << " lulus" << endl;
if (M.nilai > 80)
cout << "sangat memuaskan" << endl;
else
cout << "memuaskan" << endl;
} else {
cout << M.Nama << "/" << M.NIM << " tak lulus" << endl;
if (M.nilai > 40)
cout << "ambil ujian khusus" << endl;
else
cout << "ulang tahun depan" << endl;
}
return 0;
}
2.b.
#include <iostream>
using namespace std;
1
3
2.c.
int main () {
int i = 1;
while((i % 5) != 0) {
cout << i << endl;
i = i + 2;
}
return 0;
}
#include <iostream>
using namespace std;
long f1(int a, int b);
int main()
{
int a, b;
a = 2; b = 4;
cout << "f1(" << a << ","<< b << ") = " << f1(a,b);
return 0;
}
long f1(int a, int b)
{
int hasil = 1;
for (int i = 1; i <= b; i++)
{
hasil = hasil * a;
}
return hasil;
}
f1(2,4) = 16
Sem. 2 2013/2014
Tuliskan keluaran (apa yang tercetak di layar) dari program di bawah ini jika i = 0 dan j = 10 pada kotak kosong di
samping kanan program. Semua komentar program sengaja dihilangkan. Program sudah dipastikan lolos kompilasi.
Program
Keluaran
#include <iostream>
using namespace std;
i = 4 j = 20
int main () {
int i, j, k;
cin >> i; cin >> j;
do
{
j*=2;
i+=4;
k = i + j;
} while (j < i && k > j);
cout << "i = " << i << " j = " << j ;
return 0;
}
c.
No.
2.e.
Tuliskan keluaran (apa yang tercetak di layar) dari program di bawah ini jika angka = 20 pada kotak kosong di
samping kanan program. Semua komentar program sengaja dihilangkan. Program sudah dipastikan lolos kompilasi.
Program
Keluaran
#include <iostream>
using namespace std;
int main()
{
int i, j, angka;
bool aku;
cin >> angka;
for (i = 2; i < angka; i++)
{
aku = true;
for (j=2; j <= i/2; j++)
if((i % j) == 0) aku = false;
if (aku)
cout << i << " adalah aku";
}
return 0;
}
CARA PENILAIAN
1.
Berikan penilaian untuk setiap butir soal 2.a s.d. 2.e di atas. Jawaban setiap butir soal harus sama persis, tidak
boleh salah sedikit pun. Penilaian untuk setiap butir soal:
Nilai
Deskripsi
2
Jawaban benar, sama persis seperti pada jawaban di atas.
1
Jawaban secara umum benar, tetapi ada kesalahan formatting, misalnya harus ganti baris tapi tidak
ditulis demikian, atau sebaliknya; atau ada kesalahan hanya yang sangat minor.
0
Salah total, atau tidak mengerjakan.
2.
Jumlahkan/total nilai semua butir soal di atas untuk mendapatkan Nilai Total. Nilai Total maksimum = 10; Nilai
Total minimum = 0.
Cocokkan Nilai Total dengan deskripsi kriteria pada Rubrik Penilaian di bawah untuk mendapatkan indeks dan
nilai soal. Mohon diperhatikan penilaian khusus untuk Nilai Total = 0.
3.
Sem. 2 2013/2014
RUBRIK PENILAIAN
Indeks
A
AAB
B
BC
C
CD+
D
DE+
Nilai
4
3.75
3.5
3
2.5
2
1.75
1.5
1
0.75
0.5
Deskripsi Kriteria
Nilai Total = 10
Nilai Total = 9
Nilai Total = 8
Nilai Total = 7
Nilai Total = 6
Nilai Total = 5
Nilai Total = 4
Nilai Total = 3
Nilai Total = 2
Nilai Total = 1
Nilai Total = 0, tapi masih mengerjakan (walaupun hanya 1 butir soal, tapi harus cukup
signifikan)
Nilai Total = 0, dan tidak mengerjakan
Sem. 2 2013/2014
Fungsi Pangkat mempunyai parameter input berupa dua buah integer, misalnya x dan n, dan menghasilkan xn.
Untuk menyederhanakan persoalan, diasumsikan x adalah bilangan positif (x>0) dan n adalah bilangan positif atau
0 (n0). Berikut adalah contoh masukan (input) dan hasil dari fungsi tersebut.
Input
x
Hasil Pangkat(x,n)
n
1
2
2
4
5
2
0
5
3
1
1
1
32
64
5
// KAMUS LOKAL
int i, p;
// ALGORITMA
i = 1;
p = 1;
while (i <= n) {
p = p * x;
i++;
} // i = n
return p;
}
// ALTERNATIF 2
int Pangkat ( int x, int n )
// Tuliskan spesifikasi/penjelasan fungsi di bawah ini (dalam bentuk komentar)
// Menghasilkan x pangkat n, dengan asumsi x > 0 dan n >= 0
{
// KAMUS LOKAL
int i, p;
// ALGORITMA
if (n == 0) {
p = 1;
} else {
i = 1;
p = 1;
do {
p = p * x;
i++;
} while (i <= n);
}
return p;
Sem. 2 2013/2014
}
// ALTERNATIF 3
int Pangkat ( int x, int n )
// Tuliskan spesifikasi/penjelasan fungsi di bawah ini (dalam bentuk komentar)
// Menghasilkan x pangkat n, dengan asumsi x > 0 dan n >= 0
{
// KAMUS LOKAL
int i, p;
// ALGORITMA
p = 1;
for (i = 1; i <= n; i++) {
p = p * x;
}
return p;
CARA PENILAIAN
1.
2.
Alternatif jawaban lain diperbolehkan, asal memberikan hasil yang sama seperti alternatif jawaban di atas.
Nilai diberikan berdasarkan deskripsi kriteria pada Rubrik Penilaian di bawah ini.
RUBRIK PENILAIAN
Catatan:
Dipersilakan membuat indeks dan nilai tambahan untuk rubrik penilaian ini jika dirasa memang diperlukan untuk
membuat penilaian yang lebih presisi.
Indeks
A
AB
Nilai
4
3.5
C
D
2
1
E+
E
0.5
0
Deskripsi Kriteria
Secara keseluruhan benar, boleh ada kesalahan-kesalahan sintaks minor, misalnya kurang ;
Alternatif:
- Header fungsi (tipe hasil dan parameter) dan algoritma benar, tetapi tidak menuliskan
spesifikasi/penjelasan sama sekali
- Header fungsi (tipe hasil dan parameter) ada kesalahan minor, tapi sisa program benar
(termasuk ada spesifikasi)
Alternatif:
- Header (tipe hasil dan parameter) salah total/tidak dikerjakan, tetapi bagian algoritma benar
- Header (tipe hasil dan parameter) benar, tetapi ada kesalahan pada sebagian kecil bagian
algoritma
Header (tipe hasil dan parameter) benar, tetapi bagian algoritma sebagian besar salah
Alternatif:
- Masih ada bagian fungsi yang benar, walaupun sebagian besar salah
- Hanya mengerjakan bagian spesifikasi/penjelasan dari fungsi
Mengerjakan, tapi salah total
Tidak mengerjakan
Sem. 2 2013/2014
Di bawah ini adalah sebuah program yang digunakan untuk mengelola sebuah array yang digunakan untuk
menyimpan sejumlah nilai bilangan riil (float), yaitu TF, dan digunakan untuk menuliskan isi TF yang lebih besar
dari suatu nilai riil X dan menuliskan nilai maksimum yang tersimpan dalam TF. TF dideklarasikan sebagai
variabel global, artinya nama TF dikenali di semua bagian program, baik di main program, maupun di
prosedur/fungsi. Untuk menuliskan nilai TF yang lebih besar dari X digunakan prosedur TulisLebihBesar,
sedangkan untuk mendapatkan nilai maksimum dalam TF, misalnya x, digunakan fungsi CariMax.
0
2.5
14.1
0
-2
4.1
0
21.2
4.5
0
0
12.5
14.1
0
-2
4.1
0
1.2
4.5
0
Tertulis di layar
-1
Lengkapilah program di bawah ini. Bacalah instruksi yang tertulis dalam komentar dengan baik.
// Program ArrayFloat
// Menuliskan ke layar nilai suatu array of float yang lebih besar dari X dan
// Menuliskan nilai terbesar ke layar
#include <iostream>
using namespace std;
// KAMUS GLOBAL
// Konstanta
const int NMax = 10;
// Deklarasi array of float
float TF[NMax];
// Deklarasi fungsi dan prosedur
void TulisLebihBesar(float X);
// Menuliskan nilai-nilai dalam TF yang lebih besar dari X
// I.S. : TF sudah terisi, X terdefinisi
// F.S. : Isi TF yang lebih besar dari X tertulis ke layar
float CariMax();
// Menghasilkan nilai maksimum (terbesar) dalam TF
int main () {
// KAMUS, lengkapi dengan deklarasi variabel-variabel yang dibutuhkan
int i;
int X;
Sem. 2 2013/2014
// ALGORITMA
// Membaca isi array TI dari pengguna
for (i=0; i<NMax; i++)
cin >> TF[i];
// Menerima masukan X dari keyboard
cin >> X;
// Tuliskan di bawah ini ini: instruksi untuk menuliskan nilai-nilai TF yang lebih
// besar dari X dengan pemanggilan prosedur TulisLebihBesar
cout << "Lebih besar dari " << X << ": " << endl;
TulisLebihBesar(X);
// Tuliskan di bawah ini ini: instruksi untuk menuliskan nilai maksimum TF
// dengan cara memanggil fungsi CariMax dan menuliskan hasilnya ke layar
// Catatan: kode bisa lebih dari satu baris
cout << "Nilai maksimum: ";
cout << CariMax() << endl;
return 0;
}
// REALISASI PROSEDUR
void TulisLebihBesar(float X)
// Menuliskan nilai-nilai dalam TF yang lebih besar dari X
// I.S. : TF sudah terisi, X terdefinisi
// F.S. : Isi TF yang lebih besar dari X tertulis ke layar
{
// KAMUS LOKAL
int i;
// ALGORITMA
for (i=0; i<NMax; i++) {
if (TF[i]>X) {
cout << TF[i] << endl;
}
}
}
float CariMax()
// Menghasilkan nilai maksimum (terbesar) dalam TF
{
// KAMUS LOKAL
int i;
float max;
// ALGORITMA
max = TF[0];
i = 1;
while (i < NMax) {
if (TF[i] > max)
max = TF[i];
i++;
} // i = NMax
return max;
}
CARA PENILAIAN
1.
2.
Sem. 2 2013/2014
RUBRIK PENILAIAN
Catatan:
Dipersilakan membuat indeks dan nilai tambahan untuk rubrik penilaian ini jika dirasa memang diperlukan untuk
membuat penilaian yang lebih presisi.
Nilai
4
3
2
E+
E
0.5
0
Deskripsi
Secara keseluruhan benar, boleh ada kesalahan-kesalahan sintaks minor, misalnya kurang ;
Deskripsi kamus kurang atau salah, bagian yang lain benar.
Salah satu dari perintah memanggil prosedur TulisLebihBesar atau fungsi CariMax salah
total/tidak dikerjakan, yang lainnya (di luar deklarasi kamus) benar.
Kesalahan total termasuk kesalahan pemanggilan parameter.
Hanya deklarasi kamus yang benar, perintah untuk memanggil prosedur TulisLebihBesar dan
fungsi CariMax salah total/tidak dikerjakan.
Mengerjakan, tapi salah total.
Salah total/tidak dikerjakan.
Nilai
4
3
C
D
E+
E
2
1
0.5
0
Deskripsi Kriteria
Secara keseluruhan benar, boleh ada kesalahan-kesalahan sintaks minor, misalnya kurang ;
Alternatif:
- Tidak ada deklarasi kamus, tetapi algoritma benar
- Ada kesalahan minor pada bagian algoritma, tapi kamus lokal benar
Ada kesalahan pada sebagian dari algoritma.
Masih ada bagian algoritma yang benar, walaupun sebagian besar salah.
Mengerjakan, tapi salah total
Tidak mengerjakan
Nilai
4
3
C
D
E+
E
2
1
0.5
0
Deskripsi Kriteria
Secara keseluruhan benar, boleh ada kesalahan-kesalahan sintaks minor, misalnya kurang ;
Alternatif:
- Tidak ada deklarasi kamus, tetapi algoritma benar
- Ada kesalahan minor pada bagian algoritma, tapi kamus lokal benar
Ada kesalahan pada sebagian dari algoritma.
Masih ada bagian algoritma yang benar, walaupun sebagian besar salah.
Mengerjakan, tapi salah total
Tidak mengerjakan
Sem. 2 2013/2014
DESKRIPSI SOAL
Sebuah kuliah memberikan nilai akhir kepada setiap mahasiswanya dalam bentuk indeks yaitu A, B, C, D, dan
E. Nilai-nilai sebuah kuliah mahasiswa di sebuah kelas disimpan dalam sebuah array of character. Ada 50 mahasiswa
dalam kelas. Contoh data nilai mahasiswa yang disimpan dalam sebuah array (sengaja tidak ditulis lengkap agar
ringkas dalam penulisan soal) adalah:
A
50
Untuk keperluan evaluasi, sering kali dosen kelas perlu mengetahui berapa banyak mahasiswa yang mendapatkan suatu
nilai tertentu, yaitu nilai A, B, C, D, atau E.
Sebuah program digunakan untuk membaca sejumlah data nilai mahasiswa sebuah kelas dari keyboard (masukan
pengguna) dan menyimpannya ke sebuah array of character, misalnya TabNilai, dengan ukuran 50. Pembacaan nilai
dihentikan jika seluruh TabNilai penuh.
Selanjutnya, program menerima masukan sebuah nilai A, B, C, D, atau E dari pengguna dan menuliskan ke
layar berapa banyak kemunculan nilai tersebut dalam TabNilai. Ada kemungkinan pengguna salah mengentri pada
tahap ini, yaitu memasukkan nilai selain A, B, C, D, atau E. Jika pengguna salah mengentri, tuliskan pesan
kesalahan ke layar Masukan salah.
a.
b.
Jelaskan langkah-langkah untuk pembuatan program di atas dalam bahasa Anda sendiri. Jelaskan apa saja yang
harus dideklarasikan dalam kamus dan bagaimana langkah-langkah algoritmanya.
Buatlah programnya dalam Bahasa C++.
Tuliskan jawaban Anda pada sisa halaman ini dan sebaliknya. Program yang dibuat sedapat mungkin
merupakan program lengkap yang mengandung judul, spesifikasi, kamus, dan algoritma.
Sem. 2 2013/2014
CARA PENILAIAN
1.
2.
3.
Struktur penulisan algoritma di atas tidak harus persis seperti tersebut di atas (bahkan boleh kamus dan algoritma
dicampur), namun esensinya tetap menunjukkan adanya deklarasi kamus dan langkah-langkah algoritma yang
urutannya sesuai yang diharapkan.
Catatan khusus: konstanta NMax tidak harus ada karena tidak diminta eksplisit di soal.
Nilai diberikan berdasarkan deskripsi kriteria pada Rubrik Penilaian di bawah ini.
RUBRIK PENILAIAN
Catatan:
Dipersilakan membuat indeks dan nilai tambahan untuk rubrik penilaian ini jika dirasa memang diperlukan untuk
membuat penilaian yang lebih presisi.
Indeks
A
Nilai
4
AB
3.5
BC
2.5
C
D
E+
E
2
1
0.5
0
Deskripsi Kriteria
Secara keseluruhan algoritma benar dan lengkap, mengandung deklarasi kamus yang diperlukan
dan langkah urutan algoritma juga benar.
Ada pernyataan-pernyataan yang salah atau tidak lengkap (kesalahan minor), tetapi secara umum
langkah-langkah yang dituliskan masih tepat.
Alternatif:
- Tidak menuliskan deklarasi kamus yang diperlukan, tapi algoritmanya secara umum benar.
- Deklarasi kamus lengkap dan benar, tetapi ada satu bagian algoritma yang tidak
dikerjakan/salah total
Alternatif:
- Tidak menuliskan deklarasi kamus yang diperlukan, ada satu bagian algoritma yang tidak
dikerjakan/salah total, tapi bagian algoritma lainnya secara umum benar.
- Deklarasi kamus lengkap dan benar, tetapi ada dua atau tiga bagian algoritma yang tidak
dikerjakan/salah total.
Sekitar separuh dari deskripsi kamus dan algoritma salah total/tidak dikerjakan.
Hanya sebagian kecil dari kamus dan algoritma yang dikerjakan dengan benar.
Mengerjakan, tapi salah total.
Tidak mengerjakan
Sem. 2 2013/2014
CARA PENILAIAN
1.
2.
Alternatif penyelesaian program dengan cara lain dipersilakan, asalkan sesuai dengan algoritma di soal 3.a.
Nilai diberikan berdasarkan deskripsi kriteria pada Rubrik Penilaian di bawah ini.
RUBRIK PENILAIAN
Catatan:
Dipersilakan membuat indeks dan nilai tambahan untuk rubrik penilaian ini jika dirasa memang diperlukan untuk
membuat penilaian yang lebih presisi.
Indeks
A
AB
Nilai
4
3.5
BC
2.5
C
D
E+
E
2
1
0.5
0
Deskripsi Kriteria
Program benar dan lengkap, boleh ada kesalahan sintaks minor, misalnya kurang ;
Ada kesalahan minor pada program yang menyebabkan program tidak sempurna, tapi secara
umum program masih benar.
Alternatif:
- Tidak menuliskan deklarasi kamus yang diperlukan, tapi algoritmanya secara umum benar.
- Deklarasi kamus lengkap dan benar, tetapi ada satu bagian algoritma yang tidak
dikerjakan/salah total
Alternatif:
- Tidak menuliskan kamus yang diperlukan, ada satu bagian algoritma yang tidak
dikerjakan/salah total, tapi bagian algoritma lainnya secara umum benar.
- Deklarasi kamus lengkap dan benar, tetapi ada dua atau tiga bagian algoritma yang tidak
dikerjakan/salah total.
Sekitar separuh dari seluruh program salah total/tidak dikerjakan.
Hanya sebagian kecil dari kamus dan algoritma yang dikerjakan dengan benar.
Mengerjakan, tapi salah total.
Tidak mengerjakan