## Rancang bangun Sistem Informasi Kerjasama Universitas Kristen Satya Wacana
Fredrik Landjamara Ndjurumana 1) , Evangs Mailoa 1) Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. O. Notohamidjojo
Email : fredrik.ndjurumana@uksw.edu Riwayat artikel: Recieved: 01-12-2020 Revised: 06-02-2020 Accepted: 06-02-2020

## Abstract
In order to improve institutional capabilities, UKSW needs to collaborate with various parties. Documents of agreement which is the references of implementation must be archived and managed properly. The document of agreement in UKSW, still manage manually, making it difficult to find complete data related to the cooperation agreement that has been made by UKSW.  Information technology has an important role in increasing the efficiency and effectiveness of the document management and archiving. This study aims to develop a cooperation information system that capable to record the whole process of submitting agreement, until the process of archiving the signed document. Rapid Application Development (RAD) method used with the aim of accelerating development process, providing good quality of system, and reducing development and maintenance costs. The result of this research is a cooperation information system that has been implemented at UKSW Salatiga.
Keywords: cooperation, filing, RAD

## Abstrak
Kerjasama  dengan  berbagai  pihak  sangat  diperlukan  oleh  UKSW  untuk  dapat meningkatkan kapabilitas kelembagaan dalam mewujudkan visi dan misinya. Kesepakatan yang dituangkan dalam dokumen perjanjian kerjasama yang menjadi dasar implementasi kerjasama  harus  diarsipkan  dan  dikelola  dengan  baik.  Pengelolaan  arsip  dikumen kerjasama  di  UKSW  masih  dilakukan  secara  manual,  sehingga  menyulitkan  dalam pencarian  untuk  memperoleh  data  yang  lengkap  terkait  perjanjian  kerjasama  yang  telah dilakukan  UKSW.  Pemanfaatan  teknologi  informasi  menjadi  sangat  penting  untuk mengelola  pengarsipan  dokumen  perjanjian  kerjasama.  Penelitian  ini  bertujuan  untuk mengembangkan  sebuah  sistem  informasi  kerjasama  yang  mampu  merekam  proses pengusulan  suatu  perjanjian  kerjasama  hingga  pada  proses  pengarsipan  dokumen perjanjian  kerjasama.  Metode  pengembangan  sistem  menggunakan Rapid Application Development (RAD) dengan  tujuan  untuk  mempercepat  proses  pengembangan, memberikan  kualitas  sistem  yang  baik,  serta  menekan  biaya  pengembangan  dan pemeliharaan.  Hasil  yang  diperoleh  dari  penelitian  ini  berupa  sebuah  sistem  informasi kerjasama yang telah diterapkan di UKSW Salatiga.
Kata kunci: kerjasama, pengarsipan,  RAD

## Pendahuluan
Universitas  Kristen  Satya  Wacana  sebagai  sebuah  instutusi  pendidikan, dalam perkembangannya tidak dapat berdiri sendiri. Untuk menjaga kelangsungan hidupnya,  UKSW  perlu  menjalin  kerjasama  dengan  berbagai  pihak.  Kerjasama dilakukan  dengan  tujuan  untuk  mendapatkan  nilai  tambah  bagi  UKSW,  yang berguna  untuk  meningkatkan  kapabilitas  UKSW  sebagai  sebuah  institusi pendidikan  tinggi[1].  Pelaksanaan  kerjasama  dilakukan  dengan  memperhatikan kesamaan  visi  yang  ingin  dicapai  oleh  UKSW  dengan  pihak-pihak  yang bekerjasama.
Kesepakatan kerjasama yang dilakukan dituangkan dalam bentuk dokumen perjanjian  kerjasama.  Keberadaan  dokumen  ini  menjadi  sangat  penting  karena berisi  butir-butir  kesepakatan  antara  UKSW  dengan  pihak  yang  menjalin  kerja sama. Dokumen perjanjian kerjasama harus diarsipkan sehingga dapat digunakan kembali  jika  diperlukan  di  kemudian  hari.  Untuk  itu  diperlukan  suatu  sistem pengelolaan  dan  pengarsipan  dokumen  kerja  sama  yang  baik.  Seiring  dengan perkembangan  teknologi  informasi,  pengarsipan  dokumen  dilakukan  dengan mengkombinasikan  antara  pengarsipan  secara  fisik  dan  digital  atau  berbasis komputer.  Saat  ini,  telah  banyak  institusi  yang  menerapkan  sistem  pengarsipan secara  digital  dalam  mengelola  arsip  dokumen  yang  dimilikinya[2].  Salah  satu metode  pengarsipan  dokumen secara  digital adalah  dengan  menggunakan  sistem informasi yang secara khusus dibuat untuk mengelola arsip dokumen.
Sebagian  besar  dari  kegiatan  administratif  yang  dilakukan  dalam  sebuah institusi adalah pengelolaan arsip dokumen untuk menunjang proses bisnis institusi tersebut[3]. Sama seperti pengelolaan arsip dokumen pada umumnya, pengelolaan arsip  kerjasama  di  UKSW  masih  dilakukan  secara  manual.  Sistem  ini  memiliki kelemahan, terutama proses pencarian yang membutuhkan waktu yang lebih lama. Dengan  jumlah  dokumen  yang  semakin  banyak,  sistem  manual  semakin mempersulit proses pelacakan terhadap kerja sama yang akan atau telah berakhir masa  berlakunya[4].  Dirangkum  dari  situs  Sistem  Laporan  Kerja  Sama Kementerian  Pendidikan  dan  Kebudayaan,  terdapat  489  dokumen  kerjasama UKSW  yang  dilaporkan  dalam  periode  tahun  2018  hingga  tahun  2020.  Jika ditelusuri lebih jauh, terdapat perjanjian kerja sama yang dimiliki UKSW namun belum dilaporkan atau tidak terarsip dengan baik dalam jumlah yang cukup besar. Solusi yang ditawarkan untuk mengatasi permasalahan di UKSW ini adalah dengan membangun sebuah sistem informasi kerjasama, yang memiliki fungsi utama untuk mengarsipkan  dokumen-dokumen  kerjasama  serta  mengelola  usulan-usulan kerjasama baru yang diajukan oleh Fakultas/Biro di UKSW.

