Keinginan adalah kunci motivasi, tapi tekad dan komitmen itu pengejaran tanpa henti untuk sebuah tujuan yaitu komitmen menuju keunggulan yang akan memungkinkan Anda untuk mencapai keberhasilan yang Anda cari.

Translate

Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan
Tampilkan postingan dengan label Rekayasa Perangkat Lunak. Tampilkan semua postingan

Senin, 02 Maret 2020

REKAYASA PERANGKAT LUNAK


REKAYASA PERANGKAT LUNAK

Software
  1. Intruksi – intruksi ( computer program ), jika dieksekusi memberikan fungsi dan performance yang diinginkan.
  2. Struktur data yang memungkinkan program untuk memanipulasi informasi secara tepat
  3. Dokumen deskripsi dari program dan penggunaannya.

Rekayasa Perangkat Lunak
Software Engineering
Adalah suatu ilmu yang bersifat teknikal dan manajerial, untuk produksi dan maintenance software, dimana berfungsi untuk pengembangan modifikasi, estimasi biaya

Aplikasi Perangkat Lunak
1.         System Software
     Kumpulan program yang ditulis untuk membantu program lain. Contoh : OS
2. Real Time Software
PL yang digunakan untuk mengukur / menganalisa / mengontrol proses pemasukan data dari lingkungan luar sampai menghasilkan laporan yang sesuai dengan keinginan. Contoh : Program pada pengukuran tutup botol pada industri minuman
3. Bussines Software
PL yang banyak digunakan dalam aplikasi     bisnis.
4. Engineering and Scientific Software
                PL yang digunakan dalam aplikasi teknik dan rekayasa.
6. Embedded Software
Pl yang digunakan untuk mengontrol suatu proses dalam pabrik, biasanya disimpan dalam ROM. Contoh : Program untuk magic jar
7. Personal Computer Software
                digunakan dalam aplikasi komputer mikro. Contoh : Ms. Word, Ms. Excel
8. Artificial Intellegence Software
PL yang digunakan dalam aplikasi kecerdasan buatan. Contoh : program untuk robot.
9. Web Aplication


Problem Dalam Pengembangan PL
Software Crisis
v  Estimasi jadwal dan biaya sering tidak akurat
v  Produktivitas dari orang-orang software tidak sepadan dengan permintaan untuk pelayanan mereka
v  Kualitas software kurang baik
v  Sulit dalam maintenance
v  Kualitas diragukan


Langkah Kerja Software Engineering
1.         Metode
                metode yg digunakan untuk membuat / mengembangkan PL
Meliputi :
Perencanaan proyek dan perkiraan, analisis keperluan sistem dan software, perancangan struktur data, arsitektur program, prosedur algoritma, coding, testing, pemeliharaan
2. Tools ( alat bantu )
Alat bantu yang digunakan untuk mendukung pelaksanaan pengembangan / pembuatan PL
                ex. Editor, debugger, compiler
3. Prosedur
v  merupakan gabungan antara tools dan metode
v  Mendefinisikan metode yang dipakai
v  Mengontrol kriteria kualitas   
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

Daur Hidup Rekayasa Perangkat Lunak
1.         Sistem Engineering
Pembuatan suatu PL merupakan bagian terbesar dari pengerjaan suatu proyek. Untuk pekerjaan dimulai dengan menetapkan segala hal yang diperlukan dalam pelaksanaan proyek
2. Analysis
Merupakan tahap dimana system engineering menganalisa hal-hal yang diperlukan dalam pelaksanaan proyek pembuatan / pengembangan PL
3. Desain
Merupakan tahap penerjemahan dari keperluan / data yang telah dianalisis ke dalam bentuk yang mudah dimengerti user.
4. Kode
Menerjemahkan data /pemecahan masalah yang telah dirancang  kedalam bahasa pemrograman komputer yang telah ditentukan
5. Testing
                Uji coba terhadap program tersebut
6. Pemeliharaan
PL yang telah selesai dibuat dapat mengalami perubahan / penambahan sesuai dengan permintaan user.


Rekayasa Sistem Berbasis Komputer

Sistem adalah kumpulan dari elemen elemen ( sub sistem ) yang saling bekerjasama ( berinteraksi ) untuk mencapai tujuan yang sama
Elemen – elemen dalam sistem komputer
1.         Perangkat keras
2.        Perangkat lunak
3.        Manusia
4.        Database
5.        Procedure
6.        Dokumentasi


