• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
15
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1 Pengertian Android

Android adalah sebuah kumpulan perangkat lunak untuk perangkat mobile yang mencakup sistem operasi, middleware dan aplikasi utama mobile. Android emiliki empat karakteristik sebagai berikut:

1. Terbuka

Android dibangun untuk benar-benar terbuka sehingga sebuah aplikasi dapat memanggil salah satu fungsi inti ponsel seperti membuat panggilan, mengirim pesan teks, menggunakan kamera, dan lain-lain. Android menggunakan sebuah mesin virtual yang dirancang khusus untuk mengoptimalkan sumber daya memori dan perangkat keras yang terdapat di dalam perangkat. Android merupakan open source, dapat secara bebas diperluas untuk memasukkan teknologi baru yang lebih maju pada saat teknologi tersebut muncul. Platform ini akan terus berkembang untuk membangun aplikasi mobile yang inovatif

2. Semua aplikasi dibuat sama

Android tidak memberikan perbedaan terhadap aplikasi utama dari telepon dan aplikasi pihak ketiga (third-party application). Semua aplikasi dapat dibangun untuk memiliki akses yang sama terhadap kemampuan sebuah telepon dalam menyediakan layanan dan aplikasi yang luas terhadap para pengguna.

3. Memecahkan hambatan pada aplikasi

Android memecah hambatan untuk membangun aplikasi yang baru dan inovatif. Misalnya, pengembang dapat menggabungkan informasi yang

(2)

diperoleh dari web dengan data pada ponsel seseorang seperti kontak pengguna, kalender, atau lokasi geografis.

4. Pengembangan aplikasi yang cepat dan mudah

Android menyediakan akses yang sangat luas kepada pengguna untuk menggunakan library yang diperlukan dan tools yang dapat digunakan untuk membangun aplikasi yang semakin baik. Android memiliki sekumpulan tools yang dapat digunakan sehingga membantu para pengembang dalam meningkatkan produktivitas pada saat membangun aplikasi yang dibuat.(Sumber : http://www.android.com/about/ ) Google Inc. sepenuhnya membangun Android dan menjadikannya bersifat terbuka (open source) sehingga para pengembang dapat menggunakan Android tanpa mengeluarkan biaya untuk lisensi dari Google dan dapat membangun Android tanpa adanya batasan-batasan. Android Software Development Kit (SDK) menyediakan alat dan Application Programming Interface (API) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java (Salbaino, 2014)

2.2 Fitur Sistem Operasi Android

Sistem operasi Android memiliki fitur-fitur sebagai berikut:

1. Kerangka kerja aplikasi (application framework)

Digunakan untuk menulis aplikasi di Android sehingga emungkinkan penggunaan kembali dan penggantian komponen. Kerangka kerja ini didukung oleh berbagai open source libraries seperti openssl, sqlite,dan libc serta didukung oleh libraries utama Android. Kerangka kerja sistem operasi Android didasarkan pada UNIX file system permission yang menjamin bahwa aplikasi-aplikasi tersebut hanya memiliki kemampuan yang diberikan oleh pemilik ponsel pada waktu penginstalan.

(3)

Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang menggunakan memori yang sangat rendah dan secara khusus dirancang untuk Android untuk dijalankan pada embedded system. DVM bekerja dengan baik pada situasi dengan tenaga yang rendah dan mengoptimalkan perangkat mobile. DVM juga mengatur atribut dari Central Processing Unit (CPU) serta membuat sebuah format file yang spesial (.DEX) yang dibuat selama build time post processing. DVM mengambil file yang dihasilkan oleh class Java dan menggabungkannya ke dalam satu atau lebih Dalvik Executable (.dex). DVM dapat menggunakan kembali salinan informasi dari beberapa class file dan secara efektif mengurangi kebutuhan penyimpanan oleh setengah dari Java Archive (.jar) file tradisional. Konversi antara kelas Java dan format (.dex) dilakukan dengan memasukkan “dx tool”. DVM menggunakan assembly-code yang berbeda dimana DVM menggunakan register sebagai unit utama dari penyimpanan data dari pada menggunakan stack. Hasil akhir dari executable-code pada Android, merupakan hasil dari DVM yang didasarkan bukan pada Java code melainkan pada file (.dex). Hal ini berarti bahwa Java byte-code tidak dieksekusi secara langsung melainkan dimulai dari Java classfile terlebih dahulu dan kemudian mengkonversikannya ke dalam file (.dex) yang berhubungan.(Dimarzio, 2012)

a. Browser yang terintegrasi b. Grafik yang teroptimasi c. SQLite

d. Dukungan media untuk suara, video dan format

e. GSM Telephony (bergantung dari perangkat keras yang digunakan)

f. Bluetooth, Enhanced Data rates for GSM Evolution (EDGE), 3rd Generation (3G), dan WiFi™ (bergantung dari perangkat keras yang digunakan)

(4)

g. Kamera, Global Postioning System (GPS), kompas dan accelerometer (bergantung dari perangkat keras yang digunakan).

h. Lingkungan pengembangan yang lengkap, seperti emulator, peralatan untuk debugging, memori dan performance. profiling, serta plug-in untuk Eclipse IDE. (Salbaino, 2014)

2.3  Metodologi Rekayasa Perangkat Lunak 

SDLC (SoftwareDevelopmentLifeCycle) merupakan framework untuk mendefinisikan kegiatan yang dilakukan pada setiap langkahnya dalam suatu proses pengembangan perangkat lunak (Tutorial.com 2014). Terdapat banyak variasi model lifecycle untuk pengembangan perangkat lunak secara definisi dan rancangan, dengan mengikut proses perangkat lunak selama pengembangannya. Model tersebut yaitu "Software Development Process Models". Setiap suatu proses model yang mengikuti suatu bagian yang secara unik untuk langkah dari setiap tipe, serta memastikan suatu proses berjalan sukses dalam pengembangan perangkat lunak. Pada skripsi ini menggunakan model SDLC yaitu model waterfall.

Model waterfall merupakan suatu model SDLC (Tutorial.com 2014) di mana proses eksekusi yang terjadi berurutan dari satu proses ke proses berikutnya. Pada model waterfall untuk setiap satu fase ke fase berikutnya harus disiplin, karena setiap tahap harus selesai untuk melanjutkan ketahap berikutnya. Alur dapat dilihat pada gambar 2.1

(5)

Gambar 2.1. Model Waterfall

Pada waterfall terdapat tahapan-tahapan yang harus dilakukan secara berurutan, berikut urutan yang ada dalam waterfall:

1. Requirementanalysis

Pada tahapan ini mengumpulkan kebutuhan dan melakukan analisa syarat dari aplikasi kemudian di buat dokumentasi. Dokumentasi yang dibuat akan menjadi panduan utama dalam tahapan berikutnya. Data yang lengkap dalam dokumentasi dapat memudahkan dalam pembuatan sistem nantinya.

2. SystemDesign

Tahapan berikutnya merupakan penentuan dalam mempersiapkan kebutuhan dari aplikasi yang dikembangkan. Kebutuhan tersebut dapat menentukan berupa perangkat keras ataupun perangkat lunak yang akan digunakan, serta mendefinisikan arsitektur secara keseluruhan.

3. Implementation

Tahap pelaksanaan ini dengan membuat program kecil yang disebut unit. Unit tersebut ditahap selanjutnya diuji untuk menghindari dari kesalahan-kesalahan dalam program. Unit yang dibuat akan saling terintegrasi sehingga aplikasi dapat berjalan dengan baik.

Implementation  Requirement Analysis  System Design  Testing  Deployment  Maintenance 

(6)

4. Testing

Proses pengujian pada aplikasi untuk menghindari kegagalan sistem ataupun kesalahan yang terjadi. Semua unit yang terintegrasi dilakukan pengujian secara input dan output. Setiap kesalahan dapat dilakukan perbaikan pada aplikasi.

5. Deployment

Setelah aplikasi selesai tahap pengembangan dan pengujian, aplikasi dapat dilepaskan kepada pengguna.

6. Maintenance

Pada saat sudah dilepas ke pengguna jika terjadi issu yang menjadi masalah dari aplikasi, perbaikan yang dilakukan untuk versi yang lebih baik. Pemeliharaan juga dilakukan pada perubahan-perubahan yang terjadi di lingkungan pengguna.

2.4 Database Management System (DBMS)

Menurut Connolly dan Begg (2002), Database Management System merupakan sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, mengatur, dan mengontrol pengaksesan ke dalam basis data.Sebuah DBMS menyediakan fasilitas– fasilitas sebagai berikut :

1. DBMS memungkinkan pengguna untuk mendefinisikan basis data, dengan menggunakan Data Definition Language (DDL). DDL memungkinkan pemakai untuk menspesifikasikan tipe – tipe dan struktur data serta constraint pada data untuk disimpan di dalam basis data.

2. DBMS memungkinkan pengguna untuk memasukkan, mengubah, menghapus, dan mengambil data dari basis data dengan menggunakan Data

Manipulation Language (DML).

3. DBMS menyediakan pengontrolan akses ke dalam basis data. Contohnya, DBMS menyediakan :

(7)

a. Security System, mencegah pengguna yang tidak memiliki hak dalam mengakses basis data

b. Integrity system, mengatur konsistensi dari data yang disimpan. c. Concurrency control system, memungkinkan pengaksesan basis

data secara bersama – sama.

d. Recovery control system, memperbaiki basis data kembali ke bentuk semula sebelum terjadinya kerusakan perangkat keras atau kerusakan perangkat lunak

e. User-accessible catalog, berisi gambaran dari data yang terdapat di dalam basis data.(Zehra KAMIŞLI, 2004)

2.4 Eclips

adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

2.5.1 Sifat Eclips

Berikut ini adalah sifat dari Eclipse:

1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.

2. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi

(8)

Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lain seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi. Eclipse pun bias digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak seperti dokumentasi, pengujian perangkat lunak, pengembangan web, dan lain sebagainya.

Pada saat ini, Eclipse merupakan salah satu IDE favorit karena gratis dan opensource. Open source berarti setiap orang boleh melihat kode pemrograman perangkat lunakini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan membuat komponen yang disebut plugin.

2.5.2 Sejarah

Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak pengembangan IBM Visual Age for Java 4.0. Produk Eclipse ini diluncurkan oleh IBM pada tanggal 5 November 2001. IBM menginvestasikan US$ 40 juta untuk pengembangannya. Sejak 5 November 2001, konsorsium Eclipse Foundation mengambil alih pengembangan Eclipse lebih lanjut.

2.5.3 Arsitektur

Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah dipasang (diinstal). Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP).

