0% menganggap dokumen ini bermanfaat (0 suara)
88 tayangan

Modul 3. Type Data

Tipe data pada database digunakan untuk mengidentifikasi jenis data yang disimpan pada kolom tabel dan membatasi jenis operasi yang dapat dilakukan pada data tersebut. Ada beberapa jenis tipe data seperti string, numerik, tanggal, boolean, dan binary. Tipe data perlu ditentukan untuk memberikan format dan batasan pada kolom serta menghasilkan hasil yang konsisten.

Diunggah oleh

LimbongTonni
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
88 tayangan

Modul 3. Type Data

Tipe data pada database digunakan untuk mengidentifikasi jenis data yang disimpan pada kolom tabel dan membatasi jenis operasi yang dapat dilakukan pada data tersebut. Ada beberapa jenis tipe data seperti string, numerik, tanggal, boolean, dan binary. Tipe data perlu ditentukan untuk memberikan format dan batasan pada kolom serta menghasilkan hasil yang konsisten.

Diunggah oleh

LimbongTonni
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 10

MODUL 3

TIPE DATA (DATA TYPE) PADA DATABASE

3.1. Macam-Macam Tipe Data (Data Type) Pada Database


Melanjutkan artikel tentang database pada artikel kali ini saya akan membahas suatu hal yang
tidak kalah penting yang perlu diketahui oleh Programmer dan Sistem Analisis untuk
merancang database yaitu adalah tipe data (datatype).

 
Untuk seorang Programmer seharusnya sudah tidak asing lagi dengan tipe data, karena di
berbagai macam bahasa pemrograman pada umumnya juga terdapat tipe data yang digunakan
untuk meng-inisialisasi-kan atau mendeklarasikan suatu variable. Tipe data yang
diinisialisasikan pada suatu variable akan memberikan suatu batasan pada variabel tersebut
untuk dapat menyimpan suatu data.
Data Type atau Tipe Data adalah suatu kelengkapan (attribute) pada suatu yang
digunakan untuk mengidentifikasi tipe atau jenis suatu data atau variabel tersebut. Suatu data
yang telah didefinisikan tipe data-nya maka data tersebut memiliki suatu identitas yang
berupa operasi apa saja yang memungkinkan untuk dilakukan oleh data tersebut.
Dalam Database Data Type adalah suatu fungsi (function) yang digunakan untuk
mengidentifikasi batasan suatu kolom dalam menyimpan dan penulisan format suatu data
atau konten tertentu.
Penggunaan typedata pada database memiliki beberapa fungsi yaitu :
 Untuk memberikan batasan atau format pada kolom table suatu database.
 Untuk membatasi data yang di-insert pada suatu kolom.
 Memberikan dampak hasil yang konsisten pada suatu kolom.
Pada database tipe data terlihat seperti fungsi / function pada umumnya di pemrograman, oleh
karena itu terdapat tipe data pada database yang wajib anda set / menentukan nilai parameter,
dan ada juga tipe data yang tidak memerlukan parameter.

Parameter pada tipe data ini digunakan untuk menentukan jumlah character berapa
batas maksimal dari jumlah character. Ada juga parameter yang digunakan untuk mem-fix-
kan jumlah character misal 5, maka tidak boleh kurang dan tidak boleh lebih. Untuk tipe
data boolean parameter nya digunakan utnuk mendefinisakan option atau pilihan dari suatu
kasus yang logic.

Contoh tipe data yang perlu ditentukan parameter nya


–attibute id dengan maksimal penggunaan 2 digit bilangan bulat: id INT(2)
–attibute username dengan maksimal penggunaan 20 digit string: username VARCHAR (20)

Contoh tipedata yang tidak perlu ditentukan parameter nya


–attibute birthday dengan tipedata Date: birthday DATE
–attribute address dengan tipedata Text :address TEXT 
Pada materi ini sebagai bahasan adalah tipe data pada DBMS MYSQL Pada database 
terdapat 5 jenis tipe data itu di kelompokan berdasarkan fungsinya,
yaitu String, numeric, Date, Boolean, dan Binary.

1. Tipe Data String
String adalah tipe data yang digunakan pada kolom yang menyimpan data dalam bentuk
huruf atau character, kalimat, text, dan semacamnya. Kolom yang diinisialisaikan tipe
datanya berupa string maka dapat juga menyimpan data dalam bentuk source code, HTML,
XML, JSON dan semacamnya dengan format text tertentu misal UTF8. Berikut ini beberapa
contoh tipedata string yang dapat anda guanakan di DBMS MYSQL :

Tipe Data Fungsi


Menyimpan data string (huruf, angka, spesial karakter) ukuran panjang
karakter atau digit huruf yang tetap. memiliki kapasitas jangkauan 0 s/d
CHAR 255 karakter.
Menyimpan String dengan digit huruf yang dinamis dan jumlah maksimal
VARCHAR yang telah ditentukan. Dengan kapasitas jangkauan 0 s/d 65535 karakter.
TEXT Menyimpan String dengan panjang maksimal  65.535 bytes
TINYTEXT Menyimpan String dengan panjang maksimal 255 karakter
MEDIUMTEX Menyimpan data berupa String dengan panjang maksimal 16,777,215
T karakter
Menyimpan data berupa String dengan panjang maksimal 4,294,967,295
LONGTEXT karakter

2. Tipe Data Numeric / Angka


Numeric, dari namanya sudah pasti numeric berarti digunakan pada kolom yang menyimpan
data berupa angka. Tipe Data numeric memiliki beberpa format penulisan mislakan bilangan
desimal, bilangan bulat, dll. Berikut ini beberapa contoh format dari tipe data numeric :
Tipe Data Fungsi Jangkauan / Range
INT Menyimpan data dalam -2147483648 s/d 2147483647
bentuk Interger atau bilangan
TINYINT -128 s/d 127
bulat dapat bernilai positif atau
SMALLINT negatif. -32.768 s/d 32.767
MEDIUMINT -8.388.608 s/d 8.388.607
BIGINT -9223372036854775808 s/d
9223372036854775807
FLOAT Menyimpan data bilangan pecahan 3.402823466E+38 s/d
positif atau negatif -1.175494351E-38, 0, dan
1.175494351E-38 s/d
3.402823466E+38.
DOUBLE -1.79…E+308 s/d -2.22…E-308, 0,
dan 2.22…E-308 s/d 1.79…E+308
Tipe Data Fungsi Jangkauan / Range
DECIMAL / -1.79…E+308 s/d -2.22…E-308, 0,
NUMERIC dan 2.22…E-308 s/d 1.79…E+308

3. Tipe data Date dan Time (Tanggal dan Waktu)


Date adalah tipe data untuk kolom yang digunakan untuk menyimpan data yang memiliki
format waktu bisa berupa tanggal atau pun jam.
Tipe Data Fungsi Jangkauan (Range)
DATE Menyimpan data tanggal dengan 1000-01-01 s/d 9999-12-31
Format (YYYY-MM-DD), Tahun-
Bulan-Hari.
TIME Menyimpan data dalam bentuk waktu -838:59:59 s/d +838:59:59
dengan Format (HH:MM:SS), Jam,
Menit, Detik.
DATETIM Menyimpan data Tanggal dan Waktu 1000-01-01 00:00:00 s/d 9999-12-31
E 23:59:59
YEAR Menyimpan data Tahun 1900 s/d 2155

4. Tipe Data Binary
Binary adalah tipe data yang memungkinkan suatu kolom database dapat menyimpan suatu
binary file, Misalkan :
1. Document : Text Document(*.doc, *.odf), sparesheet (*.xls, *.ods)
2. Multi Media : Gambar (*.jpg, *.png, *.gif), video (*.mp4, *.mkv), music (*.mp3,
*.acc)
Berikut tabel beberapa contoh tipe data binary yang dapat digunakan pada DBMS MYSQL:
Tipe Data Fungsi Kapasitas
BLOB Binary Large OBjects untuk menyimpan data 65.535 bytes
berupa binary object.
TINYBLOB 255 bytes
MEDIUMBLO 16.777.215 bytes
B
LONGBLOB 4.294.967.295 byte

