• Tidak ada hasil yang ditemukan

BAB 3 ANALISA DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISA DAN PERANCANGAN"

Copied!
34
0
0

Teks penuh

(1)

BAB 3

ANALISA DAN PERANCANGAN

3.1 Analisa

Analisa bertujuan untuk mengkaji situasi dan memutuskan dengan tepat tentang masalah yang akan dipecahkan. Dalam tahap analisa langkah pertama yang harus dilakukan adalah mengidentifikasi masalah seperti input apa saja yang dibutuhkan serta output apa yang akan dihasilkan.

Input adalah data-data yang dimasukkan, yang nantinya akan diproses sehingga bisa menghasilkan output sesuai dengan yang diharapkan. Input ini yang nantinya akan mengalami proses encoding yaitu mengetikkan data, mencocokan karakter dengan tipe data yang digunakan dan mengubah karakter menjadi image QR Code. Dari proses tersebut, dihasilkan sebuah output berupa image QR Code yang nantinya akan dibaca menggunakan aplikasi QR Code Reader.

3.1.1 Analisa Kebutuhan

Analisa kebutuhan merupakan analisis terhadap komponen-komponen yang digunakan untuk pembuatan QR Code pada sistem online reservasi tiket pesawat ini. Pada studi kasus maskapai penerbangan XYZ, setiap data pemesanan tiket yang diinput user akan dikirimkan melalui email dimana kode pemesanan tiket masih dalam bentuk barcode atau kode batang. Dengan masalah yang dihadapi tersebut penulis mencoba menerapkan untuk mengubah data kode pemesanan tiket pesawat yang akan dikirim melalui email pengguna dalam bentuk simbol, dalam hal ini penulis menggunakan QR Code atau kode 2 dimensi. Kode pemesanan tiket dalam bentuk QR Code dapat dibaca dengan menggunakan

(2)

decoder QR Code dan untuk pengecekan valid atau tidaknya tiket, melalui dokumen XML yang berisi data pemesanan tiket di server.

3.1.2 Analisa Transformasi Data

Berdasarkan file dokumen ISO QR Code symbology specification yang menjelaskan tahapan - tahapan dari penyusunan dan struktur QR Code penulis mencoba menjabarkan setiap tahapan yang ada di BAB 2 dengan menggunakan sampel data sebagai contoh untuk dirubah kedalam bentuk QR Code, dalam hal ini penulis hanya menggunakan mode alphanumeric saja.

Dalam tipe data alphanumeric terdapat 45 karakter berbeda yang dikenali oleh QR Code yaitu diantaranya :

a. 10 karakter digit angka yaitu angka 0 sampai dengan angka 9 dengan nilai byte data dimulai dari 30HEX hingga 39HEX.

b. 26 karakter huruf alphabet yaitu huruf A-Z dengan nilai byte dimulai dengan 41HEX sampai dengan 5AHEX.

c. 9 karakter tanda baca yaitu ‖ ‖, ‖$‖, ‖%‖, ‖*‖, ‖+‖, ‖-‖, ‖.‖, ‖/‖, dan ‖:‖ dengan nilai byte 20HEX, 24HEX, 25HEX, 2AHEX, 2BHEX, 2DHEX,

2EHEX, 2FHEX, dan 3AHEX.

Tabel 3.1 Encoding/decoding untuk mode alphanumeric

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification, 2006:26]

(3)

3.1.2.1 Encoding

Pada mode alphanumeric ini standarnya setiap dua karakter dipresentasikan dengan panjang 11 bit. Misalkan data yang akan diproses adalah ―ABC123‖ maka data akan dipresentasikan ―AB‖, ―C1‖ dan ―23‖ dengan panjang masing – masing 11 bit. Tapi jika jumlah karakter yang akan diproses jumlahnya ganjil, maka 1 karakter akhir akan dipresentasikan dengan panjang 6 bit. Sebagai contoh penulis akan mengubah data ―ABCDE123‖ menjadi sebuah simbol QR Code dengan versi 1-H.

a. Pertama data akan dipisah-pisahkan menjadi kelompok yang beranggotakan 2 karakter.

Hasil: (A,B) (C,D) (E,1) (2,3)

b. Setiap karakter data yang ada pada tiap kelompok dikonversi kedalam nilai yang tercantum di tabel 3.1.

Hasil: (10,11) (12,13) (14,1) (2,3)

c. Selanjutnya setiap kelompok yang mempresentasikan nilai dari setiap karakter akan diubah menjadi angka biner dengan panjang 11 bit per kelompok. Setiap kelompok akan diubah terlebih dahulu kedalam bentuk desimal dengan rumus Dec = (A x 45) + B, lalu hasilnya akan dikonversi kedalam bentuk binari.

(10, 11) => (10 x 45) + 11 => 450 + 11 => 461 => 00111001101 (12, 13) => (12 x 45) + 13 => 540 + 13

(4)

=> 553 => 01000101001 (14, 1) => (14 x 45) + 1 => 630 + 1 => 631 => 01001110111 (2, 3) => (2 x 45) + 3 => 90 + 3 => 93 => 00001011101 Diurutkan menjadi 00111001101 01000101001 01001110111 00001011101

