content:
Komputer pada awalnya memang dibuat untuk membantu manusia dalam melakukan kalkulasi numerik, sehingga memang tidak mengejutkan bahwa bahasa pemrograman juga mengadopsi beberapa elemen tertentu dari aljabar, termasuk di antaranya adalah penggunaan huruf atau kata sebagai pengganti angka.
Berikut adalah contoh dari beberapa aljabar sederhana:
A = 3
B = 5
C = A + B
Bagi kita, persamaan di atas memang merupakan persamaan yang sama sekali tidak rumit, tetapi jika kita dapat membujuk komputer untuk menyelesaikan persamaan di atas, maka kita juga dapat membujuknya untuk menyelesaikan persamaan atau masalah lainnya yang jauh lebih kompleks. Sebagai langkah pertama, kita akan mencoba untuk melakukan konversi aljabar di atas ke dalam sintaksis di dalam bahasa C#, dan bentuknya kira-kira seperti di bawah ini:

A = 3;
B = 5;
C = A + B;
Tiga baris kode di atas, tidaklah membentuk program C# yang komplet, tapi contoh kode di atas dapat ditemukan dalam program C#, mungkin program yang kita dapat buat sendiri. Kita bisa menulis kode di atas dengan menggunakan beberapa editor teks (semacam notepad atau WordPad) hingga menggunakan alat bantu khusus yang didesain untuk menyederhanakan pemrograman dengan menggunakan bahasa C#, seperti [www.icsharpcode.net/OpenSource/SD #develop (SharpDevelop)] maupun Microsoft Visual C# Express Edition (dapat di-download secara gratis dari situs situs Web Microsoft Developer Network (MSDN)). Setelah menuliskan kode di atas, maka langkah selanjutnya yang harus kita lakukan adalah mengubah kode di atas ke dalam bentuk berkas yang dapat dieksekusi (*.EXE) yang dapat kita jalankan.
Perbedaan yang signifikan antara bentuk pertama (aljabar) dan bentuk kedua (kode dalam bentuk bahasa C#) adalah bahwa setiap baris di dalam bahasa C# selalu diakhiri dengan menggunakan karakter titik koma (semicolon). Setiap baris yang diakhiri dengan karakter titik koma disebut dengan pernyataan program C# (C# program statement). Sebuah program komputer yang dibuat dengan menggunakan C# umumnya terdiri atas macam-macam statemen. Huruf A, B dan C yang disebut di atas merupakan apa yang disebut sebagai variabel, dan setiap variabel merepresentasikan lokasi di dalam memori di mana nilai dari variabel akan disimpan.
Bandingkan dengan aljabar dan bentuk statemen program C# di bawah ini:
A = 3;
B = 5;
C = A + B;
dan bentuk
A = 3;
C = A + B;
B = 5;
Sekilas, aljabar di atas terlihat sama dengan bentuk pertama dan kedua, dan hasil akhirnya adalah C = 8. Akan tetapi, ketika diubah ke dalam bentuk statemen bahasa C#, hasilnya tidaklah sama, karena hasil C = 3. Hal ini dikarenakan statemen-statemen program akan diproses secara berurutan oleh komputer, baris demi baris. Komputer akan pertama-tama membaca nilai A = 3 seperti yang telah disebutkan pada baris pertama, dan langsung menjalankan baris kedua yang berisi C = A + B. Karena nilai B pada saat baris kedua dijalankan belum memiliki nilai (alias nilainya kosong), maka C = 3 + kosong, dan nilai dari C = 3. Meskipun statemen program pada baris ketiga dijalankan, statemen tersebut tidak akan dapat mempengaruhi nilai C yang telah ditetapkan pada baris kedua.
Tanda sama dengan (=) dalam C#, berbeda dengan tanda sama dengan (=) dalam aljabar. Jika dalam aljabar tanda tersebut berarti persamaan dan kesetaraan, maka dalam C# berarti penugasan, atau lebih tepatnya berfungsi sebagai operator penugasan (assignment operator). Operator adalah simbol atau kata yang singkat yang mampu menyuruh komputer untuk melakukan sesuatu, yakni untuk melakukan operasi. Setiap operator dapat memiliki apa yang dinamakan dengan operand, dan operator penugasan memiliki dua buah operand, yaitu sebuah variabel yang diletakkan di sebelah kiri tanda sama dengan dan operasi yang harus dilakukan yang diletakkan di sebelah kanan tanda sama dengan. Operator penugasan seperti itu akan menyebabkan variabel yang terletak di sebelah kiri tanda akan diberikan nilai yang diperoleh dari hasil perhitungan dari ekspresi-ekspresi yang diletakkan di sebelah kanan operator. Dalam statemen program C# di atas, memang hanya disebutkan mengenai operator penugasan, tetapi di dalam bahasa C#, terdapat banyak jenis operator (yang nanti akan dibahas).
Operator penugasan dapat memiliki beberapa bentuk. Semua statemen-statemen di bawah ini adalah benar, menurut bahasa C#:
C = A + 5;
C = 90 + A + B;
C = B + A + A + B + A + B + 49;
C = 81 + 90;
Dalam setiap kasus di atas, sebuah variabel yang diletakkan di sebelah kiri tanda sama dengan akan diberi nilai dengan ekspresi yang dievaluasi yang diletakkan pada bagian sebelah kanan. Tanda plus di sana merupakan contoh dari operator aritmetika, yang berarti penjumlahan. Seperti halnya di dalam aljabar yang memiliki penjumlahan, perkalian dan pembagian, C# juga memilikinya dan mengizinkan kita untuk melakukannya.
Perhatikan jenis kode di bawah ini:
B + 1 = 2;
Sekilas, menurut aljabar, statemen di atas merupakan statemen yang benar adanya dan valid. Akan tetapi, tidak bagi C#, karena C# hanya mengizinkan sebelah kiri tanda sama dengan sebagai tempat diletakkannya variabel, bukan tempat diletakkannya ekspresi.
Perhatikan juga kode di bawah ini:

C = C + 10;
Kira-kira, berapa nilai dari C? Meskipun statemen di atas terlihat "tidak masuk akal" dalam aljabar, di dalam C# hal tersebut valid adanya. Dalam C#, pernyataan di atas akan menambahkan 5 dari nilai variabel C. Jika C diberi nilai 20 sebelum statemen di atas, maka nilai akhir dari C adalah 30 setelah statemen tersebut dijalankan.
Pernyataan-pernyataan yang telah dituliskan di atas sejauh ini mengandung beberapa elemen, yakni variabel, operator penugasan, tanda penjumlahan, angka-angka dan juga tanda titik koma. Angka-angka, di dalam C#, seperti 3 dan 5, disebut dengan literal numerik, yang diklasifikasikan ke dalam beberapa jenis tergantung seberapa jauh daya jangkaunya (range) dan seberapa tinggi ketelitiannya (precision). Angka-angka semacam 3 dan 5 merupakan contoh dari literal integer, karena memang angka 3 dan angka 5 merupakan bilangan bulat yang tidak memiliki koma, pecahan, dan juga pangkat. Bagaimana dengan bilangan bulat negatif? Ya, kita juga bisa memasukkan bilangan bulat negatif dalam C# dengan menggunakan tanda minus, seperti kode di bawah ini.
C = -20;
Lalu, bagaimana kita memasukkan nilai bilangan bulat yang besar (jutaan atau miliaran)? Apakah dengan menggunakan koma atau titik sebagai pemisah antar angka? Bahasa C# tidak mengizinkan kita untuk menuliskan koma dan titik untuk merepresentasikan angka yang besar, apalagi hanya digunakan sebagai pemisah antar angka. Statemen di bawah ini tidaklah valid menurut C#:
Z = 123,456,789;
Akan tetapi, tuliskan seperti di bawah ini:
Z = 123456789;
Kenapa huruf-huruf di atas (A, B, C, dan Z) disebut variabel? Huruf-huruf di atas disebut variabel karena nilai yang bisa dikandungnya dapat bervariasi. Berikut ini adalah contoh statemen yang akan mendemonstrasikan bagaimana nilai dari variabel dapat berubah:
A = 3;
B = 2;
C = A + B;
B = 10;
C = A + B;
Setelah baris ketiga dijalankan oleh komputer, nilai C adalah 5. Setelah baris kelima dijalankan oleh komputer, nilai C adalah 13, bukannya 5 lagi. Dalam pemrograman, bisa saja variabel berubah secara dengan banyak sekali perubahan ketika program tersebut dijalankan. Sebagai contoh, sebuah variabel mungkin memang telah ditetapkan sebagai tempat penyimpanan nama siswa, tetapi ketika program dijalankan program tersebut akan mengisi variabel tersebut dengan nama siswa, yang berjumlah lebih dari satu, karena program tersebut disuruh untuk menangani puluhan, ratusan, atau bahkan ribuan nama santri. Karenanya, untuk menghindari kebingungan antara pemrograman dan aljabar, para programmer seringnya menyebut tanda sama dengan sebutan "C akan mendapatkan A ditambah B", atau "Nilai C akan diisi dengan nilai A yang ditambah dengan B." Beberapa programmer mungkin menyebutnya dengan sebutan yang lebih mudah, seperti "A ditambah B akan dimasukkan ke dalam C."
Penggunaan titik koma[sunting]
Penggunaan tanda titik koma di dalam bahasa C# pada akhir statemen program merupakan sebuah cara yang sangat umum dilakukan oleh bahasa-bahasa pemrograman yang diturunkan dari bahasa ALGOL. Penggunaan tanda titik dua tersebut dilakukan karena C# mengizinkan kode agar ditulis dalam bentuk yang bebas. Dalam C#, kita tidak perlu menulis kode dalam baris-baris yang terlihat "bagus." Kita bisa saja menulis kode di atas dengan menggunakan cara seperti di bawah ini:
A = 3; B = 2; C = A + B;
Atau, kita juga bisa menggunakan bentuk seperti di bawah ini, meski terlihat acak-acakan:

A = 3 ;B
   = 2; C = A
 + B;
Meski terlihat acak-acakan oleh kita, komputer tidak akan kebingungan untuk memprosesnya, tanpa ada keluhan. Komputer akan membedakan baris-baris kode statemen program dengan menggunakan karakter titik dua, tidak peduli apakah sebuah baris tersebut dibagi ke dalam banyak baris terpecah-pecah, atau baris yang digabungkan dalam satu baris yang terlihat "rapi." Penggunaan spasi, dan baris baru di dalam program, dalam C# umumnya dikenal dengan sebutan White Space (ruangan putih). Para programmer sering menggunakan white space untuk membuat kode mereka terlihat lebih rapi. Sebagai contoh, saya akan menggunakan white space untuk membedakan antara variabel, operand, dan ekspresinya, seperti di bawah ini:

A = 3;
B = 2;
C = A + B;
Meski kode di atas terlihat lebih rapi, kita tidak mesti melakukannya.
Penamaan Variabel[sunting]
Meski A, B, C, dan Z adalah sebuah nama yang enak dibaca untuk nama-nama variabel, kita bisa membuat variabel dengan nama-nama yang lebih enak untuk diingat, seperti:
variabel1 = 3;
Variabel1 = 2;
variAbel1 = variabel1 + Variabel1;
Bahasa C# merupakan bahasa pemrograman yang bersifat case-sensitive, artinya kita dapat menggunakan karakter kapital (A sampai Z) dan huruf ordinal (a sampai z) sebagai nama variabel, tapi memang harus ada konsistensi. Variabel1, variabel1 dan variAbel1 tidaklah sama! Tiga variabel di atas adalah tiga variabel yang berbeda di dalam C#, meskipun dalam beberapa bahasa seperti Pascal dan Visual Basic, merupakan variabel yang sama. Untuk meminimalisasi tingkat kebingungan yang kita alami, kita bisa menghindari penggunaan nama variabel yang sama tetapi berbeda huruf kapital dan ordinalnya.
Peraturan untuk membuat nama-nama variabel di dalam C# lebih kompleks dibandingkan dalam bahasa C, C++, atau Java, karena C# mendukung penggunaan karakter-karakter di luar karakter Latin, seperti Cyrillic, Arab, dan juga Yunani. Kita bisa saja menggunakan aksara Yunani sebagai nama variabel seperti di bawah ini:
π = 3.14;
Ω = 4.13;
Untuk aksara-aksara yang dapat diketik dengan mudah dengan menggunakan keyboard, C# menawarkan beberapa peraturan dalam pemberian nama kepada variabel, yakni sebagai berikut:
Nama-nama variabel harus dimulai dengan menggunakan sebuah huruf atau karakter garis bawah (underscore).
Nama-nama variabel harus mengandung hanya huruf (A - Z, a - z), angka (0 - 9), dan karakter garis bawah (underscore).
Gampang kan? Sebuah nama variabel memang dapat mengandung angka (seperti halnya Variabel1 yang telah digunakan di atas), akan tetapi ia tidak dapat dimulai dengan angka. Jika memang dimulai dengan angka, maka C# akan menerjemahkannya sebagai literal numerik, bukannya sebuah variabel.  Nama-nama variabel juga tidak boleh mengandung spasi atau tanda baca selain karakter garis bawah (underscore). Untuk variabel yang menggunakan banyak kata di dalamnya, para programmer sering menggunakan karakter underscore untuk memisahkan kata-kata tersebut:
jumlah_siswa=4120;
Atau, mereka juga bisa menggunakan campuran antara huruf besar dan huruf kecil, seperti di bawah ini:

JumlahSiswa=4120;
Kata kunci (keyword) C#[sunting]
Meski demikian, ada beberapa kata yang tidak dapat digunakan sebagai nama-nama variabel. Kata-kata tersebut, dinamakan dengan C# Keyword (kata kunci C#), yang memang direservasikan oleh C#. Kira-kira ada 87 buah keyword yang terdapat di dalam C# yang tidak bisa digunakan di dalam melakukan penamaan variabel.
abstract
as
base
bool
break
byte
case
catch
char
checked
class
const
continue
decimal
default
delegate
do
double
else
enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implicit
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
virtual
void
volatile
while
add
alias
get
global
partial
remove
set
value
where
yield
Sebagian besar programmer menggunakan nama-nama variabel yang lebih memiliki makna dalam berbagai hal. Mungkin, orang lain selain kita akan membaca program yang kita buat, atau memang kita akan membaca kembali program yang kita buat, setelah beberapa lama kita tidak membukanya. Kita akan mendapatkan manfaat yang sangat besar, ketika kita memang menulis variabel dengan nama-nama yang memberitahukan apa maksud dari setiap variabel tersebut.
BayaranSMP = 350000;
BayaranSMA = 450000;
BayaranSD  = 150000;
Meski statemen di atas kelihatan lebih panjang, jelas kita lebih mudah memahaminya dibandingkan dengan menggunakan huruf A, B, C atau Z sebagai nama variabel. Kalau memang kita malas mengetik nama variabel yang panjang, kita bisa menggunakan singkatan-singkatan yang meskipun singkat tetap menunjukkan kejelasan, sebagai berikut:
ByrSMP = 350000;
ByrSMA = 450000;
ByrSD  = 150000;
Meskipun memang bagi manusia statemen-statemen di atas terlihat sudah sempurna, bagi kompiler C#, statemen di atas tidaklah sempurna, karena memang statemen-statemen di atas hanyalah berisi ekspresi saja. Kompiler membutuhkan tambahan informasi untuk memulainya, yang dibahas pada bagian berikutnya.
Hungarian Notation[sunting]
Terus, bagaimana dong cara menamai variabel yang baik? Saya bilang di atas memang kita harus menggunakan nama variabel yang jauh lebih memiliki makna dalam berbagai hal dibandingkan dengan huruf-huruf seperti A, B dan Z. Banyak programmer cenderung menambahkan tambahan tipe data dari variabel tersebut, meskipun hanya singkatan dari nama tipe data tersebut sehingga ia akan tahu apa tipe data dari variabel tersebut, apakah itu integer, decimal, string, atau tipe data lainnya.
Salah satu konvensi penamaan yang sering digunakan adalah sebuah konvensi yang dikenal dengan sebutan Hungarian Notation, yang dibuat oleh seorang programmer legendaris di Microsoft yang berasal dari Hongaria, Charles Simonyi (yang juga merupakan pembuat Microsoft Word dan Excel). Charles Simonyi yang dilahirkan di Budapest, Hongaria, membuat jenis notasi ini pada tesis doktoralnya di bidang Ilmu Komputer. Karena memang Simonyi juga merupakan programmer yang menjadi rujukan dan legenda, hampir semua nama di dalam sistem operasi Windows (terutama API Microsoft Windows) menggunakan skema notasi ini.
Memang ada pro dan kontra mengenai Hungarian Notation ini. Kalau nggak percaya gunakan saja Google atau di Wikipedia dan cari mengenai "Hungarian Notation". Anda akan menemukan banyak pro dan kontra.
Dalam bentuknya yang paling sederhana, Hungarian Notation mengandung awalan dalam huruf kecil yang menyatakan tipe data dari variabel tersebut. Oke deh saya akan menuliskan tabelnya di bawah ini.
Tipe data
Prefiks
byte
by
sbyte
sb
ushort
us
short
s
int
i
uint
ui
long
l
ulong
ul
decimal
m
atau
dec
string
str
float
fl
char
ch
bool
b
double
d
atau
dbl
array
arr
Sebagai contoh, saat kita melihat ada sebuah variabel dengan nama strNamaSiswa, maka kita akan melihatnya sebagai sebuah variabel bertipe data string. Dan lain sebagainya.
Jenis-jenis Variabel Bilangan[sunting]
Sebelum kita dapat menggunakan variabel tertentu di dalam program C#, kita harus memberi tahu kepada kompiler mengenai jenis variabel itu sendiri. Dilihat dari contoh-contoh di atas, kita melihat bahwa semua variabel adalah berisi angka. Akan tetapi, komputer tidak hanya memproses angka saja, akan tetapi, selain angka variabel juga mampu menyimpan banyak sekali tipe data. Bahkan, untuk jenis angka, C# mendukung tiga buah jenis:
Ketika kita sedang menulis sebuah program, yang mengharuskan di sana bilangan yang tidak boleh dibagi (bilangan bulat), seperti halnya populasi siswa di sebuah sekolah, atau lain-lain, C# menawarkan kepada kita apa yang disebut sebagai "integer." Mustahil kan ada siswa hidup yang hanya ada badannya saja, atau tangannya saja?
Ketika kita sedang menulis sebuah program yang menangani masalah keuangan (yang sering digunakan di dalam industri), kita harus menggunakan angka-angka dengan jumlah angka yang panjang, mungkin mencapai triliunan. Bahasa C# menawarkan kepada kita apa yang disebut sebagai "decimal."
Ketika kita sedang menulis sebuah program yang digunakan untuk menghitung hal-hal yang ilmiah, seperti rumus relativitas dan fisika kuantum, mungkin kita membutuhkan bilangan yang berkoma dan berpangkat yang direpresentasikan dalam bentuk notasi ilmiah (mantissa dan exponent). Dalam C#, bilangan seperti itu dinamakan juga dengan floating point number, yang direpresentasikan dengan menggunakan kata kunci "float."
Kita bisa menggabungkan tiga buah jenis bilangan di atas di dalam sebuah program. Untuk sekarang, kita akan mempelajari mengenai bilangan bulat (integer), yang dapat berupa bilangan bulat positif atau bilangan bulat negatif.
Deklarasi Variabel[sunting]
Kita dapat menginformasikan kepada kompiler mengenai jenis variabel tertentu pada saat mendeklarasikan variabel, dengan menggunakan pernyataan deklarasi (declaration statement). Dalam pernyataan deklarasi, kita harus menentukan jenis dari variabel yang kita buat. Sebuah variabel tertentu hanya dapat dideklarasikan satu kali saja, tidak lebih!  Bahasa C#, seperti halnya Bahasa C dan C++ atau Java, menggunakan kata int untuk merujuk kepada bilangan bulat (integer). Baris berikut merupakan contoh pendeklarasian variabel bertipe data bilangan bulat (dengan nama JumlahHariIzin):
 int JumlahHariIzin;
Pernyataan deklarasi akan menentukan jenis variabel tersebut, yang harus berada di sebelah kiri nama variabel yang sedang dideklarasikan. Kita mungkin bisa menyebut pernyataan di atas dengan sebutan "Variabel JumlahHariIzin hanya bisa menampung bilangan bulat."
Seperti yang telah dijelaskan, bahwa kata int tidaklah bisa digunakan sebagai nama variabel, akan tetapi harus diingat, karena C# merupakan sebuah bahasa yang bersifat case-sensitive, kita bisa menggunakan kata Int, iNT, atau INT sebagai nama variabel.
Saat program C# dijalankan, pernyataan deklarasi tersebut akan menyebabkan komputer untuk mengalokasikan sebagian kecil dari memori untuk ditempati oleh nilai dari variabel yang dideklarasikan tersebut, jika memang variabel tersebut telah berisi nilai. Jika memang belum berisi nilai, maka nilainya adalah kosong.
int JumlahHariIzin;
int JumlahHariAlfa;
int JumlahHariSakit;
int TotalAbsensi;

JumlahHariIzin = 10;
JumlahHariAlfa = 2;
JumlahHariSakit = 10;

TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Baris kelima (yang kosong) tidaklah harus ada, karena memang saya membuatnya untuk membuat program C# kita lebih enak untuk dilihat, dan juga untuk membedakan antara deklarasi variabel dengan pemberian nilai terhadapnya.
Daripada membuat empat baris seperti di atas, kita juga bisa mendeklarasikannya dengan menggunakan satu baris saja, seperti:
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit, TotalAbsensi;
Meski lebih sederhana dilihat, bentuk di atas ekuivalen dengan bentuk empat baris di atas. Ketika ada variabel lebih dari satu dideklarasikan pada satu baris deklarasi, kita harus menggunakan koma untuk memisahkan antar variabel. Selain itu, semua variabel yang dideklarasikan harus memiliki tipe data yang sama.  Ada beberapa cara untuk menulis deklarasi variabel. Variabel-variabel tersebut tidaklah harus dideklarasikan dengan urutan yang sama dengan ketika kita memanggilnya. Kode-kode seperti di bawah ini adalah ekuivalen dengan bentuk di atas:

int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit, TotalAbsensi;

JumlahHariIzin = 10;
JumlahHariAlfa = 2;
JumlahHariSakit = 10;

TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Kita juga bisa mendeklarasikan beberapa variabel secara berbarengan di dalam sebuah statemen deklarasi, dan mendeklarasikan variabel lainnya di dalam pernyataannya sendiri-sendiri:

int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;

JumlahHariIzin = 10;
JumlahHariAlfa = 2;
JumlahHariSakit = 10;

TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Kita juga bisa mendeklarasikan variabel ketika kita membutuhkannya, seperti di bawah ini:

int JumlahHariIzin;
JumlahHariIzin = 10;

int JumlahHariAlfa;
JumlahHariAlfa = 2;

int JumlahHariSakit;
JumlahHariSakit = 10;

int TotalAbsensi;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Nah, di sinilah perbedaan antara pernyataan deklarasi variabel dan pemberian nilai terhadapnya. Satu-satunya peraturan yang harus ditaati adalah, bahwa "setiap variabel harus dideklarasikan sebelum variabel tersebut digunakan."
Kita juga bisa mendeklarasikan variabel dengan sebuah nilai yang telah ditetapkan untuknya pada saat mendeklarasikannya. Mungkin, pada awalnya, kita melihat bahwa kode di bawah ini merupakan sebuah pernyataan penugasan, tetapi sebenarnya statemen deklarasi:
int JumlahHariIzin = 10;
Inisialisasi variabel[sunting]
Pada saat sebuah variabel diberi nilai pada saat deklarasinya, maka variabel tersebut dikatakan "melakukan inisialisasi" (initialization). Tentu saja, setelah inisialisasi dilakukan, kita bisa mengubah nilainya dengan nilai yang berbeda di lain waktu, karena memang tidak ada bedanya antara melakukan inisialisasi variabel pada saat deklarasi di dalam pernyataan deklarasi dengan menetapkan sebuah nilai kepada sebuah variabel sesaat setelah pernyataan deklarasi dilakukan.
int JumlahHariIzin;
JumlahHariIzin = 10;
Antara saat sebuah variabel dideklarasikan dan saat variabel tersebut memiliki nilai, variabel tersebut dikatakan sedang "dibongkar" atau mengalami "uninitialization." Variabel tersebut tidaklah memiliki nilai, atau bahkan ia mungkin memiliki beberapa nilai yang acak. Kompiler C# tidak akan mengizinkan kita untuk menggunakan variabel yang belum diinisialisasi. Sebagai contoh, perhatikan pernyataan-pernyataan berikut
int JumlahHariIzin;
int JumlahHariAlfa;
int JumlahHariSakit;
int TotalAbsensi;

TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Mengingat variabel-variabel JumlahHariIzin, JumlahHariAlfa, dan JumlahHariSakit belum diberi nilai, sehingga kita tidak dapat menggunakannya untuk menghitung nilai TotalAbsensi.  Pada pernyataan deklarasi satu baris, kita dapat memilih untuk melakukan inisialisasi terhadap beberapa variabel untuk tidak melakukannya pada beberapa variabel, dengan memisahkan setiap variabel dengan menggunakan karakter koma, seperti di bawah ini:
int JumlahHariIzin = 10, JumlahHariAlfa, JumlahHariSakit, TotalAbsensi;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Kita juga bahkan bisa memberikan nilai terhadap semua variabel secara sekaligus pada saat melakukan deklarasi variabel, seperti di bawah ini:

int JumlahHariIzin = 10, JumlahHariAlfa = 2, JumlahHariSakit = 10, TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Inisialisasi yang dilakukan terhadap variabel TotalAbsensi dilakukan dengan menggunakan ekspresi yang melibatkan tiga variabel lainnya yang telah diinisialisasikan sebelumnya. Pada kasus ini, variabel TotalAbsensi harus dideklarasikan dan diinisialisasi setelah variabel-variabel JumlahHariIzin, JumlahHariAlfa, dan JumlahHariSakit dideklarasikan dan diinisialisasikan.  Meskipun bentuk di atas lebih sederhana, pernyataan-pernyataan di atas lebih rumit untuk dibaca, apalagi oleh orang selain kita. Maka, pada umumnya para programmer menggunakan cara konvensional, dengan memisahkan deklarasi dan inisialisasi setiap variabel pada satu baris masing-masing, sebagai berikut agar lebih jelas:
int JumlahHariIzin=10;
int JumlahHariAlfa=2;
int JumlahHariSakit=10;

int TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
Method (metode)[sunting]
 Sampai di sini, apakah program C# di atas merupakan kode yang lengkap? Sayangnya, belum! Dalam C#, seperti halnya di dalam sebagian besar bahasa pemrograman modern lainnya, kode disusun sedemikian rupa ke dalam satuan yang disebut dengan kelas (class) dan metode (method). Setiap metode mengandung kode yang mampu melakukan beberapa tugas tertentu. Mungkin, jika Anda pernah mempelajari bahasa pemrograman lainnya, istilah metode ini ekuivalen dengan prosedur (procedure), subrutin (subroutine) atau fungsi (function). Metode-metode yang saling berhubungan dapat dikelompokkan ke dalam sebuah kelas.
Program paling sederhana di dalam C# adalah program yang hanya memiliki satu buah kelas yang mengandung satu buah metode. Paling tidak, sebuah program dalam C# harus memiliki sebuah metode yang disebut dengan Main(). Metode Main() merupakan sebuah metode yang selalu dijalankan oleh komputer pertama kali ketika program tersebut dijalankan oleh pengguna. Jika Anda pernah mempelajari bahasa pemrograman lain sebelumnya, mungkin Anda pernah mengenal istilah "Entry Point". Metode Main() adalah Entry Point di dalam C#! Untuk program-program yang sangat pendek, metode Main() kadang-kadang merupakan metode yang terdapat di dalam program yang bersangkutan. Meskipun Main memiliki peranan yang sangat besar di dalam bahasa C#, kata "Main" sendiri bukanlah kata kunci di dalam C#. Karena bukan kata kunci, maka kita bisa memberikan nama variabel menjadi Main, jika mau.
Bagaimana mendeklarasikan metode?[sunting]
Seperti halnya variabel, Main harus dideklarasikan di dalam program. Pendeklarasian metode memang sedikit lebih rumit dibandingkan dengan pendeklarasian variabel, karena memang ada beberapa hal yang terlibat di dalamnya.
Metode pada umumnya memiliki input dan output. Sebagai contoh, sebuah metode yang menghitung jumlah absensi siswa, inputnya adalah jumlah harian di mana siswa yang bersangkutan tidak masuk kelas, dan outputnya adalah total jumlah absensi milik siswa tersebut. Metode dapat kita bayangkan sebagai sebuah "pabrik" yang mengubah bahan baku menjadi barang jadi. Pada umumnya, sebuah metode menerima input dalam bentuk beberapa variabel, yang disebut sebagai parameter metode (method parameter). Nah, metode tersebut kemudian akan mengubah variabel-variabel tersebut sedemikian rupa lalu mengeluarkan hasilnya sebagai output, yang disebut nilai kembalian (return value).  Kita saat ini akan membahas bagaimana mendeklarasikan sebuah metode sederhana, yang selalu ada di dalam setiap program C#, Main, tanpa penggunaan parameter dan nilai kembalian. Sedangkan bagaimana penggunaan parameter dan nilai kembaliannya nanti akan dibahas kemudian.
Main
Perlu diingat, karena bahasa C# merupakan sebuah bahasa pemrograman yang bersifat case-sensitive, maka antara Main, MAIN, dan main adalah berbeda. Metode Main harus dimulai dengan huruf M besar.  Normalnya, parameter metode diindikasikan dengan sebuah daftar variabel yang dikurung di dalam sepasang tanda kurung buka ( dan tanda kurung tutup ) setelah nama metode tersebut dideklarasikan. Karena versi metode Main kita kali ini tidak memiliki parameter dan juga nilai kembaliannya, maka kata "Main" akan diikuti dengan menggunakan tanda kurung buka dan kurung tutup tanpa isi, seperti di bawah ini:
Main()
Saat sebuah metode memiliki nilai kembalian, tipe data dari nilai tersebut (seperti halnya int) harus ditambahkan di sebelah kiri nama metode pada saat deklarasi metode. Akan tetapi, saat metode tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan kata kunci void untuk menyatakan bahwa metode tersebut memang tidak memiliki nilai kembalian.
void Main()
Lantas, apa bedanya pendeklarasian variabel dengan pendeklarasian metode? Secara sekilas memang tidak ada perbedaan antara pendeklarasian variabel dengan pendeklarasian metode. Akan tetapi, jika pada pendeklarasian variabel, jenis variabel adalah hal yang ditulis sebelum nama variabel, pada pendeklarasian metode, jenis nilai kembalian adalah hal yang ditulis sebelum nama metode. Di situ adalah perbedaannya!  Apakah dengan menggunakan void Main() sudah membentuk sebuah metode yang sempurna? Masih belum! Kita harus menambahkan kata kunci static, seperti di bawah ini:
static void Main()
Buat apa sih kata kunci static? Untuk menjawabnya, sayangnya, hal tersebut melibatkan beberapa konsep yang berada di luar jangkauan konsep dasar (karena memang bab ini merupakan bab yang dikhususkan untuk pengenalan konsep dasar maka hal tersebut tidak akan dibahas saat ini). Untuk sekarang, kita bisa memikirkan kata kunci static sebagai pernyataan bahwa metode tersebut berdiri sendiri (mandiri), dan bersifat tetap serta tidak berubah-ubah selama eksekusi program dilakukan.  Deklarasi sebuah metode juga memasukkan tubuh metode tersebut, yang merupakan kode aktual yang membangun metode tersebut. Tubuh metode akan diapit dengan menggunakan sepasang tanda kurung keriting buka { dan tanda kurung keriting tutup } yang mengikuti daftar parameter, seperti di bawah ini:
static void Main()
{

}
Saya memang meletakkan tanda kurung keriting dalam dua baris berbeda, karena memang hal itu merupakan suka-suka! Karena C# merupakan bahasa dengan bentuk penulisan yang bebas, kita juga bisa menuliskannya di dalam baris yang sama, seperti:
static void Main()
{}
atau:
static void Main(){}
Nah, sekarang kita bisa menambahkan kode-kode dan algoritme ke dalam metode tersebut. Marilah kita mencoba memasukkan pernyataan-pernyataan sebelumnya ke dalam metode Main:

static void Main()
{
int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
int TotalAbsensi;

JumlahHariIzin = 10;
JumlahHariAlfa= 2;
JumlahHariSakit = 10;
TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
Sekelompok statemen-statemen C# yang diapit dengan menggunakan kurung keriting seperti di atas kadang disebut sebagai blok program (program block). Sehingga, jika kita mengambil kaidah dari contoh di atas, kita bisa merumuskan bahwa dalam pendeklarasian metode, terdapat beberapa hal yang terlibat, mulai dari modifier (yang dinyatakan dengan kata kunci static), jenis nilai kembaliannya (yang dinyatakan dengan kata kunci void), nama metodenya (Main), daftar parameter yang berada di dalam kurung (), dan juga blok program yang mengandung kode program dalam bahasa C#.  Sebagian besar programmer menulis program tidak seperti di atas, tetapi menjorokkan ke dalam satu tabulasi, seperti di bawah ini:
static void Main()
{
     int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
     int TotalAbsensi;

     JumlahHariIzin = 10;
     JumlahHariAlfa= 2;
     JumlahHariSakit = 10;
     TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
Apa yang dilakukan programmer di atas terhadap blok kode C# membuat metode tersebut terlihat lebih mudah untuk dibaca, dan juga menandakan bahwa pernyataan-pernyataan tersebut berada di dalam metode. Penggunaan berapa banyak spasi atau tabulasi adalah "terserah Anda!", meskipun memang sebagian besar programmer menggunakan 1 tabulasi. Microsoft Visual Studio dan Microsoft Visual C# Express Edition, pada kondisi bakunya memiliki konfigurasi 1 tabulasi setara dengan 4 spasi (Anda bisa mengubahnya lho). Sementara itu, kode yang ada di buku ini menggunakan empat buah spasi.  Beberapa programmer juga sering menulis kurung keriting buka pada baris yang sama dengan deklarasi metode, seperti:
static void Main(){
     int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
     int TotalAbsensi;

     JumlahHariIzin = 10;
     JumlahHariAlfa= 2;
     JumlahHariSakit = 10;
     TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
}
Banyak programmer yang familier dengan bahasa Pascal, C dan C++ menggunakan bentuk kode seperti di bawah ini:
static void Main()
    {
    int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
    int TotalAbsensi;

    JumlahHariIzin = 10;
    JumlahHariAlfa= 2;
    JumlahHariSakit = 10;

    TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
    }
Atau, mereka juga sering menggunakan dua spasi untuk menjorokkan blok kode, seperti di bawah ini:
static void Main()
    {
      int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
      int TotalAbsensi;

      JumlahHariIzin = 10;
      JumlahHariAlfa= 2;
      JumlahHariSakit = 10;

      TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
    }
Cara apapun yang kita gunakan dalam mengetik blok kode C#, kompiler C# tidak akan melihat bagaimana gaya kita menjorokkan blok kode. Terserah Anda mau menulis seperti apa, asalkan memang ada konsistensi dalam menulis kode, agar mata yang melihat tidak “capek”.
Kelas (class)[sunting]
Sudah sampai di sini, apakah kode di atas bisa dibilang lengkap? Sayangnya, masih belum lengkap! Di dalam C#, semua metode harus tergabung ke dalam sebuah kelas program (class) atau struktur program (structure). Kelas dan struktur agak-agak mirip, sehingga, sampai kita belajar letak perbedaan di antara keduanya, anggap saja bahwa kelas dan struktur adalah sama, dan apa yang saya bilang mengenai kelas juga bisa diaplikasikan ke dalam struktur.
Dalam pemrograman berorientasi objek seperti halnya C#, sebuah kelas adalah unit organisasi dasar yang terdiri atas kode dan data. Semuanya akan tersibak ketika kita terus belajar mengikuti rentetan artikel di dalam kumpulan artikel ini. Hanya saja, yang perlu diingat adalah sebuah program C# paling tidak haruslah terdiri atas satu kelas atau lebih, yang setiap kelasnya bisa berisi satu anggota (yang disebut dengan member) atau lebih, termasuk di antaranya adalah metode semacam Main.
Program C# paling sederhana, tetapi lengkap akan terdiri atas sebuah kelas yang mengandung satu anggota, yang berupa metode dengan nama Main.
Bagaimana mendeklarasikan Kelas?[sunting]
Deklarasi Kelas dilakukan dengan menggunakan kata kunci class yang diikuti nama dari kelas yang hendak dibuat, seperti di bawah ini:
class Program
Peraturan yang digunakan untuk membuat kelas sama saja dengan peraturan yang dimiliki oleh nama-nama variabel. Nama variabel dan nama kelas dikenal juga dengan sebutan identifier (tanda pengenal), yang tentunya harus ditentukan oleh kita. Semua identifier harus dimulai dengan huruf atau karakter garis bawah dan harus mengandung hanya huruf, angka, dan karakter garis bawah saja. Meski demikian, kita tidak bisa menggunakan kata-kata kunci sebagai nama identifier. Walaupun Main bukanlah sebuah kata kunci di dalam C#, kita tidak dapat menggunakan Main sebagai nama kelas, jika memang di dalam kelas yang bersangkutan memiliki metode dengan nama Main.  Pendeklarasian kelas juga mengharuskan kita untuk menggunakan kurung keriting buka { dan kurung keriting tutup } seperti di bawah ini:
class Program
    {

    }
Di antara kurung keriting tersebut, kita bisa memasukkan metode-metode yang hendak kita buat, termasuk di antaranya adalah Main yang telah kita buat sebelumnya. Terserah Anda, jika ingin merapikan penulisan blok-blok kode program milik member dari kelas tersebut dengan menjorokkannya ke kanan:
class Program
{
     static void Main()
     {
       int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
       int TotalAbsensi;

       JumlahHariIzin = 10;
       JumlahHariAlfa = 2;
       JumlahHariSakit = 10;

       TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
    }
}
Dan, akhirnya kode di atas merupakan kode dalam bahasa C# yang lengkap. Bagaimana cara membaca kode di atas? Kode tersebut hanya mengandung satu buah kelas, yang diberi nama Program. Kelas Program tersebut memiliki satu buah metode yang disebut dengan Main. Metode Main mendeklarasikan empat buah variabel dengan jenis data bilangan bulat. Program tersebut terdiri atas empat buah statemen penugasan.
Edit, Compile, Run[sunting]
Sebuah program komputer memulai hidupnya sebagai berkas teks yang ditulis oleh kita, para (calon) programmer. Berkas teks tersebut umumnya disebut dengan kode sumber (source code). Kode sumber program dalam bahasa pemrograman C# menurut konvensi, merupakan sebuah berkas teks dengan ekstensi *.CS (singkatan dari C Sharp). Sebuah program juga bisa terdiri atas satu berkas kode sumber atau bahkan lebih dari satu (dan ini merupakan hal yang paling sering dilakukan).
Setelah kita membuat berkas kode sumber, baik itu satu berkas atau beberapa berkas, kita harus melakukan kompilasi terhadapnya dengan menjalankan program yang disebut dengan kompiler atau kompilator (complier). Kompiler bahasa C# adalah sebuah program yang terkandung di dalam Microsoft .NET Framework yang dapat membaca kode sumber yang kita buat dan akan mengubah kode sumber kita ke dalam bahasa yang dimengerti oleh komputer, yang di dalam .NET Framework disebut dengan Microsoft Intermediate Language (MSIL), yang pada umumnya dalam bentuk berkas biner dengan ekstensi *.EXE (singkatan dari Executable).
Kompiler C# akan mencoba membaca kode sumber yang kita buat, dan jika memang ia menemukan sebuah masalah dengan kode sumber yang kita buat, maka ia akan memberitahukan kepada kita mengenai masalah tersebut dan mungkin bagaimana cara mengatasi masalah tersebut. Masalah-masalah pengetikan yang salah atau kesalahan lainnya yang terjadi saat kompilasi, umumnya disebut dengan kesalahan sintaksis (syntax error) atau kesalahan waktu kompilasi (compile-time error). Jika kompiler melaporkan adanya kesalahan, kita harus menyunting ulang kode sumber kita untuk mengoreksi kesalahan tersebut. Kadang-kadang, compile-time error juga dipanggil dengan sebutan compiler error, seolah-olah kompiler merupakan pihak yang salah, bukannya kita sebagai programmer yang salah. Meskipun memang, kompiler juga sering melakukan kesalahan dalam melakukan kompilasi, hal yang paling sering terjadi adalah kompiler menemukan kesalahan yang kita buat dalam kode kita.
Setelah pada akhirnya kita dapat "membujuk" kompiler agar membuatkan berkas *.EXE dari kode sumber program kita, kita dapat menjalankan program tersebut. Pada saat dijalankan, program tersebut berada di dalam kendali sistem operasi, dan karena bahasa C# merupakan salah satu anggota dari bahasa .NET Framework, program yang dibangun dengan menggunakan C# dijalankan dengan menggunakan Common Language Runtime (CLR) yang tergabung ke dalam .NET Framework.
Sistem operasi atau CLR akan mencoba menjalankan program yang kita buat, akan tetapi mungkin saja program yang kita buat tidak mampu melakukan apa yang kita harapkan dengan sempurna. Kadang-kadang, kode yang kita buat itu mencoba untuk melakukan hal-hal yang tidak diperbolehkan (seperti mengakses area memori yang tidak dimiliki olehnya). Akhirnya, program tersebut pun mengalami kesalahan saat berjalan, dan CLR atau sistem operasi akan memberikan laporan kesalahan dengan menggunakan sebuah kotak dialog. Masalah-masalah yang terjadi saat program dijalankan, disebut dengan runtime error atau exception. Karena berkas EXE merupakan berkas biner yang sulit untuk dilihat dengan menggunakan editor teks biasa, maka untuk mengoreksinya kita harus membuka kembali berkas kode sumber yang membentuk berkas EXE yang bersangkutan.
Keseluruhan proses di atas, dikenal juga dengan sebutan Edit-Compile-Run, dan merupakan bagian yang sering dilakukan dalam rangka membuat dan mengembangkan program. Semua program, kecuali program-program yang kecil, melalui beberapa kali proses Edit-Compile-Run sebelum akhirnya selesai dan dapat dipublikasikan. Ketika menulis program yang besar, saya seringnya melakukan proses tersebut secepat mungkin, untuk mengetahui apakah program yang masih belum besar tersebut benar-benar berjalan dengan sempurna atau tidak.
Nah, ketika kita akhirnya melihat bahwa program yang kita buat terkesan baik-baik saja tanpa ada yang "mencurigakan", ada satu tugas lagi yang menunggu kita, yaitu pengujian. Mungkin, kita akan menemukan bahwa program yang kita buat masih tidak berjalan dengan benar. Masalah di dalam program yang sudah jadi ini, disebut dengan istilah "bug." Menemukan bug sama seperti mencari kecoa di kamar kita, kadang-kadang gampang, kadang-kadang sulit, tetapi kesulitan merupakan hal yang sering dialami oleh para programmer. Sebuah ilmu khusus dibutuhkan untuk mencari, menemukan, dan mengoreksi bug dalam program, yang disebut dengan debugging. Sayangnya, karena debugging merupakan topik tingkat lanjut, hal itu (mungkin) tidak akan diulas di kumpulan artikel ini.
Alat bantu Edit-Compile-Run[sunting]
Seperti yang telah disebutkan di dalam beberapa bab pendahuluan, kita memiliki segudang cara untuk melakukan Edit-Compile-Run terhadap program C# yang kita buat. Mulai dari mengetiknya secara manual dengan menggunakan Notepad hingga menggunakan alat bantu khusus yang didesain untuk melakukannya. Cara paling enak yang dapat digunakan adalah menggunakan Microsoft Visual Studio (jika memang Anda punya uang untuk membeli lisensinya) atau Microsoft Visual C# Express Edition (yang gratis). Jika memang Anda tidak punya uang untuk membeli lisensinya, mungkin Anda bisa mencoba program Sharp Develop (#develop) yang dikembangkan oleh komunitas open-source dan juga Eclipse dengan plug-in yang didesain khusus untuk melakukan Edit-Compile-Run terhadap program C# kita. Meskipun mahal, saya menyarankan Microsoft Visual C# dan Microsoft Visual Studio, karena memang menawarkan beberapa hal yang tidak dimiliki oleh beberapa program lainnya.
Di dalam Visual C# dan Visual Studio, program yang kita buat dinamakan dengan Project. Sebuah Project dapat mengandung satu berkas teks berisi kode sumber atau lebih. Sebuah Project harus diberi nama yang, tidak seperti nama identifier, bersifat case-insensitive. Nama Project yang kita tentukan ini nantinya akan digunakan sebagai nama berkas EXE yang akan dibentuk oleh kompiler. Sebagai contoh, ketika kita menggunakan nama Program sebagai nama Project yang kita buat, maka hasilnya adalah PROGRAM.EXE.
Penggunaan alat bantu pemrograman C# memang adalah hak Anda untuk memilih, mana menurut Anda lebih baik, mengingat setiap produk memiliki kelebihan dan kekurangannya masing-masing. Akan tetapi setiap alat bantu tersebut menawarkan editor kode sumber yang mampu memberikan warna masing-masing terhadap kode sumber yang kita tuliskan, sehingga nanti terlihat jelas sintaksis-sintaksisnya dan lebih mudah dalam membaca kodenya.
Coba Anda ketikkan kode di bawah ini di dalam alat bantu pemrograman yang Anda gunakan, dan simpan di dalam nama “Program01.cs”:
class Programku
{
    static void Main()
    {
        int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
        int TotalAbsensi;

        JumlahHariIzin = 10;
        JumlahHariGhaib = 2;
        JumlahHariSakit = 10;

        TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;
    }
}
Anda harus menekan tombol Enter untuk mengganti setiap baris di atas. Jika Anda menggunakan editor teks biasa seperti Notepad, Anda mungkin tidak akan mengenali kata-kata kunci di dalam C# yang digunakan di dalam kode sumber program di atas. Akan tetapi, ketika Anda menggunakan alat-alat bantu yang telah saya sebutkan di atas, Anda akan menyadari bahwa alat tersebut dilengkapi dengan fitur pemberian warna terhadap kata-kata kunci C# (dan semua bahasa yang didukung oleh editor tersebut), yang dinamakan dengan syntax highlighting. Jika kita cermati, editor tersebut akan menggunakan warna-warna berbeda untuk setiap komponen di dalam program di atas. Sebagai contoh, di dalam editor Microsoft Visual C#, editor akan menampilkan semua kata kunci dengan warna biru, dan baris pertama dan kedua yang diawali dengan dua karakter garis miring atau double-slash(//) diberi warna hijau.
Ketika Anda telah mengetik kode di atas, proses selanjutnya adalah melakukan kompilasi terhadap kode sumber agar dibuat menjadi program yang dapat dieksekusi oleh komputer. Jika Anda menginginkan kesederhanaan tanpa alat bantu pemrograman seperti yang disebutkan di atas, Anda harus melakukan kompilasi secara manual dengan menggunakan program kompiler C#, yang diletakkan di dalam direktori C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705 (untuk .NET Framework 1.0), C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322 (untuk .NET Framework 1.1), atau C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 (untuk .NET Framework 2.0), menggunakan baris perintah yang "merepotkan". Anda harus membuka Microsoft Command Prompt (C:\Windows\System32\cmd.exe) dan memasukkan perintah seperti di bawah ini:
C:\>csc Program01.cs
yang kemudian akan menampilkan pesan dari pembuat kompiler:
yang kemudian akan mengubah kode sumber di atas menjadi program siap guna. Akan tetapi, jika Anda menggunakan alat-alat bantu pemrograman seperti disebutkan di atas, Anda dapat melakukannya secara lebih mudah. Penggunaan alat bantu pemrograman hanya membutuhkan satu langkah saja yang harus dilakukan, yakni menekan menu Build Solution atau Build Program. Semua hal yang berkaitan dengan Edit-Compile-Run dilakukan secara langsung oleh alat bantu tersebut, dengan sedikit intervensi dari kita. Jika memang terjadi kesalahan pada saat kompilasi, maka kesalahan-kesalahan tersebut akan ditampilkan dalam jendela Error List di bawah editor teks. Anda bisa menuju ke lokasi di mana kesalahan tersebut berada dengan mengklik ganda pada sebuah entri di dalam jendela Error List tersebut.
Saat Anda menjalankan program yang Anda buat, maka sebuah jendela console akan keluar. Judul yang digunakan oleh jendela console tersebut adalah nama berkas yang digunakan oleh proyek Anda. Setelah itu, ada sebuah baris yang berbunyi:
Press any key to continue
yang berarti bahwa program tersebut telah selesai berjalan. Mengapa kok belum keluar output apa-apa, program saya langsung selesai dieksekusi? Itu memang karena di dalam kode program tersebut tidak diberi sebuah perintah untuk menampilkan bagaimana hasil dari program tersebut—kita hanya menyuruh komputer agar menjalankan instruksi penjumlahan saja, tidak lebih dan tidak kurang. Kembali ke layar program yang Anda buat tadi, saat Anda menekan tombol apapun dari keyboard, jendela tersebut akan "dihancurkan."
Metode apapun yang kita gunakan untuk melakukan kompilasi program yang kita buat, mungkin kita akan menghabiskan waktu dalam rangka melakukan eksperimen terhadap kode kita dan mencoba-coba banyak hal—dengan kata lain menggunakan metode circle-back. Eksperimen merupakan aktivitas yang sangat penting—mungkin bisa dibilang paling penting—dalam melakukan pemrograman, dan juga ketika belajar bahasa pemrograman. Yang "menyenangkan" dalam eksperimen di bidang komputer adalah eksperimen bisa dilakukan oleh siapa saja dengan mudah dan aman, tidak seperti eksperimen kimia, fisika, atau biologi. Kita tidak bakal membakar rumah kita saat melakukan eksperimen dengan komputer. Sebagai contoh eksperimen kita yang pertama, coba kita hapus salah satu statemen penugasan dari program kita yang pertama. Lihat apa yang terjadi jika satu variabel, seperti halnya JumlahHariIzin atau JumlahHariAlfa dihapuskan oleh kita dan menjadikannya tidak memiliki nilai sama sekali. Dengan melakukan eksperimen seperti ini, kita mungkin akan terbiasa dengan pesan kesalahan yang datang dari kompiler dan akhirnya mengetahui apa sih penyebabnya. Kita juga bisa membuang statemen penugasan yang menghitung nilai TotalAbsensi. Hal itu memang tidak membuat kesalahan, akan tetapi coba perhatikan apa yang dikatakan oleh kompiler C#?
Coba ganti kata class dengan kata struct (yang merupakan singkatan dari kata structure) di dalam kode sumber program. Program yang kita buat mungkin terlihat akan bekerja dengan normal, dan tidak ada perbedaan dengan ketika kita menggunakan kata kunci class. Padahal, di antara class dan struct, terdapat perbedaan yang sangat besar, dan memahami perbedaan tersebut, merupakan salah satu aspek terpenting dalam belajar bahasa pemrograman berorientasi objek seperti halnya bahasa C#.
Input dan Output[sunting]
Pada saat-saat awal pengembangan program kita, kita hanyalah pengguna program tersebut, dan peranan kita pun berganti-ganti antara pengguna, penguji dan programmer. Program yang kita buat haruslah memiliki beberapa cara untuk menampilkan output bagi pengguna, dan juga mampu menerima input dari mereka. Kedua hal tersebut dinamakan juga dengan I/O atau Input dan Output.
Metode untuk melakukannya, yang sering disebut dengan model I/O, berbeda-beda antar program, tergantung cara kerja program tersebut. Program yang berjalan di atas sistem operasi Windows akan menerima input dari pengguna dengan menggunakan keyboard, mouse, dan beberapa kontrol lainnya (seperti halnya tombol dalam layar dan baris gulung/scroll bar). Program-program Windows menampilkan output kepada pengguna dalam bentuk teks dan grafik-grafik berwarna. Akan tetapi, program yang dimiliki di dalam perangkat lainnya, seperti di dalam oven microwave atau kulkas yang ada komputer digital di dalamnya, pasti memiliki model I/O yang sangat berbeda dengan model I/O yang digunakan oleh program Windows. Alat input yang digunakan mungkin hanya beberapa buah tombol saja yang diletakkan di panel depan, sementara alat outputnya adalah perangkat yang mampu mematikan atau menyalakan oven microwave, menyalakan lampu dan mematikannya, dan masih banyak lagi yang lainnya.
Seperti halnya bahasa C, bahasa C# tidak mengandung sesuatu yang spesifik yang mendukung I/O dengan pengguna. Mungkin, hal ini terdengar seperti sebuah kekurangan, akan tetapi sebenarnya bukan merupakan sebuah kekurangan. Mungkin, lebih tepatnya, C# dapat dikatakan tidak memiliki model I/O tertentu yang harus digunakan oleh programmer. Dan tugas Andalah (sebagai calon programmer) untuk memilih I/O yang hendak digunakan oleh program buatan Anda!
Meskipun demikian, untuk membangun program, baik itu program Windows, program Web, ataupun aplikasi console, kita dapat menggunakan kelas yang didefinisikan di dalam .NET Framework. Untuk menjelajahi kelas-kelas tersebut, mau tidak mau, kita harus mau membaca dokumentasi .NET Framework, yang bisa didapatkan secara online (melalui MSDN Library) ataupun secara offline (dengan menginstalasikan MSDN Library ke dalam komputer kita). Dengan membuka entri Class Library, kita dapat memperoleh informasi mengenai kelas-kelas yang disediakan oleh Microsoft .NET Framework.
Sekarang, yang harus Anda lakukan adalah "jangan merinding" melihat daftar yang sangat panjang yang muncul di dalam MSDN library. Sebagian besar hal yang terdapat di sana mungkin tidak akan kita gunakan di dalam program kita. Apa yang kita lihat di sini merupakan daftar ruang nama (dalam C# disebut juga dengan nama namespace), yang bertugas untuk membagi kelas-kelas .NET ke dalam beberapa kelompok fungsional tertentu. Ruang nama yang memiliki sebagian besar kelas dasar adalah ruang nama yang disebut sebagai System. Di dalam ruang nama tersebut, kita akan menemukan kelas Console, dan di dalam kelas Console terdapat metode-metode yang dapat digunakan oleh program yang kita buat untuk membaca input dari pengguna dengan menggunakan console dan menampilkan output kepada pengguna. Nah, itulah yang akan kita gunakan di dalam program di atas.
OKE. Kita mulai dengan output! Untuk menampilkan output ke dalam console, kita dapat menggunakan dua metode yang memiliki nama System.Console.Write (yang dapat dibaca "System dot Console dot Write") dan juga System.Console.WriteLine.
Sebagai contoh, untuk menampilkan nilai dari variabel TotalAbsensi kepada pengguna, kita dapat menambahkan baris berikut ke dalam program yang kita bangun dari awal tadi, tepat setelah ada pernyataan penugasan bagi variabel TotalAbsensi:
. . .
System.Console.WriteLine(TotalAbsensi);
. . .
Simpan, lakukan kompilasi ulang terhadap program tersebut, dan jalankan. Sekarang, Anda akan melihat angka keluar ke layar:
22
Press any key to continue.
Jika Anda melihat hasil program seperti di atas, maka program pertama yang Anda buat telah berjalan.
Kita juga bisa mencoba menulis sebagai berikut:
. . .
System.Console.Write(TotalAbsensi);
. . .
Dalam kasus ini, Anda akan mendapatkan:
22Press any key to continue.
Perbedaan di antara System.Console.Write dan System.Console.WriteLine adalah bahwa WriteLine akan mengganti baris setelah menampilkan hasil output-nya, sementara Write tidak. Metode Write dapat digunakan untuk menampilkan beberapa hal di dalam baris yang sama.
Setiap metode di dalam .NET Framework memiliki tiga buah nama. "WriteLine" adalah nama sebenarnya dari sebuah metode. Tentu kita telah mengetahui, apa itu metode, karena memang kita telah mempelajarinya dari metode Main—meski belum tahu definisinya. Definisi yang umum mengenai sebuah metode adalah koleksi kode yang melakukan sesuatu pekerjaan tertentu. Dalam kasus WriteLine, pekerjaannya adalah untuk menampilkan output program ke dalam layar console.
Nama kedua yakni "Console", adalah apa yang disebut dengan kelas (class). Kita juga tahu apa itu kelas, karena Programku adalah sebuah kelas. Seperti halnya Main yang merupakan sebuah method di dalam kelas Programku, metode WriteLine juga merupakan metode yang terdapat di dalam kelas Console.
Nama terakhir "System", adalah apa yang disebut sebagai ruang nama (namespace). Semua kelas di dalam .NET Framework disusun sedemikian rupa di dalam sebuah namespace yang membagi kelas-kelas tersebut ke dalam sebuah kelompok fungsional tertentu. Mungkin saja di sana ada sebuah namespace lainnya yang memiliki kelas dengan nama Console, dan hal tersebut sah-sah saja!
Dalam buku "The C# Language Specification", sebuah pernyataan seperti di bawah ini
System.Console.Write(TotalAbsensi);
disebut sebagai ekspresi permintaan (invocation expression), tetapi sebagian besar programmer menyebutnya sebagai pemanggilan metode (method call). Program yang kita buat di atas akan memanggil metode WriteLine, yang pada dasarnya akan menangani nilai dari variabel TotalAbsensi, yang harus diapit oleh tanda kurung buka dan kurung tutup setelah nama metode tersebut. Kita juga bisa mengatakan bahwa program kita memberikan variabel TotalAbsensi kepada metode WriteLine untuk diproses, atau kita juga bisa mengatakan bahwa variabel TotalAbsensi adalah argumen yang dimasukkan kepada metode WriteLine.
OKE! Ketika saya menjelaskan mengenai deklarasi metode Main, saya mengatakan bahwa metode Main tidak memiliki parameter input. Deklarasi Main di dalam program kita akan kita ketahui karena memang setelah nama metode, terdapat tanda kurung buka dan tanda kurung tutup.
static void Main()
    {

    }
Kata kunci void yang tertulis di atas menandakan bahwa Main tidak memiliki nilai kembalian (return value).
Dalam kode sumber yang membangun .NET Framework, deklarasi WriteLine mungkin akan berbentuk seperti ini:
namespace System
{
    public sealed class Console
    {
        public static void WriteLine(int value)
        {
            ...
        }
    }
}
Saya mengatakan "mungkin", karena memang kode sumber .NET Framework merupakan hak cipta yang dimiliki oleh Microsoft Corporation, dan orang biasa seperti saya belum pernah melihatnya—dan kalaupun melihatnya saya belum tentu paham. Kode kecil imajiner di atas juga mencakup beberapa kata kunci yang mungkin Anda anggap baru, karena memang baru Anda temukan (seperti kata kunci namespace, public, dan sealed). Tenang saja. Kita akan mendiskusikannya lebih lanjut seiring dengan waktu. Ruang nama System, yang mengandung kelas Console, memiliki banyak sekali kelas-kelas lainnya selain Console; sementara kelas Console, yang mengandung metode WriteLine, memiliki banyak metode lainnya.
Ngomong apa sih, bertele-tele? Yang ingin saya tekankan di dalam paragraf di atas adalah bahwa metode WriteLine dideklarasikan dengan sebuah parameter di dalam kurungan, setelah nama metodenya.
public static void WriteLine(int value)
{
    ...
}
Saat sebuah program menggunakan metode WriteLine, maka program tersebut akan meneruskan argumennya ke dalam metode tersebut. Perhatikan contoh kode di bawah ini:
System.Console.WriteLine(TotalAbsensi);
Saat program memanggil metode WriteLine, parameter value dalam metode WriteLine akan mengambil nilai argumen yang dimasukkan, yakni TotalAbsensi. Metode WriteLine di dalam .NET Framework akan menampilkan variabel value tersebut (yang kini memiliki nilai yang sama dengan nilai variabel TotalAbsensi) ke dalam layar console. Ketika WriteLine telah melakukan apa yang harus dikerjakannya, WriteLine dikatakan mengembalikan kendali kepada program yang memanggilnya, yang kemudian program tersebut melanjutkan eksekusinya.
Saya terus menerus menggunakan istilah "parameter" dan "argumen". Sebenarnya apa sih? Saya mengatakan bahwa metode WriteLine memiliki sebuah parameter yang diberi nama value. Saya juga mengatakan bahwa saat program memanggil metode WriteLine, maka program tersebut akan memasukkan argumen kepada metode tersebut, yang dalam contoh ini adalah TotalAbsensi. Terlihat jelas, bahwa di sana terdapat hubungan yang sangat dekat antara parameter dan argumen—bahkan banyak programmer pun sering menyebut dua hal tersebut seperti dibolak-balik. Akan tetapi, sebagai seorang programmer yang handal (amin), kita jangan mengikuti jejak-jejak yang kurang baik dari para programmer terdahulu: kita harus bisa membedakan antara kata argumen dan parameter. Lalu di mana perbedaannya? Perbedaan dasarnya adalah hanya satu perspektif, tergantung kita melihatnya dari dalam metode atau dari luar metode. Jika kita bisa "masuk" ke dalam metode WriteLine, maka kita akan melihat kode yang dapat menampilkan parameter value ke dalam layar console. Akan tetapi, kode tersebut tidak akan dieksekusi hingga ada sebuah program memanggil WriteLine dengan sebuah argumen.
Mari kita kembali lagi ke pemanggilan metode di atas:
System.Console.WriteLine(TotalAbsensi);
Beberapa programmer menggunakan spasi kosong untuk memisahkan tanda kurung dengan argumen, seperti di bawah ini:
System.Console.WriteLine( TotalAbsensi );
Dan hasilnya akan sama saja seperti bentuk yang di atas. Yang harus kita lakukan adalah mengeja System, Console, atau WriteLine dengan baik dan benar, dengan menggunakan kapitalisasi huruf yang tepat. Jika tidak, kompiler C# akan mengalami "kebingungan", sehingga program kita tidak akan berjalan. Nah lho!!!
Kita juga bisa meneruskan ekspresi numerik ke metode WriteLine. Sebagai contoh, kita dapat melenyapkan variabel TotalAbsensi dan hanya menggunakan tiga variabel lainnya yang membentuk TotalAbsensi, sehingga bentuknya adalah seperti berikut ini:
System.Console.WriteLine(JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa);
Jika memang kita hanya menginginkan komputer agar menambahkan angka-angka 10, 2 dan 10 (nilai-nilai variabel tersebut), kita juga bisa menghapus secara keseluruhan variabel-variabel tersebut, sehingga pernyataannya menjadi:
System.Console.WriteLine(10 + 2 + 10);
Akan tetapi, meskipun jika kita hanya berpura-pura bahwa kita membuat program yang melakukan hal yang berguna, adalah hal yang sangat baik untuk menggunakan variabel yang mengindikasikan apa yang harus dilakukan oleh program.
Mungkin kita mengira, bahwa metode WriteLine hanya mentransfer nilai dari angka di dalam variabel ke dalam layar console, akan tetapi sebenarnya WriteLine melakukan hal yang lebih dahsyat lagi dibandingkan dengan apa yang kita bayangkan selama ini. Angka-angka yang kita masukkan ke dalam komputer akan disimpan oleh komputer dalam bentuk pola dari bit-bit tertentu. Agar dapat ditampilkan ke dalam layar console dalam cara yang berguna, maka angka tersebut dapat diubah ke dalam bentuk teks, yang juga merupakan pola bit-bit tertentu, tetapi sangatlah berbeda dengan angka.
Jika memang program yang kita tuliskan memiliki banyak panggilan System.Console.WriteLine (seperti yang ditulis di dalam buku ini), maka kita dapat mengurangi kelelahan kita dalam mengetik, dengan membuang bagian namespace dari System.Console.WriteLine, sehingga yang tinggal adalah Console.WriteLine. Akan tetapi, yang harus Anda lakukan adalah memasukkan direktif using pada bagian awal sebuah program, sebelum deklarasi kelas dilakukan, seperti di bawah ini:
using System;
Kata kunci using selalu diikuti dengan nama namespace dan karakter titik koma. Baris ini dikenal juga sebagai direktif (directive), ketimbang dikenal sebagai sebuah statemen, karena memang baris tersebut tidak memiliki peranan yang penting atau sama sekali tidak memiliki peranan sama sekali saat program akhirnya dijalankan. Baris tersebut hanya menginstruksikan kompiler bahwa kelas apapun yang dirujuk ke dalam program mungkin merupakan anggota dari namespace System.
Jika kita memasukkan direktif seperti itu di dalam program kita, kita dapat memanggil WriteLine dengan hanya menuliskan nama kelas dan nama metodenya saja, seperti di bawah ini:
using System;
class Programku
{
    static void Main()
    {
        int JumlahHariIzin, JumlahHariAlfa, JumlahHariSakit;
        int TotalAbsensi;

        JumlahHariIzin = 10;
        JumlahHariAlfa = 2;
        JumlahHariSakit = 10;

        TotalAbsensi = JumlahHariIzin + JumlahHariSakit + JumlahHariAlfa;

        Console.WriteLine(TotalAbsensi);
    }
}
Jika kita lihat pada kode di atas, memang penggunaan direktif using di sini tidak mampu menghemat cara pengetikan yang kita lakukan, karena memang di sini hanya ada satu buah metode yang terdapat di dalam ruang nama System yang kita panggil. Akan tetapi, jika kita menulis program dengan banyak sekali rujukan ke dalam kelas-kelas yang berada di dalam ruang nama System, maka hal ini jelas sangat menghemat pengetikan. Karena dapat menghemat pengetikan, maka saya akan menggunakannya di dalam program-program selanjutnya di dalam artikel ini.
Diperoleh dari "https://id.wikibooks.org/w/index.php?title=Belajar_Bahasa_C_sharp/Bab_II&oldid=59894"
Kategori:
Halaman yang menggunakan tag source usang
Pemrograman C sharp
Menu navigasi
Perkakas pribadi
Belum masuk log
Pembicaraan
Kontribusi
Buat akun baru
Masuk log
Ruang nama
Halaman
Pembicaraan
Bahasa Indonesia
Tampilan
Baca
Sunting
Lihat riwayat
Lainnya
Pencarian
Navigasi
Halaman Utama
Perubahan terbaru
Halaman sembarang
Halaman baru
Komunitas
Warung kopi
Bantuan
Wikibooks
Tentang Wikibuku
Bak pasir
Menyumbang
Bagikan
Perkakas
Pranala balik
Perubahan terkait
Unggah berkas
Halaman istimewa
Pranala permanen
Informasi halaman
Kutip halaman ini
Cetak/ekspor
Buat buku
Unduh versi PDF
Versi cetak
Bahasa lain
Tambah pranala
Halaman ini terakhir diubah pada 11 Agustus 2017, pukul 23.32.
Teks tersedia di bawah Lisensi Creative Commons Atribusi-BerbagiSerupa; ketentuan tambahan mungkin berlaku. Lihat Ketentuan Penggunaan untuk lebih jelasnya.

annotation: short_sentences header footer

label: ru

label: ceb

label: sv

label: pt

label: fr

label: ko


content: Summarecon Serpong mengadirka hunian baru Cluster Rossini Symphonia Summarecon Serpong. setelah sukses dengan 2 cluster sebelumnya, cluster rossini memiliki konsep hunian yang yaman aman dan dengan udara yang segar, dengan tiga varian tipe unit yang berbeda menjadikan cludster rossini cocok untuk menjadi pilihan baik untuk rumah tinngal maupun untuk investasi jangka panjang.

warc-type: conversion

content-type: text/plain

warc-identified-content-language: ind,eng

label: id


content:
Pada suatu waktu, dia sering muncul di pesta-pesta saat bergaul dengan Barco, dan saya selalu berpikir itu menyedihkan melihatnya memberikan suntikan dengan wajahnya yang merah-panas.
Karena itu, para bangsawan secara alami melihat bekas luka Romawi.
Saya tidak tahu apa alasan mereka memutuskan pernikahan kecuali mereka adalah pihak yang terlibat, tetapi saya tidak dapat melihat Roman dengan baik ketika saya melihat perilaku mereka yang biasa.
Ngomong-ngomong.
Semua orang menahan napas ketika Roman muncul.
Dmitry tidak menyusut di latar belakang, tetapi melihat seseorang yang berbeda dari orang Romawi yang mereka kenal.
‘Apakah itu Roman Dmitry?’
‘Apakah ini sangat berbeda dari sebelumnya?’
kenangan mereka.
Roman adalah pria yang tidak tampan.
Perawakannya yang tidak terlalu tinggi membuatnya terlihat lebih kecil karena fisiknya yang kecil, dan kulitnya yang kotor benar-benar memangkas citra Roman.
Selain itu, bahkan kiprahnya sembrono.
Mengetahui bahwa putra kedua Dmitry berbeda dari Roman, desas-desus beredar bahwa Roman berasal dari keluarga rendah dan tidak dapat menyembunyikan kekasarannya.
Dan sekarang.
Itu benar-benar berbeda dari saat itu.
Gaya berjalan Roman tenang, dan bahu lebar serta otot-ototnya yang tidak bisa disembunyikan bahkan dengan pakaian pun terlihat.
Apalagi kulitnya benar-benar bersih.
Di masa lalu, ada banyak masalah di wajah, jadi perhatian banyak tersebar, tetapi mata hitam dan bibir merah sepertinya memberi poin pada kulit putih susu.
Akhirnya.
Pakaian cantik membuat tanda naga.
Pakaian dengan benang emas dengan latar belakang hitam menekankan karisma Roman sepenuhnya.
gumam gumaman.
“Apakah Roman awalnya terlihat seperti ini?”
“… … sama sekali tidak Pada saat itu, dia lebih pendek dariku, tapi sekarang, bahkan pada pandangan pertama, perbedaannya adalah tingginya.”
Bangsawan itu bergumam.
Di masa lalu, Roman berusaha keras untuk mendekorasi dirinya sendiri dan memenangkan hati orang, tetapi dia tidak dapat menciptakan suasana yang dia miliki sekarang.
Bukan hanya perbedaan penampilan. Itu adalah perbedaan dalam atmosfer yang telah dikumpulkan orang selama hidup mereka, dan kesembronoan kehidupan Romawi, yang tidak dapat mencapai apa pun, terungkap dalam penampilannya.
Roman dan Baek Joong-hyuk.
Keduanya menjalani kehidupan yang berbeda.
Baek Joong-hyeok, yang berdiri di puncak dan memandang rendah orang lain, memiliki kekuatan untuk menarik perhatian sekaligus, meninggalkan penampilannya.
penampilan seseorang.
Itu adalah faktor penting.
Pada awalnya, semua orang akan menjauh dari Roman, tetapi perubahan itu membuatku ingin berbicara dengannya setidaknya sekali.
Apakah begitu?
Beberapa bangsawan mendekati Romawi terlebih dahulu.
Bangsawan pertama yang didekati adalah seorang wanita.
Setelah bertanya kepada bangsawan lain tentang Roman, dia tidak bisa menahan rasa penasarannya pada penampilan yang berbeda dari reputasinya.
“Suatu kehormatan bertemu denganmu. Namaku Sophia dari keluarga Grisel.”
secara luas.
Roma berhenti berjalan.
Saat matanya yang tenang dan tenang menoleh ke Sophia, Sophia berbicara dengan wajah yang sedikit malu.
“Anda mungkin tidak akrab dengan nama keluarga Grisel. Ayah saya, Baron Grisel, telah mendedikasikan dirinya untuk Kerajaan Kairo dari generasi ke generasi. Ini bukan keluarga yang hebat, tapi sejarahnya tidak terlalu pendek.”
Sophia adalah putri seorang bangsawan kelas bawah.
Dia menetap di sebuah tanah kecil di pinggiran, dan posisinya di kerajaan sangat rendah sehingga orang tidak tahu bahwa keluarga bernama Grisel telah mewarisi baron dari generasi ke generasi.
Tetap saja, alasan aku bisa menghadiri pesta keluarga Barco adalah karena penampilan Sophia yang cantik.
Penampilan cantik dan syarat menjadi wanita bangsawan terpenuhi menjadi alasan menerima ajakan putra sulung Barco itu.
Apakah begitu?
Sophia menjelaskan tentang keluarganya.
Fakta bahwa dia berasal dari aristokrasi yang lebih rendah menurunkan harga dirinya, dan dia harus menjelaskan dirinya kepada siapa pun yang dia temui.
Sebaliknya.
Barco dan Dmitry berbeda.
Tidak perlu menjelaskan.
Tidak mengetahui nama mereka di daerah timur laut Kerajaan Kairo seperti tidak memenuhi syarat untuk bangsawan.
Saat itu.
“Keluarga Grisel mengetahuinya dengan baik. Sebagai seorang bangsawan di Kairo, tidak mungkin Anda tidak tahu nama keluarga dengan sejarah lebih dari 100 tahun.”
“… … Apakah kamu benar-benar mengenal keluarga Grisel?”
kata-kata Romawi.
Mata Sofia melebar.
Saya hanya berpikir untuk berbicara dengan Roman, tetapi saya tidak tahu bahwa Roman mengenal keluarga Grisel.
‘Apakah Anda hanya berpura-pura tahu?’
keraguan muncul.
Kadang-kadang ada
Tidak mengenali keluarga bangsawan adalah tindakan kasar, jadi mereka berpura-pura tahu meski tidak tahu.
Roma akan sama.
Kalau tidak, bagaimana Anda tahu keluarga Grisel, yang tidak pernah membuat nama untuk diri mereka sendiri di pinggiran?
Ngomong-ngomong.
“Saya pernah mendengar ayah saya menjelaskan tentang keluarga Grisel. Mereka adalah keluarga yang telah mendirikan rumah mereka di daerah timur laut selama bertahun-tahun, dan kayu yang mereka hasilkan terkenal dengan kualitas yang sangat baik di Kerajaan Kairo. Jadi, bukan? t pola keluarga juga pohon raksasa dengan cabang lebar? Saya mendengar bahwa saudaramu baru-baru ini berhasil dalam sensitivitas mana, dan saya dengan tulus mengucapkan selamat kepadanya atas pencapaiannya.
‘… … Ah!’
Saat.
Keraguan Sophia hancur.
Sekarang saya bisa yakin.
Roman itu benar-benar tahu tentang keluarga Grisel, dan dia tidak perlu menjelaskannya sendiri.
Orang-orang benar-benar licik
Fakta bahwa Roman mengenali keluarga Grisel.
Sophia berpikir begitu.
‘Mungkin Roman Dmitry adalah pria yang berbeda dari rumor yang beredar.’
Percakapan pertama di pesta sosial.
Itu adalah momen yang mengubah mata orang-orang yang menonton adegan itu.
* * *
2 minggu yang lalu dari sekarang.
Mengumumkan niatnya untuk menghadiri pesta sosial, Roman meminta bantuan Hans yang belum pernah dia lakukan sebelumnya.
“Hans. Mulai sekarang, bawa semua informasi tentang keluarga yang berada di daerah timur laut. Semua tentang keluarga macam apa yang ada di bagian timur laut Kerajaan Kairo, apa pola keluarga itu, dan apa yang terjadi baru-baru ini. Untuk menghadiri pesta sosial, saya ingin mengetahui latar belakang orang-orang yang akan saya temui.”
Itu adalah permintaan yang tidak terduga.
Namun, Hans tidak mengajukan pertanyaan seperti biasa, dan memerintahkan semua informasi dari daerah sekitarnya seperti yang diinginkan Roman.
Dan.
Saya membaca informasi tersebut setiap kali saya memiliki waktu luang.
Itu benar-benar menjengkelkan.
Untuk mempelajari pola keluarga yang tidak Anda ketahui, dan untuk membaca informasi dari orang yang belum pernah Anda temui.
Namun, Roman tahu bahwa ini perlu.
‘Saya bukan orang biasa. Sebagai putra tertua dari keluarga Dmitry, ia menghadiri pesta sosial Barco atas nama keluarga. Jadi saya harus memiliki kesopanan minimum. Keluarga macam apa yang akan saya temui, dan bagaimana keluarga itu diturunkan? Karena saya dianggap sebagai brengsek Dmitry, dibutuhkan banyak upaya untuk memenangkan hati orang lain.’
Ketika Anda mencapai puncak sihir.
Baek Jung-hyeok mempelajari peran seorang penguasa.
Dalam dunia makanan lemah dan kuat (弱肉強食), tentu saja, kekuatan adalah nilai nomor satu, tetapi pengalaman telah menunjukkan betapa pentingnya mengingat nama dalam membentuk hubungan manusia.
Ribuan, puluhan ribu pelayan.
Mereka memberikan hidup mereka kepada Baek Joong-hyuk ketika mereka memanggil nama mereka, yang belum pernah mereka ajak bicara sebelumnya.
Itu lucu.
Hanya mengingat nama.
Orang-orang meneriakkan nama Baek Jung-hyeok dan mengatakan bahwa tidak ada gunanya memberikan nyawanya untuk Roman.
‘Hubungan antara orang-orang dimulai dengan hal-hal terkecil. Orang yang mengenal saya sebagai kutu buku Dmitry akan berprasangka buruk sejak awal, tetapi jika saya mengingat dan mengenali nama mereka, sikap mereka akan berubah. Untuk mendapatkan perhatian orang, itu adalah cara yang tepat untuk memberi mereka perhatian terlebih dahulu, dan saya harus berusaha keras karena saya telah memutuskan untuk hidup sebagai Roman Dmitry.’
Sophia Grissel.
Roman tidak mengenalnya.
Tetapi ketika dia berbicara dengannya dan mengidentifikasi dirinya sebagai Grisel, Roman mengingat semuanya.
‘Keluarga Grisel… ….’
ungkapan mereka.
sejarah mereka.
Dan, hingga hal-hal besar yang terjadi pada mereka baru-baru ini.
Dalam suasana bersahabat antara Roman dan Sofia, para bangsawan yang sejak saat itu ragu-ragu mulai berduyun-duyun ke Roman.
Pesta menjadi berisik.
Di tengah semua itu adalah Romawi.
“Begitulah caramu melihat putra tertua dari keluarga Bolt. Tentu saja, kamu mengenal keluarga Bolt dengan baik. Bukankah Viscount Bolt pergi ke medan perang dan membuat prestasi besar di masa lalu? Saat aku membaca kejadian saat itu ke sebuah buku, saya pikir saya harus menunjukkan diri saya tidak malu di medan perang seperti Viscount Bolt di masa depan.”
“Apakah ibumu baik-baik saja? Baru-baru ini aku mendengar bahwa kamu memiliki penyakit kronis, dan semakin dingin cuacanya, semakin baik kamu harus menjaga kesehatanmu.”
“Apakah itu 10 tahun yang lalu? Kesepakatan dengan Keluarga Pahlawan membuat keuntungan besar bagi Dmitry. Ayahku selalu memberitahuku bagaimana merawat keluarga Pahlawan, jadi aku juga sangat berterima kasih kepada keluarga Pahlawan.”
Roma.
Dia adalah puncak sihir, dan pada suatu waktu dia membangun kekuatan yang tak terbantahkan.
Orang-orang mengatakan bahwa itu berkat kekuatan yang kuat, tetapi hanya dengan sendirinya itu tidak dapat sepenuhnya diatur.
kebajikan dari mereka yang berkuasa.
Roman tahu pentingnya bersosialisasi.
Hanya mengingat orang lain dan menciptakan lingkungan di mana orang lain dapat berbicara adalah betapa sulitnya kerangka kekuasaan.
pesta Barco.
Itu adalah tren yang berbeda dari yang diharapkan.
Pada awalnya, saya berpikir bahwa idiot Dmitry yang seperti kelelawar akan diganggu, tetapi para bangsawan berbondong-bondong ke dia karena penampilannya yang berubah dan cara dia mengingat nama lawannya dan memberikan pujian.
Mereka yang tidak mengenal Roman menyukai Roman, dan mereka yang mengenal Roman melihat fakta bahwa Roman telah berubah secara berbeda.
dekade.
Reputasi Roman menumpuk satu demi satu.
Bahkan setelah diberitahu tentang perpisahan itu, dia diperlakukan sebagai penyebab masalah, dan dia mencairkan suasana dengan beberapa patah kata.
kata seorang bangsawan.
“Sepertinya aku salah menilai Roman-sama selama ini. Kamu selalu mabuk, jadi kupikir akan sulit untuk melakukan percakapan tanpa alkohol, tapi aku tidak menyangka itu akan menjadi sangat menyenangkan dan lucu! Aku harap bahwa keluarga Bolt dan Dmitry akan terus menjaga hubungan baik.”
puncak baut.
Untuk satu alasan dia memuji ayahnya, dia dalam suasana hati yang baik, dan dia tersenyum cepat dengan wajah memerah.
Suasana menjadi terbalik.
Sekarang, tidak ada yang membenci Roman.
Rupanya, orang-orang yang baru saja mengatakan bahwa Roman adalah masalahnya juga menyelinap ke arahku dan tertawa dan mengobrol denganku.
Dmitry.
Kekuatan sebenarnya di wilayah timur laut.
Roman belum dirawat oleh orang-orang bahkan dengan Dmitry di punggungnya.
Alasannya adalah meskipun dia adalah putra tertua, peluang untuk mewarisi keluarga sangat tipis, dan orang itu sendiri ringan dan sembrono, sehingga orang berusaha menghindarinya.
Tapi sekarang berbeda.
Roman, yang telah berubah penampilan, tahu bagaimana menghadapi orang, dan dalam suasana yang bersahabat, orang-orang menyadari posisi Roman terlambat.
Roman adalah putra tertua Dmitry.
Jika sebenarnya dia orang yang baik, tentu tidak ada salahnya bersikap ramah.
Saat itu.
Melalui kerumunan, pelayan Barco mendekat dan berkata,
“Roman. Tuan kami mengundang kami ke ruang rahasia.”
Pelayan sedang berbicara tentang tuannya.
Dia hanya memiliki satu identitas.
Anthony Barco.
Pada pertemuan yang telah ditunggu-tunggunya, Roman meminta maaf kepada para bangsawan di sekitarnya dan berkata kepada pelayannya.

label: en


content:
Sebagai pecinta permainan poker idn, pasti Anda dapat membedakan apa keuntungan dari versi online dengan versi konvensional atau offline. perjudian dapatkan di sini adalah lebih berkualitas untuk mengikuti perubahan dunia teknologi. Dengan demikian, pemain menjadi mudah diakses.
Selain itu, semua dekat pemain kasino yang biasanya rumah ke pusat kota. Dengan versi online dari permainan Anda tidak perlu pergi setiap tempat di mana Casino bahkan jika hanya untuk menikmati permainan. Dan ada banyak keuntungan lain keuntungan dari bermain poker versi online.
Lebih sederhana dan fleksibel
Satu keuntungan Semua orang akan tahu, versi online dari permainan poker ini sangat fleksibel. Seperti yang kita dijelaskan di atas bahwa petaruh tidak perlu pergi tempat untuk menikmati semua jenis permainan. Bahkan petaruh dapat menikmati permainan di rumah sehingga menghemat biaya perjalanan.
Tidak hanya menghemat uang, untuk menghemat waktu jika petaruh Travel dalam waktu dapat digunakan untuk bermain. Karena versi poker online game idn, dapat dinikmati setiap saat di mana para pemain memiliki waktu luang. Jadi Anda mencari tempat untuk bermain kasino.
Berbeda dengan versi konvensional atau keluar dari permainan di mana pemain harus berkumpul di tempat atau rumah kasino. Bermain di meja poker nyata dan kesepakatan dengan hanya di depan sehingga tidak fleksibel seperti versi online dari permainan. Tidak heran sehingga beton seperti untuk bermain poker versi terbaru.
Dapat bermain menggunakan Smartphone
Keuntungan lain dari versi online poker adalah setiap jenis permainan dapat dinikmati melalui gadget. Pada awalnya, pemain harus memiliki akses ke game di komputer mana semua pemain tidak memiliki perangkat komputasi. Dengan demikian, jago bertaruh harus mencari solusi lain yang datang ke rental komputer lembaga.
Tapi khawatir karena sekarang ada game poker gadget versi sehingga Anda dapat menikmati permainan poker idn hanya dengan ponsel saja, namun berdasarkan iOS dan Android. Proses karya bergabung di situs, Anda harus membuat akun atau mendaftar.
Setelah registrasi dan memiliki account, Anda dapat mulai men-download aplikasi yang disediakan untuk agen. Download aplikasi sesuai dengan gadget Apakah Anda memiliki Android atau iOS. Setelah menginstal aplikasi yang Anda download, Anda bebas untuk bermain menggunakan setiap kali smartphone.
Mungkin Anda perlu koneksi Internet untuk mengakses permainan, tapi jangan khawatir karena sekarang banyak tempat umum yang menawarkan wifi gratis. Anda dapat menggunakan fasilitas dari lembaga-lembaga publik agar tidak mengeluarkan biaya tambahan.
Peluang Menang Besar poker idn
Mungkin Anda bertanya-tanya mengapa versi online poker dapat membuat kesempatan lebih besar untuk kemenangan menjadi? Hal ini sederhana, jika Anda bermain dengan cara konvensional maka Anda harus berhubungan langsung dengan pemain lain dalam cukup ramai atau berisik bahwa banyak orang menghadiri.
Sementara itu, ketika Anda memainkan versi online, Anda dapat mengambil tempat yang tenang untuk berkonsentrasi lebih baik. Karena permainan poker juga memerlukan upaya yang tinggi begitu dekat dengan kemenangan. Anda dapat memilih untuk memainkan posisi yang lebih nyaman karena tidak harus duduk di kursi Poker.
Yang paling penting adalah memilih situs poker idn, memilih situs yang benar-benar handal sebagai POKER1001. Fasilitas beragam sehingga petaruh dapat menikmati permainan dengan benar. POKER1001 juga menyediakan versi online idn dari permainan poker yang Anda dapat menikmati di rumah dengan menggunakan smartphone.
baca juga : Cara Mendapatkan Chip Poker Gratis, Bermain Tanpa Setor Modal
Author adminPosted on October 4, 2020 Categories keunggulan poker onlineTags aplikasi android, bandar ceme terbaik, bandar ceme terpercaya, bonus new member, bonus turnover, cara menang domino qq, Cara Menang Judi, daftar judi poker Bonus poker, deposit poker via dana, deposit via pulsa, dominoqq online, Judi Capsa, Judi Ceme, judi online, Judi Online Pulsa, judi poker terbaik, judi uang asli, link judi, poker deposit pulsa, Poker Online Android, Poker pakai pulsa, poker1001, qq online, situs deposit poker 10K, situs idn terpercaya, Situs Judi
Cara Mendapatkan Chip Poker Gratis, Bermain Tanpa Setor Modal
Sama bermain poker dengan chip dan Chip Poker Gratis yang dapat diperoleh di situs poker khususnya. Mungkin sebagai pemain pemula Anda sudah familiar dengan chip poker jangka mana Anda bermain poker atau bagaimana paris poker dengan uang atau uang riil.
Ketika Anda bermain di Casino atau agen, Anda bermain secara real time dengan pemain lain lawan data mainan. Jadi di tempat-tempat yang Anda perlu membawa uang tunai sebagai paris biasanya ditempatkan di meja poker. Tapi untuk permainan poker online adalah sedikit berbeda dari permainan poker klasik.
Poker game akan akrab dengan dana deposito berjangka disimpan kemudian dan bertukar terhadap chip dan memakai saldo akun permainan Anda. Chip adalah apa yang akan digunakan sebagai Paris atau juga dikenal sebagai mata uang virtual untuk game on line.
Tentang Chip Permainan Poker
Sebelum membahas chips poker lebih bebas, maka Anda harus tahu terlebih dahulu pada chip itu sendiri. Bahkan, chip itu sendiri tidak hanya digunakan untuk game online karena permainan poker klasik sudah mulai dilaksanakan dengan sebuah chip.
Chip pada permainan poker klasik memiliki karakteristik fisik yang berbeda disesuaikan dengan chip itu sendiri nominal. Chip ini digunakan di tempat uang untuk paris karena ada banyak unsur kecurangan pemain dan mengambil uang taruhan di meja poker.
Mengantisipasi penipuan seperti maka agen menggunakan chip yang ditempatkan di meja poker. Satu-satunya pemenang dapat menebus token uang tunai. Oleh karena itu diminimalkan jika penipuan paris atau uang di meja poker disembunyikan.
Diperoleh Chip Can Gratis?
Untuk dapat memiliki chip pada saldo rekening permainan Anda, maka Anda harus membuat transaksi deposito. Seperti yang telah kita dijelaskan di atas di mana deposit adalah sebuah operasi penting yang membuat Anda menyatakan sejumlah uang dan kemudian membeli uang virtual atau substansi.
Namun, ada chip poker gratis Anda bisa mendapatkan secara gratis di situs poker sedang diskon Dimiliki. Biasanya promo berlaku untuk pemain pemula atau pemain yang baru saja membuat account di situs poker dan dapat digunakan hanya sekali pada awal permainan.
Jika Anda ingin chip poker tanpa melepas ibukota, maka Anda dapat menonton situs poker yang berlaku periode promo. Dengan cara ini, Anda bisa mendapatkan keuntungan atau keuntungan tanpa harus menyetorkan sejumlah uang taruhan.
Dapatkan modal gratis dengan cara lain
Gratis chip juga dapat diperoleh oleh pemain yang baru bergabung di salah satu situs online poker. Karena setiap situs menawarkan manfaat poker masing-masing termasuk dalam hal bonus atau promosi. Ada beberapa spesial Anda membuat get seperti chip gratis:
1. Bonus anggota baru, Anda bisa mendapatkan setelah pendaftaran
2. deposit bonus yang dapat Anda lakukan setelah selesainya transaksi
3. referral bonus adalah bahwa Anda dapatkan setelah mengundang pemain lain untuk bergabung dengan situs poker yang sama
4. bonus premi bulanan untuk mingguan tergantung pada situs poker yang anda ikuti
Bonus poin di atas akuisisi dapat diperoleh dalam bentuk chip yang akan menambah saldo rekening poker Anda. Jadi, ketika Anda ingin
mendapatkan token gratis Anda hanya perlu meminta badan karena banyak bonus Anda bisa mendapatkan hal yang sama dengan chip poker gratis.
Baca juga : Tips Bermain Taruhan Livebet88 Online Secara Aman Dan Lancar
Author adminPosted on August 11, 2020 Categories Tips & TrickTags aplikasi android, bandar ceme terbaik, bandar ceme terpercaya, bonus new member, bonus turnover, cara menang domino qq, Cara Menang Judi, daftar judi poker Bonus poker, deposit poker via dana, deposit via pulsa, dominoqq online, Judi Capsa, Judi Ceme, judi online, Judi Online Pulsa, judi poker terbaik, judi uang asli, link judi, poker deposit pulsa, Poker Online Android, Poker pakai pulsa, poker1001, qq online, situs deposit poker 10K, situs idn terpercaya, Situs Judi