• Tidak ada hasil yang ditemukan

Sistem pendukung keputusan untuk menentukan lokasi potensial minimarket pada PT. Indomarco Prismatama

N/A
N/A
Protected

Academic year: 2017

Membagikan "Sistem pendukung keputusan untuk menentukan lokasi potensial minimarket pada PT. Indomarco Prismatama"

Copied!
114
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RAMADHONI SAPUTRA

10109385

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

iii

KATA PENGANTAR

Asalammu alaikum Wr. Wb.

Bismillahirrahmanirrahimmillah, Segala Puji dan syukur penulis panjatkan

kepada Allah SWT tuhan semesta alam yang selalu mencurahkan rahmat dan

nikmat-Nya, berupa kesehatan dan keteguhan hati kepada penulis sehingga

penelitian ini dapat diselesaikan dengan baik.

Skripsi yang berjudul “Implementasi Algoritma Genetika dan Logika

Fuzzy Untuk Menghitung Waktu Panen Tanaman Hortikultura”, disusun untuk

memperoleh gelar Sarjana Teknik Informatika, Fakultas Teknik dan Ilmu

Komputer Universitas Komputer Indonesia.

Dalam menyusun skripsi ini, penulis banyak memperoleh bantuan

serta bimbingan dari berbagai pihak. Oleh karena itu, penulis ingin

menyampaikan ucapan dan rasa terimakasih kepada:

1.

Allah SWT atas rahmat dan nikmat-Nya.

2.

Ibu dan Ayah yang selalu memberikan dukungan yang sangat besar

kepada penulis.

3.

Bapak Galih Hermawan, S.Kom., M.T. selaku dosen pembimbing

yang telah meluangkan waktu untuk memberikan bimbingan, saran,

dan nasehatnya selama penulisan skripsi ini.

4.

Ibu Ednawati Raniarli, S.Si, M.Si. selaku dosen reviewer pada waktu

seminar yang telah meluangkan waktu untuk memberikan bimbingan,

saran dan nasehatnya.

5.

Seluruh dosen dan staf Program Studi Teknik Informatika Universitas

Komputer Indonesia.

6.

Seluruh teman-teman kelas IF-9 angkatan 2009.

7.

Mas adit yang telah membantu dalam menyelesaikan laporan skripsi ini.

8.

Berbagai pihak yang membantu dan mendukung penulis dalam menyusun

skripsi ini.

(3)

iv

Penulis mohon maaf apabila dalam penulisan skripsi, penulis telah

menyinggung perasaan atau telah menyakiti hati orang disekitar penulis, baik

yang disengaja maupun yang tidak disengaja. Kiranya isi skripsi ini bermanfaat

dalam memperkaya ragam ilmu pendidikan dan juga dapat dijadikan sebagai

salah satu sumber referensi bagi peneliti selanjutnya yang berminat meneliti

hal yang sama.

Wassalamu’alaikum Wr.Wb

Bandung, Februari 2015

(4)

v

DAFTAR ISI

ABRTRAK ... i

ABSTRACT

... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... xi

DAFTAR LAMPIRAN ... xii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.4 Batasan Masalah ... 2

1.5 Metode Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Pengembangan Perangkat Lunak ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Budidaya Tanaman Hostikultura ... 7

2.1.1 Jenis-Jenis Tanaman Hostikultura ... 7

2.1.2 Ekologi Tanaman Hortikultura ... 8

2.1.3 Panen ... 8

2.1.4 Perhitungan Waktu Panen Hortikultura ... 9

2.2 Kecerdasan Buatan ... 10

2.2.1 Kecerdasan Buatan yang digunakan ... 12

2.2.1.1 Algoritma Genetika ... 12

2.2.1.1.1 Struktur Algoritma Genetika ... 13

2.2.1.1.2 Teknik Penyandian ... 14

2.2.1.1.3 Prosedur Inisialisasi ... 14

2.2.1.1.4 Fungsi Evaluasi ... 15

(5)

vi

2.2.1.1.6 Penentuan Parameter ... 17

2.2.1.1.7 Pindah Silang ... 17

2.2.1.1.8 Mutasi ... 18

2.2.1.1.9 Pergantian Populasi ... 20

2.2.1.2 Logika

Fuzzy

... 21

2.2.1.2.1 Basis Pengetahuan

fuzzy

... 22

2.2.1.2.2 Fuzzifikasi ... 22

2.2.1.2.3 Logika Pengambilan Keputusan ... 23

2.2.1.2.4 Defuzzifikasi ... 23

2.2.1.2.5 Fungsi Keanggotaan ... 24

2.2.1.3

Genetic

Fuzzy

System

... 28

2.2.2 Pemrograman Berorientasi Objek ... 29

2.2.3 UML ... 30

2.2.3.1 Tujuan UML ... 31

2.2.3.2 Diagram UML ... 31

2.2.4 C# ... 34

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA ... 37

3.1 Analisis Sistem ... 37

3.1.1 Analisis Masalah ... 37

3.1.2 Analisis Data Masukan ... 38

3.1.3 Analisis Algoritma ... 38

3.1.3.1 Analisis Algoritma Genetika ... 39

3.1.3.2 Parameter Algoritma Genetika ... 39

3.1.3.3 Pembentukan Populasi Awal ... 39

3.1.3.4 Evaluasi Kromosom ... 44

3.1.3.5 Seleksi ... 48

3.1.3.6 Reproduksi Kromosom Baru ... 49

3.1.3.7 Kondisi Selesai ... 56

3.1.4. Analisis Logika

Fuzzy

... 56

3.1.4.1 Variabel

Fuzzy

... 57

3.1.4.2 Nilai Linguistik ... 57

3.1.4.3 Fuzzifikasi ... 57

3.1.4.4 Kaidah

Fuzzy

... 62

(6)

vii

3.1.5 Analisi Kebutuhan Non Fungsioanal ... 65

3.1.5.1 Analisis Perangkat Keras ... 65

3.1.5.2 Analisis Perangkat Lunak ... 65

3.1.5.3 Analisis Pengguna ... 65

3.1.6 Analisis Kebutuhan Fungsional... 66

3.1.6.1

Use

Case

Diagram

... 66

3.1.6.2 Definisi

Use

Case

... 66

3.1.6.3 Skenario

Use

Case

... 67

3.1.6.4

Activity

Diagram

... 72

3.1.6.5

Class

Diagram

... 78

3.1.6.6

Sequence

Diagram

... 80

3.1.7.Perancangan Sistem ... 85

3.1.7.1 Perancangan Arsitektur ... 85

3.1.7.2 Perancangan Struktur Menu ... 85

3.1.7.3 Perancangan Antarmuka ... 86

3.1.7.4 Jaringan Semantik ... 88

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 89

4.1 Implementasi ... 89

4.1.1 Implementasi Perangkat Keras ... 89

4.1.2 Implementasi Perangkat Lunak ... 89

4.1.3 Implementasi Antarmuka ... 89

4.2. Pengujian Sistem ... 93

4.3 Kesimpulan dari hasil pengujian ... 101

BAB 5 Kesimpulan ... 103

5.1 Kesimpulan ... 103

5.2 Saran ... 103

(7)

105

DAFTAR PUSTAKA

[1].

(2011). Retrieved 2015, from Agriinfo: http://www.agriinfo.in

[2].

Hanum, C. (2008).

Teknik Budidaya Tanaman Holtikultura (Jilid 2 ed.).

Jakarta: Direktorat Pembinaan Sekolah Menengah Kejuruan, Departemen

Pendidikan Nasional.

[3].

K.P Sudheer,V.Indira. (2007 ).

Post Harvest Technology of Horticultural

Crops. New India Publishing.

[4].

Kader, A. (_). Fruit Maturity,Ripening,And Quality Relationship. California:

Departement of Pomology, University of California.

[5].

Kusumadewi, S. (2003).

Artificial Intellegence (Teknik dan Aplikasinya).

Yogykarta: Graha Ilmu.

[6].

Mewati Ayub,The Houw Liong,Inggriani Liem,Ahmad Hinduan. (2005).

Sistem Tutorial Cerdas Berbasis Fuzzy Genetik. Integral, 89-98.

[7].

Oscar Cordon,Francisco Herrera,Frank Hoffman,Luis Magdalena. (2000).

Genetic Fuzzy System Evolutionary Tuning and Learning of Fuzzy Knowedge

Base. Farer Road: WorldScientificPublishingCo.Pte.Ltd.

[8].

Pilone, D., & Pitman, N. (2005).

UML 2.0 in a Nutshell. Gravenstein

Highway North, Sebastopol: O'Rielly.

[9].

Pressman, R. S. (2002).

Rekayasa Perangkat Lunak (Pendekatan Praktis).

Yogyakarta: Andi.

[10].

Russell, S., & Norvig, P. (2011).

Artificial Intelligence: A Modern

Approach (3rd ed.). Englewood Cliffs: Prentice Hall.

(8)

1

1.1

Latar Belakang Masalah

Indonesia merupakan negara agraris, dimana sebagian masyarakat indonesia

hidup dari pertanian. Bercocok tanam atau budidaya tanaman adalah kegiatan

terencana pemeliharaan sumber daya hayati yang dilakukan pada suatu areal lahan

untuk diambil manfaat atau hasil panennya. Salah satu jenis tanaman yang sering

dibudidayakan yaitu tanaman hortikultura. Budidaya hortikultura pada umumnya

diusahakan lebih intensif dibandingkan dengan budidaya tanaman lainnya karena

memiliki nilai ekonomi, dapat sebagai sumber pangan dan juga tanaman hias [2].

Dalam bercocok tanam ada beberapa hal yang harus diperhatikan diantaranya

lahan yang digunakan, kualitas air dan tanah, faktor cuaca. Apabila faktor-faktor

