BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG,...

32
4 BAB II LANDASAN TEORI 2.1. Konsep Dasar Program Menurut Kadir (2012:2) menjelaskan bahwa “Yang dimaksud dengan program adalah kumpulan intruksi yang digunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu”. Tanpa program sesungguhnya komputer tidak dapat berbuat apa – apa. Itulah sebabnya sering dikatakan bahwa komputer mencakup tiga aspek penting, berupa perangkat keras (hardware), perangkat lunak (software) yang dalam hal ini berupa program, dan perangkat akal (brainware) atau orang yang berperan terhadap operasi komputer maupun pengembangan perangkat lunak. Dengan kata lain, program merupakan salah satu bagian penting pada komputer, yang mengatur komputer agar melakukan tindakan yang sesuai dengan yang dikehendaki oleh pembuatnya. Suatu program ditulis dengan mengikuti kaidah bahasa pemrograman tertentu. Bahasa pemrograman dapat dianalogikan dengan bahasa yang digunakan manusia (bahasa manusia).

Transcript of BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG,...

Page 1: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

4

BAB II

LANDASAN TEORI

2.1. Konsep Dasar Program

Menurut Kadir (2012:2) menjelaskan bahwa “Yang dimaksud dengan program

adalah kumpulan intruksi yang digunakan untuk mengatur komputer agar melakukan

suatu tindakan tertentu”. Tanpa program sesungguhnya komputer tidak dapat berbuat

apa – apa. Itulah sebabnya sering dikatakan bahwa komputer mencakup tiga aspek

penting, berupa perangkat keras (hardware), perangkat lunak (software) yang dalam

hal ini berupa program, dan perangkat akal (brainware) atau orang yang berperan

terhadap operasi komputer maupun pengembangan perangkat lunak. Dengan kata

lain, program merupakan salah satu bagian penting pada komputer, yang mengatur

komputer agar melakukan tindakan yang sesuai dengan yang dikehendaki oleh

pembuatnya.

Suatu program ditulis dengan mengikuti kaidah bahasa pemrograman tertentu.

Bahasa pemrograman dapat dianalogikan dengan bahasa yang digunakan manusia

(bahasa manusia).

Page 2: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

5

2.1.1. Bahasa Pemrograman

Menurut Munir (2011:16) menjelaskan bahwa “Hingga saat ini terdapat puluhan

bahasa pemrograman. Kita dapat menyebutkan antara lain bahasa rakitan (assembly),

Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-

bahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo, dan masih banyak lagi.

Belakangan juga muncul bahasa pemrograman baru seperti Java dan C#.”

Berdasarkan tujuan aplikasinya, bahasa pemrograman dapat digolongkan

menjadi dua kelompok :

1. Bahasa pemrograman bertujuan khusus (specific purpose programming language).

Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi),

Fortan (aplikasi komputasi ilmiah), bahasa Assembly (aplikasi pemrograman mesin),

Prolog (aplikasi kecerdasan buatan), bahasa-bahasa simulasi (Simscript), dan

sebagainya.

2. Bahasa pemrograman bertujuan umum (general purpose programing language)

yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah

bahasa Pascal, Basic, dan C, C++.

Tentu saja pembagian ini tidak benar-benar kaku. Bahasa-bahasa bertujuan

khusus tidak berarti tidak bias digunakan untuk aplikasi lain. Cobol misalnya, dapat

juga digunakan untuk terapan ilmiah, tetapi tentu kemampuan ya sangat terbatas.

Yang jelas, bahasa-bahasa pemrograman yang berbeda dikembangkan untuk

bermacam-macam kegunaan yang berbeda pula.

Page 3: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

6

Berdasarkan “kedekatan” bahasa pemrograman apakah lenih condong kebahasa

mesin atau ke bahasa masnusia, maka bahasa pemrograma juga dapat dikelompokan

atas dua macam:

1. Bahasa tingak rendah. Bahasa tingkat ini dirancang agar setiap instruksinya

langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator).

Contohnya adalah bahasa mesin (machine language). Bahasa mesin adalah

sekumpulan kode biner (0 dan1). Setiap perintah dalam bahasa mesin langsung

“dimengerti” oleh mesin dan langsung dikerjakan. Bahasa assembly dimasukan

kedalam kelompok ini karena notasi yang dipakai dalam bahasa ini merupakan

bentuk “manusiawi” dari bahasa mesin, dan untuk melaksanakan instruksinya masih

diperlukan penerjemahan (oleh assembler) ke dalam bahasa mesin.

2. Bahasa tingkat tinggi. Bahasa jenis ini membuat program menjadi lebih mudah

dipahami, lebih “mausiawi”, dan lebih dekat ke bahasa manusia (bahasa inggris

terutama). Kelemahannya, program dalam bahasa tingkat tinggi tidak dapat langsung

dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah

translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin

sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal,

PL/I, Ada, Cobol, Basic, Fortan, C, C++, dan sebagainya.

Page 4: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

7

2.1.2. ANDROID

Menurut Edy (2012:5) menjelaskan bahwa “Android adalah system operasi

embedded yang sangat bergantung pada kernel linux untuk layanan-layanan core-nya,

tapi android bukanlah linux embedded. Missalnya android tidak mendukung utilitas

standard linux, seperti X-Windows dan GNU C libraries tidak didukung.”

Sedangkan menurut Safaat H (2015:1) menjelaskan bahwa “Android adalah

sistem operasi yang mencakup sistem operasi, middleware dan aplikasi.”

Android menyediakan platform terbuka bagi para pengembang untuk

menciptakan aplikasi mereka.

1. Versi Android

Menurut Safaat H (2015:10) menjelaskan bahwa “Telepon pertama yang

menggunakan sistem operasi android adlah HTC Dream, yang dirilis pada 22 oktober

2008”. Pada penghujung tahun 2010 diperkirakan hamper semua vendor seluler

didunia menggunakan Android sebagai operating system. Adapun versi-versi

Android yang pernah dirilis adalah sebagai berikut :

a. Android versi 1.1

Pada 9 maret 2009, Google merilis Android versi 1.1 Android versi ini

delingkapi dengan pembaharuan estetis pada aplikasi, jam, alarm, voice search

(pencarian suara), pengiriman pesan dengan gmail, dan pemberitahuan email.

b. Android versi 1.5 (cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan

menggunakan android dan SDK (Software Development Kit) dengan versi 1.5

(Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa

Page 5: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

8

fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video

dengan modus kamera, mengupload 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 di sesuaikan dengan sistem.

Sumber :http://theinspirationroom.com/daily/design/2013/9/android-cupcake-logo.jpg

Gambar II.1 android cupcake

c. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses

pencarian yang lebih baik disbanding sebelumnya, penggunaan baterai indikator

dan control applet VPN. Fitur lainnya adalah 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 (tidak tersedia pada semua ponsel, pengadaan resolusi VWGA).

Page 6: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

9

Sumber:http://vignette2.wikia.nocookie.net/logopedia/images/c/c5/Android-1_6-donut.jpg/revision/latest?cb=20130520200422

Gambar II.2

Android Dounut

d. Android versi 2.0/2.1 (eclair)

Pada 3 desember 2009 kembali diluncurkan ponsel android dengan versi

2.0/2.1 (Eclair), perubahan yang dilakukan adalah pengoptimalan hardware,

peningkatan Google HTML5, daftar kontak yang baru, dukungan flash untuk

kamera 3.2MP, digital Zoom, dan Bluetooth 2.1.

Page 7: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

10

Sumber:http://vignette1.wikia.nocookie.net/logopedia/images/2/25/Eclair_2009.png/revision/latest?cb=20130520200626

Gambar II.3

android éclair

e. Android versi 2.2 (Froyo : Frozen Yoghurt)

Pada bulan mei 2010 Android versi 2.2 Rev 1 diluncurkan. Android inilah

yang sekarang sangat banyak beredar dipasaran, salah satunya adalah dipakai

Samsung FX tab yang sudah ada di pasaran. Fitur yang tersedia di Android versi

ini sudah kompleks diantaranya adalah:

1) Kerangka aplikasi memungkinkan penggunaan dan penghapusan

komponen yang tersedia.

2) Dalvik Virtual Machine dioptimalkan untuk perangkat mobile.

3) Grafik: grafik di 2D dan grafis 3D berdasarkan libraries OpenGL.

4) SQLite: untuk penyimpanan data.

5) Mendukung media: audio, video, dan berbagai format gambar (MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG,GIF)

Page 8: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

11

6) GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware independent)

7) Kamera, Global Positioning System (GPS), kompas, dan accelerometer

(tergantung hardware).

