Anda di halaman 1dari 44

LAPORAN PRAKTIKUM

KECERDASAN BUATAN

EMIR SYARIF MACHFUDZ


0701212049

PROGRAM STUDI ILMU KOMPUTER


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SUMATERA UTARA
MEDAN
2023

i
KATA PENGANTAR

Assalamu’alaikum warahmatullahi wabarakatuh


Alhamdulillahirabbil’alamin, atas izin Allah Swt, semoga kita diberikan
kesehatan dan limpahan rahmat dari-Nya. Shalawat berangkaikan salam tidak lupa
dijunjungkan kepada Rasulullah SAW pemimpin serta pembawa berita bahagia
yang jasa beliau tidak akan pernah dilupakan umat Islam dan selalu ada dalam Al-
Qur’an. Beliaulah yang juga memberantas kejahilan para umat manusia di muka
bumi. Dengan itu maka berkembanglah ilmu untuk memusnahkan kebodohan
yang didapatkan dari kasih sayangnya Allah Swt. melalui ayat pertama yang
diwahyukan melalui malaikat Jibril kepada Rasulullah SAW.
Dengan demikian maka Alhamdulillah terbitlah laporan praktikum saya.
Laporan praktikum ini dibuat untuk memenuhi tugas mata kuliah. Penyusun
menyadari masih banyak terdapat kekurangan dalam penulisan laporan praktikum
ini. Untuk itu diharapkan kritik dan saran dari pembaca agar kedepannya
penyusun bisa menyajikan tulisan yang lebih baik lagi. Terimakasih atas
perhatiannya. Penyusun ucapkan. Terimakasih Banyak-Banyak.
Wassalamu’alaikum warahmatullahi wabarakatuh.

Medan, 12 Juli 2023


Penyusun

Emir Syarif Machfudz

ii
DAFTAR ISI

KATA PENGANTAR ............................................................................................i

DAFTAR ISI..........................................................................................................ii

DAFTAR GAMBAR.............................................................................................iv

MODUL 1 ARRAY-LIST.......................................................................................1

1.1 TUJUAN PRAKTIKUM....................................................................................1


1.2 DASAR TEORI...............................................................................................1
1.3 PRAKTIKUM..................................................................................................8
1.4 KESIMPULAN DAN SARAN............................................................................9

MODUL 2 REKURSI DAN BACKTRACKING..............................................11

2.1 TUJUAN PRAKTIKUM..................................................................................11


2.2 DASAR TEORI.............................................................................................11
2.3 PRAKTIKUM................................................................................................12
2.4 KESIMPULAN DAN SARAN..........................................................................14

MODUL 3 NUMPY.............................................................................................16

3.1 TUJUAN PRAKTIKUM..................................................................................16


3.2 DASAR TEORI.............................................................................................16
3.3 PRAKTIKUM................................................................................................17
3.4 KESIMPULAN DAN SARAN..........................................................................18

MODUL 4 NEURON...........................................................................................20

4.1 TUJUAN PRAKTIKUM..................................................................................20


4.2 DASAR TEORI.............................................................................................20
4.3 PRAKTIKUM................................................................................................21
4.4 KESIMPULAN DAN SARAN..........................................................................22

MODUL 5 LEARNING.......................................................................................24

5.1 TUJUAN PRAKTIKUM..................................................................................24

iii
5.2 DASAR TEORI.............................................................................................24
5.3 PRAKTIKUM................................................................................................25
5.4 KESIMPULAN DAN SARAN..........................................................................26

MODUL 6 DECISION.........................................................................................29

6.1 TUJUAN PRAKTIKUM..................................................................................29


6.2 DASAR TEORI.............................................................................................29
6.3 PRAKTIKUM................................................................................................31
6.4 KESIMPULAN DAN SARAN..........................................................................35

DAFTAR PUSTAKA...........................................................................................37

iv
v
vi
MODUL 1

ARRAY-LIST

1.1 Tujuan Praktikum


1. Mahasiswa mampu membuat array
2. Mahasiswa memodifikasi struktur array
3. Mahasiswa mampu mengakses elemen dalam array
4. Mahasiswa mampu menggunakan struktur array dalam beberapa
permasalahan yang melibatkan penggunaan array

1.2 Dasar Teori


1. Array

Array adalah C struktur pendukung untuk array. Meskipun tabel sendiri


didukung oleh paket library NumPy, yang berfokus pada data numerik dan
mendukung struktur data array satu dan multidimensi (multidimensional arrays).

