Rabu, 13 Januari 2021
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
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
t ← 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 ← 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.
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 eksak, namun 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 (ketidakpastian) mendasar dalam pernyataan persoalan atau data yang tersedia, diagnose 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