Implementasi Aplikasi Smart Restoran Berbasis Android di Restoran Cafesera Gorontalo

  

IMPLEMENTASI APLIKASI SMART RESTORAN BERBASIS

ANDROID DI RESTORAN CAFESERA GORONTALO

SKRIPSI

  Diajukan sebagai salah satu syarat kelulusan pada Program Studi Sistem Informasi Jenjang S1 (Strata 1) Fakultas Teknik dan Ilmu Komputer

  

Ratno Y Gani

1.05.11.913

PROGRAM STUDI SISTEM INFORMASI

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

  

2013

  DAFTAR ISI

ABSTRAK .......................................................................................................... ii

ABSTRACT........................................................................................................ iii

KATA PENGANTAR ....................................................................................... iv

DAFTAR ISI ...................................................................................................... 1

DAFTAR TABEL .............................................................................................. 5

DAFTAR GAMBAR .......................................................................................... 6

  BAB I. PENDAHULUAN

  1.1 Latar Belakang Penelitian ............................................................................. 4

  1.2 Identifikasi Dan Rumusan Masalah ............................................................... 6

  1.2.1 Identifikasi Masalah .................................................................................... 6

  1.2.2 Rumusan Masalah ....................................................................................... 6

  1.3 Maksdu Dan tujuan Penelitian ....................................................................... 7

  1.3.1 Maksud Penelitian ....................................................................................... 7

  1.3.2 Tujuan Penelitian ........................................................................................ 7

  1.4 Kegunaan Penelitian ..................................................................................... 7

  1.4.1 Kegunaan Akademis .................................................................................... 7

  1.4.2 Kegunaan Praktis ........................................................................................ 8

  1.5 Batasan Masalah ........................................................................................... 8

  1.6 Lokasi Dan Waktu Penelitian ........................................................................ 8

  BAB II. LANDASAN TEORI

  2.1. Restoran ........................................................................................................ 9

  2.2. Aplikasi ........................................................................................................ 9

  2.3.1. Sejarah Android ........................................................................................ 11

  2.7.2. Primary Key .............................................................................................. 29

  2.9.3. Perkembangan Eclipse ............................................................................... 36

  2.9.2. Arsitektur Eclipse ...................................................................................... 35

  2.9.1. Sejarah Eclipse .......................................................................................... 34

  2.9. Eclipse ........................................................................................................ 33

  Keuntungan dan Kerugian Arsitektur Client Server .................................... 33

  2.8.1. Karakteristik Client Server ........................................................................ 32 2.8.2.

  2.8. Client Server ............................................................................................... 31

  2.7.4. MySQL ...................................................................................................... 30

  2.7.3. Foreign Key .............................................................................................. 30

  2.7.1. Structured Query Language (SQL) ............................................................ 28

  2.3.2. Anatomi Aplikasi Android ......................................................................... 12

  2.7. Database ..................................................................................................... 28

  2.6.4. Tahap Kompilasi Java ............................................................................... 27

  2.6.3. Kekurangan ............................................................................................... 26

  2.6.2. Kelebihan .................................................................................................. 25

  2.6.1. Sejarah Singkat ......................................................................................... 22

  2.6. Java............................................................................................................. 22

  2.5.1. Unified Modelling Language (UML) .......................................................... 19

  2.5. Konsep Perancangan Berorientasi Objek ..................................................... 18

  2.4. Rational Unified Process (RUP) .................................................................. 17

  2.3.3. Tipe Aplikasi Android ............................................................................... 16

  2.10. Software Development Kit (SDK) ............................................................. 36

  2.12. Android Development Tools (ADT) .......................................................... 37

  3.2.3. Metode Pendekatan Dan Pengembangan Sistem ........................................ 79

  4.2.2. Gambaran Umum Sistem Yang Diusulkan ................................................. 67

  4.2.1. Tujuan Perancangan Sistem ....................................................................... 66

  4.2. Perancangan Sistem .................................................................................... 65

  4.1.3. Evaluasi Sistem Yang Sedang Berjalan ...................................................... 65

  4.1.2. Analisis Prosedur Yang Sedang Berjalan ................................................... 57

  4.1.1. Analisis Dokumen ..................................................................................... 56

  4.1. Analisis Sistem Yang Sedang Berjalan ........................................................ 55

  BAB IV. ANALISIS DAN PERANCANGAN SISTEM

  3.3. Pengujian Software ..................................................................................... 53

  3.2.2. Jenis dan Metode Pengumpulan Data ......................................................... 47

  2.13. CI (CodeIgniter) ........................................................................................ 38

  3.2.1. Desain Penelitian ....................................................................................... 43

  3.2. Metode Penelitian ....................................................................................... 43

  3.1.4. Deskripsi Tugas ......................................................................................... 42

  3.1.3. Struktru Organisasi .................................................................................... 42

  3.1.2. Visi dan Misi Restoran CafeSera Gorontalo ............................................... 41

  3.1.1. Sejarah Singkat Restoran Cafesera Kota Gorontalo .................................... 40

  3.1. Objek Penelitian .......................................................................................... 40

  BAB III. OBJEK DAN METODE PENELITIAN

  2.15. JSON (JavaScript Object Notation) ........................................................... 39

  2.14. PHP (Hypertext Preprocessor) ................................................................... 39

  4.2.3. Perancangan Prosedur Yang Diusulkan ...................................................... 68

  4.2.5. Perancangan Arsitektur Jaringan ................................................................ 95

  5.1.7. Penggunaan Program ............................................................................... 110

  6.2. Saran ......................................................................................................... 119

  6.1. Kesimpulan ............................................................................................... 118

  BAB VI. KESIMPULAN

  5.2.1. Kasus Dan Hasil Pengujian ...................................................................... 112

  5.2.1. Rencana Pengujian .................................................................................. 111

  5.2. Pengujian .................................................................................................. 110

  5.1.6. Implementasi Instalasi Program .............................................................. 107

  BAB V. IMPLEMENTASI DAN PENGUJIAN SISTEM

  5.1.5. Implementasi Antar Muka ....................................................................... 100

  5.1.4. Implementasi Basis Data ........................................................................... 98

  5.1.3. Implementasi Perangkat Keras ................................................................... 97

  5.1.2. Implementasi Perangkat Lunak .................................................................. 97

  5.1.1. Batasan Implementasi ................................................................................ 96

  5.1. Implementasi .............................................................................................. 96

  

