Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut : Dengan menggunakan peta karnaugh, Cy dapat diserhanakan menjadi : Cy = AB + AC + BC



dokumen-dokumen yang mirip
Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Adder juga sering disebut rangkaian

Arithmatika Komputer. Pertemuan 3

9.3. ARITMATIKA INTEGER

BAB V RANGKAIAN ARIMATIKA

RANGKAIAN ARITMETIKA 3

Rangkaian Digital Kombinasional. S1 Informatika ST3 Telkom Purwokerto

RANGKAIAN PEMBANDING DAN PENJUMLAH

BAB VI RANGKAIAN ARITMATIKA

Pertemuan Ke-6 ARITMATIKA KOMPUTER

Jobsheet Praktikum PARALEL ADDER

BAB V UNTAI NALAR KOMBINATORIAL

6. Rangkaian Logika Kombinasional dan Sequensial 6.1. Rangkaian Logika Kombinasional Enkoder

Dari tabel kebenaran half adder, diperoleh rangkaian half adder sesuai gambar 4.1.

LEMBAR TUGAS MAHASISWA ( LTM )

A. SISTEM DESIMAL DAN BINER

Kuliah#11 TKC205 Sistem Digital. Eko Didik Widianto. 11 Maret 2017

A0 B0 Σ COut

Basic Arithmetic Computing. Team Dosen Telkom University 2016

BAB II ARITMATIKA DAN PENGKODEAN

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD April 2018

Sistem. Bab 6: Combinational 09/01/2018. Bagian

Gambar 5(a).Tabel Kebenaran Full Adder

LAB SHEET TEKNIK DIGITAL. Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen

DASAR DIGITAL. Penyusun: Herlambang Sigit Pramono DEPARTEMEN PENDIDIKAN NASIONAL DIREKTORAT PENDIDIKAN MENENGAH KEJURUAN

PERCOBAAN 8. RANGKAIAN ARITMETIKA DIGITAL DASAR

Perancangan Rangkaian Digital, Adder, Substractor, Multiplier, Divider

ARITHMETIC & LOGICAL UNIT (ALU) Arsitektur Komputer

BAB I GERBANG LOGIKA DASAR & ALJABAR BOOLEAN

Review Kuliah Sebelumnya

PRAKTIKUM RANGKAIAN DIGITAL

Rangkaian Kombinasional

Sistem Bilangan dan Pengkodean -2-

Aljabar Boolean. IF2120 Matematika Diskrit. Oleh: Rinaldi Munir Program Studi Informatika, STEI-ITB. Rinaldi Munir - IF2120 Matematika Diskrit

Fakultas Teknologi Industri Universitas Gunadarma 2013

R ANGKAIAN LOGIKA KOMBINASIONAL DAN SEQUENSIAL

SISTEM BILANGAN, OPERASI ARITMATIKA DAN PENGKODEAN

Kuliah#9 TKC205 Sistem Digital - TA 2013/2014. Eko Didik Widianto. 21 Maret 2014

BAB I : APLIKASI GERBANG LOGIKA

PERCOBAAN 11. CODE CONVERTER DAN COMPARATOR

8/4/2011. Microprocessor & Microcontroller Programming. Sistem Bilangan. Sistem Bilangan. Sistem Bilangan. Sistem Bilangan

Muhammad Adri Abstrak

Gerbang AND Gerbang OR Gerbang NOT UNIT I GERBANG LOGIKA DASAR DAN KOMBINASI. I. Tujuan

Arsitektur Komputer. Rangkaian Logika Kombinasional & Sekuensial

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD Maret 2018

LAPORAN PRAKTIKUM DIGITAL

DCH1B3 Konfigurasi Perangkat Keras Komputer

RANGKAIAN ARITMETIKA 2

BAB VI RANGKAIAN-RANGKAIAN ARITMETIK

RANGKAIAN ARITMETIKA

Arsitektur dan Organisasi

OPERASI DALAM SISTEM BILANGAN

Representasi Bilangan dan Operasi Aritmatika

