Kamis, 21 Januari 2016

Dasar-dasar Pengujian Perangkat Lunak

Pengujian bertujuan untuk mencari kesalahan. Pengujian yang baik adalah pengujian yang memiliki kemungkinan besar dalam menemukan kesalahan, karena itu anda harus merancang dan mengimplementasikan sistem berbasis komputer atau produk dengan “kemampuan yang diuji” dalam benak anda. Pada saat yang sama, tes itu harus menunjukan serangkaian karakteristik yang bertujuan untuk menemukan sebanyak mungkin kesalahan dengan usaha sekecil mungkin.

Kemampuan untuk dapat diuji (testability). James Bach mendefinisikan testability sebagai berikut: “kemampuan perangkat lunak untuk dapat diuji adalah seberapa mudahkah sebuah program komputer untuk bisa diuji.” Karakteristik-karakteristik berikut ini menjelaskan tentang kemampuan sebuah perangkat lunak untuk bisa diuji.

  1. Kemampuan untuk bisa dioperasikan (operability). Jika sebuah sistem dirancang dan diimplemetasikan dengan kualitas dalam benak anda, relative sedikit kesalahan yang akan menghambat pelaksanaan penguji, yang memungkinkan pengujian berlanjut tanpa penyesuaian dan mulai dari awal.
  2. Kemampuan untuk bisa diobservasi (observability). Masukan (input) tersedia sebagai bagian dari pengujian yang menghasilkan keluaran (output) berbeda. Bagian dan variabel sistem terliahat atau dapat dipertanyakan selama eksekusi Keluaran yang salah bisa dengan mudah diidentifikasi.
  3. Kemampuan untuk dapat dikontrol (controllability).  Semua keluaran yang mungkin dapat dihasilkan melalui beberapa kombinasi dari masukan, dan format I/O konsisten dan terstrukur. State dan variabel dari perangkat lunak dan perangkat keras dapat dikontrol langsung oleh penguji.
  4. Kemampuan untuk dapat disusun(decomposability). Sistem perangkat lunak dibangun dari modul independen yang dapat diuji secara independen pula.
  5. Kesederhanaan (Simplicity). Program ini harus menunjukan kesederhanaan fungsionalitas, kesederhanaan structural, kesederhanaan kode.
  6. Stabilitas (Stability). Perubahan pada perangkat lunak jarang dikontrol ketika perubahan itu terjadi dan tidak membatalkan pengujian-pengujian yang telah ada. Perangkat lunak ini pulih melalui kegagalan.
  7. Kemampuan untuk bisa dipahami (understandability). Perancangan arsitektur dan ketergantungan antara komponen-komponen internal, eksternal, dan  yang dipakai bersama dipahami dengan baik. Dokumentasi teknis dapat langsung diakses, terorganisasi dengan baik, spesifik dan terperinci, dan akurat. Perubahan rancangan perlu dikomunikasikan dengan penguji.

 Karakteristik Pengujian Menurut Kaner, Falk, dan Nguyen [Kan93] menggambarkan atribut-atribut sebagai berikut untuk sebuah pengujian yang “baik” :
  1. Pengujian yang baik memiliki probabilitas tinggi untuk menemukan kesalahan. Untuk mencapai tujuan ini penguji harus memahami perangkat lunak dan mencoba untuk mengembangkan sebuah gambaran mental bagaimana perangkat  lunak bisa gagal.
  2. Pengujian yang baik tidak berulang-ulang. Waktu dan sumber daya pengujian terbatas. Tidak ada gunanya melakukan pengujian yang memiliki tujuan yang sama dengan pengujian yang lain.
  3. Pengujian yang baik harus menjadi “bibit terbaik”. Dalam sebuah kelompok pengujian yang memiliki tujuan serupa, keterbatasan waktu dan sumber daya dapat mengurangi pelaksanaan bahkan hanya sebagian kecil dari pengujian ini.
  4. Pengujian yang baik harus tidak terlalu sederhana atau terlalu rumit. Meskipun terkadang sangat memungkinkan bagi kita untuk menggabungkan serangkaian pengujian menjadi satu kasus pengujian saja, efek samping yang biasanya terjadi adalah banyak kesalahan yang harus ditutupi. Secara umum, pengujian harus dilaksanakan secara terpisah. (Roger S.Pressman, Ph.D, 2012:2).


