Anda di halaman 1dari 29

Untai

logika
ROSIDA NUR AZIZA
UNTAI LOGIKA dan ALJABAR
 Semua untai logika dapat dinyatakan dalam
gerbang-gerbang dasar AND, OR dan NOT.
 Berikut ini terdapat contoh 2 untai logika yang
masing-masing memiliki 3 masukan A, B, C dan
satu keluaran X.
 Pada untai a (sebelah atas), gerbang AND
menghasilkan keluaran A.B. Keluaran ini
menjadi masukan pada gerbang OR bersama-
sama dengan masukan C. Gerbang OR akan
melaksanakan operasi penjumlahan pada
masukan-masukannya dan menghasilkan X=
A.B +C atau X= C+ A.B.

9/21/2016 7:45 PM DOSEN TI STT-PLN 2


OPERATOR PRECEDENCE
 Operasi manakah yang harus dilaksanakan terlebih dahulu dalam suatu
ekspresi atau persamaan logika ?
Misalnya : A.B+ C = ? …... (1) A.B di-OR-kan dengan C atau
(2) B+C di-AND-kan dengan A ?
 Jika terdapat AND dan OR dalam suatu ekspresi logika, maka kerjakan
operasi AND terlebih dahulu, kecuali apabila ditemui adanya tanda kurung.
 Apabila ditemui tanda kurung, maka bagian yang diberi kurung harus
dikerjakan terlebih dahulu.
Contoh : A.B + C  A di-AND-kan dengan B, lalu di-OR-kan dengan C.
A .(B+C)  B di-OR-kan dengan C baru di-AND-kan dengan A.
Untai dengan Inverter (1)

Untai 1 Untai 2

Untai 3
Untai dengan Inverter (2)

Untai 4

Ubahlah semua gerbang OR pada untai di atas menjadi


gerbang AND, dan semua gerbang AND menjadi OR.
Tentukan ekspresi logika untuk keluaran x.
Analisa Menggunakan Tabel
Implementasi Untai Logika (dari tabel)
 Diagram untai logika dapat dibuat
berdasarkan suatu ekspresi
matematika yang diketahui.
 Dimisalkan, akan dibuat suatu
untai logika dengan keluaran
y= AC + BC + ABC.
- Terdiri dari 3 suku (AC, BC, ABC)
- Ketiga suku tersebut dijumlah
atau di-OR-kan (menggunakan
gerbang OR dengan 3 input).
STANDAR SIMBOL LOGIKA IEEE/ANSI
Tradisional Standar
IEEE/ANSI
ANALISA RANGKAIAN (CONTOH 1)
Untai logika pada gambar berikut menghasilkan output , MEM, yang berfungsi
untuk mengaktifkan IC-IC memori pada suatu mikrokomputer. Tentukan kondisi
dari input-inputnya untuk mengaktifkan MEM.

Untuk menganalisa rangkaian berikut,


salah satu caranya dengan
menggunakan tabel kebenaran.
Semua kemungkinan kombinasi
keempat masukannya RD, ROM-A,
ROM-B, dan RAM diperiksa  terlalu
panjang, ada 16 kemungkinan.
ANALISA RANGKAIAN (CONTOH 1)

 MEM adalah aktif rendah (active-LOW) dan bernilai


LOW (=0) pada saat input X dan Y = HIGH (= 1).
 X bernilai HIGH ketika RD= 0.
 Y bernilai HIGH ketika W atau V atau dua-duanya
bernilai HIGH (1).
 V bernilai HIGH jika RAM=0.
 W bernilai HIGH jika ROM-A atau ROM-B atau dua-
duanya bernilai LOW (0).
 Jadi, MEM akan aktif jika RD=0 dan paling tidak salah
satu dari ROM-A, ROM-B, atau RAM bernilai LOW.
ANALISA RANGKAIAN (CONTOH 2)
 Untai logika berikut digunakan untuk mengendalikan motor pada suatu
floppy disk drive pada saat menerima atau mengirim data dari/ke disk.
 Untai akan menghidupkan motor jika DRIVE bernilai 1.
 Tentukan kondisi-kondisi masukan yang diperlukan untuk mengaktifkan
motor.
ANALISA RANGKAIAN (CONTOH 2)

 DRIVE adalah aktif HIGH. DRIVE = 1 jika


X= Y =0.
 X bernilai LOW apabila salah satu masukan
IN atau OUT atau dua-duanya bernilai
HIGH (1).
 Y bernilai LOW jika W=0 dan A0 = 0.
 W bernilai LOW jika nilai masukan A1- A7 = 1.
 Jadi nilai DRIVE = 1 apabila A1= A2= A3= A4=A5=A6 = A7 = 1, A0= 0,
dan salah satu dari IN atau OUT atau dua-duanya bernilai 1.
METODE UNTUK MENJELASKAN
FUNGSI LOGIKA

 Pernyataan logika dalam bahasa sehari-hari


 Tabel kebenaran (truth table)
 Simbol-symbol operasi logika dasar
 Sombol logika dengan standar IEEE/ANSI
 Ekspresi atau persamaan Aljabar Boolean
 Diagram pewaktuan
CONTOH 3
Ekspresi dalam Bahasa Inggris berikut menjelaskan bagaimana suatu untai
logika bekerja untuk mengaktifkan indikator peringatan sabuk pengaman pada
mobil :
If the driver is present AND the driver is NOT buckled up AND
the ignition switch is on, THEN turn on the warning light.

Gambarkan untai tersebut menggunakan


a) aljabar Boolean
b) gambar untainya menggunakan symbol-symbol logika
c) tabel kebenaran
d) diagram pewaktuannya.
CONTOH 3
CONTOH 3
CONTOH 3
HDL
 HDL atau Hardware Description Language adalah tool yang digunakan untuk