d. Konversi indikator jumlah data kedalam bentuk bilangan biner dengan panjang 9 bit untuk versi 1-H.

Hasil: 8 – 000001000

Digabung menjadi 000001000 00111001101 01000101001 01001110111 00001011101

e. Tambahkan indikator mode alphanumeric yaitu 0010.

Hasil: 0010 000001000 00111001101 01000101001 01001110111 00001011101

f. Tambahkan indicator terminator data sepanjang 4 bit pada akhir urutan biner. Apabila panjang data sudah memenuhi jumlah data maksimal yang dapat ditampung oleh versi QR Code maka terminator tidak dibutuhkan.

Hasil: 0010 000001000 00111001101 01000101001 01001110111 00001011101 0000

(5)

g. Ubah data kedalam kelompok-kelompok bit data yang memiliki panjang 8 bit, jika kelompok data terakhir jumlahnya kurang dari 8 bit maka ditambahkan dengan angka nol pada bagian belakang hingga memiliki panjang 8 bit.

Hasil: 00100000 01000001 11001101 01000101 00101001 11011100 00101110 10000000

h. Kelompok-kelompok yang terdiri dari 8 bit disebut dengan kode kata. Jika jumlah kode kata kurang dari kapasitas yang dapat ditampung dalam versi tersebut maka sebagai alternatif akan ditambahkan ―11101100‖ dan ―00010001‖ hingga memenuhi kapasitas. Untuk versi 1-H memiliki kapasitas 9 karena kode data yang ada saat ini memiliki panjang 8 kode kata maka akan ditambahkan dengan ―11101100‖

Hasil: 00100000 01000001 11001101 01000101 00101001 11011100 00101110 10000000 11101100

i. Data yang sudah memenuhi kapasitas tersebut diubah kembali kedalam bentuk desimal dan dirubah per kode kata.

Hasil: 00100000 => 32 01000001 => 65 11001101 => 205 01000101 => 69 00101001 => 41 11011100 => 220 00101110 => 46 10000000 => 128 11101100 => 236

(6)

j. Dalam tahapan ini barisan kode data akan ditambahkan dan diproses dengan error correction code. Versi 1-H memiliki jumlah block RS (Reed Solomon) 1. Fungsi g(x) sesuai dengan versi 1-H yaitu :

g(x) = x17 + α43x16 + α139x15 + α206x14 + α78x13 + α43x12 + α239x11 + α123x10 + α206x9 + α214x8 + α147x7 + α24x6 + α99x5 + α150x4 +

α39x3 + α243x2 + α163x + α136

Fungsi g(x) diatas adalah bentuk dasar dari elemen GF(28), fitur dari

GF(28) diantaranya adalah :

- Mendukung fungsi aritmatik dengan 4 operasi - α255 adalah sama dengan 1

- Bilangan eksponensial α dapat dikonversi kedalam bentuk integer menggunakan tabel konversi eksponensial α yang ada di lampiran.

Setelah diproses dengan menggunakan algoritma Reed Solomon maka akan menghasilkan urutan kode kata sebagai berikut:

32 65 205 69 41 220 46 128 236 42 159 74 221 244 169 239 150 138

70 237 85 224 96 74 219 61

k. Hasil kode kata yang merupakan bilangan integer dirubah kembali menjadi bilangan biner dengan panjang 8 bit.

Hasil: 32 => 00100000 65 => 01000001 205 => 11001101 69 => 01000101 41 => 00101001 220 => 11011100

(7)

46 => 00101110 128 => 10000000 236 => 11101100 42 => 00101010 159 => 10011111 74 => 01001010 221 => 11011101 244 => 11110100 169 => 10101001 239 => 11101111 150 => 10010110 138 => 10001010 70 => 01000110 237 => 11101101 85 => 01010101 224 => 11100000 96 => 01100000 74 => 11101100 219 => 11011011 61 => 001111101

l. Kode data yang sudah terbentuk binari kemudian akan dimasukan kedalam simbol QR Code dalam bentuk module-module yang terdiri dari 2 warna yaitu terang dan gelap. Sesuai dengan file dokumen ISO QR Code symbology specification bahwa ukuran simbol QR Code yang digunakan adalah simbol yang berukuran 21 modul x 21 modul seperti yang terlihat pada gambar 3.1

(8)

Gambar 3.1 Ukuran simbol yang digunakan pada versi 1-H

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification,

2006:10]

QR Code versi 1 memiliki 26 blok module dan pada setiap blok memiliki 8 modul yang mewakili panjang bit data pada setiap kode data. Setiap simbol memiliki koordinat yang dapat digambarkan dengan (x, y) dimana x adalah kolom dan y adalah baris, untuk QR Code versi 1 sendiri memiliki kordinat dari (0, 0) yaitu di posisi pojok kanan bawah sampai (20, 20) yaitu pojok kiri atas. Adapun untuk memasukan data kedalam simbol QR Code harus mengikuti aturan dan standar yang sudah dibuat, diantaranya adalah:

- Data mulai dimasukan dari koordinat (0, 0) atau dari blok module kanan bawah.

- Untuk pengisian pada setiap blok ada dua arah yaitu dengan arah pengisian ke bawah dan ke atas.

(9)

(a) (c) (b) 8 7 8 2 1 6 5 7 4 3 4 3 6 6 5 2 1 5 8 7 4 3 2 1

Gambar 3.2 Cara pengisian data ke dalam blok data

(a) pengisian normal dengan arah ke atas, (b) Pengisian normal dengan arah ke bawah, (c) Pengisian data jika blok bertindihan

dengan pola struktur QR Code

- Jika pertama yaitu blok paling paling kanan bawah sudah penuh maka dilanjutkan ke blok diatasnya, jika sudah mencapai blok terakhir dalam 1 kolom maka pindah ke kolom sebelah kiri tapi dengan arah berbeda yaitu dari atas ke bawah seperti yang digambarkan pada gambar 3.3.

Gambar 3.3 Arah urutan pengisian blok data pada very 2-M.

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification,

(10)

- Hasil gambar simbol QR Code setelah dimasukan barisan kode kata yang sebelumnya sudah diubah kedalam bentuk binari terlihat pada gambar 3.4.

Gambar 3.4 Hasil sementara QR Code yang sudah dimasukan data

m. Jika salah satu warna lebih dominan atau jika motif pada simbol menyerupai motif struktur QR Code seperti finder pattern dan lain-lain maka akan membuat pembacaan QR Code menjadi kabur atau salah pengartian kode itu sendiri, Untuk menghindari hal tersebut maka pada simbol QR Code akan dimasukan struktur mask pattern untuk menghindari terjadinya hal – hal yang disebutkan sebelumnya. Area yang akan diberikan mask pattern adalah kode kata yang ada di di simbol tidak termasuk didalamnya finder pattern, timing pattern dan lain – lain. Cara dan aturan untuk memberikan mask pattern itu sendiri dibagi ke dalam 8 cara yang dapat digunakan salah satunya.

Tabel 3.2 Daftar mask pattern, Arti ―mod‖ pada table adalah sisa dari pembagian dan ―div‖ adalah pembagian.

Indikator mask pattern Kondisi

000 (i+j) mod 2 = 0

001 i mod 2 = 0

010 j mod 3 = 0

011 (i+j) mod 3 = 0

(11)

Tabel 3.3 Daftar mask pattern, Arti ―mod‖ pada table adalah sisa dari pembagian dan ―div‖ adalah pembagian (lanjutan).

Indikator mask pattern Kondisi

101 (ij) mod 2 + (ij) mod 3 = 0

110 ((ij) mod 2 + (ij) mod 3) mod 2 = 0 111 ((ij) mod 3 + (i+j) mod 2) mod 2 = 0

Rumus atau formula dari mask pattern itu sendiri untuk setiap kordinat yang ada pada simbol QR Code. Contoh cara penggunaan mask pattern jika menggunakan mask pattern dengan indikator 000 :

- Pada kodinat (20, 20) : (20+20) mod 2 = 0 - Pada kordinat (19,20) : (19+20) mod 2 = 1

Bit asli akan diproses dengan XOR dengan data bit yang didapatkan sesuai dengan kordinatnya. Pada sample data kali ini penulis akan menggunakan mask pattern ―011‖.

Gambar 3.5 Pattern mask pada simbol versi 1

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification,

(12)

n. Format informasi yang ada pada simbol QR Code adalah format yang berisi data-data informasi mengenai QR Code itu sendiri. Dalam format informasi itu sendiri terdapat keterangan error correction level yang digunakan dan indikator mask pattern sepanjang 15 bit. 2 bit pertama adalah error correction level yang ada pada tabel 3.3.

Tabel 3.4 Daftar indikator error correction level

Error Correction Level Inidcator

L 01

M 00

Q 11

H 10

Karena versi QR Code yang digunakan pada sample data adalah versi 1-H maka indicator yang digunakan adalah ―10‖. 3 bit berikutnya adalah mask pattern yang dipilih pada bagian sebelumnya yaitu ―011‖.

Hasil: 10 011

o. Untuk 10 bit sisanya adalah bit – bit untuk error correction level dari 5 bit sebelumnya. Setelah memproses ―10011‖ dengan algoritma error correction level maka akan menghasilkan ―0111000010‖ dan jika digabung dengan 5 data sebelumnya maka akan menjadi ―100110111000010‖.

p. Untuk mencegah agar format informasi tidak memunculkan angka 0 semua maka format informasi yang sudah ada diproses XOR dengan ―101010000010010‖ maka format informasi menjadi ―001100111010000‖.

q. Cara untuk meletakan format informasi kedalam simbol QR Code juga tidak sembarangan karena ada aturan dan urutan yang harus dilalui seperti yang terlihat pada gambar 3.6 dibawah ini.

(13)

Gambar 3.6 Ilustrasi urutan dari pengisian format informasi

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification,

2006:56]