Pengujian Perangkat Lunak White Box
Disebut juga pengujian Kotak kaca (glass-box testing) merupakan sebuah filosofi perancangan test case yang menggunakan stuktur control yang dijelaskan sebagai bagian dari perancangan peringkat komponen untuk menghasilkan test case. Dengan menggunakan metode pengujian kotak putih, anda akan dapat memperoleh  test case yang :
  1. Menjamin seluruh independent path didalam modul yang dikerjakan sekurang-kurangnya sekali.
  2. Mengerjakan seluruh keputusan logical.
  3. Mengerjakan seluruh loop yang sesuai dengan batasannya.
  4. Mengerjakan seluruh struktur data internal yang menjamin validitas.


1.      Notasi Grafik alir
Menurut Roger S Pressman (2010 : 588), untuk menggambarkan penggunaan grafik alir pada beberapa symbol atau istila yang ada dalam notasi grafik alir, yaitu:
  • Node, setiap lingkaran disebut node merupakan satu atau lebih pernyataan-pernyataan prosedural, urutan kotak-kotak proses dan berlian-berlian keputisan bisa dipetakan menjadi satu node.
  • Edge atau link, setiap panah pada grafik alir disebut edge merupakan aliran kendali dan analog dengan panah diagram alir. Sebuah edge harus berhenti disebuah node, bahkan jika node tidak mewakili pernyataan-pernyataan prosedural.
  • Region, Area yang dibatasi oleh edge dan node. Ketika memasukkan pula area diluar grafik sebagai region.
  • Predicate node, yaitu setiap node yang berisi kondisi. Predicate node ditandai oleh dua atau lebih edge yang berasal dari node tersebut.


Diagram alir Roger S Pressman


Grafik alir Roger S Pressman 

  
1.      Jalur Program Independent
Jalur independent adalah setiap jalur yang melalui program yang memperkenalkan setidaknya satu kumpulan pernyataan-pernyataan pemrosesan atau kondisi baru. Kompleksitas siklomatik adalah metric perangkat lunak yang menyediakan ukuran kuantitatif dari kompleksitas logis suatu program. Kompleksitas siklomatik dilandaskan pada teori graph, dan menyediakan bagi anda metric perangkat lunak yang sangat berguna. Kompleksitas dihitung dalam salah satu dari tiga cara sebagai berikut:
a.       Jumlah daerah-daerah grafik alir yang berhubungan dengan kompleksitas siklomatik.
b.      Kompleksitas siklomatik V(G) untuk grafik alir G didefinisikan sebagai :
V(G) = E - N + 2

 Dimana :
E = jumlah edge pada flowgraph
N = jumlah node pada flowgrap
c.       Kompleksitas siklomatik V(G) untuk grafik aliran G juga didefinisikan sebagai:
V(G) = P + 1



Dimana :
P = jumlah predicate node pada flowgraph

2.      Menghasilkan Test Case
Menurut Roger S Pressman (2010 : 592), beberapa langkah berikut dapat diterapkan untuk menurunkan basis set :
  • Menggunakan perancangan atau kode sebagai sebuah dasar, contoh gambar grafik yang sesuai.
  • Menentukan kompleksitas siklomatik dari aliran grafik yang dihasilkan.
  • Menentukan sebuah basis set dari jalur independent linier. 

Pengujian Perangkat Lunak  Black Box
Menurut Roger S Pressman (2010 : 597), Pengujian black box disebut juga pengujian perilaku, berfokus pada persyaratan fungsional perangkat lunak. Artinya, teknik pengujian kotak hitam memungkinkan anda untuk membuat beberapa kumpulan kondisi masukan yang sepenuhnya akan mealkukan kebutuhan fuungsional untuk program. Pengujian kotak hitam berupaya untuk menemukan kesalahan dalam kategori sebagai berikut :
·         Fungsi yang salah atau hilang
·         Kesalahan antar muka
·         Kesalahan dalam struktur data atau akses basis data eksternal
·         Kesalahan perilaku atau kinerja
·         Kesalahan inisialisasi dan penghentian

1.      Metode pengujian berbasis grafik
Pengujian perangkat lunak dimulai dengan menciptakan sebuah grafik dari objek – objek penting dan hubungan mereka dan kemudian merumuskan serangkaian pengujian yang akan meliputi grafik sehingga setiap objek dan hubungan diuji dan kesalahan – kesalahan pun ditemukan. (Roger S Pressman, 2010:598).




Rabu, 20 Januari 2016

Global Positioning System (GPS)

