PERANCANGAN PERANGKAT LUNAK PEMBELAJARAN MODUS PENGALAMATAN DAN OPERASI ARITMATIKA PADA MIKROPROSESOR INTEL 8088/8086 DENGAN MENGGUNAKAN MS

dokumen-dokumen yang mirip
BAB III ALGORITMA DAN PERANCANGAN ALGORITMA DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI DAN PENGUJIAN

J. Informatika AMIK-LB Vol.1 No.2 /Mei/2013

REGISTER Register-register yang terdapat pada mikroprosesor, antara lain :

BAB II LANDASAN TEORI LANDASAN TEORI

MIKROPROSESOR REGISTER-REGISTER MIKROPROSESOR INTEL

Perangkat Lunak Untuk Simulasi Penerapan Modus Pengalamatan Dan Operasi Aritmatika Bahasa Rakitan Pada Mikroprosesor 8086/8088

R E G I S T E R. = Code Segment Register = Data Segment Register = Stack Segment Register = Extra Segment Register. 3.

Mikroprosesor. Pertemuan 8. By: Augury

IMPLEMENTASI PENGISIAN REGISITER DATA DAN OPERASI ARITMATIKA MENGGUNAKAN PROGRAM COMMAND PROMPT, BAHASA ASSEMBLER

Pada pembahasan kali ini, digunakan instruksi MOV untuk menjelaskan mode pengalamatan data. Format penulisannya adalah :

Sistem Komputer. Komputer terdiri dari CPU, Memory dan I/O (Arsitektur Von-Neumann) Ada tiga bus dalam sistem komputer

MODUL I PENGENALAN ASSEMBLY

Pertemuan ke 7 Mode Pengalamatan. Computer Organization Eko Budi Setiawan

Instruksi-Instruksi Pemindahan Data. Sistem Komputer Universitas Gunadarma

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM POINTER OPERASI ARITMATIKA

MODUL PRAKTIKUM ORGANISASI SISTEM KOMPUTER

OPERATION SYSTEM. Jenis - Jenis Register Berdasarkan Mikroprosesor 8086/8088

MODE PENGALAMATAN PROGRAM MEMORI

Mata Kuliah : Bahasa Rakitan Materi ke-3

KONFIGURASI PIN-PIN MIKROPROSESOR Z 80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

BAB 3 UNIT KONTROL. Universitas Gadjah Mada 1

ORGANISASI DAN ARSITEKTUR KOMPUTER. rsp oak informatika

Rencana Program dan Kegiatan Pembelajaran Semester (RPKPS) MIKROPROSESOR

LAPORAN PRAKTIKUM. Praktek Mikroprosesor 1 Job Sheet 2

Mode Pengalamatan (Addressing Mode) Keluarga Prosesor 8086

Materi 3. Komponen Mikrokomputer SYSTEM HARDWARE DAN SOFTWARE DADANG MULYANA

Mikroprosesor. Bab 3: Arsitektur Mikroprosesor. INTEL 8086 Generasi Awal Prosesor PENTIUM. Arsitektur Mikroprosesor 1

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER & BAHASA ASSEMBLY PROGRAM OPERASI ARITMATIKA. Kelas : INF 2B Praktikum 1 Nama : Fernalia NIM : J3C212210

PENGERTIAN REGISTER. Arsitektur Mikroprosesor INTEL 8086 Tinjauan Umum

Organisasi & Arsitektur Komputer

MODUL V STACK dan PENGENALAN PROCEDURE

Memori Semikonduktor

Karakteristik Instruksi Mesin

Diktat Kuliah intel 8088

BAB III PERENCANAAN DAN PERANCANGAN

Mode Pengalamatan. Sistem Komputer Universitas Gunadarma

Jumlah maksimum operand dalam suatu computer menunjukkan organisasi prosessor mesin tersebut.

PETA MEMORI MIKROPROSESOR 8088

LAPORAN PRAKTIKUM SISTEM MIKROPROSESSOR APLIKASI DASAR INSTRUKSI ARITMATIKA DAN OPERASI LOGIK

Pertemuan ke 6 Set Instruksi. Computer Organization Dosen : Eko Budi Setiawan

Kuis : Bahasa Rakitan (UAS)

SISTEM KERJA MIKROPROSESOR

Diktat Kuliah Organisasi dan Interaksi

Konsep Mikroprogramming. Sistem Komputer Universitas Gunadarma

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM I MODEL PEMROGRAMAN 1

BAB VII KOMPUTER SEDERHANA SAP-3 (SIMPLE AS POSSIBLE-3)

SATUAN ACARA PERKULIAHAN Mata Kuliah: BAHASA RAKITAN Jurusan / Jenjang / Kode / SKS : SI / D3 / KK /2

Mata Kuliah : Bahasa Rakitan

Bahasa Rakitan By Okti Yudhanti Nur K REGISTER

Organisasi Sistem Komputer

