BAB III ANALISA SISTEM DAN PERANCANGAN

dokumen-dokumen yang mirip
BAB IV PERANCANGAN SISTEM Perancangan Pembuatan Sistem(Use Case Diagram) SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM

3 BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN SISTEM. permasalahan yang ada sebagai dasar untuk membuat sebuah solusi yang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. terkomputerisasi. Berikut adalah uraian proses dari kegiatan pemesanan makanan

BAB III ANALISIS DAN PERANCANGAN SISTEM. mengacu kepada SDLC model waterfall berdasarkan referensi Ian Sommerville,

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab IV HASIL DAN ANALISIS

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB VI PENUTUP Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN

BAB III ANALISA DAN PERANCANGAN. berikut analisa sistem lama yang berjalan:

BAB III ANALISA SISTEM

DAFTAR ISI. hal. COVER... LEMBAR PENGESAHAN... LEMBAR PERNYATAAN KEASLIAN... LEMBAR PENGESAHAN PENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO...

Penjualan Buku Online Toko Buku Gramedia Jember

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISA SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS SISTEM


BAB IV ANALISA DAN PERANCANGAN SISTEM. Adapun analisis sistem akan dilakukan pada bagian gudang ruang lingkup

BAB IV ANALISA DAN PERANCANGAN

TUGAS PENGGANTI KEHADIRAN TANGGAL 29 OKTOBER 2015 TESTING DAN IMPLEMENTASI SISTEM. Nama : Andrian Ramadhan Febriana NIM :

BAB IV REKAYASA SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. di PT. POS INDONESIA khususnya pada layanan POS Express sudah

BAB III METODE PENELITIAN

BAB III ANALISA DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mampu memperkirakan dan merincikan seluruh dokumen ataupun prosedur yang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Untuk merancang atau menyempurnakan sebuah aplikasi mobile, kita perlu

BAB V IMPLEMENTASI DAN PENGUJIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Toko Buku Family merupakan sebuah toko yang menjual buku-buku

BAB IV ANALISIS DAN PERANCANGAN SISTEM


BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. permasalahan dari suatu sistem informasi. Hasil akhir dari analisis sistem

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Use Case Diagram dan Activity Diagram. Selain itu juga pada analisis ini akan

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB IV PERANCANGAN. Gambar 4.1: Use Case Diagram Plafon Mingguan. Tabel 4.1: Deskripsi Use Case Diagram Plafon Mingguan

BAB IV ANALISIS DAN PERANCANGAN SISTEM. tersebut penting untuk mengetahui dimana letak kelemahan dari sistem yang

Abstrak. Keyword : Penjualan, Pembelian, Stok, SMS, Bonus, laporan, C# Microsoft Visual Studio. NET 2003, Mobile FBUS 1.5, format.

BAB IV ANALISIS DAN PERANCANGAN SISTEM. menganalisa sistem yang sedang berjalan kita dapat mengetahui kelebihan dan

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem sedang berjalan dan diperlukan untuk berbagai perubahan yang dirasa

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. dimaksudkan untuk menitik beratkan kepada fungsi sistem yang berjalan dengan

BAB IV ANALISA DAN PERANCANGAN SISTEM. dari sistem yang ada pada Citi Trans Bandung. Analisis yang penulis lakukan ini

BAB IV ANALISIS DAN PERANCANGAN SISTEM

DAFTAR ISI. BAB II LANDASAN TEORI Konsep Dasar Sistem Pengertian Sistem... 7

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB VI : PENUTUP 6.1 Kesimpulan Saran DAFTAR PUSTAKA LAMPIRAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

TUGAS ANALISIS DAN PERANCANGAN SISTEM PENJUALAN LAPTOP

BAB IV TESTING DAN IMPLEMENTASI

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Analisa sistem merupakan proses memilah-milah suatu permasalahan

BAB IV ANALISIS DAN PERANCANGAN SISTEM

BAB III DATA METODE PENELITIAN. berupa perangkat keras dan perangkat lunak. a. Sistem operasi windows 8.1.

BAB IV ANALISIS DAN PERENCANAAN SISTEM. yang terdapat pada sistem tersebut untuk kemudian dijadikan landasan usulan

Bab III ANALISA DAN PERANCANGAN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. mengevaluasi permasalahan-permasalahan yang terjadi serta kebutuhan-kebutuhan