Urutan yang terlihat pada gambar adalah urutan yang menghitung mundur jadi bukan angka 0 yang menjadi awal memasukan format informasi tapi format informasi dimasukan dimulai dari posisi 14. Hasil dari format informasi yang dimasukan kedalam simbol QR Code dapat dilihat pada gambar dibawah ini.

Gambar 3.7 Ilustrasi format informasi yang sudah dimasukan

(14)

r. Hasil akhir dari simbol QR Code adalah simbol yang sudah diberikan format informasi dan kode kata yang sudah diproses dengan mask pattern dapat dilihat pada gambar dibawah ini.

Gambar 3.8 Hasil akhir dari QR Code untuk ―ABCDE123‖

3.1.2.2 Decoding

Proses decoding dari bentuk simbol QR Code kembali kedalam bentuk kalimat atau data asli hanyalah sebuah pembalikan dari proses-proses decoding yang sudah dibahas sebelumnya. Adapun langkah-langkah dari decoding itu sendiri dapat diuraikan secara ringkas sebagai berikut:

a. Alat pembaca atau scanner melakukan pencitraan gambar simbol yang akan didecode kembali menjadi data asli. Pada saat pembacaan yang akan dicari pertama kali adalah finder pattern atau pola pencari yang berada di posisi kanan atas, kiri atas, dan kiri bawah.

b. Mendeteksi perputaran simbol dan kemiringan simbol dengan berpatokan kepada finder pattern.

c. Mendeteksi panjang modul dengan mengukur jarak antara finder pattern dengan rumus X = (WUL + WUR) / 14

d. Memperkirakan versi dari simbol dengan rumus V = [(D/X) – 10] / 4. Jika hasilnya adalah kurang dari 6 atau sama dengan 6 maka hasil ini dipakai sebagai data versi yang valid.

(15)

Gambar 3.9 Ilustrasi pengukuran symbol

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification, 2006:64]

e. Jika versi yang dihasilkan lebih dari 6 maka akan dilakukan pembacaan sebagai berikut :

- Membagi lebar dari WUR yang berada di pojok kanan atas dengan

angka 7 untuk mengkalkulasi ukuran modul.

- Mendeteksi garis bantuan antara finder pattern A ke finder pattern B dan finder pattern A ke finder pattern C

- Membaca informasi format yang tersimpan disamping pada symbol

Gambar 3.10 Ilustrasi penghubungan antar finder pattern

dan letak format informasi

[Sumber: ISO/IEC 18004, Information technology — Automatic identification and data capturetechniques — QR Code 2005 bar code symbology specification, 2006:64]

(16)

f. Setelah mendapatkan format informasi dan sudah diartikan isinya maka lakukan fungsi XOR dengan rumus data masking yang sesuai dengan indicator mask pattern yang ada di format informasi.

g. Setelah data masking dihilangkan maka data dirangkai kembali menjadi bit-bit dengan cara membalik urutan saat memasukan data pada proses encoding.

h. Lakukan pendeteksian error correction pada data.

i. Kembalikan rangkaian data kedalam bentuk awal dari aliran data tersebut dengan menyusun kembali rangkaian blok-blok data dengan panjang yang sesuai dengan indikator-indikator yang ada pada informasi format.

j. Mengembalikan data aslinya dengan melakukan kebalikan proses dari perubahan data menjadi bit.

3.1.3 Analisa Perangkat Lunak

Dalam pembuatan encoder QR Code untuk pemesanan tiket ini penulis menggunakan script yang ditulis dengan menggunakan bahasa pemrograman C# berbasis web, sedangkan untuk decode QR Code ditulis dengan menggunakan bahasa pemrograman Java yang akan dijalankan pada sistem operasi Android.

3.2 Perancangan

Prinsip dari decoder dan encoder yang dirancang ini memanfaatkan fungsi dan yang telah tersedia lalu digabungkan dengan bahasa pemrograman C# sebagai interface untuk retrieve lalu mengolah data yang dimasukan oleh user, disimpan ke dalam database dimana nantinya hasil data pemesanan tiket juga dalam bentuk dokumen XML dan bahasa pemrograman java sebagai interface untuk scan QR Code yang diterima user.

(17)

3.2.1 Perancangan Dengan Diagram Alur (Flow Chart)

Diagram Alur adalah gambaran sebuah sistem dalam bentuk diagram alir dari algortima-algortima dalam suatu program, diagram ini menyatakan arah alur program tersebut dijalankan. Diagram alur untuk encoding dan decoding pada aplikasi ini dapat dilihat pada gambar dibawah ini.

(18)

Gambar 3.12 Diagram alur proses decode pada aplikasi

Proses Encode pada gambar 3.11 dijelaskan bahwa user melakukan input data pemesanan tiket kedalam aplikasi, setelah data siap untuk diproses maka aplikasi akan melakukan validasi data dengan cara memeriksa apakah semua hal yang dibutuhkan sudah diisi dengan baik atau belum. Data yang dimaksud disini yaitu Negara dan Kota asal keberangkatan, Negara dan Kota tujuan, tanggal dan jam keberangkatan. Bila data yang dimasukan tersebut tidak valid atau dalam hal ini kosong maka aplikasi akan menampilkan pesan kesalahan lalu akan kembali menampilkan form pemesanan tiket agar user dapat mengulang untuk melengkapi pengisian form. Jika data yang dimasukan sudah valid maka aplikasi akan

