ABSTRAKSI: Design pattern muncul akibat adanya permasalahan yang sama yang sering muncul pada desain pembuatan perangkat lunak. Pada perkembangannya sudah banyak design pattern yang sudah ditemukan oleh pala programmer. Saat ini, design pattern dikelompokkan ke dalam tiga tujuan berbeda, yaitu creational, structural, dan behavioral.
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.
Kata Kunci : design pattern, state pattern, dan object-oriented metrics.ABSTRACT: Design pattern was invented because there are similar problems that often appeared in the software engineering. There are a lot of design patterns was invented by programmers in its development. Today, design pattern is clustered by three different purposes, there are creational, structural, and behavioral.
State pattern is one of behavioral pattern. State pattern was invented because programmers found states when they made software. This Pattern allows state transition logic to be incorporated into a state object rather than in a monolithic if or switch statement.
This final assignment will implement state pattern to finish a case that has several states. For evaluating state pattern, this final assignment will test and calculate object-oriented metrics from software of state pattern. Whereas to know the strength and weaknesses of state pattern, the result of object-oriented metrics state pattern’s software will compare with non state pattern’s software in same case study.
Based on object-oriented metrics, state pattern’s software has higher complexity and higher effort in maintenance rather than non state pattern’s software. However, state pattern’s software has best way to keep states in software rather than non state pattern’s software.
Keyword: design pattern, state pattern, and object-oriented metrics.