2. List

List, seperti yang diuraikan diatas, bahwa keberadaannya pada python


adalah sebagai pendukung terhadap struktur data array. Karena, array python tidak
mendukung terhadap multi tipe khususnya pada sebuah array, melainkan hanya
type berbasis numerik saja atau karakter tunggal saja yang dapat didukungnya.
Sementara, dukungan terhadap kekurangan array, ada pada struktur data list. List
itu sendiri, menerima tipe-tipe data seperti misalnya, bilangan bulat integer,
bilangan mengambang float, string, karakter dan lainya dalam suatu list yang
sama. Jadi, struktur list ini lebih fleksibel dalam mendukung penyimpanan data
yang beragam tipe. Selain itu, list juga bersifat dinamis, karenanya, suatu list
dapat dimodifikasi (ditambah atau dihapus, dan diubah). Meskipun list fleksibel
dan dinamis, namun list sulit digunakan khususnya pada struktur data biasa.

1
2

3. Struktur Array–List

Baik array maupun list, memiliki struktur atau bentuk umum yang sama.
Karenanya, kebanyakan pengguna python menyebut kedua struktur tersebut
dengan Array-list. Struktur array-list merujuk kepada bentuk berikut :
[ data1, data2, data3, …]
Notasi [ ] merupakan struktur array-list, dimana data1, data2, data2,
mewakili element (data) dari suatu array-list. Setiap data dipisahkan dengan tanda
koma (,), sementara notasi tiga titik (…) merepresentasikan data-data selanjutnya.
Meskipun list memungkinkan menampung data yang berbeda dalam satu array-
list, namun secara pemberkasan, elemen data ditetapkan oleh posisi elemen yang
bertipe bilangan bulat integer, yang disebut dengan indeks. Indeks suatu elemen
array-list dimulai dari indeks nol (0), yang menunjukkan posisi elemen pertama.
Sementara untuk data terakhir adalah total data dikurang 1 (maxElement-1).
Perhatikan contoh berikut :
[ 9, 10, 4, -2, 4]
Elemen array-list diatas di dalam memory disimpan seperti pada struktur
dibawah ini :
[ 9, 10, 4, -2, 4]
01234

4. Mengakses Elemen

Seperti yang telah diuraikan diatas, bahwa elemen-elemen array-list


ditetapkan melalui indeks bertipe bilangan bulat integer. Dengan itu, elemen-
elemen di dalam suatu array-list dapat diakses dengan menggunakan indeks.
Dimana suatu indek bisa berupa indeks bilang bulat positif, maupun bilang bulat
negatif. Adapun untuk mencari (mengakses) suatu elemen array-list, dapat
menyebutkan variabel array-list dengan menyertakan posisi indeks didalam
kurung kotak [ ], dengan tetap memperhatikan prinsip pengindeksan suatu array.
Struktur pengaksesan elemen array-list mengacu kepada bentuk berikut :
3

variabelArrList[posisi_indeks]
5. Pendekatan Positif dan Negatif
Sebelumnya telah disingguh bahwa akses data array-list dapat
menggunakan pendekatan negatif dan positif. Untuk pendekatan positif mengikuti
aturan yang ditunjukkan pada sub materi ‘Struktur Array-list’. Lebih lanjut
langkah untuk mengakses elemen dengan pendekatan positif dan negatif indeks
akan tersusun sepeti berikut :
Pendekatan indeks positif
[ 9, 10, 4, -2, 7]
01234
Pendekatan indeks negatif
[ 9, 10, 4, -2, 7]
-5 -4 -3 -2 -1

6. Membuat Array-list

Mengacu kepada struktur array-list diatas, maka suatu array-list dapat


ditulis seperti berikut :
variabelArrList = [data1, data2, data3, …]

7. Mengubah Elemen

Elemen suatu array-list dapat diubah dengan nilai yang lain menggunakan
pendekatan indeks, baik pendekatan indek positif maupun pendekatan indeks
negatif. Struktur untuk mengubah elemen array-list mengacu kepada bentuk
umum berikut :
varArrayList[indeks] = nilai_elemen_baru

8. Panjang Data

Panjang data yang dimaksud disini adalah banyaknya data dalam suatu
array-list (jumlah data). Dimana suatu array-list dapat diketahui panjang atau
4

