Rekayasa Perangkat Lunak

1. Apa Perbedaan yang mendasar antara analisis testruktur dan strategi berorientasi objek untuk analisis kebutuhan?
Sistem pemrograman berorientasi objek, bentuk pemodelan programnya diorientasikan dalam bentuk objek – objek, sedangkan Sistem pemrograman terstruktur pemodelan programnya diuraikan dan diorganisasikan secara lebih detail. Perbedaan mendasar antara Pemrograman Berorientasi Objek dan Pemrograman Terstruktur adalah dengan menggunakan Pemrograman Berorientasi Objek maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk Pemrograman Terstruktur, menggunakan prosedur/tata cara yang teratur untuk mengoperasikan data struktur.

Kalau di Terstruktur ada "function", di OOP ada "method". Kalau di Terstruktur ada "modules", di OOP ada "objects". Kalau di Terstruktur ada "argument", di OOP ada "message". Begitu juga dengan "variabel" yang ada di Terstruktur, di OOP lebih dikenal dengan nama "atribut". 



2. Apakah PSPEC (Process Spesification) dan use case adalah hal yang sama? jika tidak terangkan perbedaanya!

PSPEC merupakan serangkaian instruksi terperinci yang menguraikan prosedur bisnnis yang diharapkan dapat dilakukan oleh setiap aktivitas bisnis tingkat dasar,menentukan apa yang harus dilakukan untuk mengubah input menjadi output. Sehingga mendapatkan deskripsi yang tepat tentang apa yang dicapai dan dengan mudah menemukan diagram alir data yang berisi proses tersebut

Sedangkan usecase sebagai bagian tingkat tinggi dari fungsionalitas yang disediakan oleh sistem. Dengan kata lain, use case sistem menggambarkan bagaimana seseorang menggunakan sistem.

3. Apakah perbedaan sequence diagram dan state diagram? apa kemiripanya?
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display/form) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
State diagram  mengambarkan seluruh status yang memungkinkan obyek-obyek dalam class dapat dimiliki dan kejadian-kejadian yang menyebabkan status berubah. Perubahan dalam suatu state disebut juga transisi (transition). Suatu transisi juga dapat memiliki sebuah aksi yang dihubungkan pada status, lebih spesifik apa yang harus dilakukan dalam hubungannya dengan transisi status. Pada diagram ini, perilaku sistem ditunjukkan. Sebuah status adalah kondisi selama hidup objek atau interaksi selama memenuhi suatu kondisi, melaksanakan suatu aksi, atau menunggu suatu kejadaian.


4. Apakah yang dimaksud dengan perancangan perangkat lunak?
Perancangan perangkat lunak adalah suatu proses bertahap dimana semua kebutuhan atau persyaratan yang ada pada dokumen SRS diterjemahkan menjadi suatu cetak blue (blue print) yang akan digunakan untuk membangun perangkat lunak.
Pada tahap awal, cetak biru melukiskan suatu gambaran umum dari perangkat lunak (merupakan penjelasan tingkat tinggi). Pada tahan selanjutnya, penjelasan rinci dilakukan hingga pada tingkat penjelasan paling rendah.
Perancangan perangkat lunak dilakukan dengan anggapan spesifikasi kebutuhan perangkat lunak sudah terdefinisikan dalam model-model analisis. Model-model yang dihasilkan selama perancangan menggambarkan “bagaimana” permasalahan diselesaikan dalam bentuk spesifikasi perangkat lunak yang siap diimplementasikan.

5. Apa yang dimaksud dengan elemen-elemen perancangan data, elemen-elemen perancangan arsitektural, elemen-elemen perancangan antarmuka, elemen-elemen perancangan peringkat dalam buku Roger S. Pressman?
Perancangan data mengubah kelas analisis ke dalam kelas desain bersama dengan struktur data yang diperlukan untuk mengimplementasikan perangkat lunak.
Perancangan arsitektural mendefinisikan hubungan antara elemen-elemen struktural utama dari perangkat lunak, gaya arsitektur dan pola desain yang membantu mencapai persyaratan yang ditetapkan untuk sistem.
Perancangan antarmuka menjelaskan bagaimana software berkomunikasi dengan sistem yang beroperasi dengan hal itu dan dengan manusia yang menggunakannya.
Perancangan peringkat komponen mentransformasikan elemen struktural dari arsitektur perangkat lunak ke sebuah deskripsi prosedur dari komponen software.

6. Buatlah Implementasi dari 4 model perancangan sesuai nomer 5 brdasarkan kasus penelitian kerja praktik !

DFD Inventory Barang

Tampilan Antarmuka



