Lompat ke isi

JavaScript

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
JavaScript
Edit nilai pada Wikidata
ParadigmaMultiparadigma:berbasis even,fungsional,imperatif,pemrograman berorientasi objek,prosedural
Dirancang olehPada awalnya dirancangBrendan Eich,bersama kontributor utama lainnya untuk spesifikasiECMAScript
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/
Implementasiutama
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 infoLB
Info templat
Bantuan penggunaan templat ini

JavaScript(/ˈɑːvəˌskrɪpt/[9]) (disingkatJS) adalah suatubahasapemrogramantingkat tinggidandinamis.[10]JavaScript populer diinternetdan dapat bekerja di sebagian besarpenjelajah webpopuler sepertiGoogle Chrome,Internet Explorer(IE),Mozilla Firefox,NetscapedanOpera.KodeJavaScript dapat disisipkan dalamhalamanwebmenggunakantagscript.[11]JavaScript merupakan salah satu teknologi intiWorld Wide WebselainHTMLdanCSS.JavaScript membantu membuat halaman web interaktif dan merupakan bagian aplikasi web yang esensial.

Awalnya hanya diimplementasi sebagaiclient-sidedalam penjelajah web, kiniengineJavaScript disisipkan ke dalam perangkat lunak lain seperti dalamserver-sidedalamserver webdan basis data, dalam program non web seperti perangkat lunak pengolah kata dan pembacaPDF,dan sebagairuntime environmentyang memungkinkan penggunaan JavaScript untuk membuat aplikasi desktop maupun mobile. JavaScript adalahmerek dagangyang dikeluarkan dariOracle CorporationdiAmerika Serikat.[12][13]

JavaScript pertama kali dikembangkan olehBrendan Eichdari Netscape di bawah namaMocha,yang nantinya namanya diganti menjadiLiveScript,dan akhirnya menjadiJavaScript.[14][15]

Navigatorsebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan parapemrogramyang non-Java.[16]Maka dikembangkanlah bahasa pemrograman bernamaLiveScriptuntuk 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 efekrolloverbaik di gambar maupun teks, dan yang penting juga adalah untuk membuatAJAX.[16]JavaScript adalah bahasa yang digunakan untuk AJAX.

Pembuatan oleh Netscape

[sunting|sunting sumber]

Browser webpertama denganantarmuka pengguna grafis,Mosaic,dirilis pada tahun 1993. Dapat diakses oleh orang-orang non-teknis, ini memainkan peran penting dalam pertumbuhan pesatWorld Wide Web yangbaru lahir.[17]Pengembang utama Mosaic kemudian mendirikanperusahaan 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 danimplementasi penerjemahnyadisebut LiveScript ketika pertama kali dikirimkan sebagai bagian dari Navigatorbetapada 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

[sunting|sunting sumber]

Microsoftmemulai debut denganInternet Explorerditahun 1995, sebagai pengarahperang browserdengan Netscape. Di bagian depan JavaScript, Microsoftmerekayasa balikpenerjemahNavigator untuk membuatnya sendiri, yang disebutJScript.[23]

JScript pertama kali diluncurkan pada tahun 1996, bersamaan dukungan awal untukCSSdan ekstensi keHTML.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

[sunting|sunting sumber]

"JavaScript" adalah sebuahmerek dagangOracle Corporationdi Amerika Serikat.[27][28]

Penggunaan lainnya

[sunting|sunting sumber]

Penggunaan JavaScript telah berkembang melampaui akarperambanwebnya.Mesin JavaScriptsekarang telah tertanam dalam berbagai dari perangkat lunak lainnya, baik untuk penerapan situs web sisi server danaplikasinon-browser.

Percobaan awal pada dalam mempromosikan penggunaan JavaScript sisi server adalahNetscape Enterprise ServerdanInternet Information ServicesMicrosoft,[29][30]tapi itu ceruk kecil.[31]Penggunaan sisi server akhirnya mulai tumbuh di akhir tahun 2000-an, dengan kreasi dariNode.jsdan pendekatan lainnya.[31]

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

Contoh kode JavaScript

[sunting|sunting sumber]

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]

Berikut adalah contoh penulisan JavaScript dengan menggunakan var:

varx=1;
vary=2;
varz=x+y;

Berikut adalah contoh penulisan JavaScript dengan menggunakan let:

letpanjang=5;
letlebar=10// penggunaan titik koma dalam JavaScript adalah suatu pilihan opsional
letluas=panjang*lebar;// 50

Berikut adalah contoh penulisan JavaScript dengan menggunakan const:

constangkaPertama=5;
constangkaKedua=6;
letjumlah=angkaPertama+angkaKedua;

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

[sunting|sunting sumber]
// ini adalah komentar untuk satu baris
letkata="Halo!";
console.log(kata);

Komentar untuk lebih dari satu baris

[sunting|sunting sumber]
/*
ini adalah komentar
untuk lebih dari satu baris.
*/
letkata="Hai!";
console.log(kata);

