BAB 2. LANDASAN TEORI 2.1.Sistem Pendukung Keputusan (SPK) Sistem Pendukung Keputusan (SPK) pertama kali didefinisikan oleh ScottMorton pada tahun 1970 sebagai sistem berbasis komputer yang interaktif, yang membantu pengambil keputusan memanfaatkan data dan model untuk menyelesaikan masalah tidak terstruktur. Sistem pendukung keputusan diharapkan dapat mendukung para pengambil keputusan manajerial dalam situasi semi terstruktur dan tidak terstruktur. Sistem pendukung keputusan dimaksudkan untuk menjadi alat bantu bagi para pengambil keputusan untuk memperluas kapabilitas mereka, namun tidak untuk menggantikan penilaian mereka (Turban et al, 2011). 2.2.Pelanggan Definisi dari pelanggan adalah adalah semua orang yang menuntut kita (atau perusahaan) kita untuk memenuhi suatu standar kualitas tertentu dan oleh karena itu akan memberikan pengaruh pada kinerja (performance) kita (atau perusahaan kita) .Namun pengertian dari pelanggan potensial adalah pelanggan yang loyal terhadap perusahaan (Zulkarnain, 2012). Pelanggan yang potensial umumnyaakan melanjutkan pembelian produk atau jasa tersebut walaupun dihadapkan pada banyak alternatif produk atau jasa yang lebih unggul dipandang dari berbagai sudut atributnya. Menurut Kotler dalam bukunya Zulkarnain, konsumen yang loyal tidak diukur dari berapa banyak dia membeli, tapi dari berapa sering dia melakukan pembelian ulang, termasuk merekomendasikan orang untuk membeli (Zulkarnain, 2012).
2.3.Layanan Pelanggan Menurut penelitian layanan pelanggan dapat dianggap sebagai investasi usaha atau bisnis. Pelanggan bagi perusahaan adalah aset, karena itu peningkatan kualitas pelayanan diupayakan terus-menerus untuk memenuhi kebutuhan dan harapan pelanggan/kolega, “bila suatu produk atau jasa tertentu diciptakan tanpa memperhatikan perencanaan pelayanan bagi pembeli. Perencanaan pelayanan yang baik bertujuan memberikan pelayanan kepada pelanggan/kolega sehingga 6 http://digilib.mercubuana.ac.id/
tidak akan terjadi masalah/konflik/komplain. Berdasarkan hal tersebut maka Pengertian Pelayanan adalah suatu pelayanan terbaik dalam memenuhi harapan dan kebutuhan pelanggan. Artinya pelayanan yang memenuhi standar kualitas. Pelayanan yang memenuhi standar kualitas adalah suatu pelayanan yang sesuai dengan harapan dan kepuasan pelanggan/masyarakat. Penerapan pelayanan prima yang dapat memberikan kepuasan kepada kolega dan perlanggan pada dasarnya mempunyai manfaat sebagai berikut: 1. Dapat menciptakan komunikasi yang positif dan harmonis antara perusahaan bisnis dengan kolega dan pelanggan. 2. Dapat mendorong bangkitnya rasa simpatik dan loyalitas dari para kolega dan pelanggan. 3. Dapat membentuk opini publik yang positif, sehingga menguntungkan bagi kemajuan perusahaan. 4. Dapat membina hubungan yang baik dan harmonis dengan para kolega dan pelanggan. Pelayanan tidak dapat dipisahkan dengan kepuasan pelanggan. Sebab tujuan penerapan pelayanan prima untuk memenuhi kepuasan pelanggan.
2.4.Clustering Clustering adalah mengelompokkan item data ke dalam sejumlah kecil grup sedemikian sehingga masing-masing grup mempunyai sesuatu persamaan yang esensial (Andayani, 2007). Ada beberapa pendekatan yang digunakan dalam mengembangkan metode clustering. Dua pendekatan utama adalah clustering dengan pendekatan partisi dan clustering dengan pendekatan hirarki. Clustering dengan pendekatan partisi atau sering disebut dengan partition-based clustering mengelompokkan data dengan memilah-milah data yang dianalisa ke dalam cluster-cluster yang ada. Clustering dengan pendekatan hirarki atau sering disebut dengan hierarchical clustering mengelompokkan data dengan membuat suatu hirarki berupa kurva yang menggambarkan pengelompokan cluster dimana data yang mirip akan ditempatkan pada hirarki yang berdekatan dan yang tidak pada
7 http://digilib.mercubuana.ac.id/
hirarki yang berjauhan. ,Algoritma clustering dibagi ke dalam beberapa kelompok besar, antara lain: 1. Partitioning algorithms: algoritma dalam kelompok ini membentuk bermacam partisi dan kemudian mengevaluasinya dengan berdasarkan beberapa kriteria. Diantaranya : K-Means Clustering,Mixture-Based Density,Graph TheoryBased Clustering,Fuzzy Clustering. 2. Hierarchy algorithms: pembentukan dekomposisi hirarki dari sekumpulan data menggunakan beberapa kriteria. Pengelompokan data(Clustering) ini memiliki beberapa algoritma yang sesuai untuk penentuan pelanggan potensial penulis menggunakan algoritma kmeans clustering: 2.4.1. K-Means Metode K-Means pertama kali diperkenalkan oleh MacQueen JB pada tahun 1976. Metode ini adalah salah satu metode non hierarchi yang umum digunakan. Metode ini termasuk dalam teknik penyekatan (partition) yang membagi atau memisahkan objek ke k daerah bagian yang terpisah. Pada K-Means, setiap objek harus masuk dalam kelompok tertentu, tetapi dalam satu tahapan proses tertentu, objek yang sudah masuk dalam satu kelompok, pada satu tahapan berikutnya objek akan berpindah ke kelompok lain. Hasil cluster dengan dengan metode KMeans sangat bergantung pada nilai pusat kelompok awal yang diberikan. Pemberian nilai awal yang berbeda bisa menghasilkan kelompok yang berbeda. Ada beberapa cara memberi nilai awal misalnya dengan mengambil sampel awal dari objek, lalu mencari nilai pusatnya, memberi nilai awal secara random, menentukan nilai awalnya atau menggunakan hasil dari kelompok hierarki dengan jumlah kelompok yang sesuai. K-Means adalah suatu metode penganalisaan data atau metode Data Mining yang melakukan proses pemodelasn tanpa supervisi (unsupervised)
dan
merupakan
salah
satu
metode
yang
melakukan
pengelompokan data dengan sistem partisi. Metode K-Means berusaha mengelompokkan data yang ada ke dalam beberapa kelompok, dimana data dalam satu kelompok mempunyai karakteristik yang sama satu sama lainnya dan 8 http://digilib.mercubuana.ac.id/
mempunyai karakteristik yang berbeda dengan data yang ada di dalam kelompok yang lain. Dengan kata lain, metode ini berusaha untuk meminimalkan variasi antar data yang ada di dalam suatu cluster dan memaksimalkan variasi dengan data yang ada di cluster lainnya. Secara sistematis, langkah-langkah yang dilakukan algoritma K-Means Clustering pada pengelompokan data adalah: 1. Tentukan jumlah cluster 2. Alokasikan data ke dalam kelompok secara acak 3. Hitung pusat cluster (centroid) menggunakan mean utk masing-masing kelompok 4. Alokasikan masing-masing data ke centroid terdekat 5. Kembali ke langkah 3, jika masih ada data yang berpindah cluster atau jika nilai centroid diatas nilai ambang, atau jika nilai pada fungsi obyektif yang digunakan masih diatas ambang Pada langkah 3 , lokasi centroid setiap kelompok diambil dari rata-rata semua nilai data pada setiap fiturnya. Jika M menyatakan jumlah data, i menyatakan fitur/variable/atribut ke-i dan p menyatakan dimensi dari data, untuk menghitung centroid fitur ke i digunakan formula: 1. Ci =
∑
2. Jarak antara data dan centroid diukur dengan beberapa cara diantaranya : Euclidean D(X2,X1) = || X2-X1 ||2
=
√∑
D adalah jarak antara data X2 dan X1, dan |.| adalah nilai mutlak. 3. Pengukuran jarak pada ruang jarak Manhattan menggunakan formula: D(X2,X1) = || X2-X1 ||2
=
∑
4. Pengukuran jarak pada ruang jarak Minkowsky: D(X2,X1) = || X2-X1 ||λ
= λ √∑
|
| 9
http://digilib.mercubuana.ac.id/
5. Pada langkah 4 pengalokasian kembali data ke dalam masing-masing kelompok kedalam K-Means didasarkan pada perbandingan jarak antara data dengan centroid setiap kelompok yang ada. Pengalokasian ini dapat dirumuskan sbb:
aij adalah nilai keanggotaan titik Xi ke centroid C1, d adalah jarak terpendek dari data Xi ke k kelompok setelah dibandingkan, dan C1 adalah centroid ke-1. 2.5.
Studi Literatur Berdasarkan dua sumber jurnal yang saya dapatkan dari internet, diantaranya
berjudul “PENERAPAN ALGORITMA K-MEANS PADA DATA MINING UNTUK MEMILIH PRODUK DAN PELANGGAN POTENSIAL”, “Penerapan Algoritma K-Means Clustering pada Aplikasi pencarian pelanggan potensial ” dan “Penerapan Metode Fuzzy C-Means Clustering Pelanggan Potensial Online Shop”, saya mengambil kesimpulan sebagai berikut: Tabel 0.1 jurnal perbandingan
Judul
Hasil
Kelebihan
Kekurangan
10 http://digilib.mercubuana.ac.id/
penerapan algoritma
Kesimpulan yang
k-means pada data
dapat diambil
mining untuk
adalah telah
memilih produk dan
diterapkan aplikasi
pelanggan potensial,
dengan konsep
Menggunakan
Data Mining
metode algoritma K-Means (Clustering) untuk mengelompokkan data
menggunakan Algoritma KMeans guna mengelompokkan data produ dengan melakukan proses perhitungan jumlah invoice terhadap produk dan jumlah barang terhadap transaksi untuk mengelompokkan data produk,
1. Jumlah kluster
1.
harus ditentukan 2. Nilai centroids yang diberikan di awal bisa mempengaruhi hasil klusterisasiapabila nilainya berbeda
Jumlah
kluster
harus ditentukan terlebih dahulu 2.
Penggunaan means memerlukan beberapa
kali
coba
agar
hasilnya optimal.
(sensitif terhadap nilaicentroids awal) 3. Solusi kluster yang dihasilkan hanya bersifat local optima sehingga kita tidak tahu apakah itu sudah merupakan konfigurasi optimal atau belum 4. Sangat sensitif pada pembangkitan titik pusat awal secara random. 5. Memungkinkan suatu gerombol tidak mempunyai anggota. 6. Hasil 11
http://digilib.mercubuana.ac.id/
K-
pengelompokan bersifat tidak unik (selalu berubahubah) terkadang bagus terkadang tidak.
Penerapan Metode
Dari penelitian
Fuzzy C-Means
yang dilakukan,
Clustering
metode Fuzzy C-
Pelanggan Potensial
Means dengan
Online Shop,
model Fuzzy RFM
(menggunakan
terbukti dapat
metode Fuzzy C-Means dengan model Fuzzy
melakukan clustering pelanggan dengan
1. Sederhana.
1. Membutuhkan
2. Mudah
waktu yang lama
diimplementasikan .
2. nilai keanggotaan
3. jumlah dapat
dalam komputasi.
cluster ditentukan
sendiri
sesuai
suatu data terhadap suatu klaster tertentu tergantung secara
kegunaan dan tiap
langsung kepada
cluster dapat diberi
nilai keanggotaan
12 http://digilib.mercubuana.ac.id/
RFM (Recency,
mengelompokkann
label.
Frequency,
ya ke dalam
Monetary)dengan
pelanggan sangat
kemampuan untuk
ini disebabkan oleh
teknik clustering
potensial,
mengelompokkan
fungsi constraint
pelanggan
data yang besar.
yang dimilikinya.
4. memiliki
data tersebut pada klaster yang lain, hal
potensial atau dan pelanggan tidak atau kurang potensil. Walaupun hasil yang diharapkan sudah terpenuhi, namun untuk penelitian lebih lanjut bisa dikembangkan dengan penentuan jumlah cluster dengan metode tertentu, melakukan pengukuran atau validasi untuk hasil yang sudah ada atau membandingkan penerapan menggunakan metode lain agar diketahui keakuratannya.
13 http://digilib.mercubuana.ac.id/
2.6.Rekayasa Perangkat lunak
2.6.1. Waterfall Process Model
a. Software Development Life Cycle Software Development Life Cycle (SLDC) atau sering disebut dengan model proses perangkat lunak merupakan proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan untuk mengembangkan sistem-sistem perangkat lunak (RosaSallahudin, 2011:24). Sedangkan definisi lain meyatakan model proses perangkat lunak (atau disebut juga pardigma rekayasa perangkat lunak) adalah suatu strategi pengembangan yang memadukan lapisan proses, metode, dan alat serta tahaptahap generik. Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat proyek dan aplikasi, metode dan alat yang digunakan, serta pengendalian dan hasil yang diinginkan (Eddy Prasetyo Nugroho, 2009: 17). Dapat disimpulkan bahwa model proses perangkat lunak adalah suatu strategi pengembangan yang memadukan lapisan proses, metode, dan alat serta tahap-tahap dalam mengembangkan atau mengubah suatu sistem perangkat lunak. b. Waterfall Model
Pengembangan
perangkat
lunak
sistem
informasi
perpustakaan
menggunakan model waterfall. Terdapat beberapa kelebihan dari model waterfall yaitu: 1) struktur tahap pengembangan sistem jelas, 2) dokumentasi dihasilkan di setiap tahap pengembangan, 3) sebuah tahap dijalankan setelah tahap sebelumnya selesai dijalankan (tidak ada tumpang tindih pelaksanaan tahap) (Rosa-Salahudin, 2011:29). Model waterfall sangat cocok digunakan oleh kebutuhan yang sudah sangat dipahami dan kemungkinan terjadinya 14 http://digilib.mercubuana.ac.id/
perubahan kebutuhan selama pengembangan perangkat lunak kecil. Lebih lanjut Rosa dan Salahuddin menjelaskan kelebihan dari waterfall merupakan model proses yang paling 16 sederhana dan cocok untuk pengembangan perangkat lunak dengan spesfikasi yang tidak berubah-ubah. Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian dan tahap pendukung (support) (Rosa-Salahudin, 2011:26). Uraian masing-masing tahapan model pengembangan waterfall adalah sebagai berikut: 1) Analisis kebutuhan, proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user, 2) desain, adalah proses multi langkah yang fokus pada desain pembuatan program termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean, 3) pembuatan kode program, desain harus ditranslasikan ke dalam program, 4) pengujian, proses pengujian fokus pada perangkat lunak secara segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. (RosaSalahudin, 2011:27). Kelebihan Metode Waterfall: 1. Mudah untuk dimengerti dan mudah untuk digunakan 2. Dapat digunakan untuk staf yang belum berpengalaman 3. Kualitas dari sistem yang dihasilkan akan baik. 4. Document pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Kekurangan Metode Waterfall: 1.
Diperlukan majemen yang baik.
15 http://digilib.mercubuana.ac.id/
2.
Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan.
3.
Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan
2.6.2. Metode Perancangan 1. Use Case Use case adalah menggambarkan sekelompok use cases dan aktor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan
kebutuhan
ataurequirement
yang
diinginkan/
dikehendaki
user/pengguna, serta sangatberguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem.(Teorey, 2006) Usecase adalah rangkaian atau uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Use case digunakan untuk membentuk tingkah laku benda dalam sebuah model serta direalisasikan oleh sebuah collaboration. Umumnya use case digambarkan dengan sebuah elips dengan garis yang solid, biasanya mengandung nama. Use case emnggambarkan proses system (kebutuhan system dari sudut pandang user). Secara umum use case adalah: 1. Pola perilaku sistem 2. Urutan transaksi yang berhubungan yang dilakukan oleh satu aktor Karakteristik: 1. Use case adalah interaksi atau dialog antara sistem dan aktor, termasuk pertukaran pesan dan tindakan yang dilakukan oleh sistem. 2. Use case diprakarsai oleh aktor dan mungkin melibatkan peran aktor lain. Use case harus menyediakan nilai minimal kepada satu aktor. 3. Use case bisa memiliki perluasan yang mendefinisikan tindakan khusus dalam interaksi atau use case lain mungkin disisipkan. 4. Use case class memiliki objek use case yang disebut skenario. Skenario menyatakan urutan pesan dan tindakan tunggal 16 http://digilib.mercubuana.ac.id/
Use case diagram terdiri dari: 1. Use case Use case adalahgambaran fungsionalitas dari suatu sitem, sehingga pengguna sistem paham dan mengerti menganai kegunaan sistem yang akan dibangun. (Christine, 2016) Berikut merupakan cara menentukan use case dalam suatu sistem: 1. Pola perilaku perangkat lunak aplikasi 2. Gambaran tugas dari sebuah aktor 3. Sistem atau “benda” yang memberikan sesuatu yang bernilai kepada aktor 4. Ada yang dikerjakan oleh suatu perangkat lunak (*bukan bagaimana cara mengerjakannya) Input data
2. Actors Pada dasarnya actor bukanlah bagian dari use case diagram, namun untuk dapat terciptanya suatu use case diagram diperlukan beberapa actor. Actor tersebut mempresentasikan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem. Sebuah actor mungkin hanya memberikan informasi inputan pada sistem, hanya menerima informasi dari sistem atau keduanya menerima, dan memberi informasi pada sistem. Actor hanya berinteraksi dengan use case, tetapi tidak memiliki kontrol atas use case. Actor digambarkan dengan stick man. Actor dapat digambarkan secara secara umum atau spesifik, dimana untuk membedakannya kita dapat menggunakan relationship.(Christine, 2016)
Administrator
3. Relationship Ada beberapa relasi yang terdapat pada use case diagram: 1. Association, menghubungkan link antar elemen 17 http://digilib.mercubuana.ac.id/
2. Generalization, disebut juga inheritance (pewarisan), sebuah elemen dapat merupakan spesialisasi dari elemen lainnya 3. Dependency, sebuah elemen bergantung dalam beberapa cara ke elemen lainnya 4. Aggregation, bentuk assosiation dimana sebuah elemen berisi elemen lainnya Tipe relasi atau stereotype yang mungkin terjadi pada use case diagram: 1. <
> yaitu kelakuan yang harus terpenuhi agar sebuah event dapat terjadi, dimana pada kondisi ini sebuah use case adalah bagian dari use case lainnya 2. <<extends>> kelakuan yang hanya berjalan di bawah kondisi tertentu seperti menggerakkan alarm 3. <> mungkin ditambahkan untuk asosiasi yang menunjukkan assosiasinya adalah communicates assosiasion. Ini merupakan pilihan selama asosiasi hanya tipe ralationship yang dibolehkan antara aktor dan use case 4. System boundary boxes (optional) 5. Packages (optional)
2.
Activity Diagram Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Menggambarkan proses bisnis dan urutan aktivitas 18 http://digilib.mercubuana.ac.id/
dalam sebuah proses. Dipakai pada business modeling untuk memperlihatkan urutan aktifitas proses bisnis. Struktur diagram ini mirip flowchart atau Data Flow Diagram pada perancangan terstruktur. Sangat bermanfaat apabila kita membuat diagram ini terlebih dahulu dalam memodelkan sebuah proses untuk membantu memahami proses secara keseluruhan.(Yulisopianti, 2015) Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram. 3.
Flowchart Flowchart adalah bagan yang memperlihatkan urutan prosedure dan proses
dari beberapa file di dalam media tertentu. Melalui flowchart ini terlihat jenis media penyimpanan yang dipakai dalam pengolahan data. (Algoritma Pemograman 1, n.d.) Flowchart atau bagan alir adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau prosedur sistem secara logika. Bagan alir (flowchart) digunakan terutama untuk alat bantu komunikasi dan untuk dokumentasi. Ada beberapa jenis flowchart diantaranya: 1. System flowchart System
flowchart
dapat
didefinisikan
sebagai
bagan
yang
menunjukkan arus pekerjaan secara keseluruhan dari sistem. Bagan ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Bagan alir sistem menunjukkan apa yang dikerjakan di sistem. 2. Document flowchart Bagan alir dokumen (document flowchart) atau disebut juga bagan alir formulir (form flowchart) atau paperwork flowchart merupakan bagan alir yang menunjukkan arus dari laporan dan formulir termasuk tembusan-tembusannya. 3. Shematic flowchart Bagan alir skematik (schematic flowchart) merupakan bagan alir yang mirip dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam sistem. Perbedaannya adalah, bagan alir skematik selain menggunakan simbol-simbol bagan alir sistem, juga menggunakan 19 http://digilib.mercubuana.ac.id/
gambar-gambar komputer dan peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini adalah untuk memudahkan komunikasi kepada orang yang kurang paham dengan simbol-simbol bagan alir. Penggunaan gambar-gambar ini memudahkan untuk dipahami, tetapi sulit dan lama menggambarnya. 4. Program flowchart Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem. Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci
(detailed computer program flowchart).
Bagan alir logika
program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika. Bagan alat- logika program ini dipersiapkan oleh analis sistem. Gambar berikut menunjukkan bagan alir logika program. Bagan alir program komputer terinci (detailed computer program flow-chart) digunakan untuk menggambarkan instruksi-instruksi program komputer secara terinci. Bagan alir ini dipersiapkan oleh pemrogram. 5. Proses Flowchart Bagan alir proses (process flowchart) merupakan bagan alir yang banyak digunakan di teknik industri. Bagan alir ini juga berguna bagi analis sistem untuk menggambarkan proses dalam suatu prosedur.
20 http://digilib.mercubuana.ac.id/
Berikut adalah simbol-simbol pada flowchart:
21 http://digilib.mercubuana.ac.id/
Gambar 0.1 Simbol Flowchart
2.7.
Teknologi
2.7.1.
PHP PHP adalah sebuah bahasa pemrograman yang berbentuk scripting, sistem
kerja dari program ini adalah sebagai interpreter bukan sebagai compiler (Nugroho, 2004). PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah ada. Developer bisa menulis sebuah program PHP yang mengeksekusi suatu program CGI di server web lain. Fleksibilitas ini amat bermanfaat bagi 22 http://digilib.mercubuana.ac.id/
pemilik situs-situs web yang
besar dan sibuk, karena pemilik masih bisa
menggunakan aplikasi-aplikasi yang sudah terlanjur dibuat di masa lalu dengan CGI, ISAP atau dengan script seperti Perl atau Pyton selama proses migrasi ke aplikasi baru yang dibuat dengan PHP. Kelebihan-kelebihan PHP adalah sebagai berikut: 2. Script (kode program) terintegrasi dengan file HTML, sehingga developer (pengembang) bisa berkonsentrasi langsung pada penampilan webnya. 3. Tidak ada proses compiling dan linking. 4. Berorientasi obyek (object oriented). 5. Sintaksis pemrogramannya mudah dipelajari, mirip C dan Perl. 6. Integrasi yang sangat luas ke berbagai server database. Database yang didukung oleh PHP adalah: Oracle, Sybase, Msql. MSQL, Solid, ODBC, PostgreSQL, Adabas D, FilePro, Velocis, Informix, dBase, UNIXdbm.
2.7.2. HTML HTML adalah bahasa yang digunakan untuk menandai struktur dokumen yang didalamnya mengandung suatu hypertext dengan bagian-bagian antara lain judul, paragraf, daftar, gambar, dan lain-lain (Tanenbaum, 1997). Instruksiinstruksi HTML disebut elemen-elemen dan diwujudkan dalam tag yang ditulis dalam tanda kurung (< >). Sebagian besar elemen dalam HTML digunakan untuk memberi perintah-perintah tertentu yang diawali dengan nama elemen pembuka (start tag) dan diakhiri dengan elemen penutup (ending tag), misalnya sebagai elemen pembuka dan sebagai elemen penutup. Tag-tag lain pada HTML dapat dilihat pada tabel 2.4 (Tanenbaum, 1997).
23 http://digilib.mercubuana.ac.id/
Tabel 0.2 Tag HTML
2.7.3. Database(Mysql) MySQL adalah sistem manajemen database SQL yang bersifat OpenSource dan paling populer saat ini. Sistem Database MySQL mendukung beberapa fitur seperti multithreaded, multi-user, dan SQL database managemen sistem (DBMS). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan.(etunas, 2012)
24 http://digilib.mercubuana.ac.id/
Ulf Micheal Widenius adalah penemu awal versi pertama MySQL yang kemudian pengembangan selanjutnya dilakukan oleh perusahaan MySQL AB. MySQL AB yang merupakan sebuah perusahaan komersial yang didirikan oleh para pengembang MySQL. MySQL sudah digunakan lebih dari 11 millar instalasi saat ini. Informasi-informasi terbaru mengenai MySQL dapat diperoleh dengan mengunjungi http://www.mysql.com/ . Kelebihan MySQL Berikut ini beberapa kelebihan MySQL sebagai database server antara lain: 1. Source MySQL dapat diperoleh dengan mudah dan gratis. 2. Sintaksnya lebih mudah dipahami dan tidak rumit. 3. Pengaksesan database dapat dilakukan dengan mudah. 4. MySQL merupakan program yang multithreaded, sehingga dapat dipasang pada server yang memiliki multiCPU. 5. Didukung programprogram umum seperti C, C++, Java, Perl, PHP, Python, dsb. 6. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi sistem database. 7. Memiliki sistem sekuriti yang cukup baik dengan verifikasi host. -
Scability and Limits, mampu menangani database dalam skala besar, dengan jumlah records>50 juta dan 60 ribu tabel serta 5 milyar baris.Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya
-
Connectivity, berkoneksi dengan client menggunakan TCP/IP atau Unix socket atau Named Pipes (NT)
-
Interface, memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API
-
Clients and tools, dilengkapi dengan berbagai tools yang dapat digunakan antara administrasi database dan pada setiap tool yang ada disertakan petunjuk online.
8. Mendukung ODBC untuk sistem operasi Windows.
25 http://digilib.mercubuana.ac.id/
9. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang bervariasi. 10. Portability, MySQL dapat berjalan stabil pada berbagai sistem operasi seperti windows, Linux, FreeBSD, Solaris, dan lain-lain. 11. MultiUser,MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik 12. PerformanceTuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 13. ColumnTypes, MySQL memiliki tipe kolom yang sangat komplek, seperti integer, double, char, text, date, dan lain-lain. 14. CommandandFunction, MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah select dan where dalam query. MySQL dan PHP merupakan sistem yang saling terintegrasi. Maksudnya adalah pembuatan database dengan menggunakan sintak PHP dapat di buat. Sedangkan input yang di masukkan melalui aplikasi web yang menggunakan script serverside seperti PHP dapat langsung dimasukkan ke database MySQL yang ada di server dan tentunya web tersebut berada di sebuah web server.
2.7.4. Bootstrap Bootstrap adalah front-end framework yang solek, bagus dan luar biasa yang mengedapankan tampilan untuk mobile device (Handphone, smartphone dll.) guna mempercepat dan mempermudah pengembangan website. Bootstrap menyediakan HTML, CSS dan Javascript siap pakai dan mudah untuk dikembangkan. (Fadul, 2016) Bootstrap merupakan framework untuk membangun desain web secara responsif. Artinya, tampilan web yang dibuat oleh bootstrap akan menyesuaikan ukuran layar dari browser yang kita gunakan baik di desktop, tablet ataupun mobile device. Fitur ini bisa diaktifkan ataupun dinon-aktifkan sesuai dengan keinginan kita sendiri.
26 http://digilib.mercubuana.ac.id/
Berikut adalah halaman resmi bootstrap yang dapat memberikan informasi dan bahan belajar cara pengaplikasian bootstrap untuk aplikasi web: http://getbootstrap.com/components/. 2.7.5.
JavaScript JavaScript adalah bahasa pemograman web yang bersifat Client Side
Programming Language. Client Side Programming Languageadalah tipe bahasa pemograman yang pemrosesannya dilakukan oleh client. Aplikasi client yang dimaksud merujuk kepada web browser seperti Google Chromedan Mozilla Firefox. Jenis bahasa pemograman Client ;Side berbeda dengan bahasa pemograman Server Side seperti PHP, dimana untuk server side seluruh kode program dijalankan di sisi server.(Andre, 2014) Untuk menjalankan JavaScript, kita hanya membutuhkan aplikasi text editor, dan web browser. JavaScript memiliki fitur: high-level programming language, client-side, loosely tiped, dan berorientasi objek. JavaScript pada awal perkembangannya berfungsi untuk membuat interaksi antara user dengan situs web menjadi lebih cepat tanpa harus menunggu pemrosesan di web server. Sebelum javascript, setiap interaksi dari user harus diproses oleh web server. Selain digunakan sebagai validasi form, javascript diharaapkan dalam perkembangan berikutnya dapat digunakan untuk berbagai keperluan yang lebih modern. Berbagai animasi untuk mempercantik halaman web, fitur chatting, efekefek modern, games, semuanya bisa dibuat menggunakan JavaScript. 2.7.6. Black Box Testing Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program. Tujuan Black Box Testing adalah untuk mencari kesalahan/kegagalan dalam operasi tingkat tinggi, yang mencakup kemampuan dari perangkat lunak, 27 http://digilib.mercubuana.ac.id/
operasional/tata laksana, skenario pemakai. Fungsi dari pengujian ini berdasarkan kepada apa yang dapat dilakukan oleh sistem. Untuk melakukan pengujian perilaku seseorang harus mengerti lingkup dari aplikasi, solusi bisnis yang diberikan oleh aplikasi, dan tujuan sistem dibuat.
28 http://digilib.mercubuana.ac.id/