Sidang Proyek Akhir

Bulan ini lumayan padat, banyak anak bimbingan saya yang ngejer pendaftaran sidang proyek akhir. Alhamdulillah 3 udah beres sidang. Ada boby yang melakukan forensik di apps onedrive. Skenarionya boby bantu forensik pada kasus korupsi. Penyidik mendapatkan barang bukti HP android dan diminta melakukan forensik.

Teza melakukan analisa malware di deepweb. Jadi dia diminta melakukan studi tentang peredaran malware di deepweb. Jadi dia nemu beberapa forum dan website ilegal yang digunakan untuk jual beli malware. Kemudian sampel yang ditemukan coba dianalisa dengan metode statik menggunakan Ghidra.

Fikri membangun Honeypot untuk pengamanan SSL, webserver dan wordpress. Dia pake cowrie, snare dan log honeypot.

Minggu ini ada 3 siswa juga yang lagi ngejar daftar sidang. Semuanya tentang forensik. Ada Farrel, dia melakukan forensik di gopay. Michelle melakukan forensik di Ovo dan Dinar melakukan forensik pada kasus serangan malware di wordpress. Semoga bisa lancar semua dan lulus dengan nilai baik.

Decision Tree Learning

Decisition Tree Learning adalah salah satu metode yang cukup banyak digunakan pada mesin learning. Ada beberapa algoritma yang dapat digolongkan sebagai Decision Tree (DT), yaitu ID3, ASSISTANT dan C4.5.

DT adalah metode untuk memprediksi nilai diskret dari fungsi target. Fungsi yang dipelajari direpresentasikan dalam bentuk decision tree. Tree dapat direpresentasikan juga dengan rules if-then. DT melakukan klasifikasi menggunakan sebuah tree, mulai dari root, node sampai ke leaf (daun). Setiap node melakukan pengujian atribute tertentu, dan mengikuti cabang dari tree ke bawah sampai daun.

Contoh kasus adalah tabel decision tree tentang klasifikasi cuaca yang cocok untuk main tenis. Dengan 3 fitur yaitu: outlook (ramalan cuaca), Humidity (Kelembapan udara) dan Kecepatan Angin.

Outlook memiliki tiga cabang yaitu: sunny (cerah), Overcast (mendung), Rain (Hujan)

Humidity: ada high dan normal

Wind: Strong dan weak

Secara umum DT cocok untuk permasalahan dengan karakteristik berikut:

  1. Kondisi dapat digambarkan dengan sepasang nilai atribut (karakter) tertentu.
  2. Fungsi target memiliki nilai diskrit
  3. Diperlukan Hipotesis yang logis
  4. Training data yang mengandung noise, atau data dengan nilai yang hilang

Contohnya penggunaan: diagnosa data medis, analisa resiko kredit,

Algoritma dasar yang digunakan untuk DT adalah ID3 yang diteliti oleh Quinlan pada tahun 1986, dan kemudian dikembangkan menjadi C4.5 juga oleh Quinlan tahun 1993.

Pertanyaan pertama adalah atribut apa yang dipilih menjadi root? Untuk menentukannya, setiap atribut diuji secara statistik untuk menentukan seberapa baik atribut tersebut melakukan klasifikasi data training. Atribut terbaik kemudian dipilih menjadi root. Kemudian cabangnya dipilih lagi berdasarkan atribut mana yang terbaik dst.

Untuk menentukan atribut mana yang terbaik digunakan information gain. Information gain mengukur seberapa baik atribut tersebut memisahkan data berdasarkan klasifikasi yang diinginkan.

Untuk mendapatkan information gain, kita harus mengukur entropy terlebih dahulu. Entropy adalah ukuran impurity (keteracakan) dari data

Contoh dari tabel tentang Cuaca yang baik untuk main tenis:

Kita hitung nilai Gain dengan rumus berikut:

dengan rumus entropi:

diperoleh nilai Gain berikut:

Nilai Gain tertinggi adalah Outlook, sehingga outlook kita pilih menjadi root.

Kemudian untuk memilih cabang dari sunny harus dihitung lagi gain terbaik sebagai berikut:

Karena nilai gain tertinggi adalah humidity maka dipilih cabang dari sunny adalah humidity. kemudian dilakukan perhitungan lagi sehingga diperoleh Decision Tree akhir adalah sebagai berikut:

Contoh video yang menjelaskan tentang merancang decision tree:

Sampai disini dulu. semoga Bermanfaat!

referensi:

Mitchell, Tom Michael. The discipline of machine learning. Vol. 9. Pittsburgh: Carnegie Mellon University, School of Computer Science, Machine Learning Department, 2006

Pengenalan Machine Learning – 3

Berikut ini contoh dari learning task T, dengan pengukuran performance P, berbasis pengalaman E.

T: Bermain catur

P: Persentase game yang dimenangkan

E: Pengalaman Berlatih melawan diri sendiri


T: Pengenalan kata dari tulisan tangan

P: Persentasi jumlah kata yang berhasil diklasifikasi dengan benar

E: Database gambar-gambar kata dari tulisan tangan yang telah diberi label oleh manusia



T: Kendali otomatis mobil pada jalan 4 lajur menggunakan sensor

P: Jarak tempuh rata-rata hingga terjadi eror menurut penilaian (orang)

E:Urutan gambar-gambar dan perintah kemudi yang direkam ketika mengamati pengemudi orang


T: Kategorisasi pesan email sebagai spam atau legitimate (bukan spam)

P: Persentasi pesan email yang diklasifikasikan dengan benar

E: Database email, dengan label dari orang

Beberapa contoh teknologi machine learning:

  1. Autonomous car
  2. Deteksi objek
  3. Labeling objek pada gambar
  4. Speech recognition

Contoh task Data mining:

Klasifikasi kedaruratan seorang pasien hamil dari data medis dengan task data mining.

Diketahui: data 9714 pasien, masing-masing menjelaskan status kehamilan pasien. Yang terdiri dari 215 fitur. Seperti:

  • kehamilan pertama? (yes/no)
  • Anemia?(y/n)
  • diabetes?(y/n)
  • proses kelahiran sebelumnya prematur? (y/n)
  • hasil ultrasound? (normal/abnormal)
  • operasi c-section?
  • emergency c-section?

Lakukan prediksi pasien yang memiliki resiko tinggi untuk Emergency Cesarean section!

Hasil data mining, dari 18 rules disimpulkan bahwa:

If tidak ada kelahiran sebelumnya yang normal, dan hasil ultrasound trismester 2 tidak normal dan Malpresentation pada saat admisi, Then: Kemungkinan emergency c-section adalah 0,6 ; dari data training 26/41=0,63 dari data tes 12/20= 0,6

Contoh kasus lainnya adalah Analisa resiko Pinjaman.

Dari data seorang pelanggan pada 3 waktu berbeda berikut ini:

  • Tahun kredit
  • Jumlah pinjaman
  • besar Pemasukan
  • Punya rumah?
  • Akun ilegal?
  • Apakah pelanggan yang profitable?

Dari data tersebut bisa dibuat rules untuk memprediksi apakah pelanggan ini profitable atau beresiko.

Begitu juga dari data pembelian pelanggan dapat dipelajari polanya dan diprediksi pembelian berikutnya serta strategi customer retention.

Sampai disini dulu. Insyaallah nanti akan saya lanjutkan pada tulisan berikutnya. Semoga bermanfaat!

Pengenalan Machine Learning-2

Proses Learning adalah generalization. Maksudnya kita menggunakan pengalaman masa lalu yang telah kita miliki, kemudian menggunakan pengalaman tersebut untuk masalah yang dihadapi saat ini jika kondisinya dianggap serupa. Caranya dengan melakukan generalisasi.

Contohnya di masa lalu saya pernah makan apel, ternyata setelah makan apel itu tenggorokan saya gatal. Dari kejadian itu otak kita menyimpulkan bahwa saya alergi apel. Saat ini saya ditawari pisang. Saya belum pernah makan pisang. Namun dari pengalaman memakan apel, otak saya melakukan generalisasi, menganggap bahwa pisang dan apel sama-sama buah, sehingga bisa jadi tenggorokan saya akan gatal juga bila makan pisang.

Menurut Herbert Simon,

Learning denotes changes in the system that are adaptive in the sense that they enable the system to do the task or tasks drawn from the same population more efficiently and more effectively the next time.

H.Simon

Kurang lebih artinya pembelajaran berarti menunjukkan perubahan dalam sistem yang adaptif dalam arti bahwa mereka memungkinkan sistem untuk melakukan tugas (task), atau menyelesaikan task yang diambil dari pengalaman yang sama lebih efisien dan lebih efektif di waktu berikutnya.

Bisa dikatakan proses learning adalah kemampuan untuk melakukan sebuah task pada kondisi yang belum pernah dihadapi sebelumnya.

Beberapa contoh task

  1. Pengenalan pola: mengenali wajah, atau ekspresi, mengenali tulisan tangan, atau suara, atau gambar medis
  2. Membuat pola: membuat gambar, atau urutan gambar
  3. Mengenali anomali (kejanggalan): transaksi kartu kredit yang tidak normal, pola pembacaan sensor yang tidak normal pada instalasi nuklir
  4. Prediksi: harga saham, atau kurs mata uang asing

Contoh aplikasi mesin learning:

  1. Perdagangan: Market Basket analysis (analisa pola pembelian barang di toko), customer relationship management (menganalisa pola belanja pelanggan di masa lalu)
  2. Keuangan: Credit scoring (penilaian pengajuan kredit), Fraud detection (deteksi kecurangan)
  3. Manufacturing: Kontrol, robotik, troubleshooting
  4. Medicine: Medical diagnosis
  5. Telecommunications: spam filtering, intrusion detection
  6. Bioinformatic: Motif, alignment
  7. Web Mining: Search Engine

Sampai disini dulu, insyaallah nanti saya lanjutkan pada tulisan berikut. Semoga Bermanfaat!

Pengenalan Machine Learning-1

Machine Learning (ML) adalah salah satu teknologi yang sedang berkembang pesat. Contohnya ML digunakan oleh email untuk melakukan filtering spam. ML digunakan juga oleh google maupun amazon untuk memberikan rekomendasi atau saran kepada kita mengenai buku yang sesuai dengan minat kita. ML digunakan juga untuk melakukan pengenalan wajah. ML juga digunakan google translate untuk menerjemahkan teks.

Lantas apa itu ML?

Menurut Herbert Simon, ” Learning is any process by which a system improves performance from experience”. Kurang lebih artinya Learning adalah proses yang dilakukan sistem untuk meningkatkan kemampuannya melalui pengalaman.

Mr Simon ini seorang peraih nobel, dan Turing Award, salah seorang pioner ML. Menariknya Mr Simon ini awalnya seorang ilmuwan ekonomi dan psikologi, beliau bersama Allen Newell dan Cliff Shaw membuat program komputer logic theorist yang disebut sebagai program artificial intelligence pertama.

Definisi ML lainnya menurut Tom Mitchell. ML adalah ilmu yang mempelajari algoritma yang meningkatkan performa P, dengan melakukan task T dengan experience E. <P,T,E> . Mr Mitchell adalah peneliti ML, penulis buku handbook tentang Machine Learning.

Apa bedanya ML dengan pemrograman biasa?

Biasanya pada komputer, kita memiliki data yang kemudian dimasukan pada sebuah program. Program kemudian akan menghasilkan output.

Sementara pada ML, yang kita miliki hanya data dan output. Gak punya programnya. Nah data dan output ini yang kita masukan pada ML untuk kemudian dipelajari polanya, bagaimana data bisa menghasilkan output. Setelah itu akan didapat programnya.

Kapan kita perlu menggunakan ML?

Nah ternyata tidak semua persoalan perlu diselesaikan dengan ML. ML biasanya digunakan pada kasus atau persoalan berikut:

  • Tidak ada Human Expertise : sesuatu permasalahan yang baru, yang belum ada pengetahuan atau keahlian tentang bidang itu. Misalnya tentang navigasi di Mars
  • Pengetahuan yang sulit untuk dijelaskan : Misalnya tentang speech recognition atau pengenalan suara
  • Model yang harus di personalisasi (customized): contohnya di bidang kesehatan, dimana setiap orang memiliki data medis yang unik
  • Model dibangun berdasarkan data yang banyak: misalnya genom DNA

Contoh permasalahan yang dapat diselesaikan dengan ML diantaranya:

  1. Pengenalan tulisan tangan
  2. Autonomous driving

