Digitalmapia adalah situs dimana semua orang bisa menulis artikelnya sendiri. Klik "Login/Register untuk masuk, lalu klik "Tulis Artikel" untuk mulai menulis.

Belajar Bahasa Pemrograman Javascript [Bag. 2] : Aritmetika dan Tipe data

Hal yang umum dilakukan ketika kita berurusan dengan angka adalah operasi aritmetika. Operasi aritmetika terdiri dari penambahan, pengurangan, perkalian dan sebagainya. Bagian ini mungkin akan terasa membosankan karena apa yang akan kita bahas hampir sama seperti yang dipelajari di sekolah dasar. Namun demikian, konsepnya penting untuk melanjutkan mempelajari tentang pemrograman Javascript sehingga anda bisa membuat halaman website yang lebih interaktif.

Pada bagian sebelumnya kita telah membahas tentang operator aritmetika. Untuk mengingatkan kembali, berikut operator aritmetika yang dimaksud:

Operator Aritmetika Pada Javascript

Operator Description
+ Penambahan
Pengurangan
* Multiplication
/ Division
% Modulus
++ Increment
Decrement

Operasi Aritmetika

Operasi aritmetika biasanya melibatkan dua buah angka. Operasi aritmetika dapat melibatkan dua buah angka yang bersifat literal maupun variabel. Operasi aritmetika pada literal:

var x = 100 + 50;

Sedangkan, operasi aritmetika yang melibatkan variabel contohnya adalah sebagai berikut:

var x = a + b;

Sebuah operasi aritmetika juga dapat berupa ekspresi sebagai berikut:

var x = (100 + 50) * a;

Operator dan Operands

Angka yang terdapat pada operasi aritmetika dinamakan dengan operands. Sedangkan, operasi yang akan dilakukan diantara dua buah operands ditentukan oleh sebuah operator.

Operand Operator Operand
100 + 50

Operator Penjumlahkan (+) berfungsi untuk menjumlahkan angka:

var x = 5;
var y = 2;
var z = x + y;

Operator Pengurangan (-) berfungsi untuk mengurangi angka:

var x = 5;
var y = 2;
var z = x - y;

Operator Perkalian (*) berfungsi untuk mengalikan angka:

var x = 5;
var y = 2;
var z = x * y;

Operator Pembagian (/) berfungsi untuk membagi angka:

var x = 5;
var y = 2;
var z = x / y;

Operator modular (%) menghasilkan sisa pembagian:

var x = 5;
var y = 2;
var z = x % y;

Pada operator modular (modulus) 5 / 2 hasilnya adalah 2 sisa 1. Maka z pada contoh diatas adalah 1.

Operator Increment (++) melakukan penambahan terhadap angka sebanyak 1:

var x = 5;
x++;
var z = x;

Pada contoh diatas, nilai dari variabel z adalah 6. Sedangkan Operator Decrement digunakan untuk melakukan pengurangan sebanyak 1:

var x = 5;
x--;
var z = x;

pada contoh diatas nilai z = 4;

Urutan Penggunaan Operator (Operator Precedence)

Ketika kita menggunakan lebih dari satu jenis operator pada saat melakukan operasi aritmetika, kemungkinan dibutuhkan urutan yang tepat agar menghasilkan operasi yang benar. Contohnya adalah sebagai berikut:

var x = 100 + 50 * 3;

Setelah melakukan operasi diatas, berapakah nilai dari variabel x? ada dua pilihan cara menyelesaikan operasi diatas. Namun, hanya satu yang benar.

var x = 150 * 3;

atau

var x = 100 + 150

Jika kita memilih menggunakan cara yang pertama, maka hasilnya adalah 450, sedangkan cara kedua menghasilkan angka 250. Ketika mempelajari matematika di sekolah dasar, kita mengetahui bahwa perkalian (*) dan pembagian (/) harus dilakukan terlebih dahulu dibandingkan dengan penjumlahan dan pengurangan. Dengan demikian pada contoh diatas, cara yang kedua adalah yang benar yaitu operasi 50*3 dilakukan terlebih dahulu baru kemudian ditambahkan dengan 100.

Sampai disini dapat disimpulkan bahwa perkalian (*) dan pembagian memiliki precedence yang lebih tinggi dibandingkan dengan penambahan (+) dan pengurangan (-). Sama seperti ketika di sekolah, urutan tersebut bisa berubah dengan menggunakan bantuan tanda kurung:

var x = (100 + 5) * 3;

Ketika menggunakan tanda kurung, operasi yang berada dalam tanda kurung harus dilakukan terlebih dahulu. Ketika ada dua atau lebih operasi yang memiliki precedence yang sama, maka akan diurutkan dari kiri ke kanan. Sebagai contoh:

