• Tidak ada hasil yang ditemukan

Mekanisme Arsitektur Software Reuse

Dengan mengadopsi enterprise layer pada DDD, mekanisme arsitektur

software reuse pada penelitian ini dirancang seperti pada Gambar 11. Tiap lapisan pada enterprise layer dibuat dalam proyek terpisah. Setiap proyek akan menghasilkan aset (pustaka) yang dapat digunakan kembali pada pengembangan aplikasi web pada Direktorat Sumber Daya Manusia atau web aplikasi yang lain.

Pustaka Domain Pustaka Antarmuka Pustaka DAO

Pengembangan Aplikasi Web

Proyek Domain Proyek Presentasi Proyek DAO Presentasi Application Layer Domain Repository Implementasi Aset Utilitas Pustaka Utilitas Dokumentasi Source Code Management

Infrastructure Layer

Gambar 11 Mekanisme Arsitektur Software Reuse Teknologi dan Tools yang digunakan

Teknologi dan Tools yang digunakan dalam implementasi aset menggunakan Java EE (Enterprise Edition). Pemilihan Java terkait dukungan komunitas yang luas dan sampai saat ini masih merupakan teknologi yang tidak berbayar serta bersifat multi-platfom. Tools yang digunakan pada implementasi mekanisme arsitektur tersaji pada Tabel 4 dan Tabel 5.

Tabel 4 Teknologi dan tools java yang digunakan

Tools Produk Digunakan untuk

IDE Eclipse Java EE Pengembangan aset

Akses Data Hibernate Hibernate Tools ORM, Pemetaan Model Konseptual ke basis data Manajemen

Tabel 5 Lanjutan Teknologi dan Tools java yang digunakan

Tools Produk Digunakan untuk

Repository

Artifactory, Git-scm (GitBlit), Custom Web Tutorial

Kontrol terhadap public library, manajemen pustaka, penyimpanan kode sumber, dokumentasi kode program dan tutorial penggunaan

Front-end

framework Boostrap, Jquery Digunakan sebagai antarmuka

MVC Struts2, Freemarker User Design, Interface Application LayerComponent, Template

Model Konseptual Kepegawaian

Model konseptual kepegawaian merupakan diagram kelas hasil analisis permasalahan domain kepegawaian yang dikelompokan ke dalam sub-domain permasalahan. Model konseptual yang dilakukan pada penelitian terdiri dari:

Model Konseptual Pegawai

Model Konseptual Pegawai merupakan model konseptual yang berkaitan dengan informasi pegawai seperti: biodata, administratif kepegawaian terlihat pada Gambar 12. Pegawai di IPB terdiri dari: PNS (Dosen, dan Tendik), Pegawai Non-PNS (Dosen dan tendik), dan pegawai dengan kontrak kerja. Model konseptual pegawai dihasilkan dari sumber acuan pada Undang-Undang Republik Indonesia Nomor 5 Tahun 2014, existing data, Form Isian Pegawai Negeri dari BKN (Badan Kepegawaian Negara)

15 Gambar 12 Model Konseptual Pegawai

Model Konseptual Stuktur Organisasi IPB

Model konseptual struktur organisasi IPB merupakan model konseptual untuk masalah perubahan struktur organisasi yang terjadi setiap periode kepemimpinan. Stuktur organisasi di IPB sangat dinamis mengalami perubahan. Hampir setiap periode kepemimpinan struktur organisasi di IPB mengalami perubahan baik akibat regulasi dari pemerintah pusat maupun kebutuhan untuk mendukung visi dan misi IPB. Model konseptual struktur organisasi IPB yang dihasilkan tersaji pada Gambar 13.

Gambar 13 Model Konseptual Struktur Organisasi

Model Konseptual Gaji

Gaji merupakan hal yang paling diharapkan oleh semua pegawai, Gaji pegawai di IPB yang terdiri dari PNS pusat diatur dalam PP Tentang Gaji PNS yang dikelompokan berdasarkan golongan, masa kerja, dan status pegawai (Fungsional, Struktural), gaji Non-PNS diatur menggunakan SK (Surat Keputsan) Rektor, dan gaji pegawai kontrak yang diatur berdasarkan SK Perjanjian Kontrak. Model konseptual pada domain permasalahan gaji yang dihasilkan tersaji pada Gambar 14.

17

Model Konseptual Presensi dan Kinerja

