Tipe Data DOUBLE

Halo, selamat datang di Bony3D!

Double merupakan pilihan terbaik bagi para programmer karena cocok untuk mengelola bilangan real dengan akurasi presisi ganda. Selain itu, double juga dapat bekerja pada algoritma matematika rumit atau operasi numerik umum. Tapi, apa itu double? Bagaimana deklarasinya? Apa saja kegunaannya? serta apa saja hal yang perlu di perhatian jika ingin menggunakan tipe data ini? Pada artikel, Saya akan menjawab semua pertanyaan Anda mengenai hal itu. Yuk kita bahas bersama!
Double termasuk dalam salah satu tipe data yang fungsinya hampir sama dengan float, yaitu menyatakan bilangan pecahan atau real maupun eksponensial. Beberapa karakteristik double, di antaranya:
- Double memiliki tingkat ketelitian ganda.
- Double memiliki ruang penyimpanan 64 bit.
- Double dapat menghitung secara matematis dengan lebih cepat dibandingkan float.
- Double lebih sering dipakai karena hasil perhitungan yang lebih akurat.
- Double memiliki presisi hingga 15 tempat digit desimal.
- Double memiliki ukuran penyimpanan memori sebesar 8 bytes.
Perhatikan contoh berikut:
Gambar 1. Contoh Kasus
Kode di atas menampilkan hasil luas lingkaran dengan tipe data double yang saya masukkan sebagai jari-jari. Saya menggunakan tipe double dalam contoh ini, karena bisa lebih akurat dalam menentukan nilai bilangan pecahan.

Apakah bilangan 2.5 dengan 2.500000 bernilai sama? Dalam pemrograman, keduanya bernilai sama meski pun jumlah angka di belakang koma tidak sama. 0 tidak mempengaruhi nilai dalam pemrograman. Namun, pada bahasa C++, otomatis untuk tipe data double maupun float memiliki 6 angka di belakang koma. Untuk membedakannya, pada float selalu menggunakan karakter "F" sebagai penanda. Perhatikan kode berikut:

double nilaiA = 2.5;
float nilaiB = 2.5F;

Bagaimana jika seorang programmer terlupa akan karakter "F" tersebut? Maka program akan secara otomatis, menganggap bahwa itu adalah pernyataan yang harus diselesaikan dengan tipe data double. Berikutnya Saya akan memberikan contoh double dengan menggunakan penulisan ilmiah. Masih ingat bukan tentang karakter "e"? Karakter "e" digunakan dalam notasi ilmiah pemrograman float dan double yang diartikan sebagai pangkat 10.
Gambar 2. Penggunaan Notasi Ilmiah pada Double
Seperti yang sudah dikatakan sebelumnya bahwa, otomatis pada bahasa C++ menampilkan angka 6 digit untuk double dan float, baik itu posisinya setelah koma atau sebelum koma. Nah, bagaimana jika ingin hanya menampilkan 2 atau 3 angka tempat desimal? Perhatikan contoh berikut:
Gambar 3. Implementasi Notasi Ilmiah dan Pembulatan
Program di atas, Saya membuat 5 variabel dengan tipe double dan input yang berbeda-beda. Tampilan awal sesuai aturan yaitu berjumlah 6 digit, jika data melebihi, maka diganti dengan notasi ilmiah dan dibulatkan agar totalnya berjumlah 6 digit. Khusus untuk variabel 4 tetap dituliskan utuh meski pun data tertera lebih dari 6 digit dan variabel 5, nilai hasilnya dibulatkan.

Kode berikut bisa digunakan jika ingin menampilkan bilangan dengan ketelitian 2 angka di belakang koma:

cout<<fixed
cout<<setprecision

Sebagai contoh, perhatikan gambar berikut:
Gambar 4. Ketelitian 2 Tempat Desimal
Sama halnya dengan float, penambahan file header diperlukan untuk menampilkan ketelitian bilangan dengan 2 tempat desimal di belakang koma. Perbedaannya, pada double, menggunakan perintah cout<<setprecision dan menggunakan #include<iomanip>. Perintah kode tersebut difungsikan untuk menampilkan ketelitian 2 tempat desimal. Variabel 4 hasilnya 0,00. Mengapa? Hal itu dikarenakan fungsi pembulatan yang terdapat pada perintah sebelumnya.

