Pages

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.


Tidak ada komentar:

Posting Komentar

Komentarnya ya...