• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
17
0
0

Teks penuh

(1)

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 register-nya berukuran 16 bit.

(2)

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 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).

(3)

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 informasi-informasi yang baru kepada siswa seperti layaknya seorang guru pembimbing.

(4)

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.

(5)

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)

Else

{Input merupakan pengalamatan segera}

Jika Karakter terakhir dari .Reg1 = "X" Maka cHasil1 = FormatS(Hex2Biner(.Reg2), "0", 16) Else cHasil1 = FormatS(Hex2Biner(.Reg2), "0", 8) End Jika End Jika

{Tampilkan perubahan isi register} cBaris = GetBaris(.Reg1) {Atur warna register tujuan} TRegister.Row = cBaris.Baris TRegister.Col = cBaris.Kolom

TRegister.CellBackColor = &H66CCFF Jika Karakter terakhir dari .Reg1 = "X" Maka TRegister.Col = cBaris.Kolom + 1 TRegister.CellBackColor = &H66CCFF End Jika

Delay nDelay

{Isi nilai register pada tabel}

Jika Karakter terakhir dari .Reg1 = "X" Maka 'AX TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ BagiString(Mid(cHasil1, 1, 8), 4) TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom + 1) = _ BagiString(Mid(cHasil1, 9, 8), 4)

(6)

Jika tidak, jika Karakter terakhir dari .Reg1 = "H" Or Karakter terakhir dari .Reg1 = "L" Maka 'AH / AL TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ BagiString(cHasil1, 4) End Jika Delay nDelay {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 End Jika

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 End Jika

(7)

{Cek panjang bit}

Jika Karakter terakhir dari .Reg1 = "X" Maka Jika Len(cHasil1) < 16 Maka

cHasil1 = FormatS(cHasil1, "0", 16) End Jika

cHasil3 = FormatS(Right(cHasil1, 16), "0", 16) Else

Jika Len(cHasil1) < 8 Maka

cHasil1 = FormatS(cHasil1, "0", 8) End Jika cHasil3 = FormatS(Right(cHasil1, 8), "0", 8) End Jika Delay nDelay Else {Penjumlahan Segera} cOp1 = GetIsiReg(.Reg1) cOp2 = Hex2Biner(.Reg2)

Jika Karakter terakhir dari .Reg1 = "X" Maka cOp2 = FormatS(cOp2, "0", 16)

Else

cOp2 = FormatS(cOp2, "0", 8) End Jika

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 End Jika cHasil1 = Dec2Biner(Val(cHasil1)) 'Cek Panjang

Jika Karakter terakhir dari .Reg1 = "X" Maka Jika Len(cHasil1) < 16 Maka

cHasil1 = FormatS(cHasil1, "0", 16) End Jika

cHasil3 = FormatS(Right(cHasil1, 16), "0", 16) Else

Jika Len(cHasil1) < 8 Maka cHasil1 = FormatS(cHasil1, "0", 8) End Jika

(8)

End Jika

Delay nDelay End Jika

{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 Jika Karakter terakhir dari .Reg1 = "X" Maka TRegister.Col = cBaris.Kolom + 1 TRegister.CellBackColor = &H66CCFF End Jika

Delay nDelay

{Tampilkan isi register pada tabel} cHasil2 = cHasil1

Jika Karakter terakhir dari .Reg1 = "X" Maka

'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) End Jika 'AX TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ 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) End Jika

(9)

TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ 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)

TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ BagiString(cHasil2, 4)

Jika tidak, jika Len(cHasil2) > 8 Maka

TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ 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) End Jika End Jika Delay nDelay {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 End Jika '--- '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

(10)

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)

End Jika

Jika nHasil1 >= 2 Maka cCarry = "1" Else cCarry = "0" End Jika Next nTemp cHasil2 = cCarry Delay nDelay

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)

End Jika

Jika nHasil1 >= 2 Maka cCarry = "1" Else cCarry = "0" End Jika Next nTemp cHasil2 = cCarry

