Anda di halaman 1dari 26

13

BAB II

LANDASAN TEORI

II.1. Penelitian Terkait

Hengki Tomando Sihotang, 2018. Hasil dari penelitian ini berupa

system untuk mendiagnosa penyakit pada saraf berbasis web yang dapat

memberikan rekomendasi kepada user sebagai aplikasi yang membantu untuk

mengetahui gejala – gejala penyakit saraf dengan menerapkan metode teorema

bayes sehingga diperoleh hasil yang terbaik untuk melakukan tindakan lebih

lanjut lagi.

Teorema Bayes Penelitian yang dilakukan menyebutkan bahwa Teorema

Bayes dapat digunakan untuk mengembangkan Sistem Cerdas untuk diagnosa

penyakit. Pada penelitian ini metode Bayes diimplementasikan untuk

mendiagnosis penyakit jantung dan membantu praktisi kesehatan untuk membuat

keputusan klinis yang cerdas. Hasil penelitian dapat memberikan pengobatan

yang efektif, dan juga membantu untuk mengurangi biaya pengobatan.

II.2. Sistem Pakar

Sistem Pakar (Expert System) merupakan solusi AI bagi masalah

pemrograman pintar (Intelligent). Profesor Edward Feigenbaum dari Stanford

University yang merupakan pionir dalam teknologi sistem pakar

mendefenisikan Sistem Pakar sebagai sebuah program komputer pintar

(intelligent computer program) yang memanfaatkan pengetahuan (knowledge) dan


14

prosedur inferensi (inference procedure) untuk memecahkan masalah yang cukup

sulit hingga membutuhkan keahlian khusus dari manusia.

Dengan kata lain, Sistem Pakar adalah sistem komputer yang ditujukan

untuk meniru semua aspek (emulates) kemampuan pengambilan keputusan

(decision making) seorang pakar. Sistem Pakar memanfaatkan secara maksimal

pengetahuan khusus layaknya seorang pakar untuk memecahkan masalah.

Pakar atau ahli (expert) didefenisikan sebagai seseorang yang memiliki

pengetahuan atau keahlian khusus yang tidak dimiliki oleh kebanyakan orang.

Seorang pakar dapat memecahkan masalah yang tidak mampu dipecahkan

kebanyakan orang. Dengan kata lain, dapat memecahkan suatu masalah dengan

lebih efisien namun bukan berarti lebih murah. Pengetahuan yang dimuat ke

dalam Sistem Pakar dapat berasal dari seorang pakar atau pun pengetahuan yang

berasal dari buku, jurnal, majalah, dan dokumentasi yang dipublikasikan lainnya,

serta orang yang memiliki pengetahuan meskipun bukan ahli. Istilah Sistem Pakar

(expert system). Sering disinonimkan dengan sistem berbasis pengetahuan

(knowledge-based system) atau Sistem Pakar berbasis pengetahuan (knowledge

based expert system). (Rika Rosnelly, 2012 : 3).

II.2.2.1.Manfaat Sistem Pakar

Sistem pakar sangat popular karena sangat banyak kemampuan dan manfaat

yang diberikannya, di antaranya :

1. Meningkatnya produktivitas, karena sistem pakar dapat bekerja lebih cepat

daripada manusia.
2. Membuat seseorang yang awam bekerja seperti layaknya seorang pakar.
15

3. Meningkatkan kualitas, dengan memberi nasehat yang konsisten dan

mengurangi kesalahan.
4. Mampu menangkap pengetahuan dan kepakaran seseorang.
5. Memudahkan akses pengetahuan seorang pakar.
6. Bisa digunakan sebagai media pelengkap dalam pelatihan. Pengguna

pemula yang bekerja dengan sistem pakar akan menjadi lebih

berpengalaman karena adanya fasilitas penjelas yang berfungsi sebagai

guru.
7. Meningkatkan kemampuan untuk menyelesaikan masalah karena sistem

pakar mengambil sumber pengetahuan dari banyak pakar. (B. Herawan

Hayadi, 2018:2).

II.2.2.2. Ciri –Ciri Sistem Pakar

Menurut B. Herawan Hayadi (2018), ciri–ciri sistem pakar adalah sebagai

berikut :

1. Terbatas pada domain keahlian tertentu

2. Dapat memberikan penalaran untuk data yang tidak pasti

3. Dapat mengemukakan rangkaian alasan yang diberikannya dengan cara

yang dapat dipahami.

4. Berdasarkan pada kaidah atau rule tertentu.

5. Dirancang untuk dapat dikembangkan secara bertahap.

6. Pengetahuan dan mekanisme inferensi jelas terpisah.

