Let’s Get Curious!
Tidak semua data disimpan dengan cara yang sama, dan pilihan tipe dan jenis data bisa memengaruhi cara sistem bekerja, bahkan hasil analisisnya! Sebelum memahami jenis dan tipe data, coba pikirkan beberapa pertanyaan berikut.
Apakah menurut kalian, data tanggal lahir pasien dan hasil tekanan darah bisa disimpan dalam format yang sama? ………………………………………………………………………………………………
Mengapa komputer bisa menghitung nilai 2 + 3, tapi tidak bisa menjumlahkan kata ‘apel’ + ‘jeruk’?……………………………………………………………………………………………………………………………….
Setiap data memiliki bentuk dan nilai berbeda, mulai dari angka, teks, tanggal hingga format khusus seperti gambar. Pemilihan tipe data yang tepat tidak hanya memengaruhi keakuratan dan efisiensi penyimpanan, tetapi juga berdampak pada proses pengolahan baik itu data dalam sistem informasi maupun data pada aplikasi visualisasi dan pengolah angka seperti Microsoft Excel maupun Google Sheet.
Pada artikel ini, kamu akan menguasai:
1. Jenis Data
2. Tipe Data
Study Case!
Sebelum membahas topik ini lebih jauh. Kita akan mencoba untuk mengidentifikasi data apa saja yang tertera pada bukti pembayaran berikut. Pendekatan dengan studi kasus seperti ini, akan membantu kita untuk lebih cepat memahami jenis dan tipe data.

Sebutkan data apa saja yang ada pada bukti pembayaran di atas!
| No. Registrasi | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
Jenis Data
Jenis data merujuk pada kategori yang menentukan jenis nilai yang dapat disimpan dalam sebuah variabel atau kolom dalam database. Jenis data mengatur bagaimana data disimpan, diolah, dan diakses. Setiap jenis data memiliki karakteristik khusus, dan pemilihan jenis data yang tepat sangat penting dalam pengolahan data untuk menghasilkan informasi yang akurat.
Jenis data berdasarkan maknanya secara umum dapat dibagi menjadi lima:
- Numerik: Data yang berupa angka. Misalnya: bilangan bulat (30), bilangan pecahan (3.14).
- Teks: Data yang berupa karakter atau string. Misalnya: karakter jenis kelamin (L), teks berupa kata (mobil).
- Tanggal dan Waktu: Data yang berhubungan dengan waktu. Misalnya: tanggal lahir, tanggal pembayaran.
- Boolean: Data yang hanya memiliki dua nilai, benar atau salah. Misalnya: jawaban dari pertanyaan ‘Apakah password benar?’ _ True/False
- Biner: Data dalam format biner, seperti gambar atau file
Pemetaan Data ke Jenis Datanya
Pengertian dan contoh jenis data di atas akan memberikan pemahaman bahwa beberapa data memiliki karakteristik yang sama sehingga dapat dikelompokkan pada jenis data tertentu. Coba petakan dua puluh data yang sudah disebutkan pada challenge sebelumnya ke jenis data yang sesuai. Gunakan lima jenis data yang sudah disebutkan pada bagian sebelumnya.
| No. Registrasi | Teks | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
| … | … | … | … |
Mungkin ada beberapa dari teman-teman yang ragu, kenapa nomor registrasi tidak dipetakan ke tanggal maupun ke numerik. Nomor registrasi jika diamati lebih lanjut terdiri dari dua unsur data yang digabungkan yaitu tanggal dan nomor registrasi.
2023/07/22/000133 –> merupakan gabungan dari tanggal 2023/07/22 dan nomor urut 000133 sebagai urutan registrasi dipisahkan dengan tanda ‘/’. Tanggal merupakan jenis data tanggal & waktu sedangkan nomor urut termasuk jenis data numerik. Untuk dapat menggabungkan tanggal dan nomor urut, satu-satunya cara yaitu mengubah format tanggal dan nomor urut menjadi teks dan menggabungkan keduanya dengan memberikan tambahan tanda ‘/’ di antara keduanya. Jika kita lakukan menggunakan Google Sheet maka formula atau rumus yang dapat digunakan seperti gambar di bawah ini.

