Aplikasi Cerdas Penyesuaian Pola Makan Berdasarkan Kebutuhan Asupan Gizi, Prioritas Untuk Penderita Diabetes (Anamnesa Gizi)

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia

Oleh :

RIDHO APRILLYA

10107363

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

2011


(2)

PRIORITAS UNTUK PENDERITA DIABETES (ANAMNESA GIZI)

Oleh

Ridho Aprillya 10107363

Kesalahan pada pola makan dapat berakibat fatal pada kesehatan. Pergeseran atau kesalahan pola makan dapat mengakibatkan banyak penyakit, termasuk diabetes. Untuk menghindari penyakit ini, dibutuhkan pola makan yang seimbang antara jumlah, jenis, dan jadwal (3J) makan dengan kebutuhan gizinya.

Beberapa informasi yang mampu menunjang berupa data personal, riwayat personal, nutritional assesment, dietary history, anamnesa makanan sehari (recall) dan rancangan gizi terangkum dalam dokumen anamnesa gizi. Sistem pengarsipan anamnesa gizi yang masih manual, menyebabkan beberapa permasalahan umum seperti kesulitan mencari data pasien yang telah lama maupun pengoreksian progress diet yang sedang dijalankan oleh para ahli gizi di poli gizi RSHS Bandung.

Konsep ‘Sistem Pakar’ yang dapat menerapkan kemampuan para ahli gizi dapat digunakan untuk mengatasi masalah tersebut. Natural Languange Prosessing (NLP) dapat digunakan sebagai metode untuk pengecekan recall makanan sehari untuk menyesuaikan 3J dengan kebutuhan gizi pasien.

Setelah aplikasi dengan metode ini diterapkan, aturan 3J dapat diterapkan untuk pengolahan pola makan, pengarsipan setiap tahap diet pasien lebih terorganisir, dan human error dapat diatasi dalam perhitungan dan penentuan status gizi pasien.

Kata Kunci : diet, gizi, sistem pakar, natural language processing, nutritional assesment, dietary history, anamnesa, recall.


(3)

PRIORITY FOR DIABETIC PATIENTS (ANAMNESA NUTRITION)

By

Ridho Aprillya 10107363

Failed in diet can be fatal to health. The changes in eating patterns or errors can result many diseases, including diabetes. To avoid this illness, it takes a balanced diet among the number, type, and schedule (3J) of fed with the needed nutrients.

Some information that is able to support the form of personal data, personal history, nutritional assessment, dietary history, food anamnesa day (recall) and the design is summarized in the document of anamnesa nutrition. System of documentations was still manual, leading to some common problems such as difficultly finding patient data that has been long and correction of dietary progress that is being carried out by nutrition experts in poly nutrition of Hasan Sadikin Hospital (RSHS) Bandung.

The concept of Expert System that can apply the skills of nutritionists can be used to resolve the issue. Natural Language Processing (NLP) can be used as a method for checking a recall of food a day to adjust to the nutritional needs of patient’s 3J.

After the application with this method is applied, the rules can be applied to processing 3J diet, archiving every stage of the diet of patients are better organized, and human error can be overcome in the calculation and determination of the nutritional status of patients.

Keywords : diet, nutrition, expert system, natural language processing, nutritional assesment, dietary history, anamnesa, recall.


(4)

dan Karunianya serta limpahan kasih sayang dan Barokah-Nya sehingga skripsi ini dapat teerselesaikan dengan judul “Aplikasi Cerdas Penyesuaian Pola Makan Berdasarkan Kebutuhan Asupan Gizi, Prioritas untuk Penderita Diabetes (Anamnesa Gizi)”.

Skripsi ini dibuat untuk memenuhi salah satu syarat kelulusan pada Program Strata 1 Fakultara Teknik Dan Ilmu Komputer, Program Studi Teknik Informatika di Universitas Komputer Indonesia. Berbagai kekurangan dan kesalahan mungkin masih terdapat pada karya kecil ini walaupun telah berbagai pihak membantu review dan memperbaikinya. Masukan serta saran dan kritik yang membangun dari para pembaca sunggu akan membantu dan akan diterima dengan senang hati.

Dalam kesempatan ini ucapan terima kasih setulus hati penuh cinta terhatur untuk Ibunda dan Bude tercinta yang tiada lelah mengiri perjuangan ini dengan penuh doa dan cinta sepanjang masanya. Spupuku tersayang yang selalu memberi semangat dan menjadi pendengar yang baik saat keluh kesah serta lelah ini memuncak. Karya kecil nan sederhana ini dipersembahkan special untuk Almarhum Om ku terkasih Anusyirwan Dasimin yang menjadi motifator utama dalam pengembangan dan penelitian ini, maaf belum sempat mempersembahkan yang terbaik. Selain itu ucapan terimakasih kepada semua pihak yang telah membantu terutama kepada:


(5)

2. Ibu Kania Evita Dewi, S.Pd., M.Si. Selaku dosen wali.

3. Ibu Utami Dewi, S.Kom. yang telah bersedia meminjamkan buku-buku referensi yang sangat bermanfaat dan membantu serta menjadi tempat share yang sangat bersahabat dan penuh kasih sayang.

4. Seluruh dosen teknik informatika yang bersedia membagi ilmu dan pengalamanya, semoga penulis mampu mengaplikasikan dan memanfaatkannya dengan baik.

5. Seluruh staf dan karyawan teknik informatika yang telah membantu berbagai kegiatan administrasi.

6. Kepada para sahabat terbaik ku dari SD-SMP-SMA-kostn-Karisma ITB yang tiada pernah lelah membantu, menyemangati dan berdoakan yang terbaik untukku.

7. Seseorang yang selalu menjaga hatiku dengan caranya menyemangati dan menyayangiku, terima kasih, telah Ku penuhi janjiku, dan Aku menunggu waktu itu tiba.

Serta seluruh rekan-rekan yang tak mampu disebutkan satu persatu, semoga Allah membalas semua kebaikan dan memberikan yang terbaik untuk Kita semua.

Bandung, Agustus 2011


(6)

1

Makan adalah salah satu cara untuk bertahan hidup, kesalah pada pola makan dapat berakibat fatal pada kesehatan. Diabetes merupakan salah satu penyakit yang diakibatkan oleh pergeseran atau kesalahan pola makan. Pola makan yang benar adalah pola makan yang seimbang antara Jumlah, Jenis, dan Jadwal (3J) makan dengan kebutuhan gizinya. Para ahli gizi tentunya lebih mengetahui apa dan bagaimana keseuaian ini diterapkan.

Pengolahan pola makan dan penyesuaiannya dengan prinsip 3J dibutuhkan beberapa informasi yang mampu menunjang berupa data personal, riwayat personal, nutritional assesment, dietary history, anamnesa makanan sehari (recall) dan rancangan yang terangkum dalam dokumen anamnesa gizi. Sistem pengarisipan anamnesa gizi ini masih manual. Sistem manual yang berjalan tersebut mengalami beberapa permasalahan umum seperti kesulitan mencari data pasien yang telah lama maupun pengoreksian progress diet yang sedang dijalankan.

Layaknya manusia biasa, ahli gizi pun mampu mengalami ketidaktelitian maupun keterlambatan dalam pengaplikasian aturan-aturan tersebut. Dalam dunia informatika terdapat cabang ilmu yang mampu menerapkan kemampuan pakar yang dikenal dengan ‘Sistem Pakar’. Kemampuan pakar yang akan diterapkan dalam aplikasi ini adalah kemampuan pakar gizi (ahli gizi) yang berada pada poligizi RSHS Bandung.


(7)

2

Dengan dilatarbelangi berbagai kebutuhan tersebut diatas, maka diajukan sebuah “Aplikasi Cerdas Penyesuaian Pola Makan Berdasarkan Kebutuhan Asupan Gizi, Prioritas Untuk Penderita Diabetes (Anamnesa Gizi)” yang diangkat menjadi sebuah bahan skripsi guna menyelesaikan program strata satu.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dijabarkan, maka dapat ditarik kesimpulan bahwa dibutuhkan sebuah aplikasi yang dapat mengolah antara jenis, jumlah dan jadwal makanan yang sesuai dengan kebutuhan gizinya.

1.3 Maksud dan Tujuan

1.3.1 Maksud

Membangun sebuah aplikasi cerdas yang mampu menyesuaikan kebutuhan gizi dengan pola makan yang mengacu pada prinsip 3J.

1.3.2 Tujuan

Tujuan dari pembangunan aplikasi ini adalah

1. Mampu mengatasi human error dan efisiensi waktu dalam perhitungan kebutuhan gizi

2. Penyesuaian dan mengaplikasikan 3J berdasarkan kebutuhan gizi 3. Memudahkan dalam pengarsipan anamnesa gizi

1.4 Batasan Masalah/Ruang Lingkup kajian


(8)

3

a. Pengolahan data pasien dan progress dietnya b. Pengolahan menu

c. Pengolahan data master, berupa data makanan dan kandungan gizi d. Aplikasi hanya mampu mengatasi pasien yang bermasalah dengan

berat badan (normal) atau memiliki penyakit diabetes tipe 2

e. Pemberlakuan perhitungan hanya untuk orang dewasa (usia minimal 10 tahun) dengan postur tubuh normal (tinggi badan minimal 120 cm) 2. Menggunakan metode natural language processing (NLP) untuk

mendeteksi tata bahasa yang menjadi menu yang di-input-kan

3. Metode analisi yang digunakan dalam pembangunan sistem ini berdasarkan struktur data terstruktur yaitu menggunakan flowchart dan ERD, untuk menggambarkan diagram proses menggunakan DFD.

4. Perangkat lunak yang digunakan untuk membangun aplikasi ini menggunakan operating sistem windows 7 professional, delphi 7, dengan bahasa pemrograman paskal dan MySQL untuk mengolah database. 5. Hardware yang digunakan untuk membangun aplikasi ini berupa processor

intel core duo, RAM 1 GB, HDD 120 GB.

1.5 Metodologi Penelitian

Metode penelian merupakan suatu proses yang digunakan untuk memecahkan suatu masalah logis yang membutuhkan data-data pendukung dalam


(9)

4

Metode penelitian ini memiliki dua tahapan, yaitu tahap pengumpulan data dan perancangan perangkat lunak.

1.5.1 Tahap Pengumpulan Data

Tahap pengumpulan data dapat diperoleh secara langsung dari objek penelitian. Cara-cara yang mendukung untuk mendapatkan data primer adalah sebagai berikut :

1. Studi pustaka

Studi ini dilakukan dengan cara mempelajari, meneliti dan menelaah berbagai literatur-literatur yang bersumber dari buku-buku, teks, jurnal ilmiah, situs-situs di internet, dan bacaan-bacaan yang ada kaitannya dengan topik penelitian.