Sumber : http://www1-lw.xda-cdn.com/files/2010/05/froyo.png

Gambar II.4 android froyo

f. Android versi 2.3 (Gingerbread)

Android versi 2.3 diluncurkan pada desember 2010, hal-hal yang direvisi dari

versi sebelumnya adalah kemampuan seperti berikut:

1) SIP-based VoIP

2) Near Field Communication (NFC)

3) Gyroscope dan sensor

4) Multiple cameras support

5) Mixable audio effects

6) Download manager

Page 9: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

12

Sumber:http://cdn2.knowyourmobile.com/sites/knowyourmobilecom/files/styles/gallery_wide/public/7/67/181759.jpg?itok=VK-AEMs9

Gambar II.5 Android Gingerbread

g. Android versi 3.0 (Honeycomb)

Versi paling baru ini yang dirilis pada tahun 2011 ini mendukung multi

prosesseor dan juga peningkatan kemampuan hardware untuk grafis.

Sumber : http://img.cnmo-img.com.cn/452_500x375/451338.jpg

Gambar II.6 Android Honeycomb

Page 10: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

13

h. Android versi 4.0 (Ice Cream Sandwich)

Diumumkan pada tanggal 19 oktober 2011, membawa fitur Honeycomb untuk

smartphone dan menambahkan fitur baru termasuk membuka kunci dengan

pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu

kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara

offline, dan berbagi informasi dengan menggunakan NFC.

Sumber:http://i.huffpost.com/gen/275928/GOOGLE-ICE-CREAM-SANDWICH-

LOGO-GOOGLE-IO.jpg

Gambar II.7 Android Ice Cream Sandwich

i. Android Versi 4.1 (Jelly Bean)

Android 4.1 Jelly Bean yang resmi diluncurkan, dan sudah mulai bergulir

pada pertengahan juli 2012. Fitur-fitur yang didukung oleh sistem operasi ini

yaitu, Google Now, Project Buter (membuat android berjalan pada solid

60fps, lengkap dengan triple buffering dan forced vsync), Notifications,

Browser (Google Chrome), Android Beam, dan aplikasi kamera yang lebih

baik.

Page 11: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

14

2. Kelebihan Android

Menurut Komputer (2012:6) Kelebihan android dibanding dengan operating system

lain:

a. Open source, sehingga user dapat membuat aplikasi berbasis android aplikasi

android bisa dibuat dengan framework yang free juga.

b. Multitasking, ponsel android bisa menjalankan berbagai aplikasi, missal

browsing dan mendengarkan lagu dalam waktu yang bersamaan.

c. Notifikasi, SMS, Twitter, Facebook, Email, semuanya bernotifikasi dilayar

utama.

d. Sinkronisasi kontak (Froyo), semua kontak di FB, Yahoo, Google, Twitter

akan menjadi kontak di hp secara otomatis jika sinkronisasi diaktifkan,

sehingga user dapat mengakses status di Twitter, FB, dan keterangan apakah

user sedang online atau tidak.

e. Tidak terpaku satu hp, Android bukan hanya milik Google, dari awal

pengembangannya adalah bersama-sama dengan beberapa merk hp terkenal.

LG, Motorola, SAMSUNG, Sony Ericsson juga menyediakan jajaran hp

Android.

f. Widget, pada layar utama Android terdapat widget yang memudahkan user

mengakses aplikasi Android, missal menampilkan status terbaru di FB dan

Twitter, atau melihat kondisi cuaca daerah tertentu (tentunya dibutuhkan

koneksi internet).

g. Google Play (dahulu Android Market), terdapat banyak aplikasi yang bisa

anda download baik itu Free atau bebayar.

Page 12: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

15

3. Kekurangan Android

Kekurangan yang bisa dijadikan pertimbangan menggunakan HP Android, antara

lain:

a. Koneksi Internet, sebenarnya koneksi internet bisa dimatikan tapi jika

dimatikan itu artinya anda tidak bisa menikmati fasilitas Android seperti

notifikasi sosial media maupun email.

b. Iklan, di setiap aplikasi hamper selalu muncul iklan, kecuali bawaan Android

nya sendiri atau aplikasi berbayar.

4. Android SDK (Software Development Kit)

menurut Safaat H (2015:5) menjelaskan bahwa “Andoid SDK adalah tool 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 aplikasi-netral, Android memberi Anda

