Cara Membuat QR Code (Online, Programmatic, & Best Practices): Panduan Lengkap untuk Developer & Bisnis

QR Code telah menjadi bagian tak terpisahkan dari interaksi digital kita, dari pembayaran nirsentuh, akses Wi-Fi cepat, hingga promosi produk. Bagi developer, marketer, atau pemilik bisnis, kemampuan untuk membuat dan mengelola QR Code adalah skill esensial. Artikel ini akan memandu Anda secara mendalam tentang cara membuat QR Code, baik menggunakan alat online yang praktis, secara programmatic untuk kebutuhan kustom, hingga tips optimasi dan mengatasi masalah yang sering terjadi.

Mari kita selami bagaimana Anda bisa memanfaatkan kekuatan QR Code untuk berbagai kebutuhan, mulai dari yang sederhana hingga yang kompleks.

Apa Itu QR Code dan Mengapa Penting Saat Ini?

QR Code atau Quick Response Code adalah jenis barcode dua dimensi yang dapat menyimpan berbagai jenis informasi, seperti URL, teks, nomor telepon, atau data lainnya. Keunggulannya adalah kemampuan menyimpan data yang lebih banyak dibandingkan barcode linear tradisional, serta kemudahan dan kecepatan pemindaian menggunakan kamera smartphone.

Dalam lanskap digital saat ini, QR Code memainkan peran krusial:

  • Akses Informasi Cepat: Pengguna bisa langsung diarahkan ke website, menu digital, atau informasi produk tanpa mengetik URL panjang.
  • Pemasaran dan Promosi: Kampanye iklan menjadi lebih interaktif dengan QR Code yang mengarah ke landing page khusus atau penawaran.
  • Transaksi Tanpa Kontak: Pembayaran digital menjadi lebih mudah dan aman dengan QR Code.
  • Efisiensi Operasional: Manajemen inventaris, pelacakan aset, hingga check-in acara bisa diotomatisasi dengan QR Code.
  • Otomatisasi Workflow: Bagi developer, QR Code bisa menjadi bagian dari otomatisasi untuk berbagai tugas.

Jenis-Jenis QR Code: Statis vs Dinamis

Sebelum mulai membuat, penting untuk memahami perbedaan mendasar antara QR Code statis dan dinamis, karena ini akan sangat memengaruhi fleksibilitas dan fungsionalitas di masa depan.

QR Code Statis

QR Code statis langsung menyimpan data target di dalamnya. Begitu QR Code dibuat, Anda tidak bisa mengubah data yang terkandung di dalamnya tanpa membuat QR Code baru. Jika Anda menautkan QR Code statis ke sebuah URL, dan URL itu berubah, maka QR Code Anda akan rusak dan tidak lagi mengarah ke tujuan yang benar.

  • Kelebihan: Gratis, tidak memerlukan langganan, dan tidak ada batasan pemindaian.
  • Kekurangan: Data tidak bisa diubah setelah dibuat, tidak ada pelacakan pemindaian (berapa kali discan, lokasi, dll.), dan QR Code cenderung lebih padat jika data yang disimpan banyak.
  • Cocok untuk: Informasi yang tidak akan berubah, seperti URL personal, alamat email, atau teks singkat.

QR Code Dinamis

QR Code dinamis bekerja dengan menyimpan URL pendek (short URL) di dalamnya, yang kemudian mengarahkan pengguna ke data target sebenarnya. Data target ini disimpan di server penyedia layanan QR Code dinamis dan bisa diubah kapan saja tanpa perlu mengubah fisik QR Code. Short URL akan tetap sama, tetapi tujuan akhirnya bisa di-update.

  • Kelebihan: Data tujuan bisa diubah kapan saja, bisa melacak statistik pemindaian (jumlah, waktu, lokasi), QR Code fisik biasanya lebih sederhana dan mudah discan, dan integrasi dengan alat marketing lain.
  • Kekurangan: Umumnya berbayar (memerlukan langganan), tergantung pada ketersediaan server penyedia layanan.
  • Cocok untuk: Kampanye marketing, URL promosi yang sering berubah, menu restoran, acara, dan semua kebutuhan yang memerlukan pelacakan dan fleksibilitas.