5. Tipe Data Boolean
Tipe Data Boolean adalah suatu tipe data yang sifatnya seperti if-else atau if-else-
if menungkinkan suatu kolom untuk memiliki pilihan data untuk disimpan. Jadi dengan
penerapan tipe data boolean ini memungkinkan untuk menolak insert data yang nilainya
diluar pilihan.
Tipe Data Fungsi
BOOLEA
N Membadingkan tipe data numberic 0 = False, dan 1 = True.
Menyimpan data dalam bentuk String tertentu yang telah tersedia pada
ENUM parameter-nya.
NOTE :
1. Pada kolom yang saya beri warna hijau adalah tipe data yang paling sering saya
gunakan.
2. Pada umumnya masing-masing DBMS (Database Management System) memiliki tipe
data yang sama secara fungsional dan penggunaan, namun ada juga beberapa DBMS lain
yang memiliki nama tipe data berbeda dengan fungsi yang sama, misalkan yang pernah
saya temui di DBMS Oracle :
MYSQL ORACLE
INT() NUMBER()
VARCHAR
() VARCHAR2()
3. Selain nama terdapat satu hal lagi yang membedakan tipe data pada masing-masing
pada masing-masing DBMS yaitu adalah jangkauan (range) data yang dapat disimpan
pada suatu kolom.

3.2. Mengidentifikasi Tipe Data Kolom / Attribute Suatu Table pada Database


Mengidentifikasi tipe data merupakan suatu kegiatan yang pada umumnya dilakukan oleh
dilakukan oleh seorang sistem analisys atau programmer (secara umum) pada tahap analisis
system. Jadi pada tahap analisis perancangan database dalam menentukan tipe data suatu data
yang akan disimpan pada ada suatu hal yang biasanya saya dilakukan untuk mempermudah
dalam proses perbuatannya yaitu dengan melakukan validasi dengan rancangan interface
yang sudah dibuat dan rancangan flow atau alur dari program yang telah anda buat.

Berikut contoh mengidentifikasi kolom atau attibute untuk Tabel (Entitas) User  pada
database :
Hasil Kolom dan Tipe
Kolom Keterangan
Data
Jumlah user pada suatu perusahaan
yang akan menggunakan aplikasi yang
saya kembangkan kurang dari 5000
id_user id_user CHAR(5)
orang, maka karena, kolom id maka
saya akan gunakan tipe data character
yang jumlahnya fix / tetap).
Nama orang (nama user) yang akan
disimpan pada database memiliki
nama_user
nama_user jumlah character yang berbeda-beda,
VARCHAR(255)
dan nama seorang user jumlah
characternya pasti kurang dari 255.
Biasanya sangat jumlah characternya
address_user sangat panjang dan jumlah character address_user TEXT
pada masing-masing alamat berbeda.
Biasanya orang hanya ingat tanggal
birthday_user lahirnya saja tidak dengan jam, menit birthday_user DATE
dan detiknya.
Nomor kode pos di Indonesia
zipcode_user (kode
memiliki 5 digit, jumlah digit tersebut zipcode_user INT(5)
pos)
dapat kita buat fix melalui tipe data.
Hasil Kolom dan Tipe
Kolom Keterangan
Data
Untuk kolom jenis kelamin pada
karana ada 2 pilihan “Laki-Laki” dan gender_user
gender_user (jenis
“Perempuan”, maka untuk khasus ENUM(‘male’,
kelamin)
seperti ini dapat menerapkan tipedata ‘female’)
berupa boolean.
Kebetulan perusahaan client memiliki
user berupa karyawan yang bekerja
secara remote di berbagai macam
negara. untuk kasus seperti ini, bisa
anda buat kolom country_user dengan
tipe data enum, namun tidak saya
sarankan untuk
membuat enumeration yang memiliki
country_user (di
pilihan sejumlah lebih dari 200,
negara mana si user country_user INT(3)
mengapa? karena jumlah pilihan yang
itu tinggal?)
terlalu banyak, saya sarankan
membuat tabel negara yang ber-relasi
dengan table user one-to-one. Dengan
membuat tebel negara anda dapat
menyertakan atribut / kolom lain yang
dipengaruhi oleh negara, yaitu code
negara pada nomor telephone
misalkan.
Terdapat 2 cara yang bisa dilakukan untuk menyimpan suatu
data dalam bentuk gambar.
1. Jika anda ingin menyimpan gambar
dalam bentuk binary pada suatu kolom
database anda dapat meng-set kolom photo_user BLOB
photo_user (foto tersebut dengan menggunakan tipe
profil user) data binary.
2. jika gambar tersebut akan anda
simpan pada suatu directory di server
anda, anda dapat mengstorkan ke photo_user TEXT
database url dari gambar yang sudah
anda upload.
namun sangat disayangkan sekali
format tipedata email masih belum
anda, karena biasanya disimpan dalam email_user
email_user
bentuk string, atau kadang sebelum VARCHAR(255)
disimpan di database email akan
diencripsi terlebih dahulu.

3.3. Cara mengimplementasikan penggunaan tipedata pada database


Dari hasil rancangan kolom dan tipe data di atas dapat diimplementasikan dalam
bentuk source code  SQL

Tipe Data BLOB MySQL


Tipe data BLOB adalah tipe data versi binary dari TEXT, dimana karakter akan disimpan
dalam bit. Dan untuk karakter huruf, huruf besar dan kecil akan dibedakan (‘A’ tidak sama
dengan ‘a’). Sama seperty TEXT, BLOB juga memiliki beberapa tipe : TINY BLOB,
BLOB, MEDIUM BLOB, dan LONGBLOB.

Ukuran serta jangkauan dari BLOB sama seperti TEXT, seperti pada tabel berikut ini:
Tipe Data Ukuran Maksimum Jumlah Karakter Maksimum

TINYBLOB 255 byte 255

BLOB 65.535 byte (64 KB) 65.535

MEDIUMBLO 16.777.215 byte (16MB) 16.777.215


B

LONGBLOB 4.294.967.295 (4GB) 4.294.967.295

Karena sifatnya yang tersimpan secara binary, tipe data BLOB dapat digunakan untuk
menyimpan data multimedia, seperti gambar dan musik kedalam tabel MySQL.
1 mysql> CREATE TABLE contoh_blob (tin TINYBLOB, blo BLOB,
2 lon LONGBLOB);
3 Query OK, 0 rows affected (0.14 sec)
4  
5 mysql> DESCRIBE contoh_blob;
6  +-------+----------+------+-----+---------+-------+
7  | Field | Type     | Null | Key | Default | Extra |
8  +-------+----------+------+-----+---------+-------+
9  | tin   | tinyblob | YES  |     | NULL    |       |
10  | blo   | blob     | YES  |     | NULL    |       |
11  | lon   | longblob | YES  |     | NULL    |       |
12  +-------+----------+------+-----+---------+-------+
13  3 rows in set (0.01 sec)
14  
15 mysql> INSERT INTO contoh_blob values ('duniailkom',
16 'duniailkom','duniailkom.com');
17 Query OK, 1 row affected (0.05 sec)
18  
19 mysql> SELECT * FROM contoh_blob;
20  +------------+------------+----------------+
21  | tin        | blo        | lon            |
22  +------------+------------+----------------+
23  | duniailkom | duniailkom | duniailkom.com |
24  +------------+------------+----------------+
25  1 row in set (0.01 sec)

3.4. Cara Menyimpan Gambar di Mysql Dengan Menggunakan PHP


Untuk mengelola database yang berkaitan dengan gambar, sebagian besar programmer pasti
menyimpan path dari gambar tersebut dalam table di database. Dengan kata lain, kita
menyimpan gambar tersebut di tempat lain di server. Bagaimana kalau ternyata gambarnya
tiba-tiba dihapus kemudian kita tidak melakukan update terhadap data tersebut di database.
Maka dipastikan akan menjadi path yang tersimpan di table tidak akan ditemukan dan
memunculkan broken image.
Jika Anda khawatir tentang kapasitas server dan perlu mengosongkan kapasitas di
server Anda, Anda dapat memasukkan file gambar dalam database tanpa mengunggahnya ke
dalam direktori. Langkah ini membantu untuk mengoptimalkan kapasitas server karena
konten file gambar disimpan dalam database.

BLOB
MySQL memiliki tipe data BLOB (binary larger object) yang dapat menampung data biner
dalam jumlah besar. Tipe data BLOB sangat cocok untuk menyimpan data gambar. Di
MySQL, empat tipe BLOB tersedia – TINYBLOB, BLOB, MEDIUMBLOB, dan
LONGBLOB.

Kapasitas Maximum (dalam


Tipe Data BLOB
bytes)
TINYBLOB ((2^8)-1)
BLOB ((2^16)-1)
MEDIUMBLOB ((2^24)-1)
LONGBLOB ((2^32)-1)
Untuk menyimpan data gambar, sebuah table perlu dibuat dalam database. Seperti pada
tutorial sebelumnya menggunakan database db_belajar. Buat table tb_images :

CREATE TABLE tb_images (


  id int(3) NOT NULL AUTO_INCREMENT,
  tipeimage varchar(20) NOT NULL,
  dataimage blob NOT NULL,
  PRIMARY KEY (id)
);

Buat halaman untuk proses upload gambar (index.php) :

<?php
if (count($_FILES) > 0) {
if (is_uploaded_file($_FILES['gambar']['tmp_name'])) {
$koneksi = mysqli_connect("localhost", "root", "", "db_belajar");
$datagambar = addslashes(file_get_contents($_FILES['gambar']['tmp_name']));
$propertiesgambar = getimageSize($_FILES['gambar']['tmp_name']);

$sql = "INSERT INTO tb_images(tipeimage ,dataimage) VALUES('" .


$propertiesgambar['mime'] . "', '" . $datagambar . "')";
mysqli_query($koneksi, $sql) or die("<b>Error:</b> Ada kesalahan<br/>" .
mysqli_error($koneksi));

$lastrecord = "SELECT id FROM tb_images ORDER BY id DESC LIMIT 1";


$result = mysqli_query($koneksi, $lastrecord) or die("<b>Error:</b> Ada
kesalahan<br/>" . mysqli_error($koneksi));
$getid = mysqli_fetch_array($result);
if (isset($getid["id"])) {
$notif = 'Gambar berhasil di simpan, silakan lihat di <a target="_blank"
href="view.php?id=' . $getid["id"] . '">sini</a>';
}
}
}
?>
<html>
<head>
<title>Menyimpan Gambar Di MySQL</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<?php
if (isset($notif)) {
echo $notif;
}
?>
<form name="formupload" enctype="multipart/form-data" action=""
method="post">
<label>Upload Gambar:</label><br />
<input name="gambar" type="file" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

Kemudian buat halaman untuk menampilkan gambar langsung dari database :

<?php
 
$koneksi = mysqli_connect("localhost", "root", "", "db_belajar");
if (isset($_GET['id'])) {
    $sql = "SELECT * FROM tb_images WHERE id=" . $_GET['id'];
    $result = mysqli_query($koneksi, $sql) or die("<b>Error:<b> Ada kesalahan&lt;br/>" .
mysqli_error($koneksi));
    $row = mysqli_fetch_array($result);
    header("Content-type: " . $row["tipeimage"]);
    echo $row["dataimage"];
}
mysqli_close($koneksi);
?>
Tentunya modul di atas masih sangat sederhana, selanjuntya bisa menambahkan fungsi untuk
melakukan resize gambar jika ukuran gambar cukup besar. Seperti pada tutorial di Cara
Mudah Untuk Upload Dan Resize Gambar dDengan PHP.
Tipe data yang digunakan di atas adalah BLOB, jika ukuran gambar yang diupload cukup
besar dan ternyata tipe data tersebut tidak bisa meng-handle. Boleh juga merubahnya menjadi
MEDIUMBLOB atau LONGBLOB. Jika menyimpan gambar di database, maka ukuran
database akan besar pula. Gambar yang Anda simpan dalam database, ukurannya sama
dengan gambar yang tersimpan dalam direktori.

Memuat blob dan gambar ke Model Data


Kolom tipe biner bisa menyimpan ukuran data yang besar, seperti gambar. Ukuran data yang
besar dikenal sebagai objek besar biner (BLOB). Anda dapat memuat data blob, seperti
gambar, ke Model Data dari sumber data yang mendukung tipe data ini seperti SQL Server.

Contoh
Misalnya, ingin memuat gambar dari database SQL Server ke Model Data. Kueri Anda
mengimpor daftar nama dan gambar produk.

Prosedur
1. Memuat data Anda ke Model Data. Untuk informasi selengkapnya, lihat Membuat
Model Data dalam Excel.
2. Pilih Power Pivot > Kelola.
3. Pilih File> Ke Mode Tingkat Lanjut.
4. Pilih Properti> Tingkat Lanjut.
5. Untuk mengaktifkan kolom yang berisi data biner, dalam kisi Properti Tabel, pilih
kolom Data Biner, seperti ThumbNailPhoto.
6. Pilih File> Simpan.
7. Pilih Perilaku > Tingkat Lanjut.
8. Dalam kotak dialog Perilaku Tabel, pilih kolom dari daftar menurun Pengidentifikasi
Baris, seperti ProductID,lalu pilih dari daftar menurun Gambar Default, kolom
seperti ThumbNailPhoto.

9. Pilih OK.

Anda mungkin juga menyukai