Mengenal ASP.NET

Pengantar

ASP.NET, script pemrograman server untuk aplikasi website, generasi baru – penerus dari ASP (Active Server Pages atau classic ASP) keluaran raksasa software Microsoft, kini semakin luas diadopsi dan diterapkan, terutama pada website korporasi dan organisasi dunia. Hal ini telah menyebabkan keperluan akan programer ASP.NET meningkat pesat. Di lain pihak bahasa pemrograman ASP.NET ini nampaknya cukup sulit untuk dipelajari, sedangkan referensi mengenainya juga masih sangat terbatas, terutama yang ditulis dalam bahasa Indonesia. Untuk itu kami rasakan perlu untuk ikut membantu menyediakan tambahan referensi berupa tutorial pengantar belajar pemrograman dengan ASP.NET ini.
Perlu diingat ASP.NET bukanlah kelanjutan dari ASP klasik (classic ASP, dengan versi terakhir 3.0), tapi ASP.NET merupakan teknologi scripting server baru yang berbeda & lebih canggih. ASP.NET berdasarkan teknologi framework .NET dari Microsoft. ASP.NET merupakan teknologi scripting server yang sama sekali berbeda dan baru, diciptakan dari paling dasar ke atas, serta tidak didesain untuk harus kompatibel dengan teknologi ASP sebelumnya.

Asumsi Pengetahuan Dasar

Sebelum meneruskan tutorial ASP.NET ini, pembaca kami asumsikan sudah memiliki dasar-dasar yang baik mengenai:
  • Internet, website dan dasar-dasar membuat halaman web standar HTML
  • Pengetahuan bahasa scripting lainnya seperti VBScript atau JavaScript
  • Dasar-dasar pemrogramam scripting sisi-server (server-side) seperti ASP atau PHP

Apakah ASP.NET itu

ASP.NET adalah teknologi scripting sisi server dari Microsoft yang memungkinkan perintah script yang diselipkan dalam halaman web untuk dieksekusi oleh web server, dalam hal ini web server IIS (Internet Information Server) keluaran Microsoft dengan kemampuan framework .NET. IIS sendiri merupakan komponen bagian yang umumnya tersedia gratis pada jajaran server sistem operasi Windows (Windows 2000, Windows XP Professional, Windows Vista Enterprise atau Windows 7 versi Enterprise).

File-file ASP.NET dan Dasar Kerja Scripting Server

File ASP.NET hakikatnya merupakan file text dengan ekstensi “.aspx” berisikan kode script, HTML atau XML. File-file ini diletakkan pada directory tempat web server IIS beroperasi agar dapat diolah dan diinterpretasi oleh IIS.
Ketika web browser meminta suatu halaman berekstensi .aspx, IIS akan meneruskan permintaan itu ke mesin pengolah ASP.NET di server yang membaca baris demi baris script di dalamnya sekaligus mengeksekusinya. Hasil pengolahan ini dikembalikan ke web server IIS berupa kode HTML biasa, untuk diteruskan ke web browser pengguna, sehingga hasil akhir pengolahan (berupa halaman web HTML biasa tadi) dapat ditampilkan (di-render) dengan baik oleh web browser pengguna.

Framework .NET Microsoft

Framework .NET adalah infrastruktur dasar dari platform .NET Microsoft berupa lingkungan untuk membangun, mendistribusikan dan menjalankan aplikasi web dan layanan web.
Teknologi scripting server ASP.NET ini berbeda dengan pendahulunya ASP (Active Server Pages) klasik yang memiliki kekurangan bawaan berupa terlalu berorientasi kode serta bukan merupakan framework aplikasi, juga dirasa sebagai bukan alat pengembangan tingkat enterprise.
Frameworks .NET bertujuan untuk membuat:
  • Memrogram dengan lebih mudah dan cepat
  • mengurangi jumlah kode untuk menghasilkan hasil yang sama
  • merupakan pemrograman model yang deklaratif
  • memiliki hirarki kontrol server yang lebih kaya dengan kejadian “events”
  • memiliki pustaka librari berupa “class” yang lebih banyak & besar
  • memiliki dukungan alat pengembangan yang lebih baik
Frameworks .NET memiliki fleksibilitas pilihan bahasa pemrograman berbagai macam (puluhan pilihan) diantaranya yang paling terkenal:
  • C# (baca: C-sharp)
  • VB.NET
  • J# (baca J-sharp)
ASP.NET telah berkali-kali diperbaharui oleh Microsoft dengan berbagai alasan & pertimbangan, sehingga dapat ditemukan ASP.NET 2.0, ASP.NET 3.0, ASP.NET 3.5 dan ASP.NET 4.0. Yang pada intinya perbaikan, penambahan fsilitas dan penyempurnaan dari ASP.NET versi sebelumnya.

Inheritance (Pewarisan)

Salah satu konsep dasar dari pemrograman berbasis objek pada java adalah Inheritance, berikut ini saya akan memberikan sedikit gambaran tentang inheritance.
Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass.
Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.


public class Mamalia {
void KelasMamalia () {
.....
}}
class Paus extends Mamalia {
void TampilkanPaus () {
.....
}}
 Pada saat class Paus menurunkan atau memperluas (extend) class Mamalia, maka ia mewarisi data member yang dipunyai oleh class Mamalia. Dengan demikian, class Paus mempunyai data member yang diwarisi oleh Mamalia (behaviournya), ditambah dengan data member yang ia punyai (tempat hidup,dsb).

Beberapa aturan tentang pewarisan(inheritance) yang perlu diperhatikan :
1. Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.

2. Subclass juga merupakan class biasa, maka kita tetap dapat melakukan pewarisan pada subclass ini. Misal : class B merupakan subclass dari class A, kita dapat membuat class baru yang diturunkan dari class B sehingga class baru tersebut akan memiliki apa yang dimiliki oleh class A dan class B.

3. Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain, ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control (kontrol pengaksesan). Di dalam java, kontrol pengaksesan dapat digambarkan dalam tabel berikut ini:

akseskontrol
Saya akan memberikan contoh gambaran Inherit beserta programnya, sebelum itu lihat bagan berikut ini:
javainherit
Di sini dapat kita lihat dengan jelas penurunan sifat dari kelas parent(super class), kepada kelas childnya (sub class.)

Kita lihat dalam coding programnya:

klik pada gambar biar lebih jelas !!!

codingjavainherit1compile coding programnya kemudian jalankan maka anda akan melihat Inheritance dari parent classnya..selamat mencoba..


output

Overloading

Method overloading adalah suatu cara untuk memberikan nama yang sama kepada dua method yang berbeda meski dua method tersebut berada dalam class yang sama. Hal ini dapat dilakukan dengan cara membedakan tipe parameter, jumlah parameter dan susunan parameter. Untuk lebih jelasnya perhatikan contoh dibawah ini :

  1. public class MethodOverload {  
  2.   
  3. public void testOverloadedMethods() {  
  4.     System.out.printf("Square of integer 7 is %d\n", square(7));  
  5.     System.out.printf("Square of double 7.5 is %f\n", square(7.5));  
  6. }  
  7.   
  8. public int square(int intValue) {  
  9.     System.out.printf("\nCalled square with int argument: %d\n",  
  10.             intValue);  
  11.     return intValue * intValue;  
  12. }  
  13.   
  14. public double square(double doubleValue) {  
  15.     System.out.printf("\nCalled square with double argument: %f\n",  
  16.             doubleValue);  
  17.     return doubleValue * doubleValue;  
  18. }  
  19. }  
Untuk test dari class method overloading diatas adalah dibawah ini :
  1. public class MethodOverloadTest {  
  2.   
  3.  public static void main(String args[]) {  
  4.      MethodOverload methodOverload = new MethodOverload();  
  5.      methodOverload.testOverloadedMethods();  
  6.  }  
  7. }  
Maka setelah kita eksekusi akan menghasilkan output seperti dibawah ini :
  1. Called square with int argument: 7  
  2. Square of integer 7 is 49  
  3.   
  4. Called square with double argument: 7.500000  
  5. Square of double 7.5 is 56.250000 

Overriding

Berbeda dengan overloading. Kalo overloading, kita boleh menuliskan method yang sama namun dengan jumlah parameter yang berbeda dan nilai kembalian harus sama. Nah, kalau overriding konsepnya sama dengan overloading yaitu menulis kembali method. Namun, caranya overriding menulis kembali method sama persis. Sama mulai dari nama method dan isinya dan mengimplementasi kembali di sub classnya. Overriding dipakai saat kita menggunakan method yang sama tapi berbeda implementasinya. Jadi overriding method mempunyai nama method yang sama, jumlah parameter dan tipe parameter serta nilai kembalian (return) method yang di override. Jika method memiliki modifier akses public, method overridenya juga harus public.
Contoh:
class Kendaraan {
  ..............
  public String getJenis() {
    System.out.println(“Harga BBM turun”);
  }
}
class Motor extends Kendaraan {
  ..............
  public String getJenis() {
    System.out.println(“Harga BBM premium 4000 rupiah”);
  }
}
NB:
  • class motor mengextends class kendaraan
  • class motor melakukan override method di kendaraan namun berbeda implementasi