Pengenalan Sistem Bilangan Biner dan Gerbang Logika

ARITMATIKA ARSKOM DAN RANGKAIAN DIGITAL

DIG 04 RANGKAIAN PENJUMLAH

SILABUS MATA KULIAH MICROPROCESSOR I Nama Dosen: Yulius C. Wahyu Kurniawan, S.Kom.

FORMAT BILANGAN DALAM MIKROPROSESOR

BAB VI RANGKAIAN KOMBINASI

BAB V b SISTEM PENGOLAHAN DATA KOMPUTER (Representasi Data) "Pengantar Teknologi Informasi" 1

Representasi Bilangan dan Operasi Aritmatika

Lanjutan. Rangkaian Logika. Gambar Rangkaian Logika

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS TEKNIK DIGITAL

Encoder, Multiplexer, Demultiplexer, Shifter, PLA

2.1 Desimal. Contoh: Bilangan 357.

DIKTAT SISTEM DIGITAL

SISTEM DIGITAL; Analisis, Desain dan Implementasi, oleh Eko Didik Widianto Hak Cipta 2014 pada penulis GRAHA ILMU Ruko Jambusari 7A Yogyakarta 55283

MODUL 1 SISTEM BILANGAN

Sistem-Sistem Bilangan Sistem-Sistem Bilangan secara matematis: Contoh-2: desimal: biner (radiks=2, digit={0, 1}) Bilangan. Nilai

Sistem Bilangan pada Bidang Ilmu Komputer (Lanjutan)

Dr. novrina

MODUL TEKNIK DIGITAL MODUL II ARITMATIKA BINER

Representasi Data Digital (Bagian 1)

SISTEM BILANGAN DIGITAL

Aritmatika Komputer. Bab 9 4/29/2014

BAHAN AJAR SISTEM DIGITAL

TSK205 Sistem Digital. Eko Didik Widianto

LAPORAN PRAKTIKUM DIGITAL

Sistem Digital. Dasar Digital -4- Sistem Digital. Missa Lamsani Hal 1

BAB VIII REGISTER DAN COUNTER

SISTEM SANDI (KODE) Suatu rangkaian pengubah pesan bermakna (misal desimal) menjadi sandi tertentu (misal biner) disebut enkoder (penyandi).

Sistem Digital. Sistem Angka dan konversinya

SISTEM DIGITAL 1. PENDAHULUAN

Percobaan 4 PENGUBAH SANDI BCD KE PERAGA 7-SEGMEN. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

Pokok Pokok Bahasan :

II. Sistem Bilangan Outline : 31/10/2008. Anhar, ST. MT. Lab. Jaringan Komputer

FPGA DAN VHDL TEORI, ANTARMUKA DAN APLIKASI

Representasi Bilangan dan Operasi Aritmatika

SISTEM KONVERTER KODE DAN ADDER

Pertemuan 4 OPERATOR DAN STATEMEN I/O

BAB I DASAR KOMPUTER DIGITAL

Perancangan Sistem Digital. Yohanes Suyanto

BAB 7 REGISTER Register

Realisasi Rangkaian Kombinasional

PERCOBAAN 9. RANGKAIAN ARITMETIKA DIGITAL LANJUT

BAB I SISTEM BILANGAN OLEH : GANTI DEPARI JPTE FPTK UPI BANDUNG

BAB II SISTEM-SISTEM BILANGAN DAN KODE

BAB VII REGISTER. Keluar dan masuknya data ke dalam register dapat dilakukan dengan 2 cara:

PRAKTIKUM RANGKAIAN LOGIKA PERCOBAAN 2 & 3 LABORATORIUM KOMPUTER JURUSAN TEKNIK ELEKTRO F.T.I. USAKTI. Th Akd. 1998/1999

Tahun Akademik 2015/2016 Semester I DIG1B3 Konfigurasi Perangkat Keras Komputer

SISTEM BILANGAN. B. Sistem Bilangan Ada beberapa sistem bilangan yang digunakan dalam sistem digital, diantaranya yaitu

