Kamis, 24 Desember 2015

ANALISA KEAMANAN WINDCHILL DENGAN METODE SQUARE

0 komentar
1.Definition Dalam rangka menyamakan pemahaman dengan user, langkah pertama terdiri dari satu set definisi disepakati oleh klien dan tim SQUARE.

 2. Safety and Security Goals Goals: Mengidentifikasi keamanan pengelolaaan aset. Availability Authentication Authorization atau Access Control Privacy/confidentiality Integrity Non-repudiation Auditing Artifacts and Initial Requirements Network Topology

 3. System Architectur

 4. Use Case

 5. Misuse Case Deskripsi Misuse Case

 6. Attack Tree

 7. Prioritization Architectural and Policy Requirements
 8. Categorizing and Detailing Recommendation
 9. Budgeting and Analisis

 TERIMA KASIH

untuk lebih lengkapnya bisa download disini


Kamis, 17 Desember 2015

EVALUASI MATRIKULASI ANALISA DAN DESAIN ALGORITMA

0 komentar
1. Soal:
Diketahui flowchart sebagai berikut:

Jika diyatakan dalam bentuk umum dan dalam bahasa C++ maka terlihat:

Bentuk Umum Algoritma
Bahasa C++
Read(A,B) X = A
Y = B
While( X != Y)
IF ( X < Y ) Then
X = X + A
else
Y = Y + B End If
End While
Write(X)
#include
void main()
{ int A,B, X,Y; cin >> A >> B; X = A;
Y = B;
while( X != Y)
{ if( X < Y )
{ X = X + A; }
else
{ Y = Y + B; }
}
cout << X;
}

Pertanyaan:
a.    Jika A = 2; dan B = 4, maka yang tercetak?
b.  Jika A = 4; dan B = 7, maka yang tercetak?

Jawab:
a.    Jika A = 2; dan B = 4
X = A » X = 2
Y = B » Y = 4
- Iterasi  1 : 2 != 4;   2 < 4;  maka X=X+A; X=2+2=4; maka X=4; Y=4
- Iterasi  2 : 4 != 4;   kondisi salah; maka keluar Loop. Sehingga X benilai 4, dan akan tercetak 4

 
















b.  Jika A = 4; dan B = 7
X = A » X = 4
Y = B » Y = 7
- Iterasi  1 : 4 != 7;   4 < 7;     maka X=X+A; X=4+4=8;     maka X=8; Y=7
- Iterasi  2 : 8 != 7;   8 > 7;     maka Y=Y+B; Y=7+7=14;  maka X=8; Y=14
- Iterasi  3 : 8 != 14; 8 < 14;  maka X=X+A; Y=8+4=12;  maka X=12; Y=14
- Iterasi  4 : 12 != 14;12 < 14; maka X=X+A; Y=12+4=16; maka X=16; Y=14
- Iterasi  5 : 16 != 14;  16 > 14;  maka Y=Y+B; Y=14+7=21;  maka X=16; Y=21
- Iterasi  6 : 16 != 21;  16 < 21;  maka X=X+A; X=16+4=20;  maka X=20; Y=21
- Iterasi  7 : 20 != 21;  20 < 21;  maka X=X+A; X=20+4=24;  maka X=24; Y=21
- Iterasi  8 : 24 != 21;  24 > 21;  maka Y=Y+B; Y=21+7=28;  maka X=24; Y=28
- Iterasi  9 : 24 != 28;  24 < 28;  maka X=X+A; X=24+4=28;  maka X=28; Y=28
- Iterasi 10: 28 != 28;  kondisi salah; maka keluar Loop
Sehingga X benilai 28, dan akan tercetak 28

 












2. Soal:
Susun algoritma  untuk  menginput  3  buah  bilangan  bulat  yang  masing-masing menyatakan panjang sebuah garis. Kemudian periksa  ketiga buah garis tersebut, apakah dapat membentuk sebuah segitiga. Bila ketiga buah garis tersebut dapat membentuk sebuah segitiga, maka cetak perkataan SEGITIGA”, tapi bila ketiga buah   gari tersebut   tidak   dapat   membentuk   sebuah   segitiga,   mak cetak perkataan  “BUKAN  SEGITIGA”.  Pada  sebuah  segitiga  berlaku  suatu  kepastian bahwa : Total panjang dua buah sisi selalu lebih besar dari panjang satu sisi yang lain.

Jawab:
Algoritma dalam bahasa C++
#include
int main(){
int A,B,C, X,Y,Z;
cout<<"Masukan Sisi A :";cin>>A;
cout<<"Masukan Sisi B :";cin>>B;
cout<<"Masukan Sisi C :";cin>>C;
X=A+B;
Y=B+C;
Z=A+C;
if(X>C){ cout << "SEGITIGA"; }else {
if(Y>A){ cout << "SEGITIGA";}else {
if(Z>B){ cout << "SEGITIGA";}else { 
 cout << " BUKAN SEGITIGA";}
                }
      }
}
Algoritma dengan logika lain  dalam bahasa C++  lebih simple
#include
void main()
{
int A, B, C;
cin >> A >> B >> C;
if ((A+B) && (B+C)
&& (C+A)
{
cout << "SEGITIGA";
}
else
{
cout << "BUKAN SEGITIGA";
}
}


3. Soal:
Diketahui algoritma berikut ini, ditulis dalam Bahasa C++

#include
void main()
{
int N,X,T,Batas; N = …..  ;
Batas = N + 100; X = 20;
T = N;
while( T <= Batas)
{
T = T + X;
X = X + 10;
}
cout << T;
}

Pertanyaan: apa yang tercetak oleh algoritma diatas, bila N diisi dengan 2 digit terakhir NIM Saudara?

Jawab:
Dua digit terakhir NIM=50
N = 50
Batas = N + 100 »Batas = 50 + 100 = 150
X = 20
T = N  » T = 50
- Iterasi  1 : 50 <= 150;  maka T=T+X » T=50+20=70;     X=X+10 » X=20+10=30
- Iterasi  2 : 70 <= 150;  maka T=T+X » T=70+30=100;   X=X+10 » X=30+10=40



- Iterasi 3 : 100 <= 150; maka T=T+X » T=100+40=140; X=X+10 » X=40+10=50
- Iterasi  4 : 140 <= 150; maka T=T+X » T=140+50=190; X=X+10 »X=50+10=60
- Iterasi  5 : 190 > 150; kondisi salah, maka keluar Loop
Sehingga T benilai 190, dan akan tercetak 190.

 















4. Soal:
Ali berangkat dari titik A ke titik B. Ali berangkat sebelum pukul 09:00:00 pagi. Badu  mencatat dalam selembar kertas, 3 (tiga) buah bilangan yang menyatakan Jam, Menit dan Detik pukul (jam) keberangkatan Ali dari titik A. Setelah 8175 detik kemudian  dihitung  sejak   waktu  keberangkatan,  Ali  tiba  di  titik  B.  Dengan memanfaatkan data keberangkatan  yang  dimiliki Badu, susunlah algoritma untuk mencetak pukul berapa (Jam, Menit, Detik)   Ali tiba di titik B.

Jawab:
Algoritma dalam bahasa C++

#include
void main()
{
int Waktu, Jam, JlhJam, Selisih, Menit, JlhMenit, Detik, Tiba; Waktu = 8175;
Jam = Waktu / 3600; JlhJam = Jam * 3600; Selisih  = Waktu - JlhJam; Menit = Selisih / 60; JlhMenit = Menit * 60;
Detik = Selisih - JlhMenit; Tiba = Jam + 9;
cout << "Ali tiba pukul = ";
cout << "Jam : " << Tiba << ":" << Menit << ":" << Detik;
cout << " di Kota B = ";
}




Implementasi  algoritma

 





























Output\
5. Soal:
Disebuah negara berlaku satuan uang logam (coin) sebagai berikut: quarter (25 sen) dime  (10 sen), nickel (5 sen) dan penny (1 sen). Apabila sebuah toko ingin mengembalikan uang belanjaan sebesar 64 sen, dengan jumlah keping coin yang paling sedikit, maka diperlukan 2 quarter, 1 dime dan 4 penny, (2*25+1*10+ 4*1) atau sebanyak 7 keping. Ia tidak boleh  mengembalikan dengan 6 dime dan 4 penny (6*10+4*1) atau 10 keping, walaupun  nilainya  sama-sama 64 sen. Susun

program untuk mencetak berapa keping masing-masing coin      yang diperlukan untuk uang kembalian. Nilai uang kembalian diketik melalui keyboard.



Jawab:
Algoritma dalam bahasa C++


#include
void main()
{
int quarter, dime, nickel, penny, uang, sisa1, sisa2;
cout << "Masukkan nilai uang : ";
cin >> uang;
quarter = uang / 25;
sisa1 = uang - ( 25 * quarter );
dime = sisa1 / 10;
sisa2 = sisa1 - ( 10 * dime );
nickel = sisa2 / 5;
penny = sisa2 - ( 5 * nickel );
cout << "Tercetak  " << quarter << dime << nickel << penny << endl;
cout << "          " << "Maksudnya :" << endl;
cout << "          " << quarter << "Keping Quarter " << endl;
cout << "          " << dime << "Keping Dime " << endl;
cout << "          " << nickel << "Keping Nickel " << endl;
cout << "          " << penny << "Keping Penny   " << endl;
cout << "Yang Menyatakan nilai :" << uang << "Sen" << endl;
}












Implementasi  algoritma

 
































Output

6. Soal:
Ali mempunyai banyak sekali uang logam. Uang logam tersebut hanya terdiri dari
2 macam nilai satuan yaitu : 5, dan 3 sen. Ali mau mengambil beberapa keping uang logam  tersebut senilai minimal 8 sen dan maksimal 100 sen.   Anda diminta membantu Ali untuk menentukan keping uang apa dan berapa keping jumlahnya untuk memenuhi nilai yang  akan diambil Ali, dengan ketentuan mendahulukan mengambil keping dengan nilai tertinggi agar didapat jumlah keping yang paling sedikit. Untuk itu Anda diminta membuat algoritma  yang menginputkan sebuah nilai integer yang menyatakan nilai  uang yang akan diambil Ali,   kemudian cetak berapa keping uang logam bernilai 5 sen, dan berapa keping yang bernilai 3 sen, agar terpenuhi jumlah nilai yang akan diambil Ali. Bila nilai yang diinput kurang dari  8,  atau  lebih  dari  100,  maka  cetak  perkataan  DATA  SALAH”  dan  proses dihentikan.



Jawab:
Algoritma dalam bahasa C++

#include
void main()
{
int koin, P5, P3, S;
cout << "Masukkan jumlah koin : ";
cin >> koin;
if (koin >= 8 && koin <= 100)
{
S = koin % 5;
if(S == 0)
{
P5 = koin / 5; P3 = 0;
}
else
{
P5 = koin / 5;
while(P5 >= 0)
{
S = koin - (P5 * 5);
if(S % 3 == 0)
















{
P3 = S / 3;
break;
}
else
{
P5--;
}
}
}
cout << "Jumlah koin 5 sen : " << P5 << " keping" << endl;
cout << "Jumlah koin 3 sen : " << P3 << " keping" << endl;
}
else
{
cout << "Maaf, Data yang Anda input salah !";
}
}

Implementasi  algoritma                                                          Jika data yang di input kurang dari 8 misalnya 5
                                                                                                                Hasilnya               
 








Jika data yang di input lebih dari  8 dan kurang 100
Misalnya 80,Hasilnya
 







Jika data yang di input lebih dari 100
Misalnya 120,Hasilnya

 

7. Soal:
Titik A dan  titik B dihubungkan hanya oleh sebuah jalan yang panjangnya = 1000 m.  Ali  berangkat  dari  titik  A  menuju  titik  B                                      tepat  jam  08:00:00  pagi  dengan kecepatan tetap 5 m/detik. Tetapi 10 detik kemudian, kecepatannya naik 2m/detik menjadi   7m/detik.  Demikian  seterusnya,  setiap  10  detik  kecepatan  Ali  naik
2m/detik. Tepat pada jam yang sama (08:00:00) Badu berangkat dari titik B menuju titik A dengan kecepatan tetap 10 m/detik, tidak pernah berubah. Susun algoritma untuk  mencetak  berapa  detik  setelah  keberangkatan,  Ali  dan  Badu  bertemu, berpapasan dijalan. Catatan : satuan waktu terkecil adalah dalam detik.

Jawab:

Algoritma dalam bahasa C++
#include
void main ()
{
int jarak, det, ketemu, stat, V1, V2, T0, sb, TV1, bb, ta, stv;
jarak = 1000; V1 = 5;
V2 = 10; T0 = 10; sb = 0;
TV1 = V1+2;
bb = 0;
stv = jarak;
stat = 0;
ta = 0;
cout << "Jarak Antara Titik A dan Titik B     = " << jarak << "
meter" ;
cout << "\nKecepatan Awal Ali                     = " << V1                                                 << " m/dt";
cout << "\nKecepatan Ali Naik menjadi             = " << TV1                                                 << " m/dt";
cout << "\nKecepatan Awal Badu                   = " << V2                                                 << "
m/dt";
cout << "\nSelang Waktu Perubahan Ali             = " << T0                                                 << " detik \n";
for(det=1; ; det++)
{
if(ta <= jarak || stv >= 0)
{
if(ta <= jarak)
{
ta += V1;
}
if(stv >= 0)
{
stv -= V2;
}
if(ta >= stv && stat == 0)
{
ketemu = det;
stat = 1;
}
if(T0 != 0)
{
if(det % T0 == 0)
{
V1 += TV1;
}
}
if(sb != 0)
{
if(det % sb == 0)
{
V2 += bb;
}
}
}
else break;
}
cout << "\nJadi Pertemuan Ali dan Badu pada waktu ke :" <<
ketemu << " detik";
}



Implementasi  algoritma
 






















Output
 











8. Soal:
Sebuah kebun besar ditanami pohon bibit sebanyak n baris. Setiap baris terdiri dari n pohon, sehingga kebun besar ini dapat kita sebut ukurannya = n x n. Pohon- pohon  tersebut  kemudian  dicabut  dan  ditanam  ulang  menjadi  13  buah  kebun dengan ukuran lebih kecil yaitu setiap kebun kecil terdiri dari m baris dan setiap baris  terdiri  dari  m  pohon.  Setelah  terbentuk  13  kebun  kecil  ukuran  m  x  m, ternyata pada kebun besar masih tersisa 1 pohon. Susun program untuk mencetak berapa jumlah pohon semula yang ada di kebun besar.

Jawab:

Algoritma Dalam Bahasa C++

#include
#include
#include
#include
#pragma argsused
int main(int argc, char* argv[])
{
int a, b, n[400], m, index, status;
status = 0;
for(a=0; a<400 span="" style="letter-spacing: -.35pt;"> a++)
n[a] = a*a;
for(b=1; b<400 span="" style="letter-spacing: -.35pt;"> b++)
{
m = (b * b * 13) + 1;
printf("=> Untuk m = %d, maka jumlah pohon di kebun besar =
%d\n",abs(b),abs(m));
}
for(a=1; a<400 span="" style="letter-spacing: -.35pt;"> a++)
{
for(b=1; b<400 span="" style="letter-spacing: -.35pt;"> b++)
{
m = (b * b * 13) + 1;
if(m == n[a])
{
printf("=> m Pada kebun kecil         = %d \n",b); printf("=> n Pada kebun besar                  = %d \n",a); printf("=> Jumlah   pohon             di       kebun   besar    =   %d
\n",abs(n[a])); status = 1; break;
}
}
}
if(status == 0)
{
printf("Sampai  dengan  bilangan  ke  %d  tidak  ditemukan kombinasi yang cocok.",b);
}
getch();
return 0;
}







Implementasi  algoritma

 































Output

 























untuk lebih jelasnya silahkan download link ini.



Labels

 

Copyright 2018 All Rights Reserved @ Sistem Informasi|Fasilkom Unsri| Mkom Budi Luhur |