Berikut ini adalah komponen yang membentuk RCP:

 Core platform  OSGi

 SWT (Standard Widget Toolkit)  JFace

(9)

 Eclipse Workbench

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.

Konsep Eclipse adalah IDE adalah

1. Terbuka (open),

2. Mudah diperluas (extensible) untuk apa saja, dan 3. Tidak untuk sesuatu yang spesifik.

Eclipse tidak saja untuk mengembangkan program Java, tetapi juga untuk berbagai macam keperluan. Perluasan apapun cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ maka telah terdapat plug-in CDT (C/C++ Development Tools) yang dapat dipasang di Eclipse untuk Eclipse menjadi perangkat untuk pengembangan C/C++.

2.6 Unified Modelling Language

UML (Unified Modelling Language) merupakan salah satu perangkat lunak pemodelan arsitektur yang banyak digunakan oleh pengembang perangkat lunak. Alat yang digunakan dalam pemodelan UML menggunakan diagram sebagai berikut:

1. Diagram Usecase

Diagram usecase digunakan untuk mendapatkan setiap perilaku yang terlibat dalam sistem, serta secara visualisasi sebagai fungsi yang berdasarkan sudut pandang dari pengguna (Kurniawan et al. 2014). Diagram UseCase pada diagram UML sebagai patokan untuk digunakan pada diagram lainnya seperti diagram sequence dan diagram aktivitas. Pada diagram UseCase ada notasi yang digunakan, notasi diagram UseCase sebagai berikut:

(10)

Tabel 2.1 Notasi Diagram UseCase

Simbol Keterangan

UseCase

Gambaran suatu fungsi dari sistem yang secara paham dan mengerti akan kegunaan pada aplikasi yang akan dibangun.

Simbol Keterangan

Actor

Actor sebagai pengguna atau orang secara stakeholder / entitas eksternal yang

menerima atau menyediakan informasi dari suatu sistem.

Association

Association sebagai penghubung link antar

suatu elemen.

Dependency

Dependency sebagai elemen yang

bergantung ke dalam beberapa cara terhadap elemen lainnya.

Generalization

Generalization atau inheritance sebagai

elemen yang merupakan spesialisasi dari elemen lainnya.

<<extend>> Menunjukkan suatu usecase yang

merupakan tambahan fungsional dari suatu

UseCase lainnya jika kondisi telah

terpenuhi.

<<include>> Menunjukkan suatu UseCase yang seluruhnya merupakan fungsionalitas dari suatu UseCase lainnya.

2. Class Diagram

