Kamis, 16 Oktober 2014

Teori Induktor

Induktor
Induktor
Masih ingat aturan tangan kanan pada pelajaran fisika ? Ini cara yang efektif untuk mengetahui arah medan listrik terhadap arus listrik. Jika seutas kawat tembaga diberi aliran listrik, maka di sekeliling kawat tembaga akan terbentuk medan listrik. Dengan aturan tangan kanan dapat diketahui arah medan listrik terhadap arah arus listrik. Caranya sederhana yaitu dengan mengacungkan jari jempol tangan kanan sedangkan keempat jari lain menggenggam. Arah jempol adalah arah arus dan arah ke empat jari lain adalah arah medan listrik yang mengitarinya.
Arah Medan Listrik
Tentu masih ingat juga percobaan dua utas kawat tembaga paralel yang keduanya diberi arus listrik. Jika arah arusnya berlawanan, kedua kawat tembaga tersebut saling menjauh. Tetapi jika arah arusnya sama ternyata keduanya berdekatan saling tarik-menarik. Hal ini terjadi karena adanya induksi medan listrik. Dikenal medan listrik dengan simbol B dan satuannya Tesla (T). Besar akumulasi medan listrik B pada suatu luas area A tertentu didefinisikan sebagai besar magnetic flux. Simbol yang biasa digunakan untuk menunjukkan besar magnetic flux ini adalah F dan satuannya Weber (Wb = T.m2). Secara matematis besarnya adalah :
Medan Flux
Medan Flux
Lalu bagaimana jika kawat tembaga itu dililitkan membentuk koil atau kumparan. Jika kumparan tersebut dialiri listrik maka tiap lilitan akan saling menginduksi satu dengan yang lainnya. Medan listrik yang terbentuk akan segaris dan saling menguatkan. Komponen yang seperti inilah yang dikenal dengan induktor selenoid.
Dari buku fisika dan teori medan magnet, dibuktikan bahwa induktor adalah komponen yang dapat menyimpan energi magnetik. Energi ini direpresentasikan dengan adanya tegangan emf (electromotive force) jika induktor dialiri listrik. Secara matematis tegangan emf ditulis :
Tegangan emf
Tegangan emf
Jika dibandingkan dengan rumus hukum Ohm V=RI, maka kelihatan ada kesamaan rumus. Jika R disebut resistansi dari resistor dan V adalah besar tegangan jepit jika resistor dialiri listrik sebesar I. Maka L adalah induktansi dari induktor dan E adalah tegangan yang timbul jika induktor di aliri listrik. Tegangan emf di sini adalah respon terhadap perubahan arus fungsi dari waktu terlihat dari rumus di/dt. Sedangkan bilangan negatif sesuai dengan hukum Lenz yang mengatakan efek induksi cenderung melawan perubahan yang menyebabkannya.
Hubungan antara emf dan arus inilah yang disebut dengan induktansi, dan satuan yang digunakan adalah (H) Henry.
Induktor disebut self-induced
Arus listrik yang melewati kabel, jalur-jalur pcb dalam suatu rangkain berpotensi untuk menghasilkan medan induksi. Ini yang sering menjadi pertimbangan dalam mendesain pcb supaya bebas dari efek induktansi terutama jika multilayer. Tegangan emf akan menjadi penting saat perubahan arusnya fluktuatif. Efek emf menjadi signifikan pada sebuah induktor, karena perubahan arus yang melewati tiap lilitan akan saling menginduksi. Ini yang dimaksud dengan self-induced. Secara matematis induktansi pada suatu induktor dengan jumlah lilitan sebanyak N adalah akumulasi flux magnet untuk tiap arus yang melewatinya :
Induktansi
Induktansi
Induktor selenoida
Induktor selenoida
Fungsi utama dari induktor di dalam suatu rangkaian adalah untuk melawan fluktuasi arus yang melewatinya. Aplikasinya pada rangkaian dc salah satunya adalah untuk menghasilkan tegangan dc yang konstan terhadap fluktuasi beban arus. Pada aplikasi rangkaian ac, salah satu gunanya adalah bisa untuk meredam perubahan fluktuasi arus yang tidak dinginkan. Akan lebih banyak lagi fungsi dari induktor yang bisa diaplikasikan pada rangkaian filter, tuner dan sebagainya.
Dari pemahaman fisika, elektron yang bergerak akan menimbulkan medan elektrik di sekitarnya. Berbagai bentuk kumparan, persegi empat, setegah lingkaran ataupun lingkaran penuh, jika dialiri listrik akan menghasilkan medan listrik yang berbeda. Penampang induktor biasanya berbentuk lingkaran, sehingga diketahui besar medan listrik di titik tengah lingkaran adalah :
Medan listrik
Medan Listrik
Jika dikembangkan, n adalah jumlah lilitan N relatif terhadap panjang induktor l. Secara matematis ditulis :
Lilitan per-meter
Lilitan per-meter
Lalu i adalah besar arus melewati induktor tersebut. Ada simbol m yang dinamakan permeability dan mo yang disebut permeability udara vakum. Besar permeability m tergantung dari bahan inti (core) dari induktor. Untuk induktor tanpa inti (air winding) m = 1.
Jika rumus-rumus di atas di subsitusikan maka rumus induktansi (rumus 3) dapat ditulis menjadi :
Induktansi Induktor
Induktansi Induktor
Induktor selenoida
Induktor selenoida dengan inti (core)
L : induktansi dalam H (Henry)
m : permeability inti (core)
mo : permeability udara vakum
mo = 4p x 10-7
N : jumlah lilitan induktor
A : luas penampang induktor (m2)
l : panjang induktor (m)
Inilah rumus untuk menghitung nilai induktansi dari sebuah induktor. Tentu saja rumus ini bisa dibolak-balik untuk menghitung jumlah lilitan induktor jika nilai induktansinya sudah ditentukan.
Toroid
Ada satu jenis induktor yang kenal dengan nama toroid. Jika biasanya induktor berbentuk silinder memanjang, maka toroid berbentuk lingkaran. Biasanya selalu menggunakan inti besi (core) yang juga berbentuk lingkaran seperti kue donat.
Toroida
Toroida
Jika jari-jari toroid adalah r, yaitu jari-jari lingkar luar dikurang jari-jari lingkar dalam. Maka panjang induktor efektif adalah kira-kira :
Keliling lingkaran toroida
Keliling lingkaran toroida
Dengan demikian untuk toroida besar induktansi L adalah :
Induktansi Toroida
Induktansi Toroida
Salah satu keuntungan induktor berbentuk toroid, dapat induktor dengan induktansi yang lebih besar dan dimensi yang relatif lebih kecil dibandingkan dengan induktor berbentuk silinder. Juga karena toroid umumnya menggunakan inti (core) yang melingkar, maka medan induksinya tertutup dan relatif tidak menginduksi komponen lain yang berdekatan di dalam satu pcb.
Ferit dan Permeability
Besi lunak banyak digunakan sebagai inti (core) dari induktor yang disebut ferit. Ada bermacam-macam bahan ferit yang disebut ferromagnetik. Bahan dasarnya adalah bubuk besi oksida yang disebut juga iron powder. Ada juga ferit yang dicampur dengan bahan bubuk lain seperti nickel, manganese, zinc (seng) dan magnesium. Melalui proses yang dinamakan kalsinasi yaitu dengan pemanasan tinggi dan tekanan tinggi, bubuk campuran tersebut dibuat menjadi komposisi yang padat. Proses pembuatannya sama seperti membuat keramik. Oleh sebab itu ferit ini sebenarnya adalah keramik.
Ferit yang sering dijumpai ada yang memiliki m = 1 sampai m = 15.000. Dapat dipahami penggunaan ferit dimaksudkan untuk mendapatkan nilai induktansi yang lebih besar relatif terhadap jumlah lilitan yang lebih sedikit serta dimensi induktor yang lebih kecil.
Penggunaan ferit juga disesuaikan dengan frekuensi kerjanya. Karena beberapa ferit akan optimum jika bekerja pada selang frekuensi tertentu. Berikut ini adalah beberapa contoh bahan ferit yang di pasar dikenal dengan kode nomor materialnya. Pabrik pembuat biasanya dapat memberikan data kode material, dimensi dan permeability yang lebih detail.
Data Material Ferit
Data Material Ferit
Sampai di sini kita sudah dapat menghitung nilai induktansi suatu induktor. Misalnya induktor dengan jumlah lilitan 20, berdiameter 1 cm dengan panjang 2 cm serta menggunakan inti ferit dengan m = 3000. Dapat diketahui nilai induktansinya adalah :
L » 5.9 mH
Selain ferit yang berbentuk silinder ada juga ferit yang berbentuk toroida. Umumnya di pasar tersedia berbagai macam jenis dan ukuran toroida. Jika datanya lengkap, maka kita dapat menghitung nilai induktansi dengan menggunakan rumus-rumus yang ada. Karena perlu diketahui nilai permeability bahan ferit, diameter lingkar luar, diameter lingkar dalam serta luas penampang toroida. Tetapi biasanya pabrikan hanya membuat daftar indeks induktansi (inductance index) AL. Indeks ini dihitung berdasarkan dimensi dan permeability ferit. Dengan data ini dapat dihitung jumlah lilitan yang diperlukan untuk mendapatkan nilai induktansi tertentu. Seperti contoh tabel AL berikut ini yang satuannya mH/100 lilitan.
Tabel AL
Tabel AL
Rumus untuk menghitung jumlah lilitan yang diperlukan untuk mendapatkan nilai induktansi yang diinginkan adalah :
Indeks AL
Indeks AL
Misalnya digunakan ferit toroida T50-1, maka dari table diketahui nilai AL = 100. Maka untuk mendapatkan induktor sebesar 4mH diperlukan lilitan sebanyak :
N » 20 lilitan
Rumus ini sebenarnya diperoleh dari rumus dasar perhitungan induktansi dimana induktansi L berbanding lurus dengan kuadrat jumlah lilitan N2. Indeks AL umumnya sudah baku dibuat oleh pabrikan sesuai dengan dimensi dan permeability bahan feritnya.
Permeability bahan bisa juga diketahui dengan kode warna tertentu. Misalnya abu-abu, hitam, merah, biru atau kuning. Sebenarnya lapisan ini bukan hanya sekedar warna yang membedakan permeability, tetapi berfungsi juga sebagai pelapis atau isolator. Biasanya pabrikan menjelaskan berapa nilai tegangan kerja untuk toroida tersebut.
Contoh bahan ferit toroida di atas umumnya memiliki permeability yang kecil. Karena bahan ferit yang demikian terbuat hanya dari bubuk besi (iron power). Banyak juga ferit toroid dibuat dengan nilai permeability m yang besar. Bahan ferit tipe ini terbuat dari campuran bubuk besi dengan bubuk logam lain. Misalnya ferit toroida FT50-77 memiliki indeks AL = 1100.
Kawat tembaga
Untuk membuat induktor biasanya tidak diperlukan kawat tembaga yang sangat panjang. Paling yang diperlukan hanya puluhan sentimeter saja, sehingga efek resistansi bahan kawat tembaga dapat diabaikan. Ada banyak kawat tembaga yang bisa digunakan. Untuk pemakaian yang profesional di pasar dapat dijumpai kawat tembaga dengan standar AWG (American Wire Gauge). Standar ini tergantung dari diameter kawat, resistansi dan sebagainya. Misalnya kawat tembaga AWG32 berdiameter kira-kira 0.3mm, AWG22 berdiameter 0.7mm ataupun AWG20 yang berdiameter kira-kira 0.8mm. Biasanya yang digunakan adalah kawat tembaga tunggal dan memiliki isolasi.
Penutup
Sayangnya untuk pengguna amatir, data yang diperlukan tidak banyak tersedia di toko eceran. Sehingga terkadang dalam membuat induktor jumlah lilitan yang semestinya selalu berbeda dengan hasil perhitungan teoritis. Kawat tembaga yang digunakan bisa berdiameter berapa saja, yang pasti harus lebih kecil dibandingkan diameter penampang induktor. Terkadang pada prakteknya untuk membuat induktor sendiri harus coba-coba dan toleransi induktansinya cukup besar. Untuk mendapatkan nilai induktansi yang akurat ada efek kapasitif dan resistif yang harus diperhitungkan. Karena ternyata arus yang melewati kawat tembaga hanya dipermukaan saja. Ini yang dikenal dengan istilah efek kulit (skin effect). Ada satu tip untuk membuat induktor yang baik, terutama induktor berbentuk silinder. Untuk memperoleh nilai “Q” yang optimal panjang induktor sebaiknya tidak lebih dari 2x diameter penampangnya. Untuk toroid usahakan lilitannya merata dan rapat.

