8
BAB II LANDASAN TEORI
2.1 Aplikasi Aplikasi berasal dari kata application yang artinya penerapan, lamaran, penggunaan. Secara istilah aplikasi adalah program siap pakai yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju. Aplikasi menurut Jogiyanto (1999), adalah penggunaan dalam suatu komputer, instruksi (instruction) atau pernyataan (statement) yang disusun sedemikian rupa sehingga komputer dapat memproses input menjadi output. Menurut Kamus Besar Bahasa Indonesia (1998), “Aplikasi adalah penerapan dari rancang sistem untuk mengolah data yang menggunakan aturan atau ketentuan bahasa pemrograman tertentu”. Aplikasi adalah suatu program komputer yang dibuat untuk mengerjakan dan melaksanakan tugas khusus dari pengguna. Aplikasi merupakan rangkaian kegiatan atau perintah untuk dieksekusi oleh komputer. Perangkat lunak aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tetapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi yaitu pengolah kata, lembar kerja, dan pemutar media. Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang
9
disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan Open Office.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan setiap aplikasi. 2.2 Sistem Pakar Pakar adalah seorang narasumber yang sangat menguasai suatu bidang tertentu melebihi orang lain sehingga banyak orang yang akan bertanya dan mencari informasi melalui seorang pakar. Sistem adalah suatu kumpulan komponen-komponen yang saling berhubungan untuk menjalankan suatu fungsi dan tujuan tertentu. Menurut Kusrini (2006), sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk menyelesaikan masalah seperti layaknya seorang pakar. Menurut Tuban (2005), keahlian dipindahkan dari pakar ke suatu komputer. Pengetahuan kemudian disimpan di dalam komputer. Ketika user menjalankan komputer untuk mendapatkan informasi, sistem pakar akan menanyakan fakta-fakta dan dapat membuat penalaran dan sampai pada suatu kesimpulan atas hasil konsultasi yang telah dilakukan sebelumnya. Sedangkan menurut Matini (1988), sistem pakar adalah sistem yang berbasis komputer yang menggunakan pengetahuan, fakta, dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut. Sistem pakar digunakan untuk mendukung aktivitas pemecahan masalah. Beberapa aktivitas pemecahan masalah yang di maksud adalah seperti pembuatan keputusan (decision making), pemanduan pengetahuan (knowledge fusing), pembuatan desain (designing), perencanaan (planning), prakiraan (forescating), pengaturan (regulating),
10
pengendalian (controlling), diagnosa (diagnosing), perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising) dan pelatihan (tutoring). Sistem pakar mulai dikembangkan pada pertengahan tahun 1960-an oleh Artificial Intelligence Corporation. Periode penelitian kecerdasan buatan didominasi oleh suatu keyakinan bahwa nalar yang digabung dengan komputer canggih akan menghasilkan pengetahuan pakar. Salah satu contohnya yaitu General purpose Problem Solver (GPS) yang dikembangkan oleh Allen Newell, John Cliff dan Herbert. GPS merupakan sebuah percobaan untuk menciptakan mesin cerdas. Sistem pakar untuk diagnosa kesehatan telah dikembangkan sejak pertengahan tahun 1970 yang untuk pertama kali di buat oleh Bruce Buchanan dan Edward Shortliffe di Standard University yang di beri nama MYCIN. MYCIN merupakan program interaktif yang melakukan diagnosa penyakit Meningitis dan infeksi Bacremia serta memberikan rekomendasi terapi antimikroba. MYCIN mampu memberikan penjelasan atas penalarannya secara detail. Program MYCIN mampu menunjukan kemampuan seperti seorang spesialis. 2.2.1 Ciri-ciri Sistem Pakar Berikut ciri-ciri sistem pakar menurut Bunafit (2008) : 1. Terbatas pada bidang tertentu. 2. Dapat memberikan penalaran untuk data yang lengkap atau tidak pasti. 3. Dapat mengemukakan rangkaian alasan yang diberikannya dengan cara yang dapat dipahami. 4. Berdasarkan pada rule atau aturan tertentu. 5. Di rancang untuk dapat dikembangkan secara bertahap. 6. Output bersifat nasihat atau solusi 7. Knowledge base dan interface engine terpisah.
11
2.2.2 Keuntungan dan Kelemahan Sistem Pakar Berikut adalah keuntungan sistem pakar menurut Tuban (2005): 1. Membuat seorang yang awam dapat bekerja seperti layaknya seorang pakar. 2. Meningkatkan output dan produktivitas. Sistem pakar dapat bekerja lebih cepat dari manusia. Keuntungan tersebut mengurangi jumlah pekerja yang dibutuhkan dan akhirnya memperkecil biaya. 3. Sistem pakar menyediakan solusi yang konsisten dan dapat mengurangi tingkat kesalahan. 4. Membuat peralatan yang kompleks lebih mudah dioperasikan karena sistem pakar dapat melatih pekerja yang tidak berpengalaman. 5. Memiliki kemampuan untuk memecahkan masalah yang kompleks. Selain memiliki beberapa keuntungan, menurut Tuban (2005), sistem pakar juga memiliki beberapa kelemahan, antara lain: 1. Biaya yang diperlukan dan memeliharanya sangat mahal. 2. Sulit dikembangkan. Hal tersebut erat kaitannya dengan ketersediaan pakar dibidangnya. 3. Sistem pakar tidak 100% benar. 4. Pengetahuan tidak selalu siap tersedia. 5. Sebagian besar pakar tidak memiliki sarana mandiri untuk memeriksa apakah kesimpulannya masuk akal. 6. Kosakata yang digunakan pakar untuk menyatakan fakta dan hubungan.
12
2.2.3 Bagian-bagian Sistem Pakar a. Basis Pengetahuan Basis pengetahuan berisi pengetahuan-pengetahuan untuk penyelesaian masalah. Bagian sistem pakar ini disusun atas 2 elemen dasar, yaitu fakta dan aturan. Fakta merupakan informasi tentang suatu objek dalam area permasalahan tertentu sedangkan aturan merupakan informasi tentang cara bagaimana memperoleh fakta baru dari yang telah diketahui. b. Mesin Inferensi (Inference Engine) Bagian ini mengandung mekanisme pola pikir dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program komputer yang memberikan metode untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan untuk memformulasikan kesimpulan. Inferensi merupakan proses untuk menghasilkan informasi dari fakta yang diketahui atau diasumsikan. Inferensi adalah konklusi logis (logical conclusion) atau implikasi berdasarkan informasi yang tersedia. Dalam sistem pakar proses inferensi dilakukan dalam suatu modul yang disebut Inference Engine (Mesin Inferensi). (Kusrini, 2008) Metode inferensi merupakan suatu cara penarikan kesimpulan yang dilakukan oleh mesin inferensi untuk menyelesaikan masalah. Ada dua metode inferensi yang umum dalam sistem pakar, yaitu : 1.
Forward Chaining (Runut Maju) Forward Chaining adalah suatu metode pengambilan keputusan yang dimulai dari
bagian premis (fakta) menuju konklusi (kesimpulan akhir). Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan menyatakan konklusi. Sistem pakar
13
menganalisis persoalan dengan mencari fakta yang sesuai dengan bagian JIKA dari aturan JIKA-MAKA. Runut maju berarti menggunakan himpunan aturan kondisi-aksi. Dalam metode ini, data digunakan untuk menentukan aturan mana yang akan dijalankan, kemudian aturan tersebut dijalankan. Mungkin proses menambahkan data ke memori kerja. Proses diulang sampai ditemukan suatu hasil. (Kusrini, 2008) Metode inferensi runut maju cocok digunakan untuk menangani masalah pengendalian (controlling), dan peramalan (prognosis). (Giarattano dan Riley, 1994)
Gambar 2.1 Forward Chaining (Fahmi, 2009) 2.
Backward Chaining (Runut Balik) Backward Chaining adalah suatu metode pengambilan keputusan dimulai dari
pencarian solusi dari kesimpulan kemudian menelusuri fakta-fakta yang ada hingga menemukan solusi yang sesuai dengan fakta-fakta yang diberikan user. Runut balik merupakan metode penalaran kebalikan dari runut maju. Dalam runut balik penalaran dimulai dengan tujuan kemudian merunut balik ke jalur yang akan mengarahkan ke tujuan tersebut (Giarattano dan Riley, 1994). Runut balik disebut juga sebagai goal-driven reasoning, merupakan cara yang efisien untuk memecahkan masalah yang dimodelkan sebagai masalah pemilihan terstruktur.
14
Tujuan inferensi adalah mengambil pilihan terbaik dari banyak kemungkinan. Metode inferensi runut balik ini cocok digunakan untuk memecahkan masalah diagnosis.(Schnupp, 1989) Penelusuran didasarkan pada suatu keyakinan bahwa ada kemungkinan konklusi dari daftar konklusi merupakan salah satu tujuan atau konklusi terpilih berdasarkan fakta yang diberikan oleh user. Sistem dengan urutan tertentu akan mengambil sebuah konklusi sebagai calon konklusinya. Proses diawali dari Goal (yang berada dibagian THEN dari rule IF-THEN), kemudian pencarian mulai dijalankan untuk mencocokkan apakah fakta-fakta yang ada cocok dengan premis-premis dibagian IF. Jika cocok, rule dieksekusi, kemudian hipotesis dibagian THEN ditempatkan di basis data sebagai fakta baru. Jika tidak cocok, simpan premis dibagian IF ke dalam stack sebagai subGoal. Proses berakhir jika GOAL ditemukan atau tidak ada rule yang bisa membuktikan kebenaran dari subGoal atau Goal. Tujuan IF (kondisi)
Gambar 2.2 Backward Chaining (Fahmi, 2009)
15
c. Antarmuka Pemakai (User Interface) Antarmuka Pemakai merupakan mekanisme yang digunakan oleh pengguna dan sistem untuk berkomunikasi. Antarmuka 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. Pada bagian ini terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi (output) kepada pemakai. 2.2.4 Representasi Pengetahuan Pengetahuan yang diperoleh dari pakar atau dari sekumpulan data harus dipresentasikan dengan format yang dapat dipahami oleh manusia dan dapat dieksekusi pada komputer. Menurut Natalia (2006), representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu data dengan data lainnya. Representasi pengetahuan merupakan metode yang digunakan untuk mengkodekan pengetahuan dalam sebuah sistem pakar. Representasi dimaksudkan untuk menangkap sifat-sifat penting masalah dan membuat informasi itu dapat di akses oleh prosedur pemecahan masalah. Adapun karakteristik dari metode representasi pengetahuan adalah : 1.
Harus bisa diprogram dengan bahasa bahasa pemrograman atau dengan shells dan hasilnya disimpan dalam memori.
2.
Dirancang sedemikian sehingga isinya dapat digunakan untuk proses penalaran.
3.
Model representasi pengetahuan merupakan sebuah struktur data yang dapat dimanipulasi oleh mesin inferensi dan pencarian untuk aktivitas pencocokan pola.
16
Dalam sistem pakar ada beberapa metode representasi pengetahuan. Jika pengetahuan yang besifat deklaratif, maka metode representasi pengetahuan yang cocok adalah jaringan semantik, frame dan logika predikat. Tetapi jika pengetahuannya berupa pengetahuan prosedural yang merepresentasikan aksi dan prosedur, maka metode representasi pengetahuan yang cocok adalah kaidah produksi.Seperti pada aplikasi yang akan di bangun menggunakan metode representasi pengetahuan kaidah produksi. 2.2.5 Kaidah Produksi Menurut Hanifah (1998), Kaidah produksi dituliskan dalam bentuk jika-maka (ifthen). Kaidah produksi if-then menghubungkan antesenden dengan konsekuensi yang diakibatkannya. Berikut berbagai struktur kaidah if-then yang menghubungkan objek atau atribut lain : IF IF IF IF IF IF IF IF
premis masukan kondisi antesenden data tindakan sebab gejala
THEN THEN THEN THEN THEN THEN THEN THEN
konklusi keluaran tindakan konsekuen hasil tujuan akibat diagnosa
Premis mengacu pada fakta yang harus benar sebelum konklusi tertentu dapat diperoleh. Masukan mengacu pada data yang harus tersedia sebelum keluaran dapat diperoleh. Kondisi mengacu pada keadaan yang harus berlaku sebelum tindakan dapat di ambil. Antesenden mengacu pada situasi yang harus dilakukan sebelum hasil dapat diharapkan. Tindakan mengacu pada kegiatan yang harus dilakukan sebelum hasil dapat diharapkan.
17
2.3 Faktor Kepastian (Certainty Factor) 2.3.1 Pengertian Certainty Factor Dalam menghadapi suatu masalah sering ditemukan jawaban yang tidak memiliki kepastian penuh. Ketidakpastian ini bisa berupa probabilitas atau kebolehjadian yang tergantung dari hasil suatu kejadian. Hasil yang tidak pasti disebabkan oleh dua faktor yaitu aturan yang tidak pasti dan jawaban pengguna yang tidak pasti atas suatu pertanyaan yang diajukan oleh sistem. Ada tiga penyebab ketidakpastian aturan yaitu aturan tunggal, penyelesaian konflik dan ketidakcocokan (incompatibility) antar konskuen dalam aturan. Aturan tunggal yang dapat menyebabkan ketidakpastian dipengaruhi oleh tiga hal, yaitu kesalahan, probabilitas dan kombinasi gejala (evidence). Kesalahan dapat terjadi karena (Kusrini, 2006) yaitu sebagai berikut : 1. Ambiguitas, sesuatu didefinisikan dengan lebih dari satu cara, 2. Ketidaklengkapan data 3. Kesalahan informasi 4. Ketidakpercayaan terhadap suatu alat 5. Adanya bias Faktor kepastian (Certanty Factor) diperkenalkan oleh Shortliffe Buchanan dalam pembuatan MYCIN (Wesley, 1984), Certainty Factor (CF) merupakan nilai parameter klinis yang diberikan MYCIN untuk menunjukkan besarnya kepercayaan. Certainty factor didefinisikan sebagai berikut (Giarattano dan Riley, 1994) : CF(H, E) = MB(H, E) – MD(H, E)
18
Keterangan: CF(H, E) : certainty factor dari hipotesis H yang dipengaruhi oleh gejala (evidence) E. Besarnya CF berkisar antara -1 sampai dengan 1. Nilai -1 menunjukkan kepercayaan mutlak. MB(H, E) : ukuran kenaikan kepercayaan (measure of increased belief) terhadap hipotesis H yang dipengaruhi oleh gejala E. MD(H,E) : ukuran kenaikan ketidakpercayaan (measure of increased disbelief) terhadap hipotesis H yang dipengaruhi oleh gejala E. Suatu sistem pakar seringkali memiliki kaidah lebih dari satu dan terdiri dari beberapa premis yang dihubungkan dengan AND atau OR. Pengetahuan mengenai premis dapat juga tidak pasti, hal ini dikarenakan besarnya nilai (value) CF yang diberikan oleh pasien saat menjawab pertanyaan sistem atas premis (gejala) yang dialami pasien atau dapat juga dari nilai CF hipotesa. Nilai certainty factor ada dua, yaitu : 1.
Nilai certainty factor kaidah yang nilainya melekat pada suatu kaidah/ rule tertentu dan besarnya nilai diberikan oleh pakar.
2.
Nilai certainty factor yang diberikan oleh pengguna untuk mewakili derajat kepastian/keyakinan atas premis (misalnya gejala, kondisi, ciri) yang dialami pengguna. Pada Aplikasi Diagnosa Penyakit Dalam ini besarnya nilai Certaity Factor
diberikan oleh pakar yang nilainya melekat pada suatu kaidah tertentu.
19
2.3.2 Kelebihan dan Kekurangan Metode Certainty Factor Kelebihan metode Certainty Factor (Kusrini, 2008) : 1.
Metode ini cocok dipakai dalam sistem pakar untuk mengukur sesuatu apakah pasti atau tidak pasti dalam mendiagnosa penyakit sebagai salah satu contohnya.
2.
Perhitungan dengan menggunakan metode ini dalam sekali hitung hanya dapat mengolah dua data saja sehingga keakuratan data dapat terjaga. Kekurangan metode Certainty Factor (Kusrini, 2008):
1.
Ide umum dari pemodelan ketidakpastian manusia dengan menggunakan numerik metode certainty factor biasanya diperdebatkan. Sebagian orang akan membantah pendapat bahwa formula untuk metode certainty factor diatas memiliki sedikit kebenaran.
2.
Metode ini hanya mengolah ketidakpastian/kepastian hanya dua data saja. Perlu dilakukan beberapa kali pengolahan data untuk data yang lebih dari dua buah.
3.
Nilai CF yang diberikan bersifat subyektif karena penilaian setiap pakar bisa saja berbeda-beda tergantung pengetahuan dan pengalaman pakar.
2.3.3 Perhitungan Certainty Factor Berikut ini perhitungan CF dihitung dari kombinasi beberapa hipotesis, jika h1 dan h2 adalah hipotesis maka : MB[h1 ∧ h2,e] = min(MB[h1,e],MB[h2,e]) MB[h1 ∨ h2,e] = max(MB[h1,e],MB[h2,e]) MD[h1 ∧ h2,e] = min(MD[h1,e],MD[h2,e]) MD[h1 ∨ h2,e] = max(MD[h1,e],MD[h2,e]) CF[h1 ∧ h2,e] = MB[h1 ∧ h2,e] - MD[h1 ∧ h2,e] CF[h1 ∨ h2,e] = MB[h1 ∨ h2,e] - MD[h1 ∨ h2,e]
20
Untuk menghitung nilai CF digunakan rumus : CF = MB – MD Dimana : CF = Certainty Factor MB = Nilai kepercayaan pakar(Meansure Believe) MD = Nilai ketidak percayaan pakar(Meansure Disbelieve) Sedangkan untuk nilai CF dari suatu rule digunakan rumus : 1. Gabungan “Dan” CF = Min(MB[E1,H1]; MB[E1,H2]) - Min(MD[E1,H1]; MD[E1,H2]) 2. Gabungan “Atau” CF = Max(MB[E1,H1]; MB[E1,H2]) - Max(MD[E1,H1]; MD[E1,H2]) Tabel 2.1 Cara Menentukan Nilai Certainty Factor MD/MB
Certain Term
0 - 0.2 0.2 - 0.4 0.4 - 0.6 0.6 - 0.8 0.8 -1.0
Tidak Tahu/Tidak Ada Mungkin Kemungkinan Besar Hampir Pasti Pasti
Contoh 1: Misal suatu observasi memberikan kepercayaan terhadap h1 dengan MB[h1,e] = 0,5 dan MD[h1,e] = 0,2 maka : CF[h1,e] = 0,5 – 0,2 = 0,3 Jika observasi tersebut juga memberikan kepercayaan terhadap h2 dengan MB[h2,e] = 0,8 dan MD[h2,e]=0,1, maka : CF[h2,e] = 0,8 – 0,1= 0,7
21
Untuk mencari CF[h1 ∧ h2,e] diperoleh dari : MB[h1 ∧ h2,e] = min (0,5 ; 0,8) = 0,5 MD[h1 ∧ h2,e] = min (0,2 ; 0,1) = 0,1 CF[h1 ∧ h2,e] = 0,5 – 0,1 = 0,4 Untuk mencari CF[h1∨ h2,e] diperoleh dari : MB[h1 ∨ h2,e] = max (0,5 ; 0,8) = 0,8 MD[h1∨ h2,e] = max (0,2 ; 0,1) = 0,2 CF[h1 ∨ h2,e] = 0,8 – 0,2 = 0,6 Kesimpulan dari hasil perhitungan diatas yaitu semula faktor kepercayaan terhadap h1 adalah 0,3. Demikian pula faktor kepercayaan terhadap h2 adalah 0,7. Dengan adanya gejala yang sama mempengaruhi 2 hipotesis kepercayaan : 1. CF[h1 ∧ h2,e] = 0,5 – 0,1 = 0,4 2. CF[h1∨ h2,e] = 0,8 – 0,2 = 0,6 Contoh 2: Diketahui: IF Bintik THEN Cacar , MB = 0,80 dan MD = 0,01 maka CF[cacar,bintik] = 0,80 – 0,01 = 0,79 Jika observasi tersebut juga diketahui : IF Bintik THEN Alergi , MB = 0,4 dan MD =0,3 maka CF[alergi,bintik] = 0,4 – 0,3 = 0,1
yang berbeda ini memberikan faktor
22
Untuk mencari CF[cacar ∧ alergi, bintik] diperoleh dari : MB[cacar ∧ alergi,bintik] = min (0,8 ; 0,4) = 0,4 MD[cacar ∧ alergi,bintik] = min (0,01 ; 0,3) = 0,01 CF[cacar ∧ alergi,bintik] = 0,4 – 0,01 = 0,39 Untuk mencari CF[cacar ∨ alergi, bintik] diperoleh dari MB[cacar ∨ alergi,bintik] = max (0,8 ; 0,4) = 0,8 MD[cacar ∨ alergi,bintik] = max (0,01 ; 0,3) = 0,3 CF[cacar ∨ alergi,bintik] = 0,8 – 0,3 = 0,5 Kesimpulan : Semula faktor kepercayaan bahwa Pasien terkena cacar dari gejala munculnya bintik-bintik di wajahnya adalah 0,79. Demikian pula faktor kepercayaan bahwa Pasien terkena alergi dari gejala munculnya bintik-bintik di wajah adalah 0,1. Dengan adanya gejala yang sama mempengaruhi 2 hipotesis yang berbeda ini memberikan faktor kepercayaan : -
Pasien menderita cacar dan alergi = 0,39
-
Pasien menderita cacar atau alergi = 0,5
2.4 Alat Bantu Perancangan Sistem Tiga alasan yang menyebabkan sebaiknya dilakukan pemodelan sistem, yaitu : 1.
Dapat melakukan perhatian pada hal-hal penting dalam sistem tanpa mesti terlibat terlalu jauh.
2.
Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan resiko dan biaya minimal.
3.
Menguji pengertian penganalisa sistem terhadap kebutuhan pemakai dan membantu pendesain sistem dan pemrogram membangun sistem.
23
Tetapi ada banyak bentuk model yang digunakan dalam perancangan sistem antara lain model narasi, model prototype, model grafis, dan lain-lain. Dalam hal ini tidak jadi masalah model mana yang akan digunakan, yang jelas harus mampu merepresentasikan visualisasi bentuk sistem yang diinginkan pemakai, karena sistem akhir yang akan dibuat bagi pemakai akan diturunkan dari model tersebut. Perangkat yang digunakan untuk memodelkan suatu sistem diantaranya, yaitu : 2.4.1 Diagram Konteks (Context Diagram) Context Diagram merupakan kejadian tersendiri dari suatu diagram aliran data. Dimana satu lingkaran merepresentasikan seluruh sistem. Context diagram ini harus berupa satu pandangan, yang mencakup masukan-masukan dasar, sistem-sistem dan keluaran. Context Diagram merupakan tingkatan tertinggi dalam diagram aliran data dan hanya memuat satu proses, menunjukan sistem secara keseluruhan. Proses tersebut diberi nomor nol. Semua entitas eksternal yang ditunjukkan, pada diagram konteks berikut aliran data-aliran data utama menuju dan dari sistem. Diagram tersebut tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan, begitu entitas-entitas eksternal serta aliran data-aliran data menuju dan dari sistem diketahui penganalisis dari wawancara dengan user dan sebagai hasil analisis dokumen. Context Diagram menggarisbawahi sejumlah karakteristik penting dari suatu sistem : 1.
Kelompok pemakai, organisasi, atau sistem lain dimana sistem kita melakukan komunikasi yang disebut juga sebagai terminator.
2.
Data dimana sistem kita menerima dari lingkungan dan harus diproses dengan cara tertentu.
3.
Data yang dihasilkan sistem kita dan diberikan ke dunia luar.
24
4.
Penyimpanan data yang digunakan secara bersama antara sistem kita dengan terminator. Data ini dibuat oleh sistem dan digunakan oleh lingkungan atau sebaliknya, dibuat oleh lingkungan dan digunakan sistem oleh kita.
5.
Batasan antara sistem kita dan lingkungan. Context Diagram dimulai dengan penggambaran terminator, aliran data, aliran
kontrol penyimpanan, dan proses tunggal yang menunjukkan keseluruhan sistem. Bagian termudah yaitu menetapkan proses (yang hanya terdiri dari satu lingkaran) dan diberi nama yang mewakili sistem. Terminator ditunjukkan dalam bentuk persegi panjang dan berkomunikasi langsung dengan sistem melalui aliran data atau penyimpanan eksternal. Antar terminator tidak diperbolehkan komunikasi langsung. Pada kenyataannya hubungan antar terminator dilakukan, tetapi secara definitif karena terminator merupakan bagian dari lingkungan, maka tidak relevan jika dibahas dalam konteks diagram.
Simbol
Tabel 2.2 Simbol-simbol Context Diagram Arti Contoh Terminator Aliran data/Data Flow
Proses/process Atau
Mahasiswa
Informasi mahasiswa baru
Membuat record mahasiswa
Context Diagram memiliki aturan sebagai berikut: a. Jika banyak terminator yang mempunyai banyak masukan dan keluaran diperbolehkan untuk digambarkan lebih dari satu kali sehingga mencegah penggambaran yang terlalu rumit, dengan ditandai secara khusus untuk
25
menjelaskan bahwa terminator yang dimaksud adalah identik. Tanda tersebut dapat berupa asterik (*) atau pagar (#). b. Jika terminator mewakili individu sebaiknya diwakili oleh peran yang dimainkan personil tersebut. Alasan pertama yaitu personil yang berfungsi untuk melakukan itu dapat berganti sedang Context Diagram harus tetap akurat walaupun personil berganti. Alasan kedua yaitu seorang personil dapat memainkan lebih dari satu peran. c. Karena fokus utama yaitu mengembangkan model, maka penting untuk membedakan sumber (resource) dan pelaku (handler). Pelaku merupakan mekanisme, perangkat atau media fisik yang mentransportasikan data ke/dari sistem, karena pelaku sering kali familier dengan pemakai dalam implementasi sistem berjalan, maka sering menonjol sebagai sesuatu yang harus digambarkan lebih dari sumber data itu sendiri. Sedangkan sistem baru dengan konsep pengembangan teknologinya membuat pelaku menjadi sesuatu yang tidak perlu digambarkan. 2.4.2 Data Flow Diagram (DFD) Data Flow Diagram (DFD) merupakan alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun pembuat program. Pada umumnya DFD digunakan untuk merancang sistem yang menggunakan data store dalam mengelola informasi dalam sistem. Komponen DFD, menurut Yourdan dan DeMarco yaitu sebagai berikut :
26
Tabel 2.3 Komponen pada DFD (Uriawan, 2010) Simbol
Keterangan Entitas Luar/Terminator Proses Aliran Data (Data Flow) Penyimpan Data (Data Store)
Keterangan : a.
Entitas Luar : kesatuan diluar sistem yang akan memberikan input atau menerima output dari sistem dapat berupa orang atau organisasi sumber informasi lain atau penerima akhir dari suatu laporan.
b. Proses adalah tranformasi input menjadi output, merupakan kegiatan atau pekerjaan yang dilakukan oleh orang atau mesin komputer, dimana aliran data masuk ditransformasikan ke aliran data keluar. Penamaannya sesuai dengan proses yang sedang dilakukan. Ada beberapa hal yang perlu diperhatikan tentang proses : 1. Proses harus memiliki input dan output. 2. Proses dapat dihubungkan dengan komponen entitas luar, data store atau proses melalui alur data. 3. Sistem/bagian/devisi/departemen yang sedang dianalisis oleh profesional sistem digambarkan dengan komponen proses.
27
c.
Aliran data/arus data digunakan untuk menjelaskan perpindahan data atau paket data dari satu bagian ke bagian lain. Aliran data dapat berbentuk sebagai berikut : 1. Formulir atau dokumen yang digunakan perusahaan 2. Laporan tercetak yang dihasilkan sistem 3. Output dilayar komputer 4. Masukan untuk komputer 5. Komunikasi ucapan 6. Surat atau memo 7. Data yang dibaca atau direkam di file 8. Suatu isian yang dicatat pada buku agenda 9. Transmisi data dari suatu komputer ke komputer lain Catatan : aliran data tidak dalam bentuk kalimat
d. Konsep arus data : 1.
Packet of Data (Paket Data), bila dua data mengalir dari suatu sumber yang sama menuju ke tujuan yang sama, maka harus dianggap sebagai suatu arus data yang tunggal.
2.
Diverging Data Flow (Arus Data Menyebar), arus data yang data menyebar menunjukan sejumlah tembusan dari arus data yang sama dari sumber sama ke tujuan berbeda.
3.
Convergen Data Flow (Arus Data Mengumpul), arus data yang mengumpul yaitu arus data yang berbeda dari sumber yang berbeda mengumpul ke tujuan yang sama.
28
4.
Sumber dan Tujuan, arus data harus dihubungkan pada proses, baik dari maupun yang menuju proses.
e.
Penyimpanan data (Data Store) adalah komponen untuk membuat model sekumpulan data, dapat berupa suatu file atau suatu sistem database dari suatu komputer, suatu arsip/dokumen, suatu agenda/buku. Yang perlu diperhatikan tentang data store : 1. Alur data dari proses menuju data store, hal ini berarti data store berfungsi sebagai tujuan/tempat penyimpanan dari suatu proses (proses white). 2. Alur data dari data store ke proses, hal ini berarti data store berfungsi sebagai sumber/proses yang memerlukan data (proses read). 3. Alur data dari proses menuju data store dan sebaliknya berarti berfungsi sebagai sumber dan tujuan.
2.4.3 Entity Relationship Diagram (ERD) Etity Relationship Diagram atau ER-D adalah suatu model jaringan yang menggambarkan layout (susunan) penyimpanan data dari sebuah sistem ER-Diagram yang menggambarkan data-data dalam keadaan diam (data yang disimpan). Komponenkomponen ERD : 1. Entity adalah segala sesuatu yang dapat dijelaskan dengan data kelompok benda atau obyek diberi nama dengan kata benda. 2. Relationship merupakan suatu asosiasi antar satu atau beberapa entity, diberi nama dengan kata benda. 3. Atribut merupakan property atau karakteristik suatu entity relationship. Simbol-simbol dalam Entity Relationship yaitu sebagai berikut :
29
Tabel 2.4 Simbol-simbol ERD (Jogiyanto, 2001) No
Simbol
Nama
Keterangan
Entity
Obyek yang exist dan dapat dibedakan dari obyek lainnya atau suatu kegiatan dengan organisai
1.
2. Relasi 3. Atribut 4. Link (penghubung)
Hubungan yang terjadi antara dua entity atau lebih yang dianggap penting serta harus memelihara dan menyajikan informasi Karakteristik dari entity atau relationship yang menyediakan penjelasan detail tentang entity atau relationship Penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya.
2.4.4 Kardinalitas Menurut Al-Bahra (2005) Kardinalitas Relasi menunjukkan jumlah maksimum tupel yang dapat berelasi dengan entitas pada entitas yang lain. Jenis-jenis relationship dengan kardinalitas relasi dan atribut-atributnya (Husni dan Kusnanriyanto, 1997) : 1.
One to one (satu ke satu) One to one adalah hubungan yang menggambarkan bahwa key suatu entitas hanya memiliki satu atribut yang berhubungan dengan satu atribut yang lain pada entity tersebut. Contoh :
1 Direktur Utama
1
1 Bawahi
General Manager
Gambar 2.3 Cardinality One to One (Husni dan Kusnanriyanto, 1997)
30
2.
One to Many (Satu ke banyak) One to many adalah hubungan yang menggambarkan bahwa key suatu entitas memiliki banyak kegiatan entitas lain Contoh : General Manager
1
punya
M
Manager
Gambar 2.4 Cardinality One to Many (Husni dan Kusnanriyanto, 1997) 3.
Many to Many (Banyak ke banyak) Many to Many adalah hubungan yang menggambarkan bahwa key suatu entitas memiliki banyak kegiatan entitas lain. Contoh : Manager
M
milik
M
Staff
Gambar 2.5 Cardinality Many to Many (Husni dan Kusnanriyanto, 1997) 2.4.5 Bagan Alir (Flowchart) Menurut Jogiyanto (2004) Bagan Alir (Flowchart) adalah bagan (chart) yang menunjukkan alir (flow) di dalam program atau prosedur sistem secara logika. Bagan alir sistem merupakan bagan yang menunjukkan arus kegiatan dari keseluruhan sistem. Bagan ini menjelaskan urutan-urutan dari prosedur-prosedur yang ada dalam sistem. Simbol-simbol yang digunakan dalam Bagan Alir Sistem yaitu sebagai berikut :
No.
Simbol
Tabel 2.5 Simbol-simbol Flowchart Nama Keterangan
1. Dokumen
Menunjukkan dokumen input dan output baik untuk proses manual, mekanik atau komputer.
Kerja manual
Menunjukkan pekerjaan manual
2.
31
Tabel 2.5 Simbol-simbol Flowchart (Lanjutan) No.
Simbol
Nama
Keterangan
3.
Menunjukkan kegiatan proses operasi program komputer
Proses 4. Offline storage
File non komputer yang diartikan urut tunggal
Discette storage
Input atau output yang menggunakan disket
5.
8. Keyboard
Menunjukkan input yang menggunakan online keyboard
9. Garis alir
10. Connector
Menunjukkan arus dari proses
Menunjukkan penghubung ke halaman yang masih sama atau ke halaman lain
2.4.6 Kamus Data Menurut Jogiyanto (2004) kamus data adalah katalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Kamus data merupakan keterangan dari pembuatan model sistem DFD (Data Flow Diagram). Tujuannya adalah untuk memberikan informasi mengenai definisi struktur, pemakai dari masing-masing elemen yaitu unit data yang terkecil. Notasi-notasi pada kamus data : Tabel 2.6 Data Dictionary (Mahyuzir,1989) No.
Notasi
Keterangan
1.
=
Terdiri dari
2.
+
Dan
3.
[.....]
Pilih salah satu
32
Tabel 2.6 Data Dictionary (Mahyuzir,1989)(Lanjutan) No.
Notasi
Keterangan
4.
{.....}
Perulangan
5.
*.....*
Komentar
6.
Alias
Nama lain
7.
@
Penunjuk Key Field
8.
(.....)
Pilihan/boleh ada boleh tidak
9.
|
Pemisah diantara [ ]
2.5 Pengujian Perangkat Lunak Meningkatnya visibilitas perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pengujian perangkat lunak merupakan elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean. Terdapat beberapa aturan yang berfungsi sebagai sasaran pengujian (Pressman, 2002): a.
Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
b.
Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum ditemukan sebelumnya.
c.
Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Metode yang digunakan untuk testing pada program yang dikerjakan yaitu Black
Box. Pengujian Black-box berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian pengujian black-box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box bukan merupakan alternatif dari teknik white-
33
box, tetapi merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkap kelas kesalahan dari pada metode white-box. Pengujian Black-box berusaha menemukan kesalahan dalam kategori sebagai berikut (Pressman, 2002) : a. Fungsi-fungsi yang tidak benar atau hilang. b. Kesalahan interface. c. Kesalahan dalam struktur data atau akses database eksternal. d. Kesalahan kinerja. e. Inisialisasi dan kesalahan terminasi. 2.6 PHP (Personal Home Page) PHP adalah bahasa server-side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena PHP merupakan server-side scripting maka sintaks dan perintah-perintah PHP akan dieksekusi di server kemudian hasilnya dikirimkan ke browser dalam format HTML. (Arief, 2011) PHP dikembangkan pertama kali pada tahun 1995 oleh Rasmus Lerdorf yang merupakan anggota group Apache, dan pertama kali di desain sebagai alat tracking pengunjung website Lerdorf. PHP dikembangkan sepenuhnya untuk bahasa script side server programming serta bersifat open source sehingga dapat dikembangkan oleh siapa saja lalu digabungkan dengan berbagai server yang berbeda-beda platform. Salah satu keunggulan yang dimiliki oleh PHP adalah kemampuannya untuk melakukan koneksi ke berbagai macam software sistem manajemen basis data/Database Management System (DBMS), sehingga dapat menciptakan suatu halaman web yang dinamis.PHP mempunyai koneksitas yang baik dengan beberapa DBMS antara lain Oracle,
34
Sybase, mSQL, mySQL, Microsoft SQL Server, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tak terkecuali semua database ber-interface ODBC. Beberapa kelebihan PHP, diantaranya adalah sebagai berikut : 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya. 2. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, lighttpd, nginx, hingga xitami dengan konfigurasi yang relatif mudah. 3. Dalam
sisi
pengembangan
lebih
mudah,
karena
banyaknya milis-milis
dan developer yang siap membantu dalam pengembangan. 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. 5. PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. 2.6.1 Struktur Kendali Struktur kendali merupakan pengatur aliran program, mempunyai rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan (Arief, 2011), yaitu : a. Mengulang suatu perintah jika suatu kondisi terpenuhi. b. Melanjutkan sebuah pernyataan bila kondisi terpenuhi. c. Memilih sebuah pilihan dari beberapa alternatif bila kondisi terpenuhi. Struktur kendali dapat dibagi menjadi dua jenis, yaitu struktur kendali percabangan (pengambilan keputusan) dan struktur kendali pengulangan (looping).
35
1.
Struktur kendali percabangan Struktur kendali percabangan (pengambilan keputusan) adalah struktur kendali yang berfungsi untuk melakukan pemilihan atas perintah yang akan dijalankan sesuai dengan kondisi tertentu. Ada empat perintah percabangan dalam PHP, yaitu if, if ... else , if ... elseif, dan switch. a.
Perintah IF Perintah IF digunakan untuk menjalankan satu atau lebih perintah berdasarkan suatu kondisi. Sintaks penulisan perintah IF yaitu sebagai berikut :
b.
IF (kondisi) { Pernyataan benar } Perintah IF-ELSE
yang
akan
dijalankan
apabila
kondisi
Perintah IF-ELSE digunakan untuk memilih salah satu pernyatan berdasarkan suatu kondisi. Perintah ini akan menjalankan pernyataan tertentu bila kondisi bernilai benar dan akan menjalankan pernyataan yang lain jika kondisi bernilai salah. Sintaks dan penulisannya yaitu sebagai berikut : IF (kondisi) { Pernyataan_1 } ELSE { Pernyataan_2 } c.
Perintah IF- ELSEIF Perintah IF-ELSEIF digunakan untuk menjalankan suatu pernyataan dengan melibatkan lebih dari satu kondisi. Sintaks penulisannya sebagai berikut :
36
IF (kondisi_1) { Pernyataan_1 } ELSEIF (kondisi_2) { Pernyataan_2 } ELSE { Pernyataan_3 } d.
Perintah Switch Perintah switch digunakan sebagai alternatif pengganti dari perintah if ... elseif. Dengan perintah ini program percabangan akan lebih mudah dibuat dan dipelajari. Sintaks penulisan switch yaitu sebagai berikut : switch (kondisi) { case konstanta_1: pernyataan_1; break; base konstanta_2: pernyataan_2; break; default: pernyataan_3; } Perintah switch akan menyeleksi kondisi yang diberikan dan membandingkan hasilnya dengan konstanta-konstanta yang berada pada case. Pembandingan akan dimulai dari konstanta_1 sampai konstanta terakhir.
2.
Struktur Kendali Pengulangan Struktur kendali pengulangan digunakan untuk mengulang suatu perintah sebanyak yang diinginkan. Ada tiga jenis perintah pengulangan dalam PHP, yaitu FOR, WHILE, dan DO-WHILE.
37
a.
Perintah FOR Perintah FOR digunakan untuk mengulangi suatu perintah dengan jumlah pengulangan yang sudah diketahui. Pada perintah ini tidak perlu menuliskan suatu kondisi untuk diuji. Kita hanya perlu menuliskan nilai awal dan akhir variabel penghitung. Nilai variabel penghitung akan secara otomatis bertambah atau berkurang tiap kali sebuah pengulangan dilaksanakan. Sintaks penulisan perintah FOR yaitu sebagai berikut :
b.
FOR (nilai_awal; nilai_akhir; penambahan/pengurangan) { Pernyataan yang dijalankan } Perintah WHILE Perintah WHILE digunakan untuk mengulangi suatu perintah sampai jumlah yang bisa ditentukan. Pengulangan akan terus berjalan selama kondisi masih bernilai benar. Sintaks penulisan perintah WHILE yaitu sebagai berikut :
c.
WHILE (kondisi) { Pernyataan yang akan dijalankan } Perintah DO-WHILE Dengan perintah DO-WHILE, proses pengulangan akan terus dikerjakan jika kondisi yang diperiksa di WHILE masih bernilai benar. Proses pengulangan akan dihentikan jika kondisi sudah bernilai salah. Sintaks penulisannya sebagai berikut: DO { Pernyataan yang dijalankan } WHILE (kondisi); Perbedaan antara perintah WHILE dan DO-WHILE adalah letak dari kondisi
yang diperiksa. Pada perintah WHILE, kondisi yang diperiksa terletak di awal perulangan, sehingga sebelum masuk ke dalam perulangan WHILE kondisi harus
38
bernilai benar. Sedangkan pada perintah DO-WHILE, kondisi diperiksa di akhir perulangan. Ini berarti paling sedikit sebuah perulangan akan dilakukan oleh DOWHILE, karena untuk masuk ke perulangan tidak ada kondisi yang harus dipenuhi. 2.7 MySQL MySQL adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengelolaan datanya. Kepopuleran MySQL antara lain karena MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses database-nya sehingga mudah untuk digunakan, kinerja query cepat, dan mencukupi untuk kebutuhan database perusahaanperusahaan skala menengah-kecil. MySQL juga bersifat open source dan free pada berbagai platform. (Arief,2011) MySQL merupakan database yang pertama kali di dukung oleh bahasa pemrograman script untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software pengembangan aplikasi web yang ideal. MySQL adalah salah satu software database relational (Relational Database Management System atau RDBMS) seperti Oracle, PostgreSQL, MSSQL, dan lain-lain yang mendukung multi threading dan multi user serta telah diinstalasi pada 11 juta komputer di dunia. Berdasarkan riset dinyatakan bahwa di platform web baik untuk kategori open source maupun umum, MySQL adalah datebase yang paling banyak dipakai. MySQL merupakan sistem database yang banyak digunakan untuk pengembangan aplikasi web. Alasannya karena gratis, pengelolaan datanya sederhana, memiliki tingkat keamanan yang bagus, mudah diperoleh, dan lain-lain. (Raharjo,2010) Beberapa keistimewaan yang dimiliki MySQL yaitu sebagai berikut :
39
1.
Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, dan masih banyak lagi.
2.
Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, di bawah lisensi GPL sehingga dapat digunakan secara gratis
3.
Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Performance tuning. MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu
5.
Ragam tipe data. MySQL memiliki tipe ragam data yang sangat kaya, seperti signed/unsigned integer, float,double,char, text, date, timestamp, dan lain-lain.
6.
Perintah dan fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan where dalam perintah (query).
7.
Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
8.
Skabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (record) 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.
Konektivitas. MySQL dapat melakukan koneksi dengan klient menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).
40
10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klient dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klient dan peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan basis data lainnya. MySQL memiliki beberapa tipe data, berikut ini tabel yang dapat digunakan untuk field-field tabel pada database MySQL.
Tipe Data
Tabel 2.7 Tipe Data MySQL (Arief,2011) Ukuran Keterangan
TINYINT
1 byte
Nilai integer yang sangat kecil
SMALLINT
2 bytes
Nilai integer yang kecil
MEDIUMINT
3 bytes
Integer dengan niali medium
INT
4 bytes
Integer dengan nilai standar
BIGINT
8 bytes
Integer dengan nilai besar
FLOAT
4 bytes
Bilangan
desimal
dengan
single-
desimal
dengan
double-
precission DOUBLE
8 bytes
Bilangan precission
DECIMAL (M,D)
M bytes (D+2, if M < Bilangan float (desimal) yang dinyatakan D)
CHAR (M)
sebagai string
M bytes, 1 <= M <= String karakter dengan panjang yang 255
tetap
41
Tipe Data VARCHAR (M)
TINYBLOB
Tabel 2.7 Tipe Data MySQL (Arief,2011)(Lanjutan) Ukuran Keterangan L+1 bytes, L <= M String karakter dengan panjang yang and 1 <= M <= 255
tidak tetap
L+1 bytes, L < 2ˆ8
BLOB (Binary Large Object) yang sangat kecil
BLOB
L+1 bytes, L < 2ˆ16
BLOB berukuran kecil
MEDIUMBLOB
L+1 bytes, L < 2ˆ24
BLOB berukuran sedang
LONGBLOB
L+1 bytes, L < 2ˆ32
BLOB berukuran besar
TINYTEXT
L+1 bytes, L < 2ˆ8
String teks yang sangat kecil
TEXT
L+1 bytes, L < 2ˆ16
String text berukuran kecil
MEDIUMTEXT
L+1 bytes, L < 2ˆ24
String text berukuran sedang
LONGTEXT
L+1 bytes, L < 2ˆ32
String text berukuran besar
ENUM(‘v1’,’v2’, ...)
1 or 2 bytes, (65535 Enumerasi, kolom dapat diisi dengan 1 values max)
SET(‘val1’,’val2’, ...)
member enumerasi
1,2,3,4, or 8 bytes, (64 Himpunan, kolom dapat diisi dengan max)
beberapa nilai himpunan.
DATE
3 bytes
“1000-01-01” sampai “9999-12-31”
TIME
3 bytes
“-832:59:59” sampai “838:59:59”
DATETIME
8 bytes
“1000-01-01 00:00:00” sampai “999912-31 23:59:59”
TIMESTAMP
4 bytes
Range: 19700101000000 (suatu nilai tanggal pada tahun 2007)
YEAR NULL
1 bytes
1901 sampai 2155 Nilai kosong (hampa)
42
2.8 Penyakit Dalam Penyakit dalam adalah cabang dan spesialisasi kedokteran yang menangani diagnosis dan penanganan organ dalam tanpa bedah pada pasien dewasa. Ada beberapa subspesialisasi penyakit dalam yang diakui oleh American Board of Internal Medicine, yaitu : a) Kardiologi, berurusan dengan gangguan jantung dan pembuluh darah. b) Endokrinologi, berurusan dengan gangguan sistem endokrin dan sekresi spesifiknya yang disebut hormon. c) Gastroenterologi, berhubungan dengan bidang penyakit sistem pencernaan. d) Hematologi, berkaitan dengan darah, organ pembentuk dan gangguannya. e) Penyakit menular, berkaitan dengan penyakit yang disebabkan oleh agen biologis seperti virus, bakteri atau parasit. f) Onkologi medik, berurusan dengan studi dan perawatan kanker. g) Nefrologi, berurusan dengan studi fungsi dan penyakit ginjal. h) Pulmonologi, berurusan dengan penyakit paru-paru dan jalur pernafasan. i) Rematologi, tercurah ke diagnosis dan terapi penyakit rematik. Subspesialisasi penyakit tersebut kemudian dijabarkan lagi ke dalam jenis penyakit dalam yang lebih spesifik. Oleh karena banyaknya penyakit dalam yang ada, berdasarkan hasil penelitian dan wawancara yang dilakukan dengan dr. Hadi Nurhadi (2012), aplikasi ini mengambil sampel delapan jenis penyakit dalam yang sering diderita. Adapun penyakit dalam yang dibahas dalam aplikasi ini yaitu sebagai berikut : 1.
Bronkhitis Suatu peradangan pada bronkus (saluran udara ke paru-paru). Penyakit ini biasanya bersifat ringan dan pada akhirnya akan sembuh sempurna. Tetapi pada
43
penderita yang memiliki penyakit menahun (misalnya penyakit jantung atau penyakit paru-paru) dan pada usia lanjut, bronkhitis bisa bersifat serius. Penyebab Penyebab penyakit Bronkitis infeksiosa disebabkan oleh virus, bakteri dan organisme yang menyerupai bakteri (Mycoplasma pneumoniae dan Chlamydia). Serangan Bronkitis berulang bisa terjadi pada perokok dan penderita penyakit paruparu dan saluran pernafasan menahun. Infeksi berulang bisa merupakan akibat dari : 1. Sinusitis kronis. 2. Bronkiektasis. 3. Alergi. 4. Pembesaran amandel dan adenoid pada anak-anak. Sedangkan penyebab penyakit Bronkitis iritatif adalah : 1.
Berbagai jenis debu.
2.
Asap dari asam kuat, amonia, beberapa pelarut organik, klorin, hidrogen sulfida, dan bromin.
3.
Polusi udara yang menyebabkan iritasi ozon dan nitrogen dioksida.
4.
Tembakau dan rokok lainnya.
Gejala penyakit 1.
Batuk berdahak (dahaknya bisa berwarna kemerahan).
2.
Sesak nafas ketika melakukan olahraga atau aktivitas ringan.
3.
Sering menderita infeksi pernafasan (misalnya flu).
4.
Bengek.
5.
Lelah.
6.
Pembengkakan pergelangan kaki, kaki dan tungkai kiri dan kanan.
44
7.
Wajah, telapak tangan atau selaput lendir yang berwarna kemerahan.
8.
Pipi tampak kemerahan.
9.
Sakit kepala.
10. Gangguan penglihatan. Batuk juga biasanya merupakan tanda dimulainya bronkitis. Pada awalnya batuk tidak berdahak, tetapi 1-2 hari kemudian akan mengeluarkan dahak berwarna putih atau kuning. Selanjutnya dahak akan bertambah banyak, berwarna kuning atau hijau. Pada Bronkitis berat, setelah sebagian besar gejala lainnya membaik, kadang terjadi demam tinggi selama 3-5 hari dan batuk bisa menetap selama beberapa minggu. Sesak nafas terjadi jika saluran udara tersumbat. Sering ditemukan bunyi nafas mengik, terutama setelah batuk, bisa terjadi pneumonia. Pengobatan Pengobatan penyakit Bronkitis dilakukan untuk mengurangi demam dan rasa tidak enak badan. Untuk penderita dewasa bisa diberikan aspirin atau asetaminofen. 1. Penderita dianjurkan untuk beristirahat dan minum banyak cairan. 2. Antibiotik diberikan kepada penderita yang gejalanya menunjukkan bahwa penyebabnya adalah infeksi bakteri (dahaknya berwarna kuning atau hijau dan demamnya tetap tinggi) dan penderita sebelumnya memiliki penyakit paruparu. 3. Penderita diberikan trimetoprimsulfametoksazol, tetracyclin atau ampisilin. Erythromycin diberikan walaupun dicurigai penyebabnya adalah mycoplasma penumoniae.
45
2.
Batu Saluran Kemih Batu Saluran Kemih adalah batu di traktus urinarius mencakup ginjal, ureter, vesika urinaria. Batu yang terbentuk di sepanjang saluran kemih dan bisa menyebabkan nyeri, perdarahan, penyumbatan aliran kemih atau infeksi. (Soegondo dkk, 2006) BSK dapat berukuran dari sekecil pasir hingga sebesar buah anggur. Batu yang berukuran kecil biasanya tidak menimbulkan gejala dan biasanya dapat keluar bersama dengan urine ketika berkemih. Batu yang berada di saluran kemih atas (ginjal dan ureter) menimblkan kolik dan jika batu berada di saluran kemih bagian bawah (kandung kemih dan uretra) dapat menghambat buang air kecil. Batu yang menyumbat ureter, pelvis renalis maupun tubulus renalis dapat menyebabkan nyeri punggung atau kolik renalis (nyeri kolik yang hebat di daerah antara tulang rusuk dan tulang pinggang yang menjalar ke perut juga daerah kemaluan dan paha sebelah dalam). Hal ini disebabkan karena adanya respon ureter terhadap batu tersebut, dimana ureter akan berkontraksi yang dapat menimbulkan rasa nyeri kram yang hebat. Penyebab Faktor-faktor yang dapat menyebabkan terbentuknya penyakit batu ginjal antara lain : 1. Faktor kelainan metabolisme dalam tubuh terhadap zat-zat tertentu misalnya kalsium, asam urat. 2. Faktor dehidrasi yang mempengaruhi konsentrasi air kemih. 3. Faktor kelainan pada ginjal sendiri dengan gangguan aliran air kemih. 4. Faktor infeksi saluran kemih berulang kali. 5. Faktor kecenderungan timbul batu pada beberapa anggota keluarga dalam satu family dengan riwayat batu ginjal juga perlu diwaspadai.
46
Gejala klinis Sakit pinggang yang cukup hebat secara tiba-tiba dan menjalar sampai ke perut bagian depan disertai rasa mual muntah dan rasa kembung biasanya merupakan suatu tanda adanya batu ureter, kadang timbul pendarahan sewaktu buang air kecil. Keluhan ini sering hilang timbul. Tidak selalu ada keluhan saat buang air kecil, kecuali batu ureter tersebut sudah turun mendekati kandung kemih. Batu yang terdapat di dalam ginjal jarang menimbulkan keluhan dan bila batu sudah cukup besar tidak akan bisa turun ke ureter lagi. Pengobatan 1. Injeksi obat penahan sakit untuk meredakan sakit pada saat tiba-tiba timbul kolik. 2. Melakukan operasi untuk mengeluarkan batu tersebut. 3. Pengobatan dengan ESWL (Extracorporeal Shock Wave Lithotrispy) yaitu menghancurkan batu ginjal dari luar tubuh menggunakan gelombang kejut, sehingga pecahan batu dapat keluar bersama urin. Pencegahan Pencegahan umum pada penderita batu saluran kemih diantaranya dengan minim yang cukup (minum 2 liter/hari), olahraga, usahakan berat badan yang ideal, mengatur jenis makanan yang merata, terapi infeksi saluran kemih, kontrol rutin pada dokter urologi. 3.
Hepatitis A Hepatitis A adalah golongan penyakit Hepatitis yang ringan dan jarang sekali menyebabkan kematian, virus Hepatitis A (VHA=Virus Hepatitis A) penyebarannya melalui kotoran/tinja penderita yang penularannya melalui makanan dan minuman
47
yang terkontaminasi, bukan melalui aktivitas seksual atau melalui darah, selain itu akibat buruknya tingkat kebersihan. Penyakit hepatitis kadang-kadang dapat timbul sebagai komplikasi leptospirosis, sifilis, tuberculosis, toksoplasmosis, dan amebiasis, yang kesemuanya peka terhadap pengobatan khusus. Sebagai contoh, ikan atau kerang yang berasal dari kawasan air yang dicemari oleh kotoran manusia penderita. Gejala penyakit Waktu terekspos sampai terkena penyakit kira-kira 2 sampai 6 minggu. Gejala hepatitis A biasanya muncul akut, seperti gejala flu, mual, demam pusing yang terus menerus, air seni kemerahan, bagian bola mata yang putih menjadi kekuningan, dan perut sebelah kanan atas terasa sakit atau bebal. Penyakit hepatitis kadang-kadang dapat timbul sebagai komplikasi leptospirosis, sifilis, tuberculosis, toksoplasmosis, dan amebiasis, yang kesemuanya peka terhadap pengobatan khusus. Pengobatan Tidak ada terapi medis khusus untuk hepatitis A karena pasien dapat sembuh sendiri (self limiting disease). Istirahat yang cukup dan gizi yang baik akan mempercepat penyembuhan. Pembatasan aktifitas fisik atau istirahat total terutama dianjurkan bila kadar SGOT & SGPT masih di bawah 3 kali batas atas nilai normal. Pasien hanya perlu dirawat inap bila mengalami dehidrasi berat dengan kesulitan makan, kadar SGOT & SGPT > 10 kali nilai normal, menunjukkan perubahan perilaku atau kesadaran (akibat ensefalopati hepatitis fulminan), dan tidak kunjung sembuh atau selalu kambuh. Pengobatan diberikan secara suportif bukan langsung kuratif. Medikasi yang mungkin dapatdiberikan meliputi analgesik, antiemetik, vaksin, dan imunoglobin. Pencegahan baik sebelum atau setelah terpapar HAV menjadi lebih penting.
48
Pencegahan 1. Menghindari makanan dan minuman yang kotor, baik cara memasak maupun penyajiannya. Hindari makanan yang sudah berjammur dan mengandung zat pengawet. Cuci bersih sayuran dan buah yang dimakan mentah. 2. Memeperbaiki sanitasi lingkungan dan pribadi. Lakukan cuci tangan yang bersih setelah kontak dengan darah, feses dan cairan tubuh orang yang terinfeksi. 3. Mengisolasi pasien. Pencegahan khusus adalah dengan imunisasi Hepatits A. Vaksin ini menyediakan perlindungan cepat trhadap hepatitis A. 4.
Gastritis atau maag Penyakit yang menyerang lambung dikarenakan terjadi luka atau peradangan pada lambung yang menyebabkan sakit, mulas, dan perih pada perut. Penyebab Adapun penyebab dari penyakit ini dibedakan menjadi dua macam yaitu dikarenakan zat eksternal dan internal. Zat eksternal adalah zat dari luar tubuh yang dapat menyebabkan korosif atau iritasi lambung. Sedangkan zat internal adalah pengeluaran zat asam lambung yang berlebihan dan tidak teratur. Adapun gejala lain yang bisa terjadi adalah karena stres yang berkepanjangan yang dapat mengakibatkan produksi asam lambung berlebih. Penyebab zat eksternal yang menyebabkan iritasi dan infeksi yaitu alkohol, obat-obatan, infeksi bakteri atau virus, bahan korosif, dan keracunan. Penyebab zat internal yaitu sering makanan asam, pedas termasuk lada, dan kondisi psikologis stres mental dan frustasi.
49
Gejala penyakit 1. Rasa sakit atau rasa penuh di daerah ulu hati, 2. Gangguan menelan, 3. Bersendawa, 4. Perut kembung,dll. Pengobatan Tujuan pengobatan penyakit maag yaitu menghilangkan nyeri tukak, mengobati tukak, mencegah kambuh kembali dan mengurangi terjadinya komplikasi yang lebih serius. Jika melalui pemeriksaan dalam lambung pasien ditemukan adanya bakteri, maka perlu diberikan suatu antibiotik. Obat-obat yang diberikan dikelompokkan berdasarkan mekanisme kerjanya : 1. Mengurangi produksi asam lambung : ranitidine, omeprazol. 2. Menetralkan asam lambung : antasida. 3. Memberi perlindungan terhadap mukosa lambung : sukralfat. 4. Membunuh
mikroorganisme
H.
Pylori
:
klaritromisin,
amoksisilin,
metronidazol. Semuanya bisa tunggal atau kombinasi tergantung penyakit maag. Pencegahan Maag bisa disembuhkan tetapi tidak bisa sembuh total, maag adalah penyakit yang dapat kambuh apabila si penderita tidak makan teratur, terlalu banyak makan, atau sebab lain. Tetapi maag dapat dicegah, yaitu dengan cara makan teratur, makan secukupnya, cuci tangan sebelum makan dan jangan jajan sembarangan.
50
5.
Infeksi Saluran Kemih (ISK) Infeksi Saluran Kemih (ISK) adalah infeksi akibat terbentuknya koloni kuman di saluran kemih. Kuman mencapai saluran kemih melalui cara hematogen dan asending. ISK merupakan kasus yang sering terjadi dalam dunia kedokteran. Walaupun terdiri dari berbagai cairan, garam, dan produk buangan, biasanya urin tidak mengandung bakteri. Jika bakteri munuju kandung kemih atau ginjal dan berkembang biak dalam urin, terjadilah ISK. (Soegondo dkk, 2006) Penyebab Bakteri utama penyebab Infeksi Saluran Kemih adalah bakteri Escherichia coli (E.Coli) yang banyak terdapat pada tinja manusia dan biasa hidup di kolon. Wanita lebih rentan terkena ISK karena uretra wanita lebih pendek daripada uretra pria sehingga bakteri ini lebih mudah menjangkaunya. Infeksi juga dapat menimbulkan batu. Mikroorganisme lain yang bernama Klamidia dan Mikoplasma juga dapat menyebabkan ISK pada laki-laki maupun perempuan, tetapi cenderung hanya di uretra sistem reproduksi. Berbeda dengan E.coli, kedua bakteri itu dapat ditularkan secara seksual sehingga penanganannya harus bersamaan pada suami dan istri. Gejala penyakit 1. Sakit pada saat atau setelah kencing. 2. Anyang-anyangan (ingin kencing, tetapi tidak ada atu sedikit air seni yang keluar). 3. Warna air seni kental/pekat seperti air teh, kadang kemerahan bila ada darah. 4. Nyeri pada pinggang. 5. Demam atau menggigil, yang dapat menandakan infeksi telah mencapai ginjal (diiringi rasa nyeri di sisi bawah belakang rusuk, mual atau muntah).
51
Pengobatan ISK Pengobatan ISK biasanya dilakukan dokter dengan pemberian antibiotik. Pencegahan ISK 1. Perbanyak minum air. 2. Berceboklah dengan cara dari depan ke belakang untuk mencegah bakteri dari anus masuk ke vagina atau uretra. 3. Bersihkan alat vital anda sebelum berhubungan. 4. Buang air kecil setelah berhubungan seksual untuk membersihkan bakteri dari saluran kencing. 5. Jangan menahan kencing bila anda ingin buang air kecil. 6. Mandi dengan gayung/shower, tidak dengan bath tub. 6.
Leptospirosis Penyakit zoonosis yang disebabkan oleh spirokaeta patogen dari famili leptospiraceae. (Soegondo dkk, 2006) Kuman leptospira biasanya memasuki tubuh lewat luka atau lecet kulit, dan kadangkadang lewat selaput di dalam mulut, hidung dan mata. Berbagai jenis binatang bisa mengidap kuman leptospira di dalam ginjalnya seperti jenis tikus, anjing, binatang kandang dan asli, babi kandang maupun hutan, kuda, kucing dan domba. Penyampaiannya bisa terjadi setelah tersentuh air kencing hewan itu atau tubuhnya. Tanah, lumpur atau air yang dicemri air kencing hewan pun dapat menjadi sumber infeksi. Makan makanan atau minum air yang tercemar juga kadang-kadang menjadi penyebab penyampaiannya.
52
Gejala penyakit Gejala dini leptospirosis umumnya adalah demam, sakit kepala parah, nyeri otot, gerah, muntah dan mata merah. Penderita leptospirosis yang berkelanjutan akan mengalami penyakit parah, termasuk penyakit weil yakni kegagalan ginjal, sakit kuning (menguningnya kulit menandakan penyakit hati) dan perdarahan masuk ke kulit dan selaput lendir. Pembengkakan selaput otak atau meningitis dan perdarahan di paru-paru dapat terjadi. Kebanyakan penderita yang sakit parah memerlukan rawat inap dan bisa juga menyebabkan kematian. Pengobatannya Pada umumnya Leptospirosis diobati dengan antibiotika seperti doxycycline atau penicilin. Pencegahan 1. Mencuci tangan, dengan sabun sebelum makan. 2. Menjaga kebersihan lingkungan. 3. Membersihkan tempat-tempat air dan kolam renang. 4. Menghindari adanya tikus didalam rumah atau gedung. 5. Melakukan desinfeksi terhadap tempat-tempat tertentu yang tercemar oleh tikus. 6. Menyimpan makanan dan minuman dengan baik agar terhindar dari tikus. 7.
Malaria Malaria merupakan penyakit yang disebabkan oleh infeksi parasit Plasmodium falsiparum, Plasmodium vivax, Plasmodium ovale, atau Plasmodium malariae dan ditularkan melalui gigtan nyamuk anopheles. (Soegondo dkk, 2006)
53
Gejala penyakit Secara klinis, gejala dari penyakit malaria terdiri atas beberapa serangan demam dengan interval tertentu yang diselingi oleh suatu periode dimana penderita bebas sama sekali dari demam. Gejala klinis malaria antara lain sebagai berikut : 1. Badan terasa lemas dan pucat karena kekurangan darah dan berkeringat. 2. Nafsu makan menurun. 3. Mual-mual kadang-kadang diikuti muntah. 4. Sakit kepala yang berat, terus menerus, khususnya pada infeksi dengan plasmodium Falciparum. 5. Dalam keadaan menahun (kronis) gejala diatas, disertai pembesaran limpa. 6. Malaria berat, seperti gejala di atas disertai kejang-kejang dan penurunan. Pengobatan Berbeda dengan penyakit lain, malaria tidak dapat disembuhkan meskipun dapat diobati dengan untuk menghilangkan gejala-gejala penyakit. Malaria menjadi penyakit yang sangat berbahaya karena parasit dapat tinggal dalam tubuh manusia seumur hidup. Saat ini ada tiga jenis obat anti malaria, yaitu Chloroquine, Doxycyline, dan Melfoquine. Tanpa pengobatan yang tepat akan dapat mengakibatkan kematian penderita. Pengobatan harus dilakukan 24 jam sesudah terlihat adanya gejala. Pencegahan 1. Menghindari atau mengurangi gigitan nyamuk. 2. Membersihkan tempat-tempat istirahat nyamuk dan memberantas sarang nyamuk. 3. Membunuh nyamuk dewasa dengan menggunakan racun serangga seperti obat naymuk bakar, semprot, elektrik dan indoor sparying (IRS) serta fogging.
54
4. Membunuh jentik nyamuk dengan menyebarkan ikan pemakan jentik. 8.
Tetanus Suatu penyakit infeksi oleh Clostidium Tetani yang merupakan bakteri gram (+) yang mengeluarkan exotoxin. Exotoxin bekerja pada motorneuron yang menyebabkan disinhibisi inpuls motorneuron sehingga terjadi rangsangan yang berlebihan di otototot, yang kerjanya bersifat spatik. Penyakit ini timbul jika kuman masuk ke dalam tubuh melalui luka, gigitan serangga, infeksi gigi, infeksi telinga, bekas suntikan, dan pemotongan tali pusat. Dalam tubuh
kuman ini akan berkembang biak dan
menghasilkan eksotoksin antara lain tetanospasmin yang secara umum menyebabkan kekakuan, spasme dari otot bergaris. Gejala penyakit Gejala-gejala biasanya muncul dalam waktu 5-10 hari setelah terinfeksi, tetapi bisa juga timbul dalam waktu 2 hari atau 50 hri setelah terinfeksi. Gejala yang paling sering ditemukan adalah kekauan rahang. Gejala lainnya berupa gelisah, gangguan menelan, sakit kepala, demam, nyeri tenggorokan, menggigil, kejang otot dan kaku kuduk, lengan serta tungkai. Pengobatan Untuk menetralisir racun, dapat diberikan immunoglobin tetanus. Antibiotik tetrasiklin dan penisilin diberikan untuk mencegah pembentukan racun lebih lanjut. Obat lainnya dapat diberikan untuk menenangkan penderita, mengendalikan kejang dan mengendurkan otot-otot. Penderita biasanya dirawat di rumah sakit dan ditempatkan dalam ruangan yang tenang. Untuk infeksi menengah sampai berat mungkin perlu dipasang ventilator untuk membantu pernafasan. Makanan diberikan melalui infus atau selang nasogastrik. Untuk membuang kotoran dipasang kateter.
55
Penderita sebaiknya berbaring bergantian miring ke kiri atau ke kanan dan dipaksa untuk bantu guna mencegah terjadinya pneumonia. Untuk mengurangi nyeri diberikan kodein, obat lainnya bisa diberikan untuk mengendalikan tekanan darah dan denyut jantung. Setelah sembuh, harus diberikan vaksinasi lengkap karena infeksi tetanus tidak memberikan kekebalan terhadap infeksi berikutnya. Pencegahan 1. Perawatan luka, terutama pada luka tusuk, kotor atau luka yang tercemar dengan spora tetanus. 2. Imunisasi pasif, diberikan antitoksin. 3. Imunisasi aktif, imunisasi tetanus biasanya dapat diberikan dalam bentuk DPT, DT, dan TT.