Dalam praktiknya, banyak developer dan marketer lebih memilih QR Code dinamis untuk kebutuhan bisnis dan profesional karena fleksibilitas dan data analitik yang ditawarkan.

Cara Membuat QR Code Secara Online (Gratis & Mudah)

Untuk kebutuhan personal atau bisnis kecil yang sederhana, generator QR Code online gratis adalah pilihan terbaik. Prosesnya cepat, tidak memerlukan instalasi software, dan hasilnya langsung bisa diunduh.

Langkah-langkah Umum Menggunakan Generator Online:

Hampir semua generator online memiliki alur kerja yang mirip. Mari kita gunakan salah satu yang populer sebagai contoh.

  1. Pilih Jenis Konten: Kunjungi situs generator QR Code (misalnya, QR Code Monkey, Me-QR, atau QR Code Generator). Biasanya, Anda akan diminta memilih jenis konten yang ingin disematkan: URL, Teks, Email, Telepon, SMS, VCard, Wi-Fi, Lokasi, Acara, PDF, MP3, Aplikasi, dan lainnya.
  2. Masukkan Data Anda: Masukkan informasi yang ingin Anda encode. Misalnya, jika Anda memilih “URL”, masukkan alamat website lengkap (e.g., https://www.tubianto.com).
  3. Kustomisasi Desain (Opsional): Sebagian besar generator memungkinkan kustomisasi. Anda bisa mengubah warna, menambahkan logo di tengah QR Code, mengubah bentuk titik-titik (dots), dan memilih bingkai (frame). Pertimbangkan aspek branding Anda di sini.
  4. Pilih Tingkat Koreksi Kesalahan (Error Correction Level): Ini menentukan seberapa banyak QR Code dapat rusak (misalnya, karena noda atau bagian yang hilang) sebelum tidak bisa discan lagi. Level yang lebih tinggi membuat QR Code lebih toleran terhadap kerusakan, tetapi akan membuatnya lebih padat. Pilihan umumnya: L (7%), M (15%), Q (25%), H (30%). Untuk penggunaan umum, M atau Q sudah cukup.
  5. Hasilkan dan Unduh: Setelah selesai mengatur, klik tombol “Generate QR Code” atau sejenisnya. Anda akan melihat pratinjau QR Code Anda. Unduh dalam format yang sesuai (PNG, JPG, SVG, EPS). PNG atau JPG cocok untuk penggunaan web dan cetak resolusi rendah, sedangkan SVG atau EPS lebih baik untuk cetak resolusi tinggi karena bersifat vektor.

Tips Penting Saat Menggunakan Generator Online:

  • Periksa Ulang Konten: Pastikan URL atau data yang Anda masukkan sudah benar dan tidak ada typo.
  • Tes Pemindaian: Selalu pindai QR Code yang sudah Anda buat dengan beberapa aplikasi pemindai QR Code di berbagai smartphone (Android dan iOS) sebelum menggunakannya secara publik.
  • Jangan Berlebihan dalam Kustomisasi: Terlalu banyak kustomisasi (warna kontras rendah, logo terlalu besar) bisa membuat QR Code sulit discan.
  • Pikirkan Ukuran: Sesuaikan ukuran QR Code dengan tempat penempatannya. Jangan terlalu kecil agar mudah discan.

Cara Membuat QR Code Secara Programmatic (Untuk Developer)

Bagi developer yang membutuhkan kontrol penuh, otomatisasi, atau integrasi dengan aplikasi, membuat QR Code secara programmatic adalah solusi terbaik. Ini sangat berguna untuk menghasilkan QR Code dinamis dalam jumlah besar, menyematkannya langsung ke dalam aplikasi, atau membuat QR Code yang datanya ditarik dari database secara real-time.

Membuat QR Code dengan Python

Python adalah pilihan populer karena ekosistem library yang kaya. Library qrcode adalah salah satu yang paling sering digunakan.

Instalasi Library:

Anda bisa menginstal library ini menggunakan pip:

pip install qrcode[pil]

[pil] adalah opsional untuk menambahkan dukungan gambar (Pillow) agar QR Code bisa disimpan sebagai file gambar.

Contoh Kode Sederhana:

Ini adalah contoh dasar untuk membuat QR Code yang menautkan ke Tubianto.com dan menyimpannya sebagai file PNG.

import qrcode

# Data yang akan di-encode
data = "https://www.tubianto.com"

# Buat objek QR Code
qr = qrcode.QRCode(
    version=1, # Versi QR Code (1-40). Semakin tinggi, semakin banyak data.
    error_correction=qrcode.constants.ERROR_CORRECT_L, # Level koreksi kesalahan
    box_size=10, # Ukuran setiap 'box' atau piksel QR Code
    border=4, # Tebal border di sekitar QR Code
)
qr.add_data(data)
qr.make(fit=True)

# Buat gambar dari QR Code
img = qr.make_image(fill_color="black", back_color="white")

# Simpan gambar
img.save("tubianto_qrcode.png")

print("QR Code berhasil dibuat dan disimpan sebagai tubianto_qrcode.png")

Menambahkan Logo di Tengah QR Code (Python):

Untuk kebutuhan branding, Anda bisa menyematkan logo di tengah QR Code.

import qrcode
from PIL import Image

# Data yang akan di-encode
data = "https://www.tubianto.com/blog/ai-untuk-developer"

# Buat objek QR Code dengan level koreksi kesalahan yang lebih tinggi untuk mengakomodasi logo
qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H, # Gunakan H untuk logo
    box_size=10,
    border=4,
)
qr.add_data(data)
qr.make(fit=True)

