Pentingnya Design Pattern dalam dunia Pemrograman game / Aplikasi


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 
Previous
Next Post »

2 comments

Write comments
Max
AUTHOR
November 22, 2021 at 11:56 PM delete

It is a great website.. The Design looks very good.. Keep working like that!. dark0de market link

Reply
avatar
Anonymous
AUTHOR
March 30, 2022 at 9:33 PM delete

Pentingnya Design Pattern Dalam Dunia Pemrograman Game / Aplikasi - Ardiblog >>>>> Download Now

>>>>> 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

Reply
avatar