banyaknya elemen (data) yang dimilikinya. Fungsi yang disediakan oleh python
adalah fungsi len(varArrayList). Menggunakan fungsi ini perlu menyisipkan
variabel array-list yang ingin diketahui panjangnya suatu elemen array-list.
Sementara untuk melihat jumlah elemen yang sama, dapat menggunakan fungsi
count(varArrayList).

9. Menambahkan Data

Lagi-lagi seperti yang telah disampaikan, bahwa elemen array-list


memungkinkan untuk dapat dimodifikasi. Berarti, maksudnya elemen array-list
dapat diubah, ditambahkan dan dihapus. Elemen array-list dapat ditambahkan
dengan menggunakan fungsi append dan insert, dan extend.
Dengan fungsi append, elemen yang ditambah akan menjadi elemen
terakhir dari elemen sebelumnya. Dengan kata lain, fungsi append digunakan
untuk menambahkan data di akhir. Suatu data yang akan ditambahkan dapat
berupa bilangan bulat integer, float, karakter tunggal maupun karater string
(karakter majemuk). Untuk menggunakan fungsi append seperti pada struktur
berikut :
variabelArrayList.append(data)
Fungsi insert juga berguna untuk menambahkan data di array-list, hanya
saja, fungsi insert memungkinkan data ditambahkan di posisi tertentu. Format
fungsi insert ditulis seperti :
variabelArrayList.insert(indeks, data)
Fungsi extend digunakan untuk menambahkan elemen yang bersifat
iteratif. Iteratif disini bermakna bahwa proses penambahan elemennya berbasis
perulangan dari sederet data lain maupun sekumpulan list. Dengan fungsi extend,
suatu array-list dapat ditambahkan lebih dari satu elemen sekaligus. Fungsi ini
merupakan jawaban dari keterbatasan yang dimiliki oleh fungsi append maupun
insert yang hanya dapat menambahkan sebuah elemen saja. Struktur fungsi extend
mirip dengan fungsi append, yaitu variabelArrayList.extend(elemen atau list)

10. Menghapus Elemen


5

Suatu elemen dapat dihapus dengan menggunakan fungsi del, remove, dan
pop, yang masing-masing fungsi berlaku untuk elemen tertentu. Fungsi del Fungsi
del digunakan untuk menghapus elemen array-list berdasarkan posisi indeksnya.
Struktur umumnya mengacu kepada struktur del variabelArrayList[indeks]
Fungsi remove Fungsi remove digunakan untuk menghapus elemen
spesifik datanya. Maksudnya, bila suatu array-list terdiri dari [9, 10, 20, -2, 7,
100], jika ingin menghapus elemen bernilai -2, maka cukup menyisipkan -2 di
dalam fungsi remove(). Bentuk umum untuk menghapus elemen dengan remove
adalah variabelArrayList.remove(data)
Prinsip fungsi pop sama dengan fungsi del yaitu penghapusan berdasarkan
indeks daftar tabel. Namun, struktur tulisnya sama dengan fungsi hapus, mis.
misalnya.:
variabelArrayList.pop(element_index) Operator Slicing
Operator SLICING merupakan operator yang berfungsi untuk mengiris
beberapa elemen dari sekumpulan array-list. Operator ini akan mengambil elemen
dengan rentang tertentu. Yang dimulai dari indeks tertentu hingga indeks tertentu.
Operator ini diwakili dengan nota titik dua ( : ), yang dituliskan di dalam struktur
array-list dengan menyertakan indeks array disisi kiri dan kanan operator tersebut.
Struktur operator ini yaitu :
varArrayList[indeks awal : indeks akhir]
indeks awal dan akhir tersebut berdasarkan awal dan akhir dari elemen yang ingin
disisir atau diambil. Selain fungsi-fungsi yang telah disampaikan diatas, diantara
beberapa fungsi lain yang dapat digunakan pada struktur data array-list
diantaranya:
copy() : berfungsi untuk menggandakan elemen array ke suatu variabel array
lainnya
index() : berfungsi untuk mengidentifikasi posisi indeks tertentu di suatu array-
list sort() : berfungsi untuk mengurutkan elemen array-list ke dalam bentuk
berurutan
reverse() : berfungsi untuk posisi elemen suatu array-list
clear() : berfungsi untuk menghapus seluruh elemen suatu array-list
6

11. Multidimensi Array

Meskipun disini menggunakan kata ‘array’ namun pada hakikatnya kita


sedang bicara fokus dengan struktur data LIST. Untuk material array, secara
khusus kita bahas pada praktikum selanjutnya. Pada sub materi struktur array-
list, sebenarnya juga kita telah membahas Array dimensi tunggal (single
dimention), yakni, array-list. Sama halnya dengan single dimensi array,
multidimensi array pada python juga tidak didukung, dan lebih sering disebut
dengan multidimensi array-list. Multidimensi array-list merupakan struktur data
terurut yang memiliki unsur baris dan kolom. Multidimensi array
merepresentasikan suatu matrik atau tabel. Namun, python pun pada dasarnya
memiliki struktur data lain yang penggunaanya lebih baik daripada multidimensi
array-list ini, yaitu DICTIONARY. Struktur multidimensi arraylist sesuai
dengan struktur berikut :
[[data11,data12,data13,..],[data21,data22,data23,..]]
Notasi [ ] yang berada disisi luar, merupakan unsur multidimensi array-
list, sementara notasi [ ],[ ] yang berada didalamnya mewakili sekumpulan
elemen yang membentuk list berurutan. Setiap list didalamnya
merepresentasikan unsur baris, yang elemen datanya membetuk kolom-kolom
data berurutan yakni data1, data2, data3,… yang merupakan sederet data list
yang membentuk kolom.

12. Mengakses elemen

Operasi pada array-list multidimensi sama dengan array-list single


dimensi, hanya saja pada penyisiran datanya sedikit berbeda karena strukturnya
yang berbeda dimensi. Untuk mengakses elemen array-list multidimensi
menggunakan pendekatan indeks. Meski demikian multidimensi array-list tidak
mampu menyisir sebagai elemen dari sekumpulan list. Inilah yang menjadi
kekurangan multidimensi array-list, dan lebih lanjut akan kita bahas pada
7

praktikum selanjutnya. Adapun strukut akses data pada multidimensi array-list


mengacu pada struktur berikut :
[indeksBaris][indeksKolom]
Notasi [indeksBaris] berperan untuk mengakses indeks pada dimensi baris,
sementara notasi [indeksKolom] mengakses elemen-elemen pada kolom. Dengan
cara ini shell hanya akan memberikan satu nilai yang relevan dengan posisi indeks
yang disebutkan pada struktur baris (kiri) dan kolom (kanan).

13. Operator Slicing

Penerapan slicing pada multidimensi array-list tidak terlalu banyak


membantu. Kelemahan inilah disempurnakan oleh struktur-struktur seperti
dictionary, dan tupel, dan set.
8

1.3 Praktikum
Percobaan:

Gambar 1.1 Array-list 1 Dimensi

Gambar 1.2 Array-list 1 Dimensi Dengan Perintah Hapus


9

Gambar 1.3 Array-list 2 Dimensi

1.4 Kesimpulan dan Saran


1. Kesimpulan
Array adalah kumpulan data terorganisir dari tipe yang sama. Pada
dasarnya Python Tidak ada struktur tabel resmi atau asli. Dengan kata lain, Python
tidak mendukungnya struktur data larik.
2. Saran
Disarankan kepada pembaca untuk memahami materi Array-list agar bisa
diterapkan dalam pemrograman apapun yang berbasis python.
10
MODUL 2

REKURSI DAN BACKTRACKING

2.1 Tujuan Praktikum


1. Mahasiswa memahami konsep rekursi
2. Mahasiswa mampu menjelaskan konsep rekursi
3. Mahasiswa mampu menggunakan struktur array dalam beberapa
permasalahan yang melibatkan penggunaan array.

2.2 Dasar Teori


1. Rekursi
Suatu fungsi yang memanggil dirinya sendiri dikenal sebagai fungsi
rekursif. Hasilnya adalah perulangan virtual atau pengulangan yang digunakan
dengan cara yang mirip dengan perulangan while. Rekursif ini sering digunakan
pada metode-metode pencarian data yang melibatkan struktur data di memori.
Beberapa hal yang perlu diperhatikan dalam membuat rekusi, yaitu : 1) Suatu
rekursi dibangun dengan fungsi spesifik. Maksudnya, fungsi yang merupakan
algoritma proses dari rekusi itu. 2) Pemanggilan fungsi harus melibatkan fungsi
rekursifnya, dimana fungsi tersebut mungkin saja terpisah dari fungsi pemanggil
Suatu rekursi dapat diilustrasikan seperti pada gambar berikut, dimana terdapat
fungsi yang memanggil dirinya sendiri.
2. Backtracking
Backtracking adalah bentuk rekursi yang sangat berguna untuk jenis
masalah seperti melintasi struktur pohon, di mana kita disajikan sejumlah opsi di
setiap node, yang harus kita pilih salah satunya. BackTracking merupakan
algoritma mundur atau balik yang sering diterapkan pada algoritma pencarian.
Tidak ada struktur yang baku untuk algoritma backtracking ini, namun dalam
praktiknya backtracking menerapkan pendekatan rekursi.

