BAB III
PELAKSAAN KERJA MAGANG
3.1 Kedudukan dan Koordinasi
Kerja prakik magang dilakukan pada Divisi Mobile di perusahaan CV Surya Tirta Kencana Putra sebagai Mobile Developer di bawah pengawasan Bapak Adam Kartanegara selaku Kepala Divisi Mobile. Beliau memberikan informasi dan user requirement secara garis besar, serta menjabarkan kendala – kendala yang ada pada
proses jasa antar jenazah yang sudah ada sebelumnya selama melaksanakan kerja praktik magang. Dari informasi dan user requirement yang didapat kemudian dikembangkan sebuah aplikasi berbasis mobile untuk mempermudah sopir pada jasa antar jenazah untuk mencatat order yang sudah di lakukannya. Komunikasi yang dilakukan dengan Bapak Adam yaitu dengan melakukan rapat setiap dua minggu sekali.
3.2 Tugas yang Dilakukan
Tugas yang dilakukan selama 3 bulan periode magang adalah merancang modul sistem pencatatan untuk dipakai oleh sopir perusahaan CV Surya Tirta Kencana Putra guna men track orderan pada jasa antar jenazah di CV Surya Tirta Kencana Putra dengan menggunakan aplikasi Android Studio dan Bahasa pemrograman Java. Modul yang akan dikerjakan adalah listing, searching, sorting, editing, inserting.
Tabel 3. 1 Table Waktu Kerja Magang
No Kegiatan Juli Agustus September Oktober
2 3 4 1 2 3 4 1 2 3 4 1 2 3 1 Peneliatan terdahulu
2 Analisis Kebutuhan User
3 Pembuatan Sistem 4 Pengujian
Sistem/Testing 5 Presentasi Project
3.2.1 Penelitian terdahulu
Dalam proses perancangan modul antar jenazah pada CV Surya Tirta Kencana Putra dibutuhkan brainstorming terlebih dahulu untuk mencari fitur-fitur apa saja yang dibutuhkan dalam aplikasi ini. Setelah mendapatkan dan mempelajari kebutuhan client, maka developer memutuskan untuk menggunakan aplikasi IDE Android Studio
dan menggunakan Bahasa pemrograman Java untuk merancang aplikasi ini. Android Studio merupakan IDE yang sangat update dan jika adanya terjadi update maka developer harus menggali informasi tentang update tersebut karena bisa saja fitur yang
lama dan biasa developer digantikan dengan fitur baru.
3.2.2 Analisi Kebutuhan
Pada tahapan berikutnya adalah analisis kebutuhan dari aplikasi tersebut.
Tahap ini dimulai dengan analisis mengenai kebutuhan- kebutuhan yang ada untuk diterapkan ke aplikasi mobile yang akan dibangun. Kebutuhan aplikasi yang utama adalah order management.
Order Management berguna untuk melihat dan mengedit data dari tabel- tabel
yang telah dibuat dalam database. Hal ini diperlukan untuk melakukan membantu proses pembukuan pada sistem sebelumnya yang hanya dicatat oleh sopir dengan kertas dan pulpen saja dan jika kertas tersebut itu hilang sudah tidak ada backup lagi dan akan mempersulit proses pembukuan.
Login biasanya digunakan untuk membatasi hak akses bagi user untuk melihat
dan berinteraksi dengan data-data. Hanya user yang sudah terdaftar yang bisa mengakses data-data tersebut. Login berguna untuk mencegah terjadinya pencurian data oleh orang-orang yang tidak bertanggung jawab, karena ada beberapa data perusahaan yang bersifat privacy dan tidak boleh disebarluaskan begitu saja.
Searching berguna untuk melakukan pencarian sejumlah data pada sistem sehingga
sopir dapat dengan mudah mencari data yang ingin dilihatnya dan dieditnya. Sorting berguna untuk melakukan sorting data berdasarkan bulan sehingga sopir dapat dengan mudah mencari data yang ingin dilihat.
3.2.3 Pembuatan Sistem
Dalam pembuatan sistem, diperlukan beberapa hal, yaitu software dan hardware untuk menunjang kerja magang ini. Perangkat lunak atau software yang
digunakan adalah sebagai berikut.
1. Sistem operasi Windows 10 Home Single Language 64 bit
2. Browser yang digunakan untuk mencari informasi yang berkaitan dengan requirement yang membantu permbuatan dari aplikasi ini.
3. Android Studio IDE yang digunakan untuk mengembangkan android mobile application.
4. Android Virtual Device sebagai emulator untuk mengeksekusi program.
5. Firebase Realtime Database sebagai online database dari aplikasi android yang dibuat.
Adapun beberapa hardware yang dibutuhkan untuk membantu pembuatan sistem adalah sebagai berikut.
1. Laptop ASUS ROG GL553VD FY280T, dengan spesifikasi sebagai berikut.
a. Processor Intel i7-7700HQ 2.80GHz
b. VGA Nvidia GeForce GTX 1050 4GB DDR5 c. HDD dengan kapasitas total 1TB 7200rpm d. SSD dengan kapasistas 256GB M.2 NVMe e. RAM 16 GB DDR4
3.2.4 Presentasi Project
Presentasi project dilakukan setiap 2 minggu sekali. Presentasi dilakukan di depan supervisi yang berperan sebagai client sekaligus memberikan feedback dan masukan-masukan apa saja yang kurang terkait requirement sistem, hal ini berguna untuk memenuhi kebutuhan-kebutuhan apa saja yang belum ada di aplikasi yang akan dilanjutkan dipengembangan sistem selanjutnya.
3.3 Uraian Pelaksanaan Kerja Magang
Berikut adalah rancangan aplikasi yang terdiri dari flowchart, struktur table,
database schema, dan DFD. Juga terdapat pengujian sistem untuk menguji apakah aplikasi masih terdapat bug-bug saat dieksekusi.
3.3.1 Rancangan Aplikasi
Aplikasi yang baik harus dikerjakan sesuai dengan perancangan dan perencanaan yang sudah dilakukan dalam proses user requirement. Perancangan suatu aplikasi dapat ditunjukan dengan menggunakan diagram-diagram dimana diagram yang digunakan dalam aplikasi ini adalah use case diagram, flowchart, struktur table, database schema, dan DFD.
A. Use Case Diagram
Gambar 3. 1 Use Case Diagram aplikasi sutikepartner
Gambar diatas menunjukan use case diagram dari sistem aplikasi sutikepartner. Diagram tersebut menunjukan interaksi antar sistem dan sopir. Sopir dapat melakukan login, kemudian sistem akan melakukan verifikasi apabila gagal maka akan menampilkan error message. Sopir dapat membuat pesanan baru, kemudian sistem akan melakukan validasi apabila gagal akan menampilkan error message. Sopir juga dapat melakukan perubahan pesanan kemudian sistem melakukan
validasi juga apabila gagal maka akan menampilkan error message. Dan sopir juga dapat melihat informasi data diri dari sopir tersebut.
A. Flowchart
Gambar 3. 2 Flowchart Main Menu
Dari keseluruhan sistem terbentuk lima subproses, yakni main menu, login, list transaksi, edit transaksi, profil. Lalu ada subproses untuk keluar dari aplikasi yakni keluar, otomatis sopir akan kembali ke subproses main menu.
Gambar 3. 3 Flowchart Login
Dalam proses login dilakukan melalui SDK Firebase yang telah di built in dari android studio. Dengan menggunakan fungsi authentication dari firebase, hanya tinggal mendaftarkan email dan password sopir ke dalam database yang telah disediakan, lalu tinggal menarik data tersebut dan mencocokannya apabila ingin melakukan login.
Gambar 3. 4 Flowchart Pelayanan
Subproses pelayanan digunakan untuk melakukan pencatatan order dengan meninput data-data ke dalam form yang telah dibuat, setelah semua data di isi, sopir hanya tinggal menekan tombol simpan. Otomatis data akan terinput ke dalam database.
Gambar 3. 5 Flowchart List Data Transaksi
Pada mainmenu jika sopir memilih card listtransaksi makan akan menampilkan data-data history transaksi dengan mempopulate data yang ditarik dari database realtime firebase, dan akan menampilkan cardview yang berisi data-data transaksi berupa, nomor pesanan, nama, instansi, tanggal, service, dan alamat.
Gambar 3. 6 Flowchart Edit Transaksi
Subproses edittransaksi digunakan untuk mengedit data-data transaksi apabila sopir melakukan kesalahan dalam menginput pelayanan, apabila sopir telah melakukan update, maka secara otomatis data transaksi secara dinamis akan terganti di database realtime firebase.
Gambar 3. 7 Flowchart Profil
Subproses profile digunakan untuk melihat data diri sopir yang terdiri dari nama sopir, nomor hp sopir, jenis mobil sopir, alamat sopir, instansi sopir, dan plat nomor sopir. Apabila sopir menekan tombol back maka akan kembali ke subproses main menu.
B. Struktur tabel 1. Tabel order
Tabel 3. 2 Table Order Nama kolom Tipe
Data Keterangan
uid String ID sopir (Primary
Key)
alamat String
Alamat sopir mengantar atau menjemput almarhum instansi String Instansi sopir
nama String Nama almarhum
no String No pesanan
service String Service yang
dilakukan antar/jemput tanggal String Tanggal antar/jemput
Tabel order dijelaskan pada Tabel 3.2 memiliki tujuh kolom, yaitu kolom uid untuk membedakan tiap order, sisanya adalah kolom yang berisikan tentang deskripsi dari order, pelayanan.
1. Tabel profile sopir
Tabel 3. 3 Tabel profile driver Nama kolom Tipe Data
uid String
alamat String
instansi String
nama String
jenismobil String
platnomor String
no String
hp String
Tabel profile sopir dijelaskan pada Tabel 3.3 memiliki delapan kolom, yaitu kolom id untuk membedakan tiap sopir yang terdaftar pada sistem, sisanya adalah kolom yang berisikan tentang deskripsi profile sopir tersebut.
2. Database Schema
Gambar 3. 8 Database Schema
Pada gambar 3.7 menampilkan database schema dari aplikasi sutikepartner dimana terdapat dua table yaitu table order dan driver. Dan di dalam table order terdapat uid dari driver sebagai foreign key yang digunakan untuk menampilkan data- data transaksi sesuai dengan uid driver masing-masing. Jadi driver lain tidak bisa melihat atau mengupdate data-data transaksi mirip driver lainnya.
3. DFD (Data Flow Diagram)
Gambar 3. 9 DFD Sistem aplikasi sutikepartner
DFD (Data Flow Diagram) pada Gambar 3.8 memiliki 1 entitas yaitu sopir.
Entitas sopir mengirim data kepada sistem berupa keyword_search, email_sopir, password_sopir, new_no, new_nama, new_instansi, new_alamat, new_jenismobil, new_platnomor, dan new_nohp. Entitas ini juga menerima data dari sistem berupa data_order, data_search, dan data_sortbymonth.
Gambar 3. 10 DFD Level 1 Sistem aplikasi sutikepartner
DFD Level1 pada Gambar 3.9 memiliki 6 proses pengiriman dan penerimaan data. Pada proses login menerima data berupa email_sopir dan password_sopir dari entitas sopir, proses ini juga mengirimkan data berupa email_sopir dan password_sopir
ke database sopir. Lalu pada proses input transaksi menerima data berupa new_no, new_nama, new_instansi, new_service, new_alamat, new_tanggal dari entitas sopir dan mengirimkan data berupa new_no, new_nama, new_instansi, new_service, new_alamat, new_tanggal ke database order.
Pada proses Edit Transaksi menerima data dari entitas sopir berupa new_no, new_nama, new_instansi, new_service, new_alamat, new_tanggal dan mengirimkan data ke database order berupa new_no, new_nama, new_instansi, new_service, new_alamat, new_tanggal. Lalu pada proses searching menerima data berupa keyword_search dari entitas sopir dan mengirim data berupa keyword_search ke database order. Pada proses sorting menerima data berupa data_sorted dari database order dan mengirim data berupa data_sorted ke entitas sopir. Dan terakhir pada proses show transaksi menerima data berupa data_order dari database order dan mengirim data berupa data_order ke entitas sopir.
2. Desain Mockup
Hasil dari mockup tidak sama seutuhnya dengan hasil akhir aplikasi, dikarenakan adanya beberapa revisi dari supervisor untuk menyesuaikan dengan kebutuhan akhir dari modul sopir pada aplikasi sutikepartner. Modul user aplikasi sutikepartner memiliki user interface yang terdiri dari, login, main menu, list transaksi, profile dan edit transaksi.
Pada Gambar di atas menampilkan desain antarmuka login dimana memiliki logo sutike ditengah atas dan kolom untuk mengisi email, password dibawah logo sutike dan tombol login untuk verifikasi pengguna apakah pengguna sudah terdaftar di dalam database yang ada di firebase.
Gambar 3. 11 Mockup Login
Pada Gambar di atas menunjukan aplikasi akan menampilkan desain antarmuka dari halaman main menu yang terdapat teks yang menampilkan welcome user dan dibawahnya ada enam ikon, tujuh teks, enam buah container yang masing-masing akan membawa user menuju ke tampilan yang berbeda-beda.
Gambar 3. 12 Mockup Main Menu
Gambar di atas menunjukkan desain antarmuka dari halaman tampilan list pesanan. Pada gambar tersebut menunjukkan, judul halaman, list pesanan yang berisi no pesanan yang diurutkan berdasarkan ascending, nama, instansi user, tanggal pelayanan, dan alamat yang akan dituju, scrollbar untuk melakukan scroll karena datanya banyak, search field agar memudahkan user dalam pencarian data, dan terdapat icon sorting untuk mengurutkan data .
Gambar 3. 13 Mockup List Transaksi
Pada Gambar di atas menunjukkan desain antarmuka dari halaman edit pesanan dimana pada gambar tersebut terdapat judul halaman, search bar yang digunakan untuk mencari data yang akan di edit dan di update, icon sort untuk melakukan sorting berdasarkan bulan, lalu ada list pesanan yang dimana apabila user mengklik salah satu list tersebut akan muncul modalbox yang berisi data lengkap dari data tersebut
Gambar 3. 14 Mockup Edit Transaksi
Pada Gambar di atas akan menampilkan data diri sopir berupa nomor hp, instansi sopir, tipe mobil sopir, alamat sopir, dan nomor plat mobil sopir.
Gambar 3. 15 Mockup Profil
Pada Gambar diatas terdapat empat form yaitu nama, instansi, no telp, alamat dan 1 button pada desain antarmuka edit transaksi. Untuk melakukan perubahan, sopir harus mengisi ke-lima form tersebut dan menekan tombol update pada bagian tengah bawah layar aplikasi.Implementasi
Gambar 3. 16 Mockup Update Dialog Transaksi
Pada Gambar 3.17 terdapat 6 form yaitu nomor pesanan, instansi, tanggal, nama, pelayanan dan alamat. Untuk melakukan pencatatan order, sopir wajib mengisi semua data dan menekan tombol OK pada bagian tengah bawah.
Gambar 3. 17 Mockup Pelayanan
E. Implementasi
Gambar 3.18 menunjukkan login page aplikasi sutike partner. User akan diminta untuk menginput email dan password untuk melakukan login. Developer
Gambar 3. 18 Tampilan Login
menggunakan salah satu fungsi dari firebase untuk melakukan proses autentikasi.
mengg
firebase
Gambar 3. 19 Tampilan Main Menu
Saat berhasil login, maka akan muncul tampilan seperti Gambar 3.19. Halaman ini digunakan sebagai main menu untuk user bernavigasi ke halaman selanjutnya. Pada halaman ini terdapat enam card yang berfungsi untuk berpindah ke halaman pelayanan, edit transaksi, list transaksi, profil dan halaman keluar.
Jika tombol daftar transaksi pada main menu ditekan maka sistem akan menampilkan tampilan seperti pada Gambar 3.20 yang berisi list – list order yang sudah pernah dilakukan oleh sopir.
Gambar 3. 20 Tampilan Daftar Transaksi
Jika icon kaca pembesar pada header halaman list transaksi ditekan maka akan menampilkan text field dan keyboard untuk menginput data yang ingin dicari seperti pada Gambar 3.21.
Gambar 3. 21 Tampilan Search List Transaksi
ika icon kaca pembesar pada header halaman edit transaksi ditekan maka akan menampilkan text field dan keyboard untuk menginput data yang ingin dicari seperti pada Gambar 3.21.
Gambar 3. 22 Tampilan Search Edit Transaksi
Jika icon sort pada header aplikasi di tekan maka akan ditampilkan tampilan seperti gambar di atas. Fitur sort by date yang berguna untuk mensort data sesuai dengan bulan yang dipilih. Dan fitur sorting ini tersedia di halaman list transaksi dan edit transaksi.
Gambar 3. 23 Tampilan Sort Dialog
Jika icon sort pada header ditekan maka akan menampilkan dialog berisi nama-nama bulan dan apabila sopir memilih salah satu dari bulan tersebut maka akan menampilkan data yang telah diurutkan berdasarkan bulan tersebut.
Gambar 3. 24 Tampilan Sort Berdasarkan Bulan
Pada list edit transaksi apabila user menekan salah satu list akan menampilan update dialog yang berisi data-data dari nomor pesanan yang dipilih, dan user dapat merubah data-data transaksi disini.
Gambar 3. 25 Tampilan Update Dialog
Pada saat card edit transaksi dipilih makan akan keluar tampilan edit transaksi seperti pada gambar di atas. Pada page edit transaksi hanya menampilkan nomor pesanan beserta nama jenazah saja.
Gambar 3. 26 Tampilan Edit Transaksi
Pada saat tombol profile pada page main menu ditekan maka akan keluar tampilan seperti gambar di atas. Pada page profile terdapat data diri sopir berupa nomor handphone, instansi sopir, jenis kendaraan, plat nomor mobil, dan alamat sopir.
Gambar 3. 27 Tampilan Profile
Gambar 3. 28 Tampilan Pelayanan
Pada saat card pelayanan dipilih maka akan menampilkan form input pelayanan untuk melakukan pencatatan order yang berisi, no pesanan, instansi, tanggal, nama, jenis pelayanan, dan alamat tujuan. Lalu tersedia tombol OK untuk menyimpan data ke database realtime firebase.
3.3.2 Pengujian Sistem
Tahap pengujian sistem merupakan tahap dimana melihat apakah sistem yang telah dibangun berjalan dengan baik dan sesuai dengan requirements dan keinginan yang diharapakan client. Pengujian dilakukan dengan cara menjalankan sistem di beberapa ukuran smartphone yang berbeda dengan menggunakan emulator. Pengujian menggunakan data dummy untuk memastikan apakah aliran data berjalan dengan baik atau tidak. Pengujian sistem juga dilakukan untuk mencari celah dari sistem atau bug- bug yang dapat terjadi pada sistem dan segera memperbaikinya.
Beberapa bug dan cara memperbaiki bug yang ditemukan dijelaskan pada poin – poin dibawah ini:
1. Fitur sorting yang salah mensort data order berdasarkan bulan, solusi yang dilakukan untuk memperbaiki bug ini adalah menggunakan if pada fungsi onDateSet dimana apabila hari dan bulan < 10 maka akan di set dengan menambahkan 0 di depan bulan dan hari
Adapun rekomendasi dari perangkat platform untuk menjalankan aplikasi ini.
Diharapkan menggunakan smartphone dengan spesifikasi minimal sebagai berikut.
1. Android 7.1 Nougat (API 25).
2. RAM sebesar 512 MB.
3.4 Kendala yang Ditemukan
Selama periode pengerjaan magang, ditemukan beberapa kendala, antara lain:
1. Laptop mengalami freeze
Pada saat melakukan pengujian sistem terkadang laptop mengalami freeze karena beratnya aplikasi android studio dan emulator yang digunakan untuk mengetes aplikasi tersebut.
2. Pemakaian database firebase yang berformat nosql
Developer diharuskan menggunakan database firebase yang tidak memiliki tabel pada databasenya atau biasa disebut nosql kurang dipahami oleh developer.
3.5 Solusi atas Kendala yang Ditemukan
Solusi atas beberapa kendala yang ditemukan selama pelaksanaan kerja magang adalah sebagai berikut.
1. Laptop mengalami freeze
Untuk menghindari terjadinya freeze pada laptop yang sangat menghambat pekerjaan developer, developer menggunakan gadget untuk melakukan debugging aplikasi.
2. Pemakaian database firebase yang berformat nosql
Untuk masalah pemakaian database berformat no sql developer membaca dokumentasi pada website firebase