Thursday, March 19, 2020

www.softscient.web.id pindah ke www.softscients.com


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Tuesday, March 17, 2020

Buku Belajar Dasar-Dasar Statistika dengan R-Membuat Function di R

Sinopsis

Salah satu keunggulan bagi kalian dalam bidang statistika menggunakan Bahasa R yaitu fleksibilitas untuk membuat function sendiri yang bisa kalian buat untuk cleaning dataset serta beragam keperluan lainnya. Pengertian function itu sendiri berupa script yang bertugas secara khusus untuk menerima input dan menghasilkan output sesuai dengan tujuan function itu dibuat. Kalian sebenarnya sudah sering menggunakan function/perintah built in R seperti summary, head, data, table

Bentuk Umum Function

Secara umum untuk membuat function sangat sederhana sekali yaitu

myfunction <- function(arg1, arg2, ... )
{
 statements
 return(object)
}

Terdiri dari
  1. Nama function : bisa kalian gunakan huruf kecil semuanya
  2. Argument input: berupa input function yang akan dimasukan kedalam function
  3. Body function : berupa statement yang bisa kalian isi dengan perhitungan matematika atau lainnya
  4. Return : yaitu variable output yang akan menerima output function dan setiap function mempunyai return value

Saturday, March 7, 2020

Buku Belajar Machine Learning dengan Matlab - Modifikasi Kernel Function di SVM


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


Kalian bisa lanjut baca lagi ke http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-modifikasi-kernel-function-di-svm/

buku belajar machine learning dengan matlab - Modifikasi Kernel Function di Support Vector Machine

Sinopsis

Melanjutkan pembahasan Support Vector Machine menggunakan function built in di Matlab yaitu fitsvm, tentu kalian tahu apakah kernel function nya bisa diubah? Modifikasi Kernel Function di SVM sangat memungkinkan walaupun function fitsvm di matlab secara default sudah mempunyai 3 jenis kernel yang bisa kalian gunakan yaitu linear, radial basis / gaussian, dan yang terakhir polynomial dengan rumus umum sebagai berikut

buku belajar machine learning dengan matlab - Modifikasi Kernel Function di Support Vector Machine

Bila kalian gunakan fitsvm tanpa menyebutkan kernel function maka secara default akan menggunakan kernel linear. Sebelumnya kalian harus tahu apa itu function bsxfun dan handle function. Kalian perhatikan variabel A berikut

Friday, March 6, 2020

Buku Belajar Dasar-Dasar Statistika dengan R-Kontrol Syarat Kondisi dan Perulangan di R

Sinopsis

R Tools sangat unik sekali karena mempunyai fitur untuk membuat script tersendiri untuk membuat alur kode tidak seperti tools statistika SPSS yang berbasis drag and drop sehingga R Tools dapat disebut dengan R Languange. Layaknya bahasa pemrograman umum lainnya yang dilengkapi dengan kemampuan control alur program, maka di R juga mempunyai hal tersebut seperti control If then else, looping for dan while. Pembahasan ini erat kaitannya dengan https://www.softscients.web.id/2020/02/jenis-operator-di-bahasa-r.html berupa operator logika dan perbandingan.

Style penulisan kode kalian bisa menggunakan indentasi agar mudah dalam mempelajari kode yang telah kalian buat, bisa saja makin banyak kode akan semakin membingungkan kalau tidak rapi dalam menulis kode ataupun tidak memberikan keterangan pada kode tertentu seperti hal dibawah ini
  1. kode tersebut melibatkan logika syarat kondisi yang berkalang (didalam if ada if lagi) 
  2. selain hal tersebut seiring berjalannya waktu akan menyulitkan kita mengingat kembali cara kerja kode.
  3. sebaiknya mengikuti kaidah/penulisan yang umum dipakai secara internasional agar suatu saat kalian membuat package dapat dimengerti oleh semua orang
Menulis kode merupakan sebuah seni dalam programming sehingga kalian harus rapi dan mempunyai passion untuk menulis kode agar terlihat menarik serta menyenangkan.

Wednesday, March 4, 2020

Buku Belajar Dasar-Dasar Statistika dengan R - Masking Data Frame di R

Buku Belajar Dasar-Dasar Statistika dengan R - Masking Data Frame di R

Sinopsis

Masking Data Frame seringkali dilupakan pada sesi pembahasan mengenai data frame yang merupakan fitur sangat berguna sekali lho. Oiya kalian harus belajar dulu mengenai  https://www.softscients.web.id/2020/03/dataset-default-di-r.html dan Grafik di R untuk mempermudah kalian mempelajari sesi berikut

Masking Data Frame merupakan keunggulan tersendiri bila kalian menggunakan data variabel yang melibatkan header kolom. Misalkan ada record dataset yang harus kalian lihat/pelajari dulu hanya pada syarat header.kolom = kelas tertentu saja, bila menggunakan excel  seperti berikut

Buku Belajar Dasar-Dasar Statistika dengan R - Masking Data Frame di R

Seleksi berdasarkan header, misalkan hanya akan menampilkan class == 3

Buku Belajar Dasar-Dasar Statistika dengan R - Masking Data Frame di R
Tampilan akhir yaitu

Buku Belajar Dasar-Dasar Statistika dengan R - Masking Data Frame di R

Sangat mudah sekali dalam excel bahkan untuk ribuan record masih bisa dikerjakan dengan mudah menggunakan excel, lha kalau datanya 1 juta record atas sebuah transaksi dalam 1 bulan itu kalau menggunakan excel terkadang kalau RAM nya kecil  akan bikin hang, belum lagi urusan ploting data dan analisis statistikanya. 

Hal diatas akan permudah bila menggunakan Bahasa R, apalagi sudah mengenal function yang dibuat tersendiri untuk mengolah data sesuai dengan keinginan kalian. Maka keuntungan pengolahan statistika menggunakan Bahasa R daripada SPSS (drag and drop) yaitu
  1. fleksibilitas dalam mengolah data
  2. kemampuan untuk membuat script tersendiri
  3. membuat function
  4. package library yang banyak dikembangkan oleh para pengguna bahasa R diseluruh dunia
