21 January 2015

C#: Tipe Data Variable

Dalam C# variable dikategorikan pada beberapa tipe yaitu, Value, Reference, dan Pointer.

Value Type:
- Disimpan di stack memory
- Non Garbage Collected
- Berasal dari
namespace System.ValueType
- Perubahan nilai pada satu variabel tidak berpengaruh pada nilai variabel yang lain 


Berikut ini value type pada C# 2010.

TipeDeskripsiRangeNilai Default
boolmewakili nilai true/falseTrue atau FalseFalse
bytebilangan dalam 8 bit biner dan hanya berisi bilangan non-negatif0 to 2550
charkarakter unicode, 16-bit U +0000 to U +ffff'\0'
decimalbilangan decimal dengan kapasitas penyimpanan 8 byte(-7.9 x 1028 to 7.9 x 1028) / 100 to 28 0.0M
doublebilangan pecahan dengan  kapasitas penyimpanan 8 byte(+/-)5.0 x 10-324 to (+/-)1.7 x 103080.0D
floatbilangan pecahan dengan  kapasitas penyimpanan 4 byte-3.4 x 1038 to + 3.4 x 10380.0F
intbilangan dengan kapasitas penyimpanan 4 byte, dan bisa digunakan untuk menyimpan bilangan negatif.-2,147,483,648 to 2,147,483,6470
longbilangan dengan besaran 8 byte, dan bisa digunakan untuk menyimpan bilangan negatif.-923,372,036,854,775,808 to 9,223,372,036,854,775,807 0L
sbytesama dengan byte hanya saja bisa berisi bilangan negatif-128 to 1270
shortbilangan dengan kapasitas penyimpanan sampai 16 bit biner ( 2 bytes ) dan bisa berisi bilangan negatif-32,768 to 32,7670
uintsama dengan tipe data int, tapi hanya bisa digunakan untuk menyimpan bilangan non-negatif.0 to 4,294,967,2950
ulongsama dengan tipe data long hanya saja dikhususkan untuk bilangan non-negatif0 to 18,446,744,073,709,551,6150
ushortsama dengan short tapi hanya berisi bilangan non-negatif0 to 65,5350

Reference Type:
- Disimpan di Heap Memory
- Garbage Collected
- Berasal dari
namespace System.Object
- Satu object dapat direferensi oleh lebih dari satu variabel
- Perubahan nilai pada object referensi yang sama akan mempengaruhi nilai pada object lainnya


Contoh tipe reference built-in yaitu: object, dynamic and string.
OBJECT TYPE
Tipe object adalah class dasar utama untuk semua tipe data di C# Common Type System (CTS). Object adalah nama lain dari class System.Object. Jadi tipe object dapat diberi nilai apapun dengan tipe lain.

Saat value type dikonversi ke object type, prosesnya disebut boxing sebaliknya saat sebuah object type dikonversi ke value type, disebut unboxing.

object obj;
obj = 250; // contoh boxing


DYNAMIC TYPE
Kita bisa menyimpan tipe data nilai apapun pada dynamic type variable. Tipe variable ini adalah mengambil tempat saat runtime.
Syntax untuk mendeklarasikannya:
dynamic <nama_variable> = value;
Contoh:
dynamic d = 20;

Dynamic type mirip dengan object type kecuali saat object type mengambil tempat penyimpanan yaitu saat compile sementara dynamic type mengambil tempat penyimpanan run time.

STRING TYPE 
Tipe ini mengizinkan kita untuk memberi nilai string pada sebuah variable. String type merupakan nama lain dari class System.String. Dia berasal dari object type. Nilai untuk sebuah string type bisa diberikan dengan dua bentuk: quoted dan @quoted.
Contoh:
String str = "Mari belajar C#";
Contoh dengan menggunakan @quoted:
@"Mari belajar C#";

Selain tiga diatas reference type ada yang merupakan user-defined yaitu berupa: class, interface, atau delegate.

Pointer Type:
Pointer type menyimpan memori yang dialamatkan dari type lainnya. Pointers pada C# memiliki kapabilitas yang sama dengan C atau C++.

Syntax untuk mendeklarasikan pointer type:
type* identifier;

Contoh:
char* cptr;
int* iptr;


Kesimpulannya, saya juga masih agak bingung hehe... >...<
Lebih jelas nya emang pas praktek sih yah
Jadi notes dulu aja deh...


Click here if you like this article.


3 comments:

joe sath said...

numpang tanya buk :)
misalnya kita punya variabel level dan datanya = 1
seperti ini :
Dim level As Byte = "1"

pertanyaannya untuk membaca variabel level tersebut untuk dimasukkan dalam fungsi sql select kykmana buk ?
biasanya klo masukan teksbox seperti ini :

[username]='" & txt_Username.Text & "'

nah klo untuk manggil variabel apa seperti ini buk ?

[admin] > level

rani irsan said...

dalam C#?

byte level = 1;
string sql;
sql = "SELECT * FROM tbluser WHERE userlevel = '" + level.ToString() + "'";

gitu bukan maksud nya?

joe sath said...

mmm ,, iya ,, makasih ya buk ,,

(^_^)