- Tipe Value
- Tipe Reference
- Tipe Pointer (Tidak semua bahasa modern ada tipe ini, kebanyakan bahasa pemrograman baru tidak menyertakan ini untuk mempermudah manajemen memori)
1. Tipe Value
Variabel dengan tipe value dapat di isi dengan nilai secara langsung, Tipe data ini didefinisikan dalam class library System.ValueType.
Tipe value atau nilai akan secara langsung berisi sebuah data. Sebagai contoh int, char and float. Yang akan menyimpan angka, angka dan angka floating point. Ketika kita mendefinisikan tipe int secara otomatis sistem akan memsan sejumlah ruang memory untuk menyimpan nilai.
Berikut ini adalah daftar tipe value dalam C#.
Type | Represents | Range | Default Value |
---|---|---|---|
bool | Boolean value | True or False | False |
byte | 8-bit unsigned integer | 0 to 255 | 0 |
char | 16-bit Unicode character | U +0000 to U +ffff | '\0' |
decimal | 128-bit precise decimal values with 28-29 significant digits | (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 | 0.0M |
double | 64-bit double-precision floating point type | (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 | 0.0D |
float | 32-bit single-precision floating point type | -3.4 x 1038 to + 3.4 x 1038 | 0.0F |
int | 32-bit signed integer type | -2,147,483,648 to 2,147,483,647 | 0 |
long | 64-bit signed integer type | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 | 0L |
sbyte | 8-bit signed integer type | -128 to 127 | 0 |
short | 16-bit signed integer type | -32,768 to 32,767 | 0 |
uint | 32-bit unsigned integer type | 0 to 4,294,967,295 | 0 |
ulong | 64-bit unsigned integer type | 0 to 18,446,744,073,709,551,615 | 0 |
ushort | 16-bit unsigned integer type | 0 to 65,535 | 0 |
Untuk mendapatkan jumlah memory yang digunakan oleh tipe value kita dapat menggunakan method sizeof. Dengan memanggil method sizeof(Type) kita akan mendapatkan alokasi memori yang digunakan dalam bytes. Berikut adalah contoh code untuk menampilkan ukuran tipe int.
using System; namespace DataTypeApplication { class Program { static void Main(string[] args) { Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); } } }
Maka program akan memberikan output berupa ukuran dari tipe int. Keluaran program akan menghasilkan:
Size of int: 4
2. Tipe Reference
Tipe reference tidak menyimpan data asli tetapi menyimpan referensi ke variable yang lain. Dengan kata lain tipe reference akan menyimpan alamat memori dari variabel yang lain. Jika ada beberapa variabel menyimpan alamat memory yang sama, kemudian ada perubahan pada salah satu variabel maka varibel yang lain akan otomatis berubah juga. Contoh dari reference built-in adalah object, dynamic dan string.
2.1 Tipe Object
Tipe Object adalah bagian paling utama dalam bahasa pemrograman modern berbasis object (OOP). Dalam C# object didefinisikan dalam class libary System.Object. Tipe object dapat menyimpan tipe nilai yang lain, tipe value, tipe reference, tipe built-in atau tipe buatan user.
Ketika sebuah tipe dikonversikan ke object hal ini disebut sebagi boxing, sebaliknya mengkonversi dari tipe object ke tipe tertentu di sebut unboxing.
object obj; obj = 100; // ini adalah boxing
2.2 Tipe Dynamic
Kita bisa menyimpan data kedalam tipe dynamic, pengecekan tipe data pada tipe dynamic akan dilakukan saat program dijalankan (run time).
Syntax untuk mendeklarasikan tipe dynamic:
dynamic= value;
Contoh:
dynamic d = 20;
Tipe dynamic pada dasarnya sama dengan tipe Object, yang membedakan adalah waktu konversi data. Tipe object akan dikonversi pada saat compile program sedangkan tipe dynamic akan dilakukan saat program berjalan (run time).
2.3 Tipe String
Tipe string akan menyimpan semua data yang bertipe string. Pada C# tipe string akan ditangani oleh System.String. Untuk mendeklarasikan string kita bisa menggunakan quoted atau @quoted
Sebagai contoh:
String str = "Seniman Koding";
atau:
String str = @"Seniman Koding";
Sedangkan untuk tipe user-defined adalah class, interface atau delegate, yang akan kita bahas pada bab selanjutnya.
3. Tipe Pointer
Tipe data pointer adalah tipe yang akan menyimpan alamat memori dari tipe data yang lain. Pinter pada C# sama halnya pointer pada C/C++.
Syntax untuk mendeklarasikan pointer adalah sebagai berikut:
type* identifier;
Contoh:
char* cptr; int* iptr;
Kita akan mendiskusikan pointer pada bab selanjutnya "Unsafe Code". Mari guys kita lanjutkan ke tutorial selanjutnya Konversi Tipe Data.
No comments:
Post a Comment