Layaknya bahasa pemrograman level tinggi lainnya seperti C, Java, dan Python,
Javascript memiliki beberapa sintaks dasar yang umum digunakan, seperti variable,
operator, pemilihan kondisi, array, perulangan, fungsi, string, dan lainnya. API
(Application Program Interface) dari JavaScript cukuplah lengkap, akan tetapi ia tidak
memiliki akses ke layer I/O, Network, Storage, dan Graphics dari suatu environment.
Tiga komponen yaitu HTML, CSS, dan JavaScript adalah komponen dasar dalam
membuat suatu website. HTML sebagai elemen dasar halaman website, CSS
menangani formatting website, kemudian JavaScript membuat suatu website menjadi
interactive.
Belajar kode yang paling efektif adalah dengan melakukan praktek secara langsung,
Anda akan lebih cepat dalam memahami maksud-maksud dari konsep maupun fitur
yang ada di bahasa pemrograman tersebut.
Hello World in Javascript
Latihan
Contoh kode:
1. console.log("Hello World");
Output kode:
Hello World
Variabel / Var
Variabel adalah wadah untuk menyimpan suatu nilai. Pada Javascript, syarat variabel di
antaranya:
Nama variabel dapat berisi huruf, angka, karakter underscores _, dan karakter
dollar $.
Nama variabel harus diawali huruf.
Nama variabel bisa diawali dengan karakter _ dan $.
Nama variabel bersifat case-sensitive (misal, variabel y dan Y berbeda).
Kata kunci bawaan milik Javascript tidak bisa dipakai untuk nama variabel.
Latihan
Contoh kode:
https://glot.io/snippets/fbn3lop4cf/embed/
Praktek
Pada editor terdapat contoh pembuatan variabel dan cara menampilkan nilainya
ke layar. Jalankan kode dan lihat output apa yang tampil.
Coba ganti baris ke-1 dan ke-2, kode nama menjadi 1nama dan lihat pesan error
yang muncul. Mengapa muncul error?
Coba ganti baris ke-1 dan ke-2, kode nama menjadi new dan lihat pesan error
yang muncul. Mengapa muncul error?
Latihan
Contoh kode
Link ke editor:
https://glot.io/snippets/fbn3pzhv1q/embed/
Praktek
Tipe data adalah jenis dari data yang digunakan pada sebuah variabel. Javascript
mendukung tipe data berikut:
String adalah susunan dari huruf, angka dan karakter lainnya, seperti "Halo
Coders!". String ditulis dengan diapit oleh tanda kutip " atau tanda petik '.
Number adalah tipe data angka yang bisa ditulis dengan desimal maupun tidak.
Boolean adalah tipe data yang hanya memiliki dua nilai: true atau false.
Array adalah tipe data yang ditulis dengan tanda siku [] dan isi array dipisahkan
dengan koma ,.
Object adalah tipe data yang ditulis dengan kurung kurawal {} dan properti object
ditulis dengan sepasang nama:nilai yang kemudian dipisahkan dengan tanda
koma ,.
null adalah nilai yang dapat digunakan untuk menunjukkan sesuatu yang tidak
ada, null memiliki tipe data object.
undefined adalah nilai bawaan variabel yang ditulis tanpa isi.
Latihan
Contoh kode:
Link ke editor:
https://glot.io/snippets/fbn3r0sfp0/embed/
Praktek
Pada kolom editor, Anda dapat melihat sejumlah variabel dengan tipe data yang
beragam. Gunakan perintah typeof untuk setiap variabel dan lihat bagaimana nilai
variabel tersebut ditampilkan. Misal pada baris ke-9, ganti typeof nama
menjadi typeof umur.
Konstanta
Konstanta adalah sebuah nama (seperti variabel) untuk menyimpan suatu nilai.
Berbeda dengan variabel, nilai dari konstanta tidak dapat diubah setelah dia
didefinisikan.
Membuat sebuah konstanta bisa menggunakan operator assignment (=) seperti pada
saat membuat variabel, namun di awal variabel tambahkan const.
Latihan
Contoh kode:
1. const PI = 3.14159265;
2. console.log(PI);
Link ke editor:
https://glot.io/snippets/fbn3s1hnke/embed
Praktek
Jalankan program yang ada di editor dan lihat output apa yang muncul.
Apakah muncul pesan error apabila pada baris ke-3, ditambahkan kode ini:
1. PI = 1;
2. console.log(PI);
Mengapa demikian?
Operator Aritmatika
Operator digunakan untuk melakukan operasi terhadap suatu nilai dan variabel.
Latihan
Contoh kode:
1. var x = 29;
2. var y = 19;
3. var z = x + y;
4. console.log(z);
Link ke editor:
https://glot.io/snippets/fbn3t2e13w/embed/
Praktek
Gantilah operator yang digunakan pada kode baris ke-3 dengan operator lainnya,
dan lihatlah hasilnya!
Operator Penugasan
Selain itu, kita dapat menyisipkan operator aritmatika sebelum tanda =, yang berarti
mengisi variabel di sebelah kiri operator dengan hasil operasi dari variabel sebelah kiri
sebelum diisi dengan nilai di sebelah kanan. Agar lebih paham, perhatikan tabel berikut:
Contoh Serupa Keterangan
x += y x=x+y x diisi dengan nilai dari x sebelumnya ditambah nilai y
x -= y x=x-y x diisi dengan nilai dari x sebelumnya dikurangi nilai y
x *= y x=x*y x diisi dengan nilai dari x sebelumnya dikali nilai y
x /= y x=x/y x diisi dengan nilai dari x sebelumnya dibagi nilai y
x %= y x=x%y x diisi dengan sisa nilai dari x sebelumnya dibagi nilai y
Latihan
Contoh kode:
1. var x = 29;
2. var y = 19;
3. console.log('Nilai x sebelum assignment: ' + x + '<br/>');
4. x += y;
5. console.log('Nilai x setelah assignment: ' + x + '<br/>');
Link ke editor:
https://glot.io/snippets/fbn423y26f/embed
PRAKTEK
Gantilah operator yang digunakan pada kode baris ke-4 dengan operator
lainnya, dan lihatlah hasilnya!
Operator Perbandingan
Operator perbandingan digunakan untuk membandingkan dua buah nilai numerik atau
string. Output dari operasi ini adalah nilai true atau false.
Latihan
Contoh kode:
1. var x = 29;
2. var y = 19;
3. console.log(x == y);
Link ke editor:
https://glot.io/snippets/fbn432imfv/embed
PRAKTEK
Gantilah operator == pada kode di baris ke-3 dengan <, >, <=, >= dan !=, lalu
amati output masing-masing operasinya.
Ganti nilai x dengan string '19' dan ganti operator pada kode di baris ke-3
dengan == dan === lalu amati outputnya. Apakah outputnya berbeda? Mengapa
berbeda?
Ekplorasi lebih lanjut dengan mengganti nilai variabel x dan y dan juga operator
yang digunakan dan bandingkan masing-masing outputnya.
Operator increment-decrement
Latihan
Contoh kode:
1. var x = 13;
2. ++x;
3. console.log(x);
Link ke editor:
https://glot.io/snippets/fbn43zdpsw/embed
PRAKTEK
Jalankan contoh kode yang ada pada editor, dan lihat output yang tampil.
Ganti kode di baris ke-2, x++ menjadi x--; dan jalankan. Bagaimana hasil
outputnya? Mengapa?
Eksplorasi dengan mengganti operator pada baris ke-2 dengan operator
increment-decrement lainnya dan perhatikan outputnya.
Operator Logika
&& x && y
or Or x or y TRUE bila salah satu atau keduanya dari x atau y bernilai TRUE
|| x || y
xor Xor x xor y TRUE bila hanya salah satu saja (tidak keduanya) dari x atau y
bernilai TRUE
! Not !x TRUE bila x bernilai FALSE
Latihan
Contoh kode:
1. var x = true;
2. var y = true;
3.
4. console.log('x : ' + x + '<br/>');
5. console.log('y : ' + y + '<br/>');
6. console.log('!x : ' + !x + '<br/>');
7. console.log('!y : ' + !y + '<br/>');
8. console.log('x and y : ' + (x && y) + '<br/>');
9. console.log('x or y : ' + (x || y) + '<br/>');
10. console.log('x xor y : ' + Boolean(x ^ y) + '<br/>');
Link ke editor:
https://glot.io/snippets/fbn457np8j/embed
PRAKTEK
Ganti nilai variabel x dan y pada editor menjadi true atau false, lalu jalankan program.
Amati dan pelajari tiap outputnya.
Operator String
Operator string sangat membantu dan akan sering digunakan pada operasi yang
berkaitan dengan data string. Operasi yang dimaksud adalah konkatenasi
(perangkaian) atau penggabungan dua buah string, dan operator yang digunakan
adalah tanda titik +. Selain itu, operator konkatenasi juga dapat digunakan pada operasi
assignment, seperti halnya operator aritmatika.
1. z = x + y;
Contoh kode di atas artinya kita mengisi variabel z dengan nilai string hasil
penggabungan antara nilai variabel x dengan nilai variabel y.
Latihan
Contoh kode:
1. var x = 'Halo';
2. var y = 'Coders';
3. var z = x + ' ' + y;
4.
5. console.log('x: ' + x + '<br/>')
6. console.log('y: ' + y + '<br/>')
7. console.log('z: ' + z + '<br/>')
Link ke editor:
https://glot.io/snippets/fbn46n3tp0/embed
PRAKTEK
Jalankan kode di editor dan lihat bagaimana outputnya. Anda juga dapat
mencoba mengeksplorasi dengan string lainnya dan lihat bagaimana hasilnya?
If
Seringkali kita harus melakukan suatu operasi hanya pada kondisi tertentu saja. Artinya
kita mengecek terlebih dahulu sebuah kondisi, yang apabila kondisi tersebut terpenuhi
(atau bernilai true), maka kita lakukan serangkaian operasi.
Statemen if digunakan untuk mengecek kondisi dan bila kondisi bernilai true, maka
program tertentu akan dijalankan. Penulisan sintaksnya adalah:
1. if(kondisi) {
2. // kode untuk dieksekusi bila kondisi bernilai true
3. }
Pada bagian kondisi, kita isi dengan suatu variabel yang nantinya akan dicek nilainya.
Variabel bernilai false, null, string kosong atau 0 akan menghasilkan output false, dan
selain nilai tersebut akan memberikan output true. Selain itu kita juga dapat
membandingkan variabel menggunakan operator perbandingan dan operator logika,
atau hasil keluaran dari sebuah fungsi.
Latihan
Contoh kode:
Link ke editor:
https://glot.io/snippets/fbn4gr79qe/embed
PRAKTEK
Adakalanya kita harus mengeksekusi satu blok kode program saat suatu kondisi
terpenuhi, dan mengeksekusi blok kode program lain yang berbeda bila kondisi tidak
terpenuhi. Untuk itu kita gunakan statemen if..else.
1. if (kondisi) {
2. // kode untuk dieksekusi bila kondisi bernilai TRUE
3. } else {
4. // kode untuk dieksekusi bila kondisi bernilai FALSE
5. }
Latihan
Contoh kode:
Link ke editor:
https://glot.io/snippets/fbn4hp6yvw/embed
PRAKTEK
Pada editor, kita melihat kode untuk menghitung luas permukaan selimut balok
dan tabung menggunakan variabel panjang, lebar dan tinggi. Coba hapus
variabel tinggi atau isi variabel dengan nilai 0, dan lihat output apa yang muncul.
If, else if, else
Adakalanya kita harus mengecek beberapa kondisi dan hanya menjalankan kode dari
salah satu kondisi yang terpenuhi saja. Untuk itu kita dapat menggunakan statemen
if..else if..else dst.
1. if(kondisi a){
2. // kode bila kondisi a terpenuhi
3. } else if(kondisi b){
4. // kode bila kondisi b terpenuhi
5. ..
6. ..
7. } else if(kondisi n) {
8. // kode bila kondisi n terpenuhi
9. } else {
10. // kode bila semua kondisi tidak terpenuhi
11. }
Latihan
Contoh kode:
1. console.log('Nilai: ');
2.
3. var skor = 83;
4. if(skor < 25)
5. {
6. console.log('D');
7. }
8. else if(skor < 50)
9. {
10. console.log('C');
11. }
12. else if(skor < 80)
13. {
14. console.log('B');
15. }
16. else
17. {
18. console.log('A');
19. }
Link ke editor:
https://glot.io/snippets/fbn4isl8o8/embed
PRAKTEK
Pada editor, jalankan kode dan lihat output apa yang muncul.
Ganti nilai variabel skor dengan nilai lain dan amati output yang tampil.
If Bersarang
1. if(kondisi a) {
2. if(kondisi b) {
3. // jalankan kode
4. }
5. }
Latihan
Contoh kode:
Link ke editor:
https://glot.io/snippets/fbn4k4w8yf/embed/
PRAKTEK
Jalankan kode yang ada di editor dan amati output yang tampil.
Mainkan nilai variabel matematika dan psikotes dan amati output yang tampil.
Switch
Statemen switch digunakan untuk menjalankan satu di antara banyak blok kode
berdasarkan kecocokan nilai yang dievaluasi.
1. switch(variabel){
2. case a:
3. // blok kode A
4. break;
5. case b:
6. // blok kode B
7. break;
8. ...
9. default:
10. // blok kode default
11. }
Pada statemen switch, nilai variabel akan dievaluasi kecocokannya untuk setiap case.
Bila ditemukan kecocokan pada salah satu case, maka blok kode pada case tersebut
akan dijalankan. Umumnya blok kode pada setiap case diakhiri dengan perintah break;
agar program langsung keluar dari blok statemen switch dan tidak perlu lagi mengecek
sisa case di bawahnya.
Apabila tidak ada case yang cocok dengan nilai variabel, maka blok kode pada bagian
default yang akan dijalankan.
Latihan
Contoh kode:
1. console.log('<img src="');
2.
3. var les_animaux = 'chats';
4. switch(les_animaux)
5. {
6. case 'chats':
7. console.log('http://i.imgur.com/4AiXzf8.jpg');
8. break;
9. case 'chiens':
10. console.log('http://i.imgur.com/A8eQsll.jpg');
11. break;
12. case 'singes':
13. console.log('http://i.imgur.com/CXwaR8c.jpg');
14. break;
15. case 'les humains':
16. console.log('http://i.imgur.com/u0mFu.jpg');
17. break;
18. }
19.
20. console.log('"/>');
Link ke editor:
https://glot.io/snippets/fbn4l53lft/embed/
PRAKTEK
Perhatikan kode switch pada kolom editor. Kira-kira output apa yang akan
muncul bila kode tersebut dijalankan? Cek perkiraan Anda dengan menjalankan
kode tersebut.
Nilai apa yang harus Anda isikan ke dalam variabel les_animaux di baris ke-3
agar program menampilkan gambar manusia?
Kita sudah paham bahwa switch akan menjalankan blok kode yang case-nya cocok
dengan nilai variabel yang dievaluasi. Lalu bagaimana bila kita ingin menjalankan blok
kode yang sama untuk beberapa case berbeda? Ada dua solusi. Pertama dengan
memasang blok kode yang sama untuk case-case berbeda yang ingin outputnya sama.
Akan tetapi switch memperbolehkan cara yang lebih sederhana agar kita tidak perlu
mengulang baris kode yang sama.
Pada kode di atas kita melihat ada case yang tidak memiliki blok kode. case tanpa blok
kode berarti dia mengikuti blok kode yang dimiliki case setelahnya. Contohnya, bila
variabel binatang bernilai "sapi" maka dia akan menampilkan output jumlah kaki 4
karena case "sapi" tidak memiliki blok kode, sehingga blok kodenya mengikuti blok
kode yang dimiliki case setelahnya yaitu case "kambing".
Latihan
Contoh kode:
Link ke editor:
https://glot.io/snippets/fbn4rxebv3/embed
PRAKTEK
Pada kode di samping ada kode switch yang memiliki beberapa case dengan
blok kode yang sama persis. Buatlah agar kode switch menjadi lebih ramping
tanpa ada blok kode yang sama yang diulang.
Ganti nilai variabel binatang di baris ke-1 untuk mengecek kode program yang
sudah Anda modifikasi.