Sunday, 28 August 2016

4. Tipe Data C# (Basic/Dasar)

Pada tutorial sebelumnya Dasar Sintax saya sudah menyinggung apa itu variabel,  dalam C# variabel dapat di bagi menjadi tiga tipe yaitu:

  • 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#.

TypeRepresentsRangeDefault Value
boolBoolean valueTrue or FalseFalse
byte8-bit unsigned integer0 to 2550
char16-bit Unicode characterU +0000 to U +ffff'\0'
decimal128-bit precise decimal values with 28-29 significant digits(-7.9 x 1028 to 7.9 x 1028) / 100 to 280.0M
double64-bit double-precision floating point type(+/-)5.0 x 10-324 to (+/-)1.7 x 103080.0D
float32-bit single-precision floating point type-3.4 x 1038 to + 3.4 x 10380.0F
int32-bit signed integer type-2,147,483,648 to 2,147,483,6470
long64-bit signed integer type-9,223,372,036,854,775,808 to 9,223,372,036,854,775,8070L
sbyte8-bit signed integer type-128 to 1270
short16-bit signed integer type-32,768 to 32,7670
uint32-bit unsigned integer type0 to 4,294,967,2950
ulong64-bit unsigned integer type0 to 18,446,744,073,709,551,6150
ushort16-bit unsigned integer type0 to 65,5350
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