BAB II LANDASAN TEORI
2.1 Mobile Positioning Dalam Kamus Besar Bahasa Indonesia dijelaskan bahwa pelacakan adalah proses, perbuatan, cara melacak; proses, cara, perbuatan mencari (menelusuri) jejak. Melacak adalah mencari atau menuruti jejak, memeriksa dengan teliti, menyelidiki, mengusut. Mobile positioning merupakan penentuan posisi lokasi pada mobile device. Menurut Westfall (2012), cara menentukan lokasi ada bermacam-macam antara lain: 1. Global Positioning System atau GPS GPS menggunakan sistem satelit yang mengorbit planet untuk membantu penerima menentukan lokasi saat ini. Meskipun dapat memberikan data lokasi yang paling akurat, namun GPS bermasalah ketika digunakan di dalam ruangan atau lingkungan perkotaan karena gedung-gedung tinggi dapat menyebabkan gangguan sinyal. 2. Wireless Network Access Points Perangkat yang menggunakan Wi-Fi untuk konektivitas jaringan, dapat juga menggabungkannya dengan nama SSID untuk jaringan Wi-Fi. Dengan demikian, keduanya dapat menghasilkan kekuatan sinyal untuk melakukan pelacakan terhadap posisi lokasi. Manfaat utama menggunakan Wi-Fi sebagai penentu lokasi yaitu memungkinkan perangkat untuk memperoleh informasi lokasi di daerah yang data lokasinya tidak bisa diberikan GPS. Lingkungan perkotaan dapat meningkatkan akurasi Wi-Fi menentukan lokasi karena berlimpahnya jaringan Wi-Fi yang tersedia dalam menentukan lokasi saat ini. 3. Cell ID Pelacakan dengan Cell ID bisa digunakan tanpa memerlukan koneksi Internet. Meskipun begitu, hal ini kurang akurat karena cara pelacakan ini mengambil data lokasi dari nomor identitas BTS terdekat berdasarkan kekuatan sinyal
5
6
bersamaan dengan informasi waktu terkait dan lokasi menara sel yang kurang adanya kecenderungan untuk berubah. Gambar 2.1 menunjukkan cara mendapatkan Cell ID ada tiga yaitu diam di satu tempat tanpa menggerakkan ponsel, mengelilingi sebuah gedung sekali, dan berpindah dari area satu ke area lainnya.
Gambar 2.1 Cara Mendapatkan Cell ID (Sumber: Lei, Philip et al (2005: 8))
4. IP Address Allocation Selama perangkat ponsel atau komputer menerima IP address yang dinamis ketika menghubungi Wi-Fi atau jaringan mobile, provider biasanya mengetahui komponen blok dari IP address, dan mengetahui pola distribusi di dalam beragam area geografis.
2.2 GPS (Global Positioning System) GPS menggunakan informasi sistem satelit yang mengorbit planet bumi untuk membantu menentukan lokasi saat ini. GPS berfungsi untuk mengakses lokasi pengguna pada saat tertentu. GPS dapat ditemukan dalam unit navigasi mobil, ataupun telepon seluler. Dengan menggunakan GPS, pengguna dapat melakukan pelacakan terhadap setiap perpindahan lokasi. Menurut Milette (2012) dalam buku yang berjudul ”Professional AndroidTM Sensor Programming”, setiap satelit GPS terus mentransmisikan posisi saat ini (data ephemeris) dan data almanak. Data almanak meliputi data tentang setiap satelit di konstelasi, termasuk data yang mengorbit serta informasi mengenai keadaan sistem secara keseluruhan. Setiap satelit mentransmisikan data keduanya. Data ephemeris memberikan keakuratan perhitungan lokasi yang lebih baik. Untuk menghitung lokasinya, sistem GPS harus bisa menentukan jarak dari beberapa satelit. Sebelum lokasi dapat dihitung, beberapa satelit harus ditemukan.
7
Banyak satelit yang mengorbit bumi, namun hanya sedikit yang bisa dilihat pada waktu tertentu karena sebagian berada di bawah cakrawala. Almanak dapat memberikan bantuan dalam menentukan satelit yang digunakan untuk lokasi dan waktu tertentu. Untuk menghitung lokasi, dapat digunakan teknik yang disebut dengan trilaterasi. Lihat Gambar 2.2. Penerima GPS menentukan jarak dari beberapa satelit. Ini menggunakan data ephemeris. Jarak diperoleh dari hasil kali antara kecepatan dan waktu, s = v * t dimana: s: jarak yang ditempuh (m) v: kecepatan (m / s) t: waktu yang diperlukan (s)
Gambar 2.2 Trilaterasi GPS (http://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/f2008/djd36 _fac24_wy47/djd36_fac24_wy47/index.html)
Dengan menggunakan jarak dari beberapa satelit, penerima GPS dapat memperkirakan lokasi. Meskipun demikian, dibutuhkan minimal tiga satelit untuk menentukan lokasi latitude dan longitude secara tepat dan akurat. Meskipun GPS standard dapat menyediakan data lokasi yang akurat, namun keterbatasan memungkinkan sulitnya penggunaan dalam perangkat mobile. Karena itu, menurut Milette (2012), perangkat mobile modern menggunakan assisted GPS (A-GPS) atau simultaneous GPS (S-GPS).
8
1. A-GPS A-GPS menggunakan jaringan seluler untuk mengirimkan almanak GPS bersamaan dengan potongan-potongan informasi lain ke perangkat mobile. Ini menggunakan jaringan seluler yang memungkinkan proses transmisi lebih cepat dari almanac, sehingga menyebabkan penentuan lokasi saat ini juga lebih cepat. Selain itu, karena almanak berisi informasi mengenai setiap satelit GPS, perangkat akan mengetahui perkiraan lokasi dari satelit GPS sehingga waktu yang dibutuhkan untuk mendapatkan lokasi GPS menjadi lebih baik. 2. S-GPS Perangkat yang menggunakan GPS standar dapat menggunakan perangkat keras yang sama dengan satelit GPS dan membuat panggilan telepon seluler. Ini artinya hanya satu tindakan yang terjadi pada satu waktu. S-GPS membahas masalah ini dengan menambahkan hardware tambahan yang memungkinkan radio GPS dan jaringan radio seluler beroperasi secara bersamaan. Kemampuan dari dua radio aktif dapat meningkatkan kecepatan transmisi data GPS karena ini memungkinkan data diterima ketika jaringan seluler dalam kondisi aktif.
Sistem operasi Android mendukung GPS sehingga dapat mempermudah pengembang dalam membuat aplikasi yang mampu mendeteksi lokasi pengguna, mendeteksi perubahan lokasi pengguna. Meskipun dapat memberikan data lokasi yang paling akurat, GPS masih memiliki keterbatasan antara lain: 1. Penerima GPS memerlukan jalur yang jelas menuju satelit GPS. Ini tidak berfungsi dengan baik apabila bekerja di dalam ruangan apalagi GPS memerlukan koneksi Internet yang stabil. Selain itu, banyaknya waktu yang diperlukan untuk menghitung posisi lokasi saat ini karena sebelum lokasi dapat dihitung, beberapa satelit harus sudah ditemukan. 2. Membutuhkan biaya yang tinggi. 3. GPS memungkinkan kurangnya daya tahan baterai. Saat ini banyak telepon seluler yang sudah dilengkapi dengan GPS, menyediakan fitur yang memungkinkan pengguna untuk menghidupkan atau mematikan perangkat GPS-nya.
9
2.3 Google Maps Google merupakan mesin pencari yang paling terkenal. Google sudah memiliki teknologi untuk menampilkan dan memperbaharui peta secara interaktif. Adapun proses bisnis yang memungkinkan orang lain untuk menggunakan dan menambahkan fitur ini ke dalam website mereka dengan Google Maps API. Hal ini terbukti bahwa teknologi pemetaan tersedia di dalam aplikasi pada ponsel. Dalam hal ini adalah aplikasi Google Maps. Google Maps API merupakan library dari JavaScript. Google Maps bekerja dengan GPS pada telepon seluler. Jika location sensing diaktifkan, Google Maps akan menentukan lokasi ketika aplikasi mulai dijalankan. Untuk mengekspresikan lokasi di bumi, perlu adanya koordinat. Koordinat bumi terdiri dari garis lintang (latitude) dan garis bujur (longitude). Garis lintang terukur secara vertikal yaitu dari selatan ke utara, sedangkan garis bujur terukur secara horizontal yaitu dari barat ke timur. Daerah khatulistiwa berada pada garis lintang 0o . Ini artinya daerah yang berada di bawah khatulistiwa, akan memiliki nilai negatif, sedangkan daerah yang berada di atas khatulistiwa, memiliki nilai positif. Demikian juga untuk garis bujur 0o disebut meridian utama. Daerah yang memiliki nilai bujur negatif berarti terletak di posisi barat dari meridian utama, sedangkan daerah dengan nilai bujur positif berarti terletak di posisi timur dari meridian utama. Untuk lebih jelas, dapat dilihat pada gambar 2.3.
Gambar 2.3 Koordinat Bumi (Sumber: http://members.uia.net/tajames/astronomy/notes-coordinates.html)
10
2.4 CGI (Cell Global Identity) Tingkat terendah dari hirarki UMTS adalah cell, yang masing-masing diidentifikasi oleh Cell Identity (CI) yang bersifat unik di dalam suatu lokasi. Untuk mengidentifikasi sel unik di PLMN (Public Land Mobile Network), ada yang disebut CGI (Cell Global Identity). CGI merupakan hasil rangkaian antara LAI (Local Area Identity) dan Cell ID. Struktur dari CGI dapat dilihat pada Gambar 2.4.
Gambar 2.4 Struktur CGI (Sumber: http://www.mobileindonesia.net/cgi-cell-global-identity/)
Setiap perusahaan telekomunikasi bisa memiliki MCC (Mobile Country Code) yang sama namun memiliki komponen unik untuk masing-masing BTS. Komponen tersebut antara lain MNC (Mobile Network Code), LAC (Local Area Code), dan Cell ID. Mobile Country Code (MCC) digunakan untuk mengidentifikasi kode negara di dalam jaringan telepon dalam bentuk 3 digit. Mobile Network Code ( MNC ) merupakan kode unik yang mengidentifikasikan sebuah jaringan mobile dalam bentuk 2 digit. Local Area Code (LAC) merupakan kode dari service provider yang mengidentifikasi area lokasi dalam jaringan. Cell ID (CI) merupakan nomor unik yang digunakan untuk mengidentifikasikan masing-masing BTS. Salah satu yang menyediakan database Cell ID adalah www.opencellid.org. Opencellid.org menyediakan API untuk mengakses database Cell ID. Pencarian posisi dengan Cell ID dengan mengirimkan nilai dari MCC, MNC, LAC, dan Cell ID yang terlacak
oleh
ponsel
ke
database
Cell
ID,
dengan
format
url=
"http://www.opencellid.org/cell/get?cellid="+nilai Cell ID + "&mcc=" + nilai MCC + "&mnc="+ nilai MNC+"&lac="+nilai LAC+"&fmt=txt".
11
Dari hasil koneksi ke database, akan didapatkan nilai latitude dan longitude berdasarkan posisi sel yang telah dikirimkan. Supaya dapat berfungsi dengan baik, perangkat seluler harus berhubungan dengan menara sel yang terdekat yang memiliki sinyal terkuat. Dengan mengetahui ID unik, maka dapat ditentukan posisi lokasi perangkat seluler berdasarkan menara sel yang terdeteksi. Android dan lokasi layanan Google bekerja sama memetakan ID dari menara sel untuk mendapatkan informasi data lokasi.
2.5 BTS (Base Transceiver Station) Base Transceiver Station atau yang sering disebut dengan BTS merupakan salah satu peralatan yang mampu memfasilitasi komunikasi wireless antara mobile station (MS) dan jaringan. Peralatan pengguna terdiri dari ponsel, komputer dengan wireless connection. Jaringan terdiri dari beragam teknologi komunikasi wireless seperti GSM, CDMA, WiFi, atau WiMAX. Menurut Talukder et al (2010), fungsi dasar dari BTS adalah sebagai Radio Resource Management yang melakukan tugas-tugas antara lain: 1. Menempatkan channel ke MS saat MS akan melakukan koneksi. 2. Menerima dan mengirimkan sinyal dari dan ke MS, juga mengirimkan atau menerima sinyal dengan frekuensi yang berbeda dan hanya menggunakan satu antena yang sama. 3. Mengontrol power yang dikirimkan ke MS. 4. Mengontrol proses handover. 5. Frequency hopping.
Seperti yang terlihat pada Gambar 2.5, cara komunikasi BTS dengan telepon seluler (MS) yaitu 1. BTS memancarkan sinyal broadcast ke telepon para pelanggan. Begitu juga, telepon pelanggan memancarkan sinyal yang dapat diterima oleh BTS-BTS. 2. Adanya transmisi yang terjadi antara BTS dan BSC. 3. BSC atau Base Station Controller bertugas mengatur BTS-BTS. 4. Adanya transmisi antara BSC dan MSC.
12
5. MSC atau Mobile Switching Controller memungkinkan terjadinya proses switching data yang memungkinkan pengguna menghubungi nomor yang diinginkannya.
Gambar 2.5 Cara Kerja BTS (http://gnuradio.org/redmine/projects/gnuradio/wiki/OpenBTSNetwork_Architecture)
2.6 SMS (Short Message Service) Telepon dalam kamus besar bahasa Indonesia mengandung arti pesawat dengan listrik dan kawat, untuk bercakap-cakap antara dua orang yang berjauhan tempatnya; percakapan yang disampaikan dengan pesawat telepon. Telepon seluler berarti telepon mandiri dengan pemancar dan baterai, tanpa kabel. SMS merupakan salah satu cara berkomunikasi yang sering dan banyak digunakan pada teknologi telepon seluler. Layanan SMS mendukung pengiriman pesan dalam bentuk teks. Salah satu spesifikasi dari pesan teks SMS adalah dapat mengirim pesan dari telepon seluler yang satu ke yang lainnya atau dari komputer ke telepon. SMS gateway menyediakan layanan dari komputer ke telepon atau sebaliknya. Ketika mengirim pesan atau menerima pesan, pesan dari pengirim tidak langsung masuk ke ponsel penerima tetapi melalui Short Message Service Center
13
(SMSC) terlebih dahulu. Ini dapat dilihat pada Gambar 2.6. Short Message Service Center yang berfungsi memberikan notifikasi bahwa pesan telah diterima atau sudah sampai di tujuan atau gagal. Selain itu, SMSC juga menyimpan pesan yang ingin dikirim apabila ponsel penerima pesan dalam keadaan tidak aktif atau tidak ada sinyal sesuai periode validitas. Periode validitas ini merupakan batas waktu sebuah pesan yang harus dikirim hingga akhirnya terhapuskan dari jaringan.
Gambar 2.6 Proses Pengiriman SMS
Kelebihan dari SMS dibandingkan cara komunikasi yang lain yaitu biaya yang murah, pesan yang dikirim terjamin sampai tujuan selama nomor yang dituju dalam kondisi aktif.
2.7 IMSI (International Mobile Subscriber Identity) IMSI adalah identifikasi unik yang berkaitan dengan kartu GSM, UMTS, dan LTE. IMSI dikirimkan dari telepon seluler ke jaringan. Gambar 2.7 menunjukkan bahwa IMSI terdiri dari 15 digit angka dengan rangkaian yang terdiri dari gabungan antara MCC, MNC, dan MSIN (Mobile Subscription Identification Number). MSIN adalah sebuah kode yang ditetapkan operator untuk mengidentifikasikan pelanggan seluler di dalam sebuah GSM PLMN.
Gambar 2.7 Struktur IMSI
14
2.8 Eclipse dan Java Java termasuk bahasa pemrograman tingkat tinggi (high level language) dan berorientasi objek (OOP) yang diturunkan dari bahasa C++ dengan banyak penyempurnaan. Bahasa pemrograman seperti pada Gambar 2.8 ini sangat mendukung untuk networking dan relatif mudah dipelajari. Shalahuddin dan Rosa (2009) mengemukakan bahwa platform Java terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam lingkungan rutin Java, dan sebuah compiler, debuger, dan perangkat-perangkat lainnya yang terpaket dalam Java Development Kit (JDK). File .java perlu dicompile menjadi bytecode yang dijalankan dengan JRE (Java Runtime Environment). JRE berisi JVM dan kumpulan library. Adapun mesin interpreter yaitu Java Virtual Machine (JVM) yang dibutuhkan untuk membaca bytecode dalam file .class dari program yang akan diterjemahkan ke dalam bahasa mesin. Hal ini mengakibatkan proses eksekusi program Java membutuhkan waktu yang agak lama.
Gambar 2.8 Tampilan Pemrograman Java
Aplikasi Android berbasis bahasa pemrograman Java. Aplikasi Android dapat dikembangkan pada platform yang mempunyai JDK (Java Development Kit) dan menggunakan Android IDE (Integrated Development Environment) yang mendukung. Dalam hal ini, Eclipse merupakan target pengembangan plug-in yang sesuai untuk pengembangan aplikasi Android. JDK tersedia pada platform linux, windows, atau Mac OS. Tampilan Eclipse dapat dilihat pada Gambar 2.9.
15
Gambar 2.9 Tampilan Eclipse Java EE
Ketika menciptakan sebuah proyek Android, proyek data termasuk informasi yang berisi Eclipse menggunakan pilihan kode dari beragam plug-in untuk melakukan berbagai operasi. Adanya Plug-in ADT membantu meningkatkan kemampuan Eclipse dengan mengatur file dan struktur direktori untuk aplikasi Android . Adapun file XML mendukung tampilan layout. Tampilan layout yang telah didesain, dapat dilihat dengan mencoba langsung ke ponsel Android atau menggunakan emulator seperti pada Gambar 2.10.
Gambar 2.10 Tampilan Layar Android menggunakan Emulator
16
2.9 Android Android adalah sistem operasi mobile berbasis linux. Sistem operasi ini bersifat open source yang memungkinkan para pengembang untuk menciptakan aplikasi yang diinginkan pada telepon seluler. Android memiliki keunggulan yang dapat dipasang di berbagai macam ponsel dan memiliki layanan Internet yang tidak terbatas. Menurut Wahana Komputer (2012), Android berkembang dengan adanya versi-versi yang terus dirilis, antara lain: 1. Versi 1.1 Android versi ini dirilis pada tanggal 9 Maret 2009, dengan fitur-fitur seperti tampilan aplikasi yang lebih cantik, penambahan fitur pada jam alarm, voice searh, pengiriman pesan melalui Gmail, dan pemberitahuan email. 2. Versi 1.5 (Android Cupcake) Android yang dirilis pertengahan Mei 2009 ini lebih berkembang dibandingkan versi sebelumnya terutama untuk fasilitas multimedia. Adanya efek animasi, fungsi video, fungsi bluetooth, fasilitas unggah foto ataupun video ke youtube, dan sejumlah widget baru lainnya. Pengguna juga dapat merekam dan menyaksikan video melalui layar Android versi ini. 3. Versi 1.6 (Android Donuts) Android bernama Donut dirilis pada September 2009 memiliki fitur-fitur seperti proses pencarian yang lebih baik daripada sebelumnya, adanya baterai indikator, dan kontrol applet VPN, galeri yang memungkinkan pengguna memilih foto yang akan dihapus, dukungan text-to-speech engine meskipun tidak tersedia pada semua ponsel, dan dial contact. 4. Versi 2.0/2.1 (Android Eclair) Open Handset Alliance meluncurkan Android Eclair pada 3 Desember 2009. Pada versi ini, terdapat optimasi perangkat keras, Google Maps 3.1.2, antarmuka dengan browser baru yang mendukung penuh terhadap standar HTML5, pembaharuan daftar kontak, dukungan flash untuk kamera 3.2 MP, digital zoom, dan bluetooth 2.1. Sistem operasi Android juga mendukung layanan Internet seperti facebook dan MySpace.
17
5. Versi 2.2 (Android Froyo) Froyo merupakan singkatan dari Frozen Yoghurt. Android Froyo diluncurkan pada tanggal 20 Mei 2010 dengan berbagai perubahan yaitu dukungan Adobe Flash 10.1, memiliki kecepatan kinerja, integrasi JavaScript engine versi 8 yang dipakai Google Chrome untuk mempercepat kemampuan rendering browser. Selain itu, pemasangan aplikasi di dalam SD Card, kemampuan WIFI hotspot portabel, dan kemampuan update secara otomatis dalam aplikasi Android Market. 6. Versi 2.3 (Android Gingerbread) Android Gingerbread diluncurkan pada tanggal 6 Desember 2010. Adapun perubahan pada versi ini antara lain peningkatan kemampuan permainan, peningkatan fungsi copy paste, dukungan format video VP8 dan WebM, efek audio baru, kemampuan Near Field Communication (NFC) di perangkat telepon seluler, dan dukungan jumlah kamera yang lebih dari satu. 7. Versi 3.0/3.1 (Android Honeycomb) Android Honeycomb berfungsi untuk digunakan pada tablet karena aplikasi ini mendukung layar yang berukuran lebih besar. Android versi ini mendukung multi prosesor dan juga akselerasi perangkat keras. 8. Versi 4.0 (Android ICS) Android ICS diumumkan pada tanggal 19 Oktober 2011. ICS merupakan singkatan dari Ice Cream Sandwich. Android versi ini dilengkapi dengan fitur baru seperti membuka kunci dengan pengenalan wajah, jaringan data kontrol pemakaian, perangkat tambahan fotografi, integrasi dengan jaringan sosial, kemampuan mencari email secara offline, dan berbagi informasi menggunakan NFC. 9. Versi 4.1 (Android Jelly Bean) Android versi Jelly Bean memiliki fitur yang berguna untuk meningkatkan kinerja sistem secara keseluruhan, diantaranya perubahan yang lebih cepat, respon yang lebih cepat ketika terjadi peralihan aplikasi, lebih konsisten. Jelly Bean memiliki respon sentuhan yang lebih bersifat reaktif sehingga mengoptimalkan masa pakai baterai. Pada versi ini juga ditandai dengan hadirnya Google Now yang mampu memberikan saran dan rekomendasi
18
berdasarkan data-data seperti kontak, kalender, lokasi yang tersimpan di telepon seluler. (http://www.Android.com/about/jelly-bean/).
2.10
XML (Extensible Markup Language)
XML adalah bahasa markup yang merupakan lanjutan dari HTML (HyperText Markup Language). Meskipun XML terlihat mirip dengan HTML, namun XML bukan digunakan untuk menggantikan HTML. XML dan HTML memiliki perbedaan yaitu: 1. XML digunakan untuk keperluan pertukaran dan penyimpanan data secara ringkas dan mudah diatur, sedangkan HTML dirancang untuk memperlihatkan data sebagaimana data itu ingin ditampilkan. 2. XML mengizinkan memberi nama pada tag sesuai keinginan dan bersifat case-sensitive, sedangkan HTML tidak memperbolehkan untuk itu. Dokumen XML terdiri dari bagian-bagian yang disebut dengan node. Nodenode yang ada di dalam dokumen XML dapat dilihat pada Gambar 2.11.
Gambar 2.11 Jenis-jenis Node XML
19
Hunter et al (2011) membahas 7 tipe node antara lain: 1. Root node Root node merupakan puncak hirarki dari node-node yang mewakili dokumen XML. Root node dapat memiliki child node yang memproses node-node instruksi atau komentar yang sesuai untuk setiap instruksi pengolahan atau komentar dari dokumen XML. 2. Element node Setiap element dalam dokumen XML digambarkan dengan element node. Element node yang mewakili unsur dokumen merupakan akar dari root node. 3. Attribute node Masing-masing atribut di dalam dokumen XML digambarkan sebagai atribut node. Atribut node memiliki nama dan nilai. 4. Text node Isi teks di dalam dokumen XML disebut text node. Text node tidak memiliki nama. 5. Namespace node Namespace node mewakili deklarasi namespace. 6. Comment node Sebuah node komentar merepresentasikan sebuah komentar di dalam dokumen XML. 7. Processing Instruction node Processing Instruction node berkaitan dengan instruksi pengolahan di dalam dokumen XML. Processing Instruction node ini ditandai dengan karakter dan ?>.
2.11
Model Rapid Application Development (RAD)
Salah satu model SDLC (Software Development Life Cycle) yang cukup popular yaitu model Rapid Application Development (RAD). Seperti yang dibahas oleh Shelly, dkk dalam bukunya yang berjudul “Systems Analysis and Design”, prinsip pada metode RAD adalah prototipe dimodifikasi berdasarkan masukan dari pengguna dan terus dilakukan proses interaktif dengan pengguna hingga sistem selesai dibangun dan pengguna merasa puas.
20
Tahap-tahap pada pemodelan RAD seperti yang terlihat pada Gambar 2.12 terdiri dari: 1. Perencanaan Kebutuhan (Requirements Planning) Tahap perencanaan kebutuhan ini menggabungkan perencanaan sistem yang akan dibangun dan fase analisis sistem dari SDLC seperti kebutuhan bisnis, lingkup proyek, kendala, dan persyaratan sistem. 2. Perancangan untuk Pengguna (User Design) Selama fase ini, pengguna berinteraksi dengan analis sistem dan model prototipe yang mewakili proses semua sistem termasuk masukan dan keluaran. Fase ini memungkinkan pengguna untuk memahami, memodifikasi, dan akhirnya menyetujui model kerja dari sistem yang memenuhi kebutuhan mereka. 3. Konstruksi (Construction) Selama tahap konstruksi, modifikasi terus berlanjut hingga versi final bahwa sistem telah diterima. 4. Cutover (Penghentian) Tahap ini mirip dengan tahap implementasi yang tradisional. Kegiatan utama meliputi pengujian dan implementasi sistem, menyelesaikan dokumentasi yang diperlukan.
Kelebihan dari model ini yaitu model ini mendukung kecepatan karena adanya umpan balik dari pengguna sejak tahap awal, efisiensi karena memanfaatkan komponen yang dapat digunakan kembali, program yang akurat dan atau pengembangan dan pengiriman sistem. Bila dibandingkan dengan metodologi yang lain, RAD meningkatkan komunikasi pengguna, kerjasama dengan pengguna, dan komitmen pengguna, serta mendukung dokumentasi yang lebih baik. Adapun kekurangan dari model ini yaitu: 1. Model ini memerlukan profesional yang terampil. 2. Tidak adanya komponen yang bisa digunakan kembali dapat menyebabkan kegagalan proyek. 3. Pemimpin proyek harus bekerja sama dengan pengembang dan pelanggan untuk menutup proyek tepat waktu.
21
Gambar 2.12 Model Rapid Application Development (Sumber: Shelly, Gary B and Harry J. Rosenblatt. Systems Analysis and Design, 9th edition. USA: Course Technology. 2010.)
2.12
Pemrograman Terstruktur dan Flowchart
Program adalah sederetan instruksi atau perintah (dalam bahasa yang dimengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan keluaran yang diharapkan. Pemrograman terstruktur merupakan metode pemrograman secara logic yang memfasilitasi pemahaman program dan modifikasi dan memiliki pendekatan desain program dari atas ke bawah. Dengan pemrograman terstruktur, terdapat 3 bentuk yang digunakan yaitu sequence structure, loop structure, dan selection structure. Di dalam pemrograman terstruktur ada teknik yang disebut dengan pemrograman secara modular. Program dipisah ke dalam sejumlah modul yang setiap modul menjalankan fungsinya sendiri. Dalam hal ini, fungsi yang dijalankan oleh setiap modul terbatas sesuai dengan ruang lingkup yang akan dikerjakan. Untuk memanggil instruksi dari fungsi dapat menggunakan ”call” dan ”return”.
22
Untuk menjelaskan urutan instruksi dari program dapat digambarkan dengan menggunakan suatu diagram. Diagram tersebut disebut dengan flowchart atau diagram alur. Dalam buku yang berjudul ”Basic Programming for Computer Literacy”, Moursund menulis bahwa diagram alur memungkinkan programmer membandingkan pendekatan dan alternatif, dan menunjukkan keterkaitan berbagai langkah dalam mencari solusi. Alasan menggunakan flowchart adalah berorientasi utama pada proses, relatif lebih simpel dan mudah dimengerti. Flowchart mempermudah dalam menemukan dan memperbaiki kesalahan logika saat pemeriksaan proses pemrograman. Meskipun membuat flowchart memakan waktu, namun ini akan menghemat waktu coding dan pengujian. Simbol-simbol flowchart yang umum digunakan antara lain: 1. Simbol Terminal Simbol Terminal digunakan untuk menunjukkan bahwa proses dimulai atau telah selesai. 2. Input / Output Simbol ini digunakan pada operasi berupa input atau output.
3. Process Simbol Process digunakan untuk operasi yang bersifat proses.
4. Decision Simbol untuk memutuskan arah atau percabangan yang diambil sesuai dengan kondisi yang saat itu terjadi. Kondisi hanya benar atau salah.
5. Flow Line Garis alur untuk menghubungkan simbol yang satu dengan simbol lainnya.
23
2.13
Jenis-jenis Versi Rilis pada Perangkat Lunak
Menurut
Ahmed
dalam
bukunya
yang
berjudul ”Software
Project
Management: A Process-Driven Approach”, perilisan perangkat lunak dapat berupa rilis versi alpha, beta, atau rilis final. Dalam versi alpha, perangkat lunak dirilis hanya untuk pengguna internal dan bukan untuk khalayak umum atau pelanggan. Pada perilisan versi beta, perangkat lunak dirilis secara gratis kepada masyarakat sebelum dilakukan final rilis. Hal ini bertujuan agar produk dapat diuji oleh pengguna dan semua kekurangan atau cacat yang ditemukan mereka dapat dihilangkan, sehingga tidak ada cacat pada saat dilakukan rilis final. Berdasarkan Wikipedia dalam artikel yang berjudul ”Software Release Life Cycle”, tahapan dalam rilis perangkat lunak terdiri dari: 1. Alpha Tahap alpha merupakan tahap pertama untuk memulai pengujian perangkat lunak. Dalam fase ini, pengembang umumnya menguji perangkat lunak dengan menggunakan teknik pengujian white box. Validasi tambahan dilakukan dengan menggunakan teknik pengujian black box. Versi alfa masih dapat bersifat tidak stabil seperti crash atau data hilang. Tahap alpha biasanya berakhir dengan pembekuan fitur, artinya tidak akan ada lagi fitur yang ditambahkan ke dalam perangkat lunak. 2. Beta Beta atau disebut juga dengan prototipe merupakan pengembangan perangkat lunak setelah tahap alpha. Dalam tahap ini, umumnya perangkat lunak akan memiliki bug yang lebih banyak di dalamnya seperti masalah kecepatan atau kinerja sistem. Fokus pengujian beta adalah mengurangi dampak yang kurang baik bagi pengguna sehingga sering menggabungkan pengujian kegunaan. Proses mengirimkan versi beta kepada user disebut rilis beta dan ini merupakan pertama kalinya sistem tersedia di luar organisasi yang mengembangkan. Pengguna dari versi beta disebut beta tester, yang biasanya adalah pelanggan atau calon pelanggan dari organisasi yang mengembangkan dan bersedia untuk menguji perangkat secara gratis. Perangkat versi beta biasanya digunakan untuk demonstrasi dan preview dalam organisasi dan untuk calon pelanggan. Beberapa pengembang menyebut tahap ini sebagai preview, prototipe, preview teknis atau
24
akses awal. Beberapa perangkat lunak yang dibuat dalam beta abadi terus mengalami penambahan fitur dan fungsi tanpa ditetapkan versi rilis final. Tester melaporkan setiap bugs yang mereka temukan yang mungkin tidak ditemukan oleh kelompok pengembang dalam organisasi. Selain itu, tester dapat memberikan saran tambahan mengenai fitur yang mereka anggap perlu tersedia dalam versi final. 3. Release Sebuah rilis disebut kode lengkap ketika tim pengembang setuju bahwa tidak ada source code
baru yang akan ditambahkan ke dalam sistem. Adapun sistem
masih dapat mengalami perubahan source code untuk memperbaiki cacat, atau perubahan pada dokumentasi. Rilis dapat berupa rilis untuk manufaktur atau pemasaran. Keduanya disingkat dengan RTM atau dikenal dengan istilah ”going gold”. Pada tahap ini, perangkat lunak siap atau telah diberikan kepada pelanggan. Perangkat lunak akan tersedia di toko-toko retail dan dijual kepada publik yang menunjukkan bahwa perangkat lunak telah memenuhi tingkat kualitas yang ditetapkan dan siap untuk didistribusikan kepada masyarakat. Tahap ini lebih menyatakan bahwa kualitas cukup terpenuhi untuk dilakukan distribusi kepada massa.