DAFTAR PUSTAKA ..................................................................................... 120

LAMPIRAN ................................................................................................... 121

  

DAFTAR TABEL

  Tabel 4. 1 Skenario Use case Order Pesanan ...................................................... 59 Tabel 4. 2 Skenario Use Case Pembayaran......................................................... 60 Tabel 4. 3 Skenario Use Case Pelaporan ............................................................ 61 Tabel 4. 4 Skenario Use Case Order Pesanan. .................................................... 69 Tabel 4. 5 Skenariu use case Pembayaran .......................................................... 70 Tabel 4. 6 Skenario use case Login akun pegawai .............................................. 71 Tabel 4. 7 Skenario use case Mengelola data Makan dan minum ....................... 71 Tabel 4. 9 Skenario use case Laporan ................................................................ 72 Tabel 5. 1 Rencana Pengujian Sistem ............................................................... 111 Tabel 5. 2 Rencana Pengujian Client ................................................................ 112 Tabel 5. 3 Pengujian Login Admin ................................................................... 112 Tabel 5. 4 Pengujian Login Kasir ..................................................................... 113 Tabel 5. 6 Pengujian Input Data User ............................................................... 114 Tabel 5. 7 Pengujian Input Data Menu ............................................................. 115 Tabel 5. 8 Pengujian Input Data Meja .............................................................. 116 Tabel 5. 9 Pengujian Hitung Data Pembayaran................................................. 117

  

DAFTAR GAMBAR