APLIKASI RANGKAIAN DIGITAL SEBAGAI KUNCI RAHASIA PADA SEPEDA MOTOR



PENBAHASAN
APLIKASI RANGKAIAN DIGITAL SEBAGAI KUNCI RAHASIA PADA SEPEDA MOTOR

BAHASA ASSEMBLY INSTRUKSI ARITMATIK DAN LOGIKA



DASAR TEORI

A.     INSTRUKSI ARITMATIKA

1.      OPERASI PERNAMBAHAN
a.       ADD
Untuk menambah dalam bahasa assembler digunakan perintah ADD dan ADC serta INC. Perintah ADD digunakan dengan syntax :
ADD Tujuan,Asal
Perintah ADD ini akan menambahkan nilai pada Tujuan dan Asal. Hasil yang didapat akan ditaruh pada Tujuan, dalam bahasa pascal sama dengan instruksi Tujuan:=Tujuan + Asal. Sebagai contohnya :
MOV AH,15h ; AH:=15h
MOV AL,4 ; AL:=4
ADD AH,AL ; AH:=AH+AL, jadi AH=19h
Perlu anda perhatikan bahwa pada perintah ADD ini antara Tujuan dan Asal harus mempunyai daya tampung yang sama, misalnya register AH(8 bit) dan AL(8 bit), AX(16 bit) dan BX(16 bit).  Mungkin ada yang bertanya-tanya, apa yang akan terjadi bila Tujuan tempat hasil penjumlahan disimpan tidak mencukupi seperti pertambahan 1234h dengan F221h.
1234 h Biner --> 0001 0010 0011 0100
F221 h Biner --> 1111 0010 0010 0001
                                                                                     +
