Belajar Javascript Part 2 – Bahasa Pemprograman (Programming Language)
Belajar Javascript Part 2 – Bahasa Pemprograman (Programming Language) – Bahasa pemprograman sudah ada sejak pertama kali ada komputer sekitar 1970-an. Jumlah bahasa pemprograman saat ini, jumlahnya sangat banyak. Untuk daftar lengkapnya bisa lihat langsung dalam daftar bahasa pemprograman yang ada di Wikipedia. Tapi tidak semua bahasa pemprograman populer. Maksudnya populer disini adalah bahasa pemprograman yang sering digunakan oleh banyak aplikasi-aplikasi terkini, digunakan oleh banyak orang, komunitasnya banyak, dan banyak pekerjaan yang membutuhkan keahlian bahasa pemprograman tersebut. Berikut refensi bahasa pemprograman yang populer : C, C++, C#, Java, Javascript, PHP, Python, Objective-C, Ruby, Visual Basic.
Di catatan saya yang membahas mengenai ‘konsep dasar pempropgraman’ menyatakan bahwa pemprograman adalah sebuah instruksi yang sederhana kepada komputer. Namun hal tersebut berbanding terbalik dengan jumlah bahasa pemprograman yang ada saat ini jumlahnya ratusan. Kenapa banyak bahasa pemprograman?, padahal kita sebaiknya memberikan instruksi sederhana pada komputer. Kenapa tidak hanya satu saja bahasa pemprograman ?. Sebagai contoh bahasa komputer saja. Sama seperti manusia, banyak bahasa yang bisa digunakan. Karena banyak orang yang ingin menciptakan bahasa pemprograman sendiri sesuai dengan perkembangan teknologi. Lalu ada juga program tertentu yang memang hanya bisa jalan dengan satu bahasa pemprograman specifik/tertentu saja.
Bahasa komputer sebenarnya ada yang disebut dengan Bahasa Mesin. Bahasa Mesin tersebut dipahami oleh Processor/CPU/Otak sebuah komputer. Tapi sayangnya Bahasa Mesin tidak bisa memahami bahasa pemprograman, seperti bahasa C, C++, C#, Java, Javascript, PHP, Python, Objective-C, Ruby, Visual Basic dan lain sebagainya. Lalu kenapa kita tidak belajar bahasa komputer saja?. karena bahasa komputer atau bahasa mesin, hampir tidak mungkin bisa kita tuliskan. Kalau pun kita bisa menuliskan, orang lain tidak mungkin bisa baca. Karena bahasa mesin hanya untuk mesin, bukan untuk manusia. Karena itu kita perlu menjembatani bahasa mesin dan bahasa manusia ke dalam bahasa pemprograman seperti bahasa pemprograman C, C++, C#, Java, Javascript, PHP, Python, Objective-C, Ruby, Visual Basic dan lain sebagainya.
Bahasa Pemprograman |
Lihat gambar di atas, Perhatikan CPU sebuah komputer akan memahami bahasa mesin, sehingga bahasa yang palin mendekat dengan posisi CPU disebut dengan bahasa mesin. Sedangkan bahasa yang paling jauh adalah bahasa yang paling dekat dengan bahasa manusia. Bahasa yang paling dekat dengan bahasa mesin adalah Bahasa Assembly. Bahasa Assembly ini disebut dengan Bahasa Tingkat Rendah/Low Level Language. Sedangkan bahasa yang mendekati ke bahasa manusia seperti bahasa pemprograman C, C++, C#, Java, Javascript, PHP, Python, Objective-C, Ruby, Visual Basic dan lain sebagainya disebut dengan Bahasa Tingkat Tinggi/High Level Language.
Bahasa-bahasa tersebut semakin ke atas semakin mudah untuk ditulis dan dipahami oleh manusia. Namun semakin lambat dalam proses load-nya, karena bahasa tersebut harus diterjemahkan dahulu dan dioptimasi kedalam bahasa mesin terlebih dahulu. Tapi hal tersebut tidak perlu dikhawatirkan dengan tingkat teknologi yang semakin meningkat seiring dengan berjalannya waktu. Untuk saat ini, perbedaan kecepatan itu tidak terlalu penting, karena hardware atau CPU sebuah perangkat semakin canggih untuk mengatasi hal tersebut. Yang penting sekarang adalah bagaimana kita bisa menuliskan bahasa-bahasa program tersebut menjadi kode-kode program yang disebut dengan ‘Source Code’. Apabila kita Ngoding, apapun bahasa pemprograman yang digunakan, sebenarnya kita menuliskan Source Code yang akan diterjemahkan ke dalam Bahasa Mesin.
Untuk mulai menulis Program/Source Code/Statement, ada 3 hal yang perlu diperhatikan sebagai berikut:
1. Bagaimana Cara Menulis Source Code
Sebelum belajar programming lebih jauh. Kita harus tahu bagaimana menulis Source Code sebuah program, termasuk dimana menulis source code tersebut dan menggunakan aplikasi apa. Untuk cara penulisan sintak setiap bahasa pemprograman memiliki aturan yang berbeda. Namun pada dasarnya setiap bahasa pemprograman ditulis dengan menggunakan text sederhana atau yang disebut dengan Plain Text. Setiap bahasa pemprograman tersebut bisa ditulis dengan menggunakan aplikasi text editor yang sudah ada pada peranglat komputer kita seperti Notepad apabila kita menggunakan sistem operasi Windows, atau Text Edit apabila kita kita menggunakan sistem operasi Mac.
Notepad & Text Edit |
Jadi hanya dengan bermodalkan Notepad atau Text Edit sebenarnya cukup untuk membuat sebuah program, karena yang kita tuliskan hanya text sederhana sama seperti kita menuliskan text dengan ekstensi .txt. Namun untuk membuat sebuah program, ekstensi file tersebut akan sangat tergantung dengan bahasa pemprograman apa yang akan kita gunakan. Perhatikan contoh gambar di bawah untuk penulisan source code untuk sebuah program sederhana yang ingin menampilkan text ‘Hello, World!’ ke layar dengan menggunakan Text Edit pada sistem operasi Mac. Penulisan source code tersebut sama seperti penulisan text sederhana, hanya ekstensi filenya saja yang berbeda. Untuk gambar pertama karena menggunakan bahasa pemprograman javascript maka menggunakan ekstensi file .js. Sedangkan Untuk gambar kedua karena menggunakan bahasa pemprograman Phyton maka menggunakan ekstensi file .py. lalu selanjutnya, Untuk gambar ketiga karena menggunakan bahasa pemprograman Rubymaka menggunakan ekstensi file .ruby. Terakhir, Untuk gambar keempat karena menggunakan bahasa pemprograman Pearl maka menggunakan ekstensi file .pl. Dengan contoh ini menekankan bahwa yang ditulis pada bahasa pemprograman adalah Plain Text atau text sederhana, bukan Rich Text.
Plain Text |
Cara penulisan text itu ada 2 jenis. Pertama dengan menggunakan Plain Text dan yang kedua menggunakan Rich Text. Untuk penulisan text dengan menggunakan Rich Text, kita bisa lihat contohnya ketika kita menulis dengan menggunakan software Microsoft Word pada sistem operasi Windows, atau ketika menggunakan Text Edit pada Mac dengan mode Rich Text. Pada software tersebut, kita bisa memberikan style dan format text yang kita tulis seperti memberikan style text bold, underlined, italic, warna, format batas rata, ukuran dan lain sebagainya. Penulisan dengan menggunakan Rick Text akan sangat berguna ketika kita ingin menuliskan text secara lebih kompleks. Untuk penulisan Source Code, hal-hal tersebut tidak diperlukan. Karena penulisan Source Code hanya menggunakan Plain Text.
Rich Text |
Setiap bahasa pemprograman memiliki sintak dan aturan yang berbeda dalam penulisan, meskipun beberapa bahasa pemprograman digunakan hanya untuk menuliskan satu buah program yang tujuannya sama, seperti menampilkan tulisan ‘Hello, World!’ ke layar. Cara penulisan atau sintak setiap bahasa pemprograman pastinya berbeda. Namun perlu diperhatikan, bahwa ada juga beberapa bahasa pemprograman yang memiliki sintak yang sama. Seperti contoh gambar dibawah ini. Sintak atau Statement untuk menampilkan text ‘Hello, World!’ ke layar dengan menggunakan bahasa Phyton sama dengan sintak menggunakan bahasa LUA. Meskipun kedua bahasa pemprograman tersebut adalah 2 jenis bahasa pemprograman yang berbeda, dan kebetulan ada beberapa jenis sintak yang sama. Contoh lain ketika kita menggunakan bahasa PHP, sintaknya sama dengan bahasa Phyton dan LUA tersebut, namun tidak akan jalan kalau tidak ditambahkan block sintak PHP seperti pada gambar tersebut. Sedangkan pada bahasa PASCAL sebelum kita menuliskan baris kode program tertentu, aturannya kita harus menuliskan dahulu nama programnya, setelah itu sebelum menulis suatu statement programnya harus diawali dengan keyword begin dan diakhiri dengan eyword end. Sedangkan untuk menulis sintak tersebut dengan menggunakan bahasa Java berbeda lagi sintaknya, begitu juga dengan bahasa C dan bahasa pemprograman lainnya memiliki sintak dan aturan yang berbeda, meskipun tujuannya sama hanya untuk menuliskan text ‘Hello, World!’ ke layar.
Sintak Bahasa Pemprograman |
Setiap bahasa pemprograman memiliki perilaku yang berbeda dalam menuliskan setiap sintaknya, Sedangkan kita tahu bahasa pemprograman itu jenis dan jumlahnya sangat banyak. Apakah kita harus menghafal setiap sintak yang pada bahasa pemprograman?. Jawabannya bisa ya atau bisa juga tidak. Kalau jawabannya ya, apabila kita menuliskan bahasa pemprograman dengan menggunakan Text Editor seperti Notepad dan Text Edit, yang hanya bisa digunakan untuk menuliskan plain text atau text sederhana saja. Mau tidak mau, apabila kita menuliskan source code dengan menggunakan text editor seperti itu, maka kita harus menuliskan satu per satu text dari baris code program tersebut. Kalau jawabannya tidak, karena kita bisa menggunakan suatu aplikasi software yang memang keberadaannya khusus untuk membantu menulis Source Code suatu program yang dikhususkan untuk para programmer. Software tersebut bisa berupa 2 jenis :
● Code Editor adalah aplikasi yang khusus dibuat untuk para programmer untuk menuliskan Source Code program. Sehingga aplikasi tersebut biasanya terdapat fitur-fitur yang akan memudahkan para programmer.
● Integrated Development Environment (IDE) adalah aplikasi khusus yang dibuat untuk para programmer untuk menuliskan Source Code sama seperti Code Editor, namun fiturnya lebih lengkap dan kompleks dibandingkan dengan Code Editor.
Berikut Contoh aplikasi-aplikasi software Code Editor dan IDE yang bisa dijadikan referensi untuk digunakan :
Code Editor
IDE(Integrated Development Environment)
Atom, Coda, Sublime Text, TextMate, Espresso, Chocolat, Komodo Edit, Notepad++, PSPad, textarea, CodeMirror, Brackets, WebStorm, Visual Studio Code, Vim, Android Studio, PyCharm, IPhython/Jupyter, Ernacs, Rstudio, GEdit, ULTRAEdit
Eclipse/Aptana, NetBeans, Adobe Dreamweaver, Visual Studio, PHPStorm, XCode
2. Bagaimana Source Code Dapat Dikonversi Ke Dalam Bahasa Mesin
Meskipun kita tidak melakukan konversi source code ke dalam bahasa mesin secara manual, karena hal tersebut akan dilakukan secara otomatis oleh setiap bahasa pemprograman. Tapi minimal kita tahu mekanisme atau konsep di balik konversi souce code tersebut, sehingga kita tahu cara kerjanya dan perbedaannya. Konversi source code ke dalam bahasa mesin ada 3 metode yang sebaiknya kita catat sebagai bahan pengetahuan kita apabila kita ingin memperdalam tentang programming.
1.1 Compiler
Compiler |
Silakan lihat gambar di atas untuk menjelaskan bagaimana kerja dari metode Compiler untuk mengkonversi source code ke dalam bahasa mesin. Apabila ada 2 orang bernama A dan B, kemudian si A membuat program yang nantinya program tersebut akan diberikan kepada si B. Kalau untuk mengkonversi source code program yang dibuat oleh si A, kemudian kita menggunakan metode Compiler. Maka prosesnya si A akan membuat source code program terlebih dahulu. Setelah selesai, si A akan melakukan Compile atau menyusun dan mengumpulkan source code program tersebut dengan sebuah alat yang dinamakan dengan Compiler. Compiler yang digunakan tergantung dari jenis bahasa pemprograman apa yang digunakan, karena setiap bahasa pemprograman menggunakan Compiler yang berbeda. Setelah selesai melakukan Compile, maka akan menghasilkan satu file baru hasil dari kompilasi tersebut. File inilah yang nantinya akan diberikan kepada si B. File hasil dari kompilasi ini disebut juga dengan file executable atau file exe sebuah program yang siap dieksekusi. Kemudian apabila si B menjalankan program tersebut, maka si B sudah secara langsung bisa melihat dan menggunakan program tersebut tanpa harus melakukan tindakan apapun lagi. Jadi si B tidak perlu membutuhkan Compiler lagi. Si B juga tidak akan pernah melihat source code asli program tersebut, karena si B hanya tinggal menjalankan. Jadi si B hanya menjalankan program tersebut saja.
Kelebihan dengan menggunakan metode Compiler adalah bahwa program hasil dari compiler sudah otomatis siap untuk dijalankan oleh usernya. Proses loading dari program hasil Compiler juga lebih cepat, Karena program hasil compiler tersebut sudah teroptimasi kedalam bahasa mesin setelah dicompile. Source code-nya juga cenderung lebih aman karena yang dilihat oleh user adalah program hasil compile-nya bukan source code aslinya. Source code asli hanya ada pada programmer pembuat program tersebut.
Selain kelebihan yang dimiliki oleh metode Compiler, kita juga perlu memperhatikan kekurangan yang ada pada metode Compiler tersebut. Kekurangan dari metode Compiler tersebut diantaranya tidak lintas platform, artinya tidak bisa jalan di semua sistem operasi. Karena setika sebuah source code program di compile, maka akan menghasilkan sebuah program yang hanya compatible pada sistem operasi tertentu saja. Bahkan program tersebut ada kemungkinan tidak akan jalan, meskipun sistem operasi yang digunakan sama, hanya karena tipe CPU/Processor yang berbeda. kalau hal tersebut, artinya program tersebut membutuhkan untuk dicompile ulang. Contoh kasus tersebut membuat program hasil Compile menjadi tidak flexible. Bahkan ketika ada kesalahan atau ketika kita ingin memodifikasi program hasil compile, maka setiap ada perubahan program memerlukan metode compiler ulang. Jadi metode compiler adalah langkah tambahan yang harus dilakukan setiap kali kita selesai membuat dan memodifikasi program ( Ngoding ).
1.2 Interpreter
Interpreter |
Selanjutnya untuk konversi source code dengan menggunakan metode Interpreter. Sama seperti contoh metode compiler di atas. Si A akan membuat sebuah program, namun si A tidak akan melakukan Compile pada source code program tersebut. Melainkan menduplikasi source code program tersebut. Hasil Source Code yang diduplikasi itulah yang nantinya akan diberikan kepada si B atau usernya. Kemudian si B harus menggunakan sebuah interpreter untuk menerjemahkan source code program tersebut. Sehingga si B akan secara bersamaan menjalankan interpreter tersebut sekaligus menjalankan dan menggunakan program tersebut. Interpreter berjalan secara real time, pada saat menerjemahkan souce code baris per baris kode program dan menjalankan serta menggunakan program tersebut.
Contoh metode interpreter yang sering kita alami, ketika kita membuka sebuah website. Meskipun kita belum pernah membuat source code program sama sekali. Namun aktivitas membuka sebuah halaman website sudah menjadi hal yang biasa bagi generasi milenia. Hampir seluruh website yang ada sekarang ada source code javascript di dalamnya. Pada saat proses kita membuka halaman website tersebut, sebenarnya ada interpreter yang sudah ditanamkan pada web browser yang kita gunakan untuk menerjemahkan bahasa pemprograman javascript tersebut.
Kelebihan dengan menggunakan metode Interpreter adalah kebalikan dengan metode Compiler. Penggunaan metode Interpreter akan lintas platform di setiap sistem operasi. Metode Interpreter tidak mempedulikan sistem operasi dan processor apa yang digunakan. Asal user memiliki interpreter-nya, maka source code sebuah program akan bisa dijalankan. Analoginya, selama user memiliki web browser, maka bahasa pemprograman javascript akan bisa dijalankan. Source code program dengan menggunakan metode compiler lebih flexible karena tidak perlu dicompile ulang apabila ada perubahan. jadi lebih mudah source code program tersebut, untuk dimodifikasi dan mudah serta langsung diuji coba hasil modifikasi tersebut.
Selain kelebihan dari metode Interpreter tersebut, kita juga harus memperhatikan kekurangan metode interpreter. Kekurangan metode Interpreter diantaranya user membutukan interpreter, contohnya untuk javascript, kalau user tidak memiliki aplikasi web browser, maka program javascript yang ada pada source code program tersebut tidak akan jalan. Beda dengan metode Compiler, user hanya tinggal menjalankan program hasil compile tersebut. Selain itu, kekurangan dari metode Interpreter adalah proses loading lebih lambat. Karena setiap user membuka program tersebut, prosesnya berjalan bersamaan dengan proses menerjemahkan source code program tersebut ke dalam bahasa mesin atau melakukan interpretasi dulu dengan menggunakan interpreter. Dengan menggunakan metode Interpreter, Source code program yang diberikan kepada user adalah source code aslinya, maka source code program tersebut akan sangat mudah di akses oleh orang lain atau siapa pun. Jadi cenderung tidak aman.
1.3 Hybrid / Intermediate Language ( IL )
Hybrid / Intermediate Language ( IL ) |
Metode Hybrid / Intermediate Language adalah metode yang menerjemahkan source code program ke dalam bahasa mesin dengan mengkombinasi kelebihan yang ada pada metode Compiler dan Metode Interpreter. Di atas telah dijelaskan kekurangan dan kelebihan yang ada pada metode Interpreter dan Compiler. Karena itu metode Hybrid atau yang disebut juga dengan Intermediate Language menjembatani kedua metode tersebut.
Contoh untuk penjelasan gambar di atas. Si A membuat source code, setelah selesai si A melakukan compile seperti metode Compiler. Kemudian setelah selesai melakukan compile, si A menghasilkan file baru, namun bukan file executable atau file yang siap untuk dieksekusi seperti file yang dihasilkan dengan menggunakan metode Compiler. File yang dihasilkan adalah file yang disebut Intermediate Language ( IL ) atau Byte Code. File Intermediate Language ( IL ) atau Byte Code ini pada umumnya sudah cukup teroptimasi dengan bahasa mesin dan bisa lintas platform di setiap sistem operasi. Sampai hal ini bisa dilihat, bahwa kelebihan pada metode Compiler dan Interpreter sudah digabungkan dan dikombinasikan. Proses selanjutnya file Intermediate Language ( IL ) atau Byte Code diberikan kepada si B. Kemudian untuk langkah akhir si B melakukan sesuatu sebelum menjalankan program. Langkah tersebut adalah langkah yang disebut dengan JIT Compilation atau Just In Time Compilation. JIT Compilation adalah langkah dengan menjalankan Compile sekaligus menjalankan program tersebut secara bersamaan.
Pada prinsipnya untuk mengkonversi setiap bahasa pemprograman ke dalam bahasa mesin bisa menggunakan ketiga metode di atas, baik itu metode Compiler, Interpreter, atau Hybrid. Namun biasanya setiap bahasa pemprograman hanya memilih salah satu dari ketiga metode tersebut. berikut contoh bahasa pemprograman sekaligus dengan metode cara mengkonversi source code program ke dalam bahasa mesin :
Compiler
Interpreter
Hybrid
C, C++. Objective-C
Javascript, PHP
Java, VB.NET, Python
3. Bagaimana Mengeksekusi Souce Code Agar Bisa Digunakan
Untuk bagaimana cara mengeksekusi source code agar bisa digunakan, sudah secara secara langsung dijelaskan pada setiap metode cara mengkonversi source code ke dalam bahasa mesin. Hal tersebut terjadi di pihak user atau si B baik menggunakan ketiga metode di atas.
Belum ada Komentar untuk "Belajar Javascript Part 2 – Bahasa Pemprograman (Programming Language)"
Posting Komentar