## Kajian Pustaka
Permendikbud Nomor 14 Tahun 2014 menyatakan bahwa kerjasama yang dilakukan  oleh  Perguruan  Tinggi,  bertujuan  untuk  meningkatkan  efektivitas, efisiensi,  produktivitas,  kreativitas,  inovasi,  mutu  dan  relevansi  pelaksanaan  Tri
Darma  Perguruan  Tinggi[5].  Oleh  karena  itu,  Perguruan  Tinggi  diberikan  ruang untuk melakukan kerjasama dalam bidang akademik maupun non akademik dengan perguruan tinggi lain, dunia usaha atau pihak lain baik dari dalam negeri maupun luar negeri.
Perjanjian  kerjasama  yang  telah  ditandatangani  semua  pihak,  disimpan sebagai arsip dan dikelola oleh masing-masing institusi yang melakukan kerjasama. Arsip  dapat  diartikan  sebagai  catatan  yang  tertulis,  tercetak,  atau  ketikan  dalam bentuk huruf, angka atau gambar yang mempunyai arti dan tujuan tertentu sebagai bahan  komunikasi  dan  informasi,  yang  terekam  dalam  kertas  (kartu,  formulir), kertas film ( slide , film-strip, mikro-film ), media komputer (pita, piringan, rekaman, disket), kertas photocopy dan lain sebagainya [6].
Suatu sistem pengarsipan elektronik, harus memenuhi beberapa aspek yaitu kesederhanaan  dalam  pengoperasian,  kemudahan  dalam  akses,  kapasitas penyimpanan yang memadai serta keamanan sistem yang baik[7]. Mengacu pada penelitian  yang  dilakukan  Sugiarto  dkk,  sistem  informasi  kerjasama  dibangun dengan mempertimbangkan aspek-aspek tersebut. Sistem ini dirancang untuk dapat diakses  melalui  jaringan  intranet  dan  internet,  dengan  desain  antarmuka  dan prosedur yang mudah dipahami oleh user .
Dalam  penelitian  yang  dilakukan  oleh  Rusdiansyah,  pengolahan  surat perjanjian  kerjasama  dapat  dilakukan  dari  mana  saja  melalui  jaringan  internet. Penelitian  ini  juga  menghasilkan  sebuah  sistem  pengarsipan  surat  perjanjian kerjasama yang dapat dijalankan secara multi user [8] . Akan tetapi, pengaturan hak akses bagi setiap user , hanya dibagi ke dalam 2 kelompok yaitu admin dan operator. Selain  itu,  sistem  yang  dibangun  hanya  untuk  mengarsipkan  surat  perjanjian kerjasama.  Berbeda  dari  penelitian  sebelumnya,  sistem  yang  dikembangkan  ini menyediakan pembagian hak akses dalam beberapa level yaitu administrator yang memiliki hak akses secara penuh, pengusul yang diberikan hak untuk mengajukan usulan kerjasama, validator yang memiliki kewenangan untuk memproses usulan kerjasama dari setiap unit, reviewer yang melakukan penelaahan naskah perjanjian kerjasama.  Terdapat  juga  hak  akses montoring and evaluation untuk  melakukan pengawasan dan evaluasi terhadap perjanjian kerjasama yang sedang berjalan.
Penelitian yang dilakukan oleh Sugianto dan Aulia, menghasilkan sebuah sistem  informasi  kerjasama  yang  memiliki  fitur  Admin  dan  Mitra[9].  Sistem informasi kerjasama yang dihasilkan memiliki fitur antara lain pendaftaran mitra dan  diskusi  kerjasama.  Sejalan  dengan  penelitian  tersebut,  sistem  informasi kerjasama yang dikembangkan ini menyediakan fitur komentar pada setiap tahapan. Fitur ini dimaksudkan agar setiap user yang terlibat dalam pengusulan kerjasama dapat mengetahui masukan-masukan ataupun catatan yang diberikan oleh validator maupun reviewer . Fitur lain yang juga ditambahkan adalah riwayat usulan, yang
bertujuan agar pengguna dapat mengetahui tahapan yang telah dicapai dalam proses usulan kerjasama.
Metode Penelitian