GPS (Global Positioning System) adalah sistem satelit navigasi dan penetuan posisi dengan menggunakan satelit. Nama formalnya adalah NAVSTAR GPS, kependekan dari “NAVigation Satelit Tuning and Ranging Global Positioning System” Sistem ini digunakan oleh banyak orang dalam segala cuaca, didesain untuk memberikan posisi dan kecepatan tiga dimensi yang teliti, dan juga informasi mengenai waktu, secara kontinyu di seluruh dunia.

Pada dasarnya GPS terdiri dari tiga segmen utama, yaitu segmen ruang angkasa (space segment) yang terutama terdiri dari satelit-satelit GPS, segmen sistem kontrol (control system segment) yang terdiri dari stasiun-stasiun pemonitor dan pengontrol satelit, dan segmen pemakai (user segment) yang terdiri dari pemakai GPS termasuk alat-alat penerima dan pengolah sinyal dan data GPS.

GPS dapat memberikan informasi mengenai posisi, kecepatan, waktu secara tepat teliti, dan murah dimana saja di Bumi pada setiap waktu siang maupun malam tanpa tergantung pada kondisi cuaca. Sampe saat ini GPS adalah satu-satunya sistem navigasi yang mempunyai karakteristik prima tersebut (Risa Okta Asihani, 2013)

Geographic Information System (GIS)

Geographic Information System
Geographic Information System (GIS) atau Sistem Informasi Berbasis Pemetaan dan Geografi adalah sebuah alat bantu manajemen berupa informasi berbantuan yang terkait erat dengan system pemetaan dan analisis terhadap segala sesuatu serta peristiwa-peristiwa yang terjadi di muka bumi.

Teknologi GIS mengintegrasi operasi pengolahan data berbasis database yang biasa digunakan saat ini, dengan menggunakan visualisasi yang khas serta berbagai keuntungan yang mampu ditawarkan melalui analisis geografis melalui gambar-gambar petanya. Informasi GIS berbeda dengan sistem informasi pada umumnya dan membuatnya berharga bagi perusahaan milik masyarakat atau perorangan untuk memberikan penjelasan tentang suatu peristiwa, membuat peramalan, kejadian, dan perencanaan strategis lainnya. (Luqi Abidin, Firman Arifin, S.T, M.T, Reesa Akbar S.T, M.T, dan A.Hendriawan S.T, M.T, 2011).

Mobile GIS
Mobile GIS merupakan integrasi antara tiga teknologi, yaitu perangkat lunak Geographic Information System (GIS), Global Positioning System (GPS) dan perangkat alat komunikasi pintar genggam (Smartphone), yang saat ini merupakan sebuah kebutuhan yang banyak digunakan dalam kegiatan di lapangan dengan menggunakan Smartphone dan Laptop untuk melakukan pemetaan secara real time. konfigurasi yang baik, pengguna akan dapat melihat posisinya di lapangan melalui peta, citra, atau bentuk spasial lainnya. Mobile GIS merupakan sebuah integrasi cara kerja perangkat lunak/keras untuk pengaksesan data dan layanan geospasial melalui perangkat bergerak via jaringan kabel atau nirkabel (Riyanto, 2010).

Sebelumnya dalam proses mengumpulan dan pengeolahan data Geographic Information System (GIS) menghabiskan banyak waktu dan sering terjadi kesalahan. Data geografi biasanya diperoleh dari lapangan melalui lembaran-lembaran peta. Proses editing dilakukan secara manual dengan cara memasukkannya kedalam database GIS. Hasilnya data menjadi tidak update dan tidak akurat.

Dengan teknologi Mobile GIS memungkinkan GIS dapat langsung diimplementasikan dilapangan sebagai peta digital, sehingga informasi dapat di tambahkan secara real time ke database aplikasinya, dan mempercepat analisis, tampilan data, dan pengambilan keputusan dengan data yang update dan akurat. Pemadam kebakaran, kepolisian, engineering, surveyor, tentara, pekerja sensus, biologis, dan lainnya adalah pengguna yang paling tepat bagi Mobile GIS, Mobile GIS dapat digunakan untuk hal-hal seperti berikut (Edy Irwansyah, 2013) :
  1. Pemetaan Lapangan : Membuat, edit, dan penggunaan peta dilapangan.
  2. Inventori Asset : Membuat dan maintain lokasi inventori asset dan informasi lainnya.
  3. Inspeksi : Mengelola digital record seperti logal code dan ticketing.
  4. Laporan Kecelakaan : Dokumentasi lokasi dan keadaan pada sebuah kejadian untuk mengambil tindakan atau pelaporan.
  5. GIS analis dan pengambilan keputusan : Melakukan pengukuran, buffering, geoprocessing, dan analisis GIS lainnya.


Selasa, 19 Januari 2016

