BAB II LANDASAN TEORI 2.1 Pengertian Bank Secara umum pengertian bank adalah sebuah lembaga intermediasi keuangan yang umumnya didirikan dengan kewenangan untuk menerima simpanan uang, meminjamkan uang, dan menerbitkan promes atau yang dikenal dengan banknote. Usaha perbankan meliputi tiga kegiatan yaitu, menghimpun dana, menyalurkan dana, dan memberikan jasa bank lainnya. Kegiatan menghimpun dan menyalurkan dana merupakan kegiatan pokok bank sedang memberikan jasa bank lainnya hanya kegiatan pendukung. Kegiatan menghimpun dana, berupa mengumpulkan dana dari masyarakat dalam bentuk simpanan giro, tabungan dan deposito jika dikomposisikan ketiga simpanan ini biasa disebut dengan Dana Pihak Ketiga (DPK). Untuk kelancaran dalam proses bisnisnya bank juga memiliki beberapa jaringan kantor yang tersebar diberbagai daerah. 2.2 Data, Sistem dan Informasi Menurut Indrajani data adalah fakta atau observasi mentah yang biasanya mengenai fenomena bisnis atau transaksi bisnis. Lebih khusus lagi, data adalah ukuran objektif dari atribut (karakteristik) dari entitas seperti orang, tempat benda atau kejadian (indrajani 2009). Data adalah kenyataan yang menggambarkan adanya suatu (event), data terdiri dari fakta dan angka. Fakta adalah segala sesuatu yang terungkap oleh indera manusia, yang dalam istilah keilmuan merupakan hasil observsi yang objektif dan dapat dilakukan verifikasi oleh siapapun. Secara konseptual data adalah deskripsi tentang benda, kejadian, aktivitas dan transaksi, yang tidak mempunyai makna atau tidak berpengaruh langsung kepad pemakai. 7 http://digilib.mercubuana.ac.id/ Sistem terdiri dari objek-objek atau unsur-unsur atan komponenkomponen yang berkaitan dan berhubungan satu sama lainnya sedemikian rupa sehingga unsur-unsur tersebut merupakan suatu kesatuan pemrosesan atau pengolahan yang tertentu (Sutabri 2005). Dengan demikian, secara sederhana dapat diartikan sebagai suatu kumpulan atau hiimpunan dari unsur atau variabelvariabel yang saling terorganisir, saling berinteraksi, dan saling bergntung satu sama lain. Gambar 2. 1 : Model Sistem Menurut Mcleod (Yakub 2012). sistem adalah sekelompok elemen-elemen yang terintegrasi untuk mencapai tujuan. Organisasi terdiri dari sejumalah sumber daya manusia, material, mesin, uang dan informasi, yang berkerjasama menuju tercapainya tujuan tertentu yang ditentukan oleh pemilik dan manajemen. Menurut Mcleod (Ladjamudin 2013), informasi adalah data yang telah diolah menjdi bentuk yang lebih berguna dan lebih berarti bagi penerimanya. Sumber informasi adalah data. Informasi yang diperoleh setelah data-data mentah diproses atau diolah. Alat untuk mengolah informasi dapat meliputi elemen computer, elemen non komputer atau kombinasinya. Nilai sebuah informasi ditentukan atas dua hal, yaitu manfaat dan biaya untuk mendapatkannya. Informasi dikatakan bernilai jika manfaatnya lebih efektif dibanding biaya yang dikeluarkan untuk mendapat informasi tersebut. Kegunaan informasi adalah untuk mengurangi ketidakpastian didalam proses pengambilan keputusan. Dapat disimpulkan, informasi merupakan hasil pengolahan data yang memiliki nilai tambah, bermakna dan berguna bagi penggunanya. 8 http://digilib.mercubuana.ac.id/ Menurut Jhon dan Gary Grudnitski (Ladjamudin 2013), agar informasi yang dihasilkan menjadi lebih berharga, maka harus memiliki kriteria sebagai berikut: Akurat Informasi harus bebas dari kesalahan dan jelas mencerminkan maksudnya. Informasi harus akurat karena dari sumber informasi sampai penerima informasi memungkinkan terjadi gangguan (noise) yang dapat merubah / merusak informasi. Relevan Informasi harus terasa manfaatnya bagi pengguna atau yang membutuhkannya. Tepat waktu Informasi harus tepat waktu, sehingga tidak terlambat pada saat dibutuhkan, karena informasi merupakan landasan didalam pengambilan keputusan. Bila pengambilan keputusan terlambat maka bisa berakibat fatal unstuck organisasi. 2.2.1 Hubungan data, Informasi dan Data mining Data terdiri dari fakta dan gambar yang relatif tidak memiliki arti bagi penggunanya. Informasi adalah data yang telah diproses atau data yang berarti. Transformasi dari data menjadi informasi dilakukan oleh prosesor informasi seperti komponen komputer, komponen non komputer, maupun kombinasi keduanya. Knowledge adalah informasi yang telah disusun dan dianalisa agar mudah dimengerti dan berguna untuk pemecahan masalah serta dapat digunakan lebih untuk bahan mengambil keputusan dan untuk menempuh arah atau strategi sendiri. Data mining adalah suatu metode pengolahan data untuk menemukan pola yang tersembunyi dari data tersebut. Hasil dari pengolahan data demean metode 9 http://digilib.mercubuana.ac.id/ data mining ini digunakan untuk mengambil keputusan di masa depan. Data mining ini dikenal juga dengan pattern recognition (Santosa 2007). 2.3 Data Mining Data Mining adalah suatu pengolahan data untuk menemukan pola yang tersembunyi dari suatu data tersebut. Hasil dari pengolahan data dengan metode data mining ini dapat digunakan untuk mengambil keputusan dimasa depan. Data mining adalah pengolahan data dengan skala besar, sehingga data mining memiliki peranan penting dalam bidang industri, keuangan, cuaca, ilmu dan teknologi (Ong 2013). Data mining juga dapat dilakukan pada berbagai jenis database dan penyimpanan informasi, namun jenis pola yang akan ditemukan ditentuka oleh berbagai fungsi data mining seperti deskripsi class/konsep, asosiasi, analisa korelasi, klasifikasi, prediksi, analisa cluster dan lain-lain (al 2010). Data mining menggunakan penerapan algoritma tertentu untuk mengekstrak pola dari data. Dimana proses ini secara otomatis akan mencari pola yang sederhana terhadap data yang besar menggunakan analisa tertentu. Data mining juga menggunakan algoritma matematika yang canggih untuk mensegmen data dan mengevaluasi kemungkinan beberapa hasil yang ditetapkan oleh pengguna. Jumlah data yang dilakukan oleh suatu proses uji coba dengan menggunakan data mining adalah dapat dilakukan dengan 50 data. 2.3.1 Pengertian Data Mining Data mining merupakan proses pengektrakan informasi dari jumlah kumpulan data yang besar dengan menggunakan algoritma dan tehnik gambar dari statistik, mesin pembelajaran dan sistem manajemen database. Data mining yang disebut juga dengan Knowledge-Discovery in Database (KDD) adalah sebuah proses secara otomatis atas pencarian data didalam sebuah memori yang amat besar dari data untuk mengetahui pola demean menggunakan alat seperti klarifikasi, hubungan (association) atau pengelompokan (clustering). 10 http://digilib.mercubuana.ac.id/ Secara sederhana data mining dapat diartikan sebagai proses mengekstrak atau menggali pengetahuan yang ada pada sekumpulan data. Definisi umum dari data mining adalah analisa dari observasi data dalam jumlah besar untuk menemukan hubungan yang tidak diketahui sebelumnya dan metode baru untuk meringkas data agar mudah dipahami serta kegunaanya untuk pemilik data (Hand 2001). Data mining menghasilkan hubungan dan kesimpulan yang mengarah pada penggunaan model atau pola. Contoh yang termasuk didalamnya adalah persamaan linear, ukuran cluster, grafik, pohon struktur dan pola perulangan dalam time series. 2.3.2 Klasifikasi Data Mining (Vallikona 2003) data mining diklasifikasikan menjadi dua kategori yaitu: Descriptive Mining, yaitu proses penggambaran karakteristik utama atau informasi umum dari data dalam basis data. Teknik yang terdapat dalam kategori ini terdiri dari clustering, association dan sequential mining. Predictive Mining, yaitu proses dari pengambilan pola dari data untuk membauat prediksi. Teknik yang terdapat dalam kategori ini terdiri dari classification, regretion, Dan deviation. Sedangkan Santosa (2007) mengklasifikasikan data mining menjadi dua kategori yaitu: Unsupervised Learning, yaitu penerapan metode tanpa adanya latihan (training) Dan tanpa adanya pelabelan dari data terlebih dahulu. Teknik yang terdapat dalam kategori ini terdiri dari clustering dan self Organizing Map (SOM). Supervised Learning, yaitu metode belajar dengan adanya latihan dan pelatih. Dalam pendekatan ini, untuk menemukan fungsi keputusan, fungsi pemisah atau fungsi regresi digunakan beberapa contoh data yang mempunyai output atau label selama proses training. Teknik yang terdapat dalam kategori ini terdiri dari regresi, Analisis Diskrimina (LDA), artificial neural network (ANN) dan support vector machine (SVM). 11 http://digilib.mercubuana.ac.id/ 2.3.3 Karakteristik Data Mining Menurut (Santosa 2007) data mining memiliki keterkaitan dengan beberapa disiplin seperti yang ditunjukan pada gambar 2.2 yaitu: Machine Learning, lebih berdasarkan heuristic-berfokus pada perbaikan performasi dari suatu teknik learning, juga meliputi real-time learning Dan robotic area yang yang tidak termasuk dalam data mining. Visualisasi. Statistik, lebih berdasarkan teori, lebih berfokus pada pengujian hipotesis. Basis data Data mining merupakan hasil penggabungan teori dan heuristic sehingga data mining lebih berfokus pada seluruh proses penemuan knowledge atau pola yang meliputi data cleaning, learning dan visualisasi dari hasilnya. Gambar 2.2 : Bidang Ilmu Data Mining Karakteristik dalam data mining, terdiri dari: 1. Ukuran data besar, analisa terhadap data besar membutuhkan penggunaan teknologi yang dapat meningkatkan efisiensi dan efektifitas. 2. Data tidak lengkap, adanya data yang tidak lengkap dan tepat merupakan karakteristik dari kumpulan data dan basis data yang bisa dikotori dengan 12 http://digilib.mercubuana.ac.id/ error tetapi tidak dapat langsung dipastikan bahwa terdapat error pada basis tersebut. 3. Struktur data komplek, konsep data mining muncul karena analisa statistik biasa tidak dapat digunakan untuk menganalisa struktur data yang kompleks. 4. Merupakan data histori yang heterogen. 2.3.4 Teknik dalam Data Mining Teknik yang biasa dipakai dalam data mining menurut (Vallikona 2003) antara lain: 1. Association rule, yaitu teknik data mining unstuck menemukan aturan asosiasi antar kombinasi item. 2. Classification, yaitu proses untuk menetukan model atau fungsi yang menjelaskan atau membedakan class data dengan tujuan untuk memperkirakan kelas dari suatu objek yang tidak diketahui labelnya. 3. Clustering, yaitu proses pengelompokan data menjadi cluster-cluster dengan kemiripan yang tinggi antar data dalam satu cluster dan kemiripan yang rendah antara data yang berbeda cluster. Perbedaan yang menonjol dari teknik ini dengan teknik classification adalah bahwa demean teknik ini metode pembelajaran tak terawasi awal dari tiap kelas. 4. Prediction, yaitu teknik data mining yang didasarkan pada beberapa label yang nilainya kontinyu. Kumpulan dari label sebelumnya digunakan untuk membangun model. 5. Deviation analysis, yaitu teknik untuk membandingkan data sekarang dengan data sebelumnya yang dinyatakan seagai data normal untuk mendeteksi adannya data yang aneh. Teknik ini sangat penting untuk sistem keamanan dan memberikan peringatan ketika terdapat perbedaan antara data yang dimasukan dengan data sumber, seperti teknik penggunaan kata kunci. 2.3.5 Knowledge Discovery in Database Knowledge discovery in databases (KDD) adalah penggunaan sekelompok data untuk menciptakan pengetahuan melalui pembuatan model atau menemukan 13 http://digilib.mercubuana.ac.id/ pola dan hubungan pada data demean menggunakan berbagai teknik dengan menggunakan berbagai teknik melalui bidang keilmuan ilmu komputer, statistik dan matematika. (Indra 2013). Istilah data mining dan Knowledge discovery in databases (KDD) sering kali digunakan secara bergantian untuk menjelaskan proses penggalian informasi tersembunyi dalam suatu basis data yang besar. Sebenarnya kedua istilah tersebut memiliki konsep yang berbeda akan berkaitan dengan satu sama lain. Salah satu tahapan dalam keseluruhan proses KDD adalah data mining. Proses yang terdapat dalam KDD dimulai dari proses pemilihan raw data hingga menjadi suatu pengetahuan baru. Gambar 2.3 : Knowledge Discovery in Database Proses ini dikerjakan berulang-ulang yang terdiri dari: 1. Data cleaning atau data cleansing, merupakan fase untuk menyaring data-data yang missing dan tidak relevan dari data collection serta nantinya akan dihilangkan. 2. Data integration, merupakan tahapan dimana sumber dari berbagai jumlah data dikombinasikan menjadi satu tipe data yang umum. 3. Data selection, merupakan tahapan dimana data-data yang relevan dianalisa dipilih dan diambil dari data collection. 4. Data transformation, dikenal juga dengan data consolidation, merupakan fase dimana data dipilih dan ditransformasikan menjadi data yang sesuai dengan prosedur data mining. 14 http://digilib.mercubuana.ac.id/ 5. Data mining, merupakan tahapan yang paling penting untuk memilih teknik dan metodologi yang akan digunakan untuk menciptakan suatu pola yang sangat berguna nantinya. 6. Pattern evaluation, tahapan dimana pola-pola yang sudah terbentuk ditampilkan dalam bentuk suatu pengetahuan baru yang diindentifikasikan berdasarkan pengukuran sebelumnya. 7. Knowledge refresentation, merupakan fase final dimana proses pencarian pengetahuan baru divisualisasikan dan tampilkan kepada user. Penggunaan teknik visualisasi yang dinamis dan tepat akan membantu user memahami hasil data mining. 2.4 Metode Clustering Analisis clustering merupakan salah satu teknik data mining yang bertujuan untuk mengelompokan sejumlah data atau objek kedalam cluster sehingga dalam setiap cluster akan berisi data yang semirip mungkin. Dalam clustering kita berusaha untuk menempatkan objek yang mirip (jaraknya dekat) dalam satu cluster dan membauat jarak antar cluster sejauh mungkin. Ini berarti objek dalam satu cluster sangat mirip satu sama lain dan berbeda dengan objek dalam cluster yang lain. Dalam teknik ini kita tidak mengetahui sebelumnya berapa jumlah cluster dan bagaimana pengelompokannya. Clustering adalah salah satu teknik unsupervised learning dimana kita tidak perlu melatih metode tersebut atau dengan kata lain, tidak ada fase learning. Masuk dalam pendekatan unsupervised learning adalah metode-metode yang tidak memerlukan label atau keluaran dari data yang kita ivestigasi (Santosa 2007). Tujuan utama analisis cluster adalah mempartisi suatu set objek menjadi dua kelompok atau lebih berdasarkan kesamaan karakteristik khusus yang dimilikinya. Ada beberapa karakteristik dalam clusterin antara lain: 1. Partitioning clustering, yaitu setiap data dianggap termasuk pada suatu cluster tertentu dalam suatu tahapan proses, kemudian pada proses selanjutnya data 15 http://digilib.mercubuana.ac.id/ tersebut bisa berpindah ke cluster yang lain. Teknik yang biasa dipakai dalam karakteristik ini adalah K-Means, residual analysis. 2. Hierarchical clustering, yaitu setiap data dianggap termasuk dalam cluster tertentu demean suatu tahapan proses tetapi pada proses selanjutnya data tersebut tidak bisa berpindah ke cluster lain. Teknik yang biasa dipakai dalam karakteristik ini adalah agglomerative (single linkage, centroid linkage, complete linkage, average linkage). 3. Overlapping clustering, yaitu setiap data dimungkinkan termasuk dalam beberapa cluster dan data tersebut mempunyai nilai keanggotaan pada beberapa cluster. Teknik yang biasa dipakai dalam karakteristik ini Fuzzy cmeans, Gaussian mixture. 4. Hybrid, merupakan kombinasi dari ketiga karakteristik diatas. 2.5 Algoritma K-Means Algoritma K-means merupakan salah satu algoritma yang realatif sederhana untuk mengklasifikasikan atau mengelompokan sejumlah besar objek dengan atribut tertentu kedalam kelompok-kelompok sebanyak K. K-Means merupakan salah satu metode data non hirarki yang berusaha mempartisi data yang ada kedalam bentuk satu atau lebih cluster atau kelompok. Algoritma KMeans pertama kali diperkenalkan oleh MacQueen J.B. pada tahu 1976. Pada algorima K-means jumlah cluster K telah ditentukan terlebih dahulu. Kelebihan algoritma K-means diantaranya adalah mampu mengelompokan objek besar dan pencilan objek dengan sangat cepat sehingga mempercepat proses pengelompokan. Adapun kekurangan yang dimiliki oleh K-Means sangat sensitive pada pembangkitan titik pusat awal secara random, hasil pngelompokan bersifat tidak unik (selalu berubah-ubah), algoritma K-Means walaupun proses pengerjaanya cepat tetapi keakuratannya tidak terjamin. Berikut ini langkah-langkah yang terdapat pada algoritma K-Means (dkk 2013) 1. Tentukan k sebagai jumlah cluster yang dibentuk Untuk menentukan banyaknya cluster k dilakukan dengan beberapa pertimbangan seperti pertimbangan teoritis dan konseptual yang mungkin diusulkan untuk 16 http://digilib.mercubuana.ac.id/ menentukan berapa banyak cluster. Penelitian ini akan menggunakan metode elbow criterion dimana metode ini sangat praktis untuk memilih jumlah cluster k yang akan digunakan untuk pengelompokan data pada algoritma K-Means. Metode elbow ini, dapat dihasilkan dari perbandingan hasil SSE (Sum of Squared Erorr) dengan rumus SSE seperti dibawah ini (Irwanto, et. al, 2012): …………………….(1) Dimana X1 menyatakan norma euclid (L2) dan Ck adalah pusat kluster Sk yang dihitung berdasarkan rata-rata jarak titik-titik kluster ke pusat cluster. 2. Tentukan k centroid (titik pusat cluster) awal secara random Penentuan centroid awal dilakukan secara random/acak dari objek-objek yang tersedia sebanyak k cluster, kemudian untuk menghitung centroid cluster ke-i berikutnya, digunakan rumus sebagai berikut : ……………………(2) Dimana; v : centroid pada cluster xi : objek ke-i n : banyaknya objek/jumlah objek yang menjadi anggota cluster 3. Hitung jarak setiap objek ke masing-masing centroid dari masing-masing dapat menggunakan Euclidian Distance. …….(3) Dimana; xi : objek x ke-i yi: daya y ke-i n : banyaknya objek 4. Alokasikan masing-masing objek ke dalam centroid yang paling dekat. 17 http://digilib.mercubuana.ac.id/ Untuk melakukan pengalokasian objek kedalam masing-masing clusterpada saat iterasi secara umum dapat dilakukan dengan cara hard kmeans dimana secara tegas setiap objek dinyatakan sebagai anggota cluster dengan mengukur jarak kedekatan sifatnya terhadap titik pusat cluster tersebut. 5. Lakukan iterasi, kemudian tentukan posisi centroid baru dengan menggunakan persamaan (2.2). 6. Ulangi langkah 3 jika posisi centroid baru dengan centroid yang lama tidak sama. Gambar 2.4 : Diagram Alir Algoritma K-Means 2.6 UML Salah satu pemodelan yang saat ini paling banyak digunakan adalah UML (Unified Modeling Language). UML adalah salah satu standar bahasa yang banyak digunakan didunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemprograman berorientasi objek (Rosa A.S, & Salahudin, 2013). UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung (Rosa A.S 2013). 18 http://digilib.mercubuana.ac.id/ Pada perkembangan teknik pemprograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan sistem yang dibangun dengan menggunakan teknik peprograman berorietasi objek, yaitu UML. dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem opersi dan jaringan apapun, serta ditulis dalam bahasa pemprograman apapun. 2.6.1. UseCase Diagram Use case diagram adalah pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan sistem informasi yang akan dibuat dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut (Rosa A.S 2013). jadi dapat disimpulkan bahwa use case digunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah sistem informasi dan siapa saja yang berrhak menggunakan fungsi-fungsi tersebut. Berikut adalah fungsi – fungsi yang ada pada diagram use case: Use Case Nama use case Aktor/ actor Asosiasi / association Ekstensi / extend <<extend>> Fungsionalitas yang disediakan sistem sebagai unit yang saling bertukar pesan antar unit atau actor, biasanya dinyatakan demean kata kerja diawal frase nama use case Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang dibuat diluar sistem informasi yang akan dibuat itu sendiri. Simbol dari actor adalah gambar orang, tetapi actor belum tentu merupakan orang Komunikasi antar actor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor Relasi use case tambahan kesebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu. Biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan 19 http://digilib.mercubuana.ac.id/ Generalisasi / generalization Menggunakan / include/uses <<include>> Hubungan generalisasi dan spesialisasi (umum khusus) antara dua use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya Relasi use case tambahkan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini Tabel 2.1: Simbol-simbol use case diagram 2.6.2. Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja ) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak (Rosa A.S 2013). Activity diagram menggambarkan berbagai alir aktifitas dalam sistem yang sedang dirancang, bagaimana masingmasing alir berawal, decision yang mungkin terjadi, dan bagaimana akhirnya. Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-triger oleh selesai state sebelumnya (internal processing) (Nugroho 2012). Diagram aktivitas banyak digunakan dalam medefinisikan hal-hal berikut: 1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2. Urutan atau pengelompokan tampilan dari sistem/ user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antar muka tampilan. 3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan pengujian. 4. Rancangan menu yang akan ditampilkan. Berikut adalah simbol-simbol yang ada pada diagram aktivitas: Symbol Deskripsi 20 http://digilib.mercubuana.ac.id/ Status awal Status awal aktivitas sistem, sebuah diagram memiliki sebuah status awal Aktivitas Aktivitas yang dilakukan sistem biasanya diawali dengan kata kerja Percabangan / Decision Asosiasi pecabangan dimana jika ada pilihan aktivitas lebih dari satu Penggabungan / Join Assosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi sartu Status akhir Sebuah diagram aktivitas memiliki status akhir, yaitu status akhir yang dilakukan pada sistem Tabel 2.2: Simbol-simbol Activity Diagram 2.6.3. Class Diagram Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefnisian kelas-kelas yang Akan dibuat untuk membangun sistem (Rosa A.S 2013). Kelas-kelas yang pada struktur sistem harus dapat melakukan fungsi sesuai kebutuhan sistem. Kelas memiliki atribut dan operasi atau metode. Atribut merupakan variabel-variabel yang memiliki oleh suatu kelas, sedangkan operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Class diagaram menggambarkan keadaan (atribut/property) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda / fungsi) Berikut adalah simbol-simbol yang ada pada diagram kelas: Simbol Deskripsi 21 http://digilib.mercubuana.ac.id/ Kelas Kelas pada struktur sistem nama_kelas +atribut +operasi() Antar muka / interface Sama dengan konsep interface dalam pemprograman berorientasi objek nama_interface Asosiasi / association Relasi antar kelas dengan makna umum, asosiasi biasanya juga disebut multiplicity Asosiasi berarah / directed assisiation Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, assosiasi biasanya juga disertai multiplicity Generalisasi Relasi antar kelas dengan makna generalisasi – spesialisasi (umum- khusus) Kebergantungan / dependency Relasi antar kelas dengan makna kebergantungan antar kelas Agregasi / aggregation Relasi antar kelas dengan makna semua bagian (whole Part) Tabel 2.3: Simbol-simbol Class Diagram 2.6.4. Sequence Diagram Sequence diagram menggambarkan interaksi antar objek didalam dan disekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram juga menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima 22 http://digilib.mercubuana.ac.id/ antar objek (Rosa A.S 2013). Untuk menggambarkan diagram sekuen harus diketahui objek – objek yang terlibat dalam sebuah use case beserta metodemetode yang dimiliki kelas yang menjadi objek tersebut. Sequence diagram terdiri dari antar dimensi vertical (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah – langkah yang dilakukan seabgai respon dari sebuah event untuk menghasilkan output tertentu. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi / metoda dari class. Berikut adalah sismbol-simbol yang ada pada diagram sekuen: Symbol Deskripsi Actor Orang, proses, sistem lain yang berinteraksi dengan sistem informasi yang atau Akan dibuat diluar sistem informasi yang Akan dibuat sendiri. Nama_aktor Jadi walaupun symbol dari kator adalah gambar orang, tapi actor belum tentu orang; biasanya dinyatakan menggunakan kata benda diawal frase nama aktor Garis hidup / lifeline Menyatakan kehidupan suatu objek Objek Menyatakan objek yang berinteraksi Nama_objek:nama_kelas Waktu aktif pesan Menyatakan objek dalam keadaan aktif dan berinteraksi, semua yang terhubung demean waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya 23 http://digilib.mercubuana.ac.id/ Pesan tipe Create Menyatakan suatu objek mebauat objek <<create>> lain, arah panah mengarah kepada objek yang dibuat Pesan tipe call Menyatakan 1: nama_metode( ) bahwa suatu objek memanggil operasi/metode pada objek lain/ dirinya sendiri Pesan tipe send 1: Masukan Menyatakan bahwa suatu objek mengirimkan data/masukan/informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi Pesan tipe return Menyatakan bahwa suatu objek yang telah menjalankan suatu operasi/metode menghasilkan suatu kembalian dari objek tertentu, arah panah mengarah pada objek yang menerima kembalian Tabel 2.4: Simbol-simbol Sequence Diagram 2.7. XAMPP, PHP, MySQL Dan Notepade++ Personal home page (PHP) atau Hypertext Preprocessor adalah satu bahasa pemprograman yang berjalan dalam sebuah web server dan berfungsi sebagai pengolah pada sebuah server. PHP termasuk bahasa program yang hanya bisa berjalan disisi server, atau sering disebut side server language program yang dibuat dengan PHP hanya bisa dijalankan pada web server. Untuk membuat website yang dinamis dan mudah untuk diupdate setiap saat dari browser, dibutuhkan program yang mampu mengolah data dari komputer client atau dari komputer server itu sendiri sehingga mudah disajikan di browser. Salah satu program yang dapat dijalankan di server dan cukup hadal adalah PHP. Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis. 24 http://digilib.mercubuana.ac.id/ 2.7.1. XAMPP XAMPP adalah paker pemprograman web lengkap, khususnya PHP dan MySQL, Paket ini dapat didownload secara gratis dan legal (Nugroho, 2013) Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP Dan MySQL secara manual. XAMPP akan menginstal dan mengkonfigurasi secara otomatis atau auto konfigurasi. XAMPP merupakan software yang mudah digunakan, dan mendukung intallasi di Linux dan Windows. Fungsi folder-folder utama XAMPP antara lain: Apache, folder utama dari apache web server. Htdocs, folder utama unstuck menyimpan data, baik PHP atau HTML. Semua folder dan file program di htdocs bisa diakses (http://localhost/) di browser. Manual, berisi subfolder yang didalamnya terdapat manual program program dan database. MySQL, folder utama unstuck database MySQL server. Di dalamnya terdapat subfolder data untuk merekam semua nama database, serta sub folder bin yang berisi tools client dan server MySQL. PHP, folder utama untuk program PHP. 2.7.2. PHP PHP (Hypertext Preprocessor) menurut Yuliano (2007) adalah bahasa pemrograman yang berfungsi untuk membuat website dinamis maupun aplikasi web. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinterkasi dengan database, file dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website. PHP adalah bahasa scripting, bukan bahasa tag-based seperti HTML. PHP termasuk bahasa yang cross-platform, ini artinya PHP bisa berjalan pada sistem operasi yang berbedabeda (Windows,Linux ataupun Mac). Program PHP ditulis dalam file palin text (teks biasa) dan mempunyai akhiran “.php”. PHP membutuhkan web server, yang bertugas untuk memproses file-file php dan mengirimkan hasil pemrosesan untuk ditampilakan dibrowser client. Oleh karena itu, PHP termasuk server-side- 25 http://digilib.mercubuana.ac.id/ scripting (script yang diproses dari server). Web server sendiri adalah software yang diinstall pada komputer lokal ataupun komputer lain yang berada dijaringan intranet/internet yang berfungsi untuk melayani permintaan-permintaan web dari client. Web server yang paling banyak digunakan saat ini untuk PHP adalah “Apache”. Selain Apache, PHP juga memerlukan PHP binary yang bisa dikonfigurasikan sebagai modul Apache ataupun sebagai aplikasi CGI. Untuk media penyimpanan datanya PHP bisa menggunakan ”MySQL”. Unstuck menginstal ketiga software tersebut (Apache, MySQL, PHP) agar dapat berjalan dan saling terhubung, memang cukup sulit. Maka dari itu dibuatlah paket software XAMPP yang sudah dikonfigurasi unstuck keperluan pengembangan aplikasi web. Aturan penulisan script PHP adalah: a. Semua script PHP harus diapit oleh tanda : - <?php dan ?>, atau - <script laanguge=’php’>dan</script>,atau - <?dan?>, atau - <%dan%> b. Tanda yang resmi paling banyak digunakan adalah yang pertama yaitu <?php dan ?> c. Pada setiap akhir perintah, diakhiri dengan tanda titik koma. Secara umum penulisan syntax dalam PHP adalah sebagai berikut: <?php <daftar unit yang dipakai program>; Echo’<deklarasi dan pernyataan>’;?> 2.7.3. MySQL MySQL adalah sebuah basis data yang mengandung satu atau jumlah tabel. Tabel terdiri atas jumlah baris dan setiap baris mengandung satu atau sejumlah tabel. Tabel terdiri atas jumlah baris yang setiap baris mengandung satu atau sejumlah tabel (Kustiyahningsih, Y.,& Anamisa, 2011). MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumya, yaitu SQL (Structured Query language). 26 http://digilib.mercubuana.ac.id/ SQL adalah sebuah konsep pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. MySQL adalah database yang paling popular diantara database-database lainnya. 2.7.4. Notepade++ Aplikasi notepade++ dapat digunakan sebagai editor pada pemprograman PHP, yang mampu untuk mendesain pemrograman web, mengelola serta mengmbangkan situs atau halaman web. Notepade++ terbilang sangat simpel dan tetap dapat digunakan dengan optimal dalam mendesain pemrograman PHP. 2.8. Metodologi Rekayasa Perangkat Lunak Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan ditahap awal. Pemodelan ini akan mempengaruhi pekerjaanpekerjaan yang dilakukan dalam rekayasa perangkat lunak. Terdapat berbagai macam model dalam rekayasa perangkat lunak, salah satunya yaitu model waterfall. 2.8.1. Metode Waterfall Metodologi rekayasa perangkat lunak yang digunakan pada laporan tugas akhir ini adalah dengan menggunakan sequential linear model. Model air terjun (waterfall) sering juga disebut model sekuensial linear (sequential linear) atau alur hidup klasik (Classic life Cycle). Model ini mengusuilkan sebuah pendekatan kepada pengembangan software yang sistematik dan sekuensial yang dimulai dari tingkat kemajuan sistem pada seluruh analisis, desain kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebagai berikut : rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, pengujian dan pemeliharaan. Model pengembangan ini bersifat linear dari tahap awal pengembangan sistem yaitu tahap perencanaan sampai tahap akhir pengembangan sistem yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya. 27 http://digilib.mercubuana.ac.id/ Model ini menyediakan pendekatan alur hidup perangkat lunak secara terurut (Rosa A.S 2013) yaitu: Sistem/Rekaya Informasi Desain Analisis pengkodean pengujian Gambar 2.5 : Ilustrasi Sequential Linear Model 1. Analisis Melakukan proses pengumpulan kebutuhan dan mengindentifikasi masalah untuk mengetahui bagaiman spesifikasi kebutuhan aplikasi. 2. Desain (Rancangan) Merancang model aplikasi, struktur data, arsitektur perangkat lunak, representasi antarmuka dan database, agar dapat diimplementasikan menjadi program aplikasi pada tahap selanjutnya. 3. Pengkodean (Pemrograman) Menerapkan perancangan desain dengan menggunakan bahasa pemrograman PHP dan database MySQL. 4. Pengujian Pengujian sistem secara menyeluruh, baik dari segala logika maupun fungsional, unstuck meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. Selain 4 (empat) hal diatas, dibutuhkan juga support (dukungan) dan maintenance (pemeliharaan), karena tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah digunakan oleh user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau adanya perubahan proses. 28 http://digilib.mercubuana.ac.id/ 2.8.2. Pengujian Black Box Pengujian black box berfokus pada persyaratan fungsional perangkat lunak, sehinggan pengujian ini memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian black box merupakan pendekatan komplementer yang kemungkinan besar mampu mengungkapkan kelas kesalahan daripada metode white box (Pressman 2002) Pengujian black box berusahan menemukan kesalahan yaitu dalam kategori : a. Fungsi yang salah atau hilang. b. Kesalahan pada interface. c. Kesalahan pada struktur data atau akses database. d. Kesalahan inisialisasi dan tujuan akhir. 29 http://digilib.mercubuana.ac.id/