Presensi merupakan aktivitas pencatatan kehadiran pegawai pada hari kerja setiap bulan yang dicatat pada waktu datang dan waktu pulang menggunakan mesin fingerprint, website dan daftar kehadiran manual yang diverifikasi oleh atasan langsung pegawai. Presensi digunakan sebagai salah satu komponen dalam menilai kinerja pegawai. Model konseptual yang dihasilkan tersaji pada Gambar 15.

Gambar 15 Model Konseptual Presensi dan Kinerja

Model Konseptual Penugasan

Penugasan merupakan aktivitas administratif penugasan pegawai mulai dari usulan sampai tahap SK (Surat Keterangan) penugasan dikeluarkan dalam melaksanakan aktifitas seperti: Tugas Belajar, Tugas kedinasan dan penugasan lainnya. Model konseptual yang dihasilkan tersaji pada Gambar 16.

Model Konseptual Agenda Pimpinan

Agenda pimpinan merupakan aktivitas dalam mencatat aktivitas yang berkaitan dengan jadwal pimpinan dan pejabat dilingkungan IPB dalam hal efektifitas untuk memonitoring jadwal pimpinan agar aktivitas pertemuan seperti rapat lebih efektif. Model konseptual agenda pimpinan tersasi pada Gambar 17.

Gambar 17 Model Konseptual Agenda Pimpinan

Model konseptual yang telah diutarkan diatas merupakan sebahagian dari model konseptual kepagawaian, sub-domain permasalahan lainnya dari kepegawaian belum dilakukan pada penelitian ini seperti: penelitian, karya ilmiah, daftar usulan penetapan angka kredit (DUPAK).

Implementasi

Proyek DAO (Data Access Object) dan Proyek Domain

DAO Pattern diimplementasikan menggunakan pustaka hibernate untuk menghasilkan pustaka DAO (aset akses data ke RDMBS) melalui proyek DAO. Proyek DAO terdiri dari kelas-kelas seperti terlihat pada Gambar 18 DAO pattern

merupakan kelas interface dan kelas abstrak dengan pattern yang mengadopsi

Abstract Factory dan Factory Method Pattern (Gamma et al. 1994). Aset pada DAO terdiri dari:

1. DAO interface (DAO) merupakan kelas yang mendefinisikan operasi standar yang akan dilakukan pada tiap model objek persistence

2. DAO Implementation (DAOImpl) merupakan kelas abstrak yang mengimplementasikan DAO interface. Kelas ini bertanggung jawab dalam menghubungkan ke mekanisme persistence dengan ValueObject sebagai parameter. Kelas ini bersifat generik sehingga dapat diwarisi oleh DAO yang lebih spesifik untuk menangani proses bisnis tertentu.

19

Gambar 18 Kelas DAO (Data Access Object)

Model konseptual pada domain permasalahan yang telah dibuat sebelumnya yang dibuat dalam bentuk POJO (Plain Old Java Object) yang akan digunakan Obyek yang dipetakan menjadi tabel ke dalam basis data. POJO yang dihasilkan terdiri dari kelas abstrak, kelas konkrit, kelas referensi dan kelas enumerasi. Kelas abstrak, kelas konkrit dan kelas referensi merupakan obyek pada model domain permasalahan yang memiliki file pemetaan ke table pada basisdata yang dipetakan dan digeneralisasi oleh hibernate menggunakan hibernate tools plugin yang tersedia pada Eclipse IDE menjadi NamaKelasModel.hbm.xml.

Kelas abstrak digunakan sebagai root pada model yang memiliki struktur hampir sama, sedangkan kelas konkrit merupakan model spesifik yang mewakili model konkrit yang mewarisi kelas abstrak agar dapat diinstansiasi sebagai

ValueObject pada DAO. Kelas referensi merupakan kelas yang digunakan sebagai atribut pada kelas abstrak maupun kelas konkrit.

Setiap sub-domain permasalahan kepegawaian dikelompokan kedalam

package. Setiap package terdiri dari kelas domain permasalahan yang saling berelasi menggunakan hibernate association mappings strategy1 layaknya relasi table pada basisdata. Relasi yang digunakan pada kelas abstrak terhadap kelas konkrit menggunakan hibernate inheritance strategy2. Pada model juga terdapat kelas view (TransferObject) yang tidak berasosiasi dengan model inti dibuat untuk membantu dalam merepresentasikan model dalam menampilkan data karena tidak semua atribut pada kelas model dibutuhkan.

