ABSTRAKSI: Pemrograman berbasis object oriented sudah mulai banyak digunakan oleh para developer. Pemrograman ini dapat mengimplementasikan segala bentuk dan kejadian seperti yang terjadi di dunia nyata. Namun pada pemrograman berbasis object oriented masih ditemukan permasalahan yang berkaitan dengan bagaimana sebuah desain dari perangkat lunak yang berbasis object oriented tersebut dapat bersifat reusable dan fleksibel. Hal ini dikarenakan, kondisi pada dunia nyata selalu mengalami perubahan sehingga desain dari perangkat lunak tersebut harus mampu menangani setiap perubahan dan permasalahan yang muncul secara berulang-ulang.
Pada tugas akhir ini akan diimplementasikan refactoring untuk mendapatkan suatu desain yang terstruktur, sehingga akan didapatkan sebuah kesamaan pola atau struktur dengan salah satu pattern yang terdapat pada GoF. Pattern yang akan dituju adalah Abstract Factory design pattern, yang menyediakan sebuah interface untuk membangun keluarga dari objek yang berhubungan tanpa menspesifikasikan konkret kelasnya.
Dalam penentuan ada tidaknya kesamaan pola desain yang diperoleh tersebut dengan pola desain pada Abstract Factory pattern adalah ditinjau dari adanya kemiripan ataupun kesamaan pada struktur notasi interaksi antara kelas dan objek yang terjadi. Meskipun nantinya akan diperoleh sebuah ’implementation note’ yang berbeda dengan Abstract Factory pattern.Kata Kunci : pemrograman berbasis object oriented, refactoring, pattern, abstract factory design patternABSTRACT: Object Oriented Programming has been used by the developer. The Object Oriented Programming can implement all the shape and event in real world. But there still found a problem in Object Oriented Programming are how to make a design of Object Oriented Programming reusability and fleksibility. This problem is causes with the condition in the real world always changes, so the design application of Object Oriented Programming should be solve every changed.
In this final project, I will implement the Refactoring to get a structure pattern from the existing code, so that we can get the equality of pattern or sturcture with one of pattern in catalog GoF design pattern. That pattern is Abstract Factory design pattern that gives an interface for creating family from the relational object without spesification the concret class.
The parameterize equality of design pattern from Refactoring and design pattern in Abstract Factory pattern is looked from equality of notation interaction srtucture between class and object on the system. Although there are a different in implementation note with Abstract Factory pattern.Keyword: object oriented programming, refactoring, pattern, abstract factory design pattern