Kamis, 03 September 2015

Membuat Kalkulator Bilangan Pecahan Menggunakan Bahasa Pemrograman C#


Kali ini, penulis akan membagikan cara membuat kalkulator yang menghitung bilangan pecahan menggunakan bahasa pemrograman C#.
Pada saat ini, kalkulator sangat diperlukan di hampir seluruh aspek kehidupan manusia. Kalkulator menjadi sangat diperlukan karena semua pekerjaan hitung-menghitung menjadi mudah seperti profesi akuntan pasti akan membutuhkan kalkulator untuk dapat menghitung dengan cepat dan akurat, begitu juga dengan profesi yang lainnya.
Kalkulator pada saat dapat dikatakan cukup canggih karena dapat melakukan perhitungan yang rumit secara cepat dan akurat. Oleh sebab itu penulis inign membantu para pemakai kalkulator dengan piranti yang lebih canggih menggunakan bahasa pemrograman C#.
C# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. Menurut standar, nama C# terdiri atas sebuah huruf Latin C yang diikuti oleh tanda pagar yang menandakan angka #. Tanda pagar # yang digunakan memang bukan tanda kres dalam seni musik, dan tanda pagar # tersebut digunakan karena karakter kres dalam seni musik tidak terdapat di dalam keyboard standar.
Tujuan dari pembuatan program ini adalah agar mempermudah para pemakai kalkulator dalam penggunaan operator / tanda operasional yang sudah dikenal seperti “x”,”:”,”+”,”-“.
Kelebihan C# :

  • Flexible: C# program dapat di eksekusi di mesin computer sendiri atau di transmiskan melalu web dan di eksekusi di computer lainnya
  • Powerful: C# memiliki sekumpulan perintah yang sama dengan C++ yang kaya akan fitur yang lengkap tetapi dengan gaya bahasa yang lebih diperhalus sehingga memudahkan penggunanya
  • Easier to use: C# memodifikasi perintah yang sepenuhnya sama dengan C++ dan memberitahu dimana letak kesalahan kita bila ada kesalahan dalam aplikasi , hal ini dapat mengurangi waktu kita dalam mencari error
  • Visually oriented: The .NET library code yang digunakan oleh C# menyediakan bantuan yang dibutuhkan untuk membuat tampilan yang complicated dengan frames, dropdown , tabbed windows, group button , scroll bar , background image , dan lainnya
  • Secure: semua bahasa pemprograman yg digunakan untuk kebutuhan internet mesti memiliki security yg benar-benar aman untuk menghindari aksi kejahatan dari pihak lain seperti hacker , C# memiliki segudang fitur untuk menanganinya
  •  Memory management lebih mudah karena adanya garbage collector, yg membebaskan memory scr otomatis shg dapat mencegah memory leak. Type safe, konversi implisit dari tipe data hanya mensupport turunan dan operasi dari tipe data yg melebar (misal dari int ke long, kalo int ke short tidak bisa) dan ini dideteksi pas compile.
  •  Banyak fungsi yang tersedia di Base Class Library .NET Framework
  • Untuk pengembangan aplikasi bisnis/umum atau enterprise, penggunaan C# akan lebih produktif daripada bila menggunakan C++. Bahasa C# masih merupakan turunan dari bahasa C, tetapi seolah2 dibuat lebih mudah dan produktif seperti Visaul Basic dengan tetap mempertahankan fleksibilitas dan “power” dari bahasa C.

