Final Fantasy 7 Cloud Strife
Powered By Blogger

Jumat, 18 November 2011

JAWABAN SOAL UJIAN AKHIR SEMESTER (PRAKTIKUM)

SOAL UJIAN AKHIR SEMESTER (PRAKTIKUM)
NIM                 : SIA201034
Nama               : Marsun
Mata Kuliah      : Pemrograman Bahasa Rakitan
SKS                 : 2
Program Studi    : S1 Teknik Informatika
Hari, Tanggal      : Minggu, 13 November 2011
Dosen                : Nahar Mardiyantoro, M.Kom
=============================================================================
1. Tuliskan menggunakan bahasa rakitan.

untuk lihat codingnya sebagai beriktu :

.model small
 .code
 org 100h

 Mulai:
 jmp proses
 kal db 13,10,'Masukkan Password : $'
 kal2 db 10,'Welcome.....!!!$'
 kal3 db 10,'no access...$'

  proses1 :
 mov ah, 09h
 lea dx, kal3
 int 21h

 proses :
 mov ah, 09h
 lea dx, kal
 int 21h
 mov ah, 07h
 int 21h
 cmp al, 'F'
 je pilihan1
 jne proses1
 int 20h

 pilihan1:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 07h
 int 21h
 cmp al, 'I'
 je pilihan2
 jne proses1

 pilihan2:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 07h
 int 21h
 cmp al, 'X'
 je pilihan3
 jne proses1

 pilihan3:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 07h
 int 21h

 je pilihan4
 jne proses1

 pilihan4:
 mov ah, 02h
 mov dl, 'X'
 int 21h
 mov ah, 09h
 lea dx, kal2
 int 21h

 int 20h
 end Mulai



Hasilnya sebagai berikut dalam bentuk gambar

Kamis, 17 November 2011

JAWABAN SOAL UJIAN AKHIR SEMESTER (TEORI)

SOAL UJIAN AKHIR SEMESTER (TEORI)
NIM                : SIA201034
Nama              : Marsun
Mata Kuliah    : Pemrograman Bahasa Rakitan
SKS               : 2
Program Studi : S1 Teknik Informatika
Hari, Tanggal   : Minggu, 13 November 2011
Dosen             : Nahar Mardiyantoro, M.Kom
============================================================================

1. Berikan pemahaman atau analogi atas No Service dan No Interupsi !
No Interupsi adalah suatu permintaan khusus kepada mikroposesor untuk melakukan sesuatu. Bila terjadi interupsi, maka komputer akan menghentikan dahulu apa yang sedang dikerjakannya dan melakukan apa yang diminta oleh yang menginterupsi.
Pada IBM PC dan kompatibelnya disediakan 256 buah interupsi yang diberi nomor 0 sampai 255. Nomor interupsi 0 sampai 1Fh disediakan oleh ROM BIOS, yaitu suatu IC didalam komputer yang mengatur operasi dasar komputer. Jadi bila terjadi interupsi dengan nomor 0-1Fh, maka secara default komputer akan beralih menuju ROM BIOS dan melaksanakan program yang terdapat disana. Program yang melayani suatu interupsi dinamakan Interrupt Handler.
No Service :
Merupakan nomor layanan pasangan dari nomor interupt sehingga menghasilkan action tertentu. Apabila nomor service diubah dan nomor interupt tetap hasil action berbeda.

2. Dalam menerima input karakter dari keyboard, anda dapat menggunakan beberapa no service. Sebutkan no service tersebut dan berikan pembeda dari masing-masing no service itu !
Interrupt 21h Service 01h
NO. INTERRUPT    = 21h
NO. SERVICE        = 01h
FUNCTION        = Input 1 Karakter (Keyboard Input)
Mengambil Input Dari Keyboard (Standard Input Device), lalu menampilkan karakter ke layar (Standard Output Device) dan menyimpan karakter tersebut di AL. Penekanan tombol Ctrl-Break akan dicek. Jika tombol tersebut ditekan, interupt 23h akan dieksekusi.
INPUT     :                               
    AH    = 01H                   
OUTPUT     :   
    AL    = Kode ASCII Hasil Input Tercetak di layar

