JavaScript

JavaScript
Edit nilai pada Wikidata
ParadigmaMultiparadigma: berbasis even, fungsional, imperatif, pemrograman berorientasi objek, prosedural
Dirancang olehPada awalnya dirancang Brendan Eich, bersama kontributor utama lainnya untuk spesifikasi ECMAScript
Rilis perdana4 Desember 1995; 28 tahun lalu (1995-12-04)[1]
Rilis stabil
ECMAScript 2021[2] / Juni 2021; 3 tahun lalu (2021-06)
Rilis pratayang
ECMAScript 2025[3] Sunting di Wikidata / 27 Maret 2024 (27 Maret 2024); 8 bulan lalu
Tipe sistemDinamis, duck
Ekstensi nama berkas
  • .js
  • .cjs
  • .mjs[4]
Situs webwww.ecma-international.org/publications-and-standards/standards/ecma-262/
Repositoriwww.ecma-international.org/publications-and-standards/standards/ecma-262/
Implementasi utama
V8, JavaScriptCore, SpiderMonkey, Chakra
Terpengaruh oleh
Java,[5][6] Scheme,[6] AWK,[7] HyperTalk[8]
Mempengaruhi
TypeScript, CoffeeScript, AssemblyScript, ActionScript, Dart, Objective-J, Opa, Haxe
Sunting kotak info
Sunting kotak info • L • B
Info templat
Bantuan penggunaan templat ini

JavaScript (/ˈɑːvəˌskrɪpt/[9]) (disingkat JS) adalah suatu bahasa pemrograman tingkat tinggi dan dinamis.[10] JavaScript populer di internet dan dapat bekerja di sebagian besar penjelajah web populer seperti Google Chrome, Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman web menggunakan tag script.[11] JavaScript merupakan salah satu teknologi inti World Wide Web selain HTML dan CSS. JavaScript membantu membuat halaman web interaktif dan merupakan bagian aplikasi web yang esensial.

Awalnya hanya diimplementasi sebagai client-side dalam penjelajah web, kini engine JavaScript disisipkan ke dalam perangkat lunak lain seperti dalam server-side dalam server web dan basis data, dalam program non web seperti perangkat lunak pengolah kata dan pembaca PDF, dan sebagai runtime environment yang memungkinkan penggunaan JavaScript untuk membuat aplikasi desktop maupun mobile. JavaScript adalah merek dagang yang dikeluarkan dari Oracle Corporation di Amerika Serikat.[12][13]

Sejarah

JavaScript pertama kali dikembangkan oleh Brendan Eich dari Netscape di bawah nama Mocha, yang nantinya namanya diganti menjadi LiveScript, dan akhirnya menjadi JavaScript.[14][15]

Navigator sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan para pemrogram yang non-Java.[16] Maka dikembangkanlah bahasa pemrograman bernama LiveScript untuk mengakomodasi hal tersebut.[16] Bahasa pemrograman inilah yang akhirnya berkembang dan diberi nama JavaScript, walaupun tidak ada hubungan bahasa antara Java dengan JavaScript.[16]

JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat efek rollover baik di gambar maupun teks, dan yang penting juga adalah untuk membuat AJAX.[16] JavaScript adalah bahasa yang digunakan untuk AJAX.

Pembuatan oleh Netscape

Browser web pertama dengan antarmuka pengguna grafis, Mosaic, dirilis pada tahun 1993. Dapat diakses oleh orang-orang non-teknis, ini memainkan peran penting dalam pertumbuhan pesat World Wide Web yang baru lahir.[17] Pengembang utama Mosaic kemudian mendirikan perusahaan Netscape, yang merilis browser yang lebih halus, Netscape Navigator, pada tahun 1994. Ini dengan cepat menjadi yang paling banyak digunakan.[18][19]

Selama tahun-tahun awal Internet, halaman web hanya bisa statis, tanpa perilaku dinamis setelah dimuat ke browser. Karena ada permintaan untuk bahasa scripting di komunitas pengembangan web yang sedang berkembang, Netscape memutuskan untuk memasukkannya ke Navigator pada tahun 1995. Untuk melakukan ini, mereka bekerja dengan Sun Microsystems untuk mengintegrasikan bahasa pemrograman Java, serta merekrut Brendan Eich untuk menanamkan bahasa Skema.[20]

