• Tidak ada hasil yang ditemukan

TINJ AUAN PUSTAKA

2.7. SMS GATEWAY

SMS Gateway adalah suatu platform yang menyediakan mekanisme untuk

EUA menghantar dan menerima SMS dari peralatan mobile (HP, PDA phone, dll) melalui SMS Gateway’s shortcode Menurut Ardana (2004:35) SMS Gateway merupakan suatu alat yang fungsinya sebagai sebuah penghubung atau jembatan antara aplikasi atau sistem dengan mobile phone. Pesan-pesan SMS dikirim dari sebuah telepon genggam ke pusat pesan yaitu Short Message Service Centre (SMSC), disini pesan disimpan dan dikirim selama beberapa kali. Setelah sebuah waktu yang telah ditentukan, biasanya satu atau dua hari, lalu pesan dihapus. Seorang pengguna bisa mendapatkan konfirmasi dari pusat pesan ini.

Gambar 2.10 Proses SMS Gateway.

Setiap provider yang saat ini berdiri memiliki SMSC dan program SMS

Gateway yang berbeda, tetapi tehnik pengiriman SMS semua provider sama. Pada

gambar satu merupakan alur pengiriman SMS. Pada gambar satu merupakan alur pengiriman SMS. Pada pengiriman SMS data yang mengalir dari handphone ke provider atau dari provider ke handphone harus berbentuk Protocol Data Unit (PDU). PDU berisi bilangan-bilangan heksadesimal yang mencerminkan bahasa

Input/Output (I/O). PDU terdiri atas beberapa header. Header untuk mengirim

SMS ke SMSC berbeda dengan SMS yang diterima dari SMSC. Maksud dari bilangan heksadesimal adalah bilangan yang terdiri atas 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F. sebagai contoh untuk angka desimal 1000, bilangan heksadesimalnya adalah E83.

2.8. J AVA.

2.8.1. Bahasa Pemr ograman.

J AVA, dalm dunia ilmu komputer, merupakan bahasa pemrograman berorinetasi objek yang di perkenalkan pada tahun 1995 oleh Sun Microsystem, Inc. sebuah industri perangkat lunak yang cukup besar di Amerika Serikat, yang saat java diciptakan proyeknya dipimpin oleh J ames Gosling. Nama Java diambil karena beberapa programnya terkesan oleh keindahan pulau jawa di Indonesia serta kenikmatan kopinya (!). Java memungkinkan kita membuat program-program komputer dengan paradigma yang kita jumpai di dunia nyata yang

sebenarnya. Paradigma yang dimaksud adalah “Pemrograman Berorientasi Objek” yang dalam bahasa aslinya diasebut sebagai OOP (Object Oriented Programming).

Sebagai bahasa pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, Web, dan lainnya. Sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain.

JAVA adalah bahasa pemrograman berorientasi ojek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan JAVA tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source.

Pemrograman konvensional dengan COBOL, FORTRAN, Pascal, BASIC, serta C secara umum dikenal sebagai pemrograman berorientasi prosedur (sering juga dinamakan pendekatan terstruktur). Pada pendekatan terstrutur tersebut, permasalah dilihat sebagai urutan sesuatu yang harus dikerjakan (baca : algoritma program). Secara sekuensial, seperti menerima masukkan (input), pemrosesan (processing), kemudian menghasilkan output, yang terfokus pada fungsi-fungsi serta prosedur-prosedur. Apa yang di lakukan pada pendekatan terstruktur terutama adaah menulis daftar perintah yang harus diikuti oleh komputer, kemudian mengorganisasi perintah-perintah tersebut kedalam kelompok-kelompok yang dinamakan fungsi / prosedur. Kita umumnya menggunakan diagram alur (flow-chart) atau pseucode untuk mengorganisasi aliran perintah dari satu aksi ke aksi yang lain.

Pendekatan terstruktur memiliki sisi kekurangan lain yang cukup serius keika tidak dapat menggambarkan dunia nyata (real-word) dengan baik karena

fungsi-fungsi berorientasi pada aksi dan tidak berhubungan langsung dengan permasalahan. Program yang dibuat dengan pendekatan terstruktur lebih mirip dengan apa yang di bayangkan oleh pengembang dibandingkan dengan harapan dan keinginan (user’s need and expectation). Pendekatan terstruktur dinilai kurang berhasil dan kurang sesuai dengan keinginan pengembang. Ketika era saat ini lebih menekankan pengembang perangkat lunak yang sesuai dengan kebutuhan pengguna [EUC (End User Computing)]. Lebih dari itu, pendekatan terstruktur juga dianggap tidak begitu sempurna dalam menangkap kebutuhan pengembang terhadap penggunaan ulang komponen (seusable component) karena tidak adanya standarisasi modul dan unit. Misalnya, modul yang dibuat dengan pascal hanya bisa di manfaatkan oleh pemrogram pascal lainnya.

Sampai beberapa tahun lalu, pendekatan serta metodologi terstruktur adalah pendekatan yang terbaik dalam usaha mengembangkan sistem informasi dan/atau perangkat lunak. Tetapi, keinginan dan harapan pengguna (User’s needs and expectation). Serta teknologi berkembang lebih pesat sehingga pendekatan terstruktur tidak cukup memadai lagi untuk mengembangkan perangkat luna dan/atau sistem informasi yang ekonomis, efektif dan efisien bagi semua kalangan. Oleh karena itulah, sejak awal tahun 1990an para pengembang lebih menyukai dengan metodologi berorientasi objek yang memberikan hasil jauh lebih baik dibandingkan pendekatan terstruktur.

Adapun karakteristik utama yang nyata pada pendekatan berorientasi objek prosedur/fungsi (untuk membedakanya dengan pendekatan berorientasi objek) adalah sebagai berikut :

a. penekanan pada sesuatu yang harus dikerjakan (algoritma pemecahan masalah)

b. program berukuran besar dipecah-pecah menjadi program-program yang berukuran kecil.

c. Kebanyakan fungsi/prosedur berbagi data global.

d. Data bergerak secara bebas data sistem, dari satu fungsi ke fungsi yang lain yang terkait melalui parameter-parameter didalamnya.

e. Fungsi-fungsi menstranformasi data-data dari satu bentuk kebentuk yang lain menggunakan algoritma-algoritma tertentu.

2.8.2. Sebuah Development Dan Deployment Environment.

Sebagai sebuah peralatan pembangunan, teknologi JAVA menyediakan banyak tools: Compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya.

Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas-kelas untuk semua paket teknologi JAVA yang meliputi kelas dasar dari JAVA, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. hampir seluruh Web Browser komersial menyediakan interpreter dan runtime enrironment dari teknologi JAVA.

2.9. Sebagian Fitur dari J AVA. 2.9.1. Java Virtual Machine (J VM).

JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi

Hardware dan platform dimana kompilasi kode java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.

Aplikasi program java diciptakan dengan file teks berekstensi java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada JAVA interpreter yang tersedia disemua platform sistem komputer dan sistem operasi.

2.9.2. Code Scurity.

Code security terimplementasi pada java melalui penggunaan JAVA Runtime Environment (JRE). java menggunakan model pengaman 3 lapis untuk melindungi sistem dari untrusted JAVA code.

a. Pertama, class-loader menangani pemuatan le;as JAVA ke Runtime Interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas-kelas yang berasala dari local disk dengan kelas-kelas-kelas-kelas yang di ambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas-kelas yang berasal dari local disk yang dimuat terlebih dahulu.

b. Kedua, bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan-aturan dasar bahasa java.

c. Ketiga, manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan pakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses external dan system windowing.

Setelah seluruh proses tersebut dijalankan, barulah kode program di eksekusi. Java juga menyediakan beragam teknik pengamanan lain :

a. Bahasa dirancang untuk mempersulit eksekusi kode perusak. Peniadaan pointer merupakan langkah besar pengamanan. java tidak mengenal operasi pointer. Di tangan programmer handal, operasi merupakan hal yang luar biasa untuk optimasi dan pembuatan program yang efisien serta mengagumkan. Namun mode ini dapat menjadi petaka di hadapan programmer jahat. Pointer merupakan sarana luar biasa untuk pengaksesan diotorisasi. Dengan peniadaan operasi pointer, java dapat menjadi bahasa yang lebih aman.

b. Java memiliki beberapa pengaman terhadap applet. Untuk mencegah program bertindak mengganggu media peyimpanan, maka applet tidak di perbolehkan melakukan open, read ataupun write terhadap berkas secara sembarangan. Karena JAVA applet dapat membuka jendela browser yang baru, maka jendela yang dibuka mempunyai logo java teks identifikasi terhadap jendela yang dibuka. Hal ini mencegah jendela pop-up menipu sebagai permintaan keterangan username dan password.

