BAB II LANDASAN TEORI
2.1 Sistem Pakar 2.1.1 Pengertian Sistem Pakar Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar (Sri Kusumadewi, 2003:109). Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuaan, fakta dan teknik penalaran dalam memecahkan masalah yang biasanya hanya dapat dipecahkan oleh seorang pakar dalam bidang tersebut (Martin dan Oxman, 1998) Menurut Marimin (1992), sistem pakar adalah sistem perangkat lunak komputer yang menggunakan ilmu, fakta, dan teknik berpikir dalam pengambilan keputusan untuk menyelesaikan masalah-masalah yang biasanya hanya dapat diselesaikan oleh tenaga ahli dalam bidang yang bersangkutan Menurut Turban (1995): Sistem pakar (expert system) adalah paket perangkat lunak pengambilan keputusan atau pemecahan masalah yang dapat mencapai tingkat performa yang setara atau bahkan lebih dengan pakar manusia di beberapa bidang khusus dan biasanya mempersempit area masalah.
11
12
2.1.2 Arsitektur Sistem Pakar Sistem pakar terdiri dari dua bagian utama yaitu lingkungan pengembangan (development
environment)
environment).
Development
dan
lingkungan
environment
konsultasi
digunakan
untuk
(consultation memasukkan
pengetahuan pakar ke dalam lingkungan sistem pakar, sedangkan consultation environment digunakan oleh pengguna yang bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem pakar dalam kedua bagian tersebut dapat dilihat pada gambar berikut.
Gambar 2.1 Arsitektur sistem pakar (expert system). (Sumber : M. Arhami, 2005) Sistem pakar memiliki beberapa komponen utama, yaitu antar muka pengguna (user interface), basis data sistem pakar (expert system database), fasilitas akuisisi pengetahuan (knowledge acquisition facility), dan mekanisme inferensi (inference mechanism). Selain itu ada satu komponen yang hanya ada pada
13
beberapa sistem pakar, yaitu fasilitas penjelasan ( explanation facility).
(Martin dan
Oxman, 1988) Di bawah ini akan di jelaskan secara ringkas komponen-komponen yang membentuk sistem pakar: 1. Antar Muka Pengguna (User Interface) User interface merupakan mekanisme yang di gunakan oleh pengguna dan sistem pakar untuk berkomunikasi, informasi yang di terima dari pemakai di ubahnya ke dalam bentuk yang dapat di terima oleh sistem dan di mengerti oleh pemakai. 2. Basis pengetahuan (knowledge base) Basis
pengetahuan
mengandung
pengetahuan
untuk
pemahaman,
formulasi, dan penyelesaian masalah, komponen ini disusun atas dua elemen dasar, pertama yaitu fakta berisikan informasi tentang obyek permasalahan tertentu dan aturan berisikan aturan cara bagaimana memperoleh fakta baru dari fakta yang telah diketahui. 3. Akuisisi Pengetahuan (Knowledge Acquisition) Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam menyelesaikan masalah-masalah dari sumber pengetahuan dalam program komputer. 4. Mesin Inferensi Mesin inferensi adalah bagian yang mengandung mekanisme fungsi berpikir dan pola-pola penalaran sistem yang di gunakan oleh seorang pakar. Mekanisme ini akan menganalisa suatu masalah tertentu dan selanjutnya akan mencari jawaban atau kesimpulan yang terbaik.
14
5. Workplace Workplace merupakan area dari sekumpulan memori kerja (working memory). Workplace digunakan untuk merekam hasil-hasil antara dan kesimpulan yang dicapai. 6. Fasilitas Penjelasan Faslitas penjelasan adalah komponen tambahan yang akan meningkatkan kemampuan sistem pakar. Komponen ini menggambarkan penalaran sistem kepada pemakai. 7. Perbaikan Pengetahuan. Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut adalah penting dalam pembelajaran terkomputerisasi, sehingga program akan mampu menganalisi penyebab kesuksesan dan kegagalan yang di alaminya.
2.1.3 Mesin inferensi Komponen ini mengandung mekanisme pola piker dan penalaran yang digunakan oleh pakar dalam menyelesaikan suatu masalah. Mesin inferensi adalah program computer yang memberikan metodologi untuk penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam workplace dan untuk memformulasikan kesimpulan (Turban, 1995). Secara umum ada dua teknik utama yang digunakan dalam mekanisme inferensi untuk pengujian aturan, yaitu Metode Forward Chaining dan Backward Chaining.
15
2.1.3.1 Metode Forward Chaining
Forward chaining adalah teknik pencarian yang dimulai dengan fakta yang diketahui untuk menguji kebenaran hipotesis, kemudian mencocokan fakta-fakta tersebut dengan bagian IF dari rules IF-THEN. Pencocokan fakta atau pernyataan dimulai dari bagian sebelah kiri dulu (IF dulu). Forward chaining Merupakan data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. IF (Informasi masukan) THEN (Konklusi) Informasi masukan dapat berupa data, bukti, temuan, atau pengamatan. Sedangkan konklusi dapat berupa tujuan, hipotesa, penjelasan, diagnosis, sehingga jalannya penalaran runut maju dapat dimulai dari data menuju tujuan, bukti menuju hipotesa, dari temuan menuju penjelasan. Proses pencocokan berhenti bila tidak ada lagi rule yang bisa dieksekusi. Metode pencarian yang digunakan adalah Depth-First Search (DFS), BreadthFirst Search (BFS), atau Best First Search. Untuk proses metode forward chaining ini dapat dilihat pada gambar 2.2 di bawah ini.
Gambar 2.2 Proses Forward Chaining (Sumber : Yurike Magdhalena , 2011)
16
Contoh Kasus Sistem Pakar: Penasihat Keuangan Kasus : Seorang user ingin berkonsultasi apakah tepat jika dia berinvestasi pada stock IBM? Variabel-variabel yang digunakan: A = memiliki uang $10.000 untuk investasi B = berusia < 30 tahun C = tingkat pendidikan pada level college D = pendapatan minimum pertahun $40.000 E = investasi pada bidang Sekuritas (Asuransi) F = investasi pada saham pertumbuhan (growth stock) G = investasi pada saham IBM Setiap variabel dapat bernilai TRUE atau FALSE FAKTA YANG ADA: Diasumsikan si user (investor) memiliki data: • Memiliki uang $10.000 (A TRUE) • Berusia 25 tahun (B TRUE) Dia ingin meminta nasihat apakah tepat jika berinvestasi pada IBM stock? RULES R1 : IF seseorang memiliki uang $10.000 untuk berinvestasi AND dia berpendidikan pada level college THEN dia harus berinvestasi pada bidang sekuritas R2 : IF seseorang memiliki pendapatan per tahun min $40.000 AND dia berpendidikan pada level college
17
THEN dia harus berinvestasi pada saham pertumbuhan (growth stocks) R3 : IF seseorang berusia < 30 tahun AND dia berinvestasi pada bidang sekuritas THEN dia sebaiknya berinvestasi pada saham pertumbuhan R4 : IF seseorang berusia < 30 tahun dan > 22 tahun THEN dia berpendidikan college R5 : IF seseorang ingin berinvestasi pada saham pertumbuhan THEN saham yang dipilih adalah saham IBM. Rule simplification R1: IF A and C, THEN E R2: IF D and C, THEN F R3: IF B and E, THEN F R4: IF B, THEN C R5: IF F, THEN G
18
2.1.3.2 Metode Backward Chaining Metode Backward Chaining adalah suatu metode pengambilan keputusan yang juga umum digunakan dalam sistem pakar. Metode backward chaining adalah kebalikan dari Forward Chaining. Percobaan fakta atau pernyataan dimulai dari bagian sebelah kanan (THEN dulu). Dengan kata lain, penalaran dimulai dari hipotesis terlebih dan untuk menguji kebenaran hipotesis tersebut harus dicari fakta-fakta yang ada dalam basis pengetahuan. Proses pencarian dengan metode backward chaining berangkat dari kanan ke kiri, yaitu dari kesimpulan sementara menuju kepada premis, metode ini sering disebut gol driven pencarian dikendalikan oleh tujuan yang diberikan. Tujuan IF (kondisi) Metode Backward Chaining merupakan strategi pencarian yang arahnya kebalikan dari Forward Chaining. Proses pencarian dimulai dari tujuan, yaitu kesimpulan yang menjadi solusi permasalahan yang dihadapi. Mesin inferensi mencari kaidah-kaidah dalam basis pengetahuan yang kesimpulannya merupakan solusi yang ingin dicapai, kemudian dari kaidah-kaidah yang diperoleh, masingmasing kesimpulan Backward Chaining jalur yang mengarah ke kesimpulan tersebut. Jika informasi-informasi atau nilai dari atribut-atribut yang mengarah ke kesimpulan tersebut sesuai dengan data yang diberikan maka kesimpulan tersebut merupakan solusi yang dicari, jika tidak sesuai maka kesimpulan tersebut bukan merupakan solusi yang dicari. Backward Chaining memulai proses pencarian dengan suatu tujuan sehingga strategi ini disebut juga goal-driven. Untuk proses metode backward chaining ini dapat dilihat pada gambar 2.3 di bawah ini.
19
Gambar 2.3 Proses Backward Chaining (Sumber : Yurike Magdhalena , 2011)
2.1.3.3 Beberapa Karakteristik Forward Chaining dengan Backward Chaining Forward chaining
Backward chaining
Perencanaan, monitoring, control
Diagnosis
Diasjikan untuk masa depan
Disajikan untuk masa lalu
Antecedent ke konsekuen
Konsekuen ke antecendent
Data memandu, panalaran dari bawah
Tujuan memandu, panalaran dari atas
ke atas
ke bawah
Bekerja ke masa depan untuk
Bekerja ke belakang untuk
mendapatkan solusi apa yang mengikuti mendapatkan fakta yang mendukung fakta
hipotesis
Breadth first search dimudahkan
Depth first search dimudahkan
Antecendent menentukan pencarian
Konsekuen menentukan pencarian
Penjelasan tidak difasilitasi
Penjelasan difasilitasi
Tabel 2.1 Tabel Karakterisik forward chaining dan backward chaining (sumber : M. Arhami, 2005)
20
2.2 Penyakit Kulit dan Kelamin Kulit adalah salah satu organ terpenting pada manusia, karena melalui kulit kita dapat merasakan rasa dan permukaan sebuah benda. Apabila kulit terserang penyakit maka akan banyak akibat yang akan ditimbulkannya, mulai dari yang ringan yaitu terasa gatal atau sampai yang berat yakni kulit tidak dapat merasakan apapun Penyakit kulit adalah penyakit yang disebabkan oleh infeksi bakteri dan virus berbahaya. Penyakit kelamin adalah jenis penyakit yang disebabkan oleh kuman yang ditularkan melalui hubungan seks oral maupun melalui hubungan kelamin. Jenis-jenis penyakit kelamin dan penyakit kulit yang terjadi pada kelamin (Djuanda, Adhi, 2010), antara lain: 1. Gonorrhea Gejala: a. Pada pria, gejala awal gonore biasanya timbul dalam waktu 2-7 hari setelah terinfeksi. Gejalanya berawal sebagai rasa tidak enak pada uretra dan beberapa jam kemudian diikuti oleh nyeri ketika berkemih serta keluarnya nanah dari penis. b. Sedangkan pada wanita, gejala awal biasanya timbul dalam waktu 7-21 hari setelah terinfeksi. Penderita seringkali tidak merasakan gejala selama beberapa minggu atau bulan, dan diketahui menderita penyakit tersebut hanya setelah pasangan hubungan seksualnya tertular. Jika timbul gejala, biasanya bersifat ringan. Tetapi beberapa penderita menunjukkan gejala yang berat, seperti desakan untuk berkemih, nyeri ketika berkemih, keluarnya cairan dari vagina, dan demam. Infeksi
21
dapat menyerang leher rahim, rahim, saluran telur, indung telur, uretra, dan rektum serta menyebabkan nyeri pinggul yang dalam ketika berhubungan seksual. 2. Chlamydia Gejala : a. Suhu badan meningkat/demam. b. Nyeri atau rasa panas ketika buang air kecil 3. Herpes Gejala: a. Pertama suhu badan akan meningkat/demam b. muncul lepuhan-lepuhan kecil yang berderet-deret pada permukaan kulit, yang disertai rasa panas dan gatal, yang terkadang sangat menyiksa, tidak tertahankan untuk tidak menggaruknya. 4. Infeksi Jamur Gejala: a. Menyebabkan kegatalan berwarna merah di bawah kulit pria yang tidak disunat, b. Pada wanita akan ke luar cairan putih kental yang menyebabkan rasa gatal. 5. Syphilis Gejala: a. Pertama suhu badan akan meningkat/demam b. Bercak di sekujur tubuh yang timbul beberapa minggu. c. Kehilangan nafsu makan, mual, lelah, demam dan anemia.
22
6. Vaginitis Gejala: a. Pertama suhu badan akan meningkat/demam b. Keluarnya cairan berwarna dari vagina yaitu keluar dalam jumlah banyak dan bau menyengat, disertai gatal-gatal dan nyeri. 7. AIDS (acquired immune deficiency syndrome)/HIV disease Gejala: a. Pertama suhu badan akan meningkat/demam b. Merasa kelelahan yang berkepanjangan c. Batuk yang tidak sembuh-sembuh disertai sesak nafas yang berkepanjangan. d. Diare/mencret terus-menerus selama 1 bulan e. Berat badan menurun secara drastis lebih dari 10% tanpa alasan yang jelas dalam 1 bulan.
2.3 WWW (World Wide Web) WWW atau yang sering disebut dengan Word Wide Web (jaringan dunia luas) adalah sebuah bagian dari internet yang sangat dikenal dalam dunia internet, dengan adanya WWW seorang pengguna dapat menampilkan sebuah halaman virtual yang disebut dengan Website. WWW ini bekerja menggunakan teknologi yang dikenal sebagai hypertext, yang kemudian dikembangkan menjadi suatu protokol aplikasi yang disebut
Hyper Text Transfer Protocol (HTTP) yang
digunakan untuk mengakses suatu informasi yang disimpan pada situs web, dengan teknologi Hypertext akan menggabungkan beberapa jenis representasi dan
23
metode pengaksesan informasi dan menyajikan dalam bentuk seperti teks, grafik, suara, animasi, video, dan sebagainya. WWW sering disebut sebagai Web atau W3. Secara teoritis, web tidak membatasi diri untuk data teks, tetapi juga menyertakan data grafik dan sebagainya secara bersamaan. Sebagai contoh, misalnya kita membaca artikel hypertext tentang pepohonan dan kita berpindah ke artikel tentang sebuah pohon, maka kita mungkin menemukan gambar untuk pohon tersebut, atau video klip untuk pohon tersebut, atau suara gemersik daun-daun pohon tersebut. Artikel hypertext yang menyertakan data grafik disebut sebagai artikel hypermedia. Selain itu web tidak membatasi diri untuk hubungan ke file, tetapi juga menyertakan hubungan ke segala tipe sumber daya internet, salah satu contoh adalah Terminal Emulation (Telnet) yaitu suatu aplikasi program komunikasi interaktif dua arah berbasiskan protokol TCP/IP yang digunakan untuk Telnet ke remote komputer dari komputer lokal atau terminal server, serta menikmati fungsi yang sama dengan terminal yang dihubungkan langsung ke komputer tersebut. Sekarang kita dapat menyimpulkan bahwa web adalah fasilitas hyperteks yang mengorganisir semua informasi dalam internet. Web memberi kesempatan kita mengakses semua sumber daya internet secara cepat dan mudah.
2.4 Website (Situs Web) 2.4.1 Pengertian Website atau Situs Web Website atau situs dapat diartikan sebagai kumpulan halaman-halaman yang digunakan untuk menampilkan informasi teks, gambar diam atau gerak, animasi, suara, dan atau gabungan dari semuanya itu baik yang bersifat statis
24
maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing-masing dihubungkan dengan jaringan-jaringan halaman. Website merupakan tempat penyimpanan data informasi dengan berdasarkan topik tertentu. Dapat diumpamakan website ini adalah buku yang memiliki tema tertentu. 2.4.2 Unsur-unsur Website Untuk menyediakan keberadaan sebuah website, maka harus tersedia unsur-unsur penunjangnya, adalah sebagai berikut: 1. Nama domain (Domain name/URL - Uniform Resource Locator) Pengertian nama domain atau biasa disebut dengan Domain Name atau URL adalah alamat unik di dunia internet yang digunakan untuk mengidentifikasi sebuah website, atau dengan kata lain domain name adalah alamat yang digunakan untuk menemukan sebuah website pada dunia internet. Nama domain diperjual belikan secara bebas di internet, nama domain sendiri mempunyai identifikasi ekstensi/akhiran sesuai dengan kepentingan dan lokasi keberadaan website tersebut. Contoh nama domain ber-ekstensi internasional adalah com, net, org, info, biz, name, ws. Contoh nama domain ber-ekstensi lokasi Negara Indonesia adalah co.id (untuk nama domain website perusahaan), ac.id (nama domain website pendidikan), go.id (nama domain website instansi pemerintah), org.id (nama domain website organisasi) 2. Rumah tempat website (Web hosting) Pengertian Web Hosting dapat diartikan sebagai ruangan yang terdapat dalam harddisk tempat menyimpan berbagai data, file-file, gambar dan lain sebagainya yang akan ditampilkan di website. Besarnya data yang bisa
25
dimasukkan tergantung dari besarnya web hosting yang disewa/dipunyai, semakin besar web hosting semakin besar pula data yang dapat dimasukkan dan ditampilkan dalam website. Web hosting juga diperoleh dengan menyewa. Besarnya hosting ditentukan ruangan harddisk dengan ukuran MB(Mega Byte) atau GB(Giga Byte). Lama penyewaan web hosting rata-rata dihitung per tahun. Penyewaan hosting dilakukan dari perusahaan-perusahaan penyewa web hosting yang banyak dijumpai baik di Indonesia maupun luar negeri. 3. Desain website Setelah melakukan penyewaan domain name dan web hosting serta penguasaan bahasa program (scripts program), unsur website yang penting dan utama adalah desain. Desain website menentukan kualitas dan keindahan sebuah website. Desain sangat berpengaruh kepada penilaian pengunjung akan bagus tidaknya sebuah website. Untuk membuat website biasanya dapat dilakukan sendiri atau menyewa jasa web designer. Perlu diketahui bahwa kualitas situs sangat ditentukan oleh kualitas designer.
Semakin
banyak penguasaan
web
designer tentang beragam
program/software pendukung pembuatan situs maka akan dihasilkan situs yang semakin berkualitas, demikian pula sebaliknya. Jasa web designer ini yang umumnya memerlukan biaya yang tertinggi dari seluruh biaya pembangunan situs dan semuanya itu tergantung kualitas designer. 4. Publikasi website Keberadaan situs tidak ada gunanya dibangun tanpa dikunjungi atau dikenal oleh masyarakat atau pengunjung internet. Karena efektif tidaknya situs sangat tergantung dari besarnya pengunjung dan komentar yang masuk. Untuk
26
mengenalkan situs kepada masyarakat memerlukan apa yang disebut publikasi atau promosi. Publikasi situs di masyarakat dapat dilakukan dengan berbagai cara seperti dengan pamlet-pamlet, selebaran, baliho dan lain sebagainya tapi cara ini bisa dikatakan masih kurang efektif dan sangat terbatas. Cara yang biasanya dilakukan dan paling efektif dengan tak terbatas ruang atau waktu adalah publikasi langsung di internet melalui search engine-search engine(mesin pencari, spt : Yahoo, Google, Search Indonesia, dsb). 2.4.3 Pemeliharaan Website Untuk mendukung kelanjutan dari situs diperlukan pemeliharaan setiap waktu sesuai yang diinginkan seperti penambahan informasi, berita, artikel, link, gambar atau lain sebagainya. Tanpa pemeliharaan yang baik situs akan terkesan membosankan atau monoton juga akan segera ditinggal pengunjung. Pemeliharaan situs dapat dilakukan per periode tertentu seperti tiap hari, tiap minggu atau tiap bulan sekali secara rutin atau secara periodik saja tergantung kebutuhan. Pemeliharaan rutin biasanya dipakai oleh situs-situs berita, penyedia artikel, organisasi atau lembaga pemerintah. Sedangkan pemeliharaan periodik bisanya untuk situs-situs pribadi, penjualan/e-commerce, dan lain sebagainya.
2.5 RUP (Rational Unified Process) Rational Unified Process (RUP) merupakan suatu metode rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perankat lunak. RUP menggunakan konsep object oriented,
27
dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model Language (UML).
Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek-aspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.
Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspekaspek
statis
dari
proses
pengembangan
perangkat
lunak
yang
dikelompokkan ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment. Untuk arsitektur metode RUP dapat dilihat pada gambar 1.1 berikut:
28
Gambar 2.4 Arsitektur Rational Unified Process
Pada penggunaan kedua standar tersebut diatas yang berorientasi obyek (object orinted) memiliki manfaat yakni: • Improve productivity Standard ini dapat memanfaatkan kembali komponen-komponen yang telah tersedia/dibuat sehingga dapat meningkatkan produktifitas • Deliver high quality system Kualitas sistem informasi dapat ditingkatkan sebagai sistem yang dibuat pada komponen - komponen yang telah teruji (well-tested dan well-proven) sehingga dapat mempercepat delivery sistem informasi yang dibuat dengan kualitas yang tinggi. • Lower maintenance cost Standard ini dapat membantu untuk menyakinkan dampak perubahan yang terlokalisasi dan masalah dapat dengan mudah terdeteksi sehingga hasilnya biaya pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan informasi tanpa standard yang jelas.
29
• Facilitate reuse Standard ini memiliki kemampuan yang mengembangkan komponenkomponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya. • Manage complexity Standard ini mudah untuk mengatur dan memonitor semua proses dari semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan semua manajer proyek IT/IS yakni deliver good quality software within cost and schedule time and the users accepted. Fase RUP 1. Inception –
Menentukan Ruang lingkup proyek
–
Membuat „Business Case‟
–
Menjawab pertanyaan “apakah yang dikerjakan dapat menciptakan „good business sense‟ sehingga proyek dapat dilanjutkan
2. Elaboration –
Menganalisa berbagai persyaratan dan resiko
–
Menetapkan „base line‟
–
Merencanakan fase berikutnya yaitu construction
3. Construction –
Melakukan sederetan iterasi
–
Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan testing
30
4. Transistion –
Membuat apa yang sudah dimodelkan menjadi suatu produk jadi
–
Dalam fase ini dilakukan: •
Beta dan performance testing
•
Membuat dokumentasi tambahan seperti; training, user guides dan sales kit
•
Membuat rencana peluncuran produk ke komunitas pengguna
2.6 UML (Unified Modeling Language) UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang software berorientasi objek (Adi Nugroho, 2010:6) . Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasiskan pada paradigma object oriented. Untuk unsur-unsur pembentuk UML dapat dilihat pada gambar 2.4 di bawah ini.
Gambar 2.4 Unsur-unsur pembentuk UML (Sumber : Adi Nugroho , 2010) Gambar diatas adalah unsur-unsur yang membentuk UML. Dengan UML, metode Booch, OMT dan OOSE digabungkan dengan membuang elemen-elemen yang tidak praktis ditambah dengan elemen-elemen dari metode lain yang lebih
31
efektif dan elemen-elemen baru yang belum ada pada metode terdahulu sehingga UML lebih ekspresif dan seragam daripada model lainnya. 2.1.1 Use Case Diagram Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif/sudut pandang para pengguna. Use case mendefinisikan “apa” yang dilakukan oleh sistem dan elemen-elemennya, bukan “bagaimana” sistem & elemen-elemennya saling berinteraksi. Use case bekerja dengan menggunakan “scenario”, yaitu deskripsi urutan-urutan langkah yang menerangkan apa yang dilakukan pengguna terhadap sistem. Komponen simbol dasar yang dipunyai oleh use-case diagram adalah aktor, use-case, dan association seperti terlihat pada Tabel 2.2 di bawah ini. Tabel 2.2 Simbol pada use case diagram Simbol
Nama Actor
Keterangan Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bisa dianggap sebagai actor.
Use Case
Use case digambarkan sebagai lingkaran elips dengan nama use case dituliskan didalam elips tersebut.
Association
Asosiasi digunakan untuk menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis yang menghubungkan antara Actor dengan Use Case.
32
2.1.2 Class Diagram Class Diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah obyek dan merupakan inti dari pengembangan dan desain berorientasi obyek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Sebuah Class memiliki tiga area pokok : 1. Nama, merupakan nama dari sebuah kelas 2. Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class 3. Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class. Berikut adalah sombol-simbol yang ada pada class diagram seperti terlihat pada Tabel 2.3 di bawah ini. Tabel 2.3 Simbol pada class diagram Simbol
Nama Class
Keterangan Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property / atribut class. Bagian akhir mendefinisikan method dari sebuah class.
33
Simbol
Nama Association
Keterangan Sebuah
asosiasi
merupakan
sebuah
relationship paling umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat menampilkan hukum-hukum multiplisitas pada sebuah relationship:
Composition
Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut.
Dependency
Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain.
Aggregation
Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi “mempunyai sebuah” atau “bagian dari”.
Generalization Sebuah relasi generalization sepadan dengan sebuah relasi inheritance pada konsep berorientasi obyek.
34
2.1.3 Statechart Diagram Diagram statechart memungkinkan untuk memodelkan bermacam-macam state yang mungkin dialami oelh objek tunggal. Jika pada diagram kelas menunjukkan gambaran statis kelas-kelas dan relasinya, diagram statechart digunakan untuk menggambarkan perilaku dinamik sebuah objek tunggal. Berikut adalah simbol-simbol yang ada pada diagram statechart seperti terlihat pada Tabel 2.4 di bawah ini. Tabel 2.4 Simbol statechart diagram Simbol
Nama
Keterangan
Start (Initial State) Start atau initial state adalah state atau keadaan awal pada saat sistem mulai hidup End (Final State)
End atau final state adalah state keadaan akhir dari daur hidup suatu sistem.
Event
Event
adalah
menyebabkan
kegiatan
yang
berubahnya
status
mesin.
State State
State atau status adalah keadaan sistem pada waktu tertentu. State dapat berubah jika ada event tertentu yang memicu perubahan tersebut.
35
2.1.4 Activity Diagram Activity diagram digunakan untuk mendokumentasikan alur kerja pada sebuah sistem. Pada dasarnya, activity diagram merupakan variasi dari statechart diagram. Activity diagram mempunyai peran seperti halnya flowchart. Berikut adalah simbol activity diagram seperti terlihat pada Tabel 2.5 dibawah ini. Tabel 2.5 Simbol pada activity diagram Simbol
Nama
Deskripsi
Swimline
Memisahkan pelaku yang bertanggung jawab terhadap aktivitas yang terjadi.
Titik Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki status awal
Titik Akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas
memiliki
sebuah status akhir. State
State atau status adalah keadaan sistem pada waktu tertentu. State dapat berubah jika ada event tertentu yang memicu perubahan tersebut.
Activity
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
Percabangan
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu yang terjadi
36
Simbol
Nama Fork
Keterangan Digunakan
untuk
menunjukkan
kegiatan yang dilakukan secara parallel atau
untuk
menggabungkan
dua
kegiatan parallel menjadi satu.
2.1.5 Sequence Diagram Diagram sekuensial (sequence diagram) digunakan untuk menunjukkan alur (flows) fungsionalitas yang melalui sebuah use case yang disusun dalam urutan waktu. Berikut adalah simbol-simbol yang ada pada diagram sequence seperti terlihat pada Tabel 2.6 di bawah ini. Tabel 2.6 Simbol pada sequence diagram Simbol Aktor
Deskripsi Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang
nama aktor :
akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang,
Atau
nama aktor
tapi aktor belum tentu merupakan orang; bisanya dinyatakan menggunakan kata benda diawal frase nama aktor
Dengan waktu aktif
37
Simbol
Deskripsi
Garis hidup / lifeline
Menyatakan kehidupan suatu objek
Objek
Menyatakan objek yang berinterkasi pesan
Waktu aktif
Menyatakan objek dalam keadaan aktif dan berinterkasi pesan
Pesan tipe create
Menyatakan suatu objek membuat objek lain, arah panah mengarah pada objek yang dibuat
Pesan tipe call
Menyatakan suatu objek memanggil operasi/metode yang ada pada objek lain atau dirinya sendiri,
Pesan tipe send
Menyatakan bahwa suatu objek mengirimkan data/masukan/informasi ke objek lainya, arah panah mengarah pada objek yang dikirimi
Pesan tipe return
Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian
Pesan tipe destroy
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada objek yang diakhiri, sebaiknya jika ada create maka ada destroy
38
2.7 PHP Menurut dokumen resmi PHP, PHP merupakan singkatan dari PHP hypertext Prepocessor. PHP merupakan bahasa script yang ditampatkan dalam server dan diproses d server. Hasilnyalah yang dikirimkan ke client, tempat pemakai menggunkan browser (Abdul Kadir, 2008). Secara khusus, PHP dirancang untuk membentuk aplikasi web dinamis. Artinya, ia dapat membentuk suatu tampilan berdasarkan permintaaan terkini. Mislanya, kita bisa menampilkan isi database ke dalam halaman web. Pada saat ini PHP cukup populer sebagai piranti pemograman web, terutama lingkugan Linux. Walaupun demikian, PHP sebenarnya juga dapat berfungsi pada severserver berbasis UNIX, Windows, Macintohs dan sistem operasi yang lain. Adapun kelebihan-kelebihan dari PHP yaitu : 1. PHP mudah dibuat dan kecepatan akses tinggi. 2. Dapat berjalan dalam web server yang berbeda dan dalam system operasi yang berbeda pula. 3. Kompabilitasnya dengan berbagai macam jenis database. 4. PHP termasuk bahasa yang embedded (bias diletakkan dalam tag HTML).
2.8 Basis Data Secara umum, basis data (database)
berarti koleksi data yang saling
terkait. Secara praktis, basis data dapat dianggap sebagai suatu penyusunan data yang terstruktur yang disimpan dalam media penyimpanan yang tujuannya adalah agar data tersebut dapat diakses dengan mudah dan cepat (Abdul Kadir, 2008).
39
Basis data dapat dibayangkan sebagai sebuah lemari arsip yang ditempatkan secara berurutan untuk memudahkan dalam pengambilan kembali data tersebut. Penerapan basis data dalam sistem informasi disebut sebagai sistem basis data (database system). Basis data terdiri dari kata basis dan data. Basis diartikan sebagai gudang atau tempat bersarang dan data yang berarti representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, hewan, peristiwa, konsep dan sebagainya yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya. Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudancy) yang tidak perlu, sehingga memudahkan dalam pengelolaannya. Tabel 2.7 Tabel Simbol-simbol ERD Simbol
Nama Entitas, adalah suatu objek yang dapat diidentifikasi dalam lingkungan pemakai.
Relasi, menunjukkan adanya hubungan di antara sejumlah entitas yang berbeda.
Atribut, berfungsi mendeskripsikan karakter entitas (atribut yg berfungsi sebagai key diberi garis bawah) Garis, sebagai penghubung antara relasi dengan entitas, relasi dan entitas dengan atribut
40
2.9 MySQL MySQL adalah perangkat lunak Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakannya, tapi tidak boleh dijadikan produk turunan yang bersifat Closed Source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL. SQL adalah kependekan dari Structured Query Language. Dalam bahasa Inggris, SQL biasa dibaca sebagai SEQUEL atau ESKYU-EL. Bahasa ini merupakan standar yang digunakan untuk mengakses database relasional [Abdul Kadir, 2008]. SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Kehandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja Optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibanding database server lainnya dalam query data. Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL. 1. Portability MySQL dapat berjalan stabil pada berbagai system operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, dan lain-lain.
41
2. Open Source MySQL didistribusikan secara Open Source, sehingga dapat digunakan secara bebas. 3. Multi-user MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah. Hal ini memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan. 4. Performance Tuning MySQL memiliki kecepatan yang tinggi dalam menangani query, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Column Types MySQL
memiliki
tipe
kolom
yang
sangat
kompleks,
seperti
signed/unsigned integer, float, double, char, varchar, text, blob, date, time, timestamp, year, set dan enum. 6. Command dan Function MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query. 7. Security MySQL memiliki lapisan lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi. 8. Scalability dan Limits MySQL mampu menangani database dengan skala besar, dengan jumlah records lebih dari 50 juta dan 60 juta table serta 5 miliar baris.
42
9. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protocol TCP/IP. 10. Localization Deteksi pesan kesalahan pada client dengan menggunakan lebih dari 20 bahasa. 11. Interface Interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface) 12. Client dan Tools Dilengkapi dengan berbagai Tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.
2.10
Teknik Pengujian Pentingnya pengujian perangkat lunak mengacu pada kualitas perangkat
lunak yang melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan karena ketidak mampuan manusia dalam melakukan komunikasi dengan sempurna terhadap kebutuhan yang diinginkan user maka pengembangan perangkat lunak harus diiringi dengan aktivitas jaminan kualitas dengan melakukan pengujian terhadap perangkat lunak tersebut. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak unuk mencari kesalahan yang terdapat pada perangkat lunak sebelum perangakat lunak tersebut digunakan.
43
Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah [Roger S Pressman, 2002]: 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya. Untuk mendapatkan kesalahan pada perangkat lunak, digunakan beberapa teknik pengujian diantaranya : 2.1.6 Pengujian White-Box Pengujian white-box adalah metode disain test case yang meggunakan struktur kontrol disain prosedural untuk memperoleh test case. Dengan menggunakan metode pengujian white-box, perekayasa dapat melakukan test case yang : 1. Memberikan jaminan bahwa semua jalur independen pada suatu modul telah digunakan paling tidak satu kali. 2. Mengguanakan semua keputusan logis pada sisi true dan false. 3. Mengeksekusi semua loop pada batasan mereka dan pada batas operasional meraka. 4. Menggunkan struktur data internal untuk menjamin validasinya.
44
2.1.7 Pengujian Black-Box Pengujian
black-box
memungkinkan
perekayasa
perangkat
lunak
mendapatkan serangakaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black-box berusaha menemukan kesalahan dalam kategori sebagai berikut : 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan interface. 3. Kesalahan dalam struktur data atau akses database. 4. Kesalahan kinerja. 5. Inisaialisasi dan kesalahan terminasi.