I.1 Latar Belakang Masalah

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. dengan menggunakan metode System Development Life Cycle (SDLC). Tahap yang

BAB IV ANALISIS DAN PERANCANGAN SISTEM. proses kerja yang sedang berjalan. Pokok-pokok yang di analisis meliputi analisis

BAB III ANALISIS DAN UJI COBA

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. adalah analisis mengenai analisis dokumen, analisis posedur dan analisis proses.

ANALISA DAN DESAIN SISTEM. pertama kali dilakukan yaitu menganalisis kebutuhan sistem. Di dalam tahapan

BAB IV ANALISIS DAN PERANCANGAN SISTEM. Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh

BAB IV HASIL DAN PEMBAHASAN

BAB III ANALISA DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN ANALISIS

BAB III ANALISA DAN DESAIN SISTEM

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM. Bangun Sistem Informasi Penjualan Roti Menggunakan Web-Services. Sebelum

BAB IV ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III. ANALISIS & PERANCANGAN

BAB IV HASIL DAN UJI COBA

Bab 3 Metode dan Perancangan Sistem

BAB IV ANALISIS DAN PERANCANGAN SISTEM Analisis Sistem Yang Sedang Berjalan

Transkripsi:

25 BAB III ANALISA SISTEM DAN PERANCANGAN Analisa sistem merupakan suatu proses yang harus di laksanakan untuk menentukan permasalahan yang harus dihadapi. Tahap ini adalah sangat penting, karena proses analisis yang kurang akurat dan menyebabkan hasil dari suatu sistem pengembangan perangkat akan tidak sesuai dengan yang di harapkan, jadi untuk itu proses ini harus benar-benar sesuai dengan penggunaan agar hasil penggunaan perangkat lunak memuaskan pengguna. Dalam dunia pengembangan kemajuan teknologi informasi pada saat ini ketergantungan dunia bisnis atau dunia kerja terhadap sistem informasi berbasis komputer telah mempengaruhi peningkatan pasar software untuk memiliki teknik rekayasa yang dapat meningkatkan kualitas serta mengurangi biaya dan waktu, termasuk dalam hal ini yaitu rekayasa software. Meningkatnya kompleksitas dunia bisnis yang disebabkan oleh bertambah luasnya ruang lingkup dan tahapan proses merupakan suatu motivasi kunci bagi para pencipta rekayasa perangkat lunak untuk menciptakan suatu software untuk membuat suatu himpunan simantik dan notasi yang mampu menangani kerumitan arsitektur dalam segala ruang lingkup. Membangun sistem software untuk diterapkan dalam suatu bisnis serupa halnya dalam pembangunan suatu gedung tinggi, dimana penulis yakini pembuat arsitektur gedung tinggi tanpa pengguna cetak biru ataupun sketsa tentang gedung tinggi tersebut sama halnya dengan software, pencipta rekayasa perangkat lunak perlu memiliki gambaran visual mengenai sistem yang akan di bangun tersebut. 3.1 ANALISA SISTEM YANG SEDANG BERJALAN Dari hasil penelitian terhadap situasi pemesanan tiket bus di daerah aceh, penulis masih menemukan hal-hal yang seharusnya bisa diminimalisir dalam pemesanan tiket, seperti sistem pemesanan tiket bus sekarang masih bersifat manual, tidak

konsisten dan masih banyaknya di temukan alur sistem yang memperlambat tujuan dari sistem tersebut. Untuk gambaran lebih jelas nya penulis akan memaparkan masalah-masalah yang di timbulkan dari sistem yang sedang berjalan dan dari permasalah yang telah di himpun, penulis berharap bisa memberi solusi atas permasalahan tersebut. 3.1.1 Identifikasi masalah Identifikasi masalah merupakan usaha dalam merumuskan masalah dan juga untuk memperjelas pokok-pokok permasalahan sehingga lebih spesifik lagi dari masalah yang diteliti. Pada bagian ini penulis mencoba mengulang kembali mengidentifikasi permasalahan yang ada pada bab sebelumnya dan penulis menyimpulkan permasalahan sebagai berikut: 1. Proses pemesanan tiket yang susah. 2. Tiket yang sudah di pesan bisa saja di pindah tangankan, karena jika proses melalui telepon, pembayarannya tidak bisa diselesaikan di saat itu juga. 3. Data yang tidak terpusat dan tidak realtime. 4. Lamanya proses pemilihan tempat duduk yang di inginkan, karena pada loket tersebut harus menanyakan ke loket-loket yang lain apakah masih tersedia apa tidak. 5. Terlalu banyak memakan waktu apabila melakukan pemesanan tiket dengan datang langsung ke loket yang bermaksud. 3.1.2 Penyebab masalah Berdasarkan hasil dari identifikasi masalah maka ditemukan penyebab dari masalah yang ditimbulkan dari sistem yang sedang berjalan. 1. Sistem pemesanan yang sudah sangat tidak layak dengan perkembangan zaman 2. Belum online nya data - data yang disediakan, sehingga pelanggan susah untuk mengakses nya. 3. Data yang masih berserakan, tidak terkumpul di satu tempat. 4. Tidak ada nya aplikasi atau sistem informasi yang mendukung bisnis tersebut. 26

