Semester 1 2017/2018
Pengajar IHT
PETUNJUK
1. Lembar soal terdiri dari 7 soal Essay
2. Bobot tiap soal tertera di lembar soal
3. Jawaban dapat dikerjakan secara tidak berurutan, tetapi anda harus mencantumkan
nomor dengan jelas pada lembar jawaban anda
4. Soal tidak perlu ditulis ulang di lembar jawaban
5. Boleh menggunakan kalkulator Scientific biasa (bukan yang di Gadget, Hand phone,
Laptop)
6. Tidak diperbolehkan saling pinjam alat tulis dan kalkulator
7. Tulis nama dan NIM di lembar jawaban dan lembar soal
Nama :
Nim :
Kelas :
Page 1 of 3
Soal
1. Jelaskan dengan singkat. (20 points)
a. Apa yang dimaksud dengan sistem komputer dan organisasi komputer? Jelaskan perbedaan
antara keduanya. (5 points)
b. Sebutkan fungsi dari Memory Address Register (MAR) dan Memory Data Register (MDR)
dalam proses intruksi. (5 points)
c. Jelaskan langkah-langkah proses instruksi untuk melakukan akses data dari/ke memori. (10
points)
Solusi: (Fetch – Decode – Execute)
2. Dalam sebuah Unix system, translasi dari source file ke object file dilakukan oleh compiler driver.
unix> gcc -o hello hello.c
Jelaskan urutan dari sebuah compilation system dari sebuah hello.c menjadi executable
object file hello (10 points)
Solusi : (Pre-processor – Compiler – Assembler – Linker)
3. Materi dari praktikum. (20 points)
a. Buatlah sebuah program Bahasa C yang merepresentasikan fungsi XOR dengan hanya
menggunakan operator AND dan NOT. (10 points)
Solusi:
int fungsiXor(int x, int y)
{
int result;
result = ~((~(~x&y))&(~(x&~y)));
return result;
}
b. Buatlah sebuah program Bahasa C yang mengoperasikan pengurangan namun tidak
diperkenankan menggunakan operator pengurangan (-) (10 points)
Solusi:
int minBytes(int x, int y)
{
x = (x<<24)>>24;
y = (y<<24)>>24;
y = ~y+1 ; // untuk mengubah y menjadi -y
x = x+y; // melakan pengurangan, x = x-y karena y = -y
x = x&0x000000FF; return x;
}
b. Buatlah bilangan negatif dari int x = 23456 dan bilangan 0 dengan operasi implement dan
increment. (25 points)
Page 2 of 3
Decimal Hexadecimal Binary
x 23456 0x5BA0 0101 1011 1010 0000
~x -23457 0xA45F 1010 0100 0101 1111
~x + 1 -23456 0xA460 1010 0100 0110 0000
y -23456 0xA460 1010 0100 0110 0000
6. Diberikan floating point 10 bit menyerupai IEEE standard dengan bit tanda terletak di MSB, 5 bit
berikutnya adalah eksponen, dan 4 bit selanjutnya adalah fraction. Tentukan kisaran nilai terkecil
dan terbesar untuk bilangan normalized dan denormalized. (30 points)
Page 3 of 3
7. Kerjakan soal berikut. (50 points)
Page 4 of 3