Buku Pemograman Java & PHP berbasis OOP

Alhamdulliah telah terselesaikan buku yang berjudul “Pemograman Berorientasi Objek Java & PHP”. Dalam buku ini, membahas 2 pemograman terpopuler yaitu Java & PHP menggunakan pendekatan OOP (Object Oriented Programming). OOP dikenal karena kemudahan, kecepatan memaintance program serta fleksibilitas yang baik. Di dalam buku ini, anda akan mempelajari Dasar pemogramman, Struktur Kontrol, Konsep dan implementasi OOP, Array, dan Exception Handling, dengan menggunakan 2 bahasa pemograman Java dan PHP, semoga buku ini bermanfaat bagi anda :

Buku ini saya berikan secara cuma-cuma pada anda tanpa dipungut biaya sepeser pun : D,  silahkan  anda unduh :  Download Buku

Vigeuler Secure Cipher Algoritma

Mungkin anda merasa asing mendengar Algoritma Vigeuler Secure Cipher, karena algoritma ini saya kembangkan dari algoritma Vigenere Cipher, dengan tujuan untuk mengoptimasi keamanannya dari para Kriptanalis atau Attacker. Jika anda sebelumnya pernah mempelajari Algoritma Vigenere Cipher, algoritma ini menggunakan teknik “Polyalphabetic Substitution“, mensubtitusikan huruf pada Plaintext dengan kata kunci yang bersesuaian letaknya, dimana kunci tersebut diulang sebanyak jumlah Plaintext untuk mendapatkan ciphertext

Contoh misalkan Plaintext : VANDEROCK dan Kuncinya : ABC,  maka diperoleh persamaan

V A N  D E  R  O  C  K  –>  Plaitext

A B C  A  B   C  A   B  C   –>  Kunci

V B P  D  F  T  O  D M  –>  Ciphertext

Anda perhatikan Kunci ABC diulang sepanjang Plaintext, untuk memperoleh Ciphertextnya anda dapat melihat Tabula recta atau Tabel Vigenere, dengan mencocokkan Plaintext dan Kuncinya.

Itulah contoh sederhana penggunaan Algoritma Vigenere, namun penggunaan Algoritma Vigenere keamananya melemah, karena penggunaan kunci berulangnya, sehingga jika Kriptanalis mampu menebak panjang kuncinya maka Ciphertext mudah dipecahkan. Anda juga bisa menguji keamanan dari vigenere menggunakan aplikasi CryptoHelper. Untuk mengatasi celah keamanan dari Vigenere Cipher, maka saya  gunakan bilangan e atau Euler Number untuk menggenerate Kunci default (Standart) yang diinputkan oleh user. Dimana Euler Number sebagai logaritma natural atau merupakan (deretan angka) konstatanta matematik.

Deret Konstatanta Euler Number : e ≈ 2,71828 18284 59045 23536 02874 71352 …. (Lebih Lengkap Konstanta Euler Number)

Dari deret konstanta Euler Number diatas, maka dapat dimanfaatkan untuk menggenerate kunci berbentuk random, sehingga kunci yang dihasilkan lebh panjang dan memperkecil peluang kemunculan frequensi kunci berulang, hal ini akan mempersempit peluang Kriptanalis untuk memecahkan metode Vigeuler  Secure Cipher.

Contoh penggunaan Algoritma Vigeuler Secure Cipher, misalkan  Plaintext : VANDEROCK    KUNCI : BCD

1. Dapatkan Karakter setiap Plaintextnya, kemudian setiap karakter tambahkan 1 (Menggeser Karakter sebesar 1)

Jika karakter ‘Z’ yang digeser atau Z+1, maka tetapkan sebagai Z-1

Plaintext         –>    V A N  D E  R  O  C  K

Plaintext + 1  –>    W B  O  E  F   S  T   U   V

2.  Kemudian dari Plaintext+1, berlakukan STACK untuk membalik deret W B  O  E  F   S  T   U   V

Plaintext + 1 (PUSH)  –>    W  B  O   E   F   S   T   U   V

Plaintext (POP)             –>    V  U  T   S   F   E   O   B    W

– Kemudian hasil dari Plaintext (POP) simpan pada variabel Ppop atau Ppop = V  U  T   S   F   E   O   B    W