tersebut terpenuhi selanjutnya dilakukan penanaman, pemeliharan tanaman hingga

tanaman siap dipanen. Panen dapat dilakukan terhadap tanaman yang telah

memenuhi kriteria kematangan. Setiap tanaman memiliki kriterianya tersendiri

yang mana hal tersebut bergantung terhadap varietas tanaman. Adapun tingkat

kematangan yang biasa dan mudah untuk digunakan antara lain yaitu warna,

bentuk, ukuran. Untuk tanaman hortikultura tingkat kematangannya juga

ditentukan berdasarkan kebutuhan pemanfaatan dari tanaman tersebut[1][3].

Namun penentuan tingkat kematangan dengan menggunakan cara ini memiliki

kekurangan karena hanya bersifat perkiraan saja dan nilainya dapat berubah-ubah

pada setiap masa tanamnya, sehingga dapat menimbulkan ketidakpastian dalam

menentukan waktu panen dari tanaman hortikultura.

(9)

pendefinisian fungsi keanggotaan dan aturan

fuzzy

memerlukan usaha dan waktu

yang lama. Algoritma genetika dapat digunakan untuk melakukan tuning terhadap

parameter sistem kendali

fuzzy

sehingga dapat diperoleh sistem kendali

fuzzy

yang

lebih optimal. Algoritma genetik berperan di dalam pengubah posisi dan lebar

fungsi keanggotaan, juga mampu mengoptimasikan aturan-aturan dalam suatu

sistem kendali

fuzzy

[6][7].

Dalam penelitian ini penulis menggunakan algoritma genetika dan logika

fuzzy

, dimana logika

fuzzy

digunakan untuk menentukan waktu panen yang diukur

berdasarkan tingkat kematangan dan tujuan pemanfaatan tanaman hortikultura.

Algoritma genetika yang nantinya diharapkan dapat mengoptimalkan fungsi

keanggotaan dan aturan logika fuzzy .

1.2

Perumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas, yang

menjadi permasalahan dalam penelitian ini adalah

1.

Bagaimana implementasi logika fuzzy untuk menghitung waktu panen

tanaman hortikultura.

2.

Bagaimana algoritma genetika dalam mengoptimalkan fungsi keanggotaan

dan aturan logika fuzzy untuk menghitung waktu panen tanaman

hortikultura.

1.3

Maksud dan Tujuan

Maksud dari penelitian ini adalah untuk untuk menerapkan algoritma

genetika dan logika fuzzy untuk menghitung waktu panen tanaman hortikultura.

Tujuan yang dicapai untuk penelitian ini adalah:

1.

Untuk menghitung waktu panen tanaman hortikultura.

2.

Untuk mengoptimalkan fungsi keanggotaan dan aturan logika fuzzy.

1.4

Batasan Masalah

Beberapa hal yang diperlukan dalam penelitian ini guna membatasi masalah

agar lebih terarah dan mencapai sasaran yang ditentukan, diantaranya adalah:

(10)

2.

Sistem

fuzzy

yang dibangun menggunakan fungsi keanggotan

trapezoid

dengan model

inference

mamdani dan metode defuzzifikasi

centroid

.

3.

Logika

fuzzy

digunakan menentukan apakah tanaman sudah memasuki

usia panen atau belum berdasarkan tingkat kematangannya.

4.

Tanaman hortikultura yang dipilih yaitu cabai dan tomat.

5.

Aplikasi berupa simulasi berbasis

Desktop

PC

. Dibangun dengan bahasa

pemrograman C#.

6.

Perangcangan perangkat lunak dibangun dengan menggunakan

object

oriented programming

dengan tools UML.

1.5

Metodologi Penelitian

Metode yang digunakan dalam penelitian ini adalah metode kualitatif

deskriptif, Metode deskriptif adalah penelitian yang berusaha mendeskripsikan

suatu gejala, peristiwa, dan kejadian saat sekarang. Penelitian deskriptif

memusatkan perhatian kepada masalah-masalah aktual sebagaimana adanya pada

saat penelitian berlangsung. Dalam penelitian ini dilakukan beberapa beberapa

tahap yaitu:

1.

Metode Pengumpulan Data

Metodologi yang digunakan dalam mengumpulkan data yang berkaitan

dengan penelitian membuat perangkat lunak ini. Data diperoleh secara langsung

dari objek penelitian melalui studi pustaka. Studi pustaka yang dilakukan adalah

dengan mempelajari berbagai literatur, seperti buku-buku, artikel-artikel, e-book,

website, dan sumber-sumber yang berkaitan dengan aplikasi yang akan

dibangun, meliputi kecerdasan buatan, desain, tools dan juga pemodelan dengan

UML.

2.

Metode Pembuatan Perangkat Lunak

Metode yang digunakan untuk kasus ini adalah model

incremental

. Model ini

mendekatkan kepada pembangunan sebuah prototype untuk memahami kebutuhan

dari sistem. Tahapan Pembuatan aplikasi dengan menggunakan model ini dimulai

mengumpulkan

Requirement Analysis

,

Design and Development

,

Implementation

,

(11)

Gambar 1.1

Model

Incremental

[9]

1.

Requirement Analysis

Requirment Analysis

adalah proses tahapan awal yang dilakukan pada

incremental

model adalah penentuan kebutuhan atau analisis kebutuhan. Pertama

menganalisis data masukan, menganalisis metode, menganalisis kebutuhan

fungsional dan non fungsional.

2.

Design and Development

Perancangan

software

yang terbuka agar dapat diterapkan sistem

pembangunan per-bagian pada tahapan selanjutnya. Dalam bagian design

membuat perancangan aristektur, struktur menu dan antarmuka. Development

disini pembangunan perangkat lunak dengan bahasa c#.

3.

Implementation

Dengan melakukan presentasi kepada pengguna sebagai bagian dari proses

pembangunan. Tahap ini merupakan tahap dimana aplikasi siapuntuk di

operasikan,yang terdiri dari penjelasan mengenai lingkungan implementasi, baik

itu perangkat keras, maupun lingkungan perangkat lunak, serta implementasi

program.

4.

Testing

(12)

kekurangan – kekurangan. Pengujian bermaksud untuk mengetahui perangkat

lunak yang telah dibuat sudah memenuhi kriteria yang sesuai dengan tujuan

perancangan perangkat lunak.

1.6

Sistematika Penulisan

Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran

secara umum tentang penelitian yang dijalankan. Sistematika penulisan tugas

akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab ini akan membahas mengenai latar belakang masalah, perumusan

masalah, maksud dan tujuan, batasan masalah, metodologi penelitian yang

digunakan, serta sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan

budidaya tanaman hortikultura, pengertian budidaya tanaman, jenis-jenis tanaman

hortikultura, panen, waktu panen, penentuan waktu panen, kecerdasaan buatan,

perbandingan kecerdasan buatan dan alamiah, teknik dasar pencarian, masalah

pencarian, algoritma pencarian, AI yang digunakan, Algoritma Gentika,

Fuzzy

Logic,Genetic Fuzzy System,

OOP, UML, C#.

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

Berisi Analisis Masalah, Analisis Sistem, Analisi Algoritma, Analisis

Kebutuhan Fungsional, Analisis Kebutuhan Non-Fungsional, dan Perancangan

Sistem.

BAB IV ANALISIS HASIL PENELITIAN

Bab ini berisi tentang implementasi dan pengujian sistem yang telah

dikerjakan, yang terdiri dari menerapkan rencana implementasi, melakukan

kegiatan implementasi, dan tindak lanjut implementasi. Selain itu juga berisi

pengujian aplikasi yang dikerjakan.

BAB V KESIMPULAN DAN SARAN

(13)
(14)

7 2.1. Budidaya Tanaman Holtikultura

Kata hoktikultura (horticulture) berasal dari bahasa latin, yakni hortus yang berarti kebun dan colere yang berarti menumbuhkan (terutama sekali mikroorganisme) pada suatu medium buatan. Secara harfiah, hortikultura berarti ilmu yang mempelajari pembudidayaan tanaman kebun. Akan tetapi, pada umumnya para pakar mendefinisikan hortikultura sebagai ilmu yang memperlajari budidaya tanaman sayura, buah-buahan, bunga-bungaan, atau tanaman hias [12].

Pada umumnya, isi kebun di Indonesia adalah berupa tanaman buah-buahan, tanaman sayuran, tanaman hias dan wangi-wangian, tanaman bumbu masak, tanaman obat-obatan, dan tanaman penghasil rempah-rempah. Sementara itu, di Negara-negara maju budidaya tanaman hortikultura sudah merupakan susatu usaha tani berpola komersial, yakni diusahakan secara monokultur di ladang produksi yang luas, misalanya perkebunan apel, anggur, tomat, dan pear( Pyrus Communis) di Amerika; perkebunan mangga dan kelengkeng di Queensland, Australia; serta perkebunan tomat hidroponik di New Zeland.

Seiring dengan semakin pentingnya kedudukan hortikultura dalam kehidupan sehari-hari sebagai sumber berbagai vitamin dan mineral di samping sebagai bahan baku berbagai produk olahan, pengusahaan hortikultura, khususnya buah-buahan, di Indonesia kini mulai dikelola dengan pola agribisnis.

2.1.1. Jenis – Jenis Tanaman Holtikultura

(15)

1. Tanaman Buah-buahan, kelompok tanaman ini memiliki keanekaragaman morfologi, seperti ada yang berbentuk pohon (misalnya rambutan, mangga, durian, jeruk, dan sebagainya), bentuk semak (markisa).

