1. JELASKAN PENGERTIAN, DEFINISI, DAN TUJUAN DARI OOA & OOD ?
2. SEBUTKAN USAHA UNTUK MENEMUKAN KESALAHAN PADA PENGUJIAN BLACK BOX & WHITE BOX TESTING ? DAN JELASKAN KEUNGGULAN & KEKURANGAN DARI KEDUA TEKNIK PENGUJIAN TSB ?
3. GAMBARKAN & JELASKAN NOTASI GRAPH UNTUK SKEMA DASAR PEMROGRAMAN ?
4. SEBUTKAN & JELASKAN PROSEDUR & ALAT-ALAT UNTUK PEMELIHARAAN SISTEM ?
JAWAB
Object-Oriented
Analysis
Object-oriented
analysis adalah suatu metoda analisis yang memeriksa syarat-syarat dari sudut
pandang
kelas-kelas dan objek-objek yang ditemui pada ruang lingkup permasalahan dengan
tujuanuntuk
memahami domain masalah dan meningkatkan ketelitian, konsistensi, kelengkapan
analisis.
Mendefinisikan
kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus.
Kemudian,
membuat suatu model obyek (class) dengan
kemampuan memenuhi kebutuhan-kebutuhan
(attributes). Outputnya berupa model kebutuhan-kebutuhan, biasanya menggunakan
CRC Card (classresponsibility-
collaborator).
Memberikan
gambaran rinci dari suatu sistem dan mengidentifikasi “WHAT” → kebutuhan
fungsional
(Use Cases) dengan identifikasi: objects, classes, operations, object
relationships, object
interations. Kemudian membangun model-model di dunia nyata dengan menggunakan
tampilan Object
Oriented
Object-Oriented
Design
Object-oriented
design adalah metoda untuk meng-arahkan arsitektur perangkat lunak yang
didasarkan
pada manipulasi objek-objek sistem atau subsistem. Model kebutuhan-kebutuhan
yang dibuat
pada
fase analisis diperkaya dalam fase perancangan. Kadang-kadang ditambahkan lebih
banyak lagi
atribut
dan pelayanan dan ditambahkan antarmuka obyek-obyek.
Object
Oriented Design bertujuan untuk mengoptimalkan maintainability,
reusability,
enhancebility dan reliability.
Memberikan
blueprint untuk implementasi dan menspesifikasi “HOW” dengan menspesifikasi
class
definitions, class categories, subsystems, system architectures. Object
Oriented Design merupakan
Object-Oriented Analysis dengan tambahan rincian implementasi.
WHITEBOX
TESTING
Ujicoba
Whitebox
merupakan metode desain uji kasus yang
menggunakan struktur kontrol dari desain
prosedural
untuk menghasilkan kasus-kasus uji. Dengan menggunakan metode ujicoba whitebox, para
pengembang
software dapat menghasilkan kasus-kasus uji yang :
1.
Menjamin bahwa seluruh independent paths dalam
modul telah dilakukan sedikitnya satu kali,
2.
Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah,
3.
Melakukan seluruh perulangan sesuai batasannya dan dalam batasan operasionalnya
4.
Menguji struktur data internal untuk memastikan validitasnya
Mengapa
menghabiskan banyak waktu dan usaha dengan menguji logikal software??? Hal ini
dikarenakan sifat
kerusakan
alami dari software itu sendiri, yaitu :
1. Kesalahan
logika dan kesalahan asumsi secara proposional terbalik dengan kemungkinan
bahwa alur
program
akan dieksekusi. Kesalahan akan selalu ada ketika mendesain dan implementasi
fungsi, kondisi
atau
kontrol yang keluar dari alur utama. Setiap harinya pemrosesan selalu berjalan
dengan baik dan
dimengerti
sampai bertemu ”kasus spesial” yang akan mengarahkannya kepada kehancuran.
2. Sering
percaya bahwa alur logikal tidak akan dieksekusi ketika dikenyataannya, mungkin
akan dieksekusi
dengan
basis regular. Alur logika program biasanya berkebalikan dari intuisi, yaitu
tanpa disadari asumsi
mengenai
alur kontrol dan data dapat mengarahkan pada kesalahan desain yang tidak dapat
terlihat hanya
dengan
satu kali ujicoba.
3. Kesalahan
typographical
(cetakan) bersifat random. Ketika program diterjemahkan kedalam kode sumber
bahasa
pemrograman, maka akan terjadi kesalahan pengetikan. Banyak yang terdeteksi
dengan
mekanisme
pemeriksaan sintaks, tetapi banyak juga yang tidak terdeteksi sampai dengan
dimulainya
ujicoba.
Karena alasan
tersebut diatas, maka ujicoba whitebox testing perlu dilakukan selain blackbox
testing.
Metode
ujicoba blackbox memfokuskan pada keperluan fungsional dari software.
Karena itu ujicoba
blackbox
memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan
melatih
seluruh
syarat-syarat fungsional suatu program. Ujicoba blackbox bukan merupakan
alternatif dari ujicoba
whitebox,
tetapi merupakan pendekatan yang melengkapi untuk menemukan kesalahan lainnya,
selain
menggunakan
metode whitebox.
Ujicoba blackbox berusaha untuk menemukan kesalahan dalam
beberapa
kategori,
diantaranya :
1.
Fungsi-fungsi yang salah atau hilang
2.
Kesalahan interface
3.
Kesalahan dalam struktur data atau akses database eksternal
4.
Kesalahan performa
5.
kesalahan inisialisasi dan terminasi
Tidak
seperti metode whitebox yang dilaksanakan diawal proses, ujicoba blackbox
diaplikasikan
dibeberapa
tahapan berikutnya. Karena ujicoba blackbox dengan sengaja mengabaikan struktur
kontrol,
sehingga
perhatiannya difokuskan pada lingkup informasi. Ujicoba didesain untuk dapat
menjawab pertanyaanpertanyaan
seperti
berikut :
1.
Bagaimana validitas fungsionalnya diuji?
2.
Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
3.
Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
4.
Bagaimana batasan-batasan kelas data diisolasi?
5.
Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
6.
Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?
Dengan
mengaplikasikan ujicoba blackbox, diharapkan dapat menghasilkan sekumpulan
kasus uji yang
memenuhi
kriteria berikut :
1.
kasus uji yang berkurang, jika jumlahnya lebih dari 1, maka jumlah dari uji
kasus tambahan harus
didesain
untuk mencapai ujicoba yang cukup beralasan
2.
Kasus uji yang memberitahukan sesuatu tentang ada atau tidaknya suatu
kesalahan, daripada
kesalahan yang
terhubung hanya dengan satu ujicoba yang spesifik.
Basis Path adalah teknik uji coba white box (Tom Mc Cabe).
- Basis Path : untuk mendapatkan kompleksitas lojik dari suatu prosedur dan menggunakan ukuran ini sebagai petunjuk untuk mendefinisikan himpunan jalur yang akan diuji
- Basis Path menggunakan notasi graph untuk menggambarkan aliran kontrolnya. Gambar berikut menunjukkan notasi graph untuk menggambarkan slema dasar pemrograman.
Gambar. Notasi Graph untuk Skema Dasar Pemrograman
Cyclomatic Complexity Ukuran yang menunjukkan kompleksitas lojik suatu program
- Cyclomatic Complexity dapat diperoleh dengan menghitung daerah yang dapat dibenuk oleh graph
- Cyclomatic Complexity V(G) dapat pula dihitung dengan
V (G) = E – N + 2
dimana :
E = jumlah edge pada flowgraph
N = Jumlah Node pada flowgraph
- Cyclomatic Complexity juga dapat dihitung dengan rumus :
V (G) = P + 1
dimana P = jumlah predikat Node pada flow graph
Jalur independen adalah jalur yang melintasi atau melalui program dimana sekurang-kurangnya dieksekusi satu kali. Jalur independen sama dengan jumlah Cyclomatic Complexitynya.
SUMBER : https://lizana89.wordpress.com/2010/12/02/
PEMELIHARAAN SISTEM
Definisi Pemeliharaan Sistem
Pemeliharaan Sistem adalah suatu kombinasi dari
berbagai tindakan yang dilakukan untuk menjaga suatu sistem dalam, atau
memperbaikinya sampai, suatu kondisi yang bisa diterima. Pada bulan April 1970
didefinisikan sebuah istilah untuk Teknologi Pemeliharaan yang mencakup
pengertian yang lebih luas dari pada pengertian Pemeliharaan diatas. Istilah
ini adalah Teroteknologi.
Sistem perlu dipelihara karena beberapa hal, yaitu :
1. Sistem memiliki kesalahan yang dulunya belum
terdeteksi, sehingga kesalahan-kesalahan sistem perlu diperbaiki.
2. Sistem mengalami perubahan-perubahan karena
permintaan baru dari pemakai sistem.
3. Sistem mengalami perubahan karena perubahan
lingkungan luar (perubahan bisnis).
4.Sistem terinfeksi malware aktif
5.Sistem berkas corrupt
6.Perangkat keras melemah
Untuk mencegah hal-hal tesebut, digunakanlah
mOS(maintenance Operating system) yang berfungsi untuk:
-Manajemen Malware yang aktif
-Pemulihan data (recovery) dan perbaikan sistem
berkas
-Diagnosa perangkat keras.
MOS tidak menulis ke disk atau menjalankan kode
apapun dari disk, memiliki akses langsung ke perangkat keras, dan hanya
membutuhkan sedikit bagian dari perangkat keras untuk bekerja dengan sempurna.
Selain dengan mOS, kita juga dapat memelihara sistem (pada windows) dengan
cara-cara yang sederhana seperti:
-Jangan pernah mematikan power sampai sistem
benar-benar sudah shutdown.
-Buatlah backup data-data yang penting.
-Lakukan defragment setidaknya satu bulan sekali
-Sisakan sedikitspace kosong di partisi tempat
sistem operasi berada
-Gunakan firewall jika anda terkoneksi dengan
jaringan.
-Lakukan pengecekan virus secara rutin.
Selain dengan menggunakan mOS pemeliharaan sistem
juga dapat dilakukan dengan cara :
■ Pemeliharaan Korektif
Pemeliharaan korektif adalah bagian pemeliharaan
sistem yang tidak begitu tinggi nilainya dan lebih membebani, karena
pemeliharaan ini mengkoreksi kesalahan-kesalahan yang ditemukan pada saat
sistem berjalan. Umumnya pemeliharaan korektif ini mencakup kondisi penting
atau bahaya yang memerlukan tindakan segera. Kemampuan untuk mendiagnosa atau
memperbaiki kesalahan atau malfungsi dengan cepat sangatlah berharga bagi
perusahaan.
■ Pemeliharaan Adaptif
Pemeliharaan adaptif dilakukan untuk menyesuaikan
perubahan dalam lingkungan data atau pemrosesan dan memenuhi persyaratan
pemakai baru. Lingkungan tempat sistem beroperasi adalah dinamik, dengan
demikian, sistem harus terus merespon perubahan persyaratan pemakai. Misalnya,
Undang-Undang Perpajakan yang baru mungkin memerlukan suatu perubahan dalam
kalkulasi pembayaran bersih. Umumnya pemeliharaan adatif ini baik dan tidak
dapat dihindari.
■ Pemeliharaan Perfektif (Penyempurnaan)
Pemeliharaan penyempurnaan mempertinggi cara kerja
atau maintainabilitas (kemampuan untuk dipelihara). Tindakan ini juga
memungkinkan sistem untuk memenuhi persyaratan pemakai yang sebelumnya tidak
dikenal. Ketika membuat perubahan substansial modul apapun, petugas
pemeliharaan juga menggunakan kesempatan untuk meng-upgrade kode, mengganti
cabang-cabang yang kadaluwarsa, memperbaiki kecerobohan, dan mengembangkan
dokumentasi. Sebagai contoh, kegiatan pemeliharaan ini dapat berbentuk
perekayasaan ulang atau restrukturisasi perangkat lunak, penulisan ulang
dokumentasi, pengubahan format dan isi laporan, penentuan logika pemrosesan
yang lebih efisien, dan pengembangan efisiensi pengoperasian perangkat.
■ Pemeliharaan Preventif
Pemeliharaan Preventif terdiri atas inspeksi
periodik dan pemeriksaan sistem untuk mengungkap dan mengantisipasi
permasalahan. Karena personil pemeliharaan sistem bekerja dalam sistem ini,
mereka seringkali menemukan cacat-cacat (bukan kesalahan yang sebenarnya) yang
menandakan permasalahan potensial. Sementara tidak memerlukan tindakan segera,
cacat ini bila tidak dikoreksi di tingkat awal, jelas sekali akan mempengaruhi
baik fungsi sistem maupun kemampuan untuk memeliharanya dalam waktu dekat.
Memelihara Perangkat Lunak
Perangkat lunak aplikasi mungkin terstruktur mungkin
pula tidak, atau mungkin didokumentasikan mungkin pula tidak. Beberapa
perangkat lunak yang tidak terstruktur dan tidak didokumentasikan mungkin
hampir tidak dapat dipelihara. Sebenarnya salah satu sebab utama mengapa
pemeliharaan sistem memerlukan anggaran sistem yang amat banyak adalah karena
kenaikan tenaga yang dibutuhkan untuk mencoba memelihara perangkat lunak yang
didokumentasikan serta distruktur secara acak-acakan. Di lain pihak program
perangkat lunak yang tidak terstruktur dan tidak terdokumentasi juga tidak
dapat dipelihara. Seandainya suatu perubahan dalam operasi memaksa program itu
untuk berubah, maka program itu harus disingkirkan dan dikembangkanlah program
baru. Sehinga menyia-nyiakan semua sumber yang dikeluarkan untuk membangun
program asli yang tidak dapat dipelihara tersebut, belum lagi kerugian operasi
bisnis bila hari yang ditentukan tiba.
Memelihara Perangkat Keras
Pemeliharaan perangkat keras terutama pemeliharaan
preventif yang memerlukan reparasi, penggantian, atau penambahan suku cadang
dan komponen untuk merestorasi atau menjaga agar perangkat keras tetap bekerja
dengan baik. Komponen perangkat keras sistem informasi sebaiknya dicek dan
diservis secara periodik
Siklus Hidup Pemeliharaan Sistem (SMLC)
1. -Permintaan
Perubahan
2. -Mengubah
permohonan pemeliharaan menjadi suatu perubahan
3. -Menspesifikasi
perubahan Membangun pengganti
4. -Menguji
pengganti
5. -Melatih
pengguna dan melakukan tes penerimaan
6. -Pengkonversian
dan pelepasan ke operasi
7. -Mengupdate
dokumentasi
8. -Melakukan
pemeriksaan pascaimplementasi
Mengatur Pemeliharaan Sistem
1. -Menetapkan
kegiatan pemeliharaan
2. -Mengawali
dan merekam kegiatan pemeliharaan sistem tidak terjadwal
3. -HELP
DESK
4. -Mengevaluasi
aktivitas pemeliharaan sistem
SUMBER : https://muhammadilham666.wordpress.com/2013/04/26/pemeliharaan-sistem/