Skip to content
Pertemuan 2: Tabel dan Manipulasi Data

Pertemuan 2: Tabel dan Manipulasi Data

Pada pertemuan ini, mahasiswa akan mulai mempelajari inti pengelolaan data dalam MySQL, yaitu bagaimana tabel dibuat, bagaimana struktur tabel dirancang, dan bagaimana data di dalamnya dikelola. Jika pada pertemuan sebelumnya pembahasan masih berfokus pada pengenalan MySQL dan penggunaan perintah dasar melalui terminal, maka pada pertemuan ini pembelajaran mulai diarahkan pada objek utama dalam basis data relasional, yaitu tabel, beserta berbagai aturan yang mengikatnya.

Modul ini disusun untuk membantu mahasiswa memahami bahwa pengelolaan basis data tidak cukup hanya dengan membuat database. Di dalam praktik nyata, mahasiswa juga perlu memahami cara memilih tipe data yang tepat, menetapkan aturan pada kolom, menjaga keterkaitan antar tabel, memodifikasi struktur tabel, serta mengelola isi tabel melalui proses penambahan, perubahan, penyalinan, penggantian, dan penghapusan data. Dengan demikian, pembelajaran pada pertemuan ini tidak hanya berorientasi pada sintaks, tetapi juga pada logika perancangan dan pengelolaan tabel secara sistematis.

Secara umum, modul ini memuat tujuan pembelajaran, gambaran umum materi, materi inti yang menjelaskan konsep-konsep utama, dan aktivitas praktikum yang berisi rangkaian percobaan untuk menerapkan konsep tersebut secara langsung. Susunan ini dirancang agar mahasiswa terlebih dahulu memahami landasan materi sebelum masuk ke bagian praktik, sehingga setiap perintah yang dijalankan nantinya dapat dipahami alasan dan fungsinya.

Tujuan Pembelajaran

Setelah mengikuti praktikum pada pertemuan ini, mahasiswa diharapkan mampu:

  1. menjelaskan konsep tabel sebagai objek utama penyimpanan data dalam basis data relasional,
  2. memilih tipe data yang sesuai untuk kolom berdasarkan jenis data yang akan disimpan,
  3. menjelaskan fungsi primary key, unique, dan foreign key dalam menjaga konsistensi data,
  4. membuat tabel dengan aturan dasar seperti NOT NULL, DEFAULT, AUTO_INCREMENT, dan PRIMARY KEY,
  5. memahami konsep referential integrity dalam hubungan antar tabel,
  6. menjelaskan penggunaan IF NOT EXISTS, CREATE TABLE … SELECT, dan CREATE TEMPORARY TABLE,
  7. memodifikasi struktur tabel menggunakan ALTER TABLE,
  8. menjelaskan berbagai bentuk manipulasi data menggunakan INSERT, UPDATE, REPLACE, DELETE, TRUNCATE, dan DROP TABLE.

Gambaran Umum

Topik utama pada pertemuan ini adalah tabel dan manipulasi data. Dalam MySQL, tabel merupakan tempat utama untuk menyimpan data secara terstruktur. Oleh karena itu, langkah pertama yang perlu dipahami adalah bagaimana tabel dibuat, bagaimana kolom-kolomnya didefinisikan, dan bagaimana aturan pada setiap kolom diterapkan agar data yang disimpan tetap konsisten.

Pembahasan dimulai dari pembuatan tabel menggunakan CREATE TABLE, kemudian dilanjutkan dengan pengenalan tipe data yang umum digunakan di MySQL, seperti tipe data teks, numerik, serta tanggal dan waktu. Setelah itu, mahasiswa akan mempelajari bagaimana sebuah kolom dapat diberi aturan tertentu, misalnya sebagai primary key untuk membedakan setiap record, sebagai unique untuk mencegah nilai ganda, atau sebagai foreign key untuk menghubungkan data antar tabel.

Selain membahas struktur tabel, modul ini juga menjelaskan bagaimana struktur tersebut dapat dimodifikasi menggunakan ALTER TABLE, misalnya untuk menambah kolom, mengubah definisi kolom, menambahkan primary key, atau mengganti nama tabel. Setelah struktur tabel dipahami, pembahasan dilanjutkan ke manipulasi data, yaitu bagaimana data dimasukkan, disalin, diperbarui, diganti, dihapus, atau dibersihkan dari tabel.

