Wednesday, April 2, 2014

Character dan string pada bahasa pemograman C#

Di dalam bahasa C, Java, dan C# terdapat sebuah tipe data yang bernama char. Berbeda dengan tipe data seperti int dan float yang digunakan untuk menyimpan bilangan / angka, tipe data char digunakan untuk menyimpan huruf atau karakter.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace TipeDataChar
{
    class Program
    {
        static void Main(string[] args)
        {
            char karakter0, karakter1, karakter2, karakter3, karakter4;

            karakter0 = 'A';
            karakter1 = 'e';
            karakter2 = 'v';
            karakter3 = 'z';
            karakter4 = 'q';

            Console.WriteLine("{0}", karakter0);
            Console.WriteLine("{0}", karakter1);
            Console.WriteLine("{0}", karakter2);
            Console.WriteLine("{0}", karakter3);
            Console.WriteLine("{0}", karakter4);
        }
    }
}


Ada perbedaan aturan penulisan antara bilangan/angka dan huruf/karakter. Dalam kode program, kita menuliskan sebuah karakter dengan diapit tanda kutip satu ( ' ). Tanda kutip satu ini untuk membedakan antara karakter '+' dengan operator +, karakter '1' dengan angka 1, dan sebagainya.

American Standard Code For Information InterChange (ASCII)

Komputer tidak dapat mengenali bahasa manusia. Ia hanya dapat mengenali bahasa komputer / mesin. Oleh karena itu, komputer tidak dapat mengenali karakter/huruf yang kita kenal saat ini. Ia hanya dapat mengenali angka-angka.
ASCII adalah kode angka yang di pakai oleh komputer untuk mewakili tiap karakter yang kita kenal. Misalnya: kode dari karakter 'a' adalah 97, kode dari karakter 'b' adalah 98, dan sebagainya. Ketika kita mengisi sebuah variabel bertipe char, nilai yang dimasukan oleh komputer adalah kode ASCII nya. Jadi, perintah karakter = 'a' ; berarti mengisi variabel karakter dengan 97.
Kita dapat memperlakukan karakter sebagai dua tipe, yairu sebagai karakter itu sendiri atau sebagai kode ASCII dari karakter tersebut, Perhatikan contoh potongan program berikut ini :

char karakter;
karakter = 'a';
karakter = karakter + 1;

Pertama-tama, kita mengisi variabel karakter dengan 'a'. Setelah itu, kita menjumlahkan variabel tersebut dengan 1. Ketika komputer melakukan proses penjumlahan, maka isi dari variabel karakter, yaitu 'a', diperlakukan sebagai kode ASCII nya, yaitu 97. Dengan demikian isi variabel karakter saat ini adalah 98.
Jadi, kerika komputer harus melakukan operasi bilangan/angka pada sebuah karakter, maka karakter tersebut akan diperlakukan sebagai kode ASCII nya. Begitu pula sebaliknya, ketika kita melakukan operasi karakter pada sebuah bilangan, maka bilangan tersebut akan diperlakukan sebagai karakter yang diwakili olehnya.

Perhatikan program berikut ini :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CharASCII
{
    class Program
    {
        static void Main(string[] args)
        {
            char c;
            c = 'a';

            Console.WriteLine("Sebagai karakter, variabel c = {0}", c);
            Console.WriteLine("Sebagai bilangan, variabel c = {0},", (int)(c));
        }
    }
}

Kode program tersebut memperlakukan variabel c dengan dua cara yang berbeda. Yang pertama, kita menampilkan variabel c sebagai tipe data char, dan yang kedua kita menampilkan variabel c sebagai bilangan. Oleh karena itu, tampilan yang akan dihasilkan oleh contoh program tersebut adalah :

Pada contoh program di atas terdapat potongan program seperti ini : (int)(c);
Cara penulisan seperti itu di sebut  type casting. Tipe casting adalah memperlakukan sebuah tipe data tertentu sebagai tipe data yang lainnya.

(int)(c)
variable c adalah variabel yang ingin dilakukan tipe casting. variabel c bertipe data char dan ingin diperlakukan sebagai integer. oleh karena itu, didepan variabel c kita berikan tipe data tujuan (int) yang diapit dengan tanda kurung. tidak semua tipe data dapat di casting ke tipe data yang lainnya. Misalkan tipe data char tidak dapat di casting ke tipe data float.

Tipe data string
Tipe data string dipakai untuk menyimpan sekumpulan karakter. Dapat juga dikatakan bahwa string juga menyimpan kata / kalimat. Tidak semua bahasa memiliki tipe data string. Bahasa java dan C# memiliki tipe data string, sedangkan bahasa C tidak memiliki tipe data string, Dalam bahasa C, string dibentuk dari array 1 dimensi bertipe char yang diakhiri dengan karakter '\0' (null). Untuk menampilkan tipe data string pada C#, kita dapat menggunakan fungsi Console.Write().

Untuk meminta input  string pada bahasa C# kita hanya perlu menggunakan fungsi Console.ReadLine(). Berikut ini adalah beberapa hal yang dapat dilakukan pada string di dalam bahasa C# :

1. Property Length
Untuk memeriksa panjang sebuah string
Contoh :

String str;
int panjang;

str = "Halo";
panjang = str.Length;
System.Write("{0}", panjang);

Hasil yang akan di tampilkan :
4

2. Operator Concat (+)
Menggabungkan dua buah string
Contoh :

string str1, str2;

str1 = "ha";
str2 = str1 + "lo";
System.Write("{0}\n{1}", str1, str2 );

Hasil yang ditampilkan:
ha
halo

3. Operator sama dengan (==)
Membandingkan apakah dua buah string sama.
Contoh :

string str1, str2;

str1 = "Halo";
str2 = str1;
if (str2 == "Halo")
      System.Write("Sama");
else
      System,Write("Tidak Sama");

Hasil yang ditampilkan :
Sama