• Tidak ada hasil yang ditemukan

Implementasi Algoritma Genetika pada Penjadwalan Job Shop

N/A
N/A
Protected

Academic year: 2018

Membagikan "Implementasi Algoritma Genetika pada Penjadwalan Job Shop"

Copied!
11
0
0

Teks penuh

(1)

Implementasi Algoritma Genetika pada Penjadwalan

Job Shop

Fithri Selva Jumeilah

Sistem informasi, STMIK GI MDP, Palembang e-mail: fithri.selva@mdp.ac.id

Abstrak

Di perindustrian untuk membuat suatu produk dibagi menjadi beberapa proses dan setiap proses membutuhkan mesin yang berbeda-beda untuk memproses selama waktu yang dibutuhkan. Jika tidak dijadwalkan dengan baik, maka akan membutuhkan waktu yang lama untuk memproduksi produk. Penjadwalan adalah proses menentukan sumber daya yang akan memproses pekerjaan dengan urutan tertentu selama waktu tertentu. Semakin banyak pekerjaan dan mesin maka semakin sulit menjadwalkannya. Penjadwalan yang baik adalah yang memiliki waktu penyelesaian semua pekerjaan atau sering disebut dengan (makespan) dan waktu tunggu mesin paling kecil. Untuk memperoleh jadwal yang terbaik dengan cepat maka dibutuhkan sebuah aplikasi penjadwalan yang mengimplementasikan algoritma genetika. Penelitian ini menggunakan metododologi pengembangan perangkat lunak Rational Unified Process. Dari hasil penelitian ini diperoleh bahwa jadwal yang dihasilkan oleh algoritma genetika mendekati penjadwalan yang terbaik. Hal ini dibuktikan oleh hasil pengujian yang menghasilkan persentase keakuratan 94.3%.

Kata kunci— Algoritma Genetika, Penjadwalan, Penjadwalan Job shop.

Abstract

In the industry to create a product is divided into several processes and each process requires a different machine to process during a certain time unit. If not scheduled properly, it will take a long time to produce. Scheduling is the process of determining a resource that will process the job with a certain order for a certain time. The more jobs and machines, the more difficult transfers. Good scheduling is who has the time or the completion of all work is often referred to (makespan) and the smallest waiting time machine. To obtain the best schedule quickly it takes a scheduling application that implements a genetic algorithm. This study uses metododologi software development Rational Unified Process. From the results of this study showed that the schedule generated by the genetic algorithm approach is best scheduling. This is evidenced by the results of tests resulted in the percentage accuracy of 94.3%.

(2)

Jatisi, Vol. 1 No. 2 Maret 2015  227

1. PENDAHULUAN

asalah penjadwalan merupakan salah satu aspek penting pada lingkungan industri. Persaingan pasar global yang terus meningkat dan permintaan jenis produk yang tidak dapat diramal menjadi masalah. Industri pakaian adalah salah satu contoh yang terkena dampak dari tekanan untuk dapat menghasilkan berbagai macam produk yang sesuai dengan selera konsumen, dengan waktu yang singkat dan biaya yang rendah. Industri pakaian umumnya beroperasi dengan sistem job shop. Penjadwalan job shop untuk industri pakaian adalah suatu penjadwalan yang menggunakan banyak mesin yang disertai banyak operasi.

Penjadwalan adalah rencana urutan pelaksanaan sejumlah pekerjaan dengan mempertimbangkan waktu dan fasilitas agar semua pekerjaan dapat diselesaikan [1,2]. Dalam lingkungan industri modern, untuk memproduksi produk terdapat sejumlah pekerjaan (n) yang terbagi kebeberapa operasi dan akan diproses oleh banyak mesin (m). Setiap operasi pekerjaan membutuhkan waktu yang berbeda-beda. Serangkaian operasi dari suatu pekerjaan tidak boleh diproses dalam waktu yang sama karena pemrosesan operasi harus dilakukan secara terurut [3]. Masalahnya adalah bagaimana memilih urutan operasi dari pekerjaan dan menentukan mesin yang bisa mengeksekusinya agar semua pekerjaan selesai secepat mungkin dengan meminimalkan waktu tunggu. Agar bisa memperoleh jadwal yang memiliki waktu tunggu yang sedikit dengan cepat maka dibutuhkan algoritma [3]. Banyak algoritma yang bisa digunakan untuk penjadwalan diantaranya adalah algoritma genetika [1,2,4]. Algoritma genetika adalah algoritma pencarian heuristik yang berdasarkan pada mekanisme seleksi ilmiah atau evolusi biologis [2]. Konsep dasar teori evolusi adalah persaingan antar individu, individu yang dapat bertahan merupakan individu yang memiliki kualitas tinggi sehingga individu yang lemah tentu akan punah [6,7]. Dalam proses evolusi, individu akan terus menerus menyesuaikan diri dengan lingkungan hidup dengan mengalami perubahan gen [6]. Secara alami semua organisme terdiri dari sel, di dalam setiap sel terdiri dari sekumpulan kromosom[8]. Prinsip algoritma genetika diambil dari teori Darwin yaitu setiap makhluk hidup akan menurunkan satu atau beberapa karakter ke anak atau keturunannya.

