Tutorial Belajar JavaScript Part 2: Sejarah dan Perkembangan Versi JavaScript

Nama JavaScript sebenarnya sedikit membingungkan. Selain kemiripan cara penulisan dengan bahasa pemograman Java, JavaScript 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 Mocha. Netscape pada saat itu merupakan perusahaan software ternama yang memiliki web broser Netscape Navigator.

Brendan Eich

Brendan Eich (source: wikipedia)

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 dengan Sun Microsystems untuk mengembangkan LiveScript, dan tepat ketika Netscape Navigator 2 dirilis, Netscape merubah nama LiveScript menjadi JavaScript dengan tujuan bahasa baru ini akan populer seperti bahasa Java yang saat itu sedang booming di kalangan programmer. Versi JavaScript ini dinamakan dengan JavaScript 1.0.


Pesaing JavaScript: Kemunculan JScript dari Microsoft

Karena kesuksesan JavaScript 1.0, Netscape 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 JScript. JScript 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 JavaScript mereka.

Selain memiliki fitur yang mirip, JScript juga menambahkan beberapa fitur tersendiri, sehingga JavaScript 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 Microsoft menambahkan 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. Versi JavaScript 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.


ECMAScript versi 5

ECMA-262 versi 5 dirilis pada 2009. ECMAScript versi 4 sengaja dilompati karena beberapa alasan ketidakcocokan proposal yang diajukan. ECMA-262 versi 5 inilah yang saat ini menjadi versi paling stabil dan terdapat di mayoritas 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 jQuery. jQuery menyediakan fungsi otomatis dalam mengatasi perbedaan implementasi ECMAScript di dalam web browser.


ECMAScript 6

ECMAScript 6 atau ES6 atau ECMAScript 2015 dirilis pada bulan Juni 2015. Cukup banyak penambahan baru pada versi ini, sebagian besar merupakan fitur lanjutan untuk membuat aplikasi yang memiliki kompleksitas tinggi, seperti penggunaan JavaScript di server menggunakan node.js.

Diantara fitur tersebut adalah: iterator baru, python-style generator, arrow function, binary data, typed arrays, collections (maps, sets and weak maps), promises untuk membuat asynchronous programming, penambahan function untuk tipe data number dan math, reflection, serta proxies (metaprogramming untuk virtual objects dan wrappers).

Mulai dari ECMAScript 6 dan selanjutnya, penamaan ECMAScript akan menggunakan nama tahun saat standar tersebut dirilis, seperti ECMAScript 2015, ECMAScript 2016, dst. Banyak perdebatan mengenai pilihan nama ini, sehingga masih sering disebut sebagai ECMAScript 6.


ECMAScript 7

ECMAScript 7 atau nama resminya: ECMAScript 2016, diselesaikan pada Juni 2016. Fitur baru termasuk exponentiation operator (**) dan Array.prototype.includes.

Karena relatif baru, belum banyak web browser yang menerapkan ECMAScript 7.


ECMAScript atau JavaScript?

ECMAScript adalah versi standar dari JavaScript. 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 atau JavaScript 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 Engine dapat diumpamakan dengan compiler dalam bahasa pemograman lain, yakni algoritma yang digunakan untuk menjalankan JavaScript. Semakin cepat sebuah web browser menjalankan JavaScript 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 di http://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.


eBook JavaScript Uncover Duniailkom
JavaScript sudah menjadi fitur wajib di setiap website modern. Duniailkom telah menyusun eBook JavaScript Uncover yang membahas JavaScript dengan lebih detail dan lebih lengkap, mulai dari dasar hingga konsep DOM, Event dan AJAX. Penjelasan lebih lanjut bisa ke eBook JavaScript Uncover Duniailkom.

Tutorial Terkait:

16 Comments

  1. Rijal
    16 Oct 14
  2. thomas
    05 Nov 14
    • Andre
      06 Nov 14
  3. bill
    09 Jan 15
    • Andre
      09 Jan 15
  4. noname
    03 Jun 16
    • Andre
      03 Jun 16
    • Andre
      11 Aug 16
  5. wawancharming
    02 Oct 16
  6. Rafi Vadra Addani
    23 Oct 16
    • Andre
      24 Oct 16
  7. Budi Anggoro
    09 Nov 16
  8. Laangg
    21 Mar 17
    • Andre
      22 Mar 17

Add Comment