• Tidak ada hasil yang ditemukan

Perancangan Aplikasi Lelang Online Sederhana Berbasis Android

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perancangan Aplikasi Lelang Online Sederhana Berbasis Android"

Copied!
11
0
0

Teks penuh

(1)

B A B I I

D A S A R T E O R I 2.1. J ava

J ava adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. J ava merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus dirancang untuk memanfaatkan dependensi implementasi seminimal mungkin. K arena fungsionalitasnya yang memungkinkan aplikasi J ava mampu berjalan di beberapa platform sistem operasi yang berbeda, J ava dikenal pula dengan slogannya, “T ulis sekali, jalankan di manapun”. T ahap kompilasi:

1. T ulis/ubah. Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas ‘ .java’.

2. K ompilasi. C ompiler membentuk bytecodes dari program menjadi bentuk berkas ‘ .class’.

3. Muat. Pemuat kelas memuat bytecodes ke memori.

4. V erifikasi. Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan J ava.

5. J alankan. Penerjemah menerjemahkan bytecodes ke bahasa mesin [ 2] .

(2)

class-class pada kedua package ini merupakan komponen utama yang dipakai dalam pembuatan aplikasi lelang online berbasis J ava.

2.1.1. J ava.io

Package java.io pada java class library menyediakan class-class yang mendukung untuk sistem input dan output melalui data stream, serialisasi dan sistem file [ 1] .

2.1.2. J ava.net

Package java.net menyediakan class untuk implementasi aplikasi network. Paket ini berisi kelas yang memperbolehkan program untuk berkomunikasi melalui jaringan. Package java.net dapat dibagi dalam 2 bagian, yaitu: A L ow-L evel API, yang berkaitan dengan masalah berikut:

1. Addresses, yaitu pengidentifikasian jaringan, seperti IP Addresses. 2. Sockets, yang merupakan dasar mekanisme data dua arah.

3. Interfaces, menggambarkan interface dari jaringan tersebut. A High-L evel API, yang berkaitan dengan masalah berikut:

1. UR I, yang mewakili Universal Resource Identifier. 2. UR L , yang mewakili Universal Resource L ocators.

3. C onnections, yang merupakan koneksi ke sumber daya yang ditunjukkan oleh UR L .

(3)

instance java.lang.object memiliki monitor locking terhadap objek atau metode (notify(), notifyAll(), wait()) hanya memiliki arti di konteks aplikasi multithreading. J ava menyediakan kata kunci synchronized untuk mengendalikan perilaku di lingkungan multithreading [ 5] .

2.2. T hread

T hread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan berbagai program lainnya. D alam threading dapat dijalankan beberapa pointer ataupun tugas/metode tertentu secara sekaligus [ 5] . A rtinya dua atau lebih bagian dari kode dapat dijalankan secara simultan. S ebuah thread merupakan sebuah pengontrol aliran program. D engan kata lain, thread menyatakan program komputer untuk melakukan lebih dari satu tugas di satu waktu yang sama.

S ebelumnya perlu dibedakan antara thread dan proses. T hread dan proses sama-sama merupakan urutan kode yang dieksekusi. Pada A ndroid, yang dasarnya adalah L inux, setiap aplikasi yang dijalankan berada di proses yang terpisah. S atu proses kemudian dapat memiliki satu atau lebih thread. T hread-thread di dalam proses yang sama berbagi memori, walaupun setiap thread punya register dan stack sendiri. Proses independen satu sama lain, sedangkan thread-thread pada proses yang sama saling terkait.

(4)

namun menimbulkan permasalahan sinkronisasi pengaksesan data. J ava menyediakan kata kunci synchronized untuk mengendalikan perilaku thread di lingkungan multithreading [ 5] .

2.3. A ndr oid

A ndroid adalah sistem operasi berbasis L inux yang dirancang untuk perangkat bergerak (mobile) layar sentuh seperti smartphone dan komputer tablet. A ndroid merupakan sistem operasi yang opensource, dan Google merilis kodenya di bawah lisensi A pache. K ode opensource dan lisensi perizinan pada A ndroid memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi.