## Gambar 1 Tahapan Penelitian
Gambar  1  menunjukkan  tahapan  yang  dilakukan  dalam  penelitian  ini. Identifikasi masalah  dilakukan dengan cara penelusuran terhadap masalah-masalah yang dihadapi di tempat penelitian. Studi literatur dilakukan untuk mendapatkan sumber-sumber  pustaka  yang  relevan  berdasarkan  masalah  yang  telah diidentifikasi, yang meliputi kajian terhadap penelitian-penelitian terdahulu yang terkait  untuk  mendapatkan  teori-teori  yang  mendukung  penelitian  ini,    termasuk kajian terhadap dokumen-dokumen yang digunakan sebagai pedoman pelaksanaan kerjasama perguruan  tinggi.
Pengembangan sistem dilakukan dengan menerapkan model pengembangan perangkat lunak Rapid Application Development (RAD). Model RAD merupakan kumpulan  metode  yang  dikembangkan  untuk  mengatasi  kelemahan  dari  metode tradisional  dalam  pengembangan  sistem  seperti  model Waterfall dan  beberapa model lainnya[10]. Pemilihan model RAD dalam penelitian ini mempertimbangkan keunggulan  yang  dimiliki  model  RAD  jika  dibandingkan  dengan  model pengembangan  software  lainnya.  Keunggulan  model  ini  adalah  memungkinkan siklus  pengembangan  sistem  secara  cepat,  kualitas  sistem  yang  lebih  baik dibandingkan  model  pengembangan  perangkat  lunak  tradisional,  serta  biaya pengembangan dan pemeliharaan sistem yang lebih rendah.
Sistem  Informasi  Kerjasama  UKSW  dikembangkan  mengacu  pada  SOP Usulan Kerjasama yang berlaku di UKSW yaitu . SOP usulan kerjasama dibedakan ke  dalam  2  jenis  yaitu  SOP  Usulan  Perjanjian  Kerjasama  (Memorandum  of Agreement) dan SOP Usulan Memorandum of Understanding (MoU) .

## Gambar 2 SOP Usulan MoA/PKS
Gambar  2  menunjukkan  SOP  usulan Memorandum of Agreement (MoA) yang ditetapkan dalam dokumen Prosedur PR IV-001 Tahun 2018 tentang Usulan Perjanjian Kerja Sama (PKS) dari unit. Unit pengusul bertindak sebagai operator mengajukan  usulan  Perjanjian  Kerjasama  (PKS).  Pembantu  Rektor  IV  bertindak sebagai validator yang  memeriksa  kelayakan  dokumen  usulan  kerjasama  yang diajukan  unit.  Apabila  dokumen  kerjasama  tersebut  dinyatakan  layak  untuk ditindaklanjuti,  usulan  MoA/PKS  akan  dibawa  ke  Rapat  Pimpinan  Universitas untuk dibahas lebih lanjut.Biro Hukum akan menelaah substansi dan redaksional dokumen  usulan  perjanjian  kerjasama  yang  telah  disetujui  oleh  Rapat  Pimpinan Universitas. Keterlibatan Pembantu Rektor II dalam usulan kerjasama ini adalah untuk  memastikan  kelayakan  anggaran  yang  akan  dipergunakan  dalam  kegiatan yang tertuang dalam dokumen usulan kerjasama. Apabila syarat-syarat adminsitrasi dan  legal  telah  dipenuhi,  yang  ditunjukkan  dengan  telah  ditandatanganinya dokumen  perjanjian  kerjasama  oleh  pihak  UKSW  dan  pihak  mitra,  dokumen kerjasama  diunggah  dan  diarsipkan  dalam  sistem  informasi  kerjasama  yang dikembangkan ini.

## Gambar 3 SOP usulan MoU
Gambar 3 merupakan SOP usulan MoU yang ditetapkan dalam dokumen Prosedur PR IV-002 Tahun 2018 tentang Usulan Memorandum of Understanding (MoU) dari unit. Secara umum, SOP usulan MoU merupakan pengembangan dari usulan MoA, di mana untuk usulan MoU, setelah melalui proses review dari Biro Hukum, Pimpinan UKSW melalui PR IV menyerahkan draft naskah MoU kepada Yayasan  Perguruan  Tinggi  Kristen  Satya  Wacana  (YPTKSW)  untuk  mendapat persetujuan.  Persetujuan  dari  YPTKSW  diwujudkan  dalam  bentuk  Surat  Kuasa kepada Rektor untuk menandatangani MoU dengan pihak mitra.
Mengacu  pada  SOP  yang  ada,  terdapat  5  peran  ( role )  dalam  sistem infromasi  kerjasama  ini  yaitu: operator , validator , reviewer , monitoring and evaluation dan administrator . Use case diagram yang  diterapkan  dalam  sistem informasi kerjasama ini ditunjukkan pada Gambar 4.
Gambar 4 Use Case Sistem Informasi Kerjasama

## Hasil dan Pembahasan
Sistem  informasi  kerjasama  dikembangkan  dengan  menggunakan framework CodeIgniter.  Pemilihan framework CodeIgniter  didasari  pada kemudahan yang diperoleh dalam penulisan kode program. Pengembangan sistem informasi  kerjasama  menerapkan  konsep Hierarchical Model-View-Controller (HMVC)  yang  membagi model , view dan controller ke  dalam  masing-masing direktori berdasarkan modul-modul yang dibuat. Penerapan konsep HMVC sangat memudahkan pengelolaan sistem atau aplikasi yang terdiri dari banyak modul [11].
Seperti  yang  terlihat  pada  Gambar  5,  konsep  HMVC  merupakan pengembangan dari konsep Model-View-Controller (MVC) di mana setiap modul dapat  memiliki  Model-View-Controller-nya  masing-masing.  Setiap  modul  juga dapat memiliki 1 atau lebih sub-modul yang juga dapat memiliki MVC-nya masing- masing.
Struktur direktori aplikasi dibuat dengan memisahkan direktori yang dapat diakses langsung dari web dengan direktori yang hanya dapat diakses oleh script program .  Pemisahan  ini  bertujuan  untuk  mencegah  akses  langsung  oleh  publik terhadap  direktori-direktori  tertentu  atau  dokumen-dokumen  penting  yang tersimpan di dalam sistem. Struktur direktori aplikasi ditunjukkan pada Gambar 6.

## Gambar 6 Struktur direktori aplikasi
Database dibuat  menggunakan  PostgreSQL,  yang  merupakan  salah  satu Relational Database Management System (RDBMS) open source yang memiliki fitur  sangat  lengkap  sehingga  cocok  digunakan  untuk  sistem  basis  data  berskala menengah  dan  besar[12].  Hasil  perancangan  struktur database terdapat  pada Gambar 7.
Gambar 7 Rancangan database
Sistem  informasi  kerjasama  yang  dikembangkan  ini  menerapkan  sistem otentikasi pengguna sebagai fungsi dasar sistem keamanan sistem. Dengan sistem otentikasi ini, hanya pengguna yang memiliki hak akses dengan peran tertentu yang diberikan  ijin  untuk  masuk  dan  mengelola  arsip  perjanjian  kerjasama.  Pengguna diminta  untuk  memasukkan username dan password untuk  dapat  mengakses modul-modul yang terdapat di dalam Sistem Informasi Kerjasama ini, seperti yang ditunjukkan pada Gambar 8.
Gambar 8 Halaman Sign In
Perlindungan sandi pengguna dilakukan dengan menggunakan fungsi hash pada password ,  menggunakan hash algorithm SHA512.  Sandi  yang  di- hash merupakan  penggabungan  dari  hasil hash menggunakan  algoritma  SHA1  pada sandi yang sebenarnya ( plain text password ), dengan nilai dari variabel auth_key yang  telah  ditentukan.  Proses hash password pengguna  ditunjukkan  pada  Kode Program 1.
Kode Program 1 Password Hash dan Validasi 1. public function auth(){ 2. if ($this->input->is_ajax_request() && $_POST){ 3. $this->form_validation->set_rules('username','Username', 'trim|required| callback__check_username'); 4. $this->form_validation->set_rules('password','Password', 'trim|required|sha1| callback__check_password'); 5. ... 6. }} 7. protected function get_hash($string, $mode = 'password'){ 8. $this->load->config('auth'); 9. if(is_array($string)){ 10. $string = implode('',$string); 11. } 12. return hash('sha512',$this->config->item('auth_'.$mode.'_hash_key'). $string); 13. } 14. function _check_password($str){ 15. $username=$this->input->post('username'); 16. $password=$this->get_hash($str, 'password'); 17. $where=['username'=>$username,'password'=>$password]; 18. ... 19. if ((int) $query->num_rows() === 1){
20. return TRUE; 21. }else { 22. $this->form_validation->set_message('_check_password','{field} tidak sesuai.' ); 23. return FALSE;}}
Pengguna  yang  telah  melewati  tahap  otentikasi,  akan  dialihkan  menuju halaman  Dashboard,  di  mana  terdapat  ringkasan  informasi  perjanjian  kerjasama yang tersimpan dalam basis data Sistem Informasi Kerjasama seperti yang terdapat pada Gambar 9. Menu-menu yang tersedia disesuaikan dengan peran yang dimiliki oleh setiap pengguna. Pengaturan menu ditunjukkan pada Kode Program 2.
Gambar 9 Tampilan halaman dashboard Administrator
Kode Program 2 Pengaturan Menu berdasarkan Role 1. private function navmenu(){ 2. $out = '<ul class="nav nav-pills nav-sidebar text-sm nav-compact nav-flat flex-column" data-widget="treeview" role="menu" data-accordion="false"> 3. <li class="nav-item">'.anchor('','<i class="nav-icon fas fa-tachometer- alt"></i><p>Dashboard</p>',['class'=>'nav-link'.(($this->uri->segment(1) == '' || $this->uri->segment(1)=='home')?' active':'')]).'</li> 4. '.(($this->role == 'administrator' || $this->role == 'validator')?'<li class="nav-item">'.anchor('validasi','<i class="nav-icon fas fa- check"></i><p>Validasi</p>',['class'=>'nav-link'.($this->uri->segment(1) == 'validasi'?' active':'')]).'</li>':'').' 5. '.(( $this->role == 'administrator' || $this->role == 'reviewer')?'<li class="nav-item">'.anchor('review','<i class="nav-icon fas fa-file- signature"></i><p>Review</p>',['class'=>'nav-link'.($this->uri->segment(1) == 'review'?' active':'')]).'</li>':'').' 6. '.(( $this->role == 'administrator' || $this->role == 'pengusul')?'<li class="nav-item">'.anchor('drafting','<i class="nav-icon fas fa-file- signature"></i><p>Final Draft</p>', ['class'=>'nav-link'.($this->uri- >segment(1) == 'drafting' ? ' active':'')]).'</li>':'').' 7. <li class="nav-item">'.anchor('kerjasama','<i class="nav-icon fas fa- archive"></i><p>Arsip Kerjasama</p>',['class'=>'nav-link'.($this->uri- >segment(1) == 'kerjasama'?' active':'')]).'</li> 8. </ul>'; 9. return $out;}
Selain melalui menu, kontrol akses pengguna juga diterapkan pada setiap controller dan  beberapa  bagian  dalam view .  Tujuan  dari  pengaturan  ini  adalah untuk mencegah akses oleh pengguna yang tidak memiliki peran yang sesuai ke dalam controller , dengan cara memasukkan URL secara langsung.
Kode Program 3 Kontrol Akses pengguna di Controller 1. class Usulan extends Main_Controller { 2. public function __construct(){ 3. parent::__construct(); 4. $allowedRoles=['administrator','pengusul']; 5. if(!in_array($this->role,$allowedRoles)){ 6. show_error('Access to current page forbidden for current role', 403, $heading='403  Access Forbidden'); 7. }} 8. ... 9. } Penempatan perintah kontrol akses di dalam fungsi konstruktor seperti yang terdapat pada
Kode Program 3 bertujuan agar seluruh fungsi publik yang terdapat dalam kelas ini hanya dapat diakses oleh pengguna yang memiliki peran seperti yang telah ditentukan pada baris ke-4
Kode  Program 3 .  Akses  oleh  pengguna  dengan  peran  selain  yang  telah ditentukan, akan menampilkan pesan kesalahan seperti yang terdapat pada Gambar 10.
Gambar 10 Tampilan halaman Access Forbidden
Gambar 11 menunjukkan tampilan halaman form usulan kerjasama. Usulan kerjasama  dapat  diajukan  oleh  pengguna  Fakultas/Unit  yang  memiliki  peran “pengusul”.
Gambar 11 Halaman Form Usulan Kerjasama
Kode Program 4 Proses Simpan Usulan Kerjasama
1. public function save(){ 2. if ($this->input->post() && $this->input->is_ajax_request()) { 3. ... 4. $recdata=array('keterangan'=>$keterangan,'kd_perjanjian'=>$kd_perjanjian,'dn_l n'=>$dn_ln,'perjanjian_sebelum'=>$perjanjian_terdahulu,'negara_asal_mitra'=>$n egara_asal_mitra,'mitra'=>$mitra,'jns_lembaga'=>$jns_lembaga,'bidang_kerjasama '=>$bid_kerjasama,'pic_mitra'=>$pic_external,'unit_pengusul'=>$unit_pengusul,' unit_penanggungjawab'=>$unit_penanggungjawab,'unit_pelaksana'=>$unit_pelaks,'p ic_uksw'=>$pic_internal,'masa_berlaku'=>$masa_berlaku,'tanggal_mulai'=>$tangga l_mulai,'tanggal_selesai'=>$tanggal_selesai);
5. if ($this->input->post('update',TRUE) && (bool) $this->input- >post('update',TRUE)===TRUE) { 6. $update=TRUE;
7. $id=$this->input->post('id',TRUE); 8. $kd_usulan=$this->input->post('kd_usulan',TRUE); 9. $where=['id'=>$id,'kd_usulan'=>$kd_usulan]; 10. $proses=$this->get_current_proses($id,$kd_usulan); 11. $aksi='Mengubah Usulan Kerjasama dengan Kode: '.$kd_usulan; 12. } else { 13. $update=FALSE; 14. $kd_usulan=$this->gen_kd_usulan($kd_perjanjian); 15. $proses=0; 16. $aksi='Membuat Usulan Kerjasama Baru dengan Kode: ' . $kd_usulan; 17. } 18. $this->recs->transBegin(); 19. if ($update===TRUE) { 20. $this->recs->setRecords('jet_usulan_kerjasama',$recdata,'update',$where); 21. } else { 22. $this->recs->setRecords('jet_usulan_kerjasama',$recdata,'insert'); 23. $this->recs- >setRecords('jet_kd_register',array('kd_register'=>$kd_usulan),'insert'); 24. } 25. ... 26. }} Cuplikan struktur kode yang terdapat  pada
Kode Program 4 merupakan fungsi yang dijalankan pada proses menyimpan usulan kerjasama, baik untuk usulan baru maupun perubahan dari usulan yang telah diajukan  sebelumnya.  Variabel  $update  digunakan  sebagai  penanda  untuk membedakan proses memasukkan usulan baru atau memperbarui usulan.
Beberapa data disimpan dalam format Javascript Object Notation (JSON) dengan  tujuan  untuk  menyederhanakan  penggunaan  kolom.  Format  JSON digunakan  untuk  menyimpan  data  sejenis  yang  jumlahnya  tidak  tetap  atau bervariasi  dalam  setiap  perjanjian  kerjasama,  seperti  data  perjanjian  terdahulu, bidang kerjasama, unit pelaksana, dan PIC baik internal maupun eksternal. Dengan demikian,  tidak  diperlukan  penambahan  kolom  maupun  tabel  relasi  jika  terjadi penambahan jumlah data[13].
Direktori  penyimpanan  berkas  usulan  kerjasama  yang  diunggah, ditempatkan di luar direktori yang dapat diakses publik. Path direktori ini dituliskan relatif terhadap web root Sistem Informasi kerjasama seperti yang terdapat pada
Kode Program 5 . Tujuannya adalah untuk mencegah berkas-berkas tersebut dapat diakses oleh pihak-pihak yang tidak berkepentingan secara langsung. Akses berkas  hanya  dapat  dilakukan  melalui script yang  disediakan  di  dalam  sistem, seperti yang ditunjukkan pada Kode Program 6.
Kode Program 5 Struktur Program Upload Berkas 1. $upload_path='../uploads/'; 2. if(!is_dir($upload_path.'draft/'.$kd_usulan)){ 3. mkdir($upload_path.'draft/'.$kd_usulan,0777,true); 4. } 5. $upload_path.='draft/'.$kd_usulan; 6. $config['upload_path']=$upload_path; 7. ... 8. if($file_uploaded === NULL){ 9. $uploaded=FALSE; 10. }else{ 11. $uploaded=TRUE; 12. }}else{ 13. $uploaded=TRUE; 14. } 15. ... 16. }
Kode Program 6 Struktur program download berkas
1. public function download($kd_usulan = NULL, $version=NULL){ 2. if($kd_usulan == NULL || $version == NULL){ 3. return FALSE; 4. }else{ 5. $this->load->helper('download');
6. $where = array('LOWER(kd_usulan)' => strtolower($kd_usulan), 'version' => $version); 7. $query = $this->recs->selectRecords($table =' jet_file_usulan_kerjasama',
$join='', $fields='filename, kd_file, extension', $limit=1, $where, $orwhere='', $wherein='', $orwherein='', $wherenotin='', $orwherenotin='', $like='', $orlike='', $notlike='', $ornotlike='',$having='', $orhaving='', $sortorder='',$groupby='', $searchgroup=''); 8. if ($query->num_rows() === 1) { 9. $row = $query->row(); 10. $this->load->helper('download'); 11. $this->load->helper('file'); 12. $file_path = '../uploads/draft/'.$kd_usulan.'/'.$row->filename; 13. $mime= get_mime_by_extension($file_path); 14. header('Content-Type: '.$mime); 15. $file_content=file_get_contents($file_path); 16. force_download($row->kd_file.$row->extension,$file_content); 17. } else { 18. show_404(); 19. }}}
Daftar usulan kerjasama yang diajukan oleh unit pengusul ditunjukkan pada Gambar  12.  Unit  pengusul  diperkenankan  untuk  mengubah  atau  memperbaiki usulan  kerjasama  yang  diajukan,  apabila  usulan  kerjasama  berstatus draft atau dikembalikan untuk diperbaiki baik oleh validator , reviewer , atau administrator . Usulan yang tidak berstatus draft atau dikembalikan/ditolak, tombol edit dan delete tidak  aktif,  demikian  sebaliknya  tombol  akan  aktif  apabila  usulan  kerjasama berstatus draft atau dikembalikan/ditolak.
Gambar 12 Daftar Usulan Kerjasama
Usulan yang  telah  diajukan  unit  pengusul akan  memasuki  tahap  validasi, dan review . Validator dan reviewer dapat  memberikan  komentar  terkait  usulan kerjasama,  serta  mengubah  status  usulan  tersebut  sesuai  dengan  tahapan  yang sedang  dikerjakan.  Perubahan  status  usulan  yang  dilakukan  oleh validator dan reviewer dapat  berupa  “disetujui  dan  diteruskan  ke  tahap  selanjutnya”  atau “dikembalikan  kepada  unit  pengusul  untuk  diperbaiki”.  Unit  pengusul  dapat memantau  perkembangan  usulan  kerjasama  yang  diajukan  melalui  fitur  riwayat usulan yang terdapat pada detail usulan, seperti yang ditunjukkan pada Gambar 13.
Gambar 13 Proses Validasi dan Riwayat Usulan Kerjasama
Untuk  menyederhanakan  sistem  yang  dibangun,  proses  validasi  hingga penyusunan draft akhir menggunakan form dan kode yang sama. Setiap tahapan proses  dibedakan  berdasarkan  status  dari  masing-masing  usulan,  seperti  yang ditunjukkan pada Kode Program 7.
Kode Program 7 Struktur program validasi usulan
1. public function detail(){ 2. ... 3. $id = $arruri['id']; 4. $where = ['id'=>$id]; 5. $wherein=['proses'=>['1','2']];
6. if($this->role == 'operator'){ 7. $where['unit_pengusul']=$this->unit;
8. } 9. $query = $this->recs->selectRecords($table = 'v_usulan', $join='', $fields='id, keterangan, kd_usulan, nm_perjanjian, dn_ln, perjanjian_sebelum, negara_asal_mitra, nm_mitra, nm_jenislembaga, bidang_kerjasama, pic_mitra, nm_unit_pengusul, nm_unit_penanggungjawab, unit_pelaksana, pic_uksw,
masa_berlaku, tanggal_mulai, tanggal_selesai, proses, keterangan_proses', $limit=1, $where, $orwhere='', $wherein, $orwherein='', $wherenotin='', $orwherenotin='',$like='',$orlike='', $notlike='', $ornotlike='', $having='', $orhaving='', $sortorder='', $groupby='', $searchgroup=''); 10. ... 11. } 12. public function proses(){ 13. ... 14. $currentproses=$this->get_current_proses($id,$kd_usulan); 15. if((int)$aksi === 1){ 16. $proses=$currentproses + 1; 17. $response=$this->updateproses($id,$kd_usulan,$proses,$catatan); 18. if((int)$currentproses===2){ 19. $aksi='Pengajuan Usulan Kerjasama: #'. $kd_usulan.' untuk Direview Biro Hukum'; 20. }else{ 21. $aksi='Pengajuan Usulan Kerjasama: #'. $kd_usulan.' ke Rapat Pimpinan UKSW'; 22. } 23. }else{ 24. $proses=$currentproses * 10; 25. $response=$this->updateproses($id,$kd_usulan,$proses,$catatan); 26. $aksi='Usulan Kerjasama: #'. $kd_usulan.' dikembalikan ke Unit Pengusul'; 27. } 28. $this->createhistory($kd_usulan,$proses,NULL,$catatan,$aksi); 29. ... 30. }
Perjanjian  kerjasama  yang  telah  disetujui  dan  ditandatangani  oleh  pihak UKSW dan mitra, akan dimasukkan ke dalam arsip kerjasama seperti yang terdapat pada  Gambar  14.  Arsip  kerjasama  dibagi  ke  dalam  3  kategori  yaitu  perjanjian kerjasama  yang  sedang  berjalan,  perjanjian  yang  telah  berakhir  dan  perjanjian kerjasama  yang  akan  segera  berakhir.  Perjanjian  kerjasama  yang  masuk  dalam kategori  segera  berakhir  adalah  perjanjian  kerjasama  yang  akan  berakhir  dalam kurun waktu kurang dari 3 bulan.

## Gambar 14 Arsip Kerjasama
Setelah  tahapan  pengembangan  sistem  selesai,  perlu  dilakukan  pengujian untuk  membuktikan  bahwa  sistem  telah  sesuai  dengan  kebutuhan  dan  harapan pengguna.  Pengujian  sistem  menggunakan  metode  pengujian blackbox untuk menguji keseluruhan fungsi dan fitur yang terdapat  dalam sistem. Pengujian ini bertujuan untuk memastikan tidak ada kesalahan ataupun bug di dalam sistem, dan seluruh modul proses telah berfungsi seperti yang diharapkan.
Blackbox merupakan  metode  pengujian  yang  mudah  digunakan  dan berfokus pada aspek fungsionalitas perangkat lunak. Untuk melakukan pengujian dengan metode blackbox , penguji perlu menetapkan sekumpulan kondisi masukan untuk  dapat  menemukan  ada  tidaknya  kesalahan  fungsi,  kesalahan  antarmuka, kesalahan  struktur  dan  akses  basis  data,  performansi,  serta  inisialisasi  dan terminasi[14]. Hasil pengujian dengan metode blackbox ditunjukkan pada Tabel 1.
Tabel 1 Hasil Pengujian Blackbox Fungsi yang diuji Situasi Uji Output yang diharapkan Output yang diperoleh Hasil Login Mengisi  form  dengan username dan password yang salah Gagal Login Gagal Login Valid Input usulan kerjasama Form  diisi  dengan benar dan lengkap Sukses menambah usulan kerjasama Sukses menambah usulan kerjasama Valid Ubah usulan kerjasama Mengubah usulan kerjasama yang berstatus draft atau dikembalikan Sukses mengubah usulan kerjasama Usulan  kerjasama berhasil diperbarui Valid Ubah usulan kerjasama Mengubah usulan kerjasama yang sedang diproses Gagal mengubah usulan kerjasama Usulan  kerjasama gagal diperbarui Valid Validasi usulan kerjasama Melakukan validasi usulan kerjasama dengan  opsi  menolak atau menerima Sukses validasi usulan kerjasama Usulan  kerjasama berhasil divalidasi Valid Validasi usulan kerjasama Pengguna dengan peran  pengusul  dan reviewer membuka halaman validasi Halaman validasi  tidak dapat diakses Akses ditolak Valid Review  usulan kerjasama Memasukkan hasil review usulan kerjasama Sukses review usulan kerjasama Usulan  kerjasama berhasil di- review Valid Review  usulan kerjasama Pengguna dengan peran  pengusul  dan validator membuka halaman review Halaman review tidak dapat diakses Akses ditolak Valid Arsip Kerjasama Menampilkan arsip kerjasama berdasarkan kategori Arsip kerjasama tampil  sesuai kategori Arsip  kerjasama ditampilkan sesuai kategori yang ditentukan Valid
Fungsi yang diuji Situasi Uji Output yang diharapkan Output yang diperoleh Hasil Akses dokumen Mengakses  dokumen melalui tautan di dalam sistem Dokumen dapat diunduh Dokumen  dapat diunduh Valid Akses dokumen Mengakses  dokumen tanpa otentikasi Dokumen tidak dapat diunduh Dokumen tidak ditemukan Valid
Hasil  pengujian  menunjukkan  bahwa  fungsi-fungsi  yang  dibuat  dalam sistem ini telah berjalan dengan baik. Penerapan hak akses berdasarkan peran yang diterapkan dalam sistem ini juga dapat berjalan dengan baik. Hasil yang diperoleh dari pengujian ini sesuai dengan rancangan sistem, yang menentukan batasan akses berdasarkan  peran  yang  dimiliki masing-masing  pengguna. Sistem ini juga  telah menerapkan  perlindungan  terhadap  dokumen-dokumen  perjanjian  kerjasama,  di mana  hanya  pengguna  yang  memiliki  peran  yang  sesuai  yang  dapat  mengakses dokumen-dokumen perjanjian kerjasama.

## Simpulan
Sistem  informasi  kerjasama  yang  dikembangkan,  telah  berfungsi  dengan baik  untuk  mengarsipkan  dokumen-dokumen  perjanjian  kerjasama  yang  telah dilakukan  UKSW.  Sistem  ini  juga  telah  berfungsi  dengan  baik  untuk  mengelola usulan-usulan kerjasama yang diajukan oleh Fakultas dan Biro yang ada di UKSW. Fakultas dan Biro dapat mengetahui perkembangan tindak lanjut usulan kerjasama yang diajukan kepada Pimpinan UKSW, dan dapat melakukan perbaikan-perbaikan terhadap draft naskah  perjanjian  kerjasama  baik  dari  segi  aspek  hukum  maupun anggaran  berdasarkan  catatan-catatan  yang  diberikan  oleh reviewer .  Dengan adanya sistem ini, UKSW dapat mengelola arsip-arsip perjanjian kerjasama dengan lebih baik. Saran pengembangan sistem ini adalah untuk mengintegrasikan sistem informasi kerjasama ini dengan SSO dan sistem-sistem yang telah ada di UKSW sebelumnya untuk menghasilkan suatu sistem yang terintegrasi.

## Daftar Pustaka
[1] R.  Sidik,  “Model  Sistem  Informasi  Kolaborasi  Pada  Kerjasama  Antar Universitas (University To University),” J. Teknol. dan Inf. , vol. 4, no. 2, pp. 1–10, Sep. 2014.
[2] A.  Sugiarto  and  T.  Wahyono, Manajemen Kearsipan Modern (Dari Konvensional ke Basis Komputer) . Yogyakarta: Gava Media, 2005.
[3] G. Farell, H. K. Saputra, and I. Novid, “Rancang Bangun Sistem Informasi Pengarsipan Surat Menyurat (Studi Kasus Fakultas Teknik UNP),” JTIP  J. Teknol. Inf. dan Pendidik. , vol. 11, no. 2, pp. 55–62, Sep. 2018.
[4] W.  Welda  and  B.  A.  Minartiningtyas,  “Sistem  Informasi  Pengelolaan Kerjasama Bidang Humas pada STMIK STIKOM Indonesia,” J. Sisfokom
(Sistem Inf. dan Komputer) , vol. 6, no. 2, p. 86, Sep. 2017.
[5] Kementerian  Pendidikan  dan  Kebudayaan  Republik  Indonesia, Peraturan Menteri Pendidikan dan Kebudayaan Republik Indonesia Nomor 14 Tahun 2014 . Berita Negara Republik Indonesia Tahun 2014 Nomor 253, 2014.
[6] T. Salmin, “SISTEM PENGARSIPAN ARSIP ELEKTRONIK,” J. Pustaka Ilm. , vol. 4, no. 2, pp. 706–711, Aug. 2019.
[7] A. Sugiarto, Y. B. R Silintowe, and L. N. Kartika, “Pengembangan Sistem Kearsipan Elektronik Berbasis Client-Server,” J. Teknol. Informasi-Aiti , vol. 10, no. 1, pp. 46–61, 2013.
[8] R. Rusdiansyah, “Membangun Prototype Sistem Informasi Arsip Elektronik Surat  Perjanjian  Kerjasama  pada  Business  Support  Department,” J. Pilar Nusa Mandiri , vol. 14, no. 2, pp. 157–162, Sep. 2018.
[9] C. A. Sugianto and I. Aulia, “Pengembangan Sistem Informasi Kerjasama Berbasis Web Studi Kasus: Pada SEAMOLEC,” J. RESTI (Rekayasa Sist. dan Teknol. Informasi) , vol. 1, no. 2, p. 137, Oct. 2017.
[10]  R. Naz and M. N. A. Khan, “Rapid applications development techniques: A critical review,” vol. 9, pp. 163–176, 2015.
[11]  P. Sabnani and V. Bajpai, “A Hierarchical Tree Based Online Web Portal,” A Hierarchical Tree Based Online Web Portal , vol. 6, no. 5, pp. 4682–4684, 2015.
[12]  A. D. Praba, “Aplikasi Rekap Mengajar Berbasis Webiste Dengan Database PostgreSQL,” Indones. J. Netw. Secur. , vol. 8, no. 1, pp. 27–31, Feb. 2018.
[13]  M.  A.  Rosid,  “Implementasi  JSON  untuk  Minimasi  Penggunaan  Jumlah Kolom  Suatu  Tabel  Pada  Database  PostgreSQL,” JOINCS (Journal Informatics, Network, Comput. Sci. , vol. 1, no. 1, pp. 33–42, Jul. 2016.
[14]  M. S. Mustaqbal, R. F. Firdaus, and H. Rahmadi, “PENGUJIAN APLIKASI MENGGUNAKAN  BLACK  BOX  TESTING  BOUNDARY  VALUE ANALYSIS  (STUDI  KASUS :  APLIKASI  PREDIKSI  KELULUSAN SMNPTN),” J. Ilm. Teknol. Infomasi Terap. , vol. 1, no. 3, 2015.