Semakin semangat donk kalian belajar Bahasa R melalui blog ini kalau pun ada yang belum paham atau ingin dibantu risetnya bisa hubungi disini

Tuesday, March 3, 2020

Buku Belajar Dasar-Dasar Statistika dengan R - Plot Grafik di R

Buku Belajar Dasar-Dasar Statistika dengan R - Plot Grafik di R

Sinopsis

Tidak lengkap rasanya kalau tidak membahas urusan grafik yang berguna untuk memvisualisasikan dataset. Grafik di R secara default mempunyai beragam jenis plot yaitu
  1. Line
  2. Scatterplots
  3. Bar
  4. Histograms
  5. Pie
Merupakan base grafik plot yang sudah ada secara default di R tanpa perlu kalian instal package tertentu. Walaupun grafiknya lumayan sederhana tapi hal ini sudah sangat cukup untuk visualisasikan data dengan baik dengan cepat.


Monday, March 2, 2020

Buku Belajar Dasar-Dasar Statistika dengan R-Dataset Default di R

Sinopsis

Kalau kalian butuh yang namanya contoh kasus, pasti memerlukan sebuah dataset yang lengkap untuk mempermudah dalam pengujian algoritma. Nah untuk dataset di R sudah tersedia secara default ada ratusan dataset dengan beragam jenis kasus yang bisa kalian gunakan. Berikut daftar dataset yang bisa kalian gunakan di R yang diurutkan secara abjad.

Friday, February 28, 2020

Buku Pengolahan Citra Digital dengan Matlab - Operasi morfologi Citra

Sinopsis

Operasi morfologi atau disebut operasi berbasis bentuk/shape secara umum ada 4 yaitu Erotion, Closing, Dilation, Opening yang bekerja pada format binary sehingga kalian pastikan terlebih dahulu type data yang harus logical. Operasi morfologi bekerja dikenal structure element atau dalam hal lain disebut kernel/filter pada operasi convolution. Jenis-jenis Structure Element
  1. SE = strel('diamond',r)
  2. SE = strel('disk',r,n)
  3. SE = strel('line',len,deg)
  4. SE = strel('octagon',r)
  5. SE = strel('rectangle',mn)
  6. SE = strel('square',w)
  7. SE = strel('cube',w)
  8. SE = strel('cuboid',xyz)
  9. SE = strel('sphere',r)
  10. SE = strel('arbitrary',nhood)
Keterangan Option
  • r — Radius of the structuring element in the x-y plane
  • n — Number of periodic line structuring elements used to approximate shape
  • mn — Size of rectangle-shaped structuring element
  • w — Width of square-shaped or cube-shaped structuring element
  • xyz — Dimensions of cuboidal-shaped structuring element
  • nhood — Neighborhood

Thursday, February 27, 2020

Buku Belajar Dasar-Dasar Statistika dengan R-Jenis Operator di Bahasa R

Buku Belajar Dasar-Dasar Statistika dengan R-Jenis Operator di Bahasa R

Sinopsis

Operator merupakan simbol matematika yang digunakan untuk banyak hal seperti operasi aritmatika, penugasan serta beberapa operasi khusus lainnya. Sama seperti tools yang lainnya, R Tools mempunyai operator yang dibagi menjadi 5 jenis yaitu
  1. Aritmatika digunakan untuk operasi perhitungan sederhana
  2. Relasi digunakan untuk membandingkan suatu nilai
  3. Logika digunakan untuk logika booelan
  4. Penugasan digunakan memberikan suatu nilai
  5. Khusus digunakan pada operasi matrix
Harus kalian ketahui bahwa bahasa R sangat unik untuk operator penugasan misalkan operator \(=\) bisa kalian gunakan juga operator \(<-\), jadi jangan heran kalau penggunaan operator penugasan di Bahasa R ada banyak (3 jenis). Kalian pelajari saja tabel-tabel Jenis Operator di Bahasa R

Buku Belajar Dasar-Dasar Statistika dengan R-Data Terstruktur Vector - Matrix - List dan Data Frame

Buku Belajar Dasar-Dasar Statistika dengan R-Data Terstruktur Vector - Matrix dan Data Frame

Sinopsis

Data terstrukur merupakan suatu set variabel yang dijadikan satu kesatuan. Sama seperti dengan bahasa pemrograman umum lainnya yang dilengkapi dengan data tersetrukur maka di R pun ada juga malah lebih mudah dalam penggunaanya yaitu
  1. Vector
  2. Matrix
  3. List
  4. Data Frame
Dengan 3 jenis data tersebut sangat mampu melakukan pengolahan bermacam-macam sumber jenis dataset seperti CSV, excel dan lainnya.

Tuesday, February 25, 2020

Buku Belajar Dasar-Dasar Statistika dengan R-Tipe Dasar Variabel pada Bahasa R

Sinopsis

Bahasa R seperti pada functional programming yang tidak perlu membuat deklarasi tipe variabel sehingga sangat mudah sekali untuk menyingkat pembuatan kode, secara default setiap angka akan diberikan tipe numeric. Untuk cek sebuah variabel termasuk tipe yang mana, kalian bisa gunakan perintah \(class()\). Lima Tipe Dasar variabel bisa kita sebut dengan tipe data primitive. Berikut penjelasan masing-masing tipe dasar variabel pada R yang bisa kalian pelajari menggunakan R Console ataupun R Script. Untuk menghapus layar R Console, gunakanlah kombinasi keyboard CTRL+L. Bahasa R mensupport beberapa jenis  tipe dasar variabel yaitu
  1. Numeric
  2. Integer
  3. Complex
  4. Logical
  5. Character

Monday, February 24, 2020

Buku Belajar Dasar-Dasar Statistik dengan Bahasa R

