Wednesday, October 16, 2013

Penangan Insiden dan Freezing the Scene (Part 4)


Dalam tugas Penanganan Insiden dan Freezing the Scene, saya akan memberikan contoh kasus penggunaan IT forensik. Untuk pembahasan sebelumnya bisa dilihat disini :
Part 1 : Pengertian IT Forensik 
CONTOH KASUS PENGGUNAAN IT FORENSIK

Pada tanggal 29 September 2009, Polri akhirnya membedah isi laptop Noordin M. Top yang ditemukan dalam penggrebekan di Solo. Dalam temuan tersebut akhirnya terungkap video rekaman kedua ‘pengantin’ dalam ledakan bom di Mega Kuningan, Dani Dwi Permana dan Nana Ichwan Maulana.

Sekitar tiga minggu sebelum peledakan Dani Dwi Permana dan Nana Ichwan pada video tersebut setidaknya melakukan field tracking sebanyak dua kali ke lokasi JW. Marriot dan Ritz Carlton yang terletak di daerah elit dimana banyak Embassy disini, Mega Kuningan. Dalam melakukan survei tersebut Dani dan Nana didampingi oleh Syaifuddin Zuhri sebagai pemberi arahan dalam melakukan eksekusi bom bunuh diri.

Tampak dibelakang adalah target gedung Ritz Carlton.

“Dari digital evidences yang kita temukan, terungkap bahwa mereka sempat melakukan survei lebih dulu sebelum melakukan pengeboman,” kata Kadiv Humas Polri Irjen Nanan Sukarna, Selasa (29/9).

Tampak “Pengantin” bermain HP sambil duduk dihamparan rumput yang terletak diseberang Ritz Carlton Mega Kuningan.
Pada survei pertama, tanggal 21 Juni 2009 sekitar pukul 07.33, Dani dan Nana bersama Syaifuddin Zuhri memantau lokasi peledakan. Namun, mereka tidak masuk ke dalam Hotel JW Marriott dan Ritz-Carlton yang menjadi sasaran utama, ketiganya hanya berada di sekitar lapangan di sekitar lokasi tersebut. Nana dan Ichwan terlihat melakukan strecthing dan jogging di sekitar lokasi yang memang terhampar lapangan rumput yang seluas lapangan sepak bola.
Survei yang kedua dilakukan pada tanggal 28 Juni 2009 dan dilakukan sekitar pukul 17.40. Dani, Nana, dan Syaifuddin Zuhri kembali mendatangi lokasi yang sama untuk yang terakhir kalinya sebelum melakukan peledakan. Zuhri sempat terdengar mengatakan bahwa aksi tersebut dilakukan agar Amerika hancur, Australia hancur, dan Indonesia hancur.
Dari rekaman terakhir, juga diperdengarkan pembicaraan Syaifuddin Zuhri dengan Nana dan Ichwan. Zuhri sempat terdengar mengatakan bahwa aksi tersebut dilakukan agar Amerika hancur, Australia hancur, dan Indonesia hancur. “Dari ucapan Zuhri terungkap mereka masih mengincar Amerika dan Australia sebagai target operasi” ungkap Nanan.

Menurut Kepala Unit Cyber Crime Bareskrim Polri, Komisaris Besar Petrus Golose, dalam laptop Noordin ada tulisan milik Saefudin Jaelani (SJ) alias Saefudin Zuhri. Dari dokumen tulisan Saefudin Jaelani (SJ), polisi bisa mengetahui pembagian tugas dalam jaringan teroris Noordin M Top. “Kita adalah organisasi yang rapi, ada pimpinan, ada bendahara, ada yang ngurusi dana, cari orang alias provokasi, mengeluarkan fatwa, menjaga keluarga mujahid, cari bahan peledak, cari senjata, urusan politik, mengambil film rekaman, kurir, pencari mobil,” kata Petrus, menirukan isi tulisan Saefudin Jaelani (SJ).
Kata Petrus, peran-peran tersebut bukan rekaan polisi, tapi berdasarkan tulisan anggota jaringan teroris. Selain merinci peran anggota jaringan teror, dari tulisan Saefudin Jaelani (SJ) juga bisa diketahui mengapa kelompok teroris Noordin M Top beroperasi di Indonesia. Termasuk mengapa teroris mengincar Amerika dan Australia.
“Negara beserta sistem UU adalah kafir,” kata Petrus menirukan tulisanSaefudin Jaelani (SJ) . “Meneruskan dakwah di KBRI yang berujung pada sikap tak jelas dan kawan-kawan bermuamalah dengan toghut-toghut KBRI,” tambah Petrus, masih menirukan tulisan Saefudin Jaelani (SJ).
Menurut Petrus, sejak 2005 sampai saat ini,Saefudin Jaelani (SJ) punya posisi penting dalam jaringan Noordin. “Dia pimpinan strategis jaringan Al Qaeda Asia Tenggara,” tambah dia. Pria yang kerap disapa ‘Udin’ ini banyak terlibat dengan jaringan Al Qaeda.
Dalam pengeboman di Hotel JW Marriott dan Hotel Ritz Carlton 17 Juli 2009 lalu, Saefudin Jaelani (SJ) berperan sebagai pimpinan lapangan sekaligus perekrut pelaku bom, Dani Dwi Permana dan Nana Ikhwan Maulana. Saefudin Jaelani (SJ) kini masih dalam pengejaran Polri.
(Artikel : www.vivanews.com)


Sekian pembahasan saya. Untuk materi selanjutnya bisa dilihat disini :
Part 5 : Kaitan Contoh Kasus Penggunaan IT Forensik
»»  READMORE...

Tuesday, June 18, 2013

Game Prolog Hunting Emote

 

Pada tugas Pengantar Teknologi Game ini kelompok saya akan memberikan contoh game yang menggunakan AI (Artificial Intelligent). Disini kita menggunakan prolog untuk membuat game tersebut.

·         Rules
Untuk memainkan game ini, kita harus memiliki kompiler strawberry prolog terlebih dahulu. Ini dikarenakan penulis membuat aplikasi ini dengan strawberry prolog yang masih versi gratis, sehingga tidak dapat dibuat menjadi object code berbentuk executable.
Game ini menggunakan emote cool sebagai lawannya (AI) dan emote love struck sebagai pemain (user). Aturan-aturan yang digunakan untuk bermain permainan ini adalah pemain hanya bisa berjalan ke arah diagonal maju (ke atas), sehingga tidak diperkenankan untuk mundur (ke bawah). Tetapi jika kita sudah mencapai kotak lawan terjauh kita bisa mundur kebelakang untuk memakan emote lawan. Begitu juga dengan lawannya.
Untuk lebih jelas mengenai aturan bermainnya, brikut ini akan saya jelaskan secara terperinci:
1.      emot love struck bergerak pada kotak papan yang tidak ditempati.
2.      emot love struck bergerak secara diagonal satu langkah.
3.      emot love struck bisa bergerak secara diagonal ke belakang jika di bagian belakang terdapat emot cool.
4.      emot love struck bisa melompati lebih dari satu token lawan dengan bergerak diagonal dan  zig-zag dengan melakukan gerakan dua langkah pada arah yang sama jika terdapat kotak papan yang tidak ditempati pada jalur lompatan.
5.      emot cool berubah menjadi emot angry jika mencapai baris terjauh.
6.      Permainan di mulai dengan pemain hunter yang kemudian akan menghalangi pemain AI.

·         Goal (Tujuan)
Tujuan dari game ini adalah untuk memburu emote cool  AI dengan cara memakannya yaitu dengan melangkahkan emote cool AI dengan emot hunter secara diagonal pula. Kita bisa bergerak mundur jika bertujuan untuk memakan emote lawan. Namun untuk memakan bola emote lawan, syaratnya kita hanya bisa melangkahi 1 emote secara diagonal.
Semakin banyak memakan emote lawan (AI), maka akan menguntungkan pihak yang memakan. Dan apabila pemain berhasil menghabiskan emote lawan lebih dahulu, maka pemain hunter akan menang dan berhasil mengalahkan pemain AI.

1.      Win
Pemain dikatakan menang jika sudah memburu atau memakan paling banyak emote cool.

2.      Loser
Pemain dikatakan kalah jika emot love sruck sudah tidak ada lagi di papan permainan yang ada tinggal empat emot lawan. Satu emote cool dan tiga emot devil. Ada tiga emote devil karena emote cool sudah mencapai kotak terjauh lawan dan berubah menjadi emote devil.

·         Algoritma
Pada permainan hunting emote ini akan mengimplementasikan algoritma Minimax dalam permodelan AIAlgoritma Minimax(Minimax algorithm) digunakan untuk menentukan pilihan agar memperkecil kehilangan nilai maksimal. Algoritma ini dikembangkan berdasarkan teori game zero-sum yang mendeskripsikan situasi dimana jika pemain mengalami pendapatan, pemain lain akan mengalami kehilangan dengan nilai yang sama dari pendapatan tersebut, dan sebaliknya. Jumlah pendapatan dari pemain yang dikurangi dengan jumlah kehilangan akan berjumlah nol.
Teori minimax menyatakan untuk setiap dua orang pemain dalam permainan terdapat nilai V dari strategi yang dimiliki pemain seperti:
1.      Strategi yang ditentukan pemain hunter akan menghasilkan konsekuensi kemungkinan untuk pemain AI, V.
2.      Strategi yang ditentukan pemain AI akan menghasilkan konsekuensi kemungkinan untuk pemain Hunter, V.

Algoritma Minimax merupakan algoritma dasar pencarian Depth First Search (DFS) untuk melakukan traversal dalam pohon yang akan mengekspansi simpul paling dalam terlebih dahulu. Algoritma ini membangkitkan simpul pada tingkat selanjutnya setelah simpul akar dibangkitkan. Pencarian selesai jika tidak ada simpul yang belum dikunjungi dapat dicapai dari simpul yang telah dikunjungi.
Berdasarkan hal tersebut dapat diketahui bahwa algoritma ini terdapat dua peran, yaitu max dan min. Pembuatan pohon dimulai dari posisi awal hingga posisi akhir permainan, kemudian posisi akhir dievaluasi dari sudut pandang max. Setelah itu, node bagian dalam diisi dengan nilai yang telah dievaluasi dan node yang dimiliki max akan menerima nilai maksimum dari node anaknya. Node untuk min akan memilih  nilai minimum dari node anak.

Keterangan Gambar :
Nilai yang terdapat pada papan digunakan untuk pengambilan keputusan untuk AI dengan algoritma Minimax.


Implementasi Kode Program
Berikut ini adalah potongan kode program beserta fungsi dari kode program tersebut.

o   Kode program untuk pembuatan tampilan awal game

?-
  set(pos(w,[[m,1,0],[m,3,0],[m,5,0],[m,7,0],
              [m,0,1],[m,2,1],[m,4,1],[m,6,1],
              [m,1,2],[m,3,2],[m,5,2],[m,7,2]],
           [  [m,0,5],[m,2,5],[m,4,5],[m,6,5],
              [m,1,6],[m,3,6],[m,5,6],[m,7,6],
              [m,0,7],[m,2,7],[m,4,7],[m,6,7]])),
  G_Val is 50,
  G_Pawn_w is bitmap_image("../HUNTING/ris/pawn_w.bmp","../HUNTING/ris/maska.bmp"),
  G_Pawn_ws is bitmap_image("../HUNTING/ris/pawn_ws.bmp","../HUNTING/ris/maska.bmp"),
  G_Pawn_b is bitmap_image("../HUNTING/ris/pawn_b.bmp","../HUNTING/ris/maska.bmp"),
  G_King_w is bitmap_image("../HUNTING/ris/king_w.bmp","../HUNTING/ris/maska.bmp"),
  G_King_ws is bitmap_image("../HUNTING/ris/king_ws.bmp","../HUNTING/ris/maska.bmp"),
  G_King_b is bitmap_image("../HUNTING/ris/king_b.bmp","../HUNTING/ris/maska.bmp"),
  G_NoColor is brush(rgb(0,0,100)),
  G_Grey is brush(rgb(20,20,200)),
  pen(pen(0,rgb(0,0,0))),
  window(_,_,myFunc(_),"Hunting",80,30,492,531).

o   Kode program untuk menginisialisasi nilai – nilai yang digunakan

newGame:-    set(pos(w,[[m,1,0],[m,3,0],[m,5,0],[m,7,0],
              [m,0,1],[m,2,1],[m,4,1],[m,6,1],
              [m,1,2],[m,3,2],[m,5,2],[m,7,2]],
           [  [m,0,5],[m,2,5],[m,4,5],[m,6,5],
              [m,1,6],[m,3,6],[m,5,6],[m,7,6],
              [m,0,7],[m,2,7],[m,4,7],[m,6,7]])),
     G_Clicked:= 0,update_window(_),(G_P=1->play).
myFunc(init):-
G_H = 60,G_N = 8,G_P = 0,
G_Clicked = 0,G_K = m,
G_X = 1,G_Depth = 3,
G_Y = 1,

o   Kode program untuk membuat menu bar

menu(pop_up, _,_,myPopUpGame(_),"&start"),
menu(pop_up, G_Menu,_,level(_),"&Level"),
menu( right, _, _, menu_help(_), "&Help").
level(init):-
     menu(normal,_,_,l2(_),"&easy"),
     menu(checked,_,_,l3(_),"&medium"),
     menu(normal,_,_,l4(_),"&hard").
l2(press):-change_menu(2).
l3(press):-change_menu(3).
l4(press):-change_menu(4).
change_menu(M):-modify_menu(G_Menu,G_Depth- 1,normal,_),
                G_Depth:=M, modify_menu(G_Menu,M- 1,checked,_).

myPopUpGame(init):-
     menu(normal,_,_,newGame(_),"close this game"),
     menu(normal,_,_,swapSides(_),"New game - hunter start").
newGame(press) :-close_window(_).
swapSides(press):-G_P:= 0, newGame.
menu_help(press):-shell_execute("Checkers.html").

o   Kode program jika user mengklik bola bintang dan memindahkannya

myFunc(mouse_click(X,Y)):-X<G_H*G_N,Y<G_H*G_N,
X1 is X // G_H,Y1 is Y // G_H,move(X1,Y1),!,fail.

move(X,Y):- G_Clicked = 0,pos(C,B,W),
elem([K,X,Y],W),G_Clicked:=G_Clicked+1,draw_Pul(K,mm,X,Y),
     G_X:=X,G_Y:=Y,G_K:=K.
move(X,Y):- G_Clicked = 1,
     (pos(C,B,W),
     (elem([K,X,Y], W)->
      draw_Pul(G_K,w,G_X,G_Y),G_X:=X,G_Y:=Y,G_K:=K,draw_Pul(K,mm,X,Y);
     hodW(C,G_K,G_X,G_Y,X,Y,B,W));
     G_Clicked:=0, draw_Pul(G_K,w,G_X,G_Y)).
move(X,Y):- G_Clicked > 1,
     pos(C,B,W),
     take(G_K,G_X,G_Y,X,Y,B,W).

o   Kode program yang digunakan jika bola bintang bergerak satu langkah

step(k,X1,Y1,X2,Y2,B,W):-
     abs(Y2-Y1)=:=1,abs(X2-X1)=:=1,
     not(elem([_,X2,Y2],B)),not(elem([_,X2,Y2],W)),
     remove([k,X1,Y1],W,W1),
     addB([k,X2,Y2],W1,W2),
     set(pos(w,B,W2)),
     draw_Pul(k,w,X2,Y2),clear(X1,Y1),G_Clicked:=0,play.

step(m,X1,Y1,X2,Y2,B,W):-
Y2=:=Y1- 1,abs(X2-X1)=:=1,
not(elem([_,X2,Y2],B)),not(elem([_,X2,Y2],W)),
     remove([m,X1,Y1],W,W1),
     (Y2=0->addB([k,X2,Y2],W1,W2),draw_Pul(k,w,X2,Y2);
            addB([m,X2,Y2],W1,W2),draw_Pul(m,w,X2,Y2)),
     set(pos(w,B,W2)),
     clear(X1,Y1),G_Clicked:=0,play.

o   Kode program yang digunakan untuk melompati bola bintang dan menghilangkannya dari papan permainan

hodW(C,K,X1,Y1,X2,Y2,B,W):-
(take(K,X1,Y1,X2,Y2,B,W);can(W,B,W),draw_Pul(G_K,w,G_X,G_Y);step(K,X1,Y1,X2,Y2,B,W)).

t(X1,Y1,X2,Y2,B,W):-
     abs(X2-X1)=:=2,abs(Y2-Y1)=:=2,
     not(elem([_,X2,Y2],B)),not(elem([_,X2,Y2],W)),
     Y is (Y1+Y2)//2,X is (X1+X2)//2,elem([_,X,Y],B).

take(K,X1,Y1,X2,Y2,B,W):-t(X1,Y1,X2,Y2,B,W),
     Y is (Y1+Y2)//2,X is (X1+X2)//2,
     remove([_,X1,Y1],W,W1),
     (Y2=0->draw_Pul(k,w,X2,Y2),addB([k,X2,Y2],W1,W2);
            draw_Pul(K,w,X2,Y2),addB([K,X2,Y2],W1,W2)),
     remove([_,X,Y],B,B1),
     set(pos(w,B1,W2)),
     clear(X1,Y1),clear(X,Y),cantake(K,X2,Y2).


o   Kode program untuk melompati lebih dari satu bola bintang  jika mungkin

cantake(K,X,Y):-pos(C,B,W),Y1 is Y+2,Y2 is Y- 2,X1 is X+2,X2 is X- 2,
(in(X1,Y1),t(X,Y,X1,Y1,B,W),G_Clicked:=G_Clicked+1,draw_Pul(K,mm,X,Y),G_X := X,G_Y := Y,G_K:=K;
in(X1,Y2),t(X,Y,X1,Y2,B,W),G_Clicked:=G_Clicked+1,draw_Pul(K,mm,X,Y),G_X := X,G_Y := Y,G_K:=K;
in(X2,Y1),t(X,Y,X2,Y1,B,W),G_Clicked:=G_Clicked+1,draw_Pul(K,mm,X,Y),G_X := X,G_Y := Y,G_K:=K;
in(X2,Y2),t(X,Y,X2,Y2,B,W),G_Clicked:=G_Clicked+1,draw_Pul(K,mm,X,Y),G_X := X,G_Y := Y,G_K:=K).
cantake(K,X,Y):-G_Clicked := 0,play.


o    Kode program untuk mengetahui giliran

play:-pos(C,B,W),(isFinal(B,W,X),end(w);
     set_text("waiting!",_),
     winB(G_Depth,B,W,X),(X> -32000->update_window(_);end(d)),
(pos(C,B1,W1),(isFinal(B1,W1,X),end(b);isDrawW(B1,W1,X),end(d));
set_text("Your Turn,Lady / Sir",_))).

o   Kode program untuk menampilkan pemberitahuan jika kita menang atau kalah dan ingin bermain lagi atau tidak.

s(w,Y):-Y is " congratulation you a winner. ".
s(b,Y):-Y is " sorry you still loser. ".

end(X):-s(X,Y),
(yes_no("Game over",Y+"Play again?",!) -> G_P:=1-G_P,
newGame; (!,G_Clicked:= -1,fail)).
end(X).

»»  READMORE...