Keamanan Cyber Semakin Penting, Presiden Bentuk BSSN

Keamanan Cyber Semakin Penting, Presiden Bentuk BSSN

Masalah keamanan siber (cyber), saat ini sudah merupakan suatu hal yang sangat penting. Tidak kokohnya keamanan siber bahkan bisa mengancam keamanan suatu bangsa. Sebagai contoh adalah kasus Nigerian Scammer yang menjaring korban dengan berbagai modus. Nigerian Scammer menyebabkan kerugian hingga mencapai Rp 500 miliar per tahun.

Pada tingkatan yang lebih tinggi, cyber crime bahkan bisa mengancam kedaulatan negara. Kasus cyber crime pada saat pemilihan Presiden Amerika Serikat pada 2016 silam bahkan membuat Secret Service turun tangan.

Karena permasalahan cyber crime yang semakin pelik, pada 3 Januari lalu, Presiden Joko Widodo membentuk Lembaga Badan Siber dan Sandi Negara (BSSN). Lembaga ini dipimpin oleh Djoko Setiadi dan bertanggung jawab langsung pada Presiden.

Badan ini dibentuk melalui Peraturan Presiden nomor 53 tahun 2017 yang kemudian direvisi dengan Perpres nomor 133 tahun 2017. Dalam tugasnya, Kepala BSSN akan dibantu oleh sekretariat utama dan empat deputi, yakni Deputi Bidang Identifikasi dan Deteksi, Deputi Bidang Proteksi, Deputi Bidang Penanggulangan dan Pemulihan dan Deputi Bidang Pemantauan dan Pengendalian.

Dalam Perpres, disebutkan bahwa BSSN bertugas melaksanakan keamanan siber secara efektif dan efisien dengan memanfaatkan, mengembangkan dan mengonsolidasikan semua unsur yang terkait dengan keamanan siber.

Dijelaskan pula, BSSN punya delapan fungsi. Di antaranya terkait dengan identifikasi, deteksi, proteksi dan penanggulangan e-commerce, persandian, diplomasi siber, pusat manajeman krisis siber, pemulihan penanggulangan kerentanan, insiden dan/atau serangan siber.

Keamanan Cyber Semakin Penting, Presiden Bentuk BSSN 1

Dengan dibentuknya BSSN ini, maka untuk selanjutnya pelaksanaan seluruh tugas dan fungsi di bidang keamanan informasi, pengamanan pemanfaatan jaringan telekomunikasi berbasis protokol internet, dan keamanan jaringan dan infrastruktur telekomunikasi pada Kementerian Komunikasi dan Informatika dan Lembaga Sandi Negara akan dilaksanakan oleh BSSN.

Namun setelah dibentuknya BSSN juga timbul pertanyaan, apakah fungsi Badan ini tidak tumpang tindih dengan institusi lain yang lebih dulu ada? Menteri Koordinator Bidang Politik, Hukum dan Keamanan Wiranto menilai, tugas BSS tidak akan tumpang tindih dengan badan siber yang ada pada institusi lain. Menurut Wiranto, tugas BSSN justru memproteksi seluruh kegiatan siber secara nasional.

“Supaya tidak tumpang tindih maka dibentuk BSSN. Nanti kan ada satu sistem dimana akan justru mereduksi adanya tumpeng tindih itu,” kata Wiranto seperti dikutip dari kompas.com.

Kegiatan pengamanan siber, menurut Wiranto bukan barang baru di Indonesia, ia mengatakan, di Badan Intelijen Negara (BIN) juga ada kegiatan siber. Selain itu, Kementerian Pertahanan, TNI, Kepolisian dan bahkan para pebisnis pun memiliki divisi pengamanan siber. BSSN akan memayungi, memproteksi, menyinkronkan dan mengharmoniskan semua kegiatan siber yang ada.

“Sebab kalau itu kita lepaskan masing-masing, maka akan terjadi overlapping, terjadi cross yang kemudian tidak menguntungkan kepentingan nasional,”ujar Wiranto.

Keamanan Cyber Semakin Penting, Presiden Bentuk BSSN 2

Hal senada juga dikatakan oleh Kepolisian RI (Polri). Polri memastikan BSSN tidak akan tumpang tindih dengan Direktorat Tindak Pidana (Dittipid) Siber Polri. Sebab nantinya tugas dan kewajiban BSSN akan berbeda dengan Polri.

“Nanti akan disinkronisasi supaya tidak terjadi tumpang tindih karena semuanya untuk satu tujuan, yakni demi keamanan dan ketertiban dunia siber,” kata Kepala Divisi Hubungan Masyarakat Polri Inspektur Jenderal Setyo Wasisto seperti dikutip dari tempo.co.

Baik BSSN maupun Dittipid Siber Polri sama-sama dibentuk untuk mengantisipasi perkembangan dunia siber yang begitu cepat. Keduanya bertugas melakukan pemantauan serta mengondisikan suasana di area siber agar betul-betul tenang dan aman.

Setyo mengatakan Polri saat ini belum menerima arahan dari Presiden terkait pembagian wewenang BSSN dan Dittipid Siber Polri. “Mungkin nanti dalam waktu dekat,” kata Setyo.

Hacking Fitur Wrap di Oracle PL/SQL

Hacking Fitur Wrap di Oracle PL/SQL