10455h               1 0000 0100 0101 0101
Pada pertambahan diatas dapat dilihat bahwa pertambahan bilangan 1234 dengan F221 akan menghasilkan nilai 10455. Supaya lebih jelas dapat anda lihat pada pertambahan binernya dihasilkan bit ke 17, padahal register terdiri atas 16 bit saja. Operasi pertambahan yang demikian akan menjadikan carry flag menjadi satu, Contoh :
MOV AX,1234h ; NIlai AX:=1234h dan carry=0
MOV BX,0F221h ; Nilai BX:=F221h dan carry=0
ADD AX,BX ; Nilai AX menjadi 0455h dan carry=1
b.      ADC
Perintah ADC digunakan dengan cara yang sama pada perintah ADD, yaitu :
ADC Tujuan,Asal
Perbedaannya pada perintah ADC ini Tujuan tempat menampung hasil pertambahan Tujuan dan Asal ditambah lagi dengan carry flag (Tujuan:=Tujuan+Asal+Carry). Pertambahan yang demikian bisa memecahkan masalah seperti yang pernah kita kemukakan, seperti pertambahan pada bilangan 12345678h+9ABCDEF0h.  Seperti yang telah kita ketahui bahwa satu register hanya mampu menampung 16 bit, maka untuk pertambahan seperti yang diatas bisa anda gunakan perintah ADC untuk memecahkannya, Contoh:
MOV AX,1234h ; AX = 1234h CF = 0
MOV BX,9ABCh ; BX = 9ABCh CF = 0
MOV CX,5678h ; BX = 5678h CF = 0
MOV DX,0DEF0h ; DX = DEF0h CF = 0
ADD CX,DX ; CX = 3568h CF = 1
ADC AX,BX ; AX = AX+BX+CF = ACF1
Hasil penjumlahan akan ditampung pada register AX:CX yaitu ACF13568h.  Adapun flag-flag yang terpengaruh oleh perintah ADD dan ADC ini adalah CF,PF,AF,ZF,SF dan OF.
c.        INC
Perintah INC(Increment) digunakan khusus untuk pertambahan dengan 1. Perintah INC hanya menggunakan 1 byte memory, sedangkan perintah ADD dan ADC menggunakan 3 byte. Oleh sebab itu bila anda ingin melakukan operasi pertambahan dengan 1 gunakanlah perintah INC. Syntax pemakainya adalah :
INC Tujuan
Nilai pada tujuan akan ditambah dengan 1, seperti perintah Tujuan:=Tujuan+1 dalam Turbo Pascal. Tujuan disini dapat berupa suatu register maupun memory. Contoh : perintah INC AL akan menambah nilai di register AL dengan 1. Adapun flag yang terpengaruh oleh perintah ini adalah OF,SF,ZF,AF dan PF.

