Apa Itu Sweet Alert? Pengertian dan Cara Menggunakannya

Profile
Prasatya

20 Juni 2025

Apa Itu Sweet Alert? Pengertian dan Cara Menggunakannya

Sweet Alert adalah library JavaScript yang berfungsi untuk menampilkan notifikasi pop-up interaktif dengan tampilan lebih menarik dibandingkan fungsi alert() standar. Library ini bersifat open-source dan ringan, dan menurut dokumentasi resminya, SweetAlert2 disebut sebagai “pengganti kotak popup JavaScript yang indah, responsif, dapat disesuaikan, dan dapat diakses”. Bahkan, SweetAlert2 sangat populer: pada pertengahan 2025 tercatat lebih dari 17.500 bintang di GitHub dan hampir 1,5 miliar akses CDN per bulan, menunjukkan banyaknya aplikasi yang mengadopsinya. Dokumentasi resmi juga menyebut SweetAlert membuat “popup messages easy and pretty” (memudahkan pembuatan popup yang indah).

Secara umum, Sweet Alert memungkinkan kita menambahkan judul, teks, ikon, dan tombol dalam pop-up tersebut. Berbeda dengan alert() biasa yang hanya menampilkan teks hitam di jendela browser, Sweet Alert menampilkan pop-up di tengah layar dengan overlay transparan, ikon warna-warni, dan tombol yang dapat diatur sesuai kebutuhan. Hal ini membuat tampilannya lebih profesional dan ramah pengguna (user-friendly). Contohnya, dibanding alert("Halo!") yang sangat minimal, Sweet Alert bisa menghasilkan kotak pesan seperti ini:

swal("Selamat!", "Data berhasil disimpan.", "success");

Hasilnya adalah dialog yang jauh lebih menarik, dengan ikon centang hijau dan gaya modern. Berbagai situs dan aplikasi sekarang sering menggunakan Sweet Alert agar pengalaman pengguna lebih baik.

Dalam dunia pengembangan web modern, notifikasi menarik sangat dihargai. Banyak aplikasi (misalnya e‑commerce atau SaaS) menampilkan pesan sukses, peringatan, atau konfirmasi menggunakan library ini agar pengguna lebih nyaman. Misalnya, setelah pengguna mengisi formulir, Sweet Alert dapat langsung menampilkan toast atau notifikasi singkat yang informatif. Semua ini membuat interaksi aplikasi lebih hidup.

Perbedaan Sweet Alert dengan alert() Biasa

Image

Perbedaan paling mencolok antara Sweet Alert dan fungsi alert() bawaan adalah dari sisi tampilan dan fungsi. Beberapa poin perbedaan utama:

  • Tampilan Modern: alert() menampilkan jendela pesan standar browser (biasanya polos dan tidak dapat diubah warnanya). Sweet Alert, sebaliknya, menampilkan pop-up yang cantik dengan border bulat, warna latar yang gelap transparan, ikon besar, dan gaya minimalis. Misalnya, swal("Pesan", "Teks tampilan", "success") secara otomatis menampilkan ikon centang hijau. Dokumen CodePolitan bahkan menunjukkan contoh bahwa pesan Sweet Alert jauh lebih estetik daripada alert konvensional.

  • Asinkron dan Non-Blocking: alert() bersifat sinkron (blocking) – artinya JavaScript berhenti menunggu sampai pengguna menekan OK. Sweet Alert berjalan asinkron, yaitu tidak memblokir eksekusi kode. Contohnya:

    alert("Halo!"); console.log("Ini tampil setelah alert ditutup."); swal("Halo!"); console.log("Ini langsung tampil, tanpa menunggu swal ditutup.");

    Pada contoh di atas, baris console.log kedua langsung dieksekusi setelah swal(), karena Sweet Alert menggunakan promise dan non-blocking. Ini membuat halaman tetap responsif, berbeda dengan alert() yang “mengunci” tampilan browser sementara ditutup.

  • Kustomisasi Lebih Banyak: Dengan Sweet Alert, kita bisa menambahkan judul, teks, ikon, gambar, dan menyesuaikan tombol dengan mudah. Kita bisa mengubah teks tombol konfirmasi/batal, menambahkan timer agar otomatis tertutup, atau menyisipkan input teks langsung di dalam pop-up. Sebaliknya, alert() hanya menerima satu string sebagai teks dan tidak bisa diubah tampilannya. Misalnya, kita bisa memakai HTML atau gambar khusus dalam judul SweetAlert:

    swal({ title: "<strong>Perhatian!</strong>", html: "Ini <i>pesan</i> dengan format HTML.", icon: "warning" });

    Fitur ini tidak mungkin dilakukan dengan alert().

  • Aksesibilitas: SweetAlert2 dirancang dengan perhatian pada standar aksesibilitas (WAI-ARIA). Itu artinya pop-up dapat dinavigasi dengan keyboard dan terbaca pembaca layar, sesuatu yang tidak didukung oleh alert() standar.

  • Animasi dan Efek: Sweet Alert biasanya menambahkan animasi transisi (misalnya zoom in/zoom out) saat muncul atau hilang. Hal ini membuat pengalaman terasa halus. Alert bawaan justru tiba-tiba muncul tanpa efek khusus.

Secara keseluruhan, Sweet Alert menggabungkan kelebihan alert() (memberi notifikasi) dengan kemampuan desain modern dan fungsionalitas lanjutan.

Baca Juga: Membuat Form Input dengan Validasi Jquery, Style Bootstrap, dan Sweet Alert sebagai Pemanisnya

Mengapa Penting Menggunakan Sweet Alert?

Menambahkan Sweet Alert ke aplikasi Anda penting untuk pengalaman pengguna (UX) dan kemudahan pengembangan. Berikut beberapa alasan utama:

  • Meningkatkan UX: Notifikasi yang menarik memudahkan pengguna memahami status operasi. Sebagai contoh, pemberitahuan sukses dengan ikon hijau atau peringatan dengan ikon kuning cepat ditangkap mata. Desain modern Sweet Alert membuat aplikasi tampak lebih profesional. Satu studi mencatat bahwa banyak pengembang memilih Sweet Alert karena “memiliki tampilan pesan yang cantik” dibanding notifikasi konvensional.

  • Peningkatan Interaksi: Pop-up interaktif (bukan jendela browser biasa) membuat pengguna merasa aplikasi lebih hidup. Misalnya, saat ada error form, kita bisa menampilkan alert menarik alih-alih hanya alert("Error") yang bisa dianggap menakutkan. Antarmuka yang ramah dapat mengurangi bounce (pengguna yang keluar) dan membuat pengguna lebih nyaman melanjutkan.

  • Fleksibilitas untuk Pengembang: Sweet Alert menyediakan antarmuka siap pakai. Tanpa library ini, kita harus membuat modal atau komponen dari awal menggunakan HTML/CSS/JS. Dengan Sweet Alert, cukup satu baris kode sudah menghasilkan pop-up indah. Ini menghemat waktu brainware dalam pengembangan.

  • Fungsi Lanjutan (Promise): Karena Sweet Alert mengembalikan promise, kita dapat menggunakan .then() untuk menambahkan logika setelah pengguna menutup alert. Misalnya, kita dapat otomatis mengalihkan halaman setelah konfirmasi, atau mengeksekusi fungsi lain. Ini membuka banyak kemungkinan tanpa kode rumit.

  • Tidak Memblokir UI: Sweet Alert hanya menampilkan overlay semi-transparan sehingga pengguna masih bisa melihat layar aplikasi di balik pop-up. Berbeda dengan alert() standar yang memblokir seluruh tampilan, Sweet Alert tidak menghentikan interaksi lain. Pengguna dapat meninjau konten di belakangnya, dan pop-up dapat muncul tanpa mengganggu alur.

  • Responsif di Semua Perangkat: Notifikasi Sweet Alert sudah didesain responsif (mobile-friendly). Baik di desktop maupun layar ponsel, pop-up terlihat proporsional. Aplikasi yang responsif lebih disukai pengguna di era mobile.

  • Aksesibilitas: Seperti disebutkan, Sweet Alert2 mendukung standar WAI-ARIA, sehingga keyboard dan pembaca layar dapat mengaksesnya. Ini penting untuk memenuhi kebutuhan pengguna penyandang disabilitas.

Secara ringkas, dengan Sweet Alert kita mendapatkan notifikasi lebih menarik tanpa menambah banyak kompleksitas kode.

Cara Instalasi Sweet Alert

Sebelum menggunakan Sweet Alert, kita perlu memasangnya di proyek. Ada dua cara umum:

  • Via CDN (Content Delivery Network): Kita tinggal menautkan file JavaScript Sweet Alert dari server CDN. Contoh untuk SweetAlert2:

    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.all.min.js"></script>

    Untuk SweetAlert versi lama (1.x), contoh CDN Unpkg:

    <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script> <link rel="stylesheet" href="https://unpkg.com/sweetalert/dist/sweetalert.css">

    Tempatkan tag <script> ini di bagian <head> atau tepat sebelum </body> HTML Anda. Dengan CDN, Anda tidak perlu download manual; cukup salin tautan tersebut. Pilih versi yang sesuai (SweetAlert 1 atau SweetAlert2).

  • Via NPM (Node Package Manager): Jika proyek Anda menggunakan Node.js atau bundler seperti Webpack/Vite, jalankan perintah instalasi. Misalnya:

    npm install sweetalert2
    

    (atau npm install sweetalert untuk versi lama). Setelah terpasang di node_modules, impor library di JavaScript Anda:

    import Swal from 'sweetalert2'; // atau versi lama: // import swal from 'sweetalert';

    Bundler seperti Webpack akan memasukkan Sweet Alert ke paket akhir. Metode ini memudahkan manajemen dependensi.

  • Manajer Paket Lainnya: Anda juga bisa menggunakan Yarn (yarn add sweetalert2) atau Bower (bower install sweetalert) jika perlu. Pastikan file CSS juga dimasukkan jika memakai SweetAlert 1.x.

Dengan salah satu metode di atas, library Sweet Alert siap digunakan di halaman web Anda. Berikut adalah contoh struktur HTML minimal dengan SweetAlert terpasang:

<!DOCTYPE html> <html> <head> <title>Contoh Sweet Alert</title> <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script> <!-- Atau gunakan CDN SweetAlert2: <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.all.min.js"></script> --> </head> <body> <button onclick="swal('Hai!', 'Contoh popup SweetAlert.', 'success')">Tampilkan Alert</button> </body> </html>

Pada contoh di atas, klik tombol akan memanggil swal() dan menampilkan popup. Tidak diperlukan CSS tambahan selain milik SweetAlert (jika ada). Penempatan yang benar memastikan pop-up dapat muncul saat skrip dipanggil.

Contoh Penggunaan Dasar

Setelah terpasang, Sweet Alert sangat mudah digunakan. Panggil saja swal() (SweetAlert lama) atau Swal.fire() (SweetAlert2) dengan parameter yang diinginkan. Contoh dasar:

swal("Berhasil!", "Data Anda telah tersimpan.", "success");

Kode di atas menampilkan popup sukses. Contoh lain:

swal("Gagal!", "Terjadi kesalahan pada server.", "error"); swal("Perhatian!", "Field belum diisi.", "warning"); swal("Info", "Tidak ada item ditemukan.", "info"); swal("Pertanyaan", "Ingin melanjutkan?", "question");

Setiap parameter ketiga di atas adalah nama ikon (success, error, dll). Sweet Alert secara otomatis menampilkan ikon tersebut.

Anda juga dapat memicu alert pada event tertentu. Misalnya, jika tombol diklik:

<button id="btnSubmit">Submit</button> <script> document.getElementById("btnSubmit").onclick = function() { swal("Oke!", "Tombol telah diklik.", "success"); }; </script>

