Selasa, 15 September 2015

ARRAY PADA BAHASA PEMROGRAMAN C#

PENGERTIAN
Larik (Bahasa Inggris : array), dalam ilmu computer, adalah suatu tipe data terstruktur yang dapat menyimpan banyak data dengan suatu nama yang sama dan menempati tempat di memori yang berurutan serta bertipe data sama pula.
Larik dapat diakses berdasarkan indeksnya. Indeks larik pada umumnya dimulai dari angka 0 dan ada pula yang dimulai dari bukan angka 0. Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping).

MACAM-MACAM LARIK (ARRAY)

  •  Larik 1 dimensi


Larik 1 dimensi adalah kumpulan elemen yang tersusun dalam 1 baris

  • Larik 2 dimensi

Larik 2 dimensi adalah pengembangan dari larik 1 dimensi dimana larik 1 dimensi hanya mempunyai baris, sedangkan larik 2 dimensi mempunyai baris dan kolom. Atau bisa disebut bahwa larik 2 dimensi adalah larik 1 dimensi yang berisi larik 1 dimensi.

Berikut adalah source code program pemesanan kursi di bioskop dengan menggunakan array
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;



namespace bioskop
{
    class Program
    {
        static int sisa = 30;
        static String[,] kursi = new String[6, 5];
        static String[,] nama = new String[6, 5];
        static void view()
        {
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    Console.Write(kursi[i, j] + "\t");
                }
                Console.WriteLine(" ");
            }
            menu();
        }
        static void array()
        {
            int x = 1;
            for (int i = 0; i < 6; i++)
            {
                for (int j = 0; j < 5; j++)
                {
                    kursi[i, j] = "[" + x + "]";
                    x++;
                }
            }
            view();
        }
        static void menu()
        {
            Console.WriteLine(" ");
            Console.WriteLine("1.Pesan Kursi");
            Console.WriteLine("2.Cari Nama Pemesan");
            Console.WriteLine("3.Sisa Kursi");
            Console.WriteLine("4. Keluar");
            Console.Write("Masukkan pilihan anda : ");
            String pilihan = Console.ReadLine();
            switch(pilihan)
            {
                case "1":
                case_1();
                break;

                case "2":
                case_2();
                break;

                case "3":
                Console.WriteLine(" ");
                Console.WriteLine("Sisa Kursi : " + sisa);
                Console.WriteLine(" ");
                view();
                break;

                case "4":
                    System.Environment.Exit(1);
                    break;

                default:
                    Console.WriteLine(" ");
                    Console.WriteLine("Maaf inputan anda salah...");
                    menu();
                    break;
            }
         
        }
        static void case_1()
        {
                    Console.WriteLine(" ");
                    Console.Write("Anda mau memesan kursi nomor berapa? [angka] : ");
                    int a = int.Parse(Console.ReadLine());
                    String x="["+a+"]";
                    Console.Write("Atas nama : ");
                    String y = Console.ReadLine();
                    if (a>30)
                    {
                        Console.WriteLine("Maaf inputan anda salah..");
                        case_1();
                    }
                    else if (a>=1 && a<=5)
                    {
                        if (kursi[0, a - 1] == "[x]")
                        {
                            Console.WriteLine("Maaf kursi telah dipesan...");
                            case_1();
                        }
                        kursi[0, a - 1] = "[x]";
                        nama[0, a - 1] = y;
                        sisa -= 1;
                        view();
                    }
                    else if(a>=6 && a<=10)
                    {
                        if (kursi[1, a - 6] == "[x]")
                        {
                            Console.WriteLine("Maaf kursi telah dipesan...");
                            case_1();
                        }
                        kursi[1, a - 6] = "[x]";
                        nama[1, a - 6] = y;
                        sisa -= 1;
                        view();
                    }
                    else if (a >= 11 && a <= 15)
                    {
                        if (kursi[2, a - 11] == "[x]")
                        {
                            Console.WriteLine("Maaf kursi telah dipesan...");
                            case_1();
                        }
                        kursi[2, a - 11] = "[x]";
                        nama[2, a - 11] = y;
                        sisa -= 1;
                        view();
                    }
                    else if (a >= 16 && a <= 20)
                    {
                        if (kursi[3, a - 16] == "[x]")
                        {
                            Console.WriteLine("Maaf kursi telah dipesan...");
                            case_1();
                        }
                        kursi[3, a - 16] = "[x]";
                        nama[3, a - 16] = y;
                        sisa -= 1;
                        view();
                    }
                    else if (a >= 21 && a <= 25)
                    {
                        if (kursi[4, a - 21] == "[x]")
                        {
                            Console.WriteLine("Maaf kursi telah dipesan...");
                            case_1();
                        }
                        kursi[4, a - 21] = "[x]";
                        nama[4, a - 21] = y;
                        sisa -= 1;
                        view();
                    }
                    else if (a >= 26 && a <= 30)
                    {
                        if (kursi[5, a - 26] == "[x]")
                        {
                            Console.WriteLine("Maaf kursi telah dipesan...");
                            case_1();
                        }
                        kursi[5, a - 26] = "[x]";
                        nama[5, a - 26] = y;
                        sisa -= 1;
                        view();
                    }
        }
        static void case_2()
        {
            Console.WriteLine(" ");
            Console.Write("Masukkan nomor kursi : ");
            int nomor = int.Parse(Console.ReadLine());
            if (nomor >= 1 && nomor <= 5)
            {
                if (kursi[0, nomor - 1] == "["+nomor+"]")
                {
                    Console.WriteLine("Maaf kursi belum dipesan...");
                    case_2();
                }
                Console.WriteLine("Nomor Kursi : " + nomor);
                Console.WriteLine("Nama Pemesan : " + nama[0, nomor - 1]);
                view();
            }
            else if (nomor >= 6 && nomor <= 10)
            {
                if (kursi[1, nomor - 6] == "[" + nomor + "]")
                {
                    Console.WriteLine("Maaf kursi belum dipesan...");
                    case_2();
                }
                Console.WriteLine("Nomor Kursi : " + nomor);
                Console.WriteLine("Nama Pemesan : " + nama[1, nomor - 6]);
                view();
            }
            else if (nomor >= 11 && nomor <= 15)
            {
                if (kursi[2, nomor - 11] == "[" + nomor + "]")
                {
                    Console.WriteLine("Maaf kursi belum dipesan...");
                    case_2();
                }
                Console.WriteLine("Nomor Kursi : " + nomor);
                Console.WriteLine("Nama Pemesan : " + nama[2, nomor - 11]);
                view();
            }
            else if (nomor >= 16 && nomor <= 20)
            {
                if (kursi[3, nomor - 16] == "[" + nomor + "]")
                {
                    Console.WriteLine("Maaf kursi belum dipesan...");
                    case_2();
                }
                Console.WriteLine("Nomor Kursi : " + nomor);
                Console.WriteLine("Nama Pemesan : " + nama[3, nomor - 16]);
                menu();
            }
            else if (nomor >= 21 && nomor <= 25)
            {
                if (kursi[4, nomor - 21] == "[" + nomor + "]")
                {
                    Console.WriteLine("Maaf kursi belum dipesan...");
                    case_2();
                }
                Console.WriteLine("Nomor Kursi : " + nomor);
                Console.WriteLine("Nama Pemesan : " + nama[4, nomor - 21]);
                view();
            }
            else if (nomor >= 26 && nomor <= 30)
            {
                if (kursi[5, nomor - 26] == "[" + nomor + "]")
                {
                    Console.WriteLine("Maaf kursi belum dipesan...");
                    case_2();
                }
                Console.WriteLine("Nomor Kursi : " + nomor);
                Console.WriteLine("Nama Pemesan : " + nama[5, nomor - 26]);
                view();
            }
        }
        static void Main(string[] args)
        {
            Console.Title="Program Pemesanan Kursi Bioskop";
            array();
            Console.ReadKey();
        }
    }
}


Berikut adalah video program ini berjalan



1 komentar:

Mr. Robot mengatakan...

Selamat malam, saya mau tanya. Jika saya ingin pesan kursi nya lebih dari satu (dalam 1 pesanan) gmn logic nya ya? Apa yang harus di ubah? Mohon pencerahan nya