menengahstringmethodMenengah3 mnt baca

String Method

Method-method penting untuk mengolah teks: slice, split, includes, replace, trim, dan lainnya.

Teks juga bisa diolah

String di JavaScript punya banyak method bawaan. String itu immutable: method tidak mengubah string asli, melainkan mengembalikan string baru.

Mengambil dan memeriksa

javascript
let teks = "Belajar JavaScript";

console.log(teks.length);            // 18, jumlah karakter
console.log(teks.toUpperCase());     // "BELAJAR JAVASCRIPT"
console.log(teks.toLowerCase());     // "belajar javascript"
console.log(teks.includes("Java"));  // true, mengandung?
console.log(teks.startsWith("Bel")); // true, awalan?
console.log(teks.endsWith("ipt"));   // true, akhiran?

Memotong dan memecah

javascript
let teks = "Belajar JavaScript";

console.log(teks.slice(0, 7));  // "Belajar", index 0 sampai 6
console.log(teks.slice(8));     // "JavaScript", dari index 8 sampai akhir

let csv = "apel,mangga,jeruk";
console.log(csv.split(","));    // ["apel", "mangga", "jeruk"]

let berantakan = "  halo  ";
console.log(berantakan.trim()); // "halo", buang spasi ujung

split sangat berguna untuk memecah input pengguna atau data CSV sederhana.

Mengganti

javascript
let kalimat = "Saya suka apel. Apel itu enak.";

console.log(kalimat.replace("apel", "mangga"));
// "Saya suka mangga. Apel itu enak." (hanya pertama!)

console.log(kalimat.replaceAll("apel", "mangga"));
// "Saya suka mangga. Apel itu enak." (case sensitif)

replace hanya mengganti kemunculan pertama. Untuk semua kemunculan, pakai replaceAll atau regex dengan flag g.

Mengakses karakter

javascript
let kata = "halo";
console.log(kata[0]);        // "h"
console.log(kata.charAt(1)); // "a"
console.log(kata.indexOf("l")); // 2, posisi pertama "l"

Catatan teknis: String immutable berarti teks = teks.toUpperCase() tanpa assignment tidak mengubah apa-apa. Selalu tangkap hasil returnnya: teks = teks.trim(). Ini jebakan umum saat membersihkan input form.

Studi kasus: rapikan nama

Input pengguna sering berantakan. Kombinasi method string merapikannya:

javascript
function rapikanNama(input) {
  return input
    .trim()                    // buang spasi ujung
    .toLowerCase()             // seragamkan dulu
    .split(" ")                // pecah per kata
    .filter(kata => kata)      // buang kata kosong
    .map(kata => kata[0].toUpperCase() + kata.slice(1)) // kapital tiap kata
    .join(" ");                // gabung lagi
}

console.log(rapikanNama("  rIZky   PRATAMA ")); // "Rizky Pratama"

Lihat rangkaiannya: tiap method menghasilkan string baru untuk method berikutnya. Ini gaya pemrograman fungsional yang elegan untuk pengolahan teks. Pola seperti ini dipakai di validasi form, format tampilan, dan pembersihan data.

Mencari posisi teks

Selain includes, ada method untuk posisi persis:

javascript
let kalimat = "saya belajar javascript, javascript itu seru";
console.log(kalimat.indexOf("javascript"));     // 13
console.log(kalimat.lastIndexOf("javascript")); // 25
console.log(kalimat.indexOf("python"));         // -1, tidak ketemu

indexOf mengembalikan -1 kalau tidak ketemu, jadi pola klasiknya adalah if (teks.indexOf(x) !== -1). Di kode modern, includes(x) lebih mudah dibaca untuk cek keberadaan, sedangkan indexOf dipakai saat posisinya memang dibutuhkan.

Kesimpulan

Hafalkan yang sering dipakai: length, includes, slice, split, trim, replace, toUpperCase/toLowerCase. Sisanya bisa dicari saat butuh. Pengolahan string adalah 80% pekerjaan validasi dan formatting.