Minggu

File Sistem Kelompok 1

2.1.2 File Sistem
            Sebelum media dapat digunakan untuk menyimpan data, biasanya media tersebut harus dipartisi dan diformat ke dalam logical volume terlebih dulu. Mempartisi adalah suatu aktivitas untuk membagi media secara logikal ke dalam bagian-bagian yang berfungsi sebagai unit fisik terpisah. Logical volume adalah sebuah partisi atau kumpulan partisi yang berfungsi sebagai satu kesatuan yang telah diformat dengan suatu filesistem. Beberapa jenis media, seperti disket, dapat berisi paling banyak satu partisi (dan sebagai konsekuensi, satu logical volume). Format logical volume ditentukan oleh filesistem yang dipilih. Suatu filesistem menentukan cara file dinamai, disimpan, diorganisir dan diakses pada logical volumes. Terdapat beragam filesistem, masing-masing menyediakan fitur dan struktur data yang unik. Namun demikian, semua filesistem memiliki beberapa ciri umum. Pertama, mereka menggunakan konsep direktori dan file untuk mengorganisir dan menyimpan data. Direktori adalah struktur organisasional yang digunakan untuk mengelompokkan file. Selain file, direktori dapat berisi direktori lain yang disebut subdirektori. Kedua, filesistem menggunakan beberapa struktur data untuk menunjuk lokasi file pada media. Mereka juga menyimpan masing-masing file data yang ditulis ke media dalam satu atau lebih unit alokasi file. Hal ini dikenal sebagai cluster oleh beberapa filesistem (misalnya File Allocation Table [FAT], NT File System [NTFS]) dan blok oleh filesistem lainnya (misalnya filesistem Unix dan Linux). Sebuah unit alokasi file adalah sebuah kelompok sektor, yang merupakan unit terkecil yang dapat diakses pada suatu media.
Berikut ini adalah beberapa filesystem yang umum digunakan:
          FAT12. FAT12 digunakan hanya pada disket dan volume FAT yang lebih kecil daripada 16 MB. FAT12 menggunakan sebuah entri FAT 12-bit untuk menunjuk entri dalam filesistem.
          FAT16. MS-DOS, Windows 95/98/Nt/2000/Xp, Server Windows 2003, dan beberapa sistem operasi UNIX mendukung FAT16 secara asli. FAT16 biasanya juga digunakan untuk alat multimedia seperti audio player dan kamera digital. FAT16 menggunakan sebuah entri FAT 16-bit untuk menunjuk entri dalam filesistem. Volume FAT16 terbatas hingga maksimum 2 GB di dalam MS-DOS dan Windows 95/98. Windows NT dan sistem operasi yang lebih baru meningkatkan ukuran volume maksimum FAT16 menjadi 4 GB.
          FAT32. Windows 95 OEM Service Release 2 (OSR2), Windows 98/2000/XP, dan Windows Server 2003 mendukung FAT32 secara asli, seperti halnya beberapa alat multimedia. FAT32 menggunakan sebuah entri FAT 32-bit untuk menunjuk entri dalam filesistem. Ukuran maksimum volume FAT32 adalah 2 terabytes (TB).
          NTFS. Windows NT/2000/XP dan Server Windows 2003 mendukung NTFS secara asli. NTFS adalah suatu filesistem dapat dipulihkan, yang berarti bahwa ia dapat secara otomatis mengembalikan konsistensi filesistem manakala terjadi kesalahan. Sebagai tambahan, NTFS mendukung data kompresi dan enkripsi, dan memungkinkan ijin tingkat user dan grup didefinisikan untuk file dan direktori. Ukuran maksimum volume NTFS adalah 2TB.
          Second Extended Filesystem (ext2fs). ext2fs didukung secara langsung oleh Linux. ext2fs mendukung jenis file dan pemeriksaan filesistem standar Unix untuk memastikan konsistensi filesistem. Ukuran volume ext2fs maksimum adalah 4 TB.
          Third Extended Filesystem (extSfs) extSfs didukung secara langsung o!eh Linux extSfs didasarkan pada ext2fs filesystem dan menyediakan kemampuan menjurnai yang memungkmkan pemeriksaan konsistensi filesistem dilakukan dengan cepat pada sejumlah data yang besar. Ukuran volume extSfs maksimum adalah 4 TB.
          ReiserFS.21 ReiserFS didukung oleh Linux dan merupakan filesistem baku bagi beberapa versi Linux, la memberikan kemampuan menjurnai dan jauh lebih cepat dibandingkan filesistem ext2fs dan extSfs. Ukuran volume maksimum adalah 16 TB.
          Hierarchical File System (HFS). HFS didukung secara langsung oleh Mac OS. HFS sebagian besar digunakan di dalam versi lama Mac OS tetapi masih didukung dalam versi lebih baru. Ukuran volume maksimum HFS di Mac OS 6 dan 7 adalah 2 GB. Ukuran volume maksimum HFS dalam Mac OS 7.5 adalah 4 GB. Mac O 7.5.2 dan sistem operasi Mac yang terbaru meningkatkan ukuran volume maksimum HFSmenjadi2TB.
          HFS Plus. HFS Plus didukung secara langsung oleh Mac OS 8.1 dan versi selanjutnya dan ia merupakan sebuah filesistem berjurnal di Mac OS X. HFS Plus adalah penerus HFS dan memberikan banyak peningkatan seperti mendukung nama file yang panjang dan nama file Unicode untuk penamaan file internasional. Ukuran volume maksimum HFS Plus adalah 2 TB.
          Unix File System (UFS). UFS didukung secara asli oleh beberapa jenis sistem operasi Unix, termasuk Solaris, FreeBSD, OpenBSD, dan Mac OS X Namun demikian, kebanyakan sistem operasi sudah menambahkan fitur khusus, sehingga detil UFS berbeda antar implementasi.
          Compact Disk File System (CDFS). Seperti indikasi namanya, CDFS filesistem digunakan untuk CD.
          International Organization for Standardization (ISO) 9660 dan Joliet ISO 9660 filesistem biasanya digunakan pada CD-ROM. Filesistem CD-ROM yang popular lainnya adalah Joliet, suatu varian ISO9660. ISO 9660 mendukung panjang nama file sampai 32 karakter, sedangkan Joliet mendukung sampai 64 karakter. Joliet juga mendukung karakter Unicode di dalam pemberian nama file.
          Universal Disk Format (UDF). UDF adalah filesistem yang digunakan untuk DVD dan juga digunakan untuk beberapa CD.

2.1.3 Data Lain Pada Media
Seperti yang diuraikan di atas, filesistem dirancang untuk menyimpan file pada suatu media. Namun demikian, filesistem dapat pula berisikan data dan dihapusnya file atau versi lebih awal dari file yang ada. Data ini dapat menyediakan informasi penting Beberapa hal berikut menguraikan bagaimana data masih dapat berada pada berbagai media:
          File yang dihapus. Manakala suatu file dihapus, umumnya ia tidak dihapus dan media; melainkan informasi struktur data direktori yang menunjuk ke lokasi file ditandai sebagai terhapus. Hal ini berarti file masih disimpan pada media tetapi hal itu tidak lagi dihitung oleh sistem operasi tersebut. Sistem operasi menganggap ini sebagai ruang kosong dan dapat mengisi sebagian atau seluruh file terhapus kapanpun dibutuhkan.
          Slack Space. Seperti dijelaskan sebelumnya, filesistem menggunakan unit-unit alokasi file untuk menyimpan file. Sekalipun suatu file memerlukan ruang lebih sedikit daripada ukuran unit alokasi file, seluruh unit alokasi file masih disediakan untuk file itu. Sebagai contoh, jika ukuran unit alokasi file adalah 32 KB dan suatu file hanya berukuran 7 KB, keseluruhan 32 KB dialokasikan untuk file tetapi hanya 7 KB yang digunakan, akibatnya 25 KB ruang yang tak terpakai. Ruang yang tak terpakai ini dikenal sebagai file slack space, ia dapat berisikan data sisa seperti bagian file yang dihapus.
          Free Space. Free Space adalah area pada media yang tidak dialokasikan untuk partisi apapun. la terdiri dari cluster atau blok yang tidak teralokasi. Hal ini sering meliputi ruang pada media tempat file (dan bahkan keseluruhan volume) mungkin berada pada satu waktu namun kemudian telah dihapus Ruang kosong masih dapat berisi potongan data.
Cara lain data mungkin disembunyikan adalah melalui Alternate Data Streams (ADS) di dalam volume NTFS. NTFS telah lama mendukung berbagai arus data untuk direktori dan file. Masing-masing file pada suatu volume NTFS terdiri dari suatu stream tak bernama yang digunakan untuk menyimpan data primer file, dan satu atau lebih stream bernama (misalnya file.txt:Stream1, file.txt:Stream2) yang dapat digunakan untuk menyimpan informasi tambahan seperti properti file dan gambar thumbnail data Sebagai contoh, jika seorang user mengklik kanan pada suatu file di dalam Windows Explorer, melihat properti file dan kemudian memodifikasi informasi yang diperlihatkan di dalam summary tab, OS menyimpan ringkasan informasi file dalam arus bernama (named stream).
            Semua arus data dalam suatu file berbagi atribut file (seperti timestamp, atribut keamanan). Walaupun stream bernama mempengaruhi kuota penyimpanan file, mereka sebagian besar disembunyikan dari user sebab utilitas file Windows standar seperti Explorer hanya melaporkan ukuran stream tak bernama (unnamed stream) file. Akibatnya, user tidak dapat menentukan apakah suatu file berisi ADS dengan menggunakan utilitas file Windows standard. Hal ini memungkinkan data tersembunyi berada dalam filesistem NTFS. Memindahkan file dengan ADS ke filesistem non-NTFS secara efektif melepaskanADS dari file, maka ADS dapat hilangjika analis tidak paham akan kehadiran mereka.

 Link Kelompok:
Bobby Naibaho : Pengumpulan Bukti Digital
Reza Rizki Pradana : Mengumpulkan Data
M. Akhsan Fauzi : Integritas File Data

Sabtu

E-Agriculture: Pemanfaatan TIK untuk Peningkatan Kinerja Bidang Pertanian

          Pertanian Indonesia merupakan aset penting dalam perekonomian negara, pengetahuan mengenai pertanian tentu harus didalami bagi orang yang menggeluti bidang ini. Pertama kali Milennium Development Goals (MDGs) dicanangkan tahun 2000, salah satu fokusnya adalah pembangunan yang keberlanjutan (sustainability development). Pembangunan yang berkelanjutan ini pada dasarnya terdiri dari tiga komponen: environmental sustainability, economic sustainability, and sociopolitical sustainability.
          Salah satu entry point untuk menjaga pembangunan yang berkelanjutan dalam bidang lingkungan adalah melalui pertanian yang ramah lingkungan. Pertanian yang ramah lingkungan tersebut melibatkan banyak entitas: petani, pelanggan, pemerintah, pebisnis, pabrik pupuk, dan lain-lain. Satu entitas berinteraksi dengan entitas lainnya. Agar sinergi antar entitas ini optimal, perlu dibangun sistem e-agriculture.
          Pembangunan e-agriculture menjamin kegiatan pertanian yang berkelanjutan yang mengintegrasikan tiga tujuan yaitu: ramah lingkungan, pertanian yang menguntungkan, dan masyarakat petani yang makmur.
          E-agriculture dapat memecahkan berbagai permasalahan yang muncul dalam pertanian moderen, seperti penggunaan bahan kimia yang berlebihan, volume sisa pembuangan yang besar, dan “memaksa” tanah untuk melebihi kapasitasnya.
          Di samping itu, para produsen (petani) berada pada posisi tawar yang lemah dibandingkan para pedagang perantara dan konsumen. Petani sulit mendapatkan informasi yang mutakhir mengenai besaran kebutuhan, harga, kapan menaman, apa yang sebaiknya ditanam, dimana bisa menjual komoditas pertanian tersebut, dan lain-lain.
          Ketidakseimbangan dari supply-chain ini menyebabkan kemiskinan terstruktur dikalangan petani.” Sejak tahun 2010, DeTIKnas mencanangkan e-agriculture menjadi salah satu program strategisnya yang mengajak Kementrian Pertanian sebagai mitra utamanya. Inilah salah satu kerja nyata dari pemanfaatan TIK pada perekonomian di bidang pertanian.

Jumat

Langkah Perusahaan menjalankan Tanggung Jawab Sosial Terhadap Konsumen dan Lingkungan sekitar

         Tanggung jawab sosial terhadap konsumen dan lingkungan adalah salah satu kunci sukses dari keberhasilan suatu perusahaan. Disini saya akan mengambil salah satu contoh perusahaan yang cukup terkenal di Indonesia, yaitu Pt. Danone AQUA.
            AQUA mengikuti aturan yang dituangkan dalam Piagam Danone tentang manajemen sumber daya air untuk menjamin kemurnian dan kualitas sumber-sumber mata air alami yang AQUA miliki serta menjaga kelestarian sumber-sumber tersebut. AQUA juga memberikan kembali apa yang telah diambilnya dari alam dengan menjaga sumber-sumber daya alam di daerah pegunungan dimana jika hujan turun akan mengisi sumber mata air AQUA. AQUA juga bekerjasama dengan pihak setempat yang berkepentingan dengan menjalankan sejumlah program sosial dan lingkungan hidup untuk memberdayakan masyarakat sekitarnya. Program tersebut meliputi:
  • Pertanian yang berkesinambungan
  •  Pengelolaan sampah
  • Pendidikan lingkungan dan kesehatan
  • Akses ke air bersih dan sanitasi
  •  Penghijauan
  •  Manajemen irigasi terpadu.

            Kita dapat melihat dari sudut pandang konsumen, AQUA selalu memberikan penjelasan dengan detail dari proses pengolahan sumber mata air dan pelestarian alam yang di lakukan, sehingga para konsumen tidak ragu untuk menggunakan produk tersebut. Dari segi lingkungan sekitar, AQUA memberikan mata pencaharian yang lebih terhadap penduduk sekitar tempat pengolahan mata air. Penduduk dapat berkerja dan mendirikan tempat makan atau tempat istirahat bagi para pegawai AQUA. AQUA juga selalu menjaga kelestarian sekitar dengan pengelolaan sampah dan pendidikan lingkungan terhadap pegawainya.
            Inilah yang dapat kita jadikan contoh salah satu perusahaan yang mempunyai tanggung jawab terhadap konsumen dan lingkungan dengan baik. Dengan keterbukaannya pengelolaan sumber mata air dapat dipercaya oleh masyarakat luas di Indonesia.n pengelolaan linkungan sekitar AQUA da

Senin

Perencanaan dan Perekrutan tenaga kerja dalam Wirausaha

         Sumber daya manusia yang berkerja pada suatu wirausaha, baik yang kecil maupun wirausaha yang besar mempunyai peran yang besar pada masa depan wirausaha tersebut. Skill dan pengetahuan yang cukup dengan tempat dan apa yang di perdagangkan pada bidang usaha tersebut merupakan salah satu faktor penting dalam pemilihan tenaga kerja. Disinilah kita perlu lebih memperhatikan manajemen dalam penerimaan tenaga kerja.
          Penseleksian dapat dilakukan dari mulai jumlah karyawan yang dibutuhkan. Setelah itu membuka lamaran pada wirausaha tersebut. Dan dilanjukan dengan perekrutan tenaga kerja. Pada tahap ini dapat dilakukan persyaratan yang dibutuhkan oleh perusahaan yaitu berupa CV, riwayat hidup, dan pengetahuan sosial yang dapat di tentukan oleh wirausaha tersebut.
          Setalah dinyatakan lulus seleksi awal, maka calon pegawai diberikan masa uji coba kerja dan pelatihan mengenai bidang kerja yang akan dikerjakannya. Disini ditujukan agar dapat memilih tenaga kerja yang sesuai dengan perusahaan. Setelah itu pegawai yang dinyatakan lulus dalam masa uji coba kerja ini akan diberikan interview mengenai gaji bulanan dan peraturan-peraturan yang berlaku pada perusahaan tersebut.
        Pemilihan tenaga kerja sangat penting dalam wirausaha, karena setiap pegawai yang bekerja pada perusahaan tersebut mempunyai peran masing-masing yang saling berhubungan untuk masa depan perusahaan tersebut.

Rabu

Storyboard How to Train Your Dragon



