Pernyataan SQL CASE WHEN: Sintaks, Contoh Nyata dan Kesalahan Umum

  1. Beranda
  2. Blog
  3. Database & SQL

Database & SQL

Pernyataan SQL CASE KETIKA: Sintaks, Contoh Nyata dan Kesalahan Umum

CASE WHEN adalah cara Anda menulis logika if-then di SQL. Pelajari kedua bentuk tersebut, lalu gunakan untuk label, laporan gaya pivot, pengurutan khusus, dan pembaruan aman, sambil menghindari NULL dan jebakan pengurutan.

8 menit baca
Pernyataan SQL CASE WHEN: sintaksis, contoh nyata, dan kesalahan umum

Poin penting

  • CASE mengembalikan nilai berdasarkan kondisi pertama yang benar.
  • Utamakan kondisi yang paling spesifik, jika tidak maka kondisi yang lebih lambat mungkin tidak akan pernah tercapai.
  • Tanpa ELSE, baris yang tidak cocok akan kembali NULL.
  • Di dalam SUM atau COUNT, CASE mengubah satu kueri menjadi laporan bergaya pivot yang ringkas.

Sebagian besar laporan memerlukan logika: memberi label pesanan sebagai besar atau kecil, menghitung pesanan yang telah dibayar dan tertunda secara berdampingan, atau menampilkan item mendesak terlebih dahulu. SQL CASE WHEN menangani semua ini langsung di dalam kueri, dan berfungsi di semua database utama.

Kami menjalankan setiap kueri di sini di SQLite 3.50, dan hasil yang ditampilkan berasal dari proses tersebut. CASE adalah bagian dari SQL standar, sehingga berperilaku sama di PostgreSQL, MySQL, SQL Server, dan Oracle untuk contoh ini.

Apa itu KASUS KAPAN?

CASE adalah ekspresi, bukan perintah terpisah. Ia mengevaluasi kondisi secara berurutan dan mengembalikan nilai, sehingga dapat dibawa ke mana pun nilai diperbolehkan: di SELECT, WHERE, GROUP BY, ORDER BY, atau di dalam fungsi. Itu selalu diakhiri dengan END.

CASE
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ELSE fallback
END

Tabel sampel

CREATE TABLE orders (id INT, customer TEXT, total INT, status TEXT);

INSERT INTO orders VALUES
 (1,'Asha',1200,'paid'), (2,'Ben',300,'pending'),
 (3,'Asha',800,'paid'), (4,'Chitra',2500,'shipped'),
 (5,'Dev',150,'cancelled'), (6,'Ben',NULL,'pending');

Perhatikan bahwa pesanan 6 tidak memiliki total. Pertengkaran itu penting di kemudian hari.

KASUS yang Dicari

Ini adalah bentuk yang lebih fleksibel, karena masing-masing WHEN mempunyai kondisi penuhnya sendiri:

SELECT id, total,
       CASE
         WHEN total >= 1000 THEN 'large'
         WHEN total >= 500 THEN 'medium'
         ELSE 'small'
       END AS size
FROM orders;

-- 1 | 1200 | large
-- 2 |  300 | small
-- 3 |  800 | medium
-- 4 | 2500 | large
-- 5 |  150 | small
-- 6 | NULL | small

Lihatlah baris terakhir. Order 6 tidak ada totalnya, namun diberi label “kecil”. Kedua perbandingan dengan NULL tersebut tidak benar, sehingga jatuh ke ELSE. Kami menunjukkan cara memperbaikinya di bagian NULL. Selalu beri nama hasil menggunakan AS, atau Anda mungkin mendapatkan nama kolom yang aneh.

KASUS Sederhana

Saat Anda membandingkan satu kolom dengan nilai tetap, formulir yang lebih pendek akan terbaca lebih baik:

SELECT id,
       CASE status
         WHEN 'paid' THEN 'Complete'
         WHEN 'shipped' THEN 'Complete'
         WHEN 'pending' THEN 'Waiting'
       END AS label
FROM orders;

