Kamis, 25 Juni 2020

Tugss 9 - Resume Pengujian Perangkat Lunak



1. DASAR-DASAR PENGUJIAN PERANGKAT LUNAK

  • Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah PL secara manual maupun otomatis untuk menguji apakah PL sudah memenuhi persyaratan atau belum, atau untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil sebenarnya.
  • Pengujian bertujuan untuk mencari kesalahan.
  • Pengujian yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan kesalahan sebanyak mungkin dengan usaha sekecil mungkin.

2. TUJUAN PENGUJIAN

  1. Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.
  2. Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan.
  3. Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.

3. TESTABILITY

  • Testability adalah kemampuan Perangkat Lunak untuk dapat diuji artinya seberapa mudah sebuah program komputer untuk bisa diuji.
  • Karakteristik testability Perangkat Lunak :
    1. Kemampuan untuk bisa dioperasikan (operability)
    2. Kemampuan untuk bisa diobservasi (observability)
    3. Kemampuan untuk dapat dikontrol (controllability)
    4. Kemampuan untuk dapat disusun (decomposability)
    5. Kesederhanaan (simplicity)
    6. Stabilitas (stability)
    7. Kemampuan untuk dapat dipahami (understandability)

4. KARAKTERISTIK PENGUJIAN

  1. Pengujian yang baik memiliki probabilitas tinggi untuk menemukan kesalahan
  2. Pengujian yang baik tidak berulang-ulang, waktu dan sumber daya pengujian terbatas
  3. Pengujian terbaik harus menjadi “bibit terbaik” yaitu pengujian yang memiliki kemungkinan tertinggi dalam mengungkap seluruh kelas kesalahan
  4. Pengujian yang baik tidak terlalu sederhana atau tidak terlalu rumit

5. PENGUJIAN WHITE BOX

  • Disebut juga pengujian kotak kaca (glass box testing).
  • Merupakan sebuah filosofi perancangan test case yang menggunakan struktur kontrol.
  • Test case pada white box:
  1. Menjamin bahwa semua jalur independen di dalam modul telah dieksekusi sedikitnya satu kali
  2. Melaksanakan semua keputusan logis pada sisi benar dan salah
  3. Melaksanakan semua perulangan (loop) yang memenuhi semua batas operasional 
  4. Melakukan struktur data internal untuk memastikan kebenarannya

 6. PENGUJIAN BLACK BOX

  • Disebut juga pengujian perilaku.
  • Pengujian black box memungkinkan untuk membuat beberapa kumpulan kondisi input yang akan melakukan semua kebutuhan fungsional untuk program.
  • Kategori kesalahan pada pengujian black box:
  1. Fungsi yang salah atau hilang 
  2. Kesalahan antarmuka
  3. Kesalahan antarmuka
  4. Kesalahan perilaku atau kinerja
  5. Kesalahan inisialisasi dan penghentian 


Sabtu, 20 Juni 2020

Tugas 8 - Desain Web

1. Langkah-langkah Desain Web

1. Perancangan Isi, Dikembangkan selama tahapan analisis, dilakukan sebagai basis untuk penetapan objek-objek 
2. Perancangan Estetika (Perancangan Grafis), Membuat tampilan yang akan dilihat oleh user 
3. Perancangan Arsitektural, Fokus pada struktur hypermedia untuk semua objek isi dan untuk semua fungsi pada aplikasi web 
4. Perancangan Antarmuka, Menentukan tampilan dan mekanisme interaksi yang mendefinisikan user interface 
5. Perancangan Struktur Navigasi, Mendefinisikan bagaimana end user melakukan penelusuran untuk melintasi hypermedia 
6. Perancangan Komponen, Merepresentasikan rincian struktur elemen-elemen fungsional aplikasi web 

2. SIFAT-SIFAT APLIKASI WEB
• Kepadatan jaringan 
• Keserempakan 
• Jumlah pengguna yang tidak dapat diprediksi 
• Kinerja 
• Ketersediaan 
• Digerakkan oleh data 
• Peka terhadap isi 
• Evolusi yang berkesinambungan 
• Kesegeraan 
• Keamanan 
• Estetika 

3. KUALITAS PERANCANGAN APLIKASI WEB
Atribut Kualitas :
1. Keamanan, Kemampuan aplikasi web dan lingkungan server untuk mencegah akses yang tidak sah, dan mencegah seranganserangan yang berasal dari luar. 
2. Ketersediaan, Pengukuran atas persentase waktu yang tersedia bagi aplikasi web untuk dapat digunakan oleh user. 
3. Skalabilitas, Aplikasi web mampu mengakomodasi kebutuhan terhadap jumlah end user yang semakin bertambah 
4. Waktu, untuk masuk ke pasar Ditinjau dari sudut pandang bisnis

4. Kualitas Aplikasi Web

• Kemudahan Penggunaan 
1. Kemudahan pemahaman situs global 
2. Umpan balik dari user dan fitur-fitur bantuan 
3. User interface dan fitur-fitur estetika 
4. Fitur-fitur khusus 
• Fungsionalitas 
1. Kemampuan pencarian dan penerimaan 
2. Fitur-fitur navigasi dan perambahan (browsing) 
3. Fitur-fitur aplikasi yang berhubungan dengan lingkungan 
• Keandalan 
1. Pembetulan pemrosesan tautan (link) 
2. Pemulihan dari kesalahan 
3. Validasi dan pemulihan pada user
• Efisiensi 
1. Kinerja waktu tanggap aplikasi web 
2. Kecepatan pembentukan halaman-halaman 
3. Kecepatan penggambaran grafik-grafik 
• Kemudahan Pemeliharaan 
1. Kemudahan untuk dilakukan koreksi 
2. Keamanan aplikasi web untuk beradaptasi 
3. Kemudahan aplikasi web untuk dikembangkan

5. Sasaran Perancangan web yang baik

1. Kesederhanaan (Simplicity), Fungsi-fungsi mudah digunakan dan mudah dipahami 
2. Konsisten (Consistency), Konstruksi perancangan isi dibuat secara konsisten. Misalnya: jenis font yang sama pada semua dokumen teks, skema warna dan gaya yang konsisten 
3. Identitas (Identity), Estetika, user interface, dan perancangan navigasi harus konsisten dengan lingkungan aplikasi untuk apa aplikasi web itu dibuat atau dikembangkan. 
4. Ketangguhan (Robustness), User pada umumnya mengharapkan isi dan fungsi yang relevan terhadap kebutuhan user. 
5. Kemudahan melakukan navigasi dalam aplikasi, Aplikasi web seharusnya dirancang sedemikian rupa sehingga tampilannya intuitif dan hasilnya dapat dengan mudah diramalkan. 
6. Daya tarik visual (Visual Appeal), Tampilan isi, rancangan user interface, pengaturan warna, keseimbangan yang harus terjadi di antara teks, grafik dan media lainnya, mekanisme navigasi sangat memiliki kontribusi pada daya tarik visual 
7. Kompatibilitas (Compatibility), Aplikasi web akan digunakan pada berbagai jenis lingkungan eksekusi aplikasi yang berbeda (hardware, OS, browser, dan koneksi internet) Sasaran Perancangan web yang baik: Contoh desain

 6. PERANCANGAN ANTARMUKA
• Salah satu tantangan membuat user interface adalah bagaimana caranya user masuk ke aplikasi. 
• Sasaran-sasaran user interface adalah untuk: 
1. Menetapkan suatu jendela yang konsisten untuk meletakkan isi-isi dan fungsionalitas yang disediakan oleh user interface 
2. Memandu user melalui serangkaian interaksi dengan aplikasi web yang dikembangkan
3. Mengorganisasikan pilihan-pilihan navigasi dan isi-isi yang dapat dilihat user yang dapat berupa menu navigasi, icon grafis, dan gambar-gambar grafis
7. Perancangan Estetika, isi, Arsitektural, Navigasi
Sering juga disebut Perancangan Grafis, yang merupakan tambahan artistik yang sering digunakan untuk melengkapi aspek-aspek teknis dari perancangan aplikasi web. 
• Tata letak yang baik pada perancangan interface: 
1. Jangan mengisi bagian dari halaman web dengan informasi yang akhirnya sulit untuk mengidentifikasi informasi tersebut 
2. Lakukan penekanan pada isi yang merupakan alasan utama bagi user untuk masuk ke aplikasi web 
3. Lakukan pengelompokkan fitur navigasi, isi, dan fungsi 
4. Jangan perluas bagian aplikasi dengan penggunaan scrollbar, sebaiknya kurangi isi yang jumlahnya banyak 
5. Sesuaikan resolusi layar dan ukuran jendela browser 

Sabtu, 13 Juni 2020

Tugas 7 - Resume Pertemuan 10 " DESAIN ARSITEKTUR "

1.        Konsep Desain Arsitektur

       Perancangan arsitektur merupakan tahap pertama dalam proses perancangan Perangkat Lunak, yang dimulai dengan perancangan data kemudian berlanjut pada penurunan satu atau lebih struktur arsitektural sistem
       Arsitektur sistem Perangkat Lunak adalah struktur sistem Perangkat Lunak yang menggabungkan komponen Perangkat Lunak, properti yang tampak dari komponen tersebut, dan mendeskripsikan hubungan antar komponen
       Output dari perancangan arsitektur berupa model arsitektur yang menggambarkan bagaimana sistem diatur sebagai satu set komponen yang saling berkomunikasi


2.        Arsitektur Perangkat Lunak

