Jumat, 14 Oktober 2011

UJIAN TENGAH SEMESTER BHS RAKITAN (TEORI)

1.      Sebutkan dan jelaskan tahapan yang di lakukan dalam mendevelop sebuah software   menggunakan     assembly (mulai dari coding sampai dengan software di jalankan).
ð  Tahapan yang dilakukan yaitu :
  • Menentukan tujuan yang mau di kerjakan atau tujuan pembahasan pembuatan program tersebut.
  • - Menyusun Script/Coding sesuai dengan tujuan yang telah ditetapkan dan di tulis dalam  Notepad      kemudian di simpan  dengan file berekstensi "ASM".
  • Setelah dibuat kemudian di jalankan pada DOS promt apakah program yang kita buat berhasil atau tidak.
  • 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.      Apakah perbedaan yang di hasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter /t dan tanpa /t ! 
ð  Perbedaan yang di hasilkan apabila kita melakukan linking terhadap sebuah file OBJ menggunakan parameter /t maka tidak akan terjadi penumpukan data ata data bisa secara urut dan jika  Tanpa /t maka terjadi penumpukan data (stack) yaitu tidak bisa menentukan urutan/prioritas eksekusi compile program (program eror)

3.      Berikan contoh kode program yang di dalamnya berisikan perulangan !
ð  Contoh kode program yang berisikan perulangan yaitu sebagai berikut :
Coding :
.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
Atau bisa di lihat dalam gambar di bawah ini 




4.    Pada sebuah kode pemrograman dibawah ini, ada 1 register yang tidak sesuai penggunaanya. 
Koreksilah ketidasesuaian tersebut, serta tuliskan outputnya. 

.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:
1.    Analisis coding terdapat pada 'inc cx' yang seharusnya 'inc al','inc dl' atau tidak ada 'inc cx'. Karena 'cx' berfungsi untuk menentukan jumlah perulangan.
2.    Coding program kurang perintah mengakhiri yaitu 'end mulai'. 
ð  maka codinya sebagai berikut 

 .model small
.code
org 100h
mulai:
    mov ah,02h
    mov dl,'B'
    mov cx,8
    lagi:
    int 21h
    inc al
    inc dl
    loop lagi
    int 20h
end mulai

 Hasil perbaikan coding :
1.    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'.
2.    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

hasilnya sebagai berikut:

=>
Jika 'inc cx' diganti dengan 'inc al' hasilnya mencetak huruf 'B' sebanyak 8 kali.







 Coding :

 .model small
.code
org 100h
mulai:
    mov ah,02h
    mov dl,'B'
    mov cx,8
    lagi:
    int 21h
    inc al
    inc al
    loop lagi
    int 20h
end mulai




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







Codinya sebagai berikut :

.model small
.code
org 100h
mulai:
    mov ah,02h
    mov dl,'B'
    mov cx,8
    lagi:
    int 21h
    inc al
    inc dl
    loop lagi
    int 20h
end mulai

***********************selesai***********************
 

0 komentar:

Posting Komentar

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More