Fitur Arsitektur Sistematika Penulisan

commit to user 5 BAB II LANDASAN TEORI 1. Android Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti smartphone dan komputer tablet yang meliputi sistem operasi, middlewa re inti yang di realese oleh Google . Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Google Inc . membeli Android Inc , pada tahun 2005. Pembukaan dari distribusi Android pada tahun 2007 diumumkan dengan dibentuknya Open Handset Alliance , sebuah konsorsium dari 86 perangkat keras, perangkat lunak, dan perusahaan telekomunikasi yang ditujukan untuk memajukan standar terbuka untuk perangkat mobile . Google merilis Android sebagai open-source , di bawah Apache License . Anonim-1, 2012

1.1 Fitur

Android Android memiliki beberapa fitur-fitur yang membedakannya dari sistem operasi lainnya, fitur-fitur yang dimiliki android antara lain : a. Kerangka aplikasi Framework : memungkinkan penggunaan dan penghapusan komponen yang tersedia. b. Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat mobile. c. Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL . d. SQLite Database Open Source yang tertanam ke Android . SQLite mendukung fitur database relasional standar seperti sintaks SQL, transaksi dan pernyataan siap. Selain itu hanya memerlukan sedikit memori pada saat runtime sekitar 250 KByte. SQLite mendukung tipe data Text mirip dengan String di Java , Integer mirip dengan Long di java, dan Real mirip dengan double di java. Semua jenis lain harus dikonversi ke dalam salah satu bidang sebelum menyimpannya dalam database. SQLite sendiri tidak memvalidasi jika jenis ditulis untuk kolom sebenarnya dari jenis commit to user didefinisikan, misalnya Kita dapat menulis sebuah integer ke string dan kolom sebaliknya Siregar, 2011 e. Mendukung media: audio, video, dan berbagai format gambar MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF f. GSM, Bluetooth , EDGE, 3G, dan WiFi hardwa re dependent g. Global Positioning System GPS h. Lingkungan pengembangan yang kaya, termasuk emulator, peralatan debugging , dan plugin untuk Eclipse IDE.

1.2 Arsitektur

Android Sistem operasi Android memiliki 4 lapisan layer yang merupakan komponen sistem Android . Gambar berikut merupakan lapisan arsitektur sistem operasi Android : Gambar 2.1 Arsitektur Android Anonim-2, 2012 commit to user a. Linux Kernel Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Android dibangun di atas kernel Linux 2.6 untuk inti sistem pelayanan seperti keamanan, manajemen memori, proses manajemen, susunan jaringan, dan driver model. Linux kernel menyediakan driver layar, kamera, keypad , kamera, WiFi, memori flash, audio, dan IPC Interprocess Communication untuk mengatur aplikasi dan keamanan. Kernel juga bertindak sebagai lapisan yang abstrak antara hardware dan softwa re stack-nya. Namun secara keseluruhan android bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Anonim-3, 2012 b. Android Runtime Android terdiri dari satu set core libraries yang menyediakan sebagian besar fungsi yang tersedia pada core libraries bahasa pemrograman Java. Setiap aplikasi menjalankan sendiri prosesnya dalam Android , dengan setiap instansinya dari Dalvik Virtual Machine . Anonim-3, 2012 c. Library Bertempat di level yang sama dengan Android Runtime adalah Libra ries . Android menyertakan satu set library-library dalam bahasa CC++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework. Sebagai contoh Android mendukung pemutaran format audio, video, dan gambar. Beberapa library penting dari Android adalah sebagai berikut : 1. System C libra ry , diturunkan dari implementasi standard C system library libc milik BSD, dioptimasi untuk piranti embedded berbasis Linux. 2. Surface Manager . Android menggunakan managemen interface berbasis composite, seperti yang digunakan oleh Windows Vista atau Compiz, tetapi dalam bentuk yang lebih sederhana. Hal ini menjadikan sistem mampu membuat tampilan menjadi menarik pada layar. commit to user 3. 2D dan 3D Graphics . Elemen dua dan tiga dimensi dapat digabungkan dalam satu tampilan Android . Library akan menggunakan perangkat 3D jika handphone memiliki hardware untuk akselerasi 3D. 4. Media Libraries, berdasarkan PacketVideo’s OpenCORE ; library-library ini mendukung playback dan recording dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. 5. SQLite relational database engine yang powerful dan ringan tersedia untuk semua aplikasi. 6. FreeType , bitmap dan vector font rendering d. Application Framework Pengembang memiliki akses penuh terhadap framework API yang sama yang digunakan oleh aplikasi inti. Arsitektur aplikasi dirancang agar komponen dapat digunakan kembali reuse dengan mudah. Semua aplikasi yang merupakan rangkaian layanan dan sistem, termasuk: 1. View set kaya dan extensible yang dapat digunakan untuk membangun aplikasi, termasuk daftar, kotak teks, tombol, dan bahkan sebuah embeddable web. 2. Content provider yang memungkinkan aplikasi untuk mengakses data seperti dari daftar kontak telepon atau dari data mereka sendiri. 3. Resource manager , yang menyediakan akses ke kode sumber non-lokal seperti string, gambar, dan tata letak file. 4. Notification manager yang memungkinkan aplikasi untuk ditampilkan dalam alert status bar. 5. Activity manager yang mengelola siklus hidup aplikasi dan menyediakan navigasi umum. commit to user e. Application Pada lapisan teratas adalah aplikasi itu sendiri. Di lapisan inilah merupakan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang paling sering mereka akses. Mereka mengakses fungsi-fungsi dasar tersebut melalui user interface. 1.3 Android SDK Software Development Kit Android SDK merupakan tools menyediakan Tools dan API yang akan digunakan oleh para programmer yang ingin mengembangkan aplikasi berbasis google android dengan bahasa pemrograman Java. Android SDK mencakup seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi , contoh kode dan tutorial . Saat ini Android sudah mendukung arsitektur x86 pada Linux distribusi Linux apapun untuk desktop modern, Mac OS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau yang lebih baru. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android Development Tools ADT, dengan ini pengembang dapat menggunakan teks editor untuk mengedit file Java dan XML serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android misalnya, reboot, menginstal paket perangkat lunak dengan jarak jauh. Android SDK telah dirilis pada tanggal 12 November 2007. Dan pada tanggal 15 Juli 2008 tim Android Developer Challenge sengaja mengirimkan email ke semua pendatang di Android Developer Challenge untuk mengumumkan bahwa rilis SDK terbaru telah tersedia pada halaman download pribadi. Email tersebut juga ditujukan kepada pemenang Android Developer Challenge putaran pertama. Sebuah penyataan bahwa Google telah menyediakan rilis SDK terbaru untuk beberapa pengembang dan bukan untuk orang lain. commit to user Pada tanggal 18 Agustus 2008, Android SDK 0.9 beta dirilis. Rilis ini menyediakan API yang diperbarui dan diperluas, perbaikan pada alat pengembangan dan desain terbaru untuk layar awal. Petunjuk untuk upgrade SDK sudah tersedia pada rilis sebelumnya. Pada tanggal 23 September 2008, Android 1.0 SDK telah dirilis. Pada tanggal 9 Maret 2009, Google merilis versi 1.1 untuk telepon seluler Android . Rilis terbaru tersebut termasuk dukungan untuk pencarian dengan suara, harga aplikasi, perbaikan jam alarm, perbaikan pengiriman gmail, perbaikan surat pemberitahuan dan peta. Pada pertengahan Mei 2009, Google merilis versi 1.5 Cupcake pada sistem operasi Android dan SDK. Pembaruan ini termasuk banyak fitur baru seperti perekaman video, dukungan untuk bluetooth, sistem keyboard pada layar dan pengenalan suara. Rilis ini juga membuka AppWidget framework kepada para pengembang yang memungkinkan orang untuk membuat widget sendiri pada halaman home . Pada September 2009 versi 1.6 Donut dirilis yang menampilkan hasil pencarian yang lebih baik dan penggunaan indikator baterai. Aplikasi Android dipaketkan ke dalam format .apk dan disimpan pada folder dataapp. Pengguna dapat menjalankan perintah adb root untuk mengakses folder tersebut karena root memiliki izin untuk mengakses folder tersebut. Mulyadi , 2012 1.4 Android ADT Android Development Tools Menurut Developer Android , 2012, Android Development Tools ADT adalah plugin untuk Eclipse IDE yang dirancang untuk memberikan utilitas yang terintegrasi yang kuat untuk membangun aplikasi Android. ADT memungkinkan untuk memberikan kemampuan pada Eclipse untuk membuat proyek baru pada Android , membuat UI aplikasi, menambahkan komponen berdasarkan framework API Android , debug aplikasi, dan pemaketan aplikasi Android . commit to user 2. Eclipse IDE Integrated Development Environment Integrated Development Environment IDE adalah program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak The Official Eclipse Faqs. Eclipse adalah sebuah IDE untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform platform-independent. Berikut ini adalah sifat dari Eclipse : 1. Multi-platform . Target sistem operasinya adalah Microsoft Windows , Linux, Solaris, AIX, HP-UX dan Mac OS X. 2. Multi-language yang dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti CC++, Cobol, Python, Perl, PHP, dan lain sebagainya. 3. Multi-role , yaitu 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. 3. PHP Hypertext Preprocessor PHP adalah bahasa skrip server-side yang ditanamkan atau disisipkan ke dalam HTML , PHP banyak dipakai untuk membuat halaman web yang dinamis. Maksud dari skrip server-side adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML . commit to user Pembuatan web ini merupakan kombinasi antara PHP sendiri sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web. Ketika seorang pengguna internet akan membuka suatu situs yang menggunakan fasilitas skrip server-side PHP, maka terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimkan hasilnya dalam format HTML ke web browser pengguna internet tadi. Dengan demikian seorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PHP sehingga keamanan dari halaman web menjadi lebih terjamin. Sutrisno Hadi, 2008. Tetapi tidak seperti ASP yang juga cukup dikenal sebagai skrip server- side, PHP merupakan perangkat lunak yang open source gratis dan mampu lintas platform , yaitu dapat digunakan dengan sistem operasi dan web server apapun. PHP mampu berjalan di Windows dan beberapa versi Linux. PHP juga dapat dibangun sebagai modul pada web server Apache dan sebagai binary yang dapat berjalan sebagai CGI. PHP dapat mengirim HTTP header , dapat menset cookies, mengatur otentikasi dan redirect users. PHP menawarkan koneksitas yang baik dengan beberapa basis data, antara lain Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm dan tak terkecuali semua database ber-interface ODBC. Juga dapat berintegrasi dengan beberapa library eksternal yang membuat dapat melakukan segalanya mulai dari membuat dokumen PDF hingga memarsing XML. PHP juga mendukung komunikasi dengan layanan lain melalui protocol IMAP, SNMP, NNTP, POP3 atau bahkan HTTP. Bila PHP berada dalam halaman web, maka tidak lagi dibutuhkan pengembangan lingkungan khusus atau direktori khusus. Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan ini akan mempunyai suatu sistem basis data yang dapat diakses dari web. Kadir, 2003. commit to user 4. Unified Modeling Language UML UML adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML model dapat dibuat untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam berbagai bahasa berorientasi objek seperti C++, Java, C atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C. Seperti bahasa lainnya, UML mendefinisikan notasi dan synta xsemantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu dan UML synta x mendefinisikan bagaimana bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD Object-Oriented Design, Jim Rumbaugh OMT Object Modeling Technique dan Ivar Jacobson OOSE Object-Oriented Software Engineering. Dharwiyanti, dan Wahono, 2003 Diagram dalam UML sebagai berikut : 1. Use Case Diagram 2. Class Diagram 3. Statechart Diagram dan Activity Diagram 4. Sequence Diagram 5. Collaboration Diagram 6. Component Diagram 7. Deployment Diagram commit to user 5.1 Use Case Diagram Diagram Use Ca se adalah diagram yang menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut berinteraksi dengan dunia luar dan menjelaskan sistem secara fungsional yang terlihat user. Biasanya dibuat pada awal pengembangan. Use ca se diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use ca se merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, meng-create sebuah daftar belanja, dan sebagainya. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan system untuk melakukan pekerjaan-pekerjaan tertentu. Use case diagram dapat sangat membantu bila kita sedang menyusun requirement sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang test case untuk semua feature yang ada pada sistem. Dharwiyanti, dan Wahono, 2003 Tabel 2.1 Simbol dalam Use Case Diagram No. Simbol Nama Deskripsi 1. Case Menggambarkan proses kegiatan yang dapat diakukan oleh aktor 2. Actor Menggambarkan entitas subyek yang dapat melakukan suatu proses 3. Relation Relasi antara case dengan actor ataupun case dengan case lain. UseCase Actor -End1 -End2 «uses» «extends» commit to user 5.2 Class Diagram pemodelan desain dalam logical view dari suatu sistem.Selama proses analisa, class diagram memperhatikan aturan-aturan dan tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap desain, class diagram berperan dalam menangkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat. Class memiliki 3 area pokok yaitu : 1. Nama dan stereotype 2. Atribut 3. Metoda Dharwiyanti, dan Wahono, 2003 Atribut dan metoda memiliki salah satu sifat dari 3 sifat berikut : 1. Private , tidak dapat dipanggil dari luar class yang bersangkutan. 2. Protected , hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak dari class tersebut. 3. Public , dapat dipanggil oleh class manapun dalam paket tersebut. commit to user Tabel 2.2 Simbol dalam Class Diagram commit to user commit to user 5.3 Statechart Diagram dan Activity Diagram Statechart diagram digunakan untuk memodelkan perilaku dinamis satu kelas atau objek. Statechart diagram memperlihatkan urutan keadaan sesaat state yang dilalui sebuah objek, Kejadian yang menyebabkan sebuah transisi dari suatu state atau aktivitas kepada yang lainnya. Statechart diagram khusus digunakan untuk memodelkan tahap-tahap diskrit dari sebuah siklus hidup objek,sedangkan Activity diagram paling cocok untuk memodelkan urutan aktifitas dalam suatu proses. Dharwiyanti, dan Wahono, 2003 Tabel 2.3 Simbol dalam Statechart Diagram dan Activity Diagram commit to user 5.4 Sequence Diagram Sequence Diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan use-case . Sequence diagram memperlihatkan tahap demi tahap apa yang harus terjadi untuk menghasilkan suatu didalam use-case diagram. Tipe diagram yang digunakan sebaiknya digunakan diawal tahap desain atau analisis karena kesederhanaannya dan mudah untuk di mengerti Dharwiyanti, dan Wahono, 2003 Tabel 2.4 Simbol dalam Sequence Diagram commit to user 20 BAB III ANALISA DAN PERANCANGAN

1. Deskripsi Umum