Anda di halaman 1dari 17

MATERI PELATIHAN BERBASIS KOMPETENSI

SEKTOR TELEMATIKA

SUB SEKTOR PROGRAMMER KOMPUTER

MEMBUAT ALGORITMA

PEMROGRAMAN LANJUT

TIK.PR02.002.01

BUKU PENILAIAN

DEPARTEMEN TENAGA KERJA DAN TRANSMIGRASI R.I.

DIREKTORAT JENDERAL PEMBINAAN PELATIHAN DAN PRODUKTIVITAS

Jl. Jend. Gatot Subroto Kav.51 Lt.7.B Jakarta Selatan

DAFTAR ISI
 

Daftar
Isi……………………………………………………………………………………………. 2

BAB I    KONSEP
PENILAIAN…………………………………………………………………… 3

1.1.           Bagaimana Instruktur akan Menilai ……………………………………… 4

1.2.           Tipe Penilaian ……………………………………………………………….. 4

BAB II   PELAKSANAAN PENILAIAN


………………………………………………………….. 5

2.1.           Kunci Jawaban Tugas-tugas Teori ……………………………………….. 5

2.2.           Daftar Check Unjuk Kerja (Praktek) …………………………………….. 16

LEMBAR PENILAIAN

Buku-buku Referensi untuk bahan pelatihan yang telah direkomendasikan:

1.Data Buku Pendukung Teori

 
 

BAB I

KONSEP PENILAIAN

1.1.          Bagaimana Instruktur akan Menilai

Dalam sistem berdasarkan Kompetensi, penilai akan mengumpulkan bukti dan membuat
pertimbangan mengenai pengetahuan, pemahaman dan unjuk kerja tugas-tugas Anda dan
sikap Anda terhadap pekerjaan. Anda akan dinilai untuk menentukan apakah Anda telah
mencapai kompetensi sesuai dengan standar yang dijelaskan dalam Kriteria Unjuk Kerja.

Pada pelatihan berdasarkan kompetensi, pendekatan yang banyak digunakan untuk penilaian
adalah “Penilaian berdasarkan criteria/Criterion-Referenced Assessment”. Pendekatan ini
mengukur unjuk kerja Anda terhadap sejumlah standar. Standar yang digunakan dijelaskan
dalam Kriteria Unjuk Kerja.

Penilaian dapat dilaksanakan dengan tujuan sebagai bantuan dan dukungan belajar. Tipe
penilaian ini adalah formatif dan merupakan proses yang sedang berjalan.

Penilaian juga dapat dilaksanakan untuk menentukan apakah Anda telah mencapai hasil
program belajar (contohnya pencapaian kompetensi dalam Unit). Tipe penilaian ini adalah
sumatif dan merupakan penilaian akhir.

 
Penilaian dapat dilaksanakan di industri (ditempat kerja) atau dilembaga pelatihan (diluar
tempat kerja). Jika memungkinkan, sebaiknya penilaian dilaksanakan ditempat kerja sehingga
penilai dapat mengamati Anda melakukan kegiatan normal ditempat kerja.

1.2.          Tipe Penilaian  

Test Tertulis

Test tertulis akan menilai pengetahuan Anda dan pemahaman konsep dan prinsip yang
merupakan dasar unjuk kerja tugas-tugas Anda. Test tertulis biasanya berupa seri pertanyaan
pilihan ganda atau beberapa bentuk test tertulis objectif lainnya, yaitu tes dimana setiap
pertanyaan memiliki satu jawaban benar.

Test Unjuk Kerja

Test unjuk kerja akan menilai kompetensi Anda dalam menampilkan tugas-tugas elemen
terhadap standar yang dijelaskan dalam Kriteria Unjuk Kerja. Oleh sebab itu Anda akan
menerapkan pengetahuan dan pemahaman Anda terhadap unjuk kerja tugas-tugas.

Penilai biasanya menggunakan daftar cek analisis elemen sebagai pedoman untuk
menentukan kompetensi Anda dan akan memberikan umpan balik mengenai unjuk kerja dan
jika perlu, merencanakan pelatihan lanjutan jika Anda belum mencapai kompetensi pada
usaha/kesempatan pertama.

BAB II

PELAKSANAAN PENILAIAN

1. Kunci Jawaban Tugas-tugas Teori dan praktek

1. Cara mendeklarasikan array 2 dimensi bertipe integer denagn jumlah dimensi (2,2)
yang tepat yaitu : (KUK 1.1)

Jawaban : a. int a[2][2];


 

1. Pengertian yang paling benar mengenai array adalah ? (KUK 1.1)

Jawaban : c. Array adalah sekumpulan data yang memiliki tipe sama dan memiliki
jumlah yang telah ditentukan sebelumnya.

1. Secara teori array memiliki maksimal dimensi berapa banyak (KUK 1.1)

Jawaban : d. Tidak terbatas

1. Terdapat array 2 dimensi dengan jumlah seperti dibawah ini :

Jawaban : c. 6 elemen

1. Apa itu file library ?  (KUK 1.2)

Jawaban : c. Sekumpulan fungsi – fungsi dan prosedur yang secara otomatis ada dalam
setiap program dan sudah memiliki fungsionalitasnya masing – masing.

1. Sebuah atribut yang melekat dalam sebuah fungsi / prosedur dan biasanya membawa
nilai tertentu, disebut sebagai ? (KUK 1.2)

Jawaban : b. parameter

1. Tata cara penulisan prosedur / fungsi yang tepat dibawan ini, yaitu :

Jawaban : b. void tampilkan_data();

1. Definsi yang tepat mengenai parameter aktual yaitu ? (KUK 1.2)

Jawaban : b. Parameter yang dipakai dalam pemanggilan fungsi.

 
1. Definsi yang tepat mengenai parameter formal yaitu ? (KUK 1.2)

Jawaban : c. Parameter yang ada pada daftar parameter dalam definisi fungsi.

1. 10.  Pemanggilan prosedur untuk menjalankan sistem pada modus grafis ditulis dalam
bentuk yang paling tepat dalam pemrograman menggunakan Turbo C, yaitu (KUK
1.3) :

Jawaban : a. void initgraph (int far * graphdriver, int far * graphmode, char far *
pathtodriver)

1. 11.  File library yang harus ditulis ketika hendak menggunakan fungsi – fungsi 
pemrograman grafis antara lain dalam pemrograman Turbo C (KUK 1.3):

Jawaban : c. graphics.h

1. 12.  Fungsi yang digunakan untuk merubah warna tulisan dalam pemrograman  Turbo
C adalah (KUK 1.3) ?

Jawaban : a. void setcolor(int color);

1. 13.  Definisi yang tepat mengenai obyek 3 dimensi adalah (KUK 1.3)?

Jawaban : c. Objek 3D adalah sekumpulan titik-titik 3D (x,y,z) yang membentuk


luasan-luasan (face) yang digabungkan menjadi  satu kesatuan.

1. 14.  Obyek 3D terdiri dari 3 komponen dasar, yaitu (KUK 1.3):

Jawaban : c. point, polyline dan polygon

1. 15.  Fungsi Windowing (pada pemrograman grafik lanjutan menggunakan open GL)
berfungsi sebagai ? (KUK 1.3)

Jawaban : a. Untuk mengatur windows, mouser dan penggunaan keyboard.

 
Soal Praktek

Soal Kasus Pertama

#include <dos.h>

#include <math.h>

#include <time.h>

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

int BestSpot , NumOfMember ;

double distance[10] ;

void calculate ( int[10] , int[10] ) ;

