BAB 2. LANDASAN TEORI 2.1. Tinjauan Pustaka 2.1.1 Agile Management Menurut Agile Manifesto (2015) “Agile adalah empowerment untuk orang – orang yang ada di dalam perusahaan agar mereka dapat merasa aman untuk berkolaborasi dalam menghantarkan produk yang berkulalitas tinggi di tengah perubahan dengan turbelensi tinggi. Agile Management adalah pendekatan dalam mengelola perusahaan bukan dengan memberi instruksi ataupun perintah melainkan dengan memberi inspirasi dan pengaruh agar orang – orang di dalam organisasi dapat bekerja secara mandiri dan kolaboratif untuk menghantarkan produk berkualitas di tengah perubahan yang berlangsung sangat cepat.” Seorang Agile Manager adalah seseorang yang menjadi inspirasi bagi setiap orang di organisasi yang dia pimpin dan seseorang yang tidak menggunakan otoritasnya untuk memerintah orang – orang yang ada di dalam organisasinya. Scrum adalah pendekatan untuk Agile Management. Tujuan akhir dari Agile Management adalah “happiness”, happy customers dan happy employeers. Membuat perusahaan menjadi agile adalah sebuah proses yang tidak pernah berakhir. Membungkus perusahaan dengan terminologi – terminologi Scrum tidak akan otomatis membuat organisasi menjadi Agile. Perusahaan harus berkolaborasi dan bekerja keras agar bisa menjadi perusahaan yang Agile. Agility adalah sebuah petualangan yang tidak memiliki garis akhir. 2.1.2 Pengertian Electronic Data Processing (EDP) Menurut Romney B. Marshal (2005) “Electronic Data Processing adalah pemrosesan data dengan menggunakan sistem komputer, hanya dibutuhkan sedikit atau bahkan tidak ada keterlibatan manusia ketika sedang diproses.” Sedangkan Menurut Edi Purnomo (2004:5) pengolahan data dengan bantuan komputer atau disebut dengan komputerisasi adalah “sebuah model pengolahan data yang segenap prosedur pengolahan datanya telah disiapkan dalam program yang menggunakan bahasa komputer sebagai medianya yang dengan demikian memungkinkan komputer tersebut mengerjakan semua perintah yang diterimanya tanpa ada campur tangan dari manusia.” http://digilib.mercubuana.ac.id/ Dari uraian di atas dapat diambil kesimpulan bahwa Pengolahan data berbasis komputer merupakan aplikasi dari sistem informasi akuntansi dan bagian dari tugas sistem informasi akuntan yang mengumpulkan data yang menjelaskan kegiatan perusahaan, mengubah data tersebut menjadi infomasi serta menyediakan informasi bagi pemakai baik dalam maupun luar perusahaan. 2.1.3 Pengertian Penjadwalan Penjadwalan adalah aktivitas perencanaan untuk menentukan kapan dan di mana setiap operasi sebagai bagian dari pekerjaan secara keseluruhan harus dilakukan pada sumber daya yang terbatas. Menurut Baker (1974) penjadwalan adalah proses untuk melakukan tugas dengan menggunakan sumber-sumber yang tersedia pada waktu yang telah ditetapkan. Menurut Stevenson (1999) penjadwalan adalah membangun penentuan waktu penggunaan dari peralatan, fasilitas dan aktivitas manusia dalam suatu organisasi. Menurut Pinedo (2002) penjadwalan adalah proses pengambilan keputusan yang memegang peranan yang penting dalam manufaktur dan sistem produksi. Pada dasarnya penjadwalan mencakup pengurutan aktivitas, pengalokasian aktivitas pada fasilitas dan pemetaan aktivitas menurut urutan waktu. Tujuan penjadwalan adalah meningkatkan efektivitas dan efisiensi penggunaan sumber daya, mengurangi terjadinya penumpukan barang setengah jadi dalam lintasan produksi, mengurangi terjadinya keterlambatan, dan dapat membantu pengambilan keputusan mengenai perencanaan. 2.1.4 Pengertian Thread Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen dengan sebagian program lainnya. Dalam threading anda dapat menjalankan beberapa pointer (alamat dalam komputer) sekaligus. Artinya dua atau lebih bagian dari kode dapat dijalankan secara simultan. 2.1.5 Pengertian Enkripsi dan Dekripsi Dalam kriptografi terdapat dua konsep utama yakni enkripsi/dekripsi dan tanda tangan digital. 1. Enkripsi/Dekripsi http://digilib.mercubuana.ac.id/ - Enkripsi adalah proses mengolah informasi/data (plaintext) menjadi bentuk hampir tidak dikenali (ciphertext) dengan menggunakan algoritma tertentu. - Dekripsi adalah kebalikan dari enkripsi yaitu mengubah kembali ciphertext menjadi plaintext. 2. Tanda Tangan Digital Tanda tangan digital adalah suatu nilai kriptografis yang bergantung pada isi berkas digital dan kunci pemilik berkas digital. Tanda tangan (key) ini dapat dipasang di dalam berkas digital atau disimpan untuk membuktikan keabsahan tanda tangan digital tersebut. Jika tanda tangan digital otentik, berarti berkas digital masih asli dan pemiliknya adalah orang yang sah dan tidak jika sebaliknya. Gambar 2. 1.5 Basic Algoritma Enkripsi/Dekripsi 2.2. Definisi Sistem 2.2.1 Pengertian Sistem Menurut Tata Sutabri (2004:3) “Sistem adalah suatu kumpulan atau himpunan dari unsur, komponen, atau variable-variabel yang terorganisasi, saling berinteraksi, saling tergantung satu sama lain dan terpadu. Sedangkan menurut Jogiyanto (2005:1) “Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu”. Dari uraian di atas dapat diambil kesimpulan bahwa suatu sistem pada dasarnya adalah suatu sekelompok unsur yang erat hubungannya antara satu dengan yang lain, yang berfungsi bersama-sama untuk mencapai tujuan tertentu. 2.2.2 Karakteristik Sistem Menurut Jogiyanto (2005:3) suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu : 1) Komponen sistem http://digilib.mercubuana.ac.id/ Suatu komponen yang terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. 2) Batas Sistem Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. 3) Lingkungan Luar Sistem Apapun diluar batas dari sistem yang mempengaruhi operasi sistem. 4) Penghubung sistem Merupakan media penghubung antara satu subsistem dengan lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari subsistem ke subsistem yang lainnya. 5) Masukkan Sistem Energi yang dimasukan kedalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan signal (signal Input). 6) Keluaran Sistem Hasil dari energi yang diolah dan diklarifikasikan menjadi keluaran yang berguna dan sisa pembuangan. 7) Pengolahan Sistem Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. 8) Sasaran Sistem Suatu sistem memiliki tujuan atau sasaran. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. 2.2.3 Pengertian Informasi Menurut Davis yang dikutip oleh Abdul Kadir (2003:31) “Informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau saat mendatang”. Sedangkan menurut Tata Sutabri (2004:17) “Informasi merupakan proses lebih lanjut dari data yang sudah memiliki nilai tambah”. Informasi dapat dikelompokkan menjadi 3 bagian, yaitu: http://digilib.mercubuana.ac.id/ 1) Informasi Strategis: Informasi ini digunakan untuk mengambil keputusan jangka panjang, mencakup informasi eksternal, rencana perluasan perusahaan, dan sebagainya. 2) Informasi Taktis: Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah, seperti informasi trend penjualan dimanfaatkan untuk menyusun rencana penjualan. 3) Informasi Teknis: Informasi ini dibutuhkan untuk keperluan operasional sehari-hari, seperti informasi persediaan stock, retur penjualan dan laporan kas harian. 2.2.4 Kualitas Informasi Menurut Budi Sutedjo Dharma Oetomo,S.Kom.,MM. (2002,16) kualitan informasi ditentukan oleh beberapa faktor yaitu : 1) Keakuratan dan teruji kebenarannya Artinya informasi harus bebas dari kesalahan-kesalahan, tidak bias, dan tidak menyesatkan. Kesalahan-kesalahan itu dapat berupa kesalahan perhitungan maupun akibat gangguan (noise) yang dapat merubah dan merusak informasi tersebut. 2) Kesempurnaan informasi Untuk mendukung faktor pertama diatas, maka kesempurnaan informasi menjadi faktor penting, dimana informasi disajikan lengkao tanpa pengurangan, penambahan atau perubahan. 3) Tepat waktu Informasi harus disajikan secara tepat waktu, mengingat informasi akan menjadi daar dalam pengambilan keputusan. Keterlambatan informasi akan mengakibatkan kekeliruan dalam pengambilan keputusan. 4) Relevansi Infomasi akan menjadi nilai manfaat yang tinggi, jika informasi tersebut diterima oleh mereka yang membutuhkan dan menjadi tidak berguna jika diberikan kepada mereka yang tidak membutuhkan. 5) Mudah dan murah Kini, cara dan biaya untuk memperoleh informasi juga menjadi bahan pertimbangan tersendiri. Bilamana cara dan biaya untuk memperoleh http://digilib.mercubuana.ac.id/ informasi sulit dan mahal, maka orang menjadi tidak minat untuk memperolehnya, atau mencari alternatif subtitusinya. Biaya mahal yang dimaksud disini, jika bobot informasi tidak sebanding dengan biaya yang harus dikeluarkan. Dan melalui teknologi internet, kini orang atau perusahaan dapat memperoleh informasi dengan murah dan mudah. 2.2.5 Nilai Informasi Menurut Jogiyanto (2005:11) nilai informasi ditentukan oleh dua hal, yaitu manfaat dan biaya mendapatkannya. Suatu informasi dikatakan bernilai apabila manfaatnya lebih efektif dibanding dengan biaya mendapatkannya. Sebagian besar informasi tidak dapat persis ditafsir keuntungannya dengan suatu nilai uang, tetapi dapat ditafsir nilai efektifitasnya. Kegunaan informasi untuk mengurangi hal ketidakpastian di dalam proses pengambilam keputusan tentang suatu keadaan. Suatu informasi dikatakan bernilai apabila dapat memperoleh informasi yang sepadan, lebih besar atau lebih efektif dari biaya yang dikeluarkan untuk mendapatkan informasi yang dimaksud. 2.2.6 Pengertian Sistem Informasi Sistem Informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Jogiyanto, 2005:11) Menurut Alter yang dikutip oleh Abdul Kadir (2003:11) disebutkan bahwa ”Sistem informasi adalah kombinasi antara prosedur kerja, informasi, orang, teknologi informasi yang diorganisasikan untuk mencapain tujuan dalam sebuah organisasi”. Dari definisi diatas dapat diambil kesimpulan bahwa sistem informasi merupakan perpaduan antara manusia, alat teknologi, media, prosedur, dan pengendalian yang bertujuan untuk menata jaringan komunikasi sehingga dapat membantu dalam pengambilan keputusan yang tepat. http://digilib.mercubuana.ac.id/ 2.2.7 Komponen Sistem Informasi Komponen sistem informasi menurut Abdul Kadir (2003:70): 1) Perangkat Keras (Hardware): mencakup peranti-peranti fisik seperti komputer dan printer. 2) Perangkat Lunak (Software) atau program:sekumpulan instruksi yang memungkinkan perangkat keras untuk dapat memproses data. Bagian ini merupakan bagian perangkat lunak sistem informasi. 3) Prosedur: sekumpulan aturan yang dipakai untuk mewujudkan pemrosesan data dan pembangkitan keluaran yang dikehendaki. Merupakan komponen dasar dari sistem informasi yang akan diproses lebih lanjut untuk menghasilkan informasi. 4) Basis Data (Database): sekumpulan tabel, hubungan, dan lain-lain yang berkaitan dengan penyimpanan data. Merupakan bagian yang berisi dokumentasi prosedur atau proses-proses yang terjadi dalam sistem. 5) Jaringan Komputer dan Komunikasi Data: sistem penghubung yang memungkinkan sesumber (resources) dipakai secara bersama atau diakses oleh sejumlah pemakai. 2.3. Konsep Dasar Perancangan Sistem 2.3.1 Diagram Arus Data / Data Flow Diagram 1. Pengertian Diagram Alir Data/ Data Flow Diagram Menurut Budi Sutedjo Dharma Oetomo (2002,117), Data Flow Diagram (DFD Leveled) merupakan peralatan yang berfungsi untuk menggambarkan secara rinci mengenai sistem sebagai jaringan kerja antar fungsi yang berhubungan satu sama lain dengan menunjukkan dari dan kemana data mengalir serta penyimpanannya. 2. Tingkatan Data Flow Diagram 3. Simbol yang digunakan dalam Diagram Alir Data (DAD) 2.3.2 Kamus Data Kamus data ikut berperan dalam perancangan dan pembangunan sistem informasi karena peralatan ini berfungsi untuk : 1. Menjelaskan arti aliran data dan penyimpanan dalam penggambaran dalam data flow diagram. http://digilib.mercubuana.ac.id/ 2. Mendeskripsikan komposisi paket data yang bergerak melalui aliran, misalnya data alamat diurai menjadi nama jalan, nomor, kota, negara dan kodepos. 3. Menjelaskan spesifikasi nilai dan satuan yang relevan terhadap data yang mengalir dalam sistem tersebut. (Sutedjo Dharma Oetomo (2002,118) 2.3.3 Entity Relationship Diagram (ERD) Menurut Budi Sutedjo Dharma Oetomo (2002,130), ER- Diagram berfungsi untuk menggambarkan relasi dari dua file atau dua tabel yang dapat digolongkan dalam tiga macam bentuk relasi,yaitu satu- satu, satu – banyak, dan banyak- banyak. 2.3.4 Basis Data Basis data merupakan suatu susunan/kumpulan data operasional lengkap dari suatu organisasi/perusahaan yang diorganisir/dikelola dan disimpan secara terintegrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya (Linda Marlinda, 2004:1). Sedangkan menurut Abdul Kadir (2003:254) “Basis data adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi”. 2.4. Konsep Dasar Pemrograman 2.4.1 Algoritma - Menurut Rinaldi Munir (2002), algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis - Menurut Kamus Besar Bahasa Indonesia (1998), algoritma adalah urutan logis pengambilan keputusan untuk pemecahan masalah. - Menurut Team Gunadarma (1988), algoritma adalah suatu himpunan hingga dari instruksi-instruksi yang secara jelas memperinci langkah-langkah proses pelaksanaan, dalam pemecahan suatu masalah tertentu, atau suatu kelas masalah tertentu, dengan dituntut pula bahwa himpunan instruksi itu tersebut dapat dilaksanakan secara mekanik. Algoritma adalah urutan langkah- langkah logis untuk penyelesaian masalah yang disusun secara sistematis dan logis. http://digilib.mercubuana.ac.id/ Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus : 1. Mengerti setiap langkah dalam Algoritma 2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut. Ciri Algoritma: Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas). Algoritma memiliki nol atau lebih masukkan. Algoritma memiliki nol atau lebih keluaran. Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal) Contoh : Algoritma untuk melakukan sesuatu dalam kehidupan sehari-hari, misalnya jika kita ingin menulis surat, maka anda perlu melakukan beberapa langkah-langkah berikut: 1. Mempersiapkan kertas dan amplop 2. Mempersiapkan alat tulis, seperti pena atau pensil. 3. Mulai menulis 4. Memasukkan kertas ke dalam amplop 5. Pergi ke kantor pos untuk mengeposkan surat tersebut 2.4.2 Unified Modeling Language(UML) http://digilib.mercubuana.ac.id/ Pengertian UML - Unified Modeling Language ( UML ) adalah tujuan umum, perkembangan, bahasa pemodelan di bidang rekayasa perangkat lunak , yang dimaksudkan untuk menyediakan cara standar untuk memvisualisasikan desain sistem. UML awalnya termotivasi oleh keinginan untuk membakukan sistem notasi yang berbeda dan pendekatan untuk desain perangkat lunak yang dikembangkan oleh Grady Booch , Ivar Jacobson dan James Rumbaugh di Rational Software di 1994-1995, dengan pengembangan lebih lanjut yang dipimpin oleh mereka melalui tahun 1996. Pada tahun 1997 UML diadopsi sebagai standar oleh Object Management Group (OMG), dan telah dikelola oleh organisasi ini sejak. Pada tahun 2005 UML juga diterbitkan oleh International Organization for Standardization (ISO) sebagai standar ISO disetujui. [2] Sejak itu telah periodik direvisi untuk menutupi revisi terbaru dari UML. Menurut Booch (2005:7) UML adalah Bahasa standar untuk membuat rancangan software. UML biasanya digunakan untuk menggambarkan dan membangun, dokumen artifak dari software –intensive system. Menurut Nugroho (2010:6), UML (Unified Modeling Language) adalah ‘bahasa’ pemodelan untuk sistem atau perangkat lunak yang berparadigma ‘berorientasi objek”. Pemodelan (modeling) sesungguhnya digunakan untuk penyederhanaan permasalahanpermasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Menurut Nugroho (2009:4), UML (Unified Modeling Language) adalah Metodologi kolaborasi antara metoda-metoda Booch, OMT (Object Modeling Technique), serta OOSE (Object Oriented Software Enggineering) dan beberapa metoda lainnya, merupakan metodologi yang paling sering digunakan saat ini untuk analisa dan perancangan sistem dengan metodologi berorientasi objek mengadaptasi maraknya penggunaan bahasa “pemrograman berorientasi objek” (OOP). Menurut Herlawati (2011:10), bahwa beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misanya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi. http://digilib.mercubuana.ac.id/ Langkah-langkah penggunaan Unified Modeling Language (UML) Menurut Henderi (2008:6), langkah-langkah penggunaan Unified Modeling Language (UML) sebagai berikut: Buatlah daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. Petakan use case untuk setiap business process untuk mendefinisikan dengan tepat fungsional yang harus disediakan oleh sistem, kemudian perhalus use case diagram dan lengkapi dengan requirement, constraints dan catatan-catatan lain. Buatlah deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem. Definisikan requirement lain non fungsional, security dan sebagainya yang juga harus disediakan oleh sistem. Berdasarkan use case diagram, mulailah membuat activity diagram. Definisikan obyek - obyek level atas package atau domain dan buatlah sequence dan/atau collaboration untuk tiap alur pekerjaan, jika sebuah use case memiliki kemungkinan alur normal dan error, buat lagi satu diagram untuk masingmasing alur. Buatlah rancangan user interface model yang menyediakan antar muka bagi pengguna untuk menjalankan skenario use case. Berdasarkan model-model yang sudah ada, buatlah class diagram. Setiap package atau domian dipecah menjadi hirarki class lengkap dengan Atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas classdan interaksi dengan class lain. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan class menjadi komponen-komponen karena itu buatlah component diagram pada tahap ini. Juga, definisikan test integrasi untuk setiap komponen meyakinkan ia bereaksi dengan baik. Perhalus deployment diagram yang sudah dibuat. Detilkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan dan sebagainya. Petakan komponen ke dalam node. http://digilib.mercubuana.ac.id/ Mulailah membangun sistem. Ada dua pendekatan yang tepat digunakan: 1.) Pendekatan use case dengan mengassign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit kode yang lengkap dengan test. 2.) Pendekatan komponen yaitu mengassign setiap komponen kepada tim pengembang tertentu. Model UML (Unified Modeling Language) Menurut Widodo (2011:10), “Beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misanya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi”. Namun demikian modelmodel itu dapat dikelompokkan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain: - Diagram kelas (Class Diagram) Gambar 2.4.2. 1 Contoh Class Diagram Bersifat statis, Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. http://digilib.mercubuana.ac.id/ Relasi yang digunakan dalam penggambaran kelas diagram dapat dilihat dalam tabel berikut : Dalam suatu diagram kelas atribut dan method dapat memiliki slaah satu sifat berikut : Private : Tidak dapat dipanggil dari luar kelas yang bersangkutan Protected : Hanya dapat dipanggil oleh kelas yang bersangkutan dan anak-anak kelas yang mewarisinya. Public : Dapat dipanggil oleh siapa saja. - Diagram paket (Package Diagram) http://digilib.mercubuana.ac.id/ Gambar 2.4.2. 2 Contoh Diagram Paket Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen. - Diagram use-case (Usecase Diagram) Gambar 2.4.2. 3 Contoh Usecase Diagram. Bersifat statis. Diagram ini memperlihatkan himpunan use-case dan aktoraktor (suatu jenis khusus dari kelas). Diagram ini terutama sangat penting untuk http://digilib.mercubuana.ac.id/ mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna. - Diagram interaksi dan sequence (Sequence Diagram) Gambar 2.4.2. 4 Contoh Sequence diagram. Bersifat dinamis. Diagram urutan adalah iterasiksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. - Diagram komunikasi (Communication Diagram) http://digilib.mercubuana.ac.id/ Gambar 2.4.2. 5 Contoh Diagram Komunikasi Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan. - Diagram statechart (Statechart Diagram) Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status (state), transisi, kejadian serta aktivitas. Notasi - notasi dalam statechart State : Digambarkan berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu Titik awal (start) : digunakan untuk menggambarkan awal dari kejadian dalam suatu diagram statechart Titik akhir (end) : digunakan untuk menggambarkan akhir dari kejadian dalam suatu diagram statechart Guard : merupakan syarat terjadinya transisi yang bersangkutan Point / Event : Suatu kejadian yang dapat membuat state dari object berubah digunakan untuk menggambarkan apakah akan masuk (entry point) ke dalam state atau akan keluar (exit point) http://digilib.mercubuana.ac.id/ Event Transition : suatu kejadian yang dapat membuat state dari object berubah Event Iteration : event berulang pada state yang sama Gambar 2.4.2. 6 Contoh Diagram Statechart http://digilib.mercubuana.ac.id/ - Diagram aktivitas (Activity Diagram) Gambar 2.4.2. 7 Contoh Diagram Activity Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek. - Diagram komponen (Component Diagram) Gambar 2.4.2. 8 Contoh Diagram Komponen http://digilib.mercubuana.ac.id/ Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak pada komponen-komponen yang telah ada sebelumnya. - Diagram deployment (deployment diagram) Gambar 2.4.2. 9 Contoh Diagram Deployment Bersifat statis. Diagram inimemperlihatkan konfigurasi saat aplikasi dijalankan (run-time). Memuat simpul-simpul beserta komponen-komponen yang di dalamnya. Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai kebutuhan. Pada UML dimungkinkan kita menggunakan diagram-diagram lainnya misalnya data flow diagram, entity relationship diagram, dan sebagainya. 2.4.3 Priority Scheduling Priority Scheduling merupakan algoritma penjadwalan yang mendahulukan proses yang memiliki prioritas tertinggi. Setiap proses memiliki prioritasnya masing-masing. Prioritas suatu proses dapat ditentukan melalui beberapa karakteristik antara lain: 1. Time limit. 2. Memory requirement. 3. Akses file. 4. Perbandingan antara burst M/K dengan CPU burst. http://digilib.mercubuana.ac.id/ 5. Tingkat kepentingan proses. Priority scheduling juga dapat dijalankan secara preemptive maupun nonpreemptive. Pada preemptive, jika ada suatu proses yang baru datang memiliki prioritas yang lebih tinggi daripada proses yang sedang dijalankan, maka proses yang sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut. Sementara itu, pada non-preemptive, proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tetapi hanya diletakkan di depan queue. Kelemahan pada priority scheduling adalah dapat terjadinya indefinite blocking( starvation). Suatu proses dengan prioritas yang rendah memiliki kemungkinan untuk tidak dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi darinya. Solusi dari permasalahan ini adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap. Contoh: Setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan satu tingkat. Maka, suatu proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tersebut akan memiliki prioritas 0, yaitu prioritas yang tertinggi (semakin kecil angka menunjukkan bahwa prioritasnya semakin tinggi). 2.4.4 Java 1. Pengertian Java Java menurut definisi dari Sun adalah sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada computer stand alone ataupun pada lingkungan jaringan. Java 2 adalah generasi kedua dari java platform. Kata berdiri di atas sebuah mesin interpreter yang diberi mana Java Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file.class dari suatu program sebagai representasi langsung dari program yang berisi bahasa mesin. Oleh karena itu, bahasa java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Agar sebuah program Java dapat dijalankan, maka file dengan ekstensi, java harus dikompilasi menjadi file bytecode. Untuk menjalankan bytecode tersebut dibutuhkan JRE (Java Runtime http://digilib.mercubuana.ac.id/ Environment) yang memungkinkan pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk membuat kode baru lagi. JRE berisi JVM dan library Java yang digunakan. (Malik, Arif Maulana. 2013:6) 2. Kelebihan dan Kekurangan Java (Malik, Arif Maulana. 2013:10) - Kelebihan 1. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. 2. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) 3. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. 4. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. http://digilib.mercubuana.ac.id/ 5. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara - luas). Kekurangan 1. Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. 2. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. 3. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun. 3. Penggunaan Java Contoh program yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut: public class JavaApplication3 { public static void main(String[] args) { http://digilib.mercubuana.ac.id/ System.out.println(“Hello World”); } } 2.4.5 Register Library (lib) Library atau perpustakaan dalam Java adalah kumpulan program-program (dalam bentuk jar) yang disertakan dalam pemrograman java. Library ini bertujuan untuk memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat library-libray baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. Salah satu contoh library yang umum antara lain adalah mailx, mysql-connector, log4j, dan lain-lain. (D2C Soft, 2012) Pada pembahasan ini editor yang dipakai untuk register library Java adalah NetBeans IDE, berikut langkah-langkah register library pada NetBeans : 1. Pastikan library yang akan dipasang sudah 1 folder dengan project anda. Cara ini lebih memudahkan anda ketika mencari library dari project anda. Anda bisa membuat folder lib misalnya dan menaruh file library dalam folder tersebut. 2. Sekarang masuk pada NetBeans, klik kanan pada project anda kemudian pilih Properties. http://digilib.mercubuana.ac.id/ Gambar 2.4. 1 Setting Properties Project 3. Pada dialog Project Properties pilih Libraries, Kemudia. Klik Add Jar/Folder. Gambar 2.4. 2 Lokasi penambahan folder jar 4. Pada dialog folder Add Jar/Folder pilih lokasi library anda, kemudian tandai/klik file library yang akan dipakai. 5. Pada Reference as anda pilih ja Relative Path. Relative Path memudahkan anda jika project anda buka di laptop/pc lain tanpa harus meregister ulang. Berbeda dengan Absolute Path, Jika anda memilih ini anda akan kerepotan/harus meregister ulang jika membuka dari laptop/pc lain atau jika folder tersebut hilang/pindah. Setelah itu klik Open. http://digilib.mercubuana.ac.id/ Gambar 2.4. 3 Memilih file .jar 6. Kemudian Klik OK pada dialog Add Jar/Folder. 7. Tunggulah beberapa saat hingga NetBeans selesai scanning. 2.4.6 Basis Data (MySQL) Basis data adalah suatu kumpulan data terhubung yang disimpan secara bersamasama pada suatu media, yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu Basis data/ Database merupakan komponen terpenting dalam pembangunan sistem informasi, karna menjadi tempat untuk menampung dan mengorga nisasikan seluruh data yang ada dalam sistem, sehingga dapat dieksplorasi untuk menyusun informasiinformasi dalam berbagai bentuk (Budi Sutedjo Oetomo,2002, p.99) Untuk hal ini penulis menggunakan basis data MySQL untuk sebagai penyimpanan dan pengolahan data. 2.4.7 Aksi IDE Aksi merupakan singkatan dari Aplikasi Komputer Sistem Integrasi, IDE sendiri merupakan singkatan dari Integrated Development Environment. Maka dari itu dibangun lah Aksi IDE yang simple tapi powerful namun tetep ringan. Aksi IDE adalah merupakan tools atau editor yang dapat menunjang rutinitas untuk melakukan pengembangan project dan sekaligus dapat membuka database, http://digilib.mercubuana.ac.id/ melakukan versioning, source, formatting dan yang lain. Objektif nya adalah semua kegiatan tersebut dilakukan dalam satu utilitas tetapi dapat dilakukan secara ringan ketika digunakan. (Luri Darmawan, 2016) Untuk hal ini penulis menggunakan Aksi IDE sebagai tools untuk membuka sekaligus mengolah database yang mana database yang digunakan adalah MySQL. http://digilib.mercubuana.ac.id/