Gambar pembuka merupakan tabel macam-macam design pattern
yang dikenalkan dalam buku Design Pattern oleh Gang of Four. Bagi anda yang
pernah kuliah atau otodidak membaca-baca tentang software engineering pasti
pernah melihat atau mendengar istilah design pattern ini, apa sih sebenarnya
design pattern itu? Sebelum melangkah lebih lanjut, bagi yang belum kenal bisa
main-main ke salah satu artikel yang pernah saya buat untuk pengenalan mengenai
design pattern di
http://maulidangames.com/artikel/Mengenal-Design-Pattern/64.html
Sebagai ringkasan dari artikel diatas, design pattern
merupakan suatu metode untuk membantu mensolusikan permasalahan-permasahan yang
umumnya berulang atau memiliki pola dalam pengembangan software. Design Pattern
bukan merupakan sebuah metode yang langsung dapat diubah menjadi kode program
melainkan sebuah pola dasar atau template dari sebuah cara untuk menyelesaikan
suatu permasalahan dalam situasi yang berbeda-beda. Dibagi menjadi 3 kategori
pattern yaitu creational pattern, structural pattern, dan behavioral pattern
yang memiliki kegunaan masing-masing.
Pada kesempatan kali ini saya ingin berbagi opini mengenai
pentingnya design pattern dalam game programming berdasarkan pengalaman saya
membuat game. Ingat ini hanya opini bisa jadi tidak selalu sesuai dengan
keadaan anda, namun tidak ada salahnya dicoba.
Mengapa Design Pattern?
Secara umum design pattern merupakan salah satu metode yang
bisa digunakan dalam pembuatan software untuk mensolusikan permasalahan yang
umum muncul dan membuat struktur kode lebih terstruktur sehingga mudah
dipahami. Karena membuat game digital juga merupakan software development maka
penting untuk dipelajari dan digunakan. Menurut saya mengapa dibutuhkan karena:
Dengan kode yang terstruktur rapi maka akan membantu ketika
hendak melanjutkan kode yang sudah lama ditinggalkan (tentunya dengan code
convention yang baik juga).
Memudahkan adanya delegasi kepada programmer lain (yang
tentunya sudah paham pattern yang digunakan) untuk melanjutkan.
Dapat membantu meng-component-kan tiap feature sehingga
dapat digunakan kembali pada proyek selanjutnya.
Memudahkan menyelesaikan masalah karena pada dasarnya design
pattern dibuat untuk mensolusikan masalah-masalah yang umum muncul dalam
pengembangan software.
Mempercepat penyelesaian proyek karena tidak perlu
mengulangi hal-hal yang sudah pernah dilakukan.
“Design pattern dapat membuat struktur kode baik sehingga
mudah dipahami maupun didelegasikan dan mempercepat pengembangan proyek karena
mensolusikan masalah yang sering muncul”
Design pattern merupakan hasil riset bertahun-tahun oleh
para ahli, sehingga bisa disimpulkan tidak ada salahnya untuk dipelajari dan
digunakan.
Kendala Design Pattern
Sebagai seorang programmer, saya sangat senang ketika
melihat kode yang saya buat lebih rapi dan terstruktur, sehingga bisa dibaca
kembali ketika ingin melanjutkan pengembangan atau didelegasikan kepada
programmer lain (yang tentunya harus sudah paham tentang design pattern yang
digunakan). Oleh karena itu saat masih awal belajar membuat game, design
pattern menjadi salah satu yang sering dibaca dan dipraktekan, namun pada saat itu
masih banyak mengalami kendala.
Kendala yang sering ditemui saat itu adalah bagaimana
mengimplementasikan sekian banyak pattern yang ada kedalam kode yang dibuat.
Ternyata pemikiran tersebut salah, karena design pattern tidak selalu harus
digunakan dan diimplementasi satu persatu kedalam desain kode yang kita buat.
Tiap pattern memiliki tempatnya masing-masing dan tidak harus digunakan semua,
sesuaikan dengan kebutuhan sistem yang akan dibangun dalam hal ini game. Selain
itu pasti ada pengorbanan dari penggunaan design pattern, salah satunya yang
sering saya dengar adalah adanya penurunan performa karena kode, tetapi
sepengalaman saya selama ini tidak terlalu berpengaruh dan malah membantu,
tentunya kembali lagi sesuaikan dengan kebutuhannya.
“Tidak semua pattern dalam design pattern dapat dimasukan
kedalam proyek yang dibuat, sesuaikan dengan kebutuhan sistem, karena tetap
akan ada pengorbanan terhadap performa akibat kode”
Mempelajari Design Pattern
Memang tidak mudah untuk memahami kegunaan dari tiap-tiap
pattern. Sampai saat ini saya sendiri belum paham keseluruhan dari pattern yang
ada namun tidak ada salahnya berbagi sedikit hasil belajar. Oleh karena itu
jika ingin mencoba belajar, ada sedikit tips dari saya bagaimana caranya
(khusus untuk design pattern dari Gang of Four):
Pahami garis besar mengapa dibagi menjadi 3 kategori,
behavioral, structural, dan creational.
Pahami kegunaan dari masing-masing kategori.
Sebagai pemula coba pahami kegunaan dan cara implementasi
creational pattern berikut: Factory, Abstract Factory, Singleton.
Sebagai pemula coba pahami kegunaan dan cara implementasi
structural pattern berikut: Bridge, Adaptor
Sebagai pemula coba pahami kegunaan dan cara implementasi
behaviour pattern berikut: Observer, Strategy
Tambahan, pelajari juga tentang refactoring dan smellcode
untuk menambah ilmu!
Beberapa list pattern yang saya sebutkan di atas merupakan
yang sering saya temukan dan gunakan, bisa jadi tiap programmer berbeda,
silahkan disesuaikan. Mungkin ada yang beranggapan, “tidak harus menggunakan
design pattern juga bakal tetap jadi gamenya”, ya benar namun sepengalaman
saya, akan lebih baik ketika telah bisa dan benar mengimplementasikannya. Dan
ingat lagi, tidak semua design pattern akan digunakan dalam game development,
silahkan sesuaikan dengan projek anda.
Mungkin setelah mencoba membaca dan mempelajarinya, kalian
akan sadar kalo mungkin sudah pernah mengimplementasikannya meskipun belum tahu
istilahnya.
Penutup
Kesimpulannya menurut saya design pattern penting untuk
digunakan dalam software development baik itu game development ataupun apps
development, karena akan membuat struktural kode rapi, dapat didelegasikan
serta mempercepat pembangunan proyek karena terbantu mensolusikan masalah yang
umum muncul dalam software development.
Sekian untuk artikel kali ini, semoga menambah pandangan
baru dan ilmunya, dan sekali lagi artikel ini hanya opini, boleh setuju boleh
juga tidak.
quoted from : here
Sign up here with your email
2 comments
Write commentsIt is a great website.. The Design looks very good.. Keep working like that!. dark0de market link
ReplyPentingnya Design Pattern Dalam Dunia Pemrograman Game / Aplikasi - Ardiblog >>>>> Download Now
Reply>>>>> Download Full
Pentingnya Design Pattern Dalam Dunia Pemrograman Game / Aplikasi - Ardiblog >>>>> Download LINK
>>>>> Download Now
Pentingnya Design Pattern Dalam Dunia Pemrograman Game / Aplikasi - Ardiblog >>>>> Download Full
>>>>> Download LINK
ConversionConversion EmoticonEmoticon