BAB 2 TINJAUAN PUSTAKA 2.1 Komunikasi Dalam buku yang berjudul "Pengantar Ilmu Komunikasi" terdapat beberapa istilah komunikasi. Komunikasi menurut Lexicographer (Ahli kamus bahasa) menunjuk pada upaya yang bertujuan berbagi untuk mencapai kebersamaan. Dalam Webster's New Collegiate Dictionary dijelaskan bahwa komunikasi adalah proses pertukaran informasi di antara individu melalui sistem lambang, tanda, atau tingkah laku. Komunikasi adalah tindakan manusia atau aktivitas manusia untuk menyampaikan sesuatu. Komunikasi adalah seni menyampaikan informasi, ide, dan sikap seseorang kepada orang lain (Edwin Emery), yang terdapat dalam buku "Pengantar Ilmu Komunikasi" oleh (Suryanto, 2015, pp. 52). Analisa dari komunikasi adalah sebuah cara yang digunakan sehari-hari dalam menyampaikan pesan/rangsangan (stimulus) yang terbentuk melalui sebuah proses yang melibatkan dua orang atau lebih. Dimana satu sama lain memiliki peran dalam membuat pesan, mengubah isi dan makna, merespon pesan/rangsangan tersebut, serta memeliharanya di ruang publik. Dengan tujuan sang "receiver" (komunikan) dapat menerima sinyal-sinyal atau pesan yang dikirimkan oleh "source" (komunikator). Analisis lima unsur menurut Lasswell dalam buku yang berjudul "Pengantar Ilmu Komunikasi" oleh (Suryanto, 2015, pp. 159): • Who? (siapa/sumber). Sumber/komunikator adalah pelaku utama/pihak yang mempunyai kebutuhan untuk berkomunikasi atau yang memulai suatu komunikasi, dapat berupa individu, kelompok, organisasi, maupun suatu negara sebagai komunikator. • Says What? (pesan) Apa yang akan disampaikan/dikomunikasikan kepada penerima (komunikan), dari sumber (komunikator) atau isi informasi. Merupakan seperangkat symbol verbal/non verbal yang mewakili perasaan, nilai, gagasan/maksud sumber tadi. 9 10 • In Which Channel? (saluran/media) Wahana/alat untuk menyampaikan pesan dari komunikator (sumber) kepada komunikan (penerima) baik secara langsung (tatap muka), maupun tidak langsung (melalui media cetak/elektronik). • To Whom? (untuk siapa/penerima) Orang/kelompok/organisasi yang menerima pesan dari sumber. Disebut pendengar (listener)/khalayak (audience)/komunikan/penafsir/decoder. • With What Effect? (dampak/efek) Dampak/efek yang terjadi pada komunikan (penerima) setelah menerima pesan dari sumber, seperti perubahan sikap dan bertambahnya pengetahuan. Teknologi Informasi dan Komunikasi (TIK) adalah payung besar terminologi yang mencakup seluruh peralatan teknis untuk memproses dan menyampaikan informasi. TIK mencakup dua aspek, yaitu teknologi informasi dan teknologi komunikasi. Teknologi informasi meliputi segala hal yang berkaitan dengan proses, penggunaan sebagai alat bantu, manipulasi, dan pengelolaan informasi. Adapun teknologi komunikasi adalah segala sesuatu yang berkaitan dengan penggunaan alat bantu untuk memproses dan mentransfer data daru perangkat yang satu ke lainnya. Oleh karena itu, teknologi informasi dan teknologi komunikasi adalah dua hal yang tidak bisa dipisahkan. Menurut Frenzel (2016, pp. 3), Komunikasi adalah proses untuk bertukar informasi, semua orang berkomunikasi untuk menyalurkan ide, pikiran, dan perasaan. Proses dari komunikasi dalam kehidupan manusia termasuk verbal, tidak verbal, tertulis maupun proses elektronik. Dulu, manusia terbatas dalam berkomunikasi. Hingga abad ke 19 ditemukannya elektronik yang diaplikasikan dalam berbagai bentuk. Semua itu merupakan sejarah dari komunikasi elektronik. Contoh dari komunikasi elektronik adalah telepon, TV, radio, dan internet. Ketika semua alat tersebut bermunculan, manusia dapat saling berbagi informasi. Semua elektronik komunikasi mempunyai transmitter, sebuah media komunikasi atau medium dan reciever. Di dalam elektronik komunikasi, pesan dikirim sebagai informasi. Pesan ini berbentuk sinyal elektronik oleh pengirim dan diterima oleh penerima pesan. Pesan akan dirubah ke bentuk elektronik 11 yang cocok untuk dikirimkan, contohnya dari pesan suara, sebuah microphone digunakan untuk merubah suara menjadi sinyal elektronik radio, di komputer, pesan diketik di keyboard dan dikonversikan menjadi kode biner yang disimpan ke dalam memory. Sedangkan media komunikasi merupakan suatu media yang digunakan untuk menyalurkan pesan dari transmitter ke reciever. Dan reciever merupakan kumpulan dari komponen eletronik yang dapat menerima pesan dari pengirim pesan dan merubah ke bentuk yang dapat dimengerti oleh manusia. Menurut Suryanto (2015, pp. 332) komunikasi bisnis adalah pertukaran ide, pendapat, informasi, dan perintah yang memiliki tujuan tertentu yang disajikan secara personal atau interpersonal melalui simbol atau tanda. Komunikasi bisnis juga merupakan proses pertukaran informasi untuk mencapai efektifitas dan efisiensi produk kerja dalam struktur dan sistem organisasi. 2.2 Basis Data Menurut Connolly dan Begg (2015, pp. 63) basis data adalah kumpulan data yang saling berhubungan secara logis dan deskripsi data tersebut dirancang untuk memenuhi kebutuhan informasi dalam suatu organisasi. Sebuah basis data terdiri dari kumpulan data yang besar dan merupakan penyimpanan data yang sangat besar yang dapat digunakan oleh banyak departemen dan pengguna. Sebuah basis data menjelaskan hubungan logical dari data dimana data terdiri entitas, atribut dan hubungan relasi. Menurut Silberschatz, Korth, dan Sudarshan (2011, pp. 1) basis data adalah kumpulan data yang berisi informasi yang relevan dengan suatu perusahaan. Database merupakan kumpulan data yang terorganisir dengan cara yang memungkinkan untuk diakses, beserta untuk pengambilan, penggunaan, dan pembaharuan data 2.2.1 Sistem Manajemen Basis Data (DBMS) Menurut Connolly dan Begg (2015, pp. 64), Database Management System (DBMS) adalah sistem yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara dan 12 mengendalikan hak akses ke basis data. Fasilitas yang dapat diberikan oleh sistem manajemen basis data kepada pengguna: 1. Data Defenition Language (DDL) Data Defenition Language, memungkinkan pengguna untuk menentukan tipe data, struktur data dan kendala pada data untuk disimpan ke dalam basis data. 2. Data Manipulation Language (DML) Data Manipulation Language, memungkinkan pengguna untuk melakukan manipulasi data pada basis data, seperti insert, update, delete dan retrieve data. 3. Data Control Language (DCL) • Sistem keamanan, menjaga basis data dari pengguna yang tidak memiliki hak ases untuk menggunakannya. • Sistem integritas, memelihara konsistensi data yang tersimpan. • Sistem kontrol konkurensi, dapat memberikan hak akses kepada pengguna lain untuk menggunakan basis data. • Sistem kontrol perbaikan, berfungsi untuk memperbaiki basis data ke kondisi sebelumnya jika terjadi kerusakan pada hardware dan software. • Katalog yang dapat diakses pengguna, mendeskripsikan data yang ada pada basis data. 2.2.2 Entity Relationship Modeling Entity Relationship Modeling merupakan pemodelan yang berguna untuk memberikan pemahaman yang tepat terhadap data dan penggunaannya di dalam suatu perusahaan. Model ini menggunakan pendekatan top-down dalam perancangan basis data yang dimulai dengan mengidentifikasikan data-data terpenting yang disebut dengan entitas dan hubungan antara entitas-entitas tersebut yang digambarkan dalam suatu model. 13 2.3 Business to Business (B2B) Menurut Turban (2010, pp. 237), B2B menunjukkan pada istilah transaksi antara berbagai bisnis/perusahaan yang satu ke perusahaan yang lain yang dapat dilakukan secara elektronik melalui internet, ekstranet, intranet, jaringan pribadi. Transaksi dapat terjadi antara sebuah bisnis dengan anggota supply chain, antara bisnis dengan pemerintah, dan tipe bisnis lainnya. B2B berperan sebagai perantara antara pembeli dan penjual dalam transaksi. Terdapat 2 transaksi yang dapat dilakukan oleh B2B yaitu, spot buying dan strategic sourcing. Spot buying menunjukkan pada arti pembelian pada produk atau servis yang mereka butuhkan. Sedangkan strategic sourcing adalah pembelian yang berdasarkan pada waktu yan jangka panjang dan pihak yang bertransaksi mengetahui satu sama lain. Jenis transaksi material yang dapat dilakukan oleh B2B ada dua yaitu, direct dan indirect. Direct material adalah material yang dibutuhkan untuk membuat suatu produk seperti kertas untuk membuat sebuah buku. Sedangkan indirect material adalah barang yang dibutuhkan untuk mendukung proses pembuatan produk. E-Bussiness adalah integrasi yang kompleks dari teknologi internet ke dalam infrastruktur ekonomi dari sebuah bisnis. 2.4 Interaksi Manusia Komputer Menurut Shneiderman & Plaisant (2010, pp. 14) dalam merancang tampilan suatu sistem, setiap orang memiliki kemampuan berbeda-beda untuk mempelajari suatu sistem yang digambarkan dalam teori 5 faktor manusia terukur, yaitu: 1. Waktu untuk belajar. Waktu yang dibutuhkan oleh pengguna untuk belajar dan beradapatasi menggunakan suatu sistem. Menghitung berapa lama waktu yang diperlukan bagi pengguna dalam menggunakan suatu sistem yang baru. Apakah hanya membutuhkan waktu yang singkat atau lama dalam mempelajari cara menggunakan sistem tersebut. 2. Kecepatan kinerja Kecepatan kinerja yang dimadsud adalah lama yang dibutuhkan oleh pengguna dalam melakukan kumpulan tugas pada sistem. Seberapa cepat sebuah tugas atau pekerjaan dapat diselesaikan dengan menggunakan 14 sistem. Pengguna dapat menggunakan sistem dengan kecepatan kinerja sistem yang termasuk cepat. 3. Kemungkinan error yang dilakukan user Seberapa sering dan tipe error seperti apa yang akan muncul ketika pengguna melakukan tugasnya dengan menggunakan sistem. Sistem yang ada hendaknya telah memiliki penanganan error sederhana yang mungkin dapat disebabkan oleh pengguna. 4. Ingatan pengguna dari waktu ke waktu Kemahiran pengguna dalam menggunakan sistem yang dapat diukur dengan frekuensi penggunaan sistem. Tampilan sistem yang ada hendaknya memiliki informasi yang jelas, urutan pengerjaan yang jelas sehingga pengguna tidak perlu mengingat langkah-langkah apa saja yang perlu dilakukan ketika melakukan tugas dengan menggunakan sistem. 5. Kepuasan subjektif Kepuasan pengguna dalam menggunakan tampilan pada sistem berdasarkan beberapa faktor dari tampilan tersebut. Tampilan suatu sistem dinilai berdasarkan seberapa puas pengguna dalam melihat dan menggunakan sistem. Dalam merancang suatu website, terdapat 8 aturan yang disebut dengan “Golden Rules” yang berfungsi sebagai pedoman dalam merancang suatu system yang interaktif. Delapan Aturan Emas tersebut adalah: 1. Konsistensi (Consistency). Upaya untuk konsistensi sangat diperlukan, seperti warna yang konsisten, tata letak suatu komponen, jenis font, kapitalisasi, serta terminologi identik yang harus diterapkan pada prompt, menu, layar pembantu, dan sebagainya pada setiap halaman website. Namun, hal tersebut terdapat pengecualian seperti, pesan konfirmasi pada perintah untuk menghapus sesuatu komponen harus memiliki kalimat yang mudah dipahami. 2. Universal Usability Memenuhi kebutuhan secara universal. Kebutuhan pengguna yang beragam menjadi hal yang harus diperhatikan dalam mendesain dan memfasilitasi konten - konten pada sebuah website. Keragaman yang dimaksud seperti, pengguna yang masih pemula sampai dengan pengguna 15 yang sudah ahli, rentang usia, keterbatasan atau ketidakmampuan pengguna. Berbagai fitur tertentu seperti informasi penjelasan untuk pemula dan menyediakan fitur jalan pintas, serta navigasi yang cepat untuk pengguna yang sudah ahli dapat memperkaya kualitas suatu sistem. 3. Umpan Balik yang Informatif Setiap tindakan yang dilakukan oleh pengguna, sistem harus memiliki umpan balik berupa respon yang informatif. Respon yang muncul harus sesuai dengan tindakan yang dilakukan. Untuk tindakan yang sering dilakukan, maka responnya cukup yang sederhana agar tidak menghambat pengguna. Sedangkan, untuk tindakan yang jarang atau tidak umum dilakukan, maka responnya harus dibuat secara khusus. 4. Desain dialog untuk penutup Tujuannya agar menghasilkan penutupan. Urutan tindakan harus diorganisasikan ke dalam kelompok permulaan, tengah, dan penutupan. Umpan balik yang informatif pada penyelesaian dari sekumpulan tindakan operator dapat memberikan kepuasan bagi para penggunanya terhadap informasi yang lengkap dan menjadi indikator untuk mempersiapkan tindakan - tindakan berikutnya. Contoh: dialog box yang digunakan saat ingin menghapus sebuah file, akan muncul pesan konfirmasi untuk menyelesaikan tindakan tersebut. 5. Penanganan Kesalahan yang Sederhana Sebuah sistem harus didesain dengan memiliki tujuan agar penggunanya tidak dapat membuat kesalahan yang serius atau fatal. Misalnya, tidak mengizinkan huruf abjad di input pada tempat yang seharusnya numerik. Jika pengguna melakukan suatu kesalahan, maka sistem harus mendeteksi kesalahan dan menginformasikan instruksi - instruksi sederhana untuk memperbaiki kesalahannya. 6. Mengizinkan Tindakan untuk Pembalikan harus Mudah Sistem didesain sebisa mungkin agar tindakan dapat dikembalikan. Hal ini dapat mengurangi kecemasan para pengguna ketika melakukan kesalahan kecil dan berani untuk melakukan eksplorasi yang lebih banyak. 16 7. Mendukung Tempat Pengendalian Internal Pengguna yang sudah ahli menginginkan bahwa mereka yang menjadi pengontrol atas antarmuka dan merespon tindakan mereka. Mereka cenderung terganggu oleh urutan entri data yang membosankan, kesulitan dalam memperoleh informasi yang diperlukan serta ketidakmampuan dalam menghasilkan hasil yang diinginkan. 8. Mengurangi Beban Memori Jangka Pendek Manusia memiliki keterbatasan kapasitas untuk melakukan proses informasi dalam waktu jangka pendek, sehingga desainer harus menghindari desain antarmuka dimana pengguna harus mengingat informasi dari suatu layar dan kemudian menggunakan informasi tersebut pada layar lain. Ini berarti tampilan multi-halaman harus digabungkan. 2.5 SQL Server 2012 Menurut Petkovic (2012, pp. 42), SQL Server 2012 menyediakan berbagai tools yang digunakan untuk berbagai kegunaan, seperti instalasi sistem, konfigurasi, auditing, dan kinerja tuning. Semua administrator dan end user dapat menggunakan tools yang ada untuk mengembangkan suatu database, replikasi data, dan kinerja lain. SQL Server Management Studio memiliki 2 tujuan, untuk memanajemen objek-objek database dan sebagai administrasi dari database server. SQL Server Management Studio memiliki beberapa kegunaan untuk memanajemen, administrasi dan otoritas dari keseluruhan sistem. Adapun komponen utama yang harus dilakukan dalam menggunakan SQL Server adalah meregistrasi server, objek explorer, query editor dan solution explorer. 2.6 Visual Studio Menurut Microsoft, Visual Studio adalah alat pengembangan untuk membangun aplikasi ASP.NET Web, XML Web Services, aplikasi desktop, dan aplikasi mobile. Visual Basic, Visual C #, dan Visual C ++ semua menggunakan integrated development environment (IDE) yang sama. 17 Dengan adanya IDE yang sama, hal ini memungkinkan visual studio untuk berbagi tools dan memudahkan penggunaan bahasa secara bersamaan. Visual Studio merupakan tools developer untuk membantu dalam membuat aplikasi platform Microsoft dan di luar microsoft. 2.7 Extreme Programming Menurut Pressman (2015, pp. 72) Extreme Programming menggunakan pendekatan berorientasi objek sebagai paradigma pengembangan dan memiliki sekumpulan peraturan yang terdapat dalam konteks 4 aktivitas framework yang terdiri dari: Gambar 2.1 Tahapan Extreme Programming (Sumber: Pressman, 2015, pp. 72) 1. Planning Tahap planning dimulai dengan listening yaitu berkumpul untuk membahas requirement agar member teknikal tim XP mengerti konteks bisnis pada software dan mendapatkan informasi mengenai output yang dibutuhkan, fitur utama, dan fungsionalitasnya. Dengan mendengarkan user requirement akan terbentuk sekumpulan “Stories”. Stories yang masa pengerjaanya melebihi waktu normal akan dipecah lagi menjadi stories yang lebih kecil. 18 2. Design Design XP menganut prinsip KIS (Keep it Simple), sehingga design yang simpel lebih disukai daripada representasi yang kompleks. Design menyediakan petunjuk pelaksanaan sesuai dengan cerita yang telah ditulis. XP mendukung penggunaan CRC Card sebagai mekanisme efektif untuk mendapatkan pandangan software dalam konteks object-oriented. CRC Card mengidentifikasi dan mengatur class object-oriented yang relevan dengan dengan perkembangan software tersebut. Dikarenakan design XP hampir tidak menggunakan notasi, design dipandang sebagai artefak sementara yang dapat dimodifikasi selama proses konstruksi secara terusmenerus. 3. Coding Setelah proses design selesai, tim belum langsung masuk ke code, tapi mengembangkan serangkaian tes unit terhadap proses yang sudah terdapat pada software kini (software increment). Setelah tes unit dibuat, developer barulah fokus pada apa yang diimplementasikan agar tes dapat berhasil. Dan setelah code selesai, maka dapat langsung dites unit secara langsung dan memberikan feedback kepada developer secara langsung. Konsep utama saat coding adalah pair programming. XP merekomendasikan dua orang bekerja secara bersama-sama dalam 1 komputer workstation untuk membuat code. Hal tersebut menghasilkan mekanisme pemecahan masalah dan jaminan kualitas secara real-time. Dalam praktiknya, setiap orang memegang peran yang berbeda, dan setelah selesai, code yang mereka develop saling diintegrasikan. 4. Testing Sesuai dengan yang telah dijelaskan pada bagian sebelumnya, pembuatan tes unit yang dilakukan sebelum memulai code merupakan kunci elemen pada pendekatan XP. Unit tes yang dibuat harus diimplementasikan menggunakan framework sehingga proses-proses tersebut dapat berulang secara otomatis. Hal ini mendorong strategi pengujian regresi kapanpun ketika code dimodifikasi. 19 2.8 .NET Framework dan ASP.NET .NET adalah platform pengembangan untuk setiap jenis aplikasi, yang menyediakan kemampuan untuk membangun aplikasi berkualitas tinggi termasuk manajemen memori otomatis dan dukungan untuk bahasa pemrograman modern. .NET Framework menyediakan model pemrograman yang komprehensif untuk membangun semua jenis aplikasi, dari mobile, web hingga desktop. ASP.NET merupakan framework web untuk membangun situs web dan aplikasi web menggunakan HTML, CSS, dan JavaScript. Dengan ASP.NET dapat membuat API Web dan situs mobile, serta dapat menggunakan teknologi real-time seperti Web Sockets dan banyak lagi. ASP.NET menawarkan tiga framework untuk membuat aplikasi web: Web Forms, ASP.NET MVC, dan ASP.NET Web Pages. Ketiga framework stabil, dapat digunakan untuk membuat aplikasi web yang bagus. Ketika browser meminta file ASP.NET, mesin ASP.NET membaca file, mengkompilasi dan mengeksekusi script dalam file, dan mengembalikan hasilnya ke browser sebagai HTML biasa. ASP.NET merupakan ASP berorientasi objek yang mendukung banyak model objek. ASP.NET sepenuhnya dapat menerapkan object oriented programming (OOP), seperti penerapan class, interface, encapsulation dan inheritance. 2.9 HTML Menurut Connolly dan Begg (2015, pp. 1055) HTML atau Hypertext Markup Language adalah bahasa dengan format dokumen yang digunakan untuk mendesain halaman website. HTML adalah suatu sistem yang digunakan untuk mark up, tagging, sehingga suatu dokumen dapat dipublikasikan di web. HTML mendefinisikan apa yang sebenarnya menjadi standar perpindahan data antara nodes yang ada di dalam suatu jaringan. HTML telah dikembangkan untuk mendukung berbagai tipe devices yang dapat menampilkan informasi pada web. HTML merupakan aplikasi dari SGML dimana sebuah system yang mendefinisikan struktur dari dokmen dan Bahasa markup yang digunakan untuk merepresentasikan tipe dari dokumen. Berikut adalah contoh dari penggunaan HTML: 20 <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <h1>My First Heading</h1> <p>My first paragraph.</p> </body> </html> 2.10 CSS CSS (Cascading Style Sheets) adalah bahasa stylesheet yang menggambarkan presentasi dari dokumen HTML (atau XML) . CSS menjelaskan bagaimana elemen harus ditampilkan pada layar, di atas kertas, atau di media lain. CSS dapat menyelesaikan pekerjaan dalam waktu yang cepat karena dapat mengontrol layout dari lebih dari satu halaman web sekaligus. Ketentuan untuk menuliskan CSS terdiri dari sebuah selector dan blok deklarasi. Selektor menunjukkan elemen dari HTML yang ingin dirubah. Sementara blok deklarasi terdiri dari satu atau lebih deklarasi yang dipisahkan dengan semicolon. Cara penulisan CSS dibagi menjadi 3 cara yaitu: • External Style Sheet: menggunakan external style sheet pengguna dapat merubah penampilan dari semua website dengan hanya mengganti satu file. • Internal Style Sheet: dapat digunakan apabila sebuah halaman memiliki style yang unik. • Inline Style: dapat digunakan untuk merubah sebuah element yang memiliki style yang unik. 2.11 JavaScript JavaScript adalah bahasa pemograman yang biasa disisipkan ke dalam kode HTML. JavaScript dapat dijalankan di sisi client. JavaScript 21 dikembangkan oleh Brendan Eich dan Mocha yang namanya kemudian diganti menjadi LiveScript dan kemudian diganti lagi menjadi JavaScript. Menurut Connolly dan Begg (2015, pp. 1065) Java Script adalah bahasa scripting yang berbasis objek dimana akar dari pada JavaScript adalah pengembangan dari program Netscape dan Sun dan menjadi sebuah Netscape’s web scripting language. JavaScript adalah program yang sederhana yang mengizinkan HTML untuk include fungsi dan scriptnya yang dapat membantu user dalam memberikan user event seperti mouse click, user input, page navigation. Kode JavaScript biasanya dituliskan dalam bentuk fungsi yang diletakkan dibagian tag <head> yang yang dibuka yang dibuka dengan tag <script type="text/javascript">. Kode JavaScript juga bisa diletakkan di file tersendiri yang berekstensi .js (singkatan dari JavaScript). Untuk memanggil kode JavaScript yang terdapat di file sendiri, di bagian awal <head> harus ditentukan dahulu nama file .js. 2.12 jQuery Menurut The jQuery Foundation, jQuery adalah sebuah library daripada JavaScript yang cepat, kecil, dan memiliki fitur yang banyak. jQuery membuat sesuatu seperti transversal dan manipulasi dokumen HTML, event handling, animasi, dan Ajax lebih sederhana dengan API yang mudah digunakan yang bekerja di banyak browser. Dengan kombinasi yang fleksibel dan dapat di extend, jQuery telah merubah banyak sekali orang untuk menulis JavaScript. Tujuan dari jQuery adalah membuat pengguna lebih mudah menggunakan JavaScript di dalam website mereka. jQuery mengambil banyak bagian umum yang biasanya terdiri dari banyak baris dari JavaScript dan menjadikan method tersebut menjadi satu baris di code. jQuery merupakan sebuah Bahasa yang sangat popular dan dapat di extend. 2.13 Bootstrap Menurut Bootstrap (2015), Bootstrap merupakan framework HTML, CSS, dan Javascript yang bersifat open source untuk mengembangkan web yang bersifat responsive. Boostrap dapat melakukan scale tampilan aplikasi dan website dengan mudah dan efisien. Meskipun Bootstrap dengan CSS 22 vanilla, source code-nya menggunakan dua preprocessor CSS, yakni Less dan Sass. Bootstrap terdiri dari HTML dan CSS yang didasarkan pada desain templete untuk membuat form, buttons, tables, navigation, modals, image dan banyak lainnya sama seperti plugin dari JavaScripts. Bootstrap dikembangkan oleh Mark Otto dan Jacob Thornton di Twitter dan dirilis pada bulan Agustus 2011 di GitHub. Keuntungan dari Bootstrap gampang digunakan, responsive, pendekatan mobile-first dan dapat mendukung banyak browser. 2.14 XML Menurut Connolly dan Begg (2015, pp. 1137), XML adalah metalanguage (sebuah bahasa yang mendeskripsikan bahasa lain) yang mengizinkan designer untuk membuat tag yang mereka inginkan untuk menyediakan suatu fasilitas yang tidak dapat dikerjakan oleh HTML XML didesain khusus untuk dokumen berbasis web. XML menyediakan fasilitas link yang menunjuk pada dokumen yang lebih dari satu. Adapun keuntungan dari XML antara lain: • Simplicity: XML memiliki standard yang sederhana dimana terdiri dari 65 halaman. XML di desain sebagai bahasa berbasis teks dan dapat dimengerti dengan mudah oleh user. • Open standard and platform independent: XML adalah platform independent dan vendor-independent . • Extensibility: tidak seperti HTML, XML dapat diperpanjang oleh user sesuai dengan tag yang mereka inginkan sesuai dengan kebutuhan aplikasi. • Reuse: Library dari XML juga mendukung tag dari XML dapat digunakan kembali oleh banyak aplikasi • Improve Load Balancing: data dapat dikirimkan ke browser yang ada di desktop untuk komputasi lokal. Komputasi off-loading dari server akan mendukung load balancing. 23 2.15 ASP SignalR ASP.NET SignalR adalah sebuah library untuk ASP.NET yang digunakan oleh developers untuk mempermudah dalam menambah fungsi realtime web ke dalam aplikasi. Real-time web adalah kemampuan untuk membuat server-side code untuk mendorong konten dan menghubungkan koneksi antar client dalam real time. SignalR menggunakan WebSockets dalam penggunaanya ketika available dan fallback ke teknik dan teknologi yang lain ketika sedang tidak available, sementara codenya tetap sama. SignalR juga menyediakan high-level API yang sangat simple untuk membantu RPC (memanggil fungsi JavaScript di browser client dari server side) dari server ke client dalam aplikasi ASP.NET Fungsional real-time pada aplikasi web ASP.NET dengan menggunakan SignalR dapat digunakan untuk membuat aplikasi chat yang sesungguhnya. Bukan hanya itu saja developer dapat melakukan banyak hal lainnya sebagai contoh untuk membuat dashboard dan aplikasi monitoring, aplikasi kolaborasi yang berfungsi untuk melakukan edit dokumen secara simultan oleh banyak user, update kemajuan pekerjaan dan real-time form. SignalR juga dapat digunakan untuk aplikasi web yang memerlukan update dengan frekuensi tinggi dari server seperti real-time game. Pada gambar di bawah ini menjelaskan komunikasi antara client dan server dengan memanfaatkan SignalR Gambar 2.2 Memanggil method pada client dari server (Sumber: http://www.asp.net/) 24 Gambar 2.3 Memanggil method pada server dari client (Sumber: http://www.asp.net/) 2.16 Redis Menurut RedisLab (2015), Redis adalah sebuah open source (lisensi BSD), struktur data yang ditempatkan di dalam sebuah memory, digunakan sebagai database, cache dan message broker. Redis mendukung struktur data dalam bentuk string, hashes, list, sets, sorted sets dengan query, bitmaps, hyperlogs indexed. Redis bisa digunakan untuk melakukan operasi dari value tersebut. Cara terbaik untuk memahami redis adalah membuat model aplikasi tanpa memikirkan bagaimana caranya untuk menyimpan data di dalam database. Jika terdapat aplikasi yang berskala besar dan beberapa modul berbagi data yang sama, maka Redis akan diperlukan untuk mempercepat aplikasi. Untuk mencapai performa yang sangat baik, Redis bekerja dalam sekumpulan data di dalam memory. Redis dapat digunakan sebagai cache yang cerdas dengan konfigurasi menggunakan memory yang baik.Redis ditulis dalam ANSI C dan bekerja seperti sistem yang ada di Linux, BSD, OS X tanpa ada ketergantungan dari luar. 2.17 Data Mining Menurut Connoly dan Begg (2015). Data mining adalah suatu proses untuk mengambil data yang valid, yang diketahui oleh orang, yang berguna dan informasi yang penting dari sebuah database yang besar dan hasil dari 25 proses tersebut digunakan untuk proses membuat keputusan dalam bisnis. Ada empat teknik data mining, yaitu: 1. Predictive Modeling Predictive Modeling mirip dengan pengalaman dari human learning dimana menggunakan sebuah observasi untuk membentuk sebuah model dari sebuah karakterikstik yang penting dengan menggunakan beberapa fenomena. Predictive modelling dapat digunakan untuk menganalisa database yang sudah ada sebelumnya dan menemukan karakteristik dari sekumpulan data tersebut. Ada 2 tipe dari predictive modeling, yaitu : a. Classification Classification digunakan untuk membangun sebuah kelas yang telah ditentukan untuk setiap record yang ada di database dari sekumpulan kelas yang terbatas b. Values Prediction Values Prediction adalah digunakan dengan cara mengestimasi nilai numerik yang berkelanjutan yang berhubungan dengan record dari database. 2. Database Segmentation (Clustering) Cara ini adalah dengan membagi database secara partisi ke dalam sekelompok segmen, gugus, dan record yang mirip (record yang memiliki sifat yang sama/homogen. 3. Link Analysis Cara ini dilakukan dengan cara membangun links yang disebut dengan asosiasi, diantara data yang individu, sekumpulan records di dalam sebuah database. Ada 3 jenis link analysis • Association discovery adalah sebuah teknik yang mencari items yang mengimplikasikan kehadiran dari item lain dalam event yang sama • Sequntial pattern discovery mencari pattern diantara event seperti kehadiran dari sekumpulan item diikuti oleh sekelompok pattern yang lain di dalam database dalam jangka waktu tertentu. 26 • Similar time sequence discovery digunakan untuk menemukan link diantara 2 set data yang tergantung atas waktu. 4. Deviation Detection Ini merupakan teknik baru dari data mining, dimana dilakukan dengan cara mencari kelainan dari beberapa ekspektasi dan norma yang dilakukan terhadap sekumpulan data. 2.17.1 Clustering Clustering/Klasterisasi adalah suatu metode untuk mengelompokkan data. Menurut Tan (2006), clustering adalah sebuah proses untuk mengelompokkan data ke dalam beberapa cluster atau kelompok sehingga suatu data dalam satu cluster memiliki tingkat kemiripan yang maksimum dan data antar cluster memiliki tingkat kemiripan yang minimum. Clustering merupakan proses partisi satu set objek data ke dalam himpunan bagian yang disebut dengan cluster. Partisi tidak dilakukan secara manual melainkan dengan suatu algoritma clustering. Oleh karena itu, clustering sangat berguna dalam menemukan kelompok yang tidak dikenal dalam data. 2.17.1.1 Manfaat Clustering • Clustering merupakan metode segmentasi data yang sangat berguna dalam prediksi dan analisa masalah bisnis tertentu. Misalnya Segmentasi Pasar, marketing dan pemetaan zonasi wilayah • Identifikasi obyek dalam bidang berbagai bidang seperti computer vision dan image processing. 2.17.1.2 Konsep dasar Clustering Hasil clustering yang baik akan menghasilkan tingkat kesamaan yang tinggi dalam suatu kelas dan tingkat kesamaan yang rendah antar kelas. Kesamaan yang dimadsud merupakan pengukuran secara numerik terhadap dua buah obyek. Nilai kesamaan antar kedua objek akan semakin tinggi jika kedua objek yang dibandingkan memiliki kemiripan yang tinggi. Begitu juga 27 dengan sebaliknya. Kualitas hasil clustering sangat bergantung pada metode yang dipakai. Dalam clustering dikenal empat tipe data. Keempat tipe data tersebut adalah: a. Variabel berskala interval b. Variabel biner c. Variabel nominal, ordinal, dan rasio d. Variabel dengan tipe lainnya. Metode clustering juga harus dapat mengukur kemampuannya sendiri dalam usaha untuk menemukan suatu pola tersembunyi pada data yang sedang diteliti. Terdapat beberapa metode untuk mengukurnilai kesamaan antar objek-objek yang dibandingkan. Salah satunya adalah weighted Euclidean Distance. Euclidean Distance menghitung jarak dua buah point dengan mengetahui nilai dari masing-masing atribut pada kedua poin tersebut. Berikut formula untuk menghitung jarak dengan Euclidean Distance Jarak adalah pendekatan yang umum dipakai untuk menentukan kesamaan atau ketidaksamaan dua vektor fitur yang dinyatakan dengan ranking Apabila nilai rangkin yang dihasilkan semakin kecil nilainya maka semakin dekat kesamaan antara kedua vektor tersebut. 2.17.1.3 Metode Clustering Metode Clustering secara umum dapat dibagi menjadi dua yaitu: • Hierarchical Clustering Pada metode ini, data dikelompokkan melalui suatu bagan yang berupa hirarki, dimana terdapat penggabungan dua grup terdekat disetiap iterasinya ataupun pembagian dari seluruh set di dalam cluster. • Partitional Clustering Data dikelompokkan ke dalam sejumlah cluster tanpa adanya struktur hierarki antara satu dengan yang lainnya. Pada 28 metode partitional clustering, setiap cluster memiliki titik pusat cluster dan secara umum metode ini memiliki fungsi tujuan yaitu meminimumkan jarak dari seluruh data pusat cluster masing-masing. Contoh metode partitioning clustering adalah : K-means, Fuzzy K-means dan Mixture Modelling. Metode K-means merupakan metode clustering yang paling sederhana dan umum. Hal ini disebabkan karena K-means memiliki kemampuan untuk mengelompokkan data dalam jumlah besar dan waktu komputasi yang cepat. K-means dijalankan secara independen dengan inisialisasi yang berbeda menghasilkan cluster akhir yang berbeda. K-means adalah teknik yang cukup sederhana dan cepat dalam proses clustering objek. Algoritma K-means mendefinisikan centroid atau pusat cluster dari cluster menjadi rata-rata point dari cluster tersebut. Dalam penerapan algoritma K-means, jika sekumpulan data X={x1, x2,….,xn } dimana xi={xi1,xi2,…xin} adalah system dalam ruang real Rn, maka algoritma Kmeans akan menyusun partisi X dalam sejumlah k cluster. Setiap cluster memiliki titik tengah (centroid) yang merupakan nilai rata rata (mean) dari data dalam cluster tersebut. Tahapan awal, algoritma K-means adalah memilih secara acak k buah objek sebagai centeroid dalam data, kemudian jarak antara objek dan centeriod dihitung dengan menggunakan Euclidian disctance. Algoritma Kmeans secara iterative meningkatkan variasi nilai dalam tiap cluster dimana objek selanjutnya ditempatkan dikelompok terdekat, dihitung dari titik tengah. Titik tengah baru ditentukan bila semua data telah ditempatkan dalam cluster terdekat. Proses penentuan titik tengah dan penempatan data dalam cluster diulangi sampai nilai titik tengah dari setiap cluster tidak berubah lagi. (Han dkk, 2012). Algoritma K-means: • Langkah 1: Tentukan berapa banyak cluster k dari dataset yang akan dibagi 29 • Langkah 2: Tetapkan secara acak data k menjadi pusat awal lokasi cluster • Langkah 3: Untuk masing-masing data, temukan pusat cluster terdekat. Dengan demikian berarti masingmasing pusat cluster memiliki sebuah subset dari dataset, sehingga mewakili bagian dari dataset. Oleh karena itu telah terbentuk cluster k:c1,c2,c3,…cK • Langkah 4: Untuk masing-masing cluster k, temukan pusat luasan klaster, dan perbarui lokasi dari masing masing pusat cluster ke nilai baru dari pusat luasan • Langkah 5: Ulangi langkah ke-3 dan ke-5 hingga datadata pada tiap cluster menjadi terpusat atau selesai. 2.18 Metronic Metronic adalah tema (template) responsive dan serbaguna untuk kebutuhan admin dan frontend yang didukung dengan Twitter Bootstrap 3 Framework. Metronic hadir dengan lebih 200+ template, 500 komponen UI, 70 plugin dan pilhan layout yang banyak. Metronic dapat digunakan untuk banyak tipe dari aplikasi web seperti kostumisasi panel admin, dashboard admin, backend e-commerce, CRM, CMS, dan SAAS. Metronic dapat membuat desain yang menarik untuk proyek pengguna dan user friendly. 2.19 amCharts amCharts adalah library charting advanced yang dapat memenuhi setiap kebutuhan visualisasi data. Solusi charting yang diberikan meliputi Column, Bar, Line, Area, Step, Step without risers, Smoothed line, Candlestick, OHLC, Pie/Donut, Radar/ Polar, XY/Scatter/Bubble, Bullet, Funnel/Pyramid. amCharts merupakan sebuah library yang dikembangkan dengan Bahasa JavaScript dan merupakan library yang sudah berdiri sendiri tanpa melalui perantara. amCharts merupakan sebuah library chart yang free dan berupa plug in yang tinggal digunakan. 30 2.20 Unified Modelling Language (UML) 2.20.1 UML UML adalah bahasa visual untuk menrepresentasikan desain dan pola software. Dalam rekayasa perangkat lunak, Unified Modeling Language (UML) adalah bahasa spesifikasi non-eksklusif untuk pemodelan objek. UML adalah bahasa pemodelan yang mencakup notasi grafis standar yang digunakan untuk membuat sebuah model abstrak pada suatu sistem, disebut sebagai model UML. UML dapat diperpanjang karena menawarkan profil mekanisme untuk kustomisasi. Jika konsep tidak tersedia, dapat diperkenalkan dengan mendefinisikan stereotip. 2.20.2 Bagian dari UML 2.20.2.1 Use Case Diagram Menurut Whitten & Bentley (2007, pp. 382), Use Case Diagram merupakan diagram yang menggambarkan interaksi antara sistem, sistem eksternal dan pengguna secara grafis menggambarkan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan untuk berinteraksi dengan sistem. Tujuan utama dari diagram use case adalah untuk membantu tim pengembangan dalam memvisualisasikan persyaratan fungsional dari sistem, termasuk hubungan aktor untuk proses yang penting, sama seperti hubungan antara use case yang berbeda. Dalam membangun sebuah use case diagram terdapat beberapa hal yang perlu diperhatikan: ● Mengidentifikasi, menentukan, dan dokumen aktor baru. ● Mengidentifikasi, menentukan, dan dokumen use case baru. ● Mengidentifikasi kemungkinan penggunaan kembali. ● Memperbaiki model use case diagram jika diperlukan. ● Mendokumentasi analisis sistem use case narratives. 31 Gambar 2.4 Contoh diagram Use Case (Sumber: Whitten & Bentley, 2007, pp. 246) Pada Use Case Diagram terdapat beberapa notasi sebagai berikut: a. Use Cases Merupakan model Use Case yang menggambarkan dan mengidentifikasi fungsi dari sebuah sistem. Sebuah Use Case menggambarkan sebuah tujuan sistem dan menjelaskan tentang urutan aktivitas, serta interaksi user agar tercapai tujuan dari sistem tersebut. Gambar 2.5 Contoh simbol use cases (Sumber: Whitten & Bentley, 2007, pp. 246) b. Aktor Aktor merupakan seorang pengguna eksternal yang dibutuhkan untuk melakukan interaksi dengan sistem dan melakukan aktivitas dalam sistem dengan tujuan untuk menyelesaikan proses bisnis yang menghasilkan hasil yang dibutuhkan. 32 Gambar 2.6 Contoh simbol aktor (Sumber: Whitten & Bentley, 2007, pp. 247) Aktor terbagi atas 4 jenis, yaitu: 1) Primary bussiness actor, seseorang yang memiliki keuntungan dari aktivitas dalam use case dan mendapatkan suatu nilai perhitungan dan pengamatan. 2) Primary system actor, seseorang yang berinteraksi secara langsung dengan sistem untuk memulai atau melaksanakan aktivitas dalam sistem. Primary system actor dapat berinteraksi secara langsung dengan primary business actor dengan menggunakan sistem yang menghasilkan keuntungan untuk primary business actor. 3) External server actor, seseorang yang melakukan tanggapan terhadap permintaan dari use case. 4) External receiver actor, seseorang yang mendapatkan suatu nilai yang merupakan hasil dari perhitungan dan pengamatan dan external receiver actor tidak dianggap sebagai aktor utama. c. Relationship Merupakan suatu hubungan antara dua notasi dari Use Case Diagam yang digambarkan dalam bentuk notasi garis. Terdapat beberapa jenis relationship yaitu: 1. Associations, suatu hubungan yang menggambarkan interaksi antara aktor dengan use case. Hubungan 33 associations terdiri dari 2 jenis notasi, yaitu sebagai berikut: i) Notasi associations yang digambarkan garis lurus dengan panah, menggambarkan use case dilaksanakan oleh aktor yang berada pada ujung garis. ii) Notasi associations yang digambarkan garis lurus dengan tidak ada panah, menggambarkan interaksi antara use case dan external server or receiver actor. Gambar 2.7 Contoh relasi associations (Whitten & Bentley, 2007, pp. 248) 2. Extends, suatu hubungan yang menjelaskan pembagian use case yang kompleks menjadi beberapa bagian use case baru. Hal tersebut bertujuan untuk membuat use case yang kompleks tersebut menjadi lebih mudah dimengerti. Setiap hubungan extends dilambangkan dengan <<extends>>. Hubungan extends tidak ditentukan dalam requirements, tetapi ditentukan dalam tahap analysis. tahap 34 Gambar 2.8 Contoh relasi extends (Sumber: Whitten & Bentley, 2007, pp. 249) 3. Uses atau Includes, suatu hubungan yang digunakan untuk membagi satu atau dua use case yang memiliki fungsi yang identik menjadi bebebrapa bagian dan bertujuan untuk mengurangi redundansi. Hubungan uses dilambangkan dengan <<uses>>. Gambar 2.9 Contoh relasi uses (Sumber: Whitten & Bentley, 2007, pp. 249) 4. Depends On, suatu hubungan yang menjelaskan keterkaitan antara suatu use case dengan use case lain untuk menentukan urutan aktifitas yang harus dilakukan terlebih dahulu sebelum melanjutkan aktifitas pada use case tersebut. Hubungan depends on dilambangkan dengan <<depends on>>. 35 Gambar 2.10 Contoh relasi depends on (Sumber: Whitten & Bentley, 2007, pp. 250) 5. Inheritance, suatu hubungan yang terdiri dari dua aktor atau lebih yang menggambarkan aktor tersebut memiliki tugas yang sama dalam satu use case. Hubungan inheritance digambarkan dengan dua atau lebih aktor yang saling terhubung dengan garis yang memiliki panah. Gambar 2.11 Contoh relasi inheritance (Sumber: Whitten & Bentley, 2007, pp. 250) 36 2.20.2.2 Use Case Narrative Use Case Narative adalah suatu deskripsi dari suatu sistem yang menggambarkan proses interaksi antara pengguna dengan sistem untuk menyelesaikan suatu pekerjaan. Berikut adalah atribut – atribut yang terdapat dalam Use Case Narrative: 1) Author, merupakan nama dari individu yang bertugas untuk menuliskan use case dan menyediakan kebutuhan informasi tambahan dalam sebuah use case. 2) Date, merupakan tanggal dari modifikasi use case yang terakhir. 3) Version, merupakan versi sekarang dari sebuah use case. 4) Use-casename, menggambarkan tujuan yang akan diselesaikan dalam use case. Nama use case tersebut harus berupa kata kerja. 5) Use-case type, merupakan jenis dari use case. Contoh: sebuah use case yang memiliki fokus dalam strategi dan tujuan dari beberapa stakeholder, jenis use case ini berorientasi pada bisnis. 6) Use-case ID, merupakan sebuah tanda yang unik yang digunakan sebagai tanda pengenal dari use case. 7) Priority, merupakan urutan tugas yang harus didahulukan dalam usecase dan terdiri dari low, medium, dan high. 8) Source, merupakan kebutuhan, dokumen yang spesifik, atau stakeholder yang didefiniskan dalam entity. 9) Primary business actor, merupakan staeholder yang menerima suatu perhitungan atau nilai observasi yang melakukan bagian eksekusi dalam use case. 10) Other participating actors, merupakan aktor lain yang ikut terlibat dalam proses bisnis di dalam use case untuk mencapai tujuan dan terdiri dari initiating actors, facilitating actors, server/receiver actors, and secondary actors. 37 11) Interested stakholder(s), merupakan stakeholder membantu dalam pengembangan dan operasional dalam sistem software. 12) Description, merupakan suatu penjelasan yang mengandung kalimat untuk menjelaskan tujuan dan aktifitas dalam use case. 13) Precondition, merupakan suatu batasan dalam sistem sebelum suatu use case tersebut dilaksanakan.Use case sebelumnya menjadi syarat kondisi untuk melanjutkan proses eksekusi pada use case selanjutnya. 14) Trigger, merupakan suatu kondisi yang akan memulai proses eksekusi dalam usecase. 15) Typical course of events, merupakan kumpulan aktifitas yang dilakukan oleh aktor dan sistem dengan tujuan untuk mencapai tujuan memuaskan dalam use case. 16) Alternate courses, merupakan dokumentasi dari use case yang dibuat jika terjadi variasi atau pengecualian saat terdapat tujuan yang khusus. 17) Conclusion, merupakan kesimpulan yang didapat jika use case telah berhasil dilaksanakan dengan aktor utama mendapatkan nilai perhitungan yang diharapkan. 18) Postcondition, merupakan suatu batasan suatu sistem yang terdapat setelah use case telah berhasil dilaksanakan. 19) Business rules, menentukan aturan dan prosedur dari bisnis yang diterapkan dalam suatu sistem. 20) Implementation contraints and specifications, menentukan kebutuhan nonfunctional yang akan mempengaruhi pengembangan dari use case tersebut dan membantu dalam proses ruang lingkup, serta perencanaan. 21) Assumptions, merupakan suatu perkiraan yang dibuat oleh aktor saat membuat dokumentasi untuk use case. 22) Open issues, merupakan pertanyaan dan masalah yang harus diselesaikan sebelum use case tersebut selesai. 38 Gambar 2.12 Contoh Use Case Narrative (Sumber: Whitten & Bentley, 2007, pp. 257) 2.20.2.3 Class Diagram Menurut Whitten & Bentley (2007, pp.382), Class diagram merupakan diagram yang menggambarkan struktur objek sistem. Class diagram menunjukkan kelas objek bahwa sistem tersusun dari hubungan antara kelas objek. 39 Gambar 2.13 Contoh Class Diagram (Sumber: Whitten & Bentley, 2007, pp. 661) Berikut adalah hubungan yang terdapat pada class diagram: • Generalisasi/spesifikasi Generalisasi (supertype) adalah sebuah entitas memiliki atribut dan behavior yang akan diturunkan pada subclass dari kelas generalisasi tersebut. Sedangkan, spesifikasi (subtype) adalah suatu entitas yang menurunkan atribut dan behavior dari kelas supertype. 40 Gambar 2.14 Contoh hubungan generalisasi/spesifikasi (Sumber: Whitten & Bentley, 2007, pp. 661) • Hubungan antar class Class diagram memiliki hubungan antar class yang saling berinteraksi di dalam suatu sistem. Setiap garis yang terhubung di antara class disebut dengan association. Sedangkan, setiap association memiliki konsep yang dinamakan multiplicity, karena setiap association secara umum bersifat bidirectional yang berarti antar class memiliki hubungan timbal balik. 41 Gambar 2.15 Contoh class diagram multiplicity (Sumber: Whitten & Bentley, 2007, pp. 377) • Hubungan agregasi dan komposisi Agregasi merupakan suatu hubungan yang menggambarkan sebuah class yang memiliki bagian kecil berupa class lain. Gambar 2.16 Contoh hubungan agregasi (Sumber: Whitten & Bentley, 2007, pp. 379) 42 Komposisi merupakan suatu hubungan yang menggambarkan sebuah keterkaitan yang erat antara sebuah class yang bergantung dengan bagian class lain. Gambar 2.17 Contoh hubungan komposisi (Sumber: Whitten & Bentley, 2007:379) 2.20.2.4 Activity Diagram Menurut Whitten & Bentley (2007, pp. 390), Activity diagram merupakan diagram yang menggambarkan aliran sekuensial kegiatan use case atau proses bisnis. Activity diagram juga dapat digunakan untuk membuat model logika dengan sistem. Activity diagram paling baik digunakan untuk tingkat model proses yang lebih tinggi, seperti bagaimana perusahaan saat ini melakukan bisnis, atau bagaimana ingin melakukan bisnis. Berikut adalah notasi yang terdapat dalam activity diagram: 1) Initial mode, sebuah lingkaran solid yang menggambarkan titik awal dari sebuah proses 2) Actions, berbentuk persegi dengan sisi melengkung yang menggambarkan suatu tahapan 3) Flow, digambarkan dengan panah yang menggambarkan suatu 43 jalannya alur 4) Decision, digambarkan dengan bentuk diamond dengan panah sebagai input dan dua atau tiga panah mengarah keluar sebagai output 5) Merge, digambarkan dengan bentuk diamond dengan dua atau lebih panah sebagai input dan satu panah menuju keluar sebagai output 6) Fork, digambarkan dengan balok hitam dengan satu panah ke arah input dan dua atau lebih panah menuju keluar sebagai output yang bertujuan untuk menggambarkan bahwa proses berjalan secara bersamaan 7) Join, digambarkan dengan balok hitam dengan dua atau lebih panah ke arah input dan satu panah menuju keluar sebagai output yang menggambarkan semua proses yang bergabung harus diselesaikan terlebih dahulu sebelum proses dilanjutkan 8) Activity final, lingkaran solid yang berada di dalam lingkaran kosong sebagai penanda akhir dari sebuah proses. 44 Gambar 2.18 Contoh Activity Diagram (Sumber: Whitten & Bentley, 2007, pp. 392) 45 2.20.2.5 Sequence Diagram Menurut Whitten & Bentley (2007, pp. 382), Sequence diagram merupakan diagram yang secara grafis menggambarkan bagaimana objek berinteraksi satu sama lain melalui pesan dalam pelaksanaan use case atau operasi. Sequence diagram menggambarkan bagaimana pesan dikirim dan diterima antara objek dan dalam urutan berapa. Berikut adalah notasi yang terdapat dalam sequence diagram: 1) Actor, merupakan bagian dari aktor pada use case yang digambarkan dengan simbol aktor pada use case diagram 2) Interface class, kotak yang melambangkan user interface dan untuk membedakan dengan kelas lainnya, kelas ini diberi lambang <<interface>>. Simbol colon (:) yang merupakan standar dari diagram seqeuence menandakan instansi yang sedang digunakan. 3) Controller class, setiap use case akan memiliki minimal 1 controller class yang dilambangkan dengan <<controller>.Simbol colon (:) yang merupakan standar dari diagram seqeuence menandakan instansi yang sedang digunakan. 4) Entity classes, kotak yang melambangkan setiap entitas atau model yang dibutuhkan untuk dikolaborasikan dalam sequence. 5) Messages, panah horizontal dari aktor menuju ke sistem yang menggambarkan pesan input 6) Activation bars, digambarkan dengan bentuk balok yang terdapat pada lifelines menggambarkan suatu periode waktu ketika partisipan sedang aktif melakukan interaksi. 7) Return messages, garis panah horizontal putus – putus yang melambangkan output yang dihasilkan dari fungsi atau behavior yang telah dipanggil dalam bentuk pesan untuk menandakan berhasil atau tidak fungsi tersebut. 46 8) Self-call, sebuah objek yang dapat memanggil method diri sendiri. 9) Frame, sebuah kotak yang membungkus satu atau lebih pesan dalam sequence dan menggambarkan sebagai perulangan (loop), bagian alternatif (alternate fragments), atau langkah yang opsional (opt). Gambar 2.19 Contoh Sequence Diagram (I) (Sumber: Whitten & Bentley, 2007, pp. 659) Gambar 2.20 Contoh Sequence Diagram lanjutan (II) (Sumber: Whitten & Bentley, 2007, pp. 396) 47 2.21 Testing Dalam mengembangkan suatu aplikasi, dibutuhkan testing untuk memastikan suatu aplikasi berjalan dengan baik atau tidak. Sebuah produk yang dikembangkan memiliki dua cara untuk melakukan testing yaitu: • White-Box Testing Menurut Pressman (2015, pp. 500), White-Box testing yang biasa disebut glass-box testing atau structural testing merupakan desain testcase yang menggunakan struktur kontrol untuk mengambil test-case. Dengan metode white-box testing, bisa mengambil test case untuk: • Meyakinkan bahwa semua path pada module telah dicoba minimal sekali • Mencoba semua pilihan logical baik dari sisi benar maupun salah • • Mengeksekusi semua bagian pada batasan-batasan yang ada • Mencoba struktur data internal untuk meyakinkan validitasnya Black-Box Testing Menurut Pressman (2015, pp. 509), Black-Box testing disebut behavioral testing atau functional testing fokus terhadap requirement fungsional pada suatu software. Teknik black-Box Testing memungkinkan untuk memperoleh kumpulan kondisi inputan yang akan mencoba semua requirement fungsional program secara keseluruhan. Black Box testing berupaya untuk menemukan error berupa fungsi yang kurang atau salah, kesalahan interface, kesalahan pada struktur data atau pengaksesan database eksternal, kesalahan kinerja, dan kesalahan inisialisasi/terminasi. 48