Kamis, 28 Juni 2012

Unified Modeling Language


UML (Unified Modelling Language)



UML adalah sebuah bahasa standar untuk pengembangan sebuah software yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software.
UML (Unified Modeling Language) adalah metode pemodelan secara visual sebagai sarana untuk merancang dan atau membuat software berorientasi objek. Karena UML ini merupakan bahasa visual untuk pemodelan bahasa berorientasi objek, maka semua elemen dan diagram berbasis pada paradigma object oriented.

UML adalah salah satu tool / model untuk merancang pengembangan software yang berbasis object oriented.


UML tidak hanya merupakan sebuah bahasa pemograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai bahasa pemograman, seperti JAVA, C++, Visual Basic, atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database.


Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML, seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakkan secara bersamaan, dan beberapa mekanisme umum (common).



BAGIAN-BAGIAN UML
Bagian-bagian utama dari UML adalah view, diagram, model element, dan general mechanism.
a. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi sejumlah diagram.
Beberapa jenis view dalam UML antara lain: use case view, logical view, component view, concurrency view,dan deployment view.
b. Use case view
Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat berupa user atau sistem lainnya.
View ini digambarkan dalam use case diagramsdan kadang-kadang dengan activity diagrams. Viewini digunakan terutama untuk pelanggan, perancang (designer), pengembang (developer), dan penguji sistem (tester).
c. Logical view
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class, object,danrelationship ) dan kolaborasi dinamis yang terjadi ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu.
View ini digambarkan dalam class diagrams untuk struktur statis dan dalam state, sequence, collaboration, dan activity diagram untuk model dinamisnya. View ini digunakan untuk perancang (designer) dan pengembang (developer).
d. Component view
Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan ketergantungannya juga alokasi sumber daya komponen dan informasi administrative lainnya.
View ini digambarkan dalam component view dan digunakan untuk pengembang (developer).
e. Concurrency view
Membagi sistem ke dalam proses dan prosesor.View ini digambarkan dalam diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan diagram implementasi (component dan deployment diagrams) serta digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
f. Deployment view
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan bagaimana hubungannya dengan lainnya.
View ini digambarkan dalam deployment diagramsdan digunakan untuk pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
g. Diagram
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu. Adapun jenis diagram antara lain :
1. Use Case Diagram
Use case adalah abstraksi dari interaksi antara system dan actor. Use case bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system dipakai. Use casemerupakan konstruksi untuk mendeskripsikan bagaimana system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi komunikasi diantara analis dan pengguna serta antara analis dan client.
2Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku (operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class- class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem biasanya mempunyai beberapa class diagram. Class diagram sangat membantu dalam visualisasi struktur kelas dari suatu system.
3. Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena menetap di komputer tidak berada di benak para analis. Komponent merupakan implementasi software dari sebuah atau lebih class. Komponent dapat berupa source code, komponent biner, atau executable component. Sebuah komponent berisi informasi tentang logic class atau class yang diimplementasikan sehingga membuat pemetaan dari logical view ke component view.Sehingga component diagram merepresentasikan dunia riil yaitu component software yang mengandung component, interface dan relationship.
4. Deployment Diagram
Menggambarkan tata letak sebuah system secara fisik, menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware, menunjukkan hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis hubungannya. Di dalam nodes,executeable component dan object yang dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu dan ketergantungan komponen.
5. State Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat berupa object lain yang mengirim pesan. State class tidak digambarkan untuk semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan baik dan kondisi class berubah oleh stateyang berbeda.
6. Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim antara object juga interaksi antaraobject, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem.
7. Collaboration Diagram
Menggambarkan kolaborasi dinamis sepertisequence diagrams. Dalam menunjukkan pertukaran pesan, collaboration diagrams menggambarkan objectdan hubungannya (mengacu ke konteks). Jika penekannya pada waktu atau urutan gunakansequencediagrams, tapi jika penekanannya pada konteks gunakan collaboration diagram.
8. Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti use caseatau interaksi.
Building blocks

Tiga macam yang terdapat dalam building block adalah :


  • Benda/Things
       Adalah abstraksi yang pertama dalam sebuah model

  • Hubungan/Relationships
       Sebagai alat komunikasi dari benda-benda

  • Bagan/Diagrams
       Sebagai kumpulan / group dari benda-benda/things
Tujuan Penggunaan UML
  1. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan proses rekayasa.
  2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
  3. Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
  4. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali ke dalam bentuk diagram (reserve enginering).
Perangkat lunak yang mendukung pembuatan diagaram UML
  1. StarUML 
StarUML adalah sebuah proyek open source untuk mengembangkan cepat, fleksibel, extensible, featureful, dan bebas-tersedia UML / platform MDA berjalan pada platform Win32.Tujuan dari proyek StarUML adalah untuk membangun sebuah alat pemodelan perangkat lunak dan juga platform yang menarik adalah pengganti alat UML komersial seperti Rational Rose, Bersama dan sebagainya
2. Acceleo 
Acceleo adalah generator kode yang mengubah model menjadi kode. Acceleo mudah digunakan dan menyediakan “dari rak” generator (Jee,. Bersih, Php …) dan template editor untuk Eclipse.
3. ArgoUML 
ArgoUML adalah open source UML modeling tool terkemuka dan termasuk dukungan untuk semua diagram UML standar 1,4. Ini berjalan pada setiap platform Java dan tersedia dalam bahasa sepuluh. ArgoUML ditulis seluruhnya di Jawa dan menggunakan Java Kelas Foundation.Hal ini memungkinkan ArgoUML untuk berjalan di hampir semua platform

Sumber :

Perbedaan UML dan DFD

Perbedaan UML dan DFD

UML

UML (Unified Modeling Language) adalah sebuah bahasa untuk menentukan visualisasi, kontruksi dan mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan perangkat lunak).

DFD

Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD merupakan alat bantu dalam menggambarkan atau menjelaskan DFD ini sering disebut juga dengan nama Bubble chart, Bubble diagram, model proses, diagram alur kerja atau model fungsi.

Perbedaannya :

UML biasa digunakan untuk mempresentasikan sistem kepada orang-orang yang tidak mengerti tata-cara pemrograman, seperti orang-orang awam pada umumnya. (Client, dll). Hal ini dikarenakan UML memakai penggambaran logika algoritma suatu program. 
Sedangkan DFD kebalikannya, biasa digunakan untuk mempresentasikan sistem kepada orang-orang yang mengerti tata cara pemrograman (programmer, dll). Hal ini dikarenakan DFD memakai penggambaran sistem secara umum, dari proses, data, basis data, dan entitas.

Perbedaan Analisa Berbasis Objek dan Yang Terstruktur

Analisa dan Perancangan Berbasis Objek

Perbedaan Analisa Berbasis Objek dan Yang Terstruktur

  • Perancangan Terstruktur : Modul merupakan unit dari kode software yang menjalankan fungsi.
  • Perancangan Berorientasi Objek : Modul objek yang mengenkapsulasi atribut dan kode program untuk berjalan.
Object Oriented analaysis adalah metode analisis yang memeriksarequirements (syarat/keperluan yang harus dipenuhi suatu sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup permasalahan.
Object Oriented Design adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
 

Konsep Dasar OOAD (Object Oriented Analysis and Design)

OOAD mencakup analisis dan desain sebuah sistem dengan pendekatan objek, yaiut analisis berorientasi objek (OOA) dan desain berorientasi objek (OOD). OOA adalah metode analisis yang memerika requirement (syarat/keperluan) yang harus dipenuhi sebuah sistem) dari sudut pandang kelas-kelas dan objek-objek yang ditemui dalam ruang lingkup perusahaan. Sedangkan OOD adalah metode untuk mengarahkan arsitektur software yang didasarkan pada manipulasi objek-objek sistem atau subsistem.
Terdapat beberapa konsep dalam OOAD, yaitu :
- Objek (object)
  • Objek adalah benda secara fisik dan konseptual yang ada di sekitar kita. Sebuah objek memiliki keadaan sesaat yang disebut state.
  • State dari sebuah objek adalah kondisi dari objek atau himpunan keadaan yang menggambarkan objek tersebut. State dinyatakan dengan nilai dari atribut objeknya.
  • Atribut adalah nilai internal suatu objek yang mencerminkan karakteristik objek, kondisi sesaat, koneksi dengan objek lain dan identitas.
  • Behaviour (perilaku objek) mendefinisikan bagaimana sebuah objek bertindak dan memberi reaksi. Behaviour ditentukan oleh himpunan semua atau beberapa operasi yang dapat dilakukan oleh objek tersebut, yang dicerminkan oleh interface, service, dan method dari objek tersebut.
  • Interface adalah pintu untuk mengakses service dari objek
  • Service adalah fungsi yang dapat dikerjakan oleh sebuah objek
  • Method adalah mekanisme internal objek yang mencerminkan perilaku objek tersebut
- Kelas (class)
Class adalah himpunan objek yang sejenis yaitu mempunyai sifat (atribut), perilaku umum (operasi), relasi umum dengan objek lain dan semantik umum. Class adalah abstraksi dari objek dalam dunia nyata. Class menetapkan spesifikasi perilaku dan atribut dari objek tersebut.
- Kotak Hitam (black boxes)
Sebuah objek adalah kotak hitam. Konsep ini menjadi dasar implementasi objek. Dalam operasi OO hanya developer yang dapat memahami detail proses yang ada didalam kotak tersebut, sedangkan user tidak perlu mengetahui apa yang dilakukan yang penting mereka dapat menggunakan objek untuk memproses kebutuhan mereka. Kotak hitam berisi kode dan data.
  • Encapsulation, yaitu proses menyembunyikan detail implementasi sebuah objek. Untuk mengakses data objek tersebut adalah melalui interface. Untuk berkomunikasi dengan objek digunakan message.
  • Message adalah permintaan agar objek menerima untuk membawa metode yang ditunjukkan oleh perilaku dan mengembalikan result dari aksi tersebut kepada objek pengirim (sender)
Asosiasi dan Agregasi
  • Asosiasi adalah hubungan yang mempunyai makna antara sejumlah objek. Asosiasi digambarkan dengan sebuah garis penghubung diantara objeknya. Contohnya : Asosiasi karyawan dengan unit kerja. Setiap karyawan bekerja di satu unit kerja, sedangkan unit kerja dapat memiliki beberapa karyawan.
  • Agregasi adalah bentuk khusus sebuah asosiasi yang menggambarkan seluruh bagian pada suatu objek merupakan bagian dari objek yang lain. Contohnya : Kopling dan piston adalah bagian dari mesin, sedangkan mesin, roda, body merupakan bagian dari sebuah mobil.
Kelebihan
  • Dibandingkan dengan metode SSAD, OOAD lebih mudah digunakan dalam pembangunan sistem
  • Dibandingkan dengan SSAD, waktu pengembangan, level organisasi, ketangguhan,dan penggunaan kembali (reuse) kode program lebih tinggi dibandingkan dengan metode OOAD (Sommerville, 2000).
  • Tidak ada pemisahan antara fase desain dan analisis, sehingga meningkatkan komunikasi antara user dan developer dari awal hingga akhir pembangunan sistem.
  • Analis dan programmer tidak dibatasi dengan batasan implementasi sistem, jadi desain dapat diformliasikan yang dapat dikonfirmasi dengan berbagai lingkungan eksekusi.
  • Relasi obyek dengan entitas (thing) umumnya dapat di mapping dengan baik seperti kondisi pada dunia nyata dan keterkaitan dalam sistem. Hal ini memudahkan dalam mehami desain (Sommerville, 2000).
  • Memungkinkan adanya perubahan dan kepercayaan diri yang tinggi terhadap kebernaran software yang membantu untuk mengurangi resiko pada pembangunan sistem yang kompleks (Booch, 2007).
  • Encapsliation data dan method, memungkinkan penggunaan kembali pada proyek lain, hal ini akan memperingan proses desain, pemrograman dan reduksi harga.
  • OOAD memungkinkan adanya standarisasi obyek yang akan memudahkan memahami desain dan mengurangi resiko pelaksanaan proyek.
  • Dekomposisi obyek, memungkinkan seorang analis untuk memcah masalah menjadi pecahan-pecahan masalah dan bagian-bagian yang dimanage secara terpisah. Kode program dapat dikerjakan bersama-sama. Metode ini memungkinkan pembangunan software dengan cepat, sehingga dapat segera masuk ke pasaran dan kompetitif. Sistem yang dihasilkan sangat fleksibel dan mudah dalam memelihara.
Kekurangan
  • Pada awal desain OOAD, sistem mungkin akan sangat simple.
  • Pada OOAD lebih fockus pada coding dibandingkan dengan SSAD.
  • Pada OOAD tidak menekankan pada kinerja team seperti pada SSAD.
  • Pada OOAD tidak mudah untuk mendefinisikan class dan obyek yang dibutuhkan sistem.
  • Sering kali pemrogramam berorientasi obyek digunakan untuk melakukan anlisisis terhadap fungsional siste, sementara metode OOAD tidak berbasis pada fungsional sistem.
  • OOAD merupakan jenis manajemen proyek yang tergolong baru, yang berbeda dengan metode analisis dengan metode terstruktur. Konsekuensinya adalah, team developer butuh waktu yang lebih lama untuk berpindah ke OOAD, karena mereka sudah menggunakan SSAD dalam waktu yang lama ( Hantos, 2005).
  • Metodologi pengembangan sistem dengan OOAD menggunakan konsep reuse. Reuse merupakan salah satu keuntungan utama yang menjadi alasan digunakannya OOAD. Namun demikian, tanpa prosedur yang emplisit terhadap reuse, akan sangat sliit untuk menerapkan konsep ini pada skala besar (Hantos, 2005).

Perancangan Terstruktur (Structured Analisys and Design / SSAD)

