JavaScript: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan
k →‎Pranala luar: clean up
(45 revisi perantara oleh 22 pengguna tidak ditampilkan)
Baris 14:
| typing = [[Dynamic typing|Dinamis]], [[Duck typing|duck]]
| implementations = [[V8 (mesin JavaScript)|V8]], [[JavaScriptCore]], [[SpiderMonkey (mesin JavaScript)|SpiderMonkey]], [[Chakra (mesin JScript)|Chakra]]
| influenced_by = [[Java]],<ref name="looklikejava">{{cite book|title=Coders at Work: Reflections on the Craft of Programming|isbn=9781430219484|quote="Eich: The immediate concern at Netscape was it must look like Java."|url=https://books.google.com/books?id=nneBa6-mWfgC&q=The+immediate+concern+at+Netscape+was+it+must+look+like+Java.&pg=PA141|access-date=December 25, 2018|last1=Seibel|first1=Peter|date=September 16, 2009}}</ref><ref name="origin">{{Cite web|url=http://speakingjs.com/es5/ch04.html|title=Chapter 4. How JavaScript Was Created|website=speakingjs.com|access-date=2021-03-27|archive-date=2020-02-27|archive-url=https://web.archive.org/web/20200227184037/http://speakingjs.com/es5/ch04.html|dead-url=yes}}</ref> [[Scheme (bahasa pemrograman)|Scheme]],<ref name="origin"/> [[AWK]],<ref>{{cite web|title=Brendan Eich: An Introduction to JavaScript, JSConf 2010|quote="Eich: "function", eight letters, I was influenced by AWK."|url=https://www.youtube.com/watch?v=1EyRscXrehw|access-date=November 25, 2019|page=22m}}</ref> [[HyperTalk]]<ref>{{cite book |last=Eich |first=Brendan |authorlink1=Brendan Eich |chapter=Foreword |editor1-last=Goodman |editor1-first=Danny |editor1-link=Danny Goodman |year=1998 |title=JavaScript Bible |edition=3rd |publisher=[[John Wiley & Sons]] |isbn=0-7645-3188-3 |lccn=97078208 |oclc=38888873 |ol=712205M |url-access=registration |url=https://archive.org/details/javascriptbible000good}}</ref>
| influenced = [[TypeScript]], [[CoffeeScript]], [[AssemblyScript]], [[ActionScript]], [[Dart (bahasa pemrograman)|Dart]], [[Objective-J]], [[Opa (bahasa pemrograman)|Opa]], [[Haxe]]
| license =
Baris 26:
}}
}}
'''JavaScript''' ({{IPAc-en|ˈ|dʒ|ɑː|v|ə|ˌ|s|k|r|ɪ|p|t}}<ref>{{cite web | url=http://dictionary.reference.com/browse/javascript | title=JavaScript | publisher=William Collins Sons & Co | work=Collins English Dictionary – Complete & Unabridged 2012 Digital Edition | date=2012 | accessdate=21 Agustus 2015}}</ref>) (disingkat '''JS''') adalah suatu [[bahasa]] pemrograman [[bahasa pemrograman tingkat tinggi|tingkat tinggi]] dan [[bahasa pemrograman dinamis|dinamis]].<ref name="harv">{{cite book|last1= Flanagan|first1= David|title= JavaScript: The Definitive Guide|url= https://archive.org/details/javascriptdefini0000flan_6edi|edition= 6th|year= 2011|publisher= [[O'Reilly Media|O'Reilly & Associates]]|isbn= 978-0-596-80552-4}}</ref> JavaScript populer di [[internet]] dan dapat bekerja di sebagian besar [[penjelajah web]] populer seperti [[Google Chrome]], [[Internet Explorer]] (IE), [[Mozilla Firefox]], [[Netscape Navigator|Netscape]] dan [[Opera (peramban web)|Opera]]. [[Kode]] JavaScript dapat disisipkan dalam [[halaman]] [[web]] menggunakan [[tag]] SCRIPT''script''.<ref name="andi">Andi Sunyoto, M. Kom, ''Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML'', ANDI</ref> JavaScript merupakan salah satu teknologi inti [[World Wide Web]] selain [[HTML]] dan [[Cascading Style Sheets|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 [[Portable Document Format|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]].<ref>{{Cite web|title=U.S. Trademark Serial No. 75026640|url=https://tsdr.uspto.gov/#caseNumber=75026640&caseType=SERIAL_NO&searchType=statusSearch|publisher=[[United States Patent and Trademark Office]]|archive-url=https://web.archive.org/web/20210713022850/https://tsdr.uspto.gov/#caseNumber=75026640&caseType=SERIAL_NO&searchType=statusSearch|archive-date=2021-07-13|access-date=2021-12-28|url-status=live}}</ref><ref>{{Cite web|title=Legal Notices|url=https://www.oracle.com/legal/trademarks.html|publisher=[[Oracle Corporation]]|archive-url=https://web.archive.org/web/20210605142505/https://www.oracle.com/legal/trademarks.html|archive-date=2021-06-05|access-date=2021-12-28|url-status=live}}</ref>
Baris 32:
== Sejarah ==
 
JavaScript pertama kali dikembangkan oleh [[Brendan Eich]] dari Netscape di bawah nama ''Mocha'', yang nantinya namanya diganti menjadi ''LiveScript, dan akhirnya menjadi JavaScript.<ref>{{cite web|last=Krill |first=Paul |url=http://www.infoworld.com/article/08/06/23/eich-javascript-interview_1.html |title=JavaScript creator ponders past, future |publisher=InfoWorld |date=2008-06-23 |accessdate=2009-05-19}}</ref> <ref name="computerworld">{{cite web|last=Hamilton|first=Naomi|url=http://www.computerworld.com.au/article/255293/-z_programming_languages_javascript|title=The A-Z of Programming Languages: JavaScript|publisher=computerworld.com.au|date=2008-06-31}}</ref>
 
''Navigator'' sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan para [[pemrogram]] yang non-Java.<ref name="zaki"/> Maka dikembangkanlah bahasa pemrograman bernama ''LiveScript'' untuk mengakomodasi hal tersebut.<ref name="zaki"/> Bahasa pemrograman inilah yang akhirnya berkembang dan diberi nama JavaScript, walaupun tidak ada hubungan bahasa antara Java dengan JavaScript.<ref name="zaki">Ali Zaki & Smitdev Community, ''SPP AJAX untuk Pemula'', halaman 27. Elex Media Komputindo</ref>
 
JavaScript bisa digunakan untuk banyak tujuan, misalnya untuk membuat efek ''rollover'' baik di gambar maupun teks, dan yang penting juga adalah untuk membuat [[AJAX]].<ref name="zaki"/> JavaScript adalah bahasa yang digunakan untuk AJAX.<ref name="zaki"/>
 
=== Pembuatan oleh Netscape ===
Baris 48:
 
=== Pengadopsian oleh Microsoft ===
[[Microsoft]] memulai debut dengan [[Internet Explorer]] ditahun 1995, sebagai pengarah [[Perang peramban web|perang browser]] dengan Netscape. Di bagian depan JavaScript, Microsoft [[Rekayasa balik|merekayasa balik]] [[Penerjemah (komputasi)|penerjemah]] Navigator untuk membuatnya sendiri, yang disebut [[JScript]].<ref name="sjsch5">{{Cite web|title=Chapter 5. Standardization: ECMAScript|url=http://speakingjs.com/es5/ch05.html|website=speakingjs.com|access-date=1 November 2021}}{{Pranala mati|date=Januari 2023 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
 
JScript pertama kali diluncurkan pada tahun 1996, bersamaan dukungan awal untuk [[Cascading Style Sheets|CSS]] dan ekstensi ke [[HTML]] . Masing-masing implementasi ini sangat berbeda dari rekan-rekan mereka di Navigator.<ref name="O'Reilly-2001">{{Cite web|last=Champeon|first=Steve|date=April 6, 2001|title=JavaScript, How Did We Get Here?|url=http://archive.oreilly.com/pub/a/javascript/2001/04/06/js_history.html|website=oreilly.com|archive-url=https://web.archive.org/web/20160719020828/http://archive.oreilly.com/pub/a/javascript/2001/04/06/js_history.html|archive-date=July 19, 2016|access-date=July 16, 2016|url-status=dead}}</ref><ref>{{Cite web|date=May 29, 1996|title=Microsoft Internet Explorer 3.0 Beta Now Available|url=http://news.microsoft.com/1996/05/29/microsoft-internet-explorer-3-0-beta-now-available/|website=microsoft.com|publisher=Microsoft|archive-url=https://web.archive.org/web/20201124154053/https://news.microsoft.com/1996/05/29/microsoft-internet-explorer-3-0-beta-now-available/|archive-date=November 24, 2020|access-date=July 16, 2016|url-status=live}}</ref> 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.<ref name="O'Reilly-2001" /><ref>{{Cite web|last=McCracken|first=Harry|date=September 16, 2010|title=The Unwelcome Return of "Best Viewed with Internet Explorer"|url=http://www.technologizer.com/2010/09/16/the-unwelcome-return-of-best-viewed-with-internet-explorer/|website=technologizer.com|archive-url=https://web.archive.org/web/20180623192402/https://www.technologizer.com/2010/09/16/the-unwelcome-return-of-best-viewed-with-internet-explorer/|archive-date=June 23, 2018|access-date=July 16, 2016|url-status=live}}</ref>
Baris 62:
JavaScript baru-baru ini mulai muncul di beberapa [[sistem tertanam]], biasanya dengan memanfaatkanNode.js.<ref>{{cite web|title=Tessel 2... Leverage all the libraries of Node.JS to create useful devices in minutes with Tessel.|url=https://tessel.io/|website=tessel.io|archive-url=https://web.archive.org/web/20210526212559/https://tessel.io/|archive-date=2021-05-26|access-date=2021-05-08|url-status=live}}</ref><ref>{{cite web|title=Node.js Raspberry Pi GPIO Introduction|url=https://www.w3schools.com/nodejs/nodejs_raspberrypi_gpio_intro.asp|website=w3schools.com|archive-url=https://web.archive.org/web/20210813192938/https://www.w3schools.com/nodejs/nodejs_raspberrypi_gpio_intro.asp|archive-date=2021-08-13|access-date=2020-05-03|url-status=live}}</ref><ref>{{cite web|title=Espruino&nbsp;– JavaScript for Microcontrollers|url=https://www.espruino.com/|website=espruino.com|archive-url=https://web.archive.org/web/20200501010722/https://www.espruino.com/|archive-date=2020-05-01|access-date=2020-05-03|url-status=live}}</ref>
 
== VariabelContoh kode JavaScript ==
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).
 
=== Penulisan JavaScriptVariabel ===
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).<ref>{{Cite web|title=JavaScript Variables|url=https://www.w3schools.com/js/js_variables.asp|website=www.w3schools.com|language=en-US|access-date=2022-09-15}}</ref>
Variabel di JavaScript dapat dipanggil dengan menggunakan kata kunci var
 
<syntaxhighlight lang="javascript">
==== Var ====
var x;
 
Berikut adalah contoh penulisan JavaScript dengan menggunakan var:<syntaxhighlight lang="javascript">
var x = 1;
var y = 2;
var z = x + y;
</syntaxhighlight>
 
Selain menggunakan kata kunci var, kita juga bisa menggunakan kata kunci let untuk membuat variabel dalam cakupan yang terbatas
==== Let ====
<syntaxhighlight lang="javascript">
 
Berikut adalah contoh penulisan JavaScript dengan menggunakan let:<syntaxhighlight lang="javascript">
let panjang = 5;
let lebar = 10 // penggunaan titik koma dalam JavaScript adalah suatu pilihan opsional
let luas = panjang * lebar; // 50
</syntaxhighlight>
 
==== Const ====
 
Berikut adalah contoh penulisan JavaScript dengan menggunakan const:<syntaxhighlight lang="javascript" line="1">
const angkaPertama = 5;
const angkaKedua = 6;
let jumlah = angkaPertama + angkaKedua;
</syntaxhighlight>
 
=== Komentar ===
Penulisan komentar (''comment'') pada JavaScript terdapat dua cara, yaitu komentar untuk satu baris (s''ingle line comments'') dan komentar untuk lebih dari satu baris (''multi-line comments''). Baris kode komentar tidak akan dieksekusi oleh JavaScript dan akan diabaikan.<ref>{{Cite web|title=JavaScript Comments|url=https://www.w3schools.com/js/js_comments.asp|website=www.w3schools.com|language=en-US|access-date=2022-09-29}}</ref>
 
Contoh penulisannya adalah sebagai berikut :
 
==== Komentar untuk satu baris ====
<syntaxhighlight lang="javascript">
// ini adalah komentar untuk satu baris
let kata = "Halo!";
console.log(kata);
</syntaxhighlight>
 
==== Komentar untuk lebih dari satu baris ====
<syntaxhighlight lang="javascript">
/*
ini adalah komentar
untuk lebih dari satu baris.
*/
let kata = "Hai!";
console.log(kata);
</syntaxhighlight>
 
=== Operator aritmatika ===
Operator aritmatika merupakan operator untuk melakukan [[Operasi aritmetika|operasi aritmatika]] seperti [[penjumlahan]], [[pengurangan]], [[perkalian]], [[pembagian]], [[operasi modulus]], dan lain sebagainya.<ref>{{Cite web|title=JavaScript Operators|url=https://www.w3schools.com/js/js_operators.asp|website=www.w3schools.com|language=en-US|access-date=2022-09-29}}</ref> Berikut adalah penulisan operator aritmatika dalam JavaScript:<syntaxhighlight lang="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;
</syntaxhighlight>
 
== Tipe data ==
Dalam JavaScript, tipe data dibedakan menjadi tipe data primitif dan non-primitif.<ref>{{Cite web|title=JavaScript data types and data structures - JavaScript {{!}} MDN|url=https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures|website=developer.mozilla.org|language=en-US|access-date=2022-09-15}}</ref>
 
=== 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]] <code><script type="text/javascript"></code>.<ref name="z">Zainal Arifin & Smitdev Community, ''36 Menit Belajar Komputer: Php Dan Mysql''. Elex Media Komputindo.</ref>
<syntaxhighlight lang="html4strict">
Baris 102 ⟶ 190:
 
=== Skrip di ''body'' ===
Skrip ini dieksekusi ketika halaman dimuat sampai di bagian <code><body></code>.<ref name="z"/> Ketika menempatkan skrip pada bagian <code><body></code> berarti antara isi dan JavaScript dijadikan [[satu]] bagian.<ref name="z"/>
 
<syntaxhighlight lang="html4strict">
Baris 163 ⟶ 251:
* {{en}} [http://www.is-research.de/info/jslanguages/ Bahasa pemograman dalam JavaScript]
* {{Curlie|Computers/Programming/Languages/JavaScript/}}
* {{Cite web |url = https://wwwkoderumit.pldi21.orgcom/2017/02/prerecorded_hopl.12pemrograman-javascript.html |title =Tipe JavaScript:Data The First 20 Yearspada JavaScript|access-date = 2022-0206-0604}}
 
{{Daftar bahasa pemrograman}}
{{Standar W3C}}
{{Authority control}}
 
Baris 172 ⟶ 259:
[[Kategori:Bahasa skrip|{{PAGENAME}}]]
[[Kategori:Standar W3C]]
[[Kategori:Artikel kelas-B bertopik teknologi informasi]]
[[Kategori:Bahasa pemrograman]]
[[Kategori:Keluarga bahasa pemrograman JavaScript]]
Baris 178 ⟶ 264:
[[Kategori:Bahasa pemrograman yang dibuat pada tahun 1995]]
[[Kategori:Bahasa fungsional]]
[[Kategori:Bahasa pemrograman berbasisberorientasi objek]]
[[Kategori:Bahasa pemrograman tingkat tinggi]]