2. Studi lapangan

Studi ini dilakukan dengan cara mengunjungi tempat yang akan diteliti dan pengumpulan data dilakukan secara langsung. hal ini meliputi :

a. Wawancara

Wawancara yaitu teknik pengumpulan data dengan cara mengadakan tanya jawab secara langsung dengan narasumber yang terkait dengan permasalahan yang diambil untuk memperoleh data dan informasi. Teknik ini lebih komunikasif karena terjadi tanya jawab secara langsung. b. Observasi


(10)

5 c. Kuesioner

Kuesioner digunakan sebagai bahan pengujian beta yang bermanfaat untuk mengetahui sejauh mana aplikasi ini dapat diterima dan mampu diterapkan pada tempa studi kasus dilakukan.

1.5.2 Tahap Pengembangan Perangkat Lunak

Tahap pengembangan perangkat lunak dalam pembuatan aplikasi ini menggunakan metode waterfall.

Tahapan-tahapan yang terdapat dalam model waterfall (Gambar I.1) adalah sebagai

berikut :

1. Pengumpulan data

Kegiatan yang dilakukan adalah mengumpulkan kebutuhan secara lengkap untuk selanjutnya menuju tahap analisis.

2. Analisis

Setelah data terkumpul, dilakukan analisis yang berkaitan dengan proses dan data yang diperlukan oleh sistem serta keterkaitannya.

3. Perancangan

Pada tahap ini diberikan gambaran umum yang jelas dan rancang bangun yang lengkap tentang sistem yang akan dikembangkan kepada pihak-pihak yang terlibat dalam pengembangan sistem.


(11)

6 program, antarmuka dan basis data. 5. Pengujian

Melakukan pengujian secara formal terhadap kode program yang telah dibuat untuk memastikan semua kebutuhan atau persyaratan telah terpenuhi.

6. Pemeliharaan

Setelah menerapkan langkah-langkah tersebut, dilakukan evaluasi terhadap system yang baru untuk melihat apakah sistem telah memenuhi tujuan yang ingin dicapai. Perubahan bisa terjadi karena adanya error, perubahan lingkungan sistem,dsb.

Pengumpulan Data

Analisis

Perancangan

Pengkodean

Pengujian

Pemeliharaan


(12)

7

pengembangan sistem, batasan masalah, metodologi penelitian/ sistematika kerja dan sistematika pembahasan.

Bab II Landasan Teori

Berisi pembahasan dan penjabaran dari teoti-teori pendukung. Sejarah perusahaan, tempat dan kedudukan perusahaan, bentuk dan badan hukum perusahaan, bidang pekerjaan perusahaan, bidang pekerjaan divisi, dan struktur organisasi perusahaan.

Bab III Analisis dan Perancangan Sistem

Berisi gambaran sistem dan deskripsi hasil analisa sistem, gambaran sistem yang akan dirancang dan deskripsi hasil perancangan dalam bentuk uraian maupun menggunakan tools.

Bab IV Implementasi dan Pengujian Sistem

Berisi uraian lingkungan operational, implementasi antar muka dan algoritma utama berisi deskripsi teknik pengujian dan strategi pengujian yang digunakan.

Bab V Kesimpulan dan Saran

Berisi kesimpulan dan saran dalam pelaksanaan tulis ilmiah yang dikerjakan serta pengembangan aplikasi.


(13)

8

2.1 Ilmu gizi

Gizi (Nutrition) merupakan suatu proses organisme menggunakan makanan yang dikonsumsi secara normal melalui proses digesti, absorpsi, transportasi, penyimpanan, metabolisme dan pengeluaran zat-zat yang tidak digunakan, untuk mempertahankan kehidupan, pertumbuhan dan fungsi normal dari organ-organ, serta menghasilkan energi.

Zat Gizi (Nutrients) adalah ikatan kimia yang diperlukan tubuh untuk melakukan fungsinya, yaitu menghasilkan energi, membangun dan memelihara jaringan serta mengatur proses-proses kehidupan. Ilmu Gizi (Nutrience Science) adalah ilmu yang mempelajari segala sesuatu tentang makanan dalam hubungannya dengan kesehatan optimal/ tubuh.

Makanan adalah bahan selain obat yang mengandung zat-zat gizi dan atau unsur-unsur/ikatan kimia yang dapat diubah menjadi zat gizi oleh tubuh, yang berguna bila dimasukkan ke dalam tubuh. Bahan makanan adalah makanan dalam keadaan mentah.

Status gizi adalah keadaan tubuh sebagai akibat konsumsi makanan dan penggunaan zat-zat gizi.


(14)

2.1.1 Pengelompokan zat gizi menurut kebutuhan

Komponen terbesar dari susunan diet, berfungsi untuk menyuplai energi dan zat-zat esensial (pertumbuhan sel/ jaringan), pemeliharaan aktivitas tubuh. Karbohodrat (hidrat arang), lemak, protein, vitamin dan mineral.

1. Makronutrien

Golongan makronutrien terdiri dari : a. Karbohidrat – Glukosa; serat.

b. Lemak/ lipida – Asam linoleat (omega-6); asam linolenat (omega-3). c. Protein – Asam-asam amino; leusin; isoleusin; lisin; metionin;

fenilalanin; treonin; valin; histidin; nitrogen nonesensial.

2. Mikronutrien

Golongan mikronutrien terdiri dari :

a. Mineral: Kalsium; fosfor; natrium; kalium; sulfur; klor; magnesium; zat besi; selenium; seng; mangan; tembaga; kobalt; iodium; krom fluor; timah; nikel; silikon, arsen, boron; vanadium, molibden.

b. Vitamin: Vitamin A (retinol); vitamin D (kolekalsiferol); vitamin E (tokoferol); vitamin K; tiamin; riboflavin; niacin; biotin; folasin/folat; vitamin B6; vitamin B12; asam pantotenat; vitamin C.

c. Air

2.1.2 Fungsi zat gizi

Zat gizi memiliki 3 fungsi utama, yaitu: 1. Memberi energi (zat pembakar)


(15)

Karbohidrat, lemak dan protein, merupakan ikatan organik yang mengandung karbon yang dapat dibakar dan dibutuhkan tubuh untuk melakukan kegiatan/aktivitas.

2. Pertumbuhan dan pemeliharaan jaringan tubuh (zat pembangun)

Protein, mineral dan air, diperlukan untuk membentuk sel-sel baru, memelihara, dan menganti sel yang rusak.

3. Mengatur proses tubuh (zat pengatur)

Protein, mineral, air dan vitamin. Mineral dan vitamin sebagai pengatur dalam proses-proses oksidasi, fungsi normal saraf dan otot serta banyak proses lain yang terjadi dalam tubuh, seperti dalam darah, cairan pencernaan, jaringan, mengatur suhu tubuh, peredaran darah, pembuangan sisa-sisa/ ekskresi dan lain-lain proses tubuh.

2.1.3 Efek ketidakstabilan zat gizi

1. Akibat Gizi Kurang pada Proses Tubuh

Kekurangan gizi secara umum (makanan kurang dalam kuantitas dan kualitas) menyebabkan gangguan pada proses-proses:

a. Pertumbuhan b. Produksi tenaga c. Pertahanan tubuh d. Struktur dan fungsi otak e. Perilaku


(16)

Gizi lebih menyebabkan kegemukan atau obesitas. Kelebihan energi yang dikonsumsi disimpan di dalam jaringan dalam bentuk lemak. Kegemukan adalah salah satu faktor terjadinya berbagai penyakit degeneratif seperti: a. Hipertensi

b. Diabetes mellitus c. Jantung koroner

d. Hati dan kandung empedu.

2.1.4 Perhitungan kesesuain gizi

Menghitung kesesuaian gizi memiliki beberapa cara. Acuan yang digunakan melalui kesepakatan “Konsensus Pengendalian dan Pencegahan Diabetes Mellitus tipe 2 di Indonesia 2011” sebagai berikut:

1. Perhitungan antropometri

Perhitungan antropometri merupakan salah satu cara untuk mencari keadaan ideal seseorang berdasarkan tinggi badan yang dimiliki. Antropometri juga dapan menjadi salah-satu acuan untuk menyatakan keadaan gizi seseorang. Rumus dasar yang digunakan untuk menghitung berat badan yang disesuaikan oleh tinggi badannya.

Berdasarkan konsensus pengendalian dan pencegahan Diabetes Mellitus tipe 2 di Indonesia 2011, perhitungan Berat Badan Ideal (BBI) dengan rumus Brocca yang dimodifikasi adalah sebagai berikut:

a. BBI = 90% x (TB dalam cm – 100) x 1 Kg

b. Bagi Pria dengan Tinggi Badan (TB) dibawah 160 cm dan wanita dibawah 150 cm , rumus dimodifikasi menjadi:


(17)

BB Normal : BBI + 10% Kurus : < BBI – 10% Gemuk : >BBI + 10%

2. Penentuan status dan kebutuhan gizi berdasarkan antropometri

Status gizi akan dihitung berdasarkan keadaan antropometri pasien yang akan disesuaikan kebutuhan gizinya hingga mendekati keadaan ideal antropometrinya. Perhitungan dan penentuan status gizi ini lebih dikenal dengan perhitungan IMT (Indeks Masa Tubuh).

Keteranga:

BB: Berat Badan TB: Tinggi Badan

Range IMT dinyatakan pada tabel sebagai berikut: Tabel II.1 Range IMT

No Besar IMT Kondisi Gizi

1 18,5 Berat badan kurang

2 18,5 – 22, 9 Berat badan normal

3 > 23 Berat badan lebih

4 23 – 24,9 Pre-Obesitas

5 25 – 29,9 Obesitas 1

6 > 30 Obesitas 2

3. Perhitungan kebutuhan kalori a. Jenis kelamin


(18)

Wanita : 25 kal/kg Laki-laki : 30 kal/kg b. Usia

Usia 40-59 tahun, kalori dikurangi 5% Usia 60-69 tahun, kalori dikurangi 10% Usia diatas 70 tahun dikurangi 20% c. Aktifitas fisik atau pekerjaan

Bed rest : kal ditambah 10 % Ringan : kal ditambah 20% Sedang : kal ditambah 30% Berat : kal ditambah 50% d. Berat badan

Bila kegemukan : dikurangi 20-30% Bila kurus : di tambah 20-30%

Untuk penurunan berat badan kalori minimal yang diberikan sebesar: - Wanita : 1000-1200 kKal perhari

- Laki-laki : 1200-1600 kKal perhari 4. Pengaturan pola makan normal

Pengaturan pola makan normal yaitu untuk user normal (tidak mengidap diabetes) yang ingin mengolah menu hariannya sesuaikan dengan hasil dari poin 1 dan 2.

a. Perhitungan kebutuhan karbohidrat Karbo =


(19)

