Anda di halaman 1dari 10

LAPORAN PRAKTIKUM

PENGANTAR ORGANISASI KOMPUTER


MACRO & PROCEDURE

Kelas
Nama
NIM

: TEK A P2
: Aditia Darmadi J.
: J3D112067

PROGRAM KEAHLIAN TEKNIK KOMPUTER


DIREKTORAT PROGRAM DIPLOMA
INSTITUT PERTANIAN BOGOR
2013

A. Tujuan Percobaan
Tujuan dari praktikum kali ini adalah diharapkan mahasiswa mampu serta
memahami bagaimana cara membuat program dalam bahasa assembly
menggunakan procedure sehingga lebih memudahkan dalam pembuatan program
tersebut.

B. Teori Penunjang
Untuk membuat procedure bisa digunakan bentuk seperti pada gambar 1.

Gambar 1. Model Procedure


"NamaP" adalah nama dari procedure yang kita definisikan sendiri, untuk
memudahkan nama untuk procedure bisa anda definisikan sesuai dengan fungsi
dari procedure tersebut, seperti CLS untuk procedure yang tugasnya menghapus
layar. Dibelakang kata "PROC" harus dipilih bentuk dari procedure tersebut, yaitu
"NEAR" atau "FAR". Bentuk "NEAR" digunakan jika procedure tersebut
nantinya dipanggil oleh program yang letaknya masih satu segment dari
procedure tersebut. Pada program COM yang terdiri atas satu segment akan selalu
menggunakan bentuk "NEAR". Sebaliknya bentuk "FAR" ini digunakan bila
procedure dapat dipanggil dari segment lain. Bentuk ini akan kita gunakan pada
program EXE.
Perintah "RET(Return)" digunakan untuk mengembalikan Kontrol
program pada sipemanggil procedure. Pada bentuk NEAR perintah RET ini akan
memPOP atau mengambil register IP dari stack sebagai alamat loncatan menuju
program pemanggil procedure. Sedangkan pada bentuk "FAR" perintah RET akan
mengambil register IP dan CS dari stack sebagai alamat loncatan menuju program
pemanggil procedure. Alamat kembali untuk procedure disimpan pada stack pada
saat procedure tersebut dipanggil dengan perintah "CALL", dengan syntax:
Program Keahlian Teknik Komputer Halaman 1

CALL NamaP
Perintah Call ini akan menyimpan register IP saja bila procedure yang
dipanggil berbentuk "NEAR". Bila procedure yang dipanggil berbentuk "FAR",
maka perintah "CALL" akan menyimpan register CS dan IP.

C. Menggunakan Procedure
Sebagai contoh dari pemakaian procedure akan kita dilihat pada program
yang mencetak karkter dengan procedure

Bila program diatas dijalankan maka akan ditampilkan


pada layar:
TEKNIK KOMPUTER IPB KEREN..
Pada procedure yang telah dibuat tidak bisa menggunakan parameter,
inilah salah satu kelemahan dari procedure yang sangat berarti. Untuk
menggunakan parameter anda harus menggunakan MACROS.

Program Keahlian Teknik Komputer Halaman 2

MACRO
D. Tujuan Percobaan
Tujuan dari praktikum kali ini adalah diharapkan mahasiswa mampu serta
memahami bagaimana cara membuat program dalam bahasa assembly
menggunakan macro sehingga lebih memudahkan dalam pembuatan program
tersebut.

E. Teori Penunjang
Untuk membuat Macro bisa digunakan bentuk seperti pada gambar 2.

Gambar 2. Model Macro


"P1" dan "P2" adalah parameter yang bisa anda gunakan pada macro.
Parameter ini berbentuk optional, artinya bisa digunakan ataupun tidak.
1. Label Pada Macro
Pada macro dapat digunakan label seperti biasa, tetapi anda harus ingat
juga karena setiap pemanggilan Macro akan menyebabkan seluruh isi macro
tersebut disisipkan pada program, maka pada macro yang didalamnya
menggunakan label hanya dapat dipanggil sebanyak satu kali.
Sebaliknya bila menggunakanya lebih dari satu kali maka akan terjadi
"**Error** Symbol already defined elsewhere: ULANG" karena dianggap
program menggunakan label yang sama.
Untuk menghindari hal tersebut, gunakanlah directiveLOCAL. Dengan
directive LOCAL assembler akan membedakan label tersebut setiap kali terjadi
pemanggilan terhadapnya.
2. Pustaka Macro
Bila kita sering menggunakan suatu fungsi seperti mencetak kalimat pada
setiap program yang kita buat, tentu saja akan sangat membosankan karena setiap
Program Keahlian Teknik Komputer Halaman 3

