BAB II LANDASAN TEORI 2.1. Rekayasa Perangkat Lunak Perangkat Lunak adalah program komputer yang menyediakan fitur, fungsi, dan kinerja yang diinginkan. Merupakan struktur data yang memungkinkan program untuk manipulasi informasi baik dalam bentuk cetak maupun virtual [Roger S. Pressman, 2015]. Adapun beberapa karakteristik perangkat lunak, yaitu : 1. Merupakan elemen sistem logika dan bukan elemen sistem fisik seperti perangkat keras. 2. Elemen itu tidak aus, tetapi bisa rusak. 3. Elemen itu direkayasa atau dikembangkan dan bukan dibuat dipabrik seperti perangkat keras. Rekayasa Perangkat Lunak adalah penerapan sistematis disiplin ilmu, yang membahas semua aspek produksi perangkat lunak. Mulai dari pendekatan kuantitatif (analisa dan spesifikasi) untuk pengembangan, operation (design, coding, dan testing) hingga pemeliharaan perangkat lunak Rekayasa Perangkat Lunak merupakan teknologi yang bertingkat dan berlapis. Lapisan/tingkatan perangkat lunak adalah [Roger S. Pressman 2015] : 1. Quality Focus Quality Focus merupakan batu landasan yang menopang tools, methods, dan process dalam RPL. 2. Process Model Process Model merupakan fondasi dari RPL yang mendefinisikan sebuah framewodk untuk sekumpulan key process area yang harus dibangun demi keefektifan penyampaian teknologi pengembangan RPL. 3. Methods Methods menerangkan secara teknis tentang bagaimana membangun suatu perangkat lunak. Lapisan ini meliputi tugas-tugas yang mencakup analisis kebutuhan (requirements analysis), model desain ( design modeling ), pembuatan program ( program construction ), pengujian ( testing ) dan pendukung ( support ). 4. Tools Tools menyediakan dukungan otomatis dan smei otomatis untuk process model dan method. 7
http://digilib.mercubuana.ac.id/
8
Gambar 2. 1. Contoh Software Engineering Layers Sumber : Software Engineering, Pressman dan Maxim : 2015 Hal. 16
2.2. Dashboard 2.2.1. Pengertian Dashboard Dashboard adalah tampilan visual dari informasi terpenting yang diperlukan untuk mencapai satu atau lebih objektif; dikonsolidasikan dan diatur dalam sebuah layar sehingga informasi dapat di-monitor dalam sekilas [Wankhade, Ingle, dan Meshram, 2012]. Dashboard merupakan sebuah model aplikasi sistem informasi yang disediakan bagi para manager untuk menyajikan informasi kualitas kinerja, dari sebuah perusahaan atau lembaga organisasi. Konsep kinerja dashboard sudah ada selama bertahun-tahun, dashboard telah banyak diadopsi oleh perusahaan atau kalangan bisnis. Salah satu contohnya pada tahun 2004 survei yang dilakukan oleh institusi Data Warehousing ada sekitar 473 perusahaan menggunakan dashboard sebagai Business Intelligence informasi organisasinya. Survey yang dilakuan oleh Gartner Inc menemukan bahwa dashboard menggantikan pelaporan dan analisis ad-hoc dalam sebuah organisasi perusahaan di Negara Barat [Sallam, R.L., 2011.]. Sebuah penelitian dengan menggunakan terminologi “Enterprise Dashboard” yang diartikan sebagai dashboard yang merupakan sebuah komputer interface yang menyajikan informasi dalam bentuk tabel, laporan, indikator visual dan mekanisme peringatan dinamis serta relevan [Malik S, 2005] Di dalam sebuah organisasi yang besar atau perusahaan besar informasi dashboard di terminologi mirip dengan indikator yang ada dipesawat terbang, dimana disetiap indikator pesawat terbang menampilkan satu set KPI (Key Performance Indicator) yang memegang
http://digilib.mercubuana.ac.id/
9 informasi tentang kondisi pesawat secara internal, maupun eksternal [David Parmenter : 2007]. Dashboard ditampilkan pada satu monitor komputer penuh, yang berisi informasi yang bersifat kritis, agar dapat dilihat dengan cepat, sehingga dengan melihat dashboard saja, sudah dapat mengetahui hal-hal yang perlu diketahui. Dashboard didesain untuk membantu organisasi dalam mencapai tujuan strateginya, yaitu mengukur proses yang telah berjalan, memonitor kinerja dan memprediksi kinerja di masa yang akan datang. Di dalam sebuah organisasi yang besar atau perusahaan besar informasi dashboard di terminologi mirip dengan indikator yang ada dipesawat terbang, dimana disetiap indikator pesawat terbang menampilkan satu set KPI (Key Performance Indicator) yang memegang informasi tentang kondisi pesawat secara internal, maupun eksternal. KPI merupakan indikator utama dari kinerja proses yang dijalankan dalam sebuah organisasi [Parmenter, David., 2007].
2.2.2. Penelitian terkait Dashboard Dalam salah satu penelitian tentang dashboard menunjukkan bahwa sebuah performa dashboard digunakan sebagai sistem pengukuran kinerja terstruktur untuk perusahaan jasa logistik di industri fashion. Metodologi penelitian ini menggunakan pendekatan model logistik sebagai pengukuran kinerja, proses logistik distribusi persedian dan layanan transportasi dari perusahan fashion dipetakan untuk mengetahui kegiatan yang akan dipantau, supply chain diuraikan dalam proses masing-masing subporses, kemudian KPI setiap area logistiqual dipilih dengan melihat indikator literature yang sudah ada di perusahaan fashion tersebut, dukungan dashboard analisis, dapat di ukur dan divalidasi dengan menerapkan indikator data terakhir januari 2012 sampai September 2012. Hasil dari penelitiannya adalah model efektivitas logistiqual dalam memantau proses logistik dan dashboard terbukti cocok untuk diterapkan dalam sistem pengukuran kinerja logistik didalam perusahan industry fashion [Cagliano, A.C.,Mangano, G., Mustafa, S., Rafele, C. 2015.]. Penelitian lain yang dilakukan oleh Abdelfatah, tentang perbandingan beberapa arsitektur kinerja dashboard “A comparison of several performance dashboards architectures”, bahwa performa dashboard merupakan sebuah proses bisnis sistem informasi yang kompleks dibangun di atas integrasi sebuah bisnis cerdas dan infrastruktur data. Penelitian ini melihatkan beberapa teknik arsitektur performa dashboard yang bisa diterapkan dalam sebuah perusahaan. Fokusnya pada perspective desain dasahboard
http://digilib.mercubuana.ac.id/
10 tantangan teknis dan kesulitan yang terlibat dalam mengintegrasikan dashboard dengan sistem aplikasi yang sudah ada. Proses metodelogi penelitian menggunakan beberapa jenis performa dashboard yaitu dashboard operasional, dashboard taktis, dan dashboard strategi [Abdelfattah, M., 2013.]. Dashboard operasional cenderung untuk melakukan query langsung ke sumber sistem dan menerapkan perubahan yang minimal sedangkan dashboard taktis permintaan data dilakukan dengan memanggil query dari datawarehouse dan untuk dashboard strategi membuat data mart local terlebih dahulu untuk diteruskan ke data cahce dalam waktu tertentu. Jenis dashboard ini memberikan analisis tingkat tinggi di berbagai arsitektur data yang mendukung kinerja atau performance termasuk kelebihan dan kekurangan, dengan menggunakan perbandingan arsitektur dashboard yaitu : arsitektur direct query, arsitektur BI tools, aristektur mashboard dan arsitektur In-memory dashboards. Dari perbandingan ke empat arsitektur tersebut penelitian Abdelfatah menyatakan bahwa masing-masing arsitektur memiliki keunggulan dan karakteristik tersendiri untuk arsitektur Direct Query sangat ideal dalam menciptakan dashboard operasional dibandingkan dengan arsitektur lain. Arsitektur mashboard umumnya membatasi pengguna untuk menggunakan konten Business Intelligence yang ada dibandingkan dengan arsitektur dashboard yang lainnya. Kunci untuk memilih arsitektur yang tepat, haruslah memahami kebutuhan pengguna dan kompleksitas matrik dan aplikasi kinerja dashboard yang mendukung.
2.2.3. Tipe- Tipe Dashboard Ada beberapa macam objektif berdasarkan level manajemen yang didukungn dari Dashboard, menurut Rasmussen, Bansal dan Chen, yaitu: a. Dashboard Strategis Strategi dashboard adalah bagian yang mendukung manajemen level strategis untuk memberikan informasi untuk membuat keputusan bisnis, memprediksi peluang, dan memberikan arahan pencapaian tujuan strategis. Fokus pada pengukuran kinerja highlevel dan pencapaian tujuan strategis organisasi, mengadopsi konsep balance scorecard. Informasi yang disajikan tidak terlalu detail dan tidak memerlukan data real-time. b. Dashboard Taktikal Dashboard Taktikal, mendukung manajemen level taktikal yang digunakan untuk memberikan informasi yang dioerlukan oleh analisis untuk mengetahui penyebab suatu kejadian. Fokus pada proses analisis untuk menentukan penyebab dari suatu kondisi
http://digilib.mercubuana.ac.id/
11 atau kejadian tertentu. Memikili content informasi yang lebih banyak, desain untuk berinteraksi dengan data seperti drill-down dan tidak memerlukan data real-time. c. Dashboard Operasional Dashboard Operasional mendukung manajemen level operasional, yaitu memberikan informasi mengenai aktifitas yang sedang terjadi beserta perubahan secara real-time untuk memberikan kewaspadaan terhadap hal – hal yang perlu direspon secara cepat. Fokus pada monitoring aktifitas dan kejadian yang berubah secara konstan. Informasi disajikan sangat spesifik dan sangat detail, dinamis dan memerlukan data real-time. Tabel 2. 1. Performance Dashboard Operational Dashboard
Tactical Dashboard
Strategic Dashboard
Monitoring
Dashboard
BI Portal
Scorecard
Analyst
Statistical Models
OLAP Analyst
Time-Series Analysts
Decision Engineers
Interactive Reporting
Standard Reports
Advanced Visualization Scenario Modelling Managament
Alerts
Workflow
Meetings
Agents
Usage Monitoring
Annotations
Auditing
Strategy Maps
2.2.4. Manfaat Dashboard Secara umum dari berbagai pengertian dashboard mempunyai beberapa manfaat utama, yaitu : 1.
Mengkomunikasikan
strategi,
yaitu
sebagai
alat
yang
digunakan
untuk
mengkomunikasikan startegi dan tujuan yang dibuat oleh para pengambil keputusan kepada semua pihak dalam suatu organisasi sesuai dengan peran dan levelnya. 2.
Memonitor
dan menyesuaikan pelaksanaan strategi, yaitu digunakan untuk
mengidentifikasi permasalahan kritis dan membuat strategi untuk mengatasinya. 3.
Menyampaikan wawasan dan informasi ke semua pihak, yaitu dengan menyajikan informasi secara sekilas menggunakan grafik, simbol, bahan dan berbagai bentuk lainnya yang memudahkan pengguna dalam memahami dan mempersepsi informasi secara benar.
http://digilib.mercubuana.ac.id/
12
2.2.5. Dashboard sebagai alat monitoring Definisi sistem monitoring bisa bervariasi tetapi pada dasarnya prinsip yang digunakan adalah sama, yaitu: “Monitoring adalah penilaian yang terus menerus terhadap fungsi kegiatan proyek didalam konteks jadwal pelaksanaandan dan terhadap penggunaan input proyek oleh kelompok sasaran didalam konteks harapan-harapan rancangan. Monitoring adalah kegiatan proyek yang integral, bagian penting dari praktek manajemen yang baik dan karena itu merupakan bagian yang integral dari manajemen sehari-hari”.[ Casely & Kumar 1987]. Kegiatan monitoring bisa diartikan sebagai suatu kegiatan memonitor atau mengawasi seluruh aktivitas yang dilakukan oleh seseorang. Kegiatan monitoring ini dapat dilakukan secara langsung. Monitoring langsung dilakukan dengan cara peninjauan langsung terhadap aktivitas yang sedang berlangsung seperti peninjauan kerja lapangan atau inspeksi lapangan dan lain-lain. Sedangkan monitoring tidak langsung dilakukan melalui kegiatan penelaahan laporan tertulis, mencermati laporan lisan atau mewawancarai salah satu dari beberapa orang yang terlibat dalam satu kegiatan. Dashboard sebagai alat monitoring berfungsi memberikan informasi kepada para pembuat keputusan secara tidak langsung. Biasanya dashboard menampilkan data yang sudah diolah menjadi sebuah informasi dengan menggunakan Graphical User Interface (GUI) untuk mendesain dan menampilkan laporan, grafik, dan kerangka untuk menampilkan informasi. Dashboard dibutuhkan untuk mempermudah dalam penyajian informasi yang akan diberikan kepada jajaran eksekutif dalam perusahaan. Penyajian dalam dashboard adalah salah satu media dari output design (yaitu desain perancangan output/laporan).
2.3. Key Performace Indicator ( KPI ) 2.3.1. Pengertian Key Performace Indicator ( KPI ) KPI merupakan indikator utama dari kinerja proses yang dijalankan dalam sebuah organisasI [Parmenter, David., 2007]. KPI merupakan hal-hal yang mungkin dipilih untuk menilai, memberitahu bagaimana kinerja seseorang dalam mencapai sebuah tujuan ataupun mengatur CSF [Ward dan Peppard, 2002]. CSF didefinisikan sebagai area tertentu dalam perusahaan, dimana jika hasil dari area tersebut memuaskan, maka akan menjamin keberhasilan perusahaan dalam bersaing. Area
http://digilib.mercubuana.ac.id/
13 tersebut adalah area kunci di mana, “sesuatu harus berjalan dengan baik dan benar”, sehingga keberhasilan bisnis dapat dicapai dan terus berkembang. analisis CSF merupakan area terbatas dalam suatu bisnis yang apabila terpenuhi maka akan menjamin kesuksesan kinerja kompetitif bagi perusahaan [Ward :2002] Lingkup KPI umumnya meliputi sumber daya manusia, sistem penggajian, kinerja mesin dan peralatan yang digunakan, distribusi serta kualitas produk, kapasitas produksi, tingkat penjualan, program pemasaran, kebijakan harga, serta sistem kerja yang mempertimbangkan keselamatan kerja dan lingkungan [Rangkuti : 2012].
2.3.2. Analisis KPI KPI merupakan hal-hal yang mungkin dipilih untuk menilai, memberitahu bagaimana kinerja seseorang dalam mencapai sebuah tujuan ataupun mengatur CSF (Ward dan Peppard, 2002). Rangkuti (2012) menjelaskan bahwa lingkup KPI umumnya meliputi sumber daya manusia, sistem penggajian, kinerja mesin dan peralatan yang digunakan, distribusi serta kualitas produk, kapasitas produksi, tingkat penjualan, program pemasaran, kebijakan harga, serta sistem kerja yang mempertimbangkan.
2.4. FTTH ( Fiber To The Home ) Jaringan Lokal Akses Fiber (Jarlokaf) adalah jaringan yang menggunakan kabel serat optic untuk menghubungkan antara sentral lokal dengan terminal pelanggan. Dalam sebuah OLT bisa terdiri atas beberapa ODN yang berfungsi untuk transport dan distribusi data dari OLT ke ONU. Komponen pendukung lainnya adalah Passive atau Active Splitter (PS/AS) yang berfungsi untuk mendistribusikan daya optik ke semua cabang. Sedangkan komponen utama ONU berfungsi untuk: Interfacing dengan ODN, Multiplexing/Demultiplexing dan interfacing dengan terminal pelanggan. Lokasi perangkat opto elektronik di sisi pelanggan selanjutnya disebut Titik Konversi Optik (TKO). Jarlokaf dengan Konfigurasi FTTH adalah menempatkan TKO di rumah pelanggan atau dapat dianalogikan sebagai pengganti Terminal Blok (TB) pada JARLOKAT. Berikut ini adalah salah satu contoh desain Jarlokaf dengan Arsitektur FTTH jika menggunakan teknologi PON (Passive Optical Network).
http://digilib.mercubuana.ac.id/
14
Gambar 2. 2. Gambar Modus Aplikasi FTTH Pada perencanaan jaringan yang besar maka harus menggunakan perencanaan jaringan yang baik dan juga agar biaya yang dikeluarkan lebih sedikit. Keuntungan lain dari sebuah perencanaan jaringan adalah untuk meminimalkan
investasi dan mengingkatkai
keuntungan pengguna yang saling terhubung serta dapat menguntungkan bagi perusahaan yang menggunakan perencanaan jaringan dengan baik. Perencanaan jaringan berdasarkan pada proses untuk mempersiapkan sebuah jaringan FTTH yaitu ada tiga macam tahap, yaitu sebagai berikut : 1. Perencanaan jaringan strategis yang memiliki dua fungsi diantaranya adalah untuk melihat sejauh mana FTTH harus harus digunakan kemudian pada keputusan yang strategis contohnya arsitektur, kabel, dan teknologi apa yang akan digunakan. 2. Perencanaan jaringan tingkat tinggi adalah proses membuat keputusan untuk menentukan wilayah mana yang akan ditempatkan jaringan distribusi. Serta untuk menentukan lokasi sebagai sentral pelanggan dan dapat menentukan panjang instalasi kabel dan saluran berbagai jenis hardware yang bertujuan untuk menghasilkan jaringan dengan biaya rendah karena sudah melakukan perencanaan jaringan sebelumnya. 3. Ketiga dilakukan pembangunan rencana jaringan yaitu proses pembuatan rencana bahan konstruksi jaringan, juga mencakup informasi koneksi rinci seperti rencana splicing, skema pelabelan atau pada koneksi micro-duct.
2.4.1. Beberapa definisi penting tentang FTTH : Beberapa definisi penting mengenai implementasi FTTH adalah : 1. Premises, adalah rumah tinggal atau tempat usaha, baik hunian satu unit maupun hunian multi-unit seperti apartemen dihitung sebagai satu tempat.
http://digilib.mercubuana.ac.id/
15 2. Homes Passed, adalah jumlah potensi rumah atau bangunan dimana operator telekomunikasi memiliki kemampuan untuk menghubungkan alat produksi di daerah layanan tersebut. 3. Homes Connected, adalah jaringan yang terhubung dalam beberapa jumlah rumah atau bangunan yang terhubung sampai dengan titik pelanggan baik metode jaringan FTTH / FTTB. 4. Subscriber, adalah rumah atau bangunan yang terhubung ke jaringan B-FTTH / dan menggunakan setidaknya satu layanan koneksi ini dan didukung dengan kontrak komersial.
Gambar 2. 3. Gambaran Tentang FTTH
2.4.2. Elemen dan Segmentasi Jaringan FTTH Secara umum jaringan FTTH/B dapat dibagi menjadi 4 Segmen, yaitu Segmen: 1. Catuan kabel Feeder 2. Catuan kabel Distribusi 3. Catuan kabel Penanggal / Drop 4. Catuan kabel Rumah/ Gedung
http://digilib.mercubuana.ac.id/
16
Gambar 2. 4. Elemen dan Segmentasi Jaringan FTTH Dalam penentuan network model, keberhasilan implementasi FTTx harus bisa menjawab hal berikut : 1. Memiliki desain yang flexible terhadap kebutuhan melakukan penyesuaian dan pengembangan jaringan kedepan sesuai perubahan demand. 2. Investasi yang dilakukan harus Cost effectiveness. 3. Instalasi harus sesuai dengan kondisi geografis dan lingkungan pada area pemasangan. 4. Mudah di-deploy dengan perangkat yang dipilih dalam jumlah minimum. 5. Mudah dalam mendapatkan perangkat yang diperlukan. 6. Multi-vedor component compatibility 7. Comply terhadap standar nasional maupun global.
Gambar 2. 5. Konfigurasi Jaringan FTTH, FTTB dab FTTT
http://digilib.mercubuana.ac.id/
17
2.5. Pengembangan Sistem Informasi 2.5.1. SDLC System Development Life Cycle atau Siklus Hidup Pengembangan Sistem adalah proses sistem serta metodologi yang dgunakan untuk mengembangkan sistem-sistem tersebut [Pressman dan Maxim, 2015].
2.5.2. Waterfall Model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut juga dengan “classic life cycle” atau metode waterfall. Model ini termasuk ke dalam model generic pada rekayasa perangkat lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai dalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. [Pressman :2015:42]
Gambar 2. 6. Contoh Software Engineering Layers Sumber: Software Engineering, Pressman dan Maxim (2015) a. Communication (Project Initiation & Requirements Gathering) Sebelum memulai pekerjaan yang bersifat teknis, sangat diperlukan adanya komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin dicapai. Hasil dari komunikasi tersebut adalah inisialisasi proyek, seperti menganalisis permasalahan yang dihadapi dan mengumpulkan data-data yang diperlukan, serta membantu mendefinisikan fitur dan fungsi software. Pengumpulan data-data tambahan bisa juga diambil dari jurnal, artikel, dan internet.
http://digilib.mercubuana.ac.id/
18 b. Planning (Estimating, Scheduling, Tracking) Tahap berikutnya adalah tahapan perencanaan yang menjelaskan tentang estimasi tugas-tugas teknis yang akan dilakukan, resiko-resiko yang dapat terjadi, sumber daya yang diperlukan dalam membuat sistem, produk kerja yang ingin dihasilkan, penjadwalan kerja yang akan dilaksanakan, dan tracking proses pengerjaan sistem. c. Modeling (Analysis & Design) Tahapan ini adalah tahap perancangan dan permodelan arsitektur sistem yang berfokus pada perancangan struktur data, arsitektur software, tampilan interface, dan algoritma program. Tujuannya untuk lebih memahami gambaran besar dari apa yang akan dikerjakan. d. Construction (Code & Test) Tahapan Construction ini merupakan proses penerjemahan bentuk desain menjadi kode atau bentuk/bahasa yang dapat dibaca oleh mesin. Setelah pengkodean selesai, dilakukan pengujian terhadap sistem dan juga kode yang sudah dibuat. Tujuannya untuk menemukan kesalahan yang mungkin terjadi untuk nantinya diperbaiki. e. Deployment (Delivery, Support, Feedback) Tahapan Deployment merupakan tahapan implementasi software ke customer, pemeliharaan software secara berkala, perbaikan software, evaluasi software, dan pengembangan software berdasarkan umpan balik yang diberikan agar sistem dapat tetap berjalan dan berkembang sesuai dengan fungsinya. [Pressman, 2015:17] Keuntungan menggunakan metode waterfall adalah prosesnya lebih terstruktur, hal ini membuat kualitas software baik dan tetap terjaga. Dari sisi user juga lebih menguntungkan, karena dapat merencanakan dan menyiapkan kebutuhan data dan proses yang diperlukan sejak awal. Penjadwalan juga menjadi lebih menentu, karena jadwal setiap proses dapat ditentukan secara pasti. Sehingga dapat dilihat jelas target penyelesaian pengembangan program. Dengan adanya urutan yang pasti, dapat dilihat pula perkembangan untuk setiap tahap secara pasti. Dari sisi lain, model ini merupakan jenis model yang bersifat dokumen lengkap sehingga proses pemeliharaan dapat dilakukan dengan mudah. Kelemahan menggunakan metode waterfall adalah bersifat kaku, sehingga sulit melakukan perubahan di tengah proses. Jika terdapat kekurangan proses/prosedur dari tahap sebelumnya, maka tahapan pengembangan harus dilakukan mulai dari awal lagi. Hal ini akan memakan waktu yang lebih lama. Karena jika proses sebelumnya belum selesai sampai akhir, maka proses selanjutnya juga tidak dapat berjalan. Oleh karena itu, jika terdapat kekurangan dalam permintaan user maka proses pengembangan harus dimulai
http://digilib.mercubuana.ac.id/
19 kembali dari awal. Karena itu, dapat dikatakan proses pengembangan software dengan metode waterfall bersifat lambat.
2.6. UML Unified Modeling Language (UML) adalah bahasa standar untuk menuliskan cetak biru (blueprints) perangkat lunak.
UML dapat digunakan
untuk memvisualisasikan,
menentukan, membangun, dan mendokumentasikan artefak dari sistem perangkat lunakintensif. Dengan kata lain, seperti arsitek bangunan yang membuat cetak biru (blueprints) yang akan digunakan oleh perusahaan konstruksi, arsitektur software membuat diagram UML untuk membantu pengembang dalam membangun perangkat lunak. [Pressman, 2015].
2.6.1. Use Case Diagram Sebuah use case menggambarkan bagaimana user berinteraksi dengan sistem dengan mendefinisikan langkah-langkah yang diperlukan untuk mencapai tujuan tertentu. Diagram use case adalah gambaran dari semua use case dan bagaimana use case berhubungan. Ini memberikan gambaran luas dari fungsi sistem [Pressman, 2015].
Gambar 2. 7. Contoh Use Case Diagram Sumber: Software Engineering, Pressman dan Maxim (2015)
http://digilib.mercubuana.ac.id/
20 Diagram ini menjelaskan manfaat suatu sistem jika dilihat menurut pandangan orang yang berada diluar sistem atau kelas dan bagaimana sistem tersebut bisa b erinteraksi dengan dunia luar. Pada diagram ini, gambar stick figure merepresentasikan sebuah aktor yang terkait dengan satu kategori pengguna (atau elemen interaksi lainnya). Biasanya sistem yang kompleks memiliki lebih dari satu aktor. Berikut adalah simbol-simbol yang digunakan pada use case diagram : Tabel 2. 2. Simbol Use Case Diagram. No 1
Simbol Aktor
Keterangan Merupakan kesatuan eksternal yang berinteraksi dengan sistem
2
3
Rangkaian/uraian sekelompok yang saling
Use Case
terkait dan membentuk sistem
Generelation
Menggambarkan hubungan khusus atau interaksi dalam objek
2.6.2. Activity Diagram Activity diagram adalah bagan diagram yang merepresentasikan analis dengan tujuan untuk memodelkan alur proses dan hubugnan antar proses dalam suatu sistem informasi dan juga berisikan tentang skenario yang ada dalam sistem tersebut [Roger S. Pressman, 2015].
http://digilib.mercubuana.ac.id/
21
Gambar 2. 8. Contoh Activity Diagram Sumber: Software Engineering, Pressman (2015) hal 181. Berikut adalah simbol-simbol yang digunakan ada activity diagram : Tabel 2. 3. Simbol Activity Diagram No
Simbol
Keterangan
1
Initial Node
Menunjukan titik awal kegiatan
2
Final Node
Menunjukan akhir kegiatan
3
State/Activities
Mewakili tugas yang dilakukan oleh perangkat lunak sistem.
http://digilib.mercubuana.ac.id/
22 Tabel 2. 4. Lanjutan Simbol Activity Diagram No
Simbol
4
Fork ( Pertaxiangan )
Keterangan Mewakili pemisahan aktivitas yang bersamaan menjadi 2 atau lebih.
5
Join ( Penggabungan )
Simbol untuk menyinkronkan alur kontrol yang ada pada tingkatan yang sama.
6
Decision
Simbol untuk alur kontrol bertaxiang yang dikarenakan adanya kondisi.
2.6.3. Sequence Diagram Sebuah sequence diagram digunakan untuk menunjukkan komunikasi yang dinamis antara objek selama pelaksanaan tugas, berbeda dengan diagram kelas, yang menunjukkan struktur statis dari komponen software [Pressman, 2015]. Sequence diagram menunjukkan pemanggilan metode menggunakan panah horizontal dari caller (pemanggil) ke callee, diberi label dengan nama metode dan parameter (opsional), type, dan return type. Pada saat objek mengeksekusi metode, kita (secara opsional) dapat menampilkan bar putih yang disebut activationbar secara menurun pada objek lifeline. Diagram sequence juga secara opsional menampilkan return dari method yang dipanggil dengan garis putus-putus berpanah dan labelnya.
http://digilib.mercubuana.ac.id/
23
Gambar 2. 9. Contoh Sequence Diagram Sumber: Software Engineering, Pressman (2015) hal 206 Berikut adalah simbol-simbol yang digunakan ada sequence diagram : Tabel 2. 5. Simbol Sequence Diagram. No
Simbol
Keterangan
1
Lifeline
Antarmuka yang saling berinteraksi.
2
Activation
Menggambarkan hubungan antara object dengan message.
3
Message (call)
Menggambarkan alur message yang merupakan kejadian objek pengirim lifeline ke objek penerima lifeline.
4
Message (return)
Menggambarkan alur pengambilan message ke objek pengambil dan tanda bahwa objek penerima telah menyelesaikan prosesnya.
http://digilib.mercubuana.ac.id/
24
2.6.4. Class Diagram Sebuah class diagram menyediakan pandangan status atau struktural dari sebuah sistem. Hal ini tidak menunjuka difat dinamis dari komunikasi antara objek dari kelas dalam diagram [Pressman, 2015].
Gambar 2. 10. Contoh Class Diagram Sumber: Software Engineering, Pressman (2015) hal 191 Berikut adalah simbol-simbol yang digunakan pada class diagram : Tabel 2. 6. Simbol Class Diagram No 1
Simbol Kelas Class +attributes +behaviors
Keterangan simbol untuk membangun sebuha pemrograman dengan objek, terdiri dari 3 bagian, bagian atas adalah nama kelas, bagian tengah adalah atribut, dan bagian bawah adalah metode dari kelas tersebut.
2
Asosiasi
Simbol yan gmenggambarkan adanya hubungan antara satu kelas dengan kelas lainnya.
http://digilib.mercubuana.ac.id/
25 Tabel 2. 7. Lanjutan Simbol Class Diagram No 3
Simbol Generalisasi
Keterangan Simbol yang menandakana adanya generalisasi dari kelas input untuk menghasilkan data yang dibutuhkan
4
Realization
Simbol yang menunjukan implementasi antarmuka
5
Depedency
Realisasi antar class dengan makna kebergantungan antar class
Unsur-unsur utama dari class diagram adalah kotak, yang merupakan ijon yang digunakan untuk mewakili kelas dan interface. Setiap kotak dibagi menjadi bagian-bagian horizontal. Bagian atas berisi nama kelas, bagian tengah berisi daftar atribut dari kelas dan bagian bawah berisi fungsi operasi atau perilaku kelas. Operasi mengacu pada apa yang dapat dilakukan oleh objek kelas. Hal ini biasanya diimplementasikan sebagai metode kelas. Setiap atribut dapat memiliki nama, jenis dan tingkat visibilitas. Jenis dan visibilits adalah opsional. Jenis ini mengikuti nama dan dipisahkan dari nama dengan titik dua. visibilitas ditunjukan dengan -(private), #(proteched), ~(package), atau +(public).
Gambar 2. 11. Contoh Class pada Class Diagram Sumber: Software Engineering, Pressman 2015 Diagram kelas juga dapat menunjukan hubungan antara kelas. Sebuah kelas yang merupakan subclass dari kelas lain terhubung dengan panah dan garis yang solid dengan panah segitiga berongga. Arah panah menunjukan dari subclass ke superclass. Dalam UML hubungan tersebut disebut generalisasi.
http://digilib.mercubuana.ac.id/
26
Gambar 2. 12. Contoh State Diagram Nation Sumber: Software Engineering, Pressman (2015)
2.7. XAMPP XAMPP merupakan bundel paket instan yang terdiri dari Apache (server), MySql (database) dan PHP. Paket instan ini banyak digunakan oleh para programmer web karena kemudahannya sehingga programmer tidak perlu mengkonfigurasi dari awal melainkan tinggal pakai [utomo 2013]. XAMPP adalah sebuah software web server apache yang didalamnya sudah tersedia database server MySQL dan dapat mendukung pemrograman PHP. XAMPP merupakan software yang mudah digunakan, gratis dan mendukung instalasi di Linux dan Windows. Keuntungan lainnya adalah cuma menginstal satu kali sudah tersedia Apache Web Server, MySQL Database Server, PHP Support (PHP 4 dan PHP 5) dan beberapa module lainnya
2.7.1. MySQL MySQL (M Structure Query Language) adalah sistem manajemen database relasional yang menggunakan Query Terstruktur Language (SQL) untuk menyimpan, bekerjanga dengan dan mengambil informasi melalui internet [Matthews, 2015]. MySQL disebut sebagai Database yang paling populer di dunia dengan jutaan website menggunakannya sebagai sumber daya web yang berjalan pada server web, seperti Web. MySql merupakan sebuah perangkat lunak sistem manajemen basis data SQL (Structured Query language) atau DBMS(Database Management Sytem) yang multi tread, multi user, dengan sekitar 6 juta instalasi diseluruh dunia.
http://digilib.mercubuana.ac.id/
27
2.7.2. PHP PHP (Hypertext Preprocessor), merupakan bahasa pemrograman pada sisi server yang memperbolehkan programmer menyisipkan perintah–perintah perangkat lunak web server (Apache, IIS, atau apapun) akan dieksekusi sebelum perintah itu dikirim oleh halaman ke browser
yang
merequestnya, contohnya
adalah
bagaimana
memungkinkannya
memasukkan tanggal sekarang pada sebuah halaman web setiap kali tampilan tanggal dibutuhkan. Sesuai dengan fungsinya yang berjalan di sisi server maka PHP adalah bahasa pemrograman yang digunakan untuk membangun teknologi web application. (Kevin Yank, 2002) PHP telah menjadi bahasa scripting untuk keperluan umum yang pada awalnya hanya digunakan untuk pembangunan web yang menghasilkan halaman web dinamis. Untuk tujuan ini, kode PHP tertanam ke dalam dokumen sumber HTML dan diinterpretasikan oleh server web dengan modul PHP prosesor, yang menghasilkan dokumen halaman web. Sebagai bahasa pemrograman untuk tujuan umum, kode PHP diproses oleh aplikasi penerjemah dalam modus baris-baris perintah modus dan melakukan operasi yang diinginkan sesuai sistem operasi untuk menghasilkan keluaran program dichannel output standar. Hal ini juga dapat berfungsi sebagai aplikasi grafis. PHP tersedia sebagai prosesor untuk server web yang saling modern dan sebagai penerjemah mandiri pada sebagian besar system operasi dan komputer platform.
2.8. Framework Framework adalah suatu kerangka kerja yang berupa sekumpulan folder yang memuat file-file php yang menyediakan class libraries, helpers, plugins dan library lainnya [Upton, D., 2007]. Dengan adanya framework, pekerjaan kita akan lebih tertata dan terorganisir. Sehingga dalam pencarian kesalahan dalam pembuatan program akan lebih mudah dideteksi. Intinya, framework merupakan pondasi awal kita sebelum menentukan memakai bahasa pemrograman apa yang akan kita pakai. Setelah kita menentukan mau pakai frameworkapa, baru kita bangun programnya diatas framework itu. Tanpa framework, kita akan kesulitan saat membuat program [Sidik, 2012].
2.8.1. Konsep MVC MVC adalah pola arsitektur yang dipergunakan pada kebanyakan bahasa pemrograman dan scripting, termasuk PHP. Konsep MVC adalah konsep pemisahan antara logika dengan
http://digilib.mercubuana.ac.id/
28 tampilan dan basis data. Manfaat dari konsep MVC adalah membuat pengkodean lebih sederhana dan mudah. Tiga jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi antara lain : 1. View adalah merupakan bagian yang menangani presentation logic pada suatu aplikasi web, bagian ini biasanya berupa file template HTML yang diatur oleh controller. 2. Model yaitu biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search) juga menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 3. Controller merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, Controller berfungsi untuk menerima request dan data dari user, kemudian menentukan apa yang akan diproses oleh aplikasi.
2.8.2. Codeigniter CodeIgniter (CI) merupakan aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis menggunakan PHP. CodeIgniter adalah sebuah Application Development Framework (toolkit) bagi orang-orang yang ingin membangun website menggunakan PHP. Tujuannya adalah untuk memungkinkan Anda mengembangkan proyek-proyek lebih cepat daripada Anda menulis kode dari awal, tersedia banyak libary untuk tugas-tugas yang biasa diperlukan, serta antarmuka dan struktur logis yang sederhana untuk mengakses library ini. CodeIgniter memungkinkan Anda fokus pada proyek Anda dengan meminimalkan jumlah kode yang dibutuhkan untuk tugas yang diberikan.
2.8.3. Boostratp Bootstrap adalah framework yang kuat menyediakan set kelas CSS dan fungsi Java Script untuk memudahkan proses pembangunan antarmuka haaman web. Mengaktifkan fitur desain responsif dukugan untuk menampilkan dekstop maupun mobile. Situs dikembangkan dapat bekerja dengan baik pada dekstop maupun mobile. Developer tidak harus bekerja dengan CSS untuk membuat website terlihat menarik atau mendukung prinsip desain responsive kecuali diperlukan.
http://digilib.mercubuana.ac.id/
29 1. HTML (Hypertext Markup Language) HTML (Hypertext Markup Language) merupakan salah satu format yang digunakan dalam pembuatan dokumen dan aplikasi yang berjalan di halaman web. Oleh karena itu agar dapat membuat program aplikasi diatas halamn web, terlebih dahulu harus mengenal dan menguasai HTML. Protokol yang digunakan untuk mentransfer data antara web server ke web browser ialah HTTP (Hypertext Transfer Protocol). Protokol ini mentransfer dokumen-dokumen web yang ditulis atau berformat HTML (Hypertext Markup Language) [Sunar 2. CSS atau Cascading Style CSS atau Cascading Style Sheets adalah sebuah dokumen yang berisi aturan yang digunakan untuk memisahkan isi dengan layout dalam halaman-halaman web yang dibuat. CSS memperkenalkan “template” yang berupa style untuk dibuat dalam mengizinkan penulisan kode yang lebih mudah dari halaman-halaman web yang dirancang. Sedangkan Jayan (2010:2) dalam buku CSS untuk orang awam yang menjelaskan tentang kegunaan CSS adalah untuk mengatur tampilan dokumen HTML, contohnya seperti pengaturan jarak antar baris, teks, warna, dan format border bahkan penampilan file gambar [Frihantono, 2002]. 3. Java Script JavaScript merupakan modifikasi dari bahasa c++ dengan pola penulisan yang lebih sederhana. Interpreter bahasa ini sudah disediakan ASP ataupun internet explorer. Secara khusus beberapa hal yang penting dalam javascript adalah : a. Menggunakan blok awal “{“ dan blok akhir :}” b. Automatic conversion dalam pengoperasian tipe data yang berbeda. c. Sensitive case, sehingga programmer java harus ekstra hati-hati dalam menggunakan nama variabel, fungsi dan lain-lain. d. Ekstention umumnya menggunakan “*.js” e. Setiap statement dapat diakhiri dengan ”,” sebagaimana c++ tetapi dapat juga tidak. f.
Jika tidak didukung oleh browser versi lama, scriptnya dapat disembunyikan diantara tag ””.
http://digilib.mercubuana.ac.id/
30 g. Jika program dalam satu baris terlalu panjang dapat disambung dengan karakter ”/”. Seperti CSS yang menggunakan tag :<style> Kelebihan JavaScript adalah berinteraksi dengan HTML, ini membolehkan pembuat web untuk memasukkan web mereka dengan kandungan-kandungan yang dinamik, menukar warna background, menukar banner, efek mouse, menu interaktif dan sebagainya. (AbdulKadir, 2002 : 203).
http://digilib.mercubuana.ac.id/