String adalah tipe data yang digunakan untuk menyimpan teks atau kumpulan karakter. Di Dart, String adalah objek yang kaya fitur dengan banyak metode bawaan.
// Single quote
String nama = 'Budi Santoso';
// Double quote
String pesan = "Selamat belajar Dart!";
// Triple quote — untuk string multi-baris
String alamat = '''
Jl. Merdeka No. 10
Kota Jakarta
Indonesia
''';
String html = """
<div>
<p>Halo Dart!</p>
</div>
""";
Cara menyisipkan variabel atau ekspresi ke dalam String menggunakan $:
String nama = 'Budi';
int umur = 25;
// Variabel sederhana: gunakan $variabel
print('Halo, $nama!'); // Halo, Budi!
print('Umur saya: $umur tahun'); // Umur saya: 25 tahun
// Ekspresi: gunakan ${ekspresi}
print('Tahun lahir: ${2024 - umur}'); // Tahun lahir: 1999
print('Nama besar: ${nama.toUpperCase()}'); // Nama besar: BUDI
String teks = 'Selamat belajar Dart';
// Panjang string
print(teks.length); // 20
// Konversi besar-kecil
print(teks.toUpperCase()); // SELAMAT BELAJAR DART
print(teks.toLowerCase()); // selamat belajar dart
// Cek awalan dan akhiran
print(teks.startsWith('Selamat')); // true
print(teks.endsWith('Dart')); // true
// Cari teks di dalam string
print(teks.contains('belajar')); // true
print(teks.indexOf('belajar')); // 8
// Ganti teks
print(teks.replaceAll('Dart', 'Flutter')); // Selamat belajar Flutter
// Hapus spasi di awal/akhir
String kotor = ' halo dunia ';
print(kotor.trim()); // 'halo dunia'
String kalimat = 'Dart adalah bahasa pemrograman';
// Ambil sebagian string
print(kalimat.substring(0, 4)); // Dart
print(kalimat.substring(5)); // adalah bahasa pemrograman
// Pisahkan string menjadi list
List<String> kata = kalimat.split(' ');
print(kata); // [Dart, adalah, bahasa, pemrograman]
print(kata.length); // 4
// Gabungkan list menjadi string
List<String> buah = ['apel', 'mangga', 'jeruk'];
print(buah.join(', ')); // apel, mangga, jeruk
print(buah.join(' - ')); // apel - mangga - jeruk
Menggunakan r di depan string untuk menonaktifkan karakter escape:
// Normal: \n berarti baris baru
String normal = 'Baris 1\nBaris 2';
// Raw: \n dianggap literal (karakter \ dan n)
String raw = r'Baris 1\nBaris 2'; // ditampilkan apa adanya
// Berguna untuk path file Windows
String path = r'C:\Users\Budi\Documents';
// Dengan operator + (kurang disarankan)
String nama = 'Budi' + ' ' + 'Santoso';
print(nama); // Budi Santoso
// Dengan string interpolation (direkomendasikan)
String depan = 'Budi';
String belakang = 'Santoso';
String penuh = '$depan $belakang';
print(penuh); // Budi Santoso
| Metode | Fungsi | Contoh |
|---|---|---|
.length |
Panjang string | 'Dart'.length → 4 |
.toUpperCase() |
Semua huruf besar | 'dart'.toUpperCase() → 'DART' |
.toLowerCase() |
Semua huruf kecil | 'DART'.toLowerCase() → 'dart' |
.trim() |
Hapus spasi awal/akhir | ' hi '.trim() → 'hi' |
.contains() |
Cek apakah mengandung | 'dart'.contains('ar') → true |
.startsWith() |
Cek awalan | 'dart'.startsWith('da') → true |
.replaceAll() |
Ganti semua kemunculan | 'aaa'.replaceAll('a','b') → 'bbb' |
.split() |
Pisah jadi list | 'a,b'.split(',') → ['a','b'] |
.isEmpty |
Cek string kosong | ''.isEmpty → true |
💡 Tips: Gunakan string interpolation (
$variabelatau${ekspresi}) daripada operator+untuk menggabungkan string — lebih ringkas, lebih mudah dibaca, dan lebih efisien. Untuk string yang berisi banyak backslash seperti path Windows atau regex, gunakan raw string dengan awalanr. 🎯
Kursus
Dart Dasar
Kategori
Tipe Data & Operator
Durasi Pelajaran
20 menit