kesempatan untuk membuat Aplikasi yang kita butuhkan yang bukan yang bukan

merupakan aplikasi bawaan Handphone/Smartphone. Beberapa fitur-fitur Android

yang paling penting adalah :

a. Framework Aplikasi yang mendukung penggantian komponen dan

reusable.

b. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.

c. Integrated browser berdasarkan engine open source WebKit.

Page 13: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

16

d. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D

berdasarkan spesifikasi OpenGL ES 1,0 (Opsional akselerasi hardware).

e. SQLite untuk menyimpan data.

f. Media Support yang mendukung audio, video, dan gambar (MPEG4,

H.264, MP3, AAC, AMR, JPG, PNG, 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 kaya termasuk perangkat

emulator, tools untuk debugging, profil dan kinerja memori, dan plugin

untuk IDE Eclipse.

5. ADT (Android Development Tools)

Menurut Safaat H (2015:6) menjelaskan bahwa “Android Development Tools

(ADT) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita

kemudahan dalam mengembangkan aplikasi android dengan menggunakan IDE

Eclipse”. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam

membuat aplikasi project android, membuat GUI aplikasi, dan menambahkan

komponen-komponen yang lainnya, begitu juga kita dapat melakukan running

aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT juga kita dapat

melakukan pembuatan package android (.apk) yang digunakan untuk distribusi

aplikasi android yang kita rancang.

Page 14: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

17

Mengembangkan aplikasi android dengan menggunakan ADT di Eclipse sangat

dianjurkan dan mudah untuk memulai mengembangkan aplikasi android. Berikut

adalah versi ADT untuk eclipse yang sudah dirilis:

a. ADT 12.0.0 (July 2011)

b. ADT 11.0.0 (June 2011)

c. ADT 10.0.1 (March 2011)

d. ADT 10.0.0 (February 2011)

e. ADT 9.0.0 (January 2011)

f. ADT 8.0.1 (December 2010)

g. ADT 8.0.0 (December 2010)

h. ADT 0.9.9 (September 2010)

i. ADT 0.9.8 (September 2010)

j. ADT 0.9.7 (May 2010)

k. ADT 0.9.6 (March 2010)

l. ADT 0.9.5 (December 2009)

m. ADT 0.9.4 (October 2009)

Semakin tinggi platform android yang kita gunakan, dianjurkan menggunakan

ADT yang lebih terbaru, karena biasanya munculnya platform baru diikuti oleh

munculnya versi ADT yang terbaru. Untuk melakukan instalasi ADT di Eclipse dapat

dilakukan secara online maupun offline.

Page 15: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

18

6. Arsitektur Android

Secara garis besar arsitektur android dapat dijelaskan dan digambarkan sebagai

berikut :

a. Applications and Widgets

Applications and Widgets ini adalah layer dimana kita berhubungan dengan

aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan

instalasi dan jalankan aplikasi tersebut. Di layer terdapat 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 memberi kemampuan kepada pengembang untuk

membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk

mengakses perangkat keras, akses informasi resource, menjalankan service

background, mengatur alarm, dan menambahkan status notifications, dan

sebagainya. Pengembang memiliki akses penuh menuju API framework seperti

yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang

supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah

digunakan.

Page 16: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

19

Sehingga bisa kita simpulkan applications frameworks ini adalah layer di

mana para pembuat aplikasi melakukan pengembangan/ pembuatan aplikasi yang

akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi

dapat dirancang dan dibuat, seperti content providers yang berupa sms dan

panggilan telepon.

Komponen-komponen yang termasuk di dalam applications frameworks adlah

sebagai berikut:

1) Views

2) Content Provider

3) Resource Manager

4) Notifications Manager

5) Activity Manager

c. Libraries

Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para

pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di

batas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL,

serta:

a. Libraries media untuk pemutaran media audio dan video

b. Libraries untuk manajemen tampilan

c. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D

d. Libraries SQLite untuk dukungan database

e. Libraries SSL dan WebKit terintegrasi dengan web browser dan security

Page 17: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

20

f. Libraries LiveWebcore mencakup modern web browser dengan engine

embedded web view

g. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s

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. Di dalam

Android Run Time dibagi menjadi dua bagian yaitu:

a. Core Libraries: aplikasi Android dibangun dalam bahasa Java, sementara

Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga

diperlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa

java/c yang ditangani oleh Core Libraries.

