PENGANTAR
Set~lah mempelajari buku ini, anda akan dapat menerapkan teori switching (switching) untuk memecahkan pennasalahan disain logika. Hal ini berarti bahwa anda akan mempelajari baik teori dasar jaringan switching maupun cara menerapkannya. Selanjutnya anda akan mempelajari aljabar Boolean, yang memberikan alat matematika dasar yang diperlukan untuk menganalisis dan mensin~esiskankelas jaringan switching yang penting. Dimulai dari pemyataan permasalahan, anda akan mempelajari jaringan disain gerbang logika yang mempunyai hubungan khusus antara tanda input dan output. Kemudian anda akan mempelajari ciri-ciri logika flip-flop, yang bertindak sebagai alat memori dalam jaringan switching berurutan. Dengan mengkombinasikan flip-flop dan jaringan gerbang logika, anda akan mempelajaridisain "counter", "adder", detektor berurutan dan jaringan sejenis. Meskipun teknologi yang digunakan untuk mengimplementasikan sistem digital telah berubah secara mendasar, namun prinsip dasar disain lo"gikatidak berubah. Tabel kebenaran dan tabel pernyataan masih digunakan untuk menentukan tingkah laku jaringan logika, dan aljabar Boolean masih merupakan alat matematika dasar untuk disain logika. Meskipun alat logika yang diprogramkan (PLD =Programmablelogic device) dapat digunakan selain gerbang individual dan flip-flop, pengurangan persamaan logika masih diperlukan untuk memenuhi persamaan menjadi jumlah PLD kecil. Membuat penugasan yang baik masih diperlukan, karena tanpa penugasan yang baik, persamaan logika mungkin tidak dapat memenuhi salah satu PLD yang tersedia. Perpaduan logika dan tanda yang berlawanan secara langsung diperkenalkan dan digunakan untuk menganalisis dan mendisain jaringan logika. Penekanan yang lebih besar diletakkan pada penggunaanalat logika yang dapat diprograrnkan, dan susunan gerbang yang dapat diprogramkan diperkenalkan. Peran simulasi dan disain bantu-komputer didiskusikan. Latihan dan permasalahan yang baru telah ditambahkan pada setiap unit, dan beberapa seksi ditulis kembali untuk menjelaskan penjelasan ini. Karena komputer melakukan peran yang penting dalam proses disain logika, maka integrasi penggunaan komputer ke dalam pelajaran disain logika awal sangat diperlukan. Program disain logika dengan bantuan komputer, yang disebut Logic Aid (Bantuan Logika) [TM], disarankan menggunakan dengan buku ini. Logic Aid ini memudahkan mahasiswa untuk menderivasikan persamaan logika sederhana dari mintern, tabel kebenaran, dan tabel pernyataan. Hal ini membebaskan mahasiswa dari beberapa penghitungan yang lebih membosankan , dan membuat solusi dari permasalahan disain yang lebih kompleks dalam waktu yang lebih singkat. 2
PENGANTAR SISTEMBILANGAN DANKONVERSI TUJUAN 1. Pengantar Bagian pertama unit ini memperkenalkan materi untuk didiskusikan lebih lanjut. Untuk mendapatkan suatu tinjauan materi dalam bagian pertama. tentu saja anda harus dapat menjelaskan : a. Perbedaan antara sistem analog dan sistem digital dan mengapa sistem digital mampu melakukan akurasi yang lebih besar. b. Perbedaan antara jaringan kombinasional dan jaringan berurutan. c. Mengapa dua nilai tanda dan bilangan biner biasa digunakan dalam sistem digital.
2. Sistem bi/angan dan konversi Ketika anda menyelesaikan unit ini. anda harus dapat menyelesaikan jenis soal berikut ini a.
b. c.
Berilah bilangan bulat positif. pecahan positif. atau campuran dalam setiap base (2 sampai 16). konversikan ke base lain. Tentukan prosedur yang digunakan dengan memakai power ekspansi untuk bilangan tersebut. Tambahkan, kurangilah,dan kalikanlah bilanganbiner positif. Jelaskan proses penambahan dan pengurangan dalam bentuk membawa dan meminjam. Tampilkan bilangan desimal dalam BCD, kode 6-3-1-1. kode excess-3, dan seterusnya. Berilah serangkaian berat, susunlah kode berat.
PEDOMANBELAJAR I.
Pelajarilah Bagian 1.1, Sistem Digital dan Jaringan Switching, dan jawablah pertanyaan berikut ini : (a) Apa perbedaan dasar antara sistem analog dan sistem digital ? (b) Mengapa sistem digital mampu memberikan akurasi yang lebih besar daripada sistem analog ? (c) Jelaskan perbedaan antarajaringan switching kombinasional dan berurutan. 3
(d) Apakah ciri-ciri umum yang kebanyakan dipunyai oleh alat switching yang digunakan dalam sistem digital ? (e) Mengapa bilangan biner digunakan dalam sistem digital?
2.
Pelajaril~h Bagian 1.2, Sistem Bilangan dan Konversi. lawablah pertanyaan berikut ini ketika anda mempelajarinya : (a) Apakah bilangan pertama yang diperoleh dalam metode pembagian untuk konversi base merupakan digit yang paling besar atau yang paling kecil? (b) Kerjakan semua contoh dalam teks ketika anda mempelajarinya dan yakinlah bahwa anda memahami semua langkah tersebut. (c) Suatu metode yang mudah untuk konversi antara biner dan oktal digambarkan dalam Persamaan (I-I). Mengapa anda harus mulai membentuk kelompok tiga bit pada titik biner, bukan pada sebelah kiri akhir bilangan ? (d) Mengapa tidak mungkin mengkonversikan bilangan desimal menjadi bilangan biner pada base digit-per-digitsepertiyang dapat dilakukan untuk oktal atau heksadesimal ? (e) Lengkapilah tabel konversi berikut ini, Biner (base 2)
o I 10 II 100 101 110 III 1000 1001 1010 1011 1100 1101 1110 1I11 10000
Oktal (base 8)
Desimal (base 10)
o
o
o
20
16
10
Heksadesimal (base 16)
(f) Kerjakan Soal 1.1 (a). (b), (c). (d); 1.2; 1.4(a); dan 1.6. 4
3.
Pelajarilah Bagian 1.3 Aritmatika Biner (a) Yakinkan bahwa anda dapat mengikuti semua contoh , terutama perkembangan borrow dalam proses pengurangan. (b) Yakinkan"bahwaanda memahamiproses borrow, kerjakan analisis detail dalam bentuk power 2 untuk contoh berikut ini : 1100 - 101 III
4.
Kerjakan Soal 1.9 dan 1.11.
5.
Pelajarilah Bagian lA, Kode Biner (a) Tampilkan 187dalam kode BCD, kode excess-3, kode 6-3-1-1, dan kode 2-dari-5. (b) Periksalah bahwa kode 6-3-1-1 merupakan kode berbobot. Perhatikan bahwa untuk beberapa digit desimal, kombinasi dua kode yang berbeda dapat digunakan. Misalnya, 0101 atau 0110 dapat mewakili 4. Dalam setiap kasus kombinasi dengan bnilai biner yang lebih kecil dapat digunakan. (c) Bagaimana kode excess-3 diperoleh ? (d) Bagaimana kode ASCII untuk digit desimaI diperoleh ? Apa hubungan antara kode ASCII untuk huruf besar dan huruf yang lebih kecil ? (e) Kerjakan Soal 1.15.
6. Jika anda mempelajari materi ini secara mandiri, anda perlu melewati uji kesiapan pada unit ini sebelum meneruskan ke unit berikutnya. Tujuan uji kesiapan ini adalah untuk menentukan apakah anda telah menguasai materi dalam unit ini dan siap untuk meneruskan ke unit berikutnya. Sebelum anda mengambil uji kesiapan : 5
(a) Periksalah jawaban anda terhadap soal yang diberikan pada akhir buku ini. Jika anda tidak mendapatkan soal, yakinlah bahwa anda memahami mengapa jawaban anda salah dan koreksilah solusi anda tersebut. (b) Yakinlah bahwa anda memenuhi semua tujuan yang terdaftar pada awal unit ini.
PENGANTAR SISTEMBILANGAN DANKONVERSI
1.1SISTEMDIGITALDANJARINGAN SWITCHING Sistem digital digunakan secara ekstensif dalam penghitungandan pemrosesan data, sistem kontrol, komunikasi, dan pengukuran. Karena sistem digital mempunyai kemampuan akurasi dan reliabilitas yang lebih besar daripada sistem analog, banyak tugas yang pada mulanyadilakukan dengan sistem analog sekarang dilakukan secara digital. Oalam sistem digital, kuantitas atau tanda fisik hanya dapat mengasumsikan nilai yang berlainan, sementara dalam sistem analog, kuantitas atau tanda fisik dapat berbeda-beda secara terus menerus melebihijarak tertentu. Misalnya, voltase output dari sistem digital mungkin dibatasi hanya mengambil dua nilai seperti 0 volt dan 5 volt, sementara output voltase dari sistem analog dapat diasumsikan setiap nilai yang berkisar -10 volts sampai +10 volts. Karena sistem digital bekerja dengan kuantitas berlainan, dalam banyak kasus mereka dapat didisain sehingga untuk input yang ada, outputnya sangat tepat. Misalnya, jika kita mengalikan dua bilangan 5 digit dengan menggunakan perkalian digital, maka hasil 10 digit akan tepat dalam semua 10 digit. Oi lain pihak, output seatu per!caliananalog mungkin mempunyai kesalahan yang berkisar dari pecahan satu persen sampai beberapa persen tergantung pada akurasi komponen yang digunakan dalam susunan perkalian. Lebih jauh, jika kita memerlukan hasil yang tepat sampai 20 digit daripada 10 digit, kita dapat mendisain kembali perkalian digital untuk memproses lebih banyak digit dan menambahkan lebih banyak digit ke inputnya. Perbaikan yang serupa dalam .
akurasi perkalian analog tidak mungkin karena keterbatasan pada akurasi komponen.
6
-------
Disain sistem digital secara kasar dapat dibagi .menjadi tiga bagian - disain sistem, disain logika, dan disain sirkuit. Disain sistem meliputi pemecahan keseluruhan sistem menjadi subsistem dan menentukan karakteristik masingmasing subsistem. Misalnya, disain sistem suatu komputer digitaldapat meliputi penentuan bilangan dan jenis unit memori, unit aritmatika, dan alat inputoutput sepertijuga inter-koneksi dan kontrol subsistem ini. Disain logika meliputi penentuan inter-koneksi logika dasar dengan membangun blok untuk mewakili fungsi tertentu. Suatu contoh disain logika adalah menentukan inter-koneksi simbollogika dan flip-flop yang diperlukan untuk mewakili penambahan biner. Disain sirkuit meliputi penentuan inter-koneksi komponen tertentu seperti resistor, diode dan transistor untuk membentuk simbol, flip-flop, atau logika pembangun blok lainnya. Kebanyakan disain sirkuit kontemporer dikerjakan dalam bentuk sirkuit integrasi dengan menggunakan alat disain komputer bantu yang tepat untuk membuat tata-Ietak dan membuat inter-koneksi komponen pada chip silikon. Buku ini sebagian besar ditujukan untuk studi disain logika dan teori yang diperlukan untuk memahami proses disain logika. Beberapa aspek disain sistem dibahas dalam Unit 20 dan 21. Disain sirkuit simbollogika didiskusikan secara singkat dalam Lampiran A. Banyak subsistem dari sebuah sistem digital mengambil bentuk switching jaringan (Gambar I-I). Suatu jaringan switching mempunyai satu atau lebih input dan satu atau lebih output yang mengambil nilai yang berbeda-beda. Dalam buku ini, kita akan mempelajari dua jenis jaringan switching, yaitu jaringan kombinasional dan berurutan. Dalam suatu jaringan kombinasional, nilai output hanya tergantung pada nilai input sekarang, bukan pada nilai input yang lalu. Dalam jaringan berurutan, output tergantung kepada nilai input sekarang dan nilai input yang lalu. Dengan kata lain, untuk menentukan output jaringan berurutan, urutan nilai input harus ditentukan. Jaringan berurutan dikatakan mempunyai memori karena ia harus "mengingat" hal dalam urutan input yang lalu, sementara suatu jaringan kombinasional tidak mempunyai memori. Secara umum, suatu jaringan berurutan terdiri dari jaringan kombinasional dengan penambahan elemen memori. Jaringan kombinasional lebih mudah untuk didisain daripada jaringan berurutan dan jaringan ini akan dipelajari pertama kali. Bangunan blok dasar yang digunakanuntuk menyusunjaringan kombinasional adalah simbol logika. Disainer logika harus menentukan bagaimana membuat inter-koneksi antara simbol ini untuk mengkonversikan tanda input .jaringan menjadi tanda output yang diinginkan. Hubungan antara tanda input dan output ini dapat digambarkan secara matematis dengan menggunakan aljabar Boolean. Unit 2 dan 3 dalam buku ini memperkenalkan hukum dasar dan teorema aljabar 7
---.--.--------
Boolean dan menunjukkan bagaimana mereka dapat digunakan untuk menggambarkan jaringan simbol logika. Dimulai dari pernyataan soal yang ada, langkah pertama dalam membuat disain jaringan logika kombinasional adalah menderivasikan sebuah tabel atau persamaan logika aljabar yang menggambarkan output jaringan sebagai suatu fungsi input jaringan (Unit 5). Untuk membuat disain suatu jaringan ekonomis untuk merealisasikan fungsi output ini, persamaan logika yang menggambarkan output jaringan biasanya harus disederhanakan. Metode aljabar untuk penyederhanaan ini digambarkan dalam UNit 4, dan metode penyederhanaan yang lain (prosedur peta Karnaugh dan Quine-McCluskey) diperkenalkan dalam Unit 6 dan 7. Implementasi persamaan logika yang disederhanakan dengan menggunakan bebt'rapa jenis simbol digambarkan dalam Unit 8, dan prosedur disain alternatif dengan menggunakan sirkuit terintegrasi dikembangkan dalam Unit 9. Elemen memori dasar yang digunakan dalam disainjaringan berurutan disebut flip-flop (Unit 11). Flip-flop ini dapat dibuat inter-koneksi dengan simbol untuk membentuk "kounter" dan "register" (Unit 12). Analisis jaringan berurutan yang lebih umum dengan menggunakan diagram waktu, tabel keadaan dan grafik ditampilkan dalam Unit 13. Langkah pertama dalam membuat disain jaringan switching berurutan dalam menyusun tabel keadaan atau grafik yang menggambarkan hubungan antara urutan input dan output (Unit 14). Metode untuk meneruskan dari tabel keadaan atau grafik ke suatu jaringan simbol dan flip-flop dikembangkan dalam Unit 15 dan 16, dan metode alternatif dalam pengimplementasian jaringan berurutan dibahas dalam Unit 18 dan 19. Dalam Unit 20 dan 21, teknik disain kombinasional dan berurutan diaplikasikan ke realisasi jaringan untuk mewakili penambahan biner, pengurangan, perkalian, dan pembagian. Bagian akhir dari buku ini (Unit 23-27) berkaitan dengan disain jaringan berurutan yang tidak sinkron. Jaringan semacam itu mewakili soal waktu tersendiri dan lebih sulit mendisain dibandingkan jaringan berurutan sinkron yang digambarkan dalam unit yang lebih awal. Alat switching yang digunakan dalam sistem digital biasanya adalah alat dua-keadaan; yaitu output hanya dapat mengasumsikan dua perbedaan nilai yang berbeda. Contoh alat switching adalah relay, diode, dan transistor. Sebuah relay dapat mengasumsikan dua keadaan, yaitu tertutup atau terbuka, tergantung apakah power diaplikasikan ke kumparan atau tidak. Sebuah diode bisa berada dalam keadaan mengk'onduksi atau dalam keaciaan tidak mengkonduksi. Sebuah transistor bisa berada dalam keadaan teIputus atau teraliri, dengan hubungan tegangan output tinggi atau rendah. Tentu saja, transistor juga dapat diperasikan sebagai 8
amplifier linier dengan sebuah voltase output yang terus menerus, namun dalam digital yang mengaplikasikan reliabilitas yang lebih besar diperoleh dengan mengoperasikannya sebagai alat dua-keadaan. Karena output dari kebanyakan alat switching hanya mengasumsikan dua nilai yang berbeda, maka wajar bila menggunakan bilangan biner secara internal dalam sistem digital. Karena alasan inilah bilangan biner akan dibahas pertama kali sebelum meneruskan dengan desain jaringan switching.
1.2S/STEMB/LANGAN DANKONVERS/ Ketika kita menulis bilangan desimal (base 10), kita menggunakan notasi posisi, setiap digit dikalikan dengan power 10 yang tepat berdasarkan pada posisinya dalam bilangan. Misalnya, 953.7810= 9 x 102 + 5 x 101+ 3 x 10° + 7 x 10-1+ 8 x 10-2 Demikian pula, untuk bilangan biner (base 2), setiap digit biner dikalikan dengan power 2 yang tepat : 10II .112 =I x 23 + 0 + 22 + I x 21 + I x 20 + 1 x 2-1 + I x 2-2 Perhatikan bahwa point biner memisahkan power positif dan negatif dari 2 karena titik desimal membedakan power 10 positif dan negatif untuk bilangan desimal. Setiap interger R (R > 1) dapat dipilih sebagai radiks atau base dari nomor sistem. Jika base-nya adalah R, maka digit R (0, I, ..., R-l) digunakan. Misalnya, jika R=8, maka digit yang diperlukan adalah 0,1,2,3,4,5,6 dan 7. Nomor yang tertulis dalam notasi positif dapat diperluas dalam rangkaian power dalam R. Misalnya,
N
= (a4a3azalaO.a_la_2a_3)R = a4 x R4 + a3 x R3 + az
x R2 +al x R I + ao x RO
+ a_I x RI + a_2 x R-2 + a_3 x R-3
9
dimana, aj merupakan koefisien dari Ri dan 0 ~ aj ~ R-I. Jika aritmatika yang ditunjukkan dalam perluasan seri power dilakukan dalam base 10, maka hasilnya adalah persamaan desimal N. Misalnya, 147.38 = 1 x g2 + 4 x gl + 7 x gO + 3 x' g-I
= 64 + 32 + 7 + 3/g
= 103.37510 Untuk base yang lebih besar daripada 10, lebih dari 10 simbol diperlukan untuk mewakili digit tersebut. Dalam hal ini, huruf biasanya digunakan untuk mewakili digit yang lebih besar dari 9. Misalnya, dalam heksadesimal (base 16), A mewakili 1010' B mewakili 1110'C mewakili 1210' D mewakili 1310' E mewakili 1410dan F mewakili 1510'Jadi,
A2FI6 =10 x 162 + 2 x 161 +15 + 16° = 2560 + 32+15 = 260710 Selanjutnya, kita akan mendiskusikan konversi integer desimal ke base R dengan menggunakan metode pembagian. Persamaan base R dari integer desimal N dapat ditampilkan sebagai berikut :
Jika kita membagi N dengan R, maka sisanya adalah ao:
Kemudian kita membagi QI dengan R. : Q11R = anRn-2 + ~_IRn-3 :.. ... + a3R I + ... + a3R 1 +
Kemudian kita membagi Q2 dengan R :
10
~ = Q2'sisanyaa,
Proses ini diteruskan sampai akhimya kita mendapatkan
~. Perhatikan
bahwa
sisa yang diperoleh pada setiap langkah pembagian adalah salah Satudigit yang diinginkan dan digit yang paling tidak berarti adalall digit yang diperoleh pertama kali.
CONTOH:
Konversikan 5310ke biner. 2 /53 2/26
sisa = I
2 /13 2Lf1.
= 0 = a] sisa = I = ~
2U
sisa
2Ll
sisa
o
sisa
= ao
sisa
= 0 = a3 = I = a4 = I = as
Konversi pecahan desimal ke base R dapat dilakukan dengan menggunakan perkalian berturut-turut dengan R. Sebuah pecahan desimal F dapat ditampilkan sebagai berikut :
Perkalian dengan R menghasilkan
di mana FI mewakili bagian pecahan dari hasil tersebut dan a_I adalah bagian interger. Mengalikan FJ dengan R menghasilkan :
Selanjutnya kita mengalikan F2 dengan R :
11
ProSes-iniditeruskan sampai kita mendapatkan bilangan digit yang memadai. Perhatikan bahwa bagian interger yang diperoleh pada setiap langkah merupakan salah satu digit yang diinginkan dan digit yang paling penting diperoleh pertama kali. CONTOH : F
Konversikan .62510ke biner.
= .625 x
2 .62510=.1012
1.250
0.500
1.000
(a_I=1)
(a_2=O)
(a_3= I)
Proses ini tidak selalu berhenti, namun jika tidak berhenti hasilnya adalah pengulangan pecahan. CONTOH : Konversikan 0.710 ke biner. 7 2 (1).4 2 (0).8 2 (1).6 2 (1).2 2 (0).4 2 (0).8
12
<-
proses mulai pengulangan di sini karena .4 telah didapatkan terlebih dulu di atas 0.7 10 =0.1 lli.JJ2 lli.JJ2 lli.JJ2 '.'2
Konversi antara dua base selain dari desimal dapat dilakukan secara langsung dengan menggunakan persedur yang ada. Namun demikian, operasi aritmatika harus dilakukan dengan menggunakan base selain 10. Ini biasanya lebih mudah untuk mengkonversikan ke desimal terlebih dahulu dan kemudian mengkonversikan bilangan desimal ke base baru.
CONTOH:
Konversikan 231.34 ke base 7.. 231.34 = 2 x 16 + 3 x 4 + I + 3/4
7 /45 7L.fJ.
o
.75 7 (5).25 7
sisa 3 sisa 6
= 45.7510
45.7510
= 63.5151...7
(1).75 7 (5).25 7 (I ).75 Konversi dari biner ke oktal (dan sebaliknya) dapat dilakukan dengan pemeriksaan karena masing-masing digit oktal berkoresponden dengan digit tiga biner (bits) secara tepat. Dimulai dari titik biner, bit dibagi menjadi tiga kelompok dan masing-masing kelompok diletakkan dengan sebuah digit oktal : 011 010 III 11010111110.00112 = 3 2 7
110.001
-
6
-
I
100
-
4
=:3276.148(I-I)
Demikian pula, biner ke konversi heksadesimal dilakukan dengan membagi bilangan biner menjadi kelompok empat bit dan mengganti masing-masing kelompok dengan digit heksadesimal: 0100 1101 . 0101 1100 1001101.0101112 = = 4D.5C16 (1-2) 4
o
5
C
13
1.3 ARITMAT1KA SINER Operasi aritrnatika dalarn sistern digital biasanya dilakukan dalarn bentuk biner karena disain jaringan logika untuk rnenarnpilkan aritrnatika biner itu lebih rnudah daripada bilangan desirnal. Aritrnatika biner diperlakukan dengan cara yang sarna dengan desirnal, kecuali dalarn hal tabel penarnbahan dan perkalian lebih sederhana. Tabel penarnbahan untuk bilangan biner adalah
0+0=0 0+1
=I
1+0=1 I + I=0
dan rnernbawaI ke kolornberikutnya
CONTOH : Tarnbahkan 1310dan 1110dalarn biner 1111 < 1310
=
1101
1110
=
1011
11000
= 2410
rnernbawa
Tabel pengurangan untuk bilangan biner adalah
0-0=0 o- I= I 1-0=1
dan rnerninjarnI dari kolornberikutnya
1-1=0 Dengan rnerninjarn 1 dari sebuah kolom sarna dengan rnengurangi 1 dari kolorn tersebut. . 14
CONTOH PENGURANGAN DINER: 1 Suatu alternatif pengurangan biner adalah menggunakan .komplemen aritmatika 2, seperti didiskusikan dalam bagian 20.1.
(a)
I <-
(memunjukkan pinjaman dari kolom ketiga)
11101 10011 1010
(b)
1111 <-
meminjam
10000 P 1101
(c)
III
<
memmJam
111001 1011 101110
Perhatikan bagaimana peminjaman menyebar dari kolom ke kolom dalam contoh kedua. Untuk meminjam I dari kolom kedua, kita harus meminjam I dari kolom ketiga, dan seterusnya. Pengurangan birier kadang-kadang menyebabkan kebingungan, mungkin karena kita terlalu terbiasa melakukan pengurangan dalam desimal sehingga kita melupakan pentingnya proses peminjaman.Sebelum melakukan analisis mendetail mengenai pengurangan biner, kita akan meninjau proses peminjaman untuk pengurangan desimal. Jika kita menghitung kolom (digit) dari suatu interger desimal dari kanan ke kiri (dimulai dengan 0), kemudian jika kita meminjam I dari kolom n, maka 15
yang kita maksudkan adalah bahwa kita mengurangi 1 dari kolorn n dan rnenarnbahkan 10 ke kolom n-I. Karena 1 x 10" = lOx 10"-1,rnaka nilai bilangan desirnal tidak berubah, namun kita dapat rneneruskan dengan pwngurangan. Misalnya, pertirnbangkan soal pengurangan desimal berikut ini : kolorn 2
kolorn 1
~/
205
- 18 187
Suatu analisi yang rnendetail mengenai proses perninjaman untuk contoh ini, pertama kali menunjukkan peminjarnan 1 dari kolorn 1 dan kernudian peminjaman I sari kolorn 2, adalah sebagai berikut : 205 - 18
= [2 x
lQ2 + 0 x 101 + 5 x 10°]
- [
1 x 101 + 8 x 10°] perhatikan perninjaman 1
= [2 x
102 + (0
- [
- l)x
1 dari kolorn 1 101 + (10 + 5) x 10°]
1 x 101 +
1
= [(2 - I) x
1 IQ2+ (10 + 0
man dari kolorn 2 perhatikan peminja-
- I) x
- [
= [I
8 x 10°]
101 + 15 x 10°]
1 x 101 + 8 x 10°] x lQ2
+ 8 x 101
+ 7 x 10°] =187
Analisis dari perninjamanuntuk penguranganbiner adalah sarna persis, kecuali bahwa kita bekerja dengan power 2 selain power 10.jadi, untuk sebuah bilangan biner, pep1injarnan 1 dari kolom n sarna dengan pengurangan I dari kolom n dan penarnbahan 2 (102) ke kolorn n-l. Nilai bilangan biner tidak berubah karena 1 x 2n
16
=2
x 2n-I,
_"- - - u. u._
Analisis yang mendetail mengenai eontoh pengurangan biner (e) mengikuti. Dimulai dari kolom yan gpaling kiri, I - I = O. Untuk mengurangi pada kolom kedua, kita hams meminjam dari kolom ketiga. Daripada meminjam seeara langsung, kita letakkan I di atas kolom ketiga untuk menunjukkkan bahwa peminjaman diperlukan, dan kita pada kenyataannyaakan melakukan peminjaman ketika kita sampai ke kolom ketiga. (Hal ini sama dengan tanda eara peminjaman yang mungkin tersebbar dalam komputer.) Sekarang, karena kita telah meminjam I, kolom kedua menjadi 10, dan to - I = I. Untuk meminjam I dari kolom ketiga, kita hams meminjam I dari kolom ke-empat (ditunjukkan dengan menempatkan I di atas kolom 4). Kolom 3 kemudian menjadi 10, mengurangi hasil peminjaman I, dan I 0 = I. Sekarang dalam kolom 4, kita mengurangi peminjaman dengan meninggalkan O. Untuk menyelesaikan pengurangan, kita hams meminjam dari kolom 5, yang memberikan to dalam kolom 4, dan to I = I.
Tabel perkalian untuk bilangan biner adalah OxO=O Oxl=O IxO=O Ixl=1
Contoh berikut ini menggambarkan perkalian 3010 dengan 1110 dalam bilangan biner: 1101 lOll 1101 1101 0000 1101 10001111 = 14310 Perhatikan bahwa hasil setiap bagian merupakan pengali (1101) yang bergeser di atas bilangan yang tepat atau merupakan bilangan DOl.
17
Contoh berikut ini menggambarkan pembagian 14510dengan 1110dalam bilangan biner: 1101 lOll 110010001 1011 1110 1011 1101 1011 10
Hasil baginya adalah 1101 dengan sisa 10
1.4 KODESINER Meskipun kebanyakan komputerbesar bekeJjasecara internal dengan bilangan biner, peralatan input dan outputnya biasanya menggunakan bilangan desimal. Karena kebanyakan sirkuit logika hanya menerima dua tanda nilai, maka bilangan desimal harus diberi kode dalam bentuk tanda biner. Dalam bentuk kode biner yang paling sederhana setiap digit desimal diganti dengan persamaan binernya. Misalnya 937.25 ditampilkan oleh
~/310011
1001
0111
~~ 0010
0101
Tampilan ini ditunjuk sebagai kode desimal biner (BCD = binary-codeddecimal) atau secara lebih eksplisit sebagai BCD 8-4-2-1. Perhatikan bahwa hasilnya sangat berbeda dibanding hasil yang diperoleh dengan mengkonversikan bilangan sebagai keseluruhan ke dalam biner.
18
Tabe11-1 Kode Siner untuk Digit Desimal
Decimal Digit 0
I
2
8-4-2-1 Code (BCD)
6-3-1-1 Code
Excess-3 Code
2-out-of-5 Code
Gray Code
0000
0000
0011
00011
0000
0001
0001
0100
00101
0001
0010
0011
0101
00110
0011
I
3
I
0011
0100
0110
01001
0010
4
I
0100
0101
0111
01010
0110
0101
0111
1000
01100
1110
0110
1000
1001
10001
1010
7
0111
1001
1010
10010
101I
8
1000
1011
1011
10100
1001
1001
1100
1100
11000
1000
5 I
6
9
I
I
Tabel I-I menunjukkan beberapa rangkaian kode biner yang mungkin untuk digit 10 desimaI. Banyak kemungkinan lain yang ada karena satu-satunya persyaratan untuk kode yang valid adalah bahwa setiap digit desimal diwakili oleh kombinasi digit biner yang berbeda. Untuk menerjemahkan bilangan desimal ke dalam bentuk kode, setiap digit desimal diganti dengan kode korespondennya. Jadi, 937 diungkapkan dalan kode excess-3 yaitu 1100 0110 1010. Kode 8-4-2I (BCD) dan kode 6-3-1-1 adalah contoh dari kode yang diberi bobot. Kode berbobot 4-bit mempunyai ciri-ciri bahwa jika bobotnya w3' w2' wI' dan wo' maka kode a3a2a1aomewakili bilangan desimal N, di mana,
Misalnya, bobot untuk kode 6-3-1-1 adalah w]=6, w2=3, wl=l, dan wo=1. Jadi kode biner 1011 mewakili digit desimal
N= 6 · I + 3 · 0 + I · I + I · I = 8
19
Kode excess-3 diperoleh dari kode 8-4-2-1 dengan menambahkan 3(00 II) ke masing-masing kode. Kode 2-dari 5 mempunyai ciri-ciri bahwa tepat 2 dari 5 bit adalah I untuk setiap kombinasi kode yang valid. Kode ini mempunyai ciriciri pemeriksaan kesalahan yang bermanfaat, karena Jika setiap satu dari bit ini dalam sebuah kombinasi kode diubah dikarenakan kesalahan fungsi sirkuit logika. jumlah dari 1 bit tidak lagi tepat dua. Tabel menunjukkan satu contoh kode Gray. Kode Gray mempunyai ciri-ciri bahwa kode untuk digit desimal berurutan berbeda tepat satu bit. Misalnya, kode untuk 6 dan 7 berbeda hanya empat bit, dan kode untuk 9 dan 0 hanya berbeda dalam bit pertama. Kode Gray sering digunakan ketika menerjemahkan sebuah kuantitas analog seperti posisi terowongan ke dalam bentuk digital. Dalam hal ini, perubahan kecil dalam kuantitas analog hanya akan berubah satu bit dalam kode, yang memberikan operasi yang lebih dapat dipercaya daripada jika dua tau lebih bit berubah dalam satu waktu.. Kode Gray dan kode 2-dari 5 bukan merupakan kode berbobot. Secara umum, nilai desimal dari digit kode tidak dapat dihitung derigan rumus yang sederhana ketika kode yang tidak berbovot digunakan. Banyak penerapan komputer memerlukan pemrosesan data yang berisi bilangan, huruf, dan simbollainnya seperti tanda-tanda baca. Untuk memindahkan data seperti alphanumerik dari atau ke komputer, atau menyimpannya secara internal dalam sebuah komputer, masing-masing simbol harus diwakili dengan kode biner. Kode alphanumerik yang umum adalah kode ASCII (American Standard Code for Information Interchange). Kode ini merupakan kode 7 bit, sehingga kombinasi kode 27 (128) yang berbeda dapat digunakan untuk mewakili huruf, bilangan dan simhol lainnya. Tabel 1-2 menunjukkan bagian kode ASCII; kombinasi kode yang tidak terdaftar digunakan untuk fungsi kontrol khusus, seperti "form feed" atau "end of transmission." Kata "Start" diwakili dalam kode ASCII sebagai berikut :
1010011 S
20
1110100
1100001
1110010
a
r
1110100
Tabe/1-2
Kode ASCII ASCII
Char-
Char-
acter
A6 As A4 A3 A2 AI Ao
space
0
I
0
I
#
0
0
Char-
ASCII
acter A6 As A4 A3 A2 A I Ao
0
0
0
0
0
0
0
I
A
I
0
0
0
0
I
0
B
I
0
0
@
I
0
0
0
acter
0
ASCII A6 AS A4 A3 A2 AI Ao I
I
0
0
0
0
0
0
I
a
I
I
0
0
0
I
0
b
I
I
0
0
0
0
0
0
I
0
0
I
0
0
0
I
0
0
I
0
0
0
I
I
C
I
0
0
0
0
I
I
d
I
I
0
0
0
I
I
0
D
I
0
0
0
I
0
0
d
I
I
0
.0
I
0
0
$
0
I
0
0
I
0
%
0
I
0
0
I
0
I
E
I
0
0
0
I
0
I
e
I
I
0
0
I
0
&
0
I
0
0
J
I
0
F
I
0
0
0
I
I
0
f
I
I
0
0
I
I
0
* +
0
0
I
0
0
I
I
I
G
I.
0
0
0
I
I
I
g
I
I
0
0
0
I
0
0
I
I
I
G
I
0
0
0
I
I
I
g
I
I
0
0
0
I
0
I
0
0
I
I
I
0
0
I
0
0
I
i
I
11
0
I
0
0
0
I
0
I
0
I
0
J
I
0
0
I
0
I
0
j
I
I
0
I
0
I
0
0
0
I
0
I
0
I
I
K
I
0
0
I
0
I
I
k
I
I
0
I
0
0
I
0
I
I
0
0
L
I
0
0
I
I
0
0
I
I
I
0
I
I
0
0
I
0
I
I
0
I
M
I
0
0
I
I
0
I
m
I
.1
0
I
I
0
I
0
I
0
I
I
I
0
N
I
0
0
i
I
I
0
n
I
I
0
I
I
I
0
I
0
I
0
I
I
I
I
0
I
0
0
I
I
I
I
0
I
I
0
I
0
0
I
I
0
0
0
0
P
I
0
I
0
0
0
0
P
I
I
I
0
0
0
0
0
I
I
0
0
0
0
P
I
0
I
0
0
0
0
P
I
I
I
0
0
0
0
0
I
I
0
0
I
0
R
I
0
I
0
0
I
0
r
I
I
I
0
0
I
0
2 3
0
I
I
0
0
I
I
S
I
0
I
0
0
I
I
s
I
I
I
0
0
I
I
4
0
I
I
0
I
0
0
T
I
0
I
0
I
0
0
t
I
I
I
0
I
0
0
5
0
I
2
0
I
0
I
U
I
0
I
0
I
0
I
u
I
I
I
0
I
0
6
0
I
I
0
I
I
0
V
I
0
I
0
I
I
0
v
I
I
I
0
I
I
7
0
I
I
0
I
I
I
W
I
0
I
0
I
I
I
w
I
I
I
0
I
I
I
8
0
I
I
I
0
0
0
X:
I
0
I
I
0
0
0
x
I
I
I
I
0
0
0
9
0
I
I
I
0
0
I
Y
I
0
I
I
0
0
I
I
I
I
0
0
I
I
I
0
I
0
Z
I
0
I
I
0
I
0
y z
I
0
I
I
I
I
0
I
0
0
I
I
I
0
I
I
[
I
0
I
I
0
I
I
I
I
I
I
I
0
I
0
0
I
I
I
I
0
0
\
I
0
I
I
I
0
0
I
I
I
I
I
I
0
0
I
I
I
]
I
0
I
1
1
0
I
"
I
0
1
I
I
I
0
I
0
1
I
I
II
<
0
I
0
I
>
0
I
I
I
I
I
0
?
0
I
I
I
I
I
I
-
0
-
I
I
I
I
I
0
I
1
I
I
I
I
0
delete
I
I
I
I
I
I
I
I
21
PERMASALAHAN i .1
1.2
1.3
Konversikan ke oktal kemudian ke biner : (a) 757.2510
(b) 123.1710
(c)368.8910
(e) 1305.375'0 (h) 1644.875'0
(f) 111.3310
(g)301.1210
(d) 1063.510
Konversikan ke oktal kemudian ke desimal : (a)
1OIII011.Iz
(b) 1101101.0112
(c)
IOOOOOll.llz
(d) 111011 1I.I0lz
Konversikan ke oktal dan kemudian ke desimal : (a) lllOOlll.lz
(b) 110100111.012
(c) 1001000.lllz
(d) 101010101.112
1.4 (a) Konversikan ke base 5: 165.27 (kerjakan semua aritmatika dalam desimal). (b) Konversikan ke base 7: 143.215 (kerjakan semua aritmatika dalam desimal). 1.5
(a) Konversikan ke base 3: 375.548 (kerjakan semua aritmatika dalam desimal. (b) Konversikan ke base 4: 384.7410
1.6 (a) Konversikan ke heksadesimal: 747.6410' Sekitar dua digit melewati point heksa. (b) Buatlah skema untuk mengkonversikan heksadesimal secara langsung ke base 4 dan konversikan jawaban anda ke base (c)
22
Konversikan ke desimal : ADE.BI6.
1.7
Buatlah skema untuk mengkonversikan bilangan base 3 secara langsung ke base 9. Gunakan metode anda untuk mengkonversikan bilangan berikut ini ke base 9: 220012112021.1023.
1.8
Konversikanke heksa desimal dan kemudian ke biner :
1.9
(a) 2983 63/64
(b) 93.70
(c) 1900 31/32
(d) 109.30
Tambahkan. kurangi. dan kalikan dalam biner : (a) 1111 dan 1011 (b) 1001001 dan 111010 (c) 110010 dan 11101
1.10 Tambahkan. kurangi. dan kalikan dalam bilangan biner : (a) III dan 1001 (b) 1010101 dan 111011 (c) 110010 dan 11101
I .II Kurangkandalam biner. Letakkan I pada setiap atas kolom di mana ia diperlukan untuk peminjaman. (a)
11011011 - 1101101
(b)
10001100 - 1100101
(c)
110111101 - 11101010
1.12 Kurangkan dalam bilangan biner. Letakkan I di atas setiap kolom di mana diperlukan peminjaman. (a) 11001011 - 1110101 (b) 10010100 - 1001101 (C) 111011011 - 10101101 23
1.13 Bagilah dalam bilangan biner : (a) 1011110 : 1001 (b) 110000001 : 1110 (c) 1110010 : 1001 Periks~lah jawaban anda dengan mengalikan dalam bilangan biner dan menambahkan sisanya.
1.14 Bagilah dalam bilangan biner : (a). 1011011 : 1010 (b) 110000011 : 1011 (c) 1110100 : 1001
1.15 Susunlah tabel untuk kode berbobot 5-3-2-1 dan tulislah 9371 dengan menggunakan kode ini. 1.16 Susunlah tabel untuk kode berbobobt 4-3-2-1 dan tulislah 6-4-7-2 dengan menggunakan kode ini. 1.17 Mungk;nkah untuk menyusun kode berbobot 5-3-1-1 ? Kode berbobbor 6-4-1-1 ? Jelaskan jawaban anda. 1.18 Mungkinkan untuk menyusun kode berbobot 5-4-1-1 ? Kod~ berbobot 6-3-2-1 ? Jelaskan jawaban anda. 1.19 Susunlah kode berbobot 6-2-2-1 untuk digit desimal. Oalam kode ini bilangan berapakah yang diwakili oleh 1001 0110 ? 1.20 Susunlah kode berbobot 5-2-2-1 untuk digit desimal. Oalam kode 1m bilangan berapakah yang diwakili oleh 1001 0011 ? 1.21 Konversikan ke heksadesimal dan kemudian berilah kode ASCII untuk menghasilkan bilangan heksadesimal (termasuk kode untuk point heksa) : (a) 234.7110
24
(b) 196.8210