Belajar Bahasa C sharp/Bab IV: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Willysaef (bicara | kontrib)
Willysaef (bicara | kontrib)
Baris 249:
</source>
Variabel A akan menghasilkan nilai 0 jika pengecekan overflow terhadap integer tidak dilakukan, atau bernilai 1 saat pengecekan overflow dilakukan.
==Bilangan bulat kurang dari 32-bit==
Kita juga bisa menggunakan bilangan bulat yang lebih kecil daripada 32-bit. Jika bilangan bulat 64-bit dinamakan dengan <code>long</code> (yang berarti panjang dalam bahasa Inggris), maka lawan dari <code>long</code> adalah <code>short</code>. Untuk bilangan <code>short</code> tidak bertanda, digunakanlah tipe data <code>ushort</code>. Panjangnya berapa sih si <code>short</code> ini? Dalam C#, <code>short</code> memiliki panjang hingga 16-bit, sehingga mampu menampung nilai dari 0 hingga 65536. Tipe data short bertanda memiliki jangkauan dari -32768 hingga 32767, sementara tipe data <code>ushort</code> memiliki jangkauan dari 0 hingga 65536.
Selain <code>short</code> dan <code>ushort</code>, C# juga memiliki sebuah tipe data lagi yang digunakan untuk menyimpan bilangan bulat dengan panjang 8-bit, sehingga totalnya mampu menampung 256 buah angka. Seperti halnya bilangan bulat lainnya, tipe data ini juga terbagi atas dua buah jenis, yakni bertanda (<code>sbyte</code>) dan tidak bertanda (<code>byte</code>). Tipe data <code>sbyte</code> dapat memiliki nilai dari -127 hingga 128, sementara <nowiki>byte</nowiki> dapat memiliki nilai dari 0 hingga 255.
 
Tipe-tipe data seperti <code>int</code>, <code>long</code>, dan <code>short</code> semuanya merupakan tipe data bilangan bulat bertanda; sementara <code>uint</code>, <code>ulong</code>, dan <code>ushort</code> merupakan tipe data bilangan bulat tak bertanda. Kita bisa membedakan antara keduanya dengan melihat keberadaan huruf "<code>u</code>" di sana. Akan tetapi, untuk bilangan bulat 8-bit, penamaannya dibalik: <code>byte</code> merupakan tipe data bilangan bulat tidak bertanda, sementara <code>sbyte</code> merupakan bilangan bulat bertanda.
===Beberapa pertimbangan===
Secara umum, meski jika sebuah variabel tertentu hanya digunakan untuk menyimpan bilangan bulat dengan nilai kurang dari 32767, kita lantas nggak harus menggunakan short ketimbang int. Prosesor 32-bit modern saat ini dapat menangani nilai 32-bit dengan lebih mudah dan efisien jika dibandingkan dengan 16-bit.
 
Rumus umum yang bisa digunakan untuk menulis variabel bilangan bulat adalah “saat membutuhkan bilangan bulat, mulailah dari int.” Tipe data int mungkin menjadi pilihan terbaik untuk sebagian besar kebutuhan terhadap bilangan bulat yang kita butuhkan. Jika memang kita membutuhkan nilai yang lebih besar lagi, maka gunakanlah long.
==Tipe data Integer dan .NET Framework==
Pada Modul 2, saya menyebutkan bagaimana caranya untuk mengakses dokumentasi yang terdapat di dalam .NET Framework. Jika kita telusuri ruang nama System di dalam dokumentasi .NET Framework, kita akan menemukan sebuah struktur dengan nama Int32. Nama "int" dalam C# sebenarnya merupakan alias (singkatan atau nama lain yang lebih pendek) bagi struktur <code>System.Int32</code> yang terdapat di dalam .NET Framework. Tujuh tipe data bilangan bulat lainnya juga merupakan alias untuk struktur-struktur lainnya. Ketimbang kita menggunakan sebuah variabel dengan menggunakan bahasa C#:
<source lang="csharp>int A;</source>
kita juga bisa mendeklarasikannya dengan menggunakan nama struktur .NET:
<source lang="csharp">System.Int32 A;</source>
Kedua statemen di atas adalah 100% sama! Atau, bahkan jika kita telah menggunakan direktif:
<source lang="csharp">using System;</source>
pada bagian atas kode kita, kita bahkan menyingkat pendeklarasian bilangan bulat bertanda berukuran 32-bit dengan menggunakan statemen:
<source lang="csharp">Int32 A;</source>
Dan sekarang, ketimbang kita mengatakan bahwa kita mendeklarasikan sebuah variabel dengan tipe data int, atau kita membuat objek dengan tipe data int, kita juga bisa menyebut hal tersebut sebagai pembuatan sebuah kejadian (instance) dari struktur Int32. Whew! Apa lagi tuh? Tapi, jika Anda bertanya kepada para programmer bahasa berorientasi objek, mereka akan menjawab pilihan ketiga, ketimbang pilihan pertama dan kedua.
{{stub}}