JavaScript: Perbedaan antara revisi
yang benar pake Infobox programming language bukan Infobox file format Tag: referensi YouTube |
Katyusha 97 (bicara | kontrib) →Penggunaan lainnya: Penambahan spasi Tag: Suntingan perangkat seluler Suntingan peramban seluler |
||
(78 revisi perantara oleh 30 pengguna tidak ditampilkan) | |||
Baris 3: | Baris 3: | ||
| logo = <!-- Do not add the unofficial logo, per [[Talk:JavaScript/Archive 5#Why is the unofficial logo present?]] --> |
| logo = <!-- Do not add the unofficial logo, per [[Talk:JavaScript/Archive 5#Why is the unofficial logo present?]] --> |
||
| logo alt = |
| logo alt = |
||
| screenshot = JavaScript screenshot.png |
|||
| paradigm = [[event-driven programming|berbasis even]], [[functional programming|fungsional]], [[imperative programming|imperatif]] |
|||
| screenshot_caption = Layar tangkap dari kode sumber Javascript |
|||
| paradigm = [[Paradigma pemrograman|Multiparadigma]]: [[pemrograman berbasis even|berbasis even]], [[pemrograman fungsional|fungsional]], [[pemrograman imperatif|imperatif]], [[pemrograman berorientasi objek]], [[pemrograman prosedural|prosedural]] |
|||
| year = {{start date and age|1995|12|4}}<ref name="press_release">[https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html Press release announcing JavaScript], "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995</ref> |
|||
| designer = Pada awalnya dirancang [[Brendan Eich]], bersama kontributor utama lainnya untuk spesifikasi [[ECMAScript]] |
| designer = Pada awalnya dirancang [[Brendan Eich]], bersama kontributor utama lainnya untuk spesifikasi [[ECMAScript]] |
||
| latest_release_version = ECMAScript 2021<ref>{{Cite book|url=https://www.ecma-international.org/wp-content/uploads/ECMA-262_12th_edition_june_2021.pdf|title=ECMAScript® 2021 Language Specification|edition=12|year=2021|location=Jenewa|publisher=ECMA International}}</ref> |
|||
| latest_release_date = {{start date and age|2021|6}} |
|||
| latest_preview_version = {{wikidata|property|edit|reference|P548=Q51930650|P348}} |
|||
| latest_preview_date = {{start date |{{wikidata|qualifier|single|P548=Q51930650|P348|P577}}}}; 8 bulan lalu |
|||
| typing = [[Dynamic typing|Dinamis]], [[Duck typing|duck]] |
| typing = [[Dynamic typing|Dinamis]], [[Duck typing|duck]] |
||
| implementations = [[V8 ( |
| 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 (programming language)|Dart]], [[Objective-J]], [[Opa (bahasa pemrograman)|Opa]], [[Haxe]] |
|||
| influenced = [[TypeScript]], [[CoffeeScript]], [[AssemblyScript]], [[ActionScript]], [[Dart (bahasa pemrograman)|Dart]], [[Objective-J]], [[Opa (bahasa pemrograman)|Opa]], [[Haxe]] |
|||
| license = |
| license = |
||
| website = |
|||
| wikibooks = JavaScript |
|||
| file format = |
|||
| file extensions = {{flatlist| |
| file extensions = {{flatlist| |
||
* <code>.js</code> |
* <code>.js</code> |
||
Baris 14: | Baris 25: | ||
* <code>.mjs</code><ref name="node.js ECMAScript Modules Specification">{{cite web|url=https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|title=nodejs/node-eps|website=GitHub}}</ref> |
* <code>.mjs</code><ref name="node.js ECMAScript Modules Specification">{{cite web|url=https://github.com/nodejs/node-eps/blob/master/002-es-modules.md|title=nodejs/node-eps|website=GitHub}}</ref> |
||
}} |
}} |
||
| file format = |
|||
| website = |
|||
| wikibooks = JavaScript |
|||
| year = {{start date and age|1995|12|4}}<ref name="press_release">[https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html Press release announcing JavaScript], "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995</ref> |
|||
| latest_release_version = ECMAScript 2020<ref name="auto">{{cite web|url=https://www.ecma-international.org/ecma-262/11.0/|title=Standard ECMA-262|publisher=Ecma International|date=June 17, 2020}}</ref> |
|||
| latest_release_date = {{start date and age|2020|6}} |
|||
| latest_preview_version = ECMAScript 2021 |
|||
| latest_preview_date = |
|||
| influenced_by = [[Java (programming language)|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"/> [[Scheme (programming language)|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> |
|||
}} |
}} |
||
'''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''.<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> |
|||
'''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 [[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|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.<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. |
|||
== Sejarah == |
== 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> |
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> |
''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. |
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. |
||
=== Pembuatan oleh Netscape === |
|||
== Variabel == |
|||
[[Penjelajah web|Browser web]] pertama dengan [[antarmuka pengguna grafis]], [[Mosaik (peramban web)|Mosaic]], dirilis pada tahun 1993. Dapat diakses oleh orang-orang non-teknis, ini memainkan peran penting dalam pertumbuhan pesat [[Waring Wera Wanua|World Wide Web yang]] baru lahir.<ref>{{Cite news|date=March 17, 2011|title=Bloomberg Game Changers: Marc Andreessen|url=https://www.bloomberg.com/video/67758394|publisher=Bloomberg|archive-url=https://web.archive.org/web/20120516093712/http://www.bloomberg.com/video/67758394/|archive-date=May 16, 2012|access-date=December 7, 2011|url-status=live}}</ref> Pengembang utama Mosaic kemudian mendirikan [[Netscape|perusahaan Netscape]], yang merilis browser yang lebih halus, [[Netscape Navigator]], pada tahun 1994. Ini dengan cepat menjadi yang paling banyak digunakan.<ref>{{Cite web|last=Enzer|first=Larry|date=August 31, 2018|title=The Evolution of the Web Browsers|url=https://www.mwdwebsites.com/nj-web-design-web-browsers.html|website=Monmouth Web Developers|archive-url=https://web.archive.org/web/20180831174847/https://www.mwdwebsites.com/nj-web-design-web-browsers.html|archive-date=August 31, 2018|access-date=August 31, 2018|url-status=dead}}</ref><ref>{{Cite web|last=Dickerson|first=Gordon|date=August 31, 2018|title=Learn the History of Web Browsers|url=https://washingtonindependent.com/learn-the-history-of-web-browsers/|website=washingtonindependent.com|access-date=August 31, 2018}}</ref> |
|||
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). |
|||
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.<ref name="origin2">{{Cite web|title=Chapter 4. How JavaScript Was Created|url=http://speakingjs.com/es5/ch04.html|website=speakingjs.com|archive-url=https://web.archive.org/web/20200227184037/http://speakingjs.com/es5/ch04.html|archive-date=2020-02-27|access-date=2017-11-21|url-status=live}}</ref> |
|||
== Penulisan JavaScript == |
|||
Variabel di JavaScript dapat dipanggil dengan menggunakan kata kunci var |
|||
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.<ref name="origin2" /> Meskipun bahasa baru dan [[Penerjemah (komputasi)|implementasi penerjemahnya]] disebut LiveScript ketika pertama kali dikirimkan sebagai bagian dari Navigator [[Daur hidup rilis perangkat lunak|beta]] pada bulan September 1995, nama tersebut diubah menjadi JavaScript untuk rilis resmi pada bulan Desember.<ref name="origin2" /><ref name="techvision">{{Cite web|title=TechVision: Innovators of the Net: Brendan Eich and JavaScript|url=http://wp.netscape.com/comprod/columns/techvision/innovators_be.html|archive-url=https://web.archive.org/web/20080208124612/http://wp.netscape.com/comprod/columns/techvision/innovators_be.html|archive-date=February 8, 2008}}</ref> |
|||
<syntaxhighlight lang="javascript"> |
|||
var x; |
|||
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.<ref>{{Citation|last=Fin JS|title=Brendan Eich – CEO of Brave|date=June 17, 2016|url=https://www.youtube.com/watch?v=XOmhtfTrRxc&t=2m5s|access-date=February 7, 2018|archivedate=February 10, 2019|archiveurl=https://web.archive.org/web/20190210054957/https://www.youtube.com/watch?v=XOmhtfTrRxc&t=2m5s}}</ref> |
|||
=== 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> |
|||
== Merek dagang == |
|||
"JavaScript" adalah sebuah [[merek dagang]] [[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-05-08|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-05-08|url-status=live}}</ref> |
|||
== Penggunaan lainnya == |
|||
Penggunaan JavaScript telah berkembang melampaui akar [[peramban]] webnya. [[JavaScript engine|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 [[Server Web Oracle iPlanet#Sejarah|Netscape Enterprise Server]] dan [[Internet Information Services]] [[Microsoft]],<ref>{{cite web|last=News|first=Oracle|date=December 11, 1998|title=Server-Side JavaScript Guide|url=https://docs.oracle.com/cd/E19957-01/816-6411-10/contents.htm|website=oracle.com|publisher=[[Oracle Corporation]]|archive-url=https://web.archive.org/web/20210311173120/https://docs.oracle.com/cd/E19957-01/816-6411-10/contents.htm|archive-date=March 11, 2021|access-date=May 8, 2021|url-status=live}}</ref><ref>{{cite web|last1=Clinick|first1=Andrew|date=July 14, 2000|title=Introducing JScript .NET|url=https://msdn.microsoft.com/en-us/library/ms974588.aspx|website=Microsoft Developer Network|publisher=Microsoft|archive-url=https://web.archive.org/web/20171110201649/https://msdn.microsoft.com/en-us/library/ms974588.aspx|archive-date=November 10, 2017|access-date=April 10, 2018|quote=[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)|url-status=live}}</ref> tapi itu ceruk kecil.<ref name="2009server">{{cite web|author=Mahemoff, Michael|date=December 17, 2009|title=Server-Side JavaScript, Back with a Vengeance|url=https://readwrite.com/2009/12/17/server-side_javascript_back_with_a_vengeance/|website=readwrite.com|archive-url=https://web.archive.org/web/20160617030219/https://readwrite.com/2009/12/17/server-side_javascript_back_with_a_vengeance/|archive-date=June 17, 2016|access-date=July 16, 2016|url-status=live}}</ref> Penggunaan sisi server akhirnya mulai tumbuh di akhir tahun 2000-an, dengan kreasi dari [[Node.js]] dan pendekatan lainnya.<ref name="2009server" /> |
|||
JavaScript baru-baru ini mulai muncul di beberapa [[sistem tertanam]], biasanya dengan memanfaatkan Node.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 – 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> |
|||
== 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).<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> |
|||
==== Var ==== |
|||
Berikut adalah contoh penulisan JavaScript dengan menggunakan var:<syntaxhighlight lang="javascript"> |
|||
var x = 1; |
|||
var y = 2; |
var y = 2; |
||
var z = x + y; |
|||
</syntaxhighlight> |
</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 panjang = 5; |
||
let lebar = 10 // penggunaan titik koma dalam JavaScript adalah suatu pilihan opsional |
let lebar = 10 // penggunaan titik koma dalam JavaScript adalah suatu pilihan opsional |
||
let luas = panjang * lebar; // 50 |
let luas = panjang * lebar; // 50 |
||
</syntaxhighlight> |
</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> |
[[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"> |
||
<script type="text/javascript"> |
<script type="text/javascript"> |
||
alert("Halo Dunia!"); |
alert("Halo Dunia!"); |
||
</script> |
</script> |
||
</syntaxhighlight> |
|||
</source> |
|||
Kode JavaScript juga bisa diletakkan di [[file]] tersendiri yang berekstensi .js (singkatan dari JavaScript).<ref name="z"/> 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:<ref name="z"/> |
Kode JavaScript juga bisa diletakkan di [[file]] tersendiri yang berekstensi .js (singkatan dari JavaScript).<ref name="z"/> 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:<ref name="z"/> |
||
< |
<syntaxhighlight lang="html4strict"> |
||
<script type="text/javascript" src="alamat.js"> |
<script type="text/javascript" src="alamat.js"> |
||
</script> |
</script> |
||
</syntaxhighlight> |
|||
</source> |
|||
=== Skrip di ''head'' === |
=== Skrip di ''head'' === |
||
Skrip ini akan dieksekusi ketika dipanggil (biasanya berbentuk ''function'') atau dipanggil berdasarkan ''trigger'' pada ''event'' tertentu.<ref name="z"/> Peletakkan skrip di ''head'' akan menjamin skrip dimuat terlebih dahulu sebelum dipanggil.<ref name="z"/> |
Skrip ini akan dieksekusi ketika dipanggil (biasanya berbentuk ''function'') atau dipanggil berdasarkan ''trigger'' pada ''event'' tertentu.<ref name="z"/> Peletakkan skrip di ''head'' akan menjamin skrip dimuat terlebih dahulu sebelum dipanggil.<ref name="z"/> |
||
< |
<syntaxhighlight lang="html4strict"> |
||
<html> |
<html> |
||
<head> |
<head> |
||
Baris 74: | Baris 187: | ||
</script> |
</script> |
||
</head> |
</head> |
||
</html></ |
</html></syntaxhighlight> |
||
=== Skrip di ''body'' === |
=== 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 |
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"> |
||
<html> |
<html> |
||
<head> |
<head> |
||
Baris 88: | Baris 201: | ||
</script> |
</script> |
||
</body> |
</body> |
||
</html></ |
</html></syntaxhighlight> |
||
Jumlah JavaScript di <head> dan <body> yang ditempatkan pada dokumen tidak terbatas.<ref name="z"/> |
Jumlah JavaScript di <head> dan <body> yang ditempatkan pada dokumen tidak terbatas.<ref name="z"/> |
||
Baris 95: | Baris 208: | ||
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.<ref name="z"/> Maka JavaScript dapat ditulis di file secara eksternal.<ref name="z"/> Jadi, antara dokumen [[HTML]] dan JavaScript dipisahkan, kemudian berkas tersebut dipanggil dari dokument HTML.<ref name="z"/> Berkas JavaScript tersebut disimpan dengan ekstensi .js.<ref name="z"/> |
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.<ref name="z"/> Maka JavaScript dapat ditulis di file secara eksternal.<ref name="z"/> Jadi, antara dokumen [[HTML]] dan JavaScript dipisahkan, kemudian berkas tersebut dipanggil dari dokument HTML.<ref name="z"/> Berkas JavaScript tersebut disimpan dengan ekstensi .js.<ref name="z"/> |
||
'''JavaScript: js/xxx.js''' |
'''JavaScript: js/xxx.js''' <code>document.write("pesan ini tampil ketika halaman diload");</code> |
||
<code>document.write("pesan ini tampil ketika halaman diload");</code> |
|||
Untuk menggunakan eksternal JavaScript (.js) dipakai atribut "src" pada tag <script> pada halaman HTML-nya.<ref name="z"/> |
Untuk menggunakan eksternal JavaScript (.js) dipakai atribut "src" pada tag <script> pada halaman HTML-nya.<ref name="z"/> |
||
< |
<syntaxhighlight lang="html4strict"> |
||
<html> |
<html> |
||
<head> |
<head> |
||
Baris 108: | Baris 220: | ||
<p>Script di atas berada di berkas "xxx.js" (eksternal) </p> |
<p>Script di atas berada di berkas "xxx.js" (eksternal) </p> |
||
</body> |
</body> |
||
</html></ |
</html></syntaxhighlight> |
||
== 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.<ref>{{cite web|title=Benchmark.js|url=https://benchmarkjs.com/|website=benchmarkjs.com|archive-url=https://web.archive.org/web/20161219182724/https://benchmarkjs.com/|archive-date=2016-12-19|access-date=2016-11-06|url-status=live}}</ref><ref name="auto1">{{cite web|last=JSBEN.CH|title=JSBEN.CH Performance Benchmarking Playground for JavaScript|url=https://jsben.ch|website=jsben.ch|archive-url=https://web.archive.org/web/20210227052409/https://jsben.ch/|archive-date=2021-02-27|access-date=2021-08-13|url-status=live}}</ref> |
|||
* Banyak [[Penyunting teks|teks editor]] memiliki dukungan penyorotan sintaks untuk kode JavaScript. |
|||
== Referensi == |
== Referensi == |
||
{{reflist}} |
{{reflist}} |
||
== Bacaan lanjutan == |
|||
{{See also|ECMAScript#Pranala_luar|l1=Dokumen Spesifikasi ECMAScript}} |
|||
* 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}}.<small>[https://eloquentjavascript.net/ ''(download)'']</small> |
|||
* Zakas, Nicholas. ''Principles of Object-Oriented JavaScript'', 1st edition. No Starch Press, 2014. 120 pages. {{ISBN|978-1593275402}}. |
|||
== Lihat pula == |
|||
* [[Cascading Style Sheets|Cascading Style Sheets(CSS)]] |
|||
* [[HTML5]] |
|||
== Pranala luar == |
== Pranala luar == |
||
Baris 118: | Baris 250: | ||
* {{en}} [http://www.w3schools.com/js/default.asp Tutorial JavaScript] |
* {{en}} [http://www.w3schools.com/js/default.asp Tutorial JavaScript] |
||
* {{en}} [http://www.is-research.de/info/jslanguages/ Bahasa pemograman dalam JavaScript] |
* {{en}} [http://www.is-research.de/info/jslanguages/ Bahasa pemograman dalam JavaScript] |
||
* {{Curlie|Computers/Programming/Languages/JavaScript/}} |
|||
* {{Cite web|url=https://koderumit.com/2017/02/pemrograman-javascript.html|title=Tipe Data pada JavaScript|access-date=2022-06-04}} |
|||
{{Daftar bahasa pemrograman}} |
{{Daftar bahasa pemrograman}} |
||
{{ |
{{Authority control}} |
||
[[Kategori:JavaScript| ]] |
[[Kategori:JavaScript| ]] |
||
[[Kategori:Bahasa skrip|{{PAGENAME}}]] |
[[Kategori:Bahasa skrip|{{PAGENAME}}]] |
||
[[Kategori:Standar W3C]] |
[[Kategori:Standar W3C]] |
||
[[Kategori: |
[[Kategori:Bahasa pemrograman]] |
||
[[Kategori:Keluarga bahasa pemrograman JavaScript]] |
[[Kategori:Keluarga bahasa pemrograman JavaScript]] |
||
[[Kategori:Pemrograman web]] |
|||
[[Kategori:Bahasa pemrograman yang dibuat pada tahun 1995]] |
|||
[[Kategori:Bahasa fungsional]] |
|||
[[Kategori:Bahasa pemrograman berorientasi objek]] |
|||
[[Kategori:Bahasa pemrograman tingkat tinggi]] |
Revisi terkini sejak 26 Juli 2024 13.51
JavaScript | |
---|---|
![]() ![]() | |
![]() | |
Paradigma | Multiparadigma: berbasis even, fungsional, imperatif, pemrograman berorientasi objek, prosedural |
Dirancang oleh | Pada awalnya dirancang Brendan Eich, bersama kontributor utama lainnya untuk spesifikasi ECMAScript |
Rilis perdana | 4 Desember 1995[1] |
Rilis stabil | ECMAScript 2021[2]
/ Juni 2021 |
Rilis pratayang | ECMAScript 2025[3] ![]() |
Tipe sistem | Dinamis, duck |
Ekstensi nama berkas |
|
Situs web | www |
Repositori | www |
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 | |
![]() ![]() |
JavaScript (/ˈdʒɑː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
[sunting | sunting sumber]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
[sunting | sunting sumber]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
[sunting | sunting sumber]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
[sunting | sunting sumber]"JavaScript" adalah sebuah merek dagang Oracle Corporation di Amerika Serikat.[27][28]
Penggunaan lainnya
[sunting | sunting sumber]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
[sunting | sunting sumber]Variabel
[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]
Var
[sunting | sunting sumber]Berikut adalah contoh penulisan JavaScript dengan menggunakan var:
var x = 1;
var y = 2;
var z = x + y;
Let
[sunting | sunting sumber]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
[sunting | sunting sumber]Berikut adalah contoh penulisan JavaScript dengan menggunakan const:
const angkaPertama = 5;
const angkaKedua = 6;
let jumlah = angkaPertama + angkaKedua;
Komentar
[sunting | sunting sumber]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
let kata = "Halo!";
console.log(kata);
Komentar untuk lebih dari satu baris
[sunting | sunting sumber]/*
ini adalah komentar
untuk lebih dari satu baris.
*/
let kata = "Hai!";
console.log(kata);
Operator aritmatika
[sunting | sunting sumber]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
[sunting | sunting sumber]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]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
[sunting | sunting sumber]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
[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>
<script type="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 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
[sunting | sunting sumber]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
[sunting | sunting sumber]- ^ Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995
- ^ ECMAScript® 2021 Language Specification (PDF) (edisi ke-12). Jenewa: ECMA International. 2021.
- ^ "ECMAScript® 2025 Language Specification". 27 Maret 2024. Diakses tanggal 17 April 2024.
- ^ "nodejs/node-eps". GitHub.
- ^ 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.
- ^ a b "Chapter 4. How JavaScript Was Created". speakingjs.com. Diarsipkan dari versi asli tanggal 2020-02-27. Diakses tanggal 2021-03-27.
- ^ "Brendan Eich: An Introduction to JavaScript, JSConf 2010". hlm. 22m. Diakses tanggal November 25, 2019.
Eich: "function", eight letters, I was influenced by AWK.
- ^ Eich, Brendan (1998). "Foreword". Dalam Goodman, Danny. JavaScript Bible
(edisi ke-3rd). John Wiley & Sons. ISBN 0-7645-3188-3. LCCN 97078208. OCLC 38888873. OL 712205M.
- ^ "JavaScript". Collins English Dictionary – Complete & Unabridged 2012 Digital Edition. William Collins Sons & Co. 2012. Diakses tanggal 21 Agustus 2015.
- ^ Flanagan, David (2011). JavaScript: The Definitive Guide (edisi ke-6th). O'Reilly & Associates. ISBN 978-0-596-80552-4.
- ^ Andi Sunyoto, M. Kom, Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML, ANDI
- ^ "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.
- ^ "Legal Notices". Oracle Corporation. Diarsipkan dari versi asli tanggal 2021-06-05. Diakses tanggal 2021-12-28.
- ^ Krill, Paul (2008-06-23). "JavaScript creator ponders past, future". InfoWorld. Diakses tanggal 2009-05-19.
- ^ Hamilton, Naomi (2008-06-31). "The A-Z of Programming Languages: JavaScript". computerworld.com.au.
- ^ a b c d Ali Zaki & Smitdev Community, SPP AJAX untuk Pemula, halaman 27. Elex Media Komputindo
- ^ "Bloomberg Game Changers: Marc Andreessen". Bloomberg. March 17, 2011. Diarsipkan dari versi asli tanggal May 16, 2012. Diakses tanggal December 7, 2011.
- ^ 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.
- ^ Dickerson, Gordon (August 31, 2018). "Learn the History of Web Browsers". washingtonindependent.com. Diakses tanggal August 31, 2018.
- ^ a b c "Chapter 4. How JavaScript Was Created". speakingjs.com. Diarsipkan dari versi asli tanggal 2020-02-27. Diakses tanggal 2017-11-21.
- ^ "TechVision: Innovators of the Net: Brendan Eich and JavaScript". Diarsipkan dari versi asli tanggal February 8, 2008.
- ^ Fin JS (June 17, 2016), Brendan Eich – CEO of Brave, diarsipkan dari versi asli tanggal February 10, 2019, diakses tanggal February 7, 2018
- ^ "Chapter 5. Standardization: ECMAScript". speakingjs.com. Diakses tanggal 1 November 2021.[pranala nonaktif permanen]
- ^ 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.
- ^ "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.
- ^ 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.
- ^ "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.
- ^ "Legal Notices". Oracle Corporation. Diarsipkan dari versi asli tanggal 2021-06-05. Diakses tanggal 2021-05-08.
- ^ 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.
- ^ 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)
- ^ 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.
- ^ "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.
- ^ "Node.js Raspberry Pi GPIO Introduction". w3schools.com. Diarsipkan dari versi asli tanggal 2021-08-13. Diakses tanggal 2020-05-03.
- ^ "Espruino – JavaScript for Microcontrollers". espruino.com. Diarsipkan dari versi asli tanggal 2020-05-01. Diakses tanggal 2020-05-03.
- ^ "JavaScript Variables". www.w3schools.com (dalam bahasa Inggris). Diakses tanggal 2022-09-15.
- ^ "JavaScript Comments". www.w3schools.com (dalam bahasa Inggris). Diakses tanggal 2022-09-29.
- ^ "JavaScript Operators". www.w3schools.com (dalam bahasa Inggris). Diakses tanggal 2022-09-29.
- ^ "JavaScript data types and data structures - JavaScript | MDN". developer.mozilla.org (dalam bahasa Inggris). Diakses tanggal 2022-09-15.
- ^ 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.
- ^ "Benchmark.js". benchmarkjs.com. Diarsipkan dari versi asli tanggal 2016-12-19. Diakses tanggal 2016-11-06.
- ^ 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
[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. ISBN 978-1593279509.(download)
- Zakas, Nicholas. Principles of Object-Oriented JavaScript, 1st edition. No Starch Press, 2014. 120 pages. ISBN 978-1593275402.
Lihat pula
[sunting | sunting sumber]Pranala luar
[sunting | sunting sumber]![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png)
- (Inggris) Dokumentasi resmi Mozilla's mengenai JavaScript Diarsipkan 2012-07-16 di Wayback Machine.
- (Inggris) Tutorial JavaScript
- (Inggris) Bahasa pemograman dalam JavaScript
- JavaScript di Curlie (dari DMOZ)
- "Tipe Data pada JavaScript". Diakses tanggal 2022-06-04.