Buku Belajar Dasar-Dasar Statistik dengan Bahasa R oleh Devi Nurtiyasari
Buku Belajar Dasar-Dasar Statistik dengan Bahasa R oleh Devi Nurtiyasari

Sinopsis

Statistik akan terasa lebih mudah kalau kalian mengenal software R  yang merupakan tools sangat bagus sekali bagi kalian yang suka coding untuk analisis data, hal ini menjadi alasan tersendiri mengapa penggunaan R menjadi semakin banyak digunakan untuk kalangan riset dan industri selain berbasis code (tidak seperti SPPS, Orange, Rapid Minner, Weka) juga kegunaannya menjadi semakin diperluas seperti fungsi dasar statistik, ploting data juga ada banyak sekali package seperti digital image processing, digital signal processing, serta machine learning.

Walaupun R digunakan fokus untuk analisis data bukan untuk membuat aplikasi seperti Matlab, Python tapi R sangat mumpuni dalam bidang core nya yaitu Statistik. Nah fokus buku yaitu Belajar Dasar-Dasar Bahasa R sehingga setelah kalian pahami Dasar-Dasar R maka kalian bisa pergunakan kemampuan tersebut untuk beragam kasus yang kalian temui dalam bidang analisis data.

Secara umum pembahasan Buku Belajar Dasar-Dasar Bahasa R dibagi menjadi 2 topik utama yaitu Sintaks Dasar R dan Statistik dengan R yang sangat simple. Kalian bisa menggunakan R Console ataupun R Script untuk menulis perintah/membuat function ataupun eksekusi perintah/kode yang kalian buat karena memang berbasis script sehingga memudahkan kalian menuliskan algoritma sesuai dengan kebutuhan.

Untuk pengalaman yang lebik bagi para pembaca sekalian, kunjungi website terbaru kami di www.softscients.com


Buku Belajar Pemrograman Java untuk Pemula - Syarat Kondisi IF THEN ELSE pada Bahasa Java


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Sinopsis

Syarat Kondisi merupakan kontrol alur program dengan melibatkan logika if then else serta operator pembanding dan logika yang telah kalian pelajari sebelumnya. Syarat Kondisi adalah sebuah percabangan kode program dimana jika kondisi IF bernilai true, maka jalankan perintah yang ada di dalam blok IF tersebut. Namun jika kondisi bernilai false, maka jalankan kode program di dalam blok ELSE. Pada bahasa Java terdapat 4 bentuk syarat kondisi  yaitu
  1. If end
  2. If else end
  3. If else if end
  4. Switch Case

Sunday, February 23, 2020

Buku Belajar Pemrograman Java untuk Pemula - Jenis Operator pada Bahasa Java


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Kamu bisa lanjut baca ke http://softscients.com/2020/03/25/buku-belajar-pemrograman-java-untuk-pemula-jenis-operator-pada-bahasa-java/


Sinopsis

Dasar-dasar yang harus kalian pelajari selain sintaks yaitu mengenai operator.  Operator di Java ada banyak sekali tapi bisa dikumpulkan hanya ada 6 kategori yaitu
  1. Operator Artimatika yaitu untuk operator matematika
  2. Operator Penugasan yaitu untuk memberikan nilai pada variabel
  3. Operator Pembanding yaitu untuk membandingkan nilai
  4. Operator Logika yaitu untuk operator logika boolean
  5. Operator Bitwise yaitu operator logika yang bekerja pada level bit
  6. dan Operator Ternary yaitu penyingkatan operator if then else
Kegunaan operator akan menentukan alur program yang kalian buat, jadi pelajari baik-baik mengenai operator pada bahasa Java berikut ini.

Saturday, February 22, 2020

Buku Belajar Machine Learning dengan Matlab - Regresi Linear Berganda


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-regresi-linear-berganda/


Buku Belajar Machine Learning dengan Matlab - Regresi Linear Berganda

Sinopsis

Setelah kalian belajar mengenai regresi linear sederhana disini,  tentu akan timbul problem yang lainnnya yaitu tidak semua permasalahan 2 variabel saja pada kondisi real dilapangan, misalkan saja beberapa variabel akan mempengaruhi variabel output, nah untuk topik ini dipecahkan menggunakan Regresi Linear Berganda. Secara umum Regresi Linear Berganda /  Multi Regression bekerja dengan persamaan umum sebagai berikut

$$y=a+b_1x_1+b_2x_2... +b_nx_n$$
atau dalam persamaan umum yang lainya menjadi
$$Y=\beta_0+\beta_1X_1+\beta_2X_2+...+\beta_nX_n$$

Karena cukup rumit, contoh kasusnya yaitu 2 variabel saja yaitu \(X_1\) dan \(X_2\), maka untuk perhitungan regresi berganda yaitu

Buku Belajar Machine Learning dengan Matlab - Regresi Linear


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-regresi-linear/


Buku Belajar Machine Learning dengan Matlab - Regresi Linear

Sinopsis

Regresi Linear adalah Metode Statistik yang berfungsi untuk menentukan hubungan sebab akibat antara independen Penyebab (X) terhadap  dependen akibatnya Y dengan bentuk umum persamaan linear yaitu
$$y = a+bX$$

Dimana :
Y = Variabel Response atau Variabel Akibat (Dependent)
X = Variabel Predictor atau Variabel Faktor Penyebab (Independent)
a = konstanta
b = koefisien regresi (kemiringan); besaran Response yang ditimbulkan oleh Predictor.

Untuk menghitung nilia \(a\) dan \(b\) yaitu
$$a=\frac{\sum{y} \sum{x^2}-\sum{x}\sum{xy}}{n\sum{x^2}-(\sum{x})^2}$$

$$b=\frac{n\sum{xy}-\sum{x}\sum{y}}{n\sum{x^2}-(\sum{x})^2}$$

Dengan \(n\) adalah jumlah data observasi, langkah sederhana kapan kalian menggunakan regresi linear yaitu dengan cara memplotkan data tersebut kedalam sebuah grafik, karena regresi linear bersifat linear maka akan tampak data tersebut berbanding lurus.

