Diberdayakan oleh Blogger.

Mengenai Saya

Foto saya
My name is Jesi Puspika Sari

Jumat, 12 April 2013

Mengenal Tipe Data

Data type adalah sebuah aliran listrik yang memiliki karakteristik. Kenapa berkarakteristik? Dikarenakan akan digunakan sebagai addressing (pengalokasian) ketika suatu instruksi berjalan. Untuk memahami data type, Anda harus mulai mengenal jenis-jenis data type yang tersedia, berikut ini penjelasannya:


Jenis

Nama

Keterangan

 IntegerByte Mengkonsumsi 8bit integer.
 Int16Mengkonsumsi 16bit integer. 
 Int32 Mengkonsumsi 32bit integer. 
 Int64Mengkonsumsi 64bit integer. 
 SByteSama seperti byte, bedanya tidak termasuk cls compliant.
 SInt16Sama seperti Int16, bedanya tidak termasuk cls compliant. 
 SInt32Sama seperti Int32, bedanya tidak termasuk cls compliant. 
 SInt64Sama seperti Int64, bedanya tidak termasuk cls compliant.
Floating PointSingleMengkonsumsi nilai pecahan sebesar 32bit.
 DoubleMengkonsumsi nilai pecahan sebesar 64bit.
LogicalBoolean Mengkonsumsi nilai sebesar 1bit. Dan itu sifatnya true atau false.
Lain-lainnyaCharMengkonsumsi 16bit character. Anda mungkin lebih mengenalnya dengan istilah symbol, semisal: ¶, Ã, à, dan lain-lainnya.

DecimalMengkonsumsi nilai pecahan sebesar 128bit.
 IntPtrHanya mengkonsumsi nilai integer yang sesuai dengan platform yang ditempatinya, entah 32bit atau 64bit.
 UIntPtrSama seperti IntPtr, bedanya tidak termasuk cls compliant.
Class ObjectObjectLevel tertinggi dari data type, dan mampu menampung apapun.
 StringSama seperti char. Bedanya lebih bersifat terbatas (fixed-length). Dan juga tidak bisa menampung symbol.
Sampai disini, Anda telah mengetahui secara umum mengenai data type. Dan mengenai penggunaannya, maka akan disesuaikan dengan logika yang berlaku. Contoh yang paling gampang adalah ketika menghitung diskon, berikut ini contoh kasusnya:

Soal:
Diketahui ada sebuah baju seharga Rp. 185,000,-. Dan baju tersebut didiskon sebesar 27%. Berapakah harga baju tersebut setelah didiskon?

Jawaban versi 1185,000 – (185,000 x 27/100)
185,000 – 49,950
135,050
Jawaban versi 2185,000 x (1 - 27/100) alias 185,000 x (1 - 0,27)
185,000 x 0,73
135,050
Pada contoh soal diatas, saya memberikan dua versi jawaban. Jawaban versi satu berkisar seputar penggunaan data type integer, anggaplah seperti itu, dikarenakan Anda tidak melihat adanya angka pecahan. Dan sekarang coba Anda bandingkan dengan jawaban versi dua, anggaplah dimana Anda sedang menggunakan data type floating-point. Dan bila Anda bingung darimana munculnya angka 1? Itu dikarenakan angka tertinggi dalam persentase adalah 100%, yang artinya 100% adalah 100/100 alias 1.

Dan sekarang kita akan membahas mengenai presisi. Dalam dunia pemrograman, suatu instruksi akan dikerjakan bila inputnya sudah ada, dan tentunya Anda sudah mengetahuinya bahwa input tersebut akan diproses secara berulang-ulang, sesuai dengan kondisi yang berlaku. Dan sekarang kita kembali lagi ke jawaban versi 1 dan 2. Pada jawaban versi 1, angka 185,000 akan selalu diulang-ulang. Beruntung angka yang dimasukan kecil, bagaimana kalau angka yang dimasukan besar, misal 1 milyar/triliyun. Kemungkinannya hanya ada dua. Pertama, kinerjanya akan mulai melambat, dikarenakan menampung angka yang cukup banyak. Dan yang kedua, kalau sudah tidak kuat menampung, jelas akan overheat atau hang.

Dan sekarang bandingkan dengan jawaban versi 2. Yang pertama kali dijadikan sasaran adalah kisaran diskonnya. Dan memang secara logika tidak ada orang yang berani memberi diskon 100% alias gratis. Dikarenakan bermain pada kisaran 100, maka angka pecahan dibelakang komanya juga tidak banyak, hanya 2 digit dibelakang koma. Dengan begini, setelah ketahuan persentase diskonnya, maka akan mudah mengalikannya ke harga baju, sekalipun seharga 1 milyar/triliyun.

Bilamana kedua rumus ini diperlombakan, dalam waktu yang lama dan juga input yang dimasukkan kian meninggi. Maka rumus dari jawaban versi 2 akan unggul, dikarenakan memiliki kadar presisi yang tinggi. Itu sebanya logika sangat penting. Bila Anda menganggap remeh suatu logika, maka bersiap-siaplah. Program yang Anda buat akan lelet ketika dijalankan, dan nantinya tidak ada yang mau merespon program buatan Anda.

Tidak ada komentar:

Posting Komentar