C# - Strings: A Beginner's Guide

Hai, para pemula pemrogram! Hari ini, kita akan mendalami dunia yang menakjubkan dari string di C#. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda dalam perjalanan ini. Mari kita mulai!

C# - Strings

Apa Itu String?

Sebelum kita masuk ke hal yang khusus, mari kita mengerti apa itu string. Dalam pemrograman, string adalah secara sederhana adalah urutan karakter. Itu bisa menjadi kata, kalimat, atau bahkan paragraf penuh. Pahamilah itu seperti "string" huruf, angka, atau simbol yang diikat bersama-sama.

Membuat Objek String

Dalam C#, membuat string sangat mudah. Mari kita lihat beberapa cara untuk melakukan itu:

string greeting = "Hello, World!";
string name = "Alice";
string empty = "";
string nullString = null;

Dalam contoh ini:

  • greeting adalah string yang berisi "Hello, World!"
  • name adalah string yang berisi "Alice"
  • empty adalah string kosong (itu ada tetapi tidak ada karakter)
  • nullString adalah string null (itu bahkan tidak ada di memori)

Ingat, string di C# ditutup dalam tanda kutip ganda. Jika Anda mencoba menggunakan tanda kutip tunggal, C# akan berpikir Anda bicara tentang karakter tunggal, bukan string.

Properti Kelas String

String di C# datang dengan beberapa properti bawaan yang bisa sangat berguna. Mari kita eksplorasi beberapa di antaranya:

Length

Properti Length memberitahu kita berapa karakter yang ada dalam string.

string message = "Hello, C#!";
int length = message.Length;
Console.WriteLine($"Pesan ini memiliki {length} karakter.");
// Output: Pesan ini memiliki 9 karakter.

Empty dan IsNullOrEmpty

kadang-kadang, kita perlu memeriksa apakah string kosong. C# menyediakan cara mudah untuk melakukan ini:

string emptyString = "";
bool isEmpty = string.Empty == emptyString;
bool isNullOrEmpty = string.IsNullOrEmpty(emptyString);

Console.WriteLine($"Apakah string kosong? {isEmpty}");
Console.WriteLine($"Apakah string null atau kosong? {isNullOrEmpty}");
// Output:
// Apakah string kosong? True
// Apakah string null atau kosong? True

Metode Kelas String

Sekarang, mari kita masuk ke bagian yang menarik - metode string! Ini seperti kekuatan khusus yang dimiliki string, memungkinkan kita untuk memanipulasi dan menganalisis mereka dalam berbagai cara.

ToUpper() dan ToLower()

Metode ini mengubah kasus string:

string mixedCase = "HeLLo, WoRLd!";
string upperCase = mixedCase.ToUpper();
string lowerCase = mixedCase.ToLower();

Console.WriteLine(upperCase); // Output: HELLO, WORLD!
Console.WriteLine(lowerCase); // Output: hello, world!

Trim(), TrimStart(), dan TrimEnd()

Metode ini menghapus whitespace dari string:

string paddedString = "   Hello, World!   ";
string trimmed = paddedString.Trim();
string trimmedStart = paddedString.TrimStart();
string trimmedEnd = paddedString.TrimEnd();

Console.WriteLine($"Ditrim: '{trimmed}'");
Console.WriteLine($"Ditrim Awal: '{trimmedStart}'");
Console.WriteLine($"Ditrim Akhir: '{trimmedEnd}'");
// Output:
// Ditrim: 'Hello, World!'
// Ditrim Awal: 'Hello, World!   '
// Ditrim Akhir: '   Hello, World!'

Substring()

Metode ini memungkinkan kita mengambil sebagian string:

string sentence = "The quick brown fox jumps over the lazy dog.";
string extract = sentence.Substring(4, 5);
Console.WriteLine(extract); // Output: quick

IndexOf() dan LastIndexOf()

Metode ini membantu kita menemukan posisi karakter atau substring:

string text = "Hello, Hello, Hello";
int firstIndex = text.IndexOf("Hello");
int lastIndex = text.LastIndexOf("Hello");

Console.WriteLine($"'Hello' pertama di indeks: {firstIndex}");
Console.WriteLine($"'Hello' terakhir di indeks: {lastIndex}");
// Output:
// 'Hello' pertama di indeks: 0
// 'Hello' terakhir di indeks: 14

Replace()

Metode ini mengganti kejadian dari string yang ditentukan:

string original = "I like apples, apples are my favorite fruit.";
string replaced = original.Replace("apples", "oranges");
Console.WriteLine(replaced);
// Output: I like oranges, oranges are my favorite fruit.

Berikut ini adalah tabel yang menguraikan metode ini:

Metode Deskripsi
ToUpper() Mengkonversi semua karakter ke huruf besar
ToLower() Mengkonversi semua karakter ke huruf kecil
Trim() Menghapus whitespace dari kedua ujung
TrimStart() Menghapus whitespace dari awal
TrimEnd() Menghapus whitespace dari akhir
Substring() Mengambil sebagian string
IndexOf() Menemukan pertama kali terjadi substring
LastIndexOf() Menemukan terakhir kali terjadi substring
Replace() Mengganti semua kejadian string yang ditentukan

Contoh Dalam Aksi

Sekarang kita telah belajar tentang properti dan metode string ini, mari kita gunakan mereka dalam contoh praktis:

string userInput = "   JoHn DoE   ";

// Bersihkan dan standarikan input pengguna
string cleanName = userInput.Trim().ToLower();

// Kapitalkan huruf pertama dari setiap kata
string[] nameParts = cleanName.Split(' ');
for (int i = 0; i < nameParts.Length; i++)
{
if (!string.IsNullOrEmpty(nameParts[i]))
{
nameParts[i] = char.ToUpper(nameParts[i][0]) + nameParts[i].Substring(1);
}
}

string formattedName = string.Join(" ", nameParts);

Console.WriteLine($"Input asli: '{userInput}'");
Console.WriteLine($"Nama yang diformat: '{formattedName}'");
// Output:
// Input asli: '   JoHn DoE   '
// Nama yang diformat: 'John Doe'

Dalam contoh ini, kita mengambil input pengguna yang kacau, membersihkannya, dan mengubahnya menjadi huruf besar di awal setiap kata. Ini adalah tugas umum dalam banyak aplikasi, seperti pengolahan formulir atau pembersihan data.

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia string C#. Kita telah melihat membuat string, menggunakan properti mereka, dan menerapkan berbagai metode untuk memanipulasinya. Ingat, latihan membuat sempurna, jadi jangan ragu untuk mencoba konsep ini dalam kode Anda sendiri.

String adalah salah satu tipe data yang paling sering digunakan dalam pemrograman, dan menguasainya akan memberikan Anda dasar yang kuat untuk perjalanan coding Anda. Terus eksplorasi, terus kode, dan terutama, bersenang-senanglah dengan itu!

Happy coding, para master C# masa depan!

Credits: Image by storyset