PENJELASAN SOFTWARE ENGINEERING
Arti Software Engineering adalah Ilmu
yang mempelajari tehnik pembuatan software yang baik dengan pendekatan tehnik (Engineering
approach)
Menurut Fritz Badar, software
engineering adalah disiplin ilmu yang menerapkan prinsip-prinsip engineering
agar mendapatkan software yang ekonomis yang dapat dipercaya dan bekerja lebih
efisien pada mesin yang sebenarnya.
Software engineering terdiri dari 3 elemen kunci, yaitu :
- Metode,
- Peralatan (tools),
- Prosedur,
yang memungkinkan manajer mengontrol
proses pengembangan software dan memberikan praktisi dasar yang baik untuk
pembentukan software berkualitas tinggi.
YANG DIPELAJARI DALAM SOFTWARE
ENGINEERING
1.
Metode Software Enginnering
Metode software engineering
memberikan tehnik-tehnik bagaimana membentuk software. Metode ini terdiri dari
serangkaian tugas :
1. Perencanaan
& estimasi proyek
2. Analisis
kebutuhan sistem dan software
3. Desain
struktur data
4. Arsitektur
program dan prosedur algoritma
5. Coding
6. Testing
dan pemeliharaan
2.
Peralatan Software Engineering
Peralatan software engineering
memberikan dukungan atau semiautomasi untuk metode. Contohnya :
- CASE
(Case Aided Software Engineering), yaitu suatu software yang menggabungkan
software, hardware, dan database software engineering untuk menghasilkan suatu
lingkungan software engineering.
- Database
Software Engineering, adalah sebuah struktur data yang berisi informasi penting
tentang analisis, desain, kode dan testing.
- Analogi
dengan CASE pada hardware adalah : CAD, CAM, CAE
3.
Prosedur Software Engineering
Terdiri dari :
1. urut-urutan di mana
metode tersebut diterapkan
2. dokumen
3. laporan-laporan
4. formulir-formulir
yang diperlukan
5. mengontrol
kualitas software
6. mengkoordinasi
perubahan yang terjadi pada software
Dalam penguasaan atas model software
engineering atau software engineering paradigma, dikenal ada 3 metode yang luas
dipergunakan, yaitu :
1.
Classic Life Cycle Pradigm - Model Water Fall -
Model Siklus Hidup Klasik
A.
System Engineering and Analysis
Karena software merupakan bagian
terbesar dari sistem, maka pekerjaan dimulai dengan cara menerapkan kebutuhan
semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software.
Pandangan terhadap sistem adalah penting, terutama pada saat software harus
berhubungan dengan elemen lain, seperti :
1. Hardware
2. Software
3. Database
B.
Analisis kebutuhan software
Suatu proses pengumpulan
kebutuhan software untuk mengerti sifat-sifat program yang dibentuk software
engineering, atau analis harus mengerti fungsi software yang diinginkan,
performance dan interface terhadap elemen lainnya. Hasil dari analisis ini
didokumentasikan dan direview / dibahas / ditinjau bersama-sama customer.
C.
Design
Desain software sesungguhnya
adalah proses multi step (proses yang terdiri dari banyak langkah) yang
memfokuskan pada 3 atribut program yang berbeda, yaitu :
1.
Struktur
data
2. Arsitektur
software
3. Rincian
prosedur
Proses desain menterjemahkan
kebutuhan ke dalam representasi software yang dapat diukur kualitasnya sebelum
mulai coding. Hasil dari desain ini didokumentasikan dan menjadi bagian
dari konfigurasi software.
D.
Coding
Desain harus diterjemahkan ke dalam bentuk yang dapat
dibaca oleh mesin
E.
Testing
Segera sesudah objek program
dihasilkan, pengetesan program dimulai. Proses testing difokuskan pada logika
internal software. Jaminan bahwa semua pernyataan atau statements sudah dites
dan lingkungan external menjamin bahwa definisi input akan menghasilkan output
yang diinginkan.
F.
Maintenance
Software yang
sudah dikirim ke customer data berubah karena
2.
Prototype Paradigm
Seringkali seorang customer sulit
menentukan input yang lebih terinci, proses yang diinginkan dan output yang
diharapkan. Tentu saja ini menyebabkan developer tidak yakin dengan efisiensi
alogoritma yang dibuatnya, sulit menyesuaikan sistem operasi, serta interaksi
manusia dan mesin yang harus diambil. Dalam hal seperti ini, pendekatan
prototype untuk software engineering merupakan langkah yang terbaik. Prototype
sebenarnya adalah suatu proses yang memungkinkan developer membuat sebuah model
software.
3.
Fourth Generation Tehnique Paradigm - Model tehnik
generasi ke 4 / 4GT
Istilah Fourth Generation
Technique (4GT) meliputi seperangkat peralatan software yang memungkinkan
seorang developer software menerapkan beberapa karakteristik software pada
tingkat yang tinggi, yang kemudian menghasilkan source code dan object
code secara otomatis sesuai dengan spesifikasi yang ditentukan developer.
Saat ini peralatan / tools 4GT adalah bahasa non prosedur untuk :
- DataBase
Query
- Pembentukan
laporan ( Report Generation )
- Manipulasi
data
- Definisi
dan interaksi layar (screen)
- Pembentukan
object dan source ( Object and source generation )
- Kemampuan
grafik yang tinggi, dan
- Kemampuan
spreadsheet
Keterangan
gambar :
- Model
4GT untuk software engineering dimulai dengan rangkaian pengumpulan kebutuhan.
Idealnya, seorang customer menjelaskan kebutuhan-kebutuhan yang selanjutnay
diterjemahkan ke dalam prototype. Tetapi ini tidak dapat dilakukan karena
customer tidak yakin dengan apa yang diperlukan, tidak jelas dalam menetapkan
fakta-fakta yang diketahui dan tidak dapat menentukan informasi yang diinginkan
oleh peralatan 4GT.
- Untuk
aplikasi kecil adalah mungkin bergerak langsung dari langkah pengumpulan
kebutuhan ke implementasi yang menggunakan bahasa non prosedur fourth
generation (generasi ke 4). Tetapi untuk proyek
besar, pengembangan strategi desain sistem tetap diperlukan, sekalipun kita
menggunakan 4GL. Penggunaan 4GT tanpa desain untuk proyek besar akan
menyebabkan masalah yang sama yang ditemui dalam pengembangan software yang
menggunakan pendekatan konvensional.
-
Implementasi yang
menggunakan 4GL memungkinkan developer software menjelaskan hasil yang diinginkan
yang kemudian diterjemahkan ke dalam bentuk source code dan object code secara
otomatis.
- Langkah yang
terakhir adalah mengubah implementasi 4GT ke dalam sebuah product. Selanjutnya
developer harus melakukan pengetesan, pengembangan dokumentasi dan pelaksanaan
semua aktifitas lainnya yang diwujudkan dalam model software engineering.
Masalah yang dihadapi dalam model 4GT adalah adanya sebagian orang yang
beranggapan bahwa :
A.
peralatan
4GT tidak semudah penggunaan bahasa pemrograman,
B.
source
code yang dihasilkan oleh peralatan ini tidak efisien,
C.
pemeliharaan sistem
software besar yang dikembangkan dengan 4GT masih merupakan tanda tanya.
KURIKULUM
SOFTWARE ENGINEERING
Tingkat
I : Mempersiapkan siswa menjadi Stand Alone Programmer
Semester
1:
1. Mengoperasikan Sistem Operasi
2. Menginstalasi software
3. Mengubah konfigurasi software
4. Menyiapkan dan melakukan survey
untuk menentukan kebutuhan data
Semester
2:
1. Mengoperasikan software bahasa
pemograman level 1
2. Konversi data level 1
3. Menguji program level 1
Tingkat II: Mempersiapkan siswa menjadi Multi User Programmer
Semester
3:
1. Mengoperasikan sistem operasi jaringan
komputer berbasis teks
2. Mengoperasikan sistem operasi
jaringan komputer berbasis GUI
3. Melakukan perancangan pengumpulan
data
4. Melakukan desain dan perancangan
software
5. Melakukan pengkodean program
Semester
4:
1. Melakukan back up data
2. Melakukan restore data
3. Mengoperasikan software aplikasi
basis data
4. Membuat query data
5. Menguji Program
Tingkat
III: Mempersiapkan siswa menjadi Web Programmer
Semester
5:
1. Membangun interface dengan bahasa
pemograman berorientasi objek
2. Melakukan pengkodean program
3. Mengoperasikan bahasa pemograman
berbasis web
4. Membangun program aplikasi remote
data interaktif
PELUANG KERJA SEBAGAI SOFTWARE
ENGINEERING
Profesi
ini di tahun sebelum 1990 an tidak banyak di lirik kebanyakan orang di
karenakan sistem kerjanya yang terlalu monoton yang selalu berkutat dengan
algoritma dan hanya mengelola data pada tahapan lokal, serta tidak banyak
menjajikan untuk penghasilan yang bergengsi, software engineer di anggap hanya
sebagai alat untuk membantu perusahaan dalam menjalankan roda bisnisnya dengan
cara membuat aplikasi yang di inginkan oleh perusahaan, serta mengelola data
pada tahapan lokal saja.
Tetapi setelah era 1990an banyak bermunculan milyader –milyader baru yang berasal dari latar belakang profesi software engineer atau pengembang software engineer seperti , Bill gates CEO Microsoft corporate yang menguasai pasar software di dunia, Waren Buffet CEO Oracel software, Michael Dell CEO Dell corporate, dan masih banyak lagi yang lainnya, dan di amerika setelah badai krisis melanda system perekonomian negeri tersebut, warga negaranya mulai menjadi melirik peluang baru untuk bisa eksis dalam menjalankan roda perekonomian, banyak yang memulai menjadi tenaga ahli dalam software engineer, kerena keahlian ini hanya sedikit kompetitornya dan nilai income yang di dapat juga cukup menjanjikan, maka tidak heran kalau sekarang di amerika tenaga ahli bidang software engineer mempunyai nilai tersendiri di masyarakat amerika ini bisa terlihat dalam data berikut ini :
1. Human resource management S1
$49,96 (atau sekitar Rp. 518,335) per jamnya
2. Software engineering S1 $ 42,26
(atau sekitar Rp. 438,448)
3. Fashion Design S1 $ 34,33 (atau
sekitar Rp. 352,750)
4. Administrasi Pendidikan S2 $30
(atau sekitar Rp. 311,250)
5. Accounting S1 / S2 $31,65 atau
sekitar Rp. 328,368.75 per jam
hasmapsa.staff.gunadarma.ac.id/Downloads/files/1503/RPL1.DOC