– Kemudian Ppop baca panjangnya atau Ppop.length() sehingga diperoleh panjang Ppop sebesar 9 digit

3.  Kemudian operasikan Kunci :  B C D, dengan mengubah ke bentuk Digit dan baca panjang digitnya

B C  D (1 2 3) – > panjang kuncinya 3 digit

– Kemudian simpan deret digit kunci pada variabel Kderet atau Kderet = 1 2 3

– Kemudian Kderet baca panjangnya atau Kderet.length() sehingga diperoleh panjang Kderet sebesar 3 digit

4.  Kemudian operasikan dengan bilangan e (Euler Number)

a. Ambil panjang batas maksimum konstanta euler, berdasarkan panjang plaintext sejumlah Ppop.lenght atau 9 digit, sehingga

menjadi 2,71828 18

b. Kemudian berlakukan Kderet dikalikan bilangan euler berdasarkan panjang plaintext step 4a, sehingga menjadi

123 x 2,718281828= 3   3   4   3    4    8    6   6   4   8   4   4

c.  Kemudian hasilnya jadikan huruf setiap digitnya

digit              :  3   34   3    48    6   64   8   44

digit  ahkir :  3    7     3     12   6   10    8    8

huruf  :  D   H   D   M   G    K    I   I  (Sehingga kita dapatkan kunci baru ini)

3.  Kemudian proses terahkir, operasikan Vigeuler Secure Cipher kita :

Plaintext   :   V     U    T     S      F     E      O     B     W

Kunci-E      :   D     H     D     M     G     K       I      I       D

Ciphertext :  Y     B     W     E      L     O      W     J       Z

Kemudian Bandingkan jika anda menggunakan Kunci defaultnya

Plaintext   :    V   A  N    D    E    R    O   C    K

Kunci-        :    B    C    D    B     C    D     B    C     D

Ciphertext :  W   C    G    G     F    T     R    F     L

Kunci default akan diulang lebih banyak dibandingkan dengan teknik euler key

Pada pembahasan di lain kesempatan, saya akan membahas bagaimana menganalisa keamanan dari kedua metode ini, karena Algoritma Vigenere Secure Cipher masih saya gunakan untuk Tugas Ahkir saya.  Terima Kasih.

Rerferensi :

1.  http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher

2.  http://id.wikipedia.org/wiki/E_%28konstanta_matematika%29

3   http://simonsingh.net/The_Black_Chamber/cracking_tool.html

4.  http://www.mu.org/~doug/exp/100000.html

Program Kalkulator Sederhana berbasis Android

Program kalkulator sederhana merupakan sebuah program yang digunakan untuk untuk menghitung 2 bilangan menggunakan operator penambahan, pengurangan, perkalian, dan pembagian. Untuk memperjelas penggunaan program kalkulator sederhana, anda dapat terlebih dahulu melihat output dari program berikut :

Dari output program tersebut, terdapat 2 buah input bilangan yaitu bilangan 1 dan bilangan 2. Dan terdapat 4 buah tombol sebagai operator yaitu tombol Tambah, Tombol Kurang, Tombol Kali, dan Tombol Bagi. Kemudian dibawah sendiri terdapat 3 buah input, input 1 dan 2 digunakan untuk menampilkan bilangan yang diketahui dan input 3 digunakan menampilkan hasil dari kedua input yang sudah didefiniskan tersebut.

Setelah melihat output dari program kalkulator sederhana diatas, kita harus mendefinisikan variabel beberapa komponen widged pada main.xml, agar dapat di jadikan variabel reference ke bagian logika programnya (Kalkulator.java). Anda bisa mencari potongan code dari main.xml  untuk mendefiniskan variabelnya. Sesuaikan dengan tabel berikut :

Widged

Variabel Name

Label

<TextView>

__

Kalkulator Sederhana

TextView1

Bilangan 1

TextView2

Bilangan 1

TextView01

Hasil

lblOperator

[]

TextView03

=

 <EditText>

operand1

—————————————-

operand2

—————————————-

hsl1

—————————————-

hsl2

—————————————-

Hsl3

—————————————-

 <Button>

btnTambah

Tambah

btnKurang

Kurang

btnKali

Kali

btnBagi

Ba

