Method Parse bersikap tegas: string yang tidak sesuai bentuk langsung melempar exception. Untuk input pengguna, sikap tegas seperti itu kurang nyaman, karena salah ketik adalah hal biasa. Method TryParse menawarkan jalur yang lebih tenang: method ini mencoba mengubah string menjadi angka dan melaporkan hasilnya sebagai nilai bool, tanpa exception sama sekali.
Cara Kerja TryParse #
string input = "17"; // contoh hasil Console.ReadLine()
bool berhasil = int.TryParse(input, out int umur);
Console.WriteLine(berhasil);
Console.WriteLine(umur);Output yang Dihasilkan:
True
17Mari kita telaah baris demi baris:
- Baris 1 (
string input = "17";): Variabel menyimpan teks yang akan diuji, mewakili hasil ketikan pengguna. - Baris 3 (
int.TryParse(input, out int umur)): Keywordoutmemerintahkan method mengisi variabelumurdengan hasil konversi; secara bersamaan method mengembalikantruebila konversi berhasil. - Baris 5 (
Console.WriteLine(berhasil);): Nilai kembalianbooldilaporkan;Trueberarti string berhasil dibaca sebagai angka. - Baris 6 (
Console.WriteLine(umur);): Variabel hasil konversi berisi17, siap dipakai untuk perhitungan.
Saat Input Tidak Valid #
Kegagalan konversi tidak menimbulkan exception; method hanya mengembalikan false dan mengisi variabel out dengan 0:
bool berhasil = int.TryParse("delapan belas", out int angka);
Console.WriteLine(berhasil);
Console.WriteLine(angka);Output yang Dihasilkan:
False
0Perilaku ini penting: setelah setiap pemanggilan TryParse, variabel hasil selalu terisi, sehingga kita aman membacanya tanpa risiko error.
Pola Validasi Berulang dengan while #
Validasi input yang baik meminta ulang selama masukan belum benar. Loop while mengulang blok kode selama kondisinya benar, dan operator ! membalik nilai bool, sehingga kombinasi keduanya membentuk pola standar:
int angka;
Console.Write("Masukkan angka: ");
while (!int.TryParse(Console.ReadLine(), out angka))
{
Console.Write("Input tidak valid. Masukkan angka: ");
}
Console.WriteLine("Angka yang tercatat: " + angka);Contoh interaksi ketika pengguna salah ketik lalu berhasil:
Masukkan angka: dua
Input tidak valid. Masukkan angka: 42
Angka yang tercatat: 42Mari kita telaah baris demi baris:
- Baris 1 (
int angka;): Variabel hasil dideklarasikan di luar loop agar masih terbaca setelah loop selesai. - Baris 3-4 (
while (!int.TryParse(...))): Setiap putaran membaca satu baris input dan mencoba mengonversinya; selama konversi gagal,TryParsemengembalikanfalse, tanda!membaliknya menjaditrue, dan isi loop dieksekusi lagi. - Baris 5-7 (isi loop): Program menampilkan pesan kegagalan beserta prompt baru, lalu kembali ke kondisi
whileuntuk menguji ketikan berikutnya. - Baris 9 (
Console.WriteLine(...)): Loop hanya berakhir ketikaTryParseberhasil, sehingga di baris iniangkadijamin berisi angka yang sah.