Anda di halaman 1dari 10

MAKALAH BAHASA MESIN

Disusun oleh :
RIYAN BENTARDI
H1C013020
Mata Kuliah :
Sistem Mikroprosesor dan Arsitektur Komputer

KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN


UNIVERSITAS JENDERAL SOEDIRMAN
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PURBALINGGA
2014

Pendahuluan
a. Latar Belakang
Teknologi merupakan suatu lingkungan yang tidak pernah lepas dari kehidupan di
sekitar kita. Teknologi juga tidak pernah lepas kaitan nya dengan mesin measin
canggih yang dapat membantu memudahkan pekerjaan yang ebih kita kenal
dengan komputer. Komputer merupakan mesin pengolah informasi dan data yang
paling canggih saat ini. Hampir di setiap kegiatan kita tidak penah lepas dari
penggunaan komputer sebagai alat bantu. Tetapi kecanggihan komputer tidak akan
dapat kita nikmati apabila kita tidak adanya bahasa mesin yang menjadi bahasa
komunikasi kita dengan komputer tersebut. Untuk itu disini penulis ingin
membahas tentang bahasa mesin yang merupakan bahasa penghubung antara
manusi dengan mesin seperti komputer. Semoga tulisan yang penulis paparkan
dapat bermanfaat bagi setiap pembaca dan bagi penulis khusus nya.
b. Tujuan Masalah
Mengetahui pengertian tentang bahasa mesin
Mengetahui cara kerja bahasa mesin
Mengetahui jenis-jenis bahasa mesin

1. Pengertian Bahasa Mesin


Bahasa mesin atau kode mesin adalah satu-satunya bahasa komputer yang
dapat langsung dipahami oleh CPU. Bahasa mesin ditulis dalam serangkaian bitbit (bilangan-bilangan biner, yaitu bilangan yang hanya mempunyai angka 1 dan
0). Beberapa pola-pola bit disimpan dalam mikroprosesor sebagai kode operasi
(opcode), yang berarti memerintahkan CPU melakukan operasi tertentu (misalnya
operasi aritmetika atau pengaksesan memori), sementara pola-pola bit lain dapat
menunjukkan suatu lokasi memori (memory address) tertentu, dan pola-pola bit
lain dapat berarti sebuah bilangan. Bahasa lain diterjemahkan melalui interpreter
atau kompiler ke dalam bahasa ini sebelum dieksekusi oleh CPU.
Bahasa rakitan adalah bahasa pemrograman tingkat rendah yang memberi
julukan-julukan (mnemonics) pada operasi-operasi dalam daftar instruksi
(isntruction set) komputer tersebut, agar program-program dalam komputer lebih
mudah dimengerti manusia daripada sekumpulan angka-angka 1 dan 0.
2. Kode Mesin Instruksi
Setiap prosesor atau keluarga prosesor memiliki set instruksi kode mesin.
Instruksi pola bit yang oleh desain fisik sesuai dengan perintah yang berbeda ke
mesin. Set instruksi demikian khusus untuk kelas prosesor menggunakan (banyak)
arsitektur yang sama. Penerus atau derivatif desain prosesor sering mencakup
semua instruksi dari pendahulunya dan dapat menambah petunjuk tambahan.
Kadang-kadang desain pengganti akan menghentikan atau mengubah arti dari
beberapa kode instruksi (biasanya karena dibutuhkan untuk keperluan baru), kode
yang mempengaruhi kompatibilitas sampai batas tertentu, bahkan hampir
sepenuhnya kompatibel dengan prosesor mungkin akan menampilkan perilaku
yang sedikit berbeda untuk beberapa instruksi tetapi ini jarang yang masalah.
Sistem mungkin juga berbeda dalam rincian lainnya, seperti pengaturan memori,
sistem operasi, atau perangkat periferal; karena biasanya program bergantung
pada faktor-faktor seperti, sistem yang berbeda akan biasanya tidak menjalankan
kode mesin yang sama, bahkan ketika jenis prosesor yang sama digunakan.
Sebuah set instruksi kode mesin mungkin memiliki semua instruksi yang
sama panjang, atau hal itu mungkin karena panjang variabel-instruksi. Bagaimana
pola diorganisir sangat bervariasi dengan arsitektur tertentu dan sering juga
dengan jenis instruksi. Sebagian besar instruksi memiliki satu atau lebih opcode
bidang yang menentukan jenis instruksi dasar (seperti aritmatika, logis, melompat,
dll) dan operasi sebenarnya (seperti menambah atau membandingkan) dan bidang
lain yang mungkin memberikan jenis operand (s) , mode pengalamatan (s),
3