Hal-hal yang perlu dilakukan CPU adalah : 1. Fetch Instruction = mengambil instruksi 2. Interpret Instruction = Menterjemahkan instruksi 3.

PERTEMUAN : 4 EKSPLORASI DEBUG

PERCOBAAN 1 PENGENALAN MIKROPROSESOR MPF-I. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

Bahasa Rakitan PENGERTIAN REGISTER

Pendahuluan (1) D E F

Daftar Isi. Daftar Isi Pertemuan 2: Pengenalan Debug dan Interrupt P2.1. Teori Pengenalan DEBUG... 3

OPERASI ARITMATIKA. Untuk menambah dalam bahas Assembler digunakan perintah ADD, ADC serta INC Sintaks : ADD Tujuan,Asal

Arsitektur RISC merupakan kemajuan yang sangat dramatis dalam frase sejarah arsitektur CPU. Dan merupakan tantangan bagi arsitektur konvensional

Arsitektur dan Organisasi Komputer. Set instruksi dan Pengalamatan

PERANCANGAN APLIKASI SISTEM AJAR TEMATIK BERBASIS MULTIMEDIA

PERTEMUAN. 1. Organisasi Processor. 2. Organisasi Register

Eksplorasi Prosesor 8086 Dengan Program DEBUG

BAB IV IMPLEMENTASI DAN PENGUJIAN

CENTRAL PROCESSING UNIT (CPU) Sebuah mesin tipe von neumann

IKI20210 Pengantar Organisasi Komputer Kuliah Minggu ke-3: Bahasa Rakitan AVR

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

Hanif Fakhrurroja, MT

Intermediate Code Form

CENTRAL PROCESSING UNIT CPU

Mode Pengalamatan. Ada dua cara yang biasa digunakan dalam penempatan

Hanif Fakhrurroja, MT

Pengantar Sistem Komputer

3. MODE PENGALAMATAN CHAERUL UMAM, S.KOM

DASAR KOMPUTER. Assembly Language

SET INSTRUKSI. Organisasi dan Arsitektur Komputer

Pemanfaatan Komputer di Bidang Pendidikan

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

0F9C:0000 9A00009E0F CALL 0F9E:0000 0F9C: PUSH BP 0F9C: E5 MOV BP,SP 0F9C: C0 XOR AX,AX 0F9C:000A 9ACD029E0F CALL 0F9E:02CD

OF DF IF TF SF ZF AF PF CF

Simple As Possible (SAP) - 2. Abdul Syukur

PERANCANGAN APLIKASI PEMBELAJARAN HEWAN MAMALIA BERBASIS MULTIMEDIA DENGAN METODE COMPUTER BASED INSTRUCTION (CBI)

ARSITEKTUR MIKROPROSESOR Z80. Yoyo somantri Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

RANCANG BANGUN APLIKASI PEMBELAJARAN PEMROGRAMAN BERORIENTASI OBJEK DENGAN BAHASA JAVA ABSTRAK

Operasi Transfer Data

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Pemrograman Assembler dengan Debug

Diktat Kuliah Instruksi dan Segmentasi

BAB I PENDAHULUAN. 1.1 Latar Belakang. Seiring dengan perkembangan peradaban manusia dan kemajuan pesat di

PERTEMUAN SET INSTRUKSI MIKROKONTROLER AT 89C51

ARSITEKTUR DAN ORGANISASI KOMPUTER

Algoritma & Pemrograman

DCH1B3 Konfigurasi Perangkat Keras Komputer SAP-2

Pertemuan 2 Organisasi Komputer II. Struktur & Fungsi CPU (I)

APLIKASI SIMULASI OPERASI ARITMATIKA DAN LOGIKA PADA MIKROPROSESOR FAJAR NUR CHOLIS

BAHASA PEMOGRAMAN AT89S/Cxx (assembly)

Pertemuan Ke-12 RISC dan CISC

MAKALAH REGISTER. Disusun Untuk Memenuhi Tugas Pada Semester 3 Jurusan D3 Teknik Elektro Dengan Mata Kuliah Sistem Digital & Mikroprosessor

PERINTAH-PERINTAH DASAR (UMUM)

KALKULATOR ASSEMBLY Lutfi Budi Ilmawan

Transkripsi:

