II. TINJAUAN PUSTAKA 2.1. Agent-Based Software Engineering