Rabu, 06 Januari 2021

TUGAS BESAR SISTEM INFORMASI GEOGRAFIS REVIEW JURNAL NASIONAL DAN INTERNASIONAL

>JURNAL NASIONAL

I

APLIKASI SISTEM INFORMASI GEOGRAFIS (SIG)
UNTUK PEMETAAN PASAR TRADISIONAL DI KOTA SEMARANG
BERBASIS WEB

 Sylvia Tri Yuliani, Bambang Sudarsono, Arwan Putra Wijaya*)

 Program Studi Teknik Geodesi Fakultas Teknik Universitas Diponegoro
Jl. Prof. Sudarto SH, Tembalang Semarang Telp. (024) 76480785, 76480788
E-mail: sylvia.ynwa@yahoo.com

 

LATAR BELAKANG

Kota Semarang sebagai ibukota Jawa Tengah hingga kini masih mempertahankan keberadaan pasar tradisional ditengah pertumbuhan pasar modern yang semakin pesat.

Penyediaan informasi mengenai pasar tradisional kepada masyarakat menjadi hal yang sangat penting guna menyosialisasikan keberadaan pasar-pasar beserta informasi didalamnya

Penelitian ini berupa aplikasi Sistem Informasi Geografis (SIG) pasar tradisional di kota Semarang berbasis web.

 TUJUAN PENELITIAN

Adapun maksud dan tujuan penelitian ini

adalah :

1. Adanya sistem informasi mengenai pasar

tradisional yang mudah diakses oleh

masyarakat luas khususnya masyarakat kota

Semarang sehingga dijadikan sarana informasi

yang efektif serta mendukung kegiatan

pelayanan instansi terkait yaitu Dinas Pasar

kota Semarang.

 2. Membuat aplikasi sistem informasi geografis

berbasis web yang mendeskripsikan tentang

pasar tradisional dan informasi lokasi pasar

tradisional di kota Semarang.

3. Mengetahui persebaran pasar tradisional di

kota Semarang.

 

METODE PENELITIAN

Adapum metode penelitian yang digunakan yaitu:

- Pengumpulan data

  Penelitian ini dilakukan dalam dua tahapan yaitu tahap pengumpulan data penelitian dan tahap        pembuatan aplikasi

- Pembuatan Basis Data dan Input Data Atribut

   Sebelum dilakukan penyusunan basis data terlebih dahulu dilakukan pembuatan basis data pada  localhost di aplikasi phpMyAdmin dengan XAMPP






II

       PERANCANGAN SISTEM INFORMASI GEOGRAFIS
                  MENGGUNAKAN PETA DIGITAL

Deny Wiria Nugraha
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Tadulako
Email : deny_wiria_nugraha@yahoo.co.id


LATAR BELAKANG

Dalam perkembangan teknologi yang pesat ini, teknologi informasi dapat dimanfaatkan sebagai sarana informasi untuk saluran distribusi listrik primer dalam bentuk sebuah sistem informasi geografis sehingga memudahkan pengguna sistem tersebut untuk mengetahui kondisi dari saluran distribusi listrik.Sampai saat ini untuk mendapatkan informasi mengenai saluran distribusi listrik primer masih dilakukan secara konvensional yaitu dengan hanya menampilkan informasi menggunakan program aplikasi Microsoft Office Word dan Excel. Sehingga perusahaan dalam hal ini PT. PLN (Persero) cabang Palu rayon kota memasukkan data saluran distribusi listrik primer secara manual misalnya data tiang, data gardu, data kabel (penghantar), data pemakai (beban), data LBS (Load Breaker Switch) atau ABS (Air Breaker Switch), data peta distribusi, dan sebagainya tanpa menggunakan peta digital.


TUJUAN PENELITIAN

     Penelitian ini memiliki tujuan adalah untuk membuktikan bahwa sistem informasi geografis yang dirancang dan dibuat mampu menampilkan keseluruhan informasi yang ada pada saluran distribusi listrik dimana datanya diambil dari PT.


METODE PENELITIAN

A. Jenis Penelitian

Penelitian ini merupakan penelitian kualitatif dalam bidang teknik elektro dan teknologi informasi khususnya bidang rekayasa perangkat lunak yang sesuai dengan bidang ilmu penulis.

 

B. Lokasi Penelitian

     Lokasi penelitian ini adalah di wilayah kerja PT. PLN (Persero) cabang Palu rayon kota propinsi     Sulawesi Tengah.

 C. Bahan Penelitian

Data yang merupakan bahan penelitian ini dikumpulkan melalui beberapa metode sebagai berikut:

1. Pengumpulan data saluran distribusi listrik primer yang diperoleh dari PT.

2. Melakukan pengamatan secara langsung pada saluran distribusi listrik

3. Metode wawancara

4. Studi literatur

5. Bahan pendukung penelitian lainnya

berupa data denah/peta kota

 D. Alat Penelitian

E. Tahapan Penelitian

F. Perancangan Sistem dan Pemecahan

Masalah 


III

SISTEM INFORMASI GEOGRAFIS BERBASIS ANDROID

