Sistem pendukung keputusan uji kelayakan proyek menggunakan metode benefit cost analysis di PT.Neuronworks Indonesia
SISTEM PENDUKUNG KEPUTUSAN UJI KELAYAKAN
PROYEK MENGGUNAKAN METODE BENEFIT COST
ANALYSIS DI PT. NEURONWORKS INDONESIA
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
INDRA FIRDAUS
10112979
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2015
(2)
iiii
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan skripsi dengan judul “Sistem Pendukung Keputusan Uji Kelayakan Proyek di PT Neuronworks Indonesia dengan metode Benefit Cost Analyst”.
Skripsi ini disusun dengan maksud sebagai syarat memenuhi kelulusan ujian akhir Program Studi Sarjana Satu Jurusan Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.
Pada proses penyusunan skripsi, penulis ingin menyampaikan ucapan terima kasih atas semua dukungan, motivasi, dan arahan yang telah diberikan kepada :
1. Bapak dan Ibu atas segala doa dan nasihat yang diberikan.
2. Istri yang dengan setia menemani dan mendukung kegiatan selama proses penyusunan skripsi.
3. Ibu Gentisya sebagai pembimbing yang telah mendampingi dan mengarahkan selama penyusunan skripsi.
4. Bapak Irawan selaku kaprodi jurusan Teknik dan Ilmu Komputer Unikom dan ketua penguji sidang.
5. Ibu Sufaatin selaku anggota penguji sidang 2.
6. Bapak Sriyanto dan rekan rekan PT Neuronworks Indonesia atas ijin penelitian penyusunan skripsi.
7. Bapak Eko dan Rekan rekan IF 17 K atas dukungan baik informasi dan saran serta motivasi yang diberikan.
8. Seluruh pihak yang telah mendukung dan membantu dalam proses penyusunan skripsi.
(3)
iv
F-iv
Pada dasarnya tidak ada karya manusia yang sempurna karena keterbatasan kemampuan, ilmu, dan pengalaman penulis, oleh karena itu penulis mengharapkan kritik dan saran yang membangun sebagai perbaikan di masa depan. Semoga karya tulis ini bisa bermanfaat bagi pihak lain yang membaca dan bermanfaat bagi pihak yang terlibat.
Bandung, 20 Februari 2015
(4)
vi
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ...iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xiii
DAFTAR SIMBOL ... xvii
DAFTAR RUMUS ... xxi
DAFTAR LAMPIRAN ... xxii
BAB 1 PENDAHULUAN ... 1
1.1. Latar Belakang ... 1
1.2. Identifikasi Masalah ... 2
1.3. Maksud dan Tujuan... 3
1.4. Batasan Masalah ... 3
1.5. Metodologi Penelitian ... 4
1.5.1. Metode Pengumpulan Data ... 4
1.5.2. Metode Pembangunan Perangkat Lunak ... 4
BAB 2 TINJAUAN PUSTAKA ... 7
2.1. Profil PT Neuronworks Indonesia ... 7
2.1.1. Sejarah Instansi ... 7
2.1.2. Logo Instansi ... 7
2.1.3. Visi dan Misi ... 7
2.1.4. Badan Hukum Instansi ... 8
2.1.5. Struktur Organisasi... 8
2.1.6. Tugas dan Wewenang ... 8
2.2. Landasan Teori ... 11
2.2.1. Proyek ... 11
2.2.2. Pengertian Sistem ... 12
2.2.3. Karakteristik Sistem ... 13
(5)
vii
2.2.5. Sistem Pendukung Keputusan ... 15
2.2.6. Basis Data ... 16
2.2.7. Sistem Basis Data... 17
2.2.8. Diagram Entity Relationship ... 17
2.2.9. Usecase Diagram... 18
2.2.10. Sequence Diagram ... 18
2.2.11. Class Diagram ... 19
2.2.12. MySQL ... 20
2.2.13. PHP ... 21
2.2.14. Nilai Uang dan Waktu ... 22
2.2.15. Benefit Cost Analysis ... 23
BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 29
3.1. Analisis Sistem ... 29
3.1.1. Analisis Masalah ... 29
3.1.2. Analisis Prosedur yang Sedang Berjalan ... 29
3.1.3. Aturan Bisnis ... 33
3.1.4. Bisnis Proses Sistem Baru ... 34
3.1.5. Analisis Kelayakan Proyek menggunakan BCA ... 35
3.2. Analisis Kebutuhan Non Fungsional ... 40
3.2.1. Analisis Kebutuhan Perangkat Lunak ... 40
3.2.2. Analisis Kebutuhan Perangkat Keras ... 41
3.2.3. Analisis Kebutuhan Pengguna ... 42
3.3. Analisis Kebutuhan Fungsional ... 43
3.3.1. Usecase Diagram... 43
3.3.2. Sequence Diagram ... 67
3.3.3. Class Diagram ... 91
3.3.4. Activity Diagram... 93
3.4. Perancangan Sistem ... 113
3.4.1. Perancangan Basis Data ... 113
3.4.2. Perancangan Struktur Menu ... 123
3.4.3. Perancangan Antarmuka ... 126
(6)
viii
3.4.5. Jaringan Semantik ... 147
3.4.6. Perancangan Prosedural ... 149
BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 155
4.1 Implementasi Sistem ... 155
4.1.1 Implementasi Perangkat Keras ... 155
4.1.2 Implementasi Perangkat Lunak ... 155
4.1.3 Implementasi Basis Data ... 156
4.1.4 Implementasi Antarmuka Pengguna ... 167
4.2 Pengujian Perangkat Lunak ... 173
4.2.1 Pengujian Sistem ... 173
4.2.2 Rencana Pengujian ... 173
4.2.3 Pengujian Alpha ... 174
4.2.4 Analisis Hasil Pengujian Alpha ... 187
4.2.5 Pengujian Beta ... 187
BAB 5 KESIMPULAN DAN SARAN ... 195
5.1. Kesimpulan ... 195
5.2. Saran... 195
(7)
197
DAFTAR PUSTAKA
[1]. Badan Pengembangan dan Pembinaan Bahasa, Kemendikbud. Kamus Besar Bahasa Indonesia. [Online] [Dikutip: 13 January 2015.] http://kbbi.web.id/proyek.
[2]. Bittner, Kurt, Ian Spence. Use Case Modelling. Boston. Pearson Education, Inc.
[3]. Brigida. 2013. Artikel Teknik Informatika dan Sistem Informasi. [Online] 08 Februari 2013. [Dikutip: 20 Agustus 2014.] http://informatika.web.id. [4]. Cook, Stephen. 2002. The Unified Modeling Language. Dresden, Springer,
2002.
[5]. Dyer, Russell J.T. 2008. MySQL in a Nutshell, Second Edition. Sebastopol. O’Reilly Media, Inc.
[6]. Gray, Clive, et al. 2007. Pengantar Evaluasi Proyek. Jakarta. PT Gramedia Pustaka Utama
[7]. Gupta, Hitesh. 2011. Management Information System. New Delhi. International Book House.
[8]. Hudson, Paul. 2006. PHP in a Nutshell. Sebastopol. O’Reilly Media, Inc. [9]. Kusrini, M.Kom. 2007. Strategi perancangan dan pengelolaan basis data.
Yogyakarta. Penerbit Andi.
[10]. Mangitung, Donny. 2013. Ekonomi Rekayasa. Yogyakarta. Penerbit Andi. [11]. Pressman, Roger S. Software Engineering : A Practitioners Approach 7th
Edition. New York. McGraw-Hill.
[12]. Sharma, Vijaya R. 2014. Natural Resource Economics. s.l. : University of Colorado at Boulder.
[13]. Windle, Daniel R, L. Rene Abreo. 2003. Software Requireents Using the Unified Process : A Practical Approach. New Jersey. Pearson Education.
(8)
1
BAB 1
PENDAHULUAN
1.1.
Latar Belakang
PT Neuronworks Indonesia adalah perusahaan perseroan terbatas yang bergerak di bidang konsultan IT dan pembangunan perangkat lunak. Saat ini PT Neuronworks Indonesia terus berkembang dari tahun ke tahun dengan peningkatan pertumbuhan perusahaan yang menuju ke arah yang positif.
Berdasarkan hasil wawancara dengan Bapak Sriyanto selaku direktur, selain menjadi konsultan IT, PT Neuronworks Indonesia juga mengerjakan proyek pengadaan perangkat lunak. Proyek pengadaan perangkat lunak umumnya dilakukan oleh perusahaan BUMN, swasta atau instansi pemerintah. Dengan visi mensejahterakan karyawan, proyek yang dikerjakan harus bisa menghasilkan keuntungan yang besar. Saat ini, keputusan untuk melaksanakan sebuah proyek adalah milik direktur.
Proyek yang dikerjakan sudah memiliki target serah terima yang ditentukan di tahap awal. Namun pada realisasinya, proyek sering berakhir melebihi waktu yang telah ditargetkan sebelumnya, hal ini dikarenakan banyak kendala seperti penyediaan kebutuhan proyek yang tidak dapat dipenuhi oleh klien tepat waktu. Akibat dari bertambahnya waktu proyek ini, biaya pengerjaan proyek menjadi lebih besar, padahal setiap proyek sudah memiliki target waktu serah terima. Proyek dengan kondisi tersebut dapat berakhir impas atau bahkan rugi. Perusahaan harus bisa memproyeksikan apakah nilai proyek memiliki keuntungan dan dapat menutup resiko apabila terjadi keterlambatan serah terima proyek.
Keuntungan menjadi fokus utama, oleh karena itu proyek dapat diuji kelayakannya dari sisi keuangan atau finansial. Status kelayakan proyek ini berdasarkan suku bunga yang berlaku saat itu sehingga mempengaruhi nilai mata uang. Nilai mata uang akan berbeda bila berada di waktu yang berbeda. Tujuan untuk mengetahui kelayakan proyek adalah agar bisa memprediksi dan menghitung apabila suatu proyek terjadi keterlambatan di luar kesalahan dan bisa menghindari kerugian.
(9)
Sebelum pelaksanaan proyek terdapat proses pembuatan proposal. Tahapan pada penyusunan proposal adalah penyusunan aktivitas dan mandays oleh project manager, rekomendasi pemanfaatan dan penggunaan teknologi dan solusi IT oleh system analist, kontrol pengeluaran perusahaan oleh chief operational officer (COO), dan pemeriksaan proposal oleh direktur. Dokumen yang digunakan pada proses pembuatan proposal pun masih berbentuk fisik dan harus dicetak ulang ketika terdapat koreksi dari setiap pemangku keputusan di setiap tahapnya sehingga dokumen beresiko hilang serta proses menjadi rumit. Direktur juga terkendala dalam memantau perkembangan pembuatan secara langsung.
Berdasarkan uraian diatas, dibutuhkan sistem yang mampu menguji kelayakan sebuah proyek dari sisi finansial dan mempermudah setiap pemangku kepentingan dalam proses pembuatan proposal. Solusi yang mungkin dari permasalahan di atas adalah membangun sistem pendukung keputusan untuk membantu direktur memutuskan sebuah proyek dapat diterima dan dapat menguntungkan. Sistem pendukung keputusan ini dibangun dengan nama “Sistem Pendukung Keputusan Uji Kelayakan Proyek di PT Neuronworks Indonesia dengan Metode Benefit Cost Rasio”. Pembangunan perangkat lunak tersebut diharapkan dapat membantu direktur perusahaan dalam mengambil keputusan dalam memilih proyek yang akan dikerjakan.
1.2.
Identifikasi Masalah
Berdasarkan latar belakang yang diutarakan sebelumnya, timbul permasalahan yaitu :
1. Project manager kesulitan dalam menyusun rencana aktivitas proyek pada proses penyusunan proposal
2. System analyst kesulitan dalam memberikan rekomendasi pengadaan proyek. 3. COO kesulitan dalam melakukan pengaturan pengeluaran perusahaan
terhadap pelaksanaan proyek.
4. Direktur kesulitan dalam memantau perkembangan setiap tahapan pembuatan dalam pembuatan proposal
5. Direktur membutuhkan sistem yang mampu mendukung keputusan dalam menentukan kelayakan sebuah proyek.
(10)
3
1.3.
Maksud dan Tujuan
Maksud dari penelitian ini adalah membangun Sistem Pendukung Keputusan Uji Kelayakan Proyek di PT Neuronworks Indonesia dengan Metode Benefit Cost Analysis.
Tujuan dari penelitian ini adalah :
1. Mempermudah project manager dalam menyusun rencana aktivitas proyek. 2. Mempermudah system analist dalam tahap memberikan rekomendasi
pengadaan proyek.
3. Mempermudah COO dalam pengaturan pengeluaran perusahaan terhadap pelaksanaan proyek.
4. Mempermudah direktur dalam pemantauan perkembangan setiap tahapan pembuatan proposal.
5. Mendukung direktur perusahaan mengambil keputusan dalam menentukan kelayakan sebuah proyek.
1.4.
Batasan Masalah
Batasan masalah dari sistem yang akan dibangun adalah sebagai berikut. 1. Sistem akan menguji kelayakan proyek dengan cara membandingkan nilai
total pengeluaran dan pemasukan proyek.
2. Komponen kas pengeluaran dan pemasukan merupakan hasil perkiraan atau prediksi dengan memperhatikan nilai suku bunga.
3. Kas pengeluaran meliputi gaji tiap anggota tim proyek yang terlibat, lama keterlibatan anggota tim dan pengeluaran lain seperti pengadaan atau pembelian perangkat serta lisensi jika ada.
4. Kas pemasukan adalah nilai dari proyek yang akan dikerjakan.
5. Perhitungan kelayakan proyek dilakukan dengan metode Benefit Cost Analysis.
6. Sistem pendukung keputusan dibangun berbasis web dengan bahasa pemrograman PHP framework Codeigniter dan database MySQL.
7. Sistem tidak melakukan kontrol aktivitas setelah uji kelayakan.
8. Sistem besifat prediksi dan sukubunga yang digunakan adalah sukubunga yang berlaku pada saat awal pembuatan proposal.
(11)
9. Framework untuk antarmuka pengguna menggunakan jeasyui.
10. Sistem diakses dari jaringan internal kantor dan tidak publish ke jaringan publik atau internet.
11. Sistem tidak memperhatikan keamanan server dan jaringan, serta performansi.
12. Sistem pendukung keputusan berada pada level direktur.
13. Pengguna yang terlibat adalah Administrator, Direktur, Project Manager, COO dan System Analyst.
1.5.
Metodologi Penelitian
1.5.1.Metode Pengumpulan DataMetode pengumpulan data yang digunakan untuk mendapatkan informasi yang diperlukan adalah sebagai berikut:
1. Metode observasi, yaitu observasi langsung di PT Neuronworks Indonesia untuk mengetahui proses dari sistem yang sedang berjalan.
2. Metode wawancara, yaitu melakukan wawancara kepada Bapak Sriyanto selaku direktur untuk mendapatkan informasi terkait permasalahan kelayakan proyek di PT Neuronworks.
1.5.2.Metode Pembangunan Perangkat Lunak
Metode pengembangan perangkat lunak yang akan digunakan adalah dengan metode waterfall. Dengan pengembangan metode ini diharapkan proses pengembangan perangkat lunak lebih sesuai sehingga waktu yang digunakan lebih efektif. Metode waterfall digambarkan pada Gambar 1. 1.
(12)
5
Gambar 1. 1 Metode Waterfall[7]
Pada pengembangan perangkat lunak ini terdapat beberapa tahap yaitu: 1. Analisis kebutuhan
Langkah ini merupakan proses analisa terhadap kebutuhan sistem seperti proses pengumpulan data. Pengumpulan data dilakukan di PT Neuronworks Indonesia dengan mengamati sistem yang sedang berjalan saat ini. Selain itu juga dilakukan wawancara dengan Manager HR, Project Manager, dan Direktur. Selain itu pengumpulan data ini juga meliputi analisis dokumen dan data yang ada di perusahaan.
2. Desain sistem dan perangkat lunak
Pada tahap ini dilakukan proses menterjemahkan syarat dan kebutuhan sistem menjadi perencangan perangkat lunak. Desain tersebut meliputi penyusunan diagram ER, desain Antarmuka pengguna, dan arsitektur dan pemilihan framework.
3. Implementasi dan pengujian
Langkah ini menuliskan kode skrip untuk dijadikan program dalam bahasa yang ditentukan dan dikenali komputer. Tahap ini juga termasuk pengujian modul modul agar sesuai dengan kebutuhan dan syarat sistem yang sedang dibangun saat ini.
(13)
4. Integrasi dan pengujian sistem
Pada langkah ini dilakukan integrasi modul modul yang sudah dibangun sebelumnya, dan juga dilakukan pengujian sistem keseluruhan dimana sudah diintegrasikan sebelumnya. Pengujian sistem secara keseluruhan diperlukan untuk memastikan bahwa sistem telah sesuai dengan kebutuhaan awal yang didefinisikan. Pengujian menggunakan metode Blackbox dengan memeriksa kesesuaian antara masukan dan keluaran dari sistem.
5. Operasi dan pemeliharaan
Tahap ini adalah perbaikan kesalahan jika terdapat kesalahan dan fungsionalitas yang tidak tepat, atau pengembangan perangkat lunak lebih jauh karena kebutuhan yang sudah berbeda. Perbaikan dilakukan bila terdapat kesalahan, dan pengulangan di tahap sebelumnya bergantung pada seberapa besar kesalahan yang ditemukan.
(14)
7
BAB 2
TINJAUAN PUSTAKA
2.1.
Profil PT Neuronworks Indonesia
2.1.1. Sejarah Instansi
PT Neuronworks Indonesia (Neuron) adalah sebuah perusahaan yang bergerak di bidang Teknologi Informasi. Berawal dari kelompok tugas membentuk CV pada tahun 2005, dengan bisnis utama training di sekitar kampus STT Telkom. Kemudian pada tahun 2006 menerima proyek pertama dari perusahaan untuk software development dari PT Artha Telekomindo, Gelatik, dan lain lain. Kemudian pada tahun 2007 beberapa pendiri memilih mendirikan usaha atau bekerja di Jakarta dan penjajakan merger dengan CV lain. Kemudian pada tahun yang sama dilakukan merger dengan CV Media Informasi Nusantara. Pada tahun 2008 pasca proses merger, komitmen ditujukan dengan mendirikan perusahaan konsultan profesional IT. Dengan komitmen menyediakan solusi IT yang handal bagi Indonesia dan mengharumkan Bangsa Indonesia di industri IT. Dan pada tahun 2008 juga Neuronworks berbadan hukum dengan status PT (Perseroan Terbatas).
2.1.2. Logo Instansi
Logo PT Neuronworks Indonesia pada Gambar 2. 1 memiliki inisial dari nama perusahaan tersebut yaitu Neuron dengan tag line Make it Easy. Dengan warna merah adalah tema warna perusahan.
Gambar 2. 1 Logo PT Neuronworks
2.1.3. Visi dan Misi
Dengan tag line Make It Easy, PT Neuronworks memiliki Misi Internal adalah membangun keseimbangan kehidupan kerja dari anggota tim. Kontribusi positif yang kuat untuk setiap komponen (spiritual, kesehatan, partner, keluarga,
(15)
teman, dan pekerjaan) pada keseharian. Misi Eksternal adalah memberikan solusi IT yang sempurna kepada pelanggan dengan hasil pelanggan dapat dengan mudah dalam menyelesaikan permasalahan kerja mereka dan memperbaiki efisiensi operasional kerja dan efektivitas kerja.
2.1.4. Badan Hukum Instansi
PT Neuronworks Indonesia adalah perusahaan Perseroan Terbatas dengan Akta Pendiran Perseroan Terbatas diterbitkan pada tanggal 13 Februari 2008 Nomor 2.
2.1.5. Struktur Organisasi
Struktur organisasi dari PT Neuronworks Indonesia ditunjukan pada Gambar 2. 2 dibawah ini.
Gambar 2. 2 Struktur Organisasi PT Neuronworks Indonesia
2.1.6. Tugas dan Wewenang
Tugas dan wewenang dari masing masing jabatan dalam struktur organisasi adalah sebagai berikut.
a. Direktur
1) Menentukan kebijakan yang berlaku di perusahaan.
2) Monitoring dan Control kerja produksi (teknis) dan keuangan (operasional, HRD, dll) perusahaan.
(16)
9
3) Mencari peluang, menjaring, membentuk dan membina kerja sama dengan pelanggan.
4) Mengkoordinasikan Technical Officer dan Operational Officer agar selaras dan dapat bekerja sama dengan baik.
5) Mencari solusi permasalahan perusahaan secara keseluruhan. 6) Memimpin perusahaan.
b. Chief Technical Officer (CTO)
1) Memilih, mendistribusikan resource untuk membentuk tim proyek untuk pengerjaan proyek.
2) Membagi proyek yang didapat dan didistribusikan kepada tim proyek yang telah terbentuk.
3) Mengkoordinasikan dan menjadi jembatan komunikasi diantara bagian Technical Officer (Technical Writer, Programmer atau support).
4) Memonitoring, mengontrol, dan memastikan proyek tepat waktu dan berkualitas.
5) Membuat pelaporan pengerjaan proyek yang meliputi daftar pekerjaan dan resource, progress dan issue yang lain kepada direktur.
6) Bekerja sama dengan COO perihal performansi kerja anggota Technical Officer, penagihan, masalah masalah pengerjaan proyek untuk kepentingan proyek.
c. Chief Operational Officer (COO)
1) Menyusun rekomendasi kebijakan-kebijakan perusahaan (Strategi Organisasi, Strategi Bisnis).
2) Bersama Direktur membentuk kerjasama dengan pelanggan, dengan mencari peluang bisnis dan menjaring pelanggan.
3) Memonitor, mengontrol dan membina kerja sama dgn Pelanggan dari segi pelayanan dan legalitas.
4) Mengelola keuangan perusahaan dan pengadaan alat produksi.
5) Memonitoring, mengontrol dan memastikan kerja bagian finance berjalan dengan baik.
6) Mengelola Human Resource secara keseluruhan dan menyusun kebijakan - kebijakan di bidang HRD untuk direkomendasikan.
(17)
7) Memonitor, mengontrol kerja Administrasi.
8) Melaporkan ke Direktur perihal kondisi organisasi meliputi pelanggan dan kondisi internal, aset-aset, kondisi HR dan kinerja financial perusahaan.
9) Bekerjasama dengan CTO utk mereview dan evaluasi anggota tim Technical Officer, penagihan-penagihan, masalah pengerjaan proyek untuk kepentingan kontrak proyek.
d. Bussines Development
Menyusun Strategi Organisasi, Strategi Bisnis dan melakukan pengawalan dan pengontrolan pelaksanaan, mengelola Customer Relationship.
e. Finance
Mencatat transaksi, membuat laporan keuangan dan memastikan seluruh transaksi berjalan dengan baik. Bersama COO mengelola keuangan Perusahaan.
f. Support
1) Mengelola Aset Neuronworks meliputi human resource, aset-aset tetap maupun tidak tetap dan surat menyurat.
2) Mengelola dan menjaga aset data yang dimiliki oleh Neuronworks. g. System Analysist
1) Memberikan saran saran desain perangkat lunak dan penggunaan teknologi dan solusi IT.
2) Memastikan bahwa desain perangkat lunak yang dibuat tim Neuronworks berkualitas.
3) Memastikan bahwa implementasi/code berdasarkan desain perangkat lunak benar dan sesuai.
4) Memastikan bahwa perangkat lunak yang telah dibuat low bug dan reliable.
h. Project Manager
1) Mengatur dan membagi aktivitas kegiatan tim proyek. 2) Menentukan mandays untuk setiap aktivitas proyek. 3) Menjaga aktivitas tetap pada waktu yang ditentukan.
(18)
11
4) Berkomunikasi dengan klien dan menjaga setiap permintaan klien agar tetap pada koridor yang ditentukan selama proyek berlangsung.
i. Technical Writer
5) Mendokumentasikan desain perangkat lunak yang disarankan oleh System Analist
6) Mendokumentasikan proses perekayasaan perangkat lunak di setiap life cycle software development
7) Membantu Technical Officer dalam membuat dokumentasi-dokumentasi dalam pertemuan-pertemuan dengan client seperti MoM, Berita Acara dsb
8) Membantu Technical Officer dalam melakukan test internal serta mencatat hasil testnya.
2.2.
Landasan Teori
2.2.1. ProyekMenurut Kamus Besar Bahasa Indonesia (KBBI), proyek adalah rencana pekerjaan dengan sarana khusus dan dengan saat penyelesaian yang tegas[1]. Sedangkan menurut Clive Gray, proyek adalah kegiatan kegiatan yang dapat direncanakan dan dilaksanakan dalam satu bentuk kesatuan dengan mempergunakan sumber – sumber untuk mendapatkan benefit[6]. Proyek biasanya merupakan bentuk kerjasama antara penyelenggara dan pelaksana yang direncanakan dengan tujuan tertentu dan bersifat sementara serta memiliki jangka waktu tertentu.
Proyek memiliki tahapan siklus dimana siklus suatu proyek berawal dari gagasan pengusul yang pada umumnya bersumber pada :
1. Para pemimpin masyarakat setempat 2. Para tenaga teknisi
3. Para perintis pembangunan, seperti bank pembangunan dan 4. Usulan dari program – program yang telah ada.
(19)
Siklus proyek dapat dilihat pada Gambar 2. 3
Gambar 2. 3 Siklus Proyek[6]
1. Identifikasi, adalah proses menentukan calon proyek yang perlu dipertimbangkan untuk dilaksanakan.
2. Formulasi, adalah proses persiapan dengan melakukan prastudi kelayakan dengan meneliti sejauh mana calon calon proyek tersebut dapat dilaksanakan menurut aspek teknis, institusional, sosial, dan eksternalitas.
3. Analisis, adalah proses pengadaan appraisal atau evaluasi terhadap laporan – laporan studi kelayakan yang ada.
4. Implementasi, adalah tahap pelaksanaan proyek dimana tanggung jawab utama dari perencana serta penilai proyek adalah pengawasan terhadap pelaksanaan pembangunan fisik proyek agar sesuai dengan final desainnya. 5. Operasi, adalah mempertimbangkan metode metode pembuatan laporan atas
pelaksanaan operasinya.
6. Evaluasi, adalah evaluasi atas hasil pelaksanaan serta operasi proyek berdasarkan laporan laporan yang masuk pada tahap sebelumnya.
2.2.2. Pengertian Sistem
Sistem berasal dari bahasa Latin (systema) dan bahasa Yunani (sustema) yang memiliki arti suatu kesatuan yang terdiri dari komponen atau elemen yang
(20)
13
dihubungkan bersama untuk memudahkan aliran informasi, materi, atau energi untuk mencapai suatu tujuan[7]. Sedangkan menurut Harijono Djojomihardjo, suatu sistem adalah sekumpulan objek yang mencakup hubungan antara ciri tiap objek, dan yang secara keseluruhan merupakan satu kesatuan fungsional. Menurut Jerry Futz Gerald sitem adalah suatu jaringan kerja dari prosedur – prosedur yang saling berhubungan, berkumpul bersama sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran yang tertentu.
Sedangkan menurut Lani Sidharta, sistem adalah himpunan dari bagian – bagian yang saling berhubungan secara bersama sama mencapai tujuan yang sama. Dari beberapa arti diatas, dapat disimpulkan bahwa sistem adalah kumpulan dari objek atau komponen yang secara bersama sama memiliki fungsionalitas dan tujuan yang sama.
2.2.3. Karakteristik Sistem
Karakteristik yang menggambarkan semua sistem adalah organisasi, interaksi, saling bergantung, integrasi, dan tujuan terpusat[7].
1. Organisasi, menyatakan struktur dan urutan yaitu susunan komponen yang membantu untuk mencapai suatu tujuan dari sistem.
2. Interaksi, interaski mengarah kepada bagaimana setiap bagian komponen saling berkomunikasi
3. Saling ketergantungan, yang berarti bagian dari organisasi bergantung kepada organisasi lain.
4. Integrasi, mengacu kepada pendekatan terhadap sistem. Kesatuan berikut analisis untuk mencapai tujuan utama. Integrasi befokus kepada bagaimana sebuah sistem dapat terhubung bersama.
5. Tujuan terpusat, dimana tujuan dari sistem bisa bersifat nyata atau tersirat. Walaupun tujuan tersirat mungkin adalah tujuan yang nyata, akan tetapi tidak umum untuk sebuah organisasi untuk menyatakan satu tujuan dan operasi untuk mencapai tujuan lain. Poin pentingnya adalah pengguna harus mengetahui tujuan utama dari aplikasi komputer sedari awal pada analisa agar desain tersusun dengan tepat.
(21)
2.2.4. Definisi dan Konsep Sistem Informasi
2.2.4.1. Definisi Sistem Informasi
Sistem adalah kumpulan elemen – elemen yang berinteraksi untuk mencapai tujuan tertentu. Menurut Jerry FifthGerald, sistem adalah suatu jaringan kerja dari prosedur prosedur yang saling berhubungan, berkumpul bersama sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu. Mc. Leod (1995) mendifinisikan sistem sebagai sekelompok elemen-elemen yangterintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Sumberdaya mengalir dari elemen output dan untuk menjamin prosesnya berjalan dengan baik maka dihubungkan mekanisme control. Sedangkan informasi adalah data yang telah diproses dan diolah sehingga memiliki arti dan manfaat yang berguna.
Sistem informasi dapat diartikan sebagai kombinasi dari manusia, perangkat keras, perangkat lunak, jaringan komunikasi, sumber data, kebijakan dan prosedur yang terorganisasi yang menyimpan, mengambil kembali, mengubah dan menyebarkan informasi dalam sebuah organisasi[7]. Di dalam suatu organisasi, informasi digunakan untuk mengambil keputusan dari pihak menejemen. Sistem informasi dapat memanfaatkan perangkat keras dan perangkat lunak komputer, prosedur manual, model menejemen dan basis data.
2.2.4.2. Konsep Dasar Sistem Informasi
Dalam sistem informasi, data merupakan sumber informasi. Data kenyataan yang menggambarkan suatu kejadian kejadian dan kesatuan nyata. Kejadian kejadian adalah sesuatu yang terjadi pada saat tertentu. Kesatuan nyata bisa berupa objek nyata seperti tempat, benda dan orang orang yang betul betul ada dan terjadi.
Data merupakan bentuk yang masih mentah dan belum mengandung informasi yang lebih bermanfaat sehingga data harus diolah dan diproses terlebih dahulu. Data dapat berbentuk simbol, huruf, angka, suara, sinyal, gambar, dan lain sebagainya. Data yang diolah melalui model informasi, untuk kemudian diterima oleh pengguna yang kemudian digunakan untuk mengambil keputusan dan
(22)
15
melakukan tindakan yang bisa menghasilkan sejumlah data kembali. Siklus informasi berawal dari data sebagai input, diproses oleh model untuk menjadi output atau informasi. Gambar 2. 4 adalah gambar siklus sistem informasi :
Gambar 2. 4 Siklus Sistem Informasi
2.2.5. Sistem Pendukung Keputusan
Sistem Pendukung Keputusan (SPK) diperkenalkan oleh Michael S. Scott Morton pada tahun 1970-an dengan istilah Management Decission System. Sistem Pendukung Keputusan adalah sistem berbasis komputer yang dibangun untuk membantu pengambil keputusan dengan menggunakan data dan model tertentu yang bertujuan untuk memecahkan permasalahan yang tidak terstruktur dengan jelas.
Dalam sistem pendukung keputusan terdapat 3 (tiga) jenis keputusan yaitu keputusan terstruktur, keputusan semiterstruktur, dan keputusan tidak terstruktur.
1. Keputusan Terstruktur
Keputusan ini adalah keputusan yang dilakukan berulang ulang dan bersifat rutin. Informasi yang terdapat pada keputusan ini spesifik, terjadwal dan detail. Sebagai contoh adalah keputusan untuk aturan penggajian pegawai. 2. Keputusan Semiterstruktur
Keputusan yang sebagian ditangani oleh sistem yang sudah terjadwal dan sebagian lagi harus diputuskan oleh pengambil keputusan. Sifat informasi
(23)
dari keputusan ini adalah fokus, spesifik, interaktif, dan detail. Sebagai contoh adalah keputusan rekruitasi pegawai pada sebuah perusahaan.
3. Keputusan Tidak Terstruktur
Keputusan ini memiliki penanganan yang rumit karena hanya terjadi di waktu waktu tertentu dan tidak berulang. Pengambil keputusan dituntut untuk memiliki pengalaman dan pengetahuan dalam pengambilan keputusan. Pengambilan keputusan biasanya terjadi di level atas sebuah organisasi atau instansi. Sebagai contoh implementasi teknologi baru pada sebuah perusahaan.
Sedangkan berdasarkan tingkat kepentingannya, keputusan dikategorikan menjadi tiga, yaitu keputusan strategis, keputusan taktis, dan keputusan operasional[3].
1. Keputusan Strategis
Keputusan yang diambil oleh menejemen tingkat atas dimana keputusan bersifat jangka panjang.
2. Keputusan Taktis
Keputusan yang berkaitan dengan pengelolaan sumber daya, dimana biasanya keputusan ini diambil oleh menejemen tingkat menengah.
3. Keputusan Operasional
Keputusan yang berkaitan dengan kegiatan operasional yang terjadwal dengan rutin. Keputusan ini diambil oleh menejemen tingkat bawah.
2.2.6. Basis Data
Basis data adalah kumpulan data yang terhubung secara logis yang dapat disimpan[11]. Pendefinisian dari basis data meliputi proses pemasukan data ke dalam media penyimpanan data, diatur dan diproses oleh Sistem Menejemen Basis Data (DBMS – Database Management System). Dengan DBMS bisa dilakukan manipulasi data yang disebut dengan query untuk mendapatkan informasi tertentu yang dibutuhkan, melakukan perubahan data, dan penghapusan data, serta pembuatan laporan.
(24)
17 2.2.7. Sistem Basis Data
Sistem basis data adalah suatu sistem yang menyusun dan mengelola record – record menggunakan komputer untuk menyimpan atau merekam data serta memelihara data operasional secara lengkap. Komponen dari sistem basis data adalah [9]:
1. Perangkat keras sebagai pendukung operasi pengolahan data, yaitu semua bagian fisik komputer seperti CPU, memori, dll.
2. Sistem operasi atau perangkat lunak untuk mengelola basis data, yaitu perangkat lunak yang bertugas untuk melakukan kontrol dan menejemen perangkat keras serta operasi dasar sistem termasuk menjalankan perangkat lunak aplikasi.
3. Basis data sebagai inti dari sistem basis data.
4. Database menejemen sistem (DBMS) adalah sebuah perangkat lunak yang menangani semua akses ke basis data.
5. Pengguna yang dapat berupa manusia atau sistem yang akan mengakses dan merubah isi basis data. Beberapa jenis pengguna basis data, yaitu :
a. Programmer aplikasi, yaitu pengguna yang mengkodekan aplikasi dengan bahasa pemrograman.
b. Pengguna mahir, yaitu orang yang terbiasa menggunakan basis data secara langsung dengan DBMS.
c. Pengguna umum, yaitu pengguna yang mengakses basis data dengan aplikasi perantara.
d. Pengguna khusus, bisa berupa sistem lain. 2.2.8. Diagram Entity Relationship
Diagram Entity Relationship atau disebut dengan singkatan ERD adalah sebuah konsep yang mendeskripsikan hubungan antara penyimpanan dan didasarkan pada persepsi dari sebuah dunia nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantar objek-objek tersebut. ERD juga bisa disebut suatu model jaringan (network) yang menggunakan susunan data yang disimpan dari sistem secara abstrak.
Penggambaran ERD dalam pemodelan perangkat lunak memiliki fungsi sebagai berikut :
(25)
1. Memodelkan struktur data dan hubungan antar data
2. Model hubungan data dapat diuji tanpa memperhatikan proses yang dilakukan
3. Menjelaskan hubungan antar data dalam basis data berdasarkan objek – objek dasar data.
4. Mendokumentasikan data – data yang ada dengan cara mengidentifikasi tiap jenis entitas dan relasinya.
2.2.9. Usecase Diagram
Usecase diagram adalah model diagram UML yang digunakan untuk menggambarkan kebutuhan fungsional yang diharapkan dari sebuah sistem. Usecase diagram menekankan kepada siapa pengguna yang akan berinteraksi dengan sistem dan akan melakukan aksi apa kepada sistem. Usecase diagram terdiri dari dua bagian utama yaitu usecase diagram dan usecase description. Usecase dapat dilingkupi batasan sistem yang diberi label nama sistem. Pada umumnya, usecase diagram berisi hal hal berikut[2]:
1. Sebuah gambaran yang menunjukkan semua usecase dan aktor.
2. Diagram ringkasan aktor yang menggambarkan sekumpulan aktor yang berhubungan secara konseptual.
3. Diagram perspektif aktor menggambarkan semua usecase dengan menyertakan sebuah aktor.
4. Diagram ringkasan usecase menggambarkan sekumpulan usecase yang berhubungan secara konseptual.
5. Diagram perspektif usecase mengilustrasikan bagaimana usecase berhubungan dengan aktor dan usecase lain.
2.2.10. Sequence Diagram
Sequence diagram adalah sekumpulan objek yang berinteraksi untuk memenuhi perintah yang diberikan atau sekumpulan task per satuan waktu[13]. Sequence diagram menggambarkan skenario yang terjadi pada sistem dan menghasilkan sebuah keluaran tertentu. Sequence diagram berhubungan secara khusus dengan usecase diagram dimana aktor yang terlibat pada usecase diagram juga terlibat pada sequence diagram.
(26)
19
Sequence diagram menggambarkan tahapan yang terjadi pada usecase diagram. Sequence diagram digunakan untuk tujuan analisa dan desain dengan memfokuskan pada identifikasi metode dalam sebuah sistem. Komponen dari sequence diagram adalah :
a. Objek, yaitu komponen yang akan saling berinteraksi dalam diagram,
b. Stimulus, yaitu komponen yang berfungsi untuk menandai hubungan komunikasi antara dua buah objek,
c. Self stimulus, adalah stimulus yang menghubungkan dengan objek itu sendiri, d. Aktor, adalah pengguna yang akan berinteraksi dengan sistem.
2.2.11. Class Diagram
Class diagram adalah sebuah diagram yang menggambarkan tentang objek dan struktur informasi yang digunakan oleh sistem, baik internal maupun dalam berkomunikasi dengan user. Class diagram menggambarkan dan menjabarkan informasi tanpa referensi untuk setiap implementasi tertentu. Class dan relationship dapat diimplementasikan dengan berbagai cara, seperti tabel database, node XML atau komposisi objek perangkat lunak. Class diagram memberikan gambaran sistem secara statis dan relasi antar class.
Class adalah komponen dari class diagram yang berisi informasi dan operasi dari suatu class. Class pada class diagram terdiri dari 3 (tiga) bagian yaitu nama class, atribut, dan operasi.
Class pada Class diagram memiliki tipe visibilitas yang menentukan dapat dilihat atau tidaknya dilihatnya dari luar class. Berikut adalah tipe visibilitas dari class.
a. Public, menyatakan bahwa komponen class dapat dilihat dan digunakan oleh class lain dalam satu sistem.
b. Protected atau private, menyatakan bahwa komponen class hanya bisa digunakan oleh clas itu sendiri.
c. Implementation, menyatakan bahwa komponen class hanya bisa digunakan oleh class lain dalam paket yang sama.
(27)
Pada class diagram terdapat istilah stereotype. Sebuah stereotype adalah sebuah metode untuk mengkategorikan model elemen berdasarkan karakteristik class tersebut. Klasifikasi Stereotype pada class diagram ada 3 yaitu[4] :
1. Boundary Classes adalah model interaksi antara sistem dan aktor, dan sistem lain. Sebuah class dengan stereotype boundary dapat diketahui dengan pemberian label <<boundary>> atau dengan ikon seperti pada daftar simbol. 2. Control Classes merepresentasikan kebutuhan dan utan lojik untuk
merealisasikan sebuah usecase. Dengan kata lian control class menjadi penghubung antara entity classes dengan boundary. Class dengan stereotype control class dapat diketahui dengan pemberian label <<control>> atau dengan ikon seperti pada daftar simbol.
3. Entity Class menggambarkan class yang bersifat pasif. Class dengan stereotype control class dapat diketahui dengan pemberian label <<control>> atau dengan ikon seperti daftar simbol.
2.2.12. MySQL
MySQL adalah sebuah menejemen relasional sistem basis data yang bersifat opensource dan multithread yang dibangun oleh Michael “Monty” Widenius pada tahun 1995[5]. MySQL merupakan turunan dari salah satu konsep utama dari SQL (Structured Query Language) dimana SQL adalah konsep pengoperasian database untuk seleksi, pemasukan data, atau operasi database lain yang memungkinkan dilakukan dengan mudah secara otomatis.
MySQL memiliki keunggulan dibanding perangkat lunak lain, yaitu pada mode non transaksional. Namun demikian MySQL tidak memiliki jaminan terhadap realibilitas terhadap data yang disimpan, karena modus non transaksional hanya cocok untuk sistem yang tidak membutuhkan reliabilitas tinggi. Untuk kebutuhan sistem yang bergerak pada lingkungan enterprise, sangat disarankan untuk menggunakan mode transaksional, hanya saja pada mode ini MySQL tidak bisa secepat pada mode non transaksional.
Kelebihan MySQL
(28)
21 2) Open Source
3) Multi-User
4) Tipe data beragam, mulai dari integer, varchar, text, date, dll
5) Perintah dan Fungsi yang mendukung penuh dalam perintah select dan where.
6) Keamanan yang tinggi seperti password yang terenkripsi
7) Skalabilitas dan Pembatasan, mampu menangani jumlah data yang besar. 8) MySQL dapat menggunakan koneksi protokol TCP/IP, Unix Socket, dan
Named Pipe (NT)
9) MySQL memiliki antarmuka yang mudah digunakan untuk administrasi database.
10) Memiliki struktur tabel yang lebih fleksibel dalam menangani perintah alter. 2.2.13. PHP
PHP adalah singkatan dari PHP : Hypertext Preprocessor dimana merupakan bahasa skrip yang dapat disisipkan ke dalam kode HTML. PHP lebih banyak digunakan untuk pemrograman web yang bersifat dinamis.
PHP pada awalnya merupakan singkatan dari Personal Home Page, dibuat oleh Rasmus Lerdorf pada tahun 1995[8]. Kode sumber PHP bersifat terbuka, oleh karena itu banyak pemrogram web yang lebih tertarik menggunakan dan mengembangkan PHP. PHP pada tahun 2004 sudah dirilis dalam versi 5.0 dimana inti dari interpreter mengalami perubahan yang besar. Perubahan ini meliputi dukungan penulisan kode dengan struktur beriorientasi objek.
Kode PHP dituliskan pada file dengan ekstensi php untuk kemudian ditranslate dan diproses disisi web server. PHP bisa digabungkan dengan kode HTML ataupun javascript. Untuk mengenali bahwa skrip tersebut adalah skrip PHP, maka digunakan tanda pembuka “<?php” dan tanda penutup “?>”.
PHP memiliki beberapa kelebihan dibandingkan dengan bahasa pemrograman web lainnya, yaitu :
1. Bahasa pemrograman PHP adalah dimana kompilasi tidak dilakukan di sisi pengguna.
(29)
2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Futami dengan konfigurasi yang relatif mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.
4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system. Dalam penulisan kode sumber, PHP memiliki 8 (delapan) jenis tipe data, seperti Boolean, Integer, Float/ Double, String, Array, Object, Resource, dan NULL. 2.2.14. Nilai Uang dan Waktu
2.2.18.1. Nilai Masa Datang
Nilai masa datang adalah ekuivalensi dari nilai masa depan terhadap nilai di masa depan[10]. Maksudnya adalah mengubah nilai pada saat ini menjadi nilai pada masa depan dengan faktor suku bunga majemuk yang menentukan perubahan nilai tersebut. Rumus dari nilai masa datang dapat dilihat pada Rumus 2. 1.
= ( 1 + )
Rumus 2. 1 Rumus Pembayaran Tunggal Masa Depan atau bisa juga ditulis
= ( | , , )
Rumus 2. 2 Pembayaran Tunggal Masa Depan
Dimana F adalah nilai masa depan, P adalah nilai sekarang, i adalah tingkat suku bunga, dan n adalah jangka waktu. Jangka waktu yang sering dipakai adalah tahunan atau bulanan. Penulisan Rumus 2. 2 tersebut disarankan oleh Engineering Economy Division of the American for Enginerring Education (Pilcher 1992).
(30)
23 2.2.18.2. Nilai Sekarang
Nilai sekarang adalah perhitungan ekuivalensi nilai sekarang terhadap nilai masa depan dengan dikenakan tingkat suku bunga dan jumlah periode pembayaran tertentu. Rumus perhitungan nilai sekarang adalah pada Rumus 2. 3.
= 1
( 1 + )
Rumus 2. 3 Rumus pembayaran tunggal nilai sekarang Atau bisa ditulis
= ( | , , )
Rumus 2. 4 Rumus pembayaran tunggal nilai sekarang 2.2.15. Benefit Cost Analysis
Benefit Cost Analysis (BCA) secara umum adalah sebuah metode evaluasi ekonomis sebuah proyek. BCA membandingkan antara total keuntungan dan total pengeluaran proyek dan merekomendasikan implementasi dari proyek jika keuntungan melebihi pengeluaran proyek [10]. Ada beberapa tahap dalam analisis ini[12].
1. Menentukan jangka waktu proyek.
2. Mengestimasikan keuntungan secara fisik dan pengeluaran proyek setiap tahun sepanjang umur proyek.
3. Konversikan semua estimasi keuntungan dan pengeluaran proyek yang mungkin dalam nominal mata uang.
4. Setelah semua keuntungan dan pengeluaran dirubah dalam nominal mata uang, hitung Present Value (PV) dengan discount rate yang tepat. Kemudian tambahkan keuntungan tahunan untuk menghitung total keuntungan (B) dari proyek dan begitu pula untuk pengeluaran proyek (C). Menghitung Present Value Benefit adalah = ∑ ( 1/ ( 1 + ) )dan untuk menghitung Present Value Cost adalah = ∑ ( 1/ ( 1 + ) ). 5. Hitung total keuntungan bersih yang disebut dengan Nett Present Value
(NPV) dengan mengurangkan total pengeluaran terhadap total keuntungan (NPV = – ). Juga hitung Benefit Cost Ratio(BCR) dengan cara
(31)
membagi antara total keuntungan dengan total total pengeluaran ( = )
6. Aturan keputusan didapatkan :
a. Jika NPV ≥ 0 maka proyek layak dikerjakan, sebaliknya proyek tidak layak dikerjakan.
b. Jika BCR ≥ 1 artinya proyek layak dikerjakan. Sebaliknya proyek tidak layak dikerjakan.
Tabel 2. 1 menyatakan status kelayakan proyek berdasarkan Nett Present Value (NPV).
Tabel 2. 1 Status Kelayakan Proyek Berdasarkan NPV
Target Nilai NPV Keterangan
Nett Present Value (NPV)
Tidak Layak < 0
Dikatakan tidak layak jika pemasukan lebih kecil dari pada pengeluaran. Layak/ Tidak Layak
= 0
Proyek ada pada keadaan Impas, yaitu pemasukan dan pengeluaran jumlahnya sama.
Layak > 0
Proyek layak karena menguntungkan secara perhitungan NPV, dimana pemasukan lebih besar dari pengeluaran
(32)
25
Adapun rasio benefit dan cost (BCR) sebuah proyek dikatakan layak dapat dilihat pada Tabel 2. 2.
Tabel 2. 2 Benefit Cost Ratio
Target Nilai Rasio Keterangan
Benefit Cost Ratio (BCR)
Tidak Layak < 1
Dikatakan tidak layak jika BCR kurang dari satu dimana pemasukan lebih kecil dari pada pengeluaran.
Layak/ Tidak Layak = 1
Jika BCR sama dengan satu, dianggap impas, pengambil kebijakan dapat menganggap layak karena investasi kembali, akan tetapi tidak mendapatkan keuntungan.
Layak > 1
Proyek dikatakan layak jika memiliki BCR lebih dari satu, dimana pemasukan lebih besar dari pengeluaran. Pada rasio ini, perusahaan diproyeksikan mendapatkan keuntungan yang didapat dari selisih antara pemasukan dan pengeluaran.
2.2.19.1. Komponen Biaya
Dalam BCA terdapat dua komponen yaitu komponen biaya dan komponen keuntungan atau manfaat. Komponen biaya sendiri dikategorikan menjadi 4 kategori utama yaitu :
1. Biaya pengadaan (Procurement cost)
Biaya pengadaan adalah semua biaya yang harus dikeluarkan yang berhubungan dengan perangkat keras. Biaya ini seperti biaya konsultasi pembelian perangkat keras, pembelian perangkat keras, instalasi, modal pengadaan, menejemen staff pada proses pengadaan, dan lain lain.
2. Biaya persiapan (start-up cost)
Biaya ini merupakan biaya yang dikeluarkan untuk membangun sistem siap dioperasikan. Biaya ini meliputi biaya pembelian, networking, menjemen dan personalia, serta pembelian perangkat lunak.
(33)
3. Biaya proyek (project related cost)
Biaya ini adalah biaya yang harus dikeluarkan selama pembangunan sistem termasuk implementasi, seperti biaya proses analisis sistem dan pengembangan sistem termasuk juga biaya upah pegawai atau tim yang terlibat.
4. Biaya operasi (Ongoing cost) dan biaya perawatan (Maintenance cost) Biaya ini merupakan biaya yang yang dikeluarkan ketika sistem sudah beroperasi, sedang biaya perawatan adalah biaya yang dikeluarkan untuk perawatan dan perbaikan sistem selama masa hidup proyek. Biaya ini menanggung seperti biaya listrik dan telepon, biaya koneksi jaringan internet, sewa infrastruktur tahunan, depresiasi, biaya konsultasi, dan lain lain.
2.2.19.2. Komponen Manfaat atau Keuntungan
Manfaat atau keuntungan dalam proses BCA dikelompokkan menjadi 4 kategori yaitu :
1. Manfaat mengurangi biaya 2. Manfaat mengurangi kesalahan
3. Manfaat meningkatkan kecepatan aktifitas
4. Manfaat meningkatkan perencanaan dan pengendalian menejemen
Keuntungan dari sebuah proyek pun menjadi komponen manfaat ini. Pendapatan keuntungan juga menjadi komponen yang harus diperhatikan dalam proses BCA ini.
2.2.19.3. Net Present Value
Net Present Value adalah salah satu metode analisis kelayakan proyek dengan cara mencari selisih antara arus kas keluar dan kas masuk yang telah dikonversikan sebelumnya menjadi nilai sekarang atau Present Value. Suatu investasi dikatakan layak jika nilai NPV lebih besar dari nol atau dari komponen kas masuk lebih besar dari kas keluar yang dihitung mulai dari periode waktu yang sama dengan nol (t=0) sampai periode investasi berakhir. Persamaan untuk mencari NPV dapat dilihat pada Rumus 2. 5.
(34)
27
= −
Rumus 2. 5 Persamaan Net Present Value
Dimana adalah nilai sekarang dari arus masuk atau benefit, dan adalah nilai sekarang dari arus keluar atau cost. Bila nilai ≥0 maka investasi dikatakan layak untuk dikerjakan, dan sebaliknya bila < 0 maka investasi tidak layak untuk dikerjakan.
(35)
155
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dilakukan implementasi dan pengujian terhadap sistem yang baru dibangun. Tahapan ini dilakukan setelah tahapan perancangan selesai dilakukan dan diimplementasikan pada bahasa pemrograman yang akan digunakan. Pengujian sistem dilakukan untuk mengetahui kekurangan dari sistem yang baru untuk pengembangan selanjutnya.
4.1
Implementasi Sistem
Implementasi sistem merupakan tahap pembangunan perangkat lunak yang merupakan tahapan setelah tahap perancangan sistem selesai. Tahap ini merupakan tahap dimana penulisan skrip kode dan sistem siap digunakan. Implementasi sistem meliputi implementasi perangkat keras, perangkat lunak, basis data, dan antamuka pengguna.
4.1.1 Implementasi Perangkat Keras
Spesifikasi kebutuhan perangkat keras yang digunakan untuk membangun Sistem Pendukung Keputusan Uji Kelayakan Proyek di PT Neuronworks Indonesia dapat dilihat pada Tabel 4. 1 di bawah ini.
Tabel 4. 1 Spesifikasi Perangkat Keras
No Perangkat Keras Spesifikasi
1 Prosesor Intel Core i5 2430M 2.4GHz
2 VGA AMD Radeon HD 6730M
3 Hardisk 320GB
4 Memori RAM 6GB
5 Koneksi Wifi LAN
4.1.2 Implementasi Perangkat Lunak
Spesidikasi kebutuhan perangkat lunak yang digunakan untuk membangung Sistem Pendukung Keputusan Uji Kelayakan Proyek di PT Neuronworks Indonesia dapat dilihat pada Tabel 4.2.
(36)
156
Tabel 4.2 Spesifikasi Perangkat Lunak
No Perangkat Lunak Keterangan
1 Sistem Operasi Windows 7 Ultimate 64 Bit
2 Bahasa Pemrograman PHP, Javasript, CSS, HTML
3 Web Server Apache
4 Database MySQL 5.6
5 Script Editor Notepad++
6 Web Browser Mozilla Firefox 33.0, Google Chrome
38.0.2125.111 m 4.1.3 Implementasi Basis Data
Basis data yang digunakan dalam pembangunan Sistem Pendukung Keputusan Uji Kelayakan Proyek di PT Neuronworks Indonesia adalah DBMS MySQL versi 5.6. Implementasi basis data dalam bahasa SQL dideskripsikan di bawah ini.
1. Tabel Aktivitas
Implementasi basis data tabel aktivitas dapat dilihat pada Tabel 4. 3. Tabel 4. 3 Implementasi Tabel aktivitas
Perintah SQL
CREATE TABLE IF NOT EXISTS `aktivitas` (
`id_aktivitas` int(11) NOT NULL AUTO_INCREMENT, `id_grup_aktivitas` int(11) NOT NULL DEFAULT '0', `nama_aktivitas` varchar(500) DEFAULT NULL,
`status` enum('Y','N') NOT NULL DEFAULT 'Y', PRIMARY KEY (`id_aktivitas`),
KEY `id_aktivitas` (`id_aktivitas`),
KEY `id_grup_aktivitas` (`id_grup_aktivitas`),
CONSTRAINT `AK_FK_1` FOREIGN KEY (`id_grup_aktivitas`)
REFERENCES `grup_aktivitas` (`id_grup_aktivitas`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8
(37)
157
2. Tabel aktivitas_proposal
Implementasi basis data tabel aktivitas dapat dilihat pada Tabel 4. 4. Tabel 4. 4 Implementasi Tabel aktivitas_proposal
Perintah SQL
CREATE TABLE IF NOT EXISTS `aktivitas_proposal` (
`id_aktivitas_proposal` int(11) NOT NULL AUTO_INCREMENT, `id_aktivitas` int(11) NOT NULL,
`id_proposal` int(11) NOT NULL, `kode_jabatan` varchar(50) NOT NULL, `mandays` int(11) DEFAULT NULL,
`keterangan` varchar(500) DEFAULT NULL, `ditambah_oleh` int(11) NOT NULL,
`ditambah_tanggal` datetime NOT NULL, `mulai_tanggal` date DEFAULT NULL, `selesai_tanggal` date DEFAULT NULL, `order` int(11) NOT NULL,
PRIMARY KEY (`id_aktivitas_proposal`), KEY `id_aktivitas` (`id_aktivitas`), KEY `AP_FK_2` (`id_proposal`),
KEY `AP_FK_3` (`kode_jabatan`), KEY `AP_FK_4` (`ditambah_oleh`),
CONSTRAINT `AP_FK_4` FOREIGN KEY (`ditambah_oleh`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE,
CONSTRAINT `AP_FK_1` FOREIGN KEY (`id_aktivitas`) REFERENCES `aktivitas` (`id_aktivitas`) ON DELETE CASCADE,
CONSTRAINT `AP_FK_2` FOREIGN KEY (`id_proposal`) REFERENCES `proposal` (`id_proposal`) ON DELETE CASCADE,
CONSTRAINT `AP_FK_3` FOREIGN KEY (`kode_jabatan`) REFERENCES `jabatan` (`kode_jabatan`) ON DELETE CASCADE
(38)
158
3. Tabel aktivitas_proposal_histori
Implementasi basis data tabel aktivitas_proposal_histori dapat dilihat pada Tabel 4. 5.
Tabel 4. 5 Implementasi tabel aktivitas_proposal_histori
Perintah SQL
CREATE TABLE IF NOT EXISTS `aktivitas_proposal_histori` ( `id_aktivitas_proposal` int(11) NOT NULL AUTO_INCREMENT, `id_aktivitas` int(11) NOT NULL,
`id_proposal` int(11) NOT NULL,
`kode_jabatan` varchar(50) DEFAULT NULL, `mandays` int(11) DEFAULT NULL,
`keterangan` varchar(500) DEFAULT NULL, `ditambah_oleh` int(11) NOT NULL,
`ditambah_tanggal` datetime NOT NULL, `mulai_tanggal` date DEFAULT NULL, `selesai_tanggal` date DEFAULT NULL, `order` int(11) NOT NULL,
PRIMARY KEY (`id_aktivitas_proposal`), KEY `APH_FK_1` (`id_aktivitas`),
KEY `APH_FK_2` (`id_proposal`), KEY `APH_FK_3` (`kode_jabatan`), KEY `APH_FK_4` (`ditambah_oleh`),
CONSTRAINT `APH_FK_4` FOREIGN KEY (`ditambah_oleh`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE,
CONSTRAINT `APH_FK_1` FOREIGN KEY (`id_aktivitas`)
REFERENCES `aktivitas` (`id_aktivitas`) ON DELETE CASCADE,
CONSTRAINT `APH_FK_2` FOREIGN KEY (`id_proposal`)
REFERENCES `proposal` (`id_proposal`) ON DELETE CASCADE,
CONSTRAINT `APH_FK_3` FOREIGN KEY (`kode_jabatan`)
REFERENCES `jabatan` (`kode_jabatan`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(39)
159
4. Tabel grup_aktivitas
Implementasi basis data tabel grup_aktivitas dapat dilihat pada Tabel 4. 6. Tabel 4. 6 Implementasi tabel grup_aktivitas
Perintah SQL
CREATE TABLE IF NOT EXISTS `grup_aktivitas` (
`id_grup_aktivitas` int(11) NOT NULL AUTO_INCREMENT, `nama_grup_aktivitas` varchar(100) NOT NULL,
`keterangan` varchar(250) DEFAULT NULL, `status` enum('Y','N') NOT NULL DEFAULT 'Y', PRIMARY KEY (`id_grup_aktivitas`),
KEY `id_grup_aktivitas` (`id_grup_aktivitas`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
5. Tabel histori_bca
Implementasi basis data tabel histori_bca dapat dilihat pada Tabel 4. 7. Tabel 4. 7 Implementasi tabel histori_bca
Perintah SQL
CREATE TABLE IF NOT EXISTS `histori_bca` (
`id_histori` int(11) NOT NULL AUTO_INCREMENT, `id_proposal` int(11) NOT NULL,
`total_pvb` double DEFAULT NULL, `total_pvc` double DEFAULT NULL, `npv` double DEFAULT NULL,
`bcr` double DEFAULT NULL,
`tanggal_dimasukkan` datetime NOT NULL, PRIMARY KEY (`id_histori`),
KEY `HB_FK_1` (`id_proposal`),
CONSTRAINT `HB_FK_1` FOREIGN KEY (`id_proposal`)
REFERENCES `proposal` (`id_proposal`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(40)
160
6. Tabel histori_proposal
Implementasi basis data tabel histori_proposal dapat dilihat pada Tabel 4. 8. Tabel 4. 8 Implementasi tabel histori_proposal
Perintah SQL
CREATE TABLE IF NOT EXISTS `histori_proposal` (
`id_histori_proposal` int(11) NOT NULL AUTO_INCREMENT, `id_proposal` int(11) NOT NULL,
`keterangan` varchar(1000) DEFAULT NULL,
`catatan_aktivitas` varchar(1000) DEFAULT NULL, `catatan_pengadaan` varchar(1000) DEFAULT NULL, `ditambahkan_tanggal` datetime NOT NULL,
`ditambahkan_oleh` int(11) NOT NULL, `diubah_tanggal` datetime DEFAULT NULL, `diubah_oleh` int(11) DEFAULT NULL,
`status` enum('Y','N') NOT NULL DEFAULT 'N', PRIMARY KEY (`id_histori_proposal`),
KEY `HP_FK_1` (`id_proposal`), KEY `HP_FK_2` (`ditambahkan_oleh`), KEY `HP_FK_3` (`diubah_oleh`),
CONSTRAINT `HP_FK_3` FOREIGN KEY (`diubah_oleh`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE,
CONSTRAINT `HP_FK_1` FOREIGN KEY (`id_proposal`)
REFERENCES `proposal` (`id_proposal`) ON DELETE CASCADE, CONSTRAINT `HP_FK_2` FOREIGN KEY (`ditambahkan_oleh`) REFERENCES `pengguna` (`nik`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
7. Tabel jabatan
Implementasi basis data tabel jabatan dapat dilihat pada Tabel 4. 9. Tabel 4. 9 Implementasi tabel jabatan
Perintah SQL
CREATE TABLE IF NOT EXISTS `jabatan` ( `kode_jabatan` varchar(30) NOT NULL, `nama_jabatan` varchar(100) NOT NULL, `deskripsi` varchar(250) NOT NULL, PRIMARY KEY (`kode_jabatan`)
(41)
161
8. Tabel klien
Implementasi basis data tabel klien dapat dilihat pada Tabel 4. 10. Tabel 4. 10 Implementasi tabel klien
Perintah SQL
CREATE TABLE IF NOT EXISTS `klien` (
`id_klien` int(11) NOT NULL AUTO_INCREMENT, `nama_klien` varchar(100) NOT NULL,
`alamat` varchar(250) NOT NULL, `telepon` varchar(20) DEFAULT NULL, `pic` varchar(50) DEFAULT NULL,
`keterangan` varchar(250) DEFAULT NULL, PRIMARY KEY (`id_klien`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
9. Tabel kompeten
Implementasi basis data tabel kompeten dapat dilihat pada Tabel 4. 11. Tabel 4. 11 Implementasi tabel kompeten
Perintah SQL
CREATE TABLE IF NOT EXISTS `kompeten` (
`id_kompeten` int(11) NOT NULL AUTO_INCREMENT, `kode_jabatan` varchar(50) NOT NULL,
`id_grup_aktivitas` int(11) NOT NULL, PRIMARY KEY (`id_kompeten`),
KEY `KP_FK_1` (`kode_jabatan`), KEY `KP_FK_2` (`id_grup_aktivitas`),
CONSTRAINT `KP_FK_2` FOREIGN KEY (`id_grup_aktivitas`)
REFERENCES `grup_aktivitas` (`id_grup_aktivitas`) ON
DELETE CASCADE,
CONSTRAINT `KP_FK_1` FOREIGN KEY (`kode_jabatan`)
REFERENCES `jabatan` (`kode_jabatan`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=utf8;
(42)
162
10. Tabel komponen_pengadaan
Implementasi basis data tabel komponen_pengadaan dapat dilihat pada Tabel 4. 12.
Tabel 4. 12 Implementasi tabel komponen_pengadaan Perintah SQL
CREATE TABLE IF NOT EXISTS `komponen_pengadaan` (
`id_komponen_pengadaan` int(11) NOT NULL
AUTO_INCREMENT,
`id_proposal` int(11) NOT NULL DEFAULT '0', `item_pengadaan` varchar(250) DEFAULT NULL, `keterangan` varchar(500) DEFAULT NULL, `jumlah_item` int(11) DEFAULT NULL, `harga` double DEFAULT NULL,
`order` int(11) NOT NULL,
PRIMARY KEY (`id_komponen_pengadaan`), KEY `KMP_FK_1` (`id_proposal`),
CONSTRAINT `KMP_FK_1` FOREIGN KEY (`id_proposal`)
REFERENCES `proposal` (`id_proposal`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='tabel menyimpan data pengadaan barang bila ada';
(43)
163
11. Tabel pengguna
Implementasi basis data tabel pengguna dapat dilihat pada Tabel 4. 13. Tabel 4. 13 Implementasi tabel pengguna
Perintah SQL
CREATE TABLE IF NOT EXISTS `pengguna` ( `nik` int(11) NOT NULL,
`nama` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `telepon` varchar(20) NOT NULL, `alamat` varchar(500) NOT NULL, `tempat_lahir` varchar(100) NOT NULL, `tanggal_lahir` date NOT NULL,
`kode_jabatan` varchar(30) NOT NULL, `password` varchar(100) NOT NULL,
`status_aktif` enum('Y','N') NOT NULL DEFAULT 'Y', `tanggal_rekruitasi` datetime NOT NULL,
PRIMARY KEY (`nik`),
KEY `PGG_FK_1` (`kode_jabatan`),
CONSTRAINT `PGG_FK_1` FOREIGN KEY (`kode_jabatan`)
REFERENCES `jabatan` (`kode_jabatan`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(44)
164
12. Tabel proposal
Implementasi basis data tabel proposal dapat dilihat pada Tabel 4. 14. Tabel 4. 14 Implementasi tabel proposal
Perintah SQL
CREATE TABLE IF NOT EXISTS `proposal` (
`id_proposal` int(11) NOT NULL AUTO_INCREMENT, `judul` varchar(250) NOT NULL,
`nilai_penawaran` double NOT NULL, `umur_proyek` int(11) NOT NULL,
`unit_umur_proyek` enum('Y','M','D') NOT NULL, `informasi_tambahan` text NOT NULL,
`id_proyek` int(11) NOT NULL,
`tanggal_dibuat` datetime NOT NULL, `dibuat_oleh` int(11) NOT NULL,
`urutan_wf_id` int(11) NOT NULL DEFAULT '1', `id_sukubunga` int(11) NOT NULL,
`approved` enum('Y','N') DEFAULT NULL, `mulai_proyek` date DEFAULT NULL, `selesai_proyek` date DEFAULT NULL, PRIMARY KEY (`id_proposal`),
KEY `id_proposal` (`id_proposal`), KEY `PRP_FK_1` (`id_proyek`), KEY `PRP_FK_2` (`dibuat_oleh`), KEY `PRP_FK_3` (`urutan_wf_id`), KEY `PRP_FK_4` (`id_sukubunga`),
CONSTRAINT `PRP_FK_4` FOREIGN KEY (`id_sukubunga`)
REFERENCES `sukubunga` (`id_sukubunga`) ON DELETE CASCADE, CONSTRAINT `PRP_FK_1` FOREIGN KEY (`id_proyek`) REFERENCES `proyek` (`id_proyek`) ON DELETE CASCADE,
CONSTRAINT `PRP_FK_2` FOREIGN KEY (`dibuat_oleh`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE,
CONSTRAINT `PRP_FK_3` FOREIGN KEY (`urutan_wf_id`)
REFERENCES `urutan_workflow` (`urutan_wf_id`) ON DELETE
CASCADE
(45)
165
13. Tabel proyek
Implementasi basis data tabel proyek dapat dilihat pada Tabel 4. 15. Tabel 4. 15 Implementasi tabel proyek
Perintah SQL
CREATE TABLE IF NOT EXISTS `proyek` (
`id_proyek` int(11) NOT NULL AUTO_INCREMENT, `nama_proyek` varchar(100) NOT NULL,
`deskripsi` varchar(500) NOT NULL, `tanggal_dibuat` datetime NOT NULL, `dibuat_oleh` int(11) NOT NULL,
`tanggal_diubah` datetime DEFAULT NULL, `diubah_oleh` int(11) DEFAULT NULL,
`status` enum('N','P','F') NOT NULL DEFAULT 'N' COMMENT 'N New, P In Progress, F Finished',
`id_klien` int(11) NOT NULL, PRIMARY KEY (`id_proyek`), KEY `PRY_FK_1` (`dibuat_oleh`), KEY `PRY_FK_2` (`diubah_oleh`), KEY `PRY_FK_3` (`id_klien`),
CONSTRAINT `PRY_FK_3` FOREIGN KEY (`id_klien`) REFERENCES `klien` (`id_klien`) ON DELETE CASCADE,
CONSTRAINT `PRY_FK_1` FOREIGN KEY (`dibuat_oleh`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE,
CONSTRAINT `PRY_FK_2` FOREIGN KEY (`diubah_oleh`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
14. Tabel sukubunga
Implementasi basis data tabel sukubunga dapat dilihat pada Tabel 4. 16. Tabel 4. 16 Implementasi tabel sukubunga
Perintah SQL
CREATE TABLE IF NOT EXISTS `sukubunga` (
`id_sukubunga` int(11) NOT NULL AUTO_INCREMENT, `sukubunga` decimal(10,2) DEFAULT NULL,
`periode` varchar(10) DEFAULT NULL,
`status` enum('Y','N') NOT NULL DEFAULT 'Y', PRIMARY KEY (`id_sukubunga`)
(46)
166
15. Tabel tarif
Implementasi basis data tabel tarif dapat dilihat pada Tabel 4. 17. Tabel 4. 17 Implementasi tabel tarif
Perintah SQL
CREATE TABLE IF NOT EXISTS `tarif` (
`id_tarif` int(11) NOT NULL AUTO_INCREMENT, `kode_jabatan` varchar(30) NOT NULL,
`nilai` double NOT NULL,
`status` enum('Y','N') NOT NULL DEFAULT 'Y', PRIMARY KEY (`id_tarif`),
KEY `TR_FK_1` (`kode_jabatan`),
CONSTRAINT `TR_FK_1` FOREIGN KEY (`kode_jabatan`)
REFERENCES `jabatan` (`kode_jabatan`) ON DELETE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;
16. Tabel urutan_workflow
Implementasi basis data tabel urutan_workflow dapat dilihat pada Tabel 4. 18.
Tabel 4. 18 Implementasi tabel urutan_workflow
Perintah SQL
CREATE TABLE IF NOT EXISTS `urutan_workflow` ( `urutan_wf_id` int(11) NOT NULL AUTO_INCREMENT, `kode_jabatan` varchar(10) NOT NULL,
`sequence` smallint(6) NOT NULL, PRIMARY KEY (`urutan_wf_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
COMMENT='tabel konfigurasi urutan workflow untuk jabatan terhadap proposal';
(47)
167
17. Tabel inbox
Implementasi basis data tabel inbox dapat dilihat pada tabel. Tabel 4. 19 Implementasi tabel inbox
Perintah SQL
CREATE TABLE IF NOT EXISTS `inbox` (
`inbox_id` int(11) NOT NULL AUTO_INCREMENT, `destination` int(13) NOT NULL,
`text` text NOT NULL,
`inbox_date` datetime NOT NULL,
`status` enum('Y','N') NOT NULL DEFAULT 'N', `id_proposal` int(11) NOT NULL,
PRIMARY KEY (`inbox_id`),
KEY `IBX_FK_1` (`destination`), KEY `IBX_FK_2` (`id_proposal`),
CONSTRAINT `IBX_FK_2` FOREIGN KEY (`id_proposal`)
REFERENCES `proposal` (`id_proposal`) ON DELETE CASCADE,
CONSTRAINT `IBX_FK_1` FOREIGN KEY (`destination`)
REFERENCES `pengguna` (`nik`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='inbox untuk sounding proposal yang telah dikerjakan';
4.1.4 Implementasi Antarmuka Pengguna
Implementasi antarmuka pengguna dilakukan untuk semua tampilan sistem yang dibangun. Implementasi antarmuka semua pengguna dapat dilihat pada Gambar 4. 1.
(48)
168
Tampilan yang diakses oleh semua pengguna dijelaskan pada Tabel 4. 20 dibawah ini.
Tabel 4. 20 Implementasi antarmuka pengguna
No Nama Tampilan Nama File Keterangan
1 Form Login Login.php Halaman untuk memasukkan username dan password pengguna
2 Layout utama layout.php Merupakan halaman layout utama tampilan pengguna, pada layout utama juga ditampilkan menu masing masing pengguna yaitu menu administrator, sistem analis, COO, project manager, dan direktur
3 Form Profil Pengguna
profile.php Form tempat pengguna melihat dan mengubah data profil
(49)
169
Implementasi untuk antarmuka untuk Administrator dapat dilihat pada Gambar 4. 2.
(50)
170
Menu yang diakses oleh administrator adalah data master data sistem. Implementasi antarmuka administrator dijelaskan pada Tabel 4. 21.
Tabel 4. 21 Implementasi antarmuka administrator
No Nama Tampilan Nama File Keterangan
1 Pengguna users.php Halaman untuk menampilkan daftar pengguna yang terdaftar pada sistem addUser.php Form untuk menambah dan mengubah
pengguna yang akan menggunakan sistem 2 Jabatan allJabatan.php Menu untuk menampilkan daftar jabatan
addJabatan.php Form untuk menambahkan dan mengubah jabatan
3 Tarif allTariff.php Menu untuk menampilkan daftar tarif addTariff.php Form untuk menentukan tarif masing
masing jabatan
4 Suku bunga interests.php Menu untuk menampilkan daftar suku bunga
addInterest.php Form untuk memperbarui suku bunga 5 Klien clients.php Menu untuk menampilkan daftar klien
addClient.php Form untuk menambah atau mengubah data klien
6 Aktivitas activities.php Menu untuk menampilkan daftar aktivitas addactivity.php Form untuk memasukkan atau mengubah
data aktivitas
7 Grup Aktivitas groupActivity.php Menu untuk menampilkan daftar grup aktivitas
addga.php Form untuk memasukkan atau mengubah data grup aktivitas
addcompetent.php Form untuk menentukan jabatan yang berkompeten terhadap grup aktivitas
(51)
171
Implementasi antarmuka direktur dapat dilihat pada Gambar 4. 3 di bawah ini.
Gambar 4. 3 Implementasi antarmuka direktur
Menu yang diakses oleh direktur adalah data proyek dan uji kelayakan proyek. Implementasi antarmuka administrator dijelaskan pada Tabel 4. 22.
Tabel 4. 22 Implementasi antarmuka direktur
No Nama Tampilan Nama File Keterangan
1 Proyek projects.php Menu untuk menampilkan daftar proyek addProject.php Form untuk memasukkan atau mengubah
data proyek
followupProject.php Form untuk memasukkan data data proposal
2 Uji kelayakan proyek propertest.php Menu untuk menampilkan daftar proposal yang telah selesai
viewPropertest.php Menu untuk melihat hasil uji kelayakan proyek dan merespon hasil uji kelayakan proposal
Implementasi antarmuka project manager dan sistem analyst dapat dilihat pada Gambar 4. 4 di bawah ini.
(52)
172
Gambar 4. 4 Implementasi antarmuka project manager dan sistem analis
Menu yang diakses oleh project manager dan sistem analis adalah data proyek. Implementasi antarmuka project manager dan sistem analis dijelaskan pada Tabel 4. 23.
Tabel 4. 23 Implementasi antarmuka project manager dan sistem analis
No Nama Tampilan Nama File Keterangan
1 Proyek projects.php Menu untuk menampilkan daftar proyek followupProject.php Form untuk memasukkan data data
proposal
Implementasi antarmuka COO dapat dilihat pada Gambar 4. 5 di bawah ini.
(53)
173
Menu yang diakses oleh COO adalah data proyek, master tarif dan master suku bunga. Implementasi antarmuka COO dijelaskan pada Tabel 4. 24.
Tabel 4. 24 Implementasi antarmuka COO
No Nama Tampilan Nama File Keterangan
1 Proyek projects.php Menu untuk menampilkan daftar proyek followupProject.php Form untuk memasukkan data data
proposal
2 Tarif allTariff.php Menu untuk menampilkan daftar tarif addTariff.php Form untuk menentukan tarif masing
masing jabatan
3 Suku bunga interests.php Menu untuk menampilkan daftar suku bunga
addInterest.php Form untuk memperbarui suku bunga
4.2
Pengujian Perangkat Lunak
Pengujian perangkat lunak dilakukan untuk mengetahui kualitas dari sebuah perangkat lunak dengan cara melakukan pemeriksaan dari keseluruhan bagian aplikasi untuk menemukan bug pada perangkat lunak.
4.2.1 Pengujian Sistem
Pengujian sistem merupakan proses pemeriksaan sistem yang dilakukan dengan tujuan menemukan kesalahan pada sistem. Pengujian sistem dilakukan sebelum perangkat lunak diberikan kepada pengguna. Pengujian sistem diusahakan untuk mendapatkan sebanyak mungkin kesalahan dari sistem.
4.2.2 Rencana Pengujian
Pengujian perangkat lunak ini menggunakan jenis pengujian black box dengan tujuan mengetahui apakah perangkat lunak berfungsi dengan baik dan sesuai dengan kebutuhan dari pengguna. Hal yang diujikan menggunakan metode black box dijelaskan pada Tabel 4. 25 berikut.
(54)
174
Tabel 4. 25 Rencana pengujian
No Kebutuhan yang diuji Detail Uji
1 Form login Pengguna masuk ke dalam sistem sesuai dengan hak akses yang diberikan
2 Form data pengguna Administrator dapat melakukan operasi tambah, ubah, dan nonaktif data pengguna
3 Form data jabatan Administrator dapat melakukan operasi tambah dan ubah data jabatan
4 Form data tarif Administrator dapat melakukan operasi tambah dan ubah data tarif
5 Form data suku bunga Administrator dapat melakukan operasi tambah suku bunga
6 Form data klien Administrator dapat melakukan operasi tambah dan ubah data klien
7 Form data grup aktivitas Administrator dapat melakukan operasi tambah dan ubah data grup aktivitas
8 Form data aktivitas Administrator dapat melakukan operasi tambah dan ubah data aktivitas
9 Form data profil Pengguna dapat melakukan operasi ubah profil dan ubah password
10 Form data proyek Pengguna dapat melakukan lihat, tambah dan ubah proyek
11 Form followup proposal Pengguna dapat melakukan operasi simpan, submit, dan kembalikan proposal
12 Form data uji kelayakan proyek Pengguna dapat melihat data proposal yang sudah berada pada tahap akhir, melihat hasil uji kelayakan proyek, dan merespon hasil uji kelayakan proyek 4.2.3 Pengujian Alpha
Pengujian alpha adalah pengujian perangkat lunak yang berfokus pada hasil keluaran dari masukan dari sebuah form. Pengujian alpha dikatakan berhasil apabila hasil keluaran sesuai dengan data yang dimasukkan pada setiap form. 4.2.3.1 Pengujian Login
Hasil pengujian terhadap form login dapat dilihat pada Tabel 4. 26. Data yang dimasukkan pada form login adalah username dan password.
(55)
175
Tabel 4. 26 Pengujian form login
Kasus dan hasil uji (Data Normal)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Username password cocok,
Username : 91110800 Password : administrator
Sistem menampilkan halaman utama dan menu sesuai dengan hak akses pengguna
Sistem menampilkan halaman utama dan menu sesuai dengan hak akses pengguna
[√] Diterima [ ] Ditolak
Kasus dan hasil uji (Data Salah)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Username kosong Username : -
Password : administrator
Menampilkan pesan “Silahkan isikan Username Anda” dan tidak dapat login
Sistem menampilkan pesan “Silahkan isikan Username Anda” dan tidak pengguna tidak dapat login
[√] Diterima [ ] Ditolak
Password kosong Username : 91110800 Password : -
Menampilkan pesan “Silahkan isikan
password Anda” dan
tidak dapat login
Sistem menampilkan pesan “Silahkan isikan
password Anda” dan
tidak pengguna tidak dapat login
[√] Diterima [ ] Ditolak
Username password
tidak cocok
Username : 91110800 Password : testlogin
Tidak dapat login dan menampilkan pesan “Username dan Password tidak cocok”
Pengguna tidak dapat login dan sistem menampilkan pesan “Username dan Password tidak cocok”
[√] Diterima [ ] Ditolak
4.2.3.2 Pengujian pengolahan data pengguna
Pengujian pengolahan data pengguna meliputi tambah pengguna, ubah pengguna, reset password, dan nonaktif pengguna. Hasil pengujian terhadap pengolahan data pengguna dapat dilihat dari Tabel 4. 27.
(56)
176
Tabel 4. 27 Pengujian form data pengguna
Kasus dan hasil uji (Data Normal)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Data pengguna yang ditambah,
NIK : 91110800 Nama lengkap : Administrator Alamat : bandung Telepon : 0227563659
Email :
admin@yopmail.com
Tanggal lahir : 11/29/1980
Tanggal bergabung : 01/01/2010
Jabatan :
Administrator
Data tersimpan dalam tabel pengguna dan tampilkan pesan “Data pengguna sudah disimpan”
Data tersimpan dalam tabel pengguna dan sistem menampilkan pesan “Data pengguna sudah disimpan”
[√] Diterima [ ] Ditolak
Data pengguna yang diubah
NIK : 91110800 Nama lengkap : Administrator Alamat : Jakarta Telepon : 0227563659
Email :
admin@yopmail.com
Tanggal lahir : 11/29/1980
Tanggal bergabung : 01/01/2010
Jabatan :
Administrator
Data terubah dan tersimpan dalam tabel penggunadan tampil pesan “Data pengguna sudah disimpan”
Data terubah dalam tabel pengguna dan tampil pesan “Data pengguna sudah disimpan”
[√] Diterima [ ] Ditolak
Data pengguna yang di-nonaktif-kan Username : 91110835
Tampil pesan “Pengguna sudah dinonaktifkan”, Pengguna menjadi nonaktif dan tidak dapat login
Tampil pesan “Pengguna sudah dinonaktifkan”, Penguna menjadi nonaktif dan tidak dapan login
[√] Diterima [ ] Ditolak
Data pengguna yang di reset password Username:91110836
Password pengguna berubah menjadi standar dan tampil pesan “Password berhasil diperbarui”
Password pengguna berubah menjadi standar dan menampilkan
“Password berhasil diperbarui”
[√] Diterima [ ] Ditolak
(57)
177
Kasus dan hasil uji (Data Salah)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Data pengguna kosong salah satu atau semua
NIK : 91110800 Nama lengkap : Administrator Alamat : bandung Telepon : 0227563659
Email :
admin@yopmail.com
Tanggal lahir : 11/29/1980
Tanggal bergabung : 01/01/2010
Jabatan : Administrator
Data tidak disimpan dan tampil pesan “Field harus diisi”,
Data tidak disimpan dan menampilkan pesan “Field harus diisi”
[√] Diterima [ ] Ditolak
Email salah format Email : admin@
Data tidak disimpan dan tampil pesan “Masukkan alamat email yang benar”
Data tidak disimpan dan menampilkan pesan “Masukkan alamat email yang benar”
[√] Diterima [ ] Ditolak
Data pengguna. NIK duplikasi
NIK : 91110800
Data tidak disimpan dan tampil pesan “NIK sudah terdaftar sebelumnya, silahkan masukkan data yang lain”
Data tidak disimpan dan menampilkan pesan “NIK sudah terdaftar sebelumnya, silahkan masukkan data yang lain”
[√] Diterima [ ] Ditolak
4.2.3.3 Pengujian pengolahan data jabatan
Pengujian yang dilakukan pada proses pengolahan data jabatan adalah tambah jabatan dan ubah jabatan. Hasil pengujian terhadap form data jabatan dapat dilihat dari Tabel 4. 28.
(58)
178
Tabel 4. 28 Pengujian form data jabatan
Kasus dan hasil uji (Data Normal)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Data jabatan yang ditambah
Kode Jabatan : BDEV Nama Jabatan : Bussines
Development
Deskripsi: Bussines Development
Data tersimpan dalam tabel jabatan dan tampil pesan “Jabatan sudah disimpan”
Data tersimpan dalam tabel jabatan dan menampilkan
“Jabatan sudah disimpan”
[√] Diterima [ ] Ditolak
Data jabatan yang diubah
Kode Jabatan : BDEV Nama Jabatan : Business
Development
Deskripsi: Business Development
Data terubah dan tersimpan dalam tabel jabatan dan tampil pesan “Jabatan sudah disimpan”
Data terubah dan terubah dalam tabel jabatan dan menampilkan
“Jabatan sudah disimpan”
[√] Diterima [ ] Ditolak
Kasus dan hasil uji (Data Salah)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Data jabatan salah satu atau semua kosong
Kode Jabatan : BDEV Nama Jabatan : Business
Development Deskripsi:
Data tidak disimpan dan tampil pesan “Field ini harus diisi”
Data tidak disimpan dan sistem
menampilkan pesan “Field ini harus diisi”
[√] Diterima [ ] Ditolak
Kode jabatan duplikasi
Kode Jabatan : BDEV
Data tidak disimpan dan tampil pesan “Jabatan sudah terdaftar sebelumnya, silahkan masukkan data yang lain”
Data tidak disimpan dan sistem menampilkan pesan “Jabatan sudah terdaftar sebelumnya, silahkan masukkan data lain”
[√] Diterima [ ] Ditolak
4.2.3.4 Pengujian pengolahan data tarif
Proses pengujian pengolahan data tarif adalah menentukan tarif. Hasil pengujian terhadap form data tarif dapat dilihat dari Tabel 4. 29.
(59)
179
Tabel 4. 29 Pengujian form data tarif
Kasus dan hasil uji (Data Normal)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Data tarif yang ditambah
Tarif : 950000
Data tersimpan dalam tabel tarif dan tampil pesan “Tarif sudah disimpan”
Data tersimpan dalam tabel tarif dan menampilkan “Tarif sudah disimpan”
[√] Diterima [ ] Ditolak
Data tarif yang diubah Tarif : 1000000
Data terubah dan tersimpan dalam tabel tarif dan tampil pesan “Tarif sudah disimpan”
Data terubah dan tersimpan dalam tabel tarif dan menampilkan “Tarif sudah disimpan”
[√] Diterima [ ] Ditolak
Kasus dan hasil uji (Data Salah)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Tarif kosong Tarif : -
Data tidak disimpan dan tampil pesan “Field ini harus diisi”
Data tidak disimpan dan sistem menampilkan pesan “Field ini harus diisi”
[√] Diterima [ ] Ditolak
Tarif berbentuk huruf Tarif : testtarif
Form tidak dapat diisi selain angka
Form tidak dapat diisi selain angka
[√] Diterima [ ] Ditolak
4.2.3.5 Pengujian pengolahan data suku bunga
Hasil pengujian terhadap form data suku bunga dapat dilihat dari Tabel 4. 30. Data yang diuji adalah data suku bunga yang ditambah.
Tabel 4. 30 Pengujian form data sukubunga
Kasus dan hasil uji (Data Normal)
Data masukan Yang diharapkan Pengamatan Kesimpulan
Data suku bunga yang ditambah
Sukubunga : 7.5
Data tersimpan dalam tabel suku bungadan tampil pesan “Suku bunga sudah ditentukan”
Data tersimpan dalam tabel suku bunga dan menampilkan “Suku bunga sudah ditentukan”
[√] Diterima [ ] Ditolak
(1)
195
BAB 5
KESIMPULAN DAN SARAN
5.1.
Kesimpulan
Berdasarkan penelitian yang sudah dilakukan mengenai analisis, perancangan, implementasi, dan pengujian sistem pendukung keputusan uji kelayakan proyekdi PT Neuronworks Indonesia, maka dapat diambil kesimpulan sebagai berikut :
1. Sistem ini memudahkan project manager dalam menyusun rencana aktivitas proyek.
2. Sistem ini memudahkan system analyst dalam memberikan rekomendasi pengadaan proyek.
3. Sistem ini memudahkan COO dalam mengawasi dan mengatur pengeluaran perusahaan tehadap pelaksanaan proyek.
4. Sistem ini memudahkan direktur dalam memantau perkembangan setiap tahapan pembuatan proposal.
5. Sistem ini cukup membantu direktur dalam mengambil keputusan dalam menentukan kelayakan proyek.
5.2.
Saran
Saran yang dapat diberikan untuk pengembangan sistem ini adalah : 1. Modul followup proposal harus dibuat lebih mudah dan lebih mudah
digunakan. Tata letak antarmuka pada modul harus lebih mudah untuk dipahami dan simpel.
2. Dapat dikembangkan lebih lanjut ke bagian controlling aktivitas proyek apabila proyek dinyatakan layak dan dikerjakan.
(2)
(3)
BIODATA PENULIS
Nama : Indra Firdaus
NIM : 10112979
Tempat, Tgl Lahir
: Banyumas, 23 Juli 1991 Jenis Kelamin : Laki – laki
Agama : Islam
Alamat : Jalan Ciganitri, Bojongsoang,
Bandung
Telepon : 085291370936
Email : spy09game@gmail.com
RIWAYAT PENDIDIKAN SD
Tanggal Lulus/Ijazah
: 2002
Nama Institusi : SDN 1 Karanganyar Kota Institusi : Patikraja
SMP
Tanggal Lulus/Ijazah
: 2005
Nama Institusi : SMPN 2 Patikraja Kota Institusi : Patikraja
SMA
Tanggal Lulus/Ijazah
: 2008
Nama Institusi : SMAN 2 Purwokerto
Jurusan : Ilmu Pengetahuan Alam
Kota Institusi : Patikraja
DIPLOMA 3
Tanggal Lulus/Ijazah
: 2011
Nama Institusi : Institut Teknologi Telkom
Fakultas : Teknik Informatika
Jurusan : Teknik Informatika
Kota Institusi : Bandung SARJANA
(PROSES)
Nama Institusi : Universitas Komputer Bandung
Fakultas : Teknik dan Ilmu Komputer
Jurusan : Teknik Informatika
(4)
(5)
(6)