jump to navigation

Exception Design (Bagian 09) – Try Parse Pattern 30 Juni 2008

Posted by firstyuyu in Exception Design.
add a comment

Untuk API yang sangat mempertimbangkan performa, kita bisa menggunakan Try-Parse pattern. Pattern ini merubah nama member sehingga makna semantik dari member tersebut sekaligus menunjukkan sebuah pengetesan. Misalnya tipe data DateTime mempunyai method Parse yang melontarkan exception jika gagal melakukan parsing terhadap string yang diberikan. Selain itu, tipe data DateTime juga mempunyai method pasangan untuk method Parse, yaitu TryParse, yang akan mencoba melakukan parsing, tetapi mengembalikan nilai false jika gagal dan jika berhasil, akan mengembalikan nilai DateTime hasil parsing melalui parameter output. (lebih…)

Exception Design (Bagian 08) – Tester-Doer Pattern 24 Juni 2008

Posted by firstyuyu in Exception Design.
1 comment so far

Sebagaimana telah kita bahas pada artikel Performa Exception Dibandingkan Return Value, exception bisa membawa dampak yang buruk bagi performa aplikasi jika tidak didesain dengan benar. Di akhir artikel tersebut disebutkan bahwa salah satu cara untuk mengurangi dampak negatif ini adalah dengan menggunakan Tester-Doer Pattern. Berikut ini akan kita bahas tentang apa itu Tester-Doer Pattern. (lebih…)

Performa Exception Dibandingkan Return Value 23 Juni 2008

Posted by firstyuyu in .net framework.
add a comment

Pada artikel Exception Design (Bagian 01) kita sudah membahas mengenai keuntungan-keuntungan penggunaan exception. Namun exception juga mempunyai satu kekurangan, yaitu masalah performa. Pada artikel ini, kita akan mencoba melihat sejauh mana perbedaan performa exception dibandingkan dengan return value. Diharapkan, dari pembahasan ini bisa menambah wawasan kita ketika mendesain sebuah exception. (lebih…)

Membuat Kelas StopWatch untuk Mengukur Waktu Eksekusi Kode Program 18 Juni 2008

Posted by firstyuyu in .net framework.
10 comments

Sering kali kita ingin mengukur waktu eksekusi kode program yang kita jalankan. Terutama jika kita sedang membandingkan antara beberapa alternatif algoritma untuk mencari algoritma yang paling cepat. Kita bisa membuat sendiri pengukur waktu seperti ini dengan memanfaatkan High-Resolution Timer. (lebih…)

Exception Design (Bagian 07) – Membuat Custom Exception 16 Juni 2008

Posted by firstyuyu in Exception Design.
add a comment

Pada beberapa kasus, kita mungkin tidak bisa menggunakan built-in exception yang telah terdapat di dalam .net framework karena tidak dapat mewakili jenis kesalahan yang terjadi. Pada kasus seperti ini, kita sebaiknya membuat custom exception (kelas turunan Exception yang kita buat sendiri). Berikut ini panduan yang bisa kita gunakan ketika kita ingin membuat custom exception: (lebih…)

Exception Design (Bagian 06) – Membungkus Exception 15 Juni 2008

Posted by firstyuyu in Exception Design.
add a comment

Suatu saat, exception yang berasal dari layer yang lebih rendah mungkin tidak akan punya makna ketika muncul di layer yang lebih tinggi. Pada kasus seperti ini, akan lebih baik jika exception yang berasal dari layer yang lebih rendah ini kita bungkus di dalam sebuah exception baru yang lebih mempunyai arti bagi developer di layer yang lebih tinggi. (lebih…)

Exception Design (Bagian 05) – Penanganan Exception (Exception Handling) 14 Juni 2008

Posted by firstyuyu in Exception Design.
add a comment

Setelah kita mengetahui kapan harus melontarkan exception, tipe exception apa yang harus dilontarkan, serta bagaimana membuat pesan exception, maka pada pembahasan kali ini kita akan memfokuskan diri untuk membahas bagaimana menangani exception yang terjadi. Pertama, kita definisikan dahulu beberapa terminologi berkaitan dengan penanganan exception. (lebih…)

Melontarkan Kembali (Rethrow) Sebuah Exception 13 Juni 2008

Posted by firstyuyu in .net framework.
add a comment

Pada beberapa kasus, ketika terjadi exception, kita mungkin ingin melakukan rollback terhadap operasi yang dilakukan untuk menjaga agar state tetap konsisten. Namun kita tidak ingin menanganin exception tersebut karena kita tahu bahwa layer yang lebih tinggi yang akan menanganinya. Di sini, proses yang terjadi ialah kita menangkap exception, melakukan rollback terhadap operasi yang dijalankan, lalu melontarkan kembali (rethrow) exception yang tadi kita tangkap. (lebih…)

Exception Design (Bagian 04) – Merancang Pesan Kesalahan Sebuah Exception 12 Juni 2008

Posted by firstyuyu in Exception Design.
add a comment

Setelah kita memilih tipe exception yang akan kita lontarkan, maka sekarang kita akan mencoba membahas tentang bagaimana merancanag pesan kesalahan yang akan dibawa sebuah exception sehingga ia bisa membawa informasi yang berguna bagi pengguna. Berikut ini paduannya: (lebih…)

CLR Execution Model (Bagian 03) – Eksekusi Sebuah Assembly 11 Juni 2008

Posted by firstyuyu in CLR.
add a comment

Sebagaimana disebutkan sebelumnya, managed assembly berisi metadata dan Intermediate Language (IL). IL merupakan bahasa mesin buatan Microsoft yang bersifat CPU-independent. IL mempunyai level yang lebih tinggi daripada kebanyakan bahasa mesin yang lain. IL bisa mengakses dan memanipulasi obyek serta mempunyai instruksi untuk membuat dan menginisialisasi obyek, memanggil virtual method pada obyek, dan memanipulasi elemen array secara langsung. Ia bahkan juga mempunyai instruksi untuk melontarkan dan menangkap exception. Kita bisa menganggap IL sebagai bahasa mesin berorientasi obyek. (lebih…)