Tampilkan postingan dengan label C#. Tampilkan semua postingan
Tampilkan postingan dengan label C#. Tampilkan semua postingan

Minggu, 07 Juni 2020

, ,

Perulangan for pada C#

Perulangan for pada C#

Sebelumnya saya telah menunjukan bagaimana cara melakukan perulangan (looping) menggunakan while. Kali ini saya akan menunjukkan perulangan (looping) menggunakan for. Syntax perulangan for jauh lebih sederhana dibandingkan dengan perulangan while. Syntax perulangan for adalah:


for ( [pendahuluan] ; [kondisi]; [iterasi] ) {
  [perintah]
}

Blok kode { } bisa juga digantikan dengan satu perintah tunggal sehingga menjadi syntax perulangan for satu baris:


for ( [pendahuluan] ; [kondisi]; [iterasi] ) [perintah tunggal]

Bagian pendahuluan akan dijalankan pertama kali ketika perintah for dijumpai. Setelah pendahuluan dan setiap kali perulangan kembali ke awal, kondisi akan diuji. Perintah di dalam blok perulangan for akan dijalankan jika kondisi bernilai benar, dan perulangan akan berakhir ketika kondisi bernilai salah. Iterasi adalah kode yang akan dijalankan setiap kali perulangan berhasil berputar satu kali.

Berikut adalah contoh perulangan for pada C#:


for (int i = 1; i <= 20; i *= 2) {
  Console.WriteLine(i);
}
Console.ReadKey();

Yang akan menghasilkan :

Looping For

Perulangan for di atas juga dapat dibuat menjadi perulangan for satu baris menjadi:


for (int i = 1; i <= 20; i *= 2) Console.WriteLine(i); Console.ReadKey();

Perulangan for bersarang pada C#

Sama seperti if, fungsi perulangan juga bisa di buat bersarang. sebagai contoh kita bisa membuat segitiga angka menggunakan perulangan for :


int angka = 1;
for (int i = 1; i <= 4; i++)
{
	for (int j = 1; j <= i; j++)
	{
		Console.Write(angka++ + " ");
	}
	Console.WriteLine();
}
Console.ReadKey();

Yang akan menghasilkan :

segitiga angka

Sekian artikel untuk perulangan for pada C# kali ini, semoga bermanfaat 😀.

Continue reading Perulangan for pada C#
, ,

Perulangan while pada C#

Perulangan while pada C#

Pada bagian ini Saya akan menunjukkan cara menggunakan Perulangan (looping) pada C#. Terdapat 3 perintah kondisi pada C#, yaitu while, for dan foreach. masing-masing ada kelebihannya. Kali ini saya akan memperkenalkan perulangan (looping) menggunakan while. Syntax perulangan while pada C# adalah:


while (kondisi) {
  [perintah]
}

Ketika suatu program sampai pada suatu perulangan while, pernyataan di dalam perulangan tersebut akan dijalankan terus menerus selama kondisi bernilai benar. Ketika menggunakan perulangan while, pada umumnya perlu memperhatikan tiga hal: permulaan, kondisi dan iterasi. Sehingga strukturnya menjadi:


[permulaan]
while (kondisi) {
  [perintah]
  [iterasi]
}

Sebagai contoh:


Console.WriteLine("Balapan akan dimulai dalam...");
int hitung = 10;
while (hitung > 0) {
  Console.WriteLine(hitung + "...");
  hitung--;
}
Console.WriteLine("MULAI!!!");
Console.ReadKey();

kode diatas akan menghasilkan

Looping While

Cukup sering kesalahan terjadi pada permulaan, kondisi atau iterasi. Sebagai contoh, cukup mudah untuk lupa menuliskan hitung--; yang akan mengakibatkan perulangan tanpa batas, atau menggunakan kondisi hitung < 0 yang akan mengakibatkan perulangan sama sekali tidak dijalankan. Apabila terjadi perulangan tanpa batas, anda dapat langsung menutup window console, atau klik tombol "stop debugging" pada toolbar atau menekan shortcut: SHIFT + F5.

Perulangan do while pada C#/span>

Perulangan do while hanya berbeda sedikit dari perulangan while. Perulangan do while akan dijalankan paling tidak satu kali karena kondisi perulangan ini terletak pada akhir perulangan. Syntax perulangan do while adalah sebagai berikut:


do {
  [perintah]
} while (kondisi);

Satu satunya perbedaan antara perulangan do while dan perulangan while adalah ketika kondisi awal bernilai salah, yang mana akan mengakibatkan perulangan while dilewatkan sedangkan perulangan do while dijalankan hanya satu kali.