PERANCANGAN PERANGKAT LUNAK PEMBELAJARAN MODUS PENGALAMATAN DAN OPERASI ARITMATIKA PADA MIKROPROSESOR INTEL 8088/8086 DENGAN MENGGUNAKAN MS. VISUAL BASIC 6.0. Hendra Gunawan Teknik Informatika, STMIK-IM hendra_gunawan@engineer.com Abstrak Percobaan penggunaan komputer untuk proses belajar dimulai di Amerika Serikat pada akhir tahun 1950-an dan awal tahun 1960-an. Kemudian penelitian selanjutnya dilakukan oleh Harvard University bekerja sama dengan IBM pada tahun 1965. Setelah munculnya komputer mikro, sistem pengajaran dengan komputer menjadi semakin meluas pada pengembangan perangkat lunak pembelajaran yang dikenal dengan istilah perangkat lunak pembelajaran. Perangkat lunak pembelajaran dengan komputer muncul dari sejumlah disiplin ilmu, terutama ilmu komputer dan psikologi. Dari ilmu komputer dan matematika muncul program-program yang membuat semua perhitungan dan fungsi lebih mudah dan bermanfaat. Kata kunci : perangkat lunak pembelajaran, modus pengalamatan, mikroprosesor. 1. Pendahuluan Percobaan penggunaan komputer untuk proses belajar dimulai di Amerika Serikat pada akhir tahun 1950-an dan awal tahun 1960-an. Kemudian penelitian selanjutnya dilakukan oleh Harvard University bekerja sama dengan IBM pada tahun 1965. Setelah munculnya komputer mikro, sistem pengajaran dengan komputer menjadi semakin meluas pada pengembangan perangkat lunak pembelajaran yang dikenal dengan istilah perangkat lunak pembelajaran. Perangkat lunak pembelajaran dengan komputer muncul dari sejumlah disiplin ilmu, terutama ilmu komputer dan psikologi. Dari ilmu komputer dan matematika muncul program-program yang membuat semua perhitungan dan fungsi lebih mudah dan bermanfaat. Sedangkan dari ilmu psikologi muncul pengetahuan mengenai teori belajar, teknik belajar, serta motivasi yang baik. Beberapa istilah yang digunakan untuk menyatakan perangkat lunak pembelajaran dengan komputer adalah Computer Assisted Instruction (CAI), Computer Based Instruction (CBI), Computer Based Education (CBE), Computer Assisted Learning (CAL), atau Computer Based Training (CBT). Prosesor Intel 8088/8086 merupakan mikroprosesor yang menjadi mesin bagi mikrokomputer-mikrokomputer IBM PC/XT dan kompatibelnya. Prosesor ini sering disebut dengan singkat sebagai 8088 atau 8086 saja. Walaupun perangkat keras 8088 sedikit berbeda dengan 8086, tetapi keduanya dapat dipandang sama dari sisi pemrograman. Intel 8088/8086 adalah prosesor 16 bit, artinya lintasan data dan registernya berukuran 16 bit. JURNAL INFORMASI 13

Kebanyakan instruksi dalam program bahasa Assembly membutuhkan operand, yaitu data yang akan diolah. Cara menentukan atau memperoleh harga operand ini disebut sebagai modus pengalamatan (addressing mode). Modus pengalamatan terbagi atas beberapa macam antara lain, pengalamatan register, pengalamatan segera, pengalamatan langsung dan pengalamatan tak langsung. Selain itu, dalam mempelajari bahasa Assembly, kita harus menghafalkan semua register dan mengerti kegunaannya masing masing. Register adalah sebagian kecil memori komputer yang dipakai untuk tempat penampungan data dengan ketentuan bahwa data yang terdapat dalam register dapat diproses dalam berbagai operasi dengan melihat berapa besar kemampuan menampung register tersebut. Register dapat dibagi dalam lima golongan yaitu general purpose register (AX, BX, CX dan DX), segment register (CS, DS, SS dan ES), pointer register (IP, SP dan BP), index register (SI dan DI) dan flag register. Penulis tertarik untuk mempelajari tentang modus pengalamatan dan operasi aritmatika pada bahasa Assembly dan mengamati perubahan isi register yang terjadi. Oleh karena itu, penulis mengambil judul penelitian Perangkat Lunak Pembelajaran Modus Pengalamatan dan Operasi Aritmatika pada Mikroprosesor Intel 8088/8086 Dengan Menggunakan MS. Visual Basic 6.0. 2. Metode Penelitian Metode penelitian yang digunakan penulis adalah metode kualitatif, yaitu menjelaskan pendekatan yang digunakan, proses pengumpulan dan analisis informasi, dan proses. Selain itu penulis melakukan studi literature dengan membaca berbagai buku dan referensi yang berhubungan dengan masalah yang dihadapi serta melakukan observasi guna memperoleh data-data penunjang mengenai aplikasi yang akan dibuat. 3. Hasil dan Pembahasan 3.1 Perangkat Lunak Pembelajaran Percobaan penggunaan komputer untuk proses belajar dimulai di Amerika Serikat pada akhir tahun 1950-an dan awal tahun 1960-an. Kemudian penelitian selanjutnya dilakukan oleh Harvard University bekerja sama dengan IBM pada tahun 1965. Setelah munculnya komputer mikro, sistem pengajaran dengan komputer menjadi semakin meluas pada pengembangan perangkat lunak pembelajaran yang dikenal dengan istilah perangkat lunak pembelajaran. Perangkat lunak pembelajaran dengan komputer muncul dari sejumlah disiplin ilmu, terutama ilmu komputer dan psikologi. Dari ilmu komputer dan matematika muncul programprogram yang membuat semua perhitungan dan fungsi lebih mudah dan bermanfaat. Sedangkan dari ilmu psikologi muncul pengetahuan mengenai teori belajar, teknik belajar, serta motivasi yang baik. Beberapa istilah yang digunakan untuk menyatakan perangkat lunak pembelajaran dengan komputer adalah Computer Assisted Instruction (CAI), Computer Based Instruction (CBI), Computer Based Education (CBE), Computer Assisted Learning (CAL), atau Computer Based Training (CBT). JURNAL INFORMASI 14

3.2 Tujuan Perangkat Lunak Pembelajaran Tujuan utama dari perangkat lunak pembelajaran adalah : 1. Peningkatan pengawasan. 2. Penggunaan sumber daya. 3. Individualisasi. 4. Ketepatan waktu dan tingkat ketersediaan. 5. Pengurangan waktu latihan. 6. Perbaikan hasil kerja. 7. Alat yang nyaman dipakai. 8. Pengganti cara belajar. 9. Peningkatan kepuasan belajar. 10. Pengurangan waktu pengembangan. 3.3 Jenis-jenis Perangkat Lunak Pembelajaran Jenis pemakaian komputer untuk perangkat lunak pembelajaran digolongkan menjadi tiga bagian, yaitu : Pengujian. Dalam jenis ini, komputer digunakan untuk memberikan penilaian dan analisis tes, membuat soal tes, membuat nilai acak, tes interaksi, dan tes adaptasi. Jenis ini sering disebut dengan Computer Assisted Testing (CAT). Manajemen. Jenis pemakaian ini disebut dengan Computer Managed Instruction (CMI), dimana komputer digunakan untuk mengatur kemajuan peserta pelatihan dan alat-alat yang dipakai. CMI biasanya digunakan untuk meningkatkan pengawasan dan efisiensi dalam sistem pelatihan. Instruksi. Sering disebut dengan Computer Assisted Instruction (CAI). Jenis ini menganggap komputer sebagai media penyimpanan instruksi sama seperti slide, tape, video atau buku-buku. Menurut sudut pandang CAI, masalah utamanya adalah bagaimana menyusun bahan-bahan instruksi yang akan ditampilkan oleh komputer dengan cara yang paling efektif. Ada tiga jenis CAI yaitu : Drill and Practice Merupakan cara yang paling mudah, terdiri dari tahap-tahap penampilan permasalahan, penerimaan respon pengguna, pemberian hasil analisis, umpan balik, dan pemberian pertanyaan lain. Secara umum jenis ini tidak menampilkan informasi baru tapi memberikan latihan dari konsep yang sudah ada. Tutorial Jenis ini berisi konsep atau prosedur yang disertai dengan pertanyaan atau latihan pada akhir dari pelatihan. Selama pelatihan, komputer mengajarkan informasiinformasi yang baru kepada siswa seperti layaknya seorang guru pembimbing. JURNAL INFORMASI 15

Setelah itu, pemahaman siswa diukur melalui serangkaian tes dan komputer melanjutkan pengajaran berdasarkan hasil pengukuran tadi. Socratic Berisi komunikasi antara pengguna dan komputer dalam natural language. Jenis ini sebenarnya berasal dari penelitian dalam bidang intelijensia semu (artificial intelligence). Socratic mampu melakukan interaksi dalam natural language dan bisa memahami apa yang ditanyakan pengguna. 3.4 Langkah-langkah Pengembangan Perangkat Lunak Pembelajaran Ada 5 tahap siklus pengembangan perangkat lunak pembelajaran yaitu : 1. Pengembangan spesifikasi perancangan detail. Tujuan dari pengembangan spesifikasi perancangan detail ini meliputi perluasan konsep perancangan untuk menciptakan suatu rencana yang efektif. 2. Pengembangan teknik. Pengembangan ini biasanya dilakukan dengan persetujuan dari tim perancang. Tahap ini biasanya akan diulang-ulang dan sering terjadi perbaikan. 3. Evaluasi. Untuk menghasilkan suatu perangkat lunak pembelajaran yang dapat memenuhi standar maka perlu dilakukan suatu pengujian. Pengujian biasanya dilakukan pada bagian pelajaran dan pelatihan. Hasil dari pengujian inilah yang dievaluasi oleh tim perancang. 4. Produksi dan pengembangan. Produksi ini harus dilakukan secara teknis dan logis, baik dalam penyalinan produk CAI maupun dalam pembuatan dokumentasi. Sedangkan pengembangan yang dilakukan mengacu pada proses pengembangannya. 5. Evaluasi akhir. Langkah pengujian yang dapat dilakukan misalnya dengan melakukan suatu kuisioner maupun konsultasi dengan mereka yang ingin belajar. Hasilnya dapat menjadi pedoman apakah perangkat lunak pembelajaran tersebut perlu dilakukan perbaikan lagi atau tidak. 4. Algoritma Algoritma perancangan perangkat lunak pembelajaran penerapan modus pengalamatan dan operasi aritmatika pada mikroprosesor intel 8088/8086 dibagi menjadi 4 bagian yaitu, 1. Algoritma Eksekusi Op-Code MOV. 2. Algoritma Eksekusi Op-Code ADD dan ADC. 3. Algoritma Eksekusi Op-Code INC. 4. Algoritma Eksekusi Op-Code SUB dan SBB. 5. Algoritma Eksekusi Op-Code DEC. 6. Algoritma Eksekusi Op-Code MUL. 7. Algoritma Eksekusi Op-Code DIV. JURNAL INFORMASI 16

