13:17:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Di postingan sebelumnya kita telah belajar mengenai CONSTRUCTOR. kali ini kita akan belajar tentang Access Modifier dan Keyword STATIC by practice tentunya. oke langsung buat 2 buah package baru untuk memudahkan pemahaman kita tentang materi postingan ini. beri nama masing-masing package "AccessModifier_dan_KeywordSTATIC" dan "AccessModifier_dan_keywordSTATIC2" atau terserah anda. kemudian buat 2 class baru di package pertama dengan nama "Akses" sebagai main classnya dan satu class lagi dengan nama misal saja 'BelajarKeywordStatic'. juga buat 2 class baru di package kedua dengan nama "Akses" sebagai main classnya dan satu class lagi dengan nama misal saja 'Student' atau terserah anda. kemudian masukkan kode program berikut di masing-masing class tersebut:

Code di Class BelajarKeywordStatic (Package pertama):
package AccessModifier_dan_KeywordSTATIC;

public class BelajarKeywordStatic {

    static String ibu = "Siti Imro'atul K";  //variable diberi static
    static int umur=50;
    String pekerjaan;

    public static void tanyaNama(){     //karena method diberi Static,
        System.out.println("nama ibu = " +ibu); //maka utk dpt mengakses data "ibu" perlu di kasi static jg
    }

    //
    public static int tanyaUmur(){
        int hasilUmur = --umur;
        System.out.println("Umur ibu = " +umur);
        return umur;
    }

}

Code di Class Akses (Package pertama):

package AccessModifier_dan_KeywordSTATIC;

import AccessModifier_dan_keywordSTATIC2.Student; //import class2 di package lain

public class Akses {

    public static void main(String[] args){
        String batas="========================================mulai belajar keyword STATIC=============================================";

        Student newObject = new Student();

        System.out.println("warna kulit = " +newObject.warnaKulit);       //warna kulit bisa diakses dr package ini karena public

        newObject.ultah(100);
        newObject.keTuaan();

        System.out.println(batas);

        //keyword Static
        BelajarKeywordStatic.tanyaNama();   //naahh,... pemanggilannya tak perlu lg bikin objek baru lg
        BelajarKeywordStatic.tanyaUmur();   //tinggal panggil Class nya lalu data/method yg mau ditampilkan

    }
}

Code di Class Student (Package kedua):
package AccessModifier_dan_keywordSTATIC2;

public class Student {


    protected String nama = "dzaki faizal m";    //bisa diakses di 1 package, class ini, dan class turunan
    private int umur = 99;                           //bisa diakses di class ini aja
    int tinggi = 170;                           //tanpa hak akses (default). cuma bisa diakses di 1 package yg sama dan class ini aja.
    public final String warnaKulit = "merah jambu";   //bisa diakses di semua
    private String batas="==============================================================================================";

    public int ultah(int umur){     //agar private umur bisa diakses keluar maka saya bikin method public
        this.umur = umur;      //private hanya bisa diakses di class ini aja
        System.out.println("ini ultah yg ke-" +umur);
        return umur;
    }

    //lagi
    public void keTuaan(){
        System.out.println(batas);
        System.out.println("umur dzaki " +umur +" tahun");
        System.out.println("bikin method biar bisa akses private dr luar class");
    }
}

Code di Class Akses (Package kedua):

package AccessModifier_dan_keywordSTATIC2;

public class Akses {

    public static void main(String[] args){
        Student newObjek = new Student();

        System.out.println(newObjek.nama +" tinggi = " + newObjek.tinggi);    //nama dan tinggi masi bisa diakses dr class lain dlm satu package krn (protected & default)
    }
}

/** * macam access modifier:
 * 1. tanpa hak akses = hanya dpt diakses di 1 package dan class itu sendiri (tiap kita bikin method atau variable tanpa 2,3,4 scr default dah pake ini)
 * 2. private = hanya di class sendiri aja
 * 3. public = bisa diakses disemua
 * 4. protected = di 1 package, class itu, dan di sub2 kelas(class2 turunannya)
 * * ==> yg bisa dikasi hak akses = variable, method, class */

/** * Kegunaan dan aturan2 static = *
1. Atribut/variable, method, dan inner class(nested Class) yg udah dikasi Static * maka utk memanggilnya di Class lain ga perlu bikin2 object baru lg(langsung bisa diakses) *
2. agar suatu data dlm (variable, method, dan inner class) yg dikasi Static dpt diakses, maka data tersebut jg harus diberi keyword Static */

ٱلْـحَـمْـدُ للهِ

14:17:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Di postingan sebelumnya kita telah belajar mengenai Overloading Method. kali ini kita akan belajar tentang Contructor by practice tentunya. oke langsung buat sebuah package dengan nama "Constructor" kemudian buat sebuah class dengan nama Aplikasi sebagai main class nya dan satu class lagi dengan nama misal saja 'Pelanggan'. kemudian masukkan kode program berikut di masing-masing class tersebut:

Code di class Pelanggan:

package Constructor;

public class Pelanggan {

    String nama;
    int umur;

    Pelanggan(){
        System.out.println("Ini Constructor 1");
    }

    Pelanggan(String nama){
        System.out.println("Ini Constructor 2");
    }

    Pelanggan(String nama, int umur){
        System.out.println("Ini Constructor 3");
    }

    void Alamat(){  //method biasa

    }
}


Code di Main class:

package Constructor;

public class Aplikasi {
    public static void main(String[] args){
        Pelanggan Pelangganku = new Pelanggan();
        Pelanggan Pelanggan2 = new Pelanggan("Dzaki Faizal Mubarok");
        Pelanggan pelanggan3 = new Pelanggan("Mubarok", 21);

        Pelangganku.Alamat();
    }
}


NB:
/**

  • constructor = method khusus yg dijalankan otomatis saat sebuah object dibuat. 
  • contructor mirip method cuman bedanya dia dapat langsung diakses dengan hanya mendeklarasikan object nya. 
  • juga memiliki parameter dan dpt juga dioverloading juga diberi access modifier. 
  • pembuatan nama constructor sesuai dengan nama classnya (*tidak ada nilai VOID & RETURN).


cara manggilnya sbb =>
NamaClass Object = new NamaConstructor();
NamaClass Object = new NamaConstructor("parameter");

kapan penggunaan kontruktor?
misal= user mau melakukan input ke suatu form diwajibkan mencantumkan nama + umur maka pd case ini baiknya pake konstruktor sehingga constructor akan dijalankan dulu sebelum method2 lain dijalankan utk manggil isian form. */


ٱلْـحَـمْـدُ للهِ

11:20:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Melanjutkan postingan sebelumnya(Part II) tentang Parameter dan Keyword 'this' . kali ini kita akan belajar mengenai konsep OOP yaitu Overloading. untuk memulai, seperti biasa buatlah sebuah package baru di project OOP yg udah dibuat sebelumnya... disini saya beri nama packagenya "Overloading". dari package yang telah dibuat, kemudian buat sebuah class dengan nama aplikasi sebagai main class nya dan satu class lagi dengan nama misal saja 'Menghitung'. kemudian masukkan kode program berikut di masing-masing class:

Read this code and do write your own code!

code di class Menghitung:
package Overloading;

public class Menghitung {
    int penjumlahan(int angka1, int angka2){
        int hasil = angka1 + angka2;
        return hasil;
    }

    int penjumlahan(int angka1, int angka2, int angka3){ 
        int hasil = angka1 + angka2 + angka3;
        return hasil;
    }

    double penjumlahan(double angka1, double angka2){ //meski sama2 2 parameter namun beda type data
        double hasil = angka1 + angka2;
        return hasil;
    }

    //contoh lagi pake method procedure/void
    void statement(String nama){

    }
    void statement(String nama, String umur){   //ada 2 parameter

    }
    void statement(int nama){       //beda type data

    }
}


code di class Aplikasi:

package Overloading;

public class Aplikasi {

    public static void main(String[] args){
        Menghitung Hitung = new Menghitung(); //bikin instansiasi class Menghitung
        int penjumlahan1 = Hitung.penjumlahan(21, 29);
        int penjumlahan2 = Hitung.penjumlahan(100, 10, 10);
        double penjumlahan3 = Hitung.penjumlahan(2.5, 7.5);

        System.out.println("penjumlahan 2 parameter = " +penjumlahan1);
        System.out.println("penjumlahan 3 parameter = " +penjumlahan2);
        System.out.println("penjumlahan 2 parameter beda tipe data = " +penjumlahan3);
    }
}

/**
         Perhatikan cara penulisan Overloading method diatas. kemudian coba Run programnya.
         dengan overloading kita bisa bikin method dengan nama yg sama dlm 1 class
         dg ketentuan ==> jumlah parameter harus beda/boleh sama asal beda tipe datanya.

         dengan fitur overloading ini kita bisa lebih flexible dlm menentukan
         jumlah parameternya. (SERING KITA PAKE NIH...)
       
         */
ini baru basic sekali tentang pengenalan Overloading pada dasarnya konsepnya seperti ini. namun jika dah berkecimpung dengan aplikasi yang kompleks maka pengunaan overloading ini akan sangat berguna.

 ٱلْـحَـمْـدُ للهِ

07:30:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Setelah di postingan sebelumnya kita belajar mengenai Looping/Iteration(perulangan) dan Decision/Condision. kali ini kita akan belajar array by practice tentunya lewat kode program berikut:

Please Read Code and Write Your Own Code !

using System;


namespace LatihanArray
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with Arrays *****\n");
            SimpleArrays();
            ArrayInitialization();
            DeclareImplicitArrays();
            ArrayOfObjects();
            RectMultidimensionalArray();

            JaggedMultidimensionalArray();
            PassAndReceiveArrays();
            SystemArrayFunctionality();

            Console.ReadLine();
        }

        #region Simple Array
        static void SimpleArrays()
        {
            Console.WriteLine("=> Simple Array Creation.");
            // Create and fill an array of 3 Integers
            int[] myInts = new int[3];
            myInts[0] = 100;
            myInts[1] = 200;
            myInts[2] = 300;

            // Now print each value.
            foreach (int i in myInts) //print all index in myInts
                Console.WriteLine(i);
            Console.WriteLine();
        }
        #endregion

        #region Array Init Syntax
        static void ArrayInitialization()
        {
            Console.WriteLine("=> Array Initialization.");

            // Array initialization syntax using the new keyword.
            string[] stringArray = new string[] { "one", "two", "three" };
            Console.WriteLine("stringArray has {0} elements", stringArray.Length);

            // Array initialization syntax without using the new keyword.
            bool[] boolArray = { false, false, true };
            Console.WriteLine("boolArray has {0} elements", boolArray.Length);

            // Array initialization with new keyword and size.
            int[] intArray = new int[4] { 20, 22, 23, 0 };
            Console.WriteLine("intArray has {0} elements", intArray.Length);
            Console.WriteLine();
        }
        #endregion

        #region Var keyword with arrays
        static void DeclareImplicitArrays()
        {
            Console.WriteLine("=> Implicit Array Initialization.");

            // a is really int[].
            var a = new[] { 1, 10, 100, 1000 };
            Console.WriteLine("a is a: {0}", a.ToString());

            // b is really double[].
            var b = new[] { 1, 1.5, 2, 2.5 };
            Console.WriteLine("b is a: {0}", b.ToString());

            // c is really string[].
            var c = new[] { "hello", null, "world" };
            Console.WriteLine("c is a: {0}", c.ToString());
            Console.WriteLine();
        }
        #endregion

        #region Array of objects
        static void ArrayOfObjects()
        {
            Console.WriteLine("=> Array of Objects.");

            // An array of objects can be anything at all.
            object[] myObjects = new object[4];
            myObjects[0] = 10;
            myObjects[1] = false;
            myObjects[2] = new DateTime(1969, 3, 24);
            myObjects[3] = "Form & Void";

            foreach (object obj in myObjects)
            {
                // Print the type and value for each item in array.
                Console.WriteLine("Type: {0}, Value: {1}", obj.GetType(), obj);
            }
            Console.WriteLine();
        }
        #endregion

        #region MD arrays
        static void RectMultidimensionalArray()
        {
            Console.WriteLine("=> Rectangular multidimensional array:\n");
            // A rectangular MD array.
            int[,] myMatrix;
            myMatrix = new int[3, 4];

            // Populate (3 * 4) array.
            for (int i = 0; i < 3; i++)
            for (int j = 0; j < 4; j++)
                myMatrix[i, j] = i * j;

            // Print (3 * 4) array.
            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 4; j++)
                    Console.Write(myMatrix[i, j] + "\t");
                Console.WriteLine();
            }
            Console.WriteLine();
        }

        static void JaggedMultidimensionalArray()
        {
            Console.WriteLine("=> Jagged multidimensional array:\n");
            // A jagged MD array (i.e., an array of arrays).
            // Here we have an array of 5 different arrays.
            int[][] myJagArray = new int[5][];

            // Create the jagged array.
            for (int i = 0; i < myJagArray.Length; i++)
                myJagArray[i] = new int[i + 7];

            // Print each row (remember, each element is defaulted to zero!)
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < myJagArray[i].Length; j++)
                    Console.Write(myJagArray[i][j] + " ");
                Console.WriteLine();
            }
            Console.WriteLine();
        }

        #endregion

        #region Arrays as params and return values
        static void PrintArray(int[] myInts)
        {
            for (int i = 0; i < myInts.Length; i++)
                Console.WriteLine("Item {0} is {1}", i, myInts[i]);
        }

        static string[] GetStringArray()
        {
            string[] theStrings = { "Hello", "from", "GetStringArray" };
            return theStrings;
        }

        static void PassAndReceiveArrays()
        {
            Console.WriteLine("=> Arrays as params and return values.");
            // Pass array as parameter.
            int[] ages = { 20, 22, 23, 0 };
            PrintArray(ages);

            // Get array as return value.
            string[] strs = GetStringArray();
            foreach (string s in strs)
                Console.WriteLine(s);

            Console.WriteLine();
        }
        #endregion

        #region System.Array functionality
        static void SystemArrayFunctionality()
        {
            Console.WriteLine("=> Working with System.Array.");
            // Initialize items at startup.
            string[] gothicBands = { "Tones on Tail", "Bauhaus", "Sisters of Mercy" };

            // Print out names in declared order.
            Console.WriteLine(" -> Here is the array:");
            for (int i = 0; i < gothicBands.Length; i++)
            {
                // Print a name
                Console.Write(gothicBands[i] + ", ");
            }
            Console.WriteLine("\n");

            // Reverse them...
            Array.Reverse(gothicBands);
            Console.WriteLine(" -> The reversed array");
            // ... and print them.
            for (int i = 0; i < gothicBands.Length; i++)
            {
                // Print a name
                Console.Write(gothicBands[i] + ", ");
            }
            Console.WriteLine("\n");

            // Clear out all but the final member.
            Console.WriteLine(" -> Cleared out all but one...");
            Array.Clear(gothicBands, 1, 2);
            for (int i = 0; i < gothicBands.Length; i++)
            {
                // Print a name
                Console.Write(gothicBands[i] + ", ");
            }
            Console.WriteLine();
        }
        #endregion

    }
}


