Jumat, 15 Januari 2016

Seperti Mati

Tak pernah isi blog saya lagi... 
Selasa, 10 Juli 2012

Modul 10 - Behavioral Patterns (Template Method, Visitor)


10.1. Template Method Pattern
Tujuan dari template method adalah:
§  Menggambarkan kerangka algoritma dalam sebuah operasi sehingga meminimalisir beberapa langkah subclass
§  Subclasss dapat mendefinisikan algoritma tertentu tanpa harus mengubah struktur algoritmanya.
Method template pattern mendefinisikan kerangka program algoritma. Satu atau lebih dari langkah-langkah algoritma dapat diganti oleh subclass yang berbeda untuk memungkinkan perilaku sambil memastikan bahwa algoritma menyeluruh masih diikuti.
Dalam pemrograman berorientasi obyek, pertama kelas yang dibuat yang menyediakan langkah-langkah dasar dari desain algoritma. Langkah-langkah ini diimplementasikan dengan menggunakan metode abstrak. Kemudian, subclass mengubah metode abstrak untuk melaksanakan tindakan nyata. Dengan demikian, algoritma umum disimpan di satu tempat namun langkah-langkah konkret dapat diubah oleh subclass.

Kamis, 21 Juni 2012

Modul 9 - Behavioral Patterns (State, Strategy)

9.1. State Pattern
State pattern merupakan salah satu design pattern yang tergolong ke dalam behavioral pattern. State pattern muncul akibat adanya kondisi-kondisi (states) yang muncul pada saat pembuatan perangkat lunak. Pattern ini mengijinkan state transition logic untuk disatukan dengan sebuah state object daripada berada dalam kondisional atau switch statement. Pada tugas akhir kali ini, dibuat sebuah perangkat lunak yang mengimplementasikan state pattern untuk menyelesaikan sebuah kasus yang memiliki beberapa kondisi. Untuk mengevaluasi state pattern, dilakukan pengujian serta perhitungan terhadap object-oriented metrics. Sedangkan untuk mengetahui kelebihan dan kekurangan yang ada pada state pattern, akan dibandingkan hasil perhitungan object-oriented metrics perangkat lunak yang menerapkan state pattern dengan perangkat lunak yang tidak menerapkan state pattern untuk sebuah kasus yang serupa. Berdasarkan hasil analisis dan pengujian, jika dilihat dari perhitungan object-oriented metrics, perangkat lunak dengan state pattern memiliki kompleksitas yang lebih tinggi dan membutuhkan usaha yang lebih besar ketika dilakukan maintenance dibandingkan perangkat lunak tanpa state pattern. Namun, jika dilihat dari penanggulangan state yang ada, perangkat lunak dengan state pattern memiliki cara penanggulangan state yang lebih optimal dibandingkan perangkat lunak tanpa state pattern.
Rabu, 20 Juni 2012

Modul 8 - Behavioral Patterns (Mementto, Observer)

8.1. Momento Pattern
Maksud dari pola ini adalah untuk menangkap keadaan internal suatu objek tanpa melanggar enkapsulasi dan sehingga memberikan rata-rata untuk mengembalikan objek ke keadaan awal bila diperlukan. Kadang-kadang perlu untuk menangkap keadaan internal suatu objek pada titik tertentu dan memiliki kemampuan untuk mengembalikan objek untuk menyatakan bahwa di kemudian waktu. Kasus seperti ini berguna jika terjadi kesalahan atau kegagalan. Pertimbangkan kasus suatu objek kalkulator dengan operasi undo seperti kalkulator hanya dapat mempertahankan daftar semua operasi sebelumnya yang telah dilakukan dan dengan demikian akan mampu mengembalikan perhitungan sebelumnya telah dilakukan. Hal ini akan menyebabkan objek kalkulator untuk menjadi lebih besar, lebih kompleks, dan kelas berat, sebagai objek kalkulator akan harus menyediakan tambahan membatalkan fungsi dan harus memelihara daftar semua operasi sebelumnya. Fungsi ini dapat pindah dari kelas kalkulator, sehingga eksternal (sebut saja membatalkan kelas manajer) dapat mengumpulkan keadaan internal kalkulator dan menyimpannya. Namun menyediakan akses eksplisit untuk setiap variabel keadaan kalkulator kepada manajer restore akan tidak praktis dan akan melanggar prinsip enkapsulasi.
Kamis, 14 Juni 2012

Modul 7 - Behavioral Patterns (Interpreter, Iterator, Mediator)