Secara garis besar, pertemuan ini dirancang agar mahasiswa tidak hanya mampu membuat tabel, tetapi juga memahami bagaimana tabel tersebut dirancang, dijaga konsistensinya, dan dikelola isinya dengan benar. Dengan fondasi ini, mahasiswa akan lebih siap memasuki materi-materi berikutnya yang lebih kompleks dalam pengelolaan basis data relasional.

Materi Inti

1. Konsep Tabel dalam MySQL

Tabel adalah objek utama dalam basis data relasional yang digunakan untuk menyimpan data dalam bentuk baris dan kolom. Setiap tabel memiliki nama, kumpulan kolom, tipe data untuk setiap kolom, dan aturan tertentu yang mengatur bagaimana data boleh dimasukkan. Dalam MySQL, tabel dibuat menggunakan perintah CREATE TABLE.

Secara sederhana, kolom berfungsi untuk mendefinisikan jenis data yang akan disimpan, sedangkan baris menyimpan record atau data aktual. Karena itulah, sebelum sebuah tabel dibuat, perancang basis data harus menentukan informasi apa yang perlu disimpan, bagaimana bentuk datanya, dan aturan apa saja yang harus diberlakukan agar data tetap valid.

2. Tipe Data pada MySQL

Tipe data dalam MySQL terdiri atas beberapa jenis. Pemilihan tipe data yang tepat sangat penting karena akan berpengaruh pada bentuk data yang dapat disimpan, efisiensi ruang penyimpanan, serta proses pengolahan data di dalam tabel.

2.1 Tipe Data Teks

Tipe data teks digunakan untuk menyimpan data berupa karakter, kata, kalimat, maupun data biner tertentu. Beberapa tipe data teks pada MySQL adalah sebagai berikut.

Tipe DataKeterangan
CHAR()Menyimpan data teks dengan panjang tetap, dari 0 sampai 255 karakter.
VARCHAR()Menyimpan data teks dengan panjang berubah-ubah, dari 0 sampai 255 karakter.
TINYTEXTMenyimpan string dengan panjang maksimum 255 karakter.
TEXTMenyimpan string dengan panjang maksimum 65535 karakter.
BLOBMenyimpan data biner dengan panjang maksimum 65535 byte.
MEDIUMTEXTMenyimpan string dengan panjang maksimum 16777215 karakter.
MEDIUMBLOBMenyimpan data biner dengan panjang maksimum 16777215 byte.
LONGTEXTMenyimpan string dengan panjang maksimum 4294967295 karakter.
LONGBLOBMenyimpan data biner dengan panjang maksimum 4294967295 byte.
ENUM(value1, value2, ...)Menyimpan satu nilai yang dipilih dari daftar nilai yang telah ditentukan. ENUM dapat memiliki maksimum 65535 nilai berbeda.
SET(value1, value2, ...)Menyimpan nol atau lebih nilai, masing-masing dipilih dari daftar nilai yang telah ditentukan. SET dapat memiliki maksimum 64 anggota.

2.2 Tipe Data Numerik

Tipe data numerik digunakan untuk menyimpan bilangan bulat maupun bilangan pecahan. Beberapa tipe data numerik pada MySQL adalah sebagai berikut.

Tipe DataKeterangan
TINYINT()Rentang nilai -128 sampai 127 untuk signed, atau 0 sampai 255 untuk unsigned.
SMALLINT()Rentang nilai -32768 sampai 32767 untuk signed, atau 0 sampai 65535 untuk unsigned.
MEDIUMINT()Rentang nilai -8388608 sampai 8388607 untuk signed, atau 0 sampai 16777215 untuk unsigned.
INT()Rentang nilai -2147483648 sampai 2147483647 untuk signed, atau 0 sampai 4294967295 untuk unsigned.
BIGINT()Rentang nilai -9223372036854775808 sampai 9223372036854775807 untuk signed, atau 0 sampai 18446744073709551615 untuk unsigned.
FLOAT(M,D)Menyimpan bilangan pecahan dengan presisi tunggal.
DOUBLE(M,D)Menyimpan bilangan pecahan dengan presisi ganda.
DECIMAL(M,D)Menyimpan bilangan pecahan dengan titik desimal tetap.
BIT()Menyimpan nilai bit, yaitu 0 atau 1.

Pada tipe data numerik FLOAT, DOUBLE, dan DECIMAL, nilai M menunjukkan jumlah digit keseluruhan, sedangkan D menunjukkan jumlah digit di belakang koma. Sebagai contoh, jika sebuah kolom didefinisikan sebagai FLOAT(7,4), maka bentuk nilainya dapat tampak seperti 999.9999.

2.3 Tipe Data Tanggal dan Waktu

Tipe data tanggal dan waktu digunakan untuk menyimpan data yang berkaitan dengan tanggal, jam, atau gabungan keduanya. Beberapa tipe data yang umum digunakan adalah sebagai berikut.

Tipe DataFormat
DATEYYYY-MM-DD
DATETIMEYYYY-MM-DD HH:MM:SS
TIMESTAMPYYYYMMDDHHMMSS
YEARYYYY
TIMEHH:MM:SS

Pemilihan tipe data tanggal dan waktu yang tepat akan memudahkan proses penyimpanan, pencarian, dan pengolahan data berbasis waktu di dalam MySQL.

3. Aturan Dasar pada Kolom

Selain tipe data, setiap kolom dapat diberi aturan tertentu agar data yang masuk tetap sesuai dengan kebutuhan tabel.

AturanFungsi
NOT NULLKolom tidak boleh kosong
DEFAULTMemberi nilai awal jika data tidak diisi
AUTO_INCREMENTMenambah nilai otomatis secara berurutan
PRIMARY KEYMenjadikan kolom sebagai identitas unik tabel
UNIQUEMencegah nilai duplikat pada kolom tertentu

Aturan-aturan ini sangat penting karena membantu menjaga konsistensi dan validitas data sejak awal proses penyimpanan.

4. Primary Key dan AUTO_INCREMENT

Primary key adalah atribut yang digunakan untuk membedakan satu record dengan record lainnya di dalam tabel. Setiap tabel sebaiknya memiliki satu primary key agar setiap baris data dapat dikenali secara unik. Dalam banyak kasus, primary key digabungkan dengan AUTO_INCREMENT, sehingga nilai identitas akan bertambah otomatis ketika data baru dimasukkan.

Dengan cara ini, pengguna tidak perlu menuliskan nilai id secara manual setiap kali menambahkan data. Pola ini sangat sering digunakan pada tabel-tabel utama karena mempermudah identifikasi dan relasi antar data.

5. Constraint UNIQUE

Constraint UNIQUE digunakan untuk memastikan bahwa nilai pada suatu kolom tidak boleh sama. Aturan ini diperlukan pada data-data tertentu yang secara logika memang harus unik, misalnya nomor plat kendaraan, alamat email, nomor induk, atau username.

Jika pengguna mencoba memasukkan nilai yang sudah ada pada kolom yang diberi constraint UNIQUE, maka MySQL akan menolak data tersebut. Dengan demikian, kualitas data dapat lebih terjaga karena duplikasi dapat dicegah secara otomatis.

6. Parameter IF NOT EXISTS

Pada saat membuat tabel, terkadang pengguna ingin memastikan bahwa tabel yang sama tidak dibuat berulang kali. Untuk itu, MySQL menyediakan parameter IF NOT EXISTS.

Dengan menggunakan parameter ini, MySQL akan memeriksa terlebih dahulu apakah tabel yang dimaksud sudah ada atau belum. Jika tabel sudah tersedia, perintah tidak akan membuat tabel baru lagi. Fitur ini sangat membantu untuk mencegah error saat menjalankan skrip SQL berulang kali.

7. Membuat Tabel dari Hasil Query

Selain membuat tabel secara manual, MySQL juga mendukung pembuatan tabel dari hasil query menggunakan pola CREATE TABLE … SELECT. Cara ini berguna ketika pengguna ingin membuat tabel baru yang isinya berasal dari tabel lain, baik seluruh data maupun data hasil penyaringan tertentu.

Pendekatan ini praktis untuk menyalin data, membuat tabel cadangan, atau membentuk tabel baru berdasarkan kriteria tertentu tanpa harus mengisi data satu per satu.

8. Temporary Table

Temporary table adalah tabel sementara yang hanya terlihat pada sesi koneksi yang sedang aktif. Selama koneksi masih terbuka, tabel ini dapat digunakan seperti tabel biasa. Namun, ketika koneksi ditutup, temporary table akan hilang secara otomatis.

Jenis tabel ini biasanya digunakan untuk kebutuhan pengolahan data sementara, pengujian, atau langkah perantara dalam proses manipulasi data. Pada modul, temporary table diperkenalkan untuk menunjukkan bahwa tidak semua tabel bersifat permanen. Temporary table hanya terlihat pada koneksi aktif dan akan terhapus setelah koneksi berakhir.

9. Foreign Key dan Referential Integrity