Dengan array memungkinkan kita untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks dalam sebuah variable. jika kode program diatas di run maka hasilnya akan tampak seperti berikut:

Ilmu Mubarok Belajar Array Full code program pembahasan array C#

Okeh silakan dipelajari. diPosting berikutnya kita akan belajar Enum.

ٱلْـحَـمْـدُ للهِ

22:06:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Melanjutkan posting saya sebelumnya tentang pembahasan Tipe Data sekarang saatnya belajar perulangan dengan For, Foreach, while, DoWhile dan juga Kondisional Operator IF-Else, Switch-Case by practice code tentunya. seperti biasa buat sebuah project console app di visual studio kemudian masukkan kode program berikut. baca dan pahami :) 

Read Code and Write Your Own Code !

using System;


namespace IterationsAndDecisions

{

  class Program

  {

    static void Main(string[] args)

    {

      Console.WriteLine("***** Loops and Choices *****\n");

      //ForAndForEachLoop();

      //VarInForeachLoop();

      //ExecuteWhileLoop();

      //ExecuteDoWhileLoop();

      //ExecuteIfElse();

      //ExecuteIfElseUsingConditionalOperator();

      //ExecuteSwitch();

      //ExecuteSwitchOnString();

      //SwitchOnEnumExample();

      //ExecutePatternMatchingSwitch();

      ExecutePatternMatchingSwitchWithWhen();

      Console.ReadLine();

    }



    #region For / foreach loops



    // A basic for loop.

    static void ForAndForEachLoop()

    {

      // Note! "i" is only visible within the scope of the for loop.

      for (int i = 0; i < 4; i++)

      {

        Console.WriteLine("Number is: {0} ", i);

      }

      // "i" is not visible here.

      Console.WriteLine();



      string[] carTypes = {"Ford", "BMW", "Yugo", "Honda"};

      foreach (string c in carTypes)

        Console.WriteLine(c);

      Console.WriteLine();



      int[] myInts = {10, 20, 30, 40};

      foreach (int i in myInts)

        Console.WriteLine(i);



      Console.WriteLine();

    }



    #endregion



    #region Var keyword in foreach



    static void VarInForeachLoop()

    {

      int[] myInts = {10, 20, 30, 40};



      // Use "var" in a standard foreach loop.

      foreach (var item in myInts)

      {

        Console.WriteLine("Item value: {0}", item);

      }



      Console.WriteLine();

    }



    #endregion



    #region while loop



    static void ExecuteWhileLoop()

    {

      string userIsDone = "";



      // Test on a lower-class copy of the string.

      while (userIsDone.ToLower() != "yes")

      {

        Console.Write("Are you done? [yes] [no]: ");

        userIsDone = Console.ReadLine();

        Console.WriteLine("In while loop");

      }

      Console.WriteLine();

    }



    #endregion



    #region do/while loop



    static void ExecuteDoWhileLoop()

    {

      string userIsDone = "";



      do

      {

        Console.WriteLine("In do/while loop");

        Console.Write("Are you done? [yes] [no]: ");

        userIsDone = Console.ReadLine();

      } while (userIsDone.ToLower() != "yes"); // Note the semicolon!



      Console.WriteLine();

    }



    #endregion



    #region If/else



    static void ExecuteIfElse()

    {

      string stringData = "My textual data";

      if (stringData.Length > 0)

      {

        Console.WriteLine("string is greater than 0 characters");

      }

      else

      {

        Console.WriteLine("string is not greater than 0 characters");

      }

      Console.WriteLine();

    }



    private static void ExecuteIfElseUsingConditionalOperator()

    {

      string stringData = "My textual data";

      Console.WriteLine(stringData.Length > 0

        ? "string is greater than 0 characters"

        : "string is not greater than 0 characters");

      Console.WriteLine();

    }



    #endregion



    #region C# 6 switch statements



    // Switch on a numerical value.

    static void ExecuteSwitch()

    {

      Console.WriteLine("1 [C#], 2 [VB]");

      Console.Write("Please pick your language preference: ");



      string langChoice = Console.ReadLine();

      int n = int.Parse(langChoice);



      switch (n)

      {

        case 1:

          Console.WriteLine("Good choice, C# is a fine language.");

          break;

        case 2:

          Console.WriteLine("VB: OOP, multithreading, and more!");

          break;

        default:

          Console.WriteLine("Well...good luck with that!");

          break;

      }

      Console.WriteLine();

    }



