BAB 2 LANDASAN TEORI
2.1
Sistem Pendukung Keputusan (SPK) Sistem pendukung keputusan (SPK) adalah suatu sistem informasi berbasis komputer mengkombinasikan model dan data untuk menyediakan dukungan kepada pengambil keputusan dalam memecahakan masalah semi terstruktur atau masalah ketergantungan yang melibatkan user secara mendalam. (Paryanta & Arbelia, 2011) Multiple Criteria Decision Making (MCDM) merupakan cara atau metode yang digunakan untuk mengambil keputusan dengan menetapkan alternatif atau pilihan terbaik dari beberapa alternatif berdasarkan kriteria-kriteria tertentu yang digunakan untuk batasan atau standar dalam mengambil keputusan. MCDM dibagi menjadi 2 berdasarkan tujuannya, yaitu MADM (Multi Attribute Decision Making) dan MODM (Multi Objective Decision Making). Perbedaan utama keduanya adalah pada MADM dipergunakan untuk menentukan keputusan atau pilihan dari alternatif dengan jumlah yang terbatas/diskret, sedangkan
pada
MODM
dipergunakan
pada
permasalahan
yang
kontinyu/berkelanjutan, seperti pada masalah pemrograman matematis. (Trianto, 2013)
2.1.2
Karakteristik, Kemampuan dan Keterbatasan SPK Terdapat sejumlah karakteristik dan kemampuan dari SPK yaitu: a. Karakteristik SPK 1. Mendukung seluruh kegiatan organisasi 2. Mendukung beberapa keputusan yang saling berinteraksi 3. Dapat digunakan berulang kali dan bersifat konstan 4. Terdapat dua komponen utama, yaitu data dan model 5. Menggunakan baik data eksternal dan internal 6. Memiliki kemampuan what-if analysis dan goal seeking analysis 7. Menggunakan beberapa model kuantitatif 9
10
b. Kemampuan SPK 1. Menunjang pembuatan keputusan manajemen dalam menangani masalah semi terstruktur dan tidak terstruktur 2. Membantu manajer pada berbagai tingkatan manajemen, mulai dari manajemen tingkat atas sampai manajemen tingkat bawah 3. Menunjang pembuatan keputusan secara kelompok maupun perorangan 4. Menunjang pembuatan keputusan yang saling bergantung dan berurutan 5. Menunjang tahap-tahap pembuatan keputusan antara lain intelligensi, desain, choice, dan implementation 6. Menunjang berbagai bentuk proses pembuatan keputusan dan jenis keputusan 7. Kemampuan untuk melakukan adaptasi setiap saat dan bersifat fleksibel 8. Kemudahan melakukan interaksi system 9. Meningkatkan efektivitas dalam pembuatan keputusan daripada efisiensi 10. Mudah dikembangkan oleh pemakai akhi 11. Kemampuan pemodelan dan analisis pembuatan keputusan 12. Kemudahan melakukan pengaksesan berbagai sumber dan format data Di samping berbagai Karakteristik dan Kemampuan seperti dikemukakan di atas, SPK juga memiliki beberapa keterbatasan, diantaranya adalah : 1. Ada beberapa kemampuan manajemen dan bakat manusia yang tidak dapat dimodelkan, sehingga model yang ada dalam sistem tidak semuanya mencerminkan persoalan sebenarnya. 2. Kemampuan suatu SPK terbatas pada pembendaharaan pengetahuan yang dimilikinya (pengetahuan dasar serta model dasar). 3. Proses-proses yang dapat dilakukan oleh SPK biasanya tergantung juga pada kemampuan perangkat lunak yang digunakannya. 4. SPK tidak memiliki kemampuan intuisi seperti yang dimiliki oleh manusia. Karena walau bagaimana pun canggihnya suatu SPK, hanyalah sautu kumpulan perangkat keras, perangakat lunak dan sistem operasi yang tidak dilengkapi dengan kemampuan berpikir. (Effraim, Aronson, & Liang, 2005)
11 2.1.3
Komponen - Komponen Sistem Pendukung Keputusan Suatu SPK memiliki tiga subsistem utama yang menentukan kapabilitas teknis SPK tersebut, yaitu 1. Subsistem Manajemen Basis Data (database) Subsistem ini merupakan komponen SPK penyedia data bagi sistem. Data tersebut disimpan dalam basis data yang diorganisasikan oleh DBMS. Basis data dalam SPK berasal dari sumber internal dan eksternal. 2. Subsistem Manajemen Basis Model (modelbase) Model adalah peniruan dari alam nyata. Model ini dikelola oleh model base. 3. Subsistem Perangkat Lunak Penyelenggara Dialog (user system interface) Melalui sistem dialog inilah sistem diartikulasikan dan diimplementasikan sehingga pemakai dapat berkomunikasi dengan sistem yang dirancang. (Darmawan & Susanto, 2014)
2.2
Analytical Hierarchy Process (AHP) AHP merupakan salah satu metode untuk membantu menyusun suatu prioritas dari berbagai pilihan dengan menggunakan berbagai kriteria. Karena sifatnya yang multikriteria, AHP cukup banyak digunakan dalam penyusunan prioritas. Sebagai contoh untuk menyusun prioritas penelitian, pihak manajemen lembaga penelitian sering menggunakan beberapa kriteria seperti dampak penelitian, biaya, kemampuan SDM, dan waktu pelaksanaan. Di samping bersifat multikriteria, AHP juga didasarkan pada suatu proses yang terstruktur dan logis. Pemilihan atau penyusunan prioritas dilakukan dengan suatu prosedur yang logis dan terstuktur. Kegiatan tersebut dilakukan oleh ahli-ahli yang representatif berkaitan dengan alternatif-alternatif yang disusun prioritasnya Metode AHP merupakan salah satu model untuk pengambilan keputusan yang dapat membantu kerangka berfikir manusia. Metode ini mula-mula dikembangkan oleh Thomas L. Saaty pada tahun 70-an. Dasar berpikirnya metode AHP adalah proses membentuk skor secara numerik untuk menyusun
12 rangking setiap alternatif keputusan berbasis pada bagaimana sebaiknya alternatif itu dicocokkan dengan kriteria pembuat keputusan Proses pengambilan keputusan pada dasarnya adalah memilih suatu alternatif. Peralatan utama AHP adalah sebuah hirarki fungsional dengan input utamanya persepsi manusia. Dengan hirarki, suatu masalah kompleks dan tidak terstruktur dipecahkan ke dalam kelompok-kelompoknya. Kemudian kelompokkelompok tersebut diatur menjadi suatu bentuk hirarki Suatu tujuan yang bersifat umum dapat dijabarkan dalam beberapa subtujuan yang lebih terperinci dan dapat menjelaskan maksud tujuan umum. Penjabaran ini dapat dilakukan terus hingga diperoleh tujuan yang bersifat operasional. Pada hierarki terendah dilakukan proses evaluasi atas alternatifalternatif yang merupakan ukuran dari pencapaian tujuan utama dan pada hierarki terendah ini dapat ditetapkan dalam satuan apa suatu kriteria diukur Dalam penjabaran hirarki tujuan, tidak ada suatu pedoman yang pasti mengenai seberapa jauh pembuat keputusan menjabarkan tujuan menjadi tujuan yang lebih rendah. Pengambil keputusanlah yang menentukan saat penjabaran tujuan ini berhenti, dengan memperhatikan keuntungan atau kekurangan yang diperoleh bila tujuan tersebut diperinci lebih lanjut. Beberapa hal yang perlu diperhatikan dalam melakukan proses penjabaran hirarki tujuan yaitu : 1. Pada saat penjabaran tujuan ke dalam subtujuan yang lebih rinci harus selalu memperhatikan apakah setiap tujuan yang lebih tinggi tercakup dalam subtujuan tersebut. 2. Meskipun hal tersebut dapat dipenuhi, juga perlu menghindari terjadinya pembagian yang terlampau banyak baik dalam arah horizontal maupun vertikal. 3. Untuk itu sebelum menetapkan tujuan harus dapat menjabarkan hierarki tersebut sempai dengan tujuan yang paling lebih rendah dengan cara melakukan tes kepentingan. (Mulyono, 2004:334)
13 2.2.1
Prinsip - Prinsip Analytical Hierarchy Process Dalam menentukan proiritas AHP menggunakan prinsip - prinsip sebagai berikut: 1. Decomposition Setelah persoalan didefenisikan, maka perlu dilakukan Decomposition yaitu memecah persoalan yang utuh menjadi unsur – unsurnya. 2. Comparative judgment (penilaian kriteria dan alternatif) Prinsip ini memberikan penilaian tentang kepentingan relatif dua elemen pada suatu tingkat tertentu dalam kaitannya dengan tingkat diatasnya. 3. Synthesis of priority (Menentukan Prioritas) Dari setiap matriks pairwise comparison kemudian dicari eigenvectornya untuk mendapatkan local priority. 4. Logical Consistency (konsistensi logis) Konsistensi memiliki dua makna. Pertama, objek-objek serupa yang dikelompokkan
sesuai
dengan
keseragaman
dan
relevansi.
Kedua,
menyangkut tingkat hubungan antar objek yang didasarkan pada kriteria tertentu. (Mulyono, 2004:335-337)
2.2.2
Langkah-Langkah Analytical Hierarchy Process Pada dasarnya langkah-langkah dalam metode AHP meliputi : a. Mendefinisikan masalah dan menentukan solusi yang diinginkan. b. Membuat struktur hirarki yang diawali dengan tujuan umum, dilanjutkan dengan kriteria-kriteria, sub kriteria dan alternatif-alternatif pilihan yang ingin diurutkan. c. Membentuk matriks perbandingan berpasangan yang menggambarkan kontribusi relatif atau pengaruh setiap elemen terhadap masing-masing tujuan atau kriteria yang setingkat diatasnya. Perbandingan dilakukan berdasarkan pilihan dari pembuat keputusan dengan menilai tingkat kepentingan suatu elemen dibandingkan elemen lainnya. d. Menormalkan data dengan membagi nilai dari setiap elemen di dalam matriks yang berpasangan dengan nilai total dari setiap kolom.
14 e. Menghitung nilai eigen vector dan menguji konsistensinya, jika tidak konsisten pengambil data (preferensi) perlu diulangi. Nilai eigen vector yang dimaksud adalah nilai eigen vector maximum yang diperoleh dengan menggunakan matlab maupun manual. f. Mengulangi langkah 3, 4, dan 5 untuk seluruh tingkat hirarki. g. Menghitung eigen vector dari setiap matriks perbandingan berpasangan. Nilai eigen vector merupakan bobot setiap elemen. Langkah ini mensintesis pilihan dan penentuan prioritas elemenelemen pada tingkat hirarki terendah sampai pencapaian tujuan. h. Menguji konsistensi hirarki. Jika tidak memenuhi dengan CR<0,100 maka penilaian harus diulang kembali. i. Menetapkan Prioritas. (Paryanta & Arbelia, 2011) Berdasarkan langkah-langkah di atas untuk menetapkan prioritas dapat dilakukan dengan menyusun matriks perbandingan berpasangan dan melakukan normalisasi dengan langkah-langkah sebagai berikut : 1. Membuat matriks berpasangan (1) i, m = 1, 2, …, n = indeks kriteria-kriteria peminatan peserta didik. Menurut Saaty penilaian perbandingan terbaik dalam mengekspresikan pendapat digunakan skala 1 sampai dengan 9, seperti pada tabel 2.2 di bawah.
15 Tabel 2.1 Skala Intensitas Kepentingan pada Matriks Pairwise Comparison Intensitas Kepentingan
Keterangan
1
Kedua kriteria sama penting
3
Kriteria yang satu sedikit lebih penting daripada kriteria lainnya
5
Kriteria yang satu lebih penting daripada kriteria lainnya.
7
Kriteria yang satu jelas lebih mutlak penting daripada kriteria lainnya
9
Kriteria yang satu mutlak penting daripada kriteria lainnya.
2,4,6,8
Nilai-nilai di antara dua nilai pertimbangan kriteria yang berdekatan
Kebalikan
Jika
aktivitas
x
mendapat
satu
angka
dibandingkan dengan aktivitas y, maka y memiliki nilai kebalikan dari x.
2. Menormalisasi matriks keputusan dengan cara setiap kolom matriks dijumlahkan, lalu masing-masing kriteria pada matriks dibagi dengan nilai total kolomnya. Kemudian menentukan rata-rata baris matriks yang membuat himpunan sejumlah n bobot w, yaitu w1, w2, …, wn. 3. Kemudian menentukan tingkat konsistensi dari matriks perbandingan berpasangan yang telah didapat dari langkah sebelumnya. Langkah-langkah yang dilakukan pada tahap ini adalah : a. Mengalikan masing-masing nilai pada kolom pertama dengan prioritas relatif pada kriteria pertama nilai pada kolom kedua dengan prioritas relatif pada kriteria kedua, dan seterusnya. b. Menjumlahkan nilai pada setiap baris. Kemudian hasil penjumlahan tersebut dibagi dengan nilai kriteria prioritas relatif yang berkaitan.
16 c. Menjumlahkan hasil pada langkah poin (b) dengan banyaknya kriteria, kemudian disebut dengan λ max. d. Menghitung Consistency Index (CI) dengan persamaan 2. (2) Di mana n adalah banyaknya criteria e. Menghitung Consistency Ratio (CR) dengan persamaan 3. (3) 4. IR adalah Indeks Random Consistency. Indeks Random Consistency dapat dilihat dalam tabel 2.2 dibawah :
Tabel 2.2 Tabel Indeks Random Konsistensi Ukuran Matriks
Nilai IR
1
0.00
2
0.00
3
0.58
4
0.90
5
1.12
6
1.24
7
1.32
8
1.41
9
1.45
10
1.49
11
1.51
12
1.48
13
1.46
14
1.57
15
1.58
Jika nilai CR ≤ 0.1, maka matriks perbandingan berpasangan dapat dikatakan konsisten dan bobot yang dihasilkan dapat digunakan untuk perangkingan
17 alternatif dengan metode TOPSIS pada langkah selanjutnya pada penelitian ini. (Trianto, 2013)
2.3
Technique For Order Preference by Similarity to Ideal Solution (TOPSIS) TOPSIS adalah salah satu metode pengambilan keputusan multikriteria yang pertama kali diperkenalkan oleh Yoon dan Hwang (1981). TOPSIS menggunakan prinsip bahwa alternatif yang terpilih harus mempunyai jarak terdekat dari solusi ideal positif dan terjauh dari solusi ideal negatif dari sudut pandang geometris dengan menggunakan jarak Euclidean untuk menentukan kedekatan relatif dari suatu alternatif dengan solusi optimal [6]. Solusi ideal positif didefinisikan sebagai jumlah dari seluruh nilai terbaik yang dapat dicapai untuk setiap atribut, sedangkan solusi negatif-ideal terdiri dari seluruh nilai terburuk yang dicapai untuk setiap atribut. TOPSIS mempertimbangkan keduanya, jarak terhadap solusi ideal positif dan jarak terhadap solusi ideal negatif dengan mengambil kedekatan relatif terhadap solusi ideal positif. Berdasarkan perbandingan terhadap jarak relatifnya, susunan prioritas alternatif bisa dicapai. Metode ini banyak digunakan untuk menyelesaikan
pengambilan keputusan. Hal ini disebabkan konsepnya
sederhana, mudah dipahami, komputasinya efisien, dan memiliki kemampuan mengukur kinerja relatif dari alternatif-alternatif keputusan. (Yoon & Hwang, 1981)
2.3.1
Langkah-langkah metode TOPSIS Langkah-langkah yang ada di metode TOPSIS adalah : 1. Membuat matriks keputusan ternormalisasi Metode TOPSIS memerlukan rating kinerja tiap alternatif pada setiap criteria yang ternormalisasi. Persamaan matriks ternormalisasi dapat dilihat pada persamaan 4. (4) Dengan i = 1, 2, …, m; dan j = 1, 2, …, n.
18 = matriks keputusan ternormalisasi. = bobot kriteria ke j pada alternatif ke i. i
= alternatif ke i.
j
= subkriteria ke j.
2. Membuat matriks keputusan ternormalisasi terbobot Nilai matriks ternormalisasi terbobot dilambangkan dengan yij, dapat dihitung dengan persamaan 5. (5) Dengan i = 1, 2, …, m; dan j = 1, 2, …, n. Di mana
adalah bobot dari
kriteria ke-j. Pemberian bobot dengan memakai hasil dari perhitungan AHP sebelumnya. 3. Menentukan matriks solusi ideal positif dan solusi ideal negative Berdasarkan rating bobot ternormalisasi maka dapat menentukan solusi ideal positif
dan solusi ideal negatif
Untuk dapat menentukan
solusi ideal sebelumnya harus ditentukan apakah atribut bersifat keuntungan (benefit) atau bersifat biaya (cost). (6) (7) Di mana,
Atribut keuntungan adalah atribut yang diberikan nilai tinggi untuk mendapatkan jarak terdekat dengan solusi ideal positif dan terjauh dengan solusi ideal negatif. Sebaliknya, atribut biaya adalah atribut yang diberikan nilai kecil untuk mendapatkan jarak terjauh dari solusi ideal positif dan terdekat dari solusi ideal negatif. adalah nilai terbesar dari matriks y pada tiap kriteria ke j. adalah nilai terkecil dari matriks y pada tiap kriteria ke j.
19 4. Menentukan jarak antara nilai setiap alternatif dengan matriks solusi ideal positif dan solusi ideal negatif. Jarak antara nilai alternatif ke i dengan solusi ideal positif dapat dirumuskan dengan persamaan 8, dan jarak antara nilai alternatif ke i dengan solusi ideal negatif dapat dirumuskan dengan persamaan 9. (8) (9) adalah jarak antara nilai alternatif ke i dengan solusi ideal positif. adalah jarak antara nilai alternatif ke i dengan solusi ideal negatif. 5. Menentukan nilai preferensi untuk setiap alternatif Nilai preferensi ( ) terbesar menunjukkan alternatif ke i lebih layak untuk dipilih sebagai solusi terbaik. Nilai
dapat dihitung dengan persamaan 10. (10)
adalah nilai preferensi yang menunjukkan nilai dari alternatif ke i. Setelah didapat nilai
, maka alternatif akan dirangking berdasarkan urutan nilai
Nilai terbesar dari
menunjukkan bahwa alternatif ke i adalah solusi yang
paling disarankan. (Trianto, 2013)
2.4
.
Fuzzy Linear Programming Menurut Zimmermann (1978), Fuzzy Linear Programming terdiri dari Fuzzy Goals dan Fuzzy Constraints yang dapat dirumuskan sedemikian rupa sehingga dapat memecahkan masalah pemrograman linier normal. Berikut masalah pemrograman linier biasa yang disampaikan oleh Zimmermann (1978) : Minimisasi Z = Cx
(11)
Ax ≤ b
(12)
x≥0
(13)
Setelah fuzzifikasi persamaan dapat direpresentasikan seperti ini :
20 (14) (15) x≥0
(16)
Simbol
dalam constraint menunjukkan ‘lebih kecil dari atau sama dengan' dan
memungkinkan tercapai beberapa tingkat aspirasi di mana
dan
mewakili
nilai-nilai fuzzy. (Shaw, Shankar, Yadav, & Thakur, 2012)
2.4.1
Fungsi Keanggotaan Menurut Bellman and Zadeh (1970), Himpunan fuzzy A di Xdidefinisikan sebagai (17) Di mana
adalah derajat keanggotaan yang x milik A. himpunan
fuzzy A dengan demikian unik ditentukan oleh fungsi keanggotaannya
dan
berbagai fungsi keanggotaan dari bilangan real non-negatif yang nilainya terbatas dan biasanya berada pada interval [0, 1]. Sebuah fungsi keanggotaan linier telah dipertimbangkan dalam model ini untuk semua parameter fuzzy. Sebuah fungsi keanggotaan linier memiliki karakteristik terus meningkatkan atau menurunkan nilai dalam rentang parameter. Hal ini ditentukan oleh nilai-nilai bawah dan atas penerimaan untuk parameter tersebut. Fuzzy objective fungsi keanggotaan
adalah subset fuzzy X yang dikarakteristikan oleh . Fungsi keanggotaan linier untuk Fuzzy
objective diberikan sebagai:
(18)
adalah adalah
21 adalah solusi optimum adalah subset fuzzy X yang dikarakteristikan oleh
Fuzzy constraint fungsi keanggotaan
. Fungsi keanggotaan linier untuk fuzzy
constraint diberikan sebagai: (19) Untuk semua parameter fuzzy k = 1,2,…,K. Penafsiran dari
adalah interval
toleransi. (Shaw, Shankar, Yadav, & Thakur, 2012)
2.4.2
Solusi Formulasi Solusi fuzzy adalah persimpangan dari semua himpunan fuzzy baik Fuzzy objective maupun fuzzy constraint (Bellman & Zadeh, 1970). Fungsi keanggotaan dari solusi fuzzy direpresentasikan dengan : (20) menunjukkan fungsi keanggotaan dari objectives dan constraints. Solusi fuzzy dari model pemilihan supplier dengan J fuzzy multiple objectives dan K constraints dapat direpresentasikan sebagai :
(21) Derajat tertinggi dari nilai keanggotaan adalah solusi optimum dari masalah pemilihan supplier. (22) (Shaw, Shankar, Yadav, & Thakur, 2012)
2.4.3
Perumusan Crisp dari model pemilihan supplier Model pemrograman fuzzy terdiri dari objectives J dan constraints K yang ditransformasi menjadi formulasi Crisp. Perumusan Crisp dapat dipresentasikan dengan (Kumar & Shankar,2006) :
22 Maximisasi λ
(23)
λ
(24)
λ
+
(25)
Ax
b untuk semua konstanta deterministik
(26)
x ≥ 0 integer
(27)
0≤λ≤1
(28)
Menurut Zimmermann (1978) optimum batas bawah
dan batas atas
dapat dihitung dengan memecahkan fungsi objektif yang sama dua kali seperti minimalisasi dan maksimalisasi masing-masing. Batas bawah dari nilai-nilai yang optimal (
) diperoleh dengan
memecahkan masalah pemilihan supplier sebagai masalah pemrograman linier. Minimisasi
Ax
, j=1,2,…,J
(29)
, k=12,…,K
(30)
b untuk semua konstanta deterministic
x ≥ 0 integer
(31) (32)
Batas atas dari nilai-nilai yang optimal diperoleh dengan memecahkan masalah pemilihan supplier yang sama seperti masalah pemrograman linier. Maximisasi
Ax
, j=1,2,…,J
(33)
, k=12,…,K
(34)
b untuk semua konstanta deterministic
x ≥ 0 integer
(35) (36)
Menurut Zimmermann (1978), bobot dari fungsi objektif dan constraints yang sama dalam perumusan crisp dari masalah pemilihan supplier. Namun, pada kehidupan nyata semua fungsi objektif tidak dapat diberikan bobot yang sama. Dengan menggunakan bobot yang sama, nilai fungsi objektif yang penting jadi menurun. Akibatnya, solusi optimal untuk pemilihan supplier tidak dapat diperoleh untuk kasus tersebut. Untuk menghindari masalah ini, kita mengadopsi model aditif berbobot. Model aditif berbobot secara luas digunakan dalam masalah optimasi multi objektif. Fungsi utilitas berbobot linier diperoleh dengan
23 mengalikan masing-masing fungsi keanggotaan fuzzy goals dengan bobot yang sesuai dan kemudian menambahkan hasil bersama-sama. Berikut model adiktif berbobot (Tiwari dkk,1987) : (37) (38) adalah koefisien bobot yang menyajikan kepentingan relatif antara tujuan fuzzy dan kendala fuzzy. Berikut pemrograman objektif tunggal crisp yang ekuivalen dengan model fuzzy di atas : Maksimasi
(39) (40) (41) (42) (43) (44) (45)
(Shaw, Shankar, Yadav, & Thakur, 2012)
2.5
Web Web adalah salah satu aplikasi yang berisikan dokumen-dokumen multimedia (teks, gambar, suara, animasi, video) di dalamnya yang menggunakan protokol HTTP (Hypertext Transfer Protocol) dan untuk mengaksesnya menggunakan perangkat lunak yang disebut browser. (Arief, 2011:7)
2.5.1
Aplikasi Berbasis Web Aplikasi berbasis web adalah aplikasi yang berjalan di atas platform browser, meskipun mungkin dioptimasi untuk jenis browser tertentu. Kelebihan aplikasi berbasis web : 1. Dapat diakses kapan pun dan darimana pun selama ada internet.
24 2. Dapat diakses dengan hanya menggunakan web browser (umumnya sudah tersedia di PC, PDA, dan handphone terbaru), tidak perlu menginstall aplikasi khusus.
Kekurangan aplikasi berbasis web : 1. Antar muka yang dapat dibuat terbatas sesuai spesifikasi standar untuk membuat
dokumen
web
dan
keterbatasan
web
browser
untuk
menampilkannya. 2. Terbatasnya kecepatan internet mungkin membuat respon aplikasi menjadi lambat. (Gunadi, 2012)
2.5.2
PHP PHP singkatan dari Hypertext Preprocessor yang digunakan sebagai bahasa script server side dalam pengembangan web yang disisipkan pada dokumen HTML. (Nugroho, 2009:370) Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Pada Juni 1998, singkatan PHP diubah menjadi Hypertext Preprocessor. PHP merupakan bahasa pemrograman server side yang di desain khusus untuk aplikasi web yang ditambahkan ke dalam HTML. Bahasa pemrograman PHP dapat digabungkan dengan HTML dengan terlebih dahulu memberikan tanda tag buka dilanjutkan tanda tanya ( ). Sifat server side berarti pengerjaan skrip akan dilakukan di server, baru kemudian hasilnya dikirim ke browser. kelebihan PHP dari bahasa pemrograman lain adalah: 1. Web Server yang mendukung PHP dapat ditemukan di mana-mana dari mulai IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah. 2. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena banyak referensinya.
25 3. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows). 4. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu. (Prasetyo, 2008:14) 2.5.3
XAMPP XAMPP merupakan aplikasi yang mengintegrasikan beberapa aplikasi web utama di dalamnya. Dalam XAMPP terdapat instalasi modul PHP, MySQL, dan web server Apache. (Arief, 2011:44) XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, dan merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan gratis, merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis. (Priyanti & Iriani, 2013:16)
2.5.4
Web Hosting Web Hosting adalah jasa penyedia hosting di internet. Tugas web hosting adalah menyediakan dan mengelola ruang harddisk yang akan disewa oleh pemilik suatu domain untuk menyimpan file-file nya agar halaman web si pemilik domain dapat ditampilkan di browser internet. Pada dasarnya, perusahaan web hosting adalah lembaga bisnis yang menyediakan komputer server yang mampu melayani banyak permintaan data, akses internet 24 jam, dan IP public. (Danuri & Darmanto, 2014:24)
2.5.5
Adobe Dreamweaver CS3 Adobe Dreamweaver CS3 merupakan perangkat lunak yang dikenal sebagai web authoring tool, yaitu perangkat lunak yang digunakan untuk mendesain tampilan halaman web. Adobe Dreamweaver CS3 mempunyai
26 kemampuan untuk mengedit kode pada aplikasi web dengan bahasa pemrograman yang berbeda-beda, seperti PHP, ASP, Java Server Pages (JSP), dan lain-lain.
2.5.6
Waterfall Model Proses merupakan kumpulan dari aktivitas, aksi dan tugas yang dilaksanakan untuk membuat suatu produk. Aktivitas akan langsung mencapai tujuannya dan digunakan untuk aplikasi, besarnya sebuah proyek, kompleksitas usaha, dan rekaya perangkat lunak apa yang akan digunakan. Aksi meliputi kumpulan tugas-tugas untuk membuat suatu produk. Tugas memfokuskan diri pada detail sasaran yang sudah terbentuk untuk menghasilkan hasil yang nyata. Proses itu sendiri hanyalah sebuah definisi yang mendeskripsikan bagaimana pembuatan sebuah produk (misalnya software) dilakukan. Untuk menjalankan proses tersebut maka dibuatlah suatu kerangka proses (process framework). Kerangka proses ini merupakan fondasi dasar untuk menghasilkan suatu rekayasa piranti lunak yang lengkap dengan cara mengindentifikasi sejumlah aktivitas yang dapat digunakan untuk seluruh proyek perangkat lunak, tidak peduli ukuran dan kompleksitasnya. Pada umumnya, kerangka proses terdiri dari 5 aktivitas yaitu : 1. Communication Sebelum projek dapat mulai dikerjakan, penting untuk mengetahui kebutuhan yang menjadi tujuan dibuatnya projek tersebut. Oleh karena itu, komunikasi dan kolaborasi sangatlah penting untuk mengetahui hal-hal apa saja yang dibutuhkan untuk memenuhi tujuan software seperti misalnya fungsi dan fitur yang diinginkan ada pada software. 2. Planning Untuk membangun sebuah projek software yang merupakan hal yang kompleks, diperlukan suatu peta atau panduan sehingga tugas-tugas yang ada dapat dikerjakan secara tersusun dan terpadu. Panduan yang disebut software project plan tersebut akan mendeskripsikan tugas-tugas teknikal yang harus
27 dilakukan, resikonya, sumber-sumber yang dibutuhkan, bagian-bagian produk yang harus dihasilkan, dan jadwal pekerjaan.
3. Modelling Pekerjaan apapun membutuhkan suatu model agar lebih mudah melihat bentuk nyata dari produk yang akan dihasilkan. Model tersebut misalnya saja berupa gambar sketsa perkiraan bentuk produk tersebut akan seperti apa. Dalam pembuatan software, model akan membuat pemahaman akan kebutuhan softwaremenjadi lebih dalam dan desainnya juga membantu dalam mencapai tujuan tersebut. 4. Construction Pada bagian ini akan dibuat suatu code atau biasa disebut coding yang merupakan bantuan secara komputasi. Setelah itu hasil coding-an tersebut akan diuji apakah ada kesalahan yang harus diperbaiki atau tidak. 5. Deployment Produk software yang telah jadi akan dipublikasikan untuk dicoba oleh konsumen yang akan membantu mengevaluasi hasil produk tersebut untuk dijadikan feedback demi perkembangan produk selanjutnya. Terkadang ada kalanya saat kebutuhan yang diperlukan dalam sebuah penyelesaian permasalahan dapat dimengerti dengan mudah, saat pekerjaan mengalir begitu saja dari communication hingga deployment dalam garis lurus. Situasi ini dapat terjadi ketika membuat sebuah sistem yang diadaptasi dengan baik atau penambahan pada sistem yang telah ada. Hal ini juga dapat terjadi pada usaha pembuatan sebuah program baru namun hanya jika kebutuhan permasalahan jelas dan stabil. Waterfall model yang terkadang disebut classic life style, menyarankan pendekatan sistematis dan berurutan dalam membuat sebuah software. Pembuatan software tersebut dimulai dari spesifikasi dan kebutuhan user dan diproses lebih lanjut melalui planning, modeling, construction, dan deployment,
28 kemudian diakhiri dengan dukungan yang akan selalu diberikan setelah software tersebut jadi. Berikut merupakan gambaran waterfall model. (Pressman, 2010: 39)
Gambar Error! No text of specified style in document..1 Waterfall Model Process (Pressman, 2010:39)
2.5.7
Flowchart Flowchart
adalah
bagan-bagan
yang
mempunyai
arus
yang
menggambarkan langkah-langkah penyelesaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Tujuan membuat flowchart : 1. Menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi, dan jelas. 2. Menggunakan simbol-simbol standar. Simbol-simbol dalam flowchart : Simbol-simbol yang dipakai dalam flowchart dibagi menjadi 3 kelompok : 1. Flow direction symbols • Digunakan untuk menghubungkan simbol satu dengan yang lain. • Disebut juga connecting line. 2. Processing symbols • Menunjukkan jenis operasi pengolahan dalam suatu proses/prosedur. 3. Input / Output symbols • Menunjukkan jenis peralatan yang digunakan sebagai media input atau output.
29
Tabel 2.3 Flow Direction Symbols Simbol
Keterangan Symbol arus / flow, yaitu menyatakan jalannya arus suatu proses. Simbol communication link, yaitu menyatakan transmisi data dari satu lokasi ke lokasi lain. Simbol connector, berfungsi menyatakan sambungan dari proses ke proses lainnya dalam halaman yang sama. Simbol offline connector, menyatakan sambungan dari proses ke proses lainnya dalam halaman yang berbeda.
30
Tabel 2.4 Processing Symbols Simbol
Keterangan Simbol process, yaitu menyatakan suatu tindakan (proses) yang dilakukan oleh komputer. Simbol manual, yaitu menyatakan suatu tindakan (proses) yang tidak dilakukan oleh komputer. Simbol decision, yaitu menunjukkan suatu kondisi tertentu yang akan menghasilkan dua kemungkinan (ya/tidak). Simbol preparation, yaitu menyatakan penyediaan tempat penyimpanan suatu pengolahan untuk memberi harga awal. Simbol predefined process, untuk menyatakan sekumpulan langkah-langkah proses yang ditulis sebagai prosedur. Simbol terminal, yaitu menyatakan permulaan atau akhir suatu program. Simbol keying operation, menyatakan segala jenis operasi yang diproses menggunakan suatu mesin yang memiliki keyboard. Simbol offline-storage, menyatakan bahwa data dalam simbol ini akan disimpan ke suatu media tertentu.
31
Tabel 2.5 Input/Output Symbols Simbol
Keterangan Simbol manual input, memasukan data secara manual dengan menggunakan online keyboard. Simbol input/output, menyatakan proses input atau output tanpa tergantung jenis peralatannya. Simbol punched card, menyatakan input berdasarkan dari kartu atau output ditulis ke kartu. Simbol magnetic tape, menyatakan input berasal dari pita magnetis atau output disimpan ke pita magnetis. Simbol disk storage, menyatakan input berasal dari disk atau output disimpan ke disk. Simbol document, mencetak keluaran dalam bentuk dokumen (melalui printer) Simbol display, mencetak keluaran dalam layar monitor. (Nilawati, 2009)
2.5.8
Data Flow Diagram (DFD) Menurut Sutabri (2003:163) Data Flow Diagram adalah suatu network yang menggambarkan suatu sistem automat/komputerisasi, manualisasi atau gabungan dari keduanya, yang penggambarannya disusun dalam bentuk
32 komponen sistem yang saling berhubungan sesuai dengan aturan mainnya. Adapun simbol dan keterangannya adalah sebagai berikut : 1. External Entity merupakan simbol yang mewakili elemen yang berada di luar sistem, tetapi memiliki hubungan interaksi dengan sistem. External Entity
Gambar 2.2 Simbol External Entity
2. Proses merupakan simbol yang mewakili kegiatan untuk mengubah data menjadi informasi atau masukan untuk data lain. 1 Proses
Gambar 2.3 Simbol Proses
3. Data Store merupakan simbol yang mewakili tempat penyimpanan dari data dan dapat dipergunakan bila dibutuhkan.
Data Store Gambar 2.4 Simbol Data Store 4. Data flow merupakan simbol yang mewakili arah aliran data yang berasal dari satu proses, data store atau elemen lingkungan menuju ke satu proses, data store atau enviromental element lainnya.
Gambar 2.5 Simbol Data Flow
33
2.5.9
Interaksi Manusia dan Komputer Interaksi manusia komputer adalah disiplin ilmu yang mempelajari hubungan antara manusia dan komputer yang meliputi perancangan, evaluasi, dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia. Sebuah sistem dapat disebut interaktif apabila sistem tersebut dapat berkomunikasi dengan pengguna, dengan tujuan agar sistem dapat berguna bagi pengguna. (Shneiderman & Plaisant, 2010:4-5) Dalam perancangan desain antarmuka (interface) terdapat delapan aturan emas yang perlu diperhatikan (Shneiderman & Plaisant, 2010:88-89) : 1. Berusaha untuk konsisten. Diperlukan urutan aksi yang konsisten pada situasi yang sama. Konsistensi juga harus diterapkan pada prompts, menus, dan layar bantu. 2. Memungkinkan penggunaan yang universal. Mengenali kebutuhan pengguna yang beragam dari pengguna pemula (novice) sampai pengguna ahli (expert) dengan merancang konten yang beragam, misal: penjelasan untuk pengguna pemula sampai shortcut untuk pengguna yang sudah ahli. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan yang dilakukan user, diharapkan adanya umpan balik dari sistem. Untuk tindakan yang sering terjadi dan tidak membutuhkan banyak aksi, umpan balik dapat dibuat sederhana, sedangkan tindakan yang jarang dilakukan dan memerlukan banyak aksi harus lebih ditonjolkan. 4. Merancang dialog yang memberikan penutupan (keadaan akhir). Urutan aksi yang harus disusun ke dalam kelompok awal, tengah, dan akhir. Suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya dibuat untuk mengindikasikan bahwa pekerjaan tersebut telah selesai dan siap melanjutkan ke aksi berikutnya. 5. Memberikan pencegahan kesalahan dan penanganan kesalahan sederhana.
34 Sistem yang dibuat diharapkan tidak memungkinkan user membuat kesalahan serius. Jika terjadi kesalahan, sistem harus dapat mendeteksi kesalahan tersebut dan menawarkan penanganan kesalahan yang sederhana. 6. Memungkinkan pengembalian aksi yang sebelumnya. Fitur untuk mengurangi kekhawatiran user karena user tahu bahwa jika ada kesalahan yang dibuat dapat dikembalikan lagi ke aksi sebelumnya. 7. Mendukung pusat kendali internal. Menjadikan user sebagai yang mengendalikan sistem, bukan yang dikendalikan oleh sistem. 8. Mengurangi beban ingatan jangka pendek. Mengingat keterbatasan manusia dalam pemrosesan informasi dalam jangka pendek, sebuah sistem diharapkan dibuat dengan tampilan sesederhana mungkin, beberapa halaman dijadikan satu, frekuensi pergerakan window dikurangi dan harus ada waktu yang cukup bagi user untuk mempelajari kode-kode, singkatan, serta urutan aksi. Informasi seperti singkatan atau kode sebaliknya tersedia. Selain delapan aturan emas, dalam perancangan desain antarmuka terdapat juga lima faktor manusia terukur yang digunakan untuk mengevaluasi perancangan desain antarmuka, yaitu (Shneiderman & Plaisant, 2010:32): 1. Waktu pembelajaran (time to learn) Berapa lama waktu yang dibutuhkan oleh anggota dari sekelompok komunitas pengguna untuk mempelajari cara menggunakan perintah-perintah yang digunakan untuk menyelesaikan sebuah tugas. 2. Kecepatan kinerja (speed of performance) Berapa lama waktu yang diperlukan untuk menyelesaikan suatu tugas. 3. Tingkat kesalahan pengguna (rate of errors by users) Mengukur berapa banyak kesalahan yang terjadi saat aplikasi menyelesaikan suatu tugas. Penanganan kesalahan merupakan hal yang penting dalam penggunaan antarmuka dan membutuhkan pembelajaran yang luas. 4. Daya ingat jangka panjang (retention over time)
35 Bagaimana pengguna menjaga pengetahuan mereka setelah beberapa jam, hari, atau minggu. Daya ingat sering dikaitkan dengan waktu pembelajaran dan biasanya frekuensi penggunaan juga memainkan peran penting.
5. Kepuasan subjektif (subjective satisfication) Mengukur sebarapa jauh pengguna menyukai berbagai aspek dari antarmuka pengguna. (Shneiderman & Plaisant, 2010)
36