Lompat ke konten Lompat ke sidebar Lompat ke footer

Tipe Data Float dan Double Bahasa C Beserta Fungsinya

Untuk menampilkan angka float pada program bahasa C, maka dapat digunakan tipe data floatdouble, dan long double pada pembuatan program tersebut.


Sebelum mempelajari materi tentang Tipe Data Float dan Double Bahasa C Beserta Fungsinya, terlebih dahulu pelajari materi tentang: Tipe Data Long Bahasa C Beserta Fungsi dan Perbedaan Kebutuhannya, Tipe Data size_t pada Bahasa C dan Fungsinya, dan Tipe Data dan Modifier Bahasa C Beserta Fungsinya.

Dalam dunia pemrograman, khususnya dalam bahasa C, penggunaan tipe data yang tepat sangat krusial untuk merepresentasikan dan memanipulasi data secara efisien. Dalam konteks pecahan atau bilangan riil, bahasa C menyediakan dua tipe data utama: float dan double. Artikel ini akan membahas secara mendalam tentang kedua tipe data tersebut, bagaimana tipe data tersebut berbeda, dan kapan sebaiknya memilih salah satu dari keduanya.

Tipe Data Float

Tipe data float digunakan untuk menyimpan nilai pecahan dengan presisi tunggal. Representasi float menggunakan 32-bit dalam memori komputer dan menyimpan nilai desimal dengan rentang sekitar 6 hingga 9 digit.

Contoh:

#include <stdio.h>


int main() {

float nilai_float = 3.14f;

printf("Nilai float: %f\n",

 nilai_float);


return 0;}

Catatan: Penting untuk menyertakan sufiks f setelah nilai pecahan untuk memberitahu kompiler bahwa nilai tersebut adalah tipe data float.

Tipe Data Double

Tipe data double, di sisi lain, digunakan untuk menyimpan nilai pecahan dengan presisi ganda. Representasinya menggunakan 64-bit dalam memori dan memiliki rentang nilai desimal yang jauh lebih besar, sekitar 15 hingga 17 digit.

Contoh:

#include <stdio.h>


int main() {

double nilai_double =

3.141592653589793;


printf("Nilai double: %lf\n",

 nilai_double);


return 0;}


Pada umumnya, double lebih sering digunakan daripada float karena memberikan presisi yang lebih tinggi. Namun, double juga menggunakan lebih banyak ruang di memori.

Perbedaan Tipe Data:
  • double memiliki dua kali lebih banyak presisi dibandingkan dengan float.
  • float adalah 32 bit IEEE 754 presisi tunggal floating point number bit, dimana float memiliki 7 decimal digit presisi.
  • double adalah 64 IEEE 754 double presisi floating point number, dimana double memiliki 15 desimal digit presisi.

Perbedaan Lanjutan:
  • Presisi: Perbedaan utama antara float dan double terletak pada presisi. double menyimpan lebih banyak digit desimal dibandingkan dengan float, menjadikannya lebih sesuai untuk perhitungan matematika yang memerlukan tingkat ketelitian yang tinggi.
  • Ukuran Memori: float menggunakan 32-bit, sedangkan double menggunakan 64-bit. Oleh karena itu, double memerlukan lebih banyak ruang dalam memori.
  • Rentang Nilai: Karena presisi yang lebih tinggi, double memiliki rentang nilai desimal yang lebih besar dibandingkan dengan float. Ini berarti double dapat merepresentasikan rentang nilai yang lebih luas tanpa kehilangan presisi.

Baca Juga:
Ambil contoh berikut ini: untuk persamaan kuadrat X2 - 4,0000000x + 3,9999999 = 0, nilai akar yang tepat untuk 10 digit signifikan adalah r1=2,000316228 dan r2=1,999683772.

Contoh:

// Perbedaan antara float dan

// double pada bahasa C

 

// Program bahasa C yang

// mendemonstrasikan

 

// nilai presisis float

// dan double

#include <stdio.h>

#include <math.h>

 

// Fungsi utilitas yang meng-

// kalkulasi akar kuadrat

 

// dari persamaan yang meng-

// gunakan nilai double

void double_solve(double a, double b, double c)

{

double d = b*b - 4.0*a*c;

double sd = sqrt(d);

double r1 = (-b + sd) / (2.0*a);

double r2 = (-b - sd) / (2.0*a);

printf("%.5f\t%.5f\n", r1, r2);

}

 

// Fungsi utilitas yang meng-

// kalkulasi akar kuadrat

 

// dari persamaan yang meng-

// gunakan nilai float

void float_solve(float a, float b, float c)

{

float d = b*b - 4.0f*a*c;

float sd = sqrtf(d);

float r1 = (-b + sd) / (2.0f*a);

float r2 = (-b - sd) / (2.0f*a);

printf("%.5f\t%.5f\n", r1, r2);

}

 

// Menjalankan program

int main()

{

float fa = 1.0f;

float fb = -4.0000000f;

float fc = 3.9999999f;

double da = 1.0;

double db = -4.0000000;

double dc = 3.9999999;

 

printf("persamaan akar dari x2"

" - 4.0000000 x + 3.9999999 ="

" 0 adalah : \n");

 

printf("untuk nilai float "

": \n");

float_solve(fa, fb, fc);

 

printf("untuk nilai double"

": \n");

double_solve(da, db, dc);

 

return 0;

}

Output:
persamaan akar dari x2 - 4.0000000 x + 3.9999999 = 0 adalah :
untuk nilai float :
2.00000    2.00000
untuk nilai double :
2.00032    1.99968

