Menelusuri perjalanan OOP dari Simula (1967) dan Smalltalk (1972) yang menelurkan konsep class & object hingga Java yang mempopulerkannya di dunia enterprise sejak 1995, serta memahami mengapa OOP dan Java menjadi pilihan dominan untuk modeling dunia nyata, reuse, dan maintainability.

Setelah di episode 0 kita menyiapkan environment — memastikan JDK 25 LTS terinstall dan workspace ~/oop-lab siap — pada episode ini kita menarik napas sejenak dari hands-on dan memahami mengapa OOP ada. Sejarah sebuah paradigma mungkin terasa tidak penting, padahal justru di sanalah letak alasan mengapa desainnya seperti sekarang.
Mengapa harus memahami sejarah OOP? Karena OOP tidak lahir dari ruang rapat perusahaan, melainkan dari kebutuhan nyata para peneliti yang frustrasi dengan software yang makin rumit. Memahami asal-usulnya akan menjelaskan keputusan-keputusan desainnya — mengapa ada class dan object, mengapa ada inheritance, dan mengapa Java dibangun sebagai bahasa OOP dari hari pertama.
OOP bermula dari Simula 67, bahasa simulasi yang dikembangkan Ole-Johan Dahl dan Kristen Nygaard di Norwegia. Saat itu mereka harus mensimulasikan kapal, lalu lintas, dan proses industri — masalah yang penuh dengan entitas yang saling berinteraksi dan punya keadaan masing-masing.
Dari kebutuhan ini, Simula memperkenalkan dua konsep yang menjadi fondasi OOP:
| Fakta | Detail |
|---|---|
| Simula | 1967, oleh Dahl & Nygaard (Norwegia) |
| Konsep baru | Class dan object |
| Tujuan awal | Simulasi proses kompleks |
Pada 1972, Alan Kay dan tim di Xerox PARC mengembangkan Smalltalk, bahasa yang menyempurnakan konsep Simula dan — yang terpenting — mempopulerkan istilah "object-oriented programming". Smalltalk memperkenalkan message passing sebagai cara object berkomunikasi: kalian tidak "memanggil fungsi", melainkan "mengirim pesan" ke object.
Dari Smalltalk pula muncul prinsip encapsulation yang ketat: data di dalam object tidak bisa diakses langsung dari luar — hanya bisa diubah lewat pesan (method). Kita akan lihat prinsip ini lagi di episode 6.
Bahasa OOP sebelumnya seperti Smalltalk atau C++ terasa terpecah: Smalltalk terlalu eksperimental untuk industri, C++ terlalu dekat dengan C dan rawan error. Pada 1995, tim Sun Microsystems yang dipimpin James Gosling merilis Java dengan slogan khasnya: "write once, run anywhere".
Java dibangun sebagai bahasa OOP sejak awal — bukan ditambal kemudian. Semua kode di Java hidup di dalam class, dan setiap file .java adalah pendefinisian class. Inilah yang membuat Java konsisten mengekspos konsep OOP secara eksplisit, dan itulah alasan series ini memilih Java sebagai medium.
public class Hello {
public static void main(String[] args) {
System.out.println("Halo dari Java, bahasa OOP murni!");
}
}Perhatikan: bahkan program paling sederhana sekalipun wajib dibungkus class. Tidak ada "script top-level" seperti di Python. Inilah wujud nyata dari "Java adalah bahasa OOP murni".
Keunggulan Java tidak berhenti di bahasa itu sendiri. JVM (Java Virtual Machine) menjadi fondasi ekosistem raksasa: Android (melalui Kotlin/Java), sistem enterprise, big data (Hadoop, Spark, Kafka), sampai aplikasi backend berskala jutaan request per detik. Java juga menjadi pintu masuk alami ke bahasa JVM lain seperti Kotlin dan Scala.
Paradigma sebelumnya (prosedural) memecah program menjadi fungsi dan data yang terpisah. OOP justru menggabungkan keduanya: sebuah object membawa data (state) sekaligus perilaku (behavior) dalam satu kesatuan. Untuk sistem nyata — pengguna, pesanan, transaksi — pemetaan ini terasa alami.
OOP menyediakan mekanisme reuse yang terstruktur:
Hasilnya: perubahan pada satu bagian sistem tidak meledak ke bagian lain. Inilah alasan utama OOP menang untuk software berskala besar.
Di 2026, Java masih menjadi bahasa backend paling banyak dipakai di enterprise. Menguasai OOP dengan Java berarti membuka pintu ke Spring Boot, ekosistem cloud, Android, dan big data — bukan hanya soal sintaks, tapi soal cara berpikir yang dicari perusahaan.
Note
OOP bukan satu-satunya paradigma. Bahasa seperti Rust dan Go justru menonjolkan pendekatan non-OOP (traits dan composition). Perbandingan lengkap antar paradigma dan ekosistem akan kita bahas di episode 22.
| Tahun | Tonggak |
|---|---|
| 1967 | Simula — Dahl & Nygaard menciptakan class & object |
| 1972 | Smalltalk — Alan Kay mempopulerkan istilah OOP & message passing |
| 1983 | C++ — OOP ditambahkan ke atas C, jadi populer di industri |
| 1995 | Java 1.0 — bahasa OOP murni dari Sun Microsystems |
| 2000-an | Java mendominasi enterprise; lahir ekosistem JVM (Android, Hadoop) |
| 2014 | Java 8 — lambdas & streams (episode 13) |
| 2025 | JDK 25 LTS — Java modern: virtual threads, records, sealed classes |
Pada episode 1 ini, kalian telah menelusuri perjalanan OOP dari Simula dan Smalltalk hingga Java yang memopulerkannya di dunia enterprise.
Inti yang harus dibawa pulang:
Di episode 2 selanjutnya kita akan membedah paradigma dan empat pilar OOP — encapsulation, inheritance, polymorphism, dan abstraction — plus perbedaan fundamental antara class, object, state, behavior, dan message passing. Sampai jumpa di episode 2!