UNTUK PARIWISATA DI DAERAH MAGELANG
 
Bambang Yuwono1) , Agus Sasmito Aribowo2) , Febri Arif Setyawan3)
 
1,2,3)Prodi Teknik Informatika, UPN ”Veteran” Yogyakarta
Jl. Babarsari No. 2 Tambakbayan Yogyakarta 55281 Telp (0274) 485323
e-mail : bambangy@gmail.com1) , sasmito_skom@yahoo.com2)
 


LATAR BELAKANG

 Magelang adalah salah satu daerah di Provinsi Tengah yang memiliki berbagai macam tempat Pariwisata yang berpotensi menjadi tempat Pariwisata yang ramai pengunjung sehingga dapat mendorong pendapatan daerah untuk naik.Pemerintah Kota dan Kabupaten Magelang telah melakukan promosi melalui media masa seperti surat kabar dan brosur serta website, namun metode tersebut belum cukup untuk menginformasikan banyaknya potensi tempat wisata di Daerah Magelang kepada wisatawan lokal maupun wisatawan asing.Oleh karena itu dibuatlah Aplikasi Sistem Informasi Geografis (SIG) Lokasi Pariwisatadi Daerah Magelang berbasis android guna memudahkan pengguna mendapatkan informasiberupa lokasi tempat pariwisata dan tempat pariwisata terdekat dari lokasi pengguna.

 TUJUAN PENELITIAN

Tujuan sistem ini dibangun untuk memberikan informasi lokasi pariwisata di Daerah Magelang dengan mudah dan sederhana karena dapat dioperasikan dimanapun user berada menggunakan piranti mobile device berbasis android.

 

METODE PENELITIAN

Metodologi yang digunakan dalam pengembangan perangkat lunak (software) ini adalah Guidelines for Rapid Application Engginering (GRAPPLE).

Terdapat lima tahap dalam metodologi GRAPPLE yaitu :

1. Requirement Gathering

Pada tahap pertama yang dilakukan oleh pengembang perangkat lunak (software) adalah

mengambil informasi lengkap, analisis masalah, fungsi, dan kebutuhan sistem termasuk dalam

tahap Requirement Gathering.

2. Analysis

Di tahap analysis yang dilakukan adalah menggali lebih dalam hasil yang diperoleh dalam tahap sebelumnya.

3. Design

  Tahap design dilakukan untuk merancang solusi yang dihasilkan oleh tahap analysis dan design.

4. Development

 Tahap ini ditangani oleh pengembang program untuk membangun code program dan user

interface. Pengujian program dan dokumentasi sistem dilakukan pada tahap ini.

5. Deployment

 Tahap deployment adalah tahap pendistribusian produk yang dihasilkan kepada pengguna. 




> JURNAL INTERNASIONAL

IV

GEOGRAPHIC INFORMATION SYSTEM OF HIGHER EDUCATION MAPPING IN BALI ISLAND USING ARCVIEW

Ni Nyoman Supuwiningsih 1, I Made Ari Santosa 2, Ni NymUtamiJanuhari 3, I Made
AgusWirahadi Putra 4
1, 2, 3 Computer System, STMIK STIKOM Bali, Indonesia
4 Information System, STMIK STIKOM Bali, Indonesia

 

LATAR BELAKANG

 Pendidikan Tinggi adalah jenjang  pendidikan  tinggi atau pendidikan  lanjutan  setelah sekolah menengah pendidikan atau sederajat. Berdasarkan observasi  peneliti di Pulau Bali khususnya di kota Denpasar sangat berkembang  pesatnya  pertumbuhan  perguruan tinggi dengan menyediakan berbagai  macam  program studi gitu bahwa informasi tentang  perguruan  tinggi belum diketahui secara maksimal oleh masyarakat umum dan sekolah menengah atas alumni / sederajat khususnya yang ingin melanjutkan  ke jenjang  pendidikan  yang  lebih tinggi. Untuk menyediakan Informasi yang lebih interaktif dan  efektif  maka dibangunlah aplikasi informasi geografis sistem  persebaran  universitas di pulau Bali dengan menggunakan Arcview GIS sebagai alat bantu nya.

 

TUJUAN PENELITIAN

Untuk pengelompokan perguruan tinggi menurut jenis perguruan tinggi, institut, sekolah menengah, politeknik dan akademi. Pengelompokan menurut jenis perguruan tinggi di masing-masing kabupaten / kota di pulau Bali dengan tujuan untuk memudahkan dalam memperoleh informasi jumlah perguruan tinggi di setiap kabupeten sehingga masyarakat dapat menghitung jarak tempat tinggal dengan Perguruan tinggi yang diinginkan.

 

METODE PENELITIAN

 1.) Cari data dari internet

 2.) Observasi lokasi Perguruan Tinggi

 3.) Tinjauan pustaka

 4.) Pengumpulan data

 5.) Proses analisis data (data spasial dan data non spasial)

 6.) Analisis data non spasial menggunakan ERD (Entity Relationship Diagram)

 7. ) Proses identifikasi lapisan



V

