BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
Pemecahan Masalah Knapsack dengan Menggunakan Algoritma Branch and Bound

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Algoritma Branch & Bound

Penerapan BFS dan DFS pada Pencarian Solusi

Algoritma Branch and Bound dalam Kegunaannya Memecahkan Assignment Problem

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

Penerapan BFS dan DFS pada Pencarian Solusi

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Algoritma Branch and Bound. (Bagian 1)

BAB 2 LANDASAN TEORI

Pemodelan AI dalam Permainan Snake dengan Algoritma Branch and Bound

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

dengan Algoritma Branch and Bound

MAKALAH ALGORITMA, PSEUDOCODE DAN FLOWCHART TENTANG YUFI EKO FIRMANSYAH 1 D3 IT B OLEH

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

salah satunya disebabkan oleh pengetahuan yang kurang tepat tentang pola makan yang menyebabkan terjadinya penumpukan asam urat.

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

Kecerdasan Buatan. Penyelesaian Masalah dengan Pencarian... Pertemuan 02. Husni

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

BAB I PENDAHULUAN. Penyakit asam urat atau biasa dikenal sebagai gout arthritis merupakan

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

ALGORITMA PENCARIAN (1)

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan konsep algoritma dan struktur data

Aplikasi Algoritma B&B untuk Memperoleh Poin Maksimum pada Permainan Diner Dash

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

BAB 2 LANDASAN TEORI

Tujuan Instruksional

METODE PENCARIAN BFS dan DFS

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

BAB II TINJAUAN PUSTAKA

Update 2012 DESAIN DAN ANALISIS ALGORITMA SEARCHING

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

BAB 2 LANDASAN TEORI

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

Penggunaan Algoritma Branch and Bound dan Program Dinamis Dalam Pemecahan Masalah Rubik s Cube

METODE PENCARIAN DAN PELACAKAN

Hal penting dalam menentukan keberhasilan sistem cerdas adalah kesuksesan dalam pencarian.

dalam tubuh dapat mempengaruhi kadar asam urat dalam darah. Makanan yang mengandung zat purin yang tinggi akan diubah menjadi asam urat. b. Seseorang

Penerapan Algoritma Branch And Bound Dalam Optimasi Assigment Problem

BAB I PENDAHULUAN. 1.1 Latar Belakang

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

Algoritma dan Struktur Data

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

Zat yang secara normal dihasilkan tubuh yang merupakan sisa pembakaran protein atau penghancuran sel-sel tubuh yang sudah tua.

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Penerapan Algoritma Backtracking pada Game The Lonely Knight

Menentukan Starting Lineup Futsal Terbaik dengan Algoritma Branch and Bound

memberikan output berupa solusi kumpulan pengetahuan yang ada.

2 Penyakit asam urat diperkirakan terjadi pada 840 orang dari setiap orang. Prevalensi penyakit asam urat di Indonesia terjadi pada usia di ba

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

BAB I PENDAHULUAN. kesehatan adalah meningkatnya usia harapan hidup (UHH) yang. berdampak terhadap meningkatnya populasi Lanjut Usia (Lansia).

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

BAB I PENDAHULUAN. terjadi penyakit degeneratif yang meliputi atritis gout, Hipertensi, gangguan

APLIKASI ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN INTEGER PROGRAMMING. Enty Nur Hayati Dosen Fakultas Teknik Universitas Stikubank Semarang

Algoritma Runut-balik (Backtracking) Bagian 1

Pendahuluan. program

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

BAB 2 TINJAUAN PUSTAKA

Kecerdasan Buatan. Pertemuan 03. Pencarian Branch & Bound dan Heuristik (Informed)

IMPLEMENTASI ALGORITMA BRANCH AND BOUND PADA PENENTUAN MENU MAKANAN PENDERITA ASAM URAT SKRIPSI HEDI HERMAWAN HARAHAP