5. Algoritma Eksekusi Op-Code MOV Instruksi MOV berfungsi untuk menyalin suatu bilangan ke register tujuan atau memindahkan data dari isi suatu register ke register tujuan. Algoritma akan mengeksekusi op-code MOV sesuai dengan input dan menunjukkan perubahan isi register setelah instruksi dieksekusi. Algoritma eksekusi op-code MOV adalah sebagai berikut, Jika Karakter terakhir dari.reg2 = "X" Or _ Karakter terakhir dari.reg2 = "H" Or _ Karakter terakhir dari.reg2 = "L" Maka {Input merupakan pengalamatan register} chasil1 = GetIsiReg(.Reg2) {Input merupakan pengalamatan segera} chasil1 = FormatS(Hex2Biner(.Reg2), "0", 16) chasil1 = FormatS(Hex2Biner(.Reg2), "0", 8) {Tampilkan perubahan isi register} cbaris = GetBaris(.Reg1) {Atur warna register tujuan} TRegister.Row = cbaris.baris TRegister.Col = cbaris.kolom TRegister.CellBackColor = &H66CCFF TRegister.Col = cbaris.kolom + 1 TRegister.CellBackColor = &H66CCFF {Isi nilai register pada tabel} 'AX BagiString(Mid(cHasil1, 1, 8), 4) TRegister.TextMatrix(cBaris.Baris, cbaris.kolom + 1) = _ BagiString(Mid(cHasil1, 9, 8), 4) JURNAL INFORMASI 17

Jika tidak, jika Karakter terakhir dari.reg1 = "H" Or Karakter terakhir dari.reg1 = "L" Maka 'AH / AL BagiString(cHasil1, 4) {Hapus warna} TRegister.Row = cbaris.baris TRegister.Col = cbaris.kolom TRegister.CellBackColor = &HFFFFFF Jika Karakter terakhir dari (.Reg1, 1) = "X" Maka TRegister.Col = cbaris.kolom + 1 TRegister.CellBackColor = &HFFFFFF 6. Algoritma Eksekusi Op-Code ADD dan ADC Instruksi ADD berfungsi untuk menambah suatu bilangan ke register tujuan atau menambahkan isi dari suatu register dengan isi dari register tujuan. Instruksi ADC sama dengan instruksi ADD, hanya saja instruksi ADC menambah hasil operasi dengan bit carry. Algoritma akan mengeksekusi op-code ADD atau ADC sesuai dengan input dan menunjukkan perubahan isi register setelah instruksi dieksekusi. Algoritma eksekusinya adalah sebagai berikut, {Simpan instruksi} ckode =.Instruksi Jika Karakter terakhir dari.reg2 = "X" Or _ Karakter terakhir dari.reg2 = "H" Or _ Karakter terakhir dari.reg2 = "L" Maka {Penjumlahan Register} cop1 = GetIsiReg(.Reg1) cop2 = GetIsiReg(.Reg2) chasil1 = Biner2Dec(cOp1) + Biner2Dec(cOp2) Jika ckode = "ADC" Maka chasil1 = Val(cHasil1) + _ Val(TFlag.TextMatrix(2, 1)) Jika Val(cHasil1) < 0 Maka MsgBox "Perangkat lunak tidak mendukung bilangan bertanda!", vbcritical GoTo ErrorMin chasil1 = Dec2Biner(Val(cHasil1)) JURNAL INFORMASI 18

{Cek panjang bit} Jika Len(cHasil1) < 16 Maka chasil1 = FormatS(cHasil1, "0", 16) chasil3 = FormatS(Right(cHasil1, 16), "0", 16) Jika Len(cHasil1) < 8 Maka chasil1 = FormatS(cHasil1, "0", 8) chasil3 = FormatS(Right(cHasil1, 8), "0", 8) {Penjumlahan Segera} cop1 = GetIsiReg(.Reg1) cop2 = Hex2Biner(.Reg2) cop2 = FormatS(cOp2, "0", 16) cop2 = FormatS(cOp2, "0", 8) chasil1 = Biner2Dec(cOp1) + Biner2Dec(cOp2) Jika ckode = "ADC" Maka chasil1 = Val(cHasil1) + _ Val(TFlag.TextMatrix(2, 1)) Jika Val(cHasil1) < 0 Maka MsgBox "Perangkat lunak tidak mendukung bilangan bertanda!", vbcritical GoTo ErrorMin chasil1 = Dec2Biner(Val(cHasil1)) 'Cek Panjang Jika Len(cHasil1) < 16 Maka chasil1 = FormatS(cHasil1, "0", 16) chasil3 = FormatS(Right(cHasil1, 16), "0", 16) Jika Len(cHasil1) < 8 Maka chasil1 = FormatS(cHasil1, "0", 8) chasil3 = FormatS(Right(cHasil1, 8), "0", 8) JURNAL INFORMASI 19

