Analisa Desain SIMPM - Sistem Informasi Manajemen Dan Kepengasuhan
Panti Muhammadiyah Jawa Timur Berbasis Web Menggunakan Metode
Object Oriented Dan Iconic Proses
Immah Inayati1, Hersa Farida2
Sistem Informasi, Fakultas Ilmu Komputer Universitas Narotama1, Teknik Informatika, Fakultas Ilmu Komputer Universitas Narotama 2
immah.inayati@narotama.ac.id1, hersa.farida@narotama.ac.id2
Abstrak
Panti Asuhan merupakan lembaga sosial yang tersebar di berbagai wilayah di Indonesia. Muhammadiyah sebagai salah satu institusi terbesar di Indonesia memiliki peran penting dalam pengelolaan panti asuhan. Di Jawa Timur, ada 109 panti asuhan yang tersebar di seluruh wilayah di jawa timur. Banyak anak malang bertempat di panti asuhan dengan berbagai jenjang pendidikan, mulai dari TK, SD, SMP, SMA dan bahkan perguruan tinggi. Banyak bantuan disediakan untuk setiap panti asuhan. Setiap institusi juga memiliki aset dan potensi yang berbeda. Seperti panti asuhan bojonegoro yang memiliki restoran yang dikelola oleh pengasuh anak dan rumah anak-anak. Semua panti asuhan yang berada di Jawa Timur masih belum memiliki database komputer dalam database terpadu. Potensi data panti jompo dan panti asuhan masih tercatat secara manual. Hal ini membuat sulit untuk mengetahui kemajuan panti asuhan dan institusi itu sendiri, selain bantuan dan pelaporan keuangan tidak dapat dilihat secara real time. Oleh karena itu, penelitian ini mengusulkan sistem informasi manajemen dan perawatan panti asuhan jawa timur berbasis web dengan menggunakan database terintegrasi. Untuk mendapatkan analisis dan desain lengkap, penelitian ini akan menggunakan UseCase driven - Proses Iconic sebagai model analisis dan desain yang kuat dengan menggunakan diagram UML dan diagram Robustness.
Keywords: Panti Asuhan Muhammadiyah, Usecase driven, iconic process, UML Diagram, Robustness diagram
1 PENDAHULUAN
Teknologi informasi saat ini telah menjadi kebutuhan bagi masyarakat untuk membantu kegiatan sehari-hari. Bukan hanya untuk urusan media sosial namun teknologi informasi juga telah membantu dalam mempermudah pendataan masyarakat salah satunya terwujud dalam e- ktp. E-ktp menjadi salah satu upaya pemerintah dalam melakukan pendataan masyarakat secara terintegrasi untuk dapat mengetahui kondisi riil masyarakat. Pemanfaatan IT tidak hanya lingkup nasional seperti e-KTP, namun instansi-instansi juga telah banyak memanfaatkan fasilitas IT dalam manajemen data mereka. Hampir semua instansi pendidikan mulai tingkat SD sampai perguruan tinggi telah memiliki sistem informasi manajemen. Begitu juga perkantoran.
Akan tetapi tingginya pemanfaatan IT ini masih belum menjangkau instansi sosial yang jarang mengikuti perkembangan dunia IT seperti intansi yang lain. Salah satu instansi sosial yang belum memiliki sistem informasi manajemen, yaitu Panti Asuhan Muhammadiyah. Terdapat 109 panti asuhan muhammadiyah dengan 4297 anak asuh yang tersebar di seluruh Jawa Timur. Panti asuhan ini berada di bawah koordinasi Majelis Pelayanan
Sosial Muhammadiyah Jawa timur, salah satu bagian dari Pimpinan Wilayah Muhammadiyah (PWM) Jawa Timur yang berkantor di jalan kertomenanggal IV no 1.
Dari sejak didirikan, panti asuhan muhammadiyah yang tersebar di 109 wilayah belum memiliki sistem informasi yang terintegrasi. Pendataan anak panti dan pengasuh serta bantuan masih berupa catatan d buku dan beberapa menggunakan MS Excel. Hal ini tentu tidak maksimal untuk dapat memonitoring perkembangan sebuah panti. Pimpinan MPS Jawa Timur kesulitan untuk mendapatkan laporan panti secara cepat dan panti sehingga sulit menentukan kebijakan yang diperlukan bagi pengembangan panti. Di samping itu, MPS juga sulit untuk memonitor potensi dan aset yang dimiliki oleh 109 panti di wilayah jawa timur.
panti. Paper ini membahas Permodelan Analisa dan desain system informasi Manajemen Dan Kepengasuhan Panti Muhammadiyah Jawa Timur Berbasis Web Menggunakan Metode Object Oriented Dan Iconic Proses.
2 STUDI PUSTAKA
Dalam paradigma pengembangan Model - Driven (MDD), upaya analis harus difokuskan pada model konseptual, dan sistem harus dilaksanakan dengan menggunakan model untuk mengubah kode yang dilakukan oleh model model Model Driven (Embley et al, 2011). Saat pemodelan adalah Berdasarkan bahasa domain-spesifik, Model Driven Development berhasil memberikan hasil terbaik meski metode ini belum banyak diterapkan (Tolvanen, et al, 2017) Model-driven engineering telah berhasil mendapat tgempat di dunia industri sebagai cara yang efektif untuk dapat menangani kompleksitas perangkat lunak modern (Ciccozzi, et al, 2016). Abstraksi dan otomasi adalah dua aspek kunci dari Model-Driven Engineering (MDE), sebagai cara efektif untuk mengatasi pendekatan teknik berbasis kode yang beragam (Schimdt, 2006).
Menurut paradigma MDE, sebuah perangkat lunak dikembangkan dalam beberapa tahap. Langkah pertama adalah dengan merancang model dan menyempurnakan model dari tingkat yang lebih tinggi ke tingkat abstraksi yang lebih rendah sampai kode dihasilkan dengan menggunakan spesifikasi transformasi (Czarnecki, 2006). Pemodelan bahasa digunakan untuk menentukan model. Salah satu bahasa pemodelan adalah UML. Booch menyatakan bahwa Unified Modeling Language (UML) adalah bahasa standar untuk menulis cetak biru perangkat lunak (Booch, et al, 2005). UML adalah bahasa visual yang menyediakan jalan bagi orang-orang yang menganalisa dan merancang sistem berorientasi objek untuk memvisualisasikan, membangun, dan mendokumentasikan artefak sistem perangkat lunak dan untuk memodelkan organisasi bisnis (Bennet, et al, 2004)
Sampai akhir 1990-an, analisis fungsional dan terstruktur, desain dan proses pengkodean, yang biasanya dinyatakan sebagai model waterfall telah menjadi disiplin dominan untuk pengembangan perangkat lunak. Namun akhir-akhir ini telah ditinggalkan oleh banyak sektor industri teknologi Informasi (Li, et al, 20020. sehingga membutuhkan lebih banyak waktu bagi pelanggan untuk mendapatkan hasilnya. UML usecase driven ini bisa menjawab permasalahan tersebut. Usecase driven adalah model driven engineering menggunakan UML berdasarkan usecase, yang berarti usecase digunakan untuk mendorong usaha pengembangan system (Rosenberg, et al, 2001). Use case diyakini
merupakan dasar yang baik untuk pengujian sistem (Nebut, et al, 2016).
Usecase driven biasanya disebut proses Ikonik (Iconic Process). Proses Iconic menggunakan UML sebagai bahasa pemodelan (Bajaj, et al, 2009). Proses ikonik merupakan proses yang minimalis dan ramping, yaitu pendekatan yang berfokus pada area yang terletak di antara kode dan kode (Rosenberg, et al, 2007). Proses ini juga mempermudah penggunaan UML sambil tetap fokus pada pelacakan kebutyuhan (tracebility of requirement) (Rosenberg, et al, 2001). Proses ikonik dibagi menjadi alur kerja dinamis dan statis, yang sangat iteratif seperti yang ditunjukkan pada gambar1 (Rosenberg, et al, 2007).
Gambar 1. Proses Ikonik (Iconic Process)
3 GUI STORY BOARD
Langkah pertama dalam menerapkan proses ikonik adalah membangun story board atau papan cerita. Storyboard dibangun berdasarkan fase pengumpulan kebutuhan dalam proses pengembangan yang sangat awal. Dalam pertemuan dalam melakukan penggalian kebutuhan, beberapa wawancara dan pengamatan proses bisnis dilakukan. Gambar2 dan gambar3 merupakan dua contoh papan cerita Gui dalam mengelola data master panti asuhan dan sekolah siswa.
Gambar 3. Storyboard untuk menambah data Sekolah
4 TAHAP DINAMIS (DYNAMIC PHASE )
Pada fase ini, Model dibuat dengan berdasarkan storyboard atau desain antar muka. Dari
storyboard pada fase dinamis, penulis menyusun
sebuah diagram usecase yang menunjukkan apa yang bias dilakukan system panti. Tabel1 menunjukkan daftar actor dan usecase yang digambarkan dalam diagram usecase. Sementara pada gambar 4 usecase diagram, menunjukkan usecase atau fungsionalitas yang dapat dilakukan system. Usecase diagram menunjukkan bahwa system dapat diakses oleh 4 aktor yaitu use, super admin, admin, dan pengasuh, Diagram Usecase juga memiliki 21 buah fungsionalitas sistem.
Tabel 1. Daftar actor dan usecase
Actor Usecases
User UC.01. Log in
User UC.02. melihat data detail Panti Super
Admin
UC.03. Mengelola master data panti asuhan
Super Admin
UC.04. Mengelola struktur organisasi panti asuhan
Super Admin
UC.05. Mengelola Mutasi
Admin UC.06. Mengelola master data asal sekolah anak asuh
Admin UC.07. Mengelola data jenis catatan akademik
Admin UC.08. Mengelola jenis pekerjaan Admin UC.09. Mengelola jenis bantuan Admin UC.010. Mengelola data anak asuh Admin UC.011. Mengelola data pemberi
bantuan
Admin UC.012. Mengelola data donatur Admin UC.013. Mengelola data akademik
anak asuh
Admin UC.014. mengelola aktivitas panti asuhan
Pengasuh UC.015. melihat laporan donatur Pengasuh UC.016. melihat laporan bantuan Pengasuh UC.017. melihat laporan mutase anak
asuh dan pengasuh
Pengasuh UC.018. Melihat laporan anak asuh
Actor Usecases
Pengasuh UC.019. melihat laporan akademik anak asuh
Pengasuh UC.020. Melihat laporan pemberi bantuan
Pengasuh UC.021. Melihat laporan kegiatan Pengasuh UC.022. Melihat laporan kegiatan
panti asuhan
uc Orphanage Management information system
Orphanage Management information system
login
manage orphanage caretaker
manage relief item manage orphanage
mutation
manage orphanage activ ities
See donors report
manage orphanage donor Admin'
See relief report
See mutation report
See activ ities of orphanage
change passw ord See orphanage
data See information of the
orphanage
User
caretaker Super Admin manage
administrator Manage Orphanage
See monthly Report
See mutation of orphans and
caretaker manage
Occupation
manage Orphan Manage Orphan academic report
Manage orphan school
Gambar 4. Usecase Diagram
Setelah membangun diagram usecase, maka dibangun robustness diagram. Gambar 5 dan gambar 6 menunjukkan Robustness diagram
spesifiasi dari 2 usecases, yaitu scenario log in dan menambahkan panti asuhan
uc RD. Log in
user
Log in form validate data
user is data valid ?
Message eror
User form page Fill Username and password
yes no
uc RD Add Orphanage
admin
orpanage form add orphanage
orphanage show orpganage form
orphanage form
Gambar 6. Robustness diagram menambah panti asuhan
Setelah membangun robustness diagram, tahapan selanjutnya yaitu membangun diagram sekuen (Sequence diagram). Diagram sekuen menunjukkan perilaku system. Dengan meliuhat diagram sekuen, maka programmer dapat melihat class dan method yang harus dibangun.Gambar 7 dab 8 merupakan contoh sequence diagram untuk scenario login dan menambah data panti asuhan.
sd SDLog in
user login form log in user
login button click()
login()
validate()
show form()
Gambar 7. Sequence Diagram untuk LogIn
Gambar 7 menunjukkan Sequence diagram
untuk skenarion log in, dimulai dengan user menekan tombol Login pada form login. Setelah tombol ditekan, system akan memanggil method login() pad akelas login. Dalam method tersebut, akan dipanggil method validate() yang akan melakukan verifikasi kesesuaian antara username dan password.
sd SD Add Orphanage
admin orphanage form orphanage orphanage
add button click()
add orphanage()
add orphanage()
show form()
Gambar 8. Sequence Diagram scenario menambah data panti asuhan
5 TAHAP STATIS (STATIC PHASE)
Saat membangun fase dinamis, fase statis juga dibangun. Diagram yang pertama kali dibangun dalam fase statis adalah domain model, domain
model dibangun berdasarkan hasil penggalian
kebutuhan. Gambar 9 menunjukkan model domain, yang terdiri dari 9 kelas, yaitu panti asuhan, anak asuh, Pekerjaan, pengasuh, user, bantuan, donatur, dan Bantuan.
class domain Model
Orphanage orphan
caretaker
donor orphan's parents
relief user occupation
school
Gambar 9. Domain Model
Setelah membangun model domain, berdasarkan diagram usecase dan diagram sekuen, diagram kelas dibangun. Diagran kelas yang dibangun terdiri dari 15 kelas, yaitu panti asuhan, mutasi sementara, kota, admin, sekolah, juru kunci, pendudukan, donor, yatim piatu, adopsi, arus kas, lega, lega, lega lega, lega, dan mutasi anak yatim piatu. Masing-masing kelas terdiri dari variabel dan metode contoh. Instance variable akan bertindak sebagai database untuk menyimpan data dari sistem dan metode akan tampil sebagai baris kode dalam sistem.
management system (RDBMS) yang digambarkan dengan menggunakan Contextual Data Model
(CDM) dan Physica;l Data Model (PDM) sementara untuk analisis perancangan menggunakan metode
Object Oriented menggunakan diagram kelas atau
class diagram. Keuntungan dari diagram kelas ini
dibandingkan dengan menggunakan CDM dan PDM dalam pemodelan terstruktur adalah diagram ini tidak hanya mampu menunjukkan struktur data sistem namun juga dapat menunjukkan method
masing-masing kelas. Konsep ini disebut
polimorfisme dalam konsep pemodelan berorientasi
objek.
class ClassDiagram
Orphanage
+ alamat_panti_asuhan: char + catatan_panti_asuhan: char + email_panti_asuhan: char + gambar_kop: char + id_kota: int + id_panti_asuhan: int + kode_panti_asuhan: char + nama_panti_asuhan: char + notelp_panti_asuhan: char + status_akreditasi_panti_asuhan: char + status_panti_asuhan: char + wilayah_pemb_gub_panti_asuhan: int
+ addPantiAsuhan()
+ catatan_pekerjaan: char + id_pekerjaan: int + kode_pekerjaan: char + nama_pekerjaan: char
+ addPekerjaan()
+ catatan_kota: char + id_kota: int
+ alamat_ sekolah: char + catatan_sekolah: char + id_kota_ sekolah: int + id_sekolah: int + kode_sekolah: char + nama_ sekolah: char + notelp_sekolah: char + tingkat_ sekolah: char
+ addSekolah()
+ agama_pengurus: char + alamat_institusi_pengurus: char + alamat_tinggal_pengurus: char + catatan_pengguna: char + email_pengurus: char + foto_pengurus: char + gol_dar_pengurus: char + id_jabatan: int + id_jurusan: int + id_kota_institusi: int + id_kota_tinggal_pengurus: int + id_pekerjaan: int + id_sekolah: int + id_tmpt_lahir_pengurus: int + jk_pengurus: char + kelas_semester_ pengurus: int + nama_institusi_pengurus: char + nohp_pengurus: char + notelp_pengurus: char + pend_akhir_pengurus: char + status_kerja_pengurus: char + status_nikah_pengurus: char + tgl_gabung_pengurus: char + tgl_lahir_pengurus: char
+ addPengurusPanti() + getPengurusPantiT rans() + resetPassword() + ubahPassword() + updPengurusPanti() + validasi()
donors
+ alamat_donatur_tetap: char + catatan_donatur_tetap: char + email_donatur_tetap: char + id_donatur_tetap: int + id_kota_donatur_tetap: int + id_pekerjaan_donatur_tetap: int + institusi_donatur_tetap: char + jenis_donatur_tetap: char + kode_donatur_tetap: char + nama_donatur_tetap: char + nohp_donatur_tetap: char + notelp_donatur_tetap: char + status_donatur_tetap: char
+ addDonaturT etap() + cekDoubleDonaturT etap() + cekPakaiDonaturT etap() + deleteDonaturT etap() + getDonaturT etap() + getDonaturT etapT rans() + getLaporanDonaturT etap() + updDonaturT etap()
relief
+ catatan_bantuan_masuk: char + id_bantuan_masuk: int + id_donatur_tetap: int + id_panti_asuhan: int + id_pengurus: int + id_pengurus_penerima: int + jenis_donatur_bantuan_masuk: char + nama_donatur_tidak_tetap: char + no_nota_bantuan_masuk: char + tanggal_bantuan_masuk: char
+ addBantuanMasuk()
+ id_bantuan_masuk: int + id_barang: int + id_detail_bantuan_masuk_barang: int + jml_barang_bantuan_masuk: int
cash relief
+ id_bantuan_masuk: int + id_detail_bantuan_masuk_uang: int + jml_uang_bantuan_masuk: double
cashflow
+ catatan_keluar: char + digunakan_untuk: char + id_keluar: int + id_panti_asuhan: int + id_pengurus_pemberi_otoritas: int + id_pengurus_penanggungjawab: int + no_bukti_keluar: char + tanggal_keluar: char
+ addPengeluaran() + cekDoublePengeluaran() + getPengeluaran() Caretaker mutation
+ catatan_mutasi_pengurus: char + id_mutasi_pengurus: int + id_pengurus: int + no_mutasi_pengurus: char + sebab_keluar_mutasi_pengurus: char + tgl_keluar_mutasi_pengurus: char + tgl_terhitung_mutasi_pengurus: char
+ addMutasiPengurusPanti()
+ catatan_mutasi_anak_asuh: char + id_anak_asuh: int + id_mutasi_anak_asuh: int + id_panti_asuhan_asal: int + id_panti_asuhan_tujuan: int + no_mutasi_anak_asuh: char + sebab_mutasi_anak_asuh: long + tgl_keluar_mutasi_anak_asuh: char + tgl_masuk_mutasi_anak_asuh: char
+ addMutasiAnakAsuh()
+ alamat_pengadopsi_adopsi_anak_asuh: char + catatan_adopsi_anak_asuh: char + foto_adopsi_anak_asuh: char + id_adopsi_anak_asuh: int + id_anak_asuh: int + id_kota_pengadopsi_adopsi_anak_asuh: int + id_panti_asuhan: int + id_pekerjaan_pengadopsi_adopsi_anak_asuh: int + id_pengurus_saksi: int + nama_pengadopsi_adopsi_anak_asuh: char + no_adopsi_anak_asuh: char + no_ijin_adopsi_anak_asuh: char + nohp_pengadopsi_adopsi_anak_asuh: char + notelp_pengdopsi_adopsi_anak_asuh: char + status_nikah_pengadopsi_adopsi_anak_asuh: char + tgl_adopsi_anak_asuh: char
+ addAdopsiAnakAsuh()
+ agama_anak_asuh: char + alamat_asal_anak_asuh: char + alamat_tinggal_anak_asuh: char + alamat_tinggal_ayah_anak_asuh: char + alamat_tinggal_ibu _anak_asuh: char + alamat_tinggal_wali _anak_asuh: char + anak_ke_anak_asuh: int + bpjs_anak_asuh: char + catatan_anak_asuh: char + email_anak_asuh: char + foto_anak_asuh: char + gol_dar_anak_asuh: char + id_anak_asuh: int + id_jurusan : int + id_kota_asal_anak_asuh: int + id_kota_tinggal_anak_asuh: int + id_kota_tinggal_ayah_anak_asuh: int + id_kota_tinggal_wali_anak_asuh: int + id_panti_asuhan: int + id_pekerjaan: int + id_pekerjaan_ wali: int + id_pekerjaan_ayah: int + id_pekerjaan_ibu: int + id_sekolah: int + id_tmpt_lahir_anak_asuh: int + jk_anak_asuh: char + jml_sdr_anak_asuh: int + kelas_semester_anak_asuh: int + keterangan_difable: char + kondisi_kesehatan: char + nama_anak_asuh: char + nama_ayah_anak_asuh: char + nama_ibu_anak_asuh: char + nama_wali_anak_asuh: char + nia: char + nohp_ ibu _anak_asuh: char + nohp_anak_asuh: char + nohp_ayah_anak_asuh: char + nohp_wali _anak_asuh: char + notelp_anak_asuh: char + notelp_ayah_anak_asuh: char + notelp_ibu _anak_asuh: char + notelp_wali _anak_asuh: char + pend_ wali _anak_asuh: char + pend_akhir_anak_asuh: char + pend_ayah_anak_asuh: char + pend_ibu _anak_asuh: char + status_anak_asuh: char + status_ayah_anak_asuh: char + status_hidup_ayah_anak_asuh: char + status_hidup_ibu_anak_asuh: char + status_ibu _anak_asuh: char + status_tinggal_anak_asuh: char + tgl_lahir_anak_asuh: char + tgl_masuk_panti_anak_asuh: char
+ addAnakAsuh() + cekDoubleAnakAsuh() + cekPakaiAnakAsuh() + deleteAnakAsuh() + getAnakAsuh() + getAnakAsuhT rans() + getLaporanAnakAsuh() + updAnakAsuh() Admin
- id_panti_asuhan: int
+ addAdmin()
Gambar 10. Class Diagram
6 PENDAHULUAN DAN PENELITIAN SELANJUTNYA
Makalah ini membahas tentang tahap Analisa dan perancangan sistem informasi manajemen untuk panti asuhan di Jawa Timur dengan menggunakan pemodelan berbasis usecase dengan proses ikonik. Dengan menggunakan model iconic process, makalah ini menghasilkan Gui Storyboard, Usecase
diagram, Robustness diagram, Sequence diagram,
domain model dan class diagram.
Penelitian selanjutnya kita akan mencakup fase implementasi dan fase pengujian sistem informasi manajemen untuk panti asuhan di jawa timur sehingga sistem ini dapat memberi keuntungan bagi panti asuhan muhammadiyah Jawa Timur. Penelitian lanjutan dari penelitian ini yaitu penelitian dengan menerapkan konsep pendukung keputusan pada untuk dapat menilai kinerja setiap panti asuhan di jawa timur. Konsep sistem pendukung keputusan juga dapat digunakan dalam tahap rekrutmen panti
asuhan, untuk menentukan calon siswa mana yang dapat diterima di panti asuhan.
DAFTAR PUSTAKA:
Bajaj Akhilesh and Wrycza Stanislaw (2009) Systems Analysis and Design for Advanced Modeling Methods: Best Practices. Information Sicience Reference (an imprint of IGI Global) Bennett Simon , John Skelton, and Ken Lunn (2004)
UML Second Edition McGraw-Hill Europe; 2 edition
Booch Grady, James Rumbough, and Ivar Jacobson (2005) The Unified Modelling Language User Guide Second Edition. Addison Wesley, United States
ciccozzi, seceleanu corcoran, and Scholle (2016) UML-Based Development of Embedded Real-Time Software on Multi-Core in Practice: Lessons Learned and Future Perspectives, IEEE
D. C. Schmidt, `Guest editor's introduction: Model-driven engineering,''Computer, vol. 39, no. 2, pp. 2531, Feb. 2006.
Embley David, Liddle steven, and Pastor Oscar (2011) Conceptual-Model Programming: A Manifesto , Handbook of Conceptual Modeling pp 3-16, Springer
K. Czarnecki and S. Helsen, ``Feature-based survey of model transformation approaches,'' IBM Syst. J., vol. 45, no. 3, pp. 621645, 2006. Li, Liu, and He (2002) Formal and use-case driven
requirement analysis in UML. IEEE
Nebut, fleury, and thaoh (2016) Automatic test generation: a use case driven approach, IEEE Rosenberg Doug and Kendall Scout (2001)
Applying usecase driven object modelling wit UML, an annoted E-Commerce example, Addison Wesley
Rosenberg Doug and Stephens Matt (2007)Use Case Driven Object Modeling with UML theory and practices, Apress