<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Belajar Teknologi</title>
	<atom:link href="https://ramzilhuda.com/tag/tutorial-sql/feed/" rel="self" type="application/rss+xml" />
	<link>https://ramzilhuda.com</link>
	<description>Belajar dan Sharing Ilmu Teknologi</description>
	<lastBuildDate>Sun, 18 Oct 2026 23:48:16 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>

<image>
	<url>https://i0.wp.com/ramzilhuda.com/wp-content/uploads/2019/09/cropped-thunder.png?fit=32%2C32&#038;ssl=1</url>
	<title>Belajar Teknologi</title>
	<link>https://ramzilhuda.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">166916531</site>	<item>
		<title>Belajar MySQL untuk Pemula: Membuat Database, Tabel, dan Query Dasar</title>
		<link>https://ramzilhuda.com/belajar-mysql-untuk-pemula/</link>
					<comments>https://ramzilhuda.com/belajar-mysql-untuk-pemula/#respond</comments>
		
		<dc:creator><![CDATA[ramzilhuda]]></dc:creator>
		<pubDate>Sun, 25 Oct 2026 02:00:52 +0000</pubDate>
				<category><![CDATA[Tutorial Pemrograman]]></category>
		<category><![CDATA[belajar mysql]]></category>
		<category><![CDATA[database mysql]]></category>
		<category><![CDATA[mysql pemula]]></category>
		<category><![CDATA[query mysql]]></category>
		<category><![CDATA[tutorial sql]]></category>
		<guid isPermaLink="false">https://ramzilhuda.com/?p=1337</guid>

					<description><![CDATA[Hampir semua aplikasi yang kamu pakai setiap hari menyimpan datanya di database, dan MySQL adalah sistem database relasional paling populer di dunia. Belajar MySQL untuk pemula adalah fondasi wajib sebelum kamu mendalami pemrograman web seperti PHP atau Laravel, karena hampir semua tutorial lanjutan mengasumsikan kamu sudah paham cara membuat database dan menulis query dasar. Kabar [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Hampir semua <a href="https://ramzilhuda.com/bagaimana-cara-melihata-whatasapp-kita-di-intai-orang-lain/">aplikasi</a> yang kamu pakai setiap hari menyimpan datanya di database, dan MySQL adalah sistem database relasional paling populer di dunia. Belajar MySQL untuk pemula adalah fondasi wajib sebelum kamu mendalami pemrograman web seperti PHP atau <a href="https://ramzilhuda.com/cara-membuat-project-sederhana-menggunakan-laravel-part-1/">Laravel</a>, karena hampir semua tutorial lanjutan mengasumsikan kamu sudah paham cara membuat database dan menulis query dasar.</p>
<p>Kabar baiknya, SQL (bahasa yang dipakai MySQL) termasuk bahasa pemrograman yang paling mudah dibaca manusia. Perintahnya mirip Bahasa Inggris sehari-hari, misalnya <code>SELECT nama FROM mahasiswa</code>. Dalam panduan ini kamu akan praktik langsung: membuat database, membuat tabel, mengisi data, lalu membaca, mengubah, dan menghapus data tersebut. Contoh yang dipakai adalah studi kasus database kampus sederhana yang dekat dengan kehidupan mahasiswa.</p>
<p><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/ramzilhuda.com/wp-content/uploads/2026/10/batch3-03-isi.webp?ssl=1" alt="contoh tabel database mysql" /></p>
<h2>Apa Itu MySQL dan Kapan Kamu Membutuhkannya?</h2>
<p>MySQL adalah Relational Database Management System (RDBMS) open source yang menyimpan data dalam bentuk tabel-tabel yang saling berhubungan. Contoh tabel: tabel mahasiswa berisi NIM dan nama, tabel mata kuliah berisi kode dan nama MK, dan tabel nilai yang menghubungkan keduanya. Relasi inilah yang membuat pencarian data kompleks menjadi cepat dan rapi.</p>
<p>Kamu membutuhkan MySQL setiap kali membangun aplikasi yang menyimpan data permanen: sistem informasi kampus, toko online, aplikasi absensi, sampai <a href="https://ramzilhuda.com/mengenal-server-peran-dan-tipe-server-yang-perlu-diketahui/">backend</a> API untuk aplikasi <a href="https://ramzilhuda.com/tutorial-membuat-aplikasi-quiz-sederhana-menggunakan-android-studio/">mobile</a>. Dalam ekosistem yang dipakai di blog ini, Laravel menyimpan semua datanya ke MySQL secara bawaan. Jadi penguasaan MySQL akan membuat tutorial Laravel terasa jauh lebih mudah.</p>
<p>Contoh-contoh dalam artikel ini memakai sintaks MySQL 8.0, versi stabil yang umum dipakai saat ini. Kamu bisa menjalankannya lewat MySQL Workbench, phpMyAdmin di XAMPP, atau langsung dari terminal.</p>
<h2>Belajar MySQL untuk Pemula: Persiapan dan Membuat Database</h2>
<p>Sebelum menulis query, pastikan MySQL sudah terinstal dan berjalan. Cara termudah bagi pemula Windows adalah menginstal XAMPP yang sudah menyertakan MySQL (dikenal sebagai MariaDB yang kompatibel penuh dengan sintaks MySQL dasar). Setelah itu, buka phpMyAdmin di browser atau jalankan client MySQL dari terminal.</p>
<p>Langkah pertama adalah membuat database sebagai wadah semua tabel kita:</p>
<pre><code class="language-sql">CREATE DATABASE kampus_db CHARACTER SET utf8mb4;
</code></pre>
<p>Perintah ini membuat database bernama <code>kampus_db</code>. Opsi <code>CHARACTER SET utf8mb4</code> memastikan database bisa menyimpan semua karakter, termasuk emoji dan huruf khusus. Setelah database dibuat, pilih database yang akan dipakai:</p>
<pre><code class="language-sql">USE kampus_db;
</code></pre>
<p>Anggap perintah <code>USE</code> seperti membuka folder kerja: semua perintah selanjutnya berlaku di dalam database tersebut. Untuk memastikan kamu berada di database yang benar, kamu bisa menjalankan <code>SELECT DATABASE();</code> yang akan menampilkan nama database aktif.</p>
<h2>Membuat Tabel Pertama</h2>
<p>Tabel adalah tempat data benar-benar disimpan, terdiri dari kolom-kolom dengan tipe data tertentu. Mari buat tabel <code>mahasiswa</code>:</p>
<pre><code class="language-sql">CREATE TABLE mahasiswa (
  nim CHAR(10) PRIMARY KEY,
  nama VARCHAR(100) NOT NULL,
  jurusan VARCHAR(50),
  angkatan YEAR,
  ipk DECIMAL(3,2) DEFAULT 0.00
);
</code></pre>
<p>Mari bedah setiap barisnya. <code>nim CHAR(10)</code> berarti kolom NIM berisi teks dengan panjang tetap 10 karakter dan dijadikan PRIMARY KEY, yaitu identitas unik yang tidak boleh kembar antar baris. <code>nama VARCHAR(100) NOT NULL</code> berarti nama wajib diisi dengan maksimal 100 karakter. <code>angkatan YEAR</code> menyimpan tahun dalam format khusus tahun. <code>ipk DECIMAL(3,2)</code> menyimpan angka desimal seperti 3.75.</p>
<p>Pemilihan tipe data yang tepat itu penting. Jangan memakai VARCHAR untuk semua kolom karena boros dan rawan salah. Aturan praktisnya: gunakan INT untuk bilangan bulat, DECIMAL untuk angka desimal presisi seperti IPK atau uang, DATE atau DATETIME untuk tanggal, dan TEXT untuk teks panjang seperti deskripsi.</p>
<h2>Mengisi Data dengan INSERT</h2>
<p>Tabel kosong tidak berguna, jadi mari isi dengan data contoh:</p>
<pre><code class="language-sql">INSERT INTO mahasiswa (nim, nama, jurusan, angkatan, ipk) VALUES
('230101001', 'Ayu Lestari', 'Informatika', 2023, 3.75),
('230101002', 'Budi Santoso', 'Informatika', 2023, 3.42),
('230202001', 'Citra Dewi', 'Sistem Informasi', 2023, 3.88);
</code></pre>
<p>Satu perintah INSERT bisa memasukkan banyak baris sekaligus dengan memisahkan tiap baris memakai koma, seperti contoh di atas. Ini jauh lebih efisien daripada menjalankan INSERT tiga kali. Perhatikan bahwa nilai teks diapit tanda kutip tunggal, sedangkan angka tidak perlu.</p>
<h2>Belajar MySQL untuk Pemula: Query Dasar CRUD</h2>
<p>CRUD adalah singkatan dari Create, Read, Update, Delete, yaitu empat operasi dasar pada data. Kamu sudah melakukan Create dengan INSERT. Sekarang pelajari tiga sisanya.</p>
<p>Untuk membaca data, gunakan SELECT:</p>
<pre><code class="language-sql">-- Menampilkan semua kolom dari semua baris
SELECT * FROM mahasiswa;

-- Menampilkan kolom tertentu saja (lebih disarankan)
SELECT nim, nama, ipk FROM mahasiswa;
</code></pre>
<p>Menggunakan <code>SELECT *</code> memang praktis untuk eksplorasi, tetapi di aplikasi nyata sebaiknya sebutkan kolom yang dibutuhkan saja agar query lebih cepat dan hemat memori.</p>
<p>Untuk menyaring baris tertentu, tambahkan klausa WHERE:</p>
<pre><code class="language-sql">SELECT nama, ipk FROM mahasiswa
WHERE jurusan = 'Informatika'
ORDER BY ipk DESC
LIMIT 2;
</code></pre>
<p>Query di atas artinya: tampilkan nama dan IPK mahasiswa jurusan Informatika, urutkan dari IPK tertinggi (<code>ORDER BY ipk DESC</code>), dan ambil 2 baris teratas saja (<code>LIMIT 2</code>). Kombinasi WHERE, ORDER BY, dan LIMIT ini sangat sering dipakai, misalnya untuk menampilkan &#8220;10 produk terlaris&#8221; atau &#8220;5 berita terbaru&#8221;.</p>
<p>Untuk mengubah data yang sudah ada, gunakan UPDATE:</p>
<pre><code class="language-sql">UPDATE mahasiswa SET ipk = 3.80 WHERE nim = '230101001';
</code></pre>
<p>Peringatan penting: jangan pernah menjalankan UPDATE tanpa WHERE di database nyata, karena semua baris akan ikut berubah. Kebiasaan baiknya adalah menulis klausa WHERE dulu sebelum melengkapi bagian SET.</p>
<p>Untuk menghapus baris, gunakan DELETE dengan aturan yang sama:</p>
<pre><code class="language-sql">DELETE FROM mahasiswa WHERE nim = '230202001';
</code></pre>
<p>Sama seperti UPDATE, DELETE tanpa WHERE akan mengosongkan seluruh tabel. Selalu periksa ulang kondisi WHERE sebelum menekan enter.</p>
<h2>Studi Kasus: Menghubungkan Dua Tabel dengan JOIN</h2>
<p>Kekuatan sebenarnya dari database relasional terlihat saat data tersebar di beberapa tabel dan perlu digabungkan. Mari tambah dua tabel untuk studi kasus kampus kita:</p>
<pre><code class="language-sql">CREATE TABLE matakuliah (
  kode_mk CHAR(6) PRIMARY KEY,
  nama_mk VARCHAR(100) NOT NULL,
  sks TINYINT NOT NULL
);

INSERT INTO matakuliah VALUES
('IF101', 'Pemrograman Dasar', 3),
('IF102', 'Basis Data', 3);

CREATE TABLE nilai (
  id INT AUTO_INCREMENT PRIMARY KEY,
  nim CHAR(10),
  kode_mk CHAR(6),
  nilai_angka DECIMAL(5,2),
  FOREIGN KEY (nim) REFERENCES mahasiswa(nim),
  FOREIGN KEY (kode_mk) REFERENCES matakuliah(kode_mk)
);

INSERT INTO nilai (nim, kode_mk, nilai_angka) VALUES
('230101001', 'IF101', 85.50),
('230101001', 'IF102', 90.00),
('230101002', 'IF101', 78.25);
</code></pre>
<p>Tabel <code>nilai</code> memakai FOREIGN KEY untuk memastikan NIM dan kode MK yang dimasukkan benar-benar ada di tabel induknya. Ini mencegah data sampah seperti nilai milik mahasiswa yang tidak terdaftar.</p>
<p>Sekarang gabungkan ketiganya untuk melihat nama mahasiswa, nama mata kuliah, dan nilainya dalam satu tampilan:</p>
<pre><code class="language-sql">SELECT m.nama, mk.nama_mk, n.nilai_angka
FROM nilai n
JOIN mahasiswa m ON n.nim = m.nim
JOIN matakuliah mk ON n.kode_mk = mk.kode_mk
ORDER BY n.nilai_angka DESC;
</code></pre>
<p>Perintah JOIN menggabungkan baris dari dua tabel berdasarkan kolom yang cocok. Hasilnya adalah laporan rapi yang tidak bisa didapat dari satu tabel saja. <a href="https://ramzilhuda.com/ide-bisnis-yang-bisa-anda-pertimbangkan-di-bidang-platform-syariah/">Konsep</a> JOIN inilah yang nantinya dipakai Laravel secara otomatis lewat fitur Eloquent Relationship.</p>
<h2>Kesalahan Umum Pemula MySQL</h2>
<p>Tiga kesalahan paling sering terjadi pada pemula. Pertama, lupa titik koma di akhir perintah saat memakai client terminal, sehingga MySQL menunggu kelanjutan perintah. Kedua, salah penulisan nama tabel atau kolom karena MySQL di Linux membedakan huruf besar dan kecil untuk nama tabel. Biasakan memakai huruf kecil semua untuk nama database, tabel, dan kolom.</p>
<p>Ketiga, menjalankan UPDATE atau DELETE tanpa WHERE di database production. Untuk latihan tidak masalah, tetapi bangun kebiasaan menulis WHERE terlebih dahulu. Banyak programmer senior memasang kebiasaan mengetik <code>WHERE 1=0</code> dulu sebagai pengaman, lalu mengganti kondisinya setelah yakin.</p>
<h2>Fungsi Agregat: Menghitung Data dengan Cepat</h2>
<p>Selain membaca baris per baris, MySQL bisa langsung menghitung ringkasan data memakai fungsi agregat. Ini sangat berguna untuk laporan, misalnya menghitung jumlah mahasiswa atau rata-rata IPK per jurusan:</p>
<pre><code class="language-sql">-- Menghitung total baris
SELECT COUNT(*) <a href="https://ramzilhuda.com/meta-didenda-13-miliar-atas-transfer-data-ke-as/">AS</a> total_mahasiswa FROM mahasiswa;

-- Rata-rata IPK seluruh mahasiswa
SELECT AVG(ipk) AS rata_rata_ipk FROM mahasiswa;

-- IPK tertinggi dan terendiri
SELECT MAX(ipk) AS ipk_tertinggi, MIN(ipk) AS ipk_terendah FROM mahasiswa;

-- Rata-rata IPK per jurusan
SELECT jurusan, AVG(ipk) AS rata_rata_ipk, COUNT(*) AS jumlah
FROM mahasiswa
GROUP BY jurusan;
</code></pre>
<p>Klausa <code>GROUP BY</code> mengelompokkan baris berdasarkan kolom tertentu, lalu fungsi agregat dihitung untuk tiap kelompok. Query terakhir di atas menghasilkan satu baris per jurusan beserta rata-rata IPK dan jumlah mahasiswanya. Pola ini adalah dasar dari hampir semua dashboard statistik, mulai dari laporan penjualan sampai rekap nilai.</p>
<p>Satu aturan penting: setiap kolom di SELECT yang bukan fungsi agregat wajib muncul di GROUP BY. Melanggar aturan ini membuat MySQL 8 menolak query dengan error yang membingungkan bagi pemula.</p>
<h2>Mengubah Struktur Tabel dengan ALTER TABLE</h2>
<p>Struktur tabel tidak bersifat permanen. Jika di tengah jalan kamu butuh kolom baru, MySQL menyediakannya lewat perintah ALTER TABLE:</p>
<pre><code class="language-sql">-- Menambah kolom nomor HP
ALTER TABLE mahasiswa ADD COLUMN no_hp VARCHAR(15);

-- Mengubah tipe data kolom yang sudah ada
ALTER TABLE mahasiswa MODIFY COLUMN jurusan VARCHAR(80);

-- Menghapus kolom yang tidak dipakai lagi
ALTER TABLE mahasiswa DROP COLUMN no_hp;
</code></pre>
<p>Berhati-hatilah saat mengubah struktur tabel yang sudah berisi data produksi. Menambah kolom umumnya aman, tetapi mengubah tipe data atau menghapus kolom bisa menghilangkan data. Untuk latihan di database kampus ini, silakan bereksperimen sebebasnya karena datanya bisa dibuat ulang kapan saja dengan perintah INSERT.</p>
<h2>Kesimpulan</h2>
<p>Kamu sudah menyelesaikan panduan belajar MySQL untuk pemula ini dari nol: membuat database dengan <code>CREATE DATABASE</code>, membuat tabel dengan <code>CREATE TABLE</code>, mengisi data dengan <code>INSERT</code>, membaca dengan <code>SELECT</code> plus <code>WHERE</code>, <code>ORDER BY</code>, dan <code>LIMIT</code>, mengubah dengan <code>UPDATE</code>, menghapus dengan <code>DELETE</code>, sampai menggabungkan tabel dengan <code>JOIN</code>. Delapan perintah ini adalah fondasi dari semua pekerjaan database.</p>
<p>Langkah alami berikutnya adalah memakai MySQL di dalam aplikasi web nyata. Ikuti <a href="https://ramzilhuda.com/tutorial-laravel-12-crud-pemula/">Tutorial Laravel 12: Membuat CRUD Sederhana dari Nol untuk Pemula</a> di blog ini dan perhatikan bagaimana setiap operasi CRUD di Laravel pada akhirnya diterjemahkan menjadi query SQL seperti yang baru kamu pelajari. Memahami SQL membuatmu bukan sekadar pemakai framework, melainkan programmer yang paham apa yang terjadi di balik layar.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ramzilhuda.com/belajar-mysql-untuk-pemula/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1337</post-id>	</item>
	</channel>
</rss>