Beberapa Pertimbangan Dalam Computer System Engineering
1.         Pertimbangan Perangkat Keras
Software Engineering harus mampu menentukan HW yang diperlukan dalam membangun perangkat keras.
•      Jenis perangkat keras yang cocok unt pengembangan PL
•      Biaya & kemampuan HW mudah ditentukan
•      Interface antar komponen mudah dipadukan
•      HW mudah didapat

2. Pertimbangan Perangkat Lunak
  • Elemen dalam computer based system terdiri dari aplication SW, system SW
  • Aplication SW merupakan implementasi sejumlah prosedur yang diperlukan untuk mengerjakan proses informasi
  • System SW merupakan implementasi fungsi kontrol yang memungkinkan aplikasi PL dapat dihubungkan
3. Pertimbangan Manusia
Agar mampu menjabarkan kebutuhan tenaga manusia dalam pengembangan PL. Unsur manusia bertanggung jawab terhadap pengembnagan, support, maintenance.




Software Engineering

1.         Software Engineering Layers
a)       Tools
b)       Methods
c)       Process
d)       Quality

Engineering meliputi kegiatan analisis, desain, konstruksi, verifikasi, dan manajemen entitas teknik atau social.

General Phase to SE
1.         Definition phase à berfokus pada apa (what)
v  Informasi yang akan diproses
v  Fungsi dan performance yang dibutuhkan
v  Tingkah laku sistem yang diharapkan
v  Interface yang akan dibangun
v  Batasan sistem yang sukses
2.        Development phase à berfokus pada ’bagaimana’ (how)
v  Data dikonstruksikan
v  Fungsi-fungsi dimplementasikan
v  Detail prosedur akan diimplementasikan
v  Interface dikarakterisasi
v  Rancangan akan diterjemahkan ke dalam pemrograman
v  Pengujian dilakukan
3.        Maintenance phase à berfokus pada ’perubahan’ (change)
v  Dihubungkan dengan koreksi kesalahan
v  Ketika lingkungan perangkat lunak berkembang.
v  Sehubungan dengan perubahan kebutuhan pelanggan.

Change in Phase Development
a)       Correction (koreksi) : Membetulkan cacat atau kerusakan
b)       Adaptation (adaptasi) : Modifikasi perangkat lunak karena perubahan kebutuhan fungsional original (CPU, OS, aturan bisnis, karakteristik produk eksternal dll.)
c)       Enhancement (perkembangan) : memperluas perangkat lunak sehingga melampaui kebutuhan fungsi originalnya.
d)       Prevention (pencegahan) : pencegahan sebagai antisipasi perubahan karena usia perangkat lunak.

Software Process Model
1.         Linier Sequential Model
·         Waterfall model
Waterfall Model
Sebuah pendekatan pengembangan perangkat lunak yang sistematik dan sekuensial.
Disebut juga classic life cycle
Paradigma yang sudah lama sekali, tetapi masih banyak yang memakai karena dianggap masih sesuai dengan keadaan sekarang.

Waterfall Model Diagram






·         V Model
·         RAD Model
RAD Model
RAD = Rapid Application Development

Adaptasi dari waterfall model yang :
·         Menekankan siklus pengembangan perangkat lunak yang sangat pendek,
·         Menggunakan pendekatan konstruksi berbasis komponen.
·         Menciptakan sistem fungsional yang utuh dalam waktu 60-90 hari

Business modelling
Memodelkan fungsi-fungsi bisnis untuk menjawab pertanyaan-pertanyaan :
Informasi apa yang mengendalikan proses bisnis? Informasi apa yang dimunculkan? Kemana informasi itu pergi? Siapa yang memprosesnya?
Data modelling
Aliran informasi yang didefinisikanpada fase business modelling ditransformasikan ke dalam serangkaian obyek data.
Process modelling
Mentransformasikan obyek data pada suatu fungsi yang menghasilkan aliran informasi yang dibutuhkan.
Application generation
Mengkonstruksi perangkat lunak dengan memakai komponen yang ada (bila memungkinkan) atau menciptakan komponen yang dapat dipakai lagi.
Testing and Turnover
Menguji komponen baru.


2.        Prototyping
Prototyping Model
Dipakai jika :
1.                     Sistem mempunyai resiko tinggi
-          tidak jelas permasalahannya.
2.                    Lebih fokus pada perancangan dialog user – komputer
-          bagaimana membuat dialog yang baik, ramah, mudah?
3.                    Sistem diminati oleh banyak pemakai
-          mencari kesepakatan (dasar untuk menyamakan persepsi)
4.                    user ingin cepat selesai
-          user tidak sabar menunggu
-          prototipe segera memperlihatkan bentuk kerja sistem
5.                    masa pakai singkat
 - sistem hanya dipakai beberapa kali saja
6.                    Ingin menunjukan inovasi
-pengembang dapat menunjukkan kecanggihan
7.                    Kebutuhan berubah-ubah
-User sulit menjelaskan kebutuhan


Prototyping Speciality
1.         Frekuensi komunikasi user – developer meningkat
·   Pengembang akan selalu meminta pendapat user
2.        Membantu analis dalam
·   Menentukan kebutuhan user yang sebenarnya
·   Meminimalkan salah persepsi
3.        Peran user meningkat
·         Evaluasi oleh user berkali-kali
·         User bisa memberikan masukan setiap saat
4.        Pengembangan lebih cepat
·         Program bisa langsung dibuat
·         User melihat  perkembangan tahap demi tahap
5.        Implementasi mudah
·         User sudah mengenal perangkat lunak yang dikembangkan
·         User tidak akan merasa asing
·         Sejak awal user sudah merasa memiliki.

Prototyping Weaknes
1.         User sibuk
·         User & pengembang harus sama-sama memiliki komitmen menyediakan waktu untuk bertemu
2.        User sulit melakukan evaluasi
·         Bentuk prototipe sering berubah, disesuaikan dengan kebutuhan user.
3.        User ingin cepat selesai
·         Bentuk program sudah terlihat sejak awal
·         User merasa tidak akan lama lagi selesai.
·         Pengembang sering mengabaikan dokumentasi.
4.        User berharap terlalu banyak
·         Keseringan evaluasi & komunikasi membuat user menjadi berubah keinginan dan tidak pasti dengan kebutuhan
5.        Prototipe bekerja tidak efisien
·         Lebih mementingkan keberhasilan.




3         Evolutionary model
a.        Incremental model
b.        Spiral model
c.        Component assembly model
d.        Concurrent development model
4. Formal model
5. Fourth generation techniques
Linier Sequential Model


Test
 


MENDESAIN USER INTERFACE

PRINSIP DESAIN YG BAIK
•         Naturalness/Bersifat Natural
•         Consistency/Bersifat konsisten
•         Minimizing/Bersifat meminimalkan
•         Supportiveness/Memiliki daya dukung (Bantuan)
•         Flexxibility/Sifat fleksibel

BERSIFAT NATURAL
•         Natural menurut desaigner belum tentu sama naturalnya dg user
•         Dialog yg dibangun harus diusahakan secara natural/alamiah sesuai dg kebiasaan & kemampuan user
•         Misal :bhs:copy,save,open,printrename mudah dimengerti dibandingkan : cp,sv,opn,m

BERSIFAT KONSISTEN
•         Konsisten sangat penting utk menghindari frustasi user
•         Misal 1:
–        Pada windows 1 terdapat perintah LIST yg berarti daftar menu makanan
–        Pada windows 2 LIST berarti memunculkan laporan utk dicetak (semacam preview)

•         Misal 2:
–        Pada windows 1 button OK terletak di posisi bawah-tengah
–        Pada windows 2 button OK terletak di posisi bawah-kiri

MINIMIZING
•         Setiap dialog yg dibangun harus diupayakan utk
–        Meminimalkan USER ERROR
–        Meminimalkan perubahan data yg disebabkan oleh USER (sengaja/tidak)
•         Gunakan Default value,jika perlu
•         Jangan terlalu banyak informasi

MEMILIKI DAYA DUKUNG
•         Memiliki fasilitas/kemampuan asistesi
•         Ada 3 aspek yg perlu diperhatikan:
–        Kuantitas & kualitas institusi
–        Pesan-pesan kesalahan (error message) &
–        Konfirmasi thd apa yg harus dilakukan
•         Misal:
–        Error message: ”SALAH TANGGAL”
–        Error message: “SALAH TANGGAL,GUNAKAN FORMAT :DD/MM/YYYY

