Senin, 15 Juni 2015

Tugas T1 : Sampul, Kata pengantar, Bab 1 dan Bab 2



Kata Pengantar

Puji dan syukur Penulis panjatkan kepada Allah SWT yang telah memberikan nikmat serta karunia-Nya sehingga Penulis dapat menyelesaikan penulisan buku ini dengan baik. Judul penulisan buku yang dibuat adalah “Pengenalan Game Engine Turublenz”. Tujuan dari pembuatan penulisan buku ini yaitu sebagai buku petunjuk untuk pengguna software game engine Turbulenz terutama bagi pengguna yang masih dalam tingkat pemula agar lebih tertarik dan terbantu dalam penggunaan software game engine Turbulenz.

Penulis menyadari bahwa tanpa adanya bimbingan dan dukungan penuh dari semua pihak, maka penulisan buku ini tidak akan berjalan dengan lancar. Oleh karena itu, pada kesempatan ini penulis meminta izin untuk menyampaikan ucapan terima kasih kepada bapak Dr. rer. nat. I Made Wiryana, SKom, SSi, MAppSc., selaku dosen matakuliah softskill pengantar teknologi game yang telah memberikan pengarahan dan bimibingan dalam pembuatan penulisan buku ini.

Serta semua pihak yang telah banyak membantu terwujudnya penulisan buku ini. Akhir kata semoga penulisan buku ini dapat memberikan manfaat bagi semua pihak yang bersangkutan, bagi Penulis pada khususnya dan bagi para pembaca pada umumnya.

Depok, 12 Juni 2015

Penulis


.

BAB I
PENDAHULUAN

1.1 Latar Belakang Masalah

.

Teknologi komputer dewasa ini sudah sangat berkembang pesat diberbagai bidang, baik ilmu pengetahuan, pekerjaan, seni, dll. Pemanfaatan teknologi inidirasakan tidak hanya oleh orang dewasa, melainkan juga anak-anak. Pekerjaanmanusia yang dikerjakan sendiri oleh manusia (manual) sudah banyak digantikanoleh komputer. Dengan begitu semua dapat dikerjakan lebih mudah, praktis dan hemat waktu.

Game engine Turbulenz merupakan game engine berbasis web yang bersifat open source sehingga penggunanya dapat bebas menggunakan game engnie tersebut sesuai dengan kebutuhan. Dengan sifatnya open source masih sangat disayangkan karena penggunaanya masih banyak belum diketahui loleh banyak orang.

Oleh sebab itu penulis ingin membuat buku “Pengenalan Game Engine Turbulenz” yang dapat menarik minat pembaca dan membantu pengguna game engine Turbulenz agar dapat menggunakannya.

1.2 Rumusan Masalah

.

Rumusan masalah dalam buku ini terdiri dari hal - hal seperti berikut :

• Apakah sebenarnya game engine Turbulenz itu?

• Bagaimana langkah pertama yang harus dilakukan untuk menggunakan game engine Turbulenz

1.3 Batasan Masalah

.

Batasan masalah dalam penulisan buku ini meliputi hal - hal sebagai berikut :

1. Pengenalan game engine turbulenz

2. Instalasi game engine Turbulenz

3. Penggunaan dasar game engine Turbulenz bagi pemula

1.4 Tujuan Masalah

.

Tujuan dari permasalahan yang ada dalam buku ini adalah:

• Untuk menarik minat pembaca tentang game engine Turbulenz.

• Untuk membantu pengguna game engine Turbulenz dalam penggunaanya.

1.5 Metode Penelitian

.

Metode yang kami gunakan adalah deskriptif, kajian pustaka dilakukan dengan mencari literature di internet dan dokumen panduan game engine Turbulenz.

1.6 Sistematika Penulisan

.

Dalam Penulisan buku ini untuk mempermudah pemahaman pembaca, penulis membuat sistematika penulisan sebagai berikut :

Bab 1 : Pendahuluan

Dalam bab ini diuraikan latar belakang masalah, batasan masalah, metode penelitian, selanjutnya tujuan penulisan dan terakhir sistematika penulisan yang memberikan uraian dan gambaran dalam penulisan ini.

Bab 2 : Pengenalan

Turubulenz Menjelaskan tentang Turbulenz sebagai game engine berbasis web yang bersifat open source.

Bab 3 : Instalasi Turbulenz

Menjelaskan tentang bagaimana langkah – langkah yangharus dilakukan untuk instalasi game engine Turbulenz pada komputer.

Bab 4 : Penggunaan Turbulenz

Penggunaan dasar dalam game engine Turbulenz akan dijelaskan dalam bab ini.

Bab 5 : Penutup

Pada bab ini akan berisi kesimpulan dan saran terhadap buku ini.

.

.

BAB II
PENGENALAN TURBULENZ

2.1. Pengenalan Turbulenz

.

Turbulenz adalah game engine HTML5 dan diadopsi oleh server-side API yang tersedia dalam JavaScript dan naskah dimana fungsinya untuk membangun dan mendistribusikan objek 2D dan 3D game yang berjalan pada platform yang mendukung fitur HTML5 seperti browser terkini tanpa memerlukan plugin. Game engine The Turbulenz menyediakan solusi untuk pengembangan game untuk kualitas generasi berikutnya yang dapat dimainkan langsung di browser. Teknologi ini diselenggarakan di dua kondisi utama yaitu:

• Runtime: dieksekusi pada mesin pengguna akhir

• Offline: digunakan hanya selama pengembangan game Bagian ini memberikan gambaran dua daerah ini fungsi serta beberapa rekomendasi dan pedoman untuk mengembangkan game pada browser.

2.2. Runtime API

.

Runtime dapat dikategorikan menjadi dua jenis kode yaitu:

• API tingkat rendah: Sebuah set antarmuka menyediakan akses ke fungsionalitas tingkat rendah. API pada tingkat ini mirip dalam fungsi ke API terkenal seperti OpenGL, OpenAL, dll Fungsi ini disediakan baik oleh ekstensi browser Turbulenz (kode asli), atau dengan pembungkus tipis di atas antarmuka yang disediakan oleh browser (seperti sebagai WebGL, WebAudio, dll). Dalam kasus kedua, Turbulenz API akan menentukan interface browser menyediakan dan dinamis memilih yang paling tepat.

• API Tingkat tinggi: Dimana koleksi perpustakaan dari JavaScript yang dibangun di atas pemodelan API tingkat rendah yang menyediakan para pengembang dapat mengembangkannya dengan fitur seperti Adegan grafik, Sistem Bahan dan optimimalisasi Renderer, dll

2.2.1. Tingkat rendah API

.

Antarmuka terdiri dari beberapa modul yang disebut Device, yang memberikan:

• Antarmuka yang efisien di atas perpustakaan stabil dan fleksibel yang ada, misalnya Bullet, OpenAL atau WebGL.

• Antarmuka yang efisien di atas akses hardware tingkat rendah, misalnya mekanisme masukan atau operasi vektor matematika. Perangkat ini tidak terbatas pada jenis tertentu dari permainan, termasuk dalam kategori yang cukup kuat dan cukup fleksibel untuk menutupi kebutuhan permainan generasi berikutnya. Objek perangkat biasanya dibuat sekaligus dengan melewati parameter objek untuk membuat fungsi pada obyek global theTurbulenzEngine. Setelah dibuat mereka nantinya bisa diambil dengan memanggil fungsi get dengan sesuai. Misalnya, createGraphicsDevice dan getGraphicsDevice.

Alat Grafik:

• Sederhana, dimana shader berbasis API.

o Shader mungkin berisi beberapa Teknik, baik tunggal atau multi-pass.

o Setelah Teknik shader diatur pada Device, parameter yang diperlukan oleh kode program dapat diperbarui oleh objek Technique Parameter.

o TechniqueParameter memiliki beberapa referensi Tekstur, TechniqueParameterBuffers atau nilai-nilai lainnya.

o Beberapa TechniqueParameters dapat diatur pada perangkat sekaligus.

• Vertex buffer, Indeks buffer dan Tekstur dapat dibuat, diperbarui dan menghancurkan dinamis.

• Multiple Streams Vertex buffer dapat digunakan pada waktu yang sama.

• Dukungan untuk 1D, 2D, 3D dan tekstur cube.

o Setiap format piksel didukung oleh perangkat keras.

• Asynchronous pemuatan sumber daya.

o Beberapa file dapat didownload dengan cepat, kode JavaScript akan dijalankan ketika sumber daya yang tersedia untuk penggunaan yang telah disetujui.

• Beberapa format file gambar.

o DDS, JPG, PNG dan TGA.

• Dukungan untuk ekstensi arsip yang berisi beberapa file gambar.

o fleksibilitas lebih baik untuk penggunaan bandwidth secara optimal.

• query Occlusion. o Jumlah piksel yang diberikan dapat dilihat untuk bagian dari rendering.

o Tersedia dalam modus Plugin saja.

• dukungan Fullscreen (platform yang didukung).

• Ambil fitur screenshot.

• dukungan playback video.

o WebM, MP4.

o Render video sebagai tekstur.

o kontrol Putar bermain, pause, stop, melanjutkan, mundur. MathDevice

• Jenis Matematika:

o Vector2 Vector3, Vector4

o Matrix33, Matrix34, Matrix43, Matrix44

o angka empat, QuatPos

o AABB

• Format Penyimpanan dioptimalkan berdasarkan dukungan yang tersedia

• operasi Dioptimalkan mendukung parameter tujuan, mengurangi alokasi objek.

• Array ke / dari Matematika utilitas jenis konversi.

Alat Fisik:

3D

• Mudah digunakan simulasi fisika efisien.

o Dioptimalkan implementasi JavaScript.

o Dalam mode Plugin, ini adalah pembungkus ringan sekitar Bullet Fisika Perpustakaan.

- http://bulletphysics.org/wordpress/

• tubuh dan benda-benda tabrakan kaku.

o Plane, Box, Sphere, Kapsul, Cylinder, Cone, Segitiga Mesh, Convex Hull.

• Kendala. o Point ke Point, Engsel, Cone Twist, 6DOF, Slider.

• Ray dan pertanyaan menyapu cembung.

o Kembali titik terdekat dari dampak dan permukaan normal.

• representasi karakter.

o Untuk digunakan dengan 1/3 game orang.

o Termasuk properti untuk kecepatan, posisi, mendekam, tinggi melompat, kematian, di tanah.

• callback Kontak.

o Rigidbodies, karakter, benda tabrakan.

o Disebut pada presolve, menambahkan, diproses, dihapus.

o Filter tanggapan oleh topeng.

o Pemicu tanpa respon tabrakan.

Catatan Pengembang dapat melihat perilaku yang sedikit berbeda di plugin dan kanvas implementasi PhysicsDevice.

2D

• Efisien 2D dalam bidang fisika secara simulasi ditulis secara khusus untuk JavaScript.

• Bentuk.

o Lingkaran, Kotak, Rectangle, Regular Polygon, Custom Polygon.

o Buat bentuk sebagai sensor.

o Bentuk pengelompokan dan masker interaksi.

• Tabrakan.

o Sapu & Prune, Box Tree Broadphases.

o Perlengkapan untuk Raytest, ttd Jarak, Intersection, Berisi Point, Sapu Test.

• Simulasi dunia.

o Beberapa kelompok simulasi.

o gravitasi pilihan.

o iterasi simulasi dipersonalisasi.

• simulasi objek yang kaku.

o Dinamis, Statis, benda kinematik.

• Bahan.

o Elastisitas, Static / Dinamis / Gesekan bergulir, Density.

• Arbiter.

o Kontak pengelompokan.

o Informasi kontak: Posisi, Penetrasi, Normal / Tangent Impulse

• Kendala.

o Point to Point, Jarak, Weld, Angle, motor, Line, Pulley, Custom Kendala.

• Debug rendering.

o kaku Badan, Kendala, Dunia, Lines, Curves, Rectangles, Lingkaran, Spiral, Linear / Spiral Springs.

o Mengaktifkan dan menonaktifkan rendering jenis.

o Scaling untuk Draw2D viewport.

Alat Suara:

• Mudah digunakan wrapper efisien fitur audio hardware.

o Memanfaatkan Web Audio, <Audio> tag, OpenAL tergantung pada dukungan platform yang.

• sumber suara 3D. o Posisi, Arah, Velocity, Gain, Pitch, loop.

• ditiru 3D suara untuk pembuatan stereo.

• file suara Asynchronous pemuatan.

o Beberapa file sumber daya dapat didownload dengan cepat, kode JavaScript akan diberitahu ketika sumber daya yang tersedia untuk penggunaan.

• Uncompress audio yang dinamis.

• Beberapa format file suara:

o OGG, WAV, MP3.

• permintaan didukung untuk kemampuan platform.

o Muat format audio yang terbaik untuk platform.

• Efek / Filter dukungan:

o Reverb, Echo, Low Pass

Catatan: Ketersediaan antarmuka tergantung pada platform.

Alat Jaringan:

• Bi-directional, full-duplex saluran komunikasi, lebih soket TCP.

o Memanfaatkan Browser dukungan WebSocket.

o pelaksanaan asli Efisien WebSockets untuk platform tanpa dukungan.

- http://en.wikipedia.org/wiki/WebSocket

- http://dev.w3.org/html5/websockets/

• jabat tangan HTTP-kompatibel sehingga server HTTP dapat berbagi HTTP mereka default dan HTTPS port (80 dan 443) dengan server WebSocket.

• Dukungan untuk koneksi yang aman sebagai bagian dari standar.

• Dukungan untuk kompresi data dengan ekstensi mengempis-frame. InputDevice

• Akses ke jenis masukan.

o Keyboard, Mouse, Xbox360 Pad, Joystick, Roda, Touch, Multi-touch

• sistem acara Asynchronous ketika perubahan negara.

o kode JavaScript diberitahu ketika input berubah.

o Acara untuk keydown, keyup, mousedown, mouseup, roda mouse, mousemove, Gunaka mouse, mouseenter, mouseleave, paddown, padup, fokus, blur, mouselocklost, touchstart, touchend, touchmove, touchmove, touchenter, touchleave, touchcancel. • fitur dari mouse tambahan:

o bersembunyi / menampilkan ikon Platform, mengunci / unlocking (platform yang didukung).

• Bahasa keymapping independen.

2.2.2. API Tingkat Tinggi

.

Ini tingkat lebih tinggi perpustakaan JavaScript dirancang untuk fleksibilitas dan kemudahan penggunaan. JavaScript bahasa itu sendiri menyediakan semua mekanisme refleksi diperlukan untuk debugging runtime dan tweaking, mendukung pembuatan kode dinamis dan serialisasi objek.

Hanya didokumentasikan benda, fungsi dan sifat harus digunakan. Item yang tidak berdokumen adalah rincian implementasi dan mungkin berubah di masa depan.

Adegan grafik:

• format file yang fleksibel JSON.

o Bisa menggambarkan baik seluruh adegan atau jerat individu.

• Asynchronous pemuatan referensi eksternal.

o Jika adegan berisi referensi ke jerat eksternal mereka semua dimuat secara paralel dan melekat ke adegan utama ketika siap.

o Dukungan untuk digunakan kembali optimal mesh yang sama di lokasi yang berbeda.

• sistem penyaji Pluggable.

o Hubungan antara geometri, efek dan bahan diselesaikan pada saat runtime.

o Mudah swap beberapa teknik render untuk aset yang sama.

• berbagi Geometri.

o informasi Geometri dapat optimal digunakan kembali di beberapa lokasi adegan dengan efek render yang berbeda.

• adegan Fleksibel node hirarki.

o Lights, geometri, Animasi, Fisika.

• query Visibilitas.

o Portal, frustum, Tumpang Tindih Box.

• Sortasi dan pengelompokan.

o node Terlihat diurutkan dan dikelompokkan untuk render optimal: Buram, Transparan, Decal.

• evaluasi malas update simpul.

Animasi

• animasi 3D untuk adegan geometri.

• Skeleton / Skinning animasi.

• Animasi pengendali.

o interpolasi, kelebihan beban Node, Referensi, Transisi, Blend, Mask, Pose, Kulit, GPU Kulit, Kupas Node.

o Controller dapat dikombinasikan untuk efek yang diinginkan.

• Dinamis memperbarui adegan data. Resource Manager

• Asynchronous dimana pemuatan menghindari duplikasi.

o lapisan remapping tambahan untuk memudahkan pengalihan URL.

• Menyediakan sumber daya default jika hilang.

o Permainan dapat memberikan sumber daya standar kustom untuk digunakan ketika salah satu yang diperlukan hilang atau masih loading.

• Beberapa manajer untuk kebutuhan individu.

o Animasi, Efek, Font, Shaders, Suara, Textures.

• Bandwidth dan perangkat keras skala dengan memilih aset yang berbeda dan efek tergantung pada mesin dan koneksi internet kinerja.

• Cache aset sisi klien untuk mengoptimalkan dan menggunakan kembali permintaan.

Permintaan Server

• HTTP & AJAX permintaan fungsi

o Otomatis coba lagi dan penanganan error.

o dukungan Cross-browser.

o terenkripsi dukungan API. Renderer tangguhan

• Unlimited jumlah lampu.

o Point, Spot, Directional, Ambient.

• Tekstur falloff cahaya berdasarkan.

o Memungkinkan adanya multi-warna lampu dan bayangan palsu murah, misalnya kipas di bawah sumber cahaya.

• Bahan dengan peta beberapa tekstur.

o warna specular dan intensitas, vektor normal, warna Cahaya, Alpha.

• efek pasca dicabut.

o Mudah untuk setup untuk penuh dalam efek pasca layar sebagai bagian dari shading akhir.

o Copy, Fade dalam, memodulasi, Bicolor, Blend.

• peta bayangan eksponensial.

o Reuse peta tekstur bayangan untuk menyimpan memori video.

o blur Gaussian untuk hasil yang halus.

o informasi mendalam Exponential untuk menghindari perdarahan ringan.

• kabut volumetrik.

• 4 jenis GPU yang mengulitinya.

• animasi UV.

• Modus Wireframe.

• Panggilan kembali untuk melewati tambahan.

o decal, transparansi, debug

• Tersedia dalam modus Plugin saja. Maju Renderer

• Unlimited jumlah lampu.

o Point, Spot, Directional, Ambient.

• Tekstur falloff cahaya berdasarkan.

o Memungkinkan multi-warna lampu dan bayangan palsu murah, misalnya kipas khas di bawah sumber cahaya.

• Bahan dengan peta beberapa tekstur.

o spekular dan intensitas, vektor normal, warna Cahaya, Alpha.

• efek pasca Pluggable.

o Mudah diatur untuk penuh efek pasca layar sebagai bagian dari shading tangguhan akhir.

o Copy, Fade dalam, memodulasi, Bicolor, Blend.

• peta bayangan eksponensial.

o Reuse peta tekstur bayangan untuk menyimpan memori video.

o blur Gaussian untuk hasil yang halus.

o informasi mendalam Exponential untuk menghindari perdarahan ringan.

• 4 GPU terintegrasi.

• animasi UV.

• Modus Wireframe.

• Callback untuk melewati tambahan.

o decals, transparansi, debug

Standar Renderer

• Satu titik dan cahaya ambient.

• Pixel berbasis pencahayaan.

• Bahan dengan peta beberapa tekstur.

o warna specular dan intensitas, vektor normal, warna Cahaya, Alpha.

• Optimzed untuk kecepatan dan kompatibilitas di berbagai hardware.

• 4 berat GPU menguliti.

• animasi UV.

• Modus Wireframe.

• Callback untuk melewati tambahan.

o decals, transparansi, debug Sederhana Renderer

• Satu titik dan cahaya ambient.

• pencahayaan Vertex berbasis.

• Bahan dengan peta beberapa tekstur.

o warna specular dan intensitas, vektor normal, warna Cahaya, Alpha.

• Optimzed untuk kecepatan dan kompatibilitas di berbagai hardware.

• 4 berat GPU menguliti.

• animasi UV.

• Modus Wireframe.

• Callback untuk melewati tambahan.

o decals, transparansi, debug 2D Rendering

Draw2D

• penyaji 2D sprite berbasis.

o Batch sprite untuk efisiensi.

• mode Menggambar:

o Menggambar: objek Menggambar literal, DrawRaw: Menggambar buffer data, DrawSprite: Menggambar referensi sprite.

• viewport Scalable.

o Masukan koordinat pemetaan.

• Urutkan mode.

o Segera, tangguhan, Tekstur.

• mode Blend.

o Buram, Additive, Alpha.

• dukungan Kustom shader.

• Render-to-sasaran dukungan.

• efek Tekstur.

o Distort, Gaussian Blur, Bloom, Warna, Grey Scale, Sepia, Negatif, Saturasi, Hue, Brightness, Contrast.

• data kinerja Recording. Canvas2D

• Pelaksanaan Percepatan kanvas 2D API.

• Berjalan pada WebGL / OpenGL tergantung pada platform.

• SVG rendering. • Teks render via FontManager.

• Untuk implementasi lengkap lihat spesifikasi elemen kanvas Keperluan

• Alokasi dan pengelolaan buffer grafis.

o Vertex buffer.

o Indeks buffer.

• API dikendalikan JavaScript profiling.

o waktu Per-fungsi akurasi milidetik.

o Rekam top-down atau pohon fungsi bottom-up.

o Hitung waktu yang dihabiskan oleh fungsi individu atau total yang dikeluarkan oleh sub-fungsi.

o Mengidentifikasi file sumber dan nomor baris dari daerah bermasalah.

• identifikasi penggunaan memori.

o Ambil hitungan obyek jenis objek dibangun.

o Ambil foto dan bandingkan fluktuasi memori.

• Enkripsi dan dekripsi dari permintaan server-side untuk format tzo.

• utilitas Debug dengan fungsi stripping untuk kinerja.

o menegaskan, log, batalkan.

o stacktrace Lengkap.

o Mendukung menambahkan fungsi kustom.

• Simulator Jaringan

o Mensimulasikan latency dan perilaku jaringan.

o Client-side manipulasi pesan sesi multiplayer.

o Mensimulasikan lonjakan lalu lintas jaringan.

2.2. Alat Offline

.

Alat Offline disediakan untuk memproses JavaScript dan HTML kode, dan untuk menghasilkan dan melayani aset diperlukan untuk runtime. Alat untuk pengolahan aset disediakan sebagai seperangkat mandiri alat baris perintah yang dapat dijalankan secara paralel ketika aset dependensi memungkinkan.

Beberapa format file yang diubah menjadi format JSON kustom didukung oleh kode runtime, yang lain disimpan sebagai-adalah dan hanya pengolahan tambahan disediakan.

Semua aset dan skrip yang dikompresi, dipadatkan dan unik menandai untuk transfer efisien antara server web dan browser. 7.2.1. Alat Alat kode yang ada untuk:

• Opsional menghapus kode debugging (seperti menegaskan)

• Concatenate dan kompak JavaScript dan semua perpustakaan direferensikan

• Menghasilkan file HTML yang akan digunakan untuk menjalankan aplikasi selama pengembangan Alat aset disediakan untuk menangani langkah-langkah berikut membangun:

• Konversi Collada file untuk JSON

• Konversi CgFX file untuk JSON

• Konversi file OBJ ke JSON

• kompresi PXT

• kompresi PNG

• generator Cubemap

• generator mipmap

• tingkat Tekstur yang detail, dimana akan menghapus tingkat mipmap dalam demand

2.3. Template dan Alat Membangun

.

Ketika mengembangkan aplikasi JavaScript untuk berjalan di Turbulenz Mesin ini berguna untuk membangun dan menguji semua konfigurasi. Konfigurasi pembangunan kanvas-debug dibentuk untuk menjalankan dalam browser dan memungkinkan penggunaan alat-alat browser debugging. Konfigurasi rilis (Plugin dan kanvas) beban dan menjalankan bundel kode, sering dipadatkan. Dalam kasus modus Plugin, kode JavaScript dijalankan di dalam mesin yang disediakan oleh ekstensi browser Turbulenz (untuk alasan kinerja dan kompatibilitas), membuat debugging jauh lebih sulit.

Kode pemadatan adalah optimasi penting untuk penyebaran dan dapat secara dramatis mengurangi ukuran kode yang perlu ditransfer dan diurai pada saat runtime. Turbulenz merekomendasikan alat UglifyJS digunakan dalam Plugin dan kanvas konfigurasi. Lihat rincian lebih lanjut maketzjsfor.

Alat maketzjs dan makehtml mendukung penggunaan template markup untuk memungkinkan satu set file sumber yang akan dengan mudah dibangun di konfigurasi. Template di app Template contoh mengikuti struktur di bawah ini:

/*{{ javascript("scripts/script1.js") }}*/

2.3.1. Menegaskan dan Kode Debug

.

Turbulenz JavaScript perpustakaan termasuk kode untuk memvalidasi parameter dan untuk menegaskan bahwa keadaan internal benar. Hal ini dimaksudkan untuk menangkap bug dan memperingatkan programmer masalah sedini mungkin dalam pelaksanaan pertandingan. Sejak debug kode tersebut memiliki biaya kinerja, harus dilucuti dari rilis membangun.

Fungsi Debug disediakan oleh objek debug, dan panggilan ke metode pada objek ini dilucuti dari kode dengan alat maketzjs otomatis.

Pengembang yang ingin memanfaatkan fungsi ini, dan pengembang dengan pipa kode disesuaikan harus menyadari perilaku kode debug, dan mungkin ingin menggunakannya di luar alat maketzjs, melalui jalur-debug.

Catatan :

Sebagai contoh, pengembang yang menjalankan compactor kode pada kode permainan sebelum melewati kode yang ke maketzjs dapat mangle penamaan objek men-debug sehingga mustahil untuk maketzjs untuk menemukan dan menghapus kode debug. Dalam hal ini, strip-men-debug harus dipanggil langsung saat buildingrelease dan konfigurasi kanvas, untuk memastikan bahwa kode debug dihapus sebelum pemadatan atau kebingungan berlangsung.

2.3.2. Generasi HTML

.

Banyak contoh yang diberikan di sini dan di bagian lain menggunakan template default untuk menghasilkan halaman HTML untuk loading dan aplikasi yang berjalan. Template ini dibangun ke dalam alat, tetapi sangat mungkin untuk memasukkan HTML Anda sendiri, menimpa bagian dari template default atau membuat HTML template sendiri dari awal.

Sejak Turbulenz game memiliki akses penuh ke browser JavaScript konteks, mereka dapat berinteraksi dengan DOM HTML dengan cara yang sama yang biasa kode JavaScript bisa. Meskipun hal ini tidak biasanya berguna untuk permainan dikerahkan, selama kontrol pengembangan HTML dapat digunakan untuk mengirim data ke permainan (seperti untuk tweaker parameter), atau untuk menampilkan data tentang pertandingan berjalan (seperti output teks kesalahan atau metrik log) .

Untuk menyesuaikan generasi HTML perlu memahami beberapa konsep template sederhana. Di sini kita secara singkat describeconditions, variabel, blok dan komentar, seperti yang diterapkan di mesin Jinja2 template, yang digunakan oleh alat Turbulenzz.

2.3.3. Warisan, Blok dan Template default

.

HTML template dapat mewarisi dari file HTML lainnya menggunakan deklarasi dalam bentuk:

/*{% extends "file.html" %}*/

Dalam hal ini file.html yang inline dan blok setiap dinyatakan di dalamnya dapat diganti oleh file anak. Untuk memasukkan template default, dibangun ke dalam perangkat, gunakan:

/*{% extends "default" %}*/

(default template dapat diperiksa menggunakan bendera dump-default-template pada alat makehtml):

makehtml --dump-default-template

Misalnya, untuk menambahkan beberapa elemen HTML ke bar di sebelah kiri HTML template default Anda dapat mengganti blok dengan cara sebagai berikut:

/*{% extends "default" %}*/

Blok didefinisikan oleh template default meliputi:

• tz_app_title mendefinisikan judul yang digunakan dalam jendela browser

• tz_app_title_name merupakan gelar di atas halaman

• tz_app_html_controls mendefinisikan elemen HTML untuk ditempatkan di margin sebelah kanan halaman

Lihat template default untuk daftar definitif blok yang dapat diganti. Hal ini juga memungkinkan untuk memperpanjang atau mewarisi dari template yang pada gilirannya mewarisi dari template lain (yang mungkin template default).

2.3.4. Syarat-syarat

.

Kondisi memungkinkan predikasi kode sederhana berdasarkan variabel template, menggunakan markup dari bentuk / * {% jika kondisi pengujian%} * /, diikuti oleh / * {% endif%} * /. Penggunaan utama untuk ini adalah untuk menentukan potongan kode yang harus dieksekusi hanya ketika berjalan di konfigurasi tertentu. Contohnya adalah:

• / * {% jika tz_development%} * / berarti kode permainan JavaScript disertakan menggunakan tag script memungkinkan untuk debugging mudah. Variabel ini benar maka bendera --mode untuk alat yang digunakan untuk menentukan modus kanvas-debug.

• / * {% jika% tz_canvas} * / berarti permainan berjalan menggunakan kanvas (non-plugin) versi mesin Turbulenz. Variabel ini benar di kanvas dan kanvas debug mode.

