BAB III ANALISIS DAN PERANCANGAN III.1. Analisis Masalah Pada masa sekarang ini banyak produsen makanan yang berlomba lomba menciptakan berbagai jenis makanan yang bervariatif, dari jenis makanan yang hanya mampu bertahan 1 (satu) hari hingga jenis makanan yang mampu bertahan hingga 1 (satu) tahun bahkan lebih. Hal ini tidak lepas dari peranan bahan kimia dalam menentukan kemampuan makanan tersebut bertahan. Bahan kimia berperan sebagai pengawet dalam makanan yang membuat makanan mampu bertahan hingga berhari-hari bahkan berbulan-bulan. Namun tidak semua bahan kimia yang dipakai sebagai pengawet bisa digunakan dalam makanan, ada bahan kimia yang digunakan untuk pengawet tetapi dilarang dimanfaatkan untuk makanan. Namun saat ini banyak produsen makanan yang mengabaikan hal tersebut, dikarenakan tidak ingin mengalami kerugian. Saat ini untuk mendeteksi kandungan bahan kimia pada makanan harus dilakukan di Laboratorium Badan Pengawas Obat dan Makanan (BPOM) dan menyebabkan konsumen tidak bisa mendeteksi sendiri, hal ini sangat diperlukan suatu sistem yang dapat mendeteksi kandungan bahan kimia pada makanan yang dapat digunakan oleh public.
III.2. Penerapan Metode Fuzzy Logic Logika
fuzzy
merupakan
salah
satu komponen pembentuk soft
computing. Logika fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh
31
32
pada tahun 1965. Dasar dari logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy, keberadaaan
elemen
peranan dalam
derajat
keanggotaan
suatu himpunan
sangatlah
sebagai penentu penting.
Nilai
keanggotaan atau derajat keanggotaan atau membership function menjadi ciri utama dari penalaran dengan logika fuzzy tersebut. Solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum atruan, kemudian menggunakannya untuk memodifikasi daerah fuzzy, dan mengaplikasikannya ke output dengan menggunakan operator OR (union). Jika semua proposisi telah dievaluasi, maka output akan berisi suatu himpunan fuzzy yang merefleksikan kontribusi dari tiap tiap proposisi. Secara umum dapat dituliskan : μsf[xi] = max (μusf [Xi], μkf [Xi]) Dengan :μsf[Xi] =nilai keanggotaannya solusi fuzzy sampai aturan ke I μkf[Xi] =nilai keanggotaan konsekuan fuzzy aturan ke i. Misalkan ada 3 aturan (proposisi) sebagai berikut : [R1] IF Biaya Produksi RENDAH and Permintaan NAIK THEN Produksi Barang BERTAMBAH ; [R2] IF Biaya Produksi STANDARTHEN Produksi Barang NORMAL ; [R3] IF Biaya Produksi TINGGI And Permintaan TURUN THEN Produksi barang BERKURANG; Proses inferensi dengan menggunakan metode Max dalam melakukan komposisi ini sering disebut dengan nama MAX-MIN atau MIN-MAX atau MAMDANI.
33
Untuk proses perhitungan menggunakan algoritma Fuzzy logic dapat dilihat pada tabel III.1berikut ini. Tabel III.1. Tabel Himpunan Fuzzy Himpunan Fuzzy Untuk Variabel Kandungan Beracun (X) Beracun rendah(X)
1; X1<1 (30-X1)/29, 30≤X1≤30 0;X>30 Beracun sedang(X) 0, X31 atau X>70 (X-31)/14, 31 (70-X)/25, 45 Beracun tinggi(X) 0, X<71 (100-X)/29, 71 1, X>100 Himpunan Fuzzy Untuk Variabel Kandungan Reaktif (X) Reaktif Rendah(Y)
1, Y<1 (50-Y)/49, 1Y 0, Y>50 Reaktif Tinggi(Y) 0, Y<51 (Y-51)/49, 1Y 1,≥100 Himpunan Fuzzy Untuk Variabel Kandungan Terbakar (Z)
Terbakar rendah(Z)
Terbakar sedang(Z)
Terbakar tinggi(Z)
1, Z<1 (30-Z)/29,1 0, Z>30 0, Z<31 atau Z>70 (Z-30)/14, 31 (70-Z)/25, 45 0, Z<71 (Z-71)/29, 71 1, Z>100
Ada empat (4) tahap proses fuzzy yang dilakukan pada aplikasi ini, yang dimana 4 proses tersebut akan dijabarkan pada keterangan berikut ini, yaitu: 1.
Menggambarkan Proses Keanggotaan Membership function atau kurva yang menunjukan nilai antar 0 dan 1,
dengan cara melakukan fungsi keanggotaan, kombinasi fungsi keanggotaan
34
segitiga dan trapesium, atau fungsi keanggotaan linear, sehingga ketika kita memilih nilai kenaggotaan tinggi, maka bisa jadi 1 > tinggi, 1 < rendah atau 1 = sedang. dengan nilai max rendah 1..30, nilai max sedang 31..70, dan nilai max 70..100. 2.
Proses Fuzzyfikasi Fase pertama dari perhitungan fuzzy secara umum, yaitu perubahan nilai
tegas (30,70,100) ke nilai samar (fuzzy), dengan cara menginput nilai tegas lalu dihitung (bisa manual/ melalui programming teknik), dilakukan secara programming teknik, jadi inputan berasal dari konsumen melalui pertanyaan (salah satu methode kualitas pelayanan) yang hanya dilakukan oleh manajer/ administrator. Untuk perhitungan menggunakan fungsi keanggotan segitiga dan trapesium. a.
Variabel Beracun Berikut adalah cara untuk mendapatkan nilai keanggotan berdasarkan
variabel linguistik dan variabel numerik yang digunakan :
µ[x]RENDAH =
µ[x]SEDANG =
{ {
1;
x≤30 ;
0;
30≤x≤71 x≥ 71
0;
x≤30 atau x≥70 ;
30≤x≤71
;
71≤x≤100
35
µ[x]TINGGI =
{
0;
x≤71 ;
71≤x≤100
1;
x≥100
Himpunan Fungsi : a. Rendah 1..30 b. Sedang 31..70 c. Tinggi 71..100 Rendah
Sedang
Tinggi
30
70
100
1
b.
Variabel Reaktif Berikut adalah cara untuk mendapatkan nilai keanggotan berdasarkan
variabel linguistik dan variabel numerik yang digunakan :
µ[y]RENDAH =
µ[y]TINGGI =
{
1;
{
0;
y≤50 ;
0;
y≥ 100
y≤51 ;
1;
51≤y≤100
51≤y≤100 y≥100
36
Himpunan Fungsi : a. Rendah 1..50 b. Tinggi 51..100
Rendah
Tinggi
50
100
1
c.
Variabel Terbakar Berikut adalah cara untuk mendapatkan nilai keanggotan berdasarkan
variabel linguistik dan variabel numerik yang digunakan :
µ[z]RENDAH =
µ[z]SEDANG =
µ[z]TINGGI =
{ { {
1;
z≤30 ;
0;
z≥ 70
0;
z≤30 atau z≥100 ;
30≤z≤71
;
71≤z≤100
0;
z≤71 ;
1;
30≤z≤71
71≤z≤100 z≥100
37
Himpunan Fungsi : a. Rendah 1..30 b. Sedang 31..70 c. Tinggi 71..100
Rendah
Sedang
Tinggi
30
70
100
1
Untuk perhitungan secara manual, sebagai sample diambil 1 jenis bahan bahan kimia. Misalkan bahan kimia tersebut Natrium Benzoat yang inputan nilai nya 45 miligram, maka perhitungannya sebagai berikut : 1.
2.
Penghitungan untuk Beracun µ[x]RENDAH =
=
= 0,6
µ[x]SEDANG =
=
= 0,3
Penghitungan untuk Reaktif µ[y]RENDAH =
3.
=
= 0,1
Penghitungan untuk Terbakar µ[z]RENDAH =
=
= 0,8
µ[z]SEDANG =
=
= 0,3
38
3.
Proses Fuzzyfikasi Query Ini dia keuntungan menggunakan fuzzyfikasi query database, karena kita
masih memanfaatkan kueri standar RDBMS (Relational Database Management System). Kueri standar nya ” SELECT * FROM [table-name] WHERE “, disini memanfaatkan fungsi WHERE lebih dari 1 kondisi. 4.
Dasar Zadeh Untuk Operasi Himpunana Fuzzy Dengan clausea AND atau OR yang sedang disebut dengan aturan Zadeh,
dimana nilai AND itu min dan nilai OR itu max dari hasil proses perhitungan yang mendekati nilai 1. (Dwi Martha Sukandy ; 2011 ; 5)
III.3. Desain Sistem Pada perancangan sistem secara menjelaskan mengenai rancangan yang akan dikerjakan serta fitur-fitur yang akan dipakai pada aplikasi tersebut seperti metode yang digunakan dalam rancangan, rancangan layar, dan lainnya. Untuk menggambarkan proses sistem penulis menggambarkan dengan menggunakan beberapa diagram, yaitu sebagai berikut.
III.3.1.Use Case Diagram Use case diagram berfungsi untuk menggambarkan kegiatan aktor atau pengguna aplikasi. Adapun use case diagram aplikasi dilihat pada gambar III.1 berikut.
yang dirancang dapat
39
Gambar III.1. Use Case Diagram Sistem Yang Dirancang Sesuai dengan gambar III.1. diatas maka sistem baru yang dirancang dapat dijelaskan sebagai berikut: 1. Untuk dapat mengakses aplikasi admin melakukan login sehingga tampil menu utama yang dapat menjalankan aplikasi dan admin dapat menginputkan jenis makanan dan data bahan kimia. 2. Pengguna atau user masuk kedalam aplikasi dan dapat menggunakan aplikasi untuk menentukan makanan mengandung bahan kimia atau tidak dengan menginputkan jenis makanan. III.3.2.Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram
juga dapat
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state
40
adalah action dan sebagian besar transisi di-trigger
oleh selesainya state
sebelumnya (internal processing). Oleh karena itu
activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan , sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. 1.
Activity Diagram pengguna Adapun activity diagram dalam proses sitem yang dibangun dapat dilihat
pada gambar III.2 penjelasan berikut.
Gambar III.2.
Activity Diagram Pengguna
41
2.
Activity Diagram Input Bahan Kimia Adapun activity diagram dalam proses penginputan bahan kimia yang
dibangun dapat dilihat pada gambar III.3 berikut.
Gambar III.3. 3.
Activity Diagram Input Bahan Kimia
Activity Diagram Input Jenis makanan Adapun activity diagram dalam proses penginputan jenis makanan yang
dibangun dapat dilihat pada gambar III.4 berikut.
42
Gambar III.4.
Activity Diagram Input Jenis makanan
III.3.3.Sequence Diagram Adapun sequence diagram ini menjelaskan tentang penggunaan aplikasi baik yang dilakukan oleh admin. Fungsi diantara dua aktor tersebut berbeda, admin dapat menginputkan data yang diperlukan oleh pengguna yang dapat dijelaskan dibawah ini. 1.
Sequence diagram Input Bahan Kimia Sequence diagram tersebut menggambarkan aktifitas yang dilakukan oleh
admin dalam menginputkan bahan kimia pada makanan yang dapat dilihat pada gambar III.5 berikut ini.
43
Gambar III.5. Sequence Diagram Input Bahan Kimia 2.
Sequence diagram Input Jenis makanan Sequence diagram berikut ini merupakan gambaran yang terjadi dimana
pada saat admin melakukan penginputan jenis makanan. Sequence tersebut dapat dilihat pada gambar III.6 berikut ini.
Gambar III.6. Sequence Diagram Input Jenis makanan
44
III.3.4.Class Diagram Rancangan pada Class diagram digunakan untuk menampilkan kelas-kelas dan paket-paket di dalam sistem. Class diagram memberikan gambaran sistem secara statis dan relasi antar mereka. Untuk class diagram pada sistem yang dirancang dapat dilihat pada gambar III.7 berikut ini. Admin Id_admin: *Varchar(5)
1
Username: Varchar(20) Nama: Varchar(50) Email: Varchar(50) Alamat: text() Telp: Varchar(15) Pass: Varchar(32)
1
1
*
*
tbl_komposisi_kimia Id_kimia: *Int(11) Nama_kimia: Varchar(50)
*
*
tbl_fuzzy
tbl_Komposisi
Id: *Int(10) Beracun_rendah: Int(10) Berancun_sedang: Int(10) Beracun_tinggi: Int(10) Reaktif_rendah: Int(10) Reaktif_tinggi: Int(10) Terbakar_rendah: Int(10) Terbakar_sedang: Int(10) Terbakar_tinggi: Int(10)
Id_komposisi:*Type(11) Nama_Komposisi:Varchar(50) Keterangan:Varchar() Id_kimia:int(11) Berancun:int(11) Reaktif:int(11) Terbakar:int(11)
*
* 1 Proses
1
-Knowladge
1
+Proses
Gambar III.7. Class Diagram III.4. Rancangan Database Database merupakan komponen penting dalam pembangunan sebuah aplikasi, karena menjadi tempat untuk menampung dan mengorganisasikan seluruh data ke sistem, sehingga dapat dikembangkan untuk menyusun informasi maupun data dalam berbagai bentuk.
45
III.4.1.Kamus Data Kamus data merupakan suatu daftar komposisi elemen data, Pengisisan data Dictionary dilakukan setiap saat selama proses pengembangan berlangsung, ketika diketahui adanya data item atau saat diperlukan penambahan data item ke dalam sistem. Berikut ini kamus data dari database yang dirancang. Admin
= Id_Admin + Username + Nama + Email + Alamat + Telepon + Pass.
Fuzzy
= Id + Beracun_rendah + Berancun_sedang + Beracun_tinggi + Reaktif_rendah + Reaktif_tinggi + Terbakar_rendah + Terbakar_sedang + Terbakar_tinggi.
Komposisi
= Id_komposisi + Nama_Komposisi + Keterangan + Id_kimia + Berancun + Reaktif + Terbakar.
Bahan Makanan = Id_kimia + Nama_kimia.
III.4.2. Desain Tabel Setiap database memiliki rancangan tabel yang digunakan untuk penyimpanan atau pengolahan data. Sehingga dalam database terdapat tabel – tabel dengan beberapa field yang mewakili sebuah klasifikasi data tertentu. Berikut ini desai dari tabel yang dirancang oleh penulis
46
1. Tabel Admin Tabel Kriteria berguna untuk input data Admin. Tabel III.2. tb_Admin Field name Id_ admin Username Nama Email Alamat Telp Pass
Type Varchar Varchar Varchar Varchar Text Varchar Varchat
Size 5 20 50 50 0 15 32
Index Primary key -
Description Id admin Username Nama Email Alamat Telepon Pass
2. Tabel Fuzzy Tabel Fuzzy berguna untuk input data bahan kimia yang terkandung pada makanan. Tabel III.3. tbl_fuzzy Field name Id Beracun_rendah Berancun_sedang Beracun_tinggi Reaktif_rendah Reaktif_tinggi Terbakar_rendah Terbakar_sedang Terbakar_tinggi
Type Int Int Int Int Int Int Int Int Int
Size 10 10 10 10 10 10 10 10 10
Index Primary Key -
Description Id Beracun rendah Berancun sedang Beracun tinggi Reaktif rendah Reaktif tinggi Terbakar rendah Terbakar sedang Terbakar tinggi
47
3. Tabel Komposisi Tabel Komposisi berguna untuk input data Komposisi yang terkandung pada makanan. Tabel III.4. tbl_ komposisi Field name Id_komposisi Nama_Komposisi Keterangan Id_kimia Berancun Reaktif Terbakar
Type Type varchar varchar Int Int Int Int
Size 11 50 0 11 11 11 11
Index Prima ry Key -
Description Id komposisi Nama Komposisi Keterangan Id_kimia Berancun Reaktif Terbakar
4. Tabel Komposisi Bahan Kimia Tabel komposisi bahan Kimia berguna untuk input komposisi bahan Kimia. Tabel III.5. tbl_komposisi_kimia Field name Id_kimia Nama_kimia
Type Int Varchar
Size 11 50
Index Primary Key
Description Id kimia Nama kimia
III.5. Desain Interface Pada sub bab ini merupakan pembahasan mengenai rancangan pada aplikasi yang akan dikembangkan. Adapun rancangan yang akan dijelaskan dan digambarkan berikut ini merupakan suatu interface dari aplikasi yang akan dirancang sehingga proses perancangan berjalan dengan baik dan sesuai dengan yang diharapkan. Rancangan tampilan tersebut dapat dilihat sebagai berikut.
48
III.5.1.Design Interface User Disain interface user menampilkan halaman yang dapat diakses oleh para pengguna aplikasi. Untuk disain tersebut terdapat pada beberapa disain berikut ini.
1. Form Menu Utama User Pada halaman ini berfungsi sebagai menu utama yang tersedia pada aplikasi. Dalam halaman beranda, pengguna mengunputkan komposisi Dengan menampilkan beberapa menu yang dapat difungsikan. Rancangan form menu dapat dilihat pada gambar III.8 berikut ini.
Branda
Bahan Kimia Makanan
Help
About
Selamat Datang
Bahan Kimia :
Gambar III.8. Rancangan Form Menu Utama 2. Rancangan Form Input Jumlah Bahan Pada halaman ini menampilkan rancangan form yang disediakan untuk mengisi jumlah bahan agar aplikasi dapat diproses dan mengetahui hasilnya. Form dapat dilihat digambar III.9 berikut ini.
49
Branda
Bahan Kimia Makanan
Help
About
Bahan Kimia :
No
Bahan Kimia
Jumlah
1
Xxx
0
2
Xxx
0 Proses
Gambar III.9.
Rancangan Form Input Jumlah Bahan
3. Rancangan Form Help Pada halaman ini menampilkan rancangan form yang disediakan untuk membantu pengguana aplikasi yang dapat dilihat pada gambar III.10 berikut ini.
Branda
Bahan Kimia Makanan
Help / Bantuan
Gambar III.10. Rancangan Form Help
Help
About
50
4. Rancangan Form About Pada halaman ini menampilkan rancangan form About yang disediakan, halaman ini merupakan halaman untuk membantu pengguana memberikan penjelasan tentang aplikasi yang dirancang. Adapun rancangan form tersebut dapat dapat dilihat pada gambar III.11 berikut ini.
Branda
Bahan Kimia Makanan
Help
About
About Program
Gambar III.11. Rancangan Form About
III.5.2.Design Interface Admin Pada aplikasi yang dirancang akan memiliki tampilan-tampilan yang dapat diakses oleh admin untuk menginputkan beberapa data yang dibutuhkan. Adapun tampilan bagi admin dapat dilihat pada bebrapa bagian berikut. 1.
Interface Menu Login Admin
Tampilan menu login admin ini berfungsi untuk admin sehingga admin dapat menginputkan data yang diperlukan, halaman tersebut dapat dilihat pada gambar III.12. berikut
51
Username Password Login
Cancel
Gambar III.12. Rancangan Form Login 2.
Interface Data Admin
Rancangan form data admin ini merupakan tampilan yang mengediaan beberapa menu yang dapat digunakan oleh admin yang dapat dilihat pada gambar III.13 dibawah ini.
Halaman Data Admin
Branda
Bahan Kimia
Makanan
Tamba h
No Xxx Xxx Xxx
Email Xxx Xxx Xxx
Nama Xxx Xxx Xxx
Alamat Xxx Xxx Xxx
Telepon Xxx Xxx Xxx
Log Out
Edit
Aksi Tambah Edit Tambah Edit Tambah Edit
Gambar III.13. Rancangan Form Data Admin
52
3.
Interface Tambah Admin Admin dapat menginputkan atau menambah admin dengan mengikuti
langkah-langkah yang tersedia yang dapat dilihat pada gambar III.14 berikut.
Halaman Tambah Admin
Branda
Bahan Kimia
Makanan
Log Out
Nama Lengkap : Username : Email : Alamat : Telepon : Password : Ulangi password : Submit
Reset
Gambar III.14. Rancangan Form Tambah Admin 4.
Interface Bahan Kimia
Pada rancangan interface bahan kimia, merupakan tampilan bahan-bahan kimia yang ada. Rancangan tampilan tersebut terdapat pada gambar III.15 berikut.
53
Halaman Data Bahan Kimia
Branda
Bahan Kimia
Tambah
No Xxx Xxx Xxx
Nama Kimia Xxx Xxx Xxx
Makanan
Log Out
Edit
Aksi Tambah Edit Tambah Edit Tambah Edit
Gambar III.15. Rancangan Tampilan Bahan Kimia 5.
Interface Tambah Bahan Kimia
Rancangan tampilan bahan kimia terdapat pada gambar III.16 berikut, yang merupakan form yang disediakan untuk admin dalam menambahkan bahan kimia pada apikasi, yaitu :
Halaman Tambah Bahan Kimia
Branda
Bahan Kimia
Makanan
Log Out
Nama Bahan : Kimia : Submit
Reset
Gambar III.16. Rancangan Tambah Bahan Kimia
54
6.
Interface Data Makanan
Rancangan interface data makanan merupakan tampilan yang menampilkan jenis makanan yang tersedia yang dapat dilihat pada gambar III.17 berikut.
Halaman Data Komposisi
Branda
Bahan Kimia
Makanan
Tambah
No Xxx Xxx Xxx
Jenis Makanan Xxx Xxx Xxx
Keterangan Xxx Xxx Xxx
Log Out
Edit
Aksi Tambah Tambah Tambah
Edit Edit Edit
Gambar III.17. Rancangan Tampilan Data Makanan
7.
Interface Tambah Data Makanan
Untuk rancangan foem tambah data makanan merupakan tampilan yang berfungsi untuk menginputkan jenis makanan yang baru. Tampilan tersebut dapat dilihat pada gambar III.18 berikut.
55
Halaman Tambah Komposisi
Branda
Bahan Kimia
Makanan
About
Nama Makanan : Keterangan : No
Nama Kimia
Kandungan Beracun/100mg
Kandungan Kandungan Reaktif/100mg Terbakar/100mg
Submit
Reset
Gambar III.18. Rancangan Tambah Data Makanan