2. Tanaman sayuran, tanaman ini merupakan tanaman hortikultura yang utama. Beberapa jenis sayuran ada yang berasal dari buah (tomat), daun (bayam), akar (wortel), biji (buncis), bunga (kembang kol) dan sebagainya. Berbeda dengan tanaman buah-buahan, sayuran memiliki umur yang relatif singkat. Tanaman ini umumnya dikonsumsi dalam bentuk segar, oleh karenanya proses penanganannya lebih spesifik dibandingkan dengan hortikultura lainnya.

3. Tanaman Hias, manfaat dari tanaman hias ini adalah meningkatkan aestetika lingkungan. Budidaya tanaman ini dapat dilakukan pada ruang terbuka maupun didalam ruangan.

2.1.2. Ekologi Tanaman Hortikultura

Budidaya tanaman hortikultura menghendaki perhatian yang serius, khusunya dalam penentuan persyaratan ekologinya. Hal ini dikarenakan pertumbuhan dan perkembangan tanaman sangat tergantung ekologi atau lingkungan di mana tanaman tersebut tumbuh. Apabila tanaman diusahakan pada lingkungan yanga memenuhi kebutuhan syarat tumbuhnya, dapat dipastikan tanaman tersebut akan tumbuh dan berproduksi secara maksimal. Hal sebaliknya akan terjadi apabila tanaman tersebut tumbuh ada lingkungan yang tidak atau kurang mendukung.

Faktor-faktor lingkungan yang mempengaruhi pertumbuhan dan produksi tanaman hortikultura dapat dikelompokan atas faktor iklim (cahaya, suhu, dan keadaan udara) dan faktor medium tumbuh (tanah dan air).

2.1.3. Panen

(16)

upaya memisahkan bagian tanaman yang memiliki nilai ekonomi dati tanaman induknya. Pada tanaman buah-buahan, bagian yang dipisahkan tersebut sudah tentu adalah buah, sedangkan pada tanaman sayuran, bagian-bagian tersebut dapat berupa daun, batang, akar, maupun buah. Sementara itu pada tanaman hias, bagian tanaman yang dipanen dapat berupa bunga berikut tangkainya (tanaman hias berbunga) atau daun berikut tangkainya (tanaman hias tidak berbunga) [12].

2.1.4. Perhitungan Waktu Panen Hortikultura

Waktu panen sangat ditentukan jenis (varietas) tanaman, hari tanam atau hari berbunga, dan kondisi lingkungan selama musim tanam. Selain itu, beberapa kriteria fisikologis juga telah digunakan untuk menentukan saat panen, seperti kekerasan, warna, dan kandungan karbohidrat. Pada sejumlah tanaman adakalanya digunakan kriteria lain, misalnya terbentuknya daerah absisi pada tangkai buah (misalnya pada labu dan blewah), tingkat perkembangan kuncup bunga (misalnya pada tanaman hiasa seperti mawar), warna buah (misalnya pada tomat, cabai, rambutan, dan nanas), rasio gula : asam (misalnya pada jeruk), bunyi kalau dipukul atau ditepuk (misalnya pada semangka dan nangka). Sedangkan pada tanaman durian, jatuhnya buah merupakan petunjuk yang paling tepat untuk pemanenan.

Penentuan tingkat kematangan buah yang tepat akan sangat nyata mengurangi kemerosotan kualitas buah yang dipanen. Apabila buah dipanen sebelum memasuki fase matang fisiologis, maka kualitasnya akan cepat sekali turun di dalam penyimpanan dan pengankutan karena tingginya laju tranpirasi yang mengakibatkan buah menjadi keriput akibat penuruan turgiditas.

(17)

Tabel 2.1 Tingkat Kematangan Buah dah Sayuran [1][ 2][ 3] Index Kematangan Tanaman

Hari setelah berbunga Apple, Pir

Rata-rata panas selama pertumbuhan Apple, jagung manis

Ukuran Kebanyakan buah dan sayuran

warna Kebanyakan buah dan sayuran

Bentuk Pisang, brocoli

Sedangkan kematangan pada hortikultura [1] adalah ketika tanaman atau bagian tanaman memiliki prasyarat pemanfaatan oleh konsumen untuk tujuan tertentu.

1. Tahap buah dan sayuran di mana konsumen menginginkan buah dan sayuran atau buah-buahan dan sayuran yang dibutuhkan oleh pasar. tingkat kematangan hortikultura tergantung pada tujuan yang dipanen. Contoh: kacang polong Perancis okra polong matang bila lembut dengan ukuran maksimum, sesuai dengan kematangan hortikultura.

2. Tahap muncul setiap saat antara pembangunan dan pertumbuhan setiap tanaman pada buah.

3. Hal ini dapat diprediksi dengan menggunakan terminologi yang berbeda seperti belum matang, matang dan terlalu matang.

4. Tidak ada keharusan penuaan.

2.2. Kecerdasan Buatan

(18)

dan teknik pemrograman yang digunakan dalam mengimplementasikannya. Berdasarkan sudut pandang, AI dapat dipandang sebagai berikut:

1. Sudut pandang kecerdasan, AI adalah bagaimana membuat mesin yang cerdas dan dapat melakukan hal -hal yang sebelumnya hanya dapat dilakukan manusia.

2. Sudut pandang bisnis, AI adalah sekelompok alat bantu yang berdaya guna dan metodologi yang menggunakan alat -alat bantu tersebut untuk menyelesaikan masalah-masalah bisnis.

3. Sudut pandang pemrograman, AI meliputi studi tentang pemrograman simbolik, pemecahan masalah dan proses pencarian.

4. Sudut pandang penelitian:

a. Riset tentang AI dimulai pada awal tahun 1960-an, percobaan Pertama adalah membuat program permainan catur, membuktikan teori dan general problem solving.

b. AI adalah nama pada akar dari studi area. Kecerdasan buatan memiliki sejumlah sub disiplin ilmu yang sering digunakan untuk pendekatan yang esensial bagi penyelesaian suatu masalah dan dengan aplikasi bidang AI yang berbeda. Berikut gambar bidang-bidang tugas dari AI yaitu [5]:

(19)

Aplikasi penggunaan AI dapat dibagi ke dalam tiga kelompok yaitu: 1. Expert Task

AI dibentuk berdasarkan pengalaman dan pengetahuan yang dimiliki oleh para ahli. Penggunaan ini dapat membantu para ahli untuk menyampaikan ilmu -ilmu yang dimiliki. Contohnya adalah:

a. Analisis finansial. b. Analisis medikal.

c. Analisis ilmu pengetahuan.

d. Rekayasa (desain, pencarian, kegagalan, perencanaan, manufaktur). 2. Formal Task

AI digunakan untuk melakukan tugas-tugas formal yang selama ini manusia biasa lakukan dengan lebih baik. Contohnya adalah:

a. Game.

b. Matematika (geometri, logika, kalkulus, integral). 3. Mundane Task

Secara harfiah mundane adalah keduniaan. AI digunakan untuk melalukan hal-hal yang sifatnya duniawi atau melakukan kegiatan yang dapat membantu manusia. Contohnya adalah:

a. Persepsi. b. Bahasa alami. c. Robot control.

Aplikasi kecerdasan buatan memiliki dua bagian utama yaitu:

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

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

2.2.1. Kecerdasan Buatan yang digunakan

(20)

2.2.1.1. Algoritma Genetika

Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis. Keberagaman pada evolusi biologis adalah variasi dari kromosom antar individu organisme. Variasi kromosom ini akan mempengaruhi laju reproduksi dan tingkat kemampuan organisme untuk tetap hidup. Pada dasarnya ada empat kondisi yang sangat mempengaruhi proses evaluasi yaitu:

1. Kemampuan organisme untuk melakukan reproduksi

2. Kebeeradaan populasi organisme yang bisa melakukan reproduksi 3. Keberagaman organisasi dalam suatu populasi

4. Perbedaan kemampuan untuk survive

Individu yang lebih kuat atau (fit) akan memiliki tinggkat survival dan tingkat reproduksi yang lebih tinggi jika dibandingkan dengan individu yang kurang fit. Pada kurun waktu tertentu (sering dikenal dengan istilah generasi), poulasi secara keseluruhan akan lebih banyak memuat organisme yang fit.

Algoritma genetika pertama kali dikembangkan oleh John Holland pada tahun 1975. John Holland mengatakan [5] bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Algoritma genetika adalah simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom.

2.2.1.1.1. Stuktur Algoritma Genetika

(21)

Generasi berikut dikenal dengan istilah anak (offspring) terbentuk dari gabungan dua kromosom generasi sekarang yang bertindak sebagai induk (parent) dengan menggunakan operator penyilangan (crossover). Selain operator penyilangan, suatu kromosom juga dapat dimodifikasi dengan menggunakan operator mutasi. Generasi baru dibentuk dengan menyeleksi nilai fitness sehingga ukuran populasi konstan. Setelah beberapa generasi, maka algoritma ini akan konvergen ke kromosom terbaik.

2.2.1.1.2. Teknik Penyandian

Teknik penyandian disini meliputi penyandian gen dari kromosom. Gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili satu variabel.

Gen dapat dipresentasikan dalam bentuk: string bit, pohon, array bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi lainnya yang dapat diimplementasikan untuk operator genetika.

Beberapa skema pengkodean yang paling umum digunakan:

1. Binary Encoding, setiap kromosom adalah suatu string dari bit 0 atau 1 Koromosom A 101 100 011 100

Koromosom B 110 111 111 011

2. Permutation Encoding, setiap kromosom merupakan string dari sejumlah angka/nomor yang merepresentasikan suatu posisi dalam suatu urutan. Koromosom A 1 2 3 4 6 7 5 9 8

Koromosom B 2 4 6 7 8 9 1 5 3

3. Value Encoding, setiap kromosom adalah suatu urutan dari beberapa nilai. Nilai tersebut bergantung pada permasalahan, seperti bilangan real, karakter dan objek lainnya.

(22)