Dalam artikel sebelumnya berjudul Proteksi Kode Oracle PL/SQL dengan Fitur Wrap telah dibahas cara melakukan proteksi terhadap source code atau kode sumber PL/SQL untuk triggerfunction, serta stored procedure sehingga tidak bisa terlihat oleh orang lain. Fitur yang digunakan untuk memproteksi source code PL/SQL tersebut adalah fitur wrap untuk melakukan semacam enkripsi terhadap kode sumber PL/SQL sehingga orang lain tidak bisa membaca kode sumber tersebut.

Namun semua proteksi buatan manusia tidak ada yang sempurna, pasti ada kelemahannya. Fitur wrap di Oracle PL/SQL pun juga bisa di-hack sehingga hasil enkripsi terhadap source code PL/SQL masih bisa dikembalikan lagi seperti semula sehingga kode sumber aslinya masih bisa dibaca kembali oleh orang lain. Proses ini disebut sebagai unwrap.

Ada beberapa cara untuk melakukan proses unwrap. Cara yang paling mudah untuk mengembalikan hasil wrap PL/SQL menjadi kode sumber aslinya adalah dengan bantuan tool Oracle SQL Developer dengan tambahan plug-in atau extension untuk melakukan proses unwrap. Oracle SQL Developer versi terbaru adalah versi 4.2 yang bisa diunduh secara gratis dari:

http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Hacking Fitur Wrap di Oracle PL/SQL 3

Sebagai contoh, bila kita melihat kembali fungsi HITUNG_PAJAK di Oracle SQL Developer yang sudah di-wrap seperti yang telah dibahas di artikel sebelumnya, hasilnya adalah sebagai berikut:

Hacking Fitur Wrap di Oracle PL/SQL 4

Perhatikan bahwa source code atau kode sumber PL/SQL asli untuk fungsi HITUNG_PAJAK saat ini tidak bisa dipahami karena telah dienkripsi melalui fitur wrap di Oracle Database.

Untuk bisa memulihkan kode sumber PL/SQL yang telah di-wrap sehingga menjadi kembali seperti semula untuk bisa dipahami dan dipelajari cara kerjanya, perlu melakukan instalasi extension tambahan di Oracle SQL Developer yaitu Unwrapper. Unwrapper merupakan extension atau plug-in tambahan untuk Oracle SQL Developer yang bisa diundah secara gratis dari alamat situs web berikut:

https://www.salvis.com/blog/plsql-unwrapper-for-sql-developer/

Setelah mengunduh file extension Unwrapper tersebut bernama Unwrapper_for_SQLDev_1.0.0.zip, jangan melakukan ekstraksi terhadap file ZIP tersebut namun tetap biarkan sebagai file ZIP. Jalankan Oracle SQL Developer dan lakukan instalasi terhadap extension Unwrapper tersebut melalui menu “Help” kemudian pilih “Check for Updates” seperti berikut ini:

Hacking Fitur Wrap di Oracle PL/SQL 5

Setelah muncul wizard untuk “Check for Updates” di SQL Developer, pilih “Install From Local File” dan kemudian klik “Browse” untuk memilih file Unwrapper_for_SQLDev_1.0.0.zip yang barusan diunduh. Hasilnya menjadi seperti berikut ini:

Hacking Fitur Wrap di Oracle PL/SQL 6

Klik pada tombol “Next” terus hingga proses instalasi extension Unwrapper selesai. Supaya extension Unwrapper tersebut aktif maka harus melakukan restart terhadap aplikasi Oracle SQL Developer, yaitu menutup aplikasi dan kemudian menjalankan kembali aplikasi Oracle SQL Developer.

Setelah melakukan proses restart terhadap aplikasi Oracle SQL Developer, buka kembali fungsi HITUNG_PAJAK di editor Oracle SQL Developer. Source code yang tampil masih dalam bentuk wrap. Untuk melakukan unwrap terhadap kode sumber tersebut, lakukan klik kanan mouse di dalam editor Oracle SQL Developer untuk menampilkan menu sebagai berikut:

Hacking Fitur Wrap di Oracle PL/SQL 7

Pilih “Unwrap” pada menu tersebut atau bisa juga dengan menekan keyboard shortcut Ctrl+Shift+U untuk menjalankan proses unwrap melalui extension Unwrapper di Oracle SQL Developer. Begitu proses unwrap dijalankan, maka langsung akan terlihat kembali kode sumber aslinya sebagai berikut:

Hacking Fitur Wrap di Oracle PL/SQL 8

Perhatikan bahwa source code fungsi HITUNG_PAJAK yang sebelumnya telah di-wrap tersebut sudah bisa dipahami kembali untuk dipelajari cara kerjanya. Dengan demikian, proteksi terhadap kode sumber PL/SQL melalui fitur wrap sudah tidak efektif lagi karena bisa di-hack secara mudah dengan bantuan Oracle SQL Developer dan extension Unwrapper yang semuanya gratis.

Selamat mencoba!

Andrian The

Instruktur Senior

Belajar Machine Learning Dengan Python (Bagian 2)

Belajar Machine Learning Dengan Python (Bagian 2)

Pada artikel Belajar Machine Learning Dengan Python (Bagian 1) , kita telah membahas mengenai  langkah 1 sampai 3. Artikel ini adalah lanjutan langkah  untuk memulai proyek Machine Learning.

  • Visualisasi Data

Dalam melakukan visualisasi data, ada dua jenis plot:

  1. Plot Univariate

Kita mulai dengan beberapa plot univariat, yaitu plot dari masing-masing variabel individu. Mengingat bahwa variabel inputnya numerik, kita bisa membuat jenis plot box.