A ndroid merupakan subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi, middleware dan aplikasi inti yang dirilis oleh Google. A ndroid dilengkapi dengan A ndroid S D K (Software D evelopment K it) yang menyediakan tools dan mendukung kebutuhan A PI (Application Programming Interface) yang diperlukan untuk mengembangkan aplikasi pada platform A ndroid dengan menggunakan bahasa pemrograman J ava.

(5)

2.3.1. A r sitek tur A ndr oid

A rsitektur A ndroid diibaratkan seperti sebuah tumpukan software. Pendapat tersebut dikemukakan oleh Open Handset Alliance yang mengasuh Google sebagai pencipta A ndroid, yang mana setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Pada Gambar 7.1 di bawah ini akan menggambarkan arsitektur A ndroid dari setiap arasnya yang mana diibaratkan seperti tumpukan software.

G ambar 2.1 A rsitektur A ndroid

(6)

A ndroid menggunakan bahasa pemrograman J ava. L apisan selanjutnya adalah application framework, yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone [ 3] .

2.3.2. A ndr oid S D K

A ndroid S D K mencakup seperangkat alat pengembangan yang komperhensif. A ndroid S D K terdiri atas debugger, libraries, handset emulator, dokumentasi, contoh kode dan tutorial. S aat ini A ndroid sudah mendukung arsitektur x86 pada L inux (distribusi L inux apapun untuk desktop modern), MacOS X 10.4.8 atau lebih, W indows X P atau V ista. Persyaratan mencakup J D K , A pache A nt dan Python 2.2 atau yang lebih baru. ID E yang didukung secara resmi adalah E clipse 3.2 atau lebih dengan menggunakan plug-in Android D evelopment T ools (A DT ), dengan ini pengembang dapat menggunakan teks editor untuk meng-edit file J ava dan X ML serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi A ndroid dan pengendalian perangkat A ndroid (misalnya reboot, menginstal paket perangkat lunak dari jarak jauh) [ 3] .

2.4. S ocket

(7)

Socket merupakan fasi litas IPC (Inter Process C ommunication) untuk aplikasi jaringan. A gar suatu socket dapat berkomunikasi dengan socket lainnya, maka socket perlu diberi suatu alamat unik sebagai identifikasi. A lamat socket terdiri atas A lamat IP dan Nomor Port. C ontoh alamat socket adalah 192.168.29.30: 3000, di mana angka 3000 adalah nomor port-nya. A lamat IP dapat menggunakan alamat jaringan lokal ( L A N) maupun alamat internet [ 6] . J adi socket dapat digunakan untuk IPC pada L A N maupun internet. L ogika dasar dari pemrograman socket adalah sebagai berikut:

1. J ika ada 2 node yang ingin berkomunikasi, maka mereka harus menentukan port mana yang akan digunakan untuk berkomunikasi dan membuka port tersebut melalui deklarasi socket.

2. J ika sudah membuka port untuk berkomunikasi, yang perlu dilakukan adalah membuat jalur untuk berkomunikasi yang menghubungkan kedua port tersebut.

3. J alur tersebut terbagi atas:

 1 jalur untuk client mengirim data.  1 jalur untuk client menerima data.  1 jalur untuk server mengirim data.  1 jalur untuk server menerima data.

4. J ika keempat jalur tersebut sudah dibuat, maka server dan client sudah dapat melakukan komunikasi.

(8)

2.5. A lamat I P

A lamat IP ( Internet Protocol Address) adalah sederetan angka biner antara 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan internet. Panjang dari angka ini adalah 32-bit untuk IPv4 ( IP versi 4) dan 128-bit untuk IPv6 ( IP versi 6) yang menunjukkan alamat pada komputer agar komputer dapat saling terhubung dengan komputer lain. IP Address terdiri dari 4 blok di mana setiap blok diisi oleh angka 0-255. C ontoh IP Address seperti 192.168.100.1 adalah IPv4.

2.6. Port