3.1.3 Hasil analisis Berdasarkan hasil analisis yang telah dilakukan dilihat dan di identifikasi masalah yang terjadi dan kemajuan teknologi informasi yang ada saat ini maka diharapkan dapat menggantikan sistem yang lama dengan sistem yang baru. Sistem yang baru ini akan berbasis mobile aplikasi khususnya yang berbasis android. dengan sistem yang baru semua data akan dijadikan terpusat dan di online kan, sehingga setiap orang yang membutuhkan informasi tersebut mudah untuk mendapatkannya. 3.2 PERANCANGAN SISTEM Setelah memahami hasil dari analisa sistem yang lama, maka penulis membuat perencanaan sistem untuk menggantikan sistem yang lama. 3.2.1 Tujuan perancangan Perancangan sistem secara umum ini menggambarkan perancangan sistem secara garis besar yaitu dengan menggambarkan prosedur sistem yang diusulkan. 1. Memperbaiki pengelolaan data pemesanan bus. 2. Dapat mempermudah pencatatan, pencarian jadwal keberangkatan sehingga tidak memakan waktu yang cukup lama. 3. Dapat mempermudah pemilihan bangku yang tersedia tanpa membutuhkan waktu yang lama. 3.2.2 Flowchart Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. Berikut ini penulis akan membuatkan flowchart untuk pemesanan tiket : 27

Gambar 3.1 Flowchart sistem 3.2.3 Usecase diagram Usecase diagram adalah diagram usecase yang digunakan untuk menggambarkan secara ringkas siapa yang menggunakan sistem dan apa saja yang bisa dilakukannya. Diagram usecase tidak menjelaskan secara detail tentang penggunaan system, namum hanya memberi gambaran singkat hubungan antara usecase, aktor dan sistem. 28

Gambar 3.2 Usecase diagram Berdasarkan usecase diagram pemesanan tiket bus diatas, terdapat ; 1. Usecase : Isi form perjalanan Aktor : Pelanggan Deskripsi : Ketika pelanggan membuka aplikasi, maka menu pertama yang tampil adalah pengisian form perjalanan. Form perjalanan ini terdiri dari kota keberangkatan, kota tujuan dan tanggal keberangkatan. 2. Usecase : Daftar perjalanan Aktor : Pelanggan Deskripsi : Setelah Pelanggan Mengisi isi form perjalanan, maka sistem menampilkan daftar perjalanan yang tersedia, dan pelanggan memilih salah satu dari daftar yang di tampilkan oleh sistem. Daftar perjalanan meliputi : a) Nama bus b) Tujuan perjalanan 29

