REKAYASA
PERANGKAT LUNAK
Rekayasa
perangkat lunak telah berkembang sejak pertama kali diciptakan pada tahun
1940-an hingga kini. Focus utama pengembangannya adalah untuk mengembangkan
praktek dan teknologi untuk meningkatkan produktivitas para praktisi
pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh
pemakai.
SEJARAH SOFTWARE ENGINEERING Istilah software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu, masih terdapat perdebatan tajam mengenai aspek engineering dari pengembangan perangkat lunak. Pada tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap pengembangan rekayasa perangkat lunak. Banyak yang menganggap dua konferensi inilah yang menandai awal resmi profesi rekayasa perangkat lunak. Pada tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak. Banyak project yang gagal, hingga masa ini disebut sebagai krisis perangkat lunak. Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari project yang melebihi anggaran, hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat lunak. Selama bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik jitu untuk memecahkan masalah krisi perangkat lunak. Berbagai teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman berorientasi objek, perangkat pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga metode formal diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang benar, sesuai anggaran dan tepat waktu. Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa tidak ada satu teknologi atau praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembanan perngkat lunak dalam tempo 10 tahun. PENGERTIAN DASAR Istilah Reakayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software engineering. Istilah Software Engineering mulai dipopulerkan pada tahun 1968 pada software engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer. Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999). RPL sendiri adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Dari pengertian ini jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan ”semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL. TUJUAN REKAYASA PERANGKAT LUNAK Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Hal ini dapat kita lihat pada Gambar di bawah ini.
Dari Gambar
di atas dapat diartikan bahwa bidang rekayasa akan selalu berusaha menghasilkan
output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang
tepat. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah:
RUANG LINGKUP
Sesuai dengan definisi yang telah
disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai
berikut:
|
Senin, 24 Oktober 2016
Rekayasa Perangkat Lunak
Phyton
Python
PYTHON -
Pengenalan Singkat
Sejarah
Singkat
Pada
awalnya kita akan beranggapan bahwa penamaan bahasa pemrograman ini
didasarkan pada binatang melata, anggapan tersebut salah. Penamaan bahasa
pemrograman ini berdasarkan pembuatnya ketika dia menonton acara komedi di
televisi di BBC yang bernama Monty Python's Flying Circus. Pembuat
bahasa pemrograman ini adalah Guido van Rossum dari Amsterdam, Belanda. Pada
awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip
tingkat tinggi pada sistem operasi terdistribusi Amoeba.
Bahasa
pemrograman ini menjadi umum digunakan untuk kalangan engineer seluruh dunia
dalam pembuatan perangkat lunaknya, bahkan beberapa perusahaan menggunakan
python sebagai pembuat perangkat lunak komersial.
Sejak
muncul tahun 1991 di domain public, bahasa pemrograman ini berkembang dengan
dukungan komunitas pengguna dan pengembangnya, seperti Python Software
Activity, internet newsgroup comp.lang.python, dan organisasi
informal lainnya.
Python
merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti
sebenarnya, tidak ada batasan dalam penyalinannya atau mendistribusikannya.
Lengkap dengan source codenya, debugger dan profiler, antarmuka yang
terkandung di dalamnya untuk pelayanan antarmuka, fungsi sistem, GUI
(antarmuka pengguna grafis), dan basis datanya. Python dapat digunakan dalam
beberapa sistem operasi, seperti kebanyakan sistem UNIX, PCs (DOS, Windows,
OS/2), Macintosh, dan lainnya. Pada kebanyakan sistem operasi linux, bahasa
pemrograman ini menjadi standarisasi untuk disertakan dalam paket
distribusinya.
Filosofi
Python
Bahasa
pemrograman ini mempunyai filosofi sendiri, atara lain adalah:
Coherence. Bahasa pemrograman skrip
tidaklah menjadi sulit untuk dibaca, ditulis, dan dimaintain.
Power
(kekuatan). Bahasa
pemrograman ekstensi tidaklah mempunyai fungsi yang terbatas.
Scope
(jangkauan). Bahasa
pemrograman dinamis dapat digunakan untuk berbagai macam tugas. Tidak ada
alasan bahwa bahasa pemrograman tidak dapat menyediakan tanggapan yang cepat
selama masa pembuatan sistem aplikasi dan juga mempunyai kelebihan yang
membuatnya berguna untuk membuat lebih daripada sistem aplikasi tingkat
tinggi.
Object. Pemrograman berorientasi objek
dapat menjadi paradigma yang berguna, karena pemrograman berorientasi objek
mempunyai kekuatan dalam strukturnya dan penggunaan kembali kode yang telah
ada. Bahasa pemrograman berorientasi objek tidak perlu untuk menjadi kompleks
atau sulit untuk digunakan.
Integration(integrasi). Tidak ada bahasa pemrograman
yang menjadi pulau. Penyediaan dari kekuatan bahasa pemrograman dinamis, dan
antarmuka yang terdefenisi dengan baik untuk bahasa pemrograman lainnya,
python membantu sistem hibrid yang secara simultan pengungkitan kecepatan
perubahan dari python, dan efisiensi dari C.
Perlu
diketahui pula bahasa pemrograman python cenderung untuk menyerupai bahasa
pemrograman tradisional seperti C dan Pascal, daripada bahasa permrograman
skrip seperti Perl dan Tcl. Pada kenyataannya, Python adalah suatu dari
bahasa pemrograman skrip dalam samaran dari bahasa perograman tradisional.
Ada pendapat lain yang menyatakan bahwa Python merupakan jembatan antara
bahasa skrip dan C.
Kelebihan
Python
Bahasa
pemrograman ini mempunyai kelebihan dari beberapa bahasa pemrograman skrip
dan bahasa pemrograman C.
Secara
jujur, Python merupakan konglomerat dari kelebihan yang dibawa dari bahasa
pemrograman lainnya, termasuk element dari C, C++, Modula-3, ABC, Icon, dan
lainya. Modul python datang dari modula, dan potongan operasi dari Icon.
Apa yang
baik bagi Python ?
Penggunaan
python pada lingkungan yang berbagai macam ragam, sulit untuk menjawab secara
resmi terhadap pertanyaan di atas. Pada bagian bawah ini merupakan rangkuman
dari beberapa bidang yang menggunakan python pada saat ini:
Pada
pengertian umum, python memberikan pelayanan terhadap jangkauan bidang:
Berdasarkan
properti umum yang diberikan, python dapat di terapkan pada area mana saja
ynag kita ingin kan, dengan meningkatkannya dengan pustaka pada bidangnya,
melekatkannya dengan sistem aplikasi, atau menggunakannya secara sendiri.
Pada tabel
di bawah ini terdapat beberapa ektensi python yang populer.
Apa yang
telah kita lihat, arsitektur python yang terbuka mendukung bentuk pembuatan
sistem aplikasi dan produknya secara dinamis. Pada python pula, kita dapat
mencampurkan prototipe, pembuatan sistem aplikasi secara cepat, dan
engineering perangkat lunak secara tradisional, berdasarkan pada permintaan
dalam suatu projek. Penggunaan python sebagai perangkat bantu pembuat skrip,
kita dapat membuka sebagian dari sistem untuk modifikasi oleh pemakai akhir.
Apa yang
kurang baik bagi Python ?
Beberapa
penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman
dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak
seperti bahasa pemrograman kompilasi seperti bahasa C. Pada beberapa bidang
hal ini tidak menjadi pertimbangan utama, tetapi dalam bidang lainnya,
efisiensi menjadi prioritas tertinggi.
Disebabkan
python merupakan interpreter, python bukan merupakan perangkat bantu terbaik
untuk pengantar komponen performa kritis. Sebaliknya, penggunaan operasi
komputasi intensif dapat diimplementasikan sebagai ekstensi kompilasi bagi
python, dan dikodekan dalam bahasa pemrograman tingkat rendah seperti bahasa C.
Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi
untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian
depan skrip antarmuka untuk mereka.
Python
memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya
secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk
kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan
dengan bahasa pemrograman lainnya. Sementara python unlikely that it'll ever
be secepat bahasa C, kecepatan python dalam pembuatan sistem aplikasi paling
tidak menjadi penting sebagaimana kecepatan eksekusi bahasa C.
Pilihan
ada di tangan anda
Penggunaan
bahasa pemrograman python akhirnya ditentukan oleh penggunanya yang
didasarkan pada kebutuhannya dan bidang yang dapat ditangani oleh pyhton.
Python dapat digunakan secara menyeluruh pada sistem yang tebuka terhadap
penggunaan antarmuka yang ada dan tidak mengorbankan unsur penting lainnya
yang akhirnya akan menurunkan hasil akhir yang ingin dicapai.
Pemandangan
menyeluruh terhadap tiap unsur atau bagian yang ada secara detail dalam
pembuatan suatu sistem aplikasi pada tahap analisa akan memudahkan kita pada
tahap pemrograman selanjutnya.
|
Langganan:
Postingan (Atom)