2.2.1.1.3. Prosedur Inisialisasi

Ukuran populasi tergantung pada masalah yang akan dipecahkan dan jenis operator genetika yang akan diimplementasikan. Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang terdapat pada populasi tersebut. Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.

2.2.1.1.4. Fungsi Evaluasi

Suatu individu dievaluasi berdasarkan fungsi tertentu sebagai ukuran performansinya. Di dalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati. Pada masalah optimasi, jika solusi yang dicari adalah memaksimalkan sebuah fungsi h (dikenal dengan masalah maksimasi), maka nilai fitness yang digunakan adalah nilai dari fungsi h tersebut, yakni f=h (dimana f adalah nilai fitness). Tetapi jika masalahnya adalah minimalkan fungsi h (masalah minimasi), maka fungsi h tidak bisa digunakan secara langsung. Hal ini disebakan adanya aturan bahwa individu bernilai fitness tinggi lebih mampu bertahan pada generasi berikutnya. oleh karena itu nilai fitness yang digunakan adalah f=1/h, yang artinya semakin kecil nilai h, semakin besar nilai f. Tetapi hal ini akan menjadi masalah jika h bernilai 0, yang mengakibatkan f bisa bernilai tak hingga. Untuk mengatasinya, h perlu ditambah sebuah bilangan yang dianggap sangat kecil sehingga nilai fitnessnya menjadi f=1/(h=a), di mana a adalah bilangan yang dianggap sangat kecil dan bervariasi sesuai dengan masalah yang akan diselesaikan.

2.2.1.1.5. Seleksi Orang Tua

Pemilihan dua buah kromosom sebagai orang tua, yang akan dipindahsilangkan, biasanya dilakukan secara proporsional sesuai dengan nilai fitnessnya.

(23)

1. Seleksi Roulette-wheel

Sesuai dengan namanya, metode ini menirukan permainan roulette-wheel di mana masing-masing kromosom menempati potongan lingkaran pada roda roulette secara proporsional sesuai dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness paling tinggi menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom yang bernilai fitness rendah.

Tabel 2.2 Probabilitas seleksi & nilai fitness [5]

Individu ke- 1 2 3 4 5 6 7 8 9 10 11

Nilai Fitness 2 1.8 1.6 1.4 1.2 1.0 0.8 0.6 0.4 0.2 0.0 Probabilitas

Seleski 0.18 0.16 0.15 0.13 0.11 0.09 0.07 0.06 0.03 0.02 0.0

Gambar 2.2 Seleksi Roulette Wheel

Metode roullette-wheel sangat mudah diimplementasikan dalam pemrograman. Pertama, dibuat interval nilai kumulatif (dalam interval [0,1]) dari nial fitness masing-masing kromosom dibagi total nilai fitness dari semua kromosom. Sebuah kromosom terpilih jika bilangan random yang dibangkitkan berada pada interval nilai akumulatifnya.

2

1.8

1.6 1.4

1.2 1

0.8 0.6

0.4 0.2

Seleksi

Roulette Wheel

(24)

2. Tournament

Pada seleksi alam yang terjadi di dunia nyata, beberapa individu (biasanya individu jantan) berkompetisi dalam sebuah kelompok kecil sampai tersisa hanya satu individu pemenang. Individu pemenang inilah yang bisa kawin (pindah silang), metode tournamen mengadopsi karakteristik alami ini. Dalam bentuk paling sederhana, metode ini mengambil dua kromosom secara random dan kemudian menyeleksi salah satu yang bernilai fitness paling tinggi untuk menjadi orang tua pertama. Cara yang sama dilakukan lagi untuk mendapatkan orang tua yang kedua.

Metode tournament yang lebih rumit adalah dengan mengambil m kromosom secara random. Kemudian kromosom bernilai fitness tertinggi dipilih menjadi orang tua jika nilai random yang dibangkitkan kurang dari p. Apbila lebih maka dipilih kembali kromosom selain kromosom yang bernilai fitness tertinggi. P adalah probabilitas tournament yang biasanya diset sekitar 0,75. sedangkan m atau ukuran grup biasanya diset sebagai nilai yang sangat kecil, misal 4 atau 5.

2.2.1.1.6. Penentuan Parameter

Parameter disini adalah parameter kontrol algoritma genetika, yaitu: ukuran populasi (posize), peluan crossover (Pc), dan peluang mutasi (Pm). Nilai parameter ini ditentukan juga berdasarnya permasalahna yang akan dipercahkan. Ada beberapa rekomendasi yang bisa digunakan, antara lain: 1. Untuk permasalahan yang mewakili kawasan solusi cukup besar, De Jong

merekomendasikan untuk nilai parameter kontrol: (Poposize; Pc; Pm) = (50; 0.6, 0.001)

2. Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grefensette merekomendasikan:

(Poposize; Pc; Pm) = (30; 0.95, 0.01)

3. Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah:

(25)

4. Ukuran populasi sebaiknya tidak lebih kecil dari 30, utnuk sembarang jenis permasalahan.

2.2.1.1.7. Pindah Silang

Salah satu komponen paling penting dalam algoritma genetika adalah crossover atau pindah silang. Sebuah kromosom yang mengarah pada solusi yang bagus bisa diperoleh dari proses memindah-silangkan dua buah kromosom. Beberapa metode yang terdapat pada pindah silah yaitu [5]:

1. Penyilangan satu titiik (Single-point Crossover)

Pada penyilangan satu titik, posisi penyilangan k (k=1, 2… N-1) dengan N= panjang kromosom diseleksi secara random. Variabel-variabel ditukar antar kromosom pada titik tersbut untuk menghasilka-kan anak. Contoh ada 2 kromosom dengan panjang 12:

Induk 1 0 1 1 1 0 | 0 1 0 1 1 1 0 Induk 2 1 1 0 1 0 | 0 0 0 1 1 0 1 Setelah penyilangan, diperoleh kromosom- kromosom baru:

Anak 1 0 1 1 1 0 | 0 0 0 1 1 0 1 Anak 2 1 1 0 1 0 | 0 1 0 1 1 1 0 2. Penyilangan banyak titik (Multi-point crossover)

Pada penyilangan banyak titik, m posisi penyilngan ki (k = 1, 2… N-1, i=1,2,….m) dengan N= panjang kromosom diseleksi secara random dan tidak diperbolehkan ada posisi yang sama, serta diurutkan naik. Variabel-variabel ditukar antar kromosom pada titik tersebut untuk menghasilkan anak. Contoh ada 2 kromosom dengan panjang 12:

Induk 1 0 1 1 1 0 0 1 0 1 1 1 0 Induk 2 1 1 0 1 0 0 0 0 1 1 0 1 Posisi penyilangan yang terpilih:

Misalkan (m=3): 2 6 10 Setelah penyilngan, diperoleh kromosom-kromsom baru:

(26)

Pindah silang bisa juga berakibat buruk jika ukuran populasinya sangat kecil. Dalam suatu populasi yang sangat kecil, suatu kromosom dengan gen-gen yang mengarah ke solusi akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan suatu probabilitas tertentu Pc. Artinya, pindah silang bisa dilakukan hanya jika suatu bilangan random [0,1] yang dibangkitkan kurang dari Pc yang ditentukan. Pada umumnya Pc diset mendekati 1, misalnya 0, 8.

2.2.1.1.8. Mutasi

Setelah mengalami proses penyilangan, pada anak (offspriing) dapat dilakukan mutasi. Variabel anak (offspring) dimutasi dengan menambahkan nilai random yang sangat kecil (ukuran langkah mutasi), dengan probabilitas mutasi yang rendah. Peluang mutasi(Pm) didefinisikan sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi. Peluang mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi. Tetapi bila peluang mutasi ini terlalu besar, maka akan terlalulu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari berlajar dari histori pencarian. Ada beberapa pendapat mengenai laju mutasi ini. Ada yang berpendapat bahawa, laju mutasi sebesar 1/n akan memberikan hasil yang cukup baik. Ada juga yang beranggapan bahwa laju mutasi tidak tergantung pada ukuran populasinya. Kromosom hasil mutasi harus diperiksa, apakah masih berada pada domain solusi, dan bila perlu bisa dilakukan perbaikan.

(27)

1. Mutasi Bilangan Real

Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit ditentukan. Ukuran yang kecil bisanya sering mengalami kesuksesan, namun adakalanya ukuran yang lebih besar akan berjalan lebih cepat. Operator mutasi untuk bilangan real ini dapat ditetapkan sebagai:

a. Variabel yang dimutasi = variabel ± range*delta; (+ atau – memiliki probalitas yang sama).

b. Range = 0.5 * domain variabel; (interval pencarian).

c. Delta = ∑(ai * 2); ai= 1 dengan probabilitas 1/m, selain itu ai=0, dengan m=20;

Mutasi bilangan real dapat juga di lakukan dengan menggunakan metode non-uniform mutation [2][8]. Operasi mutasi non uniform dilakukan sebagai berikut:

JikaC = ( 1 … )

Adalah sebuah kromosom dimana t=generasi, dan elemen vk dipilih untuk dimutasi maka akan didapat sebuah vectorC = ( 1. . . . ) dimana

v = − ∆( ,+ ∆( , − )()( 1) 2) (persamaan 2.1)

jika a adalah sebuah bilang random 0 dan 1, maka jika a=0 pilih persamaan ke 1 ke 1, a=1 pilih persamaan ke 2. Fungsi ∆( , ) akan mengembalikan nilai pada rentang [0,y], sehingg peluang Fungsi ∆( , ) mendekati nol akan meningkat seiring dengan bertambahnya nilai t.

