Minggu, 09 Oktober 2011

Ujian Tengah Semester Bahasa Rakitan (Praktik) STMIK WUP 2011

Soal Nomor 1
Menampilkan huruf M-A dengan warna teks MERAH dan backgorund HITAM
Coding Program:
========================================================
.model small
.code
org 100h
   
mulai:
    mov ah,09h
    mov bl,00000100b
    mov cx, 13
    ulang:
    int 10h
    inc bl
           
    mov ah, 02h
    mov dl,'M'
    mov cx, 13
    lagi:
    inc bl
    int 21h
    dec dl
    loop lagi
    int 20h
end mulai

========================================================
Hasil Output Program:










Soal Nomor 2
Program looping jika menemukan huruf "D" pada kalimat "STMIK WIDYA UTAMA" maka akan mencetak huruf "D"
Flowchart Program
Coding Program:
======================================================== 
.model small
.code
org 100h
mulai:
    vkal db 'STMIK WIDYA UTAMA$'
ulang:
    mov DL, vkal[8]
    mov ah,02h
    int 21h
    int 20h
    mov ax,bx
    cmp ax,11
    je exit
    inc bx
    jmp ulang
    exit:
    int 20h

end mulai

========================================================
Hasil Output Program:
 

Ujian Tengah Semester Bahasa Rakitan (Teori) STMIK WUP 2011

1. Tahapan yang dilakukan dalam mendevelop sebuah program dengan bahasa Assembly sebagai berikut : 
  • Menentukan tujuan pembuatan program
  • Menyusun coding sesuai dengan tujuan yang telah didtetapkan pada Notepad dengan file berekstensi 'ASM" 
  • Kemudian jalankan program Assembly menggunakan DOS
  • File yg berkestensi 'ASM' tadi di compile menjadi file yang berekstensi 'OBJ' dengan perintah 'tasm nama file'.
  • Lihat hasil compile apakah terdapat error coding, jika terdapat error coding perbaiki file yang berekstensi 'ASM' tadi pada Notepad. Ulangi langkah k-4
  • Jika sudah tidak ada error coding selanjutnya compile file 'OBJ' menjadi file berkestensi 'COM' dengan perintah 'tlink/t'
  • Uji program tersebut dengan cara memanggil nama file tersebut apakah sudah sesuai dengan tujuan pembuatan program
2. Perbedaan melakukan linking sebuah file 'OBJ' menggunakan parameter /t dan tanpa /t
/t untuk mendeklarasikan urutan eksekusi compile program
Tanpa /t maka terjadi penumpukan data (stack) yaitu tidak bisa menentukan urutan/prioritas eksekusi compile program (program bingung)

3. Contoh coding program pengulangan
====================================================
.model small
.code
org 100h
mulai:
    mov ah,02h
    mov dl,'A'
    mov cx,4
    lagi:
    int 21h
    inc dl
    loop lagi
    int 20h
end mulai

Output programnya : A B C D
====================================================

4. Analisis coding program
====================================================
.model small
.code
org 100h
mulai:
    mov ah,02h
    mov dl,'B'
    mov cx,8
    lagi:
    int 21h
    inc al
    inc cx
    loop lagi
    int 20h
====================================================
Dari analisis coding ditemukan kesalahan dan kekurangan yaitu:

  • Analisis coding terdapat pada 'inc cx' yang seharusnya 'inc al','inc dl' atau tidak ada 'inc cx'. Karena 'cx' berfungsi untuk menentukan jumlah perulangan. 
  • Coding program kurang perintah mengakhiri yaitu 'end mulai'.
Hasil perbaikan coding :
  • Jika 'inc cx' diganti dengan 'inc al' hasilnya mencetak huruf 'B' sebanyak 8 kali. Dengan demikian fungsi 'inc al' tidak ada fungsinya karena salah pengalamatan yang seharusnya pengalamtanya ke 'inc dl' 
  • Jika 'inc cx' diganti dengan inc dl hasilnya 'B C D E F G H I' yang artinya looping sebanyak 8 kali dan penambahan 1 (satu) kode ASCII
Lukman Alfasiry © 2008. Design by :vio Templates Sponsored by: gold bola