Sabtu, 30 Mei 2015

TUGAS SOFTSKILL

SOAL :
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/