b. Dalvik Virtual Machine: Virtual mesin berbasis register yang dioptimalkan

untuk menjalankan fungsi-fungsi secara efisien dimana merupakan

pengembangan yang mampu membuat linux kernel untuk melakukan

threading dan manajemen tingkat rendah.

e. Linux Kernel

Linux Kernel adalah dimana inti dari operating sistem android itu berada.

Berisi file-file system yang mengatur system processing, memory, resource,

drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan

android adlah linux kernel release 2.6.

Page 18: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

21

Sumber : http://socmedtech.com/wp-content/uploads/2014/10/android.jpg

Gambar II.8 Arsitektur Android

7. Fundamental Android

Menurut Safaat H (2015:9) menjelaskan bahwa :

Aplikasi Android ditulis dalam bahasa pemrograman Java. Kode java dikompilasi

bersama dengan data file resource yang dibutuhkan oleh aplikasi, di mana

prosesnya di package oleh tools yang dinamakan “apt tools” ke dalam paket

Android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang kita

sebut dengan aplikasi, dan nantinya dapat di install di perangkat mobile.

Page 19: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

22

Ada empat 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 kita dapat melakukannya dengan satu event, misalnya

click tombol, memilih opsi atau menggunakan triggers tertentu. Secara hirarki

sebuah windows activity dinyatakan dengan method Activity.setContentView().

ContentView adalah objek yang berada pada root hirarki.

b. Service

Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan

secara background, sebagai contoh dalam meminkan musik, service mungkin

memainkan musik atau mengambil data dari jaringan, tetapi setiap service harus

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 misalnya, atau menulis sms sambil

player sedang jalan. Untuk menjaga music tetap dijalankan, activity player dapat

menjalankan service. Service dijalankan pada thread utama dari proses aplikasi.

Page 20: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

23

c. Broadcast Receiver

Broadcast Receiver berfungsi sebagai menerima dan bereaksi untuk

menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu

berubah, baterai low, gambar telah selesai diambil oleh kamera, atau pengubahan

referensi bahasa yang digunakan. Aplikasi juga dapat menginisiasi broadcast

misalnya memberikan informasi pada aplikasi lain bahwa ada data yang telah

diunduh ke perangkat dan siap untuk digunakan.

Broadcast receiver tidak memiliki user interface (UI), tetapi memiliki sebuah

activity untuk merespon informasi yang mereka terima, atau mungkin

menggunakan Notification Manager untuk memberitahu kepada pengguna,

seperti lampu latar atau vibrating (getaran) perangkat, dan lain sebagainya.

d. Content Provider

Content Provider membuat sekumpulan 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 kita menggunakan aplikasi

yang membutuhkan peta (Map), atau apliaksi yang membutuhkan untuk

mengakses data kontak dan navigasi, maka disinilah fungsi content provider.

Page 21: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

24

2.1.3. Java

Menurut kadir (2014:16) menjelaskan bahwa “bahasa java dikembangkan di Sun

Micro systems dan mulai diperkenalkan kepada public pada tahun 1995. Seperti

halnya C++, Java juga merupakan bahasa bahasa yang berorientasi objek. Dengan

demikian, java juga memudahkan dalam pembuatan aplikasi yang berskala besar.”

Sebagai bahasa yang beraras tinggi, yang menggunakan perintah-perintah yang

mudah dimengerti oleh manusia, java mempunyai keunggulan yakni bersifat

universal. Sebagai bahasa yang universal, java bias dijumpai di berbagai platform

(Linux, Unix, Windows, Mac, dan lain-lain). Hal yang menarik lagi, hasil kompilasi

java yang dinamakan bytecode dapat dijalankan di berbagai platform sepanjang di

sistem target memiliki Java Runtime Environment {JRE}.

2.1.4. Eclipse

Menurut Safaat H (2011:16) menjelaskan bahwa “Eclipse adalah IDE untuk

pengembangan java atau android, dapat dijalankan di semua platform (platform

independent)”. Berikut ini adalah sifat dari Eclipse:

1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux,

AIX, HP-UX dan Mac OS X.

2. Multi-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.

Page 22: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

25

3. 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 merpakan 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 popular adalah

kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang

dinamakan plug-in.

Menurut Supardi (2012:20) menjelaskan bahwa “Pada kotak dialog New Android