Versi Android

Sejak dirilisnya sistem operasi android versi 1.1, hingga saat ini telah tersedia berbagai versi dari sistem operasi ini, berikut sedikit pengenalan mengenai beberapa versi sistem operasi android yang telah dirilis dari periode 2007 – 2015 (Nazruddin Safaat, 2014), yaitu :

a)      Android 1.1

Versi ini kemunculan pertama pada tahun 2008, dan mulai di terapkan pada ponsel pada bulan maret 2009. Android 1.1 adalah versi awal dari android yang merupakan cikal bakal dari smartphone tercanggih di masa depan.

 b)     Android 1.5 (Cupcake)

Android 1.5 adalah merupakan penyempurnaan dari versi Android 1.1, yang dirilis pada bulan maret 2009. Beberapa keunggulan OS ini adalah bisa mengupload video ke Youtube, Tampilan animasi yang lebih menarik, dukungan Headset Bluetooth, dan tampilan keyboard di layar.

 c)      Android 1.6 (Donut)

Kurang dari 4 bulan, android sudah merilis OS terbarunya yaitu Android 1.6 Donut. Ada banyak penambahan fitur baru dalam android ini. Misalnya fasilitas zoom pada photo, indikator baterai, pembacaan sentuhan tangan, dukungan koneksi CDMA / EVDO dan masih banyak lagi. Beberapa ponsel yang menggunakan ini adalah HTC desire, Archos 5, dan lainnya.

 d)     Android 2.0/2.1 (Eclair)

Pada versi ini penyempurnaan fitur masih gencar dilakukan oleh google. Salah satunya penggunaan layar yang user friendly. Akhirnya banyak perusahaan yang tertarik dengan proyek Android ini. Akhirrnya awal kesuksean android dimulai. Ponsel yang mengg unakan OS ini adalah Sony ericsson Xperia mini X8,Motorola Droid, dan masih banyak lagi. Masa eclair inilah pertama kali nexus one di perkenalkan.

e)      Android 2.2 (Froyo / Frozen Yoghurt)

Pada tanggal 29 Mei Android merilis lagi OS nya yaitu Android Froyo. Dalam OS ini sistem operasi dibenahi secara total. Selain itu pengguna juga dapat menambah kartu memory external seperti micro SD. Karena itulah banyak game dan aplikasi mencantumkan minimum system requirement pada Android Froyo. Ponsel yang menggunakannnya HTC Droid, Samsung Galaxy S, Sony ericsson X10, dan sebagainya.

 f)       Android 2.3 (Gingerbread)

Setelah sukses dengan Froyo, 7 bulan kemudian lahirlah update OS android 2.3 Gingerbread. Di dalam gingerbread ini banyak fitur canggih yang ditanamkan. Misalnya peningkatan kemampuan gaming, peningkatan fitur copas, user interface, efek audio yang baru, serta dual camera untuk videocall. Pada masa gingerbread ini lah Android mulai populer mengalahkan blackberry, iOS, atau windows phone. Ponsel yang menggunakan gingerbread yaitu Samsung Galaxy Y, Galaxy W, Sony Xperia U, ray, arc, Motorola Droid 2, dan masih banyak lagi.

 g)      Android 3.0 (Honey Comb)

Pada versi ini, Android memasuki pasar PC tablet. Dengan interface yang lebih mudah di banding PC desktop, Android Honeycomb mampu menarik minat masyarakat untuk berpindah dari PC ke Tablet. Beberapa tablet yang memakai OS ini adalah Samsung Galaxy Tab, Acer Iconia, dan yang lain.

 h)     Android 4.0 (Ice Cream Sandwich)

Dukungan Aplikasi ke Android ICS ini memang lebih banyak dari sebelumnya. Penyempurnaan Grafis, interface, player, gaming, dan yang lain mampu membuat Android menjadi OS paling populer di dunia. Pada masa ICS, Penjualan Ponsel Android sangat tinggi. Hingga Sekarang pun masih ada yang memakai OS ICS. Dan ponsel yang beroperasi ICS adalah Samsung Galaxy Chat, Galaxy Ace, Sony Xperia Tipo, Miro, Lenovo A390, serta masih banyak lagi.

 i)        Android 4.1 - 4.3 (Jelly bean)

Bisa jadi ini adalah puncak popularitas dari android. Dengan berbagai Fitur canggih, Jellybean mampu memainkan game - game HD. Fiturnya pun sudah semakin kaya. Banyak yang menyukai tampilan dari Jelly bean ini. Tak perlu di sebutkan ponsel apa yang memakai OS ini, karena sekarang hamipir semua Smartphone Android memakai OS ini.

 j)       Android 5.0 – 5.1 (Lollipop)

