Tugas RPL SP Paradigma Pengembangan PL

Kata paradigma yang dimaksud dalam topik ini memiliki arti metodologi pengembangan perangkat lunak. Kenapa perlu paradigma atau metodologi untuk membuat perangkat lunak? Apa sih sebenarnya paradigma?

Perangkat lunak adalah suatu benda tak berwujud (intangible) yang berpasangan dengan perangkat keras yang dibuat untuk memenuhi suatu maksud atau tujuan tertentu. Tujuan atau maksud ini bisa jadi bagian dari sebuah sistem atau bahkan sistem itu sendiri. Manusia berperan dalam membangun atau membuat kedua perangkat tersebut, dan berperan untuk menggunakan atau menerima hasilnya. Misalnya perangkat lunak personalia, perangkat lunak tersebut dijalankan pada suatu komputer (perangkat keras) untuk menangani masalah-masalah yang terkait dengan pengelolaan sumber daya manusia sebuah perusahaan. Ada orang-orang yang terlibat dalam mengembangkan perangkat lunak dan ada orang-orang yang menjalankan atau memakainya. Dari penjelasan di atas dapat dilihat ada beberapa hal atau elemen yang terlibat, yaitu perangkat lunak, perangkat keras, pembuat perangkat lunak, pemakai perangkat lunak dan masalah.

Paradigma Rancangan Perangkat Lunak memiliki beberapa Metode yaitu:

  1. 1.      Waterfall Model

Waterfall Model sering juga disebut sebagai Classic Life Cycle. Aktifitas life cycle direpresentasikan dalam grafik pada gambar berikut ini. Bagan ini dikenal sebagai model waterfall karena mengikuti bentuk air terjun dengan satu aktifitas menuju aktifitas berikutnya.

a.    Requirement Specification

Pada tahap requirement specification, desainer dan customer mencoba menangkap deskripsi seperti apa nantinya sistem yang sebenarnya akan dibangun.

b.    Architectural Design

Tahap ini sering disebut tahap analisis. Aktifitas disini memfokuskan pada bagaimana sistem menyediakan layananan seperti diharapkan.

c.    Detailed Design

Tahap detailed design adalah perbaikan dari deskripsi komponen yang dihasilkan oleh architectural design. Perilaku yang ditunjukkan oleh deskripsi pada level di atasnya, harus terdapat pula di deskripsi detailnya.

d.    Coding and Unit Testing

Hasil dari detailed design harus dalam bentuk yang dapat diimplementasikan ke executable programming language. Setelah coding, setiap komponen diuji untuk memverifikasi apakah berjalan dengan benar sesuai dengan criteria yang telah ditetapkan pada tahap-tahap awal.

e.    Integration and Testing

Pada tahap ini juga dimungkinkan untuk melakukan tes (acceptance test) dengan customer untuk memastikan sistem yang dibuat memenuhi kebutuhan mereka.

f.     Maintenance

Maintenance melibatkan koreksi terhadap kesalahan/error yang ditemui pada sistem setelah di-release dan dilakukan perbaikan terhadap sistem, sehingga tahap maintenance memberikan feedback pada semua aktifitas lain pada life cycle.

g.    Validasi dan Verifikasi

Proses pengecekan ini disebut sebagai validasi dan verifikasi. Pada bidang Interaksi Manusia dan Komputer, validasi ini sering disebut sebagai evaluasi yang dapat dilakukan secara terpisah oleh desainer atau bekerja sama dengan user.

 

  1. 2.      Spiral Model

Model proses nyata waterfall yang berorientasi dokumen telah diambil sebagai standar umum oleh banyak agen pemerintah dan pembuat perangkat lunak. Jadi, tidak mudah melupakan model tersebut walaupun masih terdapat masalah-masalah yang ditimbulkan dalam model tersebut. Kita membutuhkan sebuah proses yang lebih baik untuk manajemen yang dapat menggunakan semua model umum seperti yang telah kita bicarakan sebelumnya. Model perbaikan tersebut juga harus memenuhi kebutuhan-kebutuhan pembuat perangkat lunak. Pendekatan alternatif diusulkan oleh Boehm (1988). Boehm mengusulkan sebuah model yang secara eksplisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum.

Model Boehm bebrbentuk spiral. Setiap loop mewakili sebuah tahap dari proses perangkat lunak.

Tidak ada tahap yang tetap dalam model ini. Manajemen harus memutuskan bagaimana membentuk proyek kedalam tahap-tahap. Perusahaan biasanya bekerja dengan beberapa model umum dengan tahap tambahan untuk proyek khusus atau ketika masala-masalah ditemukan selama pembuatan proyek.

Setiap loop dibagi dalam 4 sektor

  1. Pembuatan tujuan

Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Rencana rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi alternatif direncanakan sesuai dengan resiko yang ada.

  1. Perkiraan dan pengurangan resiko

Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis rincinya. Kemudian diambil langkah-langkah untuk mengurangi resiko. contohnya, jika ada resiko bahwa persyaratan-persyaratan tidak tepat maka sebuah model contoh mungkin dapat dikembangkan.

  1. Pengembangan dan validasi

Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan yang tepat mungkin

  1. Perencanaan

Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya.

 

  1. 3.      RAD (Rapid Application Development)

Rapid Application Development (RAD) merupakan model proses pengembangan software yang linier sequencial yang menggunakan siklus pengembangan yang singkat. Pendekatan RAD melalui beberapa fase:

a.      Business Modeling

Aliaran informasi fungsi bisnis dimodelkan untuk bisa menjawab pertanyaan sebagai berikut:

1.      Informasi apa yang dibutuhkan proses bisnis ?

2.      Informasi apa saja yang dihasilkan ?

3.      Siapa yang membuat informasi tersebut ?

4.      Informasi itu dibutuhkan siapa saja ?

5.      Siapa yang memproses informasi tersebur ?

b.      Data Modelling

Aliran informasi yang telah didefinisikan disempurnakan lagi menjadi kumpulan object data, yang   dibutuhkan untuk mendukung sistem tersebut. Karakteristik (Atau atribut) masing-masing object diidentifikasi dan relasi antara object tersebut didefinisikan.

c.       Proses Modelling

Object data yang telah didefinisikan ditransformasi untuk mendapatkan aliran informasi yang mungkin    mengimplementasikan fungsi bisnis. Deskripsi proses dibuat untuk menambah, modifikasi, penghapusan, atau pencarian object data.

d.      Application Generation

Pekerjaan proses RAD dilakukan dengan menggunakan kembali komponen program yang sudah ada (jika memungkinkan) atau membuat komponen yang bisa dipergunakan kembali (jika memungkinkan).

e.       Testing & Turnover

Karena proses RAD mempergunakan kembali komponen yang sudah ada, maka beberapa komponen program telah teruji. Hal ini bisa mengurangi waktu pengujian secara keseluruhan, akan tetapi komponen harus tetap di uji.

 

 

  1. 4.      XP (Extreme Programming)

Extreme Programming muncul menawarkan sebuah disiplin baru dalam pengembangan software secara agile. Nilai dasar yang terkandung di dalam Extreme Programming adalah: Komunikasi (Communication), Kesederhanaan (Simplicity), Umpan balik (Feedback) Keberanian (Courage) dan menghormati (Respect).

Menurut penggagas dari metode XP, Kent Beck mendefinisikan empat kunci utama (inti) dari XP yaitu:

1.      Communication (Komunikasi)

Komunikasi dalam XP dibangun dengan melakukan pemrograman berpasangan (pair programming). Tujuannya untuk memberikan pandangan pengembang sesuai dengan pandangan pengguna sistem.

2.      Simplicity (Kesederhanaan)

Perbedaan metode ini dengan metodologi pengembangan sistem konvensional lainnya terletak pada proses desain dan coding yang terfokus pada kebutuhan saat ini daripada kebutuhan besok, seminggu lagi atau sebulan lagi. Lebih baik melakukan hal yang sederhana dan mengembangkannya besok jika diperlukan.

3.      Feedback (Masukan)

Ini dimaksudkan agar hal-hal yang menjadi masalah dalam proses pengembangan dapat diketahui sedini mungkin. Setiap feed back ditanggapi dengan melakukan tes, unit test atau system integration dan jangan menunda karena biaya akan membengkak (uang, tenaga, waktu).

4.      Courage (Keberanian)

Berani mencoba ide baru. Berani mengerjakan kembali dan setiap kali kesalahan ditemukan, langsung diperbaiki.

5.      Respect (Menghormati)