{Ambil no.baris register tujuan pada tabel} cbaris = GetBaris(.Reg1) {Atur warna pada tabel} TRegister.Row = cbaris.baris TRegister.Col = cbaris.kolom TRegister.CellBackColor = &H66CCFF TRegister.Col = cbaris.kolom + 1 TRegister.CellBackColor = &H66CCFF {Tampilkan isi register pada tabel} chasil2 = chasil1 'Cek Panjang = 16 Jika Len(cHasil2) < 16 Maka chasil2 = FormatS(cHasil2, "0", 16) Jika tidak, jika Len(cHasil2) > 16 Maka chasil2 = Karakter terakhir dari (chasil2, 16) 'AX BagiString(Mid(cHasil2, 1, 8), 4) TRegister.TextMatrix(cBaris.Baris, cbaris.kolom + 1) = _ BagiString(Mid(cHasil2, 9, 8), 4) Jika tidak, jika Karakter terakhir dari.reg1 = "H" Maka 'Cek Panjang = 8 Jika Len(cHasil2) < 8 Maka chasil2 = FormatS(cHasil2, "0", 8) Jika tidak, jika Len(cHasil2) > 8 Maka chasil2 = Right(cHasil2, 8) JURNAL INFORMASI 20

BagiString(cHasil2, 4) Jika tidak, jika Karakter terakhir dari.reg1 = "L" Maka 'Cek Panjang = 8 Jika Len(cHasil2) < 8 Maka chasil2 = FormatS(cHasil2, "0", 8) BagiString(cHasil2, 4) Jika tidak, jika Len(cHasil2) > 8 Maka BagiString(Right(cHasil2, 8), 4) 'Untuk kelebihan bit chasil2 = FormatS(Dec2Biner(Format(Biner2Dec(TRegister. TextMatrix (cbaris.baris, 1)) + _ Biner2Dec(Left(cHasil2, Len(cHasil2)-8)))),"0",8) TRegister.TextMatrix(cBaris.Baris, 1)=BagiString(cHasil2, 4) {Hapus Warna} TRegister.Row = cbaris.baris TRegister.Col = cbaris.kolom TRegister.CellBackColor = &HFFFFFF Jika Karakter terakhir dari (.Reg1, 1) = "X" Maka TRegister.Col = cbaris.kolom + 1 TRegister.CellBackColor = &HFFFFFF '-------------------- 'CHECK REGISTER-FLAG '-------------------- {Cek perubahan flag Z } nhasil1 = Biner2Dec(cHasil3) chasil2 = IIf(nHasil1 = 0, "1", "0") Call UbahFlag(1, 1, chasil2) {Cek perubahan flag C} 'Loop dari belakang JURNAL INFORMASI 21

ccarry = "" ctemp = TFlag.TextMatrix(2, 1) For ntemp = Len(cOp1) To 1 Step -1 nhasil1 = Val(cCarry) + _ Val(Mid(cOp1, ntemp, 1)) + _ Val(Mid(cOp2, ntemp, 1)) Jika ckode = "ADC" And ntemp = Len(cOp1) Maka nhasil1 = nhasil1 + Val(cTemp) Jika nhasil1 >= 2 Maka ccarry = "1" ccarry = "0" Next ntemp chasil2 = ccarry Call UbahFlag(2, 1, chasil2) {Cek perubahan flag A} 'Loop dari belakang Jika Karakter terakhir dari (.Reg1, 1) = "X" Maka ccarry = "" For ntemp = Len(cOp1) To 9 Step -1 nhasil1 = Val(cCarry) + _ Val(Mid(cOp1, ntemp, 1)) + _ Val(Mid(cOp2, ntemp, 1)) Jika ckode = "ADC" And ntemp = Len(cOp1) Maka nhasil1 = nhasil1 + Val(cTemp) Jika nhasil1 >= 2 Maka ccarry = "1" ccarry = "0" Next ntemp chasil2 = ccarry Jika tidak, jika Karakter terakhir dari.reg1 = "L" Maka chasil2 = ccarry Jika Karakter terakhir dari.reg1 <> "H" Maka Call UbahFlag(3, 1, chasil2) JURNAL INFORMASI 22