-- 1 | Complete
-- 2 | Waiting
-- 3 | Complete
-- 4 | Complete
-- 5 | NULL
-- 6 | Waiting
Formulir Membandingkan Bisakah menggunakan rentang? Terbaik untuk
Sederhana Satu ekspresi untuk kesetaraan Tidak Memetakan kode ke label
Dicari Kondisi apa pun per cabang Ya Rentang, beberapa kolom, pemeriksaan NULL

Ketertiban itu penting

CASE berhenti pada kondisi pertama yang benar, dan ini adalah bug logika yang paling umum. Tukar dua kondisi dari kueri kami sebelumnya:

SELECT id, total,
       CASE
         WHEN total >= 500 THEN 'medium'
         WHEN total >= 1000 THEN 'large'
         ELSE 'small'
       END AS size
FROM orders WHERE id IN (1, 4);

-- 1 | 1200 | medium
-- 4 | 2500 | medium

Sekarang tidak ada yang bisa menjadi “besar”. Total 2500 juga minimal 500, jadi cabang pertama menang dan cabang kedua tidak pernah tercapai. Tidak ada kesalahan yang muncul, hanya label yang salah. Untuk rentang, masukkan kondisi yang paling ketat terlebih dahulu, atau tulis rentang lengkap, misalnya total >= 500 AND total < 1000.

Apa yang terjadi tanpa ELSE?

Dalam contoh KASUS sederhana kita di atas, pesanan 5 dibatalkan, dan tidak ada cabang yang menanganinya, sehingga hasilnya adalah NULL. Terkadang itulah yang Anda inginkan, seperti yang ditunjukkan bagian selanjutnya. Namun ketika membuat label, ELSE 'other' yang jelas biasanya lebih baik, karena membuat nilai yang tidak diharapkan terlihat daripada membiarkan kosong dalam laporan.

Kiat: Semua cabang harus mengembalikan tipe yang sama. Mencampur teks dan angka tidak berfungsi dengan baik di SQLite, tetapi database yang lebih ketat, seperti PostgreSQL, akan menimbulkan kesalahan, atau mencoba mengonversi nilai dengan cara yang tidak Anda inginkan.

Laporan bergaya pivot dengan SUM

Ini adalah salah satu pola paling berguna dalam SQL sehari-hari. Membungkus CASE secara agregat mengubah baris menjadi kolom, dengan satu baris per pelanggan:

SELECT customer,
       SUM(CASE WHEN status = 'paid' THEN total ELSE 0 END) AS paid,
       SUM(CASE WHEN status = 'pending' THEN 1 ELSE 0 END) AS pending_orders
FROM orders
GROUP BY customer
ORDER BY customer;

-- Asha   | 2000 | 0
-- Ben    |    0 | 2
-- Chitra |    0 | 0
-- Dev    |    0 | 0

Satu kueri kini memberikan pendapatan berbayar dan jumlah pesanan yang tertunda, tanpa memerlukan kueri atau penggabungan terpisah. Pola ini berfungsi di hampir setiap database, tidak seperti sintaks PIVOT khusus yang hanya ditawarkan oleh beberapa database. Jika GROUP BY baru bagi Anda, baca SQL GROUP BY dan HAVING.

Jumlah bersyarat

COUNT melewatkan NULL, jadi CASE tanpa ELSE hanya menghitung baris yang cocok:

SELECT COUNT(*) AS all_orders,
       COUNT(CASE WHEN status = 'paid' THEN 1 END) AS paid_orders,
       COUNT(CASE WHEN total >= 1000 THEN 1 END) AS large_orders
FROM orders;

-- 6 | 2 | 2

Hati-hati: jika Anda menambahkan ELSE 0 di dalam COUNT, setiap baris akan dihitung, karena 0 bukan NULL. Gunakan ELSE 0 dengan SUM, dan tinggalkan dengan COUNT. PostgreSQL dan SQLite juga mendukung COUNT(*) FILTER (WHERE ...), yang terbaca dengan baik, tetapi tidak tersedia di semua tempat.

Pengelompokan berdasarkan KASUS

Anda dapat membuat keranjang Anda sendiri, lalu meringkasnya:

SELECT CASE WHEN total >= 1000 THEN 'large' ELSE 'other' END AS bucket,
       COUNT(*)
