Cute Brown Spinning Flower

19.10.16

Bootcamp .Net Angkatan 95 bersama Xsis - Episode 3



Hallo! Hallo!
Ketemu lagi nih di curhatan Ana Fitriana. Hehehe.
Hari ke-3 Bootcamp .Net oleh PT Xsis Mitra Utama. Baru hari ke-3 loh.
Tadi belajar apaan, ya?
Kita masuk menu baru, yaitu Array. Mulai dari Array satu dimensi sampai Array dua dimensi. –Array aja bisa ber-dua, masa kamu nggak?-.
Kita buat banyak looping-an, semakin banyak hal baru yang dipelajari, tentunya tanpa melupakan pelajaran-pelajaran yang lalu. Jadinya terus-menerus terulang, sehingga nggak terlupakan. Aih, puitis banget kayaknya hari ini.
Tapi sayang banget. Pak Pur, mentor tercinta kita ada tugas negara, jadi nggak bisa menemani sampai akhir acara. Pada akhirnya kita mengerjakan sendirilah Materi Logic 3 ttg Array dua dimensi. Jadi, dari 10 soal, masing-masing dari kita pegang satu-satu dan diminta untuk menerjakan serta menjelaskan di depan kelas.
Pas giliran Ana, hmmm... Grogi euy! Karena belum hafal banget sama istilah-istilah IT-nya. Jadi, menjelaskannya juga seperti itulah... biarkan teman-teman sekelas dan Pak Pur saja yang tahu. Hehehe..
So, kita ngoding bareng-bareng sampai jam pulang tiba. Sayangnya, dari 10 soal yang diminta, baru 9 soal terselesaikan. Sempat Ana coba mengerjakan soal ke-10, tapi sampai sore tadi nggak ketemu-ketemu. Padahal kalau kata Pak Pur soalnya “So Easy!”.
Karena penasaran, masih aja dilanjut ngoding di kosan. Dan....
Yeah! Ketemu :D

Jadi bentuk yang ingin dicari tuh seperti ini:
Trus kodingannya, kira-kira begini:
---------------------
static void Soal10(int n)
        {
            int[] array10 = new int[n]; //instansiasi utk array fibonacci
            int nT = (n - 1) / 2;
           
            // buat array string alfabet
            string[] alfabet = new string[] { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J" };

            //buat deret fibonacci maju mundur
            for (int i = 0; i < array10.Length; i++)
            {
                if (i <= nT)
                {   //untuk array fibbonacci maju
                    if (i < 2)
                        array10[i] = 1;
                    else
                        array10[i] = array10[i - 2] + array10[i - 1];
                }
                else
                    array10[i] = array10[n - i - 1]; // untuk array fibunacci mundur
            }
            // array string 2D
            string[,] array2D = new string[n, n];

            //buat loopingan array 2D
            int index1=0; // untuk membuat fibonacci di i genap
            int index4 = 0; // untuk membuat alfabet di i ganjil
            for (int i = 0; i < array2D.GetLength(0); i++)
            {
                int index2 = 0;// untuk membuat fibonacci di j genap
                int index3 = 0;// untuk membuat alfabet di j ganjil
                for (int j = 0; j < array2D.GetLength(1); j++)
                {
                    if (i%2==0)
                    {
                        if (i <= j && i + j <= n - 1) //segitiga atas
                            array2D[i, j] = array10[index1].ToString();
                        else if (i >= j && i + j >= n - 1)//segitiga atas
                            array2D[i, j] = array2D[n - i - 1, j]; // ambil array2d dari segitga atas untuk dibalik i nya pada segitiga bawah
                    }
                   
                    if (j%2==0)
                    {
                        if (i >= j && i + j <= n - 1) //segitiga kiri
                            array2D[i, j] = array10[index2].ToString();
                        else if (i <= j && i + j >= n - 1)//segitiga kanan
                            array2D[i, j] = array2D[i, n-j-1]; // ambil array2d dari segitga kiri untuk dibalik j nya pada segitiga bawah
                        index2++;
                    }
                    if (i % 2 == 1)
                    {
                        if (i <= j && i + j <= n - 1) //segitiga atas
                            array2D[i, j] = alfabet[index4];
                        else if (i >= j && i + j >= n - 1)//segitiga atas
                            array2D[i, j] = array2D[n - i - 1, j]; // ambil array2d dari segitga atas untuk dibalik i nya pada segitiga bawah
                    }
                    if(j%2==1)
                    {
                        if (i >= j && i + j <= n - 1) //segitiga kiri
                            array2D[i, j] = alfabet [index3];
                        else if (i <= j && i + j >= n - 1)//segitiga kanan
                            array2D[i, j] = array2D[i, n - j - 1]; // ambil array2d dari segitga kiri untuk dibalik j nya pada segitiga bawahindex2++;
                        index3++;
                    }
                }
                if (i % 2 == 0)
                    index1++;
                if (i % 2 == 1)
                    index4++;
            }
            // menampilkan array
            for (int i = 0; i < array2D.GetLength(0); i++)
            {
                for (int j = 0; j < array2D.GetLength(1); j++)
                {
                    Console.Write(array2D[i, j] + "\t");
                }
                Console.WriteLine("\n");
            }

        }
--------------------------------------
Coba kita run ya :D
Jadi, kan jadi... XD
Tapi kodingan ini selesai juga karena bantuan teman-teman semua. Terimakasih banyak.
Segini dulu, deh ya curhatnya. Biar nggak bosen, jadi ngak usah banyak-banyak dulu. Hehehe..

~Mata Ashita~