2. METODE PENELITIAN

Untuk melaksanakan penelitian ini, terdapat tahap-tahap yang harus dilalui. Tahap-tahap tersebut dapat dilihat pada Gambar 1.

(3)

Berikut adalah penjelasan dari langkah-langkah penelitian: 2. 1 Identifikasi Masalah

Untuk membuat jadwal dibutuhkan banyak hal yang harus di pertimbangkan. Banyak penelitian yang membahas penjadwalan seperti penjadwalan perkuliahan, kereta, proyek dan lain-lain. Di industri juga dibutuhkan penjadwalan mesin karena untuk memproduksi suatu produk dibagi menjadi beberapa proses dan setiap proses harus diproses oleh mesin tertentu selama satuan waktu.

2. 2 Pengumpulan Data

Data yang digunakan dalam penelitian ini adalah data produk yang di bagi menjadi beberapa proses (n), data mesin (m) dan waktu proses. Data diperoleh dari pengacakan dan disimpan kedalam file .txt.

2. 3 Implementasi Algoritma Genetika

Siklus algoritma genetika dimulai dengan mengkonversi permasalahan ke dalam bentuk individu, dimana setiap gen individu dapat berupa bilangan real, biner, atau desimal [6,8,9,10,11]. Algoritma genetika tidak beroperasi dengan penyelesaian asli dari suatu masalah tetapi beroperasi dengan dengan penyelesaian yang telah direpresentasikan. Representasi kromosom merupakan proses pengkodean dari penyelesaian asli dari suatu permasalahan. Pengkodean kandidat penyelesaian ini disebut dengan kromosom. Pengkodean tersebut meliputi penyandian gen, dengan satu gen mewakili satu variabel. Gembar 2 adalah flowchart dari algoritma genetika yang digunakan dalam peneltian ini.

Gambar 2. Flow Chart Algoritma Genetika

2. 4 Prototyping

(4)

Jatisi, Vol. 1 No. 2 Maret 2015  229

untuk menampilkan hasil penjadwalan, form ganttchart untuk menampilkan urutan proses setiap mesin, dan form zedgraff untuk menampilkan grafik nilai fitness terbaik setiap generasi.

2. 5 Hasil dan Pembahasan

Untuk menguji algoritma genetika maka akan dilakukan perbandingan hasil penjadwalan dengan menggunakan algoritma genetika dan konvensional sebanyak 8 sampel. Selisih dari kedua metode akan dihitung persentase selisihnya. .

3. HASIL DAN PEMBAHASAN

Penentuan kromosom didasarkan pada index dari matriks order dan matriks waktu (m x n). Jadi, apabila jumlah matriks order 3 dan jumlah matriks waktu 3, maka jumlah gen pada setiap kromosom yaitu 9. Begitu pula jumlah individu pada populasi yaitu berjumlah 9.Pembentukan populasi awal secara acak kemudian lakukan perhitungan nilai fitnesnya dengan menggunakan Persamaan 1. Individu yang dipilih adalah 2 individu dengan nilai fitness terbaik yang kemudian akan dilakukan proses crossover. Crossover yaitu menukar gen yang ada pada individu pertama (orangtua pertama) dengan gen yang ada pada individu kedua (orangtua kedua) kemudian hitung kembali nilai fitnessnya. Kemudian pilih satu individu dengan nilai terbaik untuk dilakukan proses mutasi. Proses mutasi yaitu menukar gen pada kromosom itu sendiri kemudian hitung lagi nilai fitnessnya. Selanjutnya populasi yang baru akan mengalami siklus yang sama dengan populasi sebelumnya. Proses ini berlangsung terus hingga generasi ke-n.

Semakin tinggi nilai fitness akan semakin besar kemungkinan kromosom tersebut terpilih ke generasi berikutnya. Dalam kasus penjadwalan job shop ini operasi dari makespan digunakansebagai nilai fitness. Makespan didenotasikan sebagai Cmax yaitu waktu ketika operasi yang terakhir telah selesai dikerjakan.

Cmax = max(C1, C2, ...Cj..., Cn) (1) Dimana,

Cj = rj + Σnk=1 (Wjk + Pjm(k)) (2)

Cj merupakan waktu penyelesaian pekerjaan dari mesin j, rj merupakan waktu rilis dari mesin j, Wjk adalah waktu tunggu dari job j pada urutan k dan Pjm(k)adalah waktu proses yang dibutuhkan oleh job j pada m mesin pada urutan k.

Masalah utama dalam penelitian ini adalah bagaimana mencari jadwal pemrosesan pekerjaan di beberapa mesin dengan waktu yang singkat menggunakan algoritma genetika. Salah satu contoh masalah penjadwalan job shop adalah penjadwalan 3 buah pekerjaan yang akan diproses oleh 3 buah mesin dan setiap pemrosesan pekerjaan membutuhkan waktu yang beragam seperti tertera pada Tabel 1 dan Tabel 2. Setiap job terbagi menjadi 3 proses dan setiap proses memiliki waktu proses yang berbeda-beda dapat dilihat pada Tabel 2. Setiap proses dari job harus diproses oleh mesin tertentu yang dapat dilihat dari Tabel 1.

(5)

1. Skema Pengkodean

Pada tahap ini yang dilakukan adalah membuat matriks order dan matriks waktu yang digunakan sebagai tahap awal dalam menentukan pekerjaan, jumlah kromosom, jumlah gen untuk setiap kromosom. Karena matriks order yang akan ditentukan jumlahnya 3 dan matriks waktu berjumlah 3 maka jumlah kromosom dan individu yang akan diciptakan berjumlah 9 (m x n), begitu pula jumlah gen untuk setiap kromoson akan berjumlah 9 (Gambar 3). Untuk mewakili 3 pekerjaan maka kode yang digunakan adalah bilangan bulat dari 1 sampai sejumlah mesin (m x n).

Gambar 3. Contoh individu

2. Inisialisasi Populasi atau Generasi Awal

Dari Gambar 4 akan dibentuk 9 buah individu dimana urutan gennya diperoleh dari pengacakan. Individu-individu yang sudah terbentuk inilah yang akan dibentuk menjadi suatu populasi untuk dapat diteruskan pada tahap selanjutnya.

Individu 1 3 1 1 3 2 2 3 1 2

Fungsi fitness digunakan untuk proses evaluasi kromosom agar memperoleh kromosom yang diinginkan. Fungsi ini membedakan kualitas dari kromosom untuk mengetahui seberapa baik kromosom yang dihasilkan. Semakin tinggi nilai fitness akan semakin besar kemungkinan kromosom tersebut terpilih ke generasi berikutnya. Untuk menghitung makespan harus menggunakan Persamaan 1 dan 2. Nilai fitness diperoleh diambil dari hasil waktu maksimum dari mesin. Gambar 5 adalah hasil penjadwalan urutan pekerjaan dan urutan mesin yang memproses pekerjaan.

(6)

Jatisi, Vol. 1 No. 2 Maret 2015  231

Pada mesin 1 waktu berakhir adalah 6 satuan waktu, mesin 2 waktu berakhirnya 5 satuan waktu dan mesin 3 waktu berakhirnya adalah 7 satuan waktu. Karena dari ketiga mesin yang paling lama waktu proses adalah 7 satuan waktu, maka nilai fitness dari kromosom tersebut adalah 7. Nilai fitness diperoleh dari hasil waktu maksimum dari mesin. Hasil dari perhitungan nilai fitness dari semua individu dapat dilihat pada Gambar 6.

Gambar 6. Contoh generasi dan nilai fitness

4. Seleksi