{Cek perubahan flag S} nhasil1 = Biner2Dec(cHasil3) chasil2 = IIf(nHasil1 >= 0, "0", "1") Call UbahFlag(4, 1, chasil2) {Cek perubahan flag P} 'AX, BX chasil3 = Right(cHasil1, 16) 'AL, BL chasil3 = Right(cHasil1, 8) nhasil2 = GetNHuruf(cHasil3, "1") Jika (nhasil2 Mod 2) = 0 Maka 'Jumlah Bit 1 - Genap chasil2 = "1" 'Jumlah Bit 1 - Ganjil chasil2 = "0" Call UbahFlag(5, 1, chasil2) {Cek perubahan flag O} 'AX, BX Jika Len(cHasil1) > 16 And _ Val(Left(cHasil1, Len(cHasil1) - 16)) > 0 Maka 'Overflow chasil2 = "1" 'Not Overflow chasil2 = "0" 'AL, BL Jika Len(cHasil1) > 8 And _ Val(Left(cHasil1, Len(cHasil1) - 8)) > 0 Maka 'Overflow chasil2 = "1" 'Not Overflow chasil2 = "0" JURNAL INFORMASI 23

Call UbahFlag(6, 1, chasil2) 7. Algoritma Eksekusi Op-Code INC Instruksi INC (penjumlahan inkremen) berfungsi untuk menambah satu bit ke register tujuan. Algoritma akan mengeksekusi op-code INC sesuai dengan input dan menunjukkan perubahan isi register setelah instruksi dieksekusi. Algoritma eksekusinya adalah sebagai berikut, {Isi dari Register Tujuan} cop1 = GetIsiReg(.Reg1) {Tambah 1 bit} chasil1 = Biner2Dec(cOp1) + 1 Jika Val(cHasil1) < 0 Maka MsgBox "Perangkat lunak tidak mendukung bilangan bertanda!", vbcritical GoTo ErrorMin chasil1 = Dec2Biner(Val(cHasil1)) {Cek Panjang Bit} Jika Len(cHasil1) < 16 Maka chasil1 = FormatS(cHasil1, "0", 16) chasil3 = FormatS(Right(cHasil1, 16), "0", 16) Jika Len(cHasil1) < 8 Maka chasil1 = FormatS(cHasil1, "0", 8) chasil3 = FormatS(Right(cHasil1, 8), "0", 8) {Ambil no.baris dari register pada tabel} cbaris = GetBaris(.Reg1) {Atur warna pada tabel} TRegister.Row = cbaris.baris TRegister.Col = cbaris.kolom TRegister.CellBackColor = &H66CCFF TRegister.Col = cbaris.kolom + 1 TRegister.CellBackColor = &H66CCFF JURNAL INFORMASI 24

{Tampilkan isi register pada tabel} chasil2 = chasil1 'Cek Panjang = 16 Jika Len(cHasil2) < 16 Maka chasil2 = FormatS(cHasil2, "0", 16) Jika tidak, jika Len(cHasil2) > 16 Maka chasil2 = Right(cHasil2, 16) 'AX BagiString(Mid(cHasil2, 1, 8), 4) TRegister.TextMatrix(cBaris.Baris, cbaris.kolom + 1) = _ BagiString(Mid(cHasil2, 9, 8), 4) Jika tidak, jika Karakter terakhir dari.reg1 = "H" Maka 'Cek Panjang = 8 Jika Len(cHasil2) < 8 Maka chasil2 = FormatS(cHasil2, "0", 8) Jika tidak, jika Len(cHasil2) > 8 Maka chasil2 = Right(cHasil2, 8) BagiString(cHasil2, 4) Jika tidak, jika Karakter terakhir dari.reg1 = "L" Maka 'Cek Panjang = 8 Jika Len(cHasil2) < 8 Maka chasil2 = FormatS(cHasil2, "0", 8) BagiString(cHasil2, 4) Jika tidak, jika Len(cHasil2) > 8 Maka BagiString(Right(cHasil2, 8), 4) 'Untuk kelebihan bit chasil2 = FormatS(Dec2Biner(Format(Biner2Dec(TRegister. TextMatrix(cBaris.Baris, 1)) + _ Biner2Dec(Left(cHasil2, Len(cHasil2)- 8)))),"0",8) JURNAL INFORMASI 25

TRegister.TextMatrix(cBaris.Baris,1) = BagiString(cHasil2,4) 'Delay {Hapus Warna} TRegister.Row = cbaris.baris TRegister.Col = cbaris.kolom TRegister.CellBackColor = &HFFFFFF TRegister.Col = cbaris.kolom + 1 TRegister.CellBackColor = &HFFFFFF {Cek perubahan flag Z} nhasil1 = Biner2Dec(cHasil3) chasil2 = IIf(nHasil1 = 0, "1", "0") Call UbahFlag(1, 1, chasil2) {Cek perubahan flag C} 'Loop dari belakang ccarry = "" ctemp = TFlag.TextMatrix(2, 1) For ntemp = Len(cOp1) To 1 Step -1 nhasil1 = Val(cCarry) + Val(Mid(cOp1, ntemp, 1)) Jika ntemp = Len(cOp1) Maka nhasil1 = nhasil1 + 1 Jika nhasil1 >= 2 Maka ccarry = "1" ccarry = "0" Next ntemp chasil2 = ccarry Call UbahFlag(2, 1, chasil2) {Cek perubahan flag A} 'Loop dari belakang JURNAL INFORMASI 26

