BAB III PERANCANGAN SISTEM 3.1 Pengertian Umum Sistem yang dirancang adalah sistem yang berbasiskan mikrokontroller dengan menggunakan smart card yang diaplikasikan pada Stasiun Kereta Api sebagai tanda untuk memasuki peron stasiun dengan menggunakan komputer. Sistem ini bekerja dengan cara mengisi saldo pada smart card, kemudian smart card tersebut digunakan untuk memasuki peron dan digunakan untuk menaiki kereta pada stasiun kereta api. Pada sistem ini menggunakan komputer sebagai bagian utama dalam melakukan transaksi, mikrokontroller serta LCD yang berfungsi untuk menampilkan jumlah saldo yang tersisa. 3.2 Perancangan Blok Diagram Sistem ini terdiri dari dua buah sistem yang berbeda, sistem yang pertama merupakan Sistem Pengisian saldo dan data keberangkatan pada smart card. Sistem yang kedua merupakan sistem masuk ke peron (validasi data keberangkatan dan saldo). Di bawah ini adalah blok diagram sistem pengisian saldo dan data keberangkatan pada smart card : Smart Card Gambar 3.1 Smart Card Reader Komputer Blok diagram pengisian saldo dan data keberangkatan 35
Cara kerja pengisian saldo dan data keberangkatan pada smart card : Pertama tama smart card dibaca oleh Komputer melalui Smart Card Reader. Kemudian pada smart card tersebut terjadi proses penginputan saldo dan data keberangkatan. Dimana jumlah saldo akan ditambahkan sesuai dengan keinginan pengguna jasa kereta api sedangkan data keberangkatan diinput sesuai dengan jadwal. Setelah semua proses di atas selesai, semua data akan ditulis ke smart card, dan pengguna beralih ke sistem berikutnya untuk menuju ke peron. Di bawah ini adalah blok diagram sistem untuk masuk ke peron : Gambar 3.2 Blok diagram sistem untuk masuk ke peron Smart Card: merupakan sejenis kartu yang akan berisi data berupa saldo, data keberangkatan.. Smart Card Reader: merupakan alat yang berfungsi untuk membaca data yang ditulis pada smart card atau pun menulis data ke dalam smart card. Komputer: sebagai bagian utama dalam melakukan transaksi yang terjadi pada smart card reader. Mikrokontroller: merupakan sebuah mikroprosesor yang dipergunakan khusus untuk keperluan kontrol dan mengirimkan data ke LCD. 36
LCD: berfungsi sebagai display. Cara kerja sistem untuk masuk ke peron : Smart card dibaca oleh Smart Card Reader di mana yang dibaca adalah data berupa jumlah saldo, tanggal, dan jam keberangkatan. Jika jumlah saldo mencukupi maka tanggal dan jam pada smart card akan dibandingkan dengan tanggal dan jam pada komputer. Apabila tanggal dan jam sesuai dengan data yang terdapat pada smart card, maka mikrokontroller akan menerima data dari PC melalui IC MAX 232 yang kemudian akan ditampilkan pada LCD berupa tampilan sisa saldo. 3.2.1 Perancangan Perangkat Keras 3.2.1.1 Modul Max 232 U2 VCC C4 C5 C6 2.2uF 2.2uF 1uF 1 2 3 4 5 6 7 8 Max232 16 15 14 13 12 11 10 9 5V C7 1uF J2 DSUB9M Gambar 3.3 Modul Max 232 37
Batas spesifikasi pada baud rate 9600 bps. RS 232 mempunyai tegangan standar yaitu level logika -12 volt untuk logika 1 dan + 12 volt untuk logika 0. Berikut ini adalah fungsi dari masing masing pin pada RS 232 : Pin 1: protektif ground yang berfungsi untuk menghindari kejutan listrik akibat kegagalan catu daya. Pin 2: received data berfungsi sebagai jalur penerima data dari DCE ke DTE. Pin 3: transmitted data berfungsi untuk mengirimkan data dari DTE ke DCE. Pin 4: data terminal ready berfungsi untuk memberitahukan DCE bahwa DTE sudah siap untuk bekerja. Pin 5: signal ground berfungsi untuk referensi tegangan antar muka. Pin 6: data set ready berfungsi untuk memberitahukan DTE bahwa DCE akan bekerja. Pin 10: Tx berfungsi untuk mengirim data ke mikrokontroller. Pin 12: Rx berfungsi untuk penerima data dari mikrokotroller. Pin 15: ground Pin 16: Vcc 38
3.2.1.2 Modul AT89S52 Gambar 3.4 Modul AT89S52 Pada bagian modul ini menggunakan AT89S52 mengendalikan perangkat keras (hardware) sistem secara keseluruhan dan berguna untuk menyimpan program, dan melaksanakan instruksi sebuah program yang tersimpan pada memori. Berdasarkan buku ( 8 bit mikrokontroller with 8K bytes in system programmable flash ) menyatakan bahwa : Pin 31 VPP atau EA itu dihubungkan ke Vcc 5 volt yang berguna untuk membaca program yang tersimpan pada internal mikrokontroller. XTAL dihubungkan ke pin X1 dan pin X2 serta C1, C2 yang berguna untuk membangkitkan pulsa dan mengakibatkan waktu internal beroperasi. 39
R1 yang seri dengan C1 dan SW PB1 (push button) yang terhubung paralel, ini berguna untuk mereset mikrokontroller jika akan memulai program dari keadaan pertama (awal). Reset bersifat aktif high (aktif jika diberi logika high atau 1). Port 0 dan port 2 berfungsi sebagai keluaran (output) pengaturan ke LCD. Port 1 dan port 3 berfungsi sebagai masukkan (input) dari modul masukkan (komputer). Pada rangkain modul proses ini, IC mikrokontroller AT89S52 itu memliki RAM internal sebesar 256 x 8-bit Internal RAM. Berikut ini adalah fungsi dari masing masing pin pada mikrokontroller AT89S52 : Pin P21-P28: berfungsi untuk mengirimkan karakter ke LCD. Pin P29-P31: berfungsi untuk mengontrol LCD. Pin P9 = RST Reset input. Pin reset berfungsi untuk mereset prosesor bila diberi logika 1. Reset diperlukan prosesor untuk inisialisasi internal, seperti mengisi register dengan nilai tertentu dan melakukan instruksi JUMP ke alamat awal program yaitu 0000. Pin P31 = EA / VPP Berguna untuk memilih program yang akan diambil dari EPROM eksternal atau EEPROM internal IC. XTAL: berfungsi untuk memberikan clock ke mikrokontroller. 40
3.2.1.3 Modul LCD VCC P0.2, P0.5 P0.7 Mikrokontroller P2.0...P2.7 Mikrokontroller Gambar 3.5 Modul LCD Penampilan karakter berupa LCD (Liquid Crystal Display) dapat menampilkan 20 karakter x 4 baris. Modul LCD ini dirancang agar dapat berhubungan langsung dengan sistem minimum. Rangkaian pengendalinya menggunakan komponen yang terdiri dari sebuah potensiometer 1 Kohm. Rangkaian tersebut dapat dilihat pada gambar 3.4. Digunakan potensiometer 1 Kohm berfungsi untuk mengatur terang gelapnya tampilan karakter pada layar LCD. 41
Tabel 3.1 Pin function No Symbol Function 1 Vss GND pin, 0V 2 Vdd Positive power pin, +5V 3 Vo LCD drive voltage input pin 4 Rs Data / Instruction select input pin 5 R/W Read / Write select input pin 6 E Enable Input pin 7 14 D0 D7 Data Bus Line 15 Led A LED Power Supply 16 Led K LED Power Supply 3.3 Diagram Alir 3.3.1 Diagram Alir pada Komputer 3.3.1.1 Perancangan Program Menu Utama pada Komputer Program ini di mulai dengan inisialisasi serial port, setelah itu akan ditampilkan display menu utama dan pilihan menu. Dalam pilihan menu terdiri dari : Mode Manual, Mode Otomatis, dan Mode Cek Info, serta Help. Mode Manual merupakan mode administrator di mana administrator menginput saldo dan data keberangkatan. Mode Otomatis merupakan mode dimana terjadi pengurangan saldo dan pengecekkan data keberangkatan. Mode Cek Info berfungsi untuk mengecek dan menampilkan isi data smart card berupa jumlah saldo, no.kursi, dan no.gerbong tanpa terjadi pengurangan saldo. Help berisi cara pengoperasian program. 42
Start Initialisasi Sistem Menu Utama Ambil Pilihan A Pilihan? 1. Mode Manual 2. Mode Otomatis 3. Mode Cek Info 4. Help A Gambar 3.6 Flowchart menu utama pada komputer 3.3.1.2 Perancangan Program Mode Manual pada Komputer Program ini di mulai dengan inisialisasi serial port, setelah itu akan terjadi pengecekkan smart card ada atau tidak. Jika ada maka baca data smart card. Kemudian input saldo yang diinginkan oleh User serta input data keberangkatan, berupa tanggal, jam, no.gerbong, dan no.kursi. Setelah proses diatas selesai maka semua data tersebut akan di tulis ke smart card melalui smart card reader. Selanjutnya, program akan kembali ke proses ambil pilihan. 43
Mode Manual Initialisasi Sistem Ada Smart Card? Ya Baca Smart Card Tidak Input Saldo yang diinginkan Input Tanggal Keberangkatan Input Jam Keberangkatan Input No Gerbong Input No Kursi Tulis Data Kembali Gambar 3.7 Flowchart mode manual pada komputer 3.3.1.3 Perancangan Program Mode Otomatis pada Komputer Program ini di mulai dengan inisialisasi serial port, setelah itu akan terjadi pengecekkan smart card ada atau tidak. Jika ada maka baca data 44
smart card. Kemudian terjadi pengecekkan saldo, jika saldo tidak mencukupi maka akan tampil display saldo minimal Rp 65.000. jika mencukupi maka cek tanggal, jika tanggal tidak sesuai maka akan tampil display tanggal tidak sesuai. Jika sesuai maka cek jam, bila jam tidak sesuai maka tampil display jam tidak sesuai. Jika sesuai,maka terjadi pengurangan saldo dengan tarif KA. Setelah semua proses selesai maka data tersebut akan ditulis ke smart card melalui smart card reader. Dan sisa saldo akan ditampilkan ke LCD berupa sisa saldo serta pintu terbuka. Selanjutnya, program akan kembali ke proses ambil pilihan. Mode Otomatis Initialisasi Sistem Ada Smart Card? Ya Tidak Baca Smart Card Saldo 65000 Tidak Display Saldo Minimal Rp 65000 Ya Tgl berangkat = Tgl PC Ya Jam berangkat Jam PC Tidak Tidak Display Tanggal tidak sesuai Display Jam tidak sesuai B C 45
B Sisa saldo = saldo input - tarif Tulis data ke smart card Tampilkan sisa saldo Pintu terbuka C Kembali Gambar 3.8 Flowchart mode otomatis pada komputer 3.3.1.4 Perancangan Program Mode Cek Info pada Komputer Program ini di mulai dengan inisialisasi serial port, setelah itu akan terjadi pengecekkan smart card ada atau tidak. Jika ada maka baca data smart card. Kemudian akan ditampilkan sisa saldo, dan data keberangkatan berupa tanggal keberangkatan, jam keberangkatan, no gerbong serta no kursi yang terdapat dalam smart card. Dimana pada mode ini tidak terjadi pemotongan saldo. Selanjutnya, program akan kembali ke proses ambil pilihan. 46
Mode Cek Info Initialisasi Sistem Ada Smart Card? Tidak Ya Baca Smart Card Tampilkan sisa saldo Tampilkan tanggal keberangkatan Tampilkan jam keberangkatan Tampilkan no gerbong Tampilkan no kursi Kembali Gambar 3.9 Flowchart mode cek info pada komputer 3.3.1.5 Perancangan Program Help pada Komputer Program ini hanya berisi cara pengoperasian program. Di mana terdapat langkah langkah dan penjelasan mengenai pengoperasian program. 47
3.3.2 Perancangan Tampilan Menu Berikut ini adalah tampilan menu yang dirancang. Gambar 3.8 adalah layar Menu Utama, dimana terdiri dari empat buah mode yaitu mode manual, mode otomatis, mode info, dan help. 3.3.2.1 Menu Utama 1 2 3 11 12 13 14 15 16 17 18 4 5 6 7 8 9 10 19 20 21 22 23 24 25 26 Gambar 3.10 Tampilan Menu Utama Keterangan : 1. Command button ini berfungsi untuk menghubungkan smart card reader ke komputer. 48
2. Command button ini berfungsi untuk memutuskan hubungan antara smard card reader dengan komputer. 3. Text box ini berfungsi untuk menampilkan informasi tentang koneksi antara smart card reader dengan komputer. 4. Command button ini berfungsi untuk menampilkan informasi data yang terdapat pada smart card. 5. Text box ini berfungsi untuk menginput jumlah saldo yang diinginkan user. 6. Command button ini berfungsi untuk menulis jumlah saldo yang diinginkan user ke smard card. 7. Command button ini berfungsi untuk mengalihkan program ke sistem penginputan data keberangkatan yang dilakukan oleh administrator. 8. Command button ini berfungsi untuk mengalihkan program ke sistem pengecekkan validasi saldo dan data keberangkatan. 9. Command button ini berfungsi untuk menampilkan langkah langkah pengoperasian program. 10. Command button ini berfungsi untuk menampilkan jumlah saldo dan data keberangkatan yang terdapat dalam smart card. Pada mode ini terjadi pengurangan saldo. 11. Text box ini berfungsi untuk menginput tanggal keberangkatan sesuai dengan jadwal yang tersedia dan keinginan user. 49
12. Text box ini berfungsi untuk menginput bulan keberangkatan sesuai dengan jadwal yang tersedia dan keinginan user. 13. Text box ini berfungsi untuk menginput tahun keberangkatan sesuai dengan jadwal yang tersedia dan keinginan user. 14. Text box ini berfungsi untuk menginput jam keberangkatan sesuai dengan jadwal yang tersedia dan keinginan user. 15. Text box ini berfungsi untuk menginput menit keberangkatan sesuai dengan jadwal yang tersedia dan keinginan user. 16. Text box ini berfungsi untuk menginput nomor gerbong kereta api. 17. Text box ini berfungsi untuk menginput nomor kursi yang terdapat pada kereta api. 18. Command button ini berfungsi untuk menulis semua data keberangkatan ke smard card 19. Text box ini berfungsi untuk menampilkan jumlah sisa saldo yang terakhir. 20. Text box ini berfungsi untuk menampilkan tanggal keberangkatan sesuai dengan data yang terdapat pada smart card. 21. Text box ini berfungsi untuk menampilkan bulan keberangkatan sesuai dengan data yang terdapat pada smart card. 22. Text box ini berfungsi untuk menampilkan tahun keberangkatan sesuai dengan data yang terdapat pada smart card. 23. Text box ini berfungsi untuk menampilkan jam keberangkatan sesuai dengan data yang terdapat pada smart card. 50
24. Text box ini berfungsi untuk menampilkan menit keberangkatan sesuai dengan data yang terdapat pada smart card. 25. Text box ini berfungsi untuk menampilkan nomor gerbong sesuai dengan data yang terdapat pada smart card. 26. Text box ini berfungsi untuk menampilkan nomor kursi sesuai dengan data yang terdapat pada smart card. 3.3.2.2 Help Berikut ini adalah tampilan menu yang dirancang. Gambar 3.9 Merupakan langkah langkah pengoperasian program. Gambar 3.11 Tampilan Help 51
Keterangan : 27. Text box ini berfungsi untuk menampilkan langkah langkah pengoperasian program secara keseluruhan. 28. Command button ini berfungsi untuk mengembalikan tampilan ke menu awal. 3.3.2.3 Menu User Gambar 3.12 Tampilan Menu User 29. Text box ini berfungsi untuk menampilkan informasi sisa saldo yang terdapat pada smart card. 30. Text box ini berfungsi untuk menampilkan informasi tanggal keberangkatan yang terdapat pada smart card. 31. Text box ini berfungsi untuk menampilkan informasi bulan keberangkatan yang terdapat pada smart card. 32. Text box ini berfungsi untuk menampilkan informasi tahun keberangkatan yang terdapat pada smart card. 52
33. Text box ini berfungsi untuk menampilkan informasi jam keberangkatan yang terdapat pada smart card. 34. Text box ini berfungsi untuk menampilkan informasi menit keberangkatan yang terdapat pada smart card. 35. Text box ini berfungsi untuk menampilkan informasi no gerbong yang terdapat pada smart card. 36. Text box ini berfungsi untuk menampilkan informasi no kursi yang terdapat pada smart card. 3.4 Rancang Bangun Gambar 3.13 Rancang bangun sistem minimum 53
Tahapan pembuatan kotak modul smart card reader dan lcd yang dapat dilihat pada gambar 3.10 di atas adalah sebagai berikut : 1. Potong gabus untuk membuat box dengan ukuran panjang 18 cm, lebar 17 cm, dan tinggi 18 cm. 2. Di bagian depan dibuat lobang secukupnya sesuai dengan ukuran smart card reader dan lcd. 3. Di bagian belakang dibuat lobang secukupnya sesuai dengan kabel yang akan disambungkan ke komputer. 4. Di bagian dalam box berisi modul mikrokontroller. 54