2.      Pengurangan
a.       SUB
Untuk Operasi pengurangan dapat digunakan perintah SUB dengan syntax:
SUB Tujuan,Asal
Perintah SUB akan mengurangkan nilai pada Tujuan dengan Asal. Hasil yang didapat akan ditaruh pada Tujuan, dalam bahasa pascal sama dengan instruksi Tujuan:=Tujuan-Asal.
Contoh :
MOV AX,15 ; AX:=15
MOV BX,12 ; BX:=12
SUB AX,BX ; AX:=15-12=3
SUB AX,AX ; AX=0
Untuk menolkan suatu register bisa anda kurangkan dengan dirinya sendiri seperti SUB AX,AX.
b.       SBB
Seperti pada operasi penambahan, maka pada operasi pengurangan dengan bilangan yang besar(lebih dari 16 bit), bisa anda gunakan perintah SUB disertai dengan SBB(Substract With Carry). Perintah SBB digunakan dengan syntax:
SBB Tujuan,Asal
Perintah SBB akan mengurangkan nilai Tujuan dengan Asal dengan cara yang sama seperti perintah SUB, kemudian hasil yang didapat dikurangi lagi dengan Carry Flag(Tujuan:=Tujuan-Asal-CF).
Contoh :
ORG 100h
TData :
JMP Proses ; Lompat ke Proses
ALo EQU 0EFFFh
AHi EQU 122h
BLo EQU 0FFFFh
Bhi EQU 0FEh
HslLo DW ?
HslHi DW ?
Proses :
MOV AX,ALo ; AX=EFFFh
SUB AX,Blo ; Kurangkan EFFF-FFFF, jadi AX=F000
MOV HslLO,AX ; HslLo bernilai F000
MOV AX,AHi ; AX=122h
SBB AX,BHi ; Kurangkan 122-FE-Carry, AX=0023
MOV HslHi,AX ; HslHi bernilai 0023
INT 20h ; Kembali ke DOS
END Tdata