Selanjutnya, bagaimana jika ingin menjalankan kode program modifier cout<<setprecision per baris? Gunakan perintah berikut:
Gambar 5. Penggunaan Setprecision
Variabel 1 pada gambar di atas menunjukkan tingkat ketelitian. Pengaturan setprecision disimpan paling akhir karena perintah cout ke variabel 1 menggunakan setprecision (4) yang sebenarnya dimiliki oleh baris sebelumnya. Pengaturan tersebut bisa ditimpa jika ada perintah setprecision () setelahnya. Ngomong-ngomong soal setprecision, apa kamu tahu fungsi sebenarnya dari perintah ini? Setprecision difungsikan untuk mengontrol jumlah koma desimal yang akan ditampilkan pada program dan penggunaannya juga hanya dapat mempengaruhi aliran keluaran sedangkan nilai variabel asli tidak dapat berubah. Cara menggunakan perintah ini ialah dengan menyertakan library iomanip dan selanjutnya tinggal mengatur tingkat presisi dengan kode : std::setprecision() yang fungsinya adalah memastikan jika nilai yang ditampilkan dalam program tepat 2 tempat desimal.

Contoh berikutnya, Saya akan tampilkan kode pemrograman sebagai alternatif mencetak tipe data double dengan perintah priintf di bahasa C:
Gambar 6. Pemrograman Double di Bahasa C
Selanjutnya, Saya akan membahas mengenai batas minimum dan maksimum pada tipe data double. Cara mengetahuinya hampir sama dengan float, yaitu dengan mengakses file header dan kode untuk mengaksesnya pada bahasa C++ ialah <float.h> yang di dalamnya berisi berbagai jenis konstanta untuk melihat beberapa pernyataan, di antaranya: ukuran memori, nilai minimum, nilai maksimum, dan jumlah digit ketelitian. Perhatikan contoh di bawah!
Gambar 7. Batas Minimum dan Maksimum Double
Beberapa poin di bawah adalah hal-hal yang harus diperhatikan dalam menjalankan program double.

1. Inisialisasi variabel, ditujukan agar terhindar dari pembacaan memori yang tidak di inisialisasi sebelumnya.
2. Kesadaran presisi, ditujukan agar mengetahui perbandingan epsilon saat melakukan cek kesetaraan.
3. Hindari membandingkan kesetaraan tepat, hindari menggunakan simbol == dan sebaiknya cek apakah absolut ada di ambang batas toleransi?
4. Hindari kesalahan akumulatif karena akan menyebabkan ketidakakuratan yang sangat tidak signifikan. Solusinya ialah menggunakan algoritma ter-kompensasi atau pustaka presisi arbitrer untuk komputasi krisis.
5. penanganan kesalahan, gunakanlah mekanisme pemeriksaan dan penanganan kesalahan untuk operasi yang rentan terhadap kesalahan. Gunakanlah blok coba-tangkap untuk menangani pengecualian dengan baik.
6. Degradasi Presisi digunakan untuk mengurangi overhead komputasi dan meningkatkan keterbacaan.
7. Gunakanlah notasi ilmiah.

Contoh aplikasi double dalam kehidupan sehari-hari ialah dalam perhitungan ilmiah dan juga keuangan. Selain memiliki banyak manfaat, double juga memiliki beberapa kekurangan, di antaranya: terlalu memakai banyak memori dan oleh sebab itu sebagai seorang programmer harus cermat dalam menggunakan tipe data ini sesuai kebutuhan.

see you!
Referensi:
Intern Dicoding. (2020, 23 Desember). Macam-macam Tipe Data Pemrograman Beserta Fungsinya. https://www.dicoding.com/blog/macam-macam-tipe-data/.
Nosuke. (2021, 31 Mei). Mengenal Float C dan Double Data pada Bahasa Pemrograman C++. https://appkey.id/pembuatan-aplikasi/mobile-programming/float-c/.
Amirul, Karim, Damas. 7+ Tipe Data C++ Beserta Contoh Program dan Jangkauannya. https://kodedasar.com/blog/tipe-data-cpp/.
Kuliah Programming. (2023, 13 Januari). Mengenal Tipe Data Floating Point, Real, Double pada Java. https://kuliahprogramming.id/mengenal-tipe-data-floating-point-real-double-atau-bilangan-berkoma-pada-java/.
Andre. (2020, 24 Oktober). Tipe Data Float dan Double Bahasa C++. https://www.duniailkom.com/tutorial-belajar-c-plus-plus-tipe-data-float-dan-double-bahasa-c-plus-plus/.
Gaurav, Sushant. (2023, 27 September). Tipe Data Ganda di C++. https://www.scaler.com/topics/double-in-cpp/.
Gambar 1 sampai 7. Sumber: Dokumentasi Pribadi.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Keranjang Belanja