Perbedaan antara Assembler,Interpreter dan Kompiler
Assembly/Assembler
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
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.
Compiler
Compiler adalah suatu program yang menerjemahkan bahasa program ( source code) kedalam bahasa objek (obyek code). Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.
Compiler adalah suatu program yang menerjemahkan bahasa program ( source code) kedalam bahasa objek (obyek code). Compiler menggabungkan keseluruhan bahasa program, mengumpulkannya dan kemudian menyusunnya kembali.
Kelebihan:
Pengeksekusian
program cepat, karena kode yang dihasilkan berupa kode biner.
Dapat
langsung diterjemahkan sendiri.
Bisa
dioptimalisasikan.
Dapat
bekerja di berbagai jenis komputer.
Kekurangan:
Memerlukan
waktu yang lama untuk menganalisa dan memproses program.
Pembuatan
kode di bagi menjadi 2 tahap, sehingga prosesnya lebih lama.
Bergantung
pada linker, jika linker hilang program yang dihasilkan tidak dapat berjalan.
Tidak
cocok untuk membuat program-program kecil.
Tahap Kompilasi:
Ø Pertama source code (program yang ditulis) dibaca kememori computer).
Ø Source code tersebut diubah menjadi objek code (bahasa Assembly).
Ø Objek code di hubungkan dengan liberary yang dibutuhkan untuk membentuk file yang bisa dieksekusi.
Ø Komplier memerlukan waktu untuk membuat suatu program dapat di eksekusi oleh computer, program yang dieksekusi oleh compiler adalah dapat berjalan lebih cepat disbanding program yang diperoduksi oleh interpreter, disamping itu juga bersifat independen.
Ø Contoh program yang menggunakan compiler adalah Visual Basic, Visual Delvi, dan Pascal.
Interpreter
Berbeda dengan compiler, interpreter menganalisis dan mengeksekusi setiap baris program tanpa melihat program secara keseluruhan. Keutungan dari interpreter adalah bahwa eksekusi bisa dilakukan dengan segera tanpa melalui tahap komplasi. Untuk alas an ini interpreter digunakan pada saat pembuatan program skala besar. Contoh program yang menggunakan intpreter adalah Cobol, PHP, ASP, dan lain-lain.
Perbedaan
1. Perbedaan antara Compiler dengan Interpreter :
a. Jika hendak menjalankan program hasil kompilasi dapat dilakukan tanpa butuh source code. Kalau interpreter butuh source code.
b. 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.
c. 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.
d. 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.
e. 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.
Kelebihan:
Memerlukan
waktu yang sebentar untuk menganalisa dan memproses program.
Pembuatan
kode hanya dalam satu tahap saja.
Tidak
membutuhkan linker, sehingga tidak repot dalam pengeksekusian program.
Cocok
untuk membuat / menguji program-program kecil.
Hasil
yang didapatkan berupa satu kesatuan perintah dalm bentuk bahasa mesin.
Kekurangan
Pengeksekusian
program relatif lambat, karena kode yang dihasilkan berupa kode lanjutan.
Harus
diterjemahkan oleh program lain.
Tidak
bisa dioptimalisasikan.
Harus
mengikuti alur logika yang dibuat oleh programmer. Sekali programmer salah
membuat logika maka pembutan kode akan gagal.
Hanya
dapat bekerja pada satu jenis komputer yang sama.
2. Perbedaan antara Assembler,Interpreter dan Kompiler :
a. Assembler mengubah kode assembly menjadi kode mesin.Interpreter mengubah kode tingkat tinggi menjadi real-time kode mesin dan menyimpannya di memori untuk pengeksekusian secara langsung.Kompiler mengubah kode tingkat tinggi menjadi real-time kode mesin atau beberapa kode tingkat menengah dan menyimpan ke dalam sebuah file untuk bisa dieksekusi kemudian.
b. Interpreter merupakan translator yang menerjemahkan bahasa paling lambat dibandingkan assembler dan kompiler.
c. Kompiler merupakan translator yang paling mudah untuk digunakan dalam menerjemahkan bahasa dibandingkan interpreter dan assembler.
1 komentar:
thanks
Posting Komentar