# box and whisker plots

dataset.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False)

plt.show()

Belajar Machine Learning Dengan Python (Bagian 2) 9

Selanjutnya juga bisa membuat histogram masing-masing variabel input untuk mendapatkan ide tentang distribusi.

# histograms

dataset.hist()

plt.show()

Belajar Machine Learning Dengan Python (Bagian 2) 10

2. Plot Multivariate

Selanjutnya kita bisa melihat interaksi antar variabel. Pertama, kita lihat scatterplots dari semua pasang atribut. Hal ini dapat membantu melihat hubungan terstruktur antara variabel input

# scatter plot matrix

scatter_matrix(dataset)

plt.show()

 

Dari hasil output dapat dilihat pengelompokan diagonal beberapa pasang atribut. Hal ini menunjukkan korelasi yang tinggi dan hubungan yang dapat diprediksi.

Belajar Machine Learning Dengan Python (Bagian 2) 11

  1. Evaluasi Beberapa Algoritma

 

Langkah berikutnya adalah membuat beberapa model data dan memperkirakan akurasi mereka pada data yang tidak terlihat.

Beberapa hal yang dapat dilakukan di langkah ini adalah:

  1. Pisahkan dataset validasi
  2. Set up test harness untuk menggunakan validasi silang 10 kali lipat
  3. Bangun 5 model yang berbeda untuk memprediksi spesies dari pengukuran bunga
  4. Pilih model yang terbaik

 

  • Membuat validasi dataset

Validasi ini dilakukan untuk mengetahui bahwa model yang dibuat itu bagus. Kita akan menggunakan metode statistik untuk memperkirakan keakuratan model yang dibuat pada data yang tidak terlihat. Juga diinginkan perkiraan yang lebih konkret mengenai keakuratan model teraik pada data yang tidak terlihat dengan mengevaluasi data aktual yang tidak terlihat.

 

Artinya, kita akan menahan beberapa data yang tidak dapat dilihat oleh algoritma dan akan menggunakan data ini untuk mendapatkan informasi tentang seberapa akurat model terbaik sebenarnya.

 

Kita akan membagi datateset yang telah dimuat menjadi dua, 80% diantaranya akan digunakan untuk melatih model dan 20% digunakan untuk data validasi.

# Split-out validation dataset

array = dataset.values

X = array[:,0:4]

Y = array[:,4]

validation_size = 0.20

seed = 7

X_train, X_validation, Y_train, Y_validation = model_selection.train_test_split(X, Y, test_size=validation_size, random_state=seed)

Setelah perintah di atas dieksekusi, kita sudah memiliki dua data yaitu X_train dan Y_train untuk mempersiapkan model dan rangkaian X_validation dan Y_validation yang dapat digunakan selanjutnya.

 

  • Test Harness

 

Kita akan menggunakan validasi silang 10 kali lipat untuk memperkirakan akurasi. Untuk itu dataset dibagi menjadi 10 bagian, 9 untuk latihan dan 1 untuk pengujian dan ulangi untuk semua kombinasi.

 

# Test options and evaluation metric

seed = 7

scoring = 'accuracy'

 

Perintah di atas menggunakan metrik “accuracy” untuk mengevaluasi model. Ini adalah rasio dari jumlah kejadia yang diprediksi dengan benar dibagi dengan jumlah total kasus dalam dataset dikalikan dengan 100 untuk memberikan persentase (misalnya 95% akurat).  Kita akan menggunakan variabel penilaian saat menjalankan build dan mengevaluasi setiap model di langkah selanjutnya

 

  • Membangun Model

Kita tidak tahu algoritma mana yang bagus dalam masalah ini atau konfigurasi apa yang akan digunakan. Untuk itu kita evaluasi 6 algoritma yang berbeda:

 

  • Logistic Regression (LR)
  • Linear Discriminant Analysis (LDA)
  • K-Nearest Neighbors (KNN).
  • Classification and Regression Trees (CART).
  • Gaussian Naive Bayes (NB).
  • Support Vector Machines (SVM).
# Spot Check Algorithms

models = []

models.append(('LR', LogisticRegression()))

models.append(('LDA', LinearDiscriminantAnalysis()))

models.append(('KNN', KNeighborsClassifier()))

models.append(('CART', DecisionTreeClassifier()))

models.append(('NB', GaussianNB()))

models.append(('SVM', SVC()))







# evaluate each model in turn

results = []

names = []

for name, model in models:

kfold = model_selection.KFold(n_splits=10, random_state=seed)

cv_results = model_selection.cross_val_score(model, X_train, Y_train, cv=kfold, scoring=scoring)

results.append(cv_results)

names.append(name)

msg = "%s: %f (%f)" % (name, cv_results.mean(), cv_results.std())

print(msg)

 

  • Memilih Model Terbaik

 

Kita sudah memiliki 6 model dan estimasi akurasi untuk masing-masing. Selanjutnya perlu membandingkan model satu dengan lainnya dan pilih yang paling akurat.

 

Dari eksekusi script di atas, kita mendapatkan hasil mentah sebagai berikut:

 

LR: 0.966667 (0.040825)

LDA: 0.975000 (0.038188)

KNN: 0.983333 (0.033333)

CART: 0.975000 (0.038188)

NB: 0.975000 (0.053359)

SVM: 0.991667 (0.025000)

 

Dari hasil output di atas, kita dapat melihat bahwa SVM memiliki nilai akurasi perkiraan terbesar.

Kita juga dapat membuat plot hasil evaluasi model  dan membandingkan penyebaran dan akurasi rata-rata masing-masing model.

 

# Compare Algorithms

fig = plt.figure()

fig.suptitle('Algorithm Comparison')

ax = fig.add_subplot(111)

plt.boxplot(results)

ax.set_xticklabels(names)

plt.show()


Belajar Machine Learning Dengan Python (Bagian 2) 12

  • Membuat Prediksi

 

Setelah mengetahui model yang paling akurat yaitu SVM, selanjutnya kita dapat mencoba melakukan pengujian tentang keakuratan model SVM terhadap data yang ada.

 

# Make predictions on validation dataset

svm = SVC()

svm.fit(X_train, Y_train)

predictions = svm.predict(X_validation)

print(accuracy_score(Y_validation, predictions))

print(confusion_matrix(Y_validation, predictions))

print(classification_report(Y_validation, predictions))

 

Menghasilkan output :

Belajar Machine Learning Dengan Python (Bagian 2) 13

Confusion matrix memberikan indikasi dari tiga kesalahan yang dibuat.

Akhirnya, laporan klasifikasi (classification report) memberikan rincian setiap kelas (class-species) dengan precision, recall, f1-score dan support yang menunjukkan hasil yang sangat baik.

***

Jika Anda ingin mempelajari machine learning lebih dalam lagi, Anda bisa mengikuti kelas pelatihan machine learning di Inixindo Jogja

 

Sumber: Article “Your First Machine Learning Project in Python Step-By-Step”, http://machinelearningmastery.com

Mustofa

Manager Edukasi Inixindo Jogja

Belajar Machine Learning Dengan Python (Bagian 1)

Belajar Machine Learning Dengan Python (Bagian 1)

Di artikel sebelumnya, sudah dibahas tentang apa itu Machine Learning. Kali ini, akan dibahas cara menerapkan Machine Learning dengan menggunakan bahasa Python.

Python adalah bahasa interpeter yang populer dan powerful. Tidak seperti R, Python adalah bahasa yang memiliki fitur yang lengkap dan memiliki platform yang dapat digunakan baik untuk riset maupun untuk membangun production system. Ada banyak modul dan library yang dapat digunakan untuk menerapkan Machine Learning di dalam Python.

Untuk memulai proyek Machine Learning, harus mengetahui langkah-langkah sebagai berikut:

  1. Mendefinisikan masalah
  2. Menyiapkan Data
  3. Mengevaluasi Algoritma
  4. Memperbarui Hasil
  5. Menyajikan Hasil

 

Langkah-langkah menerapkan Machine Learning dengan Python

  1. Instalasi Platform Python dan Scipy

Untuk mendapatkan software aplikasi Python dan Scipy, dapat mengunjungi situs scipy.org. Disana akan diberikan petunjuk yang lengkap untuk menginstall python dan library yang dibutuhkan, baik dalam platform Linux, Mac OS X maupun Windows. Ada 5 library utama yang perlu diinstall untuk tutorial ini: Scipy, Numpy, Matplotlib, Panda, dan Sklearn.

Memulai Python

Untuk memastikan lingkungan Python sudah berhasil diinstall, berikut langkah-langkah yang bisa dilakukan:

  • Buka baris perintah dan memulai python, di console command prompt
Python
  • Ketik atau copy dan paste script berikut:
# Check the versions of libraries

# Python version

import sys

print('Python: {}'.format(sys.version))

# scipy

import scipy

print('scipy: {}'.format(scipy.__version__))

# numpy

import numpy

print('numpy: {}'.format(numpy.__version__))

# matplotlib

import matplotlib

print('matplotlib: {}'.format(matplotlib.__version__))

# pandas

import pandas

print('pandas: {}'.format(pandas.__version__))

# scikit-learn

import sklearn

print('sklearn: {}'.format(sklearn.__version__))

output yang dihasilkan, seperti contoh berikut:

Python: 3.6.1 |Anaconda 4.4.0 (64-bit)| (default, May 11 2017, 13:25:24) [MSC v.1900 64 bit (AMD64)]

scipy: 0.19.0

numpy: 1.12.1

matplotlib: 2.0.2

pandas: 0.20.1

sklearn: 0.18.1

 

Data yang Digunakan

Untuk latihan proyek Machine Learning ini menggunakan dataset klasifikasi Bunga Iris. Dataset ini dikenal dengan dataset “hello world” dalam Machine Learning dan Statistik, yang dipakai oleh hampir semua orang.

Dataset ini berisi 150 pengamatan bunga Iris. Ada empat kolom pengukuran bunga dalam centimeter. Kolom kelima adalah spesies bunga yang diamati. Anda dapat mempelajari lebih lajut tentang dataset ini di Wikipedia.

 

Impor Library

Sebelum memuat dataset terlebih dahulu impor semua modul, fungsi dan obyek yang akan digunakan dalam tutorial ini.

# Load libraries

import pandas

from pandas.tools.plotting import scatter_matrix

import matplotlib.pyplot as plt

from sklearn import model_selection

from sklearn.metrics import classification_report

from sklearn.metrics import confusion_matrix

from sklearn.metrics import accuracy_score

from sklearn.linear_model import LogisticRegression

from sklearn.tree import DecisionTreeClassifier

from sklearn.neighbors import KNeighborsClassifier

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

from sklearn.naive_bayes import GaussianNB

from sklearn.svm import SVC

 

2. Memuat Dataset

Untuk memuat dataset, dapat langsung diambil dari alamat repository UCI Machine Learning. Berikut script untuk memuat dataset:

# Load dataset

url = "http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data"

names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']

dataset = pandas.read_csv(url, names=names)

Jika tidak ada koneksi internet, file iris.data dapat download terlebih dahulu, diletakkan di file local. Untuk memuat data-nya dapat dilakukan dengan metode yang sama, dengan mengubah URL ke file local.

3. Melakukan Summary Dataset

Pada langkah ini, kita akan melihat data dari beberapa sisi yang berbeda:

  • Dimensi Dataset

Hal ini dilakukan untuk mendapatkan gambaran singkat tentang berapa banyak baris dan atribut data.

# shape

print(dataset.shape)

Selanjutnya akan terlihat output : (150,50)

Yang berarti 150 baris dan 5 atribut data

  • Melihat Isi Data

Berikut perintah untuk melihat 20 baris data pertama:

# head

print(dataset.head(20))

Belajar Machine Learning Dengan Python (Bagian 1) 14

  • Ringkasan Statistik

Berikut untuk melihat statistik data termasuk count, mean, nilai min dan max serta beberapa persentase

# descriptions

print(dataset.describe())

Belajar Machine Learning Dengan Python (Bagian 1) 15

  • Distribusi Class Data

Sekarang mari kita lihat jumlah baris untk setiap class.

# class distribution

print(dataset.groupby(‘class’).size())

Akan terlihat bahwa setiap class memiliki jumlah kasus yang sama (50 atau 33% dari kumpulan data)

class

Iris-setosa 50

Iris-versicolor 50

Iris-virginica 50

 

Bersambung ke Belajar Machine Learning Dengan Python (Bagian 2)

***

Jika Anda ingin mempelajari machine learning lebih dalam lagi, Anda bisa mengikuti kelas pelatihan machine learning di Inixindo Jogja

Mustofa

Manager Edukasi Inixindo Jogja

Mengenal Machine Learning

Beberapa tahun terakhir, banyak yang mulai mempelajari Machine Learning. Hal ini tidak lepas dari perkembangan teknologi komputasi dan penyimpanan data yang semakin murah. Namun tidak semua orang mengerti apa itu Machine Learning. Ada beberapa pertanyaan yang sering disampaikan:

  • Apa itu Machine Learning dan bagaimana bedanya dengan Big Data dan Business Analytics?
  • Apa perbedaan antara Machine Learning, Data Analysis, Data Mining, Data Science dan Artificial Intelligence?

Sekarang, mari kita ambil kesimpulan dari percakapan berikut:

A : Menurut Anda apa yang terjadi saat Anda mencari sesuatu di Google?
B : Google menampilkan laman web paling relevan yang terkait dengan pencarian tersebut.
A : Tapi apa yang sebenarnya terjadi sehingga Google bisa menampilkan halaman web yang   paling relevan untuk Anda?
B : Google melihat klik terakhir dari orang-orang untuk memahami halaman web mana yang lebih relevan untuk suatu pencarian dan kemudian menyajikan hasilnya dalam halaman pencarian tersebut.
A : Tapi, berapa banyak pencarian dan apakah semua jenis pencarian yang akan ditangani Google secara teratur?
B : Harus dalam jumlah yang besar, mungkin triliunan pencarian setiap tahunnya.
A : Jadi, menurut Anda bagaimana Google dapat melayani begitu banyak permintaan dengan akurasi seperti itu? Menurut Anda, apakah ada orang yang duduk di kantor Google dan terus menentukan hasil penelurusan mana yang relevan dan mana yang tidak?
B : Sepertinya tidak mungkin dilakukan manusia.
A : Anda benar. Disinilah Machine Learning (Pembelajaran Mesin) ikut bermain. Machine Learning adalah seperangkat teknik, yang membantu dalam menangani data yang besar dengan cara yang paling cerdas (dengan mengembangkan algoritma atau serangkauan aturan logis) untuk memperoleh wawasan yang dapat ditindaklanjuti (memberikan hasil pencarian kepada pengguna dalam kasus ini)

 

Apa itu Machine Learning?

Secara definisi, machine learning atau pembelajaran mesin adalah ilmu atau studi yang mempelajari tentang algoritma dan model statistik yang digunakan oleh sistem komputer untuk melakukan task tertentu tanpa instruksi eksplisit. Machine learning bergantung pada pola dan kesimpulan. Untuk mendapatkan pola dan kesimpulan tersebut, algoritma machine learning menghasilkan model matematika yang didasari dari data sampel yang sering disebut dengan ‘training data.’ 


Apa Perbedaan Machine Learning dengan Artificial Intelligence (AI)?

AI ini mengacu pada prosedur pemrograman komputer (machine) untuk mengambil suatu yang rasional. Apa itu rasional? Rasional adalah dasar dalam mengambil keputusan

Sebagai contoh, AI digunakan untuk memeriksa apakah parameter tertentu dalam sebuah program berperilaku Normal. Misalnya, mesin dapat menimbulkan alarm jika parameter mengatakan ‘X’ melintasi ambang batas tertentu yang pada gilirannya dapat mempengaruhi hasil proses terkait.

Penggunaan AI dalam Machine Learning

Machine Learning adalah subset dari AI dimana mesin dilatih untuk belajar dari pengalaman masa lalu. Pengalaman masa lalu dikembangkan melalui data yang dikumpulkan, kemudian menggabungkan dengan algoritma (seperti Naïve Bayes, Support Vector Machine (SVM)) untuk memberi hasil akhir.

Apa perbedaan Machine Learning dengan Statistik?

Statistik adalah cabang matematika yang memanfaatkan data baik dari keseluruhan populasi atau sampel untuk melakukan analisis dan menyajikan kesimpulan. Beberapa teknik statistik yang digunakan adalah regresi, varians, standar deviasi, probabilitas bersyarat dan lainnya.

Penggunaan Statistik dalam Machine Learning

Mari kita pahami dari contoh berikut. Misalkan, saya perlu memisahkan kiriman di inbox email saya menjajdi dua kategori, yaitu ‘spam’ dan ‘penting’. Untuk mengidentifikasi email spam, saya dapat menggunakan algoritma Machine Learning yang dikenal sebagai Naïve Bayes yang akan memeriksa frekuensi kiriman spam masa lalu. Untuk mengidentifikasi email baru sebagai spam, Naïve Bayes menggunakan teori statistik Baye’s Theorem (umumnya dikeal sebagai probabilitas bersyarat). Oleh karena itu, kita dapat mengatakan algoritma Machine Learning menggunakan konsep statistik untuk melakukan pembelajaran mesin.

Apa Perbedaan Machine Learning dengan Deep Learning?

Deep Learning dikaitkan dengan algoritma jaringan saraf tiruan –  Artificial Neural Network (ANN) yang menggunakan konsep otak manusia untuk memudahkan pemodelan fungsi yang berubah-ubah. ANN membutuhkan sejumlah besar data dan algoritma ini sangat fleksibel dalam hal menghasilkan bayak keluaran secara bersamaan. Baca artikel mengenal deep learning!

Apa Perbedaan Machine Learning dengan Data Mining?

Data Mining digunakan untuk mencari informasi yang spesifik, sedangkan Machine Learning berkonsentrasi untuk melakukan tugas tertentu. Sebagai contoh untuk membantu perbedaan antara Machine Learning dan Data Mining, mengajar seorang cara menari adalah Machine Learning, sedangkan menggunakan seseorang untuk mencari pusat tarian terbaik di kota adalah Data Mining.

Bagaimana Machine Learning Bekerja?

Machine Learning melibatkan proses struktural dimana setiap tahap membangun versi mesin yang lebih baik. Untuk penyederhanaan, proses Machine Learning bisa dibagi menjadi 3 bagian:

Mengenal Machine Learning 16

Langkah-langkah yang digunakan dalam Machine Learning
  • Mengumpulkan data
    Data mentah bisa berupa Excel, Ms Access, file teks dan lain-lain. Langkah ini membentuk dasar pembelajaran masa depan. Semakin banyak variasi, kepadatan dan volume data yang relevan, semakin baik prospek pembelajaran untuk mesin.
  • Mempersiapkan data
    Setiap proses analitis berkembang dengan kualitas data yang digunakan. Kita perlu meluangkan waktu untuk menentukan kualitas data dan kemudian mengambil langkah-langkah untuk memperbaiki masalah seperti kehilangan data dan lainnya.
  • Melatih sebuah model
    Langkah ini melibatkan pemilihan alrgoritma dan representasi data yang tepat dalam bentuk model. Data yang disiapkan dibagi menjadi dua bagian : train  dan test. Bagian pertama (training data) digunakan untuk pengembangan model. Bagian kedua (data test), digunakan sebagai referensi.
  • Mengevaluasi model
    Untuk menguji keakuratan, bagian kedua dari data (data test) digunakan. Langkah ini menentukan ketepatan dalam pemilihan algoritma berdasarkan hasil pengujian. Pengujian yang lebih baik untuk memeriksa ketepatan model adalah dengan melihat kinerjanya pada data yang tidak digunakan sama sekali selama pembuatan model.
  • Meningkatkan kinerja
    Langkah ini mungkin melibatkan pemilihan model yang berbeda atau memperkenalkan lebih banyak variabel unntuk meningkatkan efisiensi. Itulah sebabnya dibutuhkan banyak waktu untuk pengumpulan data dan persiapan data.

 

Jenis Algoritma Machine Learning

Mengenal Machine Learning 17

  • Model Supervised Learning / Predictive
    Model ini digunakan untuk memprediksi hasil masa depan berdasarkan data historis. Model prediktif biasanya diberi instruktsi yang jelas sejak awal seperti apa yang perlu dipelajari dan bagaimana itu perlu dipelajari. Algoritma pembelajaran ini disebut Supervised Learning.

    Sebagai contoh: Supervised Learning digunakan saat perusahaan pemasaran mencoba untuk mengetahui pelanggan mana yang cenderung berpindah atau mencari supplier lain. Algoritma ini juga bisa digunakan untuk memprediksi kemungkinan terjadinya bahaya seperti gempa bumi, tornaod dan lain-lain, dengan tujuan untuk mengetahui Total Nilai Asuransi. Beberapa conntoh algoritma yang digunakan adalah: Nearest Neighbour, Naïve Bayes, Decision Tree, Regression, dan lain-lain.

  • Model UnSupervised Learning/Descriptive
    Model ini digunakan untuk melatih dimana tidak ada target yang ditetapkan dan tidak ada faktor yang penting dari yang lainnya. Sebagai contoh penggunaan model unspervised learning ini, bila seorang penjual pengecer ingin mengetahui kombinasi produk apa yang cenderung lebih sering dibeli konsumen. Di industri farmasi, digunakan untuk memprediksi penyakit mana yang mungkin terjadi bersamaan dengan diabetes. Contoh algoritma yang digunakan di model ini: K-Means Clustering Algorithm.
  • Reinforcement Learning (RL)
    Model ini adalah contoh  pembelajaran mesin dimana mesin dilatih untuk mengambil keputusan spesifik berdasarkan kebutuhan bisnis dengan tujuan utama untuk memaksimalkan efisiensi (kinerja). Ide dari Reinforcement learning ini adalah mesin/perangkat lunak melatih dirinya secara terus menerus berdasarkan lingkungan yang dipengaruhinya, dan menerapkan pengetahuan yang diperkaya unntuk memecahkan masalah bisnis. Proses belajar yang terus-menerus ini memastikan lebih sedikit keterlibatan manusia sehingga akan banyak menghemat waktu.

    Contoh algoritma yang digunakan dalam RL adalah Markov Decision Process.