Impelementasi proses bisnis pada setiap model domain permasalahan didefinisikan terpisah dengan membuat kelas interface dan kelas konkrit tersendiri yang mewarisi DAO seperti pada Gambar 19 dan diimpementasikan pada kelas PrefixDomainDAOImpl.

1 https://docs.jboss.org/hibernate/orm/3.5/reference/en/html/associations.html

Gambar 19 Proses Bisnis Pegawai

Pemanggilan PrefixDomainDAOImpl didefinisikan pada kelas manager dengan nama SubDomainFactory dengan menentukan sesi koneksi ke basistada yang digunakan seperti pada Lampiran 1. Dengan pola ini, perubahan-perubahan terhadap proses bisnis dapat ditambahkan ataupun tidak digunakan tanpa harus merubah struktur yang lain. Pola ini juga mempermudah akses ke basisdata karena untuk melakukan transaksi data dapat dilakukan dengan cara:

1. Instansiasi

PrefixDomainDAO dao = new SubDomainFactory.getPrefixDomainDAO(); List<KelasModel> listModel = dao.prosesBisnis(param1, param2); KelasModel kelasModel = dao.find(id);

dao.close();

2. Satu baris kode program

SubDomainFactory.getPrefixDomainDAO().prosesBisnis(param1, param2); SubDomainFactory.getPrefixDomainDAO().close();

Proyek dengan domain masalah lainnya dapat didefinisikan dengan penamaan domainpermasalahan-model menggunakan dependency terhadap proyek DAO kemudian dikompilasi menggunakan maven menjadi pustaka domainpermasalahan-model-versi.jar. Struktur hirarki dari pustaka domain dibuat seperti pada Tabel 6.

Tabel 6 Struktur Hirarki pustaka domain menggunakan maven

Proyek Depedency Hasil proyek

Dao Pustaka hibernate dao-versi.jar, Dokumentasi pegawai-model dao-versi.jar Pegawai-model-versi.jar,

Dokumentasi model domain pegawai

domainpermasala

han-model dao-versi.jar domainpermasalahan-model-versi.jar, Dokumentasi

Proyek Presentasi

Implementasi aset antarmuka (presentation) dilakukan seperti pada Gambar 20 dalam sebuah proyek presentasi. Diimplementasikan menggunakan konsep

21

template dan theme pada Struts MVC (Model View Controller) Component3. Desain antarmuka dibuat dalam bentuk template menggunakan pustaka antarmuka seperti bootstrap dan jquery yang menerima parameter melalui komponen antarmuka. Komponen antarmuka digunakan untuk mengatur dan mengolah parameter antarmuka kemudian di petakan pada sebuah Tag Library Descriptor

(TLD).

Ekstraksi Website yang

sudah ada Kostumisasi template

Front-end framework Komponen antarmuka menggunakan Komponen antarmuka Struts JSP Controller atribut Referensi Referensi

desain untuk desainDigunakan

Atribut desain mapping Akses data hasil TLD Tag, Parameter Mapping

Gambar 20 Implementasi Proyek Presentation

Proyek presentasi menghasilkan pustaka antarmuka dengan nama ui-version.jar. Untuk menggunakan pustaka setiap response yang ditampilkan dalam bentuk JSP (Java Servlet Pages) mendefinisikan baris kode yang merujuk ke TLD

(<%@taglib prefix="ipb" uri="/ipb-tags"%>). Dibawah ini tersaji aset presentasi yang paling umum digunakan dalam navigasi, masukan pengguna dan menampilkan informasi:

1. Aset presentasi menu, menu-group, menu-item dan menu-dropdown

Digunakan untuk menampilkan navigasi terhadap halaman website seperti pada Gambar

Gambar 21 Aset persentasi menu menu-group, menu-item dan menu-dropdown

3 https://struts.apache.org/maven/struts2-core/apidocs/org/apache/struts2/components/package-summary.html

2. Aset presentasi form, form-group, enum-selectbox, selectbox, textbox

Digunakan untuk masukan yang telah dikostumisasi sesuai kebutuhan seperti pada Gambar

Gambar 22 Aset persentasi elemen masukan pada form 3. Aset presentasi dialog, datepicker, datetimepicker

Digunakan untuk masukan tanggal dan jam seperti pada Gambar 23

Gambar 23 Aset presentasi dialog, datepicker, datetimepicker 4. Aset presentasi live-search, upload

