Mengapa OOP dibangun dalam sebuah paradigma yang luas untuk menyelesaikan masalah pekerjaan? Bahasa prosedural mengatur program dalam mode barisan linier yang bekerja dari atas ke bawah. Dengan kata lain, program adalah kumpulan dari tahapan yang dijalankan setelah yang lain berjalan. Programming tipe ini bekerja dengan baik untuk program kecil yang berisi code relative sedikit, tetapi pada saat program menjadi besar, mereka cenderung susah untuk di-manage dan di-debug. Dalam usaha untuk me-manage program, struktur programming diperkenalkan cara untuk mem-break down code-code tersebut melalui functions dan procedures.
Ini adalah sebuah langkah perbaikan, namun pada saat program dijalankan dalam sebuah fungsi pekerjaan yang kompleks dan berinteraksi dengan sistem lain, maka kelemahan dari struktur metodologi programming muncul kepermukaan meliputi:
· Program menjadi lebih susah untuk di maintain.
· Fungsi yang tersedia, susah untuk diubah tanpa harus mempengaruhi fungsi sistem secara keseluruhan.
· Programming tidak baik untuk team development. Programmer harus mengetahui setiap aspek bagaimana program itu bekerja dan tidak menyebabkan terisolasi usaha mereka atas aspek yang lain dari sistem.
· Butuh usaha yang keras untuk menterjemahkan Business Models dalam programming models.
· Mungkin dapat bekerja dengan baik pada saat terisolasi tapi tidak pada saat terintegrasi dengan sistem lain.
Sebagai hasilnya, banyak developer software beralih ke objek-oriented methodologies dan programming languages untuk memecahkan masalah ini. Keuntungan dari objek-oriented methodologies adalah sebagai berikut:
· Langkah ini merupakan sebuah transisi intuitive dari business analysis models menuju software implementation models.
· Kemampuan untuk memaintain dan menerapkan perubahan dalam program ini lebih efisien dan dengan cepat.
· Kemampuan untuk lebih efektif menciptakan sistem software dengan menggunakan sebuah team proses, yang mengijinkan seorang spesialis untuk bekerja hanya pada bagiannya saja.
· Kemampuan untuk menggunakan kembali komponen kode dalam suatu program dan membeli komponen dari developer lain untuk meningkatkan fungsi program mereka dengan usaha minimal.
· Integration lebih baik dengan pasangan bebas dalam distributed computing systems.
· Meningkatkan integration dengan modern operating systems.
· Kemampuan untuk menciptakan GUI yang lebih intuitive bagi users.
Tidak ada komentar:
Posting Komentar