Landform Characterization with
Geographic Information Systems
(Karakterisasi Bentuk Lahan dengan
Sistem Informasi Geografis

Jacek S. Blaszcznski


LATAR BELAKANG

        Kemampuan menganalisis dan mengukur morfologi permukaan bumi sangat penting untuk memahami fisik, kimia, dan proses biologis yang terjadi di dalam pemandangan.  Pengetahuan tentang morfologi medan juga penting untuk semua rekayasa atau upaya pengelolaan lahan yang mempengaruhi atau mengganggu permukaan tanah.Ilmu utama yang berhubungan dengan pemahaman, deskripsi, dan pemetaan bentuk medan adalah geomorfologi.kemampuan untuk memetakan bentuk lahan merupakan aspek penting dari setiap upaya analisis dan pemodelan lingkungan atau sumber daya.

 

TUJUAN PENELITIAN

Tujuan penelitian ini adalah untuk membentuk relief dengan urutan yang lebih tinggi, dan berkorelasi dengan aspek lain dari lingkungan untuk membantu klasifikasi yang lebih lengkap berdasarkan tinggi rendahnya terhadap  bentang alam

 

METODE PENELITIAN

Penulis menyarankan dalam metode berbasis sistem formasi (GIS) untuk pemetaan dan klasifikasi suqface lanskap menjadi apa yang bisa  dipahami sebagai fitur relief dan mencakup daerah cembung dan puncaknya, daerah cekung dan palung, terbuka cekungan dan cekungan tertutup, serta mendatar dan miring.

 


 
















Resume Mechine Learning Pertemuan Ke 12,13,14

Nama:Andri Nur Insan

Kelas:INF A 2018


PYTHON MACHINE LEARNING : K-Nearest Neighboor (K-NN)

Metode pembelajaran dalam mechine learning: 

Supervised learning

Algoritmanya : decision tree, regresi linear, k-nearest neighbor, Bayesian , neural network, dll. 

Insupervised learning

Semi supervised learning

Reinforcement learning


Apa itu K-NN? Adalah salah satu algoritma untuk klasifikasi data suatu obyek berdasarkan sejumlah K-data training yang memiliki jarak paling dekat (nearest neighbor)dengan objek tersebut(wahyono, 2018”Phyton for machine Learning”). Untuk menentukan jauh dekatnya tetangga, biasanya di hitung berdasarkan jarak Euclidean(d) denhgan rumus sbb: 

d= 2+(y2-y1)2

contoh kasus :

prediksi apakah seseorang bisa lulus S2tepat waktu berdasarkan variabel IPK S1 dan usia masuk kuliah S2. 

Data training yang digunakan: sejumlah data mahasiswa yang lulus tepat waktu dan yang tidak tepat waktu berdasarkan IPK S1 dan usia.

Pertama misalnya :

K=3 ( diperoleh 2 tetangga tepat waktu dan 1 tetangga yang tidak tepat waktu )sehingga, hasil prediksi Bejo lulus tepat waktu karena tetangga yang lulus tepat waktu lebih banyak daripada yang tidak.

Langkah –langkah algoritma K-NN:

Menentukan parameter K, bilangan bilat positif sebagai nearest neighbors(banyaknya tetangga terdekat)

Hitung jarak antara data baru dan semua data yang ada didata training

Menentukan K tetangga berdasarkan jarak minimum 

Tetangga yang memiliki frekuensi terbanyak diambil sebagai nilai prediksi atau hasil klasifikasi dari data baru tersebut. 

Latihan python

Klasifikasi bunga IRIS(bunga Pelangi)

Terdapat 3 jenis bunga iris yang agak susah dikenali yaitu setosa, versicolor, dan virginica. Untuk itu akan dibuat sebuah program dengan K-NN untuk memprediksi sebuah bunga iris, masuk kelompok yang mana. 

Data training

Data training adalah sejumlah data yang menunjukkan jenis bunga berdasarkan ukuran petal dan sepal dari bunga tersebut. 

Contoh melakukan prediksi :

#data yang akan di prediksi

Data = [[6.2, 1.5, 4.2, 2.6]]

#data yang akan di prediksi berdasarkan 

Y_pred= knn.predict(Data)

#mencetak hasil prediksi 

#hasil 0 adalah setosa

#hasil 1 adalah versicolor

#hasil 2 adalah virginica

Print(“Hasil Prediksi : JenisBunga” , Y_pred)

Hasil prediksi: jenis bunga [2]

Rangkuman Pertemuan 12, 13, 14

Nama:Andri Nur insan

kelas:INF A 2018

 

Contoh penerapan KKN dengan python

Seri python for machine learning


Studi kasus 

Klasifikasi bunga IRIS (bunga pelangi)

Studi kasus 

Klasifikasi bunga IRIS (bunga pelangi)





Terdapat 3 jenis bunga iris yang agak susah di kenali yaitu setosa, versicolor, virginica. Untuk itu akan di buat program dengan K-NN untuk memprediksi sebuah bunga iris masuk di kelompok mana.

Data training adalah sejumlah data yang menunjukkan jenis bunga berdasarkan ukuran petal dan sepal dari bunga tersebut 













Resume Mechine Learning Pertemuan ke 8,9,10,11

Nama:Andri Nur insan

Kelas:INF A 2018


MENGENAL BOOLEAN VALUE, JENIS-JENIS OPERATOR DAN KONDISIONAL

1. 1. Operator identitas

Operator ini berbeda dengan operator lainnya, yang memaastikan ada atau tidaknya suatu anggota dalam daftar atau nilai tertentu dalam sebuah variabel. Operator identitas lebih digunakan untuk membandingkan dan memastikan apakah variabel x menunjuk lokasi memori yang sama dengan variabel y. lebih kea rah mencocokkan isi antar variabel. Jumlah anggota sama dengan operator keanggotaannya, yang hanya berisi 2. Apabila operator keanggotaan ana in dan not in. maka operator identitas ada is dan not is.

Is : Bernilai True jika kedua operand merujuk ke object yang sama dan berisi nilai yang sama

is not : Bernilai True jika kedua operand merujuk ke object yang tidak sama

contoh: 

a = 5

b = 5

c = 6

print('a is b :', a is b)

print('a is c :', a is c)

print('a is not c :', a is not c)

print('\n')

i = 'budi is ani'

j = 'ani is toni'

print('i is j :', i is j)

print('i is not j :', i is not j)

print('\n');

x = ['a','b','c']

y = ['a','b','c']

print('x is y :', x is y)

print('x is not y :', x is not y)

Hasil kode program:

a is b : True

a is c : False

a is not c : True

i is j : True

i is not j : False

x is y : False

x is not y : True

2. 2. Operator logika

     Digunakan untuk operasi logika dan terdiri dari 3 jenis AND, OR dan NOT. AND menyatakan “dan” bernilai benar jika operan sebelah kanan dan kiri bernilai true. OR menyatakan “atau” bernilai benar jika minimal salah satu operan sebelah kanan dan kiri atau juga keduanya bernilai true. NOT menyatakan “tidak”, bernilai benar jika operasi bernilai false.

Contoh:

print(True and True)

print(1 + 2 == 3 and True)

print('----')

print(False or 1 > 5)

print(False or 5 > 2)

print('----')

print(not(1 > 5))

print(not(1 < 5))

hasilnya:

True

True

----

False

True

----

True

False

3. 3. Operator penugasan

      Adalah operator yang digunakan untuk menyimpan nilai ke dalam variabel. Symbol dari operator ini pada dasarnya diwakili dengan tanda “=” . selain itu symbol operator ini bisa di kombinasikan dengan operator jenis lain, seperrti aritmatika dan bitwise. Ketika operator gabungan inidigunakan maka fungsinya tidak hanya akan menyimpan nilai tapi juga akan memanipulasi nilainya sesuai dengan operator gabungannya.

Contoh :

a = 5

b = 3

b = b + 1

c = a + b

d = c + c + a

e = (c + d)* a

print('Isi variabel a:',a)

print('Isi variabel b:',b)

print('Isi variabel c:',c)

print('Isi variabel d:',d)

print('Isi variabel e:',e)

hasilnya :

Isi variabel a: 5

Isi variabel b: 4

Isi variabel c: 9

Isi variabel d: 23

Isi variabel e: 160


4. Operator keanggotaan

   Operator ini diperuntukkan untuk mencari keanggotaan dalam suatu tipe data urutan seperti string, list, dan tuple. Tak mengherankan jika operator ini ini sering diterapkan dalam perulangan. Karena hanya memastikan suatu nilai ada dan tidak ada di dalam daftar, maka operator ini hanya berisi 2 anggota saja.

Contoh 2:

#Operator in dan not in dalam String

sampel = 'kopidingin'

print('Sampel = kopidingin')

print('[kopi] in kopidingin :', 'kopi' in sampel)

print('[susu] in kopidingin :', 'susu' in sampel)

print('[panas] not in kopidingin :', 'panas' not in sampel)

print('[dingin] not in kopidingin :', 'dingin' not in sampel, "\n")

#Operator in dan not in dalam List beranggotakan string

asean = ['Indonesia', 'Malaysia', 'Singapura', 'Thailand', 'Filipina']

print('Anggota ASEAN = [Indonesia, Malaysia, Singapura, Thailand, Filipina]')

print('[Indonesia] in anggota ASEAN :', 'Indonesia' in asean)

print('[Australia] in anggota ASEAN :', 'Australia' in asean)

print('[Amerika] not in anggota ASEAN :', 'Amerika' not in asean)

print('[Singapura] not in anggota ASEAN :', 'Singapura' not in asean, "\n")


#Operator in dan not in dalam List beranggotakan bilangan

prima = [2, 3, 5, 7, 11, 13, 17, 19]

print('Bilangan prima = [2, 3, 5, 7, 11, 13, 17, 19]')

print('[5] in bilangan prima :', 5 in prima)

print('[9] in bilangan prima :', 9 in prima)

print('[15] not in bilangan prima :', 15 not in prima)

print('[17] not in bilangan prima :', 17 not in prima, "\n")


#Operator in dan not in dalam Tuple beranggotakan string

veto = ('Amerika', 'Rusia', 'RRC', 'Inggris', 'Perancis')

print('Pemilik = (Amerika, Rusia, RRC, Thailand, Filipina)')

print('[Amerika] in pemilik hak veto :', 'Amerika' in veto)

print('[Jepang] in pemilik hak veto :', 'Jepang' in veto)

print('[Indonesia] not in pemilik hak veto :', 'Indonesia' not in veto)

print('[Rusia] not in pemilik hak veto :', 'Rusia' not in veto, "\n")


#Operator in dan not in dalam Tuple beranggotakan bilangan

ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)

print('Bilangan ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)')

print('[5] in bilangan ganjil :', 5 in ganjil)

print('[10] in bilangan ganjil :', 10 in ganjil)

print('[18] not in bilangan ganjil :', 18 not in ganjil)

print('[7] not in bilangan ganjil :', 7 not in ganjil)

contoh 2:

ampel = kopidingin

[kopi] in kopidingin : True

[susu] in kopidingin : False

[panas] not in kopidingin : True

[dingin] not in kopidingin : False

Anggota ASEAN = [Indonesia, Malaysia, Singapura, Thailand, Filipina]

[Indonesia] in anggota ASEAN : True

[Australia] in anggota ASEAN : False

[Amerika] not in anggota ASEAN : True

[Singapura] not in anggota ASEAN : False


Bilangan prima = [2, 3, 5, 7, 11, 13, 17, 19]

[5] in bilangan prima : True

[9] in bilangan prima : False

[15] not in bilangan prima : True

[17] not in bilangan prima : False

Pemilik = (Amerika, Rusia, RRC, Thailand, Filipina)

[Amerika] in pemilik hak veto : True

[Jepang] in pemilik hak veto : False

[Indonesia] not in pemilik hak veto : True

[Rusia] not in pemilik hak veto : False


Bilangan ganjil = (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)

