BAB 2 TINJAUAN PUSTAKA
2.1 Teori yang Berkaitan 2.1.1 Perangkat Lunak Menurut Pressman (2010:4), definisi dari perangkat lunak mungkin mengambil dari beberapa bentuk dibawah: 1. Instruksi – instruksi (program komputer) yang ketika di eksekusi menyediakan fitur, fungsi, dan penampilan yang diinginkan. 2. Struktur data yang memungkinkan suatu program cukup mampu untuk memanipulasi informasi. 3. Informasi deskriptif dalam bentuk hard copy atau bentuk virtual yang menggambarkan operasi dan kegunaan program. 2.1.2 Rekayasa Perangkat Lunak Menurut Pressman (2010:13), rekayasa perangkat lunak adalah pengembangan dan penggunaan dari prinsip pengembangan suara dengan tujuan untuk memperoleh perangkat lunak secara ekonomis yang reliable dan bekerja secara efisien pada mesin nyata. Secara umum rekayasa perangkat lunak dibagi menjadi empat lapisan, antara lain: a. Process model Merupakan fondasi dari rekayasa perangkat lunak yang mendefinisikan sebuah framework yang harus dibangun untuk penyampaian secara efektif pada teknologi rekayasa perangkat lunak. b. Methods Yakni menyediakan secara teknis bagaimana cara untuk membangun suatu perangkat lunak. c. Tool Yakni menyediakan dukungan otomatis dan semi otomatis untuk proses dan metodenya 7
8 d. Quick focus Merupakan landasan yang menopang tools, methods, process dalam rekayasa perangkat lunak.
2.1.3 Aplikasi Perangkat Lunak Menurut Pressman (2010:7), aplikasi perangkat lunak adalah suatu program yang berdiri sendiri yang memecahkan sebuah kebutuhan bisnis yang spesifik.
2.1.4 Perancangan Perangkat Lunak Menurut Pressman (2010:219), perancangan perangkat lunak adalah sebuah proses berulang dimana kebutuhan-kebutuhan diterjemahkan menjadi sebuah “blue-print” untuk membangun perangkat lunak.
2.1.5 Web Application Menurut Pressman (2010:8), web application atau disebut dengan “WebApps”, kategori perangkat lunak jaringan sentris ini menjangkau sebuah susunan lebar dari aplikasi. “WebApps” berkembang menjadi lingkungan komputer yang canggih yang tidak hanya menyediakan fitur yang berdiri sendiri, fungsi komputer, dan konten ke end user, tetapi juga terintegrasi dengan basis data perusahaan dan aplikasi bisnis.
2.1.6 Object Oriented Programming (OOP) Menurut Ullman (2013: 120), OOP adalah pemograman yang tidak hanya menggambarkan sintaks melainkan sebuah jalan berpikir yang baru tentang suatu masalah menggunakan objek. Menurut Kendal (2009: 23), Keuntungan dari OOP adalah: a. Better abstraction yakni abtraksi yang lebih baik dimana pemodelan informasi dilakukan menjadi struktur-struktur yang lebih kecil. b. Better maintainability yakni lebih mudah di pahami dan dikelola karena dilakukan pemisahan struktur logical program menjadi bagian yang lebih kecil.
9 c. Better reusability yakni objek yang telah dibuat sebelumnya dapat digunakan kembali. Menurut
Ullman (2013: 120), secara teknis kelemahan OOP
adalah dimana penggunaan objek dapat menjadi lebih tidak efisien dari pada menggunakan pendekatan prosedur pada beberapa kasus. Terkait dengan kesalahan penggunaan ataupun kelebihan penggunaan dari suatu objek.
2.1.7 Project Management Menurut Marchewka (2010: 17), project adalah usaha sementara yang dilakukan untuk menyelesaikan sebuah produk unik, jasa, atau hasil. Menurut Marchewka (2010: 17), project management adalah aplikasi yang terdiri dari knowledge , skills, tools, dan teknik pada aktivitas projek untuk memenuhi kebutuhan projek. Menurut Hill (2008: 3), Project Management menyediakan sebuah standarisasi, proses berulang untuk menuntun performa dari konsep ke penyelesaian.
Project
Management
memerlukan
koordinasi
dan
kolaborasi dengan kata kunci pemangku kepentingan, sebagian besar adalah manajer.
2.1.8 Project Management Office (PMO) Menurut Hill (2008: 5-6), Project Management Office dideskripsikan sebagai integrator untuk organisasi yang memastikan bahwa sebuah proses yang standar, terstruktur, dan berulang untuk melakukan manajemen proyek yang dibangun dalam organisasi. Menurut Hill (2008: 8) Project Management Office bertujuan untuk : 1. Menentukan dan mengimplementasi proses manajemen proyek dan solusi praktik yang searah dengan bisnis organisasi. 2. Mendukung performa pekerjaan teknis organisasi. 3. Membantu manajer proyek dan tim proyek untuk mencapai tujuan proyek. 4. Membangun pendekatan standar untuk manajemen proyek yang digunakan semua manajer proyek diantara organisasi yang relevan.
10 Menurut Hill (2008: 57-58) di dalam sebuah PMO, dibutuhkan tools sebagai berikut: 1. Project life-cycle management Merupakan tools yang memfasilitasi pencapaian dari aktivitas manajemen proyek. Sebagai contoh adalah metodologi sistem dan langkah proses sistem. 2. Project planning dan oversight Merupakan
tools
yang
disediakan
untuk
pengawasan, dan pengelolaan performa proyek.
perencanaan,
Sebagai contoh
adalah aplikasi manajemen jadwal, sumber daya, dan biaya dari proyek. 3. Project collaboration Merupakan tools yang memungkinkan manajer proyek, anggota tim proyek, dan pemangku kepentingan proyek lainnya untuk berkomunikasi, bertukar, dan meninjau hal yang bersifat teknis dan informasi bisnis mengenai proyek dalam organisasi. Sebagai contoh adalah aplikasi manajemen laporan, rapat, dan knowledge. 4. Document management Merupakan tools yang memfasilitasi pengembangan dan pengelolaan dari manajemen proyek dan spesifikasi, rencana proyek, petunjuk teknis, dan dokumentasi proyek relevan lainnya. Sebagai contoh adalah aplikasi spreadsheet, database, dokumen, dan konten. 5. Business Systems Merupakan tools yang memungkinkan aspek bisnis dari manajemen proyek untuk diintegrasikan untuk penggunaan PMO, proyek dan manajer program, dan pemangku kepentingan lainnya. Sebagai contoh aplikasi manajemen fasilitas, proposal, kontrak dan persetujuan. 6. Project environment support Merupakan tools yang memungkinkan PMO dan manajer yang relevan lainnya di dalam lingkungan proyek untuk memeriksa kapabilitas, mengawasi ketersediaan sumber daya, dan utilisasi, mengimplementasi
practices,
dan
melakukan
perencanaan
11 operasional dan aktivitas pendukung. Sebagai contoh aplikasi manajemen sumber informasi dan program pelatihan. 2.1.9 PHP Hypertext Processor (PHP) Menurut Doyle (2010 : 3-4), PHP adalah sebuah bahasa pemograman untuk membangun website yang dinamis dan interaktif. PHP merupakan sebuah server-side scripting language, yang mengartikan bahwa skrip PHP, atau program, biasanya berjalan pada web server. Tujuan utama dari PHP adalah untuk memproses informasi dan menghasilkan hypertext (HTML) sebagai hasil. Menurut Weiling & Thomson (2009: 4-5), beberapa kelebihan PHP yakni sebagai berikut: - Performance PHP memiliki kecepatan performa yang sangat cepat. - Built-in libraries PHP dirancang untuk penggunaan pada web sehingga memiliki banyak fungsi built-in untuk melakukan tugas yang berhubungan dengan web. Seperti generate gambar, melakukan koneksi ke web service, kirim email. Semua fungsi ini dilakukan hanya dengan beberapa baris code. - Low cost Versi terakhir PHP selalu dapat dunduh setiap waktu tanpa biaya. - Ease of learning and use Sintaks PHP umumnya berdasarkan pada bahasa pemograman lainnya seperti C dan Perl sehingga dapat digunakan secara produktif. - Strong object-oriented support PHP mendukung fitur-fitur object-oriented inheritance, private, protected, abstract classes, constructor, dan destructor - Portability PHP dapat digunakan pada berbagai sistem operasi seperti Microsoft Windows, Linux, FreeBDS dan OS X. - Flexibility of development approach
12 PHP dapat dengan mudah mengimplementasi aplikasi besar dengan menggunakan framework berbasis rancangan model seperti Model-View-Controller (MVC) - Availability of source code Pengguna dapat memiliki akses terhadap source code sehingga dapat melakukan modifikasi terhadap source code dengan bebas. - Availability of support and documentation Perusahaan Zend Technologies menyediakan dukungan berupa dokumentasi PHP dan komunitas untuk saling berbagi informasi.
2.1.10 Adobe Dreamweaver Menurut McFarland & Sawyer (2008: 1-2), Dreamweaver adalah alat yang digunakan untnuk membangun situs web dengan cepat dan efektif, tanpa mempengaruhi kualitas dari code. Dreamweaver bekerja dengan teknologi web seperti HTML, XHMTL, CSS, PHP, AJAX dan JavaScript. Menurut McFarland & Sawyer (2008: 7), Dreamweaver dapat melakukan generate berbagai macam tag secara otomatis sehingga pengguna tidak perlu menghapal dan mengetik keseluruhan command. Menurut McFarland & Sawyer (2008: 2), kelebihan yang dimiliki dreamweaver adalah sebagai berikut: 1. Visual page building Dreamweaver memiliki fitur untuk melihat gambar secara visual yang dimasukkan ke dalam aplikasi dan menampilkannya hampir sama dengan saat ditampilkan di halaman web. 2. Complex interactivity, simply Dreamweaver memiliki fitur spry berbasis JavaScript yang mempermudah pengguna membuat menu drop-down yang interaktif. 3. Roundtrip code Dreamweaver dapat membuka banyak tipe file yang digunakan secara umum pada situs web, seperti file eksternal JavaScript (.js), sehingga tidak perlu mengganti program untuk menggunakannya.
13 4. Site management tools Yakni mempermudah pengembangan halaman web yang dibuat. Dari pengaturan links, gambar, halaman, dan media yang hendak dimasukkan ke dalam web server. 5. Database-driven Web sites Dreamweaver dapat memberikan informasi dari Microsoft Access atau Oracle 10g tanpa harus mempelajari programming sepanjang perjalanan. 6. Have it your way Adobe sudah membuat produk perangkat lunak yang sepenuhnya bisa diatur sepenuhnya sehingga semua pengguna dapat menambah atau mengubah menu, command, objek, dan windows dalam program.
2.1.11 Cascading Style Sheets (CSS) Menurut McFarland & Sawyer (2008: 10), CSS adalah sebuah format bahasa yang digunakan untuk membuat teks terlihat bagus, menambah susunan yang bersifat canggih ke dalam halaman, dan menambah gaya ke dalam situs pengguna. Keuntungan dari CSS adalah sebagai berikut: 1. Menambah pengamatan yang tajam pada rancangan ke dalam struktur HTML yang baik. 2. Menambah garis pembatas, mengubah margin, dan peletakan elemen-elemen pada halaman dengan mudah. 3. Membangun halaman dengan teks yang beraneka warna serta grafis, dan jarak antar huruf dengan ukuran yang berbeda sesuai kebutuhan. Menurut referensi http://getbootstrap.com/, bootstrap merupakan salah satu format bahasa (CSS) yang dibuat oleh desainer dan pengembang Twitter yakni Mark Otto dan Jacob Thornton. Bootstrap telah menjadi satu dari front-end framework terpopuler dan open source projects di dunia.
14 2.1.12 phpMyAdmin Menurut Delisle (2011 : 2,7), phpMyAdmin adalah sebuah aplikasi PHP yang menyediakan sebuah tatap muka lengkap untuk mengatur database MySQL pada web. phpMyAdmin adalah segala sesuatu tentang mengatur tabel pada MySQL. Menurut (Delisle : 13-28), tugas dari phpMyAdmin antara lain: -
Browsing data,
-
Searching data,
-
Changing data and stucture,
-
Exporting to excel, dan
-
Creating relations
2.1.13 Model View Controller (MVC) Menurut Pressman (2010 : 386-387), model view controller adalah rancangan arsitektur untuk perangkat lunak yang memisahkan antara user interface, fungsionalitas aplikasi dan navigasi menjadi tiga bagian yang berbeda. Tiga bagian tersebut dijelaskan sebagai berikut : a. Model berisi semua fungsi yang spesifik dan proses logika yang terdapat dalam sebuah objek. Termasuk didalamnya akses untuk data eksternal dan proses fungsionalitas. b. View berisi semua functions yang berhubungan dengan interface dari aplikasi sesuai dengan permintaan dari user. c. Controller berfungsi untuk megatur akses terhadap Model dan View. Selain itu, mengatur aliran data yang terjadi diantara keduanya.
Gambar 2.1 Arsitektur MVC (Sumber: Pressman, 2010: 387)
15 2.1.14 Framework CodeIgniter (CI) Menurut Ardhana (2013: 22), Framework dapat diartikan sebagai kumpulan dari fungsi atau prosedur dan kelas untuk tujuan tertemtu yang sudah siapa untuk digunakan sehingga mempermudah dan memeprcepat programmer dalam membuat program tanpa harus mebuat fungsi atau kelas dari awal. Sebuah
Framewok
selain
memyediakan
lingkungan
untuk
pengembangan sendiri-sendiri juga menyediakan berbagai fungsi yang siap pakai yang bisa digunakan dalam pembuatan website. Fungsi tersebut terkadang merupakan pengembangan atau penyesuaian fungsi asli PHP agar lebih mudah digunakan atau agar lebih sesuai dengan kebutuhan pengguna. Menurut Ardhana (2013: 8), CodeIgniter (CI) merupakan sebuah framework PHP yang dapat mempercepat pengembang untuk membuat sebuah aplikasi web, terdapat banyak library dan helper yang berguna didalamnya dan mempermudah proses development. Kelebihan dalam membuat website dengan menggunakan framework CodeIgniter, diantaranya adalah : 1. Open Source CodeIgniter berlisensi Apache/BSD-style open source sehingga dapat dikembangkan dan digunakan sesuai dengan kebutuhan. 2. Multiplatform CodeIgniter hanya memerlukan kapasitas yang sedikit untuk server dalam membentuk kelas library. 3. Efisiensi Waktu Dengan adanya struktur dan library yang telah disediakan oleh framework, programmer dapat focus pada proses pengembangan sistem yang akan dibangun. 4. Menggunakan metode MVC Metode ini dapat mempermudah memnedakan antara tampilan dan program.
16 5. User Friendly CodeIgniter sangat mudah dgunakan oleh berbagai kalangan user atau programmer, hal ini dikarenakan bentuk dan tampilan yag sudah dirancang secara terstruktur. 6. URL yang User Friendly Ketika URL dipanggil maka akan langsung membentuk sebuah alamat http://abc.com/blog/contoh/alamat-blog. Hal ini dikarenakan CodeIgniter telah dirancang dengan rapih. 7. Framework yang lengkap CodeIgniter telah dikemas secara lengkap karena didalamnya terdapat kumpulan kelas yang ada didalam library yang tersedia sangat menunjang dalam pembuatan website, database, validasi from yang ada, pembuatan sessioan, dan lain-lain. 8. User Guide CodeIgniter telah dilengkapi dengan dokumentasi yang cukup baik
dan
lengkap,
sehingga
dapat
membantu
programmer
mempelajarinya. 9. Reuse of Code Dengan menggunakan framework maka program yang dibuat akan memiliki struktur yang baku, sehingga dapat digunakan kembali pada proyek-proyek lainnya. 10. Berjalan di PHP versi 4 dan 5
2.1.15 Ajax (Asynchronous JavaScript dan XML) Menurut Tanenbaum & Wetherall (2011 : 679), Ajax adalah kombinasi dari beberapa teknologi. Teknologi ini bekerja sama untuk memungkinkan aplikasi web yang setiap bitnya mempunyai tanggung jawab dan kuat pada aplikasi pada desktop. Teknologi yang ada diantaranya adalah : 1. HTML dan CSS untuk mewakili informasi dari sebuah halaman. 2. DOM (Document Object Model) untuk mengubah bagian dalam setiap halaman ketika halamat tersebut dilihat. 3. XML (eXtensible Markup Language) untuk memungkinkan program melakukan pertukaran aplikasi data dengan server .
17 4. Asynchronous, cara sebuah program untuk mengirim dan mengambil data XML. 5. JavaScript sebagai bahasa untuk menggabungkan semua fungsi ini menjadi satu.
2.1.16 Javascript Menurut Connolly & Begg (2010 : 1012), JavaScript adalah sebuah bahasa skrip berbasis objek yang dikembangkan oleh Netscape. JavaScript merupakan sebuah bahasa pemograman sederhana yang membuat halaman HTML memiliki fungsi dan skrip yang dapat merespon aktivitas pengguna seperti klik mouse, input pengguna, dan navigasi halaman.. Menurut Tanenbaum & Wetherall (2011 : 676), JavaScript adalah bahasa tingkat tinggi yang memungkinkan munculnya kotak dialog, input teks dan menyimpan string yang dihasilkan dalam satu variabel. Fitur-fitur ini sangat ideal untuk merancang halaman web yang interaktif.
2.1.17 Unified Modeling Language (UML) Menurut Whitten & Bentley (2007: 371), Unified Modeling Language adalah kumpulan model konvensi yang digunakan untuk menspesifikasi atau menggambarkan sebuah sistem perangkat lunak dalam hal objek. Dalam penelitian ini, beberapa jenis diagram yang dipakai yakni: 2.1.17.1 Use Case Diagram Menurut
Whitten & Bentley
(2007: 246-259) Yakni
merupakan diagram yang menggambarkan interaksi antara sistem dan bagian luar sistem eksternal dan pengguna. Beberapa bagian dari use case diagram adalah sebagai berikut: a. Use Cases Model
use
case
yang
mengidentifikasi
dan
menggambarkan fungsi sistem dengan menggunakan tool, disebut dengan use cases. Use cases direpresentasikan secara grafis dengan bentuk ellipse, dengan nama use case yang terletak di atas, bawah, atau bagian dalam ellipse tersebut.Use case merepresentasikan sebuah tujuan sistem
18 dan mengambarkan aktifitas yang berurutan dan interaksi pengguna untuk mencapai tujuan.
Gambar 2.2 Model Diagram Use Case (Sumber: Whitten & Bentley, 2007: 246) b. Actors Adalah semuanya yang melakukan interaksi dengan sistem
untuk
menukar
informasi.
Use
cases
diinisialisasikan oleh pengguna eksternal yang disebut dengan actors.
Gambar 2.3 Simbol Aktor (Sumber: Whitten & Bentley, 2007: 247) Terdapat empat jenis dari actors, antara lain adalah: 1. Primary business actor Adalah pemangku kepentingan yang bermanfaat secara utama dari eksekusi use case dengan menerima nilai yang dapat diukur dan diobservasi.
19 2. Primary system actor Adalah pemangku kepentingan yang bertatap muka
secara
langsung
dengan
sistem
untuk
menginisialisasikan business atau system event. 3. External server actor Adalah pemangku kepentingan yang merespon permintaan dari use case. 4. External receiver actor Adalah pemangku kepentingan yang bukan aktor utama, akan tetapi menerima nilai yang dapat diukur dan diobservasi dari use case. c. Relationships Yakni digambarkan dengan sebuah garis antara dua simbol pada diagram use case. Arti dari relasi dapat dibedakan berdasarkan bagaimana garis itu digambarkan dan tipe dari simbol yang terhubung. Beberapa jenis relasi adalah sebagai berikut: 1. Associations Adalah
relasi
yang
berfungsi
untuk
menggambarkan interaksi antara aktor dan use case. 2. Extends Adalah relasi yang berguna untuk memperpanjang fungsi dari use case asli dengan tujuan untuk menyederhanakan use case tersebut. Setiap use case extends diberi nama “<<extends>>”.
Gambar 2.4 Relasi Extensions (Sumber: Whitten & Bentley, 2007: 249)
20 3. Uses (atau includes) Pada umumnya, ditemukan satu atau lebih use cases yang menjalankan langkah fungsi yang identik. Sebaiknya dilakukan ekstrak pada masing-masing use cases yang identik ini ke use case terpisah yang disebut abstract use case untuk mengurangi redundansi. Setiap use case uses diberi nama “<<uses>>”.
Gambar 2.5 Relasi Uses (Sumber: Whitten & Bentley, 2007: 249) 4. Depends On Relasi antara use cases yang mengindikasikan bahwa satu use case tidak bisa dijalankan sampai use case lain dijalankan. Setiap use case depends on diberi nama “<<depends on>>”.
Gambar 2.6 Relasi Depends On (Sumber: Whitten & Bentley, 2007: 250)
21 5. Inheritance Ketika dua atau lebih aktor memiliki tindakan yang sama, dalam kata lain mereka dapat menginisiasikan use case yang sama, maka sebaiknya menempatkannya ke aktor abstract yang baru untuk mengurangi redundansi terhadap komunikasi dengan sistem.
Gambar 2.7 Relasi Inheritance (Sumber: Whitten & Bentley, 2007: 250) Tahapan-tahapan yang dibutuhkan dalam membangun use case adalah sebagai berikut: a. Identify business actors. Melakukan fokus terhadap aktor membantu untuk
mendefinisikan
dan
lebih
lanjutnya
mendefinisikan jangkauan dan batasan dari sistem b. Identify business requirements use cases. Yakni untuk mengidentifikasi interaksi antara pengguna dan sistem di luar lingkup teknologi. Jadi fungsi utamanya adalah memeriksa aktor dan bagaimana mereka akan menggunakan sistem. c. Construct use-case model diagram.
22 Setelah use cases dan aktor diidentifikasi, model diagram use-case dapat digunakan untuk secara grafis menggambarkan jangkauan dan batasan sistem. d. Document
business
requirements
use-case
narratives. Yakni melakukan dokumentasi use case secara high
level
untuk
mendapatkan
pemahaman
terhadap sistem. Use case untuk keperluan bisnis merupakan alat yang tepat untuk menggambarkan kejadian, tetapi kurang informasi tatap muka suatu teknologi informasi.
2.1.17.2 Activity Diagram Menurut
Whitten & Bentley
(2007: 390), activity
diagram merupakan diagram yang digunakan untuk secara grafis menggambarkan alur proses bisnis, langkah-langkah sebuah use case, atau logika dari tingkah laku objek. Notasinotasi dari activity diagram adalah sebagai berikut: a. Initial node Adalah sebuah lingkaran padat yang menggambarkan mulainya proses. b. Actions Adalah
sebuah
persegi
panjang
bulat
yang
menggambarkan langkah-langkah yang bersifat individual. c. Flow Adalah tanda panah yang menggambarkan proses dari tindakan yang dilakukan. d. Decisions Adalah sebuah bentuk diamond yang memiliki satu alur masuk dan dua atau lebih alur keluar. Biasanya digunakan untuk menggambarkan suatu kondisi. e. Merge
23 Adalah sebuah bentuk diamond yang memiliki satu alur masuk dan satu alur keluar. Suatu proses dilanjutkan saat ada satu alur yang menuju merge. f. Fork Adalah sebuah black bar, dengan satu alur masuk dan dua atau lebih alur keluar yang menandakan beberapa tindakan yang terjadi di bawah fork. g. Join Adalah sebuah black bar, dengan dua atau lebih alur masuk dan satu alur keluar yang menandakan selesainya tindakan yang terjadi bersamaan. h. Activity final Adalah sebuah lingkaran padat di dalam lingkaran kosong yang menggambarkan bahwa proses selesai.
24
Gambar 2.8 Model Diagram Activity Diagram (Sumber: Whitten & Bentley, 2007: 392)
2.1.17.3 Class Diagram Menurut Whitten & Bentley (2007: 400), class diagram merupakan diagram yang
menggambarkan struktur objek
statis pada sistem, yang menunjukan kelas objek pada sistem dan relasi antar kelas objek.
25 Beberapa konsep dari class diagram adalah sebagai berikut: a. Object Class Menurut Whitten & Bentley (2007: 373), object class adalah kumpulan objek yang membagi attiribute dan behavior. Tabel 2.1 Object Class (Sumber: Whitten & Bentley, 2007: 373)
class name - attributes + behavior b. Attribute Menurut Whitten & Bentley (2007: 372), attribute adalah data yang merepresentasikan karakteristik dari sebuah objek. c. Behavior Menurut Whitten & Bentley (2007: 372), behavior adalah kumpulan hal yang dilakukan objek dan berhubungan dengan fungsi yang bekerja pada data objek (atau attribute). Dalam object-oriented circles, behavior disebut juga sebagai method, operation, atau service. d. Visibility Menurut Whitten & Bentley (2007: 650), terdapat tiga tingkatan dari visibility: -
Public Atribut ini dapat diakses oleh method di kelas lain.
Kelas
yang
bersifat
public
biasanya
dinotasikan dengan simbol “+”. -
Protected Atribut ini dapat diakses oleh kelas lain asalkan kelas tersebut merupakan turunannya. Kelas yang
26 bersifat protected biasanya dinotasikan dengan simbol “#”. -
Private Atribut ini tidak dapat diakses oleh kelas lain. Kelas yang bersifat private biasanya dinotasikan dengan simbol “-”.
e. Association Menurut
Whitten
&
Bentley
(2007:
376),
association merupakan relasi antar kelas pada class diagram.
Gambar 2.9 Association (Sumber: Whitten & Bentley, 2007: 377) f. Composition Menurut Whitten & Bentley
(2007: 378),
composition adalah hubungan aggregation di mana “whole” bertanggung jawab untuk menciptakan dan menghancurkan bagian-bagian “parts”. Jika “whole” dihilangkan, maka akan berlaku pula dengan “part”.
Gambar 2.10 Composition (Sumber: Whitten & Bentley, 2007: 379) g. Aggregation Menurut Whitten & Bentley
(2007: 378),
aggregation adalah sebuah hubungan di mana class
27 yang lebih besar “whole” memiliki satu atau lebih class yang lebih kecil “part”. Dan sebaliknya, class yang lebih kecil “parts” merupakan bagian dari class yang lebih besar “whole”.
Gambar 2.11 Aggregation (Sumber: Whitten & Bentley, 2007: 379) h. Inheritance Menurut Whitten & Bentley
(2007: 373),
inheritance adalah konsep di mana method dan atau attribute
yang
didefinisikan
kelas
objek
bisa
diturunkan atau digunakan kembali oleh kelas objek lain. i. Multiplicity Menurut Whitten & Bentley
(2007: 378),
multiplicity adalah angka minimal dan maksimal dari kelas objek berdasarkan kelas objek lain yang berhubungan. Beberapa jenis multiplicity adalah sebagai berikut: Tabel 2.2 Penjelasan Multiplicity (Sumber: Whitten & Bentley, 2007: 378) Multiplicity
Deskripsi
Tepat 1
1
Nol atau satu
0..1
Nol atau lebih
0..* atau *
Satu atau lebih
1..*
Rentang yang spesifik
m..n
28
Gambar 2. 12 Model Diagram Class Diagram (Sumber: Whitten & Bentley, 2007: 661)
2.1.17.4 Sequence Diagram Menurut Whitten & Bentley (2007: 394, 659), sequence diagram adalah diagram yang menggambarkan interaksi antara aktor dan sistem dalam waktu yang berurutan sesuai skenario use case. 1.
Actor Yakni seorang aktor melakukan interaksi dengan tatap muka pengguna yang ditunjukan dengan simbol aktor use case.
2.
Interface class Yakni sebuah kotak yang menunjukkan kode class tatap muka pengguna yang ditulis dengan <
>.
3.
Controller class Setiap use case pasti memiliki satu atau lebih controller classes, digambarkan dengan notasi yang sama sebagai interface class dan di tulis dengan <>.
29 4.
Entity classes Yakni menambahkan kotak untuk setiap entitas yang membutuhkan untuk berkolaborasi di dalam langkah yang berurutan. Tanda titik dua “:” menunjukan sebuah object instance.
5.
Messages Yakni tanda panah horizontal padat yang menandakan message inputs yang dikirim ke classes.
6.
Activation bars Yakni garis berbentuk batang yang menandakan periode waktu dimana terdapat object instance.
7.
Return messages Yakni ditandain dengan sebuah garis panah horizontal yang putus-putus. Setiap tindakn harus mengembalikan seesuatu, setidaknya nilai benar atau salah untuk menandakan bahwa behavior sukses dijalankan.
8.
Self-call Yakni sebuah objek dapat memanggil metodenya sendiri.
9.
Frame Yakni digunakan untuk menandakan bahwa controller yang butuh untuk melakukan loop melewati semua item.
Gambar 2.13 Model Diagram Sequence (Sumber: Whitten & Bentley, 2007: 659)
30 2.1.18 Interaksi Manusia dan Komputer Menurut Shneiderman & Plaisant (2010: 88-89), terdapat delapan aturan emas dalam merancang interface yakni: 1. Strive for consistency Tindakan dengan urutan yang konsisten diperlukan di situasi yang serupa; istilah yang sama sebaiknya digunakan pada menu-menu dan halaman bantuan; dan warna, layout, capitalization, font, dan seterusnya sebaiknya digunakan konsisten sepenuhnya. 2. Cate to universal usability Mengenali kebutuhan pengguna
yang beranekaragam dan
memfasilitasi perubahan dari konten. Perbedaan dari pemula ke ahli, umur, ketidakmampuan, teknologi, setiapnya memperkaya spektrum dari kebutuhan yang memedomani rancangan. 3. Offer informative feedback Setiap tindakan pengguna, sebaiknya ada sistem umpan balik. Untuk tindakan yang sering dan minor, respon yang diberikan sederhana dan untuk tindakan yang jarang dan major, respon yang diberikan lebih besar. Tampilan visual dari objek menyediakan lingungan yang lebih nyaman untuk menunjukan perubahan dengan tegas. 4. Design dialogs to yield closure Urutan tindakan sebaiknya diorganisir dalam kelompok, dengan bagian awal, tengah, sampai akhir. Umpan balik yang informatif memberikan operator kepuasan atas pencapaian, rasa lega, dan indikator untuk melanjutkan tindakan selanjutnya. 5. Prevent errors Sebanyak mungkin, merancang sistem yang mencegah pengguna melakukan kesalahan yang fatal; seperti contoh memasukan karakter alfabet pada kolom angka. Jika pengguna melakukan kesalahan, sistem harus dapat mendeteksi kesalahan dan memberikan instruksi yang sederhana, membangun, dan spesifik untuk perbaikan. 6. Permit easy reversal of actions Sebanyak mungkin, tindakan sebaiknya dapat kembali ke tindakan sebelumnya. Fitur ini dapat mengurangi kekhawatiran, sejak
31 pengguna mengetahui bahwa kesalahan yang dilakukan dapat dibatalkan, dan mendorong pengguna untuk mengekplorasi pilihanpilihan lain yang tidak biasa digunakan.. 7. Support internal locus of control Pengguna yang berpengalaman menginginkan untuk mengontrol interface dan interface merespon tindakan mereka. Mereka tidak ingin perubahan yang dikenali, dan terganggu dengan urutan data entry yang membosankan. 8. Reduce Short-term memory load Kapasitas manusia dalam memproses informasi di memori jangka pendek membutuhkan perancang untuk sebaiknya mencegah interface dimana pengguna harus mengingat informasi di satu layar dan kemudian menggunakan informasi tersebut di layar lain.
2.1.19 Data, Database, Database Management System (DBMS) 2.1.19.1 Data Menurut Coronel, Morris, & Rob (2013: 5), data adalah sebuah fakta mentah dimana fakta ini belum diproses untuk diketahui pengertiannya. 2.1.19.2 Database Menurut Connolly & Begg (2010: 65), database adalah kumpulan dari data yang berhubungan secara logis, berikut deskripsi
dari
data
tersebut,
yang
dirancang
untuk
mendapatkan informasi yang di perlukan oleh sebuah organisasi. 2.1.19.3 Database Management System (DBMS) Menurut Connolly & Begg (2010: 66), DBMS adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke database. DBMS menyediakan beberapa fasilitas sebagai berikut: 1. Data Definition Language (DDL) DBMS memungkinkan pengguna untuk mendefinisikan database, melalui. DDL memungkinkan pengguna untuk
32 menspesifikasi tipe data dan struktur dan constraint pada data yang akan di simpan ke dalam database. Operasi yang termasuk dalam DDL yaitu create, drop, dan alter. 2. Data Manipulation Language (DML) DBMS memungkinkan pengguna untuk melakukan insert, update, delete, dan retrieve data dari database. 3. Menyediakan akses kontrol ke database, yakni seperti: -
Security system adalah kontrol untuk mencegah user yang tidak diizinkan untuk melakukan akses ke database.
-
Intergrity system adalah kontrol untuk memelihara konsistensi data yang tersimpan.
-
Concurrency control system adalah kontrol yang memungkinkan pembagian akses dari database.
-
Recovery
control
system
adalah
kontrol
yang
memungkinkan melakukan penyimpanan ke database sebelum terjadi kegagalan pada perangkat keras ataupun perangkat lunak. -
User-accesible catalog adalah kontrol yang berisi deskripsi data pada database.
2.1.20 MySQL Menurut Weiling & Thomson (2009: 3), MySQL adalah relational database management system (RDBMS) yang sangat cepat dan tangguh. Server MySQL mengontrol akses data untuk memastikan banyak pengguna dapat bekerja dengan data secara bersamaan, untuk menyediakan akses cepat terhadap data, dan memastikan hanya pengguna yang berwewenang yang bisa mendapatkan akses. MySQL menggunakan Structures Query Language (SQL) sebagai standar bahasa query database.
2.1.21 Structured Query Language (SQL) Menurut Connolly & Begg (2010: 184-185), SQL merupakan contoh dari sebuah bahasa transfrom-oriented, atau sebuah bahasa yang
33 dirancang untuk menggunakan relasi untuk mengubah input menjadi output yang diperlukan. SQL memiliki dua komponen utama yakni: 1. Data Definition Language (DDL) DDL digunakan untuk mendefinisikan struktur database dan mengontrol akses ke data. Menurut
Connolly & Begg (2010: 235-241), DDL
memungkinkan objek database seperti schemas, domains, tables, views, indexes untuk di buat dan di hancurkan. Beberapa fungsi yang dipakai yakni create, alter, dan drop. 2. Data Manipulation Language (DML) DML digunakan untuk memperoleh dan memperbaharui data. Menurut Connolly & Begg (2010: 188), SQL DML terdiri dari empat pernyataan, yakni: a. Select – untuk melakukan query data dalam database. b. Insert – untuk memasukkan data ke dalam tabel. c. Update – untuk memperbaharui data dalam sebuah tabel. d. Delete – untuk menghapus data dari sebuah tabel.
2.1.22 Model Waterfall Menurut Sommerville (2011: 29-32) , model waterfall mengambil pokok aktivitas proses dari spesifikasi, pengembangan, validasi, evolusi, dan mewakilinya sebagai tahap proses yang terpisah seperti requirements, specifications, software design, implementation, testing, dan seterusnya. Prinsip dari model waterfall ini adalah suatu tahap proses tidak bisa mulai sebelum tahapan sebelumnya selesai. Proses pada model ini tidak hanya bersifat garis lurus, melainkan meliputi umpan balik dari satu tahap ke tahap yang lain. Dokumen yang dihasilkan setiap tahap memungkinkan untuk dimodifikasi kembali terhadap perubahan yang ada. Namun salah satu kekurangan dari model ini adalah biaya produksi meningkat akibat dari pengulangan yang dapat dilakukan di setiap tahap Tahapan proses yang terdapat pada model ini adalah sebagai berikut: 1.
Requirements analysis and definition
34 Pada tingkat proses ini, didefiniskan system’s service, constraints, dan tujuan yang mau dicapai, dengan melakukan konsultasi dengan pengguna sistem. 2.
System and software design Pada tingkat proses ini didefisinikan kebutuhan terhadap sistem perangkat keras dan perangkat lunak. Secara umum pada tahap ini membahas keseluruhan dari arsitektur sistem. Perancangan desain meliputi identifikasi dan gambaran abstrak sistem perangkat lunak dan relasinya.
3.
Implementation and unit testing Pada tahap ini, rancangan desain direalisasikan sebagai sebuah unit program, yang diverifikasi apakah telah memenuhi kebutuhan.
4.
Integration and system testing Pada tahap ini setiap unit program dilakukan integrasi dan tes sebagai sebuah sistem untuk memastikan bahwa sistem telah memenuhi kebutuhan.
5.
Operation and maintenance Pada tahap ini dilakukan instalasi terhadap sistem untuk siap digunakan. Maintenance meliputi pembenaran kesalahan yang mungkin sebelumnya tidak ditemukan, meningkatkan implementasi dari kinerja sistem unit apabila ditemukan kebutuhan baru terhadap sistem.
Gambar 2.14 Model Waterfall (Sumber: Sommerville, 2011: 30)
35 2.1.23 Testing 2.1.23.1
White Box Menurut Pressman (2010, p 485), white-box testing atau glassbox testing merupakan test-case menggunakan struktur kontrol yang dideskripsikan sebagai bagian dari perancangan level komponen. Dengan menggunakan metode ini, dapat dihasilkan test-case yang a.
Menjamin bahwa semua jalur di dalam modul telah dijalankan setidaknya sekali.
b.
Menjalankan semua keputusan logik yang bersifat true dan false.
c.
Mengeksekusi semua loop pada lingkup dan di dalam wilayah operasional mereka sendiri.
d.
Menjalankan
struktur
data
internal
untuk
memastikan
validitasnya. 2.1.23.2
Black Box Menurut Pressman (2010, p 495), black-box testing atau yang disebut juga behavioral testing berfokus pada requirement yang bersifat fungsionalitas pada software. Black-box biasanya dilakukan setelah white-box, karena black-box berkaitan dengan struktur kontrol, perhatian lebih terfokus pada wilayah informasi. Testing ini bertujuan untuk mencari error dengan kategori : a.
Fungsi yang salah
b.
Error pada interface
c.
Error pada struktur data maupun akses ke database eksternal
d.
Error pada behavior maupun jalannya aplikasi
e.
Error pada inisialisasi dan termination
2.2 Hasil Penelitian atau Produk Sejenis 2.2.1 Manajemen Proyek Kerja Berikut ini merupakan penjelasan yang berasal dari jurnal yang mendukung manajemen proyek, diantaranya : a. C. Chantrapornchai, D. Sawangkokrouk and T. Leadprathom (2013).
Project Management Software: Allocation and Scheduling Aspects.
36 International Journal of u- and e- Service Science and Technology, 6(3), 37-41. Metodologi assign projek PMO terdiri dari: 1. Exploring Problem Definition Berhubungan dengan manajemen projek, banyak infomasi harus dikumpulkan. Sebagai contoh adalah informasi tentang pegawai dan kemampuannya, detil projek, dan tugas mereka. Detil mungkin bervariasi, tetapi ditemukan bahwa deadline tugas diperlukan untuk penjadwalan. Disamping itu, setiap tugas mungkin memerlukan lebih dari satu kemampuan (job) dan setiap karyawan mungkin memiliki lebih dari satu kemampuan. Ketersediaan tanggal setiap karyawan tentu berbeda. Jadi, data tersebut perlu diketahui sebelum jadwal dan alokasi selesai. Akan tetapi dalam realitas, informasi dapat berubah selama eksekusi projek. Seperti contoh adalah jumlah karyawan mungkin berkurang dan beberapa tugas mungkin memerlukan karyawan yang lebih. Sehingga jadwal/alokasi yang dilakukan mungkin berubah. Masalah utama adalah waktu untuk setiap tugas dan kemampuan untuk setiap tugas diperlukan untuk perform penjadwalan dan alokasi.
2. Allocation and Resource Assignment Di dalam manajemen proyek, pendekatan yang digunakan dalam alokasi tugas adalah untuk mencocokan karyawan yang tersedia. Di dalam prototype ini, kami beberapa pertimbangan untuk setiap tugas. a. Cek durasi dari tugas dan cari karyawan yang tersedia pada waktu itu. b. Cek kemampuan yang diperlukan dari tugas dan karyawan yang tersedia. c. Asumsi
sebuah
kemampuan
(job)
diperlukan
satu
karyawan. Cari karyawan yang memiliki kemampuan sesuai yang diperlukan. Jika tersedia banyak pegawai dengan kemampuan yang sama, maka pilih karyawan yang
37 memiliki kemampuan paling sedikit. Ini mengasumsi bahwa karyawan dengan kemampuan sedikit memiliki pilihan yang terbatas unuk melakukan tugas lain.
3. Schedule Creation Untuk
membuat
jadwal,
prototype
mempertimbangkan
penjadwalan dengan metode ASAP dan metode ALAP. ASAP adalah memulai sebuah tugas sedini mungkin. Sedangkan ALAP adalah menunda dimulainya sebuah tugas selama mungkin. Keduanya dapat digunakan bersamaan sesuai keperluan.
b. Yang Fan(2103). Project Management Office (PMO) in International
Arena – Lessons Learned from PMO’s Closed-Loop Control. International Journal of Business Humanities and Technology, 3(1), 5-10. Beberapa hal yang mendasari latar belakang penggunaan PMO adalah sebagai berikut: 1. Definisi PMO Project management institute (PMI) (2004) mendefinisikan PMO sebagai sebuah badan organisasi atau entitas yang memiliki tanggung jawab yang bervariasi terkait dengan manajemen sentral dan terkoordinasi dari berbagai projek di bawah sebuah wewenang. 2. Motivation and Benefit Menurut Fleming and Koppelman (1998), PMO dibuat untuk membantu mengembangkan efektifitas dari manajemen projek dengan menyediakan layanan fasilitas yang mendukung untuk projek. Menurut Empirical study of Dai and Wells (2004), motivasi penggunaan PMO adalah untuk meningkatkan semua elemen manajemen projek, mencapai sebuah pendekatan manajemen projek, mencapai efektifitas penggunaan sumber daya manusia dan lainnya dalam lingkungan projek yang bervariasi ,
38 meningkatkan
kualitas
dan
kepuasan
pelanggan,
dan
mengarahkan manajemen projek ke tujuan strategis perusahaan. Menurut Kerzner (2003) , beberapa keuntungan menggunakan PMO adalah menyelesaikan tugas yang lebih dengan waktu yang lebih singkat, dengan sumber daya yang lebih sedikit, dan tanpa pengorbanan kualitas, mengidentifikasi resiko dengan lebih baik, pemecahan masalah, kemajuan
dalam berbagi
informasi, dan pengambilan keputusan perusahaan yang lebih baik. 3. Function Hobbs and Aubry (2007) mendefinisikan beberapa fungsi PMO yakni melaporkan status projek kepada manajemen atas, melakukan monitoring dan kontrol terhadap performa projek, koordinasi antar projek, dan menyediakan saran kepada manajemen atas.
c. Suryanto; Sanyoto Gondodiyato; Desi N.I; Aryanto; Elis Triana
(2009). Evaluasi Management Proyek. CommIT, 3(2), 82-84. Pada jurnal ini dibahas tentang evaluasi menagemen proyek dan beberapa
teknik
untuk
menanggulangi
keterlambatan
dalam
pengerjaan proyek. Proyek itu sendiri dapat didefinisikan sebagai “Rangkaian usaha dalam jangka waktu tertentu yang berrtujuan untuk menghasilkan sebuah produk atau jasa/ pelayanan unik tertentu, dilaksanakan oleh manusia dengan memanfaatkan berbagai sumber daya, melalui proses perencanaan, eksekusi, dan control” (K.C Chan,2004:68). Menurut Schwalbe (2004) ada beberapa ciri khusus dalam tiap proyek yaitu : 1. Proyek Memiliki jangka waktu tertentu, yang berarti bahwa rangkaian aktivitas tersebut memiliki titik mulai dan titik selesai yang pasti (ditargetkan). 2. Bersifat Unik, yang berarti bahwa tidak ada proyek yang menghasilkan produk atau jasa/ pelaynan yang identic.
39 Manajemen waktu proyek secara sederhana didefinisikan sebagai
suatu
pemenuhan
proses
waktu
yang
proyek.
dibutuhkan Penjadawalan
untuk
meyakinkan
proyek
bisa
di
representasikan dengan menggunakan Gantt Chart. Gantt Chart menyediakan informasi sederhana mengenai penjadwalan proyek, terdapat waktu mulai, dan waktu selesai dalam format grafik batang dan kalender seperti contoh berikut.
Gambar 2.15 Grafik batang pada timeline projek
Pada Gantt Chart juga terlihat hubungan antara aktifitas satu dengan aktivitas lainnya, mana yang lebih dulu dikerjakan mana yang dikerjakan setelahnya. Oleh karena itu, dengan penggunaan Gantt Chart, jadwal proyek serta pengalokasian sumber daya proyek dapat lebih terlihat sehingga memudahkan sang manager dalam mengawasi dan mengontrol pengerjaan proyek. d. Furry Arifin (2011). Manajemen Proyek Perangkat Lunak. Commtech,
2(1), 256-258. Jurnal ini terdapat bahasan tentang managemen proyek perangkat lunak
dan
langkah-langkah
dalam
pengembangan
proyek.
Perencanaan proyek perangkat lunak adalah managemen proyek yang berrfokus dengan kegiatan mengembangkan software. Beberapa sifat manajemen proyek yang harus dipenuhi adalah sebagai berikut: 1. Menyelesaikan masalah, 2. Mengerjakan sesuatu hingga selesai,
40 3. Memiliki batas waktu mulai dan selesainya, 4. Membutuhkan sumber daya dan waktu, dan 5. Bagi beberpa orang merupakan kesempatan dan menarik. Manajemen itu berupa persiapan pekerjaan, pelaksanaan rencana, penendalian
proyek
dan
penutupan
proyek
dengan
sebuah
kesimpulan, yaitu sukses. Tahapan dalam pengembangan proyek terdiri dari: 1. Initiating,
proyek
dalam
proses
untuk
dipilih/disetujui,
disponsori, didanai, dan diluncurkan, 2. Planning, pada dasarnya adalah pengggambaran bagaimana proyek dilaksanakan hingga selesai, 3. Executing, dimulainya proses pengerjaan, 4. Controlling, selama proyek berjalan perlu adanya pengawasan dan pengontrolan, dan 5. Closing, setelah proyek selesai, project manager akan menutup proyek tersebut.
Gambar 2.16 Tahapan pengembangan proyek
Tujuan dilakukannya perencanaan proyek perangkat lunak adalah sebagai berikut: 1. Menggambarkan status proyek dan rancangan aktivitas tim proyek,
41 2. Bagi tim proyek, dapat lebih memahami konteks pekerjaan mereka, 3. Memastikan apakah biaya dan waktu yang dialokasikan masuk akal dan terkendali, dan 4. Bagi Stakeholder, memastikan agar proyek masih berada pada jalurnya dan kebutuan mereka dapat diakomodir oleh proyek. Beberapa hal yang dapat diamati dalam perencanaan perangkat lunak, seperti Resource List, Work Breakdown Structure, dan Project Schedule Resource list adalah daftar resource ‘sumber daya’ yang digunakan selama proyek berlangsung. Dafta ini berisi apa saja yang dibutuhkan dalam proyek berikut ketersediaannya selama proyek tersebut berjalan. Work Breakdown Structure (WBS) berisi daftar pekerjaan yang berkaitan dengan proyek. Dilakukan pendeskripsian tentang apa saja pekerjaan yang semestinya dilakukan tetapi tidak mencantumkan siapa yang mengerjakan perkerjaan tersebut Project Schedule dibuat oleh pengatur proyek yang digunakan untuk mengatur orang yang terlibat dalam proyek. Menunjuk orang tersebut keladam pekerjaan yang sudah didefiniskan di WBS, serta menentukan rentan waktu mulai dan waktu akhir tiap orangnya.
2.2.2 Produk Sejenis Analisis produk sebelumnya dilakukan dengan membandingkan aplikasi-aplikasi Project Management Office lainnya yang sejenis. Tujuan dari analisis ini adalah untuk mengetahui ketersediaan fitur dari aplikasi-aplikasi lain dibandingkan dengan kebutuhan perusahaan. Perbandingan dilakukan terhadap aplikasi Smartsheet dan Bitrix24 karena memiliki fungsi yang sama sebagai aplikasi PMO. Berikut ini merupakan analisis yang diperoleh dari aplikasi yang telah disebutkan: 1. Smartsheet Smartsheet adalah aplikasi yang berguna untuk melakukan manajemen terhadap projek di dalam sebuah perusahaan. Secara
42 garis besar, aplikasi ini memiliki tiga fitur. Fitur pertama adalah fitur yang menampilan data projek dan gantt chart secara bersamaan. Template data projek bersifat fleksibel sesuai dengan kebutuhan. Fitur kedua adalah fitur yang dapat melakukan formatting terhadap tulisan. Fitur ketiga adalah fitur email sebagai pengingat. Kekurangan dari aplikasi ini adalah tidak ada fitur yang menyimpan perubahan dan waktu dilakukannya perubahan data
Gambar 2.17 Contoh tampilan aplikasi Smartsheet 2. Bitrix24 Bitrix24 adalah aplikasi manajemen projek yang dapat melakukan monitoring terhadap keseluruhan divisi perusahaan. Secara garis besar terdapat tiga fitur utama. Pertama adalah terdapat fitur Activity Stream. Fitur ini berisi posting terhadap projek, sehingga karyawan lain dapat memberikan komentar selama berada dalam grup yang sama. Kedua adalah fitur timeline dengan menggunakan gantt chart sebagai fitur yang selalu ada di setiap perangkat lunak manajemen projek. Ketiga adalah fitur kalender untuk melakukan mencatat sebuah acara atau pekerjaan yang dilakukan karyawan sehari-hari. Kekurangan dari aplikasi ini adalah template data data projek bersifat statis. Pada saat melakukan
assign
projek
hanya
terdapat
pilihan
untuk
menentukan responsible person dan participant. Sehingga tidak
43 bisa menentukan spesifikasi pekerjaan participant yang menjadi kebutuhan dari perusahaan.
Gambar 2.18 Contoh tampilan aplikasi Bitrix24 Berikut adalah hasil analisis dari aplikasi sejenis yang telah dijelaskan sebelumnya berdasarkan fitur yang diperlukan perusahaan: Tabel 2.3 Analisis aplikasi sejenis Fitur
Smartsheet
Bitrix24
Ya
Ya
Filter Timeline berdasarkan projek dan karyawan
Tidak
Tidak
Dashboard
Tidak
Ya
Pencatatan ketersediaan dokumen setiap proyek
Ya
Tidak
Deployment ( generate objek, assign objek, dan generate workspace)
Tidak
Tidak
History untuk melakukan tracking terhadap perubahan data proyek
Tidak
Tidak
Timeline
44