Project terdapat beberapa bagian yang perlu anda pahami sebelum membuat aplikasi

Android”. Bagian-bagian tersebut antara lain:

a. Project name, adalah nama proyek Eclipse nama direktori yang berisi berkas-

berkas proyek.

b. Content, berkaitan dengan project yang akan dibuat, apakah membuat project baru,

atau meneruskan dari project yang telah dibuat sebelumnya.

c. Build target, merupakan konfigurasi target platform yang diinginkan untuk

membuat aplikasi.

d. Application name, adalah judul aplikasi anda. Nama yang akan muncul pada

perangkat android.

e. Package name, adalah name space paket (mengikuti aturan yang sama untuk paket

dalam bahasa pemrograman java) dimana semua kode sumber (source code) anda

Page 23: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

26

diletakan. Nama ini juga menjadi nama paket dimana sub activity yang akan

dihasilkan.

f. Create activity, adalah nama untuk class sub yang akan dihasilkan plug-in. ini akan

menjadi sebuah sub kelas dari kelas Android Activity. Sebuah Activity adalah

sebuah kelas yang dapat menjalankan dan melakukan pekerjaan.

g. Min SDK Version, menentukan tingkat API minimum yang dibutuhkan oleh

aplikasi anda. Biasanya API yang levelnya lebih tinggi mendukung API yang

dibawahnya namun belum tentu sebaliknya.

Sebuah project Android terbangun dari beberapa directory. Untuk dapat melihat

Struktur Project dari aplikasi Android anda dapat meliahat melalui jendela project

explorer. Secara umum project Android memiliki struktur yaitu:

a. Direktori src (source code), merupakan folder yang berisi source java class untuk

masing-masing activity. Jika anda membuat sumber daya yang baru, secara

otomatis akan dibuat referensi dengan suatu nilai identitas untuk “R.Java”. nilai

identitas inilah yang akan menjadi acuan bagi java class unutk mengakses kepada

sumber daya tersebut, jadi jangan lakukan perubahan secara manual pada

“R.Java”.

b. Direktori “assets”, dapat digunakan untuk menyimpan data apa aja mengakses data

melalui AssetsManager dengan metode getAssets().

c. Director res, berisi gambar atau image dan data XML seperti animasi, color,

drawable, layout, menu, raw, value, xml.

Page 24: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

27

d. AndroidManifest.xml, merupakan file xml yang menggambarkan tentang aplikasi

apa yang sedang dikembangkan dan komponen apa saja yang digunakan seperti

activity, service dan lain sebagainya pada aplikasi. AndroidManifest yang akan

pertama dijalankan oleh Android untuk menjalankan aplikasi yang dikembangkan.

e. Default.properties, file property yang digunakan mengcompile atau menginstall

aplikasi pada device.

f. Bin, directory bin berisi aplikasi ketika kita menjalankannya. Libs, directory

untuk meletakan library tambahan yang digunakan dalam aplikasi.

2.1.5. XML

Menurut Nugroho (2008:171) menjelaskan bahwa “XML merupakan bahasa

berbasis panandaan (tag) untuk mendekripsikan data/informasi tanpa memperdulikan

aplikasi yang kelak akan menggunakannya”. Hal ini cukup kontras disbanding

HTML yang mendefinisikan bagaimana data/informasi ditampilkan dan sangat

bergantung pada aplikasi apa (misalnya browser) yang akan menggunkannya. Meski

demikian aplikasi yang akan menggunakan XML harus tahu aturan yang berlaku

dalam pembuatan berkas XML agar aplikasi tersebut mampu memanfaatkannya.

XML memungkinkan kita untuk membuat struktur kita sendiri, tidak seperti HTML

yang menggunakan struktur yang bersifat baku (standard).

Secara umum, W3C (World Wide Web Consortium), sebuah organisasi internasional

yang akan mengatur kaidah HTML, dan XML, memberikan penjelasan tentang XML

sebagai berikut:

Page 25: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

28

1. XML merupakan metode untuk meletakan data terstruktur dalam berkas teks.

2. XML mirip dengan HTML, tetapi XML bukan HTML. Seperti HTML, XML

menggunakan penanda (kata-kata yng dibatasi oleh’<’ dan ‘>’) dan atribut,

sementara HTML menspesifikasi arti masing-masing penanda dan atributnya.

3. XML merupakan teks, tetapi ia tidak memiliki arti apa-apa jika dibaca apa

