Setelah cracker berhasil mengidentifikasi komponen jaringan yang lemah dan bisa di taklukan, maka cracker akan menjalan program untuk menaklukan program daemon yang lemah di server. Program daemon adalah program di server yang biasanya berjalan di belakang layar (sebagai daemon / setan). Keberhasilan menaklukan program daemon ini akan memungkinkan seorang Cracker untuk memperoleh akses sebagai 'root' (administrator tertinggi di server).
Untuk menghilangkan jejak, seorang cracker biasanya melakukan operasi pembersihan 'clean-up' operation dengan cara membersihkan berbagai log file. Dan menambahkan program untuk masuk dari pintu belakang 'backdooring'. Mengganti file .rhosts di /usr/bin untuk memudahkan akses ke mesin yang di taklukan melalui rsh & csh.
Selanjutnya seorang cracker dapat menggunakan mesin yang sudah ditaklukan untuk kepentingannya sendiri, misalnya mengambil informasi sensitif yang seharusnya tidak dibacanya; mengcracking mesin lain dengan melompat dari mesin yang di taklukan; memasang sniffer untuk melihat / mencatat berbagai trafik / komunikasi yang lewat; bahkan bisa mematikan sistem / jaringan dengan cara menjalankan perintah 'rm -rf / &'. Yang terakhir akan sangat fatal akibatnya karena sistem akan hancur sama sekali, terutama jika semua software di letakan di harddisk. Proses re-install seluruh sistem harus di lakukan, akan memusingkan jika hal ini dilakukan di mesin-mesin yang menjalankan misi kritis.
Oleh karena itu semua mesin & router yang menjalankan misi kritis sebaiknya selalu di periksa keamanannya & di patch oleh software yang lebih baru. Backup menjadi penting sekali terutama pada mesin-mesin yang menjalankan misi kritis supaya terselamatkan dari ulah cracker yang men-disable sistem dengan 'rm -rf / &'.
Bagi kita yang sehari-hari bergelut di Internet biasanya justru akan sangat menghargai keberadaan para hacker (bukan Cracker). Karena berkat para hacker-lah Internet ada dan dapat kita nikmati seperti sekarang ini, bahkan terus di perbaiki untuk menjadi sistem yang lebih baik lagi. Berbagai kelemahan sistem di perbaiki karena kepandaian rekan-rekan hacker yang sering kali mengerjakan perbaikan tsb. secara sukarela karena hobby-nya. Apalagi seringkali hasil hacking-nya di sebarkan secara cuma-cuma di Internet untuk keperluan masyarakat Internet. Sebuah nilai & budaya gotong royong yang mulia justru tumbuh di dunia maya Internet yang biasanya terkesan futuristik dan jauh dari rasa sosial.
Pengembangan para hobbiest hacker ini menjadi penting sekali untuk keberlangsungan / survival dotcommers di wahana Internet Indonesia. Sebagai salah satu bentuk nyatanya, dalam waktu dekat Insya Allah sekitar pertengahan April 2001 akan di adakan hacking competition di Internet untuk membobol sebuah server yang telah di tentukan terlebih dahulu. Hacking competition tersebut di motori oleh anak-anak muda di Kelompok Pengguna Linux Indonesia (KPLI) Semarang yang digerakan oleh anak muda seperti Kresno Aji (masaji@telkom.net), Agus Hartanto (hartx@writeme.com) & Lekso Budi Handoko (handoko@riset.dinus.ac.id). Seperti umumnya anak-anak muda lainnya, mereka umumnya bermodal cekak - bantuan & sponsor tentunya akan sangat bermanfaat dan dinantikan oleh rekan-rekan muda ini.
Mudah-mudahan semua ini akan menambah semangat pembaca, khususnya pembaca muda, untuk bergerak di dunia hacker yang mengasyikan dan menantang. Kalau kata Captain Jean Luc Picard di Film Startrek Next Generation, "To boldly go where no one has gone before".
sumber:
www.google.com
"belajar menjadi hacker"
hecker pemula2
hecker pemula
*ini merupakan artikel lama mengenai salah satu cara umum yang dilakukan untuk hacking. (artikel ini jg di mirror oleh Negative a.k.a Jim Geovedi di sini). Langkah dibawah ini merupakan cara ’standar’, hacking sebenarnya tidak harus selalu sesuai dengan ’standar’ ini.
Hacking buat pemula
- by aCh
Artikel ini ditujukan bagi pemula, dan disusun oleh pemula. Ditulis untuk pengetahuan semata. Untuk temen2 yg udah ahli, sok aja dilewat, tapi dibaca juga gpp….
Apa sebenarnya hacking itu? klo menurut pengertian gue, hacking adalah ngoprek. Yup, hacking adalah ngoprek, mempelajari sesuatu dengan keingintahuan (curiosity) yg tinggi, ngutak atik sesuatu, ‘ngudek-ngudek’ sampai ke ‘jeroannya’. Sesuatunya apa dong? ya terserah… bisa komputer, mobil, motor, mesin. Tapi masalahnya ada ngga ya hacker mobil, hacker motor, atau hacker pesawat terbang?? hehe… Walaupun saat ini hacking identik dengan ‘bobol-membobol’, tapi gue kurang setuju klo cuman bobol server orang doang!. Ada yang bilang ‘Hacking is Art’, trus dimana letak seninya dong? Mau tau pengertian hacking sebenarnya, coba baca artikel sebelumnya (How to Become A Hacker). Di situ dijelasin bahwa hacker berkaitan dengan kemahiran teknis serta kegemaran menyelesaikan masalah dan mengatasi keterbatasan. Contoh hacker pada saat ini yang sering-sering disebut adalah Linus Torvald (tau ngga? itu lho yang menciptakan Linux). Apa dia tukang bobol? belum tentu kan….
Pada artikel ini, gue pengen membagi pengalaman mengenai Hacking, walaupun sampai saat ini gue belum pernah nge-Hack ke server orang. Salah satu cara untuk mencoba simulasi Hack yaitu H3cky0uRs3lf! Buat komputer kita sebagai server (sekaligus belajar konfigurasi server) trus install program yg dibutuhkan. Misalnya klo mo Web Hacking, coba install Apache atau IIS. Atau kita sesuaikan dengan exploit yang udah kita dapet. Tapi lebih baik install Linux atau FreeBSD dulu di komputer pribadi, trus konfigurasi sebagai server, lalu simulasi Hack, setelah itu baru Hack Betulan… Apalagi klo di kost ada jaringan.
Pro dan Kontra Hacking
| | Pro | Kontra |
| Etika Hacking | Semua informasi adalah free | Jika semua informasi adalah free, maka tidak ada ladi privacy |
| Aspek Security | Intrusion adalah ilustrasi kelemahan sistem | Tidak perlu menjadi pencuri untuk menunjukkan pintu yang tidak terkunci |
| Idle Machines | Hacking hanya pada idle machines | idle machines milik siapa ? |
| science education | hanya membobol tapi tidak merusak | “hacker wannabe” berpotensi sangat besar untuk merusak |
Okeh, sekarang waktunya melakukan aksi…
1. Fase Persiapan
~ Mengumpulkan informasi sebanyak-banyaknya
- Secara Aktif : - portscanning
- network mapping
- OS Detection
- application fingerprinting
Semua itu bisa dilakukan menggunakan toolz tambahan seperti nmap atau netcat
- Secara Pasif : - mailing-list (jasakom, newbie_hacker, hackelink, dsb)
- via internet registries (informasi domain, IP Addres)
- Website yang menjadi terget
2. Fase Eksekusi
~ Setelah mendapatkan informasi, biasanya akan didapatkan informasi mengenai OS yg digunakan, serta port yang terbuka dengan daemon yg sedang berjalan. Selanjutnya mencari informasi mengenai vulnerability holes (celah kelemahan suatu program) dan dimanfaatkan menggunakan exploit (packetstromsecurity.org, milw0rm, milis bugtraq, atau mencari lewat #IRC).
~ Mengekspolitasi Vulnerability Holes
- compile eksploit -> local host ->
$gcc -o exploit exploit.c
$./exploit
# hostname (# tanda mendapatkan akses root)
remote host -> $gcc -o exploit exploit.c
$./exploit -t www.target.com
# (klo beruntung mendapatkan akes root)
~ Brute Force
- Secara berulang melakukan percobaan otentifikasi.
- Menebak username dan password.
- Cracking password file
~ Social Engineering
- Memperdayai user untuk memeberi tahu Username dan password
- Intinya ngibulin user….
3. Fase Setelah Eksekusi
~ Menginstall backdoor, trojans, dan rootkit
~ Menghapus jejak dengan memodifikasi file log agar tidak dicurigai admin
~ Menyalin /etc/passwd atau /etc/shadow/passwd
Nah, intinya seh cara masuk ke server seseorang seperti fase diatas. Mencari informasi, temukan exploit, dan tinggalkan backdoor. Cuma masalahnya hacking bukanlah segampang cara-cara diatas. Itu hanyalah teori, banyak hal yang harus diperhatikan jika ingin mempraketekkan hacking ke server seseorang. Jangan sekali-kali mencoba2 hacking ke server orang tanpa memperhatikan anonimitas (apalagi klo connectnya lewat komputer pribadi tanpa menggunakan proxy). Ntar klo ketahuan bisa repot. Saran gue, cobalah pada mesin localhost dulu (komuter pribadi), klo terhubung ke LAN lebih bagus. Sediakan server yang khusus buat dioprek. Kalaupun pun ga terhubung ke jaringan, kita masih bisa menggunakan Virtual Machine menggunakan VMWare seperti yang nanti akan dibahas pada bagian 3!
Referensi :
-Hacking and Defense, Jim Geovedi, negative@magnesium.net
-Network Defense, Jim Geovedi, negative@magnesium.net
petuah
petuah gt loch
| |||||
| ||||||||||||
| |
| ||
| jon to or Senior Member Join Date: Oct 2003 Location: otrokojom Posts: 919 | Sedikit tambahan diingatkan dari old pal o' mine: Soal pilihan bahasa pemrograman, di samping soal teknis, bisa atau tidak dalam melakukan sesuatu tugas (grafik/performance), juga ada hal lain. Memilih bahasa pemrograman bukan hanya masalah sintaks, atau baris perintah, tapi juga pola berpikir, konsep memrogram. Seperti banyak orang mengambil konsep Object-Oriented (OO) karena lebih mudah dalam memodel simulasi dunia yang kompleks. Kenapa banyak orang content dengan C/C++? Karena banyak orang merasa nyaman dengan kemampuannya (dan akal2an teknisnya) untuk menerjemahkan konsep-konsep pemrograman yang benar terutama hubungannya dengan OO. Belum ditambah performance dan library-library yang tersedia dalam bahasa ini. Ngga heran kan... Buat yang ingin menggunakan OO dengan rasa lain, mungkin lebih sederhana/simpel, bisa mencoba bahasa2 lain seperti Java atau Delphi (gunakan secara OO). Yang penting bisa mengakomodasi kebutuhan untuk membuat game dan sesuai pertimbangan topik 2, game for fun. Bila mereka yang lebih terbiasa dengan bahasa prosedural juga bisa memilih bahasa-bahasa lain, atau kalau di C++ itu adalah C. Demikian, pilihan bahasa pemorgraman tergantung dari poin-poin di atas plus kemampuannya dalam menerjemahkan konsep ke code. Hal ini terutama dalam arsitektur kompleks yang nampak ruwet dalam tahap ini. __________________ \m/ | |
pelajaran array
pelajaran array
| In the last lesson we saw how to create simple variables and store user input in them. Now we will look into arrays. An array is simply a list of variables of the same type. Lets say your program required you to keep track of 100 integers, in which case you would have to create 100 integers by typing up each one, one by one... Needless to say that would take quite a while, but with arrays you can cut the typing down to one single line! Lets see how it works: |
#include |
| Here we have the same sample program from the previous lesson, except I replaced the three integers with a single array made up of three integers. "int myArray[3];" creates an array of three integers. Each integer inside this array will have a corresponding number, starting at 0. So in this case the three integers are myArray[0], myArray[1], and myArray[2]. Since 0 counts, there is not myArray[3]! Everything else is exactly the same. You can also use arrays to store a string of text by creating an array of characters. Here you would make the array the max size of characters you want plus one, since strings must end the null character (null mean nothing, not 0, just nothing). We will look more into strings in a latter lesson though. |
| |
| 2D arrays work just like normal arrays except they have two numbers per variable. In order to declare one you would add an extra pair of brackets (int my2dArray[3][3]). Here is a graphical representation of a 2D array: |
XXX |
| These will come in handy when you are programming graphics and animations, lets see an example program: |
#include |
| Ignore the for loops for now, we will look into those in the loops lesson. This program simply assigns a value to each element in myArray and then displays each one. As you can see there is not much difference between using normal arrays and 2d arrays. |
| |
FUNGTION
| Functions are used to define a block of code, unlike the loops we discussed earlier, functions can be called from any place in your program so that you do not have to repeat the same code over and over again. Here is a basic function at work: |
#include |
| Here we create a function called addNumbers, which returns an integer. main() collects the data from the user and then sends it to addNumbers(), notice how I declared the integers in both main() and addNumbers. This is because the ones in main() are local variables which cannot be touched by other functions. The parameters for addNumbers() does not have to be the same as the variables containing the values being sent to addNumbers(). Once addNumbers() is called, it takes the values given to it by main() and returns the sum of them to the function that called it, which in this case is main(). Also notice how addNumbers() goes before main(). If you flip them around it will error out. If a function is being called by a function that apears before it in your source file, it must be declared at before it is called. Here is an example of this: |
#include |
ANIMATION
| |
| If you just finished reading the lessons listed before this one, you should check Tic-Tac-Toe in the "Example Games" section just to be sure you really understand whats going on. Now lets look more into making an object move across the screen. Here is some example code: |
#include |
| Most of the code should look familliar aside from the new header file and the rand() function. cstdlib contains the rand() function which is used to generate random numbers. In this case, it is used to change the direction of the circle. Lets break down the code. main() get Allegro ready for action and then goes into a while loop which doesnt stop until the player presses ESC. moveCircle() will add or subtract to x and y depending on the direction the circle is going in (which is stored in dir). If the circle has hit the top, bottom, or side of the screen, it will change direction. dir = rand() % 4 +1; gives dir a random value between 1 and 4. rand() % 4 would return a random number between 0 and 3 ( 1 - 4) so we add 1 so we get a number between 1 and 4. If you wanted a number between 3 and 4 the code would be rand() % 2 + 3, since rand() % 2 would return either 0 or 1 so we would have to add 3. There will be more on the rand() function later. Afterwards, a black circle is drawn in order to cover up the old one, and then a green circle is drawn in the new position. Fairly simple isn't it? But there is one problem with the example, which is the flickering! Needless to say a flickering video game would be quite annoying... Lets fix this. |
| |
| The answer to all the flickering? Double buffering. What this means is that instead of drawing straight to the screen, we will draw to a temporary bitmap and then have one call to a function which will draw it to the screen. Since this will reduce the amount of times the screen is being accessed, the animation should run smoother. Here is how its done: |
#include |
| There you have it, the flickering is no more! Here we create a bitmap called buffer and using create_bitmap() we make it the same size as the screen. After this, anywhere you would have normally used screen, use buffer instead ( circlefill ( buffer, tempX, tempY, 20, makecol( 0, 0, 0)); ). Once everything has been drawn, copy the buffer onto the screen and there you have it! |
| |
KALKULATOR SEDERHANA
cara buat kalkulator
Tampilannya seperti ini Bos..
Gambar 1.0: Form awal
Lalu ubah jadi kayak gini
Tunjukkan semua
Gambar: 2.0: Form yg telah di permak
(Tau kan cara buat form kayak gitu???)
Ni caranya kalo kalian lupa/ga tw.
Klik text1, trus di properti kalian hapus properti text, lakuin perlakuan yg sama ama text2 dan 3.
Trus cara ngrubah Command1 adalah pada properti Caption kalian hapus trus ganti pake tanda +, lakuin langkah yang sama untuk Command2 dan Command3.
Udah jadi kan kayak form di gambar 2.0
.
Oke kita lanjut ke penulisan code.
Klik 2 x pada Command1, dan ketik code di bawah ini di antara
Private Sub Command1_Click() dan End Sub
Kayak ini bos..
Private Sub Command1_Click()
hasil = Val(Text1) + Val(Text2)
Text3 = hasil
End Sub
Nah selesai deh untuk penjumlahan, kalian bisa coba jalankan program dan masukin angka di text1 dan text2 lalu tekan Command1. Benerkan hasilnya ??!!
Lakuin hal yang serupa pada Command2, klik 2 x trus kita hanya perlu mengubah tanda + menjadi * pada code programnya.
Kayak gini
Private Sub Command2_Click()
hasil = Val(Text1) * Val(Text2)
Text3 = hasil
End Sub
(Gampang kan, buat program ini gak susah kok)
Pada Command3 kita juga rubah tanda + menjadi -, beres deh..
Kayak gini
Private Sub Command3_Click()
hasil = Val(Text1) - Val(Text2)
Text3 = hasil
End Sub
FUZZY
PendahuluanDalam perjalanan perkembangan suatu generasi teknologi menjadi lebih mantap dan berdaya guna tinggi, membutuhkan adanya pengembangan dasar pengetahuan dan dilakukannya berbagai macam riset atau penelitian yang bersifat eksperimental. Penelitian atau riset ini akan memberikan jawaban terhadap pertanyaan mendasar seperti : teori-teori apa saja yang masih secara praktis masih relevan untuk kemudian dikembangkan atau teori mana saja yang sama sekali tidak bisa digunakan lagi? Teori yang bermanfaat adalah teori yang dianggap mampu menjembatani penggabungan pengendali fuzzy dengan sistem kendali konvensional atau algoritma kendali modern seperti jaringan neural, algoritma genetik, dan lain sebagainya.Pada generasi pertama teknologi fuzzy, terdapat beberapa kendala yang ditemui untuk mengembangkan pada industri-industri atau sistem kendali yang telah ada. Saat itu belum ada metodologi yang sistematik tentang aplikasi pengendali fuzzy, penentuan rancang bangun yang tepat, analisa permasalahan, dan bagaimana pengaruh perubahan parameter sistem terhadap kualitas unjuk kerja sistem. Jadi tidak bisa diharapkan suatu rancang bangun yang universal dan strategi optimasi fuzzy dapat segera digunakan secara praktis. Saat ini logika fuzzy telah berhasil menerobos kendala-kendala yang dulu pernah ditemui dan segera menjadi basis teknologi tinggi. Penerapan teori logika ini dianggap mampu menciptakan sebuah revolusi dalam teknologi. Sebagai contoh, mulai tahun 90-an para manufaktur industri yang bergerak di bidang Distributed Control System (DCSs), Programmable Controllers (PLCs), dan Microcontrollers (MCUs) telah menyatukan sistem logika fuzzy pada barang produksi mereka dan memiliki prospek ekonomi yang baik. Sebuah perusahaan mikroprosesor terkemuka, Motorolla, dalam sebuah jurnal teknologi, pernah menyatakan "… bahwa logika fuzzy pada masa-masa mendatang akan memainkan peranan penting pada sistem kendali dijital "(1). Pada saat yang bersamaan, pertumbuhan yang luar biasa terjadi pada industri perangkat lunak yangmenawarkan kemudahan penggunaan logika fuzzy dan penerapannya pada setiap aspek kehidupan sehari-hari. Perusahaan Jerman Siemens yang bergerak diberbagai bidang teknik seperti otomatisasi industri, pembangkit tenaga, semikonduktor, jaringan komunikasi publik dan pribadi, otomotif dan sistem transportasi, sistem audio dan video, dan lain sebagainya, beberapa tahun belakangan ini telah membentuk kelompok riset khusus tentang fuzzy. Tujuannya untuk melakukan penelitian dan pengembangan yang sistematik tentang logika fuzzy pada setiap aspek teknologi (4). Ada dua alasan utama yang mendasari pengembangan teknologi berbasis sistem fuzzy:
Kendali Perkembangan Teknologi Sistem FuzzyKeberhasilan penerapan teknologi fuzzy seperti yang telah dibeberkan pada bagian pembahasan sebelumnya, dapat direalisasikan jika terdapat penelitian dan strategi pengembangan riset dan desain oleh sebuah industri untuk menemukan teknik terbaik untuk produknya. Hal tersebut tentunya tidak terlepas dari kesulitan-kesulitan yang ditemui dalam menggunakan dan pengembangan teknologi ini. Secara garis besar beberapa kesulitan yang ditemui oleh industri-industri elektronika adalah sebagai berikut (4):
Perusahaan elektrik Omron selain menjual produknya, kini mereka juga tengah mengembangkan metode pendidikan dan pelatihan teknik logika fuzzy. Asisten manajer Omron FA System Div..Jim Krill berkatta," …, Educating potential customers about the benefits of fuzzy logic and where it can be applied is impotant for proper development of this technology." Jadi cara terbaik untuk mencapai teknologi ini menurutnya adalah melalui program pelatihan, seminar, dan pemakaian piranti lunak simulasi sistem fuzzy yang efektif (1). Hingga kini software pengembangan logika fuzzy sudah tidak terhitung banyaknya, mulai dari simulasi sistem yang sederhana hingga seistem yang sangat kompleks dan rumit. Masing-masing menawarkan berbagai kelebihan dan kemudahan pemakaian seperti : User friendly editor, sistem on-line dan off-line debugging, compilers untuk setiap bahasa pemrograman termasuk bahasa rakitan mikrokontroler, tampilan 3D dan berbagai macam proyek simulasi yang bisa dilakukan (4). Kendali Fuzzy, Klasifikasi Fuzzy, dan Diagnosis FuzzyAplikasi yang menggunakan logika fuzzy, selalu identik dengan pengendalian fuzzy. Walaupun sebenarnya aplikasi itu tergolong dalam klasifikasi fuzzy atau diagnosis fuzzy. Kejadian ini bukanlah masalah yang dominan dan pelik dalam sistem fuzzy, karena istilah "fuzzy" sebenarnya sudah kabur dan sering disamakan dengan istilah-istilah yang ada pada teori himpunan fuzzy, topologi fuzzy, atau dalam pengertian yang lebih sempit lagi sering disebut sebagai approximate reasoning dalam logika keputusan. Dengan cara pandang yang sama sistem kendali fuzzy sering sekali dinyatakan sebagai bagian teori himpunan fuzzy yang digunakan pada aplikasi-aplikasi dalam bentuk sistem lingkar tertutup. Namun tujuan utama tulisan ini adalah membedakan antara sistem kendali fuzzy dengan sistem klasifikasi fuzzy dan sistem diagnosis fuzzy. Pada ruang lingkup yang lebih luas lagi, masih ada sistem lainnya yang cukup sukses digunakan seperti sistem pakar fuzzy, sistem analisa data fuzzy, sistem pengolahan citra fuzzy, dan berbagai ragam aplikasi sistem fuzzy yang sudah ada.Pada dasarnya penggunaan istilah klasifikasi dan diagnosis bukanlah merupakan penamaan yang baku, karena keduanya mempunyai pengertian atau makna yang hampir sama dan batas-batas perbedaannya juga tidak begitu jelas. Namun yang teramat penting adalah kedua istilah tadi menunjukkan perbedaan antara kedua sistem aplikasi berbasis logika fuzzy. Sistem fuzzy secara umum dapat dilihat pada Gambar 1. Pada gambar tersebut terdapat blok proses, sistem fuzzy, dan sistem pengembangan (development system). Pihak developer diletakkan paling atas pada gambar ini. Selain itu, terdapat dua operator, yaitu seorang yang bertanggung jawab atas masukan untuk sistem fuzzy dan keluaran dari proses, dan seorang lagi bertugas mambawa masukan ke dalam proses dan menentukan keluaran dari sistem fuzzy. Operator ini sebenarnya tidak mesti seorang operator manusia, biasanya sistem fuzzy atau non-fuzzy yang berfungsi mengantarkan masukan atau keluaran sinyal proses. Dari gambar ini dapat diturunkan beberapa sistem sistem fuzzy, seperti pengendali fuzzy, klasifikator fuzzy, dan sistem pendiagnosaan fuzzy. Contoh dari sistem klasifikasi fuzzy adalah mesin cuci fuzzy. Beberapa variabel/parameter mesin cuci ditentukan berdasarkan jumlah dan jenis pakaian. Keluaran atau informasi dari sistem klasifikasi ini digunakan untuk menentukan jenis spin-dry serta lembut atau kasar gesekan pakaian yang optimal. Contoh ke dua dari sistem fuzzy ini adalah sistem transmisi otomatik fuzzy. Sistem ini menggunakan beberapa sensor yang ditaruh pada sistem ABS, sistem power steering, sistem kendali motor, dan bagian penting lainnya. Selama kendaraan berjalan, sistem ini akan terus memantau dan menilai kondisi mobil tersebut, seperti beban kendaraan, kondisi mobil pada saat melewati jalan yang menanjak atau menurun dan kondisi-kondisi lainnya. Pada Gambar 3, gambar operator manusia pada kiri dan kanan sistem klasifikasi fuzzy, biasanya merupakan suatu sistem khusus yang bertugas memberikan informasi yang diperlukan untuk kemudian di proses. Bidang aplikasi sistem diagnosis ini biasanya suatu proses yang besar dan kompleks, sehingga sangat sulit dianalisa menggunakan algoritma eksak dan dimodelkan dengan model matematika biasa. Pada permulaan persiapan sistem, jumlah aturan yang digunakan ini biasanya sangat banyak. Namun pada tahap akhir, jumlah aturan akan lebih sedikit dan mudah dibaca. Ini merupakan sifat sistem pakar fuzzy, seperti yang dikatakan oleh Prof. Zadeh, bahwa sistem pakar fuzzy akan menggunakan aturan-aturan yang lebih sedikit dibandingkan sistem pakar konvensional sehingga mudah dibaca dan membantu menghindarkan inkonsistensi dan inkomplit sistem pengendali (4). Contoh dari sistem pakar fuzzy ini adalah proyek diagnosa kebocoran-H2 pada sistem pendingin high-performance generator. Salah satu contoh aturan sistem diagnostik ini adalah : "Jika konsumsi H2 tinggi dan daya yang tersedia rendah dan suhu gas rendah dan tekanan H2 generator tidak rendah/menurun, maka tingkatkan konsumsi H2 (untuk menurunkan temperatur)" Yang perlu diperhatikan pada sistem diagnostik ini adalah, tidak berlakunya proses defuzzifikasi, karena sistem ini hanya menghasilkan sifat keluaran berupa aproksimasi linguistik yang merupakan suatu pernyataan atau jawaban yang mudah dipahami oleh operator. KesimpulanTeknologi sistem fuzzy telah berkembang cukup jauh, dan memberikan berbagai keuntungan dan perbaikan unjuk kerja pada sistem kendali yang pernah ada. Perkembangan sistem ini menuntut mutu sumber daya manusia yang berpendidikan, seperti ilmuwan dan enjineer yang ahli di bidang teknik sistem fuzzy dan tidak lepas dari kondisi pendidikan dan kelengkapan alat-alat yang mendukung pengembangan teknologi ini.Di bidang aplikasi fuzzy, tidak hanya terdapat sistem kendali fuzzy, melainkan juga ada klasifikasi fuzzy dan diagnosis fuzzy. Jadi sistem fuzzy pada keadaan riil, mempunyai ragam metode dan strategi pengembangan yang dapat diterapkan pada masalah-masalah kendali saat ini. Sumber Pustaka
|
tak berjudul
Kami MBB,sudah ckup menderita...FIGHT TO FREEDOM!!!!
MBB MOX IT

jontor@live.com
| Banyak filosofi yang dapat diambil dari sebuah game. Misalnya, bagaimana mengatur strategi ataupun mengambil keputusan. Namun yang utama adalah kesenangan dan keasyikan yang dihadirkannya. Bosan dengan game yang itu-itu saja? Tertarik membuat game sendiri? Kalau iya, janganlah Anda langsung berkeinginan untuk membuat yang canggih dan rumit. Game-game yang berkembang saat ini, yang begitu menarik, menantang, dan canggih seperti Quake, Everquest, ataupun Starcraft, pembuatannya didukung oleh biaya jutaan US$. Riset dan ujicoba berkali-kali pun telah mereka lakukan demi kesempurnaan. Para penciptanya pun adalah para pembuat games yang sangat berpengalaman. Namun, bukankah langkah besar bermula dari langkah kecil? Artinya, untuk dapat menciptakan sebuah game yang canggih, rumit, menantang dan menarik, diperlukan pembelajaran melalui pengalaman. Mulai dari membuat game yang sederhana hingga rumit. Jadi, bila Anda tertarik membuat game sendiri dan menjadi game developer, mulailah dari yang sederhana. Contoh game yang dapat di buat dengan mudah dan sederhana sebagai permulaan untuk belajar adalah Tetris. Kenapa? Karena Tetris berisikan semua elemen yang dapat ditemukan dalam setiap game. Karena mudah dan sederhananya, Tetris yang Anda buat dapat sama bagusnya dengan versi komersil. Tetris memiliki semua komponen individual. Ia juga mempunyai game loop (proses pengulangan hingga game tamat). Game loop ini akan membaca input, memproses input, memperbarui elemen game, dan memastikan kondisi kalah atau menang. Mempelajari proses dan mengimplementasikan tahapan pada pembuatan Tetris sangatlah penting. Sebab di setiap game yang nantinya akan Anda buat, tahapan tersebut selalu menjadi dasarnya. Dan, itu akan memberikan pengertian mendalam tentang tingkat kesukaran dan berapa lama waktu yang dibutuhkan untuk membuat game. Sebaliknya, tanpa melakukannya, paling tidak sekali, Anda tidak akan memahami setiap elemennya. Namun setelah game “mirip” Tetris yang Anda buat itu selesai, sebaiknya jangan dinamakan “Tetris”, karena Tetris adalah merek dagang yang telah dimiliki oleh Alexey Pajitnov. Setelah selesai dengan versi Tetris, Anda bisa mencoba membuat game Breakout. Hampir sama dengan Tetris, tetapi game yang dimainkan dengan memantulkan bola ke blok ini menambahkan pendeteksian tubrukan yang lebih canggih. Anda juga perlu memasukan perhitungan ilmu fisika sederhana tentang pantulan bola. Layout level yang dimainkan menjadi hal penting dalam game Breakout ini. Agar memiliki lebih dari satu level, Anda harus menyimpan peta-petanya. Ini akan membantu saat mengatasi masalah yang akan ditemukan selanjutnya. Karena sudah tahu cara menyimpan dan mengisi sumber serta mengubah level. Lantas, setelah menyelesaikan masterpiece Breakout, Anda bisa belajar membuat game Pac-Man. Membuat game ini merupakan langkah evolusioner karena Anda akan mempelajari elemen musuh yang punya kemampuan Artificial Intelligent (AI). Anda mungkin tidak menyadari jika dalam permainan Pac-Man yang asli, keempat musuh, yang berupa hantu, masing-masingnya memiliki tujuan berbeda untuk mengalahkan Anda bersama secara tim. Hantu pertama berperan sebagai penyerang yang akan mencari jalan tersingkat mendekati Anda, sehingga memaksa Anda menghindarinya. Hantu kedua bertugas mencegat di jalur terdekat dari jalan menghindar Anda. Hantu ketiga juga punya tugas mencegat di tengah labirin dan berusaha mencegah Anda menggunakan terowongan di sisinya. Sementara hantu keempat hanya berkeliling tanpa arah di sekitar tempat berakhirnya permainan, mencegah Anda menang. AI yang rinci seperti ini memang terlalu canggih bagi game developer pemula. Dan ini akan memberikan tantangan dalam membuat game pertama dengan musuh AI. Pac-Man juga meningkatkan kompleksitas peta, dan menambah fleksibilitas yang baik untuk menggunakan suara di mana suara juga menjadi elemen penting dalam kesuksesan Pac-Man. Game berikut yang bisa dijadikan pelajaran adalah side scroller seperti game Super Mario Brothers. Dalam game ini Anda dapat beraksi dengan beragam paltform. Anda bisa menembak, merunduk, dan berinteraksi dengan musuh. Game ini juga sudah ditambahkan nilai seni. Anda bisa menambahkan seni ini dengan memanfaatkan SpriteLib secara gratis dan mudah yang bisa didapatkan pada: http://www.arifeldman.com/free/spritelib.html Side scroller memungkinkan penambahan kompleksitas musuh AI yang polanya harus Anda pelajari untuk bisa mengalahkannya. Selain itu, game ini telah ditambahkan kompleksitas layar (screen). Sehingga, Anda perlu membuat screen yang punya kemampuan scrolling sedikitnya dua arah dan sekaligus menangani potongan-potongan screen-nya. Ini akan memberi pengetahuan Anda soal kurva. Dibanding game-game sebelumnya, game ini menciptakan musuh lebih banyak. Sehingga Anda diharuskan menyimpan track atau rekaman hasil game (hidup/mati/ aktif/tak aktif) yang dinyatakan pada screen. Kompleksitas level dan penyimpanan peta/karakter otomatis akan bertambah pula. Tentunya, pada tahap ini Anda harus membuat sebuah level editor. Level editor harus memiliki kemampuan menempatkan tiles (kotak kecil), bergeser (scrolling) melalui tiles, bergeser melampaui peta, memilih tiles untuk dijadikan sikat, memotong dan menempel, undo (mengulang langkah), dan menempatkan musuh. Bila Anda melewati tahapan penulisan ini, Anda akan kecewa dengan hasilnya nanti. Anda juga akan kesusahan saat mendesain level dan saat menyisipkan nilai seni. Perlu juga dibuat back up peta yang tersimpan sebelumnya untuk keamanan versi yang telah dilalui. Hingga akhirnya, bagaimana menentukan kondisi menang side scroller yang sesungguhnya. Ketika Anda berada pada akhir permainan side scroller, Anda berarti telah pergi ke suatu tempat. Jadi Anda bisa menambahkan sebuah kisah untuk menandai selesainya game. Jangan lupa menampilkan gambar semacam kembang api atau sesuatu yang menggambarkan nuansa kemenangan pada layar, sehingga pemain merasakan kepuasan kemenangan. Selesai mempelajari dan mendalami di atas, bisa dibilang Anda telah memahami dasar-dasar membuat game. Selanjutnya, terserah Anda. Kalau bersungguh-sungguh Anda bisa menjadi game developer profesional. Atau, bisa mengikuti lomba membuat game yang belakangan ini marak diselenggarakan oleh vendor. Selamat belajar! WWW.RGPMAKER.COM | |