(19)

diproses oleh class QR Code maka data akan ditampilkan ke layar dalam bentuk detail data yang dimasukan oleh user berikut dengan gambar QR Code yang merupakan kode pemesanan tiket. Data yang ditampilkan ini juga akan dikirimkan ke user dalam bentuk email dan data pemesanan tiket juga terdapat di server dengan tipe XML.

Untuk proses decode terlihat pada gambar 3.12. Petugas check in melakukan scan gambar QR Code yang akan diproses menjadi data kode pemesanan tiket. Setelah gambar dilakukan scan, maka aplikasi akan memproses dengan mengecek validasi, apakah format gambar yang di scan sudah benar. Bila gambar yang di scan tidak valid atau dalam hal ini rusak maka aplikasi akan menampilkan pesan kesalahan lalu Petugas check in dapat mengulang untuk melakukan scan gambar. Jika gambar yang di scan sudah valid maka aplikasi akan memproses gambar tersebut dengan menggunakan class dari QR Code untuk dilakukan decoding dan dicek dengan yang ada di database lalu menampilkan kode pemesanan dan status data pemesanan tiket.

3.2.2 Analisis Use Case

Langkah pertama yang harus dilakukan untuk mengetahui apakah kebutuhan user adalah memodelkan sistem dengan menggunakan use case diagram. Use case adalah peringkat tertinggi dari fungsionalitas yang dimiliki sistem. Dengan kata lain, use case menggambarkan bagaimana seseorang akan menggunakan/memanfaatkan sistem. Sedangkan use case diagram sendiri memperlihatkan hubungan-hubungan yang terjadi antara aktor-aktor, yakni seseorang atau sesuatu yang sedang berinteraksi dengan sistem, dengan use case-use case yang ada dalam sistem. (Nugroho, 2005:51) Dengan use case diagram ini dapat diketahui proses yang terjadi pada sistem aplikasi QR Code. Kompenen-kompenen yang terdapat pada use case diagram terdiri dari:

1. Actor: pengguna software aplikasi, dalam hal ini bias berupa manusia, hadware, atau sistem informasi yang lain. Actor dapat memasukkan informasi ke dalam sistem, menerima informasi dari sistem ataupun keduanya.

(20)

2. Use Case: perilaku atau apa yang dikerjakan oleh pengguna sistem aplikasi, termasuk interaksi antara actor dengan software aplikasi tersebut.

Tabel 3.5 Daftar Aktor yang terlibat dalam sistem

Term Deskripsi

User Suatu individual atau organisasi yang mempunyai peran untuk mengajukan data pemesanan tiket pesawat

Petugas Check In Suatu individual atau organisasi yang mempunyai peran serta tanggung jawab untuk melakukan scan dan validasi data pemesanan tiket pesawat.

Aktor yang digunakan hanya dua yaitu user dan petugas check in yang menggunakan bagian terpisah dari aplikasi ini, yang pertama adalah user yang mengajukan data pemesanan tiket dan memasukannya kedalam sistem yang akan merubah menjadi simbol QR Code yang kemudian dikirimkan kepada user melalui email. Aktor kedua adalah petugas check in yang dapat melakukan scan untuk validasi data pemesanan tiket ke dalam sistem, kemudian sistem akan menterjemahkan simbol QR Code atau dalam hal ini melakukan decoding dari gambar simbol QR Code yang dimiliki user dan mencocokan dengan yang ada di database. Diagram Use case dari aplikasi sistem pemesanan tiket pesawat memanfaatkan QR Code dapat dilhat pada gambar 3.13 berikut:

(21)

Gambar diatas merupakan use case diagram dari aplikasi sistem pemesanan tiket pesawat memanfaatkan QR Code, sedangkan untuk deskripsi singkat dari masing-masing use case adalah sebagai berikut:

Tabel 3.6 Deskripsi singkat masing-masing use case

Aktor Use Case Deskripsi

User

Input data

pemesanan tiket Use case menginputkan data pemesanan tiket ini digunakan untuk proses yang nantinya akan di encode.

Terima QR Code

Melalui Email Use case ini digunakan untuk user menerima data pemesanan tiket dalam bentuk QR Code melalui email.

Petugas Check in

Scan Image

QR Code Use case ini digunakan untuk menangkap image QR Code menggunakan kamera digital dan nanti hasilnya digunakan untuk proses penerjemahan.

System

Encode Use case ini digunakan untuk merubah data yang akan digunakan sebagai informasi data pemesanan tiket, mencocokan karakter dengan tipe data dan mengubah karakter-karakter tersebut menjadi QR Code.

Decode Use case ini digunakan untuk menerjemahkan inputan citra QR Code sehingga mendapatkan data yang tersimpan dalam QR Code tersebut. Pengecekan Data Use case ini sistem akan mencari dan

