Selasa, 27 November 2012

Thread dan Sprite


Thread dan Sprite 

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

PENERAPAN
- Membuat Project Thread


-Class mainGame

-Class Counter

 


-Class MyThread

 
-Hasil setelah dijalankan

 

PENGERTIAN SPRITE

Sprite adalah karakter yang akan dimainkan dalam game, karakter yang dimaksud bisa karakter yang akan dimainkan secaa interaktif oleh user ataupun karakter yang pergerakannya digenerate otomatis oleh system dalam game.

PENERAPAN 
-Membuat class Sprite


 


-Class Sprite






READ MORE - Thread dan Sprite

Rabu, 03 Oktober 2012

Mobile Computing-Pertemuan 04: High Level User Interface

MIDP User Interface

MDIP user interface didesain untuk peralatan mobile. Aplikasi MDIP ditunjukan pada area
limited screen. Peralatan memory juga menjadi faktor penting jika perlengkapan mobile
hanya memiliki kapasitas memory yang kecil.

Dengan berbagai macam peralatan mobile, dari berbagai model mobile phones sampai
PDAs, MIDP user interface telah didesain untuk lebih fleksibel dan mudah digunakan
dalam berbagai macam peralatan ini.

MIDP mempunyai class yang dapat menangani fungsi high-level dan low-level user
interface. High-level UI interfaces didesain secara fleksibel. Penampilan dari komponen
ini tidak didefinisikan secara spesifik. Penampilan screen yang sebenarnya dari berbagai
macam komponen ini digunakan dari satu peralatan ke peralatan yang lain. Tetapi para
programmer telah teryakinkan oleh kegunaan dari high-level komponen UI interfaces
memiliki persamaan dalam berbagai spesifikasi-pengimplementasi secara keseluruhan.



Kapan menggunakan High-Level UI
  • Saat membangun aplikasi text-based yang mudah
  • Saat Anda ingin aplikasi Anda dapat dengan mudah dipertukarkan dengan berbagai
  • macam peralatan (Portabilitas)
  • Saat Anda ingin aplikasi Anda memiliki tampilan yang sama dengan komponen UI
  • yang lain dari berbagai peralatan
  • Saat Anda ingin kode Anda dapat menjadi sesedikit mungkin, ketika sebuah interaksi
  • ditangani oleh API



Kapan menggunakan Low-Level UI

  • Saat Anda memerlukan sebuah high-level untuk mengkontrol tampilan dari suatu aplikasi
  • Saat aplikasi Anda membutuhkan tempat yang tepat dari elemen-elemen yang ada pada screen
  • Saat membuat game secara grafik; meskipun Anda tetap dapat menggunakan high- level UI pada menu game, hal tersebut lebih disarankan untuk membuat menu UI
  • Anda sendiri untuk menghindari seamless atmosphere bagi para user
  • Saat sebuah aplikasi membutuhkan akses ke low-level yang memiliki inputan seperti key presses
  • Jika aplikasi Anda akan diimplementasikan pada layar navigasi Anda sendiri
READ MORE - Mobile Computing-Pertemuan 04: High Level User Interface

Lab Activity 3 (High Level User Interface)

Penggunaan Alert




 Hasil Run


  Penggunaan List


Hasil Run


Chice Group





Hasil Run





Date Field






Hasil Run






Penggunaan stringItem

Hasil Run







Penggunaan Image

Hasil Run

 
Penggunaan TextField

Hasil Run







Menggunakan itemStateListener


Hasil Run

READ MORE - Lab Activity 3 (High Level User Interface)

Minggu, 23 September 2012

Lab Activity 2

  Membuat MIDlet Dengan Menggunakan NetBeans Mobility Pack

Seperti yang telah dijelaskan pada awal bab ini tentang hal yang diperlukan, NetBeans  dan NetBeans Mobility Pack 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”,  kita akan membuat  MIDlet  kita sendiri nantinya
  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

READ MORE - Lab Activity 2

