Você está na página 1de 12

Bab II Teori Penunjang

BAB II TEORI PENUNJANG


Pemahaman terhadap teori sangat menunjang ketika proses penelitian. Dengan landasan teori yang relevan maka setiap langkah proses akan mengarah terhadap hasil yang ingin dicapai dari penelitian. 2.1. Analytical Hierachy Process (AHP) Setelah permasalahan ditentukan, proses AHP membutuhkan kriteria. Penentuan kriteria ditentukan oleh ahli atau kelompok ahli yang memahami permasalahan. Kriteria satu permasalahan yang sama dimungkinkan untuk berubah. Karena dimungkinkan adanya perubahan, maka hal ini akan mempengaruhi pembentukan suatu hierarki[2]. Satu hal terpenting adalah dalam proses pemberian nilai dalam matrik pairwise comparison. Nilai yang diberikan akan berpengaruh terhadap tingkat prioritas dari kriteria yang satu terhadapa kriteria yang lain[2]. Pemberian nilai-nilai dalam matrik pairwise comparion dianggap valid jika consistency ratio (CR) kurang dari sepuluh persen. Jika melebihi sepuluh persen maka dapat dilakukan proses autokoreksi atau pembetulan nilai dengan cara menyusun matrix rasio prioritas wi/wj dan membuat matriks selisih absolut aij wi/wj dan merevisi penilaian pada elemen dengan selisih terbesar. Dalam proses auto koreksi, nilai setelah proses dapat melebihi nilai-nilai skala Saaty. Namun hal ini tidak perlu diperhatikan[2]. Salah satu hal terpenting yang harus dilakukan adalah tidak terlalu memaksa penilaian agar diperoleh konsistensi yang lebih baik[2]. Berikut ini adalah pseudocode proses auto koreksi :
Loop i to ukuran matrix then Loop j to ukuran matrix then Temp = abs(matrix[i][j]-bobot[i]/bobot[j] If max(temp) then Matrix[i][j] = bobot[i]/bobot[j] End If Next j Next i

Gambar 2.1. Pseudocode Auto Koreksi 5

Bab II Teori Penunjang AHP secara logika memang sangat cocok ketika yang memberikan penilian adalah satu orang ahli. Namun bukan berarti AHP tidak dapat dapat digunakan ketika melibatkan kelompok ahli. Ada beberapa cara yang umum digunakan untuk penilai AHP yang melibatkan kelompok ahli[1] yaitu : Secara konsensus, dimana semua anggota kelompok pegambil keputusan dikumpulkan dalam satu ruangan dan semua anggota yang terlibat harus mengeluarkan satu nilai yang menjadi kesepakatan Dengan penggunaan kuesioner. Variasi nilai yang didapat dari masing-masing anggota pengambil keputusan dievaluasi secara musyawarah oleh beberapa orang anggota kelompok yang terlibat.

Sepintas penggunaan konsensus dapat mewakili, namun terdapat kelemahan diantaranya perbedaan kekuasaan dan pengetahuan diantara responden, preferensi pada variabel tertentu, perubahan persepsi dan keengganan mengeluarkan pendapat yang sebenarnya[1]. Oleh karena itu, berdasarkan[1], salah satu metode yang dapat diterapkan untuk mencari nilai adalah algoritma genetika karena dianggap metode heuristik yang paling optimal. 2.2. Algoritma Genetika Algoritma genetika dianggap sebuah metode heuristik yang paling optimal dalam penentuan permasalahan[1]. 2.2.1. Pendefinisian Individu Pendefinisian individu/kromosom merupakan langkah pertama yang harus ditentukan. Individu atau kromosom merupakan suatu komposisi nilai yang menyatakan solusi dari suatu permasalahan. Berdasarkan definisi individu algoritma genetika dibedakan menjadi dua macam yaitu static genetic algorithm ( ukuran individu sama untuk satu populasi) dan dynamic genetic algorithm (ukuran dan individu tidak sama untuk satu 6

Bab II Teori Penunjang populasi). Pendefinisan kromosom dapat menggunakan beberapa macam bentuk kromosom sebagai berikut : Kromosom biner, yaitu kromosom yang disusun dari gen-gen yang bernilai 0 dan 1. Kromosom ini adalah model standar dalam algoritma genetika. Kromosom float, yaitu kromosom yang disusun dari gen-gen dengan nilai pecahan. Gen integer dapat digolongkan dalam bentuk kromosom ini. Kromosom string, yaitu kromosom yang disusun dari gen-gen yang bernilai string(simbol). Kromosom kombinatorial, yaitu kromosom yang disusun dari gen-gen yang dinilai dari urutan. Pemilihan bentuk kromsom sangat ditentukan oleh jenis permasalah. Berdasarkan[1] bentuk kromosom yang cocok dalam penentuan nilai AHP secara berkelompok adalah bentuk kromosom float. 2.2.2. Evaluasi Fitness Nilai fitness merupakan suatu ukuran baik tidak nya suatu solusi yang dinyatakan sebagai satu individu, atau dengan kata lain nilai fitness menyatakan fungsi tujuan. Algoritma genetika mempunyai tujuan untuk memaksimalkan nilai fitness atau mencari nilai fitness maksimal. 2.2.3. Seleksi Seleksi adalah tahapan untuk mempertahankan individu. Metode yang sering digunakan adalah roullete wheel. Prinsip dari roullete wheel adalah semakin tinggi nilai prosentase suatu individu terhadap total nilai fitness maka semakin tinggi pula individu tersebut dapat terseleksi. Selain metode roullete wheel terdapat metode turnamen dan rank. Metode turnamen merupakan model

Bab II Teori Penunjang yang variansinya kecil sehingga kemungkinan munculnya individu superior dapat dikurangi. 2.2.4. Cross Over Cross over memiliki berbagai macam metode dan tipe. Pemilihan metode dan tipe nya sangat bergantung pada permasalah dan bentuk kromosom. Untuk operator cross over yang sering digunakan dalam bentuk kromosom float adalah aritmatika cross over[1]. a(n,k) = r.a(n,k) + (1-r).a(n,k+1) a(n,k+1) = (1-r).a(n,k) + r.a(n,k+1) Gambar 2.2. Fungsi Cross Over Aritmatika Sedangkan operator cross over untuk bentuk kromosom biner dilakukan dengan menggunakan pertukaran gen antar induk. Cross over sangat dipengaruhi oleh parameter probabilitas yang ditentukan[3]. Berdasarkan[1] parameter probabilitas optimum didapat pada 0.8. 2.2.5. Mutasi Mutasi terjadi dengan probablitas yang kecil, lebih banyak dilakukan penghapusan, akan tetapi beberapa akan menguntungkan dan dapat memperbaiki gen. Pada kromosom dengan gen float mutasi yang sering digunakan adakah mutasi random dan mutasi shift[1]. Mutasi random adalah mengganti nilai pada gen tertentu dengan nilai random sedangkan pada mutasi shift nilai gen dikurangkan atau ditambahkan dengan nilai yang kecil. Berdasarkan[1] paramater probabilitas optimum pada 0.1. Sedangkan kromosom biner, mutasi dilakukan dengan mengubah gen biner 0 menjadi 1 dan 1 menjadi 0.

Bab II Teori Penunjang Inti dari keseluruhan proses diatas adalah untuk mendapatkan satu individu optimal. Individu optimal dapat diperoleh dengan besar populasi dan jumlah generasi yang besar[3]. Berikut ini adalah pseudocode dari alur tahapan algoritma genetika :

Loop i to jumlah generasi then Loop j to jumlah populasi then Seleksi Individu(i)(j) Cross over Individu hasil seleksi Mutasi Individu hasil seleksi If Individu Optimal Return Individu(i)(j) End If Next j Next i Gambar 2.3. Pseudocode Alur Algoritma Genetika 2.3. PHP (Preprocessing Hypertext) 2.3.1. Sejarah Singkat Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.

Bab II Teori Penunjang Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP dirubah menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.

10

Bab II Teori Penunjang 2.3.2. Konsep Kerja PHP

Gambar 2.3. Konsep Kerja PHP 2.3.3. Cara Penulisan Block script PHP selalu diawali oleh <?php dan diakhiri ?>. Selain itu dapat digunakan short tag dengan menggunakan <? ?>. Berikut ini adalah contoh penulisan script PHP : <?php echo Hello World; ?>

2.3.4. Variabel di PHP


Variabel digunakan untuk meyimpan nilai, seperti string, number atau array. Semua variabel dalam PHP diawali dengan tanda $.Berikut ini contoh pendeklarasian variabel PHP : $var_name = value; Dalam pemberian nama variabel PHP ada beberapa hal yang harus diperhatikan diantaranya : Setiap nama variabel harus diawali oleh huruf atau tanda garis bawah ( _ ) Setiap nama variabel hanya dapat mengandung karakter alphanumeric dan tanda garis bawah ( a-z,A-Z dan _ )

11

Bab II Teori Penunjang Setiap nama variabel tidak boleh mengandung tanda spasi. Jika nama variabel lebih dari satu kata maka gunakan tanda garis bawah sebagai pemisah ($my_var) atau gunakan huruf capital untuk kata kedua ($myVar). 2.3.5. Array PHP Array adalah variabel special yang mana dapat menampung beberapa nilai dalam satu variabel. Dalam PHP terdapat tiga jenis array : Array numeric array dengan index angka Ada dua cara untuk membentuk array numeric : Indek secara otomatis diberikan diawali dari 0 contoh : $cars=array("Saab","Volvo","BMW); Indek secara manual diberikan contoh : $cars[0]="Saab"; $cars[1]="Volvo"; $cars[2]="BMW"; $cars[3]="Toyota"; Array Associative Array dimana sebuah ID key berhubungan dengan nilai nya Ketika dibutuhkan nama yang spesifik untuk sebuah nilai jenis array ini sangat membantu. Berikut ini contoh penggunaan : $ages = array("Peter"=>32, "Quagmire"=>30) atau $ages['Peter']="32"; $ages['Quagmire']="30"; $ages['Joe'] = "34";

12

Bab II Teori Penunjang Array Multidimensi Array yang berisi satu atau lebih array-array. Berikut ini contoh penggunaan array multidimensi: $families=array ( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ) ); 2.4. MySQL MySQL merupakan software yang banyak digunakan sebagai RDBMS untuk pemrogramamn web. Hal ini tidak terlepas dari beberapa kelebihan yang dimiliki oleh MySQL diantaranya kecepatan akses, biaya, konfigurasi, tersedia source code. Berikut ini beberapa alasan mengapa MySQL menjadi RDBMS yang sangat popular, antara lain : 1. MySQL merupakan RDBMS yang memiliki kecepatan yang tinggi dalam melakukan pemrosesan data, dapat diandalkan dan mudah digunakan serta mudah dipelajari 2. MySQL mendukung banyak bahasa pemrograman 3. Dalam hal relasi antar table pada suatu database, MySQL menerapkan metode yang sangat cepat yaitu dengan menggunakan metode one sweep multijoin. 4. Multiuser, yaitu dalam satu database server MySQL dapat diakses oleh beberapa user dalam waktu yang sama tanpa mengalami konflik 5. Sekuritas yang dianggap baik karena memiliki lapisan sekuritas seperti subenetmask dll

13

Bab II Teori Penunjang 6. MySQL merupakan software yang bersifata free atau gratis Langkah Koneksi PHP dengan Databse MySQL 1. Membuka koneksi ke server MySQL mysql_connect() Digunakan untuk melakukan uji dan koneksi kepada server database MySQL. Sintaks : $conn = mysql_connect (host,username,password); Keterangan : $conn adalah nama variabel penampung status hasil koneksi kepada database. Host adalah nama host atau alamat server database MySQL. username adalah nama user yang telah diberi hak untuk dapat mengakses server database. password adalah kata sandi untuk username untuk dapat masuk ke dalam database. 2. Memilih database yang akan digunakan di server mysql_select_db() Digunakan untuk melakukan koneksi kepada database yang dalam server yang berhasil dikoneksi dengan perintah mysql_connect(). Sintaks : $pilih = mysql_select_db(namadatabase, $conn); 14

2.4.1.

Bab II Teori Penunjang Keterangan : $pilih berisi status koneksi kepada database. $conn merupakan koneksi kepada server database yang berhasil. namadatabase adalah nama database yang akan dikenai proses. 3. Mengambil sebuah query dari sebuah database. mysql_query() Digunakan untuk melakukan eksekusi perintah SQL untuk memanipulasi database yang berhasil dilakukan koneksinya menggunakan mysql_select_db(). Sintaks : $hasil = mysql_query(SQL Statement); Keterangan : $hasil akan berupa record set apabila SQL Statement berupa perintah select. 4. Mengambil record dari database mysql_fetch_array() Digunakan untuk melakukan pemrosesan hasil query yang dilakukan dengan perintah mysql_query(), dan memasukkannya ke dalam array asosiatif, array numeris atau keduanya. Sintaks : $row = mysql_fetch_array($hasil); Keterangan : $row adalah array satu record dari record $hasil yang diproses nomor record sesuai dengan nomor urut dari proses mysql_fetch_array yang sedang dilakukan. 15

Bab II Teori Penunjang $hasil adalah record set yang akan diproses. mysql_fetch_assoc() Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang dihasilkan hanya array asosiatif. Sintaks : $row = mysql_fetch_assoc($hasil); mysql_fetch_row() Fungsi ini hampir sama dengan fungsi mysql_fetch_array(), hanya saja array yang dihasilkan hanya array numeris. Sintaks : $row = mysql_fetch_row($hasil); mysql_num_rows() Fungsi ini digunakan untuk menghitung jumlah record yang ada pada database. Sintaks : $jml = mysql_num_rows($hasil); Keterangan : $jml akan memiliki nilai sesuai dengan jumlah record yang ada.

16

Você também pode gostar