Operator aritmatika

[sunting|sunting sumber]

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

// Berikut adalah operator penjumlahan
letangkaPertama=1;
letangkaKedua=99;
lethasilPenjumlahan=angkaPertama+angkaKedua;

// Berikut adalah operator pengurangan
letangkaKetiga=100;
letangkaKeempat=99;
lethasilPengurangan=angkaKetiga-angkaKeempat;

// Berikut adalah operator perkalian
letangkaKelima=20;
letangkaKeenam=5;
lethasilPerkalian=angkaKelima*angkaKeenam;

// Berikut adalah operator perpangkatan
letangkaKetujuh=2;
letangkaKedelapan=4;
lethasilPerpangkatan=angkaKetujuh**angkaKedelapan;

// Berikut adalah operator pembagian
letangkaKesembilan=100;
letangkaKesepuluh=10;
lethasilPembagian=angkaKesembilan/angkaKesepuluh;

// Berikut adalah operator sisa bagi atau modulus
letangkaKesebelas=10;
letangkaKeduabelas=2;
lethasilModulus=angkaKesebelas%angkaKeduabelas;

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

Tipe data primitif

[sunting|sunting sumber]
  • Boolean
  • Null
  • Undefined
  • Number
  • BigInt
  • String
  • Symbol

Tipe data non-primitif

[sunting|sunting sumber]
  • 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

[sunting|sunting sumber]

KodeJavaScript biasanya dituliskan dalam bentukfungsiyang ditaruh di tag <head> yang dibuka dengantag<script type= "text/javascript" >.[39]

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

Kode JavaScript juga bisa diletakkan difiletersendiri 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]

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

Skrip dihead

[sunting|sunting sumber]

Skrip ini akan dieksekusi ketika dipanggil (biasanya berbentukfunction) atau dipanggil berdasarkantriggerpadaeventtertentu.[39]Peletakkan skrip diheadakan menjamin skrip dimuat terlebih dahulu sebelum dipanggil.[39]

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

Skrip dibody

[sunting|sunting sumber]

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>
<scripttype="text/javascript">
...
</script>
</body>
</html>

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

Skrip eksternal

[sunting|sunting sumber]

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

JavaScript: js/xxx.jsdocument.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>
<scriptsrc="xxx.js">
</script>
<p>Script di atas berada di berkas "xxx.js" (eksternal)</p>
</body>
</html>

Alat pengembang

[sunting|sunting sumber]

