Rabu, 07 September 2016

3. JavaScript

Nama JavaScript sebenarnya sedikit membingungkan. Selain kemiripan cara penulisan dengan bahasa pemograman JavaJavaScript sepenuhnya berbeda dengan bahasa pemograman desktop:Java. Dalam Tutorial JavaScript kali ini kita akan mengetahui sejarah awal JavaScript dan perkembangan versi Javascript hingga saat ini.

Sejarah Penamaan JavaScript

Sejarah JavaScript dimulai sekitar tahun 1994, ketika internet dan website sedang mengalami perkembangan yang pesat. Website pada saat itu umumnya dibuat menggunakan bahasa pemograman PERL yang pemrosesannya hanya bisa dilakukan di sisi web server.
Kelemahan pemrosesan di sisi web server adalah, setiap instruksi dari user harus dikirim terlebih dahulu kepada web server, baru kemudian ditampilkan lagi di dalam web browser. Karena kecepatan rata-rata  koneksi internet yang terbatas, hal ini dipandang tidak efisien. Programmer web membutuhkan bahasa pemograman client-side yang bisa berjalan di web browser tanpa harus dikirim ke server.
Pada tahun 1995, Brendan Eich seorang programmer dari Netscape mulai mengembangkan sebuah bahasa pemograman script yang dinamakan MochaNetscape pada saat itu merupakan perusahaan software ternama yang memiliki web broser Netscape Navigator.
Bahasa script Mocha ini ditujukan untuk client-side dan juga server-side. Dalam perkembangan selanjutnya, nama Mocha diubah menjadi LiveScript untuk versi client-side, dan LiveWire untuk versi server-side.
Pada saat bahasa pemograman tersebut akan dirilis, Netscape mengadakan kerjasama denganSun Microsystems untuk mengembangkan LiveScript, dan tepat ketika Netscape Navigator 2dirilis, Netscape merubah nama LiveScript menjadi JavaScript dengan tujuan bahasa baru ini akan populer seperti bahasa Java yang saat itu sedang booming di kalangan programmer. VersiJavaScript ini dinamakan dengan JavaScript 1.0.

Pesaing JavaScript: Kemunculan JScript dari Microsoft

Karena kesuksesan JavaScript 1.0Netscape selanjutnya mengembangkan JavaScript versi 1.1 pada Netscape Navigator 3, dan mengantarkan Netscape Navigator menjadi pemimpin pasar web browser saat itu.
Selang beberapa bulan kemudian, Microsoft yang melihat kepopuleran JavaScript, memperkenalkan web browser Internet Explorer 3 dengan JScriptJScript adalah penamaan lain dari JavaScript. Hal ini dilakukan Microsoft karena JavaScript merupakan merk dagang yang dimiliki oleh Sun dan Netscape. Sehingga Microsoft terpaksa mencari nama lain untuk versi JavaScriptmereka.
Selain memiliki fitur yang mirip, JScript juga menambahkan beberapa fitur tersendiri, sehinggaJavaScript dan JScript tidak sepenuhnya kompitable.
Web Browser Internet Explorer 3 yang dirilis microsoft pada tahun 1996 ini adalah awal dari kemunduran Netscape Navigator, karena microsoft merilis Internet Explorer 3 secara gratis dan sebagai software bawaan dari Sistem Operasi Windows. Akan tetapi, keputusan Microsoftmenambahkan fitur JScript merupakan langkah besar dalam perkembangan JavaScript.
Perkembangan Penggunaan Web Browser Netscape Navigator
Perkembangan Penggunaan Web Browser Netscape Navigator (source: wikipedia)

Perubahan Menjadi Nama Standar: ECMAScript

