Cara Buat Seblak

Friday, August 12, 2016

Mengatasi NullPointerException Pada Android/Java


Sebenernya apasih NullPointerException yang sering kita temukan pada pengembangan aplikasi berbasiskan Android/Java?

Dan bagaimana kita menghindari munculnya error NullPointerException?

Sederhananya pesan NullPointerException muncul karena kita melakukan operasi kepada variable yang mengacu kesebuah object tertentu dan object tersebut belum kita inisialisasi, sebagai contoh kode dibawah ini:

Kendaraan mobil;

Artinya kita membuat object mobil dari class kendaraan, di atas adalah contoh object yang belum kita inisialisasi, seandainya kita melakukan operasi atau memanggil method yang ada pada class kendaraan, maka disitulah munculnya error NullPointerException.

Untuk memperjelas, perhatingan dibawah ini, seandainya class kendaraan mempunyai method maju() dan mundur(), dan kita coba panggil tanpa inisialisasi terlebih dahulu adalah seperti dibawah ini:

Kendaraan mobil;
mobil.maju();
mobil.mundur();

Maka kode di atas kalau dijalankan akan mengalami error NullPointerException pada saat kode sampai pada mobil.maju();Mobil ini tidak akan melakukan eksekusi mundur() karena akan error NullPointerException pada saat pemanggilan maju().

Lalu bagaimana mengatasinya?

Sederhananya, selalu inisialisai object sebelum kita melakukan operasi apapun, contoh nya seperti dibawah ini:

Kendaraan mobil = new Kendaraan();
mobil.maju();
mobil.mundur();

atau

Kendaraan mobil = Dealer.getKendaraan();
mobil.maju();
mobil.mundur();

atau gunakan try catch sebelum melakukan inisialisasi, semuanya itu tergantung dengan kondisi pengembangan yang kita lakukan, tapi intinya untuk menghindari error NullPointerException, selalu pastikan object sudah terinisialisasi.

Thursday, June 25, 2015

Menampilkan Row Number pada Gridview di aspx

Bagaimana menampilkan nomor urut pada gridview di aspx?

Tanpa harus membuat code tambahan di code behind kita bisa menyisipkan TemplateField pada row di gridview, cukup salin kode di bawah ini, dam masukan kedalah gridview kita,

<asp:TemplateField>
  <ItemTemplate>
    <%# Container.DataItemIndex + 1 %>
  </ItemTemplate>
</asp:TemplateField>

Tanpa menambahkan sesuatu di code behind, makan gridview akan automatis menampilkan nomor urut,

Wednesday, June 24, 2015

Error WCF The maximum message size quota for incoming messages (65536) has been exceeded

Saat kita menggunakan WCF, pasti umum banget muncul error "The maximum message size quota for incoming messages (65536) has been exceeded", apalagi kalau kita menangani service yang mengembalikan data yang banyak, row nya bisa sampe ratusan, bahkan ribuan, atau kalau service yang kita buat adalah service upload atau download data.

Lengkapnya pesan yang kita terima adalah seperti dibawah ini,

"The maximum message size quota for incoming messages (65536) has been exceeded. To increase the quota, use the MaxReceivedMessageSize property on the appropriate binding element."

Apa yang bisa kita lakukan?

Buka web config client dan server, lihat penggalan xml dibawah, yang di bold silahkan isi sesuai dengan keinginan kita,

<bindings>
    <basicHttpBinding>
        <binding name="basicHttp" allowCookies="true"
                 maxReceivedMessageSize="65536" 
                 maxBufferSize="65536"
                 maxBufferPoolSize="65536">
            <readerQuotas maxDepth="32" 
                 maxArrayLength="65536"
                 maxStringContentLength="65536"/>
        </binding>
    </basicHttpBinding>
</bindings>

Bagaimana kalau kita menggunakan WCF Test Client?

Cari Config File, trus kalian klik kanan, dan "Edit with SvcConfigEditor" setelah itu cari MaxBufferSize dan ubah sesuai dengan ke inginan, silahkan mencoba-coba sendiri.

Happy Code dan jangan lupa Subscribe, Share

Tuesday, June 23, 2015

Mendapatkan Alamat URL Lengkap Aspx

Bagaimana mendapatkan alamat url lengkap pada halaman Aspx di code behind menggunakan C#, yang dimaksud dengan url lengkap adalah seperti dibawah ini :

