BAB II LANDASAN TEORI II.1. Sistem Sistem adalah kumpulan dari bagian-bagian yang bekerja sama untuk mencapai tujuan yang sama. Sistem adalah sekumpulan objek-objek yang saling berelasi dan berinteraksi serta hubungan antar objek bisa dilihat sebagai suatu kesatuan yang dirancang untuk mencapai suatu tujuan. Sistem adalah penggabungan dari bagian-bagian atau komponen-komponen yang terpisah-pisah dan disatukan menjadi satu rangkaian dan menjadi suatu fungsi yang baru (Aris, et al : 2015). Setiap sistem pasti terdiri dari struktur dan proses, struktur sistem merupakan unsur-unsur yang membentuk sistem tersebut, sedangkan proses sistem menjelaskan cara kerja dari setiap unsur sistem tersebut dalam mencapai tujuan sistem. Dan dapat disimpulkan bahwa suatu sistem pada dasarnya adalah sekelompok unsur yang erat berhubungan satu dengan yang lainnya, yang berfungsi bersama-sama untuk mencapai tujuan tertentu ( Rosana Junita Sirait, et al :2015). II.2. Pakar Pakar adalah orang yang mempunyai keahlian khusus yang dapat menyelesaikan masalah yang tidak dapat diselesaikan oleh orang awam. Sebagai contoh, dokter adalah seorang pakar yang mampu men-diagnosis penyakit yang 14
15 diderita pasien serta dapat memberikan penatalaksanaan terhadap penyakit tersebut. Tidak semua orang dapat mengambil keputusan mengenai diagnosis dan memberikan penatalaksanaan suatu penyakit. Contoh lain, montir adalah seorang yang punya keahlian dan pengalaman dalam menyelesaikan kerusakan mesin motor atau mobil, psikolog adalah orang yang ahli dalam memahami kepribadian seseorang, dan lain-lain (Joko S Dwi Raharjo, et al : 2016; 1). II.3. Sistem Pakar Secara umum, sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar dapat menyelesaiakan suatu permasalahan tertentu dengan meniru kerja dari para ahli. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalah yang cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli. Bagi para ahli, sistem pakar ini juga akan membantu aktivitasnya sebagai asisten yang sangat berpengalaman. (Triara Puspitasari, et al : 2016 ; 3). Prinsip sistem pakar adalah sebuah perangkat lunak komputer yang memiliki basis pengetahuan untuk domain tertentu dan menggunakan penalaran inferensi menyerupai seorang pakar dalam memecahkan masalah. Sistem pakar adalah sebuah teknik inovatif baru dalam menangkap dan memadukan pengetahuan. Kekuatannya terletak pada kemampuannya memecahkan masalahmasalah praktis pada saat sang pakar berhalangan. Kemampuan sistem pakar ini
16 karena didalamnya terdapat basis pengetahuan yang berupa pengetahuan non formal yang sebagian besar berasal dari pengalaman, bukan dari text book. Pengetahuan ini diperoleh seorang pakar berdasarkan pengalamannya bekerja selama bertahun-tahun pada sebuah bidang keahlian tertentu. Pemecahan dari masalah, dan sistem pakar adalah satu jalan untuk mendapatkan pemecahan masalah, secara lebih cepat dan mudah (Nanda Amalia dan Yuni Yamasari, 2015). II.3.1. Konsep-Konsep Dasar Sistem Pakar Konsep-konsep dasar dari sebuah sistem pakar adalah (Mikha Dayan Sinaga, et al : 2016) : 1. Keahlian (Expertise) Keahlian merupakan pengetahuan khusus yang dimiliki oleh seseorang melalui latihan, belajar, serta pengalaman-pengalaman yang dialami pada suatu bidang tertentu dalam jangka waktu yang cukup lama. Dengan pengetahuan tersebut seorang pakar dapat memberikan keputusan yang lebih baik dan cepat dalam menyelesaikan suatu permasalahan yang sulit. 2. Ahli Atau Pakar (Expert) Seorang pakar harus memiliki kemampuan menyelesaikan permasalahan pada bidang tertentu yang ditanganinya, kemudian memberikan penjelasan mengenai hasil dan kaitannya dengan permasalahan yang ada. Untuk meniru kepakaran seorang manusia, perlu dibangun sebuah sistem komputer yang menunjukkan seluruh
17 karakteristik tersebut. Namun hingga saat ini, pekerjaan dibidang sistem pakar terfokus pada aktifitas penyelesaian masalah dan memberikan penjelasan mengenai solusinya. 3. Memindahkan Keahlian (Transferring Expertise) Tujuan dari sistem ini adalah memindahkan keahlian yang dimiliki oleh seorang pakar ke dalam sebuah sistem komputer, kemudian dari sebuah system computer kepada orang lain yang bukan pakar. Proses ini dapat meliputi empat kegiatan : a. Perolehan pengetahuan (Knowledge Acquistion). b. Representasi pengetahuan (Knowledge Representation). c. Menyimpulkan pengetahuan (Knowledge Inferencing). d. Memindahkan pengetahuan kepada pemakai (Knowledge Transfer to User). Pengetahuan tersebut ditempatkan ke dalam suatu komponen yang dinamakan basis pengetahuan (Knowledge Base). 4. Kesimpulan (Inference) Keistimewaan dari sistem pakar adalah kemampuannya dalam memberikan saran, yaitu dengan menempatkan keahlian kedalam basis pengetahuan (Knowledge Base) dan membuat program yang mampu mengakses basis pengetahuan sehingga sistem dapat memberikan kesimpulan. Kesimpulan dibentuk didalam komponen yang dinamakan mesin pengambil kesimpulan ( Inference Engine), dimana berisi aturan-aturan untuk menyelesaikan masalah.
18 5. Aturan (Rule) Umumunya sistem pakar adalah sistem berbasis aturan, yaitu pengetahuan yang terdiri dari aturan-aturan sebagai prosedur penyelesaian masalah. Pengetahuan tersebut digambarkan sebagai suatu urutan seri dari kaidah-kaidah yang sudah dibuat. 6. Kemampuan Penjelasan (Explanation Capability) Keistimewaan lain dari sistem pakar adalah kemampuannya dalam memberikan saran atau rekomendasi serta menjelaskan mengapa tindakan tertentu tidak dianjurkan. Pemberian penerangan dan pendapat ini dilakukan dalam suatu subsistem yang dinamakan subsistem penjelasan (explanation subsystem). II.3.2. Struktur Sistem Pakar Menurut T.Sutojo, dkk (2011 : 166), Ada 2 bagian penting dari sistem pakar, yaitu lingkungan pengembangan ( development environment) dan lingkungan konsultasi ( consultation environment). Lingkungan pengembangan digunakan oleh pembuat sistem pakar untuk membangun komponenkomponennya dan memperkenalkan pengetahun ke dalam knowledge base (basis pengetahuan). Lingkungan konsultasi digunakan oleh pengguna untuk berkonsultasi sehingga pengguna mendapatkan pengetahuan dan nasehat dari sistem pakar layaknya berkonsultasi dengan seorang pakar. Adapun komponenkomponen yang penting dalam sebuah sistem pakar dapat dilihat pada gambar II.1 berikut ini :
19 Gambar II.1. Komponen-komponen yang penting dalam sebuah sistem pakar (Sumber : T.Sutojo, dkk : 2011 ; 167) Penjelasan tentang gambar II.1 adalah sebagai berikut (T.Sutojo, dkk :2011 ; 167-169): 1. Akuisisi pengetahuan Susbsitem ini digunakan untuk memasukkan pengetahuan dari seorang pakar dengan cara merekayasa pengetahuan agar bisa diproses oleh komputer dan menaruhnya kedalam basis pengetahuan dengan format tertentu (dalam bentuk representasi pengetahuan). Sumbersumber pengetahuan bisa diperoleh dari pakar, buku, dokumen, multimedia, basis data, laporan riset khusus, dan informasi yang terdapat di Web.
20 2. Basis Pengetahuan (Knowledge Base) Basis pengetahuan mengandung pengetahuan yang diperlukan untuk memahami, memformulasikan, dan menyelesaikan 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 atau kesimpulan. 4. Daerah Kerja (Blackboard) Untuk merekam hasil sementara yang akan dijadikan sebagai keputusan dan untuk menjelaskan sebuah masalah yang akan terjadi, sistem pakar membutuhkan Blackboard, yaitu area pada memori yang berfungsi sebagai basis data. 5. Antarmuka Pengguna (User Interface) Digunakan sebagai media komunikasi antara pengguna dan sistem pakar. Komunikasi ini yang paling bagus bila disajikan dalam bahasa alami ( natural language) dan dilengkapi dengan grafik, menu, dan formulir elektronik. 6. Subsistem Penjelasan (Explanation Subsystem / Justifier) Berfungsi memberikan penjelasan kepada pengguna, bagaimana suatau kesimpulan dapat diambil. Kemampuan seperti saat ini sangat
21 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 menganalisis pegetahuan, belajar dari kesalahan masa lalu, kemudian memperbaiki pengetahuannya sehingga dapat dipakai di masa mendatang. Kemampuan evaluasi diri seperti itu diperlukan oleh program agar dapat menganalisis alasanalasan kesuksesan dan kegagalan dalam mengambil kesimpulan. Denga cara ini basis pengetahuan yang lebih baik dan penalaran yang leih efektif akan dihasilkan. 8. Pengguna (User) Pada umumnya pengguna sistem pakar bukanlah seorang pakar (nonexpert) yang membutuhkan solusi, saran, atau pelatihan (training) dari berbagai permasalahan yang ada. II.4. Metode Certainty Factor Factor kepastian ( Certainty Factor) ini diusulkan oleh Shortliffe dan Buchanan pada tahun 1975 untuk mengakomodasi ketidakpastian pemikiran (inexact reasoning) seorang pakar. Teori ini berkembang bersamaan dengan pembuatan sistem pakar MYCIN. Tim pengembang MYCIN mencatat bahwa dokter sering kali menganalisa informasi yang ada dengan ungkapan seperti misalnya: mungkin, kemungkinan besar, hampir pasti, dan sabagainya. Untuk
22 mengakomodasi hal ini tim MYCIN menggunakan certainty factor (CF) guna menggambarkan tingkat keyakinan pakar terhadap masalah yang sedang dihadapi (Frans Ikorasaki : 2015). Ada dua cara dalam mendapatkan tingkat keyakinan (CF) dari sebuah rule, yaitu (T.Sutojo, dkk ; 2011 : 194-196): 1. Metode Net Belief yang diusulkan oleh E. H. Shortliffe dan B. G. Buchanan CF(Rule) = MB[H,E] MD[H,E]...(II.1) MB(H, E) = MD(H, E) = Dimana : 1 P(H) = 1 max[p(h E), P(H)] P(H) max[1,0] P(H) 1 P(H) = 0 min[p(h E), P(H)] P(H) min[1,0] P(H) lainnya (II. 2) lainnya (II. 3) CF(Rule) = Faktor kepastian MB(H,E) = measure of belief (ukuran kepercayaan) terhadap hipotesis H, jika diberikan evidence E (antara 0 dan 1) MD(H,E) = measure of disbelief (ukuran ketidakpercayaan) terhadap evidence H, jika diberikan evidence E (antara 0 dan 1) P(H) P(H E) = Probabilitas kebenaran hipotesis H = Probabilitas bahwa H benar karena fakta E 2. Dengan cara mewawancarai seorang pakar Nilai CF (Rule) didapat dari interpretasi term dari pakar, yang diubah menjadi nilai CF tertentu sesuai tabel berikut.
23 Tabel II.1. Nilai CF Uncertain Term CF Definitely not (pasti tidak) -1.0 Almost certainly not (hampir pasti tidak) -0.8 Probably not (kemungkinan besar tidak) -0.6 Maybe not (mungkin tidak) -0.4 Unknown (tidak tahu) -0.2 to 0.2 Maybe (mungkin) 0.4 Probably (kemungkinan besar) 0.6 Almostcertainly (hampir pasti) 0.8 Definitely (pasti) 1.0 (Sumber :T.Sutojo, dkk (2011 : 195-196) II.4.1. Perhitungan Certainty Factor Gabungan Secara umum, rule direpresentasikan dalam bentuk sebagai berikut (T.Sutojo, dkk ; 2011 : 196-198) : IF E 1 AND E 2...AND E n THEN H (CF Rule) Atau IF E 1 OR E 2...OR E n THEN H (CF Rule) Dimana : E 1... E n H CF (Rule) : Fakta-fakta (evidence) yang ada : Hipotesis atau konklusi yang dihasilkan : Tingkat keyakinan terjadinya hipotesis H akibat adanya faktafakta E 1... E n 1. Rule dengan evidence E tunggal dan Hipotesis H tunggal IF E THEN H (CF rule) CF(H,E) = CF(E) x CF (rule)...(ii.4)
24 Catatan : Secara praktik, nilai CF rule ditentukan oleh pakar, sedangkan nilai CF(E) ditentukan oleh pengguna saat berkonsultasi dengan sistem pakar. 2. Rule dengan evidence E ganda dan Hipotesis H tunggal IF E 1 AND E 2...AND E n THEN H (CF Rule) CF(H,E) = min[cf(e 1 ), CF (E 2 ),..., CF(E n )] x CF (rule)...(ii.5) IF E 1 OR E 2...OR E n THEN H (CF Rule) CF(H,E) = max[cf(e 1 ), CF (E 2 ),..., CF(E n )] x CF (rule)...(ii.6) 3. Kombinasi dua buah rule dengan evidence berbeda (E 1 dan E 2 ), tetapi hipotesis sama. IF E 1 THEN H Rule 1 CF(H,E 1 ) = CF 1 = C(E 1 ) x CF (Rule1) IF E 2 THEN H Rule 2 CF(H,E 2 ) = CF 2 = C(E 2 ) x CF (Rule2) CF(CF, CF ) = CF + CF (1 CF ) jika CF > 0 dan CF > 0 CF + CF jika CF < 0 atau CF < 0 (II. 7) 1 min[ CF, CF ] CF + CF x (1 + CF ) jika CF < 0 dan CF < 0 II.4.2. Kelebihan dan Kekurangan Metode Certainty Factor Adapun kelebihan Certainty Factor adalah (Adlin Hasibuan, 2014) : 1. Metode ini cocok dipakai dalam sistem pakar untuk mengukur sesuatu apakah pasti atau tidak pasti dalam mendiagnosis penyakit sebagai salah satu contohnya.
25 2. Perhitungan dengan menggunakan metode ini dalam sekali hitung hanya dapat mengolah 2 data saja sehingga keakuratan data dapat terjaga. Sedangkan kekurangan metode Certainty Factor adalah : 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 dapat mengolah ketidakpastian/kepastian hanya 2 data saja. Perlu dilakukan beberapa kali pengolahan data untuk data yang lebih dari 2 buah data. II.5. Metode Dempster Shafer Dempster Shafer adalah suatu teori matematika untuk pembuktian berdasarkan belief functions and plausible reasoning (fungsi kepercayaan dan pemikiran yang masuk akal), yang digunakan untuk mengkombinasikan potongan informasi yang terpisah (bukti) untuk men gkalkulasi kemungkinan dari suatu peristiwa. Teori ini dikembangkan oleh Arthur P. Dempster dan Glenn Shafer. Secara umum teori Dempster Shafer ditulis dalam suatu interval : [Belief,Plausibility]...(II.8) 1. Belief (Bel) adalah ukuran kekuatan evidence dalam mendukung suatu himpunan proposisi. Jika bernilai 0 maka mengindikasikan bahwa
26 tidak ada evidence, dan jika bernilai 1 menunjukkan adanya kepastian. Dimana nilai bel yaitu (0-0.9). 2. Plausibility (Pl) dinotasikan sebagai : Pl(s) = 1 Bel (-s)...(ii.9) Plausibility juga bernilai 0 sampai 1. Jika yakin akan -s, maka dapat dikatakan bahwa Bel(-s)=1, dan Pl(-s)=0. Pada teori Dempster Shafer dikenal adanya frame of discrement yang dinotasikan dengan θ. Frame ini merupakan semesta pembicaraan dari sekumpulan hipotesis. Tujuannya adalah mengaitkan ukuran kepercayaan elemen-elemen θ. Tidak semua evidence secara langsung mendukung tiap-tiap elemen. Untuk itu perlu adanya probabilitas fungsi densitas (m). Nilai m tidak hanya mendefinisikan elemenelemen θ saja, namun juga semua subsetnya. Sehingga jika θ berisi n elemen, maka subset θ adalah 2n. Jumlah semua m dalam subset θ sama dengan1. Apabila tidak ada informasi apapun untuk memilih hipotesis, maka nilai : m{θ} = 1,0. Apabila diketahui X adalah subset dari θ, dengan m1 sebagai fungsi densitasnya, dan Y juga merupakan subset dari θ dengan m2 sebagai fungsi densitasnya, maka dapat dibentuk fungsi kombinasi m1 dan m2 sebagai m3, yaitu: ( ) = = ( ). ( ) (II. 10) 1 = 1 ( ). 2( ) (Muhammad Dahria, et al : 2013).
27 II.6. Microsoft Visual Basic 2010 Pada akhir tahun 1999, Teknologi.NET diumumkan. Microsoft memposisikan teknologi tersebut sebagai platform untuk membangun XML Web Services. XML Web services memungkinkan aplikasi tipe apa pun dapat berjalan pada system komputer dengan tipe manapun dan dapat mengambil data yang tersimpan pada server dengan tipe apa pun melalui internet. Visual Basic.NET adalah Visual Basic yang direkayasa kembali untuk digunakan pada platform.net sehingga aplikasi yang dibuat menggunakan Visual Basic.NET dapat berjalan pada sistem komputer apa pun, dan dapat mengambil data dari server dengan tipe apa pun asalkan ter-instal.net Framework (Priyanto Hidayatullah, 2012 : 4-5). Microsoft Visual Basic.NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak diatas sistem.net Framework, dengan menggunakan bahasa BASIC. Dengan menggunakan alat ini, para programmer dapat membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga aplikasi command line. Alat ini dapat diperoleh secara terpisah dari beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio.NET. Bahasa Visual Basic.NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan diatas.net Framework. Peluncurannya mengundang kontroversi, mengingat banyak sekali perubahan yang dilakukan oleh Microsoft, dan versi baru ini tidak kompatibel dengan versi terdahulu.
28 Teknologi.NET muncul karena adanya beberapa alasan pada teknologi aplikasi Microsoft yang lama (Ahmad Rais Ruli, 2017 : 11). II.7. MySQL MySQL (My Structure Query Language) merupakan sebuah program database yang bersifat open source, artinya semua orang dapat menggunakannya dan dapat dijalankan pada semua platform baik windows maupun linux. MySQL juga merupakan sebuah perangkat lunak sistem manajemen basis data SQL yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multiuser. MySQL juga sering dikenal dengan nama sistem manajemen database relasional. Suatu database relasional menyimpan data dalam table yang terpisah. Tabel-tabel tersebut terhubungkan oleh suatu relasi terdefinisi yang memungkinkan user memperoleh kombinasi data dari beberapa table dalam suatu permintaan. Untuk administrasi database, seperti pembuatan database, pembuatan tabel, dan sebagainya dapat digunakan aplikasi berbasis web seperti phpmyadmin dengan aplikasi XAMPP (Saipul Anwar, et al : 2016 ; 75). II.8. Database Database sering didefinisikan sebagai kumpulan data yang terkait. Secara teknis, yang berada dalam sebuah database adalah sekumpulan tabel atau objek lain (indeks, view, dan lain-lain). Tujuan utama pembuatan database adalah untuk memudahkan dalam mengakses data (Eka Choliviana, et al :2013).
29 Database adalah sekumpulan data yang berisi informasi mengenai satu atau beberapa object. Data dalam database tersebut biasanya disimpan dalam tabel yang saling berhubungan antara satu dengan yang lain (Dani Ainur Rivai, et al : 2013). II.9. Normalisasi Normalisasi diartikan sebagai suatu teknik yang menstrukurkan/ mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan-penyimpangan (anomallies) yang terjadi akibat adanya kerangkapan data dalam relasi dan in-efisiensi pengolahan. Proses normalisasi menghasilkan relasi yang optimal, yaitu: 1. Memiliki struktur record yang konsisten secara logik; 2. Memiliki struktur record yang mudah untuk dimengerti; 3. Memiliki struktur record yang sederhana dalam pemeliharaan; 4. Memiliki struktur record yang mudah ditampilkan kembali untuk memenuhi kebutuhan pengguna; 5. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem (Edy Sutanta : 2011 ; 174-175). II.10. Unified Modeling Language (UML) UML ( Unified Modeling Language) adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma Berorientasi Objek. Pemodelan
30 (Modeling) digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Tujuan pemodelan adalah sebagai sarana analis, pemahaman visualisasi, dan komunikasi antar anggota tim pengembang (saat seorang analis perangkat lunak bekerja dalam tim yang beranggotakan beberapa/banyak anggota), serta sebagai sarana dokumentasi (yang bermanfaat untuk melakukan pengujian terhadap perangkat lunak yang telah diselesaikan). UML yang sesungguhnya merupakan metodologi kolaborasi antara metode-metode Booch yang dikembangkan oleh Graddy Booch. OMT ( Object Modeling Technique) yang dikembangkan oleh DR. James Rumbaugh, serta OOSE ( Object Oriented Software Engineering) yang dikembangkan oleh Ivar Jacobson, dan beberapa metode lainnya, merupakan metodelogi yang paling sering/paling tepat digunakan saat ini yang mengadaptasi penggunaan bahasabahasa pemograman yang berparadigma berorientasi objek ( Achmad Hamzah Nasrullah, et al : 2015 ; 5-6). II.10.1. Fungsi Unified Modeling Language (UML) Unified Modeling Language (UML) biasa digunakan untuk: 1. Menggambarkan batasan sitem dan fungsi-fungsi sistem secara umum, dibuat dengan usecase dan actor. 2. Menggambarkan kegiatan atau proses bisnis yang dilaksanakan secara umum, dibuat dengan interaction diagrams.
31 3. Menggambarkan representasi struktur static sebuah sistem dalam betuk class diagrams. 4. Membuat model behavior yang menggambarkan kebiasaan atau sifat sebuah sistem dengan state transition diagrams. 5. Menyatakan arsitektur implementasi fisik menggunakan component and development. 6. Menyampaikan atau memperluas fungsionality dengan stereotypes. UML merupakan salah satu alat bantu yang sangat handal dalam bidang pengembangan sistem berorientasi objek. Karena UML menyediakan bahasa pemodelan visual yang memungkinkan pengembang sistem membuat blue print atas visinya dalam bentuk yang baku. UML berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dalam sistem melalui sejumlah elemen grafis yang bisa dikombinasikan menjadi diagram. UML mempunyai banyak diagram yang dapat mengakomodasikan berbagai sudut pandang dari suatu perangkat lunak yang akan dibangun. Diagram-diagram tersebut digunakan untuk : 1. Mengkomunikasikan ide. 2. Melahirkan ide-ide baru dan peluang-peluang baru. 3. Menguji ide dan membuat prediksi. 4. Memahami struktur dan relasi-relasinya (Aris, et al : 2015). II.10.2. Diagram-Diagram Unified Modelling Language (UML) Adapun jenis-jenis dari diagram UML adalah sebagai berikut :
32 1. Use Case Diagram Suatu use case diagram menampilkan sekumpulan use case dan aktor (pelaku) dan hubungan diantara use case dan aktor tersebut. Use case diagram digunakan untuk penggambaran use case statik dari suatu sistem. Use case diagram penting dalam mengatur dan memodelkan kelakuan dari suatu sistem. Use case menjelaskan apa yang dilakukan sistem (atau subsistem) tetapi tidak menspesifikasi cara kerjanya kelakuan dari use case. Flow of event digunakan untuk menspesifikasi cara kerjanya kelakuan dari use case. Flow of event menjelaskan use case dalam bentuk tulisan dengan sejelas-jelasnya, diantaranya bagaimana, kapan use case dimulai dan berakhir, ketika use case berinteraksi dengan aktor, objek apa yang digunakan, alur dasar dan alur alternatif. Terdapat beberapa simbol dalam menggambarkan diagram use case, yaitu use cases, aktor dan relasi (Achmad Hamzah Nasrullah, et al : 2015 ; 6).
33 Gambar II.2. Use Case Diagram (Sumber : Aris, et al : 2015) 2. Activity Diagram Activity diagram menggambarkan sebagai alur aktifitas dalam sistem yang sedang dirancang. Bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Sebuah aktifitas dapat direalisasikan oleh satu use case atau lebih. Aktifitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana actor menggunakan sistem untuk melakukan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi teretentu. Untuk mengilustrasikan proses-
34 proses parallel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertical. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktifitas tertentu (I Made Budi Adnyana, 2016 : 52) Gambar II.3. Activity Diagram (Sumber : I Made Budi Adnyana, 2016 : 53)
35 3. Class Diagram Class Diagram menggambarkan class dalam sebuah sistem dan hubungannya antara satu dengan yang lain, serta dimasukkan pula atribut dan operasi. Umumnya class diagram dari suatu sistem akan menggambarkan juga bagaimana struktur database yang dibutuhkan untuk membangun sistem tersebut (Abulwafa Muhammad, et al : 2013 ; 57). Gambar II.4. Class Diagram (Sumber : Rosana Junita Sirait, et al : 2015)
36 4. Sequence Diagram Sequence diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan pesan yang dikirimkan dan diterima antar objek (Ade Hendini : 2016 ; 110). Gambar II.5. Sequence Diagram (Sumber : Ade Hendini, 2016 : 114)
37 II.11. Penyakit Polycystic Ovary Syndrome (PCOS) Polikistik Ovarium merupakan kumpulan dari tanda dan gejala yang heterogen sehingga dapat menyababkan penurunan tingkat kesuburan. Diagnosisnya dapat ditegakkan dengan menemukan gejala klinis. Gejala yang akan timbul tergantung dari derajat abnormalitas sistem metabolisme dan gonadotropin yang dihubungkan dengan interaksi antara genetik dan lingkungan. Sindrom polikistik ovarium adalah suatu penyakit hormonal yang biasa dikaitkan dengan gangguan menstruasi, hirsutisme, jerawat diwajah, obesitas, infertilitas dan aborsi yang dalam beberapa kasus akan mempengaruhi kualitas hidup. Penamaan penyakit ini didapatkan karena adanya lesi di ovarium yang membesar dan didalamnya diisi dengan kista yang multiple. Penyebab sindrom polikistik ovarium ini belum diketahui, namun diduga terdapat keterkaitan dengan proses pengaturan ovulasi dan ketidakmampuan enzim yang berperan dalam sintesis estrogen di ovarium. Berikut ini penjabaran mengenai etiologi dan patogenesis sindrom polikistik ovarium : 1. Peningkatan faktor pertumbuhan menyebabkan peningkatan respon ovarium terhadap Luteinizing Hormone (LH) dan Follicle Stimulating Hormone (FSH), sehingga perkembangan folikel ovarium bertambah dan produksi androgen akan meningkat. Perkembangan folikel yang berlebihan ini akan menyebabkan banyaknya folikel yang bersifat kistik.
38 2. Adanya hubungan antara obesitas dan peningkatan resiko polikistik ovarium melalui peningkatan resistensi insulin yang menyebabkan sel teka memproduksi androgen dan menghambat Sex Hormone Binding Globulin (SHBG) sehingga androgen bebas meningkat. Keadaan ini menyebabkan androgen banyak diaromatisasi menjadi estrogen yang akan menghasilkan LH dan memicu pematangan folikel. 3. Hiperandrogen, anovulasi dan polikistik ovarium disebabkan oleh factor genetic terkait kromosom X. Penegakan diagnosis sindrom polikistik ovarium dapat dilakukan dengan melihat tanda-tanda berikut : 1. Hiperandrogenemia: baik secara biokimia atau pemeriksaan fisik tanpa ada atau adanya gangguan system endorkrin pengecekan dapat dilakukan dengan melihat pertumbuhan bulu pada tubuh penderita atau dapat dilakukan dengan Ferriman Gallwel Score. Untuk keakuratan hasil dapat pula dicek melalui direct radioimmunoassay (RIA) dengan menghitung kadar testosterone bebas. 2. Anovulasi, yaitu tidak adanya ovulasi selama 3 bulan atau lebih. Sementara oligoovulasi yaitu ovulasi yang terjadi lebih dari 35 hari. 3. Adanya polikistik ovarium dalam pemeriksaan penunjang seperti ultrasonografi.
39 4. Gabungan dua diantara 3 gejala diatas yaitu : - Oligoovulasi dan adanya polikistik ovarium. - Hiperandrogenemia dan adanya polikistik ovarium (Indrani Nur Winarno Putri, Fitria Saftarina : 2016).