Transkripsi:

4. ALU 4.1. ALU (Arithmetic and Logic Unit) Unit Aritmetika dan Logika merupakan bagian pengolah bilangan dari sebuah komputer. Di dalam operasi aritmetika ini sendiri terdiri dari berbagai macam operasi diantaranya adalah operasi penjumlahan, pengurangan, perkalian, dan pembagian. Mendesain ALU juga memiliki cara yang hampir sama dengan mendesain enkoder, dekoder, multiplexer, dan demultiplexer. Rangkaian utama yang digunakan untuk melakukan perhitungan ALU adalah Adder. 4.1.1. Adder Rangkaian ALU (Arithmetic and Logic Unit) yang digunakan untuk menjumlahkan bilangan dinamakan dengan Adder. Karena Adder digunakan untuk memproses operasi aritmetika, maka Adder juga sering disebut rangkaian kombinasional aritmetika. ALU akan dijelaskan lebih detail pada bab 3. Ada 2 jenis Adder : 1. Rangkaian Adder yang hanya menjumlahkan dua bit disebut Half Adder. 2. Rangkaian Adder yang menjumlahkan tiga bit disebut Full Adder. 3. Rangkaian Adder yang menjumlahkan banyak bit disebut paralel Adder 4.1.1.1. Half Adder Rangkaian half adder merupakan dasar penjumlahan bilangan biner yang masingmasing hanya terdiri dari satu bit, oleh karena itu dinamakan penjumlah tak lengkap. 1. Jika A=0 dan B=0 dijumlahkan, hasilnya S (Sum) = 0. 2. Jika A=0 dan B=1 dijumlahkan, hasilnya S (Sum) = 1. 3. Jika A=1 dan B=1 dijumlahkan, hasilnya S (Sum) = 0. dengan nilai pindahan Cy(Carry Out) = 1. Dengan demikian, half adder memiliki 2 masukan (A dan B) dan dua keluaran (S dan Cy). A B S Cy 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Tabel 4.1. 1

Dari tabel diatas, terlihat bahwa nilai logika dari Sum sama dengan nilai logika dari gerbang XOR, sedangkan nilai logika Cy sama dengan nilai dari gerbang logika AND. Dari tabel tersebut, dapat dibuat rangkaian half adder seperti pada gambar berikut: Gambar 4.1. 4.1.1.2. Full Adder Full adder mengolah penjumlahan untuk 3 bit bilangan atau lebih (bit tidak terbatas), oleh karena itu dinamakan rangkaian penjumlah lengkap. Perhatikan tabel kebenaran dari Full adder berikut : A B C S Cy 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 Tabel 4.2. Dari tabel diatas dapat dibuat persamaan boolean sebagai berikut : S = A B C + A B C + A B C + A B C S = A B C Cy = A B C + A B C + A B C + A B C Dengan menggunakan peta karnaugh, Cy dapat diserhanakan menjadi : Cy = AB + AC + BC 2

Gambar 4.2. 4.1.1.3. Parallel Adder Parallel Adder adalah rangkaian Full Adder yang disusun secara parallel dan berfungsi untuk menjumlah bilangan biner berapapun bitnya, tergantung jumlah Full Adder yang diparallelkan. Gambar berikut menunjukkan Parallel Adder yang terdiri dari 4 buah Full Adder yang tersusun parallel sehingga membentuk sebuah penjumlah 4 bit. B4 A4 Cin FA S4 Over Flow B3 Cy A3 FA S3 Cin B2 A2 FA Cy S2 Cin B1 Cy A1 Cin FA S1 Gambar 4.3. 3

