Walaupun konsep pemrograman algoritma pertama kali diciptakan pada tahun 1843 oleh Lovelace, bahasa pemrograman yang sebenarnya pertama kali diciptakan pada tahun 1944, 1 abad setelahnya penemuannya oleh Konrad Zuse. Beliau merupakan tokoh yang pertama kali menciptakan Plankalkül (Plan Calculus). Sejak itu, mulai banyak bahasa pemrograman yang diciptakan.
Program-program pertama disampaikan satu per satu dalam bentuk instruksi mungkin sudah cukup bagus untuk membuat aplikasi yang mudah dirancang. Namun, mengikuti dunia yang terus berkembang dan memasuki era digital transformation, menulis kode pemrograman (Coding) satu per satu memakan banyak waktu dan tenaga. Tentunya zaman yang semakin modern membutuhkan aplikasi yang semakin modern, maka kompleksitas dari aplikasi akan bertambah sehingga banyak macam kode dan fungsi yang diperlukan. Object oriented programming merupakan model pemrograman membuat pekerjaan (Coding) yang sangat melelahkan dan memakan banyak waktu menjadi lebih mudah dan singkat.
Apa Itu Object Oriented Programming?
Object Oriented Programming (OOP) adalah model pemrograman yang bergantung pada konsep class (template atau blueprint; bisa diartikan sebagai kategori) dan object. OOP digunakan untuk membuat struktur program menjadi Coding blueprint (kata lain untuk class) yang simpel dan bisa dipakai kembali, biasa digunakan untuk membuat contoh object tersendiri. Bahasa-bahasa pemrograman OOP ada banyak, beberapa contohnya adalah JavaScript, C++, Java, dan juga Python.
Sebuah class digunakan untuk membuat object yang lebih spesifik. Sebuah class juga mempunyai fungsi, biasa disebut method yang hanya tersedia untuk object dengan tipe yang berkaitan.
Misalnya, seorang programmer ingin membuat class yang berkaitan dengan object “mobil”, atribut-atribut yang berhubungan dengan “mobil” adalah warna, brand, dan model, “mobil” juga memiliki method yang bernama repaint. Maka dari itu, setelah class dibuat, bisa digunakan berkali-kali dengan mengganti nama object yang berhubungan seperti “mobilku” atau “mobildoni”. Dengan adanya class, programmer tidak perlu menulis kode atribut satu-per-satu dan hanya perlu menambahkan detail warna, brand, dan model dari “mobilku” dan “mobildoni.”
Karir Yang Melibatkan OOP Languages
Programmer menggunakan bahasa pemrograman OOP untuk membuat game, aplikasi, dan juga website. Maka dari itu, seorang programmer yang menguasai bahasa pemrograman OOP memiliki kesempatan prospek karir, misalnya sebagai berikut:
1. Software Developer
Software developer adalah IT talent yang bertugas untuk membuat software dari aplikasi, maupun sistem yang bekerja dalam smartphone, laptop, maupun PC. Software developer mempunyai 2 klasifikasi yaitu application software developer dan system software developer.
Software developer merupakan profesi yang wajib ada di beberapa industri seperti manufacturing, software publishers, dll. Demand yang tinggi untuk pekerjaan ini menaikkan value dari software developer. Lantas, profesi ini memiliki gaji yang relatif tinggi. Dikutip dari Glassdoor, rata-rata gaji senior software developer di Jakarta adalah IDR 13.600.000,- per bulan.
2. Game Developer
Zaman sekarang, siapa yang tidak suka bermain game? Dari anak kecil hingga orang tua? Semua suka bermain game. Game developer berperan melakukan Coding game dalam berbagai format seperti PC, console, web browser, dan mobile phone. Mereka bekerja sama dengan game designer untuk membuat game yang memiliki visual menarik.
Programming yang dilakukan untuk bisa menggerak-gerakkan suatu gambar bukanlah skill yang dimiliki semua orang. Oleh karena itu, gaji game developer tidak murah. Dikutip dari Glassdoor, game developer digaji IDR 9.500.000,- per bulan di Indonesia.
3. iOS Application Developer
Pengguna produk Apple datang dari banyak kalangan. Dari siswa, mahasiswa, karyawan swasta/negeri, ibu rumah tangga, maupun para lansia. Saking banyaknya pengguna produk Apple di dunia, bisnis-bisnis yang berhubungan dengan aplikasi membutuhkan iOS application developer yang bisa membuat aplikasi khusus untuk pengguna iOS.
Melakukan coding untuk software iOS membutuhkan pelatihan khusus dari Apple, maupun Apple Academy. Kelas khusus dari Apple ini juga terbatas, menyebabkan developer yang memiliki skillset ini tidak banyak. Berdasarkan informasi gaji Glassdoor, iOS Developer Senior Level Career di Indonesia memiliki gaji rata-rata IDR 9.000.000,- per bulan.
4. Android Application Developer
Jika iOS hanya digunakan oleh pengguna Apple product, Android software digunakan oleh lebih banyak produk handphone dan tablet. Misalnya Samsung, Oppo, Huawei, Vivo, dll. Android Operating System pada Tahun 2022 diklaim memiliki lebih dari 3 triliun pengguna, yang berarti, jika sebuah bisnis ingin membuat aplikasi, membuat aplikasi untuk software Android adalah suatu kewajiban.
Ditambah lagi, sekarang banyak perusahaan, baik startup maupun corporate company yang memiliki kebutuhan untuk membuat aplikasi di smartphone android. Hal ini berujung ke gaji Android developer yang tinggi dengan rata-rata IDR 10.000.000,- per bulan berdasarkan informasi dari Glassdoor.
5. Full Stack Developer
Proyek software development maupun website development terbagi menjadi 2 bagian utama, yaitu front end development yang terkait dengan fitur dan fungsi interface dan back end development yang mengurus system dan database. Seorang IT Talent dengan skill lengkap untuk kedua peran tersebutm disebut sebagai full stack developer.
Full stack developer menjadi incaran berbagai jenis perusahaan di era digital seperti sekarang ini, startup company hingga big company sangat membutuhkan jasa IT Developer dengan skill komplit agar menjadi kompetitif di era revolusi industry 4.0.
Sejalan dengan ini, gaji full stack developer senior level career di jakarta mencapai IDR 12.000.000,- per bulan (dikutip dari Glassdoor). Gaji double digit bagi IT Talent di Indonesia merupakan salary yang menggiurkan walaupun perbandingan gaji full stack developer di negara maju seperti Amerika Serikat bisa mencapai triple digit, hal tersebut tidak lepas dari beberapa faktor seperti ekosistem teknologi yang lebih maju, letak geografis dan standar upah yang lebih tinggi.