Pentingnya respect terhadap anggota team lainnya karena dengan siklus pendek dan integrasi continue, programmer tidak boleh melakukan perubahan yang dapat merusak kompilasi dan menyebabkan keberadaan unit uji gagal atau memperlambat kerja team. Respects tiap individu akan selalu menghasilkan kualitas tinggi.

Tugas 2 SP RPL Requirement

Requirement ( Restaurant )

  • Kasir

a) Pencatatan data pesanan tamu restoran.

b) Pembayaran, yaitu fitur yang menangani pembayaran atas tagihan tamu.

c) Pemesanan, yaitu fitur yang menangani pemesanan untuk sebuah acara.

d) Ada fitur pencatatan saran kritik tamu.

 

  • Admin

a) Manajemen Bahan Makanan, yaitu fitur yang menangani penambahan, pengubahan, dan penghapusan data bahan makanan.

b) Manajemen Menu Makanan, yaitu fitur yang menangani penambahan, pengubahan, dan penghapusan data menu makanan.

c) Pembelian Bahan Makanan, yaitu fitur yang menangani pembelian dan penambahan stok bahan makanan.

 

  • Manajer

a) Manajemen Karyawan, yaitu fitur yang menangani penambahan, pengubahan, dan penghapusan data karyawan.

b) Membaca dan menghapus saran kritik dari karyawan.

 

SP RPL Tugas 10 : Pemeliharaan Perangkat Lunak (Software Engineering)

Sebelum membahas tentang pemeliharaan perangkat lunak, alangkah baiknya kita mengenal sedikit tentang apa sih perangkat lunak tersebut.

Baiklah, jadi perangkat lunak adalah seluruh komponen pengolahan data yang dapat membantu memecahkan masalah diluar dari perangkat hardware yang meliputi system design, program dan prosedur.
Beberapa penggambaran umum tentang perangkat lunak :
  1. Perintah (program komputer) yang mana bila dieksekusi akan menghasilkan fungsi sebagai mana yang kita inginkan.
  2. Struktur data yang memungkinkan suatu aplikasi dapat memanipulasi informasi secara proporsional.
  3. Dokumen yang menggambarkan suatu kegunaan dari pada sebuah program.
Perangkat lunak tersebut dibedakan menjadi 2 tipe yaitu :
  1. Produk Generik, yaitu sistem stand alone yang di produksi oleh perusahaan pengembang perangkat lunak dan di pasarkan ke pasar umum. Contohnya : Microsoft Office, Adobe Creative Suite, dll.
  2. Produk Pesanan, yaitu produk perangkat lunak yang mana akan dikembangkan bila ada perusahaan/konsumen yang memesannya. Contohnya : Sistem Penerimaan Mahasiswa untuk sebuah kampus, dll.
Pemeliharaan Perangkat Lunak
Sedangkan, Pemeliharaan Perangkat Lunak adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yg lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru.
Ada 4 katagotri pemeliharaan software yaitu :
  1. Corrective Maintenance, perubahan yang dilakukan guna memperbaiki kesalahan.
  2. Adaptive Maintenance, perawatan berdasarkan perubahan lingkungan.
  3. Perfective Maintenance, perubahan untuk meningkatkan kualitas sistem tanpa merubah fungsinya.
  4. Preventive Maintenance, Meningkatkan reliability, future maintainability, future enhancement  (reverse engineering dan re-engineering)
Kenapa biaya pemeliharaan lebih tinggi dari pada biaya pengembangan, berikut adalah beberapa faktor yang menyebabkannya :
  1. Stabilitas Tim, biasanya tim pengembang dan tim pemelihara adalah orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang dikembangkan.
  2. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemelihara kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif bagi pengembang untuk membuat sistem yang mudah untuk diubah.
  3. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam hal pemeliharaan software dan staff pemelihara sering diaangap tidak memerlukan keahlian yang mendalam di bidang software.
  4. Umur dan Struktur Program, program yang sudah tua biasanya strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat sulih dipahami oleh pemelihara.
Beberapa permasalahan yang sering muncul dalam pemeliharaan software :
  • Kesulitan melakukan pelacakan evolusi software pd versi sebelumnya,
  • Kesulitan pelacakan pada proses pengembangan software,
  • Sulit untuk mengerti program orang lain,
  • Tidak adanya dokumentasi yang baik,
  • Tidak adanya nara sumber,
  • Kebanyakan software dirancang tanpa adanya pemikiran untuk diubah.

