PENGEMBANGAN SISTEM ALUR KERJA (WORKFLOW) DOKUMEN
PROSEDUR PENGAJUAN PROPOSAL SKRIPSI
DENGAN ALFRESCO ENTERPRISE CONTENT MANAGEMENT
(STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA UIN
JAKARTA)
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Pada Fakultas Sains dan Teknologi UIN Jakarta
Oleh :
WAHYUDIANTO
106091002977
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
JAKARTA
2010
ii
PENGEMBANGAN SISTEM ALUR KERJA (WORKFLOW) DOKUMEN
PROSEDUR PENGAJUAN PROPOSAL SKRIPSI
DENGAN ALFRESCO ENTERPRISE CONTENT MANAGEMENT
(STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA UIN
JAKARTA)
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer
Pada Fakultas Sains dan Teknologi UIN Jakarta
Oleh :
WAHYUDIANTO
106091002977
Menyetujui,
Pembimbing I Pembimbing II
Viva Arifin, MMSI Rizal Bahaweres, M.Kom NIP. 19730810 200604 2 001
Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MIT, M.SCNIP. 19710522 200604 1 002
iii
PENGESAHAN UJIAN
Skripsi berjudul “Pengembangan Sistem Alur Kerja (Workflow) Dokumen
Prosedur Pengajuan Proposal Skripsi dengan Alfresco Enterprise Content
Management (Studi Kasus : Program Studi Teknik Informatika UIN Jakarta)”
yang ditulis oleh Wahyudianto, NIM 106091002977 telah diuji dan dinyatakan
Lulus dalam Sidang Munaqosyah Fakultas Sains dan Teknologi Universitas Islam
Negeri Syarif Hidayatullah Jakarta, pada hari Selasa, 9 November 2010. Skripsi
ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Strata
Satu (S1) Program Studi Teknik Informatika.
Menyetujui :
Penguji I Penguji II
Imam M. Shofi, MT Ria Hari Gusmita, M.Kom NIP. 19720205 200801 1 020 NIP.19820817 200512 2 002
Pembimbing I Pembimbing II
Viva Arifin, MMSI. Rizal Bahawares, M.KomNIP. 19730810 200604 2 001
Mengetahui,
Dekan KetuaFakultas Sains dan Teknologi Program Studi Teknik Informatika
DR. Syopiansyah Jaya Putra, M.Sis Yusuf Durrachman, MIT, M.SCNIP. 19680117 200112 1 001 NIP. 19710522 200604 1 002
iv
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-
BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN
SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI
ATAU LEMBAGA MANAPUN.
Jakarta, November 2010
Wahyudianto
106091002977
v
ABSTRAK
Wahyudianto, Pengembangan Sistem Alur Kerja (Workflow) Dokumen Prosedur Pengajuan Proposal Skripsi dengan Alfresco Enterprise Content Management (ECM), Studi Kasus : Program Studi Teknik Informatika UIN Jakarta, dibimbing oleh Viva Arifin, MMSI dan Rizal Bahaweres, M.Kom.
Teknik Informatika merupakan salah satu program studi pada perguruan tinggi UIN Syarif Hidayatullah yang mengharuskan mahasiswa melakukan penelitian skripsi, sebagai salah satu syarat untuk memperoleh gelar sarjana komputer. Dari hasil wawancara yang dilakukan penulis, menunjukan bahwa dalam proses pengajuan proposal skripsi program studi Teknik Informatika belum mempunyai suatu sistem pengelolaan dokumen yang terkomputerisasi. Keterlambatan penyelesaian pengajuan proposal skripsi juga sering ditemukan. Selain itu, masih terdapat mahasiswa yang tidak mengetahui prosedur pengajuan proposal skripsi. Melihat permasalahan yang terjadi pada program studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, penulis bermaksud mengembangkan sistem alur kerja (workflow) dokumen prosedur pengajuan proposal skripsi pada Alfresco Enterprise Content Management (ECM). Metode pengembangan sistem yang digunakan penulis adalah Extreme Programming. Prosedur yang digunakan dalampenelitian ini menggunakan prosedur yang selama ini berjalan untuk pengajuan proposal skripsi pada program studi Teknik Informatika. Pada akhirnya sistem ini dapat meningkatkan efisiensi waktu untuk proses pengajuan proposal skripsi, serta memberikan keluaran kepada penggunanya berupa pemberitahuan melalui email dan dokumen data pembimbingan skripsi yang telah disetujui oleh ketua program studi. Pada pengembangan sistem selanjutnya, dapat ditambahkan untuk proses pembimbingan skripsi hingga pelaksanaan sidang munaqosah dan dapat dilakukan penerapan secara langsung pada program studi Teknik Informatika, serta dapat dilakukan integrasi menggunakan Content Management System (CMS) sebagai tampilan depan aplikasi.
Kata Kunci : Alfresco, workflow, dokumen, proses, model.
vi
KATA PENGANTAR
Bismillahirrohmanirrohim,
Alhamdulillah puji syukur penulis panjatkan kepada Allah SWT yang telah
mengkaruniakan nikmat-nikmat-Nya. Tidak ada kebahagian yang lebih tinggi saat
ini, selain rasa bahagia penulis dapat menyelesaikan penulisan skripsi ini, yang
disusun untuk melengkapi hasil penelitian dan pengembangan sistem yang telah
penulis lakukan di Program Studi Teknik Informatika sebagai prasyarat dalam
menyelesaikan kurikulum tingkat akhir pada Universitas Islam Negeri Syarif
Hidayatullah Jakarta.
Pada kesempatan ini, penulis mengucapkan terima kasih kepada :
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis., sebagai Dekan Fakultas Sains dan
Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
2. Bapak Yusuf Abdurrachman, DR, MIT, sebagai Ketua Program Studi Teknik
Informatika, Universitas Islam Negeri Syarif Hidayatullah Jakarta.
3. Ibu Viva Arifin, MMSI dan Rizal Bahaweres, M.Kom, sebagai dosen wali dan
pembimbing dalam penyusunan skripsi ini.
4. Seluruh dosen, staff karyawan dan teman di Program Studi Teknik
Informatika, Fakultas Sains dan Teknologi, UIN Syarif Hidayatullah Jakarta.
5. Kedua orang tua serta kakak-kakakku tercinta yang senantiasa memberikan
bantuan moril dan spiritual yang tiada henti yang tak pernah sanggup
terbalaskan oleh penulis.
Penulis menyadari akan kekurangan dari karya ini, oleh karena itu penulis
mengharapkan kritik dan saran yang dapat disampaikan melalui
[email protected], guna pengembangan selanjutnya. Akhir kata, semoga
laporan ini dapat bermanfaat dalam memberikan pemikiran baru yang dapat
disumbangkan bagi pengembangan ilmu sains dan teknologi.
Jakarta, November 2010
Penulis
vii
DAFTAR ISI
Halaman
HALAMAN JUDUL ……………………………………………………. i
HALAMAN PERSETUJUAN PEMBIMBING ...………………...... ii
HALAMAN PENGESAHAN ………………………………………...... iii
HALAMAN PERNYATAAN ............................................................. iv
ABSTRAK ............................................................................................... v
KATA PENGANTAR……………………………………………………. vi
DAFTAR ISI……………………………………………………………… vii
DAFTAR GAMBAR………………………………………………………xi
DAFTAR TABEL………………………………………………………… xii
DAFTAR LAMPIRAN………………………………………………....... xiii
BAB I PENDAHULUAN
1.1. Latar Belakang………………………………………………….. 1
1.2. Rumusan Malasah……………………………………………… 2
1.3. Batasan Masalah……………………………………………….. 3
1.4. Tujuan Penelitian…...…………………………………………... 3
1.5. Manfaat Penelitian ……………………………………………… 3
1.6. Metodologi Penelitian…………………...………………………. 4
1.7. Sistematika Penulisan…………………………………………… 6
BAB II LANDASAN TEORI
2.1. Definisi Mengembangkan………………………………………. 8
viii
2.2. Business Process Management…………………………………. 8
2.3. Workflow Management…………………………………………. 9
2.4. Document Management………………………………………… 11
2.5. Alfresco………………………………………………………… 11
2.6. JBoss Business Process Management…………………………. 13
2.7. JBPM Process Definition Language…………………………... 15
2.8. Java…………………………………………………………….. 19
2.9. XML………………………………………..…………………... 20
2.10. UML………………………………………..…………………... 21
2.11. Metode Pengembangan Sistem………………………………… 22
2.12. Extreme Programming Development Lifecycle………………… 22
2.13. Penelitian Terdahulu Tentang Alfresco………………………… 25
2.14. Metode Pengumpulan Data ……………………………………. 26
BAB III METODOLOGI PENELITIAN
3.1. Kerangka Berpikir………………..…………………………….. 29
3.2. Teknik Pengumpulan Data………………..…………………… 30
3.3. Metode Pengembangan Sistem………………..……………….. 32
BAB IV HASIL DAN PEMBAHASAN
4.1.Exploration Phase (Fase Eksplorasi) ……..…………………...... 35
4.1.1. Identifikasi Vision……..…………………...……..……… 35
4.1.2. Identifikasi Ruang Lingkup dan Kebutuhan Sistem…….. 37
4.1.3. Menentukan Tools dan Teknologi……..………………… 39
4.1.4. Studi Fisibilitas……..…………………...……..…………. 40
ix
4.2.Planning Phase (Fase Perencanaan) ……..…………………....... 42
4.2.1. Menentukan Batasan dan Prioritas……..………………… 42
4.2.2. Membuat Tahapan Teknis……..…………………............ 43
4.2.3. Membuat Rencana Peluncuran……..…………………...... 44
4.2.4. Mempersiapkan Uji Penerimaan Pengguna……..………. 45
4.3. Iterations Phase (Fase Pengulangan) ……..…………………...... 45
4.3.1. Iteration 0……..…………………...……..……………… 45
4.3.1.1. Membuat Kriteria Pengujian……..……………… 46
4.3.1.2. Membuat Disain Sederhana……..………………. 46
4.3.1.3. Implementasi……..…………………................... 48
4.3.1.4. Melakukan Uji Penerimaan……..……………….. 51
4.3.1.5. Melacak Kemajuan……..………………….......... 52
4.3.1.6. Menentukan Penerimaan……..………………….. 52
4.3.2. Iteration 1……..…………………...……..………………. 52
4.3.2.1. Membuat Kriteria Pengujian……..………………. 54
4.3.2.2. Membuat Desain Sederhana……..………………. 57
4.3.2.3. Implementasi……..………………….................... 58
4.3.2.4. Integrasi……..…………………...……..………… 70
4.3.2.5. Melakukan Uji Penerimaan……..………………... 71
4.3.2.6. Melacak Kemajuan……..…………………........... 73
4.3.2.7. Menentukan Penerimaan……..………………….. 73
4.3.3. Iteration 2……..…………………...……..………………. 74
4.3.3.1. Membuat Kriteria Pengujian……..………………. 74
x
4.3.3.2. Membuat Desain Sederhana……..………………. 76
4.3.3.3. Implementasi……..………………….................... 76
4.3.3.4. Integrasi……..…………………...……..…………. 88
4.3.3.5. Melakukan Uji Penerimaan……..………………… 89
4.3.3.6. Melacak Kemajuan……..…………………...…… 90
4.3.3.7. Menentukan Penerimaan……..………………….. 90
4.4.Productionizing Phase (Fase Produksi) ……..………………...... 90
BAB V PENUTUP
4.5. Kesimpulan……………………………………………………... 92
4.6. Saran…………………………………………………………….. 93
DAFTAR PUSTAKA…………………………………………………...... 94
LAMPIRAN
xi
DAFTAR GAMBAR
Halaman
Gambar 2.1. Arsitektur Alfresco ………………………………….. 12
Gambar 2.2. Alfresco Workflow Administration ………………….. 15
Gambar 2.3. Notasi Task ………………………………………….. 16
Gambar 2.4. Notasi State ………………………………………….. 17
Gambar 2.5. Notasi Decision ………………………………………….. 17
Gambar 2.6. Notasi Fork ………………………………………….. 17
Gambar 2.7. Notasi Join ………………………………………….. 18
Gambar 2.8. Notasi Node ………………………………………….. 18
Gambar 2.9. Notasi Transition ………………………………….. 18
Gambar 2.10. Perbandingan Metode Pengembangan………………….. 23
Gambar 3.1. Ilustrasi Kerangka Berpikir ………………………….. 29
Gambar 3.2. Tahapan Pemilihan Sampel ………………………….. 31
Gambar 4.1. Prosedur Pengajuan Proposal Skripsi Yang Berjalan …….. 36
Gambar 4.2. Diagram Usecase …………………………….......... 39
Gambar 4.3. Tampilan User Details Pada Mercury Mail………………... 49
Gambar 4.4. Workflow Dokumen Proposal Skripsi …………………… 53
Gambar 4.5. Model Workflow Task ……………………………………….. 57
Gambar 4.6. Diagram Workflow Pada JBPM Designer ………………... 58
Gambar 4.7. JBPM Process Deployer………………………………………. 69
Gambar 4.8. Model Content Dokumen Proposal………………………….. 76
Gambar 4.9. Grafik Hasil Kuesioner Pengujian…….…………………… 91
xii
DAFTAR TABEL
Halaman
Tabel 2.1. Akses Level Alfresco …………………………………. 13
Tabel 2.2. Extreme Programming Role’s …………………………. 25
Tabel 4.1. High-Level Feature List …………………………………. 42
Tabel 4.2. Rencana Peluncuran …………………………………. 44
Tabel 4.3. Daftar User dan Group …………………………………. 46
Tabel 4.4. Daftar Direktori Space …………………………………. 47
Tabel 4.5. Daftar Level Akses Pengguna …………………………. 47
Tabel 4.6. Hasil Pengujian Iterasi 0 …………………………………. 51
Tabel 4.7. Daftar Integrasi 1 ………………………………………….. 70
Tabel 4.8. Hasil Pengujian Iterasi 1 ………………………………….. 71
Tabel 4.9. Pemetaan Proses Workflow………………………………….. 72
Tabel 4.10. Daftar Integrasi 2 ………………………………………….. 89
Tabel 4.11. Hasil Pengujian Iterasi 2 ………………………………….. 89
xiii
DAFTAR LAMPIRAN
Halaman
Lampiran 1. Wawancara .............................................................................A-1
Lampiran 2. User Story ...............................................................................B-1
Lampiran 3. Listing Program ......................................................................C-1
Lampiran 4. User Acceptance Test ..............................................................D-1
Lampiran 5. Tampilan Aplikasi ..................................................................E-1
PENGEMBANGAN SISTEM ALUR KERJA (WORKFLOW) DOKUMEN
PROSEDUR PENGAJUAN PROPOSAL SKRIPSI
DENGAN ALFRESCO ENTERPRISE CONTENT MANAGEMENT
(STUDI KASUS : PROGRAM STUDI TEKNIK INFORMATIKA UIN
JAKARTA)
Oleh :
Wahyudianto
106091002977
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI
SYARIF HIDAYATULLAH
JAKARTA
2010
LAMPIRAN 1
WAWANCARA
LAMPIRAN 2
USER STORY
LAMPIRAN 3
LISTING PROGRAM
LAMPIRAN 4
USER ACCEPTANCE TEST
LAMPIRAN 5
TAMPILAN APLIKASI
file:///E|/Skripsi_Wahyudianto_TI_106091002977/Dokumen/Abstrak_106091002977.txt
ABSTRAK
Wahyudianto, Pengembangan Sistem Alur Kerja (Workflow) Dokumen Prosedur Pengajuan Proposal Skripsi dengan Alfresco Enterprise Content Management (ECM), Studi Kasus : Program Studi Teknik Informatika UIN Jakarta, dibimbing oleh Viva Arifin, MMSI dan Rizal Bahaweres, M.Kom.
Teknik Informatika merupakan salah satu program studi pada perguruan tinggi UIN Syarif Hidayatullah yang mengharuskan mahasiswa melakukan penelitian skripsi, sebagai salah satu syarat untuk memperoleh gelar sarjana komputer. Dari hasil wawancara yang dilakukan penulis, menunjukan bahwa dalam proses pengajuan proposal skripsi program studi Teknik Informatika belum mempunyai suatu sistem pengelolaan dokumen yang terkomputerisasi. Keterlambatan penyelesaian pengajuan proposal skripsi juga sering ditemukan. Selain itu, masih terdapat mahasiswa yang tidak mengetahui prosedur pengajuan proposal skripsi. Melihat permasalahan yang terjadi pada program studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, penulis bermaksud mengembangkan sistem alur kerja (workflow) dokumen prosedur pengajuan proposal skripsi pada Alfresco Enterprise Content Management (ECM). Metode pengembangan sistem yang digunakan penulis adalah Extreme Programming. Prosedur yang digunakan dalam penelitian ini menggunakan prosedur yang selama ini berjalan untuk pengajuan proposal skripsi pada program studi Teknik Informatika. Pada akhirnya sistem ini dapat meningkatkan efisiensi waktu untuk proses pengajuan proposal skripsi, serta memberikan keluaran kepada penggunanya berupa pemberitahuan melalui email dan dokumen data pembimbingan skripsi yang telah disetujui oleh ketua program studi. Pada pengembangan sistem selanjutnya, dapat ditambahkan untuk proses pembimbingan skripsi hingga pelaksanaan sidang munaqosah dan dapat dilakukan penerapan secara langsung pada program studi Teknik Informatika, serta dapat dilakukan integrasi menggunakan Content Management System (CMS) sebagai tampilan depan aplikasi.
Kata Kunci : Alfresco, workflow, dokumen, proses, model.
file:///E|/Skripsi_Wahyudianto_TI_106091002977/Dokumen/Abstrak_106091002977.txt [5/12/2011 2:39:11 AM]
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Teknik Informatika merupakan salah satu program studi pada perguruan
tinggi UIN Syarif Hidayatullah yang mengharuskan mahasiswa melakukan
penelitian skripsi, sebagai salah satu syarat untuk memperoleh gelar sarjana
komputer. Secara garis besar, proses untuk melakukan penelitian skripsi oleh
mahasiswa program studi Teknik Informatika antara lain adalah pengajuan
proposal skripsi, pembimbingan dan penelitian, seminar hasil penelitian skripsi,
serta sidang skripsi.
Dalam proses pengajuan proposal skripsi, Program tudi Teknik
Informatika belum mempunyai suatu sistem pengelolaan dokumen yang
terkomputerisasi. Dokumen-dokumen yang digunakan masih dalam bentuk
lembaran kertas yang mempunyai resiko hilang dan rusak. Keterlambatan
pengajuan proposal skripsi juga sering ditemukan, karena adanya komunikasi
yang belum berjalan dengan baik diantara mahasiswa, dosen, dan bagian
akademik program studi. Selain itu, masih terdapat mahasiswa yang tidak
mengetahui prosedur pengajuan proposal skripsi, sehingga terkadang mahasiswa
mengajukan proposal beberapa kali.
Seiring dengan bertambahnya jumlah mahasiswa setiap tahun menjadikan
beban kerja Program Studi Teknik Informatika untuk mengelola dokumen
proposal skripsi semakin berat. Oleh karena itu, dibutuhkan sistem pengelolaan
2
dokumen untuk mengelola dokumen proposal skripsi untuk mempercepat proses
pengajuan proposal.
Pengembangan sistem untuk mengelola dokumen proposal skripsi yang
terkomputerisasi diwujudkan dengan pengembangan alur kerja dokumen
(document workflow) dalam sistem pengelolaan dokumen (document management
system). Document workflow tersebut akan menangani proses pengajuan dokumen
proposal skripsi untuk pihak-pihak yang terkait dengan proses tersebut.
Document workflow merupakan hal yang penting dalam proses pengajuan
proposal skripsi karena dalam proses tersebut membutuhkan verifikasi dan
approval (persetujuan) dari pihak-pihak terkait dalam Program Studi Teknik
Informatika seperti mahasiswa, staf akademik, sekretaris program studi, ketua
program studi, dan dosen sebagai pembimbing, sehingga document workflow
dapat mengelola dokumen sesuai dengan alur kerja dari prosedur pengajuan
proposal skripsi pada Program Studi Teknik Informatika. Hal inilah yang
mendorong penulis untuk melakukan penelitian “Pengembangan Sistem Alur
Kerja (Workflow) Dokumen Prosedur Pengajuan Proposal Skripsi dengan
Alfresco Enterprise Content Management (Studi Kasus : Program Studi
Teknik Informatika UIN Jakarta) ”.
1.2. Rumusan Masalah
Berdasarkan latar belakang di atas, maka dapat dirumuskan permasalahan
yang akan dibahas dalam penelitian skripsi ini, yaitu :
3
a. Bagaimana mengembangkan document workflow dalam document
management system untuk mengelola dokumen prosedur pengajuan
proposal skripsi pada Program Studi Teknik Informatika UIN Jakarta.
b. Bagaimana simulasi proses pelayanan pada prosedur pengajuan
proposal skripsi untuk prosedur manual dan sistem workflow dokumen
prosedur pengajuan proposal skripsi.
1.3. Batasan Masalah
Dari rumusan masalah yang telah ditulis di atas, batasan masalah yang
akan dibahas dan dibuat, yaitu :
a. Dokumen yang dikelola yaitu dokumen proposal skripsi Program Studi
Teknik Informatika.
b. Proses yang digunakan berdasarkan prosedur pengajuan proposal
skripsi yang selama ini berjalan pada Program Studi Teknik
Informatika.
c. Menggunakan extreme programming sebagai metode pengembangan
sistem, serta Alfresco sebagai perangkat lunak yang akan
dikembangkan.
1.4. Tujuan Penelitian
Tujuan dari penelitian ini adalah mengembangkan document workflow
untuk menggantikan prosedur yang masih bersifat manual dengan pemanfaatan
metode pengembangan sistem dan mengadaptasi perangkat lunak pengembangan
sistem yang lebih baru guna mendukung kegiatan operasional Program Studi
4
Teknik Informatika khususnya untuk dokumen prosedur pengajuan proposal
skripsi.
1.5. Manfaat Penelitian
Manfaat yang didapat dari penelitian tentang document workflow, yaitu :
a. Dapat digunakan sebagai bahan evaluasi terhadap prosedur yang
sedang berjalan saat ini pada Program Studi Teknik Informatika untuk
mengelola dokumen proposal skripsi.
b. Meningkatkan efektifitas dan efisiensi tenaga dan waktu dibandingkan
dengan prosedur yang sedang berjalan.
c. Mempermudah proses perbaikan dokumen proposal skripsi melalui
pemberian versi terhadap dokumen proposal skripsi.
1.6. Metodologi Penelitian
Adapun metodologi yang digunakan dalam penelitian ini meliputi dua
bagian pokok, yaitu teknik pengumpulan data dan metode pengembangan sistem.
Dalam pegumpulan data untuk penelitian ini diperlukan beberapa teknik
yang dilakukan, yaitu :
a. Teknik wawancara (Hasibuan , 2007 : 84)
Melakukan tatap muka secara langsung dan melakukan tanya
jawab kepada responden mengenai sistem yang akan dikembangkan.
b. Studi pustaka (Hasibuan , 2007 : 21)
Studi pustaka dilakukan dengan mempelajari buku-buku atau
website yang terkait dengan penelitian.
5
c. Teknik kuesioner (Hasibuan , 2007 : 86)
Memberikan daftar pertanyaan kepada pengguna untuk
mengetahui tingkat kepuasan pengguna terhadap sistem workflow
dokumen yang akan dibuat.
Sedangkan untuk pengembangan sistem, metode yang digunaka adalah
extreme programming (XP). Merujuk pada buku Stewart Baird, penelitian ini
menggunakan empat dari lima fase XP, yaitu :
a. Exploration
Fase ini dilakukan identifikasi vision, identifikasi ruang lingkup
dan kebutuhan sistem, menentukan tools dan teknologi yang
digunakan, dan membuat studi kelayakan terhadap sistem yang akan
dikembangkan.
b. Planning
Fase ini dilakukan penentuan batasan dan prioritas, membuat
tahapan teknis, membuat rencana pelepasan, serta mempersiapkan uji
penerimaan penggguna.
c. Iterations
Fase ini dilakukan pembuatan criteria penerimaan, membuat
desain sederhana, melakukan implementasi penulisan program,
mengintegrasikan kode program, melakukan uji penerimaan,
melakukan pelacakan kemajuan proyek, dan menentukan penerimaan
dari tahapan iteration.
d. Productionizing
6
Fase ini dilakukan pengujian oleh pengguna terhadap criteria uji
penerimaan pengguna sebagai parameter pengujian dengan
menggunakan metode black-box.
1.7. Sistematika Penulisan
Sistematika dari penulisan laporan penelitian ini adalah sebagai berikut :
BAB 1 PENDAHULUAN
Bab ini berisi latar belakang penelitian, rumusan masalah, batasan
masalah pada penelitian, tujuan yang hendak dicapai, manfaat yang
diharapkan, metodologi penelitian, dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini akan menguraikan teori-teori yang mendukung penelitian,
teori-teori yang menjadi dasar dari pemecahan permasalahan dan didapat
dengan melakukan studi pustaka sebagai landasan dalam melakukan
penelitian.
BAB 3 METODOLOGI
Bab ini akan menguraikan tentang metodologi yang digunakan
dalam peneitian yaitu motode pengumpulan data dan metode
pengembangan sistem dalam pengembangan workflow document. Selain
itu, pada bab ini juga akan digambarkan kerangka berpikir penulis dalam
mengerjakan penelitian ini.
BAB 4 HASIL DAN PEMBAHASAN
Bab ini menjelaskan tentang hasil penelitian yang dilkukan dalam
pengembangan sistem.
7
BAB 5 PENUTUP
Bab ini mengemukakan kesimpulan dari penelitian yang dilakukan
dan saran-saran yang diusulkan untuk pengembagan lebih lanjut agar
tercapai hasil yang lebih baik.
8
BAB II
LANDASAN TEORI
2.1. Pengembangan Sistem
Merujuk pada buku karangan Turban, et al. (2001 : 634), pengembangan
sistem menunjukkan arti sekumpulan aktivitas yang membuat sistem menjadi
efektif dan efisien dalam pemrosesan informasi.
2.2. Business Process Management
Proses terdiri dari sejumlah pekerjaan (task) yang harus diselesaikan dan
kumpulan kondisi (condition) yang menentukan urutan dari pekerjaan (Aalst,
2002 : 4). Business process (proses bisnis) merupakan seperangkat aktivitas yang
dilaksanakan dan dikoordinasi pada satu lingkungan organisatoris dan teknis.
Aktivitas ini disatukan untuk mewujudkan tujuan bisnis. Masing-masing proses
bisnis ditetapkan oleh satu organisasi, tetapi mungkin akan beriteraksi dengan
proses bisnis yang dijalankan oleh organisasi lain. Proses bisnis tidak hanya
meliputi representasi dari proses bisnis, tetapi juga aktivitas tambahan (Weske,
2007 : 5).
Business process management (BPM) meliputi konsep, metode, dan ilmu
pengetahuan tentang teknik untuk mendukung desain, administrasi, konfigurasi,
pengaturan dan analisa dari proses bisnis. Landasan dari business process
management adalah representasi proses bisnis yang jelas dari aktivitas organisasi
dan batasan pelaksanaan di antara mereka. Satu kali proses bisnis didefinisikan,
mereka tunduk kepada analisa, peningkatan, dan pengaturan (Weske, 2007 : 5).
9
Secara tradisional, proses bisnis diatur secara manual, diarahkan oleh
pengetahuan dari anggota perusahaan dan dibantu peraturan dan prosedur yang
diterapkan oleh perusahaan. Perusahaan dapat mendapat tambahan keuntungan
jika menggunakan sistem perangkat lunak (software) untuk mengkoordinasi
aktivitas yang termasuk dalam proses bisnis. Software ini disebut business process
management system (BPMS). BPMS merupakan sistem perangkat lunak umum
yang dikendalikan oleh gambaran proses yang jelas untuk mengkoordinasi
peraturan dari business process (Weske, 2007 : 6).
BPM mempunyai beberapa notasi grafik untuk memodelkan proses bisnis
yang disebut dengan business process modeling notation (BPMN). Business
process model terdiri dari kumpulan model aktivitas dan batasan eksekusi dari
aktivitas. Masing-masing business process model berfungsi sebagai cetak biru
(blueprint) dari kumpulan pekerjaan yang merepresentasikan kasus dalam
operasional dari perusahaan (Weske, 2007 : 7).
2.3. Workflow Management
Kamus Workflow Management Coalition’s menjelaskan bahwa workflow
merupakan otomatisasi dari sebuah proses bisnis, pada keseluruhan atau sebagian,
selama dokumen, informasi, atau tugas telah dilewati oleh seorang partisipan
kepada partisipan lain untuk mendapat tindakan, berdasarkan sekumpulan aturan
prosedur. Dari perspektif workflow, partisipan dapat berupa orang, aplikasi,
mesin, atau proses lain atau workflow engine (Fischer, 2002 : 136).
Teknologi workflow mempunyai kemampuan mendukung proses bisnis
diantara sistem aplikasi atau diantara kumpulan sistem aplikasi, efektif
10
mengintegrasi sistem. Tetapi teknologi workflow dapat juga digunakan untuk
mengatur proses bisnis dimana manusia dilibatkan secara efektif, dengan
demikian akan meningkatkan kolaborasi diantara pekerja (Weske, 2007 : 50).
Workflow management system adalah sistem software yang
mendefinisikan, menciptakan, dan mengelola eksekusi workflow, melalui
penggunaan software, berjalan pada satu atau lebih workflow engine, yang mampu
menginterpretasi process definition, berinteraksi dengan pertisipan workflow, dan
jika dibutuhkan, meminta penggunaan peralatan teknologi informasi dan aplikasi
(Weske, 2007 : 50). Workflow memiliki process modeling language berupa
graph-based woerkflow language yang juga memperhatikan ketergantungan data
diantara akivitas proses (Weske, 2007 : 125). Masalah yang dapat diselesaikan
menggunakan pendekatan workflow mempunyai tiga karakteristik. Tiga kunci
tersebut adalah koordinasi, durasi yang lama, dan partisipasi manusia (Microsoft,
2007 : 75).
Keuntungan yang didapatkan dari workflow yaitu dapat mengerti alur dari
pekerjaan dalam perusahaan secara mendalam, mengawasi kontribusi perkerjaan
yang berguna untuk mengetahui biaya dan beban kerja, serta optimasi
menggunakan model pekerjaan yang dilakukan, dan dapat menggunakan model
untuk mengartikan perilaku (behavior) (Microsoft, 2007 : 76).
2.4. Document Management
Document management adalah otomatisasi kontrol dari dokumen
elektronik, dokumen gambar, pengolah kata dokumen, dan dokumen kompleks
lain, terhadap siklus hidup dokumen tersebut dalam sebuah organisasi. Document
11
management memberikan beberapa keuntungan, antara lain adalah
memungkinkan organisasi untuk menggunakan control yang besar pada
pembuatan, penyimpanan, dan distribusi dokumen, menghasilkan efisiensi lebih
besar dalam menggunakan kembali informasi, mengontrol dokumen termasuk
workflow process, dan mengurangi waktu dari siklus produk (Turban, 2001 : 498).
Kebutuhan untuk meningkatkan efisiensi dalam menangani business
document untuk meningkatkan keuntungan dalam kompetisi mendasari terjadinya
peningkatan kemampuan document management system (DMS). DMS
menyediakan informasi dalam format elektronik untuk pembuatan keputusan.
Fungsi yang memungkinkan untuk disediakan oleh DMS meliputi identifikasi
dokumen, penyimpanan, pencarian, pelacakan, pengontrolan versi, workflow
management, dan penampilan (Turban, 2001 : 498).
2.5. Alfresco
Alfresco merupakan suatu perangkat lunak Enterprise Content
Management System (ECMS) open source yang dapat memberikan modularitas
tinggi dan performa memadai. Alfresco dapat digunakan sebagai manajemen
konten untuk dokumen, web, record, gambar dan collaborative development
environment (Syarif, 2009 : 10).
12
Gambar 2.1. Arsitektur Alfresco (Syarif, 2009 : 32)
Alfresco menggunakan content repository yang difungsikan untuk server
penyimpanan, pencarian, akses, dan kontrol dari konten. Alfresco juga
mendukung untuk penggunaan pluggable aspect-oriented architecture secara
langsung dengan menggunakan open source standart dan component (Syarif, 2009
: 12).
Business process automation meningkatkan produktivitas, mengurangi
biaya, mengalirkan proses, dan memperpendek siklus operasi. Alfresco meliputi
JBoss Business Process Management (JBPM), sebuah engine BPM dan workflow
yang dapat mengelola siklus hidup dokumen. Alfresco juga mendukung
Enterprise Integration, yang dapat terintegrasi dengan open source J2EE (Syarif,
2009 : 14).
13
Alfresco menggunakan model security membership yang didasarkan pada
pengesahan (siapa yang dapat akses) dan otorisasi (apa yang mereka dapat
lakukan). Alfresco menyediakan kemampuan untuk mengatur grup dan bagian
jenis dari pengguna, atribut pengguna, dan folder pengguna. Itu juga menyediakan
alat administratif untuk mengatur dan mengontrol keahlian membership (Syarif,
2009 : 86).
Tabel 2.1. Akses Level Alfresco (Syarif, 2009 : 100)
Type role Read Add Edit Delete
Consumer
Editor
Contributor
Collaborator
Coordinator
Dengan adanya fitur document management, penulis menggunakan
alfresco sebagai software dasar, untuk membuat, mengelola, dan mengalirkan
dokumen.
2.6. JBoss Business Process Management
JBoss Business Process Management (JBPM) adalah sebuah BPMS yang
dikembangkan oleh JBoss. Aplikasi ini terdiri atas aplikasi yang mengeksekusi
proses (JBPM Process Engine), dan sebuah aplikasi berbasis Eclipse untuk
mendesain proses (JBPM Process Designer) (Salatino, 2009 : 22). JBPM Process
Engine dapat digunakan sebagai pengintegrasi aplikasi-aplikasi dalam sebuah
14
enterprise, dan dapat juga dijadikan sebagai mesin eksekusi proses bisnis dalam
sebuah aplikasi. JBPM Process Engine mendukung eksekusi proses yang
didefinisikan dengan bahasa JBPM Process Definition Language (JPDL) sebagai
bahasa utama. Aplikasi JBPM Graphical Process Designer yang disediakan oleh
JBPM dapat memvisualisasikan proses bisnis, dalam bahasa JPDL (Cumberlidge,
2007 : 54).
JBPM dibangun dengan konsep dari penantian. Hal ini mungkin terdengar
asing dalam perangkat lunak, tetapi dalam hal ini merupakan sebuah alasan yang
sangat baik untuk penantian. Mempersingkat proses bisnis kehidupan nyata dalam
suatu organisasi, melibatkan banyak manusia dan berbagai sistem, serta
berlangsung dalam sebuah periode. (Cumberlidge, 2007 : 73).
Perangkat lunak memerlukan beberapa cara penantian, hingga aktor dari
proses siap untuk lakukan aktivitasnya. Kemudian ketika aktor telah melakukan
aktivitasnya, perangkat lunak perlu mengetahui apa aktivitas berikutnya pada
rangkaian proses yang menunggu untuk dikerjakan oleh aktor selanjutnya
(Cumberlidge, 2007 : 73).
15
Gambar 2.2. Alfresco Workflow Administration(http://wiki.alfresco.com/wiki/WorkflowAdministration, 2 Maret 2010, pk
23:41WIB)
Penyelarasan urutan dari "masa penantian, pekerjaan, masa penantian,
pekerjaan" ditangani oleh mesin JBoss BPM. Mesin JBPM mencari keterangan
process definition dan menyelesaikan cara, yang mana harus mengarahkan
melalui proses (Cumberlidge, 2007 : 73).
2.7. JBPM Process Definition Language
Proses visual memetakan apa yang ada pada process designer dari JBoss
JBPM menggunakan Graph Oriented Programming. Dengan menggunakan
process designer, pemprogram perangkat lunak tidak lagi menggunakan kode,
tetapi mempergunakan satu proses pemetaan visual, yang dikenal sebagai suatu
directed graph. Graf terarah ini didefinisikan pada penyajian XML dari proses.
16
Graf yang ditambah dengan XML adalah satu setelan notasi, yang disebut JPDL
yaitu JBPM Process Definition Language (Cumberlidge, 2007 : 73).
Process definition yang ditetapkan pada JPDL disusun dari nodes,
transition, dan action, yang bersama-sama mendeskripsikan bagaimana satu
kejadian (instance) dari proses harus berpindah pada graf terarah. Selama
pelaksanaan dari proses, gerakan kejadian melalui graf terarah menetapkan satu
tanda (token), sebagai penunjuk ke node dari graf dimana kejadian sekarang ini
sedang menunggu. Sebuah sinyal menunjuk token menggunakan transition yang
harus berasal dari sebuah node. Sinyal menetapkan jalur yang digunakan dalam
sebuah proses (Cumberlidge, 2007 : 73).
Sebuah proses graf tersusun dari beberapa node dan transition. Setiap node
memiliki jenis yang berbeda. Jenis-jenis node adalah (Cumberlidge, 2007 : 74) :
1. Task node
Task node merupakan gambaran dari satu atau lebih pekerjaan yang
dilakukan oleh user. Ketika task node dieksekusi, pekerjaan akan
diciptakan pada daftar kerja dari workflow participant. Kemudian,
node akan berada pada keadaan menunggu. Ketika user telah
melakukan pekerjaan tersebut, sebuah trigger diciptakan yang akan
meneruskan proses eksekusi.
Gambar 2.3. Notasi Task
17
2. State
State node adalah proses yang digunakan untuk menunggu. Node ini
berbeda dengan task node karena state tidak menciptakan suatu task
untuk user yang ada. State biasanya digunkan untuk menunggu respon
inputan dari luar sistem.
Gambar 2.4. Notasi State
3. Decision
Dalam pemodelan, terdapat dua tipe decision yang berbeda. Pertama
decision yang dibutuhkan oleh proses situ sendiri yang didasarkan
pada pembagian datanya. Atau juga decision yang dibuat oleh user
dengan memberikan inputan dalam sistem.
Gambar 2.5. Notasi Decision
4. Fork
Fork digunakan untuk memecah sebuah alur eksekusi, menjadi
beberapa alur.
Gambar 2.6. Notasi Fork
18
5. Join
Join merupakan penggabungan antara beberapa alur parallel dengan
parent node yang sama. Join akan menunggu sampai semua alur telah
sampai pada join node, baru kemudian akan melanjutkan eksekusi.
Gambar 2.7. Notasi Join
6. Node
Node ini merupakan node khusus, yang mengijinkan para developer
untuk menulis kode sesuai dengan keinginannya. Tetapi juga
mempertmbangkan logika dalam kode juga harus sesuai dengan design
proses yang telah dibuat.
Gambar 2.8. Notasi Node
Transition merupakan penghubung dari masing-masing node. Transition
mempunyai sebuah node sumber dan node tujuan. Node sumber direpresentasikan
dengan properti from dan node tujuan direpresentasikan dengan menggunakan
properti to (JBPM, 2008 : 92).
Gambar 2.9. Notasi Transition
Action adalah sebuah potongan kode java yang dieksekusi diluar dari
representasi gafis. Ketika graf telah diletakkan pada tempatnya, graf tersebut
dapat diambah dengan action. Hal ini menunjukkan bahwa kode java dapat
19
berhubungan dengan graf tanpa merubah struktur dari graf tersebut. Tipe event
yang paling penting adalah masuk dalam node, keluar node, dan mengambil
transition (JBPM, 2008 : 93).
Action yang diletakkan pada event akan dieksekusi ketika event dipanggil.
Action dalam event tidak mempengaruhi kontrol dari alur proses. Sedangkan
action yang diletakkan pada node mempunyai tugas untuk menyebarkan ekskusi
(JBPM, 2008 : 93).
Event menentukan pada saat eksekusi proses. JBPM engine akan
menghidupkan event selama graf dieksekusi. Event selalu bergantung pada bagian
dari process definition seperti process definition, node atau transition (JBPM,
2008 : 94).
Script merupakan action dimana secara umum semua variable proses
tersedia sebagai script variable. Dengan demikian kita juga dapat mengubah
penggunaan variable umum, yang ada pada sebuah node (JBPM, 2008 : 94).
2.8. Java
Java merupakan inovasi sebuah bahasa pemrograman yang dapat menjadi
pilihan untuk program yang akan berjalan pada berbagai sistem operasi. Java
dapat digunakan untuk internet dan aplikasi yang berbasis jaringan. Java juga
mengijinkan para penulis program untuk digunakan pada aplikasi berskala besar
yang dapat dijalankan tanpa terjadi perubahan pada komputer dengan sistem
operasi yang mendukung java. Hal ini yang banyak diaplikasikan pada komputer
saat ini (Horton, 2005 : 1).
Java memiliki beberapa keutamaan, antara lain (Friesen 2007 : 2) :
20
1. Compatibility dan stability. Kode program java dapat berjalan pada
sistem operasi yang memiliki runtime environment. Dan telah banyak
kesalahan yang telah dibenahi, serta keberadaan sebuah virtual
machine juga mendukung stabilitas java.
2. Monitoring dan management. Java menyediakan fungsi untuk
memonitor dan mengelola aplikasi yang biasanya mempunyai skala
enterprise dengan menggunakan teknologi java management
extension.
3. Enterprise desktop. Java menyediakan integrasi dengan fasilitas
desktop untuk mengatasi keterbatasan yang dimiliki oleh aplikasi
berbasis browser.
4. XML. Java juga menyediakan mendukung penggunaan XML
diantaranya adalah digital signature dan streaming API untuk XML.
2.9. XML
Extensible Markup Language (XML) termasuk ke dalam keluarga Markup
Language. Fungsi XML lebih ditujukan untuk menyimpan data dan informasi.
XML didesain untuk membawa data, mendeskripsikan data dan berfokus pada
apakah data itu (Gabrick, 2002 : 38).
XML bukan merupakan pengganti HTML. Masing-masing dikembangkan
untuk tujuan yang berbeda. Jika HTML digunakan untuk menampilkan informasi
dan berfokus pada bagaimana informasi terlihat, XML mendeskripsikan susunan
informasi dan berfokus pada informasi itu sendiri. XML terutama dibutuhkan
untuk menyusun dan menyajikan informasi dengan format yang tidak
21
mengandung format standard layaknya heading, paragraph, table dan lain
sebagainya (McLaughlin, 2001 : 9).
XML memiliki kemampuan dalam hal menyimpan informasi dan data.
Pada XML kita bisa menyimpan data baik dalam atribut maupun sebagai isi
elemen yang diletakkan diantara tag pembuka dan tag penutup. Kelebihan lain
yang dimiliki XML adalah bahwa informasi bisa di pertukarkan dari satu sistem
ke sistem yang lain (McLaughlin, 2001 : 9).
2.10. UML
Unified Modeling Language (UML) adalah notasi yang lengkap untuk
membuat visualisasi model suatu sistem. Sistem berisi informasi dan fungsi, tetapi
secara normal digunakan untuk memodelkan sistem komputer. Kesulitan yang
muncul adalah timbulnya ketidak jelasan dan salah interpretasi di dalam
pembacaan kode pemrograman untuk pemodelan obyek tersebut (O’Docherty,
2005 : 115).
Dimulai tahun 1994, Booch, Rumbough dan Jacobson merupakan tiga
tokoh yang metodologi-nya paling banyak dipakai mempelopori organisasi yang
bertujuan menyatukan metodologi-metodologi berorientasi objek, organisasi
tersebut dinamakan OMG (Object Modelling Group). Pada tahun 1995 OMG
merealisasi draft pertama dari UML (versi 0.8) dan pada tahun 1997 UML versi
1.1 muncul dan sekarang versi terbaru dari UML adalah versi 2.0. Pada tahun
1997 Booch, Runbaugh dan Jacobson menyusun tiga buku tentang UML. Sejak
saat itulah UML telah menjelma menjadi standar bahasa pemodelan untuk aplikasi
berorientasi obyek (O’Docherty, 2005 : 115).
22
UML yang digunakan dalam penelitian ini adalah Usecase diagram,
Swimlane diagram, dan Sequent diagram.
2.11. Metode Pengembangan Sistem
Metode adalah proses yang berpegang kepada disiplin untuk membuat
kumpulan model yang menjelaskan berbagai aspek dari sistem aplikasi dalam
pengembangan, menggunakan notasi yang didefinisikan. Metodologi merupakan
kumpulan metode yang diterapkan dalam siklus pengembangan aplkasi dan
diselaraskan dengan menggunakan sebuah pendekatan filosofis (Booch, 1998 :
17). Metodologi juga menjelaskan apa yang harus dihasilkan seperti dokumen,
diagram, atau kode dan apa susunan yang ada pada produk (O’Docherty, 2005 :
5).
2.12. Extreme Programming Development Lifecycle
Extreme Programming (XP) menghasilkan kualitas software dengan
menggunakan dua bagian yang mendasari kualitas, yaitu ketepatan requirement
dan inti dari produk (Baird, 2002 : 12). XP mengijinkan perubahan dalam sebuah
siklus hidup proyek dan meningkatkan kualitas dengan membetulkan kesalahan
secepatnya, dan menyediakan arus balik yang konstan pada produk. Kemampuan
untuk mengkombinasikan dua parameter tersebut adalah dengan menggunakan
XP (Baird, 2002 : 13). Oleh karena itu penulis memilih menggunakan XP sebagai
metode untuk pengembangan sistem.
23
Gambar 2.10. Perbandingan Metode Pengembangan (Baird, 2002 : 12)
Berdasarkan buku Stewart Baird Extreme Programming (XP) memiliki
lima fase dalam proses pengembangan, yaitu (Baird, 2002 : 36):
2.1.1. Exploration
Fase exproration merupakan permulaan dari projek yang akan
dilaksanakan. Dalam fase ini pengguna dan pengembang yang bekerja
bersama untuk mengeksplorasi teknologi yang memungkinkan untuk
digunakan, mendefinisikan kebutuhan, serta melengkapi daftar dari user
story (Baird, 2002 : 37) .
2.1.1. Planning
Fase ini merupakan satu tahap pendek dimana pengguna dan
pengembang sependapat pada fitur yang akan diluncurkan pertama. Fitur
(user stories) disampaikan dengan membuat proses bisnis dan teknis dari
fitur tersebut (Baird, 2002 : 38).
2.1.1. Iterations
Fase iterasion adalah dimana pekerjaan nyata dari pembangunan
terjadi. Fase ini dimulai dengan memilih user story yang mempunyai
24
prioritas tertinggi, kemudian melakukan pengembangan dengan
pembuatan kode dan melakukan pengujian (Baird, 2002 : 39).
2.1.1. Productionizing
Pada akhir dari peluncuran, produk sistem yang dikembangkan
diverifikasi untuk diterapkan dalam lingkungan pengguna. Tahap
verivikasi ini juga berguna dalam menguji produk dengan sampel user
untuk melakukan uji penerimaan terhadap peluncuran yang terakhir dari
pengembangan sistem (Baird, 2002 : 40).
2.1.1. Maintenance
Setelah pengembangan telah selesai dilakukan dan berada dalam
tahapan maintenance. Dengan menggunakan XP dapat secara konstan
melakukan evolusi, refactor, dan refining sistem yang telah
dikembangkan. Kemampuan unruk meningkatkan mutu sistem dapat
dilakukan dengan uji otomatisasi yang diverifikasi oleh sistem. Hal ini
daiharapkan dapat membantu dalam pengubahan kode program dengan
kepercayaan yang tinggi.
Perlu diperhatikan juga adalah migrasi data dan strategi
penambambalan sistem yang digunakan agar pada saat dilakukan tidak
mempengaruhi atau memperburuk kinerja dari sistem yang telah berjalan
dengan stabil (Baird, 2002 : 41).
Selain lifecycle, XP juga mempunyai pembagian peran dalam
proses pengembangan sistem, yaitu (Baird, 2002 : 46) :
25
Tabel 2.2. Extreme Programming Role’s
Group Role Responsibilities
Business Customer Membiayai, mengarahkan, memimpin bisnis
Manager Menjadwalkan pertemuan, menghadapi pengguna dan
manajemen, menjelaskan kebingungan tim,
menghadiri pertemuan.
Technical Developer /
programmer
Memperkirakan stories, menentukan tugas teknikal,
implementasi stories (menulis kode dan pengujian).
Tracker Memonitor kemajuan proyek, inisiasi tindakan jika
terjadi masalah monitoring.
Coach Memastikan XP diterapkan, mentoring, memimpin
tim teknis, Memberika pertolongsn jika dibutuhkan.
2.13. Penelitian Terdahulu Tentang Alfresco
Penelitian sejenis tentang workflow dokumen yang digunakan penulis
dalam melakukan penelitian adalah sebagai berikut (Ikhwan, 2007 : 1):
Peneliti : Choirul Ikhwan dan Hendrik
Judul Penelitian : Penanganan Proyek Pengembangan Perangkat
Lunak ..Dengan Alfresco
Tahun Penelitian : 2007
Instansi : Jurusan Teknik Informatika, Fakultas Teknologi
..Industri, Universitas Islam Indonesia
Penelitian tersebut menunjukan bahwa Alfresco sebagai Enterprise
Content Management System (ECMS) dapat mengelola suatu proyek
26
pengembangan perangkat lunak dengan cukup efektif dan cukup mudah untuk
digunakan. Penelitian yang telah dilakukan tersebut, meneliti penggunaan
Alfresco secara administratif, serta menunjukkan bahwa dari sisi pengembangan
atau kostumisasi relative lebih sulit untuk dilakukan.
2.14. Metode Pengumpulan Data
2.14.1. Pemilihan Sampel (Hasibuan , 2007 : 72)
Research sampling atau study sampling berguna untuk mencari dan
meneliti sebagian kecil dari obyek, situasi atau periswa. Sebagian individu
yang diselidiki dalam penelitian tersebut disebut sampel atau contoh,
sedangkan semua individu yang diperoleh dari sampling tersebut disebut
dengan populasi.
Populasi adalah sekelompok orang, kejadian atau segala sesuatu
yang mempunyai karakteristik tertentu. Anggota Populasi disebut elemen
populasi. Penentuan populasi berbeda dengan unit analisis. Unit analisis
bisa pada tingkat individual, kelompok atau organisasi. Jika unit analisis
adalah individual, maka populasi data akan menentukan siapa dan berapa
individu yang akan diteliti.
Teknik-teknik Sampling :
a. Tenik random sampling (probability sampling) atau pengambilan
sampling secara acak adalah teknik pengambilan sampel dimana semua
individu dalam populasi baik secara sendiri-sendiri atau bersama-sama
memiliki kesempatan yang sama untuk dipilih menjadi anggota sampel.
27
b. Teknik non random sampling (nonprobability sampling) adalah cara
pengambilan sampel dimana tidak semua anggota populasi memiliki
kesempatan yang sama untuk dipilih menjadi sampel penelitian.
Penggunaan teknik sampling nonprobability ini terkadang digunakan
dengan mempertimbangkan faktor-faktor tertentu.
2.14.2. Wawancara
Teknik pengumpulan data survei dilakukan dengan menggunakan
teknik wawancara yang berupa tanya jawab peneliti dengan responden
(narasumber). Wawancara tersebut berupa percakapan langsung (face to
face) antara dua pihak atau lebih untuk mendapatkan informasi secara
lisan dengan tujuan untuk memperoleh data yang dapat menjelaskan
ataupun menjawab suatu permasalahan penelitian. Wawancara merupakan
salah satu faktor penting dalam menggali informasi dari narasumber
(Hasibuan , 2007 : 84).
2.14.3. Kuesioner
Kuesioner merupakan daftar pertanyaan yang diajukan pada
seorang responden untuk mencari jawaban dari permasalahan yang diteliti.
Dalam kuesioner terdapat pertanyaan, pernyataan dan isian yang harus
dijawab oleh responden. Jawaban yang diberikan bias bersifat tertutup
dimana alternatif jawaban telah disediakan oleh peneliti,dan ada juga
jawaban terbuka dimana responden bebas menuliskan jawabannya tanpa
adanya paksaan maupun jawaban yang berasal dari kombinasi keduanya
28
yang merupakan campuran dari jawaban tertutup dan terbuka (Hasibuan ,
2007 : 86).
2.14.4. Studi Pustaka
Pengumpulan data dan informasi dengan cara membaca buku-buku
terkait yang dapat dijadikan bahan acuan bagi pengembangan sistem
informasi yang sedang dilakukan (Hasibuan , 2007 : 21).
29
BAB III
METODOLOGI PENELITIAN
3.1. Kerangka Berpikir
Dalam melakukan penelitian ini, penulis melakukan tahapan-tahapan
kegiatan dengan mengikuti rencana kegiatan yang tertuang dalam kerangka
berpikir.
Refine Plan
30
Gambar 3.1. Ilustrasi Kerangka Berpikir
3.2. Teknik Pengumpulan Data
Dalam penelitian ini, diperlukan data-data serta informasi sebagai bahan
yang dapat mendukung kebenaran materi uraian dan pembahasan. Teknik
pengumpulan data yang dilakukan oleh penulis adalah sebagai berikut :
a. Penentuan Sampel
Penentuan sampel dilakukan untuk pengujian akhir sistem,
menggunakan metode nonprobrability sample, yaitu sampling aksidental.
Merujuk pada buku Hasibuan, sampling aksidental merupakan teknik
penentuan sampel berdasarkan faktor spontanitas, artinya siapa saja yang
secara tidak sengaja bertemu dengan peneliti dan sesuai dengan
Penyusunan Kesimpulan
31
karakteristiknya maka orang tersebut dapat digunakan sebagai sampel.
Aksidental dipilih karena terdapat ketidakjelasan dalam jumlah populasi,
sehingga penulis menggunakan kriteria khusus dalam menentukan sampel.
Tahapan pemilihan sampel yang dilakukan oleh penulis adalah sebagai
berikut :
Gambar 3.2. Tahapan Pemilihan Sampel
b. Wawancara
Penulis melakukan pertemuan dan wawancara kepada pihak-pihak
yang nantinya akan berhubungan dengan sistem yang akan dikembangkan
ini. Pihak-pihak yang dimaksud adalah Ibu Viva Arifin sebagai sekretaris
program studi dan Bapak Zulfiandri sebagai dosen. Pada saat wawancara
dengan Ibu Viva didapatkan dokumen usulan prosedur skripsi tahun 2009
pada Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.
Kemudian penulis juga melakukan wawancara dengan mahasiswa yaitu
Aryanti Saputri dan M. Iqbal. Dari wawancara yang dilakukan kepada
Aryanti dan M.Iqbal dapat disimpulkan bahwa Aryanti membutuhkan
32
waktu selama 2 bulan, sedangkan M. Iqbal membutuhkan waktu selama 1
bulan. Hasil wawancara dapat dilihat pada lampiran wawancara.
c. Studi pustaka
Pada tahapan pengumpulan data dengan cara studi pustaka, penulis
mencari referensi-referensi yang relevan dengan objek yang akan diteliti.
Pencarian referensi dilakukan di perpustakaan, toko buku, maupun secara
online melalui internet. Setelah mendapatkan referensi-referensi yang
relevan tersebut, penulis lalu mencari informasi-informasi yang
dibutuhkan dalam penelitian ini dari referensi-referensi tersebut. Informasi
yang didapatkan digunakan dalam penyusunan landasan teori, metodologi
penelitian serta pengembangan aplikasinya secara langsung. Pustaka-
pustaka yang dijadikan acuan dapat dilihat pada halaman daftar pustaka.
d. Kuisioner
Teknik ini digunakan dalam pengujian (testing) akhir guna
mengetahui tingkat kepuasan pengguna terhadap workflow dokumen
proposal skripsi. Hasil kuesioner pengujian terdapat dalam lampiran user
acceptance test.
3.3. Metode Pengembangan Sistem
Metodologi pengembangan sistem yang digunakan pada penelitian ini
adalah Extreme Programming (XP). Pemilihan metodologi ini dilakukan dengan
alasan requirement sistem yang berubah dengan cepat, karena sistem yang
digunakan disesuaikan dengan kebutuhan user, sehingga ketika ada perubahan
yang diminta oleh client/user perubahan langsung dilakukan. Pemilihan
33
metodologi ini juga dikarenakan aplikasi yang dikembangkan berfokus pada
coding dan testing. Alasan lain adalah adanya keterlibatan user dalam
pembangunan aplikasi misalnya pada tahap exploration dengan mengumpulkan
user stories. Selain itu, XP dipilih karena waktu pengerjaan sistem yang singkat.
Merujuk pada buku Stewart Baird, XP terdiri dari beberapa kumpulan aturan dan
praktek yang berhubungan pada empat kerangka kegiatan, yaitu exploration,
planning, iteration, dan productionizing. Kegiatan yang dilakukan oleh penulis
dalam pengembangan sistem, yaitu :
a. Exploration Phase
Pada fase ini dilakukan beberapa kegiatan, yaitu :
1) Identifikasi vision
2) Identifikasi ruang lingkup dan kebutuhan sistem
3) Menentukan tools dan teknologi
4) Studi fisibilitas
Tahapan exploration ini akan menghasilkan :
1) Vision statement
2) System metaphor
3) User story
b. Planning Phase
Dalam fase ini dilakukan beberapa kegiatan, antara lain :
1) Menentukan batasan dan prioritas
2) Membuat tahapan teknis
3) Membuat rencana peluncuran
34
4) Mempersiapkan uji penerimaan pengguna.
Fase ini menghasilkan ;
1) Release schedule
2) User Acceptance Test (UAT) Criteria
c. Iterations Phase
Fase ini dilakukan beberapa kegiatan, yaitu :
1) Membuat kriteria pengujian
2) Membuat desain sederhana
3) Implementasi
4) Integrasi
5) Melakukan uji penerimaan
6) Melacak kemajuan
7) Menentukan penerimaan
Fase iteration ini menghasilkan :
1) Kriteria Pengujian
2) Listing Program
3) Hasil Pengujian
d. Productionizing Phase
Fase ini dilakukan pengujian oleh pengguna terhadap sistem yang
telah dikembangkan menggunakan kriteria uji penerimaan pengguna
sebagai parameter pengujian dengan metode pengujian black-box.
Lebih lanjut mengenai fase ini dapat dilihat pada sub-bab 4.4.
35
BAB IV
HASIL DAN PEMBAHASAN
4.1. Exploration Phase (Fase Eksplorasi)
4.1.1. Identifikasi Vision
Vision adalah suatu pandangan umum tentang kebutuhan inti
pengembangan sistem workflow dokumen. Vision menangkap kebutuhan
dan keharusan desain pengembangan sistem pada level yang sangat tinggi,
guna memberikan pemahaman tentang sistem workflow dokumen yang
akan dikembangkan.
Vision tertuang ke dalam vision statement yang menyediakan
sebuah dasar kontrak berlevel tinggi dalam penguraian tujuan dari
pengembangan sistem workflow dokumen. Costumer dan manager
bekerjasama dalam pembuatan vision statement pengembangan sistem
workflow dokumen.
Berikut adalah vision statement pengembangan sistem workflow
dokumen :
Vision Statement Date
Briefly describe the vision of project development.
Mengelola dokumen proposal skripsi pada pogram studi teknik informatika
UIN Jakarta, yang menyediakan upload atau create dokumen proposal, workflow
untuk proposal, serta pencarian untuk dokumen proposal skripsi.
36
Gambar 4.1. Prosedur Pengajuan Proposal Skripsi Yang Berjalan
Gambar 4.1. merupakan prosedur pengaajuan skripsi yang berjalan
pada Program Studi Teknik Informatika. Dari gambar 4.1. tersebut,
terdapat langkah atau tahapan sebagai berikut :
1. Mahasiswa mengajukan proposal skripsi kepada staff akademik
prodi.
2. Staff akademik prodi menyerahkan kepada sekretais prodi.
3. Sekretaris prodi menentukan kelayakan proposal skripsi. jika
layak maka akan diserahkan kepada dosen, jika tidak layak
akan dikembalikan kepada mahasiswa untuk direvisi atau
diganti dengan topik yang baru.
4. Setelah proposal dinyatakan layak, kemudian bahas dalam
sebuah rapat antara sekretaris prodi atau ketua prodi beserta
37
dosen, untuk mengetahui dosen yang bersedia untuk menjadi
pembimbing 1 dan 2.
5. Skretaris prodi menunjuk dua dosen untuk menjadi dosen
pembimbing 1 dan 2.
6. Dosen yang ditunjuk oleh sekretaris prodi memberikan
pernyataan apakah bersedia atau tidak, untuk menjadi
pembimbing skripsi. Jika salah satu dari dosen yang ditunjuk
tidak bersedia, maka sekretaris prodi kembali menunjuk dosen
yang lain. Jika kedua dosen yang ditunjuk bersedia, maka
proposal diserahkan kepada ketua prodi.
7. Ketua prodi menentukan kelayakan akhir dari hasil pengajuan
proposal dan pembimbingan skripsi. Jika ketua prodi
menyetujui maka akan dibuatkan data SK yang akan digunakan
oleh staff fakultas untuk pengajuan penerbitan surat tugas
pembimbingan. Jika ketua prodi tidak menyetujui, maka
proposal akan dikembalikan kepada sekretaris prodi untuk
dilakukan dilakukan penunjukan ulang atau mengembalikan
kepada mahasiswa untuk direvisi.
Dari proses diatas terdapat 5 tahapan yang dilakukan oleh
mahasiswa, yaitu mengajukan proposal kepada staff prodi, mengajukan
proposal kepada pembimbing 1, mengajukan proposal kepada pembimbing
2, mengajukan proposal kepada ketua prodi, dan menyerahkan hasil
persetujuan ketua prodi kepada staff fakultas.
4.1.2. Identifikasi Ruang Lingkup dan Kebutuhan Sistem
Ruang lingkup dan kebutuhan sistem untuk workflow dokumen
tertuang dalam system metaphor dan user story. System metaphor
merupakan kalimat yang merupakan abstraksi terhadap sistem yang akan
38
dikembangkan. System metaphor yang dihasilkan dalam tahapan ini adalah
sebagai berikut :
System Metaphor
Date
Briefly describe the vision of project development.
Sistem yang dikembangkan dapat diibaratkan sebagai sebuah virtual office
atau kantor maya yang memungkinkan bagi user atau costumer untuk
mengupload dokumen proposal skripsi, edit dokumen proposal, melakukan
workflow terhadap sebuah dokumen proposal, dan melakukan pencarian
terhadap dokumen proposal skripsi
User story merupakan penjelasan non-teknis dari kebutuhan sistem
yang ditulis secara singkat oleh client dalam hal ini Ibu Viva. Jika terdapat
kebutuhan yang belum didefinisikan, pengguna dapat menambahkannya
pada user story dasar (base story) atau membuat user story baru sebagai
penambahan untuk base story. Sehingga user story digunakan sebagai
salah satu alat komunikasi antara pengguna dan pangembang sistem. User
story dasar adalah sebagai berikut :
User Story Base
Story No. 1 Date Started
Developer Wahyudianto Date Completed
Briefly describe the base story of the project development.
Sistem menyediakan pengelompokan akses terhadap folder (space) untuk
tempat dokumen proposal skripsi, dapat mengupload dokumen proposal,
menyediakan proses workflow untuk dokumen proposal skripsi, dan dapat
melakukan pencarian untuk dokumen proposal skripsi, serta edit dokumen.
39
Pada sistem workflow dokumen, ruang lingkup pengembangan
adalah pada proses pengajuan proposal skripsi, yang kebutuhannya terdiri
dari proses workflow, upload dokumen, dan edit dokumen, serta pencarian
dokumen proposal skripsi. Visualisasi kebutuhan sistem dapat dilihat pada
gambar 4.2.
staff_akademik
ka_prodi
upload proposal
mahasiswa
dosen
fakultas
search proposal
workflow proposal
<<include>>
prodi
sek_prodi
staff_fakultas
pembimbing
edit proposal
<<include>>
Gambar 4.2. Diagram Usecase
Ruang lingkup dan kebutuhan yang tertuang dalam user story,
tersebut dapat dilihat pada lampiran user story.
4.1.3. Menentukan Tools dan Teknologi
Berdasarkan kebutuhan yang terdapat dalam user story base,
ditentukan bahwa teknologi yang akan digunakan adalah Alfresco Labs
Edition versi 3.0 sebagai aplikasi yang akan dikembangkan. Selain itu,
untuk menjalankan Alfresco dibutuhkan server java dalam hal ini Tomcat
40
versi 6.0.18 (J2EE) dan server database dalam hal ini MySQL
Community versi 5.1.30.
Untuk mengembangkan Alfresco, digunakan Alfresco Standard
Development Kits (SDK) Labs Edition versi 3.0 sebagai dasar
pemrograman. Eclipse digunakan sebagai tools pengembangan karena
Alfresco merupakan proyek yang dikembangkan dengan Eclipse. Serta
plugin JBPM Graphical Process Designer untuk Eclipse yang digunakan
untuk mengembangkan workflow. Tools dan teknologi yang digunakan
telah dicoba dan dipastikan dapat memenuhi kebutuhan pengguna sesuai
dengan vision statement.
4.1.4. Studi Fisibilitas
a. Sumber Daya
Jika ditinjau dari studi kelayakan sistem pada sisi sumber
daya, sistem yang dikembangkan membutuhkan sumber daya
antara lain berupa manusia, server, jaringan komputer, serta
tools yang dibutuhkan. Dan sumber daya tersebut telah tersedia
di FST. Staff FST dapat ditugaskan sebagai admin. Server
dapat menggunakan komputer yang terdapat pada PUSDATIN.
Jaringan komputer dapat menggunakan wifi fakultas atau
menggunakan sub-domain www.fstuinjkt.ac.id. Sedangkan
tools menggunakan open source software. Maka ditinjau dari
sisi sumber daya sistem ini dapat dikembangkan.
b. Teknologi
41
Dari sisi teknologi, sistem ini dikembangkan dengan
berbasis web, maka dapat diakses oleh client dengan berbagai
macam tipe web browser, seperti misalnya Mozilla Firefox,
Opera, dan Internet Explorer. Sedangkan dari sisi server,
aplikasi ini dikembangkan dengan menggunakan bahasa
pemrograman Java yang bersifat multi platform sehingga dapat
dijalankan pada sistem operasi berbasis Windows maupun
Unix. Pada penelitian ini, penulis menggunakan web browser
Mozilla Firefox dan sistem operasi berbasis Windows.
c. Waktu
Dari sisi waktu, sistem yang dikembangkan mendukung
proses workflow untuk proposal skripsi. Dengan menggunakan
metodologi pengembangan sistem extreme programming, dapat
mempercepat pengembangan sistem workflow proposal skripsi.
Sesuai dengan waktu yang dibutuhkan pada metodologi
extreme programming, waktu maksimal pengembangan sistem
adalah tiga bulan (http://www.information-age.com/channels/
development-and-integration/features/451431/the-agile-revoluti
on.thtml, diakses pada 18 November 2010, 13:52). Sehingga
pengembangan sistem workflow dokumen dapat dilakukan
dengan waktu maksimal 3 bulan.
d. Biaya
Sistem workflow dokumen yang akan dikembangkan ini
menggunakan tools dan teknologi open source dan freeware,
42
dimana pengembang tidak perlu mengeluarkan biaya untuk
mendapatkan lisensi dari tools dan teknologi yang digunakan.
Dengan demikian, ditinjau dari sisi waktu pengembangan
sistem workflow dokumen dapat dilakukan.
4.2. Planning Phase (Fase Perencanaan)
4.2.1. Menentukan Batasan dan Prioritas
Batasan dan prioritas ditentukan dari vision document dan base
story yang telah dibuat. Base story dipecah menjadi beberapa story yang
mewakili fitur atau fungsi dari sistem.
Tabel 4.1. High-Level Feature List
User Story Estimate (Weeks)
Workflow dokumen proposal 7
Tipe dan properti dokumen proposal 3
Total 10
Penulis memecah base story menjadi 2 user story berdasarkan
fungsionalitas sistem, yaitu :
a. Workflow dokumen
Story No. 1.1 Date Started
Developer Wahyudianto Date Completed
Priority 1
Story Description :
Workflow proses : mahasiswa ke staff, staff ke sek_prodi, sek_prodi
ke mahasiswa atau dosen, dosen ke sek_prodi, sek_prodi ke dosen,
43
dosen ke sek_prodi atau ka_prodi, ka_prodi selesai.
b. Tipe dan properti dokumen
Story No. 1.2 Date Started
Developer Wahyudianto Date Completed
Priority 2
Story Description :
Menyediakan content model yaitu Content Type : Proposal Skripsi,
properti : nim dan nama pada saat upload dokumen, serta untuk
pencarian dokumen dengan menambahkan nim, nama dan content
type proposal skripsi pada form pencarian dokumen proposal
4.2.2. Membuat Tahapan Teknis
Tahapan teknis dituangkan dengan membuat task story pada setiap
user story. Task story berguna untuk memberikan petunjuk tahapan
pekerjaan yang akan dilakukan untuk pengimplementasian secara teknis
dari user story.
Story No. 1.2 Date Started 10/10/10
Developer Wahyudianto Date Completed
Priority 1
Story Description :
Workflow proses : mahasiswa ke staff, staff ke sek_prodi, sek_prodi
ke mahasiswa atau dosen,dosen ke sek_prodi, sek_prodi ke dosen,
dosen ke sek_prodi atau ka_prodi, ka_prodi selesai.
Task Description Estimate
Membuat workflow model
44
Membuat workflow diagram
Membuat process definition
Membuat resource bundle
Membuat web config ui
Comments :
Date Comment Developer
Code Completed (Y/N) :
Integrated (Y/N) :
Actual Hours :
Untuk user story lebih lanjut dapat dilihat pada lampiran user story
4.2.3. Membuat Rencana Peluncuran
Rencana peluncuran merupakan tahapan perencanaan iterasi dari
pengembangan sistem dengan menggunakan hasil dari tahapan scope dan
prioritas dari user story yang ada. Story yang menjadi prioritas pertama
akan menjadi iterasi yang pertama dalam pengembangan sistem.
Berdasarkan scope dan prioritas user story, dapat dibuat rencana
peluncuran sebagai berikut :
Tabel 4.2. Rencana Peluncuran
Story Effort Iteration 0 Iteration 1 Iteration 2
Setup, space, dan security 3
Workflow dokumen 3
Tipe / properti dokumen 2
45
Tabel 4.2. menunjukan bahwa dalam pengembangan sistem
workflow dokumen, terdapat tiga iterasi dan sebuah iterasi akan terus
berjalan sebelum menyelesaikan seluruh task story dan kepuasan
costumer.
4.2.4. Mempersiapkan Uji Penerimaan Pengguna
Setelah pengembangan sistem workflow dokumen prosedur
pengajuan proposal skripsi dilakukan, perlu dilakukan proses pengujian
(testing) terhadap sistem yang telah dibuat. Pengujian yang akan dilakukan
yaitu beta testing yang dilakukan oleh pengguna sistem menggunakan data
yang sebenarnya. Pengujian tersebut menggunakan metode black box
testing.
Daftar kriteria uji penerimaan pengguna terdapat pada lampiran
User Acceptance Test (UAT) sebagai dokumentasi persiapan pengujian
terhadap workflow dokumen prosedur pengajuan proposal skripsi.
4.3. Iterations Phase (Fase Perulangan)
4.3.1. Iteration 0
Sesuai dengan rencana pelepasan pada fase perencanaan, user story
yang diimplementasikan pada iteration 0 adalah story nomor 1.1. Story
nomor 1.1 dilakukan pembuatan user dan space pada Alfresco. Data yang
digunakan untuk user merupakan sampel data dari data mahasiswa, dosen,
staff prodi, sekretaris prodi, ketua prodi, dan staff fakultas. User Story 1.1
dapat dilihat pada lampiran user story.
46
4.3.1.1. Membuat Kriteria Pengujian
a. Memeriksa akses keamanan untuk user pada space atau
folder
Langkah Pengujian :
1) Login dengan user dari masing-masing group
2) Masuk pada space skripsi
Kriteria keberhasilan :
1) User dengan level consumer hanya dapat view
content
2) User dengan level contributor dapat view dan add
content
3) User dengan level editor dapat view dan edit content
4) User dengan level coordinator dapat view, add, edit,
dan delete content
4.3.1.2. Membuat Disain Sederhana
a. User dan Group
Tabel 4.3. Daftar User dan Group
Group User Keterangan
Mahasiswa Mahasiswa Semua Mahasiswa
Dosen Dosen Semua Dosen
Prodi Ketua, Sekretaris, Staff
Akademik
P. Yusuf, B. Viva,
P. Tomi
Fakultas Staff FST P. Nicky
47
Dari table 4.3. dapat dilihat, terdapat empat group
yang terdiri dari user individu. Group mahasiswa terdiri
dari seluruh mahasiswa program studi Teknik
Informatika. Sedangkan group dosen terdiri dari seluruh
dosen program studi Teknik Informatika. Group prodi
terdiri dari staff akademik, sekretaris, dan ketua prodi.
Sedangkan untuk group fakultas terdiri dari satu user
yaitu staff akademik fakultas.
b. Space
Tabel 4.4. Daftar Direktori Space
Space Subspace Content
Proposal
Skripsi
Proposal Diajukan Proposal yang diajukan Mahasiswa
Proposal Disetujui Proposal yang telah disetujui
Data SK Data proposal yang telah disetujui
Skripsi merupakan root space atau folder. Dalam
space proposal skripsi terdiri dari tiga subspace yaitu
proposal diajukan, proposal disetujui, dan data sk.
c. Akses Pengguna
Tabel 4.5. Daftar Level Akses Pengguna
Group :User Space Proposal Skripsi
Proposal
Diajukan
Proposal
Disetujui
Data SK
Group:mahasiswa Contributor Consumer Consumer
Group:dosen Editor Editor Consumer
48
Group:prodi Consumer Consumer Consumer
Group:fakultas Consumer Consumer Consumer
User:sek prodi,ka prodi Coordinator Coordinator Coordinator
Tabel 4.5 merupakan matrik akses user terhadap
space proposal skripsi. Pada tabel tersebut user sek
prodi dan ka prodi yang termasuk group prodi
mempunyai akses coordinator yang berarti mempunyai
akses penuh. Sementara group prodi sendiri mempunyai
akses sebagai consumer. Dalam hal ini tidak menjadi
masalah, yang berarti dari grup prodi hanya sek_prodi
dan ka_prodi yang mempunyai akses coordinator,
sedangkan yang lain tetap consumer.
4.3.1.3. Implementasi
a. Instalasi dan Konfigurasi Alfresco
Dalam pengembangan sistem ini tentunya harus
melakukan instalasi dan konfigurasi Alfresco Labs 3.0
dengan MySQL.
Installasi keduanya dilakukan dengan standart.
Kemudian setting database yaitu dengan menggunakan
kode sql :
create database alfresco default character set utf8;grant all on alfresco.* to 'alfresco'@'localhost' identified by 'alfresco' with grant option;
49
grant all on alfresco.* to 'alfresco'@'localhost.localdomain' identified by 'alfresco' with grant option;
Selain database, konfigurasi juga perlu dilakukan untuk
server email. Konfigurasi dilakukan pada file custom-
repository.properties yang terletak pada
<alfresco>\tomcat\shared\classes\alfresco\extension
yaitu :
mail.host=localhostmail.port=25mail.username=alfresco@localhostmail.password=alfrescomail.from.default=alfresco@alfresco.org
Kemudian konfigurasi dilakukan pada Mercury
Mail Server sebagai sebagai server lokal. Konfigurasi
pada Mercury dilakukan dengan menambah akun email
sesuai dengan akun email pada Alfresco.
Gambar 4.3. Tampilan User Details Pada Mercury Mail
50
Konfigurasi kemudian dilakukan pada mail client
dengan menggunakan Outlook, dengan menggunakan
akun email Alfresco. Kemudian start Alfresco Server
dari start menu.
b. User dan Groups
Tahapan ini menggunakan menu administrative
console dari Alfresco dengan melakukan login sebagai
admintrator (user : admin dan password : admin).
Pembuatan akun user dikakukan dalam menu user
administration dengan contoh minimum data :
First name :
Last name :
Email :
Space allocation :
User name :
Password :
Setelah semua user telah dibuat, selanjutnya
adalah pembuatan group. Mengelola Grup merupakan
menu untuk pembuatan group. Setelah group telah
dibuat kemudian memasukan user pada group yang
telah disebutkan pada table 4.3.
c. Space
Berdasarkan desain space yang ada pada table
4.4., implemetasi space tersebut dibuat pada direktori
51
Halaman Instansi setelah login sebagai administrator.
Dengan menggunakan membuat space pada menu
toolbar. Implementasi didasarkan pada struktur hirarki
sesuai dengan design space pada table 4.4.
d. Akses Keamanan
Implementasi akses keamanan untuk space
dilakukan dengan menggunakan menu mengelola
pengguna space setelah melakukan login sebagai
admin, untuk masing-masing space yang ada dalam
space proposal skripsi. Akses yang diterapkan adalah
sesuai dengan design yang ada pada table 4.5.
Implementasi akses ini dilakukan dengan mengundang
user untuk dapat mengakses isi yang ada pada space
tersebut sesuai dengan level akses yang ditentukan.
4.3.1.4. Melakukan Uji Penerimaan
Pengujian dilakukan dengan menggunakan kriteria
pengujian pada sub bab 4.3.1.1. Pengujian yang dilakukan,
menggunakan kode R (Read), A (Add), E (Edit), dan D (Delete).
Hasil pengujian terdapat paa tabel 4.6.
Tabel 4.6. Hasil Pengujian Iterasi 0
Group:User Proposal
Diajukan
Proposal
Disetujui
Data SK Hasil
Pengujian
R A E D R A E D R A E D
Mahasiswa:mhs01 v v x x v x x x v x x x OK
52
Dosen:dosen01 v x v x v x x x v x x x OK
Prodi:staffakademik v x x x v x x x v x x x OK
Prodi:sekprodi v v v v v v v v v v v v OK
Fakultas:stafffst v x x x v x x x v x x x OK
4.3.1.5. Melacak Kemajuan
Pekerjaan yang telah diselesaikan dapat dilacak dengan
menyempurnakan user story. Dimana pada user story terdapat code
complete, integrated, dan actual hours. User story dinyatakan
selesai (complete) jika code, integrated, dan actual hours telah
diisi. Dan waktu yang digunakan untuk menyelesaikan user story
pada iterasi ini adalah 16 jam.
4.3.1.6. Menentukan Penerimaan
Berdasarkan hasil pengujian diatas dinyatakan bahwa
iteration 0 telah diterima dan dapat diluncurkan. Dengan demikian
berarti iterasi dilanjutkan pada iteration 1.
4.3.2. Iteration 1
Pada tahapan iterasi 1 ini akan dilakukan pengembangan advance
workflow pada alfresco dengan menggunakan story nomor 1.2 yang
menunjukan penjelasan prosedur proposal skripsi yang akan
dikembangkan pada Program Studi Teknik Informtika. Untuk lebih jelas
mengenai story nomor 1.2 dapat dilihat pada lampiran user story.
53
Berdasarkan observasi dan wawancara yang telah dilakukan,
proses workflow dokumen prosedur pengajuan proposal skripsi yang
dikembangkan, yaitu :
Gambar 4.4. Workflow Dokumen Proposal Skripsi
Gambar 4.8. menunjukkan adannya pemberitahuan melalui email pada
prosedur pengajuan proposal skripsi, yaitu :
1. Jika sekretaris prodi menyatakan sebuah proposal skripsi tidak layak
untuk penelitian, maka email pemberitahuan menuju kepada
mahasiswa
54
2. Jika sekretaris prodi menyatakan proposal skripsi layak, maka email
pemberitahuan menuju kapada dosen sebagai pemberitahuan bahwa
terdapat proposal yang harus diperiksa.
3. Email pemberitahuan kepada sekretais prodi bahwa dosen telah seesai
memeriksa proposal.
4. Email pemberitahuan kepada dosen untuk memeriksa dan menyatakan
kesediaan untuk menjadi dosen pembimbing.
5. Email pemberitahuan kepada mahasiswa, staff prodi, sekretaris prodi,
pembimbing 1 dan 2, serta staff fakultas jika ketua prodi menyetujui
proposal dan penunjukan pembimbing.
Dengan sistem workflow dokumen, mahasiswa hanya melakukan
dua tahapan pada gambar 4.8, yaitu upload dokumen proposal dan
memulai workflow dokumen.
4.3.2.1. Membuat Kriteria Pengujian
a. Memeriksa permulaan workflow dokumen proposal
skripsi
Langkah Pengujian:
1) Memulai workflow dengan memilih prosedur
pengajuan proposal skripsi
2) Mengisi form properti nim, nama, judul proposal,
dan konsentrasi peminatan
Hasil Diharapkan:
55
1) Sistem menampilkan Start Proposal Workflow yang
telah dimulai pada Daftar Tugas Selesai.
b. Memeriksa workflow pada tugas tinjauan sekretaris
program studi
Langkah Pengujian:
1) Meng-klik Peninjauan Sekretaris Prodi pada Daftar
Tugas Menunggu
2) Menolak atau menyetujui proposal skripsi
Hasil Diharapkan:
1) Sistem mengirim email kepada dosen atau
mahasiswa.
c. Memeriksa timer pada tugas tinjauan dosen
Langkah Pengujian:
1) Menyetujui workflow proposal pada tugas tinjauan
sekprodi
2) Menunggu hingga 3 hari tanpa tindakan pada
Tinjauan Dosen task
Hasil Diharapkan:
1) Sistem secara otomatis akan menyetujui dan
berjanjut pada proses setelah tinjauan dosen.
d. Memeriksa workflow pada tugas penunjukan
pembimbing
Langkah Pengujian:
56
1) Meng-klik Penunjukan Pembimbing pada Daftar
Tugas Menunggu
2) Memilih pembimbing untuk proposal skripsi
Hasil Diharapkan:
1) Sistem mengirim email kepada dosen yang ditunjuk
sebagai pembimbing.
e. Memeriksa workflow pada tugas tinjauan ketua program
studi
Langkah Pengujian:
1) Meng-klik Peninjauan Ketua Prodi pada Daftar
Tugas Menunggu
2) Menyetujui proposal dan pembimbingan skripsi
Hasil Diharapkan:
1) Sistem mengirim email kepada mahasiswa, staff
akademik, sekretaris prodi, pembimbing 1 dan 2,
serta staff fakultas yang memberitahukan bahwa
proposal dan pembimbingan telah disetujui, dan
agar staff fakultas membuatkan surat tugas
pembimbingan skripsi.
2) Membuat file pada space Data SK yang berisi
informasi pembimbingan skripsi, untuk pembuatan
dan penebitan surat tugas pembimbingan.
3) Meng-kopi dokumen proposal skripsi yang
ditempatkan pada space Proposal Disetujui.
57
4.3.2.2. Membuat Desain Sederhana
Pengembangan workflow dilakukan dengan menggunakan
gambar 2.2 sebagai rujukan.
a. Workflow Task Model
Gambar 4.5. Model Workflow Task
Workflow model pada gambar 4.9. merupakan metadata
atau properti dari tiap-tiap tugas yang ada pada workflow
dokumen.
58
b. Workflow Diagram
Gambar 4.6. Diagram Workflow Pada JBPM Designer
Workflow diagram pada gambar 4.10. merupakan proses
alur kerja dokumen proposal skripsi, dimana digambarkan
menggunakan notasi JBoss BPM.
4.3.2.3. Implementasi
a. Membuat Proyek Ektensi Untuk Workflow Dokumen
Proyek eksensi Alfresco dibuat dalam Eclipse IDE serta
menggunakan plugin JBPM Graphical Process Designer.
Selain Eclipse untuk pengembangan Alfresco juga dibutuhkan
Alfresco SDK, yang sesuai dengan versi Alfresco yang
digunakan untuk dijadikan sebagai library atau base code yang
59
dapat dilakukan extend atau replace. Dalam pembuatan project
perlu diperhatikan struktur folder untuk Alfresco, yaitu :
|config|alfresco|extension|model|config|alfresco|extension|workflow|data|src|java|src|web|jsp|extension|src|web|META-INF|src|web|skripsi|images
b. Membuat Workflow Task Model
Task model dibuat dengan membuat file
taWorkflowModel.xml pada folder config| alfresco| extension|
model|, sesuai dengan desain workflow task model yang telah
dibuat.
Pembuatan task model dimulai dengan pendefinisian model
untuk workflow dengan membuat model baru.
<?xml version="1.0" encoding="UTF-8"?><model name="tawf:taworkflowmodel"xmlns="http://www.alfresco.org/model/dictionary/1.0">
Setelah pendefinisian dilakukan, kemudian dilakukan import
terhadap model Alfresco yang akan di-extend untuk model
workflow.
<import uri="http://www.alfresco.org/model/bpm/1.0"prefix="bpm" />
Selanjutnya membuat pendefinisian terhadap namespace dari
model.
<namespace uri="http://www.skripsi.com/model/workflow/1.0" prefix="tawf" />
60
Pendefinisian model, import, dan namespace merupakan aturan
yang harus diikuti. Kemudian baru dapat mendefinisikan type
dan aspect dari model.
<type name="tawf:data"><parent>bpm:workflowTask</parent><properties>
<property name="tawf:nama_mhs"><type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nim">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:judul_proposal">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:konsentrasi">
<type>d:text</type><constraints>
<constraint ref="tawf:peminatan"/>
</constraints> </property><property name="tawf:nama_dosen1">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nip1">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:coment1">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nama_dosen2">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nip2">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:coment2">
<type>d:text</type><multiple>false</multiple>
61
</property></properties><overrides>
<property name="bpm:packageItemActionGroup">
<default>edit_package_item_actions</default>
</property>overrides>
</type>
Workflow task model terdiri dari dua class model yaitu
tag <type> dan <aspect>. Sedangkan tag <parent>
mereprentasikan relasi generalisasi. Tag <property>
dimodelkan sebagai atribut dari class. Sedangkan tag
<association> menunjukan adanya asosiasi yang
mengarahkan tag <source> ke tag <target>. Tag
<mandatory-aspects> dimodelkan dengan adanya
aggregasi pada setiap tag <aspect>. File
taWorkflowModelxml dapat dilihat pada lampiran listing
program.
c. Membuat Workflow Process Definition
Dengan menggunaka Eclipse yang telah terinstal plugin
process designer, dapat dibuat sebuah process definition baru
dengan folder lokasi file adalah config| alfresco| extension|
workflow|. Setelah proses baru telah dibuat, terdapat file
processdefinition.xml pada folder yang merupakan nama dari
proses yang telah dibuat. Pada file processdefinition ini
dilakukan penulisan kode dengan menggunakan JPDL.
62
Untuk membuat processdefinition pertama dilakukan
pendefinisian dari proses.
<?xml version="1.0" encoding="UTF-8"?><process-definition
xmlns="urn:jbpm.org:jpdl-3.1" name="tawf:wfproposal">
Kemudian mendaftarkan aktor-aktor yang akan terlibat
untuk mengerjakan tugas dalam workflow.
<swimlane name="staff"> <assignment
class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
<actor>#{people.getPerson('staffprodi')}</actor>
</assignment></swimlane>
Setelah semua aktor telah didefinisikan, selanjutnya
membuat tahapan tugas-tugas pada workflow.
<start-state name="start"> <task name="tawf:submitDocument"
swimlane="initiator"></task> <transition name=""
to="submit"></transition></start-state>
Untuk menghindari keterlambatan pengerjaan, terdapat
pula timer yang digunakan pada workflow.
<timer name="DosenTimer" duedate="1 minutes" transition="approve">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>logger.log("dosen review
timer expired...approving... ");</script>
</action></timer>
63
Selain timer, untuk mendukung penyampaian informasi,
terdapat pengiriman email kepada aktor workflow.
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<runas>admin</runas> script> <variable
name="tawf_nama_mhs" access="read" /> <variable
name="tawf_judul_proposal" access="read" /><variable name="initiator"
access="read" /><variable name="sek_prodi"
access="read" /><variable
name="bpm_package" access="read" /><expression>
var mail = actions.create("mail");mail.parameters.to = initiator.properties.email;mail.parameters.subject = "Request to review";mail.parameters.from = sek_prodi.properties.email;mail.parameters.text = "Assalamu'alakum. \n Diberitahukan kepada '"+tawf_nama_mhs+"' bahwa proposal skripsi anda dengan judul '"+tawf_judul_proposal+"' tidak dapat digunakan sebagai topik penelitian dan harus diganti dengan topik yang lain. \n Terima kasih.";mail.execute(bpm_package);logger.log("\nreject, " + tawf_nama_mhs + "!!!");
</expression> </script></action>
Pada akhir dari tahapan workflow, jika disetujui oleh
ketua program studi, dibuat sebuah file berisi data proposal
skripsi dan pembimbing yang digunakan untuk pembuatan
surat keterangan pembimbingan oleh staff fakultas, serta dibuat
duplikat dari proposal yang diajukan.
64
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<runas>admin</runas> <script> <variable
name="tawf_nama_mhs" access="read" /><variable name="tawf_nim"
access="read" /><variable
name="tawf_judul_proposal" access="read" /><variable
name="tawf_konsentrasi" access="read" /><variable
name="tawf_nama_dosen1" access="read" /><variable name="tawf_nip1"
access="read" /><variable
name="tawf_nama_dosen2" access="read" /><variable name="tawf_nip2"
access="read" /><variable name="msg"
access="read,write" /><variable name="initiator"
access="read" /><variable
name="bpm_package" access="read" /><variable
name="tawf_d1Assignee" access="read" /><variable
name="tawf_d2Assignee" access="read" /><variable name="target"
access="read"/><variable name="appfolder"
access="read"/><variable name="appDate"
access="read"/><expression>
var msg = "Assalamu'alakum.\n Data surat keputusan pembimbingan skripsi dari proposal :\n Nama : "+tawf_nama_mhs+"\n NIM : "+tawf_nim+"\n Program Studi : Teknik Informatika\n Konsentrasi : "+tawf_konsentrasi+"\n Judul Skripsi : "+tawf_judul_proposal+"\n\n Pembimbing\n I : "+tawf_nama_dosen1+" ("+tawf_nip1+")\n II : "+tawf_nama_dosen2+" ("+tawf_nip2+")\n Tanggal Pengesahan : "+utils.pad(appDate.getDate(),2)+"/"+utils.pad((appDate.getMonth()+1),2)+"/"+utils.pad((appDate.getYear()-100),2)+"\n Terima Kasih.\n\n Mengetahui,\n Ketua Prodi Teknik Informatika";
65
var workflowFile = target.createFile(""+utils.pad((appDate.getYear()-100),2)+"-"+utils.pad((appDate.getMonth()+1),2)+"-"+utils.pad(appDate.getDate(),2)+"-"+appDate.getHours()+"-"+appDate.getMinutes()+"-"+appDate.getSeconds()+" SK "+tawf_nama_mhs+" "+tawf_nim+".txt");
workflowFile.content=msg;workflowFile.mimetype="text/plain";workflowFile.save();bpm_package.children[0].copy(appfolder);
</expression> </script></action>
Untuk selengkapnya file processdefinition.xml dapat
dilihat pada lampiran listing program.
d. Membuat Workflow Resource Bundle
Workflow resource bundle merupakan file
taWorkflow.properties yang dibuat pada folder config| alfresco|
extension|, file ini berisi pesan yang akan ditampilkan pada web
client sebagai pengganti nama task dari task model dan nama
transition dari process definition. Pesan untuk task model
ditulis dengan format <namespace> _ <nama task model> .
type . <namespace> _ <nama task> . title / desciption.
tawf_taworkflowmodel.type.tawf_revise.title=Revisi Proposaltawf_taworkflowmodel.type.tawf_revise.description=Revisi proposal oleh Mahasiswa
Sememtara untuk penulisan transition dari process definition
mempunyai format <namespace> _ <nama processdefinition> .
66
<node> . <nama node> . transition . <nama transition> . title /
description.
tawf_wfproposal.node.revisi.transition.resubmit.title=Revisitawf_wfproposal.node.revisi.transition.resubmit.description=Resubmit After Revisiontawf_wfproposal.node.revisi.transition.done.title=Membatalkantawf_wfproposal.node.revisi.transition.done.description=Stop Approvement Proposal Skripsi
Untuk selengkapnya file taWorkflow.properties dapat dilihat
pada lampiran listing program.
e. Konfigurasi Web Client
Konfigurasi web client dilakukan untuk mendaftarkan
tampilan workflow pada web Alfresco. File konfigurasi web-
client-config-custom.xml berada pada folder config| alfresco|
extension|.
<alfresco-config><config evaluator="node-type"
condition="tawf:submitDocument"replace="true">
<property-sheet><show-property
name="tawf:nama_mhs" display-label="Nama Mahasiswa"/>
<show-property name="tawf:nim"display-label="NIM"/>
<show-property name="tawf:judul_proposal" display-label="Judul Sementara"/>
<show-property name="tawf:konsentrasi" display-label="Konsentrasi"/>
<separator name="sepCust1"display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen" read-only="true"/>
67
<show-property name="tawf:nip1"display-label="NIP" read-only="true"/>
<show-property name="tawf:coment1" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust2"display-label="Dosen Pembimbing 2" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen2" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip2"display-label="NIP" read-only="true"/>
<show-property name="tawf:coment2" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust3"display-label-id="general" component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config>
<config evaluator="node-type"condition="tawf:selection" replace="true">
<property-sheet><separator name="sep1" display-
label-id="general" component-generator="HeaderSeparatorGenerator" />
<show-association name="tawf:d1Assignee" display-label-id="wf_reviewers" />
<show-association name="tawf:d2Assignee" display-label-id="wf_reviewers" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config>
</alfresco-config>
Untuk selengkapnya file web-client-config-custom.xml dapat
dilihat pada lampiran listing program.
68
f. Konfigurasi Spring Framework
Konfigurasi untuk Spring framework yang digunakan
untuk mengintegrasikan model proyek ekstensi dengan
membuat file skripsi-model-context.xml pada folder config|
alfresco| extension|.
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD
BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans><bean id="skripsi.workflowBootstrap"
parent="workflowDeployer"><property
name="workflowDefinitions"><list>
<props><prop
key="engineId">jbpm</prop><prop
key="location">alfresco/extension/workflows/proposal-wf/processdefinition.xml</prop>
<prop key="mimetype">text/xml</prop>
<prop key="redeploy">true</prop>
</props></list>
</property><property name="models">
<list>
<value>alfresco/extension/model/taWorkflowModel.xml</value>
</list> </property> <property name="labels"> <list>
<value>alfresco.extension.taWorkflow</value> </list> </property> </bean></beans>
69
Kode diatas berguna untuk mendaftarkan file dan
package dari project yang dibuat. Pendaftaran dilakukan
dengan menentukan lokasi dari file processdefinition,
workflowmodel, dan properties yang telah dibuat. Untuk
selengkapnya file skripsi-model-context.xml dapat dilihat pada
lampiran listing program.
g. Melakukan Deployment Terhadap Process Definition
Untuk proses deployment processdefinition dapat
dilakukan langsung menggunakan process designer dengan
mengkonfigurasi server deployment sebagai berikut :
Server name : localhost
Server port : 8080
Server deployer : /alfresco/jbpm/deployprocess
Gambar 4.7. JBPM Process Deployer
70
Kemudian untuk melakukan pengujian koneksi dapat
dilakukan melalui tombol Test Connection. Jika pengujian
berhasil deployment dapat dilakukan menggunakan tombol
Deploy Process Archive.
4.3.2.4. Integrasi
Setelah tahapan implementasi dilakukan, selanjutnya
dilakukan integrasi proyek ektensi pada server Alfresco. Daftar file
yang diintegrasikan terdapat pada table dibawah.
Tabel 4.7. Daftar Integrasi 1
Deskripsi File Lokasi File
Process
definition
processdefinition.xml config|alfresco|extension|
workflow| proposal-wf|
Workflow
Task Model
taWorkflowModel.xml config|alfresco|extension|
model|
Resource
bundle
taWorkflow.properties config|alfresco|extension|
Konfigurasi
Spring
skripsi-model-
context.xml
config|alfresco|extension|
Konfigurasi
Web Client
web-client-config-
custom.xml
config|alfresco|extension|
Integrasi dilakukan dengan menggunakan Ant, untuk
melakukan debuging proyek yang akan mengarahkan target
deployment pada Alfresco dorektori. Deployment menggunakan
71
Ant dilakukan dengan membuat file build.xml yang berada pada
root folder proyek ekstensi.
<project name="Skripsi Client Extensions" default="deploy" basedir=".">
<property file="build.properties" />
<property name="label" value="skripsi" /><property name="project.dir" value="." /><property name="build.dir"
value="${project.dir}/build" />...<target name="deploy" depends="package-extension, package-amp, zip-project" description="Unzips the ${package.file.zip} into ${alfresco.web.dir}">
<unzip src="${package.file.zip}" dest="${alfresco.web.dir}" /></target>...</project>
Untuk selengkapnya file build.xml dapat dilihat pada lampiran
listing program.
4.3.2.5. Melakukan Uji Penerimaan
Pengujian dilakukan dengan menggunakan kriteria
pengujian pada sub bab 4.3.2.1. Hasil pengujian terdapat pada tabel
4.8.
Tabel 4.8. Hasil Pengujian Iterasi 1
No. Kriteria Pengujian Hasil
1 Memeriksa permulaan workflow dokumen proposal skripsi OK
2 Memeriksa workflow pada tinjauan sekprodi task OK
3 Memeriksa timer pada tinjauan dosen task OK
4 Memeriksa workflow pada penunjukan pembimbing task OK
5 Memeriksa workflow pada tinjauan kaprodi task OK
72
Dari pengujian workflow, juga didapatkan sebuah
pemetaan proses workflow, yang untuk lebih jelasnya dapat
dilihat pada table 4.9.
Tabel 4.9. Pemetaan Proses Workflow
Prosedur Diagram Process definition Database
Mahasiswa
mengajukan
(upload) proposal
skripsi
<start-state name="start"> <task name="tawf:submitDocument"swimlane="initiator"></task> <transition name=""to="pengajuan"></transition> </start-state>
Data untuk start tast ini
dapat dilihat pada
database dengan nama
tabel jbpm_task dan
jbpm_taskinstance. Dan
data untuk properti
dokumen pada tabel
jbpm_variableinstances
Staff akademik
meninjau dan
menyerahkan
kepada sekprodi
<task-node name="tinjauan staff_prodi"> <task name="tawf:staffReview"swimlane="staff"></task> <transition name="approve"to="tinjauan sek_prodi"></transition> </task-node>
Data untuk transisi
antara node dapat
dilihat pada database
dengan nama tabel
jbpm_transition.
Sedangkan untuk
swimlane terdapat pada
tabel jbpm_swimlane
Sekprodi akan
mengirim email
pemberitahuan
jika peninjauan
kelayakan dalam
tinjauan sekprodi
task diterima
var mail = actions.create("mail");
mail.parameters.to = reviewer.properties.email;mail.parameters.subject = "Request to Review”;mail.parameters.from= people.getPerson('sekprodi').properties.email;mail.parameters.text = "Assalamu'alakum...Terima kasih.";mail.execute(bpm_package);
Penggunaan action java
untuk pengiriman email
dapat dilihat dalam
database pada table
jbpm_delegation, dan
juga dapat diuji dengan
menggunakan mai
server yang telah
dikonfigurasi
Dosen meninjau
materi proposal
<timer name="DosenTimer"duedate="1 days"transition="approve"><action class=
Penggunaan action java
dapat dilihat dalam
73
skripsi dengan
timer 1 hari untuk
menghindari
kemunduran
waktu
pengambilan
keputusan
"org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"><script>
logger.log("dosenreview timer expired...approving... ");</script></action></timer>
database pada table
jbpm_delegation, yang
menyimpan action
untuk pewaktuan task
dari peninjauan dosen
Kaprodi akan
membuat data SK
dan membuat copy
dari dokumen jika
dalam peninjauan
persetujuan
pembimbingan
dan skripsi
dinyatakan
diterima
var workflowFile = target.createFile("SK "+tawf_nama_mhs+" "+tawf_nim+" "+appDate.getHours()+"-"+appDate.getMinutes()+"-"+appDate.getSeconds()+"-"+utils.pad(appDate.getDate(),2)+"-"+utils.pad((appDate.getMonth()+1),2)+"-"+utils.pad((appDate.getYear()-100),2)+".doc"); bpm_package.children[0].copy(appfolder);
Pembuatan dokumen
yang berisi data SK
dapat dilihat dalam
database pada tabel
jbpm_variableinstance
dan
alf_node_properties
4.3.2.6. Melacak Kemajuan
Melacak kemajuan dilakukan dengan menyempurnakan
user story. Waktu penyelesaian user story total pada iterasi 1 ini
adalah 296 jam.
4.3.2.7. Menentukan Penerimaan
Merujuk pada hasil pengujian untuk iterasi 1, dinyatakan
bahwa iterasi 1 diterima dan diluncurkan. Sehingga proyek dapat
dilanjutkan pada pengerjaan iterasi 2.
74
4.3.3. Iteration 2
Pada tahapan iterasi 2 ini akan dilakukan pengembangan content
type pada Alfresco dengan menggunakan story nomor 1.3. Story nomor
1.3 menunjukan penjelasan mengenai type dan aspek konten beserta
properti yang ditambahkan pada dokumen proposal skripsi yang dibuat
(diupload). Untuk lebih jelas mengenai story nomor 1.3 dapat dilihat pada
lampiran user story
4.3.3.1. Membuat Kriteria Pengujian
a.Memeriksa tipe dokumen proposal skripsi
Langkah Pengujian:
1) Mengupload dokumen dengan tipe Skripsi Document
2) Mengisi form properties nim dan nama
Hasil Diharapkan :
1) Muncul halaman dengan Tipe Konten mempunyai
pilihan Proposal Skripsi
2) Pada Rincian Dokumen terdapat properti nim dan
nama yang terisi.
b. Memeriksa versi dokumen
Langkah Pengujian:
1) Edit dokumen proposal skripsi
2) Menyelesaikan editing dokumen (Mendaftarkan)
3) Memilih nomor versi
Hasil Diharapkan:
75
1) Pada Rincian Dokumen terdapat versi dokumen pada
tab Versi History.
c. Memeriksa Pencarian untuk Proposal Skripsi
Langkah Pengujian:
1) Mencari dokumen menggunakan Pencarian Lanjutan
2) Pilih Tipe Konten : Skripsi Document dan mengisi
form nim dan nama
Hasil Diharapkan:
1) Menampilkan dokumen hasil pencarian yang sesuai
dengan nim dan nama
d. Memeriksa halaman jsp untuk halaman halaman depan
dan login
Langkah Pengujian :
1) Membuka halaman awal web Halaman Depan
2) Membuka hamalan login
3) Melakukan login dengan menginput username dan
password
Hasil Diharapkan:
1) Tampil Halaman Depan dengan tampilan getting
started jsp
2) Tampil halaman login jsp
3) Masuk ke Alfresco Explorer dan nama user tampil di
kanan atas
76
4.3.3.2. Membuat Desain Sederhana
a. Content Model
Gambar 4.8. Model Content Dokumen Proposal
Content Model pada gambar 4.13 merupakan model
properti dari dokumen proposal skripsi (doc). Dokumen
merupakan turunan dari model cmcontent Alfresco.
Dokumen mempunyai aspect strudentDetails yang terdiri
dari properti namaMhs dan nim. Dokumen juga mempunyai
aspect cm:versionable Alfresco model.
4.3.3.3. Implementasi
a. Membuat Content Model
Content model dibuat dengan membuat file taModel.xml
pada folder config| alfresco| extension| model|, sesuai dengan
desain content model pada gambar 4.13.
Pembuatan content model dimulai dengan pendefinisian
model, import, dan namespace, sama seperti tahapan
pembuatan workflow task model. Setelah pendefinisian
77
dilakukan, kemudian baru dapat mendefinisikan type dan
aspect dari dokumen.
<?xml version="1.0" encoding="UTF-8"?><model name="ta:skripsimodel"xmlns="http://www.alfresco.org/model/dictionary/1.0">
<imports> ...
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm" /> <imports> ...
<namespaces><namespace
uri="http://www.skripsi.com/model/content/1.0"prefix="ta" />
</namespaces><types>
<type name="ta:doc"><title>Skripsi Document</title><parent>cm:content</parent><mandatory-aspects>
<aspect>cm:versionable</aspect>
<aspect>ta:studentDetails</aspect></mandatory-aspects>
</type></types><aspects>
<aspect name="ta:studentDetails"><title>Mahasiswa</title><properties>
<property name="ta:namaMhs">
<title>NamaMahasiswa</title>
<type>d:text</type>
<mandatory>true</mandatory></property><property name="ta:nim">
<title>NIM</title><type>d:text</type>
<mandatory>true</mandatory></property>
</properties></aspect>
78
</aspects></model>
Untuk selengkapnya file taModel.xml dapat dilihat pada
lampiran listing program.
b. Membuat file JSP untuk halaman web
1) Membuat halaman depan
File getting-started.jsp berguna menampilkan
informasi mengenai penelitian yang dilakukan, yang
ditempatkan sebagai halaman depan dari Alfesco Explorer.
Pembuatan file getting-started.jsp ditempatkan pada folder
src| web| jsp| extension|. File getting-started.jsp berisi
sebagai berikut :
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core"prefix="f" %><%@ taglib uri="/WEB-INF/alfresco.tld"prefix="a" %><%@ taglib uri="/WEB-INF/repo.tld"prefix="r" %><%@ page import="org.alfresco.web.ui.common.PanelGenerator" %><f:verbatim><% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#dfe6ed"); %></f:verbatim>...<h:panelGroup id="title-content"><h:outputText style="font-weight:bold"value="Pengembangan Alur Kerja (Workflow) Dokumen Prosedur Pengajuan Proposal Skripsi Pada Alfresco ECM Menggunakan JBOSS BPM (Studi Kasus : Program Studi Teknik Informatika)" /><f:verbatim><br></f:verbatim>
79
</h:panelGroup>...<h:panelGroup id="browse-content"><h:outputText style="font-weight:bold"value="Menjelajahi dokumen proposal skripsi" /><f:verbatim><br></f:verbatim><h:outputText value="Masuk pada space Halaman Instansi > Proposal Skripsi untuk menjelajahi dokumen dokumen proposal skripsi" /></h:panelGroup>...<h:panelGroup id="add-content-view"><h:outputText style="font-weight:bold"value="Upload dokumen proposal skripsi" /><f:verbatim><br></f:verbatim><h:outputText value="Pada Halaman Instansi > Proposal Skripsi > Proposal Diajukan, klik Tambahkan Konten dan cari dokumen yang akan diupload serta masukan informasi tentang properti dokumen" /></h:panelGroup>...<h:panelGroup id="work-content"><h:outputText style="font-weight:bold"value="Memulai workflow proposal skripsi"/><f:verbatim><br></f:verbatim><h:outputText value="Pada halaman Rincian dari dokumen, klik Memulai Workflow Lanjutan dan pilih workflow Pengajuan Proposal Skripsi" />...<f:verbatim><% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %></f:verbatim>
Untuk selengkapnya file getting-started.jsp dapat dilihat
pada lampiran listing program.
2) Membuat halaman login
Pembuatan file login.jsp ditempatkan pada folder
src| web| jsp| extension|. Isi file login.jsp adalah :
80
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core"prefix="f" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c" %><%@ taglib uri="/WEB-INF/alfresco.tld"prefix="a" %><%@ taglib uri="/WEB-INF/repo.tld"prefix="r" %>
<%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %><%@ page import="org.alfresco.web.ui.common.PanelGenerator" %><%@ page import="javax.servlet.http.Cookie"%>
<%@ page buffer="16kb"contentType="text/html;charset=UTF-8" %><%@ page isELIgnored="false" %>
<%Cookie authCookie = AuthenticationHelper.getAuthCookie(request);
if(session.getAttribute(AuthenticationHelper.SESSION_INVALIDATED) != null){if (authCookie != null){authCookie.setMaxAge(0);response.addCookie(authCookie);}}else{if (authCookie != null && authCookie.getValue() != null){session.setAttribute(AuthenticationHelper.SESSION_USERNAME, authCookie.getValue());}}%>
81
...<f:view><f:loadBundle basename="alfresco.messages.webclient"var="msg"/>
<h:form acceptcharset="UTF-8"id="loginForm" >...<table border=0 cellspacing=4cellpadding=2><tr><td colspan=2><img src='<%=request.getContextPath()%>/skripsi/images/uinlogin.png' width=202 height=58alt="Skripsi" title="Skripsi"></td></tr>
<tr><td colspan=2><span class='mainSubTitle'><h:outputText value="#{msg.login_details}" />:</span></td></tr>
<tr><td><h:outputText value="#{msg.username}"/>:</td><td>
<h:inputText id="user-name"value="#{LoginBean.username}" validator="#{LoginBean.validateUsername}" style="width:150px" /></td></tr>
<tr><td><h:outputText value="#{msg.password}"/>:</td><td><h:inputSecret id="user-password"value="#{LoginBean.password}" validator="#{LoginBean.validatePassword}" style="width:150px" /></td></tr>...
82
<tr><td colspan="2" align=right><h:outputText value="#{AboutBean.version}"/><h:commandButton id="submit"action="#{LoginBean.login}" value="#{msg.login}" /></td></tr>
<tr><td colspan=2><h:messages style="padding-top:8px; color:red; font-size:10px" layout="table"/></td></tr></table></td>...</tr></table><% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "yellowInner"); %></td></tr></table></div><script>document.cookie="_alfTest=_alfTest"var cookieEnabled = (document.cookie.indexOf("_alfTest") != -1);if (cookieEnabled == false){document.getElementById("no-cookies").style.display = 'inline';}</script></td></tr></table>
</h:form></f:view>
<script>if(document.getElementById("loginForm:user-name").value.length == 0){
83
document.getElementById("loginForm:user-name").focus();}else{document.getElementById("loginForm:user-password").focus();}</script></r:page></body>
Untuk selengkapnya file login.jsp dapat dilihat pada
lampiran listing program.
3) Membuat halaman re-login
Halaman re-login ditampilkan pada saat pengguna
melakukan logout. Pembuatan file relogin.jsp ditempatkan
pada folder src| web| jsp| extension|. File relogin.jsp berisi
sebagai berikut :
<%@ taglib uri="http://java.sun.com/jsf/html"prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core"prefix="f" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c" %><%@ taglib uri="/WEB-INF/alfresco.tld"prefix="a" %><%@ taglib uri="/WEB-INF/repo.tld"prefix="r" %>
<%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %><%@ page import="javax.servlet.http.Cookie"%>
<%@ page buffer="16kb"contentType="text/html;charset=UTF-8" %><%@ page isELIgnored="false" %>
<%
84
if(session.getAttribute(AuthenticationHelper.SESSION_INVALIDATED) != null){Cookie authCookie = AuthenticationHelper.getAuthCookie(request);if (authCookie != null){authCookie.setMaxAge(0);response.addCookie(authCookie);}}%>
<body bgcolor="#ffffff" style="background-image: url(<%=request.getContextPath()%>/skripsi/images/uinbg.png); background-repeat: no-repeat; background-attachment: fixed">
<r:page titleId="title_relogin">
<f:view><f:loadBundle basename="alfresco.messages.webclient"var="msg"/>
<h:form acceptcharset="UTF-8"id="loggedOutForm" >...<table border=0 cellspacing=4cellpadding=2><tr><td align=center><img src='<%=request.getContextPath()%>/skripsi/images/uinlogin.png' width=202 height=58alt="Skripsi" title="Skripsi"></td></tr>
<tr><td align=center><span class='mainSubTitle'><h:outputText value="#{msg.loggedout_details}" /></span></td></tr>
<tr><td align=center>
85
<a:actionLink href="/faces/jsp/browse/browse.jsp"value="#{msg.relogin}" /></td></tr></table>...</h:form></f:view>
</r:page>
</body>
Untuk selengkapnya file relogin.jsp dapat dilihat pada
lampiran listing program.
c. Konfigurasi Web Client
Untuk melakukan konfigurasi file yang telah dibuat
pada iterasi ini, perlu ditambahkan kode kofigurasi pada
file web-client-config-custom.xml yang telah dibuat pada
iterasi 1. Content model yang telah dibuat didaftarkan pada
web client agar dapat ditampilkan pada saat upload
dokumen.
<config evaluator="string-compare"condition="Content Wizards">
<content-types><type name="ta:doc" />
</content-types></config><config evaluator="string-compare"
condition="Action Wizards"><aspects>
<aspect name="ta:studentDetails"/>
</aspects><subtypes>
<type name="ta:doc" /></subtypes><specialise-types>
<type name="ta:doc" />
86
</specialise-types></config><config evaluator="aspect-name"condition="ta:studentDetails">
<property-sheet><separator name="sepCust"
display-label="Mahasiswa" component-generator="HeaderSeparatorGenerator"/>
<show-property name="ta:namaMhs" display-label="Nama Mahasiswa" />
<show-property name="ta:nim" display-label="NIM" />
</property-sheet></config>
Content model juga diperlukan dalam pencarian dokumen
proposal untuk mempermudah pencarian berdasarkan NIM
dan nama mahasiswa. Oleh karena itu, content model juga
didaftarkan sebagai parameter pencarian.
<config evaluator="string-compare"condition="Advanced Search">
<advanced-search><content-types>
<type name="ta:doc"/>
</content-types><custom-properties>
<meta-data aspect="ta:studentDetails"property="ta:namaMhs" display-label="Nama Mahasiswa" />
<meta-data aspect="ta:studentDetails"property="ta:nim" display-label="NIM" />
</custom-properties></advanced-search>
</config>
Halaman web yang telah dibuat juga perlu untuk
didaftarkan. Konfigurasi untuk halaman login adalah
sebagai berikut :
<config><client>
87
<login-page>/jsp/extension/login.jsp</login-page>
</client></config>
Sedangkan untuk halaman depan, file getting-started.jsp
didaftarkan pada bagian dashboard web.
<config evaluator="string-compare"condition="Dashboards">
<dashboards><dashlets>
<dashlet id="getting-started" label-id="dashlet_gettingstarted_label"
description-id="dashlet_gettingstarted_desc"
jsp="/jsp/extension/getting-started.jsp"
allow-narrow="true"/>
</dashlets></dashboards>
</config>
d. Konfigurasi Spring Framework
Konfigurasi terhadap content model juga diperlukan
untuk mendaftarkan content model pada server.
<bean id="skripsi.dictionaryBootstrap"parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap"> <property name="models"> <list> <value>alfresco/extension/model/taModel.xml</value> </list> </property></bean>
e. Konfigurasi JSF
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
88
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd"><faces-config>
<navigation-rule> <description> NavigationHandler untuk proses login.jsp. </description> <from-view-id>/jsp/extension/login.jsp</from-view-id> <navigation-case> <description> NavigationHandler browse.jsp akan ditampilkan jika Action pada component UICommand login.jsp menghasilkan keluaran"success". </description> <from-outcome>success</from-outcome> <to-view-id>/jsp/browse/browse.jsp</to-view-id> </navigation-case> </navigation-rule>
<navigation-rule> <from-view-id>/jsp/*</from-view-id> <navigation-case> <from-outcome>logout</from-outcome> <to-view-id>/jsp/extension/login.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>relogin</from-outcome> <to-view-id>/jsp/extension/relogin.jsp</to-view-id> </navigation-case> </navigation-rule></faces-config>
4.3.3.4. Integrasi
Menggunakan build.xml untuk melakukan debuging
terhadap proyek ekstensi yang telah diperbaharui. Untuk kode file
yang diintegrasikan dapat dilihat pada table 4.10.
89
Tabel 4.10. Daftar Integrasi 2
Deskripsi File Lokasi File
Content model taModel.xml config|alfresco|extension|
model|
File JSP getting-started.jsp,
login.jsp, relogin.jsp
src|web|jsp|extension|
Konfigurasi
Spring
skripsi-model-
context.xml
config|alfresco|extension|
Konfigurasi Web
Client
web-client-config-
custom.xml
config|alfresco|extension|
Konfigurasi JSF faces-config.xml src|web|META-INF|
Image / logo uin.png, uinlogo.png,
uinbg.png
src|web|skripsi|images|
4.3.3.5. Uji Penerimaan
Pengujian dilakukan dengan menggunakan kriteria
pengujian pada sub bab 4.3.3.1. Hasil pengujian terdapat pada tabel
4.11.
Tabel 4.11. Hasil Pengujian Iterasi 2
No. Kriteria Pengujian Hasil
1 Memeriksa tipe dokumen Proposal Skripsi OK
2 Memeriksa versi dokumen Proposal Skripsi OK
3 Memeriksa pencarian terdepan untuk Proposal Skripsi OK
4 Memeriksa halaman jsp untuk Halaman Depan dan login OK
90
4.3.3.6. Melacak Kemajuan
Waktu yang dibutuhkan untuk menyelesaikan iterasi 2 ini
adalah 154 jam. User story yang telah diselesaikan, disempurnakan
dengan mengisi time, code, dan integrates yang telah diselesaikan.
4.3.3.7. Menetukan Penerimaan
Berdasarkan hasil pengujian iterasi 2, maka dinyatakan
bahwa iterasi 2 complete dan meluncurkan iterasi 2 ini. Dengan
demikian berarti pengembanagn sistem pada fase iterations telah
selesai dengan waktu pengerjaan selama 466 jam dan akan
berjanjut pada fase productionizing.
4.4. Productionizing Phase (Fase Produksi)
Pada fase ini dilakukan produksi terhadap sistem workflow dokumen. Fase
ini diawali dengan simulasi untuk uji prerelease sistem yang telah dikembangkan
menggunakan sampel user dan data dari Program Studi Teknik Informatika.
Pengujian dilakukan dengan metode black-box menggunakan parameter User
Acceptance Testing (UAT) yang telah dipersiapkan pada fase planning.
91
Gambar 4.9. Grafik Hasil Kuesioner Pengujian
Grafik pada gambar 4.13. merupakan grafik hasil pengujian, dimana
sumbu x adalah pertanyaan kuesioner yang terdiri dari 8 pertanyaan dan sumbu y
merupakan skala nilai jawaban dari masing-masing pertanyaan. Grafik pada
gambar 4.13. menunjukan bahwa nilai rata-rata dari jawaban kuesioner paling
rendah adalah 74, dimana menurut penulis angka tersebut menyatakan bahwa
sistem workflow dokumen yang telah dikembangkan dapat diterima oleh
pengguna sistem.
Mengacu pada hasil pengujian tersebut, dinyatakan bahwa sistem telah
selesai dikembangkan dan sistem diluncurkan dengan versi final. Lebih lanjut
mengenai testing prerelease ini dapat dilihat pada lampiran User Acceptance
Testing.
92
BAB V
PENUTUP
5.1. Kesimpulan
Berdasarkan paparan pada bab-bab sebelumnya, maka penulis dapat
mengambil kesimpulan dari penelitian ini, bahwa :
a. Sistem workflow dokumen prosedur pengajuan proposal skripsi Program
Studi Teknik Informatika dapat memberikan informasi pergerakan
dokumen proposal skripsi dan perubahan dokumen proposal skripsi, serta
menghasilkan data proposal skripsi dan pembimbing yang dapat
digunakan oleh staff fakultas untuk membuat surat keterangan
pembimbingan skripsi.
b. Penerapan metodologi Extreme Programming pada penelitian ini,
menyebabkan pengembangan sistem workflow dokumen prosedur
pengajuan proposal skripsi Program Studi Teknik Informatika berjalan
selama 466 jam, yang dimulai dari tanggal 10 April 2010 hingga 2 Juli
2010.
c. Sistem workflow dokumen prosedur pengajuan proposal skripsi Program
Studi Teknik Informatika membutuhkan waktu 7 hari melalui 2 tahapan
saja yang dilakukan oleh mahasiswa. Sedangkan pada proses manual
terdapat mahasiswa yang membutuhkan waktu 1 bulan dan minimal
mahasiswa harus melalui 5 tahapan.
93
d. Berdasarkan grafik hasil pengujian pada gambar 4.9, disimpulkan bahwa
sistem workflow dokumen dapat menggantikan prosedur manual dan dapat
digunakan pada prosedur pengajuan proposal skripsi Program Studi
Teknik Informatika UIN Jakarta
5.2. Saran
Berdasarkan paparan pengembangan sistem pada bab sebelumnya, maka
penulis dapat memberikan saran sebagai berikut :
a. Pada pengembangan berikutnya diharapkan dilakukan implementasi secara
langsung menggunakan jaringan wireless fakultas atau pada jaringan
internet, agar mahasiswa dapat mengajukan proposal skripsi secara
langsung kepada Program Studi Teknik Informatika.
b. Mengintegrasikan sistem workflow dokumen ini dengan Open Source
Content Management System sebagai front-end agar lebih memperindah
tampilan dan mempermudah penggunaan.
c. Pengembangan sistem selanjutnya dapat menambahkan proses
pembimbingan skripsi, sehingga diharapkan sistem dapat memonitor
proses pembimbingan dari awal hingga akhir pembimbingan skripsi.
94
DAFTAR PUSTAKA
Aalst, Wil van der & Hee, Kees van. (2002). Workflow Management Models,
Methods, and Systems. Cambridge : The MIT Press.
Baird, Stewart. (2002). Sams Teach Yourself Extreme Programming in 24 Hours.
Indianapolis : Sams Publishing
Booch, Grady. (1998). Object-Oriented Analysis and Design with Applications
2nd Edition. Canada : Addison Wesley.
Cumberlidge, Matt. (2007). Business Process Management with JBoss jBPM.
Birmingham : Packt Publishing.
Fischer, Layna. (2002). Workflow Handbook. Florida : Future Strategies Inc.
Friesen, Jeff. (2007). Beginning Java™ SE 6 Platform: From Novice to
Professional. Canada : Apress Inc.
Gabrick, Kurt A. & Weiss, David B. (2002). J2EE and XML Development.
Greenwich : Manning Publications Co.
Hasibuan, Zainal A. (2007). Metodologi Penelitian Pada Bibang Ilmu Komputer
dan Teknologi Informasi. Depok : Fasilkom UI.
Horton, Ivor. (2005). Ivor Horton’s Beginning Java™ 2, JDK™ 5 Edition.
Indianapolis : Wiley Publishing Inc.
Ihkwan, Choirul dan Hendrik. (2007). Penanganan Proyek Pengembangan
Perangkat Lunak Dengan Alfresco. Yogyakarta : SNATI.
JBPM JPDL User Guide. JBoss jBPM - Workflow in Java. Version 3.2.3 (2008)
95
Kurt, Cagle., Dix, Chris., Hunter, David., Kovack, Roger., Pinnock, Jon. & Rafter,
Jeff. (2003) Beginning XML, 2nd Edition-XML Schemas,
SOAP,XSLT,DOM, and SAX 2.0. Indianapolis : Wiley Publishing
Inc.
McLaughlin, Brett. (2001). Java & XML, 2nd Edition. Canada : O'Reilly
Microsoft White Paper. (2007). Service Oriented Architecture (SOA) in the Real
World.
Monnox, Alan. (2005). Rapid J2EE Development: An Adaptive Foundation for
Enterprise Applications. New Jersey : Pearson PTR.
O’Docherty, Mike. (2005). Object-Oriented Analysis and Design : Understanding
System Development with UML 2.0. West Sussex : John Wiley &
Sons Ltd.
Potts, Jeff. (2009). Alfresco Developer Guide. Birmingham : Packt Publishing.
Pressman, Roger S. (2005). Software Engineering Apractitioner’s Approach Sixth
Edition. New York : McGraw-Hill
Salatino, Mauricio. (2009). jBPM Developer Guide. Birmingham : Packt
Publishing.
Syarif, Munwar. (2009). Alfresco 3 Enterprise Content Management
Implementation. Birmingham : Packt Publishing.
Tim Penyusun Kamus Pusat Bahasa. (2008). Kamus Bahasa Indonesia. Jakarta:
Pusat Bahasa.
96
Turban, Efraim., McLean, Ephraim., & Wetherbe, James. (2001). Information
Technology for Management: Transforming Business in the Digital
Economy 3rd Edition. New York : John Wiley & Sons Inc.
Weske, Mathias. (2007). Business Process Management Concepts, Languages,
Architectures. Berlin : Springer.
White, Stephen A. (2004). Business Process Modeling Notation (BPMN).
BPMI.org.
http://wiki.alfresco.com/wiki/WorkflowAdministration. Diakses pada tanggal 2
Maret 2010, pukul 23:41WIB
http://www.information-age.com/channels/development-andintegration/features/
451431/the-agile-revolution.thtml. Diakses pada tanggal 18
November 2010, pukul 13:52 WIB
C-1
LAMPIRAN LISTING PROGRAM
taWorkflowModel.xml
<?xml version="1.0" encoding="UTF-8"?><model name="tawf:taworkflowmodel"xmlns="http://www.alfresco.org/model/dictionary/1.0">
<description>Skripsi Workflow Model</description><author>Dnt</author><imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0"prefix="d" />
<import uri="http://www.alfresco.org/model/bpm/1.0"prefix="bpm" />
<import uri="http://www.alfresco.org/model/content/1.0"prefix="cm"/>
<import uri="http://www.alfresco.org/model/system/1.0"prefix="sys"/>
</imports><namespaces>
<namespace uri="http://www.skripsi.com/model/workflow/1.0"prefix="tawf" />
</namespaces><constraints>
<constraint name="tawf:peminatan" type="LIST"><parameter name="allowedValues">
<list><value>Multimedia</value><value>Networking</value><value>Software Engineering</value>
</list></parameter>
</constraint></constraints><types>
<type name="tawf:data"><parent>bpm:workflowTask</parent><properties>
<property name="tawf:nama_mhs"><type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nim">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:judul_proposal">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:konsentrasi">
<type>d:text</type><constraints>
<constraint ref="tawf:peminatan"/>
</constraints> </property><property name="tawf:nama_dosen1">
<type>d:text</type><multiple>false</multiple>
</property>
C-2
<property name="tawf:nip1"><type>d:text</type><multiple>false</multiple>
</property><property name="tawf:coment1">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nama_dosen2">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:nip2">
<type>d:text</type><multiple>false</multiple>
</property><property name="tawf:coment2">
<type>d:text</type><multiple>false</multiple>
</property></properties><overrides>
<property name="bpm:packageItemActionGroup"><default>edit_package_item_actions</default></property>
</overrides></type><type name="tawf:submitDocument">
<parent>tawf:data</parent><overrides>
<property name="tawf:nama_mhs"><mandatory>true</mandatory></property>
<property name="tawf:nim"><mandatory>true</mandatory></property>
<property name="tawf:judul_proposal"><mandatory>true</mandatory></property>
<property name="tawf:konsentrasi"></property><property name="bpm:packageItemActionGroup"><default>add_package_item_actions</default></property>
</overrides></type><type name="tawf:staffReview">
<parent>tawf:data</parent><overrides>
<property name="bpm:packageItemActionGroup"><default>read_package_item_actions</default></property>
</overrides></type><type name="tawf:sekjurApprove">
<parent>tawf:data</parent><overrides>
<property name="bpm:packageItemActionGroup"><default>edit_package_item_actions</default></property>
</overrides></type><type name="tawf:dospem_1Approve">
<parent>tawf:data</parent><overrides>
<property name="tawf:nama_dosen1"><mandatory>true</mandatory></property>
C-3
<property name="tawf:nip1"><mandatory>true</mandatory></property>
<property name="tawf:coment1"></property><property name="bpm:packageItemActionGroup"><default>edit_package_item_actions</default></property>
</overrides></type><type name="tawf:dospem_2Approve">
<parent>tawf:data</parent><overrides>
<property name="tawf:nama_dosen2"><mandatory>true</mandatory></property>
<property name="tawf:nip2"></property><property name="tawf:coment2"></property><property name="bpm:packageItemActionGroup"><default>edit_package_item_actions</default></property>
</overrides></type><type name="tawf:kaprodiReview">
<parent>tawf:data</parent><overrides>
<property name="bpm:packageItemActionGroup"><default>read_package_item_actions</default></property>
</overrides></type><type name="tawf:revise">
<parent>tawf:data</parent><overrides>
<property name="bpm:packageItemActionGroup"><default>edit_package_item_actions</default>
</property></overrides>
</type><type name="tawf:selection">
<parent>bpm:workflowTask</parent><overrides>
<property name="bpm:packageItemActionGroup"><default>read_package_item_actions</default>
</property></overrides><mandatory-aspects>
<aspect>tawf:d1Assignee</aspect> <aspect>tawf:d2Assignee</aspect> </mandatory-aspects>
</type><type name="tawf:reviewTask">
<parent>bpm:workflowTask</parent><overrides>
<property name="bpm:packageItemActionGroup"><default>read_package_item_actions</default>
</property></overrides>
</type></types><aspects>
<aspect name="tawf:d1Assignee"> <associations> <association name="tawf:d1Assignee"> <source> <mandatory>false</mandatory>
C-4
<many>false</many> </source> <target>
<class>cm:person</class> <mandatory>false</mandatory> <many>false</many>
</target> </association> </associations> </aspect> <aspect name="tawf:d2Assignee"> <associations> <association name="tawf:d2Assignee"> <source> <mandatory>false</mandatory> <many>false</many> </source> <target>
<class>cm:person</class> <mandatory>false</mandatory> <many>false</many>
</target> </association> </associations> </aspect>
</aspects></model>
taModel.xml
<?xml version="1.0" encoding="UTF-8"?><model name="ta:skripsimodel"xmlns="http://www.alfresco.org/model/dictionary/1.0">
<description>Skripsi Model</description><author>Dnt</author><imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0"prefix="d" />
<import uri="http://www.alfresco.org/model/content/1.0"prefix="cm" />
<import uri="http://www.alfresco.org/model/system/1.0"prefix="sys" />
</imports><namespaces>
<namespace uri="http://www.skripsi.com/model/content/1.0"prefix="ta" />
</namespaces><types>
<type name="ta:doc"><title>Skripsi Document</title><parent>cm:content</parent><mandatory-aspects>
<aspect>cm:versionable</aspect><aspect>ta:studentDetails</aspect>
</mandatory-aspects></type>
</types><aspects>
<aspect name="ta:studentDetails"><title>Mahasiswa</title><properties>
C-5
<property name="ta:namaMhs"><title>Nama Mahasiswa</title><type>d:text</type><mandatory>true</mandatory>
</property><property name="ta:nim">
<title>NIM</title><type>d:text</type><mandatory>true</mandatory>
</property></properties>
</aspect></aspects>
</model>
Processdefinition.xml
<?xml version="1.0" encoding="UTF-8"?><process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="tawf:wfproposal"> <swimlane name="initiator"></swimlane> <swimlane name="staff"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{people.getPerson('staffprodi')}</actor> </assignment> </swimlane> <swimlane name="sek_prodi"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{people.getPerson('sekprodi')}</actor> </assignment> </swimlane> <swimlane name="ka_prodi"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{people.getPerson('kaprodi')}</actor> </assignment> </swimlane> <swimlane name="dosen"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <pooledactors>#{people.getGroup('GROUP_dosen')}</pooledactors> </assignment> </swimlane> <swimlane name="pembimbing1"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{tawf_d1Assignee}</actor> </assignment> </swimlane> <swimlane name="pembimbing2"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{tawf_d2Assignee}</actor> </assignment> </swimlane> <start-state name="start"> <task name="tawf:submitDocument" swimlane="initiator"></task> <transition name="" to="pengajuan"></transition> </start-state> <node name="pengajuan">
C-6
<event type="node-enter"> <script>
<variable name="approveCount" access="write"/><expression>
approveCount = 0;</expression>
</script> </event> <transition name="" to="tinjauan staff_prodi"></transition> </node> <task-node name="tinjauan staff_prodi" end-tasks="true"> <task name="tawf:staffReview" swimlane="staff"> <timer name="StaffTimer" duedate="1 minutes" transition="approve">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>logger.log("dosen review timer
expired...approving... ");</script>
</action> </timer>
</task> <transition name="approve" to="tinjauan sek_prodi"></transition> </task-node> <task-node name="tinjauan sek_prodi"> <task name="tawf:sekjurApprove" swimlane="sek_prodi"></task> <transition name="approve" to="dosen"></transition> <transition name="reject" to="revisi"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <runas>admin</runas> <script> <variable name="tawf_nama_mhs" access="read" /> <variable name="tawf_judul_proposal" access="read" />
<variable name="initiator" access="read" /><variable name="sek_prodi" access="read" /><variable name="bpm_package" access="read" /><expression>
var mail = actions.create("mail");mail.parameters.to =
initiator.properties.email;mail.parameters.subject = "Request to Revise";mail.parameters.from =
people.getPerson('sekprodi').properties.email;mail.parameters.text = "Assalamu'alakum. \n
Diberitahukan kepada '"+tawf_nama_mhs+"' bahwa proposal skripsi anda dengan judul '"+tawf_judul_proposal+"' harap diperbaiki atau dilakukan revisi. \n Terima kasih.";
mail.execute(bpm_package);logger.log("\nreject, " + tawf_nama_mhs +
"!!!");</expression>
</script> </action> </transition> </task-node> <node name="dosen">
<action class="org.alfresco.repo.workflow.jbpm.ForEachFork"> <foreach>#{people.getMembers(people.getGroup('GROUP_dosen'))}</foreach> <var>reviewer</var> </action> <event type="node-enter"> <script>
C-7
<variable name="wf_approveCount" access="write" /><expression>
wf_approveCount = 0;</expression>
</script> </event> <transition name="" to="tinjauan dosen"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <runas>admin</runas> <script> <variable name="tawf_nama_mhs" access="read" /> <variable name="tawf_judul_proposal" access="read" />
<variable name="sek_prodi" access="read" /><variable name="reviewer" access="read" /><variable name="bpm_package" access="read" /><expression>
var mail = actions.create("mail");mail.parameters.to =
reviewer.properties.email;mail.parameters.subject = "Request to Review";mail.parameters.from =
people.getPerson('sekprodi').properties.email;mail.parameters.text = "Assalamu'alakum. \n
Diharapkan kesediaan anda untuk meninjau proposal skripsi dengan judul "+tawf_judul_proposal+" oleh "+tawf_nama_mhs+" pada akun alfresco anda. \n Terima kasih.";
mail.execute(bpm_package);logger.log("\nreview paralel, " +
tawf_nama_mhs + "!!!");</expression>
</script> </action> <actionclass="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="wf_reviewerCount" access="write"/>
<expression>people.getMembers(people.getGroup('GROUP_dosen')).length;</expression> </script> </action> </transition> </node> <task-node name="tinjauan dosen" end-tasks="true"> <task name="tawf:reviewTask"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{reviewer}</actor> </assignment> <!-- 1 days -->
<timer name="DosenTimer" duedate="1 minutes"transition="approve">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>logger.log("dosen review timer
expired...approving... ");</script>
</action></timer>
</task> <transition name="approve" to="join1"> <script>
C-8
<variable name="wf_approveCount" access="read,write"/>
<expression>wf_approveCount = wf_approveCount+1;
</expression></script>
</transition> <transition name="reject" to="join1"></transition> </task-node> <join name="join1"> <transition name="" to="peninjauan"></transition> </join> <decision name="peninjauan"> <transition name="" to="penunjukan pembimbing"> <condition>#{wf_approveCount == wf_reviewerCount}</condition> </transition> </decision> <task-node name="penunjukan pembimbing"> <task name="tawf:selection" swimlane="sek_prodi"></task> <transition name="approve" to="fork1"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <runas>admin</runas> <script> <variable name="tawf_nama_mhs" access="read" /> <variable name="tawf_judul_proposal" access="read" />
<variable name="initiator" access="read" /><variable name="tawf_d1Assignee" access="read" /><variable name="tawf_d2Assignee" access="read" /><variable name="bpm_package" access="read" /><expression>
var mail = actions.create("mail");var mailto = new
Array(tawf_d1Assignee,tawf_d2Assignee);var i = 0;for(i=0;i<mailto.length;i++){
mail.parameters.to = mailto[i].properties.email;
mail.parameters.subject = "Request to Adviser";
mail.parameters.from = people.getPerson('sekprodi').properties.email;
mail.parameters.text = "Assalamu'alakum. \n Diharapkan kesediaan anda untuk menjadi pembimbing skripsi dengan judul "+tawf_judul_proposal+" oleh "+tawf_nama_mhs+", silahkan review pada akun alfresco anda. \n Terima kasih.";
mail.execute(bpm_package);logger.log("\n review pembimbing "+
mailto[i]);}
</expression> </script> </action> </transition> </task-node> <fork name="fork1"> <transition name="" to="tinjauan pembimbing1"></transition> <transition name="tr2" to="tinjauan pembimbing2"></transition> </fork> <task-node name="tinjauan pembimbing1"> <task name="tawf:dospem_1Approve" swimlane="pembimbing1"></task> <transition name="approve" to="join2">
C-9
<action name="action1"class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="approveCount" access="read,write"/>
<expression> approveCount = approveCount + 1;
</expression> </script> </action> </transition> <transition name="reject" to="join2"></transition> </task-node> <task-node name="tinjauan pembimbing2"> <task name="tawf:dospem_2Approve" swimlane="pembimbing2"></task> <transition name="approve" to="join2"> <action name="action1"class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="approveCount" access="read,write"/>
<expression> approveCount = approveCount + 1;
</expression> </script> </action> </transition> <transition name="reject" to="join2"></transition> </task-node> <join name="join2"> <transition name="" to="tinjauan pembimbing"></transition> </join> <decision name="tinjauan pembimbing"> <transition name="reject" to="penunjukan pembimbing"> <script>
<variable name="approveCount" access="read,write"/><expression>
approveCount = 0;</expression>
</script> </transition> <transition name="" to="tinjauan ka_prodi"> <condition>#{approveCount == 2}</condition> </transition> </decision> <task-node name="tinjauan ka_prodi"> <task name="tawf:kaprodiReview" swimlane="ka_prodi"></task> <transition name="approve" to="end1"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="target" access="write"/> <expression>companyhome.childByNamePath("Proposal Skripsi/Data SK");</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="appfolder" access="write"/>
<expression>companyhome.childByNamePath("Proposal Skripsi/Proposal Disetujui");</expression> </script> </action>
C-10
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script><variable name="appDate" access="write,read"/><expression>
new Date();</expression>
</script> </action>
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <runas>admin</runas> <script> <variable name="tawf_nama_mhs" access="read" />
<variable name="tawf_nim" access="read" /><variable name="tawf_judul_proposal" access="read" /><variable name="tawf_konsentrasi" access="read" /><variable name="tawf_nama_dosen1" access="read" /><variable name="tawf_nip1" access="read" /><variable name="tawf_nama_dosen2" access="read" /><variable name="tawf_nip2" access="read" /><variable name="msg" access="read,write" /><variable name="initiator" access="read" /><variable name="bpm_package" access="read" /><variable name="tawf_d1Assignee" access="read" /><variable name="tawf_d2Assignee" access="read" /><variable name="target" access="read"/><variable name="appfolder" access="read"/><variable name="appDate" access="read"/>
<expression>var msg = "Assalamu'alakum.\n Data surat
keputusan pembimbingan skripsi dari proposal :\n Nama : "+tawf_nama_mhs+"\n NIM : "+tawf_nim+"\n Program Studi : Teknik Informatika\n Konsentrasi : "+tawf_konsentrasi+"\n Judul Skripsi : "+tawf_judul_proposal+"\n\n Pembimbing\n I : "+tawf_nama_dosen1+" ("+tawf_nip1+")\n II : "+tawf_nama_dosen2+" ("+tawf_nip2+")\n Tanggal Pengesahan : "+utils.pad(appDate.getDate(),2)+"/"+utils.pad((appDate.getMonth()+1),2)+"/"+utils.pad((appDate.getYear()-100),2)+"\n Terima Kasih.\n\n Mengetahui,\n Ketua Prodi Teknik Informatika";
var mail = actions.create("mail");var mailto = new
Array(initiator,tawf_d1Assignee,tawf_d2Assignee,people.getPerson('sekprodi'),people.getPerson('staffprodi'),people.getPerson('stafffst'));
var i = 0;for(i=0;i<mailto.length;i++){
mail.parameters.to = mailto[i].properties.email;
mail.parameters.subject = "Complete Workflow Proposal Skripsi";
mail.parameters.from = people.getPerson('kaprodi').properties.email;
mail.parameters.text = "\n" + msg;mail.execute(bpm_package);logger.log("\n" + msg+" \nfrom "+
mailto[i]);}
var workflowFile = target.createFile(""+utils.pad((appDate.getYear()-100),2)+"-"+utils.pad((appDate.getMonth()+1),2)+"-"+utils.pad(appDate.getDate(),2)+"-"+appDate.getHours()+"-
C-11
"+appDate.getMinutes()+"-"+appDate.getSeconds()+" SK "+tawf_nama_mhs+" "+tawf_nim+".txt"); workflowFile.content=msg; workflowFile.mimetype="text/plain"; workflowFile.save(); bpm_package.children[0].copy(appfolder);
</expression> </script> </action> </transition> <transition name="reject" to="tinjauan sek_prodi"> <action name="action1"class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="approveCount" access="read,write"/>
<expression> approveCount = 0;
</expression> </script> </action> </transition> </task-node> <task-node name="revisi"> <task name="tawf:revise" swimlane="initiator"></task> <transition name="done" to="end1"></transition> <transition name="resubmit" to="pengajuan"></transition> </task-node> <end-state name="end1"></end-state></process-definition>
taWorkflow.properties
# scWorkflowModel related stringstawf_taworkflowmodel.type.tawf_submitDocument.title=Start Proposal Workflowtawf_taworkflowmodel.type.tawf_submitDocument.description=Submit proposal skripsitawf_taworkflowmodel.type.tawf_staffReview.title=Peninjauan Staff Akademiktawf_taworkflowmodel.type.tawf_staffReview.description=Review proposal oleh Stafftawf_taworkflowmodel.type.tawf_sekjurApprove.title=Peninjauan Sekretaris Proditawf_taworkflowmodel.type.tawf_sekjurApprove.description=Approvement proposal oleh Sekproditawf_taworkflowmodel.type.tawf_selection.title=Penunjukan Pembimbingtawf_taworkflowmodel.type.tawf_selection.description=Penunjukan Pembimbing oleh Sekproditawf_taworkflowmodel.type.tawf_reviewTask.title=Peninjauan Dosentawf_taworkflowmodel.type.tawf_reviewTask.description=Review proposal oleh Dosentawf_taworkflowmodel.type.tawf_dospem_1Approve.title=Peninjauan Pembimbing 1tawf_taworkflowmodel.type.tawf_dospem_1Approve.description=Approvement Pembimbing 1tawf_taworkflowmodel.type.tawf_dospem_2Approve.title=Peninjauan Pembimbing 2tawf_taworkflowmodel.type.tawf_dospem_2Approve.description=Approvement Pembimbing 2tawf_taworkflowmodel.type.tawf_kaprodiReview.title=Peninjauan Kaprodi
C-12
tawf_taworkflowmodel.type.tawf_kaprodiReview.description=Review proposal oleh Kaproditawf_taworkflowmodel.type.tawf_revise.title=Revisi Proposaltawf_taworkflowmodel.type.tawf_revise.description=Revisi proposal oleh Mahasiswa# processdefinition related stringstawf_wfproposal.workflow.title=Pengajuan Proposal Skripsi tawf_wfproposal.workflow.description=Review dan Approvment Prodi TI tawf_wfproposal.node.tinjauan\staff_prodi.transition.approve.title=Menyetujuitawf_wfproposal.node.tinjauan\staff_prodi.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\sek_prodi.transition.approve.title=Menyetujuitawf_wfproposal.node.tinjauan\sek_prodi.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\ sek_prodi.transition.reject.title=Menolaktawf_wfproposal.node.tinjauan\sek_prodi.transition.reject.description=Reject Proposaltawf_wfproposal.node.tinjauan\ dosen.transition.approve.title=Menyetujuitawf_wfproposal.node.tinjauan\dosen.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\ dosen.transition.reject.title=Menolaktawf_wfproposal.node.tinjauan\ dosen.transition.reject.description=Reject Proposaltawf_wfproposal.node.penunjukan\pembimbing.transition.approve.title=Menyetujuitawf_wfproposal.node.penunjukan\pembimbing.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\pembimbing1.transition.approve.title=Menyetujuitawf_wfproposal.node.tinjauan\pembimbing1.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\pembimbing1.transition.reject.title=Menolaktawf_wfproposal.node.tinjauan\pembimbing1.transition.reject.description=Reject Proposaltawf_wfproposal.node.tinjauan\pembimbing2.transition.approve.title=Menyetujuitawf_wfproposal.node.tinjauan\pembimbing2.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\pembimbing2.transition.reject.title=Menolaktawf_wfproposal.node.tinjauan\pembimbing2.transition.reject.description=Reject Proposaltawf_wfproposal.node.tinjauan\ka_prodi.transition.approve.title=Menyetujuitawf_wfproposal.node.tinjauan\ka_prodi.transition.approve.description=Approve Proposaltawf_wfproposal.node.tinjauan\ ka_prodi.transition.reject.title=Menolaktawf_wfproposal.node.tinjauan\ka_prodi.transition.reject.description=Reject Proposaltawf_wfproposal.node.revisi.transition.resubmit.title=Revisitawf_wfproposal.node.revisi.transition.resubmit.description=Resubmit After Revisiontawf_wfproposal.node.revisi.transition.done.title=Membatalkantawf_wfproposal.node.revisi.transition.done.description=Stop Approvement Proposal Skripsi
web-client-config-costum.xml
C-13
<alfresco-config><config>
<client><login-page>/jsp/extension/login.jsp</login-page>
</client></config><config evaluator="string-compare" condition="Content Wizards">
<content-types><type name="ta:doc" />
</content-types></config><config evaluator="string-compare" condition="Action Wizards">
<aspects><aspect name="ta:studentDetails"/>
</aspects><subtypes>
<type name="ta:doc" /></subtypes><specialise-types>
<type name="ta:doc" /></specialise-types>
</config><config evaluator="aspect-name" condition="ta:studentDetails">
<property-sheet><separator name="sepCust" display-label="Mahasiswa"
component-generator="HeaderSeparatorGenerator"/><show-property name="ta:namaMhs" display-label="Nama
Mahasiswa" /><show-property name="ta:nim" display-label="NIM" />
</property-sheet></config><config evaluator="string-compare" condition="Advanced Search">
<advanced-search><content-types>
<type name="ta:doc" /></content-types><custom-properties>
<meta-data aspect="ta:studentDetails"property="ta:namaMhs" display-label="Nama Mahasiswa" />
<meta-data aspect="ta:studentDetails"property="ta:nim" display-label="NIM" />
</custom-properties></advanced-search>
</config><config evaluator="string-compare" condition="Dashboards">
<dashboards><dashlets>
<dashlet id="getting-started" label-id="dashlet_gettingstarted_label"
description-id="dashlet_gettingstarted_desc"jsp="/jsp/extension/getting-started.jsp"allow-narrow="true" />
</dashlets></dashboards>
</config><config evaluator="node-type" condition="tawf:submitDocument"
replace="true"><property-sheet>
<show-property name="tawf:nama_mhs" display-label="Nama Mahasiswa"/>
<show-property name="tawf:nim" display-label="NIM"/><show-property name="tawf:judul_proposal" display-
label="Judul Sementara"/>
C-14
<show-property name="tawf:konsentrasi" display-label="Konsentrasi"/>
<separator name="sepCust1" display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip1" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment1" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust2" display-label="Dosen Pembimbing 2" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen2" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip2" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment2" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust3" display-label-id="general"component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config>
<config evaluator="node-type" condition="tawf:staffReview"replace="true">
<property-sheet><show-property name="tawf:nama_mhs" display-
label="Nama Mahasiswa" read-only="true"/><show-property name="tawf:nim" display-label="NIM"
read-only="true"/><show-property name="tawf:judul_proposal" display-
label="Judul Sementara" read-only="true"/><show-property name="tawf:konsentrasi" display-
label="Konsentrasi" read-only="true"/><separator name="sepCust1" display-label="Dosen
Pembimbing 1" component-generator="HeaderSeparatorGenerator" /><show-property name="tawf:nama_dosen1" display-
label="Nama Dosen" read-only="true"/><show-property name="tawf:nip1" display-label="NIP"
read-only="true"/><show-property name="tawf:coment1" component-
generator="TextAreaGenerator" display-label="Komentar" read-only="true"/><separator name="sepCust2" display-label="Dosen
Pembimbing 2" component-generator="HeaderSeparatorGenerator" /><show-property name="tawf:nama_dosen2" display-
label="Nama Dosen" read-only="true"/><show-property name="tawf:nip2" display-label="NIP"
read-only="true"/><show-property name="tawf:coment2" component-
generator="TextAreaGenerator" display-label="Komentar" read-only="true"/><separator name="sepCust3" display-label-id="general"
component-generator="HeaderSeparatorGenerator" /><show-property name="bpm:comment" component-
generator="TextAreaGenerator" display-label="Komentar"/></property-sheet>
</config><config evaluator="node-type" condition="tawf:sekjurApprove"
replace="true"><property-sheet>
<show-property name="tawf:nama_mhs" display-label="Nama Mahasiswa" read-only="true"/>
C-15
<show-property name="tawf:nim" display-label="NIM"read-only="true"/>
<show-property name="tawf:judul_proposal" display-label="Judul Sementara" read-only="true"/>
<show-property name="tawf:konsentrasi" display-label="Konsentrasi" read-only="true"/>
<separator name="sepCust1" display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip1" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment1" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust2" display-label="Dosen Pembimbing 2" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen2" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip2" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment2" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust3" display-label-id="general"component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config><config evaluator="node-type" condition="tawf:dospem_1Approve"
replace="true"><property-sheet>
<show-property name="tawf:nama_mhs" display-label="Nama Mahasiswa" read-only="true"/>
<show-property name="tawf:nim" display-label="NIM"read-only="true"/>
<show-property name="tawf:judul_proposal" display-label="Judul Sementara" read-only="true"/>
<show-property name="tawf:konsentrasi" display-label="Konsentrasi" read-only="true"/>
<separator name="sepCust1" display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen"/>
<show-property name="tawf:nip1" display-label="NIP"/><show-property name="tawf:coment1" component-
generator="TextAreaGenerator" display-label="Komentar"/><separator name="sepCust2" display-label="Dosen
Pembimbing 2" component-generator="HeaderSeparatorGenerator" /><show-property name="tawf:nama_dosen2" display-
label="Nama Dosen" read-only="true"/><show-property name="tawf:nip2" display-label="NIP"
read-only="true"/><show-property name="tawf:coment2" component-
generator="TextAreaGenerator" display-label="Komentar" read-only="true"/></property-sheet>
</config><config evaluator="node-type" condition="tawf:dospem_2Approve"
replace="true"><property-sheet>
<show-property name="tawf:nama_mhs" display-label="Nama Mahasiswa" read-only="true"/>
<show-property name="tawf:nim" display-label="NIM"read-only="true"/>
C-16
<show-property name="tawf:judul_proposal" display-label="Judul Sementara" read-only="true"/>
<show-property name="tawf:konsentrasi" display-label="Konsentrasi" read-only="true"/>
<separator name="sepCust1" display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip1" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment1" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust2" display-label="Dosen Pembimbing 2" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen2" display-label="Nama Dosen"/>
<show-property name="tawf:nip2" display-label="NIP"/><show-property name="tawf:coment2" component-
generator="TextAreaGenerator" display-label="Komentar"/></property-sheet>
</config><config evaluator="node-type" condition="tawf:kaprodiReview"
replace="true"><property-sheet>
<show-property name="tawf:nama_mhs" display-label="Nama Mahasiswa" read-only="true"/>
<show-property name="tawf:nim" display-label="NIM"read-only="true"/>
<show-property name="tawf:judul_proposal" display-label="Judul Sementara" read-only="true"/>
<show-property name="tawf:konsentrasi" display-label="Konsentrasi" read-only="true"/>
<separator name="sepCust1" display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip1" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment1" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust2" display-label="Dosen Pembimbing 2" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen2" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip2" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment2" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust3" display-label="Surat Keputusan" component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config>
<config evaluator="node-type" condition="tawf:revise"replace="true">
<property-sheet><show-property name="tawf:nama_mhs" display-
label="Nama Mahasiswa" read-only="true"/><show-property name="tawf:nim" display-label="NIM"
read-only="true"/>
C-17
<show-property name="tawf:judul_proposal" display-label="Judul Sementara" read-only="true"/>
<show-property name="tawf:konsentrasi" display-label="Konsentrasi" read-only="true"/>
<separator name="sepCust1" display-label="Dosen Pembimbing 1" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen1" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip1" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment1" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust2" display-label="Dosen Pembimbing 2" component-generator="HeaderSeparatorGenerator" />
<show-property name="tawf:nama_dosen2" display-label="Nama Dosen" read-only="true"/>
<show-property name="tawf:nip2" display-label="NIP"read-only="true"/>
<show-property name="tawf:coment2" component-generator="TextAreaGenerator" display-label="Komentar" read-only="true"/>
<separator name="sepCust3" display-label-id="general"component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config><config evaluator="node-type" condition="tawf:reviewTask"
replace="true"><property-sheet>
<separator name="sep1" display-label-id="general"component-generator="HeaderSeparatorGenerator" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config><config evaluator="node-type" condition="tawf:selection"
replace="true"><property-sheet>
<separator name="sep1" display-label-id="general"component-generator="HeaderSeparatorGenerator" />
<show-association name="tawf:d1Assignee" display-label="Pembimbing 1" />
<show-association name="tawf:d2Assignee" display-label="Pembimbing 2" />
<show-property name="bpm:comment" component-generator="TextAreaGenerator" display-label="Komentar"/>
</property-sheet></config>
<!-- custom bahasa indonesia --><config evaluator="string-compare" condition="Languages"
replace="true"> <!-- the list of available language files --> <languages> <language locale="id_ID">Indonesian</language> </languages> </config></alfresco-config>
C-18
skripsi-model-context.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'><beans> <bean id="skripsi.dictionaryBootstrap"parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap"> <property name="models"> <list> <value>alfresco/extension/model/taModel.xml</value> </list> </property> </bean>
<bean id="wf.workflowBootstrap" parent="workflowDeployer"><property name="workflowDefinitions">
<list><props>
<prop key="engineId">jbpm</prop><prop
key="location">alfresco/extension/workflows/proposal-wf/processdefinition.xml</prop>
<prop key="mimetype">text/xml</prop><prop key="redeploy">true</prop>
</props></list>
</property><property name="models">
<list><value>alfresco/extension/model/taWorkflowModel.xml</value> </list> </property> <property name="labels"> <list> <value>alfresco.extension.taWorkflow</value> </list> </property> </bean></beans>
getting-started.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %><%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %><%@ page import="org.alfresco.web.ui.common.PanelGenerator" %><f:verbatim><% PanelGenerator.generatePanelStart(out, request.getContextPath(), "blue", "#dfe6ed"); %></f:verbatim><h:panelGrid columns="3" cellpadding="2" cellspacing="2" border="0"width="100%" style="background-colour:##dfe6ed" rowClasses="alignTop"id="outer-panel"><h:panelGrid columns="1" cellpadding="2" cellspacing="2" border="0"id="links-panel"><h:outputText style="font-size: 11px; font-weight:bold; color:#004488"value="" /><h:panelGrid columns="2" cellpadding="2" cellspacing="2" border="0"id="demo-panel">
C-19
<h:graphicImage value="/skripsi/images/uin.png" width="190" height="190"/><h:panelGroup id="demo-link"><a:actionLink href="http://www.alfresco.com/products/ecm/demonstrations/"target="new" style="font-weight:bold" value="" /><f:verbatim><br></f:verbatim><h:outputText value="" /></h:panelGroup></h:panelGrid></h:panelGrid><h:panelGrid columns="1" cellpadding="2" cellspacing="2" border="0"id="tasks-panel"><h:outputText style="font-size: 11px; font-weight:bold; color:#004488"value="" /><h:panelGrid columns="2" cellpadding="2" cellspacing="2" border="0"id="title-content-panel"><h:panelGroup id="title-content"><h:outputText style="font-weight:bold" value="Pengembangan Alur Kerja (Workflow) Dokumen Prosedur Pengajuan Proposal Skripsi Pada Alfresco ECM Menggunakan JBOSS BPM (Studi Kasus : Program Studi Teknik Informatika)"/><f:verbatim><br></f:verbatim></h:panelGroup></h:panelGrid><h:panelGrid columns="2" cellpadding="2" cellspacing="2" border="0"id="browse-panel"><h:graphicImage value="/images/icons/gettingstarted_browse.gif"width="32" height="32" /><h:panelGroup id="browse-content"><h:outputText style="font-weight:bold" value="Menjelajahi dokumen proposal skripsi" /><f:verbatim><br></f:verbatim><h:outputText value="Masuk pada space Halaman Instansi > Proposal Skripsi untuk menjelajahi dokumen dokumen proposal skripsi" /></h:panelGroup></h:panelGrid><h:panelGrid columns="2" cellpadding="2" cellspacing="2" border="0"id="add-content-panel"><h:graphicImage value="/images/icons/add_content_large.gif" width="32"height="32" /><h:panelGroup id="add-content-view"><h:outputText style="font-weight:bold" value="Upload dokumen proposal skripsi" /><f:verbatim><br></f:verbatim><h:outputText value="Pada Halaman Instansi > Proposal Skripsi > Proposal Diajukan, klik Tambahkan Konten dan cari dokumen yang akan diupload serta masukan informasi tentang properti dokumen" /></h:panelGroup></h:panelGrid><h:panelGrid columns="2" cellpadding="2" cellspacing="2" border="0"id="work-panel"><h:graphicImage value="/images/icons/workflow_large.gif" width="32"height="32" /><h:panelGroup id="work-content"><h:outputText style="font-weight:bold" value="Memulai workflow proposal skripsi" /><f:verbatim><br></f:verbatim><h:outputText value="Pada halaman Rincian dari dokumen, klik Memulai Workflow Lanjutan dan pilih workflow Pengajuan Proposal Skripsi" /></h:panelGroup></h:panelGrid></h:panelGrid></h:panelGrid>
C-20
<f:verbatim><% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "blue"); %></f:verbatim>
login.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %><%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %><%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %><%@ page import="org.alfresco.web.ui.common.PanelGenerator" %><%@ page import="javax.servlet.http.Cookie" %>
<%@ page buffer="16kb" contentType="text/html;charset=UTF-8" %><%@ page isELIgnored="false" %><%Cookie authCookie = AuthenticationHelper.getAuthCookie(request);if (session.getAttribute(AuthenticationHelper.SESSION_INVALIDATED) != null){if (authCookie != null){authCookie.setMaxAge(0);response.addCookie(authCookie);}}else{if (authCookie != null && authCookie.getValue() != null){session.setAttribute(AuthenticationHelper.SESSION_USERNAME, authCookie.getValue());}}%><body bgcolor="#ffffff" style="background-image: url(<%=request.getContextPath()%>/skripsi/images/uinbg.png); background-repeat: no-repeat; background-attachment: fixed"><r:page titleId="title_login"><f:view><%-- load a bundle of properties I18N strings here --%><f:loadBundle basename="alfresco.messages.webclient" var="msg"/><h:form acceptcharset="UTF-8" id="loginForm" ><table width=100% height=98% align=center><tr width=100% align=center><td valign=middle align=center width=100%><table cellspacing=0 cellpadding=0 border=0><tr><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_01.gif' width=7height=7 alt=''></td><td background='<%=request.getContextPath()%>/images/parts/white_02.gif'><img src='<%=request.getContextPath()%>/images/parts/white_02.gif'width=7 height=7 alt=''></td><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_03.gif' width=7height=7 alt=''></td></tr>
C-21
<tr><td background='<%=request.getContextPath()%>/images/parts/white_04.gif'><img src='<%=request.getContextPath()%>/images/parts/white_04.gif'width=7 height=7 alt=''></td><td bgcolor='white'><table border=0 cellspacing=4 cellpadding=2><tr><td colspan=2><img src='<%=request.getContextPath()%>/skripsi/images/uinlogin.png'width=202 height=58 alt="Skripsi" title="Skripsi"></td></tr><tr><td colspan=2><span class='mainSubTitle'><h:outputText value="#{msg.login_details}" />:</span></td></tr><tr><td><h:outputText value="#{msg.username}"/>:</td><td><h:inputText id="user-name" value="#{LoginBean.username}" validator="#{LoginBean.validateUsername}" style="width:150px" /></td></tr><tr><td><h:outputText value="#{msg.password}"/>:</td><td><h:inputSecret id="user-password" value="#{LoginBean.password}" validator="#{LoginBean.validatePassword}" style="width:150px" /></td></tr><tr><td colspan="2" align=right><h:outputText value="#{AboutBean.version}"/><h:commandButton id="submit" action="#{LoginBean.login}" value="#{msg.login}" /></td></tr><tr><td colspan=2><h:messages style="padding-top:8px; color:red; font-size:10px"layout="table" /></td></tr></table></td><td background='<%=request.getContextPath()%>/images/parts/white_06.gif'><img src='<%=request.getContextPath()%>/images/parts/white_06.gif'width=7 height=7 alt=''></td></tr><tr><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_07.gif' width=7height=7 alt=''></td><td background='<%=request.getContextPath()%>/images/parts/white_08.gif'><img src='<%=request.getContextPath()%>/images/parts/white_08.gif'width=7 height=7 alt=''></td><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_09.gif' width=7height=7 alt=''></td></tr></table>
C-22
<div id="no-cookies" style="display:none"><table cellpadding="0" cellspacing="0" border="0" style="padding-top:16px;"><tr><td><% PanelGenerator.generatePanelStart(out, request.getContextPath(), "yellowInner", "#ffffcc"); %><table cellpadding="0" cellspacing="0" border="0"><tr><td valign=top style="padding-top:2px" width=20><h:graphicImage url="/images/icons/info_icon.gif" width="16" height="16"/></td><td class="mainSubText"><h:outputText value="#{msg.no_cookies}" /></td></tr></table><% PanelGenerator.generatePanelEnd(out, request.getContextPath(), "yellowInner"); %></td></tr></table></div><script>document.cookie="_alfTest=_alfTest"var cookieEnabled = (document.cookie.indexOf("_alfTest") != -1);if (cookieEnabled == false){document.getElementById("no-cookies").style.display = 'inline';}</script></td></tr></table></h:form></f:view><script>if (document.getElementById("loginForm:user-name").value.length == 0){document.getElementById("loginForm:user-name").focus();}else{document.getElementById("loginForm:user-password").focus();}</script></r:page></body>
relogin.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %><%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %><%@ page import="org.alfresco.web.app.servlet.AuthenticationHelper" %><%@ page import="javax.servlet.http.Cookie" %><%@ page buffer="16kb" contentType="text/html;charset=UTF-8" %><%@ page isELIgnored="false" %><%
C-23
if (session.getAttribute(AuthenticationHelper.SESSION_INVALIDATED) != null){Cookie authCookie = AuthenticationHelper.getAuthCookie(request);if (authCookie != null){authCookie.setMaxAge(0);response.addCookie(authCookie);}}%><body bgcolor="#ffffff" style="background-image: url(<%=request.getContextPath()%>/skripsi/images/uinbg.png); background-repeat: no-repeat; background-attachment: fixed"><r:page titleId="title_relogin"><f:view><f:loadBundle basename="alfresco.messages.webclient" var="msg"/><h:form acceptcharset="UTF-8" id="loggedOutForm" ><table width=100% height=90% align=center><tr width=100% align=center><td valign=middle align=center width=100%><table cellspacing=0 cellpadding=0 border=0><tr><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_01.gif' width=7height=7 alt=''></td><td background='<%=request.getContextPath()%>/images/parts/white_02.gif'><img src='<%=request.getContextPath()%>/images/parts/white_02.gif'width=7 height=7 alt=''></td><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_03.gif' width=7height=7 alt=''></td></tr><tr><td background='<%=request.getContextPath()%>/images/parts/white_04.gif'><img src='<%=request.getContextPath()%>/images/parts/white_04.gif'width=7 height=7 alt=''></td><td bgcolor='white'><table border=0 cellspacing=4 cellpadding=2><tr><td align=center><img src='<%=request.getContextPath()%>/skripsi/images/uinlogin.png'width=202 height=58 alt="Skripsi" title="Skripsi"></td></tr><tr><td align=center><span class='mainSubTitle'><h:outputText value="#{msg.loggedout_details}" /></span></td></tr><tr><td align=center><a:actionLink href="/faces/jsp/browse/browse.jsp" value="#{msg.relogin}" /></td></tr></table><h:messages style="padding-top:8px; color:red; font-size:10px"layout="table" /></td><td background='<%=request.getContextPath()%>/images/parts/white_06.gif'><img src='<%=request.getContextPath()%>/images/parts/white_06.gif'width=7 height=7 alt=''></td></tr>
C-24
<tr><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_07.gif' width=7height=7 alt=''></td><td background='<%=request.getContextPath()%>/images/parts/white_08.gif'><img src='<%=request.getContextPath()%>/images/parts/white_08.gif'width=7 height=7 alt=''></td><td width=7><img src='<%=request.getContextPath()%>/images/parts/white_09.gif' width=7height=7 alt=''></td></tr></table></td></tr></table></h:form></f:view></r:page></body>
faces-config.xml
<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd"><faces-config> <navigation-rule> <description>
NavigationHandler untuk proses login.jsp. </description> <from-view-id>/jsp/extension/login.jsp</from-view-id> <navigation-case> <description>
NavigationHandler browse.jsp akan ditampilkan jika Action pada component UICommand login.jsp menghasilkan keluaran "success".
</description> <from-outcome>success</from-outcome> <to-view-id>/jsp/browse/browse.jsp</to-view-id> </navigation-case> </navigation-rule> <navigation-rule> <from-view-id>/jsp/*</from-view-id> <navigation-case> <from-outcome>logout</from-outcome> <to-view-id>/jsp/extension/login.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>relogin</from-outcome> <to-view-id>/jsp/extension/relogin.jsp</to-view-id> </navigation-case> </navigation-rule></faces-config>
build.properties
alfresco.sdk.dir=E:/doc_data/dev/docman/alfresco_instal/alfresco-labs-sdk-3Stable/libalfresco.web.dir=C:/Alfresco/tomcat/webapps/alfresco
C-25
build.xml
<?xml version="1.0" encoding="UTF-8"?><project name="Skripsi Client Extensions" default="deploy" basedir=".">
<property file="build.properties" /><property name="label" value="skripsi" /><property name="project.dir" value="." /><property name="build.dir" value="${project.dir}/build" /><property name="bin.dir" value="${project.dir}/bin" /><property name="project.name" value="skripsi-client-extensions" /><property name="package.file.zip"
value="${build.dir}/${project.name}.zip" /><property name="package.file.jar"
value="${build.dir}/${project.name}.jar" /><property name="project.file.zip"
value="${build.dir}/${project.name}-project-${label}.zip" /> <property name="package.file.amp" value="${build.dir}/${project.name}.amp" /> <property name="module.id" value="com.skripsi.module.extensions.Core" /> <property name="module.dir" value="/alfresco/module" />
<property name="source.dir" value="${project.dir}/src" /><property name="config.dir" value="${project.dir}/config" /><property name="data.dir" value="${project.dir}/data" /><property name="web.dir" value="${source.dir}/web" /><property name="extension.dir" value="/alfresco/extension" /><path id="classpath.server">
<fileset dir="${alfresco.sdk.dir}/server" includes="**/*.jar" />
</path><path id="classpath.remote">
<fileset dir="${alfresco.sdk.dir}/remote" includes="**/*.jar" />
</path><path id="classpath.build"> <fileset dir="${build.dir}" includes="**/*.jar" />
</path><target name="clean" description="Removes all generated files">
<delete dir="${build.dir}" /><delete dir="${bin.dir}" />
</target><target name="clean-tomcat" description="Removes deployed
extension directory, lib/skripsi*.jar, and skripsi/" ><delete dir="${alfresco.web.dir}/WEB-
INF/classes/alfresco/extension" /><delete dir="${alfresco.web.dir}/WEB-
INF/classes/alfresco/module" /><delete dir="${alfresco.web.dir}/jsp/extension" /><delete dir="${alfresco.web.dir}/skripsi" /><delete file="${alfresco.web.dir}/WEB-INF/lib/skripsi-
alfresco.jar" /></target><target name="setup" description="Creates the ${build.dir} and
${bin.dir} directories"><mkdir dir="${build.dir}" /><mkdir dir="${bin.dir}" />
</target><target name="package-extension" depends="setup, package-jar"
description="Creates a zip called ${package.file.zip} which can be unzipped on top of an exploded Alfresco web app">
<delete file="${package.file.zip}" />
C-26
<zip destfile="${package.file.zip}" update="true"><zipfileset dir="${config.dir}${extension.dir}"
prefix="WEB-INF/classes${extension.dir}" /><zipfileset file="${package.file.jar}" prefix="WEB-
INF/lib" /><zipfileset dir="${web.dir}" excludes="META-INF/**"
/></zip>
</target><target name="package-amp" depends="setup, package-jar"
description="Packages the customizations as an Alfresco module in ${package.file.amp}">
<delete file="${package.file.amp}" /><zip destfile="${package.file.amp}">
<zipfileset file="${package.file.jar}" prefix="lib" />
<zipfileset dir="${web.dir}" prefix="web" /><zipfileset
file="${config.dir}${module.dir}/${module.id}/module.properties" />
<zipfileset file="${config.dir}${module.dir}/${module.id}/file-mapping.properties" />
<zipfileset file="${config.dir}${module.dir}/${module.id}/module-context.xml" prefix="config${module.dir}/${module.id}" />
<zipfileset file="${config.dir}${module.dir}/${module.id}/skripsi-core.properties" prefix="config${module.dir}/${module.id}" />
<zipfileset dir="${data.dir}" prefix="config${module.dir}/${module.id}/bootstrap" />
<zipfileset dir="${config.dir}${extension.dir}/model" prefix="config${module.dir}/${module.id}/model" />
<!--<zipfileset file="${config.dir}${extension.dir}/skripsi-model-context.xml" prefix="config${module.dir}/${module.id}" />-->
<zipfileset file="${config.dir}${extension.dir}/web-client-config-custom.xml" prefix="config${module.dir}/${module.id}/ui" />
</zip></target><target name="install-amp" depends="package-amp" description="Uses
the Alfresco MMT to install the AMP into ${alfresco.war.path}"> <java dir="." fork="true" classname="org.alfresco.repo.module.tool.ModuleManagementTool">
<classpath refid="classpath.server"/> <arg line="install ${package.file.amp} ${alfresco.war.path} -force -verbose"/> </java> </target> <target name="deploy-amp" depends="install-amp" description="Unzips the AMP'd WAR file into ${alfresco.web.dir}"> <unzip src="${alfresco.war.path}" dest="${alfresco.web.dir}" /> </target>
<target name="deploy" depends="package-extension, package-amp, zip-project" description="Unzips the ${package.file.zip} into ${alfresco.web.dir}">
<unzip src="${package.file.zip}" dest="${alfresco.web.dir}" />
</target><target name="zip-project" depends="setup" description="Zips the
entire Eclipse project as-is into ${project.file.zip}"><delete file="${project.file.zip}" />
C-27
<zip destfile="${project.file.zip}"><zipfileset dir="${project.dir}" excludes="build/**
bin/**" prefix="${project.name}-${label}" /></zip>
</target><target name="compile" description="Compiles src to ${bin.dir}">
<mkdir dir="${bin.dir}" /><javac srcdir="${source.dir}/java" destdir="${bin.dir}"
source="1.5" target="1.5" debug="on" fork="yes" deprecation="on"><classpath refid="classpath.server"/><classpath refid="classpath.remote"/>
</javac><copy todir="${bin.dir}">
<fileset dir="${source.dir}/java" excludes="**/*.java"/>
</copy></target><target name="package-jar" depends="setup, compile"
description="Jars up the compiled classes and ${web.dir}/META-INF into ${package.file.jar}">
<delete file="${package.file.jar}" /><jar destfile="${package.file.jar}">
<fileset dir="${bin.dir}" includes="com/**" /><zipfileset dir="${web.dir}/META-INF"
excludes="*.zip" prefix="META-INF" /></jar>
</target><target name="package-junit-config-jar" depends="setup"
description="Jars up essential context files needed for the junit tests">
<delete file="${junit.config.file.jar}" /><jar destfile="${junit.config.file.jar}" >
<zipfileset dir="${config.dir}${extension.dir}" includes="model/**, someco-behavior-context.xml, someco-model-context.xml, someco-services-context.xml" prefix="alfresco/extension" />
</jar></target>
</project>
E-1
LAMPIRAN TAMPILAN APLIKASI
1. Halaman Depan
2. Halaman Login
E-2
3. Halaman Pengguna
4. Upload Dokumen (Tambahkan konten)
E-3
5. Proterti Dokumen
6. Rincian Dokumen
E-4
7. Edit Dokumen
8. Salinan Dokumen
E-5
9. Versi Baru Dokumen
10. History Versi Dokumen
E-6
11. Memulai Workflow
12. Properti Workflow
E-7
13. Ringkasan Workflow
14. History Workflow
E-8
15. Pembeitahuan Melalui Email
16. Pencarian Dokumen
D-1
LAMPIRAN USER ACCEPTANCE TEST (UAT)
Berikut adalah pengujian sistem yang dilakukan oleh pengguna sistem
workflow dokumen prosedur pengajuan proposal skripsi.
Mahasiswa
No. Nama Tes Langkah Tes Kriteria Hasil Hasil Tes
1 Upload Dokumen
a. User meng-klik icon Tambahkan Konten b. User mengupload dokumen c. User memilih Type : Skripsi Document d. User mengisi form Nama dan NIM e. User meng-klik OK f. User mengisi nim dan nama g. User meng-klik OK
Sistem menampilkan file yang telah diupload
OK
2 Start Workflow Dokumen
a. User meng-klik icon Memulai Workflow Lanjutan b. User memilih Pengajuan Proposal Skripsi c. User mengisi form Properties d. User meng-klik Berikutnya dan Selesai
Sistem menampilkan Start Proposal Workflow pada Daftar Tugas Selesai
OK
3 Revisi Workflow Dokumen
a. User meng-klik Revisi Proposal pada Daftar Tugas Menunggu b. User meng-klik icon Memeriksa pada kolom Action c. User memilih Dalam Space saat ini dan klik OK d. User meng-klik Mendaftarkan e. User mengupload dokumen yang telah direvisi f. User meng-klik Revisi
Sistem menampilkan Revise Proposal pada Daftar Tugas Selesai
OK
D-2
4 Pencarian Dokumen
a. User meng-klik icon Pilihab untuk Pencarian b. User memilih Pencarian Lanjutan c. User memilih Jenis Konten : Skripsi Document dan mengisi Nama dan NIM d. User meng-klik Pencarian
Sistem menampilkan hasil pencarian dokumen dengan properties nim dan nama
OK
5 Edit Dokumen a. User meng-klik icon Edit Offline b. User mendownload dokumen c. User meng-klik icon Upload Versi Baru d. User mengupload dokumen e. User memilih jenis dari versi dokumen f. User meng-klik Selesai
Sistem menampilkan Versi History pada Rincian dokumen
OK
6 Email Pemberitahuan Penolakan
Menolak pada Peninjauan Sekretaris Prodi
User dapat melihat emailpada mail client
OK
7 Email Pemberitahuan Data SK
Menyetujui pada Peninjauan Kaprodi
User dapat melihat email pada mail client
OK
Sekretaris Program Studi
No. Nama Tes Langkah Tes Kriteria Hasil Hasil Tes
1 Menyetujui Peninjauan Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User meng-klik Menyetujui
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
2 Menolak Peninjauan Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User meng-klik Menolak
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
D-3
3 Penunjukan Pembimbing
a. User meng-klik Tugas Penunjukan Pembimbing pada Daftar Tugas Menunggu b. User memilih pembimbing 1 dan 2 c. user meng-klik Menyetujui
Sistem menampilkan Tugas Penunjukan Pembimbing pada Daftar Tugas Selesai
OK
4 Pencarian Dokumen
a. User meng-klik icon Pilihab untuk Pencarian b. User memilih Pencarian Lanjutan c. User memilih Jenis Konten : Skripsi Document dan mengisi Nama dan NIM d. User meng-klik Pencarian
Sistem menampilkan hasil pencarian dokumen dengan properties nim dan nama
OK
5 Edit Dokumen a. User meng-klik icon Edit Offline b. User mendownload dokumen c. User meng-klik icon Upload Versi Baru d. User mengupload dokumen e. User memilih jenis dari versi dokumen f. User meng-klik Selesai
Sistem menampilkan Versi History pada Rincian dokumen
OK
6 Hapus Dokumen
a. User meng-klik icon Delete b. User meng-klik icon OK
Dokumen yang dihapus telah hilang dari space
OK
7 Email Pemberitahuan Data SK
Menyetujui pada Peninjauan Kaprodi
User dapat melihat email pada mail client
OK
Dosen
No. Nama Tes Langkah Tes Kriteria Hasil Hasil Tes
1 Menyetujui Peninjauan Pembimbing Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User mengisi form Dosen Pembimbingc. User meng-klik Menyetujui
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
2 Menolak Peninjauan Pembimbing Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User mengisi form Dosen Pembimbing c. User meng-klik Menolak
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
D-4
3 Menyetujui Peninjauan Dosen Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User meng-klik Menyetujui
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
4 Menolak Peninjauan Dosen Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User meng-klik Menolak
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
5 Pencarian Dokumen
a. User meng-klik icon Pilihab untuk Pencarian b. User memilih Pencarian Lanjutan c. User memilih Jenis Konten : Skripsi Document dan mengisi Nama dan NIM d. User meng-klik Pencarian
Sistem menampilkan hasil pencarian dokumen dengan properties nim dan nama
OK
6 Edit Dokumen a. User meng-klik icon Edit Offline b. User mendownload dokumen c. User meng-klik icon Upload Versi Baru d. User mengupload dokumen e. User memilih jenis dari versi dokumen f. User meng-klik Selesai
Sistem menampilkan Versi History pada Rincian dokumen
OK
7 Email Pemberitahuan Peninjauan
Menyetujui pada Peninjauan Sekretaris Prodi
User dapat melihat email pada mail client
OK
8 Email Pemberitahuan Penunjukan
Menyetujui pada Penunjukan Pembimbing
User (Pembimbing) dapat melihat email pada mail client
OK
9 Email Pemberitahuan Data SK
Menyetujui pada Peninjauan Kaprodi
User (Pembimbing) dapat melihat email pada mail client
OK
D-5
Ketua Program Studi
No. Nama Tes Langkah Tes Kriteria Hasil Hasil Tes
1 Menyetujui Peninjauan Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggu b. User meng-klik Menyetujui
Sistem membuat dokumen Data SK, proposal, dan mengirim email kepada initiator, pembimbing, sekretaris prodi, staff prodi, dan staff fakultas
OK
2 Menolak Peninjauan Workflow
a. User meng-klik Tugas pada Daftar Tugas Menunggub. User meng-klik Menolak
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
3 Pencarian Dokumen
a. User meng-klik icon Pilihab untuk Pencarian b. User memilih Pencarian Lanjutan c. User memilih Jenis Konten : Skripsi Document dan mengisi Nama dan NIM d. User meng-klik Pencarian
Sistem menampilkan hasil pencarian dokumen dengan properties nim dan nama
OK
4 Edit Dokumen a. User meng-klik icon Edit Offline b. User mendownload dokumen c. User meng-klik icon Upload Versi Baru d. User mengupload dokumen e. User memilih jenis dari versi dokumen f. User meng-klik Selesai
Sistem menampilkan Versi History pada Rincian dokumen
OK
5 Hapus Dokumen
a. User meng-klik icon Delete b. User meng-klik icon OK
Dokumen yang dihapus telah hilang dari space
OK
D-6
Staff Akademik
No. Nama Tes Langkah Tes Kriteria Hasil Hasil Tes
1 Menyetujui Peninjauan Workflow
a. User meng-klik Staff Review pada My Task To Do b. User meng-klik Menyetujui
Sistem menampilkan Tugas Peninjauan pada Daftar Tugas Selesai
OK
2 Pencarian Dokumen
a. User meng-klik icon Pilihab untuk Pencarian b. User memilih Pencarian Lanjutan c. User memilih Jenis Konten : Skripsi Document dan mengisi Nama dan NIM d. User meng-klik Pencarian
Sistem menampilkan hasil pencarian dokumen dengan properties nim dan nama
OK
3 Email Pemberitahuan Data SK
Menyetujui pada Peninjauan Kaprodi
User dapat melihat email pada mail client
OK
Staff Fakultas
No. Nama Tes Langkah Tes Kriteria Hasil Hasil Tes
1 Pencarian Dokumen
a. User meng-klik icon Pilihab untuk Pencarian b. User memilih Pencarian Lanjutan c. User memilih Jenis Konten : Skripsi Document dan mengisi Nama dan NIM d. User meng-klik Pencarian
Sistem menampilkan hasil pencarian dokumen dengan properties nim dan nama
OK
2 Email Pemberitahuan Data SK
Menyetujui pada Peninjauan Kaprodi
User dapat melihat email pada mail client
OK
Kuesioner Hasil
Dengan menggunakan teknik sampling aksidental, kuesioner diberikan
kepada 10 pengguna pada Program Studi Teknik Informatika UIN Jakarta
yang terdiri dari mahasiswa, dosen, staff akademik, sekretaris program studi,
D-7
ketua program studi, dan staff fakultas. Berikut adalah pernyataan-pernyataan
yang diajukan dalam kuesioner guna mengetahui kesuksesan pengembangan
sistem workflow dokumen prosedur pengajuan proposal skripsi.
1. Sistem workflow dokumen dapat memberikan informasi prosedur
pengajuan proposal skripsi.
2. Tampilan interface sistem workflow dokumen user friendly.
3. Tampilan interface sistem workflow dokumen menarik.
4. Data yang digunakan pada sistem workflow dokumen akurat.
5. Sistem workflow dokumen lebih nyaman dari pada menggunakan sistem
manual .
6. Sistem workflow dokumen mempercepat proses pengajuan proposal
skripsi.
7. Workflow dalam sistem workflow dokumen ini sesuai dengan workflow
pada Program Studi Teknik Informatika.
8. Sistem workflow dokumen ini dapat menggantikan proses kerja secara
manual.
Pilihan jawaban dari pernyataan- pernyataan diatas yaitu :
1. Sangat Setuju : Nilai 10
2. Setuju : Nilai 8
3. Ragu-Ragu : Nilai 6
4. Tidak Setuju : Nilai 4
5. Sangat Tidak Setuju : Nilai 2
D-8
Kategori jumlah nilai :
1. 20 : Sangat Kurang
2. 21 – 40 : Kurang
3. 41 – 60 : Cukup
4. 61 – 80 : Baik
5. 81 – 100 : Sangat Baik
Perhitungan jumlah nilai dilakukan dengan mengalikan masing-masing
nilai dengan perolehan nilai yang diberikan sebanyak jumlah pengguna,
kemudian nilai tersebut ditambahkan hingga mendapatkan jumlah nilai.
Contoh : Untuk Pernyataan 1
9 Orang memilih jawaban setuju : 9 x 8 = 72
1 Orang memilih sangat setuju : 1 x 10 = 10
Julah nilai : 71 + 10 = 82
Jumlah nilai 82 merupakan kategori yang sangat baik
Berdasarkan jawaban yang didapat, maka hasil kuesioner adalah sebagai
berikut :
No Pernyataan Nilai Keterangan
1Sistem workflow dokumen dapat memberikan informasi
prosedur pengajuan proposal skripsi.82
Sangat
Baik
2 Tampilan interface sistem workflow dokumen user friendly. 74 Baik
3 Tampilan interface sistem workflow dokumen menarik. 74 Baik
4 Data yang digunakan pada sistem workflow dokumen akurat. 78 Baik
5 Sistem workflow dokumen lebih nyaman dari pada 78 Baik
D-9
menggunakan sistem manual .
6Sistem workflow dokumen mempercepat proses pengajuan
proposal skripsi.82
Sangat
Baik
7Workflow dalam sistem workflow dokumen ini sesuai
dengan workflow pada Program Studi Teknik Informatika.78 Baik
8Sistem workflow dokumen ini dapat menggantikan proses
kerja secara manual.84
Sangat
Baik
Berikut adalah hasil kuesioner dalam diagram batang.
Dari keseluruhan nilai hasil jawaban kuesioner diatas, dapat
disimpulkan bahwa sistem workflow dokumen yang dikembangkan dapat
menggantikan sistem manual dan sangat efektif dalam pemberian informasi
mengenai proses pengajuan proposal skripsi pada Program Studi Teknik
Informatika UIN Jakarta.
B-1
LAMPIRAN USER STORY
Vision Statement
Date 10/04/2010
Briefly describe the vision of project development.
Pengembangan alfresco ecm bertujuan untuk mengelola dokumen yang diproses pada prosedurpengajuan proposal skripsi pada pogram studi teknik informatika FST UIN Jakarta
System Metaphor
Date 10/04/2010
Briefly describe the vision of project development.
Sistem yang dikembangkan dapat diibaratkan sebagai sebuah virtual office atau kantor maya yang memungkinkan bagi user atau costumer untuk mengupload dokumen proposal skripsi, edit dokumen proposal, melakukan workflow terhadap sebuah dokumen proposal, dan melakukan pencarian terhadap dokumen proposal skripsi
User Story Base
Story No. 1 Date Started 12/04/2010Developer Wahyudianto Date Completed
Briefly describe the base story of the project development.
Sistem menyediakan pengelompokan akses terhadap folder (space) untuk tempat dokumen proposal skripsi, dapat mengupload dokumen proposal, menyediakan proses workflow untukdokumen proposal skripsi, dan dapat melakukan pencarian untuk dokumen proposal skripsi, serta edit dokumen
User StoryStory No. 1.1 Date Started 13/04/2010
B-2
Developer Wahyudianto Date Completed 17/04/2010Priority 1
Story Description :
Terdapat direktori space untuk upload atau create dokumen yaitu Skripsi\Proposal, Skripsi\Approve\Data SK beserta level akses pada space tersebut. sample user yang digunakanMencakup mahasiswa, dosen, staff prodi, sekretaris prodi, ketua prodi
Task Description Estimate1 Install dan setting Alfresco, MySQL 2 Hours2 Membuat user 1 Hours3 Membuat space 1 Hours4 Memberi akses pada space 1 Hours5 Install dan setting MercuryMail 3 Hours
Comments :Date Comment Developer14/05 Install xampp bundle MySQL dan MercuryMail Wahyudianto15/05 Mencari setting MercuryMail ke Afresco Wahyudianto
Code Completed (Y/N) : YIntegrated (Y/N) : YActual Hours : 16
User StoryStory No. 1.2 Date Started 16/04/2010Developer Wahyudianto Date Completed 05/05/2010
Priority 1
Story Description :
Workflow proses : mahasiswa ke staff, staff ke sek_prodi, sek_prodi ke mahasiswa atau dosen,dosen ke sek_prodi, sek_prodi ke dosen, dosen ke sek_prodi atau ka_prodi, ka_prodi selesai.
Task Description Estimate1 Install dan setting Eclipse JBoss GPD 3 Hours2 Membuat workflow model 25 Hours3 Membuat workflow diagram 1 Hours4 Membuat process definition 100 Hours5 Membuat resource bundle 3 Hours6 Membuat web config ui 3 Hours
B-3
Comments :Date Comment Developer
Form workflow ada pada story 1.2.1 WahyudiantoAkses dokumen workflow ada pada story 1.2.2 Wahyudianto
Code Completed (Y/N) : YIntegrated (Y/N) : YActual Hours : 152
User StoryStory No. 1.2.1 Date Started 07/05/2010Developer Wahyudianto Date Completed 16/05/2010
Priority 2
Story Description :
Form untuk mahasiswa yaitu nim, nama, judul proposal, serta konsentrasi. Form untukPembimbing yaitu : nama dan nip. Tiap workflow task memilki form komentar
Task Description Estimate1 Update workflow model 10 Hours2 Update process definition 40 Hours3 Update web config ui 3 Hours
Comments :Date Comment Developer
Code Completed (Y/N) : YIntegrated (Y/N) : YActual Hours : 72
User StoryStory No. 1.2.2 Date Started 18/05/2010Developer Wahyudianto Date Completed 27/05/2010
Priority 2
Story Description :
B-4
Workflow dokumen proposal dengan akses read, write untuk mahasiswa dan sekretaris prodi, dan read untuk yang lain.
Task Description Estimate1 Update workflow model 10 Hours2 Update process definition 40 Hours
Comments :Date Comment Developer
Code Completed (Y/N) : YIntegrated (Y/N) : YActual Hours : 72
User StoryStory No. 1.3 Date Started 29/05/2010Developer Wahyudianto Date Completed 11/06/2010
Priority 3
Story Description :
Menyediakan content model yaitu Content Type : Proposal Skripsi, properti : nim dan nama.Pada saat upload dokumen untuk memudahkan pencarian dokumen
Task Description Estimate1 Membuat content model (metadata dokumen) 90 Hours2 Membuat aspect properti 85 Hours3 Membuat web config ui 57 Hours
Comments :Date Comment Developer
Code Completed (Y/N) : YIntegrated (Y/N) : Y
B-5
Actual Hours : 98
User StoryStory No. 1.3.1 Date Started 13/06/2010Developer Wahyudianto Date Completed 20/06/2010
Priority 3
Story Description :
Pencarian dokumen skripsi dapat dilakukan dengan menambahkan nim dan nama padaDokumen proposal
Task Description Estimate1 Membuat aspect search 40 Hours2 Membuat web config ui 15 Hours
Comments :Date Comment Developer
Code Completed (Y/N) : YIntegrated (Y/N) : YActual Hours : 56
A-1
LAMPIRAN WAWANCARA
Wawancara I
Responden : Ibu Viva Arifin
Jabatan : Sekretaris Program Studi Teknik Informatika
Tanggal : 12 Mei 2010
Tempat : Ruang Sekretaris Program Studi
Tujuan : Mengetahui prosedur pengajuan proposal skripsi pada Program
...Studi .Teknik Informatika UIN Jakarta
Hasil dari wawancara I adalah Prosedur Pengajuan Skripsi (Workflow Process)
sebagai berikut :
1. Mahasiswa yang telah mempunyai topik skripsi mengajukan (upload)
dokumen proposal skripsi kepada Program Studi Teknik Infirmatika
melalui Staff Akademik
2. Staff Akademik meneruskan kepada Sekretaris Program Studi Teknik
Infirmatika
3. Sekretaris Program Studi Teknik Infirmatika memeriksa proposal apakah
diterima atau tidak, jika tidak maka akan dikembalikan kepada mahaiswa
untuk dilakukan revisi
4. Setelah disetujui oleh Sekretaris Program Studi, dokumen diserahkan
kepada Dosen untuk diperiksa
5. Seletah Dosen memeriksa dokumen proposal skripsi, dokumen
dikembaikan kepada Sekretaris Program Studi
A-2
6. Sekretaris Program Studi menunjuk dua dosen untuk menjadi Pembimbing
skripsi berdasarkan hasil pemeriksaan dari Dosen dan topik proposal
skripsi
7. Kedua Pembimbing melakukan pemeriksaan terhadap dokumen, jika satu
dari kedua pembimbing tidak setuju maka akan dikembalikan kepada
Sekretaris Program Studi untuk menunjuk pembimbing kembali
8. Seletah kedua pembimbing menyetujui kesediaan untuk melakukan
pembimbingan, dokumen diserahkan kepada Ketua Program Studi Teknik
Infirmatika
9. Ketua Program Studi Teknik Infirmatika menentukan persetujuan terhadap
dokumen proposal dan pembimbingan. Jika Ketua Teknik Infirmatika
tidak menyetujui, maka dokumen akan dikembalikan kepada Sekretaris
Teknik Infirmatika
10. Jika Ketua Program Studi Teknik Infirmatika menyetujui dokumen
proposal dan pembimbingan, Program Studi Teknik Infirmatika
menyediakan data yang akan digunakan oleh Staff Fakultas untuk
membuatkan surat tugas pembimbingan skripsi
A-3
Wawancara II
Responden : Bapak Zulfiandri
Jabatan : Dosen Program Studi Teknik Informatika
Tanggal : 23 Agustus 2010
Tempat : Ruang Dosen
Tujuan : Mengetahui peranan dosen dalam proses pengajuan proposal
...skripsi Program Studi Teknik Informatika UIN Jakarta.
Kutipan Wawancara :
Tanya : Bagaimana prosedur pengajuan proposal skripsi pada prodi Teknik
Informatika ?
Jawab : Prosedur pangajuan proposal skripsi dikelola oleh Program Studi Teknik
Infirmatika, dimana mahasiswa mengajukan proposal skripsi kepada Program
Studi, kemudian Program Studi menentukan kelayakan proposal skripsi. Jika
dinyatakan layak, maka Program Studi menunjuk dosen sebagai pembimbing
skripsi. Setelah pembimbing menyetujui perihal pembimbingan skripsi, maka
prodi mengajukan pembuatan surat tugas pembimbingan kepada pihak fakultas.
Tanya : Sejauh manakah keterlibatan dosen dalam proses pengajuan proposal
skripsi ?
Jawab : Dosen hanya terlibat dalam persetujuan pembimbingan skripsi, setelah
prodi menyatakan kelayakan terhadap proposal yang diajukan oleh mahasiswa.
Tanya : Selama ini, bagaimanakah proses persetujuan pembimbingan yang
dilakukan oleh dosen ?
A-4
Jawab : Dalam proses persetujuan pembimbingan, ada kalanya pihak prodi yang
mengajukan kepada dosen, atau terkadang mahasiswa langsung menghadap dosen
untuk mengajukan persetujuan pembimbingan. Dan pada saat mahasiswa tersebut
menghadap dosen, terdapat penjanjian juga untuk pembahasan terhadap
kedalaman materi yang akan dibahas dalam skripsi.
Tanya : Apakah hal selama ini dianggap sebagai kelemahan prosedur yang
berjalan ?
Jawab : Pengajuan proposal ditentukan kelayakannya oleh prodi. Mengingat
begitu banyaknya mahasiswa, hal yang menjadi kendala adalah waktu, dimana
biasanya mahasiswa tidak sabar menunggu hasil pengajuan proposal, dan
mahasiswa tersebut kembali menyerahkan proposal hingga dua sampai tiga kali
dengan proposal yang sama. Dan selama ini waktu yang paling cepat dalam
proses pengajuan proposal adalah dua minggu.
Tanya : Jika akan dibuat sistem pengajuan proposal skripsi, perihal apakah yang
dapat dijadikan perbaikan terhapat prosedur yang telah berjalan ?
Jawab : Pembuatan sistem pengajuan proposal dapat memperbaiki prosedur yang
berjalan dengan mempertimbangkan kerjasama yang dapat ditingkatkan diantara
prodi dan dosen, sehingga proses pengajuan tidak membutuhkan waktu yang
terlalu lama. Dan sebagai masukan, jika penentuan kelayakan proposal yang
dilakukan oleh prodi tidak dapat dijalankan dengan optimal mengingat banyaknya
mahasiswa, maka prodi dapat membentuk tim untuk menentukan kelayakan
proposal yang diajukan oleh mahasiswa.
A-5
Wawancara III
Responden : Aryanti Saputri
Jabatan : Mahasiswa
Tanggal : 23 Agustus 2010
Tempat : FST UIN Jakarta
Tujuan : Mengetahui kegiatan dalam proses pengajuan proposal skripsi
Program Studi Teknik Informatika UIN Jakarta.
Kutipan Wawancara :
Tanya : Apakah Anda mengetahui adanya prosedur pengajuan proposal skripsi ?
Jawab : Saya tidak mengetahui adanya prosedur tersebut
Tanya : Bagaimnama langkah-langkah yang Anda lakukan untuk mengajukan
proposal skripsi ?
Jawab : Pertama saya mengajukan proposal skripsi kepada staff akademik prodi,
kemudian menunggu untuk diperiksa oleh sekretaris prodi. Setelah diperiksa
sekretaris prodi, proposal saya dinyatakan tidak layak dan harus mengganti topik
penelitian. Kemudian saya ajukan topik yang baru dan didinyatakan layak. Setelah
setelah dinyatakan layak oleh sekretaris prodi, langkah kedua, saya mengajukan
proposal kepada dosen pembimbing 1 untuk mengajukan persetujuan
pembimbingan. Setelah pembimbing 1 menyatakan kesediaan, langkah ketiga
adalah mengajukan proposal skripsi kepada pembimbing 2 yang diusulkan oleh
saya. Setelah pembimbing 2 menyetujui proposal dan bersedia menjadi
pembimbing 2, langkah keempat saya melaporkan kepada sekretaris prodi perihal
kesediaan pembimbing 1 dan 2. Sekretaris prodi membuatkan memo yang
A-6
ditandatangani oleh ketua jurusan untuk pemberitahuan kepada staff akademik
fakultas. Langkah kelima saya memberikan memo dari ketua prodi kepada staff
fakultas untuk dibuatkan surat tugas pembimbingan skripsi.
Tanya : Langkah yang manakah yang paling susah untuk dilakukan untuk
mengajukan proposal skripsi?
Jawab : Langkah yang paling susah diakukan adalah saat mengajukan proposal
kepada program studi serta pembimbing 1 dan 2, karena kita perlu bertemu secara
langsung, dan harus menunggu jika yang bersangkutan tidak ada ditempat atau
tidak berkenan untuk ditemui.
Tanya : Berapakah waktu untuk dapat mengetahui hasil pengajuan proposal
skripsi anda?
Jawab : Hasil pengajuan proposal dapat saya ketahui dalam waktu dua bulan
dihitung dari pertama kali saya mengajukan proposal skripsi.
Tanya : Apakah perlu dikembangkan sistem pengajuan proposal skripsi?
Jawab : Menurut saya perlu dibuat sistem untuk pengajuan proposal skripsi untuk
memudahkan mahasiswa, sehingga nantinya mahasiswa mengajukan proposal
melalui sistem tersebut dan dapat mengetahui hasil dalam waktu yang tidak terlalu
lama dan tanpa tenaga lebih untuk persetujuan proposal skripsi.
A-7
Wawancara IV
Responden : M. Iqbal
Jabatan : Mahasiswa
Tanggal : 23 Agustus 2010
Tempat : FST UIN Jakarta
Tujuan : Mengetahui kegiatan dalam proses pengajuan proposal skripsi
Program Studi Teknik Informatika UIN Jakarta.
Kutipan Wawancara :
Tanya : Apakah Anda mengetahui adanya prosedur pengajuan proposal skripsi ?
Jawab : Saya mengetahui adanya prosedur tersebut
Tanya : Bagaimnama langkah-langkah yang Anda lakukan untuk mengajukan
proposal skripsi ?
Jawab : Pertama saya mengajukan proposal skripsi kepada staff akademik prodi,
kemudian menunggu untuk diperiksa oleh sekretaris prodi. Kedua, setelah
diperiksa sekretaris prodi, dan dinyatakan layak, saya mengajukan proposal
kepada dosen pembimbing 1 untuk mengajukan persetujuan pembimbingan.
Setelah pembimbing 1 menyatakan kesediaan, langkah ketiga adalah mengajukan
proposal skripsi kepada pembimbing 2 yang diusulkan oleh saya. Setelah
pembimbing 2 menyetujui proposal dan bersedia menjadi pembimbing 2, langkah
keempat saya melaporkan kepada ketua prodi perihal kesediaan pembimbing 1
dan 2. Langkah kelima saya memberikan proposal yang ditandatangani oleh ketua
prodi kepada staff fakultas untuk dibuatkan surat tugas pembimbingan skripsi.
A-8
Tanya : Langkah yang manakah yang paling susah untuk dilakukan untuk
mengajukan proposal skripsi?
Jawab : Langkah yang paling susah diakukan adalah saat mengajukan proposal
kepada pembimbing 1 dan 2.
Tanya : Berapakah waktu untuk dapat mengetahui hasil pengajuan proposal
skripsi anda?
Jawab : Kurang lebih satu bulan.
Tanya : Apakah perlu dikembangkan sistem pengajuan proposal skripsi?
Jawab : Saya perlu dikembangkan, agar lebih mempermudah mahasiswa dalam
pengajuan proposal skripsi.
RIWAYAT HIDUP PENULIS
Nama : Wahyudianto
Tempat/Tanggal Lahir : Kediri, 10 Desember 1987
Jenis Kelamin : Pria
Agama : Islam
Alamat : Jl. Mustafa II No.12 E, Kukusan, Beji,
Depok, Jawa Barat 16425
Telepon : 08125266471
Email : [email protected]
Pendidikan Formal
1992 – 1994 : TK Aisiyah II Tulungrejo, Pare, Kediri
1994 – 2000 : SD Negeri III Pare, Kediri
2000 – 2003 : SLTP Negeri III Peterongan, Jombang
2003 – 2006 : SMA Darul ’Ulum 2 BPPT
Peterongan, Jombang
2006 – …. : UIN Syarif Hidayatullah Jakarta
Top Related