TUGAS AKHIR
SISTEM IDENTIFIKASI TIKET PENUMPANG
OTOMATIS : PEMBUAT BARCODE - 128
Diajukan Untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh:
SULISTIYANTO
NIM : 015114026
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
THE AUTOMATIC PASSENGER TICKET
IDENTIFICATION SYSTEM : BARCODE - 128
GENERATOR
FINAL PROJECT
Presented as Partial Fulfillment of the Requirements
To Obtain The Technical Engineering
Degree
In Electrical Engineering
By:
SULISTIYANTO
Student ID Number: 015114026
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
LEMBAR PERSETUJUAN
TUGAS AKHIR
SISTEM IDENTIFIKASI TIKET PENUMPANG
OTOMATIS : PEMBUAT BARCODE - 128
Disusun oleh:
SULISTIYANTO
NIM : 015114026
Telah disetujui oleh :
Pembimbing
LEMBAR PENGESAHAN
TUGAS AKHIR
SISTEM IDENTIFIKASI TIKET PENUMPANG
OTOMATIS : PEMBUAT BARCODE - 128
Disusun oleh:
SULISTIYANTO
NIM : 015114026
Telah dipertahankan di depan Panitia Penguji pada tanggal 22 Desember
2006 dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama
Lengkap Tanda
Tangan
Ketua
: B. Djoko Untoro S, S.Si.,M.T
Sekretaris
: Ir. Iswanjono, M.T
Anggota
: Damar Widjaja, S.T, M.T
Anggota
: Wiwien Widyastuti, S.T., M.T
Yogyakarta, Januari 2007
Fakultas Teknik
Universitas Sanata Dharma
Dekan Fakultas Teknik,
Pernyataan Keaslian Karya
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis
ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, Januari 2007
Penulis
HALAMAN MOTTO DAN PERSEMBAHAN
“
tekad adalah awal dari proses, berusaha adalah bagian penting dari
proses, keberhasilan atau kegagalan adalah akhir dari proses.”
Kupersembahkan tugas akhir ini :
Kepada
Allah SWT
,
Tuhan Semesta Alam
atas hidup, kekuatan, talenta,
mukjizat dan takdir-Nya yang selama ini menyertai langkahku.
Untuk Bapak
Hadi Darsuki
dan Ibu
Sri Yustifah Yuniatun
atas
dukungan, doa, kasih sayang dan bimbingan yang tiada henti, pembelajaran atas
hidup dan kepercayaan yang selama ini aku terima.
Untuk Mbak
Diah “Tiyas” Yusnita Ningtiyas
dan
Febryarto “Ebo”
Hutomo
atas keteladanan dan dorongan semangat untuk menyelesaikan
tugas-tugas akademik saya.
Untuk Mbah, Pakde, Bude, Om, Bulek, Kakak-kakak dan Adik-adik
sepupuku atas saran dan kritik yang memacu saya untuk menyelesaikan tugas
akademikku.
KATA PENGANTAR
Assalamualaikum wr.wb – Salam Sejahtera
Puji syukur Penulis ucapkan kepada Tuhan Yang Maha Esa atas rahmat
dan petunjuk-Nya sehingga Tugas Akhir ini dapat Penulis selesaikan dengan baik.
Penulis menyadari atas keterbatasan Penulis dalam penyelesaian Tugas
Akhir ini, sehingga tanpa adanya bantuan dari pihak lain, maka tidak mungkin
Tugas Akhir dapat diselesaikan dengan baik. Maka pada kesempatan ini Penulis
mengucapkan banyak terima kasih kepada :
1.
Tuhan Yang Maha Esa yang telah memberikan rahmat-Nya berupa
kesehatan jasmani dan rohani serta keselamatan.
2.
Kedua orang tua Penulis, Babé Hadi dan Mama Yustiq, atas doa-doa nya
sehingga membangkitkan semangat Ananda dalam menyelesaikan Tugas
Akhir ini.
3.
Kakanda Tiyas yang selalu memberikan dukungan dan saran untuk
menyelesaikan Tugas Akhir ini, juga Adinda Ebo yang selalu memberikan
kesibukan-kesibukan lain sehingga Tugas Akhir ini harus cepat
diselesaikan.
4.
Bapak Iswanjono yang dengan sabar membimbing Penulis dalam
menyelesaikan Tugas Akhir ini, juga Bapak Djoko Untoro, Bapak Bayu
Primawan, Bapak Damar Widjaja Ibu Prima Ari dan Ibu Wiwien
Widyastuti yang telah bersedia untuk menguji Tugas Akhir Penulis.
5.
Bapak Petrus selaku PA 2001 yang telah bersedia meluangkan waktunya
untuk memonitor Penulis, Bapak Linggo, Bapak, Martanto, Bapak
Tjendro, Bapak Pius dan Ibu Wuri Hariani yang telah membagikan
ilmunya selama masa perkuliahan
7.
Dék Afif yang telah mengenalkan Arthur (AKPRIND) untuk membantu
menjawab persoalan pemrograman, Steve Hanz (UKDW) yang ikut
memberikan saran-sarannya dalam hal
interface
pemrograman, mas Edi
yang telah mengenalkan Shinta (ATMA JAYA) untuk mengenalkan
temannya, saya lupa namanya, untuk memberikan saran-sarannya.
8.
Teman-teman PHK, Hernomo, Indra, Liong, Yuke dan lainnya yang telah
berusaha dengan baik untuk menyelesaikan tugasnya masing-masing tanpa
kenal lelah dan putus asa.
9.
Teman-teman Elektro angkatan 2001, Eko, Pinto, Indra Bagus, ParToni,
Rikhard, Septa, Ulis, Nugroho, Diaz, Ardi, Big & Little Anto,
Tomo,Yudhi dan seluruh rekan yang lain yang tetap kompak untuk saling
bahu membahu membantu sesamanya untuk cepat menyelesaikan kuliah.
10.
Temen-temen “Piala Dunia 2006” ; Steve, Vena dan Yohana.
“Maen Bola
Lagi nYok”
.
Penulis sangat menyadari bahwa laporan Tugas Akhir ini merupakan
awal dan masih memerlukan pengembangan dan penyempurnaan lebih lanjut
supaya laporan ini dapat memberikan informasi yang cukup tentang subjek
bahasan yang dibahas. Penulis harapkan kiranya laporan Tugas Akhir ini dapat
bermanfaat bagi pembaca dan perkembangan ilmu pengetahuan.
Yogyakarta, Januari 2007
DAFTAR ISI
HALAMAN JUDUL
... i
TITLE PAGE
... ii
HALAMAN PERSETUJUAN
... iii
HALAMAN PENGESAHAN
... iv
HALAMAN PERNYATAAN KEASLIAN KARYA
... v
HALAMAN MOTTO DAN PERSEMBAHAN
... vi
KATA PENGANTAR
... vii
DAFTAR ISI
... ix
DAFTAR GAMBAR
... viv
DAFTAR TABEL
... xvii
DAFTAR LAMPIRAN
... xix
INTISARI
... xx
ABSTRACT
... xxi
BAB I PENDAHULUAN
... 1
I.1
Latar
Belakang
Masalah
... 1
I.2
Tujuan
... 1
I.3
Batasan
Masalah
... 2
I.4
Metodologi
Penelitian
... 3
BAB II LANDASAN TEORI
... 4
II.1
Pengertian
Barcode
...
4
II.2
Jenis
Barcode 128
...
4
II.3
Transfer
Data
... 9
II.3.1 Karakteristik
Sinyal
Serial Port
...
9
II.9.2 Konfigurasi
Port
Serial ...
10
II.4
Visual Basic 6.0
...
15
II.4.1 Bahasa
Pemrograman
...
16
II.4.2 Kontrol
Program
...
18
II.4.3. Pengaksesan
Serial Port
Menggunakan Kontrol
MSComm ...
20
II.4.4
Seagate Crystal Report 8
...
21
II.5
Basis
Data
(
Database
) ...
21
II.5.1
Elemen Basis Data ...
22
II.5.2
Langkah Perancangan Basis Data Secara Umum ...
24
II.6 Diagram Alir Data-DAD (
Data Flow Diagram – DFD
) ...
25
II.6.1
Tingkatan Diagram pada Diagram Arus Data (
Data
Flow Diagram
) ……….…….
27
II.7
Analisa
Sistem
... 28
II.7.1
Langkah-langkah Analisa Sistem ...
28
II.8
Desain
Sistem
... 29
BAB III PERANCANGAN
……… 30
III.1
Diagram
Konteks
... 30
III.2
Diagram
Berjenjang ... 30
III.3 DAD Level 0 Untuk Sistem Transaksi ...
32
III.3.1
DAD Level 1 Untuk Masukan Data ...
32
III.3.2 DAD
Level
1
Transaksi
... 33
III.3.3
DAD Level 1 Pembuatan Laporan ...
34
III.3.4
DAD Level 2 Masukan Data Bus ...
34
III.3.5
DAD Level Data Operator ...
35
III.4
Flowchart
Sistem Transaksi ...
36
III.5
Desain
Database
...
38
III.5.1 Konseptual
Database
...
38
III.5.2
Logical
Database
...
38
III.5.3
Physical
Database
...
40
III.6
Aplikasi
Yang
Digunakan
... 40
III.7
Membangun
Basis
Data
... 40
III.8
Membuat Tabel ...
41
III.9
Desain
Form
...
43
III.9.1 Desain
Form Login
...
43
III.9.2 Desain
Form
Menu MDI ...
43
III.9.3 Desain
Form
Transaksi ...
44
III.9.4 Desain
Form
Kursi ...
47
III.9.6 Desain
Form
Upload
...
48
III.9.7 Desain
Form
Armada ...
49
III.9.8 Desain
Form
Password
...
49
III.9.9 Desain
Form
Laporan ...
50
III.9.10 Desain
Form
Pencarian ...
50
III.9.10.a
Form
Pencarian Penumpang ...
51
III.9.10.b
Form
Pencarian Bus ...
51
III.9.11 Desain
Form
Bantuan ...
52
III.9.12 Desain
Form
Tiket ...
52
III.10Desain
Barcode
...
53
BAB IV HASIL DAN PEMBAHASAN
... 54
IV.1
Form Login
...
54
IV.2
Menu
Transaksi... 58
IV.3
Menu
Upload
... 63
IV.4
Meu
Laporan
... 66
IV.5
Menu
Password
...
69
IV.6
Menu
Armada
... 72
IV.7
Form
Pencarian ...
74
IV.7.1
Form
Pencarian Penumpang ...
74
IV.7.2
Form
Pencarian Bus ...
76
IV.8 Cetakan Tiket ...
78
BAB V KESIMPULAN DAN SARAN
... 81
V.1
Kesimpulan
... 81
V.2
Saran
... 81
DAFTAR GAMBAR
Gambar 1.3
Blok diagram sistem informasi transaksi ...
2
Gambar 2.2
Struktur
barcode
kode 128 ...
8
Gambar 2.3
Konektor serial DB-9 ... 10
Gambar 2.4
Konfigurasi pengkabelan pada DB-9 ... 10
Gambar 2.5
Contoh Entitas ... 22
Gambar 2.6
Contoh Atribut ... 22
Gambar 2.7
Contoh Relasi ... 23
Gambar 2.8
Contoh Relasi Satu-Satu ... 23
Gambar 2.9
Contoh Relasi Satu-Banyak ... 24
Gambar 2.10
Contoh Relasi Banyak-Banyak ... 24
Gambar 3.1
Diagram konteks sistem informasi transaksi ... 30
Gambar 3.2
Diagram berjenjang sistem informasi transaksi ... 31
Gambar 3.3
DAD level 0 untuk sistem transaksi ... 32
Gambar 3.3.1
DAD
level
1 untuk masukkan data bus dan
user
... 33
Gambar 3.3.2
DAD level 1 untuk masukkan data transaksi ... 33
Gambar 3.3.3
DAD pembuatan laporan ... 34
Gambar 3.3.4
DAD level 2 untuk masukkan data armada ... 35
Gambar 3.3.5
DAD level 2 data operator ... 36
Gambar 3.4
Flowchart
sistem transaksi ... 37
Gambar 3.5.1
Entity Relationship Diagram
(ERD) ... 39
Gambar 3.5.2
Logical Database
... 40
Gambar 3.9.1
Desain
form login
... 43
Gambar 3.9.2
Desain
form
Menu MDI ... 44
Gambar 3.9.3
Desain
form
transaksi ... 45
Gambar 3.9.4
Desain
form
kursi ... 47
Gambar 3.9.5
Desain
form
status kursi ...
48
Gambar 3.9.6
Desain
form upload
... 48
Gambar 3.9.8
Desain
form Password
... 49
Gambar 3.9.9
Desain
form
laporan ... 50
Gambar 3.9.10
Desain
form
Pencarian ... 50
Gambar 3.9.10.a
Desain
form
pencarian penumpang ... 51
Gambar 3.9.10.b Desain
form
pencarian bus ... 51
Gambar 3.9.11
Desain
form
bantuan ... 52
Gambar 3.9.12
Desain
form
tiket ... 52
Gambar 4.1.1
Form login
... 54
Gambar 4.1.2
Message box
yang terjadi karena kesalahan password ... 55
Gambar 4.1.3
Message box
yang terjadi karena kesalah kode id ... 55
Gambar 4.1.4
Form
MDImenu bagi administrator ... 56
Gambar 4.1.5
Form
MDI menu bagi
user
... 57
Gambar 4.2.1
Tampilan saat proses transaksi ... 58
Gambar 4.2.2
Message box
untuk data yang masih kosong ... 60
Gambar 4.2.3
Message box
kursi terisi ... 60
Gambar 4.2.4
Message box
semua kursi telah terisi ... 61
Gambar 4.2.5
Message box
semua kursi masih kosong ... 61
Gambar 4.2.6
Form
kursi yang telah terisi penuh ... 62
Gambar 4.3.1
Message box
bila COM1 belum siap ... 63
Gambar 4.3.2
Form upload
bila COM1 belum siap ... 64
Gambar 4.3.3
Message box
bila tidak ada data pada
record
penumpang ... 65
Gambar 4.3.4
Message box
bila data telah selesai terkirim ... 65
Gambar 4.4.1
Form
laporan ... 67
Gambar 4.4.2
Message box
untuk pilihan bus yang kosong ... 68
Gambar 4.4.3
Tampilan laporan ... 68
Gambar 4.5.1
Form password
... 69
Gambar 4.5.2
Message box
yang muncul karena membiarkan
field
id kosong ... 70
Gambar 4.5.3
Message box
yang muncul karena tidak memilih status
user
... 70
password
kosong ...
Gambar 4.5.6
Message box
yang muncul karena data yang diisikan pada
field
password
dan konfirmasi
password
tidak sama ...
71
Gambar 4.5.7
Message box
yang muncul karena
password
sudah dipakai oleh
user
lain ...
72
Gambar 4.6.1
Tampilan
form
bila data sudah ada pada
record
data ... 72
Gambar 4.6.2
Message box
bila terjadi salah pengisian ... 73
Gambar 4.6.3
Message box
bila
input
data bus melebihi 99 bus ... 73
Gambar 4.7
Form
pencarian ... 74
Gambar 4.7.1
Form
pencarian penumpang ... 75
Gambar 4.7.2
Form
pencarian bus ... 78
Gambar 4.8
Cetakan tiket penumpang ... 79
DAFTAR TABEL
Tabel 2.1
Set karakter kode 128 ...
4
Tabel 2.2
Konfigurasi pin dan nama sinyal konektor serial DB-9 ... 11
Tabel 2.3
Nama register yang digunakan beserta alamatnya ... 12
Tabel 2.4
Angka pembagi
clock
pada IC UART ... 13
Tabel 2.5
Tabel rincian bit pada
Interrupt Enable Register
... 13
Tabel 2.6
Tabel rincian bit pada
Interrupt Identification Register
... 14
Tabel 2.7
Rincian bit pada
Line Control Register
... 14
Tabel 2.8
Rincian bit pada
Line Status Register
... 15
Tabel 2.9
Tipe Data ... 16
Tabel 2.10
Deklarasi Implisit ... 17
Tabel 2.11
Operator Matematik ... 17
Tabel 2.12
Operator Perbandingan ... 18
Tabel 2.13
Operator Logika ... 18
Tabel 3.8.1 Struktur Tabel Transaksi ... 41
Tabel 3.8.2 Struktur Tabel Kursi ... 42
Tabel 3.8.3 Struktu Tabel
User
... 42
Tabel 3.8.4 Struktur Tabel Armada ... 42
Tabel 3.10
Spesifikasi Karakter Pada
Barcode
... 53
Tabel 4.1
Pengaturan
form login
... 54
Tabel 4.1.1 Pengaturan
form
menu MDI ... 57
Tabel 4.2
Pengaturan
form
transaksi ... 59
Tabel 4.2.1 Pengaturan obyek dan properti
form
kursi ... 62
Tabel 4.2.2 Pengaturan obyek dan properti
form
status kursi ... 63
Tabel 4.3
Pengaturan obyek dan properti
form upload
... 64
Tabel 4.4
Obyek dan properti
form
laporan ... 67
Tabel 4.5
Obyek dan properti
form set password
... 69
Tabel 4.6
Pengaturan obyek dan properti
form
armada ... 73
DAFTAR LAMPIRAN
Intisari
Suatu sarana transportasi massa harus memiliki sistem yang baik agar dalam
pelayanannya dapat memuaskan konsumen. Salah satu cara untuk mendapatkan
kepuasan konsumen yaitu dengan membuat sebuah sistem informasi penjualan tiket yang
baik dan mampu mencetak tiket yang mempunyai kode-kode unik agar tidak mudah
dipalsukan oleh oknum yang tidak bertanggung jawab.
Untuk membuat sistem tersebut digunakan bahasa pemrograman Visual Basic 6.0 untuk
pembuatan GUI (Graphical User Interface), Seagate Crystal Report 8 untuk pembuatan
laporan transaksi dan Microsoft Access 20003 sebagai basis data.
Yang menjadi fokus pada sistem ini adalah pengiriman kode-kode (10 karakter) ke
memori mikrokontroler melalui kabel RS 232 dengan transfer baudrate sebesar 9600 bps
dan pencetakan kode pada tiket dengan menggunakan barcode jenis 128 subset C.
Dalam hal ini penggunaan baudrate pada sistem informasi harus sinkron dengan
baudrate yang digunakan oleh mikrokontroler agar komunikasi antar pheriperal dapat
terjadi. Pada barcode, lebar modul yang tercetak menurut perhitungan teoritis adalah
0.056 cm, sedangkan hasil yang tercetak pada tiket adalah 0.053 cm.
Abstract
Mass transportation must have a good system to obtain the satisfication of consumer.
One of the ways to get the satisfication is to create a good ticketing system that able to
print an unique ticket in order to make it hard to duplicate.
To craeate the system, we use Visual Basic 6.0 to make the graphical user interfae (GUI),
Seagate Crystal Report 8 to create the transaction report and Microsoft Access 2003 for
the database.
The focus of this system are how to send the codes (10 character) to the microcontroller
memories via RS-232 with 9600 bps of baudrate and how to print the code on the ticket
by using the subset C code 128. In this information system, we have to synchronize the
baudrate beetween microcontroller and PC before we can communicate it. Width of the
barcode is 0.056 cm, theoritically. Meanwhile, the result on the printing ticket is 0.053
cm
BAB I
PENDAHULUAN
I.1.
Latar Belakang Masalah
Kualitas pelayanan dalam bidang transportasi saat ini yang dirasakan masih
kurang maksimal menjadi perhatian bagi kami. Rendahnya kualitas pelayanan
tersebut menyebabkan gangguan-gangguan terhadap tata cara pelaksanaan
transportasi antar daerah, kesalahan identifikasi penumpang, kesalahan penumpang
mengidentifikasi sarana transportasi yang dipakai, dan praktek percaloan, serta
hal-hal yang lebih cenderung merugikan pihak pemakai sarana transportasi. Akibat
banyaknya kerugian yang dialami penumpang, maka perlu beberapa cara untuk
mengatasinya. Identifikasi yang akurat terhadap tiket penumpang diperlukan guna
menuju perbaikan pelayanan transportasi yang memuaskan.
Untuk itu, pada penelitian ini akan dilakukan identifikasi tiket penumpang
dengan menggunakan Mikrokontroler AT89S51 sebagai pemroses
input / output
serta
pengendali gerak pintu bus otomatis. Identifikasi tiket penumpang dapat dilakukan
dengan membuat suatu tiket yang mempunyai
barcode
dan suatu perangkat berupa
barcode reader
yang digunakan sebagai pembaca tiket penumpang tersebut.
Barcode
yang digunakan adalah tipe
barcode
128. Tipe
barcode
128 ini mampu mengkodekan
seluruh karakter
ASCII
(128 karakter)
I.2.
Tujuan
Penelitian ini bertujuan untuk membuat suatu program sistem informasi
penjualan tiket yang mampu mempermudah identifikasi penumpang sehingga
diharapkan dapat mendukung peningkatan pelayanan transportasi.
I.3.
Batasan Masalah
data-data penumpang, pencetakan tiket dan pengiriman data-data-data-data penumpang seperti yang
terlihat pada gambar 1.3.
Passenger (s)
Pengisian identitas
Barcode
ticket
Pengkodean tiket
Administrator
Transfer data
penumpang
Gambar 1.3: Blok diagram sistem informasi transaksi
Pembuatan
interface
pada proses
input
menggunakan bahasa pemrograman
Visual Basic
sebagai program untuk memasukan data-data penumpang sebagai
input
dan kemudian ditampilkan secara visual.
Sistem akan mengidentifikasi data-data penumpang yang berupa nama,
alamat, telepon, bus yang digunakan, tujuan, hari dan jam keberangkatan serta nomor
kursi penumpang. Sedangkan jumlah maksimal armada yang dapat disimpan
sebanyak 99 armada dengan kapasitas 32 kursi pada setiap armada (model 2-2).
Setiap penumpang mempunyai kode unik berjumlah 10 karakter.
I.4.
Metodologi Penelitian
Dalam melaksanakan penelitian ini peneliti melakukan
browsing
pada
situs-situs internet yang berhubungan dengan penelitian dan juga membaca buku-buku dan
juga laporan-laporan Tugas Akhir yang berada di perpustakaan Universitas Sanata
Dharma sebagai referensi terhadap penelitian yang dilakukan. Untuk membuat
program sistem informasi tiket dan pembuat
barcode
digunakan
software Microsoft
Visual Basic 6.0
sebagai
GUI
(Graphical User Interface)
,
Seagate Crystal Report 8
I.5.
Sistematika Penulisan
Penulisan laporan Tugas Akhir ini disusun kedalam beberapa bab sebagai
berikut :
BAB I
: PENDAHULUAN
Bab ini menguraikan latar belakang penelitian, tujuan penelitian,
batasan masalah, metodologi penelitian dan sistematika penulisan
laporan.
BAB II
: LANDASAN TEORI
Bab ini menguraikan teori singkat mengenai
barcode
tipe 128,
komunikasi serial menggunakan RS-232, basis data dan pengenalan
terhadap bahasa pemrograman
Visual Basic 6
BAB III : PERANCANGAN
Bab ini menguraikan tentang rancangan basis data dan desain
tampilan
form
yang akan diimplementasikan pada program.
BAB IV : HASIL DAN PEMBAHASAN
Bab ini berisi
running
program yang sebelumnya telah dirancang
pada Bab III dan juga pembahasan mengenai pencetakan
barcode
pada tiket
BAB V
: KESIMPULAN DAN SARAN
BAB II
LANDASAN T
EORI
II.1.
Pengertian Barcode
Barcode
pada dasarnya adalah susunan garis vertikal hitam dan putih dengan
ketebalan yang berbeda, sangat sederhana tapi juga sangat berguna, dengan kegunaan
untuk menyimpan data-data spesifik dengan mudah dan murah misalnya kode
produksi, tanggal kadaluarsa, dan nomor identitas.
Jenis
barcode
sangatlah banyak, mulai dari yang tradisional, yaitu 1 dimensi
sampai dengan barcode yang multi dimensi.
II.2.
Jenis Barcode 128
Kode 128 adalah
barcode
dengan kerapatan tinggi dan mampu mengkodekan
seluruh simbol ASCII (128 karakter). Setiap karakter pada Kode 128 dikodekan oleh
3 bar dan 3 spasi dengan ketebalan masing-masing elemen 1 sampai 4 kali ketebalan
minimum (modul). Hal yang perlu diperhatikan pada kode 128 adalah lebar tiap
modulnya. Karakter kode 128 terdiri dari 11 modul kecuali untuk stop karakter yang
terdiri dari 4 bar dan 3 spasi (13 modul). Jumlah total modul untuk bar selalu genap
sedangkan untuk spasi selalu ganjil, selain itu kode 128 memiliki 3 start karakter
yang berbeda (A, B dan C). Tabel 2.1 menunjukkan tabel set karakter kode 128,
angka 1 dan 2 pada kolom Bar (B) / Space (S) Pattern menunjukkan jumlah dari
bar
atau
space
tersebut.
Tabel 2.1 : Set karakter kode 128
V a lu e
Code Se t
A
Code Se t
B
Code Se t
C
Ba r / Spa ce Pa t t e r n
B S B S B S
Tabel 2.1 (lanjutan) : Set karakter kode 128
V a lu e
Code Se t
A
Code Se t
B
Code Se t
C
Ba r / Spa ce Pa t t e r n
B S B S B S
4
$
$
04
1 2 1 3 2 2
5
%
%
05
1 3 1 2 2 2
6
&
&
06
1 2 2 2 1 3
7
'
'
07
1 2 2 3 1 2
8
(
(
08
1 3 2 2 1 2
9
)
)
09
2 2 1 2 1 3
10
*
*
10
2 2 1 3 1 2
11
+
+
11
2 3 1 2 1 2
12
,
,
12
1 1 2 2 3 2
13
-
-
13
1 2 2 1 3 2
14
.
.
14
1 2 2 2 3 1
15
/
/
15
1 1 3 2 2 2
16
0
0
16
1 2 3 1 2 2
17
1
1
17
1 2 3 2 2 1
18
2
2
18
2 2 3 2 1 1
19
3
3
19
2 2 1 1 3 2
20
4
4
20
2 2 1 2 3 1
21
5
5
21
2 1 3 2 1 2
22
6
6
22
2 2 3 1 1 2
23
7
7
23
3 1 2 1 3 1
24
8
8
24
3 1 1 2 2 2
25
9
9
25
3 2 1 1 2 2
26
:
:
26
3 2 1 2 2 1
27
;
;
27
3 1 2 2 1 2
28
<
<
28
3 2 2 1 1 2
29
=
=
29
3 2 2 2 1 1
30
>
>
30
2 1 2 1 2 3
31
?
?
31
2 1 2 3 2 1
32
@
@
32
2 3 2 1 2 1
33
A
A
33
1 1 1 3 2 3
34
B
B
34
1 3 1 1 2 3
35
C
C
35
1 3 1 3 2 1
36
D
D
36
1 1 2 3 1 3
37
E
E
37
1 3 2 1 1 3
Tabel 2.1 (lanjutan) : Set karakter kode 128
V a lu e
Code Se t
A
Code Se t
B
Code Se t
C
Ba r / Spa ce Pa t t e r n
B S B S B S
39
G
G
39
2 1 1 3 1 3
40
H
H
40
2 3 1 1 1 3
41
I
I
41
2 3 1 3 1 1
42
J
J
42
1 1 2 1 3 3
43
K
K
43
1 1 2 3 3 1
44
L
L
44
1 3 2 1 3 1
45
M
M
45
1 1 3 1 2 3
46
N
N
46
1 1 3 3 2 1
47
O
O
47
1 3 3 1 2 1
48
P
P
48
3 1 3 1 2 1
49
Q
Q
49
2 1 1 3 3 1
50
R
R
50
2 3 1 1 3 1
51
S
S
51
2 1 3 1 1 3
52
T
T
52
2 1 3 3 1 1
53
U
U
53
2 1 3 1 3 1
54
V
V
54
3 1 1 1 2 3
55
W
W
55
3 1 1 3 2 1
56
X
X
56
3 3 1 1 2 1
57
Y
Y
57
3 1 2 1 1 3
58
Z
Z
58
3 1 2 3 1 1
59
[
[
59
3 3 2 1 1 1
60
\
\
60
3 1 4 1 1 1
61
]
]
61
2 2 1 4 1 1
62
^
^
62
4 3 1 1 1 1
63
_
_
63
1 1 1 2 2 4
64
NUL
`
64
1 1 1 4 2 2
65
SOH
a
65
1 2 1 1 2 4
66
STX
b
66
1 2 1 4 2 1
67
ETX
c
67
1 4 1 1 2 2
68
EOT
d
68
1 4 1 2 2 1
69
ENQ
e
69
1 1 2 2 1 4
70
ACK
f
70
1 1 2 4 1 2
71
BEL
g
71
1 2 2 1 1 4
72
BS
h
72
1 2 2 4 1 1
Tabel 2.1 (lanjutan) : Set karakter kode 128
V a lu e
Code Se t
A
Code Se t
B
Code Se t
C
Ba r / Spa ce Pa t t e r n
B S B S B S
74
LF
j
74
1 4 2 2 1 1
75
VT
k
75
2 4 1 2 1 1
76
FF
I
76
2 2 1 1 1 4
77
CR
m
77
4 1 3 1 1 1
78
SO
n
78
2 4 1 1 1 2
79
SI
o
79
1 3 4 1 1 1
80
DLE
p
80
1 1 1 2 4 2
81
DC1
q
81
1 2 1 1 4 2
82
DC2
r
82
1 2 1 2 4 1
83
DC3
s
83
1 1 4 2 1 2
84
DC4
t
84
1 2 4 1 1 2
85
NAK
u
85
1 2 4 2 1 1
86
SYN
v
86
4 1 1 2 1 2
87
ETB
w
87
4 2 1 1 1 2
88
CAN
x
88
4 2 1 2 1 1
89
EM
y
89
2 1 2 1 4 1
Kode 128 memiliki fitur untuk dapat bergeser dari subset satu ke subset yang
lain, misalnya teks CODE A pada subset B membuat
message
bergeser menjadi
subset A, sedangkan SHIFT menyebabkan satu karakter didepannya bergeser subset
(ini hanya berlaku untuk subset A ke subset B atau sebaliknya).
Contoh struktur
barcode
kode 128 dapat dilihat pada gambar 2.2
Gambar 2.2 Struktur barcode kode 128
Tinggi
barcode
minimum adalah 0.15 kali lebar
barcode
, dan lebar
barcode
dinyatakan dengan rumus :
L = (11C + 35) X ... (2.1)
Untuk
alpha-numeric
atau
Code A
dan
Code B
dan
L = (5.5C + 35) X ... (2.2)
Untuk
double density numeric
atau
Code C
.
L adalah lebar total
barcode
, C adalah jumlah karakter (tidak termasuk start
karakter , stop dan c
hecksum
) dan X adalah lebar modul (elemen yang tersempit).
Code C
dinyatakan sebagai
double density numeric
dan dalam perhitungan
lebar karakternya hanya 5.5 X disebabkan karena satu karakter
Code C
mewakili 2
digit numeric.
1. Pesan yang akan dikodekan :
Code 128
2. Karakter
:
StartB
C
o
d
e
1
2
8
3. Nilai karakter :
104 35
79
68
69
0 17
18
24
4. Penempatan posis :
- 1 2 3 4 5 6 7 8
5. Perhitungan (
103
posisi
x
karakter
nilai
) :
104 + 35 + 158 + 204 + 276 + 0 + 102 + 126 +
192 = 1197
1197 / 103 = 11 sisa 64 ⇒ ( ‘ )
6. Pesan Akhir :
StartBCode 128‘ STOP
II.3.
Transfer Data
Komunikasi data serial ada dua cara, yaitu sinkron dan asinkron. Pada
komunikasi sinkron,
clock
dikirimkan bersama-sama dengan data serial. Sedangkan
pada komunikasi asinkron,
clock
tidak dikirimkan bersama data serial namun
dibangkitkan sendiri baik pada sisi pengirim maupun pada sisi penerima.
Serial port
pada IBM PC termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh
UART (
Universal Asynchronous Receiver/Transmitter
). IC UART dibuat khusus
untuk mengubah data paralel menjadi data serial dan menerima data serial yang
kemudian diubah kembali menjadi data paralel.
Pada UART, kecepatan pengiriman data (
Baud Rate
) dan fase
clock
pada sisi
transmitter
dan pada sisi
receiver
harus sinkron. Untuk itu diperlukan sinkronisasi
antara
transmitter
dan
receiver
. Hal ini dilakukan oleh bit “
Start
” dan bit “
Stop
”.
II.3.1.
Karakteristik Sinyal Serial Port
Standar sinyal komunikasi serial RS-232 dikembangkan oleh
Electronic
Industry Association and the Telecommunications Industry Association
(EIA/TIA)
dan dipublikasikan pertama kali tahun 1962. Standar ini hanya menyangkut
komunikasi data antar komputer (
Data Terminal Equipment
– DTE) dengan alat-alat
pelengkap komputer (
Data Circuit – Terminating Equipment
– DCE). Standar sinyal
RS-232 memiliki ketentuan level tegangan sebagai berikut :
3.
Daerah tegangan antara –3 Volt sampai 3 Volt adalah
invalid level
(tidak memiliki level logika, sehingga harus dihindari)
4.
Daerah tegangan dibawah –25 Volt dan di atas 25 Volt harus dihindari
untuk mencegah kerusakan alat.
II.3.2.
Konfigurasi Port Serial
Gambar 2.3 adalah gambar konektor
serial port
DB-9 pada bagian belakang
CPU. Pada komputer IBM PC kompatibel biasanya ditemukan dua konektor
serial
port
DB-9 yang biasa dinamai COM1 dan COM2
DB -
9 8 7 6
5 4 3 2 1
Data Terminal Ready
Signal Ground
Transmitted Data
Received Data
Received Line Signal Detector
Ring Indicator
Clear To Send
Request To Send
DCE Ready
Gambar 2.3 Konektor serial DB-9
Sedangkan untuk koneksi pin pada DB-9
diperlihatkan pada gambar 2.4
2 3 5 4 6 1 7 8
Gambar 2.4 : Konfigurasi pengkabelan pada DB-9
Tabel 2.2 : Konfigurasi pin dan nama sinyal konektor serial DB-9
No.
Pin
Nama Sinyal
Direction
Keterangan
1 DCD
In
Data Carrier Detect / Received
Line Signal Detect
2 RxD
In
Receive
Data
3 TxD
Out
Transmit
Data
4
DTR
Out
Data Terminal Ready
5 GND
-
Ground
6
DSR
In
Data Set Ready
7
RST
Out
Request to Send
8
CTS
In
Clear to Send
9 RI
In
Ring
Indicator
Keterangan
mengenai fungsi saluran RS232 pada konektor DB-9 pada tabel
2.2 adalah sebagai berikut :
1.
Received Line Signal Detect / Data Carrier Detect (DCD)
, dengan saluran
ini DCE memberitahukan ke DTE bahwa pada terminal masukan data
masuk.
2.
Receive Data
, digunakan DTE menerima data dari DCE
3.
Transmit Data
, digunakan DTE mengirimkan data ke DCE
4.
Data Terminal Ready
, pada saluran ini DTE memberitahukan kesiapan
terminalnya
5.
Signal Ground
, saluran
ground
6.
Data Set Ready (DSR)
, sinyal aktif pada saluran ini menunjukkan bahwa
DCE sudah siap
7.
Request To Send
, dengan saluran ini DCE diminta mengirim data oleh
DTE
8.
Clear to Send
, dengan saluran ini DCE memberitahukan bahwa DTE
boleh mulai mengirim data
9.
Ring Indicator,
pada saluran ini DCE memberitahu ke DTE bahwa sebuah
stasiun menghendaki hubungan dengannya
COM1 adalah 1016 (3F8h) dan COM2 760 (2F8h), tergantung dari komputer yang
digunakan.
Setelah diketahui
base address
-nya, maka alamat register-register yang
digunakan untuk komunikasi
serial port
ini dapat ditentukan. Table 2.3 berisi
register-register tersebut beserta alamatnya
Table 2.3 : Nama register yang digunakan beserta alamatnya
No
Nama register
COM1
COM2
1
Tx Buffer
3F8h 2F8h
2
Rx Buffer
3F8h 2F8h
3
Baud rate Divisor Latch LSB
3F8h 2F8h
4
Baud rate Diisor Latch MSB
3F9h 2F9h
5
Interrupt Enable Register
3F9h 2F9h
6
Interupt Identification Register
3Fah 2FAh
7
Line Control Register
3FBh 2FBh
8
Modem Control Register
3FCh 2FCh
9
Line Status Register
3FDh 2FDh
10
Modem Status Register
3Feh 2FEh
Keterangan mengenai fungsi register-register pada table 2.3 adalah sebagai berikut :
1.
TX Buffer
, digunakan untuk menampung dan menyimpan data yang akan
dikirimkan ke
serial port
2.
RX Buffer
, digunakan untuk menampung dan menyimpan data dari DCE
3.
Baudrate Divisor Latch LSB
, digunakan untuk menampung
byte
bobot
rendah untuk pembagi
clock
pada IC UART agar didapat
baudrate
yang
tepat
Tabel 2.4 : Angka pembagi clock pada IC UART
Baudrate
(bps) Angka Pembagi (dalam heksa)
300 0180
600 0C00
1200 0060
1800 0040
2400 0030
4800 0018
9600 000C
Sebagai catatan, register
baudrate divisor latch
ini bisa diisi jika bit 7
pada
Line Control Register
diisi 1
5.
Interrupt Enable Register
, digunakan untuk mengatur interupsi apa saja
yang akan dilayani komputer. Berikut adalah tabel rincian bit pada
Interrupt Enable Register
Tabel 2.5 : Tabel rincian bit pada Interrupt Enable Register
Nomor Bit
Keterangan
0
1: Interupsi akan diaktifkan jika menerima data
1
1: Interupsi akan diaktifkan jika register
Tx
kosong
2
1: Interupsi diaktifkan jika ada perubahan keadaan pada
Line
Status Register
3
1: Interupsi diaktifkan jika ada perubahan keadaan pada
Modem
Status Register
4, 5, 6, 7
Diisi 0
Tabel 2.6 : Tabel rincian bit pada Interrupt Identification Register
Nomor Bit
Keterangan
0
0: Interupsi menunggu
1:
No interrupt pending
1 dan 2
00: Prioritas tertinggi oleh
Line Status Register
01: Prioritas tertinggi oleh register
Rx
jika menerima data
10: Prioritas tertingi oleh register
Tx
jika telah kosong
11: Prioritas tertinggi oleh
Modem Status Register
3, 4, 5, 6, 7 Diisi 0
7.
Line Control Register
, digunakan untuk menentukan jumlah
bit
data,
jumlah
bit
pariti, jumlah
bit
stop, serta untuk menentukan apakah
baudrate
divisor
dapat diubah atau tidak. Tabel 2.7 menunjukkan rincian bit pada
Line Control Register
Tabel 2.7 : Rincian bit pada Line Control Register
Nomor Bit
Keterangan
0 dan 1
Jumlah bit data
00: Jumlah bit data adalah 5
01: Jumlah bit data adalah 6
10: Jumlah bit data adalah 7
11: Jumlah bit data adalah 8
2
Bit Stop
0: Jumlah bit stop adalah 1
1: Jumlah bit stop adalah 1.5 untuk 5 bit data dan 2 untuk 6
hingga 8 bit data
3
Bit Pariti
0: Tanpa bit paritas
1: Dengan bit paritas
4
0: Paritas ganjil
1: Paritas genap
Tabel 2.7 (lanjutan) : Rincian bit pada Line Control Register
6
0:
Set break control
tidak diaktifkan
1:
Set break control
diaktifkan
7
0:
Baudrate divisor
tidak dapat diaktifkan
1:
Baudrate divisor
dapat diakses
8.
Modem Control Register
, digunakan untuk mengatur saluran pengatur
modem, terutama saluran
DTR
dan saluran
RST.
9.
Line Status Register
, digunakan untuk menampung bit-bit yang
menyatakan keadaan penerimaan atau pengiriman data dan status
kesalahan operasi. Tabel 2.8 menunjukkan rincian bit pada
Line Status
Register
Tabel 2.8 : Rincian bit pada Line Status Register
Nomor bit
Keterangan
0
1: Menyatakan adanya data yang masuk pada
buffer
Rx
1
1: Data yang masuk mengalami
over run
2
1: Terjadi kesalahan pada bit paritas
3
1: Terjadi kesalahan
flaming
4 1:
Terjadi
break interrupt
5
1: Menyatakan bahwa register
Tx
telah kosong
6
1: Menyatakan bahwa
Transmitter
Shift Register
telah
kosong
7 Diisi
0
10.
Modem Status Register
, digunakan untuk menampung bit-bit yang
menyatakan status dari saluran hubungan dengan modem.
II.4.
Visual Basic 6.0
Basic
yang dikerjakan pertama kali adalah membuat tampilan program terlebih
dahulu, kemudian dilanjutkan dengan membuat kode yang akan digunakan oleh
program.
II.4.1.
Bahasa Pemrograman
Untuk mendapatkan hasil akhir program, harus dilakukan pengkodean pada
obyek-obyek
Visual Basic
. Sesuai namanya, maka
Visual Basi
c menggunakan bahasa
pemrograman
Basic
. Namun terdapat beberapa perbedaan bahasa yang digunakan,
yang disebabkan karena bahasa
Basic
konvensional menggunakan
DOS
.
A.
Tipe Data
Visual Basic 6 memiliki tujuh jenis data, yaitu
Numeric, String, Boolean,
Date, Object, Byte
dan
Variant
. Adapun
Numeric
dibedakan atas
Integer, Long,
Single, Double
dan
Currency
. Masing-masing tipe memiliki batas nilai tersendiri,
seperti yang ditunjukkan pada tabel 2.9
Tabel 2.9: Tipe Data
Tipe Data
Rentang Nilai
Ukuran
Integer
-32768 s/d 32767
2 byte
Long Integer
-2147483648 s/d 2147483648
4 byte
Negatif : -3.402823E38 s/d –1.401298E-45
Single
Positif : 1.401298E-45 s/d 3.402823E38
4 byte
Negatif : -1.79769313486232E308 s/d -4.9406564584124E-324
Double
Positif : 4.9406564584124E-324 s/d 1.79769313486232E308
8 byte
Currency
-922337213685477.5808 s/d 922337203685477.5807
8 byte
String
0 s/d 2 milyar karakter
1 byte/kar
Boolean
True atau False
2
Date
1 Januari 100 s/d 31 Desember 9999
8 byte
Object
Referensi object
4 byte
Byte
0 s/d 255
1 byte
B.
Variabel
Variabel adalah suatu tempat dalam memori komputer yang diberi nama dan
dialokasikan untuk menampung data. Sesuai dengan data yang ditampung, variabel
harus mempunyai tipe data yang sesuai isinya. Terdapat dua cara untuk
mendeklarasikan sebuah variabel, yaitu dengan cara eksplisit dan implisit.
1.
Deklarasi Eksplisit, dengan menggunakan perintah “DIM” pada awal
prosedur. Contoh :
Dim
Nama
As
String
2.
Deklarasi implisit, dengan menggunakan simbol di belakang nama
variabel yang merepresentasikan tipe data yang digunakan. Petunjuk
deklarasi secara implisit ditunjukkan pada tabel 2.10
Tabel 2.10: Deklarasi Implisit
Tipe Data
Simbol karakter
Contoh pemakaian
Integer
%
Angka% = 100
Long Integer
&
Angka& = 214748367
Single
!
Angka! = 21456996800
Double
#
Konstanta_Pi# = 3.1415926535
Currency
@
Saldo@ = 1000.50
String
$
Nama$ = “TeknikElektro”
C.
Operator
Operator digunakan pada Visual Basic untuk memanipulasi data maupun
untuk melakukan penghitungan. Operator dapat dikelompokkan menjadi tiga jenis,
yaitu operator matematik seperti yang ditunjukkan pada tabel 2.11, operator
perbandingan seperti yang ditunjukkan pada tabel 2.12, dan operator logika seperti
yang ditunjukkan pada tabel 2.13.
Tabel 2.11: Operator Matematik
Operator
Operasi
^ Pemangkatan
- Tanda
negatif
* , /
Perkalian, pembagian
\ Pembagian
integer
Tabel 2.11 (lanjutan) : Operator Matematik
+ , -
Penambahan dan pengurangan
+ , &
Penggabungan string
Tabel 2.12: Operator Perbandingan
Operator
Keterangan
= Sama
dengan
<>
Tidak sama dengan
< Lebih
kecil
> Lebih
besar
<=
Lebih kecil atau sama dengan
>=
Lebih besar atau sama dengan
Like
Mempunyai ciri yang sesuai
Is
Sama referensi objek
Tabel 2.13: Operator Logika
Operator
Keterangan
NOT Tidak
AND Dan
OR Atau
XOR Eksklusif
OR
EQV Ekuivalen
IMP Implikasi
II.4.2.
Kontrol Program
Kontrol program pada
Visual Basic
meliputi kontrol pertimbangan kondisi
dan keputusan, kontrol pengulangan serta kontrol penyaluran alternatif.
1.
Kontrol pertimbangan kondisi :
If...Else
Dengan pernyataan ini dapat dites suatu kondisi tertentu dan kemudian
menentukan suatu tindakan jika kondisi tersebut dipenuhi. Sintaknya
adalah sebagai berikut :
If
<syarat kondisi>
then
<pernyataan>
If
<syarat kondisi>
then
<pernyataan
pertama>
<pernyataan
kedua>
....
<pernyataan ke – n>
End I f
2.
Kontrol Pengulangan : Do...Loop
Pernyataan ini dapat digunakan untuk perulangan suatu blok pernyataan
sampai dipenuhinya syarat kondisi yang ditetapkannya. Sintaknya adalah
sebagai berikut :
Do While
<syarat
kondisi>
<blok
pernyataan>
Loop
Dengan pernyataan
Until
:
Do
<blok pernyataan>
Loop Until
<syarat kondisi>
3.
Kontrol penyaluran alternatif :
GoTo
Perintah GoTo digunakan untuk melakukan pencabangan ke suatu baris
label tertentu. Dengan perintah ini, program dapat langsung melompat ke
baris tertentu sehingga kode-kode program yang dilewatinya tidak
dieksekusi. Sintaknya adalah sebagai berikut :
GoTo
<nama
label>
<blok
pernyataan>
Kontrol program di atas adalah sebagian dari beberapa
syntax
yang tersedia di
Visual Basic
. Untuk penggunaan lebih kompleks dapat menggunakan
syntax-syntax
yang berbeda jenis dan fungsinya.
II.4.3.
Pengaksesan Serial Port Menggunakan Kontrol MSComm
Dalam
Visual Basic
disediakan
Custom Control
untuk komunikasi serial yaitu
Communication Control
(MSComm). Setiap MSComm hanya menangani satu
serial
port
, sehingga bila diinginkan menggunakan lebih dari satu
serial port
, harus
menggunakan MSComm sebanyak
serial
port
yang kita pakai.
Properti-properti yang digunakan pada penelitian ini adalah:
a.
CommPort
: Digunakan untuk menentukan nomor
serial port
yang
akan dipakai
b.
Setting
: Digunakan untuk menata nilai
baud rate
, pariti, jumlah bit
data dan jumlah bit stop
c.
PortOpen
: Digunakan untuk membuka ataupun menutup
serial port
yang dihubungkan dengan MSComm ini
d.
Input
: Digunakan untuk mengambil data
string
yang ada pada
buffer
penerima
e.
Output
: Digunakan untuk menulis data
string
pada
buffer
kirim
Bahasa yang sering digunakan untuk pengiriman data serial adalah :
1
Do
[Statements}
Loop Until
[syarat]
Melakukan
looping
untuk membaca tiap karakter yang diterima sampai
syarat dipenuhi.
2
[Variabel] =
Do Events
()
Memberikan kesempatan pada sistem operasi untuk memproses kejadian
(program) sampai selesai.
3
[Variabel] =
Comm1.Input
4
Comm1.Output
= [variabel]
Mengirimkan karakter-karakter yang terdapat pada variabel melalui
port
Comm 1.
II.4.4.
Seagate Crystal Report 8
Seagate Crystal Report
merupakan suatu perangkat lunak yang berfungsi
untuk membuat laporan yang terpisah dengan program
Microsoft Visual Basic 6.0
,
tetapi keduanya dapat dihubungkan. Hasil mencetak dengan
Seagate Crystal Report
lebih baik dan mudah karena pada
Seagte Crystal Report
banyak tersedia obyek
maupun komponen yang mudah digunakan.
II.5.
Basis Data (Database)
Basis data (
database
) adalah kumpulan dari berbagai data yang saling
berhubungan satu dengan lainnya. Basis data tersimpan di perangkat keras, serta
dimanipulasi dengan menggunakan perangkat lunak. Pendefinisian basis data
meliputi spesifikasi dari tipe data, struktur, dan batasan dari data atau informasi yang
akan disimpan. Penyusunan basis data meliputi proses memasukkan data kedalam
media penyimpanan data, dan diatur dengan menggunakan perangkat Sistem
Manajemen Basis Data (
Database Management System – DBMS
). Manipulasi basis
data meliputi pembuatan pernyataan (
query
) untuk mendapatkan informasi tertentu,
melakukan pembaharuan atau penggantian (
update
) data, serta pembuatan
report
dari
data. Tujuan dari pengaturan data dengan menggunakan basis data adalah :
1.
Menyediakan penyimpanan data agar dapat digunakan oleh organisasi saat
sekarang dan masa yang akan datang.
2.
Cara pemasukan data sehingga memudahkan tugas operator dan menyangkut
pula waktu yang diperlukan oleh pemakai untuk mendapatkan data serta
hak-hak yang dimiliki terhadap data yang ditangani.
4.
Pengamanan data terhadap kemungkinan penambahan, modifikasi, pencurian
dan gangguan-gangguan lain.
II.5.1.
Elemen Basis Data
A.
Entitas ( Entity )
Entitas adalah sekumpulan objek yang terdefinisikan yang mempunyai
karakteristik sama dan bisa dibedakan satu dan lainnya. Objek dapat berupa barang,
orang, tempat atau suatu kejadian. Gambar 2.5 adalah contoh entitas antara karyawan,
gaji dan jam lembur.
karyawan
Jam lembur
gaji
Gambar 2.5: Contoh Entitas
B.
Atribut ( Attribute )
Atribut adalah deskripsi data yang bisa mengidentifikasikan entitas yang
membedakan entitas tersebut dengan entitas yang lain. Seluruh atribut harus cukup
untuk menyatakan indentitas obyek, atau dengan kata lain, kumpulan atribut dari
setiap entitas dapat mengidentifikasikan keunikan suatu individu. Gambar 2.6 adalah
contoh entitas mahasiswa yang memiliki atribut IdMahasiswa, NamaMahasiswa dan
IdJurusan.
NamaMahasiswa
IdMahasiswa
Mahasiswa
IdJurusan
C.
Relasi
Relasi adalah bagian paling penting dalam suatu basis data. Relasi digunakan
untuk membuat hubungan antar entitas yang secara logika berhubungan. Dua entitas
yang berbeda dapat memiliki hubungan dengan mengunakan relasi. Gambar 2.7
adalah contoh relasi, jika seorang mahasiswa dapat memilih beberapa mata kuliah,
maka entitasnya adalah
Mahasiswa
dan
MataKuliah
. Relasi ditunjukkan dengan
tanda belah ketupat yang diberi nama sesuai nama relasinya.
memilih
MataKuliah
Mahasiswa
Gambar 2.7: Contoh Relasi
Tipe-tipe Relasi :
1.
Relasi satu-satu (
one to one – 1:1)
Dua entitas memiliki relasi satu-satu jika pada setiap anggota dari satu
entitas hanya memiliki hubungan dengan satu anggota pada entitas yang
lain. Gambar 2.8 adalah contoh relasi satu-satu yang menunjukkan
bahwa sebuah jurusan dipimpin oleh hanya satu orang ketua jurusan.
2.
Relasi Satu-Banyak / Banyak-Satu (
one to many – 1:m
)
Dua entitas memiliki relasi satu-banyak apabila semua anggota dari
entitas yang pertama memiliki pasangan dengan satu atau lebih anggota
pada entitas kedua, dan untuk semua anggota pada entitas yang kedua,
hanya memiliki satu pasangan dengan anggota entitas pertama. Gambar
2.9 adalah contoh relasi satu-banyak. Relasi ini menjelaskan bahwa
mahasiswa hanya memilih satu jurusan saja, namun satu jurusan dapat
dipilih oleh banyak mahasiswa.
Jurusan
1
Dipimpin
oleh
1
KetuaJurusan
m
1
Memilih
Mahasiswa
Jurusan
Gambar 2.9: Contoh Relasi Satu-Banyak
Relasi Banyak-Satu mirip dengan Relasi Satu-Banyak, hanya semua
anggota entitas pertama hanya memiliki satu pasangan pada entitas
kedua, dan semua pada entitas kedua memiliki satu atau lebih pasangan
pada entitas pertama. Relasi Satu-Banyak/Banyak-Satu adalah relasi
yang paling sering digunakan untuk menunjukkan hubungan antar
entitas. Relasi ini sering juga disebut relasi
parent-child
atau
master-detail
.
3.
Relasi Banyak-Banyak (
many to many – m:m
)
Disebut relasi banyak-banyak apabila semua anggota entitas pertama
dapat memiliki satu atau lebih pasangan pada entitas kedua, dan semua
anggota entitas kedua dapat memiliki satu atau banyak pasangan pada
entitas pertama. Gambar 2.10 adalah contoh relasi banyak-banyak, yang
menjelaskan bahwa sebuah produk dapat dijual pada banyak konsumen,
dan seorang konsumen dapat membeli banyak produk.
m
m
Membeli
Konsumen
Produk
Gambar 2.10: Contoh Relasi Banyak-Banyak
II.5.2.
Langkah Perancangan Basis Data Secara Umum
1
Menentukan tipe-tipe file
Basis data dibentuk dari suatu kumpulan
file. File
dalam pemrosesan
transaksi dapat digolongkan sebagai berikut :
a.
File
induk
b.
File
transaksi
c.
File
Data Transaksi
d.
File
Kesalahan
e.
File
Laporan
f.
File
Sementara
g.
File
Penunjang
h.
File
Sejarah (
History
)
i.
File
Pustaka
j.
File
Kerja
k.
File
Program
2
Membuat akses dan organisasi file.
Akses
file
(
file access
) adalah suatu metode yang menunjukkan
bagaimana suatu program komputer akan membaca
record
dari suatu
file.
File
dapat diakses dengan dua cara, yaitu secara urut (
sequential access
)
atau secara langsung (
direct access
atau
random access
). Metode urut
dilakukan dengan membaca atau menulis suatu
record
di
file
dengan
membaca terlebih dahulu mulai dari
record
pertama, urut sampai dengan
record
yang diinginkan. Metode akses langsung dilakukan dengan cara
langsung membaca
record
pada posisinya di
file
tanpa membaca dari
record
pertama terlebih dahulu. Organisasi
file
adalah pengaturan dari
suatu
record
secara logika dalam
file
dihubungkan satu dengan lainnya.
File
dapat diorganisasikan secara urut atau secara acak
II.6.
Diagram Alir Data – DAD (Data Flow Diagram – DFD)
Penggunaan DAD sebagai alat peraga sistem dipopulerkan oleh Tom DeMarco
(1978) dan Gane & Sarson (1979) dengan menggunakan pendekatan metoda analisis
sitem terstruktur (
structured system analysis method
). DAD dapat merepresentasikan
suatu sistem yang otomatis maupun manual dengan menggunakan gambar yang
berbentuk jaringan grafik. Beberapa simbol yang digunakan dalam penggambaran
DAD, yaitu :
a.
Entitas Luar (External Entity) dan Terminal
Entitas Luar adalah entitas yang berada di luar sistem yang
memberikan data kepada sistem (
source
) atau yang menerima informasi
dari sistem (
sink
). Entitas Luar ini bukanlah bagian dari sistem, bila suatu
sistem informasi dirancang untuk satu bagian/departemen maka bagian
lain yang masih terkait menjadi entitas luar. Sedangkan terminal adalah
entitas yang merupakan bagian dari sistem.
Simbol yang digunakan :
b.
Proses
Proses menggambarkan apa yang dilakukan oleh sistem. Berfungsi
mentransformasikan satu atau beberapa data masukan menjadi satu atau
beberapa data keluaran sesuai dengan spesifikasi yang diinginkan. Setiap
proses memiliki satu atau beberapa data masukan serta menghasilkan satu
atau beberapa data keluaran. Proses sering pula disebut
bubble
.
Simbol yang digunakan :
c.
Alir Data (Data Flow)
1.
Antara dua proses yang berurutan
2.
Dari penyimpanan data (
data store
) ke proses dan sebaliknya
3.
Dari
source
ke proses
4.
Dari proses ke
sink
Simbol yang digunakan :
d.
Penyimpan Data (Data Store)
Data store
adalah tempat menyimpan data. Proses dapat mengambil
data dari atau memberikan data ke
data store
.
Simbol yang digunakan :
II.6.1.
Tingkatan Diagram pada Diagram Arus Data (Data Flow Diagram)
A. Diagram Konteks (Context Diagram)
a.
Merupakan level tertinggi dari DAD yang menggambarkan seluruh
input
ke
atau dari sistem.
b.
Memberikan gambaran tentang keseluruhan sistem
c.
Terminal yang memberikan masukan kepada sistem disebut
source
, terminal
yang menerima keluaran dari sistem disebut
sink
.
d.
Hanya ada satu proses.
e.
Tidak boleh ada
data store
.
B. Diagram nol (0)
a.
Sudah menunjukkan
data store
yang digunakan.
b.
Untuk proses yang tidak dirinci lagi pada level selanjutnya (
functional
primitive
), tambahkan * pada akhir nomor proses.
C. Diagram Rinci
Merupakan rincian dari diagram nol atau diagram level di atasnya.
Walaupun DAD mempunyai kelebihan-kelebihan, yaitu dapat menggambarkan
sistem secara terstruktur dengan memecah-mecah menjadi level lebih rendah
(
decomposition
), dapat menunjukkan arus data di sistem, dapat menggambarkan
proses paralel di sistem, dapat menunjukkan simpanan data, dapat menunjukkan
entitas luar.
II.7.
Analisa Sistem
Analisa sistem dapat didefinisikan sebagai penguraian dari suatu sistem
informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk
mengidentifikasikan dan mengevaluasi permasalahan-permasalahan,
kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang
diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.
II.7.1.
Langkah-langkah Analisa Sistem
Langkah-langkah dalam tahap analisa sistem hampir sama dengan yang akan
langkah-langkah yang dilakukan dalam mendefinisikan proyek-proyek sistem yang
akan dikembangkan di tahap perencanaan sistem. Perbedaannya terletak pada
ruang-lingkup tugasnya. Di analisa sistem ini, penelitian yang dilakukan oleh analis sistem
adalah penelitian terinci, sedang di perencanaan sistem sifatnya hanya penelitian
pendahuluan. Di dalam tahap analisa sistem terdapat langkah-langkah dasar yang
harus dilakukan oleh analis sistem, sebagai berikut:
1.
Identify
, yaitu mengidentifikasikan masalah
2.
Understand
, yaitu memahami kerja dari sistem yang ada
3.
Analyze
, menganalisis sistem
II. 8
Desain Sistem
Menurut Robert J. Verzello/John Reuter III, desain sistem dapat didefinisikan
sebagai: “Tahap setelah analisis dari siklus pengembangan sistem, pendefinisian dari
kebutuhan-kebutuhan fungsional dan persiapan untuk rancang bangun implementasi;
menggambarkan bagaimana suatu sistem dibentuk.”
II.8.1.
Tujuan desain sistem
Tahap desain sistem mempunyai dua maksud atau tujuan utama, yaitu:
1.
Untuk memenuhi kebutuhan para pemakai sistem.
2.
Untuk memberikan gambaran yang jelas dan rancang bangun yang
lengkap
BAB III
PERANCANGAN
III.1.
Diagram Konteks
Di dalam sistem informasi transaksi ini yang berhak memasukkan data bus
dan data operator adalah admin (administrator). Front office (FO-Petugas) berhak
melakukan dokumentasi terhadap transaksi. Untuk lebih jelasnya, diagram konteks
dapat dilihat pada gambar 3.1.
Admin
Gambar 3.1 : Diagram konteks sistem informasi transaksi
III.2.
Diagram Berjenjang
Diagram berjenjang merupakan kumpulan dari semua proses yang ada dalam
sistem informasi transaksi. Untuk lebih jelasnya dapat dilihat pada gambar 3.2. Pada
gambar 3.2 terdapat empat proses utama pada sistem, yaitu masukan data, transaksi,
transfer data dan laporan. Dari ke empat masukan ini akan terdapat proses-proses lain
setelahnya. Proses masukan data akan mempunyai dua proses di bawahnya, yaitu
masukan data armada dan masukan data operator, masing-masing proses ini akan
mempunyai tiga proses lagi di bawahnya, yaitu tambah data, edit data dan hapus data.
SISTEM INFORMASI
TRANSAKSI UNTUK
PEMBELIAN TIKET
BUS
Data bus, data operator
Transaksi tiket
0
SISTEM ADMINISTRASI TIKET BUS
2
Transaksi
1
Masukkan data
4
Membuat laporan
1.1
Masukkan
Data
Armada
1.2
Masukkan
Data
Operator
2.1
Masukkan
Data
Transaksi
1.1.a
Tambah
Data
Armada
1.1.b
Edit
Data
Armada
1.1.c
Hapus
Data
Armada
1.2.a
Tambah
Data
Operator
1.2.b
Edit
Data
Operator
1.2.c
Hapus
Data
Operator
2.1.a
Tambah
Data
Transaksi
2.1.b
Hapus
Data
Transaksi
3.1
Transfer Data Transaksi
berdasarkan bus dan tgl
keberangkatan
3
Transfer data
4.1
Laporan Data Transaksi
berdasarkan bus dan tgl
keberangkatan
III.3.
DAD Level 0 Untuk Sistem Transaksi
Diagram ini dikenal dengan TOP level diagram. Diagram ini merupakan
pengembangan dari diagram konteks. Proses-proses yang terjadi antara lain adalah
proses masukan data yang dilakukan oleh admin dan proses transaksi yang bisa
dilakukan oleh front office (FO) dan admin . Pada gambar 3.3 terlihat hasil akhir dari
semua proses ini adalah untuk membuat laporan kepada manajer.
1
III.3.1 DAD Level 1 Untuk Masukan Data
DAD level 1 untuk masukan data pertama merupakan proses masukan data
yang dilakukan oleh admin. Masukan data ini nantinya digunakan untuk membantu
dalam memasukkan data transaksi. Masukan data yang dilakukan oleh admin antara
lain adalah masukan data bus, dan data operator. Data operator bisa diakses oleh
manajer dan juga oleh admin. DAD level 1 dapat dilihat pada gambar 3.3.1. Dapat
dilihat pada gambar bahwa masukan data bus dan operator yang dilakukan oleh
admin akan tersimpan pada tabel database armada dan user.
Admin
Penumpang
Front office
Masukkan
Data
2
3
Membuat
Laporan
Manajer
Transaksi
Data bus baru
III.3.2 DAD Level 1 Transaksi
Bagian terbesar dari proses yang terjadi dalam sistem informasi ini adalah
pengaksesan proses transaksi ini. Proses ini digunakan untuk mendokumentasikan
transaksi dan untuk membuat tiket. Proses yang ada dalam proses transaksi ini dapat
Penumpang
2.1P
Memasukkan
data transaksi
2.2P
Cetak
Tiket
D1 tbarmada.
D2 tbuser
Front office
D4 tbkursi
Data transaksiData transaksi
Data transaksi baru Data bus
Data operator Tiket
Gambar 3.3.2: DAD level 1 untuk masukan data transaksi
Admin
D3 tbtransaksi
Data kursi
Data kursi baru
Admin
1.1
D1 tbarmada
Memasukkan