Pemograman Dasar
Pengertian
Bahasa pemrograman, atau sering diistilahkan juga dengan
bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar
untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari
aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer.
Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data
mana yang akan diolah oleh komputer, bagaimana data ini akan
disimpan/diteruskan, dan jenis langkah apa secara persis yang akan diambil
dalam berbagai situasi.
Fungsi Bahasa
Pemrograman
Fungsi bahasa pemrograman yaitu memerintah komputer untuk
mengolah data sesuai dengan alur berpikir yang kita inginkan. Keluaran dari
bahasa pemrograman tersebut berupa program/aplikasi. Contohnya adalah program
yang digunakan oleh kasir di mal-mal atau swalayan, penggunaan lampu lalu
lintas di jalan raya, dll.
Bahasa Pemrograman yang kita kenal ada banyak sekali di
belahan dunia, tentang ilmu komputer dan teknologi dewasa ini. Perkembangannya
mengikuti tingginya inovasi yang dilakukan dalam dunia teknologi. Contoh bahasa
pemrograman yang kita kenal antara lain adalah untuk membuat aplikasi game,
antivirus, web, dan teknologi lainnya.
Bahasa pemrograman komputer yang kita kenal antara lain
adalah Java, Visual Basic, C++, C, Cobol, PHP, .Net, dan ratusan bahasa
lainnya. Namun tentu saja kebutuhan bahasa ini harus disesuaikan dengan fungsi
dan perangkat yang menggunakannya.
Namun,secara umum bahasa pemrograman terbagi menjadi 4
kelompok, yaitu :
Object Oriented Language (Visual dBase, Visual FoxPro,
Delphi, Visual C)
-
High
Level Language (seperti Pascal dan Basic)
-
Middle
Level Language (seperti bahasa C), dan
-
Low
Level Language (seperti bahasa Assembly)
-> Contoh script
html
Tingkatan Bahasa
Pemrograman
1. Bahasa Pemrograman Tingkat Tinggi .
Merupakan bahasa
tingkat tinggi yang mempunyai ciri-ciri mudah dimengerti karena kedekatannya
terhadap bahasa sehari – hari. Sebuah pernyataan program diterjemahkan kepada
sebuah atau beberapa mesin dengan menggunakan compiler.
Sebagai contoh adalah :
BASIC, C, C++, COBOL, FORTRAN, ada, Pascal, Java , .NET
2. Bahasa Tingkat Menengah
Disebut tingkat
menengah karena bisa masuk ke dalam bahasa tingkat tinggi maupun rendah.
Contohnya bahasa C.
3. Bahasa Pemrograman Tingkat Rendah
Bahasa tingkat rendah (Low Level Language) Bahasa tingkat
rendah merupakan bahasa pemrograman yang berorientasi pada mesin. Disebut
tingkat rendah karena bahasa ini lebih dekat ke bahasa mesin daripada bahasa
manusia. Yang tergolong dalam bahasa tingkat rendah adalah bahasa assembly.
Kelemahan bahasa
tingkat rendah antara lain :
-
Sulit
dipelajari karena programmer harus mengetahui seluk beluk perangkat keras yang
digunakan
-
Bahasa
assembly untuk satu jenis mikroprosesor satu dengan yang lain sangat jauh
berbeda karena belum ada standardisasi. Contoh : bahasa assembly untuk
mikroprosesor Intel 8088
Proses Pembuatan
Program
Proses pembuatan program yaitu kita menulis kode sumber pada
teks editor misalnya notepad kemudian mengubahnya menjadi bahasa mesin yang
bisa dieksekusi oleh CPU. Proses pengubahan kode sumber (source code) menjadi
bahasa mesin (machine language) ini terdiri dari dua macam yaitu kompilasi dan
interpretasi
Kompilasi (Compilation)
Dalam proses kompilasi semua kode sumber dibaca terlebih
dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk
kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas
ini disebut Compiler. Program hasil kompilasi akan berbentuk executable.
Program bisa langsung dijalankan tanpa harus memiliki Compiler di komputer yang
menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya
bahasa C, C++, Pascal, Assembly dan masih banyak lagi.
Interpretasi
(Interpretation)
Bahasa yang menggunakan teknik interpretasi akan membaca kode
sumber perbaris dan dieksekusi perbaris. Jika ditemukan kesalahan dalam
penulisan program maka di baris kesalahan itulah program akan dihentikan.
Program yang melakukan tugas ini disebut Interpreter. Pada teknik interpretasi
tidak ada akan dihasilkan program standalone, artinya untuk menjalankan program
kita harus mempunyai kode sumbernya sekaligus interpreter program tersebut.
Bahasa yang menggunakan teknik interpretasi misalnya bahasa Perl, Python, Ruby
dan masih banyak lagi.
Kompilasi Sekaligus
Interpretasi
Ada juga bahasa pemrograman yang menghasilkan programnya
dengan teknik kompilasi sekaligus interpretasi. Misalnya bahasa java. Dalam
pembuatan program java kode sumber diubah menjadi bytecode. Meskipun nampak
seperti bahasa mesin namun ini bukanlah bahasa mesin dan tidak executable.
Untuk menjalankan bytecode tersebut kita membutuhkan Java Runtime Environment
(JRE) yang bertugas sebagai interpreter sehingga menghasilkan program dari
bytecode tersebut.
Meskipun setiap bahasa pemrograman dibuat untuk membuat
program namun setiap bahasa dibuat dengan tujuan dan fungsi yang berbeda-beda.
Misalnya untuk membuat driver hardware kita tidak bisa menggunakan bahasa Visual
Basic. Untuk membuat program berbasis sistem seperti driver kita bisa gunakan
bahasa C atau Assembly. Contohnya sistem operasi linux yang open source. Jika
anda melihat kode sumbernya anda akan menemukan bahwa linux dibuat menggunakan
bahasa C. Sedangkan untuk pemrograman desktop kita bisa menggunakan Visual
Basic. Bahasa tersebut dirancang oleh Microsoft untuk pemrograman desktop
dengan tampilan GUI yang memukau.
Perbedaan antara
Kompilasi (Compilation) dengan Interpretasi (Interpretation)
Jika hendak menjalankan
program hasil kompilasi dapat dilakukan tanpa butuh kode sumber. Kalau
interpreter butuh kode sumber. Jika dengan kompiler, maka pembuatan kode yang
bisa dijalankan mesin dilakukan dalam 2 tahap terpisah, yaitu parsing (
pembuatan kode objek ) dan linking ( penggabungan kode objek dengan library ) .
Kalau interpreter tidak ada proses terpisah. JIka compiler membutuhkan linker
untuk menggabungkan kode objek dengan berbagai macam library demi menghasilkan
suatu kode yang bisa dijalankan oleh mesin. Kalau interpreter tidak butuh
linker untuk menggabungkan kode objek dengan berbagai macam library
Interpreter cocok untuk membuat / menguji coba modul (
sub-routine / program-program kecil ). Maka compiler agak repot karena untuk
mengubah suatu modul / kode objek kecil, maka harus dilakukan proses linking /
penggabungan kembali semua objek dengan library yang diperlukan.
Pada kompiler bisa dilakukan optimisasi / peningkatan
kualitas kode yang bisa dijalankan. Ada yang dioptimasi supaya lebih cepat, ada
yang supaya lebih kecil, ada yang dioptimasi untuk sistem dengan banyak
processor. Kalau interpreter susah atau bahkan tidak bisa dioptimasikan
Saya akan membahas sedikit Tentang PENGERTIAN BAHASA ASSEMBLY
Bahasa pemrograman generasi kedua adalah bahasa assembly.
Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman
komputer tingkat rendah. Bahasa assembly merupakan notasi untuk bahasa mesin
yang dapat dibaca oleh manusia dan berbeda-beda tergantung dari arsitektur
komputer yang digunakan.
Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa
assembly atau rakitan biasanya memiliki hubungan 1-1 dengan instruksi bahasa
mesin. Misalnya, tiap julukan (mnemonic) yang ditulis di program dengan bahasa
rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat
dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah
dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses
pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses
balikannya dilakukan oleh disassembler.
Setiap arsitektur komputer memiliki bahasa mesin yang
berbeda-beda sehingga bahasa rakitannya pun berbeda-beda.(dna)
Pemrograman AT89S51 bahasa Assembly
Bahasa Assembly adalah bahasa pemrograman tingkat rendah.
Dalam pemrograman komputer dikenal dua jenis tingkatan bahasa, jenis yang
pertama adalah bahasa pemrograman tingkat tinggi (high level language) dan
jenis yang kedua adalah bahasa pemrograman tingkat rendah (low level language).
Bahasa pemrograman tingkat tinggi lebih berorientasi kepada
manusia yaitu bagaimana agar pernyataan-pernyataan yang ada dalam program mudah
ditulis dan dimengerti oleh manusia. Sedangkan bahasa tingkat rendah lebih
berorientasi ke mesin, yaitu bagaimana agar komputer dapat langsung
mengintepretasikan pernyataan-pernyataan program.
Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran
2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi
Kesulitan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif
lebih panjang dibanding bahasa tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika jumlah
baris sudah terlalu banyak
3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya
operasi matematis
BAHASA ASSEMBLY MCS-51
Dalam program bahasa assembly terdapat 2 jenis yang kita
tulis dalam program yaitu:
1. Assembly Directive (yaitu merupakan kode yang menjadi
arahan bagi assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU
mikrokontroler)
Klik disini untuk melihat daftar Assembly Directive dan
Instruksi MCS-51.
PENGGUNAAN SOFTWARE
Software untuk membantu memprogram mikrokontroler MCS-51
sudah banyak tersedia. Untuk mempermudah maka dapat dipilih software yang
merupakan Integrated Development Environment (IDE) yaitu software yang
merupakan editor sekaligus compiler. Bahkan juga ada yang sekaligus debugger
dan simulator. Salah satunya yang digunakan pada training di PRASIMAX adalah
Read51.
Daftar Assembly Directive
Assembly Directive Keterangan
EQU Pendefinisian konstanta
DB Pendefinisian data dengan ukuran satuan 1 byte
DW Pendefinisian data dengan ukuran satuan 1 word
DBIT Pendefinisian data dengan ukuran satuan 1 bit
DS Pemesanan tempat penyimpanan data di RAM
ORG Inisialisasi alamat mulai program
END Penanda akhir program
CSEG Penanda penempatan di code segment
XSEG Penanda penempatan di external data segment
DSEG Penanda penempatan di internal direct data segment
ISEG Penanda penempatan di internal indirect data segment
BSEG Penanda penempatan di bit data segment
CODE Penanda mulai pendefinisian program
XDATA Pendefinisian external data
DATA Pendefinisian internal direct data
IDATA Pendefinisian internal indirect data
BIT Pendefinisian data bit
#INCLUDE Mengikutsertakan file program lain
Daftar Instruksi
Instruksi Keterangan Singkatan
ACALL Absolute Call
ADD Add
ADDC Add with Carry
AJMP Absolute Jump
ANL AND Logic
CJNE Compare and Jump if Not Equal
CLR Clear
CPL Complement
DA Decimal Adjust
DEC Decrement
DIV Divide
DJNZ Decrement and Jump if Not Zero
INC Increment
JB Jump if Bit Set
JBC Jump if Bit Set and Clear Bit
JC Jump if Carry Set
JMP Jump to Address
JNB Jump if Not Bit Set
JNC Jump if Carry Not Set
JNZ Jump if Accumulator Not Zero
JZ Jump if Accumulator Zero
LCALL Long Call
LJMP Long Jump
MOV Move from Memory
MOVC Move from Code Memory
MOVX Move from Extended Memory
MUL Multiply
NOP No Operation
ORL OR Logic
POP Pop Value From Stack
PUSH Push Value Onto Stack
RET Return From Subroutine
RETI Return From Interrupt
RL Rotate Left
RLC Rotate Left through Carry
RR Rotate Right
RRC Rotate Right through Carry
SETB Set Bit
SJMP Short Jump
SUBB Subtract With Borrow
SWAP Swap Nibbles
XCH Exchange Bytes
XCHD Exchange Digits
XRL Exclusive OR Logic
0 comments:
Speak up your mind
Tell us what you're thinking... !