Tampilkan postingan dengan label REKAYASA PERANGKAT LUNAK. Tampilkan semua postingan
Tampilkan postingan dengan label REKAYASA PERANGKAT LUNAK. Tampilkan semua postingan

Senin, 29 Februari 2016

Algoritma Floyd-Warshall

Algoritma Floyd-Warshall memiliki input graf berarah dan berbobot (V, E), yang berupa daftar titik (node/vertex V) dan daftar sisi (edge E). Jumlah bobot sisi-sisi pada sebuah jalur adalah bobot jalur tersebut. Sisi pada E diperbolehkan memiliki bobot negatif, akan tetapi tidak diperbolehkan bagi graf ini untuk memiliki siklus dengan bobot negatif. Algoritma ini menghitung bobot terkecil dari semua jalur yang menghubungkan sebuah pasangan titik, dan melakukan sekaligus untuk semua pasangan titik terpendek diantara semua pasangan simpul. Algoritma ini mengijinkan bobot sisi negatif. Langkah-langkah dari algoritma Floyd-Warshall adalah sebagai berikut (Budiarsyah dan Dibi Khairurrazi , 2010) :

1. Langkah awal
    Untuk menentukan shortest path dengan menggunakan algoritma Floyd Warshall adalah dengan merepresentasikan suatu graf sebagai suatu matriks berbobot.  Format output berupa matriks n x n berjarak D = [dij] dimana dij merupakan jarak dari vertex  i ke j. 

2. Langkah kedua
    melakukan dekomposisi Floyd-Warshall dengan urutan : 
      dij(k) merupakan panjang dari shortest path dari i ke j, sehingga semua vertex intermediate yang terdapat pada path (jika ada) terkumpul pada {1,2,....,k} 
      dij(0) dikumpulkan pada wij, yaitu tidak ada vertex intermediate. 
      D(k)  menjadi matriks n x n [dij(k)] 
      Tentukan dij(n) sebagai jarak dari i ke j kemudian hitung D(n) 
      Hitung D(k) untuk k = 0,1,...., n 
3. Langkah ketiga
    Menentukan struktur shortest path. Dalam hal ini, harus dilakukan dua pengamatan terlebih dahulu sebelum melangkah lebih jauh, yaitu : 
•    Sebuah shortest path tidak memuat vertex yang sama sebanyak dua kali 
•    Untuk sebuah shortest path dari i ke j dengan beberapa vertex intermediate pada path dipilih dari kumpulan {1, 2, ...., k}, dengan kemungkinan :
a)    k bukan merupakan vertex pada path (path terpendek memiliki panjang dij(k-1)).
b)    k merupakan vertex pada path (path terpendek memiliki panjang dij(k-1) + dij(k-1)). 
•    Setelah melakukan pengamatan diatas, kemudian dlakukan penentuan shortest path dari i ke j yang memuat vertex k. 
•    Shortest path tersebut memuat sebuah subpath dari i ke k dan sebuah subpath dari k ke j. 
•    Setiap subpath hanya dapat memuat vertex intermediate pada {1, ..., k-1} dan sedapat mungkin memiliki nilai terpendek, kemudian beri nama panjangnya dik(k-1) dan dkj(k-1) sehingga path  memiliki panjang dik(k-1)  + dkj(k-1). 

4. Langkah terakhir
Melakukan iterasi yang dimulai dari iterasi ke 0 sampai dengan n. Perhitungan yang dilakukan adalah : 
•    Menentukan D(0)  (iterasi ke 0) = [wij] merupakan matriks bobot. 
•    Menentukan D(k)  dengan menggunakan rumus ,  dij(k)  = min {dij(k-1), dik(k-1) + dkj(k-1)}, untuk k = 1, ..., n dimana n adalah jumlah vertex. 

Hasil akhir dari algoritma Floyd-Warshall adalah matriks untuk iterasi ke n. Dari matriks ke-n ini, dapat dilihat shortest path untuk setiap vertex pada suatu graph.

Kamis, 21 Januari 2016

Dasar-dasar Pengujian Perangkat Lunak

Pengujian bertujuan untuk mencari kesalahan. Pengujian yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan kesalahan, karena itu anda harus merancang dan mengimplementasikan sistem berbasis komputer atau produk dengan “kemampuan yang diuji” dalam benak anda. Pada saat yang sama, tes itu harus menunjukan serangkaian karakteristik yang bertujuan untuk menemukan sebanyak mungkin kesalahan dengan usaha sekecil mungkin.