Berlatar belakang tempat di Kepulauan Berk, sebuah tempat dimana para Viking hidup dan senantiasa melawan para naga yang acapkali mencuri ternak mereka. Karena itu pulalah, setiap anak remaja di kepulauan tersebut diberi pelatihan dan pengetahuan mengenai naga, agar di kemudian hari mereka dapat menggantikan posisi generasi terdahulu mereka untuk mempertahankan ternak mereka dari serangan para naga.
Itu tak terkecuali juga dialami oleh Hiccup (Jay Baruchel), anak dari ketua suku Viking di Kepulauan Berk, Stoick the Vast (Gerard Butler), yang dapat dikatakan sedikit berbeda dari anak-anak Viking lainnya. Memang, Hiccup memiliki hasrat yang besar untuk memerangi para naga. Namun setiapkali ia mulai untuk menunjukkan ‘kemampuannya’, disitu pula berbagai rentetan permasalahan mulai muncul. Akibatnya, ia mulai disingkirkan dari lingkungannya, termasuk oleh sang ayah yang mulai memandang aneh pada anaknya.
Tentu saja hal tersebut tidak lantas menghentikan langkah Hiccup. Secara tak sengaja, ia berhasil melumpuhkan seekor naga dari kelas yang paling disegani dan ditakuti oleh sukunya, Night Fury. Sesuai dengan kebiasaannya sukunya, Hiccup pun berniat untuk membunuh naga tersebut dan membawa jantungnya kepada sang ayah untuk membuktikan keberaniannya. Namun, ternyata Hiccup tak memiliki keberanian untuk melakukannya. Ia bahkan melepaskan ikatan naga tersebut dan membiarkannya pergi.
Ternyata, disitu pulalah hubungan antara Hiccup dan sang naga — yang nantinya ia namakan Toothless — mulai tumbuh. Merasa bersalah karena tindakannyalah yang menyebabkan sang naga tidak dapat kembali terbang, Hiccup akhirnya datang setiap hari ke tempat Toothless berada dan merawatnya. Lewat persahabatan yang aneh inilah, Hiccup akhirnya ditunjukkan oleh Toothless bahwa bukan kemauan para sang nagalah maka mereka harus mencuri ternak para manusia. Karenanya, Hiccup bertekad untuk menunjukkan pada sang ayah serta seluruh kaum Viking bahwa para naga sebenarnya butuh bantuan mereka, dan bukan untuk diperangi.

Karakter Game How to Train Your Dragon - Night Fury



The Night Fury adalah spesies naga yang hanya muncul dalam dalam Film How to Train Your Dragon, namun dalam novelnya bernama Garden Common atau sering disebut dengan Naga bergigi Ompong. Night Fury merupakan salah satu dragon yang mempunyai keahlian khusus dibandingkan dengan dargon lainnya. Salah satu kelebihannya ialah kecepetannya yang sangat cepat dibandingkan dengan naga lainnya.

Selasa

Game Engine Bag. 3

Farseer Physic Engine merupakan engine fisika yang open source untuk .NET.
Pada tulisan ini saya akan mencoba membuat contoh implementasi dari sebuah kotak dan lingkaran. Kotak dan lingkaran tersebut dapat digerakkan dan bertabrakan satu sama lain.

Program yang diperlukan  :
-          Microsoft Visual Studio 2008 SP 1
-          XNAGS 31

Packages atau project yang dibutuhkan :
-          Farseer Physics 2.1.3 XNA
-          DemoBaseXNA

Langkah-langkah :
Buat project baru XNA Game Studio 3.1 -> Windows Game 3.1


Add Packages Farseer Physics 2.1.3 XNA & DemoBaseXNA



Add Reference Farseer Physics 2.1.3 XNA & DemoBaseXNA


Buat Class yang diturunkan dari class DemoBaseXNA.ScreenSystem.GameScreen
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DemoBaseXNA;
using DemoBaseXNA.DrawingSystem;
using DemoBaseXNA.ScreenSystem;
using FarseerGames.FarseerPhysics;
using FarseerGames.FarseerPhysics.Dynamics;
using FarseerGames.FarseerPhysics.Factories;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

namespace WindowsGame2.Contoh1
{
    class contoh1:GameScreen
    {
        //inisialisasi awal gamescreen
        public override void Initialize()
        {
        }

        //load object, digunakan untuk load lingkaran dan kotak
        public override void LoadContent()
        {
        }

        //digunakan untuk menggambar objek ke layar
        public override void Draw(GameTime gameTime)
        {
        }

        //handle input state dari gamescreen
        public override void HandleInput(InputState input)
        {
        }

        //handle input dari keyboard
        private void HandleKeyboardInput(InputState input)
        {
        }
        //text detail saat dilayar pause
        private static string GetDetails()
        {
        }
    }
}
Inisialisasi Class GameScreen
public override void Initialize()
        {
            //inisialisasi physic simulator
            PhysicsSimulator = new PhysicsSimulator(new Vector2(0, 0));
            //add physic simulator ke view
            PhysicsSimulatorView = new hysicsSimulatorView(PhysicsSimulator);

            base.Initialize();
        }

Load objek gambar geometry yang akan diload
public override void LoadContent()
        {
            //membuat brush untuk draw lingkaran
            //radius, fill color, border color
            _circleBrush = new CircleBrush(64, Color.White, Color.Black);
            _circleBrush.Load(ScreenManager.GraphicsDevice);

            //membuat body dari lingkaran untuk simulasi gaya dan impuls
            //radius, masa
            _circleBody = BodyFactory.Instance.CreateCircleBody(PhysicsSimulator, 64, 1);
            _circleBody.Position = new Vector2(500, 384);

            //mmebuat geometri untuk deteksi tabrakan dari lingkaran
            //body, radius, jumlah edge/garis
            GeomFactory.Instance.CreateCircleGeom(PhysicsSimulator, _circleBody, 64, 20);

            //membuat body kotak untuk simulasi gaya dan impuls
            //width, height, mass
            _rectangleBody = BodyFactory.Instance.CreateRectangleBody(PhysicsSimulator, 128, 128, 1);
            _rectangleBody.Position = new Vector2(256, 384);

            //membuat geometri untuk deteksi tabrakan dari kotak
            //width, height
            GeomFactory.Instance.CreateRectangleGeom(PhysicsSimulator, _rectangleBody, 128, 128);

            //membuat brush untuk draw kotak
            //width, height, fill color, border color
            _rectangleBrush = new RectangleBrush(128, 128, Color.Gold, Color.Black);
            _rectangleBrush.Load(ScreenManager.GraphicsDevice);

            base.LoadContent();
        }