# Buat gambar QR Code dasar
img = qr.make_image(fill_color="black", back_color="white").convert("RGBA")

# Buka gambar logo
logo_path = "logo_tubianto.png" # Pastikan file logo ada di direktori yang sama
logo = Image.open(logo_path).convert("RGBA")

# Hitung ukuran dan posisi logo agar proporsional
# Logo sebaiknya sekitar 10-30% dari total ukuran QR Code
qr_width, qr_height = img.size
logo_width, logo_height = logo.size

# Menentukan ukuran target logo (misalnya 20% dari ukuran QR Code)
target_logo_width = qr_width // 5
target_logo_height = qr_height // 5

# Resize logo
logo = logo.resize((target_logo_width, target_logo_height))

# Hitung posisi tengah untuk logo
pos_x = (qr_width - target_logo_width) // 2
pos_y = (qr_height - target_logo_height) // 2

# Tempel logo ke gambar QR Code
img.paste(logo, (pos_x, pos_y), logo)

# Simpan hasilnya
img.save("tubianto_qrcode_with_logo.png")

print("QR Code dengan logo berhasil dibuat dan disimpan sebagai tubianto_qrcode_with_logo.png")

Membuat QR Code dengan JavaScript (Frontend)

Jika Anda perlu membuat QR Code langsung di browser atau dalam aplikasi web, JavaScript adalah jawabannya. Library seperti qrcode.js atau react-qr-code (untuk React) sangat membantu.

Contoh Kode Sederhana (qrcode.js):

Anda perlu menyertakan library qrcode.js terlebih dahulu. Misalnya, dari CDN:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Generate QR Code with JavaScript</title>
    <script type="text/javascript" src="https://unpkg.com/qrcode.js@1.0.0/qrcode.min.js"></script>
</head>
<body>
    <h1>QR Code Generator</h1>
    <div id="qrcode"></div>

    <script type="text/javascript">
        new QRCode(document.getElementById("qrcode"), {
            text: "https://www.tubianto.com",
            width: 256,
            height: 256,
            colorDark : "#000000",
            colorLight : "#ffffff",
            correctLevel : QRCode.CorrectLevel.H
        });
    </script>
</body>
</html>

Kode ini akan menghasilkan QR Code di dalam elemen <div id="qrcode"></div> dengan data https://www.tubianto.com dan tingkat koreksi kesalahan H.

Kapan Menggunakan Programmatic Generation?

  • Aplikasi Kustom: Ketika Anda ingin mengintegrasikan fungsionalitas QR Code ke dalam aplikasi Anda sendiri.
  • QR Code Dinamis Skala Besar: Untuk membuat ribuan QR Code yang berbeda secara otomatis (misalnya, untuk tiket acara, inventaris, atau kode diskon unik).
  • Data Real-time: Menghasilkan QR Code yang datanya diambil dari database atau API secara langsung.
  • Personalisasi: Setiap QR Code memiliki informasi yang sedikit berbeda untuk setiap pengguna.