FLEKSIBEL
•         Diberikan berbagai cara utk dapat mengakses software
•         Misal:
–        Open file dengan memilih menu FILE-OPEN atau
–        Open file dg memilih icon “MAP TERBUKA”
•         Kemudahan mencari bantuan dari posisi mana saja

GUIDELINES UTK MENU/DIALOG YG BAIK
Daftar menu harus berada pada pola penyajian yg benar
=umumnya user memulai sesuatu dg pola order kiri ke kanan serta atas ke bawah
•         OPEN File diletakan lebih dulu dibandingkan dg SAVE FILE
•         HELP diletakan paling kanan krn penggunaannya tidak sesering menu FILE

Daftar menu/dialog harus berada pada pola pengelompokan yg benar
•         Pengelompokan menu harus logis & sesuai dg tugasnya
–        Isi Sub menu FILE adl hal-hal yg terkait dg fasilitas memanipulasi FILE seperti open,save,print,page setup,dll
•         Pengelompokan dialog perlu dilakukan
–        Dibuat kelompok OPSI utk JENIS KELAMIN yg berisi Radio button Laki-laki & Perempuan.

•         Shortcut: suatu mekanisme yg memungkinkan pengguna u/ lebih cepat dlm pengaksesan yg pengimplementasiannya menggunakan tombol” kombinasi khusus.






LKT : LEMBAR KERJA TAMPILAN

•         Mrpk alat bantu didalam mendisain suatu form dan dialog,baik berbasis:
–        Text (TUI: Text Based User Interface)
–        Gambar (GUI: Graphical User Interface)

•         Bagian-bagian LKT:
–        Nomor Lembar Kerja
–        Bagian Tampilan
–        Bagian Navigator
–        Bagian Keterangan

•         Fungsi Bagian-bagian LKT:
–        Nomor Lembar Kerja
Utk memberikan penomoran berkaitan dg sejumlah tampilan yg ingin dibuat
Dapat digunakan sebagai nomor pada model jaringan sematik
–        Bagian Tampilan
Utk menempatkan tools dan teks yg ingin dimunculkan
–        Bagian Navigator Dapat digunakan utk memberikan penjelasan lebih lanjut bagi user tentang “Bagian Tampilan” yg dibuat
–        Bagian Keterangan Dapat digunakan oleh designer utk memberikan penjelasan bagi dirinya sendiri dan tidak utk diimplementasikan
Dapat digunakan sebagai uang keterangan bagi user & diimplementasikan




JARINGAN SEMATIK TAMPILAN

•         Merupakan alat bantu bagi pemrogram utk dpt bekerja dg banyak tampilan
•         Jaring sematik terdiri dari:
–        Lingkaran (node): menjelaskan windows tampilan
–        Anak panah (arrow): menjelaskan transisi dari satu node ke node yg lain



Macam Ragam Dialog
  1. Command Line Dialog (Dialog Berbasis Perintah Tunggal)
  2. Programming Language Dialog (Dialog Berbasis Pemrograman)
  3. Natural Language Dialog (Dialog Berbasis Bahasa Alami)
  4. Sistem Menu
  5. Dialog Berbasis Pengisian Borang
  6. Dialog Berbasis Ikon
  7. Sistem Penjendelaan
  8. Manipulasi Langsung
  9. Antar muka Berbasis Interaksi Grafis



Sistem Menu
•         Terdapat 2 Jenis Menu
  1. Menu Datar.
Perintah ditulis dlm bentuk kalimat dg perintah yg jelas, walaupun tdk harus kalimat lengkap, semua fasilitas sistem sudah tersaji dlm 1 layar
b.   MenuTarik  (Pulldown / Pull-Up Menu)
•         Terdiri atas menu utama dan sub menu. Sub menu terdiri atas sub” menu
•         Perintah ditulis dlm satu kata / bila kurang jelas maksimal dalm 2 kata. Disebut menu tarik, krn seolah-olah kita “memegang” sebuah menu/pilihan dan kemudian “menarik” kebawah/kesamping (pilldown) u/ melihat submenu dari menu / pilihan tsb.


Baca Selanjutnya »