............................................................... 12

  Gambar 2. 1 Detail Anantomi Android

  ........................................ 18

  Gambar 2. 2 Metode Rational Unified Proceaa (RUP)

  ....................................................... 31

  Gambar 2. 3 Arsitektur umum Client Server Gambar 3. 1 : Struktur Organisasi Restoran Cafesera Gorontalo......................... 42 Gambar 4. 1 Use Case Diagram sistem yang sedang berjalan………………… 52 Gambar 4. 2 Activity Diagram Order Pesanan yang sedang berjalan ................... 62 Gambar 4. 3 Activity Diagram Pembayaran yang Sedang Berjalan ..................... 63 Gambar 4. 4 Activity Diagram Pelaporan yang Sedang Berjalan......................... 64 Gambar 4. 5 Use case Diagram yang Diusulkan. ................................................ 73 Gambar 4. 6 Activity Diagram Order Pesanan Yang Diususlkan......................... 74 Gambar 4. 7 Activity Diagram Pembayaran yang Diusulkan .............................. 75 Gambar 4. 8 Activity Diagram Login Akun Petugas yang Diusulkan .................. 76 Gambar 4. 9 Activity Diagram Mengelola Data menu yang Diusulkan ............... 77 Gambar 4. 11 Activity Diagram Mengelola Laporan yang diusulkan .................. 78 Gambar 4. 12 Sequence Diagram Order Pesanan Oleh Pembeli ......................... 80 Gambar 4. 13 Sequence Diagram Login Akun Pegawai ..................................... 81 Gambar 4. 14 Sequence Diagram order pesanan oleh pelayan ............................ 82 Gambar 4. 15 Sequence Diagram pembayaran ................................................... 83 Gambar 4. 16 Sequence Diagram laporan ........................................................... 83 Gambar 4. 17 Class Diagram Yang Diusulkan ................................................... 84 Gambar 4. 18 Component Diagram Aplikasi Server Yang Diusulkan ................. 85

  Gambar 4. 20 Deployment Diagram Yang Diusulkan ......................................... 87 Gambar 4. 21 Struktur Menu Aplikasi (webserver) ............................................ 88 Gambar 4. 22 Struktur Menu Aplikasi (client) .................................................... 88 Gambar 4. 23 Tampilan Form Login (Webserver) .............................................. 89 Gambar 4. 24 Tampilan Form Tambah Data Menu (Webserver)......................... 90 Gambar 4. 26 Tampilan form pembayaran (Webserver) ..................................... 91 Gambar 4. 27 Tampilan Form Input Meja (Webserver) ...................................... 92 Gambar 4. 28 Tampilan Form pesan menu (Mobile)........................................... 93 Gambar 4. 29 Tampilan Form order menu (Mobile) ........................................... 94 Gambar 4. 30 Arsitektur Jaringan ....................................................................... 95 Gambar 4. 31 Tampilan Antar Muka Login Pegawai ........................................ 100 Gambar 4. 32 Tampilan Halaman utama Admin ............................................... 100 Gambar 4. 34 Tampilan Antar Muka form user ................................................ 101 Gambar 4. 35 Tampilan Antar Muka Input Menu ............................................. 102 Gambar 4. 36 Tampilan Antar Muka Input Data Meja ...................................... 102 Gambar 4. 37 Tampilan Antar Muka Proses Pembayaran ................................. 103 Gambar 4. 38 Tampilan Antar Muka Laporan Penjualan .................................. 103 Gambar 4. 39 Tampilan Antar Muka Display Dapur ........................................ 104 Gambar 4. 40 Tampilan antar muka Login aplikasi (mobile) ............................ 104 Gambar 4. 41 Halaman utama/Home Aplikasi (mobile).................................... 105 Gambar 4. 43 Tampilan antar muka pesan menu .............................................. 105 Gambar 4. 44 Tampilan antar muka Order Menu ............................................. 106 Gambar 4. 45 Tampilan antar muka Daftar Menu ............................................. 106 Gambar 4. 46 Tampilan List Meja .................................................................... 107

