bab ii presman

Upload: eva-s-hidayat

Post on 08-Feb-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 BAB II Presman

    1/32

    6

    BAB 2

    LANDASAN TEORI

    Teori Umum

    2.1 Perangkat Lunak

    Menurut Roger Pressman dalam bukunya Software Engineering a

    Practitioners Approach ( 2010, p13 ) perangkat lunak adalah teknologi yang

    berlapis. Setiap pendekatan rekayasa perangkat lunak harus berakhir pada

    komitmen organisasi ke kualitas. Manajemen mutu total, six sigma, dan filosofi

    yang sama mengembangkan budaya proses perbaikan berkesinambungan, dan

    budaya ini akhirnya mengarah pada pengembangan pendekatan yang semakin

    efektif untuk rekayasa perangkat lunak. Landasan yang mendukung software

    engineeringadalah fokus kualitas.

    Menurut Pressman ( 2010, p13 ), komponen metodologi pengembangan

    perangkat lunak dapat dibagi dalam tiga unit, yaitu :

    ProsesProses rekayasa perangkat lunak adalah lem yang memegang lapisan

    teknologi bersama dan memungkinkan pengembangan rasional dan tepat

    waktu dari perangkat lunak komputer. Proses mendefinisikan kerangka

    kerja untuk satu set area proses kunci yang harus dibentuk untuk

    pengiriman yang efektif dari teknologi rekayasa perangkat lunak. Bidang

    utama membentuk dasar bagi kontrol manajemen proyek perangkat lunak

    dan menetapkan konteks dimana metode teknis telah diterapkan, produk

  • 7/22/2019 BAB II Presman

    2/32

    7

    kerja telah dihasilkan, milestone telah dibangun, kualitas dijamin, dan

    perubahan dikelola dengan baik.

    MetodeMetode rekayasa perangkat lunak memberikan teknik bagaimana

    membangun perangkat lunak. Metode mencakup array yang luas dari

    tugas-tugas yang mencakup analisis kebutuhan, desain, konstruksi

    program, pengujian dan dukungan, rekayasa perangkat lunak relay

    metode pada serangkaian prinsip dasar yang mengatur setiap area

    teknologi dan termasuk aktivitas pemodelan dan teknik deskriptif lain.

    PeralatanAlat rekayasa perangkat lunak memberikan dukungan otomatis atau

    semi-otomatis untuk proses atau metode. Ketika alat terintegrasi sehingga

    informasi yang dibuat oleh satu alat yang dapat digunakan oleh yang lain,

    sebuah sistem untuk mendukung pengembangan perangkat lunak, yang

    disebut Computer-Aided Software Engineering didirikan. CASE

    menggabungkan software, hardware, dan database software engineering

    untuk membuat lingkungan rekayasa perangkat lunak untuk analog CAD

    / CAE ( Computer-Aided Design / Engineering ) untuk hardware.

    Gambar 2.1 Software Engineering Layers (Pressman, 2010, p14)

  • 7/22/2019 BAB II Presman

    3/32

    8

    2.1.1 WaterfallModelMenurut Pressman ( 2010, p39 ), salah satu model pengembangan

    sistem adalah dengan model waterfall. Waterfall model adalah model

    yang paling populer dan sering dianggap sebagai pendekatan klasik

    dalam daur hidup pengembangan sistem. Adapun tahapannya sebagai

    berkut :

    CommunicationPada tahap ini akan dilakukan inisiasi proyek, seperti

    menganalisis masalah yang ada dan tujuan yang akan dicapai.

    Selain itu dilakukan juga requirements gathering, dimana akan

    dikumpulkan requirementdari usermelalui analisis kuisioner.

    PlanningTahap ini merupakan tahap dimana akan dilakukan estimasi

    mengenai kebutuhan-kebutuhan yang diperlukan untuk membuat

    sebuah sistem. Selain itu, penjadwalan dalam proses pengerjaan

    juga ditentukan pada tahap ini.

    ModelingKemudian mulai masuk pada tahap perancangan dimana

    perancang menerjemahkan kebutuhan sistem kedalam representasi

    untuk menilai kualitas sebelum tahap selanjutnya dikerjakan.

    Tahap ini lebih difokuskan pada atribut program, seperti struktur

    data, arsitektur perangkat lunak, dan detail prosedur.

  • 7/22/2019 BAB II Presman

    4/32

    9

    ConstructionTahap ini merupakan tahap dimana perancangan diterjemahkan ke

    dalam bahasa yang dimengerti oleh mesin. Setelah itu dilakukan

    pengetesan / pengujian terhadap sistem yang telah dibuat.

    DeploymentSetelah proses pengkodean dan pengujian selesai, dilakukan

    pengiriman yang artinya implementasi kepada masyarakat luas.

    Pada tahap ini juga dilakukan pemeliharaan, perbaikan, dan

    pengembangan agar sistem tersebut tetap dapat berjalan

    sebagaimana fungsinya.

    Urutan proses lebih jelasnya dapat dilihat pada gambar 2.2.

    Gambar 2.2 WaterfallModel

    2.2 Database

    Database adalah kumpulan data yang saling berhubungan dan didesain

    sedemikian rupa untuk memenuhi kebutuhan informasi dari suatu organisasi.

    Database adalah sebuah tempat penyimpanan dari data yang digunakan secara

    bersamaan oleh banyak departemen dan pengguna. Database tidak lagi dimiliki

    oleh satu departemen tetapi menjadi sumber daya bersama dalam perusahaan.

  • 7/22/2019 BAB II Presman

    5/32

    10

    Databasetidak hanya memegang data operasional organisasi tetapi juga deskripsi

    dari data tersebut. Untuk alasan ini, database juga diartikan sebagai sekumpulan

    data terintegrasi yang mejelaskan dirinya sendiri. (Connolly dan Begg, 2010, p14).

    2.2.1 Relational Database

    Relational database adalah sebuah kumpulan dari relasi yang

    telah dinormalisasi dengan nama relasi yang jelas (Connolly dan Beg,

    2010, p74). Relational database merupakan suatu tipe database yang

    berdasarkan model relational, dimana semua data dapat dilihat oleh

    pengguna, disusun dalam bentuk tabel-tabel dan semua operasi pada

    database bekerja pada tabel-tabel tersebut. Relasi antar tabel pada

    relational database sudah melalui tahap normalisasi dengan nama relasi

    yang berbeda-beda.

    Terdapat 3 jenis relasi antar-record dalam tabel (Connolly dan

    Beg, 2010, p344), yaitu:

    1. Relasi one-to-one adalah relasi antara satu recorddengan satu recorddalam tabel lain yang saling berhubungan.

    2. Relasi one-to-many adalah relasi antar satu record dengan lebih darisatu recorddalam tabel lain sehingga saling berhubungan.

    3. Relasi many-to-many adalah relasi antar banyak recorddengan lebihdari satu record dalam tabel lain yang saling berhubungan.

    2.2.2 Database Management System (DBMS)

    DBMS (Database Management System) adalah sebuah sistem

    software yang memungkinkan pengguna untuk mendefinisikan, memuat,

  • 7/22/2019 BAB II Presman

    6/32

    11

    memelihara, dan mengatur akses ke dalam database(Connolly dan Beg,

    2010, p16). DBMS merupakan sebuah software yang berinteraksi dengan

    pengguna program aplikasi dan database.

    Sebuah DBMS menyediakan beberapa fasilitas sebagai berikut :

    1. Data Definition Language (DDL)DDL adalah sebuah bahasa yang mengijinkan Database

    Administrator atau pengguna untuk menggambarkan dan memberi

    nama dari entitas, attribute, dan relationship yang dibutuhkan untuk

    aplikasi bersama dengan semua kepercayaan yang berhubungan

    dengan batasan keamanan (Connolly dan Begg, 2010, p41). Contoh

    dari operasi DDL adalah create, drop, danaltertabel.

    2. Data Manipulation Language (DML)DML adalah sebuah bahasa yang menyediakan sekumpulan operasi

    yang mendukung operasi manipulasi data di dalam database.

    (Connolly dan Begg, 2010, p41). Contoh dari operasi DML adalah

    insertdan update.

    3. Menyediakan kontrol akses ke database, sebagai contoh :a. Security system, dimana mencegah pengguna yang tidak

    mempunyai hak untuk mengakses database.

    b. Integrity system, dimana menjaga konsistensi dari data.c. Concurrency control system, dimana mengijinkan akses yang

    terbagi dalam database.

    d. Recovery control system, dimana mengembalikan kondisidatabasesebelum kegagalan hardware atau software.

  • 7/22/2019 BAB II Presman

    7/32

    12

    e. User-accessible catalog, dimana berisi deskripsi dari data dalamdatabase.

    SQL adalah suatu bahasa yang dirancang untuk sistem operasi

    pengaksesan data pada struktur relational database yang diinginkan

    pengguna (Connolly dan Begg, 2010, p111). Operasi pengaksesan data

    meliputi penyisipan data (insert), pengubahan data (update), pengambilan

    data (select), dan penghapusan data (delete). Perintah-perintah di atas

    dilakukan atas permintaan dari pengguna.

    2.3 Unified Modelling Language (UML)

    2.3.1 Sejarah UML

    Pada tahun 1994, Grady Booch dan James Rumbaugh sepakat

    menggunakan metode pengembangan berorientasi objek dengan tujuan

    membuat proses standar tunggal untuk mengembangkan sistem

    berorientasi objek. Ivar Jacobson bergabung pada tahun 1995, dan

    mereka bertiga membuat suatu bahasa pemodelan objek standar sebagai

    ganti dari pendekatan/metode berorientasi objek standar, yaitu Unified

    Model Language (UML) yang dirilis pada tahun 1997.

    2.3.2 Diagram UMLMenurut Whitten, dan Bentley, (2007) UML menawarkan

    diagram-diagram dengan perspektif yang berbeda untuk memodelkan

    suatu sistem. Berikut adalah macam-macam diagram, serta tujuannya:

  • 7/22/2019 BAB II Presman

    8/32

    13

    1. Diagram Use CaseDiagram use case secara grafis menggambarkan interaksi antara

    sistem, sistem eksternal dan pengguna. Mendeskripsikan siapa

    yang akan menggunakan sistem dan dalam cara apa pengguna

    mengharapkan interaksi dengan sistem tesebut.

    Gambar 2.3 Contoh Use Case Diagram (Whitten, 2007, p246)

    NamaSimbol

    Gambar Penjelasan

    AktorApapun yang mempresentasikan seseorangatau sesuatu (seperti perangkat, sistem lain)

    yang berinteraksi dengan sistem

    Use Case

    Gambaran fungsionalitas dari suatu sistem,sehingga customer atau pengguna sistempaham dan mengerti mengenai kegunaan

    sistem yang akan dibangun

    Tabel 2.1 Penjelasan Diagram Use Case

  • 7/22/2019 BAB II Presman

    9/32

    14

    2. DiagramActivity

    Menggambarkan aliran aktivitas. Diagram ini digunakan untuk

    memodelkan aksi yang akan dilakukan saat sebuah operasi

    dieksekusi dan memodelkan hasil dari aksi tersebut.

    Gambar 2.4 ContohActivityDiagram (Whitten, 2007, p392)

  • 7/22/2019 BAB II Presman

    10/32

    15

    Nama

    SimbolGambar Penjelasan

    Initial Nodelingkaran penuh yang

    menggambarkan awal dari proses

    Action

    segiempat bersudut tumpul yang

    menggambarkan sebuah kegiatanatau tugas yang perlu dilakukan

    Flow

    tanda panah pada diagram yang

    menandakan sasaran yang

    mengawali kegiatan

    Decisionbentuk wajik yang menggambarkan

    sebuah kegiatan keputusan

    Fork

    bar hitam penuh dengan 1 panahdatang dan keluar dengan panah

    lebih dari 1 yang menggambarkan

    kegiatan pararel

    Join

    bar hitam penuh dengan lebih dari 1panah datang dan keluar dengan 1

    panah yang menggambarkan

    penggabungan

    Activity

    Final

    lingkaran penuh di dalam sebuah

    lingkaran berlubang

    menggambarkan akhir dari sebuahproses

    Tabel 2.2 Penjelasan DiagramActivity (Whitten, 2007, p391)

  • 7/22/2019 BAB II Presman

    11/32

    16

    3. Diagram kelasMenggambarkan struktur objek sistem. Diagram ini menunjukan

    kelas objek yang menyusun sistem dan hubungan antar kelas

    objek tersebut.

    Gambar 2.5 Contoh Class Diagram (Whitten, 2007, p406)

  • 7/22/2019 BAB II Presman

    12/32

    17

    Multiplicity

    Notasi

    Multiplicity

    UML

    Asosiasi denganMultiplicity Makna Asosiasi

    Tepat 1

    1 atau

    biarkankosong

    Seorang karyawan

    bekerja pada satu

    dan hanya satudepartemen

    Nol atau 1 0..1

    Seorang karyawanmemiliki satu

    suami/ istri atautidak punya

    suami/istri

    Nol atau

    lebih0..* atau *

    Customer dapattidak melakukan

    pembayaran

    sampai beberapakali

    1 atau lebih 1..*

    Universitas

    menawarkanpaling sedikit 1matakuliah sampai

    beberapa

    matakuliah

    Kisaran

    tertentu7..9

    Tim memiliki

    pertandinganterjadwal

    sebanyak 7, 8, atau

    9 pertandingan

    Tabel 2.3 Multiplicity untuk Class Diagram (Whitten, 2007, p377)

  • 7/22/2019 BAB II Presman

    13/32

    18

    2.4 MultimediaMenurut Tay Vaughan (2011, p1) multimedia adalah kombinasi dari teks,

    foto, seni grafis, suara, animasi, dan video yang dimanipulasi secara digital.

    Multimedia yang memperbolehkan penggunanya untuk menentukan apa dan kapan

    elemen multimedia disampaikan disebut sebagai multimedia interaktif. Sedangkan

    multimedia interaktif yang menyediakan struktur elemen yang terhubung satu

    sama lainnya dan pengguna dapat menavigasikannya disebut sebagai hypermedia.

    Saat ini banyak pengguna yang menggunakan multimedia dengan beberapa

    alasan, diantaranya mudah digunakan, menarik banyak perhatian, penyimpanan

    yang lebih baik, antarmuka yang intuitif (mudah dimengerti), pengertian yang

    lebih baik terhadap konten, dan lebih menyenangkan sehingga menjadi lebih

    efektif.

    2.4.1 Elemen Multimedia

    Ada 5 elemen multimedia yang dijelaskan Vaughan (2011, p1) dalam

    bukunya, Multimedia : Making It Work, yaitu:

    1. TeksSebuah kata dapat memiliki banyak arti, jadi dalam pembuatan teks

    sangat penting untuk memperhatikan ketepatan penggunaan kata.

    Dalam multimedia, teks memainkan peranan penting dalam

    penyampaian informasi kepada pengguna.

    2. SuaraSuara adalah salah satu elemen multimedia yang paling bersensasi.

    Penggunaan suara dalam suatu proyek multimedia akan membuat

    multimedia tersebut terlihat biasa saja atau profesional.

  • 7/22/2019 BAB II Presman

    14/32

    19

    3. GambarElemen gambar biasanya dapat diubah ukurannya, warna atau

    motif, transparansi, posisi, dan penampakannya. Cara mengatur

    gambar dapat menentukan hubungan visual antara pengembang

    dengan pengguna multimedia.

    4. AnimasiAnimasi membuat suatu objek statik menjadi hidup. Animasi

    merupakan perubahan visual bedasarkan waktu dan dapat

    memberikan kekuatan dalam suatu proyek multimedia.

    5. Video

    Video adalah elemen multimedia yang dapat menarik perhatian

    dalam suatu pertunjukkan. Dari semua elemen multimedia, video

    memerlukan performance paling tinggi dari komputer, baik itu

    memori ataupun penyimpanannya.

    2.4.2 Interaksi Manusia Komputer (IMK)

    Interaksi manusia-komputer adalah suatu area penelitian dan

    praktek yang muncul pada awal tahun 1980, yang pada awalnya

    memfokuskan diri dalam ilmu komputer. IMK telah berkembang pesat

    selama tiga dekade, dan telah menarik berbagai pakar dari ilmu lain untuk

    menggabungkan konsep dan pendekatan yang beragam.

    Interaksi Manusia Komputer adalah suatu pembelajaran tentang

    hubungan atau interaksi antara manusia dan komputer. IMK adalah suatu

    ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi

  • 7/22/2019 BAB II Presman

    15/32

    20

    sistem komputer interaktif untuk digunakan manusia, serta pembelajaran

    fenomena disekitarnya. IMK juga sering dianggap sebagai persimpangan

    dari ilmu komputer, ilmu perilaku, ilmu desain dan bidang lainnya.

    2.4.3 Delapan Aturan EmasDalam buku Designing the User Interface (Shneiderman, 2010,

    p88-89), terdapat 8 (delapan) aturan yang dapat digunakan sebagai

    petunjuk dasar yang baik untuk merancang suatu user interface. Delapan

    aturan ini disebut denganEight Golden Rules of Interface Design, yaitu:

    Berusaha keras untuk konsistenAturan ini adalah salah satu yang paling sering dilanggar, tetapi

    untuk mengikutinya akan sedikit sulit karena ada banyak bentuk

    konsistensi. Konsistensi urutan tindakan diperlukan dalam situasi

    serupa; terminologi identik harus digunakan dalam prompt, menu,

    dan layar bantuan; warna yang konsisten, tampilan, kapitalisasi,

    jenis huruf dan sebagainya harus diterapkan di seluruh bagian.

    Memenuhi kebutuhan menyeluruh / universalKenali kebutuhan pengguna yang beragam dan lakukan desain yang

    fleksibel, dan memfasilitasi perubahan konten. Seorang pemula dan

    seorang ahli memiliki perbedaan kemampuan dan kebutuhan.

    Perbedaan usia, ketidak mampuan khusus, dan keragaman setiap

    teknologi juga perlu diperhatikan. Menambahkan fitur untuk

    pemula seperti penjelasan, serta fitur untuk ahli seperti shortcuts

  • 7/22/2019 BAB II Presman

    16/32

    21

    juga dapat memperkaya desain antar muka dan meningkatkan

    kualitas sistem yang dirasakan.

    Memberikan umpan balik yang informatifUntuk setiap tindakan pengguna, harus ada sistem umpan balik.

    Untuk tindakan yang sering dan sederhana, dapat diberikan respon

    yang sederhana, tetapi untuk tindakan yang jarang dan aksi yang

    besar, maka respon yang diberikan juga harus lebih substansial.

    Merancang dialog untuk menghasilkan penutupanUrutan tindakan hendaknya diorganisasi kedalam kelompok awal,

    tengah, dan akhir. Umpan balik yang informatif pada penyelesaian

    dari sekelompok tindakan memberikan kepuasan, rasa lega, dan

    sinyal untuk mempersiapkan kelompok tindakan berikutnya.

    Sebagai contoh, situs webe-commercememindahkan pengguna dari

    pemilihan produk ke kasir, dan berakhir dengan halaman konfirmasi

    yang jelas untuk melengkapi transaksi.

    Memberikan penanganan kesalahan yang sederhana.Sebisa mungkin desain sistem sehingga pengguna tidak dapat

    membuat kesalahan serius. Jika kesalahan dibuat, sistem harus

    mampu mendeteksi kesalahan dan menawarkan mekanisme

    sederhana, konstruktif, dan spesifik untuk pemulihan sehingga

    pengguna tidak merasa bersalah dan mau untuk mengeksplorasi

    lebih jauh lagi.

  • 7/22/2019 BAB II Presman

    17/32

    22

    Mengijinkan pembalikan aksi (undo) dengan mudah.Sebisa mungkin, tindakan harus dapat dibalikkan menjadi keadaan

    sebelumnya. Fitur ini akan mengurangi kecemasan pengguna karena

    mereka tahu bahwa kesalahan yang dibuat dapat diperbaiki dengan

    demikian mendorong eksplorasi yang lebih jauh.

    Dukungan kontrol internalPengguna yang berpengalaman, sangat menginginkan perasaan

    bahwa mereka memegang kendali atas sistem dan bahwa sistem

    merespon tindakan mereka.

    Mengurangi beban ingatan jangka pendek.Manusia memiliki keterbatasan pengolahan informasi dalam suatu

    waktu (manusia hanya dapat mengingat tujuh, plus atau minus dua

    potongan informasi). Batasan ini berarti tampilan harus dibuat

    sesederhana mungkin sehingga tidak membuat seorang user

    bingung karena terlalu banyak info.

    Teori Khusus

    2.5 Mobile Platform

    Menurut Tarkoma (2009), sebuah sistem operasi merupakan unit organisasi

    dalam sistem komputer. Dalam hal ini sistem operasi berperan sebagai tampilan

    interface antara aplikasi dan hardware. Fungsi utama dari sistem operasi adalah

    administrasi penyediaan sumber daya operasi.

  • 7/22/2019 BAB II Presman

    18/32

    23

    Sebuah sistem mobile adalah sistem komputer yang tidak terhubung ke suatu

    tempat tertentu. Hal ini memungkinkan untuk memindahkan atau membawa

    perangkat tersebut seperti telepon genggam. Meskipun ada banyak kesamaan

    antara stasionerdan sistem operasi mobile, ada juga perbedaan yang jelas dalam

    hal mobilitas. Contoh untuk aplikasi di mana sistem operasi normal tidak bisa

    digunakan adalah ABS (Anti-lock bracking system) kontrol pada mobil. Suatu

    sistem operasi seperti Windows XP tidak cukup stabil untuk menjamin dapat

    menjalankan sistem ABS untuk waktu yang lama. Contoh ini menunjukkan atribut

    yang penting bagi sistem perangkat mobile manapun yaitu sistem harus stabil dan

    terjamin.

    Platform mobilememiliki sifat antara lain :

    1. Koleksi layanan pusat dan librarydengan fungsi baik reaktif dan proaktif.2. Terdistribusi antar elemen dari fasilitas yang ada :

    Multi-tier client-server Peer-to-peer Hybirds

    3. Platform yang berjalan pada terminal mobiledan karakteristik dari perangkatmenentukan layanan seperti apa yang diberikan bagi pengguna akhir.

    4. Skalabilitas server yang dapat dicapai melalui solusi tradisional yaituclusters, caching, geographical distribution, load balancing, data centers.

    Contohplatform mobile yaitu WAE, Java ME, Symbian, MAEMO, Android,

    Pervasive Computing Middleware, Spice dan Fuego.

  • 7/22/2019 BAB II Presman

    19/32

    24

    2.6 Android

    Android adalah sebuah kumpulan perangkat lunak untuk perangkat mobile

    yang mencakup sistem operasi, middleware dan aplikasi utama mobile. Android

    memiliki empat karakteristik sebagai berikut:

    1. TerbukaAndroid 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. Android merupakan open source, dapat secara

    bebas disebarluaskan untuk memasukkan teknologi baru yang lebih maju pada

    saat teknologi tersebut muncul. Platform ini akan terus berkembang untuk

    membangun aplikasi mobileyang inovatif.

    2. Semua aplikasi dibuat samaAndroid 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 aplikasiAndroid memecah hambatan untuk membangun aplikasi yang baru dan

    inovatif. Misalnya, pengembang dapat menggabungkan informasi yang

    diperoleh dari web dengan data pada ponsel seseorang seperti kontak pengguna,

    kalender, atau lokasi geografis.

  • 7/22/2019 BAB II Presman

    20/32

    25

    4. Pengembang aplikasi yang cepat dan mudahAndroid menyediakan akses yang sangat luas kepada semua pengguna untuk

    menggunakan library dan tools yang diperlukan untuk membangun aplikasi

    yang semakin baik. Android memiliki sekumpulan toolsyang 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 memulai pengembangan aplikasi pada platform Android menggunakan

    bahasa pemrograman Java.

    2.6.1 Sejarah Sistem Operasi Android

    Telepon seluler menggunakan berbagai macam sistem operasi

    seperti Symbian OS, Microsofts Windows Mobile, Mobile Linux,

    iPhone OS (berdasarkan Mac OS X), Moblin (dari intel), dan

    berbagai macam sistem operasi lainnya. API yang tersedia untuk

    mengembangkan aplikasi mobile terbatas, oleh karena itulah Google

    mulai mengembangkan dirinya. Platform Android menjanjikan

  • 7/22/2019 BAB II Presman

    21/32

    26

    keterbukaan, kemudahan untuk menjangkau, source code yang terbuka,

    dan pengembanganframeworkyang high end.

    Google membeli perusahaan Android Inc., yang merupakan

    sebuah perusahaan kecil berbasis pengembangan perangkat lunak untuk

    ponsel pada tahun 2005 untuk memulai pengembangan pada platform

    mobile.Tokoh utama dari Android Inc. meliputi Andy Rubin, Rich Miner,

    Nick Sears, dan Chris White.

    Pada tanggal 5 November 2007, kelompok pemimpin industri

    bersama-sama membentuk Open Handset Alliance (OHA) yang

    diciptakan untuk mengembangkan standar terbuka bagi perangkat mobile.

    OHA terdiri dari 34 anggota besar dan beberapa anggota yang terkemuka,

    diantaranya sebagai berikut: Sprint Nextel, T-Mobile, Motorola,

    Samsung, Sony Ericsson, Toshiba, Vodafone, Google, Inteldan

    Texas Instruments.

    Android SDK diliris pertama kali pada 12 November 2007 dan

    para pengembang memiliki kesempatan untuk memberikan umpan balik

    dari pengembangan SDK tersebut. Pada bulan September 2008, T-Mobile

    memperkenalkan ketersedian T-Mobile G1 yang merupakan smartphone

    pertama berbasiskanplatform Android. Beberapa hari kemudian, Google

    merilis Android SDK 1.0. Google membuat source code dari platform

    Android menjadi tersedia di bawah lisensiApaches open source.

    Google merilis perangkat mobile (disebut Android Dev Phone1)

    yang dapat menjalankan aplikasi Android tanpa terikat oleh berbagai

  • 7/22/2019 BAB II Presman

    22/32

    27

    jaringan provider telepon seluler pada akhir tahun 2008. Tujuan dari

    perangkat ini adalah memungkinkan pengembang untuk melakukan

    percobaan dengan perangkat sebenarnya yang dapat menjalankan

    Android OS tanpa berbagai kontrak. Google juga merilis versi 1.1 dari

    sistem operasi Android pada waktu yang tidak lama. Versi 1.1 dari

    Android tidak mendukung adanya soft keyboard dan membutuhkan

    perangkat yang memiliki keyboard secara fisik. Android menyelesaikan

    masalah ini dengan merilis versi 1.5 pada bulan April 2009 dengan

    sejumlah tambahan fitur seperti kemampuan perekaman media, widgets,

    dan live folders.

    Versi 1.6 dari Android OS dirilis pada bulan September 2009 dan

    hanya dalam waktu satu bulan, versi Android 2.0 dirilis dan membanjiri

    seluruh perangkat Android. Versi ini memiliki kemampuan advanced

    search, text to speech, gestures, dan multi touch. Android 2.0

    memperkenalkan kemampuan untuk menggunakan HTML karena

    didukung oleh HTML 5. Semakin banyak aplikasi berbasiskan Android

    setiap harinya yang terdapat pada Application Store secara online atau

    dikenal sebagai AndroidMarket.

    (Sumber: Katysovas, Tomas.(2008).A First Look of Google Android, p4)

    2.6.2 Fitur Sistem Operasi Android

    Menurut Tomas Katysovas ( 2008, p4 ) sistem operasi Android memiliki

    fitur-fitur sebagai berikut:

  • 7/22/2019 BAB II Presman

    23/32

    28

    a. Kerangka kerja aplikasi (application framework)Digunakan untuk menuliskan aplikasi di Android sehingga

    memungkinkan penggunaan kembali dan penggantian komponen.

    Kerangka kerja ini didukung oleh berbagai open source libraries

    seperti openssl, sqlite, dan libc serta didukung oleh librariesutama

    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.

    b. DalvikVirtual Machine(DVM)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 dapat menggunakan kembali salinan informasi

    dari beberapa class file dan secara efektif mengurangi kebutuhan

    penyimpanan oleh setengah dariJava Archieve (.jar)file tradisional.

    Konversi antara class 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

  • 7/22/2019 BAB II Presman

    24/32

    29

    daripada menggunakan stack. Hasil akhir dari executable-codepada

    Android merupakan hasil dari DVM yang didasarkan bukan pada

    Java byte-code melainkan pada file (.dex). Hal ini berarti bahwa

    Java byte-code tidak dieksekusi secara langsung melainkan dimulai

    dari Java class file terlebih dahulu dan kemudian

    mengkonversikannya ke dalamfile(.dex) yang berhubungan.

    c. Browseryang terintegrasiDidasarkan pada open source WebKit engine yang memiliki dua

    layout dan pengelompokan frame. Layout menampilkan halaman

    tanpa menunggu untuk melakukan pembalikan elemen eksternal

    seperti Cascade Style Sheet (CSS)atau eksternal JavaScript. Fitur-

    fitur inilah yang meningkatkan kecepatan dan penggunaan browsing

    internetmelalui ponsel.

    d. Grafik yang teroptimasiDidukung oleh library grafis 2D dan grafis 3D yang berdasarkan

    spesifikasi OpenGl ES 1.0 (akselerasi perangkat keras bersifat

    opsional)

    e. SQLiteSQLite merupakan relational database management system yang

    kecil (sekitar 500 kb) yang diintegrasikan pada sistem operasi

    Android. SQLite didasarkan pada function calls dan single file,

    dimana semua definisi, tabel, dan data disimpan.

    f. Dukungan media untuk suara, video dan format gambar sepertiMoving Picture Experts Group 4 (MPEG4), MPEG-1 or MPEG-2

  • 7/22/2019 BAB II Presman

    25/32

    30

    Audio Layer 3 (MP3), Advanced Audio Coding (AAC), Adaptive

    Multi-Rate(AMR) audio codec, Joint Photographic experts Group

    (JPG), Portable Network Graphics (PNG), Graphics Interchange

    Format(GIF).

    g. GSM Telephony(bergantung dari perangkat keras yang digunakan)h. Bluetooth, Enhanced Data Rates for GSM Evolution (EDGE), 3rd

    Generation (3G), dan WIFITM

    (Bergantung dari perangkat keras

    yang digunakan)

    i. Kamera, Global Positioning System (GPS), kompas danaccelerometer(Bergantung dari perangkat keras yang digunakan)

    j. Lingkungan pengembangan yang lengkap, seperti emulator,peralatan untuk debugging, memori dan performance profiling,

    sertaplug-inuntuk Eclipse IDE.

    2.6.3 Arsitektur Android

    Menurut Speckmann ( 2008, p11 ), software stack dibagi dalam empat

    layer yang berbeda, yang meliputi lima kelompok yang berbeda:

    1. The Application LayerPlatform software Android akan datang dengan satu set aplikasi

    dasar seperti browser, e-mail,program SMS, peta, kalender, kontak

    dan banyak lagi. Semua aplikasi tersebut ditulis dengan bahasa Java.

    Selain itu aplikasi dapat dijalankan secara bersamaan, sehingga

    dimungkinkan untuk mendengar musik dan membaca e-mail pada

  • 7/22/2019 BAB II Presman

    26/32

    31

    saat yang sama.Layerini paling banyak digunakan oleh userponsel

    pada umumnya.

    2. The Application FrameworkSebuah aplikasi framework adalah suatu software framework yang

    digunakan untuk menerapkan struktur standar aplikasi untuk sistem

    operasi tertentu. Dengan bantuan manajer, penyedia konten dan

    layanan lainnya programmer dapat menggunakan kembali fungsi-

    fungsi yang digunakan oleh aplikasi lain yang sudah ada.

    3. The LibrariesLibrary yang tersedia semua ditulis dengan bahasa pemrograman

    C/C++. Mereka akan dipanggil melalui tampilan interfaceJava. Ini

    termasuk Surface Manager, 2D dan 3D grafis,Media Codecseperti

    MPEG-4 dan MP3, SQLDatabase, SQLite dan engine web browser

    WebKit.

    4. The RuntimeAndroid runtime terdiri dari dua komponen. Pertama menetapkan

    inti libraryyang menyediakan sebagian besar fungsi yang tersedia

    di inti librarytersebut dari pemrograman bahasa Java. Kedua mesin

    virtual Dalvik yang beroperasi seperti penerjemah antara sisi

    aplikasi dan sistem operasi. Setiap aplikasi yang berjalan pada

    Android ditulis dalam bahasa Java. Sebagai sistem operasi yang

    tidak dapat memahami bahasa pemrograman ini secara langsung,

    progam Java akan diterima dan diterjemahkan oleh mesin virtual

    Dalvik. Code yang diterjemahkan kemudian dapat dieksekusi oleh

  • 7/22/2019 BAB II Presman

    27/32

    32

    sistem operasi. Selain itu aplikasi tersebut dienkapsulasi dalam

    Dalvik. Untuk setiap program memiliki mesin virtualnya sendiri

    bahkan ketika beberapa program berjalan paralel.

    Keuntungannya adalah bahwa program-program yang berbeda tidak

    mempengaruhi satu sama lain, sehingga kesalahan program

    misalnya dapat menyebabkan crash suatu program, tidak

    menyebabkan kerusakan keseluruhan sistem.

    5. The KernelThe Linux Kernelakan digunakan oleh Android sebagai divers dari

    perangkatnya dalam hal pengaturan memori, pengaturan proses,

    pengaturan input/output, pengaturan file, dan jaringan. Gambar 2.6

    menunjukan komponen utama dari sistem operasi dalam Android.

    Gambar 2.6 Arsitektur Android

    Sumber: http://developer.android.com/guide/basics/what-is-android.html

  • 7/22/2019 BAB II Presman

    28/32

    33

    2.6.4 Fungsi Dalam Android

    Menurut Murphy ( 2008, p3 ), fungsi-fungsi yang terdapat dalam Android

    adalah:

    1. ActivitiesBlok pemrograman dari tampilan interface user adalah activity.

    Sebuah activitydapat digambarkan seperti sebuah tampilan chatbox

    dalam desktop. Meskipun begitu sebuah activity memungkinkan

    untuk tidak memilki tampilan interface user, kemungkinan besar

    codetersebut akan dikemas dalam penyedia konten dan bukan pada

    user.

    2. Content ProvidersPenyedia konten memberikan tingkat abstraksi untuk setiap data

    yang disimpan dalam perangkat yang dapat diakses oleh beberapa

    aplikasi. Model pegembangan Android memungkinkan suatu data

    dapat tersedia untuk beberapa aplikasi. Dengan begitu ketika

    melakukan maintenance perbaikan data dapat dilakukan secara

    terpusat.

    3. IntensIntens adalah pesan sistem, berjalan di bagian dalam perangkat,

    memberitahu aplikasi dari berbagai event, dari perubahan kondisi

    hardware (misalnya, kartu SD terpasang) sampai keluarnya

    masuknya data (misalnya, pesan SMS tiba).

  • 7/22/2019 BAB II Presman

    29/32

    34

    4. ServicesActivities, content providers, dan internet receiver merupakan

    program singkat yang dapat diaktifkan dan dimatikan setiap saat.

    Service didesain untuk tetap menjalankan program-program tersebut

    jika diperlukan. Service dapat digunakan untuk memeriksa update

    ke RSS feed, atau untuk memutar musik bahkan ketika

    pengontrolan activity tidak beroperasi lagi.

    5. StoragePaket file data dapat dibuat dengan aplikasi yang telah dibangun

    untuk hal-hal yang tidak mengalami perubahan, seperti icon atau

    bantuanfile tertentu. Tempat penyimpanan yang dibuat dari aplikasi

    berfungsi sebagai database atau untuk menerima input dari user

    yang diperlukan oleh aplikasi. Jika user memasukkan sejumlahfile,

    maka file tersebut dapat dibaca ataupun dimasukkan data lain

    kedalamnya.

    6. NetworkUmumnya perangkat Android terkoneksi dengan internet. Hal

    tersebut mendukung WebKitberbasis web browser sehingga widget

    dapat ditanamkan dalam aplikasi.

    7. GPSPerangkat Android akan secara rutin melakukan akses penyedia

    lokasi, seperti GPS, yang dapat memberitahu aplikasi dimana

    perangkat user berada. User juga dapat menampilkan peta atau

  • 7/22/2019 BAB II Presman

    30/32

    35

    sebaliknya mengambil keuntungan dari lokasi, seperti melacak

    gerakan perangkat jika perangkat telah dicuri.

    8. MultimediaPerangkat Android memiliki kemampuan untuk memutar dan

    merekam audio dan video. Meskipun mungkin terdapat spesifikasi

    yang berbeda antar perangkat, namun perangkat tersebut dapat

    diprogram untuk menyesuaikannya dengan perangkat lain dan

    memanfaatkan hal tersebut dalam bidangnya.

    9. Phone ServicesPerangkat Android tentunya memiliki fitur ponsel, memungkinkan

    software untuk memulai panggilan, mengirim dan menerima SMS,

    dan hal-hal lain yang terdapat pada teknologi ponsel.

    2.6.5 Keuntungan dari Dalvik Virtual Machine

    Dalvik virtual machine adalah mesin penerjemah bahasa Java

    sederhana, sepenuhnya dioptimalkan untuk platform Android yang

    dikembangkan untuk dapat berjalan di memori low-endperangkat mobile.

    Salah satu aspek yang menonjol dalam Dalvik yaitu kemampuan untuk

    menjalankan aplikasi sepanjang kompilasi dengan meningkatkan

    performa runtimeaplikasi.

    Dalvik bukan merupakan bagian dari mesin Java karena tidak bisa

    membaca code Java, tetapi terdiri dari code-byte sendiri yang disebut

    Dex sehingga file executabledidapatkan menggunakan Dalvik dengan

    jenis nama file .dex.

  • 7/22/2019 BAB II Presman

    31/32

    36

    2.7 Google Maps API

    2.7.1 Pengertian API

    Menurut Tulach (2008, p1-14), API atau Application

    Programming Interface bukan hanya satu set class dan method atau

    fungsi dan signature yang sederhana. Akan tetapi API, yang bertujuan

    utama untuk mengatasi clueless dalam membangun software yang

    berukuran besar, berawal dari sesuatu yang sederhana sampai ke yang

    kompleks dan merupakan perilaku komponen yang sulit dipahami. Secara

    sederhana dapat dipahami dengan membayangkan kekacauan yang akan

    timbul bila mengubah database atau skema XML. Perubahan ini dapat

    dipermudah dengan bantuan API.

    Dari beberapa sumber yang didapat, dapat disimpulkan bahwa

    API adalah sekumpulan perintah, fungsi, class dan protokol yang

    memungkinkan suatu software berhubungan dengan software lainnya.

    Tujuan dari API adalah untuk menghilangkan clueless dari sistem

    dengan cara membuat blok besar yang terdiri dari software di seluruh

    dunia dan menggunakan kembali perintah, fungsi, class, atau protokol

    yang mereka atau API miliki. Dengan cara ini, programmer tidak perlu

    lagi membuang waktu untuk membuat dan menulis infrastruktur sehingga

    akan menghemat waktu kerja dan lebih efisien.

    2.7.2 Pengertian Google Maps API

    Seperti yang tercatat oleh Svennerberg ( Beginning Google Maps

    API 3, p1 ), Google Maps APIyang paling populer di internet. Pencatatan

  • 7/22/2019 BAB II Presman

    32/32

    37

    yang dilakukan pada bulan Mei 2010 ini menyatakan bahwa 43% mashup

    (aplikasi dan situs web yang menggabungkan dua atau lebih sumber data)

    menggunakan Google Maps API . Beberapa tujuan dari penggunaan

    Google Maps API adalah untuk melihat lokasi, mencari alamat,

    mendapatkan petunjuk mengemudi dan lain sebagainya. Hampir semua

    hal yang berhubungan dengan peta dapat memanfaatkan Google Maps.

    Google Maps (tanpa API) diperkenalkan pada Februari 2005 dan

    merupakan revolusi bagaimana peta di dalam web, yaitu dengan

    membiarkan user untuk menarik peta sehingga dapat menavigasinya.

    Solusi peta ini pada saat itu masih baru dan membutuhkan serverkhusus.

    Beberapa saat setelahnya, ada yang berhasil men-hack Google Maps

    untuk digunakan di dalam webnya sendiri. Hal ini membuat Google Maps

    mengambil kesimpulan bahwa mereka membutuhkan API dan pada Juni

    2005, Google Maps API dirilis secara publik.