b. Perhitungan kebutuhan lemak Lm =

c. Perhitungan kebutuhan protein

Keterangan: A = [55...65] B = [20...30] C = [10...15] 5. Pengaturan pola makan diabetes

Pengaturan pola makan untuk penderita diabetes disesuaikan berdasarkan hasil dari poin 1, 2, dan aturan diet diabetes.

Rumus yahg digunakan sama dengan poin 4, namun menghindari penggunaan gula murni maupun glukosasimple.

6. Informasi kandungan gizi menu kreasi

Hal ini menghasilkan kandungan gizi dari sebuah menu kreasi/ menu yang dibuat sendiri oleh user. Dihitung dengan menjumlahkan jenis makanan yang dikonsumsi dan mengalikannya dengan jumlah porsi yang dimakan.

2.2 Diabetes

Diabetes mellitus adalah suatu penyakit gangguan kesehatan di mana kadar gula dalam darah seseorang menjadi tinggi karena gula dalam darah tidak dapat digunakan oleh tubuh. Diabetes Mellitus (DM) dikenal juga dengan sebutan penyakit gula darah atau kencing manis yang mempunyai jumpah penderita yang cukup banyak di Indonesia juga di seluruh dunia.


(20)

Pada orang yang sehat karbohidrat dalam makanan yang dimakan akan diubah menjadi glokosa yang akan didistribusikan ke seluruh sel tubuh untuk dijadikan energi dengan bantuan insulin. Pada orang yang menderita kencing manis, glukosa sulit masuk ke dalam sel karena sedikit atau tidak adanya zat insulin dalam tubuh. Akibatnya kadar glukosa dalam darah menjadi tinggi yang nantinya dapat memberikan efek samping yang bersifat negatif atau merugikan.

Kadar gula yang tinggi akan dibuang melalui air seni. Dengan demikian air seni penderita kencing manis akan mengandung gula sehingga sering dilebung atau dikerubuti semut. Selanjutnya orang tersebut akan kekurangan energi/ tenaga, mudah lelah, lemas, mudah haus dan lapar, sering kesemutan, sering buang air kecil, gatal-gatal, dan sebagainya.

Kandungan atau kadar gula penderita diabetes saat puasa adalah lebih dari 126 mg/dl dan saat tidak puasa atau normal lebih dari 200 mg/dl. Pada orang normal kadar gulanya berkisar 60-120 mg/dl. Penyakit yang akan ditimbulkan oleh penyakit gula darah ini adalah gangguan penglihatan mata, katarak, penyakit jantung, sakit ginjal, impotensi seksual, luka sulit sembuh dan membusuk/gangren, infeksi paru-paru, gangguan pembuluh darah, stroke dan sebagainya.

Tidak jarang bagi penderita yang parah bisa amputasi anggota tubuh karena pembusukan. Oleh sebab itu sangat dianjurkan melakukan perawatan yang serius bagi penderita serta melaksanakan/menjalani gaya hidup yang sehat dan baik bagi yang masih sehat maupun yang sudah sakit.


(21)

2.2.1 Tipe diabetes mellitus

Diabetes mellitus tidak murni 100% penyakit keturunan. Diabetes dapat pula diakibatkan oleh kebiasaan buruk seperti merokok, minuman keras, narkotika, faktor stres serta pola makan yang tidak teratur.

1. Diabetes tipe 1

Terjadi karena kerusakan sel-sel beta pankreas yang mengakibatkan terjadinya defisiensi (penurunan) produksi insulin. Defisiensi insulin dapat menyebabkan terjadinya hiperglicemia (peningkatan kadar gula glukosa darah), polyuria (sering buang air kecil), polydipsia, kehilangan berat badan, kekurangan cairan (dehidrasi), ketidakseimbangan elektrolit, dan ketoasidosis.

Tipe ini disebut juga dengan penyakit diabetes ketergantungan insulin atau insulin-dependent diabetes mellitus (IDDM) dan disebut juga diabetes pada remaja. Diabetes tipe 1 umum terjadi karna faktor keturunan dengan jumlah penderita mencapai 5 – 10% dari keseluruhan jumlah penderita diabetes.

2. Diabetes tipe 2

Diabetes mellitus tipe 2 merupakan tipe diabetes yang paling banyak, jumlah penderitanya mencapai 80% dari keseluruhan jumlah penderita diabetes. Faktor resiko dari terjadinya diabetes mellitus tipe 2 adalah obesitas (kegemukan), usia lanjut, riwayat keluarga dengan diabetes, riwayat diabetes saat kehamilan, mempunyai riwayat rusaknya keseimbangan glukosa, dan jarang melakukan aktifitas fisik.


(22)

3. Diabetes kehamilan

Diabetes kehamilan adalah suatu kondisi di mana terjadi ketidaktahanan terhadap glukosa (intolerance glucose) pada wanita hamil. Kondisi diabetes melitus ini hanya terjadi selama masa kehamilan. Niasanya terdiaknosis pada kehamilan trismester 2 dan 3, yaitu mulai bulan ke-4 kehamilan sampai kehamilan berakhir. Kejadian diabetes milillitus ini hanya 4% dari seluruh kehamilan.

4. Diabetes tipe khusus

Diabetes tipe khusus adalah diabetes mellitus yang terjadi karena faktor genetik, pembedahan, obat;obatan, gizi salah (malnutrition), infeksi, dan penyakit lainnya. Jumlah penderita diabetes tipe khusus hanya 1 – 2% dari keseluruhan penderita diabetes mellitus.

5. Diabetes karena rusaknya keseimbangan glukosa

Diabetes karena rusaknya keseimbangan glukosa diklasifikasikan menjadi dua, yaitu sebagai berikut.

a. Impaired fasting glucose (IFC) yang dijelaskan dengan kadar glukosa darah puasa lebih besar dari 110 mg/dl, tetapi kurang dari 126 mg/dl. b. Impaired glukose tolerance (IGT) yang dijelaskan dari hasil tes

toleransi glukosa lebih besar dari 140 mg/dl, tetapi kurang dari 200 mg/dl.

Walaupun IFG dan IGT secarra klinis bukan diabetes yang sesungguhnya, tetapi penyakit ini dapat berkembangn menjadi penyakit diabetes dan penyakit jantung.


(23)

2.3 Kecerdasan Buatan

Kecerdasan buatan adalah salah satu bidang ilmu komputer yang mendayagunakan komputer sehingga dapat berperilaku cerdas seperti manusia. Ilmu komputer tersebut mengembangkan perangkat lunak dan perangkat keras untuk menirukan tindakan manusia. Aktifitas manusia yang ditirukan seperti penalaran, penglihatan, pembelajaran, pemecahan masalah, pemahaman bahasa alami dan sebagainya. Sesuai dengan definisi tersebut, maka teknologi kecerdasan buatan dipelajari dalam bidang–bidang seperti : Robotika (Robotics), Penglihatan komputer (Computer Vision), Pengolahan bahasa alami (Natural Language Processing), Pengenalan pola (Pattern Recognition), Sistem Syaraf Buatan (Artificial Neural System), Pengenalan Suara (Speech Recognition), dan Sistem Pakar (Expert System).

Kecerdasan Buatan menyelesaikan permasalahan dengan mendayagunakan komputer untuk memecahkan masalah yang komplek dengan cara mengikuti proses penalaran manusia. Salah satu teknik kecerdasan buatan yang menirukan proses penalaran manusia adalah Sistem pakar. (Hartati, 2008)

2.3.1 Aplikasi Kecerdasan Buatan

Kecerdasan buatan berupa aplikasi-aplikasi yang dapat diterapkan pada komputer besar (main frame), komputer mikro, atau personal computer (PC). Beberapa aplikasi kecerdasan buatan diantaranya sebagai berikut :


(24)

1. General problem solving

Suatu tahapan proses atau langkah-langkah yang berurutan untuk mencapai suatu tujuan, dengan cara melacak dan mengkombinasikan berbagai cara atau metode sehingga menghasilkan solusi terbaik.

2. Expert system atau sistem pakar

Suatu program yang bertindak sebagai penasehat atau konsultan pintar dengan mengambil pengetahuan yang disimpan dalam domain tertentu. Seorang pemakai yang belum berpengalaman dalam mendiagnosa suatu masalah dapat memecahkan masalah yang sulit dan mengambil keputusan dengan benar.

3. Vision

Merupakan aplikasi yang dapat mengenali gambar yang diterimanya dari kamera, scanner, dan alat input lainnya dengan cara mencocokkan dan melacak gambar apa yang diterimanya melalui kamera atau scanner sebagai masukan.

4. Natural Language Processing atau pengolahan bahasa alami

Merupakan salah satu cabang dari artificial intelligence (AI) yang berhubungan dengan pemrosesan bahasa alami oleh komputer yang mencakup metode-metode speech recognition, speech synthesizer ( text-to-speech), parsing, penterjemahan bahasa, QA system, dan kemampuan bahasa alami lainnya pada sebuah mesin atau komputer.


(25)

5. Robotics

Pada aplikasi robotics kecerdasan buatan bertindak seolah-olah melakukan pekerjaan fisik yang biasa dikerjakan manusia, bahkan robot dapat melakukan pekerjaan yang tidak dapat dilakukan oleh manusia atau berbahaya bagi manusia. Semua tindakan dirancang dan disusun dalam satu urutan atau algoritma tertentu. Dengan bantuan robot, pekerjaan yang berulang kali dan rumit dapat dilakukan dengan baik.

6. Education

Merupakan aplikasi kecerdasan buatan dalam bidang pendidikan yang bertindak sebagai partner bagi pelajar atau mahasiswa dalam mempelajari suatu bidang.

2.3.2 Tujuan Kecerdasan Buatan

Tujuan dari kecerdasan buatan menurut Winston dan Prendergast dalam Decision support systems and intelligent systems, 2005 :

1. Membuat mesin menjadi lebih pintar (tujuan utama) 2. Memahami apa itu kecerdasan (tujuan ilmiah)

3. Membuat mesin lebih bermanfaat (tujuan entrepreneurial)

Dua bagian utama yang dibutuhkan untuk aplikasi kecerdasarn buatan seperti yang terlihat pada Gambar II.1 Proses Motor Inferensi adalah :

1. Basis Pengetahuan (Knowledge Base) berisi fakta-fakta, teori, pemikiran dan hubungan antara satu dengan lainnya.

2. Motor Inferensi (Inference Engine) adalah kemampuan menarik kesimpulan berdasarkan pengalaman.


(26)

Gambar II.1 Proses motor inferensi

2.3.3 Metode Pencarian Pada Kecerdasan Buatan