Untuk membedakan antara Supervised Learning dan Reinforcement Learning, dapat dicontohkan, sebuah mobil menggunakan Reinforcement learning untuk membuat keputusan rute mana yang harus ditempuh, kecepatan berapa yang harus dikemudikan, dimanan beberapa pertanyaan tersebut diputuskan setelah berinteraksi dengan lingkungan.

Sedangkan memperkirakan ongkos taksi dari satu tempat ke tempat lain adalah Supervised Learning

 

Penggunaan Machine Learning

Google dan Facebook adalah dua contoh perusahaan yang menggunakan Machine Learning secara ekstensif untuk mendorong iklan masing-masing ke pengguna yang relevan. Contoh penggunakan Machine Learning yang lainnya adalah :

  1. Layanan Perbankan & Keuangan
    Machine Learning dapat digunakan untuk memprediksi pelanggan yang cenderung gagal membayar pinjaman atau tagihan kartu kredit. Ini sangat penting karena Machine Learning akan membantu bank untuk mengidentifikasi nasabah yang dapat diberikan pinjaman dan kartu kredit.
  1. Kesehatan
    Digunakan untuk mendiagnosis penyakit mematikan (misalnya kanker) berdasarkan gejala pasien dan menghitungnya dengan data terakhir dari jenis pasien yang sama.
  1. Ritel
    Digunakan untuk mengidentifikais produk yang lebih sering dijual (bergerak cepat) dan produk yang lamban. Hal ini membantu memutuskan jenis produk yang akan ditampilkan atau dikeluarkan dari rak. Selain itu, algoritma Machine Learning dapat digunakan untuk menemukan dua atau lebih produk yang dijual bersama. Hal ini dilakukan untuk merangsang inisiatif loyalitas pelanggan yang pada gilirannya membantu para peritel untuk mengembangkan pelanggan setia.

Sumber : Article : Machine Learning basics for a newbie – www.analyticsvidhya.com

 

Jika Anda tertarik untuk menguasai machine learning, Anda dapat mengikuti Kelas Pelatihan Machine Learning di Inixindo Jogja.

Mustofa

Jempol Era Digital

Jempol Era Digital

Selama 15 tahun terakhir, internet telah membangun utilitas di atas jaringan internet yang membuat inovasi lebih mudah dan lebih cepat. Misalnya, Amazon telah menciptakan bisnis layanan cloud yang memungkinkan perusahaan dan startup mendapatkan infrastruktur dan proses teknologi informasi (TI) dari Amazon. Amazon Web Services (AWS) telah membangun infrastruktur yang dapat mengakomodir permintaan yang cukup banyak dengan kapasitas yang cukup untuk digunakan orang lain. Microsoft, IBM, dan Google juga menawarkan layanan yang serupa. Perusahaan dapat menyewakan aplikasi bisnis mereka (untuk akuntansi dan keuangan, manajemen sumber daya manusia, pemasaran dan penjualan, kolaborasi, manajemen proyek, dan sebagainya) melalui layanan yang disediakan Microsoft, Salesforce.com, Workday, Hubspot, Yammer, Dropbox, Basecamp dan lainnya.

Jempol Era Digital 18

Kebutuhan akan TI sudah dirasakan hampir semua aspek bisnis tidak terkecuali pemasaran. Pemasaran yang dulunya lebih banyak menggunakan ilmu sosial dan ekonomi saat ini memiliki tantangan baru untuk menggunakan TI sebagai alat kerjanya.  Membuat perubahan dalam hubungan yang lebih dalam antara TI dan pemasaran membutuhkan waktu yang tidak singkat. TI memberikan pemahaman bisnis yang lebih dalam dan bertindak sebagai jembatan komunikasi antara dua departemen pemasaran dan TI, yang pada akhirnya membantu TI menghadirkan produk pemasaran yang lebih baik.

Aktifitas memperkenalkan merek atau sering disebut branding di media sosial dapat menghabiskan miliaran dolar setahun. 80% perusahaan yang berada pada daftar Fortune 500 memiliki halaman Facebook yang aktif. Ribuan bahkan lebih, konten branding – artikel, foto, video, diskon dan sebagainya- muncul di halaman Facebook dan di platform media sosial lain setiap harinya. Hal ini dibuat untuk menarik dan membuat orang untuk memutuskan membeli produk dari suatu merek.

