Monday, January 9, 2012

CSC159 - Chapter 2 : Numbering System (part 1)

Assalamualaikum

Chapter 2.
2.1 Numbering Representation – Hexadecimal, Octal
2.2 Converting between bases – Hexadecimal, Octal, Binary
2.3 Arithmetic operations (+, -) – Hexadecimal & Octal
2.4 Floating point Format using IEEE – Hex – IEEE

Untuk chapter ni lect aku tak bg slide kot. Atau aku yg tak simpan o-0. Jadi, aku pakai nota cskedah tu punya lah untuk cover entri ni. Link kat sini. Aku nasihat korang scan through skali dulu word tu baru baca entri ni. Sng sikit nk paham.

Basically, korang kena conquer 4 base, hexa, octal, binary dgn decimal. Decimal siapa tak conquer lg sila pergi darjah 1 xP . Sbg budak CS korang akan byk guna hexa, binary dgn decimal. Nak kata wajib tak lah, tapi kalau master 3 base ni mmg takde masalah laa bab2 assembly language dgn digital logic nanti. Part 5 nanti kalau nasib korg pun sama cam kitorg gak, terpaksa amek ITT270 Digital Electronic, yang sepatutnya subjek 'ELEKTIF'. Subjek tu 20-30% benda2 yg korg dh blajar dlm csc159 ; number base, digital logic.

Berbalik kpd topik.
2.1 Numbering Representation

Nombor yang kita selalu pakai 0,1,2,3,.....9,10,11,... infinity, ni sebenarnya base 10, atau decimal. System ni dipanggil base 10 sbb dia pakai 10 digit yang unik {0,1,2,3,4,5,6,7,8,9}. Itulah logiknya. So, kalau kata kita nak pakai system nombor base 4, digit2 yg boleh diterima pakai ialah {0,1,2,3}. Sentiasa start dari kosong {0}.

Boleh jee kalau korang nak pakai base 6 ke base 13 ke nk buat ape2 pun, tapi yang korg kena master dlm topik ni, base 2 (binary), base 8 (octal) dgn base 16 (hexadecimal). Mengikut logik yang sama,

base 2 cuma ada digit {0,1},
base 8 {0,1,2,3,4,5,6,7}
dn base 16 {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}.

Tapi, disbbkan {10,11,12,13,14,15} tu tak unik, maka digantikan dgn huruf {A,B,C,D,E,F} mengikut turutan.
A=10, B=11, C=12, D=13, E=14, F=15.

Kalau korg rujuk nota cskedah tu, tgk la jadual kt page 2 tu yang nampak sebijik macam ni:


Decimal
Binary
Octal
Hexadecimal
0
0000
0
0
1
0001
1
1
2
0010
2
2
3
0011
3
3
4
0100
4
4
5
0101
5
5
6
0110
6
6
7
0111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
16
E
15
1111
17
F

 Oh, penting jugak korg kena tau main power. Bukan power rangers, tapi power yg square,cube segala tu. Kalau dlm bahasamelayunya kuasa. Kuasa dua, kuasa tiga, kuasa empat. Sbbnya, nilai tempat untuk semua number base tu kita boleh cari dgn power. Tgk jadual kat page 1 tu dan cuba pahamkan. Aku serabut tgk jadual tu so, aku bg contoh sendiri kat sini.

Kita amek contoh nombor decimal 14. Nombor 14 ni 14 laa kan.
Tapi, kalau baca dari segi power decimal, 14 tu sebenarnya :
1X101 + 4X100 = 10 + 4 = 14

Konsep yang sama untuk semua base.
Binary : 14 = 11102 = 1X23 + 1X22 + 1X21 + 0X20 = 8 + 4 + 2 + 0 = 14
Octal : 14 = 168 = 1X81 + 6X80 = 8 + 6 = 14
Hexadecimal : 14 = E = 14X160 (takleh nk buat apa dah kekeke)

Power sentiasa start dgn kosong {0} dari digit yang paling kanan sekali.


2.2 Converting Between Bases.

Kita ada 4 number system yang nk dipakai, jadi ada banyak cara nak convert antara satu base ke satu base lain.
Decimal > Binary ,, Decimal > Octal ,, Decimal > Hexadecimal

Binary > Octal ,, Binary > Decimal ,, Binary > Hexadecimal

Octal > Binary ,, Octal > Decimal ,, Octal > Hexadecimal

Hexadecimal > Binary ,, Hexadecimal > Octal ,, Hexadecimal > Decimal

Hamek tu, 12 conversion, kikiki. Kalau rajin bljr lah semua. Page 4 sampai page 11. Mmg kena bljr semua pun, sbb kalau keluar soalan korang kena tunjuk working utk dapat markah. Tapi aku suka buat conversion2 yang ni jee, sbb sng. Nak convert apa2 pun aku mesti convert binary dulu.

DECIMAL <-> BINARY

Nothing much here. Probably what u guys have been doing all along. Bahagi nombor decimal tu dgn {2}, baki letak kt sebelah kanan tu (baki sentiasa {0} atau {1}, kalau dpt selain dari tu ada la yg silap tu). Hasil bahagi tu, bahagikan lagi dgn {2}. Ulang sampai dapat hasil kosong. Baki yg sebelah kanan tu, tulis balik mula dgn nombor paling bawah tu tulis paling kiri, nombor paling atas tu tulis paling kanan. Itulah conversion decimal ke binary.
Binary ke decimal pulak, ada dua cara yang aku suka guna. Cara pertama macam dlm gambar atas sebelah kanan tu. Aku tulis power untuk stiap tempat digit (sbb power sentiasa start dgn {0} dari kanan). Lepas tu darab jaa setiap digit {1} dlm binary tu dgn power base {2} macam kt atas tu. dah darab, jumlahkan semua. Cara kedua, aku congak terus nilai setiap tempat digit tu(feveret). Dari kanan, nilai tempat {1,2,4,8,16,31,64,128,256,512,1024,2048.......}(perasan tak nombor2 ni kt mana2?), base 2 senang sbb semua gandaan dua untuk nombor yg seterusnya. Instead of tulis power, aku terus tulis nilai untuk kira. Lepas tu aku cuma jumlahkan semua nilai tu.

OCTAL <-> BINARY

Ini benda yang paling senang. Pisahkan setiap digit octal tu. Lepas tu tukar nilai tiap2 digit tu kpd tiga digit binary. Lepas dh tukar, gabungkan jee nombor binary tu.
Binary ke octal pulak, pisahkan nombor2 binary tu TIGA PER TIGA DARI KANAN. Kalau yang hujung kiri tu tak cukup tiga digit, anggap jaa ada digit {0} kt depan tuu bg cukup tiga. Lagi skali, tukar binary tu jadi decimal secara berasingan. Sudah tukar, kasi gabung, selesai.

Kenapa????
Ingat, base 8 ada nombor {0,1,2,3,4,5,6,7} digit paling tinggi {7}. Dalam binary, digit {7} ditulis sebagai 111. Sbb tu kita pisah tiga per tiga. Sbb semua nilai base 8 boleh diganti dgn mana2 gabungan 3 digit base 2.

HEXADECIMAL <-> BINARY

Yang ini sama jee dgn octal, beza nya yang ni ada 4 digit binary untuk setiap satu digit hexa.

Kenapa????
Ingat, base 16 ada nombor {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F} digit paling tinggi {F}. Dalam binary, digit {F} ditulis sebagai 1111. Sbb tu kita pisah 4by4.  Sbb semua nilai base 16 boleh diganti dgn mana2 gabungan 4 digit base 2.

Nampak tak berapa byk pakai binary kt sini? Semua nk kena binary ooooohhh. Tak masuk lagi truth table, {1} dgn {0} gak. Digital Logic nanti {1}  dgn {0} gak. Semua tu binary lah. Sbbnya, computer atau machine ni paham satu benda jaa. Suis. On/Off, {1}/{0}. Takdak benda lain dah. Core number system utk CS ni binary lah (self-proclaimed xP). Conquer binary, conquer semua base *whistles*