Hal penting dalam menentukan keberhasilan sistem berdasar kecerdasan adalah kesuksesan dalam pencarian dan pencocokan. Pada dasarnya ada dua metode pencarian, yaitu pencarian buta (blind search) dan pencarian terbimbing (heuristic search). Namun metode pencarian yang digunakan pada tulisan ini adalah pencarian buta khususnya pencarian melebar pertama (breadth first search).

Pada metode breadth first search, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar lalu ke level 1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukannya solusi atau tujuan. Adapun penggambaran struktur pohon metode breadth first search adalah sebagai berikut:


(27)

2.4 Bahasa Alami (Natural Language)

Bahasa sebagai bagian yang penting dalam kehidupan manusia. Dalam bentuk tulis dapat berupa catatan dari pengetahuan yang didapat oleh umat manusia dari satu generasi ke generasi berikutnya, sedangkan dalam bentuk lisan merupakan sarana komunikasi antar individu dalam suatu masyarakat. Tujuan dalam bidang Natural Language adalah melakukan proses pembuatan model komputasi dari bahasa, sehingga dapat terjadi suatu interaksi antara manusia dan komputer dengan perantaraan bahasa alami. Model komputasi ini dapat berguna untuk keperluan ilmiah misalnya meneliti sifat-sifat dari suatu bentuk bahasa alami maupun untuk keperluan sehari-hari dalam hal ini memudahkan komunikasi antara manusia dengan komputer.

Sebuah sistem natural language harus memperhatikan pengetahuan terhadap bahasa itu sendiri baik dari segi kta yang digunakan bagaimana kata-kata tersebut digabung untuk menghasilkan suatu kalimat, apa arti suatu kata, apa fungsi sebuah kata dalam sebuah kalimat dan sebagainya. Natural Language processor tidak memperdulikan bagaimana suatu kalimat diinputkan ke komputer. Tugasnya adalah mengekstrak informasi dari kalimat. Inti dari sistem NLP adalah parser. Parser adalah bagian dari program atau system yang membaca setiap kalimat, kata demi kata, untuk menentukan “what is what”.

NLP tidak bertujuan untuk mentransformasikan bahasa yang diterima dalam bentuk teks atau suara menjadi data digital dan/atau sebaliknya pula; melainkan bertujuan untuk memahami arti dari kalimat yang diberikan dalam bahasa alami dan memberikan respon yang sesuai, misalnya dengan melakukan


(28)

suatu aksi tertentu atau menampilkan data tertentu. Untuk mencapai tujuan ini dibutuhkan tiga tahap proses. Proses yang pertama ialah parsing atau analisa sintaksis yang memeriksa kebenaran struktur kalimat berdasarkan suatu grammar (tata bahasa) dan lexicon (kosa kata) tertentu. Proses kedua ialah semantic interpretation atau interpretasi semantik yang bertujuan untuk merepresentasikan arti dari kalimat secara context-independent untuk keperluan lebih lanjut. Sedangkan proses ketiga ialah contextual interpretation atau interpretasi kontekstual yang bertujuan untuk merepresentasikan arti secara context dependent dan menentukan maksud dari penggunaan kalimat.

2.4.1 Pengertian Natural Language Processing

Pengolahan bahasa alami (NLP) adalah bidang ilmu komputer dan linguistik berkaitan dengan interaksi antara komputer dan manusia. Seluler generasi bahasa sistem komputer yang mengubah informasi dari database ke dalam bahasa manusia yang dapat dibaca.

Natural language processing, biasanya disingkat dengan NLP, mencoba membuat komputer mampu memahami suatu perintah yang dituliskan dalam bentuk bahasa sehari-hari dan diharapkan komputer juga merespon dalam bahasa yang mirip dengan bahasa natural. Setelah komputer bisa memahami perintah dalam bahasa natural, maka diharapakan sistem komputer juga dapat memberikan respon dalam bahasa natural pula.


(29)

Gambar II.3 Organisasi Sebuah Sistem NLP

2.4.2 Aplikasi Dalam Bidang Natural Language

Jenis aplikasi yang bisa dibuat pada bidang bidang natural language adalah text - based application dan dialogue - based applications.

1. Text - based application

Mencakup segala macam aplikasi yang melakukan proses terhadap text tertulis seperti misalnya buku, berita di surat kabar, e-mail dan lain sebagainya. Contoh penggunaan dari text - based application ini adalah :

a. mencari topik tertentu dari buku yang ada pada perpustakaan b. memberikan respon atas input yang diberikan

c. mencari isi dari surat atau e-mail

d. menterjemahkan dokumen dari satu bahasa ke bahasa yang lain 2. Dialogue - based application

Idealnya pedekatan ini melibatkan bahasa lisan atau pengenalan suara, akan tetapi bidang ini juga memasukkan interaksi dengan cara memasukkan teks


(30)

pertanyaan melalui keyboard. Aplikasi yang sering ditemui untuk bidang ini adalah :

a. sistem tanya jawab, dimana natural language digunakan dalam mendapatkan informasi dari suatu database.

b. sistem otomatis pelayanan melalui telepon c. control suara pada peralatan elektronik

d. sistem problem - solving yang membantu untuk melakukan penyelesaian masalah yang umum dihadapi dalam suatu pekerjaan.

2.4.3 Scanner (Analisis Leksikal)

Scanner merupakan salah satu bagian dari kompilator bahasa pada komputer yang bertugas melakukan analisis leksikal. Analisis leksikal adalah proses pengidentifikasian semua besaran yang membangun suatu bahasa pada program sumber. Scanner menerima input berupa stream karakter kemudian memilah program sumber menjadi satuan leksik yang disebut dengan token. Token ini akan menjadi input bagi parser. Tugas dari scanner adalah sebagai berikut:

1. Melakukan pembacaan kode sumber dengan merunut karakter demi karakter

2. Mengenali besaran leksik

3. Mentransformasi menjadi sebuah token dan menentukan jenis token-nya. 4. Mengirimkan token

5. Membuang/mengabaikan blank dan komentar dalam program 6. Menangani kesalahan


(31)

7. Menangani tabel simbol

Dalam aplikasi NLP sistem cerdas yang akan dibuat, yang dimaksud dengan program sumber yang diolah oleh scanner adalah berupa kalimat input dari pengguna dalam bentuk sms.

Ketika scanner menerima input berupa stream karakter kemudian memilah menjadi satuan leksik, satuan leksik tersebut terdiri atas simbol-simbol satuan yang jika dikombinasikan akan mempunyai arti yang berbeda-beda. Simbol-simbol yang bisa dipergunakan dalam sebuah bahasa tentunya terbatas jumlahnya, yang membentuk sebuah himpunan dan disebut sebagai abjad (alphabet).

Tata bahasa (grammatika) adalah sekumpulan dari himpunan variabel-variabel, simbol-simbol terminal, simbol non-terminal, simbol awal yang dibatasi oleh aturan-aturan produksi. Aturan produksi adalah pusat dari tata bahasa yang menspesifikasikan bagaimana suatu tata bahasa melakukan transformasi suatu string ke bentuk lainnya.

Dalam grammar, anggota alfabet dinamakan simbol terminal atau token. Kalimat adalah string yang tersusun atas simbol-simbol terminal. Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa berupa tak berhingga hingga kalimat. Simbol-simbol berikut adalah simbol terminal :

1. huruf kecil awal alfabet, misalnya : a, b, c 2. simbol operator, misalnya : +, -, dan ´ 3. simbol tanda baca, misalnya : (, ), dan ;


(32)

1. huruf besar awal alfabet, misalnya : A, B, C 2. huruf S sebagai simbol awal

Pada saat scanner membaca input, tools yang digunakan untuk menggambarkan perpindahan dari posisi satu ke posisi lainnya adalah diagram transisi.

Gambar II.4 Diagram transisi

2.4.4 Parser (Analisis Sintaksis)

Parser atau syntactic analyzer pada kompilator bahasa pemrograman berfungsi untuk memeriksa kebenaran kemunculan setiap token. Pada sistem yang akan dibuat, fungsi dari parser ini agak berbeda karena token yang akan diolah semua memiliki tipe yang sama yaitu berupa kata (word). Urutan kemunculan token yang berupa kata-kata tersebut akan diolah dengan mengacu pada bank data agar didapatkan makna kalimat yang sesungguhnya. Dengan kata lain, tahap analisa semantik terjadi di bagian bank data. Kemampuan dari parser untuk mengolah token dan bekerja sama dengan bank data inilah yang paling menentukan tingkat kecerdasan dari sistem yang akan dibuat.

Proses parsing dapat dibagi menjadi dua bagian besar metode yaitu Top Down parsing dan Bottom Up parsing.

2.4.4.1 Bottom-Up Parsing

Metode ini melakukan penelusuran dari leaf/daun menuju ke root/puncak. Gramatika yang dipakai akan lebih banyak bercabang ke arah simbol


(33)

non-terminal. Hal lain yang juga berkaitan erat dengan proses parsing adalah kamus atau leksikon yang digunakan. Dalam leksikon disimpan daftar kata yang dapat dikenali sebagai simbol terminal dalam grammar dan informasi yang diperlukan untuk tiap kata tersebut untuk proses parsing yang bersangkutan. Bottom Up parser yaitu mencari dari simbol – simbol terminal menuju ke arah pembentukan simbol awal S.

2.4.4.2 Top-Down parsing

Memulai pemeriksaan dari simbol awal S dan mencoba untuk mencari bentuk simbol terminal berikutnya yang sesuai dengan jenis kata dari kalimat masukan. Ada 2 kelas metoda parsing top-down, yaitu kelas metoda dengan backup dan kelas metoda tanpa backup. Contoh metoda kelas dengan backup adalah metoda Brute-Force, sedangkan contoh metoda kelas tanpa backup adalah metoda recursive descent.

1. Metode Brute-Force

Metode Brute Force memilih aturan produksi mulai dari kiri. Apabila terjadi kesalahan pada saat parsing misalnya string tidak sesuai, maka dilakukan backtrack/backup. Metode ini membuat pohon parsing secara top down yaitu dengan cara mencoba segala kemungkinan untuk setiap simbol non-terminal.

Contoh suatu bahasa dengan aturan produksi sebagai berikut: S → aAd | aB

A → b | c B → ccd | ddc


(34)

Misal akan dilakukan parsing untuk string “accd‟. Maka analisis sintaks terhadap string tersebut dengan menggunakan metode Brute Force adalah:

Gambar II.5 Metode BruceForce 1

Gambar II.6 Metode BruceForce 2

Gambar II.7 Metode BruceForce 3


(35)

Gambar II.9 Metode BruceForce 5

2. Metode Recursive-Descent

Metode Recursive-Descent adalah kelas metoda parsing yang tidak menggunakan produksi alternatif ketika hasil akibat penggunaan sebuah produksi tidak sesuai dengan simbol input. Jika produksi A mempunyai dua buah ruas kanan atau lebih maka produksi yang dipilih untuk digunakan adalah produksi dengan simbol pertama ruas kanannya sama dengan input yang sedang dibaca.