Setiap kromosom yang terdapat dalam populasi akan melalui proses seleksi untuk dipilih menjadi orang tua. Sesuai dengan teori Evolusi Darwin maka kromosom yang baik akan bertahan dan menghasilkan keturunan yang baru untuk generasi selanjutnya. Pilih 2 buah individu dengan nilai Fitness terkecil untuk diproses pada tahap selanjutnya yaitu tahap crossover dan mutasi. Dari Gambar 5, individu 3 dan 6 adalah individu yang memiliki nilai fitness terkecil. Kedua buah individu yang telah dipilih untuk selanjutnya disebut orang tua (Gambar 7).

Orang tua 1 3 2 1 2 3 1 3 1 2 Fitness : 6

Orang tua 2 3 2 1 2 1 1 3 2 3 Fitness : 6

Gambar 7. Hasil Seleksi Orang Tua

5. Crossover

Operator persilangan (crossover) merupakan operasi yang bekerja untuk menggabungan dua kromosom orang tua (parent) menjadi kromosom baru (offspring). Tidak semua kromosom mengalami persilangan. Jenis operator persilangan yaitu: persilangan satu titik, duatitik dan crossover dengan permutasi. Pada peneltiian ini yang digunakan adalah crossover dengan permutasi. Proses penukaran dilakukan dengan memilih jumlah gen sebanyak job yang dikerjakan. Proses penukaran dilakukan dengan memilih 3 gen pertama yang berbeda dan kemudian nilai fitnessnya dihitung kembali seperti Gambar 8.

3 2 1 2 3 1 3 1 2

3 2 1 2 1 1 3 2 3

Gambar 8. Orang tua yang akan di Crossover

(7)

Anak 1 2 1 3 2 3 1 3 1 2 Fitness : 8

Anak 2 1 3 2 2 1 1 3 2 3 Fitness : 8

Gambar 9. Hasil Crossover

6. Mutasi

Cara kerja proses mutasi ini yaitu dengan menukarkan gen dari kromosom yang telah dipilih yaitu individu yang memiliki nilai fitness terbaik. Jika nilai fitness yang di dapat dari hasil proses crossover tidak lebih baik dari nilai fitness sebelumnya maka kromosom yang dipilih adalah nilai sebelumnya yang merupakan nilai terbaik. Mutasi adalah proses mengubah gen dari keturunan secara random (acak). Cara kerja proses mutasi adalah dengan menukarkan posisi dua buah gen dan menyimpannya menjadi individu yang terbaru (Gambar 10).

3 2 1 2 3 1 3 1 2 Fitness : 6

3 2 1 1 3 2 3 1 2 Fitness : 7

Gambar 10. Hasil Mutasi

Apabila nilai nilai fitness yang di dapat dari hasil proses mutasi tidak lebih baik maka kromosom sebelum di proses yang akan diambil sebagai generasi baru.

7. Terminasi

Tahapan 4, 5 dan 6 akan terus dijalankan sampai memenuhi kondisi teminasi. Proses terminasi dalam algoritma genetika dimaksudkan untuk mengakhiri siklus genetik yang dilakukan oleh program komputer lewat batasan yang diberikan. Batasan yang biasa dilakukan dapat berupa jumlah generasi maksimum yang harus dilewati oleh proses komputasi. Jika kondisi akhir terpenuhi maka proses akan berhenti dan telah mendapatkan solusi yang paling mendekati optimum jika kondisi belum terpenuhi maka akan dilakukan lagi tahap generasi awal. Dalam penelitian ini kondisi teminasi adalah jika perulangan sudah mencapai 100 kali.

Sebelum melakukan penjadwalan, pengguna harus melakukan load matriks yaitu matriks orders dan matriks waktu yang berupa file text. Gambar 10 adalah tampilan dari aplikasi JSSP jika kita telah memilih matrik order dan matrik waktu dari file txt maka akan tampil urutan pekerjaan dan lama waktu pekerjaan hasil dari penjadwalan algoritma Genetika setelah ditekan tombol Run.

Gambar 11. Form Load Matrik

Dari hasil penjadwalan yang didapat pada Gambar 11, menunjukkan bahwa solusi penjadwalan terbaik yang dipilih adalah 1543122314541553452323241 dari generasi 48 dengan

(8)

Jatisi, Vol. 1 No. 2 Maret 2015  233

waktu 17 satuan waktu. Tapi tidak semua hasil penjadwalan dengan algoritma genetika yang akan dipilih sebagai solusi tetapi solusi yang memiliki niali fitness terkecil yang akan dipilih. Karena pemilihan jadwal dilakukan secara acak maka ada kemungkinan solusi yang dipilih merupakan solusi awal sebelum dilakukan proses algoritma genetika. Pada halaman Zedgraf (Gambar 12) kita dapat melihat individu terbaik atau yang memiliki fitness terkecil dari 100 generasi. Jika generasi pertama dapat menghasilkan solusi yang memiliki fitness 22 satuan waktu, generasi selanjutnya belum tentu dapat menghasilkan solusi yang memiliki fitness lebih kecil. Sehingga hasil setiap generasi tidak tentu atau naik turun.

Gambar 12. Form Zedgraf

Untuk melihat detil solusi penjadwalan yang dihasilkan oleh program kita dapat melihatnya di halaman ganttchart (Gambar 13). Dari representasi hasil perhitungan nilai fitness atau makespan. Kita dapat melihat bahwa mesin 1 akan mengerjakan pekerjaan ke 5, 1, 2, 3, 4, mesin 2 menggerjakan pekerjaan 3, 2, 1,5, dan 4, mesin 3 mengerjakan pekerjaan 1, 4, 5, 3, dan 2, mesin 4 mengerjakan pekerjaan 2, 3, 4, 5, dan 1, dan mesin 5 menggerjakan pekerjaan 4, 1, 5, 3, dan 2. Waktu tunggu dilambangkan warna unggu muda. Untuk melihat keoptimalan penjadwalan adalah dengan melihat jumlah waktu tunggu. Seperti mesin 1 harus menunggu karena pekerjaan 1 masih di proses pada mesin 5. Semakin sedikit waktu tunggu maka semakin kecil nilai fitness.

(9)

Untuk memeriksa hasil algoritma genetika merupakan penjadwalan terbaik atau bukan kita bisa membandingkannya dengan metode konvensional. Dengan permasalahan yang sama dicari solusi dengan algoritma genetika dan cara konvensional dan hasilnya dapat dilihat pada Tabel 2 dimana error diperoleh dari Persamaan 3.

𝐸𝑟𝑟𝑜𝑟 =|ℎ𝑎𝑠𝑖𝑙 𝑤𝑎𝑘𝑡𝑢 𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖−ℎ𝑎𝑠𝑖𝑙 𝑤𝑎𝑘𝑡𝑢 𝑘𝑜𝑛𝑣𝑒𝑛𝑠𝑖𝑜𝑛𝑎𝑙|ℎ𝑎𝑠𝑖𝑙 𝑤𝑎𝑘𝑡𝑢 𝑎𝑝𝑙𝑖𝑘𝑎𝑠𝑖 × 100% (3)

Tabel 2. Perbandingkan Hasil Algoritma Genetika dan Konvensional

No Jumlah Matrik

Hasil Penjdwalan Waktu

Error

Konvensional Algen Konvensional Algen

1 3x3 132331212 231331212 7 7 0%

Dari Tabel selisih nilai fitness antara konvensional dan algoritma genetika cukup tipis. Dengan metode konvensional solusi yang dihasilkan adalah solusi yang terbaik tetapi memakan waktu yang lebih lama dibandingkan algoritma genetika. Sedangkan algoritma genetika menghasilkan solusi yang mendekati yang terbaik dengan waktu penjadwalan yang sangat cepat.

Nilai rata-rata error dari hasil pencarian algoritma genetika adalah 5,7%, sehingga persentasi keakuratan: 100% - 5,7% =94.3%. Dari hasil Pengujian Tabel 2, keakuratan aplikasi ini identifikasi ini baru mencapai 94.3%. Hal ini disebabkan oleh:

1. Algoritma genetika adalah algoritma yang tidak memeriksa semua kemungkinan sehingga hasil yang diperoleh bukan yang terbaik tetapi mendekati yang terbaik. 2. Kondisi terminasi dari program yang hanya melalukan perulangan yang tidak sesuai

(10)

Jatisi, Vol. 1 No. 2 Maret 2015  235

4. KESIMPULAN

Kesimpulan dari penelitian ini adalah:

1. Algoritma genetika telah berhasil melakukan pencarian solusi dengan cepat dan hasil yang mendekati yang terbaik hal ini dibuktikan dari hasil pengujian yang menghasilkan nilai keakuratan sebanyak 94,3% jika dibandingkan dengan metode konvensional.

2. Penjadwalan Job Shop ini pencarian dilakukan secara acak sehingga hasil dari setiap generasi yang didapatkan dengan algoritma genetika ini belum tentu akan mendapatkan hasil yang lebih baik dari hasil penjadwalan sebelumnya tetapi hasil yang akan didapatkan tidak akan lebih buruk dari penjadwalan sebelum dilakukan dengan algoritma ini dan dengan permasalahan yang sama akan menghasilkan solusi yang berbeda pada waktu yang berbeda.

5. SARAN

Saran untuk pengembangan lebih lanjut dari penelitian ini adalah hasil dari penelitian ini diharapkan akan menghasilkan penelitian yang lebih lanjut seperti penerapan hasil penelitian pada industri pakaian atau dilakukan pengembangan terhadap masalah penjadwalan yang lain dengan permasalahan yang lebih komplek.

DAFTAR PUSTAKA

[1] Desiani, Anita and arhami. 2007. Konsep Kecerdasan Buatan. Andi Publiser. Yogyakarta.

[2] Kusumadewi, Sri. 2003. Artificial Intelligence (Teknik dan Aplikasinya). Graha Ilmu. Yogyakarta.

[3] James C. Chen, Cheng-Chun Wu, Chia-Wen Chen , Kou-Huang Chen. 2012. Flexible job shop scheduling with parallel machines using Genetic Algorithm and Grouping Genetic Algorithm.Expert Systems with Applications 39 (2012) 10016– 10021.

[4] Yamada, Takeshi and Nakano, Ryohei.1997. Genetic Algorithms for Job-Shop Scheduling Problems. Proceedings of Modern Heuristic for Decision Support, pp. 67{81,UNICOM seminar}.

[5] Sutojo, Mulyanto, dan Suhartono.2011.Kecerdasan Buatan. Andi Publiser. Yogyakarta.

[6] Weng, Wei, and Fujimura, Shigeru. Study and Application of Scheduling Method for Just-in-time Production in Flexible Job Shops. Proceedings of 2011 IEEE IEEM 978-1-4577-0739-1/11.

(11)

[8] Russel, S. and P. Norvig. 1995. Artificial Intelligence: A Modern Approach. Prentice Hall, New Jersey.

[9] Li Jun-Qing, Pan, Quan-Ke and Tasgetiren, Fatih. A discrete artificial bee colony algorithm for the multi-objective flexible job-shop scheduling with maintenance activities. Applied Mathematical Modelling 38 (2014) 1111-1132

[10] Baykasoğlu, A., Hamzadayi, A., and Yelkenci, S., Testing the performance of teaching-learning basedoptimization (TLBO) algorithm on combinatorial problems:Flow shop and job shop scheduling cases. Information Sciences (2014).

Gambar

Gambar 2. Flow Chart Algoritma Genetika
Tabel 1. Matrik Order
Gambar 4.Contoh Generasi
Gambar 8. Orang tua yang akan di Crossover
+4

Referensi

Dokumen terkait

Analisis ini digunakan untuk menguji hubungan motivasi berprestasi dan kepercayaan diri dengan kemandirian belajar siswa (Hipotesis 3). Dengan analisis ini dapat diketahui

Saliva adalah cairan yang tidak berwarna dengan konsistensi seperti lendir. Saliva merupakan sekresi yang berkaitan dengan mulut dan diproduksi oleh tiga pasang

Tahap analisis data pada penelitian ini dilakukan dengan tahap-tahap: (1) memberikan skor pada setiap soal tes yang dilakukan dengan mengoreksi jawaban siswa; (2)

Berdasarkan pada Tabel 2 bahwa sebanyak 6 orang siswi yang mengalami dismenorea (11,8%) berada di skala nyeri ringan, sebanyak 38 orang siswi yang mengalami dismenorea

Input atau biaya antara adalah biaya yang dikeluarkan dalam proses industry yang berupa bahan baku, bahan bakar, barang lainnya diluar bahan baku/bahan penolong, jasa

Sementara itu untuk uji kemaknaan hubungan antara Rasio Lingkar Pinggang Pinggul dengan kadar HDL nilai -value adalah 0.734 ( > α) yang berarti bahwa tidak

Pada tahun 2005 kesenian Raksasa disajikan sebagai penyempurna upacara dalam upacara bersih desa di Desa Salamrejo, dengan demikian atraksi untuk memakan ayam hidup-hidup yang

Menurut Bugbee (2003), kunci penting untuk mengendalikan hama penyakit di rumah kaca adalah memilih varietas yang tahan hama penyakit, mengawasi lingkungan untuk