Cari Posisi Teks dengan Mudah Pakai String IndexOf
Dalam pemrograman, sering kali kita perlu mencari posisi teks tertentu dalam sebuah string. Misalnya, kamu ingin tahu di mana kata "JavaScript" muncul dalam sebuah kalimat. Untungnya, JavaScript punya metode bawaan bernama indexOf()
yang bikin tugas ini jadi super gampang.
Metode indexOf()
membantu kamu mencari posisi teks pertama kali muncul dalam sebuah string. Yuk, kita bahas apa itu indexOf()
, bagaimana cara kerjanya, dan apa saja kegunaannya.
Apa Itu indexOf()
?
indexOf()
adalah metode bawaan JavaScript yang digunakan untuk mencari index (posisi) pertama dari sebuah teks dalam string. Kalau teks tidak ditemukan, metode ini akan mengembalikan nilai -1
.
Sintaks:
string.indexOf(searchValue, startIndex);
searchValue
: Teks atau substring yang ingin dicari.startIndex
(opsional): Posisi awal pencarian. Kalau tidak diisi, pencarian dimulai dari awal string (index 0).
Contoh Dasar Penggunaan indexOf()
1. Mencari Teks dalam String
let teks = "Saya belajar JavaScript di idcsharp.com";
let posisi = teks.indexOf("JavaScript");
console.log(posisi);
Output:
13
Artinya, kata "JavaScript" mulai muncul di index ke-13 dalam string.
2. Teks Tidak Ditemukan
Kalau teks yang dicari tidak ada, indexOf()
akan mengembalikan -1
.
let teks = "Saya belajar JavaScript di idcsharp.com";
let posisi = teks.indexOf("Python");
console.log(posisi);
Output:
-1
3. Menggunakan Start Index
Kamu juga bisa menentukan dari mana pencarian dimulai dengan menambahkan startIndex
.
let teks = "JavaScript adalah bahasa yang asik. JavaScript itu fleksibel.";
let posisi = teks.indexOf("JavaScript", 20); // Mulai dari index ke-20
console.log(posisi);
Output:
35
Pencarian dimulai dari index ke-20, jadi yang ditemukan adalah "JavaScript" kedua.
Studi Kasus Penggunaan indexOf()
1. Memastikan Teks Ada dalam String
Metode indexOf()
berguna untuk memastikan apakah sebuah teks ada dalam string atau tidak.
let teks = "Belajar JavaScript itu menyenangkan!";
if (teks.indexOf("JavaScript") !== -1) {
console.log("Teks ditemukan!");
} else {
console.log("Teks tidak ditemukan.");
}
Output:
Teks ditemukan!
2. Mengecek Ekstensi File
Bayangkan kamu punya nama file dan ingin memastikan apakah file tersebut memiliki ekstensi tertentu, seperti .jpg
atau .png
.
let file = "foto.png";
if (file.indexOf(".png") !== -1) {
console.log("Ini adalah file gambar PNG.");
} else {
console.log("Ini bukan file PNG.");
}
Output:
Ini adalah file gambar PNG.
3. Menghitung Kemunculan Teks
Kamu bisa menggunakan indexOf()
dalam perulangan untuk menghitung berapa kali sebuah teks muncul dalam string.
let teks = "JavaScript adalah bahasa yang seru. JavaScript itu fleksibel.";
let search = "JavaScript";
let count = 0;
let posisi = teks.indexOf(search);
while (posisi !== -1) {
count++;
posisi = teks.indexOf(search, posisi + 1); // Lanjutkan pencarian
}
console.log(`"${search}" muncul sebanyak ${count} kali.`);
Output:
"JavaScript" muncul sebanyak 2 kali.
Perbedaan indexOf()
dan lastIndexOf()
indexOf()
: Mencari posisi pertama teks dalam string.lastIndexOf()
: Mencari posisi terakhir teks dalam string.
Contoh:
let teks = "JavaScript itu keren. JavaScript itu powerful.";
console.log(teks.indexOf("JavaScript")); // Output: 0
console.log(teks.lastIndexOf("JavaScript")); // Output: 22
Keterbatasan indexOf()
- Tidak Mendukung Regex
Kalau kamu butuh pencarian dengan pola (regex), gunakan metode.match()
atau.search()
.
Case SensitiveindexOf()
membedakan antara huruf besar dan huruf kecil.
let teks = "JavaScript itu keren!";
console.log(teks.indexOf("javascript")); // Output: -1
Solusinya, ubah string menjadi huruf kecil dengan .toLowerCase()
:
console.log(teks.toLowerCase().indexOf("javascript")); // Output: 0
Kesimpulan
Fungsi indexOf()
adalah alat sederhana tapi sangat berguna untuk mencari posisi teks dalam string di JavaScript. Dengan metode ini, kamu bisa menyelesaikan berbagai kebutuhan, seperti memeriksa apakah teks tertentu ada, menghitung kemunculan teks, atau memproses data string.