• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
19
0
0

Teks penuh

(1)

ANALISIS DAN PERANCANGAN

3.1. Analisis Sistem Berjalan 3.1.1. Penyusunan Menu Makanan

Dalam penyusunan menu makanan banyak hal yang perlu diperhatikan, terutama jika menu makanan yang disusun untuk seseorang yang mengidap penyakit tertentu seperti penyakit diabetes. Telah banyak variasi menu makanan yang dianjurkan untuk penderita diabetes, namun tidak semua menu makanan tersebut memenuhi kriteria yang diharapkan. Biasanya menu makanan akan dibagi berdasarkan kebutuhan gizi makro yaitu berdasarkan kalori. M enu makanan tersebut umumnya dikelompokkan menjadi sarapan, makan siang, dan makan malam.

Penyusunan menu makanan pada penulisan skripsi ini dikhususkan untuk penderita diabetes dan berdasarkan kepada kebutuhan gizi masing–masing penderita diabetes.

3.1.2. Penentuan Gizi Penderita Diabetes

Penentuan gizi untuk penderita diabetes sebenarnya tidaklah mudah. Dalam penentuan gizi yang tepat bagi penderita diabetes sebenarnya ada ketentuan tertentu yang harus dipatuhi. Adapun beberapa syarat yang harus dipenuhi di antaranya adalah :

1. Energi cukup sesuai dengan kebutuhan berdasarkan jenis kelamin, usia, aktivitas fisik, berat badan dan tinggi badan. M akanan dibagi dalam 3 porsi

(2)

besar yaitu makan pagi (20 %), makan siang (30 %), makan malam (25 %), dan 2-3 porsi kecil untuk makanan selingan (masing – masing 10 – 15 %)

2. Protein 10 – 15 % dari total kebutuhan energi. Protein yang digunakan hendaknya yang memiliki nilai cerna tinggi.

3. Lemak sedang 20 – 25 % dari kebutuhan energi total. Dengan komposisi lemak jenuh < 10 % lemak tak jenuh ganda 10 %, sisanya lemak tak jenuh tunggal.

Asupan kolestrol dibatasi lebih kecil atau sama dengan 300 mg per hari.

4. Karbohidrat adalah sisa dari kebutuhan energi total yaitu 60 – 70 %

5. Penggunaan gula murni dalam makanan dan minuman tidak diperbolehkan, kecuali jumlahnya sedikit sebagai bumbu. Bila kadar glukosa darah sudah terkendali, penggunaan gula murni 5 % dari kebutuhan energi total.

Untuk rumus perhitungan kebutuhan kalori, protein, lemak dan karbohidrat yang dapat digunakan tetap berpedoman pada rumus Harris dan Benedict yang telah dijelaskan dan dipaparkan pada Bab II sebelumnya.

3.2. Analisis Permasalahan

Bervariasinya jenis makanan dan kandungan gizi yang berbeda – beda membuat sulitnya menentukan menu makanan yang baik dan memiliki nilai gizi yang mencukupi kebutuhan tubuh. Pada kenyataannya semua orang memerlukan gizi yang cukup dan menu makanan yang bervariasi agar tidak merasa bosan dengan menu makanan yang monoton. Apalagi untuk seseorang yang menderita penyakit diabetes, pemilihan menu makanan yang tepat sangat penting untuk mengendalikan kadar gula dalam darahnya. Dalam pemilihan menu makanan bagi penderita diabetes tetap harus memperhatikan nilai gizi yang dikandung. Permasalahan terletak pada

(3)

bagaimana menyusun menu makanan supaya dicapai nilai gizi yang optimal dan tentunya tidak memperburuk nilai kadar gula dalam darah si penderita diabetes.

3.3. Usulan Pemecahan Masalah

Dari permasalahan yang telah dijabarkan di atas, maka akan dirancang sebuah program aplikasi dengan memanfaatkan kemajuan ilmu komputer penentuan gizi bagi penderita diabetes yang diformulasikan dan dihitung otomatis dengan menggunakan komputer. Adapun algoritma yang bisa dimanfaatkan untuk penentuan gizi tersebut adalah algoritma genetika yang merupakan suatu proses pengoptimalan yang berdasarkan pencarian acak dengan memperhatikan mekanisme seleksi alam dan genetika alam.