adanya. Berkas XML adalah berkas teks. Oleh karena itu memungkinkan para

ahli (pemrogram) dengan mudah melakukan pemeriksaan kesalahan aplikasi.

4. XML adalah teknologi. Di XML versi 1.0 tumbuh berbagai aturan tambahan

yang menyediakan sekumpulan penanda dan atribut, atau panduan untuk suatu

tugas yang spesifik.

5. XML boros tempat penyimpanan, tetapi bukan masalah. Karena XML berformat

teks dan menggunakan penanda untuk membatasi data maka berkas XML

cenderung berukuran besar dibandingkan yang berformat biner.

6. XML berlisensi bebas, mandiri terhadap platform dan mendapat dukungan

penuh.

7. XML mudah diproses. Dengan menggunakan format terstruktur, kita dapat

merancang struktur berbasis XML yang dapat diproses menggunakan program.

8. XML bersifat hierarki. Struktur XML yang berbasis simpul (node)

memungkinkan terhadapnya dilakukan pemrosesan secara cepat, memungkinkan

padanya dilakukan pencarian, pengaturan ulang (rearrangement), serta konstruksi

dinamis.

Page 26: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

29

Berkas XML harus mengikuti aturan-aturan tertentu. Adapun aturan itu

dideskripsikan sebagai berikut:

a. Dokumen harus berbasis teks. Semua dokumen XML harus berformat teks

ASCII (American Standard Code for Information Interchange). Dokumen XML

dapat merujuk data biner atau mereka dapat dikompres dan dikembalikan ke

bentuk semula saat aplikasi dijalankan, tetapi dokumen XML yang mendasarinya

harus dikodekan dalam bentuk ASCII.

b. XML bersifat case-sensitive, semua nama berkas XML, elemen, atribut,

deklarasi, entisitas, dan intruksi pemrosesan bersifat peka kepitalisasi. Huruf

kapital dan huruf kecil berbeda makna.

c. Baris pertama dokumen XML harus dimulai dengan prolog dengan deklarasi

xml. Deklarasi XML mendefinisikan dokumen sebagai berkas XML.

d. Penandaan membatasi elemen, sub elemen serta atribut, tetapi tidak harus

memiliki isi tertentu. Penandaan XML dinstruksikan dengan tanda <dan>, dan

harus memuat atribut didalamnya.

Page 27: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

30

2.2. Peralatan Pendukung (Tool System)

2.2.1. Flowchart

Menurut Suarga (2006:6) menjelaskan bahwa ”Flowchart adalah suatu teknik

untuk menyusun rencana program telah diperkenalkan dan telah dipergunakan oleh

kalangan programmer komputer sebelum algoritma menjadi popular, yaitu

flowcharting. Flowchart adalah untaian symbol gambar (chart) yang menunjukan

aliran (flow) dari proses terhadap data. Simbol-simbol flowchart dapat

diklisifikasikan menjadi symbol untuk program dan symbol untuk sistem (peralatan

hardware).”

Berikut adalah 5 jenis Flowchart,yaitu :

1. Flowchart Sistem merupakan bagan yang menunjukan alur kerja atau apa

yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan

urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain,

flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur

yang terkombinasi yang membentuk suatu sistem.

Flowchart terdiri dari data yang mengalir melalui sistem dan proses yang

mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat

digambarkan secara online (dihubungkan langsung dengan komputer) atau

offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik,

cash register atau kalkulator).

2. Flowchart Dokumen bagan alir dokumen (document flowchart) atau disebut

juga bagan alir formulir (form flowchart) atau paperwork flowchart

merupakan bagan alir yang menunjukan arus dari laporan dan formulir

Page 28: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

31

termasuk tembusan-tembusannya. Bagan alir dokumen ini menggunkan

simbol-simbol yang sama dengan dengan yang digunakan di dalam bagan alur

sistem.

3. Flowchart Skematik (schematic flowchart) merupakan bagan alir yang mirip

dengan bagan alir sistem, yaitu untuk menggambarkan prosedur di dalam

sistem. Perbedaanya adalah, bagan alir skematik selain menggunakan simbol-

simbol bagan alir sistem, juga menggunakan gambar-gambar komputer dan

peralatan lainnya yang digunakan. Maksud penggunaan gambar-gambar ini

adalah untuk memudahkan untuk dipahami, tetapi sulit dan lama

