Rabu, 23 Mei 2012

Disain Arsitektur Aplikasi


The Physical Architecture Layer design atau disain arsitektur aplikasi memodelkan the system’s hardware, software and network environments. Secara teori maka design for physical architecture layer harus dapat menggambarkan model
[1] how system is distributed amongst computers, 
[2] the hardware of those computers and 
[3] the software on those computers

Beberapa catatan penting terkait elemen-elemen dari Disain Arsitektur Aplikasi adalah sebagai berikut:

1. Assigning software pada hardware akan melibatkan beberapa komponen arsitektur yakni: Server-based, Client-based dan Client-server (yang paling banyak digunakan sekarang ini)

2. Software system dapat dibedakan menjadi empat fungsi utama


  • Data storage; yang dimodelkan pada layer Data Management Layer sebagai the persistent objects (menggunakan CRC Cards dan UML Class Diagram)
  • Data Access Logic; yang dimodelkan sebagai Data Access and Management Classes pada Data Management Layer. Data Access Logic adalah proses yang dibutuhkan untuk mengkases stored data, misalnya SQL queries. (Pemodelan dapat menggunakan ERD)
  • Application logic; yang dimodelkan pada Problem Domain Layer’s functional dan behavioural models. Dimana Functional Model dimodelkan dengan UML Activity Diagrams, UML Use Cases atau Context Diagram dan DFD. Sedangkan untuk model Behavioural dapat menggunakan UML Sequence Diagrams and UML Communication diagrams untuk menggambarkan Behavioural State Machines 
  • Presentation Logic; yang dimodelkan sebagai HCI layer. Layer ini dimodelkan dengan menggunakan Storyboard dan UML Navigation Diagram.

3. Hardware components are


  • Client computers misalnya I/O devices or system’s users, e.g. desktop/laptop computers, handheld, mobile, etc
  • Servers, yakni Mainframes, minicomputers and high-end microcomputers
  • Connecting Network, termasuk diantaranya High-speed permanent Ethernet/T3/ATM, broadband, dialled 

Selengkapnya dapat diunduh disini





Human Computer Interaction

Dalam keilmuan Analisa dan Perancangan Sistem Informasi, HCI atau Human Computer Interaction memiliki peran penting; namun sayangya, HCI sering disalahpahami oleh para programmer dan analyst. Berikut sebuah ilustrasi percakapan tentang HCI.

(Sumber http://img.tfd.com/cde/_TOON4.GIF)


User: Tombol “Delete” gunanya buat apa ya ?
Analyst: menghapus file
User: Lalu tombol “Hapus” itu gunanya apa ?
Analyst: Menghapus file juga
User: Kenapa ada tombol yg namanya beda, namun fungsinya sama ?
Analyst: Untuk variasi saja, memberikan user pilihan lebih banyak ?
User: oooo ..

Ambiguitas dalam üser interface" merupakan masalah yang umum terjadi. Dalam kasus yang paling sederhana, hingga kompleks. Tantangan bagi seorang analyst sistem adalah bagaiman menghadirkan sebuah sistem human computer interaction yang dapat memberikan manfaat optimal bagi pengguna (bukan menunjukkan kejagoan seorang disainer antar-muka atau disainer grafis).


Sebagai pendahuluan maka antar muka sistem pengguna itu biasanya terdiri atas:
1) Tampilan Navigasi (atau screens for navigation through system) untuk menjelajah seluruh aplikasi/sistem informasi
2) Tampilan dan Form untuk capture data
3)  Laporan yang dihasilkan oleh system (laporan ini bisa dalam bentuk paper, screen, other media)

Sedangkan untuk disain antar-muka memerlukan proses:
1) Principles and processes
2) Interface structure and standards
3) I/O design
4) Navigation design

Selengkapnya tentang Materi disain antar muka dapat diunduh disini dan disini



Senin, 14 Mei 2012

Least Square

PRAKTIKUM METODE NUMERIK

BAB I
TUJUAN DAN DASAR TEORI
1.1 Tujuan

  1. Menguasai metode least square line yang digunakan dalam komputasi numerik
  2. Memahami algoritma pemrograman untuk merancang program metode least square line yang ada dalam komputasi numerik
  3. Menerapkan algoritma untuk perancangan dan pembuatan program metode least square line.

1.2 Dasar Teori
Metode Least – Squares Line memperkirakan titik-titik (x1,y1),(x2,y2) ... (xn,Yn) mempunyai persamaan:

Y = a + bx

Kemudian kita menggunakan metode dari Least Squares.
Metode ini mencari nilai dari a dan b sebagai:



mempunyai nilai minimum berdasarkan pada grafik di bawah.


BAB II
ALAT DAN BAHAN
II.1 Alat dan Bahan yang perlu dipersiapkan:
1) Buku Teks
2) Unit Pemroses
3) Aplikasi Pembuatan Program
            a. Notepad / Notepad++
            b. Aplikasi IDE C++ (Bloodsheed Dev C++)
            c. Mathematica
            d. Matlab
            e. IDE Visual Studio 2010
            f. Netbeans atau Eclipse

BAB III
PROSEDUR PERCOBAAN
III.1 Prosedur Umum
  1. Memahami formulasi matematis Metode Least Square Line
  2. Menulis Algoritma penyelesaian masalah (dengan menggunakan teks dan/atau flow chart)
  3. Menulis pseudocode algoritma
  4. Menguji pseducode algoritma penyelesaian masalah (misalnya dengan menggunakan prosedur Desk Check)
  5. Melakukan kodifikasi
  6. Menguji Program (misalnya dengan menggunakan prosedur Joel Test dan/atau tools seperti NUnit, NCover, NCoverExplorer dan TestDriven.NET, atau menggunakan prosedur pengujian langsung)
  7. Membuat dokumentasi Praktikum (misalnya dengan menggunakan Version Control Subversion, Mercurial, Gita tau Veracity)
III.2 Prosedur Khusus
III.2.1 Contoh menulis program menggunakan IDE Bloodshed Dev C++
  1. Untuk menulis program baru caranya tekan CTRL+N atau pilih NEW lalu klik Source File terlebih dahulu sebelum mengetik program.
  2. Ketikkan program anda.
  3. Simpan program dengan menekan tombol CTRL+F12, pilih Save kemudian pada kotak dialog yang muncul ketikkan nama program pada tempat yang tersedia misalnya Contoh1.cpp, kemudian klik Save atau tekan <ENTER>
  4. Jalankan program dengan terlebih dahulu melakukan kompilasi. Hal ini dapat dilakukan sekaligus dengan mengklik Compile & Run (F9) pada menu bar ataulangsung menekan F9 pada keyboard.
  5. Bila kompilasi tidak berhasil dan memunculkan pesan error, periksa kembali kode program yang ada kemudian perbaiki kesalahan dan lakukan kembali langkah 3 dan 4.  
  6. Untuk membuka arsip yang ada, gunakan OPEN atau tekan CTRL+O pada keyboard.