Berikut adalah source code C# dalam membuat kalkulator :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Program_2
{
    class Program
    {
        static void calculator()
        {
            Console.Write("Masukkan rumus : ");
            String input = Console.ReadLine();
            Console.WriteLine("==================");
            String[] a = new String[input.Length];
            for (int i = 0; i < input.Length; i++)
            {
                a[i] = input.Substring(i, 1);
            }
            switch (a[3])
            {
                case "+":
                    {
                        int kali = int.Parse(a[2]) * int.Parse(a[6]);
                        int bagi_1 = kali / int.Parse(a[2]);
                        int bagi_2 = kali / int.Parse(a[6]);
                        String x = kali.ToString();
                        String y = bagi_1.ToString();
                        String z = bagi_2.ToString();
                        a[2] = x;
                        a[6] = x;
                        a[0] = y;
                        a[4] = z;
                        for (int i = 0; i < input.Length; i++)
                        {
                            Console.Write(a[i]);
                        }
                        int tambah = int.Parse(a[0]) + int.Parse(a[4]);
                        a[0] = tambah.ToString();
                        Console.WriteLine(" ");
                        int tengah = input.Length / 2;
                        for (int i = 0; i < tengah; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        break;
                    }
                case "-":
                    {
                        int kali = int.Parse(a[2]) * int.Parse(a[6]);
                        int bagi_1 = kali / int.Parse(a[2]);
                        int bagi_2 = kali / int.Parse(a[6]);
                        String x = kali.ToString();
                        String y = bagi_1.ToString();
                        String z = bagi_2.ToString();
                        a[2] = x;
                        a[6] = x;
                        a[0] = y;
                        a[4] = z;
                        for (int i = 0; i < input.Length; i++)
                        {
                            Console.Write(a[i]);
                        }
                        int tambah = int.Parse(a[0]) - int.Parse(a[4]);
                        a[0] = tambah.ToString();
                        Console.WriteLine(" ");
                        int tengah = input.Length / 2;
                        for (int i = 0; i < tengah; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        break;
                    }
                case "x":
                    {
                        int kali_bawah = int.Parse(a[2]) * int.Parse(a[6]);
                        int kali_atas = int.Parse(a[0]) * int.Parse(a[4]);
                        int tengah = input.Length / 2;
                        a[0] = kali_atas.ToString();
                        a[2] = kali_bawah.ToString();
                        for (int i = 0; i < tengah; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        break;
                    }
                case "*":
                    {
                        int kali_bawah = int.Parse(a[2]) * int.Parse(a[6]);
                        int kali_atas = int.Parse(a[0]) * int.Parse(a[4]);
                        int tengah = input.Length / 2;
                        a[0] = kali_atas.ToString();
                        a[2] = kali_bawah.ToString();
                        for (int i = 0; i < tengah; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        break;
                    }
                case ":":
                    {
                        String pindah = a[4];
                        a[4] = a[6];
                        a[6] = pindah;
                        for (int i = 0; i < input.Length; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        int kali_bawah = int.Parse(a[2]) * int.Parse(a[6]);
                        int kali_atas = int.Parse(a[0]) * int.Parse(a[4]);
                        int tengah = input.Length / 2;
                        a[0] = kali_atas.ToString();
                        a[2] = kali_bawah.ToString();
                        for (int i = 0; i < tengah; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        break;
                    }
                case "/":
                    {
                        String pindah = a[4];
                        a[4] = a[6];
                        a[6] = pindah;
                        for (int i = 0; i < input.Length; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        int kali_bawah = int.Parse(a[2]) * int.Parse(a[6]);
                        int kali_atas = int.Parse(a[0]) * int.Parse(a[4]);
                        int tengah = input.Length / 2;
                        a[0] = kali_atas.ToString();
                        a[2] = kali_bawah.ToString();
                        for (int i = 0; i < tengah; i++)
                        {
                            Console.Write(a[i]);
                        }
                        Console.WriteLine(" ");
                        break;
                    }
            }
            repeat();
        }
        static void repeat()
        {
             Console.Write("Apakah anda mau mengulang ? [y/n] : ");
            String pilihan=Console.ReadLine();
            if (pilihan=="y")
            {
                calculator();
            }
            else if (pilihan=="n")
            {
                Console.WriteLine("Terimakasih..");
                Console.ReadKey();
            }
            else
            {
                Console.WriteLine("Maaf inputan anda salah");
                repeat();
            }
        }
        static void Main(string[] args)
        {
            calculator();
        }
    }
}

Jika anda sudah copy dan paste source code di atas maka anda tinggal menjalankan di visual studio. Jika berhasil maka akan tampak seperti berikut :




0 komentar: