Bab 2 LANDASAN TEORI 2.1 Kulit Kulit adalah organ tubuh yang terletak paling luar dan membatasinya dari lingkungan hidup manusia. Kulit merupakan organ yang essential dan vital, serta merupakan cerminan kesehatan dan kehidupan. Kulit juga sangat kompleks, elastis dan sensitif. Bervariasi pada keadaan iklim, umur, sex, ras, dan juga bergantung pada lokasi tubuh. Warna kulit berbeda-beda. Dari yang berwarna terang, pirang dan hitam, warna merah muda pada telapak kaki dan tangan bayi, serta warna hitam kecoklatan pada genitalia dewasa. Demikian pula kulit juga bervariasi mengenai lembut, tipis, dan tebalnya.Kulit yang elastis dan longgar misalnya seperti terdapat pada bibir. Kulit yang tebal dan tegang terdapat di telapak kaki dan tangan orang dewasa. Sedangkan kulit yang tipis terdapat pada wajah, yang lembut pada leher dan badan, dan yang berambut kasar terdapat pada kepala. Kulit berfungsi untuk menjaga bagian dalam tubuh dari gangguan fisik, kimiawi, infeksi luar dari bakteri atau jamur, serta gangguan yang bersifat panas. Hal tersebut dikarenakan pada kulit terdapatnya lapisan lemak subkutan, dermis, dan epidermis. Selain itu, tebalnya lapisan kulit dan jaringan penunjangnya juga berperan sebagai pelindung dari gangguan fisik. A. Anatomi Kulit Kulit manusia terdiri dari: 1. Lapisan epidermis Tersusun atas lapisan tanduk (lapisan korneum) dan lapisan Malpighi. Lapisan korneum merupakan lapisan kulit mati, yang dapat mengelupas dan digantikan oleh sel-sel baru. Lapisan Malpighi terdiri atas lapisan spinosum dan lapisan germinativum. Lapisan spinosum berfungsi menahan gesekan dari luar. Lapisan germinativum mengandung sel-sel yang aktif membelah diri, mengantikan lapisan selsel pada lapisan korneum.Lapisan Malpighi mengandung pigmen melanin yang memberi warna pada kulit.Lapisan Malpighi juga berfungsi sebagai pelindung dari bahaya sinar matahari terutama sinar ultraviolet. 7 8 2. Lapisan dermis Lapisan ini mengandung pembuluh darah, akar rambut, ujung saraf, kelenjar keringat, dan kelenjar minyak. Kelenjar keringat menghasilkan keringat. Banyaknya keringat yang dikeluarkan dapat mencapai 2.000 ml setiap hari, tergantung pada kebutuhan tubuh dan pengaturan suhu. Keringat mengandung air, garam, dan urea. Fungsi lain sebagai alat ekskresi adalah sebagai organ penerima rangsangan, pelindung terhadap kerusakan fisik, penyinaran, dan bibit penyakit, serta untuk pengaturan suhu tubuh. Pada suhu lingkungan tinggi (panas), kelenjar keringat menjadi aktif dan pembuluh kapiler di kulit melebar. Melebarnya pembuluh kapiler akan memudahkan proses pembuangan air dan sisa metabolisme. Aktifnya kelenjar keringat mengakibatkan keluarnya keringat ke permukaan kulit dengan cara penguapan. Penguapan mengakibatkan suhu di permukaan kulit turun sehingga kita tidak merasakan panas lagi. Sebaliknya, saat suhu lingkungan rendah, kelenjar keringat tidak aktif dan pembuluh kapiler di kulit menyempit. Pada keadaan ini darah tidak membuang sisa metabolisme dan air, akibatnya penguapan sangat berkurang, sehingga suhu tubuh tetap dan tubuh tidak mengalami kendinginan. Keluarnya keringat dikontrol oleh hipotalamus. Hipotalamus adalah bagian dari otak yang terdiri dari sejumlah nukleus dengan berbagai fungsi yang sangat peka terhadap steroid dan glukokortikoid, glukosa dan suhu. 3. Lapisan hipodermis Lapisan ini terletak di bawah dermis. Lapisan ini banyak mengandung lemak. Lemak berfungsi sebagai cadangan makanan, pelindung tubuh terhadap benturan, dan menahan panas tubuh. Kulit memiliki beberapa fungsi: • Sebagai alat pengeluaran berupa kelenjar keringat. • Sebagai alat peraba. • Sebagai pelindung organ dibawahnya. • Tempat dibuatnya Vit D dengan bantuan sinar matahari. • Pengatur dan penyeimbang suhu tubuh. • Tempat menimbun lemak. 9 Faktor yang berperan penting dalam fungsi proteksi kulit adalah keratin, lipid, sebum, pH asam, pigmen melanin, dan sel Langerhans serta makrofag yang berada di lapisan dermis. Berikut adalah beberapa mekanisme proteksi pada kulit: 1. Keratin Lapisan keratin bersifat kedap udara, cukup kedap air, dan tidak dapat ditembus oleh sebagian besar bahan. Oleh karena itu, lapisan ini dapat menahan segala sesuatu yang melewatinya dalam dua arah antara tubuh dan lingkungan eksternal. Sebagai contoh, lapisan ini dapat memperkecil hilangnya air tubuh dan protein plasma pada penderita luka bakar, serta mencegah benda asing masuk ke dalam tubuh. Selain itu, proses keratinisasi juga berperan sebagi barrier mekanis karena sel-sel mati akan melepaskan dirinya secara teratur. 2. Lipid Lipid yang dihasilkan oleh granula lamellar berfungsi untuk mengurangi evaporasi air dari permukaan kulit. Oleh karena itu, kulit akan terhindar dari dehidrasi. Selain itu, lipid juga akan mencegah masuknya air ke dalam kulit. 3. Sebum Sebum yang dihasilkan kelenjar sebasea berperan untuk menjaga kulit dan rambut agar tidak menjadi kering. Selain itu, sebum mengandung bahan kimia anti bacteria yang dapat membunuh bakteri. Peran lain dari sebum adalah pada masa fetus, yakni kelenjar lemak fetus yang dipengaruhi oleh hormone androgen ibunya akan memproduksi sebum yang berfungsi untuk melindungi kulit fetus dari cairan amnion, disebut sebagai vernix caseosa. 4. pH asam Keasaman kulit terbentuk dari hasil ekskresi keringat dan sebum, sehingga menyebabkan pH kulit berkisar 5-6,5. Hal tersebutlah yang menjadi perlindungan kimiawi kulit terhadap infeksi bakteri maupun jamur. 10 5. Pigmen melanin Melanosit yang menghasilkan melanin berfungsi untuk proteksi terhadap pajanan sinar UV dari matahari. Hal tersebut dilakukan dengan cara menyerap radiasi UV agar mencegah kerusakan DNA di epidermis dan menetralisir radikal bebas yang terbentuk akibat UV. 6. Sel Langerhans Sel Langerhans berfungsi sebagai sel penyaji antigen ke sel T. Hilangnya sel Langerhans akibat paparan UV dapat menyebabkan kulit lebih rentan terhadap invasi mikroba dan kanker. B. Penyakit-penyakit pada kulit wajah 1. Jerawat Jerawat adalah suatu keadaan di mana pori-pori kulit tersumbat sehingga menimbulkan kantung nanah yang meradang. Jerawat merupakan penyakit kulit yang cukup besar jumlah penderitanya. Kligmann, seorang peneliti masalah jerawat ternama di dunia berpendapat, "Tak ada satu orang pun di dunia yang melewati masa hidupnya tanpa sebuah jerawat di kulitnya." Kemungkinan penyebabnya adalah perubahan hormonal yang merangsang kelenjar minyak di kulit. Perubahan hormonal lainnya yang dapat menjadi pemicu timbulnya jerawat adalah masa menstruasi, kehamilan, pemakaian pil KB, dan stres. Penyebab munculnya jerawat: a. Produksi minyak berlebihan Jerawat tidak melulu muncul karena kotor, melainkan lebih disebabkan faktor dari dalam tubuh. Jerawat adalah kondisi abnormal kulit akibat gangguan berlebihan produksi kelenjar minyak (sebaceus gland) yang menyebabkan penyumbatan saluran folikel rambut dan pori-pori kulit. Penyebab jerawat yang paling umum adalah hormon, tumpukan minyak atau sebum di kulit berkolaborasi dengan bakteri.4 b. Sel-sel kulit mati Umumnya, jerawat dsebabkan oleh kelebihan kelenjar minyak karena giat diproduksi hormon androgen. Jerawat timbul karena kelenjar minyak yang berlebih tersebut bercampur dengan sel kulit mati. Ketika sel-sel kulit itu bercampur dengan jumlah debu atau 11 kotoran yang sudah meningkat itu, campuran yang tebal dan lengket itu dapat membentuk penyumbat yang menjadi bintik hitam atau putih.Banyak yang beranggapan, bahwa jerawat hanya menyerang muka, tetapi jerawat bisa juga menyerang bagian tubuh lain, seperti di bagian punggung, dada dan lengan atas. c. Bakteri Yang membuat masalah semakin rumit, bakteri biasanya ada di kulit, yang disebut acne, yang cenderung berkembang biak di dalam kelenjar sebaceous yang tersumbat, yang menghasilkan zat-zat yang menimbulkan iritasi daerah sekitarnya. Kelenjar tersebut terus membengkak, dan mungkin akan pecah, kemudian menyebarkan radang ke kulit daerah sekitarnya. Inilah yang menyebabkan jerawatbatu jenis yang paling mungkin, yaitu meninggalkan pigmentasi jangka panjang dan bekas luka seperti cacar yang permanen. d. Kosmetik Penyumbatan pori-pori seringkali terjadi oleh penggunaan kosmetik yang mengandung banyak minyak atau penggunaan bedak yang menyatu dengan foundation. Foundation yang terkandung pada bedak menyebabkan bubuk bedak mudah menyumbat pori-pori. e. Obat-obatan Konsumsi obat kortikosteroid, baik oral (obat minum) maupun topical (obat oles), yang mengakibatkan daya tahan tubuh menurun, juga meningkatkan potensi timbulnya jerawat karena aktivitas bakteri patogen yang meningkat. f. Telepon Genggam Permukaan telepon genggam bisa jadi media subur untuk tumbuhnya bakteri. Untuk mencegahnya, bersihkan permukaan telepon secara rutin dengan alkohol, dan usahakan jangan menempelkan telepon genggam ke pipi ketika menelepon. g. Stres Sebenarnya, stres tidak secara langsung menyebabkan jerawat.Masalahnya, ada hormon tertentu yang keluar saat seseorang stres, yang memungkinkan tumbuhnya jerawat. Tak hanya itu, stres 12 membuat orang tersebut mempunyai pola makan yang cenderung banyak mengkonsumsi makanan manis dan berlemak, sebagai "pelarian" dari stres. Tipe jerawat : Komedo Komedo sebenarnya adalah pori-pori yang tersumbat, bisa terbuka atau tertutup. Komedo yang terbuka (blackhead), terlihat seperti pori-pori yang membesar dan menghitam. Komedo yang tertutup (whitehead) memiliki kulit yang tumbuh di atas pori-pori yang tersumbat sehingga terlihat seperti tonjolan putih kecil. Jerawat jenis komedo ini disebabkan oleh sel-sel kulit mati dan sekresi kelenjar minyak yang berlebihan pada kulit. Jerawat biasa Gambar 2.1 Jerawat Biasa Jenis jerawat ini mudah dikenali, tonjolan kecil berwarna pink atau kemerahan. Terjadi karena pori-pori yang tersumbat dan terinfeksi oleh bakteri jenis propionibacterium acne. Bakteri ini biasanya hidup di saluran kelenjar sebaceous yang tersumbat, yaitu di daerah tempat beradanya asam lemak pada kantung kelenjar sebaceous yang tersembunyi di dalam pori-pori kulit. Diberi nama propionibacterium karena mampu memproduksi asam propionik (propionicacid). Bakteri ini merupakan jenis anaerobik sehingga dapat hidup tanpa butuh oksigen, dan mempunyai ciri-ciri aerotolerant yang menimbulkan iritasi pada daerah sekitarnya. Bakteri yang menginfeksi bisa juga dari waslap, kuas make up, jari tangan, juga telepon. Stres, 13 hormon dan udara yang lembap, dapat memperbesar kemungkinan terbentuknya jerawat. Jerawat batu (Cystic acne) Gambar 2.2 Jerawat Batu Cystic acne adalah jerawat yang besar-besar, dengan peradangan hebat, berkumpul diseluruh muka. Penderita cystic acne biasanya juga memiliki keluarga dekat yang menderita jerawat jenis ini. Secara genetik penderitanya memiliki: 1. Kelenjar minyak yang over aktif yang membanjiri pori-pori dengan kelenjar minyak. 2. Pertumbuhan sel-sel kulit yang tidak normal yang tidak bisa beregenerasi secepat kulit normal. 3. Memiliki respon yang berlebihan terhadap peradangan sehingga meninggalkan bekas di kulit. Cara mengatasi jerawat : Jerawat merupakan salah satu penyakit kulit yang biasa menyerang wajah. Menangani jerawat tidak boleh sembarangan. Secara umum, prinsip perawatan kulit wajah sebagai berikut : • Kulit wajah harus selalu bersih saat istirahat di rumah. • Jangan memecahkan jerawat dan jangan sering di sentuh. • Hindari pemakaian kosmetika rias saat tidur. • Kebutuhan pembersih bagi kulit kering berbeda dengan kulit berminyak atau kulit normal, demikian juga sebaliknya. • Membersihkan wajah pada sore hari berbeda dengan pada pagi hari. 14 2. Penyakit Kulit-Rosacea Gambar 2.3 Rosacea Rosacea adalah salah satu jenis penyakit kulit yang menyerang setidaknya 45 juta orang di dunia. Pada umumnya, rosacea lebih cenderung menyerang orang berkulit putih (bule).Ciri-cirinya adalah berupa bercak-bercak merah, bintik-bintik kecil kemerahan dengan jumlah yang banyak pada wajah, seperti di kening dan pipi. Gejala ini kerapkali muncul sesekali atau permanen. Gejala yang muncul sesekali umumnya terjadi pada saat seseorang yang berkulit sensitif tersebut mengalami perubahan emosi, seperti malu, marah, sedih, lelah, bersemangat, dsb. Kendati Rosacea ini tidak menular dan tidak berbahaya, namun hingga saat ini belum ditemukan penyebab munculnya penyakit kulit yang satu ini. Selain itu, Rosacea juga tidak dapat disembuhkan. Jenis-jenis kegiatan perawatan kulit tergantung dengan jenis kulit tiap orang berbeda- beda. Kategori kulit yang berbeda juga tentunya memiliki perawatan yang berbeda juga. Penggunaan produk kulit yang tidak tepat dengan penggolongan jenis kulit akan menyebabkan kerusakan kepada kulit. Kulit dapat digolongkan menjadi 5 kategori, yaitu 1. Kulit Normal Jenis kulit normal hanya membutuhkan perhatian yang minimal. Jenis kulit ini tidak akan berminyak atau kering, sehingga terbebas dari noda. 2. Kulit Berminyak Jenis kulit berminyak membutuhkan perhatian dan perawatan yang lebih. Jumlah minyak yang dikeluarkan oleh jenis kulit ini 15 menjadikan jerawat dan noda sering muncul.Oleh karena itu, orang yang memiliki jenis kulit berminyak harus mencuci dan membersihkan wajah secara teratur. 3. Kulit Kering Kulit kering disebabkan oleh tidak cukupnya minyak yang dihasilkan oleh kelenjar minyak, sehingga membuat kulit menjadi kering. 4. Kulit Sensitif Kulit sensitif sangat mudah pecah. Penyebab yang sering menimbulkan masalah pada kulit sensitif adalah lingkungan, seperti debu, kotoran, matahari, dll. 5. Kulit Kombinasi Jenis kulit kombinasi dimiliki oleh banyak orang. Jenis kulit ini merupakan gabungan dari jenis kulit kering dan berminyak. Anda bisa memiliki kedua jenis kulit tersebut, misalnya, memiliki jenis kulit kering di pipi sedangkan hidung dan dahi berminyak. 2.2 Obat Sebelum menjurus kepada obat racikan, harus mengenal dulu apa itu obat. Banyak definisi mengenai obat, antara lain menurut arti yang luas, obat adalah zat kimia yang mempengaruhi proses hidup (Arini dkk, 1987), contoh definisi lain obat adalah bahan bahan yang siap digunakan untuk mempengaruhi atau menyelidiki system fisiologis atau keadaan patologi dalam rangka nenetapan diagnosis, pencegahan, penyembuhan, pemulihan, peningkatan kesehatan dan kontrasepsi yang dikemukakan oleh Anonim (Yosef, 2011). Setiap obat kemungkinan akan menimbulkan Efek Samping Obat (ESO). Berdasarkan definisi itu maka obat adalah zat kimia sebagai antigen yang dapat menimbulkan antibodi yang dapat menimbulkan rekasi antigen antibodi, sebagai contoh, makan obat Atimbul alergis (biasanya ringan kemerahan dan gatal, dapat juga yang berat disebut anafilaksisshok). Bahkan ada yang mengatakan obat itu racun yang dapat menimbulkan kematian. Manusia dapat terjangkiti berbagai penyakit seperti : infeksi, tumor, gangguan metabolism, dan lain lain. Oleh karena itu perlu panduan/pedoman pengobatan bagi para ahli medis. Menurut Badan POM Depkes RI (2000), maka agar pedoman pengobatan dapat memberikan manfaat sesuai dengan 16 tujuannya, maka beberapa hal berikut ini perlu mendapat perhatian dalam menyikapi Pedoman Pengobatan (PP): 1. PP dikembangkan berdasarkan informasi ilmiah yang layak dan handal. 2. PP dikembangkan dengan melibatkan berbagai actor dalam system pelayanan kesehatan (yankes) yang bersangkutan. 3. PP perlu disosialisasikan kepada para dokter. 4. Perlu pemantauan ketaatan terhadap pedoman melalui audit atau studi penggunaan obat di unit unit yankes. 5. PP memuat penyakit yang umum dijumpai di unit unit yankes. 6. PP harus disesuaikan dengan sarana dan pelaku pelayanan yang ada. 2.2.1 Masalah Obat Penggunaan obatdikatakan tidak tepat jika risiko yang mungkin terjadi tidak imbang dengan manfaat yang diperoleh dari tindakan memberikan suatu obat. Penggunaan obat yang tidak tepat, tidak efektif, tidak aman dan juga tidak ekonomis atau yang lebih popular dengan istilah tidak rasional sering akan mendatangkan risiko, karena obat (bahan kimia) memungkinakan menimbulkan ESO. Dengan perkataan lain, penggunaan obat dinilai tidak rasional, jika: a. Indikasi penggunaan tidak jelas atau keliru, sehingga diagnoses kurang tepat. b. Pemilihan obat tidak tepat, artinya yang dipilih bukan obat yang terbukti paling bermanfaat, paling aman, paling sesuai dan paling ekonomis. c. Cara penggunaan obat tidak tepat, mencakup besarnya dosis, cara pemberian, frekuensi dan lama pemberian. d. Kondisi dan riwayat pasien tidak dinilai secara cermat. Apakah ada kondisi yang tak perlu obat (non farmakologik), atau diharuskan penyesuaian dosis (misalnya penggunaan antibiotic (aminoglikosida) pada gangguan ginjal) atau malah menjadi risiko terhadap efek samping obat misalnya pada obat racikan. e. Pemberian obat yang tidak disertai penjelasan yang sesuai kepada pasien atau keluarganya. 17 f. Pengaruh pemberian obat, baik yang diinginkan atau yang tidak diinginkan tidak dapat diperkirakan sebelumnya dan tidak dilakukan pemantauan secara langsung atau tidak langsung. 2.2.2 Obat Topikal pada Kulit Pemberian obat topikal pada kulit merupakan cara memberikan obat pada kulit dengan mengoleskan obat yang akan diberikan. Pemberian obat topikal pada kulit memiliki tujuan yang lokal, seperti pada superficial epidermis. Obat ini diberikan untuk mempercepat proses penyembuhan, bila pemberian per-oral tidak dapat mencapai superficial epidermis yang miskin pembuluh darah kapiler. Efek sistemik tidak diharapkan pada pemberian obat topikal pada kulit ini. Apabila terjadi kerusakan kulit setelah penggunaan obat topikal pada kulit, maka kemungkinan besar efek sistemik akan terjadi. Pemberian obat topikal pada kulit terbatas hanya pada obat-obat tertentu karena tidak banyak obat yang dapat menembus kulit yang utuh. Keberhasilan pengobatan topical pada kulit tergantung pada: Umur Pemilihan agen topikal yang tepat Lokasi dan luas tubuh yang terkena atau yang sakit Stadium penyakit Konsentrasi bahan aktif dalam vehikulum Metode aplikasi Penentuan lama pemakaian obat Penetrasi obat topical pada kulit, melalui: stratum korneum epidermis papilla dermis aliran darah Proses penyerapan obat topikal jika diberikan pada kulit, yaitu: Lag phase - hanya di atas kulit, tidak masuk ke dalam darah Rising - dari stratum korneum diserap sampai ke kapiler dermis darah Falling - obat habis di stratum korneum. Jika terus diserap kedalam, khasiatnya akan semakin berkurang Contoh obat topikal untuk kulit : 1. Anti jamur : ketoconazol, miconazol, terbinafin 2. Antibiotik : oxytetrasiklin 3. Kortikosteroid : betametason, hidrokortison 18 2.3 Android Android adalah suatu sistem operasi yang berbasis Linux yang digunakan sebagai sumber daya bagi perangkat keras seperti ponsel, PC Tablet dan Smartphone. Pada aplikasi ini versi Android yang kami gunakan adalah versi : Android versi 2.0/2.1 (Eclair) Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1. Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi Android.Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug.Sistem operasi Android dalam situs Internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook. 2.4 Rekayasa Piranti Lunak 2.4.1 Pengertian Rekayasa Piranti Lunak Menurut Pressman (2010,p14), Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis yang handal dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa piranti lunak mendirikan suatu pondasi untuk proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari hal ukuran dan kompleksitas. Fokus pada kualitas (A Quality Focus) Pendekatan teknik apapun (termasuk rekayasa perangkat lunak) harus bersandar pada komitmen organisasi terhadap suatu mutu. Total kualitas manajemen dan filosofi yang sama mendorong budaya perbaikan proses yang berkesinambungan dan budaya inilah 19 yang pada akhirnya mengarah pada pengembangan pendekatan yang semakin dewasa untuk rekayasa perangkat lunak. Pondasi yang mendukung rekayasa perangkat lunak adalah fokus pada kualitas. Proses (Process) Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses pada rekayasa perangkat lunak adalah perekat yang memegang teknologi lapisan (layer) bersama-sama dan memungkinkan pengembangan perangkat lunak yang rasional dan tepat waktu. Proses mendefinisikan sebuah kerangka kerja untuk suatu set key process areas (KPAs) yang harus ditetapkan untuk penyampaian (delivery) yang efektif dari teknologi rekayasa perangkat lunak. Key process areas membentuk dasar control manajemen proyek perangkat lunak dan menetapkan konteks metode-metode teknis mana yang diterapkan, produk kerja (model, dokumen, data, laporan, form, dll) yang diproduksi, milestone yang ditetapkan, kualitas yang terjamin dan perubahan yang dikelola dengan baik. Metode (Method) Metode rekayasa perangkat lunak menyediakan teknis “bagaimana” untuk membangun perangkat lunak. Metode mencakup tugas yang mencakup analisis kebutuhan (requirment analysis), perancangan (design), program konstruksi (program construction), pengujian (testing), dan pemeliharaan (maintenance). Alat Bantu (Tools) Alat bantu otomatis atau semi-otomatis menyediakan dukungan untuk proses dan metode. Ketika alat-alat diintegrasikan sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat lainnya, sebuah sistem untuk mendukung perangkat lunak, yang disebut computer-aided software engineering (CASE), didirikan CASE menggabungkan software, hardware, dan database (sebuah repository berisi informasi penting tentang analisis, rancangan, program konstruksi, dan pengujian) untuk menciptakan lingkungan rekayasa perangkat lunak yang analog dengan computer-aided engineering (CAE) untuk hardware. 20 2.4.2 Model Proses Waterfall Menurut Pressman (2010), model proses Waterfall, yang juga dikenal dengan classic life cycle, adalah model proses yang sistematis, pendekatan yang berurutan dalam pengembangan perangkat lunak yang diawali dengan spesifikasi kebutuhan-kebutuhan (requirement) client dan akan diawali dari kebutuhan pengguna (Requirement), berlanjut ke proses perencanaan (Planning), pemodelan (Modelling), konstruksi (Construction), dan penyebaran (Deployment) secara bertahap dan memuncak. Gambar 2.4 Model Proses Waterfall (Pressman, 2010) 1. Komunikasi Proses ini dimulai dengan komunikasi mengenai platform yang digunakan pada sistem. 2. Perencanaan Setelah proses komunikasi telah berjalan maka pada proses selanjutnya proses perencanaan mengenai pembangunan sistem Proses ini dimulai dari proses estimasi waktu yang akan digunakan, penjadwalan hingga penyusunan proses pembuatan sistem 3. Pemodelan sistem Pada proses ini, kebutuhan sistem diubah menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai dengan menggunakan Data Flow Diagram (DFD). Desain ini dibuat untuk mengetahui gambaran proses kerja aplikasi yang kita buat sehingga dapat dijadikan acuan saat proses implementasi sistem ke dalam bentuk code. 21 4. Penulisan Kode Program Penulisan kode program adalah proses yang dilakukan agar mesin dalam hal ini komputer dapat menjalankan aplikasi yang telah dibangun. Dalam aplikasi ini kode yang digunakan adalah Java. Setelah proses penulisan kode program selesai, dilakukan pengujian aplikasi yang sudah dibangun. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari kesalahan, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. 5. Penyebaran Sistem yang telah dibangun kemudian digabungkan dan diintegrasikan pada jaringan sistem lain yang telah ada. Setelah proses integrasi selesai, proses selanjutnya adalah mendukung sistem dan mendapat umpan balik dari pakar dan pasien mengenai sistem yang dibangun tersebut. 2.4.3 Data Flow Diagram (DFD) Data Flow Diagram (DFD) merupakan model proses yang digunakan untuk menggambarkan aliran data input dan output pada sebuah sistem beserta tugas atau pengolahan yang dilakukan oleh sistem dari segi proses dan data store (Satzinger,Jackson, & Burd, 2010, p. 206). Sistem yang dibahas dapat berupa sistem dalam banyak konteks seperti sistem pendidikan, sistem komputer, sistem bisnis, ataupun sistem informasi. 2.4.4 Inteligensia Semu Intelegensia semu atau dalam bahasa sehari-hari disebut juga dengan kecerdasan buatan merupakan istilah yang berasal dari bahasa Inggris: “Artificial Intelligence”. Istilah ini dapat didefinisikan sebagai kecerdasan yang dapat dibuat atau diciptakan sendiri oleh suatu individu atau kelompok.Sistem ini biasanya digunakan atau diaplikasikan ke dalam komputer. 2.4.5 Bidang Aplikasi Inteligensia Semu Seperti sebagian besar ilmu pengetahuan lainnya, inteligensia semu terdiri dari beberapa subdisiplin, yang pada dasarnya tetap menggunakan pendekatan pemecahan masalah, namun masing-masing memfokuskan diri pada bidang aplikasi tertentu. Beberapa bidang aplikasi dari inteligensia semu (Kusumadewi , 2003, p7) yaitu : 22 1. Sistem Pakar (Expert System) Komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar. 2. Pengolahan Bahasa Alami (Natural Language Processing) Dengan adanya pengolahan bahasa alami diharapkan user dapat berkomunikasi dengan komputer dengan menggunakan bahasa seharihari. 3. Pengenalan Ucapan (Speech Recognition) Melalui pengenalan ucapan diharapkan manusia dapat berkomunikasi dengan komputer dengan menggunakan suara. 4. Robotika dan Sistem Sensor (Robotics and Sensory Systems) 5. Computer Vision Computer Vision mencoba untuk dapat menginterpretasikan gambar atau objek-objek tampak melalui komputer. 6. Intelligent Computer-aided Instruction Komputer dapat digunakan sebagai tutor yang dapat melatih dan mengajar. 7. Game Playing 2.4.6 Sistem Pakar Sistem kecerdasan dapat menyelesaikan masalah dunia nyata dengan menggunakan pengetahuan manusia serta keterampilan penalaran manusia. Pada abad ke-21 kecerdasan buatan (artificial intelegence) telah menjadi area penting dari penelitian di hampir semua bidang: teknik, ilmu pengetahuan, pendidikan, kedokteran, bisnis, akuntansi, keuangan, pemasaran, ekonomi, pasar modal dan hukum (Oke, 2008). Komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar. Sistem pakar adalah perangkat lunak komputer yang dapat memecahkan masalah dengan menggunakan informasi dan teknik penalaran biasanya terkait dengan manusia ahli atau pakar. Biasanya, 23 pengembangan sistem pakar melibatkan empat kegiatan utama (Changchit, 2008) : 1. Pengetahuan Akuisisi (Knowledge acquisition) : Kegiatan ini dilakukan untuk mengekstrak, mengumpulkan, mentransfer, dan mengubah keahlian dalam pemecahan masalah tentang melasma dari dokter ahli dan atau sumber pengetahuan terdokumentasi ke program komputer untuk membangun atau memperluas basis pengetahuan. Teknik yang digunakan adalah wawancara, analisis documental, dan observasi. 2. Representasi Pengetahuan (Knowledge representation) : Basis pengetahuan digunakan untuk aplikasi model dan untuk memfasilitasi akses terhadap informasi yang telah disimpan.Representasi pengetahuan dapat dilakukan dengan berbagai cara yaitu : a. Kalkulus predikat b. Logika c. Pohon d. Frame e. Script f. SemanticNetwork 3. Pengetahuan Inferensi (Knowledge Inference) : Kegiatan ini mengacu pada teknik pemrograman komputer sedemikian rupa yang dapat membuat referensi dalam upaya untuk meniru perilaku penalaran ahli manusia. 4. Penjelasan dan Justifikasi (Explanation and Justification) : Kegiatan ini mengacu pada upaya oleh sistem pakar untuk memperjelas diagnosis, rekomendasi, dan tindakan lain (misalnya, mengajukan pertanyaan). A. Struktur Sistem Pakar Sistem Pakar terdiri dari 2 bagian pokok, yaitu : lingkungan pengembangan (development evirontment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan digunakan sebagai pembangun sistem pakar baik dari segi pembangunan komponen maupun basis pengetahuan. Lingkungan digunakan oleh seorang yang bukan ahli untuk berkonsultasi. konsultasi 24 Gambar 2.5 Struktur Sistem Pakar B. Sistem Pakar dalam Bidang Pengobatan Kemajuan dalam teknologi komputer telah memberdayakan pengembang perangkat lunak dan pakar pengetahuan domain untuk membangun alat yang lebih cerdas dalam membantu praktisi medis mengambil keputusan. Kecerdasan buatan adalah studi untuk meniru kecerdasan manusia dalam teknologi komputer dan potensinya dalam ilmu kedokteran telah diungkapkan oleh banyak peneliti (Sikchi et al., 2012). 2.5 Sistem Pakar dengan Logika Fuzzy Penggunaan sistem pakar dapat diimplementasikan dengan mudah ke dalam bahasa mesin secara mudah dan efisien dengan menggunakan Fuzzy logic. Fuzzy logic telah menjadi area riset yang mengagumkan karena kemampuannya dalam menjembatani bahasa mesin yang serba presisi dengan bahasa manusia yang cenderung tidak presisi yaitu dengan menekankan pada makna atau arti (Significance). Bisa dibayangkan bahwa sistem Fuzzy adalah sebuah mesin 25 penerjemah bahasa manusia sehingga bisa dimengerti oleh bahasa mesin dan juga sebaliknya (Naba, 2009). Sistem pakar dibuat hanya pada domain pengetahuan tertentu untuk suatu kepakaran tertentu yang mendekati kemampuan manusia di salah satu bidang saja Sistem pakar mencoba mencari penyelesaian yang memuaskan yaitu sebuah penyelesaian yang cukup bagus agar pekerjaan dapat berjalan walaupun itu bukan penyelesaian yang optimal (Hartati dan Iswanti, 2008). Fuzzy secara bahasa diartikan sebagai kabur atau samar-samar.Suatu nilai dapat bernilai benar atau salah secara bersamaan.Dalam fuzzy dikenal derajat keanggotaan yang memiliki rentang nilai 0 (nol) hingga 1 (satu).Berbeda dengan himpunan tegas yang memiliki nilai 1 atau 0 (ya atau tidak). Logika fuzzy merupakan suatu logika yang memiliki nilai kekaburan atau kesamaran (fuzzyness) antara benar atau salah.Dalam teori logika fuzzy suatu nilai bisa bernilai benar atau salah secara bersama. Namun berapa besar kebenaran dan kesalahan suatu tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy memiliki derajat keanggotaan dalam rentang 0 hingga 1. Berbeda dengan logika digital yang hanya memiliki dua nilai yakni 1 atau 0. Logika fuzzy digunakan untuk menerjemahkan suatu besaran yang diekspresikan menggunakan bahasa (linguistic), misalkan besaran kecepatan laju kendaraan yang diekspresikan dengan pelan, agak cepat, cepat, dan sangat cepat. Dan logika fuzzy menunjukkan sejauh mana suatu nilai itu benar dan sejauh mana suatu nilai itu salah. Tidak seperti logika klasik (crisp), suatu nilai hanya mempunyai 2 kemungkinan yaitu merupakan suatu anggota atau tidak. Derajat keanggotaan 0 (nol) artinya nilai bukan merupakan anggota himpunan dan 1 (satu) berarti nilai tersebut adalah anggota himpunan. Logika fuzzy adalah suatu cara yang tepat untuk memetakan suatu ruang input kedalam suatu ruang output, mempunyai nilai kontinu. Fuzzy dinyatakan dalam derajat dari suatu keanggotaan dan derajat kebenaran. Oleh sebab itu sesuatu dapat dikatakan sebagian benar dan sebagian salah pada waktu yang sama. Logika fuzzy memungkinkan nilai keanggotaan antara 0 dan 1, tingkat keabuan dan juga hitam dan putih, dan dalam bentuk liguistik, konsep tidak pasti seperti “sedikit”, “lumayan”, dan “sangat”. 26 Kelebihan dari teori logika fuzzy adalah kemampuan dalam proses penalaran secara bahasa (linguistic reasoning), sehingga dalam perancangannya tidak memerlukan persamaan matematik dari objek yang akan dikendalikan. 2.5.1 Himpunan Fuzzy Himpunan fuzzy secara formal dapat didefinisikan seperti pada persamaan berikut : A = {µA(x)/x ; x X, µA(x)[0,1]} Dimana µA(x) adalah derajatkeanggotaan elemen x pada himpunana fuzzy A dengan cakupan nilai keanggotaan antara 0 dan 1 yang merupakan anggota bilangan real. Dimana bila µA(x) = 0, mengindikasikan bahwa x bukan bagian dari himpunan fuzzy A dan sebaliknya jika µA(x) = 1, maka x adalah bagian dari himpunan fuzzy A. secara umum, himpunan fuzzy A dapat dianggap sebagai fungsi µA(x) yang mencocokkan setiap elemen dari semesta pembicaraan X dengan derajat keanggotaan menjadi anggota himpunan A. Jika fungsi keanggotaan hanya menghasilkan nilai keanggotaan {0,1}, maka hasilnya bukanlah fuzzy melainkan tegas (crisp). Pada himpunan tegas (crisp) nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan µA(x), hanya memiliki 2 kemungkinan yaitu 0 dan 1. Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu : 1. Variabel Fuzzy Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh : umur, temperature, permintaan, dan lainlain. 2. Himpunan Fuzzy Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh : variabel temperatur terbagi menjadi 5 himpunan fuzzy, yaitu : DINGIN, SEJUK, NORMAL, HANGAT, dan PANAS (Gambar 2.6). 27 Gambar 2.6 Himpunan Fuzzy pada Variabel Temperatur 3. Semesta Pembicaraan Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan atau sebaliknya. Nilai semesta pembicaraan data berupa bilangan positif maupun negatif. Contoh semesta pembicaraan : • Semesta pembicaraan untuk variabel umur : [0 +∞] • Semesta pembicaraan untuk variabel temperatur : [0 40] 4. Domain Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai dominan dapat berupa bilangan positif maupun negatif. Contoh domain himpunan fuzzy : • MUDA • PAROBAYA = [35; 55] • TUA = [0; 35] = [55; +∞] 2.5.2 Operator Dasar Zadeh untuk Operasi Himpunan Fuzzy Ada beberapa operasi yang didefinisikan secara khusus untuk mengkombinasi dan memodifikasi himpunan fuzzy. Nilai keanggotaan sebagai hasil dari operasi 2 himpunan sering dikenal dengan nama fire strength atau α-predikat. Ada 3 operator dasar yang diciptakan oleh Zadeh, yaitu : 28 1. Operator AND Operator ini berhubungan dengan operasi interseksi pada himpunan α-predikat sebagai hasil operasi dengan operator AND diperoleh dengan mengambil nilai keanggotaaan terkecil antar elemen pada himpunan-himpunan yang bersangkutan. Persamaan nilai keanggotaaannya terlihat pada persamaan berikut ini : µAB = min(µA[x], µB[y]) 2. Operator OR Operator ini berhubungan dengan operasi union pada himpunan α-predikat sebagai hasil operasi dengan operator OR diperoleh dengan mengambil nilai keanggotaan terbesar antar elemen pada himpunan-himpunan yang bersangkutan. Persamaan nilai keanggotaannya terlihat pada persamaan berikut ini : µAB = max(µA[x], µB[y]) 3. Operator NOT Operator ini berhubungan dengan operasi komplemen pada himpunan α-predikat sebagai hasil operasi dengan operator NOT diperoleh dengan mengurangkan nilai keanggotaan elemen pada himpunan yang bersangkutan dari 1. Persamaan nilai keanggotaannya terlihat pada persamaan berikut ini : µA’ = 1-µA[x] Contoh : Misalkan nilai keanggotaan 27 tahun pada himpunan MUDA adalah 0,6(µMUDA[27]=0,6); dan nilai keanggotaan Rp. 2.000.000 pada himpunan penghasilan TINGGI adalah 0,8(µGAJITINGGI[2 x 106]=0,8); maka : Nilai α-predikat untuk usia MUDA dan berpenghasilan TINGGI adalah : µMUDAGAJITINGGI = min(µMUDA[27], µGAJITINGGI[2 x 106]) = min(0,6;0,8) = 0,6 Nilai α-predikat untuk usia MUDA atau berpenghasilan TINGGI adalah : 29 µMUDAGAJITINGGI = max(µMUDA[27], µGAJITINGGI[2 x 106]) = min(0,6;0,8) = 0,8 Nilai α-predikat untuk usia TIDAK MUDA adalah : µMUDA = 1- µMUDA[27] = 1-0,6 = 0,4 2.6 Pengelompokan Fuzzy (Fuzzy Clustering) 2.6.1 Fuzzy Substractive Clustering Fuzzy C-Means (FCM) adalah algoritma pengclusteran yang terawasi, sebab pada FCM kita perlu tahu terlebih dahulu jumlah cluster yang akan dibentuk. Apabila jumlah cluster yang akan dibentuk belum diketahui sebelumnya, maka kita harus menggunakan algoritma yang tidak terawasi. Substractive clustering didasarkan atas ukuran densitas (potensi) titik-titik data dalam suatu ruang (variabel). Konsep dasar dari substractive clustering adalah menentukan daerah-daerah dalam suatu variabel yang memiliki densitas tinggi terhadap titik-titik di sekitarnya. Titik dengan jumlah tetangga terbanyak akan dipilih sebagai pusat cluster. Titik yang sudah terpilih sebagai pusat cluster ini kemudian akan dikurangi densitasnya. Kemudian algoritma akan memilih titik lain yang memiliki tetangga terbanyak untuk dijadikan cluster yang lain. Hal ini akan dilakukan berulang-ulang hingga smua titik diuji. Apabila terdapat N buah data: X1, X2, ..., XN dan dengan menganggap bahwa data-data tersebut sudah dalam keadaan normal, maka densitas titik Xk dapat dihitung sebagai : dengan ||Xk-Xj|| adalah jarak antara Xk dengan Xj, dan r adalah konstanta positif yang kemudian dikenal dengan nama jari-jari. Jari-jari, berupa vektor yang akan menentukan seberapa besar pengaruh pusat cluster pada tiap-tiap variabel. Dengan demikian, suatu titik data akan memiliki densitas yang besar jika dia memiliki banyak tetangga dekat. 30 Setelah menghitung densitas tiap-tiap titik, maka titik dengan densitas tertinggi akan dipilih sebagai pusat cluster. Misalkan XC1 adalah titik yang terpilih sebagai pusat cluster, sedangan DC1 adalah ukuran densitasnya. Selanjutnya densitas dari titik-titik disekitarnya akan dikurangi menjadi : Dengan rb adalah konstanta positif. Hal ini berarti bahwa titik-titik yang berada dekat dengan pusat cluster akan mengalami pengurangan densitas besar-besaran. Hal ini akan berakibat titik-titik tersebut akan sangat sulit untuk menjadi pusat cluster berikutnya. Nilai rb menunjukkan suatu lingkungan yang mengakibatkan titik-titik berkurang ukuran densitasnya. Biasanya rb bernilai lebih besar dibanding dengan r, rb=q*ra (dengan q adalah squash factor yang digunakan untuk mengalikan nilai radius dan ra adalah nilai rb sebelumnya). Setelah densitas tiap-tiap titik diperbaiki, maka selanjutnyan akan dicari pusat cluster yang kedua. Setelah didapat, ukurang densitas setiap titik data akan diperbaiki kembali, demikian seterusnya. Pada implementasinya, bisa digunakan 2 pecahan sebagai faktor pembanding, yaitu Acceptance ratio dan Rejection ratio. Baik acceptance ratio maupun rejection ratio keduanya merupakan suatu bilangan pecahan yang bernilai 0 sampai 1. Acceptance ratio merupakan batas bawah dimana suatu titik data yang menjadi kandidat (calon) pusat cluster diperbolehkan untuk menjadi pusat cluster. Sedangkan rejection ratio merupakan batas atas dimana suatu titik data yang menjadi kandidat (calon) pusat cluster tidak diperbolehkan untuk menjadi pusat cluster. Ada 3 kondisi yang bisa terjadi dalam suatu iterasi : Apabila Rasio >Acceptance ratio, maka titik data tersebut diterima sebagai pusat cluster baru. Apabila Rejection ratio < Rasio Acceptance ratio, maka titik data tersebut baru akan diterima sebagai pusat cluster baru hanya jika titik data tersebut terletak pada jarak yang cukup jauh dengan pusat clusteryang lainnya (hasil penjumlahan antara rasio dan jarak terdekat 31 titik data tersebut dengan suatu pusat cluster lainnya yang telah ada 1). Apabila hasil penjumlahan antara rasio dan jarak terpanjang titik data tersebut dengan pusat cluster lainnya yang telah ada < 1, maka selain titik data tersebut tidak akan diterima sebagai pusat cluster, dia sudah tidak akan dipertimbangkan lagi untuk menjadi pusat cluster baru (potensinya diset sama dengan nol). Apabila Rasio Rejection ratio, maka sudah tidak ada lagi titik yang akan dipertimbangkan untuk menjadi kandidat pusat cluster, iterasi dihentikan. Data tidak diterima sebagai pusat cluster (Rasio Rejection ratio) Data diterima sebagai pusat cluster tapi dengan syarat (Rejection) ratio<RasioAcceptance ratio) Rejection ratio Data diterima sebagai pusat cluster (Rasio >Acceptance ratio) Acceptance ratio Gambar 2.7 Rasio, Acceptance ratio, dan Rejection ratio Perbedaan lain dengan metode Fuzzy C-Means (FCM) adalah, jika pada metode FCM pusat clusterbisa jadi bukan merupakan salah satu dari data yang dicluster, tidak demikian halnya dengan metode substractive clustering. Pada metode substractive clustering, suatu pusat cluster pasti merupakan salah satu data yang ikut dicluster, yaitu data dimana derajat keanggotaannya pada cluster tersebut sama dengan 1. Penjumlahan semua derajat keanggotaan pada FCM selalu bernilai sama dengan 1, namun tidak demikian dengan substractive clustering. Pada metode substractive clustering, penjumlahan semua derajat keanggotaannya belum tentu (bahkan jarang) bernilai sama dengan 1. 2.6.6 Algoritma Substractive Clustering Algoritma fuzzy substractive clustering adalah sebagai berikut: 1. Input data yang akan dicluster:Xij, dengan i = 1,2,...,n; dan j = 1,2,...,m. 2. Tetapkan nilai: a. rj (jari-jari setiap atribut data); j = 1,2,...,m. 32 b. q (squash factor); c. Acceptance_ratio; d. Rejection_ratio; e. XMin (minimum data diperbolehkan); f. XMax (maksimum data diperbolehkan); 3. Normalisasi 4. Tentukan potensi awal tiap-tiap titik data a. i = 1 b. Kerjakan hingga i = n, Tj = Xij; Hitung: Potensi awal: Jika m = 1, maka Jika m>1, maka 5. i = i+1 Cari titik dengan potensi tertinggi a. M = max[Di|i = 1,2,...,n]; b. h = i, sedemikian sehingga Di = M; 6. Tentukan pusat cluster dan kurangi potensinya terhadap titik-titik di sekitarnya. a. Center = [] b. Vj = Xhj; j = 1,2,...,m; c. C = 0 (jumlah cluster); d. Kondisi = 1; 33 e. Z = M; f. Kerjakan jika (Kondisi0) & (Z0): Kondisi = 0 (Sudah tidak ada calon pusat baru lagi); Rasio=Z/M Jika Rasio > Acceptance_ratio, maka Kondisi=1; (ada calon pusat baru) Jika tidak, Jika Rasio > Rejection_ratio, (calon baru akan diterima sebagai pusat jika keberadaannya akan memberikan keseimbangan terhadap data-data yang letaknya cukup jauh dengan pusat cluster yang telah ada), maka kerjakan Md = -1 Kerjakan untuk i = 1 sampai i = C: i. ii. iii. Jika (Md < 0) atau (Sd < Md), maka Md = Sd; Smd = Md; Jika (Rasio+Sms) 1, maka Kondisi = 1; (Data diterima sebagai pusat cluster) Jika (Rasio+Smd) < 1, maka Kondisi = 2; (Data tidak akan dipertimbangkan kembali sebagai pusat cluster). Jika Kondisi = 1 (Calon pusat baru diterima sebagai pusat baru), kerjakan: C = C+1; CenterC = V; Kurangi potensi dari titik-titik didekat pusat cluster: i. ii. iii. D = D-DC; iv. Jika Di 0, maka Di = 0; i = 1,2,...,n. v. Z = max[Di|i=1,2,...,n]; 34 vi. Pilih h = i, sedemikian hingga Di = Z; Jika kondisi = 2 (Calon pusat baru tidak diterima sebagai pusat baru), maka Dh = 0; Z = max[Di|i=1,2,...,n]; Pilih h = i, sedemikian hingga Di = Z; 7. Kembalikan pusat cluster dari bentuk ternormalisasi ke bentuk semula. Centerij = Centerij*(XMaxj-XMinj)+XMinj; 8. Hitung nilai sigma cluster. Hasil dari algoritma Substractive clustering ini berupa matriks pusat cluster (C) dan sigma () akan digunakan untuk menentukan nilai parameter fungsi keanggotaan Gauss seperti terlihan pada Gambar 2.8. Gambar 2.8 Kurva Gauss Dengan kurva Gauss tersebut, maka derajat keanggotaan suatu titik data Xi pada cluster ke-k, adalah: 35 2.6.7 Fuzzy Inference System Sistem Inferensi Fuzzy (Fuzzy Inference System atau FIS) merupakan suatu kerangka komputasi yang didasarkan pada teori himpunan fuzzy, aturan fuzzy berbentuk IF-THEN, dan penalaran fuzzy [11]. Secara garis besar, diagram blok proses inferensi fuzzy terlihat pada Gambar 2.9. Aturan-1 IF-THEN fuzzy crisp INPUT AGREGASI Aturan- n IF-THEN fuzzy fuzzy DEFUZZY crisp OUTPUT Gambar 2.9 Diagram Blok Sistem Inferensi fuzzy Sistem inferensi fuzzy menerima input crisp. Input ini kemudian dikirim ke basis pengetahuan yang berisi n aturan fuzzy dalam bentuk IFTHEN. Fire strength (nilai keanggotaan sebagai hasil dari operasi 2 himpunan) akan dicari pada setiap aturan. Apabila jumlah aturan lebih dari satu, maka akan dilakukan agregasi dari semua aturan. Selanjutnya, pada hasil agregasi akan dilakukan defuzzy untuk mendapatkan nilai crisp sebagai output sistem. 2.6.8 Penalaran Fuzzy Metode Sugeno Sistem inferensi fuzzy menggunakan metode SUGENO, memiliki karakteristik yaitu konsekuen tidak merupakan himpunan fuzzy, namun merupakan suatu persamaan linear dengan variabel-variabel sesuai dengan variabel-variabel inputnya. Metode ini diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. Metode Takagi-Sugeno Kang ini terdiri dari 2 jenis, yaitu: 36 a. Model Fuzzy Sugeno Orde-0 (Nol) Secara umum bentuk fuzzy SUGENO Orde-0 adalah : IF (x1 is A1)o(x2 is A2)o(x3 is A3)o...o(xN is AN) THEN z=k Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, o adalah operator fuzzy (seperti AND atau OR), dan k adalah suatu konstanta (tegas) sebagai konsekuen. b. Model Fuzzy Sugeno Orde-1 (Satu) Secara umum bentuk fuzzy SUGENO Orde-1 adalah : IF (x1 is A1)o(x2 is A2)o...o(xN is AN) THEN z=p1*x1+...+ pN*xN+q Dengan Ai adalah himpunan fuzzy ke-i sebagai anteseden, o adalah operator fuzzy (seperti AND atau OR), pi adalah suatu konstanta (tegas) ke-i dan q juga merupakan konstanta dalam konsekuen. Proses agregasi dan defuzzy untuk mendapatkan nilai tegas sebagai output untuk M aturan fuzzy juga dilakukan dengan menggunakan rata-rata berbobot, yaitu : 2.6.9 Membentuk FIS Dengan Substractive Clustering Salah satu cara untuk mendapatkan derajat keanggotaan dalam suatu himpunan fuzzy adalah dengan menggunakan fuzzy clustering. Setelah variabel-variabel terbagi atas himpunan-himpunan fuzzy, maka selanjutnya dapat dibangun fuzzy inference system. Misalkan kita memiliki n buah data dimana setiap data memiliki p variabel (atribut), maka kita dapat menyusun data-data tersebut menjadi sebuah matriks X yang berukuran nxp. Dengan menggunakan fuzzy substractive clustering dengan : jari-jari (r), acceptance ratio, rejection ratio, dan squash factor tertentu, kita akan mendapatkan pusat cluster C dan sigma. Untuk membentuk FIS dari hasil clustering ini, kita dapat menggunakan metode inferensi fuzzy Sugeno orde satu. Sebelumnya, data yang ada dipisahkan terlebih dahulu antara data pada variabel-variabel input dengan data pada variabel output. Misalkan jumlah variabel input 37 adalah m, dan variabel output biasanya 1. Pada metode ini, akan diperoleh kumpulan aturan yang berbentuk : [R1] IF (x1 is A11)o(x2 is A12)o...o(xn is A1m) THEN is A22)o...o(xn is A2m) THEN is A2m)o...o(xn is Arm) THEN (z=k11x1+...+k1mxm+k10); [R2] IF (x1 is A21)o(x2 (z=k21x1+...+k2mxm+k20); ... [Rr] IF (x1 is A1m)o(x2 (z=kr1x1+...+krmxm+kr0); Dengan : Aij adalah himpunan fuzzy aturan ke-i variabel ke-j sebagai anteseden, kij adalah koefisien persamaan output fuzzy aturan ke-i variabel ke-j (i=1,2,...,r; j=1,2,...,m), dan ki0 adalah konstanta persamaan output fuzzy aturan ke-i; tanda o menunjukkan operator yang digunakan dalam anteseden. Jumlah aturan = r yang terbentuk, sama dengan jumlah clusteryang terbentuk. Misalkan setelah melakukan clustering diperoleh 5 pusat cluster, maka nantinya dalam FIS juga akan memiliki sebanyak 5 buah aturan. Untuk mempermudah komputasi, matriks K yang berukuran r x (m+1): disusun menjadi satu vektor k: k = [k11 k12 ... k1m k10 k21 k22 ... k2m k20 ... kr1 kr2 ... krm kr0]T yang berukuran r*(m+1). Karena kita memiliki n buah titik data, tentu saja kita dapat mencari derajat keanggotaan setiap titik data i dalam setiap cluster k dengan menggunakan fungsi Gauss. Berbeda dengan derajat keanggotaan pada fuzzy substractive clustering, pada bagian ini derajat keanggotaan hanya melibatkan 38 variabel-variabel input saja. Untuk selanjutnya nilai j=1,2,...,m (m = jumlah variabel input). Kemudian derajat keanggotaan setiap data i dalam cluster k ini kita kalikan dengan setiap atribut j dari data i, misalkan kita namai dengan dkij; dkij = Xij*µki dan dki(m+1) = µki Proses normalisasi dilakukan dengan cara membagi dkij dan dki(m+1) dengan jumlah derajat keanggotaan setiap titik data i pada clusterk, diperoleh : Langkah selanjutnya adalah membentuk matriks U yang berukuran n x (r*(m+1)), dengan: ui1 = d1i1; ui2 = d1i2; uim = d1im; ui(m+1) =d1i(m+1); ui(m+2) = d2i1; ui(m+3) = d2i2; ui(2m) = d2im; ui(2m+1) = d2i(m+1); ui(r*(m+1)-m) = drir; ui(r*(m+1)-m+1) ui(r*(m+1)-1) = drim; ui(r*(m+1)) = dri(m+1); dst = dri2; 39 sehingga untuk n titik data akan diperoleh matriks U sebagai berikut : U= u11 u12 … u1m u1(m+1) u1(m+2) … u1(r*(m+1)) u21 u22 … u2m u2(m+1) u2(m+2) … u2(r*(m+1)) Vektor z, sebagai vektor output berbentuk : z = [z1 z2 ... zn]T. Dari vektor k, matriks U, dan vektor z ini dapat dibentuk suatu sistem persamaan linear yang berbentuk : un1 un2 … unm un(m+1) un(m+2) … un(r*(m+1)) U*k=z untuk mencari nilai koefisien output tiap-tiap aturan pada setiap variabel (kij, i=1,2,...,r; dan j=1,2,...,m+1). Matriks U bukan matriks bujursangkar, sehingga untuk menyelesaikan persamaan ini digunakan metode kuadrat terkecil. Untuk membentuk anteseden, setiap variabel input juga akan terbagi menjadi r himpunan fuzzy, dengan setiap himpunan memiliki fungsi keanggotaan Gauss, dengan derajat keanggotaan data Xi, variabel ke-j, himpunan ke-k dirumuskan sebagai berikut : dengan aturan-aturan sebagai berikut : [R1] IF (Xi1 is V1H1)o(Xi2 is V2H1)o...o(Xim is VmH1) THEN Y = Z1; [R2] IF (Xi1 is V1H2)o(Xi2 is V2H2)o...o(Xim is VmH2) THEN Y = Z2; [R3] IF (Xi1 is V1H3)o(Xi2 is V2H3)o...o(Xim is VmH3) THEN Y = Z3; ... [Rr] IF (Xi1 is V1Hr)o(Xi2 is V2Hr)o...o(Xim is VmHr) THEN Y = Zr; Dengan VpHq adalah variabel ke-p himpunan ke-q. 40