Tipe Data dalam JavaScript

www.gurudzgn.com - Sebelum kita memahami lebih dalam mengenai tipe data dalam JavaScript, penting untuk mengerti apa itu tipe data. Tipe data adalah klasifikasi nilai yang menunjukkan jenis informasi yang dapat diperlakukan dan diolah oleh komputer. Di dalam setiap bahasa pemrograman, termasuk JavaScript, tipe data memainkan peran krusial dalam pengelolaan variabel dan operasi data.

Tipe Data dalam JavaScript6

Tipe Data dalam JavaScript

Dalam JavaScript, terdapat dua kategori utama tipe data: tipe data primitif dan tipe data referensi. Tipe data primitif mencakup angka, teks, boolean, null, undefined, dan symbol. Sementara itu, tipe data referensi mencakup objek, array, fungsi, tanggal, dan regular expression.

Tipe Data Primitif

Tipe data primitif merupakan tipe data sederhana yang mewakili nilai tunggal. JavaScript memiliki lima tipe data primitif berikut:

Angka (Number)

Tipe data angka digunakan untuk mewakili nilai numerik. Baik angka bulat maupun angka desimal dapat dinyatakan dalam tipe data ini. 

Contohnya:

	let umur = 25;
	let beratBadan = 68.5;

Teks (String)

Tipe data teks digunakan untuk mewakili sekumpulan karakter atau teks. Untuk mendefinisikan tipe data string, kita menggunakan tanda kutip tunggal (' ') atau tanda kutip ganda (" "). 

Contohnya:

	let nama = "Anisa Fitri";
	let alamat = 'Jl. Jendral Sudirman No. 123';

Boolean

Tipe data boolean hanya memiliki dua nilai, yaitu true (benar) dan false (salah). Tipe data ini digunakan untuk ekspresi logika dan pengambilan keputusan berdasarkan kondisi. 

Contohnya:

	let benar = true;
	let salah = false;

Null

Tipe data null digunakan untuk menyatakan bahwa sebuah variabel tidak memiliki nilai atau tidak menunjuk ke objek apapun. Ketika sebuah variabel dideklarasikan dengan nilai null, berarti variabel tersebut sengaja diberi nilai kosong. 

Contohnya:

	let data = null;

Undefined

Tipe data undefined digunakan untuk menyatakan bahwa sebuah variabel belum diberi nilai atau belum dideklarasikan. Jika kita mencoba mengakses variabel yang belum diberi nilai, JavaScript akan mengembalikan nilai undefined. 

Contohnya:

	let x;
	console.log(x); // Output: undefined

Symbol

Tipe data symbol diperkenalkan dalam ECMAScript 6 (ES6). Symbol digunakan untuk membuat nilai yang unik dan tidak dapat diubah. Ini berguna saat kita ingin menggunakan properti kustom dalam objek yang dijamin tidak akan bertabrakan dengan properti lainnya. 

Contohnya:

	const id = Symbol('id');
	const user = {
	  [id]: 123,
	  name: 'Rafiqi',
	};

Tipe Data Referensi

Tipe data referensi digunakan untuk mewakili nilai yang lebih kompleks, seperti objek, array, fungsi, tanggal, dan regular expression. Tipe data referensi bersifat mutable, artinya nilai-nilai yang di dalamnya dapat diubah. Berikut adalah penjelasan tentang masing-masing tipe data referensi:

Objek (Object)

Objek adalah struktur data yang kompleks dan dapat menyimpan beberapa nilai sebagai properti dan metode. Properti dalam objek adalah pasangan key-value (kunci-nilai). Untuk membuat objek dalam JavaScript, kita dapat menggunakan notasi objek literal atau konstruktor objek.

Contohnya:

	const person = {
	  name: 'Anisa Fitri',
	  age: 25,
	  address: 'Jl. Jendral Sudirman No. 123',
      getInfo: function() {
	    return this.name + ', ' + this.age + ' tahun, tinggal di ' + this.address;
	  }
	};

Array

Array digunakan untuk menyimpan beberapa nilai dalam satu variabel. Setiap nilai dalam array memiliki indeks, dimulai dari 0, yang memungkinkan kita mengakses nilai-nila tersebut. Untuk membuat array dalam JavaScript, kita dapat menggunakan tanda kurung siku ([]) dengan atau tanpa nilai awal. 
Contohnya:
	const fruits = ['apel', 'pisang', 'jeruk'];
	const numbers = new Array(1, 2, 3, 4, 5);
