ii | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly
DAFTAR TABEL
iii | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly
LAPORAN PRAKTIKUM
1. Tujuan Percobaan
1) Mengetahui dan memahami syntax yang ada dalam program cetak KTP.
2) Memahami mengenai interrupt yang digunakan dengan service yang sesuai untuk
program mencetak KTP.
3) Memahami pemakaian interrupt gabungan untuk menampilkan perintah yang
sesuai dengan keinginan.
4) Mengenal dan memahami perbedaan-perbedaan register masukan dan keluaran
untuk setiap interrupt dan service yang dipakai.
2. Teori Penunjang
2.1. Interrupt dan Register
Interrupt atau sering kali disebut dengan intruksi merupakan permintaan-
perminaatan yang dikirimkan kepada processor untuk memproses dan melakukan
sesuatu. Dalam pemrograman bahasa assembler, interupsi digunakan untuk
menyelesaikan tugas atau permintaan yang dimasukan secara khusus oleh user dalam
pengeksekusian program yang diinginkan.
Pada umumnya, interrupt ini diartikan sebagai perintah-perintah yang
diperintahkan oleh user untuk selanjutnya dikirimkan ke microprocessor melalui
register-register dan diproses sehingga menghasilkan balikan nilai yang sesuai dengan
perintah-perintah yang dimasukkan oleh user.
2.2.2. .CODE
Tanda directive yang digunakan untuk memberikan pemberitahuan
mengenai code segmentnya. Code segment ini digunakan untuk menyimpan
program yang akan dijalankan.
Catatan bahwa karakter $ dijadikan tanda akhir dalam tulisan. Khusus untuk
mencetak kalimat ini, $ merupakan akhir pada kalimat yang sering diganakan untuk
mengakhiri pendefinisian dari sebuah string, sehingga kalimat tersebut akan dicetak
sampai tanda $. Karakter $ dijadikan sebagai tanda akhir pada string sehingga string
yang akan dicetak adalah string yang berada disebelum tanda $ dan selainnya yang
berada disesudah tanda $ tidak akan dicetak. Selain tanda $ yang digunakan untuk
mengakhiri kalimat, ada juga tanda 10 dan tanda 13 yang masing-masingnya digunakan
untuk pindah baris dan menuju kolom 0 kembali.
Selain karakter kontrol diatas, karakter kontrol yang tersedia pada ASCII secara
lengkap adalah sebagai berikut:
CODE NAMA
00 Nul
01 Start of heading
02 Start of text
03 End of text
04 End of transmission
05 Enquiry
06 Acknowledge
07 Bel
08 Backspace
09 Horizontal tabulation
10 Line feed
11 Vertical tabulation
12 Form feed
13 Carriage return
14 Shift out
15 Shift in
16 Data link escape
17 Device control
3. Tugas Pendahuluan
Output:
4. Listing Program
5. Analisis Program
Pada program, terdapat perintah JMP atau JUMP yang berfungsi untuk melompat
menuju tempat yang ditunjukkan oleh perintah JUMP. KTP: JMP Proses berarti KTP
melompat ke Proses dan melakukan eksekusi pada Proses. Selain perintah JMP, pada
baris program cetak KTP diatas ada yang disebut dengan DB. DB merupakan
kependekan dari define byte yang berarti mengalokasikan nilai string pada variabel yang
diinginkan. Define byte ini ditulis pada baris program, dengan:
Nama_Variabel DB Isi String, $
Pada baris-baris program diatas, define byte dialokasikan kepada variabel Nama,
TTL, Jenkel, Alamat0, Alamat1, Alamat2, Alamat3, Agama, Status, Pekerjaan,
Kewarganegaraan, dan pada variabel Berlaku yang masing-masingnya memiliki isi
string yang berbeda-beda sesuai dengan yang diinginkan. Pada baris program ke 06
sampai baris ke 17 merupakan define byte itu sendiri. Selain define byte yang berarti
mengalokasikan string pada variabel yang diinginkan, pada define byte ini kita dapat
menambahkan karakter kontrol yang memberikan manipulasi pada kursor string yang
ingin ditampilkan. Karakter kontrol yang digunakan adalah karakter kontrol 10 dan 13
yang berarti karakter kontrol 10 untuk memindahkan kuror 1 baris ke bawah dan karakter
kontrol 13 untuk memindahkan kursor ke awal baris kembali.
10 | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly
Gambar 5 Analisis Program Part 3
Program cetak KTP ini menggunakan interrupt 21h dengan service 09h untuk
mencetak kalimat. Selain interrupt 21h dengan service 09h, program cetak KTP ini
menggunakan interrupt 10h yang digunakan untuk mencetak kalimat dengan atributnya.
Register yang digunakan adalah:
11 | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly
AH = service 09h
CX = banyaknya karakter dalam kalimat
BX = atributnya dengan:
BH = diisi oleh warna background untuk string.
BL = diisi oleh warna string.
DX = posisi string yang akan dicetak
12 | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly
7) Baris program 56 sampai 60 adalah baris kode program untuk mencetak
variabel Alamat3: banyak karakter pada variabelnya adalah 35 dan atribut
yang digunakan adalah warna merah muda untuk warna dasarnya; warna
kuning untuk karakternya.
8) Program ke 62 sampai 66 adalah baris program untuk mencetak kalimat pada
variabel Agama: karakternya sebanyak 30 karakter; warna atribut untuk
warna dasarnya adalah merah muda dan warna karakternya adalah biru
muda.
9) Baris program ke 68 sampai 72 adalah kode program untuk mencetak string
pada variabel Status: warna dasar yang digunakan adalah warna merah muda
dengan warna karakternya adalah hijau tua. Banya karakternya adalah 36.
10) Baris program ke 74 sampai 78 merupakan kode-kode program untuk
mencetak kalimat pada variabel Pekerjaan: warna atribut yang digunakan
adalah warna merah muda untuk warna dasar dan warna biru tua terang untuk
warna karakternya. Sedangkan jumlah karakternya adalah 34 karakter.
11) Pada baris program ke 80 sampai 84 adalah kode program untuk mencetak
kalimat pada variabel Kewarganegaraan: jumlah karakternya ada 28 karakter
dengan atributnya adalah merah muda pada warna dasar dan warna merah
merah bata untuk karakternya.
12) Baris program ke 86 sampai 90 merupakan baris program untuk mencetak
kalimat pada variabel Berlaku: dengan jumlah karakternya adalah 39 karakter
dengan warna atributnya adalah warna merah muda untuk warna dasarnya
dan warna karakternya adalah warna hijau.
Pada baris program diatas, int 20h digunakan untuk megakhiri program dan
mengembalikan kerja kepada DOS. Pada program ke 93 END KTP adalah untuk
mengakhiri kerja program pada KTP.
13 | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly
6. Kesimpulan
Pada program cetak KTP ini, digunakan interrupt 21h dengan service 09h yang
berfungsi untuk mencetak string dan digunakan interrupt 10h sebagai interrupt yang
digunakan untuk mencetak kalimat dengan atributnya. Registeri yang digunakan adalah
AH, CX, BX, dan DX. Selain interrupt yang digunakan, digunakan juga tanda directive
.MODEL SMALL, .CODE dan .ORG 100h yang masing-masingnya digunakan untuk
mengalokasikan program ke segment dan offset.
Pada program cetak KTP ini juga digunakan perintah-perintah khusus seperti
JMP dan INT 20h yang digunakan untuk meloncati proses ke proses lainnya dan
menghentikan perintah. Program cetak KTP menggunakan DB (Define Byte) untuk
mengalokasikan nilai string pada sebuah variabel yang diinginkan dengan karakter
kontrol 13 dan 10 untuk memindahkan 1 kursor ke bawah dan mengembalikan ke baris
awal.
7. Daftar Pustaka
1) Suheri, Asep. 2012. MODUL PRAKTIKUM ORGANISASI KOMPUTER &
BAHASA ASSEMBLY. [Bogor]: Program Diploma Institut Pertanian Bogor [IPB].
2) Susanto. 1995. Pemrograman dengan Bahasa Assembly. Elex Media
Komputindo.
14 | L a p o r a n P r a k t i k u m O r g a n i s a s i K o m p u t e r & B a h a s a
Assembly