pengalamatan offset (s) atau indeks, atau nilai aktual itu sendiri (Operand konstan
seperti yang terdapat dalam sebuah instruksi disebut immediates).
Instruksi dalam bahasa mesin berada dalam bentuk kode biner yang
disebut kode mesin atau instruksi mesin. Set instruksi mesin yang dapat dijalankan
oleh suatu komputer disebut set instruksi. Ukuran set instruksi akan
mempengaruhi biaya mesin, kecepatan dan efisiensi, pilihan ukuran kata dan
format instruksi.
3. Format Instruksi
Ukuran dan pengaturan komponen, dimana komponen utama adalah kode
fungsi (op code) dan menentukan fungsi atau operasi yg dijalankan, dan alamat
operand yang menentukan lokasi dari operand yg digunakan.
4. Format Alamat
Bagian dari format instruksi yg m engurus penentuan alamat operand.
4.1. Format 3 Alamat
Menetapkan alamat dua operand dan memberikan alamat selanjutnya
untuk hasil operasi itu.
4.2. Format 2 Alamat
Menentukan alamat dari dua operand, hasil dari suatu operasi penambahan
akan mengganti salah satu dari dua operand tersebut.
4.3. Format Alamat Satu Setengah
Satu operand disangga dalam register atau akumulator khusus yang
sebelumnya telah dijemput dan ditempatkan disana.
4.4. Antar operasi operasi akumulator
Format satu dan setengah alamat dapat digunakan untuk menjepit atau
memuatkan operand ke dalam akumulator dari penyimpanan utama, namun
setelah itu instruksi tersebut hanya dapat menentukan dua atau tiga akumulator yg
akan digunakan utk operand dan hasilnya.

5. Jenis Jenis Instruksi


5.1. Operasi Aritmatika dan Logika
5.1.1. Operasi Aritmatika
Penambahan, Pengurangan, Perkalian, dan Pembagian.
Operasi Inkremen dan Dekremen.
Negasi dan Komplemensi.
Shift Aritmatika.
5.1.2. Operasi Logika
Operasi Boolean.
Nagasi Boolean.
Rotasi (Shift logis).
5.2. Swap
Mengubah setengah dari word bagian kanan dan sebelah kiri.
5.3. Instruksi transfer kontrol/cabang
Instruksi yg mengubah rangkaian yg dianut oleh instruksi. eksekusinya
menyebabkan jump (lompatan) ke instruksi yg lain.
5.4. Instruksi Jump
Intruksi Jump terdiri dari :
Transfer kontrol tak kondisional, jump selalu terjadi.
Transfer kontrol kondisional. Jump hanya akan terjadi jika hasil dari
suatu operasi mempunyai nilai tertentu.
5.5. Instruksi Pemuatan/Penjemputan dan Penyimpanan
Menyebabkan terjadinya transfer data antara akumulator dan memory.
5.6. Instruksi Input Output
Mengimplementasikan transfer data antara peripheral dan memory, atau
antara peripheral dan akumulator.

5.7. Instruksi Implementasi Memory


Operasi yg memerlukan akses ke memory selama eksekusinya, karenanya
mencakup instruksi load dan store (pemuatan dan penyimpanan).
5.8. Instruksi Referensi Prosessor
Instruksi yg tidak memerlukan memory dan tidak melibatkan penginputan
dan pengoutputan.
6. Bahasa Mesin Imaginer
Merupakan alat bantu bagi programmer yang menggunakan kode simbolik
dan mnemonic, kode biner pun dapat dikonversi ke oktal maupun desimal.
Program khusus yang disebut assembler, dimana akan mengkonversi program
dalam bentuk simbolis dan mnemonic dalam kodem mesin. Kode mnemonic dan
simbolis disebut program sumber, sedangkan kode mesin yang dihasilkan
assembler disebut program objek.
7. Motode Pengalamatan
7.1. Pengalamatan Langsung
Digunakan jika bilangan yang diberikan dalam bagian operand suatu
instruksi adalah alamat sebenarnya dari operand yang akan digunakan.
Pengalamatan langsung bersifat sederhana, cepat dan efektif namun jumlah lokasi
yg bisa dialamati terbatas.
7.2. Pengalamatan Tak Langsung
Bila pengalamatan langsung digunakan yg diberikan dalam bagian alamat
suatu instruksi bukan alamat operand dari operand yang diperlukan. Bagian
alamat dari lokasi yang berisi alamat yang diperlukan. Suatu alamat dapat
langsung atau tidak langsung.
7.3. Pengalamatan Terindeks
Alamat yang diperlukan diperoleh dengan menambahkan isi bagian alamat
instruksi ke bilangan yang disimpan dalam register khusus yang disebut register
indeks atau register modifier.
7.4. Pengalamatan Termodifikasi
Jika suatu instruksi dimodifikasi hingga satu fungsi yang sama dijalankan
berulang-ulang pada suatu operand dalam alamat yang berbeda, maka disebut
menggunakan alamat termodifikasi.
6

7.5. Pengalamatan Relatif