Array juga bisa berisi tipe data campuran, termasuk tipe data primitif dan referensi:
	const mixedArray = ['Anisa Fitri', 20, true, { city: 'Palembang', country: 'Indonesia' }];
Untuk mengakses nilai dalam array, kita menggunakan indeksnya:
	console.log(fruits[0]); // Output: 'apel'
	console.log(numbers[2]); // Output: 3
	console.log(mixedArray[3].city); // Output: 'Palembang'
JavaScript menyediakan berbagai metode bawaan untuk memanipulasi array, seperti `push()`, `pop()`, `shift()`, `unshift()`, `splice()`, dan lainnya. Metode-metode ini memungkinkan kita menambah, menghapus, atau mengubah elemen-elemen dalam array.

Fungsi (Function)

Fungsi adalah blok kode yang dapat dipanggil secara berulang untuk melakukan tugas tertentu. Fungsi memungkinkan kita untuk mengorganisasi kode menjadi bagian-bagian yang lebih kecil dan terorganisir. Untuk mendefinisikan fungsi dalam JavaScript, kita dapat menggunakan pernyataan `function`. 
Contohnya:
	function greet(name) {
	  return 'Hello, ' + name + '!';
	}
Setelah mendefinisikan fungsi, kita bisa memanggilnya dengan memberikan argumen sesuai dengan parameter yang didefinisikan:
	const greeting = greet('Anisa Fitri');
	console.log(greeting); // Output: 'Hello, Anisa Fitri!'
JavaScript juga mendukung fungsi anonim (tanpa nama) dan fungsi arrow yang lebih ringkas untuk beberapa keperluan.

Tanggal (Date)

Tipe data tanggal digunakan untuk menyimpan informasi tanggal dan waktu. Untuk membuat objek tanggal dalam JavaScript, kita menggunakan konstruktor `Date()`.
Contohnya:
	const today = new Date();
	console.log(today); // Output: menyesuaikan dengan jam perangkat anda
Kita juga bisa membuat objek tanggal dengan menyediakan tahun, bulan, dan tanggal secara spesifik:
	const specificDate = new Date(2023, 6, 20); // Bulan dihitung mulai dari 0 (Januari)
	console.log(specificDate); // Output: menyesuaikan dengan jam perangkat anda
Objek tanggal memiliki berbagai metode bawaan untuk mengambil informasi tentang tanggal dan waktu, seperti `getFullYear()`, `getMonth()`, `getDate()`, `getHours()`, `getMinutes()`, dan lainnya.

RegExp (Regular Expression)

Tipe data RegExp digunakan untuk mencocokkan dan memanipulasi teks berdasarkan pola tertentu. RegExp merupakan bagian penting dari JavaScript untuk operasi pengolahan teks yang kompleks. Untuk membuat objek RegExp dalam JavaScript, kita menggunakan notasi dengan tanda garis miring (slash) `/`.
Contohnya:
	const pattern = /hello/gi; // g: global, i: case-insensitive
Objek RegExp memungkinkan kita untuk mencari, mengganti, dan memeriksa kecocokan string berdasarkan pola yang telah ditentukan.

Konversi Tipe Data

Terkadang kita perlu mengonversi tipe data dari satu bentuk ke bentuk lain. JavaScript menyediakan fungsi-fungsi bawaan untuk melakukan konversi tipe data:

Konversi ke String

Untuk mengonversi nilai ke tipe data string, kita dapat menggunakan fungsi `toString()` atau `String()`.
Contohnya:
	const number = 42;
	const stringNumber = number.toString();
		console.log(typeof stringNumber); // Output: 'string'
	const booleanValue = true;
	const stringBoolean = String(booleanValue);
		console.log(typeof stringBoolean); // Output: 'string'
	

Konversi ke Number

Untuk mengonversi nilai ke tipe data angka, kita dapat menggunakan fungsi `parseInt()` untuk angka bulat dan `parseFloat()` untuk angka desimal. 
Contohnya:
	const numericString = '42';
	const integerNumber = parseInt(numericString);
		console.log(typeof integerNumber); // Output: 'number'
	const decimalString = '3.14';
	const floatNumber = parseFloat(decimalString);
		console.log(typeof floatNumber); // Output: 'number'
	