Kesimpulan:
  • Override method merupakan method yang sama persis dengan method yang sudah ada di super kelasnya, biasanya perbedaannya adalah pada implementasi (program body)
  • Overidding tidak bisa dilakukan dalam kelas itu sendiri
  • Jadi Overidding kerat kaitannya dengan inheritance (pewarisan)
Contoh lain:
class Lingkaran {
  double r;

  Lingkaran(double r) {
    this.r = r;
  }
  double Luas() {
    return Math.PI*this.r*this.r;
  }
  double Luas(double r) {
    this.r = r;
    return Math.PI*this.r*this.r;
  }
}
class Tabung extends Lingkaran {
  double h;

  Tabung() {
  //konstruktor kelas turunan, ada super() dan diisi nilai awal
    super(0);
  }
  double Luas(double r) {
  //overriding (method and parameter sama)
    this.r = r;
    return Math.PI * this.r * this.r * this.h;
  }
}
NB:
  • Class lingkaran melakukan overloading method Luas (beda signature)
  • Class tabung mengextends class lingkaran
  • Class tabung meng-override method Luas hasil dari overload. Jadi kita juga biosa mengoverride method hasil overloading juga

Struktur Control Java

Dalam Java ada 4 macam statement pengontrolan:
1. looping                do-while, while, for

2. pengambilan keputusan  if-else, switch-case

3. exception handling     try-catch-finally, throw

4. percabangan            break, continue, label:,

                          return

LOOPING
while
while (ekspresi) {

   statement

}

do-while
do {

   statement

} while (ekspresi)

for
for (inisialisasi; terminasi; incremen) {

   statement

}


PENGAMBILAN KEPUTUSAN
if-else
if (ekspresi) {

   statement

} else {

   statement

}
else bisa sebanyak yang dibutuhkan.

switch-case
switch (int ekspresi) {

   case 0: statement; break;

   case 1: statement; break;

   ...

   default: statement;

}
ekspresi yang digunakan harus integer

EXCEPTION HANDLING
try-catch-finally
try {

    statement

} catch (tipeException nama) {

    statement

} finally {

    statement

}


PERCABANGAN
break
break digunakan untuk menghentikan switch, for, while, atau do-while.
break label digunakan untuk menghentikan kumpulan statement yang ditandai dengan suatu label.

continue
continue digunakan untuk men-skip iterasi pada suatu looping.

return
return digunakan untuk keluar dari method. return diikuti suatu nilai akan memberikan output bagi method, nilai yang dikeluarkan harus match dengan tipe method. return tanpa diikuti suatu nilai khusus untuk method bertipe void.

Faktorial Dijava

Pada postingan kali ini saya akan langsung menampilkan beberapa coding program sekaligus. To the point aja mari langsung dilihat.

Pertama yaitu coding program menghitung Jumlah Nilai Faktorial. Walaupun sudah dibahas pada postingan sebelumnya, tak apalah jika dibahas kembali dengan coding yang berbeda. Coding programnya seperti dibawah ini.


import java.util.Scanner;
public class Faktorials
{
     public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    int f=1;
    System.out.print("masukan Bilangan Faktorial = ");
    int n=in.nextInt();
    System.out.println("============================== ");
    for(int i=1; i<=n; i++)
    f*=i;
    System.out.println(n+" ! = "+f);

  }
}

Output-nya dapat dilihat pada gambar dibawah ini.














Coding program berikutnya adalah program dengan menggunakan for.

import java.util.Scanner;
public class ProgramFor
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner (System.in);
        int f=5; //nilai yang ditampilkan pada hasil
        System.out.printf("Masukan Nilai m = ");
        int m= in.nextInt();
        System.out.printf("Masukan Nilai n = ");
        int n= in.nextInt();
        System.out.println("========================= ");
        System.out.print("Hasil = ");
        for (int i=m; i<=n; i++)
        if(i%2==0)
        System.out.print(" "+i+",");
        else
        f+=i;
        System.out.println("\nJumlah = "+f);
        System.out.println("========================= ");
    }
}


Output-nya dapat dilihat pada gambar dibawah ini.














Coding program berikutnya adalah program dengan menggunakan while.

public class ProgramWhile
{
 public static void main(String[] args)
  {
    int i=3; int f=-9;
  
    while(i<=20)
    {
      if(i%2==1)
         System.out.print(""+i+",");
      else
         f+=i;
      i++; 
    }
    System.out.println("\nJumlah = "+f);
  }
}


Output-nya dapat dilihat pada gambar dibawah ini.