BAB I PENDAHULUAN. 1.1 Latar Belakang. Bertambahnya umur, fungsi fisiologis mengalami. penurunan akibat proses degeneratif (penuaan) sehingga

UPT Balai Informasi Teknologi LIPI Pangan & Kesehatan Copyright 2009

BAB II TINJAUAN PUSTAKA. 2.1 Teori Pemeliharaan Kesehatan terhadap Penyakit

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

BAB 2 LANDASAN TEORI

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

ALGORITMA PENCARIAN (HEURISTIC)

Aplikasi Algoritma Greedy pada Pemilihan Jenis Olahraga Ringan

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

Pemanfaatan Algoritma Runut-balik dalam Penentuan Golongan Suara pada Dunia Paduan Suara

PENGANTAR KESEHATAN. DR.dr.BM.Wara K,MS Klinik Terapi Fisik FIK UNY. Ilmu Kesehatan pada dasarnya mempelajari cara memelihara dan

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

MANIFESTASI ASAM URAT PADA LANSIA DI PUSKESMAS KOTA WILAYAH SELATAN KOTA KEDIRI

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

Penyelesaian Berbagai Permasalahan Algoritma dengan Kombinasi Algoritma Brute Force dan Greedy

Penerapan Algoritma Backtrack pada Knight s Tour

Pertemuan-07 INFORMATIKA FASILKOM UNIVERSITAS IGM

Bab 2 2. Teknik Pencarian

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Journal of Informatics and Technology, Vol 1, No 1, Tahun 2012, p

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

Pohon (Tree) Universitas Gunadarma Sistem Informasi 2012/2013

Transkripsi:

BAB LANDASAN TEORI.. Algoritma Asal kata algoritma berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya Buku pemugaran dan pengurangan (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata Aljabar (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran sm berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.[0] Terdapat beberapa definisi mengenai kata algoritma, antara lain :. Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. []. Algoritma adalah urutan logis pengambilan suatu keputusan dalam memecahkan suatu permasalahan. [] 3. Algoritma adalah setiap prosedur komputasi yang terdefinisi dengan baik yang mengambil beberapa nilai, atau seperangkat nilai-nilai, sebagai masukan dan menghasilkan beberapa nilai, atau seperangkat nilai-nilai, sebagai output. Sebuah algoritma merupakan langkah komputasi yang mengubah input ke output. Kita juga dapat melihat sebuah algoritma sebagai alat bantu untuk memecahkan masalah. [3]

6.. Algoritma Pencarian Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan (state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Dalam ilmu komputer, sebuah algoritma pencarian dijelaskan secara luas merupakan algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Himpunan semua kemungkinan solusi dari sebuah masalah disebut ruang pencarian. Algortima pencarian brute-force atau pencarian uninformed menggunakan metode yang sederhana dan sangat intuitif pada ruang pencarian, sedangkan algoritma pencarian informed menggunakan heuristik untuk menerapkan pengetahuan tentang struktur dari ruang pencarian untuk berusaha mengurangi banyaknya waktu yang dipakai dalam pencarian [4].3. Pohon Untuk menghindari kemungkinan adanya proses pelacakan suatu node secara berulang, maka digunakan struktur pohon. Sebuah pohon adalah suatu struktur data yang digunakan secara luas yang menyerupai struktur pohon dengan sejumlah simpul yang terhubung. Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit. Dengan setiap kemungkinan solusi dianggap sebagai sebuah simpul dan akar dari pohon, banyak algoritma yang menggunakan ruang solusi berupa pohon ini karena lebih memudahkan dalam penelusuran solusi yang ada berupa simpul-simpul pohon. [4] Sebuah struktur data di mulai dari simpul root. Semua simpul yang berada pada tingkat terendah dari pohon dinamakan daun (leaf node). Sebuah simpul dalam (internal node) adalah semua simpul dari pohon yang memiliki anak dan bukan merupakan daun, yang terdiri dari parent dan child. Bertentangan dengan pohon di dunia nyata, dimana akar biasanya digambarkan di bagian bawah, dan daun yang dibagian atas. Seperti yang ditunjukkan pada gambar..

7 Gambar. Struktur Data dari Pohon. [5].4. Pencarian Buta.4.. Algoritma Depth First Search (DFS) Pencarian dengan metode ini dilakukan dari node awal secara mendalam hingga yang paling akhir (dead-end) atau sampai ditemukan. Dengan kata lain, simpul cabang atau anak yang terlebih dahulu dikunjungi.[5] Sebagai ilustrasinya dapat dilihat pada gambar.. 0 0 0 0 0 0 0 4 4 4 3 3 3 5 3 5 6 (i) (ii) (iii) (iv) (v) (vi) (vii) Gambar. Tahapan pembentukan pohon DFS [7] Algoritma DFS:. Masukkan simpul akar ke dalam antrian Q (Queue). Jika simpul akar = simpul solusi, maka Stop.. Jika Q kosong, tidak ada solusi. Stop. 3. Ambil simpul v dari kepala (head) antrian. Jika kedalaman simpul v sama dengan batas kedalaman maksimum, kembali ke langkah. 4. Bangkitkan semua anak dari simpul v. Jika v tidak mempunyai anak lagi, kembali ke langkah. Tempatkan semua anak dari v di awal antrian Q. Jika

8 anak dari simpul v adalah simpul tujuan, berarti solusi telah ditemukan, kalau tidak, kembali lagi ke langkah. Penerapan DFS dapat dilihat pada contoh dibawah ini. Sebuah bidak (pion) bergerak di dalam sebuah matriks pada gambar.3. Bidak dapat memasuki elemen matriks mana saja pada baris paling atas. Dari elemen matriks yang berisi 0, bidak dapat bergerak ke bawah jika elemen matriks di bawahnya berisi 0; atau berpindah horizontal (kiri atau kanan) jika elemen di bawahnya berisi. Bila bidak berada pada elemen yang berisi, ia tidak dapat bergerak kemanapun. Tujuan permainan ini adalah mencapai elemen matriks yang mengandung 0 pada baris paling bawah. 3 4 0 0 0 0 0 0 3 0 0 0 4 0 0 0 Gambar.3 Matriks bidak Operator yang digunakan: DOWN pindahkan bidak satu posisi ke bawah LEFT pindahkan bidak satu posisi ke kiri RIGHT pindahkan bidak satu posisi ke kanan S0 S (,) S (,) S8 (,3) S8 (,4) S3 (,) S9 (,) S4 (,4) S4 (,) S7 (,3) S0 (,) S5 (,4) S5 (3,) S (,) S3 (,3) S6 (3,4) S6 (3,) S (3,) S7 (4,4) Gambar.4 Pohon ruang status yang terbentuk pencarian DFS [7]

9.4.. Algoritma Breadth-First Search (BFS) Algoritma BFS adalah salah satu teknik pencarian sederhana, dimana pada teknik ini simpul akar dikembangkan terlebih dahulu, kemudian simpul-simpul yang dihasilkan dari simpul akar dikembangkan lagi selanjutnya. Umumnya, semua simpul-simpul pada kedalaman d di pohon pencarian dikembangkan sebelum pada kedalaman d+. Dalam suatu pencarian, dimungkinkan adanya suatu pengulangan pengembangan simpul yang tidak terbatas. Hal ini akan menghabiskan waktu pencarian dengan mengembangkan node yang sudah diperluas sebelumnya. Seperti keadaan pengulangan {(,,3), (), (,3), (,,3), (), (), (3), (,,3), }. Pencarian untuk permasalahan ini adalah tanpa batas. Untuk menghindarinya, dapat dipotong sebagian dari keadaan yang yang diulangi menuju ke suatu ukuran terbatas. Ada tiga metode yang berhubungan dengan keadaan yang diulangi, salah satunya adalah tidak kembali pada keadaan yang baru saja didatangi, fungsi perluasan simpul harus mencegah terjadinya pengembangan simpul dari simpul orang-tua (parent) yang sama [6]. Seperti contoh berikut dimana sebuah mainan yang terdiri atas 3 buah blok (dinomori,, dan 3) pada gambar.5. 3 3 (a) Susunan awal (b) Susunan akhir Gambar.5 Persoalan menyusun mainan yang terdiri atas 3 buah blok [7] Prinsip dari persoalan menyusun mainan ini adalah :. Operator perpindahan : Pindahkan X ke Y, yang berarti memindahkan objek X ke atas objek yang lain.. Pada setiap saat, hanya satu buah blok yang boleh dipindahkan. 3. Operator tidak digunakan untuk membangkitkan status yang sama lebih dari satu kali. Dengan algoritma BFS, pencarian solusi ditunjukkan pada gambar.6.

0 S0: 3 S3: 3 S: S: 3 3 S8: S4: S5: S6: S7: 3 3 3 3 3 S9: 3 S0: 3 Gambar.6 Pohon ruang status yang dibentuk selama pencarian solusi dengan metode BFS [7] Dengan mengikuti lintasan dari simpul akar (S0) ke simpul solusi (S0), kita memperoleh konfigurasi urutan perpindahan blok dari status awal sampai ke status akhir. Dengan metode BFS, jika terdapat sebuah solusi, maka BFS menjamin dapat menemukannya, dan jika terdapat lebih dari satu buah solusi, BFS selalu menemukan solusi pertama pada aras pohon yang paling rendah.[7].4.3. Algoritma Best First Search Merupakan metode yang membangkitkan suksesor dengan mempertimbangkan harga (didapat dari fungsi heuristik tertentu) dari setiap node, bukan dari aturan baku seperti DFS maupun BFS. Gambar 7 mengilustrasikan langkah-langkah yang dilakukan oleh algoritma Best First Search. Pertama kali, dibangkitkan node A. Kemudian semua suksesor A dibangkitan, dan dicari harga paling minimal. Pada langkah, node D terpilih karena harganya paling rendah, yakni. Langkah 3, semua suksesor D dibangkitkan, kemudian harganya akan dibandingkan dengan harga node B dan C. Ternyata harga node B paling kecil dibandingkan harga node C, E, dan F. Sehingga B

terpilih dan selanjutnya akan dibangkitkan semua suksesor B. Demikian seterusnya sampai ditemukan node tujuan. Step Step Step 3 A Step 4 Gambar.7 Langkah-langkah yang dilakukan oleh algoritma Best First Search [6].5. Algoritma Optimasi Algoritma Optimasi (Optimization Algorithms) didefenisikan sebagai suatu cabang ilmu dari matematika terapan dan analisa numerik yang membahas optimasi dengan kriteria yang bersifat tunggal, ganda atau bahkan mungkin konflik. Kriteria diekspresikan sebagai himpunan fungsi matematika F = {f, f,, fn} yang disebut fungsi-fungsi objektif. [7] Algoitma optimasi sedikit berbeda dengan algoritma pencarian (search algorithmn). Pada algoritma pencarian terdapat suatu kriteria tertentu yang menyatakan apakah elemen xi merupakan solusi atau bukan. Sebaliknya pada algoritma optimasi mungkin tidak terdapat kriteria tersebut, melainkan hanya fungsi-fungsi objektif yang menggambarkan bagus tidaknya suatu konfigurasi yang diberikan. Algoritma optimasi

bisa dikatakan sebagai generalisasi dari algoritma pencarian atau dengan kata lain, algoritma pencarian adalah kasus khusus dari algoritma optimasi. Salah satu algoritma optimasi adalah algoritma Branch and Bound..5.. Algoritma Branch and Bound Sebagaimana pada algortima backtracking, algoritma Branch & Bound (B&B) juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang Solusi diorganisasikan ke dalam pohon ruang status. Pembentukan pohon ruang status pada algoritma B&B berbeda dengan pembentukan pohon pada algoritma runutbalik. Bila pada algoritma backtracking ruang solusi dibangun secara Depth-First Search (DFS), maka pada algoritma B&B ruang solusi dibangun dengan skema Breadth-First Search (BFS). Pada algoritma B&B, pencarian ke simpul solusi dapat dipercepat dengan memilih simpul hidup berdasarkan nilai ongkos (cost). Setiap simpul hidup diasosiasikan dengan sebuah ongkos yang menyatakan nilai batas (bound). Simpul hidup yang menjadi simpul-e ialah simpul yang mempunyai nilai batas terkecil (strategi pencarian berdasarkan biaya terkecil (least cost search)). Pada prakteknya, nilai batas untuk setiap simpul umumnya berupa taksiran atau perkiraan. Fungsi heuristik untuk menghitung taksiran nilai tersebut dinyatakan secara umum sebagai : c(i) = f(i) + g(i) yang dalam hal ini, c (i) = ongkos untuk simpul i f (i) = ongkos mencapai simpul i dari akar g (i) = ongkos mencapai simpul tujuan dari simpul akar i (perkiraan) Nilai c digunakan untuk mengurutkan pencarian. Simpul berikutnya yang dipilih untuk diekspansi adalah simpul yang memiliki c minimum (simpul-e). Strategi memilih simpul-e seperti ini dinamakan strategi pencarian berdasarkan biaya terkecil (least cost search). Prinsip dari algoritma Branch and Bound ini adalah :. Masukkan simpul akar ke dalam antrian Q (Queue). Jika simpul akar adalah simpul solusi (goal node), maka solusi telah ditemukan. Stop.

3. Jika Q kosong, tidak ada solusi. Stop. 3. Jika Q tidak kosong, pilih dari antrian Q simpul I yang mempunyai (i) paling kecil. Jika terdapat beberapa simpul i yang memenuhi, pilih satu secara sembarang. 4. Jika simpul i adalah simpul solusi, berarti solusi sudah ditemukan, stop. Jika simpul i bukan simpul solusi, maka bangkitkan semua anak-anaknya. Jika i tidak mempunyai anak, kembali ke langkah. 5. Untuk setiap anak j dari simpul i, hitung (j), dan masukkan semua anak-anak tersebut ke dalam antrian Q. 6. Kembali ke langkah. [4].6. Knapsack problem Knapsack problem adalah suatu masalah bagaimana cara menentukan pemilihan barang dari sekumpulan barang dimana setiap barang tersebut mempunyai berat dan profit masing-masing, sehingga dari pemilihan barang tersebut didapatkan profit yang maksimum. Dalam penelitian ini, barang digantikan dengan makanan yang diterapkan dalam penentuan menu makanan penderita asam urat. Dimana setiap jenis makanan mempunyai tingkat purin, kalori, protein, dan lemak masing-masing. Sehingga dari penentuan makanan tersebut didapatkan asupan gizi yang maksimum. Algoritma Branch and Bound merupakan salah satu strategi yang dapat digunakan dalam pencarian solusi optimum dari permasalahan knapsack ini. Dengan penentuan asupan gizi maksimal pada tiap simpulnya, proses pencarian akan membawa kita pada solusi yang optimum, karena tidak semua objek pada permasalahan ini dapat dimasukan ke dalam knapsack, maka kemungkinan bahwa kita akan sampai pada keadaan dimana tidak ada lagi simpul yang dapat dibangkitkan karena telah melewati batas tingkat purin makanan, sehingga membuat kita harus menentukan solusi optimum dengan membandingkan lintasan-lintasan mana yang berakhir di daun pada pohon yang akan manghasilkan asupan gizi paling besar. Sehingga objek-objek tersebutlah yang akan dipilih untuk dimasukan kedalam knapsack/gerobak. Masalah diatas dapat kita ilustrasikan pada gambar.8.

4 Gambar.8 Ilustrasi permasalahan knapsack pada penyakit asam urat.6.. Knapsack dengan Algoritma Greedy Algoritma Greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi. Salah satu masalah yang sering di selesaikan adalah masalah knapsack. Terdapat beberapa strategi greedy yang heuristik yang dapat digunakan untuk memilih objek yang akan dimasukkan ke dalam knapsack, antara lain :. Greedy by profit. a. Pada setiap langkah, pilih objek yang mempunyai keuntungan terbesar. b. Mencoba memaksimumkan keuntungan dengan memilih objek yang paling menguntungkan terlebih dahulu.. Greedy by weight. a. Pada setiap langkah, pilih objek yang mempunyai berat teringan. b. Mencoba memaksimumkan keuntungan. dengan dengan memasukkan sebanyak mungkin objek ke dalam knapsack.

5 3. Greedy by density. a. Pada setiap langkah, knapsack diisi dengan objek yang mempunyai pi/wi terbesar. b. Mencoba memaksimumkan keuntungan dengan memilih objek yang mempunyai keuntungan per unit berat terbesar. 4. Pemilihan objek berdasarkan salah satu dari ketiga strategi di atas tidak menjamin akan memberikan solusi optimal. [9] Penerapan algoritma Greedy pada persoalan knapsack seperti contoh berikut. Kapasitas knapsack K = 00. Tabel. Algoritma greedy pada knapsack [9] Properti Objek Greedy by Solusi i wi pi pi/wi profit weight density Optimal 00 40 0,4 0 0 0 50 35 0,7 0 0 3 45 8 0,4 0 0 4 0 4 0, 0 0 5 0 0,0 0 0 6 5 0,4 0 Total bobot 00 80 85 00 Total keuntungan 40 34 5 55.6.. Knapsack dengan Algoritma Branch and Bound Penerapan algoritma B&B pada persoalan knapsack seperti contoh berikut. Tabel. Contoh persoalan knapsack Kapasitas maksimum = 0 kg Item Berat (kg) Profit Profit / Berat 4 $40 0 7 $4 6 3 5 $5 5 4 3 $ 4 Metode bounding yang kita gunakan adalah metode upper bounding dimana berfungsi untuk menentukan suatu batas atas pada solusi optimal. Sebab persoalan ini

6 membutuhkan solusi optimal. Berbeda halnya dengan metode lower bounding yang berfungsi untuk menentukan suatu batas bawah dari fungsi objektif. Untuk menghitung batas atas (upper bound), digunakan : dimana : ub = p + (B b)*(pi+/bi+) p = Profit B = Kapasitas Maksimum b = Berat item Penyelesaian : Untuk mencari ub maksimum (keuntungan terbesar) adalah : Ambil 0 item, masukkan density maximum dari item ub = 0 + (0 0)*(0) = $00 Setelah kita mengambil item, kita hitung upper bound dengan : Semua bagian item (4, $40) + sebagian dari item (7, $4) ub = $40 + (0-4)*6 = $76 Jika tidak mengambil item, maka : ub = (0 0) * ($6) = $60 with w = 0, v = 0 ub = 00 without w = 4, v = 40 ub = 76 with without 3 4 w = w = 4, v = 40 ub = 70 tidak feasible with 3 without 3 w = 0, v = 0 ub = 60 lebih rendah dari node 8 w = 9, v = 65 ub = 69 5 6 with 4 without 4 7 8 w = w = 9, v = 65 ub = 65 tidak feasible optimal solution w = 4, v = 40 ub = 64 lebih rendah dari node 8 Gambar.9 Pohon ruang status yang terbentuk penyelesaian knapsack [8]

7.7. Asam Urat.7.. Defenisi Asam Urat Asam urat adalah asam yang berbentuk kristal-kristal yang merupakan hasil akhir dari metabolisme purin (bentuk turunan nukleoprotein), yaitu salah satu komponen asam nukleat yang terdapat pada inti sel-sel tubuh. Secara alamiah, purin terdapat dalam tubuh kita dan dijumpai pada semua makanan dari sel hidup, yakni makanan dari tanaman (sayur, buah, kacang-kacangan) atau pun hewan (daging, jeroan, ikan sarden). Setiap orang memiliki asam urat di dalam tubuh karena pada setiap metabolisme normal dihasilkan asam urat. Asam urat yang terdapat di dalam tubuh kita tentu saja kadarnya tidak boleh berlebihan. Asam urat dapat berlebih disebabkan adanya pemicu, yaitu makanan dan senyawa lain yang banyak mengandung purin. Sesungguhnya tubuh menyediakan 85 persen senyawa purin untuk kebutuhan setiap hari, hal ini berarti bahwa kebutuhan purin dari makanan hanya sekitar 5 persen. Asam urat pun dapat merupakan faktor risiko untuk penyakit jantung koroner. Kristal asam urat akan merusak endotel (lapisan bagian dalam pembuluh darah) koroner Karena itu siapapun yang kadar asam uratnya tinggi harus berupaya untuk menurunkannya agar kerusakan tidak merembet ke organ-organ tubuh yang lain. Dalam kaitan ini juga terdapat fungsi ginjal yang bekerja mengatur kestabilan kadar asam urat dalam tubuh dimana sebagian sisa asam urat dibuang melalui air seni. Apabila asam urat berlebihan dan ginjal tidak mampu lagi mengatur kestabilannya, maka asam urat in akan menumpuk pada jaringan dan sendi, dan pada saat kadar asam urat tinggi maka akan timbul rasa nyeri yang hebat terutama pada daerah persendian. Pada umumnya para pria lebih banyak terserang asam urat, dan kadar asam urat kaum pria cenderung meningkat sejalan dengan peningkatan usia. Sedangkan Pada wanita pada wanita presentasinya lebih kecil, dimana peningkatannya juga cenderung berjalan sejak dimulainya masa menopause. Asam urat cenderung dialami oleh pria, ini karena wanita mempunyai hormon estrogen yang ikut membantu pembuangan asam urat lewat urine. Sementara pada pria, asam uratnya cenderung lebih tinggi daripada wanita karena tidak memiliki hormon estrogen tersebut.

8 Jadi selama seorang wanita mempunyai hormon estrogen, maka pembuangan asam uratnya ikut terkontrol. Ketika sudah tidak mempunyai estrogen, seperti saat menopause, barulah wanita tersebut dapat terkena asam urat. Kalau peningkatan asam urat ini melewati ambang batas yang bisa ditolerir, maka persoalan akan timbul pertama adalah pada ginjal, sendi, dan saluran kemih. Kadar asam urat normal pada pria dan wanita berbeda. Kadar asam urat normal pada pria berkisar 3,5 7 mg/dl dan pada wanita,6 6 mg/dl. Kadar asam urat diatas normal disebut hiperurisemia.[8].7.. Gejala / Penyebab Asam Urat Sekitar 90% penyakit asam urat disebabkan oleh ketidakmampuan ginjal membuang asam urat secara tuntas dari tubuh melalui air seni. Sebagian kecil lainnya karena tubuh memproduksi asam urat secara berlebihan. Penyakit asam urat kebanyakan diderita oleh pria di atas 40 tahun dan wanita yang telah menopause. Penderita asam urat biasanya juga memiliki keluhan lain seperti tekanan darah tinggi, penyakit ginjal, diabetes dan aterosklerosis. Separuh dari penderita asam urat adalah orang yang kegemukan. Apabila dibiarkan, maka penyakit asam urat bisa berkembang menjadi batu ginjal dan mengakibatkan gagal ginjal. Gejala khas dari asam urat atau artritis gout adalah serangan akut biasanya bersifat monoartikular (menyerang satu sendi saja), disertai dengan gejala pembengkakan, kemerahan, nyeri hebat, panas dan gangguan gerak dari sendi yang terserang yang terjadi mendadak (akut) yang mencapai puncaknya kurang dari 4 jam. Lokasi yang paling sering terkena pada serangan pertama adalah sendi pangkal ibu jari kaki. Hampir pada semua kasus, lokasi artritis terutama pada sendi perifer dan jarang pada sendi sentral. Serangan yang terjadi mendadak maksudnya tiba-tiba. Bisa saja pada siang hari sampai menjelang tidur kita tidak mengalami keluhan sama sekali, akan tetapi pada tengah malam, penderita mendadak terbangun karena rasa sakit yang amat sangat. Jika serangan ini datang, penderita akan merasakan sangat kesakitan walau tubuhnya hanya terkena selimut atau bahkan hembusan angin.[8]

9.7.3. Tahapan Asam Urat Tahap pertama disebut tahap gout artritis akut Pada tahap ini penderita akan mengalami serangan artritis yang khas dan serangan tersebut akan menghilang tanpa pengobatan dalam waktu 5 7 hari. Karena cepat menghilang, maka sering penderita menduga kakinya keseleo atau kena infeksi sehingga tidak menduga terkena penyakit gout dan tidak melakukan pemeriksaan lanjutan. Tahap kedua disebut sebagai tahap artritis gout intermiten akut. Setelah melewati masa gout interkritikal selama bertahun-tahun tanpa gejala, penderita akan memasuki tahap ini, ditandai dengan serangan artritis yang khas. Selanjutnya penderita akan sering mendapat serangan (kambuh) yang jarak antara serangan yang satu dan serangan berikutnya makin lama makin rapat dan lama, serangan makin lama makin panjang, serta jumlah sendi yang terserang makin banyak. Tahap ketiga disebut sebagai tahap gout artritis kronik bertofus. Tahap ini terjadi bila penderita telah menderita sakit selama 0 tahun atau lebih. Pada tahap ini akan terjadi benjolan-benjolan di sekitar sendi yang sering meradang yang disebut sebagai tofus. Tofus ini berupa benjolan keras yang berisi serbuk seperti kapur yang merupakan deposit dari kristal monosodium urat. Tofus ini akan mengakibatkan kerusakan pada sendi dan tulang di sekitarnya. Tofus pada kaki bila ukurannya besar dan banyak akan mengakibatkan penderita tidak dapat menggunakan sepatu lagi..7.4. Penggolongan Asam Urat Penyakit asam urat digolongkan menjadi penyakit gout primer dan penyakit gout sekunder : Penyakit gout primer Hampir 99 persen penyebabnya belum diketahui (idiopatik). Diduga berkaitan dengan kombinasi faktor genetic dan faktor hormonal yang menyebabkan gangguan metabolisme yang dapat mengakibatkan meningkatnya produksi asam urat atau bisa juga diakibatkan karena berkurangnya pengeluaran asam urat dari tubuh.

0 Penyakit gout sekunder Penyakit ini disebabkan antara lain karena meningkatnya produksi asam urat karena nutrisi, yaitu mengonsumsi makanan dengan kadar purin yang tinggi. Pada keadaan normal, kandungan asam urat dalam tubuh adalah : a. Pria : 3,7 7 mg/dl b. Wanita :,4 5,7 mg/dl Penderita asam urat di golongkan berdasarkan kandungan asam urat yaitu :. Golongan I a. Pria : 7 8,5 mg/dl b. Wanita : 5,8 7 mg/dl. Golongan II a. Pria : 8,5 9 mg/dl b. Wanita : 7 8 mg/dl 3. Golongan III a. Pria : > 9 mg/dl b. Wanita : > 8 mg/dl [9]