7. Keluarannya bersifat anjuran

8. Sistem dapat mengaktifkan kaidah secara searah oleh pemakai


16

II.2.2.3.Konsep Umum Sistem Pakar

Sistem pakar terdiri dari beberapa konsep yang harus dimiliki. Konsep dasar

dari suatu sistem pakar adalah sebagai berikut :

1. Keahlian

Adalah suatu pengetahuan khusus yang diperoleh dari latihan, belajar dan

pengetahuan. Pengetahuan dapat berupa fakta, teori, aturan, strategi global

untuk memecahkan masalah.

2. Ahli (Expert)

Melibatkan kegiatan mengenali dan memformulasikan permasalahan,

memecahkan masalah secara cepat dan tepat, menerangkan pemecahannya,

belajar dari pengalaman, merestrukturisasi pengetahuan, memecahkan

aturan serta menentukan relevansi.

3. Mentransfer Keahlian (Transfering Expertise)

Adalah proses pentransferan keahlian dari seorang pakar kedalam komputer

agar dapat digunakan oleh orang lain yang bukan pakar. Pengetahuan

tersebut ditempatkan kedalam sebuah komponen yang dinamakan basis

pengetahuan.

4. Menyimpulkan Aturan ( Inferencing Rule)


17

Merupakan kemampuan komputer yang telah diprogram, penyimpulan ini

dilakukan oleh mesin inferensi yang meliputi prosedur tentang penyelesaian

masalah.

5. Peraturan (Rule)

Diperlukan karena mayoritas dari sistem pakar bersifat rule-based systems,

yang berarti pengetahuan disimpan dalam bentuk peraturan.

6. Kemampuan menjelaskan (Explanation Capability)

Adalah karakteristik dari sistem pakar yang memiliki kemampuan

menjelaskan atau memberi saran mengapa tindakan dianjurkan atau tidak

dianjurkan. (B. Herawan Hayadi, 2018: 5).

II.2.2.4.Elemen Manusia Pada Sistem Pakar

Sistem Pakar tidak lepas dari elemen manusia yang terkait di dalamnya.

Personil yang terkait dengan Sistem Pakar ada 4 yaitu :

1. Pakar (expert)

2. Pembangun pengetahuan (knowledge engineer)

3. Pembangunan sistem (system engineer)

4. Pemakai (user)

Paling tidak terdapat dua komponen orang atau lebih yang berpartisipasi

dalam pembangunan dan penggunaan Sistem Pakar, yakni sedikitnya seorang

pembangun pengetahuan dan seorang pakar. (Rika Rosnelly, 2012 : 10).

II.2.2.4.1.Pakar
18

Pakar adalah seorang individu yang memiliki pengetahuan khusus,

pemahaman, pengalaman, dan metode-metode yang digunakan untuk

memecahkan persoalan dalam bidang tertentu. (Rika Rosnelly, 2012 : 10)

II.2.2.4.2.Pembangun/ Pembuat Pengetahuan

Pembuat pengetahuan memiliki tugas utama menerjemahkan dan

merepresentasikan pengetahuan yang diperoleh dari pakar, baik berupa

pengalaman pakar dalam menyelesaikan masalah maupun sumber

terdokumentasi lainnya ke dalam bentuk yang bisa diterima oleh Sistem

Pakar. Dalam hal ini pembangunan pengetahuan (knowledge engineer)

menginterpretasikan dan merepresentasikan pengetahuan yang diperoleh

dalam bentuk jawaban-jawaban atas pertanyaan-pertanyaan yang diajukan

pada pakar atau pemahaman, penggambaran analogis, sistematis, konseptual

yang diperoleh dari membaca beberapa dokumen cetak seperti text book,

jurnal, makalah, dan sebagainya. Kurangnya pengalaman knowledge

engineer merupakan kesulitan utama dalam mengkonstruksi Sistem Pakar.

Untuk mengatasi hal tersebut, perancang Sistem Pakar menggunakan tools

komersial. (Seperti pada editor-editor khusus maupun logic debuggers) dan

usahanya akan dipusatkan pada pembangunan mesin inferensi. (Rika

Rosnelly, 2012 : 11)

II.2.2.4.3.Pembangun/ Pembuat Sistem

Pembangunan sistem adalah orang yang bertugas untuk merancang

antarmuka pemakai Sistem Pakar, merancang pengetahuan yang sudah

diterjemahkan oleh pembangun pengetahuan ke dalam bentuk yang sesuai


19

dan dapat diterima oleh Sistem Pakar dan mengimplementasikannya ke

dalam mesin inferensi. Selain hal tersebut, pembangun sistem juga

