String & Method Bawaan

Bekerja dengan String: panjang, mengubah huruf, memotong, mencari, mengganti, memecah-menggabung, StringBuffer, dan membandingkan teks.

Part 6 dari 20 ± 40 menit Gratis

String adalah barisan karakter

Teks adalah data yang paling sering diolah. String di Dart bersifat immutable: setiap method menghasilkan String baru, string aslinya tidak berubah.

String s = 'Belajar Dart';
print(s.length);          // 12
print(s[0]);              // B   (indeks mulai dari 0)
print(s.isEmpty);         // false
print(s.isNotEmpty);      // true

Mengubah dan membersihkan

MethodHasil untuk ' Dart Itu Asyik '
toUpperCase()' DART ITU ASYIK '
toLowerCase()' dart itu asyik '
trim()'Dart Itu Asyik' (buang spasi pinggir)
trimLeft() / trimRight()Buang spasi satu sisi

Mencari dan memeriksa

var s = 'Belajar Dart di KelasIT';
s.contains('Dart');          // true
s.startsWith('Belajar');     // true
s.endsWith('IT');            // true
s.indexOf('Dart');           // 8
s.indexOf('Java');           // -1 (tidak ada)

Memotong dan mengganti

var s = 'Belajar Dart';
s.substring(0, 7);                    // 'Belajar'
s.substring(8);                       // 'Dart'
s.replaceAll('a', '4');               // 'Bel4j4r D4rt'
s.replaceFirst('Dart', 'Flutter');    // 'Belajar Flutter'
'ha' * 3;                             // 'hahaha'

Memecah dan menggabung

var csv = 'apel,jeruk,mangga';
List<String> buah = csv.split(',');        // ['apel', 'jeruk', 'mangga']
String gabung = buah.join(' | ');         // 'apel | jeruk | mangga'
'a-b-c'.split('-');                       // ['a', 'b', 'c']
'halo'.split('');                         // ['h', 'a', 'l', 'o']

Merapikan tampilan

'7'.padLeft(3, '0');       // '007'
'Dart'.padRight(8, '.');   // 'Dart....'

// Huruf kapital di awal kata
String kapital(String s) => s.isEmpty ? s : s[0].toUpperCase() + s.substring(1);
kapital('belajar');        // 'Belajar'

Membandingkan

'dart' == 'dart';                          // true (membandingkan isi)
'Dart'.toLowerCase() == 'dart';            // true (abaikan huruf besar/kecil)
'apel'.compareTo('jeruk');                 // negatif: apel lebih dulu

StringBuffer: menyusun teks panjang

Menyambung string dengan += dalam loop membuat banyak string sementara. Untuk banyak sambungan pakai StringBuffer:

var buf = StringBuffer();
for (int i = 1; i <= 3; i++) {
  buf.write('Baris $i');
  buf.writeln();            // tambah baris baru
}
print(buf.toString());

Karakter dan kode

'A'.codeUnitAt(0);                     // 65
String.fromCharCode(66);               // 'B'
'Dart'.split('').reversed.join();      // 'traD' (membalik teks)

Contoh: cek palindrom

bool palindrom(String teks) {
  var bersih = teks.toLowerCase().replaceAll(' ', '');
  return bersih == bersih.split('').reversed.join();
}
print(palindrom('Kasur ini rusak'));   // true

Error umum

  • RangeError (index): Invalid value → indeks di luar panjang string; cek length dulu.
  • Memanggil method tapi hasilnya tidak dipakai: s.trim(); tidak mengubah s. Tulis s = s.trim();.
  • The method 'x' isn't defined for the type 'String' → salah nama method (Dart: toUpperCase, bukan upper).

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X