c) Harga d) Tanggal dan jam yang tersedia 3. Usecase : Data profil Aktor : Pelanggan Deskripsi : Pelanggan wajib mengisi data profil sebelum melanjutkan proses memilih tempat duduk. Jika pelanggan belum login maka sistem akan melakukan login, jika login gagal dikarenakan pelanggan belum mendaftar, maka sistem memberi pilihan untuk mendaftar, dan jika pelanggan tidak terdaftar dan atau tidak login, maka proses tidak bisa di lanjutkan. 4. Usecase : Buat pesanan Aktor : Pelanggan Deskripsi : Ada beberapa tahapan untuk membuat pesanan, yaitu: a) Setelah mengisi data profil dan pelanggan login, maka pelanggan bisa membuat pesanan untuk tiket bus. tahapan untuk membuat pesanan adalah pelanggan harus memilih tempat duduk yang di inginkan. ketika pelanggan memilih tempat duduk, maka sistem akan memproses sebagai pre book, dan di berikan waktu 1 menit untuk membuat pesanan menjadi sukses. b) Ketika status tempat duduk menjadi pre book, maka sistem memasukkan tempat duduk tersebut kedalam antrian (queue). pada kondisi pre book sistem bisa menerima antrian lebih dari 1, dan apabila pelanggan sudah lebih 1 menit, maka sistem secara otomatis akan menghapus pelanggan tersebut dari antrian. c) Setelah melakukan pre book (pemilihan kursi), pelanggan bisa mensubmit tempat duduk yang telah dipilih dengan cara mengklik tombol lanjut dan kemudian status tempat duduk menjadi book dan pemesanan status nya menjadi sukses. d) setelah pesanan sudah dibuat maka sistem akan memaukkan pesanan tersebut ke Queue selama 2 menit, apabila dalam 2 menit user tidak bisa melanjutkan ke proses pembayaran, makan pesanan yang dibuat akan terhapus, dan tempat duduk yang telah di pilih akan kembali available. 30

e) setelah pelanggan menyelesaikan pembayaran, maka tempat duduk tersebut sudah menjadi milik pelanggan tersebut. 5. Usecase : Daftar pesanan Aktor : Admin Deskripsi : Admin dapat melihat semua pesanan, yang telah dipesan oleh pelanggan. 6. Usecase : Konfirmasi pembayaran Aktor : Admin Deskripsi : Apabila pelanggan telah melakukan pembayaran, maka yang berhak untuk memvalidasi pembayaran mereka adalah admin. 7. Usecase : Queue service Aktor : Queue Deskripsi : Queue bekerja untuk menampung segala antrian, antrian untuk pre book, dan antrian ketika status tempat duduk telah book (pesanan sukses dibuat). 3.2.4 Activity diagram Diagram yang menggamabarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan oleh aktor, jadi aktivitas yang dapat dilakukan oleh sistem. 31

Gambar 3.3 Activity diagram Gambar di atas adalah penjelesan dari aliran aktifitas baik proses bisnis maupun use case. Di activity diagram terlihat lebih jelas aliran data pada saat proses queue, dimana terdapat 2 proses queue didalam sistem pemesanan tiket bus ini. Yang pertama ketika pre book, sistem akan membuat queue, disini sitem membuat algoritma FIFO untuk menerapkan queue, yang mana dalam melakukan pre-book tempat duduk bisa dilakukan oleh banyak user, tapi ketika telah menjadi book masuk queue ke 2, disini sistem memakai algoritma lock and unlock, dimana user yang pertama membuat book maka tempat duduk tersebut akan di lock sampai batas waktu yang ditetapkan sistem, atau sampai user tersebut melunasi pembayarannya. 32

3.2.5 Sequence diagram Suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. 3.2.6 Evaluasi sistem yang dirancang Gambar 3.4 Sequence diagram Berdasarkan hasil analisa penulis terhadap sistem pengolahan data informasi yang diusulkan dalam proses sistem pemesanan tiket bus setidaknya sudah lebih efektifitas dari sistem yang ada sebelumnya : 33

No Sistem Lama Sitem Baru 1 Data pemesanan tidak terpusat Data pemesanan terpusat 2 Pesan harus datang atau telepon Bisa pesan dimana aja (online) 3 Pemilihan tempat duduk yang Pemilihan tempat duduk lebih membingungkan mudah dengan ada nya denah tempat duduk Tabel 3.1 Perbandingan sistem lama dan sistem baru 3.3 PERANCANGAN ALGORITMA Pada bagian ini akan dijelaskan tahapan perancangan pemesanan tiket bus. Perancangan ini akan dikhusus kan pada algoritma-algoritma yang dipakai pada saat merancang aplikasi tiket bus berbasis android. Penulis menggunakan 2 algoritma. Yang pertama penulis menggunakan algoritma FIFO pada saat proses pre book, dan algoritma lock and unlock pada saat pesanan telah sukses di buat (book). 3.3.1 Algoritma FIFO Algortima FIFO di terapkan, pada saat pelanggan memilih tempat duduk, tapi belum di lanjutkan untuk pembayaran. Pada proses ini, Data pada antrian FIFO tidak di simpan didalam array, tapi disimpan didalam database. 34

