Sistem pendukung keputusan uji kelayakan proyek menggunakan metode benefit cost analysis di PT.Neuronworks Indonesia

(1)

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 Data

Metode 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. Proyek

Menurut 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)