2.10. Fase-fase Pemr ograman J AVA.

Gambar dibawah ini menjelaskan aliran proses kompilasi dan eksekusi sebuah program java :

Satu kali setiap kali program dijalankan

Gambar 2.11. Fase Dari Sebuah Program JAVA.

Editor Java Compiler Java interpreter Hello. java Hello. class

Langkah pertama dalam pembuatan sebuah program berbasis java adalah menuliskan kode program pada teks editor. Contoh text editor yang dapat di gunakan antara lain : notepad, vi, emacs dan lain sebagainya. Kode program yang dibuat kemudian tersimpan didalam sebuah berkas beresktensi (.java).

Setelah membuat dan menyimpan kode program, kompilasi file yang berisi kode program tersebut dengan menggunakan JAVA compiler. Hasil dari kompilasi berupa berkas bytecode dengan ekstensi (.class).

Berkas yang mengandung bytecode tersebut kemudian akan dikonversikan oleh java Interpreter menjadi bahsa mesin sesuai dengan jenis dan platform yang digunakan.

Tabel 2.2. Ringkasan Fase Dari Sebuah Program Java. Proses Tool Hasil

Menulis kode program Text editor Berkas berekstensi –java

Kompilasi program Java Compiler Berkas berekstensi -class (Java Bytecode) Menjalankan program Java Interpreter Program output

2.11. Class dan Object.

2.11.1. Perbedaan class dan object.

Obyek adalah sebuah perangkat lunak yang berisi sekumpulan variabel dan method yang berhubungan. Variabel dan method instance. Hal ini dilakukan untuk membedakan dari variabel class dan method class.

Class adalah struktur dasar dari OOP. Class terdiri dari dua tipe dari

anggota dimana disebut dengan field (atribut/property) dan method. Field merupakan tipe data yang didefinisikan oleh class, smeentara method merupakan operasi. Sebuah obyek adalah sebuah instance keturunan dari class.

Untuk membedakan antara class dan obyek, ada beberapa contoh sebagai berikut. Kita memiliki sebuah class mobil dimana dapat digunakan untuk mendefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah obyek dari class mobil. Class memiliki field nomor plat, warna, manufaktur dan kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. mobil juga dapat berakselerasi, berbelok dan meakukan rem.

Tabel 2.3. Contoh Class Mobil Dan Obyek-Obyek nya.

Class Mobil Obyek mobil A Obyek mobil B

Variabel instance

Nomor plat L 451 O B 0000 M

Warna Biru Merah

Manufaktur Mitsubishi Toyota

Kecepatan 50 km/jam 100 km/jam

Method instance

Method Akselerasi Method Belok Method REM

Ketika di inisialisasi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun implementasi dari method dibagi diantara obyek pada class yang sama. Class menyediakan keuntungan dari rusability. Programmer perangkat lunak dapat menggunakan sebuah kelas beberapa kali untuk membuat banyak obyek.

2.11.2. Java Identifier.

Java Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. contoh dari Identifier adalah : Hello, main, System, out.

Pendeklarasian Java adalah case-sensitive. Hal ini berarti bahwa identifier : Hello tidak sama dengan hello. Identifier harus dimulai dengan salah satu huruf,

maupun huruf kecil. Karakter sekanjutnya dapat menggunakan nomor 0 - 9.

Identifier tidak dapat menggunakan kata kunci dalam java seperti class, public, void, dsb.

2.11.3.Keyword dalam J AVA.

Kata kunci adalah identifier yang telah dipesan untuk didefinisikan sebelumnya oleh java untuk tujuan tertentu. Anda tidak dapat menggunakan

keyword sebagai nama variabel, class, method anda.

Berikut adalah daftar kata kunci dalam java (JAVA KEYWORD). Tabel 2.4. Java Keyword.

J AVA KEYWORD

Abstract Continue For New Switch

assert*** Default goto* Package Synchronized

Boolean Do If Provate This

Break Double implements Protected Throw

Byte Else Import Public Trrows

Case enum**** Instanceof Return Transient

Catch Extends Int Short Try

Char Final Interface Static Void

Class Finaly Long strictfp** Volatile

Dokumen terkait