Object-oriented programming is a method used to obtain solutions to problems through the perspective of objects (objects, concepts, entities).
This object has attributes and methods that are used together with other objects, so it can be used as a solution to a problem. There are fundamental differences between procedural programming with object-oriented programming, the procedural programming is usually in the form of lines executed program sequences starting from the top row to bottom (line to line command execute).

More sophisticated techniques in procedural programming by using the procedures and functions that make more modular procedural (this part thereof are divided into smaller).
Procedural programming is focused completion of the program based on the sequences of the work process. While object-oriented programming allows us to divide the problem based on the objects involved. Defining the role of each object in the problem solving process. So that the center of gravity settling problem with this method is the division of responsibilities to each object, not based on the work process.

Class and Object
In Object Oriented Programming (OOP) it will always be associated with classes and objects. Class is a general depiction of a collection of a particular object. A class can be lowered into the other classes. This process is called inheritance. Decrease class to other classes that will create a hierarchy. Class which lowers the classes below it is called the parent class, whereas under subclass called child classes. While the object is an instance (instance) of a class.