Disini dapat kita lihat begaimana caranya mendefinisikan suatu nilai constanta(nilai yang tidak dapat dirubah) dan variabel dengan :
ALo EQU 0EFFFh
AHi EQU 122h
BLo EQU 0FFFFh
Bhi EQU 0FEh
HslLo DW ?
HslHi DW ?
Perintah EQU digunakan untuk mendefisisikan suatu yang constan(Tetap), data yang telah didefinisikan dengan perintah EQU tidak dapat dirubah. Dengan perintah EQU kita mendefinisikan bahwa ALo = 0EFFF, AHi=122, BLo=FFFF dan BHi=0FE. Untuk menampung hasil dari pengurangan A-B(122EFFF-FEFFF) nantinya, kita definisikan suatu tempat untuk menyimpannya dengan nama HslLo dan HslHi. Tanda '?' digunakan untuk menyatakan bahwa tempat yang kita pesan sebanyak sebanyak 1 word (DW) tidak diberikan data awal yang akan terdapat pada varibel tersebut(HslLo dan HslHi). Jadi data yang akan terdapat pada HslLo dan HslHi bisa apa saja dan kita tidak mengetahuinya. Tempat data program kita lompati dengan perintah JMP supaya komputer tidak mengeksekusi data program sebagai perintah.
MOV AX,ALo
SUB AX,Blo
MOV HslLO,AX
Untuk mengurangkan angka 122EFFF dengan 0FEFFFF kita dapat mengurangkan word rendah dari angka tersebut dahulu, yaitu EFFF- FFFF. Hal ini dikarenakan daya tampung register yang hanya 16 bit. Dapat anda lihat bahwa pengurangan EFFF-FFFF akan menyebabkan terjadinya peminjaman(Borrow), hasil word rendah(F000) yang didapatkan kemudian kita simpan pada variabel HslLo.
122 EFFF
FE FFFF
---------- -
023 F000
Sampai saat ini kita sudah selesai mendapatkan nilai pada word rendahnya, yang disimpan pada variabel HslLo.
MOV AX,AHi
SBB AX,BHi
MOV HslHi,AX
Langkah selanjutnya adalah menghitung word tingginya yaitu pengurangan 122-FE-Carry dengan menggunakan perintah SBB maka masalah tersebut dengan mudah terpecahkan. Akhirnya kita akan mendapatkan hasil pengurangan dari 122EFFF-0FEFFFF yaitu 23F000 yang tersimpan pada pasangan HslHi:HslLo(0023F000).
c.       DEC
Perintah DEC(Decrement) digunakan khusus untuk pengurangan dengan 1. Perintah DEC hanya menggunakan 1 byte memory, sedangkan perintah SUB dan SBB menggunakan 3 byte. Oleh sebab itu bila anda ingin melakukan operasi pengurangan dengan 1 gunakanlah perintah DEC. Syntax pemakaian perintah dec ini adalah:
DEC Tujuan
Nilai pada tujuan akan dikurangi 1, seperti perintah Tujuan:=Tujuan-1 dalam Turbo Pascal. Tujuan disini dapat berupa suatu register maupun memory. Contoh : perintah DEC AL akan mengurangi nilai di register AL dengan 1.
Contoh :
                        Mov AL,10h ; isi AL bengan nilai 10h
                        Dec AL    ; kurangkan nilai AL dengan 1