[5] in bilangan ganjil : True

[10] in bilangan ganjil : False

[18] not in bilangan ganjil : True

[7] not in bilangan ganjil : False

Resume mechine learning Pertemuan IV, V VI VII

Nama:Andri Nur Insan

Kelas: INF A 2018


Mengenal Boolean value, jenis-jenis operator dan kondisional

Cara mengoperasikan isi dari variable misalkan dengan menjumlahkan kedua nilai atau mengurangi kedua nilai,bisa juga membandingkan besaran kedua nilai mana yang lebih besar contohnya nilai 4 dan 2 itu semua bisa dilakukan dengan menggunakan yang namanya operator. Operator sendiri merupakan sebuah symbol atau istilah yang digunakan untuk memanipulasi nilai misalnya 4+2 operatornya yaitu symbol + sedangkan nilai yang dioperasikan disebut operan,operannya itu angka 4 dan 2,operan bukan hanya tipe data integer. Jika nilai-nilai diwakili oleh variebel maka teknis variebel bisa disebut operan . Jenis-jenis operator ada 7:

1. Operator aritmatika

2. Operator perbandingan atau relasi

3. Operator penugasan

4. Operator logika

5. Operator bitwise

6. Operator keanggotaan

7. Operator indentifikasi

Operator aritmatika mencakup penjumlahan,pengurangan,pembagian,perkalian, dll. Untuk simbolnya sendiri yaitu :

+ untuk penjumlahan

- untuk pengurangan

*  untuk perkalian

/ untuk pembagian dengan hasil berupa bilangan riil

// digunakan untuk operasi pembagian denga hasilnya dibulatkan kebawah

% digunakan untuk operasi sisa pembagian

.. digunakan untuk opearsi pemangkatan

Operator perbandingan dgunaakan untuk membandingkan nilai disebelah kiri dan kanan. Kemudian akan ditetapkan hubungan antara keduanya. Maka dari operator ini juga disebut operator relasi . Hasil dari operator perbandingan adalah nilai tipe data boolen (true or false) disini operatornya yaitu :

== digunakan untuk menyatakan sama dengan, bernilai BENAR jika nilai sebelah kiri dan kanan sama

!= digunakan untuk menyatakan tidak sama dengan bernilai BENAR jika sebelah kiri dan kanan berbeda

< menyatakan lebih kecil bernilai benar jika nilai sebelah kiri lebih kecil dari pada nilai sebelah kanan

> menyatakan lebih besar bernilai benar jika nilai sebelah kiri lebih besar daripada nilai sebelah kanan

<= menyatakan lebih kecil atau sama dengan bernilai benar jika nilai sebelah kiri lebih kecil atau sama dengan nilai sebelah kanan

>= menyatakan lebih besar atau sama dengan, bernilai benar jika  nilai sebelah kiri lebih besar atau sama dengan nilai sebelah kanan

Senin, 04 Januari 2021

Rangkuman Materi Video Pertemuan XII,XIII,XIV,

Nama: Andri Nur Insan
Kelas: INF A 2018
NIM: 18.01.013.018

Pemateri: Anditya Arifianto
Materi: Genetic Algrithm

     Algoritma Genetika adalah algorima yang memanfaatkan proses seleksi alamiah yang dikenal dengan proses evolusi. Dalam proses evolusi, individu secara terus-menerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya. Proses seleksi alamiah ini melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Dalam algritma genetika ini, proses perkembangbiakan ini menjadi proses dasar yang menjadi perhatian utama, dengan dasar berfikir. Dikenalkan oleh John Holland (1975).

·         Struktur Umum Algoritma Genetika Bila P(t) dan C(t) adalah induk dan keturunan pada generasi t, struktur umum algoritma genetika adalah sebagai berikut:
prosedur algoritma genetika :
begin
 0;
 inisialisasi P(t);
evaluasi P(t);
while (kondisi terminasi tidak terpenuhi) do rekombinasi P(t) untuk menghasilkan anak
            C(t);
evaluasi C(t);
seleksi P(t+1) dari P(t) dan C(t);
 t+1;
 end
 end

·         Algoritma Genetika mempunyai metodologi optimasi sederhana sebagai berikut:
1. Menentukan populasi solusi sejumlah tertentu
2. Menghitung nilai fitnes function semua solusi yang ada di dalam populasi
3. Memilih beberapa solusi dengan nilai fitnes function yang paling tinggi
4. Melakukan optimasi dengan cara mutasi dan crossover sebanyak yang diperlukan
5. Menentukan solusi terbaik sebagai solusi terhadap permasalahan yang dioptimasi

·         Properties of genetic algorithm
1.      Individual - Solusi apapun yang mungkin
2.      Populasi – Kelompok dari semua individu
3.      Search Space – Semua solusi yang mungkin untuk masalah tersebut
4.      Chromossom – Blueprint for an individual
5.      Fitness – Kualitas Solusi
6.      Rekombination – Mendekomposisikan dua larutan berbeda dan kemudian mencampurkan bagian-bagiannya secara acak untuk membentuk larutan baru
7.      Mutation – Melakukan secara acak solusi kandidat

·         Chromosome
Kromosom terdiri atas beberapa gen. Kromosom digunakan untuk merepresentasikan suatu solusi yang mungkin dari permasalahan yang akan diselesaikan menggunakan algoritma genetika. Kromosom bisa dinyatakan dalam banyak cara, seperti kromosom biner, kromosom real, kromosom permutasi, dan lain sebagainya. Populasi dalam algoritma genetika adalah sekumpulan kromosom. Dalam satu populasi, akan terdapat N buah kromosom dengan nilai N adalah suatu parameter yang ditetapkan oleh user.

·         Fitness
Fungsi fitness merupakan ukuran kinerja suatu individu agar tetap bertahan hidup yaitu mengukur kelayakan sebuah kromosom untuk dipelihara atau ditiadakan. Dalam hal ini fungsi fitness identik dengan fungsi tujuan dari masalah yang dioptimalkan yaitu volume pendapatan kayu yang maksimal. Fungsi tujuan ditentukan berdasarkan nilai fitness tertinggi. Semakin tinggi nilai fitness akan memberikan hasil yang semakin dekat dengan fungsi tujuan.

·         Parent Selection
Proses ini bertujuan untuk memilih dua kromosom sebagai parent yang selanjutnya akan dilakukan proses crossover dan mutasi pada parent terpilih.

·         Crossover and Mutation
Proses crossover adalah proses persilangan, yaitu membentuk dua offspring (kromosom anak) baru dari dua parent. Hanya offspring yang memenuhi syarat pada permasalahan yang akan ditambahkan ke populasi yang ada. Proses mutasi yaitu mengganti suatu gen dengan gen yang baru. Proses crossover dan mutasi biasanya dilakukan secara acak.


·         
Survivor Selection
Proses ini bertujuan untuk memilih N kromosom dari gabungan antara populasi sebelumnya dan offspring yang dihasilkan. Lalu, N kromosom yang terpilih akan digunakan sebagai populasi untuk perulangan atau iterasi berikutnya
 

Rangkuman Materi Video Pertemuan VIII,IX,X,XI

Nama: ANDRI NUR INSAN
Kelas: INF A 2018 
NIM: 18.01.013.018

Pemateri: Anditya Arifianto
Materi: Heuristic search 

Pencarian
 buta tidak selalu dapat diterapkan dengan baik, hal ini disebabkan waktu aksesnya yang cukup lama serta besarnya memori yang dibutuhkan. Kelemahan ini dapat diatasi jika ada informasi tambahan (fungsi heuristik) dari domain yang bersangkutan.

Heuristik 
adalahsuatu proses yang mungkin dapat menyelesaikan suatu masalah tetapi tidak ada jaminan bahwa solusi yang dicari selalu dapat ditemukan. Fungsi Heuristik adalah fungsi yang melakukan pemetaan (mapping) dari diskripsi keadaan masalah (problema) kepengukur kebutuhan, umumnya direpresentasikan berupa angka.
 AI menggunakan heuristik dalam 2 situasi dasar :