III.2.2 Contoh Program
#include <iostream>
#include <cmath>
#include<math.h>
using namespace std;
void gauss(int N, // bilangan yg tak diketahui
float A [20] [21], // koefisien constants
float result[20],
bool& err)
// N linear
// metode Gaussian elimination
// baris N dan N+1 kolom A
{
int indx[20];
float scale[20];
float maxRatio;
int maxIndx;
int tmpIndx;
float ratio;
float sum;
for (int i = 0; i < N; i++) indx[i] = i; // inisiasi index array
// skala faktor
for (int row = 0; row < N; row++)
{
scale[row] = abs(A[row][0]);
for (int col = 1; col < N; col++)
{
if (abs(A[row][col]) > scale[row]) scale[row] = abs(A[row][col]);
}
}
// lanjutkan elimination
for (int k = 0; k < N; k++)
{
// index baris pivot
maxRatio = abs(A[indx[k]] [k])/scale[indx[k]];
maxIndx = k;
for (int i = k+1; i < N; i++)
{
if (abs(A[indx[i]] [k])/scale[indx[i]] > maxRatio)
{
maxRatio = abs(A[indx[i]] [k])/scale[indx[i]];
maxIndx = i;
}
}
if (maxRatio == 0) // no pivot available
{
err = true;
return;
}
tmpIndx =indx[k]; indx[k]=indx[maxIndx]; indx[maxIndx] = tmpIndx;
// gunakan baris pivot
for (int i = k+1; i < N; i++)
{
ratio = -A[indx[i]] [k]/A[indx[k]] [k];
for (int col = k; col <= N; col++)
{
A[indx[i]] [col] += ratio*A[indx[k]] [col];
}
}
}
// kembali
for (int k = N-1; k >= 0; k--)
{
sum = 0;
for (int col = k+1; col < N; col++)
{
sum += A[indx[k]] [col] * A[indx[col]] [N];
}
A[indx[k]] [N] = (A[indx[k]] [N] - sum)/A[indx[k]] [k];
}
/*
cout << endl;
for (int r=0; r<N; r++)
{
cout << indx[r];
for (int c=0; c<=N; c++) cout<<" " << A[r][c];
cout << endl;
}
*/
for (int k = 0; k < N; k++) result[k] = A[indx[k]] [N];
}
int main()
{
float A[20][21];
float X[20],C[20],D[20];
float C[8]={-1,0,1,2,3,4,5,6};
float D[8]={10,9,7,5,4,3,0,-1};
float t;
float a,b,c,f;
bool err;
a=0;
b=0;
c=0;
f=0;
for(int l=0; l<=3;l++){
a=a+C[l];
b=b+D[l];
c=c+pow(C[l],2);
f=f+((C[l])*(D[l]));
}
A[0][0] = c;
A[0][1] = a;
A[0][2] = f;
A[1][0] = a;
A[1][1] = t;
A[1][2] = b;
gauss(2, A, X, err);
cout<<endl;
cout<<X[0]<<"X + "<<X[1]<<endl;
std::cin.get();
system("pause");
return 0;
}

Eliminasi Gauss Seidel


Praktikum Metode Numerik
Modul 7 Metode Eliminasi Gauss Seidel

BAB I
TUJUAN DAN DASAR TEORI
I.1 Tujuan

  1. Menguasai iterasi Gauss-Siedel yang digunakan dalam komputasi numerik.
  2. Memahami algoritma pemrograman untuk merancang program metode Gauss-Siedel yang ada dalam komputasi numerik.
  3. Menerapkan algoritma untuk perancangan dan pembuatan program metode Gauss-Siedel.

I.2 Dasar Teori
Metode Gauss-Siedel digunakan untuk menyelesaikan Sistem Persamaan Linear (SPL) berukuran besar dan proporsi koefisien nolnya besar, seperti sistem-sistem yang banyak ditemukan dalam sistem persamaan diferensial. Metode iterasi Gauss-Siedel dikembangkan dari gagasan metode iterasi pada solusi persamaan tak linier.
Teknik iterasi jarang digunakan untuk menyelesaikan SPL berukuran kecil karena metode-metode langsung seperti metode eliminasi Gauss lebih efisien daripada metode iteratif. Akan tetapi, untuk SPL berukuran besar dengan presentase elemen nol pada matriks koefisien besar, teknik iterasi lebih efisien daripada metode langsung dalam hal penggunaan memori komputer maupun waktu komputasi. Dengan metode iterasi Gauss-Siedel sesatan pembulatan dapat diperkecil karena dapat meneruskan iterasi sampai solusinya seteliti mungkin sesuai dengan batas sesatan yang diperbolehkan.
Suatu sistem persamaan linier terdiri atas sejumlah berhingga persamaan linier dalam sejumlah berhingga variabel. Menyelesaikan suatu sistem persamaan linier adalah mencari nilai-nilai variabel yang belum diketahui yang memenuhi semua persamaan linier yang diberikan.

I.3 Algoritma

(1) Masukkan matrik A, dan vektor B beserta ukurannya n

(2) Tentukan batas maksimum iterasi max_iter

(3) Tentukan toleransi error ε

(4) Tentukan nilai awal dari xi, untuk i=1 s/d n

(5) Simpan xi dalam si, untuk i=1 s/d n

(6) Untuk i=1 s/d n hitung



(7) Iterasi <--  iterasi+1

(8) Bila iterasi lebih dari max_iter atau tidak terdapat ei<ε untuk i=1 s/d n maka proses dihentikan dari penyelesaiannya adalah xi untuk i=1 s/d n. Bila tidak maka ulangi langkah (5)

