Teknik konvensional maupun teknik terstruktur dua-duanya merupakan pendekatan atau cara untuk membuat perangkat lunak. Demikian juga dengan teknik berorientasi objek. Teknis pelaksanaan pembuatan perangkat lunak dengan teknik-teknik tersebut berbeda satu sama lainnya, karena sudut pandang (paradigma) yang digunakannya pun berbeda.
Teknik konvensional menggunakan sudut pandang aliran dokumen pada sistem fisik (prosedur kerja). Tahap pembuatan perangkat lunak biasanya diawali dengan mengamati dokumen apa yang menjadi media data atau informasi, di bagian organisasi mana dokumen tersebut terbentuk, bagaimana dokumen tersebut mengalir dari satu bagian ke bagian lainnya, proses apa yang harus dilakukan bagian organisasi pada dokumen tersebut, dan seterusnya.
Dengan sudut pandang seperti itu, pembuatan perangkat lunak dengan teknik konvensional hanya cocok digunakan untuk lingkup prosedur kerja yang bersifat sektoral yang melibatkan sedikit bagian organisasi. Jika prosedur kerja sudah melibatkan banyak bagian organisasi karena adanya kebutuhan koordinasi, misalnya saat produksi barang, maka teknik ini menjadi tidak efektif lagi.
Teknik terstruktur menggunakan sudut pandang aliran data pada sistem (perangkat lunak). Oleh karena itu prinsip utamanya adalah menentukan dari mana asal data yang menjadi masukan bagi perangkat lunak, proses-proses apa saja yang akan mengolah (transformasi) data masukan tersebut, data apa yang menjadi hasil transformasinya, dan harus dikemanakan hasilnya.
Keterbatasan memory dan kemampuan sistem operasi yang digunakan saat itu menjadi dasar sudut pandang teknik terstruktur, sehingga diupayakan hanya bagian program yang sedang dieksekusi saja yang ada dalam memory (konsep overlay). Makanya hasil pembuatan perangkat lunak dengan teknik terstruktur ini adalah sebuah program yang dibagi menjadi modul-modul yang lebih kecil dalam bentuk prosedur atau fungsi.
Seiring dengan kemajuan teknologi komputasi saat ini, keterbatasan-keterbatasan yang dulu menjadi kendala bagi teknik konvensional dan teknik terstruktur relatif sudah tidak ada lagi. Oleh karena itu, tuntutan pembuatan perangkat lunak saat ini cenderung diarahkan pada kemudahan maintenance, integrasi, portability, dan ketidaktergantungan platform.
Teknik berorientasi objek merupakan solusi untuk memenuhi tuntutan-tuntutan diatas, sehingga tools dan framework yang dikembangkan saat ini semuanya ditujukan untuk mendukung teknik tersebut. Teknik berorientasi objek menggunakan sudut pandang kumpulan objek yang berinteraksi satu dengan lainnya sebagai elemen-elemen yang menyusun perangkat lunak. Data dan proses yang ada “dienkapsulasi” (dibungkus) menjadi sebuah kesatuan, sehingga dapat mendeskripsikan dan mencirikan sifat masing-masing objek.
Berdasarkan penjelasan diatas, dapat kita tarik suatu kesimpulan bahwa teknologi dan lingkungan komputasi mempengaruhi sudut pandang setiap teknik pengembangan perangkat lunak. Dengan demikian, pemilihan teknik dan alat bantu pengembangan untuk membuat perangkat lunak seharusnya disesuaikan dengan teknologi dan lingkungan komputasi yang ada. Sudah bukan jamannya lagi teknik dan alat bantu pengembangan era tahun 1950an dan 1970an seperti flowmap, DFD, atau bahasa pemrograman prosedural dijadikan acuan pembuatan perangkat lunak saat ini. Ini sama saja seperti mempelajari cara memperbaiki TV yang masih menggunakan transistor di era teknologi microchip.
Jadi jika sebuah perangkat lunak akan dibuat dengan menggunakan bahasa pemrograman objek, misalnya Java, C# atau PHP 5, maka teknik yang harus digunakan adalah teknik berorientasi objek, yaitu OOA, OOD, OOP. Alat bantu yang digunakan pun harus yang diperuntukan bagi teknik tersebut, yaitu UML (Unified Modeling Language).
Akan sangat tidak relevan jika teknik dan alat bantu tersebut dicampur-baurkan, flowmap untuk menggambarkan prosedur kerjanya, DFD untuk menggambarkan data dan proses-prosesnya, tetapi programnya dibuat dalam bahasa Java, C# atau PHP 5. Walaupun dengan alasan untuk memudahkan komunikasi dengan user. Atau untuk memudahkan pemahaman bagi mahasiswa.
Nah, yang menjadi pertanyaan sekarang adalah mengapa semua itu masih saja terjadi sampai saat ini? Nantikan penjelasannya di seri tulisan Wajah Pendidikan Informatika & Komputer saat ini!
Wah ini tipe Pa Dosen yang pasti mengajar secara terstruktur. Kalo saya tipe objek-oriented, tidak jelas strukturnya, yang penting interaksi antar objek jalan semua. He-he-he….
Bagus tulisannya!
Salam dari Bandung Utara,
http://kupalima.wordpress.com
Aa, tulisannya saya update lagi. Supaya lebih terstruktur, sehingga tidak ada objek yang ketinggalan diidentifikasi..
pa tots, ikutan ya. pa hend dan pa wit mannna btw?
meyer bilang, gagasan berorientasi objek tidak hanya di pemrograman; tapi mulai dari analisis, desain, bahkan testing. OOADPT
sepemahaman saya DFD adalah tools. tools ada di lapisan teratas software engineering. yang namanya kakas, adalah alat bantu untuk memodelkan. jadi, mau pake DFD mau pake Use-case, yang penting kita dapatkan dulu (functional) requirementnya. ya ga sih pa tots? hihi
kalo gini gimana pa tots:
- indentifikasi fungsional, modelkan pake DFD
- rancang langsung struktur data, berdasarkan kamus data pelengkap DFD
- implementasikan tabel-tabel hasil rancangan
- generate kelas berdasarkan tabel-tabel tersebut (hahahahaha); pake plug in apa lah, banyak da
- kelas-kelas, lengkapi dengan metode, metode diperoleh dari spesifikasi proses DFD level terendah
- berikutnya, baru lengkapi relasi antar kelas etc
nah? kumaha? yang penting, engineeringnya ada kaaannn. boleh dong punya model proses sendiri
bagus nih tulisannya… useful banget untuk buka pemahaman saya yang masih mahasiswa…