Jika tidak ada produksi yang demikian maka dikatakan bahwa parsing tidak dapat dilakukan. Ketentuan produksi yang digunakan metoda recursive descent

adalah jika terdapat dua atau lebih produksi dengan ruas kiri yang sama maka karakter pertama dari semua ruas kanan produksi tersebut tidak boleh sama. Ketentuan ini tidak melarang adanya produksi yang bersifat rekursi kiri. Contoh suatu bahasa dengan aturan produksi sebagai berikut:

S → aB| A A → a B → b|d

Misal akan dilakukan parsing terhadap string „ac‟. Maka analisis sintaks


(36)

Gambar II.10 Metode Recursive Descent

2.4.5 Analisis Semantik

Analisis semantik merupakan kelanjutan dari proses scanning dan parsing. Fungsi dari analisis semantik adalah untuk menentukan makna dari serangkaian instruksi yang terdapat dalam program sumber atau masukan dari penguna. Penganalisa semantik harus mampu menentukan aksi atau respon apa yang yang akan dilakukan terhadap instruksi yang diberikan.

2.5 Teori Bahasa dan Automata

Teori bahasa dan automata merupakan cabang ilmu dari teori komputasi pada ilmu komputer. Beberapa teori komputasi berasal dari bahasa dan rekayasa sistem, tetapi kebanyakan dari matematika.

Finite state automata dan ekspresi reguler awalnya dikembangkan berdasarkan pemikiran neural network dan switching circuit. Finite state automata (FSA) merupakan tool yang sangat berguna dalam perancangan lexical analiyzer.

2.6 Konsep Dasar Analisis Sistem

2.6.1 Flowmap

Bagan alir atau flowmap adalah bagan yang menunjukan alir di dalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama


(37)

untuk alat bantu komunikasi dan dokumentasi. Bagan alir dokumen atau sering disebut juga Flow Map merupakan bagan alir yang menunjukan arus dari aliran formulir termasuk tembusan-tembusannya.

2.6.2 ERD (EntityRelationship Diagram)

Entity Relationship Diagram atau biasa dikenal dengan diagram E-R secara grafis menggambarkan isi sebuah database. Diagram ini memiliki dua komponen utama yaitu entity dan relasi. Untuk melambangkan fungsi diatas maka digunakan simbol-simbol yang bisa dilihat pada daftar simbol.

Elemen-elemen Entity Relationship Diagram adalah sebagai berikut : 1. Entity (Entitas)

Pada E-R diagram, entity digambarkan dengan sebuah bentuk persegi panjang. Entity adalah sesuatu apa saja yang ada di dalam sistem, nyata maupun abstrak dimana data tersimpan.

Entitas diberi nama dengan kata benda dan dapat dikelompokan dalam empat jenis nama, yaitu : orang, benda, lokasi kejadian (terdapat unsur waktu di dalamnya).

2. Relationship (Relasi)

Pada E-R diagram, relationship dapat digambarkan dengan sebuah bentuk belah ketupat. Relationship adalah hubungan alamiah yang terjadi antara entitas. Pada umumnya relationship diberi nama dengan kata kerja dasar, sehinga memudahkan untuk melakukan pembacaan relasinya.


(38)

3. Atribut

Secara umum atribut adalah sifat atau karakteristik dari tiap entitas maupun tiap relationship. Maksudnya adalah sesuatu yang menjelaskan apa sebenarnya yang dimaksud entitas maupun relationship, sehingga sering dikatakan bahwa atribut adalah elemen dari setiap entitas dan relationship.

4. Kardinalitas

Kardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi dengan entitas yang lainnya. Dari sejumlah kemungkinan banyaknya hubungan yang terjadi dari entitas, kardinalitas relasi merujuk kepada hubungan maksimum yang terjadi dari entitas yang satu ke entitas yang lainnya dan begitu juga sebaliknya. Macam-macam kardinalitas relasi, yaitu :

a. One to one Relationship

Tingkat hubungann satu ke satu, dinyatakan dengan satu kejadian pada entitas pertama, hanya mempunyai satu hubungan dengan satu kejadian pada entitas yang kedua dan sebaliknya.

Relasi

A 1 1 B

Gambar II.11 One to One Relationship

b. One to many Relationship

Tingkat hubungan satu ke banyak adalah untuk satu kejadian pada entitas yang pertama dapat mempunyai banyak hubungan dengan kejadian pada entitas yang kedua.

Relasi

A 1 N B


(39)

c. Many To One Relationship

Untuk banyak kejadian pada entitas yang pertama hanya dapat mempunyai satu hubungan dengan kejadian pada entitas yang kedua.

Relasi

A N 1 B

Gambar II.13 Many to One Relationship

d. Many to many Relationship

Tingkat hubungan banyak ke banyak terjadi jika tiap kejadian pada sebuah entitas akan mempunyai banyak hubungan dengan kejadian pada entitas lainnya, baik dilihat dari sisi entitas yang pertama maupun dilihat dari sisi yang kedua. Relasi dari hubungan ini menghasilkan sebuah tabel baru yang disebut tabel hasil relasi.

Relasi

A N N B

Gambar II.14 Many to Many Relationship

5. Key (Kunci)

Sebuah atribut atau set atribut yang nilainya mengidentifikasikan entitas secara unik dalam suatu entitas. Key memiliki beberapa jenis sesuai dengan kegunaannya masing-masing, yaitu primary key (kunci utama), foreign key (kunci tamu).

2.6.3 Diagram Konteks

Diagram konteks merupakan arus data yang berfungsi untuk menggambarkan keterkaitan aliran-aliran data antar sistem dengan bagian luar


(40)

(kesatuan luar). Kesatuan luar ini merupakan sumber arus data atau tujuan data yang berhubungan dengan sistem informasi tersebut.

2.6.4 DFD (Data Flow Diagram)

Diagram Alir Data atau Data Flow Diagram (DFD) adalah suatu model yang menjelaskan arus data mulai dari pemasukan sampai dengan keluaran data. Tingkatan DFD dimulai dari diagram konteks yang menjelaskan secara umum suatu sistem atau batasan sistem aplikasi yang akan dikembangkan. Kemudian DFD dikembangkan menjadi DFD tingkat 0 atau level 0 dan kemudian DFD level 0 dikembangkan lagi menjadi level 1 dan selanjutnya sampai sistem tersebut tergambarkan secara rinci menjadi tingkatan-tingkatan lebih rendah lagi.

DFD merupakan penurunan atau penjabaran dari diagram konteks. Dalam pembuatan DFD harus mengacu pada ketentuan sebagai berikut :

1. Setiap penurunan level yang lebih rendah harus mempresentasikan proses tersebut dalam spesifikasi proses yang jelas.

2. Penurunan dilakukan apabila memang diperlukan.

3. Tidak semua bagian dari sistem harus ditunjukkan dengan jumlah level yang sama.

Simbol-simbol yang digunakan dalam Data Flow Diagram menurut notasi Yourdan adalah sebagai berikut :

1. Proses

Proses adalah simbol pertama data flow diagram. Proses dilambangkan dengan lingkaran, dimana proses ini menunjukan bagian dari sistem yang


(41)

mengubah satu atau lebih input dan output. Nama proses dituliskan dengan satu kata, singkatan atau kalimat sederhana. Lambang sebuah proses dapat dilihat pada gambar berikut

2. Aliran Data

Aliran Data digambarkan dengan tanda panah. Aliran data juga digunakan untuk menunjukan bagian-bagian informasi dari satu bagian ke bagian lain. Pembagian nama untuk aliran ini menunjukan sebuah arti untuk sebuah aliran. Untuk kebanyakan sistem yang dibuat, aliran data sebenarnya mengambarkan data yakni angka, huruf, pesan, floating point, dan macam-macam informasi lainnya.

3. Simpanan Data

Simpanan data digunakan sebagai penyimpanan bagi paket-paket data. Notasi penyimpanan data digambarkan dengan garis horizontal yang pararel. Simpanan data merupakan simpanan data dari data yang berupa suatu file atau database di sistem komputer ataupun berupa arsip atau catatan manual. Nama dari simpanan data menunjukan nama filenya.

4. Terminator

Terminator digambarkan dengan sebuah kotak yang menggambarkan kesatuan luar (eksternal entitty) yang berhungan dengan sistem. Kesatuan luar merupakan kesatuan (entity) dilingkungan luar sistem yang dapat berupa orang, Organisasi atau sistem lainnya yang berada di lingkungan luarnya yang akan memberikan input atau output dari sistem.


(42)

2.6.5 Kamus Data

Kamus data (KD) atau data dictionary (DD) atau disebut juga dengan istilah sistems data dictionary adalah catalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu sistem informasi. Dengan menggunakan kamus data, analis sistem dapat mendefinisikan data yang mengalir di sistem dengan lengkap kamus data dibuat pada tahap perancangan sistem. Pada tahap analisis kamus data dapat digunakan sebagai alat komunikasi antara analisis sistem dengan pemakai sistem tentang informasi yang dibutuhkan oleh pemakai sistem. Pada tahap perancangan sistem kamus data digunakan untuk merancangan input, merancang laporan-laporan dan database.

Kamus data dibuat berdasarkan arus data yang ada di DFD. Arus data di DFD sifatnya adalah global, hanya ditunjukkan nama arus datanya saja. Keterangan lebih lanjut tentang struktur dari suatu arus data di DFD secara lebih terinci dapat dilihat di kamus data.

2.7 Konsep Dasar Basis Data

2.7.1 Data

Data adalah sumber informasi yang bentuknya masih mentah. Data pula menggambarkan suatu kejadian yang sedang terjadi, dimana data tersebut diolah dan diterapkan dalam sistem menjadi input yang berguna dalam suatu sistem. Secara rinci dari definisi data adalah sebagai berikut :

1. Data adalah penggambaran dari sesuatu dan kejadian yang kita hadapi. 2. Data bisnis adalah penggambaran dari suatu organisasi tentang sesuatu


(43)

3. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian adalah sesuatu yang terjadi pada saat tertentu. Sebagai contoh, dalam dunia bisnis kejadian-kejadian nyata yang sering terjadi adalah perubahan dari suatu nilai yang disebut dengan transaksi.

4. Data yang telah diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya.

5. Sesuatu yang nyata dapat mengurangi derajat ketidakpastian tentang sesuatu keadaan atau kejadian.

2.7.2 Basis Data

Basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS).

Basis data digunakan karena memiliki keuntungan sebagai berikut: 1. Mengurangi redundansi

2. Data dapat di-share antar aplikasi 3. Dapat dilakukan standardisasi data 4. Batasan security dapat diterapkan

5. Mengelola integritas data (akurasinya terjamin)