Jika tidak, jika Karakter terakhir dari .Reg1 = "L" Maka cHasil2 = cCarry

End Jika

Jika Karakter terakhir dari .Reg1 <> "H" Maka Call UbahFlag(3, 1, cHasil2)

(11)

{Cek perubahan flag S}

nHasil1 = Biner2Dec(cHasil3) cHasil2 = IIf(nHasil1 >= 0, "0", "1") Call UbahFlag(4, 1, cHasil2)

{Cek perubahan flag P}

Jika Karakter terakhir dari .Reg1 = "X" Maka 'AX, BX cHasil3 = Right(cHasil1, 16) Else 'AL, BL cHasil3 = Right(cHasil1, 8) End Jika nHasil2 = GetNHuruf(cHasil3, "1") Jika (nHasil2 Mod 2) = 0 Maka 'Jumlah Bit 1 - Genap cHasil2 = "1"

Else

'Jumlah Bit 1 - Ganjil cHasil2 = "0" End Jika

Call UbahFlag(5, 1, cHasil2)

{Cek perubahan flag O}

Jika Karakter terakhir dari .Reg1 = "X" Maka 'AX, BX

Jika Len(cHasil1) > 16 And _

Val(Left(cHasil1, Len(cHasil1) - 16)) > 0 Maka 'Overflow cHasil2 = "1" Else 'Not Overflow cHasil2 = "0" End Jika Else 'AL, BL

Jika Len(cHasil1) > 8 And _

Val(Left(cHasil1, Len(cHasil1) - 8)) > 0 Maka 'Overflow cHasil2 = "1" Else 'Not Overflow cHasil2 = "0" End Jika

(12)

End Jika

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 End Jika

cHasil1 = Dec2Biner(Val(cHasil1)) {Cek Panjang Bit}

Jika Karakter terakhir dari .Reg1 = "X" Maka Jika Len(cHasil1) < 16 Maka

cHasil1 = FormatS(cHasil1, "0", 16) End Jika

cHasil3 = FormatS(Right(cHasil1, 16), "0", 16) Else

Jika Len(cHasil1) < 8 Maka

cHasil1 = FormatS(cHasil1, "0", 8) End Jika cHasil3 = FormatS(Right(cHasil1, 8), "0", 8) End Jika Delay nDelay

{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 Jika Karakter terakhir dari .Reg1 = "X" Maka TRegister.Col = cBaris.Kolom + 1 TRegister.CellBackColor = &H66CCFF End Jika

(13)

{Tampilkan isi register pada tabel} cHasil2 = cHasil1

Jika Karakter terakhir dari .Reg1 = "X" Maka

'Cek Panjang = 16

Jika Len(cHasil2) < 16 Maka

cHasil2 = FormatS(cHasil2, "0", 16) Jika tidak, jika Len(cHasil2) > 16 Maka cHasil2 = Right(cHasil2, 16) End Jika 'AX TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ 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) End Jika

TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ 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)

TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ BagiString(cHasil2, 4)

Jika tidak, jika Len(cHasil2) > 8 Maka

TRegister.TextMatrix(cBaris.Baris, cBaris.Kolom) = _ BagiString(Right(cHasil2, 8), 4)

'Untuk kelebihan bit

