BAB 2 LANDASAN TEORI
2.1 Wireless Technology Wireless merupakan jaringan tanpa kabel yang menggunakan udara sebagai media untuk melakukan transmisi untuk menghantarkan gelombang elektromagnetik. Perkembangan wireless sebenarnya telah dimulai sejak lama dan telah dibuktikan secara ilmiah oleh para ilmuan dengan penemuan radio dan kemudian dilanjutkan dengan penemuan radar. Kemudian dengan perkembangan kebutuhan informasi bagi manusia, maka penggunaan wireless semakin banyak dan tidak hanya untuk penggunaan radio dan radar saja. Beberapa model peralatan yang menggunakan wireless diantarannya adalah sebagai berikut : 1. Telepon selular Layanan yang disediakan untuk aplikasi bergerak dan mudah dibawa, baik untuk perorangan maupun bisnis. 2. GPRS untuk navigasi Digunakan untuk memudahkan pengguna lalu lintas, seperti mobil, pesawat kapal laut dan lainnya 3. Alat-alat
komputer
tanpa
kabel
seperti
mouse
dan
keyboard
Mouse dan keyboard terkadang mengalami kendala berupa sulitnya pemasangan konektornya pada CPU, terkadang mengalami juga kerusakan pada konektornya. Mouse dan Keyboard dengan teknologi wireless memungkinkan mengatasi kendala tersebut, bahkan pengguna akan lebih leluasa dalam bergerak.
4. Telepon Cordless Teknologi wireless juga dipakai oleh perusahaan telekomunikasi yaitu berupa Telepon Cordless, sehingga penggunaanya dapat dibawa kemana-mana. 5. Remote Control Berupa alat tanpa kabel yang digunakan untuk mengendalikan peralatan dari jarak jauh, penggunaannya seperti pada televisi, pager dan lainnya. 6. Satelit televisi Memberikan layanan siaran sehingga penonton dapat memilih saluran yang berbeda. 7. Wireless LAN Wireless LAN adalah teknologi LAN dengan udara sebagai media transmisinya sehingga memberikan layanan fleksibellitas dan relibilitas untuk para pengguna komputer dalam bisnis maupun non bisnis. Menurut Hapnes Toba (Jurnal Informatika UKM, No. 1, 2005: 46) keuntungan teknologi wireless untuk sebuah perusahaan adalah karena harga peralatan wireless semakin terjangkau dan adanya dukungan dari fasilitas – fasilitas yang tersedia untuk mendukung perkembangan dari aplikasi wireless, maka perlu untuk diperhitungkan berberapa keuntungan atau nilai tambah yang akan dihasilkan setelah diterapkannya teknologi wireless di dalam perusahaan. Berberapa keuntungan itu adalah : 1. Aksesibilitas Memberikan kemampuan untuk mengakses kepada para pekerja lapangan untuk mengakses
email, data – data customer, jadwal kerja, dan lain – lainnya. Dengan
teknologi wireless
informasi – informasi penting yang dibutuhkan dapat diakses
dengan mudah tanpa batasan tempat
2. Meningkatkan keakuratan informasi Pengiriman data dari dan ke perusahaan dapat dilakukan dengan cepat, sehingga meningkatkan keakuratan dari penyampaian data. 3. Produktivitas meningkat Meningkatnya kesempatan untuk mengakses informasi dimana saja dan kapan saja, tentu saja akan meningkatkan produktivitas para karyawan, terutama bagi mereka yang sering ditugaskan keluar kantor. 4. Respon yang cepat Diharapkan tercapai dengan strategi nirkabel adalah tingkat responsi yang tinggi, yaitu mendapatkan informasi yang diinginkan secara tepat dan meneruskannya pada yang memerlukan. 2.2 Android Android adalah sistem operasi open source yang dikembangkan untuk perangkat mobile seperti smartphone dan komputer tablet . Android didalamnya sudah mencakup sistem operasi, middleware dan aplikasi utama mobile. Software Development Kit (SDK) Android menyediakan alat dan Aplication Progamming Interface (API) diperlukan untuk mengembangkan aplikasi pada platform Android dengan menggunakan bahasa pemrograman Java. Android dikembangkan oleh Open Handset Alliance yang dipimpin oleh Google Inc.
2.2.1 Fitur – fitur dalam android
Fitur – fitur yang dimiliki oleh sistem operasi android sebagai berikut : 1. Application Framework 2. Dalvic virtual machine (DVM) 3. Browser yang terintegrasi 4. Grafik yang teroptimasi 5. SQLite 6. Mendukung media – media seperti suara, video, dan gambar 7. Telefon GSM 8. Bluetooth, 3G, WIFI (Tergantung dari perangkat keras) 9. Kamera, GPS, kompas, accelerometer (Tergantung dari perangkat keras)
2.2.2 Arsitektur android
Arsitektur dari android itu terdiri dari 4 komponen ‐ komponen : 1. Applications
Applications adalah sebuah lapisan di mana kita berhubungan dengan
aplikasi –
aplikasi yang ada. Pada layer tersebut terdapat sekumpulan aplikasi inti seperti email, SMS, kalender, peta, browser, kontak, dan lainnya. 2. Application Framework
Android merupakan platform yang terbuka dimana Android memberikan kemampuan kepada para pengembang untuk membangun suatu aplikasi yang bisa berjalan di android. Tiap pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan lain-lain. Pengembang memiliki
akses yang sama ke API Framework seperti yang dilakukan oleh aplikasi inti. Arsitektur aplikasi dirancang agar pengeembang dengan dapat
mudah menggunakan kembali
komponen yang telah ada (reusable) 3. Libraries Merupakan layer di mana fitur-fitur yang disediakan oleh android berada, biasanya para pengembang aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel, layer ini meliputi berbagai library inti seperti : •
Media untuk pemutaran media audio dan video.
•
SGL untuk tampilan 2D
•
SQLite untuk mendukung database
•
SSL dan WebKit yang terintegrasi dengan web browser dan security
•
Libraries LiveWebcore mencakup modern web browser dengan engine embeded web view
•
Libraries 3D yang mencakup implementasi API OpenGL ES 1.0
4. Android Runtime Merupakan layer yang membuat aplikasi android dapat dijalankan, Setiap aplikasi android berjalan dengan prosesnya sendiri. DVM merupakan mesin yang membentuk dasar kerangka aplikasi android. DVM bergantung pada kernel dari linux untuk melakukan fungsionalitas pokok seperti threading and low-level memory management. Android runtime terbagi menjadi dua bagian yaitu : •
Core Libraries
Aplikasi android dibangun dengan menggunakan bahasa Java, sementara DVM sebagai mesin virtualnya bukanlah Java Virtual Machine (JVM). Sehingga dibutuhkan sebuah libraries yang berfungsi untuk menterjemahkan bahasa java. •
Dalvic virtual machine (DVM)
merupakan sebuah Virtual mesin yang berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan pengembangan yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah. 5. Linux Kernel Adalah layer dimana inti dari sistem operasi Android itu berada. Berisi file-file sistem yang mengatur pemrosesan sistem, memory, resource, drivers, dan sistem-sistem operasi Android. Linux kernel yang digunakan Android adalah Linux kernel rilis 2.6.
Gambar 2.1 Komponen – komponen arsitektur android
(source : http://developer.android.com/guide/basics/what‐is‐android.html)
2.3 Web service
Menurut Mike Liu (2010, p8) web service adalah sebuah sistem perangkat lunak yang
dibangun untuk mendukung interaksi antar sistem yang berada di dalam suatu jaringan. Web service digunakan sebagai suatu fasilitas yang dirancang untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui servis yang disediakan oleh system tersebut. Sebuah web servis biasanya berada di sebuah remote machine dan akan dipanggil oleh aplikasi klien melalui jaringan. Komunikasi antara web servis dengan apliaksi klien adalah dengan menggunakan pesan Extensible Markup Language (XML), sehingga web servis dapat berkomunikasi dengan
aplikasi klien lain
walaupun berbeda platform. Sebuah web servis itu berada di dalam sebuah web server dan menggunakan HTTP sebagai protocol untuk melakukan transportasi antara server dengan aplikasi klien. Prinsip – prinsip dari web service adalah : 1. Penyedia web service mendefiniskan format untuk setiap permintaan yang dikirimkan oleh suatu sistem ke web service untuk memanggil suatu servis. 2. Web service akan melakukan suatu aksi dan kemudian mengirimkan respon ke pengirim permintaan.
Web service bertujuan untuk meningkatkan kerja sama antar program dan yang memungkinkan sebuah fungsi di dalam Web Service dapat dipinjam oleh aplikasi lain tanpa perlu mengetahui detil pemrograman yang terdapat di dalamnya.
2.3.1 Web Service Description Language Menurut Menurut Mike Liu (2010, p8) agar web servis dapat dipanggil oelh apliaksi klien, maka setiap web servis harus memberikan sebuah deskripsi tentang dirinya sendiri supaya aplikasi – aplikasi lain dapta mengetahui bagaimana cara memanggil web servis. Diskripsi ini disediakan oleh bahasa yang disebut sebagai Web service description language (WSDL). Bahasa WSDL itu dalam format XML yang mendefinisikan dan mendeskripsikan fungsi – fungsi dari web servis, termasuk metode, nama, nama parameter dan tipe, dan tipe data kembalian dari web servis.
2.4 Service oriented architecture Menurut Mike Liu (2010,p7) service oriented architecture (SOA) bukan merupakan suatu teknologi yang spesifik ataupun sebuah bahasa pemograman yang spesifik. SOA hanya sebuah blueprint atau sebuah pendekatan desain sistem. SOA adalah sebuah model arsitektural yang bertujuan untuk menambah kecepatan, dan produktifitas dari sistem perusahaan. SOA memisahkan logika bisnis dari implementasinya.sehingga developer bisa
focus
pengintegrasian aplikasi tanpa perlu tahu detil dari implementasinya. Untuk
mencapai
pada
tujuan itu maka dibuatlah komponen – komponen servis yang berisi implementasi – implementasi yang dibutuhkan oleh proses bisnis tersebut. Hasilnya adalah sebuah arsitektur dari tiga lapisan ‐ bisnis integrasi logika – logika bisnis, komponen – komponen servis, dan implementasi
Gambar 2.2 Lapisan – lapisan pada SOA
SOA membiarkan kita untuk focus pada cara kita untuk menyelesaikan masalah – malalah bisnis dengan menggunakan kembali komponen – komponen yang sudah ada dan mengintegrasikan komponen – komponen tersebut
Keuntungan dari SOA adalah karena
perubahan bisnis yang begitu cepat dan tidak dapat diprediksi. SOA menyediakan kecepatan untuk bereaksi terhadap perubahan kondisi bisnis tersebut. Jadi SOA dapat dengan cepat beradaptasi dengan perubahan bisnis.
Tujuan dari SOA adalah melakukan organisasi dan memanfaatkan fungsi – fungsi yang terdistribusi yang terletak di dalam sistem yang berbeda.dan diimplementasi dengan menggunakan teknologi yang berbeda. Jadi kebutuhan orang atau organisasi dapat dipenuhi dengan menggunakan kemampuan yang ditawarkan oleh orang lain. SOA membuat aplikasi –
aplikasi yang terletak ditempat yang berbeda dan dibuat dengan bahasa pemograman yang berbeda bisa berinteraksi dan saling bertukar data.
2.5 Windows Communication Foundation Windows
communication
foundation
merupakan
teknologi
microsoft
yang
memungkinkan aplikasi – aplikasi yang beada di dalam suatu lingkungan terdistribusi untuk berkomunikasi satu sama lain. WCF digunakan untuk membangun suatu aplikasi berorientasi servus. WCF memungkinkan pengembang aplikasi untuk membagun suatu aplikasi yang aman, dapat diandalkan. 2.5.1 WCF Architecture Diagram dibawah ini mengambarkan lapisan – lapisan di dalam arsitektural WCF
Gambar 2.3 Arsitektur WCF (Sumber : http://msdn.microsoft.com/en-us/library/ms733128.aspx)
2.6 Unified Modeling Language Unified Modeling Language (UML) adalah sebuah bahasa yang sudah menjadistandar dalam merancang sebuah model dari perangkat lunak yang berorientasi pada objek. Menurut Joseph Schmuler(2004, p5) UML merupakan sebuah alat untuk membangun sebuah jembatan dimana UML membantu kita untuk membuat sebuah blue print yang digunakan untuk menangkap visi dari sitem secara standar, mudah di mengerti, dan dapat digunakan untuk berkomunikasi dengan setiap stakeholder di dalam sistem tentang visi dari sistem tersebut. Melalui UML kita dapat memvisualisasikan, menentukan, membangun dan mendokumentasikan aplikasi perangkat lunak pada saat analisis dan desain
Hasil yang dihasilkan setelah kita melakukan analisis dan desain sistem dengan menggunakan
UML disebut sebagai sebuah model. Model memberikan pemahaman yang lebih baik tentang sistem yang sedang dibangun dan juga membantu kita untuk memastikan bahwas sistem yang kita bangun itu sesuai dengan kebutuhan. Model UML memungkinkan desain sebuah aplikasi untuk dievaluasi dan dikritik sebelum dilakukan implementasi. Perubahan jauh lebih mudah dan lebih murah untuk dilakukan ketika mereka dilakukan dalam fase awal dari siklus hidup perangkat lunak.
2.6.1 Diagram – diagram UML 2.6.1.1 Usecase Diagram
Menurut Joseph Schmuler (2004, p53) sebuah use case adalah sebuah deskripsi dari
sistem dari sudut pandang user. Untuk seorang pengembang sistem, use case adalah sebuah alat yang penting.
Diagram use case itu biasa digunakan oleh seorang pengembang sistem untuk mengumpulkan
kebutuhan – kebutuhan dari sistem yang ingin dibuat dari sudut pandang user. Kemudian pengembang
akan melakukan analisa terhadap kebutuhan dari klien tersebut dengan menentukan aktor – aktor apa saja yang terlibat di dalam sistem atau yang akan menggunakan sistem dan juga menentukan proses – proses apa saja yang ada di dalam sistem. Dan kemudain hasil nya akan ditunjukan ke user untuk melakukan verifikasi apakah sudah sesuai dengan keinginan user. Diagram use case itu terdiri dari : 1. Aktor
Simbol aktor dinotasikan sebagai orang tongkat. Aktor bisa berupa orang yang akan
menggunakan sistem ataupun sistem lain dimana aktor tersebut akan berinteraksi dengan use case.
Nama dari aktor muncul di bawah gambar aktor.
Gambar 2.4 Notasi aktor 2. Use case
Sebuah use case merepresentasikan operasi-operasi yang dilakukan oleh actor. case digambarkan berbentuk elips dengan nama operasi dituliskan di menghubungkan aktor dengan use case menunjukan use case
Use
dalamnya. Garis yang
bahwa adanya komunikasi antara aktor dengan
Gambar 2.5 Notasi use case
Menurut Joseph Schmuller (2004,p76) keuntungan dari analisa kebutuhan dengan
menggunakan use case adalah diagram use case menunjukan batasan – batasan antara sistem dengan dunia luar. Aktor secara tipikal itu berada di luar sistem dan use case itu ada di dalam sistem.
2.6.1.2 Class Diagram
Class diagram merupakan diagram yang selalu ada di permodelan sistem berorientasi
objek. Class diagram menunjukkan hubungan antar kelas dalam sistem yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. Dalam class diagram setiap kelasitu diwakili dengan sebuah kotak yang berisi tiga bagian Sebuah kelas dengan tiga bagian.
1. Bagian atas berisi nama kelas 2. Bagian tengah berisi atribut – atribut dari kelas 3. Bagian bawah berisi metode atau operasi yang kelas tersebut dapat lakukan
Gambar 2.6 notasi kelas di dalam kelas diagram Pada kelas diagram terdapat simbol –simbol yang menunjukan visibility dari atribut atau operasi yang ada di dalam suatu kelas: 1. Simbol ‘+’ menunjukan publc yang artinya atribut atau operasi tersebut dapat diakses oleh kelas lain 2. Simbol ‘‐’ menunjukan private yang artinya atribut atau operasi tersebut hanya dapat diakses oleh kelas itu sendiri 3. Simbol ‘#’ menunjukan protected yang artinya atribut atau operasi tersebut bisa diakses oleh kelas itu sendiri dan kelas turunan nya
2.6.1.3 Sequence Diagram
Sequence diagram menggambarkan sekelompok objek dan interaksi antar objek tersebut, termasuk pesan yang dikirim dari satu objek ke objek lain terhadap waktu.
Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram.
Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut life line, dilekatkan pada setiap obyek atau aktor. Kemudian,life
line tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut. Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anak panah antara activation box pengirim dan penerima. Kemudian diatasnya diberikan label pesan. Tujuan penggunaan sequence diagram adalah :
1. Mengkomunikasikan requirement kepada tim teknis karena diagram ini dapat lebih mudah untuk dibuat menjadi model design. 2. Merupakan diagram yang paling cocok untuk mengembangkan model deskripsi usecase menjadi spesifikasi design.
Kita menggunakan sequence diagram pada saat : 1. Pada tahap penemuan : Sequence diagram dari use case yang dipilih dibuat oleh business analyst. 2. Pada tahap konstruksi : System analyst menggunakan use case dan sequence diagram yang dibuat oleh Business Analyst sebagai input untuk pembuatan technical sequence diagram yang akan ditinjau kembali oleh business analyst. 3. Pada tahap verifikasi dan validasi akhir : sequence diagram digunakan untuk merancang test dari use-case scenario.
2.6.1.4 Activity Diagram
Menurut Schmuler(2004, p134) sebuah activity diagram didesain untuk memperlihatkan apa
yang terjadi di dalam sebuah operasi atau sebuah proses.
Diagram – diagram yang ada di dalam activity diagram :
1. Initial state
Menyatakan awal dari dimulainya suatu aktifitas. Di dalam aktifitas diagram hanya terdapat 1
initial state.
Gambar 2.7 Initial state 2. Final state
Menyatakan akhir dari suatu aktifitas
Gambar 2.8 Final state 3. Activity
Mengambarkan aktifitas yang terjadi di dalam sebuah operasi atau proses
Gambar 2.9 Activity 4. Percabangan
Mengambarkan control di dalam activity diagram. Setiap percabangan digambarkan dalam
bentuk permata. Setiap percabangan memiliki 1 alur yang masuk dan 2 atau lebih alur yang keluar.
Gambar 2.10 Percabangan
2.7 Agile Software Development 2.7.1 The Agile Manifesto Pada tahun 2001,
banyak pencipta dari metodologi agile software development
berkumpul bersama‐sama dengan orang lain yang juga menerapkan metode agile di lapangan untuk menciptakan sebuah Manifesto Agile untuk merangkum keyakinan mereka bahwa ada yang cara lebih baik untuk memproduksi perangkat lunak. Bahkan sampai sekarang ini agile software development merupakan metodologi yang sangat baik untuk mensintesis dan mendefinisikan keyakinan ini.
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools
Customer collaboration over contract negotiation Working software over comprehensive documentation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
Dibalik Manifesto itu sendiri ada terdapat sekumpulan prinsip inti yang berfungsi sebagai kerangka kerja umum untuk semua metodologi agile software development 1. Prioritas tertinggi kami adalah untuk memuaskan pelanggan melalui pengiriman dari perangkat lunak yang berguna yang lebih cepat dan dilakukan secara terus ‐ menerus. 2. Menrima
perubahan
dari kebutuhan, bahkan di saat – saat terakhir pada proses
pengembangan. 3. Perangkat lunak yang berjalan merupakan ukuran yang utama untuk kemajuan 4. Sering mengirimkan perangkat lunak yang sudah berjalan, dari beberapa minggu sampai beberapa bulan 5. Stakeholder dan pengembang harus bekerja bersama – sama setiap harinya selama siklus hidup proyek. 6. Membangun proyek di sekitar orang – orang yang bermotivasi. Berikan mereka lingkungan dan dukungan yang mereka butuhkan, dan percaya bahwa mereka akan menyelesaikan tugasnya 7. Metode yang paling baik untuk menyampaikan informasi ke tim pengembang adalah percakapan tatap muka 8. Proses agile mempromosikan pengembangan yang berkelanjutan
9. Perhatian terus menerus untuk keunggulan teknis dan desain yang baik untuk meningkatkan kecepatan.
10. Simplicity 11. Arsitektur terbaik, kebutuhan – kebutuhan , dan rancangan muncul dari tim yang mengorganisir diri sendiri.
12. Secara periodik tim evaluasi diri dan mencari cara untuk lebih efektif dan segera melakukannya
Metode Agile memecah tugas – tugas ke dalam iterasi – iterasi yang kecil dengan
perencanaanyang minimal dan tidak secara langsung melibatkan perencanaan jangka panjang. Sebuah Iterasi adalah sebuah bingkai waktu yang singkat yang biasanya berlangsung dari satu sampai empat minggu. Setiap iterasi melibatkan tim untuk bekerja melalui siklus pengembangan perangkat lunak, termasuk perencanaan, analisis kebutuhan, desain, coding, pengujian, dan pengujian penerimaan ketika sebuah produk yang sudah berjalan untuk ditunjukan kepada stakeholder. Ini meminimalkan resiko secara keseluruhan dan memungkinkan proyek tersebut untuk beradaptasi dengan perubahan
kebutuhan yang cepat. Sebuah iterasi mungkin tidak cukup untuk menambahkan fungsi untuk menjamin sebuah perangkat lunak yang bisa dirilis ke pasar, tetapi tujuannya adalah untuk memiliki sebuah perangkat lunak dengan bug yang minim pada akhir setiap iterasi
2.7.2 Scrum Scrum adalah sebuah metode agile project management yang mulai banyak digunakan secara luas. Menurut DeanLeffingwell (2011, p15) berikut ini adalah kunci dari praktek scrum :
1. Setiap pekerjaan diselesaikan melalui sebuah sprint yang memiliki bingkai waktu yang berlangsung selama 30 hari atau lebih cepat. 2. Pekerjaan untuk setiap sprint itu sudah tetap. Setelah ruang lingkup dari sebuah sprint sudah ditentukan maka tidak ada fungsi – fungsi tambahan yang bisa ditambahkan kecuali penambahan dilakukan oleh tim pengembang. 3. Semua pekerjaan yang perlu diselesaikan disebut sebagi sebuah produk backlog, yang sudah termasuk kebutuhan – kebutuhan baru, infrastruktur dan rancangan. 4. Seorang scrum master melakukan mentor kepada tim – tim pengembang yang bertanggung jawab untuk menyampaikan sebuah hasil yang sukses untuk setiap sprint 5. Pemilik produk memainkan peran sebagai seorang pelanggan 6. Stand-up meeting yang dilakukan setiap harinya merupakan metode komunikasi yang utama. 7. Fokus berat ditempatkan pada sebuah kotak waktu. Sprint, stand‐up meeting, review dari setiap meeting , dan sejenisnya semua diselesaikan dalam waktu yang ditetapkan.
8. Biasanya lama waktu dari setiap sprint pada scrum adalah 30 hari dan kira – kira akan dilakukan 3 sprint untuk setiap rilis.
Gambar 2.11 Proses dari scrum Didalam sebuah proyek scrum, ada terdapat 3 peran inti ynag berkomitmen pada proyek ini : 1. Pemilik produk Pemilik Produk mewakili suara pelanggan dan bertanggung jawab untuk memastikan bahwa Tim memberikan nilai bagi bisnis. Bertanggung jawab atas aspek bisnis dari proyek, termasuk memastikan produk yang sedang dibangun itu sudah sesuai dan dalam urutan yang benar. Seorang pemilik produk yang baik dapat menyeimbangkan prioritas yang bersaing, tersedia untuk tim, dan diberdayakan untuk membuat keputusan tentang produk. 2. Scrum Master (manager proyek) Berperan sebagai seorang pelatih di dalam tim, membantu anggota tim untuk bekerja sama dalam cara yang paling baik. Seorang scrum master peran sebagai orang yang menyediakan layanan untuk tim, menghilangkan hambatan untuk kemajuan, memfasilitasi pertemuan dan diskusi, dan melakukan tugas‐tugas manajemen proyek yang khas seperti pelacakan kemajuan dan masalah.
3. Team Bertanggung jawab untuk menentukan cara terbaik untuk mencapai tujuan produk (yang
ditetapkan oleh pemilik produk). Anggota tim bersama‐sama akan memutuskan tugas – tugas yang harus dikerjakan untuk setiap anggotanya , menentukan praktek‐praktek teknis yang diperlukan untuk mencapai tujuan mutu yang dinyatakan, dan sebagainya.
2.8 Database Pengertian database menurut Connoly dan Begg (2002, p14) adalah sekumpulan data maupun keterangan tentang data, yang secara logis saling berhubungan untuk digunakan bersama, dalam rangka memenuhi kebutuhan informasi dari suatu organisasi. Menurut James A. O'Brien (2003, p145), database adalah sebuah kumpulan yang terintegrasi dari elemen data yang terhubung secara logikal. Elemen data mendeskripsikan entitas-entitas dan hubungan antara entitas. Jadi database merupakan kumpulan dari data - data yang saling berhubungan satu dengan yang lainnya, tersimpan dalam perangkat keras komputer dan menggunakan sebuah perangkat lunak (DBMS) untuk memanipulasinya.
2.8.1 Database Management System Menurut Connoly (2002,p16), Database Management System (DBMS) adalah perankat lunak yang dapat mendefinisikan, membuat, memelihara dan mengontrol akses ke database. Fasilitas – fasilitas yang disediakan oleh DBMS sebagai berikut :
1. Data Definition Language (DDL) Bahasa yang digunakan dalam mendefinisikan struktur atau kerangka dari basis data, di dalamnya termasuk record, elemen data, kunci elemen, dan relasinya. Perintah – perintah DDL adalah : • Create Table, digunakan untuk membuat sebuah table di dalam database dengan mengidentifikasikan tipe data untuk setiap kolom • Alter Table, digunakan untuk menambah atau membuang kolom dari konstrain. • Drop Table, digunakan untuk membuang atau menghapus table berserta semua data yang terkait didalamnya
2. Data Manipulation Language (DML) Bahasa yang digunakan untuk menjabarkan pemrosesan dari basis data, fasilitas ini diperlukan untuk memasukkan, mengambil, mengubah data. DML dipakai untuk operasi terhadap isi basis data. Perintah – perintah DML : •
Penambahan data baru ke dalam basis data (Insert).
•
Modifikasi data yang disimpan dalam basis data (Update).
•
Pengambilan data yang terdapat dalam basis data (Select).
•
Penghapusan data dari basis data (Delete).
3. Menyediakan kontrol akses ke dalam database :
•
Katalog yang dapat diakses pemakai Menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan
diakses oleh pemakai. •
Melayani recovery Menyediakan mekanisme untuk mengembalikan basis data ke keadaan sebelum terjadinya kerusakan pada basis data tersebut.
•
Melayani autorisasi Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai yang berwenang saja yang dapat mengakses basis data.
•
Melayani kontrol concurrency Sebuah DBMS harus menyediakan mekanisme yang menjamin basis data terupdate secara benar pada saat beberapa pemakai melakukan
perubahan
terhadap basis data yang sama secara bersamaan. •
Melayani integrity Sebuah DBMS bertujuan untuk menjamin semua data dalam basis data dan setiap terjadi perubahan data harus sesuai dengan aturan yang berlaku.
2.9 Java
Java adalah bahasa pemrograman tegas dirancang untuk digunakan dalam lingkungan
terdistribusi. Java dapat digunakan untuk membuat aplikasi lengkap yang dapat berjalan pada satu komputer atau didistribusikan antara server dan klien dalam jaringan.
Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun
Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai. Bahasa ini juga dirancang untuk pemrograman di Internet sehingga dirancang agar aman dan portabel. Popularitas java yang cepat naik dan penerimaannya luas dikarenakan Java adalah teknologi yang memungkinkan perangkat lunak untuk dirancang dan ditulis hanya 1 kali dan dapat berjalan berjalan di berbagai komputer (platform independent). Hampir semua pengembang sistem utama operasi (IBM, Microsoft, dan lain‐lain) telah menambahkan compiler Java sebagai bagian dari penawaran produk mereka.
Java terdiri dari tiga komponen:
1. Bahasa pemograman java 2. Java Virtual Machine (JVM) 3. Java API (Java application programming interface)
2.10
JavaScript Object Notation
JavaScript Object Notation (JSON) adalah format untuk melakukan pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
JSON terbuat dari dua struktur: •
Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek rekaman struktur, kamus, tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
•
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman saat ini telah mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini.
JSON menggunakan bentuk sebagai berikut:
1. Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
Gambar 2.12 Format obyek JSON
2. Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).
Gambar 2.13 Format array JSON
3. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat. 4. String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.
(Sumber : http://www.json.org/)