Waktu Penggunaan:
  • Ketelitian Penting: Jika ketelitian desimal sangat penting, seperti dalam perhitungan ilmiah atau keuangan, lebih baik menggunakan tipe data double.
  • Keterbatasan Memori: Jika terdapat keterbatasan memori dan presisi yang lebih rendah dapat diterima, float dapat dipilih untuk mengurangi penggunaan memori.
  • Performa: Pada beberapa arsitektur, operasi menggunakan float dapat lebih cepat daripada operasi menggunakan double. Namun, perbedaan ini mungkin tidak signifikan dalam banyak kasus.
  • Default Pilihan: Saat tidak yakin, banyak pengembang lebih memilih menggunakan double karena telah menjadi tipe data default untuk operasi pecahan dalam bahasa C.

Kelebihan dari tipe data float dan double dalam bahasa C melibatkan fleksibilitas dan optimalisasi yang dapat disesuaikan dengan kebutuhan spesifik suatu aplikasi. Berikut adalah beberapa kelebihannya:
  • Fleksibilitas Presisi: Penggunaan float dan double memberikan fleksibilitas dalam memilih tingkat presisi yang sesuai dengan kebutuhan aplikasi. Jika tingkat presisi yang tinggi diperlukan, pengembang dapat memilih double, sedangkan jika memori perlu dioptimalkan, float bisa menjadi pilihan.
  • Optimalisasi Penggunaan Memori: Tipe data float menggunakan 32-bit, sedangkan double menggunakan 64-bit. Dengan demikian, pengembang dapat memilih tipe data yang sesuai dengan ketersediaan memori dan kebutuhan presisi aplikasi.
  • Rentang Nilai yang Dapat Diwakili: double memiliki rentang nilai yang lebih besar daripada float, yang memungkinkan penggunaannya dalam aplikasi yang memerlukan rentang nilai yang lebih luas, seperti simulasi ilmiah atau perhitungan kompleks.
  • Optimalisasi Kinerja pada Beberapa Arsitektur: Pada beberapa arsitektur komputer, operasi menggunakan float dapat lebih cepat daripada operasi menggunakan double. Jika performa kritis untuk suatu aplikasi, pemilihan tipe data dapat dioptimalkan berdasarkan karakteristik arsitektur tersebut.
  • Efisiensi Penggunaan Memori: Saat memori merupakan sumber daya yang terbatas, penggunaan tipe data float dapat membantu mengurangi konsumsi memori karena ukurannya yang lebih kecil dibandingkan double.
  • Kompatibilitas dengan Perangkat Khusus: Beberapa perangkat keras atau perangkat tertentu mungkin memiliki dukungan yang lebih baik atau kinerja yang dioptimalkan untuk tipe data tertentu. Pemilihan antara float dan double dapat disesuaikan dengan kebutuhan perangkat khusus tersebut.
  • Default Pilihan pada Beberapa Fungsi Standar: Banyak fungsi matematis standar dalam bahasa C, seperti fungsi-fungsi dari pustaka math (math.h), menerima dan mengembalikan nilai dengan tipe data double. Oleh karena itu, menggunakan double sebagai tipe data default dapat meningkatkan konsistensi dengan fungsi-fungsi standar tersebut.

Dengan memahami kelebihan-kelebihan ini, pengembang dapat membuat keputusan yang informasional dan sesuai dengan karakteristik dan kebutuhan aplikasi yang sedang dikembangkan. Pemilihan yang tepat antara float dan double dapat memaksimalkan kinerja, efisiensi memori, dan akurasi perhitungan sesuai dengan kebutuhan spesifik program.

Kesimpulan

Dalam pemrograman bahasa C, pemilihan antara float dan double bergantung pada kebutuhan spesifik suatu aplikasi. Pemahaman mendalam tentang presisi, ukuran memori, dan rentang nilai keduanya akan membantu pengembang membuat keputusan yang informasional dan sesuai dengan kebutuhan aplikasi. Dengan menggunakan tipe data yang tepat, pengembang dapat memastikan bahwa perhitungan matematika dalam program C dilakukan dengan presisi yang memadai sesuai dengan kebutuhan aplikasi.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Lindha Ambar Cahyaningrum, Lutfi Dwi Yulianti, Mia Dwi Rahmawati, Muhammad Dohan Pratama, dan Nikmatul Jannah.

7 komentar untuk "Tipe Data Float dan Double Bahasa C Beserta Fungsinya"

  1. Apa yang dimaksud dengan float pada bahasa C?

    BalasHapus
    Balasan
    1. float adalah istilah singakt dari "Floating point". Menurut definisi, tipe data float adalah tipe data fundamental yang dibangun ke dalam kompilator yang digunakan untuk menentukan nilai numerik dengan titik desimal yang mengambang.

      Hapus
    2. Tipe data float menyimpan bilangan floating point dengan presisi ganda hingga 17 digit signifikan dengan kisaran nilai untuk tipe data float adalah sama dengan kisaran tipe data doublle pada bahasa C.

      Hapus
  2. Apa yang dimaksud dengan tipe data double pada bahasa C?

    BalasHapus
    Balasan
    1. Double adalah tipe data fundamental yang dibangun ke dalam kompilator dan digunakan untuk mendefinisikan variabel numerik yang menyimpan angka dengan titik desimal.

      Hapus
  3. Apa perbedaan antara tipe data double dan tipe data float pada bahasa C?

    BalasHapus
    Balasan
    1. Tipe data double memiliki presisis dua kali lebih banyak daripada tipe data float.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -