Friday, December 2, 2011

Cyber Crime

Pengertian Kejahatan Internet

Kejahatan Komputer adalah perbuatan melawan hukum yang dilakukan memakai komputer sebagai sarana/alat atau komputer sebagai objek, baik untuk memperoleh keuntungan ataupun tidak, dengan merugikan pihak lain.

Kejahatan komputer dapat dikategorikan sebagai kejahatan “White Colar Crime”, yang dalam beroperasi lebih banyak menggunakan pikiran atau otak. Definisi Cybercrime adalah sesuatu tindakan yang merugikan orang lain atau pihak-pihak tertentu yang dilakukan pada media digital atau dengan bantuan perangkat-perangkat digital.

Kejahatan yang berhubungan erat dengan penggunaan teknologi yang berbasis utama komputer dan jaringan telekomunikasi ini dalam beberapa literatur dan prakteknya dikelompokkan dalam beberapa bentuk, antara lain:

1. Illegal Access / Akses Tanpa Ijin ke Sistem Komputer
Dengan sengaja dan tanpa hak melakukan akses secara tidak sah terhadap seluruh atau sebagian sistem komputer, dengan maksud untuk mendapatkan data komputer atau maksud-maksud tidak baik lainnya, atau berkaitan dengan sistem komputer yang dihubungkan dengan sistem komputer lain. Hacking merupakan salah satu dari jenis kejahatan ini yang sangat sering terjadi.

2. Illegal Contents / Konten Tidak Sah
Merupakan kejahatan dengan memasukkan data atau informasi ke internet tentang sesuatu hal yang tidak benar, tidak etis, dan dapat dianggap melanggar hukum atau mengganggu ketertiban umum.

3. Data Forgery / Pemalsuan Data
Merupakan kejahatan dengan memalsukan data pada dokumen-dokumen penting yang tersimpan sebagai scriptless document melalui internet. Kejahatan ini biasanya ditujukan pada dokumen-dokumen e-commerce dengan membuat seolah-olah terjadi salah ketik yang pada akhirnya akan menguntungkan pelaku.

4. Spionase Cyber / Mata-mata
Merupakan kejahatan yang memanfaatkan jaringan internet untuk melakukan kegiatan mata-mata terhadap pihak lain, dengan memasuki sistem jaringan komputer (computer network system) pihak sasaran. Kejahatan ini biasanya ditujukan terhadap saingan bisnis yang dokumen ataupun data-data pentingnya tersimpan dalam suatu sistem yang computerized.

5. Data Theft / Mencuri Data
Kegiatan memperoleh data komputer secara tidak sah, baik untuk digunakan sendiri ataupun untuk diberikan kepada orang lain. Identity theft merupakan salah satu dari jenis kejahatan ini yang sering diikuti dengan kejahatan penipuan (fraud). Kejahatan ini juga sering diikuti dengan kejahatan data leakage.

6. Misuse of devices / Menyalahgunakan Peralatan Komputer
Dengan sengaja dan tanpa hak, memproduksi, menjual, berusaha memperoleh untuk digunakan, diimpor, diedarkan atau cara lain untuk kepentingan itu, peralatan, termasuk program komputer, password komputer, kode akses, atau data semacam itu, sehingga seluruh atau sebagian sistem komputer dapat diakses dengan tujuan digunakan untuk melakukan akses tidak sah, intersepsi tidak sah, mengganggu data atau sistem komputer, atau melakukan perbuatan-perbuatan melawan hukum lain.

Berikut ini adalah sejumlah jenis kejahatan via internet :

CARDING
Carding adalah berbelanja menggunakan nomor dan identitas kartu kredit orang lain, yang diperoleh secara ilegal, biasanya dengan mencuri data di internet. Sebutan pelakunya adalah Carder. Sebutan lain untuk kejahatan jenis ini adalah cyberfroud alias penipuan di dunia maya. Menurut riset Clear Commerce Inc, perusahaan teknologi informasi yang berbasis di Texas – AS , Indonesia memiliki carder terbanyak kedua di dunia setelah Ukrania. Sebanyak 20 persen transaksi melalui internet dari Indonesia adalah hasil carding.

Akibatnya, banyak situs belanja online yang memblokir IP atau internet protocol (alamat komputer internet) asal Indonesia. Kalau kita belanja online, formulir pembelian online shop tidak mencantumkan nama negara Indonesia. Artinya konsumen Indonesia tidak diperbolehkan belanja di situs itu.

Menurut pengamatan ICT Watch, lembaga yang mengamati dunia internet di Indonesia, para carder kini beroperasi semakin jauh, dengan melakukan penipuan melalui ruang-ruang chatting di mIRC. Caranya para carder menawarkan barang-barang seolah-olah hasil carding-nya dengan harga murah di channel. Misalnya, laptop dijual seharga Rp 1.000.000. Setelah ada yang berminat, carder meminta pembeli mengirim uang ke rekeningnya. Uang didapat, tapi barang tak pernah dikirimkan.

HACKING
Hacking adalah kegiatan menerobos program komputer milik orang/pihak lain. Hacker adalah orang yang gemar ngoprek komputer, memiliki keahlian membuat dan membaca program tertentu, dan terobsesi mengamati keamanan (security)-nya. Hacker memiliki wajah ganda; ada yang budiman ada yang pencoleng. Hacker Budiman memberi tahu kepada programer yang komputernya diterobos, akan adanya kelemahan-kelemahan pada program yang dibuat, sehingga bisa “bocor”, agar segera diperbaiki. Sedangkan, hacker pencoleng, menerobos program orang lain untuk merusak dan mencuri datanya.

CRACKING
Cracking adalah hacking untuk tujuan jahat. Sebutan untuk cracker adalah hacker bertopi hitam (black hat hacker). Berbeda dengan carder yang hanya mengintip kartu kredit, cracker mengintip simpanan para nasabah di berbagai bank atau pusat data sensitif lainnya untuk keuntungan diri sendiri. Meski sama-sama menerobos keamanan komputer orang lain, hacker lebih fokus pada prosesnya. Sedangkan cracker lebih fokus untuk menikmati hasilnya. Pekan lalu, FBI bekerja sama dengan polisi Belanda dan polisi Australia menangkap seorang cracker remaja yang telah menerobos 50 ribu komputer dan mengintip 1,3 juta rekening berbagai bank di dunia. Dengan aksinya, cracker bernama Owen Thor Walker itu telah meraup uang sebanyak Rp1,8 triliun. Cracker 18 tahun yang masih duduk di bangku SMA itu tertangkap setelah aktivitas kriminalnya di dunia maya diselidiki sejak 2006.

DEFACING
Defacing adalah kegiatan mengubah halaman situs/website pihak lain, seperti yang terjadi pada situs Menkominfo dan Partai Golkar, BI baru-baru ini dan situs KPU saat pemilu 2004 lalu. Tindakan deface ada yang semata-mata iseng, unjuk kebolehan, pamer kemampuan membuat program, tapi ada juga yang jahat, untuk mencuri data dan dijual kepada pihak lain.

PHISING
Phising adalah kegiatan memancing pemakai komputer di internet (user) agar mau memberikan informasi data diri pemakai (username) dan kata sandinya (password) pada suatu website yang sudah di-deface. Phising biasanya diarahkan kepada pengguna online banking. Isian data pemakai dan password yang vital yang telah dikirim akhirnya akan menjadi milik penjahat tersebut dan digunakan untuk belanja dengan kartu kredit atau uang rekening milik korbannya.

SPAMMING
Spamming adalah pengiriman berita atau iklan lewat surat elektronik (e-mail) yang tak dikehendaki. Spam sering disebut juga sebagai bulk email atau junk e-mail alias “sampah”. Meski demikian, banyak yang terkena dan menjadi korbannya. Yang paling banyak adalah pengiriman e-mail dapat hadiah, lotere, atau orang yang mengaku punya rekening di bank di Afrika atau Timur Tengah, minta bantuan netters untuk mencairkan, dengan janji bagi hasil.

Kemudian korban diminta nomor rekeningnya, dan mengirim uang/dana sebagai pemancing, tentunya dalam mata uang dolar AS, dan belakangan tak ada kabarnya lagi. Seorang rektor universitas swasta di Indonesia pernah diberitakan tertipu hingga Rp1 miliar dalam karena spaming seperti ini.

MALWARE
Malware adalah program komputer yang mencari kelemahan dari suatu software. Umumnya malware diciptakan untuk membobol atau merusak suatu software atau operating system. Malware terdiri dari berbagai macam, yaitu: virus, worm, trojan horse, adware, browser hijacker, dll. Di pasaran alat-alat komputer dan toko perangkat lunak (software) memang telah tersedia antispam dan anti virus, dan anti malware .

Meski demikian, bagi yang tak waspadai selalu ada yang kena. Karena pembuat virus dan malware umumnya terus kreatif dan produktif dalam membuat program untuk mengerjai korban-korbannya.

Faktor-Faktor Penyebab Cybercrime

Beberapa faktor yang menyebabkan kejahatan komputer kian marak dilakukan antara lain adalah:

  • Akses internet yang tidak terbatas.
  • Kelalaian pengguna komputer. Hal ini merupakan salah satu penyebab utama kejahatan komputer.
  • Mudah dilakukan dengan resiko keamanan yang kecil dan tidak diperlukan peralatan yang super modern. Walaupun kejahatan komputer mudah untuk dilakukan tetapi akan sangat sulit untuk melacaknya, sehingga ini mendorong para pelaku kejahatan untuk terus melakukan hal ini.
  • Para pelaku merupakan orang yang pada umumnya cerdas, mempunyai rasa ingin tahu yang besar, dan fanatik akan teknologi komputer. Pengetahuan pelaku kejahatan komputer tentang cara kerja sebuah komputer jauh diatas operator komputer.
  • Sistem keamanan jaringan yang lemah.
  • Kurangnya perhatian masyarakat. Masyarakat dan penegak hukum saat ini masih memberi perhatian yang sangat besar terhadap kejahatan konvesional. Pada kenyataannya para pelaku kejahatan komputer masih terus melakukan aksi kejahatannya
  • Belum adanya undang-undang atau hukum yang mengatur tentang kejahatan komputer.

Selain itu Celah atau lubang (hole) keamanan dapat juga ditemukan sebagai suatu akibat kompleksnya suatu system, dan dapat juga dibuat atau di tembus oleh para criminal atau cracker dengan keahlian yang dimili kinya. Para criminal selain mempunyai keahlian membongkar system keamanan juga dapat memperoleh informasi mengenai kelemahan system operasi dari internet sehingga memudahkan pekerjaan mereka.
National Institute of standard and technology (NIST) adalah sebuah divisi di bagian United States Department of Commerce, mengumpulkan beberapa kategori umum dari bentuk serangan terhadap computer yaitu :

  • Remote Penetration
  • Local Penetration
  • Remote Denial of Service (RDoS)
  • Local Denial of Service
  • Network Scanners
  • Vulnerability Scanners
  • Password Crackers
  • Sniffers

Remote Penetration adalah sebuah program berbasis internet yang berkemampuan untuk masuk mengendalikan suatu computer dengan cara tidak sah.

Local Penetration adalah program-program yang berkemampuan untuk mengakses dengan tidak sah suatu computer ketika programnya tersebut berjalan.

Remote Denial of Service adalah sebuah program yang berjalan pada internet atau sebuah jaringan, dapat men-shutdown suatu computer yang lain atau mematikan suatu layanan-layanan yang disediakan oleh computer tersebut.

Remote Denial of Service (RDoS) adalah jenis serangan terhadap sebuah komputer atau server di dalam jaringan internet dengan cara menghabiskan sumber (resource) yang dimiliki oleh komputer tersebut sampai komputer tersebut tidak dapat menjalankan fungsinya dengan benar sehingga secara tidak langsung mencegah pengguna lain untuk memperoleh akses layanan dari komputer yang diserang tersebut.

Local Denial of Service adalah program-program yang dapat men-shutdown suatu computer ketika suatu program lain berjalan. Sebuah penyerangan Local Denial of Service juga dapat mengakibatkan terputusnya koneksi sambungn system computer secara fisik.
Network Scanners adalah program-program yang mampu membuat pemetaan dari sebuah jaringan sehingga computer-komputer tersebut mudah diserang dan tersedia untuk di eksploitasi.

Vulnerability Scanners adalah program-program yang menggunakan internet untuk mencari computer-komputer lain yang mudah diserang dan ini adalah merupak tipe-tipe dari bentuk penyerangan.

Password Cracker adalah program-program yang mampu menemukan dengan mudah atau menerka suatu password walaupun file passwordnya telah dienkripsi.

Sniffers adalah program yang dapat digunakan untuk menyadap data dan informasi melalui jaringan computer. Ditangan seorang administrator, program sniffer sangat bermanfaat untuk mencari kesalahan (debugging) dijaringan atau untuk memantau adanya serangan.

Friday, November 25, 2011

Cara Memainkan Othello 12x12

Cara Bermain

Berikut ini adalah algoritma yang dipakai dalam permainan ini :

Memilih salah satu dari 144 kotak yang telah di sediakan, anda (player) atau lawan (computer) dapat memilih disisi lingkaran sesuai yang di inginkan.

1. Terdapat 144 kotak yang telah tersedia diisi secara bergantian antara player dan computer.

2. Dengan cara mengklik kiri pada mouse dan arahkan kursor kearah kotak jika salah satu pemain ingin berjalan.

3. Jika anda (player) main sebagai giliran pertama, maka pemain tersebut memilih kotak yang ingin diisi, kemudian giliran lawan (computer) yang memilih kotak yang diinginkan diisi, namun anda juga bisa membuat lawan(computer) untuk jalan terlebih dahulu pada menu yang telah di sediakan

4. Jika kotak yang telah disediakan telah habis atau penuh dan berhasil membuat bidak/pin berurut baik secara horizontal, vertikal dan diagonal dengan jumlah terbanyak diantara salaah satu pemain maka permainan berhenti dan berakhir.


KONSEP AI

Othello merupakan suatu permainan yang menggunakan konsep Artificial Intelligence atau kecerdasan buatan. Kecerdasan buatan atau yang sering disebut dengan AI pada game ini terletak pada komputer yang akan bertindak sebagai lawan. Komputer akan selalu berusaha mengalahkan user dengan cara menutup langkah pemain untuk membentuk sebuah garis, komputer dapat menyusun strateginya sendiri agar menjadi pemenang. Othello 12x12 disini menjelaskan tentang permainan dua buah benda lingkaran yang dibagi menjadi 2 warna dengan masing-masing pemain mempunyai warna yang berbeda yaitu warna putih yang akan digunakan oleh pemain (player) melawan computer yang menggunakan warna hitam. Adapun inti dari permainan ini ialah memenangkan perlawanan dari computer dengan menjadikan satu baris horizontal, vertikal dan diagonal berurut dengan pin/bidak yang sama sebanyak-banyaknya menurut warna kepemilikannya. Pada permainan ini terdapat 144 kotak yang terdiri dari 12 baris dan 12 kolom yang dapat diisi bergantian antara pemain (player) dengan lawan (computer) dengan cara meletakkan pin milik pemain (player) itu disamping pemain milik lawan (computer) yang berfungsi untuk menutupi ruang gerak milik lawan (computer).

Jika salah satu dari pemain memperoleh jumlah terbanyak dari pin yang dimiliki maka pemain itulah yang disebut dengan pemenang.

Othello merupakan suatu permainan yang menggunakan konsep Artificial Intelligence atau kecerdasan buatan. Kecerdasan buatan atau yang sering disebut dengan AI pada game ini terletak pada komputer yang akan bertindak sebagai lawan. Komputer akan selalu berusaha mengalahkan user dengan cara menutup langkah pemain untuk membentuk sebuah garis, komputer dapat menyusun strateginya sendiri agar menjadi pemenang.

Permainan Othello ini menggunakan sebuah algoritma untuk menemukan solusi yang paling optimal untuk memenangkan permainan, dalam hal ini kita menggunakan Algoritma Greedy, berikut penjelasan mengenai algoritma Greedy.

· Algoritma Greedy

Algoritma greedy merupakan metode yang paling populer untuk memecahkan masalah optimasi. Algoritma greedy membentuk solusi langkah per langkah.Pendekatan yang digunakan di dalam algoritma greedy adalah membuat pilihan yang tampak memberi perolehan terbaik, yaitu dengan membuat pilihan optimum local pada setiap langkah dengan harapan akan mengarah ke solusi optimum global.Prinsip algoritma greedy pada setiap langkah ialah mengambil pilihan terbaik yang dapat diperoleh saat itu tanpa memperhatikan konsekuensi ke depan, dan berharap bahwa dengan memilih optimum lokal pada setiap langkah akan menghasilkan optimum global pada akhir proses.



Wednesday, November 23, 2011

Membuat Game Othelo 12x12 di Strawberry Prolog

% This program is created by Rangga Nugraha
% from Gunadarma University

Deklarasi Windows Awal

?-
set(sit([[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,b,w,n,n,n,n,n],[n,n,n,n,n,w,b,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n]])),
pen(2,rgb(0,0,0)),
window(_,_,win_func(_),"Othello 12x12",100,50,720,750).

newGame:- set(sit([[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,b,w,n,n,n,n,n],[n,n,n,n,n,w,b,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n]])),set(sit([[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,b,w,n,n,n,n,n],[n,n,n,n,n,w,b,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n]])),
update_window(_).

win_func(init):-
G_Depth = 3,
G_Flag is 0,
G_Turn is 0,
G_Color is 0,

Deklarasi Menu

menu(pop_up, _, _, myPopUpGame(_), "&Game"),
menu(pop_up, G_Menu,_,level(_),"&Level"),
menu( right, _, _, menu_help(_), "&Help").

myPopUpGame(init):-
menu(normal,_,_,menu_new(_),"New Game"),
menu(pop_up,_,_,moveFirst(_),"Jalan Pertama"),
menu(normal,_,_,menu_exit(_),"Quit").
menu_new(press):-
newGame.
menu_exit(press):-
close_window(_).

menu_help(press):-
message("Help","Kalahkan Lawan dengan score tertinggi dengan cara memblok/menjepit bidak musuh. Putih=Player|COM=Hitam ",i).


Menu Logika AI/Player Jalan Pertama

moveFirst(init):-
menu(normal,_,_,player(_),"Pemain"),
menu(normal,_,_,computer(_),"Komputer").
computer(press):-
(G_Turn=0 -> G_Turn:=1 else G_Turn:=0),
(G_Flag=0 ->
newGame,
wait(1),
take3(Sit2,n,X2,Y2),
(G_Color=0 ->
insert(X2,Y2,b)
else
insert(X2,Y2,w)),
sit(Sit3),
not(Sit2=Sit3),
win_func(paint)).
player(press):-
newGame.

Menu Level AI/Tingkat Kesulitan

level(init):-
menu(normal,_,_,l2(_),"&Beginner"),
menu(checked,_,_,l3(_),"&Advanced"),
menu(normal,_,_,l4(_),"&Expert").
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,_).


Warna Board Papan

win_func(paint):-
brush(rgb(251,96,181)),
rect(50,50,650,650),
for(I,0,11),
X is I * 50 + 50,
line(X,50,X,650),
line(50,X,650,X),
fail.

Warna Musuh/ computer

win_func(paint):-
brush(rgb(0,0,0)),
sit(M),
for(J,0,11),
for(I,0,11),
take(M,Line,J),
take(Line,b,I),
X is I*50 + 55,
Y is J*50 + 55,
X1 is X + 40,
Y1 is Y + 40,
ellipse(X,Y,X1,Y1),
fail.

Warna Kita/ Player

win_func(paint):-
brush(rgb(250,250,250)),

Logika Menang/Kalah

sit(M),
N1 is count_successes(victory(w,M)),
N2 is count_successes(victory(b,M)),
text_out(0, 0, "You: "+print(N1)+", Computer: "+print(N2)),
(N1>N2, N1+N2=:=144 ->
ask1
else (N1=N2, N1+N2=:=144 ->
ask3
else (N1
ask2
))),
(N2=:=0 ->
ask1
else (N1=:=0->
ask3
)),

for(J,0,11),
for(I,0,11),
take(M,Line,J),
take(Line,w,I),
X is I*50 + 55,
Y is J*50 + 55,
X1 is X + 40,
Y1 is Y + 40,
ellipse(X,Y,X1,Y1),
fail.
win_func(paint).

Program AI Dalam Game Ini

win_func(mouse_click(X,Y)):-
X1 is (X - 40) // 50,
Y1 is (Y - 40) // 50,
X1 >= 0,
X1 =< 11,
Y1 >= 0,
Y1 =< 11,
sit(Sit1),
insert(X1,Y1,w),
sit(Sit2),
not(Sit1=Sit2),
win_func(paint),
wait(1),
take3(Sit2,n,X2,Y2),
insert(X2,Y2,b),
sit(Sit3),
not(Sit2=Sit3),
win_func(paint).

insert(X,Y,Who):-%trace,
sit(Sit),
take2(Sit,n,X,Y),
opposit(Who,NewWho),
for(WayX,-1,1),
for(WayY,-1,1),
sit(Sit2),
neighbour(NewWho,X,Y,Sit2,WayX,WayY),
jump(NewWho,X,Y,Sit2,WayX,WayY,NewX,NewY),
replace3(Result,Sit2,Who,X,Y,NewX,NewY,WayX,WayY),
set(sit(Result)),
fail.
insert(X,Y,Who).

neighbour(Who,X,Y,Sit,WayX,WayY):-
X1 is X+ WayX,
Y1 is Y+ WayY,
take2(Sit,Who,X1,Y1).

jump(Who,X,Y,Sit,WayX,WayY,X2,Y2):-
X1 is X+ WayX,
Y1 is Y+ WayY,
opposit(Who,NewWho),
neighbour(NewWho,X1,Y1,Sit,WayX,WayY),
X2 is X1+ WayX,
Y2 is Y1+ WayY.

jump(Who,X,Y,Sit,WayX,WayY,NewX,NewY):-
X1 is X+ WayX,
Y1 is Y+ WayY,
neighbour(Who,X1,Y1,Sit,WayX,WayY),
jump(Who,X1,Y1,Sit,WayX,WayY,NewX,NewY).

take3(Sit,El,0,0):-
take2(Sit,El,0,0).

take3(Sit,El,0,11):-
take2(Sit,El,0,11).

take3(Sit,El,11,0):-
take2(Sit,El,11,0).

take3(Sit,El,11,11):-
take2(Sit,El,11,11).

take3(Sit,El,1,1):-
take2(Sit,El,1,1).

take3(Sit,El,1,2):-
take2(Sit,El,1,2).

take3(Sit,El,1,3):-
take2(Sit,El,1,3).

take3(Sit,El,1,4):-
take2(Sit,El,1,5).

take3(Sit,El,4,1):-
take2(Sit,El,4,1).

take3(Sit,El,4,2):-
take2(Sit,El,4,2).

take3(Sit,El,4,3):-
take2(Sit,El,4,3).

take3(Sit,El,4,4):-
take2(Sit,El,4,4).

take3(Sit,El,2,1):-
take2(Sit,El,2,1).

take3(Sit,El,3,1):-
take2(Sit,El,3,1).

take3(Sit,El,2,4):-
take2(Sit,El,2,4).

take3(Sit,El,3,4):-
take2(Sit,El,3,4).

take3(Sit,El,2,0):-
take2(Sit,El,2,0).

take3(Sit,El,3,0):-
take2(Sit,El,3,0).

take3(Sit,El,5,2):-
take2(Sit,El,5,2).

take3(Sit,El,5,3):-
take2(Sit,El,5,3).

take3(Sit,El,2,5):-
take2(Sit,El,2,5).

take3(Sit,El,3,5):-
take2(Sit,El,3,5).

take3(Sit,El,X,Y):-
take2(Sit,El,X,Y).

take2(Sit,El,X,Y):-
take(Sit,Row,Y),
take(Row,El,X).

replace2(Result,Sit,El,X,Y):-
take(Sit,Line,Y),
replace(NewLine,Line,El,X),
replace(Result,Sit,NewLine,Y).

replace3(Result,Result,Who,X,Y,X,Y,WayX,WayY).
replace3(Result,Sit,Who,X,Y,ToX,ToY,WayX,WayY):-
replace2(ResultP,Sit,Who,X,Y),
X1 is X + WayX,
Y1 is Y + WayY,
replace3(Result,ResultP,Who,X1,Y1,ToX,ToY,WayX,WayY).

replace([New,B,C,D,E,F,G,H,K,L,M,N],[_,B,C,D,E,F,G,H,K,L,M,N],New,0).
replace([A,New,C,D,E,F,G,H,K,L,M,N],[A,_,C,D,E,F,G,H,K,L,M,N],New,1).
replace([A,B,New,D,E,F,G,H,K,L,M,N],[A,B,_,D,E,F,G,H,K,L,M,N],New,2).
replace([A,B,C,New,E,F,G,H,K,L,M,N],[A,B,C,_,E,F,G,H,K,L,M,N],New,3).
replace([A,B,C,D,New,F,G,H,K,L,M,N],[A,B,C,D,_,F,G,H,K,L,M,N],New,4).
replace([A,B,C,D,E,New,G,H,K,L,M,N],[A,B,C,D,E,_,G,H,K,L,M,N],New,5).
replace([A,B,C,D,E,F,New,H,K,L,M,N],[A,B,C,D,E,F,_,H,K,L,M,N],New,6).
replace([A,B,C,D,E,F,G,New,K,L,M,N],[A,B,C,D,E,F,G,_,K,L,M,N],New,7).
replace([A,B,C,D,E,F,G,H,New,L,M,N],[A,B,C,D,E,F,G,H,_,L,M,N],New,8).
replace([A,B,C,D,E,F,G,H,K,New,M,N],[A,B,C,D,E,F,G,H,K,_,M,N],New,9).
replace([A,B,C,D,E,F,G,H,K,L,New,N],[A,B,C,D,E,F,G,H,K,L,_,N],New,10).
replace([A,B,C,D,E,F,G,H,K,L,M,New],[A,B,C,D,E,F,G,H,K,L,M,_],New,11).

take([El,_,_,_,_,_,_,_,_,_,_,_],El,0).
take([_,El,_,_,_,_,_,_,_,_,_,_],El,1).
take([_,_,El,_,_,_,_,_,_,_,_,_],El,2).
take([_,_,_,El,_,_,_,_,_,_,_,_],El,3).
take([_,_,_,_,El,_,_,_,_,_,_,_],El,4).
take([_,_,_,_,_,El,_,_,_,_,_,_],El,5).
take([_,_,_,_,_,_,El,_,_,_,_,_],El,6).
take([_,_,_,_,_,_,_,El,_,_,_,_],El,7).
take([_,_,_,_,_,_,_,_,El,_,_,_],El,8).
take([_,_,_,_,_,_,_,_,_,El,_,_],El,9).
take([_,_,_,_,_,_,_,_,_,_,El,_],El,10).
take([_,_,_,_,_,_,_,_,_,_,_,El],El,11).

Syarat Menang/Kalah


victory(Who,[[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_,_,_,_,_]).
victory(Who,[[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_,_,_,_,_]).


victory(Who,[_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_,_,_,_]).
victory(Who,[_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_,_,_,_]).

victory(Who,[_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_,_,_]).
victory(Who,[_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_,_,_]).



victory(Who,[_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_,_]).
victory(Who,[_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_,_]).

victory(Who,[_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_,_]).
victory(Who,[_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_,_]).

victory(Who,[_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_,_]).
victory(Who,[_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_,_]).

victory(Who,[_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_,_]).
victory(Who,[_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_,_]).

victory(Who,[_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_,_]).
victory(Who,[_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_,_]).

victory(Who,[_,_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_,_]).
victory(Who,[_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_,_]).

victory(Who,[_,_,_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_,_]).
victory(Who,[_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_,_]).

victory(Who,[_,_,_,_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_],_]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who],_]).

victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[Who,_,_,_,_,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,Who,_,_,_,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,Who,_,_,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,Who,_,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,Who,_,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,Who,_,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,Who,_,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,Who,_,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,Who,_,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,Who,_,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,Who,_]]).
victory(Who,[_,_,_,_,_,_,_,_,_,_,_,[_,_,_,_,_,_,_,_,_,_,_,Who]]).


new_game:-
set(sit([[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,b,w,n,n,n,n,n],[n,n,n,n,n,w,b,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n],[n,n,n,n,n,n,n,n,n,n,n,n]])),
pen(2,rgb(0,0,0)),
update_window(_).

ask1:-
yes_no("Game over","You are the winner."+"Play again?",!) -> new_game; (!,close_window(_)).

ask2:-
yes_no("Game over","You lost this time."+"Play again?",!) -> new_game; (!,close_window(_)).

ask3:-
yes_no("Game over","This game is equal."+"Play again?",!) -> new_game; (!,close_window(_)).

opposit(b,w).
opposit(w,b).

Friday, October 28, 2011

Topologi Network

Jenis-Jenis Topologi pada Sistem Networking

Topologi Jaringan Komputer
Topologi adalah suatu cara menghubungkan komputer yang satu
dengan komputer lainnya sehingga membentuk jaringan. Masing-masing
topologi ini mempunyai ciri khas, dengan kelebihan dan kekurangannya.

  • Topologi Bus
Layout ini termasuk layout umum. Satu kabel utama
menghubungkan tiap simpul ke saluran tunggal komputer yang
mengaksesnya ujung dengan ujung. Masing-masing simpul dihubungkan ke
dua simpul lainnya, kecuali komputer di salah satu ujung kabel, yang
masing-masing hanya terhubung ke satu simpul lainnya. Topologi ini
seringkali dijumpai pada sistem client/server, di mana salah satu komputer
pada jaringan tersebut difungsikan sebagai file server, yang berarti bahwa
komputer tersebut dikhususkan hanya untuk pendistribusian data dan
biasanya tidak digunakan untuk pemrosesan informasi. Dengan kata lain,
pada topologi jenis ini semua terminal terhubung ke jalur komunikasi.
Informasi yang akan dikirim akan melewati semua terminal pada jalur
tersebut. Jika alamat yang tercantum dalam data atau informasi yang
dikirim sesuai dengan alamat terminal yang dilewati, maka data atau
informasi tersebut akan diterima dan diproses. Jika alamat tersebut tidak
sesuai, maka informasi tersebut akan diabaikan oleh terminal yang dilewati.

  • Topologi Ring
Topologi ini mirip dengan topologi Bus, tetapi kedua terminal yang
berada di ujung saling dihubungkan, sehingga menyerupai seperti lingkaran.
Setiap informasi yang diperoleh diperiksa alamatnya oleh terminal yang
dilewatinya. Jika bukan untuknya, informasi dilewatkan sampai
menemukan alamat yang benar. Setiap terminal dalam jaringan saling
tergantung, sehingga jika ada kerusakan pada satu terminal maka seluruh
jaringan akan terganggu.

  • Topologi Star
Dalam topologi Star, sebuah terminal pusat bertindak sebagai
pengatur dan pengendali semua komunikasi data yang terjadi.
Terminal-terminal lain terhubung padanya dan pengiriman data dari satu
terminal ke terminal lainnya melalui terminal pusat. Terminal pusat
menyediakan jalur komunikasi khusus untuk dua terminal yang akan
berkomunikasi. Dengan kata lain semua kontrol dipusatkan pada satu
komputer yang dinamakan stasiun primer dan komputer lainnya dinamakan
stasiun sekunder. Setelah hubungan jaringan dimulai, setiap stasiun
sekunder dapat sewaktu-waktu menggunakan hubungan jaringan tersebut
tanpa menunggu perintah dari stasiun primer.

Tuesday, October 11, 2011

Pengertian Jaringan LAN,MAN,WAN

Pengertian Jaringan

Jaringan komputer (computer network) yang di sebut secara singkat dengan nama “jaringan” adalah kumpulan komputer dan alat-alat lain yang saling dihubungkan bersama menggunakan media komunikasi tertentu. Informasi yang melintas sepanjang media komunikasi, memungkinkan pengguna jaringan untuk saling bertukar data atau menggunakan perangkat lunak maupun perangkat keras secara berbagi (share). masing-masing komputer atau alat-alat lain yang dihubungkan pada jaringan disebut node. jaringan dapat terdiri dari puluhan, ratusan hingga ribuan node.

Komputer dalam jaringan dapat saling berhubungan melalui kabel, jaringan telepon, gelombang radio, satelit maupun sinar infra red. Ada 3 tipe jaringan dalam hubungannya dengan luas area tertentu yaitu :

- LAN (Local Area Network)
- MAN (Metropolitan Area Network)
- WAN (Wide Area Network)


Local Area Network (LAN)

LAN adalah suatu jaringan yang terbatas pada daerah yang relatif kecil. LAN biasanya terbatas pada daerah geografis tertentu, seperti laboratorium, sekolahan, kantor atau gedung. meskipun demikian perancangan LAN tidak cukup mudah, karena LAN dapat berisi sampai puluhan bahkan sampai ratusan komputer yang harus dapat di gunakan oleh ribuan pengguna.
Dalam konfigurasi LAN tertentu suatu komputer dirancang sebagai server. Server menjalankan semua perangkat lunak yang di gunakan untuk mengendalikan jaringan, serta menyimpan perangkat lunak yang dapat di pakai bersama oleh komputer-komputer yang dihubungkan pada jaringan. Server biasanya merupakan komputer yang mempunyai spesifikasi perangkat hardware yang tinggi dan mempunyai alat penyimpanan (storage) yang berkapasitas besar.
Semua komputer yang terhubung ke server pada jaringan tersebut disebut dengan nama workstation.

Metropolitan Area Network (MAN)
Suatu MAN meliputi area geografi yang lebih luas, seperti area satu kecamatan, suatu kota dll. Dengan interkoneksi jaringan dalam area geografis yang luas, informasi dapat di sebarkan melalui jaringan dengan mudah. Contoh kasus : dengan MAN suatu komputer cabang dapat berhubungan dengan komputer server yang ada pada kantor pusat melalui media penghubung(kabel koaxial ataupun tanpa kabel).

Wide Area Network (WAN)
Suatu WAN meliputi area geografi yang lebih luas lagi, yang meliputi suatu negara atau dunia. Umumnya jaringan di tempatkan pada banyak lokasi yang berbeda. WAN digunakan untuk menghubungkan banyak LAN yang secara geografis terpisah. WAN dibuat dengan cara menghubungkan LAN menggunakan layanan leased lines, dial-up, satelit atau lainya. WAN mungkin merupakan jaringan sederhana dengan hanya menyediakan modem dan server, sehingga user dapat melakukan dial-up, tetapi WAN juga mungkin merupakan jaringan komplek yang menghubungkan ratusan LAN yang ada pada lokasi berbeda.

sekian dulu pembahasan dari saya mengenai jaringan.

Wednesday, October 5, 2011

Pengenalan HTML


Pengenalan HTML

Apa yang dimkasud dengan file HTML?

- HTML merupakan kependekan dari Hyper Text markup Language

- Sebuah file HTML merupakan sebuah file teks yang berisi tag-tag markup

- Tag markup memberitahukan browser bagaimana harus menampilkan sebuah halaman

- File HTML harus memiliki ekstensi htm atau html

- File HTML dapat dibuat menggunakan editor teks yang biasa kamu pakai.


Pengen Nyoba Bikin?
Mulailah dengan membuka Notepad (di Windows XP bagi yang belum pernah klik Start, Program, Accessories, Notepad).
Ketikkan teks berikut:

Judul Halaman

Simpan dengan nama “halamanku.htm” (jangan lupa tambahkan tanda kutip ganda pada nama filenya. Kalau lupa maka nama filenya akan menggunakan ekstensi default .txt sehingga menjadi halamanku.htm.txt).

Buka Browser kamu (misalnya internet explorer). Kilk File, Open, Browse dan pilih cari file halamanku.htm yang tadi kamu bikin. Klik OK, dan browser akan menampilkan halaman yang tadi kamu buat.

Gampang kan? Atau masih bingung? Ok, kita akan melihat penjelasan dari contoh di atas.
Setiap tag diapit oleh tanda lebih kecil dan lebih besar. Kamu bisa melihat bahwa tag pertama adalah . Tag HTML pada umumnya selalu memiliki pasangan yang memiliki tag sama dengan sedikit tambahan tanda garis miring “/”, dan kamu bisa melihat pasangan tag di akhir script yaitu .

Tag memberitahu browser bahwa inilah awal dari dokumen HTML. Tag pasangannya yaitu menyatakan bahwa inilah akhir dari dokumen HTML.

Teks di antara dan adalah teks informasi header. Informasi header ini tidak ditampilkan pada jendela browser.

Dan terakhir, teks di antara dan akan ditampilkan dalam huruf tebal.

Nah, dengan penjelasan ini kamu mustinya udah mulai manggut-manggut dan merasa, ko ternyata belajar HTML gampang gini yah :). Mudah-mudahan.

Sekarang kita akan lihat mengenai ekstensionnya. Sebagaimana sudah disampaikan di awal, kita bisa membuat file HTML dengan 2 ekstension yaitu .htm dan .html. Nah ekstension .htm ditujukan untuk operating sistem jaman dulu yang hanya mensupport ekstensi 3 huruf. Sedangkan ekstensi .html akan lebih aman digunakan jika OS dan aplikasinya support karena lebih jelas menunjukkan bahwa ini adalah file HTML.

Sebagai catatan, setiap kamu melakukan perubahan pada file HTML kamu, maka kamu harus me refresh browser untuk melihat perubahan tampilannya.


adalah judul dokumen kamu. Judul ini akan ditampilkan di caption browser (lihat di bagian paling atas kanan dari browser kamu).</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Teks di antara tag <body> adalah teks yang akan ditampilkan pada jendela browser kamu.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Dan terakhir, teks di antara <b> dan </b> akan ditampilkan dalam huruf tebal.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Nah, dengan penjelasan ini kamu mustinya udah mulai manggut-manggut dan merasa, ko ternyata belajar HTML gampang gini yah :). Mudah-mudahan.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Sekarang kita akan lihat mengenai ekstensionnya. Sebagaimana sudah disampaikan di awal, kita bisa membuat file HTML dengan 2 ekstension yaitu .htm dan .html. Nah ekstension .htm ditujukan untuk operating sistem jaman dulu yang hanya mensupport ekstensi 3 huruf. Sedangkan ekstensi .html akan lebih aman digunakan jika OS dan aplikasinya support karena lebih jelas menunjukkan bahwa ini adalah file HTML.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Sebagai catatan, setiap kamu melakukan perubahan pada file HTML kamu, maka kamu harus me refresh browser untuk melihat perubahan tampilannya.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Ok, tutorial belajar HTML sesi perkenalan cukup</p></span><b><font class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; background-color: rgb(255, 255, 255); "><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><title> adalah judul dokumen kamu. Judul ini akan ditampilkan di caption browser (lihat di bagian paling atas kanan dari browser kamu).</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Teks di antara tag <body> adalah teks yang akan ditampilkan pada jendela browser kamu.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Dan terakhir, teks di antara <b> dan </b> akan ditampilkan dalam huruf tebal.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Nah, dengan penjelasan ini kamu mustinya udah mulai manggut-manggut dan merasa, ko ternyata belajar HTML gampang gini yah :). Mudah-mudahan.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Sekarang kita akan lihat mengenai ekstensionnya. Sebagaimana sudah disampaikan di awal, kita bisa membuat file HTML dengan 2 ekstension yaitu .htm dan .html. Nah ekstension .htm ditujukan untuk operating sistem jaman dulu yang hanya mensupport ekstensi 3 huruf. Sedangkan ekstensi .html akan lebih aman digunakan jika OS dan aplikasinya support karena lebih jelas menunjukkan bahwa ini adalah file HTML.</p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">Sebagai catatan, setiap kamu melakukan perubahan pada file HTML kamu, maka kamu harus me refresh browser untuk melihat perubahan tampilannya.</p></span></b>

Sunday, June 26, 2011

Tutorial Membuat Website

Tujuan Membuat Website

Dalam pembuatan website, hendaknya kita mengetahui, apa yang akan menjadi tujuan kita setelah membuat website, sehingga kita dapat mghitung proporsi apa yang harus ada di dalam web tersebut. Sesuai dengan kebutuhan, biasanya orang melihat web dari domainnya, yaitu com (komersial), edu (pendidikan), gov (non militer), mil (militer), net (jaringan), org (organisasi lain), int (organisasi internasional). Sehingga dalam pembuatan website, orang lain dapat mengetahui, apa yang ada dilama website kita.


Pembuatan Website

Kemudian, dalam proses pembuatan, kita membutuhkan :

Hosting

Tempat dimana kita meletakkan file-file website Anda di sebuah server yang terhubung dengan jaringan internet, agar website kita bisa ditampilkan, maka file-file website perlu kita simpan di sebuah server hosting. Hosting ada yang berbayar dan ada yang gratis, dalam hosting yang berbayar, biasanya terdapat volume data yang besar dengan bandwith yang cukup banyak, namun pada hosting gratis, biasanya hanya menyediakan sedikit volume dan bandwith yang sedikit.

Domain


Nama atau alamat dari sebuah website. Di Internet, setiap orang harus mengetikkan sebuah nama domain untuk bisa membuka dan membaca isi dari sebuah website. Dalam hal ini, peranan pemilihan nama domain cukup penting untuk membedakan website kita dengan website orang lain.

Software pembuat website

Aplikasi yang dibutuhkan untuk membuat tampilan website dan fitur yang dapat kita sediakan di dalam website.

Adapun langkah – langkah dari ketiga hal yang tersebut perlu kita jalani sebelum membuat web,

- Cari hosting yang tersedia di internet baik berbayar maupun gratis.
- Kemudian kita harus mendaftar untuk menjadi bagian dari hosting tersebut
- Pilih domain yang kita inginkan sesusai kebutuhan dan buatlah alamat website anda sesusai dengan nama yang diinginkan. Contoh : http://jualan-hardware.com (komersial)
- Setelah kita mendapatkan username dan password untuk keperluan login pada hosting, simpan data tersebut jangan sampai hilang.
- Setelah memiliki domain dan telah terdaftar pada hosting, lankgh selanjutnya adalah membuat desain website dengan software yang kita gunakan, contoh : microsoft front page, namo web editor, dreamweaver, DLL.
- Setelah membuat desain website, kita dapat mencoba website tersebut apakah sudah layak online dengan cara menjalankan pada sistem offline atau utliti preview pada aplikasi.
- Kemudian, data website yang telah disimpan, tempatkan pada folder / direktori yang sesusai dengan tempat datanya, contoh : data gambar pada direktori “gambar”, DLL.
- Kemudian login pada hosting, pada c-panel, kita diwajibkan membuat mysql demi keperluan database pada hosting.
- Upload file dengan menggunakan ftp (file transfer protocol) yang disediakan.
- Setelah selesai upload, kemudian anda coba masukkan alamat website anda, apakah sudah berhasil atau belum. Jika sudah, makan selesai sudah pembuatan website anda, selanjutnya anda tinggal mengelola web tersebut dengan keperluan anda.

Sekian dan Terimakasih