var x = 100 + 50 - 3

Daftar operator dan Precedence-nya

Berikut adalah daftar operator dan precedence-nya. Operator yang paling besar precedence-nya (ditunjukkan oleh kolom value), maka operator tersebut harus dijalankan terlebih dahulu.

18[]Anggota sebuah arrayperson[“name”]17()Pemanggilan FungsifungsiSaya()

Value Operator Description Example
19 () Pengelompokkan Ekspresi (3 + 4)
18 . Anggota sebuah object person.name
17 new Membuat Object Baru new Date()
16 ++ Postfix Increment ++i
15 Postfix Decrement –i
15 ++ Prefix Incement i++
15 ! Logika not !(xx==y)
15 typeof Cek Tipe Data typeof x
14 * Perkalian 10 * 5
14 / Pembagian 10 / 5
14 % Pembagian Modulo 10 % 5
14 ** Pemangkatan 10 ** 5
13 + Penambahan 10 + 5
13 Pengurangan 10 – 5
12 << Shift Left x << 2
12 >> Shift Right x >> 2
11 < Kurang dari x < y
11 <= Kurang dari sama dengan x <= y
11 > Lebih dari x > y
11 > Lebih dari sama dengan x >= y
10 == Sama dengan x == y
10 === Sama dengan (lebih ketat) x === y
10 != Tidak sama dengan x != y
10 !== Tidak sama dengan (lebih ketat) x !== y
6 && And x && y
5 || Or x || y
3 = Assignment x = y
3 += Assignment x += y
3 -= Assignment x -= y
3 *= Assignment x *= y
3 /= Assignment x /= y

Ekspresi yang berada di dalam tanda kurung, harus diselesaikan terlebih dahulu sebelum nilainya digunakan untuk dioperasikan dengan ekspresi yang lain.

Tipe data pada Javascript

Pada javascript terdapat banyak tipe data diantaranya adalah String, Number, Boolean, Array, Object dan sebagainya. Sebelumnya, kita telah mengenal tentang variabel, variabel dapat menyimpan berbagai jenis data seperti yang telah disebutkan:

var length = 16; //Number
var lastName = "Pamungkas"; //String
var mobil = ["Saab", "Volvo", "BMW"]; //Array
var x = {firstName:"Bambang", lastName:"Pamungkas"} //Object

Note: Kata yang ditandai dengan “//” adalah komentar dan tidak akan dieksekusi oleh Javascript.

Konsep Tipe data pada Javascript

Pada bahasa pemrograman apapun, tipe data merupakan konsep yang sangat penting. Untuk bisa melakukan operasi tertentu pada sebuah variabel, sangat penting untuk mengetahui tentang tipe data. Tanpa tipe data, sebuah komputer tidak bisa dengan baik melakukan operasi seperti berikut :

var x = 16 + "Avanza";

Apakah masuk akan menambahkan kata “Avanza” dengan angka 16? apakah akan menghasilkan sesuatu? atau akan menghasilkan error?

Pada javascript operasi seperti pada contoh diatas akan dianggap seperti kita sedang menggabungkan dua buah string:

var x = "16" + "Avanza";

Jika operand yang kedua merupakan string, maka operand yang pertama pun akan dianggap oleh Javascript sebagai String.

Javascript menjalankan sebuah ekspresi dari kiri ke kanan, urutan yang berbeda akan memberikan hasil yang berbeda pula:

var x = 16 + 4 + "Avanza"
var y = "Avanza" + 16 + 4

Hasil dari ekspresi pertama (variabel x) diatas adalah “20Avanza”. Sedangkan, pada operasi kedua hasilnya adalah “Avanza164″. Pada ekspresi pertama, Javascript menganggap 16 dan 4 Sebagai angka (Number) hingga mencapai kata “Avanza”. Sedangkan, pada ekspresi kedua, karena operand yang pertama adalah string, maka operand selanjutnya pun akan dianggap sebagai string.

Variabel pada Javascript Bersifat Dinamis

Pada Javascript sebuah variabel yang sama dapat menampung berbagai tipe data yang berbeda. Contohnya:

var x; //Variabel x sekarang 'undefined'
var x = 5; //variabel x sekarang memiliki tipe data Number
var x = "Hello"; //variabel x sekarang memiliki tipe data String

String pada Javascript

Pada javascript dan bahasa pemrograman pada umumnya, string atau text string merupakan sekumplan karakter seperti “Bambang Pamungkas”. String ditulis diantara tanda petik dua (“) atau petik satu (‘). Sebagai contoh:

var pemain = "Bambang Pamungkas"; //dengan petik dua
var pemain = 'Bambang Pamungkas'; //dengan petik satu

Anda bisa menggunakan tanda petik di dalam string selama tanda petik tersebut berbeda dengan tanda petik yang mengapitnya. Misalkan:

var text = "Ia dipanggil dengan nama 'Bambang'"; // Petik satu di dalam petik dua
var text = 'Ia dipanggil dengan nama "Bambang"'; // Petik dua di dalam petik satu

Anda akan belajar lebih jauh pada tutorial ini.

Number pada Javascript

Javascript hanya mengenal satu jenis tipe data berupa angka, yaitu Number. Number bisa ditulis dengan ataupun tanpa desimal.

var number1 = 45.00; // dengan desimal
var number1 = 45; // tanpa desimal

Angka yang sangat besar ataupun sangat kecil pada javascript dapat ditulis dengan menggunakan cara sebagai berikut:

 var y = 123e5;      // 12300000
 var z = 123e-5;     // 0.00123

Dimana 123e5 bisa dianggap seperti 123 x 105, sedangkan 123e-5 = 123 x 10-5. Anda akan belajar mengenai number pada bahasan selanjutnya mengenai javascript.

Boolean pada Javascript

Tipe data boolean hanya mengenal dua nilai: true atau false;

var x = true;
var y = false;

Tipe data boolean sering digunakan pada Conditional Testing. Anda akan belajar mengenai Conditional Testing pada bahasan selanjutnya.

Array pada Javascript

Array pada javascript ditulis dengan menggunakan tanda kurung kotak. Dimana tiap item dipisahkan dengan tanda koma. Berikut adalah contoh cara mendeklarasikan (membuat) array dengan nama variabel mobil, yang berisi tiga buah item (nama-nama mobil):

    var cars = ["Avanza", "Xenia", "Jazz"];

Setiap array memiliki index yang dimulai dari nol, artinya item pertama memiliki index 0, item kedua memiliki index 1 dan seterusnya. Kita akan bahas tentang array lebih jauh pada tutorial ini.

Object Pada Javascript

Selain array, pada javascript juga kita mengenal object. Sebuah object memiliki satu atau lebih property, yang terdiri dari pasangan nama property dan isi dari property tersebut.

    var orang = {namaDepan:"Bambang", namaBelakang:"Pamungkas", usia:50, warnaMata:"hitam"};

Pada contoh diatas, sebuah object (orang) memiliki 4 buah property, yaitu namaDepan, namaBelakang, usia, dan warnaMata. Anda akan belajar mengenai object pada bahasan selanjutnya.

Menggunakan Operator TypeOf pada Javascript

Ketika anda ingin mengetahui tipe data dari suatu variabel, variabel typeof bisa digunakan:

typeof "Bambang"                // string
typeof 3.14                     // number
typeof false                    // boolean
typeof [1,2,3,4]                // object
typeof {name:'Bambang', age:34}    // object

Sebagai catatan, pada javascript array adalah sebuah tipe data. Namun, ketika anda menggunakan operator typeof, maka hasilnya akan menjadi object.

Undefined

Pada javascript, sebuah variabel yang tidak memiliki nilai secara otomatis akan diberi nilai undefined. Ketika, melakukan typeof juga akan menghasilkan undefined. Sebagai contoh:

    var orang; //Nilai dari variabel ini adalah undefined, tipe data nya juga undefined

Untuk mengosongkan variabel pada javascipt kita tinggal mengisinya dengan undefined.

    var pemain = "Bambang Pamungkas"; // awalnya variabel ini diisi string
    var pemain = undefined; // kemudian dikosongkan

Nilai Kosong

Nilai kosong tidak ada hubungannya dengan undefined. Sebuah variabel kosong memiliki nilai dan tipe data.

    var car = ""; // Nilainya adalah "", sedangkan tipe datanya string

Null

Pada javascript null artinya “ketiadaan” dan menandakan sesuatu yang tidak ada. Sayangnya, pada javascript, tipe data null merupakan sebuah object.

Sebagai catatan, tipe data null harusnya null bukan object. Anggap saja ini adalah sebuah bug / kesalahan pada Javascript.

Selain menggunakan undefined, anda juga bisa mengosongkan sebuah variabel pada javascript dengan cara menge-set-nya menjadi null. Sebagai contoh:

    var orang = null; //nilainya null, tapi tipe datanya object

Perbedaan Null dan Undefined

typeof undefined             // undefined
typeof null                  // object
null === undefined           // false
null == undefined            // true

Perbedaan antara null dan undefined adalah null tipe datanya adalah object sedangkan undefined tipe datanya adalah dirinya sendiri yaitu undefined.

belajar javascript