BAB II LANDASAN TEORI
2.1 Sistem Pakar 2.1.1 Pengertian Sistem Pakar
Menurut Siswanto (2010: 117), Sistem pakar (expert system) adalah sistem / program yang bertingkah laku seperti ahlinya atau pakarnya. Sistem pakar merupakan sistem yang berbasis pengetahuan digunakan untuk membantu menyelesaikan masalah-masalah yang ada dalam dunia nyata. Berikut ini adalah aplikasi contoh sistem pakar diantaranya:
Aplikasi Sistem Pakar untuk konsultasi kerusakan lokomotif dari Delta (General Electric)
Aplikasi Sistem Pakar untuk penaksiran prospek mineral dari Stanford Research Institute bernama Prospector
Aplikasi Sistem pakar untuk mengkonfigurasi bagian-bagian komputer dari Digital Equipment Corps’s yaitu Xycon
Aplikasi sistem pakar untuk mendiagnosa bakteri penyakit tertentu dari Universitas Stanford tahun 1970 bernama Mycin. Sistem pakar merupakan program komputer, yaitu :
Program komputer yang menangani masalah dunia nyata, masalah yang kompleks yang membutuhkan interpretasi pakar.
Program komputer untuk menyelesaikan masalah dengan menggunakan komputer dengan model penalaran manusia dan mencapai kesimpulan yang sama dengan yang dicapai oleh seorang jika berhadapan dengan masalah. Komputer berbasis pengetahuan sistem pakar merupakan program komputer yang
mempunyai pengetahuan berasal dari manusia yang berpengetahuan luas (pakar) dalam domain tertentu, di mana pengetahuan di sini adalah pengetahuan manusia
6
http://digilib.mercubuana.ac.id/
yang sangat minim penyebarannya, mahal serta susah didapat. Disini keahlian dari manusia ke pengetahuan tersebut untuk menyelesaikan masalah, seperti yang dilakukan manusia. Walaupun sistem pakar dapat menyelesaikan masalah dalam domain yang terbatas berdasarkan pengetahuan yang dimasukkan ke dalamnya, tetapi sistem pakar tidak dapat menyelesaikan yang tidak dapat diselesaikan manusia. Oleh sebab itu keandalan dari sistem pakar terletak pada pengetahuan yang dimasukkan ke dalamnya. Kondisi-kondisi di mana sistem pakar dapat membantu manusia dalam menyelesaikan masalahnya, antara lain:
Kebutuhan akan tenaga ahli (pakar) yang banyak, tetapi pakar yang tersedia jumlahnya sangat terbatas.
Pemakaian pakar yang berlebihan dalam membuat keputusan, walaupun dalam suatu tugas yang rutin.
Pertimbangan kritis harus dilakukan dalam waktu yang singkat untuk menghindari hal-hal yang tidak diinginkan.
Hasil yang optimal, seperti dalam pencernaan atau konfigurasi.
Sejumlah besar data yang harus diteliti oleh pakar secara kontinu. (Siswanto, 2010)
2.1.2 Ciri-ciri Sistem Pakar Ciri – ciri sistem pakar : 1. Terbatas pada domain keahlian tertentu. 2. Dapat memberikan penalaran untuk data yang tidak pasti. 3. Dapat mengemukakan rangkaian alasan-alasan yang diberikannya dengan cara yang dapat dipahami. 4. Berdasarkan pada kaidah/ketentuan/rule tertentu. 5. Dirancang untuk dapat dikembangkan secara bertahap. 6. Pengetahuan dan mekanisme penalaran (inference) jelas terpisah. 7. Keluarannya bersifat anjuran.
7
http://digilib.mercubuana.ac.id/
8. Sistem dapat mengaktifkan kaidah secara searah yang sesuai dituntun oleh dialog dengan user. (Siswanto, 2010) 2.1.3 Struktur Sistem Pakar Menurut Sutojo, et al (2011: 166), Ada dua bagian penting dari Sistem pakar, yaitu lingkungan pengembangan (development environment) dan lingkungan konsultasi (consulting environment). Lingkungan pengembangan digunakan oleh pembuat
sistem
pakar
untuk
mebangun
komponen-komponennya
dan
memperkenalkan pengetahuan ke dalam knowledge base (basis pengetahuan). Lingkungan konsultasi digunakan oleh pengguna untuk berkonsultasi sehingga pengguna mendapatkan pengetahuan dan nasihat dari Sistem Pakar layaknya berkonsultasi dengan seorang pakar. Gambar dibawah ini menunjukkan komponenkomponen yang penting dalam sebuah sistem pakar :
Lingkungan Konsultasi
User
Lingkungan Pengembang Basis Pengetahuan
Fakta-fakta tentang Kejadian tertentu
Fakta : Apa yang diketahui tentang area domain Rule : Logical reference
Fasilitas penjelasan
Antarmuka
Rekayasa Pengetahuan Aksi yang direkomendasi
Akuisisi Pengetahuan
Motor Inferensi
Pengetahuan Pakar
Perbaikan pengetahuan
Blackboard Rencana Solusi
Agenda Deskripsi Masalah
Gambar 2.1 Komponen-komponen yang penting dalam sebuah sistem pakar (Sutojo, et al, 2011)
8
http://digilib.mercubuana.ac.id/
Keterangan : 1. Akuisisi Pengetahuan Subsistem ini digunakan untuk memasukkan pengetahuan dari seorang pakar dengan cara merekayasa penegtahuan agar bisa diproses oleh computer dan menaruhnya ke dalam basis pengetahuan dengan format tertentu (dalam bentuk representasi pengetahuan). Sumber-sumber pengetahuan bisa diperoleh dari pakar, buku, dokumen multimedia, basis data, laporan riset khusus, dan informasi yang terdapat di web. 2. Basis Pengetahuan (Knowlegde Base) Basis pengetahuan mengandung pengetahuan yang diperlukan untuk memahami, memformulasikan, dan menyelesaikan masalah. Basis pengetahuan terdiri dari dua elemen dasar, yaitu : a. Fakta, misalnya situasi, kondisi, atau permasalahan yang ada. b. Rule (Aturan), untuk mengarahkan penggunaan pengetahuan dalam memecahkan masalah. 3. Mesin Inferensi (Inference Engine) Mesin Inferensi adalah sebuah program yang berfungsi untuk memandu proses penalaran terhadap suatu kondisi berdasarkan pada basis pengetahuan yang ada, memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan untuk mencapai solusi dan kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi pengendalian, yaitu strategi yang berfungsi sebagai panduan arah dalam melakukan proses penalaran. Ada tiga teknik pengendalian yang digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua teknik tersebut. 4. Daerah kerja (Blackboard) Untuk merekam hasil sementara yang akan dijadikan sebagai keputusan dan untuk menjelaskan sebuah masalah yang sedang terjadi, Sistem pakar membutuhkan Blackboar, yaitu area pada memori yang berfungsi sebagai basis data. Tiga tipe keputusan yang dapat direkam pada blackboard, yaitu : a. Rencana : bagaimana menghadapi masalah b. Agenda : aksi-aksi potensial yang sedang menunggu untuk dieksekusi c. Solusi
: calon aksi yang akan dibangkitkan
5. Antarmuka pengguna (User Interface) Digunakan sebagai media komunikasi antara pengguna dan Sistem pakar. Komunikasi ini paling bagus bila disajikan dalam bahasa alami (natural
9
http://digilib.mercubuana.ac.id/
language) dan dilengkapi dengan grafik, menu, dan formulir elektronik. Pada bagian ini akan terjadi dialog antara Sistem pakar dan pengguna. 6. Subsistem Penjelasan (Explanation Subsystem / Justifier) Berfungsi memberi penjelasan kepada pengguna, bagaimana suatu kesimpulan dapat diambil. Kemampuan seperti ini sangat penting bagi pengguna untuk mengetahui proses pemindahan keahlian pakar maupun dalam pemecahan masalah. 7. Sistem Perbaikan Pengetahuan (Knowledge Refining System) Kemampuan memperbaiki pengetahuan (knowledge refining system) dari seorang pakar diperlukan untuk meganalisis pengetahuan, belajar dari kesalahan masa lalu, kemudian memperbaiki pengetahuannya sehingga dapat dipakai pada masa mendatang. Kemampuan dan evaluasi diri seperti itu diperlukan oleh program agar dapat menganalisis alasan-alasan kesuksesan dan kegagalan dalam mengambil kesimpulan. Dengan cara ini basis pengetahuan yang lebih baik dan penalaran yang lebih efektif akan dihasilkan. 8. Pengguna (User) Pada umumnya pengguna sistem pakar bukanlah seorang pakar (non-expert) yang membutuhkan solusi, saran, atau pelatihan (training) dari berbagai permasalahan yang ada. (Sutojo, et al, 2011) 2.1.4 Keuntungan Menggunakan Sistem Pakar Dengan menggunakan sistem pakar dalam membantu memecahkan masalah, didapat beberapa keuntungan : 1. Sifatnya yang permanen 2. Mudah untuk ditransfer atau direproduksi 3. Mudah didokumentasikan. 4. Menghasilkan keluaran yang konsisten. 5. Biaya yang murah. 6. Dapat digunakan untuk 24 jam sehari. 7. Dapat dibentuk semenjak ada keterbatasan dari manusia dan pakar. 8. Sulit mendapatkan seorang yang expert/pakar, sehingga sistem pakar dapat
menggantikan tugas tersebut. 9. Pengetahuan pada sistem pada sistem pakar mudah disimpan dan di copy. 10. Pengetahuan yang ada tidak mudah hilang 11. Selalu membentuk opini terbaik dalam batas pengetahuannya. (Siswanto, 2010)
10
http://digilib.mercubuana.ac.id/
2.1.5 Kerugian Menggunakan Sistem Pakar Disamping
keuntungan,
menggunakan
sistem
pakar
atau expert
system mempunyai beberapa kerugian, diantaranya : 1. Kurang personalitinya (sulit dikembangkan). Hal ini erat kaitannya dengan
ketersediaan pakar di bidangnya . 2. Tidak dapat menyelesaikan masalah yang membutuhkan intuisi 3. Sistem pakar tidak 100% bernilai benar. (Siswanto, 2010)
2.1.6 Program Kecerdasan Tiruan Aplikasi Sistem pakar dapat dibuat dengan menggunakan suatu program paket, yaitu alat pengembangan sistem aplikasi pengetahuan (knowledge system application development tool) diantaranya : VP-Expert PC PLUS GURU JESS (Java Expert System Shell) Version 5.0 EXSYS, dan lain-lain.
Aplikasi sistem pakar dengan menggunakan bahasa untuk pemprograman kecerdasan tiruan diantaranya:
PROLOG (Programming Logic)
WIN-PROLOG 4.040 (Windows-Programming Logic)
LISP (Lisp Processing)
CLIPS (C Language Intergrated Production System). (Siswanto, 2010)
2.2 Metode Forward Chaining 2.2.1 Pengertian Forward Chaining Metode forward chaining merupakan teknik penalaran yang biasa digunakan dalam sistem pakar. Metode forward chaining adalah pelacakan ke depan
11
http://digilib.mercubuana.ac.id/
yang memulai dari sekumpulan fakta-fakta dengan mencari kaidah yang cocok dengan dugaan / hipotesa yang ada menuju kesimpulan. Menurut Siswanto (2010: 121) forward chaining kadang disebut : data-driven karena inference engine menggunakan informasi yang ditentukan oleh user untuk memindahkan ke seluruh jaringan dari logika „AND‟ dan „OR‟ sampai sebuah terminal ditentukan sebagai objek. Bila inference engine tidak dapat menentukan objek maka akan meminta informasi lain. Aturan (Rule) di mana menentukan objek, membentuk path (lintasan) yang mengarah ke objek. Oleh karena itu, hanya satu cara untuk mencapai satu objek adalah memenuhi semua aturan. Forward chaining : Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri dulu (IF dulu). Dengan kata lain penalaran dimulai dari fakta terlebih dahulu untuk menguji kebenaran hipotesis. (Siswanto, 2010) Teknik penalaran forward chaining dipengaruhi oleh tiga macam teknik penelusuran (searching) yaitu : 2.2.2 Teknik Depth-First Search Adalah teknik penelusuran data pada node-node secara vertical dan sudah terdefinisi, misalnya kiri ke kanan, keuntungan pencarian dengan teknik ini adalah bahwa penelurusan masalah dapat di gali secara mendalam sampai di temukannya kapasitas suatu solusi yang optimal. Kekurangan teknik penelesuran ini adalah membutuhkan waktu yang sangat lama untuk ruang lingkup masalah yang besar.
Gambar 2.2 Teknik Depth First Search (Siswanto, 2010)
12
http://digilib.mercubuana.ac.id/
2.2.3 Teknik Breadth-First Search Teknik penelusuran data pada semua node dalam satu level atau salah satu tingkatan sebelum ke level atau tingkatan di bawahnya. Keuntungan pencarian dengan teknik ini adalah sama dengan depth first search, hanya saja penelusuran dengan tehnik ini mempunyai nilai tambah, dimana semua node akan di cek secara menyeluruh pada setiap tingkatan node. Kekurangan teknik penelusuran ini terletak pada waktu yang dibutuhkan yang sangat lama apabila solusi berada dalam posisi node terakhir sehingga menjadi tidak efisien. Kekurangan dalam implementasi juga perlu di pertimbangkan, misalnya teknik penelusuran menjadi tidak interaktif antara suatu topik dengan topik yang lain atau harus melompat dari satu topik ke topik yang lain sebelum topik tersebut selesai di telusuri.
Gambar 2.3 Teknik Breadth First Search (Siswanto, 2010)
2.2.4 Teknik Best-First Search Adalah teknik penelusuran yang menggunakan pengetahuan akan suatu masalah untuk melakukan panduan pencarian ke arah node tempat dimana solusi berada. Pencarian jenis ini dikenal juga sebagai heuristic. Pendekatan yang dilakukan adalah mencari solusi yang terbaik berdasarkan pengetahuan yang dimiliki sehingga penelusuran dapat ditentukan harus di mulai dari mana dan bagaimana menggunakan proses terbaik untuk mencari solusi. Keuntungan jenis pencarian ini adalah mengurangi beban komputasi karena hanya solusi yang memberikan harapan saja yang diuji dan akan berhenti apabila solusi sudah mendekati yang terbaik. Ini merupakan model yang menyerupai cara manusia mengambil solusi yang dihasilkan merupakan solusi yang mutlak benar.
13
http://digilib.mercubuana.ac.id/
Gambar 2.4 Teknik Best First Search (Siswanto, 2010)
2.3 Penyakit Patah Tulang / Fraktur 2.3.1 Pengertian Fraktur Fraktur merupakan suatu kondisi dimana kontinuitas tulang hilang, baik yang bersifat lokal maupun sebagian (Rasjad, 1998 dalam Mutaqin, 2008). Secara umum, keadaan patah tulang secara klinis dapat diklasifikasikan menjadi Fraktur tertutup (simple fracture) yaitu fraktur yang fragmen tulangnya tidak menembus kulit dan fraktur terbuka (compound fracture) yaitu fraktur yang mempunyai hubungan dengan dunia luar melalui luka pada kulit serta jaringan lunak (Mutaqin, 2008). Kejadian fraktur ini bisa dialami seseorang ketika mengalami trauma langsung atau trauma tidak langsung. Fraktur mempunyai dampak yang mendalam pada aspek kehidupan
pasien
yang
mengalaminya.
Pasien
dengan
fraktur
memiliki
kecenderungan untuk mengalami gangguan mobilisasi selama masa penyembuhan frakturnya. Melihat dampak yang berpengaruh pada kehidupan pasien dengan fraktur, penanganan yang tepat sangat diperlukan. Prinsip penanganan fraktur meliputi reduksi, imobilisasi, dan pengembalian fungsi dan kekuatan normal dengan rehabilitasi (Smeltzer & Bare , 2002). Penanganan fraktur dapat didapatkan dari berbagai fasilitas pelayanan kesehatan. Fasilitas pelayanan kesehatan yang digunakan oleh anggota masyarakat tersebut terdiri dari rumah sakit, praktek dokter, puskesmas atau pustu, petugas kesehatan, dan dukun atau pengobatan tradisional (Notoatmodjo, 2010).
14
http://digilib.mercubuana.ac.id/
Penggunaan tempat pengobatan tradisional masih menjadi pilihan seseorang yang mengalami patah tulang untuk mengobati sakitnya. Data dari profil
kesehatan
Indonesia pada tahun 2007 menyebutkan bahwa pengobatan tradisional rata-rata masih 6,23% menjadi pilihan masyarakat pada waktu mereka sakit, yaitu 6,09% merupakan masyarakat perkotaan dan 6,37% adalah masyarakat pedesaan. Perilaku kesehatan masyarakat menentukan pilihan masyarakat terhadap berbagai fasilitas pelayanan kesehatan mana yang digunakan untuk mendapatkan penanganan fraktur. Perilaku masyarakat dipengaruhi oleh kepercayaan masyakat terhadap kesehatan. Model kepercayaan kesehatan (The Health Belief Model) menjadi dasar dalam perilaku masyarakat ini, dengan variabel-variabel pada kerangka teorinya adalah persepsi terhadap kerentanan (perceived susceptibility), persepsi terhadap keseriusan sakit (perceived severity) yang merupakan persepsi terhadap ancaman (perceived threat), persepsi terhadap manfaat dan rintangan- rintangan (perceveid benefits and barriers), serta isyarat atau tanda-tanda pendorong (cues to action) (Lewin, 1954; Becker, 1974 dalam Glantz, 2002). Selain itu teori health belief model tersebut memperlihatkan bahwa perilaku kesehatan bergantung pada tiga jenis faktor, yaitu adanya motivasi untuk mengobati sakitnya, belief in health threat, dan kepercayaan akan mendapatkan manfaat maupun rintangan dari tindakan yang dilakukan (Kitko, Lisa., et al, 2008). Faktorfaktor ini memperlihatkan variabel-variabel yang menentukan seseorang dalam memilih tindakan yang akan didapatkan untuk mengobati sakitnya. Faktor pelayanan kesehatan dan kepercayaan terhadap penyedia layanan mempengaruhi perilaku individu dalam health seeking. Selain itu, faktor isyarat dan tanda-tanda pendorong juga turut mempengaruhi health seeking behavior pasien dengan fraktur (Notoatmodjo, 2010). Hasil studi pendahuluan di Sumedang, terdapat setidaknya enam pengobatan tradisional yang merupakan pengobatan ahli tulang. Namun, penyedia layanan di enam pengobatan ahli tulang tersebut mengaku belum pernah mendapatkan pelatihan khusus untuk memberikan pengobatan tulang tersebut. Rata-rata penanganan yang diberikan di enam pengobatan tradisional ahli tulang tersebut sama, biasanya penyedia layanan akan membebat tulang yang patah dengan kain yang diolesi minyak tertentu. Ada pula yang "mengobati" bagian yang trauma dengan cara menarik bagian tulang. Tindakan yang dilakukan biasanya tergantung dari jenis trauma tulang yang dialami pasien. Memilih metode tradisional seperti bengkel
15
http://digilib.mercubuana.ac.id/
tulang, secara medis sebenarnya masih terbilang aman, selama kasus yang ditangani masih bersifat ringan atau sederhana (Kompas, Februari 2008). Namun, seringkali masyarakat masih mempercayakan pengobatan tradisional ahli tulang, meskipun fraktur yang dialaminya bukan fraktur yang bersifat ringan atau sederhana, seperti fraktur yang mengalami perubahan bentuk atau fraktur terbuka. Hal ini menyebabkan kasus infeksi dari luka fraktur akibat ditangani di pengobatan ahli tulang terus meningkat. Selama periode 1998-2000 terdapat 56 kasus kecacatan anggota gerak dari 1.224 kasus fraktur yang berobat ke poliklinik Rumah Sakit Hasan Sadikin, sedangkan pada periode 2003-2007, jumlah kasus serupa mengalami peningkatan menjadi 150 penderita. Dari 150 penderita ini, sebanyak 22 pasien mengalami infeksi, 32 pasien mengalami deformitas yang bahkan untuk menyelamatkan jiwanya diperlukan tindakan amputasi (Kompas, Februari 2008). (Kurnia, et al, 2012)
2.4 Adobe Dreamweaver 2.4.1 Pengertian Adobe Dreamweaver Menurut Sibero (2011:384), Dreamweaver merupakan sebuah produk web developer yang dikembangkan oleh Adobe Sistems Inc, sebelumnya produk Dreamweaver dikembangkan oleh Macromedia Inc, yang kemudian sampai saat ini perkembangannya diteruskan oleh Adobe Sistems Inc, Dreamweaver dikembangkan dan dirilis dengan kode nama Creative Suit (CS). Menurut Wahana Komputer (2010:2), ”Adobe Dreamweaver merupakan salah satu program aplikasi yang digunakan untuk membangun sebuah website, baik secara grafis maupun dengan menuliskan kode sumber secara langsung”. Berdasarkan definisi-definisi di atas, maka dapat disimpulkan dreamweaver adalah suatu aplikasi yang digunakan dalam membangun atau membuat sebuah web. Saat ini terdapat software dari kelompok Adobe yang belakangan banyak digunakan untuk mendesain suatu web. Versi terbaru dari Adobe Dreamwever CS3 memiliki beberapa kemampuan bukan hanya sebagai software untuk desain web saja, tetapi juga menyunting kode serta pembuatan aplikasi web. Antara lain: JSP, PHP, ASP, XML, dan ColdFusion .
16
http://digilib.mercubuana.ac.id/
2.4.2 Ruang Kerja Adobe Dreamweaver Ruang kerja atau workspace adalah bagian keseluruhan tampilan Adobe Dreamweaver. Ruang kerja Dreamweaver terdiri dari Welcome Screen, Menu, Insert Bar, Document Window, CSS Panel, Aplication Panel, Tag Inspector, Property, Inspector, Result Panel, dan Files Panel. Masing-masing dari komponen tersebut memiliki fungsi dan aturan.
Gambar 2.5 Ruang Kerja Adobe Dreamweaver CS3 (Sibero, 2011)
2.5 Personal Home Page (PHP) 2.5.1 Pengertian PHP Menurut Arief menyatu
dengan
(2011:43) “PHP adalah HTML
untuk
Bahasa server-side-scripting yang
membuat
halaman
web
yang
dinamis.
Karena PHP merupakan server-side-scripting maka sintaks dan perintah-perintah
17
http://digilib.mercubuana.ac.id/
PHP akan diesksekusi diserver kemudian hasilnya akan dikirimkan ke browser dengan format HTML”. Dengan demikian kode program yang ditulis dalam PHP tidak akan terlihat oleh user sehingga keamanan halaman web lebih terjamin. PHP dirancang untuk membuat halaman web yang dinamis, yaitu halaman web yang dapat membentuk suatu tampilan berdasarkan permintaan terkini, seperti menampilkan isi basis data ke halaman web. PHP juga dapat berjalan pada berbagai web server seperti IIS (Internet Information Server), PWS (Personal Web Server), Apache, Xitami. PHP juga mampu berjalan di banyak sistem operasi yang beredar saat ini, diantaranya : Sistem
Operasi
Microsoft
Windows
(semua
versi),
Linux,
Mac
Os,
Solaris. PHP dapat dibangun sebagai modul web server Apache dan sebagai binary yang dapat berjalan sebagai CGI (Common Gateway Interface). PHP dapat mengirim HTTP header, dapat mengatur cookies , mengatur authentication dan redirect user. Salah satu keunggulan yang dimiliki PHP adalah kemampuannya untuk melakukan koneksi ke berbagai macam software sistem manajemen basis data atau Database Management Sistem (DBMS), sehingga dapat menciptakan suatu halaman web dinamis. PHP mempunyai koneksitas yang baik dengan beberapa DBMS seperti Oracle, Sybase, mSQL, MySQL, Microsoft SQL Server, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tidak terkecuali semua database ber-interface ODBC. Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan ini kita akan mempunyai suatu sistem basis data yang dapat diakses.
2.6 MySQL 2.6.1 Pengertian MySQL Menurut Arief (2011:152) “MySQL adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengolahan datanya”.
18
http://digilib.mercubuana.ac.id/
MySQL dikembangkan oleh perusahaan swedia bernama MySQL AB yang pada saat ini bernama Tcx DataKonsult AB sekitar tahun 1994-1995, namun cikal bakal kodenya sudah ada sejak tahun 1979. Awalnya Tcx merupakan perusahaan pengembang software dan konsultan database, dan saat ini MySQL sudah diambil alih oleh Oracle Corp. Kepopuleran MySQL antara lain karena MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses databasenya sehingga mudah untuk digunakan, kinerja query cepat, dan mencukupi untuk kebutuhan database perusahaanperusahaan yang berskala kecil sampai menengah, MySQLjuga bersifat open source (tidak berbayar) . MySQL merupakan database yang pertama kali didukung oleh bahasa pemrograman script untuk internet (PHP dan Perl). MySQL dan PHP dianggap sebagai pasangan software pembangun aplikasi web yang ideal. MySQL lebih sering digunakan untuk membangun aplikasi berbasis web, umumnya pengembangan aplikasinya menggunakan bahasa pemrograman script PHP. MySQL didistribusikan dengan lisensi open source GPL (General Public License) mulai versi 3.23 pada bulan juni 2000. Software MySQL bisa diunduh melalui website resminya di http://www.MySQL.org atau di http://mysql.com.
2.7 Unified Modeling Language (UML) 2.7.1 Pengertian UML Menurut Yasin (2012:194), Unifed Modeling Language (UML) adalah sebuah ”bahasa” yang telah menjadi dasar standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. Dengan menggunakan UML 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. UML mendefinisikan notasi dan syntax/semantik, notasi UML merupakan sekumpulan bentuk khusus yang menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari
19
http://digilib.mercubuana.ac.id/
3 notasi yang telah ada sebelumnya : Grady Booch OOD (Object Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object Oriented Software Engineering). 2.7.2 Jenis-Jenis UML UML sendiri terdiri dari 13 jenis diagram resmi seperti dibawah ini. (Yasin, 2012) Tabel 2.1 Jenis-Jenis Diagram UML (Yasin, 2012)
No.
Diagram
Keterangan
1
Activity
Behavior prosedural paralel
2
Class
Class, fitur, dan hubungan-hubungan
3
Communication
Interaksi antar objek, penekanan pada jalur
4
Component
Struktur dan koneksi komponen
5
Composite structure
Dekomposisi runtime sebuah class
6
Deployment
Pemindahan artifak ke node
7
Interaction overview
Campuran sequence dan activity diagram
8
Object
Contoh konfigurasi dari contoh-contoh
9
Package
Struktur hirarki compile-time
10
Sequence
Interaksi antar objek, penekanan pada sequence
11
State machine
Bagaimana event mengubah objek selama aktif
12
Timing
Interaksi antar objek, penekanan pada timing
13
Use case
Bagaimana pengguna berinteraksi dengan sebuah sistem
2.7.2.1 Use case Diagram Menurut Yasin (2012:198), use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah
20
http://digilib.mercubuana.ac.id/
interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja dan sebagainya. Seorang/aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan pekerjaan tertentu. Use case diagram dapat sangat membantu bila sedang menyusun requitment sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem.
Tabel 2.2 Simbol - Simbol Use Case Diagram (Yasin, 2012)
NO
GAMBAR
NAMA
KETERANGAN Menspesifikasikan himpuan peran
1
Actor
yang
pengguna
mainkan
ketika
berinteraksi dengan use case. Hubungan dimana perubahan yang terjadi pada suatu elemen 2
Dependency
mandiri
(independent) akan mempengaruhi elemen yang bergantung padanya elemen
yang
tidak
mandiri
(independent). Hubungan 3
Generalization
dimana
objek
anak
(descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
4
Menspesifikasikan bahwa use case
Include
sumber secara eksplisit. Menspesifikasikan bahwa use case
5
target memperluas perilaku dari use
Extend
case sumber pada suatu titik yang diberikan.
21
http://digilib.mercubuana.ac.id/
6
Association
Apa yang menghubungkan antara objek satu dengan objek lainnya.
Menspesifikasikan 7
paket
yang
menampilkan sistem secara terbatas.
System
Deskripsi dari urutan aksi-aksi yang 8
Use Case
ditampilkan menghasilkan
sistem suatu
hasil
yang yang
terukur bagi suatu actor. Interaksi aturan-aturan dan elemen lain 9
Collaboration
yang
bekerja
sama
untuk
menyediakan prilaku yang lebih besar dari jumlah dan elemenelemennya (sinergi). Elemen fisik yang eksis saat aplikasi
10
Note
dijalankan dan mencerminkan suatu sumber daya komputasi
22
http://digilib.mercubuana.ac.id/
Gambar 2.6 Contoh Use Case Diagram (Yasin, 2012)
2.7.2.2 Class Diagram Menurut Yasin (2012:198), class diagram adalah sebuah spesifikasi yang jika diinstansi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan sebuah keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk manipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan striktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Tabel 2.3 Simbol-Simbol Class Diagram (Yasin, 2012)
NO
GAMBAR
NAMA
KETERANGAN Hubungan
1
Generalization
dimana
objek
anak
(descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
23
http://digilib.mercubuana.ac.id/
2
Upaya untuk menghindari asosiasi
Nary
dengan lebih dari 2 objek.
Association
Himpunan dari objek-objek yang 3
Class
berbagi atribut serta operasi yang sama. Deskripsi dari urutan aksi-aksi
4
Collaboration
yang
ditampilkan
sistem
yang
menghasilkan suatu hasil yang terukur bagi suatu aktor Operasi
5
yang
benar-benar
dilakukan oleh suatu objek.
Realization
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri 6
Dependency
(independent) akan mempegaruhi elemen yang bergantung padanya elemen yang tidak mandiri Apa yang menghubungkan antara
7
objek satu dengan objek lainnya
Association
24
http://digilib.mercubuana.ac.id/
Gambar 2.7 Contoh Class Diagram (Yasin, 2012)
2.7.2.3 Activity Diagram Menurut Yasin (2012:201), activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah
action
dan
sebagian
transisi
di
triger
oleh
selesainya
state
sebelumnya(internal processing). Activity diagram tidak menggambarkan proses proses dan jalur jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standar UML menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behavior pada kondisi tertentu.
25
http://digilib.mercubuana.ac.id/
Tabel 2.4 Simbol-Simbol Activity Diagram (Yasin, 2012)
NO
GAMBAR
NAMA
KETERANGAN Memperlihatkan
1
Activity
bagaimana
masing-
masing kelas antarmuka saling berinteraksi satu sama lain
2
Action
3
Initial Node
4
5
State dari sistem yang mencerminkan eksekusi dari suatu aksi Bagaimana objek dibentuk atau diawali.
Activity Final
Bagaimana
Node
dihancurkan
objek
dibentuk
dan
Satu aliran yang pada tahap tertentu
Fork Node
berubah menjadi beberapa aliran
Gambar 2.8 Contoh Activity Diagram (Yasin, 2012)
26
http://digilib.mercubuana.ac.id/
2.7.2.4 Sequence Diagram Menurut Yasin (2012:201), sequence diagram menggambarkan interaksi antar objek di dalam dan disekitar sistem (termasuk pengguna, display dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait. Sequence diagram biasa di gunakan untuk menggambarkan skenario atau rangkaian lamgkah-langkah yang dilakukan sebagai respons dari sebuah event untuk mrnghasilkan output tertentu. Tabel 2.5 Simbol-Simbol Sequence Diagram (Triandini dan I Gede, 2012:71)
NO
GAMBAR
NAMA
Object
1
Objek
2
Actor
3
Lifeline
4
Acivation
5
<< create>>
Pesan tipe create
KETERANGAN
Merupakan sebuah instance dari sebuah class dan dituliskan dalam bentuk horizontal.
Actor dapat berkomunikasi dengan Object, maka actor juga dapat diurutkan sebagai kolom
Mengindikasikan
keberadaan
sebuah
objek
dalam basis waktu
Mengindikasikan sebuah objek yang akan melakukan sebuah aksi Menyatakn suatu objek membuat objek yang lain, arah panah mengarah pada objek yang dibuat Digambarkan dengan anak panah horizontal
6
Message1
Message
antar activation. Mengindikasikan komunikasi antar objek
27
http://digilib.mercubuana.ac.id/
Gambar 2.9 Contoh Sequence Diagram (Yasin, 2012)
2.8 Basis Data 2.8.1 Pengertian Basis Data Basis data (Data base) adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik, sehingga dapat digunakan oleh suatu program untuk komputer untuk memperoleh informasi dari basis data tersebut. Basis data adalah sekumpulan data yang terhubung satu sama lain secara logika dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi. Pendefinisian basis data meliputi dari tipe data, struktur dan batasan dari data atau infromasi yang akan disimpan. Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi pada para pengguna atau user. (Yasin, 2012)
28
http://digilib.mercubuana.ac.id/
2.9 XAMPP 2.9.1 Pengertian XAMPP XAMPP yang digunakan adalah versi 1.7.2, Menurut Riyanto (2010: 1), dikutip dalam (Choliviana, Triyono, & Sukadi, 2012), XAMPP merupakan paket PHP dan MySQL berbasis open source, yang dapat digunakan sebagai tool pembantu pengembangan aplikasi berbasis PHP. XAMPP mengombinasikan beberapa paket perangkat lunak berbeda ke dalam satu paket. Memanfaatkan XAMPP sebagai database karena XAMPP menyediakan aplikasi database MySQL dengan interface lebih mudah dalam pengoperasiannya, tool-tool yang disediakan cukup lengkap dan memenuhi kebutuhan perancangan database selain itu XAMPP aplikasi gratis, Komponen dan fungsi XAMPP lengkap dengan penjelasannya. Memahami XAMPP :
htdoc adalah folder di mana Anda meletakkan file yang akan dijalankan, seperti file PHP, HTML dan script lainnya.
phpMyAdmin adalah
bagian
untuk
mengelola
database
MySQL
yang
dikomputer.
Untuk membukanya, membuka browser dan ketik alamat http: // localhost / phpMyAdmin, halaman phpMyAdmin akan muncul.
Control Panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti stop service (berhenti), atau mulai (mulai).
2.9.2 Komponen XAMP XAMPP 1.8.3 untuk Windows, Termasuk :
Apache 2.4.4
MySQL 6.5.11
PHP 5.5.0
PhpMyAdmin 4.0.4
FileZilla FTP Server 0.9.41
Tomcat 7.0.41 (with mod_proxy_ajp as connector)
Strawberry Perl 5.16.3.1 Portabel
XAMPP Control Panel 3.2.1 (dari hackattack142)
29
http://digilib.mercubuana.ac.id/