ccarry = "" For ntemp = Len(cOp1) To 9 Step -1 nhasil1 = Val(cCarry) + Val(Mid(cOp1, ntemp, 1)) Jika ntemp = Len(cOp1) Maka nhasil1 = nhasil1 + 1 Jika nhasil1 >= 2 Maka ccarry = "1" ccarry = "0" Next ntemp chasil2 = ccarry Jika tidak, jika Karakter terakhir dari.reg1 = "L" Maka chasil2 = ccarry Jika Karakter terakhir dari.reg1 <> "H" Maka Call UbahFlag(3, 1, chasil2) {Cek perubahan flag S} nhasil1 = Biner2Dec(cHasil3) chasil2 = IIf(nHasil1 >= 0, "0", "1") Call UbahFlag(4, 1, chasil2) {Cek perubahan flag P} 'AX, BX chasil3 = Right(cHasil1, 16) 'AL, BL chasil3 = Right(cHasil1, 8) nhasil2 = GetNHuruf(cHasil3, "1") Jika (nhasil2 Mod 2) = 0 Maka 'Jumlah Bit 1 - Genap chasil2 = "1" 'Jumlah Bit 1 - Ganjil chasil2 = "0" JURNAL INFORMASI 27

Call UbahFlag(5, 1, chasil2) {Cek perubahan flag O} 'AX, BX Jika Len(cHasil1) > 16 And _ Val(Left(cHasil1, Len(cHasil1) - 16)) > 0 Maka 'Overflow chasil2 = "1" 'Not Overflow chasil2 = "0" 'AL, BL Jika Len(cHasil1) > 8 And _ Val(Left(cHasil1, Len(cHasil1) - 8)) > 0 Maka 'Overflow chasil2 = "1" 'Not Overflow chasil2 = "0" Call UbahFlag(6, 1, chasil2) 8. Keuntungan Perangkat Lunak Pembelajaran Ada beberapa keuntungan yang bisa diraih dari suatu perangkat lunak pembelajaran dengan komputer yang interakif yaitu : 1. Meningkatkan efektivitas pelatihan, seperti : a. Meningkatkan daya minat pengguna. b. Meningkatkan waktu pelatihan. c. Meningkatkan pengetahuan. 2. Mengurangi waktu dan sumber daya pelatihan, seperti : a. Mengurangi waktu belajar selama pelatihan. b. Mengurangi instruktur pelatihan. c. Biaya pelatihan yang lebih rendah. JURNAL INFORMASI 28

9. Kesimpulan Setelah menyelesaikan perancangan perangkat lunak pembelajaran penerapan modus pengalamatan dan operasi aritmatika pada mikroprosesor intel 8088/8086 ini, penulis menarik kesimpulan sebagai berikut : 1. Perangkat lunak ini dapat digunakan untuk memahami modus pengalamatan register dan segera serta beberapa operasi aritmatika pada mikroprosesor intel 8088/8086. 2. Perangkat lunak dapat dijadikan sebagai media pendukung dalam proses pembelajaran mikroprosesor dasar. 3. Modus pengalamatan yang dibahas dapat diperbanyak seperti menambahkan modus pengalamatan langsung, tidak langsung, base-plus-index, register relatif dan indeks berskala. 4. Operasi yang dibahas dalam perangkat lunak dapat diperbanyak seperti menambahkan operasi aritmatika lainnya, operasi perbandingan, dan sebagainya. Daftar Pustaka [1]. Albert Paul Malvino, Elektronika Komputer Digital : Pengantar Mikrokomputer, Edisi Kedua, Penerbit Erlangga, 1994. [2]. Ario Suryokusumo, Microsoft Visual Basic 6.0, PT. Elex Media Komputindo, 2001. [3]. Barry B. Brey, Mikroprosesor Intel 8086/8088/80186/80188/80286/ 80386/80486 : Arsitektur Pemrograman Antarmuka, Edisi 5, Jilid 2, Penerbit Erlangga, 2003. [4]. Hadi, Rahadian, Pemrograman Microsoft Visual Basic dengan menggunakan Windows API, PT. Elex Media Komputindo, Jakarta, 2001. [5]. Muchlas, Rangkaian Digital, Penerbit Gava Media, Yokyakarta, Januari 2005. [6]. Hendra Gunawan, S.T., M.Kom., Staf Pengajar di Jurusan Teknik Informatika STMIK-IM Bandung. Menyelesaikan Magister Komputer Jurusan Sistem Informasi Bisnis di STMIK LIKMI. Selain mengajar juga sebagai konsultan ICT. JURNAL INFORMASI 29