3.      OPERASI PERKALIAN
Untuk perkalian bisa digunakan perintah MUL dengan syntax:
MUL Sumber
Sumber disini dapat berupa suatu register 8 bit(Mis:BL,BH,..), register 16 bit(Mis: BX,DX,..) atau suatu varibel. Ada 2 kemungkinan yang akan terjadi pada perintah MUL ini sesuai dengan jenis perkalian 8 bit atau 16 bit.
            Bila Sumber merupakan 8 bit seperti MUL BH maka komputer akan mengambil nilai yang terdapat pada BH dan nilai pada AL untuk dikalikan. Hasil yang didapat akan selalu disimpan pada register AX. Bila sumber merupakan 16 bit seperti MUL BX maka komputer akan mengambil nilai yang terdapat pada BX dan nilai pada AX untuk dikalikan. Hasil yang didapat akan disimpan pada register DX dan AX(DX:AX), jadi register DX menyimpan Word tingginya dan AX menyimpan Word rendahnya.
ORG 100h
TData :
JMP Proses ; Lompat ke Proses
A DW 01EFh
B DW 02FEh
HslLo DW ?
HslHi DW ?
Proses:
MOV AX,A ; AX=1EF
MUL B ; Kalikan 1FH*2FE
MOV HslLo,AX ; AX bernilai C922 sehingga HslLo=C922
MOV HslHi,DX ; DX bernilai 0005 sehingga HslHi=0005
INT 20h ; Kembali ke DOS
            END TData

4.      PEMBAGIAN
a.       DIV
Operasi pada pembagian pada dasarnya sama dengan perkalian. Untuk operasi pembagian digunakan perintah DIV dengan syntax:
DIV Sumber
Bila sumber merupakan operand 8 bit seperti DIV BH, maka komputer akan mengambil nilai pada register AX dan membaginya dengan nilai BH. Hasil pembagian 8 bit ini akan disimpan pada register AL dan sisa dari pembagian akan disimpan pada register AH.
            Bila sumber merupakan operand 16 bit seperti DIV BX, maka komputer akan mengambil nilai yang terdapat pada register DX:AX dan membaginya dengan nilai BX. Hasil pembagian 16 bit ini akan disimpan pada register AX dan sisa dari pembagian akan disimpan pada register DX.
ORG 100h
TData :
JMP Proses ; Lompat ke Proses
A DW 01EFh
B DW 2
Hsl DW ?
Sisa DW ?
Proses:
SUB DX,DX ; Jadikan DX=0
MOV AX,A ; AX=1EF
DIV B ; Bagi 1EF:2
MOV Hsl,AX ; AX bernilai 00F7 sehingga Hsl=00F7
MOV Sisa,DX ; DX berisi 0001 sehingga Sisa=0001
INT 20h ; Kembali ke DOS