BAB II
ALAT DAN BAHAN
II.1 Alat dan Bahan yang perlu dipersiapkan:
1) Buku Teks
2) Unit Pemroses
3) Aplikasi Pembuatan Program
            a. Notepad / Notepad++
            b. Aplikasi IDE C++ (Bloodsheed Dev C++)
            c. Mathematica
            d. Matlab
            e. IDE Visual Studio 2010
            f. Netbeans atau Eclipse


BAB III
PROSEDUR PERCOBAAN
III.1 Prosedur Umum

  1. Memahami formulasi matematis Metode Iterasi Jacobi
  2. Menulis Algoritma penyelesaian masalah (dengan menggunakan teks dan/atau flow chart)
  3. Menulis pseudocode algoritma
  4. Menguji pseducode algoritma penyelesaian masalah (misalnya dengan menggunakan prosedur Desk Check)
  5. Melakukan kodifikasi
  6. Menguji Program (misalnya dengan menggunakan prosedur Joel Test dan/atau tools seperti NUnit, NCover, NCoverExplorer dan TestDriven.NET, atau menggunakan prosedur pengujian langsung)
  7. Membuat dokumentasi Praktikum (misalnya dengan menggunakan Version Control Subversion, Mercurial, Gita tau Veracity)


III.2 Prosedur Khusus
III.2.1 Contoh menulis program menggunakan IDE Bloodshed Dev C++

  1. Untuk menulis program baru caranya tekan CTRL+N atau pilih NEW lalu klik Source File terlebih dahulu sebelum mengetik program.
  2. Ketikkan program anda.
  3. Simpan program dengan menekan tombol CTRL+F12, pilih Save kemudian pada kotak dialog yang muncul ketikkan nama program pada tempat yang tersedia misalnya Contoh1.cpp, kemudian klik Save atau tekan <ENTER>
  4. Jalankan program dengan terlebih dahulu melakukan kompilasi. Hal ini dapat dilakukan sekaligus dengan mengklik Compile & Run (F9) pada menu bar ataulangsung menekan F9 pada keyboard.
  5. Bila kompilasi tidak berhasil dan memunculkan pesan error, periksa kembali kode program yang ada kemudian perbaiki kesalahan dan lakukan kembali langkah 3 dan 4.  
  6. Untuk membuka arsip yang ada, gunakan OPEN atau tekan CTRL+O pada keyboard.
III.2.2 Contoh Program






Kamis, 10 Mei 2012

Tools Cyber Security

Security Computer and Networking memang merupakan topik yang paling menarik untuk dibahas. Sebelumnya saya sudah pernah menulis tentang topik ini:
1. Tentang tren keamanan komputer dan jaringan komputer Indonesia dapat dibaca disini.
2. Dasar-dasar keamanan komputer dan jaringan komputer dapat dibaca disini.

Berikut ini, saya berikan list yang terkait dengan cyber security. List dibawah ini merupakan tools yang dapat langsung digunakan pada syarat dan ketentuan tertentu. Dalam kepentingan akademik, tentu saja, diharapkan para pengguna hanya menggunakan tools ini dalam sistem jaringan anda sendiri. List tools ini diambil dari sebuah majalah cyber security baru saja menerbitkan Cyber Securirty Tools List 2012,  authornya adalah: Reza Rafati - Cyberwarzone.com

Berikut ini adalah tools terkait cyber security paling anyar di Tahun 2012:


Real Time Protection
Avast
http://www.avast.com/index

Portable Antivirus Programme
Drweb cureit
http://www.freedrweb.com/cureit/


Anti Root kit

TDSS Killer
Avast MBR Scanner
Gmer
RootRepeal
Kernel Detective
SpyDllRemover
VBA anti-rootkit
Sanity check
Rootkit Unhooker
Bitdefender Bootkit Removal Tool
RootkitRemover
mbr tool
catchme
Rootkitty
Kill bootkits
Hypersight Rootkit Detector
Rkdetector



Firewall analyzer

Firewal analyzer digunakan untuk "mengamati"security dari lingkungan sistem anda. Firewall digunakan dengan mengkombinasaikan IDS, IPS dan tools monitoring lainnya. Tools dibawah ini memiliki fitur untuk create log files yang dapat dianalisa kapan saja.
SoftwareFree / PaidDownload link
FiremonPaidhttp://www.firemon.com



Monitor tools

Untuk melakukan monitoring secara real time, dapat digunakan tools dibawah ini:
SoftwareFREE / PaidDownload link
Zenoss CoreFreehttp://community.zenoss.org/
NTA MonitorFreehttp://www.nta-monitor.com/tools/ike-scan/



Sniffers

Sniffers digunakan untuk menganalisis paket data yang melintasi sistem jaringan anda. Dengan tools dibawah ini anda dapat menganalisa masalah sistem jaringan anda, termasuk mendeteksi pola intrusion yang ada!
SoftwareFree / PaidDownload link
WiresharkFreehttp://www.wireshark.org
NMAPFreehttp://nmap.org/

Code Review Tools

Dibawah ini adalah sebuah tools untuk mereview code terkait dengan security ... :)
SoftwareFree / PaidDownload link
Rough Auditing Tool for SecurityFreehttps://www.fortify.com

Config Review Tools

Tools dibawah ini dapat digunakan untuk Config review ...
SoftwareFree / PaidDownload link
Apache BenchmarkFreehttp://www.cisecurity.org/
Microsoft Best Practice AnalyzerPaidhttp://www.microsoft.com

Database Tools

SoftwareFree / PaidDownload link
SQL Server Express UtilityFreehttp://www.microsoft.com
MySQL Command-Line ToolFreehttp://dev.mysql.com/
LeviathanFreehttp://leviathan.sourceforge.net/
WinSQL without installerFreehttp://web.synametrics.com/rawfiles.htm

Debugging Tools

SoftwareFree / PaidDownload link
OllyDbgFreehttp://www.ollydbg.de/
Free
Free
Free

Forensic Tools

SoftwareFree / PaidDownload link
Mandiant Red CurtainFreehttp://www.mandiant.com/
Mandiant Red LineFreehttp://www.mandiant.com/
Free
Free

Fuzzer Tools

SoftwareFree / PaidDownload link
SkipfishFreehttp://code.google.com/p/skipfish/
WSFuzzer ProjectFreehttps://www.owasp.org/
FileFuzzFreehttp://www.securiteam.com/tools
FuzzdbFreehttp://code.google.com/p/fuzzdb/

SAP tools

SoftwareFree / PaidDownload link
SAPYTOFreehttp://www.security-database.com/

Backdoor Tools

SoftwareFree / PaidDownload link
TINIFreehttp://ntsecurity.nu/toolbox/tini/

Brute Force Tools

SoftwareFree / PaidDownload link
Hydra Brute Force UtilityFreehttp://www.madirish.net/
BRUTUSFreehttp://www.hoobie.net/brutus/
TSGrinderFreehttp://www.hammerofgod.com/
PatatorFreehttp://code.google.com/p/patator/

Interception Tools

SoftwareFree / PaidDownload link
EchomirageFreehttp://www.bindshell.net/tools/

Password Cracking Tools

SoftwareFree / PaidDownload link
Cain & AbelFreehttp://www.oxid.it/cain.html
John the RipperFreehttp://www.openwall.com/john/
OphcrackFreehttp://ophcrack.sourceforge.net/

Password Retrieval Tools

Jika anda lupa atau kehilangan password anda, mungkin anda bisa mencobanya dengan menggunakan tools dibawah ini:
SoftwareFree / PaidDownload link
CreddumpFreehttp://code.google.com/p/creddump/
FGdumpFreehttp://www.foofus.net/~fizzgig/fgdump/
Pass-The-Hash toolkitFreehttp://oss.coresecurity.com/
PWdumpFreehttp://www.foofus.net/~fizzgig/pwdump/

Token Impersionation Tools

SoftwareFree / PaidDownload link
IncognitoFreehttp://sourceforge.net/projects/incognito/
Pass-The-Hash toolkitFreehttp://oss.coresecurity.com/
Windows Credentials EditorFreehttp://www.ampliasecurity.com/research.html

LIVE CD's

SoftwareFree / PaidDownload link
BacktrackFreehttp://www.backtrack-linux.org/
HirenFreehttp://www.hiren.info/pages/bootcd