Makalah Studi Kasus Manajemen Produksi K

TUGAS MAKALAH

STUDI KASUS PROGRAM ASSEMBLER MENGGUNAKAN
APLIKASI EMU8086
Disusun untuk memenuhi salah satu tugas mata kuliah Organisasi dan Arsitektur
Komputer

Dosen:
EKO BUDI SETIAWAN, S.KOM., M.T.

Disusun Oleh :
IQBAL SYARIFUDIN LUTFIE
10115055

FAKULTAS TEKNIK DAN ILMU KOMPUTER
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAR KOMPUTER INDONESIA
2017

KATA PENGANTAR


Puji syukur kehadirat Tuhan Yang Maha Esa atas segala rahmat-Nya sehingga
makalah ini dapat tersusun hingga selesai . Tidak lupa penyusun juga mengucapkan
banyak terimakasih atas bantuan dari pihak yang telah berkontribusi dengan
memberikan sumbangan baik materi maupun pikirannya.
Besar harapan semoga makalah ini dapat menambah pengetahuan dan
pengalaman bagi para pembaca, Untuk ke depannya dapat memperbaiki bentuk
maupun menambah isi makalah agar menjadi lebih baik lagi.
Karena keterbatasan pengetahuan maupun pengalaman, Penyusun yakin
masih banyak kekurangan dalam makalah ini, Oleh karena itu kami sangat
mengharapkan saran dan kritik yang membangun dari pembaca demi kesempurnaan
makalah ini.

Bandung,

Januari 2017

Penyusun

i


DAFTAR ISI

Hal
KATA PENGANTAR ........................................................................................

i

DAFTAR ISI .......................................................................................................

ii

DAFTAR GAMBAR ..........................................................................................

iii

BAB I

PENDAHULUAN

1.1 Latar Belakang .....................................................................................


1

1.2 Perumusan Masalah .............................................................................

1

1.3 Manfaat ................................................................................................

2

BAB II

PEMBAHASAN

2.1 Assembly dan Eksekusi Program .........................................................

3

2.2 Studi Kasus ..........................................................................................


4

2.2.1 Menampilkan Nim dan Nama .........................................................

4

1 Source Code ................................................................................

4

2 Keterangan ..................................................................................

4

3 Tampilan Layar ..........................................................................

6

2.2.2 Penjumlahan Dua Bilangan .............................................................


6

1 Source Code ................................................................................

6

2 Keterangan ..................................................................................

8

3 Tampilan Layar ..........................................................................

12

BAB III PENUTUP
3.1 Kesimpulan ..........................................................................................

13


DAFTAR PUSTAKA .........................................................................................

iv

ii

DAFTAR GAMBAR

Hal
Gambar 2.1 Tampilan layar studi kasus : menampilkan nim dan nama ............... 6
Gambar 2.2 Tampilan layar studi kasus : menghitung dua buah bilangan dari empat
angka belakang NIM ........................................................................ 12

iii

BAB I
PENDAHULUAN

1.1


Latar Belakang
Bahasa pemrograman assembly adalah bahasa pemrograman dasar
yang pertamadikenal untuk menghubungkan programmer dengan mesin.
Sifatnya yang mendekati bahasamesin memberikan keistimewaan tersendiri,
yaitu kecepatan akses. secara umum, semakindekat bahasa pemrograman
dengan mesin, semakin tinggi pula kecepatannya. Pemrograman bahasa
assembly menawarkan kelebihan ini. Walaupun saat ini sudah banyak
bahasa pemrograman

tingkat

tinggi

(high

level

language),

bahasa


pemrograman assembly masih tetap banyak digunakan. Makalah ini
membahas bahasa pemrograman assembly dari sesuai aplikasinya (studi
kasus).

1.2

Perumusan Masalah
Berdasarkan latar belakang yang telah dipaparkan di atas, dapat
dirumuskan masalah sebagai berikut :
1. Mengenal dan memahami fungsi dasar dalam Bahasa Assembly.
2. Mengerti dan memahami jalannya program dalam Bahasa Assembly.
3. Studi Kasus Program Assembler

1

2

1.3


Manfaat
1. Dapat menambah wawasan dan ilmu tentang Bahasa pemrograman
Assembly.
2. Dapat mengenal sintaks-sintaks Bahasa Assembly.
3. Dapat mempelajari dasar-dasar Bahasa Assembly.