∆( , ) = ∗ (1 − ( ) (persamaaan 2.2)

Dimana r adalah sebuah bilangan acak [0...1], T adalah generasi maximum, b adalah sebuah parameter yang ditentukan untuk menyatakan derajat ketergantungan terhadap iterasi.

(28)

Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu beberapa nilai gen dari kromosom. Langkah- langkah mutasi ini adalah:

a. Hitung jumlah gen pada populasi (panjang kromosom dikalikan dengan ukuran populasi).

b. Pilih secara acak gen yang akan dimutasi.

c. Tentukan kromosom dari gen yang terpilih untuk dimutasi.

d. Ganti nilai gen (0 ke 1, atau 1 ke 0) dari kromosom yang akan dimutasi tersebut.

2.2.1.1.9. Penggantian Populasi

Dalam algoritma genetika dikenal skema penggantian populasi yang disebut generational peplacement, yang berarti semua individu (misal N individu dalam suatu populasi) dari suatu generasi digantikan sekaligus oleh N individu baru hasil pindah silang dan mutasi. Skema penggantian ini tidak realistis dari sudut pandang biologi. Di dunia nyata, individu-individu dari generasi berbeda bisa berada pada waktu yang bersamaan. Fakta lainnya adalah individu-individu muncul dan hilang secara konstan, tidak pada generasi tertentu. Secara umum skema pergantian populasi dapat dirumuskan berdasarkan suatu ukuran yang disebut generational gap G. Ukuran ini meunjukan persentase populasi yang digantikan dalam setiap generasi. Pada skema generational replacement, G = 1.

(29)

individu orang tua saja atau bisa juga berlaku pada semua individu dalam populasi.

2.2.1.2. Logika Fuzzy

Konsep tentang logika fuzzy diperkenalkan oleh Prof. Lotfi Astor Zadeh pada 1962. Logika fuzzy [5] adalah metodologi sistem kontrol pemecahan masalah, yang cocok diimplementasikan pada sistem, mulai dari sistem yang sederahana, sistem kecil, embedded system, jaringan PC, multi-channel atau workstation berbasis akurasi data, dan sistem kontrol[5]. Metodologi ini dapat diterapkan pada perangkat keras, perangkat lunak, atau kombinasi keduanya. Dalam logika klasik dinyatakan bahwa segala sesuatu bersifat biner, yang artinya adalah hanya mempunyai dua kemungkinan, “Ya atau Tidak”, “Benar atau Salah”, “Baik atau Buruk” dan lain-lain. Oleh karena itu, semua ini dapat mempunyai nilai keanggotaan 0 dan 1. Akan tetapi, dalam logika fuzzy memungkinakan nilai keanggotaan berada diantara 0 dan 1. Artinya, bisa saja suatu keadaan mempunyai dua nilai “Ya dan Tidak”, “Benar dan Salah”, “Baik dan Buruk” secara bersamaan, namun besar nilainya tergantung pada bobot keanggotaan yang dimilikinya. Logika fuzzy dapat digunakan diberbagai bidang, seperti pada sistem diagnosis penyakit (dalam bidang kedokteran), pemodelan sistem pemasaran, riset operasi (dalam bidang ekonomi), kendali kualitas air, prediksi adanya gempa bumi, klasifikasi dan pencocokan pola (dalam bidang teknik) [5].

Konsep himpunan fuzzy memiliki 2 atribut, yaitu [5]:

1. Linguistik, yaitu nama suatu kelompok yang me wakili suatu keadaan tertentu dengan menggunakan bahasa alami, misalnya dingin, sejuk, panas mewakili variable temperatur.

(30)

Gambar 2.3 Logika fuzzy [5] 2.2.1.2.1. Basis Pengetahuan Fuzzy

Fakta adalah bagian dari pengetahuan yang memuat informasi mengenai objek, peristiwa, atau situasi. Sedangkan kaidah (Rule base) berisi informasi tentang cara membangkitkan fakta baru atau hipotesa yang suda ada. Dalam pendefinisian tersebut biasanya dilakukan secara subjektif dan didasrkan pada pengalaman dan petimbangan yang menyangkut kerekayasaan, sehingga bergantung penuh pada perancang [5]. Kaidah atau rule base dalam fuzzy biasanya tersusun dengan pernyataan:

IF (antecedent) Then (consequent) atau dapat juga IF x is A Then y is B

Keterangan:

Antecedent: berisi himpunan fakta masukan (sebab) Consequent: berisi himpunan fakta keluaran (akibat).

2.2.1.2.2. Fuzzyfikasi

(31)

variabel linguistic menggunakan fungsi keanggotaan yang disimpan dalam basis pengetahuan fuzzy.

2.2.1.2.3. Logika Pengambilan Keputusan

Sering pula disebut sebagai Fuzzy Inference System (FIS) merupakan bagian terpenting dalam logika fuzzy. Logika pengambil keputusan merupakan kerangka komputasi yang didasarkan pada teori hmpunan fuzzy, aturan berbentuk IF-THEN, dan penalaran fuzzy. Fuzzy Infrerence system(FIS) menerima masukan crisp. Masukan ini kemudian dikirim ke basis pengetahuan yang berisi n aturan fuzzy berbentuk IF-THEN. Apabila jumlah aturan ebih dari satu, maka akan dilakukan agregasi dari semua aturan. Suatu aturan juga dapat mempunyai beberapa kondisi masukan, yang satu sama lainnya dihubungkan dengan AND atau OR untuk mendapatkan rule keluaran. Selanjutnya pada hasil agregasi akan dilakukan untuk mendapatkan nilai crisp sebagai keluaran sistem. Pada Fuzzy Inference system(FIS) dikenal adanya metode Sugeno dan metode Mamdani[5].

Metode sugeno diperkenalkan oleh Takagi-Sugeno Kang pada tahun 1985. Keluaran (output) yang diproses dengan metode ini adalah berupa konstanta atau persamaan linear.

Metode Mamdani sering juga dikenal dengan Metode Max-Min. Metode ini diperkenalkan oeleh Ebrahim Mamdani pada tahun 1975. Pada metode mamdani keluaran(output) yang dihasilkan berupa himpunan fuzzy.

2.2.1.2.4. Defuzzyfikasi

Merupakan proses mengubah output fuzzy yang diperoleh dari mesin inferensi menjadi nilai tegas menggunakan fungsi keanggotaan yang sesuai dengan saat dilakukan fuzzyfikasi.

2.2.1.2.5. Fungsi keanggotaan (Member Function)

(32)

akurat. Terdapat banyak sekali fungsi keanggotaan yang dapat digunakan, diantaranya adalah [5]:

1. Fungsi sigmoid

Sesuai dengan namanya, fungsi ini berbentuk kurva sigmoidala seperti huruf

[image:32.595.143.496.255.671.2]

S. Setiap nilai x (anggota crips set) dipetakan ke dalam interval [0,1]. Grafik dan notasi matematika untuk fungsi ini adalah sebagai berikut [5] :

Gambar 2.4 Fungsi sigmoid

(Persamaan 2.9)

2. Fungsi Segitiga

(33)

Gambar 2.5 Fungsi Segitiga

(Persamaan 2.10)

3. Fungsi Trapesium

Berbeda dengan fungsi segitiga, pada fungsi ini terdapat beberapa nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika ≤ ≥

[image:33.595.156.484.109.426.2]

Tetapi, derajat keanggotaan untuk ≤ ≥ memiliki karakteristik yang sama dengan fungsi segitiga. Grafik dan notasi matematika dari fungsi Trapesium adalah sebagai berikut [5]:

(34)

(Persamaan 2.11)

4. Fungsi Linear

Pada fungsi linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk kurva ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas. Ada 2 keadaan himpunan fuzzy yang linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi

Gambar 2.7 Fungsi linear derajat 0 ke 1

(35)

Kedua, merupakan kebalikan dari yang pertama. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah

Gambar 2.8 Fungsi linear derajat 1 ke 0

(Persamaan 2.13)

2.2.1.3. Genetic Fuzzy System

(36)
(37)

memodifikasi parameter himpunan fuzzy dari variabel input sehingga sistem dapat memberikan output yang mendekati data training yang diberikan.

2.2.2. Pemrograman Berorientasi Objek (Object Oriented Programming)

Pemrograman berorientasi objek adalah metode implementasi dimana pemogram diorganisasaikan sebagai komunitas objek yang bekerja sama berinteraksi.Masing-masing merepresentasikan instan suatu kelas yang menyediakn sejumlah layanan yang relatif sederhana.Objek-objek saling berkomunikasi untuk mempertukarkan informasi.Prilaku kompleks diperolah dengan kerjasama antar objek-objek.Kelas-kelas dapat merupakan anggota hirarki yang disatukan lewat hubungan pewarisan.

Tiga aspek penting dalam pemrograman beriorientasi objek:

1. Menggunakan objek-objek bukan algoritma-algoritma sebagai blok-blok bangunnan logik dasar (hirarki “part of”).

2. Masing-masing objek adalah instan suatu kelas.

3. Kelas-kelas saling berhubungan lewat keterhubungan perwarisan (“is a”).

Stroustrup mendeskripsikan permograman beriorientasi objek sebagai penggabungan abstraksi data dengan pewarisan. Fitur-fitur penting untuk mendukung abstraksi data adalah constructor dan destructor untuk penciptaan dan pemusnahan objek, tipe berparameter, mekanisme exception, object, coercions dan iteraror. Defenisi tersebut mengarah ke bahasa yang mendukung entitas-entitas independen yang disebut objek. Kelakukan objek harus didefenisikan tipe yang dapat didefenisiskan oleh program menggunakan bahasa.Tipe-tipe ini dapat dihubungkan melalui mekanisme pewarisan.

Tujuan nyata dari pemrogram adalah menciptakan kode yang benar (yaitu seluruhnya memenuhi kebutuhan), sementara kompilator hanya sanggup memeriksa sintaks dan membangkitkan kodek objek.

(38)

Unified Modeling Language (UML) adalah bahasa grafis untuk mendokumentasi, menspesifikasikan, dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak tergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, didukung oleh kakas-kakas yang diintegrasikan lewat XML.Standar UML dikelola oleh OMG (Object Management Group).

UML adalah bahasa pemodelan untuk menspesifikasikan, memvisualisasikan, membangun dan mendokumentasikan artifak-artifak dari sistem

1. Di dalam system intensive process, metode diterapkan sebagai proses untuk menurunkan atau mengevolusikan sistem.

2. Sebagai bahasa, UML digunakan untuk komunikasi yaitu alat untuk menangkap pengetahuan (semantiks) mengenai satu obyek dan mengekspresikan pengetahuan (sintaks) yang mempedulikan subyek untuk maksud berkomunikasi. Subyek adalah sistem yang dibahas.

3. Sebagai bahasa pemodelan, UML fokus pada pemahaman subyek melalui formulasi model dari subyek (dan konteks yang terhubung).Model memuat pengetahuan pada subyek, dan aplikasi dari pengetahuan ini berkaitan dengan intelejensia.

4. Berkaitan dengan unifikasi, UML memadukan praktek rekayasa terbaik sistem informasi dan industri, meliputi beragam tipe sistem (perangkat lunak dan non perangkat lunak), domain (bisnis, perangkat lunak) dan proses siklus hidup.

5. Begitu diterapkan untuk menspesifikasikan sistem. UML dapat digunakan untuk mengkomunikasi “apa” yang diperlukan dari sistem dan “bagaimana” sistem dapat direalisasikan.

6. Begitu diterapkan untuk memvisualisasikan sistem, UML dapat digunakan untuk menjelaskan sistem secara visual sebelum direalisasikan.

(39)

8. Begitu diterapkan untuk mendokumentasikan sistem, UML dapat digunakan untuk menangkap pengetahuan mengenai sistem pada selururh siklus hidup.

2.2.3.1. Tujuan UML

Tujuan utama perancanagn UML adalah:

1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti.

2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep-konsep inti.

3. Mendukung spesifikasi independen bahasa pemrograman dan proses pengembangan tertentu.

4. Menyediakan basis formal untuk pemahaman bahasa pemodelan. 5. Mendorong pertumbuhan pasar kakas berorientasi objek.

6. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.

2.2.3.2. Diagram UML

Kegunaan diagram pada pemodelan adalah untuk formulisasi ekspresi model objek secara koheren, presisi dan mudah dirumuskan. Pemodelan berorientasi objek memerlukan kakas untuk mengekspresikan model. UML menyediakan sejumlah diagran untuk mengekspresikan pemodelan berorientasi objek yang dilakukan.

1. Use case diagram

(40)

Pemodelan ini biasa dilakukan lewat proses berulang interaksi antara pengembang dan pemakai untuk memperoleh spesifikasi kebutuhan yang sama-sama disepakati. Pemodelan use-case diciptakan oleh Ivar Jacobson.

Tujuan utama pemodelan use-case adalah:

a. Memutuskan dan mendeskripsikan kebutuhan-kebutuhan fungsional sistem.

b. Memberikan deskripsi jelas dan konsisten dari apa yang seharusnya dilakukan, sehingga model use case digunakan di seluruh proses pengembangan untuk komunikasi dan menyediakan basis untuk pemodelan berikutnya yang mengacu sistem harus memberikan fungsionalitas yang dimodelkan pada use-case.

c. Menyediakan basis untuk melakukan pengujian sistem yang memverifikasi sistem.Menguji apakah sistem telah memberikan fungsionalitas yang diminta.

d. Menyediakan kemampuan melacak kebutuhan fingsionalitas menjadi kelas-kelas dan operasi-operasi aktual di sistem.Untuk menyederhanakan perubahan dan ekstensi ke sistem dengan mengubah model use-case dan kemudian melacak use-case yang dipengaruhi ke perancangan dan implementasi sistem.

Elemen diagram use-case adalah: a) Aktor