Optimalisasi Desain dan Fungsi QR Code

Membuat QR Code lebih dari sekadar meng-encode data. Desain dan penempatan yang tepat sangat krusial agar QR Code berfungsi optimal dan menarik perhatian.

1. Branding (Logo dan Warna)

  • Logo: Menyertakan logo bisnis di tengah QR Code tidak hanya meningkatkan branding tetapi juga dapat meyakinkan pengguna bahwa QR Code tersebut sah dan aman. Pastikan logo berukuran kecil (sekitar 10-30% dari area QR Code) dan tidak mengganggu pola penting QR Code.
  • Warna: Gunakan warna yang kontras tinggi antara latar depan (dark color) dan latar belakang (light color). Warna yang terlalu mirip atau latar belakang yang terlalu ramai akan menyulitkan scanner. Hindari warna gelap sebagai latar belakang dan warna terang sebagai latar depan, karena sebagian besar scanner dioptimalkan untuk pola gelap di atas terang.

2. Ukuran dan Resolusi

  • Ukuran Minimum: Untuk memastikan QR Code mudah discan, ukuran minimum yang disarankan adalah 2×2 cm (sekitar 0.8×0.8 inci) untuk pemindaian jarak dekat. Untuk poster atau media yang dilihat dari jauh, ukurannya harus jauh lebih besar.
  • Resolusi Tinggi: Jika dicetak, pastikan QR Code memiliki resolusi tinggi (setidaknya 300 DPI) agar tidak pecah atau buram. Gunakan format vektor (SVG, EPS) jika memungkinkan untuk cetakan skala besar.
  • Jarak Pemindaian: Rumus umum: rasio ukuran QR Code terhadap jarak pemindaian adalah 1:10. Artinya, jika QR Code Anda berukuran 10 cm, idealnya dapat discan dari jarak 100 cm.

3. Error Correction Level (ECL)

Seperti yang dijelaskan sebelumnya, ECL menentukan seberapa banyak bagian QR Code yang bisa rusak tanpa mengganggu pemindaian. Pilihan:

  • L (Low): sekitar 7% kerusakan.
  • M (Medium): sekitar 15% kerusakan.
  • Q (Quartile): sekitar 25% kerusakan.
  • H (High): sekitar 30% kerusakan.

Untuk QR Code dengan logo atau yang berisiko rusak (misalnya di luar ruangan), gunakan level M atau H. Semakin tinggi levelnya, semakin banyak modul (piksel) yang digunakan, membuat QR Code lebih padat.

4. Call to Action (CTA) yang Jelas

Jangan biarkan pengguna menebak-nebak. Selalu tambahkan teks di dekat QR Code yang menjelaskan apa yang akan terjadi setelah dipindai. Contoh: “Scan untuk Menu”, “Scan untuk Diskon 20%”, “Download Aplikasi”, “Kunjungi Website Kami”. CTA yang jelas meningkatkan tingkat pemindaian.

5. Penempatan yang Strategis

  • Mudah Diakses: Letakkan QR Code di tempat yang mudah dijangkau oleh kamera smartphone. Hindari tempat yang terlalu tinggi, terlalu rendah, atau di balik objek lain.
  • Pencahayaan Cukup: Pastikan area sekitar QR Code memiliki pencahayaan yang cukup. Bayangan atau pantulan cahaya bisa mengganggu pemindaian.
  • Permukaan Datar: Hindari menempatkan QR Code di permukaan yang melengkung atau kusut, karena bisa mendistorsi pola dan membuatnya sulit discan.

Masalah yang Sering Terjadi Saat Membuat QR Code

Bahkan setelah mengikuti panduan, kadang QR Code tetap tidak berfungsi optimal. Berikut adalah beberapa masalah umum dan cara mengatasinya:

1. QR Code Tidak Bisa Discan

  • Gejala: Kamera smartphone tidak bisa mendeteksi atau membaca QR Code, atau perlu waktu sangat lama.
  • Penyebab:
    • Kontras warna rendah antara latar depan dan latar belakang.
    • QR Code terlalu kecil atau terlalu besar untuk jarak pemindaian.
    • Resolusi gambar QR Code rendah (pecah).
    • Terlalu banyak kustomisasi (logo terlalu besar, pola terlalu rumit).
    • Kerusakan fisik pada QR Code (tercoret, robek, kotor).
    • Data yang di-encode terlalu panjang untuk versi QR Code yang dipilih.
  • Solusi:
    • Tingkatkan kontras warna (misalnya, hitam di atas putih).
    • Sesuaikan ukuran QR Code dengan jarak pemindaian.
    • Pastikan QR Code memiliki resolusi tinggi.
    • Kurangi kustomisasi, atau gunakan level koreksi kesalahan yang lebih tinggi jika perlu logo.
    • Cetak ulang atau ganti QR Code yang rusak.
    • Pertimbangkan menggunakan QR Code dinamis jika datanya sangat panjang, karena ia menggunakan URL pendek.

2. Konten di Balik QR Code Tidak Valid atau Expired

  • Gejala: Setelah discan, pengguna diarahkan ke halaman “404 Not Found”, “Link Expired”, atau informasi yang salah.
  • Penyebab:
    • URL tujuan telah diubah atau dihapus.
    • Untuk QR Code dinamis, langganan layanan habis atau data target di dashboard tidak diperbarui.
    • QR Code statis yang menautkan ke URL yang sudah tidak aktif.
  • Solusi:
    • Selalu verifikasi URL atau data tujuan sebelum menyebarkan QR Code.
    • Jika menggunakan QR Code dinamis, periksa dashboard penyedia layanan untuk memastikan data target sudah benar dan langganan aktif.
    • Jika menggunakan QR Code statis, pastikan URL tujuan adalah permanen dan tidak akan berubah.

3. QR Code Terlalu Lambat Discan

  • Gejala: Meskipun bisa discan, proses pemindaian terasa lambat atau sulit.
  • Penyebab:
    • Pencahayaan di sekitar QR Code buruk.
    • Permukaan QR Code tidak rata (melengkung, bergelombang).
    • Kualitas cetakan buruk, membuat modul QR Code tidak jelas.
    • Jarak pemindaian terlalu jauh atau sudut pemindaian tidak ideal.
  • Solusi:
    • Perbaiki pencahayaan area penempatan QR Code.
    • Tempel QR Code pada permukaan yang datar dan rata.
    • Gunakan cetakan berkualitas tinggi.
    • Edukasi pengguna tentang cara memindai yang benar (jarak dan sudut optimal).

Pengalaman dan Pertimbangan Praktis

Sebagai seorang developer dan praktisi teknologi, saya sering melihat bagaimana QR Code digunakan dan disalahgunakan. Berikut adalah beberapa pertimbangan yang bisa meningkatkan efektivitas QR Code Anda:

Kapan Menggunakan QR Code Statis vs Dinamis?

Dalam pengalaman saya, QR Code statis paling cocok untuk informasi yang sifatnya sangat permanen dan personal, seperti vCard Anda (kartu nama digital) atau URL portofolio pribadi yang jarang berubah. Untuk semua kebutuhan bisnis, terutama kampanye marketing, penggunaan QR Code dinamis hampir selalu lebih baik. Kemampuan untuk mengubah tujuan URL kapan saja tanpa harus mencetak ulang material adalah penghemat waktu dan biaya yang signifikan. Selain itu, data analitik dari QR Code dinamis sangat berharga untuk mengukur keberhasilan kampanye.

Keamanan QR Code (Phishing)

Banyak pengguna belum sepenuhnya menyadari risiko keamanan dari QR Code. Penyerang bisa membuat QR Code palsu yang mengarahkan ke situs phishing atau mengunduh malware. Sebagai pembuat QR Code, selalu pastikan Anda menggunakan platform yang terpercaya. Sebagai pengguna, selalu berhati-hati saat memindai QR Code dari sumber yang tidak dikenal atau mencurigakan. Dari sisi desain, QR Code dengan logo brand terpercaya dapat sedikit meningkatkan kepercayaan, meskipun tidak menjamin keamanan 100%.

Manajemen QR Code untuk Kampanye Besar