FROM orders
GROUP BY bucket
ORDER BY bucket;

-- large | 2
-- other | 4

Pengelompokan berdasarkan alias berfungsi di SQLite, PostgreSQL, dan MySQL. SQL Server tidak mengizinkannya, jadi Anda harus mengulangi seluruh ekspresi, atau memasukkan kueri ke dalam CTE atau subkueri terlebih dahulu.

Penyortiran khusus dengan ORDER BY

Urutan abjad jarang diinginkan oleh bisnis. CASE memungkinkan Anda menentukan pesanan Anda sendiri:

SELECT id, status FROM orders
ORDER BY CASE status
           WHEN 'pending' THEN 1
           WHEN 'paid' THEN 2
           ELSE 3
         END, id;

-- 2 | pending
-- 6 | pending
-- 1 | paid
-- 3 | paid
-- 4 | shipped
-- 5 | cancelled

Pesanan yang tertunda didahulukan, yang berguna untuk antrian kerja. Kolom pengurutan kedua, id, menjaga baris-baris dalam urutan yang dapat diprediksi dalam setiap grup.

KASUS dalam UPDATE

CASE memungkinkan satu pernyataan menerapkan perubahan berbeda pada baris berbeda. Di sini, pesanan kecil yang tertunda ditandai untuk ditinjau:

UPDATE orders
SET status = CASE
               WHEN status = 'pending' AND total < 500 THEN 'review'
               ELSE status
             END;

SELECT id, status FROM orders WHERE customer = 'Ben';

-- 2 | review
-- 6 | pending

ELSE status membuat baris lainnya tidak berubah. Mengabaikannya berbahaya, karena baris yang tidak cocok akan disetel ke NULL. Tanpa klausa WHERE, pernyataan ini juga menyentuh setiap baris, jadi pada tabel besar tambahkan filter, dan pertimbangkan untuk membungkus perubahan dalam transaksi sehingga Anda dapat memeriksa hasilnya sebelum Anda melakukan. Perhatikan juga bahwa order 6 tidak berubah, karena total NULL-nya tidak memuaskan total < 500.

jebakan NULL

NULL menyebabkan dua masalah terpisah dengan CASE. Pertama, perbandingan bentuk sederhana menggunakan persamaan, dan tidak ada yang sama dengan NULL, bahkan NULL itu sendiri:

SELECT CASE NULL WHEN NULL THEN 'matched' ELSE 'not matched' END;

-- not matched

Jadi CASE col WHEN NULL tidak pernah cocok. Gunakan formulir yang dicari dengan IS NULL sebagai gantinya. Kedua, seperti yang kita lihat pada urutan 6, nilai NULL lolos dari perbandingan dan masuk ke ELSE. Cara mengatasinya adalah dengan mengeceknya terlebih dahulu:

SELECT id,
       CASE
         WHEN total IS NULL THEN 'unknown'
         WHEN total >= 1000 THEN 'large'
         ELSE 'other'
       END AS size
FROM orders WHERE id IN (1, 2, 6);

-- 1 | large
-- 2 | other
-- 6 | unknown

Pesan 6 sekarang mendapat label jujur. Panduan kami untuk nilai SQL NULL mencakup perilaku ini secara lengkap.

KASUS vs opsi lain

Pilihan Bekerja di Gunakan kapan
KASUS Semua database utama Anda ingin logika portabel
BERGABUNG Semua database utama Anda hanya perlu cadangan untuk NULL
IF() MySQL Pilihan dua arah yang sederhana
IIF() SQL Server, SQLite Pilihan dua arah yang sederhana
DECODE() Peramal Kode Oracle yang lebih lama
Tabel pencarian Semua Pemetaannya panjang atau sering berubah

Pilihan terakhir itu patut untuk dipikirkan. Jika CASE berkembang menjadi tiga puluh cabang dan muncul dalam lima kueri, pindahkan pemetaan ke dalam tabel dan gabung ke dalamnya. Maka perubahannya adalah pembaruan satu baris, bukan perubahan kode di lima tempat.