Tipe Data
Jenis data mengelompokkan data berdasarkan maknanya, sedangkan tipe data lebih spesifik berdasarkan teknis yang digunakan oleh Database Management System. Tipe data merujuk pada format yang tepat yang digunakan untuk menyimpan data dalam database. Ini mencakup spesifikasi lebih rinci tentang ukuran dan batasan data. Contohnya dalam DBMS MySQL terdapat beberapa tipe data berikut:
Data Numerik
- INT: Angka bulat (integer).
- TINYINT: Angka bulat yang lebih kecil, biasanya digunakan untuk nilai yang lebih kecil.
- SMALLINT: Angka bulat yang lebih besar dari TINYINT.
- MEDIUMINT: Angka bulat dengan ukuran sedang.
- BIGINT: Angka bulat yang sangat besar.
- FLOAT: Angka pecahan (floating-point) dengan presisi rendah.
- DOUBLE: Angka pecahan (floating-point) dengan presisi tinggi.
- DECIMAL(M, D): Angka desimal dengan jumlah total digit (M) dan jumlah digit setelah titik desimal (D).
Data Teks
- CHAR(M): String dengan panjang tetap, maksimal M karakter.
- VARCHAR(M): String dengan panjang variabel, maksimal M karakter.
- TEXT: String teks dengan panjang yang lebih besar (hingga 65,535 karakter).
- MEDIUMTEXT: Teks yang lebih besar lagi (hingga 16,777,215 karakter).
- LONGTEXT: Teks yang sangat besar (hingga 4,294,967,295 karakter).
- BINARY(M): Data biner dengan panjang tetap.
- VARBINARY(M): Data biner dengan panjang variabel.
Data Tangga & Waktu
- DATE: Tanggal dalam format ‘YYYY-MM-DD’.
- TIME: Waktu dalam format ‘HH:MM’.
- DATETIME: Kombinasi tanggal dan waktu.
- TIMESTAMP: Timestamp yang merekam waktu dan zona waktu.
- YEAR: Tipe data untuk tahun, biasanya dalam format 4 digit.
Beberapa contoh di atas belum menyebutkan semua tipe data yang tersedia di MySQL dengan rentang dan ukuran penyimpanannya. Akses detail tipe data dapat diakses pada link ini untuk melihat keseluruhan tipe data yang disediakan beserta penjelasan singkat pada tiap tipe data.
Mungkin di antara kalian penasaran, kenapa banyak sekali tipe data yang disediakan padahal menurut maknanya hanya terdapat lima jenis data. Kenapa setiap tipe data memiliki karakteristik yang berbeda dan untuk apa. Mari kita lihat gambar di bawah ini untuk acuan pembahasan kita selanjutnya.

Kita akan coba menjawab pertanyaan-pertanyaan di atas dengan ilustrasi cerita. Anggap bahwa data kita di simpan di rumah sakit untuk keperluan medis seperti rekam medis elektronik. Ketika kita sebagai pasien melakukan kunjungan untuk periksa, maka data status pembayaran akan terbentuk. Misalkan 0 untuk status belum bayar, 1 untuk sudah bayar. Kita anggap bahwa data yang kita simpan adalah numerik dan menggunakan tipe data INT. Maka untuk setiap kali melakukan kunjungan akan membutuhkan 4 byte untuk menyimpan status pembayaran. Jika kita melakukan 10x kunjungan maka membutuhkan storage sebesar 40 byte.
Jika rumah sakit tersebut memiliki 1 juta pasien maka membutuhkan 4 juta byte untuk seluruh jumlah visitasi pertama kali tiap pasien. Jika minimal 1 pasien berkunjung 10x maka
4 byte * 1000000 pasien * 10x kunjungan = 40 jt byte atau setara 40MB.
Anggap bahwa 40MB itu hanya untuk data status pembayaran per bulan, jika terdapat data lain seperti rating, status pasien, dan puluhan data lain. Maka tidak menutup kemungkinann data akan semakin besar. Hal tersebut belum dikalikan dengan berapa tahun rumah sakit berdiri, maka harus dikali dengan rentang waktu tersebut dalam satuan bulan.
Penentuan tipe data status pembayaran menggunakan INT bukanlah keputusan yang bijak. Jika kita menggunakan TINYINT, maka akan lebih efisien dalam penyimpanan di basis data. Pada jangka waktu yang lama hal ini akan mengurangi biaya storage yang dibutuhkan selama sistem informasi yang berjalan di rumah sakit tersebut. Dengan alur cerita yang sama, jika kita menggunakan TINYINT, 40MB data dapat disimpan di 10MB data saja.
Last Challenge!
Coba cek pemahamanmu dengan memetakan data yang sudah didaftar dari dokumen bukti pembayaran ke data type yang sesuai! Contoh Nomor Registrasi dapat disimpan dalam bentuk CHAR(17). Hal ini dikarenakan contoh value nomor registrasi hanya mungkin mennggunakan data teks dengan panjang data tetap yaitu 17 karakter.
Temukan Artikel Basis Data Lainnya!


Leave a Reply