Sekian artikel untuk perulangan while pada C# kali ini, semoga bermanfaat 😀.

Continue reading Perulangan while pada C#

Jumat, 05 Juni 2020

, ,

Kondisi pada C#

Kondisi pada C#

Pada bagian ini Saya akan menunjukkan cara menggunakan kondisi pada C#. Terdapat dua perintah kondisi pada C#, yaitu if dan switch. If lebih sering digunakan. Sebelumnya, Saya akan memperkenalkan operator pembanding / relasi dan operator logika yaitu jenis operator yang paling sering digunakan dengan if:

Operator relasi pada C#

Operator Deskripsi Contoh
== Sama dengan pass == "password"
!= Tidak sama dengan status != "aktif"
> Lebih besar dari umur > 30
>= Lebih besar atau sama dengan umur >= 30
< Kurang dari total < 20
<= Kurang atau sama dengan total <= 30
is Uji tipe data oNilai is Double

Operator logika pada C#

Operator Deskripsi Contoh
&& Kondisi AND IsValid && Authorized
|| Kondisi OR pembelian < 100 || pembelian >= 500
! NOT !angka

Sifat operator logika

a b && ||
True True True True
True False False True
False True False True
False False False False

Operator && akan menghasilkan true jika kedua kondisi bernilai benar. Jika salah satu atau kedua kondisi bernilai salah, operator && akan bernilai salah. Operator || akan menghasilkan true jika salah satu atau kedua sisi bernilai benar. Akan bernilai salah apabila kedua kondisi bernilai salah.

If else pada C#

Terdapat beberapa cara untuk menggunakan kondisi if else. Salah satunya adalah if else satu baris yang telah ditunjukkan pada bagian tipe data. Secara umum, struktur if else adalah sebagai berikut:


if (kondisi1) {
  //Perintah ketika kondisi 1 terpenuhi
} else if (kondisi2) {
  //Perintah ketika kondisi 2 terpenuhi
} else if (kondisi3) {
  //Perintah ketika kondisi 3 terpenuhi
} else {
  //Ketika semua kondisi lain tak terpenuhi, lakukan ini
}

Kondisi-kondisi di atas adalah variabel atau pernyataan boolean. Dan blok else if dan else bersifat opsional.

Contoh IF sederhana pada C#

Sebagai contoh kita akan buat sebuah program console, dengan menggunakan 4 buah input seperti dibawah ini:

Condition - 1

static void Main(string[] args) 
{
	Console.Write("Username : ");
	var userName = Console.ReadLine();
	Console.Write("Password : ");
	var password = Console.ReadLine();
	Console.Write("Konfirmasi Password : ");
	var confPassword = Console.ReadLine();
	Console.Write("Umur : ");
	var Umur = Console.ReadLine();

	Console.ReadLine();
}

Kemudian kita akan cek apakah input untuk username kosong. Jika username kosong, kita meminta user untuk menginput username.


if (userName.Trim() == string.Empty) //cek input kosong atau hanya spasi
{
	Console.WriteLine("Harap isi username");
}

Terdapat beberapa hal baru pada kode di atas:

  • Double slash (garis miring ganda) menyatakan bahwa semua teks di sebelah kanan double slash adalah komentar dan tidak akan dikompilasi.

  • Setiap string memiliki method .Trim() yang membuang semua spasi di awal dan akhir string.

  • string.Empty adalah sinonim dari "" yang merupakan string kosong.

Coba jalankan program dan lihat hasilnya.

Contoh if else pada C#

Berikutnya, coba tambahkan blok else if dan else ke dalam kode:


if (userName.Trim() == string.Empty) //cek input kosong atau hanya spasi
{
	Console.WriteLine("Harap isi username");
}
else if (userName.Length < 5 || userName.Length > 25)
{
	Console.WriteLine("Panjang username harus di antara 5 dan 25 karakter");
}
else if (userName.ToLower() == "fandi")
{
	Console.WriteLine("Username sudah terpakai");
}
else
{
	/* Kode untuk menyimpan data pendaftaran
	* Akan dijelaskan pada saat belajar database
	* Untuk saat ini kita akan membohongi user
	* Dengan mengatakan "Pendaftaran berhasil"
	*/
	Console.WriteLine("Pendaftaran berhasil");
}

Terdapat beberapa hal baru lagi di atas:

  • Setiap string memiliki property .Length yang memberikan jumlah karakter di dalam suatu string.

  • Setiap string memiliki property .ToLower() yang mengkonversi semua huruf di dalam strim menjadi huruf kecil.

  • Semua yang di dalam /* dan */ pada C# adalah komentar multibaris dan tidak akan dikompilasi.

Coba kompilasi dan jalankan program (tekan F5) dan ketikkan beberapa teks ke dalam username. Cobalah nama-nama berikut:

  • agus, program akan menampilkan: Panjang username harus di antara 5 dan 25 karakter.

  • fandi, program akan menampilkan: Username sudah terpakai

  • kennedy, program akan menampilkan: Pendaftaran berhasil

Kesalahan umum pada if else

Salah satu kesalahan umum pada seseorang yang baru mempelajari pemrograman adalah salah meletakkan kode. Sebagai contoh, seorang dapat dengan mudah terjebak membuat kode seperti berikut:


if (userName.Trim() == string.Empty) //cek input kosong atau hanya spasi
{
	Console.WriteLine("Harap isi username");
}
else if (userName.Length < 5 || userName.Length > 25)
{
	Console.WriteLine("Panjang username harus di antara 5 dan 25 karakter");
}
else if (userName.ToLower() == "fandi")
{
	Console.WriteLine("Username sudah terpakai");
}

Console.WriteLine("Pendaftaran berhasil");

Perhatikan bahwa kode untuk menyimpan data ("Pendaftaran berhasil") berada di luar blok if, yang berarti bahwa username apapun akan selalu disimpan, tidak peduli ada peringatan atau tidak. Hanya pernyataan di dalam blok if yang dieksekusi dengan kondisi. Di luar blok if, pernyataan akan selalu dieksekusi.

If else bersarang pada C#

Setelah berhasil menjalankan kode di atas, coba tambahkan validasi password ke dalam blok kode else seperti ditunjukkan di bawah. Perhatikan bahwa telah ditambahkan konfirmasi dan juga Message "Pendaftaran berhasil" telah dipindahkan ke dalam blok else milik validasi password:


if (userName.Trim() == string.Empty) //cek input kosong atau hanya spasi
{
	Console.WriteLine("Harap isi username");
}
else if (userName.Length < 5 || userName.Length > 25)
{
	Console.WriteLine("Panjang username harus di antara 5 dan 25 karakter");
}
else if (userName.ToLower() == "fandi")
{
	Console.WriteLine("Username sudah terpakai");
}
else
{
	if (password.Trim() == "")
	{
		Console.WriteLine("Harap isi password");
	}
	else if (password.Length < 6)
	{
		Console.WriteLine("Password paling tidak harus 6 karakter");
	}
	else if (password != confPassword)
	{
		Console.WriteLine("Konfirmasi password tidak sesuai");
	}
	else
	{
		/* Kode untuk menyimpan data pendaftaran
		* Akan dijelaskan pada saat belajar database
		* Untuk saat ini kita akan membohongi user
		* Dengan mengatakan "Pendaftaran berhasil"
		*/
		Console.WriteLine("Pendaftaran berhasil");
	}
}

Coba jalankan kode dengan berbagai kondisi. Password if di dalam blok else ditujukan untuk demonstrasi if bersarang. Meskipun hal ini dapat dilakukan, akan lebih baik untuk menghindari if bersarang karena if bersarang dapat dengan mudah membingungkan kita.

Alternatif if bersarang

Sekrang coba blok semua code (CTRL + A) kemudian tekan CTRL + K, C untuk mengubah semua code tersebut menjadi komentar dan ketikan code baru seperti dibawah ini: (untuk menghapus komentar, pilih / blok code yang berisi komentar kemudian tekan CTRL + K. U):


//if (userName.Trim() == string.Empty) //cek input kosong atau hanya spasi
//{
//    Console.WriteLine("Harap isi username");
//}
//else if (userName.Length < 5 || userName.Length > 25)
//{
//    Console.WriteLine("Panjang username harus di antara 5 dan 25 karakter");
//}
//else if (userName.ToLower() == "fandi")
//{
//    Console.WriteLine("Username sudah terpakai");
//}
//else
//{
//    if (password.Trim() == "")
//    {
//        Console.WriteLine("Harap isi password");
//    }
//    else if (password.Length < 6)
//    {
//        Console.WriteLine("Password paling tidak harus 6 karakter");
//    }
//    else if (password != confPassword)
//    {
//        Console.WriteLine("Konfirmasi password tidak sesuai");
//    }
//    else
//    {
//        /* Kode untuk menyimpan data pendaftaran
//          * Akan dijelaskan pada saat belajar database
//          * Untuk saat ini kita akan membohongi user
//          * Dengan mengatakan "Pendaftaran berhasil"
//          */
//        Console.WriteLine("Pendaftaran berhasil");
//    }
//}

//Validasi username
if (userName.Trim() == "") { Console.WriteLine("Harap isi username"); return; }
if (userName.Length < 5 || userName.Length > 25) { Console.WriteLine("Panjang username harus di antara 5 dan 25 karakter"); return; }
if (userName.ToLower() == "fandi") { Console.WriteLine("Username sudah terpakai"); return; }

//Validasi password
if (password.Trim() == "") { Console.WriteLine("Harap isi password"); return; }
if (password.Length < 6) { Console.WriteLine("Password paling tidak harus 6 karakter"); return; }
if (password != confPassword) { Console.WriteLine("Konfirmasi password tidak sesuai"); return; }

//Validasi umur
int validatedUmur;
bool umurBenar = Int32.TryParse(Umur, out validatedUmur);
if (!umurBenar) { Console.WriteLine("Harap input umur yang benar"); return; }

//Registrasi
string tipeRegistrasi;
if (validatedUmur < 18) tipeRegistrasi = "Anak anak"; else tipeRegistrasi = "Dewasa";
Console.WriteLine("Pendaftaran " + tipeRegistrasi + " berhasil");

Saya memperkenalkan perintah return pada kode di atas. Perintah return akan mengakhiri eksekusi suatu fungsi, sehingga semua baris setelah perintah return tidak akan dijalankan. Menurut pendapat saya, kode di atas jauh lebih rapi dibandingkan kode if bersarang

Perhatikan juga bahwa pada bagian registrasi, terdapat perintah if satu baris. Pada perintah if else sederhana, lebih baik menggunakan bentuk ini agar dapat lebih mudah membaca dan memahami kode kita sendiri. Jika kita menggunakan if berbentuk blok-blok seperti sebelumnya, kodenya akan tampak seperti:


if (umur < 18) {
  tipeRegistrasi = "Anak anak";
} else {
  tipeRegistrasi = "Dewasa";
}

If berbentuk blok memakan 5 baris kode, sedangkan if satu baris hanya menggunakan satu baris.

Operator ternary pada C#

Ada yang lebih baik lagi. Pada pengisian variabel yang berkondisi, kita dapat menggunakan operator ternary untuk membuat kode kita lebih pendek lagi:


tipeRegistrasi = (umur < 18) ? "Anak anak" : "Dewasa";

Format ternary operator adalah: (kondisi) ? [nilai jika benar] : [nilai jika salah];

Perintah switch pada C#

Perintah switch adalah salah satu struktur kode yang pernah saya gunakan. Hampir selalu, struktur if dapat menggantikan struktur switch. Bentuk perintah switch pada C# adalah:


switch (variabelUji) {
  case [literal 1]:
    //Blok kode 1
    break;
  case [literal 2]:
    //Blok kode 2
    break;
  case [literal 3]:
    //Blok kode 3
    break;
  default:
    //Jika yang lain tidak terpenuhi
    break;
}

Sebagai contoh, buatlah suatu aplikasi console bernama cobaSwitch dan ketikkan kode berikut:


class Program {
  static void Main(string[] args) {
    Console.WriteLine("1. Utara");
    Console.WriteLine("2. Timur");
    Console.WriteLine("3. Barat");
    Console.WriteLine("4. Selatan");
    Console.WriteLine("Ke mana anda akan pergi?");
    string strInput = Console.ReadLine();
 
    int arah;
    bool berupaAngka = Int32.TryParse(strInput, out arah);
    if (!berupaAngka) {
      Console.WriteLine("Input tidak benar");
    } else {
      switch (arah) {
        case 1: Console.WriteLine("Tampak sebuah danau"); break;
        case 2: Console.WriteLine("Tampak sebuah hutan"); break;
        case 3: Console.WriteLine("Tampak sebuah padang rumput"); break;
        case 4: Console.WriteLine("Tampak sebuah gurun"); break;
        default: Console.WriteLine("Arah tidak benar"); break;
      }
    }
    Console.ReadKey();
  }
}

untuk file projectnya kalian bisa download disini

Sekian artikel untuk Kondisi pada C# kali ini, semoga bermanfaat 😀.

Continue reading Kondisi pada C#

Kamis, 04 Juni 2020

, ,

Operator aritmatika pada C#

Operator aritmatika pada C#

Ada banyak operator bawaan pada C# yang dapat dikategorikan ke dalam operator aritmatika, operator penugasan, operator pembanding, operator logika dan operator bitwise. Akan tetapi di sini kita tidak akan membahas semua operator tersebut. Kita hanya akan membahas seperlunya saja. Pertama-tama, saya ingin memperkenalkan operator penugasan yang telah kita gunakan beberapa kali sebelumnya, yaitu operator "=". Kita menggunakan operator ini untuk memberi nilai ke suatu variabel. Sebagai contoh:


int anInt = 30;