Metode ini diperkenalkan pada tahun 1970, yang merupakan hasil turunan dari pemrograman terstruktur. Metode pengembangan dengan metode terstruktur ini terus diperbaiki sampai akhirnya dapat digunakan dalam dunia nyata.
Perancangan ini bertujuan untuk membuat model SOLUSI terhadap PROBLEMyang sudah dimodelkan secara lengkap pada tahap analisis terstruktur. Ada empat kegiatan perancangan yang harus dilakukan, yaitu:
  1. Perancangan arsitektural; kita merancang struktur modul P/L dengam mengacu pada model analisis yang sesuai (DFD). Langkahnya adalah: mengidentifikasi jenis aliran (transform flow atau transaction flow), menemukan batas-batas aliran (incoming flow dan outgoing flow), kemudian memetakannya menjadi striktur hirarki modul. Selanjutnya, kita alokasikan fungsi-fungsi yang harus ada pada modul-modul yang tepat.
  2. Perancangan data; kita merancang struktur data yang dibutuhkan, serta merancang skema basisdata dengan mengacu pada model analisis yang sesuai (ERD).
  3. Perancangan antarmuka; kita merancang antarmuka P/L dengan pengguna, antarmuka dengan sistem lain, dan antarmuka antar-modul.
  4. Perancangan prosedural; kita merancang detil dari setiap fungsi pada modul. Notasi yang digunakan bisa berupa flow chart, algoritma, dan lain-lain
Pastikan bahwa model perancangan yang dibuat sudah mengakomodasi kebutuhan non fungsional.
Berikut ini merupakan kelebihan dan kekurangan metode perancangan terstruktur :
Kelebihan
  • Milestone diperlihatkan dengan jelas yang memudahkan dalam manajemen proyek
  • SSAD merupakan pendekatan visual, ini membuat metode ini mudah dimengerti oleh pengguna atau programmer.
  • Penggunaan analisis grafis dan tool seperti DFD menjadikan SSAD menjadikan bagus untuk digunakan.
  • SSAD merupakan metode yang diketahui secara umum pada berbagai industry.
  • SSAD sudah diterapkan begitu lama sehingga metode ini sudah matang dan layak untuk digunakan.
  • SSAD memungkinkan untuk melakukan validasi antara berbagai kebutuhan
  • SSAD relatif simpel dan mudah dimengerti.
Kekurangan
  • SSAD berorientasi utama pada proses, sehingga mengabaikan kebutuhan non-fungsional.
  • Sedikit sekali manajemen langsung terkait dengan SSAD
  • Prinsip dasar SSAD merupakan pengembangan non-iterative (waterfall), akan tetapi kebutuhan akan berubah pada setiap proses.
  • Interaksi antara analisis atau pengguna tidak komprehensif, karena sistem telah didefinisikan dari awal, sehingga tidak adaptif terhadap perubahan (kebutuhan-kebutuhan baru).
  • Selain dengan menggunakan desain logic dan DFD, tidak cukup tool yang digunakan untuk mengkomunikasikan dengan pengguna, sehingga sangat sulit bagi pengguna untuk melakukan evaluasi.
  • Pada SAAD sulit sekali untuk memutuskan ketika ingin menghentikan dekomposisi dan mliai membuat sistem.
  • SSAD tidak selalu memenuhi kebutuhan pengguna.
  • SSAD tidak dapat memenuhi kebutuhan terkait bahasa pemrograman berorientasi obyek, karena metode ini memang didesain untuk mendukung bahasa pemrograman terstruktur, tidak berorientasi pada obyek (Jadalowen, 2002).

http://andri503.blogspot.com/2012/06/analisa-dan-perancangan-berbasis-objek.html

Rabu, 13 Juni 2012

abstrak sistem informasi

Sistem Informasi adalah suatu kegiatan dari prosedur-prosedur yang diorganisasikan, bilamana dieksekusi akan menyediakan informasi untuk mendukung pengambilan keputusan dan pengendalian di dalam organisasi.
Menurut John F.Nash dan Martil B.Robert (1988:35) yang diterjemahkan oleh Jugianto H.M, menyatakan bahwa ;
Sistem Informasi adalah kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan jalur komunikasi pentingm, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen yang lainnya terhadap kejadian-kejdian internal.
Sistem Informasi menurut John F. Nash (1995:8) yang diterjemahkan oleh La Midjan dan Azhar Susanto, menyatakan bahwa Sistem Informasi adalah :
Sistem Informasi adalah kombinasi dari manusia, fasilitas atau alat teknologi, media, prosedur dan pengendalian yang bermaksud menata jaringan komunikasi yang penting, proses atas transaksi-transaksi tertentu dan rutin, membantu manajemen dan pemakai intern dan ekstern dan menyediakan dasar pengambilan keputusan yang tepat.
Sedangkan menurut Henry Lucas (1988:35) yang diterjemahkan oleh Jugianto H.M, menyatakan bahwa system Informasi adalah :

Dari ketiga pengertian sistem informasi diatas, maka dapat disimpulkan bahwa Sistem Informasi menyediakan informasi untuk membantu pengambilan keputusan manajemen, operasi perusahaan dari hari ke hari dan informasi yang layak untuk pihak luar perusahaan.
Selain itu pengertian sistem informasi menurut Rommey (1997:16) yang dialihbahasakan oleh Krismiaji (2002; 12) adalah sebagai berikut ;
Sistem Informasi adalah cara-cara yang diorganisasi untuk mengumpulkan, memasukkan, mengolah, dan menyimpan data dan cara-cara yang diorganisasi untuk menyimpan, mengelola, mengendalikan dan melaporkan informasi sedemikian rupa sehingga sebuah organisasi dapat mencapai tujuan yang telah ditetapkan.

Daftar Pustaka

http://id.shvoong.com/writing-and-speaking/2124388-pengertian-sistem-informasi-menurut-para/

penulisan ilmiah

          BAB I
PENDAHULUAN

1.1  Latar Belakang Masalah

Pada saat ini, perkembangan teknologi informasi sangat pesat sehingga mengharuskan kinerja teknologi dapat dimanfaatkan dan diimplementasikan pada aspek kehidupan manusia. Salah satu teknologi Sistem Operasi yang berkembang adalah ANDROID. ANDROID saat ini telah begitu mendominasi pasar ponsel pintar, tentunya sebagai pemain utama untuk Sistem Operasi. Bahkan menurut sebuah lembaga riset terkenal, pada kuartal empat tahun 2010, Android telah mengambil posisi OS Symbian yang dipakai oleh Nokia sebagai OS yang paling banyak di sematkan ke Ponsel Pintar.
Para analisis  memperkirakan tahun 2011 hingga saat ini adalah tahun Android. Saat ini baru ada sekitar 200 ribu aplikasi yang ada di Android Market, masih kalah banyak dari jumlah aplikasi yang tersedia untuk iPhone.  Jadi peluang untuk menjadi pengembang aplikasi Android masih sangat terbuka luas, terutamadi masa mendatang
Suatu aplikasi yang banyak kita temukan pada i-Phone ataupun Blackberry namun jarang di jumpai pada ANDROID salah satunya adalah Food delivery call. Pemesanan makanan melalui telepon (delivery call) pada restoran cepat saji adalah salah satu cara pemesanan makanan oleh pelanggan melalui alat komunikasi. Telepon serta pembayarannya dilakukan di tempat  alamat pemesan. Pemesanan makanan dengan cara ini pada restoran cepat saji yang bertujuan mempercepat dan memperluas layanan bagi pelanggan yang bertempat tinggal jauh dan juga untuk menghindari kemacetan lalu lintas. Maka dengan ini akan dibuat aplikasi Pemesanan makanan(Food delivery call)  pada android. Dimana aplikasi ini akan dibuat untuk memudahkan para user android dalam memesan makanan dimanapun dia berada.



1.2 Ruang Lingkup
Dalam penulisan ini, berfokus kepada pembuatan aplikasi delivery food mobile yang berjalan pada sistem operasi android hingga aplikasi tersebut terhubung ke food delivery yang di tuju. Aplikasi ini berisi mengenai nomor telepone restaurant,alamat restaurant,tentang restaurant tersebut dan tidak menggunakan database. Dengan mengunakan platform android, android SDK, ADT plugin dan Eclipse 3.5 (Galileo).
Pada halaman aplikasi ini akan terdapat beberapa list dimana didalamnya berisi imageButton yang jika kita pilih imageButton tersebut, maka akan tampil tiga button pilihan yaitu informasi mengenai restaurant tersebut,calling (memanggil untuk memesan) dan exit (keluar dari aplikasi).

1.3 Tujuan Penulisan
1.       Membantu seluruh elemen masyarakat (user android) dalam memesan makanan yang mereka butuhkan dari food delivery terdekat dengan mudah dan cepat dimana saja.
2.       Membantu  user android  disaat kesibukan yang begitu padat, banyak orang yang tidak sempat untuk beranjak dari tempat kerjanya untuk membeli makanan, padahal urusan ‘perut’ sudah tidak mau berkompromi lagi
3.       Membantu mahasiswa dalam mengembangkan aplikasi delivery food pada android.
1.4 Metode Penelitian
Penelitian dilakukan dalam beberapa tahap yaitu pengumpulan data, penginstalan software (perangkat lunak) pendukung, perancangan aplikasi, pembuatan aplikasi dan tahap uji coba terhadap aplikasi food delivery melalui android.


Pengumpulan data dilakukan melalui studi pustaka terhadap literature baik berupa buku-buku relevan, artikel, tutorial dan dokumentasi dari internet yang membahas mengenai aplikasi food delivery pada android.Penginstalan software pendukung dapat dilakukan melalui pencarian pada browser internet. Perancangan aplikasi dilakukan dengan membuat alur diagram serta perancangan tampilan program dan Pembuatan aplikasi dengan menggunakan aplikasi Eclipse untuk Android.
Perangkat yang Dibutuhkan :
Spesifikasi perangkat keras yang digunakan :
o   Laptop ACER
o   Processor : Intel ® Pentium
o   Memory: 2GB RAM
o    Harddisk 148 GB

Spesifikasi perangkat lunak yang digunakan :
o   Windows 7 Professional
o   Java SDK versi 6.0
o   JRE Versi 6.0
o   Eclipse 3.5 Galileo
o   ADT
o   Android SDK

·        Prosedur Pembuatan Aplikasi
o   Pembuatan naskah program. Naskah program dibuat dengan menggunakan bahasa pemrograman java.





1.5 Sistem Penulisan
Untuk memperjelas dan mempermudah dalam proses penulisan akhir ini, maka dibuat ringkasan penulisan menjadi empat bab. Dimana didalam tiap bab akan dibagi dalam beberapa sub bab. Isi dari keempat bab tersebut antara lain.
BAB I : PENDAHULUAN
Bab ini membahas latar belakang masalah, rumusan masalah, batasan masalah yang telah ditetapkan, tujuan yang hendak dicapai dari penulisan akhir ini, metode penelitian yang dipakai dalam menyelesaikan masalah yang ditemukan serta sistematika penulisan.
BAB II : LANDASAN TEORI
Bab ini berisikan landasan teori yang mendukung pembuatan aplikasi food delivery mobile melalui Android.
BAB III : ANALISA DAN PEMBAHASAN MASALAH
Bab ini berisi penjelasan mengenai tinjauan program, perancangan model, perancangan struktur, pembuatan aplikasi, penjelasan program.
BAB IV : PENUTUP
            Bab ini berisikan kesimpulan dari hasil penulisan serta saran-saran guna memunjang keberhasilan implementasi program yang dibuat.







BAB 2
TINJAUAN PUSTAKA

Penyusunan penulisan ilmiah ini berisi tentang perancangan  aplikasi yang dapat membantu  memudahkan para user android dalam memesan makanan dimanapun dia berada. Pemesanan makanan melalui telepon (delivery call) pada restoran cepat saji adalah salah satu cara pemesanan makanan oleh pelanggan melalui alat komunikasi. Telepon serta pembayarannya dilakukan di tempat  alamat pemesan.
Pemesanan makanan dengan cara ini pada restoran cepat saji yang bertujuan mempercepat dan memperluas layanan bagi pelanggan yang bertempat tinggal jauh dan juga untuk menghindari kemacetan lalu lintas. Maka dengan ini akan dibuat aplikasi Pemesanan makanan(Food delivery call)  pada android. Sehingga pembahasan pembahasan teori yang mendukung isi dari penulisan ilmiah ini mengenai teori, teknologi, android beserta tools yang mendukung dalam mengerjakan aplikasi ini.
2.1 Flowchart
            Flowchart atau diagram alur merupakan suatu representasi secara diagram yang menggilustrasikan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol, hubungan antar proses digambarkan dengan garis penghubung.
            Flowchart ini merupakan langkah awal pembuatan program, dengan adanya flowchart urutan proses kegiatan menjadi lebih jelas, jika ada penambahan proses maka dapat dilakukan lebih mudah.

2.1.2 Jenis Flowchart
Ada beberapa jenis flowchart diantaranya :
Bagan alir sistem
Bagan alir dokumen
Bagan alir skematik
Bagan alir program
Bagan alir prose

 2.1.3.   Sistem flowchart

         Bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file
didalam media tertentu. System flowchart menggambarkan : 

         Hubungan antara suatu file dengan file lainnya.

         Media yang dipakai untuk setiap file.

         Jadi system flowchart dapat memberikan gambaran umum mengenai suatu

system pengolahan data.

2.1.4.    Program flowchart

         Bagan    yang   memperlihatkan      urutan   dan   proses  dalam    suatu program.

Flowchart merupakan langkah awal pembuatan program. Dengan adanya program

flowchart maka urutan proses di program menjadi lebih jelas.

         Jika ada penambahan proses, maka dapat dilakukan lebih mudah. Setelah

flowchart selesai disusun, pemprograman menerjemahkannya ke bentuk program
dengan bahasa pemprograman, seperti basic, pascal, atau cobol.

    2.1.5.  Kaidah – kaidah dalam pembuatan flowchart 
  Urutan dasar pembuatan flowchart : 
  Star   :  Berisi instruksi untuk persiapan peralatan yang
diperluakan sebelum menangani pemecahan
persoalan.
  Read  :   Berisi instruksi untuk membaca data dari suatu
peralatan input.
  Process  :   Berisi kegiatan yang berkaitan dengan pemecahan
persoalan sesuai dengan data yang dibaca.   18
  Write  :  Berisi instruksi untuk merekam hasil kegiatan
keperalatan output. 
  End   :    Mengakhiri kegiatan pengolahan.

Beberapa anjuran dalam pembuatan flowchart : 
1.  Hindari perulangan proses yang tidak perlu dan logika yang berbelit.
2.  Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda
panah untuk memperjelas.
3.  Sebuah flowchart diawali dari satu titik START dan diakhiri dengan
END.

2.2 Android
Android adalah sebuah sistem operasi untuk perangkat lunak mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat peranti lunak untuk ponsel/smartphone. 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.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan  open source pada perangkat mobile. Di lain pihak, Google merilis kode-kode android dibawah  lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler.
Didunia ini terdapat dua jenis distributor sistem operasi android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
Pada masa saat ini kebanyakan vendor-vendor  smartphone sudah memproduksi  smartphone berbasis android, vendor-vendor itu antara lain HTC, Nokia, Motorola, Samsung, LG, HKC, Huawei, Archos, Webstation Camangi, Dell, Nexus, SciPhone, WayteQ, Sony Ericsson, LG, Acer, Philips, T-Mobile, Nexian, IMO, Asus dan masih banyak lagi vendeor smartphone didunia yang memproduksi android. Hal ini karena android adalah sistem oerasi yang  open source sehingga bebas didistribusikan dan dipakai oleh vendor manapun.
Tidak hanya menjadi sistem operasi di  smartphone, saat ini android menjadi pesaing utama dari Apple pada sistem operasi Table PC. Pesatnya pertumbuhan Android selain faktor yang disebutkan diatas adalah karena android itu sendiri adalah platform sangat lengkap baik itu sistem oeprasinya, aplikasi dan Tool Developmen, Google Play serta dukungan yang sangat tinggi dari komunitas  Open source didunia, sheingga android terus berkembang pesat dari segi teknologi maupun dari segi jumlah device yang ada didunia.
2.2.1.  Fitur-fitur Android
Fitur-fitur yang tersedia di Android adalah:
·        Kerangka aplikasi: itu memungkinkan penggunaan dan penghapusan komponen yang tersedia.
·        Dalvik mesin virtual: mesin virtual dioptimalkan untuk perangkat mobile.
·        Grafik: grafik di 2D dan grafis 3D berdasarkan pustaka OpenGL.
·        SQLite: untuk tempat penyimpanan data.
·        Mendukung media: audio, video, dan berbagai format gambar.
·        GSM, Bluetooth, EDGE, 3G, dan wifi.
·        Kamera, dan accelerometer.
·        Multi touch:  kemampuan layaknya handset modern yang dapat menggunakan dua jari atau lebih untuk berinteraksi dengan perangkat.
·        Lingkungan Development    yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk Eclipse IDE.
·        Market  seperti kebanyakan telepon selular yang memiliki tempat penjualan aplikasi, market pada android merupakan katalog aplikasi yang dapat di download dan di install pada telepon selular melalui internet.
2.2.2  Arsitektur Android
Secara garis besar arsitektur android dapat dijelas dan digambarkan sebagai berikut :
a.       Application and Widgets
Application and widgets adalah layer dimana berhubungan dengan aplikasi dan biasanya download aplikasi kemudian lakukan instalasi dan jalankan aplikasi tersebut, delayer inilah terdapat seperti aplikasi inti termasuk klien email, program SMS, kalender, peta,  browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java.
b. Application Frameworks
Android adalah “Open Development Platform” yaitu android menawarkan kepada pengembang atau member kemampuan kepada pengembangan untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi  resources, menjalankan serive background, mengatur alarm, dan menambahkan  tambahan seperti status notifications dan masih banyak lagi. Pengembang memiliki akses penuh menuju API  Framework seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya dengan mudah dapat menggunakan komponen yang sudah digunakan (reuse). Sehingga bisa disimpulkan Application Framework adalah layer dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem android, karena pada layer inilah aplikasi dapat dirancang, seperti content-providers yang berupa sms dan lain sebagainya.
Libraries adalah layer dimana fitur-fitur android berada biasanya para pembuat aplikasi kebanyakan mengakses  libraries untuk menjalankan aplikasinya.
Berjalan diatas kernel, layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta :
1) Libraries media untuk pemutar media audio dan video
2) Libraries untuk manajemen tampilan
3) Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
4) Libraries SQLite untuk dukungan database
5) Libraries SSL dan WebKit terintegrasi dengan web browser dan security
6) Libraries Live Webcore mencakup modern web  browser dengan engine
embedded web view
d. Android Run Time
Layer yang membuat aplikasi android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Didalam Android Run Time dibagi menjadi dua bagian yaitu:
1) Core Libraries : aplikasi android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesin bukan Java Virtual Machine, sehingga diperlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa Java/C yang dihandle oleh Core Libraries
2) Dalvik Virtual Machine : Virtual mesin yang berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien dimana merupakan pengembangan yang mampu membuat linux kernel untuk  threading dan manajemen tingkat rendah.
3) Linux kernel: Linux kernel adalah layer dimana inti dari operating sistem dari android itu sendiri, berisi file-file sistem yang mengatur sistem  processing,  memory, resources, drivers, dan sistem-sistem operanting andoroid lainnya. Linux kernel yang digunakan android adalah linux kernel release 2.6.
Gambar 2.5 Arsitektur Andoroid
2.3.  Versi Android
2.3.1. Android Versi 1.1
Pada 9 Februari 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaharuan:
·        Estetis pada aplikasi.
·        Jam alarm.
·        Voice search (pencarian suara).
·        Pengiriman pesan dengan Gmail.
·        Pemberitahuan email.
2.3.2. Android Versi 1.5 (Cupcake)
Pada 30 April 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software  Development Kit) dengan versi 1.5 (Cupcake) dibangun di atas Linux Kernel  2.6.27. Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini adalah:

·        Kemampuan merekam dan menonton video dengan modus kamera;
·        Mengunggah video ke youtube dan gambar ke Picasa langsung dari telepon;
·        Dukungan bluetooth A2DP;
·        Kemampuan terhubung secara otomatis ke headset bluetooth, animasi layar, dan keyboard pada layar yang dapat disesuaikan dengan sistem.
2.3.3.Android Versi 1.6 (Donut)
Donut (versi 1.6) dibangun di atas  Linux  kernel 2.6.29 dirilis  pada 15 September 2009 dengan beberapa pembaharuan yaitu:
·        Menampilkan proses pencarian yang lebih baik dibanding sebelumnya;
·        Penggunaan baterai indikator dan kontrol applet VPN.
·        Galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus.
·        Kamera, camcorder dan galeri yang diintegrasikan.
·        CDMA / EVDO, 802.1x, VPN, gestures, dan text-to-speech engine;
·        Kemampuan dial contact;
·        Teknologi text to change speech;
·        Pengaturan resolusi VWGA.
2.3.4. Android Versi 2.0/2.1 (Eclair)
Pada tanggal 26 Oktober 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1  (Eclair)  dibangun di atas  Linux  kernel 2.6.29, perubahan yang dilakukan adalah:
·        Pengoptimalan hardware.
·        Peningkatan google maps 3.1.2.
·        Perubahan UI dengan browser baru dan dukungan HTML5.
·        Daftar kontak yang baru.
·        Dukungan flash untuk kamera 3,2 MP.
·        Digital zoom, dan bluetooth 2.1.
2.3.5. Android Versi 2.2 (Froyo)
Android 2.2 atau yang biasa dikenal dengan Froyo dirilis pada tanggal 20 Mei 2010, Froyo dibangun di atas Linux kernel 2.6.32, Froyo  memang merupakan versi terbaru dari sistem operasi Android yang telah dirilis  oleh google untuk melengkapi versi terdahulu. Walaupun secara resmi telah dirilis oleh google, namun tidak semua ponsel Android dapat menggunakan Froyo.Pengguna masih harus menunggu notifikasi resmi yang dikeluarkan masing-masing vendor ponsel. Berikut ini adalah peningkatan performa dari Android 2.2 Froyo:
·        Peningkatan performa meningkat hingga dua kali lipat dari sistem sebelumnya(Eclair). Pengujian kinerja prosesor dalam mengolah multimedia, hingga kemampuan grafis untuk menangani konten 3D.
·        Free memory  yang ada juga lebih besar dari sebelumnya. Jika biasanya pengguna hanya mendapatkan sekitar 100MB, kini dapat menggunakan sekitar250MB dari total 512MB memory yang ada.
·        Perubahan lain dari HTC melalui sistem operasi Froyo Desire adalah  dapat meletakkan aplikasi di  sd card. Pengguna dapat meletakkan seluruh file installasi pada memory eksternal.
·        Merekam video dengan kualitas HD.  Jika  pengguna dapat merekam gambar bergerak pada resolusi  1280x720pixel yang setara dengan kualitas  High Definition.
·        Setelah upgrade ke Froyo, pengguna akan menemukan icon baru pada deretan aplikasi yang ada yaitu  Wi-Fi Hotspot. Seperti namanya, aplikasi ini memungkinkan ponsel pengguna dijadikan sebagai access point.
·        Selain itu masih ada lagi aplikasi tambahan seperti Flashlight, App Sharing, dan Navigation. Khusus untuk navigasi peta, hanya tersedia dalam versi beta dan belum dapat digunakan di beberapa lokasi.
2.3.6.Android Versi 2.3 (Gingerbread)
Pada tanggal 6 Desember 2010  Google merilis Android 2.3 dengan sebutan Gingerbread, dibangun di atas Linux Kernel 2.6.35 dengan beberapa pembaharuan sebagai berikut:
·        Perubahan user interface,
·        Mendukung ukuran layar WXGA,
·        Mendukung nativ SIP VoIP,
·        Mendukung WebM/VP8 playback video, danAAC audio encoding
·        Audio efek baru seperti  reverb, equalization, headphone virtualization,  dan bass boost,
·        Peningkatan grafis, audio dan input untuk pengembang game.
·        Mendukung Near Field Communication(NFC)
·        Peningkatan fungsi copy-paste
Tidak semua perangkat dapat di upgrade ke versi 2.3 ini. Spesifikasi minimum agar dapat di upgrade ke versi Gingerbread adalah  kapasitas CPU 1 GHz, Ram 512MB, diagonal layar minimal 3.5”.
Android 3.0 / 3.1 / 3.2 Honeycomb : Honeycomb 3.0 dirilis pada bulan Februari 2011, kemudian diikuti versi 3.1 dan 3.2 yang hanya keluar pada bulan Juli sampai Agustus 2011. Google memposting banyak preview dan highlight tentang Honeycomb. Tablet berbasis Android 3.x akan berjalan sangat optimalkan untuk tablet, (karena OA android ai bawah 3.0 tidak benar-benar dirancang untuk tablet). Motorola Xoom adalah tablet Android pertama dengan versi 3.x, dan diikuti oleh perangkat tablet lain.
Android 4.0, Ice Cream Sandwich : Versi 4.0 Oktober 2011. Operating system Ice Cream Sandwich akan tersedia untuk smartphone dan tablet, perangkat pertama yang menggunakan OS ini adalah Samsung Galaxy Nexus. Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, perangkat tambahan fotografi, mencari email secara offline, dan berbagi informasi dengan menggunakan NFC serta masih banyak lagi.
2.4. Android SDK
Android SDK adalah  tools API (Application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada  platform android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di release oleh Google. Saat ini disediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada  platform android menggunakan bahasa pemrograman Java. Sebagai  platform aplikasi-netral,android member anda kesempatan unutk membuat aplikasi yang kita butuhkan yang ubkan merupakan aplikasi bawaan Hadphone/Smartphone. Beberapa fitur-fitur android yang paling penting adalah :
a. Framework : aplikasi yang mendukung pengganti komponen dan reusable.
b. Dalvik Virtual Machine dioptimalkan untuk perangkat  mobile
c. Integrated Browser verdasarkan engine open source WebKit.
d. Grafis yang dioptimalkan dan didukung oleh  libraries grafis 2D, grafis 3D     berdasarkan spesifikasi opengl ES 1,0 (Opsional Ekselerasi hardware)
e. SQLite untuk penyimpanan data.
f. Media  Support yang mendukung audio, video, dan gambar (MPEG4, H.264,       MP3,  AAC, AMR, JPG, PING, GIF), GSM Telephony (tergantung Hardware)
g. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware)
h. Kamera, GPS, Kompas, dan Accelerometer (tergantung hardware)
i. Lingkungan Development yang lengkap dan termasuk pernagkat emulator,  tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
Untuk source SDK Android ini dapat dilihat dan didownload langsung di situs resmi pengembang SDK Android di http://www.developer.android.com
2.5. JAVA
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan diterbitkan tahun 1995. Alasan utama pembentukan bahasa java adalah untuk membuat aplikasi-aplikasi yang dapat diletakkan diberbagai macam perangkat elektronik, seperti microwave oven dan remote control, sehingga Java harus bersifat portable atau yang sering disebut dengan platform independent (tidak tergantung pada platform). Itulah yang menyebabkan dalam dunia pemrograman Java, dikenal adanya istilah ‘write once, run everywhere’, yang berarti kode program hanya ditulis sekali, namun dapat dijalankan dibawah  platform  manapun, tanpa harus melakukan perubahan kode program.
Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Bahasa ini pada awalnya disebut  “Oak” tapi kemudian diubah menjadi “Java” pada tahun 1995 karena nama Oak telah  dijadikan hak cipta dan digunakan sebagai bahasa pemrograman lainnya. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).
2.6  Fundamental Aplikasi
Aplikasi android ditulis dalam bahasa pemrograman java, kode java dikompilasi bersama data file  resource yang dibutuhkan oleh aplikasi dimana prosesnya dipaket oleh  tools yang dinamakan “apt  tools” ke dalam paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang sebenernya disebut dengan aplikasi yang dapat diinstal di perangkat mobile nantinya.
Ada enam jenis komponen pada aplikasi android yaitu:
a. Activities
Suatu  activity akan menyajikan  user interface (UI) kepada pengguna, sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi android bisa jadi hanya memiliki satu  activity, tetapi umumnya aplikasi memiliki banyak  activity tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. Satu  activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan kepada  user. Untuk pindah dari satu  activity ke  activity lain dapat dilakukan dengan satu even misalnya click tombol, memilih opesi atau menggunakan triggers tertentu. Secara hirarki sebuah window  activity dinyatakan dengan method  Activity.setContentView(). ContentView adalah objek yang berada pada root hirarki.
b. Service
Service tidak memiliki visual user interface (UI), tetapi  service berjalan secara background, sebagai contoh dalam memainkan music,  service mungkin memainkan music atau mengambil data dari jaringan, tetapi setiap  serviceharuslah berada dalam kelas induknya. Misalnya media player sedang memutar lagu dari list  yang ada. Aplikasi ini akan memiliki dua atau lebih activity yang memungkinkan user untuk memilih lagu atau menulis sms sambil player sedang jalan untuk menjaga music tetapi dijalankan, activity player dapat menjalankan service untuk membuat aplikasi tetap berjalan.  Service dijalankan pada  threadutama dari proses aplikasi.
c. Broadcast Receiver
Broadcast Receiver berfungsi menerima dan bereaksi untuk menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu berubah, baterai  low, gambar telah selesai diambil oleh kamera, atau pengubah referensi bahasa yang digunakan. Aplikasi juga dapat menginisiasi  broadcast misalnya memberikan informasi pada aplikasi lain bahwa ada data yang telah didownload ke perangkat dan siap untuk digunakan.
Broadcast Receiver tidak memiliki  user interface (UI) tetapi memiliki sebuah activity untuk merespon informasil yang mereka terima atau mungkin menggunakan notification manager untuk memberitahu kepada pengguna seperti lampu latar atau viberating (getaran) perangkat dan lain sebagainya.
d. Content Provider
Content Provider membuat kumpulan aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file sistem seperti database SQLite.Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu  activity, misalnya ketika menggunakan aplikasi yang membutuhkan peta (MAP) atau aplikasi yang membutuhkan untuk mengkases data kontak dan navigasi, maka disinilah fungsi content provider.
2.7. Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
2.8. Arsitektur Eclipse
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah  kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari  plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan  Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:
a. Core platform
b. OSGi
c. SWT (Standard Widget Toolkit)
d. JFace
e. Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools),  plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan  plug-in baru. Eclipse beserta  plug-in-nya diimplementasikan dalam bahasa pemrograman Java.
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik[2]. Jadi, Eclipse tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal  plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya.
2.8.1.   Antarmuka Pengguna Android
Antarmuka Android dapat dibangun melalui dua cara, yaitu dengan menulis kode XML atau dengan menulis kode Java. Penggambaran struktur antarmuka menggunakan kode XML sangat dianjurkan dan lebih baik tentunya. Karena  XML merupakan alat yang bagus untuk melakukan tranmisi informasi baik dalam satu platform maupun berbeda platform.
2.8.2.   Pengembangan Aplikasi Android
Ada 4 hal mendasar yang harus kita pahami dalam membangun aplikasi berbasis Android :
1.  Activity, adalah tampilan grafis yang kita lihat ketika menjalankan sebuah aplikasi. Aplikasi dapat memiliki lebih dari satu Activity.
2.  Intent, adalah serangkaian nilai yang menunjukan apa yang harus dilakukan ketika terjadi perpindahan layar.
3.  Service, adalah layanan yang bekerja di belakang layar (background).
4.  Content provider, memungkinkan sebuah aplikasi untuk dapat menyimpan dan menerima data dari database.

2.9.  XML
XML (eXtensible Markup Language) dikembangkan mulai tahun 1996 dan mendapatkan pengakuan dari W3C pada bulan Februari 1998. Teknologi yang digunakan pada XML sebenarnya bukan teknologi baru, tapi merupakan turunan dari SGML yang telah dikembangkan pada awal 80-an dan telah banyak digunakan pada dokumentasi teknis bebagai proyek berskala besar. Ketika HTML dikembangkan pada tahun 1990, para penggagas XML mengadopsi bagian paling penting pada SGML dan dengan berpedoman pada pengembangan HTML menghasilkan markup language yang tidak kalah hebatnya dengan SGML.
2.9.1.   Perintah Dasar XML Android
XML Android pada dasarnya berbeda dengan XML secara umum. Pada XML Android, nama-nama  tag  telah didefinisikan oleh Android SDK, tidak seperti XML pada umumnya yang dapat menuliskan nama-nama  tag  sesuai keinginan. Beberapa tag XML Android yang sering digunakan dapat dilihat pada
Tabel 2.1. Tag XML Android
Selain nama-nama  tag, pada XML Android juga  menyediakan perintah untuk mengatur widget-widget tersebut yang dituliskan di dalam tag-tag tersebut.
Perintah perintah yang sering digunakan antara lain ada pada Tabel 2.2.

Tabel 2.2. Perintah XML untuk mengatur widget
2.10.    Struktur Navigasi
Struktur navigasi adalah alur yang digunakan dalam aplikasi yang dibuat. Sebelum menyusun aplikasi multimedia kedalam sebuah software, kita harus menentukan terlebih dahulu alur apa yang akan digunakan dalam aplikasi yang dibuat.
Struktur navigasi dapat digolongkan menurut kebutuhan akan objek, kemudahan pemakaian, keinteraktifitasannya, dan kemudahan membuatnya yang berpengaruh terhadap waktu pembuatan. Bentuk dasar dari struktur navigasi yang biasa digunakan dalam proses pembuatan aplikasi multimedia ada empat macam, yaitu struktur navigasi liniar, hirarki, non liniar dan campuran.

2.10.1  Struktur Navigasi Hirarki
Struktur navigasi hirarki sering disebut struktur navigasi bercabang, yaitu merupakan suatu struktur yang mengandalkan percabangan untuk menampilkan data atau gambar pada layer dengan kriteria tertentu. Tampilan pada menu utama disebut master page (halaman utama satu), halaman tersebut mempunyai halaman percabangan yang disebut slave page (halaman pendukung) dan jika dipilih akan menjadi halaman kedua, begitu seterusnya. Yang terpenting dari struktur navigasi ini tidak diperkenankan adanya tampilan secara linier.

2.10.2  Struktur Navigasi Linier
Struktur navigasi linier merupakan struktur yang mempunyai satu rangkaian cerita berurutan. Struktur ini menampilkan satu demi satu tampilan layer secara berurutan menurut aturannya. Salah satu yang terpenting dari struktur ini adalah tidak diperkenankan terjadinya percabangan.

2.10.3. Struktur Navigasi Non Linier
Struktur navigasi non linier atau struktur tidak berurut merupakan pengembangan dari struktur navigasi linier, hanya saja pada struktur ini diperkenankan untuk membuat percabangan. Percabangan pada struktur non linier berbeda dengan percabangan pada struktur hirarki, pada struktur ini kedudukan semua page sama, yaitu tidak ada master page (halaman utama) ataupun slave page (halaman pendukung).
    
2.10.4. Struktur Navigasi Campuran
Struktur navigasi campuran merupakan gabungan dari ketiga struktur sebelumnya dan disebut juga struktur navigasi bebas, maksudnya adalah jika suatu tampilan membutuhkan percabangan maka dibuat percabangan. Struktur ini paling banyak digunakan dalam pembuatan aplikasi multimedia karena struktur ini dapat memberikan keinteraksian yang lebih tinggi. Jika suatu tampilan memerlukan percabangan, maka dapat dibuat percabangan. Bila dalam percabangan tersebut terdapat satu tampilan yang sama kedudukannya, maka dapat dibuat struktur linier dalam percabangan tersebut









BAB III

3.1       Pembahasan Masalah
Pemesanan makanan dengan cara ini pada restoran cepat saji yang bertujuan mempercepat dan memperluas layanan bagi pelanggan yang bertempat tinggal jauh dan juga untuk menghindari kemacetan lalu lintas. Maka dengan ini akan dibuat aplikasi Pemesanan makanan(Food delivery call)  pada android. Sehingga pembahasan pembahasan teori yang mendukung isi dari penulisan ilmiah ini mengenai teori, teknologi, android beserta tools yang mendukung dalam mengerjakan aplikasi ini.


3.2       Flowchart
Dalam pembuatan suatu program hendaknya dibuat flowchar, ini bertujuan untuk memberikan gambaran dari susunan program yang dibuat. Selain itu agar memberikan kemudahan dalam penyusunana program-program dan cara pemakaian program tersebut.

Gambar 3.2 Flowchart Program

3.3       Rancangan Tampilan Input Output
Untuk membuat aplikasi ini menjadi lebih menarik dan mudah untuk digunakan penulis mendisain tampilan tidak terlalu rumit sehingga memudahkan aplikasi ini digunakan. Adapun rancagna ini yaitu Halaman Utama sekaligus sebagai halaman pencarian.

3.3.1    Rancangan Tampilan Utama

Gamabar 3.1 Tampilan Utama

Keterangan Gambar :
1.      TextView1                  : menampilkan judul aplikasi.
2.      EditText1                    : untuk memilih restoran
3.      Btn1(Button)              :menghubungi.
4.      TextView2                  : menampilkan info
5.      TextView3                  : menampilkan gambar restoran

Form utama ini adalah form yang akan digunakan user dalam melakukan pencarian terjemahan. Pada form ini user akan memasukkan kata yang mau diketahuia artinya, kemudian menampilkan artinya pada halaman ini juga.

3.4       Pembuatan Aplikasi
Pada pemrograman Eclipse Helios 3.6.2 sebelum kita membuat aplikasi, kita akan terlebih dahulu merancang bentuk tampilan dari aplikasi yang akan kita buat, untuk itu Eclipse Helios 3.6.2 telah menyediakan form yang dgunakan sebagai tampilan dari aplikasi yang kita akan buat. Form pada dasarnya sebagai tempat peletakan dari program yang kita buat. Selain itu form juga dapat mempermudah dalam pembuatan aplikasi dan dalam penerapan aplikasi program tersebut agar lebih mudah untuk digunakan oleh para pengguannya (user friendly).

3.4.1      Form Menu Utama
Form menu utama (main) adalah form yang akan menampilkanhalaman utama dari aplikasi sekaligus sebagai halaman pencarian arti kata. Untuk membuat form menu utama (main), pilih FILE – New – Android Project, kemudian kita buat nama projectnya tentukan build target yang akan dibuat lalu isi Application Name, Package Name, dan Create Activity. Setelah melakukan pengaturan, secara otomatis Eclipse Helios akan memasukkan project yang kita buat ke workspace yang sudah ada dan membuat sebuah form pada lingkungan IDE-nya. Pada form yang telah ada kita akan tempatkan button untuk menartikan kata yang dimasukkan.
3.5       Pengkodean Android Manifest
Pada pembuatan aplikasi android terdapat file yang dinamakan AndroidManifest. File ini sangat diperlukan oleh setiap aplikasi Android, berguna untuk mendeskripsikan nilai global paket aplikasi yang dibuat. Nilai-nilai itu termasuk komponen yang ada pada aplikasi seperti: activity, service, dan lain sebagainya. Pada awalnya android manifest sudah berisi kode xml ketika dibuatnya folder aplikasi yang akan dibuat. Berikut potongan pengkodeannya :

3.6       Spesifikasi
Dalam pembuatan suatu aplikasi kamus istilah kedokteran ini, penulis menggunakan alat bantu berupa Hardware dan software yang mendukung kelancaran pembuatan aplikasi ini. Dengan beberapa kriteria yang akan dirincikan pada sub bab berikut.
3.6.1    Spesifikasi Hardware
Disini penulis menggunakan Laptop ACER Aspire 4810T dengan spesifikasi sebagai berikut :
·         Processor        :Processor Intel Core 2 Solo CPU U3500 1,40 Ghz
·         Memori           : RAM 4096 Mb
·         Monitor           : Generic PnP Monitor
·         Harddisk         : 320 Gb
·         VGA               : VGA Mobile Intel 4 Series Express Chipset Family 300 Mb

3.6.2    Spesifikasi Software
Dengan menggunakan beberapa software pendukung diantaranya sebagai berikut :
Sistem Operasi            : Windows 7 Ultimate
Software                     :
·         Eclipse Helios 3.6.2
·         SQLite Expert Personal 3
·         JDK (Java Development Kit)
·         ADT (Android Development tools)
·         Android SDK Manager




 BAB IV

4.1       Kesimpulan
Penulisan ini berisis pembuatan aplikasi FOOD DELIVERY, untuk mahasiswa yang mengambil jurusan yang behubungan khusunya dan masyarakat luas umumnya yang menggunakan ponsel berbasis Android. Dengan menggunakan beberapa software pembantu yang digunakan untuk membuat aplikasi ini Seperti Android SDK dan Eclipse Helios sebagai IDE (Integrated Developmnet Environtment).

4.2       Saran
Pembuatan aplikasi FOOD DELIVERY  ini sangatlah sederhana. Pada aplikasi ini fasilitas yang disediakan hanyalah sebatas info dan nomor trlrpon restoran. Karena aplikasi ini ditujukan hanya untuk pemesanan makanan, maka penulis menyarankan agar user bisa mencari referensi lain untuk menambah kebenaran data.


DAFTAR PUSTAKA

[1]          Agus Haryanto. Categories Android. http://agusharyanto.net/wordpress. 5 Juli 2011.
[2]  Andi Sunyoto. Apa itu XML (eXtensible Markup Language) ?Part  #1.http://www.andisun.com/artikel/apa-itu-xml-extensible-markup-language-part-1. 23 Juli 2009.

 

[3]        URL:http://id.wikipedia.org/wiki/Jawa

[4]        URL: http://id.wikipedia.org/wiki/Kamus


[6]        URL: http://id.wikipedia.org/wiki/Java