Senin, 17 September 2012

Perbaikan Kualitas Citra

sumber : http://maxteja.blogspot.com/2010/01/perbaikan-kualitas-citra-image.html


Perbaikan kualitas citra (image enhancement) merupakan salah satu proses awal dalam pengolahan citra. Perbaikan kualitas citra diperlukan karena seringkali citra yang dijadikan objek mempunyai kualitas yang buruk, misalnya citra mengalami derau (noise), citra terlalu gelap/terang, citra kurang tajam, kabur, dan sebagainya. Image enhancement juga melibatkan level keabuan dan manipulasi kontras, pengurangan derau, pemfilteran, penajaman, interpolasi dan magnifikasi, pseudo warna, dan sebagainya. Yang dimaksud dengan perbaikan kualitas citra adalah proses mendapatkan citra yang lebih mudah diinterpretasikan oleh mata manusia. Tujuan perbaikan citra adalah lebih menonjolkan ciri citra tertentu untuk kepentingan analisis atau menampilkan citra. Perbaikan citra berguna dalam ekstraksi cirri, analisis citra, dan tampilan informasi visual. Sedangkan restorasi citra mengacu pada menghilangkan atau meminimalkan degradasi dalam citra. Termasuk restorasi citra antara lain deblurring citra yang didegradasi oleh keterbatasan sensor atau lingkungannya, noise filtering, koreksi distorsi geometric atau ketidak linieran karena sensor-sensor. Perbedaan image enhancement dengan image restoration adalah pada image restoration perbedaan degradasi diketahui.
Beberapa teknik perbaikan kualitas citra yang umum digunakan antara lain:
                       i.         Operasi titik
a.       Pengubahan kontras
b.      Pemotongan noise
c.       Mengiris window (window slicing)
d.      Model histogram
                        ii.      Operasi spasial
a.       Pelembutan noise
b.      Filter median
c.       Unsharp masking
d.      Low-pass, bandpass, high-pass filtering
e.       pembesaran
                         iii.   Operasi transformasi
a.       Linier filter
b.      Root filter
c.       Homomorphic filter
                      iv.      Pseudowarna
a.       False coloring
b.      pseudocoloring
7.1  Pengubahan brightness& contrast citra
Kecerahan/kecemerlangan gambar dapat diperbaiki dengan menambahkan (mengurangkan) sebuah konstanta kepada (dari) setiap pixel di dalam citra. Akibat dari operasi ini, histogram citra mengalami pergeseran.
Secara matematis operasi ini ditulis sebagai:
f(x,y)’ = f(x,y) + b
jika b positif, kecerahan gambar bertambah, sebaliknya jika b negative kecerahan gambar akan berkurang.
Kontras menyatakan sebaran terang dan gelap di dalam sebuah gambar. Citra dapat dikelompokkan ke dalam 3 kategori kontras:
a.       Citra kontras rendah dicirikan dengan sebagian besar komposisi citranya adalah terang atau sebagian besar gelap. Dari histogramnya terlihat sebagian besar derajat keabuannya terkelompok bersama atau hanya menempati sebagian kecil dari rentang nilai-nilai keabuan yang mungkin. Jika pengelompokan nilai-nilai pixel berada di bagian kiri citranya cenderung gelap. Jika pengelompokan nilai-nilai pixel berada di bagian kanan citranya cenderung terang. Hal ini dapat diperbaiki kualitasnya dengan operasi peregangan kontras.
b.      Citra kontras bagus memperlihatkan jangkauan nilai keabuan yang lebar tanpa ada suatu nilai keabuan yang mendominasi. Histogram citranya memperlihatkan sebaran nilai keabuan yang relative seragam.
c.       Citra kontras tinggi, seperti halnya citra kontras bagus, memiliki jangkauan nilai keabuan yang lebar, tetapi terdapat area yang lebar yang didominasi oleh warna gelap dan arean yang lebar yang di dominasi oleh warna terang.

7.2  Pelembutan Citra (Image Smoothing)
Bertujuan menekan gangguan (noise) pada citra. Gangguan tersebut biasanya muncul sebagai akibat dari hasil penerokan yang tidak bagus (sensor noise, photographic grain noise) atau akibat saluran transmisi. Operasi pelembutan dapat dilakukan pada ranah spasial maupun pada ranah frekuensi. Pada ranah spasial, operasi pelembutan dilakukan dengan mengganti intensitas suatu pixel dengan rata-rata dari nilai pixel tersebut dengan nilai pixel-pixel tetangganya.
Operasi perata-rataan dapat dipandang sebagai konvolusi antara citra f(x,y) dengan penapis h(x,y):
g(x,y) = f(x,y)*h(x,y)
penapis h disebut penapis rerata (mean filter). Dalam ranah frekuensi, operasi konvolusi tersebut adalah:
G(u,v) = F(u,v)H(u,v)
Penapis h(x,y) pada operasi pelembutan citra disebut juga penapis lolos rendah (low pass filter), karena penapis tersebut menekan komponen yang berfrekuensi tinggi (misalnya pixel gangguan, pixel tepi) dan meloloskan komponen yang berfrekuensi rendah.
a.       Penapis lolos rendah
Penapis rata-rata adalah salah satu penapis lolos rendah yang paling sederhana. Aturan untuk penapis lolos rendah adalah:
-          Semua koefisien penapis harus positif
-          Jumlah semua koefisien harus sama dengan 1
Jika jumlah semua koefisien lebih besar dari 1, maka konvolusi menghasilkan penguatan (tidak diinginkan). Jika jumlah koefisien kurang dari 1, maka yang dihasilkan adalah penurunan, dan nilai mutlak setiap pixel di seluruh bagian citra berkurang. Akibatnya, citra hasil pelembutan tampak lebih gelap.
Jika citra hasil penapisan lolos rendah dikurangi dari citra semula (yang mengandung derau), maka yang dihasilkan adalah peningkatan relative komponen citra yang berfrekuensi tinggi tanpa peningkatan komponen derau.
Penapis lolos rendah merupakan penapis lanjar (linear). Operasi pelembutan dapat juga dilakukan dengan menggunakan penapis nirlanjar, yaitu:
1)      Penapis minimum
2)      Penapis maksimum
3)      Penapis median
b.      Penapis median
Penapis ini dikembangkan oleh Tukey. Pada penapis median, suatu window memuat sejumlah pixel. Window digeser titik demi titik pada seluruh daerah citra. Pada setiap penggeseran dibuat window baru. Titik tengah dari jendela ini diubah dengan nilai median dari window tersebut.
Jadi penapis median menghilangkan nilai pixel yang sangat berbeda dengan pixel tetangganya. Dalam beberapa kasus dapat dibuktikan bahwa penapis median memberikan hasil yang lebih baik dibandingkan penapis rerata untuk citra yang mengalami gangguan dalam bentuk spike berupa bercak-bercak putih.
Cara lain yang dapat dilakukan pada pelembutan citra adalah merata-ratakan derajat keabuan setiap pixel dari citra yang sama yang diambil berkali-kali. Misalnya untuk gambar yang sama direkam dua kali, lalu dihitung intensitas rata-rata untuk setiap pixel:
f’(x,y)= ½ {f1 (x,y) + f2 (x,y)}
c.       Penapis lolos tinggi
Aturan penapis lolos tinggi:
1.      Koefisien penapis boleh positif, negative, atau nol
2.      Jumlah semua koefisien adalah 0 atau 1.

