Bab sebelumnya berakhir pada satu masalah: input pengguna selalu berupa string, sementara perhitungan membutuhkan angka. Menjumlahkan teks "20" dengan angka 5 bukan operasi yang sah di C#. Proses mengubah string menjadi tipe lain disebut parsing, dan class pembungkus tipe seperti int serta double menyediakan method Parse untuk tugas itu.

Mengubah String Menjadi Angka #

csharp
string inputUmur = "20";              // contoh hasil Console.ReadLine()
int umur = int.Parse(inputUmur);

Console.WriteLine(umur + 5);

Output yang Dihasilkan:

text
25

Mari kita telaah baris demi baris:

  1. Baris 1 (string inputUmur = "20";): Variabel berisi teks, persis seperti isi Console.ReadLine(), sehingga contoh ini bisa dicoba tanpa mengetik apa pun.
  2. Baris 2 (int umur = int.Parse(inputUmur);): Method int.Parse membaca string, mengenali karakter angka di dalamnya, dan menghasilkan nilai int yang benar-benar bisa dihitung.
  3. Baris 4 (Console.WriteLine(umur + 5);): Karena umur kini bertipe int, operator + menjumlahkan 20 + 5 dan menampilkan 25, bukan menyambung teks.

Parse untuk Tipe Lain #

Pola yang sama berlaku pada tipe numerik dan boolean lain:

csharp
double berat = double.Parse("55.5");
bool setuju = bool.Parse("true");

Console.WriteLine(berat);
Console.WriteLine(setuju);

Output yang Dihasilkan:

text
55.5
True

Apa yang Terjadi saat Parse Gagal #

Method Parse menuntut string yang benar-benar sesuai bentuk tipe tujuannya. String aneh membuatnya melempar exception FormatException:

csharp
try
{
    int angka = int.Parse("dua puluh");  // bukan bentuk angka yang sah
    Console.WriteLine(angka);
}
catch (FormatException)
{
    Console.WriteLine("Input tidak dapat dibaca sebagai angka.");
}

Output yang Dihasilkan:

text
Input tidak dapat dibaca sebagai angka.

Blok try membungkus kode yang berisiko melempar exception. Ketika int.Parse("dua puluh") gagal, eksekusi lompat ke blok catch yang menangkap FormatException dan menjalankan penanganannya, sehingga program tidak berhenti secara mendadak. Pola Parse plus try-catch ini sah, tetapi section berikutnya memperkenalkan cara yang lebih ringkas dan aman untuk input pengguna.