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