Rabu, 22 Oktober 2014

Membuat QRCode Scanner di Android

Saya akan membuat sebuah QRCode reader sederhana di Android, Sebelumnya saya pernah membuat aplikasi seperti ini yang digunakan untuk presensi/absensi kehadiran. Namun lebih kompleks karena aplikasi tersebut harus tersambung ke internet. Kali ini kita buat versi sederhananya saja.

QRCode Library

Oke, pertama-tama kita butuh library. Karena di sini kita nggak coding dari awal… hehe Lagipula kalau ada orang lain yang sudah buat, kenapa kita nggak menggunakan buatan mereka :p
Library yang dibutuhkan adalah ZXing barcode image library. Cara menggunakannya, kita pertama-tama harus menginstall BarcodeScanner.apk terlebih dahulu ke emulator/ponsel Android kita. Versi yang digunakan di sini adalah versi 3.4, bisa didownload di sini.
Cara penginstalan :
  • untuk ponsel Android, copy-kan APK-nya ke SDCard. Dan kemudian install dari sana.
  • untuk emulator Android, gunakan cara sebagai berikut.
Saya sarankan untuk menggunakan ponsel Android asli dalam tutorial ini, karena terkadang emulator Android tidak mendukung jenis-jenis webcam tertentu.

Warming Up

Sekarang, kita akan mulai membuat aplikasinya. Buatlah sebuah project Android di Eclipse dengan nama package id.web.twoh.QRProject (opsional). Bagi yang belum tahu, tutorialnya bisa dibaca di sini. Setelah itu buatlah sebuah package baru untuk library ZXing yang akan kita pakai, dipisahkan dengan package lama. Susunannya seperti ini :
package library ZXingpackage library ZXing
Oke, packagenya bernama com.example.BarcodeTest. Dan di dalamnya ada dua buah kelas, yaitu IntentIntegrator.java dan IntentResult.java. IntentIntegrator berfungsi untuk mengintegrasikan aplikasi ini dengan aplikasi Barcode Scanner yang baru kita install. Sedangkan IntentResult.java berfungsi untuk mengembalikan data hasil scan dari Barcode Scanner ke aplikasi kita, sehingga nanti datanya bisa kita oleh.
Kode untuk kedua kelas tersebut sudah dispesifikasikan oleh pembuatnya, yaitu sebagai berikut :
Kode untuk IntentIntegrator.java (Apache License):

http://pastebin.com/08EXK6hn

Sedangkan kode untuk IntentResult.java (Apache License):

http://pastebin.com/yjuFTPRV

Dua kelas di atas bisa didownload di situs Google Project ZXing.

Sekarang kita akan membuat aplikasi QRCode scannernya.

The Code

Aplikasi ini akan mempunyai dua buah Activity Class, yaitu MainActivity dan QRScanner Activity. MainActivity hanya berisi nama program dan sebuah tombol, sedangkan QRScanner-lah yang melakukan proses pemindaian QRCode.
Pertama-tama kita akan membuat dahulu layout untuk MainActivity, yang bernama MainActivity.xml. Beginilah kodenya :

http://pastebin.com/mEMXAQ70

Layout tersebut menggunakan RelativeLayout dan hanya mempunyai satu tombol. Quite simple. Setelah itu, buka file MainActivity.java dan masukkan kode berikut :

http://pastebin.com/CHpr23S7

Apabila ada error, biarkan dahulu untuk sementara :D File MainActivity.java berfungsi untuk menampilkan layout yang tadi kita buat dan menghubungkan tombol dengan Activity kedua, yaitu QRScanner Activity.
Buatlah file baru bernama QRScanner.java dan copy paste kan kode berikut :

 http://pastebin.com/38EHS3rk

Yups, itulah kode untuk QRScanner.java, kelas tersebut berfungsi untuk memanggil Barcode Scanner yang nantinya akan melakukan proses scanning QRCode. Apabila ada QRCode yang terdeteksi, maka hasilnya akan dimunculkan melalui Alert Dialog. Dan dari situ ada dua aksi yang bisa kita ambil, apakah ingin menyimpan hasil, atau ingin mencoba scanning lagi.
Yang terakhir adalah file AndroidManifest.xml, jangan lupa untuk mendaftarkan QRScanner sebagai Activity baru, kodenya sebagai berikut :

http://pastebin.com/C4qGKnWK

Demo Aplikasi