"http://localhost/virtual_dir/app/page.aspx?q=blabla"

Kita bisa menggunakan Request.Url.ToString() untuk mendapatkan nilai seperti diatas, dan untuk lebih lengkapnya, dibawah adalah apa yang bisa di keluarkan dari Object Request :

Request.ApplicationPath :   /virtual_dir
Request.CurrentExecutionFilePath :  /virtual_dir/app/page.aspx
Request.FilePath :  /virtual_dir/app/page.aspx
Request.Path :  /virtual_dir/app/page.aspx
Request.PhysicalApplicationPath :   d:\Inetpub\wwwroot\virtual_dir\
Request.QueryString :   /virtual_dir/app/page.aspx?q=blabla
Request.Url.AbsolutePath :  /virtual_dir/app/page.aspx
Request.Url.AbsoluteUri :   http://localhost/virtual_dir/app/page.aspx?q=blabla
Request.Url.Host :  localhost
Request.Url.Authority : localhost:80
Request.Url.LocalPath : /virtual_dir/app/page.aspx
Request.Url.PathAndQuery :  /virtual_dir/app/page.aspx?q=blabla
Request.Url.Port :  80
Request.Url.Query : ?q=blabla
Request.Url.Scheme :    http
Request.Url.Segments :  /
    virtual_dir/
    app/
    page.aspx

Happy Code dan jangan lupa Subscribe, Share

Monday, June 22, 2015

Beda Exception.Message dan Exception.ToString

Apakah perbedaan dari Exception.Message dan Exception.ToString, dan kapan sebaiknya kita pakai salah satu diantara keduanya.

Exception.Message hanya berisi pesan tentang Exception tersebut, misalnya "Object reference not set to an instance of an object"

Sedangkan Exception.ToString memberikan detail Exception lebih lengkap, termasuk type Exceptionnya, pesan Exception yang ada di Exception.Message, ada juga stack tracenya, dan lain sebagainya.

Sebagai tambahan, kalau kita mau tampilin ke user lebih baik cukup tampilkan Exception.Message saja, karena itupun juga sudah cukup membingungkan user, tapi setidaknya kalau user screen capture error yang di dapat, kita sebagai programmer sudah cukup paham maksud errornya.

Kalau untuk Exception.ToString sebaiknya kita simpan di Log saja, sebagai bahan tambahan kita untuk trace permasalahan yang terjadi, jadi kita bisa trace lebih dalam error yang terjadi di program kita.

Happy Code, Silahkan Subscribe dan Share

Sunday, June 21, 2015

Array dan List Pilih Mana?

Kapan kita menggunakan Array dan kapan kita menggunakan List, banyak yang bilang itu pilihan, ada juga yang bilang pakai List aja, karena menggunakan Array menyulitkan.

Apa sesungguhnya perbedaan mencolok diantara mereka?

Gunakan Array kalau :

Ukuran data sudah tetap dan tidak akan bertambah, karena kalau bertambah ukuran datanya saat kita menggunakan Array, akan sangat menyakitkan hati, dan performancenya juga lebih baik dari pada menggunakan List, itupun dari beberapa literatur di internet yang menyatakan seperti itu.

Gunakan List kalau :

Ukuran data tidak pasti, dan dapat bertambah setiap saat, akan sangat memudahkan menggunakan List apabila kita tinggal add data tanpa harus merubah ukuran dari Array yang kita gunakan.

Selebihnya, kita akan lebih menggunakan List ketimbang Array, karena memang List lebih fleksibel, hanya kasus-kasuk tertentu saja kita menggunakan Array,

Happy Code dan jangan lupa Subscribe, Share


Saturday, June 20, 2015

Apa NullReferenceException dan bagaimana memperbaikinya

Biasanya kita sering dapet error "Object reference not set to an instance of an object." apa arti error tersebut dan bagaimana kita menghindarinya?

Object reference not set to an instance of an object. itu artinya kita menggunakan operasi untuvariable yang null atau Nothing di VB, atau variabel yang belum di set nilainya, contoh :

string nama;
nama.Length;

Kalo di jalankan kode di atas, dijamin pasti kita akan nemu error "Object reference not set to an instance of an object."

Bagaimana menanggulaginya, kita kasih nilai dari variable nama, contoh:

string nama;
nama = "tai";
nama.Length;

Nah kalau begini gak akan ada errornya,

Happy Code dan jangan lupa Subscribe, Share