bab ii landasan teori - Widyatama Repository

advertisement
BAB II
LANDASAN TEORI
2.1
Text Mining
Menurut Feldman dan Sanger (Feldman dan Sanger, 2007), text mining dapat
didefinisikan secara luas sebagai proses pengetahuan intensif yang memungkinkan
pengguna berinteraksi dengan koleksi dokumen dari waktu ke waktu menggunakan
berbagai macam analisis. Dalam cara yang sejalan dengan data mining, text mining
berusaha mengekstrak informasi yang berguna dari sumber data melalui identifikasi
dan eksplorasi patterns. Text mining menjadi menarik karena sumber data koleksi
dokumen dan pola yang menarik tidak ditemukan dari database formal namun
ditemukan dalam data tekstual yang tidak terstruktur pada kumpulan dokumen.
Selain itu, Feldman dan Sanger (Feldman dan Sanger, 2007) juga berpendapat
bahwa text mining juga merupakan bidang baru dalam cabang ilmu komputer yang
berupaya untuk mengatasi krisis informasi yang berlebihan dengan cara
menggabungkaan beberapa teknik dari data mining, mesin pembelajaran (machine
learning), pengolahan bahasa alami (natural language processing), information
retrieval dan pengelolaan ilmu pengetahuan (knowledge management).
Franke dalam Langgeni dkk. (Langgeni dkk., 2010) menjelaskan bahwa text
mining didefinisikan sebagai menambang data berupa teks yang bersumber dari
dokumen. Text mining bertujuan untuk mencari kata-kata yang dapat mewakili isi
dari dokumen sehingga dapat dilakukan analisis keterhubungan antar dokumen. Text
mining juga dapat diartikan sebagai sebuah proses untuk menemukan suatu informasi
atau tren baru yang sebelumnya tidak terungkap dengan memroses dan menganalisis
data dalam jumlah besar (Feldman dan Sanger, 2007).
5
Tahap-tahap text mining secara umum adalah text preprocessing, feature
selection dan pembobotan (term weighting). Penjelasan dari tahap tersebut adalah
sebagai berikut.
2.1.1 Text Preprocessing
Tahap text preprocessing merupakan tahap awal dari text mining. Text
preprocessing merupakan proses menggali, mengolah dan mengatur informasi
dengan cara menganalisis hubungannya dengan aturan-aturan yang ada di data
tekstual semi terstruktur atau tidak terstruktur (Luhulima, Marji, dan Muflikhah,
2013). Untuk lebih efektif dalam proses text preprocessing, dilakukan langkah
transformasi data ke dalam suatu format yang memudahkan untuk kebutuhan
pemakai. Proses ini disebut text preprocessing. Setelah dalam bentuk yang lebih
terstruktur dengan adanya proses di atas, data dapat dijadikan sumber data yang dapat
diolah lebih lanjut. Tahapan text preprocessing, di antaranya sebagai berikut.
1. Case Folding
Case Folding adalah mengubah semua karkater huruf menjadi huruf kecil
(lowercase).
2. Tokenizing
Tokenizing yaitu proses penguraian deskripsi
yang semula berupa
kalimatkalimat menjadi kata-kata dan menghilangkan delimiter-delimiter
seperti tanda titik (.), koma (,), spasi dan karakter angka yang ada pada kata
tersebut.
3. Stopword Removal
Stopword removal yaitu proses penghapusan kata-kata yang terdapat pada
stoplist. Stoplist itu sendiri berisi kosakata-kosakata yang bukan merupakan
ciri dari suatu dokumen (Dragut dkk. dalam Manalu, 2014).
6
4. Stemming
Stemming adalah proses pemetaan dan penguraian berbagai bentuk (variants)
dari suatu kata menjadi bentuk kata dasarnya (stem) (Tala dalam Manalu,
2014). Stemming bertujuan untuk menghilangkan imbuhan imbuhan baik itu
berupa prefiks, sufiks, maupun konfiks yang ada pada setiap kata.
2.1.2 Feature Selection
Kata-kata yang tidak relevan dengan proses pengkategorisasian dapat dibuang
tanpa mempengaruhi kinerja classifier bahkan meningkatkan kinerja karena
mengurangi noise. Langkah preprocessing dengan menghilangkan kata-kata yang
tidak relevan disebut feature Selection (Feldman dan Sanger, 2007). Tahap ini
merupakan tahap yang sangat penting dalam tahap preprocessing karena pada tahap
ini dilakukan proses yang bisa digunakan pada machine learning. Sekumpulan dari
features yang dimiliki data digunakan untuk pembelajaran algoritma. Salah satu
fungsi dari feature Selection adalah pemilihan term atau kata-kata apa saja yang dapat
mewakili dokumen yang akan dianalisis dengan melakukan pembobotan terhadap
setiap term. Term dapat berupa kata atau frasa dalam suatu dokumen yang dapat
digunakan untuk mengetahui konteks dari dokumen tersebut.
2.1.3 Pembobotan Kata (Term Weighting)
Pembobotan dilakukan untuk mendapatkan nilai dari kata term yang telah
diekstrak. Term dapat berupa kata atau frasa dalam suatu dokumen yang dapat
digunakan untuk mengetahui konteks dari dokumen tersebut. Karena setiap kata
memiliki tingkat kepentingan yang berbeda dalam dokumen, maka untuk setiap kata
tersebut diberikan sebuah indikator, yaitu term weight. Term weighting atau
pembobotan kata sangat dipengaruhi oleh hal-hal berikut ini (Mandala dalam Zafikri,
2010).
7
1. Document Frequency (df)
Metode document frequency (df) merupakan salah satu metode pembobotan
dalam bentuk sebuah metode yang merupakan perhitungan jumlah dokumen
yang mengandung suatu term tertentu. Tiap term akan dihitung nilai document
frequency-nya (df).
2. Term Frequency (tf)
Term frequency (tf) yaitu faktor yang menentukan bobot term pada suatu
dokumen berdasarkan jumlah kemunculannya dalam dokumen tersebut. Nilai
jumlah memunculan suatu kata (term frequency) diperhitungkan dalam
pemberian bobot terhadap suatu kata. Semakin besar jumlah kemunculan
suatu term (tf tinggi) dalam dokumen, semakin besar pula bobotnya dalam
dokumen atau akan memberikan nilai kesesuaian yang semakin besar.
3. Inverse Document Frequency (idf)
Inverse Document Frequency (idf) yaitu pengurangan dominasi term yang
sering muncul di berbagai dokumen. Hal ini diperlukan karena term yang
banyak muncul di berbagai dokumen, dapat dianggap sebagai term umum
sehingga tidak penting nilainya. Sebaliknya, faktor jarangnya munculnya kata
dalam kumpulan dokumen harus diperhatikan dalam pemberian bobot.
Menurut Wittern dalam Zafikri (2010), kata yang muncul pada sedikit
dokumen harus dipandang sebagai kata yang lebih penting daripada kata yang
muncul pada banyak dokumen. Pembobotan akan memperhitungkan faktor
kebalikan frekuensi dokumen yang mengandung suatu kata (Inverse
Document Frequency). Metode tf-idf merupakan metode pembobotan term
yang banyak digunakan sebagai metode pembanding terhadap metode
pembobotan baru. Pada metode ini, perhitungan bobot term t dalam sebuah
dokumen dilakukan dengan mengalikan nilai Term Frequency dengan Inverse
Document Frequency. Metode tf-idf dapat dirumuskan sebagai berikut.
8
( , ) =
= log
( , )x
,
( )
Sumber: Feldman dan Sanger (2007)
Notasi TermFreq (t,d) adalah jumlah kemunculan kata t dalam dokumen d, N
adalah jumlah seluruh dokumen dan DocFreq(t) adalah jumlah dokumen yang
mengandung term t.
Fungsi metode ini adalah untuk mencari representasi nilai dari tiap-tiap
dokumen dari suatu kumpulan data training yang nantinya akan dibentuk
suatu vektor antara dokumen dengan kata (documents with terms) Yong,
Youwen dan Xhixion dalam Luhulima dkk. (Luhulima dkk, 2013).
2.2
Sentiment Analysis atau Opinion Mining
Menurut Liu (Liu, 2010), analisis sentimen adalah riset komputasional dari
opini, sentimen, dan emosi yang diekspresikan secara tekstual. Sebuah dokumenteks
dapat dilihat sebagai kumpulan pernyataan subjektif dan objektif. Pernyataan objektif
tersebut berkenaan dengan informasi faktual yang ada dalam teks dan subjektivitas
berkaitan dengan ekspresi dari opini dan spekulasi (Wiebi dalam Ohana, 2009).
Liu juga berpendapat bahwa opinion mining adalah proses klasifikasi
dokumen tekstual ke dalam dua kelas, yaitu kelas sentimen positif dan negatif.
Besarnya pengaruh dan manfaat dari analisis sentimen, menyebabkan penelitian
ataupun aplikasi mengenai analisis sentimen berkembang pesat, bahkan di Amerika
kurang lebih 20-30 perusahaan yang memfokuskan pada layanan analisis sentiment.
Pang dan Lee (Pang dan Lee, 2008) menjelaskan sentiment analysis atau
dikenal sebagai opinion mining adalah proses memahami, mengekstrak dan mengolah
data tekstual secara otomatis untuk mendapatkan informasi. Secara umum, opinion
mining diperlukan untuk mengetahui sikap seorang pembicara atau penulis
sehubungan dengan beberapa topik atau polaritas kontekstual keseluruhan dokumen.
9
Sikap yang diambil mungkin menjadi pendapat atau penilaian atau evaluasi (teori
appraisal), keadaan afektif (keadaan emosional penulis saat menulis) atau komunikasi
emosional (efek emosional penulis yang ingin disampaikan pada pembaca)
(Saraswati, 2011).
Secara umum, Sentiment analysis ini dibagi menjadi 2 kategori besar :
1. Coarse-grained sentiment analysis
Melakukan proses analisis pada level dokumen. Singkatnya adalah kita
mencoba mengklasifikasikan orientasi sebuah dokumen secara keseluruhan.
Orientasi ini ada 3 jenih : Positif, Netral, Negatif. Akan tetapi, ada juga yang
menjadikan nilai orientasi ini bersifat kontinu / tidak diskrit.
2. Fined-grained sentiment analysis
Maksudnya adalah para researcher sebagian besar fokus pada jenis ini. Obyek
yang ingin diklasifikasi bukan berada pada level dokumen melainkan sebuah
kalimat pada suatu dokumen. Kategori kedua ini yang sedang Naik Daun
sekarang.
Contoh :

Saya tidak suka programming. (negatif)

Hotel yang baru saja dikunjungi sangat indah sekali. (positif)
Hingga sekarang, hampir sebagian besar penelitian di bidang sentiment
analysis hanya ditujukan untuk bahasa Inggris karena memang Tools/Resources
untuk bahasa Inggris sangat banyak sekali. Beberapa resources yang sering
digunakan untuk sentiment analysis adalah SentiWordNet dan WordNet.
Sentiment analysis terdiri dari 3 subproses besar. Masing-masing subproses
ini bisa kita jadikan bahan/topik riset secara terpisah karena masing-masing
subproses ini membutuhkan teknik yang tidak mudah :
10
1. Subjectivity Classification, menentukan kalimat yang merupakan opini.
2. Orientation Detection, setelah berhasil diklasifikasi untuk kategori opini,
sekarang kita tentukan apakah dia positif, negatif, netral.
3. Opinion Holder and Target Detection, menentukan bagian yang merupakan
Opinion Holder dan bagian yang merupakan Target.
Pada dasarnya sentiment analysis atau opinion mining merupakan klasifikasi.
Kenyataannya tidak semudah proses klasifikasi biasa karena terkait penggunaan
bahasa, yaitu adanya ambigu dalam penggunaan kata dan tidak adanya intonasi dalam
sebuah teks dan perkembangan dari bahasa itu sendiri.
2.3
Support Vector Machine (SVM)
Menurut Santoso (2007) Support Vector Machine (SVM) adalah suatu teknik
untuk melakukan prediksi, baik dalam kasus klasifikasi maupun regresi. SVM berada
dalam satu kelas dengan Artificial Neural Network (ANN) dalam hal fungsi dan
kondisi permasalahan yang bisa diselesaikan. Keduanya masuk dalam kelas
supervised learning.
Dalam penelitian ini, teknik SVM digunakan untuk menemukan fungsi
pemisah (clasifier) yang optimal yang bisa memisahkan dua set data dari dua kelas
yang berbeda. Penggunaan teknik machine learning tersebut, karena performansinya
yang meyakinkan dalam memprediksi kelas suatu data baru.
Support Vector Machine (SVM) juga dikenal sebagai teknik pembelajaran
mesin (machine learning) paling mutakhir setelah pembelajaran mesin sebelumnya
yang dikenal sebagai Neural Network (NN). Baik SVM maupun NN tersebut telah
berhasil digunakan dalam pengenalan pola. Pembelajaran dilakukan dengan
menggunakan pasangan data input dan data output berupa sasaran yang diinginkan.
Pembelajaran dengan cara ini disebut dengan pembelajaran terarah (supervised
learning). Dengan pembelajaran
terarah ini
akan diperoleh
fungsi
yang
menggambarkan bentuk ketergantungan input dan output-nya. Selanjutnya,
diharapkan fungsi yang diperoleh mempunyai kemampuan generalisasi yang baik,
11
dalam arti bahwa fungsi tersebut dapat digunakan untuk data input di luar data
pembelajaran.
Konsep SVM dapat dijelaskan secara sederhana sebagai usaha mencari
hyperplane terbaik yang berfungsi sebagai pemisah dua buah class pada input space.
Gambar di bawah memperlihatkan beberapa pattern yang merupakan anggota dari
dua class : positif (dinotasikan dengan +1) dan negatif (dinotasikan dengan -1).
Pattern yang tergabung pada class negatif disimbolkan dengan kotak,
sedangkan pattern pada class positif, disimbolkan dengan lingkaran. Proses
pembelajaran dalam problem klasifikasi diterjemahkan sebagai upaya menemukan
garis (hyperplane) yang memisahkan antara kedua kelompok tersebut. Berbagai
alternatif garis pemisah (discrimination boundaries) ditunjukkan pada gambar
berikut.
Gambar 2.1 Hyperplane SVM
Hyperplane pemisah terbaik antara kedua class dapat ditemukan dengan
mengukur margin hyperplane tersebut dan mencari titik maksimalnya. Margin adalah
jarak antara hyperplane tersebut dengan data terdekat dari masing-masing class.
Subset data training set yang paling dekat ini disebut sebagai support vector. Garis
solid pada Gambar 2.1b menunjukkan hyperplane yang terbaik, yaitu yang terletak
tepat pada tengah-tengah kedua class, sedangkan titik kotak dan lingkaran yang
12
berada dalam lingkaran hitam adalah support vector. Upaya mencari lokasi
hyperplane optimal ini merupakan inti dari proses pembelajaran pada SVM
Data yang tersedia dinotasikan sebagai x1∈Rd sedangkan label masing-masing
yi∈{-1,+1} dinotasikan untuk i = 1,2,…,l , yang mana l adalah banyaknya data.
Diasumsikan kedua class –1 dan +1 dapat terpisah secara sempurna oleh hyperplane
berdimensi d , yang didefinisikan:
2.3.1 Karakteristik SVM
Algoritma SVM juga memiliki beberapa karakteristik. Berikut merupakan
karakteristik dari Support Vector Machine (SVM) :
1. Secara prinsip SVM adalah linear classifier
2. Pattern recognition dilakukan dengan mentransformasikan data pada input
space ke ruang yang berdimensi lebih tinggi, dan optimisasi dilakukan pada
ruang vector yang baru tersebut. Hal ini membedakan SVM dari solusi
pattern recognition pada umumnya, yang melakukan optimisasi parameter
pada ruang hasil transformasi yang berdimensi lebih rendah daripada dimensi
input space.
3. Menerapkan strategi Structural Risk Minimization (SRM)
4. Prinsip kerja SVM pada dasarnya hanya mampu menangani klasifikasi dua
class.
2.3.2 Kelebihan dan Kekurangan SVM
Selain memiliki karakteristik, algoritma SVM juga memiliki beberapa
kelebihan dan kekurangan.
Kelebihan SVM antara lain sebagai berikut :
1. Generalisasi
Generalisasi didefinisikan sebagai kemampuan suatu metode (SVM, neural
network, dsb.) untuk mengklasifikasikan suatu pattern, yang tidak termasuk
13
data yang dipakai dalam fase pembelajaran metode itu. Vapnik menjelaskan
bahwa generalization error dipengaruhi oleh dua faktor: error terhadap
training set, dan satu faktor lagi yang dipengaruhi oleh dimensi VC (VapnikChervokinensis). Berbagai studi empiris menunjukkan bahwa pendekatan
SRM pada SVM memberikan error generalisasi yang lebih kecil daripada
yang diperoleh dari strategi ERM pada network maupun metode yang lain.
2. Curse of dimensionality
Curse of dimensionality didefinisikan sebagai masalah yang dihadapi suatu
metode pattern recognition dalam mengestimasikan parameter (misalnya
jumlah hidden neuron pada neural network, stopping criteria dalam proses
pembelajaran dsb). Dikarenakan jumlah sampel data yang relatif sedikit
dibandingkan dimensional ruang vector data tersebut. Semakin tinggi dimensi
dari
ruang
vector
informasi
yang
diolah,
membawa
konsekuensi
dibutuhkannya jumlah data dalam proses pembelajaran. Vapnik membuktikan
bahwa tingkat generalisasi yang diperoleh oleh SVM tidak dipengaruhi oleh
dimensi dari input vector. Hal ini merupakan alasan mengapa SVM
merupakan salah satu metode yang tepat dipakai untuk memecahkan masalah
berdimensi tinggi, dalam keterbatasan sampel data yang ada.
3. Landasan teori
Sebagai metode yang berbasis statistik, SVM memiliki landasan teori yang
dapat dianalisa dengan jelas, dan tidak bersifat kuliah umum.
4. Feasibility
SVM dapat diimplementasikan relatif mudah, karena proses penentuan
support vector dapat dirumuskan dalam QP problem. Dengan demikian jika
kita memiliki library untuk menyelesaikan QP problem, dengan sendirinya
SVM dapat diimplementasikan dengan mudah. Selain itu dapat diselesaikan
dengan metode sekuensial sebagaimana penjelasan sebelumnya.
14
SVM memiliki kelemahan atau keterbatasan, antara lain:
1. Sulit dipakai dalam problem berskala besar. Skala besar dalam hal ini
dimaksudkan dengan jumlah sampel yang diolah.
2. SVM secara teoritik dikembangkan untuk problem klasifikasi dengan dua
class. Dewasa ini SVM telah dimodifikasi agar dapat menyelesaikan masalah
dengan class lebih dari dua, antara lain strategi one versus rest dan strategi
tree structure. Namun demikian, masing-masing strategi ini memiliki
kelemahan, sehingga dapat dikatakan penelitian dan pengembangan SVM
pada multiclass-problem masih merupakan tema penelitian yang masih
terbuka.
2.4
Evaluation Model
Diperlukan cara yang sistematis untuk mengevaluasi kinerja dari suatu
metode/ model. Evaluasi klasifikasi didasarkan pengujian pada objek yang benar dan
salah (Gorunescu, 2011). Validasi data digunakan untuk menentukan jenis terbaik
dari skema pembelajaran yang digunakan, berdasarkan data pelatihan untuk melatih
skema pembelajaran (Witten, Frank dan Hall, 2011).
2.4.1 Confusion Matrix
Confusion matrix menurut Kohavi dan Provost dalam Visa, Ramsay, Ralescu,
dan Van Der Knaap (Visa, Ramsay, Ralescu, dan Van Der Knaap, 2011) berisi
informasi mengenai hasil klasifikasi aktual dan yang telah diprediksi oleh sistem
klasifikasi. Performa dari sistem tersebut biasanya dievaluasi menggunakan data
dalam sebuah matriks. Tabel dibawah ini menampilkan sebuah confusion matrix
untuk pengklasifikasian ke dalam dua kelas.
15
Tabel 2.1 Confusion Matrix Dua Kelas
PREDICTED
NEGATIVE
ACTUAL
POSITIVE
NEGATIVE
POSITIVE
a
c
(True Negative)
(False Negative)
b
d
(True Negative)
(True Negative)
Sumber : Gorunescu (2011)
Keterangan:
a Jumlah prediksi yang benar untuk data aktual negatif
b Jumlah prediksi yang salah untuk data aktual positif
c Jumlah prediksi yang benar untuk data aktual negatif
d Jumlah prediksi yang salah untuk data aktual positif
Beberapa term standar yang telah ditetapkan untuk matriks dua kelas di atas
adalah sebagai berikut.
1. Accuracy (AC) adalah proporsi jumlah prediksi yang benar. Hal ini ditentukan
dengan menggunakan persamaan.
=
+
+ + +
2. Sensitivity atau Recall atau True Positive Pate (TP) adalah proporsi dari kasus
positif yang diidentifikasi dengan benar, dihitung dengan menggunakan
persamaan.
=
+
3. False Positive Rate (FP) adalah proporsi dari kasus negatif yang salah
diklasifikasikan sebagai positif, dihitung dengan menggunakan persamaan.
=
16
+
4. Specificity atau True Negative Rate (TN) didefinisikan sebagai proporsi untuk
kasus negatif yang diklasifikasikan dengan benar, dihitung dengan
menggunakan persamaan.
=
+
5. False Negative Rate (FN) adalah proporsi dari kasus positif yang salah
diklasifikasikan sebagai negatif, dihitung dengan menggunakan persamaan.
=
+
6. Precision (P) adalah proporsi kasus dengan hasil positif yang benar, dihitung
dengan menggunakan persamaan.
=
+
2.5 MySQL
MySQL adalah sistem manajemen database SQL yang bersifat Open Source
dan paling populer saat ini. Sistem database MySQL mendukung beberapa fitur
seperti multithreaded, multi-user, dan SQL database management system (DBMS).
Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah
digunakan.
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.
Berikut ini beberapa keistimewaan 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.
17
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. Bekerja pada berbagai platform. (tersedia berbagai versi untuk berbagai
sistem operasi).
7. Memiliki jenis kolom yang cukup banyak sehingga memudahkan konfigurasi
sistem database.
8. Memiliki sistem sekuriti yang cukup baik dengan verifikasi host.
9. Mendukung ODBC untuk sistem operasi Windows.
10. Mendukung record yang memiliki kolom dengan panjang tetap atau panjang
bervariasi.
2.6
PHP
PHP sendiri sebenarnya merupakan singkatan dari Hypertext Preprocessor,
yang merupakan sebuah bahasa scripting tingkat tinggi yang dipasang pada dokumen
HTML. Sebagian besar sintaks dalam PHP mirip dengan bahasa C, Java dan Perl,
namun pada PHP ada beberapa fungsi yang lebih spesifik. Sedangkan tujuan utama
dari penggunaan bahasa ini adalah untuk memungkinkan perancang web yang
dinamis dan dapat bekerja secara otomatis.
Banyak sekali kelebihan yang dimiliki PHP dibandingkan dengan bahasa
pemrograman yang lain, Diantaranya :
1. Bisa membuat web menjadi dinamis.
2. PHP bersifat open source yang berarti dapat digunakan oleh siapa saja secara
gratis.
18
3. Program yang dibuat dengan PHP bisa dijalankan oleh semua sistem operasi,
karena PHP berjalan secara web base yang artinya semua sistem operasi
bahkan HP yang mempunyai web browser dapat menggunakan program PHP.
4. Aplikasi PHP lebih cepat dibandingkan dengan ASP maupun Java.
5. Mendukung banyak paket database seperti MySQL, Oracle, PostgrSQL, dan
lain-lain.
6. Bahasa
pemrograman
PHP
tidak
memerlukan
Kompilasi
dalam
penggunaannya.
7. Banyak web server yang mendukung PHP seperti Apache, Lighttpd, IIS dan
lain-lain.
8. Pengembangan Aplikasi PHP mudah karena banyak dokumentasi, refrensi
dan developer yang membantu dalam pengembangannya.
9. Banyak bertebaran aplikasi dan program PHP yang gratis dan siap pakai
seperti WordPress, PrestaShop, dan lain-lain.
Selain kelebihan PHP, PHP juga mempunyai kekurangan. Namun masalah
kekurangannya sangat sedikit. Berikut diantaranya :
1. PHP tidak mengenal package.
2. Jika tidak di-encoding, maka kode PHP dapat dibaca semua orang dan untuk
meng-encoding dibutuhkan tool dari Zend yang mahal sekali biayanya.
3. PHP memiliki kelemahan keamanan. Jadi Programmer harus jeli dan berhatihati dalam melakukan pemrograman dan Konfigurasi PHP.
2.7
Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang
menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses
(instruksi) dengan proses lainnya dalam suatu program.
19
Flowchart terbagi atas lima jenis, yaitu :
1. System Flowchart
Flowchart ini merupakan bagan yang menunjukkan alur kerja atau apa yang
sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan
dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart
ini merupakan dekripsi secara grafik dari urutan prosedur-prosedur yang
terkombinasi yang membentuk suatu sistem.
2. Dokument 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 tembusantembusannya. Bagan alir dokumen ini menggunakan simbol-simbol yang
sama dengan yang digunakan di dalam bagan alir sistem.
3. Schematic 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 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.
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
20
untuk menggambarkan tiap-tiap langkah di dalam program komputer secara
logika. Bagan alir logika program ini dipersiapkan oleh analis sistem.
5. Process Flowchart
Flowchart ini merupakan teknik penggambaran rekayasa industrial yang
memecah dan menganalisis langkah-langkah selanjutnya dalam suatu
prosedur atau sistem. Flowchart jenis ini digunakan oleh perekayasa
industrial
dalam
mempelajari
dan
mengembangkan
proses-proses
manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif
untuk menelusuri alur suatu laporan atau form.
21
Download