6 BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1

advertisement
BAB II
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Pustaka
Penelitian yang berhubungan dengan topic yang penulis bahas salah satunya
adalah “Sistem Informasi Akademik berbasis Android pada STIMK Global
Informatika Palembang” (Achyarudin, 2007) Penelitian sebut membahas aplikasi
akademik berbasis Android sebagai alternative selain melalui website. Mampu
menampilkan informasi perkuliahan seperti mata kuliah, dosen, mahasiswa, nilai
ujian.
Pembuatan aplikasi dengan judul “Aplikasi Android Pencarian Ustadz,
Tausiyah Dan Lokasi Pengajian Dengan Sistem Sinkronasi Data” (Bagus Dwi
Cahyo, 2012) aplikasi yang berhubungan dengan topic yang penulis bahas salah
satunya adalah Membuat Info Ustadz Aplikasi Android pencarian ustadz, tausiyah,
dan lokasi pengajian dengan sistem singkronisasi data, yang dibuat oleh Bagus Dwi
Cahyo dari Universitas Sebelas Maret Surakarta. Aplikasi ini dibuat dengan bahasa
pemrograman java, dengan tujuan untuk mempublikasikan informasi seputar
ustadz, seperti tausiyah, lokasi pengajian, serta user ustadz untuk menambahkan
data tausiyah, video pengajian, mp3 pengajian, dan foto. Aplikasi android
digunakan oleh user masyarakat umum untuk mendapatkan info tausiyah.
Sedangkan tugas akhir ini, aplikasi yang akan dibuat adalah "Perancangan
Dan Pembuatan Aplikasi D3 Teknik Informatika UNS Berbasis Web Dan Andoid".
Aplikasi ini bertujuan untuk mempermudah masyarakat dalam memperoleh
informasi tentang program studi D3 Teknik Informatika UNS mempermudah.
Aplikasi ini memiliki fitur-fitur diantaranya, penyajian informasi mata kuliah,
dosen, mahasiswa seperti pada “Sistem Informasi Akademik berbasis Android pada
STIMK Global Informatika Palembang”, menyajikan berita seputar informasi
mengenai agenda atau kegiatan yang konsep hampir menyerupai dengan Aplikasi
“Info Ustadz”, menyediakan penyajian informasi terbaru, penyajian kegiatan dan
6
aplikasi ini juga memiliki fitur tracking untuk mengetahui lokasi program studi D3
Teknik Informatika UNS.
2.2 HyperText Preprocessor (PHP)
PHP adalah script yang digunakan untuk membuat halaman website yang
dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu
diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client
selalu yang terbaru. Semua script PHP dieksekusi pada server dimana script
tersebut dijalankan. (Anhar, 2010)
2.3 Aplikasi Web
Aplikasi web adalah sebuah sistem informasi yang mendukung interaksi
pengguna melalui antarmuka berbasis Web. Fitur-fitur aplikasi web biasanya berupa
data persistence, mendukung transaksi dan komposisi halaman web dinamis yang
dapat dipertimbangkan sebagai hibridasi, antara hypermedia dan system
informasi.(Simarmata, n.d.)
Aplikasi web adalah bagian dari client side yang dapat dijalankan oleh
browser wb. Client side mempunyai tanggung jawab untuk pengeksekusian proses
bisnis. Aplikasi web dapat diakses melalui browser. Dengan menggunakan aplikasi
web kita hanya perlu menempatkan aplikasi dalam sebuah server dan dengan
sendirinya aplikasi tersebut dapat diakses dari manapun, sepanjang pemakai dapat
mengakses web server-nya. Web Server adalah server yang melayani permintaan
aplikasi web. Aplikasi web
yang paling dasar ditulis dengan menggunakan HTML. Sebagaimana
diketahui, HTML (Hypertext Markup Language) adalah bahasa standar untuk
membuat halaman-halaman web.
Model View Controller (MVC)
Merupakan alur kerja dari framework khususnya disini codelgniter, dengan
kosep MVC segala macam logika dan layout telah dipisahkan, sehingg
siprogrammer dan designer dapat mengerjakan masing – masing tugasnya secara
7
8
focus. Kosep model MVC juga dapat menuntun para programmer untuk
membangun web dengan cara terstuktur. (Widodo, 2015)
a. Model
Digunakan sebagai presentasi database. Berbeda dengan framework cakephp.
Dalam codeigniter, segala macam perintah qury SQL diletakan dalam file
model, seperti insert, delet dan select.(Widodo, 2015)
b. View
Suatu halaman khusus yang digunakan untuk menyajikan informasi kepada
client, secara definisi, segal macam perintah yang dikelola oleh controller dan
model, akan dikirim kepada view sesui hasil perintah yang di-request.
(Widodo, 2015)
c. Controller
Digunakan sepagai pengendali (control) antara view dan model melalui
perintah dari HTTP. (Widodo, 2015)
2.4 CodeIngniter Framework
Codeigniter adalah aplikasi open source dan juga merupakan salah satu PHP
framework yang berbasiskan pada metode MVC (Model, Controller, dan View)
(Myer, 2008)
Maksud dari MVC ini sendiri adalah memisahkan 3 hal pokok (basis data, tampilan
situs web, dan logika aplikasi) di dalam pembuatan suatu situs web ke dalam 3
bagian, yaitu bagian model untuk basis data, bagian view untuk tampilan situs web,
dan bagian controller untuk logika aplikasi.
2.5 Aplikasi Android
Android adalah sistem operasi yang dikembangkan dan dipopulerkan oleh
Google. Pengertian aplikasi mobile adalah sebutan untuk aplikasi yang berjalan di
mobile device (Rangsang, 2010). Dengan menggunakan aplikasi mobile, dapat
dengan mudah melakukan berbagaii macam aktifitas mulai dari hiburan, berjualan,
belajar, mengerjakan pekerjaan kantor, browsing dan lain sebagainya.
9
Pengembangan aplikasi android membutuhkan software development kit
(SDK). Android SDK adalah tools API (Application Programming Interface) yang
diperlukan untuk mengembangkan aplikasi pada platform Android yang
menggunakan bahasa pemrograman Java (Nazruddin, 2012). Android merupakan
subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan
aplikasi kunci yang di-release oleh Google.Saat ini disediakan Android SDK
sebagai alat bantu dan API untuk mengembangkan aplikasi pada platform Android
menggunakan bahasa pemrograman Java. Berikut ini merupakan arsitektur
Androidyang ditunjukkan pada gambar 2.1:
Gambar 2.1. Arsitektur Sistem Operasi Android
Android memiliki 4 komponen aplikasi. Setiap komponen memiliki peran
yang berbeda-beda dan berdiri sendiri meskipun terkadang salah satu komponen
bergantung pada komponen lainnya (Mulyadi, 2010). Masing-masing komponen
memiliki daur hidup masing-masing, yang mengatur kapan komponen tersebut
dibuat dan bagaimana komponen tersebut dihapus. Untuk mengaktifkan
komponenkomponen tersebut diperlukan sebuah pesan asinkron yang disebut Intent
(Gargenta, 2011). Berikut adalah 4 tipe komponen dalam aplikasi android:
10
1. Actvity, merupakan suatu komponen yang merepresentasikan sebuah
tampilan yang dilengkapi dengan user interface.
2. Service, merupakan suatu komponen yang berjalan di balik layar untuk
menjalankan operasi yang menghabiskan banyak waktu.
3.
Content Provider, merupakan suatu komponen yang mengatur sekumpulan
data aplikasi.
4.
Broadcast receiver, merupakan komponen yang merespon terhadap siaran
(broadcast) pengumuman yang dikeluarkan oleh sistem.
2.6 Unified Modellin Language (UML)
Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk
merancang model sebuah sistem (Dharwiyanti, 2003)
2.7 Use Case Diagram
Use Case Diagram atau diagram use case merupakan pemodelan untuk
menggambarkan kelakuan (behavior) sistem yang akan dibuat. Diagram use case
mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang
akan dibuat. Dengan pengertian yang cepat, diagram use case digunakan untuk
mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang
berhak menggunakan fungsi-fungsi tersebut. Terdapat beberapa simbol dalam
menggambarkan diagram use case, yaitu use cases, aktor dan relasi. Hal yang perlu
diingat mengenai diagram use case adalah diagram use case bukan menggambarkan
tampilan antarmuka (user interface), arsitektur dari sistem, kebutuhan
nonfungsional, dan tujuan performansi. Sedangkan untuk penamaan use cases
adalah nama didefinisikan sesimpel mungkin, dapat dipahami dan menggunakan
kata kerja
( Kendall, 2002)
11
Tabel 2.1. Simbol Komponen Use Case
Simbol
Deskripsi
Use case
Fungsionalitas yang disediakan sistem sebagai unit-unit yang
nama use case
saling bertukar pesan antar unit atau aktor dinyatakan dengan
menggunakan kata kerja di awal frase nama use case
Orang, proses, atau sistem lain yang berinteraksi dengan
Aktor / actor
sistem informasi yang akan dibuat di luar sistem informasi
yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor
adalah gambar orang, tapi aktor belum tentu merupakan orang
nama aktor
biasanya dinyatakan menggunakan kata benda di awal frase
nama aktor
Asosiasi / association Komunikasi antara aktor dan use case yang berpartisipasi pada
use case atau use case memiliki interaksi dengan aktor
Relasi use case tambahan ke sebuah use case dimana use case
yang ditambahkan dapat berdiri sendiri walau tanpa use case
tambahan itu; mirip dengan prinsip inheritance pada
pemrograman berorientasi objek biasanya use case tambahan
Ekstensi / extend
memiliki nama depan yang sama dengan use case
yang ditambahkan, misal :
<<extend>>
validasi username
<<extend >>
validasi user
<< extend >>
validasi sidik jari
Arah panah mengarah pada use case yang ditambahkan
12
Hubungan generalisasi dan spesialisasi (umum - khusus)
antara dua buah use case dimana fungsi yang satu adalah
fungsi yang lebih umum dari lainnya, misalnya:
ubah data
Generalisasi /
generalization
mengelola data
hapus data
Arah panah mengarah pada use case yang
menjadi generalisasinya (umum)
Menggunakan /
include / uses
Relasi use case tambahan ke sebuah use case dimana use case
yang
ditambahkan
memerlukan
use
case
ini
untuk
menjalankan fungsinya atau sebagai syarat dijalankan use case
ini ada dua sudut pandang yang cukup besar mengenai include
<<include>>
di use case: Include berarti use case yang ditambahkan akan
selalu dipanggil saat use case tambahan dijalankan, misal
pada kasus berikut:
validasi username
<< include>>
«uses»
login
Include berarti use case yang tambahan akan selalu melakukan
pengecekan apakah use case yang ditambahkan telah
dijalankan sebelum use case tambahan dijalankan, misal pada
kasus berikut:
13
validasi user
<< include>>
ubah data
Kedua interpretasi di atas dapat dianut salah satu atau
keduanya tergantung pada pertimbangan dan interpretasi
yang dibutuhkan. Arah panah include mengarah pada use
case yang dipakai
2.8 Class Diagram
Class Diagram terdiri dari tiga kompartemen (ruang persegi panjang)
yang mengandung informasi yang berbeda diperlukan untuk menjelaskan sifat-sifat
satu jenis objek (Pender, 2012) dapat dilihat pada tabel 2.2 :
Tabel 2.2. Notasi Class Diagram
NewClass
Attibute
Operations()
Notasi dalam class diagram adalah sebagai berikut :
1. Class Name digunakan untuk mendefinisikan class (tipe objek) dalam
sebuah paket.
2. Attribute berisi semua definisi data.
3. Operations berisi definisi untuk setiap perilaku yang didukung oleh jenis
objek
14
2.9 Activity Diagram
Diagram ini menggambarkan proses yang termasuk tugas berurutan,
logika kondisional, dan konkurensi. Diagram ini adalah seperti flowchart, tetapi
telah ditingkatkan untuk digunakan dengan pemodelan objek. Simbol Activity
Diagram (Pender, 2012) dapat kita lihat pada table 2.3 :
Tabel 2.3. Simbol Activity Diagram
Simbol
Keterangan
Activity
Titik Awal
Titik Akhir
Fork; Untuk
menunjukkan
kegiatan yang
dilaksanakan secara parallel
Control Flow
Pilihan untuk mengambil keputusan.
2.10
Squence Diagram
Semua Sequence Diagram lebih dimodelkan pada tingkat objek daripada
tingkat kelas untuk memungkinkan scenario yang menggunakan lebih dari satu
instance dari kelas yang sama dan bekerja pada tingkat fakta, data uji, dan contoh.
Sequence Diagram menggunakan tiga elemen notsi mendasar:
object,
message/stimuli, object lifeline (Pender, 2012), Gambar dapat dilihat pada table 2.4
:
15
Tabel 2.4. Simbol Sequence Diagram
Simbol
Keterangan
Boundary; pemisah antara sistem dan daerah di luar sistem
(lingkungan)
Control; metode untuk membuat aplikasi dengan memisahkan
data (Model) dari tampilan (View) dan cara bagaimana
memprosesnya (Controller)
Entity; sebuah objek yang keberadaanya dapat dibedakan
terhadap objek lain
Message; mewakili komunikasi yang dikirim satu sama lain.
Lifeline; untuk mengatur pesan-pesan dalam urutan yang relative
tepat.
2.11
Basis Data
Basis Data adalah koleksi dari data-data yang terkait secara logis dan deskripsi
dari data-data tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari
suatu organisasi.“Database is a self-describing collection of integrated tables”,
yang berarti basis data adalah sebuah koleksi data yang menggambarkan integrasi
antara tabel yang satu dengan tabel yang lainnya. “Database is a self-describing”,
disini dijelaskan bahwa struktur data saling terintegrasi dalam suatu tempat yang
dikenal sebagai kamus data atau metadata. Dapat ditarik kesimpulan bahwa
database adalah suatu koleksi data yang saling berhubungan secara logis dan
menggambarkan integrasi antara suatu tabel dengan tabel lainnya, yang dirancang
untuk memenuhi kebutuhan informasi dari suatu organisasi
(Robby, Kwanentent, & Wardana, 2009)
16
2.12
Entity Relationsip Diagram (ERD)
Entity Relationship Diagram (selanjutnya akan ditulis ERD) adalah
diagram yang berisi komponen-komponen himpunan entitas dan himpunan relasi
yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan
seluruh fakta dari ‘dunia nyata’ yang kita.
Fathansyah (1999) juga menyebutkan bahwa ada dua komponen penyusun
ERD, yaitu entity atau entitas dan relation atau relasi. Entity atau entitas merupakan
individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan
dari sesuatu yang lain. Sedangkan relation atau relasi menunjukan adanya
hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang
berbeda tinjau (Fathansyah, 1999).
Notasi-notasi simbolik menurut Fathansyah (1999) di dalam Diagram E-R
yang dapat kita gunakan. Gambar dapat dilihat pada tabel 2.5 :
Tabel 2.5. Simbol Entity Relationsip Diagram (ERD)
Simbol
Keterangan
Persegi panjang menyatakan
himpunan entitas.
Lingkaran
/
elips
menyatakan
atribut.
(atribut yang berfungsi sebagai key
digaris bawahi).
Belah
ketupat
himpunan relasi.
menyatakan
17
Garis sebagai penghubung antara
himpunan relasi dengan himpunan
entitas dan himpunan entitas dengan
atributnya.
Kardinalitas relasi menunjukan jumlah maksimum entitas yang dapat
berelasi dengan entitas pada himpunan entitas yang lain. Model kardinalitas yang
dapat terjadi diantara entitas menurut Fathansyah (1999) adalah:
a) Satu ke satu
Relasi satu ke satu yang berarti setiap entitas pada himpunan entitas A
berhubungan dengan paling banyak satu entitas pada himpunan entitas B dan begitu
juga sebaliknya setiap entitas pada himpunan entitas B berhubungan dengan paling
banyak dengan satu entitas pada himpunan entitas A. Gambaran mengenai relasi ini
dapat dilihat pada gambar 2.2. :
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 3
Entitas 4
Entitas 4
Gambar 2.2. Satu ke satu
b) Satu ke banyak
Relasi satu ke banyak yang berarti setiap entitas pada himpunan entitas A
dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi tidak
sebaliknya, di mana setiap entitas pada himpunan entitas B berhubungan dengan
paling banyak dengan satu entitas pada himpunan entitas A. Gambaran mengenai
relasi ini dapat dilihat pada gambar 2.3 :
18
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 3
Entitas 2
Entitas 3
Entitas 4
Entitas 5
Gambar 2.3. Satu ke banyak
c) Banyak ke satu
Relasi banyak ke satu yang berarti setiap entitas pada himpunan entitas A
berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas B,
tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas B dapat
berhubungan dengan banyak entitas pada himpunan entitas A. Gambaran mengenai
relasi ini dapat dilihat pada gambar 2.4. :
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 3
Entitas 2
Entitas 4
Entitas 3
Entitas 5
Gambar 2.4. Banyak ke satu
d) Banyak ke banyak
Relasi banyak ke banyakyang berarti setiap entitas pada himpunan entitas
A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan demikian
juga sebaliknya, di mana setiap entitas pada himpunan entitas B dapat berhubungan
dengan banyak entitas pada himpunan entitas B. Gambaran mengenai relasi ini
dapat dilihat pada gambar 2.5. :
19
A
B
Entitas 1
Entitas 1
Entitas 2
Entitas 2
Entitas 3
Entitas 3
Entitas 4
Entitas 4
Gambar 2.5. Banyak ke banyak
2.13
MySQL
MySQL (My Structure Query Language) adalah salah satu database
Management System (DBMS) dari sekian banyak DBMS seperti Oracle, MS SQL,
Postagre SQL dan lainnya. MySQL berfungsi untuk mengolah database
menggunakan Bahasa SQL. MySQL bersifat open source sehingga kita bisa
menggunakannya secara gtatis. Pemrograman PHP juga sangat mendukung dengan
database MySQL (Anhar, 2010)
2.14
Android Studio
Android Studio adalah sebuah IDE yang bisa digunakan untuk
pengembangan aplikasi android dan dikembangkan oleh Google. Android Studio
merupakan pengembangan dari Eclipse IDE, dan dibuat berdasarkan IDE Java
populer, yaitu IntelliJ IDEA. Android Studio direncanakan untuk menggantikan
Eclipse ke depannya sebagai IDE resmi untuk pengembangan aplikasi Android.
Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur
baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang
menggunakan ADT, Android Studio menggunakan Gradle sebagai build
environment. Fitur - fitur lainnya adalah sebagai berikut: A. Menggunakan Gradlebased build system yang fleksibel. B. Bisa mem-build multiple APK. C. Template
support untuk Google Services dan berbagai macam tipe perangkat. D. Layout
editor yang lebih bagus. (Hasanah et al., 2014)
20
2.15
Java Script Object Notation (JSON)
JSON adalah format pertukaran data yang ringan, mudah dibaca dan ditulis
oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer.
Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript,
Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks
yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan
gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++,
C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan
JSON ideal sebagai bahasa pertukaran-data. Contoh dapat dilihat pada gambar 2.6
:
Gambar 2.6. Contoh Representasi JSON pada sebuah Object
JSON terbuat dari dua struktur: 1. Kumpulan pasangan nama/nilai. Pada beberapa
bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur
(struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list),
atau associative array. 2. Daftar nilai terurutkan (an ordered list of values). Pada
kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar
(list), atau urutan (sequence) (“JSON, Pengenalan,” n.d.)
2.2.3
Model Waterfall
Model waterfall adalah suatu proses pengembangan perangkat lunak
berurutan, dimana kemajuan dipandang sebagai terus mengalir kebawah (seperti
21
air terjun) melewati fase-fase pencenaan, pemodelan, implementasi, dan
pengujian. Dalam pengembagannya metode waterfall memiliki beberapa
tahapan yang runtut: requirement, design, implementation, verification, dan
maintenance (Pressman, Roger, 1997)
Gambar 2.1 Model waterfall menurut Pressman (1997).
Tahap – Tahap dalam Model Waterfall seperti yang ditunjukkan pada
gambar 2.2 di atas adalah sebagai berikut :
a.
Communicatin
Pada tahapan ini bertujuan untuk memahami tujuan stakeholder serta
pelanggan untuk proyek dan untuk mengumpulkan persyaratan yang membantu
mendefinisikan fitur perangkat lunak dan fungsi.
b.
Planning
Pada tahapan ini dapat mendefinisikan perencanaan rekayasa perangkat
lunak bekerja dengan menggambarkan tugas-tugas teknis yang akan dilakukan,
resiko yang munkin, sumber daya yang akan diperlukan, produk pekerjaan yang
harus diproduksi,dan jadwal kerja.
c.
Modeling
Pada tahapan ini, hal yang dilakukan yaitu menciptakan model-model
untuk lebih memahami persyaratan perangkat lunak dan desain yang akan
mencapai kebutuhan tersebut.
d.
Construction
Pada tahapan ini menggabungkan generasi kode(baik manual maupun
otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam
kode.
e.
Deployment
22
Perangkat lunak dikirimkan kepelanggan kemudian pelanggan yang
mengevaluasi produk yang disampaikan dan memberikan umpan balik
berdasarkan evaluasi.
Download