    static void ExecuteSwitchOnString()

    {

      Console.WriteLine("C# or VB");

      Console.Write("Please pick your language preference: ");

      string langChoice = Console.ReadLine();

      switch (langChoice)

      {

        case "C#":

          Console.WriteLine("Good choice, C# is a fine language.");

          break;

        case "VB":

          Console.WriteLine("VB: OOP, multithreading and more!");

          break;

        default:

          Console.WriteLine("Well...good luck with that!");

          break;

      }

      Console.WriteLine();

    }



    static void SwitchOnEnumExample()

    {

      Console.Write("Enter your favorite day of the week: ");

      DayOfWeek favDay;



      try

      {

        favDay = (DayOfWeek) Enum.Parse(typeof(DayOfWeek), Console.ReadLine());

      }

      catch (Exception)

      {

        Console.WriteLine("Bad input!");

        return;

      }



      switch (favDay)

      {

        case DayOfWeek.Sunday:

          Console.WriteLine("Football!!");

          break;

        case DayOfWeek.Monday:

          Console.WriteLine("Another day, another dollar");

          break;

        case DayOfWeek.Tuesday:

          Console.WriteLine("At least it is not Monday");

          break;

        case DayOfWeek.Wednesday:

          Console.WriteLine("A fine day.");

          break;

        case DayOfWeek.Thursday:

          Console.WriteLine("Almost Friday...");

          break;

        case DayOfWeek.Friday:

          Console.WriteLine("Yes, Friday rules!");

          break;

        case DayOfWeek.Saturday:

          Console.WriteLine("Great day indeed.");

          break;

      }

      Console.WriteLine();

    }



    public static void SwitchWithGoto()

    {

      var foo = 5;

      switch (foo)

      {

        case 1:

          //do something

          goto case 2;

        case 2:

          //do something else

          break;

        case 3:

          //yet another action

          goto default;

        default:

          //default action

          break;

      }

    }



    #endregion



    #region C# 7 switch statements



    static void ExecutePatternMatchingSwitch()

    {

      Console.WriteLine("1 [Integer (5)], 2 [String (\"Hi\")], 3 [Decimal (2.5)]");

      Console.Write("Please choose an option: ");

      string userChoice = Console.ReadLine();

      object choice;

      //This is a standard constant pattern switch statement to set up the example

      switch (userChoice)

      {

        case "1":

          choice = 5;

          break;

        case "2":

          choice = "Hi";

          break;

        case "3":

          choice = 2.5;

          break;

        default:

          choice = 5;

          break;

      }

      //This is new the pattern matching switch statement

      switch (choice)

      {

        case int i:

          Console.WriteLine("Your choice is an integer {0}.",i);

          break;

        case string s:

          Console.WriteLine("Your choice is a string. {0}", s);

          break;

        case decimal d:

          Console.WriteLine("Your choice is a decimal. {0}", d);

          break;

        default:

          Console.WriteLine("Your choice is something else");

          break;

      }

      Console.WriteLine();

    }



static void ExecutePatternMatchingSwitchWithWhen()

{

  Console.WriteLine("1 [C#], 2 [VB]");

  Console.Write("Please pick your language preference: ");



  object langChoice = Console.ReadLine();

  var choice = int.TryParse(langChoice.ToString(), out int c) ? c : langChoice;



  switch (choice)

  {

    case int i when i == 2:

    case string s when s.Equals("VB", StringComparison.OrdinalIgnoreCase):

      Console.WriteLine("VB: OOP, multithreading, and more!");

      break;

    case int i when i == 1:

    case string s when s.Equals("C#", StringComparison.OrdinalIgnoreCase):

      Console.WriteLine("Good choice, C# is a fine language.");

      break;

    default:

      Console.WriteLine("Well...good luck with that!");

      break;

  }

  Console.WriteLine();

}



    #endregion

  }
}


ٱلْـحَـمْـدُ للهِ

15:07:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Setelah kemarin kita belajar sedikit tentang Tipe Data (Data Type) dan beberapa case lain, kali ini saya akan buatkan sebuah program console app yang membahas lengkap tentang materi Tipe Data. Oke.. buat sebuah project console dengan nama BasicDataTypes. kemudian masukkan kode program berikut.

Read Code and Write Your Own Code !




using System;

// Need this to get BigInteger!
using System.Numerics;

namespace BasicDataTypes
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            Console.WriteLine("***** Fun with Basic Data Types *****\n");
            LocalVarDeclarations();
            DefaultDeclarations();
            NewingDataTypes();
            ObjectFunctionality();
            DataTypeFunctionality();
            CharFunctionality();
            ParseFromStrings();
            ParseFromStringsWithTryParse();
            UseDatesAndTimes();
            UseBigInteger();
            DigitSeparators();
            BinaryLiterals();
            Console.ReadLine();
        }

        #region Local variable declarations

        private static void LocalVarDeclarations()
        {
            Console.WriteLine("=> Data Declarations:");
            // Local variables are declared and initialized as follows:
            // dataType varName = initialValue;
            int myInt = 0;

            string myString;
            myString = "This is my character data";

            // Declare 3 bools on a single line.
            bool b1 = true, b2 = false, b3 = b1;

            // Very verbose manner in which to declare a bool.
            System.Boolean b4 = false;

            Console.WriteLine("Your data: {0}, {1}, {2}, {3}, {4}, {5}",
              myInt, myString, b1, b2, b3, b4);
            Console.WriteLine();
        }

        private static void DefaultDeclarations()
        {
            Console.WriteLine("=> Default Declarations:");
            //int myInt = default;
        }

        private static void NewingDataTypes()
        {
            Console.WriteLine("=> Using new to create variables:");
            bool b = new bool(); // Set to false.
            int i = new int(); // Set to 0.
            double d = new double(); // Set to 0.
            DateTime dt = new DateTime(); // Set to 1/1/0001 12:00:00 AM
            Console.WriteLine("{0}, {1}, {2}, {3}", b, i, d, dt);
            Console.WriteLine();
        }

        #endregion Local variable declarations

        #region Test Object functionality

        private static void ObjectFunctionality()
        {
            Console.WriteLine("=> System.Object Functionality:");
            // A C# int is really a shorthand for System.Int32.
            // which inherits the following members from System.Object.
            Console.WriteLine("12.GetHashCode() = {0}", 12.GetHashCode());
            Console.WriteLine("12.Equals(23) = {0}", 12.Equals(23));
            Console.WriteLine("12.ToString() = {0}", 12.ToString());
            Console.WriteLine("12.GetType() = {0}", 12.GetType());
            Console.WriteLine();
        }

        #endregion Test Object functionality

        #region Test data type functionality

        private static void DataTypeFunctionality()
        {
            Console.WriteLine("=> Data type Functionality:");
            Console.WriteLine("Max of int: {0}", int.MaxValue);
            Console.WriteLine("Min of int: {0}", int.MinValue);
            Console.WriteLine("Max of double: {0}", double.MaxValue);
            Console.WriteLine("Min of double: {0}", double.MinValue);
            Console.WriteLine("double.Epsilon: {0}", double.Epsilon);
            Console.WriteLine("double.PositiveInfinity: {0}",
              double.PositiveInfinity);
            Console.WriteLine("double.NegativeInfinity: {0}",
              double.NegativeInfinity);
            Console.WriteLine("bool.FalseString: {0}", bool.FalseString);
            Console.WriteLine("bool.TrueString: {0}", bool.TrueString);
            Console.WriteLine();
        }

        #endregion Test data type functionality

        #region Test char data type

        private static void CharFunctionality()
        {
            Console.WriteLine("=> char type Functionality:");
            char myChar = 'a';
            Console.WriteLine("char.IsDigit('a'): {0}", char.IsDigit(myChar));
            Console.WriteLine("char.IsLetter('a'): {0}", char.IsLetter(myChar));
            Console.WriteLine("char.IsWhiteSpace('Hello There', 5): {0}",
              char.IsWhiteSpace("Hello There", 5));
            Console.WriteLine("char.IsWhiteSpace('Hello There', 6): {0}",
              char.IsWhiteSpace("Hello There", 6));
            Console.WriteLine("char.IsPunctuation('?'): {0}",
              char.IsPunctuation('?'));
            Console.WriteLine();
        }

        #endregion Test char data type

        #region Parsing data

        private static void ParseFromStrings()
        {
            Console.WriteLine("=> Data type parsing:");
            bool b = bool.Parse("True");
            Console.WriteLine("Value of b: {0}", b);
            double d = double.Parse("99.884");
            Console.WriteLine("Value of d: {0}", d);
            int i = int.Parse("8");
            Console.WriteLine("Value of i: {0}", i);
            char c = Char.Parse("w");
            Console.WriteLine("Value of c: {0}", c);
            Console.WriteLine();
        }

        private static void ParseFromStringsWithTryParse()
        {
            Console.WriteLine("=> Data type parsing with TryParse:");
            if (bool.TryParse("True", out bool b))
            {
                Console.WriteLine("Value of b: {0}", b);
            }
            string value = "Hello";
            if (double.TryParse(value, out double d))
            {
                Console.WriteLine("Value of d: {0}", d);
            }
            else
            {
                Console.WriteLine("Failed to convert the input ({0}) to a double", value);
            }
            Console.WriteLine();
        }

        #endregion Parsing data

        #region Work with dates / times

        private static void UseDatesAndTimes()
        {
            Console.WriteLine("=> Dates and Times:");
            // This constructor takes (year, month, day)
            DateTime dt = new DateTime(2015, 10, 17);

            // What day of the month is this?
            Console.WriteLine("The day of {0} is {1}", dt.Date, dt.DayOfWeek);
            dt = dt.AddMonths(2); // Month is now December.
            Console.WriteLine("Daylight savings: {0}", dt.IsDaylightSavingTime());

            // This constructor takes (hours, minutes, seconds)
            TimeSpan ts = new TimeSpan(4, 30, 0);
            Console.WriteLine(ts);

            // Subtract 15 minutes from the current TimeSpan and
            // print the result.
            Console.WriteLine(ts.Subtract(new TimeSpan(0, 15, 0)));
            Console.WriteLine();
        }

        #endregion Work with dates / times

        #region Use BigInteger

        private static void UseBigInteger()
        {
            Console.WriteLine("=> Use BigInteger:");
            BigInteger biggy = BigInteger.Parse("9999999999999999999999999999999999999999999999");
            Console.WriteLine("Value of biggy is {0}", biggy);
            Console.WriteLine("Is biggy an even value?: {0}", biggy.IsEven);
            Console.WriteLine("Is biggy a power of two?: {0}", biggy.IsPowerOfTwo);
            BigInteger reallyBig = BigInteger.Multiply(biggy,
              BigInteger.Parse("8888888888888888888888888888888888888888888"));
            BigInteger reallyBig2 = biggy * reallyBig;

            Console.WriteLine("Value of reallyBig is {0}", reallyBig);
        }

        #endregion Use BigInteger

        #region Use Digit Separators

        private static void DigitSeparators()
        {
            Console.WriteLine("=> Use Digit Separators:");
            Console.Write("Integer:");
            Console.WriteLine(123_456);
            Console.Write("Long:");
            Console.WriteLine(123_456_789L);
            Console.Write("Float:");
            Console.WriteLine(123_456.1234F);
            Console.Write("Double:");
            Console.WriteLine(123_456.12);
            Console.Write("Decimal:");
            Console.WriteLine(123_456.12M);
        }

        #endregion Use Digit Separators

        #region Use Binary Literals

        private static void BinaryLiterals()
        {
            Console.WriteLine("=> Use Binary Literals:");
            Console.WriteLine("Sixteen: {0}", 0b0001_0000);
            Console.WriteLine("Thirty Two: {0}", 0b0010_0000);
            Console.WriteLine("Sixty Four: {0}", 0b0100_0000);
        }

        #endregion Use Binary Literals
    }
}

ٱلْـحَـمْـدُ للهِ

09:59:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Kalo di postingan sebelumnya kita sudah membahas tentang apa class, attribut, method (procedure dan function), serta membuat object baru dari suatu class dan cara memanggilnya.. sekarang kita akan belajar mengenai "Parameter dan Keyword this". oke langsung saja kita ke kodingnya (*nb: baca juga setiap Comment yg ada di block code nya). Pertama, buat sebuah sebuah package baru beri nama misal parameter_dan_keyword_THIS. kemudian klik kanan packagenya buat sebuah main class dengan nama Aplikasi. Setelah itu Buat sebuah class baru untuk kita belajar parameter misal perhitungan luas segitiga. dan masukkan kode program berikut pada class LuasSegitiga:


package Parameter_dan_keyword_THIS;

public class LuasSegitiga {



    double HitungLuasSegitiga(double alas, double tinggi){ //cth parameter di method function
        double Luas = 0.5 * alas *tinggi;

        return Luas;
    }

    void NamaSegitiga(String namaSegitiga, String Pengukur, String tglUkur){ //cth parameter di method procedure
        System.out.println("Segitiga yang diukur adalah = " +namaSegitiga);
        System.out.println("Diukur Oleh = " +Pengukur);
        System.out.println(tglUkur);
    }
}


Buat sebuah class baru lagi dengan nama KeywordThis karena kelas ini akan kita buat untuk belajar penggunaan keyword this. berikut kode programnya:

package Parameter_dan_keyword_THIS;

public class keywordThis {
    String nama;

    void namaSegitiga(String nama){
        this.nama = nama;   //kalo gak pake THIS (lgsung dipanggil method parameternya), maka hasilnya akan NULL
        this.namaOrang();   //juga bisa digunakan untuk manggil/ngumpulin suatu metod ke dlm 1 method kek gini.
        this.warna();
    }

    void namaOrang(){
        System.out.println("dzaki");
    }
    void warna(){
        System.out.println("hijau tua");
    }
}

/**
 * keyword "this" digunakan untuk mengakses apa2 yg ada di class itu sendiri.
 * misal = atribut dan paramater punya nama yg sama maka bisa diakses salahsatunya dg this, jg utk mengakses nama suatu method di class itu sendiri)
 */

Oke setelah kita membuat 2 class diatas selanjutnya kita panggil keduanya di main class nya yaitu class Aplikasi yg sudah kita buat tadi. masukkan kode program seperti beriukut:

package Parameter_dan_keyword_THIS;

public class Aplikasi {
    public static void main(String[] args){

        LuasSegitiga hitungLuas = new LuasSegitiga();

        double hasil = hitungLuas.HitungLuasSegitiga(125,155.5);    //local variable "hasil"  + 2 nilai parameter

        System.out.println(hasil  +" cm");      //cetak hasil
        hitungLuas.NamaSegitiga("segitiga sama sisi","Dzaki", "08/02/2018"); //masukan 3 nilai parameter

        // pemanggilan harus disesuaikan dg jml parameter yg di deklarasikan

        // ============================== keyword THIS =============================
        keywordThis objek = new keywordThis();

        objek.namaSegitiga("segitiga sama kaki");
        System.out.println(objek.nama);
    }
}

Run program dengan Ctrl+Shift+F10 .

                                                                        ٱلْـحَـمْـدُ للهِ

10:42:00


بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Secara konsep, Object Oriented Programming(OOP) baik di Java, Python, C semua sama. hanya yang membedakan syntax penulisannya saja. Oleh karena itu ketika seorang programmer sudah tau konsep OOP maka akan mudah penerapannya di semua programming language. baik, catatan saya kali ini saya akan belajar OOP di Java secara singkat dan by practice menggunakan IDE yg powerfull like IntelIJ. Untuk membuat sebuah program baru di IntelIJ IDEA, klik file - new - Project - akan muncul Pop-up new project seperti berikut:

 Ilmu Mubarok Java OOP IntellIJ new project

klik next, maka akan ada pilihan apakah ingin generate Main Class. klik checkbox jika iya. kemudian klik next. karena project mau saya bikin multi package(artinya satu project ini untuk semua pembahasan khusus OOP), maka saya buat manual aja main classnya(alias uncheck). Tiap poin pembahasan akan saya bikin sebuah package baru di dalam project yg sama. tapi terserah versi teman2 aja sih sebenernya hehe..

Ilmu Mubarok Java OOP with IntellIJ

Ilmu Mubarok Java OOP with IntellIJ


Setelah project tergenerate, selanjutnya bikin sebuah package baru di folder src dengan nama Class_dan_Attribut karena pembahasan pertama berkenaan dengan ini. kemudian bikin class baru di dalam package tersebut. klik kanan - new - java class (misal namanya Aplikasi).

/** ===================================================
 * aturan membuat kelas : nama class harus sama dg nama file
 * Atribut = semua data2 pendukung yg dimiliki Class (di dlm class itu).
 * dalam 1 class dapat memiliki beberapa variable :
 * 1. local variable = dideklarasikan di sebuah method, konstruktor, dan jg di dlm blok {}
 * 2. instance variable = variable di dlm class tp diluar method , konstruktor dll
 * 3. class variable = variable di dlm class diluar method tp dengan menggunakan keyword static.
 */

Buat sebuah Class baru dengan cara yang sama. kasi nama misal Student. kemudian tulis kode program berikut.


package Class_dan_Attribut;

public class Student {
    String nama="dzaki fm", kelas="14S1TI01";      //baris ini = atribut. naahhh... "nama" merupakan variablenya
    int id = 14117652;
    final double sppVariable = 1250000;     //final menandakan bahwa nilai tdk bisa diubah2 lg oleh class manapun
    double sppTetap = 1800000;


    void Nama(){         //method procedure = bisa banyak statement/perintah tp gak punya nilai
        System.out.println("saya "+nama +" lagi belajar OOP ");
        System.out.println("Nim saya = " +id);
        System.out.println(kelas);
    }

    double bayarSemester(){         // method function  nahh,.. krn punya nilai maka method function hrs dikasi typeData
        double biayaSemester = sppTetap + sppVariable;      //local variable biayaSemester
        System.out.println("jumlah tagihan semester = " +biayaSemester +" Rupiah");

        return biayaSemester;       // 1 method function hanya menyimpan/mencetak 1 nilai/value/hasil
    }

}


Kemudian masukkan kode program berikut di main class Aplikasi yang kita buat pertama tadi, untuk membuat objek baru dari class Student juga memanggil atribut2 nya:

package Class_dan_Attribut;

public class Aplikasi {     //ini class dg nama Aplikasi, nama filenya Aplikasi.java

    public static void main(String[] args) {

        Student panggilNama = new Student();        //membuat object baru dr class Student

        System.out.println(panggilNama.nama);       //panggil langsung variable nama di class Student

        panggilNama.Nama();     //panggil method Nama() di class Student
        panggilNama.bayarSemester();
    }
}

Jadi sekarang kita punya 2 class dalam 1 package yg sama. Kita bisa memanggil class student di main classnya sehingga kita dapat pakai semua atribut2 dalam class student di main class. jika program diatas di run maka hasilnya akan seperti ini:

Ilmu Mubarok OOP in Java with IntelliJ



ٱلْـحَـمْـدُ للهِ