Dalam basis data relasional, data pada satu tabel sering kali berhubungan dengan data pada tabel lain. Hubungan ini dijaga menggunakan foreign key, yaitu kolom pada sebuah tabel yang merujuk ke primary key pada tabel lain.

Konsep yang dijaga oleh foreign key disebut referential integrity, yaitu konsistensi hubungan antar data agar tidak muncul data yang tidak memiliki referensi yang sah. Pada modul ini, contoh foreign key dibuat menggunakan engine InnoDB, karena engine ini mendukung foreign key dan membantu menjaga referential integrity. Selain itu, modul juga menegaskan bahwa InnoDB mendukung konsep ACID, sehingga cocok digunakan ketika integritas data menjadi perhatian penting.

Secara umum, terdapat beberapa jenis aksi referential integrity yang biasa digunakan pada ON UPDATE dan ON DELETE.

AksiPenjelasan
RESTRICTMenolak perubahan atau penghapusan pada tabel induk jika masih ada data pada tabel anak yang mereferensikannya
NO ACTIONSecara praktik sama dengan RESTRICT, yaitu tidak mengizinkan perubahan jika referensi masih ada
CASCADEPerubahan atau penghapusan pada tabel induk akan diteruskan ke tabel anak yang terkait
SET NULLJika data pada tabel induk berubah atau dihapus, nilai foreign key pada tabel anak akan diubah menjadi NULL

10. Modifikasi Struktur Tabel dengan ALTER TABLE

Setelah tabel dibuat, strukturnya masih dapat diubah sesuai kebutuhan. Pada MySQL, perubahan struktur tabel dilakukan menggunakan perintah ALTER TABLE.

Beberapa bentuk perubahan yang umum dilakukan antara lain:

OperasiFungsi
ADD COLUMNMenambahkan kolom baru
ADD PRIMARY KEYMenambahkan primary key
ADD UNIQUEMenambahkan constraint unique
CHANGEMengganti nama kolom sekaligus definisinya
MODIFYMengubah definisi kolom
DROP COLUMNMenghapus kolom
DROP PRIMARY KEYMenghapus primary key
RENAMEMengganti nama tabel

Dengan ALTER TABLE, tabel yang sudah ada tidak harus dibuat ulang dari awal ketika terjadi kebutuhan perubahan desain.

11. Manipulasi Data

Setelah struktur tabel selesai, langkah berikutnya adalah mengelola isi data di dalamnya. Beberapa bentuk manipulasi data yang penting dipahami pada pertemuan ini adalah sebagai berikut.

a. INSERT

Perintah INSERT digunakan untuk menambahkan data ke dalam tabel. Data dapat dimasukkan dengan menuliskan seluruh nilai sesuai urutan kolom, dengan menyebutkan kolom tertentu saja, atau dengan menambahkan beberapa baris sekaligus dalam satu perintah. MySQL juga mendukung INSERT … SELECT untuk menyalin data dari tabel lain.

b. UPDATE

Perintah UPDATE digunakan untuk mengubah data yang sudah ada. Perubahan dapat dilakukan berdasarkan kondisi tertentu atau berdasarkan nilai yang sedang dimiliki kolom tersebut.

c. REPLACE

Perintah REPLACE memiliki bentuk mirip dengan INSERT, tetapi digunakan untuk menggantikan data yang sudah ada apabila nilai primary key atau unique key yang dimasukkan sama dengan data sebelumnya.

d. DELETE

Perintah DELETE digunakan untuk menghapus baris data tertentu dari tabel berdasarkan kondisi yang diberikan.

e. TRUNCATE TABLE

Perintah TRUNCATE TABLE digunakan untuk menghapus seluruh isi tabel dengan cepat, tetapi struktur tabel tetap dipertahankan.

f. DROP TABLE

Perintah DROP TABLE digunakan untuk menghapus tabel secara keseluruhan, termasuk struktur dan seluruh data di dalamnya.

Penutup Pengantar

Sebelum masuk ke aktivitas praktikum, mahasiswa perlu memahami bahwa seluruh materi pada pertemuan ini saling berhubungan. Tipe data, constraint, primary key, foreign key, referential integrity, modifikasi struktur tabel, dan manipulasi data bukanlah bagian yang berdiri sendiri, melainkan komponen yang bersama-sama membentuk pengelolaan tabel yang baik dalam basis data relasional. Dengan memahami materi inti ini terlebih dahulu, mahasiswa akan lebih mudah mengikuti percobaan praktikum secara runtut dan memahami alasan di balik setiap perintah yang dijalankan.