B.     INSTRUKSI LOGIKA

1.      GERBANG NOT
Operator NOT akan menginvers suatu nilai seperti yang terlihat pada gambar berikut .

A
NOT A
1
0
0
1
Hasil dari operasi not ini akan disimpan pada Tujuan, sebagai contoh, instruksi NOT AL,3Fh akan menghasilkan nilai C0h bagi AL. Mungkin masih ada pembaca yang bingung dengan operasi ini. Baiklah untuk lebih jelasnya kita lihat operasi di atas secara per bit
3 F = 0011 1111
Not 3F :           C 0 = 1100 0000

2.      GERBANG AND
Operator AND akan menghasilkan nilai nol bila salah satu operandnya bernilai nol. Dan hanya akan bernilai satu bila kedua operandnya bernilai satu.
A
B
OUTPUT
0
0
0
0
1
0
1
0
0
1
1
1

Hasil dari operasi AND ini akan disimpan pada Tujuan, sebagai contoh, instruksi :
MOV AL,3Fh
MOV BL,1Ah
AND AL,BL
Perintah diatas akan menghasilkan nilai 1A bagi register AL. Ingatlah :
Setiap bit yang di AND dengan 0 pasti menghasilkan bit 0 juga, sedangkan setiap bit yang di AND dengan 1 akan menghasilkan bit itu sendiri.

3.      GERBANG OR
Operator logik OR akan menghasilkan nilai nol bila kedua operannya bernilai nol dan satu bila salah satunya bernilai satu.
A
B
OUTPUT
0
0
0
0
1
1
1
0
1
1
1
1






Hasil dari operasi OR ini akan disimpan pada Tujuan, sebagai contoh, instruksi :
MOV AL,3Fh
MOV BL,1Ah
OR AL,BL
Hasil operasi OR diatas akan menghasilkan nilai 3F bagi register AL.
Ingatlah :
Setiap bit yang di OR dengan 0 pasti menghasilkan bit itu sendiri, sedangkan setiap bit yang di OR dengan 1 pasti menghasilkan bit.
4.      GERBANG EXOR

            Operator XOR akan menghasilkan nol untuk dua nilai yang sama nilainya dan satu untuk yang berbeda.



A
B
OUTPUT
0
0
0
0
1
1
1
0
1
1
1
0

.



Hasil dari operasi XOR ini akan disimpan pada Tujuan, sebagai, contoh instruksi :
MOV AX,0A12h
XOR AX,AX
Hasil operasi XOR diatas pasti akan menghasilkan nilai 0 bagi register AX.
Ingatlah: Setiap bilangan yang di XOR dengan bilangan yang sama pasti menghasilkan bilangan 0.
5.      TEST
Perintah Test digunakan untuk mengetahui nilai pada suatu bit, dengan syntax :
TEST Operand1,Operand2
Perintah test akan mengAND kedua nilai operand, tetapi hasil yang didapatkan tidak akan berpengaruh terhadap nilai kedua operand tersebut. Setelah perintah Test dilaksanakan yang akan terpengaruh adalah Flags, sehingga perintah ini sering diikuti dengan perintah yang berhubungan dengan kondisi flags. Adapun flags yang terpengaruh adalah CF,OF,PF,ZF,SF dan AF.
TEST AX,0Fh

JNZ Proses ; Lompat jika Zerro flag 0
Pada perintah diatas komputer akan menuju ke label Proses bila ada satu bit atau lebih dari AX yang sama dengan 0Fh. Bila diikuti dengan perintah JC Proses, maka komputer akan menuju ke label proses bila keempat byte rendah pada AL semuanya 1(?F).
SHL ( Shift Left )

