• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI. Beberapa dasar teori yang berhubungan dengan pengerjaan Tugas Akhir ini yaitu:

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI. Beberapa dasar teori yang berhubungan dengan pengerjaan Tugas Akhir ini yaitu:"

Copied!
11
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

Beberapa dasar teori yang berhubungan dengan pengerjaan Tugas Akhir ini yaitu:

2.1 Helpdesk

Peran helpdesk mulai berkembang pada akhir tahun 1970-an ketika perusahaan-perusahaan mulai mengarahkan pengguna teknologi ke satu kontak tunggal untuk meminta bantuan atau dukungan. Dikenal juga dengan istilah Helpdesk, fungsi utamanya adalah sebagai penerima panggilan, menentukan jenis panggilan, kemudian mengirimkan vendor atau technical support langsung ke pihak pelanggan.

Helpdesk merupakan antar muka antara perusahaan dengan pelanggan mereka, maka kualitas pelayanan helpdesk sangat menentukan operasional perusahaan dan kepuasan pelanggan. Bagi perusahaan, kualitas helpdesk menentukan efisiensi penggunaan sumber daya untuk melakukan dukungan terhadap keluhan/laporan pelanggan. Sedangkan bagi pelanggan tentu saja mereka menginginkan penanganan yang cepat terhadap keluhan/laporan yang mereka sampaikan.

2.2 Android

Android merupakan sistem operasi yang dikembangkan untuk mobile devices. Sistem operasi ini berbasis Unix/Linux dan dapat menjalankan lebih dari satu task dalam satu waktu (multi tasking). Sistem operasi Android bersifat open source dan pada saat ini sangat banyak digunakan perusahaan-perusahaan pembuat smartphone di seluruh dunia. Perkembangan jumlah penggunanya juga sangat meningkat sejak pertama kali diperkenalkan pada tahun Oktober 2008.

Berikut ini merupakan daftar versi sistem operasi Android yang telah dikembangkan hingga saat ini.

(2)

Tabel 1.Daftar Versi OS Android

Code name Version API level

(no code name) 1.0 API level 1

(no code name) 1.1 API level 2

Cupcake 1.5 API level 3, NDK 1

Donut 1.6 API level 4, NDK 2

Éclair 2.0 API level 5

Éclair 2.0.1 API level 6

Éclair 2.1 API level 7, NDK 3

Froyo 2.2.x API level 8, NDK 4

Gingerbread 2.3 - 2.3.2 API level 9, NDK 5

Gingerbread 2.3.3 - 2.3.7 API level 10

Honeycomb 3.0 API level 11

Honeycomb 3.1 API level 12, NDK 6

Honeycomb 3.2.x API level 13

Ice Cream Sandwich 4.0.1 - 4.0.2 API level 14, NDK 7 Ice Cream Sandwich 4.0.3 - 4.0.4 API level 15, NDK 8

Jelly Bean 4.1.x API level 16

Jelly Bean 4.2.x API level 17

Jelly Bean 4.3.x API level 18

KitKat 4.4 - 4.4.4 API level 19

Lollipop 5.0 API level 21

(3)

2.3 Arsitektur Aplikasi Client-Server

2.3.1 Aplikasi Server

Aplikasi yang menangani pemrosesan data dengan beban kerja yang lebih berat daripada aplikasi client karena menangani banyak request. Pada umumnya aplikasi server menangani request dan mengembalikan halaman dinamis yang diakses melalui browser. Aplikasi server juga dapat menyediakan servis yang dapat diakses oleh aplikasi lainnya untuk komputasi, sehingga beban kerja aplikasi client menjadi lebih ringan. Komunikasi antara aplikasi server dengan aplikasi lain (client ataupun aplikasi server lainnya) dapat menggunakan API.

Contoh aplikasi server adalah aplikasi web yang dapat diakses menggunakan browser.

2.3.2 Aplikasi Client

Aplikasi client adalah antar muka dengan pengguna aplikasi atau sistem. Aplikasi client bertugas menerima data atau informasi dari server dan menampilkannya pada pengguna.

Contoh aplikasi client adalah browser, aplikasi desktop game online, atau aplikasi yang berjalan pada smartphone yang berhubungan dengan server melalui jaringan komunikasi dengan menggunakan protokol tertentu.

2.3.3 Application Programming Interface (API)

API adalah antar muka antara aplikasi. Sebuah aplikasi berkomunikasi dengan aplikasi lainnya menggunakan data dalam format atau perintah tertentu. Sebuah aplikasi dapat meminta aplikasi lain untuk menjalankan proses tertentu misalnya melakukan perhitungan, mengakses database, dan lain-lain.

Format API yang biasa digunakan adalah XML dan Json. Aplikasi client yang menerima respon dari server harus melakukan parsing untuk bisa membaca data yang terdapat pada respon dari aplikasi server.

(4)

Contoh respon dalam format XML: <listdev> <dev> <name>Purba</name> <address>Jakarta</address> <age>24</age> </dev> <dev> <name>Andy</name> <address>Jakarta</address> <age>24</age> </dev> <dev> <name>Budi</name> <address>Medan</address> <age>22</age> </dev> </listdev>

Contoh respon dalam format Json: { "listdev": [ { "name": "Purba", "address": "Jakarta", "role": 1 }, { "name": "Andy", "address": "Jakarta", "role": 2 }, { "name": "Budi", "address": "Medan", "role": 3 } ] }

2.4 PHP dan Framework Laravel

2.4.1 PHP Hypertext Preprocessor (PHP)

PHP merupakan bahasa pemrograman yang melakukan scripting pada serverside, aplikasi server dapat dibuat dengan menggunakan PHP. PHP mendukung paradigma pemrograman baik prosedural maupun object oriented.

(5)

1. Akses yang mudah ke database

2. Mendukung banyak jenis databases :Adabas D, Ingres, Oracle (OCI7 and OCI8), dBase, InterBase, Ovrimos, Empress, FrontBase, PostgreSQL, FilePro (read-only), mSQL, Solid, Hyperwave, Direct MS-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC, Unix dbm

3. PHP mendukung ODBC (Open Database Connection standard), sehingga memungkinkan koneksi dengan semua jenis database yang menggunakan standard ini

4. PHP juga mendukung komunikasi dengan servis menggunakan protokol LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (pada Windows). 2.4.2 Framework Laravel

Laravel merupakan framework PHP yang bersifat open source dan digunakan untuk pengembangan aplikasi web yang dinamis secara cepat.Versi Laravel yang pertama dipublikasi pada 9 juni 2011 dan versi terakhir yang paling stabil adalah 5.1 yang dirilis pada 5 Juni 2015.

Laravel dikembangkan dengan mendukung konsep MVC atau Model-View-Controller. Class controller dan class view wajib digunakan pada framework Laravel, sedangkan class model yang berfungsi untuk mengakses data source bersifat opsional. Pengaksesan database dapat juga dilakukan langsung oleh class controller. Laravel merupakan salah satu framework yang memiliki kinerja yang cepat di antara beberapa framework yang ada.

2.5 Crontab

Crontab adalah perintah di linux yang sangat berguna untuk menjalankan tugas-tugas yang terjadwal, sehingga akan mengurangi waktu administrasi. Selain crontab, ada juga perintah lain seperti anacron dan at. Anacron digunakan untuk melakukan penjadwalan suatu perintah pada computer yang tidak selalu menyala terus-menerus. Anacron menggunakan interval waktu harian, mingguan, dan bulanan. Sedangkan perintah at menjalankan suatu tugas sekali pada suatu waktu. Yang paling sering digunakan adalah crontab karena lebih serba guna, dan dapat diatur untuk berjalan

(6)

pada sembarang interval waktu. Dalam melakukan administrasi sistem, pengaturan cron dilakukan melalui file crontab, yang berisi jadwal waktu dan script yang harus dieksekusi. System Linux memiliki file crontab default, yaitu /etc/crontab, yang akan menjalankan beberapa script pada waktu yang telah ditentukan, misalnya setiap jam, harian, mingguan, dan bulanan. Terdapat dua buah file yang menentukan user mana yang bisa menggunakan crontab: /etc/cron.allow dan /etc/cron.deny. Biasanya, hanya ada file cron.deny pada sistem, dan jika file ini ada, dan terdapat nama user di dalamnya (satu user per baris), maka user tersebut tidak diperbolehkan menggunakan perintah crontab. Jika terdapat file cron.allow, maka hanya user yang namanya terdapat pada file ini yang diperbolehkan menggunakan perintah crontab. Pada file crontab, terdapat enam field untuk setiap entry, dan masingmasing field dipisahkan oleh spasi atau tab. Lima field pertama menentukan kapan perintah akan dijalankan. Field ke-enam adalah perintah yang akan dijalankan. Sebagai contoh script yang digunakan dala crontab adalah sebagai berikut : # min(0-59) hours(0-23) day(1- 31) month(1-12) dow(0-6) command 34 2 * * * sh /root/backup.sh Pada contoh tersebut, perintah “sh /root/backup.sh” akan dijalankan pada jam 2:34 AM setiap hari. Tanda bintang pada contoh tersebut berarti “semua waktu”. Tanda bintang pada kolom “menit” berarti “jalankan setiap menit”. User bisa melakukan banyak kombinasi pengaturan waktu. Ada cara lain untuk pengaturan waktu: “20-27″ menunjukkan range; “3,4,7,8″ artinya hanya interval tersebut untuk suatu pilihan, dan */5 artinya setiap interval ke lima.

2.6 Google Cloud Messaging

Google Cloud Messaging (GCM) adalah layanan gratis yang membantu pengembang aplikasi mengirimkan data dari server ke aplikasi Android. Ini dapat berupa pesan ringan yang memberi tahu aplikasi Android bahwa ada data baru yang harus diambil dari server (misalnya, film yang diunggah oleh teman), atau berupa pesan berisi 4 KB muatan data (agar aplikasi seperti perpesanan instan dapat langsung mengonsumsi pesan).

GCM menggantikan versi beta C2DM (Perpesanan Awan ke Perangkat Android). Perlu diketahui bahwa C2DM sekarang tidak berlaku lagi, dan kami tidak lagi

(7)

mengizinkan pendaftaran C2DM manual yang baru. Pengembang yang tidak beralih ke GCM dapat terus menggunakan C2DM tanpa ada peningkatan kuota.

Service GCM mengatur semua antrian pesan dan pengirimannya ke sebuah aplikasi Android yang berjalan dalam smartphonedevices yang ditargetkan. ServiceGCM dapat digunakan secara gratis.

Berikut ini merupakan karakteristik utama Google Cloud Messaging:

1. Membantu aplikasi server pihak ketiga (pengembang aplikasi) untuk mengirimkan pesan ke aplikasi Android mereka,

2. Dengan menggunkan koneksi server GCM, pengembang juga dapat menerima pesan dari perangkat Android pengguna aplikasi mereka,

3. Aplikasi pada Android tidak harus selalu aktif/hidup untuk dapat menerima pesan. Sistem akan menjalankan aplikasi Anda dengan menggunakan Intent Broadcast ketika menerima pesan dari server GCM, dengan persyaratan bahwa aplikasi Anda sudah diatur memiliki broadcast receiver dan permission yang tepat,

4. GCM tidak menyediakan antarmuka kepada pengguna ketika menerima pesan, pesan mentah yang diterima akan diteruskan secara langsung kepada aplikasi Anda untuk ditangani. Misalnya aplikasi Anda menjalankan notifikasi, menampilkan antarmuka, atau melakukan sinkronisasi data tanpa diketahui oleh pengguna, 5. Layanan GCM dapat berjalan pada perangkat yang memiliki sistem operasi

Android versi 2.2 ke atas dan Google Play Service,

6. Layanan GCM menggunakan koneksi sama dengan service Google yang berjalan pada perangkat Android.

Pada Gambar 1 dapat dilihat bagaimana komunikasi antara aplikasi server pengembang, server GCM dan aplikasi client yang dibuat oleh pengembang aplikasi.

(8)

Gambar 1. Komunikasi dengan GCM

2.7 Analisis dan Perancangan Berorientasi Objek

Pada tahap analisis dan perancangan dalam pengembangan aplikasi, pengembang dapat menggunakan pendekatan secara fungsional/terstruktur atau dengan pendekatan berorientasi objek. Pendekatan secara fungsional merupakan metode analisis tradisional yang berkembang berdasarkan pemrograman prosedural. Dengan semakin berkembangkannya bahasa pemrograman dan mendukung paradigma object-oriented yang lebih dinamis maka metode analisis dan perancangan sistem lebih banyak menggunakan pendekatan berorientasi objek saat ini.

Metode analisis dan perancangan berorientasi objek merupakan pendekatan terhadap masalah dari perspektif objek. Sistem dimodelkan dengan sekelompok objek yang saling berinteraksi. Pemodelan sistem yang dilakukan menggunakan UML atau Unified Modelling Language.

2.7.1 UML

Sampai pada tahun 1995, konsep objek sudah sangat popular tetapi diimplementasikan dalam berbagai cara, berbeda-beda tergantung pada pengembangnya. Setiap pengembang memiliki metodologi dan notasi sendiri (contohnya Booch, Coad,Moses, OMT, OOSE, SOMA).

Kemudian pada tahun 1995, Rational Software mengajak tiga perusahaan terbesardalam industri untuk menciptakan satu pendekatan dalam

(9)

pengembangan sistem yang berorientasi objek.Grady Booch, Ivar Jacobson, and James Rumbaugh bersama-sama menciptakan sebuah standar untuk memodelkan sistem dalam tahap analisis dan desain sistem, standar ini dikenal dengan nama Unified Modeling Language (UML).Tujuan UML diciptakan adalah untuk menyediakan kosa kata dan diagram-diagram yang umum yang dapat digunakan untuk memodelkan sistem dari tahap analisis sampai dengan tahap implementasi.

UML versi2.0 mendefinisikan 14 jenis diagram yang digunakan untuk memodelkan sistem. Diagram-diagram tersebut dibagi menjadi 2 bagian yaitu pemodelan sistem secara struktural dan pemodelan sistem secara perilaku.

Structure diagrams memungkinkan pengembang untuk merepresentasikan data dan relasi statis di dalam sebuah sistem informasi. Diagram-diagram struktural yaitu class, object, package, deployment, component, dan composite structure diagram.

Behavioral diagrams memungkinkan pengembang untuk menggambarkan relasi yang dinamis di antara semua objek yang merepresentasikan bisnis proses di dalam sistem informasi.Diagram-diagram ini juga membantu analis memodelkan kebutuhan fungsional yang sebuah sistem informasi. Diagram-diagram behavioral terdiri dari activity, sequence, communication,interaction overview, timing, behavior state machine, protocol state machine,dan use-case diagram.

Berbagai diagram dalam UML dapat digunakan pada beberapa fase pengembangan aplikasi, dengan demikian setiap diagram yang digunakan dapat memodelkan sistem secara abstrak dan juga dapat memodelkan sistem dengan sangat rinci (sampai pada pembuatan kode program).

Penjelasan mengenai diagram-diagram UML dapat dilihat pada Tabel 2 di bawah ini

(10)

Tabel 2. Daftar Diagram UML

Nama Diagram Deskripsi Digunakan

pada fase

Behavioral Diagrams

Activity

Menggambarkan proses bisnis dalam sistem, alur aktivitas dalam setiap use case, ataupun rincian desain sebuah method

Analisis, Desain

Use Case

Menggambarkan kebutuhan sistem yang berkaitan dengan proses bisnis, atau menggambarkan sistem dari sudut pandang pengguna

Analisis

Sequence

Memodelkan perilaku objek dalam setiap use case, berfokus pada urutan waktu setiap aktivitas

Analisis, Desain

Communication

Memodelkan perilaku objek dalam setiap use case, berfokus pada komunikasi antara objek-objek

Analisis, Desain

Interaction Overview Menggambarkan alur proses secara

keseluruhan Analisis, Desain

Timing

Menggambarkan interaksi antara beberapa objek dan perubahan kondisi objek-objek tersebut pada interval waktu tertentu

Analisis, Desain

Behavioral State

(11)

Tabel 3. Lanjutan Daftar Diagram UML

Protocol State Machine Menggambarkan dependency antara

interface class yang berbeda-beda Analisis, Desain

Structure Diagrams

Class Menggambarkan relasi antara semua

class di dalam sistem yang dimodelkan Analisis, Desain

Object

Menggambarkan relasi antara objek-objek di dalam sistem. Digunakan jika instansiasi class lebih tepat untuk memodelkan sistem

Analisis, Desain

Package

Mengelompokkan elemen-elemen dalam UML untuk konstruksi pada level yang lebih tinggi

Analisis, Desain, Implementasi

Deployment Menggambarkan arsitektur fisik sistem. Desain Fisikal, Implementasi

Component

Menggambarkan relasi fisik antara komponen-komponen yang

berhubungan dengan perangkat lunak

Desain Fisikal, Implementasi

Composite Structure Menggambarkan relasi antara

Gambar

Tabel 1.Daftar Versi OS Android
Gambar 1. Komunikasi dengan GCM
Tabel 2. Daftar Diagram UML
Tabel 3. Lanjutan Daftar Diagram UML

Referensi

Dokumen terkait

Untuk mengetahui kejadian interferensi pada suatu wilayah dan tipe interferensi yang terjadi akan digunakan TEMS Investigation, dengan alat ini kita dapat mengetahui

mengenai kondisi dan jaminan barang dan/atau jasa. Informasi yang benar serta lengkap dari suatu produk barang/ jasa harus disertakan oleh produsen. Label sebagai wujud hak

Proses pengendapan yang terjadi di area point bar umumnya berasal dari proses fluvial dengan mengendapkan material berupa pasir halus ketika energi aliran sungai berada di

Dalam pengisian discharge planning itu dari awal dari pasien masuk sudah dikerjakan dari depan nanti kami yang di maintenance ini melanjutkan apa yang sudah dikerjakan

Berdasarkan hasil penelitian yang diuraikan, informasi dari hasil wawancara yang dilakukan bersama dengan narasumber serta hasil dokemntasi yang berupa puisi yang

ERD adalah tools yang digunakan untuk melakukan pemodelan data secara abstrak dengan tujuan untuk mendeksripsikan atau menggambarkan struktur dari data yang akan digunakan (Bagui

Kendala dalam proses ratifikasi perjanjian internasional di Indonesia, diantaranya sulitnya mengharmoniskan standar internasional itu dengan hukum dan peraturan

Laporan tugas akhir ini berkaitan dengan salah satu protocol routing dalam Mobile ad hoc network (MANET) yaitu protocol routing Ad hoc on demand multipath distance