Interrupt 21h Service 07h
NO. INTERRUPT    = 21h
NO. SERVICE        = 07h
FUNCTION        = Input 1 Karakter Tanpa Echo Tidak Mengecek Ctrl-C (Direct Console Input Without Echo). Menunggu hingga sebuah karakter diketikkan dari standard input device dan menyimpannya ke register AL. Service ini sangat mirip dengan service 01h, hanya saja pada service ini karakter tak ditampilkan ke layar. Service ini tidak mengecek Ctrl-C atau Ctrl-Break. Service ini sering dipakai untuk pemasukan password karena tak menampilkan karakter yang diketikkan.
INPUT     :                               
    AH    = 07H                       
OUTPUT     :   
    AL    = Kode ASCII Yang Ditekan
Interrupt 21h Service 08h
NO. INTERRUPT    = 21h
NO. SERVICE        = 08h
FUNCTION        = Input 1 Karakter Tanpa Echo Mengecek Ctrl-C (Console Input Without Echo With ^C). Menunggu hingga sebuah karakter diketikkan dari standard input device dan menyimpannya ke AL. Service ini juga tidak menampilkan karakter yang diketikkan ke layar monitor tapi mencek Ctrl-C atau Ctrl-Break. Jika tombol tersebut ditekan, INT 23h akan dieksekusi.
INPUT     :                               
    AH    = 08H                       
OUTPUT     :   
    AL    = Kode ASCII Yang Ditekan

3.    Kode lengkap menampilkan karakter yang diinputkan keyboard:
==========================================================
.model small
.code
org 100h
mulai:
    mov ah, 07h
    int 21h

    mov ah, 02h
    mov dl, al
    int 21h

    int 20h
end mulai
==========================================================
4.    Membatasi scoupe pencarian dan penduplikatan, menjalankan routine pada saat komputer sedang mengalami idle (stand by)
5.   Berikan pendapat anda tentang performance pembuatan virus menggunakan bahasa assembly dibandingkan dengan bahasa pemrograman level tinggi.
Performance pembuatan virus dengan Assembly dibandingkan dengan bahasa tingkat tinggi yaitu :
Bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan secara penuh kapabilitas yang terdapat atas suatu perangkat keras, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras. Bahasa rakitan menjanjikan tingkat unjuk kerja yang maksimum karena sifatnya yang menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang biasanya menerjemahkan sebuah instruksi menjadi sejumlah kode mesin.

Senin, 10 Oktober 2011

SOAL DAN JAWABAN UJIAN TENGAH SEMESTER PRAKTEK BHS RAKITAN

  NAMA         : MARSUN
  NIM             : SIA201034


1. Bangunlah sebuah sowftware dengan bahasa assembly yang dapat menampilkan karakter beratribut M-A dengan foreground merah background hitam.
   Untuk format Script/Codinya yaitu sebagai berikut :
.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


Atau bisa di lihat hasilnya sebagai beriktu dalam gambar.





2. Bangunlah sebuah software dengan bahasa assembly yang dapat menampilkan kalimat, jika menemukan huruf tertentu maka pencetakan selesai. Program looping jika menemukan huruf "D" pada kalimat "STMIK WIDYA UTAMA" maka akan mencetak huruf "D"
FLOWCHATNYA 


untuk codinya adalah sebagai berikut :
 .model small
.code
org 100h
mulai:
    vkal db 'STMIK WIDYA UTAMA$'
ulang:
    mov DL, vkal[12]
    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 dari pengcodingan yang sudah di save dan di tampilkan hasilnya yaitu sebagai berikut :

SOAL DAN JAWABAN UJIAN TENGAH SEMESTER TEORI BHS RAKITAN

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 :
    Codingnya :
    .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

untuk jelasnya lihat hasilnya sebagai berikut:
===>>> Jika 'inc cx' diganti dengan 'inc al' hasilnya mencetak huruf 'B' sebanyak 8 kali.
 Codingnya sebagai  berikut.

 .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


                                                                                                                                              

       

Minggu, 09 Oktober 2011

TUGAS BAHASA RAKITAN TANGGAL 24 SEPTEMBER 2011

Untuk flowchatnya sebagai berikut :
Script atau coding dari perintah tabel di atas yaitu sebagai berikut.
  
.model small
.code
org 100h

mulai :

            jmp ulang
            vkal db 'my name is sadu$'
           

ulang :
           
            mov dl, vkal[bx]
            mov ah, 02h
            int 21h
            inc bx
            mov ax, bx
            cmp ax,15
            je exit
            jmp ulang


            exit : int 20h

end mulai

Dan hasil dari script tersebut adalaha sebagai berikut :




 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international calls