Indonesia: 2 July, 2024

Tutorial MySQL Part 05: Tipe Data String Pada MySQL

Materi sebelumnya kita sudah membahas mengenai Tipe Data Numerik di MySQL, materi kali ini kita lanjutkan memahami Tipe Data String di MySQL.

Tipe data string di MySQL juga memiliki banyak tipe. Diantaranya yang sering di gunakan yaitu:

  • CHAR
  • VARCHAR
  • TEXT
  • ENUM
  • SET

Masing-masing tipe data di atas di bedakan berdasarkan fungsi, daya tampung, dan ukuran memori yang di gunakan. Tipe data string bersifat alfanumerik yaitu dapat menyimpan data berupa huruf, angka, spasi, dan simbol. Meskipun begitu, tipe data string tidak dapat menggantikan tipe data numerik untuk pengolahan data angka.

TIPE DATA CHAR

Merupakan tipe data string yang di sediakan MySQL untuk menampung nilai teks. Char dapat menampung nilai dari 0 hingga 255 karakter. Char bersifat incase sensitive yang berarti penulisan huruf besar dan kecil di anggap sama.

Query penulisan tipe data Char yaitu:

CHAR (M)

Nilai M merupakan jumlah karakter yang di atur untuk di tampilkan. Misalkan kita menuliskan CHAR (4) maka sistem akan membatasi jumlah input huruf sebanyak empat karakter, jika lebih dari itu maka karakter selebihnya akan diabaikan. Jika nilai M tidak di definisikan dari awal maka nilai default M adalah 1

Char menyimpan karakter yang jumlahnya tetap. Misalkan kita menuliskan CHAR (4) yang berarti Char menampung string sebanyak empat karakter, memori yang terpakai yaitu sebanyak 4 byte. namun jika data yang kita inputkan hanya dua karakter saja yaitu ‘ab’, akan tetapi Char tetap menerimanya sebagai empat karakter dengan ukuran 4 byte. Char secara otomatis menambahkan dua spasi untuk menggenap karakter yang kosong.

Jadi yang tersimpan di dalam database yaitu ‘ab ’ . tentu cara ini kurang efisien untuk jumlah karakter yang tidak tetap karena boros memori. Char sangat bagus di gunakan untuk data yang jumlah karakternya tetap seperti nomor nim, nomor ktp, jenis-kelamin, daln lain-lain.

TIPE DATA VARCHAR

Berbeda dengan Char, Varchar dapat menampung nilai dari 0 hingga 65.535 karakter. Varchar bersifat incase sensitive yang berarti penulisan huruf besar dan kecil di anggap sama.

Query penulisan tipe data Varchar yaitu:

VARCHAR (M)

Nilai M merupakan jumlah karakter yang di atur untuk di tampilkan. Misalkan kita menuliskan VARCHAR(4) maka sistem akan membatasi jumlah input huruf sebanyak empat karakter, jika lebih dari itu maka karakter selebihnya akan diabaikan. Jika nilai M tidak di definisikan dari awal maka nilai default M adalah 1

Jika Char menyimpan jumlah karakter yang jumlahnya besifat tetap, akan tetapi Varchar menyimpan jumlah karakter yang sifatnya dapat berubah-ubah sesuai dengan apa yang di inputkan. Misalkan kita menuliskan VARCHAR (4) tetapi jumlah karakter yang di inputkan hanya dua huruf saja yaitu ‘ab’ maka yang tersimpan ke dalam database tetap ‘ab’ tidak ada penambahan spasi untuk menggenapkan karakter dan memori yang terpakai yaitu 2 byte.

Tipe data Varchar bagus di gunakan untuk inputan data yang jumlah karakternya tidak tetap seperti nama, tempat lahir, alamat, hobi, dan lain sebagainya karena lebih hemat memori.

Kesalahan yang sering di lakukan oleh programmer pemula yaitu tidak memahami penggunaan tipe data char dan varchar dengan baik. Seperti pendefinisian tipe data nama, alamat, nomor KTP, nomor id, dan lain sebagainya banyak yang hanya memakai tipe data Varchar saja. Alasannya karena ini yang sering di pakai dan sering di praktekkan. Walapun sekilas Char dan Varchar sama-sama menyimpan data dalam bentuk teks, namun keduanya jelas berbeda.

Berikut perbedaan dari tipe data Char dan Varchar! :

ValueCHAR(4)Storage RequiredVARCHAR(4)Storage Required
‘    ‘4 bytes1 byte
‘ab’‘ab  ‘4 bytes‘ab’3 bytes
‘abcd’‘abcd’4 bytes‘abcd’5 bytes
‘abcdefgh’‘abcd’4 bytes‘abcd’5 bytes

Pada tabel di atas, dapat kita lihat bahwa ukuran penyimpanan Varchar berubah-ubah sesuai dengan data yang di inputkan, sedangkan Char ukuran penyimpanannya tetap.

Varchar membutuhkan 1 byte tambahan untuk menyimpan panjang data. Jika kita definisikan Varchar (4) dan kita inputkan data (‘abcd’) maka Varchar membutuhkan penyimpanan 4+1 byte. Berbeda dengan Char yang tidak membutuhkan tambahan byte apapun.

TIPE DATA TEXT

Berbeda dengan Char dan Varchar, tipe data Text dapat menyimpan karakter yang lebih besar dan panjang.

Tipe data text dibagi beberapa bagian yaitu:

  • TINYTEXT
  • MEDIUMTEXT
  • TEXT
  • LONGTEXT

Masing-masing tipe data text tersebut memiliki ukuran dan jumlah karakter maksimum masing-masing.

Tipe DataUkuran MaksimumJumlah Karakter Maksimum
TINYTEXT255 Byte255
TEXT65.535 Byte (64 KB)6.5535
MEDIUMTEXT16.777.215 Byte (16 MB)16.777.215
LONGTEXT4.294.967.295 (4GB)4.294.967.295

Query penulisan type data text yaitu:

TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT

Bentuk penyimpanan tipe data Text sama dengan Varchar yaitu menyimpan data sesuai dengan karakter yang di inputkan. Misalkan kita mendefinisikan kolom sebagai LONGTEXT dan hanya menginputkan 200 karakter saja, maka data yang di simpan ke dalam database tetap sebagai 200 karakter dan memori penyimpanan yang di gunakan yaitu 200 byte bukan 4 GB.

TIPE DATA ENUM

Tipe data Enum merupakan tipe data string yang nilainya sudah di tentukan dari awal. Contoh penggunaan Enum biasanya di gunakan untuk pilihan data yang sudah di sediakan seperti jenis kelamin, jurusan, kota, provinsi, dan lain sebagainya. Pilihan ini bisa berisi 1 sampai 65,535 pilihan string di mana user hanya dapat memilih satu pilihan string saja.

Query penulisan tipe data Enum yaitu:

jenis_kelamin ENUM ('laki-laki', 'perempuan')
jurusan ENUM ('sistem informasi', 'teknik informatika', 'ilmu komputer')

Jika kita membuat aplikasi web, penggunaan tipe data Enum dapat di tampilkan menggunakan combobox atau radio button untuk pilihan data jenis kelamin dan jurusan, sehingga user dapat memilih salah satu dari pilihan tersebut untuk di simpan ke dalam database dan tidak dapat memasukkan data selain dari data pilihan yang di tampilkan.

Namun jika kita menginputkan data Enum melalui terminal (CMD) maka kita harus menginputkan pilihan dari data Enum secara manual dengan menuliskan pilihan tersebut sesuai dengan yang telah di definisikan sebelumnya. Jika kita memasukkan nilai yang tidak ada dalam pendefinisian Enum maka akan muncul error atau data yang di inputkan tidak sesuai dengan yang di definisikan, maka di database hanya ada data kosong

TIPE DATA SET

Jika Enum hanya digunakan untuk memilih salah satu pilihan data seperti jenis kelamin, jurusan, kota, provinsi, dsb, maka tipe data Set membolehkan user untuk memilih pilihan lebih dari satu. Tipe data Set biasa digunakan untuk memilih hobi.

Query penulisan tipe data Set yaitu:

hobi SET ('membaca', 'ngoding', 'travelling')

Menginputkan data hobi yang lebih dari satu ke dalam database yaitu dengan memisahkan hobi satu dengan lainnya menggunakan tanda koma yang tidak ditambahkan spasi apapun setelah koma ataupun sebelum koma dan diapit dengan dua tanda petik.

Contoh ('membaca,ngoding')

Jika kita membuat aplikasi web, penggunaan tipe data SET dapat ditampilkan menggunakan Checkbox untuk memilih data, sehingga user dapat memilih salah satu atau lebih dari pilihan data untuk disimpan ke dalam database dan tidak dapat memasukkan data selain dari data pilihan yang ditampilkan

Namun, jika kita menginputkan data SET melalui terminal (CMD) maka kita harus menginputkan pilihan dari data SET secara manual dengan menuliskan pilihan tersebut sesuai dengan yang telah didefinisikan sebelumnya. Jika kita memasukkan nilai yang tidak ada dalam pendefinisian tipe data Set maka akan muncul error atau data yang diinputkan tidak sesuai dengan yang didefinisikan, maka di database hanya ada data kosong

Kesimpulan:
Tipe data string yaitu tipe data yang dapat menyimpan data berupa huruf, angka, spasi, dan simbol. Meskipun begitu, tipe data string tidak dapat menggantikan tipe data numerik untuk pengolahan data angka. Angka yang disimpan menggunakan tipe data string dianggap sebagai teks bukan angka.

Tipe data string yang umum digunakan yaitu Char, Varchar, Text, Enum, dan Set. Perbedaannya terletak pada fungsi, ukuran penyimpanan, dan jumlah karakter yang disimpan

Materi selanjutnya yaitu memahami Tipe Data Date and Time di MySQL.

Selamat belajar 🎉🎉

Tinggalkan Balasan

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