< [widged] android:id = “[variabel name]” [widged] >

  • Masuk bagian logical programming (Kalkulator.java). Maka struktur program pada Kalkulator.java seperti berikut
  • Tambahkan kode program berikut untuk membuat variabel widgedny
  • Kemudian panggil variabel reference dari id yang sudah kita definisikan di main.xml
  • Kemudian setiap button kita berikan aksi, supaya ketika salah satu tombol ditekan dapat menjalankan program di dalamnyaPerhatikan pada method void onClick(View v), dimana program yang dituliskan didalamnya akan diekseskusi ketika tombol tambah di tekan. Kemudian anda bisa memberikan action pada setiap button lainnya seperti contoh diatas.
  • Kemudian agar tombol tambah ketika di tekan dapat berjalan, maka tambahkan program berikut kedalam method onClick(View v).                                                                                      

Method setText() digunakan untuk menampilkan teks ke output.

  • Untuk memfungsikan tombol kurang,kali, dan bagi, lakukan hal yang serupa seperti pada langkah ke-4 dengan mengisikan program ke setiap method OnClick(), tinggal anda sesuaikan operator yang diubah.
  • Setelah semuanya beres, kita mencoba mejalankan program kalkulator sederhana.
  • Alhamdulliah program bekerja, anda dapat mencoba sendiri pada tombol lainnya, selamat berkreasi. Pada pembahasan selanjutnya jika ada ide dan kreasi, penulis akan membuatkalkulator lebih kompleks.

Untuk Project KalkulatorSerderhana anda bisa mendownloadnya pada link berikut :

Project Kakuator sederhana

Installasi Aplikasi Android di Netbeans

Pada kesempatan kali ini, saya akan membahas installasi android pada Netbeans (netbeans yang saya gunakan 7.0.1) . Anda juga bisa mengunjungi link berikut yang membahas installasi android di netbeans http://kenai.com/projects/nbandroid/pages/Install. Untuk persiapan aplikasinya, tool yang dibutuhkan cukup IDE Netbeans dan koneksi internet.

Untuk langkah-langkah installasinya :

  •  Buka IDE Netbeans anda.
  •   Pilih tab Tools -> Plugin
  •  
  • Setelah masuk ke jendela plugin, geser ke tab setting dan pilih tombol add (lihat kotak merah)
  • Kemudian akan muncul jendela Update Center Customize. Masukkan Nama dan URL seperti dibawah ini
  • Kemudian Click OK,dan tunggu hingga upload file ke android berhasil
  • Jika berhasil maka muncul (saya tandai kotak merah) sebagai berikut
  • Kemudian beralih ke tab “Available Plugins”, maka catalog android ditampilkan, dan anda centang sesuai versi netbeans anda. Disini saya mencentang android dan android test runner for Netbeans 7.0.
  • Kemudian Click Tombol Install
  • Maka Installasi pertama kali akan menampilkan” Welcome to the Netbeans IDE Plugin Installer” :
  • Langsung tekan next, dan anda akan diminta lisensi persetujuan,centang “I accept the terms in all the lisensi agrement
  • Kemudian ikuti intruksi berikutnya, dan klik finish
  • Ahkirnya installasi selesai, untuk mencoba aplikasi android anda dapat langsung membuat project android di netbeans
  • Pilih tab File -> New Project  -> (Jika berhasil muncul pilihan project android) -> Pilih Android Project
  • Klik tombol Next, Lalu akan muncul jendela “New Android Application”, dan lengkapi isian projectnya,. Jika anda belum mendownload SDK Android silahkan kunjungi link berikut  http://developer.android.com/sdk/index.html
  • Dan perhatikan kotak merah diatas untuk memilih SDK Android yang anda gunakan, saya menggunakan Android 2.2 Froyo, dan klik Finish.
  • Selanjutnya selamat berkreasi.

Program Welcome Android Dengan Inputan User

Sesuai dengan tradisi, untuk membuat program pertama, biasanya programmer membuat program menampilkan kalimat “Hello World” atau sejenisnya. Untuk melestarikan tradisi, pada project android pertama ini, kita akan membuat sebuah program untuk menampilkan kalimat “welcome android” yang di inputkan oleh user.  sebelum membuat program welcome android, anda bisa melihat output dari program welcome android di bawah ini :