Langsung saja untuk demo aplikasinya :
Nampak halaman depan aplikasinya, mantap jaya :DNampak halaman depan aplikasinya, mantap jaya :D
Tampilan apabila aplikasi dibuka, klik tombol, maka akan masuk ke bagian pemindaian QR Code. Ini adalah tampilan aplikasi ketika ada data QRCode yang berhasil ditangkap.
Aplikasi mendeteksi adanya QRCode saat ScanningAplikasi mendeteksi adanya QRCode saat Scanning
Dan aplikasi otomatis akan menampilkan alert dialog apabila telah selesai mendeteksi QR Code.
Menampilkan data scan menggunakan Alert DialogMenampilkan data scan menggunakan Alert Dialog
That’s all. Aplikasi QRCode scanner ini sangat berguna untuk membuat aplikasi kehadiran, atau aplikasi pencatatan inventoris barang. Semoga berguna


Sumber :   http://www.twoh.co



Minggu, 19 Oktober 2014

Arsitektur Telematika

             Arsitektur system harus berdasarkan konfigurasi sistem secara keseluruhan yang akan menjadi tempat dari DBMS, basis data dan aplikasi yang memanfaatkannya yang juga akan menentukan bagaimana pemakai dapat berinteraksi dengannya. Arsitektur telematika adalah sebuah aplikasi yang secara logic berada diantara lapisan aplikasi (application layer dan lapisan data dari sebuah arsitektur layer – layer TCP/IP).

Asitektur Sisi klien
Istilah ini merujuk pada pelaksanaan atau penyimpanan data pada browser (atau klien) sisi koneksi HTTP. JavaScript adalah sebuah contoh dari sisi klien eksekusi, dan cookie adalah contoh dari sisi klien penyimpanan. Lihat Cookie, Server Side.

 
Karakteristik Klien :
  • ·         Selalu memulai permintaan ke server.
  • ·         Menunggu balasan.
  • ·         Menerima balasan
Biasanya terhubung ke sejumlah kecil dari server pada satu waktu. Biasanya berinteraksi langsung dengan pengguna akhir dengan menggunakan antarmuka pengguna seperti antarmuka pengguna grafis. Khusus jenis klien mencakup: web browser, e-mail klien, dan online chat klien.

Arsitektur Sisi Server
Sebuah eksekusi sisi server adalah server Web khusus eksekusi yang melampaui standar metode HTTP itu harus mendukung. Sebagai contoh, penggunaan CGI script sisi server khusus tag tertanam di halaman HTML; tag ini memicu tindakan terjadi atau program untuk mengeksekusi.

Karakteristik Server:
  • ·         Selalu menunggu permintaan dari salah satu klien.
  • ·         Melayani klien permintaan kemudian menjawab dengan data yang diminta ke klien.
  • ·         Sebuah server dapat berkomunikasi dengan server lain untuk melayani permintaan klien.
            Jenis server khusus mencakup: web server, FTP server, database server, E-mail server, file server, print server. Kebanyakan web layanan ini juga jenis server.
Secara umum Arsitektur Klien-server atau jaringan komputer adalah sebuah aplikasi terdistribusi arsitektur yang partisi tugas atau beban kerja antara penyedia layanan (server) dan pelayanan pemohon, disebut klien. Sering kali klien dan server beroperasi melalui jaringan komputer pada hardware terpisah. Sebuah mesin server adalah performa tinggi host yang menjalankan satu atau lebih program server yang berbagi sumber daya dengan klien. Seorang klien tidak berbagi apapun dari sumber daya, tetapi meminta server layanan konten atau fungsi. Oleh karena itu klien memulai sesi komunikasi dengan server yang menunggu (mendengarkan) masuk permintaan.
Dalam perkembangannya, client/ server dikembangkan oleh dominasi perusahaan software besar yaitu Baan, Informix, Lotus, Microsoft, Novell, Oracle, PeopleSoft, SAP, Sun, dan Sybase. Perusahaan-perusahaan ini adalah superstar pada era pertama dimunculkannya konsep client/ server. Saat ini perusahaanperusahaan ini telah menjadi perusahaan komputer yang stabil dan besar.

Kolaborasi Arsitektur Sisi Client Dan Sisi Server 


·         Arsitektur Single-Tier
  
