4.3 Pengembangan Sistem
4.3.3 Construction
Tahap construction ini adalah tahap untuk merancang aplikasi tersebut. Secara garis besar, hal pertama yang harus dilakukan untuk merancang aplikasi adalah menganalisis data. Setelah data dianalisis, selanjutnya mendeskripsikan setiap skenario dari sistem dan membangun user interface supaya sesuai dengan skenario yang telah dibuat. Setelah ketiga hal tersebut telah didapatkan hasilnya, maka tahap terakhir adalah tahap pemrogramman (coding).
4.3.3.1Struktur Sistem
Untuk mendefinisikan struktur sistem, disini perlu dibuat class diagram sebagai penggambaran struktur statis dari sebuah sistem. Sebagaimana pada Gambar 4.18 yang menggambarkan struktur class diagram awal dari sistem ini baru menentukan method dari masing-masing kelas dan belum mendefinisikan datanya.
Gambar 4.18 Class Diagram awal dariSIGEPTKI
Pada class diagram tersebut dapat terlihat bahwa user interface dari sistem ada tiga yaitu, serverApp interface. adminApp interface dan clientApp interface. ServerApp interface memiliki fungsi untuk memonitor data clientApp yang berisi didalamnya data identitas TKI. Sedangkan pada adminApp memiliki fungsi penuh untuk melakukan manipulasi data dari clientApp dan identitas TKI, dari mulai add data, edit, find dan delete. Pada clientApp memiliki fungsi mengubah beberapa data yang terdapat pada kelas clientApp.
Untuk mendefinisikan data-data apa saja yang akan dimasukkan dalam sistem, maka dapat dilihat dari kelas identitas TKI, clientApp, kedubes_ri, dan admin. Pertama pada kelas identitas TKI, kelas ini adalah kelas yang mendefinisikan biodata dari TKI. Berdasarkan data yang penulis dapatkan dari penelitian di BNP2TKI, setiap TKI memiliki data-data diantaranya adalah id_tki,
no_ktp, nama dan lain-lain yang telah dijelaskan pada bagian sebelumnya. Kelas clientApp dibentuk untuk menampung data koordinat TKI, dan data SOS Signal.
Kelas admin yang ada pada class diagram tersebut hanya kelas sebagai kontrol keamanan dari pengguna serverApp. Tidak ada pembedaan hak akses terhadap pengoperasian serverApp. Asalkan seorang pengguna mengetahui kombinasi username dan password yang terdaftar, maka pengguna tersebut dapat mengoperasikan seluruh fungsi pada serverApp.
Kelas kedubes_ri berfungsi sebagai penyedia data nama negara untuk di isikan pada field negara_tujuan pada kelas identitas_tki sebagai control data mengenai fungsi rute menuju kedubes RI di setiap negara untuk keperluan pembuatan rute menuju kedubes RI. Maka, dari analisis data tersebut, dapat didefinisikan class diagram secara utuh dari SIGEPTKI sebagaimana pada Gambar 4.19.
Setelah mendefinisikan class diagram secara keseluruhan, maka dapat dibuat struktur database berdasarkan class diagram dan data-data yang didapatkan dari BNP2TKI seperti pada Gambar 4.20
Seperti yang digambarkan pada Class Diagram, field id_tki merupakan foreign key dari tabel clientApp merefer ke tabel identitas_tki. Definisi dari data dari struktur database diatas dapat dilihat pada Tabel 4.12
Tabel 4.14 Definisi Data
No. Nama Field Tipe Data Keterangan
1. id_admin varchar(3)
Sebagai primary key dari tabel admin
2. username varchar(15)
Berisi username dari aktor admin
3. password varchar(13)
Berisi passsword dari aktor admin
4. id_kedubes varchar(3)
Sebagai primary key dari tabel kedubes_ri
5. negara_kedubes varchar(25)
Nama negara dimana kedubes yang dimaksud berada
6. lat_kedubes float Nilai latitude dari kedubes
7. long_kedubes float Nilai longitude dari kedubes
8. serial_number varchar(12)
Berisi nomor seri dari perangkat iPhone dan
sekaligus sebagai angka unik dari masing-masing perangkat supaya tidak diperlukan akun
9. id_tki varchar(8)
Sebagai primary key dari tabel identitas_tki
10. latitude float
Nilai latitude terakhir yang dikirim dari aplikasi clientApp
11. longitude float
Nilai longitude terakhir yang dikirim dari aplikasi clientApp
12. jam_akhir_posisi time
Waktu (jam) ketika aplikasi clientApp terakhir kali mengirimkan mengirimkan koordinat
13. tgl_akhir_posisi date
Waktu (tanggal) ketika aplikasi clientApp terakhir kali mengirimkan mengirimkan koordinat
14. sos_signal tinyint(1)
Berisi informasi yang menyatakan apakah sinyal
S.O.S dari seorang TKI sedang aktif atau tidak
15. sos_date date
Berisi informasi tanggal pengiriman sinyal S.O.S dari TKI
16. no_ktp varchar(17) Nomor KTP dari TKI
17. nama varchar(35) Nama TKI
18. tempat_lahir varchar(30) Tempat Lahir TKI
19. tanggal_lahir date Tanggal Lahir TKI
20. jenis_kelamin varchar(11) Jenis Kelamin TKI
21. agama varchar(15) Agama yang dianut TKI
22. pendidikan varchar(20)
Pendidikan terakhir TKI sebelum TKI berangkat ke luar negeri
23. status varchar(13) Status TKI berdasarkan KTP
24. alamat_tki varchar(100) Alamat tempat tinggal TKI
26. nama_ayah varchar(25) Nama Ayah TKI
27. nama_ibu varchar(25) Nama Ibu TKI
28. alamat_ortu varchar(100)
Alamat tempat tinggal dari orang tua TKI
29. kota_ortu varchar(30)
Kota tempat tinggal orang tua TKI
30. no_paspor varchar(9) Nomor Paspor TKI
31. tanggal_paspor date
Tanggal diterbitkannya paspor TKI
32. no_visa varchar(19) Nomor Visa TKI
33. negara_tujuan varchar(28)
Negara tujuan bekerja dari TKI
34. pptkis varchar(35)
Nama Penyelenggara Penempatan Tenaga Kerja Indonesia Swasta
35. nama_agensi varchar(35) Nama Agensi dari TKI
36. pengguna_tki varchar(35)
Nama Majikan atau bos dari TKI
37. alamat_pengguna_tki varchar(100)
Alamat majikan atau bos dari TKI
38. jabatan varchar(35) Jabatan atau profesi TKI
39. no_ktkln varchar(17)
Nomor Kartu Tanda Kerja Luar Negeri 40. tanggal_terbit_ktktln date Tanggal diterbitkannya KTKLN 41. tanggal_habis_ktkln date Tanggal berakhirnya KTKLN atau jatuh tempo dimana seorang TKI harus berhenti bekerja dan dipulangkan
4.3.3.2Mendeskripsikan Skenario Sistem
Untuk mendeskripsikan setiap interaksi pada setiap skenario dalam SIGEPTKI, dapat digambarkan dengan sequence diagram.
1. Sequence Diagram login
Gambar 4.21 Sequence Diagram login
Sequence diagram yang digambarkan pada Gambar 4.21 adalah sequence diagram untuk proses log in. Pertama admin harus login sistem, kemudian sistem akan memunculkan form login dan meminta admin menginput username dan password. Jika username dan password yang dimasukkan tidak valid, maka sistem secara otomatis mengharuskan admin untuk melakukan input data username dan password kembali. Jika username dan password yang di input benar, maka sistem akan menampilkan halaman utama adminApp.
2. Sequence Diagram add data identitas TKI
Gambar 4.22 Sequence Diagram add identitas TKI
Sequence diagram yang digambarkan pada Gambar 4.22 merupakan sequence diagram untuk proses add data identitas TKI. Tahapan yang dilakukan oleh admin untuk add data adalah melakukan log in terlebih dahulu, kemudian masuk ke halaman manajemen datadan pilih add data identitas TKI. Sistem akan otomatis membaca field negara_kedubes pada tabel kedubes_ri yang kemudian akan dibuatkan list negara sebagai pencegahan terhadap salah memasukan data negara_tujuan pada tabel identitas_tki, yang merupakan field penting sebagai
parameter pada fungsi rute menuju kedubes RI. Setelah itu sistem akan menampilkan form identitas TKI
Setelah form dilengkapi, sistem akan mengirimkannya ke tabel identitas_tki, jika data berhasil disimpan maka sistem akan menampilkan pesan berhasil. Jika gagal maka sistem akan menampilkan pesan gagal dan jika terjadi kesalahan pada input data, maka sistem akan menampilkan pesan bahwa terdapat kesalahan pada penginputan data.
3. Sequence Diagram edit data identitas TKI
Sequence diagram pada Gambar 4.23 merupakan sequence diagram untuk proses edit data identitas TKI. Pertama Admin harus melakukan login kemudian masuk ke halaman manajemen data. Setelah itu, admin memilih perintah edit identitas TKI yang kemudian sistem akan menampilkan list identitas TKI. Admin memilih identitas TKI mana yang akan dilakukan perubahan data.
Setelah melakukan perubahan data, sistem akan mengirimkannya ke tabel identitas_tki, jika data berhasil disimpan maka sistem akan menampilkan pesan berhasil. Jika gagal maka sistem akan menampilkan pesan gagal dan jika terjadi kesalahan pada input data, maka sistem akan menampilkan pesan bahwa terdapat kesalahan pada penginputan data.
4. Sequence Diagram delete data identitas TKI
Gambar 4.24 Sequence Diagram delete identitas TKI
Sequence diagram pada Gambar 4.24 merupakan sequence diagram untuk proses delete data identitas TKI. Pertama Admin harus melakukan login kemudian masuk ke halaman manajemen data. Setelah itu, admin memilih perintah delete identitas TKI yang kemudian sistem akan menampilkan list identitas TKI. Admin memilih identitas TKI mana yang akan dihapus.
Setelah melakukan perintah delete, sistem akan memeriksa apakah data identitas TKI tersebut sudah terhubung dengan clientApp, jika sudah terhubung, maka field id_tki yang dipilih untuk dihapus dan berada di tabel clientapp akan
dihapus dan begitu juga data terpilih pada tabel identitas_tki, jika data berhasil dihapus maka sistem akan menampilkan pesan berhasil. Jika gagal maka sistem akan menampilkan pesan gagal.
5. Sequence Diagram add data clientApp
Gambar 4.25 Sequence Diagram add clientApp
Sequence diagram yang digambarkan pada Gambar 4.25 merupakan sequence diagram untuk proses add data clientApp. Tahapan yang dilakukan oleh admin untuk add data clientApp adalah melakukan log in terlebih dahulu, kemudian masuk ke halaman manajemen data dan pilih add data clientApp. Sistem secara otomatis akan menerima data seluruh field id_tki pada tabel identitas_tki sebagai
kontrol error dalam pengisian field id_tki pada tabel clientApp. Kemudian sistem akan menampilkan form clientApp
Setelah form dilengkapi, sistem akan mengirimkannya ke tabel clientapp, jika data berhasil disimpan maka sistem akan menampilkan pesan berhasil. Jika gagal maka sistem akan menampilkan pesan gagal dan jika terjadi kesalahan pada input data, maka sistem akan menampilkan pesan bahwa terdapat kesalahan pada penginputan data.
6. Sequence Diagram edit data clientApp
Sequence diagram pada Gambar 4.26 dibawah, merupakan sequence diagram untuk proses edit data clientApp. Pertama Admin harus melakukan login kemudian masuk ke halaman manajemen data. Setelah itu, admin memilih perintah edit clientApp yang kemudian sistem akan menampilkan list clientApp. Admin memilih data clientApp mana yang akan dilakukan perubahan data.
Setelah melakukan perubahan data, sistem akan mengirimkannya ke tabel clientapp, jika data berhasil disimpan maka sistem akan menampilkan pesan berhasil. Jika gagal maka sistem akan menampilkan pesan gagal dan jika terjadi kesalahan pada input data, maka sistem akan menampilkan pesan bahwa terdapat kesalahan pada penginputan data.
7. Sequence Diagram log out
Gambar 4.27 Sequence Diagram Log out
Sequence diagram pada Gambar 4.27 merupakan sequence diagram untuk proses logout pada aplikasi adminApp. Pertama Admin harus memasukan perintah logout kemudian Sistem akan menampilkan pesan verifikasi. Jika admin memverifikasi nya maka seluruh history akan dihapus dan kembali ke halaman login. Jika dibatalkan maka akan tampil pesan batal logout.
8. Sequence Diagram delete data clientApp
Gambar 4.28 Sequence Diagram delete identitas TKI
Sequence diagram pada Gambar 4.28 merupakan sequence diagram untuk proses delete data clientApp. Pertama Admin harus melakukan login kemudian masuk ke halaman manajemen data. Setelah itu, admin memilih perintah delete clientApp yang kemudian sistem akan menampilkan list clientApp. Admin memilih clientApp mana yang akan dihapus.
Setelah melakukan perintah delete, jika data berhasil dihapus maka sistem akan menampilkan pesan berhasil. Jika gagal maka sistem akan menampilkan pesan gagal.
9. Sequence Diagram monitoring dan rute menuju lokasi TKI
Gambar 4.29 Sequence Diagram monitoring dan rute menuju lokasi TKI
Sequence diagram pada Gambar 4.29 merupakan sequence diagram untuk proses monitoring lokasi TKI melalui pemetaan dan rute menuju lokasi tersebut. Untuk mendapatkan rute menuju lokasi TKI, pertama operator harus melakukan log in kemudian masuk ke halaman monitoring TKI. Setelah itu sistem akan mengambil data clientApp dari database untuk ditampilkan dalam bentuk pemetaan. Pada tahap ini operator sudah dapat melihat lokasi para TKI yang sedang bekerja di luar negeri.
Setelah proses tersebut, operator dapat memilih lokasi mana yang akan dipilih untuk dituju. Setelah memilih clientApp, sistem akan secara otomatis membuatkan rute untuk mencapai ke lokasi tersebut.
10.Sequence Diagram kirim koordinat lokasi TKI secara otomatis
Gambar 4.30 Sequence Diagram kirim koordinat lokasi TKI
Sequene Diagram pada Gambar 4.30 merupakan sequence diagram untuk proses mengirimkan koordinat lokasi TKI secara otomatis dan periodik. Pertama, indikator supaya sistem memulai proses mengirimkan koordinat lokasi TKI adalah ketika waktu memasuki pukul 08:00 waktu setempat.
Setelah pukul 08:00 tiba, sistem akan secara otomatis menerima sinyal GPS untuk mengetahui koordinat lokasi device. Jika terjadi kegagalan dalam penerimaan
sinyal GPS maka sistem akan menampilkan pesan gagal mengirim lokasi pada halaman utama, dan jika berhasil maka sistem akan menampilkan pesan berhasil mengirim lokasi pada halaman utama juga.
11.Sequence Diagram kirim sinyal S.O.S
Gambar 4.31 Sequence Diagram kirim sinyal S.O.S
Sequence Diagram pada Gambar 4.31 merupakan sequence diagram untuk proses mengirim sinyal S.O.S dari clientApp. Pertama, TKI atau pengguna memasukan perintah untuk mengirim sinyal S.O.S yang kemudian akan di respon
kolom kosong oleh sistem. Kolom tersebut diisi dengan nama ibu kandung sebagai kontrol prosesnya.
Jika nama ibu kandung yang dimasukkan salah, maka sistem akan menampilkan pesan bahwa nama ibu kandung yang dimasukkan salah. Jika benar maka sistem akan memeriksa koneksi internet. Jika tidak ada koneksi internet, maka sistem akan mengirimkan pesan bahwa sinyal S.O.S gagal dikirimkan.
Namun, jika sistem sudah terkoneksi internet tetapi tidak dapat menerima sinyal GPS, maka sistem akan menampilkan pesan bahwa telah berhasil mengirim sinyal S.O.S tetapi tanpa mengirimkan lokasi terbaru. Dan jika seluruh koneksi tersedia maka sistem akan menyimpan data ke database tentang sinyal S.O.S dan koordinat lokasi terbaru dan sistem akan menampilkan pesan pada pengguna bahwa sinyal S.O.S beserta lokasi terbaru telah berhasil dikirim.
12.Sequence Diagram menampilkan rute menuju kedubes RI
Sequence diagram pada Gambar 4.32 merupakan sequence diagram untuk proses menampilkan petunjuk arah menuju kedubes RI di negara tempat TKI tersebut bekerja. Pertama TKI harus masuk ke halaman utama aplikasi clientApp, kemudian masukan perintah tampilkan rute menuju kedutaan besar RI. Sistem akan mencari informasi mengenai negara tempat TKI tersebut bekerja dengan mengakses database. Kemudian setelah data didapat, sistem akan kembali mengakses database untuk mendapatkan data tentang lokasi kedubes RI. Setelah sistem mendapatkan lokasi kedubes RI pada negara tempat TKI bekerja, sistem akan menentukan rute menuju lokasi tersebut dan menampilkannya pada pengguna.
Gambar 4.32 Sequence Diagram menampilkan petunjuk arah menuju kedubes RI
13.Sequence Diagram menampilkan masa kontrak
Sequence diagram pada Gambar 4.32 merupakan sequence diagram untuk proses menampilkan petunjuk arah menuju kedubes RI di negara tempat TKI tersebut bekerja. Pertama TKI harus masuk ke halaman utama aplikasi clientApp, kemudian masukan perintah tampilkan rute menuju kedutaan besar RI. Sistem akan mencari informasi mengenai negara tempat TKI tersebut bekerja dengan mengakses database. Kemudian setelah data didapat, sistem akan kembali mengakses database untuk mendapatkan data tentang lokasi kedubes RI. Setelah sistem mendapatkan lokasi kedubes RI pada negara tempat TKI bekerja, sistem akan menentukan rute menuju lokasi tersebut dan menampilkannya pada pengguna.
Gambar 4.33 Sequence Diagram menampilkan masa kontrak kerja
Sequence Diagram pada Gambar 4.33 merupakan sequence diagram untuk proses menampilkan masa kontrak kerja kepada TKI. Proses nya adalah ketika TKI membuka aplikasi maka sistem akan secara otomatis mengambil data tanggal expired KTKLN dari TKI tersebut dan kemudian menampilkannya kepada TKI tersebut.
4.3.3.3Membangun Interface
Pada pengembangan SIGEPTKI ini menggunakan pendekatan Framework Cocoa pada Objective-C. Menurut Keur, et al. 2014, pembangunan interface pada pemrograman dengan pendekatan Framework Cocoa pada Objective-C adalah
menggunakan storyboard. Seperti yang sudah dijelaskan pada Bab 2 tentang storyboard, Gambar 4.34 merupakan storyboard dari adminApp, Gambar 4.35 merupakan storyboard dari serverApp dan Gambar 4.36 merupakan storyboard dari clientApp
Gambar 4.35 Storyboard serverApp
4.3.3.4MVC Programming
MVC merupakan sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). Penulis menggunakan pola MVC Programming dikarenakan menurut James, et al 2013 Untuk dapat mendapatkan pemrosesan yang efisien dalam pemrograman mobile, maka MVC Programming adalah pilihan pola pemrograman yang tepat.
Pola MVC Programming biasa digambarkan dengan class diagram, pada bagian sebelumnya telah ditentukan bagaimana class diagram untuk sistem ini, maka pada bagian MVC Programming, penulis hanya tinggal mengadaptasi dari class diagram yang sudah dibuat menjadi Pola MVC pada Sistem ini dibagi menjadi 2 yaitu pola MVC pada pembangunan serverApp dan pola MVC pada pembangunan clientApp. Sebagaimana yang terdapat pada Gambar 4.31 adalah pola MVC pada pembangunan serverApp
Gambar 4.37 Model MVC untuk membangun adminApp
Pada Gambar 4.37 dapat diambil kesimpulan bahwa dalam membangun aplikasi adminApp, maka akan dibuat kelas utama dalam pemrogramannya yaitu kelas control_login, control_logout, dan control_data_tki. Kelas utama itu dibuat dalam bahasa pemrograman Objective-C, seperti yang telah dijelaskan pada deploymentdiagram pada bagian sebelumnya.
Model pada pola MVC pembangunan aplikasi adminApp terdiri dari 4 kelas pada model yaitu tabel admin, kedubes_ri, tabel identitas_tki dan tabel clientapp. Untuk kelas admin dan kedubes_ri, kegiatan pada controller hanya sebatas melihat data, tidak memiliki operasi untuk mengubah kedua kelas tersebut. Sedangkan untuk kelas identitas_tki dan clientApp, aplikasi adminApp memiliki akses penuh pada kelas tersebut. Kelas-kelas yang terdapat pada model akan menjadi tabel pada database.
Database yang digunakan adalah MySQL dan sebagai penghubungnya adalah menggunakan bahasa PHP, karena Sistem ini menaruh databasenya secara cloud seperti yang sudah digambarkan pada deployment diagram juga. Selain PHP sebagai penghubung, karena Model ini terkait dengan perintah manajerial data, maka sebagai encoder datanya digunakan bahasa pemrograman JSON. Proses pembangunan View dapat dilakukan dengan bantuan skema user interface yang telah didefinisikan dengan storyboard pada bagian sebelumnya dengan bahasa pemrogramman Objective-C.
MVC Programming untuk aplikasi serverApp, adalah sebagaimana pada Gambar 4.38, yaitu terdiri dari dua kelas utama dalam controller nya yaitu kelas monitoring_tki dan kelas route_generator_tki. Sedangkan pada Model nya sama masih sama dengan adminApp, hanya saja pada serverApp tidak mengakses kelas admin dan kedubes_ri.
Berikutnya, dalam pembangunan aplikasi clientApp sebagaimana model mvc nya pada Gambar 4.39 dijelaskan bahwa
Gambar 4.39 Pola MVC untuk membangun clientApp
Pada Gambar 4.39 menjelaskan terdapat 4 kelas utama untuk merancang aplikasi clientApp di bagian controller, yaitu kirim_koordinat_secara_otomatis, menampilkan_masa_kontrak, control_data_sos_signal, dan route_generator_dubes
Untuk Model pada pembangunan clientApp, ternyata memiliki kesamaan dalam pembangunan serverApp dan adminApp. Hal tersebut menandakan adanya integrasi atau transaksi antara clientApp dengan serverApp. Maksud dari pernyataan tersebut yaitu kelas dari bagian Model yang sama tidak perlu dibuat ulang.