Kesalahan umum

  • Urutan kondisi salah. Kondisi yang luas terlebih dahulu menyembunyikan kondisi yang lebih sempit.
  • Lupa END. Ini adalah kesalahan sintaksis yang paling sering terjadi.
  • Menggunakan WHEN NULL. Tidak pernah cocok, jadi gunakan WHEN col IS NULL.
  • Menambahkan ELSE 0 di dalam COUNT. Ini menghitung semua baris.
  • Menghilangkan ELSE dalam UPDATE. Ini dapat menghapus nilai dengan NULL.
  • Pemfilteran berdasarkan CASE di WHERE. Ini dapat menghentikan penggunaan indeks. Lihat panduan kami untuk optimasi kueri SQL.

Penutup

CASE WHEN adalah fitur kecil yang melakukan banyak pekerjaan. Ingat tiga aturan: cabang pertama yang benar menang, baris yang tidak cocok menjadi NULL tanpa ELSE, dan NULL memerlukan pemeriksaannya sendiri. Untuk berlatih, ambil laporan yang sedang Anda buat dengan beberapa kueri, dan cobalah membuatnya sebagai satu kueri menggunakan SUM(CASE ...).

Pertanyaan yang sering diajukan

Apa yang dilakukan CASE KETIKA di SQL?

Ini menambahkan logika jika-maka ke kueri. SQL memeriksa setiap kondisi secara berurutan dan mengembalikan nilai kondisi pertama yang benar, atau nilai ELSE jika tidak ada.

Apa yang terjadi jika tidak ada ELSE dalam pernyataan CASE?

Baris yang tidak cocok dengan kondisi akan menghasilkan NULL. Hal ini berguna di dalam COUNT, namun pada label dan pembaruan, hal ini dapat menyebabkan data kosong atau hilang.

Bisakah saya menggunakan CASE dalam klausa WHERE?

Ya, karena itu adalah sebuah ekspresi. Namun, kondisi AND dan OR yang sederhana biasanya lebih jelas, dan lebih cenderung menggunakan indeks.

Apa perbedaan antara KASUS sederhana dan KASUS yang dicari?

CASE sederhana membandingkan satu ekspresi dengan nilai kesetaraan yang tetap. CASE yang dicari memiliki kondisi lengkap di setiap WHEN, sehingga dapat menangani rentang dan pemeriksaan NULL.

Bisakah pernyataan CASE disarangkan?

Ya, sebuah KASUS dapat muncul di dalam KASUS lainnya. Namun, sarang yang dalam sulit dibaca, jadi pertimbangkan untuk menggabungkan kondisi dengan AND atau menggunakan tabel pencarian.

Teruslah belajar

Bekerja dengan Stack Quora

Butuh bantuan dengan pengujian, WordPress atau SEO?

Kami membantu tim mengirimkan perangkat lunak yang lebih baik dan mengembangkan situs mereka. Beritahu kami apa yang sedang Anda kerjakan dan kami akan menyarankan langkah selanjutnya yang jelas.

Teruslah membaca

Panduan lebih lanjut tentang pengujian, AI & pengembangan modern

Menikmati artikel ini? Pilih topik dan langsung masuk ke tutorial terbaru kami.

Kecerdasan buatan

Penjelasan Halusinasi AI: Mengapa Model Bahasa Memperbaiki Masalah dan Cara Menguranginya

Halusinasi AI menjelaskan: apa itu, mengapa model bahasa memproduksinya, tipe umum, cara menguranginya dengan landasan dan petunjuk, dan pemeriksaan…

Baca artikel →
DevOps

Penjelasan Variabel Lingkungan: File .env, Rahasia, dan Konfigurasi Dilakukan dengan Benar

Variabel lingkungan dijelaskan dengan contoh Python yang kami jalankan: membaca dan mengaturnya, mengapa setiap nilai berupa string, file .env, pewa…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Pembatasan Kecepatan API: Algoritma, Header, dan Penanganan 429 Kesalahan

Pembatasan laju API dijelaskan dengan simulasi yang kami jalankan: keranjang token, jendela tetap, jendela geser, respons 429, header batas laju, pe…

Baca artikel →
Otomatisasi pengujian

Mengejek dengan Python: unittest.mock, patch dan Kesalahan yang Membuat Tes Berbohong

Mengejek dengan Python dengan unittest.mock, menguji: Mock dan return_value, side_effect, menambal di mana nama digunakan, spesifikasi dan autospec,…

Baca artikel →
Pengujian perangkat lunak

Penjelasan Cakupan Kode: Cakupan Jalur vs Cabang dan Apa Arti 100% Sebenarnya

Cakupan kode dijelaskan dengan coverage.py yang sebenarnya dijalankan: cakupan garis, cabang dan kondisi, membaca laporan, mengapa cakupan 100% masi…

Baca artikel →
Basis data & SQL

DELETE vs TRUNCATE vs DROP dalam SQL: Perbedaan, Rollback dan Kapan Menggunakan Masing-Masing

DELETE vs TRUNCATE vs DROP dijelaskan dengan SQL yang diuji: apa yang dihapus, rollback, pemicu, reset identitas, kecepatan, dan perbedaan PostgreSQ…

Baca artikel →
Basis data & SQL

Penjelasan Tampilan SQL: Membuat, Menggunakan, dan Menghindari Kesalahan, Dengan Contoh

Tampilan SQL dijelaskan dengan kueri yang kami jalankan: membuat tampilan, hasil langsung, menyembunyikan kolom, kinerja, tampilan yang dapat diperb…

Baca artikel →
Pengembangan perangkat lunak

Antarmuka TypeScript vs Tipe: Perbedaan Nyata, Diuji Dengan Kompiler

Antarmuka TypeScript vs tipe, diperiksa dengan kompiler sebenarnya: apa yang bisa dilakukan keduanya, apa yang hanya bisa dilakukan satu orang, peng…

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Python *args dan **kwargs: Fungsi Fleksibel Dengan Contoh Jelas

Python *args dan **kwargs dijelaskan dengan kode yang kami jalankan: pengepakan dan pembongkaran, urutan parameter, argumen hanya kata kunci dan pos…

Baca artikel →
Pengembangan perangkat lunak

Fungsi Python Lambda: Sintaks, Kegunaan Sebenarnya, dan Kapan Tidak Digunakan

Fungsi python lambda dijelaskan dengan kode yang kami jalankan: sintaksis, pengurutan dengan kunci, peta dan filter, penutupan, jebakan pengikatan a…

Baca artikel →
Kecerdasan buatan

Apa Itu Agen AI? Cara Kerjanya, Dengan Agent Loop Sederhana yang Dapat Anda Jalankan

Apa itu agen AI? Panduan sederhana tentang loop agen, alat, memori, dan pagar pembatas, dengan loop Python kecil yang kami jalankan, risiko nyata da…

Baca artikel →
DevOps

Pemantauan vs Observabilitas: Perbedaan Nyata, Dengan Log, Metrik, dan Jejak

Penjelasan pemantauan vs observabilitas: kegagalan yang diketahui dan tidak diketahui, log, metrik dan jejak, penelusuran insiden checkout, sinyal e…

Baca artikel →
DevOps

Volume Docker vs Bind Mounts: Pertahankan Data Kontainer dengan Cara yang Benar

Volume Docker vs pengikatan pengikat dijelaskan: mengapa data kontainer menghilang, volume yang diberi nama, pengikatan pengikatan, tmpfs, contoh Tu…

Baca artikel →
Otomatisasi pengujian

TDD vs BDD: Perbedaan Utama, Satu Fitur Dibangun dengan Dua Cara dan Kapan Menggunakan Masing-masing

TDD vs BDD dijelaskan dengan satu fitur diskon yang dibuat dengan dua cara: refactor merah-hijau dengan kode yang kami jalankan, skenario Mengingat-…

Baca artikel →
Pengujian perangkat lunak

User Acceptance Testing (UAT): Proses, Checklist dan Contoh Nyata

Pengujian penerimaan pengguna menjelaskan: siapa yang menjalankannya, perbedaannya dengan QA, proses tujuh langkah, templat kasus uji UAT, daftar pe…

Baca artikel →
Basis data & SQL

Penjelasan Nilai NULL SQL: IS NULL, COALESCE, NULLIF dan Jebakan yang Harus Dihindari

Nilai SQL NULL dijelaskan dengan kueri yang kami jalankan: logika tiga nilai, IS NULL, COALESCE, NULLIF, cara agregat, penggabungan, dan pengurutan …

Baca artikel →
Basis data & SQL

Pernyataan SQL CASE WHEN: Sintaks, Contoh Nyata dan Kesalahan Umum

SQL CASE KETIKA dijelaskan dengan kueri yang kami jalankan: formulir sederhana dan dicari, urutan kondisi, pivot dengan SUM, trik COUNT, pengurutan …

Baca artikel →
Pengembangan perangkat lunak

Apa itu JWT? Token Web JSON Dijelaskan Dengan Contoh Kerja

Apa itu JWT? JSON Web Tokens menjelaskan: tiga bagian, token yang dibuat dan dirusak dalam kode yang kami jalankan, sesi JWT vs, penyimpanan, token …

Baca artikel →
Pengembangan perangkat lunak

Penjelasan Loop Acara JavaScript: Call Stack, Microtasks, dan Timer Dengan Contoh

Perulangan peristiwa JavaScript dijelaskan dengan kode yang kami jalankan: tumpukan panggilan, antrian tugas dan tugas mikro, mengapa setTimeout 0 t…

Baca artikel →
Pengembangan perangkat lunak

Generator Python dan Penjelasan Hasil: Menghemat Memori Dengan Contoh Nyata

Generator dan hasil Python dijelaskan dengan kode yang kami jalankan: bagaimana mereka menjeda dan melanjutkan, mengukur penghematan memori, saluran…

Baca artikel →
Kecerdasan buatan

Apa itu Embedding? Kesamaan Vektor dan Kosinus Dijelaskan Secara Sederhana

Apa itu embeddings? Panduan bahasa sederhana tentang vektor, kesamaan kosinus, dan penelusuran semantik, dengan contoh kecil yang kami jalankan, pen…

Baca artikel →
DevOps

Penerapan Biru-Hijau vs Canary: Perbedaan, Kompromi, dan Cara Memilih

Penjelasan penerapan blue-green vs canary: cara kerja masing-masing, biaya, risiko dan rollback, pengelompokan pengguna stabil yang kami uji, migras…

Baca artikel →
Otomatisasi pengujian

Tes Tidak Stabil: Apa Penyebabnya dan Cara Memperbaikinya untuk Kebaikan

Pengujian yang tidak stabil dijelaskan dengan demo yang kami jalankan: penyebab utama, cara mengonfirmasi dan mendiagnosisnya, perbaikan waktu yang …

Baca artikel →
Pengujian perangkat lunak

Load Testing vs Stress Testing: Perbedaan, Metrik dan Contoh k6

Penjelasan pengujian beban vs pengujian stres: apa yang dibuktikan masing-masing, pengujian lonjakan dan rendam, metrik yang penting, mengapa rata-r…

Baca artikel →
Pengujian perangkat lunak

Kasus Uji vs Skenario Uji: Perbedaan Utama, Contoh, dan Kapan Menggunakan Masing-masing

Penjelasan kasus uji vs skenario pengujian: definisi yang jelas, tabel berdampingan, satu fitur pengaturan ulang kata sandi yang diambil dari skenar…

Baca artikel →
Basis data & SQL

Optimasi Kueri SQL: Baca Rencana Eksekusi dan Perbaiki Kueri Lambat, Dengan Pengaturan Waktu

Pengoptimalan kueri SQL diuji pada sejuta baris: membaca rencana eksekusi, menambahkan indeks yang tepat, memperbaiki filter yang tidak dapat disarg…

Baca artikel →
Basis data & SQL

SQL UNION vs UNION ALL: Perbedaan, Contoh dan Kinerja Diuji

SQL UNION vs UNION ALL dijelaskan dengan kueri yang kami jalankan: duplikat, aturan yang diikuti keduanya, bug data nyata, kinerja terukur, INTERSEC…

Baca artikel →
Pengembangan perangkat lunak

Tutorial API Pengambilan JavaScript: GET, POST, Penanganan Kesalahan, dan Batas Waktu

Tutorial JavaScript Fetch API diuji pada server lokal: GET dan POST, mengapa 404 tidak muncul, bantuan yang dapat digunakan kembali, string kueri, b…

Baca artikel →
Pengembangan perangkat lunak

Penanganan File Python: Baca, Tulis, CSV, JSON dan pathlib Dengan Contoh

Penanganan file Python dijelaskan dengan kode yang kami jalankan: mode terbuka, dengan, membaca file besar, CSV, JSON, pathlib, file biner, penulisa…

Baca artikel →
Pengembangan perangkat lunak

Kelas dan Objek Python: Tutorial OOP Dengan Contoh Nyata

Kelas dan objek Python dijelaskan dengan kode yang kami jalankan: __init__, metode, atribut kelas vs instance, warisan, properti, metode dunder, kel…

Baca artikel →
Kecerdasan buatan

Apa Itu Model Bahasa Besar? Bagaimana LLM Bekerja, Dijelaskan Tanpa Hype

Apa yang dimaksud dengan model bahasa besar? LLM dijelaskan dalam bahasa sederhana: token, penyematan, perhatian, pelatihan, jendela suhu dan kontek…

Baca artikel →
DevOps

Perintah Linux untuk Pemula: Panduan Terminal Penting Dengan Contoh

Perintah Linux untuk pemula, dikelompokkan berdasarkan tugas: navigasi, file, melihat log, grep, pipa, izin, proses dan arsip, dengan contoh analisi…

Baca artikel →
Otomatisasi pengujian

Selenium vs Penulis Drama: Perbedaan Utama, Perbandingan Kode, dan Mana yang Harus Dipilih

Selenium vs Playwright dibandingkan: arsitektur, menunggu, dukungan browser dan bahasa, debugging, pengujian yang sama di kedua alat, saran migrasi …

Baca artikel →
Pengujian perangkat lunak

Partisi Ekivalensi: Teknik Desain Tes Dijelaskan Dengan Contoh yang Dikerjakan

Penjelasan partisi ekivalensi: cara menemukan partisi yang valid dan tidak valid, contoh yang berfungsi untuk usia, kata sandi dan kupon, pengujian …

Baca artikel →
Pengujian perangkat lunak

Severity vs Priority dalam Pengujian Perangkat Lunak: Perbedaan, Matriks dan Contoh Nyata

Keparahan vs prioritas dalam pengujian perangkat lunak dijelaskan: definisi yang jelas, matriks empat arah dengan contoh, skala level, siapa yang me…

Baca artikel →
Basis data & SQL

Tutorial Subkueri SQL: Jenis, Subkueri yang Berkorelasi, dan ADA Dengan Contoh

Tutorial subkueri SQL dengan kueri yang kami jalankan: subkueri skalar, IN, FROM dan SELECT, subkueri yang berkorelasi, EXISTS, jebakan NOT IN NULL …

Baca artikel →
Basis data & SQL

Penjelasan Transaksi SQL dan ACID: COMMIT, ROLLBACK dan Tingkat Isolasi

Transaksi SQL dan ACID dijelaskan dengan transfer bank yang kami jalankan: COMMIT, ROLLBACK, savepoint, kunci, tingkat isolasi, pembacaan kotor, keb…

Baca artikel →
Pengembangan perangkat lunak

Git merge vs rebase: perbedaan, contoh, dan kapan memakai masing-masing

Git merge vs rebase dijelaskan dengan keluaran log nyata, tabel perbandingan, aturan emas rebase, dan alur kerja tim yang aman.

Baca artikel →
Pengembangan perangkat lunak

List Comprehension Python: Sintaks, Contoh, dan Kapan Harus Dihindari

List comprehension Python dijelaskan: sintaks, filter, if-else, perulangan bersarang, waktu yang diukur, dan kapan perulangan for biasa lebih baik.

Baca artikel →
Basis data & SQL

Penjelasan SQL JOIN dengan Contoh (Inner, Left, Right, Full)

Pahami SQL JOIN langkah demi langkah dengan tabel dan query contoh: INNER, LEFT, RIGHT, FULL, CROSS, dan SELF, plus kesalahan umum dan tips performa.

Baca artikel →