Modul  7 - Behavioral Patterns (Interpreter, Iterator, Mediator)
Pada Modul ke 7 ini kita akan membahas tentang pola Behavioral pattern yaitu kelas interpreter, iterator, mediator pattern.
7.1. Interpreter Pattern
Sebuah masalah kelas terjadi berulang kali dalam sebuah domain yang jelas dan dipahami dengan baik. Jika domain yang ditandai dengan "bahasa", maka masalah bisa dengan mudah dipecahkan dengan "mesin" interpretasi. Pola Interpreter mendefinisikan bahasa domain (yaitu karakterisasi masalah) sebagai tata bahasa bahasa yang sederhana, yang mewakili aturan domain sebagai kalimat bahasa, dan menafsirkan kalimat-kalimat ini untuk memecahkan masalah. Pola ini menggunakan kelas untuk mewakili setiap aturan tata bahasa. Dan karena tata bahasa biasanya hirarkis dalam struktur, hirarki pewarisan kelas aturan memetakan dengan baik. Kelas dasar abstrak menentukan metode interpret(). Setiap subclass beton mengimplementasikan interpret() dengan menerima (sebagai argumen) kondisi saat ini dari aliran bahasa, dan menambahkan kontribusinya terhadap proses pemecahan masalah.
Interpreter menunjukkan pemodelan domain dengan tata bahasa rekursif. Setiap aturan dalam tata bahasa yang bersangkutan merupakan 'komposit' (aturan bahwa referensi aturan lain) atau terminal (simpul daun dalam struktur pohon). Juru bergantung pada traversal rekursif dari pola Komposit untuk menafsirkan 'kalimat' itu diminta untuk diproses.
Selasa, 12 Juni 2012

Modul 6 - Behavioral Patterns (Chain of Responbility, Command Pattern)


6.1.Chain of responsibility
Dalam menulis sebuah aplikasi dalam bentuk apapun, sering terjadi bahwa peristiwa yang dihasilkan oleh satu objek perlu ditangani oleh objek yang satu lagi. Dan, untuk membuat pekerjaan lebih sulit lagi, ketika terjadi penolakan akses ke objek yang perlu menangani hal tersebut. Chain of responsibility pattern memungkinkan objek untuk mengirim perintah tanpa tahu apa objek akan menerima dan menanganinya. Permintaan yang dikirim dari satu objek ke objek lainnya membuat bagian rantai dan setiap objek dalam rantai ini dapat menangani perintah, menyebarkannya atau melakukan keduanya.
Berikut diagram UML untuk pola Chain of Responsibility:
Dalam diagram di atas beberapa penjelasan diperlukan pada apa peran dari setiap kelas:
Senin, 07 Mei 2012

Modul 5 - Structural Patterns (Flyweight Pattern, Proxy Pattern)


5.1. Flyweight Pattern
Flyweight Pattern adalah sebuah perangkat lunak desain pattern.  Flyweight pattern adalah sebuah objek yang meminimalkan penggunaan memori dengan berbagi data sebanyak mungkin dengan objek sejenis, yang merupakan cara untuk menggunakan benda-benda dalam jumlah besar ketika representasi diulang sederhana akan menggunakan jumlah yang dapat diterima dari memori. Seringkali beberapa bagian dari negara objek dapat dibagi, dan itu adalah praktek umum untuk menahan mereka dalam struktur data eksternal dan meneruskannya ke objek kelas flyweight sementara ketika mereka digunakan.
Sebuah contoh klasik dari penggunaan pola flyweight adalah struktur data untuk representasi grafis dari karakter dalam pengolah kata. Mungkin diinginkan untuk memiliki, untuk setiap karakter dalam dokumen, sebuah flyweight objek yang mengandung outline font, metrik font, dan data format lain, tapi ini akan berjumlah ratusan atau ribuan byte untuk setiap karakter. Sebaliknya, untuk setiap karakter mungkin ada referensi ke objek mesin flyweight kelas flyweight bersama oleh setiap contoh karakter yang sama dalam dokumen, hanya posisi masing-masing karakter (dalam dokumen dan / atau halaman) akan perlu disimpan secara internal.
Maksud dari pola ini adalah dengan menggunakan berbagi untuk mendukung sejumlah besar objek yang memiliki bagian dari keadaan internal mereka yang sama di mana bagian lain dapat bervariasi.

Search

Memuat...

About Me

Foto Saya
Tian | Blog's
Banyuwangi, Jawa Timur, Indonesia
gak keren tapi menarik, kadang jutek tapi baik, :D
Lihat profil lengkapku
Tian Septian 15 Desember jam 16:11 Laporkan
widget