Jumat, 19 Juli 2013

Materi Binary

السلام عليكم
Kembali lagi bertemu dengan tulisan saya. Semoga dapat membantu para pembaca. Pada tahun ajaran baru ini, di awal minggu ini rasanya saya sudah bisa merasakan betapa sibuknya minggu demi minggu yang akan saya lewati sebelum UNAS datang menjemput J
Pada awal minggu ini saya sudah mendapatkan ilmu yang sebenarnya pernah dipelajari namun kurang untuk didalami dan difahami. Kali ini saya akan memostingkan ilmu yang mungkin agak ribet dan sulit untuk difahami. Namun saya yakin dengan tekat dan usaha, kita pasti bisa.
Berikut materi yang mungkin akan coba saya  uraikan sedikit demi sedikit.
1.     Bilangan ASCII
2.     MSB dan LSB
3.     Komplemen dalam Binary
Mari kita pahami satu per-satu.
1.     Bilangan ASCII.
Apa itu bilangan ASCII? Awalnya saya juga tidak tau, dan tidak pernah mendengar. Baru ini saya mendengar itu dan juga mendapat tugas. ASCII (American Standard Code for Information Interchange) merupakan suatu standar internasional dalam kode huruf dan simbolseperti Hex dan Unicode tetapi ASCII lebih bersifat universal, contohnya 124 adalah untuk karakter "|". Ia selalu digunakan oleh komputer dan alat komunikasi lain untuk menunjukkan teks.
Kode ASCII sebenarnya memiliki komposisi bilangan biner sebanyak 7 bit. Namun, ASCII disimpan sebagai sandi 8 bit dengan menambakan satu angka 0 sebagai bit significant paling tinggi. Bit tambahan ini sering digunakan untuk uji prioritas.
Karakter control pada ASCII dibedakan menjadi 5 kelompok sesuai dengan penggunaan yaitu berturut-turut meliputi logical communication, Device control, Information separator, Code extention, dan physical communication. Code ASCII ini banyak dijumpai pada papan ketik (keyboard) computer atau instrument-instrument digital.
Jumlah kode ASCII adalah 255 kode. Kode ASCII 0..127 merupakan kode ASCII untuk manipulasi teks; sedangkan kode ASCII 128..255 merupakan kode ASCII untuk manipulasi grafik. Kode ASCII sendiri dapat dikelompokkan lagi kedalam beberapa bagian:
·         Kode yang tidak terlihat simbolnya seperti Kode 10(Line Feed), 13(Carriage Return), 8(Tab), 32(Space)
·         Kode yang terlihat simbolnya seperti abjad (A..Z), numerik (0..9), karakter khusus (~!@#$%^&*()_+?:”{})
·         Kode yang tidak ada di keyboard namun dapat ditampilkan. Kode ini umumnya untuk kode-kode grafik.
Dalam pengkodean kode ASCII memanfaatkan 8 bit. Pada saat ini kode ASCII telah tergantikan oleh kode UNICODE (Universal Code). UNICODE dalam pengkodeannya memanfaatkan 16 bit sehingga memungkinkan untuk menyimpan kode-kode lainnya seperti kode bahasa Jepang, Cina, Thailand dan sebagainya.
Pada papan keyboard, aktifkan numlock (tidak terdapat pada laptop), tekan tombol ALT secara bersamaan dengan kode karakter maka akan dihasilkan karakter tertentu. Misalnya: ALT + 44 maka akan muncul karakter koma (,). Mengetahui kode-kode ASCII sangat bermanfaat misalnya untuk membuat karakter-karakter tertentu yang tidak ada di keyboard.
Tabel berikut berisi karakter-karakter ASCII . Dalam sistem operasi Windows dan MS-DOS, pengguna dapat menggunakan karakter ASCII dengan menekan tombol Alt+[nomor nilai ANSI (desimal)]. Sebagai contoh, tekan kombinasi tombol Alt+87 untuk karakter huruf latin "W" kapital.

Karakter
Nilai Unicode
(heksadesimal)
Nilai ANSI ASCII
(desimal)
Keterangan
NUL
0000
0
Null (tidak tampak)
SOH
0001
1
Start of heading (tidak tampak)
STX
0002
2
Start of text (tidak tampak)
ETX
0003
3
End of text (tidak tampak)
EOT
0004
4
End of transmission (tidak tampak)
ENQ
0005
5
Enquiry (tidak tampak)
ACK
0006
6
Acknowledge (tidak tampak)
BEL
0007
7
Bell (tidak tampak)
BS
0008
8
Menghapus satu karakter di belakang kursor (Backspace)
HT
0009
9
Horizontal tabulation
LF
000A
Pergantian baris (Line feed)
VT
000B
Tabulasi vertikal
FF
000C
Pergantian baris (Form feed)
CR
000D
Pergantian baris (carriage return)
SO
000E
Shift out (tidak tampak)
SI
000F
Shift in (tidak tampak)
DLE
0010
Data link escape (tidak tampak)
DC1
0011
Device control 1 (tidak tampak)
DC2
0012
Device control 2 (tidak tampak)
DC3
0013
Device control 3 (tidak tampak)
DC4
0014
Device control 4 (tidak tampak)
NAK
0015
Negative acknowledge (tidak tampak)
SYN
0016
Synchronous idle (tidak tampak)
ETB
0017
End of transmission block (tidak tampak)
CAN
0018
Cancel (tidak tampak)
EM
0019
End of medium (tidak tampak)
SUB
001A
Substitute (tidak tampak)
ESC
001B
Escape (tidak tampak)
FS
001C
File separator
GS
001D
Group separator
RS
001E
Record separator
US
001F
Unit separator
SP
0020
Spasi
 !
0021
Tanda seru (exclamation)
"
0022
Tanda kutip dua
#
0023
Tanda pagar (kres)
$
0024
Tanda mata uang dolar
 %
0025
Tanda persen
&
0026
Karakter ampersand (&)
0027
Karakter Apostrof
(
0028
Tanda kurung buka
)
0029
Tanda kurung tutup
*
002A
Karakter asterisk (bintang)
+
002B
Tanda tambah (plus)
,
002C
Karakter koma
-
002D
Karakter hyphen (strip)
.
002E
Tanda titik
/
002F
Garis miring (slash)
0
0030
Angka nol
1
0031
Angka satu
2
0032
Angka dua
3
0033
Angka tiga
4
0034
Angka empat
5
0035
Angka lima
6
0036
Angka enam
7
0037
Angka tujuh
8
0038
Angka delapan
9
0039
Angka sembilan
 :
003A
Tanda titik dua
 ;
003B
Tanda titik koma
< 
003C
Tanda lebih kecil
=
003D
Tanda sama dengan
> 
003E
Tanda lebih besar
 ?
003F
Tanda tanya
@
0040
A keong (@)
A
0041
Huruf latin A kapital
B
0042
Huruf latin B kapital
C
0043
Huruf latin C kapital
D
0044
Huruf latin D kapital
E
0045
Huruf latin E kapital
F
0046
Huruf latin F kapital
G
0047
71
Huruf latin G kapital
H
0048
Huruf latin H kapital
I
0049
73
Huruf latin I kapital
J
004A
74
Huruf latin J kapital
K
004B
Huruf latin K kapital
L
004C
76
Huruf latin L kapital
M
004D
77
Huruf latin M kapital
N
004E
Huruf latin N kapital
O
004F
Huruf latin O kapital
P
0050
Huruf latin P kapital
Q
0051
Huruf latin Q kapital
R
0052
82
Huruf latin R kapital
S
0053
83
Huruf latin S kapital
T
0054
84
Huruf latin T kapital
U
0055
Huruf latin U kapital
V
0056
86
Huruf latin V kapital
W
0057
87
Huruf latin W kapital
X
0058
Huruf latin X kapital
Y
0059
89
Huruf latin Y kapital
Z
005A
Huruf latin Z kapital
[
005B
Kurung siku kiri
\
005C
Garis miring terbalik (backslash)
]
005D
93
Kurung sikur kanan
^
005E
94
Tanda pangkat
_
005F
Garis bawah (underscore)
`
0060
96
Tanda petik satu
a
0061
97
Huruf latin a kecil
b
0062
Huruf latin b kecil
c
0063
Huruf latin c kecil
d
0064
Huruf latin d kecil
e
0065
101
Huruf latin e kecil
f
0066
102
Huruf latin f kecil
g
0067
103
Huruf latin g kecil
h
0068
104
Huruf latin h kecil
i
0069
105
Huruf latin i kecil
j
006A
106
Huruf latin j kecil
k
006B
107
Huruf latin k kecil
l
006C
108
Huruf latin l kecil
m
006D
109
Huruf latin m kecil
n
006E
110
Huruf latin n kecil
o
006F
111
Huruf latin o kecil
p
0070
112
Huruf latin p kecil
q
0071
113
Huruf latin q kecil
r
0072
114
Huruf latin r kecil
s
0073
115
Huruf latin s kecil
t
0074
116
Huruf latin t kecil
u
0075
117
Huruf latin u kecil
v
0076
118
Huruf latin v kecil
w
0077
119
Huruf latin w kecil
x
0078
120
Huruf latin x kecil
y
0079
121
Huruf latin y kecil
z
007A
122
Huruf latin z kecil
{
007B
123
Kurung kurawal buka
¦
007C
124
Garis vertikal (pipa)
}
007D
125
Kurung kurawal tutup
~
007E
126
Karakter gelombang (tilde)
DEL
007F
127
Delete
0080
128
Dicadangkan
0081
129
Dicadangkan
0082
130
Dicadangkan
0083
131
Dicadangkan
IND
0084
132
Index
NEL
0085
133
Next line
SSA
0086
134
Start of selected area
ESA
0087
135
End of selected area
0088
136
Character tabulation set
0089
137
Character tabulation with justification
008A
138
Line tabulation set
PLD
008B
139
Partial line down
PLU
008C
140
Partial line up
008D
141
Reverse line feed
SS2
008E
142
Single shift two
SS3
008F
143
Single shift three
DCS
0090
144
Device control string
PU1
0091
145
Private use one
PU2
0092
146
Private use two
STS
0093
147
Set transmit state
CCH
0094
148
Cancel character
MW
0095
149
Message waiting
0096
150
Start of guarded area
0097
151
End of guarded area
0098
152
Start of string
0099
153
Dicadangkan
009A
154
Single character introducer
CSI
009B
155
Control sequence introducer
ST
009C
156
String terminator
OSC
009D
157
Operating system command
PM
009E
158
Privacy message
APC
009F
158
Application program command
00A0
160
Spasi yang bukan pemisah kata
¡
00A1
161
Tanda seru terbalik
¢
00A2
162
Tanda sen (Cent)
£
00A3
163
Tanda Poundsterling
¤
00A4
164
Tanda mata uang (Currency)
¥
00A5
165
Tanda Yen
¦
00A6
166
Garis tegak putus-putus (broken bar)
§
00A7
167
Section sign
¨
00A8
168
Diaeresis
©
00A9
169
Tanda hak cipta (Copyright)
ª
00AA
170
Feminine ordinal indicator
«
00AB
171
Left-pointing double angle quotation mark
¬
00AC
172
Not sign
00AD
173
Tanda strip (hyphen)
®
00AE
174
Tanda merk terdaftar
¯
00AF
175
Macron
°
00B0
176
Tanda derajat
±
00B1
177
Tanda kurang lebih (plus-minus)
²
kodok
178
Tanda kuadrat (pangkat dua)
³
00B3
179
Tanda kubik (pangkat tiga)
´
00B4
180
Acute accent
µ
00B5
181
Micro sign
00B6
182
Pilcrow sign
·
00B7
183
Middle dot

Begitulah penjelasan tentang apa itu ASCII. Sedikit ataupun banyak, pengetahuan tentang ASCII telah kita dapat.
الحمد لله
2.     MSB dan LSB
Apa itu MSB dan LSB? Saya juga baru mendengarnya. MSB (Most Significant Bit) adalah satu digit yang disebut sebagai paling kiriBit, karena penulisan angka yang lebih significantlebih jauh ke kiri. Misalnya pada byte 00011001,maka bit MSB-nya adalah bita yang terletak di palingkiri yaitu 0.
LSB (Least Significant Bit) disebut sebagai palingkanan Bit. Dikarenakan penulisan angka kurangsignificant lebih lanjut ke kanan. Misalnya pada byte00011001, maka bit LSB-nya adalah bita yangterletak di paling kanan yaitu 1
3.     Komplemen
Di dalam matematika, bilangan negatif biasanya dinyatakan dengan cara menambahkan tanda − di depan bilangan tersebut. Namun di dalam komputer, bilangan hanya dapat dinyatakan sebagai kode biner 0 dan 1 tanpa ada simbol yang lainnya, sehingga diperlukan suatu cara untuk mengkodekan tanda minus.
Beberapa metode yang dapat digunakan untuk menyatakan bilangan bertanda di sistem bilangan biner adalah: sign-and-magnitude, komplemen satu (ones' complement), dan komplemen dua (two's complement).
Komputer modern pada umumnya menggunakan metode komplemen dua, namun metode lain juga digunakan pada situasi tertentu.
Metode Sign-and-magnitude
8 bit signed magnitude
Binary
Signed
Unsigned
00000000
+0
0
00000001
1
1
...
...
...
01111111
127
127
10000000
-0
128
10000001
-1
129
...
...
...
11111111
-127
255
Untuk menyatakan tanda bilangan (positif atau negatif), dapat digunakan salah satu bit yang ada untuk menyatakan tanda tersebut. Bit tersebut (biasanya bit yang pertama atau most significant bit) diset bernilai 0 untuk bilangan positif, dan 1 untuk bilangan negatif. Bit-bit yang lain menyatakan magnitude atau nilai mutlak dari bilangan. Jadi di dalam satu byte (8-bit), satu bit digunakan sebagai tanda, dan 7 bit sisanya sebagai magnitude yang nilainya bisa berisi mulai dari 0000000 (0) sampai 1111111 (127).
Cara ini dapat digunakan untuk merepresentasikan bilangan dari −12710 sampai +12710. Konsekuensi dari metode ini adalah: akan ada dua cara untuk menyatakan nol, yaitu 00000000 (0) dan 10000000 ([-0|−0]). Komputer generasi awal (misalnya IBM 7090) menggunakan metode ini. Sign-and-magnitude adalah cara yang banyak dipakai untuk merepresentasikan significand di dalam bilangan floating point.
Komplemen satu (Ones' complement)
8 bit ones' complement
Binary value
Ones' complement interpretation
Unsigned interpretation
00000000
+0
0
00000001
1
1
...
...
...
01111101
125
125
01111110
126
126
01111111
127
127
10000000
-127
128
10000001
-126
129
10000010
-125
130
...
...
...
11111110
-1
254
11111111
-0
255
Sistem yang dikenal dengan nama komplemen satu (ones' complement) juga dapat digunakan untuk merepresentasikan bilangan negatif. Bentuk komplemen satu untuk bilangan biner negatif diperoleh dengan cara membalik seluruh bit dari bilangan biner positifnya. Bit yang bernilai 0 dibalik menjadi 1, dan bit yang bernilai 1 dibalik menjadi 0. Seperti pada metode sign-and-magnitude, di metode komplemen satu ini ada dua cara merepresentasikan bilangan nol, yaitu : 00000000 (+0) dan 11111111 ([-0|−0]).
Contoh, bentuk komplemen satu dari 00101011 (43) adalah 11010100 (−43). Jangkauan dari bilangan bertanda dengan komplemen satu adalah -(2N-1-1) sampai (2N-1-1) dan +/-0. Untuk sistem 8-bit (byte) jangkauannya adalah -12710 sampai +12710 dengan nol bisa berbentuk 00000000 (+0) atau 11111111 (-0).
Metode komplemen satu ini banyak dipakai di komputer generasi lama, seperti PDP-1CDC 160A dan UNIVAC 1100/2200 series.

Komplemen dua (Two's complement)
8 bit two's complement
Binary value
Two's complement interpretation
Unsigned interpretation
00000000
0
0
00000001
1
1
...
...
...
01111110
126
126
01111111
127
127
10000000
-128
128
10000001
-127
129
10000010
-126
130
...
...
...
11111110
-2
254
11111111
-1
255
Di dalam metode komplemen dua, bilangan negatif direpresentasikan dengan cara menambahkan satu pada bentuk komplemen satu dari suatu bilangan positif. Di dalam metode komplemen dua, hanya ada satu bilangan nol (00000000).
Misalnya, bentuk komplemen satu dari 00101011 (43) adalah 11010100 (−43). Bentuk komplemen duanya adalah: 11010100 + 1 = 11010101.
Nah, sedikit atu banyak ilmu kita sudah bertambah mengenai tiga materi tadi. Sekian yang dapat saya postingkan, kurang lebihnya mihon dimanfaatkan, semoga dapat membantu pembaca dalam memahami materi tersebut.

Wassalamualaikum Wr. Wb.

Tidak ada komentar:

Posting Komentar