Let Find Out..

Rabu, 01 Desember 2010

Artikel Asynchronous Transfer Mode


Asynchronous Transfer Mode
Asynchronous Transfer Mode adalah nama sebuah jaringan khusus. ATM merupakan sebuah teknologi lapisan 2, yang dapat digunakan oleh siapa saja, namun sekaligus merupakan sebuah jaringan publik sebagaimana halnya Internet, dengan sistem pengalamatan yang dikelola secara rapi, sehingga setiap perangkat di dalam jaringan dapat memiliki sebuah identitas yang unik.
Konsep Dasar ATM

ATM suatu mode transfer yang berorientasi pada bentuk paket yang spesifik, Dengan panjang tetap, berdasarkan system Asynchronous Time Division Multiplexing(ATDM), menggunakan format dengan ukuran tertentu yang disebut sel. Informasi yang terdapat didalam sel ditransmisikan dalam jaringan setelah Sebelumnya ditambahkan header diawal sel yang berfungsi sebagai routing dan control sel. ATM bersifat service independence semua service (suara, data sertagambar/citra) dapat ditransmisikan melalui ATM dengan cara penetapan beberapa tipe ATM Adaptation Layer(AAL). AAL berfungsi mengubah format informasi yang asli kedalam format ATM sehingga dapat ditransmisikan.

Sel-sel ATM terdiri dari: 5 byte HEADER dan 48 byte INFORMASI UNI cell ATM terdiri dari: GFC, VPI, VCI, PT, CLP, HEC dan informasi. NNI cell ATM terdiridari: VPI, VCI, PT, CLP, HEC dan informasi

