Generator Barcode Code 39
Buat barcode Code 39 untuk identifikasi industri, manufaktur, inventaris, dan pelacakan aset.
Generator Barcode & Matriks
Pratinjau Studio Langsung
Generator Nomor Seri Batch Code 128
Buat barcode Code 128 berurutan untuk SKU gudang, tag aset, label inventaris, dan pengenal internal lainnya.
Generator Barcode Code 39
Jawaban singkat: Code 39 adalah barcode linier berdimensi variabel yang dapat memeriksa sendiri yang didefinisikan dalam ISO/IEC 16388:2023. Ini juga dikenal dengan nama Code 3 of 9 dan Alpha39. Simbologi ini mengenkripsi 43 karakter: huruf kapital A–Z, angka 0–9, dan tujuh karakter khusus spasi, tanda hubung, titik, tanda dolar, garis miring, tanda plus dan tanda persen. Digit pemeriksaan bersifat opsional.
What a Code 39 barcode is
Code 39 is a one-dimensional, discrete, self-checking barcode symbology defined in ISO/IEC 16388:2023 (third edition). It is also known as Code 3 of 9 and Alpha39. The name "3 of 9" refers to its structure: each character is represented by 9 elements — 5 bars and 4 spaces — of which exactly 3 are wide.
Karakter asterisk (*) berfungsi sebagai delimiter awal sekaligus delimiter akhir. Asterisk tidak dikirim sebagai data—decoder menghapusnya—tetapi harus ada pada setiap simbol Code 39 yang valid. Karena desain ini, asterisk tidak dapat digunakan sebagai karakter data.
Code 39 memiliki pemeriksaan mandiri. Struktur elemen “3 dari 9” berarti satu cacat pencetakan yang membuat lebar suatu elemen bertambah atau berkurang hingga mengubah klasifikasinya dari sempit menjadi lebar atau sebaliknya akan menghasilkan karakter dengan jumlah elemen lebar yang salah, sehingga decoder akan mendeteksinya sebagai karakter yang tidak valid. Sifat pemeriksaan mandiri inilah alasan praktis Code 39 tetap digunakan selama puluhan tahun tanpa digit pemeriksa wajib di banyak penerapan.
Spesifikasi teknis Code 39
Character set and structure
| Parameter | Nilai | Sumber |
|---|---|---|
| Nama lengkap | Code 39 (also Code 3 of 9, Alpha39) | ISO/IEC 16388:2023 |
| ISO/IEC standard | ISO/IEC 16388:2023 (third edition) | iso.org/standard/77799.html |
| Code type | Discrete (intercharacter gaps between characters) | ISO/IEC 16388:2023 §4.1(b) |
| Native character set | 43 characters: A–Z (26), 0–9 (10), space, -, ., $, /, +, % (7) | ISO/IEC 16388:2023 §4.1(a) |
| Extended ASCII (Full ASCII Code 39) | All 128 ASCII characters via two-character shift sequences using $, /, +, % | ISO/IEC 16388:2023 §4.1(a) |
| Symbol length | Bervariasi | ISO/IEC 16388:2023 §4.1(e) |
| Elements per character | 9 (5 bars + 4 spaces): exactly 3 wide, 6 narrow | ISO/IEC 16388:2023 §4.1(c) |
| Start/stop character | Asterisk (*) — not transmitted by decoder | ISO/IEC 16388:2023 §4.3.3 |
| Self-checking | Ya | ISO/IEC 16388:2023 §4.1(d) |
| Wide-to-narrow ratio | 2.0:1 to 3.0:1 (nominal); 1.8:1 to 3.4:1 tolerance | ISO/IEC 16388:1999 §4.4(b); ISO/IEC 16388:2023 |
Check character
| Parameter | Nilai | Sumber |
|---|---|---|
| Check character | Optional — modulo-43 | ISO/IEC 16388:2023 Annex A |
| Algorithm | Sum of all data character values (A=10, B=11, ... Z=35, 0=0, ... 9=9, special chars each assigned unique values 0–42); divide sum by 43; remainder maps to Code 39 character | ISO/IEC 16388:2023 Annex A |
| Transmitted | Yes — the check character is included in the symbol and may be transmitted | ISO/IEC 16388:2023 |
Print requirements
| Parameter | Nilai | Sumber |
|---|---|---|
| Quiet zones | Minimum 10X on each side | ISO/IEC 16388:1999 §4.4(d) |
| Min bar height (manual scan) | 5.0 mm or 15% of symbol width excluding quiet zones, whichever is greater | ISO/IEC 16388:1999 §4.4(e) |
When to use a Code 39 barcode
LOGMARS Departemen Pertahanan AS. Standar Logistics Applications of Automated Marking and Reading Symbols (LOGMARS) milik Departemen Pertahanan AS, yang didasarkan pada MIL-STD-1189B, menetapkan Code 39 untuk penandaan suku cadang, komponen, dan rakitan dalam rantai pasok pertahanan AS. Jika Anda adalah kontraktor pertahanan yang diwajibkan menggunakan label yang memenuhi LOGMARS, Code 39 wajib digunakan. Dalam konteks ini, gunakan Code 39 persis seperti yang ditetapkan.
Pelabelan suku cadang otomotif dan yang terkait dengan VIN. Selama puluhan tahun, produsen otomotif besar dan pemasok tingkat 1 mereka telah menggunakan Code 39 untuk label identifikasi suku cadang. Dalam konteks tertentu, standar AIAG dan spesifikasi manufaktur otomotif masih merujuk pada Code 39 untuk pelacakan suku cadang internal, meskipun Code 128 kini telah tersedia.
Pelacakan aset dan peralatan layanan kesehatan (sistem lama). Beberapa sistem pelacakan aset rumah sakit dan peralatan medis yang dipasang sebelum Code 128 menjadi dominan menggunakan pemindai Code 39. Jika sistem yang terpasang tidak dapat dikonfigurasi ulang, label Code 39 tetap menjadi satu-satunya pilihan yang kompatibel.
Aplikasi pemerintah dan industri yang mengutamakan kesederhanaan. Code 39 melakukan pemeriksaan mandiri tanpa digit pemeriksa wajib; rasio lebar terhadap sempitnya membuatnya toleran terhadap hasil cetak dot-matrix dan impact yang kurang sempurna; dan hampir semua pembaca barcode yang pernah dijual dapat menguraikannya. Karakteristik ini menjadikannya barcode industri yang dominan selama dua dekade dan membuatnya tetap menjadi pilihan yang valid di lingkungan terkendali tempat basis perangkat terpasang tersebut masih digunakan.
Kapan TIDAK menggunakan Code 39 untuk penerapan baru. Code 39 bukan pilihan modern. Set karakternya yang terdiri atas 43 karakter tidak mencakup huruf kecil. Strukturnya yang diskret—setiap karakter dipisahkan oleh celah antarkarakter—membuatnya secara fisik lebih panjang daripada Code 128 untuk data yang sama. String numerik 10 digit yang dikodekan dengan Code Set C pada Code 128 kira-kira setengah panjang fisik string yang sama dalam Code 39. Gunakan Code 128 untuk sistem label gudang, pengiriman, atau penggunaan umum yang baru.
Persyaratan pencetakan Code 39
Dimensi X. Gunakan dimensi X terbesar yang dapat ditampung oleh ruang label Anda. Celah antar karakter yang khas pada Code 39 menambah panjang fisik di luar modul karakter, sehingga simbol ini memang lebih panjang daripada barcode kontinu untuk data yang sama. Dimensi X yang lebih besar meningkatkan keandalan pemindaian, terutama pada media yang dicetak secara termal maupun dengan printer impact.
Wide-to-narrow ratio. ISO/IEC 16388:2023 specifies a nominal ratio of 2.0:1 to 3.0:1, with tolerance from 1.8:1 to 3.4:1. The ratio must be consistent throughout the symbol. A ratio below 1.8:1 makes wide and narrow elements ambiguous. A ratio above 3.4:1 produces needlessly long symbols.
Zona tenang. Simbol harus memiliki zona kosong sekurang-kurangnya 10X di sisi kiri dan kanan. Zona tenang merupakan bagian dari standar, bukan sekadar anjuran. Elemen apa pun—bingkai, barcode yang berdekatan, atau teks—di dalam zona tenang akan menyebabkan karakter mulai atau berhenti salah dikenali.
Bar height. The minimum bar height is 5.0 mm or 15 percent of the symbol width excluding quiet zones, whichever is greater, per ISO/IEC 16388:1999 §4.4(e). Taller bars improve tolerance for scanner tilt and label curl.
Substrat. Toleransi rasio lebar terhadap sempit pada Code 39 membuatnya lebih andal pada substrat kasar, seperti papan bergelombang dan tekstil kasar, dibandingkan kode dengan rasio yang lebih kecil. Secara historis, hal ini menjadi salah satu alasan penggunaannya di lingkungan industri. Meski begitu, cetakan berkontras tinggi pada substrat yang halus memberikan hasil paling andal.
Pemecahan masalah: mengapa barcode Code 39 Anda tidak dapat dipindai
Huruf kecil dalam data. Kumpulan karakter bawaan Code 39 hanya mencakup huruf besar. Huruf kecil memerlukan pengodean shift Full ASCII Code 39. Jika generator menerima input, tetapi pembaca gagal memindainya, periksa apakah pembaca dikonfigurasi untuk Full ASCII Code 39 — dekoder Code 39 standar akan menolak urutan shift sebagai tidak valid.
Tanda bintang dalam data. Tanda bintang adalah pembatas awal dan akhir untuk Code 39 dan tidak dapat digunakan sebagai karakter data. Input apa pun yang berisi tanda bintang akan menghasilkan simbol yang tidak valid.
Rasio lebar terhadap sempit terdistorsi akibat penskalaan. Jika gambar PNG yang diekspor dicetak pada resolusi yang mengubah jumlah piksel modul, rasio lebar terhadap sempit dapat berada di luar toleransi 1.8:1 hingga 3.4:1. Cetak dengan dimensi piksel yang persis sesuai kebutuhan, atau gunakan ekspor SVG lalu skalakan secara proporsional saat mencetak.
Quiet zone dilanggar. Teks, garis tepi, atau label di sebelahnya yang ditempatkan dalam jarak 10X dari ujung simbol dapat menyebabkan kegagalan deteksi awal/akhir. Sisakan quiet zone 10X penuh di kedua sisi.
Digit pemeriksa tidak cocok. Jika konfigurasi sistem mewajibkan digit pemeriksa modulo-43 dan label dicetak tanpa digit tersebut, pemindai akan menolak simbol yang tampak valid. Sebaliknya, jika digit pemeriksa disertakan tetapi pemindai disetel untuk tidak memverifikasinya, karakter pemeriksa akan muncul dalam hasil dekode sebagai karakter tambahan. Samakan pengaturan digit pemeriksa pada generator dan pemindai.
Tinggi batang terlalu pendek. Tinggi batang di bawah 5 mm atau kurang dari 15 persen lebar simbol dapat menyebabkan kegagalan pemindaian saat sinar laser melewati bagian bawah atau atas batang ketika pemindaian dilakukan secara manual. Cetak ulang dengan batang yang lebih tinggi.
Code 39 versus Code 128
Code 39 dan Code 128 sama-sama merupakan barcode alfanumerik linear. Code 39 hadir sebelum Code 128 dan lebih terbatas dalam setiap aspek teknis. Perbandingan ini relevan karena banyak pengguna yang mencari Code 39 sedang mempertahankan sistem lama dan sebaiknya memahami alternatifnya untuk pekerjaan mendatang.
| Code 39 | Code 128 | |
|---|---|---|
| Standar | ISO/IEC 16388:2023 | ISO/IEC 15417:2007 |
| Set karakter | 43 characters (uppercase only natively) | All 128 ASCII (uppercase, lowercase, digits, control chars) |
| Lowercase | Via Full ASCII shift sequences only | Natively in Code Set B |
| Check character | Optional modulo-43 | Mandatory modulo-103 (auto-calculated) |
| Symbol type | Discrete (intercharacter gaps) | Continuous |
| Physical length | Longer for equivalent data | Shorter — Code Set C halves numeric length |
| Self-checking | Ya | Yes (via check character) |
| Active mandates | US DoD LOGMARS, some automotive | Warehouse, shipping, GS1-128 |
| Recommendation for new systems | No — use Code 128 | Ya |
Code 39 belum usang — standar ini masih diwajibkan oleh LOGMARS dan beberapa spesifikasi otomotif. Namun, jika Anda sedang membangun sistem pelabelan baru dan tidak ada peraturan yang mewajibkan Code 39, Code 128 adalah pilihan yang tepat.
Menggunakan kode batang ini di Bahrain dan rantai pasokan internasional
Peritel, importir, produsen, dan tim logistik di Bahrain sebaiknya memastikan pengenal sesuai dengan aturan mitra dagang mereka. GTIN untuk produk ritel harus diperoleh dari organisasi penerbit yang berwenang; generator membuat gambar barcode, tetapi tidak menetapkan kepemilikan. Referensi stok dan aset internal dapat menggunakan nilai yang ditetapkan organisasi jika sistem penerima mendukungnya.
Gunakan bahasa Inggris Britania dalam panduan operasional jika sesuai dengan gaya organisasi Anda, dan tambahkan instruksi dalam bahasa Arab untuk tim yang membutuhkannya. Lakukan pencetakan dalam kondisi penggunaan sebenarnya. Panas, cahaya terang, debu, kemasan melengkung, dan laminasi reflektif di Bahrain dapat menimbulkan masalah kontras atau permukaan yang tidak terlihat di monitor.
Pastikan area kosong di sekitar barcode tetap bersih, jangan meregangkan gambar, dan utamakan batang gelap pada latar polos berwarna terang. Pindai sampel dari awal, tengah, dan akhir proses pencetakan. Untuk penggunaan yang diatur dalam bidang ritel, layanan kesehatan, penerbitan, atau logistik, pastikan spesifikasi GS1, lembaga ISBN, pelanggan, atau industri yang berlaku sudah dikonfirmasi sebelum produksi disetujui.
Sebelum mencetak
- Simbolografi yang benar dipilih
- Kepemilikan pengidentifikasi dikonfirmasi
- Digit pemeriksaan terverifikasi
- Zona tenang dijaga tetap bebas
- Kontras bilah kuat
- Rasio aspek tidak berubah
- SVG atau PNG resolusi tinggi
- Tes pemindai produksi
Pertanyaan yang sering diajukan
Buka pertanyaan untuk membaca jawaban teknis yang ringkas.
01Apa itu barcode Code 39?+
Code 39 adalah barcode linear panjang-variabel dengan pemeriksaan diri yang didefinisikan dalam ISO/IEC 16388:2023. Ia juga disebut Code 3 of 9 dan Alpha39. Setiap karakter terdiri dari 9 elemen — 5 batang dan 4 spasi — yang tepatnya 3 di antaranya lebar. Set karakter asli mencakup 43 karakter: huruf kapital A–Z, angka 0–9, dan tujuh karakter khusus. Asterisk berfungsi sebagai pembatas awal dan akhir yang wajib.
02Karakter apa saja yang bisa dienkode oleh Code 39?+
Set asli 43 karakter Code 39 mencakup huruf besar A–Z (26 huruf), digit 0–9 (10), dan tujuh karakter khusus: spasi, tanda hubung, titik, tanda dolar, slash, tanda plus dan tanda persen. Full ASCII Code 39 memperluas cakupan ke semua 128 karakter ASCII menggunakan urutan shift dua karakter, tetapi memerlukan pemindai yang dikonfigurasi untuk mendukung mode Full ASCII.
03Apakah Code 39 masih digunakan?+
Ya. Standar LOGMARS Departemen Pertahanan AS (berdasarkan MIL-STD-1189B) mewajibkan Code 39 untuk penandaan suku cadang rantai pasokan pertahanan. Produsen otomotif dan pemasoknya menggunakan Code 39 dalam konteks pelacakan suku cadang. Banyak sistem gudang dan aset kesehatan warisan juga terus menggunakannya. Namun, untuk penerapan baru tanpa mandat khusus, Code 128 adalah simbologi yang disukai.
04Apa perbedaan antara Code 39 dan Code 128?+
Code 128 (ISO/IEC 15417:2007) mengenkripsi semua 128 karakter ASCII termasuk huruf kecil dan menghasilkan simbol yang lebih pendek untuk data yang setara. Code 128 Code Set C mengenkripsi pasangan digit dalam satu kode kata, kira-kira memotong setengah panjang fisik deretan numerik. Code 39 (ISO/IEC 16388:2023) secara native hanya mengenkripsi 43 karakter, tidak mendukung huruf kecil, dan lebih panjang untuk data yang setara. Gunakan Code 39 hanya ketika peraturan atau sistem lama mengharuskannya.
05Apakah Code 39 memiliki digit pemeriksaan?+
Digit pemeriksaan Code 39 bersifat opsional. ISO/IEC 16388:2023 Lampiran A mendefinisikan algoritma modulo-43: tetapkan setiap karakter nilai dari 0 sampai 42, jumlahkan semua nilai, bagi dengan 43, dan sisa pembagian dipetakan ke karakter pemeriksaan. Beberapa aplikasi menyertakan digit pemeriksaan; yang lain mengandalkan struktur pemeriksaan-diri Code 39 saja. Samakan pengaturan digit pemeriksaan antara pembuat label dan konfigurasi pemindai.
06Apa itu barcode LOGMARS?+
LOGMARS (Logistics Applications of Automated Marking and Reading Symbols) adalah standar Departemen Pertahanan AS untuk pelabelan barcode dalam rantai pasokan pertahanan, berdasarkan MIL-STD-1189B. LOGMARS menetapkan Code 39 sebagai simbologi barcode yang diwajibkan untuk suku cadang, komponen, dan rakitan. Kontraktor pertahanan yang mengirimkan kepada DoD harus menerapkan label Code 39 yang sesuai dengan LOGMARS pada item yang ditentukan.
07Bisakah Code 39 mengenkode huruf kecil?+
Tidak secara native. Set karakter standar 43 karakter hanya mencakup huruf kapital. Full ASCII Code 39 menggunakan urutan pergeseran dua karakter untuk merepresentasikan semua 128 karakter ASCII, termasuk huruf kecil, tetapi ini memerlukan pemindai yang dikonfigurasi secara eksplisit untuk mode Full ASCII. Dekoder Standard Code 39 tidak akan menginterpretasikan urutan pergeseran Full ASCII dengan benar.
08Berapa rasio lebar-ke-sempit dalam Code 39?+
ISO/IEC 16388:2023 menetapkan rasio nominal lebar-ke-sempit sebesar 2,0:1 hingga 3,0:1. Rentang toleransi adalah 1,8:1 hingga 3,4:1. Rasio di bawah 1,8:1 membuat elemen lebar dan sempit sulit dibedakan. Skala non-uniform pada gambar kode batang dapat mengubah rasio dan mendorongnya di luar toleransi, menyebabkan kegagalan pindai.
09Apa itu Full ASCII Code 39?+
Full ASCII Code 39 adalah perpanjangan dari Code 39 yang mengkodekan semua 128 karakter ASCII dengan menggunakan urutan dua karakter. Empat karakter shift — $, /, %, + — digabungkan dengan karakter Code 39 lain untuk merepresentasikan 85 karakter ASCII yang tidak ada dalam set 43 karakter asli. Full ASCII Code 39 didefinisikan dalam ISO/IEC 16388:2023. Pemindai harus dikonfigurasi secara eksplisit untuk mendekode urutan Full ASCII; mode Code 39 standar akan membacanya secara keliru.
10Apakah saya memerlukan lisensi GS1 untuk menggunakan Code 39?+
Tidak. Code 39 mengkodekan data alfanumerik arbitrer tanpa persyaratan lisensi. Ini sepenuhnya dapat digunakan untuk pelabelan internal — penandaan komponen, tag aset, label inventaris — tanpa pendaftaran atau persetujuan. Lisensi GS1 hanya diperlukan ketika data yang dikodekan mencakup GTIN berlisensi GS1 untuk penjualan ritel atau penggunaan rantai pasokan GS1.