Draw brush model sesuai dengan bodynya
public override void Draw(GameTime gameTime)
{
//memulai proses drawing pada SpriteBatch
ScreenManager.SpriteBatch.Begin(SpriteBlendMode.AlphaBlend);
//menggambar brush lingkaran sesuai dengan body lingkaran
_circleBrush.Draw(ScreenManager.SpriteBatch, _circleBody.Position);
//menggambar brush kotak sesuai dengan body kotak
_rectangleBrush.Draw(ScreenManager.SpriteBatch, _rectangleBody.Position, _rectangleBody.Rotation);
//menutup SpriteBatch
ScreenManager.SpriteBatch.End();
base.Draw(gameTime); 
} 
Mengatur handle input
public override void HandleInput(InputState input)
        {
            //jika gamescreen pertama kali dijalankan
            if (firstRun)
            {
                //tambah pause screen ke screen manager
                ScreenManager.AddScreen(new PauseScreen(GetTitle(), GetDetails()));
                firstRun = false;
            }

            //jika screen dalam keadaan pause/ berhentei sejenak
            if (input.PauseGame)
            {
                ScreenManager.AddScreen(new PauseScreen(GetTitle(), GetDetails()));
            }

            //handle input keyboard
            HandleKeyboardInput(input);
            base.HandleInput(input);
        }

        private void HandleKeyboardInput(InputState input)
        {
            //set besarnya penambahan gaya jika user menekan A/S/D/W
            const float forceAmount = 50;

            //set gaya awal sebesar 0/ diam
            Vector2 force = Vector2.Zero;

            //set Y negatif/ ke bawah
            force.Y = -force.Y;

            //user menekan tombol A
            if (input.CurrentKeyboardState.IsKeyDown(Keys.A)) { force += new Vector2(-forceAmount, 0); }
            //user menekan tombol S
            if (input.CurrentKeyboardState.IsKeyDown(Keys.S)) { force += new Vector2(0, forceAmount); }
            //user menekan tombol D
            if (input.CurrentKeyboardState.IsKeyDown(Keys.D)) { force += new Vector2(forceAmount, 0); }
            //user menekan tombol W
            if (input.CurrentKeyboardState.IsKeyDown(Keys.W)) { force += new Vector2(0, -forceAmount); }

            //berikan gaya pada body kotak
            _rectangleBody.ApplyForce(force);

            //set besarnya pertambahan torsi pada kotak
            const float torqueAmount = 1000;

            //set torsi awal menjadi 0/ tidak berputar
            float torque = 0;

            //user menekan tombol left
            if (input.CurrentKeyboardState.IsKeyDown(Keys.Left)) { torque -= torqueAmount; }
            //user menekan tombol right
            if (input.CurrentKeyboardState.IsKeyDown(Keys.Right)) { torque += torqueAmount; }
            //berikan torsi pada kotak
            _rectangleBody.ApplyTorque(torque);
        }

Set atribut lain dalam GameSreen
//judul dari GameScreen
public static string GetTitle()
{
return "Contoh 1 : kotak dan lingkaran";
}
//Deskripsi dari GameScreen (akan dipasang di pause screen)
private static string GetDetails()
{
StringBuilder sb = new StringBuilder();
sb.AppendLine("Contoh isi dari layar pause/menu");
sb.AppendLine("object attached.");
sb.AppendLine(string.Empty);
sb.AppendLine("Keyboard:");
sb.AppendLine(" -Rotasi : panah kanan atau kiri");
sb.AppendLine(" -Gerak: A,S,D,W");
sb.AppendLine(string.Empty);
sb.AppendLine("Mouse");
sb.AppendLine(" -Tahan mouse kiri lalu drag mouse");
return sb.ToString(); 
} 
Set constructor Game, add GameScreen ke Game
public Game1()
        {
            graphics = new GraphicsDeviceManager(this);

            //set judul game
            Window.Title = "Contoh Farseer Physics Engine XNA";

            graphics.SynchronizeWithVerticalRetrace = false;

            TargetElapsedTime = new TimeSpan(0, 0, 0, 0, 10);
            IsFixedTimeStep = true;

            //set ukuran jendela game
            graphics.PreferredBackBufferWidth = 800;
            graphics.PreferredBackBufferHeight = 600;
            graphics.IsFullScreen = false;

            //set apakah mouse di draw atau tidak
            IsMouseVisible = true;

            //Set window defaults. Parent game can override in constructor
            Window.AllowUserResizing = false;

            //new-up components and add to Game.Components
            ScreenManager screenmanager= new ScreenManager(this);
            Components.Add(screenmanager);

            //set frame counter
            FrameRateCounter frameRateCounter = new FrameRateCounter(screenmanager);
            frameRateCounter.DrawOrder = 101;
            Components.Add(frameRateCounter);

            //tambah GameScreen yang sudah Anda buat(contoh1)
            screenmanager.MainMenuScreen.AddMainMenuItem(contoh1.GetTitle(), new contoh1());
            screenmanager.MainMenuScreen.AddMainMenuItem("Keluar", null, true);

            //arahkan game ke main menu
            screenmanager.GoToMainMenu();
        }
Dan berikut adalah hasil akhir dari program diatas

Microsoft XNA Game Studio ( Game Engine ) Bag. 1 dan Bag. 2

Pada penulisan ini saya ingin menjelaskan salah satu game engine terkemuka yaitu, Microsoft XNA Studio. pada tulisan saya sebelumnya juga sudah menjelaskan tentang game engine ini, tidak ada salahnya saya untuk menjelaskannya kembali :D


Saya hanya menjelaskan klasifikasi tentang software Microsoft XNA Game Studio. pada aplikasi terdapat framework yang sangat berperan penting dalam pembuatan game, yaitu Microsoft XNA Framework. Framework ini merupakan tools tambahan pada Microsoft Visual Studio untuk pengembangan game dengan kerangka game XNA. Melalui kerangka game itulah, anda dapat melakukan pengembangan hingga kustomisasi untuk menghasilkan game yang unik sesuai dengan keinginan anda.

Kerangka game XNA yang dihasilkan secara otomatis ketika Anda membuat proyek game dengan Visual Studio merupakan kelas turunan dari kelas Microsoft.Xna.Framework.Game. Kelas itu memiliki atribut dan fungsi-fungsi yang dapat dimanfaatkan terkait pengambangan game yang akan dilakukan.

1. Graphics
Atribut bertipe GraphicsDevicemanager ini memunkinkan anda untuk mengakses graphic card yang terdapat pada PC. komponen itulah yang bertindak sebagai perantara antara gane XNA yang dikembangkan dengan GPU (Graphical Processing Unit) yang terdapat pada graphic card anda

2. SpriteBatch
Melalui komponen SpriteBatch inilah anda dapat membuat sprite yang akan diintegrasikan ke dalam game, seperti sprite pemain, sprite musuh, dan sprite background.

3. Initialize()
Fungsi Initialize() digunakan untuk melakukan inisialisasi terhadap seluruh variabel dan objek yang terdapat dalam kerangka game XNA yang dibuat sebelumnya.

4. LoadContent
Fungsi LoadContent() akan secara otomatis dipanggil setelah proses inisialisasi. Melalui fungsi itulah seluruh komponen yang terlibat dalam game, seperti gambar, model 3D, dan efek suara di load ke dalam game.

5. UnloadContent()
Fungsi UnloadContent() berfungsi sebaliknua, yaitu digunakan untuk meng-unload seluruh komponen yang sudah diload melalui fungsi LoadCOntent(). Fugnsi itu dapat digunakan untuk melakukan prises manajemen memory ketika game sedang dimainkan.

6. Update()
Seluruh algoritma yang memengaruhi game dapat di masukkan ke dalam fungsi Update(), seperti pergeseran objek, dteksi tabrakan (collision detection), dan update skor.

7. Draw()
Fungsi Draw(), sesuai dengan namanya, digunakan untuk melakukan menggambar seluruh objek dalam game.


Gambar dibawah ialah halaman Visual Studio Installed Templates XNA Game Studio.

Halaman utama aplikasi Visual C# Express Edition yang digunakan untuk mengembangkan game

Hasil awal game XNA yang dirunning dari aplikasi Visual C# Express edition

Rabu

Pengertian MD5 dan SHA

Kriptografi berasak dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan graphia berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat lain. Cukup banyak algoritma yang sering dipakai untuk meng-enkripsikan suatu informasi atau data. Untuk kesempatan ini, mungkin hanya menjelaskan tentang Hash function.

Data yang disimpan di dalam memori komputer perlu ditempatkan dalam suatu cara sedemikian sehingga pencariannya dapat dilakukan dengan cepat. Setiap data yang berupa record mempunyai field kunci yang unik yang membedakan suatu record dengan record yang lainnya. Fungsi Hash digunakan untuk menempatkan suatu record yang mempunyai nilai kunci k. fungsi hash yang paling umum berbentuk.
                                               h(k) = k mod m
yang dalam hal ini m adalah jumlah lokasi memori yang tersedia (misalkan memori bebentuk sel-sel yang diberi indeks 0 sampai m -1). Fungsi h diatas menempatkan record dengan kunci k pada suatu lokasi memori yang berlamat h(k). 

Selanjutnya saya akan menjelaskan algoritma MD-5 dan SHA yang merupakan pengembangan varian dari fungsi hash.

MD-5
Merupakan fungsi Hash yang sering digunakan untuk mengamankan suatu jaringan komputer dan internet yang sengaja dirancang untuk tujuan sebagai berikut:

1. Keamanan  : Hal ini tidak bisa dielakkan karena tidak satupun sistem algoritma yang tidak dapat bisa dipecahkan. Serangan yang sering digunakan untuk menjebol algoritma Hash adalah dengan menggunakan serangan brute force

2. Kecepatan  : Software yang digunakan mempunyai kecepatan yang tinggi karena didasarkan sekumpulan manipulasi operan 32 bit.

3. Simple  : Tanpa menggunakan struktur data yang kompleks

MD5 digunakan untuk pengkodean password pada sistem operasi. MD5 mengolah masukan yang berbentuk blok 512 bit yang dibagi dalam 16 bentuk subblok yang masing-masing berukuran 32 bit, sedangkan keluaran terdiri dari 4 blok berukuran 32 bit, dari 4 blok keluaran digabungkan menjadi 128 bit.

MD-5 adalah salah satu aplikasi yang digunakan untuk mengetahui bahwa pesan yang dikirim tidak ada perubahan sewaktu berada di jaringan. Algoritma MD-5 secara garis besar adalah mengambil pesan yang mempunyai panjang variable diubah menjadi ‘sidik jari’ atau ‘intisari pesan’ yang mempunyai panjang tetap yaitu 128 bit. ‘Sidik jari’ ini tidak dapat dibalik untuk mendapatkan pesan, dengan kata lain tidak ada orang yang dapat melihat pesan dari ‘sidik jari’ MD-5