Buku Belajar Machine Learning dengan matlab - Jenis Perhitungan Error dalam Forecasting


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

kalian bisa lanjut baca lagi ke http://softscients.com/2020/03/26/buku-belajar-machine-learning-dengan-matlab-jenis-perhitungan-error-dalam-forecasting/
https://www.wallstreetmojo.com/percent-error-formula/

Sinopsis

Kalau kalian sedang bekerja untuk analisis forecasting tentu akan berhadapan dengan cara mengukur kinerja sebuah algoritma forecasting yaitu antara hasil prediksi dan aktualnya. Selain menggunakan Root Mean Square, kalian bisa menggunakan rumus berikut

Friday, February 21, 2020

Buku Belajar Pemrograman Java untuk Pemula - Aturan Sintaks-Debugging-Standar Input Output Java


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


Kamu bisa lanjut baca ke http://softscients.com/2020/03/25/buku-belajar-pemrograman-java-untuk-pemula-aturan-sintaks-debugging-standar-input-output-java/



Sinopsis

Setiap bahasa pemrograman mempunyai sintaks/aturan penulisan berbeda-beda, begitupun dengan Java, kalian ada yang wajib ikuti ataupun hanya saran, tapi sebaiknya kalian ikuti saja karena merupakan standar industri yang digunakan saat ini. Bila kalian pahami, hanya untuk mencetak “Hello” saja ternyata dibutuhkan kode yang cukup banyak, tapi tenang saja kalian akan dikenalkan satu-persatu melalui buku ini. Aturan umum yang digunakan pada pemrograman java dan sebaiknya diikuti yaitu
  1. nama kelas harus Capitalize Each Word, misalkan HitungLuas, HitungJariJari
  2. nama variabel menggunakan huruf kecil semuanya kecuali berupa konstanta berupa final
  3. nama method/procedure/function menggunakan huruf kecil dan huruf besar sebagai pemisahnya, misalkan setView(), setVisible()
Bahasa java merupakan java type strong sehingga perlu adanya deklrasi type variabel, ada beberapa type variabel primitive.

Buku Belajar Pemrograman Java untuk Pemula - Aturan Sintaks-Debugging-Standar Input Output Java

Tuesday, February 18, 2020

Buku Pengolahan Citra Digital dengan Matlab - Kode Matlab untuk Menghitung Histogram Equalization

Kalian tentu ingin tahu kan, cara menghitung histogram equalization, cara sangat gampang koq, apalagi di matlab dengan function find secara mudah dapat menghitung frekuensinya dengan cepat. Secara umum untuk menghitung histogram equalization yaitu
  1. menghitung nilai frekuensi
  2. menghitung nilai kumulatif
  3. menghitung nilai probability
Kalian bisa melihat algoritmanya sesuai dengan contoh dibawah ini


Agar mudah, penulis berikan contoh untuk gambar format grayscale seperti berikut ini, kalian bisa pelajari Kode Matlab untuk Menghitung Histogram Equalization

clc;clear all;close all;
A = imread('D:/panoramic.jpg');
if ndims(A)==3
    A = rgb2gray(A);
end
%nenghitung distribusi nilai pixel yaitu 0 s.d 255
A = A+1; %%untuk menghindari angka 0 terjadi
mn = size(A,1)*size(A,2);
bin = 255+1;
frekuensi = zeros(1,bin);

for i=1:length(frekuensi)
    jumlah = length(find(A==i));
    frekuensi(i) = jumlah;
end

%menghitung cummulatif dan probabilitnya
cumulatif = zeros(1,bin);
cum = 0;
for i=1:size(cumulatif,2)
    cum = cum + frekuensi(i);
    cumulatif(i) = cum;
    probc(i)=cumulatif(i)/mn;

    output(i)=round(probc(i)*bin);
end
output;

B = zeros(size(A,1),size(A,2));
for i=1:size(B,1)
    for j=1:size(B,2)
        B(i,j) = output(A(i,j))-1;
    end
end
A = A - 1; %normalkan lagi
B = uint8(B); %casting lagi
final = [A,B];

figure,
imshow(final),title('Hasil Perbandingan');
return



Sangat simple sekali kan, untuk menghitung Histogram Equalization

Enhancement Histogram Equalization untuk Format True Color

Sinopsis

Selama ini kalian pasti sudah mengenal penggunaan histogram equalization/perataaan nilai histogram  yang telah diterapkan untuk format gambar grayscale, nah sebenarnya untuk penerapan histeq pada format true color bisa koq digunakan, dengan cara men set dulu channel nya sehingga tiap-tiap channel diproses secara terpisah tapi ini khusus untuk Matlab versi 2009a, untuk versi Matlab 2018a sudah bisa dilakukan secara langsung, tapi sayangnya menghasilkan hasil yang berbeda


Histogram Equalization

Untuk metode yang pertama menggunakan teknik looping perchannel, sedangkan cara kedua langsung menggunakan histeq tanpa ada proses looping. Kalian bisa pelajari kode dibawah ini

clc;clear all;close all;
I = imread('D:/panoramic.jpg');
%untuk versi R2009
for i = 1:3
    I2(:,:,i) = histeq(I(:,:,i),256);
end

%untuk versi R2018a, langsung gunakan saja
I3 = histeq(I,256);

gabung = [I,I2,I3];

figure
imshow(gabung),title('Original - Cara 1 - Cara 2');

Enhancement Histogram Equalization untuk Format True Color

Menurut penulis sih, harusnya menggunakan metode 1 karena operasi histeq dilakukan per channel

Monday, February 17, 2020

Buku Belajar Pemrograman Java untuk Pemula - Membuat Project dengan Netbeans


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Kamu bisa lanjut baca di http://softscients.com/2020/03/25/buku-belajar-pemrograman-java-untuk-pemula-membuat-project-dengan-netbeans/

Sinopsis

Tentu kalau membuat aplikasi yang berukuran besar dan melibatkan banyak developer, kalian harus membuat struktur direktori tersendiri, misalkan direktori source, direktori library, direktory resource seperti icon bahkan untuk urusan versioning kalian bisa menggunakan Github. Nah dengan menggunakan IDE seperti Netbeans bahkan kalian akan mendapatkan fitur debuging, compile, serta package dalam 1 aplikasi saja. Setiap aplikasi yang dibuat menggunakan java akan terdapat *.class yang sangat banyak sekali, sehingga harus dikumpulkan/compress menjadi satu kesatuan dengan nama *.jar karena Java bisa berjalan di multi OS sehingga output dari kompile bukan *.exe.

IDE Netbeans di develop menggunakan Java berbasis GUI Swing hal yang berbeda kalau kalian menggunakan Eclipse berbasis SWT. Pada Bab ini kalian akan diberikan cara membuat project mulai dari
  1. Create Project
  2. Membuat Main Class yaitu class yang akan di eksekusi pertama kali ketika dipanggil oleh JRE
  3. Kompile project menjadi aplikasi *.jar
  4. Menjalankan aplikasi berbasis *.jar 
Agar lebih mudah, project yang akan kalian buat yaitu "Hello World" yang  berbasis console bukan GUI sehingga run nya pun harus menggunakan command prompt

Buku Belajar Pemrograman Java untuk Pemula - Program Java Hello World dengan Notepad


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Kamu bisa lanjut baca ke http://softscients.com/2020/03/23/buku-belajar-pemrograman-java-untuk-pemula-program-java-hello-world-dengan-notepad/

Sinopsis

Pada dasarnya kalian bisa melakukan coding / menulis kode menggunakan editor sederhana yaitu Notepad serta melakukan kompilasi kode menggunakan command prompt, walaupun hal ini sudah sangat jarang dilakukan dibahas apalagi oleh Buku lain banyak yang beredar dipasaran. Hal ini patut kalian coba koq karena pas dulu penulis belajar Java pun pada tahun 2000an masih menggunakan Command Prompt dalam kompilasi kode dan editor Notepad sebelum menggunakan Eclipse dan Netbeans, ya maklum karena tidak punya komputer sendiri sehingga hanya bawa JRE dan JDK didalam flashdik demi belajar bahasa Java.

Buku Belajar Bahasa Pemrograman Java untuk Pemula


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


Sinopsis

Bahasa Java sudah semakin familiar sebagai bahasa pengantar pemrograman di tingkat SMK/SMA maupun D3/S1 karena dibangun dengan berbasis OOP yaitu Object Oriented Programming dengan 3 pilar utama yaitu Inheritance, Overloading, dan poliporisme. Basis komunitas yang kuat serta dukungan untuk pengembangan aplikasi Mobile (dulu dikenal dengan J2ME), Desktop (J2SE), serta Server (J2EE). Untuk saat ini Java sudah mencapai versi 1.8

Kalau kalian menggunakan Linux seperti Ubuntu, Red Hat sudah biasanya JRE (java runtime enviroment) sudah terinstall dengan baik, sedangkan JDK (java development kit) bisa instal tersendiri. Bagi kalian yang sudah pernah belajar C/C++, Pascal/Delphi, Basic/Visual Basic ketika di source code di compile maka akan tercipta file *.exe yang siap di exceute, hal ini berbeda dengan Java yang akan membutuhkan JDK ketika kalian akan compile *.java ke *.class yang merupakan MIL machine intermediate languange. MIL tersebut akan dicompile oleh JRE (environment virtual) lagi sesuai dengan OS tersebut berada, maka java bersifat dapat di run diberagam OS asalkan sudah terinstall JRE nya.

Buku ini berbeda dengan yang sudah penulis terbitan sebelumnya, karena fokus buku ini lebih kepada dasar-dasar untuk pemula karena banyak meminta kepada Penulis untuk membahas dasar-dasar bahasa java untuk pemula mulai dari proses download, instalasi dan bahasa java itu sendiri, apalagi yang masih betul-betul awam mengenai bahasa pemrograman terutama yang jurusan SMK RPL (rekayasa perangkat lunak) sehingga bagi kalian akan terasa terbantu sekali dengan adanya buku ini.

Bahasa Java sudah banyak digunakan untuk kalangan industri software besar sebagai core enginenya seperti Matlab, SPPS versi 12, JMonkey Engine dan yang lainnya

Daftar Isi Buku

Sistem Operasi

Untuk Sistem Operasi kalian bisa menggunakan linux berbasis ubuntu, red hat, mac OS, ataupun OS sejuta Umat yaitu Windows 10. Penulis sarankan menggunakan OS berbasis 64bit saja. Tidak masalah kalau kalian membuat aplikasi di Windows kemudian dijalankan di Linux. Aplikasi Java akan tetap berjalan tanpa ada kendala apapun.Tentu hal ini menjadi keuntungan bagi kalian yang suka coding menggunakan linux daripada windows. Dalam buku ini menggunakan Windows 64bit

Sunday, February 16, 2020

Buku Pengolahan Citra Digital dengan Java - Histogram Equalization


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/27/buku-pengolahan-citra-digital-dengan-java-histogram-equalization/


Sinopsis

Perbaikan citra atau yang biasa disebut image enhancement adalah proses perbaikan kualitas citra atau gambar dengan cara memanipulasi parameter-parameter citra. dengan adanya perbaikan citra maka ciri-ciri khusus yang terdapat di dalam citra lebih ditajamkan. Salah satu operasi perbaikan citra format grayscale adalah histogram equalization – perataan histogram. Disadur dari dibawah ini

Buku Pengolahan Citra Digital dengan Java - Histogram Equalization


Kalian bisa menggunakan Java Image secara langsung untuk operasi diatas. Penulis mengimplementasikan menggunakan bahasa java yaitu seperti berikut, jangan lupa untuk add Java Image terlebih dahulu


import java.awt.image.BufferedImage;
import java.io.File;
import jimag.Image;
import jimag.ImageRead;
import jimag.ImageShow;


/**
 *
 * @author mulkan.ms@gmail.com
 */
public class DemoHisteq {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        BufferedImage image = ImageRead.read(new File("D:/field.jpg"));        
          
        //convert ke gray
        double [][] gray = Image.rgb2gray(ImageRead.getMatrix(image));
        
        //operasi ekualisasi histogram
        double [][] gray_image_histeq = Image.histogramEqualization(gray);
        new ImageShow(image,"original").setVisible(true);
        new ImageShow(Image.matrix2image(gray),"gray").setVisible(true);
        new ImageShow(Image.matrix2image(gray_image_histeq),"histeq").setVisible(true);

    }
    
}



Buku Pengolahan Citra Digital dengan Java - Histogram Equalization

Buku Pengolahan Citra Digital dengan Java - Histogram Equalization

Gambar akan terlihat lebih jelas melalui sebaran pixelnya

Saturday, February 15, 2020

Buku Pengolahan Sinyal Digital dengan Python

Sinopsis

Pengolahan Sinyal Digital telah banyak berkembang pesat sekali sejak banyak dikenalnya algoritma deep learning seperti classication genre music, voice command, tag music song. Kalian sudah tepat jika menggunakan Python sebagai bahasa yang digunakan untuk Pengolahan Sinyal Digital (Digital Signal Processing) karena secara luas telah banyak dikembangkan untuk mendukung hal tersebut seperti pengolahan array dengan numpy, pengolahan grafik matplotlib, statistik scikit, serta banyak lagi yang bisa kalian gunakan.

Daftar Isi 

  1. Digital Signal Recognition with Fast Forier Transform - FFT 
  2. Library untuk membaca file WAV di Python
  3. Library untuk mengolah data sinyal format wav di python

Buku Belajar Machine Learning dengan Java


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


Silahkan lanjut baca ke http://softscients.com/2020/03/23/buku-belajar-machine-learning-dengan-java/

Sinopsis

Machine Learning dengan Java yang dibahas dalam buku ini, bisa kalian pelajari sesuai dengan yang tertera pada Daftar Isi dibawah ini ada yang berupa sifatnya Demo dalam bentuk aplikasi adapula yang bersifat penjabaran algoritma, bagi kalian yang ingin bertanya, silahkan untuk mengirimkan email kesini, Jika kalian merasa terbantu atas tulisan dari artikel ini, silahkan untuk di share

Daftar Isi

  1. Kohonen 
  2. Algoritma Greedy
  3. Mengapa RSA tidak cocok untuk enkripsi file binary

Buku Tips dan Trik Pemrograman Java

Sinopsis

Kalau kalian telah mambaca buku , buku ini adalah perluasan dari buku tersebut dengan fokus  Tips dan Trik Pemrograman Java


Daftar Isi Suplemen

  1. Membaca Format Data JSON di Java
  2. Parsing File CSV
  3. Mengubah Icon di JFrame
  4. Aplikasi dengan Fitur Drag and Drop
  5. Menyimpan Object Class dengan Serialisasi
  6. Stop background scanning of projects netbeans


http://andipublisher.com/produk-1204004305-bermacam-project-java-dengan-ide-netbean.html





Buku yang Anda pegang ini merupakan kumpulan project pengembangan aplikasi dalam bahasa java. Berbagai project meliputi chart, parser, image processing, interfacing webcam. Buku ini tidak membahasa dasar-dasar bahasa pemrograman java akan tetapi pengguna harus sudah familier dengan OOP dan SWING karena aplikasi melibatkan kedua teknologi tersebut.

Chart merupakan hal yang wajib dalam membuat aplikasi terutama visualisasi laporan. Pengenalan berbagai chart seperti Pie, Bar, Scatter, Gannt dengan memanfaatkan library Jfreechart dan Jcommon

Parser dalam buku ini membahas 2 parser yaitu HTML (CSS) dan XML. Parser berguna untuk melakukan pengumpulan dan pemilihan dari sebuah dokumen menjadi lebih berguna. Misalnya melakukan pengumpulan (extract) email dari sebuah halaman situs. Sedangkan XML adalah format pertukaran data yang secara luas digunakan oleh dunia industri, sehingga diharapkan Anda dapat memahami dan menggunakan XML untuk pengembangan aplikasi yang lebih berguna, misalnya membaca berita via RSS Feed dengan memenfaatkan library Jsoup dan kXML


Pengolahan citra yang dimaksud disini adalah aplikasi pengolahan citra berbasis java meliputi convert RGB ke gray, bw (black-white), pembuatan filter (blur, sharp), mengextract pixel citra dan menyimpannya kedalam berbagai format (CSV, PRN), dan juga rescaling citra dengan memanfaatkan library JImage

Interfacing webcam adalah aplikasi koneksi WebCam dengan java. Pada aplikasi ini kita akan diajak untuk melakukan koneksi dan capture dari video serta menyimpannya kedalam format JPG dengan memanfaatkan JMF (java media framework)


Semoga keempat project diatas dapat menginspirasi Anda untuk mengembangkan aplikasi yang lebih berguna lagi.

Buku Pengolahan Citra Digital dengan Python dan OpenCV


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/30/buku-pengolahan-citra-digital-dengan-python-dan-opencv/


Sinopsis

Buku Belajar Pengolahan Citra Digital dengan Python dan OpenCV merupakan kumpulan dari berbagai topik yang seringkali ditemui untuk riset para mahasiswa, kalian bisa pelajari melalui blog ini ataupun mengajukan pertanyaan via email. Mengingat sangat luas dan cepat berkembanganya ilmu dibidang ini terutama sejak masifnya perkembangan deep learning yang memungkinkan machine lebih cepat belajar dari beragam objek yang dilatih sebelumnya