11
12

2.3 Praktikum
Percobaan:

Gambar 2.1 Program BFS

Gambar 2.2 Output Program BFS


13

Gambar 2.3 Program UCS

Gambar 2.4 Output Program UCS


14

2.4 Kesimpulan dan Saran


1. Kesimpulan
1.5 Suatu fungsi yang memanggil dirinya sendiri dikenal sebagai fungsi rekursif.
Backtracking adalah bentuk rekursi yang sangat berguna untuk jenis masalah
seperti melintasi struktur pohon, di mana kita disajikan sejumlah opsi di setiap
node, yang harus kita pilih salah satunya.
2. Saran
1.6 Disarankan kepada pembaca untuk memahami materi rekursif dan
backtracking agar bisa diterapkan dalam pemrograman apapun yang berbasis
python.
1.7
15
MODUL 3

NUMPY

3.1 Tujuan Praktikum


1. Mampu menjelaskan konsep Array NumPy.
2. Mampu membuat dan mengelola Array NumPy untuk keperluan
komputasi numerik.
3. Mampu melakukan operasi matematika dasar pada Array NumPy.
4. Mampu menggunakan fungsi NumPy untuk keperluan statistik dasar.
5. Mampu melakukan indexing dan slicing pada elemen array NumPy.
6. Mampu menggunakan ufunc NumPy untuk melakukan operasi matematika
yang lebih kompleks pada array NumPy.
7. Mampu melakukan shape manipulation pada array NumPy

3.2 Dasar Teori


NumPy (Numerical Python) merupakan pustaka (library) Python yang
umum digunakan untuk memproses array dan matriks multidimensi dengan cepat
dan efisien. cc Diantara keuntungan penggunaan NumPy ialah : 1) NumPy
membantu melakukan operasi matematika dasar pada array dan matriks 2) Dengan
fungsi-fungsi yang dimilikinya, NumPy dapat membantu operasi matematika yang
kompleks dan kuat seperti sin, cos, exp, log, dan lain-lain. 3) Membantu
memproses data numerik berupa array berdimensi tunggal (vektor) hingga
multidimensi (matriks). 4) NumPy dapat membantu mengolah data berukuran
besar secara cepat dan efisien.
Array NumPy adalah objek fundamental pada NumPy. Seperti yang
diuraikan pada modul 1, array merupakan sekumpulan data terurut dengan tipe
sejenis. Karenya Array NumPy juga demikian. Namun NumPy khusus menangani
data array berdimensi banyak (multidimensi) dan bertipe sejenis pula. Array

16
17

NumPy dapat memiliki 1 dimensi atau lebih, dan dapat digunakan untuk
menyimpan data numerik, seperti integer, float, dan bilangan kompleks.

3.3 Praktikum
Memanggil NumPy

Gambar 3. 1 Memanggil Numpy Array NumPy satu dimensi

Gambar 3. 2 Array NumPy satu dimensi


Memanggil bilangan

Gambar 3. 3 Memanggil Bilangan Menambah variable array NumPy

Gambar 3. 4 Dua variabel array


Operasi Perhitungan array NumPy
18

Gambar 3. 5 Operasi Perhitungan array NumPy

Operasi dasar bilangan bulat dengan variabel

Gambar 3. 6 Operasi Dasar


Array NumPy dua dimensi

Gambar 3. 7 Array NumPy dua dimensi

3.4 Kesimpulan dan Saran


1. Kesimpulan
Array NumPy adalah objek fundamental pada NumPy. Seperti yang
diuraikan pada modul 1, array merupakan sekumpulan data terurut dengan tipe
sejenis. Karenya Array NumPy juga demikian. Namun NumPy khusus menangani
data array berdimensi banyak (multidimensi) dan bertipe sejenis pula. Array
NumPy dapat memiliki 1 dimensi atau lebih, dan dapat digunakan untuk
menyimpan data numerik, seperti integer, float, dan bilangan kompleks.
2. Saran
Disarankan kepada pembaca untuk melakukan komputasi Numpy agar
pembaca bisa mengerti sintak dan bagaimana pemrograman dengan Numpy
tersebut.
19
MODUL 4

NEURON

4.1 Tujuan Praktikum


1. Mampu menjelaskan konsep neuron jaringan syaraf tiruan
2. Memahami konsep pembelajaran mesin
3. Menggunakan neuron model McCulloch-Pit, Hebbian, dan Perceptron
4. Memahami metode error neuron.

4.2 Dasar Teori


Neuron adalah unit dasar dalam sistem saraf yang bertanggung jawab
untuk menerima, memproses, dan mengirimkan sinyal-sinyal listrik dan kimia di
dalam tubuh organisme. Neuron terdapat dalam sistem saraf manusia dan hewan,
dan mereka berperan penting dalam mentransmisikan informasi dan mengatur
fungsi-fungsi tubuh. Secara struktural, neuron terdiri dari beberapa komponen
utama yakni badan sel (soma), denrit, akson, dan terminal akson (sinapsi).
Dalam konteks Jaringan Saraf Tiruan (JST), konsep neuron dalam JST
terinspirasi oleh struktur dan fungsi neuron biologis, meskipun terdapat perbedaan
signifikan dalam cara operasi dan implementasinya. Neuron dikonseptualisasikan
sebagai model matematika dari neuron biologis. Neuron dalam JST memiliki
komponen yang serupa dengan neuron biologis, seperti : 1) Komponen masukan
yang mewakili peran denrit 2) Komponen pemroses yang mewakili peran badan
sel (soma) untuk mengalikan dengan bobot dan menjumlahkannya dan
meneruskannya melalui fungsi aktivasi hingga menghasil sel aktif maupun non
aktif. 3) Komponen pengirim sel aktif dan non aktif yang mewakili tugas akson ke
sel saraf di bagian tubuh lainnya.
Dalam JST, neuron-neuron ini digunakan untuk memodelkan komputasi
yang dilakukan oleh sistem saraf manusia dalam pemrosesan informasi. Neuron
juga sering disebut sebagai "neuron buatan" atau "unit neuron". Neuron buatan
dapat dikombinasikan dalam lapisan-lapisan dan jaringan yang kompleks untuk
20
21

memodelkan dan menyelesaikan berbagai tugas pemrosesan informasi. setiap


neuron buatan memiliki bobot dan fungsi aktivasi yang digunakan untuk mengatur
kontribusinya terhadap output akhir dari jaringan.

4.3 Praktikum
Percobaan dengan satu pola input [0, 1] dan pembuktian operasi AND
adalah 0, bobot [1,1], dan threshold = 1

Gambar 4. 1 Percobaan pola [0,1]

Percobaan dengan 4 pola masukkan berupa [0,0,1,1] dan [0,1,0,1] dengan


bobot = 1 dan threshold = 1
22

Gambar 4. 2 Percobaan dengan 4 pola

4.4 Kesimpulan dan Saran


Neuron adalah unit dasar dalam sistem saraf yang berperan penting dalam
menerima, memproses, dan mengirimkan sinyal-sinyal listrik dan kimia di dalam
tubuh organisme. Salah satu konsep neuron dalam JST adalah Neuron McCulloch-
Pitts (McP). McP adalah model sederhana dalam jaringan saraf tiruan yang
memiliki input biner (1 dan 0) melalui dendrit. Neuron McP juga menggunakan
ambang batas (threshold) untuk menentukan apakah sinyal keluar dihasilkan atau
tidak. Konsep neuron McP memberikan dasar untuk membangun model sederhana
dalam JST yang dapat memproses input biner dan menghasilkan output
berdasarkan ambang batas yang ditentukan.
23
MODUL 5

LEARNING

5.1 Tujuan Praktikum


1. Mampu memahami konsep dasar JST model Perceptron serta memahami
fungsi dan aktivasi pada Perceptron
2. Mampu mengimplementasikan model Perceptron pada Python
3. Dapat menggunakan model Perceptron untuk menyelesaikan
masalah klasifikasi sederhana dalam pemisahan data linear

5.2 Dasar Teori


1. Machine Learning
Machine learning adalah bidang dalam kecerdasan buatan yang berkaitan
dengan pengembangan algoritma dan model yang memungkinkan komputer untuk
belajar dan meningkatkan performanya secara otomatis dari pengalaman dan data
yang diberikan.
2. Learning
Learning dalam JST merujuk pada kemampuan jaringan saraf untuk
mempelajari pola dan memperbarui parameter internalnya berdasarkan data yang
diberikan. Proses ini memungkinkan jaringan saraf beradaptasi serta menghasilkan
prediksi atau output yang lebih akurat.
3. Perceptron
Perceptron adalah salah satu jenis model dasar dalam bidang machine
yang merupakan model arsitektur yang terdiri dari satu lapisan neutron tunggal
atau single layer neuron. Bobot merupakan salah satu parameter yang
menghubungkan input dan output. Perceptron digunakan untuk menyelesaikan
masalah klasifikasi biner, di mana tujuannya untuk memisahkan dua kelas data
dengan garis pembatas yang optimal. Perceptron merupakan dasar dari model
jaringan saraf tiruan yang lebih kompleks yang dalam penggunaannya
menggabungkan beberapa perceptron yang membentuk jaringan saraf tiruan yang
lebih kuat.

24
25

5.3 Praktikum
Percobaan dengan input dan output biner dengan pembuktian operator
logika AND sebagai berikut :

Tabel 5. 1 Tabel Kebenaran Percobaan 1


Gambar 5. 1 Input program percobaan pertama

Gambar 5. 2 Output program percobaan pertama

Percobaan dengan input dan output biner dengan pembuktian operator logika OR
26

Tabel 5. 2 Tabel Kebenaran Percobaan 2

Gambar 5. 3 Input program latihan 2

Gambar 5. 4 Output program latihan 2

5.4 Kesimpulan dan Saran


Machine Learning adalah salah satu bidang dalam kecerdasan buatan yang
berkaitan dengan pengembangan algoritma yang memungkinkan komputer untuk
belajar dan meningkatkan performanya secara otomatis, dalam proses learning ini
memungkinkan jaringan saraf untuk beradaptasi dengan lingkungan atau tugas
tertentu sehingga dapat menghasilkan prediksi yang akurat, dan diantara beberapa
bidang dalam JST, terdapat salah satu jenis model yang disebut Perceptron,
27

Perceptron merupakan struktur yang terdiri dari input, bobot dan, fungsi aktivasi
dan output. Perceptron sendiri digunakan untuk masalah klasifikasi biner yang
tujuannya adalah untuk memisahkan dua kelas data dengan garis pembatas yang
optimal.
28
MODUL 6

DECISION

6.1 Tujuan Praktikum


1. Mampu memahami dasar pengambilan menggunakan logika Fuzzy
2. Mampu memahami konsep dasar dari logika Fuzzy
3. Mampu menerapkan teori dari logika Fuzzy pada kehidupan sehari-hari

6.2 Dasar Teori


1. Keputusan
Keputusan atau sistem keputusan adalah proses atau mekanisme yang
digunakan untuk memilih atau menentukan tindakan yang paling tepat dari
berbagai pilihan yang tersedia. Dalam konteks kecerdasan buatan, sistem
keputusan sering kali merujuk kepada penggunaan algoritma, model matematika,
dan teknik analisis yang digunakan untuk memprediksi hasil yang optimal
berdasarkan situasi yang diberikan.
Tujuan utama dari sistem keputusan adalah membantu pengambil
keputusan manusia atau emsin dalam menganalisis informasi yang rumit dan
mampu memilih solusi terbaik berdasarkan kriteria sebelumnya.
2. Logika Fuzzy
Logika fuzzy adalah suatu konsep dalam kecerdasan buatan yang memodel
kan ketidakpastian dalam pengambilan keputusan. Nilai kebenaran tidak hanya
bernilai “benar atau “salah” tetapi bisa juga diantaranya. Logika fuzzy
memungkinkan penggunaan nilai keanggotaan untuk menggambarkan suatu
variabel dalam himpunan tertentu.

29
30

3. Komponen Fuzzy
Komponen logika fuzzy merupakan elemen-elemen penting dalam
kerangka kerja yang digunakan untuk mewakili informasi yang tidak pasti,
diantaranya sebagai berikut :

a. Variabel linguistic
b. Hipunan linguistic
c. Fungsi keanggotaan
d. Basis aturan
e. Mesin inferensi
f. Defuzzifikasi

4. Tahapan Logika Fuzzy