menggambarkan untai-untai logika dengan bahasa pemrograman berbasis teks.
 Contoh HDL : AHDL (Altera Hardware Description Language) dan VHDL (Very High
Speed Integrated Circuit-VHSIC- Hardware Description Language).

It is important to distinguish between hardware description languages intended to describe


the hardware configuration of a circuit and programming languages that represent a
sequence of instructions intended to be carried out by a computer to accomplish some task.
 Komputer bekerja dengan melakukan sekumpulan perintah/ instruksi
yang harus dilaksananakan secara sekuensial. Kecepatannya
bergantung pada seberapa cepat pelaksanaan satu instruksi.
 Kecepatan untai logika digital bergantung pada seberapa cepat output
berubah karena adanya perubahan pada inputnya.
PLD (Programmable Logic Device)
 PLD adalah suatu piranti yang bagian-
bagiannya terhubung sedemikian rupa
secara elektronik dan membentuk suatu
untai logika.
 Hubungan perkabelan (wiring) tersebut
dapat diprogram agar bernilai 1 (connected)
atau 0 (not connected).
 Gambar di sebelah kanan menunjukkan
sebagian koneksi yang masing-masing titik
perpotongannya dapat diprogram.
 Program dalam HDL diubah ke deretan 0
dan 1 (oleh compiler) sebelum diproses oleh
PLD.
PEMROGRAMAN PLD
 Berdasar gambar sebelumnya, PLD memiliki banyak input dan banyak
output yang terhubung membentuk suatu matriks ( switching matrix).
 Pemrograman pada PLD berarti menentukan koneksi-koneksi mana saja
yang harus terhubung (1) dan mana saja yang harus terbuka (0).
 Ada 2 cara pemrograman PLD :
1. Cara pertama dengan melepas IC PLD
dari papan untai dan melakukan
pemrograman di tempat terpisah.
2. In System Programming (ISP).
Pemrograman dilakukan tanpa melepas
IC PLD  melalui pin-pin antarmuka
JTAG (Joint Test Action Group).
HDL : FORMAT & SYNTAX
 Elemen HDL : 1. Definisi input dan output
2. Definisi bagaimana output bereaksi terhadap input (operasi)
 Contoh :

Operator dasar
Boolean pada
AHDL:
& AND
# OR
! NOT
Program gerbang
$ XOR
AND menggunakan
AHDL
CONTOH 4 : AHDL

Pada AHDL, sinyal lokal dinyatakan pada


bagian VARIABLE, yang terletak di antara
bagian SUBDESIGN dan bagian logika. Sinyal
antara (intermediate) m didefinisikan pada
baris ke-11 , setelah kata kunci VARIABLE.
REPRESENTASI DATA PADA HDL
DEKLARASI ARRAY PADA AHDL
 Untuk menyatakan array atau bit vector pada AHDL adalah sebagai berikut : nama
array diikuti dengan indeks array dalam tanda kurung siku.
Contoh : p [ 7. . 0 ] : INPUT ; mendefinisikan port masukan berukuran 8 bit
keypad [ 3 . . 0] : INPUT ;
 Dimisalkan suatu port p berukuran 8 bit dihubungkan dengan titik bernama temp :
VARIABLE temp [7 . . 0] : node ;
BEGIN
temp [ ] = p [ ] ;
END ;
 Bit-bit dapat terhubung secara individu dengan menyebutkan indeks bit yang
diinginkan di dalam kurung siku. Contohnya, untuk menunjukkan LSB (Least Significant
Bit) dari p pernyataannya adalah temp[0] = p[0] ;.
IF/THEN/ELSE dengan AHDL
 Perintah IF/THEN/ELSE digunakan untuk memilih salah satu dari 2 aksi
yang tersedia.
 Contoh penggunaan perintah IF/THEN/ELSE adalah sebagai berikut :
SUBDESIGN FIG4_54
(  Input pada program AHDL
digital_value[3..0] :INPUT; -- define inputs to block berikut adalah digital_value
z :OUTPUT; -- define block output dengan ukuran 4 bit.
)  Jika nilai digital_value dalam
BEGIN
IF digital_value[ ] > 6 THEN biner lebih dari 6 (desimal),
z = VCC; -- output a 1 maka nilai output Z=1.
ELSE z = GND; -- output a 0  Jika nilai digital_value
END IF; (biner) <= 6 (decimal),maka
END; z=0.
ELSIF pada ADHL
Contoh Kasus : Temperature Range Indicator Circuit
 ELSEIF digunakan pada unttuk memilih di antara beberapa opsi (lebih dari 2).
 Contohnya adalah program untuk untai indikator jangkauan suhu (temperature
range indicator) dengan proses pengambilan keputusan sebagai berikut :
IF digital_value <= 8, THEN nyalakan indicator Too Cold.
ELSE IF digital_value >8 dan <11, THEN
Nyalakan indikator Just Right.
ELSE nyalakan indikator Too Hot.
ELSIF PADA ADHL
Contoh Kasus : SUBDESIGN fig4_58
(
Temperature Range digital_value[3..0] :INPUT; --define inputs to block
Indicator Circuit too_cold, just_right, too_hot :OUTPUT;--define outputs
)
VARIABLE
status[2..0] :NODE;--holds state of too_cold, just_right, too_hot
BEGIN
IF digital_value[ ] <= 8 THEN status[ ] = B“010";
ELSIF digital_value[ ] > 8 AND digital_value[ ] < 11 THEN
status[ ] = B"001";
ELSE status[] = B"000";
END IF;
(too_cold, just_right, too_hot) = status[ ]; -- update output bits
END;
LATIHAN

Anda mungkin juga menyukai