Mengenal Tipe Data Decimal, Double, dan Float pada MySQL

11 Sep 2019 11:35 40023 Hits 0 Comments Approved by Plimbi

Masih tentang tipe data pada MySQL, kali ini ada 3 tipe data. Yuk baca lagi!

Setelah sebelumnya kita membahas tentang tipe data integer MySQL. Pada artikel kali ini kita akan membahas tentang tipe data decimal, double, float pada MySQL.

Untuk membuat tipe data decimal sangatlah mudah, kita dapat membuatnya dengan perintah decimal, double atau float. Sebelum kita membuat tipe data decimal, pastikan kalian sudah mempelajari cara membuat tabel di MySQL. Jika kalian belum tau caranya yuk bisa dilihat di "Tutorial Mudah Membuat dan Menghapus Tabel MySQL". Oke langsung aja ke pembahasan utama.

Tipe data decimal biasa digunakan untuk pencatatan transaksi keuangan. Tipe data decimal ini disebut juga dengan tipe data fixed point. Tipe data fixed point adalah tipe data angka pecahan (desimal), dimana jumlah angka pecahan (angka dibelakang koma) sudah ditentukan dari awal.

Format penulisan query fixed point adalah:

DECIMAL [(M[,D])] [UNSIGNED] [ZEROFILL]

DECIMAL merupakan kata kunci untuk mendefinisikan suatu kolom sebagai fixed point.

Besar dari tipe data fixed point ini tergantung dari opsional query [M,D] dimana M adalah total jumlah digit keseluruhan, dan D adalah jumlah digit di belakang koma (pecahan). Contohnya DEC [6,2] akan mendefinisikan suatu kolom agar memuat 6 digit angka, dengan 4 angka didepan koma dan 2 digit angka dibelakang koma.

Deklarasi Jangkauan
DECIMAL (4,1) -999,9 Sampai 999,9
DECIMAL (6,2) -9999,99 Sampai 9999,99
DECIMAL (3,2) -9,99 Sampai 9,99
DECIMAL (8,2) -999999,99 Sampai -999999,99

Maksimal nilai untuk M adalah 65, dan maksimal nilai D adalah 30. Dengan syarat, nilai D tidak boleh lebih besar dari nilai M. Jika kita tidak menyertakan M dan D dalam mendefinisikan suatu kolom DECIMAL, maka secara sistem M akan di set 10 dan D default 0.

Tipe data decimal ini cocok digunakan untuk kolom yang difungsikan untuk menampung nilai uang.

Opsional query UNSIGNED jika disertakan hanya semata-mata membuang nilai negatif dari DECIMAL, tanpa memperbesar jangkauannya. Opsional query ZEROFILL sama seperti integer, akan mengisi angka 0 pada bagian kiri angka.

 

Cara Mendefinisikan Tabel dengan Kolom DECIMAL

Yang pertama kita harus pastikan kalau kita sudah punya databasenya, jika belum kalian bisa buat terlebih dahulu databasenya.

Tapi untuk sekedar flashback, berikut adalah cara membuat dan memilih database yang akan digunakan:

Nah setelah ini, kita akan membuat tabel dengan tipe data decimal, ini bertujuan jika kita ingin menyimpan angka desimal pada database.

Perhatikan kolom normal diatas, bahwa nilai DECIMAL dideklarasikan sebagai DECIMAL (10,0), ini adalah nilai default MySQL jika kita tidak menuliskan jumlah digit.

Lalu kita coba inputkan angka kedalam seluruh kolom diatas:

Perhatikan contoh diatas, khusus untuk kolom normal, karena deklarasinya adalah DECIMAL (10,0), maka seluruh digit dibelakang koma dari inputan kita akan hilangkan.

Selain menggunakan DECIMAL untuk fixed point, MySQL juga menyediakan beberapa nama lain yang sama persis dengan fungsi DECIMAL, yaitu NUMERIC, FIXED dan DEC. Pilihan ini disediakan agar MySQL sesuai dengan standard SQL yang digunakan pada berbagai RDBMS lainnya, seperti Oracle.

 

Tipe Floating Point : FLOAT dan DOUBLE

Jika pada tipe fixed point kita mendefinisikan suatu kolom dengan nilai pecahan yang tetap, nah untuk tipe floating point, nilai pecahan yang diinputkan bisa berbeda-beda.

Untuk tipe floating point, MySQL menyediakan 2 jenis tipe data, yaitu FLOAT dan DOUBLE. Perbedaan dari keduanya itu terletak pada presisi (ketelitian) pembulatan. FLOAT menggunakan single-precision, sedangkan DOUBLE menggunakan double-precision.

Tipe data floating point juga diperuntukan untuk nilai desimal, perbedaan antara keduanya adalah dalam arsitekturnya (cara perhitungan pada processor komputer) dan ketelitian (presisi) yang digunakan.

Tipe Data Jangkauan Ukuran
FLOAT -3.402823466E+38 Sampai 3.402823466E+38 4 Bytes
DOUBLE -1.7976931348623157E+308 Sampai 1.7976931348623157E+308 8 Bytes

Untuk tipe data FLOAT dan DOUBLE, format querynya adalah sebagai berikut:

FLOAT [(M,D)] [UNSIGNED] [ZEROFILL]

DOUBLE [(M,D)] [UNSIGNED] [ZEROFILL]

Sama halnya seperti tipe data DECIMAL, nilai opsional dari query [M,D] diman M adalah total jumlah digit keseluruhan, dan D adalah jumlah digit dibelakang koma (pecahan). Maksimal nilai M dan D akan berbeda pada tiap komputer, tergantung kemampuan processor mengolah tipe data floating point.

FLOAT biasanya akan akurat untuk penyimpanan sekitar 7 angka desimal, sedangkan DOUBLE mencapai 15 angka desimal.

Opsional query UNSIGNED jika dinyatakan, akan menghilangkan kemampuan tipe data untuk menyimpan angka negatif ( tidak menambah jangkauan sebagaimana tipe data integer). Opsional query ZEROFILL juga sama seperti integer, akan mengisi angka 0 pada bagian kiri angka.

 

Cara mendefinisikan kolom dengan tipe data floating point:

Disini kita masih akan menggunakan database yang tadi kita gunakan, yaitu database plimbi. Yang pertama kita langsung saja buat tabel baru dengan nama contoh_float

Karena tipe data floating point ini menggunakan pendekatan nilai, maka jika kalian menggunakan tipe data ini untuk perbandingan akan menyebabkan masalah. Hal ini disebabkan cara penyimpanan arsitektur processor dalam menangani tipe floating point, bukan semata-mata permasalahan pada MySQL. Maka untuk itu pertimbangkan terlebih dahulu untuk menggunakan tipe data floating point ini jika membutuhkan presisi/ketelitian.

 

Tags

About The Author

Tineu Nursyifa 43
Ordinary
Plimbi adalah tempat menulis untuk semua orang.
Yuk kirim juga tulisanmu sekarang
Submit Artikel