void main ( void ){

int x[10] , y[10] , i , j ;

textmode ( C80 ) ;

clrscr ( ) ;

gotoxy ( 30 , 1 ) ; printf ( “Meeting in Grid City” ) ;

gotoxy ( 30 , 2 ) ; printf ( “=-=-=-=-=-=-=-=-=-=-” ) ;

do  {

gotoxy ( 1 , 4 ) ; clreol ( ) ;

printf ( “Masukkan Jumlah Anggota [3..5] : ” ) ;

scanf ( “%d” , &NumOfMember ) ;  }

while ( NumOfMember < 3 || NumOfMember > 5 ) ;


for ( i = 0 ; i < NumOfMember ; i ++ ) {

if ( i % 2 == 0 )

textcolor ( LIGHTRED ) ;

else

textcolor ( LIGHTBLUE ) ;

gotoxy ( 1 , i + 6 ) ; cprintf ( “Koordinat rumah anggota ke %2d [0..10] ->” , i + 1     ) ;

do {

gotoxy ( 42 , i + 6 ) ; cprintf ( “koordinat x : ” ) ;

clreol ( ) ;

scanf ( “%d” , &x[i] ) ;

} while ( x[i] < 0 || x[i] > 10 ) ;

do{

gotoxy ( 62 , i + 6 ) ; cprintf ( “koordinat y : ” ) ;

clreol ( ) ;

scanf ( “%d” , &y[i] ) ;

}while ( y[i] < 0 || y[i] > 10 ) ;

calculate ( x , y ) ;

gotoxy ( 5 , 20 ) ; printf ( “Tempat terbaik adalah di rumah anggota ke %d dengan    jarak


total %.3lf” , BestSpot + 1 , distance[BestSpot] ) ;

while ( !kbhit ( ) ) {

gotoxy ( 20 , 25 ) ;

textcolor ( random ( 15 ) + 1 ) ;

textbackground ( random ( 8 ) ) ;

cprintf ( “Tekan sembarang tombol untuk selesai” ) ;


delay ( 500 ) ;  }}

void calculate ( int x[10] , int y[10] ){

int i , j ;

for ( i = 0 ; i < NumOfMember ; i ++ )  {

for ( distance[i] = 0 , j = 0 ; j < NumOfMember ; j ++ ){

distance[i] += sqrt ( ( x[i] – x[j] ) * ( x[i] – x[j] ) + ( y[i] – y[j] ) * ( y[i] – y[j] ) ) ;

gotoxy ( 10 , i + 12 ) ; printf ( “Jarak total untuk kumpul di rumah anggota ke %d =


%.3lf\n” , i + 1 , distance[i] ) ; }  }

for ( BestSpot = 0 , i = 1 ; i < NumOfMember ; i ++ )

if ( distance[BestSpot] > distance[i] )

BestSpot = i ;}

Soal Kasus Kedua

#include <time.h>

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#define maxdata 20

void drawborder ( void ) ;

void drawmenu ( void ) ;

void sortnilaiac ( int[] , float[] , int ) ;

void sortnilaidc( int[] , float[] , int ) ;


void sortbynim ( int[] , float[] , int ) ;

void cetak ( int[] , float[] , int ) ;

void main ( void ){

int ID[maxdata] ; float data[maxdata] ;

int i , j , out , out2 , selector = 0 ;

char key ;

textmode ( C80 ) ;

_setcursortype ( _NOCURSOR ) ;

clrscr ( ) ;

for ( i = 0 ; i < maxdata ; i ++ ) {

ID[i] = i + 10000 ;

data[i] = random ( 10000 ) / 100.0 ;

out = out2 = 0 ; textcolor ( YELLOW ) ;

while ( out == 0 ) {

drawborder ( ) ;

gotoxy ( 10 , 2 ) ;

printf ( “Daftar nilai mata kuliah Algoritma dan Pemrograman ( T0016 )” ) ;

gotoxy ( 20 , 3 ) ; printf ( “%-20s %-10s” , “NIM” , “Nilai” ) ;

for ( i = 0 ; i < maxdata ; i ++ ) {

gotoxy ( 20 , i + 4 ) ; printf ( “0700%06d %15.2f” , ID[i] , data[i] ) ;

drawmenu ( ) ;
out2 = 0 ;

do {

gotoxy ( 51 , 12 + selector ) ; printf ( “¯” ) ;

key = getch ( ) ;

gotoxy ( 51 , 12 + selector ) ; printf ( ” ” ) ;

if ( key == 0 ){

key = getch ( ) ;

switch ( key ) {

case 72 : if ( selector > 0 ) selector — ; break ;

case 80 : if ( selector < 4 ) selector ++ ; break ;

}}

if ( key == 13 ){

out2 = 1 ;

switch ( selector ) {

case 0 : sortbynim ( ID , data , maxdata ) ; break ;

case 1 : sortnilaiac ( ID , data , maxdata ) ; system ( “leocapt” ) ; break ;

case 2 : sortnilaidc ( ID , data , maxdata ) ; break ;

case 3 : cetak ( ID , data , maxdata ) ; break ;

case 4 : out = 1 ; break ;

}} }

while ( out2 == 0 ) ; }}

void drawborder ( void ){

int i ;

for ( i = 1 ; i <= 80 ; i ++ )

gotoxy ( i , 1 ) , printf ( “Û” ) , gotoxy ( i , 24 ) , printf ( “Û” ) ;


for ( i = 1 ; i < 25 ; i ++ )

gotoxy ( 1 , i ) , printf ( “Û” ) , gotoxy ( 80 , i ) , printf ( “Û” ) ;

void drawmenu ( void ){

gotoxy ( 52 , 10 ) ; printf ( “M E N U” ) ;

gotoxy ( 52 , 11 ) ; printf ( “ßÜßÜßÜß” ) ;

gotoxy ( 52 , 12 ) ; printf ( “Sort by NIM” ) ;

gotoxy ( 52 , 13 ) ; printf ( “Sort by score ascending” ) ;

gotoxy ( 52 , 14 ) ; printf ( “Sort by score descending” ) ;

gotoxy ( 52 , 15 ) ; printf ( “Print to file” ) ;

gotoxy ( 52 , 16 ) ; printf ( “Exit” ) ;

void sortnilaiac ( int NIM[] , float nilai[] , int array_size ){

int i , j , increment , temp2 ;

float temp1 ;

increment = 3 ;

while ( increment > 0 ) {

for ( i = 0 ; i < array_size ; i ++ )  {

j=i;

temp1 = nilai[i] ;

temp2 = NIM[i] ;

while ( (j >= increment ) && ( nilai[j-increment] > temp1 ) ){

nilai[j] = nilai[j-increment] ;

NIM[j] = NIM[j-increment] ;
j = j – increment ;

nilai[j] = temp1 ;

NIM[j] = temp2 ;

if ( increment/2 != 0 )

increment = increment / 2 ;

else if ( increment == 1 )

increment = 0 ;

else

increment = 1 ; }}

void sortnilaidc ( int NIM[] , float nilai[] , int array_size ){

int i , j , increment , temp2 ;

float temp1 ;

increment = 3 ;

while ( increment > 0 ) {

for ( i = 0 ; i < array_size ; i ++ ) {

j=i;

temp1 = nilai[i] ;

temp2 = NIM[i] ;

while ( ( j >= increment ) && ( nilai[j-increment] < temp1 ) ){

nilai[j] = nilai[j-increment] ;

NIM[j] = NIM[j-increment] ;
j = j – increment ;

nilai[j] = temp1 ;

NIM[j] = temp2 ;

if ( increment/2 != 0 )

increment = increment / 2 ;

else if ( increment == 1 )

increment = 0 ;

else

increment = 1 ; }}

void sortbynim ( int NIM[] , float nilai[] , int array_size ){

int i , j , increment , temp2 ;

float temp1 ;

increment = 3 ;

while ( increment > 0 ) {

for ( i = 0 ; i < array_size ; i ++ )   {

j=i;

temp1 = nilai[i] ;

temp2 = NIM[i] ;

while ( (j >= increment ) && ( NIM[j-increment] > temp2 ) ){

nilai[j] = nilai[j-increment] ;
NIM[j] = NIM[j-increment] ;

j = j – increment ;}

nilai[j] = temp1 ;

NIM[j] = temp2 ;}

if ( increment/2 != 0 )

increment = increment / 2 ;

else if ( increment == 1 )

increment = 0 ;

else

increment = 1 ; }}

void cetak ( int NIM[] , float nilai[] , int NumOfData ){

int i ;

FILE* out = fopen ( “soal10.out” , “w” ) ;

fprintf ( out , “%-20s %-10s\n” , “NIM” , “Nilai” ) ;

for ( i = 0 ; i < NumOfData ; i ++ )

fprintf ( out , “0700%06d %15.2f\n” , NIM[i] , nilai[i] ) ;

fclose ( out ) ;

2.2        Daftar Check Unjuk Kerja (Praktek)       

TUGAS – TUGAS YANG KOMPETEN BELUM TANGGAL


DITAMPILKAN
KOMPETEN
1. Memahami dengan baik dasar –      
dasar pemrograman.
2. Memahami tentang dasar array      
multi dimensi.

 
3. Memahami tentang dasar – dasar      
operasi array multi dimensi.

 
4. Memahami tentang dasar – dasar      
prosedur dan fungsi.

 
5. Memahami tentang      
mengaplikasikan fungsi dan
prosedur sendiri.

 
6. Memahami tentang dasar – dasar      
pemrograman grafis.

 
7. Memahami fungsi – fungsi penting      
dalam pengelolaan grafis.

 
8. Memahami tentang pemrograman      
grafis obyek 3D

2.3 Check List Teori dan Praktek

Semua kesalahan harus diperbaiki terlebih dahulu sebelum ditandatangani

Penguasaan Bahan Ya
Apakah semua petunjuk kerja diikuti ?  
Apakah peserta pelatihan mampu memahami sintaks -  sintaks dasar dalam  
pemrograman ?
Apakah peserta pelatihan mampu memahami tentang dasar – dasar prosedur dan  
fungsi ?
Apakah peserta pelatihan mampu mampu memahami fungsi – fungsi penting  
dalam pemrograman ?.
Apakah peserta pelatihan mampu memahami tentang membuat fungsi dan  
prosedur sendiri ?
 
Apakah peserta pelatihan mampu memahami dasar – dasar pemrograman grafis ?  
Apakah peserta pelatihan mampu memahami fungsi – fungsi penting dalam  
pemrograman grafis ?
Apakah peserta pelatihan telah mampu memahami pemrograman grafis obyek 3D
menggunakan Open GL ?

Anda mungkin juga menyukai