Aktor adalah pemakai sistem, dapat berupa manusia atau sistem terotomatisasi lain.Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa atau apa yang menggunakan sistem.Yang dimaksud dengan berinteraksi adalah aktor mengirim atau menerima pesan ke atau dari sistem, atau mempertukarkan informasi dengan sistem. Dalam perspektif aktor, use-case melakukan sesuatu yang berharga bagi aktor.

(41)

b) Use-Case

Use-case adalah cara spesifik penggunaan sistem oleh aktor.Ciri-ciri dari use-case adalah:

1. Pola perilaku yang harus dipenuhi oleh sistem.

2. Sekuen transaksi terhubung yang dilakukan aktor dan sistem. 3. Memberikan sesuatu yang berharga bagi aktor.

c) Hubungan antar use-case.

Keterhubungan antar use-case dengan user-case lain berupa generalisasi antar use-case, yaitu:

1. Include, perilaku use-case merupakan bagian dari use-case yang

lain. Sehingga sebuah use-case yang di include oleh use-case lain akan ikut di eksekusi pada saat use-case tersevut dijalankan.

2. Extend, perilaku use-case memperluas perilaku use-case yang lain. Use-case yang diextend akan menjadi sebuah pilihan (optional), use-Use-case yang diextend akan tetap ditampilkan oleh sistem akan tetapi prosesnya tidak akan dilakukan.

2. Activity Diagram

Activity diagram menggambarkan berbagai allur aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Aktivity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.

Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-triger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behavior internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur aktivitas dari level atas secara umum.

3. Sequence diagram

Sequence diagram mendeskripsikan komunikasi di antara objek-objek, meliputi pesan-pesan yang ada dan urutan pesan tersebut muncul.

(42)

1. Overview perilaku sistem.

2. Menunjukkan objek-objek yang diperlukan.

3. Mendokumentasikan skenario dari suatu diagram use case 4. Memeriksa jalur-jalur pengaksesan

Diagram kelas merupakan diagram paling umum dipakai di semua pemodelan berorientasi objek. Pemodelan kelas merupakan pemodelan paling utama di pendekatan berorientasi objek.Pemodelan kelas menunjukkan kelas-kelas yang ada di sistem dan hubungan antar kelas-kelas-kelas-kelas itu, atribut-atribut dan operasi-operasi di kelas-kelas.

2.2.4. C#

C# merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. C# adalah Java versi Microsoft, sebuah bahasa multi flatform yang didesain untuk bisa berjalan diberbagai mesin. C# memiliki kekuatan bahasa C++ dan portabilitas seperti Java. Fitur-fitur yang diambilnya dari bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar kelas (root class), dan juga penyerdehanaan terhadap pewarisan jamak (multiple inheritances).

Bahasa pemrograman C# dibuat sebgai bahasa pemrograman yang bersifat genaral-purpose (untuk tujuan jamak), berorientasi objek, modern, dan sederhana. C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem client-server (hosted system) maupun sistem embedded (embbeded system), mulai dari program aplikasi yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada program aplikasi yang sangat kecil.

(43)

37

3.1

Analisis Sistem

Analisis sistem bertujuan untuk memberikan gambaran mengenai system

yang nantinya akan dibangun. Sistem yang akan dibangun adalah sistem

penentuan waktu panen dengan menggunakan algoritma genetika dan logika

fuzzy

.

3.1.1

Analisis Masalah

Dalam penentuan waktu panen dari tanaman hortikultura bergantung

kepada tingkat kematangan dan tujuan pemanfaatan dari tanaman tersebut.

Sehingga waktu panen dari tanaman dapat disesuaikan dengan permintaan dari

konsumen ataupun pasar. Sebagai contoh tanaman tomat yang akan di pasarkan ke

pasar yang jauh, maka tanaman tomat di panen saat memasuki fase hijau masak

dan sedikit warna merah. Dan untuk tomat yang dikonsumsi maka di panen pada

saat fase matang warna merah dominan. Kata sedikit dan dominan pada penentuan

panen tersebut menimbulkan ketidakpastian, karena hanya bersisat perkiraan saja.

Oleh karenan itu perlu adanya sebuah ukuran nilai yang dibuat untuk

merepresentasikan tingkat kematangan dari tanaman. Cara yang dapat dilakukan

dengan melakukan proses komputasi, ialah dengan menggukur sendiri kelapangan

dimulai dari tanaman ditanam ditanah kemudian dihitung total harinya. Namun

bisa saja hasil pengukuran yang didapat akan berbeda-beda disetiap musim tanam,

Karena pertumbuhan tanaman sendiri dipengaruhi oleh berbagai faktor seperti

yang telah disebutkan pada bab sebelumnya.

(44)

lingkungan yang tidak pasti dan tidak tepat. Karena disini yang dihitung bukan

hanya satu jenis tanaman saja. Maka dalam pembuatan aturan fuzzy dan fungsi

keanggotaanya akan menjadi sulit dan membutuhkan waktu yang tidak sedikit.

Oleh karena itu digunakan juga algoritma genetika yang berfungsi untuk

membangkitkan nilai fungsi keanggotaan dan aturan fuzzy.

3.1.2

Analisis Data Masukan

[image:44.595.152.472.295.519.2]

Data masukan disini adalah berupa data index kematangan untuk tanaman

hortikultura dan data curah hujan.

Tabel 3.1 Parameter waktu panen

No Nama Tanaman

Parameter waktu panen

Index Kematangan

Curah hujan

1

Tomat Merah

Warna buah

-

Hijau

-

Kuning

-

Merah

-

Rendah

-

Sedang

-

Tinggi

2

Cabai Merah

Warna buah

-

Hijau

-

Merah

3.1.3

Analisis Metode

(45)

3.1.3.1

Analisis Algoritma Genetika

Algoritma Genetika digunakan untuk mengoptimalkan fungsi keanggotaan