Daftar Isi

  1. Penerapan Histogram Ekualisasi
  2. OpenCV- Crop the image by annotation XML
  3. OpenCV-Penentuan Skala pada Pengambilan Gambar via Drone
  4. Deteksi Tepi /  Edge Detection dengan Sobel
  5. Penerapan Watershed
  6. Clustering Color with Kmeans Clustering
  7. Merging Binary Objek
  8. Pengenalan Tulisan Angka dengan Tangan
  9. Membaca KTP NIK Indonesia
  10. OCR KTP Indonesia
  11. Contour Retrieval Mode Find Contour 

Buku Belajar Machine Learning dengan Python


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Sinopsis

Buku Belajar Machine Learning dengan Python merupakan perluasan dari dasar-dasar pemrograman Python, apalagi perkembangan bahasa Python yang sering banyak digunakan untuk pengembangan aplikasi berbasis machine learning daripada menggunakan bahasa yang lainnya karena ketersediaan library serta pengembang besar dibalik Python seperti Tensforflow (google), Pytorch (facebook), serta microsoft. Buku ini menggunakan package Anaconda untuk installer serta kumpulan library siap pakai yang bisa kalian gunakan seperti numpy, pandas, scikit, matplotlib serta OpenCV.

Luasnya pembahasan machine learning yang diterapkan mulai dari computer vision serta deep learning menuntut kalian harus belajar menggunakan bahasa python, oleh karena itu ikuti saja blog ini agar kalian mendapatkan informasi/tutorial serta pembahasan machine learning dengan Python


Daftar Isi

  1. Cara Install TensorFlow
  2. Menghitung Tingkat Kemiripan menggunakan Cosimiliarity
  3. Traning Neural Network with Particle Swarm Optimization
  4. Trend Model with Radial Basis Function
  5. Feature selection
  6. Kmeans Clustering
  7. Simple Adaptive Boosting
  8. Klasifikasi menggunakan Support Vector Machine 
  9. Learning Vector Quantization
  10. Decision Making with Multi-Attribute Decision Making Using Simple Additive Weighting  
  11. Extreme Learning
  12. Neural Network Backpropagation
Bagi kalian yang ingin bertanya silahkan untuk kirim email kesini


Wednesday, February 12, 2020

Buku Belajar Pemrogaman Matlab - Setup Tampilan dan Work Directory

Sinopsis 

Sebelum kalian belajar lebih jauh Pemrograman Matlab, alangkah baiknya kalian setup dulu tampilan Matlab serta setting Work Direktory agar lebih mudah dalam proses belajar Pemrograman Matlab. Hal ini dilakukan agar kita seragam dalam pembahasan karena beberapa kasus kalau tidak dibuat default akan membingungkan para pembaca kalau tidak diatur widgetnya

Buku belajar machine learning dengan matlab - Algoritma Perceptron


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link

Kalian bisa teruskan lagi di http://softscients.com/2020/03/25/buku-belajar-machine-learning-dengan-matlab-algoritma-perceptron/

Perceptron

Pembahasan machine learning dimulai dari dasar-dasar nya dulu secara bertahap agar kalian paham dan tidak pusing. Sejarah machine learning ketika diperkenalkannya algoritma perceptron. Algoritma ini cikal bakal mengenai soft computing dalam menangani masalah dalam dunia real yang begitu kompleks variabelnya serta banyak mengandung data bersifat nonlinear.

Secara umum pembahasan perceptron yaitu model persamaan umum, kasus klasifikasi binary yaitu dengan target terdiri dari 2 kelas saja, dilanjutkan dengan target multi kelas, dan yang terakhir non linear  menggunakan multi layer perceptron yang merupakan cikal bakal dari feed forward backpropagation dan berkembang sampai tingkat lanjut menjadi deep learning. Tapi secara garis besar machine learning sesuai dengan alih bahasanya yaitu mesin yang belajar sehingga akan banyak melibatkan dataset yang berisi input dan target dengan komputer tersebut menyimpan kecerdasannya yang disimpan dalam sebuah istilah bobot dan bias.

Dalam kasus yang begitu kompleks bahkan diperlukan ribuan/jutaan kali iterasi serta berjam-jam/berhari-hari sesi pelatihan sehingga dibutuhkan RAM yang sangat besar sekali loading dataset. Kemampuan umum machine learning ditandai dengan sifat generalnya yang mampu secara soft mengambil sebuah keputusan secara luwes dalam menghadapi beragam data multidimensi dan non linear seperti layaknya otak manusia yang memproses data dalam banyak multi dimensi. Misalkan saja mata manusia menerima data kontinyu (sedangkan komputer bersifat diskrit) terdiri dari warna, jarak, dan kedalaman. Ketika mata manusia  sedang melihat objek mobil terdiri bentuk, jarak, kedalaman, ukurannya diteruskan kedalam otak. Maka otak akan merespond sesuai dengan ingatan dan apa-apa yang telah dipelajari sebelumnya. Tentu kalau otak/manusia tersebut belum pernah melihat mobil akan bingung, berbeda dengan manusia yang sudah terlatih, bahkan dengan melihat sekilas mampu menebak jenis dan merk nya sekaligus!


Machine Learning pun bekerja sesuai dengan algoritma tersebut yaitu training dengan melibatkan jutaan/ribuan dataset yang telah dikuantisasi menjadi bilangan diskrit sesuai dengan cara kerja komputer/mesin/robot. Ribuah dataset tersebut akan ditransformasikan melalui persamaan matematika melibatkan banyak transfer learning menghasilkan memory kecerdasan buatan berupa bobot dan bias.


Buku Pengolahan Citra Digital dengan Java


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/27/buku-pengolahan-citra-digital-dengan-java/


Buku Pengolahan Citra Digital dengan Java