Untuk conversion2 yang lain, aku cuma pakai gabungan 2 conversion kt atas. Contoh nk buat Hexa > Decimal, aku buat Hexa > Binary, Binary > Decimal. Bukan sbb sng nk buat (sng apenye kalau kena buat dua conversion sekali), tapi sebab aku malas nk ingat conversion yg lain. Ingat, matematik, nombor, dan programming, semuanya bergantung kpd REASONING atau LOGIK. Selagi ada jalan logik, betul lah jawapan tu.(tapi bukan logik fallacy lah, xP). Anyway, cara conversion yang macam mana pun, bergantung kpd keselesaan masing2. Aku xleh paksa semua ikut cara aku. Sbb tu ada nota tu, page 4- 11 tu semua conversion. Cari cara yg korang selesa buat.

Ok, nanti sambung part 2. Apa2, mcm biasa, komen kt bawah tu. Kat tepi kanan tu pun ada chatbox, shoutout jee.

Assalamualaikum

Wednesday, January 4, 2012

CSC159 - Chapter 1: Introduction

Assalamualaikum.

Chapter 1, hmmmm~~
Kalau ikut comment fr8 kt first entri, ini lah isi kandungan chapter 1 :
1.1 Evolution of computer architecture
1.2 Stored Program Concept – Characteristics of Von Neumann Machine Englander

Ini link utk slide yg lect aku bg masa part 2 dulu.
Baca lah dgn bismillah :) . Aku xnak la buang masa mengulang benda2 dlm slide tu kat sini. Aku nk pinpoint benda2 yg aku rasa penting. Korg buat lah mindmap sendiri pakai keypoint2 yg aku nk bg nih. Lagi sng nk ingat kalau buat mindmap. Aku jenis tak menghafal, so kalau korg tgk nota2 ringkas aku semua dlm list form je. Takde buat mindmap lawa2nye kekeke~~ (off-topic). Oh, kalau nota2 yg budak2 cs kedah tu aku tgk cam panjang sangat jee. Itu korang just baca kalau teringin nk tau cerita la eh. Macam novel skit aku tgk nota2 tu.

So, kalau tgk kt slide lect aku tu, page 1, ada 5 benda lah korg kena khatam dlm chapter 1 ni:
1.Computer Evolution.
2.Generation of Programming Language.
3.Computer Architecture.
4.Protocol
5.Standard.

Aku akan refer page dlm slide ni je spnjg entri ni. Pandai2 lah korang cross check eh.

Computer Evolution
 Basically, part ni korg kena ingat lah tahun2 tu, nama2 mat saleh, dgn machine apa dorg invent. Kalau rajin hafal lah semua. Yang aku nk tekankan cuma perkataan2 ni:
Analytical Engine
Mark I
ABC
ENIAC
Von Neumann

 Pastikan korg baca semua yg berkaitan dgn pekataan2 di atas. Aku target kalau nk kluar test/exam pun benda2 ni jaa (sori lah kalau benda lain kuar :P, nanti kita check past semester exam). Kalau kluar pun bab2 ni maximum 2 soalan objektif,  and 1 part soalan struktur. Yang stored-program concept (page 4) tu HAFAL characteristics tu:
1. Memory hold both program and data
2. Memory is addressed linearly
3. Memory is addressed by the location number without regard to the contained within

Kiranya Von Neumann ni yg start buat konsep komputer2 skrg.  
1.Konsep komputer simpan segala program(winamp, windows media player, google chrome) dgn data(lagu,video,tweet2) kt dlm memori.
2.Tiap2 slot memori tu ada alamat masing2 disusun secara 'lurus'
3.Alamat2 tu pulak ikut turutan slot tu lah tak kira apa benda pun slot tu simpan.
(contoh: slot pertama alamat =1, slot kedua alamat =2, konsep macam index array jaaa)

Generation of Programming Language
Page 5-9 tu just scan through. Perlu tau, tapi tak sampai tahap kena hapai. Page 10, kalau rajin korg hafal, kalau tak rajin korg ingat. Tp benda ni macam akan berulang semester2 akan datang. Page 12-13 tu kena tau sikit2, aku punya quiz kena tanya soalan ni. Tp tak penah masuk test n exam aku kalau tak silap. Exam past year lg laaa aku tak igt.

Computer Architecture
Page 14 tu macam tiba2 sesat jee. Tapi diagram tu kena ingat, then kena tau lah input, output, process dgn storage tu menatang apa. Pernah klua soalan semudah 'List 3 example of (input/output/storage) devices. Jgn tekejut, sbb ada org takleh jawab.
Page 15 - fahamkan. Kalau tak faham, hafal. Hafal ni jaa :
Components of Architecture
1.Hardware.
2.Software.
3.Data.
4.Communication.
Tugas2 dia tu ingat lah kalau boleh.
Hardware tu kuli, mmg buat keja jee.
Software tu bos, bg arahan kt kuli.
Data tu bahan2 untuk buat kerja.
Communication tu cara bos nk cakap dgn kuli.
(Dapat???)

Bawah Hardware plak kena ingat benda2 ni (Page 16):
Hardware Components
1.I/O devices
2.Storage devices
3.CPU (Central Processing Unit)
4.Memory (Page 19)

Bawah CPU pulak kena ingat 3 benda penting ni (Page18):
1.Arithmethic/Logic Unit (ALU)
2.Control Unit (CU)
3.Interface Unit
Kalau korg pandai bahasa inggeris, nama benda2 ni dh terang2 tunjuk tugas masing2. Bila kluar soalan tanya definition benda2 ni, korg goreng jee pakai nama benda tu. Tapi kalau tak reti goreng, korg hafal jelah definition tuu.

Bawah Software tu just scan through keyword2 tu (Page 20):
Application
Operating System (dan anak2 kt bwh dia)

Bawah Communication tu pun fahamkan jugak (page 21) :
Communication channel (definition n example)
Interface hardware (definition n example)
Network Protocol

Page 22 tu macam penting jugak. Pastu fahamkan apa tu protocol n standard (page 23-24). Itu jee lah chapter 1 ni. Bykkan nk kena hafal? Baru chapter 1. Aku bukan jenis hafal. So, aku try fahamkan, and then goreng jee bila kuar soalan.

Orait, ada apa2 cadangan atau tak puas hati dgn entri, silakan comment kt bwh. Kalau perlu, aku edit n tambah2 apa yg patut. Sori sgt2 sbb tak dpt tlg byk kat sini, lg2 bab2 menghafal nih. Oh, kalau korg buat mindmap, patut dh boleh nampak cabang2 tu dah. Dari situ sng je nk hafal2. Siapkan mindmap masing2, pastu soaljawab dgn kwn2. OK, nantikan chapter 2.

Assalamualaikum.

CSC159 - Muqadimah dan Dokumen2

Assalamualaikum.

Hmmmm~~
So aku nk start mengepos entri2 CSC159, chapter by chapter. Aku akan cuba sebaik mungkin untuk terangkan topik yang agak abstrak ni. Abstrak sbb course ni byk sangat teori (menghafal) n korg kena cuba faham benda2 yg takleh nampak (proses dn sbgnya).

Ini link untuk nota2 dan slide2 budak cs uitm kedah.
Kalau rajin download lah. Aku mungkin pakai stgh2 nota n slide tu utk explain, sbb aku pun dh lupa csc159 ni. Lgpun buku2 aku dh bagi kt sape ntah. Nak mintak pun aku xigt bg kt sape. Aku cuma pakai slide2 yang lect aku bg n refer google search lah. Slide2 yang lect aku bg nanti aku bg link dowload kt entri2 yg berkenaan, sambil2 aku explain.

Oh, nasihat skit. Aku explain ni ikot cara aku faham dn supaya korg faham, insyaallah. Segala definition ni ikut rujukan aku sendiri, bukan rujukan lect korang. Apa2 korg still kena refer kt lect korang, takot ada percanggahan. Kalau ada beza definition aku dgn lect korang, pakai lect korang punya. Sbb lect korang yg nk marking test, quiz n exam nanti.

Lastly, aku tak janji lah boleh post entri secepat korg blajar kt kampus. Stakat ni aku akan cuba post 2-3 entri smgu, sbb aku ada projek skit. Insyaallah kalau projek dh habes nnt, tiap2 hari aku update.

Assalamualaikum.