Langkah-langkah pembuatan message digest secara garis besar:
1. Penambahan bit-bit pengganjal (padding bits).
2. Penambahan nilai panjang pesan semula.
3. Inisialisasi penyangga (bufferMD.
4. Pengolahan pesan dalam blok berukuran 512 bit.

berikut contoh hasil MD5 :
Plain teks:
ini merupakan contoh hash MD5
Cipher teksnya menjadi :
13 D6 8B 6C EC 35 8D AE D8 29 21 64 BC 38 C5 8F
mungkin hanya sampai disini pembahasan dasar mengenai MD5, selanjutnya saya akan menjelaskan algoritma SHA.

SHA
SHA adalah serangkaian fungsi cryptographic hash yang dirancang oleh National Security Agency (NSA) dan diterbitkan oleh NIST sebagai US Federal Information Processing Standard.SHA adalah Secure Hash Algoritma. Jenis-jenis SHA yaitu SHA-0, SHA-1, dan SHA-2.
Untuk SHA-2 menggunakan algoritma yang identik dengan ringkasan ukuran variabel yang terkenal sebagai SHA-224, SHA-256, SHA-384, dan SHA-512. SHA-1 merupakan yang sering digunakan dalam mengamankan protokol pengiriman.

Berikut kelebihan dari SHA 1:

a. validate a password (memvalidasi password); nilai hash dari password akan disimpan, kemudian ketika password diotentikasi, maka password yang dimasukkan oleh user akan dihitung hashnya dan jika hashnya sesuai maka password dinyatakan valid. Namun untuk mendapatkan password yang asli tidak dapat diperoleh dari hash yang telah disimpan.

b. Challenge handshake authentication; untuk menghindari kesalahan pengiriman password dalam kondisi “clear”, client dapat mengirim nilai hash sebuah password melalui internet untuk divalidasi oleh server tanpa beresiko disadapnya password yang asli.

c. Anti-tamper ; untuk memastikan data tidak berubah selama ditransmisikan. Penerima akan menghitung nilai hash dan mencocokkan dengan hash yang dikirimkan, apabila nilainya sama berarti data yang dikirimkan tidak berubah. 

d. digital signatures; dilakukan dengan cara mengenkrip nilai hash sebuah dokumen dengan menggunakan private key, sehingga menghasilkan tanda tangan digital untuk dokumen tersebut. Orang lain dapat mengecek otentikasi dokumen tersebut dengan cara mendekrip tanda tangan tersebut menggunakanpublic key untuk mendapatkan nilai hash yang asli dan membandingkannya dengan nilai hash dari teks.


berikut contoh menggunakan SHA-1 (160 bit):
Plain teks :
ini merupakan contoh hash MD5
Cipher teksnya :
F5 75 6F 4F 26 9F 51 BB B3 55 5F 04 7A 2E E8 FE B0 F9   


Jumat

Macam-macam Software dan Klasifikasi pengembang Game

Siapa yang tidak tertarik untuk bermain game? Nintendo, Square Enix dan Namco adalah bebebrapa perusahaan game developer yang sangat terkenal dengan aplikasi-aplikasi game yang dikembangkan mereka masing-masing saat ini.

Hingga saat ini, sebagian besar dari kita adalah pemain atau pemkai produk game karenakita lebih tertarik untuk memainkannya ketimbang membuatnya. Dalam benak kita, membuat game sudah pasti rumit dan membutuhkan waktu lama. Namun, kini itu semua adalah cerita usang karena sudah banyak beredar aplikasi yang dapat membantu kita untuk merealisasikan ide-ide kreatif kita ke dalam aplikasi game dengan cukup mudah. Aplikasi RPG Maker, Microsoft XNA Game Studio, dan Game Maker adalah beberapa aplikasi pengembang game yang dapat menjadikan impian untuk menjadi pembuat game menjadi kenyataan.

Saya hanya menjelaskan klasifikasi tentang software Microsoft XNA Game Studio. pada aplikasi terdapat framework yang sangat berperan penting dalam pembuatan game, yaitu Microsoft XNA Framework. Framework ini merupakan tools tambahan pada Microsoft Visual Studio untuk pengembangan game dengan kerangka game XNA. Melalui kerangka game itulah, anda dapat melakukan pengembangan hingga kustomisasi untuk menghasilkan game yang unik sesuai dengan keinginan anda.

Kerangka game XNA yang dihasilkan secara otomatis ketika Anda membuat proyek game dengan Visual Studio merupakan kelas turunan dari kelas Microsoft.Xna.Framework.Game. Kelas itu memiliki atribut dan fungsi-fungsi yang dapat dimanfaatkan terkait pengambangan game yang akan dilakukan.

1. Graphics
Atribut bertipe GraphicsDevicemanager ini memunkinkan anda untuk mengakses graphic card yang terdapat pada PC. komponen itulah yang bertindak sebagai perantara antara gane XNA yang dikembangkan dengan GPU (Graphical Processing Unit) yang terdapat pada graphic card anda

2. SpriteBatch
Melalui komponen SpriteBatch inilah anda dapat membuat sprite yang akan diintegrasikan ke dalam game, seperti sprite pemain, sprite musuh, dan sprite background.

3. Initialize()
Fungsi Initialize() digunakan untuk melakukan inisialisasi terhadap seluruh variabel dan objek yang terdapat dalam kerangka game XNA yang dibuat sebelumnya.

4. LoadContent
Fungsi LoadContent() akan secara otomatis dipanggil setelah proses inisialisasi. Melalui fungsi itulah seluruh komponen yang terlibat dalam game, seperti gambar, model 3D, dan efek suara di load ke dalam game.

5. UnloadContent()
Fungsi UnloadContent() berfungsi sebaliknua, yaitu digunakan untuk meng-unload seluruh komponen yang sudah diload melalui fungsi LoadCOntent(). Fugnsi itu dapat digunakan untuk melakukan prises manajemen memory ketika game sedang dimainkan.

6. Update()
Seluruh algoritma yang memengaruhi game dapat di masukkan ke dalam fungsi Update(), seperti pergeseran objek, dteksi tabrakan (collision detection), dan update skor.

7. Draw()
Fungsi Draw(), sesuai dengan namanya, digunakan untuk melakukan menggambar seluruh objek dalam game.

Senin

Langkah-langkah Pembuatan Game

Postingan ini merupakan lanjutan dari postingan sebelumnya. yaitu sebuah team dalam pembuatan game. pada kali ini saya akan menjelaskan langkah-langkah pembuatan game.

1. Menentukan tema dan genre game
Hal pertama yang harus kita lakukan adalah menentukan tema game. Apa tema yang akan kita angkat dalam game yang nantinya akan kita buat. Berikutnya yang harus kita lakukan adalah memilih genre dari game yang akan dibuat, apakah Actions, Adventure, Puzzle, Shooting, Strategy, Card, Sport dan lain sebagainya. 

2. Menentukan background serta grafis
Setelah menentukan tema dan genre game yang akan dibuat kita harus menentukan background dan grafis yang tepat. Hal ini dimaksudkan agar pada saat game tersebut telah jadi dan dijalankan, orang yang memainkannya tidak merasa bosan. Maka pilihlah grafis dari game yang kita buat secara baik dan benar, apakah realistis, semi realistis, atau kartun. Perannya yang penting ialah designer, dan Artist


3. Memilih software
Langkah ini sangat-lah penting karena software yang digunakan nanti dalam pembuatan game tersebut akan berjalan dengan baik atau tidak. Softwarenya pun sangat bermacam dari yang berlicense maupun yang Open Source. Pemilihan software itu pun tergantung dari kemampuan programmer.

4. Menentukan backsound
Berikutnya kita harus menentukan back sound dari game yang kita buat. Tidak lupa pula kita membuat efek suara yang akan muncul pada saat kita memainkan game tersebuat agar game tampak lebih menarik. Tanpa adanya efek suara maka game akan terasa kurang hidup ketika dimainkan. Jangan asal memasukan suara karena akan membuat game anda menjadi tidak menarik. Maka peran Composer atau music editor akan sangat berpengaruh dengan backsound dalam game tersebut.

5. Mulai membuat game
Kemudian langkah selanjutnya kita tahapan pembuatan game dengan software yang telah kita tentukan sebelumnya.

6. Melakukan percobaan
Langkah terakhir yang harus kita lakukan adalah melakukan tes / percobaan terhadap game yang telah kita buat, apakah di dalamnya masih terdapat error atau tidak. dan melakukan pengamanan aplikasi game yang sangat baik, agar setelah game di riliskan tidak akan ada yang bisa mencoba melakukan cara curang.

Mungkin hanya sebatas itu yang saya ketahui dengan langkah-langkah pembuatan game. Apabila masih ada yang kurang atau kurang tepat dalam bahasannya, saya mohon maaf. Terimakasih :)