1. 10 2 + 10 2 1 Carry out Modul 4 4.2.1. Penjumlahan Komputer hanya dapat melakukan proses aritmetika menggunakan bilangan biner. Semua sistem bilangan harus diubah terlebih dahulu ke biner agar dapat diproses. Proses yang biasa dilakukan oleh komputer untuk menjumlahkan sistem bilangan desimal biasanya adalah menyandikan ke 8421BCD terlebih dahulu sebelum dijumlahkan. Sebelum mempelajari tentang penjumlahan pada 8421BCD, ada baiknya mengetahui cara menjumlahkan bilangan biner. a. Penjumlahan Biner Ada 4 kondisi yang terjadi pada penjumlahan biner yaitu apabila 0 + 0, 0 + 1, 1 + 0, dan 1 + 1. Jika yang terjadi adalah 1 + 1, kita tidak dapat menyatakan hasil jumlah dalam satu digit. Tetapi kita harus melakukan penyimpanan (Carry Out) kedalam kolom yang lebih tinggi. Ini berlaku untuk seluruh sistem bilangan. Sebagai contoh pada bilangan desimal 2 + 5 = 7 dengan carry out = 0, 9 + 9 = 8 dengan carry out = 1. 10 10 + 100 2. 0100 2 + 0111 2 1 Carry 0100 0111 + 1011 3. 11111 2 + 1111 2 + 11101 2 + 10111 2 3 3 3 2 2 Carry out 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 1 0 1 1 1 + 1 1 0 0 0 1 0 2 4

b. Penjumlahan 8421BCD Sandi 8421BCD hanya menggunakan bilangan biner untuk 0 sampai 9, karena yang disandikan hanya 1 digit angka desimal. Dalam penjumlahan yang perlu diperhatikan adalah jika hasilnya lebih dari 9 sehingga akan dihasilkan auxillary carry (Carry dari bilangan keempat LSB) maupun carry dari MSB. Berikut adalah aturan penjumlahan sandi 8421BCD: Jika jumlah biner dan jumlah BCD sama, yaitu AC (Auxillary Carry) = 0 dan Carry = 0 maka tidak diperlukan aturan tambahan. Bilangan 1 = 0 1 1 0 0 0 1 0 (BCD) = 6 2 (desimal) Bilangan 2 = 0 0 1 0 0 1 0 1 (BCD) = 2 5 (desimal) + Biner = 1 0 0 0 0 1 1 1 (Cy=0; AC = 0) BCD = 1 0 0 0 0 1 1 1 = 8 7 (desimal) Jika jumlah biner tidak sama dengan jumlah desimal maka memerlukan pengaturan tambahan : Jika Auxillary Carry (AC) = 0 atau AC = 1 dan Carry (Cy) = 0 dimana hasil penjumlahan binernya lebih dari 9 desimal, maka perlu ditambahkan 6 pada nible rendah tersebut, dan tambahkan 1 pada nible yang lebih tinggi. 1 1 1 Bilangan 1 = 0 0 1 1 0 1 1 1 (BCD) = 3 7 (desimal) Bilangan 2 = 0 0 1 0 0 1 1 0 (BCD) = 2 6 (desimal) + Biner = 0 1 0 1 1 1 0 1 + 1 & + 6 = 0 0 0 1 0 1 1 0 (Cy=0; AC = 0) BCD = 0 1 1 0 0 0 1 1 = 6 3 (desimal) 4.2.2. Pengurangan Pengurangan pada dasarnya merupakan penjumlahan, yaitu penjumlahan dengan bilangan negatif. 5

500 255 = 245 (Pengurangan) 500 + ( )255 = 245 (Penjumlahan) Komputer hanya bekerja pada bilangan 0 dan 1 dan tidak mengenal bilangan negatif. Untuk menunjukkan bilangan negatif, komputer menggunakan tanda modulus (Modulus Sign). Pada penjumlahan desimal tanda modulus yang digunakan adalah 0 untuk bilangan positif dan 9 untuk bilangan negatif. Untuk bilangan negatif, pada operasi penjumlahannya, harus dikomplemen. Komplemen yang digunakan pada bilangan desimal adalah komplemen 10 dan komplemen 9. Pengurangan Bilangan Desimal Komplemen 10 Pada komplemen 10, bilangan negatif dikurangkan 9, kemudian ditambahkan 1 pada bit terakhir. Pada penjumlahannya, bila ada carry, carry tersebut dapat dihilangkan. Tanda modulus ikut dijumlahkan. Komplemen 10 dari 255. 2 5 5 10 = (9) 7 4 5 10 (angka 9 menunjukkan tanda modulusnya). 5 0 0 (0) 5 0 0 2 5 5 (9) 7 4 5 + 2 4 5 1 (0) 2 4 5 Cy Dihilangkan Komplemen 9 Pada komplemen 9, bilangan negatif dikurangkan 9. Bila ada carry, maka carry ikut dijumlahkan pada hasil akhir. Komplemen 9 dari 255. 2 5 5 10 = (9) 7 4 4 10 (angka 9 menunjukkan tanda modulusnya). 5 0 0 (0) 5 0 0 2 5 5 (9) 7 4 4 + 2 4 5 1 (0) 2 4 4 1 +(Cy) (0) 2 4 5 Cy Ditambahkan 6

Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untuk komplemen 10 dan komplemen 9). Jika komplemen 10, maka hasil akhir setelah dikomplemen harus ditambah 1. Jika komplemen 10, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1). Komplemen 10 dari 500. 5 0 0 10 = (9) 5 0 0 10 (angka 9 menunjukkan tanda modulusnya). 2 5 5 (0) 2 5 5 5 0 0 (9) 5 0 0 + 2 4 5 (9) 7 5 5 (9 menunjukkan negatif) 2 4 4 + 1 (9) 2 4 5 Komplemen 9 dari 500. 5 0 0 10 = (9) 4 9 9 10 (angka 9 menunjukkan tanda modulusnya). 2 5 5 (0) 2 5 5 5 0 0 (9) 4 9 9 + 2 4 5 (9) 7 5 4 (9 menunjukkan negatif) 2 4 5 (9) 2 4 5 Pengurangan Bilangan Biner Pada penjumlahan biner, komplemen yang digunakan adalah komplemen 2 dan komplemen 1. Untuk mendapatkan komplemen bilangan biner, cukup dengan membalik angkanya saja. Jika 0 dibalik menjadi 1, dan jika 1 dibalik menjadi 0. Komplemen 2 mirip dengan komplemen 10 pada bilangan desimal (Carry dihilangkan), sedangkan komplemen 1 mirip dengan komplemen 9 (Carry ditambahkan pada hasil akhir). Komplemen 2 Pengurangan antara 9 10 (1001 2 ) dengan 5 10 (0101 2 ) Komplemen 2 dari 5 (0101). 7

0 1 0 1 = (1) 1 0 1 1 (angka 1 menunjukkan tanda modulusnya). 9 (0) 1 0 0 1 5 (1) 1 0 1 1 + 4 1 (0) 0 1 0 0 Cy Dihilangkan Komplemen 1 Komplemen 1 dari 5 (0101). 0 1 0 1 = (1) 1 0 1 0 (angka 1 menunjukkan tanda modulusnya). 9 (0) 1 0 0 1 5 (1) 1 0 1 0 + 4 1 (0) 0 0 1 1 1 (0) 0 1 0 0 Cy Ditambahkan Bila hasil akhir bernilai negatif, maka nilainya harus dikomplemen lagi (Berlaku untuk komplemen 2 dan komplemen 1). Jika komplemen 2, maka hasil akhir setelah dikomplemen harus ditambah 1. Jika komplemen 1, hasil akhirnya merupakan hasil sebenarnya (tidak perlu ditambah 1). Pengurangan antara 5 10 dengan 9 10 Komplemen 2 dari 9. 1 0 0 1 = (1) 0 1 1 1 (angka 1 menunjukkan tanda modulusnya). 5 (0) 0 1 0 1 9 (1) 0 1 1 1 + 4 (1) 1 1 0 0 (1 menunjukkan negatif) 0 0 1 1 + 1 (1) 0 1 0 0 8

