Senin, 19 November 2012

Lab Activity - Thread & Sprite

Mengenal class GameCanvas
  • class GameCanvas menyediakan fungsi-fungsi penting dalam menangani antar muka game.
  • Merupakan turunan dari class Canvas (commands, input events, etc.), dengan penambahan fitur antara lain kemampuan game yang spesifik seperti: off-screen graphic buffer dan kemampuan untuk mengetahui status key-key input dari key-key pada HP.
  • class GameCanvas pada MIDP 2.0 telah mengusung fitur-fitur penting yang mengatasi masalah yang ada pada MIDP 1.0. Yaitu sekarang kita cukup menggunakan sebuah (single) buffer untuk setiap obyek GameCanvas yang dibuat.
  • Ini sangat penting karena tidak hanya meminimalkan penggunaan heap memory yang digunakan oleh game. Tetapi juga agar game bisa dikontrol dengan hanya menggunakan sebuah (single) loop.
  • Karena menggunakan teknik buffering pada GameCanvas, yang disebut double buffering, penggambaran pada screen/display dilakukan otomatis (tanpa mendefinisikan sebuah thread tersendiri).
  • Kita hanya perlu memanggil method flushGraphics() untuk menampilkan graphics ke display.
  • Teknik Double Buffering tersebut dimaksudkan untuk menghindari flickering (efek berkedip) pada display dengan cara menggambar graphics ke file image sementara (temporary) secara off set (di background), dan akan ditampilkan ke display begitu file image sudah terisi graphics lengkap
Pengenalan Sprite
       Salah satu faktor yang membuat keberhasilan game adalah grafis yang unggul. Sebagian besar objek pada sebuah game dikategorikan sebagai grafis khusus yang disebut sprites. Sebuah sprite dapat berupa  bullet, monster, karakter utama, musuh, kekuatan spesial, kunci dan pintu.
       Pada umumnya  Sprite adalah grafis animasi. Grafis animasi dibuat dari  sprite yang sama namun berbeda penampakannya. Kumpulan sprite biasanya mengacu sebagai sebuah kumpulan  frame. Frame ini dapat dibuat secara terurut ataupun tidak terurut. Umumnya sprites ditampilkan secara terurut untuk memudahkan pengkodean.

Pengertian Thread
Thread yaitu kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren.
Ada dua cara yang bisa digunakan dalam membuat sebuah thread, yaitu :
1. Membuat subclass dari thread

Untuk menjalankan thread, dapat dilakukan dengan start(). Saat start() dijalankan, maka  sebenarnya     method dijalankan. Jadi untuk membuat thread, harus mendefinisikan pada definisi class. Konstruktor dari cara ini adalah :
   ClassThread namavar = new ClassThread();
Namavar.start();
Atau dapat juga langsung dengan cara:
   New ClassThread().start();

2. Mengimplementasikan interface Runnable

Cara ini merupakan cara yang paling sederhana dalam membuat thread. Runnable merupakan unit abstrak, yaitu kelas yang mengimplementasikan interface ini hanya cukup mengimplementasikan fungsi run(). Dalam mengimplementasi fungsi run(), kita akan mendefinisikan instruksi yang membangun sebuah thread. Konstruktor dari cara ini adalah :
   ObjekRunnable objek = new ObjekRunnable();
Thread namavar = new Thread(Objek Runnable);
Atau dengan cara singkat seperti :
New Thread(new ObjekRunnable());
  

Thread - Lab Activity

Class dalam project Thread
Class mainGame.java

Class MyThread.java



Class Counter.java

Hasil Running

Sprite - Lab Activity
**contoh sprite 1
    a. class dalam sprite
   b. class ContohSprite1.java


 c. Class ContohGameCanvas.java




**contoh sprite2
    a. class sprite 2
    b. source ContohSprite2.java
   








Kamis, 04 Oktober 2012

Lab Activity 3 Membuat Form Input Data

