I. PENDAHULUAN
A. Latar Belakang
Pemerintah daerah sering kali menggunakan berbagai aplikasi untuk mendukung operasional internal dan pelayanan kepada masyarakat, seperti sistem manajemen kepegawaian, layanan publik, dan sistem keuangan. Setiap aplikasi biasanya memerlukan autentikasi pengguna, yang berarti pengguna harus mengingat banyak username dan password. Hal ini tidak hanya membebani pengguna tetapi juga meningkatkan risiko keamanan. Untuk mengatasi permasalahan dan kendala diatas serta sesuai dengan perkembangan saat ini teknologi SSO (Single Sign On) hadir sebagai solusi untuk menyederhanakan proses autentikasi dengan memungkinkan pengguna mengakses semua aplikasi dengan satu set kredensial.
B. Maksud dan Tujuan
Maksud: Membangun sistem SSO yang dapat diintegrasikan dengan berbagai aplikasi dalam lingkungan pemerintah Kabupaten Kendal untuk memudahkan proses autentikasi pengguna.
Tujuan:
• Mengurangi Beban Pengguna: Dengan hanya satu set kredensial, pengguna tidak perlu mengingat banyak password.
• Meningkatkan Keamanan: Mengurangi risiko kebocoran kata sandi dan meningkatkan kontrol akses.
• Efisiensi Operasional: Mengurangi waktu yang dihabiskan untuk login dan reset kata sandi.
• Manajemen Terpusat: Mempermudah pengelolaan akun dan akses oleh tim IT.
C. Manfaat
• Kemudahan Penggunaan: Pengguna hanya perlu mengingat satu set kredensial untuk mengakses semua aplikasi.
• Keamanan yang Lebih Baik: Mengurangi risiko kebocoran kata sandi dan meningkatkan kontrol akses.
• Efisiensi Operasional: Mengurangi waktu yang dihabiskan untuk login dan reset kata sandi.
II. ANALISIS SISTEM APLIKASI
A. Analisis Sistem
Pada Dinas Komunikasi dan Informatika Kabupaten Kendal dibangun Aplikasi Gampil (Gerbang Masuk Aplikasi Integrasi Layanan) yang dipergunakan untuk mengatasi permasalahan dan kendala yang ada saat ini serta sesuai dengan perkembangan teknologi SSO (Single Sign On) yang hadir sebagai solusi untuk menyederhanakan proses autentikasi dengan memungkinkan pengguna mengakses semua aplikasi dengan satu set kredensial. Hal ini sangat berpengaruh terhadap kinerja yang ada pada Dinas Komunikasi dan Informatika Kabupaten Kendal terutama dalam rangka memberikan informasi dan pelayanan terhadap masyarakat umum.
Disisi lain perkembangan teknologi informasi saat ini berkembang pesat seiring dengan laju pertumbuhan jaman, sehingga penanganan data dalam proses pendataan informasi dan pengolahan data yang mengacu pada sistem yang terkomputerisasi sangat diperlukan khususnya sebagai sarana dalam aktifitas manajemen informasi secara profesional.
Tahapan analisis merupakan tahapan dimana sistem yang sedang berjalan dipelajari dan sistem pengganti diusulkan. Dalam tahapan ini dideskripsikan sistem yang sedang berjalan, masalah dan kesempatan didefinisikan, dan rekomendasi umum untuk bagaimana memperbaiki, meningkatkan atau mengganti sistem yang sedang berjalan diusulkan. Tujuan utama dari fase analisis adalah untuk memahami dan mendokumentasikan kebutuhan bisnis (business need) dan persyaratan proses dari sistem baru. Ada beberapa aktifitas utama dalam fase ini, antara lain :
1. Pengumpulan informasi
2. Mendefinisikan system requirement
3. Memprioritaskan requirement
4. Menyusun dan mengevaluasi alternative
5. Me-review requirement dengan pihak manajemen
B. Output Aplikasi
Pada bagian pemahaman atas keluaran dari Pembangunan Super Aplikasi adalah :
• Dokumentasi Teknis: Dokumen yang menjelaskan arsitektur sistem, konfigurasi, dan panduan penggunaan.
• Sistem SSO: Aplikasi SSO yang siap digunakan dan terintegrasi dengan aplikasi lain. Fitur halaman publik :
a. Pendaftaran akun b. Layanan Aplikasi c. Berita d. Galeri e. Panduan f. FAQ
• Laporan Pekerjaan: Hasil pengujian sistem yang menunjukkan bahwa sistem berfungsi sesuai dengan spesifikasi.
• Pelatihan: Materi pelatihan dan sesi pelatihan untuk pengguna dan administrator.
C. Tahapan Pembangunan Aplikasi
Tahapan-tahapan Pembangunan Super Aplikasi adalah sebagai berikut :
1) Perencanaan
Perencanaan adalah membuat rencana yang berkaitan dengan awal mulanya proyek system informasi agar terbangun sistem informasi yang berfungsi dengan baik dan memudahkan pengguna dalam menjalankan tugasnya (aplikasi yang User-friendly), perencanaan tersebut dimulai dari rencana seperti dibawah ini:
i. Menentukan bahasa pemrograman php
Dalam pembangunan super aplikasi ini menggunakan bahasa pemograman PHP.
ii. Menentukan desain database
Pembangunan Super Aplikasi ini menggunakan PostgreSQL.
iii. Menentukan desain coding
Saat membuat desain coding konsultan menggunakan 2 Software sebagai alat untuk mengcoding aplikasi yaitu dengan Sublime Text Editor, Filezilla, dan FTP Manager. Menentukan desain awal prototype yang akan dijelaskan lebih lanjut dalam tahapan Programming. Pengumpulan data merupakan perencanaan awal yang bertujuan untuk mengumpulkan data- data dokumen yang berkaitan dalam pembangunan super aplikasi.
2) Analisa
Setelah perencanaan selesai, langkah selanjutnya membuat analisa. Tahap Analisa sistem merupakan kegiatan penguraian dari suatu sistem informasi yang utuh ke dalam bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan–kesempatan, hambatan– hambatan yang terjadi dan kebutuhan–kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya. Tahap analisis system terdiri dari :
a. Mengidentifikasi Masalah
Identifikasi masalah merupakan langkah awal dari analisa sistem. Dalam tahap ini didefinisikan masalah yang harus dipecahkan dengan munculnya pertanyaan yang ingin dipecahkan.
b. Memahami Kerja Sistem yang Ada
Langkah ini dilakukan dengan mempelajari secara rinci bagaimana sistem yang sudah ada berjalan. Untuk mempelajari operasi dari sistem ini diperlukan data yang dapat diperoleh dengan melakukan penelitian terhadap sistem.
c. Menganalisis Sistem
Berdasarkan data yang sudah diperoleh maka akan dilakukan analisa pembuatan sistem dengan hasil pengumpulan data yang sudah dilakukan untuk mendapatkan pemecahan masalah yang akan dipecahkan.
3) Desain Sistem
Setelah proses analisa selesai, selanjutnya adalah membuat desain (design). Desain adalah langkah yang sangat penting dalam pengembangan system informasi pada pekerjaan Pembangunan Super Aplikasi karena langkah ini menentukan fondasi sistem informasi. Kesalahan dalam desain dapat menimbulkan hambatan bahkan kegagalan proyek. Ada 3 jenis desain yang dibuat dalam pekerjaan Pembangunan Super Aplikasi yaitu desain bisnis proses, desain pemograman dan desain diagram proses.
a. Desain Bisnis Proses
Penuangan Desain Bisnis Proses dalam Pembangunan Super Aplikasi bertujuan unuk memberikan gambaran sistem informasi tersebut berjalan.
b. Desain Pemograman
Desain pemograman yang digunakan dalam Pembangunan Super Aplikasi adalah pemograman php berbasis framework Ci. Serta teknologi ang digunakan untuk SSO sebagai berikut :
• Protokol Autentikasi: OAuth 2.0, SAML 2.0, OpenID Connect.
• Platform: Keycloak
• Keamanan: Implementasi enkripsi data, penggunaan token JWT (JSON Web Token), dan audit log.
c. Desain Diagram Proses
Desain Diagram Pembangunan Super Aplikasi secara konseptual dalam proses analisisnya dituangkan dalam bentuk diagram kontek, dimana arti Diagram konteks adalah suatu diagram yang terdiri dari suatu proses saja dan biasa diberi nomor proses 0, proses ini mewakili dari dari seluruh sistem. Diagram konteks menggambarkan input atau output suatu sistem dengan dunia luar atau dunia kesatuan luar.
III. IMPLEMENTASI SISTEM
A. Implementasi Sistem
Implementasi sistem merupakan tahap penerapan sistem yang akan dilakukan jika sistem disetujui termasuk program yang telah dibuat pada tahap perancangan sistem agar siap untuk dioperasikan. Adapun tujuan dari implementasi sistem ini adalah :
1. Menyelesaikan desain sistem yang ada dalam dokumen desain sistem yang disetujui, menyusun dokumen baru atau dokumen-dokumen yang diperbaiki.
2. Menulis, menguji, dan mendokumentasikan program-program dan prosedurprosedur yang diperbaiki oleh desain sistem yang disetujui.
3. Memastikan bahwa user dapat mengoperasikan sistem baru.
4. Memperhitungkan bahwa sistem memenuhi permintaan user yaitu dengan menguji sistem secara menyeluruh.
5. Memastikan bahwa konversi sistem yang baru berjalan secara benar yaitu dengan merencanakan, mengontrol dan melakukan instalasi sistem baru secara benar.
Pada tahapan implementasi sistem ini, dilakukan beberapa kegiatan oleh pelaksana (pengembang sistem), antara lain :
a. Membuat dan menguji basis data dan jaringan.
Penerapan sistem yang baru atau perbaikan sistem dibuat pada basis data dan jaringan yang telah ada. Jika penerapan sistem yang baru memerlukan basis data dan jaringan yang baru atau dimodifikasi, maka sistem yang baru ini biasanya harus diimplementasikan sebelum pemasangan program komputer.
b. Membuat dan menguji program.
Merupakan tahap pertama untuk siklus pengembangan sistem yang spesifik bagi programmer. Bertujuan untuk mengembangkan rencana yang lebih rinci dalam pengembangan dan pengujian program komputer yang baru, sekaligus menguji hasil kode program yang telah dihasilkan dari tahapan desain fisik. Tujuan pengujian dari sisi pengembang sistem, harus dijamin kode program yang dibuat bebas dari kesalahan sintaks dan logika. Dari sisi pengguna, program yang dihasilkan harus mampu menyelesaikan masalah yang ada pada klien dan sistem baru harus mudah dijalankan dan dipahami oleh pengguna akhir.
c. Memasang dan menguji sistem baru.
Tahap ini dilakukan untuk menyakinkan bahwa kebutuhan integrasi sistem baru terpenuhi.
d. Mengirim sistem baru kedalam sistem operasi.
Tujuan tahap ini adalah untuk mengubah secara perlahan – lahan sistem lama menjadi sistem baru sehingga perlu dilakukan pemasangan basis data yang akan digunakan pada sistem baru.
B. Pemeliharaan Sistem
Penggunaan software, hardware atau aplikasi system secara terus menerus akan mengakibatkan kerusakan pada setiap komponen atau mengalami error pada software atau aplikasi system. Dengan ini perlu adanya pemeliharaan sistem tersebut agar selalu berjalan baik. Dimana secara rutin harus dilakukan pengecekan kondisi server beserta software aplikasi, pengecekan media transmisi data (sistem pengkabelan) dan yang paling sering adalah melayani user-user untuk mengatasi masalah yang terjadi di PC mereka masing-masing baik di sisi hardware maupun software-nya. Seperti PC yang terkena virus, tidak bisa koneksi ke internet, printer yang rusak dan lain-lain. Hal ini menunjukan bahwa pemeliharaan sistem informasi (maintenance) adalah hal yang penting untuk dilakukan demi menunjang kelancaran proses kerja. Hasil dari tahapan ini adalah versi baru dari perangkat lunak yang telah dibuat. Perbaikan yang dilakukan tingkatannya bisa sangat variatif, mulai dari memperbaiki program yang crash hingga berfungsi kembali sampai pada penambahan modul-modul program yang baru sebagai jawaban atas perubahan kebutuhan pengguna.
Pemeliharaan sistem informasi adalah suatu upaya atau tindakan untuk memperbaiki, menjaga, menanggulangi, mengembangkan sistem yang ada. Pemeliharaan ini di perlukan untuk meningkatkan efisiensi dan efektivitas kinerja sistem yang yang ada agar dalam penggunaannya dapat bekerja secara optimal. Sistem perlu dipelihara karena beberapa hal, yaitu; sistem memiliki kesalahan yang dulunya belum terdeteksi, sehingga kesalahan-kesalahan sistem perlu diperbaiki, sistem mengalami perubahan-perubahan karena permintaan baru dari pemakai sistem, sistem mengalami perubahan karena perubahan lingkungan luar (perubahan bisnis), sistem terinfeksi malware aktif, sistem berkas corrupt, serta perangkat keras melemah.
Aplikasi yang sudah dibangun agar dapat terus berjalan dengan baik, harus di pelihara atau di-maintenance. Bahkan mungkin ini sudah menjadi rumus supaya sistem atau aplikasi yang sudah dibangun dapat berjalan tanpa masalah, maka harus ada maintenance, tidak cukup di bangun saja selesai. Mengingat resiko jika tidak di-maintenance atau dipeliharan, kemungkinan sewaktu-waktu bisa ada masalah dapat menghambat berjalannya pelayanan dan mengakibatkan kerugian. Hal ini tentu sangat tidak diharapkan. Proses cara apa saja yang biasa dilakukan untuk pemeliharaan. Jenis-jenis pemeliharaan ada berbagai macam, seperti pada point-point berikut :
1. Pemeliharaan Korektif
Pemeliharaan korektif adalah bagian pemeliharaan sistem yang tidak begitu tinggi nilainya dan lebih membebani, karena pemeliharaan ini mengkoreksi kesalahan-kesalahan yang ditemukan pada saat sistem berjalan. Umumnya pemeliharaan korektif ini mencakup kondisi penting atau bahaya yang memerlukan tindakan segera. Kemampuan untuk mendiagnosa atau memperbaiki kesalahan atau malfungsi dengan cepat sangatlah berharga.
2. Pemeliharaan Adaptif
Pemeliharaan adaptif dilakukan untuk menyesuaikan perubahan dalam lingkungan data atau pemrosesan dan memenuhi persyaratan pemakai baru. Lingkungan tempat sistem beroperasi adalah dinamik, dengan demikian, sistem harus terus merespon perubahan persyaratan pemakai. Misalnya, adanya perubahan peraturan perundangan sehingga memerlukan adanya perubahan pada alus sistem aplikasi / perangkat lunak. Umumnya pemeliharaan adatif ini baik dan tidak dapat dihindari.
3. Pemeliharaan Perfektif (Penyempurnaan)
Pemeliharaan penyempurnaan mempertinggi cara kerja atau maintainabilitas (kemampuan untuk dipelihara). Tindakan ini juga memungkinkan sistem untuk memenuhi persyaratan pemakai yang sebelumnya tidak dikenal. Ketika membuat perubahan substansial modul apapun, petugas pemeliharaan juga menggunakan kesempatan untuk meng- upgrade kode, mengganti cabang-cabang yang kadaluwarsa, memperbaiki kecerobohan, dan mengembangkan dokumentasi. Sebagai contoh, kegiatan pemeliharaan ini dapat berbentuk perekayasaan ulang atau restrukturisasi perangkat lunak, penulisan ulang dokumentasi, pengubahan format dan isi laporan, penentuan logika pemrosesan yang lebih efisien, dan pengembangan efisiensi pengoperasian perangkat.
4. Pemeliharaan Preventif
Pemeliharaan Preventif terdiri atas inspeksi periodik dan pemeriksaan sistem untuk mengungkap dan mengantisipasi permasalahan. Karena personil pemeliharaan sistem bekerja dalam sistem ini, mereka seringkali menemukan cacat-cacat (bukan kesalahan yang sebenarnya) yang menandakan permasalahan potensial. Sementara tidak memerlukan tindakan segera, cacat ini bila tidak dikoreksi di tingkat awal, jelas sekali akan mempengaruhi baik fungsi sistem maupun kemampuan untuk memeliharanya dalam waktu dekat.
Tahap pemeliharaan dilakukan setelah tahap implementasi. Sistem baru yang berjalan dipergunakan sesuai dengan keperluan Dinas Penanaman Modal dan Pelayanan Terpadu Satu Pintu Kabupaten Kendal. Selama masa hidupnya, sistem secara periodik akan ditinjau. Perubahan dilakukan jika muncul masalah atau jika ternyata ada kebutuhan baru. Beberapa langkah yang perlu dilakukan dalam pemeliharaan sistem, antara lain :
a. Penggunaan Sistem, yaitu menggunakan sistem sesuai dengan fungsi tugasnya masing-masing untuk operasi rutin atau sehari-hari.
b. Audit Sistem, yaitu melakukan penggunaan dan penelitian formal untuk menentukan seberapa baik sistem baru dapat memenuhi kriteria kinerja. Hal semacam ini disebut penelaahan setelah penerapan dan dapat dilakukan oleh seorang auditor internal.
c. Penjagaan Sistem, yaitu melakukan pemantauan untuk pemeriksaan rutin sehingga sistem tetap beroperasi dengan baik. Selain itu juga untuk menjaga kemutakhiran sistem jika sewaktu-waktu terjadi perubahan lingkungan sistem atau modifikasi rancangan software.
d. Perbaikan Sistem, yaitu melakukan perbaikan jika dalam operasi terjadi kesalahan (bugs) dalam program atau kelemahan rancangan yang tidak terdeteksi saat tahap pengujian sistem.
e. Peningkatan Sistem, yaitu melakukan modifikasi terhadap sistem ketika terdapat potensi peningkatan sistem setelah sistem berjalan beberapa waktu, biasanya adanya potensi peningkatan sistem tersebut terlihat oleh manajer kemudian diteruskan kepada spesialis informasi untuk dilakukan modifikasi sesuai keinginan.
Tantangan mengelola pemeliharaan sistem adalah sama dengan tantangan mengelola usaha-usaha lain, yaitu tantangan untuk mengelola manusia (SDM). Prioritas utama untuk mengarahkan pemeliharaan sistem adalah mengumpulkan sekelompok pemelihara yang berkompeten dan termotivasi, serta menyuplai mereka dengan perangkat dan sumber-sumber untuk melakukan pemeliharaan sistem yang terjadwal maupun tidak terjadwal.
Pemeliharaan sistem terjadwal dapat dibuat menurut kalender atau Diagram Gantt. Gantt Chart adalah sejenis grafik batang (Bar Chart) yang digunakan untuk menunjukan tugas-tugas pada proyek (dalam hal ini tugas pemeliharaan sistem aplikasi), serta jadwal dan waktu pelaksanaannya, seperti waktu dimulainya tugas tersebut dan juga batas waktu yang digunakan untuk menyelesaikan tugas yang bersangkutan. Orang atau tim yang ditugaskan untuk menyelesaikan tugas dalam proyek juga harus dituliskan dalam Gantt Chart.
Pemeliharaan tidak terjadwal biasanya dilakukan atas inisiatif pemakai dan operator. Bagaimanapun juga perlu menetapkan suatu cara untuk mengawali, merekam, dan mengevaluasi aktivitas pemeliharaan. Dengan melalui evaluasi kegiatan pemeliharaan, akhirnya dapat mengoptimalkan program pemeliharaan sistem secara keseluruhan.