cHasil2 = FormatS(Dec2Biner(Format(Biner2Dec(TRegister. TextMatrix(cBaris.Baris, 1)) + _

(14)

TRegister.TextMatrix(cBaris.Baris,1) = BagiString(cHasil2,4) End Jika End Jika 'Delay Delay nDelay {Hapus Warna} TRegister.Row = cBaris.Baris TRegister.Col = cBaris.Kolom TRegister.CellBackColor = &HFFFFFF Jika Karakter terakhir dari .Reg1 = "X" Maka TRegister.Col = cBaris.Kolom + 1 TRegister.CellBackColor = &HFFFFFF End Jika

{Cek perubahan flag Z}

nHasil1 = Biner2Dec(cHasil3) cHasil2 = IIf(nHasil1 = 0, "1", "0") Delay nDelay

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 End Jika

Jika nHasil1 >= 2 Maka cCarry = "1" Else cCarry = "0" End Jika Next nTemp cHasil2 = cCarry

Call UbahFlag(2, 1, cHasil2) {Cek perubahan flag A} 'Loop dari belakang

(15)

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 End Jika

Jika nHasil1 >= 2 Maka cCarry = "1" Else cCarry = "0" End Jika Next nTemp cHasil2 = cCarry

Jika tidak, jika Karakter terakhir dari .Reg1 = "L" Maka cHasil2 = cCarry

End Jika

Jika Karakter terakhir dari .Reg1 <> "H" Maka Delay nDelay

Call UbahFlag(3, 1, cHasil2) End Jika

{Cek perubahan flag S}

nHasil1 = Biner2Dec(cHasil3) cHasil2 = IIf(nHasil1 >= 0, "0", "1") Delay nDelay

Call UbahFlag(4, 1, cHasil2) {Cek perubahan flag P}

Jika Karakter terakhir dari .Reg1 = "X" Maka 'AX, BX cHasil3 = Right(cHasil1, 16) Else 'AL, BL cHasil3 = Right(cHasil1, 8) End Jika nHasil2 = GetNHuruf(cHasil3, "1") Jika (nHasil2 Mod 2) = 0 Maka 'Jumlah Bit 1 - Genap cHasil2 = "1"

Else

'Jumlah Bit 1 - Ganjil cHasil2 = "0"

(16)

End Jika Delay nDelay

Call UbahFlag(5, 1, cHasil2)

{Cek perubahan flag O}

Jika Karakter terakhir dari .Reg1 = "X" Maka 'AX, BX

Jika Len(cHasil1) > 16 And _

Val(Left(cHasil1, Len(cHasil1) - 16)) > 0 Maka 'Overflow cHasil2 = "1" Else 'Not Overflow cHasil2 = "0" End Jika Else 'AL, BL

Jika Len(cHasil1) > 8 And _

Val(Left(cHasil1, Len(cHasil1) - 8)) > 0 Maka 'Overflow cHasil2 = "1" Else 'Not Overflow cHasil2 = "0" End Jika End Jika

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.

(17)

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.

Referensi

Dokumen terkait

Jumlah Première Points harus tetap sama, kecuali seperti yang dirinci di atas dan kecuali karena variasi kecil sebagai akibat dari tahun loncatan dan jumlah akhir pekan

motorik kasar anak yaitu anak mampu menyesuaikan antara gerak dengan irama musik. Ekstra tari didampingi serta dilatih oleh mahasiswa PPL. Tari yang dilatih yaitu

Penelitian ini tentang metode pembelajaran Pendidikan Agama Islam anak berkebutuhan khusus di SMK Negeri 8 Surakarta yang bertujuan untuk menjelaskan metode

Bahan yang digunakan dalam penelitian ini terdiri atas: (1) surat masuk yaitu surat yang pada umumnya datang dari Fakultas, kemudian diserahkan di Jurusan untuk ditindaklanjuti

Vihreä kasvu -diskurssissa taas talouskasvu ei ollut itseisarvoinen päämäärä, mutta sitä pidettiin välttämättömänä hy- vinvointivaltion rahoittamiseksi.. Vihreässä

Penyusunan RPP dilaksanakan setelah kegiatan assesmen. Mahasiswa menyusun rencana pembelajaran untuk kelas yang akan dilakukan untuk praktik mengajar. Kegiatan awal

Salah satu model konseling karir yaitu Career Development Resource Centre (CDRC).Program Career Development Resource Centre (CDRC) merupakan progam dalam konseling

Perusahaan dengan pengendalian internal yang lebih baik dalam bentuk keberadaan fungsi audit internal dan manajemen risiko akan mengurangi monitoring eksternal dari