Atau dalam respons Ajax (jQuery):

$.ajax({ url: "/api/data", success: function() { swal("Sukses", "Data dari server diterima.", "success"); }, error: function() { swal("Oops", "Gagal mengambil data.", "error"); } });

Contoh lain dalam logika:

if (nilai < 60) { swal("Gagal", "Nilai Anda belum mencukupi.", "error"); } else { swal("Lulus", "Selamat, Anda lulus!", "success"); }

Dalam semua contoh ini, Anda hanya perlu memanggil fungsi Sweet Alert sekali.

Berbagai Tipe Ikon

Sweet Alert dilengkapi lima ikon bawaan: success, error, warning, info, dan question. Berikut contohnya:

swal("Sukses!", "Pendaftaran berhasil.", "success"); // ikon centang hijau swal("Maaf!", "Kata sandi salah.", "error"); // ikon silang merah swal("Hati-hati!", "Tindakan ini tidak dapat diulang.", "warning"); // ikon seru kuning swal("Info", "Tidak ada notifikasi baru.", "info"); // ikon i biru swal("Pertanyaan", "Lanjutkan proses?", "question"); // ikon tanya

Tiap ikon membantu pengguna mengenali jenis pesan dengan cepat. Selain ikon bawaan, Anda juga bisa menggunakan gambar sendiri dengan imageUrl:

swal({ title: "Logo Kita", text: "Ini contoh ikon custom", icon: null, imageUrl: "logo.png" });

Pada SweetAlert2, opsi serupa tersedia:

Swal.fire({ title: "Custom Image", text: "Menggunakan SweetAlert2", imageUrl: "https://example.com/logo.svg", imageWidth: 80, imageHeight: 80 });

Ini memungkinkan menyesuaikan tampilan sepenuhnya. Anda juga dapat menyisipkan HTML dalam judul atau teks jika perlu (beri opsi html di SweetAlert2 atau beri tag HTML di title seperti contoh di atas).

Baca Juga: Cara Membuat Alert di Flutter

Konfirmasi dengan .then()

Sweet Alert memudahkan pembuatan dialog konfirmasi. Misalnya, jika Anda ingin menanyakan persetujuan sebelum menghapus data:

swal({ title: "Yakin?", text: "Data ini akan dihapus!", icon: "warning", buttons: true, dangerMode: true }) .then((willDelete) => { if (willDelete) { swal("Data terhapus!", { icon: "success" }); // Lakukan aksi hapus data di sini } else { swal("Penghapusan dibatalkan."); } });

Opsi buttons: true menambah tombol konfirmasi dan batal otomatis. Saat pengguna memilih salah satu, promise .then() di atas berjalan. Jika willDelete === true, artinya pengguna menekan “OK”; kita bisa melanjutkan aksi (misalnya hapus data) lalu beri notifikasi sukses. Jika false, tampilkan pesan batal. Semua ini dilakukan tanpa menulis callback browser manual — cukup satu fungsi Sweet Alert. Dengan cara ini, bisa menempatkan kode pada bagian .then() sesuai kebutuhan aplikasi tanpa kerumitan.

Contoh serupa di SweetAlert2:

Swal.fire({ title: "Konfirmasi", text: "Simpan perubahan sekarang?", icon: "question", showCancelButton: true, confirmButtonText: "Ya, simpan!", cancelButtonText: "Tidak" }).then((result) => { if (result.isConfirmed) { Swal.fire("Tersimpan!", "Data Anda telah disimpan.", "success"); } });

Di sini showCancelButton: true menampilkan tombol batal. Setelah pengguna memilih, result.isConfirmed dicek di .then(). Pendekatan promise .then() ini sangat berguna untuk alur yang interaktif.

Fitur Lanjutan Sweet Alert

Sweet Alert menyediakan banyak opsi lanjutan di luar penggunaan dasar. Beberapa contohnya:

  • Toast (Notifikasi Sederhana): Menampilkan notifikasi kecil di pojok layar. Contoh SweetAlert2 toast:

    Swal.fire({ toast: true, position: 'top-end', icon: 'success', title: 'Login berhasil!', showConfirmButton: false, timer: 1500 });

    Kode di atas menampilkan pesan singkat di kanan atas selama 1,5 detik tanpa tombol. Mirip notifikasi mobile.

  • Antrian Multi Langkah: Anda bisa membuat urutan beberapa popup satu per satu. Contoh SweetAlert2 mixin:

    Swal.mixin({ confirmButtonText: 'Next →', showCancelButton: true }) .queue([ { title: 'Langkah 1', text: 'Masukkan nama' }, { title: 'Langkah 2', text: 'Masukkan email' }, { title: 'Langkah 3', text: 'Masukkan password' } ]).then((result) => { if (result.value) { Swal.fire('Selesai!', 'Data telah tersimpan.', 'success'); } });

    Fitur ini berguna untuk membuat wizard atau formulir multi-langkah secara interaktif.

  • Input dalam Popup: SweetAlert2 mendukung jenis input (teks, email, angka, dropdown, checkbox, dll.). Misalnya prompt teks:

    Swal.fire({ title: 'Masukkan nama Anda:', input: 'text', inputPlaceholder: 'Nama lengkap', showCancelButton: true }).then((result) => { if (result.value) { Swal.fire('Halo, ' + result.value + '!', '', 'success'); } });

    Contoh lainnya, input angka:

    Swal.fire({ title: 'Berapa usia Anda?', input: 'number', inputLabel: 'Usia (dalam tahun)', inputAttributes: { min: 1, max: 120 }, showCancelButton: true }).then((result) => { if (result.value) { Swal.fire('Usia Anda: ' + result.value); } });

    Dengan ini, developer dapat mengambil masukan pengguna langsung dari popup, menggantikan prompt() atau form terpisah.

  • Kustomisasi Lainnya: Sweet Alert juga memungkinkan menyesuaikan detail lain:

    • Posisi (position): misalnya 'top-start', 'center', dll.
    • Timer Otomatis (timer): menutup popup setelah X milidetik.
    • Teks Tombol Kustom: opsi confirmButtonText, cancelButtonText.
    • Warna atau Kelas: Menggunakan opsi customClass untuk mengubah style bawaan.
    • HTML kustom: Anda dapat memberi kode HTML di judul atau teks (dengan menerapkan opsi HTML/allowHtml).

Semua opsi ini membuat Sweet Alert sangat fleksibel untuk berbagai skenario. Kombinasi pengaturan tersebut menambah keunggulan library ini. Sweet Alert memang dirancang sebagai alat siap pakai bagi developer agar aplikasi web terlihat modern tanpa bekerja ekstra membuat komponen UI dari awal.

Kesimpulan

Sweet Alert adalah solusi sederhana namun powerful untuk membuat notifikasi web yang menarik. Alih-alih memakai alert() standar yang minimalis, cukup panggil swal() (atau Swal.fire()) dan atur opsi judul, teks, ikon, serta tombol sesuai kebutuhan. Hasilnya adalah popup interaktif dengan desain modern. Sweet Alert mendukung berbagai jenis pesan (sukses, error, peringatan, info, pertanyaan), serta dialog konfirmasi dengan promise (.then()), semua dalam satu library. Hasilnya, pengguna mendapatkan feedback yang lebih baik, dan pengembang mendapatkan implementasi yang lebih mudah dan serbaguna.

Image

Bagi setiap pengembang, kemampuan menambahkan fitur seperti Sweet Alert adalah nilai tambah. Jika Anda ingin belajar lebih lanjut tentang pengembangan web (termasuk praktik library seperti Sweet Alert), pertimbangkan KelasFullstack. Di kelas ini, Anda akan belajar pengembangan web dari dasar hingga lanjutan, termasuk JavaScript, framework, dan fitur interaktif modern. Dengan kurikulum lengkap, kelas ini membantu kamu mengasah keterampilan coding dan menjadi web developer profesional.

Referensi: SweetAlert Official Page

What do you think?

Reactions