SlideShare a Scribd company logo
1 of 52
ARITMETIKA
“CARA KOMPUTER”
Tan Arman
tanarman@yahoo.com
DEBUG.COM
Versi 1.01, 21 Oktober 2019
Tujuan
• Memahami cara berhitung “Computer Way” yaitu memanfaatkan sistem
bilangan biner (dua-an). Komputer Digital dibangun dari rangkaian2 digital
yang hanya memuat dua kondisi (biner) : LOW dan HIGH (dalam arti
besaran fisik tegangan).
• Berhitung dengan bilangan oktal. Sistem bilangan oktal tidak dipakai untuk
penghitungan2, melainkan sebagai sarana untuk me-mendek-kan
bilangan2 dua-an. Jadi sistem oktal dipakai untuk me-nyandi bilangan2
dua-an. Ini dipelajari semata2 untuk memahami Teknik Digit saja.
• Berhitung dengan bilangan heksadesimal (disingkat: hex). Seperti halnya
bilangan oktal, bilangan heksadesimal dipakai untuk me-nyandi bilangan2
dua-an agar ukurannya lebih kecil / pendek. Ini memudahkan kita dalam
pemrograman.
• Memahami arti dari bit, nibble, byte dan word.
• Memanfaatkan program DEBUG.COM untuk mempraktekkan sistem
bilangan heksadesimal sekaligus membiasakan dengan arsitektur prosesor
16-bit berbasis 8086*).
*) INTEL® membuat prosesor 4-bit 4004/4040, prosesor 8-bit 8008/8080/8085, prosesor 16-bit 8086/80186/80286, prosesor 32-
bit 80386/80486/Pentium/Pentium Pro/Pentium II/III/IV, prosesor 32-bit dan 64-bit Atom/Celeron/Xeon/Pentium Dual Core,
prosesor 64-bit murni Core 2 Series/Core i3/Core i5/Core i7
Perlu Diketahui Lebih Dulu !
• Walaupun masih diperdebatkan asal mula basis 10
adalah dikarenakan jumlah jari manusia ada 10, yang jelas
tidak ada debat lagi alasan bilangan biner dalam komputer.
• Manusia berhitung menggunakan aritmetika
basis 10 (dasan atau desimal)
• Ada 10 simbol berbeda: 0, 1, 2, .., 9
• Komputer Digital menggunakan aritmetika
basis 2 (dua-an atau biner) sebagai representasi
dua keadaan (two state) biasanya berupa
besaran (kuantitas) fisik tegangan :
”0” untuk tegangan < 0,5V (LOW)
“1” untuk tegangan 3V (HIGH)
§ Hanya dua simbol 0 dan 1
§ Dua binary digits ini seringkali disebut bits.
0, 1, 2,
…… 9
Berhitung “Computer Way”
• Jika Anda sudah terbiasa dengan sistem bilangan desimal (dasan atau
puluhan), maka untuk mencacah ke angka 11, Anda akan mulai dari
satu dan terus naik: 1, 2, 3, 4, 5, 6, 7, 8, 9 10, 11.
Dari satu digit menjadi dua digit agar cukup mewakili angka 11.
• Komputer tidak demikian, akan tetapi :
0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011
Ini adalah bilangan biner yang dibangun hanya dengan dua digit (“1”
dan “0”) dan lebarnya 4 bit (nibble) sehingga mampu mewakili 0 ... 15
dalam desimal.
Komputer tidak secerdas manusia mampu memulai dari satu digit,
dua digit dst. dikarenakan piranti2nya mesti dirancang dengan lebar
bit yang tetap (disini menggunakan 4 bit).
• 0101(2) = 5(10)
basis
SOAL 1:
• Bi artinya …………………… .
• Sistem dua-an (biner) adalah sistem yang menggunakan ………..
bilangan.
• Dalam sistem biner dipakailah bilangan2 ….. dan ….. .
• Dalam sistem bilangan biner setiap digit dinamakan ………………………..
atau disingkat …….. .
• Agregasi digit dalam sistem bilangan biner sebanyak 4 buah
dinamakan ……………. .
Sistem Bilangan Biner
• Sistem bilangan biner merupakan sistem bilangan berbasis 2 dengan
dua digit: 0 dan 1.
• Misal: 11010.11 terdiri dari rentetan 1-an dan 0-an dan sebuah titik
biner.
• Dalam sistem digital kita sebut 210 sebagai K (kilo), 220 sebagai M
(mega), 230 sebagai G (giga) dan 240 sebagai T (tera)
4K = 22 x 210 = 212 = 4096
16M = 24 x 220 = 224 = 16.777.216
• Konvensi ini tidak dapat diterapkan pada
semua kasus; penggunaan yang lebih
konvensional dari K, M, G dan T adalah
masing2 sebagai 103, 106, 109 dan 1012.
Jadi mesti hati2 menerjemahkan dan
menggunakan notasi ini.
4K = 22
* 210
= 212
= 4096 and 16M = 24
* 220
= 224
= 16,777,2
(11010)2 = 1 * 24
+ 1 * 23
+ 0 * 22
+ 1 * 21
+ 0 * 20
= (26)10
As noted earlier, the digits in a binary number are called bits. When a bit is eq
to 0, it does not contribute to the sum during the conversion. Therefore, the con
sion to decimal can be obtained by adding the numbers with powers of two co
sponding to the bits that are equal to 1. For example,
(110101.11)2 = 32 + 16 + 4 + 1 + 0.5 + 0.25 = (53.75)10
The first 24 numbers obtained from 2 to the power of n are listed in Table
In digital systems, we refer to 210
as K (kilo), 220
as M (mega), 230
as G (giga), and
as T (tera).Thus,
TABLE 1-2
Powers of Two
n 2n
n 2n
n 2n
0 1 8 256 16 65,536
1 2 9 512 17 131,072
2 4 10 1,024 18 262,144
3 8 11 2,048 19 524,288
4 16 12 4,096 20 1,048,576
5 32 13 8,192 21 2,097,152
6 64 14 16,384 22 4,194,304
7 128 15 32,768 23 8,388,608
This convention does not necessarily apply in all cases,with more conventional us
of K, M, G, and T as 103
, 106
, 109
and 1012
, respectively, sometimes applied as wel
caution is necessary in interpreting and using this notation.
The conversion of a decimal number to binary can be easily achieved b
method that successively subtracts powers of two from the decimal number
M01_MANO0637_05_SE_C01.indd 17
Satuan
Kelipatan Byte
Desimal Biner
Nilai Metrik Nilai IEC1) JEDEC2)
1000 kB kilobyte 1024 KiB kibibyte KB kilobyte
10002 MB megabyte 10242 MiB mebibyte MB megabyte
10003 GB gigabyte 10243 GiB gibibyte GB gigabyte
10004 TB terabyte 10244 TiB tebibyte
10005 PB petabyte 10245 PiB pebibyte
10006 EB exabyte 10242 EiB exbibyte
10007 ZB zettabyte 10242 ZiB zebibyte
10008 YB yottabyte 10242 YiB yobibyte
1) ISO/IEC 80000 adalah standar internasional yang dimaklumatkan bersama International Organization for Standardization (ISO)
dan International Electrotechnical Comission (IEC) pada publikasi Part 1 bulan November 2009..
2) Joint Electron Device Engineering Council (JEDEC) mengeluarkan JEDEC Standard 100B.01 dengan judul Terms, Definitions, and
Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits.
Konversi dari Desimal ke Biner
• Bagi bilangan desimal dengan 2 berulang-ulang
• Simpan sisanya (0 atau 1)
• Lanjutkan proses sampai hasil bagi akhir menjadi nol.
• Tulis sisanya dalam urutan terbalik sebagai bilangan biner hasil konversi
Contoh: Ubah 2510 menjadi biner
Hasil Bagi Sisa
25/2 = 12 1
12/2 = 6 0
6/2 = 3 0
3/2 = 1 1
1/2 = 0 1
Jadi 2510 = 110012
LSB (least significant bit)
MSB (most significant bit)
Cara lain
• Dengan mengetahui bobot yang terasosiasi dengan posisi digit biner
akan membantu mengkonversi bilangan desimal ke digit biner secara
langsung tanpa harus melewati proses pembagian berulang2.
Example 0-3: Use the concept of weight to convert 3910 to binary
Solution:
Weight: 32 16 8 4 2 1
Digits: 1 0 0 1 1 1
Sum: 32 + 0 + 0 + 4 + 2 + 1 = 3910
Therefore, 3910 = 1001112
SOAL 2:
• 28(10) = …………(2)
• 43(10) = …………(2)
• 88(10) = …………(2)
Konversi dari Biner ke Desimal
• Kenali bobot setiap bit dalam bilangan biner
• Tambahkan semuanya menjadi ekivalen desimal-nya.
• Gunakan konsep bobot untuk konversi langsung dari bilangan desimal
ke biner
Contoh: Ubah 110012 menjadi desimal
Digit: 1 1 0 0 1 jika diteruskan sbg pecahan
Bobot: 24 23 22 21 20 à 2-1 2-2 2-3 ….
Jumlah: 16 + 8 + 0 + 0 + 1 = 2510
Contoh: Ubah 3910 menjadi biner
32 + 0 + 0 + 4 + 2 + 1 = 39
Jadi, 3910 = 1001112
SOAL 3:
1. Bilangan 1001(2) adalah sama dengan …….(10).
Jawab: 1.24 + 0.22 + 0.21 + 1.20 = 17(10)
2. 100(2) = ……(10)
3. 1001(2) = …..(10)
4. 11011(2) = …..(10)
5. 1111101(2) = …..(10)
6. 11100(2) = …..(10)
Sistem Bilangan Oktal
• Sistem oktal diterapkan dalam Teknik Digit. Sistem ini
tidak dipakai untuk penghitungan2, melainkan sebagai
sarana untuk me-mendek-kan bilangan2 dua-an. Jadi
• sistem oktal dipakai untuk me-nyandi bilangan2 dua-an.
• Karena 23 = 8 dan 24 = 16, maka setiap digit oktal berseuaian dengan
tiga bit dan setiap digit heksadesimal dengan empat bit.
• Representasi bilangan biner ke dalam oktal maupun heksadesimal
menjadi lebih mudah buat manusia karena bisa lebih pendek tiga
atau empat kali-nya.
• Bilangan oktal memiliki 8 symbol: 0, 1, …, 7
Konversi Biner dan Oktal
• Mengubah bilangan biner ke oktal:
1. Bilangan biner di-kelompok2-an menjadi kelompok 3-bit, dimulai dari kiri ke
kanan dan sebaliknya untuk pecahan.
2. Ubah masing2 kelompok menjadi oktal
Contoh: 110001010(2) = 110 001 010(2) = 612(8)
11,01(2) = 011, 010(2) = 3,2(8)
1011,1011(2) = 001 011, 101 100(2) = 13,54(8)
• Mengubah bilangan oktal ke biner juga mudah, cukup ubah setiap
digit oktal menjadi kelompok 3-bit
• Contoh: 347(8) = 011 100 111(2)
75,63(8) = 111 101, 110 011(2)
Konversi Oktal ke Desimal
• Gunakan bobot setiap digit dalam bilangan oktal
• Tambahkan semuanya menjadi ekivalen desimal-nya.
Bobot: 84 83 82 81 80 à 8-1 8-2 8-3 ….
Desimal: 4096 512 64 8 1 0,125 0,015625 0,0…
Contoh:
11(8) 1 1 11(8) = 8 + 1 = 9(10)
23(8) 2 3 23(8) = 2.8 + 3.1 = 16 + 3 = 19(10)
275(8) 2 7 5 275(8) = 2.64 + 7.8 + 5.1 = 189(10)
42,1(8) 4 2 1
42,1(8) = 34,125(10)
312,21(8) 3 1 2 2 1
312,21(8) = 202,265625(10)
Konversi Desimal ke Oktal
• Bagi bilangan desimal dengan 8 berulang-ulang
• Simpan sisanya (0 ... 7)
• Lanjutkan proses sampai hasil bagi akhir menjadi nol.
• Tulis sisanya dalam urutan terbalik sebagai bilangan oktal hasil konversi
Contoh: Ubah 1325(10) menjadi oktal
Hasil Bagi Sisa
1325/8 = 165 5
165/8 = 20 5
20/8 = 2 4
2/8 = 0 2
Jadi 132510 = 24558
LSD (least significant digit)
MSD (most significant digit)
Sistem Bilangan Heksadesimal
• Sistem bilangan heksadesimal merupakan sistem
bilangan berbasis 16 dengan symbol 0 … 9, A … F.
• Ekivalennya dengan bilangan desimal adalah 0 .. 15 (total ada 16
simbol)
• Dipakai untuk memudahkan kita (manusia) dalam representasi
bilangan biner (yang memang digunakan oleh dalaman komputer
digital) terutama untuk pemrograman.
Kita gunakan heksadesimal dalam berinteraksi dengan program
DEBUG.COM.
• Contohnya lebih mudah menulis 896H dibanding 100010010110(2)
tanda bilangan
ini heksadesimal
*) tanda ini tidak perlu ditulis saat
berinteraksi dengan program DEBUG.COM
Konversi Biner dan Heksadesimal
• Mengubah bilangan biner ke heksadesimal:
1. Bilangan biner di-kelompok2-an menjadi kelompok 4-bit, dimulai dari kiri ke
kanan dan sebaliknya untuk pecahan.
2. Ubah masing2 kelompok menjadi heksadesimal
Contoh: 110001010(2) = 0001 1000 1010(2) = 18A(16) atau 18Ah
11,01(2) = 0011, 0100(2) = 3,2(16) atau 3,2h
1011,1011(2) = D,D(16) atau D,Dh
• Mengubah bilangan heksadesimal ke biner juga mudah, cukup ubah
setiap digit heksadesimal menjadi kelompok 4-bit
• Contoh: 347(16) = 0011 0100 0111(2)
75,63(16) = 0111 0101, 0110 0011(2)
29Bh = 0010 1001 1011(2)
Konversi Heksadesimal ke Desimal
• Gunakan bobot setiap digit dalam bilangan heksadesimal
• Tambahkan semuanya menjadi ekivalen desimal-nya.
Bobot: 164 163 162 161 160 à 16-1 16-2 16-3 ….
Desimal: 4096 512 256 16 1
Contoh:
11(16) 1 1 11(8) = 16 + 1 = 17(10)
23(16) 2 3 23(8) = 2.16 + 3.1 = 32 + 3 = 35(10)
Cara lain
• Konversi dari heksadesimal ke desimal bisa dilakukan dengan cara
mengubah heksa ke biner lebih dulu, baru ke desimal
Example 0-7:
(a)6B216 = 0110 1011 00102
1024 512 256 128 64 32 16 8
4 2 1
1 1 0 1 0 1 1 0
0 1 0
1024 + 512 + 128 + 32 + 16 + 2 = 171410
(b)9F2D16 = 1001 1111 0010 11012
32768 16384 8192 4096 2048 1024 512 256
128 64 32 16 8 4 2 1
1 0 0 1 1 1
1 1 0 0 1 0 1 1
0 1
32768 + 4096 + 2048 + 1024 + 512 + 256 + 32 + 8 + 4 + 1 = 40,74910
Konversi Desimal ke Heksadesimal
• Bagi bilangan desimal dengan 16 berulang-ulang
• Simpan sisanya (0 ... 9, A .. F)
• Lanjutkan proses sampai hasil bagi akhir menjadi nol.
• Tulis sisanya dalam urutan terbalik sebagai bilangan heksadesimal hasil
konversi
Contoh: Ubah 1325(10) menjadi heksadesimal
Hasil Bagi Sisa
1325/16 = 82 D
82/16 = 5 2
2/16 = 0 2
Jadi 132510 = 22Dh
LSD (least significant digit)
MSD (most significant digit)
Cara lain
• Mengkonversi dari Desimal ke Heksadesimal dapat dilakukan dengan
cara Mengkonversi ke biner lebih dulu, lalu konversi ke heksa
Example 0-6:
(a)Convert 4510 to hex
32 16 8 4 2 1
First, convert to binary
1 0 1 1 0 1 32 +
8 + 4 + 1 = 45
4510 = 0010 11012 = 2D hex
(b)Convert 62910 to hex
512 256 128 64 32 16 8
4 2 1
1 0 0 1 1 1 0
1 0 1
62910 = (512 + 64 + 32 + 16 + 4 + 1) = 0010 0111 01012 = 275 hex
(c)Convert 171410 to hex
1024 512 256 128 64 32 16
8 4 2 1
1 1 0 1 0 1 1
0 0 1 0
171410 = (1024 + 512 + 128 + 32 + 16 + 2) = 0110 1011 00102 = 6B2 hex
Bit, Nibble, Byte, Word, DWORD, QWORD
4-bit (satu heksa)
8-bit (dua heksa)
16-bit (empat heksa)
32-bit
64-bit
Mencacah dalam basis 10, 2 dan 16
• Perhatikan bahwa pada setiap basis jika digit tertinggi
ditambah satu, maka digit tersebut menjadi nol dan 1 dibawa
(carried) ke posisi digit tertinggi berikutnya.
• Misal,
pada desimal, 9+1=0 dengan carry ke posisi tertinggi
berikutnya
pada biner, 1+1=0 dengan sebuah carry
pada heksa, F+1=0 dengan carry
+
carry (+1)
carry travels to the left (higher significant digit)
Decimal Binary Hex
0 00000 0
1 00001 1
2 00010 2
3 00011 3
4 00100 4
5 00101 5
6 00110 6
7 00111 7
8 01000 8
9 01001 9
10 01010 A
11 01011 B
12 01100 C
13 01101 D
14 01110 E
15 01111 F
16 10000 10
17 10001 11
18 10010 12
19 10011 13
20 10100 14
21 10101 15
22 10110 16
23 10111 17
24 11000 18
25 11001 19
26 11010 1A
27 11011 1B
28 11100 1C
29 11101 1D
30 11110 1E
31 11111 1F
counting operation
with carry
BILANGAN BERTANDA (SIGNED NUMBERS)
• Sistem digital juga mesti mampu menangani baik bilangan positif maupun negatif.
Bilangan bertanda terdiri dari informasi tanda dan angka. Tanda berupa positif
atau negatif, angka adalah nilai dari bilangan.
• Ada tiga bentuk bilangan bertanda dalam biner:
1. Tanda – Angka (Sign-Magnitude)
2. 1’s complement
3. 2’s complement à paling banyak dipakai
• Bit Tanda (Sign Bit): bit paling kiri (MSB)
• MSB = ”0” menunjukkan bilangan positif
• MSB = “1” menunjukkan bilangan negatif
• Bentuk Tanda-Angka
+25 -25
Express positive and negative numbers in sign-magnitude
Express positive and negative numbers in 1’s complement
Express positive and negative numbers in 2’s complement
Determine the decimal value of signed binary numbers
Express a binary number in floating-point format
he Sign Bit
e left-most bit in a signed binary number is the sign bit, which tells you whether the
mber is positive or negative.
A 0 sign bit indicates a positive number, and a 1 sign bit indicates a negative number.
gn-Magnitude Form
hen a signed binary number is represented in sign-magnitude, the left-most bit is the sign
and the remaining bits are the magnitude bits. The magnitude bits are in true (uncomple-
nted) binary for both positive and negative numbers. For example, the decimal number
5 is expressed as an 8-bit signed binary number using the sign-magnitude form as
00011001
Sign bit Magnitude bits
e decimal number 225 is expressed as
10011001
tice that the only difference between +25 and 225 is the sign bit because the magnitude
s are in true binary for both positive and negative numbers.
u
c c
◆ Express a binary number in floating-point format
The Sign Bit
The left-most bit in a signed binary number is the sign bit, which tells you whether the
number is positive or negative.
A 0 sign bit indicates a positive number, and a 1 sign bit indicates a negative number
Sign-Magnitude Form
When a signed binary number is represented in sign-magnitude, the left-most bit is the sign
bit and the remaining bits are the magnitude bits. The magnitude bits are in true (uncomple
mented) binary for both positive and negative numbers. For example, the decimal numbe
+25 is expressed as an 8-bit signed binary number using the sign-magnitude form as
00011001
Sign bit Magnitude bits
The decimal number 225 is expressed as
10011001
Notice that the only difference between +25 and 225 is the sign bit because the magnitude
bits are in true binary for both positive and negative numbers.
In the sign-magnitude form, a negative number has the same magnitude bits as the
corresponding positive number but the sign bit is a 1 rather than a zero.u
c c
1’s COMPLEMENT
• Bilangan positif dalam bentuk 1’s complement direpresentasikan
sama seperti bilangan Tanda-Angka
• Bilangan negatif diperoleh dengan membalik seluruh bit: mengubah
semua 0 menjadi 1 dan semua 1 menjadi 0. Ini disebut 1’s
complement.
• Contoh:
Bilangan desimal -25 diperoleh dari 1’s complement dari +25
(00011001) yakni 11100110
2’s COMPLEMENT
• Untuk memperoleh 2’s complement dari sebuah bilangan biner,
lakukan 1’s complement, lalu tambahkan 1 ke hasil pembalikan.
• Teknik ini digunakan dalam operasi pengurangan sehingga hanya
diperlukan piranti Adder saja yang dipakai bersama operasi
penjumlahan.
Example 0-9: Take the 2’s complement 10011101.
Solution:
10011101 binary number
01100010 1’s complement
+ 1
01100011 2’s complement
Rentang Bilangan Bertanda (Signed Integer
Numbers)
• Bilangan biner 8-bit paling banyak dipakai dalam dunia komputer
(dinamakan khusus byte). Satu byte atau 8-bit, Anda dapat memperoleh
256 bilangan berbeda.
• Dengan dua byte atau 16-bit, Anda dapat memperoleh 65.536 bilangan
berbeda.
• Dengan empat byte atau 32-bit, Anda dapat memperoleh 4,295 x 109
bilangan berbeda.
• Jika Anda menggunakan n-bit, maka kombinasi total = 2n
• Untuk bilangan bertanda 2’s complement, rentang nilai jika menggunakan
bilangan biner n-bit adalah:
Range = –(2n-1) sampai +(2n-1-1)
dimana: satu sign bit dan n-1 magnitude bits.
Misal: dengan 4-bit diperoleh rentang –(23) = -8 sampai 23-1 = +7.
dengan 8-bit diperoleh -128 sampai +127
dengan 16-bit diperoleh -65.536 sampai +65.535
PENJUMLAHAN BILANGAN BINER
• Penjumlahan bilangan biner sangat jelas seperti Tabel 0-3 untuk penjumlahan dua bit.
• Diskusi tentang pengurangan bilangan biner dilewatkan karena semua komputer
menggunakan proses penjumlahan umtuk implementasi pengurangan.
• Walaupun komputer memiliki adder circuitry, ia tidak punya circuitry terrsendiri untuk
subtractor. Sebaliknya, adders dipakai bersamaan dengan 2’s complement circuitry
untuk melaksanakan pengurangan. Dengan kata lain untuk mengimplementasikan “x –
y”, komputer melakukan 2’s complement dari y dan menjumlahkannya ke x.
A + B Carry Sum
0 + 0 0 0
0 + 1 0 1
1 + 0 0 1
1 + 1 1 0
Table 0-3: Binary Addition
Example 0-8: Add the following binary numbers. Check
against their decimal equivalents.
Solution:
Binary Decimal
1101 13
+ 1001 9
10110 22
PENGURANGAN BINER DENGAN 2’s COMPLEMENT
[CONTOH: 2-3=2+(-3)=-1]
• Representasi biner dari 3 adalah : 0011
• 1’s complement dari 3 adalah : 1100
• 2’ complement dari 3 adalah : (1’s complement + 1)
1100 (1’s complement)
+1
1101 (2’s complement, yakni -3)
• Jadi 2 + (-3) = 0010 ( bilangan biner dari 2)
+1101 (-3)
1111 (-1)
• Untuk menguji apakah ini benar -1, temukan 2’s complement dari -1 dan
tanda (–) tetap dijaga.
-1 = 1111
2’s complement = - (0000)
+1
-(0001) yakni -1
PENJUMLAHAN DAN PENGURANGAN
BILANGAN HEKSADESIMAL
• Teknik ini untuk memudahkan Anda memahami isu-isu terkait dengan software dan hardware
komputer di kemudian hari.
• Penjumlahan:
Mulai dari LSD, digit2 dijumlahkan. Jika jumlahnya
kurang dari 16, tulislah digit sebagai hasil jumlah
posisi itu. Jika lebih dari 16, kurangkan 16 agar
diperoleh digit sisa dan carry 1 buat digit berikutnya.
• Dalam pengurangan dua heksadesimal, jika digit kedua lebih besar dari yang pertama, pinjam 16
dari digit di depannya.
Addition of hex numbers
This section describes the process of adding hex numbers. Starting with the least sig-
nificant digits, the digits are added together. If the result is less than 16, write that digit as
the sum for that position. If it is greater than 16, subtract 16 from it to get the digit and
carry 1 to the next digit. The best way to explain this is by example, as shown in Example
0-10.
Subtraction of hex numbers
In subtracting two hex numbers, if the second digit is greater than the first, borrow
16 from the preceding digit. See Example 0-11.
ASCII code
The discussion so far has revolved around the representation of number systems.
Because all information in the computer must be represented by 0s and 1s, binary patterns
must be assigned to letters and other characters. In the 1960s a standard representation
called ASCII (American Standard Code for Information Interchange) was established. The
ASCII (pronounced “ask-E”) code assigns binary patterns for numbers 0 to 9, all the let-
ters of the English alphabet, both uppercase (capital) and lowercase, and many control
codes and punctuation marks. The great advantage of this system is that it is used by most
computers, so that information can be shared among computers. The ASCII system uses
Take the 2’s complement of 10011101.
Solution:
10011101 binary number
01100010 1’s complement
+ 1
01100011 2’s complement
Example 0-9
Perform hex addition: 23D9 + 94BE.
Solution:
23D9 LSD: 9 + 14 = 23 23 – 16 = 7 with a carry
+ 94BE 1 + 13 + 11 = 25 25 – 16 = 9 with a carry
B897 1 + 3 + 4 = 8
MSD: 2 + 9 = B
Example 0-10
Perform hex subtraction: 59F – 2B8.
Solution:
59F LSD: 8 from 15 = 7
Example 0-11
This section describes the process of adding hex numbers. Starting with the least sig-
nificant digits, the digits are added together. If the result is less than 16, write that digit as
the sum for that position. If it is greater than 16, subtract 16 from it to get the digit and
carry 1 to the next digit. The best way to explain this is by example, as shown in Example
0-10.
Subtraction of hex numbers
In subtracting two hex numbers, if the second digit is greater than the first, borrow
16 from the preceding digit. See Example 0-11.
ASCII code
The discussion so far has revolved around the representation of number systems.
Because all information in the computer must be represented by 0s and 1s, binary patterns
must be assigned to letters and other characters. In the 1960s a standard representation
called ASCII (American Standard Code for Information Interchange) was established. The
ASCII (pronounced “ask-E”) code assigns binary patterns for numbers 0 to 9, all the let-
ters of the English alphabet, both uppercase (capital) and lowercase, and many control
codes and punctuation marks. The great advantage of this system is that it is used by most
computers, so that information can be shared among computers. The ASCII system uses
CHAPTER 0: INTRODUCTION TO COMPUTING 7
Perform hex addition: 23D9 + 94BE.
Solution:
23D9 LSD: 9 + 14 = 23 23 – 16 = 7 with a carry
+ 94BE 1 + 13 + 11 = 25 25 – 16 = 9 with a carry
B897 1 + 3 + 4 = 8
MSD: 2 + 9 = B
Example 0-10
Perform hex subtraction: 59F – 2B8.
Solution:
59F LSD: 8 from 15 = 7
– 2B8 11 from 25 (9 + 16) = 14 (E)
2E7 2 from 4 (5 – 1) = 2
Example 0-11
BCD (Binary Coded Decimal)
proses mengkonversi bilangan desimal menjadi ekivalen binernya.
• Sebagaimana kita secara alami hidup dalam dunia desimal, maka
diperlukan suatu cara mengkonversi bilangan desimal ini menjadi
biner agar komputer dan elektronik digital mengerti. Di sinilah
kode BCD berfungsi.
• Dalam BCD, setiap digit desimal diwakili oleh 4 bit seperti halnya
heksadesimal. Jadi untuk 10 digit desimal (0 – 9) kita cukup butuh
kode biner 4-bit.
• Untuk membedakan dengan heksadesimal yang mampu sampai Fh untuk mewakili biner 1111b (desimal 15),
bilangan2 BCD berhenti pada desimal 9, atau biner 1001b. Artinya enam kode biner lainnya (1010b atau
desimal 10, 1011b atau desimal 11, 1100b atau desimal 12, 1101b atau desimal 13, 1110b atau desimal 14,
dan 1111b atau desimal 15 digolongkan sebagai bilangan terlarang dan tidak boleh digunakan.
• Misalkan: 35710 = 0011 0101 0111(BCD)
8510 = 1000 0101(BCD)
57210 = 0101 0111 0010(BCD)
857910 = 1000 0101 0111 1001(BCD)
• Mengkonversi BCD ke desimal maupun desimal ke BCD relatif mudah karena perlu diingat bahwa BCD adalah
bilangan desimal dan bukan biner, sekalipun ia diwakili oleh bit2.
KODE ASCII
• Karena semua informasi dalam komputer harus dinyatakan dalam 0 dan 1, pola
biner perlu diberikan untuk huruf dan karakter lainnya.
• Pada tahun 1963, komite American Standards Association (ASA) yang kemudian
menjadi American National Standards Institute (ANSI) mengembangkan American
Standard Code for Information Interchange (ASCII).
• ASCII code membuat pola biner untuk bilangan2 0 sampai 9, seluruh huruf alfabet
Inggris, baik huruf besar (kapital) maupun huruf kecil, dan banyak control codes
dan tanda baca (lihat USASCII code chart).
• Kelebihan sistem ini adalah banyak diadopsi oleh pabrikan mikrokomputer yang
memfasilitasi lalulintas data antar piranti komputer berbeda.
• Sistem ASCII memanfaatkan total 7 bit untuk mewakili setiap kode, mis. 100 0001
diberikan untuk huruf besar ‘A’ dan 110 0001 untuk huruf kecil ‘a’. Seringkali NOL
ditaruh pada posisi most significant bit kode ASCII.
TABEL ASCII
American Standard Code for
Information Interchange
• sandi (kode) baku untuk
karakter alfanumerik yang
memanfaatkan 7 bit untuk
menyandikan 128 karakter
(lihat tabel 1-5). 94 karakter
dapat dicetak, 34 karakter
tidak dapat dicetak dipakai
untuk beragam fungsi kontrol.
• 7 bit: B7 B6 .. B1, B7=MSB
• B7 B6 B5 menentukan kolom
• B4 B3 B2 B1 menentukan baris
• Misalkan huruf A, diwakili oleh
1000001 (kolom 100, baris
0001) atau 0x41.
1-6 / Alphanumeric Codes 27
prescribed format. There are three types of control characters: format effectors,
information separators, and communication control characters. Format effectors are
characters that control the layout of printing. They include the familiar typewriter
controls such as backspace (BS), horizontal tabulation (HT), and carriage return
(CR). Information separators are used to separate the data into divisions—for
example, paragraphs and pages. They include characters such as record separator
TABLE 1-5
American Standard Code for Information Interchange (ASCII)
B7
B6
B5
B4
B3
B2
B1
000 001 010 011 100 101 110 111
0000 NULL DLE SP 0 @ P ` p
0001 SOH DC1 ! 1 A Q a q
0010 STX DC2 " 2 B R b r
0011 ETX DC3 # 3 C S c s
0100 EOT DC4 $ 4 D T d t
0101 ENQ NAK % 5 E U e u
0110 ACK SYN & 6 F V f v
0111 BEL ETB ' 7 G W g w
1000 BS CAN ( 8 H X h x
1001 HT EM ) 9 I Y i y
1010 LF SUB * : J Z j z
1011 VT ESC + ; K [ k {
1100 FF FS , 6 L  l |
1101 CR GS - = M ] m }
1110 SO RS . 7 N ^ n ˜
1111 SI US / ? O _ o DEL
Control Characters
NULL NULL DLE Data link escape
SOH Start of heading DC1 Device control 1
STX Start of text DC2 Device control 2
ETX End of text DC3 Device control 3
EOT End of transmission DC4 Device control 4
ENQ Enquiry NAK Negative acknowledge
ACK Acknowledge SYN Synchronous idle
BEL Bell ETB End of transmission block
BS Backspace CAN Cancel
HT Horizontal tab EM End of medium
LF Line feed SUB Substitute
VT Vertical tab ESC Escape
FF Form feed FS File separator
CR Carriage return GS Group separator
SO Shift out RS Record separator
SI Shift in US Unit separator
SP Space DEL Delete
nonprintable characters
used for various control functions
94 Kode ASCII
yang Printable
dalam Desimal,
Oktal dan
HeksaDesimal
• Penggunaan kode ASCII bukan hanya baku untuk keyboard yang
dipakai di Amerika dan banyak negara lain, tetapi juga menjadi
standar untuk pencetakan dan tampilan karakter2 oleh perangkat
output seperti printers dan monitors.
• Perhatikan bahwa pola kode2 ASCII dirancang agar mudah
memanipulasi data ASCII. Misalkan, bilangan 0 sampai 9 diwakili kode
ASCII 30 sampai 39. Ini memudahkan sebuah program mengkonversi
ASCII ke desimal cukup dengan masking off “3” pada nibble teratas.
• Juga perhatikan bahwa ada relasi antara huruf besar dan huruh kecil.
Huruf besar diwakili oleh kode ASCII 41 sampai 5A sementara huruh
kecil diwakili oleh kode 61 sampai 7A. Dengan melihat kode biner,
satu2nya bit yang membedakan antara huruf besar “A” dan huruf
kecil “a” adalah bit 5. Oleh karena itu, konversi antara huruf besar dan
huruf kecil adalah sederhana cukup mengubah kode ASCII bit 5.
Review Questions
1. Why do computers use the binary system instead of the decimal system ?
2. Convert 3410 to binary and hex.
3. Convert 1101012 to hex and decimal.
4. Perform binary addition: 101100 + 101
5. Convert 1011002 to its 2’s complement representation
6. Add 36BH + F6H
7. Substract 36BH – F6H
8. Write “80x86 CPUs” in its ASCII code (in hex form).
Answers to Review Questions
1. Computers use the binary system because each bit can have one of two voltage levels: on and
off.
2. 3410 = 1000102 = 2216
3. 1101012 = 3516 = 5310
4. 1110001
5. 010100
6. 461
7. 275
8. 38 30 78 38 36 20 43 50 55 73
DEBUG.COM
• debug merupakan perintah dalam
DOS, OS/2 dan MS Windows yang
akan menjalankan program
debug.exe (atau DEBUG.COM
dalam DOS versi 4.x atau
sebelumnya).
• Debug berlaku sebagai program
assembler, disassembler atau hex dump sehingga user dapat menguji
isi memori (dalam Bahasa assembly, heksadesimal atau ASCII),
membuat perubahan dan memilih eksekusi COM, EXE dan jenis file
lainnya.
• Ia memiliki subcommands untuk mengakses sektor2 disk, I/O ports
dan memory addresses.
https://en.wikipedia.org/wiki/Debug_(command)
ASAL MUASAL KATA DEBUG DI DUNIA KOMPUTER
• Pada tahun 1943, masa2 awal komputasi, sebuah tim pemrogram
komputer Angkatan Laut yang dipimpin oleh Laksamana Grace Hopper
mengalami masalah dengan mainframe Mark II di Universitas Harvard.
Mereka menghabiskan berjam-jam memeriksa perangkat lunak. Akhirnya,
mereka membuka komputer dan menemukan ngengat mati di papan
sirkuit utama yang menghalangi relai.
• Ini adalah bug komputer pertama, dan itu adalah bug nyata - serangga -
bukan kesalahan pengkodean.
• Sejak itu, kesalahan dalam sistem komputer, khususnya dalam kode
perangkat lunak, disebut "bug”.
• Jika suatu program memiliki bug,
kami ingin menghilangkannya.
Itu kemudian disebut "debugging”.
Inilah bug komputer asli:
Menurut cerita, kata debugging lahir dari awal komputer, dimana ada komputer Mark I di Harvard gagal. Setelah lama
mencari sebabnya, teknisi menemukan sumber masalahnya: ngengat kecil terperangkap dalam kontak relay. Teknisi
membersihkan ngengat itu dan menulis sebuah catatan dalam log book tentang “debugging” the Mark I.
Instruksi Aritmetika dan Logic
• 8086 memproses aritmetika dan logic terpisah dalam tida kelompok
seperti operasi penjumlahan, pembagian dan increment. Kebanyakan
operasi aritmetika dan logic mempengaruhi Register status atau flag dari
prosesor.
• Bahasa pemrograman 8086 mnemonics dalam bentuk op-code yakni MOV,
MUL, JMP, dst, yang digunakan untuk melaksanakan operasi2.
• Op-code: Satu instruksi tunggal dinamakan op-code yang dapat dieksekusi oleh CPU.
Di sini instruksi ‘MOV’ dinamakan op-code.
• Operands: Satu keping data dinamakan operands yang dapat dioperasikan oleh op-
code. Contoh, operasi pengurangan dilakukan oleh operand yang dikurangkan oleh
operand lainnya.
Sintaks: SUB b, c
ARITMETIKA HEKSADESIMAL
DEBUG.COM SEBAGAI KALKULATOR
• Ketik CMD dari kotak Search programs and files
Klik icon cmd
• Ketik DEBUG dalam jendela CMD
Anda masuk ke PROMPT program DEBUG (tanda -)
• Ketik (yang berlatar belakang kelabu)
-H 9 1
000A 0008
-H 9 6
000F 0003
-H 3A7 1ED
0594 01BA
-H C000 D000
9000 F000
-H 5 FFFF
0004 0006
A+B A-B
contoh sign number
Debug hanya menyimpan empat digit
paling kanan. Seharusnya 19000h.
• Ketik q untuk keluar Debug.
Latar Belakang Mengapa Belajar Assembly
• Bahasa Assembly merupakan Bahasa pemrograman tertua dari semua
bahasa pemrograman, yang memiliki kesesuaian paling alami dengan
Bahasa Mesin. Untuk berinteraksi dengan Bahasa Mesin digunakan
bentuk perantara numerik berupa heksadesimal.
• Bahasa Assembly memberi akses langsung ke hardware komputer
sehingga Anda mampu memahami lebih dalam arsitektur dan sistem
operasi komputer.
-H 3D5C 2A10
676C 134C
Bilangan BBilangan A
A + B A - B
Bahasa Assembly: Penjumlahan
ADD AX, BX
Seperti BASIC, Debug juga menyediakan suatu lingkungan interaktif
yang baik. Tetapi tidak seperti BASIC, ia tidak kenal bilangan
desimal. Bagi Debug, angka 10 merupakan bilangan heksa - bukan
sepuluh. Debug hanya bicara heksa. Debug menggunakan Bahasa
Mesin.
ARITMETIKA HEKSADESIMAL
DEBUG.COM MENGGUNAKAN ASSEMBLY
• Menggunakan Register sebagai Variabel (General Purpose Registers: AX,
BX, CX, DX; Special Function Registers:SP, BP, SI, DI, DS, ES, SS, CS dan IP).
• Melihat isi Register2:
-R [Enter]
• Mengubah isi register AX:
-R AX [Enter]
AX 0000
: 3A7 [Enter]
ARITMETIKA HEKSADESIMAL
DEBUG.COM MENGGUNAKAN ASSEMBLY
• Memori dalam arsitektur 8086 tersusun atas segmen2 64K dan terbagi atas
empat zona (code, data, extra dan stack)
• Memori (dalam segmen) dilabelkan
dengan register IP sebanyak 16-bit,
artinya maksimal 64K (65535) label.
• Address (atau label) ini berupa offset
dari awal segmen. Jadi agar lengkap,
alamat di memori ditulis sebagai
3756:0100
Artinya Anda ada pada offset 100h
dalam segmen 3756h.
• Untuk akses program dalam memori
digunakan Address CS:IP, dimana IP biasanya 100h
• Perintah Debug untuk melihat dan mengubah memori adalah E (singkatan dari
Enter).
PENGALAMATANMEMORI
ARITMETIKA HEKSADESIMAL
DEBUG.COM MENGGUNAKAN ASSEMBLY
• Kode heksa perintah ADD AX,BX adalah 01D8h
• Masukkan kode perintah ini dalam memori agar
dapat dieksekusi nanti.
-E 100
3756:0100 E4.01 [Enter]
-E 101
3756:0101 85.D8
Jika menggunakan tombol spasi, maka langsung diisikan
-E 100
3756:0100 E4.01 [Spasi] 85.D8 [Enter]
• Pastikan AX dan BX diisi dengan bilangan heksa yang akan dijumlahkan, misalkan
AX=03A7h, BX=092A. Pastikan IP=100h
• Jalankan instruksi trace sebagai berikut:
- T
• Maka AX=0CD1h yangmana berupa hasil jumlah 3A7h dan 92Ah. Register IP=102h
sehingga CS:IP merujuk pada instruksi pada lokasi memori 102h, bukan 100h lagi.
Start of
segment
3756
3756:0100
3756:0101
•
•
•
' ADD AX,BX
•
•
•
I
'- - --- - -_,
Figure 2-1. Our Instruction Begins lOOh Bytes From the Start of the
egment.
-E 100
3756:0100
-E 101
3756:0101 85.08
25
The numbers Olh and D8h are the 8088's machine language for our ADD in-
struction at memory locations 3756:0100 and 3756:0101. The segment number
you see will probably be different, but that difference won't affect our pro-
gram. Likewise, Debug probably displayed a different two-digit number for
each of your E commands. These numbers (E4h and 85h in our example) are
the old numbers in memory at offset addresses lOOh and lOlh of the segment
PENJUMLAHANAXßAX+BX
ARITMETIKA HEKSADESIMAL
DEBUG.COM MENGGUNAKAN ASSEMBLY
• Kode heksa perintah SUB AX,BX adalah 29D8h
• Masukkan kode perintah ini dalam memori agar dapat dieksekusi nanti.
-E 100
3756:0100 E4.29 [Enter]
-E 101
3756:0101 85.D8
Pastikan AX dan BX diisi dengan bilangan heksa yang akan dijumlahkan, misalkan
AX=0CD1h, BX=092A. Pastikan IP=100h
• Jalankan instruksi trace sebagai berikut:
- T
• Maka AX=03A7h yangmana berupa hasil pengurangan 0CD1h dan 92Ah.
• Seperti sebelumnya, Register IP=102h sehingga CS:IP merujuk pada instruksi pada
lokasi memori 102h, bukan 100h lagi.
PENGURANGANAXßAX-BX
ARITMETIKA HEKSADESIMAL
DEBUG.COM MENGGUNAKAN ASSEMBLY
• Kode heksa perintah MUL AX,BX adalah F7E3h. Karena perkalian dua bilangan 16-
bit dapat menghasilkan bilangan 32-bit, maka hasilnya disimpan dalam DX:AX.
• Pastikan AX dan BX diisi dengan bilangan heksa yang akan dikalikan, misalkan
AX=7C4Bh, BX=100h. Secara manual 7C4Bh x 100h = 7CB400h, ini terlalu besar
untuk satu register, maka akan disimpan dalam dua register (dua word) 007Ch
dan 4B00h.
• Pastikan IP=100h
• Jalankan instruksi trace.
• Lihat isi register DX:AX.
• Lakukan hal yang sama untuk pembagian DIV BX dengan kode heksa perintah
F7F3h. Sumber pembagian diambil dari kombinasi register DX:AX.
• Isi register DX=007Ch dan AX=4B12h; BX=0100h.
• Setelah dijalankan, Hasil Bagi = DX = 7C4Bh dan Sisa Bagi = AX = 0012h.
PERKALIANDANPEMBAGIAN
ARITMETIKA MENGGUNAKAN CALCULATOR
WINDOWS ACCESSORIES à CALCULATOR à Scientific
ARITMETIKA MENGGUNAKAN EMU8086
CALCULATOR atau EXPRESSION EVALUATOR
BASE CONVERTERNumbering Systems Tutorial
Number Convertor allows you to convert numbers from any system and to any system. Just type a value in any text-
box, and the value will be automatically converted to all other systems. You can work both with 8 bit and 16 bit values.
Expression Evaluator can be used to make calculations between numbers in different systems and convert numbers
from one system to another. Type an expression and press enter, result will appear in chosen numbering system. You can
work with values up to 32 bits. When Signed is checked evaluator assumes that all values (except decimal and double
words) should be treated as signed. Double words are always treated as signed values, so 0FFFFFFFFh is converted to -
1.
For example you want to calculate: 0FFFFh * 10h + 0FFFFh (maximum memory location that can be accessed by 8086
Calculator and Base Convertor
• Number Convertor dipakai untuk mengubah sistem bilangan ke sistem bilangan yang lain. Cukup
ketik angka di kotak mana saja, maka angka lainnya akan berubah otomatis. Anda bisa lakukan
dengan 8 bit maupun 16 bit.
• Expression Evaluator dapat dipakai untuk perhitungan antara bilangan2 berbeda sistem dan
mengubah dari satu sistem ke yang lain. Ketik sebuah ekspresi dan tekan [Enter], hasilnya akan
dalam sistem bilangan yang dipilih. Anda dapat lakukan sampai mencapai 32 bit. Jika Signed
diklik, evaluator menganggap semua angka (kecuali desimal dan double words) diperlakukan
sebagai signed. Double words selalu diperlakukan sebagai signed values, maka 0FFFFFFFFh diubah
menjadi - 1.
Misalkan Anda ingin menghitung: 0FFFFh * 10h + 0FFFFh (lokasi memori maksimal yang dapat
diakses oleh CPU 8086). Jika Anda klik Signed dan Word Anda akan peroleh -17 (karena ini akan
dievaluasi sebagai (-1) * 16 + (-1) . Untuk mengitung dengan angka2 unsigned, lepas atau uncheck
Signed sehingga dievaluasi sebagai 65535 * 16 + 65535 dan Anda akan memperoleh 1114095.
Anda bisa menggunakan Number Convertor untuk mengubah digit2 bukan desimal menjadi
angka signed decimal, dan lakukan perhitungan dengan bilangan desimal (pilih yang
memudahkan Anda).
• Operasi-operasi yang didukung :
§ ~ * / % + - << >> & ^ |
§ not (membalik semua bit).
§ multiply. divide. modulus. sum. subtract (and unary -). shift left. shift right.
§ bitwise AND. bitwise XOR. bitwise OR.
• Bilangan biner harus ada akhiran "b", misal: 00011011b
• Bilangan heksadesimal harus ada akhiran "h", dan mulai dengan nol ketika digit pertama berupa huruf (A..F),
misal: 0ABCDh
• Bilangan oktal (basis 8) harus memiliki akhiran "o", misal: 77o
• Anda sudah memahami cara komputer berhitung !!!
• Anda dapat akses bahan ini, kunjungi http://bit.ly/2MLtVM6

More Related Content

What's hot

aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputerdewi2093
 
Bab 2 teknik digital
Bab 2 teknik digitalBab 2 teknik digital
Bab 2 teknik digitalFrendy Kusuma
 
Perancangan sistem digital
Perancangan sistem digitalPerancangan sistem digital
Perancangan sistem digitaltry susanto
 
Arsitektur komputer pertemuan 6
Arsitektur komputer pertemuan 6Arsitektur komputer pertemuan 6
Arsitektur komputer pertemuan 6Afrina Ramadhani
 
Materi Rangkaian Digital I
Materi Rangkaian Digital IMateri Rangkaian Digital I
Materi Rangkaian Digital IAmien Nuryanto
 
Siti julena 201011401585 pertemuan ke 13
Siti julena 201011401585 pertemuan ke 13Siti julena 201011401585 pertemuan ke 13
Siti julena 201011401585 pertemuan ke 13SitiJulena
 
Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)Raflyzon Lie
 
Teori pendukung [introduction to algoritm]
Teori pendukung [introduction to algoritm]Teori pendukung [introduction to algoritm]
Teori pendukung [introduction to algoritm]Fazar Ikhwan Guntara
 
Operasi arithmatika dan logika
Operasi arithmatika dan logikaOperasi arithmatika dan logika
Operasi arithmatika dan logikaHata Netral
 
operasi arithematik
operasi arithematik operasi arithematik
operasi arithematik Lela Warni
 
Modul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalModul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalPPGHybrid2
 

What's hot (18)

aritmatika komputer
aritmatika komputeraritmatika komputer
aritmatika komputer
 
Bab 2 teknik digital
Bab 2 teknik digitalBab 2 teknik digital
Bab 2 teknik digital
 
Perancangan sistem digital
Perancangan sistem digitalPerancangan sistem digital
Perancangan sistem digital
 
Aritmatika biner
Aritmatika binerAritmatika biner
Aritmatika biner
 
16. representasi data 4
16. representasi data 4 16. representasi data 4
16. representasi data 4
 
Arsitektur komputer pertemuan 6
Arsitektur komputer pertemuan 6Arsitektur komputer pertemuan 6
Arsitektur komputer pertemuan 6
 
Materi Rangkaian Digital I
Materi Rangkaian Digital IMateri Rangkaian Digital I
Materi Rangkaian Digital I
 
Siti julena 201011401585 pertemuan ke 13
Siti julena 201011401585 pertemuan ke 13Siti julena 201011401585 pertemuan ke 13
Siti julena 201011401585 pertemuan ke 13
 
Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)Sistem Bilangan (modul 1)
Sistem Bilangan (modul 1)
 
Bab 1 siskom
Bab 1 siskomBab 1 siskom
Bab 1 siskom
 
Teori pendukung [introduction to algoritm]
Teori pendukung [introduction to algoritm]Teori pendukung [introduction to algoritm]
Teori pendukung [introduction to algoritm]
 
Operasi arithmatika dan logika
Operasi arithmatika dan logikaOperasi arithmatika dan logika
Operasi arithmatika dan logika
 
Sistem bilangan2
Sistem bilangan2Sistem bilangan2
Sistem bilangan2
 
ALU
ALUALU
ALU
 
operasi arithematik
operasi arithematik operasi arithematik
operasi arithematik
 
Ch03 indonesia
Ch03 indonesiaCh03 indonesia
Ch03 indonesia
 
Modul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital finalModul 2 kb 1 elektronika digital final
Modul 2 kb 1 elektronika digital final
 
Sistem bilangan
Sistem bilanganSistem bilangan
Sistem bilangan
 

Similar to CARA KOMPUTER

Modul 1-sistem-bilangan
Modul 1-sistem-bilanganModul 1-sistem-bilangan
Modul 1-sistem-bilanganMirhan Siregar
 
1sistem bilangan dhbo
1sistem bilangan dhbo1sistem bilangan dhbo
1sistem bilangan dhboAhMad FirMan
 
1sistem bilangan dhbo
1sistem bilangan dhbo1sistem bilangan dhbo
1sistem bilangan dhboachieasik89
 
Bab 6 sistem bilangan
Bab 6   sistem bilanganBab 6   sistem bilangan
Bab 6 sistem bilanganFisma Ananda
 
Number system
Number system Number system
Number system Hardini_HD
 
Representasi Data dalam Komputer
Representasi Data dalam KomputerRepresentasi Data dalam Komputer
Representasi Data dalam KomputerFarichah Riha
 
Pertemuan 4 - Representasi Data1234.pptx
Pertemuan 4 - Representasi Data1234.pptxPertemuan 4 - Representasi Data1234.pptx
Pertemuan 4 - Representasi Data1234.pptxAhmadNurfauzan6
 
Modul sistem digital bagian 1
Modul sistem digital bagian 1Modul sistem digital bagian 1
Modul sistem digital bagian 1personal
 
Sistem Informasi - Sistem Bilangan dan Kode
Sistem Informasi - Sistem Bilangan dan KodeSistem Informasi - Sistem Bilangan dan Kode
Sistem Informasi - Sistem Bilangan dan KodeDavid Adi Nugroho
 
SISTEM BILANGAN BINER utk Siswa.pptx
SISTEM BILANGAN BINER utk Siswa.pptxSISTEM BILANGAN BINER utk Siswa.pptx
SISTEM BILANGAN BINER utk Siswa.pptxfitri9611
 
Pengantar Ilmu komputer sistem bilangan dan kode.pptx
Pengantar Ilmu komputer sistem bilangan dan kode.pptxPengantar Ilmu komputer sistem bilangan dan kode.pptx
Pengantar Ilmu komputer sistem bilangan dan kode.pptxRiesky Ferdian
 
sistem bilangan dan kode (2).pptx pertemuan ke 2
sistem bilangan dan kode (2).pptx pertemuan ke 2sistem bilangan dan kode (2).pptx pertemuan ke 2
sistem bilangan dan kode (2).pptx pertemuan ke 2RezaPahlawan26
 
Organisasi Komputer Materi 3 dan 4
Organisasi Komputer Materi 3 dan 4 Organisasi Komputer Materi 3 dan 4
Organisasi Komputer Materi 3 dan 4 Mandarwarman Faisal
 

Similar to CARA KOMPUTER (20)

Modul 1-sistem-bilangan
Modul 1-sistem-bilanganModul 1-sistem-bilangan
Modul 1-sistem-bilangan
 
Sistem Bilangan.pptx
Sistem Bilangan.pptxSistem Bilangan.pptx
Sistem Bilangan.pptx
 
1sistem bilangan-dhbo
1sistem bilangan-dhbo1sistem bilangan-dhbo
1sistem bilangan-dhbo
 
1sistem bilangan dhbo
1sistem bilangan dhbo1sistem bilangan dhbo
1sistem bilangan dhbo
 
RL_20110921
RL_20110921RL_20110921
RL_20110921
 
Punya leli
Punya leliPunya leli
Punya leli
 
1sistem bilangan dhbo
1sistem bilangan dhbo1sistem bilangan dhbo
1sistem bilangan dhbo
 
1sistem bilangan dhbo
1sistem bilangan dhbo1sistem bilangan dhbo
1sistem bilangan dhbo
 
Bab vi sistembilangan
Bab vi sistembilanganBab vi sistembilangan
Bab vi sistembilangan
 
Bab 6 sistem bilangan
Bab 6   sistem bilanganBab 6   sistem bilangan
Bab 6 sistem bilangan
 
Number system
Number system Number system
Number system
 
Representasi Data dalam Komputer
Representasi Data dalam KomputerRepresentasi Data dalam Komputer
Representasi Data dalam Komputer
 
Pertemuan 4 - Representasi Data1234.pptx
Pertemuan 4 - Representasi Data1234.pptxPertemuan 4 - Representasi Data1234.pptx
Pertemuan 4 - Representasi Data1234.pptx
 
Modul sistem digital bagian 1
Modul sistem digital bagian 1Modul sistem digital bagian 1
Modul sistem digital bagian 1
 
Sistem Informasi - Sistem Bilangan dan Kode
Sistem Informasi - Sistem Bilangan dan KodeSistem Informasi - Sistem Bilangan dan Kode
Sistem Informasi - Sistem Bilangan dan Kode
 
SISTEM BILANGAN BINER utk Siswa.pptx
SISTEM BILANGAN BINER utk Siswa.pptxSISTEM BILANGAN BINER utk Siswa.pptx
SISTEM BILANGAN BINER utk Siswa.pptx
 
Pengantar Ilmu komputer sistem bilangan dan kode.pptx
Pengantar Ilmu komputer sistem bilangan dan kode.pptxPengantar Ilmu komputer sistem bilangan dan kode.pptx
Pengantar Ilmu komputer sistem bilangan dan kode.pptx
 
sistem bilangan dan kode (2).pptx pertemuan ke 2
sistem bilangan dan kode (2).pptx pertemuan ke 2sistem bilangan dan kode (2).pptx pertemuan ke 2
sistem bilangan dan kode (2).pptx pertemuan ke 2
 
Organisasi Komputer Materi 3 dan 4
Organisasi Komputer Materi 3 dan 4 Organisasi Komputer Materi 3 dan 4
Organisasi Komputer Materi 3 dan 4
 
Digital 1
Digital 1Digital 1
Digital 1
 

Recently uploaded

001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 

Recently uploaded (6)

001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 

CARA KOMPUTER

  • 2. Tujuan • Memahami cara berhitung “Computer Way” yaitu memanfaatkan sistem bilangan biner (dua-an). Komputer Digital dibangun dari rangkaian2 digital yang hanya memuat dua kondisi (biner) : LOW dan HIGH (dalam arti besaran fisik tegangan). • Berhitung dengan bilangan oktal. Sistem bilangan oktal tidak dipakai untuk penghitungan2, melainkan sebagai sarana untuk me-mendek-kan bilangan2 dua-an. Jadi sistem oktal dipakai untuk me-nyandi bilangan2 dua-an. Ini dipelajari semata2 untuk memahami Teknik Digit saja. • Berhitung dengan bilangan heksadesimal (disingkat: hex). Seperti halnya bilangan oktal, bilangan heksadesimal dipakai untuk me-nyandi bilangan2 dua-an agar ukurannya lebih kecil / pendek. Ini memudahkan kita dalam pemrograman. • Memahami arti dari bit, nibble, byte dan word. • Memanfaatkan program DEBUG.COM untuk mempraktekkan sistem bilangan heksadesimal sekaligus membiasakan dengan arsitektur prosesor 16-bit berbasis 8086*). *) INTEL® membuat prosesor 4-bit 4004/4040, prosesor 8-bit 8008/8080/8085, prosesor 16-bit 8086/80186/80286, prosesor 32- bit 80386/80486/Pentium/Pentium Pro/Pentium II/III/IV, prosesor 32-bit dan 64-bit Atom/Celeron/Xeon/Pentium Dual Core, prosesor 64-bit murni Core 2 Series/Core i3/Core i5/Core i7
  • 3. Perlu Diketahui Lebih Dulu ! • Walaupun masih diperdebatkan asal mula basis 10 adalah dikarenakan jumlah jari manusia ada 10, yang jelas tidak ada debat lagi alasan bilangan biner dalam komputer. • Manusia berhitung menggunakan aritmetika basis 10 (dasan atau desimal) • Ada 10 simbol berbeda: 0, 1, 2, .., 9 • Komputer Digital menggunakan aritmetika basis 2 (dua-an atau biner) sebagai representasi dua keadaan (two state) biasanya berupa besaran (kuantitas) fisik tegangan : ”0” untuk tegangan < 0,5V (LOW) “1” untuk tegangan 3V (HIGH) § Hanya dua simbol 0 dan 1 § Dua binary digits ini seringkali disebut bits. 0, 1, 2, …… 9
  • 4. Berhitung “Computer Way” • Jika Anda sudah terbiasa dengan sistem bilangan desimal (dasan atau puluhan), maka untuk mencacah ke angka 11, Anda akan mulai dari satu dan terus naik: 1, 2, 3, 4, 5, 6, 7, 8, 9 10, 11. Dari satu digit menjadi dua digit agar cukup mewakili angka 11. • Komputer tidak demikian, akan tetapi : 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001, 1010, 1011 Ini adalah bilangan biner yang dibangun hanya dengan dua digit (“1” dan “0”) dan lebarnya 4 bit (nibble) sehingga mampu mewakili 0 ... 15 dalam desimal. Komputer tidak secerdas manusia mampu memulai dari satu digit, dua digit dst. dikarenakan piranti2nya mesti dirancang dengan lebar bit yang tetap (disini menggunakan 4 bit). • 0101(2) = 5(10) basis
  • 5. SOAL 1: • Bi artinya …………………… . • Sistem dua-an (biner) adalah sistem yang menggunakan ……….. bilangan. • Dalam sistem biner dipakailah bilangan2 ….. dan ….. . • Dalam sistem bilangan biner setiap digit dinamakan ……………………….. atau disingkat …….. . • Agregasi digit dalam sistem bilangan biner sebanyak 4 buah dinamakan ……………. .
  • 6. Sistem Bilangan Biner • Sistem bilangan biner merupakan sistem bilangan berbasis 2 dengan dua digit: 0 dan 1. • Misal: 11010.11 terdiri dari rentetan 1-an dan 0-an dan sebuah titik biner. • Dalam sistem digital kita sebut 210 sebagai K (kilo), 220 sebagai M (mega), 230 sebagai G (giga) dan 240 sebagai T (tera) 4K = 22 x 210 = 212 = 4096 16M = 24 x 220 = 224 = 16.777.216 • Konvensi ini tidak dapat diterapkan pada semua kasus; penggunaan yang lebih konvensional dari K, M, G dan T adalah masing2 sebagai 103, 106, 109 dan 1012. Jadi mesti hati2 menerjemahkan dan menggunakan notasi ini. 4K = 22 * 210 = 212 = 4096 and 16M = 24 * 220 = 224 = 16,777,2 (11010)2 = 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 20 = (26)10 As noted earlier, the digits in a binary number are called bits. When a bit is eq to 0, it does not contribute to the sum during the conversion. Therefore, the con sion to decimal can be obtained by adding the numbers with powers of two co sponding to the bits that are equal to 1. For example, (110101.11)2 = 32 + 16 + 4 + 1 + 0.5 + 0.25 = (53.75)10 The first 24 numbers obtained from 2 to the power of n are listed in Table In digital systems, we refer to 210 as K (kilo), 220 as M (mega), 230 as G (giga), and as T (tera).Thus, TABLE 1-2 Powers of Two n 2n n 2n n 2n 0 1 8 256 16 65,536 1 2 9 512 17 131,072 2 4 10 1,024 18 262,144 3 8 11 2,048 19 524,288 4 16 12 4,096 20 1,048,576 5 32 13 8,192 21 2,097,152 6 64 14 16,384 22 4,194,304 7 128 15 32,768 23 8,388,608 This convention does not necessarily apply in all cases,with more conventional us of K, M, G, and T as 103 , 106 , 109 and 1012 , respectively, sometimes applied as wel caution is necessary in interpreting and using this notation. The conversion of a decimal number to binary can be easily achieved b method that successively subtracts powers of two from the decimal number M01_MANO0637_05_SE_C01.indd 17
  • 7. Satuan Kelipatan Byte Desimal Biner Nilai Metrik Nilai IEC1) JEDEC2) 1000 kB kilobyte 1024 KiB kibibyte KB kilobyte 10002 MB megabyte 10242 MiB mebibyte MB megabyte 10003 GB gigabyte 10243 GiB gibibyte GB gigabyte 10004 TB terabyte 10244 TiB tebibyte 10005 PB petabyte 10245 PiB pebibyte 10006 EB exabyte 10242 EiB exbibyte 10007 ZB zettabyte 10242 ZiB zebibyte 10008 YB yottabyte 10242 YiB yobibyte 1) ISO/IEC 80000 adalah standar internasional yang dimaklumatkan bersama International Organization for Standardization (ISO) dan International Electrotechnical Comission (IEC) pada publikasi Part 1 bulan November 2009.. 2) Joint Electron Device Engineering Council (JEDEC) mengeluarkan JEDEC Standard 100B.01 dengan judul Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits.
  • 8. Konversi dari Desimal ke Biner • Bagi bilangan desimal dengan 2 berulang-ulang • Simpan sisanya (0 atau 1) • Lanjutkan proses sampai hasil bagi akhir menjadi nol. • Tulis sisanya dalam urutan terbalik sebagai bilangan biner hasil konversi Contoh: Ubah 2510 menjadi biner Hasil Bagi Sisa 25/2 = 12 1 12/2 = 6 0 6/2 = 3 0 3/2 = 1 1 1/2 = 0 1 Jadi 2510 = 110012 LSB (least significant bit) MSB (most significant bit)
  • 9. Cara lain • Dengan mengetahui bobot yang terasosiasi dengan posisi digit biner akan membantu mengkonversi bilangan desimal ke digit biner secara langsung tanpa harus melewati proses pembagian berulang2. Example 0-3: Use the concept of weight to convert 3910 to binary Solution: Weight: 32 16 8 4 2 1 Digits: 1 0 0 1 1 1 Sum: 32 + 0 + 0 + 4 + 2 + 1 = 3910 Therefore, 3910 = 1001112
  • 10. SOAL 2: • 28(10) = …………(2) • 43(10) = …………(2) • 88(10) = …………(2)
  • 11. Konversi dari Biner ke Desimal • Kenali bobot setiap bit dalam bilangan biner • Tambahkan semuanya menjadi ekivalen desimal-nya. • Gunakan konsep bobot untuk konversi langsung dari bilangan desimal ke biner Contoh: Ubah 110012 menjadi desimal Digit: 1 1 0 0 1 jika diteruskan sbg pecahan Bobot: 24 23 22 21 20 à 2-1 2-2 2-3 …. Jumlah: 16 + 8 + 0 + 0 + 1 = 2510 Contoh: Ubah 3910 menjadi biner 32 + 0 + 0 + 4 + 2 + 1 = 39 Jadi, 3910 = 1001112
  • 12. SOAL 3: 1. Bilangan 1001(2) adalah sama dengan …….(10). Jawab: 1.24 + 0.22 + 0.21 + 1.20 = 17(10) 2. 100(2) = ……(10) 3. 1001(2) = …..(10) 4. 11011(2) = …..(10) 5. 1111101(2) = …..(10) 6. 11100(2) = …..(10)
  • 13. Sistem Bilangan Oktal • Sistem oktal diterapkan dalam Teknik Digit. Sistem ini tidak dipakai untuk penghitungan2, melainkan sebagai sarana untuk me-mendek-kan bilangan2 dua-an. Jadi • sistem oktal dipakai untuk me-nyandi bilangan2 dua-an. • Karena 23 = 8 dan 24 = 16, maka setiap digit oktal berseuaian dengan tiga bit dan setiap digit heksadesimal dengan empat bit. • Representasi bilangan biner ke dalam oktal maupun heksadesimal menjadi lebih mudah buat manusia karena bisa lebih pendek tiga atau empat kali-nya. • Bilangan oktal memiliki 8 symbol: 0, 1, …, 7
  • 14. Konversi Biner dan Oktal • Mengubah bilangan biner ke oktal: 1. Bilangan biner di-kelompok2-an menjadi kelompok 3-bit, dimulai dari kiri ke kanan dan sebaliknya untuk pecahan. 2. Ubah masing2 kelompok menjadi oktal Contoh: 110001010(2) = 110 001 010(2) = 612(8) 11,01(2) = 011, 010(2) = 3,2(8) 1011,1011(2) = 001 011, 101 100(2) = 13,54(8) • Mengubah bilangan oktal ke biner juga mudah, cukup ubah setiap digit oktal menjadi kelompok 3-bit • Contoh: 347(8) = 011 100 111(2) 75,63(8) = 111 101, 110 011(2)
  • 15. Konversi Oktal ke Desimal • Gunakan bobot setiap digit dalam bilangan oktal • Tambahkan semuanya menjadi ekivalen desimal-nya. Bobot: 84 83 82 81 80 à 8-1 8-2 8-3 …. Desimal: 4096 512 64 8 1 0,125 0,015625 0,0… Contoh: 11(8) 1 1 11(8) = 8 + 1 = 9(10) 23(8) 2 3 23(8) = 2.8 + 3.1 = 16 + 3 = 19(10) 275(8) 2 7 5 275(8) = 2.64 + 7.8 + 5.1 = 189(10) 42,1(8) 4 2 1 42,1(8) = 34,125(10) 312,21(8) 3 1 2 2 1 312,21(8) = 202,265625(10)
  • 16. Konversi Desimal ke Oktal • Bagi bilangan desimal dengan 8 berulang-ulang • Simpan sisanya (0 ... 7) • Lanjutkan proses sampai hasil bagi akhir menjadi nol. • Tulis sisanya dalam urutan terbalik sebagai bilangan oktal hasil konversi Contoh: Ubah 1325(10) menjadi oktal Hasil Bagi Sisa 1325/8 = 165 5 165/8 = 20 5 20/8 = 2 4 2/8 = 0 2 Jadi 132510 = 24558 LSD (least significant digit) MSD (most significant digit)
  • 17. Sistem Bilangan Heksadesimal • Sistem bilangan heksadesimal merupakan sistem bilangan berbasis 16 dengan symbol 0 … 9, A … F. • Ekivalennya dengan bilangan desimal adalah 0 .. 15 (total ada 16 simbol) • Dipakai untuk memudahkan kita (manusia) dalam representasi bilangan biner (yang memang digunakan oleh dalaman komputer digital) terutama untuk pemrograman. Kita gunakan heksadesimal dalam berinteraksi dengan program DEBUG.COM. • Contohnya lebih mudah menulis 896H dibanding 100010010110(2) tanda bilangan ini heksadesimal *) tanda ini tidak perlu ditulis saat berinteraksi dengan program DEBUG.COM
  • 18. Konversi Biner dan Heksadesimal • Mengubah bilangan biner ke heksadesimal: 1. Bilangan biner di-kelompok2-an menjadi kelompok 4-bit, dimulai dari kiri ke kanan dan sebaliknya untuk pecahan. 2. Ubah masing2 kelompok menjadi heksadesimal Contoh: 110001010(2) = 0001 1000 1010(2) = 18A(16) atau 18Ah 11,01(2) = 0011, 0100(2) = 3,2(16) atau 3,2h 1011,1011(2) = D,D(16) atau D,Dh • Mengubah bilangan heksadesimal ke biner juga mudah, cukup ubah setiap digit heksadesimal menjadi kelompok 4-bit • Contoh: 347(16) = 0011 0100 0111(2) 75,63(16) = 0111 0101, 0110 0011(2) 29Bh = 0010 1001 1011(2)
  • 19. Konversi Heksadesimal ke Desimal • Gunakan bobot setiap digit dalam bilangan heksadesimal • Tambahkan semuanya menjadi ekivalen desimal-nya. Bobot: 164 163 162 161 160 à 16-1 16-2 16-3 …. Desimal: 4096 512 256 16 1 Contoh: 11(16) 1 1 11(8) = 16 + 1 = 17(10) 23(16) 2 3 23(8) = 2.16 + 3.1 = 32 + 3 = 35(10)
  • 20. Cara lain • Konversi dari heksadesimal ke desimal bisa dilakukan dengan cara mengubah heksa ke biner lebih dulu, baru ke desimal Example 0-7: (a)6B216 = 0110 1011 00102 1024 512 256 128 64 32 16 8 4 2 1 1 1 0 1 0 1 1 0 0 1 0 1024 + 512 + 128 + 32 + 16 + 2 = 171410 (b)9F2D16 = 1001 1111 0010 11012 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1 1 0 0 1 1 1 1 1 0 0 1 0 1 1 0 1 32768 + 4096 + 2048 + 1024 + 512 + 256 + 32 + 8 + 4 + 1 = 40,74910
  • 21. Konversi Desimal ke Heksadesimal • Bagi bilangan desimal dengan 16 berulang-ulang • Simpan sisanya (0 ... 9, A .. F) • Lanjutkan proses sampai hasil bagi akhir menjadi nol. • Tulis sisanya dalam urutan terbalik sebagai bilangan heksadesimal hasil konversi Contoh: Ubah 1325(10) menjadi heksadesimal Hasil Bagi Sisa 1325/16 = 82 D 82/16 = 5 2 2/16 = 0 2 Jadi 132510 = 22Dh LSD (least significant digit) MSD (most significant digit)
  • 22. Cara lain • Mengkonversi dari Desimal ke Heksadesimal dapat dilakukan dengan cara Mengkonversi ke biner lebih dulu, lalu konversi ke heksa Example 0-6: (a)Convert 4510 to hex 32 16 8 4 2 1 First, convert to binary 1 0 1 1 0 1 32 + 8 + 4 + 1 = 45 4510 = 0010 11012 = 2D hex (b)Convert 62910 to hex 512 256 128 64 32 16 8 4 2 1 1 0 0 1 1 1 0 1 0 1 62910 = (512 + 64 + 32 + 16 + 4 + 1) = 0010 0111 01012 = 275 hex (c)Convert 171410 to hex 1024 512 256 128 64 32 16 8 4 2 1 1 1 0 1 0 1 1 0 0 1 0 171410 = (1024 + 512 + 128 + 32 + 16 + 2) = 0110 1011 00102 = 6B2 hex
  • 23. Bit, Nibble, Byte, Word, DWORD, QWORD 4-bit (satu heksa) 8-bit (dua heksa) 16-bit (empat heksa) 32-bit 64-bit
  • 24. Mencacah dalam basis 10, 2 dan 16 • Perhatikan bahwa pada setiap basis jika digit tertinggi ditambah satu, maka digit tersebut menjadi nol dan 1 dibawa (carried) ke posisi digit tertinggi berikutnya. • Misal, pada desimal, 9+1=0 dengan carry ke posisi tertinggi berikutnya pada biner, 1+1=0 dengan sebuah carry pada heksa, F+1=0 dengan carry + carry (+1) carry travels to the left (higher significant digit) Decimal Binary Hex 0 00000 0 1 00001 1 2 00010 2 3 00011 3 4 00100 4 5 00101 5 6 00110 6 7 00111 7 8 01000 8 9 01001 9 10 01010 A 11 01011 B 12 01100 C 13 01101 D 14 01110 E 15 01111 F 16 10000 10 17 10001 11 18 10010 12 19 10011 13 20 10100 14 21 10101 15 22 10110 16 23 10111 17 24 11000 18 25 11001 19 26 11010 1A 27 11011 1B 28 11100 1C 29 11101 1D 30 11110 1E 31 11111 1F counting operation with carry
  • 25. BILANGAN BERTANDA (SIGNED NUMBERS) • Sistem digital juga mesti mampu menangani baik bilangan positif maupun negatif. Bilangan bertanda terdiri dari informasi tanda dan angka. Tanda berupa positif atau negatif, angka adalah nilai dari bilangan. • Ada tiga bentuk bilangan bertanda dalam biner: 1. Tanda – Angka (Sign-Magnitude) 2. 1’s complement 3. 2’s complement à paling banyak dipakai • Bit Tanda (Sign Bit): bit paling kiri (MSB) • MSB = ”0” menunjukkan bilangan positif • MSB = “1” menunjukkan bilangan negatif • Bentuk Tanda-Angka +25 -25 Express positive and negative numbers in sign-magnitude Express positive and negative numbers in 1’s complement Express positive and negative numbers in 2’s complement Determine the decimal value of signed binary numbers Express a binary number in floating-point format he Sign Bit e left-most bit in a signed binary number is the sign bit, which tells you whether the mber is positive or negative. A 0 sign bit indicates a positive number, and a 1 sign bit indicates a negative number. gn-Magnitude Form hen a signed binary number is represented in sign-magnitude, the left-most bit is the sign and the remaining bits are the magnitude bits. The magnitude bits are in true (uncomple- nted) binary for both positive and negative numbers. For example, the decimal number 5 is expressed as an 8-bit signed binary number using the sign-magnitude form as 00011001 Sign bit Magnitude bits e decimal number 225 is expressed as 10011001 tice that the only difference between +25 and 225 is the sign bit because the magnitude s are in true binary for both positive and negative numbers. u c c ◆ Express a binary number in floating-point format The Sign Bit The left-most bit in a signed binary number is the sign bit, which tells you whether the number is positive or negative. A 0 sign bit indicates a positive number, and a 1 sign bit indicates a negative number Sign-Magnitude Form When a signed binary number is represented in sign-magnitude, the left-most bit is the sign bit and the remaining bits are the magnitude bits. The magnitude bits are in true (uncomple mented) binary for both positive and negative numbers. For example, the decimal numbe +25 is expressed as an 8-bit signed binary number using the sign-magnitude form as 00011001 Sign bit Magnitude bits The decimal number 225 is expressed as 10011001 Notice that the only difference between +25 and 225 is the sign bit because the magnitude bits are in true binary for both positive and negative numbers. In the sign-magnitude form, a negative number has the same magnitude bits as the corresponding positive number but the sign bit is a 1 rather than a zero.u c c
  • 26. 1’s COMPLEMENT • Bilangan positif dalam bentuk 1’s complement direpresentasikan sama seperti bilangan Tanda-Angka • Bilangan negatif diperoleh dengan membalik seluruh bit: mengubah semua 0 menjadi 1 dan semua 1 menjadi 0. Ini disebut 1’s complement. • Contoh: Bilangan desimal -25 diperoleh dari 1’s complement dari +25 (00011001) yakni 11100110
  • 27. 2’s COMPLEMENT • Untuk memperoleh 2’s complement dari sebuah bilangan biner, lakukan 1’s complement, lalu tambahkan 1 ke hasil pembalikan. • Teknik ini digunakan dalam operasi pengurangan sehingga hanya diperlukan piranti Adder saja yang dipakai bersama operasi penjumlahan. Example 0-9: Take the 2’s complement 10011101. Solution: 10011101 binary number 01100010 1’s complement + 1 01100011 2’s complement
  • 28. Rentang Bilangan Bertanda (Signed Integer Numbers) • Bilangan biner 8-bit paling banyak dipakai dalam dunia komputer (dinamakan khusus byte). Satu byte atau 8-bit, Anda dapat memperoleh 256 bilangan berbeda. • Dengan dua byte atau 16-bit, Anda dapat memperoleh 65.536 bilangan berbeda. • Dengan empat byte atau 32-bit, Anda dapat memperoleh 4,295 x 109 bilangan berbeda. • Jika Anda menggunakan n-bit, maka kombinasi total = 2n • Untuk bilangan bertanda 2’s complement, rentang nilai jika menggunakan bilangan biner n-bit adalah: Range = –(2n-1) sampai +(2n-1-1) dimana: satu sign bit dan n-1 magnitude bits. Misal: dengan 4-bit diperoleh rentang –(23) = -8 sampai 23-1 = +7. dengan 8-bit diperoleh -128 sampai +127 dengan 16-bit diperoleh -65.536 sampai +65.535
  • 29. PENJUMLAHAN BILANGAN BINER • Penjumlahan bilangan biner sangat jelas seperti Tabel 0-3 untuk penjumlahan dua bit. • Diskusi tentang pengurangan bilangan biner dilewatkan karena semua komputer menggunakan proses penjumlahan umtuk implementasi pengurangan. • Walaupun komputer memiliki adder circuitry, ia tidak punya circuitry terrsendiri untuk subtractor. Sebaliknya, adders dipakai bersamaan dengan 2’s complement circuitry untuk melaksanakan pengurangan. Dengan kata lain untuk mengimplementasikan “x – y”, komputer melakukan 2’s complement dari y dan menjumlahkannya ke x. A + B Carry Sum 0 + 0 0 0 0 + 1 0 1 1 + 0 0 1 1 + 1 1 0 Table 0-3: Binary Addition Example 0-8: Add the following binary numbers. Check against their decimal equivalents. Solution: Binary Decimal 1101 13 + 1001 9 10110 22
  • 30. PENGURANGAN BINER DENGAN 2’s COMPLEMENT [CONTOH: 2-3=2+(-3)=-1] • Representasi biner dari 3 adalah : 0011 • 1’s complement dari 3 adalah : 1100 • 2’ complement dari 3 adalah : (1’s complement + 1) 1100 (1’s complement) +1 1101 (2’s complement, yakni -3) • Jadi 2 + (-3) = 0010 ( bilangan biner dari 2) +1101 (-3) 1111 (-1) • Untuk menguji apakah ini benar -1, temukan 2’s complement dari -1 dan tanda (–) tetap dijaga. -1 = 1111 2’s complement = - (0000) +1 -(0001) yakni -1
  • 31. PENJUMLAHAN DAN PENGURANGAN BILANGAN HEKSADESIMAL • Teknik ini untuk memudahkan Anda memahami isu-isu terkait dengan software dan hardware komputer di kemudian hari. • Penjumlahan: Mulai dari LSD, digit2 dijumlahkan. Jika jumlahnya kurang dari 16, tulislah digit sebagai hasil jumlah posisi itu. Jika lebih dari 16, kurangkan 16 agar diperoleh digit sisa dan carry 1 buat digit berikutnya. • Dalam pengurangan dua heksadesimal, jika digit kedua lebih besar dari yang pertama, pinjam 16 dari digit di depannya. Addition of hex numbers This section describes the process of adding hex numbers. Starting with the least sig- nificant digits, the digits are added together. If the result is less than 16, write that digit as the sum for that position. If it is greater than 16, subtract 16 from it to get the digit and carry 1 to the next digit. The best way to explain this is by example, as shown in Example 0-10. Subtraction of hex numbers In subtracting two hex numbers, if the second digit is greater than the first, borrow 16 from the preceding digit. See Example 0-11. ASCII code The discussion so far has revolved around the representation of number systems. Because all information in the computer must be represented by 0s and 1s, binary patterns must be assigned to letters and other characters. In the 1960s a standard representation called ASCII (American Standard Code for Information Interchange) was established. The ASCII (pronounced “ask-E”) code assigns binary patterns for numbers 0 to 9, all the let- ters of the English alphabet, both uppercase (capital) and lowercase, and many control codes and punctuation marks. The great advantage of this system is that it is used by most computers, so that information can be shared among computers. The ASCII system uses Take the 2’s complement of 10011101. Solution: 10011101 binary number 01100010 1’s complement + 1 01100011 2’s complement Example 0-9 Perform hex addition: 23D9 + 94BE. Solution: 23D9 LSD: 9 + 14 = 23 23 – 16 = 7 with a carry + 94BE 1 + 13 + 11 = 25 25 – 16 = 9 with a carry B897 1 + 3 + 4 = 8 MSD: 2 + 9 = B Example 0-10 Perform hex subtraction: 59F – 2B8. Solution: 59F LSD: 8 from 15 = 7 Example 0-11 This section describes the process of adding hex numbers. Starting with the least sig- nificant digits, the digits are added together. If the result is less than 16, write that digit as the sum for that position. If it is greater than 16, subtract 16 from it to get the digit and carry 1 to the next digit. The best way to explain this is by example, as shown in Example 0-10. Subtraction of hex numbers In subtracting two hex numbers, if the second digit is greater than the first, borrow 16 from the preceding digit. See Example 0-11. ASCII code The discussion so far has revolved around the representation of number systems. Because all information in the computer must be represented by 0s and 1s, binary patterns must be assigned to letters and other characters. In the 1960s a standard representation called ASCII (American Standard Code for Information Interchange) was established. The ASCII (pronounced “ask-E”) code assigns binary patterns for numbers 0 to 9, all the let- ters of the English alphabet, both uppercase (capital) and lowercase, and many control codes and punctuation marks. The great advantage of this system is that it is used by most computers, so that information can be shared among computers. The ASCII system uses CHAPTER 0: INTRODUCTION TO COMPUTING 7 Perform hex addition: 23D9 + 94BE. Solution: 23D9 LSD: 9 + 14 = 23 23 – 16 = 7 with a carry + 94BE 1 + 13 + 11 = 25 25 – 16 = 9 with a carry B897 1 + 3 + 4 = 8 MSD: 2 + 9 = B Example 0-10 Perform hex subtraction: 59F – 2B8. Solution: 59F LSD: 8 from 15 = 7 – 2B8 11 from 25 (9 + 16) = 14 (E) 2E7 2 from 4 (5 – 1) = 2 Example 0-11
  • 32. BCD (Binary Coded Decimal) proses mengkonversi bilangan desimal menjadi ekivalen binernya. • Sebagaimana kita secara alami hidup dalam dunia desimal, maka diperlukan suatu cara mengkonversi bilangan desimal ini menjadi biner agar komputer dan elektronik digital mengerti. Di sinilah kode BCD berfungsi. • Dalam BCD, setiap digit desimal diwakili oleh 4 bit seperti halnya heksadesimal. Jadi untuk 10 digit desimal (0 – 9) kita cukup butuh kode biner 4-bit. • Untuk membedakan dengan heksadesimal yang mampu sampai Fh untuk mewakili biner 1111b (desimal 15), bilangan2 BCD berhenti pada desimal 9, atau biner 1001b. Artinya enam kode biner lainnya (1010b atau desimal 10, 1011b atau desimal 11, 1100b atau desimal 12, 1101b atau desimal 13, 1110b atau desimal 14, dan 1111b atau desimal 15 digolongkan sebagai bilangan terlarang dan tidak boleh digunakan. • Misalkan: 35710 = 0011 0101 0111(BCD) 8510 = 1000 0101(BCD) 57210 = 0101 0111 0010(BCD) 857910 = 1000 0101 0111 1001(BCD) • Mengkonversi BCD ke desimal maupun desimal ke BCD relatif mudah karena perlu diingat bahwa BCD adalah bilangan desimal dan bukan biner, sekalipun ia diwakili oleh bit2.
  • 33. KODE ASCII • Karena semua informasi dalam komputer harus dinyatakan dalam 0 dan 1, pola biner perlu diberikan untuk huruf dan karakter lainnya. • Pada tahun 1963, komite American Standards Association (ASA) yang kemudian menjadi American National Standards Institute (ANSI) mengembangkan American Standard Code for Information Interchange (ASCII). • ASCII code membuat pola biner untuk bilangan2 0 sampai 9, seluruh huruf alfabet Inggris, baik huruf besar (kapital) maupun huruf kecil, dan banyak control codes dan tanda baca (lihat USASCII code chart). • Kelebihan sistem ini adalah banyak diadopsi oleh pabrikan mikrokomputer yang memfasilitasi lalulintas data antar piranti komputer berbeda. • Sistem ASCII memanfaatkan total 7 bit untuk mewakili setiap kode, mis. 100 0001 diberikan untuk huruf besar ‘A’ dan 110 0001 untuk huruf kecil ‘a’. Seringkali NOL ditaruh pada posisi most significant bit kode ASCII.
  • 34. TABEL ASCII American Standard Code for Information Interchange • sandi (kode) baku untuk karakter alfanumerik yang memanfaatkan 7 bit untuk menyandikan 128 karakter (lihat tabel 1-5). 94 karakter dapat dicetak, 34 karakter tidak dapat dicetak dipakai untuk beragam fungsi kontrol. • 7 bit: B7 B6 .. B1, B7=MSB • B7 B6 B5 menentukan kolom • B4 B3 B2 B1 menentukan baris • Misalkan huruf A, diwakili oleh 1000001 (kolom 100, baris 0001) atau 0x41.
  • 35. 1-6 / Alphanumeric Codes 27 prescribed format. There are three types of control characters: format effectors, information separators, and communication control characters. Format effectors are characters that control the layout of printing. They include the familiar typewriter controls such as backspace (BS), horizontal tabulation (HT), and carriage return (CR). Information separators are used to separate the data into divisions—for example, paragraphs and pages. They include characters such as record separator TABLE 1-5 American Standard Code for Information Interchange (ASCII) B7 B6 B5 B4 B3 B2 B1 000 001 010 011 100 101 110 111 0000 NULL DLE SP 0 @ P ` p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 " 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN & 6 F V f v 0111 BEL ETB ' 7 G W g w 1000 BS CAN ( 8 H X h x 1001 HT EM ) 9 I Y i y 1010 LF SUB * : J Z j z 1011 VT ESC + ; K [ k { 1100 FF FS , 6 L l | 1101 CR GS - = M ] m } 1110 SO RS . 7 N ^ n ˜ 1111 SI US / ? O _ o DEL Control Characters NULL NULL DLE Data link escape SOH Start of heading DC1 Device control 1 STX Start of text DC2 Device control 2 ETX End of text DC3 Device control 3 EOT End of transmission DC4 Device control 4 ENQ Enquiry NAK Negative acknowledge ACK Acknowledge SYN Synchronous idle BEL Bell ETB End of transmission block BS Backspace CAN Cancel HT Horizontal tab EM End of medium LF Line feed SUB Substitute VT Vertical tab ESC Escape FF Form feed FS File separator CR Carriage return GS Group separator SO Shift out RS Record separator SI Shift in US Unit separator SP Space DEL Delete nonprintable characters used for various control functions
  • 36. 94 Kode ASCII yang Printable dalam Desimal, Oktal dan HeksaDesimal
  • 37. • Penggunaan kode ASCII bukan hanya baku untuk keyboard yang dipakai di Amerika dan banyak negara lain, tetapi juga menjadi standar untuk pencetakan dan tampilan karakter2 oleh perangkat output seperti printers dan monitors. • Perhatikan bahwa pola kode2 ASCII dirancang agar mudah memanipulasi data ASCII. Misalkan, bilangan 0 sampai 9 diwakili kode ASCII 30 sampai 39. Ini memudahkan sebuah program mengkonversi ASCII ke desimal cukup dengan masking off “3” pada nibble teratas. • Juga perhatikan bahwa ada relasi antara huruf besar dan huruh kecil. Huruf besar diwakili oleh kode ASCII 41 sampai 5A sementara huruh kecil diwakili oleh kode 61 sampai 7A. Dengan melihat kode biner, satu2nya bit yang membedakan antara huruf besar “A” dan huruf kecil “a” adalah bit 5. Oleh karena itu, konversi antara huruf besar dan huruf kecil adalah sederhana cukup mengubah kode ASCII bit 5.
  • 38. Review Questions 1. Why do computers use the binary system instead of the decimal system ? 2. Convert 3410 to binary and hex. 3. Convert 1101012 to hex and decimal. 4. Perform binary addition: 101100 + 101 5. Convert 1011002 to its 2’s complement representation 6. Add 36BH + F6H 7. Substract 36BH – F6H 8. Write “80x86 CPUs” in its ASCII code (in hex form). Answers to Review Questions 1. Computers use the binary system because each bit can have one of two voltage levels: on and off. 2. 3410 = 1000102 = 2216 3. 1101012 = 3516 = 5310 4. 1110001 5. 010100 6. 461 7. 275 8. 38 30 78 38 36 20 43 50 55 73
  • 39. DEBUG.COM • debug merupakan perintah dalam DOS, OS/2 dan MS Windows yang akan menjalankan program debug.exe (atau DEBUG.COM dalam DOS versi 4.x atau sebelumnya). • Debug berlaku sebagai program assembler, disassembler atau hex dump sehingga user dapat menguji isi memori (dalam Bahasa assembly, heksadesimal atau ASCII), membuat perubahan dan memilih eksekusi COM, EXE dan jenis file lainnya. • Ia memiliki subcommands untuk mengakses sektor2 disk, I/O ports dan memory addresses. https://en.wikipedia.org/wiki/Debug_(command)
  • 40. ASAL MUASAL KATA DEBUG DI DUNIA KOMPUTER • Pada tahun 1943, masa2 awal komputasi, sebuah tim pemrogram komputer Angkatan Laut yang dipimpin oleh Laksamana Grace Hopper mengalami masalah dengan mainframe Mark II di Universitas Harvard. Mereka menghabiskan berjam-jam memeriksa perangkat lunak. Akhirnya, mereka membuka komputer dan menemukan ngengat mati di papan sirkuit utama yang menghalangi relai. • Ini adalah bug komputer pertama, dan itu adalah bug nyata - serangga - bukan kesalahan pengkodean. • Sejak itu, kesalahan dalam sistem komputer, khususnya dalam kode perangkat lunak, disebut "bug”. • Jika suatu program memiliki bug, kami ingin menghilangkannya. Itu kemudian disebut "debugging”.
  • 41. Inilah bug komputer asli: Menurut cerita, kata debugging lahir dari awal komputer, dimana ada komputer Mark I di Harvard gagal. Setelah lama mencari sebabnya, teknisi menemukan sumber masalahnya: ngengat kecil terperangkap dalam kontak relay. Teknisi membersihkan ngengat itu dan menulis sebuah catatan dalam log book tentang “debugging” the Mark I.
  • 42. Instruksi Aritmetika dan Logic • 8086 memproses aritmetika dan logic terpisah dalam tida kelompok seperti operasi penjumlahan, pembagian dan increment. Kebanyakan operasi aritmetika dan logic mempengaruhi Register status atau flag dari prosesor. • Bahasa pemrograman 8086 mnemonics dalam bentuk op-code yakni MOV, MUL, JMP, dst, yang digunakan untuk melaksanakan operasi2. • Op-code: Satu instruksi tunggal dinamakan op-code yang dapat dieksekusi oleh CPU. Di sini instruksi ‘MOV’ dinamakan op-code. • Operands: Satu keping data dinamakan operands yang dapat dioperasikan oleh op- code. Contoh, operasi pengurangan dilakukan oleh operand yang dikurangkan oleh operand lainnya. Sintaks: SUB b, c
  • 43. ARITMETIKA HEKSADESIMAL DEBUG.COM SEBAGAI KALKULATOR • Ketik CMD dari kotak Search programs and files Klik icon cmd • Ketik DEBUG dalam jendela CMD Anda masuk ke PROMPT program DEBUG (tanda -) • Ketik (yang berlatar belakang kelabu) -H 9 1 000A 0008 -H 9 6 000F 0003 -H 3A7 1ED 0594 01BA -H C000 D000 9000 F000 -H 5 FFFF 0004 0006 A+B A-B contoh sign number Debug hanya menyimpan empat digit paling kanan. Seharusnya 19000h. • Ketik q untuk keluar Debug. Latar Belakang Mengapa Belajar Assembly • Bahasa Assembly merupakan Bahasa pemrograman tertua dari semua bahasa pemrograman, yang memiliki kesesuaian paling alami dengan Bahasa Mesin. Untuk berinteraksi dengan Bahasa Mesin digunakan bentuk perantara numerik berupa heksadesimal. • Bahasa Assembly memberi akses langsung ke hardware komputer sehingga Anda mampu memahami lebih dalam arsitektur dan sistem operasi komputer. -H 3D5C 2A10 676C 134C Bilangan BBilangan A A + B A - B Bahasa Assembly: Penjumlahan ADD AX, BX Seperti BASIC, Debug juga menyediakan suatu lingkungan interaktif yang baik. Tetapi tidak seperti BASIC, ia tidak kenal bilangan desimal. Bagi Debug, angka 10 merupakan bilangan heksa - bukan sepuluh. Debug hanya bicara heksa. Debug menggunakan Bahasa Mesin.
  • 44. ARITMETIKA HEKSADESIMAL DEBUG.COM MENGGUNAKAN ASSEMBLY • Menggunakan Register sebagai Variabel (General Purpose Registers: AX, BX, CX, DX; Special Function Registers:SP, BP, SI, DI, DS, ES, SS, CS dan IP). • Melihat isi Register2: -R [Enter] • Mengubah isi register AX: -R AX [Enter] AX 0000 : 3A7 [Enter]
  • 45. ARITMETIKA HEKSADESIMAL DEBUG.COM MENGGUNAKAN ASSEMBLY • Memori dalam arsitektur 8086 tersusun atas segmen2 64K dan terbagi atas empat zona (code, data, extra dan stack) • Memori (dalam segmen) dilabelkan dengan register IP sebanyak 16-bit, artinya maksimal 64K (65535) label. • Address (atau label) ini berupa offset dari awal segmen. Jadi agar lengkap, alamat di memori ditulis sebagai 3756:0100 Artinya Anda ada pada offset 100h dalam segmen 3756h. • Untuk akses program dalam memori digunakan Address CS:IP, dimana IP biasanya 100h • Perintah Debug untuk melihat dan mengubah memori adalah E (singkatan dari Enter). PENGALAMATANMEMORI
  • 46. ARITMETIKA HEKSADESIMAL DEBUG.COM MENGGUNAKAN ASSEMBLY • Kode heksa perintah ADD AX,BX adalah 01D8h • Masukkan kode perintah ini dalam memori agar dapat dieksekusi nanti. -E 100 3756:0100 E4.01 [Enter] -E 101 3756:0101 85.D8 Jika menggunakan tombol spasi, maka langsung diisikan -E 100 3756:0100 E4.01 [Spasi] 85.D8 [Enter] • Pastikan AX dan BX diisi dengan bilangan heksa yang akan dijumlahkan, misalkan AX=03A7h, BX=092A. Pastikan IP=100h • Jalankan instruksi trace sebagai berikut: - T • Maka AX=0CD1h yangmana berupa hasil jumlah 3A7h dan 92Ah. Register IP=102h sehingga CS:IP merujuk pada instruksi pada lokasi memori 102h, bukan 100h lagi. Start of segment 3756 3756:0100 3756:0101 • • • ' ADD AX,BX • • • I '- - --- - -_, Figure 2-1. Our Instruction Begins lOOh Bytes From the Start of the egment. -E 100 3756:0100 -E 101 3756:0101 85.08 25 The numbers Olh and D8h are the 8088's machine language for our ADD in- struction at memory locations 3756:0100 and 3756:0101. The segment number you see will probably be different, but that difference won't affect our pro- gram. Likewise, Debug probably displayed a different two-digit number for each of your E commands. These numbers (E4h and 85h in our example) are the old numbers in memory at offset addresses lOOh and lOlh of the segment PENJUMLAHANAXßAX+BX
  • 47. ARITMETIKA HEKSADESIMAL DEBUG.COM MENGGUNAKAN ASSEMBLY • Kode heksa perintah SUB AX,BX adalah 29D8h • Masukkan kode perintah ini dalam memori agar dapat dieksekusi nanti. -E 100 3756:0100 E4.29 [Enter] -E 101 3756:0101 85.D8 Pastikan AX dan BX diisi dengan bilangan heksa yang akan dijumlahkan, misalkan AX=0CD1h, BX=092A. Pastikan IP=100h • Jalankan instruksi trace sebagai berikut: - T • Maka AX=03A7h yangmana berupa hasil pengurangan 0CD1h dan 92Ah. • Seperti sebelumnya, Register IP=102h sehingga CS:IP merujuk pada instruksi pada lokasi memori 102h, bukan 100h lagi. PENGURANGANAXßAX-BX
  • 48. ARITMETIKA HEKSADESIMAL DEBUG.COM MENGGUNAKAN ASSEMBLY • Kode heksa perintah MUL AX,BX adalah F7E3h. Karena perkalian dua bilangan 16- bit dapat menghasilkan bilangan 32-bit, maka hasilnya disimpan dalam DX:AX. • Pastikan AX dan BX diisi dengan bilangan heksa yang akan dikalikan, misalkan AX=7C4Bh, BX=100h. Secara manual 7C4Bh x 100h = 7CB400h, ini terlalu besar untuk satu register, maka akan disimpan dalam dua register (dua word) 007Ch dan 4B00h. • Pastikan IP=100h • Jalankan instruksi trace. • Lihat isi register DX:AX. • Lakukan hal yang sama untuk pembagian DIV BX dengan kode heksa perintah F7F3h. Sumber pembagian diambil dari kombinasi register DX:AX. • Isi register DX=007Ch dan AX=4B12h; BX=0100h. • Setelah dijalankan, Hasil Bagi = DX = 7C4Bh dan Sisa Bagi = AX = 0012h. PERKALIANDANPEMBAGIAN
  • 49. ARITMETIKA MENGGUNAKAN CALCULATOR WINDOWS ACCESSORIES à CALCULATOR à Scientific
  • 50. ARITMETIKA MENGGUNAKAN EMU8086 CALCULATOR atau EXPRESSION EVALUATOR BASE CONVERTERNumbering Systems Tutorial Number Convertor allows you to convert numbers from any system and to any system. Just type a value in any text- box, and the value will be automatically converted to all other systems. You can work both with 8 bit and 16 bit values. Expression Evaluator can be used to make calculations between numbers in different systems and convert numbers from one system to another. Type an expression and press enter, result will appear in chosen numbering system. You can work with values up to 32 bits. When Signed is checked evaluator assumes that all values (except decimal and double words) should be treated as signed. Double words are always treated as signed values, so 0FFFFFFFFh is converted to - 1. For example you want to calculate: 0FFFFh * 10h + 0FFFFh (maximum memory location that can be accessed by 8086
  • 51. Calculator and Base Convertor • Number Convertor dipakai untuk mengubah sistem bilangan ke sistem bilangan yang lain. Cukup ketik angka di kotak mana saja, maka angka lainnya akan berubah otomatis. Anda bisa lakukan dengan 8 bit maupun 16 bit. • Expression Evaluator dapat dipakai untuk perhitungan antara bilangan2 berbeda sistem dan mengubah dari satu sistem ke yang lain. Ketik sebuah ekspresi dan tekan [Enter], hasilnya akan dalam sistem bilangan yang dipilih. Anda dapat lakukan sampai mencapai 32 bit. Jika Signed diklik, evaluator menganggap semua angka (kecuali desimal dan double words) diperlakukan sebagai signed. Double words selalu diperlakukan sebagai signed values, maka 0FFFFFFFFh diubah menjadi - 1. Misalkan Anda ingin menghitung: 0FFFFh * 10h + 0FFFFh (lokasi memori maksimal yang dapat diakses oleh CPU 8086). Jika Anda klik Signed dan Word Anda akan peroleh -17 (karena ini akan dievaluasi sebagai (-1) * 16 + (-1) . Untuk mengitung dengan angka2 unsigned, lepas atau uncheck Signed sehingga dievaluasi sebagai 65535 * 16 + 65535 dan Anda akan memperoleh 1114095. Anda bisa menggunakan Number Convertor untuk mengubah digit2 bukan desimal menjadi angka signed decimal, dan lakukan perhitungan dengan bilangan desimal (pilih yang memudahkan Anda). • Operasi-operasi yang didukung : § ~ * / % + - << >> & ^ | § not (membalik semua bit). § multiply. divide. modulus. sum. subtract (and unary -). shift left. shift right. § bitwise AND. bitwise XOR. bitwise OR. • Bilangan biner harus ada akhiran "b", misal: 00011011b • Bilangan heksadesimal harus ada akhiran "h", dan mulai dengan nol ketika digit pertama berupa huruf (A..F), misal: 0ABCDh • Bilangan oktal (basis 8) harus memiliki akhiran "o", misal: 77o
  • 52. • Anda sudah memahami cara komputer berhitung !!! • Anda dapat akses bahan ini, kunjungi http://bit.ly/2MLtVM6