GFC (Generic Flow Control) : digunakan untukmengontrol aliran sel dari user-jaringan
VPI (Virtual Path Identifier) : merupakan bidang routing untuk jaringan 8 bit untuk sel UNI dan12 bit untuk sel NNI
VCI (Virtual Channel Identifier) : digunakan untuk routing ke dan dari pemakai ujung
PT (Payload Type) : menunjukkan jenis-jenis informasi
CLP (Cell Loss Priority) : menyediakan bimbingan kepada jaringan saat terjadi kemacetan
nilai“0”= sel dengan prioritas tinggi, tidak dapat dibuang
nilai“1”= sel dengan prioritas rendah, dapat dibuang jika terjadi kemacetan
HEC (Header Error Control) : digunakan untuk mendeteksi kesalahan. Dan membetulkan
Kode sehingga memberikan perlindungan terhadap Kesalahan dalam jaringan
ATM merupakan jaringan switching berasaskan teknik-sel yang menggunakan asynchronous, yaitu Pengekodan data ke dalam sel tetap berukuran kecil ( relay sel ) dan menyediakan data link layer berdasarkan yang berjalan diatas OSI Layer 1 fisikal link. Ini berbeda dari teknologi lain berdasarkan rangkaian packet-switched (seperti Internet Protocol atau Ethernet ), di mana paket berubah ukuran (dikenali sebagai frame ketika saat Layer 2) digunakan. ATM menggunakan sifat dari kedua jenis yaitu circuit switched dan paket switched rangkaian kecil, sehingga cocok untuk data rangkaian luas serta real-time media pengangkutan. ATM menggunakan connection-oriented model dan membentuk litar virtual antara dua endpoint sebelum pertukaran data yang sebenarnya dimulai. (ATM) merupakan interface transfer paket yang efisien. ATM menggunakan paket-paket data yang berukuran tertentu yang disebut ‘cell”. Penggunaan cell ini menghasilkan skema yang efisien untuk pentransmisian pada jaringan berkecepatan tinggi. ATM memiliki cara yang sama dengan packet-switching. ATM melibatkan pentransferan data dalam bentuk potongan-potongan yang memiliki ciri-ciri tersendiri. ATM memungkinkan koneksi logik multipel dimultipleks melalui sebuah interface fisik tunggal.
Beberapa Keuntungan menggunakan ATM
1.         ATM mampumenanganisemuajenistrafikkomunikasi(voice, data, image,video, suara dengan kecepatan tinggi, multimedia dan sebagainya) dalam satu saluran dan dengan kecepatan tinggi)
2.         ATM dapat di gunakan dalam Local Area Network dan Wide Area Network (WAN
3.         Dalam pembangunan LAN, penggunaan ATM dapat menghemat biaya karena Pemakai yang akan menghubungkan dirinya dengan sistern ATM LAN dapat Menggunakan adapter untuk menyediakan kecepatan transmisi sesuai dengan bandwidth yang mereka butuhkan.

Cara Kerja ATM
            Cara kerja ATM adalah dengan memotong-motong dan menggabungkan kembali berbagai tipe trafik informasi tersebut (voice, video dan data) dalam format sel berukuran 53 byte melalui saluran fisik yang sama. Proses tersebut dinamakan statistical multiplexing. Masing sel terdiri dari 48 byte payload (berisi informasi) dan 5 byte header (berisi alamat dan routing).

Ø      LAPISAN ATM
ATM merupakan protokol yang efisien dengan kemampuan kontrol kesalahan (error control) dan kontrol aliran minimal (flow control). Hal ini menyebabkan berkurangnya overhead saat pengolahan sel-sel ATM sekaligus mengurangi bit-bit overhead yang diperlukan masing-masing sel. Lapisan fisik melibatkan spesifikasi media transmisi dan skema pengkodean sinyal. Rate data yang ditetapkan pada lapisan fisik berkisar mulai dari 25,6 Mbps sampai 622,08 Mbps.
Dua lapis diatasnya berkaitan dengan fungsi-fungsi ATM, yaitu pelayanan transfer paket (ATM layer) dan lapisan adaptasi (AAL) untuk pelayanan protokol transmisi yang tidak berbasis ATM.

Model referensi protokol melibatkan tiga taraf yang berbeda:
  • Taraf pemakai: tersedia untuk transfer informasi pemakai, bersama-sama dengan kontrol-kontrol yang terkait.
  • Taraf kontrol: menampilkan fungsi-fungsi kontrol panggilan dan kontrol koneksi
  • Taraf manajemen: menampilkan fungsi-fungsi manajemen yang berkaitan dengan sistem secara keseluruhan
Koneksi logik ATM disebut “Virtual Channel Connection” (VCC) atau koneksi melalui saluran maya.
Konsep jalur virtual dikembangkan untuk memenuhi trend jaringan kecepatan tinggi dimana biaya kontrol jaringan meningkat melebihi biaya jaringan secara keseluruhan.
 Beberapa keuntungan dari VCC adalah:
  • Arsitektur jaringan yang sederhana
  • Kinerja dan keandalan jaringan yang meningkat
  • Waktu setup koneksi lebih pendek dan waktu pengolahan yang berkurang
  • Layanan jaringan yang tinggi
Ø     SINYAL ATM
·                  Faktor-Faktor Penyebab Menurunnya Kualitas Layanan Jaringan ATM.
·                  Faktor-faktor Penyebab Nonspesifik ATM

a. Noise
Dalam sistem komunikasi, keberhasilan tergantung pada seberapa akurat penerima bisa menerima sinyal yang ditransmisikan oleh pengirim. Dan sebagian besar kesalahan pengiriman informasi dalam sistem komunikasi disebabkan oleh noise. Istilah noise digunakan dalam sistem komunikasi untuk menyatakan sinyal yang tidak dikehendaki yang menyertai sinyal pesan. Sinyal yang tidak dikehendaki ini bisa timbul dari berbagai sumber yang dapat diklasifikasikan ke dalam dua golongan, yaitu noise buatan manusia (man-made noise) dan noise alami (naturally noise). Beberapa jenis noise yang terdapat dalam sistem komunikasi digital di antaranya adalah thermal noise, shot noise, flicker noise, transient noise (sporadic noise), dan noise kuantisasi. Thermal noise merupakan suatu fenomena noise yang berhubungan dengan suhu material. Semakin tinggi suhu komponen, daya noise akan semakin besar. Shot noise disebabkan oleh aliran elektron yang terutama terjadi pada komponen aktif. Shot noise memperbesar daya noise. Flicker noise berkaitan dengan ketidakteraturan hubungan dan permukaan pada katoda semikonduktor, dan kehadirannya disebabkan oleh terjadinya fluktuasi konduktivitas medium. Flicker noise memperbesar daya noise sebanding dengan panjang gelombang. Trsnsient noise ditimbulkan oleh sebab-sebab alami seperti petir dan sebab-sebab buatan manusia seperti sistem pengapian, sistem saklar, dan relai. Salah satu jenis transient noise yang paling sering terjadi adalah impulse noise. Transient noise dapat menyebabkan kesalahan dalam sinkronisasi. Noise kuantisasi timbul pada saat proses pengubahan sinyal analog menjadi sinyal digital akibat pembulatan level sinyal kontinyu ke harga-harga yang diskrit dan terutama dirasakan pada sinyal yang memiliki level rendah. Noise kuantisasi menyebabkan timbulnya kesalahan dalam regenerasi sinyal. Batas noise yang diizinkan biasanya ditentukan oleh perbandingan antara daya sinyal informasi dengan daya noise yang masuk ke dalam suatu sistem komunikasi atau biasa dikenal dengan signal to noise ratio (SNR atau S/N). Dalam sistem komunikasi digital di mana informasi yang dikirim berupa bit-bit data, dikenal juga perbandingan antara energi sinyal tiap bit (energi bit) terhadap daya noise (Eb/No). Pada ATM, bit error yang terjadi dalam sel juga disebabkan oleh noise-noise di atas. Bit error yang terjadi pada bidang header menyebabkan terjadinya kesalahan pengalamatan sel sehingga buffer pada sistem switching akan overflow dan terjadi kepadatan pada jalur (link) yang bukan miliknya. Sementara bit error yang terjadi pada bidang informasi akan menurunkan kualitas layanan yang diterima oleh pemakai terutama pada layanan yang bersifat real time dan yang tidak toleran terhadap bit error, misalnya layanan video dan audio berkualitas tinggi. Pada beberapa layanan, sel-sel yang salah alamat juga menyebabkan hilangnya sinkronisasi.

b. Delay Transmisi dan Switching
Delay didefinisikan sebagai selisih waktu antara saat pengiriman blok (sebuah bit atau sebuah paket data) informasi pada sumber (t0 ) dan saat penerimaan blok informasi tersebut di sisi penerima (t1). Secara umum, delay yang terjadi dalam jaringan telekomunikasi disebabkan oleh delay transmisi dan delay switching. Delay transmisi tergantung pada jarak yang harus ditempuh antara sumber dengan tujuan dan juga tergantung pada jenis media transmisinya, tetapi tidak tergantung pada teknik pengiriman data yang digunakan. Delay transmisi terjadi karena terbatasnya kecepatan sinyal dalam media. 

Profile Pemilik Bisnis Online



Jerry Yang dilahirkan pada tahun 1968 di Taipei, Taiwan, dengan nama Yang Chih Yuan. Pada umur 10 tahun, ia "hanyalah" seorang imigran dari Taiwan. Bersama ibu dan adiknya, mereka hijrah dan menetap di San Jose, California, Amerika Serikat. Ayahnya sudah meninggal pada saat ia baru berumur dua tahun. Saat dia pertama masuk sekolah di San Jose, dia hanya memiliki satu kosakata bahasa Inggris, shoe (sepatu). Ketika menginjak dewasa, Yang kuliah di Stanford Universiry pada tahun 1990, dan mendapatkan gelar sarjana muda dan master dalam waktu 4 tahun.Pada akhir tahun 1993, Jerry melanjutkan pendidikan program Ph.D. di Electrical Engineering Stanford University. Di sana, Jerry Yang berkenalan dengan teman sekampusnya David Filo. Lewat pertemanan bersama David Filo, Jerry Yang mulai menyukai kegiatan surfing di internet, hingga menghabiskan waktunya berjam-jam berada di depan komputer. Akibatnya, aktivitas belajar mereka terbengkalai.


Pada saat melakukan kegiatan surfing, mereka sering kesulitan mencari sesuatu yang mereka butuhkan di dunia maya ini. Maka pada bulan Februari 1994, mereka mulai rajin mengumpulkan link-link dengan membuat indeks atas situs-situs web favoritnya. Kegiatan ini mereka lakukan di trailer di kampus Stanford University. Dalam waktu singkat, mereka telah lebih banyak menghabiskan waktu untuk membuat link-link situs favorit dari pada membuat desertasi program doktor yang tengah mereka tempuh.Akhirnya, list berupa link dari situs yang telah mereka temukan yang mereka buat telah menjadi terlalu panjang dan terlalu banyak, sehingga mereka membaginya menjadi kategori-ketegori. Saat kategori-kategori itu pun tidak memenuhi, dibuat juga sub-subkategori. Itulah awal mula lahirnya konsep dari pembuatan Yahoo!.


Pada saat pertama kali dibuat, mereka memberi nama situsnya Jerry`s Guide to the World Wide Web, tetapi nama tersebut terlalu panjang untuk nama sebuah situs. Kemudian setelah mencari nama yang dianggap bagus di dalam direktori yang mereka buat, mereka memutuskan untuk menggunakan nama Yahoo, yang merupakan singkatan dari yet another hierarchical oficious oracle. Tujuan awal dari pembuatan situs itu adalah sebagai alat untuk mencari sesuatu di internet atau search engine.Pada awalnya, mereka menggunakannya untuk kepentingan pribadi. Namun, ternyata mereka kemudian menyadari bahwa indeks situs yang mereka susun dapat digunakan oleh orang lain sebagai titik pijak pertama menyusur situs web. Pengunjung situs ini pun makin banyak dan mendapat sambutan luar biasa oleh pengguna Internet. Mengetahui banyak orang yang mengakses Yahoo!, maka jadilah mereka membuatnya menjadi database yang teratur dan mengembangkan semacam software mesin pencari untuk menjalankannya.

Karena belum ada modal, mereka memanfaatkan komputer-komputer milik universitas untuk kegiatan ini. Data disimpan di komputer Jerry Yang yang mempunyai nickname "Akebono". Sedang mesin pencari ditempatkan di komputer David Filo yang ber-nickname "Konishiki". Kedua nickname tersebut diambil dari nama-nama pegulat terkenal Hawaii pujaan mereka.



Pada musim gugur tahun 1994, situs mereka mulai mendapatkan rekor hit sebanyak 1 juta pengunjung per hari. Itulah yang membuat infrastruktur jaringan komputer di universitas terbebani traffic yang besar.Tak heran jika para pejabat universitas meminta keduanya untuk menyewa server (hosting) di luar untuk menjalankan "bisnis" mereka itu, agar lebih leluasa lagi.Kini, Yahoo! telah menjadi perusahaan dunia yang bergerak di bidang komunikasi, komersial, dan media berbasis internet. Setiap bulannya ada 232 juta pengguna Internet di seluruh dunia yang menggunakan jasa pelayanan Yahoo!, mulai dari mesin pencari, portal, e-mail gratis, bisnis online, sampai pembuatan dan penyewaan tempat situs. Jaringan Yahoo! yang berkantor pusat di Sunnyvale, California, AS ini sudah berdiri di 25 lokasi yang tersebar di benua Eropa, Asia, Amerika Latin, Australia, Kanada, dan tentu saja Amerika Serikat. Hasilnya keuntungan besar pun dihasilkan oleh Jerry Yang bersama Yahoo! Yang menjadikan seorang imigran Taiwan tersebut menjadi seorang miliarder.Menurut Fortune.com, kekayaan pria dengan nama asli Yang Chih-Yuan ini pada tahun 2000 sekitar 5,85 miliar dolar AS. Rumah tinggalnya dibeli seharga 1,9 juta dolar AS, terletak di Los Altos, kawasan barat San Jose dengan lima kamar tidur dan pemandangan ke arah Teluk San Fransisco. Meski demikian, ia tak lupa pada almamaternya. Bersama David Filo, ia menyumbang 2 juta dolar AS untuk almamaternya tersebut.

Memilih Bisnis Online Sendiri ( Digital Imaging )


Bisnis Online Digital Imaging
            Semakin berkembangnya dunia teknologi akan berdampak langsung pada kehidupan manusia, salah satu bagian yang tidak lepas dari perkembangan teknologi adalah bidang ekonomi. Dengan semakin cepatnya pengaksesan informasi lewat media internet mendorong semua pihak untuk memanfaatkan media internet ini untuk bersosialisai, seperti layanan aplikasi email, jejaring sosial sampai transaksi digital semua bisa dilakukan dengan media internet. Dengan terbukanya akses ke seluruh bagian informasi di dunia internet dan dengan didasari oleh pemanfaatan sumber daya yang tersedia dalam bidang multi media, kami mencoba untuk membuat bisnis digital imaging atau percetakan digital berbasis web sebagai salah satu praktek dalam mata kuliah softskill.

            Dalam perkembangan dunia multi media semua hal dapat dilakukan dengan sarana yang telah tesedia, contohnya seperti cetak foto, sablon pakaian, manipulasi data dll. Untuk itu dengan memanfaatkan sumber daya yang tersedia kami akan membuat bisnis online digital imaging. Contoh yang dapat dilakukan dengan percetakan digital seperti percetakan foto, sablon pakaian, membuat spanduk dll. Cara kerja dari bisnis online yang kami jalankan adalah sebagai berikut, karena bisnis yang kami jalankan adalah berbasis web maka dibutuhkan struktur website yang mendukung untuk menjalankan suatu usaha digital imaging. Pada web tersedia menu-menu untuk dapat melakukan interaksi antara operator dengan para pengunjung web.  Pengunjung dapat melihat contoh atau sampel dari produk-produk yang ditawarkan, dan para pengunjung juga dapat melakukan pemesanan berdasarkan pesanan pengunjung sendiri. Dengan transaksi pembayaran yang telah disepakati, untuk cara pembayaran yang biasa digunakan pada bisnis online yaitu menggunakan transfer via rekening atau aplikasi yang sekarang sering digunakan untuk melakukan transaksi pembayaran dengan paypol. Sebagai contoh untuk bisnis digital imaging  bebasis web dapat dilihat di bawah ini, sebagai contoh saya menampilkan web KODAK digital imaging 

Tipe-tipe Bisnis Online

Type Bisnis Online Mungkin diantara anda pengguna internet sudah tahu banyak sekali jenis-jenis atau type bisnis online di internet. Sekarang kita tinggal memilih apa saja bisnis yang kita sukai. Dari yang berbayar sampai yang gratisan. Seperti autosurf program misalnya, dll. berikut jenis-jenis dari bisnis online:

1. Forex Trading
Forex online trading adalah suatu pekerjaan yang sangat menjanjikan dan memiliki peluang income sangat besar sekali. Oleh sebab itu, saya memilihnya sebagai pilihan utama diantara yang lain.

2. Ebook
Salah satu cara yang paling efektif bagi para pemikir, pembuat konsep dan pakar untuk menjual ide, ilmu dan ketrampilan nya. Jika anda pintar, memiliki ide atau skill tertentu ? maka cobalah membuat e-book dan dijual secara online. Kemungkinan laku / ada pembeli pasti ada. Dan bisnis model ini yang paling banyak diminati dan laris manis.

 3. Afiliansi
Program Banyak Perusahaan besar bergabung dalam sebuah group pemasaran afiliasi , kita bisa bergabung dalam Group tersebut dan memasarkan Perusahaan - perusaahan itu secara online. Contoh yang paling populer adalah Commission Junction, LinkShare, Share a Sale, ClixGalore dll.

 4. Autosurf Program
 Program Autosurf adalah program di Internet , dimana semua membernya diwajibkan untuk melakukan surfing web. Artinya anda akan dibayar sesuai prosentase surfing anda. Banyak juga diantara program autosurf yang scam atau menipu, jadi diharapkan lebih hati-hati dalam memilih.

 5. MLM
Bisnis Bisnis network marketing / pemasaran jaringan atau multilevel marketing bisa dijalankan secara online. Di indonesia prospek bisnis ini sangat menjanjikan , apalagi pemakai internet semakin bertambah , hanya perlu kecerdikan anda untuk memilih perusahaan MLM yang bagus , yang di back up oleh perusahaan besar , sehingga bisnis mlm yang anda jalankan bisa bertahan dan terus berkembang.

6. Software Bisnis
 Para pakar IT di Dunia , membuat suatu software yang bisa dipasarkan kepada umum. Banyak bisnis - bisnis software berupa : Software Email, Software Submit Search Engine , Software AntiVirus,SoftwarePendidikan dll.

 7. Bisnis Survey / isi pendapat
 Banyak sekali bisnis di internet yang menawarkan peluang kepada kita, salah satunya adalah Survey Job. Cara kerjanya kita diminta untuk mengisi form isian survey dari beberapa buah Perusahaan Besar yg sedang study pasar , nah dari situ kita dibayar. Nominal besarnya pembayaran tergantung dari perusahaan tsb yg menentukan, cuma lagi - lagi prioritas untuk warga negara indonesia masih kecil sekali. Kebanyakan diperuntukkan kepada rakyat amerika, canada atau inggris , dimana disitu Market dari Perusahaan yg membuat survey tsb

 8. Bisnis Typing / Mengetik
 Bekerja di internet dengan cara mengetik tugas - tugas yang diberikan oleh beberapa Perusahaan di Amerika,Cuma untuk pasar di Indonesia masih sedikit.

 9. Poker , Gambling and Casino
 satu ini tidak saya rekomendasikan, karena ini perbuatan yang haram.

Jumat, 07 Mei 2010

Game TikTakToe


Game TicTacToe..

            Sebagai bagian dari materi perkuliahan untuk mata kuliah softskill penulis mencoba untuk menerbitkan game mobile tic tac toe sebagai materi dalam blog, untuk lebih lengkapnya, bias dilihat dalam halaman blog ini.

            Struktur Menu
Pada aplikasi permainan yang dibuat, penulis menggunakan beberapa buah menu yang tujuannya adalah untuk memudahkan dan membantu pengguna aplikasi dalam mengakses fasilitas dalam permainan yang disediakan seperti memulai permainan, melihat high score, melihat layar bantuan (help), termasuk pula melakukan pengaturan terhadap beberapa seting yang tersedia seperti seting pengaturan permainan, score dan peraturan permainan.
Menu Utama
Menu utama ini merupakan menu yang akan ditampilkan pada saat pertama kali aplikasi permainan dijalankan. Menu ini memiliki bagan sebagai berikut :
Pada menu utama terdapat lima buah pilihan yang tersedia pada saat aplikasi
game pertama kali dijalankan, yaitu :
1. “Pengaturan”, digunakan untuk melakukan perubahan terhadap opsi yang mendukung
      permainan, seperti nama pemain, level, giliran pemain dan pilih simbol.
2. “High Score”, digunakan untuk melihat daftar score yang tersimpan.
3. “Peraturan Permainan”, digunakan untuk melihat bantuan cara memainkan game.
Layar Permainan
Layar ini merupakan tempat dimana permainan TicTacToe dilakukan, dan pada layar ini diharapkan user dengan device (ponsel) dapat saling berinteraksi. Aplikasi permainan TicTacToe merupakan aplikasi yang animatif dan interaktif, dimana dalam permainan ini digunakan media grafis dan audio sebagai alat penyampaian informasi kepada user. Untuk lebih jelasnya, rancangan layar permainan dapat dilihat pada gambar berikut :
 Layar High Score
Pada layar ini user dapat melihat daftar score tertinggi yang tersimpan dalam ponsel. Pada aplikasi permainan TicTacToe ini penulis menyediakan tempat untuk menyimpan daftar banyaknya permainan dilakukan, jumlah menang, kalah dan seri. Rancangan tampilan layar
Pemilihan terhadap menu “Pengaturan” akan memunculkan tiga buah submenu
yaitu :
1.               “Nama Pemain”, digunakan untuk memberikan nama bagi user yang akan bermain.
2.               “Level CPU”, digunakan untuk memilih tingkat kesulitan permainan, dimana user dapat memilih level yang dibagi menjadi tiga tingkatan yaitu mudah, sedang dan master, semaikin tinggi level yang dipilih maka akan semakin tinggi tingkat kesulitannya.
  3.       “Giliran”, digunakan untuk menentukan siapa yang akan mengambil giliran jalan pertama.
  4.       “Simbol”, digunakan untuk memilih bentuk item yang akan dipakai untuk bermain.
Layar Menu
Terdapat dua kelompok menu pada aplikasi permainan ini. Pada kedua kelompok menu tersebut akan diberikan bentuk tampilan yang sama agar user dapat dengan mudah mengenalinya.
 
Pembuatan Program
Pada pemrograman java (J2ME), setiap fungsi yang ingin dibuat harus dituliskan didalam sebuah kelas, karena pada dasarnya J2ME menganut prinsip pemrograman OOP (object oriented programming). Pada pembuatan aplikasi permainan TicTacToe ini, penulis membagi fungsi yang terdapat dalam aplikasi ini kedalam beberapa kelas, dimana setiap kelas dibuat berdasarkan karakteristik layar yang dipergunakan dalam aplikasi. Dengan kata lain, setiap layar yang ada dibangun dari kelas tersendiri. Penjelasan tentang kelas yang dibuat dan isinya akan dijelaskan pada subbab terpisah.
Import Library J2ME
Pertama masukkan dahulu library java J2ME pada MIDP2.0 yang akan di pakai dalam pembuatan game , librarynya sebagai berikut :
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.Random;

Kelas TicTacToe
Kelas ini merupakan kelas pembangun aplikasi permainan yang utama dan juga digunakan untuk menampilkan menu utama. Kelas ini didefinisikan sebagai berikut :
public class MIDlet_tictactoe
extends MIDlet implements CommandListener{
Kelas ini didefinisikan sebagai kelas turunan MIDlet, yang berarti program ini dibuat menggunakan profile MIDP. Kelas ini juga mengimplementasi interface CommandListener, yang digunakan untuk menangkap pilihan user terhadap menu.

Deklarasi Variabel
Baris selanjutnya selanjutnya adalah deklarasi variable, objek dan command yang dipakai dalam program ini, dimana strukturnya adalah sebagai berikut :
protected bulet_silang BS;
      protected Display tampil;
      private kanpas KANPAS;

      private Form menu_opsi,
                       skornya,
                       swet;
      private Command cmd_keluar,
                              cmd_opsi,
                              cmd_skor,
                              cmd_main,
                              cmd_kembali,
                              cmd_simpan,
                              cmd_batal,
                              cmdOK,
                              cmd_OK2;
            Command tersebut dibuat untuk memberikan fungsi isi dari menu dalam game, seperti yang telah digambarkan diatas menu terdiri dari tiga bagian yaitu pengaturan, scor, main dan pada menu pengaturan dibagi menjadi sub lagi yaitu nama pemain, level CPU, giliran dan symbol, jika tidak terjadi perubahan pada submenu maka user bisa kembali papan tampilan game, dan jika salah satu sub menu itu di ubah maka akan muncul perintah baru yaitu simpan atau batal, jika batal maka perintahnya kembali default dan jika telah tersimpan maka perubahan yang telah dilakukan akan tersimpan. 


            Deklarasi Construktor Class
Baris selanjutnya yaitu pendeklarasian Construktor class atau kelas pembangun dari aplikasi ini dideklarasikan oleh TextField dengan nama teksname,
private TextField teksname;

            Deklarasi Objek
            Seperti sebelumya telah dijelaskan constructor classnya pada bagian ini akan di jelaskan tentang isi dari objek dan variable construktornya untuk lebih jelasnya yaitu sebagai berikut,
            private StringItem skor1,
                                 skor2,
                                 skor3,
                                 skor4,
                                 skor5;

      private ChoiceGroup level,
                                           player,
                                           xxx;

      protected boolean ditungguin = false;
      protected int pilih_aja[] = {0,0};

      private String nama = "Anda";

      private String kmptr = "CPU";

      private int menang = 0;

      private int kalah = 0;

      private int seti = 0;

      private int levenya = 0;

      private boolean mulai = true;

      private boolean xx = true;
      public MIDlet_tictactoe(){


            BS = new bulet_silang();
            teksname = new TextField("Nama","Anda",6,TextField.ANY);
            skor1 = new StringItem("Total bermain: ","0 kali");
            skor2 = new StringItem("Menang: ","0");
            skor3 = new StringItem("Kalah: ","0");
            skor4 = new StringItem("seri: ","0");
            skor5 = new StringItem(
                  "Cara Bermain: "," There is No Rule, Hajar aj !");

            String elem1[] = {"Gampang","Biasa","Master"};
            level = new ChoiceGroup("Level CPU",Choice.POPUP,elem1,null);

            String elem2[] = {"Giliran Anda","Giliran CPU"};
            xxx = new ChoiceGroup("",Choice.POPUP,elem2,null);

            String elem3[] = {"X","O"};
            player = new ChoiceGroup("Simbol",Choice.POPUP,elem3,null);
            Baris program di atas adalah isi dari menu pada game TicTacToe, pada baris pertama yang dideklarasikan adalah untuk menu score yang di bagi menjadi empat bagian yaitu : banyaknya bermain, menang, kalah dan seri yang diwakili oleh string item skor1, skor2,skor3,skor4 dan skor5. Pada baris selanjutnya kelas choicegroup yang ada pada menu, pertama mengisi nama pemain, pada menu selanjutnya menu bisa dipilih dengan cara popup yaitu dengan memilih pilihan menu yang telah ada dan level CPU yang bisa dipilih yaitu  mudah, biasa dan master dengan level yang dideklarasikan dengan string elemen1, selanjutnya string elemen2 yaitu giliran, arti giliran disini adalah untuk menentukan siapa yang akan menjalankan atau memulai permainan ini lebih dulu, pada baris selanjutnya yaitu string elemen3 yang di artikan di artikan sebagai pemilihan symbol, symbol yang dipakai disini yaitu symbol X dan O sebagai item yang dipakai untuk bermain.

            elas Option Screen
                Selanjutnya kita akan menuliskan perintah-perintah yang akan dieksekusi pada saat aplikasi dijalankan, listingnya sebagai berikut,

cmd_keluar = new Command("Keluar", Command.EXIT, 0);
            cmd_opsi = new Command("Pengaturan",Command.ITEM,1);
            cmd_skor = new Command("Skor",Command.ITEM,2);
            cmd_main = new Command("Peraturan Permainan",Command.ITEM,3);
            cmd_simpan = new Command("Simpan",Command.OK,0);
            cmd_batal = new Command("Batal",Command.BACK,1);
            cmdOK = new Command("OK",Command.BACK,0);
            cmd_OK2 = new Command("OK",Command.BACK,0);
     di atas adalah command button yang ada pada permainan dan menu option seperti keluar, opsi, skor, main, simpan, dll.   
      KANPAS = new kanpas(this);
            KANPAS.addCommand(cmd_keluar);
            KANPAS.addCommand(cmd_opsi);
            KANPAS.addCommand(cmd_skor);
            KANPAS.addCommand(cmd_main);
            KANPAS.setCommandListener(this);
            Selanjutnya adalah statement untuk memanggil kelas kanpas, yaitu kelas untuk yang digunakan untuk mengatur tata letak dan warna tampilan permainan dimana kelas kanpas juga mendeklarasikan fungsi dari pergerakan atau tombol yang digunakan untuk mengoperasikan permainan ini.
            menu_opsi = new Form("Opsi");
            menu_opsi.append(teksname);
            menu_opsi.append(level);
            menu_opsi.append(xxx);
            menu_opsi.append(player);
            menu_opsi.addCommand(cmd_simpan);
            menu_opsi.addCommand(cmd_batal);
            menu_opsi.setCommandListener(this);
           
            Menu opsi yaitu menu pengaturan dalam game, yang ada didalamnya yaitu teksname untuk mengisi nama pemain, level untuk memilih level permainan, giliran pemain dan symbol. Dan menu command dalam menu untuk menunjukkan proses selanjutnya yaitu command simpan untuk menyimpan perubahan yang telah dilakukan dalam opsi dan command batal untuk membatalkan perubahan pada pengaturan dan kembali pada permainan.


skornya = new Form("History");
            skornya.append(skor1);
            skornya.append(skor2);
            skornya.append(skor3);
            skornya.append(skor4);
            skornya.addCommand(cmdOK);
            skornya.setCommandListener(this);
            swet = new Form("Petunjuk");
            swet.append(skor5);
            swet.addCommand(cmd_OK2);
            swet.setCommandListener(this);
      }
Selanjutnya  pada menu opsi score yang ditampilkan yaitu untuk scor1 dan seterusnya yaitu banyaknya bermain, menang, kalah dan seri.
            public void startApp(){
            tampil = Display.getDisplay(this);
            tampil.setCurrent(KANPAS);
            startNewRound();
      }
      public void destroyApp(boolean unconditional){}
      public void pauseApp(){}
      public void commandAction(Command c, Displayable s){
            if (c==cmd_keluar){notifyDestroyed();}
            if (c==cmd_main){tampil.setCurrent(swet);}
            if (c==cmd_kembali){tampil.setCurrent(KANPAS);}
            if (c==cmd_batal){tampil.setCurrent(KANPAS);}
            if (c==cmdOK){tampil.setCurrent(KANPAS);}
            if (c==cmd_OK2){tampil.setCurrent(KANPAS);}


     Saat memulai baru akan ditampilkan papan permainan yang dipanggil dari kelas kanpas, jika memilih command keluar maka akan keluar dari permainan, selain itu menu akan melanjutkan pada permainan.
             if (c==cmd_skor){
                  skor1.setText(""+(menang+kalah+seti)+" main");
                  skor2.setText(""+menang);
                  skor3.setText(""+kalah);
                  skor4.setText(""+seti);
                  tampil.setCurrent(skornya);
            }

            if (c==cmd_opsi){
                  teksname.setString(nama);
                  level.setSelectedIndex(levenya,true);
                  xxx.setSelectedIndex((mulai?0:1),true);
                  player.setSelectedIndex((xx?0:1),true);
                  tampil.setCurrent(menu_opsi);
            }

            if (c==cmd_simpan){
                  mulai = (xxx.getSelectedIndex()==0?true:false);
                  xx = (player.getSelectedIndex()==0?true:false);
                  levenya = level.getSelectedIndex();
                  nama = teksname.getString();
                  if (nama.length()==0) {
                        teksname.setString("Anda");
                        nama="Anda";
                  }


            Diatas adalah statement untuk menu serta variable yang digunakan serta proses selanjutnya yang ada pada menu saat disimpan.
                  Alert msg = new Alert("Pengaturan disimpan","",
                        null, AlertType.INFO);
                  msg.setTimeout(2500);
                  tampil.setCurrent(msg,KANPAS);
            }
      }
            Jika proses penyimpanan berhasil maka akan muncul peringatan ‘pengaturan telah disimpan”.
      private void startNewRound(){
            ditungguin = false;

            BS.gameReset();
            KANPAS.repaint();

            BS.setDifficulty(levenya);
            BS.setPlayerTurn(mulai);
            if (mulai) {if (!xx) BS.switchSymbol();}
            else {if (xx) BS.switchSymbol();}
     
            kmptr = level.getString(
                  level.getSelectedIndex()) + " Komputer";

            pilih_aja[0]=0;
            pilih_aja[1]=0;

            if (!mulai) {
                  compMakeMove();
                  KANPAS.repaint();
            }
            ditungguin = true;
      }
      protected void endGame(int result){
            String rndComment[] = {"mengalahkan"};

            String title="",text="",comment="";
            Random rnd = new Random(System.currentTimeMillis());
            switch (result){
            case 0:
                  seti++;
                  title = "Draw!";
                  text = ".";
                  break;
            case 1:
                  menang++;
                  title = "menaaang!";
                  comment = rndComment[Math.abs(rnd.nextInt())%rndComment.length];
                  text = nama + " " + comment + " " + kmptr;
                  break;
            case 2:
                  kalah++;
                  title = "mengalahkan!";
                  comment = rndComment[Math.abs(rnd.nextInt())%rndComment.length];
                  text = kmptr + " " + comment + " " + nama;
                  break;
            default:
            }

            Penjelasan untuk barisan statement di atas adalah, saat memulai permainan tampil papan permainan, dan bermain akan di panggil terlebih dulu kelas untuk level komputernya, lalu giliran main pertama dan symbol yang dipakai, setelah selesai permainan maka akan muncul peringatan menang, kalah atau Draw dan muncul nama yang digunakan sebagai pemain.
            startNewRound();
            Alert msg = new Alert(title,text,null, AlertType.INFO);
            msg.setTimeout(3000);
            tampil.setCurrent(msg,KANPAS);
      }

            protected void playerMakeMove(){
            if (BS.placeMove(pilih_aja[0],pilih_aja[1])){
                  ditungguin=false;


                  KANPAS.repaint();
                  KANPAS.serviceRepaints();

                  if (BS.checkWin()) {endGame(1); return;}
                  if (BS.checkDraw()) {endGame(0); return;}
                  compMakeMove();
            }
      }
protected void compMakeMove(){

            BS.computeMove();
            KANPAS.repaint();
            KANPAS.serviceRepaints();

            if (BS.checkWin()) {endGame(2); return;}
            if (BS.checkDraw()) {endGame(0); return;}

            ditungguin=true;
      }
}
Peringatan akan muncul selama waktu yang ditentukan, dan jika telah muncul peringatan maka proses selanjutnya score permainan akan tersimpan secara otomatis dan akan mulai permainan selanjutnya.
Uji Coba Program

Uji coba program merupakan hal paling akhir yang dilakukan penulis dalam membangun aplikasi permainan TicTacToe ini. Pada bagian ini penulis mencoba untuk menguji apakah program yang dibuat telah sesuai dengan rancangan awal yang dibuat, dan jalannya program telah sesuai dengan alur yang diharapkan. Untuk menjalankan program, penulis menggunakan sebuah emulator ponsel DefaultColorPhone pada WTK 2.5.2. Emulator ini dapat berfungsi sebagai sebuah ponsel virtual yang dijalankan pada PC, dan memiliki fungsi serta spesifikasi (fitur, warna, dimensi layar, tombol, suara, dan lainnya) yang sama seperti pada ponsel yang sebenarnya. Pada saat dijalankan, emulator ini akan tampak sebagai berikut :
Layar Menu

Pada saat aplikasi permainan TicTacToe dibuka pertama kali pada ponsel, tampilan layar akan tampak sebagai berikut :

Tampilan Menu ”Pengaturan”

Menu Pengaturan terdiri dari satu buah text field untuk memasukkan nama pemain dan 3 buah pilihan, yaitu ”Level”, ”Giliran bermain” dan ”Simbol”, yang memiliki nilai yang dapat diubah. Untuk pengaturan jika seting ingin disimpan maka pilih simpan dan jika ingin langsung kembali pada permainan tanpa mengubah seting apapun pilih batal. Tampilan untuk layar pengaturan seperti dibawah ini :



Layar Permainan
Pada saat membuka aplikasi pemain akan langsung memainkan permainan baru, seperti yang telah dijelaskan diatas peraturan permainan adalah membentuk susunan bentuk yang sama secara horizontal, vertical maupun diagonal, contohnya seperti dibawah ini :

Untuk mengoperasikan permainan, pemain hanya perlu menggunakan tombol navigasi yang ada pada ponsel untuk menentukan jalannya target sasaran dan untuk membentuk item menggunakan tombol center key jika menggunakan emulator pada WTK dan tombol 5 pada ponsel.