google-site-verification: googleb4c12044f63f46ba.html Pemograman Modifikasi Statis Skip to main content

Featured

STRUKTUR DATA SEARCHING (PENCARIAN)

SEARCHING (PENCARIAN).       Dalam kehidupan sehari-hari sebenarnya kita sering melakukan pencarian data. Pencarian data sering juga disebut table look-up atau storage and retrieval information adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.       Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful). Ada beberapa pencarian yang akan kita uraikan disini: Pencarian Beruntun (Sekuensial Search). Pencarian Bagi dua (Binary Search). I. PENCARIAN BERURUTAN (SEKUENSIAL SEARCH).        Pencarian berurutan sering disebut pencari...

Pemograman Modifikasi Statis

1. Indikator Topik Pembahasan.

  • Mampu membuat.
  1. Pembuatan class statis.
  2. Pemanfaatan statis pada anggota class. 
  3. Pembuatan metode ekstension.
2. Peralatan yang digunakan.
  • Visual Studio 2017 Community. 
3. Materi Pembelajaran,
    Kata kunci Static
          Dalam kondisi normal ketika sebuah objek dari class diinstasikan, kemudian diberi nilai, maka objek akan otomatis dihancurkan ketika sudah selesai daur hidupnya. Kejadian ini akan menyebabkan hilangnya nilai yang terkandung bersamaan dengan hancurnya objek. apabila objek tersebut digunakan bersama oleh objek yang lain, maka akan membuat terjadinya kesalahan. Cara yang ditempuh adalah dengan melakukan banyak instansi pada class yang sama didalam objek-objek yang berbeda. Cara tersebut dirasa rumit dan pastinya akan terjadi kesulitan dalam berbagi data yang dikandung pada objek tersebut. Untuk menyelesaikan masalah tersebut, bahasa pemrograman memiliki mekanisme khusus. Mekanisme itu adalah menjadikan class tersebut dibuat secara statis.             Kata kunci static digunakan untuk mendeklarasikan statis class. Anggota dari class seperti atribut, metode, properti, konstruktor, dan event juga dapat dibuat statis. Static dapat berarti menghubungkan dengan dirinya sendiri, bukan menginstansikan ke dalam objek. Dengan kata lain jika menggunakan kata kunci static, maka langsung diakses dengan nama dari tipe itu bukan dari nama objek yang direferensikan. 

Class Statis 
      Dalam membuat/mendeklarasikan sebuah class, kata kunci static dapat ditambahkan untuk membuat sebuah class menjadi static class. Class statis tidak membutuhkan objek. Class statis hanya dapat berisikan anggota yang statis juga. Hal ini disebabkan tempat penyimpanannya yang berbeda. Anggota statis ketika dibuat akan langsung ditempatkan kedalam memori, sedangkan non statis ditempatkan kedalam memori ketika melalui proses instansi. Class statis tidak dapat diinstasikan sehingga anggota non statis tidak dapat berada didalam class statis. Class statis secara default merupakan "sealed class" yang bearti tidak dapat diwariskan ke class yang lain. 


    Setelah class atau anggotanya ditandai sebagai statis, maka kompilator akan mengeluarkan panggilan non-virtual kepada member tersebut. Hal tersebut dilakukan dengan tujuan menahan pengecekan ketika proses "runtime" untuk setiap panggilan yang memastikan bahwa pointer objek saat itu adalah "Not-Null". Berikut beberapa aturan yang berlaku pada class statis.
  1. Class statis tidak dapat menjadi base class.
  2. Class statis tidak dapat mengimplementasikan interface.
  3. Class statis tidak dapat diinstasikan kedalam objek. 
  4. Class statis tidak memiliki konstruktor ataupun overload-nya dan kompilator tidak akan membuat default konstruktor (parameterless construktor).
  5. Class statis boleh memiliki konstruktor yang bersifat statis dan harus parameterless.
  6. Class statis tidak memperbolehkan adanya kata kunci "abstract" untuk anggotanya. 
  7. Class statis dapat dibuat "Generic". 
  8. Class statis ataupun anggota lain yang statis dapat dibuat didalam class non statis tapi tidak sebaliknya. 
  9. Class statis dapat membuat sebuah metode extension (sejak C# versi 3.0).     

    Class statis dapat digunakan apabila sebuah aplikasi memiliki seperangkat metode "helper" atau metode "utility" yang harus dibuat dalam suatu class. Metodemetode tersebut perlu dipanggil berulang kali. Membuat instansi pada class tersebut akan membuat struktur koding menjadi rumit. Maka penggunaan class statis akan menjadi sebuah solusi yang baik, sebab tidak diperlukan objek yang diinstansikan berulang-ulang.  

Konstruktor 
    Statis Kata kunci static berlaku untuk konstruktor baik di class statis maupun class non-statis. Konstruktor statis merupakan tipe spesial dari konstruktor dimana dalam pembuatannya tidak membutuhkan akses modifier apapun. 


      Konstruktor statis hanya akan dipanggil satu kali yaitu ketika class pertama kali dimuat dan sebelum objek pertama kali diinstansikan. Konstruktor statis tidak dapat dipanggil secara langsung dan eksekusi konstruktor statis tidak dapat dikontrol. 

Atribut Statis & Metode Statis 
        Perilaku-perilaku yang telah disebutkan dari class statis, memberikan banyak sekali kekurangan yang sulit diterapkan kedalam kode program skala besar. Kebutuhan akan statis kemudian lebih banyak diterapkan hanya dianggota class itu saja. Class dibuat secara non-statis namun beberapa anggota seperti atribut dan metode beberapa dibuat statis. Hal ini dapat menutup kekuranga yang ada pada class statis, seperti tidak dapat dijadikan base class, tidak dapat diterapkan interface, dan konstruktor tidak dapat dikontrol. 
      Perlu diingat jika atribut atau metode diberikan kata kunci statis, maka atribut dan metode itu akan tersimpan di memori yang berbeda. Hal ini akan membuat akses data akan menjadi berbeda. Perhatikan contoh berikut. 


       Pada contoh diatas dapat dilihat apabila terdapat dua atribut static dan non static dipanggil bersamaan didalam static metode, maka akan terjadi kesalahan. Kesalahan muncul dikarenakan kedua atribut tersebut tersimpan diarea memori yang berbeda. Metode statis dengan atribut statis tersimpan diarea yang sama sedangkan non-statis tidak memiliki alamat memori sebelum class tersebut diinstansikan.


      Untuk menghindari error, maka setiap anggota (atribut, metode, dll) yang non statis harus diinstansikan dulu kedalam objek. Tujuan diinstansikan kedalam objek adalah untuk mendapatkan tempat didalam memori sehingga attribut tersebut dapat diberi nilai dan digunakan. 
         Ada cara lain yang ditempuh oleh beberapa programmer untuk menghindari instansi objek yang berulang-ulang dan tanpa harus membuatnya menjadi class statis. Yaitu dengan membuat sebuah properti "Get" yang dimodif menjadi statis. Properti ini akan bertanggung jawab menggantikan objek instansi menjadi statis. Properti ini akan memastikan bahwa hanya akan satu objek saja yang dibuat. Cara ini dirincikan kedalam sebuah pola yang kemudian dikenal dengan nama singleton. 
       Cara kerjanya adalah dengan menambahkan satu atribut private dengan tipe class yang sama yang dimodif statis. Lalu menambahkan satu buah properti get statis yang melakukan instansi terhadap dirinya sendiri. Langkah terakhir adalah membuat konstruktor menjadi private. Hal ini dilakukan untuk menghindari class diinstansikan diluar kelas.  








Comments

Popular Posts