Dec 08

Structured Query Language (SQL)

SQL

Aplikasi database telah menjadi suatu bagian integral dari hampir seluruh kehidupan manusia. Tanpa database, banyak hal yang kita lakukan akan menjadi sangat membosankan atau bahkan tidak mungkin sama sekali. Bank, universitas, dan perpustakaan adalah tiga contoh organisasi yang tergantung sekali pada database. Dalam dunia internet, aplikasi search engine, online shopping, dan bahkan sistem penamaan suatu Website yang dikenal dengan DNS akan menjadi tidak mungkin tanpa adanya dukungan database. Website yang monoton akan akan ditinggalkan oleh pengunjung. Suatu database yang diimplementasikan dan ditampilkan pada suatu komputer biasanya dikenal dengan istilah Database Server.

MySQL, sebagai salah satu SQL (Structured Query Language) Database Server, dikembangkan pertama kali oleh T.c.X DataKonsultAB yang merupakan perusahaan komersial yang membangun bisnis dengan memprioritaskan pada layanan seputar database MySQL.

Pengertian MySQL

  1. MySQL adalah suatu sistem manajemen database.
    Database
    merupakan sekumpulan data. Untuk menambah, mengakses, memproses semua data pada databaseserver, anda memerlukan suatu manajemen seperti MySQL.
  2. MySQL adalah manajemen database yang terstruktur.
    Database
    pada MySQL menyimpan semua data dalam tabel-tabel yang berbeda dan tidak mengumpulkan dalam suatu ruang penyimpangan yang sangat besar. Hal ini akan meningkatkan kecepatan dan fleksibilitas. Setiap tabel akan saling berhubungan sesuai data yang diinginkan penggunanya
  3. MySQL adalah software yang bersifat open source.
    Open Source
    berarti setiap orang bebas menggunakan maupun memodifikasinya. Kita bisa mendownload MySQL dari internet dan menggunakan tanpa harus membayar apapun. MySQL menggunakan GPL (GNU General Public License) untuk menjelaskan kepada anda apa yang boleh dan tidak boleh anda lakukan terhadap software tersebut pada situasi yang berbeda.

Keunggulan MySQL Sebagai Database Server

Seperti telah dijelaskan bahwa MySQL bersifat open source, gratis, downloadable, sehingga telah menjadi salah satu keunggulan MySQL dibandingkan SQL Server lainnya. Dan masih ada keunggulan yang lain yaitu:

  • Mampu menampung jumlah user yang sangat banyak dalam waktu bersamaan.
  • Daya tampung record yang sangat besar, yaitu lebih dari 50.000.000.
  • Waktu eksekusi perintah yang sangat cepat, mungkin yang tercepat di pasaran database server.
  • Mudah dalam instalasi maupun manajemennya.
  • Dapat berjalan di atas banyak platform yang berbeda (FreeBSD, Linux, Mac OS X Server, Alpha-DEC-Unix, NetBSD, OS/2, Solaris dan Windows).
  • Server dapat menampilakan pesan error dalam banyak bahasa ke user.
  • Sistem alokasi memory yang sangat cepat.
Dec 08

Protocol Data Unit (PDU)

Data yang mengalir ke atau dari SMS-center harus berbentuk PDU (Protocol Data Unit). PDU berisi bilangan-bilangan heksadesimal yang mencerminkan bahasa I/O. PDU terdiri atas beberapa header. Header untuk kirim SMS ke SMS-center berbeda dengan SMS yang diterima dari SMS-center.

PDU untuk kirim SMS ke SMS Center

PDU untuk mengirim SMS terdiri dari delapan header, yaitu sebagai berikut:

  1. Service Center Address (SCA)
    Terdiri atas tiga komponen, yaitu:

    • Len
      Panjang informasi SMSC dalam oktet, adalah 00
    • Type of number
      untuk nasional, sub headernya adalah  81 hexa
      internasional , kode sub headernya yaitu 91 hexa
    • Nomor SMS-center, untuk format PDU pasangan heksanya dibalik-balik, dan bila ganjil maka akan dipasang dengan huruf F di depannya. Dalam pengiriman SMS, nomor SMSC tidak dicantumkan sehingga type of number dan SMSC adalah none. SCA = 00
  2. PDU Type
    Nilai default untuk pengiriman SMS adalah 11hexa. PDU = 11
  3. Massage Reference (MR)
    Nomor referensi SMS, nomor referensi dibiarkan 0 , jadi bilangan heksanya adalah 00. MR = 004.
  4. Destination Address
    Nomor telepon seluler penerima, terdiri atas tiga
    subheader, yaitu:

    • LeN
      Jumlah bilangan desimal nomor telepon seluler yang dituju dalam bilangan  heksadesimal.
    • National/Internasional Kode
      untuk nasional, sub headernya adalah  81hexa
      internasional , kode sub headernya yaitu 91hexa
    • Nomor SMS-center, untuk format PDU pasangan heksanya dibalik-balik, dan bila ganjil maka akan dipasang dengan huruf F di depannya.
      Contoh: untuk nomor tujuan +6285220023183 menjadi 0D 91 265822003281F3
      Untuk nomor tujuan 085220023183 menjadi 0C81802502201338
  5. Protocol Identifier(PID)
    • 0,  menjadi 00 dikirim sebagai SMS
    • 1,  menjadi 01 dikirim sebagai telex
    • 2,  menjadi 10 dikirim sebagai fax
  6. Data Coding Scheme (DCS) atau skema encoding data I/O
    • Skema  7 bit , ditandai dengan angka 0 dan kode  00
    • Skema 8 bit, dengan angka lebih besar dari 0
  7. Validity Period
    Adalah lama waktu pesan disimpan di SMSC apabila pesan gagal diterima oleh handphone penerima. Jika diskip, maka berarti tidak membatasi waktu berlaku SMS. Missal diinginkan VP-nya 5 hari maka VP = 166 + 5 = 171d = AB hexa. Jadi VP = AB.
  8. User Data Length (UDL)
    Adalah panjang pesan yang dikirim. Misal pesan adalah ”pesan pendek”. Memiliki karakter 12 = 0Ch. UDL = 0C
  9. User Data (UD)
    Adalah isi pesan dalam format heksadesimal. Misal ”pesan pendek” kodenya adalah D0F23CEC06C1CB6E72790D

Untuk mengirim kata “pesan pendek” ke telepon seluler nomor “6285220023183″ lewat dengan jangka waktu valid 5 hari, maka PDU lengkapnya adalah : 0011000D91265822003281F30000AB0CD0F23CEC06C1CB6E72790D Continue reading

Dec 08

Short Message Service

SMS

Short Message Service (SMS) adalah salah satu fasilitas dari teknologi GSM yang memungkinkan mengirim dan menerima pesan-pesan singkat berupa text dengan kapasitas maksimal 160 karakter dari Mobile Station (MS). Kapasitas maksimal ini tergantung dari alphabet yang digunakan, untuk alphabet Latin maksimal 160 karakter, dan untuk non-Latin misalnya alphabet Arab atau China maksimal 70 karakter.

Service SMS membutuhkan sistem SMS Center (SMSC) yang menyimpan dan mem-forward text yang dikirimkan. Pada saat pesan SMS dikirim dari handphone (mobile originated) pesan tersebut tidak langsung dikirimkan ke handphone tujuan (mobile terminated), akan tetapi dikirim terlebih dahulu ke SMS Center (SMSC), baru kemudian pesan tersebut diteruskan ke handphone tujuan.

Jaringan SMS

Arsitektur dasar jaringan SMS sebagai berikut:

Continue reading

Dec 08

Java 2 Micro Edition (J2ME)

J2ME

Java 2 Micro Edition  (J2ME) merupakan salah satu bagian dari teknologi Java, yang dikembangkan untuk memungkinkan aplikasi berbasis teknologi Java dapat berjalan di perangkat-perangkat mobile device yang hanya memiliki memory kecil (misal: handphone, Palm, PDA, PocketPC) dan telah ditanamkan JVM pada device tersebut.

Configuration dan Profile J2ME

Dalam J2ME dibagi menjadi dua bagian yang dikenal dengan istilah configuration dan profile. Dua buah istilah tersebut sangat penting dalam pengembangan sebuah aplikasi wireless dengan teknologi Java.

  • J2ME Configuration

    J2ME Configuration mendefinisikan lingkungan kerja J2ME runtime. Karena setip handheld device memiliki fitur yang berbeda-beda, J2ME Configuration ini dirancang, yakni menyediakan libary standar yang mengimplementsikan fitur standar dari sebuah handheld device. Lingkungan kerja yang dimaksud meliputi Java Virtual Machine (JVM) yang digunakan untuk menjalankan program aplikasi Java. Untuk JVM pada J2ME berbeda dengan JVM yang dipakai pada J2SE, karena hanya fitur-fitur penting yang berkaitan dengan perangkat handheld device saja yang diimplementasikan.
    Ada dua kategori J2ME Configuration, yaitu :

    1. CDC (Connected Devide Configuration)
      Kategori ini umumnya digunakan untuk aplikasi Java pada perangkat-perangkat handheld device dengan ukuran memory sekitar 2 Megabytes. Contohnya adalah Internet TV, Nokia Communicator, dan car television.
    2. CLDC (Connected Limited Device Configuration)
      Kategori ini umunya digunakan untuk aplikasi Java pada handphone semacam Nokia, Samsung Java Phone, Motorola i85s, PDA, Palm, atau PocketPC. Umumnya perangkat-perangkat tersebut hanya memiliki memory berukuran 128-512 KiloBytes.
    CLD CLDC
    JVM yang digunakan dikenal dengan nama CVM JVM yang digunakan dikenal dengan nama KVM
    Digunakan pada perangkat handheld dengan ukuran memory minimal

    2 Mbytes

    Digunakan pada perangkat handheld dengan ukuran memory terbatas

    (128-512 Kbytes)

    Processor : 32 bit Processor : 16 atau 32 bit
    Implementasi seluruh fitur J2SE Implementasi subset J2SE
  • J2ME Profile
    Jika J2ME Configuration menyediakan library-library Java untuk implementasi fitur-fitur standar dari sebuah handheld device, J2ME Profile menyediakan implementasi-implementasi tambahan yang sangat spesifik dari sebuah handheld device. Sebagai analogi sebuah handphone dengan merek tertentu memiliki kemampuan untuk mengirim SMS kesuatu nomor tertentu, karena itu merupakan kemampuan standar dari sebuah handphone.Namun masing-masing handphone tersebut tentu memiliki fitur-fitur yang berbeda antara yang satu dengan yang lainnya, seperti misal ada handphone yang dilengkapi dengan kamera, atau ada handphone yang  mampu memutar file MP3. Kemampuan standar itulah yang diimplemntasikan oleh J2ME Configuration, sedangkan kemampuan/fitur lain yang dimiliki oleh setiap handheld diimplementasikan oleh J2ME Profile. Untuk implementasi Java pada wireless phone, J2ME Profile yang akan digunakan yaitu Mobile Information Device Profile (MIDP) atau yang biasa disebut MIDLet yang berkerja pada CLDC.
Dec 08

Java

Java – Object Oriented Programming

Bahasa Java merupakan bahasa pemrograman berorientasi obyek yang memiliki kemampuan multiplatform, dapat dijalankan sekaligus di berbagai sistem operasi, sesuai dengan motto-nya “write once run everywhere”. Di samping itu, software berbasis Java juga dapat dijalankan di mesin apapun tanpa harus diubah kode programnya.

Pada bahasa pemrograman Java yang menggunakan metode object oriented programming menjanjikan penyederhanaan tugas pemrograman dan sebuah solusi pada masalah inkompatibilitas. Programmer tidak lagi berurusan dengan “pemindahan  target” dari hardware dan inkompatibilitas software system operasi. Sebagai gantinya Java mengajukan sebuah model baru bagi pengembangan software, berdasarkan pada prinsip: “Write Once, Run Anywhere”. Pada sebuah kompiler Java akan mengkompilasi kode program Java menjadi Java Bytecode yang merupakan byte-byte instruksi untuk Java Virtual Machine (JVM). Sehingga aplikasi Java akan dapat berjalan pada mesin dan system operasi yang berbeda-beda selama mesin tersebut memiliki Java Virtual Machine (JVM). Komponen lain yang terdapat pada Java adalah Application Program Interface (API), yang merupakan kumpulan library untuk menjalankan dan mengembangkan program aplikasi Java.

Sun Microsystemtm sebagai pengembang Java, pada perkembangan selanjutnya memperkenalkan Java versi 1.2 atau lebih dikenal dengan nama Java 2 yang terdiri atas JDK(Java Development Kit) dan JRE(Java Runtime Environment) versi 1.2. Aplikasi-aplikasi Java yang compatible dengan Java 2 ini dikenal dengan Java 2 Compliant.

Kategori Java 2

Pada Java 2 ini dibagi menjadi tiga kategori, yaitu :

  • Java 2 Standard Edition (J2SE)
    Kategori ini digunakan untuk menjalankan dan mengembangkan aplikasi-aplikasi Java pada level PC (Personal Computer).
  • Java 2 Enterprise Edition (J2EE)
    Kategori ini digunakan untuk menjalankan dan mengembangkkan aplikasi-aplikasi pada lingkungan enterprise, dengan menambah fungsionalitas-fungsionalitas Java semacam EJB (Enterprise Java Bean), Java COBRA, Java Server Page (JSP), servlet, serta Java XML (Extensible Markup Language).
  • Java 2 Micro Edition (J2ME)
    Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi-aplikasi Java handheld device atau perangkat-perangkat semacam handphone, Palm, PDA, Pocket PC.

”"

Namun sebenarnya saat ini ada satu kategori lain yakni Java card, yang khusus dikembangkan untuk aplikasi pada smart card. Misalnya aplikasi kartu telepon CHIP, kartu VISA, kartu SIM pada handphone dan aplikasi mobile banking BCA yang saat ini sudah umum digunakan.

Dec 08

Object Oriented Programming

Pemroraman Berorientasi Objek

Pemograman berorientasi obyek merupakan sebuah metode yang digunakan untuk mendapatkan solusi masalah melalui perspektif obyek (benda, konsep, entitas). Obyek ini memiliki atribut dan metode yang digunakan bersama dengan obyek yang lainnya, sehingga dapat dijadikan solusi untuk sebuah permasalahan. Terdapat perbedaaan mendasar antara pemrograman prosedural dengan pemrograman yang berorientasi obyek, pada pemograman prosedural biasanya berupa baris-baris program yang dieksekusi terurut mulai dari baris teratas hingga bawah (line to line command execute).

Teknik yang lebih canggih pada pemrograman prosedural dengan menggunakan procedure dan function yang menjadikan prosedural lebih moduler (terbagi menjadi bagaian-bagaian yang lebih kecil). Pemrograman prosedural lebih menitikberatkan penyelesaian program berdasarkan urutan-urutan proses kerja. Sedangkan pemrograman berorientasi obyek memungkinkan kita membagi-bagi permasalahan berdasarkan obyek-obyek yang terlibat. Mendefinisikan peran masing-masing obyek dalam proses penyelesaian masalah. Sehingga titik berat penyelesaian masalah dengan metode ini adalah pembagian tanggung jawab kepada masing-masing obyek, bukan berdasarkan proses kerja.

Class dan Object

Pada Object Oriented Programming (OOP) maka akan senantiasa berhubungan dengan class dan  object. Class merupakan penggambaran umum kumpulan dari object tertentu. Sebuah class dapat diturunkan menjadi class-class  yang lain. Proses inilah yang dinamakan inheritance (pewarisan). Penurunan class  menjadi class-class yang lain sehingga akan membuat sebuah hierarki. Class yang menurunkan class-class dibawahnya disebut parent class, sedangkan subclass di bawahnya disebut child class. Sedangkan object adalah instance (contoh) dari sebuah class.

Dec 08

Arsitektur Umum Aplikasi Pemetaan Berbasis Web

Arsitektur Aplikasi Pemetaan Web

Bentuk umum arsitektur aplikasi peta berbasis web dapat dilihat pada gambar berikut ini :

”"

Pada gambar di atas, interaksi antara klien dengan server berdasar skenario request dan respon. Web browser di sisi klien mengirim request ke server web. Karena server web tidak memiliki kemampuan pemrosesan peta, maka request berkaitan dengan pemrosesan peta akan diteruskan oleh server web ke server aplikasi dan MapServer. Hasil pemrosesan akan dikembalikan lagi melalui server web, terbungkus dalam bentuk file HTML atau applet.

Pendekatan Aplikasi Pemetaan Web

Arsitektur aplikasi pemetaan di web dibagi menjadi dua pendekatan sebagai berikut :

  1. Pendekatan Thin Client
    Pendekatan ini memfokuskan diri pada sisi server. Hampir semua proses dan analisis data dilakukan berdasarkan request di sisi server. Data hasil pemrosesan kemudian dikirimkan ke klien dalam format standard HTML, yang di dalamnya terdapat file gambar dalam format standar (misalnya GIF, PNG atau JPG) sehingga dapat dilihat menggunakan sembarang web browser. Kelemahan utama pendekatan ini menyangkut keterbatasan opsi interaksi dengan user yang kurang fleksibel.
  2. Pendekatan Thick Client
    Pada pendekatan ini, pemrosesan data dilakukan di sisi klien menggunakan beberapa teknologi seperti kontrol ActiveX atau applet. Kontrol ActiveX atau applet akan dijalankan di klien untuk memungkinkan web browser menangani format data yang tidak dapat ditangani oleh web browser dengan kemampuan standar. Dengan adanya pemrosesan di klien, maka transfer data antara klien dengan web server akan berkurang.
    Tidak seperti pada pendekatan thin client, data akan dikirim ke klien dalam bentuk data vektor yang disederhanakan. Pemrosesan dan penggambaran kembali akan dilakukan di sisi klien. Dengan cara demikian, pengembang aplikasi dapat lebih fleksibel dalam menentukan prosedur interaksi aplikasi dengan user. Kelemahan dari pendekatan ini, harus ada tambahan aplikasi yang dipasang di komputer klien (kontrol ActiveX atau applet tadi). MapServer menggunakan pendekatan thin client. Semua pemrosesan dilakukan di sisi server. Informasi peta dikirimkan ke web browser di sisi klien dalam bentuk file gambar (JPG, PNG, GIF atau TIFF).