7. Apakah yang dimaksud dengan pengujian perangkat lunak? siapa yang melakukan dan mengapa mesti dilakukan?
merupakan suatu proses investigasi yang dilakukan untuk mendapatkan informasi mengenai kualitas dari suatu produk atau layanan yang sedang diuji, atau lebih spesifiknya software testing adalah proses mengeksekusi suatu program untuk menemukan bug (kesalahan atau cacat lainnya) dari perangkat lunak. 
Pengujian perangkat lunak juga memberikan pandangan mengenai perangkat lunak secara obyektif dan independen, yang bermanfaat untuk memahami tingkat resiko pada implementasinya.
Hal ini juga dapat dinyatakan sebagai proses validasi dan verifikasi bahwa sebuah program: 
Memenuhi persyaratan dan kebutuhan teknis yang mendasari perancangan dan pengembangan perangkat lunak tersebut. 
Bekerja seperti yang diharapkan. 
Dapat diterapkan menggunakan karakteristik yang sama.

8. Jelaskan Strategi pengujian perangkat lunak meliputi pengujian unit, integrasi, validasi, dan sistem brdasarkan buku Roger S. Pressman!
Beberapa tahapan testing yang umum dilalui oleh aplikasi adalah sebagai berikut :
Unit testing merupakan proses testing dimana pengujian dilakukan pada bagian basic dari kode program, contohnya pada pengujian kode program pada event, procedure dan function. Dengan Unit testing meyakinkan bahwa masing-masing unit bekerja sebagaimana mestinya. 
Integrating Testing setelah Unit testing dijalankan, langkah selanjutnya adalah memerika bagaimana unit-unit tersebut bekerja sebagai suatu kombinasi (bekerja secara bersamaan), bukan lagi sebagai unit individu. Jika pada tahapat unit testing ada dua function yang berjalan baik secara individu, maka pada tahap Integration Testing, pengujian akan dilakukan dari hasil interaksi kedua function tersebut, apakah bekerja sesuai hasil yang di harapkan, pengujian juga harus dilakukan di seluruh kondisi yang mungkin terjadi dari hasil antar unit tersebut. 
System Testing Mencakup testing aplikasi yang telah selesai didevelop. Karena itu, aplikasi harus terlihat dan berfungsi sebagaimana mestinya terhadap end-user atau pengguna akhir. Untuk itu, pengujian dilakukan menggunakan data yang menggambarkan pengguna sesungguhnya terhadap aplikasi.
Validation Testing mencakup pengujian ulang terhadap unit, component, proses, atau keseluruhan aplikasi setelah perbaikan suatu kesalahan dilakukan.Regression Testing memastikan permasalahan yang terjadi telah ditanggulangi, dan tidak terdapat permasalahan baru yang timbul sebagai efek perbaikan tersebut. Selain itu, tahap ini tidak hanya berguna untuk melakukan pengujian aplikasi, tetapi dapat juga digunakan untuk melakukan pemantauan kualitas dari output yang dihasilkan. Sebagai contoh, Regression Testing memantau ukuran file, waktu yang dibutuhkan untuk melakukan suatu tes, waktu yang dibutuhkan untuk melakukan kompilasi,dan lain sebagainya. 
9. Lakukan pengujian perangkat lunak yang harus dilakukan pada aplikasi yang anda bangun dalam penelitian kerja praktik! jelaskan!

1. White Box
White box testing adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.
Pengujian white box:
  •  Untuk mengetahui cara kerja suatu perangkat lunak secara internal.
  •  Untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang dirancang.
Pelaksanaan pengujian white box:
  •  Menjamim seluruh independent path dieksekusi paling sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru.
  •  Menjalani logical decision pada sisi dan false.
  •  Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan.
  •  Menguji struktur data internal.
  • Berdasarkan konsep pengujian; White box (structural) testing / glass box testing : memeriksa kalkulasi internal path untuk mengidentifikasi kesalahan.

Langkah-langkah white box:
  •  Mendefinisikan semua alur logika
  •  Membangun kasus untuk digunakan dalam pengujian
  •  Melakukan pengujian.

Referensi
https://www.codepolitan.com/mengenal-uml-diagram-use-case
https://www.academia.edu/5295802/Mengenal_Use_Case_Diagram
http://umardanny.com/perancangan-dan-implementasi-perangkat-lunak-rpl/
https://www.academia.edu/32364114/Model_waterfall_Rekayasa_Perangkat_Lunak
https://www.dictio.id/t/apa-yang-dimaksud-dengan-pengujian-perangkat-lunak-atau-software-testing/15136
https://www.academia.edu/30939195/PENGUJIAN_PERANGKAT_LUNAK_DENGAN_MENGGUNAKAN_METODE_WHITE_BOX_DAN_BLACK_BOX

Post a Comment

2 Comments

Berkomentarlah dengan baik dengan tidak mengandung unsur sara, mengejek komentar-komentar lain, dan spam.