Kemampuan untuk dapat diuji (testability). James Bach mendefinisikan testability sebagai berikut: “kemampuan perangkat lunak untuk dapat diuji adalah seberapa mudahkah sebuah program komputer untuk bisa diuji.” Karakteristik-karakteristik berikut ini menjelaskan tentang kemampuan sebuah perangkat lunak untuk bisa diuji.

  1. Kemampuan untuk bisa dioperasikan (operability). Jika sebuah sistem dirancang dan diimplemetasikan dengan kualitas dalam benak anda, relative sedikit kesalahan yang akan menghambat pelaksanaan penguji, yang memungkinkan pengujian berlanjut tanpa penyesuaian dan mulai dari awal.
  2. Kemampuan untuk bisa diobservasi (observability). Masukan (input) tersedia sebagai bagian dari pengujian yang menghasilkan keluaran (output) berbeda. Bagian dan variabel sistem terliahat atau dapat dipertanyakan selama eksekusi Keluaran yang salah bisa dengan mudah diidentifikasi.
  3. Kemampuan untuk dapat dikontrol (controllability).  Semua keluaran yang mungkin dapat dihasilkan melalui beberapa kombinasi dari masukan, dan format I/O konsisten dan terstrukur. State dan variabel dari perangkat lunak dan perangkat keras dapat dikontrol langsung oleh penguji.
  4. Kemampuan untuk dapat disusun(decomposability). Sistem perangkat lunak dibangun dari modul independen yang dapat diuji secara independen pula.
  5. Kesederhanaan (Simplicity). Program ini harus menunjukan kesederhanaan fungsionalitas, kesederhanaan structural, kesederhanaan kode.
  6. Stabilitas (Stability). Perubahan pada perangkat lunak jarang dikontrol ketika perubahan itu terjadi dan tidak membatalkan pengujian-pengujian yang telah ada. Perangkat lunak ini pulih melalui kegagalan.
  7. Kemampuan untuk bisa dipahami (understandability). Perancangan arsitektur dan ketergantungan antara komponen-komponen internal, eksternal, dan  yang dipakai bersama dipahami dengan baik. Dokumentasi teknis dapat langsung diakses, terorganisasi dengan baik, spesifik dan terperinci, dan akurat. Perubahan rancangan perlu dikomunikasikan dengan penguji.

 Karakteristik Pengujian Menurut Kaner, Falk, dan Nguyen [Kan93] menggambarkan atribut-atribut sebagai berikut untuk sebuah pengujian yang “baik” :
  1. Pengujian yang baik memiliki probabilitas tinggi untuk menemukan kesalahan. Untuk mencapai tujuan ini penguji harus memahami perangkat lunak dan mencoba untuk mengembangkan sebuah gambaran mental bagaimana perangkat  lunak bisa gagal.
  2. Pengujian yang baik tidak berulang-ulang. Waktu dan sumber daya pengujian terbatas. Tidak ada gunanya melakukan pengujian yang memiliki tujuan yang sama dengan pengujian yang lain.
  3. Pengujian yang baik harus menjadi “bibit terbaik”. Dalam sebuah kelompok pengujian yang memiliki tujuan serupa, keterbatasan waktu dan sumber daya dapat mengurangi pelaksanaan bahkan hanya sebagian kecil dari pengujian ini.
  4. Pengujian yang baik harus tidak terlalu sederhana atau terlalu rumit. Meskipun terkadang sangat memungkinkan bagi kita untuk menggabungkan serangkaian pengujian menjadi satu kasus pengujian saja, efek samping yang biasanya terjadi adalah banyak kesalahan yang harus ditutupi. Secara umum, pengujian harus dilaksanakan secara terpisah. (Roger S.Pressman, Ph.D, 2012:2).


Pengujian Perangkat Lunak White Box
Disebut juga pengujian Kotak kaca (glass-box testing) merupakan sebuah filosofi perancangan test case yang menggunakan stuktur control yang dijelaskan sebagai bagian dari perancangan peringkat komponen untuk menghasilkan test case. Dengan menggunakan metode pengujian kotak putih, anda akan dapat memperoleh  test case yang :
  1. Menjamin seluruh independent path didalam modul yang dikerjakan sekurang-kurangnya sekali.
  2. Mengerjakan seluruh keputusan logical.
  3. Mengerjakan seluruh loop yang sesuai dengan batasannya.
  4. Mengerjakan seluruh struktur data internal yang menjamin validitas.


1.      Notasi Grafik alir
Menurut Roger S Pressman (2010 : 588), untuk menggambarkan penggunaan grafik alir pada beberapa symbol atau istila yang ada dalam notasi grafik alir, yaitu:
  • Node, setiap lingkaran disebut node merupakan satu atau lebih pernyataan-pernyataan prosedural, urutan kotak-kotak proses dan berlian-berlian keputisan bisa dipetakan menjadi satu node.
  • Edge atau link, setiap panah pada grafik alir disebut edge merupakan aliran kendali dan analog dengan panah diagram alir. Sebuah edge harus berhenti disebuah node, bahkan jika node tidak mewakili pernyataan-pernyataan prosedural.
  • Region, Area yang dibatasi oleh edge dan node. Ketika memasukkan pula area diluar grafik sebagai region.
  • Predicate node, yaitu setiap node yang berisi kondisi. Predicate node ditandai oleh dua atau lebih edge yang berasal dari node tersebut.


Diagram alir Roger S Pressman