Android Lollipop adalah versi stabil terbaru dari sistem operasi Android yang dikembangkan oleh Google, yang pada saat ini mencakup versi antara 5.0 dan 5.1. Diresmikan pada 25 Juni 2014 saat Google I/O, dan tersedia secara resmi melalui over-the-air (OTA) update pada tanggal 12 November 2014, untuk memilih perangkat yang menjalankan distribusi Android dilayani oleh Google (seperti perangkat Nexus dan Google Play edition). Kode sumbernya dibuat tersedia pada 3 November 2014

Senin, 18 Januari 2016

Arsitektur Android

Arsitektur Android terdiri dari berbagai lapisan dan setiap lapisan terdiri dari beberapa program yang memiliki fungsi berbeda, sehingga sistem operasi tersebut berjalan dengan semestinya, dan berikut ini adalah arsitektur android (Nazruddin Safaat, 2014), yaitu :
a)        Applications dan Widgets
Applications dan Widgets ini adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita lakukan instlasi 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)        Applications 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 resources, 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.
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 adalah sebagai berikut:
  1. Views
  2. Content Provider
  3. Resource Manager
  4. Notification 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 atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta:
  1. Libraries media untuk pemutaran media audio dan video
  2. Libraries untuk manajemen tampilan
  3. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D
  4. Libraries SQLite untuk dukungan database.
  5. Libraries SSL dan WebK.it tenntegrasi dengan web browser security
  6. Libraries LiveWebcore mencakup modem web browser dengan engine embeded web view
  7. Libraries 3D yang mencakup implementasi OpenGL ES 1.0 APi's
d)             Android RunTime
Layer yang membuat aplikasi Android dapat dijalankan di mana 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 :

  1. 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.
  1. 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 layer dimana inti dari operating sistem dari Android itu berada. Berisi file-file system yang mengatur sistem processing, memory. resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel release.

Sistem Operasi Android

Sistem Operasi Android adalah aplikasi sistem operasi untuk telepon seluler yang berbasis Linux. Pada awalnya dikembangkan oleh Android Inc, sebuah perusahaan yang kemudian dibeli oleh Google, kemudian untuk mengembangkan android, dibentuklan Open Handset Alliance. Android merupakan software yang bisa didistribusikan secara terbuka (Open Source) sehingga programmer bisa membuat aplikasi baru didalamnya, terdapat Android Market yang menyediakan ribuan aplikasi baik yang gratis maupun berbayar. (Nazruddin Safaat, 2012)

Android sebagai “Platform Mobile pertama yang Lengkap, Terbuka, dan Bebas” :
  1. Lengkap (Complete Platform) : Para desainer dapat melakukan pendekataan yang komprehensif ketika mereka sedang mengembangkan platform Android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun Software dan memungkinkan untuk peluang pengembangan aplikasi.
  2. Terbuka (Open Source Platform) : Platform Android disediakan melalui lisensi open source. Pengembang dapat bebas untuk mengembangkan aplikasi Android sendiri menggunakan Linux Kernel 2.6.
  3. Free (Free Platform) : Android adalah platform aplikasi yarg bebas untuk develop. Tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform Android, Tidak ada biaya keanggotaan diperlukan. Tidak diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan. Aplikasi untuk android dapat didistribusikan dan diperdagangkan dalam bentuk apa pun. (Nazruddin Safaat, 2014)

Dan dalam pengertiannya android itu sederhananya diartikan sebagai satu atau merupakan gabungan dari tiga pengertian yang telah disebutkan diatas, yaitu:
  1. Sistem operasi untuk platform mobile yang bersifat gratis.
  2. Platform untuk pengembangan aplikasi berbasis mobile.
  3. Peralatan/hardware, terutama mobile phone yang menjalankan sistem operasi dan aplikasi yang dibuat dengan platform android


ACCESS INFORMATION



Buka Semua | Tutup Semua

Sedang Perbaikan
Sedang Perbaikan
Silakan kirim pesan dan saran Anda,

Ahmad Sachowi Amin

Selamat Datang di Blog Saya, cybermatika.net.
Hobi saya adalah Belajar dan Belajar, entah yang penting bermanfaat untuk orang lain.Sharing adalah jalan saya, sharing dengan siapa saja yang penting memberi manfaat bagi saya.Ilmu adalah Cara saya, cara saya untuk belajar dan sharing tentang banyak hal.