dan aturan fuzzy. Adapun beberapa hal yang harus diperhatikan pada penggunaan

algoritma genetika yaitu :

3.1.3.2

Parameter Algoritma Genetika

Pada penelitian ini parameter genetika ditentukan sebagai berikut.

1.

Peluang crossover= 0.95

2.

Peluang mutasi = 0.01

3.

Generasi = 1000

4.

Populasi =30

5.

Seleksi menggunakan seleksi

roulete wheel

6.

Metode crossover yang digunakan

multi-point crossover

7.

Metode mutasi yang digunakan

non-uniform mutation

3.1.3.3

Pembentukan Popolasi Awal

Populasi awal dibentuk dengan menggunakan skema penggodean.

Populasi berupa sekumpulan solusi yang pada kasus ini adalah fungsi

keanggotaan dan aturan

fuzzy

.

1.

Pembentukan Kromosom

(46)
[image:46.595.130.530.111.347.2]

Gambar 3.1 Contoh grafik variabel fuzzy

Fungsi keanggotan trapezoid memiliki 4 titik untuk setiap nilai

linguistiknya maka dapat dibentuk sebuah representasi fungsi keanggotaanya

sebagai berikut:

Input warna(x)∈ [ , ]

a= nilai min

b= nilai max

misal X∈ [50,91]

maka x=[50,50,55,60,55,60,65,70,65,70,90,90]

Pada kebanyakan kasus fungsi trapezoid memiliki titik perpotongan yang

memiliki nilai yang sama. Sehingga untuk mempermudah proses maka nilai x

dapat dibuat menjadi

x= [0, 0, 55, 60, 65, 70, 90, 90]

Maka fungsi keanggotan untuk input warna(x) dapat di baca sebagai berikut:

Rendah = x0, x1, x2, x3

Sedang = x2, x3, x4, x5

Tinggi = x4, x5, x6, x7

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 10 20 30 40 50 60 70 90

(47)

untuk nilai x0,x1,x6,7 nilainya bersifat statis karenan merupakan batas awal dan

akhir fungsi keanggotaan. Nilai x2, x3, x4, x5 akan dibangkitkan secara acak

dengan menggunakan persamaan sebagai berikut:

X (i) = rand (a, b)

(Persamaan 3.1)

Sedangkan merepresentasikan aturan fuzzy kedalam kromosom maka variabel

linguistik fuzzy diubah kedalam bentuk bilangan integer Sebagai contoh:

input_warna memiliki 3 variable lingusitik rendah, sedang, dan tinggi maka nilai

ini Akan diubah kedalam bilangan

integer

yaitu 1, 2, 3.

Maka Akan didapat sebuah kromosom dengan panjang = jumlah panjang

variable

fuzzy

. Misalkan sistem fuzzy dengan 2

input

dan 1

output

.

Input

1

memiliki 3 variables,

input

2 memiliki 5 variable dan

output

memiliki 3 variabel.

Panjang representsi fungsi keanggotaan fuzzy, yaitu:

Panjang representasi= (axb)-(a-c)

(Persamaan 3.2)

a= jumlah variabel

b= 4, curva

trapezoid

memiliki 4 titik

c= jumlah curva

trapezoid

sempurna (curva diantara curva ke 1 dan akhir)

Input 1= (3x4)-(3+1) =8

Input 2= (5x4)-(5+3) =12

Output= (3x4)-(3+1) =8

Panjangkromosom = 8+12+8 =28

Adapun susanan fungsi keanggotaan dan aturan

fuzzy

dalam kromsom adalah

sebagai berikut:

Kita misalkan kromosom adalah sebuah

array

3 dimensi dengan panjang

array

28

Kromosom= [i, j, k]

i = posisi individu (i=0… populasi-1)

j= posisikromosom (j=0… panjangkromosom-1)

k= sebuah array berjumlah 4 buah, k=0, 1, 2, 3

Dimana

k=0, nilai representasi fungsi keanggotaan

(48)
[image:48.595.139.487.293.754.2]

Contoh: sebuah sistem

fuzzy

untuk menghitung waktu panen tanaman tomat,

memiliki 2 variable input (Warna, Curah Hujan) dan output (Waktu Panen).

Dengan variable linguistiknya yaitu Warna (hijau, kuning, merah), Curah Hujan

(sedang, rendah, tinggi) dan Waktu Panen (pendek, sedang, panjang). Fungsi

keanggotaan Warna memiliki batas (50-91) hari, Curah Hujan memiliki batas

(20-150) mm dan Waktu Panen (1-7) hari. Maka representasi kromosomnya untuk

individu 1-10 adalah sebagai berikut:

Tabel 3.2 Hasil Pembangkitan Nilai Individu

Indvidu Kromosom

Individu Kromosom

1

Kromosom 1 = 50,1,2,1 Kromosom 2 = 50,1,0,1 Kromosom 3 = 58,0,0,3 Kromosom 4 = 64,2,1,3 Kromosom 5 = 56,1,2,2 Kromosom 6 = 79,1,0,2 Kromosom 7 = 91,1,1,1 Kromosom 8 = 91,0,1,1 Kromosom 9 = 20,1,0,3 Kromosom 10 = 20,2,0,2 Kromosom 11 = 102,1,1,2 Kromosom 12 = 104,2,0,1 Kromosom 13 = 136,1,0,3 Kromosom 14 = 131,1,2,3 Kromosom 15 = 150,0,1,3 Kromosom 16 = 150,1,2,3 Kromosom 17 = 1,1,1,3 Kromosom 18 = 1,0,1,1 Kromosom 19 = 2,1,0,2 Kromosom 20 = 3,1,2,1 Kromosom 21 = 2,0,1,2 Kromosom 22 = 1,1,1,1 Kromosom 23 = 7,2,0,1 Kromosom 24 = 7,1,1,3

6

Kromosom 1 = 50,0,2,3 Kromosom 2 = 50,2,2,3 Kromosom 3 = 71,0,2,1 Kromosom 4 = 83,0,0,2 Kromosom 5 = 77,2,1,2 Kromosom 6 = 71,0,1,2 Kromosom 7 = 91,0,1,3 Kromosom 8 = 91,0,2,2 Kromosom 9 = 20,0,1,2 Kromosom 10 = 20,2,0,3 Kromosom 11 = 53,2,2,2 Kromosom 12 = 104,2,1,1 Kromosom 13 = 47,1,0,2 Kromosom 14 = 138,0,0,1 Kromosom 15 = 150,1,0,2 Kromosom 16 = 150,2,1,3 Kromosom 17 = 1,1,2,1 Kromosom 18 = 1,1,1,2 Kromosom 19 = 1,0,1,2 Kromosom 20 = 4,1,2,3 Kromosom 21 = 2,0,2,3 Kromosom 22 = 5,2,0,3 Kromosom 23 = 7,2,0,3 Kromosom 24 = 7,0,2,3

2

Kromosom 1 = 50,2,1,2

Kromosom 2 = 50,2,1,2 Kromosom 3 = 80,0,1,1 Kromosom 4 = 73,2,1,3 Kromosom 5 = 60,0,1,1 Kromosom 6 = 69,0,2,1 Kromosom 7 = 91,0,2,1 Kromosom 8 = 91,1,1,1 Kromosom 9 = 20,2,1,3 Kromosom 10 = 20,2,2,3 Kromosom 11 = 90,0,2,2 Kromosom 12 = 21,0,1,3 Kromosom 13 = 107,2,1,2 Kromosom 14 = 136,1,1,1 Kromosom 15 = 150,1,0,1 Kromosom 16 = 150,2,1,3

(49)

Kromosom 17 = 1,2,1,2 Kromosom 18 = 1,0,1,3 Kromosom 19 = 5,2,2,3 Kromosom 20 = 1,1,1,2 Kromosom 21 = 2,1,1,3 Kromosom 22 = 5,1,0,1 Kromosom 23 = 7,1,1,3 Kromosom 24 = 7,0,2,3

Kromosom 17 = 1,2,2,3 Kromosom 18 = 1,2,2,3 Kromosom 19 = 3,2,0,3 Kromosom 20 = 3,1,0,3 Kromosom 21 = 2,0,1,2 Kromosom 22 = 5,2,0,1 Kromosom 23 = 7,1,2,1 Kromosom 24 = 7,2,0,2

3

Kromosom 1 = 50,1,2,1

Kromosom 2 = 50,2,2,2 Kromosom 3 = 57,2,2,1 Kromosom 4 = 54,0,0,3 Kromosom 5 = 52,2,1,3 Kromosom 6 = 58,1,0,1 Kromosom 7 = 91,2,1,2 Kromosom 8 = 91,1,2,3 Kromosom 9 = 20,2,2,3 Kromosom 10 = 20,1,0,2 Kromosom 11 = 99,0,2,1 Kromosom 12 = 65,0,1,1 Kromosom 13 = 109,0,2,1 Kromosom 14 = 129,1,2,3 Kromosom 15 = 150,1,2,1 Kromosom 16 = 150,2,0,2 Kromosom 17 = 1,1,0,1 Kromosom 18 = 1,0,0,2 Kromosom 19 = 5,2,1,2 Kromosom 20 = 6,2,2,1 Kromosom 21 = 3,2,2,2 Kromosom 22 = 4,2,1,1 Kromosom 23 = 7,0,0,1 Kromosom 24 = 7,2,1,1

8