Banyak orang menjustifikasi mempunyai follower banyak di media sosial meningkatkan frekuensi munculnya merek dan pada akhirnya akan meningkatkan penjualan. Dengan merekrut orang yang sudah terkenal di media sosial –sering disebut endorse- akan memberi efek kepada orang yang melihat dan memberikan like untuk lebih menghabiskan banyak uangnya. Kemudian akan membuat teman-teman mereka (dan teman dari teman mereka) juga melakukan pembelian. Banyak perusahaan telah menemukan bahwa pelanggan yang berinteraksi dengan mereka di media sosial menghabiskan lebih banyak uang daripada pelanggan lainnya. Sebuah studi menemukan bahwa orang-orang yang menyukai halaman Facebook Starbucks atau yang memiliki teman Facebook yang menyukai halaman tersebut menghabiskan 8% lebih banyak dan melakukan transaksi 11% lebih sering selama sebulan.

Mungkin benar, mempunyai banyak follower di media sosial mengakibatkan transaksi jual-beli lebih banyak. Tetapi di sisi lain mungkin saja pembelinya adalah orang-orang yang sudah memiliki perasaan positif terhadap suatu brand dan kebanyakan dari mereka sudah mengikutinya sejak awal, karena itulah mereka menghabiskan lebih banyak daripada orang yang tidak. Di penelitian lain yang mencoba memperbaiki ambiguitas penelitian sebelumnya membuktikan bahwa media sosial tidak berefek seperti yang pelaku marketing pikirkan di paragraph sebelumnya. Hal ini dilihat dari jumlah follower yang mengikuti suatu merek tertentu memang adalah pelanggan loyal yang menginginkan informasi terbaru mengenai produk-produknya. Jarang sekali orang menjadi follower suatu merk tanpa ada ketertarikan untuk membeli.

Jempol Era Digital 19

Untuk mengukur efek dari like di Facebook bagian pemasaran sering merasa sulit membuktikan ROI investasi media sosial. Inilah cara mudah yang ditulis oleh Leslie K. John dalam artikelnya, untuk mengukur nilai yang muncul sebagai efek dari suatu like yang orang berikan di Facebook :

    • Membuat Indikator

Sebuah indikator akan dibutuhkan khususnya untuk memberikan nilai pada sesuatu yang biasanya tidak berhubungan langsung dengan angka. Apa tujuan Anda dalam jumlah like yang diperoleh? Apakah untuk meningkatkan penjualan, mengubah perilaku offline, atau mencapai sesuatu yang lain? Indikator harus mencerminkan perilaku yang dapat diukur. Untuk beberapa indikator, seperti penjualan, pengukuran cukup mudah. Untuk yang lainnya, seperti sikap terhadap merek, mungkin perlu usaha yang ekstra, seperti melakukan dan mengelola survei.

    • Mengundang Target

Untuk membuat indikator tentu harus ada objek sasaran. Untuk itu, Anda perlu mengundang orang untuk menyukai halaman Anda. Salah satu cara sederhana adalah dengan mendapatkan alamat e-mail orang-orang di pasar sasaran Anda.

    • Dapatkan Likes

Dari seluruh sampel target, bagi menjadi 2 kelompok, “treatment group dan “control group”. Mintalah setengah sampel untuk menyukai halaman yang dibuat untuk pemasaran. Ini adalah “treatment group”. Setengah target lainnya akan membentuk “control group”. Kelompok ini akan dibiarkan untuk melakukan tindakan sesuai keinginan. Periksa aktivitas target di masing-masing kelompok sebagai referensi untuk analisa nantinya.

    • Konfirmasikan Asumsi

Periksa apakah like bekerja sesuai dengan yang diinginkan. Perlu dipastikan bahwa sebagian besar orang yang di-invite adalah orang yang sesuai dengan segmen pasar. Jumlah dapat diperkirakan dengan melihat peningkatan follower halaman Facebook pada saat Anda menyampaikan invitation.

    • Iklankan

Jalankan beberapa iklan di Facebook untuk mengekspos calon follower baru ke pesan pemasaran. Hal ini dapat dilakukan dengan membayar facebook-ads untuk mempromosikan posting.

    • Periksa tanggapan anda

Ukur perilaku yang didefinisikan di depan. Contohnya rata-rata pembelanjaan orang-orang dalam “treatment group” daripada pembelanjaan orang-orang dalam “control group”, perbedaan value dari like. Tentu hasilnya akan mengandung beberapa “noise”. Misalnya, mungkin akan ada kehilangan informasi pembelian orang yang mencapai proses pembelian menggunakan alamat e-mail yang berbeda dari alaat yang dimiliki. Untuk meningkatkan akurasi, carilah ukuran sampel yang besar dan pastikan daftar e-mail yang terbaru dan aktif.

Saat sedang mengembangkan strategi dan metodologi untuk setiap platform yang akan digunakan, lanjukan untuk meneliti dan melacak situs atau sistem lain yang digunakan pelanggan. Itu adalah kesempatan tambahan untuk menarik perhatian segmen pelanggan. Jika tidak yakin dengan platform lain tersebut, lakukan survei atau tanyakan beberapa pelanggan dimana lagi mereka aktif online saat ini. Menciptakan interaksi pelanggan pada berbagai platform akan memungkinkan Anda membangun hubungan yang lebih dalam dan lebih kuat dengan pelanggan.

 

 

Referensi

https://hbr.org/2012/02/your-marketing-can-keep-pace-w
https://hbr.org/2016/06/a-new-way-for-entrepreneurs-to-think-about-it
https://hbr.org/2016/12/why-marketing-needs-closer-ties-to-it
https://hbr.org/2017/03/whats-the-value-of-a-like

Rifai Samekta

Instruktur Senior Inixindo Jogja