3

BAB II
PEMBAHASAN

2.1

Assembly dan Eksekusi Program
Source program yang ditulis dalam bahasa assembly harus diassemble
menjadi object program bahasa mesin sebelum dapat dieksekusi. Hal ini
dilakukan oleh program assembler, yang mengganti semua simbol untuk
mode operasi dan penggalamatan dengan kode biner yang digunakaa dalam
instruksi mesin, dan mengganti semua nama dan label dengan nilai
sebenarnya.

Assembler menetapkan alamat untuk instruksi dan blok data, mulai
dari alamat yang ada dalam asembler directive ORIGIN. Juga menyisipkan
konstanta yang dapat dinyatakan dalam perintah DATAWORD dan ruang
memori cadangan sebagaimana yang diminta oleh perintah RESERVE.
Bagian utama proses assembly menetapkan nilainilai untuk menggantikan
namanama tersebut. Pada beberapa kasus, dimana nilai suatu nama ditetapkan
oleh directive EQU, maka ini merupakan tugas langsung. Pada kasus lain,
dimana suatu nama didefinisikan dalam field Label suatu instruksi, maka nilai
yang diwakili nama ini ditentukan dengan lokasi instruksi ini dalam object
program terassemble. Karenanya, assembler barns mencatat alamatalamat
yang menghasilkan kode mesin untuk instruksi yang berurutan. Misalnya,
nama START dan LOOP masingmasing akan menetapkan nilai 100 dan 112.

3

4

2.2

Studi Kasus

Sesuai tugas yang diberikan oleh dosen yang bersangkutan untuk
pembuatan sebuah program dalam Bahasa Assembly penyusun akan
menjelaskan tentang apa yang ada dalam program yang telah dibuat.
2.2.1

Menampilkan Nim dan Nama
1. Source Code
name "Nim_dan_Nama"
org 100h
jmp start
msg

;jump over data declaration

db

start:

"10115055 - Iqbal Syarifudin Lutfie $"

mov dx,offset msg ;load offset of msg into

dx.
mov

ah, 09h

;print function is 9.

int

21h

;do it

mov

ah, 0

int

16h

;wait for any key....

ret ; return to operating system.

2. Keterangan
name

- Perintah ini untuk memasukkan nama program setelah

program dibuat.
org

100h

- Perintah ini digunakan untuk memberitahukan

assembler supaya program pada saat dijalankan(diload ke
memory) ditaruh mulai pada offset ke 100h(256) byte. Dapat
dikatakan juga bahwa kita menyediakan 100h byte kosong pada
saat program dijalankan.

5

- Perintah ini digunakan untuk melompat menuju

jmp start

tempat yang ditunjukkan oleh perintah JUMP. Dimana dalam
studi kasus ini digunakan untuk melompat menuju “start”.
msg db "10115055 - Iqbal Syarifudin Lutfie $"

– db

merupakan salah satu tipe variabel , kepanjangan dari Define Byte
. msg merupakan nama suatu variabel, terdiri dari kombinasi dari
alphanumerik, diawali dengan huruf. Mungkin juga tidak bernama
(maka hanya punya alamat saja). "10115055
Syarifudin Lutfie $"

merupakan suatu

-

Iqbal

value (nilai) dari

variabel msg tersebut, yaitu berupa nilai numeric yang didukung
oleh system nilai(hexadecimal, binary, atau decimal), atau simbol
"?" untuk variable yang tidak diinisialisasikan.
start

- Bagian dari struktur program untuk membantu proses

berjalannya suatu program.
mov

- Perintah mengutip operan ke dua (source) ke operand

pertama (destination).
mov dx,offset msg

- Perintah memindahkan offset menuju

lokasi dx.
mov ah, 09h
int

21h

- Memberikan perintah pada interrupt 21h agar

menampilkan pesan di layar.
mov ah, 0
int

16h

- Memberikan perintah pada interrupt 16h untuk

menahan layar hingga tombol pada keyboard di tekan (keluar
program).
ret

- Perintah kembali ke operating system (os).

6

3. Tampilan Layar

Gambar 2.1 Tampilan layar studi kasus : menampilkan nim dan nama

2.2.2