KATA PENGANTAR

  Assalamu a’laikum W r. W b

  Puji syukur Alhamdulillah penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat dan karunia-Nya, sehingga pada akhirnya penulis dapat menyelesaikan Skripsi ini dengan baik. Dimana Skripsi ini penulis sajikan dalam bentuk buku yang sederhana, adapun judul Skripsi yang penulis ambil sebagai berikut: “IMPLEMENTASI APLIKASI SMART

  ANDROID

  RESTORAN BERBASIS DI RESTORAN CAFESERA GORONTALO ”. Tujuan penulisan ini dibuat untuk memenuhi syarat kelulusan program Strata Satu (S1) pada Program Studi Sistem Informasi, Fakultas Teknik Dan Ilmu Komputer, Universitas Komputer Indonesia.

  Penulis menyadari bahwa Skripsi ini masih jauh dari kesempurnaan karena keterbatasan kemampuan penulis. Namun demikian diharapkan agar Skripsi ini dapat memenuhi syarat yang diperlukan. Pada kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu penulis dalam Skripsi ini, terutama kepada :

  1. Bapak Dr. Ir. Eddy Soeryanto Soegoto, selaku Rektor Universitas Komputer Indonesia.

  2. Bapak Prof. Dr. Ir Denny Kurniadie, M.Sc., selaku Dekan Fakultas Teknik Dan Ilmu Komputer.

  3. Bapak Syahrul Mauluddin,S.Kom., M.Kom., selaku Ketua Program Studi Sistem Informasi.

  4. Ibu Wahyuni, S.Si., MT. selaku Dosen Pemimbing yang telah meluangkan waktunya untuk memberikan bimbingan, pengarahan serta saran, sehingga Skripsi ini dapat terselesaikan dengan baik.

  5. Ibu Dewi Ambarwati, selaku pemilik Restoran Cafesera Gorontalo yang telah mengijinkan untuk melakukan penelitian.

  6. Kedua Orang tua, yang telah memberikan dorongan, motivasi dan doanya sehingga penulis dapat menyelesaikan Skripsi ini.

  7. Forum Android Indonesia, serta teman-teman SI-K yang telah memberikan bantuan, semangat saran dan masukkan kepada penulis.

  Semoga sukses selalu. Serta semua pihak yang terlalu banyak untuk disebut satu persatu sehingga terwujudnya penulisan ini. Penulis menyadari bahwa Skripsi ini masih jauh sekali dari sempurna, untuk itu penulis mohon kritik dan saran yang bersifat membangun demi kesempurnaan penulisan dimasa yang akan datang.

  Akhir kata semoga penulisan Skripsi dapat berguna bagi penulis khususnya dan bagi para pembaca yang berminat pada umumnya.

  Bandung, Juni 2013 Penulis,

  Ratno Y. Gani

  

DAFTAR PUSTAKA

Pratama Julian . Jenis-Jenis Restoran Berdasarkan Fungsi Pelayanan.

  http://ndjoe17.wordpress.com/2012/06/06/jenis-jenis-restoran/. [Raharjo, B., Haryanto, I., & Haryono, A. 2010. Mudah Belajar Java. Bandung: Informatika. Supriyatno. 2010. Pemrograman Database Menggunakan Java & Mysql. Jakarta: Mediakita. Shalahuddin, M., Rosa, A.S. 2007. Belajar Pemrograman dengan Bahasa Pemrograman C++ dan Java . Bandung: Informatika.

  Safaat , Nazruddin, H. 2012. ANDROID Pemrograman Aplikasi Mobile smartphone dan Tablet PC Berbasis Android . Bandung: Informatika. Nugroho, Adi. 2010. Rekayasa Perangkat Lunak Menggunakan Uml Dan

  Java . Yogyakarta: Andi.

  Riyanto. 2011. Membuat Sendiri Aplikasi E-Commerce Dengan PHP dan MySql

  Menggunakan CodeIgniter dan Jquery .Yogyakarta: Andi.

BAB I PENDAHULUAN