menggambarnya.

4. Flowchart Program (program flowchart) merupakan bagan yang menjelaskan

secara rinci langkah-langkah dari proses program. Bagan alir program dibuat

dari darivikasi bagan alir sistem.

Bagan alir program dapat terdiri dari dua macam, yaitu bagan alir logika

program (program logic flowchart) dan bagan alir program komputer

terperinci (detailed computer program flowchart). Bagan alir logika program

digunakan untuk menggambarkan tiap-tiap langkah di dalam program

komputer secara logika. Bagan alir logika program ini disiapkan oleh analisis

sistem.

Page 29: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

32

5. Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang

memecahkan dan menganalisis langkah-langkah selanjutnya dalam suatu

prosedur atau sistem. Bagan alir proses menggunakan lima buah simbol.

Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari

dan mengembangkan proses-proses manufacturing. Dalam analisis sistem,

flowchart ini digunakan secara efektif untuk menulusuri alur suatu laporan

atau form.

2.2.2. HIPO (Hierarchy plus Input-Process-Output)

HIPO (Hierarchy plus Input-Process-Output) merupakan alat dokumentasi

program yang dikembangkan dan didukung oleh IBM. Tetapi kini HIPO juga telah

digunakan sebagai alat bantu untuk merancang dan mendokumentasikan siklus

pengembangan sistem.

1. Sasaran HIPO

Hipo telah dirancang dan dikembangkan secara khusus untuk menggambarkan

suatu struktur bertingkat guna memahami fungsi dari modul-modul suatu sistem.

Hipo juga dirancang untuk menggambarkan modul-modul yang harus diselesaikan

oleh pemrogram. HIPO tidak dipakai untuk menunjukan instruksi-instruksi program

yang akan digunakan, disamping itu HIPO juga menyediakan penjelasan yang lengap

dari input yang akan digunakan, proses yang akan dilakukan serta output yang

diinginkan.

Page 30: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

33

2. Diagram HIPO

HIPO menggunakan tiga macam diagram untuk masing-masing tingkatannya,

yaitu sebagai berikut:

a. visual table of contents

diagram ini menggambarkan hubungan dari modul-modul dalam suatu sistem

secara berjenjang.

Gambar II.9

visual table of contents

Page 31: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

34

b. overview diagrams

Digunakan untuk menunjukan secara garis besar hubungan dari input, proses

dan output, dimana bagian input menunjukan item-item data yang akan

digunakan oleh bagian proses. Bagian proses berisi langkah-langkah yang

menggambarkan kerja dari fungsi atau modul,dan bagian output berisi hasil

pemrosesan data.

Tabel II.1 Overview diagram

c. detail diagram

berisi elemen-elemen dari paket yang menggambarkan secara rinci kerja

dan fungsi atau modul.

Tabel II.2 Detail Diagrams

Page 32: BAB II LANDASAN TEORI · Fortan, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasa-bahasa simulasi seperti ... (aplikasi kecerdasan buatan), bahasa-bahasa

35

2.2.3. Adobe Photoshop

Menurut Hendratman (2010:ix) menjelaskan bahwa “Adobe Photoshop adalah

software grafis berbasis Bitmap (pixel), yang biasa dipakai untuk mengedit foto,

membuat ilustrasi bahkan desain web. Sehingga banyak digunakan distudio foto,

percetakan, production house, biro arsitektor, pabrik tekstil dan bidang yang berkaitan

dengan Teknologi Informasi (IT)”.

Interface Adobe Photoshop, Interface/tampilan muka adobe photoshop antara lain

terdiri dari:

a. Toolbar : berada dikiri layar berisi kumpulan tool (tombol dengan gambar).

Toolbar adalah alat utama untuk bekerja di photoshop

b. Menu : berada dikiri layar berupa text untuk perintah lanjut.

c. Property bar : setiap objek mempunyai sifat/ property yang berbeda. Anda

dapat mengaturnya dibagian atas layar

d. Palette : kumpulan library seperti warna, brush yang siap pakai

e. Palette well : sama seperti palette well namun dalam tampilan lain

f. Status bar : berada dibawah gambar/ bidang kerja anda. Disana ada informasi

penggunaan memory, efisiensi, zoom dll

g. Layer tab : pekerjaan anda yang terbagi dalam beberapa lapisan. Anda akan

banyak bidang kerja anda disini.