Sampai disini dulu, insyaAllah akan saya lanjutkan pada tulisan berikutnya. Semoga Bermanfaat!

Bahasa R dasar – 4

untuk membaca file excel kita dapat menggunakan library openxlsx. Cara manggilnya:

library(openxlsx)

untuk menampilkan tabel yang telah diimport menggunakan perintah

print(nama_tabel) 

untuk menampilkan kolom tertentu dari tabel dengan cara

print(nama_tabel$nama_kolom)

Dengan menggunakan perintah diatas, data di tabel bisa ditampilkan berdasarkan kategori/kolom tertentu. Untuk menampilkan grafik batang contohnya menampilkan tren jumlah mahasiswa dari tahun ke tahun perfakultas dari tabel data mahasiswa sebagai berikut:

summarybyfakultas_nama_variabel <- aggregate(x=mahasiswa_namatabel$JUMLAH_namakolom, by=list(Kategori=mahasiswa$FAKULTAS, Tahun=mahasiswal$ANGKATAN), FUN=sum)
summarybyfakultas <- setNames(summarybyfakultas, c("fakultas","tahun", "jumlah_mahasiswa"))
summarybyfakultas
summarybyfakultas$tahun = as.factor(summarybyfakultas$tahun)
ggplot(summarybyfakultas, aes(x=fakultas, y=jumlah_mahasiswa)) +
geom_bar(stat = "identity", aes(fill = tahun), width=0.8, position = position_dodge(width=0.8)) +
theme_classic()

Untuk membuat Pie Chart di R bisa menggunakan ggplot dan coord_polar

contoh:

piechart<- ggplot(nama_tabel, aes(x="", y=...., fill=...))+ geom_bar(width = 1, stat = "identity")
piechart <- piechart + coord_polar("y", start=0)
piechart <- piechart + ggtitle("Judul Tabel")
piechart <- piechart + scale_fill_brewer(palette="Blues_warna")+ theme_minimal()
piechart <- piechart + guides(fill=guide_legend(title="Judul legen"))
piechart <- piechart + ylab("keterangan legend")
piechart

Semoga Bermanfaat!

referensi:

academy.dqlab.id

Bahasa R dasar -3

Misalnya kita sudah membuat sebuah vektor:

a(1:10)

berarti vektor a isinya angka 1 sampai dengan 10. Sekarang kita dapat mengambil sebuah data dari vektor a. Misalnya kita ingin mengambil angka 5. Pada vektor setiap data memiliki nomer index, atau urutan ke berapa dia ada di vektor tersebut. Penulisan index adalah dengan menggunakan kurung siku yang mengapit sebuah angka urutan. Cara penulisan ini disebut juga accessor

Beberapa catatan tentang struktur data di R:

  • Vector tipe data yang cuman bisa diisi dengan tipe data yang sama. alias semua isinya harus memiliki tipe data yang sama, misalkan angka ataupun teks. Pembuatan vector menggunakan fungsi c, dan bisa diakses dengan accessor dengan angka indeks yang diapit kurung siku. Namun jika berupa named vector, maka indeksnya adalah berupa teks.
  • List adalah tipe data yang dapat diisi dengan tipe data berbeda, contoh dengan campuran teks dan angka misalnya. Pembuatan list adalah menggunakan fungsi list, dan seperti vector elemen pada list diakses dengan accessor yang diapit kurung siku.
  • Data Frame adalah tipe data yang terdiri dari satu atau beberapa vector ataupun list. Untuk membuat data frame kita gunakan fungsi  data.frame, dan kita bisa mengakses menggunakan accessor $ diikuti nama kolom, dan juga angka indeks.

Untuk menampilkan grafik di R, contohnya kita dapat menggunakan paket ggplot. Untuk menggunakannya paket ini bisa menggunakan perintah

library("ggplot2")