bertanggung jawab apabila Sistem Pakar akan diintegrasikan dengan sistem

komputerisasi lain. Alat pembangun (tool builder) dapat dipakai untuk

menyajikan atau membangun tool yang spesifik. Penjual (vendor) dapat

memberikan tool dan saran, staf pendukung dapat memberikan saran dan

bantuan secara teknis dalam proses pembangunan Sistem Pakar. (Rika

Rosnelly, 2012 : 12).

II.2.2.4.4.Pengguna

Banyak sistem berbasis komputer mempunyai susunan pengguna

tunggal. Hal ini berbedaa jauh dengan Sistem Pakar yang memungkinkan

mempunyai beberapa kelas pengguna. Pengguna mungkin tidak terbiasa

dengan komputer dan mungkin pada domain masalah. Bagaimanapun juga,

banyak solusi permasalahan menjadi lebih baik dan kemungkinan lebih

murah dan keputusan yang cepat bila menggunakan Sistem Pakar. Pakar dan

pembangun sistem harus mengantisipasi kebutuhan-kebutuhan pengguna

dan membuat batasan-batasan ketika mendesain Sistem Pakar. (Rika

Rosnelly, 2012 : 12)

II.2.2.5.Struktur Sistem Pakar


20

Komponen yang terdapat dalam struktur Sistem Pakar ini adalah knowledge

base (rules), inference engine, working memory, explanation facility, knowledge

acquisition facility, user interface. (Rika Rosnelly, 2012)

1. Knowledge Base (Basis Pengetahuan)

Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi,

dan penyelesaian masalah. Komponen Sistem Pakar disusun atas dua

elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang

objek dalam area permasalahan tertentu, sedangkan aturan merupakan

informasi tentang cara bagaimana memperoleh fakta baru dari fakta yang

telah diketahui.

2. Inference Engine (Mesin Inferensi)

Mesin inferensi merupakan otak dari sebuah Sistem Pakar dan dikenal juga

dengan sebutan control structure (struktu kontrol) atau rule interpreter

(dalam Sistem Pakar berbasis kaidah). Komponen ini mengandung

mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam

menyelesaikan suatu masalah. Mesin inferensi disini adalah processor pada

Sistem Pakar yang mencocokkan bagian kondisi dari rule yang tersimpan di

dalam knowledge base dengan fakta yang tersimpan di working memory.

3. Working Memory

Berguna untuk menyimpan fakta yang dihasilkan oleh inference engine

dengan penambahan parameter berupa derajat kepercayaan atau dapat juga

dikatakan sebagai global database dari fakta yang digunakan oleh rule-rule

yang ada.
21

4. Explanation Facility

Menyediakan kebenaran dari solusi yang dihasilkan kepada user (reasoning

chain).

5. Knowledge Acquistion Facility

Meliputi proses pengumpulan, pemindahan dan perubahan dari kemampuan

pemecahan masalah seorang pakar atau sumber pengetahuan terdokumentasi

ke program computer, yang bertujuan untuk memperbaiki atau

mengembangkan basis pengetahuan.

6. User Interface

Mekanisme untuk memberi kesempatan kepada user dan Sistem Pakar

untuk berkomunikasi. Antar muka menerima informasi dari pemakai dan

mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu

antarmuka menerima informasi dari sistem dan menyajikannya ke dalam

bentuk yang dapat dimengerti oleh pemakai. (Rika Rosnelly, 2012 : 15).

II.2.2.6.Karakteristik Sistem Pakar

Sistem Pakar umumnya dirancang untuk memenuhi beberapa karakteristik

umum berikut ini :

1. Kinerja sangat baik (high performance). Sistem harus mampu memberikan

respon berupa saran (advice) dengan tingkat kualitas yang sama dengan

seorang pakar atau melebihinya.


2. Waktu respon yang baik (adequate respon time). Sistem juga harus mampu

bekerja dalam waktu yang sama baiknya (reasonable) atau lebih cepat
22

dibandingkan dengan seorang pakar dalam menghasilkan keputusan. Hal ini

sangat penting terutama pada sistem waktu nyata (real-time).


3. Dapat diandalkan (good reliability). Sistem harus dapat diandalkan dan

tidak mudah rusak/ crash.


4. Dapat dipahami (understandable). Sistem harus mampu menjelaskan

langkah-langkah penalaran yang dilakukannya seperti seorang pakar.


5. Fleksibel (flexibility). Sistem menyediakan mekanisme untuk menambah,

mengubah, dan menghapus pengetahuan. (Rika Rosnelly, 2012 : 21).

II.3. Diagnosa Parkinson

Pada pemeriksaan fisik ditemukan kaku otot, tremor menyeluruh,

kelemahan otot, dan hilangnya rfleks postural. Penderita kesukaran dalam

memulai, mempertahankan, dan membentuk aktivitas motorik. Tremor

menyeluruh dengan karakteristik, lambat, gerakan membalik( prognasi-suspinasi)

pada lengan bawah dan telapak tangan dan gerakan ibu jari terhadap jari-jari

seolah memutar sebuah pil di antara jari-jari. Ekspresi wajah yang datar,

perubahan gaya berjalan dan sikap tubuh, kehilangan ayunan tangan normal,

ekstremitas kaku dan lemah, pasien berdiri dengan kepala cenderung ke

depan,berjalan dengan gaya seperti didorong, terdapat tanda-tanda depresi.

Pada umumnya, diagnosis tergantung dari catatan medis dan tes neurologi

dari pasien yang dipadukan dengan hasil wawancara serta observasi dengan

menggunakan Unifed Parkinson’s Disease Rating Scale. Gambaran radiologi dari

mesin scanning SPECT yang disebut DaTSCAN yang menggunakan energy listrik

ialah mesin khusus yang digunakan untuk mendiagnosa penyakit Parkinson, tetapi
23

mesin tersebut hanya dipasarkan di eropa. Maka dari itu, penyakit ini sangat sulit

didiagnosa secara akurat, khususnya di stadium-stadium awal. Karena gejala

gejalanya hamper mirip dengan dapat dikonfirmasikan sebagai penyakit Parkinson

idiopatik pada saat dilakukan autopsi. Tanda da gejala awal dari penyakit

Parkinson kadang-kadang disalahartikan sebagai efek nomal dari proses penuaan.

Dokter perlu mengobservasi pasien tersebut untuk beberapa waktu sampi timbul

tanda yang menunjukan kalau gejala penyakit Parkinson benar benar ada. Dokter

juga kadang-kadang meminta untuk mengadakan scan otak atau tes laboratorium

dengan tujuan untuk menyingkirkan dugaan penyakit lain bagaimanapun,

gambaran dari CT-scan dan MRI otak pada pasien Parkinson selalu menampakkan

hasil yang normal. (Dr. R yoseph Budiman, Sp.s. ; 2013 : 178-179).

Adapun criteria diagnosa penyakit Parkinson sebagai berikut :

a. Klinis

Secara umum :

1. Gejala dimulai satu sisi (hemiparkinson).

2. Tremor saat istirahat.

3. Tidak didapatkan gejala neurologis lain.

4. Tidak dijumpai kelainan laboratorium dan radiologi.

5. Perkembangan penyakit lambat.

6. Respon terhadap ledovopa cepat dan dramatis.

7. Reflekspostural tidak di jumpai pada awal penyakit.

Secara khusus

1. Tremor; laten, saat istirahat, bertahan saat istirahat.


24

2. Rigiditas

3. Akinesia/bradikinesia : kedipan mata berulang, wajah seperti topeng,

hipotonia, hipersalivasi, tachikinesia, tulisan semakin kecil-kecil, cara

berjalan dengan langkah kecil-kecil.

4. Hilangnya reflex postural

5. Gambaran motorik lain : distonia, rasa kaku, sulit memulai gerak, palilaia.

1. Stadium I :

a. Gejala dan tanda pada satu sisi

b. Gejala ringan

c. Gejala yang timbul mengganggu tapi tidak menimbulkan cacat.

d. Tremor pada suatu anggota gerak.

e. Gejala awal dapat dikenali orang terdekat.

2. Stadium II :

a. gejala bilateral

b. terjadi kecacatan minimal

c. sikap/cara berjalan terganggu

3. stadium III :

a. gerakan tubuh nyata lambat diri

b. gangguan keseimbangan saat berjalan/berdiri

c. disfungsi umum sedang

4. stadium IV :

a. gejala lebih berat

b. keterbatasan jarak berjalan


25

c. rigiditas dan bradikinesia

d. tidak mampu mandiri

f. tremor berkurang

5. stadium V :

1. stadium kakeksia

2. kecacatan kompleks

3. tidak mampu berjalan dan berdiri

4. memerlukan perawatan tetap

II.4. Metode Teorema Bayes

Teorema Bayes adalah teorema yang digunakan dalam statistika untuk

menghitung peluang untuk suatu hipotesis, Bayes Optimal Classifier menghitung

peluang dari suatu kelas dari masing-masing kelompok atribut yang ada, dan

menentukan kelas mana yang paling optimal. Umumnya kelompok atribut E

direpresentasikan dengan sekumpulan nilai atribut (x1,x2,x3,….,xn) dimana xi