Dengan program aplikasi yang dirancang ini, diharapkan dapat membantu penderita diabetes untuk menentukan menu makanan harian mereka yang terbagi dalam lima kali makan di mana akan dicapai nilai gizi yang paling optimal berdasarkan faktor yang mempengaruhi kebutuhan kalori dan gizi penderita diabetes.

3.4. Perancangan

3.4.1. Cara Kerja Sistem

Sistem aplikasi penentuan kebutuhan gizi bagi penderita diabetes dengan algoritma genetika ini melakukan penentuan jenis–jenis makanan untuk komposisi makanan penderita diabetes yang mengandung zat–zat gizi sesuai dengan yang diperlukan setiap harinya. Hasil yang didapatkan berupa kombinasi menu makanan yang memiliki nilai gizi yang paling optimal atau biasa dikenal dengan istilah nilai fitness yang tinggi.

(4)

Untuk menjalankan aplikasi penentuan kebutuhan gizi bagi penderita diabetes dengan algoritma genetika ini, pertama–tama user harus menginput data mengenai dirinya, yaitu nama, tinggi badan (cm) , berat badan (kg) , usia (tahun), jenis kelamin, aktivitas dan angka gula darahnya (mg/dL). Setelah input diberikan, sistem akan mengecek kevalidan inputan. Jika inputan valid maka sistem akan menghitung jumlah kebutuhan kalori, protein, lemak dan karbohidrat yang dibutuhkan untuk penderita diabetes secara otomatis. Apabila angka gula darahnya di bawah atau sama dengan 126 mg/dL maka user tidak dapat mengakses halaman berikutnya karena aplikasi ini hanya dikhususkan bagi penderita diabetes.

Selanjutnya sistem akan menghitung jumlah kebutuhan kalori untuk tiap waktu makan yaitu sarapan 20 %, selingan pagi 10 %, makan siang 30 %, selingan sore 15 % dan makan malam 20 % dari kebutuhan kalori harian yang telah dihitung. Persentase demikian juga berlaku pada kebutuhan protein, lemak dan karbohidrat.

Setelah semua data yang dibutuhkan telah diinput, maka proses algoritma genetika dapat dimulai. Proses genetik yang dilakukan akan dibagi menjadi tiga kali yaitu untuk mencari menu sarapan, makan siang dan makan malam. Proses genetika pada diawali dengan membangkitkan populasi awal yang kemudian dilanjutkan dengan perhitungan nilai fitness dan proses seleksi. Setelah proses seleksi selesai dijalankan, maka akan dilanjutkan dengan proses crossover.

Kemudian kromosom–kromosom yang telah dipindah silang (crossover) akan mengalami proses mutasi. Selama nilai optimal belum dicapai, sistem akan terus melakukan proses algoritma genetika.

(5)

Setelah proses algoritma genetika selesai dijalankan, maka akan ditampilkan hasil kromosom-kromosom yang terbaik. Kromosom terbaik hasil tiga kali proses algoritma genetika akan ditampung pada menu sarapan, makan siang dan makan malam. Untuk menu selingan baik selingan pagi maupun selingan sore, prosesnya tidak melalui algoritma genetik karena pada selingan hanya ditampilkan 1 menu sehingga tidak diperlukan proses pencarian acak.

Sistem akan mencari nilai yang paling mendekati nilai kalori untuk selingan.

M isalnya saja kebutuhan kalori untuk selingan pagi adalah 189 kkal, maka sistem akan mengecek satu per satu jenis makanan pada tabel makanan selingan dan akan diambil yang paling mendekati angka 189 tersebut.

Selanjutnya akan ditampilkan menu makanan untuk penderita diabetes dalam lima kali waktu makan yaitu sarapan, selingan pagi, makan siang, selingan sore dan juga makan malam beserta dengan nilai gizinya setiap menu makanan yang ditampilkan.

Flowchart cara kerja sistem dapat dilihat pada Gambar 3.1.

(6)

No

Selesai

Cek nilai gizi makanan pada tabel selingan dan pilih yang nilai gizinya

paling mendekati kebutuhan