Class Diagram merupakan diagram utama dalam pemrograman berorientasi objek (Kurniawan et al. 2014). Penggambaran pada class diagram ini terdiri dari class diagram yang bersama dengan hubungan antara class itu yang memiliki aggregation, composition, directional, bidirectional dan inheritance. Class diagram dapat digambarkan sebagai hirarki class dan non-hirarki ( Gutwenger et

(11)

al , 2003). Class diagram memiliki simbol yang sering digunakan, beberapa simbol tersebut sebagai berikut:

Tabel 2.2 Notasi Class Diagram

Simbol Keterangan Nama kelas +attribute +attribute +method +method Class

Class sebagai blok-blok pembangun suatu

pemrograman yang berorientasi objek.

Association

Association sebagai penghubung antara suatu

elemen ke elemen lainnya

Composition

Composition sebagai penghubung jika suatu class tidak memiliki bagian class lain maka class tersebut memiliki relasi ke composition

terhadap class dimana dia bergantung.

Dependency

Dependency sebagai menunjukkan operasi pada class yang menggunakan class lainnya

Aggregation

Aggregation sebagai bagian keseluruhan relationship atau sebagai relasi.

3. Diagram Aktivititas

Diagram aktivitas pada saat ini digunakan untuk mendesain spesifikasi berdasarkan UseCase yang ada (Kurniawan et al. 2014). Diagram aktivitas bisa digunakan untuk model pengembangan perangkat lunak dengan pendekatan aspect-oriented. Berikut simbol pada diagram akitivitas:

(12)

Tabel 2.3 Notasi Diagram Aktivitas

Simbol Keterangan

Initial

Initial sebagai simbol untuk memulai suatu aktivitas.

Final

Final sebagai simbol untuk mengakhiri suatu aktivitas

StateTransition

StateTransition sebagai menunjukkan suatu kegiatan apa berikutnya setelah suatu kegiatan.

Junction

Junction sebagai pilihan untuk mengambil suatu keputusan.

Fork

Fork sebagai percabangan yang menunjukkan aliran pada diagram aktivitas.

Join

Join sebagai penggabungan yang menjadi arah aliran diagram aktivitas.

Activity

Activity sebagai memperlihatkan bagaimana dari masing-masing class antarmuka yang saling berinteraksi.

Action

Action sebagai sistem yang menunjukkan eksekusi dari suatu aksi.

Flow final

Flowfinal sebagai aliran akhir.

4. Diagram Sequence

Diagram Sequence pada dasarnya telah diatur sesuai dengan keadaan waktu. Aliran waktu pada pesan terhadap tampilan antara objekdan bagian pesan. Pada visual diagram sequence dibagi menjadi 2 arah, vertikal dan horizontal. Arah vertikal menunjukkan waktu, arah horizontal menunjukkan interaksi objek.

(13)

Tabel 2.4. Notasi Diagram Sequence.

Notasi Keterangan

Actor

Actor sebagai pengguna

LifeLine

LifeLine sebagai objek yang berinteraksi

Message()

Message

Mesagge sebagai komunikasi antar objek yang memuat informasi-informasi.

ControlClass

Control class sebagai penghubung boundary terhadap class

Boundary

Boundary sebagai sebuah form

EntityClass

EntityClass sebagai hubungan suatu kegiatan yang akan dilakukan

2.7 Inventaris

Inventaris adalah bahan baku dan penolong, barang jadi dan barang dalam proses produksi dana barang-barang yang tersedia, yang dimiliki dalam perjalanan dalam tempat penyimpanan atau konsinyasikan kepada pihak lain pada akhir periode. Sedangkan sistem informasi inventori adalah suatu sistem software yang akan membantu proses inventarisasi dengan menerapkan tertib administrasi inventori yang ketat Pencatatan dari barang masuk, penyimpanan, sampai dengan barang keluar. Dilengkapi dengan sistem pela poran yang sistematis dan akurat. Sistem informasi inventori ini dibuat dengan sistem multi user yang

(14)

memungkinkan pengaksesan sistem informasi oleh beberapa user yang berbeda dalam suatu waktu.

Inventaris Menurut Soemarsono S.R. (l994,pl5) inventaris adalah daftar barangbarang yang digunakan di perusahaan atau di kantor yang menyertakan barga, jumíah, jenis dan keadaannya. Sedangkan Inventansasi menurut Muhammad Ali (2000:78), inventaris adalah daftar yang memuat semua barang perusahan dan sebagainya yang dipakai dalam melaksanakan tugas. Daftar yang dimaksud ialah berupa cacatan tentang semua alat dan bahan yang disediakan untuk dipergunakan dalam pengolahan usaha yang dijalankan maupun sebagai peralatan operasional perusahan. (Sheila Namagembe, 2012)

