Saturday 4 July 2015


Program Assembler Konversi Mata Uang Asing ke Dalam Rupiah

 Assalamuallaikum, nongol lagi ni setelah sekian lama gak pernah muncul hehehe... Kali ini saya akan sedikit berbagi ilmu tentang pemrograman Assembler. Dari penjelasan yang diberikan Pak Dosen, katanya pemrograman Assembler si digunakan untuk merancang robot alias Micro Controller atau disebut juga pemrograman mesin. Tapi kali ini yang kita bahas adalah program Assembler untuk membuat Konversi Mata Uang Asing ke Rupiah. Untuk membuat program ini kita memerlukan sebuah software sebagai media perancangan dan juga untuk eksekusi programnya, yaitu emu8086.inc. Program emu8086.inc bisa kalian download secara gratis di link berikut emu8086.inc download. Kemudian install software emu8086.inc yang telah kalian download dan jalankan. Berikut ini tampilan emu8086.inc ketika di jalankan :



Pilih menu new untuk membuka lembar kerja baru.
Pilih empty workspace kemudian pilih OK, maka akan muncul lembar kerja yang masih kosong.
Kemudian Tulislah Script di bawah ini ke lembar kerja kalian. (Budayakan Baca Tulis) ya..


include 'emu8086.inc'  ;memuat prosedur makro emu8086.inc

.model large      ;tipe memori yang di gunakan
.code             ;menyimpan program yang akan dijalankan
org 100h          ;menempatkan program pada offset 100h (255) byte

start: jmp mulai  ;melompat menuju mulai
kurs0   db 13,10,"Konversi mata uang asing ke Rupiah",13,10,
        db "Kurs Rupiah terhadap Dollar adalah Rp. 13.000 per 1 Dollar",13,10,
        db "Kurs Rupiah terhadap Euro adalah Rp. 11.000 per 1 Euro",13,10,'$'
kurs1   db 13,10,"1. Konversi Mata Uang Dollar ke Rupiah",13,10,'$'
kurs2   db "2. Konversi Mata Uang Euro ke Rupiah",13,10,'$'
kurs3   db "3. Keluar",13,10,'$'
kurs5   db "Silahkan masukkan pilihan anda : $"

kurs6   db 13,10,13,10,"masukkan nilai kurs Dollar:$"
kurs7   db 13,10,13,10,"masukkan nilai kurs Euro:$"
kurs8   db "Nilai kurs dalam rupiah: $"
kurs12  db ".000 $"
kurs9   db 13,10,13,10,"terima kasih telah menggunakan program ini..."
kurs10  db " $"
kurs11  db 13,10,"Kembali ke Menu awal $"
dol     dw ?
eu      dw ?
rup     dw ?

mulai:
mov ah,09h      ;memuat alamat kurs0 pada register dx
lea dx,kurs0    ;mencetak string kurs0
int 21h         ;menampilkan ke screen
mov ah,09h      ;memuat alamat kurs1 pada register dx
lea dx,kurs1    ;mencetak string kurs1
int 21h         ;menampilkan ke screen
mov ah,09h      ;memuat alamat kurs2 pada register dx
lea dx,kurs2    ;mencetak string kurs2
int 21h         ;menampilkan ke screen
mov ah,09h      ;memuat alamat kurs3 pada register dx
lea dx,kurs3    ;mencetak string kurs3
int 21h         ;menampilkan ke screen
mov ah,09h      ;memuat alamat kurs5 pada register dx
lea dx,kurs5    ;mencetak string kurs5
int 21h         ;menampilkan ke screen

mov ah,01h      ;memuat input keyboard pada register bl
int 21h         ;menampilkan ke screen
mov bl,al
cmp bl,'1'      ;untuk membandingkan operand satu dengan operand lainnya
je  dollar      ;lompat ke bagian dollar bila reg bl = 1
cmp bl,'2'      ;untuk membandingkan operand satu dengan operand lainnya
je  euro        ;lompat ke bagian euro bila reg bl = 2
cmp bl,'3'      ;untuk membandingkan operand satu dengan operand lainnya
je  selsai      ;lompat ke bagian selsai bila reg bl = 3
jmp ulang       ;lompat ke bagian ulang tanpa syarat

dollar:
mov ah,09h      ;memuat alamat kurs6 pada register dx
lea dx,kurs6    ;mencetak string kurs6
int 21h         ;menampilkan ke screen

call scan_num   ;memanggil prosedur scan_num

mov dol,cx      ;menyimpan nilai kurs6 ke variabel dol dan di tempatkan di register cx

putc 13         ;berganti baris
putc 10

mov ah,09h      ;memuat alamat kurs8 pada register dx
lea dx,kurs8    ;mencetak string kurs8
int 21h         ;menampilkan ke screen

mov ax,dol      ;memanggil variabel dol dan di konversi ke rupiah
mov bx,13       ;mengisi bx dengan angka 13 (input*13)
imul bx         ;mengalikan bx

mov rup,ax      ;menyimpan hasil konversi ke variabel rup

call print_num  ;memanggil prosedur print_num

mov ah,09h      ;memuat alamat kurs12 pada register dx
lea dx,kurs12   ;mencetak string kurs12
int 21h         ;menampilkan ke screen

mov ah,09h      ;memuat alamat kurs9 pada register dx
lea dx,kurs9    ;mencetak string kurs9
int 21h         ;menampilkan ke screen

putc 13         ;berganti baris
putc 10

mov ah,09h      ;memuat alamat kurs10 pada register dx
lea dx,kurs10   ;mencetak string kurs10
jmp ulang       ;menampilkan ke screen

euro:
mov ah,09h      ;memuat alamat kurs7 pada register dx
lea dx,kurs7    ;mencetak string kurs7
int 21h         ;menampilkan ke screen

call scan_num   ;memanggil prosedur scan_num

mov eu,cx       ;menyimpan nilai kurs7 ke variabel eu dan di tempatkan di register cx

putc 13         ;berganti baris
putc 10

mov ah,09h      ;memuat alamat kurs8 pada register dx
lea dx,kurs8    ;mencetak string kurs8
int 21h         ;menampilkan ke screen

mov ax,eu       ;memanggil variabel eu dan di konversi ke rupiah
mov bx,11       ;mengisi bx dengan angka 11 (input*11)
imul bx         ;mengalikan bx

mov rup,ax      ;menyimpan hasil konversi ke variabel rup

call print_num  ;memanggil prosedur print_num

mov ah,09h      ;memuat alamat kurs12 pada register dx
lea dx,kurs12   ;mencetak string kurs12
int 21h         ;menampilkan ke screen

mov ah,09h      ;memuat alamat kurs9 pada register dx
lea dx,kurs9    ;mencetak string kurs9
int 21h         ;menampilkan ke screen

putc 13         ;berganti baris
putc 10

mov ah,09h      ;memuat alamat kurs10 pada register dx
lea dx,kurs10   ;mencetak string kurs10
jmp ulang       ;menampilkan ke screen

define_scan_num       ;mendefinisikan prosedur
define_print_num
define_print_num_uns

ulang:
mov ah,09h      ;memuat alamat kurs10 pada register dx
lea dx,kurs10   ;mencetak string kurs10
int 21h         ;menampilkan ke screen
mov ah,09h      ;memuat alamat kurs11 pada register dx
lea dx,kurs11   ;mencetak string kurs11
int 21h         ;menampilkan ke screen
loop start      ;perulangan, mulai dari awal

selsai: ret


Setelah selesai kemudian simpan dan jalankan program tersebut dengan memilih menu Emulate (lingkaran warna merah).

 Selanjutnya pilih Run ,maka program yang telah kita buat akan berjalan seperti berikut.






Sekian tutorial kali ini, semoga ilmu yang telah dibahas di atas bermanfaat bagi kita semua. Bila ada pertanyaan atau saran dari agan - agan jangan lupa tinggal komentar kalian. Sedikit saran akan memberikan banyak pelajaran...

-- Syeh Aji Ana --

3 comments :

  1. terimakasih banyak, artikel ini sangat membantu

    ReplyDelete
  2. untuk mengganti nilai dolar nya gmna ya gan

    ReplyDelete
  3. Trimakasih, sangat membantu untuk final project saya

    ReplyDelete