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 |
Integer | Byte | Mengkonsumsi 8bit integer. |
Int16 | Mengkonsumsi 16bit integer. | |
Int32 | Mengkonsumsi 32bit integer. | |
Int64 | Mengkonsumsi 64bit integer. | |
SByte | Sama seperti byte, bedanya tidak termasuk cls compliant. | |
SInt16 | Sama seperti Int16, bedanya tidak termasuk cls compliant. | |
SInt32 | Sama seperti Int32, bedanya tidak termasuk cls compliant. | |
SInt64 | Sama seperti Int64, bedanya tidak termasuk cls compliant. | |
Floating Point | Single | Mengkonsumsi nilai pecahan sebesar 32bit. |
Double | Mengkonsumsi nilai pecahan sebesar 64bit. | |
Logical | Boolean | Mengkonsumsi nilai sebesar 1bit. Dan itu sifatnya true atau false. |
Lain-lainnya | Char | Mengkonsumsi 16bit character. Anda mungkin lebih mengenalnya dengan istilah symbol, semisal: ¶, Ã, à, dan lain-lainnya. |
Decimal | Mengkonsumsi nilai pecahan sebesar 128bit. | |
IntPtr | Hanya mengkonsumsi nilai integer yang sesuai dengan platform yang ditempatinya, entah 32bit atau 64bit. | |
UIntPtr | Sama seperti IntPtr, bedanya tidak termasuk cls compliant. | |
Class Object | Object | Level tertinggi dari data type, dan mampu menampung apapun. |
String | Sama 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 1 | 185,000 – (185,000 x 27/100) 185,000 – 49,950 135,050 |
Jawaban versi 2 | 185,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