• Tidak ada hasil yang ditemukan

2. DASAR TEORI 2.1. SMS

N/A
N/A
Protected

Academic year: 2022

Membagikan "2. DASAR TEORI 2.1. SMS"

Copied!
23
0
0

Teks penuh

(1)

2. DASAR TEORI

2.1. SMS Gateway

SMS Gateway adalah suatu platform yang menyediakan mekanisme untuk UEA (User External Application) mengirim dan menerima SMS dari peralatan mobile (PDA, handphone, modem, dan lain-lain) melalui SMS Gateway’s shortcode. SMS Gateway memperbolehkan UEA untuk berkomunikasi dengan SMSC (Short Message Service Center) seperti Telkomsel, XL, Indosat, dan lain-lain atau SMS platform untuk mengirim dan menerima pesan SMS dengan sangat mudah, karena SMS Gateway akan melakukan semua proses dan koneksi dengan SMSC. SMS Gateway juga menyediakan UEA dengan interface yang mudah dan standar.

UEA dapat berupa berbagai aplikasi yang memerlukan penggunaan SMS, seperti berbagai aplikasi web yang telah banyak menggunakan SMS (free SMS, pendaftaran, konfirmasi melalui SMS, aplikasi perkantoran, dan sebagainya), CMS, acara pengundian di televisi, dan lain-lain (Wikipedia, 2011, para 1 & 2).

Dalam tugas akhir ini ada tiga komponen penting yang berfungsi untuk menjalankan sistem sesuai dengan tujuan dan fungsinya, yaitu: Gammu sebagai tools SMS Gateway, PHP engine yang dibutuhkan untuk membangun SMS web application, dan MySQL sebagai database Gammu dan database yang diperlukan untuk keperluan sistem.

2.2. Gammu

Gammu merupakan sebuah free tools untuk membangun aplikasi SMS Gateway. Gammu bukanlah sebuah aplikasi siap pakai, melainkan sebuah tools yang bisa diterapkan dengan bahasa pemrograman desktop maupun web dan dapat berjalan pada platform Windows maupun Linux. Secara umum Gammu berfungsi untuk mengatur dan mengolah data SMS, baik itu pesan masuk maupun pesan keluar. Untuk menerima dan mengirim SMS Gammu bekerja dengan menggunakan SQL server untuk penampungan semua inbox dan outbox yang ada

(2)

di handphone. Sampai dengan versi ini baru didukung dengan 2 modul database yaitu MySQL & PostgreSQL (http://wammu.eu/docs/pdf/Gammu.pdf).

Gammu memberikan akses ke berbagai fitur pada handphone, namun tingkat dukungan tidak sama antara handphone satu dengan yang lain, fitur-fitur yang ada pada tools Gammu antara lain:

1. Call listing, initiating and handling 2. SMS retrieval, backup and sending 3. MMS retrieval

4. Phonebook listing

5. Access to phone file system

Setiap fitur yang ada pada tools Gammu dijalankan melalui command line dan diakses di dalam folder Gammu (C:/Gammu) pada operating system Windows, dan di dalam folder Gammu terdapat file-file yang bertipe application untuk menjalankan fungsi Gammu seperti: Gammu, gammurc, smsdrc, Gammu- SMSD, dan lain-lain. Selain itu pada folder Gammu juga terdapat file database yang sudah siap digunakan sebagai tempat menyimpan data-data SMS.

Ada dua mekanisme kerja dari Gammu yaitu sebagai aplikasi dan sebagai Daemon. Gammu sebagai aplikasi akan bekerja ketika perintah Gammu di jalankan pada lingkungan shell beserta perintahnya disertakan sesuai fungsi yang diinginkan. Sedangkan sebagai Daemon Gammu ditandai dengan dijalankannya perintah SMSD pada shell. SMSD bukanlah perintah yang sudah di-install melainkan perintah yang dijalankan pada shell atau MS-DOS Prompt. Secara umum cara kerja Gammu yaitu: Gammu akan mendeteksi modem atau handphone yang memiliki modem. Lalu Gammu akan menjadikan modem tersebut sebagai interface SMS gateway antara komputer dengan modem atau handphone yang memiliki modem. Setelah itu SMS yang masuk akan ditampung ke dalam database yang telah disediakan. Sedangkan SMS yang ingin dikirim dapat dilakukan dengan mengakses command inject yang sudah disediakan oleh Gammu atau cara kedua dengan cara menyisipkan record dengan menggunakan query SQL ke dalam tabel outbox.

(3)

Gambar 2.1. Mekanisme Kerja Gammu

Sumber : http://merta12.wordpress.com/category/Gammu/

(telah diolah kembali)

2.2.1. Format SMS pada Gammu

Gammu memiliki beberapa dukungan format SMS, seperti:

1. Nokia Smart Messaging merupakan format SMS yang digunakan untuk data digital seperti: monochromatic picture images, downloadable profiles, monochromatic operator logos, monochromatic caller logos and monophonic ringtones.

2. Enhanced Messaging Service (EMS) merupakan format SMS yang digunakan untuk menyimpan gambar monokromatik, nada dering monophonic, animasi, format teks, dan lain-lain.

3. Multimedia Messaging Service (MMS) merupakan format SMS yang memungkinkan untuk mengirim pesan yang mengandung objek multimedia, seperti gambar, audio, video, dan rich text.

Sebelum menggunakan format-format SMS di atas untuk berkirim pesan ada baiknya mengetahui apakah handphone ataupun modem yang digunakan pada Gammu mendukung format-format SMS yang ingin digunakan, jika handphone atau modem tidak mendukung format SMS yang ingin dikirim, kemungkinan akan terjadi crash (http://wammu.eu/docs/pdf/Gammu.pdf).

Inbox IDReceiveDateTime SenderNumber Coding SMSCNumber TextDecoded

Outbox ID

SendingDateTime DestinationNumber Coding

SendingTimeout TextDecoded Deliveryreport

GAMMURC & SMSDRC

Menyimpan SMS Mengambil SMS

Mengirim SMS Menerima SMS

(4)

2.2.2. Encoding Chars in SMS Text

Teks dalam SMS pada Gammu dapat dikodekan menggunakan dua cara, yaitu:

• GSM Default Alphabet

Dengan menggunakan GSM Default Alphabet mengirim dan menerima pesan sebanyak 160 karakter dapat dilakukan dengan sekali mengirim pesan, perlu diketahui juga bahwa Gammu sebenarnya tidak membatasi kompresi teks sesuai dengan standar GSM, hal ini dikarenakan Gammu merupakan software yang bersifat open source. Berikut ini merupakan karakter yang digunakan oleh standar GSM :

- Semua huruf latin kecil (abcdefghjklmnopqrstuvwxyz) dan besar (ABCDEFGHIJKLMNOPQRSTUVWXYZ)

- Semua angka

- Beberapa huruf yunani

- Beberapa huruf bangsa lain (æ Æ ß à è É é ù ì ò ç Å å Ä ä Ö ö Ñ ñ Ü ü) - Beberapa simbol seperti @ ! ” # & / ( ) % * + = - , . : ; < > ?

• Unicode

Dengan Unicode dapat dikirimkan pesan sebanyak 70 karakter, kelebihannya dibandingkan dengan GSM Default Alphabet, Unicode dapat mendukung karakter khusus termasuk semua karakter nasional (http://wammu.eu/docs/pdf/gammu.pdf).

2.2.3. SMS Folders and Locations

Pada penggunaan SMS folders, Gammu akan memanipulasi nomor- nomor unik untuk menentukan lokasi SMS yang terdapat pada handphone, misalnya: ketika ada folder 1 dan folder 2 (data SMS yang diakses ke handphone, misalnya inbox, outbox, dll) akan dimasukkan ke dalam folder tersebut. Nama folder tergantung dari tipe handphone yang digunakan (biasanya 1=”Inbox”, 2=”Outbox”, dan seterusnya). Metode ini tidak mendukung untuk semua jenis handphone. Tabel 2.1. akan memaparkan letak SMS folders berdasarkan generasi handphone.

(5)

Tabel 2.1. Lokasi SMS pada Gammu

Phone Generation Folder Memory

AT 1=”Inbox”, 2=”Outbox” SIM

3=”Inbox”, 4=”Outbox” Phone

DCT3 tanpa memory

SMS internal 1=”Inbox”, 2=”Outbox” SIM

DCT3 dengan memory SMS internal

1=”Inbox” SIM, when Read, UnRead

1=”Inbox” Phone, when Sent,

UnSent

2="Outbox" SIM, when Read, UnRead 2="Outbox" Phone, when Sent,

UnSent

3=”Archive”,… Phone

DCT4 dan Seri 40 1.0/2.0 1=”Inbox”, 2=”Outbox” SIM 3=”Inbox”, 4=”Outbox” Phone Sumber : Gammu – Full Reference Manual

http://wammu.eu/docs/pdf/gammu.pdf

2.2.4. Gammu SMS Commnads

Perintah untuk menjalankan fungsi-fungsi SMS Gammu adalah sebagai berikut :

• addsmsfolder name

Menambahkan folder SMS baru.

• deleteallsms folder

Menghapus semua SMS yang berada di dalam folder tertentu.

• deletesms folder start [stop]

Menghapus SMS secara spesifik di dalam sebuah folder

• --getsmsfolders

Menampilkan daftar folder SMS pada kartu SIM maupun phone

• --getsms folder start [stop]

Mengambil SMS dari lokasi secara spesifik seperti di folder 0.

(6)

• --getallsms

Mengambil semua SMS yang ada di SIM card dan phone.

2.2.5. File Konfigurasi Gammu

Gammu memiliki dua file utama yang perlu dikonfigurasi, yaitu :

• Gammurc : file konfigurasi untuk koneksi Gammu dengan handphone atau modem yang terpasang di komputer. Berikut merupakan isi file

“gammurc.file” : [Gammu]

; isikan nomor port di bawah ini port = com4:

; isikan jenis connection di bawah ini connection = at

; jika hp/modem yang ingin dipasang lebih dari 1

; --- [Gammu1]

;port =

;connection =

• Smsdrc : file konfigurasi untuk database Gammu. Berikut merupakan isi file “smsdrc.file”.

[Gammu]

# isikan no port di bawah ini port = com4:

# isikan jenis connection di bawah ini connection = at

[smsd]

service = mysql logfile = smsdlog debuglevel = 0 phoneid = MyPhone1 commtimeout = 10 sendtimeout = 10 deliveryreport = no PIN = 1234

# ---

# Konfigurasi koneksi ke MySQL

# --- pc = localhost

# isikan user untuk akses ke MySQL user = root

# isikan password user untuk akses ke MySQL password =

# isikan nama database untuk Gammu database = sms

(7)

2.2.6. Gammu Database

Pada saat instalasi Gammu di komputer, di dalam folder Gammu sudah disediakan file database yang langsung dapat di-import melalui MySQL engine.

Database yang disediakan oleh Gammu ini berfungsi untuk menangani data SMS yang masuk maupun keluar. Berikut ini SQL script untuk membuat tabel dalam database MySQL yang telah disediakan oleh Gammu, antara lain:

(http://wammu.eu/docs/pdf/Gammu.pdf ).

• Tabel Daemons

-- Table structure for table ‘daemons‘

CREATE TABLE ‘daemons‘ ( ‘Start‘ text NOT NULL, ‘Info‘ text NOT NULL

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--Dumping

Tabel 2.2. Tabel Daemons Field Type

Start Text Info Text

Tabel di atas berfungsi menjalankan server daemons Gammu.

• Tabel Inbox

-- Table structure for table ‘inbox‘

CREATE TABLE ‘inbox‘ (

‘UpdatedInDB‘ timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

‘ReceivingDateTime‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘Text‘ text NOT NULL,

‘SenderNumber‘ varchar(20) NOT NULL default ’’,

‘Coding‘

enum(’Default_No_Compression’,’Unicode_No_Compression’,’8bit’

,’Default_Compression’,’Unicode_‘UDH‘ text NOT NULL,‘SMSCNumber‘ varchar(20) NOT NULL default ’’,

‘Class‘ integer NOT NULL default ’-1’,

‘TextDecoded‘ text NOT NULL default ’’,

‘ID‘ integer unsigned NOT NULL auto_increment,

‘RecipientID‘ text NOT NULL,

‘Processed‘ enum(’false’,’true’) NOT NULL default ’false’, PRIMARY KEY ‘ID‘ (‘ID‘)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- Dumping data for table ‘inbox‘

(8)

Tabel 2.3. Tabel Inbox

Field Type Default Extra

UpdateInDB Timestamp Current_Times

tamp ReceivingDate

Time Timestamp 0000-00-00

00:00:00

Text Text

SenderNumber Varchar(20) Coding enum('Default_No_Compre

ssion',

'Unicode_No_Compression' , '8bit',

'Default_Compression', 'Unicode_Compression')

Default_No_C ompression

UDH Text

SMSCNumber Varchar(20)

Class Int(11) -1

TextDecoded Varchar(160)

ID Int(10) Auto_increm

ent

RecipentID Text

Processed Enum(‘false’,’true’) False

Tabel 2.3. ini berfungsi menyimpan semua SMS yang masuk ke handphone atau modem, informasi penting yang disimpan ialah informasi waktu SMS diterima, isi pesan, nomor pengirim, dan nomor SMS center.

• Tabel Outbox

-- Table structure for table ‘outbox‘

CREATE TABLE ‘outbox‘ (

‘UpdatedInDB‘ timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

‘InsertIntoDB‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘SendingDateTime‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘Text‘ text,

‘DestinationNumber‘ varchar(20) NOT NULL default ’’,

‘Coding‘

enum(’Default_No_Compression’,’Unicode_No_Compression’,’8bit

’,’Default_Compression’,’Unicode_‘UDH‘ text,

‘Class‘ integer default ’-1’,

‘TextDecoded‘ text NOT NULL default ’’,

‘ID‘ integer unsigned NOT NULL auto_increment,

‘MultiPart‘ enum(’false’,’true’) default ’false’,

‘RelativeValidity‘ integer default ’-1’,

‘SenderID‘ varchar(255),

(9)

‘SendingTimeOut‘ timestamp NULL default ’0000-00-00 00:00:00’,

‘DeliveryReport‘ enum(’default’,’yes’,’no’) default

’default’,

‘CreatorID‘ text NOT NULL, PRIMARY KEY ‘ID‘ (‘ID‘)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE INDEX outbox_date ON outbox(SendingDateTime, SendingTimeOut);

CREATE INDEX outbox_sender ON outbox(SenderID);

Tabel 2.4. Tabel Outbox

Field Type Default Extra

UpdateInDB Timestamp Current

InsertIntoDB Timestamp 0000-00-00

00:00:00 SendingDateTim

e Timestamp 0000-00-00

00:00:00

Text Text NULL

DestinationNum

ber Varchar(20)

Coding enum('Default_No_Compres sion',

'Unicode_No_Compression', '8bit', 'Default_Compression',

'Unicode_Compression')

8bit

UDH Text NULL

Class Int(11) -1

TextDecoded Varchar(160)

ID Int(10) None auto_inc

rement MultiPart enum(‘false’,’true’) false

RelativeValidity Int(11) -1

SenderID Varchar(225) NULL

SendingTimeOut Timestamp 0000-00-00

00:00:00 DeleveryReport Enum(‘default’,’yes’,’no’) default

CreatorID Text None

Tabel 2.4. berfungsi menampung waktu SMS dikirim, isi pesan, nomor tujuan, identitas pengirim, dan laporan pengiriman. Selanjutnya informasi ini nantinya akan dipindahkan ke tabel sent items yang menyatakan bahwa pesan telah berhasil dikirim sampai tujuan.

(10)

• Tabel Outbox Multipart

-- Table structure for table ‘outbox_multipart‘

CREATE TABLE ‘outbox_multipart‘ (

‘Text‘ text,

‘Coding‘

enum(’Default_No_Compression’,’Unicode_No_Compression’,’8bit

’,’Default_Compression’,’Unicode_‘UDH‘ text,

‘Class‘ integer default ’-1’,

‘TextDecoded‘ text default NULL,

‘ID‘ integer unsigned NOT NULL default ’0’,

‘SequencePosition‘ integer NOT NULL default ’1’, PRIMARY KEY (‘ID‘, ‘SequencePosition‘)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- Dumping data for table ‘outbox_multipart‘

Tabel 2.5. Tabel Outbox Multipart

Field Type Default Extra

Text Text NULL

Coding enum('Default_No_Compressi on',

'Unicode_No_Compression', '8bit', 'Default_Compression',

'Unicode_Compression')

Default_N o_Compres

sion

UDH Text NULL

Class Int(11) -1

TextDecoded Varchar(160) NULL

ID Int(10) 0

SequencePosition Int(11) 1

Tabel 2.5. pada Gammu terbatas hanya untuk mengirim paling banyak 160 karakter. Jika lebih dari 160 karakter, maka SMS tersebut harus dipecah- pecah dan bagian lain harus ditaruh di tabel outbox multipart.

• Tabel PBK dan PBK group

-- Table structure for table ‘pbk‘

CREATE TABLE ‘pbk‘ (

‘ID‘ integer NOT NULL auto_increment,

‘GroupID‘ integer NOT NULL default ’-1’,

‘Name‘ text NOT NULL,

‘Number‘ text NOT NULL, PRIMARY KEY (‘ID‘)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

(11)

Tabel 2.6. Tabel PBK

Field Type Default Extra GroupID Int(11) -1

Name Text None Number Text None

-- Table structure for table ‘pbk_groups‘

CREATE TABLE ‘pbk_groups‘ (

‘Name‘ text NOT NULL,

‘ID‘ integer NOT NULL auto_increment, PRIMARY KEY ‘ID‘ (‘ID‘)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- Dumping data for table ‘pbk_groups‘

Tabel 2.7. Tabel PBK group Field Type Default Extra Name Text None

ID Int(11) None Auto_increment

Tabel 2.6. dan 2.7. tersebut merupakan singkatan dari phonebook yang nantinya digunakan untuk menyimpan data nomor handphone yang nantinya bisa dikirimi pesan SMS auto forwarding.

• Tabel phones

-- Table structure for table ‘phones‘

CREATE TABLE ‘phones‘ (

‘ID‘ text NOT NULL,

‘UpdatedInDB‘ timestamp NOT NULL default CURRENT_TIMESTAMP on updateCURRENT_TIMESTAMP,

‘InsertIntoDB‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘TimeOut‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘Send‘ enum(’yes’,’no’) NOT NULL default ’no’,

‘Receive‘ enum(’yes’,’no’) NOT NULL default ’no’,

‘IMEI‘ varchar(35) NOT NULL,

‘Client‘ text NOT NULL,

‘Battery‘ integer NOT NULL DEFAULT 0,

‘Signal‘ integer NOT NULL DEFAULT 0,

‘Sent‘ int NOT NULL DEFAULT 0,

‘Received‘ int NOT NULL DEFAULT 0, PRIMARY KEY (‘IMEI‘)

) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- Dumping data for table ‘phones‘

(12)

Tabel 2.8. Tabel Phones

Field Type Default Extra

ID Text None

UpdateInDB Timestamp Current_Timestam

p On update

CURRENT_TIMESTAM P

InsertIntoD

B Timestamp 0000-00-00

00:00:00 TimeOut Timestamp 0000-00-00

00:00:00 Send Enum(‘yes’,’no’

) no

Receive Enum(‘yes’,’no’

) No

IMEI Varchar(35) None

Client text None

Battery int(11) 0

Signal int(11) 0

Sent int(11) 0

Received int(11) 0

Tabel 2.8. ini berfungsi untuk menyimpan konfigurasi handphone server seperti IMEI, dan dapat mengaktifkan fitur kirim maupun terima SMS.

• Tabel Sent Items

-- Table structure for table ‘sentitems‘

CREATE TABLE ‘sentitems‘ (

‘UpdatedInDB‘ timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

‘InsertIntoDB‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘SendingDateTime‘ timestamp NOT NULL default ’0000-00-00 00:00:00’,

‘DeliveryDateTime‘ timestamp NULL,

‘Text‘ text NOT NULL,

‘DestinationNumber‘ varchar(20) NOT NULL default ’’,

‘Coding‘

enum(’Default_No_Compression’,’Unicode_No_Compression’,’8bit

’,’Default_Compression’,’Unicode_‘UDH‘ text NOT NULL,

‘SMSCNumber‘ varchar(20) NOT NULL default ’’,

‘Class‘ integer NOT NULL default ’-1’,

‘TextDecoded‘ text NOT NULL default ’’,

‘ID‘ integer unsigned NOT NULL default ’0’,

‘SenderID‘ varchar(255) NOT NULL,

‘SequencePosition‘ integer NOT NULL default ’1’,

‘Status‘

enum(’SendingOK’,’SendingOKNoReport’,’SendingError’,’Deliver yOK’,’DeliveryFailed’,’DeliveryPending’,’‘StatusError‘

integer NOT NULL default ’-1’,

‘TPMR‘ integer NOT NULL default ’-1’,

‘RelativeValidity‘ integer NOT NULL default ’-1’,

(13)

‘CreatorID‘ text NOT NULL,

PRIMARY KEY (‘ID‘, ‘SequencePosition‘) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE INDEX sentitems_date ON sentitems(DeliveryDateTime);

CREATE INDEX sentitems_tpmr ON sentitems(TPMR);

CREATE INDEX sentitems_dest ON sentitems(DestinationNumber);

CREATE INDEX sentitems_sender ON sentitems(SenderID);

-- Dumping data for table ‘sentitems

Tabel 2.9. Tabel Sent Items

Field Type Default

UpdateInDB Timestamp CURRENT_TIMESTA

MP

InsertIntoDB Timestamp 0000-00-00 00:00:00

SendingDateTime Timestamp 0000-00-00 00:00:00 DeliveryDateTime Timestamp 0000-00-00 00:00:00

Text Text

DestinationNumb

er Varchar(20)

Coding enum('Default_No_Compressi on',

'Unicode_No_Compression', '8bit', 'Default_Compression',

'Unicode_Compression')

8bit

UDH Text

SMSCNumber Varchar(20)

Class Int(11) -1

TextDecoded Varchar(160)

ID Int(11) 0

SenderID Text

SequencePosition Int(11) 1

Status enum('SendingOK', 'SendingOKNoReport', 'SendingError', 'DeliveryOK',

'DeliveryFailed', 'DeliveryPending', 'DeliveryUnknown', 'Error')

SendingOK

StatusError Int(11) -1

TPMR Int(11) -1

RelativeValidity Int(11) -1

CreatorID Text

Tabel 2.9. ini berfungsi menerima semua data dari tabel outbox yang kemudian diteruskan ke handphone atau modem untuk dikirimkan ke nomor tujuan. Tabel ini dapat menunjukkan waktu pengiriman, waktu

(14)

pengiriman, isi pesan, nomor tujuan, tipe coding, nomor SMSC, status pengiriman, dan identitas pengirim.

2.3. Content Management System (CMS)

Content Management System biasa disingkat CMS, adalah sebuah aplikasi yang kebanyakan tersedia dalam bentuk website dalam mengelola content atau isi dari websitenya tersebut.

Seperti kita ketahui, bahwa content/isi adalah yang utama dalam suatu sistem informasi yang di sajikan oleh sebuah website. Oleh karena itu, CMS hadir sebagai salah satu layanan yang memudahkan pengelola website meng-update, menambah, mengedit, menghapus, dan mempercantik content websitenya (Yuhefizar, 2009, p.1).

Saat ini sangat banyak sekali model website CMS yang menawarkan berbagai fitur, mulai yang level sederhana sampai yang sangat kompleks sekalipun, dan tersedia secara gratis (open source) walaupun yang berbayar juga ada.

Kelebihan utama dari website CMS adalah kemudahan dalam menggunakannya, sehingga dengan website CMS ini, orang yang tidak mengerti bahasa pemograman web sekalipun akan dengan mudah membangun website untuk berbagai keperluan.

2.4. Joomla

Joomla adalah sebuah free open source CMS dengan lisensi GPL. CMS ini banyak dipakai karena banyaknya dukungan dan resource dari pihak ketiga yang bisa dipakai untuk menambah fungsionalitas dan kustomisasi situs web.

CMS ini dibangun menggunakan PHP dan database MySQL untuk keperluan internet maupun intranet. Joomla dirilis pertamakali dengan versi 1.0.0.

2.4.1. Bagaimana CMS Joomla Bekerja

Pada web server sederhana yang ditunjukan oleh gambar 2.2, Interaksi dimulai saat web browser meminta halaman web ke web server. Web server kemudian menerima kode HTML dari file HTML static (contoh:

(15)

http://www.contoh.com/index.html) dan meneruskannya ke web browser. File HTML tersebut dinamakan halaman web static karena halaman tersebut diteruskan ke web browser dengan konten yang sama persis dengan file yang disimpan di web server.

Gambar 2.2. Proses Layanan Pada Web Server sederhana Sumber: Rahmel (2007, p.8)

Pada proses layanan sistem manajemen konten Joomla yang di tunjukkan oleh gambar 2.3. yaitu kondisi saat browser meminta halaman dari halaman web (http://www.contoh.com/index.php) ke web server. Walaupun alamat dari halaman web yang diminta di browser terlihat sama dengan permintaan untuk halaman HTML sederhana, namun sebenarnya telah dimulai keseluruhan sistem proses. Permintaan tersebut mengakibatkan sebagian dari joomla untuk masuk ke web server dan mulai dieksekusi di sistem PHP server.

Joomla menganalisa permintaan untuk memastikan konten apa yang diminta, dan kemudian sistem joomla membuka koneksi ke database server dan meminta artikel spesifik dari database. Setelah konten artikel diterima, joomla mengubah format artikel sesuai style yang ditentukan oleh tempelate situs web user. Joomla kemudian menciptakan konten tampilan HTML dan mengirimnya kembali ke web browser, dimana tampilan tersebut terlihat oleh user sama dengan file HTML static dari gambaran sebelumnya.

(16)

Gambar 2.3. Proses Layanan CMS Joomla Sumber : Rahmel (2007, p.9)

CMS akan secara dinamik memberi konten yang telah diterima dari database dan terformat oleh template web ke web browser. Karena konten artikel disimpan sebagai data, persentase dapat berubah hanya dengan merubah template Joomla.

2.4.2. Syarat Menggunakan CMS Joomla 1.5.15

Untuk dapat menggunakan CMS joomla 1.5.15 setidaknya di komputer user atau server memiliki prasyarat berikut

Tabel 3.0. Prasyarat software Server untuk Menggunakan Joomla software Rekomendasi Minimum Situs web

PHP 5.2+ 4.3 www.php.net

MySQL 4.1.x.+ 3.23 www.mysql.com

APACHE 2.x+ 1.3 www.apache.org

Microsoft IIS 7 6 www.iis.net

2.4.3. Fitur CMS Joomla

Beberapa orang sering menyebutkan bahwa CMS joomla lebih dari pada sebuah CMS, hal ini karena banyaknya tersedia fitur-fitur atau layanannya yang super canggih, diantaranya:

1. User Management

Joomla memiliki sistem registrasi yang memungkinkan pengguna mengkonfigurasi pilihan pribadi. Terdapat Sembilan kelompok pengguna

(17)

dengan berbagai jenis hak akses untuk mengakses, mengedit, menerbitkan, dan administrasi seluruh content yang terdapat pada website.

2. Media Manager

Media Manager merupakan fitur yang berfungsi untuk mengelola seluruh file-file yang digunakan di website serta foldernya.

3. Language Manager

Language Manager merupakan kemampuan CMS joomla mengadopsi berbagai perangkat bahasa dalam membangun sebuah website, bahkan dengan CMS joomla user dapat membangun website multi bahasa.

4. Banner Management

Banner Management merupakan layanan untuk mengelola iklan-iklan yang dipasang pada website. Mulai dari mengelola client, memasukkan gambar serta melihat seberapa banyak user mengklik banner tersebut.

5. Contact Management

Contact Management merupakan layanan untuk dapat menghubungi langsung pengelola website. Pengelola website juga dapat dikategorikan sesuai kebutuhan, sehingga user dapat menghubungi pengelola website yang diinginkannya.

6. Polls

Polls merupakan layanan untuk membuat fitur jajak pendapat di website.

Melalui layanan ini, user dapat langsung melihat hasil dari jajak pendapat tersebut secara online.

7. Search

Search merupakan fitur untuk mencari content yang terdapat pada website.

8. Weblink Management

Weblink Management merupakan fitur untuk membuat dan mengelola daftar link website. Weblink ini dapat dibuat berdasarkan kategori tertentu dan kemudian tersedia fitur untuk melihat seberapa banyak user mengunjungi weblink tersebut.

9. Content Management

Content management merupakan fitur utama CMS joomla, tersedia editor dengan konsep what you see is what you get (WYSIWYG) untuk mengetik

(18)

dan membuat content. Setiap content dapat dibuat menjadi berbagai kategori ataupun section sesuai kebutuhan user.

10. Syndication dan Newsfeed Management

Syndication dan newsfeed management merupakan kemampuan website CMS joomla untuk membuat syndication dan newsfeed, sehingga seluruh artikel di website joomla dapat ditampilkan langsung di website yang lain.

11. Menu Manager

Menu manager merupakan layanan untuk mengelola menu, hirarkinya dan tata letaknya.

12. Template Management

Template management merupakan kemampuan CMS joomla mengatur berbagai model template atau theme. Sehingga website yang dibuat dapat dengan mudah ditukar dari satu template ke template lainnya.

13. Integrated Help System

CMS joomla menyediakan layanan bantuan secara online. Setiap permasalahan dalam menggunakan CMS joomla, terdapat link langsung ke website yang menyediakan informasi tentang solusi untuk permasalahan tersebut (Rahmat & Nanang, 2009).

2.4.4. Extension Joomla

Dalam sistem joomla versi 1.5.x, statistic dan document manager disebut sebagai extension, sedangkan pada joomla versi 1.0.x disebut dengan component dan module.

Secara umum jumlah extension sangat banyak, terbagi menjadi berbagai tipe, yaitu component, module, plugins(mambots), special dan template.

1. Component

Component berfungsi untuk menambah fungsionalitas sistem joomla yang memiliki halaman untuk mengatur beberapa parameter. Terkadang sebuah komponen disertai fitur bahasa dan database tersendiri, sehingga mampu menyediakan fungsi lebih terhadap situs web. komponen tidak dapat langsung tampil di halaman situs web, seperti layaknya modul, namun komponen baru bisa terlihat fungsinya jika dihubungkan dengan menu.

(19)

2. Module

Module merupakan sebuah aplikasi mini yang ditempatkan di bagian kiri, kanan, atas, atau bagian bawah halaman utama sebuah website. Module berfungsi untuk menampilkan beberapa component yang telah terinstall.

Ketika user meninstall sebuah component, maka secara otomatis meninstall module juga.

3. Plugins/Mambots

Pada joomla versi 1.0x disebut sebagai mambots, sedangkan untuk versi joomla 1.5.x berubah menjadi plugins. Plugins adalah aplikasi mini yang disisipkan untuk manipulasi, menambah, atau membuat perubahan pada kontent atau artikel.

4. Template

Template merupakan desain dan layout pada website joomla dan dapat diganti ganti.

5. Language

Language merupakan bahasa yang digunakan antarmuka joomla. Secara default bahasa yang digunakan joomla adalah bahasa inggris (Rahmat &

Nanang, 2009).

2.5. Hypertext Mark-Up Language (HTML)

Hypertext Mark-Up Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).

HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox, Microsoft Internet Explorer, Google chrome dan beberapa

(20)

browser lain. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser.

2.5.1 HTML Tags

Kode HTML harus terletak di antara tag kontainer. Tag HTML diawali dengan namatag dan diakhiri dengan namatag (terdapat tanda "/"). Dokumen HTML mempunyai tiga buah tag utama yang membentuk struktur dari dokumen tersebut. Ketiga buah Tag tersebut adalah Tag HTML, HEAD dan BODY.

1. HTML Sebagai tanda awal dokumen HTML.

2. HEAD Sebagai informasi page header. Di dalam tag ini user dapat meletakkan tag-tag TITLE, BASE, ISINDEX, LINK, SCRIPT, STYLE &

META.

3. BODY di dalam tag ini bisa diletakkan berbagai atribut halaman seperti warna latar belakang, warna teks, warna link, warna visited link, warna active link dan lain-lain. Contoh atribut : BGCOLOR, BACKGROUND, TEXT, LINK, VLINK, ALINK dan lainnya.

2.6. Hypertext Preprocessor (PHP)

PHP Merupakan Bahasa Pemrograman yang berbasis Web Server. PHP digunakan untuk membuat aplikasi web yang disusun oleh kode-kode (Sintak) yang diatur berdasarkan algoritma program yang dibuat. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website. PHP Script digunakan untuk membuat website yang mempunyai koneksi ke program database populer seperti SQL sehingga pada akhirnya digunakan untuk membuat fasilitas , seperti login, guestbook.

2.7. MySQL

MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basisdata yang telah ada sebelumnya SQL

(21)

(Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.

MySQL memiliki beberapa keistimewaan yaitu :

1. Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.

2. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.

3. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.

4. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.

5. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT).

6. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).

2.8. Cascading Style Sheets (CSS)

Cascading Style Sheets adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup.

Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL.

Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C).

(22)

CSS digunakan untuk menentukan warna, jenis huruf, tata letak, dan berbagai aspek tampilan dokumen. CSS digunakan terutama untuk memisahkan antara isi dokumen (yang ditulis dengan HTML atau bahasa markup lainnya) dengan presentasi dokumen (yang ditulis dengan CSS). Pemisahan ini dapat meningkatkan aksesibilitas isi, memberikan lebih banyak keleluasaan dan kontrol terhadap tampilan, dan mengurangi kompleksitas serta pengulangan pada stuktur isi.

2.9. Apache

Apache adalah web server yang bertanggung jawab pada request-response HTTP dan logging informasi secara detail. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. Apache merupakan perangkat lunak sumber terbuka dikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan Apache Software Foundation.

2.10. Javascript

Javascript merupakan scripting language yang digabungkan dengan HTML dan dibuat untuk membuat halaman web menjadi lebih interaktif.

Implementasi terpopuler saat ini dari pemrograman Javascript adalah teknik AJAX. (Asynchronous JavaScript and XMLHTTP ). teknik ini sering digunakan oleh aplikasi berbasis web seperti Gmail, Google Reader, dan lain lain. Teknik yang membuat pertukaran data antara server dan browser terjadi di belakang layar sehingga interaksi antara user dan aplikasi web semakin responsif.

2.11. XAMPP

XAMPP adalah perangkat lunak gratis, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Beberapa aplikasi yang disertakan misalnya Apache untuk aplikasi web server, MySQL untuk aplikasi database, PHP untuk aplikasi script, dan lain sebagainya. Fungsinya adalah

(23)

sebagai web server yang berdiri sendiri (localhost). Nama XAMPP merupakan singkatan dari X (empat sistem operasi), Apache, MySQL, PHP dan Perl.

Program ini tersedia dalam lisensi GNU dan open source, XAMPP merupakan web server yang mudah digunakan yang dapat melayani tampilan halaman web yang dinamis.

Gambar

Gambar 2.1. Mekanisme Kerja Gammu
Tabel 2.1. Lokasi SMS pada Gammu
Tabel 2.2. Tabel Daemons  Field  Type
Tabel 2.3. Tabel Inbox
+7

Referensi

Dokumen terkait

kontrol positif yaitu pemberian glibenklamid dan kelompok pemberian infusa beras ketan hitam 400mg/kgBB yaitu pemberian berbeda secara bermakna dengan nilai p = 0,001,

Selanjutnya di poin D ini masih berkaitannya dengan pelanggaran bahwa penyerahan berkas perbaikan kelengkapan atau sarat pasangan calon Par-Pol dan calon perseorangan nomor urut

Dengan demikian, pegawai negeri mempunyai peranan yang sangat penting dalam memperlancar jalannya roda pemerintahan agar setiap visi dan misi pemerintah dapat

Sebelum merancang instrumen penelitian atau alat ukur, peneliti mencari alat ukur penerimaan diri dan coming out yang sudah valid, alat ukur penerimaan diri menggunakan alat ukur

Beberapa isu penting terkait dengan desentralisasi pendidikan di Indonesia dikemukakan oleh Indrajati Sidi (2000:36-39) bahwa terdapat empat isu pendidikan nasional yang perlu

[r]

Probabilitas user yang memiliki nilai spectral efficiency kurang dari 1 bps/Hz ( threshold spectral efficiency untuk komunikasi yang digambarkan dengan garis hijau pada

Pada beberapa penelitian sebelumnya, pendekatan yang digunakan pada perolehan informasi musik poliponik berdasarkan isi antara lain: mereduksi musik poliponik menjadi beberapa