コード例 #1
0
        private void hitung_Click(object sender, EventArgs e)
        {
            // Mencari Keanggotaan
            double PmMax, PmMin, Permintaan;
            double uTrn, uNak;
            {
                PmMax       = double.Parse(pmMax.Text);
                PmMin       = double.Parse(pmMin.Text);
                Permintaan  = double.Parse(minta.Text);
                uTrn        = rumus.turun(PmMax, PmMin, Permintaan);
                uTurun.Text = uTrn.ToString();
                uNak        = rumus.naik(PmMax, PmMin, Permintaan);
                uNaik.Text  = uNak.ToString();
            }
            double PsMax, PsMin, Persediaan;
            double uSdk, uByk;
            {
                PsMax         = double.Parse(psMax.Text);
                PsMin         = double.Parse(psMin.Text);
                Persediaan    = double.Parse(sedia.Text);
                uSdk          = rumus.sedikit(PsMax, PsMin, Persediaan);
                uByk          = rumus.banyak(PsMax, PsMin, Persediaan);
                uSedikit.Text = uSdk.ToString();
                uBanyak.Text  = uByk.ToString();
            }

            // Mencari Nilai Aturan ( a-predikat 1-4)
            double r1 = double.MinValue;
            double r2 = double.MinValue;
            double r3 = double.MinValue;
            double r4 = double.MinValue;

            // Aturan 1
            // Turun
            if ((pm1.Text == "Permintaan Turun") && (plh1.Text == "And") && (ps1.Text == "Persediaan Banyak"))
            {
                r1         = Math.Min(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule1.Text = r1.ToString();
            }
            else if ((pm1.Text == "Permintaan Turun") && (plh1.Text == "And") && (ps1.Text == "Persediaan Sedikit"))
            {
                r1         = Math.Min(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule1.Text = r1.ToString();
            }
            else if ((pm1.Text == "Permintaan Turun") && (plh1.Text == "Or") && (ps1.Text == "Persediaan Banyak"))
            {
                r1         = Math.Max(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule1.Text = r1.ToString();
            }
            else if ((pm1.Text == "Permintaan Turun") && (plh1.Text == "Or") && (ps1.Text == "Persediaan Sedikit"))
            {
                r1         = Math.Max(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule1.Text = r1.ToString();
            }
            // Naik
            else if ((pm1.Text == "Permintaan Naik") && (plh1.Text == "And") && (ps1.Text == "Persediaan Banyak"))
            {
                r1         = Math.Min(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule1.Text = r1.ToString();
            }
            else if ((pm1.Text == "Permintaan Naik") && (plh1.Text == "And") && (ps1.Text == "Persediaan Sedikit"))
            {
                r1         = Math.Min(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule1.Text = r1.ToString();
            }
            else if ((pm1.Text == "Permintaan Naik") && (plh1.Text == "Or") && (ps1.Text == "Persediaan Banyak"))
            {
                r1         = Math.Max(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule1.Text = r1.ToString();
            }
            else if ((pm1.Text == "Permintaan Naik") && (plh1.Text == "Or") && (ps1.Text == "Persediaan Sedikit"))
            {
                r1         = Math.Max(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule1.Text = r1.ToString();
            }
            else
            {
                rule1.Text = "Pilih Aturan";
            }


            // Aturan 2
            // Turun
            if ((pm2.Text == "Permintaan Turun") && (plh2.Text == "And") && (ps2.Text == "Persediaan Banyak"))
            {
                r2         = Math.Min(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule2.Text = r2.ToString();
            }
            else if ((pm2.Text == "Permintaan Turun") && (plh2.Text == "And") && (ps2.Text == "Persediaan Sedikit"))
            {
                r2         = Math.Min(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule2.Text = r2.ToString();
            }
            else if ((pm2.Text == "Permintaan Turun") && (plh2.Text == "Or") && (ps2.Text == "Persediaan Banyak"))
            {
                r2         = Math.Max(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule2.Text = r2.ToString();
            }
            else if ((pm2.Text == "Permintaan Turun") && (plh2.Text == "Or") && (ps2.Text == "Persediaan Sedikit"))
            {
                r2         = Math.Max(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule2.Text = r2.ToString();
            }
            //Naik
            else if ((pm2.Text == "Permintaan Naik") && (plh2.Text == "And") && (ps2.Text == "Persediaan Banyak"))
            {
                r2         = Math.Min(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule2.Text = r2.ToString();
            }
            else if ((pm2.Text == "Permintaan Naik") && (plh2.Text == "And") && (ps2.Text == "Persediaan Sedikit"))
            {
                r2         = Math.Min(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule2.Text = r2.ToString();
            }
            else if ((pm2.Text == "Permintaan Naik") && (plh2.Text == "Or") && (ps2.Text == "Persediaan Banyak"))
            {
                r2         = Math.Max(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule2.Text = r2.ToString();
            }
            else if ((pm2.Text == "Permintaan Naik") && (plh2.Text == "Or") && (ps2.Text == "Persediaan Sedikit"))
            {
                r2         = Math.Max(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule2.Text = r2.ToString();
            }
            else
            {
                rule2.Text = "Pilih Aturan";
            }

            //Aturan 3
            //Turun
            if ((pm3.Text == "Permintaan Turun") && (plh3.Text == "And") && (ps3.Text == "Persediaan Banyak"))
            {
                r3         = Math.Min(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule3.Text = r3.ToString();
            }
            else if ((pm3.Text == "Permintaan Turun") && (plh3.Text == "And") && (ps3.Text == "Persediaan Sedikit"))
            {
                r3         = Math.Min(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule3.Text = r3.ToString();
            }
            else if ((pm3.Text == "Permintaan Turun") && (plh3.Text == "Or") && (ps3.Text == "Persediaan Banyak"))
            {
                r3         = Math.Max(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule3.Text = r3.ToString();
            }
            else if ((pm3.Text == "Permintaan Turun") && (plh3.Text == "Or") && (ps3.Text == "Persediaan Sedikit"))
            {
                r3         = Math.Max(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule3.Text = r3.ToString();
            }
            //Naik
            else if ((pm3.Text == "Permintaan Naik") && (plh3.Text == "And") && (ps3.Text == "Persediaan Banyak"))
            {
                r3         = Math.Min(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule3.Text = r3.ToString();
            }
            else if ((pm3.Text == "Permintaan Naik") && (plh3.Text == "And") && (ps3.Text == "Persediaan Sedikit"))
            {
                r3         = Math.Min(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule3.Text = r3.ToString();
            }
            else if ((pm3.Text == "Permintaan Naik") && (plh3.Text == "Or") && (ps3.Text == "Persediaan Banyak"))
            {
                r3         = Math.Max(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule3.Text = r3.ToString();
            }
            else if ((pm3.Text == "Permintaan Naik") && (plh3.Text == "Or") && (ps3.Text == "Persediaan Sedikit"))
            {
                r3         = Math.Max(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule3.Text = r3.ToString();
            }
            else
            {
                rule3.Text = "Pilih Aturan";
            }

            //Aturan 4
            //Turun
            if ((pm4.Text == "Permintaan Turun") && (plh4.Text == "And") && (ps4.Text == "Persediaan Banyak"))
            {
                r4         = Math.Min(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule4.Text = r4.ToString();
            }
            else if ((pm4.Text == "Permintaan Turun") && (plh4.Text == "And") && (ps4.Text == "Persediaan Sedikit"))
            {
                r4         = Math.Min(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule4.Text = r4.ToString();
            }
            else if ((pm4.Text == "Permintaan Turun") && (plh4.Text == "Or") && (ps4.Text == "Persediaan Banyak"))
            {
                r4         = Math.Max(Math.Round(uTrn, 2), Math.Round(uByk, 2));
                rule4.Text = r4.ToString();
            }
            else if ((pm4.Text == "Permintaan Turun") && (plh4.Text == "Or") && (ps4.Text == "Persediaan Sedikit"))
            {
                r4         = Math.Max(Math.Round(uTrn, 2), Math.Round(uSdk, 2));
                rule4.Text = r4.ToString();
            }
            //Naik
            else if ((pm4.Text == "Permintaan Naik") && (plh4.Text == "And") && (ps4.Text == "Persediaan Banyak"))
            {
                r4         = Math.Min(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule4.Text = r4.ToString();
            }
            else if ((pm4.Text == "Permintaan Naik") && (plh4.Text == "And") && (ps4.Text == "Persediaan Sedikit"))
            {
                r4         = Math.Min(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule4.Text = r4.ToString();
            }
            else if ((pm4.Text == "Permintaan Naik") && (plh4.Text == "Or") && (ps4.Text == "Persediaan Banyak"))
            {
                r4         = Math.Max(Math.Round(uNak, 2), Math.Round(uByk, 2));
                rule4.Text = r4.ToString();
            }
            else if ((pm4.Text == "Permintaan Naik") && (plh4.Text == "Or") && (ps4.Text == "Persediaan Sedikit"))
            {
                r4         = Math.Max(Math.Round(uNak, 2), Math.Round(uSdk, 2));
                rule4.Text = r4.ToString();
            }
            else
            {
                rule4.Text = "Pilih Aturan";
            }


            double min = double.MinValue;
            double max = double.MinValue;


            // uPemesanan Bertambah, Berkurang
            // Mencari Min
            if (pr1.Text == "Pemesanan Berkurang")
            {
                min = r1;
                max = Math.Max(Math.Max(r2, r3), r4);
            }
            else if (pr2.Text == "Pemesanan Berkurang")
            {
                min = r2;
                max = Math.Max(Math.Max(r1, r3), r4);
            }
            else if (pr3.Text == "Pemesanan Berkurang")
            {
                min = r3;
                max = Math.Max(Math.Max(r1, r2), r4);
            }
            else if (pr4.Text == "Pemesanan Berkurang")
            {
                min = r4;
                max = Math.Max(Math.Max(r1, r2), r3);
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr2.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(r1, r2);
                max = Math.Max(r3, r4);
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr3.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(r1, r3);
                max = Math.Max(r2, r4);
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(r1, r4);
                max = Math.Max(r2, r3);
            }
            else if ((pr2.Text == "Pemesanan Berkurang") && (pr3.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(r2, r3);
                max = Math.Max(r1, r4);
            }
            else if ((pr2.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(r2, r4);
                max = Math.Max(r1, r3);
            }
            else if ((pr3.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(r3, r4);
                max = Math.Max(r1, r2);
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr2.Text == "Pemesanan Berkurang") && (pr3.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(Math.Max(r1, r2), r3);
                max = r4;
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr2.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(Math.Max(r1, r2), r4);
                max = r3;
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr3.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(Math.Max(r1, r3), r4);
                max = r2;
            }
            else if ((pr2.Text == "Pemesanan Berkurang") && (pr3.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(Math.Max(r2, r3), r4);
                max = r1;
            }
            else if ((pr1.Text == "Pemesanan Berkurang") && (pr2.Text == "Pemesanan Berkurang") && (pr3.Text == "Pemesanan Berkurang") && (pr4.Text == "Pemesanan Berkurang"))
            {
                min = Math.Max(Math.Max(Math.Max(r1, r2), r3), r4);
                max = 0;
            }
            else if ((pr1.Text == "Pemesanan Bertambah") && (pr2.Text == "Pemesanan Bertambah") && (pr3.Text == "Pemesanan Bertambah") && (pr4.Text == "Pemesanan Bertambah"))
            {
                min = 0;
                max = Math.Max(Math.Max(Math.Max(r1, r2), r3), r4);
            }
            else
            {
                min = 0; max = 0;
            }

            // uPemesanan
            kpsn1.Text = min.ToString();
            kpsn2.Text = max.ToString();

            // nilai a1 dan a2
            // Mencari a1 dan a2
            double MinPro, MaxPro, a1, a2, m1, m2, m3, La1, La2, La3, z;

            MinPro   = double.Parse(prMin.Text);
            MaxPro   = double.Parse(prMax.Text);
            a1       = (min * (MaxPro - MinPro)) + (MinPro); // Mencari batas area 1
            a2       = (max * (MaxPro - MinPro)) + (MinPro); // Mencari batas area 2
            ta1.Text = a1.ToString();
            ta2.Text = a2.ToString();

            // Defuzzyfikasi Momen
            m1       = Math.Round(((0.5 * min) * Math.Pow(a1, 2)), 2);
            m2       = Math.Round((1 / (MaxPro - MinPro)) * (((0.3333 * Math.Pow(a2, 3))) - ((MinPro / 2) * Math.Pow(a2, 2)) - (0.3333 * Math.Pow(a1, 3)) + ((MinPro / 2) * Math.Pow(a1, 2))), 2);
            m3       = Math.Round((((0.5 * max) * Math.Pow(MaxPro, 2)) - ((0.5 * max) * Math.Pow(a2, 2))), 2);
            tm1.Text = m1.ToString();
            tm2.Text = m2.ToString();
            tm3.Text = m3.ToString();

            // Mencari Luas Area A1,A2,A3
            La1        = a1 * min;
            La2        = (min + max) * (a2 - a1) / 2;
            La3        = (MaxPro - (MaxPro - MinPro)) * max;
            la1.Text   = La1.ToString();
            la2.Text   = La2.ToString();
            la3.Text   = La3.ToString();
            z          = Math.Round((m1 + m2 + m3) / (La1 + La2 + La3), 2); // Titik Pusat
            hasil.Text = z.ToString();
        }
コード例 #2
0
    void UpdateVirtualPiano()
    {
        //Debug.Log(noteID);
        if (saveNoteID != noteID)
        {
            Do1.GetComponent <Image>().color   = Color.white;
            Doh1.GetComponent <Image>().color  = Color.black;
            Re1.GetComponent <Image>().color   = Color.white;
            Reh1.GetComponent <Image>().color  = Color.black;
            Mi1.GetComponent <Image>().color   = Color.white;
            Fa1.GetComponent <Image>().color   = Color.white;
            Fah1.GetComponent <Image>().color  = Color.black;
            Sol1.GetComponent <Image>().color  = Color.white;
            Solh1.GetComponent <Image>().color = Color.black;
            La1.GetComponent <Image>().color   = Color.white;
            Lah1.GetComponent <Image>().color  = Color.black;
            Si1.GetComponent <Image>().color   = Color.white;
            Do2.GetComponent <Image>().color   = Color.white;
            Doh2.GetComponent <Image>().color  = Color.black;
            Re2.GetComponent <Image>().color   = Color.white;
            Reh2.GetComponent <Image>().color  = Color.black;
            Mi2.GetComponent <Image>().color   = Color.white;
            Fa2.GetComponent <Image>().color   = Color.white;
            Fah2.GetComponent <Image>().color  = Color.black;
            Sol2.GetComponent <Image>().color  = Color.white;
            Solh2.GetComponent <Image>().color = Color.black;
            La2.GetComponent <Image>().color   = Color.white;
            Lah2.GetComponent <Image>().color  = Color.black;
            Si2.GetComponent <Image>().color   = Color.white;
        }
        saveNoteID = noteID;
        switch (noteID)
        {
        case 0:
            Do1.GetComponent <Image>().color = Color.gray;
            break;

        case 1:
            Doh1.GetComponent <Image>().color = Color.gray;
            break;

        case 2:
            Re1.GetComponent <Image>().color = Color.gray;
            break;

        case 3:
            Reh1.GetComponent <Image>().color = Color.gray;
            break;

        case 4:
            Mi1.GetComponent <Image>().color = Color.gray;
            break;

        case 5:
            Fa1.GetComponent <Image>().color = Color.gray;
            break;

        case 6:
            Fah1.GetComponent <Image>().color = Color.gray;
            break;

        case 7:
            Sol1.GetComponent <Image>().color = Color.gray;
            break;

        case 8:
            Solh1.GetComponent <Image>().color = Color.gray;
            break;

        case 9:
            La1.GetComponent <Image>().color = Color.gray;
            break;

        case 10:
            Lah1.GetComponent <Image>().color = Color.gray;
            break;

        case 11:
            Si1.GetComponent <Image>().color = Color.gray;
            break;

        case 12:
            Do2.GetComponent <Image>().color = Color.gray;
            break;

        case 13:
            Doh2.GetComponent <Image>().color = Color.gray;
            break;

        case 14:
            Re2.GetComponent <Image>().color = Color.gray;
            break;

        case 15:
            Reh2.GetComponent <Image>().color = Color.gray;
            break;

        case 16:
            Mi2.GetComponent <Image>().color = Color.gray;
            break;

        case 17:
            Fa2.GetComponent <Image>().color = Color.gray;
            break;

        case 18:
            Fah2.GetComponent <Image>().color = Color.gray;
            break;

        case 19:
            Sol2.GetComponent <Image>().color = Color.gray;
            break;

        case 20:
            Solh2.GetComponent <Image>().color = Color.gray;
            break;

        case 21:
            La2.GetComponent <Image>().color = Color.gray;
            break;

        case 22:
            Lah2.GetComponent <Image>().color = Color.gray;
            break;

        case 23:
            Si2.GetComponent <Image>().color = Color.gray;
            break;
        }
    }