mencocokan kode pemesanan tiket pesawat pada dokumen file XML dan selanjutnya akan ditampilkan pada layar.

3.2.3 Analisis Activity Diagram

Activity diagram adalah salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use case. Secara esensial, activity diagram mirip dengan diagram alir (flowchart) karena memperlihatkan aliran kendali dari suatu aktifitas ke aktifitas lainnya (Nugroho, 2005:61). Berikut adalah activity diagram secara keseluruhan proses yang terjadi di dalam sistem online reservasi tiket pesawat:

(22)

3.2.3.1 Activity Diagram QR Code Encode

Activity diagram QR Code Encode dimulai pada saat user mengetikan data-data yang akan dijadikan image dari QR Code kemudian menyimpannya. Setelah itu image QR Code akan dibaca menggunakan kamera yang terintegrasi pada mobile phone dengan menggunakan aplikasi QR Code Reader. Activity diagram QR Code Encode seperti pada gambar 3.14.

Gambar 3.14 Activity diagram QR Code Encode

3.2.3.2 Activity Diagram QR Code Decode

Activity diagram decode ini diawali dengan melakukan scan QR Code sehingga didapatkan sebuah simbol QR Code, kemudian sistem akan mengenali

(23)

akan mengambil format informasi level koreksi kesalahan dan pola mask yang digunakan. Setelah pola mask didapat maka proses unmask pada data matrik QR Code yang dimiliki simbol. Kemudian sistem mengambil blok-blok data yang terdapat pada simbol yang selanjutnya melakukan proses koreksi kesalahan pada blok data. Setelah proses koreksi maka sistem melakukan penerjemahan blok-blok data yang didapat menjadi data teks. Setelah semua proses selesai maka akan ditampilkan isi dari QR Code. Activity diagram QR Code Encode Pengecekan data seperti pada gambar 3.15.

(24)

3.2.3.3 Activity Diagram Pengecekan Data

Activity diagram pada use case ini diawali dengan membaca data dan mengeceknya, kemudian sistem mencocokan data dengan list pemesanan tiket dalam bentuk dokumen XML. Jika data yang dicari cocok maka akan ditampilkan status kode pemesanan tiket valid, jika data yang dicari tidak cocok maka akan ditampilkan status kode pemesanan tiket tidak valid. Activity diagram Pengecekan data seperti pada gambar 3.16.

Gambar 3.16 Activity diagram Pengecekan Data

3.2.4 Analisis Sequence Diagram

Sequence Diagram adalah interaction diagram yang memperlihatkan event-event yang berurutan sepanjang berjalannya waktu (Nugroho, 2005:92). Cara membaca sequence diagram dimulai dari atas ke bawah. Masing-masing sequence diagram akan menggambarkan aliran-aliran pada suatu use case. Pada

(25)

sistem online reservasi tiket pesawat menggunakan QR Code ini terdapat tiga buah sequence diagram, antara lain:

3.2.4.1 Sequence Diagram Decode

Gambar 3.17 Sequence diagram decode

3.2.4.2 Sequence Diagram Encode

(26)

3.2.4.3 Sequence Diagram Pengecekan Data

Gambar 3.19 Sequence diagram pengecekan data

3.2.5 Analisis Class Diagram

Class diagram adalah diagram yang digunakan untuk menampilkan beberapa kelas serta paket-paket yang ada dalam sistem perangkat lunak yang sedang dikembangkan. Class diagram memberikan gambaran / diagram statis tentang sistem perangkat lunak dan relasi-relasi yang ada di dalamnya (Nugroho, 2005:110). Dalam class diagram diperlihatkan hubungan antar kelas dan penjelasan mengenai tiap-tiap kelas. Class diagram dari sistem online reservasi tiket pesawat menggunakan QR Code seperti pada gambar 3.20.

(27)

Gambar 3.20 Class diagram Pengecekan Data

3.2.6 Rancangan Basis Data

Perancangan merupakan suatu hal yang sangat penting dalam pembuatan basis data. Permasalahan yang dihadapi pada waktu perancangan yaitu bagaimana basis data yang akan dibangun ini dapat memenuhi kebutuhan saat ini dan masa yang akan datang. Untuk itu diperlukan perancangan basis data baik secara fisik maupun secara konseptualnya. Perancangan konseptual akan menunjukkan entity dan relasinya berdasarkan proses yang diinginkan oleh organisasinya. Untuk menentukan entity dan relasinya perlu dilakukan analisis data tentang informasi yang ada dalam spesifikasi di masa yang akan datang. Perancangan data dilakukan untuk mendesain dan merencanakan data-data apa yang nantinya akan digunakan dan diolah dalam proses QR Code berserta tipe dan panjang dari masing-masing data tersebut.

(28)

3.2.6.1 Perancangan Data Input

Data input adalah data – data yang dimasukkan untuk kemudian diproses. Berikut adalah perancangan data input yang nantinya akan digunakan dalam aplikasi sistem pemesanan tiket pesawat.

Tabel 3.7 Kamus Data Tabel Pengguna

Nama Field Tipe Data Deskripsi

Id_Pengguna*(PK) NVarchar(50) ID pengenal user

