TUGAS AKHIR
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Fakultas Teknik Universitas Sanata Dharma
Disusun oleh :
RB SURYO INDRIANTO
NIM : 035114014
PROGRAM STUDI TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
FINAL PROJECT
Presented as Partial Fulfillment of the Requirements
To Obtain the SARJANA TEKNIK Degree
in Electrical Engineering
of Sanata Dharma University
By :
RB SURYO INDRIANTO
Student Number : 035114014
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
Kupersembahkan tugas akhir ini
kepada kedua orang tuaku, kakakku,
dan kepada semua orang yang sedang menderita karena teknologi.
Freedom Is A Choice
And
Your Choice Is Your Freedom
INTISARI
Smart card
adalah kartu plastik dengan
chip
mikroprosesor yang tertanam
didalamnya.
Smart card
akan diaplikasikan untuk memberikan kemudahan dalam
mengakses informasi akademik.
Smart card
akan diisi dengan data-data historis
mahasiswa seperti NIM, IPK, jumlah SKS, dan informasi lain.
Dalam penelitian ini
smart card
dibuat dalam bentuk model menggunakan
mikrokontroler AVR ATTINY2313. Model
smart card
ini mampu menampung data
sebesar 128 byte. Protokol komunikasi yang digunakan mengacu pada standar ISO 7816.
Program PC terminal sebagai sumber informasi akan menyediakan berbagai data yang
hendak disimpan pada
smart card
. Selain itu sistem ini juga menyediakan program yang
berfungsi khusus untuk pembacaan
smart card
, sehingga akan lebih mempermudah
pengguna dalam mengakses informasi.
Penelitian ini telah berhasil mengaplikasikan
smart card
dalam sistem informasi
akademik.
Smart card
dapat digunakan untuk menyimpan infomasi akademik
mahasiswa.
Kata kunci:
smart card
, sistem informasi akademik, ISO 7816
ABSTRACT
Smart card is a plastic card with a microprocessor chip embedded in it. The smart
card will be applied to provide simplicity to access academic information. The smart card
will be loaded with student historical data such as: student number, GPA, number of
credit, and other information.
In this research the smart card is made into a model which uses AVR
ATTINY2313 microcontroller. This smart card model is able to store 128 byte data.
Communication protocol used refers to ISO 7816 standard. The PC terminal program as
information source provides various data which will be stored in the smart card.
Additionally this system also provides a program which specifically to read the smart
card to be more user-friendly in accessing information.
This research succeeded applies the smart card into information academic system.
The smart card can be used to store student academic information.
Keywords: smart card, academic information system, ISO 7816
Puji dan syukur kepada Allah Bapa atas segala kasih dan karunia-Nya sehingga
penulis dapat menyelesaikan penulisan tugas akhir ini tepat pada waktunya. Tugas akhir
ini berjudul aplikasi smart card dalam sistem informasi akademik.
Tugas akhir ini dibuat untuk memenuhi salah satu syarat dalam memperoleh gelar
sarjana teknik pada program studi Teknik Elektro Universitas Sanata Dharma. Penulisan
tugas akhir ini didasarkan pada hasil yang penulis peroleh berdasarkan pada perancangan
alat, pembuatan alat, dan sampai pada pengujian alat.
Penulis menyadari bahwa tugas akhir ini tidak akan terwujud dengan baik tanpa
bantuan dari pihak lain. Oleh karena itu pada kesempatan ini, penulis ingin mengucapkan
terima kasih kepada:
1.
Yesus Kristus, sumber segala inspirasiku
2.
Bapak Ir. Iswanjono, M.T. sebagai dosen pembimbing I yang telah bersedia
memberikan ide, saran, bimbingan, dan waktu untuk penulis dalam
menyelesaikan tugas akhir.
3.
Bapak Ir. Tjendro selaku dosen pembimbing II yang telah memberikan
pengarahan dan bimbingan dalam penyelesaian tugas akhir ini.
4.
Para laboran khususnya mas Mardi dan mas Sur sebagai obat stres paling
manjur dikala gundah gulana.
5.
Mas Ucup yang selalu membuat lab bersih mewangi sepanjang hari.
6.
Yakob, Gigih, Denis, Alex, Jo, Inggit, dan semua angkatan 2003 atas
sumbangan semangatnya.
7.
Anak-anak kos 125, Sweaty, Nicken, Dora the exploler, Rosa, San2 Wa2, Cik
Na2, yang merelakan diri terganggu ketenangan hatinya.
Oleh karena itu, kritik dan saran yang sifatnya membangun dari semua pihak akan sangat
membantu dalam perbaikan-perbaikan karya tulis ini.
Yogyakarta, 3 Agustus 2007
Penulis
Lembar Pengesahan oleh Pembimbing...
Lembar Pengesahan oleh Penguji...
Lembar Pernyataan Keaslian Karya...
Halaman Persembahan dan moto hidup...
Intisari...
Abstract...
Kata Pengantar...
Daftar Isi ...
Daftar Gambar...
Daftar Tabel ...
BAB 1 Pendahuluan ...
1.1 Latar Belakang Masalah ...
1.2 Rumusan Masalah...
1.3 Batasan Masalah ...
1.4 Tujuan Penulisan ...
1.5 Manfaat Penulisan………...
1.6 Metodologi Penulisan...
1.7 Sistematika Penulisan...
BAB 2 Dasar Teori ...
2.1
Definisi Smart Card ...
2.2
Jenis-jenis Kartu Dan Standarisasinya...
2.2.1
Memory Card...
2.2.2
Contact CPU Card...
2.2.3
Contactless Card...
2.2.4
Combi Card...
2.3
Format Kartu...
2.4
Terminal Kartu (Card Reader)...
2.5
Protokol Komunikasi...
2.5.1
Command...
2.5.2
Card Status...
2.6.2
EEPROM...
2.6.3
USART...
a.
USART I/O Data Register (UDR)...
b.
USART Control and Status Register A (UCSR A)...
c.
USART Control and Status Register B (UCSRB)...
d.
USART Control and Status Register C (UCSRC)...
e.
USART Baud Rate Register (UBRRH,UBRRL)...
f.
Format Frame...
2.7
Visual Basic 6.0 Enterprises Edition...
2.7.1
Window Property...
2.7.2
Form Designer...
2.7.3
Form Window layout...
2.7.4
Komunikasi serial dengan Visual Basic 6.0 Enterprises...
a.
Konfigurasi Port Serial...
b.
Pengaksesan Port Serial...
2.8
RS 232...
2.9
Database...
BAB 3 Perancangan... ...
3.1 Diagram Blok Sistem ...
3.2 Perancangan Perangkat Keras ...
3.2.1 Smart Card...
3.2.2 Antarmuka Serial...
a.
Catu Daya...
b.
Sistem Clock...
c.
Konverter Logika RS232 ke TTL...
3.2.3 Desain card reader...
3.3 Perancangan Perangkat Lunak ...
3.3.1 Perangkat Lunak Smart Card ...
a.
Data dan Lokasi Memori...
b.
Protokol Komunikasi...
b.
Form Admin...
c.
Form User...
d.
Form Pelengkap...
e.
Database...
BAB 4 Hasil dan Pembahasan...
4.1 Model smart card dan card reader...
4.2 Sistem operasi smart card...
4.2.1 Protokol komunikasi...
a.
ATR (Answere To Reset)...
b.
Command dan Response...
4.2.2 Memori EEPROM...
4.3 Program PC Terminal...
4.3.1 Program Sistem Informasi Akademik “SIA”...
4.3.2 Program “READER”...
4.3.3 Database mahasiswa...
BAB 5 Kesimpulan dan Saran
5.1 Kesimpulan...
5.2 Saran...
Daftar Pustaka...
Lampiran...
54
57
59
60
60
61
62
62
62
63
65
66
67
76
78
81
81
81
83
85
Gambar 2.2 TPDU Header...
10
Gambar 2.3 Format 1 APDU Command...
11
Gambar 2.4 Format 2 APDU Command...
11
Gambar 2.5 Format 3 APDU Command...
11
Gambar 2.6 Format 4 APDU Command...
11
Gambar 2.7 Format APDU Response...
12
Gambar 2.8 Protokol komunikasi antara terminal dan smart card...
13
Gambar 2.9 Arsitektur AVR ATTiny2313...
14
Gambar 2.10 EEAR (EEPROM Address Register)...
15
Gambar 2.11 EEDR (EEPROM Data Register)...
15
Gambar 2.12 EECR (EEPROM Control Register)...
16
Gambar 2.13 UDR (USART I/O Data Register)...
18
Gambar 2.14 UCSRA (USART Control and Status Register A)...
19
Gambar 2.15 UCSRB (USART Control and Status Register B)...
19
Gambar 2.16 UCSRC (USART Control and Status Register C)...
20
Gambar 2.17 USART Baud Rate Register (UBRRH,UBRRL) ...
20
Gambar 2.18 Format Frame ...
22
Gambar 2.19 Konfigurasi Port Serial...
24
Gambar 2.20 Level tegangan RS232 pada pengiriman huruf “A” tanpa
bit paritas ...
27
Gambar 2.21 Struktur Database ...
28
Gambar 3.1 Diagram Blok Sistem ...
29
Gambar 3.5 Konfigurasi IC MAX 232 ...
34
Gambar 3.6 Rangkaian Antarmuka Serial ...
34
Gambar 3.7 Desain Card Reader ...
35
Gambar 3.8 Flowchart Sistem...
37
Gambar 3.9 Flowchart Komunikasi...
37
Gambar 3.10 Format ATR...
39
Gambar 3.11 Flowchart Subroutine serial_kirim ...
40
Gambar 3.12 Flowchart Sistem Operasi Smart Card ...
41
Gambar 3.13 Flowchart Cek Command ...
42
Gambar 3.14 Flowchart Simpan Data...
43
Gambar 3.15 Flowchart Baca Data...
44
Gambar 3.16 Flowchart Subroutine serial_status ...
45
Gambar 3.17 Form Menu...
46
Gambar 3.18 Form Admin...
47
Gambar 3.19 Form User...
47
Gambar 3.20 Form Pswadmin...
48
Gambar 3.21 Form Pswuser...
48
Gambar 3.22 Form Help...
48
Gambar 3.23 Flowchart Form Menu...
49
Gambar 3.24 Flowchart Form Admin...
50
Gambar 3.25 Flowchart Simpan Data Baru...
51
Gambar 3.26 Flowchart Edit Data...
51
Gambar 3.30 Flowchart Form User...
55
Gambar 3.31 Flowchart Baca Data Dari Smart Card (Read)...
55
Gambar 3.32 Flowchart Upgrade data...
56
Gambar 3.33 Flowchart Ubah Password...
56
Gambar 3.34 Flowchart password untuk admin...
58
Gambar 3.35 Flowchart password untuk user...
58
Gambar 3.36 Koneksi Database...
59
Gambar 4.1 Model Smart Card...
60
Gambar 4.2 Card Reader...
61
Gambar 4.3 Answer To Reset...
62
Gambar 4.4 Data EEPROM...
65
Gambar 4.5 Tampilan splash screen “SIA”...
67
Gambar 4.6 Tampilan Form Menu...
67
Gambar 4.7 Tampilan form password untuk admin...
68
Gambar 4.8 Tampilan Form Admin...
68
Gambar 4.9 Tampilan Password untuk User...
72
Gambar 4.10 Tampilan Form User...
73
Gambar 4.11 tampilan Cek Data...
75
Gambar 4.2 Tampilan update password...
75
Gambar 4.13 Tampilan Form Help...
76
Gambar 4.14 Tampilan splash screen “READER”...
77
Tabel 2.2. Mode Bit EEPROM...
16
Tabel 2.3. Pengaturan Baud Rate………..
21
Tabel 2.4. Alamat dan lokasi bit register UART ...
25
Tabel 3.1. Data dan lokasi memori...
38
Tabel 3.2. Tabel Protokol Komunikasi...
39
Tabel 3.3. Tabel Database...
59
Tabel 4.1 Tabel pengujian command dan response...
63
1.1
Latar Belakang Masalah
Ada berapa definisi tentang
smart card
tergantung aplikasi dari
smart card
itu
sendiri. Secara umum
smart card
atau kartu pintar adalah kartu plastik dengan
mikroprosesor yang terintegrasi didalamnya. Mikroprosesor inilah yang menjadi otak
dari
smart card
.
Teknologi
smart card
sudah ada sejak 20 tahun yang lalu.
Smart card
pertama kali diperkenalkan sebagai sistem pembayaran telepon. Dewasa ini
smart
card
mengalami perkembangan yang sangat pesat dalam hal aplikasi dan teknologi.
Smart card
mulai digunakan untuk berbagai aplikasi seperti a
ccess control, computer
logon,
pengaman
data base
, dan pembayaran elektronik.
Teknologi tersebut menawarkan banyak manfaat signifikan bagi para
penyedia dan pengguna jasa, sekaligus menawarkan tantangan bagi siapa saja yang
ingin mengembangkan inovasi ini lebih lanjut. Mobilitas tinggi didapatkan dari
ukuran fisik yang kecil dengan dimensi
chip
hanya 85,6 mm x 54 mm. Keamanan
data didukung oleh adanya mikroprosesor dalam
chip
yang dapat melakukan proses
enkripsi
data yang disimpan. Kestabilan dan kecepatan dapat dioptimalkan dengan
makin banyaknya bahasa pemrograman yang mendukungnya [1].
Dalam suatu perguruan tinggi, tentunya tidak lepas dari sistem informasi
yang berlaku pada perguruan tinggi yang bersangkutan. Sistem itu disebut sistem
informasi akademik. Dengan semakin berkembangnya suatu perguruan tinggi,
bertambahnya mahasiswa, dan ilmu pengetahuan yang semakin berkembang, mau
tidak mau perguruan tinggi harus meningkatkan pelayanan dan kualitas sumber daya
manusia yang ada. Perguruan tinggi yang baik tentu memiliki sistem informasi
akademik yang cukup bahkan lebih untuk mahasiswa, dosen, karyawan, dan calon
mahasiswa yang akan mendaftar.
Sebuah perguruan tinggi yang memiliki sistem informasi akademik yang
handal dan selalu di-
update
akan mendukung kinerja perguruan tinggi yang
bersangkutan baik dalam pelayanan terhadap mahasiswa maupun karyawan [2].
Universitas Sanata Dharma sebagai salah satu Perguruan Tinggi Swasta di
Yogyakarta mulai berusaha meningkatkan sistem informasi akademik yang dimiliki.
Peluncuran
web site
Sistem Pengolahan Sumber Belajar Digital pada akhir tahun
2006 merupakan salah satu wujud usaha tersebut.
Web site
ini diharapkan mampu
menjadi sumber informasi bagi komunitas yang membutuhkannya.
Penggunaan fasilitas
web site
dalam suatu sistem informasi memang sudah
sangat umum dilakukan. Namun sistem seperi ini memiliki kekurangan dalam hal
mobilitas dan biaya karena untuk mengaksesnya masih tergantung jaringan internet
dan dengan biaya akses yang tidak murah.
Salah satu tuntutan yang dihadapi dunia pendidikan saat ini adalah
menciptakan sistem pelayanan terhadap mahasiswa yang dapat memberikan
kemudahan dalam mengakses informasi dengan tingkat keamanan yang tinggi,
mobilitas tinggi, ketangguhan terhadap gangguan, kestabilan, dan unjuk kerja yang
Berdasarkan uraian diatas akan dilakukan penelitian tentang aplikasi
smart
card
dalam sistem informasi akademik. Penggunaan
smart card
dapat menjadi salah
satu alternatif dalam penyediaan informasi.
Smart card
akan diisi dengan data-data
historis mahasiswa seperti NIM, IPK,jumlah SKS, KP, KKL, TA, dan lain lain yang
merupakan syarat kelulusan pada Program Studi Teknik Elektro Universitas Sanata
Dharma.
1.2
Rumusan Masalah
Dari uraian latar belakang masalah diatas dapat dirumuskan dua rumusan
masalah yaitu
1.
Bagaimana merancang model
smart card
dan
card reader
berbasis
mikrokontroler ?
2.
Bagaimana merancang
software
PC terminal ?
1.3
Batasan Masalah
Penelitian ini memiliki batasan masalah sebagai berikut
1.
Jenis kartu yang dibuat adalah jenis
contact CPU card
.
2.
Standar antarmuka ISO 7816
3.
Kartu berisi data historis mahasiswa seperti NIM, IPK, KKL, KP, dan
lain-lain.
4.
Smart Card
berbasis mikrokontroler AVR ATTiny2313 dengan kapasitas
1.4
Tujuan Penulisan
Tujuan dari penelitian ini adalah
1.
Memaparkan perancangan model
smart card
dan
card reader
berbasis
mikrokontroler.
2.
Memaparkan perancangan
software
PC terminal
1.5
Manfaat Penulisan
Penelitian ini memiliki beberapa manfaat yang dapat dipetik. Bagi penulis
penelitian ini dapat menambah pengetahuan tentang aplikasi
smart card
khususnya
dalam sistem informasi akademik. Bagi pembaca penelitian ini dapat menjadi bahan
pertimbangan dalam memanfaatkan teknologi
smart card.
Penelitian ini juga
bermanfaat bagi perkembangan ilmu pengetahuan dan teknologi.
1.6
Metodologi Penelitian
Penelitian ini dilakukan dengan metodologi penelitian berupa perancangan
hardware
dan
software
, pengujian alat, pengambilan data, analisis data, dan
penarikan kesimpulan.
1.7
Sistematika Penulisan
BAB I PENDAHULUAN
Dalam bab ini telah diuraikan tentang pemilihan topik sebagai dasar
pemikiran lewat latar belakang penelitian, rumusan masalah yang akan dibahas,
batasan masalah, tujuan penulisan, manfaat, dan metodologi dari penelitian ini.
BAB II DASAR TEORI
Dalam bab ini akan dipaparkan beberapa teori mengenai
smart card
dan
mikrokontroler yang akan digunakan dalam perancangan
BAB III PERANCANGAN
Pada bagian ini akan dilakukan perancangan model
smart card
dan
card
reader
serta
software
terminal.
BAB IV HASIL DAN PEMBAHASAN
Bab ini berisi pembahasan terhadap data yang telah diperoleh
BAB V KESIMPULAN DAN SARAN
Bagian ini menyimpulkan uraian dari bab-bab sebelumnya agar dapat
memberi penjelasan dalam memahami maksud dan tujuan penulisan serta akan
diberikan beberapa saran bagi siapa saja yang ingin membahas topik ini lebih
2.1 Definisi Smart Card
Istilah
smart card
memiliki berbagai macam pengertian karena
smart card
telah digunakan dalam berbagai aplikasi. Jadi penggunaan
smart card
akan
menentukan definisi dari
smart card
. Secara umum
smart card
didefinisikan sebagai
kartu plastik dengan
chip
mikroprosesor yang terintegrasi didalamnya.
Mikroprosesor berperan sebagai otak dari kartu sehingga kartu memiliki kemampuan
untuk berpikir dan perintah yang dikehendaki [3].
2.2 Jenis-jenis Kartu Dan Standarisasinya
Secara umum jenis kartu ada 4 macam yaitu
memory card, contact CPU
card, contactless card
, dan
combi card.
2.2.1 Memory Card
Memory card
adalah sebuah kartu yang hanya memiliki memori dan akses
logika saja. Hampir sama dengan kartu pita magnetik,
memory card
hanya
mampu digunakan untuk tempat penyimpanan data saja. Data yang tersimpan
dapat diakses dengan suatu perintah tertentu dan biasanya kartu jenis ini tidak
memiliki pengendali keamanan.
2.2.2 Contact CPU Card
Kartu jenis ini memiliki mikroprosesor yang terdapat pada kartu. Dengan
adanya mikroprosesor maka program yang terdapat didalam chip dapat
dieksekusi. Di dalam
chip
terdapat 4 blok utama yaitu ROM, RAM, memori
EEPROM, dan I/O port.
Contact CPU Card
memiliki tingkat keamanan yang
lebih tinggi dari
memori card
2.2.3 Contactless Card
Teknologi
contactless card
mampu meningkatkan efektifitas transaksi data
dari jenis kartu sebelumnya sehingga mampu digunakan untuk berbagai macam
aplikasi. kartu jenis ini mentransfer data tanpa ada kontak elektrik antara kartu
dan terminalnya. Dapat berupa
memory card
atau
microprocessor card
.
2.2.4 Combi Card
Combi card
adalah gabungan dari
contact
dan
contactless card
. Kedua jenis
kartu ini memiliki protokol komunikasi dan proses pengembangan yang berbeda.
Gabungan dari kedua jenis kartu ini akan menghasilkan kartu dengan tingkat
keamanan dan efisiensi yang tinggi [1].
Ada banyak manufaktur yang membuat
smart card
sehingga perlu dibuatkan
standarisasi skala internasional untuk memudahkan dalam pertukaran dan transfer
card
tunduk pada standarisasi yang ditetapkan oleh ISO (
International Organisation
for Standarisation
) / IEC (
International Electrotechnical Commission
) dan CEN
(
Comite Eurpean de Normalisation
). Dokumen standarisasi
smartcard
yang perlu
diketahui untuk penulisan ini hanya dokumen ISO7816 [3].
2.3 Format Kartu
Smartcard
mempunyai format yang hampir sama dengan jenis kartu lain,
misalnya kartu magnetik. Standarisasi format kartu dapat dilihat pada gambar 2.1.
Kartu ini mempunyai dimensi chip 85,6mm x 54mm. Semua jenis
smartcard
memiliki
chip
dengan dimensi yang sama. Chip ini ditanam dalam plat plastik tipe
ID-1 yang terbuat dari bahan PVC dengan tebal 0,76 mm sesuai standar ISO 7810.
Selain plat ID-1 ada juga plat tipe ID-00 dan ID-000 dengan dimensi masing-masing
66,10mm x 33,10mm dan 25mm x 15mm.
2.4 Terminal Kartu (Card Reader)
Satu-satunya cara untuk menghubungkan
smart card
dengan ‘dunia luar’
adalah lewat komunikasi serial. Perangkat tambahan yang dibutuhkan untuk
melakukan kontak listrik ke
smart card
disebut
Terminal
. Fungsi lainya adalah untuk
memberi suplai listrik ke
smart card
. Sebutan lain untuk terminal adalah
card reader
atau
chip reader
atau
smart card reader
.
Terminal harus mampu melayani mekanisme khusus dalam melakukan
kontak elektrik ke
smart card
dan memberikan suplai listrik ke dalam
chip
smart
card
, sebelum melakukan proses selanjutnya. Pada saat
smart card
dimasukkan ke
dalam terminal maka proses yang terjadi adalah terminal melakukan kontak dan
menyalurkan suplai listrik ke dalam
chip smart card
, kemudian terminal mendeteksi
respon dari
smart card
lalu mengirim byte
-
byte
dalam format tertentu lewat kabel
serial [1].
2.5 Protokol Komunikasi
Protokol komunikasi antara terminal dan
smart card
tercantum dalam ISO
7816-3 (
transport protocol
) dan ISO 7816-4 (
aplication protokol
) [3]. Kedua
protokol tersebut akan dibahas dalam bagian ini.
Terminal akan menginisialisasi sebuah
smart card
dengan mengirimkan
sinyal pada kontak reset (RST). Kartu akan merespon dengan mengirimkan sejumlah
byte kepada teminal yang disebut dengan ATR (
AnswerTo Reset
). ATR terdiri dari
dua bagian yaitu
protocol byte
yang menyediakan informasi tentang protokol
tentang tipe kartu. Panjang
historical byte
biasanya 14 byte tergantung dengan tipe
kartu.
Setelah sinyal ATR ditransmisikan maka terminal dapat berkomunikasi
dengan
smart card
dengan mengirimkan
command
.
Command
tersebut dibuat dalam
satu paket yang disebut
transport protocol data unit
(TPDU). Setiap paket dimulai
dengan lima byte (
header
) yang diikuti dengan sejumlah data jika diperlukan. Format
dari TPDU
Header
ditunjukkan oleh gambar 2.2.
CLA INS P1 P2 P3
Gambar 2.2 TPDU Header [3]
Dengan perincian masing-masing byte adalah sebagai berikut
1.
Class byte
(CLA) adalah
clas
2.
s instructions.
3.
Instruction byte
(INS) adalah byte instruksi yang menjadi indikator bahwa
terminal akan mengirim data atau menerima data dari
smart card.
4.
Parameter byt
e (P1 dan P2) adalah parameter dari instruksi.
5.
Parameter byte
(P3) adalah byte yang menunjukkan terminal akan mengirim
data ke kartu (Lc) atau terminal menerima data dari kartu (Le).
2.5.1 Command
a.
Tidak diperlukan pertukaran
byte data. Format pertama dari APDU
Command
tampak pada gambar 2.3 berikut.
CLA INS P1 P2
Gambar 2.3 Format 1 APDU Command [3]
b.
Terminal akan menerima data dari
smart card
(Le). Ini adalah bentuk kedua
dari format APDU
Command
seperti tampak pada gambar 2.4.
CLA INS P1 P2 Le
Gambar 2.4 Format 2 APDU Command [3]
c.
Terminal akan mengirim data ke
smart card
(Lc). Gambar 2.5 menunjukkan
format ketiga dari APDU
Command.
CLA INS P1 P2 Lc Data
Gambar 2.5 Format 3 APDU Command [3]
d.
Terminal akan mengirim data ke
smart card
(Lc) dan juga menerima data
dari
smart card
(Le). Kemungkinan keempat ini tampak pada gambar 2.6.
CLA INS P1 P2 Lc Data Le
2.5.2 Card Status
Card status
(SW1 dan SW2) akan mengakhiri suatu
command
. Hal ini
adalah bagian dari standar ISO 7816-4. Tabel 2.1 berisi beberapa kode untuk
status.
Tabel 2.1. Format Card Status [3]
SW 1
SW 2
ARTI
90 00
O
K
67 00
P3
salah
69
66
Command tidak tersedia
6A 86
P1-P2
salah
6D
00
INS tidak dikenali
6E
00
CLA tidak valid
2.5.3 Response
Berdasarkan SW1 dan SW2 maka sebuah APDU akan dikembalikan
dalam suatu format tertentu. Format tersebut disebut dengan
response
APDU.
Format dari suatu APDU
Response
ditunjukkan oleh gambar 2.7. Bagian data
sifatnya opsional karena beberapa APDU
command
tidak membutuhkan data dari
smart card.
Data SW1 SW2
Gambar 2.7 Format APDU Response [3]
Komunikasi antara terminal dan
smart card
tampak pada gambar 2.8.
Komunikasi tersebut meliputi APDU
command
yang dikirim terminal ke
smart card
Gambar 2.8. Protokol komunikasi antara terminal dan
smart card
[3]
2.6 Mikrokontroler AVR ATTINY2313
AVR ATTiny2313 merupakan salah satu jenis mikrokontroler buatan Atmel.
Dalam penelitian ini mikrokontroler jenis ini dipilih karena memiliki beberapa
fasilitas yang cukup mampu menggantikan
chip smart card
. Fasilitas tersebut
diantaranya 32 x 8 bit
General Purpose Register
, memori program
flash
pada ROM
sebesar 2 Kbyte, memori EEPROM 128 byte, dan yang tidak kalah penting adalah
serial I/O dengan USART (
Universal Synchronous Asynchronous Receiver an
Transmiter
).
2.6.1
Arsitektur
ATTINY2313
Mikrokontroler ATTiny2313 merupakan mikrokontroler CMOS dengan
daya rendah yang memiliki arsitektur AVR RISC 8 bit. Arsitektur ini mendukung
kemampuan untuk melaksanakan eksekusi instruksi hanya dalam satu siklus
clock
osilator. Hal ini sangat cocok digunakan dalam desain sistem aplikasi yang
Mikrokontroler AVR memiliki model arsitektur Harvard yaitu memori
dan bus untuk program dan data dipisahkan. Dalam arsitektur AVR, seluruh 32
register umum yang ada terhubung langsung ke ALU prosesor. Hal inilah yang
membuat AVR cepat dalam mengeksekusi instruksi. Arsitektur AVR
ATTiny2313 ditunjukkan dalam gambar 2.9 berikut.
Gambar 2.9 Arsitektur ATTiny2313 [5]
2.6.2
EEPROM
ATTiny2313 memiliki kapasitas EEPROM 128 byte. Untuk melakukan
akses terhadap EEPROM terdapat tiga
register
penting yang berhubungan
dengan EEPROM.
Register
tersebut adalah EEAR (EEPROM
Adress Register
),
Gambar 2.10 EEAR (EEPROM Address Register) [5]
Pada gambar 2.10 ditunjukkan EEPROM
Address register
pada
mikrokontroler ATTiny 2313. Pada
register
tersebut bit 7 tidak digunakan dan
akan selalu dibaca 0. EEPROM
Address Register
adalah
register
alamat
EEPROM dalam 128 byte ruang EEPROM. Byte data EEPROM dialamati secara
linier antara 0 sampai 127.
Gambar 2.11 EEDR (EEPROM Data Register) [5]
Selain EEAR untuk mengakses EEPROM juga diperlukan pengaturan
EEDR (EEPROM Data Register) yang tampak pada gambar 2.11. Untuk operasi
penulisan EEPROM,
register
EEDR mengandung data yang akan ditulis ke
EEPROM pada alamat yang diberi oleh
register
EEAR. Untuk operasi
Gambar 2.12 EECR (EEPROM Control Register) [5]
Untuk mengendalikan pengaksesan EEPROM digunakan register EECR
(EEPROM Control Register) seperti tampak pada gambar 2.12. Bit 7 dan 6 pada
register
ini tidak digunakan. Bit 5 dan 4 (EEPM1–0) adalah
programming mode
bit. Seting bit ini akan menentukan aksi pemrograman yang akan di-
trigger
ketika penulisan EEPE. Hal ini dimungkinkan untuk memprogram data dalam
operasi
atomic
(hapus data lama dan tuis data baru) atau operasi
split the erase
and write
dalam dua operasi yang berbeda. Waktu pemrograman untuk berbagai
mode dapat dilihat dalam tabel 2.2. Pada saat EEPE set, semua penulisan ke
EEPMn akan diabaikan. Selama reset, bit EEPMn akan kembali ke 0b00 kecuali
EEPROM baru
bussy programming
.
Tabel 2.2. Mode bit EEPROM [5]
Bit 2 (EEMPE atau EEPROM
Master Program Enable
) akan
menentukan apakah penulisan EEPE ke “1” akan mempunyai efek atau tidak.
Ketika bit ini diset, seting EEPE bersamaan empat siklus clock akan
memprogram EEPROM pada alamat yang dipilih. Jika EEMPE
clear
, seting
EEPE tidak akan mempunyai pengaruh. Ketika EEMPE diset melaui
software
,
hardware
akan meng-
clear
bit ini setelah empat siklus
clock
.
Bit 1 (EEPE atau EEPROM
Program Enable
) adalah sinyal mulai
penulisan EEPROM. Ketika EEPE ditulis, EEPROM akan diprogram tergantung
seting bit EEPMn, selain ini tidak ada tempat penulisan EEPROM. Ketika waktu
akses penulisan telah dilewati, bit EEPE di-
clear
oleh
hardware
. Ketika EEPE
telah diset, CPU berhenti selama dua siklus sebelum instruksi berikutnya
dieksekusi.
Bit 0 (EERE atau EEPROM
Read Enable
) meupakan sinyal mulai
pembacaan EEPROM. Ketika alamat EEPROM telah dituliskan ke
register
EEAR, EERE harus ditulis ke “1” untuk men-
triger
pembacaan EEPROM. Akses
pembacaan EEPROM mengambil satu instruksi, dan permintaan data yang
langsung tersedia segera. Ketika EEPROM dibaca CPU berhenti selama empat
siklus
clock
sebelum instruksi berikutnya dieksekusi. Pengguna harus
mem-pooling
bit EEPE sebelum memulai operasi pembacaan.
2.6.3
USART
Universal Synchronous and Asynchronous Serial Receiver and
Terdapat beberapa
register
yang berhubungan dengan komunikasi serial yang
akan dijelaskan pada bagian ini.
a.
USART I/O Data Register (UDR)
Register
UDR sebenarnya secara fisik mempunyai dua bagian terpisah
yang berbagi alamat yang sama. Register ini dapat dilihat pada gambar 2.13.
Ketika menulis ke
register
maka, USART
Transmit Data Register
yang
ditulis. Ketika membaca register UDR, USART
Receive Data Register
yang
dibaca. Untuk 5, 6, atau 7 bit karakter maka bit atas sisanya tidak digunakan
dan akan diabaikan oleh
transmiter
dan diseting ke “0” oleh
receiver.
Transmit buffer
hanya dapat ditulis ketika
flag
UDRE dalam
register
UCSRA
set
jika tidak maka akan diabaikan oleh USART
transmiter
. Ketika
data ditulis ke
transmiter buffer
dan
transmiter
di-
enable
, maka
transmiter
akan dikirim ke
transmit shift register
ketika
shift register kosong
. Kemudian
data akan dikirim secara serial pada pin TXD
Gambar 2.13 UDR (USART I/O Data Register) [5]
b.
USART Control and Status Register A (UCSRA)
Register
ditunjukkan oleh gambar 2.14.
Register
ini berisi beberapa
tersebut antara lain USART
Receive complete
, USART
Transmit Complete
,
USART
Data Register Empty
,
Framing Error
, dan
Data Over Run.
Gambar 2.14 UCSRA (USART Control and Status Register A) [5]
c.
USART Control and Status Register B (UCSRB)
Gambar 2.15 adalah gambar UCSRB.
Register
ini berisi beberapa bit
untuk mengaktifkan atau menonaktifkan
transmiter
dan
receiver
. Selain itu,
bersama UCSRC juga melakukan pengaturan jumlah karakter.
Gambar 2.15 UCSRB (USART Control and Status Register B) [5]
d.
USART Control and Status Register C (UCSRC)
Register
ini digunakan untuk pengaturan mode operasi sinkron atau
Gambar 2.16 UCSRC (USART Control and Status Register C) [5]
e.
USART Baud Rate Register (UBRRH,UBRRL)
Gambar 2.17 menunjukkan
USART
Baud Rate Register.
Pada register
ini
bit 15-12 tidak digunakan. Bit yang lain disebut dengan
baud rate
register
yang merupakan
register
12 bit. UBRRH mengandung empat bit
(MSB) dan UBRRL mengandung delapan bit (LSB).
Gambar 2.17 USART Baud Rate Register (UBRRH,UBRRL) [5]
Pengisian
register
tersebut akan menentukan besarnya
baud rate
yang
digunakan. Pada tabel 2.1 ditunjukkan contoh pengaturan
baud rate
pada
Tabel 2.3. Pengaturan Baud Rate [5]
f.
Format frame
Serial frame
didefinisikan menjadi sebuah karakter data bit dengan bit
sinkronisasi (
start
dan
stop bit
), dan bit opsional
parity bit
atau
error
checking
. USART menerima kombinasi
format frame
berupa 1
start bit
,
5,6,7,8,atau 9 data, tidak ada,
parity
genap atau ganjil, 1 atau 2
stop bit
.
Format dari sebuah
frame
data tampak pada gambar 2.18.
Frame
dimulai dengan
start
bit
diikuti LSB bit data. Kemudian bit
data berikutnya sampai semua bit diakhiri dengan bit
MSB. Jika
parity bit
diaktifkan maka
parity
bit
disisipkan setelah data sebelum
stop bit
. Ketika
frame
yang telah dikirim lengkap, akan diikuti dengan
frame
berikutnya
Gambar 2.18 Format
Frame
[5]
2.7 Visual Basic 6.0 Enterprise Edition
Beberapa poin yang perlu diperhatikan dalam penggunaan
software
Visual
Basic 6.0 akan dijelaskan pada bagian ini.
2.7.1 Window Property
Window
ini digunakan untuk menampilkan pengaturan
property control
atau
form
yang dipilih. Sebuah
property
merupakan karakteristik obyek seperti
size
,
caption
, atau
color
[7]
.
2.7.2 Form Designer
Form designer
merupakan sebuah
window
yang digunakan untuk mengatur
2.7.3 Form Window Layout
Form Window layout
ini digunakan untuk mengontrol posisi
form
pada
aplikasi dengan menggunakan sistem grafik dalam sebuah layar.
2.7.4 Komunikasi Serial Dengan Visual Basic 6.0 Enterprises
Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data
secara sinkron dan asinkron. Pada komunikasi data serial sinkron,
clock
dikirim
bersama-sama dengan data serial, sedangkan komunikasi data secara asinkron,
clock
tidak dikirim bersama data serial, tetapi dibangkitkan sendiri-sendiri baik
pada sisi pengirim (
transmiter
) maupun penerima (
receiver
). Komunikasi data
secara serial ini dikerjakan oleh UART (
Universal Asinchronous
Receiver/Transmiter
).
Pada UART, kecepatan pengiriman data (
baud rate
) dan fase
clock
pada
sisi
transmiter
dan
receiver
harus sinkron. Untuk itu diperlukan sinkronisasi
antara
transmiter
dan
receiver
. Hal ini dilakukan oleh bit ‘
start
’ dan bit ‘
stop
’.
Ketika saluran transmisi dalam keadaan
idle
, output UART adalah dalam
keadaan logika ‘1’. Ketika
transmiter
ingin mengirimkan data,
output
UART
akan diset lebih dahulu ke logika ‘0’ untuk waktu 1 bit. Sinyal pada
receiver
akan
dikenali sebagai sinyal ‘
start’
yang digunakan untuk mensinkronkan fase
a.
Konfigurasi Port Serial
Gambar 2.19 menunjukkan gambar konektor port serial DB-9. Pada
komputer IBM PC kompatibel biasanya kita dapat menemukan dua konektor
yang dinamai COM1 dan COM2
Gambar 2.19 Konfigurasi Port Serial [12]
b.
Pengaksesan Port Serial
Untuk mengakses port serial terdapat dua cara yaitu dengan
mengakses secara langsung
register
UART dan dengan menggunakan
MSComm.
1.
Pengaksesan secara langsung melalui register UART
Saluran yang digunakan UART untuk komunikasi baik untuk
pengiriman maupun penerimaan data adalah saluran RxD dan TxD serta
saluran-saluran kontrol seperti DCD, DSR, RTS, CTS, DTR, dan RI.
Saluran-saluran ini ada yang sebagai
output
dan ada yang sebagai
input
.
melalui
register
UART. Tabel 2.4 berisi alamat dan lokasi bit saluran
tersebut pada
register
UART.
Tabel 2.4. Alamat dan lokasi bit register UART [7]
Nama
Pin
Nomor Pin
Pada DB-9
COM1 COM2
Bit Arah
TxD 3 2FBh
2FBh
6
Output
DTR 4 2FCh
2FCh
0
Output
RTS 7 2FCh
2FCh
1
Output
CTS 8 2FEh
2FEh
4
Input
DSR 6 2FEh
2FEh
5
Input
RI 9
2FEh
2FEh
6
Input
DCD 1 2FEh
2FEh
7
Input
Untuk dapat mengaksesnya kita dapat menggunakan fungsi
Port_Out dan Port_In yang terdapat pada Port_IO.DLL dan untuk men-
set
atau meng-
clear-
kan bit-bit tertentu kita dapat menggunakan prosedur
Set_Bit atau Clear_Bit.
2.
Pengaksesan dengan menggunakan MSComm
Kontrol MSComm menyediakan fasilitas komunikasi antara
program aplikasi yang kita buat dengan port serial untuk mengirim atau
menerima data melalui port serial. Beberapa
property
yang sering dipakai
adalah sebagai berikut :
a)
CommPort
: Digunakan untuk menentukan nomor
port
serial yang
akan dipakai
b)
Setting
: Digunakan untuk mengatur nilai
baud rate
,
parity,
jumlah
c)
PortOpen
: Digunakan untuk membuka ataupun menutup port
serial 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
pengirim.
2.8 RS 232
Standar sinyal komunikasi serial yang banyak digunakan adalah standar
RS232 yang dikembangkan oleh
Electronic Industry Association and the
Telecomunications Industry Association
(EIA/TIA) yang pertama kali dipublikasikan
pada tahun 1962. Ini terjadi jauh sebelum IC TTL populer sehingga sinyal ini tidak
ada hubungan sama sekali dengan level tegangan IC TTL. Standar ini hanya
menyangkut komunikasi data antara komputer (
Data Terminal Equipment
-DTE)
dengan alat-alat pelengkap komputer (
Data Circuit-Terminating Equipment
-DCE).
Standar RS232 inilah yang biasa digunakan pada port serial IBM PC kompatibel
Standar sinyal RS232 memiliki ketentuan level tegangan sebagai berikut :
1.
Logika “1” disebut “
mark
” terletak antara -3V hingga -25V.
2.
Logika “0” disebut “
space
” terletak antara +3V hingga +25V.
3.
Daerah level tegangan antara -3V hingga +3V adalah
invalid level
, yaitu
daerah tegangan yang tidak memiliki level logika pasti sehingga perlu
positif dari +25V juga harus dihindari karena tegangan tersebut dapat
merusak
line driver
saluran RS232.
Gambar 2.20 berikut adalah contoh level tegangan RS232 pada pengiriman
huruf “A” dalam format ASCII tanpa bit paritas.
Gambar 2.20 Level tegangan RS232 pada pengiriman huruf “A” tanpa bit paritas
2.9 Database
Database
dapat diartikan sebagai sekumpulan data yang terdiri atas satu atau
lebih tabel yang terintegrasi satu sama lain, di mana setiap pemakai (
user
) diberi
wewenang (otoriasasi) untuk dapat mengakses (mengubah, menghapus,
menganalisis, menambah, memperbaiki) data dalam tabel-tabel tersebut [6].
Tabel itu berfungsi untuk menyimpan data dan merupakan suatu data yang
berhubungan dengan topik tertentu. Tabel terdiri atas baris yang disebut
record
dan
kolom yang disebut
field
sehingga apabila dibayangkan dengan sebuah gambar,
Gambar 2.21 Struktur Database [9]
Ada beberapa istilah yang harus diketahui pada saat bekerja dengan sebuah
tabel
database
, yaitu:
1.
Field,
merupakan tempat dimana data atau informasi dalam kelompok yang
sama atau sejenis dimasukkan.
Field
pada umumnya tersimpan dalam bentuk
kolom vertikal pada tabel.
2.
Record,
merupakan data lengkap dalam jumlah tunggal yang biasanya
3.1
Diagram Blok Sistem
Telah dipaparkan sebelumnya tentang seluk beluk
smart card
dan beberapa
komponen pendukungnya. Untuk membuat suatu sistem informasi akademik
menggunakan media
smart card
, beberapa komponen tersebut digabungkan dalam
suatu blok sistem yang tampak pada gambar 3.1 berikut.
PROGRAM
UTAMA
ANTARMUKA
SERIAL
SMART
CARD
DATABASE
Gambar 3.1 Diagram Blok Sistem
Sistem dibuat dalam dua bagian utama yaitu PC (
Personal Computer
)
terminal atau sering disebut
card reader
dan
smart card
. Di dalam PC terminal
terbagi dalam beberapa bagian yaitu bagian program utama, bagian
database
, dan
bagian antarmuka serial.
Bagian program utama merupakan bagian pengendali pembacaan dan
penulisan kartu. Seluruh aktivitas sistem diatur pada bagian ini. Bagian
database
digunakan sebagai sumber data yang akan disimpan ke dalam
smart card
.
Database
berisi berbagai informasi akademik dari setiap mahasiswa. Bagian terakhir adalah
antarmuka serial yang diperlukan untuk mengatasi perbedaan level tegangan ketika
komunikasi terjadi antara PC dan mikrokontroler.
Smart card
dibuat modelnya dengan menggunakan mikrokontroler sebagai
pengganti
chip
.
Smart card
akan diisi dengan data-data historis mahasiswa yang
berasal dari
database
. Selain bisa diisi data yang telah disimpan di dalam
smart card
juga dapat dibaca kembali.
Aturan main dalam sistem yang akan dibuat adalah setiap mahasiswa
memiliki satu kartu. Setiap mahasiswa dapat membaca kartu namun tidak diijinkan
mengisi atau mengganti data pada kartu kecuali
password
baca. Hal ini untuk
menjaga validitas informasi didalam kartu. Pengisian kartu hanya bisa dilakukan oleh
pihak
administrator
. Dengan demikian pihak yang memiliki akses pada
database
mahasiswa hanyalah
administrator.
3.2
Perancangan perangkat keras
Perangkat keras dari sistem ada dua bagian yaitu model
smart card
berbasis
mikrokontroler ATTiny2313 dan antarmuka serial yang menjadi jalur penghubung
antara terminal dan
smart card
. Berikut ini akan dipaparkan mengenai perancangan
perangkat keras
smart card
dan antarmuka serial.
3.2.1 Smart Card
Desain
smart card
didasarkan pada standar ISO 7816 dengan sedikit
memiliki 8 port namun hanya akan digunakan 7 port. Gambar 3.2 adalah
konektor
smart card
yang telah dimodifikasi
Gambar 3.2 Kontak
smart card
Dengan menggunakan kontak tersebut maka
smart card
dibuat dengan
desain seperti pada gambar 3.3.
Smart card
dibuat dengan menggunakan PCB
(
Printed Circuit Board
) yang telah dicetak kontak dan jalur penghubung ke
mikrokontroler.
U1 ATTINNY2313 1 4 5 10 20 12 13 14 15 16 17 18 19 2 3 6 7 8 9 11 RESET XTAL2 XTAL1 GN D VC C PB0/AIN0 PB1/AIN1 PB2 PB3/OC1 PB4 PB5/MOSI PB6/MISO PB7/SCK PD0/RXD PD1/TXD PD2/INTO PD3/INT1 PD4/TO PD5/T1 PD6/ICP U2kontak smart card
3 2 4 7 8 1 5 6 N/A RST XTAL1 TX GND VCC XTAL2 RX
3.2.2 Antarmuka Serial
Bagian antarmuka serial pada sistem ini merupakan suatu rangkaian
elektronis yang mampu menyediakan setiap kebutuhan
smart card
untuk dapat
berkomunikasi dengan terminal. Kebutuhan tersebut menyangkut penyediaan
sumber listrik dan
clock
bagi
smart card
serta kemampuan untuk mengatasi
perbedaan level tegangan ketika terjadi komunikasi antara PC dan
smart card
.
a.
Catu Daya
Kebutuhan sumber tegangan tidak disediakan dari luar tetapi akan
memanfaatkan pin kontrol pada port serial yaitu DTR (
Data Terminal
Ready
). Pin DTR akan digunakan sebagai catu daya bagi
card reader
dan
smart card
. Perlu diketahui bahwa saluran DTR yang berlogika
low
dalam
port serial IBM PC kompatibel bertegangan +12 V ketika di-
set
sehingga
diperlukan komponen untuk menurunkan tegangan tersebut sampai +5 V [6].
Hal ini disebabkan
smart card
dioperasikan dengan catu daya sebesar +5 V.
Pembatasan tegangan pada level 5V dilakukan dengan menggunakan dioda
zener 5V1. Dioda ini jika dilewati oleh tegangan diatas 5,1V maka output
yang dihasilkan akan sebesar Vz.
b.
Sistem
Clock
Ada beberapa pilihan sumber
clock
yang dapat dipilih melalui bit
fuse
yang berada dalam
software downloader
atau
programer
. Pada perancangan
kali ini digunakan sumber
clock
oscilator kristal. Konfigurasi oscilator kristal
tampak pada gambar 3.4. XTAL1 dan XTAL2 adalah
input
dan
output
Gambar 3.4 Oscilator kristal [11]
Kapasitor keramik C1 dan C2 harus selalu diberi nilai yang sama.
Dari datasheet untuk kristal 4MHz (frekuensi sistem yang dipilih) nilai C1
dan C2 sebesar 12-22 pF.
c.
Konverter logika RS232 ke TTL
Telah dipaparkan sebelumnya bahwa ada perbedaan level tegangan
yang terjadi antara PC dan mikrokontroler ketika berkomunikasi. Perbedaan
level tegangan ini harus diatasi agar kedua perangkat bisa berkomunikasi.
Oleh karena konfigurasi komunikasi yang digunakan adalah RS232 maka
digunakan IC MAX 232 karena mampu mengkonversi level tegangan RS232
ke level TTL yang dimiliki oleh mikrokontroler. Gambar 3.5 menunjukkan
Gambar 3.5 Konfigurasi IC MAX 232
Pada gambar 3.7 berikut ini akan ditampilkan rangkaian antarmuka serial
secara keseluruhan.
3.2.3 Desain card reader
Rancangan
card reader
tampak pada gambar 3.8 berikut ini.
Gambar 3.7 Desain
card reader
3.3 Perancangan perangkat lunak
Perangkat lunak dari sistem yang dirancang dibagi menjadi dua yaitu
program sistem operasi
smart card
dan program PC terminal. Perancangan kedua
program tersebut akan dipaparkan pada bagian ini.
Algoritma yang dipakai dalam perancangan sistem adalah sebagai berikut
1.
Pengguna mengaktifkan program PC terminal.
2.
Pengguna diminta untuk memilih mode program “admin” atau “user”.
3.
Mode “admin” ditujukan untuk administrator yang memiliki akses untuk
4.
Mode “user” ditujukan untuk mahasiswa. Pada mode ini mahasiswa dapat
membaca
smart card
dan meng-
upgrade
smart card
apabila ada data baru.
5.
Program PC terminal akan meminta pengguna untuk memasukkan kartu.
6.
Pengguna mengaktifkan tombol untuk menginisialisasi kartu dengan
mengirim sinyal reset.
7.
Smart card
menerima reset dan mengirim ATR ke terminal.
8.
Terminal terima ATR dan melakukan verifikasi terhadap kompatibilitas
kartu.
9.
Setelah ATR dipenuhi maka komunikasi antara terminal dan
smart card
bisa
dijalankan. Jika tidak maka
user
harus mengganti kartu atau meresetnya.
10.
Komunikasi antara terminal dan
smart card
dilakukan dengan command yang
telah ditentukan.
Algoritma diatas dapat diimplementasikan ke dalam
flowchart
sistem yang
tampak pada gambar 3.8. Sedangkan hubungan komunikasi antara PC terminal
dengan
smart card
yang menyangkut masalah protokol komunikasi ditunjukkan oleh
Gambar 3.8
Flowchart
sistem
3.3.1 Perangkat lunak smart card
Untuk merancang sistem operasi
smart card
ada beberapa hal yang perlu
didefinisikan terlebih dahulu. Hal tersebut adalah data dan lokasi memori serta
protokol komunikasi yang digunakan.
a.
Data dan lokasi memori
Data-data yang akan disimpan dalam
smart card
merupakan data
historis mahasiswa. Karena mikrokontroler yang dipakai memiliki ruang
memori yang terbatas sebesar 128 byte maka ada data yang akan disimpan
dalam bentuk kode. Pada tabel 3.1 akan ditampilkan data-data yang disimpan
beserta ruang memorinya.
Tabel 3.1. Data dan lokasi memori
KETERANGAN DATA(CONTOH)
PANJANG DATA (BYTE)
ALAMAT DATA
PIN 1234 4 00H-03H
Nama Suryo Indrianto 20 04H-18H
NIM 035114014 9 19H-21H
Pemb. akademik PYM 3 22H-24H
IPK 3,6 4 25H-28H
Persentase Nilai D (%) 0 3 29H-2BH
Persentase Nilai E (%) 0 3 2CH-2EH
Semester ditempuh 8 2 2FH-30H
Total SKS 140 3 31H-33H
Lunas UKD ? Sudah
Lunas SKS ? Sudah
1* 34H
Sudah KKL ? Sudah
Sudah KP ? Sudah
Sudah Pra TA ? Sudah
Sudah kolokium ? Sudah
Sudah TA ? Sudah
Sudah pendadaran ? Sudah
Sudah yudisium Sudah
Judul sudah disetujui ? Sudah
1** 35H
Batas akhir kolokium 10/10/07 8 36H-3DH
Batas akhir pendadaran 10/10/07 8 3EH-45H
Batas akhir yudisium 10/10/07 8 46H-4DH
Validity expired 30/08/08 8 4EH-55H
Jumlah data seluruhnya adalah sebesar 85 byte. Pada beberapa data
dilakukan pengkodean dengan 2 bit (*) dan 8 bit (**) sehingga kebutuhan
memori tidak terlalu banyak..
b.
Protokol komunikasi
Berdasarkan standarisasi ISO 7816 maka format ATR dibuat mengacu
pada gambar 3.10 dan protokol komunikasi
smart card
dirancang dengan
TPDU
Header
pada tabel 3.2.
Gambar 3.10 Format ATR
Tabel 3.2. Tabel protokol komunikasi
BYTE DEFINISI NILAI
BYTE
CLA
Header byte
01H
Terminal kirim data
02H
Terminal terima data
03H
INS
Status 04H
P1
Alamat data
Maks.7FH
P2
Panjang Data
Maks.20byte
Terminal kirim data (Lc)
02H
Terminal terima data (Le)
03H
P3
Status 04H
CLA merupakan
class instructon
yang dimiliki oleh
smart card
yang
atau mengirim data. INS akan bernilai 04H jika tidak ada pertukaran data. P3
adalah parameter yang akan memperkuat INS. Apabila INS dan P3 tidak
sama artinya terjadi suatu kesalahan. P1 digunakan sebagai indikator alamat
data yang harus dibaca atau disimpan. Alamat data maksimum adalah 7FH
yang merupakan ruang memori terakhir pada EEPROM ATTiny2313. P2
digunakan untuk mengetahui panjang data. Panjang data akan digunakan oleh
suatu pencacah untuk mengendalikan pertukaran data serta mencegah
digunakannya ruang memori yang tidak tepat.
Suatu
command
akan diakhiri oleh status yang merupakan bagian dari
APDU
response
. Kode status yang digunakan pada perancangan ini mengacu
pada tabel 2.1.
c.
Sistem operasi
smart card
Pada saat
smart card
mengalami kondisi reset atau pertama kali
beroperasi
smart card
akan mengirimkan ATR sebagai inisialisasi terminal
terhadap
smart card
. ATR tersimpan pada memori program dan dikirim
dengan menggunakan
subroutine
serial kirim.
Subroutine
tersebut tampak
pada gambar 3.11.
Sistem operasi pada
smart card
dirancang agar mampu menangani
perintah atau
command
yang diberikan terminal.
Command
terdiri dari lima
byte diikuti dengan data jika diperlukan. Oleh karena itu program dibuat
untuk melakukan pengecekan setiap byte
command
, jika sudah sesuai maka
sistem akan mengeksekusi instruksi yang terdapat pada
command
. Instruksi
tersebut bisa berupa penyimpanan data, pengiriman data, atau hanya akan
mengetahui status kartu. Apabila terjadi kesalahan
smart card
akan langsung
mengirimkan status kesalahan.
Flowchart
dari sistem operasi
smart card
dapat dilihat pada gambar 3.12.
Gambar 3.12
Flowchart
sistem operasi
smart card
Langkah selanjutnya program akan melakukan pengecekan setiap byte
command
sudah benar maka program akan menerjemahkan instruksi apakah
akan menerima data, mengirim data, atau pengecekan status.
Flowchart
cek
command
mengacu pada gambar 3.13.
Program dimulai dengan mengecek CLA, INS, P1, P2, dan terakhir
P3. Setiap selesai mengecek 1 byte
command,
program akan mengisi
register
status.
Register
status ini akan langsung dikirim ke terminal apabila terjadi
kesalahan. Setelah
register
status dikirim ke terminal program akan
berputar-putar pada satu instruksi. Caranya dengan membuat syarat percabangan yang
akan lompat jika SW1=00h. Kejadian ini tidak akan pernah terjadi karena
SW1 tidak pernah sama dengan 00h. Kondisi ini diperlukan untuk membuat
program tidak menjalankan instruksi berikutnya sampai
user
mereset kartu.
Instruksi pengiriman dan penerimaan data selalu diikuti dengan
pengambilan parameter alamat dan panjang data yang terdapat pada
command
.
Flowchart
simpan data mengacu pada gambar 3.14. Pada
flowchart
tampak bahwa setelah mengambil parameter alamat awal data,
panjang data, dan data kemudian program akan menunggu sampai penulisan
EEPROM sebelumnya selesai yang ditandai dengan bit EEPE pada EECR
di-clear
oleh
hardware.
Selesai menyimpan satu byte data lalu alamat EEPROM
dan
register
data sementara ditambah satu. Sedangkan panjang data dikurangi
dengan satu. Kondisi ini berlangsung terus menerus sampai semua data
selesai disimpan pada EEPROM.
Proses instruksi baca data dapat dilihat pada gambar 3.15. Setelah
menunggu sampai pembacaan EEPROM sebelumnya selesai dilaksanakan,
program akan memasukkan alamat data pada EEPROM yang akan dibaca.
Kemudian data akan diambil dan disimpan pada register sementara sebelum
akhirnya dikirim ke terminal.
Subroutine
serial_kirim digunakan untuk
pengiriman data ke terminal mengacu pada gambar 3.11. Proses ini
berlangsung sampai semua data yang dikehendaki dibaca.
Selesai mengeksekusi instruksi,
smart card
akan mengakhiri suatu
command
dengan mengirimkan status.
Flowchart subroutine
serial_status
mengacu pada gambar 3.16. Untuk mencegah adanya kesalahan pembacaan
command
dan data maka seluruh
register
sementara yang sebelumnya
digunakan untuk lokasi penyimpanan sementara akan dikosongkan.
Gambar 3.16
Flowchart subroutine
serial_status
Ketika program selesai melakukan pengosongan
register
sementara
artinya satu siklus komunikasi telah dilakukan oleh
smart card
dan terminal.
3.3.2 Perangkat lunak PC terminal
Perangkat lunak PC terminal dirancang untuk memberikan kemudahan
bagi
user
ketika menggunakan.
Ada 2 program utama yang hendak dirancang. Pertama, program “SIA”
atau Sistem Informasi Akademik , program ini memiliki dua mode yaitu “admin”
dan “user”. Mode “admin” ditujukan untuk pihak yang diberi otoritas terhadap
sistem informasi akademik sedangkan mode user ditujukan kepada mahasiswa.
Kedua, program “READER”, program ini ditujukan kepada pemilik
smart card
agar dapat melakukan pembacaan kartu ditempat lain selain di kampus. Program
kedua ini sebenarnya sama dengan program pertama pada mode “user” namun
pada program ini fasilitas yang disediakan hanya pembacaan kartu. Dengan
demikian perancangan program akan mengacu pada program pertama.
Sebelum merancang aliran program, terlebih dahulu dirancang
layout
form
sebagai
user interface
. Terminal memiliki 3 form utama yaitu menu, admin,
dan user. Gambar 3.17 menunjukkan form
menu, gambar 3.8 menunjukkan form
administrator, dan gambar 3.19 meunjukkan form user.
Selain itu ada form lain yaitu form help, pswadmin (
password
untuk
administrator
), dan pswuser (
password
untuk
user
) sebagai form pelengkap.
Form help ditunjukkan oleh gambar 3.20, form pswadmin ditunjukkan oleh
Gambar 3.17 Form menu
Gambar 3.18 Form admin
Gambar 3.20 Form pswadmin
Gambar 3.21 Form pswuser
a.
Form Menu
Pada form ini terdapat 4 tombol yaitu “help”, “admin”, “user”, dan
“quit”. Tombol help untuk menampilkan menu bantu, tombol admin untuk
mengaktifkan mode “admin”, tombol “user” untuk mengaktifkan mode
“user”, dan tombol “quit” untuk keluar dari program.
Aliran program pada form menu dapat dlihat pada gambar 3.23.
Program akan melakukan proses inisialisasi saluran serial dan beberapa
konstanta serta vareabel yang diperlukan. Selanjutnya program akan
menampilkan form menu dan menonaktifkan form lain. Program akan
menunggu perintah pada masing-masing tombol.
Gambar 3.23
Flowchart
form menu
b.
Form Admin
Form
administrator
fungsi utamanya adalah untuk pengaksesan
data
digunakan untuk menyimpan data baru pada
database
. “Edit” dipakai untuk
mengubah data yang telah tersimpan pada
database
. “Delete” untuk
menghapus data pada
database
. “Search” digunakan untuk mencari data pada
database
. “Write” untuk menulis data ke
smart card
. “Config” digunakan
untuk menginisialisasi
smart card
. “Menu” digunakan untuk kembali ke form
menu dan “quit” untuk keluar dari program.
Flowchart
form admin mengacu
pada gambar 3.24.
Gambar 3.24
Flowchart
form
admin
Tombol
new
memiliki aliran program seperti tampak pada gambar
3.25. Setelah NIM diketik, program akan mencari data berdasarkan NIM
Gambar 3.25
Flowchart
Simpan data baru
Flowchart
proses edit data tampak pada gambar 3.26. Program akan
mencari data berdasarkan NIM dan kemudian menampilkannya. Jika data
tidak ditemukan program akan menampilkan pesan bahwa data tidak ada.
Gambar 3.26
Flowchart
edit data
Gambar 3.27
Flowchart
hapus data
Untuk
mengisi
smart card
terlebih dahulu
smart card
harus
diinisialisasi. Proses ini dilakukan dengan menekan tombol “config”.
Flowchart
“config” mengacu pada gambar 3.28. Jika kartu valid maka
tombol “write” akan aktif namun jika tidak akan sebaliknya.
Flowchart
penulisan data ke
smart card
tampak pada gambar 3.29.
Proses dimulai dengan melakukan pengecekan terhadap data yang hendak
dikirim apakah sudah lengkap atau belum. Jika belum lengkap maka program
akan memberi tahu bagian mana yang belum lengkap. Jika sudah lengkap
maka data akan dikirim satu per satu ke
smart card
. Setelah satu data terkirim
program akan melakukan pengecekan terhadap
response
yang diterima.
Setelah
response
dari kartu OK proses pengiriman data selanjutnya dapat
dijalankan sampai semua data selesai dikirim.
c.
Form user
Fungsi program pada form ini adalah untuk pembacaan
smart card
dan untuk
upgrade
data
smart card
. Aliran program pada form user tampak
pada gambar 3.30. Aliran program pembacaan kartu mengacu pada gambar
3.31. Program dimulai dengan melakukan pengecekan status kartu. Apabila
status kartu OK maka proses baca data bisa dimulai namun jika tidak akan
ditampilkan pesan kartu error. Setelah membaca data,
response
yang
mengikuti data akan dicek.
Response
menandai satu siklus pembacaan selesai
dilakuan. Program akan terus melakukan pembacaan sampai semua data
selesai dibaca.
Gambar 3.31
Flowchart
baca data
smart card
(
read
)
Fungsi kedua pada form ini adalah untuk meng-
upgrade
data
smart
card
. Proses upgrade didahului dengan membandingkan data pada database
dengan data
smart card
untuk mencari data baru. Apabila ada data yang
berubah maka pemilik
smart card
dapat langsung memperbarui data
smart
Gambar 3.32
Flowchart
upgrade
data
Pada form
user
juga tersedia fasilitas untuk mengganti
password
baca.
Gambar 3.33
Flowchart
ubah
password
d.
Form pelengkap
Form ini terdiri dari form help, form pswadmin, dan form pswuser.
Form help merupakan form bantuan yang tugasnya menampilkan teks yang
berisi informasi penggunaan program. Program pada form ini memanfaatkan
fasilitas OLE yang mampu memanggil aplikasi lain dari
visual basic
.
Form pswadmin berguna untuk memproteksi form admin agar tidak
sembarang orang bisa menggunakannya.
Password
yang diketik akan
dibandingkan dengan konstanta yang telah didefinisikan program.
Flowchart
Pswuser berfungsi untuk memproteksi form user.
Flowchart
form ini
tampak pada gambar 3.35. Data yang dibandingkan dengan
smart card
adalah
NIM dan password.
Gambar 3.34
Flowchart
password
untuk admin
Gambar
Dokumen terkait
Pengembangan PKW melalui peningkatan fungsi industri pengolahan dan industri jasa hasil hutan yang bernilai tambah tinggi dan ramah lingkungan dilakukan di PKW Tegal dan
Penilaian unjuk kerja merupakan penilaian yang dilakukan dengan mengamati kegiatan peserta didik dalam melakukan sesuatu. Penilaian ini cocok digunakan untuk
Oleh karena itu, pantai- pantai yang rawan gempa bumi dan tsunami adalah pantai-pantai yang berhadapan dengan daerah penunjangan (subduksi) antara dua lempengan taktonik
Penerbitan buku Standar Operasional Prosedur Kegiatan Kemahasiswaan ini diharapkan dapat memudahkan mahasiswa atau unit kegiatan mahasiswa Politeknik Negeri
PUSAT KAJIAN SUMBERDAYA PESISIR DAN LAUTAN INSTITUT PERTANIAN BOGOR.. PENGANTAR EKONOMI
Pengetahuan tentang Tuhan dan kesetiaan terhadap aturan-aturan-Nya merupakan dasar bagi tiap agama, baik agama langit atau pun bumi. Namun kesadaran manusia akan
memberikan percobaan gratis secara cuma – cuma kepada konsumen yang tujuannya untuk memberikan gambaran baik dalam manfaat, rupa, ataupun bau dari produk yang dipromosikan,
Penelitian ini bertujuan untuk mengetahui apakah terdapat pengaruh signifikan pada penerapan penerapan e-SPT PPN, e-Faktur, dan Sanksi Administrasi terhadap tingkat kepatuhan