Skripsi
Skripsi
SKRIPSI
Disusun Oleh:
NIM : 20141000050
Nama : Gerry Owanda
TANGERANG
2019
SISTEM PREDIKSI JUMLAH PRODUKSI ROTI MENGGUNAKAN
METODE FUZZY TSUKAMOTO
SKRIPSI
Diajukan sebagai salah satu syarat untuk kelengkapan studi pada Program Studi
Teknik Informatika
Disusun Oleh:
NIM : 20141000050
Nama : Gerry Owanda
TANGERANG
2019
PERSEMBAHAN
“Mereka yang jatuh dan bangun karena keringat dan darah mereka sendiri, bukan karena
orang tuanya, lebih kuat dimanapun dia berdiri”
(Bob Sadino)
Dengan mengucap puji syukur kepada Tuhan Yang Maha Esa, Skripsi ini kupersembahkan
untuk:
1. Papa. (Yan Sujana), Mama. (Cin Wah), tercinta yang telah membesarkan aku dan
selalu membimbing, mendukung, memotivasi memberi apa yang terbaik bagiku serta
selalu mendoakan aku untuk meraih kesuksesanku.
2. Adikku (Hilman Owanda) serta keluargaku yang telah memberiku semangat.
3. Teman-teman dan semua orang yang turut memberi semangat dan membantuku.
Tanpa mereka,
Aku dan karya ini tak akan pernah ada
KATA PENGANTAR
Dengan mengucapkan Puji Syukur kepada Tuhan Yang Maha Esa, yang telah
memberikan berkah dan karunia-Nya kepada penulis sehingga dapat menyusun dan
menyelesaikan Skripsi ini, dengan judul “Sistem Prediksi Jumlah Produksi Roti
Menggunakan Metode Fuzzy Tsukamoto”. Pembuatan Skripsi ini dilakukan penulis
dengan tujuan sebagai syarat untuk menyelesaikan program pendidikan Strata 1 Program
Studi Teknik Informatika di Universitas Buddhi Dharma. Dalam penyusunan Skripsi ini
penulis banyak menerima bantuan dan dorongan baik moril maupun materiil dari berbagai
pihak, maka pada kesempatan ini penulis menyampaikan rasa terima kasih yang sebesar-
besarnya kepada:
Serta semua pihak yang terlalu banyak untuk disebutkan satu persatu sehingga
terwujudnya penulisan ini. Penulis menyadari bahwa penulisan Skripsi ini masih belum
sempurna, untuk itu penulis mohon kritik dan saran yang bersifat membangun demi
kesempurnaan penulisan dimasa yang akan datang.
ix
x
Akhir kata semoga Skripsi ini dapat berguna bagi penulis khususnya dan bagi para
pembaca yang berminat pada umumnya.
Penulis
Sistem Prediksi Jumlah Produksi Roti Menggunakan Metode Fuzzy Tsukamoto
88 + xviii Halaman/ 12 Tabel/ 30 Gambar/ 19 Pustaka
ABSTRAK
Suatu perusahaan produksi harus mengambil keputusan yang tepat dalam memprediksi
jumlah produksi yang akan diproduksi. Penjualan roti pada Zaitun Bakery mengalami
ketidakpastian dan pihak perusahaan hanya mengandalkan prediksi dengan cara manual
dalam memproduksi roti pada tiap bulannya. Hal tersebut tentunya akan membuat pihak
perusahaan kesulitan dalam mengetahui jumlah produk yang harus diproduksi. Untuk dapat
mengatasi hal tersebut dan meningkatkan kinerja dari perusahaan, maka diperlukan proses
prediksi secara cepat dan sesuai yang dapat mengatasi permasalahan dalam menentukan
jumlah produksi. Metode yang digunakan adalah metode Fuzzy Tsukamoto. Di mana metode
ini di pilih karena sebuah metodologi berhitung dengan variabel kata-kata, sebagai pengganti
berhitung dengan bilangan, sistem kepakaran manusia bisa diimplementasikan ke dalam
bahasa mesin secara mudah dan efisien. Identifikasi kebutuhan pemakai diperlukan dalam
perancangan untuk menentukan fitur-fitur apa saja yang dapat digunakan dalam aplikasi dan
menggunakan story board agar dapat mengetahui gambaran dari aplikasi. Pengujian sistem
dengan menggunakan metode white box dengan menganalisa alur aplikasi dan black box
dengan menguji semua tombol pada aplikasi serta menggunakan kuisioner untuk mengetahui
pendapat pengguna mengenai aplikasi yang telah dibuat. Berdasarkan hasil penelitian dapat
disimpulkan bahwa dengan aplikasi ini membantu mempermudah dan mempersingkat waktu
dalam menentukan jumlah produksi yang menghasilkan perbandingan saran jumlah
produksi yang dihasilkan dengan penjualan memiliki selisih yang lebih sedikit dibandingkan
sebelum menggunakan aplikasi.
xi
The Prediction System Of Bread Production Amount Using The Fuzzy Tsukamoto Method
88 + xviii Page/ 12 Table/ 30 Image/ 19 Library
ABSTRACT
A production company must take the right decisions in predicting the amount of production
to be produced. Selling bread at the Zaitun Bakery experience uncertainty and corporate
parties rely solely on predictions by manual in producing bread in each month. It certainly
will make the party the company's difficulty in knowing the amount of product that should
be produced. To be able to cope with it and improve the performance of the company, then
the necessary process of prediction rapidly and accordingly that can overcome the problems
in determining the amount of production. The method used is the method of Fuzzy
Tsukamoto. Where this method is selected because it is a methodology of counting with
variable words, instead of counting with numbers, the system of human expertise can be
implemented into machine language easily and efficiently. Identification of user needs is
required in the design to determine what features can be used in the application and use the
story board to be able to know the description of the application. Testing system using white
box with the application flow and analyze the black box by testing all the buttons on the
application as well as the use of a detailed questionnaire to find out user opinions about
applications that have been created. Based on the results of the study it can be concluded
that with this application helps simplify and shorten time in determining the amount of
production that produces a number of advice comparative production generated by sales
has difference fewer than before using the application.
xii
DAFTAR ISI
xiii
xiv
xvi
DAFTAR GAMBAR
xvii
DAFTAR LAMPIRAN
xviii
BAB I
PENDAHULUAN
Dalam menjalankan suatu usaha selalu berhadapan dengan kondisi pasar yang
tidak menentu dan terus berubah-ubah. Maka dari itu perusahaan diharuskan selalu
peka dengan apapun yang terjadi di pasar dan apa yang konsumen inginkan serta
konsumen terhadap produk yang dihasilkan perusahaan, baik dengan cara manual
haruslah mampu untuk merencanakan berapa banyak jumlah produksi yang akan
permintaan yang selalu tidak menentu setiap waktunya, maka setiap perusahaan selalu
memproduksi produknya dalam jumlah yang berbeda pada setiap proses produksinya.
Zaitun Bakery Tangerang merupakan salah satu toko roti yang sering
mengalami ketidakstabilan permintaan pasar terhadap produk roti. Hal itu menjadi
sehingga sangat tidak efektif dan tidak efisien. Zaitun Bakery Tangerang sering
1
2
memproduksi roti yang berlebih, yang mgngakibatkan sebagian roti tidak terjual
Sistem untuk memprediksi jumlah produksi adalah salah satu cara untuk
mengatasi masalah dalam menentukan jumlah produksi pada Zaitun Bakery. Dengan
menggunakan sistem ini maka penentuan jumlah produksi akan lebih cepat dan akurat.
Selain itu juga penggunaan metode Fuzzy Tsukamoto yang sering digunakan dalam
Oleh karena itu itu penulis menyusun atau membuat suatu program aplikasi
Dengan adanya latar belakang yang tersaji diatas, maka diambil suatu rumusan
permasalahan yaitu:
2. Berapa tingkat akurasi yang dihasilkan dalam menentukan jumlah produksi roti?
3
produksi.
3. Sistem pendukung keputusan ini memprediksi jumlah produksi roti untuk bulan
berikutnya.
5. Variabel yang digunakan adalah variabel produksi, penjualan, dan sisa dengang
1.4.1 Tujuan
Tsukamoto.
1.4.2 Manfaat
a. Perencanaan
b. Analisis
penggunaan metode yang tepat untuk digunakan dalam penelitian dan data
c. Desain
program.
d. Implementasi
Lalu penulis melakukan pengujian untuk menguji sistem yang telah selesai
a. Wawancara
penelitian.
5
b. Observasi
menentukan jumlah produksi roti yang pada saat ini diterapkan oleh Zaitun
Bakery Tangerang.
c. Studi Pustaka
produksi roti.
d. Kuisioner
2.1.1 Sistem
komponen apapun baik fisik ataupun bukan fisik yang terhubung satu dan
kerja dari berbagai prosedur yang berhubungan satu dan lainnya, bersama
1. Komponen.
6
7
lingkup atau biasa disebut scope yang berasal dari sistem itu.
7. Pengolahan sistem.
yang diinginkan.
8. Sasaran sistem.
dapat digunakan.
8
secara nyata.
2. Sistem yang berasal dari Alamiyah (natural system) dan sistem yang
probabilistik.
(open system).
2.1.2 Komputer
menjadi hasil, dapat menyimpan data, bekerja secara otomatis sesuai perintah
yang dimasukkan.
2.2.1 Prediksi
berdasarkan data yang dimiliki dari masa lalu, agar kesalahannya dapat
diminimalkan. Hasil prediksi tidah harus kejadian yang pasti akan terjadi,
terjadi..
1. Prediksi Kualitatif
Prediksi kualitatif berdasar pada data kualitatif masa lalu. Metode ini
2. Prediksi Kuantitatif
2.2.2 Produksi
yang baru yang berwujud (produk) atau tidak berwujud (jasa). Produksi
merupakan salah satu fungsi yang paling mendasar dan penting dari kegiatan
aktivitas budaya.
primer.
2. Sekitar dua ratus tahun yang lalu, pelopor ilmu ekonomi seperti
yang berasal dari bahasa latin manu factum yang artinya dibuat oleh
11
'produksi adalah ciptaan dari utilitas’. Oleh karena itu, lebih lan|ut
2.2.3 Roti
makanan yang terbuat dari hasil olahan tepung terigu dengan ragi atau bahan
pengembang lainnya, yang lalu dipanggang. Awalnya rodi dibuat dengan cara
yang lebih beragam dalam ukuran, penampilan, bentuk, tekstur, rasa, dan bahan
pengisinya. Hal itu karena perkembangan dalam pengolahan roti yang semakin
beragam.
12
Tiongkok, india, Pakistan, Mesir, dan beberapa negara Eropa. Ada perbedaan
2.2.4 Fuzzy
mendengar istilah sistem fuzzy bisa salah mengerti. Dalam teori logika fuzzy,
kata fuzzy dilihat seperti technical adjective. Penggunaan istilah sistem fuzzy
sistem fuzzy itu adalah system yang dibuat berdasarkan cara kerja,
pendefinisian dan pendeskripsian yang mengacu pada fuzzy logic. Yang ingin
digaris bawahi disini adalah bahwa meskipun suatu kejadian yang ingin
kerja dan deskripsi yang jelas berlandaskan pada teori fuzzy logic.
dengan memakai angka. Tentunya, kata-kata yang digunakan dalam fuzzy logic
adalah tidak sepresisi dengan bilangan, namun pemakaian kata-kata jauh lebih
dekat dengan intuisi manusia dimana manusia bisa langsung merasakan nilai
dari variable kata-kata yang sering dipakai sehari hari. Dengan itu, fuzzy logic
masalah-masalah yang bersifat fuzzy. Fuzzy logic telah menjadi area riset yang
serba tepat dengan bahasa manusia yang dominan tidak tepat, yaitu hanya
bahasa mesin secara mudah dan efisien. Bahasa presisi yang diperlukan mesin
sulit dirasakan oleh manusia (yaitu, kurang bermakna dari sudut pandiuig
variabel kata-kata bisa simpel, singkat, dan langsung blsa dirasakan oleh
manusia, namun kurang presisi dari sudut pandang bahasa mesin. Nah,
disinilah peran sistem fuzzy, yaitu untuk menjembatani komumkasi yang leblh
efektif dan efisien antara mesin dan manusia. Atau, bisa juga dibayangkan
Menurut Ali Mulyanto dan Abdul Haris (2016:3), Ada beberapa alasan
3. Logika fuzzy untu data yang tidak tepak memiliki toleransi. Jika
ekslusif tersebut.
Dalam hal ini, yang juga dikenal sebagai fuzzy expert systems
Menurut Ema Sastri Puspita dan Liza Yulianti (2016:3), Ada beberapa
a. Variabel fuzzy.
sebagainya.
15
b. Himpunan fuzzy.
dan besar.
c. Semesta pembicaraan.
secara terus merenus dari kiri ke kanan, bilangan ini bisa begatif
dalam variabel.
d. Domain
operasi fuzzy.
dengan mempunyai interval antara 0→1. Pendekatan fungsi menjadi cara untuk
digambarkan sebgai garis lurus. Ada 2 keadaan himpunan fuzzy yang linier.
keanggotaan nol [0] bergerak ke kanan menuju nilai domain yang mempunyai
fuzzyfikasi.
yang berulang-ulang. Sebagai hasilnya, keluaran dari hasil inferensi dari setiap
(AND), jadi maka dari itu nilai keanggotaan anteseden dari aturan fuzzy [R1]
adalah irisan dari nilai keanggotaan A1 dari Var-1 dengan nilai keanggotaan
17
digambarkan pada gambar 2.1, maka nilai keanggotaan anteseden dari operasi
penghubung (And) dari aturan fuzzy [R1] adalah nilai minimal di antara nilai
keanggotaan yang berada pada A1 dari Var-1 dan nilai keanggotaan B2 dari
Var-2. Demikian pula nilai keanggotaan anteseden dari aturan fuzzy [R2]
adalah nilai minimal antara nilai keanggotaan A2 dari Var-1 dengan nilai
aturan fuzzy [R1] dan [R2] masing-masing disebut dengan α1 dan α2. Nilai α1
C2 sesuai aturan fuzzy [R1] dan [R2] untuk memperoleh nilai z1 dan z2, yaitu
nilai z (nilai perkiraan produksi) untuk aturan fuzzy [R1] dan [R2].
cara mengubah input (berupa himpunan fuzzy yang diperoleh dari komposisi
menerima permintaan dari konsumen sekitar 1000 pcs per hari. Dan secara
5000 pcs per hari. Sedangkan untuk kebutuhan persediaan barang, barang yang
masih tersedia di perusahaan tiap harinya tersedia rata-rata 100 pcs, walaupun
kapasitas perusahaan maksimum hanya dapat menampung 600 pcs. Akan tetapi
perusahaan sampai saat ini baru mampu memproduksi paling banyak 7000 pcs
per hari. Dan demi efeisiensi mesin dan SDM, perusahaan diharapkan tiap hari
memproduksi paling sedikit 2000 pcs. Dengan adanya data tersebut, akan di
hitung berapa yang harus diproduksi perusahaan jika ada permintaan dari
konsumen sebanyak 4000 pcs dan persediaan yang masih tersedia sebanyak
19
300 pcs. Dengan adanya permasalah tersebut maka untuk menerapkan metode
1 ; x ≤ 1000
μTurun [x] = (5000 − x)/4000 ; 1000 ≤ x ≤ 5000
0 ; x ≥ 5000
0 ; x ≤ 1000
μNaik [x] = (x − 1000)/4000 ; 1000 ≤ x ≤ 5000
1 ; x ≥ 5000
BANYAK
1 ; y ≤ 100
μSedikit [y] = (600 − y)/500 ; 100 ≤ y ≤ 600
0 ; y ≥ 600
0 ; y ≤ 100
μBanyak [y] = (y − 100)/500 ; 100 ≤ y ≤ 600
1 ; y ≥ 600
BERTAMBAH
1 ; z ≤ 2000
μBerkurang [z] = (7000 − z)/5000 ; 2000 ≤ z ≤ 7000
0 ; z ≥ 7000
0 ; z ≤ 2000
μBertambah [z] = (z − 2000)/5000 ; 2000 ≤ z ≤ 7000
1 ; z ≥ 7000
Dalam hal ini rule-rule yang dibentuk sesuai dengan yang diketahui
dalam soal.
produksi BERKURANG
produksi BERKURANG
produksi BERTAMBAH
produksi BERTAMBAH
22
Pada mesin inferensi, kita terapkan fungsi min untuk setiap aturan pada
= min(μTurun[4000];μBanyak[300])
= min(0,25;0,4)
= 0,25
= min(μTurun[4000];μSedikit[300])
= min(0,25;0,6)
= 0,25
= min(μNaik[4000];μBanyak[300])
= min(0,75;0,4)
= 0,4
23
= min(μNaik[4000];μSedikit[300])
= min(0,75;0,6)
= 0,6
produksi.
αpred1(z1)+αpred2(z2)+αpred3(z3)+αpred4(z4)
z=
αpred1+αpred2+αpred3+αpred4
0,25(5750)+0,25(5750)+0,4(4000)+0,6(5000)
z=
0,25+0,25+0,4+0,6
z = 4983
2.3.1 Web
informasi di internet yag diakses melalui browser, yang memuat teks, gambar,
suara ataupun video yang interaktif dan dapat menghubungkan (link) antar
1. Website Statis
Website Statis adalah web yang halamannya tidak dapat berubah atau
tersebut.
2. Website Dinamis
3. Website Interaktif
2.3.2 HTML
Menurut Argi Noor Hidayat (2015:5), HTML singkatan dari Hyper Text
Markup Language yaitu sebuah bahasa program dalam bentuk hipertext dalam
format ASCII yang dibuat di perangkat lunak pengolahan kata yang digunakan
dapat menampilkan tulisan, gambar, warna, suara, video, animasi serta link
memungkinkan halaman web dapat dibuat dengan cepat dan memiliki tampilan
yang bagus. Dalam konsep hypertext ini, pembacaan suatu dokumen tidak
harus urut namun bisa meloncat antar topik bahkan di print maupun disalin ke
2.3.3 PHP
source. Skrip PHP sendiri yang dapat digabung dengan HTML dan terletak di
server. PHP digunakan dalam membuat website dinamis. Dinamis yang berarti
page yang ingin ditampilkan dibuat saat page itu diminta oleh pengguna. Oleh
karna itu informasi yang diterima pengguna selalu yang terbaru. Semua script
PHP diproses pada server yang mrnjalankan skrip tersebut. Kode PHP diawali
PHP mengenal beberapa macam tipe data. Tipe data ini sangat penting
perannya pada saat pengolahan data yang berada di dalam sebuah variabel.
atau pecahan.
objek.
datanya.
2.3.4 MySQL
konsep database yaitu SQL (Structure Query Language). SQL adalah konsep
sebuah pengengelola basis data, yang utama dalam memilih dan memasukkan
otomatis. Dalam query data MySql mengungguli server basis data lainnya.
Dibuktikan untuk query yang dipakai oleh pengguna single, kecepatan query
MySQL lebih cepat sepuluh kali dibanding PostgreSQL dan lebih cepat lima
sebuah program aplikasi HTML authoring, yaitu sebuah aplikasi yang berguna
dalam pembuatan situs web. Dalam aplikasi ini dapat membuat segala macang
yang berhubungan dengan web mulai dari koding, pembuatan desain, dan lain
dipakai jika ingin membangun suatu aplikasi dinamis yang memakai bahasa
server.
29
2.3.6 XAMPP
server web Apache, Interpreter PHP dan MySQL database. Setelah install
2.3.7 Storyboard
keperluan visualisasi awal dari suatu file, animasi, atau urutan media interaktif,
1. Teater,
2. Bisnis,
3. Photomatic,
4. Film,
5. komik,
6. Media interaktif.
7. Animasi,
30
modul program untuk melihat apakah ada kesalahan dalam kode program. Jika
terdapat modul yang menghasilkan keluaran yang berbeda dengan proses yang
dilakukan, lalu setiap baris program, variabel, dan parameter yang ada pada
a. Pada suatu modul independet path nya telah digunakan paling sedikit sekali.
3. Melakukan pengujian.
31
Jenis whitebox:
1. Basis path
Metode identifikasi ini berdasarkan pada jalur, struktur atau koneksi yang
berada di dalam dari suatu sistem ini biasa disebut juga sebagai branch
2. Cyclomatic Complexity
metode basis path testing, nilai yang dihitung bagi cyclomatic complexity
suatu program dan memberikan jumlah tes minimal yang harus dikerjakan
menampakkan satu kelompok baru dari pernyataan proses atau kondisi baru.
32
3. Graph Matrix
Merupakan sebuah matrik yang berbentuk segi empat sama sisi, yang
jumlah node sama dengan jumlah baris dan kolom, dan identifikasi node
sama dengan identifikasi baris dan kolom, serta isi data adalah keberadaan
penghubung antar node yang disebut edges. Beberapa komponen yang dapat
graph matrix:
dilakukan.
a. Condition testing: Suatu metode desain test case yang bertujuan untuk
b. Data flow testing: Metode data flow testing ini dilakukan dengan cara
c. Loop testing: Suatu teknik yang terfokus untuk validitas susunan loop
secara eksklusif. Ada 4 kelas dari loop, yaitu: Simple Loops, Nested
Rumus : V(G) = R
R= E – N + 2
E–N+2=P+1
Keterangan :
E = jumlah edge
N = jumlah node
(kotak hitam). Test Planning yang menjadi spesifikasi pada program test case
program. Black box testing bukan alternatif white box testing, namun
4. Kesalahan kinerja.
BAB III
PERANCANGAN APLIKASI
Zaitun Bakery adalah suatu badan usaha yang bergerak dalam bidang
produksi dan penjualan roti dengan berbagai rasa dan bentuk, semua produk
yang di pasarkan adalah produk buatan sendiri. Usaha ini dibangun pada tahun
2010, ide pendirian usaha ini berawal dari hobi memasak istri Pak Efendi
selaku pemilik usaha. Kemudian Pak Efendi memiliki ide untuk membuka
usaha toko roti. Lalu didirikanlah “Zaitun Bakery”, nama zaitun dipilih karena
pohon zaitun adalah salah satu jenis pohon yang dapat hidup sampai ribuan
tahun, dengan harapan Zaitun Bakery akan terus bertahan sampai waktu yang
lama.
modal awal sekitar ± Rp. 100 juta. Sebelumnya Pak Efendi juga memiliki usaha
lain, tetapi mengalami jatuh bangun. Berkat keuletan dan kesabaran Pak Efendi
serta istrinya tercetuslah ide membuka usaha roti. Ternyata berkat keahlian
depannya.
35
36
memproduksi dan melayani konsumen lebih banyak. Lalu Zaitun Bakery mulai
a. Visi
b. Misi
dengan yang lainnya tergantung dari tujuan perusahaan tersebut, sumber daya
hakekatnya mempunyai prinsip yang sama agar tercapai tujuan yang efektif
dan efisien. Struktur organisasi dapat dikatakan sebagai hubungan kerja antara
satu bagian dengan bagian lainnya agar semua kegiatan perusahaan selesai
pada waktunya, yang pada dasarnya bertujuan untuk mencapai kepuasan baik
operasionalnya.
kepada siapa dia bertanggung jawab sehingga pada akhirnya aktifitas akan
kegiatan pokok perusahaan dan agar perusahaan dapat berjalan kearah tujuan
orang pada setiap unit perusahaan yang harus sesuai dengan pengetahuan dan
38
tentang sumber perintah kerja, wewenang dan kepada siapa karyawan tersebut
lain sehingga akan terwujud koordinasi yang baik dalam mencapai tujuan yang
sebagai berikut :
Direktur
Manajer
1. Direktur
kegiatan perusahaan.
2. Manajer
perusahaan.
bahan baku.
karyawan.
target.
41
siap dipasarkan.
produksi.
secara berkala.
4. Staf Produksi
memproduksi roti.
6. Kasir
berikut :
b. Menghitung penjualan.
7. Pramuniaga
berikut:
tentang apa saja yang ingin diterapkan pada aplikasi yang akan dibuat oleh penulis.
dalam pembuatan aplikasi ini. Berikut adalah uraian dari hasil survey yang
dilakukan:
berikut ini adalah rincian kebutuhan pengguna yang terdapat dalam aplikasi
1. Perangkat keras
b. RAM 2 GB.
2. Perangkat lunak
b. XAMPP v3.1.0.3.1.0.
Pada bagian ini akan dijelaskan konsep dasar dari tampilan dan menu
masing-masing
Bulan menampilkan
Sisa
Proses
47
produksi Hasil
Simpan
Produksi
Simpan
Penjualan Terjual
Sisa
Simpan
tersimpan penjualan
48
saran perhitungan di
Simpan
49
1
ID
Kode Roti
Mempre 1 Jenis Roti
m diksi
Bulan Prediksi
1
mempro
m duksi Nama Roti
Tahun
Prediksi Produksi
Tahun
ID
Bulan
Produksi
Kode Roti
b. Spesifikasi tabel
password varchar(20) -
level varchar(10) -
Keterangan :
nama_roti varchar(30) -
Keterangan :
bulan varchar(10) -
tahun int(4) -
penjualan int(11) -
retur int(11) -
Keterangan :
id : id untuk penjualan
bulan varchar(10) -
tahun int(4) -
produksi int(11) -
Keterangan :
id : id untuk produksi
bulan varchar(10) -
tahun int(4) -
prediksi int(11) -
Keterangan :
id : id untuk prediksi
a. Tampilan Login
halaman ini terdapat form yang harus memasukkan nama pengguna dan
kata sandi yang dapat digunakan untuk masuk ke dalam akun masing-
program.
Halaman ini digunakan untuk merubah kata sandi yang pada saat
ini digunakan dengan kata sandi yang baru pada akun pengguna.
banyaknya roti yang terjual dan yang tersisa dalam satu bulan.
h. Tampilan Laporan
Pada halaman ini akan tampil data laporan dan data saran
yang dibuat telah sesuai dengan apa yang diharapkan dan juga suatu kegiatan untuk
mengevalusi kelemahan terhadap sesuatu yang diuji, untuk dapat memastikan sualitas
sistem berjalan dengan baik atau pun masih terdapat kendala saat pelaksanaan review
akhir.
nantinya akan menimbulkan suatu dampak buruk pada suatu sistem yang dibuat saat
dilakukan pengujian sistem tersebut. Misalnya akan ada muncul suatu kemungkinan
tidak ditemukannya kendala pada sistem dan penguji menganggap bahwa sistem
tersebut sudah berjalan dengan baik sesuai rancangannya. Tapi pada kenyataannya
setelah sistem yang dibuat oleh penulis tersebut di gunakan oleh para pengguna, masih
terdapat banyak ditemukan kendala-kendala yang terjadi pada sistem sehingga, sistem
tidak dapat berjalan dengan baik atau sesuai dengan rancangan penulis dan yang di
harapkan oleh para pengguna. Atau dampak lainnya adalah tidak diperolehnya
Complexity, pada konteks metode Basis Path Testing, nilai yang dihitung bagi
dalam kumpulan basis suatu program dan memberikan jumlah tes minimal
58
59
eksekusi sekurangnya satu kali. Jalur independen adalah tiap jalur pada
program yang memperlihatkan satu kelompok baru dari peryataan proses atau
V(G) = E – N + 2
Keterangan:
Graph Notation
60
2 5 10
3 6 8 11 12
4 7 9 13
14
Keterangan:
1. Login
3. Pengaturan
4. Ubah Sandi
6. Perhitungan Prediksi
8. Pengaturan
9. Ubah Sandi
10. Laporan
12. Pengaturan
61
14. Logout
Path 1 : 1 – 2 – 3 – 4 – 3 – 14 – 1
Path 2 : 1 – 2 – 3 – 14 – 1
Path 3 : 1 – 5 – 6 – 7 – 6 – 8 – 14 – 1
Path 4 : 1 – 5 – 6 – 8 – 14 – 1
Path 5 : 1 – 5 – 6 – 7 – 6 – 5 – 8 – 14 – 1
Path 6 : 1 – 5 – 6 – 5 – 8 – 14 – 1
Path 7 : 1 – 5 – 8 – 9 – 8 – 14 – 1
Path 8 : 1 – 5 – 8 – 14 – 1
Path 9 : 1 – 10 – 11 – 10 – 14 – 1
Path 10 : 1 – 10 – 12 – 13 – 12 – 14 – 1
Path 11 : 1 – 10 – 12 – 14 – 1
untuk memastikan dengan benar jumlah Path dalam satu diagram alir dapat
V(G) = E – N + 2
23 – 14 + 2 = 11
Dari Path yang didapat melalui diagram alir dan perhitungan dengan
sistem sudah berjalan dengan benar dan selanjutnya akan dilalukan pengujian
black box.
62
output yang sesuai atau tidak dengan perancangan. Berikut adalah uraiannya:
- Tombol masuk
mengarahkan user
form
- Tombol pengaturan
berfungsi
menampilkan
keluar
penjualan
- Tombol pengaturan
berfungsi
menampilkan
keluar
Pengaturan form
- Tombol prediksi
mengarahkan ke
halaman perhitungan
prediksi jumlah
produksi
- Tombol pengaturan
berfungsi
menampilkan
keluar
Pengaturan tersebut
produksi
65
mengarahkan ke
halaman untuk
perhitungan tersebut
produksi
mengarahkan ke
halaman untuk
menyimpan data
produksi
- Tombol pengaturan
berfungsi
menampilkan
keluar
form
66
- Tombol kembali ke
halaman prediksi
mengarahkan user ke
halaman untuk
menghitung jumlah
produksi
- Tombol produksi
Pengaturan mengarahkan ke
halaman untuk
menyimpan data
produksi
- Tombol prediksi
mengarahkan ke
halaman perhitungan
prediksi jumlah
produksi
- Tombol pengaturan
berfungsi
67
menampilkan
keluar
Prediksi produksi
menambahkan data
prediksi pada
tampilan laporan
- Tombol prediksi
berfungsi
menampilkan popup
saran jumlah
produksi hasil
perhitungan yang
telah dilakukan
- Tombol pengaturan
berfungsi
menampilkan
68
keluar
mengarahkan ke
halaman laporan
- Tombol pengaturan
berfungsi
menampilkan
keluar
saran jumlah
produksi
69
Sandi mengarahkan ke
user yang
bersangkutan
- Tombol keluar
berfungsi untuk
dan mengarahkan ke
halaman masuk
70
Untuk mengetahui hasil dari aplikasi yang telah dibuat, penulis menggunakan
kuisioner sebagai media pengumpulan data. Dari hasil kuisioner tersebut kita dapat
Dari total 10 orang responden, 10 orang menjawab ya dan tidak ada orang
yang telah mengisi kuesioner, semuanya setuju kalau menu dan fungsi yang
PERTANYAAN 1
Tidak; 0%
Ya; 100%
Dari total 10 orang responden, 10 orang menjawab ya dan tidak ada orang
yang telah mengisi kuesioner, semuanya setuju kalau aplikasi ini mudah
digunakan.
PERTANYAAN 2
Tidak; 0%
Ya; 100%
.
telah mengisi kuesioner, hampir semua setuju kalau menu dalam aplikasi
PERTANYAAN 3
Tidak; 20%
Ya; 80%
telah mengisi kuesioner, hampir semua setuju kalau aplikasi ini sudah
PERTANYAAN 4
Tidak; 20%
Ya; 80%
Dari total 10 orang responden, 10 orang menjawab ya dan tidak ada orang
PERTANYAAN 5
Tidak; 0%
Ya; 100%
Dari total 10 orang responden, 10 orang menjawab ya dan tidak ada orang
yang telah mengisi kuesioner, semua setuju kalau aplikasi ini dapat
produksi.
74
PERTANYAAN 6
Tidak; 0%
Ya; 100%
telah mengisi kuesioner, hampir semua semua setuju kalau informasi dalam
PERTANYAAN 7
Tidak; 30%
Ya; 70%
PERTANYAAN 8
Tidak; 30%
Ya; 70%
Dari total 10 orang responden, 10 orang menjawab ya dan tidak ada orang
yang telah mengisi kuesioner, semua setuju kalau aplikasi bermanfaat bagi
mereka.
76
PERTANYAAN 9
Tidak; 0%
Ya; 100%
Dari total 10 orang responden, 10 orang menjawab ya dan tidak ada orang
yang telah mengisi kuesioner, semua menyakatan aplikasi ini masih perlu
untuk dikembangkan.
PERTANYAAN 10
Tidak; 0%
Ya; 100%
Ya Tidak
No Pertanyaan
Jumlah % Jumlah %
1. Pertanyaan 1 10 100% 0 0%
2. Pertanyaan 2 10 100% 0 0%
5. Pertanyaan 5 10 100% 0 0%
6. Pertanyaan 6 10 100% 0 0%
9. Pertanyaan 9 10 100% 0 0%
Total 90 10
78
12
10
0
P1 P2 P3 P4 P5 P6 P7 P8 P9 P10
Ya Tidak
Dari seluruh hasil kuisioner yang telah dibagikan dan dijawab oleh
dapat disimpulkan aplikasi ini dapat diterima dengan baik oleh responden dan
juga bermanfaat dalam pemberian saran jumlah produksi dan efisiensi serta
fuzzy tsukamoto bekerja. Ada beberapa tahapan yang harus dilalui dalam memecahkan
1. Fuzifikasi
a. Penjualan terdiri atas dua himpunan yaitu TURUN dan NAIK dimana penjualan
TURUN NAIK
3196 5204
b. Sisa terdiri atas dua himpunan yaitu SEDIKIT dan BANYAK dimana sisa dalam
SEDIKIT BANYAK
198 452
BERKURANG BERTAMBAH
3400 5570
2. Pembentukan Rule
[R1] Jika Penjualan TURUN dan Sisa BANYAK maka Produksi BERKURANG
[R2] Jika Penjualan TURUN dan Sisa SEDIKIT maka Produksi BERKURANG
[R3] Jika Penjualan NAIK dan Sisa BANYAK maka Produksi BERTAMBAH
[R4] Jika Penjualan NAIK dan Sisa SEDIKIT maka Produksi BERTAMBAH
3. Mesin Inferensi
Semua operator tiap rule menggunakan “dan” maka fungsi “min” akan diterapkan
4. Defuzifikasi
Z= ∑ 𝑎𝑖(𝑧𝑖)+𝑎𝑛(𝑧𝑛)
𝑎𝑖+𝑎𝑛
Fuzzyfikasi
berikut:
1 ; x ≤ 3196
μPenTurun [x] = (5204 − x)/(5204 − 3196) ; 3196 ≤ x ≤ 5204
0 ; x ≥ 5204
0 ; x ≤ 3196
μPenNaik [x] = (x − 3196)/(5204 − 3196) ; 3196 ≤ x ≤ 5204
1 ; x ≥ 5204
1 ; y ≤ 198
μSisSedikit [y] = (452 − y)/(452 − 198) ; 198 ≤ y ≤ 452
0 ; y ≥ 452
0 ; y ≤ 198
μSisBanyak [y] = (y − 198)/(452 − 198) ; 198 ≤ y ≤ 452
1 ; y ≥ 452
82
1 ; z ≤ 3400
μProBerkurang [z] = (5570 − z)/(5570 − 3400) ; 3400 ≤ z ≤ 5570
0 ; z ≥ 5570
0 ; z ≤ 3400
μProBertambah [z] = (z − 3400)/(5570 − 3400) ; 3400 ≤ z ≤ 5570
1 ; z ≥ 5570
Inferensi
Pada mesin inferensi, kita terapkan fungsi min untuk setiap aturan pada aplikasi
fungsi implikasinya.
[R1] Jika Penjualan TURUN dan Sisa BANYAK maka Produksi BERKURANG
= min(0,591; 0,610)
= 0,591
[R2] Jika Penjualan TURUN dan Sisa SEDIKIT maka Produksi BERKURANG
= min(0,591; 0,389)
= 0.389
83
[R3] Jika Penjualan NAIK dan Sisa BANYAK maka Produksi BERTAMBAH
= min(0,408; 0,610)
= 0,408
[R4] Jika Penjualan NAIK dan Sisa SEDIKIT maka Produksi BERTAMBAH
= min(0,408; 0,389)
= 0,389
Defuzzifikasi
αpred1(z1)+αpred2(z2)+αpred3(z3)+αpred4(z4)
Z=
αpred1+αpred2+αpred3+αpred4
0,591(4287)+0,389(4724)+0,408(4287)+0,389(4245)
Z=
0,591+0,389+0,408+0,389
84
Z = 4373
Jadi jumlah yang harus diproduksi untuk bulan berikutnya adalah 4373 pcs.
tabel berikut
5.1 Simpulan
Berdasarkan uji coba dan evaluasi yang telah dilakukan maka dapat diambil
2. Tingkat prediksi pada aplikasi ini sudah cukup baik, dilihat dari hasil perbandingan
saran jumlah produksi yang dihasilkan dengan penjualan memiliki selisih yang
5.2 Saran-saran
variabel fungsi keanggotaan dan juga menambahkan aturan lain agar lebih akurat.
2. Penambahan grafik pada laporan agar lebih mudah melihat perbandingan antar
85
DAFTAR PUSTAKA
Al-Fatta, Hanif. (2011). Analisis Dan Perancangan Sistem Informasi. Andi Offset,
Yogyakarta.
Anhar. (2010). Panduan Menguasai PHP & MySql Secara Otodidak. MediaKita, Jakarta.
Binanto, Iwan. (2010). Multimedia Digital - Dasar Teori dan Pengembangannya. Andi,
Yogyakarta.
Gunawan, Wahyu. (2010). Kebut Sehari Menjadi Master PHP. Genius, Yogyakarta.
Hidayat, Argi Noor. (2015). Belajar HTML Kelas Ringkas. ANH-BOOKS, Wonogiri.
Mulyanto, Ali dan Abdul Haris. (2016). Penerapan Metode Fuzzy Tsukamoto Untuk
Menentukan Jumlah Jam Overtime Pada Produksi Barang di PT Asahi Best
Base Indonesia (ABBI) Bekasi. Jurnal Informatika SIMANTIK. Vol 1 No 1.
September 2016. ISSN: 1572-2173.
Naba, Agus. (2009). Belajar Cepat Fuzzy Logic Menggunakan Matlab. Andi, Yogyakarta.
Nugroho, Bunafit. (2011). Membuat Sistem Informasi Penjualan Berbasis Web Dengan
PHP dan MySql. Gava Media, Yogyakarta.
Nur dan Suyuti. (2017). Pengantar Sistem Manufaktur. CV Budi Utama, Yogyakarta.
Puspita, Ema Sastri dan Liza Yulianti. (2016). PERANCANGAN SISTEM PERAMALAN
CUACA BERBASIS LOGIKA FUZZY. Jurnal Media Infotama. Vol 12 No 1.
Februari 2016. ISSN: 1858-2680.
86
87
Rohayani, Hetty. (2015). Fuzzy Inference System Dengan Metode Tsukamoto Sebagai
Penunjang Keputusan Produksi (Studi Kasus : PT. Talkindo Selaksa Anugrah).
Jurnal Teknik Informatika (JTI). Vol 7 No 1. April 2015. ISSN: 2085-1588.
koneksi.php
<?php
$mysql_server = 'localhost'; $mysql_username = 'root'; $mysql_password = '';
$mysql_database = 'roti';
mysql_connect($mysql_server, $mysql_username, $mysql_password) or die
(mysql_error());
mysql_select_db($mysql_database) or die ("Database tidak tersedia");
?>
login.php
<form method="POST" action="go-login.php?op=in">
<div class="group">
<input type="text" name="user" value="" required>
<label>Nama Pengguna</label>
</div>
<div class="group">
<input type="password" name="pass" value="" required>
<label>Kata Sandi</label>
</div>
<div align="center">
<?php
if(isset($_GET["g"])){
$g=$_GET["g"];
echo '<font style="color:red;">❎ '.$g.'</font>';}
if(isset($_GET["m"])){
$m=$_GET["m"];
echo $m;}
?>
</div>
<input type="submit" class="button buttonBlue" value="Masuk"/>
</form>
go-login.php
<?php
session_start();
include "./koneksi.php";
$user= $_POST['user']; $pass= $_POST['pass'];
$op= $_GET['op'];
if($op=="in"){
$cek = mysql_query("select * from user where username='$user' and
password='$pass'");
if(mysql_num_rows($cek)==1){
$c = mysql_fetch_array($cek);
$_SESSION['username'] = $c['username'];
$_SESSION['level'] = $c['level'];
if($c['level']=="manajer"){
header("location:./manaj/");
}
else if($c['level']=="penjualan"){
header("location:./penj/");
}
else if($c['level']=="produksi"){
header("location:./prod/");
}
}
else{
header("location:./index.php?g=Gagal Masuk");
}
}
?>
prediksi.php
<?php
include '../koneksi.php';
?>
<div id="form_container">
<form method='GET'>
<fieldset>
<legend>Data 1 Tahun Terakhir</legend>
Jenis
<select name="jenis"
onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="#">Roti</option>
<option value="prediksi.php?jns=rco">Coklat</option>
<option value="prediksi.php?jns=rpk">PS.Keju</option>
</select>
<?php
$x_max=""; $x_min=""; $y_max=""; $y_min=""; $z_max=""; $z_min="";
if ($jenis=="rco"){
echo "Coklat";
$sql = mysql_query("SELECT max(penjualan), max(produksi), max(retur),
min(penjualan), min(produksi), min(retur) from datarco");
if ($hasil = mysql_fetch_array($sql)){
$x_max = $hasil['max(penjualan)'];
$x_min = $hasil['min(penjualan)'];
$y_max = $hasil['max(retur)'];
$y_min = $hasil['min(retur)'];
$z_max = $hasil['max(produksi)'];
$z_min = $hasil['min(produksi)'];}
}
else if ($jenis=="rpk"){
echo "Pisang Keju";
$sql = mysql_query("SELECT max(penjualan), max(produksi), max(retur),
min(penjualan), min(produksi), min(retur) from datarpk");
if ($hasil = mysql_fetch_array($sql)){
$x_max = $hasil['max(penjualan)']; $x_min = $hasil['min(penjualan)'];
$y_max = $hasil['max(retur)']; $y_min = $hasil['min(retur)'];
$z_max = $hasil['max(produksi)']; $z_min = $hasil['min(produksi)'];}
}
else{
echo "-----";}
?>
<table>
<input type='hidden' name='jns' value='<?php echo $jenis; ?>' readonly='readonly'>
<tr><th>Variabel</th><th>Terendah</th><th>Tertinggi</th></tr>
<tr>
<td>Penjualan </td>
<td>: <input type='text' class='inptxt' name='x_min' value='<?=$x_min?>'
readonly='readonly'></td>
<td><input type='text' class='inptxt' name='x_max' value='<?=$x_max?>'
readonly='readonly'></td>
</tr>
<tr>
<td>Sisa </td>
<td>: <input type='text' class='inptxt' name='y_min' value='<?=$y_min?>'
readonly='readonly'></td>
<td><input type='text' class='inptxt' name='y_max' value='<?=$y_max?>'
readonly='readonly'></td>
</tr>
<tr>
<td>Produksi </td>
<td>: <input type='text' class='inptxt' name='z_min' value='<?=$z_min?>'
readonly='readonly'></td>
<td><input type='text' class='inptxt' name='z_max' value='<?=$z_max?>'
readonly='readonly'></td>
</tr>
</table>
</fieldset>
<?php
$sql2 = mysql_query("SELECT * FROM penjualan where kd_roti='$jenis' ORDER BY id
DESC LIMIT 1 ");
if ($hasil = mysql_fetch_array($sql2)){
$x_in = $hasil['penjualan']; $y_in = $hasil['retur'];
$x=isset($_GET['x'])?$_GET['x']:$x_in; $y=isset($_GET['y'])?$_GET['y']:$y_in;
?>
<fieldset>
<legend>Data Bulan Ini</legend>
<table>
<tr>
<td>Penjualan bulan ini </td>
<td>: <input type='number' class='inptxt' name='x' value='<?php echo $x ?>'
></td>
</tr>
<tr>
<td>Sisa bulan ini </td>
<td>: <input type='number' class='inptxt' name='y' value='<?php echo $y ?>'
></td>
</tr>
</table>
</fieldset>
<input type='submit' name='proses' value='Proses' />
</form>
<?php
}
if(isset($_GET['proses'])){
$ux_turun=($x_max-$x)/($x_max-$x_min);
$ux_naik=($x-$x_min)/($x_max-$x_min);
$uy_sedikit=($y_max-$y)/($y_max-$y_min);
$uy_banyak=($y-$y_min)/($y_max-$y_min);
$a_pred1=min($ux_turun,$uy_banyak);
$z1=$z_max-$a_pred1*($z_max-$z_min);
$a_pred2=min($ux_turun,$uy_sedikit);
$z2=$z_max-$a_pred2*($z_max-$z_min);
$a_pred3=min($ux_naik,$uy_banyak);
$z3=$a_pred3*($z_max-$z_min)+$z_min;
$a_pred4=min($ux_naik,$uy_sedikit);
$z4=$a_pred4*($z_max-$z_min)+$z_min;
$n=$a_pred1*$z1+$a_pred2*$z2+$a_pred3*$z3+$a_pred4*$z4;
$d=$a_pred1+$a_pred2+$a_pred3+$a_pred4;
$zhasil=$n/$d;
?>
<fieldset>
<p>Jadi saran jumlah yang harus diproduksi untuk bulan depan adalah <strong>
<?php echo floor($zhasil) ?></strong> pcs</p>
<div align="right"><a href="injprediksi.php?hsl=<?php echo floor($zhasil);
?>&jns=<?php echo $jenis; ?>"><button>Simpan Hasil Prediksi</button></a></div>
</fieldset>
<?php
}
?>
injprediksi.php
<?php
$pengguna = $_SESSION['username'];
$hsl=(isset($_GET ["hsl"]) ? $_GET ["hsl"]:'');
$jns=(isset($_GET ["jns"]) ? $_GET ["jns"]:'');
?>
<div id="main">
<div id="header">
<div id="logo">
<div id="logo_text">
<h1>Zaitun Bakery</h1>
<h2>Bagian Produksi</h2>
</div>
</div>
<div id="menubar">
<ul id="menu">
<li class="selected"><a href="injprediksi.php">Tambah Data Prediksi</a></li>
</ul>
</div>
</div>
<div id="form_container">
<form class="appnitro" method="post" action="go-prediksi.php" >
<fieldset>
<legend>Masukkan Hasil Prediksi Bulan Berikutnya</legend>
<p>
<div align="center">
<?php
if(isset($_GET["b"])){
$b=$_GET["b"];
echo '<font style="color:green;">✓ '.$b.'</font>';
}
if(isset($_GET["g"])){
$g=$_GET["g"];
echo '<font style="color:red;">❎ '.$g.'</font>';
}
?>
</div>
</p>
<?php
if ($jns=="rco"){
$j="Coklat";
}
else if ($jns=="rpk"){
$j="Ps.Keju";
}
else {
$j="-----";
}
?>
<select name="kd_roti">
<option value="<?php echo $jns ?>"><?php echo $j ?></option>
</select>
<select name="bulan">
<option value="Januari">Januari</option>
<option value="Februari">Februari</option>
<option value="Maret">Maret</option>
<option value="April">April</option>
<option value="Mei">Mei</option>
<option value="Juni">Juni</option>
<option value="Juli">Juli</option>
<option value="Agustus">Agustus</option>
<option value="September">September</option>
<option value="Oktober">Oktober</option>
<option value="November">November</option>
<option value="Desember">Desember</option>
</select>
<select name="tahun">
<option value="2017">2017</option>
<option value="2018" selected="selected">2018</option>
<option value="2019">2019</option>
</select>
Hasil Prediksi
<input type="number" name="jumlah" value="<?php echo $hsl ?>" required>
<div align="right"><input type="submit" name="submit" value="Simpan" /></div>
<a style='text-decoration:none;' href="prediksi.php">Kembali Ke Halaman
Prediksi</a>
</fieldset>
</form>
</div>
go-prediksi.php
<?php
include "../koneksi.php";
$kd_roti = $_POST['kd_roti']; $bulan = $_POST['bulan'];
$tahun = $_POST['tahun']; $prediksi = $_POST['jumlah'];
$data = mysql_num_rows(mysql_query("select * from prediksi where kd_roti='$kd_roti'
&& bulan='$bulan' && tahun='$tahun'"));
if ($data > 0){
header("Location:./injprediksi.php?g=Data sudah pernah disimpan");
}
else{
$sql = mysql_query("insert into prediksi
values('','$kd_roti','$bulan','$tahun','$prediksi');");
if($sql) {
header("Location:./injprediksi.php?b=Data Disimpan");
}
else{
header("Location:./injprediksi.php?g=Gagal Menyimpan");
}
}
?>
saranpre.php
<div class="popup-wrapper" id="popup">
<div class="popup-container">
<fieldset>
<legend>Saran Produksi</legend>
<table class='table' align='center' width='100%' bgcolor='white'>
<tr>
<th>Jenis</th>
<th>Bulan</th>
<th>Tahun</th>
<th>Saran</th>
</tr>
<?php
include "../koneksi.php";
$pre = mysql_query("select jn_roti.nama_roti, prediksi.id, prediksi.bulan, prediksi.tahun,
prediksi.prediksi from jn_roti inner join prediksi on jn_roti.kd_roti=prediksi.kd_roti where
jn_roti.kd_roti=prediksi.kd_roti order by id desc limit 2");
while($isi2 = mysql_fetch_array($pre)){
$roti = $isi2['nama_roti'];
$bulan = $isi2['bulan'];
$tahun = $isi2['tahun'];
$prediksi = $isi2['prediksi'];
echo "
<tr align='center'>
<td>".$roti."</td>
<td>".$bulan."</td>
<td>".$tahun."</td>
<td>".$prediksi."</td>
</tr>";
}
?>
</table>
</fieldset>
<a class="popup-close" href="#closed">X</a>
</div> </div>
laporan.php
<legend>Laporan 1 Tahun Terakhir</legend>
<?php
$menu=(isset($_GET['men']) ? $_GET['men']:"");
if($menu=='pre'){
include ('laporan2p.php');
}
else {
?>
Jenis
<select name="jenis"
onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="#">Roti</option>
<option value="./?jns=rco">Coklat</option>
<option value="./?jns=rpk">PS.Keju</option>
</select>
<?php
if ($jenis=="rco"){
echo "Coklat";
}
else if ($jenis=="rpk"){
echo "Pisang Keju";
}
else{
echo "-----";
}
?>
<table class='table' align='center' width='100%' bgcolor='white'>
<tr>
<th>NO</th> <th>Bulan</th> <th>Tahun</th> <th>Produksi</th>
<th>Penjualan</th> <th>Sisa</th>
</tr>
<?php
include "../koneksi.php";
$tampilkan = mysql_query("select * from data where kd_roti='$jenis' order by id desc limit
12");
$no=1;
while($isi = mysql_fetch_array($tampilkan)){
$bln = $isi['bulan'];
$th = $isi['tahun'];
$produksi = $isi['produksi'];
$penjualan = $isi['penjualan'];
$retur = $isi['retur'];
echo "
<tr align='center'>
<td>".$no."</td>
<td>".$bln."</td>
<td>".$th."</td>
<td>".$produksi."</td>
<td>".$penjualan."</td>
<td>".$retur."</td>
</tr>"; $no++; }
$j=(isset($_GET['jns']) ? $_GET['jns']:"");
?></table>
<div align="right"><a href="./?men=pre&jns=<?php echo $j ?>">Tampilkan Dengan Data
Prediksi</a></div> <?php } ?>
laporan2p.php
<select name="jenis"
onchange="window.open(this.options[this.selectedIndex].value,'_top')">
<option value="#">Roti</option>
<option value="./?jns=rco&men=pre">Coklat</option>
<option value="./?jns=rpk&men=pre">PS.Keju</option>
</select>
<?php
if ($jenis=="rco"){
echo "Coklat";}
else if ($jenis=="rpk"){
echo "Pisang Keju";}
else{
echo "-----";}
?>
<table class='table' align='center' width='100%' bgcolor='white'>
<tr>
<th>NO</th> <th>Bulan</th> <th>Tahun</th> <th>Prediksi</th>
<th>Produksi</th> <th>Penjualan</th> <th>Sisa</th>
</tr>
<?php
include "../koneksi.php";
$tampilkan = mysql_query("select * from data_prediksi where kd_roti='$jenis' order by id
desc limit 12");
$no=1;
while($isi = mysql_fetch_array($tampilkan)){
$bln = $isi['bulan'];
$th = $isi['tahun'];
$prediksi = $isi['prediksi'];
$produksi = $isi['produksi'];
$penjualan = $isi['penjualan'];
$retur = $isi['retur'];
echo "
<tr align='center'>
<td>".$no."</td>
<td>".$bln."</td>
<td>".$th."</td>
<td>".$prediksi."</td>
<td>".$produksi."</td>
<td>".$penjualan."</td>
<td>".$retur."</td>
</tr>";
$no++;
} ?> </table>
logout.php
<?php
session_start(); session_destroy();
header("Location:../?m=Anda Suda Keluar");
?>