Kata_Sandi Varchar(50) Kata sandi user untuk login aplikasi Nama_Pengguna Varchar(100) Nama lengkap user

Tanggal_Lahir Datetime Tanggal lahir user Jenis_Kelamin Varchar(50) Jenis kelamin user

Alamat Varchar(50) Alamat lengkap tempat tinggal user Kota Varchar(50) Kota tempat tinggal user

Kode_Pos Varchar(15) Kode pos tempat tinggal user Negara Varchar(50) Negara asal user

Kebangsaan Varchar(50) Kebangsaan dari user

Nomor_Identitas Varchar(50) Nomor Identitas KTP/SIM dari user Nomor_Ponsel Varchar(50) Nomor ponsel dari user

Tanggal_Daftar Datetime Tanggal daftar ke aplikasi

Tabel 3.8 Kamus Data Tabel Master Kota

Nama Field Tipe Data Deskripsi

Id_Kota*(PK) Integer ID Kota yang terdaftar Nama_Kota Varchar(50) Nama Kota yang terdaftar Nama_Negara Varchar(50) Nama Negara yang terdaftar

Tabel 3.9 Kamus Data Tabel Master Roles

Nama Field Tipe Data Deskripsi

Id_Roles*(PK) Integer ID Roles yang terdaftar Nama_Roles Varchar(50) Nama Roles yang terdaftar Status_Aktif Bit Status dari roles

Tabel 3.10 Kamus Data Tabel Master RolesUser

Nama Field Tipe Data Deskripsi

Id_RolesUser*(PK) Integer ID Roles User yang terdaftar Id_Pengguna(FK) Varchar(50) ID Pengguna yang terdaftar

(29)

3.2.6.2 Perancangan Data Proses

Data proses adalah data input yang masih menjalani pengolahan untuk memperoleh hasil yang diinginkan. Berikut adalah perancangan data proses yang nantinya akan digunakan dalam aplikasi sistem pemesanan tiket pesawat.

Tabel 3.11 Kamus Data Tabel Pemesanan Tiket

Nama Field Tipe Data Deskripsi

ID_Pemesanan_Tiket*(PK) Integer ID Tabel pemesanan tiket Kode_Pemesanan_Tiket(FK) NVarchar(Max) Kode dari pemesanan tiket Id_Pengguna (FK) Varchar(50) Id pengguna

Negara_Asal Varchar(50) Nama Negara keberangkatan

Kota_Asal Varchar(50) Nama Kota keberangkatan

Negara_Tujuan Varchar(50) Nama Negara tujuan Kota_Tujuan Varchar(50) Nama Kota tujuan Tanggal_Keberangkatan Datetime Tanggal Keberangkatan Jam_Keberangkatan Varchar(50) Jam Keberangkatan QR_Code Varbinary(Max) Gambar QR Code

hasil encode

3.2.6.3 Perancangan Data Proses

Data output adalah data jadi yang telah selesai mengalami proses pengolahan. Berikut adalah perancangan data ouput yang dihasilkan dari aplikasi sistem pemesanan tiket pesawat.

4

Tabel 3.12 Perancangan Data Ouput

Nama Data Tipe Data Deskripsi

Kode_Pemesanan_Tiket NVarchar(Max) Kode dari pemesanan tiket

Nama_Pengguna Varchar(50) Nama pengguna

Negara_Asal Varchar(50) Nama Negara keberangkatan

Kota_Asal Varchar(50) Nama Kota keberangkatan

Negara_Tujuan Varchar(50) Nama Negara tujuan Kota_Tujuan Varchar(50) Nama kota tujuan Tanggal_Keberangkatan Datetime Tanggal keberangkatan Jam_Keberangkatan Varchar(50) Jam Keberangkatan

(30)

Tabel 3.11 Perancangan Data Ouput (lanjutan)

Nama Data Tipe Data Deskripsi

QR_Code Varbinary Gambar QR Code hasil

encode

3.2.7 Rancangan Antar Muka

Dalam mendesain sebuah sistem, salah satu hal yang perlu diperhatikan adalah rancangan tersebut harus dapat memudahkan user dalam menggunakan sistem aplikasi yang dibuat. Sehingga perlu diperhatikan dalam mengatur letak tombol, kolom teks, menu ataupun komponen visual lain sehingga tidak membingungkan user dalam pemakaian aplikasi tersebut. Berikut adalah rancangan antarmuka dari aplikasi sistem pemesanan tiket pesawat.

3.2.7.1 Rancangan Form Input Pendaftaran User

Form input pendaftaran user adalah interface untuk input data detail user yang nantinya berguna sebagai akses login ke aplikasi dan melakukan pemesanan tiket. Tampilan dari form tersebut dapat dilihat pada gambar 3.21 dibawah ini.

(31)

Gambar 3.21 Tampilan interface input pendaftaran

Berikut ini adalah penjelasan dari isi dan control yang ada pada form input pendaftaran tersebut:

a. Pada bagian User ID user harus memasukan alamat email yang valid dan pada Kata Sandi harus terdiri dari setidaknya satu angka dan satu huruf, minimal 8 karakter dan maksimal 16 karakter, yang nantinya akan digunakan untuk akses aplikasi dan mengirimkan data pemesanan tiket melalui email.

b. Pada bagian Nama Lengkap, Tanggal Lahir dan Jenis Kelamin adalah field untuk data pribadi user.

c. Pada bagian Alamat, Kota, Kode Pos, Negara, Kebangsaan dan Nomor ponsel adalah field untuk data tempat tinggal user dan nomor telepon yang bisa dihubungi.

(32)

d. Tombol save untuk mengakhiri proses pendaftaran user dan menyimpan ke database, sedangkan tombol cancel untuk membatalkan proses pendaftaran user.

3.2.7.2 Rancangan Form Input Pemesanan Tiket

Form input pemesanan tiket adalah interface untuk mengetik data detail pemesanan tiket. Tampilan dari form tersebut dapat dilihat pada gambar 3.22 dibawah ini.

Gambar 3.22 Tampilan interface input pemesanan tiket

Berikut ini adalah penjelasan dari isi dan control yang ada pada form input pemesanan tiket tersebut:

a. Pada bagian Negara Asal Keberangkatan dan Kota Keberangkatan adalah field yang dapat dipilih negara asal dan kota keberangkatan untuk rencana perjalanan.

b. Pada bagian Negara Tujuan dan Kota Tujuan adalah field yang dapat dipilih untuk data negara dan kota tujuan perjalanan.

(33)

c. Pada bagian Tanggal Keberangkatan dan Jam Keberangkatan adalah field yang dapat dipilih untuk Tanggal dan Jam perjalanan.

d. Tombol submit untuk mengakhiri proses pemesanan tiket, merubah kedalam bentuk QR Code, menyimpan ke database lalu di generate ke dalam dokumen XML dan mengirimkan data pemesanan tiket kepada user, sedangkan tombol cancel untuk membatalkan proses pemesanan tiket.

3.2.7.3 Rancangan Form Scan QR Code Tiket

Form Scan QR Code Tiket adalah interface untuk scan dan pengecekan data pemesanan tiket. Tampilan dari form tersebut dapat dilihat pada gambar 3.23 dibawah ini.

(34)

Berikut ini adalah penjelasan dari isi dan control yang ada pada form scan QR Code tiket tersebut:

a. Pada bagian Image Scan Area adalah bagian kamera untuk menangkap gambar QR Code dan melakukan decode.

b. Pada bagian output Kode Tiket adalah field untuk menampilkan kode tiket yang sudah dipesan oleh user.

c. Pada bagian Status Validasi Pemesanan Tiket adalah field untuk menampilkan status validasi dan kecocokan data tiket dengan yang ada di server.

d. Tombol Cek Status untuk melakukan proses validasi dan kecocokan data tiket dengan yang ada di server.

Gambar

Tabel 3.1 Encoding/decoding untuk mode alphanumeric
Gambar 3.1  Ukuran simbol yang digunakan pada versi 1-H
Gambar 3.2  Cara pengisian data ke dalam blok data    (a) pengisian normal dengan arah ke atas, (b) Pengisian normal  dengan arah ke bawah, (c) Pengisian data jika blok bertindihan
Gambar 3.4  Hasil sementara QR Code yang sudah dimasukan data  m.  Jika  salah  satu  warna  lebih  dominan  atau  jika  motif  pada  simbol
+7

Referensi

Dokumen terkait

Sebelum kegiatan penelitian ini dilakukan, pada tanggal 29 April 2018 peneliti menemui Kepala MTs Alkhairaat Biromaru pada pertemuan tersebut peneliti menyampaikan

(3) Penyelesaian/pengembalian dengan cara paksa sebagaimana dimaksud pada pasal 14 ayat (2) dilakukan apabila Pegawai yang bersangkutan terbukti bersalah dan

Dengan demikian, permohonan cerai talak telah memenuhi alasan perceraian sesuai dalam pasal 19 huruf (f) PP jo. Sedangkan dalam pemberian nafkah akibat cerai talak

Untuk proporsi suspek TB Odd Ratio pada batas kepercayaan 95% = 6.06 – 11.47 dapat disimpul- kan Model Jejaring Penanganan TB Paru Dokter Praktek Swasta dan Pemerintah

Bantalan atau yang biasa disebut bearing adalah suatu komponen yang berfungsi untuk mengurangi gesekan pada mesin atau komponen-komponen yang bergerak dan saling

Dari hasil uji F, nilai F-hitung (15,936) karena lebih besar dari F-tabel (2,53) maka variabel independen (arus kas, skala perusahaan, struktur permodalan, pertumbuhan

Bapak dan Ibu Dosen Sekolah Tinggi Ilmu Ekonomi Perbanas Surabaya yang dengan ikhlas telah memberikan ilmu dan pengalaman kepada penulis selama proses pembelajaran.. Semoga

Studi empiris telah memperkirakan bahwa perusahaan besar dan menguntungkan, serta mereka yang tercantum dalam industri yang memiliki potensi dampak yang lebih besar