adalah nilai atribut Xi. C adalah variable klasifikasi dan c adalah nilai dari C.

Pengklasifikasian adalah sebuah fungsi yang menugaskan data tertentu kedalam

sebuah kelas. Dari sudut pandang peluang , berdasarkan aturan Bayes kedalam

kelas c adalah : Untuk menentukan pilihan kelas, digunakan peluang maksimal

dari seluruh c dalam C, Karena nilai konstan untuk semua kelas, maka dapat

diabaikan.

Pengklasifikasian menggunakan Teorema Bayes ini membutuhkan biaya

komputasi yang mahal (waktu prosessor dan ukuran memory yang besar) karena
26

kebutuhan untuk menghitung nilai probabilitas untuk tiap nilai dari perkalian

kartesius untuk tiap nilai atribut dan tiap nilai kelas. Data latih untuk Teorema

Bayes membutuhkan paling tidak perkalian kartesius dari seluruh kelompok

atribut yang mungkin, jika misalkan ada 16 atribut yang masing - masingnya

berjenis Boolean tanpa missing value, maka data latih minimal yang dibutuhkan

oleh Teorema Bayes untuk digunakan dalam klasifikasi adalah 2^16 = 65.536

data, sehingga ada 3 masalah yang dihadapi untuk menggunakan teorema Bayes

dalam pengklasifikasian, yaitu :

(1) kebanyakan data latih tidak memiliki varian klasifikasi sebanyak itu

(oleh karenanya sering diambil sample)

(2) jumlah atribut dalam data sample dapat berjumlah lebih banyak ( lebih

dari 16)

(3) jenis nilai atribut dapat berjumlah lebih banyak [ lebih dari 2 –

Boolean] terlebih lagi untuk jenis nilai atribut yang bersifat tidak

terbatas 1 – ∞ seperti numeric dan kontiniu.

(4) jika suatu data X tidak ada dalam data latih, maka data X tidak dapat

di klasifikasikan, karena peluang untuk data X di klasifikasikan

kedalam suatu kelas adalah sama untuk tiap kelas yang ada.

Untuk mengatasi berbagai permasalahan diatas, berbagai varian dari

pengklasifikasian yang menggunakan Teorema Bayes diajukan, salah satunya

adalah Naïve Bayes, yaitu penggunaan Teorema Bayes dengan asumsi

keidependenan atribut. Asumsi ke independenan atribut akan menghilangkan


27

kebutuhan banyaknya jumlah data latih dari perkalian kartesius seluruh atribut

yang dibutuhkan untuk mengklasifikasikan suatu data.

Dampak negative dari asumsi Naive tersebut adalah keterkaitan yang ada

antara nilai - nilai atribut diabaikan sepenuhnya. Dampak ini secara intuitif akan

berpengaruh dalam pengklasifikasian, namun percobaan empiris mengatakan

sebaliknya. Hal ini tentu saja cukup mengejutkan, karena dalam pengaplikasian

dunia nyata, asumsi diabaikannya keterkaitan antara atribut selalu dilanggar .

Karena secara intuitif, asumsi keindependenan atribut dalam dunia nyata hampir

tidak pernah terjadi. Seharusnya dengan asumsi tersebut performa yang dihasilkan

akan buruk.

II.4.1. Algoritma Teorema Bayes

Algoritma adalah kumpulan perintah perintah yang menentukan operasi-

operasi tertentu yang diperlukan untuk menyelesaikan suatu masalah atau

mengerjakan suatu tugas tertentu. Perintah - perintah ini dapat diterjemahkan

secara bertahap dari awal hingga akhir. Algoritma dibuat sebelum melakukan

perancangan perangkat lunak, hal itu dilakukan untuk memudahkan dalam

merancang suatu perangkat lunak, karena algoritma dibuat dalam bahasa yang

dimengerti oleh manusia yang nantinya akan diimplementasi pada perangkat

keras. Algorima teorema bayes pada sistem pakar diagnosa penyakit parkinson

dapat lihat dibawah ini:

Algoritma Nilai P(Hi\E) = probabilitas hipotesis Hi, benar jika diberikan


evindance E.
Input : P(E/Hi) = probabilitas munculnya evidence E, jika hipotesis Hi
benar
28

P(Hi) = probabilitas hipotesis H (menurut hasil sebelumnya) tanpa


memandang evidence apapun.
N = nilai hipotesis yang mungkin. Output: P(Hi\E) Proses: � �1 = � �1 1
�=1 P �� = � �\�� ∗P(Hi ) n k=1 P E\Hi ∗P(Hi )
Tabel 1 Keterangan nilai Terminologi kepastian pada gejala penyakit
Parkinson.

