PL/SQL - Kondisi
Hai teman-teman, para ahli PL/SQL masa depan! Hari ini, kita akan masuk ke dunia menarik dari kondisi-kondisi dalam PL/SQL. Jangan khawatir jika Anda baru saja memulai programming – saya akan memandu Anda dalam perjalanan ini langkah demi langkah, sama seperti yang saya lakukan bagi ribuan murid selama tahun-tahun mengajar saya. Jadi, ambil secangkir kopi (atau teh, jika itu preferensi Anda), dan mari kita mulai!
Apa Itu Kondisi dalam PL/SQL?
Bayangkan Anda berada di persimpangan jalan, dan Anda harus memutuskan jalur mana yang akan Anda ambil. Itu tepat apa yang dilakukan kondisi dalam programming – mereka membantu kode Anda membuat keputusan. Dalam PL/SQL, kondisi digunakan untuk mengontrol aliran program Anda berdasarkan kriteria tertentu.
Pentingnya Kondisi
Kondisi adalah blok bangunan logika dalam programming. Mereka memungkinkan kode Anda menjadi cerdas dan adaptif. Tanpa kondisi, program Anda akan seperti kereta api di jalur tunggal – hanya bisa bergerak ke satu arah saja. Dengan kondisi, itu seperti memiliki sistem rel kompleks tempat kode Anda bisa mengambil jalur yang berbeda berdasarkan berbagai situasi.
Jenis-Jenis Statement Kondisional dalam PL/SQL
Mari kita lihat jenis-jenis statement kondisional yang tersedia dalam PL/SQL:
Statement | Tujuan |
---|---|
IF-THEN | Menjalankan blok kode jika kondisi benar |
IF-THEN-ELSE | Menjalankan satu blok jika kondisi benar, dan yang lain jika salah |
IF-THEN-ELSIF | Memeriksa beberapa kondisi dan menjalankan blok yang sesuai |
CASE | Memilih salah satu dari banyak blok untuk dijalankan berdasarkan nilai |
Sekarang, mari kita telusuri masing-masing dari ini secara rinci.
Statement IF-THEN
Statement IF-THEN adalah bentuk paling sederhana dari statement kondisional. Itu seperti mengatakan, "Jika ini benar, maka lakukan itu."
Sintaks dan Contoh
IF condition THEN
statements;
END IF;
Mari kita lihat ini dalam tindakan:
DECLARE
v_grade NUMBER := 75;
BEGIN
IF v_grade >= 60 THEN
DBMS_OUTPUT.PUT_LINE('Selamat! Anda lulus.');
END IF;
END;
Dalam contoh ini, jika nilai adalah 60 atau lebih tinggi, itu akan mencetak pesan congratulasi. Jika kurang dari 60, tidak ada yang terjadi. Mudah, kan?
Statement IF-THEN-ELSE
kadang-kadang, Anda ingin melakukan satu hal jika kondisi benar, dan hal lain jika itu salah. Itu di mana IF-THEN-ELSE berguna.
Sintaks dan Contoh
IF condition THEN
statements1;
ELSE
statements2;
END IF;
Mari kita modifikasi contoh sebelumnya:
DECLARE
v_grade NUMBER := 55;
BEGIN
IF v_grade >= 60 THEN
DBMS_OUTPUT.PUT_LINE('Selamat! Anda lulus.');
ELSE
DBMS_OUTPUT.PUT_LINE('Maaf, Anda belum lulus. Tetap belajar!');
END IF;
END;
Sekarang, kode kita menangani kedua scenario – lulus dan belum lulus. Itu seperti memiliki rencana B!
Statement IF-THEN-ELSIF
Apa bila kita memiliki banyak kondisi untuk diperiksa? Itu di mana IF-THEN-ELSIF datang ke penyelamat.
Sintaks dan Contoh
IF condition1 THEN
statements1;
ELSIF condition2 THEN
statements2;
ELSIF condition3 THEN
statements3;
ELSE
statements4;
END IF;
Mari kita buat sistem penilaian yang lebih detil:
DECLARE
v_grade NUMBER := 85;
BEGIN
IF v_grade >= 90 THEN
DBMS_OUTPUT.PUT_LINE('Sempurna! Anda mendapat A.');
ELSIF v_grade >= 80 THEN
DBMS_OUTPUT.PUT_LINE('Pekerjaan bagus! Anda mendapat B.');
ELSIF v_grade >= 70 THEN
DBMS_OUTPUT.PUT_LINE('Kerja bagus! Anda mendapat C.');
ELSIF v_grade >= 60 THEN
DBMS_OUTPUT.PUT_LINE('Anda lulus dengan D.');
ELSE
DBMS_OUTPUT.PUT_LINE('Maaf, Anda belum lulus. Tetap belajar!');
END IF;
END;
Kode ini seperti seorang guru menilai nilai – itu memeriksa banyak kondisi dan memberikan umpan balik yang sesuai untuk setiap rentang nilai.
Statement CASE
Statement CASE sangat cocok ketika Anda memiliki variabel atau ekspresi tunggal yang Anda ingin membandingkan melawan nilai kemungkinan yang banyak.
Sintaks dan Contoh
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END CASE;
Mari kita gunakan CASE untuk menentukan hari minggu:
DECLARE
v_day NUMBER := TO_CHAR(SYSDATE, 'D');
v_message VARCHAR2(20);
BEGIN
v_message := CASE v_day
WHEN 1 THEN 'Minggu'
WHEN 2 THEN 'Senin'
WHEN 3 THEN 'Selasa'
WHEN 4 THEN 'Rabu'
WHEN 5 THEN 'Kamis'
WHEN 6 THEN 'Jumat'
WHEN 7 THEN 'Sabtu'
ELSE 'Hari tidak valid'
END;
DBMS_OUTPUT.PUT_LINE('Hari ini adalah ' || v_message);
END;
Kode ini seperti seorang kalender – itu mengambil sebuah nomor dan mengatakan kepada Anda hari minggu mana itu mewakili.
Kondisi Bersarang
Seperti boneka Rusia bersarang, Anda dapat memiliki kondisi di dalam kondisi. Ini disebut bersarang.
Contoh Kondisi Bersarang
DECLARE
v_age NUMBER := 25;
v_income NUMBER := 50000;
BEGIN
IF v_age >= 18 THEN
IF v_income > 30000 THEN
DBMS_OUTPUT.PUT_LINE('Anda layak untuk kartu kredit.');
ELSE
DBMS_OUTPUT.PUT_LINE('Anda dewasa, tapi butuh pendapatan yang lebih tinggi untuk kartu kredit.');
END IF;
ELSE
DBMS_OUTPUT.PUT_LINE('Anda harus minimal 18 tahun untuk memesan kartu kredit.');
END IF;
END;
Kode ini seperti seorang petugas bank yang memeriksa kriteria ganda sebelum menyetujui aplikasi kartu kredit.
Kesimpulan
Selamat! Anda telah menavigasi dunia kondisi dalam PL/SQL. Ingat, statement kondisional ini seperti lampu lalu lintas dari kode Anda – mereka mengarahkan aliran dan memastikan bahwa semua berjalan mulus.
Praktik adalah kunci untuk memahami konsep ini. Cobalah membuat scenario sendiri dan lihat bagaimana Anda dapat menggunakan statement kondisional yang berbeda untuk menyelesaikan masalah. Sebelum Anda tahu, Anda akan menulis program PL/SQL yang kompleks dan cerdas yang dapat menangani setiap situasi yang dijatuhkan kepadanya.
Tetap mengoding, tetap belajar, dan terutama, bersenang-senang dengan itu! Siapa tahu, mungkin suatu hari Anda akan menjadi orang yang mengajarkan PL/SQL kepada generasi pemula yang antusias.
Credits: Image by storyset