Pages

Jumat, 16 Oktober 2015

Membuat Aplikasi Kalkulator Sederhana di Android

Aplikasi perhitungan seserhana ya bisa disebut kalkulator sederhana berikut cuplikannya....

Membuat Aplikasi Android Sederhana (1) 

saya membuatnya aplikasi ini di smartphone android saya dengan aplikasi pemograman bernama AIDE, aplikasi AIDE bisa di download di plyastore, btw udah tahu aplikasi AIDE ?.

Ya ini singkat aja, AIDE merupakan suatu aplikasi pemrograman di Android yang mana dapat mengcompile bahasa pemograman java untuk di jadikan aplikasi yang langsung bisa di jalankan di smartphone android.
ok, langsung kita ke TKP (OVJ Mode On)
:)
langsung buka AIDE jika sudah di install maka akan ada tampilan pertama seperti ini

Membuat Aplikasi Android Sederhana (2)
Karena kita ingin membuat aplikasi kalkulator sederhana maka kita ganti MyApp dengan nama Kalkulator_Sederhana.
Membuat Aplikasi Android Sederhana (3)
Klik Create, lalu akan muncul tampilan ini
Membuat Aplikasi Android Sederhana (4)
Kemudian cari dan touch file main.xml di folder /sdcard/AppProject/Kalkulator_Sederhana/res/layout, berikut picnya
Membuat Aplikasi Android Sederhana (5)
Disinilah kita mulai mengcoding layout dari aplikasi tersebut, berikut code main.xml untuk kalkulator sederhana


Setelah itu kembali lagi ke main.xml kemudian klik/touch icon pic untuk melihat hasil design layoutnya.
Membuat Aplikasi Android Sederhana (6)
Membuat Aplikasi Android Sederhana (7)
jika sudah bagus maka kembali dan cari lah file MainActivity.java di folder /sdcard/AppProject/Kalkulator_Sederhana/src/com/mycompany/myapp
Membuat Aplikasi Android Sederhana (8)
kemudian masukan kodenya seperti dibawah ini


Setelah dicoding seperti itu langsung bisa dijalankan dengan mengklik menu dan run
Membuat Aplikasi Android Sederhana (9)
Membuat Aplikasi Android Sederhana (10)
kemudian install and open.
Membuat Aplikasi Android Sederhana (11)
Sudah selesai coba dijalankan.

Minggu, 11 Oktober 2015

Contoh Flowchart Program Sistem Pakar


Pengertian Flowchart Flowchart adalah penyajian yang sistematis tentang proses dan logika dari kegiatan penanganan informasi. Program Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program (Widia, 1983:4).

Mengapa harus menggunakan Flowchart?

Bagi Anda yang sedang menyelesaiakan Tugas Akhir atau skripsi terutama jurusan teknik informatika,  menggunakan flowchart sangat diperlukan untuk membantu dalam pembuatan program. Dengan menggunakan flowchart akan memudahkan Anda untuk mengerti jalannya/alur dari suatu program, karena didalam sebuah flowchart terdapat, antara lain:
1. Relationship
Flowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas tentang prosedur logic. Teknik penyajian yang bersifat grafis akan lebih baik daripada uraian-uraian yang bersifat teks khususnya dalam menyajikan logika-logika yang bersifat kompleks.
2.Analysis
Dengan adanya pengungkapan yang jelas dalam model atau chart, maka para pembaca dapat dengan mudah melihat permasalahan atau memfokuskan perhatian pada area-area tertentu sistem informasi.
3. Communication
Karena simbol-simbol yang digunakan mengikuti suatu standar tertentu yang sudah diakui secara umum, maka flowchart dapat merupakan alat bantu yang sangat efektif dalam mengkomunikasikan logika suatu masalah atau dalam mendokumentasikan logika tersebut.

Daftar Simbol pada Flowchart

gambar simbol flowchart

Contoh Flowchart Program Sistem Pakar “Rancangan layar Sistem Pakar Diagnosa Penyakit Bayi”

flowchart digunakan untuk pengembangan sebuah aplikasi, dan memudahkan dalam pembuatan sebuah program. Sebelum menggunakan flowchart, biasanya kita membuatkan dulu sebuah rancangan layar yang disesuaikan dengan kebutuhan data dan kebutuhan pengguna. Kali ini, saya akan mengambil dua buah contoh rancangan layar menu utama dari aplikasi sistem pakar diagnosa penyakit bayi dengan gambar rancangan layar seperti di bawah ini:

1. Gambar rancangan layar halaman menu utama (homepage)
gambar rancangan layar menu utama
2. Gambar rancangan layar halaman menu konsultasi
gambar rancangan layar konsultasi
Melihat contoh rancangan layar di atas, flowchart yang akan dibuat adalah seperti berikut ini:

1. Flowchart menu utama
gambar contoh flowchart menu utama
gambar flowchart
Dari gambar flowchart menu utama di atas, dapat dijelaskan ditampilkannya menu utama hingga respon dari program saat user memilih pilihan yang ada di menu utama. Bila dijelaskan lebih detail, dengan menggunakan simbol dan keterangan flowchart dapat dijabarkan langkah-langkah yang bisa dilakukan oleh user sebagai berikut:
a. User/pengguna pilih “start” yang diwakili oleh simbol terminator yang menggambarkan kegiatan awal atau akhir dari suatu proses. Pada langkah ini simbol terminator menjabarkan kegiatan awal program tampilan halaman menu utama.
b. Kemudian tampil halaman utama dimana diwakili oleh simbol proses yang berfungsi menggambarkan suatu proses.
c. Setelah tampil halaman menu utama, user disediakan beberapa pilihan menu yang harus dia pilih. Setiap menu yang ada diwakili oleh simbol decision yang berfungsi menggambarkan suatu keputusan atau tindakan yang harus diambil pada kondisi tertentu (T/F).
d. Jika user memilih “Home” maka user akan tetap berada di halaman utama, ditunjukkan dengan simbol line connector yang mengarah ke “tampil menu utama”.
e. Jika pilih “konsultasi” maka user akan dibawa/masuk ke halaman konsultasi yang ditunjukkan dengan simbol off-page reference yang berfungsi menghubungkan suatu simbol dengan simbol yang lainnya pada halaman yang berbeda.
Keterangan: pada saat user memilih menu konsultasi, maka user dibawa ke menu konsultasi (lihat simbol off-page reference) yang digambarkan pada flowchart konsultasi
f. Jika user tidak memilih “konsultasi” tapi memilih “kamus istilah” maka user akan dibawa ke halaman “kamus istilah” pada halaman yang sama dengan diwakili simbol on-page reference yang berfungsi menghubungkan suatu simbol dengan simbol yang lainnya pada halaman yang sama.
g. Jika user tidak memilih “kamus istilah” tapi memilih “login” maka user akan di bawa ke halaman “ADM/administrator”.  Dan jika user tidak memilih semua dari tampilan menu utama yang ada, user bisa pilih keluar/exit dari program yang ada, dengan diwakili oleh simbol terminator “END”.

2. Flowchart Konsultasi

gambar flowchart konsultasi

Pada Flowchart Konsultasi diatas menggambarkan alur proses konsultasi saat menu konsultasi dijalankan. Penjabaran mengunakan simbol dan keterangan flowchart di atas, tidak berbeda jauh dengan flowchart menu utama, hanya saja di flowchart konsultasi ini, ada simbol predefine proses yang berfungsi mengambarkan proses-proses yang masih bisa dijabarkan dalam algoritama.
Kedua flowchart di atas, bisa dijelaskan/dijabarkan dengan menggunakan Algoritma. Dimana algoritma ini bertujuan untuk mempermudah dalam melacak dan menelusuri kesalahan-kesalahan pada program dan mempermudah dalam pembuatan program.

Algoritma Menu Utama dan Konsultasi Sistem Pakar Diagnosa Penyakit Bayi Baru Lahir

Algoritma merupakan suatu bahasa yang memungkinkan programmer untuk berpikir terhadap permasalahan yang dipecahkan tanpa harus memikirkan syntax dari bahasa pemrograman yang akan digunakan atau dari bahasa pemrograman tertentu. Algoritma digunakan untuk menjembatani bahasa sehari-hari programmer dengan bahasa pemrograman yang akan digunakan.

1. Algoritma Menu utama
 
Algoritma menu utama ini akan menjelaskan proses tentang menu yang akan dipilih oleh user. Berikut Algoritma dari program menu utama sistem pakar diagnosa penyakit bayi.
1. Start
2. Tampil Menu Utama
3. If pilih = home then
4.   Kembali ke baris 2
5. Else if pilih – kamus istilah then
6.   Menuju ke menu konsultasi
7. Else if pilih = kamus istilah then 
8.  Menuju ke kamus istilah
9. Else if pilih = login then
10.   Menuju ke administrator
11. Else
12.   end
13. End if
2. Algoritma Konsultasi
 
Algoritma konsultasi menjelaskan proses untuk mendiagnosa penyakit pada bayi baru lahir.
1.   Tampil pertanyaan
2.   If pilih=pertanyaan then
3.    proses cari pertanyaan berdasarkan id_tanya sebelumnya
4.    Tampil pertanyaan
5.    If pilih=pertanyaan then
6.     Proses cari kesimpulan berdasarkan id_simpul
7.      If Kesimpulan ditemukan=true then
8.       Tampil kesimpulan
9.       If pilih=tanya lagi then
10.      Kembali ke baris 1
11.      Else if pilih=tombol kembali then
12.       Menuju menu utama
13.      Else
14.       Kembali ke baris 9
15.     End if
16.  Else
17.    Menuju ke baris 3
18.  End if
19. Else if pilih=arahan then
20.  Proses cari arahan berdasarkan id_tanya dan id_simpul
21.   Tampil arahan
22.   Menuju baris 9
23.  End if
24. Else if pilih=tombol kembali then
25.  Menuju ke menu utama
26. Else
27.  Kembali ke baris 5
28. End if
Untuk contoh lengkap rancangan layar, simbol flowchart (flowchart yang digunakan) dan Algoritama sistem pakar, Anda bisa melihatnya di artikel kumpulan skripsi sistem pakar pada bab 3 (Analisa masalah dan rancangan sistem) skripsi dari Universitas Budi Luhur Jakarta

Senin, 05 Oktober 2015

Dasar pemrograman Android: Pengenalan Java, Android dan Eclipse

Pengenalan Java

Definisi java menurut Sun Microsystem (perusahaan pemilik hak cipta java) adalah nama untuk sekumpulan teknologi yang membuat perangkat lunak dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan/internet (sumber www.sun.com). java berdiri di atas sebuah  mesin intepreter yang diberi nama  java Virtual Machine (JVM). JVM inilah yang akan membaca  bytecode dalam file.class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu bahasa java disebut sebagai bahasa pemrograman yang portable, karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM.
Pada tahun 2009 Oracle membeli Sun Microsystem yang berakibat secara tidak langsung java menjadi milik oracle secara penuh . java resmi diakuisi pada 27 Januari 2010  (sumber oracle press release)
Karakteristik java :
  1. Sederhana
Sintaks java seperti sintaks pada C++ tetapi sintaks java tidak memerlukan header file, pointer arithmatic, struktur union, operator overloading, class virtuall base, dan yang lainnya. Jika mengenal C++ dengan baik, maka pengguna dapat berpindah ke sintaks java dengan mudah.
  1. Berorientasi Objek (Object Oriented)
Berorientasi objek merupakan suatu teknik yang memusatkan rancangan pada data (objek) dan interface. Fasilitas pemrograman berorientasi objek pada java pada dasarnya adalah sama dengan C++. perbedaan utama antara java dengan C++ terletak pada penurunan berganda (multiple inheritance). java tidak mengenal multiple inheritance seperti pada C/C++. Multiple Inheritance membingungkan dan berakibat pada sulitnya pembuatan aplikasi. Sebagai gantinya java menggunakan interface.
  1. Portabel
Java dapat digunakan pada segala macam arsitekstur komputer dan perangkat karena sifatnya yang portable. Dapat dieksekusi di beragam platform tanpa harus melakukan perubahan kode secara menyeluruh. Sebagai contoh, aplikasi java yang dapat berjalan di windows maka juga dapat berjalan dengan baik di sistem operasi linux dan mac. Dengan hanya membutuhkan java virtual machine yang serupa tanpa melakukan perubahan pada kode aplikasi tersebut.