Konversi ke Boolean

Untuk mengonversi nilai ke tipe data boolean, kita dapat menggunakan fungsi `Boolean()`. Nilai-nilai yang akan menghasilkan `false` dalam konversi ini antara lain: `false`, `0`, `-0`, `0n`, `null`, `undefined`, dan `''` (string kosong). Nilai lainnya akan menghasilkan `true`.
Contohnya:
	const numberValue = 42;
	const booleanNumber = Boolean(numberValue);
	console.log(booleanNumber); // Output: true
	const stringValue = '';
	const booleanString = Boolean(stringValue);
	console.log(booleanString); // Output: false
	

Operasi pada Tipe Data

Operasi pada tipe data mencakup berbagai jenis operasi yang dapat dilakukan pada tipe data primitif maupun tipe data referensi. Mari kita jelajahi beberapa operasi tersebut:

Operasi pada Tipe Data Primitif

Operasi matematika seperti penjumlahan, pengurangan, perkalian, dan pembagian dapat dilakukan pada tipe data angka:
	const num1 = 10;
	const num2 = 5;
	const addition = num1 + num2;
	console.log(addition); // Output: 15
	const multiplication = num1 * num2;
	console.log(multiplication); // Output: 50	
Operasi konkatenasi, yaitu penggabungan string, dapat dilakukan pada tipe data string:
	const firstName = 'Anisa';
	const lastName = 'Fitri';
	const fullName = firstName + ' ' + lastName;
	console.log(fullName); // Output: 'Anisa Fitri'	
Operasi pada tipe data primitif juga termasuk operasi logika untuk tipe data boolean:
	const x = true;
	const y = false;
	const andResult = x && y;
	console.log(andResult); // Output: false
	const orResult = x || y;
	console.log(orResult); // Output: true
Operasi perbandingan juga sering digunakan untuk membandingkan nilai antara dua variabel:
	const num1 = 10;
	const num2 = 5;
	const isEqual = num1 === num2;
	console.log(isEqual); // Output: false
	const isGreater = num1 > num2;
	console.log(isGreater); // Output: true
	

Operasi pada Tipe Data Referensi

Operasi pada tipe data referensi juga termasuk operasi yang penting dalam pengembangan aplikasi. Misalnya, ketika kita ingin mengakses atau mengubah nilai dari properti dalam objek:
	const person = {
	  name: 'Anisa Fitri',
	  age: 23,
	};
	console.log(person.name); // Output: 'Anisa Fitri'
	person.age = 25;
	console.log(person.age); // Output: 25
Pada array, kita dapat menggunakan metode seperti `push()`, `pop()`, dan `splice()` untuk menambah, menghapus, atau mengubah elemen dalam array:
	const fruits = ['apel', 'pisang', 'jeruk'];
	fruits.push('anggur');
		console.log(fruits); // Output: ['apel', 'pisang', 'jeruk', 'anggur']
	fruits.pop();
		console.log(fruits); // Output: ['apel', 'pisang', 'jeruk']
Fungsi juga dapat menjadi bagian penting dalam operasi pada tipe data referensi. Misalnya, kita dapat memanggil fungsi di dalam objek:
	const person = {
	  name: 'Anisa Fitri',
	  age: 25,
	  greet: function() {
		    return 'Hello, nama saya adalah ' + this.name + ' dan saya berumur ' + this.age + ' tahun.';
	  }
	};
		console.log(person.greet()); // Output: 'Hello, nama saya adalah Anisa Fitri dan saya berumur 25 tahun.'
	

Kesimpulan

Tipe data dalam JavaScript memungkinkan kita untuk menyimpan dan memanipulasi nilai dengan berbagai cara. Tipe data primitif, seperti angka, teks, boolean, null, undefined, dan symbol, digunakan untuk menyimpan nilai tunggal. Sementara tipe data referensi, seperti objek, array, fungsi, tanggal, dan regular expression, digunakan untuk menyimpan nilai yang lebih kompleks.

JavaScript menyediakan berbagai operasi yang dapat dilakukan pada tipe data, mulai dari operasi matematika dan konkatenasi hingga operasi logika dan perbandingan. Kemampuan untuk mengonversi tipe data juga sangat penting untuk melakukan manipulasi dan analisis data yang tepat.