Senin, 25 November 2019

Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termat lunak dan manajemen kualitas.

REKAYASA  PERANGKAT  LUNAK

     Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termat lunak dan manajemen kualitas.

suk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangka
Menurut IEEE Computer Society : Rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.

    Tujuan Rekayasa Perangkat Lunak Secara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah:

* Memperoleh biaya produksi perangkat lunak yang rendah.
* Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
* Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
* Menghasilkan perangkat lunak yang biaya perawatannya rendah

    Kriteria Dalam Merekayasa Perangkat Lunak

* Dapat terus dirawat dan dipelihara (maintainability)
* Dapat mengikuti perkembangan teknologi (dependability)
* Dapat mengikuti keinginan pengguna (robust).
* Efektif dan efisien dalam menggunakan energi dan penggunaannya.
* Dapat memenuhi kebutuhan yang diinginkan (usability).

    Ruang Lingkup Rekayasa Perangkat Lunak

* Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
* Software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak.
* Software construction berhubungan dengan detail pengembangan perangkat lunak, termasuk. algoritma, pengkodean, pengujian dan pencarian kesalahan.
* Software testing meliputi pengujian pada keseluruhan perilaku perangkat lunak.
* Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
* Software configuration management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
* Software engineering management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
* Software engineering tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.

    Rekayasa Perangkat Lunak dan Disiplin Ilmu Lain

  @ Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin ilmu lain diluar ilmu komputer.

* Bidang ilmu manajemen meliputi akuntansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis kuantitatif, manajemen sumber daya manusia, kebijakan, dan strategi bisnis.
* Bidang ilmu matematika meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik, dan matematika diskrit.
* Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.


  • Sejarah  Rekayasa  Perangkat  Lunak 1940an
  • Komputer pertama yang membolehkan pengguna menulis kode program langsung –1950an
  • Generasi awal interpreter dan bahasa macro
  • Generasi pertama compiler
  • Generasi kedua compiler – 1960an
  • Komputer mainframe mulai dikomersialkan
  • Pengembangan perangkat lunak pesanan
  • Konsep Software Engineering mulai digunakan– 1970an
  • Perangkat pengembang perangkat lunak
  • Perangkat minicomputer komersial– 1980an
  • Perangkat Komputer Personal (PC) komersial
  • Peningkatan permintaan perangkat lunak– 1990an
  • Pemrograman berorientasi obyek (OOP)
  • Agile Process dan Extreme Programming
  • Peningkatan drastis kapasitas memori
  • Peningkatan penggunaan internet– 2000an
  • Platform interpreter modern (Java, .Net, PHP, dll)
  • Outsourcing


Pada era globalisasi ini telah banyak terjadi kemajuan-kemajuan
teknologi yang dimanfaatkan masyarakat, dan yang lebih kelihatan terutama kemajuan di berbagai bidang ilmu. Hal ini disebabkan karena adanya kemajuan-kemajuan teknologi informasi. Kebanyakan orang menganggap Teknologi informasi sama dengan teknologi baru.
Hal ini sebenarnya bisa dilihat dari adanya software software yang Penerapan mengunakan teknologi informasi saat ini telah terjadi di segala bidang dan dapat kita lihat dan rasakan di rumah-rumah, di kantor, perdagangan dan keuangan, dan juga di bidang militer yang mengunakan software.

IDENTIFIKASI JENIS-JENIS SOFTWARE APLIKASI
1) Sistem Operasi
Sistem operasi merupakan sofware yang pertama kali dibaca oleh komputer pada saat booting sebagai dasar pengoperasian komputer.

Terdapat 2 jenis sistem operasi berdasarkan tampilan antarmuka kepada penggunanya (user interface) yaitu yang berbasis CUI (Character User Interface) dan berbasis GUI (Graphical User Interface).

  •  Programm Bantu dan Program Tambahan Program bantu (utility) merupakan program yang digunakan untuk mengisi kekurangan atau menampilkan kembali file suatu sistem operasi yang terhapus. PC Tools dan Norton Utilities merupakan contoh dari program ini. Salah satu dari kelemahan DOS adalah tidak mampu bekerja di sistem jaringan.
  •  Bahasa Komputer (Computer Language) Computer Language merupakan bahasa yang digunakan untuk membuat program komputer. Disebut bahasa karenacomputer language memiliki kosa kata dan tata bahasa yang harus ditaati oleh pemakainya.


Yang termasuk dalam jenis ini adalah :
a. Low Level Language, merupakan bahasa tingkat rendah karena sulit dipahami dan hanya dapat dimengerti oleh pembuatnya. Yang termasuk program ini adalah bahasa mesin assembly language

b. High Level Language, merupakan bahasa tingkat tinggi karena menggunakan kata-kata yang mudah dimengerti. Contoh dari program ini adalah BASIC, PASCAL, FORTRAN, dsb.

Ada pula beberapa tipe software, diantaranya :

a. Software Games
Jenis-jenis tersebut seperti MMOs (Massive Multiplayer Online games), first-person shooters, action games, roleplaying games, and game petualangan.

b. Software Driver
Program in mengijinkan komputer untuk dapat berinteraksi dengan perangkat hardware tambahan seperti printer, scanner, dan video cards.

c. Software Pendidikan
berbeda dengan jenis program sebelumnya, software pendidikan ini dapat mengajarkan apapun dari komputer, melakukan aktifitas yang berhubungan seperti mengetik atau berbagai macam jenis pendidikan lainnya seperti kimia.

d. Media player dan pengembangan software media lainnya –
Software yang dibuat untuk dapat memainkan atau mengedit media digital seperti file music atau video.

e. Software Produktifitas
Jenis software ini mengijinkan pengguna untuk lebih produktif baik itu dalam menjalankan bisnis atau menjalankan aktifitas produktif lainnya. Contoh dari software ini adalah software pengolah huruf (Ms Words)
Estetetika
Menurut Connel, estetika merupakan suatu penilaian yang bersifat kualitatif, namun, seperti juga arsitektur
fisik, estetika perangkat lunak terdiri dari beberapa prinsip umum, yaitu :

• Kooperatif
• Bentuk yang Sesuai
• Minimalitas Sistem
• Ketunggalan Komponen

2.2 Kooperatif

Seperti bangunan yang harus didesain untuk menyatu dan memperindah lingkungannya, perangkat lunak
juga mesti bisa bekerja sama secara baik dengan lingkungannya. Jika dimisalkan lingkungan untuk sebuah
bangunan
Contoh dari sistem perangkat lunak yang kooperatif dengan lingkungannya :
• Suatu buku saku appointment elektronik yang bekerja dalam batasan layar kecil hitam putihnya, dan
masih dapat menampilkan informasi dengan jelas.
• Suatu sistem pembukuan pajak penghasilan yang bisa dibayar lewat Internet, karena banyak sekali
user yang sudah memiliki akses Internet.

2.3 Bentuk yang Sesuai

Desain internal dari suatu sistem perangkat lunak harus merefleksikan dan meng-create fungsi
eksternalnya. Suatu bangunan yang indah menyatukan bentuk dan fungsi, begitu pula dengan perangkat
lunak yang baik. Mengapa ini menjadi masalah? Selagi suatu sistem perangkat lunak bekerja dengan
benar, apakah hasil dari suatu internal desain menjadi masalah? Jawabannya adalah Ya. Sebuah struktur
internal yang mempertimbangkan fitur eksternal akan cenderung meng-create fitur tersebut lebih baik.
Sebuah bentuk perangkat lunak yang mengikuti fungsi perangkat lunak tersebut, juga cenderung lebih
simpel, karena fitur eksternal tersebut diangkat dari desain internal daripada dipaksakan diatas desain
tersebut. Suatu sistem perangkat lunak yang bentuknya tidak mencerminkan fungsinya selamanya akan
sulit untuk di debug, memiliki lebih banyak bug, dan sulit untuk dikembangkan dan dimodifikasi

2.4 Minimalitas Sistem

Jika dibayangkan sebuah rumah yang sedang dibangun di jalan yang berfasilitas saluran air bersih dan
listrik. Sekarang umpama pembangun rumah menggali sebuah sumur pribadi atau membuat pembangkit
listrik sendiri. Ketika ditanya mengapa mereka melakukan ini, jawabannya adalah : “Kami ingin sumur kami
sendiri, Sehingga kami bisa menggunakannya sesuka hati. Kemudian kami sendiri tidak tahu bahwa ada
jaringan listrik di jalan ini”. Pekerjaan dan pengeluaran yang berlebihan ini tidak bisa diterima. Memang tidak
ada salahnya menambahkan sumur atau generator listrik di suatu rumah – apabila rumah tersebut benarbenar
membutuhkannya. Adalah suatu hal yang mengerikan apabila menyertakan hal-hal tersebut untuk
alasan kecil atau tidak perduli akan adanya kemungkinan fasilitas-fasilitas umum yang tersedia. Rancangan
bangunan yang baik berusaha menjaga bangunan tersebut seminimal mungkin, dengan menggunakan
sumber daya eksternal yang tersedia.

2.5 Ketunggalan Komponen