Definisi satu-tier arsitektur, seperti yang ditunjukkan pada gambar di bawah ini, adalah bahwa semua komponen produksi dari sistem dijalankan pada komputer yang sama. Ini adalah sederhana dan paling mahal alternatif. Ada kurang perlengkapan untuk membeli dan mempertahankan.
Kelemahan dari jenis ini pelaksanaan keamanan lebih rendah dan kurangnya skalabilitas. Sebuah arsitektur skalabel ketika dapat dengan mudah diperluas atau ditambah untuk memenuhi kebutuhan peningkatan kinerja. Setelah semua komponen utama situs dan data di satu komputer di belakang firewall daun domain situs lebih rentan terhadap serangan berbahaya. Menjalankan semua komponen situs pada sebuah komputer juga membatasi ekspansi dan optimalisasi kemungkinan. Anda hanya dapat menambahkan begitu banyak memori atau begitu banyak CPU untuk sebuah server tunggal.



·         Arsitektur Two-tier
     

Dalam dua lapis klien / server arsitektur, antarmuka pengguna pengguna ditempatkan di lingkungan desktop dan sistem manajemen database jasa biasanya dalam sebuah server yang lebih kuat merupakan mesin yang menyediakan layanan bagi banyak klien. Pengolahan informasi dibagi antara sistem user interface lingkungan dan lingkungan server manajemen database. Manajemen database server mendukung untuk disimpan prosedur dan pemicu.. Vendor perangkat lunak menyediakan alat-alat untuk menyederhanakan pengembangan aplikasi untuk dua lapis klien / server arsitektur.
Arsitektur two-tier lebih aman dan terukur daripada pendekatan single-tier. Pilihan ini bergerak Database Server ke mesin terpisah di belakang firewall yang kedua. Ini menambah keamanan tambahan dengan menghapus data pelanggan sensitif dari DMZ. Memiliki database pada komputer yang terpisah meningkatkan kinerja keseluruhan situs. Kelemahan dari opsi ini adalah biaya yang mahal dan kompleksitas arsitektur.

·         Arsitektur Three-tier

Arsitektur Three-Tier diperkenalkan untuk mengatasi kelemahan dari arsitektur two-tier. Di tiga tingkatan arsitektur, sebuah middleware digunakan antara sistem user interface lingkungan klien dan server manajemen database lingkungan. Middleware ini diimplementasikan dalam berbagai cara seperti pengolahan transaksi monitor, pesan server atau aplikasi server. The middleware menjalankan fungsi dari antrian, eksekusi aplikasi dan database pementasan.
Di samping itu middleware menambahkan penjadwalan dan prioritas untuk bekerja di kemajuan. Three-tier klien / server arsitektur digunakan untuk meningkatkan performa untuk jumlah pengguna yang besar dan juga meningkatkan fleksibilitas ketika dibandingkan dengan pendekatan dua tingkat. Kekurangan dari tiga tingkatan arsitektur adalah bahwa lingkungan pengembangan lebih sulit untuk digunakan daripada pengembangan aplikasi dari dua lapis.

o   Three tier dengan pesan server
Pada arsitektur ini, pesan akan diproses dan diprioritaskan asynchronously. Header pesan memiliki prioritas yang mencakup informasi, alamat dan nomor identifikasi. Server pesan link ke relasional DBMS dan sumber data lainnya. Pesan sistem alternatif untuk infrastruktur nirkabel.

o   Three tier dengan server aplikasi
Arsitektur ini memungkinkan tubuh utama untuk menjalankan sebuah aplikasi pada tuan rumah bersama bukan di sistem user interface lingkungan klien. Server aplikasi logika bisnis saham, perhitungan dan pengambilan data mesin. . Dalam aplikasi arsitektur ini lebih terukur dan biaya instalasi kurang pada satu server dibandingkan mempertahankan masing-masing pada klien desktop.
Beberapa Keuntungan Arsitektur Three-Tier :
  • Keluwesan teknologi,
  • Mudah untuk mengubah DBMS engine,
  • Memungkinkan pula middle tier ke platform yang berbeda,
  • Biaya jangka panjang yang rendah,
  • Perubahan-perubahan cukup dilakukan pada middle tier daripada pada aplikasi keseluruhan,
  • Keunggulan kompetitif,
  • Kemampuan untuk bereaksi terhadap perubahan bisnis dengan cepat, dengan cara mengubah modul kode daripada mengubah keseluruhan aplikasi.


http://she2008.wordpress.com/2011/10/31/telematika/
http://andreasutomo.wordpress.com/2014/01/15/arsitektur-telematika-dari-sisi-server/