Jurnal Teknik Informatika, Vol 1 September 2012
Aplikasi Agenda Latihan di Pusat Kebugaran dengan Pendekatan Algoritma Brute Force Berbasis Android Hablul Rija1, Mardhiah Fadhli, S.T.2 & Warnia Nengsih Sikumbang, S.Kom., M.Kom.3 Program Studi Teknik Informatika Jurusan Komputer Politeknik Caltex Riau Jl. Umbansari No. 1 Rumbai Pekanbaru 28265 1
[email protected],
[email protected], 3
[email protected]
Abstrak Olahraga sangat penting dalam kehidupan sehari-hari untuk menjaga kesehatan agar tetap dapat beraktifitas, latihan di pusat kebugaran adalah salah satunya. Dengan kegiatan yang padat, manusia ingin dipermudah dalam membuat agenda latihan. Hal ini didukung oleh berkembangnya teknologi smartphone yang sedang berkembang dengan pesat. Salah satu sistem operasi yang banyak digunakan pada device smartphone adalah Android yang dapat memudahkan dalam membuat agenda latihan. Dari banyaknya jenis latihan yang terdapat pada pusat kebugaran, agenda latihan yang akan dilakukan oleh pengguna harus sesuai dengan ketersediaan waktu. Sangatlah penting dalam menentukan agenda latihan yang optimal dalam waktu yang tidak banyak. Aplikasi ini memanfaatkan permasalahan Knapsack 0/1 dimana jenis latihan dengan bobot kalori tertentu disesuaikan dengan durasi latihan yang terbatas. Masalah tersebut dapat terselesaikan dengan algoritma brute force yang cukup dikenal dalam permasalahan optimasi. Aplikasi ini menghasilkan agenda latihan berdasarkan durasi latihan yang dimasukkan pengguna. Pada penggunaannya, aplikasi ini membutuhkan waktu yang cukup lama dalam pemrosesan dengan algoritma brute force, semakin banyak data jenis latihan yang digunakan, semakin lama waktu pemrosesan yang dibutuhkann. Kata Kunci : Pusat Kebugaran, Knapsack 0/1, Algoritma brute force. Abstract Sport is a very important thing for our life to keep our health, gym exercise is a kind of sport which we can do. With a tight schedule, human deserved to be simplified at making an exercise agenda. This thing supported by the massive development of smartphone. One of the operating system used by many of smartphone device is Android which can simplify human to make an exercise agenda. From many kind of exercise that we can do in the gym, the exercise agenda had to match the user's time availability. It's important to decide an optimal exercise agenda without much available time. This application takes advantages from Knapsack 0/1 problem where the exercise with certain calorie value adjusted with limited training duration. This problem fixed with the brute force algorithm which known for it's problem solving reliability. This application generate an exercise agenda depends on the user's traning duration. practically, this application takes long time for processing the brute force algorithm, the more exercise data used, the longer processing time required. Keywords: Exercise, Gym, Knapsack 0/1, Brute Force Algorithm. 1
Pendahuluan
Manusia adalah individu yang memiliki rutinitas. Rutinitas ini terwujud dalam berbagai aktivitas sehari-hari, baik untuk memenuhi kebutuhan hidup maupun bersosialisasi serta berinteraksi dengan sesama. Akan tetapi dengan semakin menumpuknya aktivitas seseorang ditambah dengan gaya hidup yang kurang sehat, seringkali manusia melupakan hal tersebut. Segala hal yang kita lakukan sangat berpengaruh terhadap kesehatan tubuh dan penyakit yang dapat diderita. Berbagai ahli kesehatan menyatakan bahwa dengan berolahraga secara teratur
2 Hablul Rija1, Mardhiah Fadhli, S.T.2 & Warnia Nengsih Sikumbang, S.Kom, M.Kom.3
dapat mengurangi resiko gangguan kesehatan pada manusia. Melakukan latihan di pusat kebugaran akan membantu mengurangi resiko-resiko tersebut. Dengan kesibukan yang ada, manusia terkadang ingin dipermudah dengan kecanggihan teknologi dalam memenuhi kebutuhannya yang dalam hal ini menjadwalkan kegiatan latihan di pusat kebugaran. Kemudahan yang ditawarkan bahkan dalam sebuah device yaitu smartphone yang pada beberapa tahun belakangan ini sangat diminati oleh berbagai kalangan. Salah satu sistem operasi pada smartphone adalah Android yang memiliki teknologi handal untuk membantu manusia dalam menjalani kehidupan sehari-hari salah satunya adalah untuk dapat memudahkan dalam membuat agenda latihan. Dari banyaknya jenis latihan yang terdapat pada pusat kebugaran, program latihan yang akan dilakukan oleh pengguna harus sesuai dengan ketersediaan waktu dikarenakan sebagian orang memiliki aktivitas yang padat. Oleh karena itu, sangatlah penting dalam menentukan jadwal dan agenda latihan yang optimal dengan waktu yang seminimal mungkin. Untuk memudahkan hal tersebut, diperlukan sebuah sistem pembuatan agenda latihan yang mampu mengoptimasi efisiensi latihan. Aplikasi ini membuat jadwal latihan yang bisa dilakukan di pusat kebugaran dengan memanfaatkan permasalahan Knapsack 0/1 dimana jenis latihan dengan bobot kalori tertentu akan disesuaikan dengan durasi latihan yang terbatas. Hal ini dikarenakan adanya perbedaan pada durasi efektif untuk masing-masing jenis latihan yang akan dioptimasi dengan jumlah bobot kalori yang optimal pada durasi latihan yang tersedia. Masalah tersebut dapat terselesaikan dengan algoritma brute force yang cukup dikenal dalam optimasi di permasalahan Knapsack 0/1. Diharapkan dengan cara tersebut, seseorang dapat menentukan agenda latihan yang efektif sesuai dengan waktu yang dimiliki. 1.1
Tujuan
Tujuan dari pembuatan proyek akhir ini adalah membangun sebuah aplikasi agenda latihan di pusat kebugaran dengan pendekatan algoritma brute force berbasis android. 1.2
Manfaat
Dengan dibuatnya sistem ini diharapkan dapat membantu pengguna agar bisa menentukan agenda latihan yang efektif sesuai dengan waktu yang dimiliki. 2 2.1
Dasar Teori Penelitian Sebelumnya
Sebelum Aplikasi ini dibuat, telah dilakukan beberapa penelitian mengenai permasalahan knapsack 0/1. Penelitian mengenai permasalahan knapsack 0/1 yang telah dilakukan sebelumnya yaitu oleh Charly Sutanto dari jurusan Teknik Komputer di Politeknik Caltex Riau yang menggunakan algoritma genetika dalam pemecahannya. Adapun perbandingan Penelitian oleh Charly Sutanto dengan penelitian ini digambarkan dalam tabel berikut ini. Tabel 1 Tabel Perbandingan dengan Penelitian Charly Sutanto
Perbandingan
Penelitian Sebelumnya
Penelitian Sekarang
Permasalahan
Knapsack 0/1
Knapsack 0/1
Matode Penyelesaian Bahasa pemrograman yang digunakan Sistem Operasi
Algoritma Genetika Bahasa pemrograman C
Algoritma brute force Bahasa pemrograman java
Windows Desktop
Mobile Android
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
2.2
3
Pusat Kebugaran
Pusat kebugaran adalah salah satu tempat dimana disediakan sarana dan prasarana penunjang untuk melakukan berbagai macam olahraga.Dimana olahraga adalah suatu bentuk aktifitas fisik yang terencana dan terstruktur, yang melibatkan gerakan tubuh berulang-ulang dan ditujukan untuk meningkatkan kebugaran jasmani [4]. Walaupun pusat kebugaran bukan satu-satunya sarana untuk berolahraga, tetapi di Pusat Kebugaran terdapat alat bantu pendukung latihan yang lengkap. Kelengkapan ini dibutuhkan oleh pelaku olahraga agar latihan dapat bervariasi seperti anjuran oleh Departemen Kesehatan supaya tidak monoton. Bugar adalah kemampuan tubuh untuk melakukan kegiatan sehari-hari tanpa menimbulkan kelelahan fisik dan mental yang berlebihan [4]. Sehingga dibutuhkan kegiatan olahraga atau latihan yang teratur agar kebugaran dapat terjaga dan aktifitas sehari-hari dapat terlaksana dengan baik 2.2.1 Latihan Latihan di pusat kebugaran adalah aktifitas olahraga yang melibatkan berbagai gerakan, antara lain cardio vaskular exercise dan latihan beban. Untuk mendapatkan tubuh yang ideal dan sehat, salah satu sarana terbaik adalah melakukan olahraga yang memang tersedia sarana dan prasarananya dalam program pembentukan tubuh, salah satu sarana terbaik agar mendapatkan tubuh ideal adalah pergi ke pusat kebugaran, Walaupun pusat kebugaran bukan satu-satunya sarana untuk membentuk badan ideal, tetapi di pusat kebugaran dapat dilakukan gerakan-gerakan dengan dibantu oleh alat yang lebih lengkap. 2.3
Knapsack 0/1
Knapsack adalah tas atau karung yang digunakan untuk memasukkan sesuatu. Tapi tidak semua barang bisa ditampung kedalam karung tersebut. Karung tersebut hanya dapat menyimpan beberapa objek dengan total ukurannya (weight) lebih kecil atau sama dengan ukuran kapasitas karung. Untuk permasalahan Knapsack 0/1 yaitu barang yang dimasukkan kedalam karung dimensinya dimasukkan seluruhnya atau tidak dimasukkan sama sekali. Dimisalkan diberikan n buah benda, sampai , dan sebuah knapsack (karung, tas, dan sebagainya) dengan kapasitas bobot K. Setiap benda memiliki bobot dan keuntungan . Objektif persoalan adalah bagaimana memilih benda-benda yang dimasukkan ke dalam knapsack sehingga tidak melebihi kapasitas knapsack, namun tetap memaksimumkan total keuntungan. Permasalahan knapsack 0/1 mempunyai solusi persoalan dinyatakan sebagai himpunan : X = { , , ,..., } Dimana setiap elemen x ke-n ( ) diisi dengan angka 0 atau 1. Misalkan = 1, berarti benda dimasukkan ke dalam knapsack, dan jika = 0, maka benda tidak dimasukkan ke dalam knapsack. Jika solusi yang ditemukan adalah X = {1,0,1}, maka benda ke-1 dan ke-3 dimasukkan ke dalam knapsack, dan benda ke-2 tidak dimasukkan. [12] 2.4
Algoritma Brute Force
Algoritma brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya langsung pada pernyataan masalah (problem statement), dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung, dan cara yang jelas (obvious way). [7] Prinsip pencarian solusi permasalahan Knapsack 0/1 menggunakan algoritma brute force adalah :
4 Hablul Rija1, Mardhiah Fadhli, S.T.2 & Warnia Nengsih Sikumbang, S.Kom, M.Kom.3
1. Mengenumerasikan list semua himpunan bagian dari himpunan dengan n objek. 2. Menghitung total keuntungan dari setiap himpunan bagian dari langkah 1. 3. Memilih himpunan bagian yang menerbitkan total keuntungan terbesar. 2.4.1 Kelebihan Algoritma Brute Force Kelebihan dari algoritma brute force adalah : 1. Metode brute force dapat digunakan untuk memecahkan hampir sebagian besar masalah (wide applicability). 2. Metode brute force sederhana dan mudah dimengerti. 3. Metode brute force menghasilkan algoritma yang layak untuk beberapa masalah penting seperti pencarian, pengurutan, pencocokan string, atau perkalian matriks. 4. Metode brute force menghasilkan algoritma baku (standard) untuk tugas-tugas komputasi seperti penjumlahan/perkalian n buah bilangan, menentkan elemen minimum atau maksimum di dalam tabel (list). 2.4.2 Kelemahan Algoritma Brute Force Kelemahan dari algoritma brute force adalah : 1. Metode brute force jarang menghasilkan algoritma yang mangkus (manjur). 2. Beberapa algoritma brute force lambat, sehingga tidak dapat diterima. 3. Tidak sekonstruktif/sekreatif teknik pemecahan masalah lainnya. 2.5
Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Android dipuji sebagai "Platform mobile pertama yang Lengkap, Terbuka, dan Bebas". 1. Lengkap (Complete Form): Para desainer dapat melakukan pendekatan yang komprehensif ketika mereka sedang mengembangkan platform Android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun software dan memungkinkan untuk peluang pengembangan aplikasi. 2. Terbuka (Open Source Platform): Platform Android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk mengembangkan aplikasi. Android sendiri menggunakan Linux Kernel 2.6. 3. Bebas (Free Platform): Android adalah platform/aplikasi yang bebas untuk develope. Tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform Android. Tidak ada biaya keanggotaan diperlukan. TIdak diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan. Android dapat didistribusikan dan diperdagangkan dalam bentuk apapun. Android merupakan generasi baru platform mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai dengan yang diharapkannya. Pengembang memiliki beberapa pilihan ketika membuat aplikasi yang berbasis android. Kebanyakan pengembang menggunakan Eclipse yang tersedia secara bebas untuk merancang dan mengembangkan aplikasi Android. Eclipse adalah IDE yang paling populer untuk pengembangan Android, karena memiliki Android plug-in yang tersedia untuk memfasilitasi pengembangan Android. Selain itu Eclipse juga mendapat dukungan langsung dari Google untuk menjadi IDE pengembangan aplikasi Android, ini terbukti dengan adanya penambahan plugins pada eclipse untuk membuat project android dimana source software langsung dari situs resminya Google. Tetapi hal diatas tidak menutup kemungkinan untuk menggunakan IDE yang lain seperti Netbeans untuk melakukan pengembangan android. [8]
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
2.6
5
Skala Likert
Skala Likert disebut juga summated rating scale. Skala ini banyak digunakan karena memberi peluang kepada responden untuk mengeskspresikan perasaan mereka dalam bentuk persetujuan terhadap suatu pernyataan. Pernyataan yang diberikan berjenjang, mulai dari tingkat terendah sampai tertinggi. Jumlah pilihan jawabannya bisa tiga, lima, tujuh, sembilan, yang jelas harus ganjil. Untuk metode analisis yang akan digunakan dalam penelitian ini adalah Penskalaan Respon. Metode ini digunakan untuk mengkaji seberapa besar kepuasan user terhadap sistem yang mampu memvisualisasikan sebaran alumni PCR.. Penskalaan respon mempunyai rumus sebagai berikut : Nilai rata-rata (mean) = ∑ fi.xi ∑ fm Keterangan : fi = jumlah responden xi = bobot nilai fm = jumlah total responden dikali dengan nilai maksimum bobot nilai 3
Perancangan Aplikasi
Perancangan sistem terdiri dari use case diagram, class diagram, sequence diagram, flowchart sistem, dan rancangan algoritma. 3.1
Use Case Diagram
Pada perancangan Use Case Diagram, sistem memiliki 1 aktor yaitu User. User ini dapat melakukan Generate jadwal latihan lalu mencetak jadwal latihan dan melihat Petunjuk Penggunaan.
Gambar 1 Use Case Diagram
3.2
Class Diagram
Berikut ini adalah Class Diagram yang dirancang untuk membuat aplikasi agenda latihan di pusat kebugaran dengan pendekatan algoritma brute force.
Gambar 2 Class Diagram
6 Hablul Rija1, Mardhiah Fadhli, S.T.2 & Warnia Nengsih Sikumbang, S.Kom, M.Kom.3
3.3
Sequence Diagram
Sequence Diagram ini menggambarkan proses kegiatan user dengan aplikasi. 1. Sequence Diagram Proses Agenda Latihan
Gambar 3 Sequence Diagram Proses Agenda Latihan
2. Sequence Diagram Petunjuk Penggunaan
Gambar 4 Sequence Diagram Petunjuk Penggunaan
3.4
1.
Flowchart
Flowchart sistem
Flowchart merupakan suatu skema yang menggambarkan urutan kegiatan dari awal sampai dengan akhir. Pada saat akan dilakukan Generate Agenda Latihan, pengguna memasukkan Input Waktu Latihan. Kemudian Jadwal Latihan akan diproses hingga tertampil pada halaman selanjutnya pada aplikasi. Jadwal Latihan ini dapat dicetak dalam bentuk dokumen pada direktori yang ditentukan oleh pengguna.
Gambar 5 Flowchart Sistem
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
2.
7
Flowchart algoritma Brute Force Berikut ini adalah flowchart algoritma brute force yang digunakan untuk memecahkan permasalahan knapsack 0/1 pada aplikasi ini.
Gambar 6 Flowchart algoritma Brute Force
4
1.
Hasil dan Pembahasan Hasil pembuatan Agenda Latihan
Berikut ini adalah hasil agenda latihan yang telah debuat dengan input durasi latihan. Agenda latihan yang telah dihasilkan dapat disimpan dalam file dokumen (.txt).
Gambar 7 Halaman Hasil
5
Pengujian dan Analisa
Pada penelitian ini, pengujian dilakukan dengan membandingkan banyaknya data dengan waktu yang dibutuhkan untuk melakukan pemrosesan dan hasil kuesioner yang dilakukan kepada trainer dan user di pusat kebugaran.
8 Hablul Rija1, Mardhiah Fadhli, S.T.2 & Warnia Nengsih Sikumbang, S.Kom, M.Kom.3
5.1
Pengujian Pemrosesan
Berikut adalah beberapa hasil pengujian berdasarkan jumlah data jenis latihan dari 3 device yang berbeda. Device yang digunakan pada pengujian ini adalah Sony Ericsson Xperia Mini Pro Sk17i, Samsung Nexus S, dan LG Optimus L7 P705. Perbedaan yang terdapat pada ketiga device tersebut adalah pada Prosessor, Chipset, dan Sistem Operasi Android yang digunakan. Berikut ini adalah hasil dari pengujian yang telah dilakukan. Tabel 2 Tabel Hasil Pengujian
No 1 2 3 4 5 6 7 8 9
Jumlah Data 10 11 12 13 14 15 16 17 18
Sony Ericsson Xperia Mini Pro Sk17i 1.413 3.308 7.773 16.933 42.903 101.535 271.766
Samsung Nexus S 1.097 2.780 6.587 15.476 36.505 95.577 231.428 620.128
LG Optimus L7 P705 1.512 3.553 7.264 17.326 42.312 99.472 226.744 499.672 1423.226
Dari tabel data hasil pengujian dengan jumlah data jenis latihan dan device yang berbeda diatas, diperoleh grafik sebagai berikut:
Gambar 8 Grafik Pengujian Pemrosesan
Dalam grafik tersebut, keterangan horizontal adalah jumlah data jenis latihan yang diujikan, sedangkan keterangan vertikal adalah waktu pemrosesan dalam satuan detik. Garis biru menunjukkan waktu pemrosesan pada aplikasi dalam satuan detik seperti yang telah diujikan. Dari Grafik ini didapatkan garis waktu pemrosesan yang tidak linear.
Jurnal . ………….. Vol. XX …, No. X, Bulan 20XX, XX-XX
5.2
9
Pengujian Kuisioner kepada 3 jenis user.
1.
Pengujian Kuisioner Trainer Tabel 3 Rekapitulasi jumlah responden kuisioner pada trainer. Responden No
1
2
3
4
5
2.
Pertanyaan
Sangat Baik
Baik
Cukup Baik
Buruk
Sangat Buruk
1
1
1
0
0
2
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
2
0
0
Apakah aplikasi ini sudah dapat membantu pengguna dalam menentukan agenda latihan? Apakah aplikasi ini mudah digunakan? Apakah aplikasi ini dapat membantu pengguna dalam melakukan latihan? Apakah aplikasi ini memberikan informasi yang jelas mengenai latihan yang dapat dilakukan? Apakah tampilan dari aplikasi ini sudah baik?
Pengujian Kuisioner user Prodi. Tabel 4 Rekapitulasi jumlah responden kuisioner pada user. Responden No
Pertanyaan
Sangat Baik
Baik
Cukup Baik
Buruk
Sangat Buruk
1
Apakah aplikasi ini sudah dapat membantu pengguna dalam menentukan agenda latihan?
8
12
0
0
0
2
Apakah aplikasi ini mudah digunakan?
6
12
2
0
0
6
13
1
0
0
3
11
6
0
0
5
8
6
2
0
3
4
5
Apakah aplikasi ini dapat membantu pengguna dalam melakukan latihan? Apakah aplikasi ini memberikan informasi yang jelas mengenai latihan yang dapat dilakukan? Apakah tampilan dari aplikasi ini sudah baik?
10 Hablul Rija1, Mardhiah Fadhli, S.T.2 & Warnia Nengsih Sikumbang, S.Kom, M.Kom.3
5.3
Analisa
Dari hasil pengujian perbandingan pemrosesan yang telah dilakukan, diperoleh analisa bahwa semakin banyak data yang diproses akan menambah waktu pemrosesan yang dibutuhkan dikarenakan algoritma Brute Force memakai sistem himpunan bagian dimana sistem ini membutuhkan proses yang cukup lama untuk menghasilkan seluruh himpunan bagian untuk data yang ada. Berdasarkan pengujian hasil dari kuisioner, didapatkan hasil bahwa : 1. Responden Trainer diberikan kemudahan dalam penggunaan aplikasi dengan nilai kepuasan 93,33%, dan memberikan informasi yang jelas mengenai latihan yang dapat dilakukan dengan nilai kepuasan 80,00%. 2. Responden User terbantu dalam menentukan agenda latihan dengan nilai kepuasan 88,00%, dan membantu pengguna dalam melakukan latihan dengan nilai kepuasan 85,00%. 6
Kesimpulan
Dalam pembuatan proyek akhir aplikasi agenda latihan di pusat kebugaran dengan pendekatan algoritma Brute Force ini didapat kesimpulan sebagai berikut: 1. Waktu Pemrosesan yang dibutuhkan berbanding lurus dengan banyaknya data jenis latihan yang diproses di dalam aplikasi dengan algoritma brute force. 2. Berdasarkan analisa dari kuesioner, responden Trainer diberikan kemudahan dalam penggunaan aplikasi dengan nilai kepuasan 93,33%, dan memberikan informasi yang jelas mengenai latihan yang dapat dilakukan dengan nilai kepuasan 80,00%. 3. Berdasarkan analisa dari kuesioner, responden User terbantu dalam menentukan agenda latihan dengan nilai kepuasan 88,00%, dan membantu pengguna dalam melakukan latihan dengan nilai kepuasan 85,00%. 7
Daftar Pustaka
[1]
Aruan, Roy Sahala. (2010). KNAPSACK. Diambil 10 Januari 2012 dari http://www.scribd.com/doc/44539777/KNAPSACK Baharsyah, Muhamad Pramana dkk. (t.t). Eksplorasi Algoritma Brute Force, Greedy, dan Dynamic Programming untuk Persoalan Integer Knapsack. Cook, Steve. (2003). How Many Calories Are You Burning?. Diambil 25 Januari 2012 dari http://www.bodybuilding.com/fun/calories.htm Departemen Kesehatan. (2002). Panduan Kesehatan Olahraga bagi Petugas Kesehatan. Handianto. (2010). Penyelesaian Fractional Knapsack Problem dengan Algoritma Greedy. Martello, Silvano. & Toth, Paolo. (1990). Knapsack Problems - Algorithms and Computer Implementations. West Sussex, England : John Wiley & Sons Ltd. Munir, Rinaldi. (2004). Diktat Kuliah IF2251 Strategi Algoritmik. Bandung : ITB Safaat H, Nazruddin. (2011).Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika Bandung Schlosberg, Suzzane dkk. (2004). Fitness for Dummies. Indiana, Canada : Wiley Publishing,Inc. Simamora, B. (2005). Analisis Multivariat Pemasaran. Jakarta : Gramedia. Sutanto, Charly. (2009). Penyelesaian Knapsack Problem Menggunakan Algoritma Genetika. Wicaksono, Prasetyo Andy. (2007). Eksplorasi Algoritma Brute Force, Greedy, dan Pemrograman Dinamis pada Penyelesaian Masalah 0/1 Knapsack. Wijaya, Choky. (2011). Six Pack - Tips Ampuh Membentuk Tubuh Ideal. Yogyakarta: Second Hope
[2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]