Penjumlahan Dua Bilangan
1. Source Code
INCLUDE 'emu8086.inc'
name 'penjumlahan dua bilangan'
org 100h
JMP mulai
psn1 DB "Menu Penjumlahan",13,10,'$'
psn2 DB "================",13,10,13,10,'$'
psn3 DB "Masukan Bilangan 1 : 50 $"
psn4 DB "Masukan Bilangan 2 : 55 $"

7

psnhasil DB "Hasilnya adalah : $"
bil1 DW 50

;50 adalah bagian dari nim 1011 50 55

bil2 DW 55

;55 adalah bagian dari nim 1011 50 55

hasil DW ?
mulai:
lea dx, psn1
mov ah, 9
int 21h
lea dx, psn2
mov ah, 9
int 21h
lea dx, psn3
mov ah, 9
int 21h
PUTC 13
PUTC 10
lea dx, psn4
mov ah, 9
int 21h
mov ax,bil1
mov bx,bil2
add ax,bx
push ax

PUTC 13
PUTC 10

8

lea dx, psnhasil
mov ah,9
int 21h
pop ax
mov hasil, ax
call PRINT_NUM
mov ah,0
int 16h
ret
DEFINE_PRINT_NUM
DEFINE_PRINT_NUM_UNS
END

2. Keterangan
INCLUDE 'emu8086.inc' -

Perintah memanggil fungsi/library

untuk di gunakan pada sebuah program, dengan nama file yang di
panggila

adalah

‘emu8086.inc’,

file

‘emu8086.inc’

sebelumnya sudah berada dalam folder inc .
name –

Perintah ini untuk memasukkan nama program setelah

program dibuat.
org

100h

-

Perintah ini digunakan untuk memberitahukan

assembler supaya program menyediakan 100h byte kosong pada
saat program dijalankan.

9

JMP mulai -

Perintah ini digunakan untuk melompat menuju

tempat yang ditunjukkan oleh perintah JUMP. Dimana dalam
studi kasus ini digunakan untuk melompat menuju “mulai”.
psn1 DB "Menu Penjumlahan",13,10,'$'
psn2 DB "================",13,10,13,10,'$'
psn3 DB "Masukan Bilangan 1 : 50 $"
psn4 DB "Masukan Bilangan 2 : 55 $"
psnhasil DB "Hasilnya adalah : $"

-

db

merupakan salah satu tipe variabel , kepanjangan dari

Define Byte .
-

psn1, psn2, psn3, psn4, psnhasil

merupakan nama

suatu variabel, terdiri dari kombinasi dari alphanumerik,
diawali dengan huruf. Mungkin juga tidak bernama (maka
hanya punya alamat saja).
-

"Menu

variabel

Penjumlahan",13,10,'$'
psn1,

merupakan

"================",13,10,13,10,'$'

nilai

dari

Bilangan 1 : 50 $"
"Masukan

merupakan nilai dari

Bilangan

variabel

psn2,

"Masukan

merupakan nilai dari variabel psn3,
2

:

55

$"

merupakan nilai dari

variabel psn4,"Hasilnya adalah : $" merupakan nilai
dari psnhasil.
dw - dw

merupakan salah satu tipe variabel , kepanjangan dari

Define Word .
bil1 DW 50 –
bil1

Perintah menyisipkan nilai 50 ke dalam variabel

10

Perintah menyisipkan nilai 50 ke dalam variabel

bil2 DW 55 –
bil2
hasil DW ? –

symbol ? untuk memberitahukan bahwa variabel

hasil nilainya tidak diinisialisasikan
lea dx, psn1
mov ah, 9
int 21h

-

lea dx, psn1

- Perintah untuk mengambil alamat efektif

dari variabel psn1
- mov ah, 9 - Perintah untuk cetak kalimat
- int 21h - Perintah cetak ke layar
lea dx, psn2
lea dx, psn2

- Perintah untuk mengambil alamat efektif dari

variabel psn2
lea dx, psn3
lea dx, psn3

- Perintah untuk mengambil alamat efektif dari

variabel psn3
PUTC 13
PUTC 10
PUTC -

digunakan untuk mencetak sebuah karakter ASCII pada

posisi kursor
lea dx, psn4
lea dx, psn4 -

Perintah untuk mengambil alamat efektif dari

variabel psn4
mov ax,bil1 –
ax

