Ditujukan untuk memenuhi salah satu tugas mata kuliah Teknik Kompilasi
Dosen :
Disusun oleh :
TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPTER
UNIVERSITAS KOMPUTER INDONESIA
2019
20 Bahasa Pemrograman & Kompiler-nya
Pengertian :
Sejarah :
Compiler :
- GnuCOBOL
GnuCobol adalah implementasi gratis dari bahasa pemrograman
COBOL. Awalnya dirancang oleh Keisuke Nishida, pengembangan
diambil oleh Roger While. Perkembangan terbaru sekarang dipimpin
oleh Simon Sobisch, Sergey Kashyrin, Ron Norman, Edward Hart,
dkk.
- IBM COBOL
IBM COBOL adalah nama COBOL compiler yang dikembangkan
untuk lingkungan IBM. Kompiler COBOL IBM saat ini didukung
dalam system operasi z / OS, VSE / ESA, z / VM, AIX dan Windows.
2. Bahasa Pemrograman : C#
Pengertian :
C# (C sharp) merupakan sebuah bahasa pemrograman berorientasi
objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif
kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan
bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa
yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java,
Delphi, Visual Basic, dan lain-lain dengan beberapa penyederhanaan.
Sejarah :
Contoh Kode :
Compiler :
- Mono
Mono adalah open-source project dan gratis untuk membuat kerangka
kerja perangkat lunak yang kompatibel dengan .NET Framework yang
kompatibel dengan ECMA, termasuk kompiler C# dan Common
Language Runtime. Kompiler Mono C# dianggap memiiki fitur
lengkap untuk C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0 dan C# 6.0
(ECMA) dan memiliki dukungan parsial untuk C# 7.
3. Bahasa Pemrograman : ALGOL68
Pengertian :
Sejarah :
Contoh Kode :
Compiler :
- FLACC
FLACC adalah kompiler dari bahasa pemrograman ALGOL 68.
Chris Thomson dan Colin Broughton mendirikan Chion
Corporation yang mengembangkan dan memasarkan FLACC (Full
Language Algol 68 Checkout Compiler). Sistem compiler dan run-
time ini dijalankan pada IBM 370 dan mainframe yang kompatibel,
dan termasuk fitur debugging yang berasal dari WATFIV.
- Algol 68 Genie
Algol 68 Genie adalah perangkat lunak gratis yang didistribusikan
di bawah GNU General Public License. Algol 68 Genie adalah
compiler-interpreter cepat yang menempati peringkat diantara
implementasi bahasa yang paling lengkap.
Pengertian :
Sejarah :
Cobra merupakan sebuah proyek open-source yang dirilis pada 29
Februari 2009, Cobra dirancang oleh Charles Esterbrook di bawah
Lisensi MIT. Bahasa pemrograman cobra sebagian besar terinspirasi oleh
bahasa pemrograman lain seperti Python, Eiffel, C #, dan Objective-C.
Contoh Kode :
Compiler :
- Mono
Mono adalah implementasi Open Source dari banyak komponen
Microsoft .NET environmet, terutama termasuk kompiler C# dan kompiler
Visual Basic .NET (dalam pengembangan). Tujuannya adalah untuk saling
kompatibel semaksimal mungkin. biner .exe yang dibuat Mono harus
berjalan tidak berubah pada mesin Windows dengan .NET yang diinstal,
dan sebaliknya.
Pengertian :
Sejarah :
Eiffel mulai didesain oleh Bertrand Meyer pada tahun 1985 untuk
meningkatkan kualitas pengembangan perangkat lunak komersial. Eiffel
diluncurkan setahun berikutnya dan pada tahun 2005 masuk ke dalam
bahasa pemrograman berstandar ISO.
Contoh Kode :
Compiler :
- LibertyEiffel
LibertyEiffel merupakan compiler Eiffelgratis dan merupakan
kelanjutan dari smartEiffel, menerjemahkan bahasa Eiffel ke bahasa C.
- EiffelStudio
EiffelStudio adalah lingkungan pengembangan untuk bahasa
pemrograman Eiffel yang dikembangkan dan didistribusikan oleh
Eiffel Software. EiffelStudio berisi kombinasi tool yang terintegrasi di
bawah satu antarmuka pengguna: kompiler, interpreter, debugger,
browser, metrics tool, profiler, diagram and code inspector tool.
- SmartEiffel
SmartEiffel adalah kompiler Eiffel gratis. Kompiler ini
menerjemahkan kode Eiffel menjadi C atau Java bytecode. Oleh
karena itu dapat digunakan untuk menulis program yang berjalan di
hampir semua platform di mana kompiler ANSI C atau Java Virtual
Machine ada.
- Visual Eiffel
Visual Eiffel adalah implementasi dari bahasa pemrograman Eiffel
yang dikembangkan dan didistribusikan oleh Object Tools GmbH,
sebuah perusahaan asal Jerman. Sementara banyak kompiler Eiffel
lainnya yang menerjemahkan kode Eiffel menjadi C, Java bytecode
atau bytecode untuk .NET, kompiler Visual Eiffel menerjemahkan
kode Eiffel menjadi kode X86 asli.
Pengertian :
Sejarah :
Compiler :
- FreeBASIC
FreeBASIC merupakan salah satu compiler BASIC yang gratis dan
open source.
Pengertian :
Sejarah :
Pada tahun 1950, seorang ahli dari pabrik computer IBM
(International Bussiness Machine) bernama John Backus berhasil
mengembangkan suatu bahasa komputer yang mudah dipakai, bahkan oleh
orang yang awam sekalipun. Bahasa itu disebutnya FORTRAN (Formula
Translation). Bahasa ini cukup mudah dipahami dan efektif untuk
digunakan.
Contoh Kode :
Compiler :
- G95
G95 adalah compiler fortran 95 yang dikembangkan oleh Andrew
Vaught.
- Absoft Fortran Compiler
Absoft Fortran Compiler adalah set kompiler Fortran untuk Microsoft
Windows, Apple Macintosh, dan Linux yang diproduksi oleh Absoft
Corporation.
- GNU Fortran
GNU Fortran atau GFortran adalah nama kompiler GNU Fortran yang
merupakan bagian dari GNU Compiler Collection (GCC). GFortran
mencakup dukungan penuh untuk bahasa Fortran 95, dan mendukung
sebagian besar standar Fortran 2003 dan Fortran 2008.
8. Bahasa Pemrograman : F#
Pengertian :
Contoh Kode :
Compiler :
- The F# Compiler
The F# Compiler adalah compiler F# yang dikembangkan oleh F#
Software Foundation.
Sejarah :
Awalnya, Common Lisp diciptakan sebagai penerus Maclisp,
bertujuan untuk menjadi versi bahasa Lisp yang ditingkatkan dan
terstandarisasi. Ketika awal tahun 1980-an, banyak kelompok sudah
bekerja untuk mengajukan penerus yang cocok untuk Maclisp. Ada
banyak proyek berbeda yang berjalan pada saat itu termasuk ZetaLisp,
NIL, Spice Lisp dan S-1 Lisp.
Penciptaan Common Lisp bertujuan untuk menggabungkan dan
kemudian memperluas fitur dari berbagai dialek bahasa Lisp. Penyatuan
ini kemudian diikuti oleh standarisasi penerus bahasa pemrograman Lisp.
Pada tahun 1981, sebuah inisiatif yang diambil oleh Bob Engelmore,
manajer ARPA mengarah ke awal pekerjaan pada Common Lisp. Dia
ingin memulai pengembangan dialek standar komunitas Lisp. Perancangan
awal yang terjadi pada waktu itu melalui surat elektronik. Tinjauan
pertama dari dialek baru ini, Common Lisp diberikan oleh Guy Lewis
Steele Jr di simposium ACM tentang pemrograman fungsional dan LISP
tahun 1982.
Pada tahun 1984, buku 'Common Lisp the Language', edisi
pertama, diterbitkan, menandai rilis dokumentasi bahasa pertama untuk
Common Lisp. Pada tahun 1990 diterbitkan edisi kedua. Publikasi yang
lebih baru digabungkan dengan perubahan yang dibuat pada bahasa
tersebut sebagai hasil dari proses standardisasi Common Lisp ANSI. Pada
tahun 1994, standar ANSI Common Lisp yang difinalisasi diterbitkan.
Setelah publikasi itu, tidak ada pembaruan resmi untuk standar yang telah
dirilis atau dipublikasikan. Namun, banyak ekstensi dan perangkat
tambahan telah diperkenalkan ke dalam bahasa, seperti Unicode, IO
berbasis CLOS dan Concurrency. Semua peningkatan ini disebabkan oleh
implementasi dan perpustakaan seperti Quicklisp.
Contoh Kode :
Compiler :
Pengertian :
Sejarah :
Compiler :
Pengertian :
Dylan adalah bahasa pemrograman multi-paradigma yang
mencakup dukungan untuk pemrograman fungsional, berorientasi objek,
dinamis serta reflektif sambil memberikan model pemrograman yang
dirancang untuk mendukung pembuatan kode mesin yang efisien,
termasuk kontrol fine-grained lebih dari perilaku dinamis dan statis.
Sejarah :
Contoh Kode :
Compiler :
- Open Dylan
Open Dylan adalah kompiler dan satu set perpustakaan untuk bahasa
pemrograman Dylan. DFMC (Dylan Flow Machine Compiler) adalah
kompiler Dylan yang dihasilkan dari pekerjaan di Harlequin di
DylanWorks. DFMC adalah kompiler yang masih digunakan sampai
sekarang di Open Dylan.
- Gwydion Dylan
Gwydion Dylan adalah kompiler Bahasa pemrograman Dylan yang
portable dan mengoptimalkan. Awalnya ditulis oleh Gwydion Group di
CMU dan sekarang dikelola oleh sukarelawan.
Pengertian :
Sejarah :
Forth pertama kali terpapar oleh programmer lain pada awal 1970-
an, dimulai dengan Elizabeth Rather di US National Radio Astronomy
Observatory. Setelah pekerjaan mereka di NRAO, Charles Moore dan
Elizabeth Rather membentuk FORTH, Inc. pada tahun 1973, memurnikan
dan mem-porting sistem Forth ke banyak platform lain dalam dekade
berikutnya.
Forth dinamakan demikian karena pada tahun 1968 "file yang
memegang penerjemah diberi label KEEMPAT, untuk perangkat lunak
generasi ke-4 tetapi sistem operasi IBM 1130 membatasi nama file hingga
5 karakter." -link-go bahasa pemrograman generasi ketiga, atau perangkat
lunak untuk perangkat keras "generasi keempat", bukan bahasa
pemrograman generasi keempat karena istilah tersebut telah digunakan.
Karena Charles Moore sering berpindah dari satu pekerjaan ke
pekerjaan lain sepanjang kariernya, tekanan awal pada bahasa berkembang
adalah kemudahan untuk berpindah ke arsitektur komputer yang berbeda.
Sistem Forth sering digunakan untuk memunculkan perangkat keras baru.
Sebagai contoh, Forth adalah perangkat lunak penduduk pertama pada
chip Intel 8086 baru pada tahun 1978 dan MacFORTH adalah sistem
pengembangan penduduk pertama untuk Apple Macintosh pertama pada
tahun 1984.
Forth menjadi populer pada 1980-an, karena sangat cocok untuk
mikrokomputer kecil pada waktu itu, karena kompak dan portabel.
Setidaknya satu komputer rumah, British Jupiter ACE, memiliki Forth
dalam sistem operasi residen ROM-nya. Canon Cat juga menggunakan
Forth untuk pemrograman sistemnya, dan Rockwell memproduksi
mikrokomputer chip tunggal dengan kernel Forth, R65F11 dan R65F12.
Silsilah keluarga lengkap ada di TU-Wien. Insoft GraFORTH adalah versi
Forth dengan ekstensi grafik untuk Apple II. ASYST adalah ekspansi
Forth untuk mengukur dan mengendalikan pada PC
Contoh Kode :
Compiler :
- GForth
Gforth adalah implementasi gratis dan portabel dari bahasa
pemrograman Forth untuk sistem seperti Unix, Microsoft Windows,
dan sistem operasi lainnya. Tujuan utama Gforth adalah mematuhi
standar ANS Forth. Gforth adalah perangkat lunak gratis sebagai
bagian dari Proyek GNU.
- SwiftForth
13. Bahasa Pemrograman : Go
Pengertian :
Go (Go Lang) adalah sebuah bahasa pemrograman yang dibuat di
Google pada tahun 2009 oleh Robert Griesemer, Rob Pike, dan Ken
Thompson. Go adalah bahasa pemrograman yang dihimpun, diketik dalam
bahasa tradisi Algol dan C, dengan memory safety, garbage collection,
structural typing, dan CSP-style.
Sejarah :
Contoh Kode :
Compiler :
- GCCGO
Kompiler gccgo adalah antarmuka baru untuk GCC, kompilator GNU
yang banyak digunakan. Meskipun frontend itu sendiri di bawah BSD-
style license, gccgo biasanya digunakan sebagai bagian dari GCC dan
kemudian dicakup oleh GNU Generral Public License.
Pengertian :
Sejarah :
Selama tahun1980-an, banyak peneliti yang menemukan dan
memperluas berbagai bahasa pemrograman fungsional. Contohnya Bahasa
pemrograman ML, Hope dan Miranda. Namun penelitian terpecah-pecah
di berbagai bahasa, dan banyak yang tidak memiliki kerangka kerja 'open-
source'. Jadi sekelompok akademisi membentuk komite untuk merancang
dan mengimplementasikan bahasa baru, yang akan digunakan sebagai
wahana untuk penelitian serta untuk pengajaran pemrograman fungsional.
Setelah beberapa tahun bekerja dan berargumentasi, panitia menerbitkan
Laporan Bahasa Haskell pertama pada tahun 1990. Ini adalah tonggak
utama: akhirnya ada bahasa fungsional umum di mana komunitas
penelitian dapat bersatu.
Bahasa Haskell telah tumbuh dalam popularitas sejak itu,
meskipun memiliki tujuan untuk menghindari kesuksesan dengan segala
cara. Ada beberapa implementasi yang tersedia secara bebas. Yang paling
umum digunakan adalah Glasgow Haskell Compiler, yang memiliki
interpreter (ghci) dan compiler (ghc). Banyak orang berkontribusi pada
ekosistem perangkat lunak ini. Banyak dari mereka telah bekerja di
Universitas Glasgow seperti Simon Marlow, Simon Peyton Jones, dan Phil
Wadler.
Contoh Kode :
Compiler :
Pengertian :
Mercury adalah bahasa pemrograman logika murni yang ditujukan
untuk pembuatan program yang besar, cepat, dan andal. Sintaksis mercury
didasarkan pada sintaksis Prolog, tetapi secara semantik kedua bahasa
tersebut sangat berbeda karena kemurniannya, jenisnya, modenya,
determinisme dan sistem modulnya.
Sejarah :
Mercury adalah bahasa pemrograman logika fungsional yang
dibuat untuk penggunaan di dunia nyata. Versi pertama dikembangkan di
Departemen Ilmu Komputer, University of Melbourne, oleh Fergus
Henderson, Thomas Conway, dan Zoltan Somogyi, di bawah pengawasan
Somogyi, dan dirilis pada 8 April 1995.
Contoh Kode :
Compiler :
Pengertian :
Swift adalah bahasa pemrograman yang kuat dan intuitif untuk
macOS, iOS, watchOS dan tvOS. Menulis kode Swift bersifat interaktif
dan menyenangkan, sintaksisnya ringkas namun ekspresif, dan Swift
menyertakan fitur modern yang disukai pengembang. Kode Swift aman
berdasarkan desain, namun juga menghasilkan perangkat lunak yang
berjalan secepat kilat.
Sejarah :
Chris Lattner memulai pengembangan Swift pada tahun 2010 dan
berkolaborasi dengan programmer lain di Apple dalam perjalanan
pengembangan bahasa ini. Gagasan bahasa untuk Swift diambil dari Rust,
Objective-C, Ruby, Haskell, C #, CLU, Python, dan berbagai bahasa
pemrograman lainnya. Rilis aplikasi Apple Worldwide Developers
Conference (WWDC) di tahun 2014, menandai pengenalan resmi aplikasi
yang ditulis dalam Swift. Selama konferensi, Apple merilis prototipe
bahasa dan membuatnya tersedia untuk pengembang Apple yang terdaftar.
Bagaimanapun Apple tidak berjanji bahwa versi final akan persis seperti
prototipe. Apple juga berencana untuk mengembangkan beberapa
konverter kode sumber untuk rilis final.
Swift versi 1.0 dirilis pada 9 September 2014. Perusahaan ini juga
memperkenalkan Gold Master of Xcode 6.0 untuk iOS secara
berdampingan dengan rilis ini. Swift 1.1 diperkenalkan, bersama dengan
Xcode 6.1, pada 22 Oktober 22, 2014. Berbagai perkembangan berlanjut
hingga diperkenalkannya Swift 2.0 di WWDC 2015.
Contoh Kode :
Compiler :
- LLVM (Low Level Virtual Machine)
Proyek infrastruktur kompiler LLVM adalah “kumpulan teknologi
modular, reusable compiler dan toolchain” yang digunakan untuk
mengembangkan kompiler font-end dan back-end. LLVM saat ini
mendukung kompilasi Bahasa pemrograman ActionScript, Ada, C#,
Common Lisp, Crystal, CUDA, D, Delphi, Fortran, Graphical G
Programming Language, Halide, Haskell, Java bytecode, Julia, Kotlin,
Lua, Objective-C, OpenGL Shading Language, Pony, Python, R,
Ruby, Rust, Scala, Swift, and Xojo.
Pengertian :
Modula-2 adalah bahasa prosedural tujuan umum, cukup fleksibel
untuk melakukan pemrograman sistem, tetapi dengan aplikasi yang lebih
luas. Secara khusus, modula-2 dirancang untuk mendukung kompilasi
terpisah dan abstraksi data secara langsung. Sebagian besar sintaksis
didasarkan pada bahasa Pascal . Modula-2 dirancang agar mirip dengan
Pascal, dengan beberapa elemen dan ambiguitas sintaksis dihilangkan dan
penambahan penting dari konsep modul, dan dukungan bahasa langsung
untuk multiprogramming.
Sejarah :
Modula-2 adalah bahasa pemrograman komputer yang dirancang
dan dikembangkan antara tahun 1977 dan 1985 oleh Niklaus Wirth di
Swiss Federal Institute of Technology di Zurich (ETH Zurich) sebagai
revisi bahasa pemrograman Pascal untuk melayani sebagai bahasa
pemrograman tunggal untuk sistem operasi dan perangkat lunak aplikasi
untuk personal workstation Lilith.
Modula-2 dilihat oleh Niklaus Wirth sebagai penerus bahasa
pemrograman Pascal dan Modula. Desain Bahasa modula-2 juga
dipengaruhi oleh bahasa Mesa.
Contoh Kode :
Compiler :
Pengertian :
Lua merupakan bahasa pemrograman yang cukup populer dan
sangat banyak digunakan dalam dunia pengembangan games, Lua sendiri
adalah bahasa pemrograman yang ringan, efisien, namun powerful. Bahasa
pemrograman lua mendukung skema Object Oriented Programming,
Pemrograman Prosedural, serta Pemrograman Fungsional.
Sejarah :
Lua yang berarti Bulan dalam bahasa Portugis, pertama kali
dikembangkan di Brazil pada tahun 1993 oleh Roberto Ierusalimschy,
Luiz Henrique de Figueiredo, dan Waldemar Celes yang merupakan
anggota Computer Graphics Technology Group (Tecgraf) di Universitas
Pontifical Catholic, Rio de Janeiro, Brasil. Berdasarkan permintaan dari
perusahaan Petrobas untuk simulasi data pada salah satu aplikasi yang
dimilikinya. Hingga kini, penggunaan Lua sudah berkembang sangat
pesat.
Mulai dari aplikasi umum, hingga aplikasi yang memiliki fungsi
spesifik. Lua paling sering digunakan sebagai bahasa script untuk
pengembangan permainan (games), salah satunya adalah Corona SDK
yang dimana menggunakan codebase lua untuk pengembangan
aplikasi/game berbasis mobile.
Contoh Kode :
Compiler :
- LuaJIT
LuaJIT adalah Just-In-Time Compiler (JIT) untuk bahasa
pemrograman Lua.
- LLVM (Low Level Virtual Machine)
Proyek infrastruktur kompiler LLVM adalah “kumpulan teknologi
modular, reusable compiler dan toolchain” yang digunakan untuk
mengembangkan kompiler font-end dan back-end. LLVM saat ini
mendukung kompilasi Bahasa pemrograman ActionScript, Ada, C#,
Common Lisp, Crystal, CUDA, D, Delphi, Fortran, Graphical G
Programming Language, Halide, Haskell, Java bytecode, Julia, Kotlin,
Lua, Objective-C, OpenGL Shading Language, Pony, Python, R,
Ruby, Rust, Scala, Swift, and Xojo.
Pengertian :
Smalltalk adalah bahasa pemrograman berorientasi objek yang
dikembangkan oleh Xerox PARC. Ide dasar Smalltalk meliputi: Semua
adalah objek, Objek bisa saling berkomunikasi melalui messages atau
berita dan semua tersedia untuk dimodifikasi. Versi lain dari bahasa ini
adalah smalltalk 76 dan smalltalk 80. Refleksi pertama terutama fitur
bahasa ditafsirkan seperti Smalltalk dan Lisp.
Sejarah :
Smalltalk dikembangkan oleh Learning Research Group (LRG) di
Pusat Penelitian Palo Alto Xerox pada awal 70-an. Kelompok ini dipimpin
oleh Alan Kay yang mengerjakan visi "Dynabook". Komputer dapat
digunakan secara kreatif seperti buku yang dinamis, bahkan oleh anak-
anak. Penjelajahan mereka membuat mereka mengembangkan tidak hanya
visi komputer notebook yang sudah ada (Dynabook), tetapi juga ke bahasa
pemrograman berorientasi objek Smalltalk. Sistem pemrograman
Smalltalk pertama disebut Smalltalk-72 dan dirancang untuk mendukung
paradigma pemrograman baru Alan Kay yang disebut pemrograman
berorientasi objek.
Contoh Kode :
Compiler :
- GNU Smalltalk
GNU Smalltalk adalah implementasi dari bahasa pemrograman
Smalltalk oleh GNU Project.
20. Bahasa Pemrograman : Scala
Pengertian :
Scala “Scalable language” merupakan bahasa pemrograman yang
bersifat functional dan object oriented. Bahasa pemrograman Scala ditulis
oleh Martin Odersky, beliau merupakan seseorang yang membuat fitur
Generic di Java, serta berbagai fitur yang membuat Java lebih baik.
Sejarah :
Scala adalah bahasa pemrograman tujuan umum. Scala dibuat dan
dikembangkan oleh Martin Odersky. Martin mulai mengerjakan Scala
pada tahun 2001 di Ecole Polytechnique Federale de Lausanne (EPFL).
Secara resmi dirilis pada 20 Januari 2004. Scala bukan ekstensi dari Java,
tetapi sepenuhnya bisa dioperasikan dengan JVM. Saat kompilasi, file
Scala diterjemahkan ke bytecode Java dan berjalan pada JVM (Java
Virtual machine).
Contoh Kode :
Compiler :
- GraalVM
GraalVM adalah mesin virtual universal untuk menjalankan aplikasi
yang ditulis dalam bahasa JavaScript, Python, Ruby, R, JVM seperti
Java, Scala, Kotlin, Clojure, dan bahasa berbasis LLVM seperti C dan
C++.
- Reasonable Scala compiler (RSC)
Reasonable Scala Compiler adalah kompiler Scala eksperimental yang
berfokus pada kecepatan kompilasi. Proyek ini dikembangkan oleh
Language Tools team di Twitter.
- Java Virtual Machine (JVM)
Java virtual machine (JVM) adalah mesin virtual yang memungkinkan
komputer untuk menjalankan program Java serta program yang ditulis
dalam bahasa lain yang juga dikompilasi ke Java bytecode. Dari
bahasa-bahasa baru yang telah dibuat dari awal untuk dicompile ke
Java bytecode yaitu; Clojure, Apache Groovy, Scala dan Kotlin
mungkin yang paling populer.