ABSTRAKSI: Design Pattern dan refactoring merupakan dua metoda yang bertujuan menghasilkan perangkat lunak yang handal yaitu dengan menerapkan suatu pola dalam pembangunan perangkat lunak yang berbasis objek. Namun terdapat perbedaan mendasar diantara keduanya, yaitu pola design pattern diterapkan sejak awal sedangkan refactoring menerapkan polanya ketika kode telah selesai dituliskan. Berawal dari pernyataan Marlin Fowler dalam buku refactoring yang mengatakan bahwa ada relasi natural yang menghubungkan pola dalam design pattern terhadap mekanisme refactoring dimana E.Gamma juga mengatakan bahwa design pattern tanpa disadari memuat banyak struktur yang dihasilkan dari refactoring. Oleh karena itu, pada tugas akhir ini akan dibuat sebuah perangkat lunak yang mengimplementasikan kedua metoda tersebut untuk menyelesaikan sebuah kasus. Design pattern yang digunakan adalah composite pattern dimana pattern ini bertujuan untuk menghilangkan perbedaan antara objek individual dengan objek hasil gabungan dari objekobjek individual tersebut. Sedangkan teknik refactoring yang akan digunakan adalah Replace One/Many Distinction with Composite untuk mendapatkan composite pattern. Hasil yang diperoleh setelah implementasi adalah adanya keserupaan struktur diantara sistem yang dibangun dengan Replace One/Many Distinction with Composite dan Composite pattern.Kata Kunci : design pattern, refactoring, composite, replace one/many distinction with compositeABSTRACT: Design and refactoring are two methods that aims to produce reliable software that is by applying a pattern in the development of object oriented system. But there are fundamental differences between them, namely the pattern of design pattern applied since the beginning of the pattern while applying refactoring when the code has finished writing. Starting from the statement in the book refactoring Marlin Fowler said that there is a relation that links the natural pattern of design patterns in refactoring mechanism whereby E. Gamma also said that the design pattern unknowingly load a lot of structure resulting from the refactoring. Therefore, in this final assignment will be made a software that implements these two methods to solve case. Design pattern used is the composite pattern where the pattern is intended to eliminate differences between individual objects with the objects of the combined results of these individual objects. While refactoring techniques are used Replace One / Many with Composite Distinction for the composite pattern. The implementation result shows a structure similarity between system with composite pattern and replace one/many distinction with composite.Keyword: design pattern, refactoring, composite, replace one/many distinction with composite