Dari program welcome android tersebut, kita membutuhkan beberapa komponen widged untuk membuat UI (User Interfacenya) terlebih dahulu, diantaranya L Sesuaikan setiap variabel komponen widgednya sesuai Variabel Name pada tabel berikut ini”.

Widged

Variabel Name

Label

<TextView>

__

Project Welcome Android Dengan Inputan User

TextView1

Ketikkan Kalimat

TextView2

Kalimat yang telah anda ketik
<EditText>

txtInput

—————————————-

TxtOutput

—————————————-
<Button>

btnShow

Show

btnReset

Reset

Kemudian anda buka file main.xml, untuk membuat desain User Interfacenya dan mendefinisikan variabel id widgednya. Kemudian masuk kedalam mode Grapichal Layout untuk drag and drop widged ke container atau mode main.xml ke dalam mode text xml. Kemudian masuk ke dalam mode main.xml. Sehingga draft dari struktur main.xml adalah :

<?xml version=”1.0″ encoding=”utf-8″?>

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;

android:orientation=”vertical”

android:layout_width=”fill_parent”

android:layout_height=”fill_parent” >

<!– Widged TextView menciptakan PROJECT WELCOME ANDROID DENGAN INPUTAN USER –>

<TextView

( ……………………….. )

<!– Widged TextView menciptakan label Ketikkan Kalimat –>

<TextView

( ……………………….. )

</TextView>

<!– Membuat desain layout secara relative untuk mengatur komponen widged secara relative–>

<RelativeLayout android:layout_width=”match_parent” android:layout_height=”wrap_content”

android:id=”@+id/relativeLayout1″>

<!– Menciptakan EditText untuk input teks Input lebih dari satu baris –>

<EditText android:inputType=”textMultiLine”

( ……………………….. )

</EditText>

<!—Widged Tombol Menciptakan Tombol Reset –>

<Button android:text=”Reset”

(…………………………….)

</Button>

<!—Widged Tombol Menciptakan Tombol Show–>

<Button android:text=”Show”

(…………………………….)

</Button>

</RelativeLayout>

<!– Widged TextView menciptakan label Kalimat yang telah anda ketik –>

<TextView android:layout_marginLeft=”40dp”

(…………………………….)

</TextView>

<!– Menciptakan EditText untuk input teks Output lebih dari satu baris –>

<EditText android:layout_marginLeft=”40dp”

(…………………………….)

</EditText>

</LinearLayout>

Pada semua widged EditText kita gunakan inputnya bertipe “TextMultiLine”, untuk menginputkan kalimat lebih dari satu baris.

<EditText  android:inputType=” TextMultiLine” >

Pada widged EditText untuk Output-nya kita berikan nilai false untuk mencegah pengeditan teks.

<EditText android:enable=”false”>

Kemudian jalankan project HelloAndroid, untuk melihat basic desain yang baru kita buat di main.xml