Jumat

Team pembuatan Game

Game. kita pasti sangat menyukainya, baik dari anak kecil hingga tua. Game terdiri dari 2 jenis yaiutu game tradisional, dan game modern. Namun saya disini akan menjelaskan tentang pembuatan game pada zaman modern, lebih spesifiknya lagi ialah game console. Perkembangan teknologi kini jauh lebih cepat dari beberapa tahun sebelumnya. Game-pun dapat memberikan efek positif dan negatif. Positifnya ialah kita dapat melatih otak untuk memecahkan masalah pada game tersebut, dengan tak langsung ini telah menambahkan nilai IQ otak kita. namun efek negatifnya ialah akan melupakan segala hal, seperti waktu tidur yang kurang,  melupakan waktu ibadah, dan sebagainya yang dapat merugikan diri sendiri maupun orang-orang disekitarnya.Dalam pembuatan game tersebut terlebih dahulu membentuk suatu team yang mempunyai tugas  yang berbeda-beda dan memiliki tujuan yang sama. berikut penjelasan bagian dari team tersebut :

Game Designer 
Peran disini merupakan seseorang yang mempunyai tugas untuk membuat alur cerita, gameplay, environment, dan scenario dari game yang dibuat. Peran Game designer sangat penting karena sukses atau tidaknya suatu game ialah ide orisinil dari game desaigner

Artist 
Peran disini merupakan seseorang yang membuat gambar model character dari game tersebut, bukan hanya model character, melainkan juga pada latar dan efek-efek disaat game sedang dijalankan.

Programmer 
Orang - orang pada bagian ini yang membuat coding untuk game yang telah dirancang oleh team game designer. Kompleksitas coding dari algoritma game ini ialah harus sempurna, agar game yang dibuat  minim dengan bug-bug yang dapat merugikan perusahaan game.  

Composer / Music Editor
Peran orang disini juga sangat penting dalam pembuatan game, karena game yang baik dan bagus ialah game yang iteraktif dengan penggunanya. Dengan cara memberikan suara latar saat game dimainkan, dan suara-suara character yang saling mendukung disetiap keadaan game sedang dijalankan.

Keempat bagian diatas ialah peran yang sangat penting dalam pembuatan game, diperlukan kerjasama yang sangat solid agar game tersebut layak untuk dimainkan.