Operator SHL akan menggeser operand1 ke kiri sebanyak operand2 secara per bit. Kemudian bit kosong yang telah tergeser di sebelah kanannya akan diberi nilai nol. Operator SHL digunakan dengan syntax :
SHL Operand1,Operand2
Operand2 harus digunakan register CL bila pergeseran yang dilakukan lebih dari satu kali.
Instruksi :
MOV AX,3Fh
MOV CL,3
SHL AX,CL ; Geser 3 bit ke kiri
Akan menghasilkan nilai F8h pada register AX. Operasi detilnya dapat dilihat di bawah ini.
3Fh : 0011 1111
SHL 1 : 0111 1110 (=7Eh)
SHL 2 : 1111 1100 (=FCh)
SHL 3 : 1111 1000 (=F8h)
SHR ( Shift Right )
Operator SHR akan menggeser operand1 ke kanan sebanyak operand2 secara per bit dan menambahkan nilai nol pada bit yang tergeser seperti halnya pada operator SHL. Operator SHR digunakan dengan syntax :
SHR Operand1,Operand2
Operand2 harus digunakan register CL bila pergeseran yang dilakukan lebih dari satu kali.

MOV CL,3
SHR AX,CL ; Geser 3 bit ke kanan
Akan menghasilkan nilai 07h pada register AX. Operasi detilnya dapat dilihat di bawah ini.
3Fh : 0011 1111
SHR 1 : 0001 1111 (=1Fh)
SHR 2 : 0000 1111 (=0Fh)
SHR 3 : 0000 0111 (=07h)





LAPORAN PRESENTASI
A.    Judul Presentasi : PENGGUNAAN INTRUKSI ARITMATIKA DAN LOGIKA
B.     Hasil Presentasi :
Untuk presentasi yang pertama kami menjalankan program sepertti di bawah ini :
ORG 00h
MOV AL,2
MOV AH,3
ADD AL,AH
ADD byte ptr [20],AL
ADD BL, byte ptr [20]
ADD BL,3

MOV AL,2
MOV AH,3
ADD AL,AH
ADD byte ptr [20],AL
ADD BL, byte ptr [20]
ADD BL,3

RET
Dalam presentasi ini tidak ada permasalahan yang ada :
Presentasi yang ke dua kami menjalankan program di bawah ini :
ORG 00h
MOV AL,100
MOV BL,3
MUL  BL
RET
Dalam presentasi ini ada beberapa permasalahan yang kami dapatkan yaitu :
1.      Perbedaan Mul dengan Imul...?
2.      Perbedaan Div dengan Idiv...?


Pada presentasi yang ketiga kami menjalankan program seperti di bawah ini:
ORG 0
MOV AL,0
MOV BL,0
INC AL
DEC BL
MOV CL,11110000b
MOV DL,11110000b
NOT CL
NEG DL
RET
            Dalam presentasi yang ketiga ini kami juga di hadapkan dengan beberapa permasalahan yaitu :
1.      Apakah yang di magsud dengan ORG dan Bagiamana penggunaannya dalam bahasa asembly ?
2.      Apa Hubungan pembelajaran intruksi aritmatika dan logika dengan bahasa assembly ?

C.     Pembahsan Masalah :
1.      Perbedaan antara intruksi MUL dengan IMUL pada intruksi perkalian :
MUL : digunakan pada proses perkalian bilangn tak bertanda
Contoh : ORG 00h
MOV AL,100
MOV BL,3
MUL  BL
RET
                        IMUL : digunakan pada proses perkalian bilangan bertanda.
Contoh : ORG 00h
MOV AL,100
MOV BL,-3
MUL  BL
RET
2.      Perbedaan antara intruksi DIV dan IDIV
DIV : digunakan untuk intruksi pembagian pada bilangan tak bertanda
Contoh : ORG 00h
MOV AL,100
MOV BL,3
DIV  BL
RET
IDIV : digunakan untuk intruksi pembagian pada bilangan bertanda
Contoh : ORG 00h
MOV AL,100
MOV BL,-3
DIV  BL
RET
3.      ORG dan Penggunaannya.
Org 100h adalah directiv kompiler yang mengatakan pada kompiler bagaiamana menangani source kode, directiv ini sangat penting digunakan saat kita bekerja dengan variabel. Directiv tersebut mengatakan pada kompiler tersebut bahwa file exesutable akan di muat pada offset 100h. Jadi kompiler harus menghitung alamat yang benar untuk semua variabel ketika dia mengganti nama variabel dengan offsetnya.
4.      Penggunaan instruksi aritmetik dan logika:
Karena dalam proses bahasa asembly menggunakan perintah intruksi aritmetika dan logika pada penggunaannya.