Arsitektur mencakup :
1.    Komponen bangunan yang berbeda dapat diintegrasikan menjadi suatu bentuk keseluruhan yang bersifat kohesif
2.    Bangunan yang dibuat sesuai dengan lingkungannya
3.    Bangunan yang dibangun sesuai dengan kegunaannya
4.    Tekstur, warna dan material pembentuknya dikombinasikan untuk membuat tampilan yang bagus
5.    Perancangan pencahayaan, template, dan garis batas
6.    Merupakan suatu bentuk seni
Arsitektur perangkat lunak merupakan representasi yang memungkinkan untuk :
1.    Melakukan analisis terhadap efektivitas perancangan dan disesuaikan dengan kebutuhan yang dinyatakan sebelumnya.
2.    Melakukan pertimbangan alternatif arsitektural pada tahap dimana perubahan rancangan dapat dilakukan dengan cara yang relatif mudah.
3.    Mengurangi risiko yang berhubungan dengan konstruksi perangkat lunak.

3.        Tampilan Arsitektural

1.    Tampilan Logis Abstraksi dalam sistem sebagai objek atau kelas objek.
2.    Tampilan Proses Menunjukkan bagaimana (pada saat run-time) sistem terdiri dari proses yang saling berinteraksi.
3.    Tampilan Pengembangan Perangkat Lunak diuraikan untuk pengembangan, yaitu menunjukkan detail dalam komponen yang akan diimplementasikan oleh pengembang tunggal atau tim pengembang.
4.    Tampilan Fisik Menunjukkan perangkat keras sistem dan bagaimana komponen Perangkat Lunak didistribusikan di seluruh sistem.

4.        Gaya Arsitektur

Gaya arsitektur mendeskripsikan kategori sistem yang mencakup:
       Kumpulan komponen, seperti sistem basis data dan modulmodul yang melaksanakan fungsi tertentu yang diperlukan oleh sistem
       Penghubung (konektor) yang memungkinkan komunikasi, koordinasi, dan kerja antar komponen.
       Batasan yang mendefinisikan bagaimana komponen dapat diintegrasikan untuk membentuk suatu sistem/PL
       Model semantik yang memungkinkan perancang sistem memahami properti keseluruhan sistem

Gaya dan Struktur Arsitektur (Persyaratan Non-Fungsional)
1. Kinerja (Performance)
Arsitektur harus dirancang agar semua komponen dapat digunakan
pada berbagai komputer/prosesor, dan mendistribusikan di seluruh
jaringan.
2. Keamanan (Security)
Menggunakan struktur berlapis untuk melindungi aset yang paling
penting di lapisan terdalam, dengan tingkat validasi keamanan yang
tinggi.
3. Keamanan (Safety)
Operasi yang terkait dengan keselamatan terletak di salah satu
komponen tunggal atau komponen kecil.
4. Ketersediaan (Availability)
Arsitektur harus dirancang untuk menyertakan komponen redundan
sehingga dimungkinkan saat mengganti dan memperbarui komponen
tanpa menghentikan sistem.
5. Pemeliharaan (Maintainability)
Arsitektur sistem harus dirancang menggunakan komponen mandiri
yang dapat diubah dengan mudah. Struktur data bersama harus
dihindari.

5.        Pola Arsitektur

A.  Lapisan Arsitektur (Layered Architecture)
       Pemahaman tentang pemisahan dan independensi sangat penting untuk desain arsitektur karena memungkinkan perubahan secara lokal.
       Menambahkan tampilan baru atau mengubah tampilan yang ada dapat dilakukan tanpa perubahan apa pun pada data dalam model.

B.  Arsitektur Repositori (Repository Architecture)
       Bagaimana satu set komponen yang saling berinteraksi dapat berbagi data.
       Model ini cocok untuk aplikasi di mana data dihasilkan oleh satu komponen dan digunakan oleh yang lain
       Tidak perlu mentransmisikan data secara eksplisit dari satu komponen ke komponen lainnya. Tetapi komponen harus beroperasi di sekitar model data repositori yang disepakati.
       Pola repositori berkaitan dengan struktur statis dari suatu sistem dan tidak menunjukkan organisasi runtime.

C.  Client–Server Architecture
       Sebuah sistem yang mengikuti pola client-server diatur sebagai satu set layanan server, dan client yang mengakses dan menggunakan layanan.
       Komponen utama dari model ini adalah:
       Server memberikan layanan ke komponen lain. Contoh: server menawarkan layanan pencetakan, server file yang menawarkan layanan manajemen file, dan server kompilasi yang menawarkan layanan kompilasi bahasa pemrograman.
       Client yang menggunakan layanan yang ditawarkan oleh server.
       Jaringan yang memungkinkan client untuk mengakses layanan.

6.        Arsitektur Aplikasi

       Sistem aplikasi dimaksudkan untuk memenuhi kebutuhan bisnis yang memiliki banyak kesamaan dan menggunakan aplikasi tertentu.
       Arsitektur aplikasi dapat diimplementasikan kembali ketika mengembangkan sistem baru, tetapi untuk banyak sistem bisnis, penggunaan kembali aplikasi dimungkinkan tanpa implementasi ulang