bahasa asembly
kali ini saya akan sedikit memposting tentang bahas aassembly yg sering di vgunakan di dunia pemerograman ,, dan untuk menyelesaikan tugas kuliah ...
Bahasa Mesin
Bahasa Mesin
Setiap jenis CPU memiliki bahasa mesin-nya masing-masing. Instruksi bahasa mesin dinyatakan dalam bilangan numeric (Binari) yang tersimpan sebagai byte dimemori. Masing-masing instruksi memiliki kode numerik yang unik yang disebut sebagai “operation code” atau “opcode”. Setiap perintah diawali dengan suatu opcode dan dapat diikuti oleh data.
Bahasa Assembly
Karena Bahasa Mesin sangat rumit untuk diprogram secara langsung (karena berupa bilangan numeric), sehingga dibuat suatu symbol pelambang (mnemonic) untuk mewakili masing-masing instruksi tersebut yang lebih mudah diingat dan dibaca oleh manusia (bayangkan apakah anda lebih mudah mengingat nama teman anda atau nomor telepon rumahnya?).
Apa itu Assembler
bahasa Assembly menggunakan mnemonic sebagai penganti bagi instruksi bahasa Mesin, sehingga program yang ditulis dalam bahasa Assembly tidak dapat secara langsung dieksekusi oleh CPU. Dalam hal ini Assembler berperan untuk menterjemahkan mnemonic tersebut menjadi bahasa Mesin yang dapat dieksekusi oleh CPU. Untuk melakukan assembler dapat menggunakan program DEBUG.EXE maupu berbagai aplikasi compiler seperti TASM, MASM, NASM, FASM maupun emulator8086.
Apa itu disassembler
Jika proses Assembler menterjemahkan program yang ditulis dengan bahasa Assembly menjadi bahasa mesin, maka proses disassembler adalah mengembalikan suatu binary program menjadi (mnemonic) bahasa Assembly. Tujuan dari disassembler adalah untuk keperluaan reversed engineering, dimana kita mempelajari maupun memperbaiki suatu software tanpa memiliki source code, misalnya untuk mempelajari teknik penyerangan suatu program malware untuk dibuat anti malwarenya, ataupun memeriksa kemungkinan suatu program terdapat payload.
Mengapa belajar Assembly
Assembly biasanya digunakan untuk kegiatan penting tertentu. Mengapa? Karena lebih mudah memprogram dengan menggunakan bahasa tingkat tinggi dari pada menggunakan assembly. Pemakaian assembly akan mengakibatkan program sulit untuk dialihkan ke platform yang berbeda (ingat bahwa masing-masing CPU memiliki bahasa Mesin yang berbeda), dan berikut ini adalah alasan mengapa anda mempelajari bahasa Assembly :
1. Program yang ditulis dengan assembly akan lebih cepat dan lebih kecil dibandingkan dengan kode yang dihasilkan dengan menggunakan compiler.
2. Assembly memungkinkan akses langsung ke fasilitas system hardware yang mungkin tidak dapat dilakukan dengan menggunakan bahasa tingkat tinggi (membaca/menulis data langsung ke sector, memformat harddisk).
3. Mempelajari assembly akan membantu pengertian yang lebih mendalam bagaimana computer bekerja.
4. Mempelajari pemrograman assembly akan membantu pengertian yang lebih baik tentang bagaimana compiler dan bahasa tingkat tinggi seperti C bekerja.5. Dengan mengerti bahasa Assembly kamu dapat melakukan proses disassembly untuk menganalisa program tertentu.
2. Assembly memungkinkan akses langsung ke fasilitas system hardware yang mungkin tidak dapat dilakukan dengan menggunakan bahasa tingkat tinggi (membaca/menulis data langsung ke sector, memformat harddisk).
3. Mempelajari assembly akan membantu pengertian yang lebih mendalam bagaimana computer bekerja.
4. Mempelajari pemrograman assembly akan membantu pengertian yang lebih baik tentang bagaimana compiler dan bahasa tingkat tinggi seperti C bekerja.5. Dengan mengerti bahasa Assembly kamu dapat melakukan proses disassembly untuk menganalisa program tertentu.
Jenis dan Fungsi Bahasa Pemrograman
Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin (machine languange), sehingga dapat diterima dan dimengerti oleh komputer. Apabila languange software tidak tersedia, maka pembuat program harus menulis programnya langsung dengan bahasa mesin yang berbentuk bilangan-bilangan binary. Suatu instruksi program yang ditulis dalam bahasa mesin dapat berbentuk seperti 000100110010. Tanpa mengetahui arti tertentu dari masing-masing bagian dari bilangan binary tersebut secara persis, maka akan sangat sulit untuk mengerti dengan benar maksud dari instruksi tersebut.
Instruksi yang berbentuk bilangan binary disebut dengan object code. Sedangkan kumpulan dari instruksi-instruksi yang membentuk suatu program dalam bahasa mesin disebut dengan object program. Tiap-tiap instruksi object code terdiri dari operation code (op code) dan open and. Penulisan program dengan bahasa mesin dirasakan terlalu sulit dan memakan banyak waktu, maka dikembangkan languange software sebagai alternatif penulisan program yang lebih mudah. Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, kompiler, dan interpreter.
1) Asembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (assembly) ke dalam bahasa mesin.
2) Kompiler adalah program penerjemah yang mengonversi semua kode sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dapat dijalankan oleh komputer. Proses untuk melakukan penerjemahan ini biasa disebut kompilasi.
3) Intepreter adalah program yang menerjemahkan satu per satu instruksi dalam kode sumber kemudian menjalankan instruksi yang telah diterjemahkan tersebut.
Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin sehingga dapat diterima dan dimengerti oleh komputer. Pada dasarnya bahasa komputer dapat dibedakan menjadi empat macam, yaitu bahasa mesin dan bahasa assembly (kedua bahasa ini termasuk bahasa tingkat rendah/low level language), bahasa tingkat tinggi (high level language), dan bahasa generasi keempat.
1) Bahasa mesin
Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin.
Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh programmer dalam bahasa assembly dan menerjemahkannya ke sebuah program yang dapat dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir.
2) Bahasa assembly
Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan kata-kata sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika tidak sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program akhir.
3) Bahasa tingkat tinggi (high level languange)
Bahasa tingkat tinggi memiliki arti bahwa bahasa ini lebih mudah dimengerti oleh banyak orang karena memang dirancang untuk orang yang awam. Bahasa pemrograman yang termasuk dalam bahasa tingkat tinggi adalah sebagai berikut.
a) BASIC (Beginners All-purposes Symbolic Instruction Code)
Bahasa program ini dikembangkan pada tahun 1965 di Darmouth College. Penciptanya adalah John Kemeny dan Thomas Kurtz. BASIC dipergunakan dalam aplikasi matematika. Selain itu, BASIC juga digunakan dalam beberapa aplikasi lainnya seperti akuntasi, permainan, file simulasi, dan lain-lain.
Keunggulan BASIC terletak pada kemudahan dalam pemakaiannya, sedangkan kelemahannya adalah tidak mendukung operasi bilangan kompleks dan penanganan terhadap berkas sangat terbatas sehingga tidak cocok untuk aplikasi bisnis.
b) LOGO
Bahasa ini dikembangkan untuk pendidikan dan simulasi pengajaran pada anak-anak dalam menyelesaikan masalah dan melakukan pemrograman. Ditemukan pada tahun 1967 oleh Seymour Papert dengan menggunakan LISP, yaitu satu jenis bahasa pemrograman untuk kecerdasan buatan. Logo sangat mudah digunakan untuk membuat gambar, sehingga banyak digunakan dalam menghasilkan laporan-laporan bisnis dalam bentuk grafik.
c) COBOL (Common Business Oriented Language)
Program jenis ini sering digunakan dalam dunia bisnis dan komersial, mulai dikembangkan pada tahun 1959. Namun sampai saat ini, program ini masih banyak digunakan pada jenis komputer minicomputer dan mainframe. COBOL memiliki keunggulan-keunggulan sebagai berikut.
1) Memiliki kode untuk semua flatform yang sama, sehingga tidak tergantung pada mesin.
2) Menggunakan kata-kata bahasa Inggris, sehingga sangat mudah dipahami oleh programmer.
3) Penanganan masukan dan keluaran mudah dilakukan.
4) Penanganan terhadap berkas sudah tersedia dan bahkan mendukung berbagai macam tipe-tipe berkas seperti sekuensial dan indeks.
Kelemahan dari bahasa ini adalah struktur penulisan program yang sangat banyak dan sangat kaku sehingga membuat programmer menjadi lelah dan bosan.
d) PASCAL
Bahasa ini ditemukan oleh Nicklaus Wirth tahun 1971. Bahasa ini dibuat untuk pengajaran pemrograman. Bahasa ini sangat populer di kalangan mahasiswa ilmu komputer dan teknik. Pascal memiliki keunggulan dibandingkan Fortran maupun Basic, yaitu sangat mudah dipelajari serta memiliki dukungan fungsi-fungsi matematika yang sangat lengkap. Namun Pascal juga memiliki kelemahan, yaitu tidak dapat mendukung operasi bilangan kompleks dan tidak mendukung sarana aplikasi bisnis. Keberadaan Pascal dapat pula dijadikan bahasa dasar dalam pembuatan kode perangkat lunak Delphi (software untuk pengembangan program di lingkungan Windows). Pascal juga digunakan sebagai landasan pembuatan kode pada Kylix, yaitu software pengembang program di lingkungan Linux.
e) Fortran (Formula Translator)
Fortran merupakan bahasa tingkat tinggi yang pertama kali diciptakan. Bahasa ini mulai dikembangkan pada tahun 1956 oleh John Backus di IBM. Fortran digunakan dalam bidang aplikasi matematika, yaitu dalam hal perumusan dan perhitungan sehingga menjadi andalan keunggulan dari bahasa ini. Namun Fortran memiliki kelemahan, yaitu operasi masukan dan keluarannya sangat kaku dan sulit dipahami. Untuk membuat bahasa fortran, seorang programmer tidak harus mengetahui bahasa mesin, tetapi harus memahami tata bahasa dan peraturan bahasa fortran.
f) Algol (Algoritma Language)
Algol merupakan bahasa automatic yang cocok untuk memecahkan permasalahan yang membutuhkan perhitungan numerik untuk beberapa pengolahan logic.
g) PL/1 (Programming Language)
Programming language merupakan bahasa komputer yang dapat digunakan dalam segala bahasa. Pada kenyataannya bahasa ini sulit dipelajari dan hanya dapat digunakan pada mesin IBM.
h) RPG (Report Program Generation)
RPG adalah program untuk pengolahan laporan. Bahasa ini sangat populer di lingkungan minicomputer dan mainframe IBM. RPG diluncurkan pertama kali pada tahun 1964.
i) APL (Aritmathic Programming Language)
APL adalah bahasa komputer untuk memecahkan soal-soal matematika (ilmu hitung). Diperkenalkan dan diciptakan oleh Kenneth Iverson pada tahun 1962. Bahasa ini menggunakan keyboard khusus yang berisikan simbol-simbol yang kompleks yang memungkinkan untuk melakukan penyelesaian matematika yang kompleks.
4) Bahasa pemrograman generasi keempat
Bahasa pemrograman generasi keempat meliputi Microsoft Visual Basic, Visual J++, dan Visual C++ yang dikembangkan dari keluarga besar bahasa tingkat tinggi untuk memudahkan pemrograman.
Instruksi yang berbentuk bilangan binary disebut dengan object code. Sedangkan kumpulan dari instruksi-instruksi yang membentuk suatu program dalam bahasa mesin disebut dengan object program. Tiap-tiap instruksi object code terdiri dari operation code (op code) dan open and. Penulisan program dengan bahasa mesin dirasakan terlalu sulit dan memakan banyak waktu, maka dikembangkan languange software sebagai alternatif penulisan program yang lebih mudah. Penerjemah bahasa pemrograman dibedakan menjadi 3 (tiga) macam, yaitu assembler, kompiler, dan interpreter.
1) Asembler adalah program yang digunakan untuk menerjemahkan kode sumber dalam bahasa rakitan (assembly) ke dalam bahasa mesin.
2) Kompiler adalah program penerjemah yang mengonversi semua kode sumber selain dalam bahasa rakitan menjadi kode objek. Hasil berupa kode objek inilah yang dapat dijalankan oleh komputer. Proses untuk melakukan penerjemahan ini biasa disebut kompilasi.
3) Intepreter adalah program yang menerjemahkan satu per satu instruksi dalam kode sumber kemudian menjalankan instruksi yang telah diterjemahkan tersebut.
Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin sehingga dapat diterima dan dimengerti oleh komputer. Pada dasarnya bahasa komputer dapat dibedakan menjadi empat macam, yaitu bahasa mesin dan bahasa assembly (kedua bahasa ini termasuk bahasa tingkat rendah/low level language), bahasa tingkat tinggi (high level language), dan bahasa generasi keempat.
1) Bahasa mesin
Bahasa mesin termasuk ke dalam bahasa tingkat rendah (low level language) karena sifat dari bahasa mesin lebih berorientasi pada mesin. Bahasa ini hanya akan dipahami oleh komputer itu sendiri. Bahasa ini berupa kode-kode yang terdiri dari sekumpulan angka yang ada di dalam komputer yang biasanya diwakili oleh kode angka 1 (satu) dan 0 (nol). Kode ini merupakan sinyal elektronik yang memberitahu komputer apa yang harus dikerjakan. Dalam penggunaannya biasanya intruksi dituliskan dalam bentuk bahasa pemrograman yang akan disampaikan ke kompiler, assembler, atau interpreter yang bertugas untuk menerjemahkan bahasa pemrograman tadi ke bahasa mesin.
Assembler merupakan sebuah program. Program ini mengambil informasi yang dituliskan oleh programmer dalam bahasa assembly dan menerjemahkannya ke sebuah program yang dapat dieksekusi komputer. output assembler harus diproses oleh linker untuk menghasilkan program akhir.
2) Bahasa assembly
Bahasa asembly adalah bahasa pemrograman yang menggunakan bahasa rakitan. Bahasa assembly kebanyakan digunakan untuk pengendalian hardware yang diwujudkan dalam kependekan kata-kata sebagai pengganti kode-kode biner, misalnya JNZ (jump non zero) yang artinya lompatlah jika tidak sama dengan nol. Kelanjutan dari bahasa assembly adalah sebuah program yang berguna untuk mengambil informasi yang dituliskan oleh seorang programmer dalam bahasa assembly serta menerjemahkannya ke dalam sebuah program yang dapat dieksekusi oleh komputer, program ini dinamakan assembler. Output assembler harus diproses oleh linker untuk menghasilkan program akhir.
3) Bahasa tingkat tinggi (high level languange)
Bahasa tingkat tinggi memiliki arti bahwa bahasa ini lebih mudah dimengerti oleh banyak orang karena memang dirancang untuk orang yang awam. Bahasa pemrograman yang termasuk dalam bahasa tingkat tinggi adalah sebagai berikut.
a) BASIC (Beginners All-purposes Symbolic Instruction Code)
Bahasa program ini dikembangkan pada tahun 1965 di Darmouth College. Penciptanya adalah John Kemeny dan Thomas Kurtz. BASIC dipergunakan dalam aplikasi matematika. Selain itu, BASIC juga digunakan dalam beberapa aplikasi lainnya seperti akuntasi, permainan, file simulasi, dan lain-lain.
Keunggulan BASIC terletak pada kemudahan dalam pemakaiannya, sedangkan kelemahannya adalah tidak mendukung operasi bilangan kompleks dan penanganan terhadap berkas sangat terbatas sehingga tidak cocok untuk aplikasi bisnis.
b) LOGO
Bahasa ini dikembangkan untuk pendidikan dan simulasi pengajaran pada anak-anak dalam menyelesaikan masalah dan melakukan pemrograman. Ditemukan pada tahun 1967 oleh Seymour Papert dengan menggunakan LISP, yaitu satu jenis bahasa pemrograman untuk kecerdasan buatan. Logo sangat mudah digunakan untuk membuat gambar, sehingga banyak digunakan dalam menghasilkan laporan-laporan bisnis dalam bentuk grafik.
c) COBOL (Common Business Oriented Language)
Program jenis ini sering digunakan dalam dunia bisnis dan komersial, mulai dikembangkan pada tahun 1959. Namun sampai saat ini, program ini masih banyak digunakan pada jenis komputer minicomputer dan mainframe. COBOL memiliki keunggulan-keunggulan sebagai berikut.
1) Memiliki kode untuk semua flatform yang sama, sehingga tidak tergantung pada mesin.
2) Menggunakan kata-kata bahasa Inggris, sehingga sangat mudah dipahami oleh programmer.
3) Penanganan masukan dan keluaran mudah dilakukan.
4) Penanganan terhadap berkas sudah tersedia dan bahkan mendukung berbagai macam tipe-tipe berkas seperti sekuensial dan indeks.
Kelemahan dari bahasa ini adalah struktur penulisan program yang sangat banyak dan sangat kaku sehingga membuat programmer menjadi lelah dan bosan.
d) PASCAL
Bahasa ini ditemukan oleh Nicklaus Wirth tahun 1971. Bahasa ini dibuat untuk pengajaran pemrograman. Bahasa ini sangat populer di kalangan mahasiswa ilmu komputer dan teknik. Pascal memiliki keunggulan dibandingkan Fortran maupun Basic, yaitu sangat mudah dipelajari serta memiliki dukungan fungsi-fungsi matematika yang sangat lengkap. Namun Pascal juga memiliki kelemahan, yaitu tidak dapat mendukung operasi bilangan kompleks dan tidak mendukung sarana aplikasi bisnis. Keberadaan Pascal dapat pula dijadikan bahasa dasar dalam pembuatan kode perangkat lunak Delphi (software untuk pengembangan program di lingkungan Windows). Pascal juga digunakan sebagai landasan pembuatan kode pada Kylix, yaitu software pengembang program di lingkungan Linux.
e) Fortran (Formula Translator)
Fortran merupakan bahasa tingkat tinggi yang pertama kali diciptakan. Bahasa ini mulai dikembangkan pada tahun 1956 oleh John Backus di IBM. Fortran digunakan dalam bidang aplikasi matematika, yaitu dalam hal perumusan dan perhitungan sehingga menjadi andalan keunggulan dari bahasa ini. Namun Fortran memiliki kelemahan, yaitu operasi masukan dan keluarannya sangat kaku dan sulit dipahami. Untuk membuat bahasa fortran, seorang programmer tidak harus mengetahui bahasa mesin, tetapi harus memahami tata bahasa dan peraturan bahasa fortran.
f) Algol (Algoritma Language)
Algol merupakan bahasa automatic yang cocok untuk memecahkan permasalahan yang membutuhkan perhitungan numerik untuk beberapa pengolahan logic.
g) PL/1 (Programming Language)
Programming language merupakan bahasa komputer yang dapat digunakan dalam segala bahasa. Pada kenyataannya bahasa ini sulit dipelajari dan hanya dapat digunakan pada mesin IBM.
h) RPG (Report Program Generation)
RPG adalah program untuk pengolahan laporan. Bahasa ini sangat populer di lingkungan minicomputer dan mainframe IBM. RPG diluncurkan pertama kali pada tahun 1964.
i) APL (Aritmathic Programming Language)
APL adalah bahasa komputer untuk memecahkan soal-soal matematika (ilmu hitung). Diperkenalkan dan diciptakan oleh Kenneth Iverson pada tahun 1962. Bahasa ini menggunakan keyboard khusus yang berisikan simbol-simbol yang kompleks yang memungkinkan untuk melakukan penyelesaian matematika yang kompleks.
4) Bahasa pemrograman generasi keempat
Bahasa pemrograman generasi keempat meliputi Microsoft Visual Basic, Visual J++, dan Visual C++ yang dikembangkan dari keluarga besar bahasa tingkat tinggi untuk memudahkan pemrograman.
terimakasih telah membaca postingan saya kawan. ...
Komentar
Posting Komentar