Komplemen 1 dari 9. 1 0 0 1 = (1) 0 1 1 0 (angka 1 menunjukkan tanda modulusnya). 5 (0) 0 1 0 1 9 (1) 0 1 1 0 + 4 (1) 1 0 1 1 (1 menunjukkan negatif) 0 1 0 0 (1) 0 1 0 0 4.2.3. Perkalian Perkalian antara bilangan biner adalah perkalian yang paling mudah diantara sistem bilangan lainnya. 9 1 0 0 1 10 x 1 0 1 0 x 90 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 + 1 0 1 1 0 1 0 64 0 16 8 0 2 0 = 90 Pada Teknik Komputer, perkalian dilakukan menggunakan register geser kanan (Shift Right Register). Perhatikan contoh berikut : Register A untuk menyimpan data yang akan dikalikan (Multiplicand). Register B untuk menyimpan data pengali (Multiplier). Register P untuk menyimpan hasil perkalian. 9

9 X 10 Register A Register B Register P 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 M M = 0, Reg. P tidak diubah Geser Reg B & P 1 bit kekanan 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 M M = 1, Reg A ditambahkan pada P di MSBnya. 1 0 0 1 0 0 0 0 Geser Reg B & P 1 bit kekanan 1 0 0 1 1 0 0 1 0 0 1 0 0 0 M M = 0, Reg. P tidak diubah Geser Reg B & P 1 bit kekanan 1 0 0 1 1 0 0 1 0 0 1 0 0 M M = 1, Reg A ditambahkan pada P di MSBnya 1 0 1 1 0 1 0 0 Reg. P geser lagi 0 1 0 1 1 0 1 0 0 64 0 16 8 0 2 0 =90 4.2.4. Pembagian Kebalikan dari perkalian, pembagian (Division) adalah suatu bentuk dari pengurangan yang dilakukan berulang ulang. Dan proses ini juga dapat dilakukan pada rangkaian logika dengan cara pengurangan dan penggeseran ke kiri (menggunakan shift left register). Berikut adalah aturan dari pembagian: Kurangkan bilangan pembagi (Divisor) dari MSB bilangan yang akan dibagi (Dividend), lihat hasil pengurangan. Bila hasilnya 1 atau positif : Berarti hasil pembagian (Product) adalah 1. Setelah itu hasil pengurangan digeser kekiri satu bit, dan dimulai lagi pengurangan oleh bilangan pembagi (Divisor). 10

Bila hasilnya 0 atau negatif : Berarti hasil pembagian (Product) adalah 0. Dalam hal ini sebelum digeser ke kiri harus ditambah dulu dengan bilangan pembagi (Divisor). Setelah digeser ke kiri satu bit, dimulai lagi proses pengurangan oleh bilangan pembagi. Pengurangan oleh bilangan pembagi dilakukan dengan penjumlahan komplemen 2. Bila dalam penjumlahan tersebut terdapat pindahan (Carry), maka carry tersebut diabaikan. Perhatikan contoh berikut : 10 10 : 4 10 = 1010 2 : 100 4 Pembagi Yang Dibagi Hasil Bagi Keterangan (0) 1 0 0 (0) 1 0 1 0 Kurangkan bil. pembagi (1) 1 0 0 1 (0) 0 0 1 0 1 Hasil positif, hasil bagi = 1 (0) 0 1 0 0 1 Digeser ke kiri satu bit (1) 1 0 0 Kurangkan bil. pembagi (1) 1 1 0 0 1 0 Hasil negatif, hasil bagi = 0 (0) 1 0 0 1 (0) 0 1 0 0 (0) 1 0 0 0 1 0 Digeser ke kiri satu bit (1) 1 0 0 Kurangkan bil. pembagi 1 (0) 0 0 0 0 1 0 1 Hasil positif, hasil bagi = 1 Catatan : Karena ada hasil pengurangan yang negatif, maka digit yang dihasilkan setelah itu adalah digit pecahan, sehingga hasil yang benar 10,1 2 atau 2,5 10. 11