Anda di halaman 1dari 4

Institut Teknologi Del

Jl. Sisingamangaraja, Desa Sitoluama,


Kec. Laguboti, Kab. Toba Samosir

ISS1202 - Programming II
Kuis 1
Soal dan Jawaban
Jawablah soal-soal berikut ini pada tempat yang sudah disediakan.
1. [20 pts] Lengkapi Tabel 1 berikut.
Tabel 1. Tipe data dan ukurannya

Ukuran yang diperlukan


Tipe data
bit byte
char 8 1
short int 16 2
long int 32 4
float 32 4
double 64 8
2. [20 pts] Berikan pemaparan anda tentang fungsi dari operator ampersand (&) dan
operator pointer (*). Lengkapi jawaban anda dengan contoh.
Ampersand operator (&) digunakan untuk mendapatkan memory address dari sebuah
variabel. Sementara pointer operator (*) digunakan untuk mengakses nilai yang ada
pada sebuah memory address. Pada contoh berikut diilustrasikan sebuah variabel i dan
pi masing-masing dengan tipe data short dan pointer to short. &i mengembalikan
alamat memory dari variabel i (misal: 0x0A), maka *pi akan mengakses nilai pada
alamat 0x0A.
short i = 4;
short *pi = NULL;
pi = &i;
3. [20 pts] Array adalah tipe data komposit. Berikan pemaparan anda tentang logical dan
physical size dari sebuah array. Lengkapi jawaban anda dengan contoh.
Logical size merujuk pada jumlah elemen yang dapat disimpan oleh sebuah array.
Sementara physical size adalah ukuran fisik main memory yang dialokasikan untuk
sebuah array. Pada contoh berikut diilustrasikan sebuah array dengan logical size 20
elemen. Karena array tersebut bertipe short, maka space yang diperlukan 20 x 2 bytes
address space pada memory atau setara dengan 40 bytes.
short arr[20];

Programming II/ Kuis | halaman 1


4. [40 pts] Perhatikan spesifikasi fungsi berikut:
a. Nama fungsi doSomething.
b. Fungsi tersebut menerima dua buah parameter nama _x dan _y, masing-masing
bertipe short int.
c. Fungsi tersebut tidak memiliki return value.
d. Fungsi tersebut akan menambah nilai _x dengan nilai _y dan akan mengurangi
nilai _y dengan nilai _x.
Lengkapi kode di bawah ini sehingga jika dieksekusi akan menghasilkan aa=33, bb=13.
dengan memanfaatkan fungsi dengan spesifikasi di atas.
#include <stdio.h>

// function prototype
void doSomething(short int *_x, short int *_y);

int main(int _argc, char **_argv){


short int aa = 10;
short int bb = 23;

// call doSomething along with aa and bb


doSomething(&aa, &bb);

printf("aa=%d, bb=%d", aa, bb);


}

// doSomething function definition


void doSomething(short int *_x, short int *_y){
short int tempX = *_x;
short int tempY = *_y;

*_x += tempY;
*_y -= tempX;
}

Programming II/ Kuis | halaman 2


Kriteria penilaian
No Kriteria 1 - Cukup 2 - Baik 3 - Baik sekali
1.1. Correct size values Sebagian kecil ukuran (bit dan byte) Sebagian besar ukuran (bit dan byte) Semua ukuran (bit dan byte) dari
dari tipe data sudah sesuai. dari tipe data sudah sesuai. setiap tipe data sudah sesuai.
2.1. Correct explanation of - Uraian tentang guna dari operator Uraian tentang guna dari operator
ampersand operator ampersand (&) belum tepat atau ampersand (&) sudah tepat dan
belum ditulis dengan dan perlu ditulis dengan baik.
improvisasi.
2.2. Correct explanation of - Uraian tentang guna dari operator Uraian tentang guna dari operator
pointer operator pointer (*) belum tepat atau belum ampersand (&) sudah tepat dan
ditulis dengan baik dan perlu ditulis dengan baik.
improvisasi.
2.3. Correct example Contoh yang diberikan sudah tepat Contoh yang diberikan sudah tepat Contoh yang diberikan sudah tepat
tanpa disertai penjelasan. namun penjelasan yang diberikan disertai penjelasan yang baik.
belum baik.
3.1. Correct explanation of Uraian tentang konsep logical array Uraian tentang konsep logical array Uraian tentang konsep logical array
logical array size size belum tepat dan perlu banyak size sudah tepat namun perlu size sudah tepat dan ditulis dengan
perbaikan dalam penulisan. perbaikan dalam penulisan. baik.
3.2. Correct explanation of Uraian tentang konsep physical array Uraian tentang konsep physical array Uraian tentang konsep physical array
physical array size size belum tepat dan perlu banyak size sudah tepat namun perlu size sudah tepat dan ditulis dengan
perbaikan dalam penulisan. perbaikan dalam penulisan. baik.
3.3. Correct example Contoh yang diberikan sudah benar Contoh yang diberikan sudah benar Contoh yang diberikan sudah benar
namun tanpa disertai penjelasan. namun perlu perbaikan dalam cara dan disertai penjelasan yang mudah
menjelaskan. dipahami.
4.1. Correct prototype - Prototipe fungsi sudah benar namun Prototipe fungsi sudah benar dan
tidak sesuai dengan realisi fungsi. sesuai dengan realisi fungsi.
4.2. Correct function call - - Pemanggilan fungsi sudah benar.
4.3. Function with - Fungsi dilengkapi dengan dua Fungsi dilengkapi dengan dua
parameter that passed parameter x dan y yang disertakan parameter x dan y yang disertakan

Programming II/ Kuis | halaman 3


by reference namun tidak by reference. by reference.
4.4. Correct algoritm - Algoritma yang digunakan belum Algoritma yang digunakan sudah
sesuai dengan instruksi soal dan sesuai dengan instruksi soal.
memerlukan modifikasi.

EOF

Programming II/ Kuis | halaman 4

Anda mungkin juga menyukai