membuat kanvas: nama_kanvas<-ggplot(nama_data.frame, aes(x=nama_vektor, y=nama_vektor, fill=nama_vektor)

membuat bentuk geometri bar:

nama_kanvas+geom_bar(width=ukuran_lebar_tiap_bar, stat=transformasi_data_contoh”identity”)

menambahkan judul

nama_kanvas + ggtitle(“…”)

menambah caption pada sumbu x

+ xlab(“..”)

pada sumbu y

+ylab(“..”)

Semoga Bermanfaat!

reference:

https://academy.dqlab.id/

Bahasa R – dasar 2

R memiliki banyak fungsi menarik. Contohnya untuk mengurutkan angka atau teks dapat menggunakan fungsi c. Oiya bahasa R ini case sensitif, maksudnya huruf besar dan kecil ngaruh banget. Fungsi c untuk mengurutkan menggunakan huruf kecil:

contoh:

c(1:10)

akan menampilkan angka dari 1 2 3 sampai 10.

Untuk menyimpan angka di variabel, R menggunakan format berikut:

a<-1

Perintah diatas untuk menyimpan angka 1 pada variabel a

Ada 3 tipe data yang sering digunakan di R:

  • List
  • vector
  • dataframe

Vektor

struktur data yang menyimpan deretan nilai dengan tipe sama. Contohnya teks saja, atau angka saja. Vektor diberi nama function yang hanya memiliki satu huruf saja.

contoh:

a(1,3,4)

Untuk nilai vektor yang berurutan bisa dipersingkat dengan tanda operator titik dua :

contoh:

a(1,2,3,4,5) 

bisa juga ditulis

a(1:5)

contoh vektor teks:

nama_gunung<-a("merapi","semeru","bromo")

Semoga Bermanfaat!

Dasar Python -4

Percabangan, dalam python dikenal juga percabangan if,else. Contohnya ada 3 percabangan:

a. If A then B (Jika memenuhi kondisi A, maka lakukan B, jika tidak maka tidak terjadi apa2)

b. IF A then B else C (Jika memenuhi kondisi A, maka lakukan B, jika tidak maka C

c. IF A, then B, ELSE IF C then D else E (jika memenuhi kondisi A, maka lakukan B, jika tidak, maka cek apakah memenuhi kondisi C maka lakukan D, jika tidak maka lakukan E.

contoh:

a=4
if(a==4) print("ini adalah 4")

bila dijalankan maka akan mengeluarkan output “ini adalah 4” sementara bila variabel a kita ganti menjadi angka lain, maka tidak akan menghasilkan output apapun

a=4
if(a==4) print ("ini adalah 4") else print("bukan 4")

Pada contoh diatas, telah ditambahkan perintah else…. sehingga bila variabel a kita ganti, dia akan menampilkan teks “bukan 4”

a=4

if(a==4):
     print("ini adalah 4")
elif(a>4):
     print("lebih besar dari 4")
else:
     print("lebih kecil dari 4")

Nested IF: fungsi IF dapat digunakan untuk menguji lebih dari 1 kondisi. contoh:

if ( a<4 && i <1)

Semoga Bermanfaat!

referensi:

https://academy.dqlab.id/

Bibi Gil – Tere Liye

Saya baru beres baca buku bibi gil karya tere liye. Buku ini bercerita tentang Bibi Gil, gurunya miss Selena di Akademi Bayangan. Dia yang mengajarkan miss selena jadi pengintai handal. Buku ini kelanjutan kisah Si putih. Di akhir buku si putih, nou dan si putih terpisah dan dikejar oleh Raja timur dan naganya. Nah mereka dibantu sama Bibi Gil. Bibi gil sedang dalam pertualangan mencari naga yang bisa bonding dengan dia. Untuk mengalahkan musuhnya si mahluk malam.

Disini kita ketemu lagi dengan pak tua. Ternyata pak tua walaupun berbadan besar dan naik kursi roda memiliki kekuatan unik. Dia, bersama si putih menemani bibi gil dalam pertualangannya mencari naga. Seru banget buku ini. Bibi Gil ini punya teknik pukulan es yang keren. Mereka nanti bertarung untuk menyelamatkan klan polaris minor. Trus ada flashback juga kisah sedih Bibi Gil yang dikejar2 oleh mahluk malam. Oiya ada bab bonus juga di buku ini yang bercerita tentang ily. Petarung klan bulan yang bantuin raib dan temen2nya waktu mereka bertualang ke klan matahari. O,iya buku ini baru ada di google books.Keren bang Tere bukunya. Selamat membaca!