6. Independensi data (objektif DBS), basis data dapat berkembang tanpa mempengaruhi aplikasi yang telah ada


(44)

Secara definitif, basis data merupakan suatu objek terstruktur. Objek terstruktur tersebut terdiri atas data dan metadata. Data pada basis data merupakan informasi deskriptif yang benar-benar tersimpan, misalnya ‘Nama’ atau ‘Alamat’. Sedangkan metadata merupakan bagian yang menjelaskan tentang struktur data tersebut dalam basis data, misalnya field untuk ‘Nama’ dan ‘Alamat’, panjang field, atau tipe data untuk masing-masing field.

Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya, penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut.

Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel. Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS).

Basis Data (Database) dapat dibayangkan sebagai sebuah lemari arsip yang ditempatkan secara berurutan untuk memudahkan dalam pengambilan kembali data tersebut. Basis Data menunjukkan suatu kumpulan data yang


(45)

dipakai dalam suatu lingkungan perusahaan atau instansi-instansi. Penerapan basis data dalam sistem informasi disebut sistem basis data (database sistem).

Jadi dapat disimpulkan bahwa Basis Data merupakan kumpulan data yang (arsip) yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Diartikan sebagai kumpulan file/ tabel/ arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

2.7.3 Normalisasi

Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi.

2.7.3.1 Tujuan Normalisasi

1. Menghilangkan kerangkapan data 2. Mengurangi kompleksitas

3. Mempermudah pemodifikasian data

2.7.3.2 Proses Normalisasi

Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan tertentu ke beberapa tingkat. Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.

2.7.3.3 Tahapan Normalisasi

1. Bentuk Tidak Normal

2. Menghilangkan perulangan group 3. Bentuk Normal Pertama (1NF)


(46)

4. Menghilangkan ketergantungan sebagian 5. Bentuk Normal Kedua (2NF)

6. Menghilangkan ketergantungan transitif 7. Bentuk Normal Ketiga (3NF)

8. Menghilangkan anomali-anomali hasil dari ketergantungan fungsional 9. Bentuk Normal Boyce-Codd (BCNF)

10. Menghilangkan Ketergantungan Multivalue 11. Bentuk Normal Keempat (4NF)

12. Menghilangkan anomali-anomali yang tersisa 13. Bentuk Normal Kelima

2.7.4 Ketergantungan Fungsional

Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R. XR. Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.

2.7.5 Database Management System (DBMS)

Database Management System (DBMS) adalah suatu sistem perangkat lunak yang digunakan untuk memanipulasi atau memproses basis data. Sedangkan istilah relational database management system digunakan untuk menyebut suatu perangkat lunak yang dapat menangani basis data relasional dan berkomunikasi dengan engine basis data tersebut .

Diperlukan suatu sistem untuk diintegrasikan data file kedalam suatu file sehingga bias melayani berbagai user yang berbeda. Perangkat keras serta


(47)

prosedur yang mengelola database merupakan suatu database manajemen sistem. DBMS memungkinkan untuk memebentuk dan meremajakan file-file, memilih, mendatakan dan menyortir data, dan untuk menghasilkan laporan-laporan.

2.8 Perangkat Lunak Pendukung

Perangkat lunak pendukung yang digunakan pada pengembangan aplikasi pembantu pengolahan pola makan berdasarkan kebutuhan gizi (anamanesa gizi), sebagai berikut

2.8.1 Borland Delphi 7.0

Delphi merupakan generasi lanjutan dari Turbo Pascal yang telah dikenal sebagai bahasa pemrograman yang terstruktur yang diluncurkan oleh Borland International Incoorporation pada tahun 1983.

Borland Delphi memiliki kelebihan dibandingkan dengan aplikasi pemrograman visual berbasis windows yang lain diantaranya :

a. Borland Delphi menyediakan fasilitas yang luas mulai dari fungsi membuat form hingga untuk menggunakan format file berbasis data yang popular seperti Dbase dengan paradoks.

b. Dalam Borland Delphi template aplikasi dan template format yang dapat digunakan untuk membuat semua aplikasi dengan lebih cepat.

c. Borland Delphi dapat diatur sesuai dengan kebutuhan dan menunjukkan bagaimana memiliki Borland Delphi di lingkungan dengan pekerjaan lebih produktif.

d. Program terkompilasi dan windows menyatakan dapat mengkompilasi program tetapi sebenarnya hanya dapat mengkompilasi dan kemudian


(48)

menghubungkan interpreter dan program kode dalam sebuah file sehingga didapat eksekusi yang lambat.

e. Kelebihan dalam menggunakan Delphi 7.0 yaitu Delphi 7.0 merupakan bahasa pemrograman dengan fasilitas-fasititas yang menjadikannya memiliki struktur dan format yang lebih efisien dan efektif untuk pemrograman sehingga dapat dengan mudah membuat suatu aplikasi yang sesuai dengan apa yang kita butuhkan.

Delphi memiliki beberapa kelebihan yang tidak dimiliki oleh bahasa lain, diantaranya :

1. Form dan komponen-komponennya dapat dipakai ulang dan dikembangkan.

2. Tersedia application template dan form template.

3. Memikili lingkungan pengembangan visual yang dapat diatur sesuai kebutuhan.

4. Menghasilkan file terkompilasi yang berjalan lebih cepat 5. Kemampuan mengakses data dari bermacam-macam format.

2.8.2 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus


(49)

dimana penggunaannya tidak cocok dengan penggunaan GPL. Pada Gambar 2.15 tampak logo MySQL.

Gambar II.15 Logo MySQL

MySQL adalah Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language).

SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat dibandingkan interbase. Selain itu MySQL juga memiliki beberapa keistimewaan, antara lain sebagai berikut:


(50)

1. Portability

MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux,FreeBSD, Mac Os X Server, Solaris, Amiga, dan lainnya. 2. OpenSource

MySQL didistribusikan secara opensource (gratis), dibawah lisensi GPL sehingga dapat digunakan secara cuma-cuma.

3. Multiuser

MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

4. Performance tuning

MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.

5. Column types

MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/ unsigned integer, float, double, char, text, date, timestamp, dan lain-lain. 6. Command dan functions

MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam query.

7. Security

MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password terenkripsi.


(51)

8. Scalability dan limits

MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Connectivity

MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

10. Localisation

MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa. Meskipun demikian, bahasa Indonesia belum termasuk didalamnya.

11. Interface

MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

12. Clients dan tools

MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertakan petunjuk online.

13. Struktur tabel

MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABEL, dibandingkan database lainnya semacam PostgreSQL ataupun Oracle.


(52)

49

Analisis dilakukan untuk mengidentifikasi tiap komponen yang terlibat dan mengelompokkannya menjadi sub-sub kecil. Hal ini bertujuan untuk mempermudah identifikasi dalam perancangan, pembangunan hingga antisipasi, sehingga mampu mengatasi kesalahan. Hal ini juga menjadi salah satu cara untuk membangan sebuah sistem yang kokoh dan sesuai kebutuhan.

3.1.1 Analisis Sistem berjalan

Sistem yang telah berjalan pada Amnesa gizi, ditunjukkan dengan flowmap dibawah ini:

Anamnesa Gizi

Pasien Ahli Gizi

Dokter

Form Anamnesa Gizi (Data Personal, Riwayat personal, Nutritional assesment, Dietory history,

Amnesa makanan sehari/ recall) Form Ananmnesa Gizi

(Data Personal, Riwayat personal, Nutritional assesment, Dietory history,

Amnesa makanan sehari/ recall)

Pengisian form anamnesa gizi (Data Personal)

Form Anamnesa Gizi telah terisi (Data persona)l Form Anamnesa Gizi telah terisi

(Data personal)