Tabel II.1. Terminologi Kepastian

Teorema Bayes A/B

Tidak 0

Tidak Ada 0,2

Mungkin 0,4

(Sumber : Intan Kemungkinan Besar 0,6 Russari, 2016)


Hampir Pasti 0,8

Pasti 10
II.5. Website

Secara terminologi website adalah kumpulan dari halaman - halaman situs,

yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya

berada di dalam World Wide Web (www) di internet. World Wide Web (www)

terdiri dari seluruh situs web yang tersedia kepada publik. Halaman - halaman

sebuah situs web (web page) diakses dari sebuah URL yang menjadi “akar” ( root

), yang disebut homepage (halaman induk; sering diterjemahkan menjadi

“beranda”, “halaman muka”), URL ini mengatur web page untuk menjadi sebuah
29

hirarki, meskipun hyperlink - hyperlink yang ada di halaman tersebut mengatur

para pembaca dan memberitahu mereka susunan keseluruhan dan bagaimana arus

informasi ini berjalan.

Sebuah web page adalah dokumen yang ditulis dalam format HTML

(Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP,

yaitu protokol yang menyampaikan informasi dari server website untuk

ditampilkan kepada para pemakai melalui web browser. Semua publikasi dari

website-website tersebut dapat membentuk sebuah jaringan informasi yang sangat

besar. Web page layaknya sebuah buku yang dapat menampung berbagai

informasi tentang banyak hal baik bersifat komersil maupun non komersil.

Melalui media web inilah seseorang dapat memberikan informasi tertentu kepada

orang lain yang berada di seluruh dunia, Website mulai dikenal di Indonesia

sekitar tahun 1998, dimana hanya perusahaan besar saja yang mampu

memilikinya. Pada saat itu, website merupakan sebuah teknologi yang cukup

mahal untuk dimiliki. Sehingga banyak pengusaha maupun produsen

mengurungkan niat mereka untuk dapat memiliki media promosi ini.

II.6. Hypertext Preprocessor (PHP)

PHP sering dipakai para programmer untuk membuat situs web yang

bersifat dinamis karena gratis dan berguna dalam merancang aplikasi web.

Supono dan Putratama (2016:3) mengemukakan bahwa ”PHP (PHP: Hypertext


30

Preprocessor) adalah suatu bahasa pemrograman yang digunakan untuk

menerjemahkan baris kode program menjadi kode mesin yang dapat dimengerti

oleh komputer yang berbasis server-side yang dapat ditambahkan ke dalam

HTML”. Sedangkan, menurut Solichin (2016:11) mengemukakan bahwa “PHP

merupakan salah satu bahasa pemrograman berbasis web yang ditulis oleh dan

untuk pengembang web”. PHP merupakan bahasa (script) pemrograman yang

sering digunakan pada sisi server sebuah web (Wahana Komputer, 2010:1).

Kumpulan kutipan diatas menerangkan bahwa hypertext preprocessor (PHP)

merupakan bahasa pemrograman untuk membuat/mengembangkan aplikasi

berbasis web dan bersifat open soure dan ditanamkan ke dalam script HTML. B.

Hypertext Markup Language (HTML) Proses tampilnya sebuah halaman website

di browser melibatkan HTML. HyperText Markup Language (HTML) tergolong

dalam salah satu format yang digunakan dalam pembuatan dokumen yang terbaca

oleh web. Menurut Prasetio (2010:4) mengemukakan bahwa HTML merupakan

“bahasa pemrograman yang digunakan untuk mendesain sebuah halaman web”.

Sedangkan menurut Solichin (2016:10) mengemukakan bahwa “HTML

merupakan bahasa pemrograman web yang memberitahukan peramban web (web

browser) bagaimana menyusun dan menyajikan konten di halaman web”.

II.7. MySql

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL

atau DBMS yang multithread, multi-user. membuat MySQL tersedia sebagai

perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi
31

mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana

penggunaannya tidak cocok dengan penggunaan GPL. MySQL sebenarnya

merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu

SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian

database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang

memungkinkan pengoperasian data dikerjakan dengan mudah dan cepat secara

otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara

kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat

oleh user maupun program-program aplikasinya. Sebagai database server, MySQL

dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query

data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan

query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih

cepat dibandingkan Interbase. MySQL memiliki beberapa kelebihan yaitu:

1. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti

Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih

banyak lagi.

2. Open Source. MySQL didistribusikan secara open source, dibawah lisensi

GPL sehingga dapat digunakan secara gratis.

3. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan

tanpa mengalami masalah atau konflik.

4. MySQL memiliki kecepatan yang menakjubkan dalam menangani query

sederhana, dengan kata lain dapat memproses lebih banyak SQL per

satuan waktu.
32

5. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed /

unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

6. MySQL memiliki operator dan fungsi secara penuh yang mendukung

perintah Select dan Where dalam perintah (query).

7. Keamanan. MySQL memiliki beberapa lapisan sekuritas seperti level

subnetmask, nama host, dan izin akses user dengan sistem perizinan yang

mendetail serta sandi terenkripsi.

8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam

skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60

ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat

ditampung mencapai 32 indeks pada tiap tabelnya.

9. Dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP,

Unix soket (UNIX), atau Named Pipes (NT).

10. MySQL dapat mendeteksi pesan kesalahan pada klien dengan

menggunakan lebih dari dua puluh bahasa.

11. MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan

bahasa pemrograman dengan menggunakan fungsi API (Application

Programming Interface).

12. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani

ALTER TABLE, dibandingkan basis data lainnya semacam PostgreSQL

ataupun Oracle.

II.8. UML (Unified Modeling Language)


33

UML (Unified Modeling Language) adalah sebuah “bahasa” yang sudah

menjadi standar dalam industri untuk visualisasi, merancang, dan

mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar

untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat

membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut

dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun serta ditulis

dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class

dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan

piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C#, atau

VB.NET. Walapun demikian, UML tetap dapat digunakan untuk modeling

aplikasi prosedural dalam VB atau C. (Marbun Murni dan Sinaga Bosker, 2018,

Hal : 35).

Alat bantu yang digunakan dalam perancangan berorientasi objek

berbasiskan UML adalah sebagai berikut:

1. Use Case Diagram

Use case diagram merupakan pemodelan untuk kelakukan (behavior)

sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah

interaksi antara satu atau lebih aktor dengan sistem informasi yang akan

dibuat. Dapat dikatakan use case digunakan untuk mengetahui fungsi apa

saja yang ada di dalam sistem informasi dan siapa saja yang berhak

menggunakan fungsi-fungsi tersebut. Simbol-simbol yang digunakan

dalam use case diagram dapat dilihat pada tabel II.1 dibawah ini:

Tabel II.1. Simbol Use Case


34

Gambar Keterangan
Use case menggambarkan fungsionalitas yang
disediakan sistem sebagai unit-unit yang bertukar
pesan antar unit dengan aktor, biasanya dinyatakan
dengan menggunakan kata kerja di awal nama use
case.
Aktor adalah abstraction dari orang atau sistem
yang lain yang mengaktifkan fungsi dari target
sistem. Untuk mengidentifikasikan aktor, harus
ditentukan pembagian tenaga kerja dan tugas-tugas
yang berkaitan dengan peran pada konteks target
sistem. Orang atau sistem bisa muncul dalam
beberapa peran. Perlu dicatat bahwa aktor
berinteraksi dengan use case, tetapi tidak memiliki
control terhadap use case.
Asosiasi antara aktor dan use case, digambarkan
dengan garis tanpa panah yang mengindikasikan
siapa atau apa yang meminta interaksi secara
langsung dan bukannya mengidikasikan aliran data.
Asosiasi antara aktor dan use case yang
menggunakan panah terbuka untuk mengidinkasikan
bila aktor berinteraksi secara pasif dengan sistem.
Include, merupakan di dalam use case lain
(required) atau pemanggilan use case oleh use case
lain, contohnya adalah pemanggilan sebuah fungsi
program.
Extend, merupakan perluasan dari use case lain jika
kondisi atau syarat terpenuhi.

(Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015, Hal : 94)

2. Diagram Aktivitas (Activity Diagram)

Activity Diagram menggambarkan workflow (aliran kerja) atau aktivitas

dari sebuah sistem atau proses bisnis. Simbol-simbol yang digunakan

dalam activity diagram dapat dilihat pada tabel II.2 dibawah ini:

Tabel II.2. Simbol Activity Diagram

Gambar Keterangan
35

Start point, diletakkan pada pojok kiri atas dan


merupakan awal aktifitas.

End point, akhir aktifitas.

Activites, menggambarkan suatu proses/kegiatan


bisnis
Fork (Percabangan), digunakan untuk menunjukkan
kegiatan yang dilakukan secara parallel atau untuk
menggabungkan dua kegiatan pararel menjadi satu.

Join (penggabungan) atau rake, digunakan untuk


menunjukkan adanya dekomposisi.

Decision Points, menggambarkan pilihan untuk


pengambilan keputusan, true, false.

Swimlane, pembagian activity diagram untuk


New Swimline menunjukkan siapa melakukan apa.

(Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015, Hal : 94)

3. Diagram Urutan (Sequence Diagram)

Sequence diagram menggambarkan kelakuan objek pada use case dengan

mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan

diterima antar objek. Simbol-simbol yang digunakan dalam sequence

diagram dapat dilihat pada tabel II.3 dibawah ini :

Tabel II.3. Simbol Sequence Diagram

Gambar Keterangan
Entity Class, merupakan bagian dari sistem yang
berisi kumpulan kelas berupa entitas-entitas yang
membentuk gambaran awal sistem dan menjadi
landasan untuk menyusun basis data.
36

Boundary Class, berisi kumpulan kelas yang menjadi


interface atau interaksi antara satu atau lebih aktor
dengan sistem, seperti tampilan formentry dan form
cetak.
Control class, suatu objek yang berisi logika aplikasi
yang tidak memiliki tanggung jawab kepada entitas,
contohnya adalah kalkulasi dan aturan bisnis yang
melibatkan berbagai objek.
Message, simbol mengirim pesan antar class.

Recursive, menggambarkan pengiriman pesan yang


dikirim untuk dirinya sendiri.

Activation, activation mewakili sebuah eksekusi


operasi dari objek, panjang kotak ini berbanding
lurus dengan durasi aktivitas sebuah operasi.

Lifeline, garis titik-titik yang terhubung dengan


objek, sepanjang lifeline terdapat activation.

(Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015, Hal : 95)

4. Class Diagram (Diagram Kelas)

Merupakan hubungan antara kelas dan penjelasan detail tiap-tiap kelas di

dalam model desain dari suatu sistem, juga memperlihatkan aturan-aturan

dan tanggung jawab entitas yang merupakan perilaku sistem.Class

Diagram juga menenjukkan atribut-atribut dan operasi-operasi dari sebuah

kelas dan constraint yang berhubungan dengan objek yang dikoneksikan.

Class Diagram secara khas meliputi: Kelas (Class), Relasi, Associations,

Generalization dan Aggregation, Atribut (Attributes), Operasi

(Operations/Method), Visibility, tingkat akses objek eksternal kepada suatu


37

operasi atau atribut. Hubungan antar kelas mempunyai keterangan yang

disebut dengan multiplicity atau kardinaliti.

Tabel II.4. Multiplicity Class Diagram

Multiplicity Penjelasan
1 Satu dan hanya satu
0..* Boleh tidak ada atau 1 atau lebih
1..* 1 atau lebih
0..1 Boleh tidak ada, maksimal 1
n..n Batasan antara. Contoh 2..4 mempunyai arti
minimal 2 maksimum 4
(Sumber : Gellysa Urva dan Helmi Fauzi Siregar; 2015, Hal : 95)

II.9. Normalisasi

Menurut Indrajani (2015 : 11) Normalisasi adalah suatu teknik dengan

pendekatan bottom-up yang digunakan untuk membantu mengidentifikasikan

hubungan. Dimulai dari menguji hubungan, yaitu functional dependecies antara

atribut. Tujuan utama normalisasi adalah mengidentifikasikan kesesuain hubungan

yang mendukung data untuk memenuhi kebutuhan data perusahaan. Terdapat lima

bentuk normal yang biasa digunakan yaitu :

1. First Normal Form (1 NF)

Sudah tidak ada repeating group yaitu pengulangan yang terjadi pada

beberapa atribut atau kolom dalam sebuah tabel, dan juga setiap atribut

harus bernilai tunggal.

2. Second Normal Form (2 NF)


38

Untuk menjadikan tabel normal tingkatke 2 maka sudah 1NF dan setiap

atribut yang bukan primary key sepenuhnya secara fungsional tergantung

pada semua atribut pembentuk primary key.

3. Third Normal Form (3 NF)

Tabel sudah 2NF dan tidak memiliki transitive dependencies, Transitive

dependency adalah ketika ada atribut yang secara tidak langsung

tergantung pada primary key.

4. Fourth Normal Form (4 NF)

Relasi berada pada bentuk normal keempat apabila memenuhi syarat

BCNF dan tidak mempunyai multivalue dependency.

5. Fifth Normal Form (5 NF)

Tabel bentuk normal kelima sering disebut PJNF (Projection Join Normal

Form), penyebutan PJNF karena untuk suatu relasiakan berbentuk

normal kelimaji kata belter sebut dapat dipecah atau diproyeksikan

menjadi beberapa table dan dari proyeksi-proyek siitu dapat disusun

kembali (join) menjadi tabel yang sama dengan keadaan semula.

Anda mungkin juga menyukai