Indonesia: 3 July, 2024

Tutorial MySQL Part 04: Tipe Data Numerik MySQL

Pada tutorial sebelumnya kita sudah belajar bagaimana cara membuat dan menghapus database. Sekarang kita lanjutkan dengan memahami tipe data numerik pada MySQL.

MySQL memiliki banyak tipe data, secara garis besar tipe data MySQL di bagi menjadi:

  1. Tipe data numerik
  2. Tipe data string
  3. Tipe data date and time

Ketika akan membuat tabel di dalam database untuk menampung sejumlah data, sebelum itu tentukan terlebih dulu tipe data setiap kolomnya.

Misalkan kita akan membuat tabel biodata mahasiswa, maka di dalam biodata mahasiswa terdapat kolom nim, nama, tanggal lahir, alamat, dan nomor hp. Dari data tersebut kita tentukan tipe data satu per satu yaitu untuk nim karena nim merupakan angka semua, maka kita beri tipe data numerik (kusus untuk angka saja), selanjutnya untuk nama karena nama hanya terdiri dari huruf saja maka kita beri tipe data string (kusus untuk huruf saja) dan untuk tanggal lahir kita beri tipe data date.

Di tutorial ini kita akan bahas terlebih dahulu mengenai tipe data numerik

Pada umumnya tipe data numerik di MySQL dibedakan menjadi dua yaitu:

  • Tipe data integer (bilangan bulat)
  • Tipe data floating point/fixed point (bilangan pecahan)

Tipe Data Integer

Integer merupakan tipe data yang menampung bilangan bulat positif dan negatif.

Integer juga memiliki beberapa tipe data yaitu:

  1. TINYINT (very small integer)
  2. SMALLINT (small integer)
  3. MEDIUMINT (medium integer)
  4. INT (medium integer)
  5. BIGINT (big integer)

Kelima tipe data di atas dari yang paling kecil hingga yang paling besar, digunakan sesuai dengan kebutuhan masing-masing. Perbedaannya terletak pada jangkauan data dan besar memori terpakai dari masing-masing tipe data itu sendiri.

Misalkan kita memasukkan nim dengan jumlah angka sebanyak sembilan digit, maka gunakan tipe data INT. begitu pula sebaliknya, jika memasukkan data id murid satu kelas yang hanya berjumlah 30 orang, maka gunakan tipe data TINYINT.

Format query penulisan tipe data integer adalah:

INT [(M)] [UNSIGNED] [ZEROFILL]

Nilai M merupakan jumlah digit yang di atur untuk menampilkan data.

Unsigned di atur untuk mendapatkan jangkauan nilai positif yang lebih tinggi dari signed. Jika unsigned tidak di definisikan, maka secara default tipe data integer bernilai signed.

Zerofill merupakan nilai angka 0 yang di isi di sebelah kiri nilai M. misalkan kita set INT (5), akan tetapi data yang di inputkan adalah (123) yang berarti hanya berjumlah 3 digit saja. Maka zerofill akan menambahkan dua buah angka 0 di sebelah kiri nilai M untuk mengisi kekosongan digit. dari semula (123) menjadi (00123).

Kita bebas ingin menggunakan unsigned dan zerofill karena bersifat optional. Namun kembali lagi di sesuaikan dengan kebutuhan

TypeLength
in Bytes
Minimum Value
(Signed)
Maximum Value
(Signed)
Minimum Value
(Unsigned)
Maximum Value
(Unsigned)
TINYINT1-1281270255
SMALLINT2-3276832767065535
MEDIUMINT3-83886088388607 to016777215
INT4-2147483648214748364704294967295
BIGINT8-922337203685477580892233720368
54775807
0184467440737
09551615

Keterangan:

  • Type (integer)
  • Length in byte (memori yang terpakai) misalkan tinyint menyimpan data sebesar 1 byte per sekali input data, kalau ada 10 data yang diinputkan maka kalikan saja. Makin banyak data yang diinputkan, makin banyak pula memori yang digunakan
  • Signed (menampung bilangan positif dan negatif)
  • Unsigned (menampung bilangan positif)

Catatan: Untuk pemula, mungkin kamu bingung dengan angka – angka tabel di atas. Namun, sedikit demi sedikit akan paham ketika kamu latihan beberapa contoh kasus pembuatan database

Tipe Data Fixed Point

Tipe data fixed point adalah tipe data angka pecahan (DECIMAL) di mana jumlah angka pecahan di belakang koma sudah di tentukan dari awal, sehingga jumlah digitnya tetap.

Format query penulisan tipe data DECIMAL adalah

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

M merupakan jumlah digit angka keseluruhan dan D merupakan jumlah digit angka di belakang koma.

Maksimal nilai M adalah 65 dan maksimal nilai D adalah 30 dengan syarat nilai D tidak boleh lebih besar dari nilai M.

Jika kita tidak mendefinisikan nilai M dan D maka secara default nilai M adalah 10 dan nilai D adalah 0.

Tipe data decimal cocok digunakan untuk menampung nilai uang.

DEKLARASIJANGKAUAN
DECIMAL (4, 1)-999,9 to 999,9
DECIMAL (6, 2)-9999,99 to 9999,99
DECIMAL (3, 2)-9,99 to 9,99
DECIMAL (8, 2)-999999,99 to 999999,99

Tipe Data Floating Point

MySQL membagi dua macam tipe data floating point yaitu FLOAT dan DOUBLE. Perbedaan di antara keduanya yaitu FLOAT menggunakan sigle precision dan DOUBLE menggunakan double precision.

Jika fixed point jumlah digit angkanya di belakang koma bersifat tetap, maka floating point bisa berubah-ubah.

Format query penulisan tipe data floating point adalah

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

Tipe data floating point cocok digunakan untuk menampung nilai longitude dan latitude.

TypeLength
in
Bytes
Minimum Value
(Signed)
Maximum Value
(Signed)
Minimum Value
(Unsigned)
Maximum Value
(Unsigned)
FLOAT4-3.402823466E+38-1.175494351E-381.175494351E-383.402823466E+38
DOUBLE8-1.7976931348623
157E+ 308
-2.22507385850720
14E- 308
0, and
2.22507385850720
14E- 308
1.797693134862315
7E+ 308

Kesimpulan:
Tipe data numerik secara umum dibagi menjadi dua yaitu bilangan bulat dan bilangan pecahan. Bilangan bulat disebut dengan tipe data integer. Tipe data ini juga dipecah mejadi beberapa bagian tipe yaitu tinyint, smallint, mediumint, int, dan bigint.

Bilangan pecahan juga terbagi menjadi dua macam yaitu fixed point dan floating point. Fixed point yaitu bilangan decimal dimana jumlah digit angka di belakang koma sudah ditetapkan dari awal sedangkan floating point dimana jumlah digit angka di belakang koma bisa berubah-ubah. Floating point terbagi menjadi dua macam tipe yaitu float dan double.

Semua macam-macam tipe data di atas di sediakan untuk digunakan sesuai dengan kebutuhan.

Pada tutorial selanjutnya kita akan bahas TIPE DATA STRING MySQL

Selamat belajar, semoga bermanfaat!🎉🎉

Tinggalkan Balasan

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