Pernyataan di atas akan mengakibatkan anInt menyimpan nilai 30. Berikutnya adalah operator aritmatika, yaitu: 

 sebagai contoh, misalkan kita punya a = 15, b = 10

Operator Keterangan Contoh Hasil
+ Penjumlahan a + b 25
- Pengurangan a - b 5
* Perkalian a * b 150
/ Pembagian a / b 1
% Modulus a % b 5
++ Increment ++a 16
-- Decrement --a 14
- Minus -a -15

Perhatikan bahwa pada contoh pembagian di atas, 15 dibagi 10 seharusnya 1,5. Hal ini benar untuk tipe data double. Akan tetapi pada contoh di atas diasumsikan a dan b adalah integer yang mana akan membulatkan ke bawah setiap bilangan pecahan positif. Terdapat prioritas dalam operator-operator di atas. Operator increment, decrement dan minus akan dihitung duluan, kemudian baru modulus, perkalian dan pembagian, terakhir barulah operator pengurangan dan penjumlahan. Jika perlu untuk mengubah urutan eksekusi, tanda kurung dapat digunakan. Di bawah ini adalah contoh sederhana operasi aritmatika:


double harga = 32;
double diskon = 0.2; //20% off
double hargaDiskon = harga - (harga * diskon);
 
Console.WriteLine("Harga dasar: " + harga);
Console.WriteLine("Diskon     : " + diskon * 100 + "%");
Console.WriteLine("Harga      : " + hargaDiskon);
//Harga dasar: 32
//Diskon     : 20%
//Harga      : 25.6
 
Console.ReadKey();

Hasil perhitungan hargaDiskon sesungguhnya akan tetapi sama meskipun tanpa tanda kurung. Akan tetapi seringkali, lebih mudah untuk menggunakan tanda kurung daripada harus meninjau kembali urutan prioritas operator. Pernyataan yang bersangkutan juga akan lebih mudah dibaca dengan menyertakan tanda kurung. Perhatikan bahwa tanda "+" di dalam metoda Console.WriteLine bukanlah operator aritmatika, melainkan operator penyambungan string. Ketika + digunakan di antara angka, ia menjadi operator aritmatika, akan tetapi ketika digunakan di antara string dengan tipe data apa saja, ia menjadi operator penyambungan string.

Terdapat juga operator yang di sebut operator majemuk. Terkadang kita ingin menambahkan sesuatu ke nilai yang sebelumnya, sebagai contoh, kita ingin menaikkan harga menjadi 34, kita dapat menuliskan harga = harga + 2; Tetapi dengan operator majemuk, kita cukup menuliskan harga += 2; yang akan menghasilkan hasil yang sama. Operator-operator majemuk antara lain:

sebagai contoh jika a = 15

Operator Keterangan Contoh Hasil
+= Penambahan dan pengisian a += 30 45
-= Pengurangan dan pengisian a -= 3 12
*= Perkalian dan pengisian a *= 5 75
/= Pembagian dan pengisian a /= 5 3
%= Modulus dan pengisian a %= 6 3

Sekian artikel untuk Operator aritmatika pada C# kali ini, semoga bermanfaat 😀.
Continue reading Operator aritmatika pada C#
, ,

Tipe data pada C#

Tipe data pada C#

Banyak sekali tipe data pada C#, tapi hanya beberapa tipe data yang paling sering digunakan yaitu:

  • int, digunakan untuk menyatakan suatu bilangan bulat, positif maupun negatif, sebagai contoh jumlah murid dalam satu kelas.

  • double, digunakan ketika kita perlu menyatakan suatu bilangan pecahan, misalkan nilai, harga atau berat. Akan tetapi, double adalah data dengan ketelitian 15-16 digit. Sehingga terkadang tipe data float dengan ketelitian 7 digit lebih disukai untuk contoh contoh tadi, dengan alasan menghemat memori.

  • string, digunakan ketika menyatakan sekumpulan karakter, baik itu nama, kalimat, password ataupun kode. String sesungguhnya merupakan suatu array dari char.

  • bool, bernilai true atau false. Paling sering digunakan untuk menyatakan suatu kondisi, misalnya IsEnabled, IsVisible, SedangHujan, SedangLapar, dan lain lain.

  • object, adalah class dasar dari semua tipe data dalam C#. Digunakan untuk menyatakan tipe data yang tidak pasti.

Tipe-tipe data lainnya adalah:

  • Mirip dengan int: sbyte, short, long, untuk tipe bertanda, byte, ushort, uint, ulong untuk tipe yang tak bertanda

  • Mirip dengan double: float dan decimal

  • char, untuk menyimpan satu karakter

Konversi tipe data antar angka pada C#

Terkadang kita dapat langsung mengisi nilai antar tipe data yang berbeda. Misalnya jika kita mengisi suatu nilai dari int ke variabel long, tidak ada perintah khusus yang dibutuhkan. Jika kita mengisi tipe data yang lebih kecil ke tipe data yang lebih besar, C# akan secara implisit mengkonversi nilai tersebut. Akan tetapi jika tipe data yang lebih besar diisi ke tipe data yang lebih kecil, diperlukan konversi tipe data. Sebagai contoh:


int anInt = 10;
long aLong = 2000000000;
long luarBatas = 3000000000;
//3 milyar, melebihi batas int
 
anInt = (int)aLong;
Console.WriteLine(anInt);
//Akan tampil 2000000000
 
anInt = (int)luarBatas;
Console.WriteLine(anInt);
//Akan tampil -1294967296
 
Console.ReadKey();

Penting untuk diketahui, jika suatu tipe data yang lebih besar dikonversi ke tipe data yang lebih kecil, dapat terjadi kehilangan data. Hal-hal ini juga berlaku ketika mengkonversi antara tipe data bilangan bulat dengan tipe data floating point. Selalu ingat bahwa berkurangnya ketelitian dapat terjadi.

Konversi tipe data string pada C#

Tipe yang paling banyak digunakan untuk input, output dan penyimpanan sebetulnya adalah string. Untuk mengkonversi tipe data apapun ke string sesungguhnya cukup sederhana karena setiap tipe data di C# memiliki metode ToString(). Sebagai contoh:


bool AdaMatahari = true;
int angka = 15;
double pecahan = 70.88;
 
Console.WriteLine(AdaMatahari.ToString()); //True
Console.WriteLine(angka.ToString());   //15
Console.WriteLine(pecahan.ToString()); //70.88
 
Console.ReadKey();

Di sisi lain, agak sulit mengkonversi dari string ke tipe lain. Semua tipe data numerik memiliki metoda Parse dan TryParse. Kita menggunakan ini untuk mengkonversi string ke tipe data numerik. Kita menggunakan Parse ketika kita SANGAT yakin mengenai string yang bersangkutan, ketika kita tidak yakin, kita gunakan TryParse. Sebagai contoh:


bool AdaMatahari = true;
int angka = 15;
double pecahan = 70.88;
 
Console.WriteLine(AdaMatahari.ToString()); //True
Console.WriteLine(angka.ToString());   //15
Console.WriteLine(pecahan.ToString()); //70.88
 
Console.ReadKey();

Coba masukkan "True" atau "FaLsE" pada prompt pertama, dan input yang valid pada prompt kedua dan ketiga. Program akan mengeluarkan kembali input yang diterima. Kemudian coba masukkan string yang bukan boolean ke dalam prompt pertama, akan terjadi runtime error. Dan terakhir, coba input string yang bukan angka pada prompt ketiga, program akan dengan rapi menampilkan "Tolong input suatu angka". Perlu diperhatikan bahwa runtime error pada saat debugging berarti Critical Error pada software yang sudah jadi. Hal ini harus dihindari semampunya.

Literal pada C#

Istilah literal atau literal constant merujuk pada suatu nilai pada program yang tidak dapat diubah. Kita menggunakan literal untuk menyatakan nilai-nilai. Literal-literal pada C# dijelaskan dalam tabel di berikut:

Tipe data Literal Contoh
bool true atau false true
int Bilangan bulat 0, -200, 87329
int Awalan 0x untuk menyatakan bilangan heksadesimal 0xF, 0xaeaeae
double Bilangan pecahan dengan titik untuk menyatakan koma 72.59034
double e untuk menyatakan pangkat sepuluh 6.02e23, 1.602e-19
string Karakter-karakter yang diapit oleh petik dua "6f8c11# ^_^ <3"
char Satu karakter yang diapit oleh petik satu 'K'

Untuk tipe data string, terdapat karakter karakter yang tidak dapat diketik langsung ke dalam petik dua. Untuk mewakili karakter-karakter tersebut, digunakan escape sequences. Escape sequence yang umum digunakan antara lain:

Escape Sequence Karakter yang diwakili
\' Single quote
\" Double quote
\\ Backslash
\0 Null, not the C# null value
\a Bell
\b Backspace
\f Form feed
\n Newline
\r Carriage Return
\t Horizontal Tab
\v Vertical Tab

Sebagai contoh apabila kita ingin menampung mysql < "path\ke\file\sqldump" ke dalam suatu string: string command = "mysql < \"path\\ke\\file\\sqldump\"";

Batas nilai tipe-tipe data numerik pada C#

Bagian ini tidak terlalu penting, jika Anda lebih menghargai waktu dibanding pengetahuan, lewati bagian ini. Salah satu alasan untuk menggunakan tipe data lainnya adalah karena batasan nilai. Batasan nilai pada tiap tipe data di C# dipaparkan pada tabel berikut:

Tipe data Penjelasan Batas Nilai
sbyte Bilangan bulat 8 bit bertanda −128 sampai 127
short Bilangan bulat 16 bit bertanda −32,768 sampai 32,767
int Bilangan bulat 32 bit bertanda −2,147,483,648 sampai 2,147,483,647
long Bilangan bulat 64 bit bertanda −9,223,372,036,854,775,808 sampai 9,223,372,036,854,775,807
byte Bilangan bulat 8 bit tak bertanda 0 sampai 255
ushort Bilangan bulat 16 bit tak bertanda 0 sampai 65,535
uint Bilangan bulat 32 bit tak bertanda 0 sampai 4,294,967,295
ulong Bilangan bulat 64 bit tak bertanda 0 sampai 18,446,744,073,709,551,615
float Floating point berketelitian 7 digit ±1.5e−45 sampai ±3.4e38
double Floating point berketelitian 15-16 digit ±5.0e−324 sampai ±1.7e308
decimal Bilangan dengan 28-29 angka penting (-7.9 x 1028 sampai 7.9 x 1028) / (100 to 28)

Bilangan bulat bertanda sesungguhnya menggunakan 1 bit dari ukuran data mereka untuk menyatakan tanda (negatif atau positif). Itulah kenapa batas nilai positif dari tipe tak bertanda dua kali lebih besar dari tipe yang bertanda dengan ukuran data yang sama. Akan tetapi bilangan bulat bertanda sudah jarang digunakan kecuali ketika berurusan dengan antarmuka hardware, pengolahan citra, atau pemrograman tingkat rendah lainnya. Dan juga, saya sarankan hindari menggunakan tipe data decimal karena tipe data ini tidak lazim pada bahasa pemrograman yang lain.

Sekian artikel untuk Tipe data pada C# kali ini, semoga bermanfaat 😀.

Continue reading Tipe data pada C#

Rabu, 03 Juni 2020

, ,

Variabel pada C#

Variabel pada C#

Suatu variabel hanyalah suatu tempat untuk menampung data atau nilai di dalam program. Di dalam dunia pemrograman, setiap variabel memiliki tipe data dan dalam kebanyakan bahasa pemrograman, termasuk C#, tipe data suatu variabel ditentukan ketika variabel tersebut dinyatakan atau diisi.

Ketentuan dalam mendefinisikan variabel

Kita bebas dalam menamakan variabel sesuai kehendak kita, namun tetap ada ketentuan dalam mendefinisikan yaitu:

  • Pertama awalan variable tidak boleh angka.

  • Kedua tidak boleh mengandung karakter khusus seperti $, #,%,+,- dan sebagainya.

  • Ketiga tidak boleh ada variabel yang memiliki spasi seperti "na ma".

Jadi kesimpulannya gunakan nama variabel yang aman seperti; nama, nama1, nama_ , nama_depan.

Terdapat beberapa cara untuk mendeklarasikan variabel:

  • [tipe data] [identifier];

  • [tipe data] [identifier] = [nilai];

  • [tipe data] [identifier 1], [identifier 2], [identifier N];

  • [tipe data] [identifier 1] = [nilai 1], [identifier 2] = [nilai 2], [identifier N] = [nilai N];

Sebagai contoh

  • int jumlahSemuaBarang;

  • string namaPelanggan = "Fandi";

  • double harga1, harga2, harga3;

  • int jumlah1 = 10, jumlah2 = 7, jumlah3 = 12;

Contoh pertama dan ketiga di atas hanya menyatakan variabel saja, tidak memberikan nilai apapun untuk variabel variabel tersebut. Jika suatu variabel kosong dibaca oleh program, akan terjadi runtime error. Variabel-variabel kosong seperti ini harus diberi nilai sebelum dibaca. 

Tipe-tipe data yang digunakan di atas adalah tipe data yang paling sering digunakan, int adalah bilangan bulat, string adalah kumpulan karakter, dan double adalah bilangan real. Kita akan belajar mengenai tipe data pada bagian selanjutnya dari tutorial ini.

Sekian artikel untuk Variabel pada C# kali ini, semoga bermanfaat 😀.

Continue reading Variabel pada C#
, , ,

Hello World C#

Memulai menulis program C#