Bagian alamat dari instruksi digunakan untukmemberikan displacement
dari beberapa alamat yang dinyatakan. Di satu sisi alamat indeks akan menjadi
alamat relatif sebab bagian alamat instruksi memberikan lokasi operand agar
banyak tempat melewati lokasi yang dinyatakan dalam register indeks. alamat
base : alamat yg menjadi referensi alamat relatif.
7.6. Pengalamatan Immediate
Jika kita tidak memberikan lokasi data dalam bagian alamat dari instruksi,
maka dikatakan menggunakan pengelamatan immediate, yakni bagian alamat
digunakan sebagai operand.
7.7. Pengalamatan Simbolis
Pengalamatan simbolis tidak mungkin dalam kode mesin, namun
digunakan programmer ketika menggunakan simbol alfa-numerik untuk
menetapkan suatu alamat.
8. Memuat dan Menyimpan Program dalam Bahasa Mesin
Loader akan mengambil program yang ditulis dalam kode mesin dan
dalam bentuk input yg sesuai. Loader biasanya secara permanen ada dalam
memory utama, Informasi mengenai prosesor dapat ditampilkan pada panel
khusus yg disebut console. Loader bootstrap (bootstrap) adalah loader yg sangat
sederhana yang mungkin ditempatkan dalam memory secara manual dengan
menggunakan console atau ditempatkan dalam memory dengan bagian hardware
khusus. Alamat absolut adalah alamat yg ditentukan oleh hardware. Program
absolut adalah program yg selalu dimuatkan ke lokasi fixed yg sama dalam lokasilokasi yg berbeda dalam penyimpanan utama yg menjadi pedoman diketahuinya
alamat absolut. Program relocable adalah program yg dimuatkan ke dalam lokasilokasi yg berbeda dalam penyimpanan utama tiap kali dijalankan.
9. Jenis-Jenis Bahasa Mesin
Bahasa Biner
Penerjemahan bahasa komputer berupa bilangan biner pertama kali
dilakukan oleh ENIAC, sebuah perusahaan komputer di Amerika Serikat.
Pada awalnya, komputer ENIAC (Electronic Numerical Integrator and
Calculator) pada tahun 1945 menggunakan bahasa mesin sebagai alat
komunikasi berupa bilangan biner yang terdiri atas angka 0 (salah) dan 1
(benar). Bahasa biner merupakan bahasa mesin yang dimengerti oleh
7

komputer, berbasis angka dua, untuk memahami bahasa ini terlebih dahulu
kita harus mengerti perpangkatan bilangan 2 yang sudah tidak asing lagi.
Jika yang diketahui adalah bilangan biner dan akan diterjemahkan ke
dalam bilangan berbasis 10 maka caranya adalah dengan membalik
bilangan dan mengalikannya dengan urutan / posisi bilangan tersebut.
Bahasa Assembly
Penerjemahan ke dalam bahasa biner memerlukan waktu yang lama,
sehingga dalam perkembangannya dibuatlah bahasa yang lebih mudah
yang dikenal dengan Bahasa Assembly/Assembler. Dikenal sebagai bahasa
tingkat rendah (low level language). Programmer harus mengetahui jenis
mesin yang digunakan oleh komputer, karena itu bahasa assembly dikenal
sebagai bahasa yang dependent machine (bergantung pada jenis mesin).
Bahasa Fortron
Sekitar tahun 1950, IBM merintis sebuah bahasa generasi ketiga yang
dapat dinikmati oleh semua orang untuk berkecimpung didunia komputer.
Bahasa ini dikenal sebagai FORmula TRANslator, yang termasuk bahasa
tingkat tinggi (high level language). Fortran terdiri dari tiga tahapan
peterjemahan bahasa yaitu:
Tahap Compilation merupakan penerjemahan oleh komputer dari
bahasa tingkat tinggi ke dalam bahasa mesin.
Tahap Link merupakan tahapan menerjemahkan bahasa sesuai dengan
karakter mesin yang dimiliki komputer, tahapan ini biasa dilakukan
oleh processor.
Tahap Execution merupakan tahapan penggarapan
menghasilkan program yang dikehendaki oleh programmer.

sehingga

Bahasa Generasi Keempat


Merupakan perkembangan generasi Fortran. Bahasa generasi ini jauh lebih
mudah dipahami. Bahasa pemrograman generasi keempat dikenal sebagai
bahasa deklaratif, yaitu bahasa pemrograman seperti bahasa inggris biasa.
Kode ASCII
Ketika mengetik dengan keyboard tidak semua huruf ada pada tuts
keyboard. Seperti huruf alpha, beta, mikro. Untuk mengatasi hal ini
diciptakan simbol yang dikenal sebagai kode ASCII atau American
8

Standard Code for Information Interchange. Kode ASCII berjumlah 256,


untuk menampilkan kode ASCII digunakan tombol ALT pada keyboard.
Caranya tekan tombol ALT, kemudian tekan nomor kode yang dikehendaki
pada angka 0 -9 yang ada pada sebelah kanan keyboard.

Daftar Pustaka
http://glenndenver.blogspot.com/2011/10/bahasa-mesin.html
https://luthfi123.wordpress.com/2013/03/25/bahasa-pemrograman-komputerbahasa-mesintingkat-rendah-menengah-tinggi/
https://dunovteck.wordpress.com/2010/02/10/bahasa-mesin-komputer/
http://tkj-brain.blogspot.com/2011/01/pengertian-bahasa-mesin.html

10

Anda mungkin juga menyukai