Tahapan dari logika fuzzy berisi langkah-langkah yang digunakan dalam
penerapan logika fuzzy untuk pengambilan keputusan. Langkah-langkahnya
adalah sebagai berikut :
Fuzzyfikasi : Pada tahap ini nilai-nilai non fuzzy yang di input
dikonversikan menjadi nilai fuzzy yang sesuai.
Evaluasi Aturan : Tahap selanjutnya adalah menentukan tingkatan
kebenaran dengan menggunakan operator logika AND, OR, dan NOT

Agregasi : Selanjutnya adalah menggabungkan hasil dari evaluasi untuk


mendapatkan satu kesimpulan fuzzy

Defuzzifiikasi : Pada tahapan akhir adalah mengubah nilai fuzzy hasil


agregasi menjadi nilai non fuzzy yang dapat digunakan dalam pengambilan
keputusan.
31

6.3 Praktikum
1. Percobaan pada keputusan suatu kelayakan kredit berdasarkan dua faktor
input yang dimana x = usia dan y = pendapatan. Untuk usia memiliki keanggotaan
: tua dan muda, sementara variabel pendapatan berupaya keterangan tinggi,
sedang, dan rendah. Berikut adalah kode programnya :

Gambar 6. 1 Input Program Percobaan 1

Gambar 6. 2 Input Program Percobaan 1


32

Gambar 6. 3 Input Program Percobaan 1

Gambar 6. 4 Input Program Percobaan 1

Gambar 6. 5 Output Program Percobaan 1


33

2. Percobaan selanjutnya adalah aplikasi pemilihan makanan sehat dan tidak


sehat berdasarkan input kalori dan lemak berikut adalah kode programnya :

Gambar 6. 6 Input Program Percobaan 2

Gambar 6. 7 Input Program Percobaan 2


34

Gambar 6. 8 Input Program Percobaan 2

Gambar 6. 9 Input Program Percobaan 2


35

Gambar 6. 10 Input Program Percobaan

Gambar 6. 11 Output Program Percobaan 2

6.4 Kesimpulan dan Saran


1. Kesimpulan
Keputusan atau sistem keputusan adalah proses atau mekanisme yang
digunakan untuk memilih atau menentukan tindakan yang paling tepat dari
berbagai pilihan yang tersedia. Nilai kebenaran tidak hanya bernilai “benar atau
“salah” tetapi bisa juga diantaranya. Logika fuzzy memungkinkan penggunaan
nilai keanggotaan untuk menggambarkan suatu variabel dalam himpunan tertentu.
2. Saran
Diharapkan setelah diberikannya modul pertemuan 5, mahasiswa dapat
memahami dan mengimplementasikan materi tersebut di kehidupan seharu-hari
sesuai dengan kapasitas yang diperlukan.
DAFTAR PUSTAKA

Anwar, B. 2011. Penerapan Algoritma Jaringan Syaraf Tiruan Backpropagation


Dalam Memprediksi Tingkat Suku Bunga Bank. Jurnal SAINTIKOM, Vol.
10 / No. 2.
Athmaja, S., Hanumanthappa, M., & Kavitha, V. (2017). A survey of machine
learning Algorithms for big data analytics. 2017 International Conference
on Innovations In Information, Embedded and Communication Systems
(ICIIECS), 1–4.
Chan, Jamie. 2015. Learn Python in One Day and Learn It Well. (California:
CreateSpace Independent Publishing).
Diakses pada 7 Juli 2023 pukul 22.30 WIB.
Link:https://codingstudio.id/blog/fungsi-array-pengertian-jenis/
Diakses panda tanggal 8 Juli 2023, pukul 01.30 WIB.
Link:https://www.neurobion.com/id_ID/halaman-utama/learn/bagaimana-
sistem-saraf-bekerja.html
Numpy 1.25.0 released (17 juni 2023) https://numpy.org/news
Parta Setiawan, (2023). Pengertian, Jenis Dan Struktur Meuron.
https://www.gurupendidikan.co.id/neuron-sel-saraf/
Peachpit – Understanding the Three Types of Arrays
Sutiono S.Kom, (2021). Pengenalan numpy, Pengenalan NumPy: Mengapa dan
Kelebihannya - DosenIT.com
Trivusi. 2023. Struktur Data Array: Pengertian, Karakteristik, dan Kegunaannya.
Unstop – Advantages and Disadvantages of Array in ComputerProgramming
(29 Juli 2022)
Wikipedia. 2021. Rekursi. Diakses pada 9 Juli 2023 pukul 19.05 WIB.
Link:https://id.m.wikipedia.org/wiki/Rekursi

Anda mungkin juga menyukai