Javascript Short
Javascript Short
Javascript adalah bahasa pemrograman yang awalnya dirancang untuk berjalan di atas
browser.
Namun, seiring perkembangan zaman, javascript tidak hanya berjalan di atas browser
saja. Javascript juga dapat digunakan pada sisi Server, Game, IoT, Desktop, dsb.
Javascript awalnya bernama Mocha, lalu berubah menjadi LiveScript saat browser
Netscape Navigator 2.0 rilis versi beta (September 1995). Namun, setelah itu dinamai
ulang menjadi Javascript. 1
Hal ini mengakibatkan ‘ perang browser’, karena JScript milik Microsoft berbeda dengan
Javascript racikan Netscape.
Versi
Tahun Rilis
ECMAScript
ES 1 Juni 1997
ES 2 Juni 1998
ES 3 Desember 1999
ES 4 Terbengkalai
ES 5 Desember 2009
ES 6 Juni 2015
ES 7 Juni 2016
ES 8 Juni 2017
Di dalam console, kita bisa menulis fungsi atau kode-kode javascript dan hasilnya akan
langsung ditampilkan.
Silahkan buka teks editor, kemudian buat file beru bernama hello_world.html dan isi
dengan kode berikut:
<!DOCTYPE html>
<html>
<head>
<title>Hello World Javascript</title>
</head>
<body>
<script>
console.log("Saya belajar Javascript");
document.write("Hello World!");
</script>
</body>
</html>
Jika kamu menggunakan teks editor VS Code, maka akan terlihat seperti ini:
Silahakn disimpan dengan nama hello_world.html, kemudian buka file tersebut dengan
web browser.
Maka hasilnya:
Tunggu sebantar…
1. Embed (Kode Javascript ditempel langsung pada HTML. Contoh: yang tadi)
2. Inline (kode Javascript ditulis pada atribut HTML)
3. Eksternal (Kode Javascript ditulis terpisah dengan file HTML)
1. Penulisan Kode javascript dengan Embed
Pada cara ini, kita menggunakan tag <script> untuk menempelkan (embed) kode
Javascript pada HTML. Tag ini dapat ditulis di dalam tag <head> dan <body>.
Contoh:
<!DOCTYPE html>
<html>
<head>
<title>Belajar Javascript dari Nol</title>
<script>
// ini adalah penulisan kode javascript
// di dalam tag <head>
console.log("Hello JS dari Head");
</script>
</head>
<body>
<p>Tutorial Javascript untuk Pemula</p>
<script>
// ini adalah penulisan kode javascript
// di dalam tag <body>
console.log("Hello JS dari body");
</script>
</body>
</html>
Mana yang lebih bagus, ditulis di dalam <head> atau <body>?
Contoh:
Pada atribut onclick dan href kita menuliskan fungsi javascript di sana.
Atribut onclick merupakan atribut HTML untuk menyatakan fungsi yang akan dieksekusi
saat elemen itu diklik.
Pada contoh di atas, kita menjalankan fungsi alert(). Fungsi ini merupakan fungsi
untuk menampilkan dialog.
Lalu pada atribut href, kita juga memanggil fungsi alert() dengan
didahului javascript:.
Atribut href sebenarnya digunakan untuk mengisi alamat link atau URL.
Karena kita ingin memanggil kode javascript di sana, maka alamat link tersebut kita
ubah menjadi javascript: lalu diikuti dengan fungsi yang akan dipanggil.
Cara ini biasanya digunakan pada proyek-proyek besar, karena diyakini—dengan cara
ini—dapat lebih mudah mengelola kode project.
belajar-js/
├── kode-program.js
└── index.html
Isi dari file kode-program.js:
<!DOCTYPE html>
<html>
<head>
<title>Belajar Javascript dari Nol</title>
</head>
<body>
<p>Tutorial Javascript untuk Pemula</p>
Pada contoh di atas, kita menulis kode javascript terpisah dengan kode HTML.
belajar-js/
├── js/
| └── kode-program.js
└── index.html
Maka untuk menyisipkan file kode-program.js ke dalam HTML, kita bisa menuliskannya
seperti ini:
<script src="js/kode-program.js"></script>
Karena file kode-program.js berada di dalam direktori js.
Kita juga bisa menyisipkan javascript yang ada di internet dengan memberikan alamat
URL lengkapnya.
Contoh:
<script src="https://www.petanikode.com/js/kode.js"></script>
Contoh:
Contoh lagi:
Pada contoh di atas, kita menggunakan huruf bersar atau kapital untuk nama variabel
yang terdiri dari dua suku kata.
Perlu kamu ketahui juga, selain kata kunci var kita juga bisa membuat variabel dengan
kata kunci let atau tanpa awalan apapun.
Contoh:
Perbedaannya terletak pada jangkauan dan penggunaanya. Nanti kita akan bahas lebih
dalam lagi.
Contoh:
var x;
Maka variabel x akan bernilai undefined.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Belajar Variabel dalam Javascript</title>
<script>
// membuat variabel
var name = "Petani Kode";
var visitorCount = 50322;
var isActive = true;
var url = "https://www.petanikode.com";
</body>
</html>
Setelah itu, coba buka dengan browser dan perhatikanlah hasilnya.
Arti simbol plus (+) pada contoh di atas adalah menggabungkan, bukan menjumlahkan.
Contoh:
Karena kata kunci var dibutuhkan saat membuat variabel saja. Sedangkan untuk
mengisi ulang, kita cukup tulis seperti di atas.
Apabila kita menggunakan kata kunci var, berarti jadinya kita membuat variabel baru
donk, bukan mengisi ulang.
Menghapus Variabel
Penghapusan variabel dalam Javscript memang jarang dilakukan. Namun, untuk
program yang membutuhkan ketelitian dalam alokasi memori, penghapusan variabel
perlu dilakukan agar penggunaan memori lebih optimal.
Contoh:
Penghapusan variabel hanya bisa dilakukan pada variabel yang dibuat tanpa awalan.
Sedangkan variabel yang dibuat dengan kata kunci var dan let akan dihapus otomatis.
String (teks)
Integer atau Number (bilangan bulat)
Float (bilangan Pecahan)
Boolean
Object https://www.malasngoding.com/belajar-javascript-part-5-mengenal-tipe-
data-pada-javascript/
https://medium.easyread.co/php-series-tipe-data-7d389bd5d5eb
Javascript adalah bahasa yang bersifat dynamic typing, artinya kita tidak harus
menuliskan tipe data pada saat pembuatan variabel seperti pada bahasa C, C++, Java,
dsb. yang bersifat static typing.
Contoh:
Hal ini bisa juga kita cek dengan kata kunci typeof.
Contoh:
typeof name;
typeof age;
typeof single;
Hasilnya pada console:
Contoh:
// untuk tipe data teks atau string penulisannya selalu diapit dengan tanda petik
var author = "Petani Kode";
// sedangkan untuk tipe data number dan boolean tidak diapit dengan tanda petik
var available = true; // <- tipe data boolean hanya bernilai true dan false
var total = 14;
Aturan Penulisan Nama Variabel di Javascript
Ada beberapa aturan penulisan variabel dalam Javascript:
contoh:
// salah
var 123nama = "Petanikode";
// benar
var nama123 = "Petani Kode";
Penamaan variabel boleh menggunakan awal underscore.
contoh:
Contoh:
Contoh:
Pada Javascript, kita tidak harus menuliskan tipe data saat pembuatan variabel, karena
Javascript bersifat dynamic typing.
Sedangkan pada bahasa pemrograman yang lain seperti C, C++, C#, Java, dan lain-
lain, kita harus menuliskan atau mendefinisikan tipe data pada variabel yang dibuat.
Memahami Percabangan di Javascript
1. Percabangan if
Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat
kondisi bernilai benar.
“Jika total belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda
dapat hadiah”
<!DOCTYPE html>
<html lang="en">
<head>
<title>Percabangan if</title>
</head>
<body>
<script>
var totalBelanja = prompt("Total belanja?", 0);
if(totalBelanja > 100000){
document.write("<h2>Selamat Anda dapat hadiah</h2>");
}
Blok program pada Javascript, diawali dengan tanda buka kurung kurawal { dan diakhiri
dengan tutup kurung kurawal }.
Apabila di dalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh
tidak ditulis tanda kurungnya.
Pilihan pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else).
Coba perhatikan flowchart ini:
Apabila password benar, pesan yang ada pada blok hijau akan ditampilkan: “Selamat
datang bos!"
Tapi kalau salah, maka pesan yang ada di blok merah yang akan
ditampilkan: “Password salah, coba lagi!"
Kemudian, pesan yang berada di blok abu-abu akan tetap ditampilkan, karena dia bukan
bagian dari blok percabangan if/else.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Percabangan if/else</title>
</head>
<body>
<script>
var password = prompt("Password:");
if(password == "kopi"){
document.write("<h2>Selamat datang bos!</h2>");
} else {
document.write("<p>Password salah, coba lagi!</p>");
}
</script>
</body>
</html>
Hasilnya:
3. Percabangan if/else/if
Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok
pilihan.
Ini adalah blok untuk percabangan if/else/if. Kita bisa menambahkan berapapun blok
yang kita inginkan.
Contoh Program:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Percabangan if/else/if</title>
</head>
<body>
<script>
var nilai = prompt("Inputkan nilai akhir:");
var grade = "";
Pada program di atas, kita tidak menggunaka kurung kurawal untuk membuat blok kode
untuk if/else/if.
karena hanya terdapat satu baris perintah saja. Yaitu: grade = ....
Bila kita menggunakan kurung kurawal, maka program di atas akan menjadi seperti ini:
<script>
var nilai = prompt("Inputkan nilai akhir:");
var grade = "";
if (nilai >= 90){
grade = "A"
} else if(nilai >= 80) {
grade = "B+"
} else if(nilai >= 70) {
grade = "B"
} else if(nilai >= 60) {
grade = "C+"
} else if(nilai >= 50) {
grade = "C"
} else if(nilai >= 40) {
grade = "D"
} else if(nilai >= 30) {
grade = "E"
} else {
grade = "F";
}
document.write(`<p>Grade anda: ${grade}</p>`);
</script>
4. Percabangan switch/case
Percabangan switch/case adalah bentuk lain dari percabangan if/else/if.
switch(variabel){
case <value>:
// blok kode
break;
case <value>:
// blok kode
break;
default:
// blok kode
}
Kita dapat mermbuat blok kode (case) sebanyak yang diinginkan di dalam blok switch.
Pada <value>, kita bisa isi dengan nilai yang nanti akan dibandingkan dengan varabel.
Setiap case harus diakhiri dengan break. Khusus untuk default, tidak perlu diakhiri
dengan break karena dia terletak di bagian akhir.
Pemberian break bertujuan agar program berhenti mengecek case berikutnya saat
sebuah case terpenuhi.
Contoh:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Percabangan switch/case</title>
</head>
<body>
<script>
var jawab = prompt("Kamu beruntung! Silahakn pilih hadiahmu dengan
memasukan angka 1 sampai 5");
var hadiah = "";
switch(jawab){
case "1":
hadiah = "Tisu";
break;
case "2":
hadiah = "1 Kotak Kopi";
break;
case "3":
hadiah = "Sticker";
break;
case "4":
hadiah = "Minyak Goreng";
break;
case "5":
hadiah = "Uang Rp 50.000";
break;
default:
document.write("<p>Opps! anda salah pilih</p>");
}
switch(true){
case nilai < 90:
grade = "A";
break;
case nilai < 80:
grade = "B+";
break;
case nilai < 70:
grade = "B";
break;
case nilai < 60:
grade = "C+";
break;
case nilai < 50:
grade = "C";
break;
case nilai < 40:
grade = "D";
break;
case nilai < 30:
grade = "E";
break;
default:
grade = "F";
}
Pertam-tama, kita berikan nilai true pada switch, ini agar kita bisa masuk ke dalam
blok switch.
Lalu di dalam blok switch, kita buat kondisi dengan menggunakan case.
Bisa dibilang:
Contoh:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Percabangan Ternary</title>
</head>
<body>
<script>
var jwb = prompt("Apakah Jakarta ibu kota indonesia?");
Hasilnya:
Tapi kalau bernilai false, maka variabel jawaban akan berisi "Salah".
Contoh:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Percabangan Ternary</title>
</head>
<body>
<script>
var username = prompt("Username:");
var password = prompt("Password:");
if(username == "petanikode"){
if(password == "kopi"){
document.write("<h2>Selamat datang pak bos!</h2>");
} else {
document.write("<p>Password salah, coba lagi!</p>");
}
} else {
document.write("<p>Anda tidak terdaftar!</p>");
}
</script>
</body>
</html>
Hasilnya:
Contohnya:
if(username == "petanikode"){
if(password == "kopi"){
document.write("<h2>Selamat datang pak bos!</h2>");
} else {
document.write("<p>Password salah, coba lagi!</p>");
}
} else {
document.write("<p>Anda tidak terdaftar!</p>");
}
Ini dapat kita buat lebih sederhana lagi dengan operator logika AND (&&).
Ada lima macam bentuk perulangan di Javascript. Secara umum, perulangan ini dibagi
dua.
Perbedaanya:
Counted Loop merupakan perulangan yang jelas dan sudah tentu banyak
perulangannya.
Sedangkan Uncounted Loop, merupakan perulangan yang tidak jelas berapa
kali ia harus mengulan.
1. Perulangan For
2. Perulangan Foreach
3. Perulangan Repeat
1. Perulangan While
2. Perulangan Do/While
Jadi setiap perulangan dilakukan nilai i akan selalu bertambah satu. Karena kita
menentukannya di bagian i++.
Tidak.
Hasilnya:
Bagaimana kalau counter perulangannya dimulai dari akanga yang lebih besar sampai
yang ke paling kecil?
Caranya gampang.
Lalu di kondisi perbandingannya, kita berikan counter > 0. Artinya perulangan akan
dilakukan selama nilai counter lebih besar dari 0.
Karena kondisi yang kita berikan counter > 0. Apabila counter bernilai 0, maka kondisi
ini akan menjadi false.
Kecuali kita menggunakan operator lebih besar sama dengan (>=), maka
jika counter bernilai 0, kondisi akan menjadi true.
Perulangan while juga dapat menjadi perulangan yang counted loop dengan
memberikan counter di dalamnya.
while(ulangi){
var jawab = confirm("Apakah anda mau mengulang?")
counter++;
if(jawab == false){
ulangi = false;
}
}
document.write("Perulangan sudah dilakuakn sebanyak "+ counter +" kali");
Bisa disederhanakan menjadi:
while(ulangi){
counter++;
ulangi = confirm("Apakah anda mau mengulang?");
}
while(ulangi){
counter++;
ulangi = confirm("Apakah anda mau mengulang?");
}
Di sana… Perulangan akan terjadi selama variabel ulangi brenilai true.
Selama kita memilih Ok pada dialog konfirmasi, maka variabel ulangi akan terus
bernilai true.
Tapi kalau kita pilih Cancel, maka variabel ulangi akan bernilai false.
Perbedaanya:
Perulangan do/while akan melakukan perulangan sebanyak 1 kali terlebih dahulu, lalu
mengecek kondisi yang ada di dalam kurung while.
do {
// blok kode yang akan diulang
} while (<kondisi>);
Jadi perbedaanya:
do {
counter++;
ulangi = confirm("Apakah anda mau mengulang?");
} while(ulangi)
Maka hasilnya:
4. Perulangan Foreach di Javascript
Perulangan foreach biasanya digunakan untuk mencetak item di dalam array.
Perulangan ini termasuk dalam perulangan counted loop, karena jumlah perulangannya
akan dituentukan oleh panjang dari array.
Contoh:
for(i in languages){
document.write(i+". "+ languages[i] + "<br/>");
}
Hasilnya:
Cara kedua membuat perulangan foreach ialah dengan menggunakan
method forEach() dari array.
Contoh:
Bisa dibilang:
Contoh:
Ini disebut dengan nested loop atau perulangan bersarang atau perulangan di dalam
perualangan.
Contoh lain:
while (ulangi) {
counter++;
var bintang = "*".repeat(counter) + "<br>";
document.write(counter + ": " + bintang);
ulangi = confirm("apakah anda ingin mengulang?");
}
Hasilnya:
Nanti, kita akan banyak menggunakan perulangan bersarang saat bekerja dengan array
dua dimensi.
Kita dapat membuat perluangan sebanyak mungki di dalam perulangan yang lainnya.
Tentu ini akan membuat website atau aplikasi kita berjalan lambat.
Contoh penggunaan:
console.log("Hello World!");
Hasilnya:
Fungsi console.log() biasanya digunakan untuk debugging. Karena setiap pesaan error
di Javascript selalu ditampilkan di dalam Console.
alert("Hello World!");
Fungsi alert(), hanya bisa digunakan di dalam browser saja. Sedangkan pada Nodejs
fungsi ini tidak ada.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Belajar Javascript</title>
<script>
alert("Selamat datang di tutorial belajar Javascript");
function sayHello(){
alert("Hello!");
}
</script>
</head>
<body>
<button onclick="sayHello()">Klik Aku!</button>
</body>
</html>
Hasilnya:
3. Menggunakan Fungsi document.write()
Objek document adalah objek yang mewakili dokumen HTML di dalam Javascript.
Dalam objek document, terdapat fungsi write() untuk menulis sesuatu ke dokumen
HTML.
Contoh:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Belajar Javascript</title>
<script>
document.write("<h1>Hello World!</h1>");
document.write("<hr>");
document.write("<p>Saya sedang belajar Javascript</p>");
document.write("di <b>petanikode.com</b>")
</script>
</head>
<body>
</body>
</html>
Hasilnya:
Selain fungsi write(), objek document juga menyediakan berbagai macam fungsi untuk
manipulasi dokumen HTML.
4. Menggunakan innerHTML
innerHTML adalah sebuah atribut di dalam (objek) elemen HTML yang berisi string
HTML.
Dengan innerHTML, kita dapat menampilkan output ke elemen yang lebih spesifik.
Contoh:
<!DOCTYPE html>
<html lang="en">
<head>
<title>Belajar Javascript</title>
</head>
<body>
<script>
// membuat objek elemen
var hasil = document.getElementById("hasil-output");
</body>
</html>
Hasilnya:
Akhir Kata…
Bagaimana?
Sudah paham ‘kan perbedaan dari keempat fungsi tersebut. Kalau kita ringkas akan
seperti ini: