Belajar JavaScript

Sahid
Departemen Pendidikan Matematika, Universitas Negeri Yogyakarta
sahid@uny.ac.id, sahidyk@gmail.com

 

Mengapa JavaScript?

Tulisan ini akan mengajk Anda belajar bahasa JavaScript dari dasar hingga lanjut. Ini adalah salah satu dari beberapa rangkaian artikel tentang bahasa javaScript. Artikel-artikel lain akan menyusul.

Belajar dari Contoh

Dalam belajar bahasa pemrograman apapun, termasuk JavaScript, setiap pembahasan pasti selalu disertai contoh kode JavaScript dan tampilan hasilnya di browser ketika file HTML dibuka dengan browser yang mendukung (diaktifkan) JavaScript-nya.

Contoh 1: Menampilkan tanggal dan waktu

Contoh lebih baik dari 1000 kata. Contoh sering kali lebih mudah dipahami daripada penjelasan teks.

Jika Anda mencoba semua contoh, Anda akan belajar banyak tentang JavaScript dalam waktu yang sangat singkat!

Contoh 2: JavaScript Dapat Mengubah Konten HTML

Salah satu dari banyak metode JavaScript HTML adalah getElementById().

Contoh di bawah ini "menemukan" elemen HTML (dengan id="demo2"), dan mengubah konten elemen (innerHTML) menjadi "Inilah hasil JavaScript!":

document.getElementById("demo2").innerHTML = "Inilah hasil JavaScript!";

Klik tombol di bawah ini untuk mengganti tulisan ini.

JavaScript menerima tanda kutip ganda dan tunggal:

document.getElementById('demo3').innerHTML = 'Inilah hasil JavaScript!';

Klik tombol di bawah ini untuk mengganti tulisan ini


Contoh 3: JavaScript Dapat Mengubah Nilai Atribut HTML

Dalam contoh ini JavaScript mengubah nilai atribut (sumber) src pada tag <img>:

Bola Lampu


Contoh 4: JavaScript Dapat Mengubah Gaya HTML (CSS)

Mengubah gaya elemen HTML adalah varian dari mengubah atribut HTML:

Contoh

document.getElementById("demo4").style.color = "red";

Klik tombol di bawah ini untuk mengubah warna tulisan

Teks pertama.
Teks kedua.
Teks ke tiga.


Contoh 5: JavaScript Dapat Menyembunyikan Elemen HTML

Menyembunyikan elemen HTML dapat dilakukan dengan mengubah gaya display:

document.getElementById("demo5").style.display = "block";

Inilah JavaScript!


Contoh 6: JavaScript Dapat Menampilkan Elemen HTML

Menampilkan elemen HTML tersembunyi juga dapat dilakukan dengan mengubah gaya display:

Contoh 7: Menampilkan dan Menyembunyikan Tulisan

document.getElementById("demo6").style.display = "block";

Inilah JavaScript!

|| |

Tahukah Anda?

JavaScript dan Java adalah dua bahasa pemrograman yang sama sekali berbeda, baik dalam konsep maupun desain.

JavaScript ditemukan oleh Brendan Eich pada tahun 1995, dan menjadi standar ECMA pada tahun 1997. ECMA-262 adalah nama resmi standar. ECMAScript adalah nama resmi bahasa tersebut.

Versi JavaScript

Versi ECMAScript telah disingkat menjadi ES1, ES2, ES3, ES5, dan ES6. Sejak 2016 versi baru diberi nama berdasarkan tahun (ECMAScript 2016/2017/2018/2019/2020).

Edisi ECMAScript

Memungkinkan tanda koma untuk parameter fungsi

VerNama ResmiKeterangan
ES1ECMAScript 1 (1997)Edisi pertama
ES2ECMAScript 2 (1998)Perubahan editorial
ES3ECMAScript 3 (1999)Menambahkan ekspresi reguler
Menambahkan try/catch
Menambahkan switch
Menambahkan do-while
ES4ECMAScript 4Tidak pernah dirilis
ES5ECMAScript 5 (2009)Menambahkan "mode ketat"
Menambahkan dukungan JSON
Menambahkan String.trim()
Menambahkan Array.isArray()
Menambahkan metode iterasi Array
Memungkinkan tanda koma untuk objek literal
ES6ECMAScript 2015Menambahkan let dan const
Menambahkan nilai parameter default
Menambahkan Array.find()
Menambahkan Array.findIndex()
 Skrip ECMA 2016Menambahkan operator eksponensial (**)
Menambahkan Array.includes()
 ECMAScript 2017Menambahkan padding string
Menambahkan Object.entries()
Menambahkan Object.values() Menambahkan fungsi async
Menambahkan memori bersama
 Skrip ECMA 2018Menambahkan properti rest /spread
Menambahkan iterasi asinkron
Menambahkan Promise.finally()
Penambahan ke RegExp
 ECMAScript 2019String.trimStart()
String.trimEnd()
Array.flat()
Object.fromEntries
Binding catch opsional
 ECMAScript 2020Operator Penggabungan Nullish (??)

Nomor versi JavaScript asli adalah ES5 (2009) dan ES6 (2015). Sejak 2016, versi ini diberi nama berdasarkan tahun: ECMAScript 2016, 2017, 2018, 2019, 2020.

Fitur Baru di ECMAScript 2020

Berikut adalah fitur-fitur baru ini di ECMAScript 2020:

Peringatan

Fitur-fitur ini relatif baru. Browser lama mungkin memerlukan kode alternatif (Polifill)

JavaScript BigInt

Variabel JavaScript BigInt digunakan untuk menyimpan nilai bilangan bulat besar yang terlalu besar untuk diwakili oleh bilangan JavaScript normal Number. Bilangan bulat JavaScript hanya akurat hingga 15 digit.

Contoh 8: Bilangan Bulat

 

Bilangan Pada JavaScript

Presisi Bilangan Bulat dan BigInt

Bilangan bulat (bilangan tanpa titik desimal atau notasi eksponen) akurat sampai 15 digit. Untuk membuat BigInt, tambahkan n di akhir bilangan bulat atau gunakan fungsi BigInt().

Jenis JavaScript typeof BigInt adalah "bigint". BigInt didukung di semua browser sejak September 2020:

     
Chrome 67Edge 79Firefox 68Safari 14Opera 54
May 2018Jan 2020Jul 2019Sep 2020Jun 2018

Operator Coalescing Nullish (??)

Operator ?? menghasilkan nilai argumen pertama jika nilainya null atau undefined. Jika tidak, operator ?? menghasilkan nilai argumen kedua.

Contoh 9

Operator nullish didukung di semua browser sejak Maret 2020:

     
Chrome 80Edge 80Firefox 72Safari 13.1Opera 67
Feb 2020Feb 2020Jan 2020Mar 2020Mar 2020

Operator Chaining Opsional (??)

Operator ?. menghasilkan undefined jika suatu objek bernilai undefined atau null (alih-alih menampilkan pesan kesalahan).

Contoh 10

Operator chaining opsional didukung di semua browser sejak Maret 2020:

     
Chrome 80Edge 80Firefox 74Safari 13.1Opera 67
Feb 2020Feb 2020Mar 2020Mar 2020Mar 2020

Dukungan Browser

ECMAScript 1 - 6 didukung penuh di semua browser modern.


Dukungan Browser untuk ES5 (2009)

BrowserVersiDari tanggal
Chrome23November 2012
Firefox21Mei 2013
IE9*Maret 2011
IE / Edge10Sep 2012
Safari6Juli 2012
Opera15Juli 2013

* Internet Explorer 9 tidak mendukung ECMAScript 5 use strict.


Dukungan Browser untuk ES6 (2015)

BrowserVersiTanggal
Chrome51Mei 2016
Firefox52Maret 2017
Edge14Agustus 2016
Safari10Sep 2016
Opera38Juni 2016

Internet Explorer tidak mendukung ECMAScript 2015.


Dukungan Browser untuk ECMAScript 2016

BrowserVersiTanggal
Chrome52Juli 2016
Firefox54Juni 2017
Edge14Agustus 2016
Safari10.1Maret 2017
Opera39Agustus 2016

Mengapa Belajar JavaScript?

JavaScript adalah salah satu dari 3 bahasa yang harus dipelajari semua pengembang web:

  1. HTML untuk mendefinisikan konten halaman web

  2. CSS untuk menentukan tata letak halaman web

  3. JavaScript untuk memprogram isi halaman web


Kecepatan Belajar

Dalam setiap belajar bahasa pemrograman, kecepatan belajar adalah pilihan Anda.

Semua terserah Anda. Jika Anda mengalami kesulitan, istirahatlah, atau baca kembali materinya. Selalu pastikan Anda memahami semua contoh yang diberikan.

Satu-satunya cara untuk menjadi programer yang pintar adalah dengan: Berlatih, Praktik, Praktik, Menulis Program, Menulis Program, Menulis Program!


Pertanyaan Umum

Anda tidak perlu mendapatkan atau mengunduh JavaScript. JavaScript sudah berjalan di browser Anda di komputer, di tablet, dan di ponsel pintar Anda. JavaScript gratis digunakan untuk semua orang.

Cara Menyisipkan Perintah/Program JavaScript

Perintah/Program JavaScript Ditulis di Dalam Tag <script>

Di dalam file HTML, perintah-perintah JavaScript disisipkan di antara tag <script> dan </script>.

Contoh 11

Contoh JavaScript lama mungkin menggunakan atribut type: <script type="text/javascript">.

Atribut type sekarang tidak diperlukan. JavaScript adalah bahasa skrip asli dalam HTML.


Perintah/Program/Skrip JavaScript Dapat Ditulis Pada Bagian <head> atau <body>

Anda dapat menempatkan sejumlah skrip dalam satu dokumen HTML.

Skrip JavScript dapat ditempatkan pada bagian <body>, atau pada bagian <head>, atau di keduanya, di dalam file HTML.