12:52:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Melanjutkan posting sebelumnya tentang Basic C# Programming Language kali ini kita akan belajar tentang tipe data, string (pemakaian escape sequence), Operator, null, and soon... but in brief.
dalam penulisan sebuah kode program kita tidak akan pernah luput dari Data Type. ada beberapa macam tipe data. yang paling sering digunakan misalnya string, char, int, byte, long, float, double, bool (true and false value) untuk lebih lengkapnya liat disini .
Dalam penulisan sebuah string data terkadang kita perlu menambahkan tanda-tanda tertentu misal menambahkan karakter Enter, \ , backspace, dll.. nah utk dapat menulisnya kedalam kompiler perlu karakter tertentu yang dinamakan dengan escape sequence . misal contoh nih.. saya mau menampilkan sebuah data string dengan value "E:\multimedia\Mubarok.Net" . untuk menulisnya kita butuh escape sequence sbb:


string drive = " \" E:\\multimedia\\Mubarok.Net \" "

Setelah tau tentang penulisan karakter di dalam string data, kita perlu tau juga tentang Operator. ada beberapa macam penggunaan operator seperti operator penugasan (=), aritmatika (+, -, *,  /, %), perbandingan (==, !=, >, >=, <, <=), kondisi (&&, ||), Ternary (?:), Null Coalescing Operator (??).
Contoh penggunaan operator Ternary:
misal ada code :


int no = 26;
bool IsNumber;

if (no == 26)
{
  IsNumber = true;
}
else 
{
  IsNumber = false;
}

kode if-else diatas bisa disederhanakan dengan operator ternary sbb:

bool IsNumber = no == 10 ? true : false;    //hasilnya false

Di C# ada 2 tipe pembagian kategori yaitu:

  • Value Type (int, float, double, structs, enum, dll)
  • Reference Type (Interface, Class, Delegates, Array, dll)
secara default Value Type tidak boleh bernilai NULL. nah untuk membuatnya bisa dibuat NULL perlu menambahkan ?. contoh:

int? harga = null;
bool? y = null;

if (harga == null)
{
  IsHarga = 0;
}
else
{
  IsHarga = (int)harga;  //Implicit data type .  atau bisa juga diganti dengan harga.Value
}

//nah cara If-Else nullable int? value diatas bisa disederhanakan dengan Null Coalescing Operator sbb
int IsHarga = harga ?? 26000;   //maka hasilnya 0
Console.WriteLine("harganya : {0}", IsHarga);

ٱلْـحَـمْـدُ للهِ

07:46:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم


Melanjutkan postingan saya sebelumnya tentang How to Become an ASP .NET Developer ? kali ini saya mau mulai dari belajar basic C# Programming Language. Akantetapi hanya beberapa poin saja yang saya anggap penting untuk dipelajari. okeh langsung saja saya akan memulai dengan membuat sebuah Console App sederhana dengan C#.

Pertama, buat projectnya dulu dengan bantuan visual studio(saya pake vs community 2017). File - New - Project - maka akan tampil berikut :

simple C# console app ilmu mubarok

Setelah kode project tergenerate, masukkan simple kode program berikut di class program.cs :



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

namespace SimpleCSharpApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Display a simple message to the user.
            Console.WriteLine("***** My First C# App *****");
            Console.WriteLine("Hello World!");
            Console.WriteLine();
            
            // Wait for Enter key to be pressed before shutting down.
            Console.ReadLine();
        }
     }
}

Penjelasan:
Perlu diketahui :D... C# merupakan case-sensitive jadi antara Main dan main , ReadLine dan Readline itu dah beda. keyword using diatas merupakan pemanggilan library2 yg dibutuhin untuk program kita. tapi kalo programnya masi simple console kek diatas sih yang dipake cuma library system aja(yg lain dihapus gpp). Secara default, ketika kita membuat project console app akan tergenerate otomatis namespace yg penamaannya sama dengan nama projectnya. Nah... didalamnya terdapat class2 dan di dalam class terdapat Main method yg merupakan entry point dari app nya. jadi disemua app pasti ada satu Main method untuk eksekusi. method tersebut secara default bernilai 'private' jika tidak diberi keyword 'public' . karena statusnya 'Void' maka tidak perlu return value... kecuali tipenya diganti 'int' maka perlu ada nilai return. Tekan Ctrl+F5 untuk run program without debug.

Untuk testing purpose, kita bisa menambahkan argumen2 command line di visual studio yang nantinya argumen2 ini bakalan tersimpan di parameter string[] args dalam Main method. berikut caranya, klik kanan project - properties - masuk tab debug. masukkan command arg seperti gambar berikut (note: argumen bebas): 

ilmu mubarok debug command line arguments VS

Untuk menampilkan command diatas kita bisa menggunakan beberapa cara, bisa dengan looping FOR dan FOREACH juga bisa dengan memanfaatkan fungsi System.Environment.GetCommandLineArgs() . berikut contoh cara manggilnya(note: pilih satu dr 3) tambahkan ke dlm method Main diatas tadi:



              for (int i = 0; i < args.Length; i++)
              Console.WriteLine("Arg: {0}", args[i]);

            
            //foreach (string arg in args)
            //    Console.WriteLine("Arg: {0}", arg);

            
            //string[] theArgs = Environment.GetCommandLineArgs();
            //foreach (string arg in theArgs)
            //    Console.WriteLine("Arg: {0}", arg);

oke,.. saya akan coba lebih banyak bermain dengan System.Environment class. yang memiliki beberapa fungsi yang bisa kita manfaatkan. langsung saja.. tambahkan sebuah method baru di dalam class program.cs seperti berikut:



          private static void ShowEnvironmentDetails()
          {
            // Print out the drives on this machine
            foreach (string drive in Environment.GetLogicalDrives())
                Console.WriteLine("Drive: {0}", drive);

            //print out the OS version used
            Console.WriteLine("OS: {0}", Environment.OSVersion);
            Console.WriteLine("Number of processors: {0}",
                Environment.ProcessorCount);

            //prin out the .NET version used
            Console.WriteLine(".NET Version: {0}",
                Environment.Version);
          }

jangan lupa panggil methodnya di Main class,.. secara kan program utamanya disitu. kalo gak dipanggil ya sia2 ini method. cara manggilnya langsung ketik aja nama methodnya. ShowEnvironmentDetails(); . kira-kira hasilnya kalo di run seperti ini:

ilmu mubarok simple csharp App


Sekarang kita coba melakukan user input output. tambahkan kode seperti berikut ke Main methodnya.



            Console.Write("masukkan nama depan: ");
            string FirstName = Console.ReadLine();
            Console.Write("masukkan nama belakang: ");
            string LastName = Console.ReadLine();
            Console.Write("Umur: ");
            int umur = Convert.ToInt32(Console.ReadLine());  //tipe data int

            //placeholder
            Console.WriteLine("nama saya {0} {1}", FirstName,LastName);

            //concatenation
            Console.WriteLine("halo " +FirstName +" " +LastName +"! umurmu sekarang adalah {0}", umur); 

ada 2 cara dalam manggil inputan. pertama dengan metode concatinate (+) yg kedua dengan placeholder ({.}). saya sendiri lebih suka pake placeholder karna dah biasa hehe. untuk inputan data number inputnya perlu di convert seperti code diatas.

oke saya kira cukup untuk simple C# app nya buat latihan pertama.  basic IO.

ٱلْـحَـمْـدُ للهِ

13:54:00

بِسْمِ اللَّهِ الرَّحْمَنِ الرَّحِيم

Untuk orang yang awam akan dunia programming khususnya yang ingin mempelajari ASP nya .NET, tentu diawal awal belajar, sangatlah perlu mengetahui rule2 step by step bagaimana dan apa saja yang perlu dipelajari mulai dari awal hingga menjadi pro Web ASP .Net developer. hal ini dimaksudkan agar kita tahu darimana harus belajar. gak tiba2 instan langsung bisa develop ASP tanpa mengetahui basic dari .Net itu sendiri. Oke berikut rulenya :

  1. first, memahami .Net Basic Execution (how a .Net program executes?, The Use of ILDASM(Intermediate Language Disassembler) and ILASM(Intermediate Language Assembler) Visual Studio Tools?Strong Named and Weak Named an Assembly?, GAC(Global Assembly Cache)?, How .NET finds the assemblies during program execution?) . yang ini Optional aja sih menurut gw. kalo pengen tau gimana eksekusi compile .net dilakukan, tp gakada salahnya juga dipelajari. Secara garis besar sih .Net sama banget kek JAVA program prosesnya. misal kalo di java ada bytecode sama JVM(java virtual machine) sebagai eksekutornya.. kalo di .net ada Intermediate Language and CLR (Common Language Runtime)... yang kemudian dari eksekusi ini menghasilkan suatu assembly(.DLL(kalo projectnya berupa web or class library) dan .EXE(kalo projectnya berupa windows or console app)) nah.. didalam .Net Assembly ini ada 2 bagian yg disebut Manifest and Intermediate language(IL). manifest ini menyangkut informasi assembly like name, version, culture, public key token, reference, strong name information and soon... kita bisa memanfaatkan tools ILDASM and ILASM untuk memanipulasi assembly seperti mengubah versi dari defaultnya 1.0.0.0 ke 2.0.0.0 *misal, membaca juga mengexport manifest and IL to a text file.. dengan ILDASM. pakai/ganti dg assembly export an tsb / reconstruct assembly.. dengan ILASM. untuk caranya bisa disearch aja... kemudian suatu assembly dibedakan atas strong dan weak.. A strongly named assembly should have Assembly Name, Assembly Version Number, signed with private/public key pair>> contohh.. [assembly: AssemblyKeyFile("k.snk")] . selain dari ciri tersebut berarti assembly termasuk weak named assembly. kelebihan Strong named assemblies are guaranteed to be unique and solves DLL hell. sedangkan weak named tidak. dan hanya strongly named assembly yg bisa untuk di install ke GAC. pada intinya saat eksekusi program dilakukan, .Net pertama2 akan nyari versi assembly yg dibutuhkan di manifest(CLR checks the application configuration file), kemudian nyari GAC jika assembly strongly named, jika gak nemu assemblynya di GAC maka akan nyari di file .config, kalo ndak ada juga maka akan nyari di direktori yg ada file .EXE nya, jika ndak ada juga maka ERROR. note: ini hanya berlaku utk strongly named assembly. yaa intinya gitu deh program execution di .net
  2. Pengetahuan dasar Programming dengan C# (ini materi dasar-dasar ngoding pake C#). seperti penulisan code C#, Looping , Array, Namespace, Method, Interfaces, Abstract, Class, (konsep OOP), Delegates, Exception Handling, Encapsulation, Enum, Generics, Reflection, Indexers, List Collection, Anonimous method, Lambda Expression in C#, Func Delegate, Async & await, Multithreaded dan banyak lagi ... :D jangan kolaps dulu yah... istiqomah aja. yakin wiss kabeh ono dalane *ISO
  3. Apalah guna aplikasi tanpa data haha.. yup yang ketiga musti belajar DBMS nya SQL Server so pasti lah erat hubungannya ini satu platform. minimal lah paham connecting nya baru yang lain2 kek CRUD, join table, trigger, transact, pokok e DDL DML lah..
  4. Setelah itu barulah kita mempelajari ASP .Net 
  5. ADO(ActiveX Data Objects) .Net (merupakan sekumpulan class yg berguna untuk melakukan interaksi dg datasource seperti database atau file XML). detailnya nanti yaaa... pokoknya setelah belajar point2 diatas maka mulailah kita main2 dengan librari2 classnya ADO .Net ini juga. untuk nantinya bisa kita combine dengan Entity Framework.
  6. Untuk tambahan lainnya untuk melengkapi.. :D pelajari Gridview, kemudian Web Services &WCF, lanjut MVC, EF, dan LINQ tentunya.
oke cukup itu insyaallah kalo menguasai semua hehe bisalah buat bekal jadi pro ASP .Net Developer. yang penting yakin. dijalani wae dab.. selamat belajar. utk detail dari setiap materi diatas akan saya post di kesempatan berikutnya. 

اَلْحَمْدُلِلّهِ

Dzaki Faizal Mubarok (Dzaki_Mubarok)

{picture#https://lh3.googleusercontent.com/-XMtGV06UzCo/WAF2PUZYDwI/AAAAAAAAAfo/7AIatGpPLu0LZY7Nps_8TquCKkJXCqQkgCL0B/w424-d-h440-p-rw/Mubarok%2B%25282%2529.jpg} Website berbagi ilmu dan kebermanfaatan. Aminn Semoga berkah :) {facebook#https://www.facebook.com/mubarok.network} {twitter#https://twitter.com/Dzaki_Mubarrok} {google#https://plus.google.com/u/0/+DzakiMubarok26} {youtube#https://www.youtube.com/channel/UCVsIsEntb5Y3D2YVZIroBMA} {instagram#https://www.instagram.com/dzaki_mubarok/}
Powered by Blogger.