7.3  Penajaman Citra (Image Sharpening)
Operasi penajaman bertujuan memperjelas tepi pada objek di dalam citra. Penajaman citra merupakan kebalikan dari operasi pelembutan karena operasi ini menghilangkan bagian citra yang lembut.
Operasi penajaman dilakukan dengan melewatkan citra pada penapis lolos tinggi (high pass filter). Penapis lolos tinggi akan meloloskan (memperkuat) komponen yang berfrekuensi tinggi (tepi/pinggir objek) dan akan menurunkan komponen berfrekuensi rendah. Akibatnya pinggiran akan terlihat lebih tajam dibandingkan sekitarnya.
Karena penajaman citra lebih berpengaruh pada tepi (edge) objek, maka penajaman citra sering disebut juga penajaman tepi (edge sharpening) atau peningkatan kualitas tepi (edge enhancement).


7.4  Pewarnaan semu
Adalah proses member warna tertentu pada nilai-nilai pixel suatu citra skala abu-abu pada suatu citra berdasarkan criteria tertentu, misalnya suatu waarna tertentu untuk suatu interval derajat keabuan tertentu.
7.5  Koreksi geometric
Koreksi geometric dilakukan pada citra yang memiliki gangguan yang terjadi pada waktu proses perekaman citra, misalnya pergeseran koordinat citra (translasi), perubahan ukuran citra, dan perubahan orientasi koordinat citra (skew). Proses koreksi geometri untuk meningkatkan kualitas citra tersebut disebut juga dengan koreksi geometri. Koreksi geometri yang sederhana dilakukan seperti rotasi, translasi, dan penskalaan citra.
READ MORE - Perbaikan Kualitas Citra

Sabtu, 15 September 2012

Lab Activity 1

Membuat Project seperti berikut ini :


Langkah - langkah percobaan :
Percobaan 1

1. Membuat Class bank
2. Membuat Class nasabah
3. Membuat Class budi sebagai turunan dari kelas nasabah


hasil Run 1 :


Percobaan 2

1. Selanjutnya, kita akan mencoba melakukan sedikit modifikasi class Bank dengan melakukan overloading constructornya
2. Melakukan modifikasi juga pada class Nasabah menjadi seperti ini

3. dan melakukan modifikasi pula pada class Budi
Hasil Run :

Percobaan 3

Modifikasi selanjutnya yaitu menggunakan constructor lain untuk membuat objek pada class Bank yang ada pada class Nasabah
Hasil Run
READ MORE - Lab Activity 1

Kamis, 13 September 2012

Review OOP


PBO ( Pemrograman Berorientasi Objek) atau bahasa kerennya OOP merupakan suatu teknik pemrograman yang memisalkan segala sesuatu dalam kehidupan nyata..
Konsep dasar Pemrograman Berorientasi Objek adalah pada class dan objek. Class adalah rancangan dari sebuah objek yang ditulis sekali dan dapat digunakan berulang - ulang. Contohnya adalah class bank, nasabah dll, sehingga tidak salah jika kita mengartikan class adalah sebagai prototype atau blue prints yang mendefinisikan variabel atau method secara umum. Sedangkan objek adalah realisasi dari class itu sendiri atau hasil instantiasi dari suatu class. Objek dapat disebut juga "instances".

Pada PBO terdapat attribute dan method. Attribute adalah berbagai variabel yang mengitari class, dengan nilai datanya dapat ditentukan di objek. Semisal pada class "Orang" memiliki attribute nama, usia, berat badan dan lain sebagainya.  Sedangkan method adalah implementasi dari bagaimana bekerjanya sebuah class.

PBO juga tidak jauh berbeda dengan bahasa pemrograman lainnya, pada PBO terdapat :
  • Tipe data {promitif : int, short, float, double, string, char, dll ; komposit : array, ADT}
  • Type casting {mengubah suatu tipe data ke tipe data lain}
  • Scope {variabel yang bisa dipanggil dimana saja}
  • Hak Akses {attribut dan method tidak semuanya dapat di panggil semua program}
  • Constructor {fungsi yang pertama kali dipanggil saat program dijalankan. constructor tidak mempunyai tipe kembalian}
  • Destructor {fungsi yang secara otomatis dijalankan saat objek selesai}
READ MORE - Review OOP