1.1 Latar Belakang Penelitian

  Perkembangan teknologi sekarang ini sangat pesat, hal ini dibuktikan dengan begitu banyak peralatan canggih dan modern yang bermunculan hampir setiap harinya. Dalam kemampuannya yang begitu besar, teknologi merupakan solusi untuk manusia dalam membantu menyelesaikan permasalahannya. Dan mungkin sudah menjadi kebutuhan pokok sebuah perusahaan untuk menggunakan teknologi dalam membantu pekerjaan mereka.

  Di era modern seperti sekarang pula, perusahaan yang ingin maju dituntut untuk mengambil keputusan secara cepat dan tepat. Hal ini tak dapat dilakukan tanpa adanya informasi yang memadai dan akurat pula, sebab informasi memegang peranan penting dalam keberhasilan suatu organisasi atau perusahaan. perkembangan informasi yang sangat pesat ini didukung oleh suatu teknologi pendukung sistem informasi, yaitu IT (Information

  Technology ) atau diartikan sebagai teknologi informasi.

  Perkembangan teknologi informasi ini mampu menjawab kendala yang selama ini dihadapi oleh perusahaan atau organisasi dalam menjalankan bisnisnya, teknologi informasi tak mengenal ruang dan waktu yang artinya dengan memanfaatkan teknologi informasi kita dapat mengakses informasi dimana saja, dan kapan saja. Komputer dan perangkat teknologi yang lainnya bukanlah hal yang asing dewasa ini, sebut saja handpone dan gadget tablet yang merupakan produsenpun berlomba lomba menciptakan inovasi teknologi ini agar bisa digunakan semaksimal mungkin oleh masyarakat dalam memenuhi kebutuhan lifestyle atapun dalam menjalankan bisnis perusahaan. Restoran merupakan salah satu bisnis yang sangat mebutuhkan kecepatan informasi dalam meningkatkan pelayanan yang prima untuk menarik pelanggan dan pada saat yang sama butuh ketepatan dan kendali sistem informasinya untuk pengambilan keputusan yang cepat dan tepat. Hal ini tak dapat dilakuakn dengan menggunakan system yang masih manual.

  Restoran cafesera gorontalo misalnya, dengan desain ruangan yg begitu mewah dan fasilitas yang lengkap, restoran ini masih menggunakan nota dalam pelayanan order menu makanannya, yang seterunya dilanjutkan ke dapur dan kasir, sehingga membutuhkan waktu yang begitu lama untuk penyajian makanan, ditambah lagi dengan perhitungan dikasir yang begitu beresiko akan kesalahan karena harus mengumpulakn semua nota order makanan dan minuman yang akan dihitung. Dalam hal penyusunan laporann masih menggunakan aplikasi office (ms

  excel)

  yang beresiko salah dan memakan waktu sehingga pengambilan keputusan relative lama dan tidak efisien.

  Oleh karenanya untuk memanfaatkan teknologi dalam dunia bisnis seperti telah dijabarkan sebelumnya, dapat menjadikan alasan penulis untuk melakukan penelitian tentang implementasi aplikasi smart restoran berbasis android di

  Restoran Cafesera Gorontalo”

  dengan memanfaatkan teknologi handpone dan gadget berflatform android dapat membantu pekerjaan bisnis restoran dalam hal mengendalikan dan menyiapkan laporan sebagai informasi untuk pengambilan keputusan dan kemajuan perusaahaan.

1.2 Identifikasi Dan Rumusan Masalah

  Pada bagian ini akan dijelaskan mengenai identifikasi masalah dan rumusan masalah dalam penelitian yang dilakukan penulis. Berikut adalah identifikasi masalah dan rumusan masalah yang lebih spesifik.

  1.2.1 Identifikasi Masalah

  Berdasarkan uraian latar belakang yang telah disebutkan, maka dapat diidentifikasi masalahnya sebagai berikut

  1. Kurang mudah dan nyaman dalam melakukan pemesanan menu makanan

  2. Lamanya proses perhitungan dalam pembayaran makanan dikasir 3. Kurang dan lamanya laporan penjualan yang diperoleh pihak manajemen.

  1.2.2 Rumusan Masalah

  Berdasarkan identifikasi masalah diatas, maka didapatkan rumusan masalah sebagai berikut:

  1. Bagaimana sistem pelayanan dan manajemen yang berjalan direstoran cafesera gorontalo.

  2. Bagaimana mendesain dan mengimplementasikan aplikasi smart restoran di cafesera gorontalo

  3. Bagaimana proses pengujian yang dilakukan pada perangkat lunak yang akan dibangun.

1.3 Maksud Dan Tujuan Penelitian

  Pada bagian ini akan dijelaskan maksud dan tujuan dari penelitian yang dilakukan oleh penulis.

  1.3.1 Maksud Penelitian

  Maksud dari penelitian ini adalah untuk mendesain dan mengimplementasikan aplikasi dalam membantu pelayanan dan penyajian laporan di cafesera gorontalo.

  1.3.2 Tujuan Penelitian

  Tujuan dari dilakukannya penelitian ini adalah sebagai berikut:

  1. Untuk mengetahui sistem pelayanan dan manajemen yang berjalan di cafesera gorontalo.

  2. Untuk merancang dan membangun perangkat lunak yang mampu membantu dalam pelayanan di restoran dengan cepat dan mudah.

  3. Untuk melakukan pengujian terhadap perangkat lunak yang akan dibangun.

  4. Untuk mengimplementasikan perangkat lunak pada Restoran Cafesera Gorontalo

1.4 Kegunaan Penelitian

  Pada bagian ini akan dijelaska kegunaa dari penelitian yang dilakukan oleh penulis baik kegunaan praktis maupun kegunaan akademis.

1.4.1 Kegunaan Akademis

  Kegunaan praktis yang didapat dalam penelitian ini adalah : 1. Hasil penelitian dapat menambah pengetahuan baru bagi penulis.

2. Penelitian ini berguna untuk memanfaatkan ilmu yang didapat selama .

  kuliah untuk diterapkan dan diimplementasikan langsung ke dunia bisnis

1.4.2 Kegunaan Praktis

  Kegunaan akademis yang didapat dalam penelitian ini adalah :

  1. Dapat membantu perusahaan dalam meningkatkan pelayanan restoran sehingga dapat menarik pelanggan.

  2. Dapat membantu penyajian informasi untuk memudahkan pengambilan keputusan pimpinan.

  1.5 Batasan Masalah

  Agar tujuan penelitian ini tercapai dengan optimal dan terarah, dibutuhkan beberapa pembatasan. Berikut ini batasan masalah yang telah ditetapkan :

  1. Perangkat lunak yang dibangun hanya pada perangkat mobile yang ber- platform Android versi 2.3 (Gingerbread).

  2. Permasalahan yang diteliti difokuskan pada pemesanan makanan, stok harian dan penjualan harian restoran

  3. Perangkat lunak yang dibangun hanya menangani penjualan dan pelayanan kepada pelanggan yang datang ke restoran.

  1.6 Lokasi Dan Waktu Penelitian

  Lokasi penelitian dilakukan di Restoran cafesera gorontalo. Jl Nani Wartabone No. 105 Kota Gorontalo. Jadwal penelitian akan dilaksanakan dalam waktu sekitar 3 bulan.

BAB II LANDASAN TEORI 2.1. Restoran Restoran berasal dari kata Restaurer (perancis) yg artinya to restore atau

  memperbaiki/memulihkan kondisi yg kurang baik. arti lain adalah rest yg artinya beristirahat dan taurant yg artinya bangunan tetap/permanen. sehingga artinya menjadi beristirahat di sebuah bangunan tetap. adapun kegiatan utama di restoran adalah Food, Beverage dan Service. adapun restoran bertujuan untuk Guest

  satisfactory (kepuasan pada tamu) dan Profitable (keuntungan).

2.2. Aplikasi

  Perangkat lunak/aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media. Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut sebagai suatu paket atau suite aplikasi (application suite). Contohnya adalah Microsoft Office dan OpenOffice.org, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan setiap aplikasi. Sering kali, aplikasi ini memiliki kemampuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat ibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah.

2.3. Android

  Android adalah sistem operasi untuk telepon seluler yang berbasis

  Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam piranti bergerak. Android pertama kali dikembangkan oleh perusahaan bernama Android Inc yang kemudian pada tahun 2005 di akuisisi oleh raksasa Internet Google. Android dibuat dengan basis kernel Linux yang telah dimodifikasi, dan untuk setiap release-nya diberi kode nama berdasarkan nama hidangan makanan. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

  Keunggulan utama Android adalah gratis dan open source, yang membuat smartphone Android dijual lebih murah dibandingkan dengan Blackberry atau iPhone meski fitur (hardware) yang ditawarkan Android lebih baik. Beberapa fitur utama dari Android antara lain WiFi hotspot,

  (GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and

  WiMAX) dan juga kemampuan dasar handphone pada umumnya.

2.3.1. Sejarah Android

  Pada Juli 2000, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc.

  Bekerja pada Google, di antaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler. versi android terbaru yaitu versi 3.0. Android juga sudah bergabung dengan beberapa smart Mobile seperti Nokia, Sony Ericsson, dan lainnya.

  Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya. Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010). Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak (Mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android.

2.3.2. Anatomi Aplikasi Android

  Dalam paket sistem operasi android tediri dari beberapa unsur seperti tampak pada gambar 2.8. Secara sederhana arsitektur android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu Framework yang menyediakan dan mengatur alur proses aplikasi.

  

Gambar 2. 1 Detail Anantomi Android

Sumber: Small Scale Digital Device Forensics Journal Vol.4, No.1, September

2010, ISSN#1941-6164

  2.3.2.1 Linux Kernel

  Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication ) untuk mengatur aplikasi dan lubang keamanan.

  2.3.2.2 Libraries

  Android menggunakan beberapa paket pustaka yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:

  1. Media Library untuk memutar dan merekam berbagai macam format audio dan video.

  2. Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

  3. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D.

  4. SQLite untuk mengatur relasi database yang digunakan pada aplikasi.

  5. SSl dan WebKit untuk browser dan keamanan internet. Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun hanya

  1.5, pengembang dapat membuat dan menggunakan pustaka sendiri menggunakan Native Development Toolkit (NDK).

2.3.2.3 Android Runtime

  Pada android tertanam paket pustaka inti yang menyediakan sebagian besar fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya:

  1. Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android.

  2. Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas.

  2.3.2.4 Application Framework

  Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi generic untuk mengakses perangkat, serta mengatur tampilan User Interface dan sumber daya aplikasi. Bagian terpenting dalam kerangka aplikasi android adalah sebagai berikut:

  1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi penggunaan

  2. Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.

  3. Resuource Manager, untuk mengatur sumber daya yang ada dalam program. Serta menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout.

  4. Location Manager, berfungsi untuk memberikan informasi detail mengenai lokasi perangkat android berada.

  5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.

  2.3.2.5 Application Layer

  Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program aplikasi. Lapisan ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada Framework aplikasi.

  Lapisan aplikasi android sangat berbeda dibandingkan dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.

2.3.3. Tipe Aplikasi Android

  Terdapat tiga kategori aplikasi pada android :

  1. Foreground Activity

  Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung dengan lancar.

  2. Background Service

  Aplikasi yang memiliki interaksi terbatas dengan user, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar.

  Contohnya aplikasi penyaringan panggilan atau sms auto respon.

  3. Intermittent Activity

  Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar musik.

  Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori aplikasi yang sesuai.

2.4. Rational Unified Process (RUP)

  Rational Unified Process merupakan suatu metode rekayasa perangkat

  lunak yang dikembangkan dengan mengumpulkan berbagai best practises yang terdapat dalam industri pengembangan perangkat lunak. Ciri utama metode ini adalah menggunakan use-case driven dan pendekatan iteratif untuk siklus pengembangan perangkat lunak.

  RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada pengembangan model dengan menggunakan Unified Model

  Language (UML)

  . Melalui gambar dibawah dapat dilihat bahwa RUP memiliki, yaitu:

  a.

  Dimensi pertama digambarkan secara horizontal. Dimensi ini mewakili aspek- baspek dinamis dari pengembangan perangkat lunak. Aspek ini dijabarkan dalam tahapan pengembangan atau fase. Setiap fase akan memiliki suatu major milestone yang menandakan akhir dari awal dari phase selanjutnya. Setiap phase dapat berdiri dari satu beberapa iterasi. Dimensi ini terdiri atas Inception, Elaboration, Construction, dan Transition.

  b. Dimensi kedua digambarkan secara vertikal. Dimensi ini mewakili aspek- ke dalam beberapa disiplin. Proses pengembangan perangkat lunak yang dijelaskan kedalam beberapa disiplin terdiri dari empat elemen penting, yakni who is doing, what, how dan when. Dimensi ini terdiri atas:

  Business Modeling, Requirement, Analysis and Design, Implementation, Test, Deployment, Configuration dan Change Manegement, Project Management, Environtment .

  

Gambar 2. 2 Metode Rational Unified Proceaa (RUP)

Sumber : Software Engineering Methodology Rational Unified Process

2.5. Konsep Perancangan Berorientasi Objek

  Teknologi objek menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi oleh objek. Didalam membangun sistem berorientasi objek akan menjadi lebih baik apabila langkah awalnya didahului dengan proses analisis dan perancangan yang berorientasi objek. Tujuannya adalah mempermudah programmer didalam mendesain program dalam bentuk objek- sistem nyata. Suatu perusahaan software yaitu Rational Software, telah membentuk konsarium dengan berbagai organisasi untuk meresmikan pemakaian Unifed Modelling Language (UML) sebagai bahasa standar dalam Object Oriented Analysist Design (OOAD).

2.5.1. Unified Modelling Language (UML)

  UML dalam sebuah bahasa untuk menentukan visualisasi, konstruksi, dan mendokumentasikan artifacts dari sistem software, untuk memodelkan bisnis, dan sistem non-software lainnya. UML merupakan sistem arsitektur yang bekerja dalam OOAD dengan satu bahasa yang konsisten untuk menentukan, visualisasi, konstruksi dan mendokumentasikan artifact yang terdapat dalam sistem. Artifact adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model, deskripsi atau software.

  2.5.1.1. Use Case Diagram Use Case Diagram

  menjelakan manfaat sistem jika dilihat menurut pandangan orang yang berada diluar sistem (Aktor). Diagram ini menunjukan fungsionalitas suatu sistem yang berinteraksi dengan dunia luar. Use Case Diagram dapat digunakan selama proses analisis untuk menagkap requitment sistem dan untuk memahami bagaimana sistem bekerja.

  2.5.1.2. Class Diagram Class Diagram

  menjelaskan dalam visualisasi struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class tiap kelas dalam model desain dari suatu sistem. Selama proses analisis, class diagram memperlihatkan aturan-aturan dan tanggung jawab entitas yang menentukan prilaku sistem. Selama tahap desain, class diagram berperan dalam menagkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat.

2.5.1.3. Behavior Diagram

  Behavior diagram dapat dikelompokan menjadi tiga diagram, yaitu :

  a. Activity Diagram

Activity Diagram memodelkan alur kerja (work flow) sebuah proses bisnis dan

  urutan aktifitas dalam suatu proses.

  b. Interaction Diagram Interaction Diagram

  dibagi menjadi dua model diagram yaitu :

  1. Sequence Diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus bersosialisasi dengan use case.

  Sequence diagram, memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu dalam use case.

  2. Colaboration Diagram melihat pada interaksi dan hubungan terstruktur antar objek. Tipe diagram ini menekankan pada hubungan (relationship) antar objek, sedangkan sequence diagram menekankan pada urutan kejadian. Dalam collaboration diagram terdapat beberapa objek, link, dan message.

  2.5.1.4. Implementatiton Diagram

  Implementation diagram dibagi menjadi dua diagram, yaitu :

  1. Component Diagram menggambarkan alokasi semua kelas dan objek kedalam komponen-komponen dalam desain fisik sistem software.

  Diagram ini memperlihatkan pengaturan dan kebergantungan antara komponen-komponen software, seperti source code, binary code, dan komponen tereksekusi (execute components)