9 BAB II LANDASAN TEORI Dalam bab ini penulis akan

advertisement
BAB II
LANDASAN TEORI
Dalam bab ini penulis akan menjelaskan teori-teori yang berkaitan dengan
permasalahan yang akan dibahas sebagai dasar dalam pemahaman. Teori-teori
tersebut diambil dari buku-buku ilmiah, jurnal, pendapat para ahli serta berbagai
website.
2.1. Proyek
2.1.1. Pengertian Proyek
Proyek adalah sebuah kegiatan yang bersifat sementara yang telah
ditetapkan awal pekerjaannya dan waktu selesainya (dan biasanya selalu dibatasi
oleh waktu, dan seringkali juga dibatasi oleh sumber pendanaan), untuk mencapai
tujuan dan hasil yang spesifik dan unik, dan pada umumnya untuk menghasilkan
sebuah perubahan yang bermanfaat atau yang mempunyai nilai tambah.
Proyek selalu bersifat sementara atau temporer dan sangat kontras dengan
bisnis pada umumnya (Operasi-Produksi), dimana Operasi-Produksi mempunyai
sifat perulangan (repetitif), dan aktivitasnya biasanya bersifat permanen atau
mungkin semi permanen untuk menghasilkan produk atau layanan (jasa/servis).
Menurut Schwalbe (2006:4), proyek adalah usaha yang bersifat sementara
untuk menghasilkan produk atau layanan yang unik. Pada umumnya proyek
melibatkan beberapa orang yang saling berhubungan aktivitasnya dan sponsor
utama proyek biasanya tertarik dalam penggunaan sumber daya yang efektif untuk
menyelesaikan proyek secara efisien dan tepat waktu.
Sedangkan menurut Larson dan Gray (2011), proyek adalah kegiatan yang
kompleks, tidak rutin, dan usaha satu waktu yang dibatasi oleh waktu, anggaran,
sumber daya dan spesifikasi kinerja yang dirancang untuk memenuhi kebutuhan
pelanggan.
9
10
2.1.2. Pengertian Manajemen Proyek
Manajemen proyek adalah sebuah disiplin keilmuan dalam hal
perencanaan, pengorganisasian, pengelolaan (menjalankan serta pengendalian),
untuk dapat mencapai tujuan-tujuan proyek.
Menurut Soetari (2014:21), manajemen proyek merupakan tata cara
mengorganisasikan dan mengelola sumber penghasilan yang penting untuk
menyelesaikan proyek dari awal sampai akhir proyek. Manajemen proyek dapat
diterapkan pada jenis proyek apapun, dan dipakai secara luas untuk
menyelesaikan proyek yang besar dan kompleks. Fokus utama manajemen proyek
adalah pencapaian tujuan akhir proyek dengan segala batasan yang ada, waktu,
dan dana yang tersedia.
Tantangan utama sebuah proyek adalah mencapai sasaran-sasaran dan
tujuan proyek dengan menyadari adanya batasan-batasan yang telah dipahami
sebelumnya. Pada umumnya batasan-batasan itu adalah ruang lingkup pekerjaan,
waktu pekerjaan dan anggaran pekerjaan. Dan hal ini biasanya disebut dengan
"triple constrains" atau "tiga batasan".
Gambar 2.1 The Triple Constraints
Dengan semakin meningkatnya kesadaran akan harkat dan martabat
individu dalam menjalankan proyek, maka batasan ini kemudian berkembang
dengan ditambahkan dengan batasan keempat yaitu faktor keselamatan.
Tantangan selanjutnya adalah bagaimana mengoptimalkan dan pengalokasian
11
semua sumber daya dan mengintegrasikannya untuk mencapai tujuan proyek yang
telah ditentukan.
2.2. Program Aplikasi
2.2.1. Program
Program komputer atau sering kali disingkat sebagai program adalah
serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada
komputer (Stair:132). Komputer pada dasarnya membutuhkan keberadaan
program agar bisa menjalankan fungsinya sebagai komputer, biasanya hal ini
dilakukan dengan cara mengeksekusi serangkaian instruksi program tersebut pada
prosesor (Silberschatz:58).
Program yang bisa dibaca oleh manusia disebut kode sumber, yaitu suatu
bentuk program yang bisa dipahami dan dianalisa algoritmanya oleh programmer.
Kode sumber tersebut pada akhirnya akan dikompilasi oleh compiler dari bahasa
pemrograman tertentu menjadi suatu bentuk program yang mudah dan efisien
ketika dijalankan oleh komputer. Bentuk lain dari pengeksekusian program adalah
menggunakan interpreter, dimana kode sumber akan langsung dijalankan oleh
komputer.
Dari pengertian tersebut maka dapat disimpulkan bahwa program adalah
urutan instruksi yang diwujudkan dalam bentuk kode atau bahasa yang bisa
dimengerti dan mampu dijalankan oleh komputer untuk melakukan tugas-tugas
tertentu.
2.2.2. Aplikasi
Aplikasi merupakan program yang berisikan perintah-perintah untuk
melakukan pengolahan data. Aplikasi secara umum adalah suatu proses dari cara
manual yang ditransformasikan ke komputer dengan membuat sistem atau
program agar data diolah lebih berdaya guna secara optimal (Jogiyanto 4).
12
2.2.3. Aplikasi Berbasis Web
Aplikasi berbasis web adalah aplikasi yang bisa diakses melalui Internet
atau intranet dengan menggunakan browser. Aplikasi tersebut dibangun dengan
bahasa yang disebut dengan HTML (Hypertext Markup Language) yang
kemudian dapat diakses dan ditampilkan oleh browser. Protokol yang digunakan
untuk mentransfer data atau dokumen yang berformat HTML dari web server ke
browser adalah HTTP (Hypertext Transfer Protocol).
Pada perkembangannya, skrip dan obyek sudah ditambahkan dan
dikembangkan untuk memperluas kemampuan HTML. Pada saat ini banyak skrip
yang bisa digunakan dengan HTML, antara lain PHP, ASP, ASP.NET. Sedangkan
contoh yang berupa obyek adalah Flash dan Applet (Java). Dengan adanya skrip
dan obyek tersebut maka banyak sekali fungsi-fungsi yang ditambahkan ke
aplikasi berbasis web, salah satu diantaranya adalah koneksi dengan database.
Sebuah aplikasi berbasis web disimpan dan dijalankan pada sebuah
komputer yang disebut dengan web server. Ketika seorang user mengetik sebuah
alamat di browser, maka sebenarnya alamat tersebut adalah alamat dari web
server. Melalui protokol HTTP, browser akan meminta isi dari halaman web
kepada web server. Jika permintaan tersebut valid, maka web server akan
mengirimkan dokumen dalam bentuk HTML kepada browser untuk kemudian
ditampilkan kepada user tersebut.
Saat ini aplikasi berbasis web menjadi sangat populer. Banyak sekali
perusahaan-perusahaan yang berpindah dari aplikasi berbasis desktop menjadi
aplikasi berbasis web. Berikut adalah beberapa kelebihan aplikasi berbasis web:
a. Dapat dijalankan secara langsung tanpa harus melakukan
penginstalan.
b. Dapat dibuka di semua sistem operasi. Tidak perduli apakah
menggunakan Windows, Linux atau Mac, selama ada browser
maka aplikasi bisa dijalankan.
c. Bisa diakses dari media selain komputer, misalnya smart phone
atau smart tv.
13
d. Tidak memerlukan spesifikasi komputer yang tinggi.
2.3. Pemrograman Berbasis Web
2.3.1. Pemrograman PHP
Pemrograman adalah pembuatan kode program untuk suatu aplikasi
tertentu berdasarkan rancang bangun yang telah dibuat (Jogiyanto 2005). PHP
adalah salah satu dari bahasa pemrograman web yang paling populer saat ini. PHP
atau yang memiliki kepanjangan PHP: Hypertext Preprocessor merupakan suatu
bahasa pemrograman yang difungsikan untuk membangun suatu website yang
dinamis (Saputra 2012). Kode PHP menyatu dengan kode HTML. HTML
digunakan untuk membangun kerangka dan layout web sedangkan PHP
digunakan untuk menjalankan proses bisnis dari aplikasi web tersebut.
PHP merupakan server-side scripting yang artinya program tersebut
dieksekusi oleh web server. Ketika user membuka website, maka browser akan
mengirimkan permintaan halaman PHP kepada web server. Setelah menerima
permintaan tersebut maka web server akan mengeksekusi program PHP tersebut
kemudian hasilnya yang berupa HTML akan dikirimkan kembali ke browser
untuk ditampilkan ke user.
Dengan lisensinya yang open source, maka PHP bisa digunakan oleh siapa
saja tanpa dikenakan biaya, dengan membuka atau membebaskan kode sumbernya
sehingga dapat mengetahui dengan jelas cara kerja program tersebut.
PHP merupakan bahasa pemrograman web yang paling populer pada saat
ini. Bahasa pemrograman ini awalnya diciptakan pada tahun 1994 oleh Rasmus
Lerdorf, pada saat ini dikembangkan dibawah naungan The PHP Group. Sampai
dengan Januari 2013 PHP sudah diinstall pada lebih dari 240 juta website dan 2,1
juta web server (Ide 2013).
2.3.2. Database MySQL
Database atau basis data adalah sekumpulan informasi yang diatur agar
mudah dicari. Dalam arti umum basis data adalah sekumpulan data yang diproses
14
dengan bantuan komputer yang memungkinkan data dapat diakses dengan mudah
dan tepat, yang dapat digambarkan sebagai aktivitas satu atau lebih organisasi
yang berelasi (Kustiyahningsih 2010:145).
Konsep dasar database adalah kumpulan dari catatan, atau potongan dari
pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta
yang tersimpan di dalamnya, penjelasan ini disebut skema. Ada banyak cara untuk
mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai
database model atau model data. Model yang umum digunakan sekarang adalah
model relasional, yang menurut istilah yaitu mewakili semua informasi dalam
bentuk tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan
kolom. Dalam model ini, hubungan antar tabel diwakili dengan menggunakan
nilai yang sama antar tabel.
MySQL adalah sistem manajemen database SQL yang bersifat Open
Source dan paling populer saat ini. Sistem Database MySQL mendukung
beberapa fitur seperti multi-threaded, multi-user, dan SQL database management
system (DBMS). Database ini dibuat untuk keperluan sistem database yang cepat,
handal dan mudah digunakan.
Berikut adalah beberapa kelebihan MySQL:
a. MySQL adalah program database dengan lisensi open source
sehingga mudah didapatkan dan digunakan tanpa biaya.
b. MySQL mempunyai kinerja yang cukup bagus dan cepat
dikarenakan menggunakan MyISAM.
c. MySQL menggunakan ruang penyimpanan yang sangat sedikit.
d. MySQL bisa diinstal dengan mudah di berbagai sistem operasi baik
itu Windows, MacOS maupun Unix.
e. Mempelajari MySQL sangat mudah karena di Internet banyak
sekali tutorial yang bisa didapatkan dengan gratis.
f. MySQL sangat cocok untuk aplikasi dengan sekala kecil dan
menengah.
15
2.3.3. Apache Web Server
Web server merupakan server Internet yang mampu melayani koneksi
transfer data menggunakan protokol HTTP. Web server telah dirancang untuk
dapat melayani beragam jenis data, dari text, grafis hingga video. Salah satu web
server yang biasa digunakan oleh banyak web master di dunia adalah Apache.
Software tersebut dapat di download secara gratis. Dalam penggunaannya Apache
merupakan software web server open source yang paling populer saat ini.
Software tersebut telah menguasai diatas 50% dari pasar web server.
2.4. Metode Pengembangan Sistem
Metode pengembangan yang digunakan dalam perancangan sistem
informasi ini adalah menggunakan Model Waterfall. Metode ini merupakan
metode yang paling sering digunakan oleh pada penganalisa sistem. Inti dari
metode waterfall ini adalah pengerjaan pengembangan sistem yang dilakukan
secara berurutan, artinya sebuah tahap hanya bisa dilakukan jika tahap yang
sebelumnya telah selesai.
2.4.1. Metode Pengembangan Sistem Waterfall
Menurut Pressman (2014) metode waterfall adalah suatu proses
pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai
terus mengalir ke bawah (seperti air terjun) melewati fase-fase perencanaan,
pemodelan, implementasi (konstruksi), dan pengujian.
Berikut adalah gambar pengembangan perangkat lunak dengan metode
waterfall:
16
Gambar 2.2 Metode Waterfall
Pengembangan sistem dengan menggunakan metode waterfall memiliki
tahapan sebagai berikut:
1. Analisis kebutuhan
Analisa kebutuhan merupakan awal dari tahapan metode waterfall.
Pada tahap ini dilakukan penggalian informasi sebanyakbanyaknya dari user. Pengumpulan data tersebut bisa dilakukan
dengan cara wawancara atau studi literatur. Tahap ini akan
menghasilkan sebuah dokumen yang akan menjadi acuan pada
perancangan sistem.
2. Desain sistem
Ini adalah proses yang harus dilakukan sebelum coding. Fokus
pada tahap ini adalah struktur data, arsitektur perangkat lunak,
tampilan layar serta detail dari algoritma proses yang akan
digunakan. Tahapan ini menghasilkan dokumen yang disebut
software requirement yang akan menjadi acuan dalam pembuatan
sistem.
3. Pembuatan (coding)
17
Tahapan ini merupakan tahapan yang paling terlihat nyata dalam
pembuatan sistem. Pelaku utama dalam proses ini adalah
programmer yang menterjemahkan dari software requirement
menjadi sebuah proses dalam aplikasi dengan menggunakan kodekode program.
4. Pengujian
Pengujian dilakukan dengan tujuan mencari kesalahan-kesalahan
yang mungkin terjadi pada tahap pembuatan sistem.
5. Penerapan dan pemeliharaan
Tahapan ini bisa dikatakan final dalam pembuatan sebuah sistem.
Paha tahap ini sistem sudah benar-benar bisa digunakan oleh user.
Pelatihan user juga merupakan bagian dari tahap ini.
2.4.2. Keuntungan Menggunakan Metode Waterfall
Waterfall adalah metode pengembangan sistem yang banyak digunakan
saat ini. Kelebihan atau keuntungan dalam menggunakan metode waterfall adalah
sebagai berikut:
a. Kualitas dari sistem yang dihasilkan akan menjadi sangat bagus
dikarenakan pengerjaan sistem dilakukan secara bertahap sehingga
para pembuat sistem bisa fokus pada satu tahapan saja pada satu
waktu.
b. Dokumen pengembangan sistem akan menjadi rapi dan terorganisir
karena pada setiap tahap menuntun untuk membuat dokumen yang
bisa diandalkan. Tanpa dokumen yang bagus maka pengembangan
sistem tidak bisa melanjutkan ke tahap berikutnya.
c. Metode ini bisa diterapkan di berbagai kondisi, baik perancangan
yang rumit dimana pembuat sistem belum memahami sistem yang
akan dibuat maupun perancangan yang bersifat umum yang semua
orang sudah memahaminya.
18
2.4.3. Kerugian Menggunakan Metode Waterfall
Walaupun metode waterfall banyak digunakan, bukan berarti merupakan
metode perancangan yang sempurna. Ada beberapa kekurangan dari metode ini,
yaitu:
a. Diperlukan manajemen yang baik, karena ketika sudah berada di
sebuah tahap maka tidak bisa mengulang tahap sebelumnya.
b. Kesalahan kecil yang terjadi pada suatu tahap bisa menjadi
masalah besar pada tahap berikutnya jika tidak diantisipasi dengan
baik.
c. Pada saat awal pengembangan biasanya pelanggan tidak dapat
menyampaikan secara detail kebutuhannya. Kebutuhan tersebut
menjadi tidak bisa diakomodir ketika tahap analisa kebutuhan
sudah terlewatkan.
2.5. Metode Pengujian Sistem
Dalam pengembangan sistem informasi, pengujian sistem mutlak
diperlukan. Pengujian merupakan bagian tidak terpisahkan dari proses
pengembangan sistem. Pengembangan Aplikasi Manajemen Proyek Perangkat
Lunak di PT. Global Anugerah Indonesia ini menggunakan metode pengujian
Black Box, yaitu sebuah metode pengujian yang berfokus pada spesifikasi
fungsional pada perangkat lunak. Penguji dapat mendefinisikan kumpulan kondisi
input dan melakukan pengujian pada spesifikasi fungsional program.
Pengujian dengan metode black box memiliki ciri-ciri sebagai berikut:
a. Pengujian berfokus pada fungsionalitas perangkat lunak yaitu
berdasarkan spesifikasi perangkat lunak.
b. Pengujian dilakukan tanpa memerlukan pengetahuan detail dari
struktur internal dari sistem atau komponen yang diuji. Pengujian
ini bisa juga disebut behavioral testing, specification-based testing,
input/output testing atau functional testing.
19
Pengujian ditujukan untuk menemukan kesalahan. Pada proses pengujian
dengan menggunakan metode black box, kesalahan-kesalahan yang mungkin
muncul bisa dikategorikan sebagai berikut:
a. Fungsi tidak ada atau tidak benar
b. Kesalahan pada antar muka
c. Kesalahan pada struktur data atau akses ke database
d. Kinerja yang tidak baik, misalnya lambat
e. Kesalahan pada saat inisialisasi dan terminasi
Download