kali kita harus membuat fungsi yang sama. Dengan macro dapat dihindari hal
tersebut dengan membuat suatu pustaka macro. Pustaka tersebut bisa disimpan
dengan suatu nama, misalnya 'pustaka.mcr'. File yang tersimpan adalah dalam
bentuk ASCII, tanpa perlu di compile.
3. Macro atau Procedure ?
Jika fungsi tersebut jarang dipanggil, gunakanlah MACRO karena macro
tidak memperlambat proses.
Jika fungsi tersebut sering dipanggil, gunakanlah PROCEDURE karena
procedure tidak memperbesar program.
Jika fungsi tersebut kecil, gunakanlah MACRO. Karena pengaruh
terhadap besarnya program hanya sedikit dan program akan lebih cepat.
Jika fungsi tersebut besar, gunakanlah PROCEDURE. Karena procedure
tidak memperbesar program.

F. Listing Program

Program Keahlian Teknik Komputer Halaman 4

Program Keahlian Teknik Komputer Halaman 5

G. Analisa Program
1. Analisa program menggunakan pustaka macro.
Program-program yang telah dibuat sebelumnya disimpan dalam sebuah
file bernama pustaka.mcr. Kemudian pada program utama dapat kita
tambahkan dengan baris perintah INCLUDE pustaka.mcr untuk menggunakan
file pustaka.mcr yang telah kita buat.
Untuk mencetak kalimat mula-mula kita mendefinisikan variabel Kal0
yang bertipe data byte. Kemudian pada label Proses, dengan mudahnya kita
dapat memanggil macro yang telah kita buat di file pustaka.mcr, yaitu pada
baris perintah Cetak_Klm Kal0 untuk mencetak kalimat pada varibel Kal0 dan
baris perintah Cetak_Kar Y untuk menampilakan karakter Y pada layar.
Tampak pada layar bila program tersebut dijalankan pada emu8086 :

Begitu juga dengan macro saat membuat pertanyaan + jawabannya cara


yang digunakan sama seperti membuat pustaka macro, perbedaannya terletak pada
Kal0 yang dirubah menjadi Soal1 dengan Jawab1 (terdapat pertanyaan dengan
jawaban pada program yang saya buat). Ditambahkan buffer untuk mencetak
nilainya. Pada program tersebut juga terdapat perintah LEA yang merupakan
perintah untuk mendapatkan alamat dari sebuah variabel dan juga menggunakan
perintah JNE (jump if not equal) yaitu lompat, jika Operand1 tidak sama dengan
Operand2 maka akan lompat. Jika pada program kita mengisi semua soal dengan
benar maka akan ditampilkan hasil sebagai berikut:

Program Keahlian Teknik Komputer Halaman 6

Lanjutan program diatas

Maka akan mendapat nilai 50 (Nilai tertinggi tanpa ada jawaban yang
salah)
Dan jika pada program terdapat kesalahan dalam menjawab, maka
ditampilkan sebagai berikut:

Program Keahlian Teknik Komputer Halaman 7

Lanjutan program diatas:

Maka akan mendapatkan nilai 30 (dengan 2 jawaban yang salah)

H.Kesimpulan

Kesimpulan pada praktikum kali ini adalah :


Penggunaan macro memudahkan untuk membuat program, karena
program dapat lebih mudah dianalisa bila mengalami kesalahan, serta baris
program juga dapat dipersingkat.

Program Keahlian Teknik Komputer Halaman 8

Daftar Pustaka
Suheri, Asep, ST.,MT. Penuntun Praktikum Pengantar Organisas Komputer.
Direktorat Program Diploma IPB. Bogor. 2012

Program Keahlian Teknik Komputer Halaman 9