Kromosom 1 = 50,2,2,2 Kromosom 2 = 50,2,2,2 Kromosom 3 = 78,2,0,2 Kromosom 4 = 65,0,0,3 Kromosom 5 = 72,0,2,2 Kromosom 6 = 73,1,2,3 Kromosom 7 = 91,1,1,3 Kromosom 8 = 91,1,1,1 Kromosom 9 = 20,2,1,3 Kromosom 10 = 20,0,1,2 Kromosom 11 = 23,1,2,2 Kromosom 12 = 71,2,2,1 Kromosom 13 = 107,2,2,3 Kromosom 14 = 33,1,1,1 Kromosom 15 = 150,2,1,2 Kromosom 16 = 150,1,0,2 Kromosom 17 = 1,1,2,2 Kromosom 18 = 1,0,0,1 Kromosom 19 = 2,2,0,2 Kromosom 20 = 4,1,2,3 Kromosom 21 = 5,1,2,1 Kromosom 22 = 6,0,1,2 Kromosom 23 = 7,1,0,2 Kromosom 24 = 7,1,0,1

4

Kromosom 1 = 50,0,2,3

Kromosom 2 = 50,1,0,3 Kromosom 3 = 87,0,2,3 Kromosom 4 = 66,2,1,1 Kromosom 5 = 83,2,0,1 Kromosom 6 = 86,1,2,3 Kromosom 7 = 91,1,0,2 Kromosom 8 = 91,2,0,2 Kromosom 9 = 20,0,0,2 Kromosom 10 = 20,1,0,2 Kromosom 11 = 24,1,0,2 Kromosom 12 = 38,1,2,1 Kromosom 13 = 67,2,0,3 Kromosom 14 = 119,0,0,2 Kromosom 15 = 150,1,2,2 Kromosom 16 = 150,2,0,1 Kromosom 17 = 1,2,1,1 Kromosom 18 = 1,2,0,1 Kromosom 19 = 2,0,0,2 Kromosom 20 = 5,2,1,1 Kromosom 21 = 6,2,0,3 Kromosom 22 = 4,2,2,2 Kromosom 23 = 7,1,2,3 Kromosom 24 = 7,0,0,2

9

Kromosom 1 = 50,2,2,3 Kromosom 2 = 50,1,0,1 Kromosom 3 = 77,0,2,1 Kromosom 4 = 62,1,1,3 Kromosom 5 = 77,0,0,1 Kromosom 6 = 52,2,1,2 Kromosom 7 = 91,2,0,2 Kromosom 8 = 91,1,1,3 Kromosom 9 = 20,2,0,2 Kromosom 10 = 20,0,2,3 Kromosom 11 = 61,1,1,3 Kromosom 12 = 131,0,1,1 Kromosom 13 = 100,2,0,3 Kromosom 14 = 82,2,2,2 Kromosom 15 = 150,0,2,3 Kromosom 16 = 150,2,0,3 Kromosom 17 = 1,2,0,2 Kromosom 18 = 1,1,0,1 Kromosom 19 = 6,2,2,2 Kromosom 20 = 2,2,1,2 Kromosom 21 = 1,0,1,2 Kromosom 22 = 2,0,0,2 Kromosom 23 = 7,1,0,1 Kromosom 24 = 7,0,1,1

5

Kromosom 1 = 50,2,2,1

Kromosom 2 = 50,1,2,3 Kromosom 3 = 84,2,0,2

(50)

Kromosom 4 = 52,1,0,3 Kromosom 5 = 70,0,1,1 Kromosom 6 = 87,2,1,2 Kromosom 7 = 91,1,2,2 Kromosom 8 = 91,2,1,1 Kromosom 9 = 20,2,1,2 Kromosom 10 = 20,0,0,3 Kromosom 11 = 113,1,2,2 Kromosom 12 = 90,2,0,3 Kromosom 13 = 56,0,1,3 Kromosom 14 = 49,1,0,1 Kromosom 15 = 150,0,2,2 Kromosom 16 = 150,1,2,2 Kromosom 17 = 1,1,0,1 Kromosom 18 = 1,0,2,1 Kromosom 19 = 1,2,0,1 Kromosom 20 = 6,0,0,3 Kromosom 21 = 1,0,0,2 Kromosom 22 = 2,2,0,1 Kromosom 23 = 7,0,1,1 Kromosom 24 = 7,1,0,3

Kromosom 4 = 76,2,1,1 Kromosom 5 = 54,1,2,3 Kromosom 6 = 62,2,0,1 Kromosom 7 = 91,2,2,3 Kromosom 8 = 91,1,0,1 Kromosom 9 = 20,0,1,1 Kromosom 10 = 20,2,2,2 Kromosom 11 = 50,1,2,3 Kromosom 12 = 141,0,2,1 Kromosom 13 = 54,1,0,2 Kromosom 14 = 103,1,0,1 Kromosom 15 = 150,2,1,1 Kromosom 16 = 150,2,1,1 Kromosom 17 = 1,1,2,3 Kromosom 18 = 1,1,1,1 Kromosom 19 = 5,0,2,2 Kromosom 20 = 6,0,0,3 Kromosom 21 = 5,2,0,3 Kromosom 22 = 2,0,1,1 Kromosom 23 = 7,2,1,1 Kromosom 24 = 7,2,0,3

Dari kromosom diatas didapat representasi

fuzzy

dengan fungsi

keanggotan

trapezoid

dan jumlah aturan sebanyak panjang kromosom.

Selanjutnya setiap kromosom akan dievaluasikan untuk mendapatkan fungsi

keanggotaan dan aturan fuzzy yang optimum.

3.1.3.4

Evaluasi Kromosom

Pada tahap ini kromosom akan dievaluasi, untuk dapat mengevaluasi suatu

system fuzzy dibutuhkan setidaknya minimal 1 kombinasi nilai input dan output

dari tujuan yang akan dicari dengan menggunakan system fuzzy. Misalkan kita

ambil contoh tanaman tomat, dapat dikatakan matang bila tanaman setidaknya

memiliki warna Kuning pada hari ke 60, dengan curah hujan pada 1 minggu

kedepan 70 mm. Kemudian akan dihitung nilai erornya (E) dengan persamaan

E= 1/N(∑

− )

(persamaan 3.3)

Dengan

N = jumlah kombinasi input output yang diketahui

y = output system fuzzy

t = data output yang diketahui

(51)
[image:51.595.155.472.253.751.2]

f= 1/ (E+const+1)

(persamaan 3.4)

Dimana const di gunakan untuk menjada interval antara nilai dari fungsi

keanggotaan, agar interval yang didapat tidak terlau jauh dan tidak terlalu dekat,

const= 0 jika nilai interval terpenuhi, dan 1 jika tidak terpenuhi. Dari table 3.2

maka akan di dapatkan fungsi keanggotaan

fuzzy

, aturan dan nilai fitnessnya

sebagai berikut:

Tabel 3.3 Fungsi Keanggotaan Tiap Individu

Individu Warna

Curah Hujan

Waktu Panen

1

Hijau:50,50,56,58

Kuning:56,58,64,79 Merah:64,79,91,91 Rendah:20,20,102,104 Sedang:102,104,131,136 Tinggi:131,136,150,150 Panjang:1,1,1,2 Sedang:1,2,2,3, Panjang:2,3,7,7

2 Hijau:50,50,60,69

Kuning:60,69,73,80 Merah:73,80,91,91 Rendah:20,20,21,90 Sedang:21,90,107,136 Tinggi:107,136,150,150 Panjang:1,1,1,2 Sedang:1,2,5,5, Panjang:5,5,7,7

3 Hijau:50,50,52,54

Kuning:52,54,57,58 Merah:57,58,91,91 Rendah:20,20,65,99 Sedang:65,99,109,129 Tinggi:109,129,150,150 Panjang:1,1,3,4 Sedang:3,4,5,6, Panjang:5,6,7,7

4 Hijau:50,50,66,83

Kuning:66,83,86,87 Merah:86,87,91,91 Rendah:20,20,24,38 Sedang:24,38,67,119 Tinggi:67,119,150,150 Panjang:1,1,2,4 Sedang:2,4,5,6, Panjang:5,6,7,7

5 Hijau:50,50,52,70

Kuning:52,70,84,87 Merah:84,87,91,91 Rendah:20,20,49,56 Sedang:49,56,90,113 Tinggi:90,113,150,150 Panjang:1,1,1,1 Sedang:1,1,2,6, Panjang:2,6,7,7

6 Hijau:50,50,71,71

Gambar

Gambar 2.4 Fungsi sigmoid
Gambar 2.6 Fungsi Trapesium
Tabel 3.1 Parameter waktu panen
Gambar 3.1 Contoh grafik variabel fuzzy
+7

Referensi

Dokumen terkait

Sistem pakar atau juga dikenal dengan sistem berbasis pengetahuan adalah program komputer yang mencoba untuk mewakili pengetahuan dari pakar manusia dalam bentuk suatu

Salah satu metode yang bisa digunakan adalah Profile Matching, yaitu sistem pendukung keputusan yang dilakukan dengan cara membandingkan antara kriteria calon lokasi

Berdasarkan permasalahan yang terjadi, penulis dalam penelitian ini membuat sistem pendukung keputusan Menentukan Penerima Beasiswa Berprestasi Menggunakan Fuzzy Multiple

Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai keanggotaan setengah dari jumlah total nilai keanggotaan

Berdasarkan perancangan sistem, implementasi dan pengujian, dapat diambil kesimpulan bahwa metode fuzzy sugeno dapat diimplementasikan pada sebuah sistem pendukung

Maka dari itu, sistem pendukung keputusan untuk menentukan profit margin ini menggunakan metode fuzzy logic yang dapat membantu admin untuk menghindari

Sistem pendukung keputusan dengan metode Fuzzy Associative Memory dapat diterapkan dalam menentukan jumlah produksi sarung tangan karet berdasarkan permintaan. Proses

Metode Pengambilan Keputusan Dalam sistem pendukung keputusan menentukan kualitas pelayanan yang sesuai dengan kriteria yang diinginkan ini akan menggunakan metode Fuzzy Multiple