Tampilkan menu makanan dalam 5 waktu (sarapan, selingan pagi, makan siang, selingan

sore dan makan malam serta nilai gizinya Jalankan 3 kali proses

Algoritma Genetika untuk sarapan, makan siang dan makan malam Hitung kebutuhan gizi untuk sarapan,

selingan pagi, makan siang, selingan sore dan makan malam

Input Data Diri

Apakah Inputan Valid ? M ulai

Yes

Hitung Kebutuhan Kalori. Kebutuhan Protein, Kebutuhan Lemak dan Kebutuhan

Karbohidrat untuk Penderita Diabetes

Simpan kromosom terbaik dalam menu sarapan, makan siang dan makan malam

Gambar 3.1 Flowchart Cara Kerja Sistem

(7)

3.4.2. Perancangan Algoritma Genetika

Proses algoritma genetika dimulai setelah semua inputan yang dibutuhkan telah dimasukkan oleh user dan proses perhitungan nilai gizi pasien untuk 5 waktu telah dilakukan. Algoritma genetika yang dijalankan terbagi dalam tiga kali proses yaitu untuk menu sarapan, makan siang dan makan malam. Pada dasarnya, algoritma genetika yang akan digunakan untuk menyelesaikan masalah penentuan gizi pada penderita diabetes, terdiri dari beberapa langkah yaitu pembangkitan populasi awal, seleksi, rekombinasi dan mutasi.

Rancangan algoritma genetika adalah sebagai berikut :

a. Random angka untuk masing–masing kromosom di mana setiap angka yang dihasilkan dari proses random mewakili suatu jenis makanan yang ada di dalam database makanan.

b. Setelah pembangkitan populasi awal, maka selanjutnya masuk ke proses seleksi yang dilanjutkan proses crossover dan mutasi untuk pembentukan populasi baru.

c. Proses pembentukan populasi baru akan terus dilakukan berulang sampai mencapai jumlah generasi yang diinginkan oleh user

3.4.2.1. Pembangkitan Populasi Awal

Pembangkitan populasi awal merupakan langkah awal yang harus dilakukan dalam proses algoritma genetika. Proses membangkitkan populasi awal ini dimulai dengan membangkitkan angka random sebanyak jumlah kromosom awal dan jumlah gen dalam kromosom. Setiap angka yang dihasilkan

(8)

oleh random angka tersebut mewakili suatu jenis makanan yang ada dalam database. Pada aplikasi penentuan kebutuhan gizi pada penderita diabetes dengan algoritma genetika ini, database memiliki data-data yang telah diinput oleh penulis dari sumber yang didapatkan berupa buku.

Angka random yang dibangkitkan dalam satu kromosom dapat memiliki nilai random angka yang sama lebih dari satu. Setelah random angka selesai dibangkitkan, sistem akan meghitung jumlah kalori, protein, lemak dan karbohidrat masing-masing kromosom yang telah didapat. Selanjutnya sistem akan mengecek apakah jumlah tersebut melebihi jumlah kebutuhan kalori, protein, lemak dan karbohidrat yang dibutuhkan oleh penderita diabetes. Jika melebihi, sistem akan memberikan nilai nol pada gen yang mengakibatkan kelebihan dalam kromosom tersebut.

Secara sistematis proses pembangkitan populasi awal dapat dilihat pada Gambar 3.2.

(9)

Mulai Ambil nilai jumlah kromosom awal dan jumlah gen dalam kromosom

Random angka sebanyak jumlah kromosom (JK) dikalikan dengan jumlah gen dalam kromosom (JG)

Hitung total kalori (TK) , total protein (TP), total lemak (TL), dan total karbohidrat (TH)

masing – masing kromosom

Bandingkan TK, TP, TL, TH dengan jumlah kalori (JK), jumlah protein (JP), jumlah lemak

(JL), dan jumlah karbohidrat (JH) yang dibutuhkan

Apakah TK ≤ JK & TP ≤ JP

& TL ≤ KL & TH ≤ JH ?

No

Gen pada kromosom yang

mengakitbatka n kelebihan diberi nilai 0

Apakah semua kromosom sudah dihitung TK, TP, TL

dan TH?

No

Yes

Yes

Hitung nilai fitness masing – masing kromosom

Selesai

Gambar 3.2 Flowchart Pembangkitan Populasi Awal

(10)

3.4.2.2. Perhitungan Nilai Fitness

Sebelum masuk pada tahap berikutnya yaitu seleksi, harus dilakukan dahulu perhitungan nilai fitness. Perhitungan nilai fitness didasarkan pada total kalori, total protein, total lemak, dan total hidrat arang pada suatu kromosom, jumlah kalori, jumlah protein, jumlah lemak, dan jumlah hidrat arang yang dibutuhkan pada penderita diabetes serta bobot kalori, bobot protein, bobot lemak dan bobot karbohidrat. Semakin tinggi nilai fitness maka akan semakin baik individu tersebut dan peluang untuk terpilih dalam proses seleksi semakin besar. Nilai fitness ini akan berkisar dari nilai 0 (nol) sampai 1 (satu).

Perhitungan nilai fitness akan terus dilakukan sejumlah kromosom yang telah dibangkitkan. Rumus yang digunakan untuk menghitung nilai fitness telah dijabarkan pada Bab 2 sebelumnya.

Untuk lebih memahami nilai fitness, dapat dilihat pada Gambar 3.3.

(11)

Mulai

Apakah TK ≤ KK ; TP ≤ KP ; TL ≤ KL

& TH ≤ KH ?

Total kalori = 0 Total lemak = 0 Total protein = 0 Total karbohidrat = 0 Yes

Fitness kalori (Fk) = TK / KK Fitness protein (Fp) = TP / KP

Fitness lemak (Fl) = TL / KL Fitness karbohidrat (Fh) = TH / KH Inisialisasi total kalori = TK, total protein = TP, total

lemak = TL, total karbohidrat = TH ; kebutuhan kalori = KK, kebutuhan protein = KP, kebutuhan lemak = KL, kebutuhan karbohidrat = KH

Berikan nilai bobot kalori = nilai bobot protein = 3 dan nilai bobot lemak = nilai bobot karbohidrat = 1

A = Fk x bobot kalori (bk) B = Fp x bobot protein (bp)

C = Fl x bobot lemak (bl) D = Fh x bobot karbohidrat (bkh)

Nilai fitness =

Selesai

Gambar 3.3 Flowchart Perhitungan Nilai Fitness

(12)

3.4.2.3. Seleksi

Proses seleksi dalam algoritma genetika yang akan digunakan adalah rank-based fitness selection yaitu seleksi dengan peringkat terbaik. Jadi akan

diurutkan kromosom – kromosom sejumlah N dengan nilai fitness tertinggi sampai pada nilai fitness terendah. Selanjutnya berdasarkan persentase seleksi (Ps), akan diambil sejumlah kromosom yang menduduki peringkat atas sebanyak N x Ps. M isalkan saja jika jumlah kromosom adalah 20 buah dengan persentase seleksi adalah 0.8 maka akan diseleksi sebanyak 20 x 0.8 = 16 kromosom yang menduduki posisi teratas berdasarkan nilai fitnessnya.

Ranked-based fitness selection secara singkatnya dapat dilihat pada Gambar 3.4.

3.4.2.4. Crossover

Setelah proses seleksi selesai, akan masuk pada proses crossover.

Crossover berdasarkan probabilitas atau peluang crossover di mana peluang itu

Mulai Ambil nilai fitness masing – masing kromosom

Urutkan nilai fitness kromosom dari terbesar

Ambil nilai persentase seleksi (Ps)

Seleksi kromosom sejumlah N x Ps

Selesai

Gambar 3.4. Flowchart Rank-based fitness Selection

(13)

menentukan banyaknya kromosom yang mengalami crossover. M isalkan peluang crossover adalah 0.5. Dari proses seleksi di atas diketahui setelah diseleksi jumlah kromosom adalah 16 kromosom, maka banyaknya kromosom yang akan mengalami crossover adalah 0.5 x 16 = 8 kromosom. M aka akan dipilih secara random induk pertama dan induk kedua dengan syarat kedua induk tidak boleh induk yang sama.

Selanjutnya dirandom angka untuk menentukan titik mana dimulainya crossover. Banyak titik crossover telah ditentukan oleh penulis yaitu 1.

Andaikan nilai random yang didapat adalah 0.3. Titik dimulainya crossover adalah angka random dikalikan dengan panjang kromosom N. Setiap kromosom yang berisi gen dan setiap gen akan direpresentasikan dengan angka biner sepanjang 6 bit. M isalkan untuk sarapan terdiri dari 2 gen, maka panjang kromosom adalah 2 x 6 bit = 12 bit. Titik dimulainya crossover adalah 0.3 x 12

= 4.8 dan dibulatkan menjadi 5. Oleh karena itu diperoleh titik dimulainya crossover adalah pada bit ke-6. Jumlah kromosom hasil crossover adalah dua

kali jumlah kromosom yang di-crossover.

Jika nilai random yang didapatkan melebihi peluang crossover, maka tidak akan terjadi crossover dan nilai induk akan diturunkan pada anaknya (offspring).

Proses crossover dapat dilihat pada Gambar 3.5.

(14)

Mulai Random angka 0 – 1 sebagai peluang crossover (Pc)

Hitung banyak kromosom yang dicrossover (Pc x Nseleksi)

Random induk pertama dan induk

Apakah induk pertama sama dengan induk kedua?

No

Yes

Random angka 0 – 1 kemudian tampung nilai pada variabel r

Lakukan crossover

Induk dan Offspring

Selesai

Gambar 3.5. Flowchart Crossover

Apakah r < Pc ? Yes

No Offspring = induk

(15)

3.4.2.5. Mutasi

Setelah selesai proses crossover akan masuk ke dalam proses mutasi yaitu mengganti nilai gen dari 0 ke 1 atau sebaliknya. Yang diperlukan dalam melakukan mutasi adalah peluang mutasi (Pm). M isalkan peluang mutasi (Pm) adalah 0.25. Banyak gen yang akan mengalami mutasi adalah Pm x jumlah kromosom x jumlah gen. Jika jumlah kromosom 16 buah dan jumlah gen adalah 12 (untuk menu sarapan), maka banyak gen yang mengalami mutasi adalah 0.25 x 16 x 12 = 48. Banyak gen total adalah 16 x 12 = 192. Jadi akan dibangkitkan angka random dari 1 – 192 sebanyak banyak gen yang akan mengalami mutasi yaitu 48. Setelah didapatkan angka random n, maka gen yang mengalami mutasi adalah gen ke – n hasil random itu.

Setelah itu akan didapatkan populasi baru sejumlah 16 x 2 yaitu 32 kromosom di mana kromosom itu akan dianggap sebagai generasi baru.

Generasi baru itu akan dilakukan lagi proses perhitungan fitness sampai pada mutasi kembali sehingga menghasilkan generasi baru lagi.

Proses iterasi akan terus berulang sampai generasi maksimum atau pada saat beberapa generasi menghasilkan nilai fitness yang sama berturut2, iterasi akan berhenti

Flowchart mutasi akan ditunjukkan pada Gambar 3.6.

(16)

3.4.3. Perancangan Layar

Rancangan layar menu – menu yang ada pada program aplikasi ini dapat dilihat pada Gambar 3.7.

Mulai Random angka 0 – 1 sebagai peluang mutasi (Pm)

Ambil nilai jumlah kromosom (N) dan jumlah gen (Ng)

Hitung banyak gen yang mengalami mutasi (Nm) = Pm * N * Ng

Random angka (p) dari 1 – (N*Ng) sebanyak Nm

Mutasi gen ke-p

Selesai

Gambar 3.6. Flowchart Mutasi

Aplikasi Penentuan Gizi pada Penderita Diabetes dengan Algoritma G enetika

Gambar 3.7 Rancangan Layar Menu Halaman Utama

Mulai Aplikasi Info Menu

(17)

Ada dua submenu utama yang dapat dipilih oleh user dengan mengklik pada tulisan ‘M enu’. Submenu ‘M ulai Aplikasi’ digunakan untuk menjalankan proses algoritma genetika berdasarkan inputan yang telah diisi oleh user.

Sedangkan submenu ‘Info’ digunakan untuk menampilkan informasi tentang perancang aplikasi. Gambar 3.8 adalah rancangan layar untuk submenu ’M ulai Aplikasi’.

M enu ‘Mulai Aplikasi’ dilengkapi dengan dua informasi utama untuk proses yaitu informasi pasien dan kebutuhan pasien. Pada informasi pasien, semua field akan diisi oleh user dan tidak boleh ada yang kosong. Untuk jenis kelamin

Aplikasi Penentuan Gizi pada Penderita Diabetes dengan Algoritma G enetika Menu

Nama

Informasi Pasien

Usia

Jenis Kelamin Tinggi B adan B erat Badan Aktivitas G ula Darah

La ki - la ki Wanita

Kebutuhan Pasien

Kalori Protein

Karbohidrat Lema k

Kembali Hapus

Semua

Proses

Gambar 3.8 Rancangan Layar Submenu Mulai Aplikasi

(18)

fieldnya berupa radio button dengan grupnya berisi laki-laki dan wanita. Untuk aktivitas bertipe combo list.

Untuk informasi kebutuhan pasien akan dihitung otomatis oleh sistem apabila semua inputan yang perlu diisi user valid. Apabila tidak valid, sistem akan mengulang dari awal seperti saat menu ‘M ulai Aplikasi’ dipilih. Jika inputan yang diberikan user valid maka sistem akan menampilkan nilai kebutuhan kalori, protein, lemak dan karbohidrat dalam angka.

Pada bagian bawah terdapat tiga buah button yaitu ‘Kembali’, ‘Hapus Semua’, dan ‘Proses’. Button ‘Kembali’ apabila diklik maka akan mengembalikan sistem seperti awal program aplikasi dimulai. Button ‘Hapus Semua’ apabila diklik maka sistem akan menghapus semua data yang telah diisi oleh user dan juga semua data yang telah dihitung dan dibaca sistem. Untuk button ‘Proses’ jika diklik maka sistem akan menjalankan proses algoritma

genetika dan kemudian akan ditampilkan menu optimasi hasil proses. Untuk rancangan layar submenu ’Info’ akan ditunjukkan pada Gambar 3.9.

Aplikasi Penentuan Gizi pada Penderita Diabetes dengan AlgoritmaG enetika Menu

PERANCANGAN PROGRAM APLIKASI PENENTUAN KEBUTUHAN GIZI PADA PENDERITA DIABETES DENGAN MENGGUNAKAN

ALGORITMA GENETIKA

Dibuat Oleh :

Dibimbing Oleh :

Gambar 3.9 Rancangan Layar Submenu Info

(19)

Pada menu ‘Info’ akan ditampilkan nama perancang aplikasi dan informasi lain yang berkaitan dengan perancang aplikasi.

Referensi

Dokumen terkait

1) Strategi pengembangan ekowisata berbasis konservasi telaga meliputi mengeksplorasi potensi alam, potensi seni-budaya dan potensi sosial-ekonomi, mendesain program

Garis-Garis Besar Haluan Organisasi Ikatan Senat Mahasiswa Farmasi Seluruh Indonesia (ISMAFARSI) adalah pedoman dalam melaksanakan kegiatan-kegiatannya yang dirumuskan

(Gunakan cylinder yang mempunyai fasilitas evakuasi dan teruji dalam keadaan vakum). Sebelum digunakan, kevakuman dapat di tes dengan suatu vacuum gage. Catatan: Sebagai

juga mencakup seleksi atas tenaga konsultan baik konsultan perorangan (individual consultant) maupun perusahaan konsultan (firm consultant) sesuai dengan prosedur

Hal ini menunjukkan adanya pengaruh penerapan atraumatic care terhadap respon kecemasan anak, dan menunjukkan ada perbedaan penerapan atraumatic care terhadap

Seperti yang sudah sedikit dibahas di bagian sebelumnya FEALAC memiliki koordinator daerah, gunanya adalah untuk mengkordinasikan kerjasama FEALAC dan lebih mengefisienkan

Mansas, mëgindamas apibrëþti kriminalistikos dalykà, teigë, kad „kriminalistikos paþinimo dalykas, visø pirma, yra nusikaltimo padarymo bûdas, profesionalios ypatybës ir