Implementasi JScript di dalam Internet Explorer membuat kalangan programmer bingung, karena terdapat 2 versi JavaScript: JavaScript di Netscape Navigator and JScript pada Internet Explorer. VersiJavaScript juga memiliki 2 versi, yakni versi 1.0 dan 1.1. Hal ini semakin menambah kerumitan dalam pembuatan program. Permasalahan terjadi karena ketiga versi JavaScript tersebut memiliki perbedaan fitur.
Kejadian ini sama seperti yang dialami oleh HTML dan CSS, dan kalangan programmer sepakat bahwa diperlukan sebuah  standarisasi untuk JavaScript.
Pada pertengahan tahun 1997, JavaScript 1.1 diajukan ke badan standarisasi Eropa: European Computer Manufacturers Association (ECMA) untuk membuat sebuah standar bahasa pemograman script web browser. Atas dasar ini, dibentuklah sebuah komite dengan anggota yang terdiri dari programmer dari berbagai perusahaan internet pada saat itu, seperti Netscape, Sun, Microsoft, Borland, NOMBAS serta beberapa perusahaan lain yang tertarik dengan perkembangan JavaScript.
Komite standarisasi ini menghasilkan bahasa pemograman yang disebut ECMAScript, atau secara formal disebut ECMAScript -262. 1 tahun berikutnya, badan standarisasi ISO (International Organization for Standardization) juga mengadopsi ECMAScript sebagai standar. Sejak saat itu, semua web browser menjadikan ECMAScript sebagai standar acuan untuk JavaScript.
ECMAScript terus dikembangkan hingga mencapai versi 3 pada tahun 1999. Berita baiknya, hampir semua web browser saat itu, terutama Microsoft Internet Explorer 5.5 dan Netscape 6 telah mendukung ECMAScript-262 versi 3. Namun berita buruknya, masing-masing web browser menerapkan standar dengan sedikit berbeda, sehingga masih terdapat kemungkinan tidak kompitable.

Versi Saat ini: ECMAScript versi 5

Versi terakhir dari ECMAScript adalah ECMA-262 versi 5 yang dirilis pada 2009. ECMAScript versi 4sengaja dilompati karena beberapa alasan ketidakcocokan proposal yang diajukan. ECMA-262 versi 5 inilah yang saat ini menjadi standar untuk web browser modern seperti Internet Explorer, Google Chrome, Firefox, Opera, dan Safari.
Akan tetapi, perbedaan implementasi ECMAScript tetap ada di dalam web browser. Biasanya perbedaan ini terkait dengan fitur-fitur tambahan. Salah satu cara programmer untuk mengatasi masalah ini yaitu dengan mendeteksi web browser yang digunakan user, lalu menjalankan fungsi yang dirancang secara spesifik untuk web browser tersebut. Proses ini dikenal sebagai browser sniffing, dan bukan sesuatu yang menyenangkan.
Kabar baiknya, sekarang banyak terdapat library JavaScript  yang dirancang untuk melapisi perbedaan ECMAScript ini, salah satunya adalah jQueryjQuery menyediakan fungsi otomatis dalam mengatasi perbedaan implementasi ECMAScript di dalam web browser.

ECMAScript atau JavaScript?

ECMAScript adalah versi standar dari JavaScript, versi ECMAScript yang ada saat ini adalah versi 3 dan  versi 5. Namun karena kepopuleran JavaScript, Hampir semua kalangan dan programmer menyebut ECMAScript dengan sebutan umum: JavaScript.
Merk dagang JavaScript saat ini dimiliki oleh perusahaan Oracle (yang mengakuisisi Sun Microsystem beberapa tahun lalu), Namun anda juga akan mendengar versi JavaScript 1.5 atauJavaScript 1.8. Versi JavaScript ini adalah versi yang diadopsi oleh Mozilla Firefox (yang merupakan ‘reingkarnasi’ dari Netscape). JavaScript 1.5 sebenarnya adalah ECMAScript 3. Dan JavaScript 1.8 merupakan versi ECMAScript dengan beberapa penambahan internal oleh Mozilla.

Apa yang dimaksud dengan ECMAScript Engine (JavaScript Engine)?

Jika anda membaca perkembangan tentang JavaScript, maka selain versi ECMAScript yang digunakan, terdapat istilah JavaScript Engine atau dalam bahasa standarnya: ECMAScript Engine.
JavaScript Engine adalah mekanisme internal yang dimiliki oleh web browser. JavaScript Enginedapat diumpamakan dengan compiler dalam bahasa pemograman lain, yakni algoritma yang digunakan untuk menjalankan JavaScript. Semakin cepat sebuah web browser menjalankanJavaScript akan semakin baik.
Biasanya disetiap rilis baru web browser seperti Google Chrome, Internet Explorer, maupun Mozilla Firefox, juga diikuti rilis terbaru JavaScript Engine yang menawarkan kecepatan lebih baik.
V8 adalah nama JavaScript Engine untuk Google Chrome, SpiderMonkey untuk Mozilla Firefox, dan Chakra untuk Internet Explorer. Daftar lengkap tentang JavaScript engine ini dapat dilihat dihttp://en.wikipedia.org/wiki/List_of_ECMAScript_engines

Dalam tutorial selanjutnya, kita akan mulai berkenalan dengan kode JavaScript, dalam Tutorial Belajar JavaScript: Cara Menjalankan Kode Program JavaScript.

1. JavaScript

Dalam tutorial pertama tentang JavaScript, saya akan membahas tentang Pengertian dan Fungsi JavaScript dalam Pemrograman Web. Serta perkembangan JavaScript hingga saat ini.

Pengertian JavaScript

JavaScript adalah bahasa pemrograman web yang bersifat Client Side Programming Language.Client Side Programming Language adalah tipe bahasa pemrograman yang pemrosesannya dilakukan oleh client. Aplikasi client yang dimaksud merujuk kepada web browser seperti Google Chrome dan Mozilla Firefox.
Jenis bahasa pemrograman Client Side berbeda dengan bahasa pemrograman Server Side seperti PHP, dimana untuk server side seluruh kode program dijalankan di sisi server.
Untuk menjalankan JavaScript, kita hanya membutuhkan aplikasi text editor, dan web browser.JavaScript memiliki fitur: high-level programming language, client-side, loosely tiped, dan berorientasi objek.

Fungsi JavaScript Dalam Pemograman Web

JavaScript pada awal perkembangannya berfungsi untuk membuat interaksi antara user dengan situs web menjadi lebih cepat tanpa harus menunggu pemrosesan di web server. Sebelumjavascript, setiap interaksi dari user harus diproses oleh web server.
Bayangkan ketika kita mengisi form registrasi untuk pendaftaran sebuah situs web, lalu men-klik tombol submit, menunggu sekitar 20 detik untuk website memproses isian form tersebut, dan mendapati halaman yang menyatakan bahwa terdapat kolom form yang masih belum diisi.
Untuk keperluan seperti inilah JavaScript dikembangkan. Pemrosesan untuk mengecek apakah seluruh form telah terisi atau tidak, bisa dipindahkan dari web server ke dalam web browser.
Dalam perkembangan selanjutnya, JavaScript tidak hanya berguna untuk validasi form, namun untuk berbagai keperluan yang lebih modern. Berbagai animasi untuk mempercantik halaman web, fitur chatting, efek-efek modern, games, semuanya bisa dibuat menggunakan JavaScript.
Akan tetapi karena sifatnya yang dijalankan di sisi client yakni di dalam web browser yang digunakan oleh pengunjung situs, user sepenuhnya dapat mengontrol eksekusi JavaScript. Hampir semua web browser menyediakan fasilitas untuk mematikan JavaScript, atau bahkan mengubah kode JavaScript yang ada. Sehingga kita tidak bisa bergantung sepenuhnya kepada JavaScript.

Perkembangan JavaScript Saat Ini

Dalam perkembangannya, JavaScript mengalami permasalahan yang sama seperti kode pemograman web yang bersifat client side seperti CSS, yakni bergantung kepada implementasi web browser.
Kode JavaScript yang kita buat, bisa saja tidak bekerja di Internet Explorer, karena web browser tersebut tidak mendukungnya. Sehingga programmer harus bekerja extra untuk membuat kode program agar bisa “mengakali” dukungan dari web browser.
Karena hal tersebut, JavaScript pada awalnya termasuk bahasa pemograman yang rumit, karena harus membuat beberapa kode program untuk berbagai web browser.
Namun, beberapa tahun belakangan ini, JavaScript kembali bersinar berkat kemudahan yang ditawari oleh komunitas programmer yang membuat library JavaScript seperti jQuery. Library ini memudahkan kita membuat program JavaScript untuk semua web browser, dan membuat fitur-fitur canggih yang sebelumnya membutuhkan ribuan baris kode program menjadi sederhana.
Kedepannya, JavaScript akan tetap menjadi kebutuhan programmer, apalagi untuk situs saat ini yang mengharuskan punya banyak fitur modern sebagai standar.