2.8 FCFS (First Come First Served)

Algoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap proses yang berada pada status ready dimasukkan kedalam FIFO queue atau antrian dengan prinsip first in first out, sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi. Contoh :

Ada tiga buah proses yang datang secara bersamaan yaitu pada 0 ms, P1 memiliki burst time 24 ms, P2 memiliki burst time 3 ms, dan P3 memiliki burst time 3 ms. Hitunglah waiting time rata-rata dan turnaround time( burst time + waiting time) dari ketiga proses tersebut dengan menggunakan algoritma FCFS. Waiting time untuk P1 adalah 0 ms (P1 tidak perlu menunggu), sedangkan untuk P2 adalah sebesar 24 ms (menunggu P1 selesai), dan untuk P3 sebesar 27 ms (menunggu P1 dan P2 selesai). (pei, 2013)

(15)

Gantt Chart Kedatangan Proses Urutan kedatangan adalah P1, P2 , P3; gantt chart untuk urutan ini adalah: Waiting time rata-ratanya adalah sebesar(0+24+27)/3 = 17ms. Turnaround time untuk P1 sebesar 24 ms, sedangkan untuk P2 sebesar 27 ms (dihitung dari awal kedatangan P2 hingga selesai dieksekusi), untuk P3 sebesar 30 ms. Turnaround time rata-rata untuk ketiga proses tersebut adalah (24+27+30)/3 = 27 ms.Kelemahan dari algoritma ini:

Waiting time rata-ratanya cukup lama.

Terjadinya convoy effect, yaitu proses-proses menunggu lama untuk menunggu 1 proses besar yang sedang dieksekusi oleh CPU. Algoritma ini juga menerapkan konsep non-preemptive, yaitu setiap proses yang sedang dieksekusi oleh CPU tidak dapat di-interrupt oleh proses yang lain. (J. Sum, 2007)

Misalkan proses dibalik sehingga urutan kedatangan adalah P3, P2, P1. Waiting time adalah P1=6; P2=3; P3=0. Average waiting time: (6+3+0)/3=3.

Gambar 14.2. Gantt Chart Kedatangan Proses Sesudah Urutan Kedatangan Dibalik

Gambar

Gambar 2.1. Model Waterfall
Diagram  usecase digunakan untuk mendapatkan setiap perilaku yang  terlibat dalam sistem, serta secara visualisasi sebagai fungsi yang berdasarkan  sudut pandang dari pengguna (Kurniawan et al
Tabel 2.1 Notasi Diagram UseCase
Tabel 2.2 Notasi Class Diagram
+5

Referensi

Dokumen terkait

Menurut Soekanto (2002), proses pembentukan lembaga kemasyarakatan yaitu suatu proses yang dilewati oleh suatu norma yang baru untuk menjadi bagian dari salah

Berdasarkan hasil tersebut maka perlu penelitian lanjutan untuk menentukan metode konsolidasi kayu, menentukan metode aplikasi terbaik, menentukan bahan injeksi pada

[S9, KU1, KU2, PP4] Ketepatan menjelaskan makna/konsep negara hukum dan demokrasi serta konsep tentang peraturan perundang- undangan; sejarah perkembangan pemikiran dari seni

P T Hino Motors Sales Indonesia (HMSI) memiliki program terencana untuk melaksanakan kebijakan pemerintah untuk penggunaan bahan bakar biodiesel sebesar 30% atau B30

Oleh karena itu, framing pada anggota organisasi gerakan sosial diperlukan dalam membentuk identitas kolektif guna mempertahankan partisipasi anggotanya sebagai

Menurut Taha (2007:552), perilaku manusia dalam sistem antrian sebagai customer sebagai berikut. 1) Reneging menggambarkan situasi dimana seseorang masuk dalam antrian,

Perkawinan siri dalam praktiknya dianggap tetap sah dilakukan dengan memenuhi syarat dan rukun islam, tetapi dalam hal ini akan mengakibatkan kerugian bagi pihak istri dan anak

Pertumbuhan ikan papuyu sistem bioflok dengan perlakuan sumber probiotik yang berbeda memperoleh nilai yang sama dengan probiotik komersial, sehingga semua