Pernah dengar soal istilah Object Oriented Programming (OOP)?
Apa itu Object Oriented Programming
Singkatnya, OOP adalah pemrograman yang berorientasi pada objek. Jenis pemrograman ini lahir karena manusia butuh akan pemrograman yang lebih kompleks. Bahkan dengan data yang lebih besar, dan efisiensi untuk melakukan koding yang lebih tinggi.
Perbedaan OOP dengan sequential programming
Nah, tetapi bagi kalian yang mendapatkan matkul OOP di kuliah kalian, pasti bertanya-tanya. Memangnya apa bedanya OOP dengan pemrograman biasa?
Perasaan sama-sama aja tuh. Di sini, penulis membahas perbedaan antara OOP dengan sequential programming atau pemrograman biasa.
1. Ukuran dan Jenis Data yang Berbeda
Dalam sequential programming, biasanya kita akan menggunakan bentuk data paling dasar yaitu Primitive Data Type. Primitive Data Type ini hanya memiliki 1 jenis data untuk 1 variabel.
Contohlah kalian ingin mendeklarasikan angka desimal, maka kalian harus menggunakan tipe data float. Sedangkan, dalam OOP, jenis data yang digunakan biasanya adalah data yang berupa object.
Sebenarnya beberapa object telah kamu ketahui pada pemrograman tingkat dasar, seperti array atau string. Namun, object yang ada di dalam OOP sedikit berbeda. Sebab, object pada OOP adalah bagian daripada class, bukan tipe data tersendiri seperti Array ataupun String.
2. Adanya Class dan Object
Biasanya pemrograman berurusan dengan function, deklarasi dan hal semacam itu. Maka dalam OOP, pemrograman kita akan diorientasikan pada urusan bernama Class dan Object.
Class sendiri memiliki definisi sebagai template dari objek-objek yang tergabung di dalamnya. Sedangkan object adalah bagian daripada class yang memiliki karakteristik dasar sama seperti objek-objek lainnya yang tergabung di dalam class tersebut.
Masih bingung?
Coba kamu bayangkan Johnson dan Khufra di Mobile Legend.
Seperti yang bisa kita lihat, Johnson sendiri memiliki Class sebagai Tank, sama seperti Khufra. Akan tetapi, bentuk dan kekuatan yang dimiliki Johnson bisa berbeda dari Khufra.
Khufra juga memiliki skill serta suara dan nilai atribut yang berbeda dari Johnson. Nah perbedaan dan persamaan Khufra dan Johnson juga terjadi dalam Class serta Object OOP.
3. Eksekusi Berdasarkan Objek
Seperti yang kita ketahui, kalau kode yang kita jalankan akan dieksekusi berdasarkan urutan penulisan.
Itu terjadi jikalau kita menjalankannya dengan paradigma Sequential Programming. Tetapi, dalam OOP, kalian akan mengeksekusi kode berdasarkan objek.
Anggaplah kamu membuat game sederhana, serangan kalian akan dieksekusi berdasarkan objek yang menyerang. Bukan dieksekusi berdasarkan urutan kode yang kalian tuliskan.
Anggaplah objek A menyerang 3-4 kali, tetapi objek B tidak menyerang sama sekali, mereka akan dieksekusi berdasarkan objeknya saja. Bukan berdasarkan kode yang mana dulu yang ditulis.
Nah, jadi seperti itulah perbedaan mendasar antara sequential programming dengan Object Oriented Programming. Walaupun jauh lebih sulit, namun dengan penggunaan yang benar, kita bisa melakukan improvisasi dan inovasi yang lebih daripada Sequential Programming.