Tuesday, November 28, 2017

Array, Class, Method, dan Event pada Bahasa C#


Memahami Bahasa Pemrograman tentulah tidak mudah, namun apabila kita adalah seorang yang selalu pengen tahu dan suka sekali mengeksplor kemampuan diri, belajar Bahasa pemrograman sangatlah menyenangkan, karena di sini lah kita bisa menemukan berbagai tantangan. Nah kali ini kita akan membahas tentang Array, Class, Method, dan Event pada Bahasa Pemrograman C#. Apa itu Array? Apa itu Method ? Apa itu Class dan Event ? Apa fungsi dari mereka semua ? Mari kita akan bahas disini.



Array Bahasa C#

Array pada umumnya merupakan variabel yang dapat menampung banyak nilai sekaligus. Array dideklarasikan dengan tipe data diikuti dengan sepasang kurung siku. Di seluruh Bahasa pemrograman, array tidak ada bedanya. Berikut merupakan contoh Array :






Deklarasi array di atas hanya menghasilkan variabel array kosong. Untuk memberi nilai awal pada array, lakukan salah satu dari cara berikut:




Contoh pertama membuat 5 int kosong, sedangkan contoh kedua membuat array dengan ukuran 3 dan langsung menugaskan nilai-nilai kepada elemen-elemen array tersebut. Contoh ke tiga menunjukkan versi lain dari contoh ke dua yang mengabaikan keyword "new". Contoh ke tiga juga menunjukkan bahwa kita dapat menugaskan nilai bertipe apa saja kepada suatu objek. Pada contoh ke tiga, kita menugaskan double, string, DateTime, bool dan char sekaligus ke dalam array object tersebut.



Class pada C#

Kita mendefinisikan class di dalam namespace pada C#. Untuk mendefinisikan suatu class sederhana, kita tuliskan dalam namespace:

 [access modifier] class [nama class] {
    //Member-member pada class
}

Access modifiers pada C# akan dijelaskan terakhir pada bagian ini. Untuk sekarang, cukup gunakan public untuk semua class. Sebagai contoh, kita dapat membuat class Mobil sebagai berikut:

namespace Belajar1 {
  class Program {
    static void Main(string[] args) {
       
    }
  }

  public class Mobil {
    public double kecepatan;
    public double bensin;
    public double posisi;
    public string nama;

    public void percepat() {
      this.kecepatan += 10;
      this.bensin -= 5;
    }
    public void maju() {
      this.posisi += this.kecepatan;
      this.bensin -= 2;
    }
    public void isiBensin(double bensin) {
      this.bensin += bensin;
    }
  }
}



Perhatikan bahwa class Mobil berada di dalam namespace Belajar1 setingkat dengan class Program (dalam hal level kurung kurawalnya). Di sini kita telah melakukan proses abstraksi. Pada class Mobil di atas, kecepatan, bensin, posisi dan nama adalah fields, sedangkan percepat, maju dan isiBensin adalah method. Field, Property dan Mehtod akan dijelaskan lain kali.



Method pada C#

Method adalah sekumpulan pernyataan yang akan dijalankan ketika dipanggil. Untuk mendefiniskan suatu method pada C#:

[Access modifier] [tipe data] [nama method] (parameter1, parameter2, ...) {
    //Kumpulan perintah
}

Dari struktur di atas:

Access modifier, untuk saat ini, gunakan saja access modifier public.

Tipe data, bisa berupa void atau tipe data C# lainnya, termasuk enum atau class custom. Merupakan tipe data yang dihasilkan method.

Nama method, berupa suatu identifier yang valid.

Parameter, sekumpulan variabel pada method untuk berkomunikasi dengan program di luar method. Method juga bisa tidak memiliki parameter.

Kumpulan perintah, perintah perintah yang akan dijalankan ketika method dipanggili.

Suatu method harus ditempatkan di dalam suatu class, Method adalah salah satu bentuk dari member suatu class. Suatu method dipanggiil / dijalankan dengan menuliskan namanya.

Method void

Suatu method void adalah suatu method yang hanya menjalankan sekumpulan perintah dan tidak menghasilkan suatu nilai (Tetapi masih dapat menampilkan sesuatu ke layar). Sebagai contoh:

namespace Belajar2 {
  class Program {
    static void Main(string[] args) {
      ContohMethod met = new ContohMethod();
      met.Pemisah(); //Akan menampilkan pemisah
    }
  }

  public class ContohMethod {
    public void Pemisah() {
      Console.WriteLine("----------------------");
      Console.WriteLine("----------------------");
    }
  }
}

Perintah return pada C#

Pada method void, suatu perintah return akan mengakhiri suatu method seperti yang telah dijelaskan sebelumnya di bagian kondisi pada C#. Bagi method dengan tipe data selain void, perintah return harus menyertakan suatu nilai dengan tipe data yang sama dengan tipe data method yang bersangkutan. Pada class ContohMethod, tambahkan method berikut:

public void TampilBilanganRandom() {
  Random r = new Random();
  int angka = r.Next(1, 50);
  if (angka > 25) {
    Console.WriteLine("Terlalu panjang");
    return;
  }
  for (int i = 1; i <= angka; i++) Console.Write(i + " ");
  Console.WriteLine();
}

Jangan lupa panggil method tersebut pada method Main pada class Program.

static void Main(string[] args) {
  ContohMethod met = new ContohMethod();

  met.TampilBilanganRandom();
  met.Pemisah();

  Console.ReadKey();
}

Method tersebut akan menampilkan sederet angka jika angka random lebih kecil dari 25. Selain itu, ia hanya akan menampilkan "Terlalu panjang". Tanpa perintah return, kode di atas masih akan terus menampilkan angka angka setelah menampilkan "Terlalu panjang". Tetapi dengan perintah return, aliran program akan keluar dari method dan sisa kode pada method tersebut akan diabaikan. Jika tipe data method bukan void, perintah return harus menyertakan suatu nilai yang akan menjadi nilai method tersebut. Sebagai contoh, tambahkan method berikut ke dalam class Contoh Method:

public int GaussianRandom() {
  Random r = new Random();
  int angka1 = r.Next(0, 10);
  int angka2 = r.Next(0, 10);
  int angka3 = r.Next(0, 10);
  return angka1 + angka2 + angka3;
}

Untuk mencoba method tersebut, tambahkan pemanggilan method GaussianRandom pada method Main, sehingga kodenya menjadi:

static void Main(string[] args) {
  ContohMethod met = new ContohMethod();

  met.TampilBilanganRandom();
  met.Pemisah();
  Console.WriteLine(met.GaussianRandom());
  met.Pemisah();

  Console.ReadKey();
}

Topik mengenai random Gaussian berada di luar pembahasan kita. Anggap saja sebagai bentuk lain dari random. Suatu method dengan nilai return sebaiknya digunakan seperti suatu variabel seperti ditunjukkan pada kode di atas.

Parameter method pada C#

Suatu method dapat mejadi lebih interaktif dengan parameter. Sebagai contoh:

public int Max(int a, int b) {
  if (a > b) return a; else return b;
}

Contoh perintah yang menggunakan method di atas sebagai berikut:

Console.WriteLine("Antara 2 dan 10, " + met.Max(2, 10) + " lebih besar");

Parameter optional pada C#

Parameter optional / pilihan, berarti nilai untuk parameter yang bersangkutan dapat disertakan atau tidak disertakan. Kita dapat mengubah method Max di atas agar dapat membandingkan dua atau tiga nilai sekaligus:

public int Max(int a, int b, int c = Int32.MinValue) {
  int max1 = (a > b) ? a : b;
  return (c > max1) ? c : max1;
}

Sekarang, kita masih dapat menggunakan method tersebut dengan hanya dua parameter, tetapikita juga dapat menggunakan method tersebut dengan tiga parameter:

Console.WriteLine("Antara 2 dan 10, " + met.Max(2, 10) + " lebih besar");
Console.WriteLine("5, 8, dan 7, yang terbesar adalah: " + met.Max(5, 8, 7));

Untuk mendeklarasikan parameter opsional, kita cukup memberi nilai default kepada parameter yang bersangkutan. Pada contoh di atas, variabel c diberi nilai terkecil pada int, sehingga tidak akan mempengaruhi hasil perbandingan ketika hanya dua parameter yang diberikan. Perlu diketahui bahwa parameter-parameter opsional harus diletakkan sebagai parameter-parameter terakhir.

Method overloading pada C#

Jika Anda mencoba memasukkan double sebagai parameter untuk method Max di atas, akan timbul error. Kita dapat membuat method lain dengan nama yang sama yang menerima parameter yang berbeda. Sebagai contoh:

public double Max(double a, double b, double c = double.MinValue) {
  double max1 = (a > b) ? a : b;
  return (c > max1) ? c : max1;
}

Dengan begitu, method Max kita sudah mendukung tipe data double.

Parameter referensi pada C#

Suatu parameter sederhana yang dimasukkan ke dalam suatu method nilainya akan tetap meskipun diubah di dalam method. Sebagai contoh:

public void tukar(int a, int b) {
  int sementara = a;
  a = b;
  b = sementara;
}

Jika kita gunakan method di atas:

int a = 1000;
int b = 50;
met.tukar(a, b);
Console.WriteLine(a); //masih 1000

Program masih akan menampilkan 1000. Akan tetapi apabila kita menyatakan parameternya sebagai referensi:

public void tukar(ref int a, ref int b) {
  int sementara = a;
  a = b;
  b = sementara;
}

Dan menggunakan methodnya juga dengan kata kunci ref:

int a = 1000;
int b = 50;
met.tukar(ref a, ref b);
Console.WriteLine(a); //Menampilkan 50

Program akan menampilkan 50 yang semulanya merupakan nilai variabel b. Perlu diketahui juga bahwa variable yang dideklarasikan di dalam suatu method akan hilang begitu alur program keluar dari method.

Parameter out pada C#

Parameter Out menyediakan cara lain untuk menugaskan nilai ke suatu variabel menggunakan method. Sebagai contoh:

public bool Kelipatan3(int a, out int terdekat) {
  int mod = a % 3;
  terdekat = (mod == 2) ? a + 1 : a - mod;
  if (mod == 0) return true; else return false;
}

Method di atas sesungguhnya menghasilkan dua output. Pertama adalah menentukan apakah angka yang bersangkutan merupakan kelipatan 3 atau bukan. Kedua, method tersebut juga menghasilkan faktor kelipatan 3 yang paling dekat dengan angka tersebut. Untuk menggunakan method tersebut:

int angka = 7;
int terdekat;
bool BerupaFaktor = met.Kelipatan3(angka, out terdekat);
if (BerupaFaktor) Console.WriteLine(angka + " adalah kelipatan 3");
else Console.WriteLine(angka + " bukan kelipatan 3. Kelipatan terdekat: " + terdekat);

Method rekursif pada C#

Suatu method dapat dipanggil dari method lain pada class yang sama yang bukan method static (method static akan dijelaskan segera). Sebagai contoh:

public void PemisahBesar() {
  for (int i = 1; i <= 5; i++) Pemisah();
}
Method yang memanggil dirinya sendiri di dalam dirinya disebut method rekursif. Sebagai contoh:
public int faktorial(int n) {
  if (n <= 1) return 1;
  return faktorial(n - 1) * n;
}

Silahkan coba panggil method di atas dengan perintah Console.WriteLine("Factorial of 5: " + met.factorial(5));. Program akan menampilkan 120 ke layar. Nilai 120 berasal dari:

faktorial(5)

faktorial(4) * 5

faktorial(3) * 4 * 5

faktorial(2) * 3 * 4 * 5

faktorial(1) * 2 * 3 * 4 * 5

1 * 2 * 3 * 4 * 5

120

Method static pada C#

Method static adalah method yang dapat diakses tanpa meng-instantiate (membuat objek) suatu class. Method static dapat dipanggil langsung dari class. Karena ia dapat dipanggil tanpa meng-instantiate classnya, kata kunci "this" tidak dapat digunakan di dalam method static. Class static juga tidak dapat memanggil method yang lain yang berada pada class yang sama tanpa meng-instantiate class tersebut, terkecuali method yang dipanggil juga suatu method static.