Presentasi live-search digunakan untuk mekanisme pencarian data pada masukan teks, yang dapat dipilih. Presentasi upload digunakan untuk mengunggah berkas. Kedua presentasi ini terlihat pada Gambar 24

23

5. Aset presentasi grid-nav, grid, grid-page

Aset presentasi grid-nav, grid, grid-page digunakan untuk menampilkan data dalam bentuk baris data (grid) yang dapat dilakukan penggolahan menggunakan navigasi pada grid-nav, dan ditampilakan perjumlah data pada grid-page seperti terlihat pada Gambar 25.

Gambar 25 Aset presentasi presentasi grid-nav, grid, grid-page

Dalam implementasi aset presentasi ini telah dihasilkan 36 aset presentasi terlampir pada Lampiran 2 Aset presentasi dalam TLD. Aset presentasi ini dapat digunakan pada setiap proyek aplikasi web dengan menggunakan platform yang sama dengan yang digunakan pada penelitian ini.

Repository

Seluruh aktivitas dalam implementasi aset disimpan kedalam repository,

repository merupakan mesin server yang berfungsi untuk:

1. Melakukan kontrol terhadap versi pustaka yang digunakan dalam pengembangan aset reuse.

2. Manajemen Pustaka (library): file berbentuk .jar yang dihasilkan dari pengembangan aset sebagai pustaka (infrastructure layer) yang akan di gunakan pada tiap proyek pengembangan aplikasi.

3. Sebagai media penyimpanan pengetahuan pengembangan yang terdiri dari: a. Sumber kode program: sekumpulan file yang disimpan secara utuh dari

proyek aset reuse pada Git-scm (source code management)

b. Dokumentasi, file berbentuk HTML, merupakan hasil generasi kode sumber pada aset reuse

c. Sebagai penyedia laman tutorial penggunaan aset.

Mekanisme produksi dan distribusi aset pada repository terlihat seperti pada Gambar 26. Reuse Architect mendefinisikan aset reuse dan melakukan kompilasi yang menghasilkan pustaka ke local repository. Selain pustaka dokumentasi penggunaan serta fungsi pada tiap kode program (Application Programming Interface (API)) disimpan pada repository.

Pengembang web (web developer) menggunakan pustaka dan informasi penggunaan pada layanan pada server repository. Layanan repository yang dihasilkan pada penelitian ini dilampirkan pada Lampiran 3.

Public Maven Repository

Public Maven Repository

Local Repository Local Repository Web Developer Web Developer Reuse Architect Reuse Architect IDE depedency Java Doc Tools Maven Project create API/ Documentation Organization Library build generate Git-scm commit library version IDE Maven Web

App Project dependency create commit fetch fetch Web Server Web Server deploy

Gambar 26 Mekanisme produksi dan distribusi aset

Pengujian

Pengujian dilakukan untuk memastikan mekanisme arsitektur dapat digunakan. Pengujian dilakukan dengan cara membuat proyek aplikasi web menggunakan aset reuse yang telah dibuat pada implementasi. Pada penelitian ini dibuat dua aplikasi web yaitu.

Aplikasi web Sistem Informasi Manajemen Kepegawaian (SIMPEG)

Aplikasi web SIMPEG merupakan aplikasi yang mengelola data dan informasi pegawai seperti pada Gambar 27. Aplikasi web ini dapat diakses pada alamat http://172.17.0.121/simpeg/ menggunakan jaringan lokal di IPB. Aplikasi web SIMPEG ini masih merupakan prototipe yang penggunaan dan pengembangan lebih lanjut terkait kebijakan internal pengembangan sistem informasi di IPB.

25

Aplikasi Sistem Manajemen Agenda Pimpinan (SMAP)

Aplikasi web Sistem Manajemen Agenda Pimpinan (SMAP) merupakan aplikasi web yang mengelola agenda pimpinan dan pejabat di IPB. Aplikasi web SMAP juga menggunakan aset yang sama pada implementasi seperti yang digunakan pada aplikasi web SIMPEG. Aplikasi web ini bertujuan untuk memberikan informasi jadwal pimpinan agar lebih efisien dalam kegiatan seperti rapat dan pertemuan antar pimpinan dan pejabat. Aplikasi web ini dapat diakses pada alamat http://smap.ipb.ac.id menggunakan jaringan lokal di IPB seperti terlihat Gambar 28. Aplikasi web SMAP ini sudah digunakan sejak bulan Desember 2014.

Gambar 28 Aplikasi web SMAP

Dokumen terkait