السلام
عليكم
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
|
Null (tidak tampak)
|
|
SOH
|
0001
|
Start of heading (tidak tampak)
|
|
STX
|
0002
|
Start of text (tidak tampak)
|
|
ETX
|
0003
|
End of text (tidak tampak)
|
|
EOT
|
0004
|
End of transmission (tidak tampak)
|
|
ENQ
|
0005
|
Enquiry (tidak tampak)
|
|
ACK
|
0006
|
Acknowledge (tidak tampak)
|
|
BEL
|
0007
|
Bell (tidak tampak)
|
|
BS
|
0008
|
Menghapus satu karakter di belakang kursor (Backspace)
|
|
HT
|
0009
|
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-1, CDC
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