Kita sebetulnya dapat membuat method-method lain selain method Main pada class Program kita. Tetapi kita tidak akan bisa memanggil method tersebut dalam method main apabila method tersebut bukan method static. Method static seperti method Main hanya dapat memanggil method static lain di dalamnya. Sebagai contoh, buat method berikut pada class Program:

public static void Ulang(char karakter, int jumlah) {
  for (int i = 1; i <= jumlah; i++) Console.Write(karakter);
  Console.WriteLine();
}

Dan panggil method tersebut pada method Main:

Ulang('*', 30);

Program akan menampilkan karakter bintang 30 kali. Apabila kita mendeklarasikan method di atas pada class ContohMethod, kita memanggil method tersebut dengan cara:

ContohMethod.Ulang('*', 30);



Event pada Bahasa C#

       Event merupakan salah satu bagian komponen yang terdapat di dalam properties pada IDE Microsoft Visual C#. Tanpa adanya bantuan Event, mungkin program aplikasi yang kita buat tidak akan bisa berjalan. Lantas, apa sih sebenarnya Event itu ? Event adalah sebuah perintah atau kejadian yang akan di eksekusi oleh program saat algoritma baris code yang kita buat di jalankan oleh user. Sebenarnya tanpa di sadari, kita telah sering mengeksekusi sebuah event yang ada di dalam program aplikasi. Sebagai contoh, saat kita mengoperasikan Microsoft Word. Tentu semua tahu donk.... software yang satu ini. hehe Pada saat kita membuka sebuah dokumen dan hendak ingin menutup dokumen tersebut kadang muncul sebuah message window. "Do you want to save change........" Nah, itulah salah satu bentuk event yang tanpa disadari telah dijalankan oleh kita sebagai user. Contoh lain penggunaan event adalah saat kita hendak membuka dokumen itu sendiri, dengan menekan kombinasi tombol shortcut Ctrl+O atau melalui menu File --> Open, kita telah mengeksekusi sebuah perintah yaitu berupa event click. 

Sekian pembahasan tentang Array, Method, Class dan Event pada Bahasa C, Selamat belajar bahasa C# !

Monday, October 2, 2017

Belajar Pemrograman C# : Tutorial Dasar Pemrograman C#

Apa Itu C# ?


Sebelum kalian mulai membuat program dengan menggunakan Bahasa C#, apakah kalian tahu apa itu C# ? C# atau yang dibaca C sharp adalah bahasa pemrograman sederhana yang digunakan untuk tujuan umum, dalam artian bahasa pemrograman ini dapat digunakan untuk berbagai fungsi misalnya untuk pemrograman server-side pada website, membangun aplikasi desktop ataupun mobile, pemrograman game dan sebagainya. Selain itu C# juga bahasa pemrograman yang berorientasi objek, jadi C# juga mengusung konsep objek seperti inheritance, class, polymorphism dan encapsulation.
Dalam prakteknya C# sangat bergantung dengan framework yang disebut .NET Framework, framework inilah yang nanti digunakan untuk mengcompile dan menjalankan kode C#. C# dikembangkan oleh Microsoft dengan merekrut Anders Helsberg. Tujuan dibangunnya C# adalah sebagai bahasa pemrograman utama dalam lingkungan .NET Framework. Banyak pihak juga yang menganggap bahwa Java dengan C# saling bersaing, bahkan ada juga yang menyatakan jika pernah belajar Java maka belajar C# akan sangat mudah dan begitu juga sebaliknya. Anggapan tersebut sebenarnya tidak salah karena perlu diketahui sebelum adanya C# Microsoft mengembangkan J++ dengan maksud mencoba membuat Java agar berjalan pada platform Windows, karena adanya masalah dari pihak luar maka Microsoft menghentikan proyek J++ dan beralih untuk mengembangkan bahasa baru yaitu C#.

Struktur Program C#

Struktur C#
Pada gambar di atas kita dapat melihat beberapa bagian dalam Visual Studio. Buat yang masih pemula, yuk kita pelajari dulu satu per satu biar lebih jelas.
  • Using
  • Namespace
  • Class
  • Sebuah metode Main (Utama)
  • Pernyataandan Ekspresi
 Untuk lebih detailnya, lihat sintaks berikut :