D alam protokol jaringan T C P/IP, sebuah port adalah mekanisme yang mengizinkan sebuah komputer untuk mendukung beberapa sesi koneksi dengan komputer lainnya dan program di dalam jaringan [ 6] . Port dapat mengidentifikasi aplikasi dan layanan yang menggunakan koneksi di dalam jaringan T C P/IP. S ehingga, port juga mengidentifikasi sebuah proses tertentu di mana sebuah server dapat memberikan sebuah layanan kepada client atau bagaimana sebuah client dapat mengakses sebuah layanan yang ada dalam server. Port dapat dikenali dengan angka 16-bit (2 byte) yang disebut dengan Port Number dan diklarifikasi dengan jenis protocol transport apa yang digunakan ke dalam Port T C P dan Port UD P. K arena memiliki bilangan 16-bit, maka total maksimum jumlah port untuk setiap protocol transport yang digunakan adalah 65536 buah.

2.7. Par adigma C lient/S erver

(9)

C lient adalah mesin yang membutuhkan beberapa jenis informasi, sedangkan server adalah mesin yang menyimpan informasi dan menunggu untuk menyampaikannya pada client. Paradigma ini menjelaskan sebuah skenario sederhana. T entunya, client terhubung dengan server dan meminta informasi. K emudian server mengingat permintaan dan mengembalikan informasi yang tersedia kepada client.

G ambar 2.2 Model C lient/Server

S umber : J E NI (J ava E ducation Network Indonesia)

(10)

G ambar 2.3 Model K omunikasi C lient/Server S umber : J E NI (J ava E ducation Network Indonesia)

Gambar di atas adalah cara client dan server berkomunikasi. S ecara sederhana, model komunikasi client-server adalah:

1. Pertama-tama, server berada dalam keadaan L IST E N. D alam keadaan L IST E N ini, server menunggu dan siap menerima permintaan koneksi dari client. D alam hal ini, server membuka port dengan nomor tertentu yang diketahui oleh client. D i sana ada service yang berjalan di pihak server atau ada daemon yang berjalan dan menunggu port tertentu di pihak server.

2. Hubungan antara client dengan server dimulai oleh client yang bertindak meminta suatu koneksi ke server. Paketnya berupa Request C onnection pada gambar di atas.

(11)

C onnection dari server seperti pada gambar di atas. Pada titik ini, koneksi antara client dan server sudah terjalin.

4. S etelah terjalinnya koneksi, client dapat mengirimkan data ke server. B egitu pula dengan sever boleh saling mengirimkan data antara satu dengan lainnya yang disebut D ata T ransfer.

Gambar

Gambar 2.1 Arsitektur Android
Gambar 2.2 Model Client/Server
Gambar 2.3 Model Komunikasi Client/Server

Referensi

Dokumen terkait

 Mengungkapkan kembali tentang proses terjadinya bumi dari beberapa referensi yang dikali  Secara individu mengkaji.

Pantai Binasi sering sekali ramai dengan pengunjung, hal ini dapat merusak satu ekosistem yang berada di pantai tersebut, dengan adanya kesesuaian aktivitas wisata serta

Bagi SKPD yang memanfaatkan jasa tenaga kerja Non ASN terkait kegiatan seperti programer, petugas jaringan komputer, petugas analis komputer, operator sistem, operator data

Diajukan Kepada Fakultas Tarbiyah dan Ilmu Keguruan Institut Agama Islam Negeri Tulungagung Untuk Memenuhi Salah Satu Persyaratan Guna Memperoleh. Gelar Strata Satu Sarjana

Dalam hal ini kemasan merupakan wadah yang digunakan untuk membungkus produk ha- sil produksi IKM, baik wadah langsung atau wadah yang tidak langsung bersentuhan den- gan

Alasan yang sering didengungkan adalah karena naluri seks yang telah di anugerahkan Tuhan dan merupakan bawaan sejak lahir (takdir), selain itu alasan yang menjadi

Hasil analisis ragam sifat-sifat papan partikel BKS

Jika telah menerima dana PKH, apakah besaran bantuan tunai sesuai dengan kriteria Peserta. Jika tidak mematuhi, apakah Peserta menerima pemotongan bantuan