Laporan Uts Lab Rekayasa Perangkat Lunak
Laporan Uts Lab Rekayasa Perangkat Lunak
Altaha 181401056
T.A 2020/2021
MEDAN
KATA PENGANTAR
Puji Syukur Saya panjatkan kepada kehadirat Tuhan Yang Maha Esa karena atas berkat rahmat
dan hidayah-Nya . Saya mengucapkan syukur kepada Tuhan Yang Maha Esa atas limpahan
nikmat sehat-Nya, baik itu berupa kesehatan fisik maupun akal pikiran, sehingga penulis mampu
untuk menyelesaikan pembuatan laporan UTS sebagai tugas mata kuliah Rekayasa Perangkat
Penulis tentu menyadari bahwa laporan ini masih jauh dari kata sempurna dan masih banyak
terdapat kesalahan serta kekurangan di dalamnya. Untuk itu, penulis mengharapkan kritik serta
saran dari pembaca untuk laporan ini, supaya laporan ini nantinya dapat menjadi laporan yang
lebih baik lagi. Kemudian apabila terdapat banyak kesalahan pada laporan ini penulis mohon maaf
yang sebesar-besarnya. Penulis juga mengucapkan terima kasih kepada semua pihak khususnya
kepada asisten laboratorium mata kuliah Rekayasa Perangkat Lunak yang telah membimbing
penulis dalam menulis laporan ini. Demikian, semoga laporan ini dapat bermanfaat. Terima kasih.
Penulis
Kelompok Spiral
Daftar Isi
Daftar Isi...................................................................................................................................... 2
BAB I PENDAHULUAN........................................................................................................... 4
2.7 Firebase.............................................................................................................................................10
BAB IV PENUTUP................................................................................................................... 28
BAB I
PENDAHULUAN
1.1. Latar Belakang Masalah
beragam jenis yakni transportasi darat, laut dan udara. Namun umumnya transportasi yang
sering digunakan dalam kehidupan sehari-hari adalah transportasi darat, baik untuk
bepergian ke kantor atau tempat kerja, untuk berjalan-jalan, dsb. Contoh untuk transportasi
darat yakni Angkutan umum atau (Angkot), Bus Kota, dll. Untuk wilayah kota Medan.
Masyarakat wilayah kota Medan kebanyakan menggunakan angkutan umum berupa bus,
untuk itu pemerintah wilayah kota Medan menyediakan layanan transportasi umum berupa
bus.
Seiring dengan perkembangan zaman kini angkutan bus kota Medan berubah
menjadi layanan angkutan umum yang lebih modern dan menggunakan teknologi yang
lebih canggih. Namun sangat disayangkan ketersediaan bus yang terbatas terkadang
membuat penumpang bus tidak tahu menahu berapa jumlah orang yang ada di dalam bus,
sehingga terkadang sering sekali pengguna bus sudah menunggu lama tetapi tidak kebagian
bus karena sudah penuh. Tidak hanya disitu saja terkadang jadwal pemberhentian dan
pemberangkatan bus tidak sesuai jadwal sehingga sering sekali pengguna ketinggalan bus.
Serta pengguna juga tidak dapat melacak dan mengetahui posisi bus sehingga sering sekali
pengguna harus membuang waktu untuk menunggu bus karena khawatir takut ketinggalan
bus.
Berdasarkan permasalahan yang telah diuraikan diatas, maka kami dari kelompok
membuat Aplikasi Medan Bus. Aplikasi ini hadir untuk membantu para pengguna bus
trans Medan. Untuk pengguna bus, aplikasi ini sangat membantu pengguna untuk melacak
posisi bus, mengetahui jadwal keberangkatan dan pemberhentian bus dari satu halte
menuju halte lainnya. Selain itu, pengguna bus dapat mengetahui event-event dan destinasi
pariwisata yang menarik di kota Medan serta rute menuju lokasi tersebut.
5
1.2. Rumusan Masalah
Medan Bus. Aplikasi ini hadir untuk membantu para pengguna bus dan sopir bus. Karena
pada aplikasi ini menyediakan fitur fitur untuk memenuhi kebutuhan masyarakat luas.
Dengan adanya aplikasi ini, diharapkan dapat mengatasi permasalahan yang telah
diuraikan di atas.
Untuk menangani masalah tersebut, akan dibangun suatu Aplikasi Medan Bus
dengan menggunakan Bahasa Java dengan menggunakan basis data SQLite dan Firebase,
serta untuk melacak posisi bus aplikasi ini menggunakan GPS. Dalam merancang aplikasi
ini, akan digunakan Teknik Rekayasa Perangkat Lunak yaitu dengan melakukan analisa
kebutuhan, merancang desain antarmuka, membuat 2 Use Case Diagram dan Activity
Diagram, sehingga dapat menghasilkan suatu aplikasi yang baik dan tepat guna.
a) Membuat Aplikasi Medan Bus yang dapat membantu masyarakat luas untuk
b) Memahami tentang tata cara membuat Use Case Diagram dan Activity Diagram.
BAB II
LANDASAN TEORI
Aplikasi adalah perangkat lunak komputasi yang dirancang untuk melakukan tugas
tertentu selain yang berkaitan dengan pengoperasian komputer itu sendiri, biasanya untuk
digunakan oleh pengguna akhir. Contohnya yaitu pengolah kata, program spreadsheet,
aplikasi akuntansi, browser web, klien email, pemutar media, permainan konsol, atau
editor foto.
Android adalah sistem operasi seluler yang didasarkan pada versi modifikasi dari
kernel Linux dan perangkat lunak sumber terbuka lainnya, yang dirancang terutama untuk
perangkat seluler layar sentuh seperti ponsel cerdas dan tablet. Android adalah perangkat
Jadi, aplikasi android bisa dibilang sebagai suatu program komputer atau aplikasi
perangkat lunak yang dirancang untuk berjalan di perangkat seluler (Android OS) seperti
mengidentifikasi tujuan dan tujuannya dan menciptakan sistem dan prosedur yang akan
Bidang analisis sistem sangat berkaitan erat dengan analisis kebutuhan atau riset
operasi. Ini juga merupakan penyelidikan formal eksplisit yang dilakukan untuk
membantu si pembuat keputusan mengidentifikasi tindakan yang lebih baik dan membuat
keputusan yang lebih baik daripada yang mungkin mereka buat sehingga seluruh
penyusunan sistem bisa dikerjakan dan diselesaikan dengan baik di tahapan berikutnya.
Sebaliknya, kesalahan yang terjadi pada tahap analisis ini akan menyebabkan penyusunan
sistem gagal
satelit, penerima, dan algoritma untuk menyinkronkan data lokasi, kecepatan, dan waktu
untuk perjalanan udara, laut, dan darat. GPS terdiri dari 3 segmen :
● Kontrol tanah - Segmen Kontrol terdiri dari stasiun monitor berbasis Bumi, stasiun
kontrol utama, dan antena bumi. Aktivitas pengendalian meliputi pelacakan dan
pemantau di hampir setiap benua di dunia, termasuk Amerika Utara dan Selatan,
● Peralatan pengguna - Penerima dan pemancar GPS termasuk item seperti jam tangan,
GPS bekerja melalui teknik yang disebut trilateration. Teknik ini menghitung
informasi lokasi keluaran. Satelit yang mengorbit bumi mengirimkan sinyal untuk dibaca
dan diinterpretasikan oleh perangkat GPS, yang terletak di atau dekat permukaan bumi.
Untuk menghitung lokasi, perangkat GPS harus dapat membaca sinyal paling sedikit
empat buah satelit. Ketiga satelit dipakai dalam menentukan lokasi di permukaan bumi
sedangkan satelit keempat sering digunakan untuk memvalidasi informasi dari tiga satelit
lainnya. Satelit keempat juga memindahkan kita ke dimensi ketiga dan memungkinkan
GPS sangat berguna dalam mempersiapkan survei dan peta yang akurat, melakukan
pengukuran waktu yang tepat, melacak posisi atau lokasi, dan untuk navigasi. Sejauh ini
Java adalah bahasa pemrograman berorientasi objek berbasis kelas yang dirancang
dikompilasi ke bytecode yang dapat berjalan di semua mesin virtual Java (JVM) apapun
arsitektur komputer yang mendasarinya. Sintaksis Java mirip dengan C dan C ++, tetapi
memiliki lebih sedikit fasilitas tingkat rendah daripada keduanya. Runtime Java
menyediakan kapabilitas dinamis (seperti refleksi dan modifikasi kode runtime) yang
biasanya tidak tersedia dalam bahasa kompilasi tradisional. Pada 2019, Java adalah salah
satu bahasa pemrograman paling populer yang digunakan menurut GitHub, terutama
Java pada awalnya dikembangkan oleh James Gosling di Sun Microsystems (yang
telah diakuisisi oleh Oracle) dan dirilis pada tahun 1995 sebagai komponen inti dari
platform Java Sun Microsystems. Implementasi asli dan referensi compiler Java, mesin
virtual, dan pustaka kelas pada awalnya dirilis oleh Sun di bawah lisensi berpemilik. Sejak
Mei 2007, sesuai dengan spesifikasi Proses Komunitas Java, Sun telah melepaskan
implementasi referensi resminya adalah OpenJDK JVM yang merupakan perangkat lunak
open source gratis dan digunakan oleh sebagian besar pengembang dan merupakan JVM
seperti Spring, Play Framework, Spark, Jakarta Struts, dan Java Server Pages. Beberapa
● Bahasanya Sederhana
● Operator overloading
● Templates
● Header files
● Multiple inheritance
Setiap bahasa pemrograman tentunya memiliki fungsi utama untuk membuat sebuah
program atau aplikasi. Berikut ini program atau aplikasi yang bisa kita kembangkan
menggunakan bahasa pemrograman Java, di antaranya yaitu :
mengembangkan aplikasi yang bisa berjalan diberbagai platform. Misal kita ingin
berbagai OS seperti Windows dan Linux, nah bahasa pemrograman Java bisa jadi
dikembangkan menggunakan bahasa pemrograman ini. Jadi tidak heran jika Java
menjadi salah satu bahasa pemrograman yang paling banyak dipakai, karena berbagai
aplikasi android native dibuat dengan bahasa pemrograman Java dengan bantuan IDE
Android Studio.
● Server Side Application : Seperti yang kita tahu server side scripting adalah bahasa
dan JSP, Java juga bisa menjadi bahasa pemrograman server side yang cukup
diandalkan.
Basis Data adalah kumpulan data yang terorganisir, umumnya disimpan dan
diakses secara elektronik dari sistem komputer. Untuk database yang lebih kompleks,
Sistem manajemen basis data (DBMS) adalah perangkat lunak yang berinteraksi
dengan pengguna akhir, aplikasi, dan basis data itu sendiri untuk menangkap dan
menganalisis data. Perangkat lunak DBMS juga mencakup fasilitas inti yang disediakan
Terdapat 5 jenis database yang selama ini beroperasi di perangkat kita. Dari 5 jenis
database tersebut terdapat 15 macam produk yang memiliki fungsi berbeda-beda. Berikut
1. Operational Database.
Operational Database berguna untuk organisasi data yang dinamis secara langsung
atau real-time. Jenis ini memungkinkan para pengguna dapat melakukan, melihat, dan
memodifikasi data. Database yang termasuk dalam jenis ini adalah JSON dan XML.
2. Database Warehouse
Database Warehouse adalah basis sistem data yang biasa digunakan untuk pelaporan
dan analisis data. Sistem ini bertindak sebagai komponen inti dari business
intelligence. Yang termasuk database dari jenis ini adalah Microsoft SQL Server.
3. Distributed Database
terpasang pada perangkat komputer yang sama. Basis data tersebut disimpan di
beberapa perangkat komputer yang terletak di tempat yang sama atau tersebar melalui
jaringan komputer lainnya yang saling berhubungan. Yang termasuk database dari
4. Relational Database
Relational Database atau basis data relasional adalah basis data yang mengorganisir
Query Language (SQL) sebagai bahasa pemrograman untuk pemeliharaan basis data
dan query. Database yang termasuk jenis ini adalah MySQL, PostgreSQL, MariaDB,
MongoDB, Oracle Database, SAP HANA, IBM Db2, MemSQL, Interbase dan
Firebird.
5. End-User Database
Database ini terdiri dari berbagai file data yang dikembangkan oleh end-user di
workstation mereka. Contoh dari ini adalah koleksi dokumen dalam spreadsheet, word
processing dan bahkan download file. Database yang berkaitan dengan jenis ini adalah
SQLite.
Dari berbagai jenis beserta fungsi, ternyata sistem database bermanfaat bagi
10
2.6 SQLite
SQLite adalah sistem manajemen basis data yang ada pada library pemrograman
C. Berbeda dengan sistem lainnya, SQLite bukan merupakan mesin database client
server. SQLite tertanam ke dalam program akhir sehingga cocok digunakan dalam
penyimpanan lokal / klien melalui perangkat lunak aplikasi seperti peramban web. Sistem
ini merupakan sistem yang paling banyak digunakan melalui sistem operasi, peramban
Jika anda bisa menyatakan data berupa baris dan kolom, pertimbangkan untuk
memakai database SQLite. Jika anda menggunakan database SQLite, yang dinyatakan
sebagai objek SQLiteDatabase adalah semua interaksi dengan database adalah melalui
SQLiteOpenHelper, Ada dua tipe data yang dikaitkan secara khusus dengan penggunaan
a. Cursor
SQLiteDatabase selalu menyajikan hasil berupa Cursor dalam format tabel yang
menyerupai database SQL. Anda bisa menganggap data sebagai larik baris dan cursor
adalah pointer ke dalam satu baris data terstruktur. Kelas Cursor menyediakan metode
untuk menggerakan cursor melalui struktur data, dan metode untuk mendapatkan data
dari bidang-bidang setiap baris. Kelas Cursor memiliki sejumlah subkelas yang
mengimplementasikan cursor untuk tipe data tertentu, yaitu: SQLiteCursor untuk
secara internal, sehingga kode yang menggunakan SQLiteCursor dari beberapa thread
adalah implementasi cursor lengkap dan tidak tetap, yang didukung oleh larik objek
b. ContentValues
data sebagai pasangan nilai kunci, dalam ini kuncinya adalah nama kolom dan nilainya
2.7 Firebase
Firebase adalah BaaS (Backend as a Service) yang saat ini dimiliki oleh Google.
Firebase ini merupakan solusi yang ditawarkan oleh Google untuk mempermudah
pekerjaan Mobile Apps Developer. Dengan adanya Firebase, apps developer bisa fokus
mengembangkan aplikasi tanpa harus memberikan effort yang besar untuk urusan
backend. Firebase Real Time Database adalah fitur yang memberikan sebuah NoSQL
database yang bisa diakses secara Real Time oleh pengguna aplikasi. Dan hebatnya
11
adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada akses internet,
Pada Realtime Database, data disimpan sebagai JSON objects, sehingga struktur
data yang disimpan pada database ini berupa JSON tree. Tidak seperti SQL database yang
terdapat table-table atau records. Ketika data ditambahkan ke JSON tree, itu akan menjadi
sebuah node di dalam struktur JSON yang ada dengan sebuah associated key. Associated
key dapat berupa user id, semantic names, atau dapat dibuat secara otomatis dengan
● FLAME : untuk menggunakan layanan ini kita dikenakan biaya $25 / bulan
● BLAZE : sedangkan jika ingin menggunakan layanan yang ketiga ini kita dikenakan
12
BAB III
PEMBAHASAN
Setidaknya dibutuhkan tiga faktor untuk mencapai tujuan dibuatnya suatu program
yang sangat penting dan dapat mendukung kinerja sebuah program. Tiga faktor itu
meliputi : sumber daya manusia, perangkat keras dan perangkat lunak. Sumber daya
manusia adalah merupakan orang yang turut mengambil bagian dalam proses pembuatan
sebuah program. Sumber daya manusia meliputi Software Engineer, yaitu seseorang yang
lunak; dan juga Programmer, yaitu seseorang yang mempunyai kemampuan khusus untuk
adalah keseluruhan dari perangkat yang secara fisik berbentuk keras yang meliputi
instruksi yang dibuat untuk membuat aplikasi untuk menjalankan perangkat keras.
Melalui data-data dan informasi yang telah diperoleh, maka data dan informasi
tersebut dapat dijadikan referensi dalam pembuatan sebuah aplikasi tracking bus.
Berdasarkan hasil data yang terkumpul kemudian dapat dijadikan analisa sistem dan
Tabel ini digunakan untuk menyimpan nama – nama user yang sudah
terdaftar dan memiliki akun di Medan Bus. Struktur tabel user seperti pada
gambar berikut.
13
user
oleh user
14
dan password
pemfilteran.
memulai pencarian/search
15
MB-KF13 Data yang sudah diedit di dalam form edit profil akan
di dalam aplikasi
16
tersebut
pemfilteran.
17
3.4.3. Kebutuhan Non-Fungsional
i. Halaman pertama merupakan bagian login user. Jika user belum memiliki akun
maka user dapat membuat akun terlebih dahulu melalui halaman registrasi.
18
ii. Halaman home profil user berisi identitas user, lokasi favorit di kota medan, dan
19
iii. Jika user membuka card lokasi dari destinasi favorit misal sun plaza, maka
20
v. Jika user menekan tombol pengingat, maka akan menampilkan bagian dialog
21
vii. Jika user menekan tombol favorit (warna biru) maka akan menampilkan halte
22
ix. Jika user menekan kolom pencarian halte, maka akan menampilkan rekomendasi
23
24
Berikut adalah activity diagram pada setiap proses yang terdapat di dalam aplikasi
Medan Bus.
25
26
27
28
BAB IV
PENUTUP
4.1. Kesimpulan
Berdasarkan hasil analisis mengenai aplikasi Medan Bus yang telah dipaparkan,
1. Aplikasi Medan Bus tergolong cukup penting bagi penumpang dengan mobilitas
tinggi namun memiliki waktu terbatas. Dengan aplikasi ini calon penumpang
2. Aplikasi Medan Bus dapat menjadi sarana hiburan bagi masyarakat kota Medan.
Didukung dengan fitur rekomendasi destinasi tempat wisata dan daftar event
yang sedang berlangsung di Kota Medan beserta rute yang dapat ditempuh
menggunakan bus membuat aplikasi ini menjadi pilihan pertama dalam sarana
hiburan masyarakat.
4.2. Saran
1. Penambahan fitur melihat jumlah orang yang menunggu bus pada halte yang sama.
Fitur ini berguna karena jumlah orang yang ingin naik bus tidak dapat diketahui
2. Penambahan fitur pembayaran via aplikasi yang bekerja sama dengan fintech untuk
dapat memudahkan user melakukan pembayaran dengan cara scan barcode via