Gambar 3.5 Proses algoritma FIFO Di atas adalah detail dari algoritma FIFO yang di terapkan di aplikasi pemesanan tiket bus berbasis android. Berikut Penjelasan tahap demi tahap poses algoritma FIFO yang penulis buat : 1. Pengguna / user akan melihat tampilan denah tempat duduk. 2. Pada saat tampilan denah tempat duduk di load pertama kali, data status setiap tempat duduk di ambil dari firebase. sehingga pengguna akan melihat setiap status di tempat duduk yang ditampilkan. 35

3. Pengguna memilih / mengklik satu tempat duduk. 4. Data akan dikirim melalui API untuk di proses, kemudian sistem mengecek apakah tempat duduk ini sudah di pesan/book? kalau sudah, maka sistem akan memberikan notifikasi "tempat duduk udah di book". jika tempat duduk belum dipesan / book maka sistem akan melanjutkan ke proses selanjutnya. 5. Untuk memastikan tidak ada nya dobel antrian pada pengguna yang sama di tempat duduk yang dipilih, maka sistem akan menghapus antrian pengguna pada tempat duduk yang dipilih nya. 6. Kemudian sistem mengecek, apakah sudah ada antrian pada tempat duduk yang dipilih nya, jika tidak ada maka sistem akan membuat antrian dengan urutan pertama pada tempat duduk yang dipilih, dan jika sudah ada antrian, maka sistem akan menghitung jumlah antrian, dan membuat antrian dengan nomer urut selanjutnya. 7. Kemudian data antrian disimpan ke database. 8. Setelah data disimpan didatabase, sistem akan mengupdate tampilan denah tempat duduk, dan sistem juga mengupdate data tersebut ke firebase. 9. Dan ada sistem yang mengecek setiap menit antrian - antrian yang sudah habis masa berlakunya. Apabila ditemukan antrian yang sudah habis masa berlakunya, maka sistem akan Menghapus antrian tersebut dari database, kemudian data tersebut dikirim kedenah tempat duduk dan juga di update ke firebase. Demikian proses satu siklus untuk melakukan pre book pada tempat duduk. Proses ini akan berulang terus - menerus dan antrian akan bertambah terus, sesuai dengan user yang melakukan pre book tempat duduk tersebut. 3.3.2 Algoritma lock and unlock Algoritma ini diterapkan, ketika pengguna sudah berhasil membuat pesanan book, algoritma ini dibuat untuk mengatasi pengguna yang hanya iseng memesan tempat duduk, tetapi tidak dilunasi. Sehingga itu akan menjadi masalah besar kepada pengguna yang serius ingin membeli tempat duduk tersebut. 36

Gambar 3.6 Proses algoritma lock and unlock Diatas adalah alur data secara detail dari algoritma lock and unlock. Dimana kegunaan utama dari algoritma ini adalah untuk mengunci / lock tempat duduk yang sudah dipesan oleh pengguna. Tempat duduk yang sudah di pesan / book belum sepenuhnya jadi milik pengguna yang memesan, sampai si pengguna tersebut 37