Manajemen Netscape dengan cepat memutuskan bahwa solusi terbaik adalah bagi Eich untuk membuat bahasa baru dengan sintaks yang lebih mirip Java daripada Skema atau bahasa skrip lain yang ada.[20] Meskipun bahasa baru dan implementasi penerjemahnya disebut LiveScript ketika pertama kali dikirimkan sebagai bagian dari Navigator beta pada bulan September 1995, nama tersebut diubah menjadi JavaScript untuk rilis resmi pada bulan Desember.[20][21]

Nama JavaScript telah menyebabkan beberapa kebingungan karena menyiratkan bahwa itu terkait langsung dengan Java. Karena ledakan dot-com baru saja dimulai dan Java adalah bahasa baru terpanas saat ini, Eich melihat moniker JavaScript sebagai taktik pemasaran oleh Netscape.[22]

Pengadopsian oleh Microsoft

Microsoft memulai debut dengan Internet Explorer ditahun 1995, sebagai pengarah perang browser dengan Netscape. Di bagian depan JavaScript, Microsoft merekayasa balik penerjemah Navigator untuk membuatnya sendiri, yang disebut JScript.[23]

JScript pertama kali diluncurkan pada tahun 1996, bersamaan dukungan awal untuk CSS dan ekstensi ke HTML . Masing-masing implementasi ini sangat berbeda dari rekan-rekan mereka di Navigator.[24][25] Karena perbedaan ini, sulit bagi perancang web untuk membuat situs mereka tampil efektif di kedua browser, oleh karena itu logo "terbaik dilihat di Netscape" dan "terbaik dilihat di Internet Explorer" banyak digunakan selama beberapa tahun.[24][26]

Merek dagang

"JavaScript" adalah sebuah merek dagang Oracle Corporation di Amerika Serikat.[27][28]

Penggunaan lainnya

Penggunaan JavaScript telah berkembang melampaui akar peramban webnya. Mesin JavaScript sekarang telah tertanam dalam berbagai dari perangkat lunak lainnya, baik untuk penerapan situs web sisi server dan aplikasi non-browser.

Percobaan awal pada dalam mempromosikan penggunaan JavaScript sisi server adalah Netscape Enterprise Server dan Internet Information Services Microsoft,[29][30] tapi itu ceruk kecil.[31] Penggunaan sisi server akhirnya mulai tumbuh di akhir tahun 2000-an, dengan kreasi dari Node.js dan pendekatan lainnya.[31]

JavaScript baru-baru ini mulai muncul di beberapa sistem tertanam, biasanya dengan memanfaatkan Node.js.[32][33][34]

Contoh kode JavaScript

Variabel

Penulisan variabel di JavaScript standar tidak mempunyai data type. Semua value dapat disimpan di semua variabel. Variabel dapat ditentukan oleh let (variabel level blok), var (variabel level fungsi) atau const (variabel tak dapat diubah).[35]

Var

Berikut adalah contoh penulisan JavaScript dengan menggunakan var:

var x = 1;
var y = 2;
var z = x + y;

Let

Berikut adalah contoh penulisan JavaScript dengan menggunakan let:

let panjang = 5;
let lebar = 10 // penggunaan titik koma dalam JavaScript adalah suatu pilihan opsional
let luas = panjang * lebar; // 50

Const

Berikut adalah contoh penulisan JavaScript dengan menggunakan const:

const angkaPertama = 5;
const angkaKedua = 6;
let jumlah = angkaPertama + angkaKedua;

Komentar

Penulisan komentar (comment) pada JavaScript terdapat dua cara, yaitu komentar untuk satu baris (single line comments) dan komentar untuk lebih dari satu baris (multi-line comments). Baris kode komentar tidak akan dieksekusi oleh JavaScript dan akan diabaikan.[36]

Contoh penulisannya adalah sebagai berikut :

Komentar untuk satu baris

// ini adalah komentar untuk satu baris
let kata = "Halo!";
console.log(kata);

Komentar untuk lebih dari satu baris

/*
ini adalah komentar 
untuk lebih dari satu baris. 
*/
let kata = "Hai!";
console.log(kata);

Operator aritmatika

Operator aritmatika merupakan operator untuk melakukan operasi aritmatika seperti penjumlahan, pengurangan, perkalian, pembagian, operasi modulus, dan lain sebagainya.[37] Berikut adalah penulisan operator aritmatika dalam JavaScript:

// Berikut adalah operator penjumlahan 
let angkaPertama = 1;
let angkaKedua = 99;
let hasilPenjumlahan = angkaPertama + angkaKedua;

// Berikut adalah operator pengurangan 
let angkaKetiga = 100;
let angkaKeempat = 99;
let hasilPengurangan = angkaKetiga - angkaKeempat;

// Berikut adalah operator perkalian
let angkaKelima = 20;
let angkaKeenam = 5; 
let hasilPerkalian = angkaKelima * angkaKeenam;

// Berikut adalah operator perpangkatan
let angkaKetujuh = 2;
let angkaKedelapan = 4;
let hasilPerpangkatan = angkaKetujuh**angkaKedelapan;

// Berikut adalah operator pembagian 
let angkaKesembilan = 100;
let angkaKesepuluh = 10;
let hasilPembagian = angkaKesembilan / angkaKesepuluh;

// Berikut adalah operator sisa bagi atau modulus 
let angkaKesebelas = 10;
let angkaKeduabelas = 2;
let hasilModulus = angkaKesebelas % angkaKeduabelas;

Tipe data

Dalam JavaScript, tipe data dibedakan menjadi tipe data primitif dan non-primitif.[38]

Tipe data primitif

  • Boolean
  • Null
  • Undefined
  • Number
  • BigInt
  • String
  • Symbol

Tipe data non-primitif

  • Object : Digunakan untuk objek, termasuk objek bawaan seperti Array, Date, dan Math, serta objek yang dibuat oleh pengguna. Contoh: {name: ‘Jhon Doe’, age: 13}, [1, 2, 3]
  • Array : Digunakan untuk kumpulan nilai yang dikelompokkan secara terurut. Contoh: [1, 2, 3, 4]

Penulisan JavaScript

Kode JavaScript biasanya dituliskan dalam bentuk fungsi yang ditaruh di tag <head> yang dibuka dengan tag <script type="text/javascript">.[39]

<script type="text/javascript">
	alert("Halo Dunia!");
</script>

Kode JavaScript juga bisa diletakkan di file tersendiri yang berekstensi .js (singkatan dari JavaScript).[39] Untuk memanggil kode JavaScript yang terdapat di file sendiri, di bagian awal <head> harus ditentukan dahulu nama file .js yang dimaksud menggunakan contoh kode seperti berikut:[39]

<script type="text/javascript" src="alamat.js">
</script>

Skrip di head

Skrip ini akan dieksekusi ketika dipanggil (biasanya berbentuk function) atau dipanggil berdasarkan trigger pada event tertentu.[39] Peletakkan skrip di head akan menjamin skrip dimuat terlebih dahulu sebelum dipanggil.[39]

<html>
<head>
<script type="text/javascript">
...
</script>
</head>
</html>

Skrip di body

Skrip ini dieksekusi ketika halaman dimuat sampai di bagian <body>.[39] Ketika menempatkan skrip pada bagian <body> berarti antara isi dan JavaScript dijadikan satu bagian.[39]

<html>
<head>
</head>
<body>
<script type="text/javascript">
...
</script>
</body>
</html>

Jumlah JavaScript di <head> dan <body> yang ditempatkan pada dokumen tidak terbatas.[39]

Skrip eksternal

Terkadang ada yang menginginkan menjalankan JavaScript yang sama dalam beberapa kali pada halaman yang berbeda, tetapi tidak mau disibukkan jika harus menulis ulang script yang diinginkan di setiap halaman.[39] Maka JavaScript dapat ditulis di file secara eksternal.[39] Jadi, antara dokumen HTML dan JavaScript dipisahkan, kemudian berkas tersebut dipanggil dari dokument HTML.[39] Berkas JavaScript tersebut disimpan dengan ekstensi .js.[39]

JavaScript: js/xxx.js document.write("pesan ini tampil ketika halaman diload");

Untuk menggunakan eksternal JavaScript (.js) dipakai atribut "src" pada tag <script> pada halaman HTML-nya.[39]

<html>
<head>
</head>
<body>
<script src="xxx.js">
</script>
<p>Script di atas berada di berkas "xxx.js" (eksternal) </p>
</body>
</html>

Alat pengembang

Alat penting telah berkembang dengan bahasa.

  • Setiap browser web utama memiliki alat pengembangan web bawaan, termasuk sebuah debugger JavaScript.
  • Alat analisis program statis, seperti ESLint dan JSLint, memindai kode JavaScript untuk kesesuaian dengan serangkaian standar dan pedoman.
  • Beberapa browser memiliki profiler bawaan. Pustaka profiler yang berdiri sendiri juga telah dibuat, seperti benchmark.js dan jsbench.[40][41]
  • Banyak teks editor memiliki dukungan penyorotan sintaks untuk kode JavaScript.

Referensi

  1. ^ Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995
  2. ^ ECMAScript® 2021 Language Specification (PDF) (edisi ke-12). Jenewa: ECMA International. 2021. 
  3. ^ "ECMAScript® 2025 Language Specification". 27 Maret 2024. Diakses tanggal 17 April 2024. 
  4. ^ "nodejs/node-eps". GitHub. 
  5. ^ Seibel, Peter (September 16, 2009). Coders at Work: Reflections on the Craft of Programming. ISBN 9781430219484. Diakses tanggal December 25, 2018. Eich: The immediate concern at Netscape was it must look like Java. 
  6. ^ a b "Chapter 4. How JavaScript Was Created". speakingjs.com. Diarsipkan dari versi asli tanggal 2020-02-27. Diakses tanggal 2021-03-27. 
  7. ^ "Brendan Eich: An Introduction to JavaScript, JSConf 2010". hlm. 22m. Diakses tanggal November 25, 2019. Eich: "function", eight letters, I was influenced by AWK. 
  8. ^ Eich, Brendan (1998). "Foreword". Dalam Goodman, Danny. JavaScript BiblePerlu mendaftar (gratis) (edisi ke-3rd). John Wiley & Sons. ISBN 0-7645-3188-3. LCCN 97078208. OCLC 38888873. OL 712205M. 
  9. ^ "JavaScript". Collins English Dictionary – Complete & Unabridged 2012 Digital Edition. William Collins Sons & Co. 2012. Diakses tanggal 21 Agustus 2015. 
  10. ^ Flanagan, David (2011). JavaScript: The Definitive Guide (edisi ke-6th). O'Reilly & Associates. ISBN 978-0-596-80552-4. 
  11. ^ Andi Sunyoto, M. Kom, Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML, ANDI
  12. ^ "U.S. Trademark Serial No. 75026640". United States Patent and Trademark Office. Diarsipkan dari versi asli tanggal 2021-07-13. Diakses tanggal 2021-12-28. 
  13. ^ "Legal Notices". Oracle Corporation. Diarsipkan dari versi asli tanggal 2021-06-05. Diakses tanggal 2021-12-28. 
  14. ^ Krill, Paul (2008-06-23). "JavaScript creator ponders past, future". InfoWorld. Diakses tanggal 2009-05-19. 
  15. ^ Hamilton, Naomi (2008-06-31). "The A-Z of Programming Languages: JavaScript". computerworld.com.au. 
  16. ^ a b c d Ali Zaki & Smitdev Community, SPP AJAX untuk Pemula, halaman 27. Elex Media Komputindo
  17. ^ "Bloomberg Game Changers: Marc Andreessen". Bloomberg. March 17, 2011. Diarsipkan dari versi asli tanggal May 16, 2012. Diakses tanggal December 7, 2011. 
  18. ^ Enzer, Larry (August 31, 2018). "The Evolution of the Web Browsers". Monmouth Web Developers. Diarsipkan dari versi asli tanggal August 31, 2018. Diakses tanggal August 31, 2018. 
  19. ^ Dickerson, Gordon (August 31, 2018). "Learn the History of Web Browsers". washingtonindependent.com. Diakses tanggal August 31, 2018. 
  20. ^ a b c "Chapter 4. How JavaScript Was Created". speakingjs.com. Diarsipkan dari versi asli tanggal 2020-02-27. Diakses tanggal 2017-11-21. 
  21. ^ "TechVision: Innovators of the Net: Brendan Eich and JavaScript". Diarsipkan dari versi asli tanggal February 8, 2008. 
  22. ^ Fin JS (June 17, 2016), Brendan Eich – CEO of Brave, diarsipkan dari versi asli tanggal February 10, 2019, diakses tanggal February 7, 2018 
  23. ^ "Chapter 5. Standardization: ECMAScript". speakingjs.com. Diakses tanggal 1 November 2021. [pranala nonaktif permanen]
  24. ^ a b Champeon, Steve (April 6, 2001). "JavaScript, How Did We Get Here?". oreilly.com. Diarsipkan dari versi asli tanggal July 19, 2016. Diakses tanggal July 16, 2016. 
  25. ^ "Microsoft Internet Explorer 3.0 Beta Now Available". microsoft.com. Microsoft. May 29, 1996. Diarsipkan dari versi asli tanggal November 24, 2020. Diakses tanggal July 16, 2016. 
  26. ^ McCracken, Harry (September 16, 2010). "The Unwelcome Return of "Best Viewed with Internet Explorer"". technologizer.com. Diarsipkan dari versi asli tanggal June 23, 2018. Diakses tanggal July 16, 2016. 
  27. ^ "U.S. Trademark Serial No. 75026640". United States Patent and Trademark Office. Diarsipkan dari versi asli tanggal 2021-07-13. Diakses tanggal 2021-05-08. 
  28. ^ "Legal Notices". Oracle Corporation. Diarsipkan dari versi asli tanggal 2021-06-05. Diakses tanggal 2021-05-08. 
  29. ^ News, Oracle (December 11, 1998). "Server-Side JavaScript Guide". oracle.com. Oracle Corporation. Diarsipkan dari versi asli tanggal March 11, 2021. Diakses tanggal May 8, 2021. 
  30. ^ Clinick, Andrew (July 14, 2000). "Introducing JScript .NET". Microsoft Developer Network. Microsoft. Diarsipkan dari versi asli tanggal November 10, 2017. Diakses tanggal April 10, 2018. [S]ince the 1996 introduction of JScript version 1.0 ... we've been seeing a steady increase in the usage of JScript on the server—particularly in Active Server Pages (ASP) 
  31. ^ a b Mahemoff, Michael (December 17, 2009). "Server-Side JavaScript, Back with a Vengeance". readwrite.com. Diarsipkan dari versi asli tanggal June 17, 2016. Diakses tanggal July 16, 2016. 
  32. ^ "Tessel 2... Leverage all the libraries of Node.JS to create useful devices in minutes with Tessel". tessel.io. Diarsipkan dari versi asli tanggal 2021-05-26. Diakses tanggal 2021-05-08. 
  33. ^ "Node.js Raspberry Pi GPIO Introduction". w3schools.com. Diarsipkan dari versi asli tanggal 2021-08-13. Diakses tanggal 2020-05-03. 
  34. ^ "Espruino – JavaScript for Microcontrollers". espruino.com. Diarsipkan dari versi asli tanggal 2020-05-01. Diakses tanggal 2020-05-03. 
  35. ^ "JavaScript Variables". www.w3schools.com (dalam bahasa Inggris). Diakses tanggal 2022-09-15. 
  36. ^ "JavaScript Comments". www.w3schools.com (dalam bahasa Inggris). Diakses tanggal 2022-09-29. 
  37. ^ "JavaScript Operators". www.w3schools.com (dalam bahasa Inggris). Diakses tanggal 2022-09-29. 
  38. ^ "JavaScript data types and data structures - JavaScript | MDN". developer.mozilla.org (dalam bahasa Inggris). Diakses tanggal 2022-09-15. 
  39. ^ a b c d e f g h i j k l m Zainal Arifin & Smitdev Community, 36 Menit Belajar Komputer: Php Dan Mysql. Elex Media Komputindo.
  40. ^ "Benchmark.js". benchmarkjs.com. Diarsipkan dari versi asli tanggal 2016-12-19. Diakses tanggal 2016-11-06. 
  41. ^ JSBEN.CH. "JSBEN.CH Performance Benchmarking Playground for JavaScript". jsben.ch. Diarsipkan dari versi asli tanggal 2021-02-27. Diakses tanggal 2021-08-13. 

Bacaan lanjutan

  • Flanagan, David. JavaScript: The Definitive Guide. 7th edition. Sebastopol, California: O'Reilly, 2020.
  • Haverbeke, Marijn. Eloquent JavaScript. 3rd edition. No Starch Press, 2018. 472 pages. ISBN 978-1593279509.(download)
  • Zakas, Nicholas. Principles of Object-Oriented JavaScript, 1st edition. No Starch Press, 2014. 120 pages. ISBN 978-1593275402.

Lihat pula

Pranala luar

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: wikipedia/wikipediareadmore.php

Line Number: 5

A PHP Error was encountered

Severity: Notice

Message: Trying to get property of non-object

Filename: wikipedia/wikipediareadmore.php

Line Number: 70

 

A PHP Error was encountered

Severity: Notice

Message: Undefined index: HTTP_REFERER

Filename: controllers/ensiklopedia.php

Line Number: 41