Sekian artikel mengenai Pemeliharaan Perangkat Lunak, semoga bermanfaat bagi anda.
Terima Kasih.

Selamat Menulis

Selamat Datang di Dunia Blog, dan selamat menulis…

Pengelola blog kembali mengingatkan akan peraturan pemakaian Blog Universitas Widyatama Bandung adalah sebagai berikut :

  1. Blog ini merupakan milik Universitas Widyatama termasuk didalamnya seluruh sub domain yang digunakan sehingga apa yang terdapat didalam blog ini secara umum akan mengikuti aturan dan kode etik yang ada di Universitas Widyatama Bandung.
  2. Blog ini dibuat dengan menggunakan aplikasi pihak ke tiga (WordPress), dan lisensi plugin plugin didalamnya terikat terhadap developer pembuat plugin tersebut.
  3. Blog ini dapat digunakan oleh Karyawan, Dosen dan Mahasiswa Universitas Widyatama Bandung.
  4. Dilarang melakukan registrasi username atau site/subdomain blog dengan menggunakan kata yang tidak pantas.
  5. Dilarang memasukkan konten dengan unsur SARA, pornografi, pelecehan terhadap seseorang ataupun sebuah institusi.
  6. Dilarang menggunakan blog ini untuk melakukan transaksi elektronik dan pemasangan iklan.
  7. Usahakan sebisa mungkin untuk melakukan embed video atau gambar di bandingkan dengan melakukan upload secara langsung pada server.
  8. Pelanggaran yang dilakukan akan dikenakan sanksi penutupan blog dan atau sanksi yang berlaku pada aturan Universitas Widyatama sesuai dengan jenis pelanggaran yang dilakukan.
  9. Administrator berhak melakukan pembekuan account tanpa pemberitahuan terlebih dahulu jika dianggap ada hal hal yang melanggar peraturan.
  10. Aturan yang ada dapat berubah sewaktu waktu.

Beberapa Link terkait Universitas Widyatama

  1. Fakultas Ekonomi - http://ekonomi.widyatama.ac.id
  2. Fakultas Bisnis & Manajemen – http://manajemen.widyatama.ac.id
  3. Fakultas Teknik – http://teknik.widyatama.ac.id
  4. Fakultas Desain Komunikasi Visual – http://dkv.widyatama.ac.id
  5. Fakultas Bahasa – http://bahasa.widyatama.ac.id

Layanan Digital Universitas Widyatama

  1. Biro Akademik – http://akademik.widyatama.ac.id
  2. Rooster Kuliah – http://rooster.widyatama.ac.id
  3. Portal Mahasiswa – http://mhs.widyatama.ac.id
  4. Portal Dosen – http://dosen.widyatama.ac.id
  5. Digital Library – http://dlib.widyatama.ac.id
  6. eLearning Portal – http://learn.widyatama.ac.id
  7. Dspace Repository – http://repository.widyatama.ac.id
  8. Blog Civitas UTama – http://blog.widyatama.ac.id
  9. Email – http://email.widyatama.ac.id
  10. Penerimaan Mahasiswa Baru – http://pmb.widyatama.ac.id/online

Partner UTama

  1. Putra International College – http://www.iputra.edu.my
  2. Troy University – http://www.troy.edu
  3. Aix Marsielle Universite – http://www.univ-amu.fr
  4. IAU – http://www.iau-aiu.net/content/institutions#Indonesia
  5. TUV – http://www.certipedia.com/quality_marks/9105018530?locale=en
  6. Microsoft – https://mspartner.microsoft.com/en/id/Pages/index.aspx
  7. Cisco – http://www.cisco.com/web/ID/index.html
  8. SAP – http://www.sap.com/asia/index.epx
  9. SEAAIR – http://www.seaair.au.edu

Academic Research Publication

  1. Microsoft Academic  -  http://academic.research.microsoft.com/Organization/19057/universitas-widyatama?query=universitas%20widyatama
  2. Google Scholar – http://scholar.google.com/scholar?hl=en&q=Universitas+Widyatama&btnG=

Info Web Rangking

  1. Webometric – http://www.webometrics.info/en/detalles/widyatama.ac.id
  2. 4ICU – http://www.4icu.org/reviews/10219.html