JavaScript di Bagian <head>

Dalam contoh ini, fungsi JavaScript ubahParagraf ditempatkan/didefinisikan pada bagian <head> di dalam file HTML. Fungsi tersebut dipanggil (dijalankan) ketika tombol Klik untuk mengubah paragraf! diklik.

Contoh 12

Contoh JavaScript Di Bagian Head

Ini adalah sebuah paragraf.

 

JavaScript di Bagian <body>

Dalam contoh ini, fungsi JavaScript ubahParagraf1 ditempatkan/didefinisikan di bagian <body> di dalam file HTML. Fungsi tersebut dipanggil (dijalankan) ketika tombol Klik untuk mengubah paragraf! diklik.

Contoh 13

Contoh JavaScript Di Bagian Body

Ini adalah sebuah paragraf.

 

Menempatkan skrip di bagian bawah elemen HTML <body> meningkatkan kecepatan tampilan, karena interpretasi skrip memperlambat tampilan.

File Skrip JavaScript

Skrip JavaScript juga dapat ditulis di dalam sebuah file eksternal yang terpisah dengan file HTML. File yang berisi skrip JavaScript biasanya diberi ekstensi .js. Skrip eksternal praktis ketika kode/skrip yang sama digunakan di banyak halaman web (file HTML) yang berbeda. Berikut adalah contoh file skrips JavaScript dan cara menggunakannya di dalam file HTML.

Contoh file eksternal: ubahParagraf.js

Untuk menggunakan skrip eksternal, masukkan nama file skrip di atribut (sumber) src pada tag <script>.

Anda dapat memanggil (menempatkan referensi) skrip eksternal di bagian <head> atau <body> sesuka Anda. Script akan berfungsi seolah-olah terletak persis di mana tag <script> berada. Skrip eksternal tidak boleh berisi/memuat tag <script>.


Keuntungan File JavaScript Eksternal

Menempatkan skrip di file eksternal memiliki beberapa keuntungan:

Untuk menambahkan beberapa file skrip ke satu halaman - gunakan beberapa tag skrip:

Contoh

Referensi Eksternal

File skrip JavaScript eksternal dapat dirujuk dalam 3 cara berbeda:

  1. dengan URL (alamat web) lengkap,

  2. dengan merujuk alamat/folder file (seperti /js/),

  3. tanpa menuliskan alamat/folder file (dengan asumsi file JavaScript disimpan pada folder yang sama dengan tempat file HTML).

Contoh berikut ini menggunakan alamat URL lengkap untuk memanggil file JavaScript program1.js.

Contoh berikut ini menggunakan jalur file (alamat folder) untuk menautkan ke file program1.js.

Contoh ini tidak menggunakan jalur (alamat folder) untuk menautkan ke file program1.js.


Beberapa Cara Menampilkan Output JavaScript

JavaScript dapat "menampilkan" data dengan cara empat cara berbeda:

Menggunakan innerHTML

Untuk mengakses elemen HTML, JavaScript dapat menggunakan metode document.getElementById(id), dengan id adalah nama identitas unik yang didefinisikan pada elemen HTML (judul, paragraf, dan sebagainya). Properti innerHTML mendefinisikan konten/isi elemen HTML.

Contoh 14

Menampilkan hasil perhitungan

5 + 6 =

Menampilkan data di dalam elemen HTML sering digunakan untuk mengubah properti innerHTML elemen HTML tersebut.

Menggunakan document.write()

Untuk tujuan pengujian, akan lebih mudah untuk digunakan document.write(). Jangan pernah menggunakan perintah document.write() setelah dokumen HTML selesai dimuat (perintah document.write() ditempatkan di bagian akhir file HTML), karena hal ini akan menghapus semua HTML yang ada :

Contoh 15

Contoh 16

Contoh Halaman Web

Ini adalah paragraf.

Metode document.write() sebaiknya hanya digunakan untuk tujuan pengujian.

Menggunakan window.alert()

Anda dapat menggunakan kotak peringatan untuk menampilkan hasil JavaScript.

Contoh 17

Anda akan melihat jendela pesan dengan tulisan "This page says" beserta isi pesan ketika membuka file HTML ini.

Kata kunci windowboleh tidak ditulis, artinya, Anda boleh hanya menuliskan perintah alert().

Dalam JavaScript, objek jendela adalah objek yang memiliki lingkup global. Hal ini berarti bahwa variabel, properti, dan metode aslinya milik objek jendela. Karena lingkupnya global, kata kunci windowbersifat opsional.

Menggunakan console.log()

Untuk keperluan penelusuran kesalahan (debugging), Anda dapat memanggil metode console.log() di browser untuk menampilkan data.

Contoh 18

Kemampuan Mencetak JavaScript

JavaScript tidak memiliki objek atau metode cetak. JavaScript tidak memiliki kemampuan mengakses perangkat keluaran dalam bentuk cetak. Satu-satunya pengecualian adalah Anda dapat memanggil metode window.print() dalam browser untuk mencetak isi layar browser.

Contoh 19