Grafik alir Roger S Pressman 

  
1.      Jalur Program Independent
Jalur independent adalah setiap jalur yang melalui program yang memperkenalkan setidaknya satu kumpulan pernyataan-pernyataan pemrosesan atau kondisi baru. Kompleksitas siklomatik adalah metric perangkat lunak yang menyediakan ukuran kuantitatif dari kompleksitas logis suatu program. Kompleksitas siklomatik dilandaskan pada teori graph, dan menyediakan bagi anda metric perangkat lunak yang sangat berguna. Kompleksitas dihitung dalam salah satu dari tiga cara sebagai berikut:
a.       Jumlah daerah-daerah grafik alir yang berhubungan dengan kompleksitas siklomatik.
b.      Kompleksitas siklomatik V(G) untuk grafik alir G didefinisikan sebagai :
V(G) = E - N + 2

 Dimana :
E = jumlah edge pada flowgraph
N = jumlah node pada flowgrap
c.       Kompleksitas siklomatik V(G) untuk grafik aliran G juga didefinisikan sebagai:
V(G) = P + 1



Dimana :
P = jumlah predicate node pada flowgraph

2.      Menghasilkan Test Case
Menurut Roger S Pressman (2010 : 592), beberapa langkah berikut dapat diterapkan untuk menurunkan basis set :
  • Menggunakan perancangan atau kode sebagai sebuah dasar, contoh gambar grafik yang sesuai.
  • Menentukan kompleksitas siklomatik dari aliran grafik yang dihasilkan.
  • Menentukan sebuah basis set dari jalur independent linier. 

Pengujian Perangkat Lunak  Black Box
Menurut Roger S Pressman (2010 : 597), Pengujian black box disebut juga pengujian perilaku, berfokus pada persyaratan fungsional perangkat lunak. Artinya, teknik pengujian kotak hitam memungkinkan anda untuk membuat beberapa kumpulan kondisi masukan yang sepenuhnya akan mealkukan kebutuhan fuungsional untuk program. Pengujian kotak hitam berupaya untuk menemukan kesalahan dalam kategori sebagai berikut :
·         Fungsi yang salah atau hilang
·         Kesalahan antar muka
·         Kesalahan dalam struktur data atau akses basis data eksternal
·         Kesalahan perilaku atau kinerja
·         Kesalahan inisialisasi dan penghentian

1.      Metode pengujian berbasis grafik
Pengujian perangkat lunak dimulai dengan menciptakan sebuah grafik dari objek – objek penting dan hubungan mereka dan kemudian merumuskan serangkaian pengujian yang akan meliputi grafik sehingga setiap objek dan hubungan diuji dan kesalahan – kesalahan pun ditemukan. (Roger S Pressman, 2010:598).




Rabu, 18 Maret 2015

Cara Install JAVA

Pertama kita Install dulu JDK nya. Jika belum punya bisa di download disini. Untuk langkah instalasinya seperti dibawah ini, sangat mudah tinggal ikutin perintahnya.


Silakan install JDK nya, seperti gambar berikut ini : 












Silakan baca juga cara install Netabeans

Selasa, 13 Januari 2015

Cara Install Netbeans IDE 8.0 di Windows 7

Setelah selesai Install JAVAnya jangan di buka dulu. Selanjutnya buka directory tempat dimana anda menginstal JDK. Secara default terletak di
C:\Program Files\Java\jre1.8.0_20\bin , kemudian Copy-kan direktory bin di
C:\Program Files\Java\jre1.8.0_20\bin

Setelah JDK nya terinstall langkah selanjunya adalah menginstall Netbeans 8.0, Seperti gambar berikut ini : 












Setelah selesai Install Netbeansnya jangan di buka dulu. Selanjutnya buka directory tempat dimana anda menginstal JDK. Secara default terletak di C:\Program Files\Java\jre1.8.0_20\bin, kemudian Copy-kan direktory bin di C:\Program Files\Java\jre1.8.0_20\bin



Lalu klik kanan pada Computer lalu klik Kanan pilih Properties




Lalu pilih Advanced system setting,




Setelah itu akan mumcul kotak dialog dibawah ini, pilih Environment Variables
 



Lalu Cari PATH pada System Variables kemudian pilih Edit.
 



Lalu Paste directory tadi yang sudah di copy di Variable Value, intinya jangan sampai kode – kode yang sebelumnya terhapus, tapi sebelum di paste beri tanda titik koma (;) di akhir variable.
 




Setelah Ok, lalu buka CMD / Command Promt
Ketik Java Version
Lalu Java




Jika sudah selesai, maka silakan buka Netbeansnya…



alhamdulilah, akhirnya bisa dijalankan neatbeansnya...








 


ACCESS INFORMATION



Buka Semua | Tutup Semua

Sedang Perbaikan
Sedang Perbaikan
Silakan kirim pesan dan saran Anda,

Ahmad Sachowi Amin

Selamat Datang di Blog Saya, cybermatika.net.
Hobi saya adalah Belajar dan Belajar, entah yang penting bermanfaat untuk orang lain.Sharing adalah jalan saya, sharing dengan siapa saja yang penting memberi manfaat bagi saya.Ilmu adalah Cara saya, cara saya untuk belajar dan sharing tentang banyak hal.