Tugas ke-3 kali ini adalah membuat form input data dengan menggunakan MIDlet. Form yang akan diisikan yaitu nama jenis kelamin, alamat, no telepon,email, dan tanggal lahir dengan menggunakan textfield,choicegroup,date. Terdapat 7 object yang digunakan yaitu Display, Alert, Form, StringItem, TextField, ChioceGroup, DateFile.
Sebelumnya terlebih dahulu mengimport file-file yang nantinya akan digunakan yaitu  
1. import javax.microedition.midlet.*;
2. import javax.microedition.lcdui.*;
3. import java.util.Date;

Untuk Hasil Runningnya dapat dilihat seperti gambar di bawah ini
Kemudian jika salah satu form belum diisi maka akan muncul tampilan seperti di bawah ini
Jika sudah diisi semua, makan akan ditampilkan lagi hasil dari inputan tadi, seperti di bawah ini
Source code dapat didownload disini



Rabu, 26 September 2012

Lab Activity 2 Membuat MIDlet Sederhana Dengan Netbeans


Hal yang diperlukan dalam membuat MIDlet sederhana adalah software Netbeans harus sudah terinstall di komputer Anda.


Langkah - Langkah Membuat MIDlet sederhana :

   1. Membuat project baru
   2. Memilih kategori “Mobile
   3. Memilih “Mobile Application
   4. Beri nama project dan tentukan lokasinya (Hilangkan  tanda pada “Create Hello MIDlet”, karena nanti 
       kita akan membuat MIDlet sendiri)
   5. Memilih Platform (optional)
   6. Membuat sebuah MIDlet barLangkah 7: Memilih MIDP “Category” dan MIDlet “File Typ
   7. Memilih MIDP “Category” dan MIDlet “File
   8. Memberi nama MIDlet
   9. Mengganti code yang dibuat secara otomatis dengan code program


10. Mengcompile dan Menjalankan (Run) MIDlet di Emulator kita
11. Menjalankan MIDlet kita di Emulator


Rabu, 19 September 2012

Lab Activity Pemrograman Bebasis Objek

Membuat class Bank
public class Bank {
         private int saldo;
         public void setSaldo (int uang) {
nilai variable saldo
         saldo+=uang;
         }
         public int getSaldo () {
variable saldo
              return saldo;
         }
}

......................................................
Membuat class Nasabah
public class Nasabah {
       private Bank bank;
       private String nama="-----";
......................................................

Membuat class Budi sebagai turunan dari class Nasabah
public class Budi extends Nasabah {
     public static void main (String [] ar) {


*Output : Gambar 1

Memodifikasi class Bank dengan mengoverloading constructor
public class Bank {
       private int saldo;
       //overloading constructor Bank
       public Bank () {
       }

................

Memodifikasi class Nasabah dengan membuat method baru yang akan dioverride di class Budi
public class Nasabah {
       private Bank bank;
       private String nama="-------"
.........................................................

Memodifikasi class Budi dengan mengoverride method dari class Nasabah
public class Budi extends Nasabah {
       public static void main (String [] ar) {
       Budi budi = new Budi ();
.........................................................
*Output : Gambar 2




Menggunakan constructor lain ketika membuat objek dari class Bank
public class Nasabah {
        private Bank bank ;
        private String nama="-----";
............................................................... 
*Output : Gambar 3




 

Object Oriented Programming (OOP) Review

Pemrograman berorientasi objek (object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Konsep dasar dari Pemrograman Berorientasi Objek Pemrograman orientasi-objek menekankan konsep berikut:
  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Attributes
    Definisi atribut :  adalah data yang membedakan antara obyek satu dengan yang lain.
    Contoh: VolcanoRobot ÆA volcanic exploration  vehicle, mempunyai atribut sebagai berikut:
    „ - Status Æexploring, moving, returning home
    „ - Speed Æin miles per hour
    „ - Temperature, in Fahrenheit degrees
    Dalam class atribut disebut sebagai Variabel
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Jumat, 14 September 2012

INSTALASI J2ME PADA ECLIPSE dan CONTOH PROGRAM "HELLO WORLD!"

Berikut ini adalah cara-cara setup J2ME pada Eclipse.
1. Komponen yang diperlukan sebelum memulai setting J2ME pada eclips adalah:
    - Java SDK, Sun Java Wireless Toolkit
    - Java Micro Edition SDK
    - Eclipse Pulsar , dapat di download disini
2. Instal Sun Java Wireless Toolkit
3. Instal Java Micro Edition SDK
4. Unzip folder "eclipse-pulsar-galileo-win32" yang telah di download
5. Jalankan dengan memilih "eclipse.exe", Karna eclipse ini bersifat portable untuk mempermudah akses mebuka aplikasi sebaiknya "eclpse.exe" diletakkan pada halaman desktop.
 
6. Pilih menu Window --> preferences --> pada kolom sebelah kiri, pilih menu Java ME --> Device Management

7. Pilih Import, selanjutnya cari lokasi instalasi Sun Java Wireless Toolkit "C:\ WTK2.5.2_01". Tunggu sampai muncul list-list yang akan di import, Cheklist semuanya dan klik "Finish" selanjutnya klik "OK"

Contoh program sederhana "Hello World"

1. Buat Project baru dengan pilih "file-->new-->project-->Java ME --> Midlet Project
 2. Isikan judul atau nama project "HelloWorld" dan klik finish
3. Buat Package, pilih "File -->New --> Package, isikan nama package  "helloWorld" -->Finish
 4. Buat class, pilih file -->New-->Class, isikan nama Class "HelloWorld" --> Finish
5. Ketikan source seperti tampak di bawah ini
6. Save, dan jalankan program dengan cara klik kanan pada "HelloWorld.java" -->Run As, atau tekan CTRL+ F11
Demikian beberapa langkah dalam pembuatan program Hello World sederhana




 


Kamis, 13 September 2012

Instalasi Eclipse Java Developer For Windows 7

Sebelum memulai penginstallan, terlebih dahulu pastikan PC sudah terinstall Java Development Kit (JDK).
Di bawah ini adalah cara untuk menginstal eclipse :
1. Buka folder eclipse yang sudah di ekstract kemudian jalankan "eclipse.exe"


2. Gunakan direktori file yang masih banyak untuk menginstal dan pilih pada workspace
    Agar lebih mudah dalam menjalankan program, masukan "eclipse.exe" ke dalam Menu Desktop


Kemudian, dibawah ini akan diberikan contoh untuk memulai program "Hello Word" pada eclipse
1. Buka ecilpse lalu muncul halaman awal eclipse
2. Untuk memulai lembar kerja baru pilih fille --> New -->Java Project

3. Kemudian muncul halaman dialog "New Java Project", maka pada "Project Name" isikan judul atau nama   project anda,misalnya "tugas1". Pada JRE, pilih "Use  an execution environment JRE : Gunakan JDK 1.6. Klik "Finish".

4. Untuk membuat program hello world, klik kanan pada project --> New --> Package

5. muncul Halaman dialog "New Java Package", isikan nama untuk folder package "tugas1"

6. Buat class dengan klik kanan pada package yang telah dibuat New-->Class

7. Akan muncul halaman dialog " New Java Class", isikan name class pada blok kedua, pada Modifiers pilih public , klik "Finish"

8. Akan muncul halaman workspace "tugas1.java", masukkan kode seperti berikut :

9. Untuk menjalankan program , klik kanan pada "tugas1.java" -->"Run As"-->""Java application".

10. Hasil Run akan muncul pada panel "Console"
Selesailah program Hello World sederhana


Senin, 04 Juni 2012

Task 5 : Konfigurasi Dynamic Route

Nama     : Nur Eling Tyas
NIM      : 5302410030
Rombel  : 01

Untuk mendapatkan source dan konfigurasinya secara lengkap bisa diunduh DISINI

Selasa, 29 Mei 2012

Task 6 : VPN (Virtual Private Network) & Konsep Keamanan Data

VPN adalah singkatan dari virtual private network, yaitu Sebuah cara aman untuk mengakses local area network yang berada pada jangkauan, dengan menggunakan internet atau jaringan umum lainnya untuk melakukan transmisi data paket secara pribadi, dengan enkripsi Perlu penerapan teknologi tertentu agar walaupun menggunakan medium yang umum, tetapi traffic (lalu lintas) antar remote-site tidak dapat disadap dengan mudah, juga tidak memungkinkan pihak lain untuk menyusupkan traffic yang tidak semestinya ke dalam remote-site.
Menurut IETF, Internet Engineering Task Force, VPN is an emulation of [a]
private Wide Area Network(WAN) using shared or public IP facilities, such as the Internet or
private IP backbones.
VPN merupakan suatu bentuk private internet yang melalui public network
(internet), dengan menekankan pada keamanan data dan akses global melalui internet.
Hubungan ini dibangun melalui suatu tunnel (terowongan) virtual antara 2 node.
adalah suatu jaringan privat (biasanya untuk instansi atau kelompok tertentu) di dalam jaringan internet (publik), dimana jaringan privat ini seolah-olah sedang mengakses jaringan lokalnya tapi menggunakan jaringan public
VPN adalah sebuah koneksi Virtual yang bersifat privat mengapa disebut demikian karena pada dasarnya jaringan ini tidak ada secara fisik hanya berupa jaringan virtual dan mengapa disebut privat karena jaringan ini merupakan jaringan yang sifatnya privat yang tidak semua orang bisa mengaksesnya. VPN Menghubungkan PC dengan jaringan publik atau internet namun sifatnya privat, karena bersifat privat maka tidak semua orang bisa terkoneksi ke jaringan ini dan mengaksesnya. Oleh karena itu diperlukan keamanan data
Konsep kerja VPN pada dasarnya VPN Membutuhkan sebuah server yang berfungsi sebagai penghubung antar PC. Jika digambarkan kira-kira seperti ini
internet <—> VPN Server <—-> VPN Client <—-> Client
bila digunakan untuk menghubungkan 2 komputer secara private dengan jaringan internet maka seperti ini: Komputer A <—> VPN Clinet <—> Internet <—> VPN Server <—> VPN Client <—> Komputer B
Jadi semua koneksi diatur oleh VPN Server sehingga dibutuhkan kemampuan VPN Server yang memadai agar koneksinya bisa lancar.
lalu apa sih yang dilakukan VPN ini?? pertama-tama VPN Server harus dikonfigurasi terlebih dahulu kemudian di client harus diinstall program VPN baru setelah itu bisa dikoneksikan. VPN di sisi client nanti akan membuat semacam koneksi virtual jadi nanti akan muncul VPN adater network semacam network adapter (Lan card) tetapi virtual. Tugas dari VPN Client ini adalah melakukan authentifikasi dan enkripsi/dekripsi.
Nah setelah terhubung maka nanti ketika Client mengakses data katakan client ingin membuka situs www.google.com. Request ini sebelum dikirimkan ke VPN server terlebih dahulu dienkripsi oleh VPN Client misal dienkripsi dengan rumus A sehingga request datanya akan berisi kode-kode. Setelah sampai ke server VPN oleh server data ini di dekrip dengan rumus A, karena sebelumnya sudah dikonfigurasi antara server dengan client maka server akan memiliki algorith yang sama untuk membaca sebuah enkripsi. Begitu juga sebaliknya dari server ke Client.
Keamanan Dengan konsep demikian maka jaringan VPN ini menawarkan keamanan dan untraceable, tidak dapat terdeteksi sehingga IP kita tidak diketahui karena yang digunakan adalah IP Public milik VPN server. Dengan ada enkripsi dan dekripsi maka data yang lewat jaringan internet ini tidak dapat diakses oleh orang lain bahkan oleh client lain yang terhubung ke server VPN yang sama sekalipun. Karena kunci untuk membuka enkripsinya hanya diketahui oleh server VPN dan Client yang terhubung. Enkripsi dan dekripsi menyebabkan data tidak dapat dimodifikasi dan dibaca sehingga keamananya terjamin. Untuk menjebol data si pembajak data harus melalukan proses dekripsi tentunya untuk mencari rumus yang tepat dibutuhkan waktu yang sangat lama sehingga biasa menggunakan super computing untuk menjebol dan tentunya tidak semua orang memiliki PC dengan kemampuan super ini dan prosesnya rumit dan memakan waktu lama, agen-agen FBI atau CIA biasanya punya komputer semacam ini untuk membaca data-data rahasia yang dikirim melaui VPN.
Apakah Koneksi menggunakan VPN itu lebih cepat????? Hal ini tergantung dari koneksi antara client dengan VPN server karena proses data dilakukan dari VPN otomatis semua data yang masuk ke komputer kita dari jaringan internet akan masuk terlebih dahulu ke VPN server sehingga bila koneksi client ke VPN server bagus maka koneksi juga akan jadi lebih cepat. Biasanya yang terjadi adalah penurunan kecepatan menjadi sedikit lebih lambat karena harus melewati 2 jalur terlebih dahulu temasuk proses enkripsi. VPN ini bisa digunakan untuk mempercepat koneksi luar (internasional) bagaimana caranya???
misal kita punya koneksi lokal (IIX) sebesar 1mbps dan koneksi luar 384kbps kita bisa menggunakan VPN agar koneksi internasional menjadi sama dengan koneksi lokal 1mbps. Cara dengan menggunakan VPN Lokal yang diroute ke VPN Luar
internet <—->VPN Luar<—>VPN lokal <—>Client
mengapa model jaringan ini bisa lebih cepat sebab akses ke jaringan luar dilakukan oleh VPN luar lalu kemudian diteruskan oleh VPN lokal nah kita mengakses ke jaringan lokal yang berarti kecepatan aksesnya sebesar 1mbps. Tentunya diperlukan VPN dengan bandwith besar agar koneksinya bisa lancar.

KONSEP KEAMANAN DATA
  •  Masalah keamanan dan kerahasiaan data merupakan salah satu aspek penting dari suatu sistem informasi
  •  Pentingnya informasi dikirim dan diterima oleh orang yang berkepentingan
  • Informasi akan tidak berguna apabila di tengah jalan disadap atau dibajak oleh orang yang tidak berhak
Lingkup keamanan data
• Keamanan fisik
• Keamanan akses
• Keamanan file/data
• Keamanan Jaringan

Aspek yang berkaitan dengan persyaratan keamanan
Secrecy (hanya dapat dibaca oleh orang yg berhak)
Integrity (data hanya dapat diubah oleh orang yg berhak)
Availability (data dapat dimanfaatkan oleh orang yg berhak)
Interruption->data dirusak atau dibuang, ex:harddisk dirusak, line komunikasi diputus
Interception->org yg tdk berhak memperoleh akses informasi, ex: menyadap data
Modification->perubahan informasi olehorang yg tdk berhak, ex:merubah program
Fabrication->org yg tdk berhak meniru ataumemalsukan suatu objek ke dlm sistem, ex:menambahkan suatu record ke dalam file
Ancaman terhadap keamanan non fisik
• Intrudes -> hackers/crackers -> kelompok2
penggemar komputer yg pada awalnya
berusaha menembus keamanan suatu sistem
komputer yg dianggap canggih
• Malicious Program -> program yg dibuat
untuk mengganggu dan bahkan merusak
suatu sistem komputer