JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
1
Aplikasi Rekomendasi Menu Makanan untuk Penderita Kanker Berdasarkan Golongan Darah Berbasis Android pada Perangkat Komunikasi Bergerak dengan Menggunakan Metode Forward Chaining Mamlu’atul Hikmah, Sarwosri, dan Dwi Sunaryono Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Arief Rahman Hakim, Surabaya 60111 Indonesia e-mail:
[email protected] Abstrak—Salah satu cara untuk pengobatan serta pencegahan kanker adalah dengan menata pola makan dengan makanan yang sesuai dengan kondisi seseorang. Cara tersebut dikenal dengan nama diet sehat. Diet sehat tersebut dilakukan berdasarkan golongan darah. Namun, pemilihan menu makanan dalam diet sehat tersebut membutuhkan suatu pengetahuan yang cukup dan pasti membutuhkan waktu yang lama dalam mendapatkannya. Oleh sebab itu dalam artikel ini diusulkan sebuah aplikasi yang dapat membantu pelaksanaan diet sehat golongan darah dengan menggunakan metode forward chaining. Aplikasi rekomendasi makanan ini dibangun pada sistem operasi Android dengan layanan web untuk berkomunikasi dengan basis data pada server. Hasilnya, aplikasi dapat menyajikan fitur pemberian rekomendasi makanan serta resep masakan. Sehingga diharapkan dengan adanya aplikasi ini dapat sedikit membantu pengobatan serta pencegahan kanker terutama di Indonesia. Pengujian kegunaan aplikasi ini pun telah dilakukan. Pengujian kegunaan ini dilakukan dengan cara melakukan survei kepada beberapa pengguna, kemudian meminta mereka untuk memberikan penilaian terhadap aplikasi sesuai dengan aspek yang telah ditentukan. Hasil dari pengujian tersebut adalah lebih dari 75% yang menunjukkan aplikasi rekomendasi makanan ini telah lebih dari cukup baik.
dana yang besar. Saat ini telah banyak dilakukan penelitian bahwa terdapat salah satu cara untuk mencegah serta mengobati penyakit kanker tersebut. Caranya yaitu dengan mengatur pola makan sehat atau disebut diet sehat dengan memilih menu makanan yang sesuai dengan penyakit kanker yang diderita serta berdasarkan golongan darah pasien. Salah satu solusi untuk mempermudah pemilihan menu makanan tersebut adalah dengan dibuatnya sebuah aplikasi yang dapat memberikan rekomendasi pilihan menu makanan untuk penderita kanker ataupun bukan berbasis Android. Pilihan menu makanan tersebut juga sesuai dengan jenis kanker serta golongan darahnya. Penentuan menu makanan yang sesuai dengan kondisi pengguna tersebut menggunakan metode forward chaining. Dengan metode ini, kondisi pengguna merupakan fakta. Selanjutnya fakta tersebut dikirim ke server untuk dilakukan pencocokan dengan aturan yang sesuai. Kemudian didapatkanlah konklusi atau hasil rekomendasi makanan.
Kata Kunci—Android, Forward chaining, golongan darah, kanker, makanan.
II. TINJAUAN PUSTAKA
I. PENDAHULUAN
P
ENGOBATAN dan pencegahan penyakit kanker yang sangat mahal menjadikan penyakit ini sangat ditakuti di kalangan masyarakat. Bahkan di dunia, sekitar 12% seluruh kematian disebabkan oleh kanker, dan merupakan pembunuh nomor dua setelah penyakit kardiovaskular. Menurut para epidemilog, faktor-faktor lingkungan dan gaya hidup mungkin bertanggungjawab sebesar 75% dalam semua kasus kanker [1]. Jumlah penderita kanker di Indonesia sebenarnya dapat dikurangi yakni dengan cara mengurangi dan menghindari faktor-faktor risiko tersebut. Sedangkan untuk penderita kanker sendiri juga sebenarnya dapat disembuhkan melalui cara medis ataupun terapi, akan tetapi membutuhkan
A. Kanker [1] Penyakit kanker adalah suatu penyakit yang tidak menular yang disebabkan oleh pertumbuhan sel-sel jaringan tubuh yang tidak normal. Sel-sel kanker akan berkembang dengan cepat, tidak terkendali, dan akan terus membelah diri, selanjutnya menyusup ke jaringan sekitarnya dan terus menyebar melalui jaringan ikat, darah, dan menyerang organ-organ penting serta syaraf tulang belakang. Penyebab kanker biasanya tidak dapat diketahui secara pasti karena penyebab kanker dapat merupakan gabungan dari sekumpulan faktor, genetik, dan lingkungan. Namun ada beberapa faktor yang diduga meningkatkan risiko terjadinya kanker, yaitu seperti faktor keturunan, faktor lingkungan, faktor makanan yang mengandung bahan kimia dan lain sebagainya.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
2
Tabel. 1. Kaitan golongan darah dengan kanker
System mendapatkan rekomendasi makanan Pengguna
mendapatkan rekomendasi resep masakan
mendapatkan informasi penyakit kanker
Kanker
Golongan Darah
Kondisi
Kanker payudara
A
Kanker indung kemih Kanker lambung
AB
Mendapatkan hasil yang lebih buruk dan mengalami kemajuan kanker lebih cepat Rentan terkena kanker
Kanker esofagus
B
O
System mengelola data makanan
mengelola data mengelola data resep masakan
Memberikan suatu efek perlindungan dengan mencegah pertumbuhan dan perkembangan tumor Kemungkinannya lebih sedikit terkena kanker ini
Administrator
mengelola data informasi kanker
Gambar. 1. Diagram kasus penggunaan dengan aktor pengguna dan administrator
Pengobatan kanker sendiri dapat dilakukan dengan beberapa cara, diantaranya adalah dengan terapi penyinaran atau radiasi, pembedahan, kemoterapi, terapi kombinasi, dan juga herbal. Akan tetapi sebenarnya kanker itu juga dapat dicegah. Cara pencegahan umum penyakit kanker adalah dengan mengurangi paparan terhadap karsinogen, misalnya tidak merokok, menghindari makanan tinggi lemak, menambah makanan tinggi serat, dan hidup dengan pola sehat. B. Kaitan Golongan Darah dan Kanker Terdapat bukti yang tidak dapat dipungkiri bahwa terdapat kaitan antara kondisi kanker dengan golongan darah seseorang. Berdasarkan penelitian yang telah ada, pemilik golongan darah A, B, dan O memiliki risiko terkena kanker lebih tinggi. Terutama dalam kanker pankreas [2]. Akan tetapi kaitan tersebut tidaklah mutlak, karena ada beberapa kanker yang kaitannya tidak signifikan seperti pada kanker kolon dan rektum [3]. Adapun beberapa hubungan golongan darah dengan kanker ditunjukkan pada Tabel 1. C. Hubungan Kanker dengan Diet Sehat Golongan Darah [1] Perumpamaan yang tepat untuk hubungan kanker dengan diet sesuai golongan darah adalah sama halnya dengan pemasangan pagar berlapis pada sebuah pondok kecil di suatu wilayah yang dikelilingi oleh serigala. Setiap pagar (suatu terapi atau pertahanan) yang kita pasang di sekeliling pondok (pasien) akan semakin sulit bagi serigala (kanker) untuk mendekat ke pondok. Akan tetapi, ada peringatan penting: setiap pagar tersebut harus berbeda dari pagar-pagar sebelumnya, karena tidak akan ada gunanya jika setiap pagar identik. Sekali serigala menemukan apa yang dibutuhkan untuk mengatasinya, ia hanya perlu melakukan hal yang sama secara berulang-ulang.
Dalam sistem golongan darah, setiap pagar bekerja dalam cara yang berbeda dari yang lainnya. Dengan demikian, tidak ada sel kanker yang dapat bermutasi sedemikian rupa sehingga pertahanan tersebut tidak dapat ditembus. Strategi golongan darah akan bekerja dalam beberapa tingkatan, semuanya melalui mekanisme yang berbeda, dan menyajikan tantangan yang lebih banyak bagi sel kanker dibandingkan dengan apa yang dapat ia lakukan lewat mutasi untuk mengatasinya. Terdapat suatu reaksi kimia antara antigen golongan darah dengan berbagai makanan yang telah ditelan. Itu karena protein dalam makanan juga memiliki antigen, dan antigenantigen ini mirip dengan antigen golongan darah. Jika makanan yang telah kita telan mengandung antigen golongan darah asing, maka hal ini dapat memicu terbentuknya antibodi anti-golongan darah, dan hasilnya adalah penggumpalan selsel. Komponen lain dalam makanan dapat bereaksi dengan golongan darah dan menggumpalkannya. Sehingga jika kita memakan makanan yang sesuai dengan golongan darah, maka dipastikan antigen golongan darah dapat membantu strategi golongan darah. Strategi tersebut sangat baik untuk melawan kanker. D. Forward Chaining [4] Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai true), maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia baru didapatkan konklusinya. Setiap rule pada forward chaining hanya dipanggil sekali saja. Jika tidak ada rule lagi yang dapat dipanggil, maka pencarian data tersebut akan berhenti. Rule dalam forward chaining digambarkan dengan klausa IF
THEN . Dalam sebuah sistem rule-based klausa premis atau fakta direpresentasikan dalam sebuah memori kerja yang mana akan selalu diperbaharui. Sedangkan rule atau aturan dalam sistem direpresentasikan sebagai kemungkinan aksi yang diambil ketika suatu kondisi itu sesuai dengan yang terdapat pada memori kerja.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print)
Resep faktaresep = new Resep(); faktaresep.setIdjenisresep(idjenisresep); faktaresep.setGoldar(goldar); ruleHandle = kSession.insert(faktaresep); kSession.fireAllRules(); Gambar. 2. Fungsi pencocokan fakta dengan aturan String hasilrespon = hasilRekom.getExtras().getString("response"); String hasilAll[] = hasilrespon.split("#"); for(int i = 0; i < hasilAll.length; i++){ String text_gambar[] = hasilAll[i].split(","); listResep.add(get(text_gambar[0], text_gambar[1]));} ArrayAdapter adapter = new CustomArrayAdapter(this, listResep); setListAdapter(adapter); Gambar. 3. Fungsi menampilkan rekomendasi resep makanan
Gambar. 4. Tampilan rekomendasi makanan
3
Tabel. 2. Hasil akhir penilaian pengujian kegunaan No
Aspek Pengujian
Nilai Akhir
Persentase
1 2
Antarmuka pengguna Pemberian rekomendasi Manfaat aplikasi
3,47 3,5
86,75% 87,5%
3,80
95%
3
pengguna guna meringankan proses pengobatan penderita kanker. Bagi bukan penderita kanker, diharapkan dapat mencegah kanker. Aplikasi ini harus dapat memberikan informasi tentang penyakit kanker. Sehingga diharapkan dengan adanya aplikasi ini, timbulnya penyakit kanker dapat diminimalkan. Lalu karena domain permasalahan juga selalu berkembang, maka dibutuhkan suatu back end yang dapat memperbaharui data yang dibutuhkan pada aplikasi. B. Skenario Kasus Penggunaan Kasus penggunaan yang digambarkan secara garis besar pada Gambar 1. Pada diagram tersebut ada dua aktor, pengguna serta administrator. Dua aktor tersebut mengakses sistem yang berbeda. Pengguna dapat mendapatkan rekomendasi makanan serta rekomendasi resep masakan. Pengguna juga dapat mendapatkan informasi terkait penyakit kanker. Aktor administrator dapat mengelola semua data yang terdapat pada basis data server. C. Implementasi Proses Mencocokkan Data dengan Aturan Proses pencocokan data, baik data pengguna maupun data resep dengan aturan yang sesuai adalah proses utama dari aplikasi. Proses ini menggunakan bantuan dari rule engine Drools dalam menjalankan pemrosesannya. Pada proses ini fakta yang telah dimasukkan akan dicocokkan dengan aturan yang sesuai dengan fakta tersebut, kemudian didapatkan hasil rekomendasinya. Implementasi proses tersebut seperti pada Gambar 2.
E. Rule Engine Drools [4] Rule engine merupakan program komputer yang dapat menyampaikan fungsionalitas dari Knowledge Representation and Reasoning kepada pengembang. Drools merupakan salah satu rule engine yang tipenya spesifik terhadap Production Rule System (PRS) dan menggunakan algoritma rete dalam proses pencocokannya. Bentuk aturan umum pada Drools adalah when then Pada Drools proses pencocokan fakta baru atau fakta lama yang berlawanan dengan production rule dinamakan dengan pattern matching, yang mana dilakukan oleh inference engine. Aksi mengeksekusi respons untuk mengubah data seperti trigger dalam basis data. Hal tersebut dikatakan pendekatan data-driven terhadap reasoning. Aksi sendiri dapat mengubah data yang mana dapat melakukan pencocokan terhadap aturan lain yang dapat menyebabkan aturan lainnya dipanggil. Hal tersebut yang dinamakan dengan forward chaining.
D. Implementasi Proses Menampilkan Hasil Rekomendasi Makanan atau Resep Masakan Setelah dilakukan pencocokan fakta dengan aturan, kemudian didapatkan sebuah konklusi. Konklusi tersebut adalah hasil rekomendasi makanan atau resep masakan. Hasil rekomendasi tersebut kemudian dikirim dari server ke aplikasi melalui layanan web, kemudian aplikasi menerimanya dan menampilkannya ke klien. Implementasi dari proses ini seperti yang terdapat pada Gambar 3.
III. METODOLOGI
IV. PENGUJIAN
Berikut akan dibahas tahap-tahap analisis kebutuhan dari sistem yang dibangun dan perancangannya. A. Analisis Kebutuhan Aplikasi ini diharapkan dapat membantu para penderita kanker dalam menjalani pengobatannya. Untuk itu aplikasi ini harus dapat memberikan hasil rekomendasi makanan atau resep masakan yang tepat dan akurat sesuai dengan kondisi
Uji coba ini dilakukan pada sebuah laptop dengan prosesor Intel(R) Core™ 2 Duo CPU T6600 @2,20GHz, RAM sebesar 3GB, dan sistem operasi Windows 7 Ultimate 32bit untuk server. Serta dilakukan pada ponsel pintar berbasis Android 2.3.6 (GingerBread) dengan RAM 290MB dan memori internal 190MB untuk klien. Uji coba ini dibagi menjadi dua bagian, yaitu uji coba pada fungsionalitas aplikasi dan uji coba kegunaan.
JURNAL TEKNIK POMITS Vol. 2, No. 1, (2013) ISSN: 2337-3539 (2301-9271 Print) A. Pengujian Fungsionalitas Aplikasi Uji coba ini dilakukan untuk mengetahui apakah fungsionalitas yang diidentifikasi pada tahap kebutuhan benarbenar diimplementasikan dan bekerja semestinya. Selain itu juga untuk mengetahui kesesuaian keluaran dari setiap tahapan atau langkah penggunaan fitur terhadap skenario yang dipersiapkan. Uji coba dilakukan dengan menggunakan metode black-box. Fungsionalitas yang diuji adalah fungsionalitas mendapatkan rekomendasi makanan, fungsionalitas mendapatkan rekomendasi resep, serta fungsionalitas mendapatkan informasi kanker. Dari beberapa uji coba fungsionalitas yang telah dilakukan, hasil yang didapatkan adalah sukses. Salah satu hasil dari uji coba ini ditunjukkan dalam Gambar 4. B. Pengujian Kegunaan Uji coba ini dilakukan untuk mengatahui tanggapan para pengguna terhadap aplikasi. Penilaian dalam pengujian ini terdapat tiga aspek, yaitu: aspek antarmuka pengguna, pemberian rekomendasi, serta manfaat aplikasi. Pengujian ini dilakukan dengan melakukan survei terhadap beberapa pengguna kemudian meminta mereka untuk melakukan penilaian terhadap aplikasi sesuai dengan aspek yang telah disebutkan. Responden dalam pengujian ini terdiri dari 7 orang. Adapun hasil akhir dari pengujian kegunaan ini ditunjukkan dalam Tabel 2. Dari tabel tersebut dapat diketahui bahwa hasil penilaian pengujian kegunaan dalam semua aspek memiliki nilai persentase yang lebih dari 75%. Hal tersebut menunjukkan bahwa aplikasi rekomendasi makanan ini dalam segi kegunaannya, telah memberikan hasil yang lebih dari cukup baik. V. KESIMPULAN DAN SARAN Dari hasil uji coba yang telah dilakukan terhadap aplikasi rekomendasi makanan ini, dapat diambil kesimpulan sebagai berikut. 1. Seluruh kebutuhan fungsionalitas yang terdapat pada aplikasi rekomendasi makanan ini telah berjalan sesuai dengan yang diharapkan. 2. Dapat sedikit membantu penderita kanker dalam proses pengobatannya dengan media makanan. Sedangkan untuk bukan penderita kanker, juga dapat membantu mencegah kanker dengan media makanan tersebut. Saran yang dapat diberikan agar studi ini dapat dikembangkan menjadi lebih baik adalah dengan mengembangkan aplikasi rekomendasi ini ke dalam platform perangkat komunikasi bergerak yang lain. UCAPAN TERIMA KASIH Penulis M.H. mengucapkan terima kasih kepada Tuhan Yang Maha Esa, kedua orangtua dan keluarga penulis, dosen pembimbing, seluruh dosen Teknik Informatika ITS, temanteman Teknik Informatika 2009, serta berbagai pihak yang
4
telah membantu penulis dalam menyelesaikan penelitian ini. DAFTAR PUSTAKA [1] D. P. J. Adamo, Diet sehat golongan darah untuk mencegah dan mengobati kanker, Jakarta: PT Bhuana Ilmu Populer, 2006. [2] B. M. Wolpin, P. Kraft, M. Gross, K. Helslsouer dan e. al, “Pancreatic cancer risk and ABO blood group alleles: results from the pancreatic cancer cohort consortium,” American Association for Cancer Research, pp. 1015-1023, 2010. [3] H. Khalili, B. M. Wolpin, E. S. Huang dan e. al, “ABO blood group and risk of colorectal cancer,” National Institute of Health, 2011. [4] T. J. D. Team, “Drools expert user guide,” The JBoss Drools Team.