Upload
phunganh
View
231
Download
0
Embed Size (px)
Citation preview
BAB 2
LANDASAN TEORI
2.1 Teori - Teori Umum
2.1.1 Manajemen Proyek
Menurut Nicolas dan Steyn(2008:xxvi), Manajemen Proyek adalah
sebuah proyek yang melibatkan tujuan, yang dapat menguraikan masalah
dengan baik, dari tahap identifikasi hingga tahap akhir. Setiap proyek unik
karena melakukan sesuatu yang berbeda dari yang dilakukan sebelumnya,
bahkan dalam sebuah proyek "rutin" seperti konstruksi rumah, variabel
seperti medan, akses, undang-undang zonasi, pasar tenaga kerja, dan yang
lainnya. Proyek adalah kegiatan satu kali, tidak pernah benar-benar
mengulangi lagi. Sebuah proyek adalah proses kerja untuk mencapai tujuan,
selama proses tersebut, proyek melewati fase yang berbeda melewati pada
beberapa siklus proyek.
2.1.2 Perencanaan Proyek
Menurut Diwan (2008:27) Perencanaan proyek adalah penentuan
rasional, dalam mempertahankan dan mengakhiri penulisan proyek.
Sedangkan pada pengertian selanjutnya, perencanaan proyek adalah konsep
dasar perencanaan proyek, yaitu pengembangan rencana di tingkat detail
yang diperlukan beserta dengan tonggak yang menyertainya, dan
11
12
penggunaan alat-alat yang tersedia untuk menyiapkan dan memantau
perencanaan proyek.
2.1.3 System Engineering
Menurut Diwan (2008:28), System Engineering didefinisikan sebagai
ilmu merancang sistem yang kompleks, dalam totalitas untuk memastikan
bahwa subsistem komponen yang membentuk sistem dirancang, dipasang
bersama-sama, diperiksa, dan dioperasikan dalam cara yang paling efisien.
Ini mengacu pada pengembangan desain konsep dan sistem yang kompleks,
di mana komponen sendiri harus dirancang, dikembangkan, dan terintegrasi
bersama-sama untuk memenuhi tujuan sistem. Rekayasa sistem adalah cara
untuk membawa seluruh sistem menjadi ada dan untuk menjelaskan siklus
hidup keseluruhannya, termasuk operasi dan fase keluar saat konsepsi awal
dan desain.
2.1.4 Software
Menurut Pressman (2010:4) suatu definisi dari software mungkin akan
mengambil dari beberapa bentuk dibawah:
1. Instruksi – instruksi (program komputer) yang ketika di eksekusi
menyediakan fitur, fungsi, dan penampilan yang diinginkan.
2. Data struktur yang membuat suatu program cukup mampu untuk
memanipulasi informasi.
3. Informasi deskriptif dalam bentuk hard copy atau bentuk virtual yang
menggambarkan operasi dan kegunaan dari program.
13
2.1.5 Internet
Dalam aplikasi berbasis web, internet memiliki banyak peranan
penting. Dengan adanya akses internet, akan memungkinkan untuk berbagi
data tanpa ada batasan jarak dan waktu.
Menurut Turban, Rainer dan Potter (2006:674), internet adalah
jaringan besar yang menghubungkan antara jaringan komputer dari bisnis,
organisasi, lembaga pemerintah, dan sekolah diseluruh dunia, dengan cepat,
langsung, dan hemat.
Setiap komputer yang terhubung pada internet memiliki alamat yang
sudah ditetapkan. Alamat ini adalah alamat IP-address (Internet Protocol
address), yang secara khusus mengidentifikasi suatu komputer dari
komputer lainnya. Alamat IP terdiri dari beberapa angka-angka, dalam 4
bagian dan dipisahkan atas titik. Misalnya, alamat IP pada suatu komputer
adalah 192.168.0.3. Domain name sistem (DNS) adalah sistem yang diatur
oleh Internet Coorporation For Assigned Names and Numbers (ICANN)
yang juga menetapkan nama untuk setiap situs di internet.
2.1.6 Word Wide Web (WWW)
Menurut Turban, Rainer dan Potter (2006:680), World Wide Web
adalah sistem standar yang digunakan oleh internet secara universal,
berfungsi untuk menyimpan, menelusuri, memformat, dan menampilkan
informasi melalui arsitektur client-server.
14
Sebuah web dibangun oleh hypertext standar yang disebut HyperText
Markup Languange (HTML), yang memformat dokumen dan memadukan
link hypertext dinamis ke dokumen-dokumen lain yang disimpan didalam
komputer. Dibawah ini adalah istilah-istilah dalam World Wide Web:
1. Website : sebuah cara yang digunakan perusahaan untuk mengiklankan
produk atau jasa melalui internet yang berisi hypermedia yang dapat
diakses dari komputer lain melalui suatu hyperlink.
2. Web page : suatu file hypermedia yang disimpan disuatu website yang
diidentifikasi oleh suatu alamat yang unik.
3. Hypertext Link : suatu penunjuk yang terdiri dari teks atau grafik yang
digunakan untuk mengakses hypertext yang disimpan didalam website.
4. Universal Resource Locator (URL) : alamat dari suatu web page.
5. Browser : suatu aplikasi piranti lunak yang digunakan oleh pengguna
untuk mengakses suatu website.
6. File Transfer Protocol (FTP) : suatu perangkat lunak yang
memungkinkan kita menyalin file ke komputer kita dari website mana
saja.
7. Transfer Control Protocol / Internet Protocol (TCP/IP) : standar
komunikasi data yang digunakan untuk berkomunikasi di internet dalam
tukar menukar data dari suatu komputer ke komputer lain.
8. Web Server : suatu aplikasi pada suatu situs web yang bertanggung jawab
merespon file dari web browser.
15
9. Web Browser : program aplikasi yang digunakan untuk menjelajahi
informasi yang ada dihalaman web dan untuk mendapatkan dokumen dari
web tersebut.
10.Hypertext Transfer Protocol (HTTP) : suatu protokol yang digunakan
agar client dapat tetap berhubungan dengan web server atau sebaliknya.
11.Hypertext Markup Languange (HTML) : suatu format data standar yang
digunakan untuk membuat dokumen hypertext agar dapat dibaca dari
suatu platform satu ke platform lainnya, tanpa melakukan perubahan.
2.1.7 Browser
Menurut Turban (2006:483), browser adalah aplikasi piranti lunak
yang digunakan oleh pengguna untuk mengakses suatu website. Browser
digunakan sebagai alat akses yang universal karena akan memberikan
tampilan yang sama walaupun sistem operasinya berbeda. Beberapa browser
yang saat ini sangat populer digunakan misalnya : Microsoft Internet
Explorer, Mozilla Firefox, Google Chrome, dan beberapa browser lainnya.
2.1.8 Unified Modelling Languange (UML)
Menurut Whitten (2007:430), Unified Modeling Language (UML)
adalah salah satu cara untuk melakukan pendekatan model untuk
mempelajari objek – objek untuk melihat apakan objek tersebut dapat
digunakan kembali dan diubah untuk suatu kegunaan yang lain, dan
mendefinisikan objek yang telah diubah yang akan digabungkan dengan
objek lainnya yang ada untuk membuat suatu aplikasi bisnis.
16
Beberapa jenis diagram UML (Whitten, 2007, p381) antara lain
sebagai berikut:
1. Class Diagram
Diagram ini digunakan untuk menggambarkan struktur object-object yang
membentuk sistem dan hubungan antar object tersebut. Primary key dan
foreign key tidak harus disebutkan dalam class diagram. Notasi hubungan
antar kelas terbagi atas:
1. Exactly 1 (1)
2. Zero or 1 (0..1)
3. Zero or more (0..* atau *)
4. 1 or more (1..*)
5. Specific range (?..?)
Contoh :
Gambar 2.1 Contoh Class Diagram
17
2. Usecase diagram
Diagram ini digunakan untuk menggambarkan siapa saja yang
menggunakan suatu sistem, dan bagaimana cara user berinteraksi dengan
sistem tersebut dari sudut pandang luar, dengan istilah yang mudah untuk
dipahami. Didalamnya, setiap kegiatan dalam sistem digambarkan dalam
bentuk elips dan user yang berhubungan dengan fungsi tersebut (aktor)
digambarkan dengan bentuk stick figure disertai dengan label perannya.
Aktor adalah bagian yang memulai aktivitas sistem dan aktor dapat
berupa manusia, organisasi, sistem informasi lain. Perangkat eksternal,
atau konsep waktu. Untuk membuat diagram ini, sistem yang ada harus
dipecah kedalam sub-sub bagian.
Contoh :
Gambar 2.2 Contoh Use Case Diagram
18
3. Sequence Diagram
Diagram ini digunakan untuk menggambarkan bagaimana objek saling
berinteraksi selama eksekusi suatu operasi. Sebuah sequence diagram
hanya pada salah satu jalur pada usecase sehingga mungkin saja terdapat
beberapa diagram untuk sebuah usecase. Notasi yang digunakan dalam
sequence diagram:
1. Actor berupa aktor yang memulai pada usecase dengan symbol
yang sama
2. System berupa kotak yang menunjukan sistem yang sedang berjalan,
ditandai dengan notasi titik dua (:) pada awal nama sistem.
3. Lifelines berupa garis putus-putus menurun dari simbol aktor dan
sistem.
4. Activation bars berupa balok yang terletak diatas lifeline,
menunjukan periode waktu ketika terdapat interkasi secara aktif.
5. Input message berupa anak panah mendatar dari aktor ke sistem
yang menunjukan pesan masuk, dimana kata pertama diawali
dengan huruf kecil sedangkan kata berikutnya diawali dengan huruf
besar dan tidak ada spasi, diikuti dengan tanda kurung yang berisi
parameter yang dibutuhkan.
6. Output message berupa anak panah mendatar dengan garis putus-
putus dari sistem ke aktor yang menunjukan pesan keluar.
7. Receive Actor berupa aktor lain yang menerima pesan dari sistem.
19
8. Frame berupa kotak yang menambahkan pesan terpisah untuk
menunjukan perulangan, alternatif atau pilihan.
Contoh :
Gambar 2.3 Contoh Sequence Diagram
4. Activity Diagram
Diagram ini digunakan untuk menggambarkan langkah-langkah kegiatan
pada suatu sistem dan mampu menjelaskan kegiatan yang terjadi ketika
suatu operasi dieksekusi serta menunjukkan hasilnya karena urutan proses
ditunjukan lengkap dengan mekanisme. Notasi yang digunakan dalam
activity diagram:
1. Initial node berupa lingkaran yang menunjukan awal proses.
20
2. Action berupa bujur sangkar dengan sudut membulat yang
menunjukan langkah-langkah aktivitas sistem.
3. Flow berupa anak panah yang menunjukan arah aksi dan dilengkapi
dengan kata-kata jika berasal dari decision.
4. Decision berupa belah ketupat yang memiliki sebuah flow masuk
dan dua atau lebih flow keluar, dimana flow keluar menandakan
kondisi yang ada.
5. Merge berupa belah ketupat yang memilik dua atau lebih flow
masuk dan sebuah flow keluar, menyatukan flow sebelumnya
terpisah pada decision.
6. Fork berupa garis horisontal hitam yang memiliki sebuah flow
masuk dan dua atau lebih flow keluar, dimana aksi yang terjadi
berikut dapat terjadi dalam urutan apapun atau dapat juga terjadi
secara bersamaan.
7. Join berupa garis horisontal hitam yang memiliki dua atau lebih
flow masuk dan sebuah flow keluar, dimana seluruh aksi
sebelumnya telah diselesaikan.
8. Activity final berupa lingkaran ganda yang menunjukan akhir dari
proses.
9. Subactivity indicator berupa fork yang terdapat dalam suatu aksi,
menunjukan bahwa aksi tersebut terpecah pada activity diagram
terpisah.
21
10. Connector berupa lingkaran dengan huruf didalamnya untuk
melompat ke bagian lain dengan huruf yang sama sesuai dengan
arah flow.
Contoh Activity Diagram :
Gambar 2.4 Contoh Activity Diagram
Untuk menjelaskan siapa dan melakukan apa, diagram dapat dibagi
aksinya sesuai dengan aktor yang melakukan aksi tersebut.
2.1.9 Interaksi Manusia dan Komputer
Menurut Shneiderman (2010:88), interaksi manusia dan komputer atau
Human Computer Interaction (HCI) adalah ilmu yang mempelajari tentang
bagaimana cara manusia berinteraksi dengan seperangkat komputer dan
22
pengaruh komputer dalam pengembangannya untuk dapat berinteraksi
dengan manusia.
Interaksi manusia dengan komputer melibatkan perancangan antar
muka pemakai yang memiliki 8 faktor yang harus di perhatikan, atau yang
sering diketahui yaitu 8 aturan emas diantaranya:
1. Berusaha konsisten
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang
digunakan pada prompt, menu, atau layar bantuan.
2. Menyediakan kebutuhan universal
Penyesuaian perbedaan kebutuhan dari berbagai user ( tingkatan
kemahiran, kelompok umur, pengetahuan), seperti dengan menambahkan
penjelasan bagi pemula dan shorcut bagi user yang sudah lebih ahli
(expert).
3. Memberikan umpan balik infomatif
Untuk setiap tindakan yang dilakukan oleh user, sebaiknya disertakan
suatu sistem umpan balik. Untuk tindakan yang tidak memberikan efek
yang penting dapat diberikan umpan balik yang sederhana. Tetapi untuk
tindakan penting, maka umpan balik sebaiknya lebih substansial. Misal
muncul suatu pesan ketika salah menekan tombol pada waktu input data.
4. Merancang dialog yang memberikan penutupan (Keadaan akhir)
Urutan tindakan sebaiknya diorganisir dalam kelompok, yaitu bagian
awal, tengah, sampai akhir. Pada bagian akhir tindakan, sebaiknya
23
diberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat
mempersiapkan kelompok tindakan berikutnya.
5. Memberikan pencegahan dan penanganan kesalahan yang sederhana.
Sedapat mungkin sistem yang dirancang agar pengguna tidak melakukan
kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan
dan dengan cepat dan memberikan mekanisme yang sederhana dan
mudah dipahami untuk penanganan kesalahan.
6. Mudah untuk kembali ke tindakan sebelumnya.
Hal ini dapat mengurangi kekhawatiran pengguna karena mengetahui
kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna akan
lebih berani untuk mengekplorasi pilihan-pilihan lain yang belum biasa
digunakan.
7. Mendukung pusat kendali internal (internal focus of control)
User adalah pengontrol sistem dan sistem akan merespon tindakan yang
dilakukan. Sebaiknya sistem dirancang sedemikian rupa sehingga
pengguna menjadi inisiator dari pada responden.
8. Mengurangi beban ingatan jangka pendek.
Karena keterbatasan ingatan manusia maka interface sebaiknya dibuat
dengan tampilan yang sederhana, serta tidak memakan waktu untuk
berlatih dan mengetahui urutan-urutan dari suatu tindakan.
24
2.1.10 Database
Menurut Turban (2006:444), database adalah kumpulan logis dari
sejumlah file yang saling berhubungan. File adalah kumpulan logis dari
sejumlah record yang saling berhubungan. Record adalah kumpulan logis
dari sejumlah field yang saling berhubungan. Field adalah kumpulan logis
dari sejumlah karakter yang membentuk kata atau angka.
Sehingga kumpulan field tergabung menjadi record. Record -record
tersebut membentuk file, lalu file-file tersebut bergabung membentuk
kesatuan menjadi database. Kegunaan dari database adalah:
1. Menghilangkan redundancy data.
2. Keterbatasan akses data.
3. Meningkatkan keamanan.
4. Multiple User.
5. Independensi data (kebebasan data).
Menurut Turban (2006:444), Beberapa database yang sering
digunakan oleh programmer misalnya MySQL, Oracle, dan Microsoft
Access. Masing-masing database memiliki kelebihan dan kekurangan.
Untuk database yang akan digunakan adalah MySQL, sebab sifatnya yang
open source membantu dalam penyusunan skripsi ini.
2.2 Teori Khusus
2.2.1 Aplikasi
25
2.2.1.1 Software Aplikasi
Menurut Pressman (2010:7), software aplikasi adalah suatu
program yang berdiri sendiri yang dapat memecahkan suatu kebutuhan
bisnis yang spesifik.
2.2.1.2 Aplikasi Web
Menurut Pressman (2010:8), aplikasi web atau yang disebut
“WebApps” adalah lingkungan computing yang canggih yang tidak hanya
menyediakan sebuah fitur yang berdiri sendiri, fungsi computing, dan
konten untuk end user, tetapi juga terintegrasi dengan database
perusahaan dan aplikasi bisnis.
2.2.2 PHP
Menurut Supriyanto (2008), PHP merupakan singkatan dari
Hypertext Preprocessor. PHP termasuk dalam perangkat lunak open source
yang diatur dalam aturan General Purpose Licences (GPL). Pemrograman
PHP sangat cocok dikembangkan dalam lingkungan web, karena PHP bisa
dilekatkan pada script HTML atau sebaliknya. PHP tergolong juga sebagai
bahasa pemrograman yang berbasis server (server-side scripting ). Ini berarti
bahwa semua script PHP diletakkan di server dan diterjemahkan oleh web
server terlebih dahulu, kemudian hasil terjemahan itu dikirimkan ke browser
client (Intenet Explorer, Opera, Mozilla dan lain- lain). Secara teknologi,
bahasa pemrograman PHP memiliki kesamaan dengan bahasa ASP (Active
Server Page), JSP (Java Server Page) dan Perl. Keunggulan dari PHP antara
26
lain:
1. Source program dapat dilihat menggunakan fasilitas view html source
yang ada pada browser.
2. Script dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh
server, seperti untuk keperluan database connection.
3. Aplikasi tidak memerlukan kompabilitas pada browser atau harus
menggunakan browser tertentu karena server yang akan mengerjakan
script PHP dan hasilnya akan dikirim kembali ke web browser.
Contoh Script PHP :
<?phpsession_start();include('../function.php');
$username = $_POST["username"];$pass = $_POST["password"];
if( (!isset($_POST["username"]))||(!isset($_POST["password"))){
$_SESSION['pesan'] = "Make Sure <b>Username,</b> or <b>Password</b> Not Empty..!";
header("Location: " .$URLWeb ."index.php");exit();
}else{
login($username, $pass);}?>
2.2.3 Model View Controller
Menurut Allen (2008:6), MVC (Model View Controller) adalah suatu
pola rancangan dalam sebuah arsitektur perangkat lunak. Terdapat 3 jenis
komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu:
27
1. View, merupakan bagian yang menangani presentation logic. Pada suatu
aplikasi web bagian ini biasanya berupa file template HTML, yang
diatur oleh controller. View berfungsi untuk menerima dan
merepresentasikan data kepada user. Bagian ini tidak memiliki akses
langsung terhadap bagian model.
2. Model, biasanya berhubungan langsung dengan database untuk
memanipulasi data (insert, update, delete, search), menangani validasi
dari bagian controller, namun tidak dapat berhubungan langsung dengan
bagian view.
3. Controller, merupakan bagian yang mengatur hubungan antara bagian
model dan bagian view. Controller berfungsi untuk menerima request
dan data dari user kemudian menentukan apa yang akan diproses oleh
aplikasi.
28
Gambar 2.5 Perbedaan teknik klasik dan teknik MVC
Dengan menggunakan prinsip MVC suatu aplikasi dapat
dikembangkan sesuai dengan kemampuan developer, yaitu programmer
yang menangani bagian model dan controller, sedangkan designer yang
menangani bagian view, sehingga penggunaan arsitektur MVC dapat
meningkatkan maintainability dan organisasi kode. Walaupun demikian
dibutuhkan komunikasi yang baik antara programmer dan designer dalam
menangani variabel-variabel yang akan ditampilkan.
2.2.4 Perancangan Perangkat Lunak
Menurut Pressman (2010:219) Perancangan perangkat lunak adalah
proses dimana analisa diterjemahkan menjadi “blue-print” untuk
membangun perangkat lunak. Awalnya, blue- print menggambarkan
pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada
abstraksi tingkat tinggi yang dapat langsung ditelusuri pada sistem tertentu
objektif dan data yang lebih rinci, fungsional, dan perilaku persyaratan.
Seperti terjadi pengulangan desain, perbaikan berikutnya mengarah pada
representasi desain yang jauh lebih rendah tingkat abstraksi.
2.2.4.1 Rekayasa Perangkat Lunak
29
Rekayasa perangkat lunak menurut Pressman, (2010:13) adalah
pengembangan dan penggunaan prinsip pengembangan suara untuk
memperoleh perangkat lunak secara ekonomis yang reliable dan
bekerja secara efisien pada mesin nyata.
2.2.4.2 Lapisan RPL
Menurut Pressman (2010:12-14), secara umum Rekayasa
piranti lunak dibagi menjadi empat layer, antara lain:
1. Process model adalah fondasi dari RPL yang mendefinisikan
framework untuk sekumpulan key process area yang harus
dibangun untuk keefektifan penyampaian teknologi
pengembangan RPL.
2. Methods menyediakan secara teknis bagaimana cara untuk
membangun suatu perangkat lunak.
3. Tool menyediakan dukungan otomatis dan semi otomatis untuk
proses model dan methods.
4. Quick focus merupakan batu landasan yang menopang tools,
methods, dan process dalam RPL.
30
Gambar 2.6 Contoh Lapisan Rekayasa Perangkat Lunak
2.2.4.3 Model Process Software
Menurut Pressman (2010:31-61), ada beberapa model proses
software yang umum digunakan, salah satunya adalah Model
Sekuensial Linier, model ini juga di kenal dengan nama “ ClassLife
Cycle ” atau “ Waterfall Model ”.
31
2.7 Contoh Model Process Software
Model ini melingkupi aktivitas-aktivitas sebagai berikut :
1. Rekayasa Pemodelan Sistem Informasi
Rekayasa dan pemodelan sistem informasi diperlukan karena
perangkat lunak selalu merupakan bagian dari sebuah sistem yang
lebih besar, kerja dimulai dengan membangun syarat dari semua
elemen sistem dan mengalokasikan beberapa subset dari
kebutuhan perangkat lunak tersebut. Perangkat lunak harus
berhubungan dengan elemen-elemen yang lain seperti perangkat
lunak lainnya, manusia, dan database.
2. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan di intensifkan dan di fokuskan,
khususnya pada perangkat lunak. Untuk memahami sifat program
yang dibangun, seorang perancang perangkat lunak harus
memahami kebutuhan infomasi, fungsi – fungsi untuk kerja dan
interface yang diperlukan.
3. Desain
Desain perangkat lunak sebenarnya adalah proses multi langkah
yang berfokus pada empat attribut sebuah program yang berbeda :
struktur data, arsitektur perangkat lunak, representasi interface,
dan detail (algoritma).
32
4. Pengkodean
Desain harus diterjemahkan menjadi bentuk yang bisa dibaca atau
dimengerti oleh komputer, biasanya dalam bentuk bahasa
pemrograman.
5. Pengujian
Proses pengujian berfokus pada logika perangkat lunak,
memastikan bahwa semua pernyataan sudah di uji, dan pada
fungsi eksternal yaitu mengarahkan pengujian untuk menemukan
kesalahan-kesalahan dan memastikan bahwa input yang dibatasi
akan memberikan hasil aktual yang sesuai dengan hasil yang
diinginkan.
6. Pemeliharaan
Perangkat lunak akan mengalami perubahan setelah disampaikan
dan digunakan oleh customer, maka akan terjadi kesalahan-
kesalahan. Maka perangkat lunak harus disesuaikan kembali untuk
mengakomodasi perubahan – perubahan dalam lingkungan
eksternalnya, atau pelanggan membutuhkan upgrade fungsional
atau kerja dari perangkat lunak agar dapat memenuhi kebutuhan
yang berkembang.
2.2.5 Entity Relationship Diagram (ERD)
Menurut Connoly dan Begg (2010:371-395), Entity Relation Diagram
digunakan untuk menggambarkan struktur logical dari database dalam
33
bentuk diagram ERD, serta menyediakan cara yang sederhana dan mudah
untuk memahami bagian berbagai komponen dalam desain database. ERD
memiliki 3 komponen yaitu :
1. Entity
Entity adalah benda yang memiliki identifikasi yang berbeda . Entity
dapat digambarkan sebagai persegi yang berisi nama dari entity tersebut.
2. Relationship adalah hubungan antara entity. Entity merupakan pengikut
dari relationship. Relationship dapat digambarkan dalam bentuk belah
ketupat yang mana berisi nama dari relasi tersebut. Relationship dapat
berupa hubungan one-to-one, one-to-many, atau many-to-many .
a. Hubungan one-to-one (1 atau 1...1)
Hubungan dimana setiap entity hanya dapat mempunyai maksimal 1
(satu) hubungan dengan entity yang lain.
b. Hubungan one-to-many (1...*)
Hubungan dimana setiap entity dapat mempunyai satu atau lebih
dari satu hubungan dengan entity yang lain.
c. Hubungan many-to-many (*...*)
Hubungan dimana setiap entity dapat mempunyai lebih dari satu
relasi dengan entity lainnya.
3. Property atau atribut
34
Property atau atribut adalah sifat atau karakteristik deskriptif dari suatu
entitas. Setiap property atau atribut mempunyai key diataranya primary
key (PK) dan foreign key (FK), yang bertujuan untuk menunjukkan
hubungan antara kedua entitas.
2.2.6 Diagram Aliran Dokumen (DAD)
Menurut Mulyadi (2001:58-63), diagram aliran dokumen adalah suatu
model yang menggambarkan aliran dari dokumen dan proses untuk
mengolah dokumen yang ada dalam suatu proses. Berikut ini adalah tabel
yang menjelaskan komponen – komponen dari diagram aliran dokumen :
Tabel 2.1.a Simbol Diagram Aliran Dokumen Simbol Keterangan
Simbol Keterangan
Dokumen
Simbol ini digunakan untuk
menggambarkan semua jenis
dokumen, yang merupakan formulir
untuk merekam data terjadinya suatu
transaksi.
Keputusan
Simbol ini menggambarkan keputusan
yang harus dibuat dalam proses Ya
35
pengolahan data. Keputusan yang
dibuat ditulis dalam simbol.
Garis Alir
Jika dua garis alir bersimpangan,
untuk menunjukkan arah masing-
masing garis, salah satu garis dibuat
sedikit melengkung tepat pada
persimpangan kedua garis tersebut.
Persimpangan Garis Alir
Jika dua garis alir bersimpangan,
untuk menunjukkan arah masing-
masing garis, salah satu garis dibuat
sedikit melengkung tepat pada
persimpangan kedua garis tersebut.
Tabel 2.1.b Simbol Diagram Aliran Dokumen Simbol Keterangan
Simbol Keterangan
Tidak
36
Pertemuan Garis Alir
Simbol ini digunakan jika dua garis
alir bertemu dan salah satu garis
mengikuti garis lainnya.
Proses
Simbol ini untuk menunjukkan
tempat-tempat dalam sistem informasi
yang mengolah atau mengubah data
yang diterima menjadi data yang
mengalir keluar. Nama pengolahan
data ditulis didalam simbol.
Garis Alir
Jika dua garis alir bersimpangan,
untuk menunjukkan arah masin –
masing garis, salah satu garis dibuat
sedikit melengkung tepat pada
persimpangan kedua garis tersebut.
Mulai / Berakhir (terminal)
Simbol ini untuk menggambarkan
37
awal dan akhir suatu sistem.
2.2.7 State Transition Diagram (STD)
Menurut Pressman (2010, p502) State Transition Diagram (STD)
mengindikasikan bagaimana sistem memberlakukan suatu kebiasaan sebagai
sebuah konsekuensi dari kejadian di luar. Untuk menyelesaikan kejadian
tersebut, STD merepresentasikan banyak mode perilaku pada sistem dan
jenis transisi yang dibuat dari suatu state ke state lain. STD menyediakan
dasar untuk pemodelan dari perilaku.
2.2.8 Software Development Life Cycle (SDLC)
Menurut Turban, Rainer, Potter (2006, p489), Software
Development Life Cycle (SDLC) adalah struktur tradisional dari suatu
framework, digunakan untuk proyek IT yang besar, berisikan proses-
proses yang berurut dengan sistem informasi yang sedang dibangun.
38
Gambar 2.8 Software Development Life Cycle
Tahap – tahap dari SDLC adalah sebagai berikut :
(1) Systems
(2) Systems
(3) Systems
(4)Programmin
(6)
(8)
(5) Testing
(7) Operation
Go Back to a Previous Stage or Stop
39
1. System Investigation
System Investigation dimulai dari masalah bisnis. Permasalahan
yang ada itu seperti memilih supplier, mengenalkan para pesaing dan
lain – lain. Para professional pengembang sistem setuju bahwa semakin
banyak kita menggunakan waktu untuk masalah bisnis, makin besar
pula pemecahan masalah yang dapat diselesaikan ketika bisnis berjalan.
Penyelesaian sistem tersebut terdiri dari technical feasibility, economic
feasibiity organizational feasibility dan behavioral feasibility.
2. System Analysis
System Analysis adalah proses analisa terhadap masalah bisnis yang
sedang dipikirkan oleh organisasi untuk mendapatkan pemecahan masalah
dengan sistem informasi.
3. System Design
System design menggambarkan bagaimana sistem akan menyelesaikan
suatu masalah. Pengiriman jangka waktu pada sistem desain adalah
desain teknis yang merincikan bagian sebagai berikut:
- Sistem output, input dan user interface.
- Perangkat keras, perangkat lunak, database, telekomunikasi dan
prosedur.
- Bagaimana komponen-komponen ini diintergrasi.
4. Programming
Programming adalah penerjemahan dari spesifikasi sistem desain menjadi
40
kode pada suatu komputer.
5. Testing
Testing dirancang untuk menemukan bugs atau kesalahan dalam kode
pada komputer. Kesalahan ini dibagi 2 jenis, yaitu kesalahan syntax dan
kesalahan logika.
6. Implementation
Implementation adalah proses mengubah dari sebuah sistem komputer
lama menjadi sebuah komputer yang baru. Perusahaan menggunakan 4
strategi untuk mengubah, yaitu parallel, direct, pilot dan phased.
7. Operation
Tugas dari operation adalah menjalankan sistem baru yang sudah dibuat
sebelumnya.
8. Maintenance
Maintenance adalah proses perawatan sistem. Sistem memerlukan
berbagai perawatan untuk dapat bekerja dengan optimal. Perawatan
tersebut yaitu debugging program, updating sistem dan memasukkan
fungsi-fungsi yang baru ke dalam sistem untuk memenuhi
perkembangan kebutuhan.
2.2.9 Metode Waterfall
Menurut Pressman (2010:38), nama model ini sebenarnya adalah
“Linear Sequential Model”. Model ini Disebut juga dengan “classic life
cycle” atau model waterfall. Model ini adalah model yang muncul pertama
41
kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi
merupakan model yang paling banyak dipakai didalam Software
Engineering (SE). Model ini melakukan pendekatan secara sistematis dan
urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain,
coding, testing / verification, dan maintenance. Disebut dengan waterfall
karena tahap demi tahap yang dilalui harus menunggu selesainya tahap
sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus
menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara
umum tahapan pada model waterfall dapat dilihat pada gambar berikut :
Gambar 2.9 Permodelan Waterfall
Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi
Pressman (2010:39) memecah model ini menjadi 6 tahapan meskipun secara
garis besar sama dengan tahapan-tahapan model waterfall pada umumnya.
Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model
ini menurut Pressman:
42
- System / Information Engineering and Modeling. Permodelan ini
diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan
diaplikasikan ke dalam bentuk software. Hal ini sangat penting,
mengingat software harus dapat berinteraksi dengan elemen-elemen yang
lain seperti hardware, database, dan sebagainya. Tahap ini sering disebut
dengan Project Definition.
- Software Requirements Analysis. Proses pencarian kebutuhan
diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari
program yang akan dibuat, maka para software engineer harus mengerti
tentang domain informasi dari software, misalnya fungsi yang
dibutuhkan, user interface, dan sebagainya. Dari 2 aktivitas tersebut
(pencarian kebutuhan sistem dan software) harus didokumentasikan dan
ditunjukkan kepada customer.
- Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan
diatas menjadi representasi ke dalam bentuk “blue-print” software
sebelum coding dimulai. Desain harus dapat mengimplementasikan
kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2
aktivitas sebelumnya, maka proses ini juga harus didokumentasikan
sebagai konfigurasi dari software.
- Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah
komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang
43
dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman
melalui proses coding. Tahap ini merupakan implementasi dari tahap
design yang secara teknis nantinya dikerjakan oleh programmer.
- Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan.
Demikian juga dengan software. Semua fungsi-fungsi software harus
diujicobakan, agar software bebas dari error, dan hasilnya harus benar-
benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
- Maintenance. Pemeliharaan suatu software diperlukan, termasuk di
dalamnya adalah pengembangan, karena software yang dibuat tidak
selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada
error-error kecil yang tidak ditemukan sebelumnya, atau ada
penambahan fitur-fitur yang belum ada pada software tersebut.
Pengembangan diperlukan ketika adanya perubahan dari eksternal
perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat
lainnya.
2.2.9.1 Kelebihan dan Kekurangan Metode Waterfall
Selain karena pengaplikasian menggunakan model ini mudah,
kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat
didefinisikan secara utuh, jelas, dan benar di awal project, maka SE
dapat berjalan dengan baik dan tanpa ada masalah. Meskipun sering
kali kebutuhan sistem tidak dapat didefinisikan sejelas yang
44
diinginkan, tetapi setidaknya, masalah pada kebutuhan sistem di awal
project akan lebih ekonomis dalam hal uang (lebih murah), usaha,
dan waktu yang terbuang lebih sedikit jika dibandingkan masalah
yang muncul pada tahap-tahap selanjutnya. Meskipun demikian,
karena model ini melakukan pendekatan secara urut / sequential,
maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat
dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari
model ini. Selain itu, ada beberapa kekurangan dari pengaplikasian
model ini, antara lain adalah sebagai berikut:
- Ketika masalah muncul, maka proses berhenti, karena tidak dapat
menuju ke tahapan selanjutnya. Bahkan ada kemungkinan jika
masalah tersebut muncul akibat kesalahan dari tahapan
sebelumnya, maka proses harus membenahi tahapan sebelumnya
agar masalah ini tidak muncul. Hal-hal seperti ini yang dapat
membuang waktu dalam pengerjaan SE.
- Karena pendekatannya secara sequential, maka setiap tahap harus
menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang
waktu yang cukup lama, artinya bagian yang lain tidak dapat
tugasnya dan harus menunggu hasil dari tahap sebelumnya agar
dapat mengerjakan tugasnya. Oleh karena itu, seringkali model ini
berlangsung lama pengerjaannya.
45
- Pada setiap tahap proses tentunya dipekerjakan sesuai
spesialisasinya masing-masing. Oleh karena itu, ketika tahap
tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak
terpakai lagi. Oleh karena itu, seringkali pada model proses ini
dibutuhkan seseorang yang “multi-skilled”, sehingga setidaknya
dapat membantu pengerjaan untuk tahapan berikutnya.
2.2.10 Tinjauan Pustaka
Dalam membandingkan untuk penggunaan bahasa pemrograman
yang akan digunakan, Toyotaro Suzumura, Scott Trent, Michiaki
Tatsubori, Akihiko Tozawa dan Tamiya Onodera (2008:386)
menggunakan teori Perbandingan Qualitatif. Dengan membandingkan
performance bahasa pemrograman yang akan digunakan, akan
memudahakan untuk memilih bahasa pemrograman yang lebih baik.
Menurut Shika bhatia dan Mr. Harshpreet Singh (2012:112),
untuk dapat membuat suatu aplikasi dengan lebih baik, dapat
menggunakan design pattern (MVC). Walaupun memiliki kelemahan,
tetapi MVC dapat mempercepat development process sehingga
pembuatan suatu aplikasi dapat berjalan dengan efektif dan efisien.
Untuk bahasa pemrograman pada server – side, lebih baik
menggunakan bahasa yang memiliki performance yang baik untuk
menyimpan dan melakukan transaksi data (Toyotaro Suzumura, Scott
46
Trent, Michiaki Tatsubori, Akihiko Tozawa dan Tamiya Onodera,
2008:170). Toyotaro Suzumura, Scott Trent, Michiaki Tatsubori, Akihiko
Tozawa dan Tamiya Onodera (2008:166) telah melakukan perbandingan
antara JSP dan PHP, keduanya memiliki kelebihan dan kelemahan. Untuk
server yang hampir tidak pernah mengalami high load, keduanya
memiliki performance yang tidak jauh berbeda, tetapi untuk yang akan
mengalami high load, JSP lebih baik.
Dalam memanajemen database dapat digunakan PHP framework
dengan MVC model based (Chanchai Supaartagorn, 2011:251).
Keuntungan dalam penggunaan PHP framework dengan MVC pattern
adalah banyak komponen bisa berinteraksi dengan cara yang flexible, dan
tugas – tugas yang harus dikerjakan cukup jelas jadi ada kemungkinan
untuk membagi sistem menjadi komponen – komponen agar orang yang
berbeda dapat mengembangkan pada saat yang bersamaan.
Jika ingin mengatur data secara lokal, tetapi tidak merubah data
lain secara global dan master data, membuat copy dari data tersebut harus
dilakukan. Tetapi membuat copy dari suatu data sering kali membutuhkan
cost yang besar. Selain itu kadang data yang di copy tidak dimodifikasi
sama sekali, sehingga menjadi sia-sia. Untuk mengatasi hal ini, kita dapat
menggunakan suatu teknik, yang disebut “Copy-on-Write”. Copy-on-
Write adalah sebuah teknik atau metode optimasi, yang berdasarkan atas
ide yang menunda copy file sampai ada perintah untuk melakukan write
47
pada data. (Akihiko Tozawa, Michiaki Tatsubori, Tamiya Onodera, dan
Yasuhiko Minamide, 2009:200)