Basic desain tersebut masih belum dapat digunakan untuk menampilkan input kalimat dari user, maka  harus diberikan aksi melalui tombol show dan reset ketika di tekan.  Untuk mendefinisikan aksi tombol,kita harus mengimplement method setOnClickListener(new View.OnClickListener(). Kemudian meng-overidenya berupa method public void onClick (View view), dimana pada method tersebut source code ditempatkan dan dieksekusi ketika tombol (mana) ditekan.

“KETIKA TOMBOL SHOW DITEKAN MAKA CODE YANG BERADA DALAM METHOD ONCLICK DIEKSEKUSI DAN KALIMAT YANG DI INPUTKAN DALAM EDITTEXT INPUT USER AKAN DITAMPILKAN PADA EDITTEXT OUTPUT”

Button tombol = (Button) findViewById(R.id.btnShow)

tombol.setOnClickListener(new View.OnClickListener() {

public void onClick(View view){

EditText input  = (EditText) findViewById(R.id.txtInput);

EditText output = (EditText) findViewById(R.id.TxtOutput);

String stInput1 = input.getText().toString();

/* Tampilkan teks menggunakan method setText */

output.setText(stInput1); }});

“KETIKA TOMBOL RESET DITEKAN MAKA CODE YANG BERADA DALAM METHOD ONCLICK DIEKSEKUSI DAN KALIMAT DI DALAM EDITTEXT DIHAPUS SEMUA (RESET)”

Button tombol = (Button) findViewById(R.id.btnShow){

reset.setOnClickListener(new View.OnClickListener() {

public void onClick(View arg0) {

EditText input  = (EditText) findViewById(R.id.txtInput);

EditText output = (EditText) findViewById(R.id.TxtOutput);

String stInput2   = input.getText().toString();

/* Reset Teks */

input.setText(“”);

output.setText(“”);

}});

Kemudian anda jalankan untuk melihat hasil ahkirnya :

Inputkan sebuah kalimat kemudian tekan tombol show, jika berhasil akan ditampilkan sesuai dengan kalimat yang anda inputkan.

Sekian untuk pembuatan tutorial yang singkat dan sederhana ini, anda bisa menggunakan complete project dan tutorialnya dengan mendownload link berikut : Project Welcome Android

Salam Hangat dan Assalamualaikum Wr.Wb

Simple GuestBook Menggunakan JSP

Postingan kali ini, saya akan membahas pembuatan aplikasi simple guestbook, Aplikasi simple guestbook saya buat menggunakan JSP (Java Server Page), aplikasi ini saya buat masih tetap menggunakan konsep MVC (Model View Controler), karena komponen modelnya saya memakai java class dan untuk komponen controlnya saya menggunakan JSP. Okey, anda dapat mengunduh panduan dan projectnya disini :

Simple GuestBook with JSP

Kritik dan saran yang membangun akan selalu saya sambut dengan hati terbuka. Terima kasih, Semoga Bermanfaat dan salam hangat dari saya “Novan”.Assalamualaikum Wr.Wb

Penanganan Tanggal Dan Waktu- Part II

Pada pembahasan sebelumnya “Penanganan Tanggal Dan Waktu- Part I “, kita membuat aplikasi pendaftaran sederhana untuk menginputkan nama,tanggal dan jam, sehingga kita memperoleh format tanggal defaultnya dari SQL seperti ini :

Format default Tanggal SQL : 01-01-2011

Permasalahanya, bagaimana memasukkan Tanggal sesuai dengan kehendak kita dengan format Tanggal yang bisa kita ubah-ubah secara valid, seperti menentukan dan  menginputkan Tanggal Lahir , contohnya seperti ini :

Tanggal : 01/01/2011 atau 2011-01-1 atau 01 01 2011

Okey, Pada pembahasan kali ini kita akan membuat aplikasi untuk menangani Input Tanggal Lahir dan mengubah format tanggal sesuka hati kita menggunakan bantuan JComboBox.Karena menggunakan JComboBox, data akan tetap terjaga dan tentunya datanya lebih konsisten.

Anda dapat mencoba program dan panduannya, monggo panjenengan unduh

Project Tanggal Lahir dan Format Tanggal

Aplikasi ini merupakan perluasan dari “Penanganan Tanggal dan Waktu Part-I” yang sebelumnya sudah pernah saya buat.Jika ada kesempatan dan waktu insallah saya akan mengembangkannya dengan menghadapkan pada sebuah study kasus untuk lebih menambah pemahaman. Kritik dan saran yang membangun akan selalu saya sambut dengan hati terbuka. Terima kasih, Semoga Bermanfaat dan salam hangat dari saya “Novan”.Assalamualaikum Wr.Wb.

Penanganan Tanggal Dan Waktu-Part 1

Data tanggal dan waktu merupakan hal terpenting dalam mengidentifikasi,mengingat  dan mencatat setiap kegiatan yang dilakukan.Dalam pembahasan kali ini, saya akan membuat program sederhana untuk menangani imputan data tanggal dan waktu (jam), inputan data tanggal dan jam ini prinsip kerjanya mengambil Format Tanggal dan Waktu yang telah tersedia dalam SQL.Okey untuk memulai aplikasi ini, anda diharapkan telah memahami Implementasi MVC pada Aplikasi Biodata Dengan Java Swing Part-1 yang sudah pernah saya bahas sebelumya, karena saya akan langsung membahas implementasi program pada komponen Model dan komponen View Controler.

Anda dapat mencoba program penanganan tanggal dan waktu-part 1 sederhana ini, silahkan mengunduh project dan panduannya :

Project Date&Time

Kritik dan saran yang membangun akan selalu saya sambut dengan hati terbuka. Terima kasih, Semoga Bermanfaat  dan salam hangat dari saya “Novan”.Assalamualaikum Wr.Wb

Penanganan tanggal dan waktu-Part II

Implementasi MVC(Model View Controler) pada Aplikasi Biodata dengan Java Swing-Part 1

Setelah membaca dan mempelajari beberapa literatur  tentang MVC (Model View Controler) saya tertarik untuk membuat aplikasi java berbasis desktop/swing  yang menerapkan konsep MVC. MVC sendiri memisahkan komponen model, view,  dan controler. Dengan memisahkan ketiga komponen tersebut memberikan kemudahan programmer atau developer untk memaintance, sehingga jika terjadi perubahan pada salah satu komponen maka kita tidak perlu report mengubah seluruh komponennya, cukup salah satu komponen yang akan diubah. Beberapa fungsi komponen MVC dibagi menjadi 3 bagian utama :

  1. Model : Merupakan Struktur data, berhubungan dengan database seperti operasi koneksi database, insert, delete, update dan view yang diintegrasikan dengan bahasa pemograman..
  2. View : Berhubungan dengan Tampilan atau user interface yang berinteraksi langsung dengan user, seperti form registrasi, form login, dsb. Komponen view ini biasanya pembuatan User Interface semisal menggunakan  HTML, CSS, Java Script pada aplikasi web atau pada aplikasi java desktop menggunakan komponen pallete seperti JFrameForm, JTextField, JButton,dsb.
  3. Controler : Merupakan komponen untuk menentukan alur logika atau aksi yang diambil dari  komponen model untuk ditampilkan diuser interface. Sehingga Controler ini sebagai jembatan antara komponen Model dengan komponen View, karena komponen model tidak bisa  terhubung langsung ke komponen View tanpa melalui komponen control dulu. Karena keputusan berada pada controller.

Setalah anda membaca uraian diatas kita akan membuat aplikasi input biodata-Part 1 sederhana menggunakan konsep MVC, dimana Logica Model dengan Logika View dibedakan.Okey, anda bisa mencoba aplikasi biodata sederhana ini dengan memakai konsep MVC, silahkan mengunduh Project dan panduannya disini :

MVC BiodataSederhana

Kritik dan saran yang membangun akan selalu saya sambut dengan hati terbuka. Terima kasih, Semoga Bermanfaat  dan salam hangat dari saya “Novan”.Assalamualaikum Wr.Wb

Smart Client Sync Markup Language (Sync ML)

Sync ML atau yang disebut Synchronisasi Markup Languange merupakan protokol yang berifat open yang digunkan berbagai perangkat mobile dengan spesifikasi tertentu tanpa memandang melalui device apa. Sync ML ini berfungsi untuk mendistribusikan data store melalui media jaringan. Contoh pada Sync PIM.

Topologi Sync :

1. One to One : Menghubungkan antara server dan client.Contohnya : Koneksi laptop dan desktop.

Keuntungan menggunakan toplogi ini ialah meminimalisir konflik data

2. One to Many : Menghubungkan lebih banyak client dalam satu pusat induk servernya.Contoh : Perusahaan yang memiliki banyak data dan melayani banyak mobile client.

Kekurangan menggunakan topologi ini ialah rawan terjadi bottlenect (Kemacetan).

3. Many to Many : Dimana dalam topologi ini tidak adanya server dan client secara khusus. Sehingga tidak adanya ketergantungan antara keduanya.namun diantaranya harus ada spesifikasi yang tinggi dan baik.

4. Hybrid One to One and Many to Many : merupakan penggabungan dari kedua toplogi 1 dan 3 , Dalam topologi ini dibagi menjadi 2 kategori yaitu cluster dan Hierakial.

4.1 Cluster : Cluster dibagi menjadi 2 yaitu cluster server dan cluster client. KEuntungan menggunakan cluster ini ialah beban         menjadi ringan ketika menangani request dari client

4.2 Hierakial : Topologi ini memiliki 1 server storage induk untuk menangani chilnode dibawahnya. Dimana data dari server induk(parent node) membagi datanya ke beberapa childnode cabangnya.sebelumdata itu disitribusikan ke client mobile.

Konektivitas :

local               :  Terhubung melalui media irda dan bluethooth

pasthrough :  Terhubung mobile client ke  server melalui router

Remote         :  Antara Server Client dalam melakukan sync melewati jaringan umts atau jaringan lainya.