berhasil membayar dan mengkonfirmasinya. dalam prosesnya penguncian tempat duduk diberi waktu 60 detik, jika dalam 60 detik pengguna tersebut belum menyelesaikan pembayarannya, maka tempat duduk tersebut akan di lepas / unlock sehingga pengguna lain yang menginginkan tempat duduk tersebut bisa memesan. Berikut adalah penjelasan secara bertahap dari algoritma lock and unlock : 1. Pengguna akan melihat denah tempat duduk, dan kemudian memilih tempat duduk yang diinginkan. 2. Setelah memilih / mengklik tempat duduk yang diinginkan, maka proses pre - book akan berlangsung, dan untuk proses ini sudah dijelaskan pada bagian sebelumnya. 3. Kemudian pengguna mensubmit / menekan tombol lanjut, untuk melanjutkan proses pre book menjadi book. 4. Setelah di submit, sistem akan mengecek, untuk tempat duduk tersebut sudah terpesan oleh pengguna lain atau belum. Jika sudah maka sistem akan memberikan notifikasi bahwa "tempat duduk sudah dipesan", dan sistem akan kembali kedenah tempat duduk. Jika status tempat duduk tersebut kosong, maka sistem akan melanjutkan proses selanjutnya. 5. Sistem akan menghapus seluruh Queue/antrian terkait dengan tempat duduk tersebut. 6. Sistem akan membuat pesanan / order dan sistem memberi waktu 60 detik untuk menyelesaikan pembayaran dari pesanan / order tersebut. 7. Kemudian sistem akan mengecek, apakah pengguna akan lanjut untuk proses pembayaran? jika tidak maka sistem akan mengupdate status pending kedatabase, dan juga mengupdate tampilan di denah tempat duduk dengan tampilan sudah di book. Jika pengguna lanjut kepembayaran, maka pengguna harus membayar dengan jumlah yang tertera. pada sistem hanya menyediakan pilihan transfer antar bank. 8. Jika sudah melakukan pembayaran, pengguna harus mengkonfirmasi pembayarannya, dan jika sudah dikonfirmasi, maka sistem akan mengupdate status pesanan tersebut dengan 'Taken', dan tampilan denah tempat duduk akan di update, dan tempat duduknya menjadi sepenuhnya milik pengguna yang pembayarannya telah dikonfirmasi oleh admin. 38

Demikianlan penjelasan tahap demi tahap algoritma lock and unlock dan juga beserta fungsi dari algoritma lock dan unlock ini. 3.4 PERANCANGAN DATABASE Untuk mendukung sistem dari pemesanan tiket bus berbasis android, maka sistem ini membutuhkan database, sebagai alat untuk menyimpan semua data, baik itu master data maupun data yang telah diolah. Berikut penulis akan menjelaskan struktur database yang digunakan untuk mengimplementasi aplikasi ini. Gambar 3.7 Diagram ER 39

Untuk membuat aplikasi pemesanan tiket bus berbasis android, penulis membutuhkan 10 tabel, semua tabel tersebut memiliki relasi terhadap tabel lain seperti : 1. Tabel partners, tabel cities, tabel users, tabel payment_methods merupakan tabel master, tabel master adalah tabel yang berdiri sendiri atau sering disebut tabel yang menyediakan data untuk tabel lain, 2. Tabel password_reset, tabel untuk menampung data dari tabel users, apabila users tersebut lupa passwordnya. Tabel password_reset dan tabel users mempunyai relasi 1 to 1. 3. Tabel passengers berfungsi untuk menyimpan data penumpang, tabel ini tidak berdiri sendiri, tapi mempunya hubungan dengan tabel users, yaitu 1 to many. 1 user yang terdaftar pada aplikasi ini, bisa membuat data passengers berbeda - beda. 4. Tabel routes berfungsi untuk mendaftarkan rute perjalan yang bisa di pilih oleh pengguna, data dari tabel ini banyak terkait ke tabel lain seperti ; a) Terkait ke tabel partners sebagai many to one. untuk mengambil partner mana saja yang melayani rute tersebut b) Terkait ke tabel cities sebagai many to one. tabel ini berfungsi untuk mendefenisikan kota mana saja yang dilayanin oleh aplikasi ini c) Terkait ke tabel queues sebgai 1 to many. Tabel queues berfungsi unuk menyimpan data tabel routes yang masuk kedalam antrian, dan bersifat sementara, dan tabel queues memiliki relasi ke tabel users sebagai many to one, untuk mendapatkan pengguna mana saja yang masuk kedalam antrian. d) Terkait ke tabel bus_tickets sebagai 1 to many, karena satu rute yang sama bisa di pesan oleh banyak pengguna. Tabel ini berfungsi untuk menyimpan tiket yang telah dibuat oleh pengguna. 5. Tabel orders berfungsi untuk mennyimpan data pesanan, sebelum disimpan ditabel order, sistem membuat unique tiket dan di simpan di tabel bus_tickets. Kemudian tabel orders terkait ke tabel passengers sebagai many to one yang berfungsi untuk mendapatkan detail passengers. Selain itu, untuk mendapatkan data metode pembayaran, tabel orders juga terkait ke tabel payment_methods sebagai many to 1. 40

Selain terkait, relasi yang sudah di jelaskan diatas, Terdapat juga atribut di setiap tabel. Untuk atribut penulis sudah menampilkan secara jelas pada diagram ER yang penulis sediakan. 41