BAB IV IMPLEMENTASI DAN PEMBAHASAN 4.1. HASIL PENGUMPULAN DATA Pembentukan ontologi akan dilakukan dengan menggunakan data dan knowledge yang telah diambil dari sumber sebagai berikut: a. Data Primer Wawancara dengan dokter ahli gizi, yaitu dr. Kusmadewi Eka Damayanti M.Gizi. b. Data Sekunder ASEAN Food Database dan SMILING Food Composition Table for Indonesia, untuk data kandungan gizi pada bahan makanan. Data kandungan gizi yang diinputkan berdasarkan nilai kandungan gizi pada bahan makanan untuk ukuran per seratus gram bahan makanan. Buku Pedoman Gizi Seimbang Tahun 2014, untuk mengetahui jumlah kebutuhan zat gizi harian dan tambahan yang diperlukan ibu hamil selama kehamilan Buku Modern Nutrition in Health and Disease 10 Edition Tahun 2006, untuk mendapatkan data penyakit yang berkaitan dengan gizi. 4.2. HASIL PEMBENTUKAN ONTOLOGI 4.2.1. Penentuan Domain dan Scope Ontologi Ontologi yang dibangun mencakup domain gizi ibu pada masa kehamilan dan dapat digunakan sebagai basis pengetahuan untuk membangun sebuah sistem rekomendasi. Ontologi gizi ibu hamil yang dibangun diharapkan dapat menjawab pertanyaan seputar gizi yang dibutuhkan ibu hamil selama kehamilan, serta dapat digunakan oleh semua orang sehingga bisa dikembangkan lebih luas lagi atau diperbaiki sesuai dengan kebutuhan pemakainya. 4.2.2. Penggunaan Kembali Ontologi yang Sudah Ada Penelitian ini menggunakan kembali ontologi yang sudah ada sebelumnya yaitu Ontologi Prenatal Nutrition yang dibuat oleh (Ruindungan, Santosa, & 16 17 Kusumawardani, 2014). Penggunaan ontologi Prenatal Nutrition tersebut berupa penggunaan kelas bahan makanan, usia kehamilan, gizi dan penyakit, sedangkan untuk kelas lainnya seperti menu, nutrition status dan measurement tidak akan digunakan pada penelitian ini. Namun pada ontologi gizi ibu hamil ini akan dilakukan penambahan kelas, properti dan pengisian instances pada setiap kelasnya. Berikut tabel 4.1 yang menjelaskan beberapa perbedaan kelas dan properti yang digunakan Ontologi Prenatal Nutrition dan Ontologi Gizi Ibu Hamil. Tabel 4. 1. Perbedaan kelas dan properti pada Ontologi Prenatal Nutrition dengan Ontologi Gizi Ibu Hamil Perbedaan Kelas Properti 4.2.3. Ontologi Prenatal Nutrition Maternal Gestation Disorder Nutrient Foodstuff Nutrition Status Menu Measurement hasGestation hasDisorder hasNutrient hasFoodstuff hasMenu hasProhibitedMenu hasProhibitedFoodstuff inGestation hasMenuNutrient hasMenuFoodstuff hasFoodstuffNutrient Measurement Ontologi Gizi Ibu Hamil Person Usia_kehamilan Penyakit Gizi Bahan_makanan Manfaat gizi adalah_manfaat_dari mempunyai_gejala mempunyai_penyebab mengandung_karbohidrat mengandung_vitamin membutuhkan_energi tambahan_asam_folat Enumerasi Kata-Kata Penting Dalam Ontologi Berikut adalah hasil dari enumerasi kata-kata penting dalam domain gizi kehamilan yang dilakukan oleh penulis: a. Kata Benda - Bahan makanan - Ikan - Usia kehamilan 18 - Buah - Manfaat gizi - Nama penyakit - Sayur - Kandungan zat - Penyebab penyakit - Kacang-kacangan - Gizi - Gejala penyakit - Jamur - Gizi Makro - Telur - Umbi - Gizi Mikro - Susu - Serealia - Mineral - Person - Seafood - Vitamin - Vitamin larut air - Daging - Vitamin larut lemak b. Kata Kerja - adalah_gejala_dari - mempunyai_manfaat - adalah_manfaat_dari - mengandung_kalsium - adalah_penyebab_dari - membutuhkan_energi - mempunyai_gejala - tambahan_vitamin_D - mempunyai_penyebab - mempunyai_satuan 4.2.4. Pendefinisian Kelas dan Tingkatan Kelas Pembentukan tingkatan kelas dimulai dari pendefinisian dari konsep yang lebih penting dan melakukan generalisasi dan spesifikasi secara tepat. Ontologi gizi ibu hamil memiliki enam kelas utama yang saling disjoint yaitu individu tidak bisa menjadi instances lebih dari satu kelas dari keenam kelas tersebut. Enam kelas utama ontologi gizi ibu hamil adalah sebagai berikut: 1. Bahan_makanan Subkelas : Daging_dan_hasil_olahannya, Buah_dan_hasil_olahannya, Bumbu_ bumbu, Gula_dan_hasil_olahannya, Ikan_kerang_dan_hasil_olahannya, Kacang_kacangan_dan_hasil_olahannya, Lemak_dan_minyak, Sayuran_dan _hasil_olahannya, Serealia_dan_hasil_olahannya, Susu_dan_hasil_olahannya, Telur_dan_hasil_olahannya dan Umbi_dan_hasil_olahannya. 19 2. Gizi Subkelas : Gizi_makro, Gizi_mikro, Mineral, Vitamin, Vitamin_larut_air dan Vitamin_larut_lemak 3. Manfaat_gizi 4. Penyakit Subkelas : Nama_penyakit, Gejala_penyakit dan Penyebab_penyakit 5. Person 6. Usia_kehamilan Berikut gambar 4.1 yang menampilkan hierarki kelas ontologi gizi ibu hamil yang telah dibangun pada tools Protégé 4.3. Gambar 4. 1. Hirarki kelas ontologi gizi ibu hamil 20 4.2.5. Pendefinisian Properti Kelas Tahap setelah mendefinikan kelas yaitu, mendefinisikan properti kelas. Terdapat tiga tipe property yang digunakan dalam ontologi gizi ibu hamil yaitu object property, data property dan annotation property. Kemudian terdapat inverse property yang digunakan untuk mendefinisikan property yang berlawanan. Dengan adanya fungsi inverse property maka nilai-nilai dari suatu properti akan secara otomatis terisi ketika inverse dari properti tersebut diberi suatu nilai. Contoh properti ‘mempunyai_manfaat’ adalah inverse property dari ‘adalah_manfaat_dari’. Berikut adalah beberapa properti yang digunakan : Object Property a) mempunyai_gejala properti ini menghubungkan individu dari kelas Nama_penyakit ke individu di kelas Gejala_penyakit. b) mempunyai_manfaat properti ini menghubungkan individu dari kelas Gizi ke individu di kelas Manfaat_gizi. c) adalah_penyebab_dari merupakan inverse property dari properti ‘mempunyai_penyebab’. Properti ini menghubungkan individu dari kelas Penyebab_penyakit ke individu di kelas Nama_penyakit. Data Property a) mengandung_protein properti ini menghubungkan antara individu di kelas Bahan_makanan dengan data bertipe float, yang menunjukkan kandungan gizi dari protein pada bahan makanan tertentu. b) membutuhkan_energi properti ini menghubungkan antara individu di kelas Person dengan data bertipe float, yang menunjukkan jumlah kebutuhan gizi harian individu di kelas Person sesuai kategori usianya. 21 c) tambahan_asam_folat properti ini menghubungkan antara individu di kelas Usia_kehamilan dengan data bertipe float, yang menunjukkan jumlah tambahan gizi harian yang dibutuhkan pada tiap trimester kehamilan. Annotation Property a) bermanfaat_untuk properti ini menghubungkan antara individu di kelas Manfaat_gizi dengan data bertipe string yang menunjukkan manfaat gizi tertentu untuk ibu dan janin. b) definisi properti ini menguhubungkan individu di kelas Nama_penyakit dengan data bertipe string yang digunakan untuk menambahkan informasi berupa definisi dari setiap nama penyakit. c) membutuhkan properti ini menghubungkan individu di kelas Gizi dengan data property ‘tambahan_gizi’, yang digunakan untuk menunjukkan tambahan gizi yang dibutuhkan pada tiap zat gizi. d) mempunyai_satuan properti ini menghubungkan beberapa data property yaitu ‘mengandung_gizi’, ‘membutuhkan_gizi’ dan ‘tambahan_gizi’ dengan data bertipe string. Properti ini digunakan untuk menunjukkan satuan dari nilai yang dimiliki oleh data property tersebut. e) mengandung properti ini menghubungkan individu di kelas Gizi dengan data property ‘mengandung_gizi’, yang digunakan untuk menunjukkan kandungan gizi yang terdapat pada tiap zat gizi. 22 Untuk hasil validasi properti ontologi oleh pakar terlampir pada lampiran 4. Berikut tabel 4.2 yang menampilkan daftar properti ontologi gizi ibu hamil. No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Tabel 4.2. Daftar Properti Ontologi Gizi Ibu Hamil Nama Properti Type Domain Range adalah_gejala_dari object property Gejala_penyakit Nama_penyakit adalah_manfaat_dari object property Manfaat_gizi Gizi adalah_penyebab_dari object property Penyebab_penyakit Nama_penyakit mempunyai_gejala object property Nama_penyakit Gejala_penyakit mempunyai_manfaat object property Gizi Manfaat_gizi mempunyai_penyakit object property Person Penyakit mempunyai_penyebab object property Nama_penyakit Penyebab_penyakit membutuhkan_air data property Person float membutuhkan_energi data property Person float membutuhkan_karbohidrat data property Person float membutuhkan_lemak data property Person float membutuhkan_protein data property Person float membutuhkan_serat data property Person float membutuhkan_mineral data property Person float membutuhkan_vitamin data property Person float mengandung_air data property Bahan_makanan float mengandung_energi data property Bahan_makanan float mengandung_karbohidrat data property Bahan_makanan float mengandung_lemak data property Bahan_makanan float mengandung_protein data property Bahan_makanan float mengandung_serat data property Bahan_makanan float mengandung_mineral data property Bahan_makanan float mengandung_vitamin data property Bahan_makanan float tambahan_air data property Person float tambahan _energi data property Person float tambahan _karbohidrat data property Person float tambahan _lemak data property Person float tambahan _protein data property Person float tambahan _serat data property Person float tambahan _mineral data property Person float tambahan _vitamin data property Person float Untuk menggambarkan relationship antar kelas dalam ontologi yang telah dibuat dapat menggunakan visualisasi graf. Berikut gambar 4.2 yang merupakan visualisasi graf dari ontologi gizi ibu hamil. 23 Gambar 4. 2. Visualisasi Graf Ontologi Gizi Ibu Hamil Pada gambar 4.2, kelas utama terhubung pada sebuah kelas tunggal yang disebut “Thing”, sehingga dapat dikatakan bahwa semua kelas utama juga merupakan subkelas dari kelas Thing. Dari keenam kelas utama tersebut terbagi lagi menjadi beberapa subkelas yang berisi instance-instance. Contoh pada kelas Gizi terdapat dua buah subkelas yaitu Gizi_makro dan Gizi_mikro yang dihubungkan dengan garis lurus berwarna ungu yang menunjukkan hubungan ‘subclass’, sedangkan untuk garis berwana biru menunjukkan hubungan bahwa air merupakan ‘instances’ dari kelas Gizi. Untuk menunjukkan hubungan antar kelas yang saling berkaitan ditunjukkan dengan garis putus-putus, seperti pada kelas Gizi dan kelas Manfaat_gizi yang saling berhubungan melalui properti “mempunyai_manfaat”. Selain itu pada kelas 24 Nama_penyakit juga terdapat garis putus-putus yang menunjukkan hubungan antara kelas Nama_penyakit dengan kelas Penyebab_penyakit dan kelas Gejala_penyakit melalui properti “mempunyai_penyebab” dan “mempunyai_gejala”. 4.2.6. Pendefinisian Facets dari Slot Pada tahap ini akan ditentukan batasan pada tiap slot, baik berupa kardinalitas dan tipe nilai. Kardinalitas menunjukkan banyaknya nilai yang dimiliki oleh sebuah properti atau slot, sedangkan tipe nilai merupakan jenis nilai yang dapat diisikan kedalam slot. Berikut tabel 4.3 yang menunjukkan beberapa faset dari slot yang terdapat pada ontologi gizi ibu hamil. Tabel 4. 3. Daftar Facets dari Slot Ontologi Gizi Ibu Hamil No Nama Properti Type Domain Range Facet Kardinalitas Tipe Nilai object Gejala_ Nama_penyakit Multiple 1 adalah_gejala_ Instance dari property penyakit object Manfaat_gizi Gizi Multiple 2 adalah_manfaat_ Instance dari property object Penyebab_ Nama_penyakit Multiple 3 adalah_penyebab Instance _dari property penyakit object Nama_ Gejala_penyakit Multiple 4 mempunyai_ Instance gejala property penyakit object Gizi Manfaat_gizi Multiple 5 mempunyai_ Instance manfaat property object Nama_ Penyebab_ Multiple 6 mempunyai_ Instance penyebab property penyakit penyakit data Person float single 7 membutuhkan_ Number air property 8 membutuhkan_ data Person float single Number energy property 9 membutuhkan_ data Person float single Number karbohidrat property 10 membutuhkan_ data Person float single Number lemak property 11 membutuhkan_ data Person float single Number protein property 12 membutuhkan_ data Person float single Number serat property 13 membutuhkan_ data Person float single Number mineral property 25 No 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Tabel 4. 3. Daftar Facets dari Slot Ontologi Gizi Ibu Hamil (lanjutan) Nama Properti Type Domain Range Facet Kardinalitas Tipe Nilai membutuhkan_ data Person float single Number vitamin property mengandung_air data Bahan_ float single Number property makanan mengandung_ data Bahan_ float single Number energy property makanan mengandung_ data Bahan_ float single Number karbohidrat property makanan mengandung_ data Bahan_ float single Number lemak property makanan mengandung_ data Bahan_ float single Number protein property makanan mengandung_ data Bahan_ float single Number serat property makanan mengandung_mi data Bahan_ float single Number neral property makanan mengandung_ data Bahan_ float single Number vitamin property makanan tambahan_air data Person float single Number property tambahan data Person float single Number _energi property tambahan data Person float single Number _karbohidrat property tambahan _lemak data Person float single Number property tambahan data Person float single Number _protein property tambahan _serat data Person float single Number property tambahan data Person float single Number _mineral property tambahan data Person float single Number _vitamin property 4.2.7. Pembuatan Instances Pada tahap ini akan dibuat instance pada masing-masing kelas yang terkait dengan gizi ibu hamil, misalnya daging_ayam, daging_sapi dan daging_kambing adalah instances dari subkelas Daging_dan_hasil_olahannya. Berikut tabel 4.4. yang menampilkan beberapa contoh instances ontologi gizi ibu hamil di setiap kelasnya. 26 No 1 Tabel 4. 4. Daftar Contoh Instances Ontologi Gizi Ibu Hamil Kelas Subkelas Instances Bahan_Makanan Daging_dan_hasil_olahannya - daging_ayam - daging_kambing - daging_sapi Ikan_kerang_dan_hasil_ olahannya Gula_dan_hasil_olahannya Bumbu_bumbu Susu_dan_hasil_olahannya Telur_dan_hasil_olahannya Umbi_dan_hasil_olahannya 2 Gizi - Gizi_makro Gizi_ mikro Mineral Vitamin - hati_ayam - rempela_ayam - usus_ayam - ikan_mas - ikan_kakap - cumi-cumi - tiram - udang - gula_pasir - madu - jahe - ketumbar - bawang_putih - susu_kambing - susu_sapi - telur_ayam - telur_bebek - kentang - ubi_kuning - ubi_ungu - singkong Vitamin_ larut_ air Karbohidrat Protein Lemak Kalsium Fosfor Kalium Natrium Tembaga Zat_besi - Asam_folat - Vitamin_B1 - Vitamin_B2 27 No 3 Tabel 4. 4. Daftar Contoh Instances Ontologi Gizi Ibu Hamil (lanjutan) Kelas Subkelas Instances Vitamin - Vitamin_A - Vitamin_D _larut_ - Vitamin_E lemak - Vitamin_K Manfaat_gizi - menjaga_imunitas - meningkatkan_kesehatan_ jaringan_kulit - mengatur_fungsi_saraf - membantu_fungsi_ enzim - meningkatkan_ absorpsi_zat_besi - membantu_metabolisme_asam_ lemak - membantu_pembentukan_ organ_ sirkulasi - membantu_sintesis_DNA_ RNA_dan_ protein - membantu_ penyembuhan_luka - mencegah_kelelahan - menyediakan_ cadangan_energi - menyediakan_energi_utama 4 Penyakit Nama_penyakit Gejala_penyakit Penyebab_ penyakit - - 5 Person - anemia_defisiensi_besi diabetes_kehamilan hipertensi_kehamilan sakit_kepala letih lemah pandangan_kabur rasa_lapar_meningkat gangguan_hemodinamik gangguan_produksi_insulin disfungsi_lapisan_pembuluh_ darah_bagian_dalam_atau_endotel menurunnya_kadar_hemoglobin wanita_19_29_tahun wanita_20_49_tahun 28 Tabel 4. 4. Daftar Contoh Instances Ontologi Gizi Ibu Hamil (lanjutan) No 6 Kelas Usia_kehamilan Subkelas Instances - trimester_satu - trimester_dua - trimester_tiga 4.3. PENGUJIAN ONTOLOGI Ontologi yang sudah dibangun kemudian diuji dengan menggunakan prototipe yang telah dibuat, untuk detail penggunaan prototipe yang telah dibuat dapat dilihat pada lampiran 2. Untuk pengujian ontologi yang telah dibangun, terdapat dua cara pengujian yang dapat digunakan yaitu dengan fitur pencarian yang lebih mudah dimana penguji tidak perlu menuliskan query SPARQL dan fitur SPARQL dimana penguji dapat menuliskan secara langsung query SPARQL. Berikut contoh pengujian prototipe aplikasi ontologi gizi ibu hamil. No 1 Tabel 4. 5. Contoh Hasil Pengujian Prototipe dengan Fitur Pencarian Pengujian Kelas : Bahan_makanan, Gizi PERTANYAAN: Sebutkan kandungan gizi dari bahan makanan bayam hijau ? QUERY: PREFIX owl:<http://www.w3.org/2002/07/owl#> PREFIX xsd:<http://www.w3.org/2001/XMLSchema#> PREFIX owl2xml:<http://www.w3.org/2006/12/owl2-xml#> PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX preg:<http://www.semanticweb.org/handini/ontologies/pregnancy#> SELECT distinct ?Bahan_makanan?mengandung_gizi ?value ?mempunyai_satuan WHERE { ?Gizi preg:mengandung ?mengandung_gizi . ?Bahan_makanan ?mengandung_gizi ?value . ?mengandung_gizi preg:mempunyai_satuan ?mempunyai_satuan FILTER regex(str(?Bahan_makanan),"bayam_hijau")} 29 Tabel 4. 5. Contoh Hasil Pengujian Prototipe dengan Fitur Pencarian (lanjutan) No Pengujian 1 Kelas : Bahan_makanan, Gizi HASIL: Pada pengujian prototipe dengan fitur pencarian langsung seperti yang ditunjukkan pada tabel 4.5, diberikan contoh pertanyaan yaitu sebutkan kandungan gizi pada bahan makanan bayam hijau. Hal pertama yang dilakukan adalah menentukan kategori yang akan dipilih yaitu ‘Kandungan Gizi Makanan’, setelah dipilih kategorinya, maka prototipe akan menampilkan list individu pada kelas Bahan_makanan. Selanjutnya pengguna dapat menentukan bahan makanan apa yang akan dicari kandungan zatnya. Karena pertanyaan yang diberikan meminta bahan makanan berupa bayam_hijau, maka ketika bayam hijau dipilih prototipe akan menampilkan query SPARQL dari pertanyaan tersebut secara langsung pada kolom query yang telah tersedia. Kemudian klik pada tombol ‘Cari’, maka prototipe akan menjalankan query yang sudah tersedia dan menampilkan hasil dari pencarian bahan makanan bayam hijau tersebut. Untuk pengujian selanjutnya adalah pengujian ontologi gizi ibu hamil dengan fitur SPARQL pada prototipe yang telah dibuat. Pada fitur SPARQL, pengguna dapat menuliskan secara langsung query SPARQL yang ingin dicari pada kolom text Area yang telah disediakan. Berikut tabel 4.6 yang menampilkan contoh hasil pengujian prototipe dengan fitur SPARQL. 30 No 1 Tabel 4. 6. Contoh Hasil Pengujian Prototipe dengan Fitur SPARQL Pengujian Kelas : Gizi, Manfaat_gizi PERTANYAAN: Sebutkan manfaat dari zat gizi yang dibutuhkan selama kehamilan? QUERY: HASIL: Dari tabel 4.6 diatas dapat dilihat untuk pertanyaan yang diajukan yaitu sebutkan manfaat dari zat gizi yang dibutuhkan selama masa kehamilan, pengguna dapat menuliskan secara langsung query SPARQL-nya pada kolom yang telah disediakan. 31 Untuk mencari manfaat gizi selama kehamilan diperlukan data dari kelas Gizi dan kelas Manfaat_gizi. kemudian dituliskan properti yang menghubungkan kedua kelas tersebut yaitu ‘mempunyai_manfaat’. Setelah query yang akan dicari ditulis, lalu tekan tombol ‘Jalankan’, maka prototipe akan menampilkan hasil dari query tersebut. Untuk detail hasil pengujian yang sudah divalidasi pakar, dapat dilihat pada lampiran 5. Evaluasi hasil dilakukan dengan cara menjawab beberapa pertanyaan yang diujikan terhadap ontologi dengan menggunakan prototipe aplikasi yang dibangun. Kemudian dilakukan validasi oleh pakar gizi yaitu dosen ahli gizi dari fakultas Kedokteran Universitas Sebelas Maret yaitu Ibu dr. Kusmadewi Eka Damayanti M.Gizi. Berikut merupakan tabel 4.7 yang menampilkan hasil dari delapan kategori pengujian pada prototipe ontologi gizi ibu hamil. Tabel 4. 7. Hasil Pengujian Prototipe Ontologi No 1. 2. 3. 4. 5. 6. 7. 8. Kategori Pengujian Bahan makanan pada masing-masing kategori Kandungan gizi yang terdapat pada bahan makanan tertentu Kebutuhan gizi harian wanita berdasarkan kategori usia Kebutuhan gizi tambahan harian ibu hamil sesuai usia kehamilan Fungsi gizi tertentu pada masa kehamilan Jenis penyakit yang terjadi saat kehamilan Gejala penyakit yang terjadi saat kehamilan Penyebab penyakit yang terjadi saat kehamilan Validasi Pencarian SPARQL Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Benar Pada tabel 4.7 hasil pengujian menunjukkan bahwa ontologi yang dibangun mampu menjawab pertanyaan pada kategori yang diajukan dengan benar, baik melalui fitur pencarian secara langsung dengan pemilihan kategori yang sesuai dengan data yang ingin dicari maupun dengan penulisan query SPARQL pada kolom text Area yang telah disediakan.