Pengisian form anamnesa gizi (Dokter yg mewawancarai

untuk mengisi Riwayat Personal dan Nutritional

Assesment Form Anamnesa Gizi telah terisi (Data personal, Riwayat Personal, dan

Nutritional Assesment)

Form Anamnesa Gizi telah terisi (Data personal, Riwayat Personal, dan

Nutritional Assesment)

Pengisian form anamnesa gizi (Ahli gizi yg mewawancarai pasien untuk mengisi Dietory history dan amnesa makanan)

Form Anamnesa Gizi telah terisi (Data personal, Riwayat Personal, dan Nutritional Assesment, Dietory history,

amnesa makanan)

Diagnosa gizi

Nutritional intervensi dan Rancangan kebutuhan makanan, jadwal konseling

gizi dan rencana monitoring sesuai

Tidak sesuai Nutritional intervensi dan Rancangan

kebutuhan makanan, jadwal konseling gizi dan rencana monitoring

Anamanesa gizi


(53)

3.1.2 Analisis Masalah

Analisis masalah dilakukan untuk mengidentifikasi permasalahan-permasalahan yang kemudian menjadi sebuah persoalan yang dapat dijawab dan diselesaikan. Permasalahan yang akan dibahas dan diselesaiakan dalam sistem ini adalah

1. Perhitungan antrometri

Perhitungan antrometri merupakan perhitungan untuk mendapatkan kesesuaian antara Tinggi Badan (TB), Berat Badan (BB) berdasarkan usia dan jenis kelamin.

2. Penentuan status dan kebutuhan gizi berdasarkan antrometri

Status gizi akan dihitunga berdasarkan keadaan antrometri pasien yang akan disesuaikan kebutuhan gizinya hingga mendekati keadaan ideal antrometrinya.

3. Pengaturan pola makan normal

Pengaturan pola makan normal yaitu untuk user normal (tidak mengidap diabetes) yang ingin mengolah menu hariannya sesuaikan dengan hasil dari poin 1 dan 2.

4. Pengaturan pola makan diabetes

Pengaturan pola makan untuk penderita diabetes disesuaikan berdasarkan hasil dari poin 1, 2, dan aturan diet diabetes.

5. Informasi kandungan gizi menu kreasi

Hal ini menghasilkan kandungan gizi dari sebuah menu kreasi/ menu yang dibuat sendiri oleh user.


(54)

Contoh penerapan secara manual:

Rina adalah seorang wanita berusia 22 tahun memiliki berat badan 54Kg dan tinggi badan 167cm, tidak memiliki kelainan pada penyakit (diabetes) dan aktifitas fisik sedang. Maka perhitungan yang dilakukan sebagai berikut:

1. BBN = 167 – 100 = 67 Kg 2. BBI = 67 – 6,7 = 60, 3 Kg 3.

= 19,36

4. BBE = 54 x 25 = 1350 kKal

5. Total Kalori = BBE + (BBE x 30%) = 1755 kKal 6. = 263,25 gram

7. = 48,75 gram

8. = 65,81 gram

Berdasarkan perhitungan tersebut, makan dapat disimpulkan bahwa Rina: 1. Bila dibandingkan dengan berat BBN dan BBI maka BB Rina termasuk

kurang

2. Nilai IMT sebesar 19,36, maka kecukupan gizi dan berat badannya termasuk normal. Bila Rina ingin mencapai berat badan ideal, maka dia haru menaikan berat badan hingga 60,3 Kg.

3. Kebutuhan total kalori sebesar 1755 kKal, dengan kebutuhan karbohidrat 263,25 gram, lemak 48,75 gram dan protein 65,81 gram.

4. Porsi makan yang sesuai dengan kebutuhannya dibagi berdasarkan jumlah kategori (per satuan penukar)


(55)

Tabel III.1 Penentuan porsi makan per kategori Nasi /

karbohidrat

Tempe/ protein nabati

Daging/ protein hewani

Sayuran Buah Gula Minyak

4 3 2 3 4 2 5

3.1.3 Analisis Masukan

Inputan yang dilakukana berasal dari alat input keybord. Bahasa yang digunakan adalaah bahasa Indonesia, tidak disingkat dan merupakan kata dasar.

Permasalahan utama dalam merancang sebuah aplikasi sistem cerdas dengan metode natural language processing adalah bagaimana membuat sebuah program

yang mampu menerjemahkan inputan user yang menggunakan bahasa alami (natural

language) menjadi bahasa yang dapat dimengerti oleh komputer dan membuat

program tersebut mampu memberikan respon kepada user menggunakan bahasa

alami pula.

Masalah-masalah yang akan timbul dan harus ditangani oleh aplikasi ini adalah saat terjadi dialog dengan penggunanya yaitu sebagai berikut:

1. Kemampuan memproses bahasa alami

Aplikasi ini akan berkomunikasi dengan komputer menggunakan bahasa yang digunakan oleh manusia dalam kehidupan sehari-hari atau bahasa alami. Maka, harus dibuat sebuah aplikasi yang mampu memberikan kemampuan kepada komputer untuk mengerti bahasa alami.

2. Ambiguitas kalimat

Ambiguitas kalimat dapat terjadi saat satu kalimat atau lebih yang berbeda memiliki arti yang sama. Masalah utama yang menyebabkan terjadinya ambiguitas pada kalimat adalah saat ini penggunaan bahasa Indonesia tidak


(56)

selalu terpaku pada pola yang baku. Maksud dari pernyataan ini adalah dalam kehidupan pergaulan sehari-hari pada saat ini para pengguna bahasa Indonesia tidak terlalu terpaku pada susunan subjek, predikat, objek ataupun keterangan (S, P, O).

a. Ayam goreng b. Ayam digoreng c. Ayamnya digoreng

Dalam perbedaan inputan tersebut memiliki satu maksud, yaitu user ingin

mengetahui kandungan kalori dari ayam goreng. 3. Penanganan data yang cukup banyak pada bank data

Pintar atau tidaknya sebuah aplikasi ini turut ditentukan oleh banyaknya pengetahuan (knowledge) yang dimasukkan ke dalam bank data.

3.1.4 Analisis Proses

Proses yang berlangsung dalam sistem dibagi menjadi dua komponen utama, sebagai berikut:

3.1.4.1 Analisis Pengolahan Bahasa Alami

Inti dari sistem NLP adalah parser. Parser adalah bagian dari program atau sistem yang membaca setiap kalimat, kata demi kata, untuk menentukan apa yang dimaksud. Ada 2 pendekatan yang bertolak belakang pada NLP. Pendekatan yang pertama mencoba untuk menggunakan semua informasi dalam satu kalimat seperti yang dilakukan manusia. Tujuan dari pendekatan ini adalah memungkinkan komputer melakukan percakapan. Pendekatan yang lain memungkinkan komputer menerima perintah dalam bahasa alami, tetapi cukup dengan cara mengekstrak


(57)

informasi yang esensial dari perintah tersebut. Salah satu aspek tersulit dalam mengembangkan sistem berbasis NLP adalah kompleksitas dan fleksibilitas dari bahasa manusia. Ketika membuat suatu natural language processor, maka perlu dibatasi tipe dari kalimat dan grammar yang diterima. Sehingga processor hanya akan memahami salah satu atau beberapa dari subset bahasa natural saja.

Dalam pembuatan sistem cerdas ini, input dari pengguna berupa input nonnumerik (kalimat bahasa alami). Scanner harus mengenali apakah input dari pengguna tersebut nonnumerik ataupun bukan kemudian memberikan input yang telah di-scan tersebut kepada parser. Input yang diterima oleh sistem berupa bahasa alami dipecah menjadi token-token penyusunnya yang berupa kata-kata penyusun kalimat input itu sendiri.

Pengolahan bahasa alami (NLP) memiliki presedur khusus dalam pengoperasiannya yang digambarkan dengan blok diagram berikut:

Kalimat Input

Scanning Kalimat

Hasil kalori Comparing

Parsing

Identifying Parsing

Kalimat

Gambar III.2 proses parsing

Blok diagram diatas menggambarkan garis besar pemprosesan bahasa yang dilakukan dalam aplikasi Nutrients Consult. Aplikasi berbasis web ini memiliki tujuan utama yaitu mengecek kandungan kalori dari setiap jenis makanan yang di-input-kan user. Penjelasan dari blok diagram diatas sebagai berikut:


(58)

1. Kalimat input

Merupakan kalimat yang di-input-kan oleh user, berupa kumpulan kata yang merisikan bahan makanan ataupun menu makanan.

2. Parsing

Parsing dilakukan untuk mengecek kesesuaian antara kalimat input dengan aturan produksi yang telah ditentukan. Proses parsing memilik 3 proses yaitu:

a. Scanning

Scanning (analisis leksikal) merupakan proses pemeriksaan pertama setelah dilakukan input-an. Pembacaan dilakukan satu persatu karakter dari kalimat yang di-input-kan. Hasil dari scanning berupa token-token yang kemudian dilanjutan pada proses parsing.

b. Parsing

Parsing (analisis sintaksis) berfungsi memeriksa kebenaran token-token yang telah dihasilkan dalam proses scanner. Pemeriksaan token disesuaikan dengan grammer yang telah ditentukan sebelumnya. c. Identifying

Mengindentifikasi token-token yang telah sesuai dan diterima dengan database yang ada.


(59)

3. Comparing

Comparing dilakukan antara token dengan database sehingga menghasilkan keluaran berupa data yang dibutuhkan.

Setelah berupa token/ kata, maka sistem kemudian mencocokannya dengan isi bank data. Sistem berisi kumpulan algoritma dengan fungsi yang kompleks. Algoritma-algoritma yang terdapat di dalam sistem tersebut antara lain algoritma untuk scanner, parser, dan algoritma lainnya yang terkait dengan pengolahan input dari pengguna. Adapun gambaran proses natural language processing itu sendiri adalah sebagai berikut:


(60)

Penjelasan gambar:

1. User meng-input-kan menu yang akan di cek kandungannya 2. Menu di parsing perkata, menghasilkan token-token

3. Token-token dicocokan dengan database yang ada 4. Token-token yang cocok dengan database

5. Penyesuaian antara menu dan bahan makanan yang di-input-kan pada tabel menu dan bahan makanan

6. Penyesuaian menu dan perhitungan

7. Output berupa kandungan gizi dari menu yang di-input-kan

3.1.5 Analisis Proses Parser

Proses parser yang dilakukan pada input-an kalimat memiliki dua proses analisis utama, analisis leksikal dan analisis sintaksis. Kedua proses analisis ini memiliki peran yang cukup penting.

Analisis leksikal merupakan analisis pengecekan satu persatu karakter dari kalimat inputan yang disesuaikan dengan aturan produksi yang ada. Hasil dari proses analisis ini disebut token. Token-token yang sesuai akan dilanjukan keproses analisis sintaksis. Proses analisis leksikal dikenal dengan proses scanner. Analisis sintaksis merupakan analisis pengecekan token-token yang dihasilkan dari proses sebelumnya. Pengecekan token ini disesuaikan dengan grammer yang telah ditntukan sebelumnya. Apabila token telah sesuai maka akan dilanjutkan dengan proses identifikasi token dengan database yang ada. Analisis sintaksis dikenal dengan proses parsing.


(61)

3.1.5.1 Aturan produksi sintaks dan diagram sintaks

Atruran produksi untuk aplikasi AnamnesaGizi, sebagai berikut:

Tabel III.2 Aturan Produksi

No. α ::= β

1. <kalimat> ::= (<menu>)

+

{<spasi>} | {<koma><spasi>} <titik>

2. <menu> ::= {<bahan_maknana>} |

{<bahan_makanan><spasi><jenis_olahan>} 3. <bahan_makanan> ::= (<kata>)+ | {<kata> <spasi> <kata>}

4. <jenis_olahan> ::= <kata> 5. <kata> ::= <token> 6. <token> ::= (a...z)+

7. <spasi> ::= ‘#’ 8. <koma> ::= ‘,’ 9. <titik> ::= ‘.’

Untuk mempermudah memahami atuaran produksi BMF diatas, maka dijelaskan dengan diagram sintaks berikut ini.

<kalimat> ::= (<menu>)+ {<spasi>} | {<koma><spasi>} <titik>

<menu> <titik>

<spasi>

<koma> <spasi>

Gambar III.4 diagram sintaks kalimat


(62)

<jenis_olahan> <bahan_makanan> <spasi>

Gambar III.5 diagram sintaks menu

<bahan_makanan> ::= (<kata>)+ | {<kata> <spasi> <kata>}

<kata> <spasi> <kata>

Gambar III.6 diagram sintaks bahan_makanan

<jenis_olahan> ::= <kata> <kata>

Gambar III.7 diagram sintaks jenis_olahan

<kata> ::= <token> <token>

Gambar III.8 diagram sintaks kata

<token> ::= (a...z)+

a...z

Gambar III.9 diagram sintaks token

<spasi> ::= ‘#’

#

Gambar III.10 diagram sintaks spasi

<koma> ::= ‘,’

,

Gambar III.11 diagram sintaks koma

<titik> ::= ‘.’ .


(63)

3.1.5.2 Diagram FSA (Finite State Automata) untuk analisis leksikal (scanner)

Aturan produksi untuk proses scanner berdasarkan FSA yang digambarkan dalam bentuk DFA dibawah ini:

Nasi, ayam goreng, tumis toge.

Gambar III.13 DFA untuk scanner NLP

Tuple yang terdapat dalam gambar diatas, sebagai berikut:

Q = {q0, q1, q2, q3, q4}

∑ = { a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ‘,’, ‘.’, ‘#’}

S = {q0}

F = {q3}

Keterangan simbol yang digunakan sebagai input-an: Tabel III.3 Keterangan simbol input

Simbol input Keterangan

, koma

. titik

# Pengganti spasi


(1)

110

No Keterangan Responden Prosentase (%)

2. Setuju 4 100

3. Kurang setuju - -

4. Tidak setuju - -

6. Menurut anda, apakah Jenis makanan yang dibuatakan oleh aplikasi telah sesuai dan dapt diterima oleh pasien

Hasil jawaban responden

Tabel 0.14 hasil jawaban responden (no. 6)

No Keterangan Responden prosentase

1. Sangat setuju 1 25

2. Setuju 2 50

3. Kurang setuju 1 25

4. Tidak setuju - -

7. Menurut anda, apakah Jadwal makanan yang dibuatakan oleh aplikasi telah sesuai dan dapt diterima oleh pasien.

Hasil jawaban responden

Tabel 0.15 hasil jawaban responden (no. 7)

No Keterangan Responden prosentase

1. Sangat setuju 3 75

2. Setuju 1 25

3. Kurang setuju - -


(2)

4.2.6 Kesimpulan hasil pengujian beta

Berdasarkan hasil presentaasi pengujian betha diatas dapan ditarik kesimpulan bahwa:

1. Aplikasi telah mampu mengaplikasikan sistem manual yang selama ini berjalan dengan baik

2. Penerapan prinsip 3J telah mampu diadopsi oleh aplikasi 3. Proses pencarian data pasian menjadi lebih mudah dan cepat.


(3)

112 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pada hasil implemantasi dan pengujian, analisis dan perancangan yang dilakukan sebelumnya telah mampu menjawab tujuan dari pembuatan aplikasi dengan poin sebagai berikut

1. Aplikasi telah memenuhi aturan 3J pada pengolahan pola makan 2. Pengarsipan progress diet pasien lebih terorganisir

3. Mampu mengatasi masalah human error dalam perhitungan dan mpenentuan status gizi pasien

5.2 Saran

Aplikai dapat dikembangkan dengan sistem terdistribusi atau clien server, sehingga bukan hanya ahli gizi yang memapu mengakses dan mengoreksi data namun para dokter yang mengirim dapat melihat proses dan aplikasi.

Apabila menungkinnkan dapat dibuat sebuah aplikasi yang terkoneksi dangan internet sehingga pasien dapat langsung mengisikan apa saja makanan yang dikunsumsinya setiap saat. Hingga mempermudah dalam pengontrolan pola makan pasien.


(4)

113

Fathansyah, “Buku Teks Komputer BASIS DATA”. INFORMATIKA: Bandung, 2004

Hariyanto Banbang, Ir., MT., Teori Bahasa, Otomata, dan Komputasi serta penerapannya, Informatika, Bandung, 2004

Hartini KS Kariadi Sri, Prof., Dr., dr., Sp.PD-KEMD., Diabetes siapa takut? Panduan lengkap untuk Diabetesi, keluarganya, dan Profesional medis, Qanita, Bandung, 2009

Hopcorft, John E., Introduction to Automata theory, languages, and computation, 2nd ed, Addisin Wasley, Ithaca NY and Stanford CA, 2000

Kadir Abdul, Dasar aplikasi database MySQL Delphi, edisi II, Penerbit Andi, Yogyakarta, 2003

Kadir Abdul, Pemrograman database dengan DELPHI 7 menggunakan access ADO, edisi I, Penerbit Andi, Yogyakarta, 2004

Kristanto, Andri. “Perancangan SISTEM INFORMASI dan aplikasinya”. Gaya Media : Yogyakart, 2008

Nugroho bunafit, membuat aplikasi sistem pakar dengan PHP dan Editor Dreamweaver, edisi pertama, cetakan pertama, penerbit gava media, Yogyakarta, 2008

Nugroho Bunafit, Panduan lengkap menguasai perintah SQL, cetakan pertama, Mediakita, Jakarta, 2008

Panduan praktis pemrograman Borland Delphi 7.0, Ed. I., Andi, Yogyakarta, Wahana Komputer, Semarang, 2003

Pressman Roger S., Ph. D., Rekayasa Perangkta Lunak pendekatan praktisi, Diterjemahkan oleh LN Harnaningrum, edisi kedua, Yogyakarta, Andi, 2002

Raimanah Savitri, dr., Diabetes cara mengetahui gejala diabetes dan mendeteksinya sejak dini, cetakan kedua, BIP, Jakarta, 2007


(5)

114

Ramayulis Rita, DCN, M.Kes., Astuti Triana, Ir., MPS., Harumi T.S., Menu Dan Resep Untuk Penderita Diabetes, Cetakan Pertama, Penebar Plus, Jakarta, 2008

Saiful Bahri Kusnassriyanto, Sjachriyanto Wawan, Pemrograman Delphi, cetakan pertama, Informatika Bandung, Bandung, 2005

Setiawan, Yudha C, Panduan object-Oriented Programming (OOP) Dasar Pemrograman Delphi, Ed. I., Andi, Yogyakarta, 2004

Sugiono, Prof., Dr., Metode Penelitian Kuantitatif Kualitatif Dan R&D, Cetakan Kesepuluh, Alfabeta, Bandung, 2010

Suyanto, S.T., M.Sc., Artificial Intellegent, Informatika, Bandung, 2007

Utdirartatmo Firrar, Teori bahasa dan otomata, edisi pertama, cetakan pertama, J&J Learning, Yogyakarta, 2001

Turban Efraim, jay E. Aronsonj, Ting-Peng Liang, Decision Support Systems and intelligent systems (sistem pendukung Keputusan dan Sistem cerdas), Edisi &, jilid 2, Penerbit Andi, Yogyakarta, 2005

http://cybermed.cbn.net.id/cbprtl/cybermed/detail.aspx?x=Health+News&y=cyber med|0|0|5|6537

(waktu akses, 3 febuari 2011, pukul 11.54 am)

http://www.gizi.net/cgi-bin/berita/fullnews.cgi?newsid1105415622,24112, (waktu akses, 3 febuarati 2011, pukul 10.29 am)

http://www.kapanlagi.com/h/old/0000165563.html (waktu akses, 3 febuari 2011, pukul 10.30)

http://www.penyakit.biz/obat-diabetes-mellitus-tipe-2 (waktu akses, 3 febuari 2011, pukul 11.10 am) http://www.suarapembaruan.com

(waktu akses, 3 febuari 2011)

http://www.surabayapost.co.id/?mnu=berita&act=view&id=4cfe33e2fcffb085216 defa6daf9a004&jenis=c81e728d9d4c2f636f067f89cc14862c


(6)

 Keterangan Diri

Nama Lengkap : Ridho Aprillya

Nama Panggilan : Ridho / Prilly

Alamat : Jl. Rawa sawah I, no. 3 Jak-Pus

TTL : Jakarta, 12 April 1989

Telpn / Hp : 022-91543254 / 085691334404

E-mail : ridho.aprillya@gmail.com

Jenis Kelamin : Perempuan

Agama : Islam

Kewarganegaraan : Indonesia

Motto : I’m the best

 Keterangan Pendidikan

Pendidikan Formal Pendidikan Informal

1994 – 1995 : TK YWPM Jakarta

1995 – 2001 : SND Tanah Tinggi 05 pagi Jakarta 2001 – 2004 : SMP Negeri 76 Jakarta

2004 – 2007 : SMA Negeri 27 Jakarta, Jurusan IPA

2007 – saat ini : Universitas Komputer Indonesia, Bandung, Jurusan Teknik Informatika

1995 – 1998 : Madrasa PUI 1998 – 2002 : Madrasa Syarief Hidayatullah

2005 – 2006 : DikLat KSR UMC PMI Jak – Pus

Juli 2011: Sertifikasi database di beLogix

 Kemampuan Komputer

Perangkat Lunak Bahasa Pemrograman Perangkat Keras

Medium

-C : medium -C++ : medium -Paskal : medium -Java : lower

Medium

 Riwayat Pekerjaan

Juli – oktober 2010 : Kerja praktek di Museum Nasional, Jakarta

 Riwayat Organisasi

2001 – 2002 : Anggota RESVENSIX (PMR 76)

2002 – 2003 : Bendahara RESVENSIX

2003 – 2004 : Wakil Ketua RESVENSIX

2004 – 2005 : Anggota FORESMA (PMR 27)

2005 – 2006 : Wakil Ketua FORESMA

2006 – 2007 : Ketua FORESMA

2006 – saat ini : Anggota KSR UMC PMI Jakarta Pusat

2008 – 2009 : Anggota PWTI HMIF UNIKOM

2009 – 2010 : Anggota ADM HMIF UNIKOM

2010 – saat ini : Admin Divisi Kreatif KARISMA ITB

Demikian daftar riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan

Hormat saya,


Dokumen yang terkait

Gambaran Pola Makan dan Dukungan Keluarga Penderita Diabetes Melitus yang Menjalani Rawat Jalan di RSU Dr. Pirngadi Medan Tahun 2015

11 110 113

Gambaran Kepatuhan Pola Makan Penderita Hipertensi yang Berobat di Klinik Spesialis Ginjal dan Hipertensi Rasyida Medan Tahun 2015

6 75 110

Hubungan Status Gizi dan Asupan Energi Dengan Kelelahan kerja pada Pekerja di PT. Perkebunan Nusantara I Pabrik Kelapa Sawit Pulau Tiga Tahun 2015

11 98 119

Pengaruh Pendidikan Gizi Tentang Pola Makan Seimbang Melalui Game Puzzle dan Gambar Animasi Terhadap Peningkatan Pengetahuan Anak SDN 067690 Kota Medan

19 141 81

Hubungan Pola Makan dan Kepatuhan Minum Obat dengan Kejadian Hiperglikemik pada Penderita Diabetes Melitus Tipe 2 Rawat Jalan di RSU Herna dan RSU Pusat H. Adam Malik Medan Tahun 2013

2 74 105

Hubungan Pengetahuan Gizi Dengan Pola Makan Pada Mahasiswa Kesehatan Dan Non Kesehatan Yang Kos Di Kelurahan Padang Bulan Kecamatan Medan Baru Kotamadya Medan Tahun 2002

10 71 73

Pengaruh Penatalaksanaan Gizi dan Pengetahuan Tenaga Pelaksana Gizi Puskesmas Terhadap Keberhasilan Puskesmas dalam Perbaikan Status Gizi Balita Gizi Buruk di Puskesmas Se-Kota Medan

2 54 105

Gambaran Status Gizi Balita Pada Penderita Diare dan ISPA di Ruang Rawat Inap Bagian Anak RSU.H.Adam Malik Medan Periode Januari sampai Juni Tahun 2000

1 38 45

Pengetahuan Ibu Menyusui Tentang Asupan Nutrisi Di Klinik Nurhasanah Medan

2 37 59

Efek Suplementasi Zn Dan Fe Pada Status Gizi Anak Stunted Usia 6 – 24 Bulan Di Kabupaten Kebumen Jawa Tengah

0 18 150