BAB II LANDASAN TEORI 2.1 MANAJEMEN RISIKO Risiko dapat disebut sebagai Suatu cara sistematis yang berhadapan dengan potensi terjadinya kejadian. Risiko diasumsikan menjadi suatu ketidakpastian yang dihubungkan dengan ramalan manapun dengan potensi terjadinya kejadian, kemudian hanya ada ketidakpastian, sebab hanya pernah ada suatu ramalan kemungkinan kejadian. Oleh karena itu, suatu risiko untuk ada, harus ada potensi untuk terjadinya. Risiko adalah ukuran dari besarnya probabilitas kejadian (frekuensi) dan konsekuensinya (dampak) yang berpengaruh terhadap tujuan proyek(Kerzner 1998). Ada tiga komponen utama dalam resiko, yakni: • Kejadian (event) • Probabilitas dari kejadian (probability of occurrence) • Dampak dari kejadian tersebut (impact) 6 7 Gambar 2.1. Risiko dan Komponen Yang Membentuknya (Kerzner 1998) Secara konseptual risiko dari setiap kejadian didifinisikan sebagai fungsi dari ketidakpastian (uncertainty) dan kerusakan/kerugian (damage). Risk = ƒ(event,uncertainty,damage) Secara matematis dapat ditulis sebagai: Risk = frekuensi x dampak Berdasarkan dampaknya risiko terbagi atas beberapa tingkatan yakni yang pertama risiko rendah (low risk) dimana dampak yang terjadi kecil dan tidak mempengaruhi dari tujuan yang ada, yang kedua risiko sedang (moderate risk) dimana dampaknya mulai terasa dan dapat mempengaruhi tujuan yang ada walaupun kurang signifikan, sedangkan yang ketiga adalah risiko tinggi (high risk) dimana dampak yang terasa sangat besar dan mempunyai pengaruh yang signifikan terhadap tujuan yang ada. Pada risiko tinggi (high risk) ini perlu diperhitungkan secara benar sehingga dapat diminimalkan kerugian yang mungkin terjadi. Manajemen risiko secara sistematis dapat membantu dalam: 8 • Identifikasi, mengira-ngira dan menggolongkan risiko, membuat risiko secara eksplisit • Memfokuskan pada risiko terbesar suatu proyek • Membuat informasi untuk pengambilan keputusan dalam menentukan sebuahketentuan • Meminimalisasikan potensial kerusakan yang akan terjadi 2.1.1 Lingkup Manajemen Risiko Manajemen risiko merupakan bagian dari keseluruhan proses manajemen proyek. Di dalam manajemen risiko semua faktor risiko secara sistematis akan diidentifikasi, dikaji dan di respons, sehingga semua ketidakpastian dapat dihindari, dikurangi, ditransfer ataupun diterima. Langkah-langkah dalam melaksanakan manajemen risiko adalah: • Menetapkan konteks, dengan menentukan tujuan yang obyektif dari studi kasus ini dan mengembangkannya di dalam suatu kerangka kerja untuk analisa selanjutnya. • Mengidentifikasi risiko, adalah dengan mengidentifikasi faktor-faktor risiko yang berhubungan dengan aktivitas proyek secara komprehensif, menerapkan judgementdari berbagai sumber, melakukan initial screeningterhadap risk events dan potential risk statusdan mengembangkannya menjadi suatu preliminary risk models 9 • Menganalisis risiko, dengan menganalisa kondisi yang ada untuk menentukan dampak yang mungkin timbul dan memperkirakan tingkat risiko yang mungkin terjadi. • Mengevaluasi resiko, dengan membandingkan tingkat risiko dengan kriteria yang telah ditetapkan untuk melakukan perencanaan dalam merespon risiko dan skala prioritasnya serta menetukan tingkat risiko yang dapat diterima ataupun yang memerukan treatmentlebih lanjut • Merespons risiko, adalah merupakan usaha-usaha yang dilakukan agar semua risiko yang telah diidentifikasi dan dievaluasi sudah mendapatkan penanganan yang sesuai 2.1.2 Identifikasi Risiko Identifikasi risiko adalah suatu proses untuk mengenali, menemukan, atau mengidentifikasi risiko. Risiko dapat diidentifikasi melalui sumber dari risiko dan dampak kerugian yang ditimbulkannya. Berdasarkan dampak tersebut dapat dinilai risiko apa saja yang berpotensi besar dalam menimbulkan kerugian. Risiko bisa diidentifikasi dan dikelompokkan berdasarkan sumber risiko kedalam kategori berikut: a. Risiko Alam 10 Berhubungan dengan risiko-risiko akibat kejadian alam, termasuk juga risiko yang dikategorikan sebagai risiko Act of God. Kejadian alam seperti curah hujan tinggi atau terjadinya bencana alam akan mengganggu operasional jalan tol. b. Risiko Desain Yaitu berupa risiko yang berhubungan dengan desain, spesifikasi, teknologi baru, perubahan desain dan lain-lain. Desain yang salah atau tidak lengkap akan menyulitkan pihak pelaksana pekerjaan. c. Risiko Finansial dan Ekonomi Kondisi perekonomian yang tidak stabil dapat menyulitkan/menghambat kelangsungan operasional jalan tol. Ketidakstabilan perekonomian akan sangat mengganggu kegiatan operasional karena kegiatan ini membutuhkan dukungan finansial yang besar sehingga bila terjadi gangguan pada masalah finansial seluruh kegiatan operasional dapat terganggu atau terhenti sama sekali. d. Risiko berkaitan dengan Politik, Hukum dan Regulasi Situasi politik, hukum dan peraturan sangat mempengaruhi iklim usaha di suatunegara. Bila terjadi instabilitas politik, maka terdapat keraguan dari pihak investor untuk menanamkan modalnya dan investor dapat menarik kembali modal yang telah ditanamnya, hal ini tentu saja akan berdampak buruk pada kegiatan operasional. e. Risiko Konstruksi (Construction related risk) Kegiatan pada suatu proyek konstruksi membutuhkan sumber daya yang besar, tingkat penguasaan teknologi dan produk yang spesifik. Karakteristik khusus dari proyek konstruksi ini mengandung potensi risiko yang tidak kecil. Pada tahap 11 pelaksanaan, berbagai risiko dapat muncul, hal ini timbul karena factor ketidakpastian dalam tahapan ini bias sangat besar, bila kontraktor tidak memiliki kemampuan yang cukup dalam bidang pelaksanaan. f. Risiko Lingkungan Risiko yang berhubungan dengan lingkungan, seperti polusi, kerusakan lingkungan dan lain-lain. Risiko-risiko lingkungan ini tidak hanya mempengaruhi pihak kontraktor dan owner, tetapi juga mempengaruhi pihak ketiga, seperti masyarakat umum juga bias dirugikan. Risiko-risiko diatas dapat diklasifikasikan menurut berbagai sudut pandang dan secara umum risiko dapat diklasifikasikan berdasarkan dari tipenya, yaitu : 1. Risiko murni dan spekulatif Risiko murni sering disebut juga risiko statik adalah merupakan suatu konsep yang melihat risiko sebagai suatu ketidakpastian yang dikaitkan dengan kemungkinan adanya kerugian. Sedangkan risiko spekulatif atau risikodinamis adalah merupakan risiko yang mempunyai kemungkinan memperoleh keuntungan atau mengalami kerugian. 2. Risiko fundamental dan risiko khusus. 1. Risiko fundamental merupakan risiko yang kemungkinannya dapat timbul pada hampir sebagian besar anggota masyarakat. Sifat dari risiko fundamental antara lain bersifat bencana/catastropic. Risiko khusus adalah risiko yang menimpa perorangan secara pribadi. Sifat dari risiko ini adalah bisa dikendalikan, tidak selalu bersifat bencana dan umumnya dapat diasuransikan. 12 2.1.3 Alokasi Risiko Setelah risiko diidentifikasi dalam sebuah proyek, risiko tersebut harus dialokasikan kepada berbagai pihak yang terikat kontrak. Alokasi ini didasarkan penilaian terhadap hubungan antara pihak-pihak yang terlibat dengan risiko tersebut. Alokasi risiko merupakan penentuan dan pelimpahan tanggung jawab (responsibility) terhadap suatu risiko. Metode yang lebih sesuai untuk alokasi risiko adalah dengan berdasarkan kendali atas kehadiran (occurence) dan efek yang ditimbulkannya apabila risiko itu terjadi. Untuk beberapa kasus lebih cocok untuk mengalokasikan risiko berdasarkan sifat risiko tersebut atau berdasarkan kemampuan atau ketidakmampuan suatu pihak. 2.1.4 Penanganan Risiko Penanganan risiko yang sistematis adalah dengan menerapkan manajemen risiko seperti yang disarankan Manajemen risiko adalah sebuah ilmu manajemen yang bertujuan untuk melindungi aset, reputasi, dan profit dengan mengurangi kemungkinan losses dan kerugian sebelum risiko tersebut terjadi dan untuk menjamin keuangan melalui asuransi dan cara lain manajemen risiko sebagai suatu proses formal untuk secara sistematis mengidentifikasi, menganalisa dan menangani risiko sepanjang umur proyek untuk mendapatkan tingkat penerimaan pengurangan risiko. Proses manajemen risiko yang digunakan berupa : 13 1. Identifikasi risiko 2. Penilaian risiko 3. Penanganan risiko Dalam model manajemen risikonya disamping adanya tiga tindakan sistematis diatas juga menambahkan administrasi sistem dalam model manajemen risikonya. Administrasi sistem meliputi corporate risk management policy dan adanya review dan monitoring. Flanagan dalam model manajemen risikonya memasukkan unsure risk attitude yaitu perilaku orang atau organisasi yang mempengaruhi keputusan dalam menangani risiko. Proses manajemen risiko berupa siklus terus menerus yang mengandung analisa risiko,strategi implementasi dan monitoring. Identifikasi risiko dimulai dengan klasifikasi risiko. mengklasifikasikan risiko menjadi pure riskdan speculative risk. katagori risiko menjadi risiko yang bisa diprediksi dan risiko yang tidak terprediksi. 2.1.5 Penilaian Risiko dan Proses Manajemen Risiko Dari lingkup manajemen resiko diatas dapat digambarkan dalam tahapan proses di dalam melakukan penilaian risiko dan manajemen risiko yang merupakan suatu rangkaian yang bersifat logis, sistematis dan aktivitas yang terdefinisi, sehingga memungkinkan pengambil keputusan dalam melakukan identifikasi, pengukuran, kuantifikasi, mengevaluasi dan mengelola risiko. Berikut ini adalah diagram alur yang menjelaskan mengenai proses tersebut; 14 2.2 KLASIFIKASI Klasifikasi adalah proses penemuan model (atau fungsi) yang menggambarkan dan membedakan kelas data atau konsep yang bertujuan agar bisa digunakan untuk memprediksi kelas dari objek yang label kelasnya tidak diketahui (. Algoritma klasifikasi yang banyak digunakan secara luas, yaitu Decision/classification trees, Bayesian classifiers/ Naïve Bayes classifiers, Neural networks, Analisa Statistik, Algoritma Genetika, Rough sets, k-nearest neighbor, Metode Rule Based, Memory based reasoning, dan Support vector machines (SVM). Klasifikasi data terdiri dari 2 langkah proses. Pertama adalah learning (fase training), dimana algoritma klasifikasi dibuat untuk menganalisa data training lalu direpresentasikan dalam bentuk rule klasifikasi. Proses kedua adalah klasifikasi, dimana data tes digunakan untuk memperkirakan akurasi dari rule klasifikasi. Proses klasifikasi didasarkan pada empat komponen : a. Kelas Variabel dependen yang berupa kategorikal yang merepresentasikan ‘label’ yang terdapat pada objek. Contohnya: resiko price cut, risiko pencapaian revenue / sales. b. Predictor Variabel independen yang direpresentasikan oleh karakteristik (atribut) data. Contohnya: kerugian finansial adalah 0 < kerugian <= 10 milyar, maka dampak dari risiko adalah very low. c. Training dataset 15 Satu set data yang berisi nilai dari kedua komponen di atas yang digunakan untuk menentukan kelas yang cocok berdasarkan predictor. d. Testing dataset Berisi data baru yang akan diklasifikasikan oleh model yang telah dibuat dan akurasi klasifikasi dievaluasi 2.3 REKAYASA PERANGKAT LUNAK 2.3.1 Pengertian Perangkat Lunak Perangkat Lunak dapat didefinisikan sebagai (Andi Chairunnas dan Bennard Mediarman, 2006): 1. Instruksi atau program komputer yang ketika dieksekusi melakukan performanse dan fungsi yang diinginkan. 2. Struktur data yang memungkinkan memanipulasi informasi dengan baik. 3. Dokumen yang menggambarkan operasi kegunaan program. Pengertian Rekayasa Perangkat Lunak diuraikan seperti berikut: 1. Suatu disiplin rekayasa yang berkonsentrasi terhadap seluruh apek produksi pernagkat lunak. 2. Mengadopsi pendekatan yang sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan, kendalan pengembangan dan sumber daya yang tersedia. 16 Dalam pengembangannya, perangkat lunak mengalamu beberapa fase, yaitu: 1. Fase Definisi Mendefinisikan informasi yang akan diproses, fungsi dan performansi yang diinginkan, menetapkan inteface, merancang kendala dan batasan serta kriteria validasi yang diperlukan untuk menunjang keberhasilan sistem. 2. Fase Pengembangan Menjabarkan struktur data dan arsitektur perangkat lunak, prosedur rinci untuk penerapan, proses penerjemahan ke dalam bahasa pemograman dan uji coba yang dilakukan. 3. Fase Pemeliharaan Jika terjadi perubahan terhadap pembetulan, perbaikan terhadap lingkungan dan penambahan karena permintaah user. 2.3.2 Model Waterfall Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Metode ini membutuhkan pendekatan sistematis dan sekuensial dalam pengembangan perangkat lunak, dimulai dari tingkat sistem dan kemajuan melalui, desain, coding, testing dan pemeliharaan. Fase-fase dalam model waterfall yaitu: 1. Definisi dan Analisa Kebutuhan 17 Mengumpulkan kebutuhan secara lengkap kemudian kemudian dianalisis dan didefinisikan kebutuhan yang harus dipenuhi oleh program yang akan dibangun. Fase ini harus dikerjakan secara lengkap untuk bisa menghasilkan desain yang lengkap. 2. Desain Sistem dan Perangkat Lunak Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap. 3. Implementasi dan Uji Coba Unit Desain program ditterjemahkan ke dalam kode-kode dengan menggunakan bahsa pemrograman yang sudah ditentukan. Program yang dibangun langsung diuji baik secara unit. 4. Integrasi dan Uji Coba Sistem Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing). 5. Operasi dan Pemeliharaan Mengoperasikan program dilingkungannya dan melakukan pemeliharaan, seperti penyesuaian atau perubahaan karena adptasi dengan situasi sebenarnya. Kelebihan dari waterfall adalah metode ini masih lebih baik dan praktis digunakan walaupun sedah tergolong “kuno”, daripada tidak menggunakan metode apapun. Selain itu, metode ini juga masih masuk akal jika kebutuhan awal sudah diketahui dengan baik. Sementara kekurangan dari model ini yaitu: • Pada kenyataannya, jarang engikuti urutan sekuensial seperti pada teori. Iterasi sering terjadi menyebabkan masalah baru. 18 • Sulit bagi pelanggan untuk menentukan semua kebutuhan secara eksplisit. • Pelanggan harus sabar, karena pembuatan perangkatr luinak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama. • Kesalahan di awal tahap berakibat sangat fatal pada tahap berikutnya. 2.3.3 Pengujian Perangkat Lunak Uji cobamerupakan proses pengerjaan yang bertujuan untuk mencari sebanyak mungkin kesalahan dan menemuklan kesalhan yang sebelumnya tidak terduga dengan waktu dan tenaga seminimal mungkin. Secara fakta uji coba adalah salah satu langkah dari siklus pengembangan perangkat lunak yang jika ditinjau dari sudut pandanag psikologu adalah penghancuran dibandingkan penyusunan. Tujuan dari uji coba adalah : 1. Uji coba adalah proses pengerjaan yang bertujuan untuk mencari kesalahan. 2. Uji coba yang baik adalah uji coba yang berusaha untuk mencari kesalahan sebanyak mungkin. 3. Uji coba yang baik atau berhasil adalah uji coba yang menemukan kesalahan yang sebelumnya tidak diduga. Ada dua singkat yang tersedia pada proses uji coba yaitu: 19 1. Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikasi peranvangan, test case dan program sumber. 2. Konfigurasi uji coba yang mencakup rencana dan prosedur uji coba dan hasil yang diharapkan 2.3.3.1 White Box Testing Merupakan metode perancangantest case yang menggunakan struktur control dari perancangan procedural untuk mendapatkan test case. Dengan menggunakan metode white box, akan dapat dipeoleh test case yang: 1. Menjamin keseluruhan independent path di dalam meoful yang dikerjakan sekutang-kurangnya sekali. 2. Mengerjakan seluruh keputusan logical 3. Mengerjakan seluruh loop yang sesyai dengan batasannya. 4. Mengerjakan seluruh struktur data internal yang menjamin validasi. 2.3.3.2 Black Box Testing Pengujian fungsional atau pengujian kotak hitam (black box testing) merupakan pendekatan pengujian yang ujinya diturunkan dari spesifikasi program atau komponen. System merupakan “kotak hitam” yang perilakunya hanya dapat ditentukan dengan mempelajari masukan dan keluaran yang berkaitan. Nama lain untuk cara ini adalah 20 pengujian fungsional karena pengujian hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak. Kunci pada penguji cacat adalah memilih input yang memiliki probabilitas besar sebagai anggota himpunan Ie. Pada banyak kasus, pemilihan ini berdasar pengamalan rekayasawan uji sebelumnya, mereka memakai pengetahuan domain untuk mengidentifikasi kasus uji yang mungkin mengungkap cacat. Dengan black box analisis sistem akan memperoleh kumpulan kondisi dari masukan yang akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini untuk mencari kesalahan-kesalahan pada: i. Fungsi yang salah atau hilang. ii. Kesalahan pada interface iii. Kesalahan pada struktur data atau akses database. iv. Kesalahan performansi v. Kesalahan initialisasi dan tujuan akhir 2.4 UNIFIED MODELLING LANGUAGE Unified Modelling Language (UML) adalah sebuah standar yang dapat membantu untuk memvisualisasikan, membangun, dan mendokumentasikan sistem perangkat lunak(Object Management Group 2009). UML menawarkan sebuah standar untuk merancang model sebuah sistem.Dengan mempelajari UML, maka setiap orang 21 dapatmemahami suatu gambaran dokumentasi model yang sebelumnya hanya dipahami orang tertentu. 2.4.1 Komponen uml UML memiliki banyak komponen diagram agar dapat memodelkan sistem secara lebih akurat. Diagram-diagram tersebut digunakan dalam pembuatan suatu sistem untuk mengakomodasi kepentingan pihak-pihak tertentu (stakeholder) pada aspekaspek yang berlainan dari sistem. Dengan demikian, maka pihak-pihak yang terlibat dapat memahami informasi yang ingin disampaikan dari satu pihak menuju pihak lainnya. UML terdefinisi dalam tiga belas macam diagram yang terbagi dalam tiga kategori(Object Management Group 2009), yaitu: 1. Structure Diagrams untuk memodelkan struktur statis aplikasi. Yang termasuk dalam diagram ini adalah: a. Class Diagram; b. Object Diagram; c. Component Diagram; d. Composite Structure Diagram; e. Package Diagram; dan f. Deployment Diagram. 2. Behaviour Diagrams untuk memodelkan perilaku umum sistem. Yang termasuk dalam diagram ini adalah: 22 a. Use Case Diagram; b. Activity Diagram;dan c. State Machine Diagram; 3. Interaction Diagrams untuk memodelkan interaksi dari aspek-aspek yang berbeda.Yang termasuk dalam diagram ini adalah: a. Sequence Diagram; b. Communication Diagram; c. Timing Diagram; dan d. Interaction Overview Diagram. Meskipun UML mempunyai banyak diagram, tetapi tidak semua diagram harus digunakan dalam pembuatan suatu sistem. Dalam pengerjaan Tugas Akhir ini, hanya akan digunakan 2 (dua) diagram yaitu Use CaseDiagram dan Activity Diagram untuk mendukung desain dari sistem. 2.4.2 Use case diagram Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem.Yang ditekankan adalah ”apa” yang diperbuat sistem, dan bukan ”bagaimana”(Dharwiyanti dan Wahono 2003). Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.Aktor menggambarkan orang, sistem atau entitas eksternal / stakeholder yang menyediakan atau menerima informasi dari sistem. 23 Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang umum. Sebuah use case juga dapat meng-extend use case lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Gambar berikut menunjukkan contoh use case diagram: Gambar 2.2Contoh use case diagram (Dharwiyanti dan Wahono 2003) 24 2.4.3 Activity diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir(Dharwiyanti dan Wahono 2003). Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi padabeberapa eksekusi.Activity diagram dibuat berdasarkan sebuah atau beberapa use case pada use case diagram. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Activity diagrammenggunakan notasi UML segiempat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Berikut ini adalah contoh activity diagram: 25 Gambar 2.3Contoh activity diagram(Dharwiyanti dan Wahono 2003) 2.5 BASIS DATA Basis data adalah sekumpulan data yang tersimpan secara sistematis dan terstruktur pada suatu tempat penyimpanan (storage) dan dapat digunakan untuk memenuhi kebutuhan informasi sejumlah pemakai (Connoly and Begg 2002). Data pada sistem basis data disimpan dalam sebuah objek yang disebut tabel. Tabel adalah sekumpulan data yang berhubungan dan tersimpan dalam bentuk baris 26 dan kolom (W3 Schools n.d.). Sebuah basis data umumnya berisi sekumpulan tabel, stored procedure, function, dan objek-objek lain yang digunakan untuk mewakili, menyimpan, dan mengakses data. 2.5.1 Structured query language Untuk dapat mengakses dan memanipulasi basis data oleh pemakai ataupun dariaplikasi, dilakukan menggunakan bahasa standar yang disebut SQL(Structured Query Language). Perintah-perintah SQL yang digunakan untuk memanipulasi basis data antara lain: • Perintah Create Table Perintah ini digunakan untuk membuat suatu tabel dalam basis data. Bentuk umum perintah create table adalah sebagai berikut: CREATE TABLE [nama_tabel]( nama_field1 tipe_data [,nama_field2 tipe_data,...] [CONSTRAINT nama_field constraints] ) • Perintah Select Perintah ini digunakan untuk menampilkan data dari suatu tabel. Bentuk umum perintah select adalah sebagai berikut: SELECT nama_field1 [, nama_field2, ...] FROM nama_tabel1 [WHERE kondisi][ORDER BY nama_field1 [ASC|DESC] • Perintah Insert 27 Perintah ini digunakan untuk menambah data ke dalam tabel. Bentuk umum perintah insert adalah sebagai berikut: INSERT INTO nama_tabel [(nama_field1 [, nama_field2, …])] VALUES (nilai1 [,nilai2, …]) • Perintah Update Perintah ini digunakan untuk mengubah data dalam tabel. Bentuk umum perintah update adalah sebagai berikut: UPDATE nama_tabel SET nama_field1=nilai1[, nama_field2=nilai2, …] WHERE [kondisi] • Perintah Delete Perintah ini digunakan untuk menghapus data dalam tabel. Bentuk umum perintah delete adalah sebagai berikut: DELETE FROMnama_tabel WHERE [kondisi] 2.6 K-NEAREST NEIGHBOR Prinsip kerja K-Nearest Neighbor (KNN) adalah mencari jarak terdekat antara data yang akan dievaluasi dengan Ktetangga (neighbor) terdekatnya dalam data pelatihan. Teknik ini termasuk dalam kelompok klasifikasi nonparametric. Di sini kita tidak memperhatikan distribusi dari data yang ingin kita kelompokkan. Teknik ini sangat sederhana dan mudah diimplementasikan. Mirip dengan teknik klastering, kita 28 mengelompokkan suatu data baru berdasarkan jarak data baru itu ke beberapa data/tetangga (neighbor) terdekat. Tujuan algoritma KNN adalah mengklasifikasikan obyek baru berdasarkan atribut dan training sample. Clasifier tidak menggunakan model apapun untuk dicocokkan dan hanya berdasarkan pada memori. Diberikan titik query, akan ditemukan sejumlah kobyek atau (titik training) yang paling dekat dengan titik query. Klasifikasi menggunakan voting terbanyak diantara klasifikasi dari k obyek. Algoritma KNN menggunakan klasifikasi ketetanggaan sebagai nilai prediksi dari query instance yang baru. Algoritma metode KNN sangatlah sederhana, bekerja berdasarkan jarak terpendek dari query instance ke training sample untuk menentukan KNN-nya. Nilai kyang terbaik untuk algoritma ini tergantung pada data. Secara umum, nilai kyang tinggi akan mengurangi efek noise pada klsifikasi, tetapi membuat batasan antara setiap klasifikasi menjadi semakin kabur. Nilai kyang bagus dapat dipilih dengan optimasi parameter, misalnya dengan menggunakan cross-validationatau bisa juga dengan menggunakan cara melakukan perhitungan setiap baris data dengan melibatkan data sampel yang ada. Kasus khusus dimana klasifikasi diprekdisikan berdasarkan training data yang paling dekat (dengan kata lain, k=1) disebut algoritma Nearest Neighbor. Kelebihan KNN (K-Nearest Neighbor): 1. Tangguh terhadap trainingdata yang memiliki banyak noise. 2. Efektif apabila trainingdatanya besar. Kelemahan KNN (K-Nearest Neighbor): 1. KNN perlu menentukan nilai dari parameter k(jumlah dari tetangga terdekat). 29 2. Trainingberdasarkan jarak tidak jelas mengenai jenis jarak apa yang harus digunakan. 3. Atribut mana yang harus digunakan untuk mendapatkan hasil terbaik. 4. Biaya komputasi cukup tinggi karena diperlukan perhitungan jarak dari tiap query instance pada keseluruhan training sample. 2.6.1 Algoritma K-Nearest Neighbor 1. Tentukan parameter K 2. Hitung jarak antara data yang akan dievaluasi dengan semua pelatihan 3. Urutkan jarak yang terbentuk (urut naik) 4. Tentukan jarak terdekat sampai urutan K 5. Pasangkan kelas yang bersesuaian 6. Cari jumlah kelas dari tetangga yang terdekat dan tetapkan kelas tersebut sebagaikelas data yang akan dievaluasi Di bawah ini merupakan flowchart dari metode KNN: 30 Gambar 2.4. Flowchart dari Metode KNN Rumus KNN: Keterangan: x1 =Sampel data x2 =Data Uji / Testing 31 i = Variable Data d = Jarak p = Dimensi Data