Struktur Program C#
Dari gambar di atas, kita bisa melihat secara detail struktur Console Aplication. Di bagian awal, kita dapat menemukan bagian yang dimulai dengan kata using. Yang menunjukkan bahwa keyword using digunakan untuk memanggil class library yang dibutuhkan aplikasi (Intinya, using ini dibutuhkan untuk membuat aplikasi console, #harus ada). Pada gambar di atas, ada 3 baris yang menggunakan using.
using System;
using System.Collections.Generic;
using System.Text;
Apabila kita ingin menambah class database (menggunakan: using System.Data, maka kita bisa menambahkan dibawahnya. Sebuah program umumnya memiliki beberapa pernyataan using, tergantung kebutuhan program yang dimaksud.

Namespace
Selanjutnya, di awal program, kita bisa lihat koding diawali dengankeyword namespace. Ini menunjukkan bahwa perintah menyatakan aplikasi kita atau lebih dikenal dengan paket program. Kita juga harus memperhatikan bahwa satu blok harus diawali tanda kurung kurawal ( { } ).
Dalam visual studio contohnya seperti ini :
namespace Project1
<tanda awal
                Isi codingan dalam namespace
<tanda akhir

Class
Setelah namespace, ada class yang berada di dalam namespace. Class merupakan bagian terpenting dalam pemrograman C# karena pada intinya pemrograman berorientasi objek menggunakan struktur class. Sama dengan namespace, class juga diawali dan di akhiri dengan tanda kurung kurawal ( { } ).
class Program
{
static void Main(string[] args)
{
}
}
Sebuah metode Main (Utama) 
Pada C# kita aka melihat kode program static void Main(string[] args). Ini menunjukkan perintah utama pada program. Sama halnya dengan namespace dan class, program utama ini juga diawali dan di akhiri dengan tanda kurung kurawal ( { } ).
Contohnya seperti di bawah ini:
static void Main(string[] args)
{
Isi program utama
}
Langkah selanjutnya untuk memulai sebuah program adalah menyisipkan kode program (coding) baru di tempat program utama. Misalnya kita akan membuat program yang akan menampilkan teks “Selamat Pagi”. Kita sisipkan sebaris coding dengan sintaks sebagai berikut:
Console.Write(“Selamat Pagi”);

Program lengkapnya :

using System;
using System.Collections.Generic;
using System.Text;

namespace Project1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("Selamat Pagi");
            Console.ReadLine();
        }
    }
}

Fungsi Console.ReadLine(); pada coding di atas adalah untuk memberi nilai dan memasukkan data kedalam kompputer. Untuk mengeksekusi atau menjalankan progam kita bisa menekan tombol F5 pada keyboard. Dan ini gambar di bawah ini adalah hasilnya:

Program C# Sederhana

Tipe data pada C#

Meskipun banyak tipe data pada C#, tipe-tipe data yang paling sering digunakan adalah int, double, string, bool dan object. Masing-masing memiliki kegunaannya sendiri:
  • 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