Alat penting telah berkembang dengan bahasa.

  • Setiap browser web utama memiliki alat pengembangan web bawaan, termasuk sebuahdebuggerJavaScript.
  • Alat analisis program statis, sepertiESLintdanJSLint,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]
  • Banyakteks editormemiliki dukungan penyorotan sintaks untuk kode JavaScript.
  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 tanggal17 April2024.
  4. ^"nodejs/node-eps".GitHub.
  5. ^Seibel, Peter (September 16, 2009).Coders at Work: Reflections on the Craft of Programming.ISBN9781430219484.Diakses tanggalDecember 25,2018.Eich: The immediate concern at Netscape was it must look like Java.
  6. ^ab"Chapter 4. How JavaScript Was Created".speakingjs.Diarsipkan dariversi aslitanggal 2020-02-27.Diakses tanggal2021-03-27.
  7. ^"Brendan Eich: An Introduction to JavaScript, JSConf 2010".hlm. 22m.Diakses tanggalNovember 25,2019.Eich: "function", eight letters, I was influenced by AWK.
  8. ^Eich, Brendan(1998). "Foreword". DalamGoodman, Danny.JavaScript BiblePerlu mendaftar (gratis)(edisi ke-3rd).John Wiley & Sons.ISBN0-7645-3188-3.LCCN97078208.OCLC38888873.OL712205M.
  9. ^"JavaScript".Collins English Dictionary – Complete & Unabridged 2012 Digital Edition.William Collins Sons & Co. 2012.Diakses tanggal21 Agustus2015.
  10. ^Flanagan, David (2011).JavaScript: The Definitive Guide(edisi ke-6th).O'Reilly & Associates.ISBN978-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 dariversi aslitanggal 2021-07-13.Diakses tanggal2021-12-28.
  13. ^"Legal Notices".Oracle Corporation.Diarsipkan dariversi aslitanggal 2021-06-05.Diakses tanggal2021-12-28.
  14. ^Krill, Paul (2008-06-23)."JavaScript creator ponders past, future".InfoWorld.Diakses tanggal2009-05-19.
  15. ^Hamilton, Naomi (2008-06-31)."The A-Z of Programming Languages: JavaScript".computerworld.au.
  16. ^abcdAli Zaki & Smitdev Community,SPP AJAX untuk Pemula,halaman 27. Elex Media Komputindo
  17. ^"Bloomberg Game Changers: Marc Andreessen".Bloomberg. March 17, 2011. Diarsipkan dariversi aslitanggal May 16, 2012.Diakses tanggalDecember 7,2011.
  18. ^Enzer, Larry (August 31, 2018)."The Evolution of the Web Browsers".Monmouth Web Developers.Diarsipkan dariversi aslitanggal August 31, 2018.Diakses tanggalAugust 31,2018.
  19. ^Dickerson, Gordon (August 31, 2018)."Learn the History of Web Browsers".washingtonindependent.Diakses tanggalAugust 31,2018.
  20. ^abc"Chapter 4. How JavaScript Was Created".speakingjs.Diarsipkan dariversi aslitanggal 2020-02-27.Diakses tanggal2017-11-21.
  21. ^"TechVision: Innovators of the Net: Brendan Eich and JavaScript".Diarsipkan dariversi aslitanggal February 8, 2008.
  22. ^Fin JS (June 17, 2016),Brendan Eich – CEO of Brave,diarsipkan dariversi aslitanggal February 10, 2019,diakses tanggalFebruary 7,2018
  23. ^"Chapter 5. Standardization: ECMAScript".speakingjs.Diakses tanggal1 November2021.[pranala nonaktif permanen]
  24. ^abChampeon, Steve (April 6, 2001)."JavaScript, How Did We Get Here?".oreilly.Diarsipkan dariversi aslitanggal July 19, 2016.Diakses tanggalJuly 16,2016.
  25. ^"Microsoft Internet Explorer 3.0 Beta Now Available".microsoft.Microsoft. May 29, 1996. Diarsipkan dariversi aslitanggal November 24, 2020.Diakses tanggalJuly 16,2016.
  26. ^McCracken, Harry (September 16, 2010)."The Unwelcome Return of" Best Viewed with Internet Explorer"".technologizer.Diarsipkan dariversi aslitanggal June 23, 2018.Diakses tanggalJuly 16,2016.
  27. ^"U.S. Trademark Serial No. 75026640".United States Patent and Trademark Office.Diarsipkan dariversi aslitanggal 2021-07-13.Diakses tanggal2021-05-08.
  28. ^"Legal Notices".Oracle Corporation.Diarsipkan dariversi aslitanggal 2021-06-05.Diakses tanggal2021-05-08.
  29. ^News, Oracle (December 11, 1998)."Server-Side JavaScript Guide".oracle.Oracle Corporation.Diarsipkan dariversi aslitanggal March 11, 2021.Diakses tanggalMay 8,2021.
  30. ^Clinick, Andrew (July 14, 2000)."Introducing JScript.NET".Microsoft Developer Network.Microsoft. Diarsipkan dariversi aslitanggal November 10, 2017.Diakses tanggalApril 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. ^abMahemoff, Michael (December 17, 2009)."Server-Side JavaScript, Back with a Vengeance".readwrite.Diarsipkan dariversi aslitanggal June 17, 2016.Diakses tanggalJuly 16,2016.
  32. ^"Tessel 2... Leverage all the libraries of Node.JS to create useful devices in minutes with Tessel".tessel.io.Diarsipkan dariversi aslitanggal 2021-05-26.Diakses tanggal2021-05-08.
  33. ^"Node.js Raspberry Pi GPIO Introduction".w3schools.Diarsipkan dariversi aslitanggal 2021-08-13.Diakses tanggal2020-05-03.
  34. ^"Espruino – JavaScript for Microcontrollers".espruino.Diarsipkan dariversi aslitanggal 2020-05-01.Diakses tanggal2020-05-03.
  35. ^"JavaScript Variables".w3schools(dalam bahasa Inggris).Diakses tanggal2022-09-15.
  36. ^"JavaScript Comments".w3schools(dalam bahasa Inggris).Diakses tanggal2022-09-29.
  37. ^"JavaScript Operators".w3schools(dalam bahasa Inggris).Diakses tanggal2022-09-29.
  38. ^"JavaScript data types and data structures - JavaScript | MDN".developer.mozilla.org(dalam bahasa Inggris).Diakses tanggal2022-09-15.
  39. ^abcdefghijklmZainal Arifin & Smitdev Community,36 Menit Belajar Komputer: Php Dan Mysql.Elex Media Komputindo.
  40. ^"Benchmark.js".benchmarkjs.Diarsipkan dariversi aslitanggal 2016-12-19.Diakses tanggal2016-11-06.
  41. ^JSBEN.CH."JSBEN.CH Performance Benchmarking Playground for JavaScript".jsben.ch.Diarsipkan dariversi aslitanggal 2021-02-27.Diakses tanggal2021-08-13.

Bacaan lanjutan

[sunting|sunting sumber]
  • 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.ISBN978-1593279509.(download)
  • Zakas, Nicholas.Principles of Object-Oriented JavaScript,1st edition. No Starch Press, 2014. 120 pages.ISBN978-1593275402.

Pranala luar

[sunting|sunting sumber]