• / * {% jika tz_hybrid%} * / berarti permainan berjalan menggunakan kedua kanvas (non-plugin) versi mesin Turbulenz dan versi Plugin (tersedia sebagai TurbulenzEngine dan TurbulenzEnginePlugin masing-masing). Variabel ini adalah benar ketika opsi hybrid digunakan.

Ini dapat digunakan dalam JavaScript, atau kode HTML.

2.3.5. Variabel

.

Markup digunakan untuk ekspansi variabel / * {{variabel}} * /. Untuk alat Turbulenz kita mendefinisikan beberapa ekspansi variabel khusus untuk memungkinkan aplikasi yang akan dibangun.

Untuk kode JavaScript yang kami sediakan adalah sebagai berikut:

• javascript ini memungkinkan file JavaScript untuk dimasukkan atau direferensikan. Untuk perkembangan membangun, sebuah tag script HTML akan disertakan dengan referensi ke file JavaScript, sedangkan untuk rilis membangun file JavaScript akan inline dalam kode bundel.

Untuk kode HTML tidak menggunakan template default, kami menyediakan

• tz_engine_div - memperluas kode HTML membuat tag HTML yang tepat untuk mengatur kanvas atau instantiate plugin browser (tergantung pada modus membangun)

• tz_include_js - mengembang untuk satu set HTML <script> tag yang mencakup setiap file JS yang diperlukan dalam halaman.

• tz_startup_code - memperluas kode JavaScript dengan benar dijalankan mesin dan mengeksekusi fungsi theTurbulenzEngine.onload. Variabel ini harus digunakan dalam <script> tag.

2.3.6. Komentar

.

Komentar markup adalah / * {# komentar #} * / yang hanya memungkinkan komentar untuk ditempatkan ke dalam template yang tidak akan muncul dalam output kode dari alat. (Proses pemadatan di mode rilis menghapus komentar JavaScript).

2.4. Rekomendasi proyek permainan

.

Turbulenz membuat perangkat tidak memaksakan struktur nyata tentang bagaimana sebuah proyek permainan diatur atau dibangun. Namun kami merekomendasikan bahwa pengembang mengikuti panduan yang diberikan di sini.

2.4.1. Tata Letak Kode

.

Sejak HTML dapat merujuk ke Js file kode (dalam mode pembangunan), file-file js harus berada di direktori di bawah output HTML. Membangun sistem harus baik membangun html, .tzjs dan file js ke akar proyek, atau ke dalam direktori membangun dimana semua file tergantung akan disalin.

Kami menyarankan membangun output masuk ke akar proyek di mana ia dapat referensi sisa kode game dan aset, dengan struktur direktori berikut di bawah ini. Lihat templateapp untuk contoh.

script: Main kode permainan dan perpustakaan file.

template: Js permainan dan template html. File Js harus berisi entry point TurbulenzEngine.onload dan kemudian memanggil ke dalam kode di script.

jslib: Salinan direktori jslib dari SDK instalasi.

membangun: Menengah membangun file dan data ketergantungan.

Bila menggunakan kanvas-debug membangun modus, hanya kode minimal dihasilkan dari template akan tertanam ke dalam halaman HTML. Perubahan direktori script tidak akan memerlukan membangun kembali. (Plugin dan kanvas mode akan selalu membutuhkan membangun kembali kode bundel untuk setiap perubahan kode).

2.4.2. Tata Letak aset

.

Seperti dengan kode, sebaiknya menjaga sumber data aset di subdirektori dari root proyek.

aset / model: folder aset baku untuk model (sebelum konversi). yaitu .dae, Obj

aset / tekstur: Folder aset baku tekstur (sebelum konversi). yaitu tga, png, jpg, bmp

aset / shader: Folder baku aset untuk shader (sebelum konversi). yaitu .cgfx

Folder staticmax harus digunakan untuk output dari membangun aset untuk memaksimalkan efektivitas cache browser, seperti yang dijelaskan dalam Aset bagian.

Membangun sistem harus mempertahankan file 'mapping_table.json' untuk membantu kode runtime menemukan yang tepat unik bernama file understaticmax.

2.5. Coding

.

Berikut adalah beberapa rekomendasi khusus untuk pemrograman JavaScript menggunakan TurbulenzEngine. Pembangunan JavaScript Guidecontains lebih detail dan penjelasan dari beberapa prinsip-prinsip ini, serta pemrograman dan kinerja pedoman JavaScript umum.

2.5.1. Memberikan waktu kembali ke browser

.

Banyak operasi yang dilakukan oleh browser terjadi asynchronously, dan perlu untuk memastikan bahwa browser memiliki waktu yang cukup untuk menangani semua operasi ini dan acara.

Ketika kode JavaScript untuk permainan berjalan, tidak ada kode JavaScript lainnya dapat berjalan pada waktu yang sama. Ini berarti bahwa tugas yang panjang (misalnya mengkonversi format aset pada waktu beban) dapat memperkenalkan penundaan yang signifikan ke area lain dari halaman:

• UI Browser dan kontrol

• Tab lainnya berjalan pada browser

• JavaScript berjalan pada halaman yang sama

• Operasi lainnya JavaScript dilakukan oleh permainan Anda

Ekuivalen, permainan loop utama harus dijadwalkan akan dipanggil sekali per frame. Sebuah membangun seperti loop sementara tidak akan memberikan browser kesempatan untuk melaksanakan setiap pemuatan atau operasi rendering, dan kemungkinan akan menghasilkan eksekusi peramban menghentikan permainan.

Kode JavaScript hanya memberikan waktu kembali ke browser setelah semua fungsi telah kembali

Fungsi setInterval tersedia di objek TurbulenzEngine dapat digunakan untuk menjadwalkan callback dengan cara ini:

var intervalID; function executionLoopFn() { var currentTime = TurbulenzEngine.time;

executionLoopFn akan dipanggil sekali setiap 60 detik.

Catatan

Fungsi window.setInterval yang disediakan oleh browser umumnya memiliki resolusi terlalu rendah untuk game. TurbulenzEngine.setInterval memanfaatkan API lain atau ekstensi browser untuk memastikan callback terjadi interval yang jauh lebih halus dan lebih akurat.

Namun, karena fakta bahwa waktu eksekusi saham permainan lingkaran dengan operasi lain, adalah mustahil untuk menjamin waktu yang akurat dari callback setiap saat. Properti TurbulenzEngine.time memberikan resolusi tinggi informasi waktu. Permainan dapat menggunakan ini untuk menjaga pembaruan negara permainan dan animasi konsisten dengan harapan pemain.

Fungsi TurbulenzEngine.setTimeout mirip dengan setInterval, tapi jadwal panggilan balik satu-shot daripada doa diulang. Melewati batas waktu 0 sampai fungsi ini memberikan browser kesempatan untuk menangani operasi lainnya sementara meminta waktu eksekusi lanjut sesegera mungkin. Contoh di bawah agak dibikin, tapi menunjukkan bagaimana hal ini dapat digunakan untuk melakukan perhitungan yang panjang sementara tidak menyebabkan browser untuk membekukan atau menghentikan eksekusi dari permainan.

var fibCallback = function fibCallbackFn(value)

Catatan :

Ini cukup ekstrim, pada kenyataannya kita ingin menghitung lebih dari satu Fibonacci istilah untuk setiap loop.

2.5.2. Fungsi caching

.

Melihat ke atas metode pada objek memiliki biaya yang terkait dengan itu, setara dengan mencari properti lainnya. Waktu yang signifikan sering dapat diselamatkan oleh caching metode bukannya memaksa lookup baru di setiap penggunaan. Misalnya, untuk jumlah array 1.000 vektor implementasi pertama dapat mengambil form ini:

for (var i = 0; i < 1000; i += 1)

Dalam melaksanakan setiap langkah loop mesin JavaScript harus cek pertama bagi keberadaan fungsi v3Add pada VMathobject, kemudian mengambil dan memanggil fungsi yang dengan set ini dengan objek VMath.

Kita bisa menghindari pemeriksaan berulang yang tidak perlu untuk v3Add dengan cara berikut:

var v3Add = VMath.v3Add;

2.5.3. Pengetikan Array

.

Pengetikan array memungkinkan kode JavaScript untuk membuat dan buffer akses memori baku, dan menafsirkan data berbagai tipe primitif, asInt32 seperti, Float32, dll (lihat http://www.khronos.org/registry/typedarray/specs/latest/ untuk penuh detail). Banyak mesin JavaScript yang 'sadar' dari array diketik dan dapat menghasilkan dioptimalkan JIT dikompilasi kode untuk beroperasi pada mereka. Untuk alasan ini, kami merekomendasikan penggunaan untuk menyimpan array yang besar dari nilai jenis yang sama.

Kode bentuk berikut dapat digunakan untuk memeriksa dukungan berbagai diketik

var ArrayConstructor = Array;

Data dalam array diketik juga dapat dikirimkan ke beberapa API mesin untuk kinerja yang optimal. Misalnya, ketika pengaturan data pada aVertexBuffer, array diketik menggunakan jenis yang tepat (yaitu pencocokan format vertex) dapat dikirim ke hardware yang memiliki grafis dengan tidak ada jenis konversi, sedangkan Array JavaScript nilai memerlukan mesin untuk iterate melalui array dalam mengkonversi nilai ganda ke format yang sesuai. Lihat The IndexBuffer Obyek, The VertexBuffer Obyek dan The Tekstur Obyek untuk rincian format data yang optimal.

Turbulenz MathDevice membuat ekstensif menggunakan jenis Float32Array untuk vektor dan matriks benda.

Senin, 27 April 2015

Keamanan Sistem Operasi, Evaluasi Keamanan Sistem Informasi, dan Sistem Keamanan Database

1. Keamanan Sistem Operasi
Komponen Arsitektur Keamanan Linux
1. Account Pemakai (user account)
Macam User :
Root : Kontrol system file, user, sumber daya (devices) dan akses jaringan.
User : Account dengan kekuasaan yang diatur oleh root dalam melakukan aktifitas dalam system.
Group : Kumpulan user yang memiliki hak sharing yang sejenis terhadap suatu devices tertentu.
2. Kontrol Akses secara Diskresi (Discretionary Access Control) adalah metode pembatasan yang ketat, yang meliputi :
Setiap account memiliki username dan password sendiri.
Setiap file/device memiliki atribut(read/write/execution) kepemilikan, group,dan user umum.
Perintah-perintah penting pada DAC :
Mengubah izin akses file.
Mengubah kepemilikan.
Mengubah kepemilikan group.
Menggunakan account root untuk sementara.
3. Kontrol Akses Jaringan (Network Access Control)
Firewall linux :
alat pengontrolan akses antar jaringan yang membuat linux dapat memilih host yang berhak / tidak berhak mengaksesnya.
Fungsi Firewall linux :
Analisa dan filtering paket
Blocking content dan protocol
Bloking isi paket seperti applet java, activeX, Vbscript, Cookies
Autentikasi koneksi dan enkripsi
4. Enkripsi (Encryption)
Penerapan Enkripsi di linux :
a) Enkripsi password
Menggunakan DES ( Data Encryption Standard )
b) Secure Shell (SSH)
Secure socket Layer (SSL)
Enkripsi komunikasi data
5. Logging
     Prosedur dari Sistem Operasi atau aplikasi merekam setiap kejadian dan menyimpan rekaman tersebut untuk dapat dianalisa. Semua file log linux disimpan di directory /var/log, antara lain :
Lastlog
last
Xferlog
Access_log
Error_log
Messages
6. Deteksi Penyusupan (Intrusion Detection)
     Definisi : aktivitas mendeteksi penyusupan secara cepat dengan menggunakan program khusus secara otomatis yang disebut Intrusion Detection System.
Tipe dasar IDS :
Ruled based system
Adaptive system
Program IDS :
Chkwtmp
Tcplogd
Host entry
Komponen Arsitektur Keamanan NT 
1. Adminisrasi User dan Group
Jenis Account User :
Administrator
Guest
User
Jenis Account Group :
Administrator
Guest
User
Operator back-up
Power user
Operator server
Operator account
Operator printer

2. Keamanan untuk Sistem File
A. NTFS :
Cepat dalam operasi standar file (read – write – search)
Terdapat system file recovery, access control dan permission.
Memandang obyek sebagai kumpulan atribut, termasuk permission access.
B. Proteksi untuk integritas data
Transaction logging : merupakan system file yang dapat di-recovery untuk dapat mencatat semua perubahan terakhir pada directory dan file secara otomatis.
Sector sparing : Teknik dynamic data recovery yang hanya terdapat pada disk SCSI dengan cara memanfaatkan teknologi fault-tolerant volume untuk membuat duplikat data dari sector yang mengalami error.
Cluster remapping : Jika ada kegagalan dalam transaksi I/O pada disk, secara otomatis akan mencari cluster baru yang tidak rusak, lalu menandai alamat cluster yang mengandung bad sector tersebut.
Fault tolerance : Kemampuan untuk menyediakan redudansi data secara realtime yang akan memberikan tindakan penyelamatan bila terjadi kegagalan perangkat keras, korupsi perangkat lunak dan kemungkinan masalah lainnya.
3. Model Keamanan Windows NT
     Dibuat dari beberapa komponen yang bekerja secara bersama-sama untuk memberikan keamanan logon dan access control list (ACL) dalam NT :
LSA (Local security Authority) : menjamin user memiliki hak untuk mengakses system. Inti keamanan yang menciptakan akses token, mengadministrasi kebijakan keamanan local dan memberikan layanan otentikasi user.
Proses logon : menerima permintaan logon dari user (logon interaktif dan logon remote), menanti masukan username dan password yang benar. Dibantu oleh Netlogon service.
Security Account MANAGER (SAM) : dikenal juga sebagai directory service database, yang memelihara database untuk account user dan memberikan layan validasi untuk proses LSA.
Security Reference Monitor (SRM) : memeriksa status izin user dalam mengakses, dan hak user untuk memanipulasi obyek serta membuat pesan-pesan audit.
4. Keamanan Sumber Daya Lokal
     Obyek dalam NT [file, folder (directory), proses, thread, share dan device], masing-masing akan dilengkapi dengan Obyek Security Descriptor yang terdiri dari :
Security ID Owner
Security ID group
Discretionary ACL (Access Control List)
System ACL
5. Keamanan Jaringan
Jenis Keamanan Jaringan Windows NT :
Model keamanan user level : account user akan mendapatkan akses untuk pemakaian bersama dengan menciptakan share atas directory atau printer.
Model keamanan Share level : dikaitkan dengan jaringan peer to peer, dimana user manapun membagi sumber daya dan memutuskan apakaha diperlukan password untuk suatu akses tertentu.
6. Keamanan pada Printer

Dilakukan dengan mensetting properties printer
Menentukan permission : full control, MANAGE document, print
Biasanya susunan permission pada NT defaulut : Adminstrator – full control, Owner – MANAGE document, dan Semua user – print
Mengontrol print JOB, terdiri dari :
Setting waktu cetak
Prioritas
Notifikasi (orang yang perlu diberi peringatan)
Set auditing information
7. Keamanan Registry

Tools yang disediakan dalam pengaksesan registry :
System policy editor : mengontrol akses terhadap registry editor, memungkinkan administrator mengedit dan memodifikasi value tertentu dalam registry dengan berbasis grafis.
Registry editor (regedit32.exe) : tools untuk melakukan edit dan modifikasi value dalam registry.
Windows NT Diagnostics (winmsd.exe) : memungkinkan user melihat setting isi registry dan valuenya tanpa harus masuk ke registry editor sendiri.
8. Audit dan Pencatatan Log

Pencatatan logon dan logoff termasuk pencatatan dalam multi entry login
Object access (pencatatan akses obyek dan file)
Privilege Use (paencatatan pemakaian hak user)
Account MANAGEMENT (manajemen user dan group)
Policy change (Pencatatan perubahan kebijakan keamanan)
System event (pencatatan proses restart, shutdown dan pesan system)
Detailed tracking (pencatatan proses dalam system secara detail)
Pertanyaan

1. Jelaskan pengertian SSH dan SSL pada linux! (Ilham)
2. Apa perbedaan antara root di Linux dan hak akses di Windows? (Irvan)
Jawab

1. Secure Shell (SSH) : Program yang melakukan loging terhadap komputer lain dalam jaringan, mengeksekusi perintah lewat mesin secara remote dan memindahkan file dari satu mesin ke mesin lainnya. Enkripsi dalam bentuk Blowfish, IDEA, RSA, Triple DES.
Secure socket Layer (SSL) : Mengenkripsi data yang dikirimkan lewat port http.
2. Hak akses pada Linux
Kontrol system file, user, sumber daya (devices) dan akses jaringan.
Hak akses pada Windows
Hak basic : acces computer from network, back-up files/ directory, change system time, logon locally, MANAGE auditing and security, log (event viewer), restore files and directory, shutdown system, take ownership files or other object, dll.
Hak advance : access service and kernel untuk kebutuhan pengembangan system.
2. Evaluasi Keamanan Sistem Informasi
   Meski sebuah sistem informasi sudah dirancang memiliki pengamanan, tetapi dalam perjalanannya keamanan jaringan harus selalu dimonitor. Hal ini disebabkan oleh beberapa faktor yaitu :
Selalu ditemukannya lubang keamanan yang baru, seperti halnya windows milik microsoft selalu saja ditemukan lubang keamanan baru (security hole) oleh para hacker;
Kesalahan konfigurasi, bisa mengakibatkan timbulnya celah keamanan pada suatu sistem. Misalnya mode (permission atau kepemilikan) dari berkas yang menyimpan password secara tidak sengaja diubah sehingga dapat diubah oleh orang-orang yang tidak berhak;
Penambahan perangkat baru (hardware/software) yang menyebabkan menurunnya tingkat security dan berubahnya metode pengoprasian sistem. Itu jelas karena sebuah sistem tetap membutuhkan seorang administrator, dan seoarang admin pasti membutuhkan penyesuaian jika sistemnya diubah atau diganti dengan yang baru.
     Untuk meng-Evaluasi Keamanan Sistem Informasi, kita harus mengetahui beberapa faktor. Pertama, sumber lubang keamanan. Lubang keamanan (security hole) menurut Budi Raharjo (Dosen ITB) dapat disebabkan karena Salah Desain, Salah Implementasi, Salah Konfigurasi, dan Salah Penggunaan.
Salah Desain. Contoh sistem yang lemah desainnya adalah sistem enkripsi ROT13 dimana karakter pesan dan hasil enkripsi diubah dengan menggeser 13 karakter alphabet saja, Meski diimplementasi dengan pemrograman yang sangat teliti sekalipun jika orang mengetahui logika dan algoritma nya pasti enkripsi nya bisa ketahuan.
Salah Implementasi, banyak program dan sistem yang salah pengimplementasiannya disebabkan karena programer terburu-buru karena dikejar deadline dalam mengimplementasikan programnya jadi lupa ditest atau didebug.
Salah Konfigurasi, Desain sempurna, Implementasi baik, namun konfigurasi salah.
Salah Penggunaan, Jika semua sistem sudah baik maka tinggal disisi user saja sisanya. Sistem sebaik dan sesempurna mungkin akan sia-sia jika usernya tidak memahami. Contoh, seorang user salah memberi perintah karena ketidaktahuannya dan memformat hardisk komputer.
     Kedua, meng-evaluasi keamanan sistem informasi juga bisa kita gunakan dengan menggunakan tools penguji keamanan sistem. Untuk sistem yang basisnya UNIX ada bebrapa tools yaitu : Cops, Tripwire, Satan/Saint, SBScan : Localhost Secuty Scanner. Selain tools2 diatas ada juga tools2 yang dibuat hacker untuk kepentingannya. antara lain :
Crack : program ini dibuat untuk memcahkan password dengan cara Brute Force menggunakan kamus. jadi program ini mencoba mencocokkan password dengan kata dikamus. Karena itu jangan menggunakan password dengan kata yang ada di kamus.
Land / Latierra : program yang dibuat untuk membuat windows NT dan windows 95 hang.
Ping-o-Death : program ping yang dapat membuat crash windows 95 / NT dan beberapa versi UNIX
Winuke : program untuk memacetkan sistem berbasis windows dan banyak lagi tools-tools lain yang bisa didapetin gratis di internet
     Probing, Service di internet umumnya menggunakan TCP atau UDP, dan setiap service menggunakan port yang berbeda, misalnya :
SMTP, Service untuk mengirim email pake protocol TCP dan dengan port 25
FTP, Service untuk tranfer file pake protocol TCP, dengan port 21
HTTP, Service untuk web server pake protocol TCP, dengan port 80
DNS, Service untuk domain pake protocol TCP dan UDP, dengan port 53
POP3, Service untuk mengambil email pake protocol TCP, dengan port 110
Pertanyaan
Apa penyebab dari celah/lubang keamanan ( security hole ), dan apa dampaknya ( positif dan negatif ) ? (Sandi)
Jawab
Penyebab : Bisa disebabkan oleh 3 hal, yaitu kesalahan pada desain sistem ataupun algoritma yang digunakan, implementasi algoritma yang kurang baik, dan kesalahan konfigurasi.
Dampak :
positif : dapat mengetahui kesalahan atau celah keamanan dari sistem yang ada, sehingga tingkat keamanannya dapat ditingkatkan.
negatif : adanya pihak-pihak yang dianggap merugikan yang dapat masuk, mengakses, ataupun merusak sistem atau keamanan sistem yang ada.
3. Sistem Keamanan Database
Keamanan Database
     Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan. lunak database server yang handal (2) Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada. Keamanan merupakan suatu proteksi terhadap pengerusakan data dan pemakaian. Untuk menjaga keaman an Basis Data dapat dengan: (1) Penentuan perangkat
a. Tujuan Keamanan Basis Data
Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada pengguna yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak diperbolehkan untuk memeriksa nilai siswa lainnya.
Integrity: Hanya pengguna yang berwenang harus diizinkan untuk memodifikasi data. Sebagai contoh, siswa mungkin diperbolehkan untuk melihat nilai mereka, namun tidak diperbolehkan (jelas) untuk memodifikasi mereka.
Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan untuk melakukannya
b. Ancaman terhadap Keamanan Database
Interuption: Sumber daya basis data dirusak atau menjadi tidak dapat dipakai (ancaman terhadap availability).
Interception: Pemakai atau bagian yang tidak berhak mengakses sumber daya basis data (ancaman secrecy).
Modification: Pemakai atau bagian yang tidak berhak tidak hanya mengakses tapi juga merusak sumber daya sistem komputer (ancaman integrity). Fabrication: Pemakai atau bagian yang tidak berhak menyisipkan objek palsu kedalam sistem (ancaman integrity).
c. Penyalahgunaan Database
1. Tidak disengaja, jenisnya :
Kerusakan selama proses transaksi
Anomali yang disebabkan oleh akses database yang konkuren
Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database
2. Disengaja, jenisnya :
Pengambilan data / pembacaan data oleh pihak yang tidak berwenang
Pengubahan data oleh pihak yang tidak berwenang
Penghapusan data oleh pihak yang tidak berwenang
d. Tingkatan Penyalahgunaan Database
Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
Sistem Database : Pengaturan hak pemakai yang  baik.
Pengaturan Keamanan Database
a. Otorisasi :

Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2
Mengendalikan sistem atau obyek yang dapat diakses
Mengendalikan bagaimana pengguna menggunakannya
Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
b. Tabel View :
     Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna. Contoh pada Database relasional,untuk pengamanan dilakukan beberapa level:
Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
Delete Authorization : pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
Index Authorization : pengguna diperbolehkan membuat dan menghapus index data.
Resource Authorization : pengguna diperbolehkan membuat relasi-relasi baru.
Alteration Authorization : pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
Drop Authorization : pengguna diperbolehkan menghapus relasi yang sudah ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE : mencabut  wewenang yang dimiliki oleh pemakai
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE
c. Backup data dan recovery :

Backup : proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan yang dibuat di database untuk proses recovery yang efektif jika terjadi kesalahan.
Isi Jurnal :
1. Record transaksi
Identifikasi dari record
Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
Item data sebelum perubahan (operasi update dan delete)
Item data setelah perubahan (operasi insert dan update)
Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk semua transaksi
2. Record checkpoint : suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.
Jenis Pemulihan :
Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.
d. Kesatuan data dan Enkripsi :

Enkripsi : keamanan data
Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Teknik Pemulihan Database
Teknik Pemulihan :
defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
Immediate Upadate / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
Shadow Paging : menggunakan page bayangan dimana para prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.
Pertanyaan
Salah satu contoh kasus penyalahgunaan database secara tidak sengaja dan secara di sengaja? (Fathul)
Jawab
Contoh kasus penyalahgunaan database secara tidak sengaja. Input data dengan informasi yang tidak benar misalnya menggunakan e-banking via internet kita memasukan no rek atau token yang salah dalam melakukan transaksi.
Contoh kasus yang di sengaja. Carding adalah penyusun data informasi pada database untuk mendapatkan hak guna yang bukan miliknya misalkan dengan menggunakan uang cairan secara digital dalam melakukan sebuah transaksi.

Senin, 20 April 2015

Keamanan pada Jaringan Komputer dan Prinsip Keamanan Komputer

3. Keamanan pada Jaringan Komputer

Dalam kemanan jaringan komputer ada beberapa hal yang perlu kita perhatikan, diantaranya yaitu membatasi akses ke jaringan. Adapun batasan yang dimaksud adalah seperti penjelasan dibawah ini :
1. Membatasi Akses ke Jaringan

A. Membuat tingkatan akses :

Pembatasan-pembatasan dapat dilakukan sehingga memperkecil peluang penembusan
oleh pemakai yang tak diotorisasi, misalnya :

  •     Pembatasan login. Login hanya diperbolehkan :
    •   Pada terminal tertentu.
    •   Hanya ada waktu dan hari tertentu.
    • Pembatasan dengan call-back (Login dapat dilakukan siapa pun. Bila telah sukses
login, sistem segera memutuskan koneksi dan memanggil nomor telepon yang telah
disepakati, Penyusup tidak dapat menghubungi lewat sembarang saluran telepon,
tapi hanya pada saluran telepon tertentu).

  •     Pembatasan jumlah usaha login.
  •     Login dibatasi sampai tiga kali dan segera dikunci dan diberitahu ke administrator.
  •     Semua login direkam dan sistem operasi melaporkan informasi-informasi berikut :
    • Waktu, yaitu waktu pemakai login.
    • Terminal, yaitu terminal dimana pemakai login.
  •     Tingkat akses yang diizinkan ( read / write / execute / all )



B. Mekanisme kendali akses :

Masalah identifikasi pemakai ketika login disebut otentifikasi pemakai (user authentication).
Kebanyakan metode otentifikasi didasarkan pada  tiga cara, yaitu :
1. Sesuatu yang diketahui pemakai,
  •     Password.
  •     Kombinasi kunci.
  •     Nama kecil ibu mertua.
  •     Dan sebagainya.

2. Sesuatu yang dimiliki pemakai, misalnya :
  •     Badge.
  •     Kartu identitas.
  •     Kunci.
  •     Dan sebagainya.

3. Sesuatu mengenai (ciri) pemakai, misalnya :
  •     Sidik jari.
  •     Sidik suara.
  •     Foto.
  •     Tanda tangan.


C. Waspada terhadap Rekayasa sosial :

1. Mengaku sebagi eksekutif yang tidak berhasil mengakses,  menghubungi administrator via telepon/fax.
2. Mengaku sebagai administrator yang perlu mendiagnosa masalah network, menghubungi end user via email/fax/surat.
3. Mengaku sebagai petugas keamanan e-commerce, menghubungi customer yang telah bertransaksi untuk mengulang kembali transaksinya di form yang disediakan olehnya.
4. pencurian surat, password.
5. penyuapan, kekerasan.


D. Membedakan Sumber daya internal dan Eksternal :

Memanfaatkan teknologi firewall yang memisahkan network internal dengan network
eksternal dengan rule tertentu.

E. Sistem Otentikasi User :

Adalah proses penentuan identitas dari seseorang yang sebenarnya, hal ini diperlukan
untuk menjaga keutuhan ( integrity ) dan keamanan ( security ) data, pada proses ini
seseorang harus dibuktikan siapa dirinya sebelum menggunakan layanan akses.

Upaya untuk lebih mengamankan proteksi password, antara lain :
1. Salting.
  • Menambahkan string pendek ke string password yang diberikan pemakai sehingga mencapai panjang password tertentu.
2. One time password.
  •     Pemakai harus mengganti password secara teratur. Upaya ini membatasi peluang password telah diketahui atau dicoba-coba pemakai lain.
  •     Bentuk ekstrim pendekatan ini adalah one time password, yaitu pemakai mendapat satu buku berisi daftar password. Setiap kali pemakai login, pemakai menggunakan password berikutnya yang terdapat di daftar password.
  •     Dengan one time password, pemakai direpotkan keharusan menjaga agar buku passwordnya jangan sampai dicuri.


3. Satu daftar panjang pertanyaan dan jawaban.
  •     Variasi terhadap password adalah mengharuskan pemakai memberi satu daftar pertanyaan panjang dan jawabannya. Pertanyaan-pertanyaan dan  jawabannya dipilih pemakai sehingga pemakai mudah mengingatnya dan tak perlu menuliskan di kertas.
  •     Pertanyaan berikut dapat dipakai, misalnya :
  1.         Siapa mertua abang ipar Badru ?
  2.         Apa yang diajarkan Pak Harun waktu SD ?
  3.         Di jalan apa pertama kali ditemukan simanis ?
  •     Pada saat login, komputer memilih salah satu dari pertanyaan-pertanyaan  secara acak, menanyakan ke pemakai dan memeriksa jawaban yang diberikan.

4. Tantangan tanggapan (chalenge response).
  •     Pemakai diberi kebebasan memilih suatu algoritma, misalnya x3.
  •     Ketika pemakai login, komputer menuliskan di layar angka 3. Dalam kasus ini pemakai mengetik angka 27. Algoritma dapat berbeda di pagi, sore, dan hari  berbeda, dari terminal berbeda, dan seterusnya.
Contoh Produk Otentikasi User, antara lain :

1. Secureid ACE (Access Control Encryption)
System token hardware seperti kartu kredit berdisplay, pemakai akan menginput nomor pin yang diketahui bersama, lalu memasukkan pascode bahwa dia pemilik

2. S/key (Bellcore)
System software yang membentuk one time password (OTP) berdasarkan informasi loginterkhir dengan aturan random

3. Password Authentication Protocol (PAP)
Protokol dua arah untuk PPP (Point to point Protocol). Peer mengirim pasangan user id dan password, authenticator

4. Challenge Handshake Authentication Protocol (CHAP)
S/key pada PAP, protocol 3 arah, authenticator mengirim pesan tantangan ke peer, peer menghitung nilai lalu mengirimkan ke authenticator, authenticator menyetujui otentikasi jika jawabannya sama dengan nilai

5. Remote Authentication Dial-in User Service (RADIUS)
Untuk hubungan dial-up, menggunakan network access server, dari suatu host yang menjadi client RADIUS, merupan system satu titik

6. Terminal Access Controller Access Control System (TACACS)
Protokol keamanan berbasis server dari CISCO System. Secury\ity Server terpusat dangan file password UNIX, database otentikasi, otorisasi dan akunting, fungsi digest (transmisi password yang tidak polos)

Pertanyaan yang diajukan ketika presentasi keamnan pada jaringan komputer
1. Apa yang dimaksud dengan wiretapping? apa saja ancaman yang dihasilkan oleh wiretapping? (Dennis)

Jawab: 
wiretapping adalah jenis ancaman keamanan jaringan yg berupa penyadapan melalui jaringan kabel. Bentuk ancaman ini adalah penyadapan melalui komunikasi jaringan data internet, penyadapan komunikasi melalui telfon. Biasanya wiretapping ini digunakan para aparat keamanan utk mendeteksi kejahatan yg mungkin terjadi, contohnya KPK yang menyadap telfon dari tersangka koruptor

4. Prinsip Keamanan Komputer

Pada dasarnya, prinsip-prinsip pengamanan suatu sistem komputer terbagi menjadi 3 macam, yaitu :
  •     Rancangan Sistem
   Rancangan (gambaran) suatu sistem sangat perlu diperhatikan dalam hal pengamanan komputer, karena jika suatu rancangan sistem tersebut lemah maka akan sangat rentan mendapat serangan dari seorang penyusup dan lainnya. Rancangan sistem yang baik adalah sebagai berikut :
a.    Rancangan sistem seharusnya publik
Membuat proteksi yang bagus dengan asumsi penyusup mengetahui
cara kerja sistem pengamanan.

b.    Dapat diterima
Tidak mengganggu kerja user dan kebutuhan otorisasi pengaksesan.
  •      Pemeriksaan Otorisasi
   Otorisasi adalah mendapatkan keterangan jika orang yang sekali teridentifikasi, diijinkan untuk memanipulasi sumber daya tertentu. Ini biasanya ditentukan dengan menyelidiki apakah orang itu memiliki aturan akses tertentu terhadap sumber daya atau tidak.
Pemeriksaan otorisasi menjadi sangat penting dalam pengamanan suatu sistem komputer karena jika terjadi kesalahan atau kurang efektif dalam melakukan otorisasi maka dampaknya akan sangat buruk bagi keamanan sistem komputer. Berikut adalah cara yang tepat dalam melakukan pemeriksaan otorisasi :
a.    Pemeriksaan otorisasi satu waktu
Pemeriksaaan dilakukan pada awal, setelah itu tidak lagi diperiksa.

b.    Kewenangan serendah mungkin
Berikan kewenangan serendah mungkin bagi pemakai, hanya untuk
melakukan tugasnya
  •      Mekanisme Ekonomi
   Suatu mekanisme pengamanan sebuah sistem komputer merupakan aspek terakhir yang harus diperhatikan. Mekanisme yang ekonomis, mekanisme yang sekecil dan sesederhana mungkin menjadi sangat penting dalam hal pengamanan komputer karena dengan itu proses verifikasi dapat mudah dilakukan.

Pertanyaan yang diajukan ketika presentasi prinsip keamanan komputer
1. Sebutkan contoh kewenangan serendah mungkin (Ryan) :

Jawab :
Contoh dalam kewenangan serendah mungkin seperti pemberian hak akses data pada suatu perusahaan, dimana terdapat 3 pengguna data, yaitu : admin, operator, dan user. Hak akses yang ada yaitu : Create, Read, Update, dan Delete. Untuk admin diberikan hak akses terhadap seluruhnya. Kemudian untuk operator diberikan hak akses Create, Read, dan Update. Sedangkan untuk user hanya diberikan hak akses untuk read saja. Diberlakukannya pembatasan hak akses bertujuan untuk efisiensi pengelolaan data dan meningkatkan kemanan data dari pengguna data yang tidak bertanggung jawab.

Senin, 13 April 2015

Keamanan pada Jaringan Lanjutan dan Kemanan Data dari Virus

1. Keamanan pada Jaringan Lanjutan
    Dalam kemanan jaringan kita harus membatasi asset organisasi secara fisik ataupun secara teknis. Adapun batasan yang dimaksud.

A.   Membatasi asset organisasi
-. Secara Adminsistratif / fisik
  •     Rencana kemungkinan terhadap bencana
  •     Program penyaringan calon pegawai system informasi
  •     Program pelatihan user
  •     Kebijakan akses network

-.Secara Teknis


  •     Penerapan Firewall
Firewall adalah suatu sistem perangkat lunak yang mengizinkan lalu lintas jaringan yang dianggap aman untuk bisa melaluinya dan mencegah lalu lintas jaringan yang dianggap tidak aman. Umumnya, sebuah tembok-api diterapkan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (GATEWAY) antara jaringan lokal dengan jaringan Internet.



  •     Penerapan Virtual Privat Network (VPN)

Virtual Private Network atau Jaringan Pribadi Maya sesungguhnya sama dengan Jaringan Pribadi (Private Network/PN pada umumnya, di mana satu jaringan komputer suatu lembaga atau perusahaan di suatu daerah ataau negara terhubung dengan jaringan komputer dari satu grup perusahaan yanng sama di daerah ataau negara lain. Perbedaannya hanyalah pada media penghubung antar jaringan. Kalau pada PN, media penghubungnya masih merupakann milik peruusahaan/gruup itu sendiri, dalam VPN, media penghubungnya adalah jaringan publik seperti Internet. Dalam VPN, karena media penghubung antar jaringannya adalah jaringan publik, diperlukan pengamanan dan pembatasan-pembatasan. Pengamanan diperlukan unntuk menjaga agar tidak sembarang orang dari jaringan publik dapat masuk ke jaringan pribadi. Yang dikecualikan hanyalah orang-orang yang terdaftar atau terotentifikasi terlebih dahulu yang dapat masuk ke aringan pribadi. Pembaatasan diperlukan untuk menjaga agar tidak semua orang atau user daari jaringan pribadi dappat mengakses jaringan publik (internet).

Pertanyaan yang diajukan pada saat presentasi :

1. Apa perbedaan antara sofware firewall dengan hardware firewall? (Andreas)
Jawab :
Ada dua jenis firewall yang tersedia di pasar saat ini. Mereka adalah:
  •     Hardware : ini adalah jenis  firewall berupa perangkat hardware yang dibuat khusus untuk memberikan keamanan. Karena hardware firewall adalah perangkat khusus yang dirancang dan dikembangkan untuk tujuan tersebut, mereka dianggap solusi terbaik untuk keamanan organisasi dan perlindungan informasi sensitif. Hardware firewall sebagian besar digunakan dalam lingkungan produksi dan tidak mungkin bahwa mereka dibeli untuk rumah. Alasan di balik ini adalah bahwa firewall hardware sulit untuk mengkonfigurasi dan membutuhkan profesional yang terampil dan berkualitas untuk melaksanakan keamanan di dalamnya efisien. Penggunaan firewall ini hanya terbatas pada media keamanan berorientasi atau organisasi berskala besar.
  •     Software : Ini adalah aplikasi firewall perangkat lunak yang dapat diinstal pada sistem komputer seperti aplikasi lainnya. Setelah instalasi, perangkat lunak firewall harus dikonfigurasi tepat untuk mengizinkan atau menolak komunikasi antara komputer dan jaringan / internet tergantung pada sifat dari paket. Meskipun ada firewall beberapa perangkat lunak yang tersedia di pasar yang tepat dikembangkan untuk tujuan keamanan, firewall ini tidak seefisien firewall hardware. Ketersediaan Firewall Software dan Hardware Alasan mengapa hardware firewall lebih bagus? Karena hardware firewall  adalah entitas yang nyata, mereka tidak bisa di-download dari Internet dan karena itu mereka harus dibeli dari pasar. Di firewall perangkat lunak sisi lain adalah aplikasi dan dapat dengan mudah download dari internet dan juga dapat dibeli dari pasar lokal. Ketika software  firewall  di-download, pengguna dapat melakukan pembayaran melalui kartu kredit atau metode lainnya. Contoh : hardware firewall Cisco PIX(buatan cisco) Checkpint Sonic Wall Contivity dari Nortel dan Cisco

2. Jelaskan cara kerja VPN ! (Firman)
Jawab :
Cara kerja VPN VPN membutuhkan sebuah server yang berfungsi sebagai penghubung antar PC,Server VPN ini bisa berupa komputer dengan aplikasi VPN Server atau sebuah Router, misalnya MikroTik RB 750. Komputer dengan aplikasi VPN Client mengontak Server VPN, VPN Server kemudian memverifikasi username dan password dan apabila berhasil maka VPN Server memberikan IP Address baru pada komputer client dan selanjutnya sebuah koneksi / tunnel akan terbentuk. Untuk selanjutnya komputer cliet digunakan untukmengakses berbagai resource


2. Keamanan data dari virus
Keamanan data dari virus merupakan salah satu hal penting dalam keamanan data. Virus dapat merubah, menambil ataupun mengapus data yang penting, oleh karena itu jika kita mengabaikan kemanan data dari virus akan sangan berbahaya.
-. Tipe-tipe virus :
  •     Virus Compiler: Virus yang sudah di compile sehingga dapat dieksekusi langsung. Ini adalah virus yang pertama kali muncul di dunia komputer.
  •     Virus File: Virus yang memanfaatkan file yang dapat diijalankan/dieksekusi secara langsung. Biasanya file *.EXE atau *.COM.
  •     Virus Sistem: Lebih dikenal sebagai virus Boot. Virus ini memanfaatkan file-file yang dipakai untuk membuat suatu sistem komputer. Sering terdapat di disket/tempat penyimpanan tanpa sepengetahuan kita.
  •     Virus Boot Sector: Virus yang memanfaatkan hubungan antar komputer dan tempat penyimpanan untuk penyebaran virus.
  •     Virus Dropper: Suatu program yang dimodifikasi untuk menginstal sebuah virus komputer yang menjadi target serangan. setelah terinstal, maka virus akan menyebar tetapi Dropper tidak ikut menyebar.
  •     Worm: Sebuah program yang bersifat parasit karena dapat menduplikasi diri. Akan tetapi, worm tidak menyerupai virus karena tidak menginfeksi program komputer lainnya.
  •     Virus Macro: Virus yang dibuat dengan memanfaatkan fasilitas pemrograman modular pada suatu program aplikasi seperti Ms Word, Ms Excel, Corel WordPerfect dan sebagainya.
  •     Virus Hybrid: Virus yang mempunyai dua kemampuan biasanya dapat masuk ke boot sector dan juga dapat masuk ke file.
  •     Virus Registry WIndows: Virus ini menginfeksi operating system yang menggunakan Windows 95/98/NT biasanya akan mengadakan infeksi dan manipulasi pada bagian registry Windows.

-.Klasifikasi virus
             Hampir 95% Virus adalah virus komputer berbasis sistim operasi Windows. Sisanya, 2% menyerang Linux/GNU (dan Unix, sebagai source dari Linux, tentunya), 1% menyerang Mac terutama Mac OS 9, Mac OS X (Tiger, Leopard). 2% lagi menyerang sistim operasi lain seperti FreeBSD, OS/2 IBM, dan Sun Operating System.
             Berikut adalah contoh dari beberapa jenis program yang berbahaya (harmful program) yang diklasifikasikan dalam beberapa kelompok berdasarkan cara mereka menyerang/menginfeksi sebuah sistem komputer:
  •     Malware (Malicious Software): program komputer yang diciptakan dengan maksud dan tujuan untuk menyerang dan membahayakan sebuah sistem komputer.
  •     Virus computer: program yang memiliki kemampuan untuk bereplikasi (memperbanyak) dengan sendirinya.
  •     Worm: program independen yang memiliki kemampuan untuk bereplikasi (memperbanyak) dengan Worm adalah program independen yang memiliki kemampuan untuk bereplikasi (memperbanyak) dengan sendirinya.Worm tidak menginfeksi program lainnya (host program) . Ia membuat copy/duplikat dirinya sendiri dan menginfeksi sistem komputer lainnya (biasanya menggunakan hubungan jaringan) .
  •     Trojan horse: replika atau duplikat virus yang merupakan program independen yang kelihatan berguna akan tetapi ketika dieksekusi, tanpa sepengetahuan pengguna (user), program tersebut juga menjalankan fungsi-fungsi yang bersifat merusak (destruktif).
  •     Malicious toolkits: program yang dirancang untuk membantu menciptakan program-program yang dapat membahayakan sebuah sistem komputer.
  •     Joke Program: Program yang dapat meniru operasi-operasi yang dapat membahayakan sistem komputer, namun sebenarnya dibuat untuk tujuan lelucon dan tidak mengandung sistem operasi yang berbahaya.
  •     Backdoor: Backdoor (pintu belakang), dalam keamanan sistem komputer, merujuk kepada mekanisme yang dapat digunakan untuk mengakses sistem, aplikasi, atau jaringan, selain dari mekanisme yang umum digunakan (melalui proses logon atau proses autentikasi lainnya). Beberapa pengembang perangkat lunak menambahkan backdoor ke dalam program buatannya untuk tujuan merusak (atau tujuan yang mencurigakan).
  •     Spyware: program yang mengumpulkan dan mengirim informasi tentang pengguna komputer tanpa diketahui oleh si pengguna (user). Informasinya bisa yang tidak terlampau berbahaya seperti pola berkomputer, terutama berinternet.
-.Antivirus
Antivirus adalah sebuah jenis perangkat lunak yang digunakan untuk mengamankan, mendeteksi, dan menghapus virus komputer dari sistem komputer. Program antivirus sekarang juga telah dilengkapi dengan kemampuan untuk mendeteksi perangkat pengintai, kit-akar, dan perangkat perusak lainnya. Antivirus sekarang dilengkapi dengan firewall untuk melindungi komputer dari serangan peretas dan anti spam untuk mencegah masuknya email sampah dan/atau virus ke kotak masuk pengguna.

-.Cara kerja antivirus:
  •     Pendeteksian dengan menggunakan basis data virus signature (virus signature database).
  •     Pendeteksian dengan melihat cara bagaimana virus bekerja.


Pertanyaan yang diajukan pada saat presentasi :

1. Apakah linux dapat terkena virus? Kalau bisa, seperti apa? Dan virus apa? (Ryan)
Jawab :
Bisa, hanya saja virus dilinux sangat jarang sekali. Karena hanya sedikit orang yang menggunakan linux untuk meletakkan data dan menggunakan sebagai sistem operasi tetap. Contoh virus di linux :
Alaeda – Virus.Linux.Alaeda
Bad Bunny – Perl.Badbunny
Binom – Linux/Binom

2. Bagaimana detail virus di linux menyerang sistem operasi tersebut?
Jawab :
Virus pada Linux tidak seheboh dan separah seperti yang ada dalam Windows. Di sistem operasi Windows, virus dapat menjangkiti, merusak, mengutak-atik bahkan merusak sistem. Tapi pada linux hanyalah sebagai penggangu yang tidak begitu meresahkan, karena jumlah virus yang berkembang tidak begiu banyak.


Minggu, 29 Maret 2015

Algoritma Kriptografi

        kriptografi adalah mengenai mengkonstruksi dan menganalisis protokol komunikasi yang dapat memblokir lawan, berbagai aspek dalam keamanan informasi seperti data rahasia, integritas data, autentikasi, dan non-repudansi, merupakan pusat dari kriptografi modern. Kriptografi modern terjadi karena terdapat titik temu antara disiplin ilmu matematika, ilmu komputer, dan teknik elektro. Aplikasi dari kriptografi termasuk ATM, password komputer, dan E-commerce.


A. Teknik Kriptografi
1. Metode Kuno Caesar Chiper
Mensubtitusi alphabet secara beraturan, yaitu oleh alphabet ketiga yang mengikutinya.

Tabel Subtitusi :
pi :   A  B  C  D  E  F  G  H  I  J    K  L  M  N  O  P  Q  R  S   T   U  V  W  X  Y  Z
ci :   D  E  F  G  H  I   J   K  L M  N  O  P   Q  R  S  T   U  V  W  X  Y   Z   A  B  C

Contoh proses penggunaan Caesar Cipher :
Pesan :
UNIVERSITAS GUNADARMA

Hasil enkripsi :
XQLYHUVLWDV JXQDGDUPD


2. Teknik Subtitusi
Teknik kriptografi yang sama dengan metode caesar chiper, namun peraturan dibuat sendiri oleh penulis dalam bentuk tabel sehingga penerima pesan juga harus memiliki tabel yang sama untuk keperluan deskripsi.

3.    Teknik Blocking
Membagi plain text menjadi blok-blok yang terdiri dari beberapa karakter kemudian dienkripsi secara independen.


Plain Text = 6 BELAJAR BERSAMA
ENCRYPT = 6J M ABA BRE E R L S A A






4.    Teknik Permutasi
Memindahkan atau merotasi karakter tertentu, kemudian membaginya kedalam 6 karakter dengan aturan.





PLAIN TEXT = 6 BELAJAR BERSAMA
CHIPER TEXT = A EBL6EA RBJ SMAAR










5.    Teknik Ekspansi
Teknik untuk melakukan ekspansi pesan (memelarkan pesan) dengan aturan tertentu.

Contoh :

    Bila suatu kata dimulai dengan huruf konsonan atau bilangan ganjil, maka letakkan huruf awal di akhir kata itu dan ditambahkan akhiran “–an”.
    Bila suatu kata dimulai dengan huruf vokal atau bilangan genap, letakkan huruf diawal kata dan ditambahkan akhiran “-i”.

PLAIN TEXT = 5 TEKNIK DASAR KRIPTOGRAFI
CHIPER TEXT = 5AN EKIKTAN ASARDAN RIPTOGRAFIKAN

Sumber :
http://id.wikipedia.org/wiki/Kriptografi
http://rahmansurya.net/teknik-dasar-kriptografi/