Dalam menulis sebuah kode kita sering kali menggunakan String
. String adalah tipe data yang digunakan untuk menyimpan teks. Di Dart, String adalah objek yang diwakili oleh kelas String
. Strings sangat penting dalam pengembangan aplikasi karena mereka digunakan untuk menyimpan dan memanipulasi teks, seperti nama, alamat, pesan, dan lainnya.
Strings di Dart dapat dibuat menggunakan tanda kutip tunggal ('
) atau tanda kutip ganda ("
). Kita juga dapat menggunakan tanda kutip tiga untuk membuat string multi-baris.
void main() {
String singleQuote = 'Ini adalah string dengan tanda kutip tunggal';
String doubleQuote = "Ini adalah string dengan tanda kutip ganda";
String multiLine = '''Ini adalah string
multi-baris yang dibuat
menggunakan tanda kutip tiga''';
print(singleQuote);
print(doubleQuote);
print(multiLine);
}
Menggabungkan Strings di Dart
Menggabungkan strings adalah operasi dasar yang sering digunakan dalam pemrograman untuk membentuk teks yang lebih panjang dari beberapa teks yang lebih pendek. Di Dart, kita dapat menggabungkan strings dengan berbagai cara, termasuk menggunakan operator +
dan interpolasi string menggunakan $
.
Operator +
adalah cara yang sederhana dan langsung untuk menggabungkan dua atau lebih strings. Setiap kali kita menggunakan operator +
, kita membuat string baru yang merupakan gabungan dari dua strings yang dioperasikan.
void main() {
String firstName = 'John';
String lastName = 'Doe';
// Menggabungkan menggunakan operator +
String fullName1 = firstName + ' ' + lastName;
print('Full name (operator +): $fullName1'); // John Doe
}
Interpolasi string adalah fitur yang memungkinkan kita memasukkan nilai variabel atau ekspresi ke dalam string. Di Dart, interpolasi string dilakukan dengan menggunakan $
diikuti oleh nama variabel di dalam string. Jika ekspresi lebih kompleks, kita dapat menggunakan ${}
untuk memasukkan ekspresi di dalam string.
void main() {
String firstName = 'John';
String lastName = 'Doe';
// Menggabungkan menggunakan interpolasi string
String fullName2 = '$firstName $lastName';
print('Full name (interpolasi): $fullName2'); // John Doe
}
Karakter dalam String di Dart
Mengakses karakter individual dalam string adalah operasi dasar yang sering digunakan dalam berbagai aplikasi, seperti pemrosesan teks, validasi input, dan manipulasi string. Di Dart, kita dapat mengakses karakter dalam string menggunakan indeks. Indeks dalam string Dart bersifat zero-based, artinya indeks pertama adalah 0, indeks kedua adalah 1, dan seterusnya.
Untuk mengakses karakter tertentu dalam string, kita cukup menggunakan tanda kurung siku []
dengan indeks karakter yang ingin kita akses.
void main() {
String message = 'Hello';
print(message[0]); // H
print(message[1]); // e
print(message[2]); // l
print(message[3]); // l
print(message[4]); // o
}
Namun, jika kamu mencoba mengakses indeks yang berada di luar panjang string, Dart akan melempar RangeError
.
void main() {
String message = 'Hello';
// Mengakses indeks di luar batas
try {
print(message[5]);
// Error: RangeError (index): Invalid value: Not in range 0..4, inclusive: 5
} catch (e) {
print('Error: $e');
}
}
Didalam string kita juga dapat menggunakan loop untuk mengakses setiap karakter dalam string. Loop sangat berguna jika kita perlu memproses atau memanipulasi setiap karakter dalam string.
void main() {
String message = 'Hello';
for (int i = 0; i < message.length; i++) {
print('Character at index $i: ${message[i]}');
}
}
Perlu diingat bahwa strings di Dart adalah objek yang tidak dapat diubah (immutable). Ini berarti kita tidak dapat mengubah karakter dalam string secara langsung. Namun, kita dapat membuat string baru dengan karakter yang diubah.
void main() {
String message = 'Hello';
// Mengubah karakter pertama menjadi 'J'
String newMessage = 'J' + message.substring(1);
print(newMessage); // Jello
}
Dart juga mendukung karakter Unicode, yang memungkinkan Anda bekerja dengan berbagai simbol, emoji, dan karakter dari berbagai bahasa.
void main() {
String message = 'Hello 👋';
for (int i = 0; i < message.length; i++) {
print('Character at index $i: ${message[i]}');
}
}
Properti dan Metode String
Dart menyediakan berbagai properti dan metode yang memungkinkan manipulasi strings dengan cara yang mudah dan efisien.
Metode
length
Properti
length
mengembalikan panjang string, yaitu jumlah karakter yang ada dalam string tersebut.void main() { String text = ' Dart Programming '; print('Length: ${text.length}'); // 18 }
Pada kode diatas kita melihat bahwa panjang string
text
adalah 18 karakter, termasuk spasi di awal dan akhir.Metode
toUpperCase()
Metode
toUpperCase()
mengonversi semua karakter dalam string menjadi huruf besar.void main() { String text = ' Dart Programming '; print('Uppercase: ${text.toUpperCase()}'); // DART PROGRAMMING }
Pada kode diatas kita melihat bahwa semua huruf dalam string
text
dikonversi menjadi huruf besar.Metode
toLowerCase()
Metode
toLowerCase()
mengonversi semua karakter dalam string menjadi huruf kecil.void main() { String text = ' Dart Programming '; print('Lowercase: ${text.toLowerCase()}'); // dart programming }
Pada kode diatas kita melihat bahwa semua huruf dalam string
text
dikonversi menjadi huruf kecil.Metode
contains()
Metode
contains()
memeriksa apakah string mengandung substring tertentu dan mengembalikan nilai boolean.void main() { String text = ' Dart Programming '; print('Contains "Dart": ${text.contains('Dart')}'); // true }
Pada kode diatas kita melihat bahwa string
text
mengandung substring "Dart", jadicontains('Dart')
mengembalikantrue
.Metode
substring()
Metode
substring()
mengembalikan bagian dari string yang dimulai dari indeks awal (inclusive) hingga indeks akhir (exclusive).void main() { String text = ' Dart Programming '; print('Substring (0, 4): ${text.substring(0, 4)}'); // Dar }
Pada kode diatas kita melihat bahwa mengambil substring dari indeks 0 hingga 3, menghasilkan " Dar".
Metode
replaceAll()
Metode
replaceAll()
mengganti semua kemunculan substring tertentu dengan substring lain.void main() { String text = ' Dart Programming '; print('Replace "Dart" with "Flutter": ${text.replaceAll('Dart', 'Flutter')}'); // Flutter Programming }
Pada kode diatas kita melihat bahwa kita bisa mengganti semua kemunculan "Dart" dengan "Flutter".
Metode
split()
Metode
split()
untuk membagi string menjadi daftar substring berdasarkan pembatas tertentu.void main() { String text = ' Dart Programming '; print('Split by space: ${text.split(' ')}'); // [, Dart, Programming, ] }
Pada kode diatas kita melihat bahwa membagi string
text
menjadi daftar substring berdasarkan spasi. Hasilnya adalah daftar yang berisi ["", "Dart", "Programming", ""].Metode
trim()
Metode
trim()
digunakan untuk menghapus spasi dari awal dan akhir string.void main() { String text = ' Dart Programming '; print('Trimmed: ${text.trim()}'); // Dart Programming }
Pada kode diatas kita melihat cara menghapus spasi dari awal dan akhir string
text
.
Parsing String keint
dan double
Mengonversi string ke tipe data lain sering diperlukan dalam pemrograman. Dart menyediakan metode parse
dan tryParse
untuk mengonversi string ke int
atau double
.
Metode parse
digunakan untuk mengonversi string ke int
atau double
. Jika string yang diberikan tidak valid, metode ini akan melemparkan pengecualian (exception).
void main() {
String intString = "123";
String doubleString = "123.45";
int intValue = int.parse(intString);
double doubleValue = double.parse(doubleString);
print('Parsed int: $intValue'); // 123
print('Parsed double: $doubleValue'); // 123.45
}
tryParse
Metode tryParse
digunakan untuk mengonversi string ke int
atau double
, tetapi tidak melemparkan pengecualian jika string tidak valid. Sebaliknya, metode ini mengembalikan null
jika parsing gagal.
void main() {
String validIntString = "123";
String invalidIntString = "abc";
String validDoubleString = "123.45";
String invalidDoubleString = "abc.45";
int? intValue = int.tryParse(validIntString);
int? invalidIntValue = int.tryParse(invalidIntString);
double? doubleValue = double.tryParse(validDoubleString);
double? invalidDoubleValue = double.tryParse(invalidDoubleString);
print('Parsed int: $intValue'); // 123
print('Parsed invalid int: $invalidIntValue'); // null
print('Parsed double: $doubleValue'); // 123.45
print('Parsed invalid double: $invalidDoubleValue'); // null
}
Strings adalah bagian integral dari pengembangan aplikasi dan Dart menyediakan berbagai cara untuk bekerja dengannya. Dengan memahami cara membuat, menggabungkan, memanipulasi, dan mengonversi strings, kita dapat menangani berbagai kebutuhan teks dalam aplikasi kita dengan lebih efektif dan efisien. Strings di Dart adalah objek yang kaya dengan banyak metode yang membuat pekerjaan dengan teks menjadi mudah dan intuitif.