Perintah memindahkan variabel bil1 ke alamat

11

mov bx,bil2 -

Perintah memindahkan variabel bil2 ke alamat

bx
add ax,bx -

menambah operand ke dua bx ke operand pertama

ax.
push ax –

Perintah menyimpan nilai dalam alamat ax dalam

stack .
lea dx, psnhasil -

Perintah untuk mengambil alamat efektif

dari variabel psnhasil
pop ax –

Perintah mengambil nilai dalam alamat ax dalam

stack
mov hasil, ax –

Perintah memindahkan nilai dari alamat ax ke

variabel hasil.
call PRINT_NUM

- call – Digunakan untuk memanggil prosedur , dimana disini
yang di panggil adalah prosedur “PRINT_NUM”.
- PRINT_NUM - Prosedur mencetak angka signed dalam register
ax.
mov ah,0
int 16h

- Memberikan perintah pada interrupt 16h untuk menahan layar
hingga tombol pada keyboard di tekan (keluar program).
ret

- Perintah kembali ke operating system (os).

DEFINE_PRINT_NUM

– Deklarasi dari prosedur PRINT_NUM

DEFINE_PRINT_NUM_UNS



Deklarasi

PRINT_NUM_UNS
END –

Direktif untuk menghentikan kompiler.

dari

prosedur

12

3. Tampilan Layar

Gambar 2.2

Tampilan layar studi kasus : menghitung dua buah bilangan dari
empat angka belakang NIM

BAB III
PENUTUP

3.1

Kesimpulan
Bahasa assembly merupakan bahasa aras bawah, dimana merupakan
bahasa mesin, sangat banyak keuntungan yang kita dapatkan dari belajar
bahasa ini, diantaranya kita bisa belajar untuk mengakses hardware secara
langsung,disamping ukuran file hasil kompilasi juga kecil
Kelebihan Bahasa Assembly: Ketika di-compile lebih kecil ukuran,
Lebih efisien/hemat memori,Lebih cepat dieksekusi
Kesulitan Bahasa Assembly: Dalam melakukan suatu pekerjaan, baris
program relatif lebih panjang dibanding bahasa tingkat tinggi, Relatif lebih
sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak, Lebih
sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis

13

DAFTAR PUSTAKA

S’to.2001. Pemrograman Dengan Bahasa Assembly Edisi Online Versi 1.0 :
http://www.jasakom.com
Fadlisyah,S.Si. Bahasa Rakitan.Yogyakarta:Andi.

.Pemrograman Bahasa Assembly :
http://dinus.ac.id/repository/docs/ajar/bahasa_assembly.pdf

iv

Dokumen yang terkait

ANALISIS EFISIENSI PEMASARAN DAN PENDAPATAN USAHATANI ANGGUR (Studi Kasus di Kecamatan Wonoasih Kotamadya Probolinggo)

52 472 17

Studi Kualitas Air Sungai Konto Kabupaten Malang Berdasarkan Keanekaragaman Makroinvertebrata Sebagai Sumber Belajar Biologi

23 176 28

ANALISIS KOMPARATIF PENDAPATAN DAN EFISIENSI ANTARA BERAS POLES MEDIUM DENGAN BERAS POLES SUPER DI UD. PUTRA TEMU REJEKI (Studi Kasus di Desa Belung Kecamatan Poncokusumo Kabupaten Malang)

23 307 16

PENILAIAN MASYARAKAT TENTANG FILM LASKAR PELANGI Studi Pada Penonton Film Laskar Pelangi Di Studio 21 Malang Town Squere

17 165 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

PEMAKNAAN MAHASISWA TENTANG DAKWAH USTADZ FELIX SIAUW MELALUI TWITTER ( Studi Resepsi Pada Mahasiswa Jurusan Tarbiyah Universitas Muhammadiyah Malang Angkatan 2011)

59 326 21

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25

STRATEGI PUBLIC RELATIONS DALAM MENANGANI KELUHAN PELANGGAN SPEEDY ( Studi Pada Public Relations PT Telkom Madiun)

32 284 52

FAKTOR-FAKTOR PENYEBAB ORANG TUA MENIKAHKAN ANAK PEREMPUANYA PADA USIA DINI ( Studi Deskriptif di Desa Tempurejo, Kecamatan Tempurejo, Kabupaten Jember)

12 105 72