Tipe Data: string
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah membaca halaman ini, kamu akan mampu:
- Menggunakan tipe
stringuntuk menyimpan teks - Membedakan tiga cara penulisan string
- Menggunakan metode string yang paling umum
- Menggabungkan string dengan berbagai cara
Pendahuluan
Section titled “Pendahuluan”string adalah tipe data untuk menyimpan teks — bisa berupa satu huruf, satu kata, satu kalimat, bahkan beberapa paragraf.
Hampir semua data yang berhubungan dengan manusia berbentuk teks: nama, alamat, pesan, judul, deskripsi. Itulah mengapa string adalah salah satu tipe data yang paling sering digunakan.
Analogi: Name Tag / Label Nama
Section titled “Analogi: Name Tag / Label Nama”Bayangkan tipe string seperti sebuah name tag — tag kecil yang ditempelkan di baju saat acara, berisi nama seseorang.
Name tag hanya berisi teks: bisa nama pendek “Ani”, nama panjang “Dewi Sartika Rahayu”, atau bahkan kalimat “Ketua OSIS 2024”. Semuanya adalah teks, dan semuanya bisa disimpan dalam variabel bertipe string.
Tiga Cara Menulis String
Section titled “Tiga Cara Menulis String”Di TypeScript, ada tiga cara untuk menulis nilai string:
1. Tanda Kutip Ganda "..."
Section titled “1. Tanda Kutip Ganda "..."”let nama: string = "Putra Ramadhan"let kota: string = "Sidoarjo"2. Tanda Kutip Tunggal '...'
Section titled “2. Tanda Kutip Tunggal '...'”let jurusan: string = 'Rekayasa Perangkat Lunak'let hari: string = 'Senin'3. Backtick `...` (Template Literal)
Section titled “3. Backtick `...` (Template Literal)”let nama: string = "Putra"let salam: string = `Halo, nama saya ${nama}!`Backtick memungkinkan kamu menyisipkan variabel dan ekspresi di dalam string menggunakan ${ }. Ini disebut template literal dan akan dibahas lebih detail di halaman tersendiri.
Karakter Escape
Section titled “Karakter Escape”Bagaimana jika teks yang ingin kamu simpan mengandung tanda kutip? Gunakan escape character — tanda \ sebelum karakter khusus:
let kalimat1: string = "Dia berkata, \"Halo!\""// Dia berkata, "Halo!"
let kalimat2: string = 'Ini buku Budi\'s.'// Ini buku Budi's.
let denganNewline: string = "Baris pertama\nBaris kedua"// Baris pertama// Baris kedua
let denganTab: string = "Nama:\tPutra"// Nama: Putra| Escape | Artinya |
|---|---|
\" |
Tanda kutip ganda |
\' |
Tanda kutip tunggal |
\\ |
Backslash |
\n |
Baris baru (newline) |
\t |
Tab |
Menggabungkan String (Concatenation)
Section titled “Menggabungkan String (Concatenation)”Ada dua cara menggabungkan string:
Cara 1: Operator +
Section titled “Cara 1: Operator +”let depan: string = "Halo"let belakang: string = "Dunia"let gabungan: string = depan + ", " + belakang + "!"console.log(gabungan) // Halo, Dunia!Cara 2: Template Literal (direkomendasikan)
Section titled “Cara 2: Template Literal (direkomendasikan)”let nama: string = "Putra"let kelas: string = "X RPL 1"let info: string = `${nama} adalah siswa kelas ${kelas}`console.log(info) // Putra adalah siswa kelas X RPL 1Mari Mencoba
Section titled “Mari Mencoba”Buat file src/bab1/string.ts:
const namaSiswa: string = "Dewi Rahayu"const namaSekolah: string = "SMKS Antartika 1 Sidoarjo"const jurusan: string = "Rekayasa Perangkat Lunak"const kelas: string = "XI RPL 2"const motto: string = "Belajar keras, kerja cerdas!"
// Panjang stringconsole.log("Panjang nama:", namaSiswa.length, "karakter")
// Mengubah kapitalisasiconsole.log("Huruf besar:", namaSiswa.toUpperCase())console.log("Huruf kecil:", namaSiswa.toLowerCase())
// Memotong whitespace di kiri dan kananlet namaKotor: string = " Budi "console.log("Sebelum trim:", namaKotor)console.log("Setelah trim:", namaKotor.trim())
// Mencari teks di dalam stringconsole.log("Mengandung 'RPL':", jurusan.includes("RPL"))console.log("Dimulai dengan 'Rekayasa':", jurusan.startsWith("Rekayasa"))
// Mengambil sebagian teksconsole.log("3 karakter pertama nama:", namaSiswa.slice(0, 3))
// Template literalconsole.log(`=== PROFIL SISWA ===Nama : ${namaSiswa}Sekolah : ${namaSekolah}Jurusan : ${jurusan}Kelas : ${kelas}Motto : ${motto}`)Jalankan:
tsx src/bab1/string.tsMetode String yang Sering Digunakan
Section titled “Metode String yang Sering Digunakan”let teks: string = "Halo, Selamat Datang di TypeScript!"
teks.length // 35 — panjang stringteks.toUpperCase() // "HALO, SELAMAT DATANG DI TYPESCRIPT!"teks.toLowerCase() // "halo, selamat datang di typescript!"teks.trim() // hapus spasi di kiri dan kananteks.includes("TypeScript") // true — cek apakah mengandung teksteks.startsWith("Halo") // true — dimulai dengan "Halo"?teks.endsWith("!") // true — diakhiri dengan "!"?teks.replace("Halo", "Hai") // "Hai, Selamat Datang di TypeScript!"teks.split(", ") // ["Halo", "Selamat Datang di TypeScript!"]teks.slice(6, 13) // "Selamat" — ambil karakter dari indeks 6 ke 13teks.indexOf("TypeScript") // 22 — posisi pertama ditemukanKesalahan Umum
Section titled “Kesalahan Umum”❌ Lupa tanda kutip — teks dianggap variabel
Section titled “❌ Lupa tanda kutip — teks dianggap variabel”let nama = Putra // Error! 'Putra' dianggap nama variabelCara memperbaiki:
let nama = "Putra" // ✓❌ Tanda kutip tidak berpasangan
Section titled “❌ Tanda kutip tidak berpasangan”let kalimat = "Halo dunia' // Error! Kutip buka ganda, tutup tunggalCara memperbaiki:
let kalimat = "Halo dunia" // ✓❌ Menambah angka ke string dengan +
Section titled “❌ Menambah angka ke string dengan +”let nama: string = "Nilai: "let nilai: number = 90console.log(nama + nilai) // "Nilai: 90" — ini sebenarnya OK untuk ditampilkan// tapi jika digunakan untuk perhitungan, bisa bermasalah:let perhitungan = nama + nilai + 10 // "Nilai: 9010" bukan "Nilai: 100"!Cara memperbaiki: Gunakan template literal:
console.log(`Nilai: ${nilai + 10}`) // "Nilai: 100" ✓Latihan
Section titled “Latihan”Buat file src/bab1/latihan-string.ts:
- Buat variabel string untuk menyimpan nama lengkapmu
- Tampilkan nama dalam huruf kapital semua
- Tampilkan panjang nama (berapa karakter)
- Tampilkan 3 karakter pertama dari namamu
- Buat kalimat menggunakan template literal:
"Nama saya [nama], saya bersekolah di [sekolah]"
Ringkasan
Section titled “Ringkasan”stringmenyimpan teks — satu karakter hingga ribuan kata- Tiga cara penulisan:
"...",'...', dan`...`(backtick) - Gunakan escape character
\untuk karakter khusus di dalam string - Gabungkan string dengan
+atau template literal`${variabel}` - Metode berguna:
.length,.toUpperCase(),.toLowerCase(),.trim(),.includes(),.replace()