Sintaks Dasar pada C#
Sebelum belajar lebih lanjut tentang programming C#, sebaiknya kenali dulu sintaks dasar C#. Sintaks dasar C# adalah sebagai berikut:
  1. Nama File Nama file secara default dalam program yang kita buat adalah Program.cs. walaupun kita bisa menggantinya dengan apa saja seperti programpertama.cs. Akhiran atau extention yang di pakai bahwa suatu file berisi sorce code C# adalah .cs
  2. Comment
    Comment dapat digunakan sebagai dokumentasi, untuk memberikan informasi atau keterangan mengenai program yang kita buat dan memahami dalam membantu program yang kita buat.

    2.1. Comment Single Line
    Comment Single line di awali dengan tanda // hanya berlaku untuk satu baris code dan berakhir pada baris tersebut.

    Contoh:
    System.Console.WriteLine(“Halo Dunia!”); //akan menuliskan pesan di layar

    2.2. Comment Multi Line
    Comment Multi Line di awali dengan tanda /* dan di akhiri dengan */

    Contoh:
    /* Comment jenis ini
    dapat menutupi lebih
    dari satu baris */
  3. Method Main
    Method Main() bisa di katakan sebagai pintu masuk program anda. Kalau anda mencoba mengganti nama Main() dengan nama lain, compiler akan mengeluh bahwa tidak ada entry point atau pintu masuk. Perlu juga diketahui bahwa isi atau tubuh method harus diawali dengan “{“ dan diakhiri dengan “}”. Method Main() dapat disebut juga sebagai fungsi utama.

    Contoh:
    static void Main(string[] args)
    {
           //Tubuh atau isi method
    }
  4. Class
    Method di dalam C# tidak bisa berdiri sendiri, namun harus menjadi bagian dari suatu class. Nama class yang menyelimuti Main() tidak menjadi masalah. Seperti method, tubuh suatu class dimulai dengan dan diakhiri dengan }.
    Contoh:
    class Hallo
    {
    // tubuh atau isi class

     }
  5. System.Console.WriteLine() dan System.Console.Write()
    Method WriteLine() tersebut berada di dalam class yang bernama Console (sebagaimana method Main() berada dalam suatu class). Class Console sendiri dikelompokkan ke dalam namespace yang bernama System. Namespace System menampung semua class library .NET (Console adalah salah satu dari class library .NET). Jadi kita memanggil method WriteLine() dengan menuliskan mulai dari namespacenya sampai ke method itu sendiri.

    Contoh:
    System.Console.WriteLine(“Halo Lingkup Informatika!”); //Akan menyisipkan baris baru
    System.Console.Write(“Sedang belajar C#!”); // tanpa menyisipkan baris baru
    System.Console.Write(“Gampang-gampang susah.”); // tanpa menyisipkan baris baru

    Output dari penggalan program di atas sebagai berikut:

    Halo Lingkup Informatika!
    Sedang belajar C#! Gampang-gampang susah.
  6. Readline()
    Method static ReadLine() dari class Console memungkinkan kita menuliskan input sampai enter ditekan. Input yang kita berikan akan dikembalikan ke program dalam bentuk string. String yang dikembalikan tersebut dapat kita jadikan argument bagi Parse().

    Contoh:
    class Input
    {
    static void Main()
    {
    int var1, var2;

    Console.WriteLine(“Program Penjumlahan”);
    Console.WriteLine();
    Console.Write(“Masukkan angka pertama: ”);
    var1 = int.Parse(Console.ReadLine());
    Console.Write(“Masukkan angka kedua: ”);
    var2 = int.Parse(Console.ReadLine());
    Console.WriteLine();
    Console.WriteLine(“Jumlahnya adalah {0}.”, var1 + var2);
    }
               }
  7. Parse()
    Type data yang telah dipakai seperti int dan double juga merupakan sejenis class. Type type dasar yang didefinisikan Framework .NET memiliki method static yang bernama Parse(). Method tersebut menerima sebuah argument string dan mengembalikan hasil olahannya. Hasil olahannya berupa type yang bersangkutan, dengan nilai yang terkandung di dalam string argument.
  8. Namespace
    Namespace adalah kata kunci untuk mendefinisikan ruang lingkup atau batasan program dan menghindari konflik nama. Misalnya source code A.cs dan source code B.cs sama-sama membuat class yang bernama namakelas. Kedua class yang namanya sama tersebut dapat digunakan di suatu program asalkan terletak di namespace yang berbeda. Kegunaan namespace untuk mengelompokan elemen-elemennya (misalnya class) bisa dimisalkan seperti kegunaan folder untuk mengelompokkan file-file.
  9. Placeholder
    Placeholder adalah data yang di ikat atau di gabungkan ke dalam sebuah pernyataan secara terpisah dari data-data yang lain.
    Contoh:
    int permen = 10;
    int snack = 5;

    //placeholder {0} dan {1}
    Console.WriteLine("Saya memliki {0} permen dan {1} snack", permen, snack);
    Console.ReadLine();

Sekian dulu artikel dari saya, semoga bermanfaat bagi kawan-kawan yang sedang belajar Bahasa Pemrograman C#

Sampai jumpa di artikel saya selanjutnya ~

Sumber :