Umumnya, bangunan yang cantik berisi ruangan-ruangan yang setiap ruangan tersebut berguna untuk
memenuhi satu tujuan tertentu dengan baik. Sebagai contoh, hampir setiap rumah memiliki sebuah kamar
tidur utama, yang berisi apa-apa yang dibutuhkan oleh ruangan tersebut. Adalah suatu rancangan yang
buruk bila sebuah rumah sampai memiliki empat kamar tidur utama karena pembangunnya tidak dapat
menyelesaikan satupun ruangan. Lebih buruk lagi, apabila pembangun lupa bahwa mereka baru saja
membuat sebuah kamar tidur utama, lalu mereka membangun lagi satu lagi, kemudian mereka lupa lagi,
dan membangun lagi dan seterusnya.
Tentu saja, beberapa bangunan-bangunan yang besar mungkin membutuhkan lebih dari satu ruangan yang
berfungsi sama.

2.6 Lokalitas Fungsional

Rancangan pembangunan yang baik menempatkan item-item yang berhubungan pada tempat yang
berdekatan. Peralatan dan bahan-bahan untuk menyiapkan makanan biasanya terletak dalam ruang yang
sama. Peralatan-peralatan rias, silet cukur, deodoran biasanya terletak berdekatan di meja rias. Walaupun
suatu rumah dapat dibangun dengan kulkas di loteng, atau oven di ruang keluarga, dan mesin cuci di dalam
kamar tidur – namun ini termasuk rancangan yang buruk.
Rancangan perangkat lunak yang baik mengikuti prinsip yang sama dalam menempatkan hal-hal yang
berhubungan di tempat yang berdekatan. Ketika perangkat lunak dibangun seperti ini, maka sangat mudah
untuk memahami perangkat lunak bagi tim proyek – karena strukturnya bisa dinalar dengan mudah pula.

2.7 Readability
Readibility adalah satu area dalam estetika perangkat lunak yang tidak memiliki kesejajaran dengan
konstruksi fisik, tapi adalah sangat penting. Apabila pengembang-pengembang perangkat lunak tidak dapat
memahami source code dari engineer, maka kode tersebut secara efektif tidak mengandung metrik-metrik
lain yang didiskusikan di sini. Kualitas-kualitas tersebut mungkin ada pada beberapa pengertian teknis,
namun ketidakmungkinan suatu kode untuk ditelusuri ke dalamnya membuat kode tersebut tidak dapat
digunakan untuk tujuan-tujuan praktis. Sebagai contoh, diambil suatu himpunan file-file source
menunjukkan minimality yang sempurna (tidak mengandung redundansi). Namun apabila tidak ada
manusia yang dapat menemukan bagian tertentu dari kode sumber yang berhubungan dengan fitur tertentu,
maka tidak ada seorangpun yang dapat memperbaiki bug-bug di lokasi tersebut atau mengembangkan fiturfitur
dengan jalan apapun.

2.8 Simplisitas
Simpicity dari perangkat lunak juga merupakan suatu metrik kunci yang membedakan kemampuan
programing. Programer junior menciptakan solusi simpel untuk masalah simpel. Programer senior
menciptakan solusi kompleks untuk masalah kompleks. Programer besar dapat menemukan solusi simpel
untuk masalah yang kompleks. Kode yang ditulis oleh seorang programer top akan terlihat jelas, apabila
sudah selesai, namun lebih sulit untuk dibuat. Sejalan dengan tujuan ilmu pengetahuan yaitu
menyederhanakan dan mengurutkan hal-hal dalam alam semesta yang kompleks, maka tujuan dari
pemrograman haruslah untuk menemukan solusi sederhana dari suatu masalah yang kompleks.
Dr. Indrajit juga menyampaikan factor-faktor yang memperngaruhi kualitas perangkat lunak usulan dari
McCall dan kawan-kawan (1997). Faktor-faktor tersebut adalah:
1. Sifat-sifat operasional dari software (Product Operations);
2. Kemampuan software dalam menjalani perubahan (Product Revision); dan
3. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition).

, kualitas global dari perangkat lunak yang cantik yang bukanlah jumlahan begitu saja dari atributatribut
sebelumnya. Untuk membuat sebuah perangkat lunak yang berkualitas harus diperhatikan
kecantikan desain perangkat lunak tersebut. Dengan desain yang memadai diharapkan program akan
bekerja lebih baik, memerlukan biaya lebih murah, cocok dengan kebutuhan user, memiliki bug yang lebih
sedikit, berjalan lebih cepat, lebih mudah diperbaiki dan memiliki masa hidup lebih lama.

Daftar pustaka
http://rina-aryani.blogspot.com/2009/11/makalah-software.html
http://p3m.amikom.ac.id/p3m/dasi/sept05/06%20-%20STMIK%20AMIKOM%20Yogyakarta%20Makalah%20RINI%20_estetika%20dan_.pdf
http://google.com

Tidak ada komentar:

Posting Komentar

Tradisional Model Pada SDLC

12. SDLC Tradisional Model SDLC tradisional adalah metode pengembangan sistem informasi klasik yang mengikuti suatu pola teratur secara ...