1.       Persoalan/problema yang mungkin memiliki solusi eksaknamun biaya perhitungan untuk menemukan solusi tersebut sangat tinggi dalam kebanyakan persoalan (seperti catur), ruang keadaan bertambah secara luar biasa seiring dengan jumlah

2.       Persoalan yang mungkin tidak memiliki solusi eksak karena ambiquitas (ketidakpastianmendasar dalam pernyataan persoalan atau data yang tersediadiagnose medis merupakan salah satu contohnya.

·         Heuristik hanyalah sebuah cara menerka langkah berikutnya yang harus diambil dalam memecahkan suatu persoalan berdasarkan informasi yang ada/tersedia.

·         Heuristic Search

1.      Iterative Deepening A* (IDA*)

2.      Simlified Memory-Bounded A* (SMA*)

3.      Bi-directional A* (BDA*)

4.      Modified Bi-directional A* (MBDA*)

5.      Dynamic Weighting A* (DWA*)

6.      Beam A* (BA*)

·         Hill climbing (HC)

1.      Simple Hill Climbing

2.      Steepest = Ascent Hill Climbing

·         Simulated Anneling

Simulated Annealing   merupakan metode pencarian random untuk mengoptimalkan metode pencarian heuristic yang berpotensi menimbulkan hasil yang kurang optimal akibat adanya permasalahan optimum local. Secara sederhana, analogi Simulated Annealing adalah metode Hill Climbing yang dilengkapi dengan fitur inisialisasi ulang ditempat random. Meskipun dikatakan random, terdapat parameter tertentu didalam pemilihan tempat pada metode SA.

·         Best-First Search

  Metode ini merupakan kombinasi dari metode depth first search dan breadth-first search. Pada metode best-first search, pencarian diperbolehkan mengunjungi node yang ada di level yang lebih rendah, jika ternyata node pada level yang lebih tinggi ternyata memiliki nilai heuristic yang lebih buruk.

Fungsi Heuristik yang digunakan merupakan prakiraan (estimasi) cost dari initial state ke goal state, yang dinyatakan dengan : 

f’(n) = g(n) + h’(n)

f’ = Fungsi evaluasi

g = cost dari initial state ke current state

h’ = prakiraan cost dari current state ke goal state

·         A*Search

Metode ini dirancang untuk memperbaiki kelemahan metode Greedy dengan cara menghindari ekspansi terhadap rute yang sudah tergolong mahal.

Fungsi evaluasi f(n) = g(n) + h(n)

Dimana g(n) adalah biaya yang sudah dikeluarkan hingga suatu node, dan h(n) adalah estimasi biaya yang perlu dikeluarkan dari suatu node hingga node tujuan.  Dengan katalain, A* menghitung total biaya yang sudah dikeluarkan ditambah estimasi biaya yang perlu dikeluarkan. A* melakukan ekspansi terhadap node dengan f(n) paling rendah.

Sekian dan Terima kasih.

Rangkuman Materi Video Pertemuan IV,V,VI,VII

Nama: Andri Nur Insan

Kelas: INF A 2018

NIM: 18.01.013.018


Pemateri: Anditya Arifianto

Materi: Blind search (Metode Pencarian Buta)

                 Dalam melakukan pencarian, salah satu cara yang banyak digunakan untuk menggambarkan masalah adalah dengan mencantumkan atau menggambarkan semua kemungkinan keadaan yang ada. Memecahkan masalah berarti bergerak atau berpindah dari satu ruang (node) dari titik awal sampai titik yang dituju (ditentukan), untuk karenanya kita memerlukan satu set operator untuk bergerak dari satu node ke node lainnya. Atribut pencarian:

  • Optimalisasi: apakah algoritma dapat menemukan cost path terendah untuk mencapai goal?
  • Kelengkapan: apakah algoritma akan menemukan jalur menuju goal/tujuan jika memang ada?

– digunakan untuk mendefinisikan “return failure otherwise”

– jika tidak ada solusi, dan algoritma tidak dapat mendeteksinya (mendeteksi state berulang-ulang(loop)), maka akan menjadi infinite search dan tidak akan ada hasil yang dikembalikan.

  • Kompleksitas waktu: waktu yang dibutuhkan untuk melakukan pencarian (contoh: jumlah nodes yang digeneraisasikan selama proses pencarian).
  • Kompleksitas waktu: memori yang dibutuhkan.

A.    Definisi

Blind Search atau Uninformed Search secara umum mengartikan bahwa saat proses pencarian kita tidak memiliki clue/hint apakah hasil yang ditemukan lebih baik daripada yang lainnya, sehingga kita tidak mengetahui apakah hasil dari eksplorasi tersebut bermanfaat secara maksimal atau tidak.

Search Space (ruang pencarian) dieksplorasi tanpa memanfaatkan apapuun informasi yang menyangkut pada masalah maka dari itu digunakan istilah blind search atau naive search, dan karena metode ini masih sangat umum maka hasil yang didapat secara instrinsik kurang efisien.

B.     Jenis-jenis Blind (Un-informed) Search

     1.     Breadth First Search (BFS)

          Breadth dapat diartikan dengan luas / lebar, sedangkan first adalah pertama. Penamaan metode ini disesuaikan dengan konsep algoritma secara garis besar yaitu melakukan proses pencarian pada semua node yang berada pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses pencarian pada node di level berikutnya. BFS akan mencari satu per satu node secara melebar dari kiri ke kanan secara berurutan berdasarkan tingkat level nodenya. Jika pada satu level belum ditemukan solusi yang diinginkan, maka pencarian dilanjutkan hingga level berikutnya. Demikian seterusnya hingga ditemukan solusi. Maka, dengan cara seperti ini, BFS menjamin ditemukannya solusi apabila solusinya memang ada. 

Algoritma:

List open, closed, successors={};

Node root_node, current_node;

insert-last(root_node,open)

while not-empty(open);

current_node=remove-first(open);

       insert-last(current_node,closed);

if (goal(current_node)) return current_node;

else

successors=successorsOf(current_node);

for(x in successors)

if(not-in(x,closed)) insert-last(x,open);

endIf

endWhile


  2.   Depth-First Search (DFS)        

        Depth-First Search melakukan eksplorasi dimulai root node (akar) lalu ke cabang pertama (dimulai dari paling kiri) sampai ke kedalaman maksimum , setelah itu baru dilakukan eksplorasi ke cabang lainnya, dan terus dilakukan sampai menemukan state goal.Jika telah mencapai node yang terdalam namun tidak juga ditemukan solusi, maka akan mundur sampai menemukan cabang yang belum dieksplorasi. Tree dilakukan pencarian dengan top-to-bottom, left-to-right.

Depth-First Search dikatakan tidak komplit:

  • jika siklus yang disajikan dalam graf lalu DFS melakukan eksplorasi terhadap siklus berulang(tidak ada batas).
  • jika tidak terdapat siklus, maka algoritma komplit.
  • Efek siklus dapat dibatasi dengan memaksakan kedalaman pencarian yang maksimal(namun algoritma tetap tidak komplit).

    Depth-First Search dikatakan tidak optimal:

  • jika solusi pertama yang ditemukan bukan merupakan solusi dengan shortest path (jalur terpendek) menuju goal yang telah ditentukan.

Algoritma dapat diimplementasikan  dengan menggunakan Last In First Out (LIFO) stack atau menggunakan Rekursif (recursion).

Algoritma:

List open, closed, successors={};

Node root_node, current_node;

insert-first(root_node,open)

while not-empty(open);

current_node= remove-first(open);

insert-first (current_node,closed);

if (goal(current_node)) return current_node;

else

successors=successorsOf(current_node);

for(x in successors)

if(not-in(x,closed)) insert-first(x,open);

endIf

endWhile


        3.   Depth Limited Search (DLS)

               Algoritma DLS (Depth Limited Search) adalah salah satu algoritma yang digunakan untuk pencarian jalur. Algoritma ini merupakan variasi dari algoritma DFS (Depth First Search) yang sudah dijelaskan sebelumnya. Jika Algoritma DFS (Depth First Search) melakukan perhitungan (yang dimulai dengan titik terakhir) dengan cara menghabiskan semua tingkatan / kedalaman dari sebuah titik, maka algoritma ini memiliki batasan dimana perhitungan pada sebuah titik hanya dihitung sampai pada kedalaman tertentu. Setelah semua kemungkinan pada kedalaman itu sudah habis, kemudian akan dilanjutkan pada titik berikutnya.

Algoritma:

Function DLS (node,depth)


          if depth = 0 and node is a goal


                        return node


            if depth > 0


                        foreach child of node


                                    found  DLS (child, depth - 1)


                                    if found ≠ null


                                                return found


            return null


        4.    Iterative – Deepening Search (IDS)

  BFS: complete and optimal

  •    DFS: low space complexity
  •    DLS: the question of “how deep?”
  •    IDS: combine BFS with DFS/DLS
  •    IDS: complete, optimal, low space complexity
  •    Downside: the time complexity is escalated


          5.     Uniform Cost Search (UCS)

                Jika seluruh edges pada graph pencarian tidak memiliki cost / biaya yang sama, maka BFS                     dapat digeneralisasikan menjadi uniform cost search

                Bila pada BFS, pencarian dilakukan dengan melakukan ekspansi node berdasarkan urutan                      kedalaman dari root, maka pada uniform cost search, ekspansi dilakukan berdasarkan cost /                    biaya dari root.

                Pada setiap langkah, ekspansi berikutnya ditentukan berdasarkan cost terendah atau disebut                    sebagai fungsi g(n) dimana g(n) merupakan jumlah biaya edge dari root menuju node n.                          Node-node tsb disimpan menggunakan priority queue.


              6.    Bi- Directional Search (BDS)

Bidirectional Search atau Algoritma pencarian dua arah adalah algoritma pencarian grafik yang menemukan sumber bentuk jalur terkecil ke titik tujuan. Ini menjalankan dua pencarian simultan yaitu :

1. Forward search / titik awal menuju titik tujuan

2. Backward search / target titik ke arah titik sumber