Topik Pengolahan Citra Digital menggunakan Bahasa Pemrogaman Java masih sangat sedikit dipasaran karena Bahasa Java termasuk masih pemula / baru dalam bidang tersebut sehingga tidak terlalu banyak penggunaan bahasa Java digunakan untuk pengolahan citra digital. Namun demikian kalian bisa menggunakan Bahasa Java untuk keperluan tersebut dengan sedikit lebih repot daripada menggunakan Tools seperti Python, Octave, Scilab, dan Matlab karena harus banyak membuat function-function dasar tersendiri, tentu hal ini sangat membutuhkan banyak waktu dan pemahaman tingkat lanjut.

Bahasa java sudah lebih maju untuk pengembangan aplikasi berbasis GUI dengan adanya \(swing\) bawaan dari \(Netbeans\), serta class dasar yang telah disediakan oleh Java. Kalian akan bekerja dengan banyak class \(Buffered Image\) yang merupakan turunan class \(Graphic\) serta fokus pada tipe data \(double\) sebagai tipe data berbentuk array untuk pengolahan citra lebih lanjut. Setiap operasi citra akan direpresentasikan oleh array  daripada class Buffered Image karena pendekatan operasi tersebut seperti di Matlab, OpenCV, serta Python.

Penulis telah membuat class – class dasar yang di extends dari Class bawaan Java sehingga tidak perlu banyak membuat class lagi dari awal, selain itu banyak class yang akan dibuat Static sehingga fokus pada operasi prosedural tapi ada juga yang dibuat class tersendiri karena operasi tersebut sangat rumit. Walaupun di Netbeans ada fitur pembuatan GUI secara drag and drop, pengalaman penulis ketika membuat aplikasi GUI yang bersifat Drag an Drop hal ini menjadi masalah karena terkadang proses developing menjadi sangat rumit apalagi dengan banyaknya libary-library yang digunakan secara bersama-sama sehingga proses update menjadi terkendala (no compliance) sehingga beberapa class akan dibuat by code secara manual.

Pustaka yang penulis buat diberi nama Java Image yang memang mempresentasikan kegunaan dari pustaka tersebut walaupun didalamnya berisi beberapa algoritma pendukung seperti clustering, texture analyst, statistika, serta melibatkan pustaka JAMA (java matrix) yang cukup ringan sebagai pendukung operasi array/matrix, tidak lupa juga menggunakan JfreeChart sebagai chart untuk visualisasi data.

Java Image sudah penulis gunakan di beberapa project yang berkaitan dengan pengolahan citra digital, machine learning dan optimasi untuk keperluan internal sehingga kalaupun ada bugs / kesalahan logika kalian bisa melakukan edit kode / logika tersebut sesuai keperluan kalian, ataupun meng copy paste kode tersebut kedalam bahasa lain seperti C#, Scala, C++.

Mengingat Java Image dibuat untuk core enginenya, maka kebanyakan yang akan dibahas dalam buku ini adalah cara memakai function/method/class tersebut secara dasar-dasarnya saja sedangkan untuk manual dokumentasi seperti algoritma/ persamaan matematika bisa kalian search di blog ini asal kalian sudah tahu cara kerja operasi array/matrix karena memang sedari awal hanya ditujukan untuk penggunaan sendiri sehingga kaidah penulisan/dokumentasi tidak dibuat dengan begitu rapi.  Selain Java Image ada yang sangat bagus sekali untuk kalian gunakan yaitu ImageJ (Image Java) silahkan saja kalian kombinasikan.


Download Java Image : https://sourceforge.net/projects/javajimage/files/

Daftar Isi

  1. Histogram Equalization 
  2. Teknik Enhancement Normalisasi Citra
  3. Gray Level Coocurance Matrix
  4. Mengenai ImageJ

JDK dan Netbeans

Kode Java Image ditulis menggunakan Netbeans-8.1 dan JDK-1.8.0_241

Buku Pengolahan Citra Digital dengan Java

Buku Pengolahan Citra Digital dengan Java

Download Kode dan Binary

Silahkan kalian ke https://sourceforge.net/projects/javajimage

Buku Pengolahan Citra Digital dengan Java

Ada 3 file yang bisa kalian download yaitu

Buku Pengolahan Citra Digital dengan Java

Kalian download saja Jama-1.03.jar dan Binary Java Image 2020.jar

Project Pertama

Kalian buatlah project menggunakan Netbeans ataupun Eclipse, jangan lupa untuk add pathnya

Buku Pengolahan Citra Digital dengan Java

Berikut contoh penggunaanya untuk loading Image serta menampilkannya kedalam PictureBox (extend class dari \(JFrame\))


import java.awt.image.BufferedImage;
import java.io.File;
import jimag.Image;
import jimag.ImageRead;
import jimag.ImageShow;

/**
 *
 * @author mulkan.ms@gmail.com
 */
public class Demo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        //loading file gambar
        BufferedImage image = ImageRead.read(new File("D:/panoramic.jpg"));        
          
        //convert ke gray
        double [][] gray = Image.rgb2gray(ImageRead.getMatrix(image));
        
        //operasi ekualisasi histogram
        double [][] gray_image_histeq = Image.histogramEqualization(gray);
        
        //mencari nilai T dengan teknik Otsu
        double T = Image.graythresh(gray);
        //operasi BW
        double [][] bw = Image.blackwhite(gray, false,T);
        
        //operasi filtering 
        double [][] filt = Image.convolution(gray,Image.KernelSharpening);
        new ImageShow(image,"original").setVisible(true);
        new ImageShow(Image.matrix2image(gray),"gray").setVisible(true);
        new ImageShow(Image.matrix2image(gray_image_histeq),"histeq").setVisible(true);
        new ImageShow(Image.matrix2image(bw),"Nilai T : "+String.valueOf(T)).setVisible(true);
        new ImageShow(Image.matrix2image(filt),"Filtering").setVisible(true);

    }
    
}


Buku Pengolahan Citra Digital dengan Java

Buku Pengolahan Citra Digital dengan Java

Buku Pengolahan Citra Digital dengan Java

Buku Pengolahan Citra Digital dengan Java

Buku Pengolahan Citra Digital dengan Java