Platform java terdiri dari sekumpulan library, compiler, debugger dan alat lain yang dipaket dalam java development kit (JDK). Agar sebuah program java dapat  dijalankan, maka file dengan ekstensi  .java harus dikompilasi menjadi file  bytecode. Untuk menjalankan file  bytecode  tersebut dibutuhkan  JRE (java runtime environment) yang memungkinkan pengguna untuk menjalankan program java. JRE terdiri dari JVM dan pustaka java yang digunakan.
Platform java memiliki tiga buah edisi yang berbeda :
  1. J2EE (java 2 Enterprise Edition)
  2. J2SE (java 2 Second Edition)
  3. J2ME (java 2 Micro Edition)

    Gambar Edisi java dan sasaran targetnya pada perangkat

    Penjelasan gambar (Sumber: java.com) yaitu:
    1. KVM (K Virtual Machine) adalah : sebuah subset dari java virtual machine yang dioptimalisasikan untuk perangkat bermemori kecil dan perangkat berukuran kecil atau lebih dikenal dengan perangkat CLDC (Connected Limited Device Configuration). KVM support penggunaan memori hingga 512KB
    2. CVM  (C Virtual Machine) adalah : sebuah subset dari virtual machine yang dioptimalisasikan untuk perangkat-perangkat berukuran kecil yang  penggunaan memorinya diatas +2MB atau lebih dikenal dengan perangkat CDC (Connected Device Configuration).
    3. JVM  (Java Virtual Machine) adalah: Java virtual machine yang merupakan pusat dari CVM dan KVM dan meliputi J2ME, J2SE dan J2EE dengan penerapan pada banyak perangkat dan cakupan support memori yang luas 


    Android


    Android   merupakan   OS   mobile   yang  tumbuh di tengah OS Lainnya   yang  berkembang  dewasa  ini.  OS  lainnya  seperti Windows Mobile, iPhone OS, Symbian, dan masih banyak lagi Juga menawarkan kekayaan isi dan keoptimalan berjalan di atas perangkat    hardware   yang ada.  Akan tetapi, OS yang ada ini berjalan  dengan  memprioritaskan  aplikasi  inti  yang dibangun sendiri tanpa  melihat  potensi  yang  cukup besar   dari  aplikasi pihak ketiga. Oleh  karena itu,  adanya keterbatasan  dari aplikasi pihak ketiga untuk mendapatkan data asli ponsel, berkomunikasi antar proses  serta keterbatasan  distribusi  aplikasi pihak  ketiga untuk platform mereka. Android menawarkan sebuah lingkungan yang berbeda untuk pengembang.  Setiap  aplikasi  memiliki  tingkatan   yang sama. Android tidak membedakan antara aplikasi inti dengan aplikasi pihak ketiga. API  yang disediakan menawarkan akses ke hardware,  maupun data-data  ponsel   sekalipun,   atau  sistem sendiri.  Bahkan  pengguna  dapat  menghapus aplikasi inti dan menggantikannya dengan aplikasi pihak ketiga.

    Sejarah Android

    Android merupakan sistem operasi yang dikembangkan untuk perangkat mobile berbasis Linux. Pada awalnya sistem operasi ini dikembangkan   oleh   Android Inc.  yang   kemudan   dibeli   oleh  Google pada tahun 2005.Dalam    usaha    mengembangkan   Android   pada   tahun   2007 dibentuklah Open Handset Alliance (OHA), sebuah konsorsium  dari beberapa  perusahaan,   yaitu Texas Intruments,Broadcom Corporation, Google, HTC, Intel, LG, Marvell Technology  Group, Motorola, Nvidia, Qualcomm, Samsung Electronics, Sprint Nextel, dan T-Mobile dengan tujuan untuk mengembangkan standar terbuka untuk perangkat mobile. Pada tanggal 9 December 2008 diumumkan bahwa 14 anggota baru akan bergabung pada proyek Android,yaitu perusahaan PacketVideo, ARM Holdings, Atheros  Communications, Asustek Komputer Inc, Germin Ltd, Softbang, Sony Ericsson, Toshiba Corp, dan Vodafone Group.
    Gambar Arsitektur Android

    1. Applications

    Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan  Terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat  pada Android termasuk kalender, kontak, SMS, dan lain sebagainya Aplikasi-aplikasi ini ditulis dengan bahasa pemrograman java.

    1. Application Framework  

    Pengembang aplikasi memiliki akses penuh ke android sama Dengan aplikasi inti yang telah tersedia. Pengembang dapat Dengan mudah mengakses informasi lokasi, mengatur alarm, Menambahkan pemberitahuan ke situs bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyedarhanakan penggunaan kembali komponen, aplikasi apa pun dapat memublikasikan Kemampuan dan aplikasi lain dapat menggunakan Adalah seperangkat layanan dan sistem yaitu berbagai view yang Digunakan untuk membangun UI, content provider yang memungkinkan aplikasi berbagai data, resource manager menyediakan akses bukan kode seperti grafik, string, dan layout, notification manager yang akan membuat aplikasi dapat  menampilkan tanda pada status bar dan activity manager yang berguna mengatur  daur hidup dari aplikasi.

    1. Libraries

    Satu set libraries dalam bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem Android.

    1. Android Runtime

    Satu set libraries inti yang menyediakan sebagai besar fungsi Yang tersedia di libraries inti dari bahasa pemrograman java. Setiap aplikasi akan berjalan sebagai proses sendiri pada DalvikVirtual Machine.

    1. Linux Kernel 

    Android bergantung pada Linux versi 2.6 untuk layanan sistem  inti seperti keamanan, manajemen memori, manajemen proses, Network stack,dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.
    Android adalah sistem operasi yang menarik karena dalam setiap rilisnya selalu menggunakan nama-nama makanan cemilan serta versinya yang selalu alphabet.
    Berikut adalah versi android yang dirilis:

    • Android versi 1.1

    Pada 9 Maret 2009, Google merilis Android versi 1.1 Android Versi ini dilengkapi dengan pembaruan pada aplikasi, jam alarm, Voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email.

    • Android versi 1.5 (Cupcake)

    Terdapat beberapa  pembaruan  termasuk  juga   penambahan Beberapa fitur dalam versi ini yakni kemampuan mereka dan  Menonton video dengan modus kamera, dukungan Bluetooth A2DP, Kemampuan terhubung secara otomatis ke headset  Bluetooth, animasi layar, dan keyboard pada layar yang dapat  disesuaikan dengan sistem dirilis pada pertengahan mei 2009.
    Gambar Tampilan antar muka Android 1.5

    • Android versi 1.6 (Donut)

    Donut(versi 1.6) dirilis pada September 2009 dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, Penggunaan baterai indicator dan control applet VPN Fitur Lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan akan dihapus; kamera, camcorder dan galeri Yang dintegrasikan; CDMA / EVDO, VPN, Gestures, dan Text-to-Speech engine; kemampuan dial kontak, dan pengadaan resolusi WVGA .
    Gambar  Tampilan antar muka Android 1.6

    • Android versi 2.0/2.1 (Éclair)  

    Android  ini diluncurkan pada 3 December 2009. Dilakukan Perubahan, yaitu pengoptimalan hardware, perubahan UserInterface (UI) dengan browser baru dan dukungan HTML5, daftar Kontak yang baru, peningkatan Google Maps  3.1.2, dukungan  Flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1.
    Gambar Tampilan antar muka Android 2.1

    • Android versi 2.2 (Froyo)

    Pada 20 Mei 2010 kembali diluncurkan ponsel android dengan versi 2.2 (Froyo) perubahan yang dilakukan melipati optimasi kecepatan, memori,dan kenerja sistem operasi secara Keseluruhan, dukungan untuk menginstalasi aplikasi pada memori  eksternal, dukungan adobe flash 10.1 serta fungsi USB tethering Maupun Wifi hotspot. Android versi ini adalah yang paling banyak digunakan di ponsel di sepanjang tahun 2010 – akhir 2011, namun pada sepanjang 2012 android 2.3 menjadi versi yang paling banyak beredar.

    Gambar  Tampilan antar muka Android 2.2 

    • Android versi 2.3 (Gingerbread) 

    1 December 2010 Google kembali meluncurkan versi terbaru yaitu Android versi 2.3, Pada versi ini terdapat peningkatan manajemen daya, kontrol melalui aplikasi, penggunaan multipel kamera,Peningkatan performa serta penambahan sensor seperti gyroscope.Versi ini adalah yang paling banyak digunakan di ponsel. Tercatat di tahun 2012 (sumber android.com) bahwa penggunaan versi 2.3 sudah mencapai 60 % lebih. Sebuah ponsel yang menjalankan android versi 2.3 umumnya memiliki spesifikasi ponsel yang cukup tinggi, dikarenakan karena versi ini membutuhkan resource yang berbeda dengan yang sebelumnya sehingga umumnya prosesor ponsel yang menjalankan OS ini memiliki clock diatas 600mhz.
    Gambar Tampilan antar muka Android 2.3

    • Android versi 3.0/3.1 (Honeycomb)

    Versi ini berbeda dengan versi-versi sebelumnya. Versi ini dirancang khusus untuk PC Tablet. Selain itu, pada versi ini memungkinkan penggunaan multiprosesor dan akselerasi perangkat keras untuk grafis.  
    Gambar  Tampilan antar muka android 3

    • Android 4.0 (Ice Cream Sandwich)

    Dikeluarkan dikuartal keempat tahun 2011. ICS adalah versi android yang memiliki fitur serba lengkap dibanding versi sebelumnya , seperti fitur unlock menggunakan sensor wajah, tampilan yang menawan dan indah dan fitur NFC
    Gambar  Tampilan antar muka Android 4.0

    • Android 4.1 (Jelly Bean)

    Diungkap pada ajang Google I/O pada juni 2012 dengan perbaikan UI, tambahan fitur baru dan tentunya support device seperti USB, video game controller, dan lainnya. Dengan API baru serta penyempurnaan disisi NFC.
    Gambar  Tampilan antar muka Android 4.1-4.3 Jelly bean

    • Android 4.4 (Kit Kat)

    Dirilis pada september 2013 android ini adalah penyempurnaan versi sebelumnya Jelly bean dengan beberapa fitur baru, support hardware baru dan kemampuan berjalan pada perangkat wearable seperti smartwatch, dan pada versi ini pula penggunaan  Android Runtime sebagai pengganti Dalvik mulai diperkenalkan sehingga pada versi ini android semakin cepat nan gesit.
    Gambar  Tampilan antar muka Android 4.4 Kit Kat

    • Android 5.0 (Lollipop)

    Dirilis pada November 2014 pada versi ini Android mengalami perombakan besar-besaran. Dengan tampilan UI yang disebut Material Design Android lollipop menawarkan perbedaan besar dibanding versi sebelumnya. Juga pada versi ini Android Runtime (ART) mengganti secara default penggunaan Dalvik Runtime.Pada android versi ini pula disematkan proyek volta dimana android semakin irit baterai dan bisa disetup untuk penghematan baterai. Beberapa tambahan bahasa baru juga disematkan dan Lockscreen yang semakin interaktif.
    Gambar  Tampilan antar muka Android 5.0  Lollipop

    Pengembangan sistem operasi dan aplikasinya sendiri mengacu Pada empat prinsip, yaitu:

    1. Opensource

    Android dibangun untuk menjadi benar-benar opensource. Sebagai contoh sebuah aplikasi dapat mengambil dan mengakses  fungsi-fungsi utama ponsel seperti membuat panggilan mengirim pesan teks, menggunakan kamera dan lain-lain. Hal ini memungkinkan para pengembang untuk membuat aplikasi yang lebih baik 

    1. Semua Aplikasi Dibuat Sama  

    Android tidak membedakan antara aplikasi inti ponsel dan aplikasi pihak ketiga. Kedua jenis aplikasi ini dapat dibangun  dan memiliki akses yang sama ke ponsel. Pengguna dapat sepenuhnya mengatur telepon sesuai kepentingan mereka.

    1. Mendobrak Batasan Aplikasi 

    Android membuang berbagai hambatan untuk mambangun aplikasi baru yang inovatif. Misalnya seorang pengembang dapat menggabungkan informasi dari web dengan data individu dari ponsel. Misalnya data kontak, kalender, atau lokasi geografis sehingga memberikan informasi yang lebih relevan. Dengan Android, pengembang juga dapat membangun  aplikasi yang memungkinkan pengguna untuk melihat lokasi dan terkoneksi dengan temam-temannya.

    1. Pengembangan Aplikasi yang Cepat dan Mudah

    Android menyediakan akses ke berbagai library (pustaka) dan tools yang dapat digunakan untuk membangun aplikasi yang kaya.
    Fitur dan Arsitektur Android
       Fitur yang tersedia pada Android adalah:

    • Framework aplikasi : memungkinkan penggunaan dan pemindahan dari componen yang tersedia.
    • Dalvik virtuall machine: Virtual machine  yang dioptimalkan untuk perangkat mobile.
    • Grafik  : grafik 2D dan grafik 3D yang didasarkan pada library OpenGL.
    • SQLite  : untuk penyimpanan data.
    • Mendukung media  : audio, dan berbagai format gambar  (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
    • GSM, Bluetooth, EDGE, 3G, and Wifi (tegantung hardware)
    • Camera, Global Positioning sistem (GPS), compass, dan accelerometer( tergantung hardware )
    • Lingkungan pembangunan yang kaya, termasuk  Emulator, peralatan debugging, dan plugin untuk eclipse IDE.

    SDK Android

    Dengan softwaredepelopment kits (SDK) yang lengkap, dilengkapi dengan emulator yang membantu untuk menguji coba aplikasi yang dibuat serta dokumentasi  yang lengkap. Tidak ada biaya Lisensi untuk memperoleh SDK ini. Android merupakan pilihan tepat untuk pengembang. Untuk pengembang hal yang perlu diperhatikan bahwa tidak  membutuhkan sertifikasi untuk menjadi pengembang Android. Android juga telah menyediakan took aplikasi yang bernama Android Market bagi para pengembang untuk menempatkan dan menjual aplikasi yang dibuatnya. Hal menarik lainnya yang menjadi pembeda Android dengan lainnya adalah:

    1. Opensource

    Merupakan platform terbuka (Open Source) bagi para pengembang (programmer) untuk membuat aplikasi.

    1. Android bukan bahasa pemrograman 

    Android bukan bahasa pemrograman akan tetapi hanya menyediakan lingkungan hidup atau run time environment yang disebut DVM (Dalvik Virtual Machine) yang telah dioptimasi untuk device/alat dengan sistem memori yang kecil.

    1. Pertukaran data dan komunikasi antar proses
        
    Dengan adanya intent dan Content Provider akan Memudahkan pengembang untuk berbagai data maupun Berkomunikasi antar proses.Semua aplikasi sama Tidak ada perbedaan antara aplikasi yang dikembangkan oleh pihak ketiga dengan aplikasi inti bawaan Android.   Aplikasi services yang berjalan di background Android memungkinkan sebuah aplikasi berjalan di background dan berjalan diam-diam dengan aplikasi lainnya.

    1. Dukungan Google Maps

    Android telah menyediakan Google API yang bisa digunakan dengan Mudah untuk menampilkan, mengatur peta lokasi

    1. Dukungan Google Apps

    Android pada sistem operasinya mendapat dukungan penuh dari google salah satunya adanya dukungan aplikasi google atau sering disebut google apps. Contohnya Google Docs (pengolah data), Googles (pencari barang), Talkback (aplikasi aksesbilitas), Google Translate (aplikasi penerjemah), Google Pinyin (aplikasi mandarin)  dan yang lainnya.

    Eclipse, IDE Standar 

    Dalam membuat aplikasi android, eclipse adalah IDE standar yang digunakan untuk merancang atau membuat aplikasi android. Walaupun pada praktiknya dalam membuat aplikasi android dapat juga menggunakan IDE seperti Netbeans ataupun yang lain namun eclipse sudah menjadi standar serta paling banyak digunakan dalam mengembangkan aplikasi android. Selain opensource, serta mendapat dukungan dari google sebagai penyedia sdk android, fitur dan plugin yang berlimpah pada eclipse menjadikan IDE ini menjadi mudah digunakan serta superior.

    Tabel 2.2 Versi Eclipse 

    Arsitektur Eclipse

    Secara standar eclipse selalu dilengkapi dengan JDT (java development tools), plug-in yang membuat eclipse kompatibel untuk mengembangkan program java, dan PDE (plugin development environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman java.  Konsep eclipse IDE adalah :
    1. terbuka (open),
    2. mudah diperluas (extensible) untuk apa saja, dan
    3. Mudah digunakan (easy to use)
    Dalam struktur eclipse khususnya dalam struktur project aplikasi android memiliki keterangan struktur:
    1. Folder src merupakan folder letak file sumber java (source) sebagai contoh file hello. java.
    2. Folder gen merupakan folder letak file generate java (R.java).
    3. Folder Android 2.x merupakan folder letak semua file libraries untuk Android 2.x. karena kita menetapkan target development untuk device dengan sistem operasi Android 2.3.3 (GingerBread), jadi yang tampil folder-nya nanti adalah Android 2.3.3
    4. Folder assets merupakan folder letak semua asset raw (raw files). File-file yang dalam folder ini contohnya file XML,file-file SQLite.
    5. Folder res (resources) merupakan folder letak file-file string, audio, dan gambar.
    6. Folder drawable-hdpi merupakan folder untuk menyimpan file gambar yang terkompilasi yang ditujukan untuk layar beresolusi tinggi (contoh file XML dan bitmap).
    7. Folder drawable-ldpi merupakan folder untuk menyimpan file gambar yang terkompilasi yang ditujukan untuk layar beresolusi rendah.
    8. Folder drawable-mdpi merupakan folder untuk menyimpan file gambar yang terkompilasi yang ditujukan untuk layar beresolusi sedang.
    9. Folder layout merupakan folder berisi file-file XML yang mendefinisikan tampilan antar muka/userinterface aplikasi kita.
    C:\Users\ibrahim\Desktop\Components_for_Android_Hello_World_Project.jpg
    Gambar 2.11  Struktur folder android di eclipse IDE

    1. Folder values merupakan folder berisi file XML yang berisi nilai-nilai API sederhana, seperti colors, integers, strings.
    • Styles.xml file XML yang merepresentasikan styles (seperti CSS pada HTML).
    • Arrays.xml file XML yang digunakan untuk mendeklarasikan sebuah array.
    • Colors.xml file XML yang digunakan untuk mendeklarasikan nilai color, dapat diakses melalui class R.colors.
    • String.xml file XML yang digunakan untuk menyimpan nilai string, dapat diakses melalui class R.strings.
    • dimens.xml file XML yang digunakan untuk mendefinisikan nilai dimens/dimensi. Sebagai contoh, nilai 10px sama dengan 10 pixels, dapat di akses melalui class R.dimens.

    1. File Android Manifest.xml merupakan file XML yang berisi segala informasi penting yang dibutuhkan oleh aplikasi kita untuk bekerja. File manifest ini juga berisi nama dari paket java aplikasi kita, komponen aplikasi seperti activities atau background service, informasi minimum platform yang dapat menjalankan aplikasi kita (kita yang menentukan sendiri), deklarasi izin (permission ) dari aplikasi kita.
    2. File default.properties merupakan file yang berisi project setting seperti target platform jangan sampai hilang setting yang ada pada file ini.

    Sebagai acuan nilai API android atau kerap disebut juga API Level , untuk minimum platform nya adalah sebagai berikut,:
    • Android 1.0 SDK, nilai API 1.
    • Android 1.1 SDK Nilai API 2.
    • Android 1.5 SDK Nilai API 3.
    • Android 1.6 SDK Nilai API 4.
    • Android 2.0 SDK Nilai API 5.
    • Android 2.0.1 SDK Nilai API 6.
    • Android 2.1 SDK Nilai API 7.
    • Android 2.2 SDK Nilai API 8.
    • Android 2.3.1 SDK Nilai API 9.
    • Android 2.3.3 SDK Nilai API 10.
    • Android 3.0 SDK Nilai API 11.
    • Android 3.1 SDK Nilai API 12.
    • Android 3.2 SDK Nilai API 13.
    • Android 4.0 SDK Nilai API 14.
    • Android 4.0.3 SDK Nilai API 15.
    • Android 4.1 Jelly Bean (API level 16)
    • Android 4.2 Jelly Bean (API level 17)
    • Android 4.3 Jelly Bean (API level 18)
    • Android 4.4 KitKat (API level 19)
    • Android 5.0 Lollipop (API level 21)

Java Programming

Java adalah sebuah bahasa pemrograman komputer kompilasi bytecode yang tidak bergantung pada sistem operasi atau platform dan termasuk berbasis pada object oriented programming.
Sejarah singkat Java
  • Java diciptakan setelah C++ oleh Sun microsystems.
  • Proyek Java dimulai tahun 1991 oleh sejumlah insinyur pada perusahaan Sun Microsystem Inc, dengan ide menggunakan bahasa komputer yang tidak mengacu pada sebuah arsitektur. Proyek ini diberi kode sandi Green.
  • Tahun 1992, proyek Green meluncurkan produk pertama ' *7 '.
  • Tahun 1993 dan separuh th 1994, berganti nama First Person, tetapi bubar.
  • Tahun 1995, dibuatlah browser yang mampu menerjemahkan kodebyte tingkat menengah. Dan bahasa Java mulai digunakan secara luas.
Beberapa sifat-sifat / Karakteristik bahasa Java antara lain :
  • Platform Independence. Dapat dipindah-pindahkan di antara bermacam-macam platform dan SO. Begitu pula sourcecode-nya.
  • Program yang dihasilkan dalam bahasa Java dapat berupa applet (aplikasi kecil yang jalan di atas web browser).
  • Berupa aplikasi mandiri yang dijalankan dengan program Java Interpreter.
  • Setiap program yang ditulis dalam bahasa Java, hasil kompilasinya berupa bytecode, yaitu sekumpulan instruksi yang terlihat seperti kode mesin, tetapi tidak spesifik untuk satu jenis prosessor tertentu.
  • Berbasis Object Oriented Programming.
  • Dan masih banyak lagi.
Keunggulan Java :
  • Sederhana
  • Berorientasi Object
  • Terdistribusi
  • Kuat / Robust = mengurangi bug / error
  • Aman = memungkinkan bebas virus
  • Netral Arsitektur = mudah diterjemahkan
  • Portable
  • Interpreter = diakses komputer yang memiliki interpreter.
  • Kinerja tinggi
  • Multithreaded = melakukan lebih dari satu pekerjaan.
  • Dinamis = mudah diadaptasikan untuk lingkungan yang akan berkembang.
Java dengan bahasa yang lain :
  • Java tidak sama dengan Javascript, salah satu contoh perbedaannya adalah javascript hanya terbatas pada fungsi browser, sedang Java mirip syntax dengan C++. Tetapi syntax Java tidak memerlukan header file, pointer arithmatic, struktur, union, operator overlading, class virtual dan lain-lain. Perancang tidak memperbaiki beberapa kelemahan pada C++, seperti switch statemen. Jika kita mengenal C++ dengan baik, akan lebih memudahkan berpindah ke syntax Java.
  • Jika kita menguasai Visual Basic, kita tidak berpendapat bahwa Java sederhana. Akan ada banyak syntax asing. Yang menarik di Visual Basic adalah lingkungan perancangan visual yang harus diprogram secara manual di Java.
Arsitektur Java
 
Arsitektur Java adalah kombinasi dari 4 komponen yaitu :
  • Java Programming Language
  • Java Class file Format
  • Java Application Programming Interface (APIs)
  • Java Virtual Machine (JVM)
Java Virtual Machine (JVM)
  • JVM adalah mesin computing abstrak yang menerjemahkan kompiler program Java/jembatan antara program dan keunikan platform.
  • JVM menyembunyikan kompleksitas platform dari program yang kita buat dan merupakan jantung program.
  • Secara sekilas lapisan tambahan tersebut menyebabkan aplikasi berjalan lambat dibanding aplikasi platform. Namun sekarang telah dikenal Just In Time (JIT) compiler. JIT ini membaca program java, dan segera melakukan kompilasi terhadap program java tersebut menjadi program spesifik platform. Contoh JVM pada web browser, begitu web browser misal Netscape menerima applet, ia akan mengkompilenya dengan JT (optimasi JIT dilakukan oleh para vendor).
Format File Class Java
  • JVM tidak dapat langsung menerjemahkan ke Java Programming language atau API sekalipun.
  • Dalam Java, misalkan kita mengetik kode dengan text editor favorit, kemudian menyimpannya sebagai file dengan ekstensi Java. Lalu Java kompiler kita mengkompilasi kode tersebut menjadi Java Bytecode, tersimpan dalam ekstensi Calass. Java bytecode tersebut akan ditangani untuk dieksekusi oleh JVM yang saat ini ada dua modus dengan atau tanpa JIT.               
Java Programming Language (Bahasa aplikasi program Java)

Bahasa Program ini lebih mengacu pada core java programming. Diantaranya termasuk :
  • Method, Interface and class design, Threading, Even Handling, Perfomance and memory management, Controlling Access to Resources.
  • Aplication Programming Interface's (API's)
Beberapa Edisi program Aplikasi (API - Aplication Programming Interface)
  • J2SE - Java 2 Standard Edition - Platform ini berisikan paket Java standar dan GUI dalam Standard Edition mencakup :
    1. Swing Components (paket komponen aplikasi java dalam
        direktori JTree C : /
    2. J2sdkee 1.2.1 = java 2 SDK software platform.
    3. JavaStuff
    4. Jdk_1.3 = Java Development Kit, JRE termasuk di dalamnya.
    5. Jsse 1.0.1
    6. Data transfer API
    7. Printing API
    8. JDBC
    9. JNI (Java and nonjava code interface), dll
  • J2EE - Java 2 Enterprise Edition - Paket ini berisikan develop aplikasi berbasis web.
  • J2ME - Java 2 Micro Edition - Untuk produk konsumer lingkungan teknologi mobile.
     
PEMROGRAMAN BERBASIS OBJEK (OOP)

Java adalah bahasa yang termasuk dalam pemrograman berorientasi object. Berbandingan anologi aliran dan interaksi antar object antara Structured Procedural Programming (Basic, Pascal, C etc).
Ide tentang Object Oriented.

Object mempresentasikan entitas pada dunia nyata. Dalam membuat mobil kita dimulai dari memecah-mecah kompleksitas sistem mobil ke dalam bagian kecil, seperti roda, kemudi, dan sebagainya.
Pada masing-masing bagian kecil itu kita definisikan field-field, seperti warna atau daya cengkeram. Selain itu, kita definisikan apa saja yang bisa dilakukan terhadap bagian-bagian itu. Perintah-perintah yang bisa diterima itu disebut method.
Antarmuka dalam interaksi antar obyek tersebut adalah method-method yang dimiliki object. Objek-objek itu berinteraksi dengan saling memanggil method dari suatu objek, atau sering disebut message passing.
Tiga Pilar OOP :
  • Encapsulation
    Terdiri dari method-method dalam Class, tahapnya meliputi Constructor dan Destructor.
  • Inheritance (Pewarisan Sifat)
    Dengan inheritance, pengembang software dapat bekerja lebih efesien dan lebih cepat. Berkat inheritance, dapat digunakan definisi class yang sudah pernah dibuat sebelumnya untuk membuat class-class lain yang menyerupai class tersebut.
  • Polymorphism
    Polymorphism didefiniskan sebagai kemampuan beberapa objek bertipe sama, bereaksi secara berbeda terhadap message yang sama.
Object dan Class

Class adalah template untuk obyek-obyek yang memiliki sifat yang sama. Dalam menulis program yang berorientasi objek yang sebenarnya melainkan class dari objek tersebut.
Instance adalah kata lain dari objek. Dalam bahasa OOP kita harus terlebih dahulu membuat instance dari class tersebut. Jika Class adalah representasi generik dari objek, instance adalah representasi konkritnya.
Bahasa Java telah menyediakan Class Library, yaitu kumpulan class-class yang telah siap digunakan untuk membuat program-program baru. Class Library telah menyediakan class-class dasar seperti fungsi matematika, array string dan sebagainya hingga ke class untuk graphic, networking dan terutama internetworking (berbasis protokol TCP/IP).
Tujuan & Keuntungan dari Analis Berorientasi Obyek :
  • Lebih memahami inti permasalahan.
  • Dalam mengorganisasi analis dan spesifikasi dengan metode yang digunakan cara berpikir manusia.
  • Mengurangi jarak antara aktivitas analis yang berbeda dengan membuat atribut dan metode menjadi menjadi satu kesatuan.
  • Pewarisan dapat dilakukan dengan memberikan identifikasi sesuatu yang umum pada atribut dan metode.
  • Menjaga stabilitas atas perubahan kebutuhan pada system yang sama.
  • Hasil analisis dapat digunakan kembali.
  • Menghasilkan penggambaran yang konsisten.

Contoh Program Sederhana dalam Bahasa C++

Pada artikel ini membahas mengenai dua contoh kasus yakni mengenai program rumus abc dan program jumlah dan rata-rata bilangan menggunakan bahasa pemrogaman C/C++. Berikut sample source code-nya:

1. Program Rumus ABC

#include 
#include 
#include                      /*untuk mengaktifkan SQRT*/
main()
{ float r1,r2,x1,x2,a,b,c;            /*deklarasi bertipe float*/
  clrscr();                           /*untuk membersihkan layar*/
  printf("Masukan Bilangan A = ");    /*untuk memasukan data A*/
  scanf("%f",&a);                     /*membaca sebuah bilangan float*/
  printf("Masukan Bilangan B = ");    /*untuk memasukan data B*/
  scanf("%f",&b);                     /*membaca sebuah bilangan float*/
  printf("Masukan Bilangan C = ");    /*untuk memasukan data C*/
  scanf("%f",&c);                     /*membaca sebuah bilangan float*/
  r1=b*b-4*a*c;
  r2=sqrt(r1);
  x1=(-b+r2)/(2*a);
  x2=(-b-r2)/(2*a);
  printf("Nilai x1 = %f\n",x1);       /*menampilkan isi variable x1*/
  printf("Nilai x2 = %f\n",x2);       /*menampilkan isi variable x2*/
  getch();                            /*menahan tampilan di layar*/
}
 
2. Program Jumlah dan Rata-rata Bilangan

#include 
#include 
main()
{ float j,r,b1,b2,b3,b4,b5;           /*deklarasi bertipe float*/
  clrscr();                           /*untuk membersihkan layar*/
  printf("Masukan Bilangan 1 = ");    /*untuk memasukan bilangan 1*/
  scanf("%f",&b1);                    /*membaca sebuah bilangan float*/
  printf("Masukan Bilangan 2 = ");    /*untuk memasukan bilangan 2*/
  scanf("%f",&b2);                    /*membaca sebuah bilangan float*/
  printf("Masukan Bilangan 3 = ");    /*untuk memasukan bilangan 3*/
  scanf("%f",&b3);                    /*membaca sebuah bilangan float*/
  printf("Masukan Bilangan 4 = ");    /*untuk memasukan bilangan 4*/
  scanf("%f",&b4);                    /*membaca sebuah bilangan float*/
  printf("Masukan Bilangan 5 = ");    /*untuk memasukan bilangan 5*/
  scanf("%f",&b5);                    /*membaca sebuah bilangan float*/
  j=b1+b2+b3+b4+b5;
  r=j/5;
  printf("Jumlah    = %0.2f\n",j);    /*menampilkan isi variable j*/
  printf("Rata-rata = %0.2f\n",r);    /*menampilkan isi variable r*/
  getch();                            /*menahan tampilan di layar*/
}