Dalam menulis suatu program C# selalu ingat lima struktur dasar pada artike sebelumnya, karena bila ada salah satu struktur yang tidak ada maka kemungkinan besar terjadi error pada program kita 😲, namun untuk namespace biasanya setiap IDE akan otomatis menambahkannya pada kode kita.

Membuat Aplikasi Baru

Untuk membuat aplikasi baru pada Visual Studio, cukup klik "New Project..." pada halaman awal atau klik File > New > Project... pada menubar. Akan muncul sub window seperti berikut:

New Project

Pertama tama, pastikan kalian memilih Visual C# pada panel di sebelah kiri, kemudian pilih "Windows Forms Application" atau "Console Application" pada panel tengah. Saya sarankan untuk mencentang "Create directory for solution" agar lebih mudah mengelola file-file program apabila diperlukan. Terakhir, beri nama project sepertlunya dan tentukan lokasi penyimpanan file project. Tekan OK dan kita akan siap untuk membuat kode. 

Solution Explorer

Ketika membuat suatu project baru berarti kita telah membuat beberapa file sekaligus menggunakan Visual Studio pada lokasi yang telah kita pilih. Kalian dapat mengelola file dalam Visual Studio menggunakan panel Solution Explorer. Panel ini biasanya terletak di bagian kanan window Visual Studio. Apabila panel ini tidak tampak atau tertutup, kita selalu dapat menampilkan panel tersebut menggunakan menubar: View > Solution Explorer, atau shortcutnya CTRL + W, S.


Solution Explorer

Secara otomatis Visual Studio akan memberikan beberapa baris code sebagai berikut:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
        }
    }
}

Terdapat beberapa komponen pada kode di atas:

  • static void Main, "Main" adalah suatu Method (metoda) yang akan dijalankan saat program dijalankan. Ini adalah titik awal dari semua program C#. Sedangkan static dan void adalah keyword yaitu kata-kata khusus pada visual studio yang akan dijelaskan pada tutorial-tutorial berikutnya. Jangan hiraukan kata-kata tersebut pada saat ini..

  • class Program. "Program" adalah nama dari class kita. Class adalah tempat dimana kita meletakkan konsep-konsep pemikiran kita. Kita dapat memberi nama class kita apa saja yang kita mau, biasanya suatu kata yang bermakna. Tetapi biarkan saja nama tersebut untuk saat ini.

  • Namespace, adalah istilah dari Microsoft yaitu suatu nama yang menampung banyak class. Kita mungkin tidak akan membahas mengenai namespace di sepanjang tutorial kita. Cukup biarkan saja kode program bagian ini.

  • Pernyataan using, empat baris pertama pada kode di atas menyatakan bahwa program kita akan menggunakan namespace yang disebutkan di situ. Kita tidak akan bermain dengan bagian ini dalam waktu dekat, jadi tidak perlu dipikirkan. Hampir selalu, kita biarkan saja bagian ini.

Orang yang bukan programmer mungkin tidak tahu, akan tetapi hampir setiap kali seorang programmer belajar bahasa pemrograman baru, ia akan mencoba menampilkan tulisan "Hello World" pada layar sebagai program pertamanya. Jadi, mari kita say hello sekarang 😁. Untuk menyelesaikan program Hello World kita, kita tambahkan dua baris kode ke dalam kurung kurawal static void Main seperti berikut:


static void Main(string[] args)
{
    Console.WriteLine("Hello World");
    Console.ReadKey();
}

Baris pertama Console.WriteLine("Hello World"); menampilkan tulisan Hello World ke Console (command prompt). Cukup dengan baris ini saja, program di atas sudah menjadi program Hello World. Akan tetapi apabila hanya dengan baris itu, window console akan tertutup secara otomatis setelah menampilkan tulisan "Hello World". Oleh karena itu kita tambahkan Console.ReadKey(); setelah baris hello world untuk menjeda program sehingga kita dapat melihat output pada console. Penting untuk diketahui bahwa perintah-perintah pada program dieksekusi baris per baris secara berurutan, sehingga perintah WriteLine akan dilaksanakan sebelum ReadKey. Setiap baris program pada C# diakhiri dengan tanda titik koma. Untuk menjalankan program, kita dapat melakukan:

  • Tekan tombol F5, atau

  • Klik tombol panah ke kanan berwarna hijau pada toolbar, atau

  • Klik Debug > Start Debugging pada menubar.

Visual Studio akan mengkompilasi (menerjemahkan source code program ke bahasa mesin) program dan akan muncul window command prompt pada layar dengan tulisan "Hello World" di dalamnya. Tekan sembarang tombol untuk keluar dari program.

Sekian untuk Pembuatan Program Hello World menggunakan bahasa C# kali ini, semoga bermanfaat 😀.

Continue reading Hello World C#