Untuk kampanye marketing skala besar atau manajemen aset, mengelola banyak QR Code bisa jadi rumit. Di sinilah platform QR Code dinamis yang memiliki dashboard canggih sangat membantu. Mereka memungkinkan Anda mengelompokkan QR Code, melacak performanya secara individual atau kolektif, dan bahkan mengaktifkan/menonaktifkan QR Code tertentu. Jika Anda punya banyak lokasi atau produk, ini adalah investasi yang sangat berharga.

Analitik dan Tracking

Salah satu alasan utama mengapa saya merekomendasikan QR Code dinamis untuk bisnis adalah kemampuan analitiknya. Data seperti jumlah pemindaian, lokasi pemindaian, waktu pemindaian, dan jenis perangkat membantu Anda memahami perilaku audiens. Ini krusial untuk mengoptimalkan kampanye, memahami demografi pengguna, dan mengukur ROI dari upaya marketing offline ke online.

Trade-off Kustomisasi dan Kompatibilitas

Meskipun menarik untuk membuat QR Code yang sangat kreatif dengan banyak warna dan bentuk, saya selalu menekankan pentingnya kompatibilitas. Terlalu banyak kustomisasi dapat menurunkan tingkat koreksi kesalahan dan membuat QR Code sulit discan oleh aplikasi lama atau kamera berkualitas rendah. Selalu prioritaskan fungsionalitas dan kemudahan pemindaian di atas estetika yang berlebihan.

FAQ

Apakah QR Code bisa expired?

QR Code statis tidak akan expired selama data yang di-encode masih valid (misalnya, URL masih aktif). Namun, QR Code dinamis bisa “expired” jika langganan layanan penyedia berakhir, atau jika Anda menonaktifkannya dari dashboard.

Berapa ukuran ideal QR Code?

Tidak ada ukuran tunggal yang “ideal”, tetapi sebagai patokan, untuk pemindaian jarak dekat (10-30 cm), minimal 2×2 cm. Untuk setiap meter jarak pemindaian, tambahkan sekitar 10 cm pada sisi QR Code. Misalnya, untuk jarak 1 meter, QR Code idealnya sekitar 10×10 cm.

Bisakah saya mengubah tujuan QR Code yang sudah dibuat?

Hanya QR Code dinamis yang bisa diubah tujuannya setelah dibuat. QR Code statis tidak bisa diubah; jika Anda perlu mengubah data, Anda harus membuat QR Code baru.

Apakah aman menggunakan QR Code?

QR Code itu sendiri aman, tetapi konten yang dituju bisa saja berbahaya (misalnya, situs phishing atau malware). Selalu berhati-hati saat memindai QR Code dari sumber yang tidak dikenal. Penggunaan QR Code dari penyedia terpercaya dan dengan domain URL pendek yang jelas (untuk QR Code dinamis) dapat meningkatkan kepercayaan.

Bagaimana cara membuat QR Code yang bisa discan oleh semua jenis smartphone?

Pastikan QR Code memiliki kontras warna tinggi, resolusi yang baik (tidak buram), ukuran yang memadai, dan tidak ada kerusakan fisik. Tes dengan beberapa jenis smartphone sebelum disebarkan. Menggunakan level koreksi kesalahan yang lebih tinggi (M atau H) juga bisa membantu.

Kesimpulan

Membuat QR Code adalah keterampilan dasar yang kini menjadi krusial di berbagai bidang. Baik Anda seorang developer yang ingin mengotomatisasi proses, seorang marketer yang meluncurkan kampanye interaktif, atau pemilik bisnis yang mencari cara efisien untuk berbagi informasi, memahami seluk-beluk QR Code akan sangat membantu.

Pilihlah metode yang sesuai dengan kebutuhan Anda: generator online gratis untuk kemudahan dan kecepatan, atau pendekatan programmatic untuk fleksibilitas dan integrasi mendalam. Ingatlah untuk selalu memprioritaskan fungsionalitas, keamanan, dan pengalaman pengguna dengan desain yang optimal dan CTA yang jelas. Dengan praktik terbaik ini, QR Code Anda tidak hanya akan terlihat profesional tetapi juga bekerja secara efektif, menghubungkan dunia fisik dan digital dengan mulus.

TAGS: QR Code, Generator, Programming, Python, JavaScript, Web Development, Automation, Digital Marketing, Developer Tools, Productivity


Baca Juga

You May Also Like

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *