Tag Cloud dengan HTML

Tag cloud atau awan tag adalah representasi visual dari kata-kata kunci atau tag yang paling umum digunakan dalam suatu dokumen atau set dokumen. Tag cloud biasanya terdiri dari sekelompok kata-kata yang ditampilkan dalam ukuran yang berbeda-beda, dengan ukuran yang lebih besar menunjukkan bahwa kata-kata tersebut lebih sering muncul dalam dokumen atau set dokumen yang dianalisis. Tag cloud digunakan untuk membantu pengguna memperoleh pemahaman yang lebih cepat tentang topik atau konten dokumen yang dianalisis.

Berikut ini kita coba membuat tagcloud dari scrapping www.newsapi.org yang merupakan platform penyedia layanan berita berbasis web (lihat pos terdahulu). Layanan ini menyediakan akses ke ribuan artikel berita dari berbagai sumber terpercaya di seluruh dunia. NewsAPI.org adalah salah satu layanan terbaik untuk pengembang dan pembuat aplikasi yang ingin mengintegrasikan berita ke dalam aplikasi mereka. Berikut ini adalah contoh akses API:

https://newsapi.org/v2/top-headlines?country=id&apiKey=APIKEY

Untuk mendapatkan API Key dari NewsAPI.org, ikuti langkah-langkah berikut:

  • Kunjungi situs web NewsAPI.org di https://newsapi.org/.
  • Klik tombol “Get API Key” di sudut kanan atas halaman web.
  • Isi formulir pendaftaran yang tersedia dengan alamat email Anda dan kata sandi yang aman, kemudian klik “Get Started”.
  • Verifikasi alamat email Anda dengan mengklik tautan yang dikirimkan ke email Anda.
  • Login ke akun NewsAPI.org yang baru saja Anda buat.
  • Setelah login, klik “Dashboard” untuk melihat API Key Anda.
  • Salin API Key yang ditampilkan dan gunakan dalam permintaan API Anda.

Perlu diingat bahwa NewsAPI.org menyediakan berbagai paket layanan dengan harga yang berbeda-beda. Paket gratis memiliki batasan permintaan API per hari, sedangkan pada paket berbayar, batasan permintaan dan fitur yang lebih banyak tersedia. Pastikan untuk memilih paket yang sesuai dengan kebutuhan Anda. Berikut ini terapannya untuk membuat Tagcloud.

<!DOCTYPE html>
<html>
<head>
<title>Tag Cloud dari Scraping NewsAPI</title>
</head>
<body>
<h1>Tag Cloud dari Scraping NewsAPI</h1>
<?php
$apiUrl = “https://newsapi.org/v2/top-headlines?country=id&apiKey=API KEY“; // Ubah kode “id” menjadi kode negara yang ingin Anda scrap beritanya
$response = file_get_contents($apiUrl); // Ambil data dari NewsAPI dalam format JSON
$newsData = json_decode($response); // Ubah data JSON menjadi objek PHP
$tags = array(); // Buat array kosong untuk menyimpan tag yang diambil dari berita
foreach ($newsData->articles as $article) { // Loop setiap artikel dalam objek berita
$title = strtolower($article->title); // Ambil judul artikel dan ubah ke huruf kecil
$words = explode(” “, $title); // Pisahkan kata-kata dalam judul artikel ke dalam array
foreach ($words as $word) { // Loop setiap kata dalam array
if (strlen($word) > 3) { // Jika kata lebih panjang dari 3 karakter
array_push($tags, $word); // Tambahkan kata ke dalam array tag
}
}
}
$tagCounts = array_count_values($tags); // Hitung frekuensi kemunculan setiap tag
arsort($tagCounts); // Urutkan tag berdasarkan frekuensi kemunculan dari yang paling banyak
foreach ($tagCounts as $tag => $count) { // Loop setiap tag dan frekuensi kemunculannya
$tagSize = 15 + ($count * 4); // Tentukan ukuran tag berdasarkan frekuensi kemunculan
echo “<a href=’#’ style=’font-size: ” . $tagSize . “px;’>$tag</a> “; // Tampilkan tag dalam elemen anchor dengan ukuran yang ditentukan
}
?>
</body>
</html>
Tampilannya kira-kira seperti ini. Tampak Piala Dunia Indonesia U-20 memiliki frekuensi yang tertinggi di antara kata-kata lainnya. Selamat mencoba.

Iklan

Cara Menjalankan Google Earth Engine

Google Earth Engine (GEE) adalah platform komputasi awan gratis yang disediakan oleh Google untuk mengakses, memanipulasi, dan menganalisis data geospasial dari berbagai sumber, termasuk citra satelit, peta, dan data lainnya. Platform ini dikembangkan oleh Google untuk membantu para peneliti, pengamat, dan praktisi di berbagai bidang ilmu, seperti lingkungan, penginderaan jauh, konservasi, pertanian, dan perubahan iklim, untuk melakukan analisis spasial yang cepat dan akurat menggunakan data yang besar dan kompleks.

Buka halaman Google Earth Engine di https://earthengine.google.com/. Klik tombol “Sign In” di sudut kanan atas halaman. Masukkan akun Google Anda untuk masuk ke Google Earth Engine. Setelah masuk, Anda akan diarahkan ke halaman beranda Google Earth Engine. Di sini, Anda dapat menemukan berbagai jenis data dan alat untuk memulai analisis geospasial Anda. GEE memungkinkan pengguna untuk mengakses data geospasial dalam jumlah besar dari berbagai sumber seperti Landsat, Sentinel, MODIS, dan banyak lagi, dan menyediakan berbagai alat analisis seperti penginderaan jauh, statistik, pemrosesan citra, dan pemodelan spasial.

Ikuti saja yang direkomendasikan yaitu dengan cloud project. Pilih saja yang without a cloud project. Isi data yang harus diisi, pastikan berhasil.

Sebagai langkah awal kode berikut coba Anda masukan di code editor yang dapat diakses di menu Platform.

// Mengambil citra Landsat 8
var image = ee.Image(‘LANDSAT/LC08/C01/T1_TOA/LC08_044034_20140318’);
// Menghitung indeks NDVI
var ndvi = image.normalizedDifference([‘B5’, ‘B4’]);
// Menambahkan layer NDVI ke peta
Map.addLayer(ndvi, {min: 0, max: 1, palette: [‘blue’, ‘white’, ‘green’]}, ‘NDVI’);
// Visualisasi citra Landsat 8
Map.addLayer(image, {bands: [‘B4’, ‘B3’, ‘B2’], max: 0.3}, ‘Landsat 8’);
Pastikan hasilnya muncul seperti gambar berikut. Sekian, selamat mencoba.

Kode tersebut terdiri dari beberapa bagian:

Variabel image digunakan untuk memuat citra Landsat 8 pada tanggal tertentu dengan memanggil fungsi ee.Image().

Fungsi addNDVI() digunakan untuk menghitung NDVI pada citra yang dimuat. NDVI dihitung dengan menggunakan fungsi normalizedDifference() yang membagi selisih antara band inframerah dan band merah dengan jumlah band inframerah dan band merah. Hasil perhitungan NDVI kemudian disimpan ke dalam variabel ndvi.

Fungsi visualizeRGB() digunakan untuk memvisualisasikan citra Landsat 8 dengan menampilkan komposisi warna merah, hijau, dan biru (RGB) dengan menggunakan fungsi image.visualize(). Citra Landsat 8 yang sudah dimuat ke dalam variabel image akan diolah dengan menggunakan fungsi visualizeRGB() dan ditampilkan pada layer di peta dengan menggunakan fungsi Map.addLayer().

Pastikan tampil output berupa citra RGB di lokasi tempat image berada. Sekian, selamat mencoba.

Cara Menggunakan CANVA Untuk Disain Roadmap

Canva adalah sebuah situs web yang memungkinkan penggunanya untuk membuat desain grafis dengan mudah tanpa harus memiliki keterampilan desain yang tinggi. Situs ini menyediakan berbagai macam template desain, termasuk desain presentasi, poster, undangan, kartu nama, brosur, dan banyak lagi. Selain itu, Canva juga menyediakan berbagai macam elemen desain seperti gambar, ikon, font, dan warna yang dapat digunakan untuk membuat desain yang lebih menarik. Canva tersedia secara gratis dengan beberapa fitur terbatas, namun untuk fitur lengkap dan lebih banyak template, pengguna bisa berlangganan dengan biaya bulanan atau tahunan. Canva sangat berguna bagi siapa saja yang ingin membuat desain grafis dengan cepat dan mudah tanpa harus memiliki keterampilan desain yang tinggi.

Buat akun atau masuk jika sudah memiliki akun. Pilih template roadmap: Pada halaman utama Canva, ketik “roadmap” di kolom pencarian. Akan muncul beberapa pilihan template roadmap yang dapat dipilih. Pilih salah satu template yang sesuai dengan kebutuhan.

Lanjutkan langkah-langkah berikut setelah memilih template:

  • Setelah memilih template roadmap, ubah desainnya agar sesuai dengan kebutuhan. Tekan tombol “Edit” untuk membuka template di editor Canva. Kemudian, pilih elemen yang ingin diubah seperti font, warna, dan gambar.
  • Tambahkan informasi: Tambahkan informasi yang diperlukan ke dalam roadmap, seperti milestone, tanggal, dan deskripsi. Gunakan fitur Canva seperti teks, gambar, dan ikon untuk memperjelas informasi yang ditampilkan.
  • Simpan dan bagikan: Setelah selesai mengedit roadmap, simpan desainnya dengan cara menekan tombol “Download” atau “Publish”. Jika ingin membagikan desain ke orang lain, klik tombol “Share” untuk membagikan tautan atau mengunduh file yang sudah selesai.
  • Revisi dan update: Revisi dan update roadmap sesuai dengan kebutuhan saat diperlukan. Gunakan Canva untuk membuat perubahan yang dibutuhkan dengan cepat dan mudah.

Beberapa elemen dapat ditambahkan (ingat pilih yang tidak pro yang tidak ada simbol mahkota). Setelah itu download dalam format jpg, png, atau pdf. Oiya, kalau ada yg pro kita tidak bisa mengunduh, ganti saja dengan elemen yang gratis.

Berikut hasil unduhannya, bagus bukan? Praktis, gratis, dan cepat. Sekian, semoga bermanfaat. Sekian, semoga bermanfaat.

Scrapping Media Online dengan NEWSAPI.ORG

Bagi Anda yang ingin melakukan analisa media online, ada baiknya mendaftarkan API key pada Newsapi.org. NewsAPI.org adalah sebuah platform yang menyediakan akses ke ribuan artikel berita dari berbagai sumber media di seluruh dunia. Platform ini memungkinkan pengguna untuk mengakses berita terbaru dari berbagai kategori seperti politik, bisnis, hiburan, olahraga, dan banyak lagi. NewsAPI.org memiliki antarmuka pemrograman aplikasi (API) yang mudah digunakan oleh pengembang untuk mengambil data dan menyajikannya di aplikasi mereka.

NewsAPI.org menawarkan berbagai fitur dan fungsi yang berguna bagi pengguna dan pengembang aplikasi. Fitur yang tersedia di antaranya adalah kemampuan untuk memilih sumber berita yang diinginkan, menampilkan gambar dan video dalam artikel berita, dan mengatur hasil pencarian berdasarkan kata kunci dan tanggal terbit. NewsAPI.org juga menyediakan fitur untuk mengelompokkan artikel berita berdasarkan kategori dan sumber berita.

Salah satu keuntungan menggunakan NewsAPI.org adalah penggunaan data yang akurat dan up-to-date. Platform ini mengumpulkan dan mengelola berita dari berbagai sumber media terkemuka seperti BBC, CNN, dan New York Times. Hal ini memastikan bahwa pengguna mendapatkan akses ke berita terbaru dan terpercaya dari sumber yang terpercaya. Selain itu, NewsAPI.org juga menyediakan dokumentasi yang lengkap dan mudah dipahami bagi pengembang aplikasi yang ingin memanfaatkan API mereka. Format contoh mengaksesnya adalah sebagai berikut (NOTE: Gunakan API key Anda dengan daftar terlebih dahulu di newsapi.org).

<!DOCTYPE
html>
<html>
<head>
<title>News API Example</title>
</head>
<body>
<h1>News API Example</h1>
<p
id=“articles”></p>
<script>
const url = https://newsapi.org/v2/everything?q=politik%20indonesia&sortBy=date&apiKey=<APIKEY>&#8221;;
fetch(url)

.then(response => response.json())
.then(data => {
const articles = data.articles;

const articleList = document.getElementById(“articles”);
let html = “”;
for (let i = 0; i < articles.length; i++) {
const article = articles[i];

html += `<h2>${article.title}</h2>`;
html += `<p>${article.description}</p>`;
html += `<a href=”${article.url}“>Read More</a>`;
}
articleList.innerHTML = html;

})
.catch(error => {
console.log(error);

});
</script>
</body>
</html>

Berikut ini tampilan HTML yang mengaksses API. Untuk lebih spesifik, misal artikel Indonesia tentang politik.

Menyikapi ChatGPT

Beberapa media online mulai memberitakan kalau ChatGPT akan diblokir, alasannya karena belum terdaftar di sistem Penyelenggara Sistem Elektronik (PSE) Kominfo. Tapi sepertinya itu hanya masalah administrasi, bagaimana dari sisi konten? Apakah berdampak negatif?

Kalau kita lihat visi AI Indonesia 2045 tampak Etika dan Kebijakan sebagai landasar, infrastruktur & data dan pengembangan talenta sebagai pilar untuk menopang 4 area fokus dan 5 bidang prioritas AI.

https://ai-innovation.id/server/static/ebook/stranas-ka.pdf

AI Sebagai Senjata

Memang sudah ada kekhawatiran tentang dampak AI, bahkan sudah dibahas di PBB (link). Sebenarnya AI itu sendiri mirip dengan pertama kali diperkenalkannya komputer, dimana sekutu berhasil membongkar kode mesin enkripsi elektromekanis Jerman, Enigma, lewat tangan Alan Turing. Komputer yang dahulu sebagai alat support/pendukung sekarang sudah berubah menjadi IT yang berperan bak senjata agar unggul dalam persaingan. Industri 4.0 mulai memasukan AI sebagai komponennya.

AI Untuk Mengejar Ketertinggalan

Semua mengakui kita masih tertinggal dengan negara lain, bahkan di Asia Tenggara sekalipun. Jika ada ‘sepatu’ yang membuat kita berlari cepat menyusul negara-negara lain, terutama negara maju, bisa jadi namanya Artificial Intelligence (AI). Lihat 5 bidang prioritas AI di Indonesia gambar di atas. Jika ingin memanfaatkan ChatGPT guna mengetahui ‘hal-hal yang orang lain tahu’ tentu saja tidak ada salahnya, kecuali ‘hal-hal yang sebaiknya tidak boleh tahu’, yang ini jatuh di ranahnya kebijakan. Di mana-mana mengejar harus berlari, bahkan harus lebih cepat dari larinya sesuatu yang dikejar. Saya teringat ketika kuliah dulu, dosen bertanya ke mahasiswa Thailand, dapat materi variabel kompleks kapan? Dijawab ketika S1, begitu juga Indonesia dan negara asia tenggara lain, seperti Viet Nam dan Malaysia. Tapi ketika ditanya ke mahasiswa Perancis, ternyata sudah memperoleh dari bangku sekolah menengah atas. Jika ada sesuatu yang secara gratis dan mudah membuat orang tahu lebih cepat, sepertinya cocok untuk negara yang sedang berkembang, apalagi yang untuk makan saja butuh kerja keras (kecuali sebagian kecil rakyat seperti kasus viral gaya hidup mewah anak-anak pejabat saat ini). Untuk yang ingin melihat tanggapan para profesor bisa lihat youtube berikut.

Mengatasi Problem Impor Data Besar MySQL

Ketika mengimpor data yang besar terkadang ada masalah di sisi server. Hal ini terjadi pada aplikasi dengan cronjob yang men-scrap data dari beragam sumber. Ada banyak cara yang dapat dilakukan, antara lain:

  • Gunakan command line: Jika file dump database yang ingin Kita impor cukup besar, Kita bisa menggunakan command line untuk mengimpor file tersebut ke dalam database Kita. Kita bisa menggunakan perintah seperti “mysql -u [username] -p [database_name] < [file_name].sql” untuk mengimpor file SQL. Pastikan untuk mengganti [username], [database_name], dan [file_name] dengan informasi yang sesuai untuk sistem Kita.
  • Naikkan batas ukuran file: Jika Kita masih ingin menggunakan phpMyAdmin, Kita bisa mencoba untuk meningkatkan batas ukuran file yang diizinkan untuk diunggah. Kita bisa mengubah pengaturan “upload_max_filesize” dan “post_max_size” di file php.ini. Pastikan untuk menyimpan perubahan dan me-restart server web Kita setelah melakukan perubahan.
  • Gunakan perangkat lunak alternatif: Jika kedua solusi di atas tidak berhasil, Kita bisa mencoba menggunakan perangkat lunak alternatif seperti MySQL Workbench atau Adminer untuk mengimpor data ke dalam database Kita.
  • Bagi file dump menjadi beberapa bagian: Jika file dump database Kita terlalu besar, Kita bisa mencoba untuk membaginya menjadi beberapa bagian yang lebih kecil dan mengimpor setiap bagian secara terpisah.
  • Gunakan layanan cloud: Jika tidak memungkinkan untuk mengimpor data secara lokal pada server, Kita bisa menggunakan layanan cloud seperti Google Cloud SQL atau Amazon RDS untuk mengimpor data ke dalam database. Layanan cloud ini biasanya menawarkan dukungan untuk mengimpor data besar dan menangani pengaturan infrastruktur database secara otomatis.

MySQL Workbench

Silahkan coba langkah-langkah di atas, dimulai dari menggunakan command line. Tapi jika alergi dengan terminal/command line pada cara pertama, atau bingung utak-atik “upload_max_filesize” langkah kedua, bisa gunakan MySQL Workbench berikut. Jalankan Run SQL Script.

Bagi File Dump

Cara praktis berikutnya adalah dengan men-scrap data per bagian, misalnya perbulan, atau beberapa hari. Sebagai contoh python berikut:

SELECT * FROM <tabel> WHERE `DATE` >= ‘2023-01-01’ AND `DATE` <= ‘2023-01-15’; akan menangkap data beberapa hari. Selanjutnya eksport ‘data_artikel_csv’ yang dihasilkan, misalnya dengan Phpmyadmin.

Ganti host, user, password, dan database sesuai yang akan dimasukan datanya. Gunakan kode SQL Select, gunakan tanggal tertentu agar tidak berat, bisa gunakan bulan sebagai basisnya. Di sini saya menggunakan 15 hari karena sebulan terlalu besar. Jalankan kode di atas, pastikan akan muncul file data_artikel.csv.

Selanjutkan Import kembali dengan Phpmyadmin (bisa juga dengan MySQL Workbench). Pastikan berjalan dengan baik.

Cek isi tabel, apakah sudah sesuai. Sekian semoga bisa membantu.

NOTE: Saya pernah mencoba dengan MySQL workbench menggunakan kode SQL:

SELECT * FROM <tabel> WHERE `DATE` >= ‘2023-01-01’ AND `DATE` <= ‘2023-01-15’;

Lalu menekan eksport ke CSV. Tetapi ketika diimport via Pypmyadmin (cPanel) ada kesalahan berikut. Kalau tidak bisa diatasi, silahkan gunakan kode Python dengan Pandas yang menghasilkan CSV cara sebelumnya.

Meratakan Titik Dua Pada Teks dan Tabel Microsoft Word

Jika pembaca pernah membuat CV, ketika menulis daftar isian seperti nama, alamat, dan seterusnya, pasti pernah jengkel karena titik dua tidak rata secara vertikal. Ada beberapa yang menyarankan dengan menjadikan ‘:’ dalam satu kolom tertentu pada tabel.

Cara lainnya adalah dengan memanfaatkan fasilitas ‘tab’ pada ruler di MS word. Seperti pada gambar berikut. Arahkan mouse di ruler pada lokasi tertentu. Ketika sudah diklik simbol ‘L’, yang artinya left tab, maka ketika menekan tab akan tepat mengarah ke lokasi tersebut dan rata kiri.

Berikutnya, setelah mengklik ‘L’, blok seluruh tulisan yang akan dibuatkan “:”-nya, lalu arahkan ke ruler lokasi tempat ‘:’ berada, misal di angka 5. Maka ketika tab ditekan, akan otomatis mengarah tepat ke angka 5 pada ruler.

Masalah muncul ketika kita menggunakan tabel karena tab pada tabel artinya pindah ke cell tetangga. Misal kita buat seperti data di atas, dipilih tab rata kanan “L” terbalik.

Di sini untuk tabel, dengan menekan ctrl+tab, bukan hanya tab pada tiap-tiap “:”. Tentu saja bisa dengan cara menjadikan “:” satu kolom khusus seperti cara pertama, tetapi sepertinya kurang efisien. Sekian, semoga sedikit membantu.

Web-Based Python dengan PHP

Terkadang kita diminta mendisain AI pada aplikasi berbasis web yang sedang running. Kebanyakan menggunakan bahasa pemrograman PHP-MySQL (di Indonesia). Oleh karena itu kita perlu mengetahui bagaimana meng-embed AI berbasis pythonitu pada PHP.

Training

Training terkadang terpisah dengan aplikasi karena membutuhkan sumber daya (hardware) yang besar untuk menjalankannya. Untuk data yang besar bisa berjalan berhari-hari. Aplikasi terkenal ChatGPT saja yang kita pakai hanya hasil training yang menurut info data sebelum tahun 2021 saja.

Untuk menjalankan proses training berbasis web, yang dibutuhkan adalah data training dan model AI. Data training untuk praktik kita coba dengan mengunggah dilanjutkan proses training. Video youtube berikut mengilustrasikan langkahnya. Jika bingung, bisa Googling atau tanya ChatGPT. Data contoh adalah kasus IRIS dataset.

Prediction

Proses berikutnya adalah prediksi dimana model yang telah dilatih sebelumnya diminta menebak hasil dari inputan. Di sini dibutuhkan tiga file, yaitu html untuk tampilan utama beserta input dan tombol proses, file PHP untuk mengeksekusi file python (py) dengan instrusi exec serta file utama, yaitu file python. Silahkan lihat video tutorial saya berikut. Selamat mencoba.

Problem Matriks Konfusi Pada ChatGPT dan Solusinya

Peneliti machine learning pasti mengenal matriks konfusi. Matriks konfusi (confusion matrix) adalah sebuah tabel yang digunakan untuk mengevaluasi performa model klasifikasi. Matriks konfusi menunjukkan jumlah prediksi yang benar dan salah yang dilakukan oleh model pada setiap kelas yang ada.

Matriks dua dimensi ini memiliki kolom sebagai prediksi dan baris sebagai nilai aktual/real/ground truth. Untuk Anda yang ingin memanfaatkan ChatGPT dapat menjalankan instruksi berikut. Pertama-tama masukan elemen dari matriks konfusi dengan format (baris, kolom).

Tampak nama kelas dengan True Positive, True Negative, False Positive dan False Negative-nya. Untuk menghitung Presisi, Recall, F1-Score, dan total akurasi dapat juga minta bantuan AI tersebut, tapi ternyata banyak kesalahan dalam perhitungannya.

Perhatikan Presisi (precision) untuk Agricultural, hasilnya ngaco. Namun cara/langkahnya benar. Oleh karena itu tetap harus menghitung sendiri. Caranya gampang, buka saja Excel, lalu copas angka-angka di atas.

Hasilnya 0.838257 yang jauh berbeda dengan hitungan sebelumnya: 0.942720. Biasanya sih TP, TN, FP, dan FN untuk kelas biner, lihat video berikut.

Cari ‘Branding’ karena Great Things Take Time (Tidak Ujug-Ujug)

Saat ini hubungan antar manusia semakin erat, baik hubungan bisnis, pertemanan, hubungan internasional antar negara dan hubungan lainnya. Saat tulisan ini dibuat, mulai terjadi krisis di bank silicon valley (bsv), bank komersial yang berbasis di Amerika Serikat, didirikan pada tahun 1983 dan berkantor pusat di San Jose, California. Ternyata mulai merembet ke negara lain, misalnya, credit suisse. Credit Suisse adalah sebuah bank investasi global yang berkantor pusat di Zurich, Swiss, didirikan pada tahun 1856 (bank tertua di Swiss). Apakah merembet ke tanah air? Semoga tidak ya.

Tidak hanya perbankan, sejatinya kita saling terkait erat. Ketika Anda membaca tulisan ini, Anda terkait dengan saya sebagai penulis. Tidak memandang suku, ras, golongan, gaji, jabatan, dan lain-lain, kita terkait satu sama lain. Dengan siswa, guru, pedagang dan lain-lain, kita saling terkait. Era dimana hidup dalam kelompok-kelompok seperti jaman primitif dulu sudah berlalu. Kita mulai memasuki dunia yang selalu terkait satu sama lain. Kasus ‘Sambo’ yang mungkin di era sebelumnya tidak jadi masalah, tetapi di era yang ‘saling terkait’ ini terbongkar juga. Bagaimana seorang anak yang ‘menyiksa’ rekannya, karena anak pejabat di suatu institusi ‘basah’ mengakibatkan di auditnya rekan-rekannya di institusi tersebut.

Jika Anda memilih ‘uang’ dibanding ‘branding’, jangan salahkan musuh akan bermunculan satu persatu. Misal, jika kita dicap ‘tukang berkelahi’ dijamin orang mikir-mikir untuk bekerja sama, bank meminjamkan dana, tawaran kerjasama, dan sejenisnya.

Menarik untuk menyimak video Renald Kasali. Jika kita terlalu perhitungan, maka alam akan perhitungan juga dengan kita. Jika bekerja sesuai dengan ‘bayaran’ efeknya hanya dapat bayaran saja. Tentu saja membangun branding jangan melupakan bayaran juga. Tetapi jika bekerja sesuai kapasitas kita, dipastikan kita memperolah bayaran tidak sekedar uang. Jadi tinggal pilih: jalur ‘cari uang’ alias jalur komoditi, dan jalur cari nama, alias jalur ‘branding’. Yang paling ekstrem adalah skema Ponzi seperti kasus crazy rich bermasalah atau umroh kelewat murah yang ujung-ujungnya masuk bui, walau sadar nama hancur .. tetap embat saja agar kaya .. walau sesaat.

Untuk yang hanya memikirkan anak, saudara, dan yang terdekat saja, sebenarnya tidak ‘alami’, alias tidak sunnatullah. Silahkan Anda hitung sendiri, dari lahir sampai sekarang, banyak mana dibantu orang lain yang tidak Anda kenal atau hanya kerabat kita. Dari dilahirkan oleh dokter, bidan (atau dukun) yang mungkin baru kenal tidak sampai setahun, guru, dosen, hingga tukang ojek, kebanyakan tidak lama berkenalan. Presiden Anda sekarang, entah suka atau tidak, terikat dengan kita. Tinggal pilih, ingin bekerja sama, mencari sebanyak mungkin ‘bestie’ … atau bertempur seperti Rusia vs Ukraina.

Mengelola File CSV untuk Training Web-Python dengan PHP

Beberapa sampel prediksi dengan neural networks (NNs) biasanya menggunakan dataset yang tersedia pada library yang digunakan, misalnya Sklearn. Namun dalam implementasinya dataset harus disediakan terlebih dahulu, misalnya dengan file Comma Separated Valud (CSV). Oleh karena itu keterampilan mengelola data sendiri tersebut sangat diperlukan. Postingan ini mengilustrasikan bagaimana mengelolanya.

Mengunduh Dataset

Untuk yang sedang mengerjakan proyek akhir biasanya mengambil data sendiri lewat survey. Untuk latihan bisa akses link berikut: iris.csv. Setelah itu ekstrak file archive tersebut. Tempatkan di folder dimana aplikasi akan dibuat.

Mempersiapkan Interace Untuk Training

Data iris memiliki empat input dan tiga kelas output: setosa, versicolor, dan virginica. Untuk mudahnya, bertanya saja kepada ChatGPT dengan kata kunci sebagai berikut:

create html code to upload csv file and use php to open python for neural network training and save trained h5

Berikutnya akan disediakan 1 index.html untuk interface utama, 1 file upload.php untuk, 1 file train.py untuk mentrainingnya Hasil tersimpan dalam format H5. Perhatikan, karena label/target masih string maka perlu dikonversi menjadi number. Untuk jelasnya silahkan lihat video berikut ini:

 

 

Model Neural Network Sederhana – Tensorflow & Web-based Python

Scikit-learn menyediakan modul Neural Network (NN) untuk melakukan klasifikasi data iris menggunakan algoritma MLPClassifier (Multilayer Perceptron Classifier). Algoritma ini memungkinkan pengguna untuk membangun model jaringan saraf tiruan dengan mempertimbangkan parameter seperti jumlah lapisan, jumlah neuron pada setiap lapisan, dan aktivasi fungsi untuk setiap neuron. Namun, saat ini penggunaan Tensorflow lebih dominan dari pada MLPClassifier.

Alur preprocessing dengan StandardScaler untuk klasifikasi dengan TensorFlow Neural Networks umumnya terdiri dari beberapa tahapan, yaitu:

  • Import library: Pertama, kita harus mengimpor library TensorFlow dan Scikit-learn (yang berisi StandardScaler) ke dalam program Python.
  • Load data: Data iris (atau data lain yang akan diklasifikasikan) harus dimuat ke dalam program Python. Data ini kemudian akan diproses dan dimasukkan ke dalam model jaringan saraf tiruan TensorFlow.
  • Preprocessing: Langkah berikutnya adalah preprocessing data menggunakan StandardScaler. StandardScaler melakukan normalisasi data dengan mengubah rata-rata menjadi nol dan standar deviasi menjadi satu. Ini membantu mempercepat proses konvergensi dan mengurangi dampak outlier pada hasil klasifikasi.
  • Split data: Data yang sudah di-preprocessing kemudian dibagi menjadi data latih dan data uji. Data latih digunakan untuk melatih model, sedangkan data uji digunakan untuk menguji performa model.
  • Definisikan model: Model TensorFlow Neural Networks didefinisikan dengan menentukan jumlah lapisan dan jumlah neuron pada setiap lapisan. Kemudian, fungsi aktivasi untuk setiap neuron ditentukan.
  • Latih model: Model kemudian dilatih dengan data latih menggunakan fungsi optimizer dan fungsi loss untuk menghitung gradien dan memperbarui bobot dan bias jaringan saraf.
  • Evaluasi model: Setelah model dilatih, model dievaluasi dengan data uji untuk mengukur akurasi, presisi, dan metrik lainnya.

Dengan menggunakan alur ini, kita dapat mengklasifikasikan data iris (atau data lainnya) menggunakan TensorFlow Neural Networks dengan tingkat akurasi yang lebih baik. Preprocessing data menggunakan StandardScaler membantu meningkatkan kinerja model dan membuatnya lebih stabil. Berikut ilustrasi pembuatannya.

AI and Neuro-Fuzzy Theory

Tahun 2014 saya pernah memperoleh kuliah Artificial Intelligence (AI) & Neuro-Fuzzy Theory. Ternyata materi ini sangat padat karena gabungan 2 mata kuliah yang saat ini saya ajar AI + Computational Intelligence (CI).

Neural networks atau jaringan saraf adalah sebuah konsep pemodelan matematis yang terinspirasi dari cara kerja otak manusia. Konsep ini telah ada sejak awal abad ke-20 dan telah mengalami banyak perkembangan sejak saat itu. Pada awalnya, konsep jaringan saraf digunakan untuk memodelkan bagaimana neuron-neuron dalam otak manusia berinteraksi satu sama lain. Namun, pada tahun 1940-an, para peneliti mulai menggunakan konsep ini untuk membangun mesin-mesin yang dapat melakukan tugas-tugas seperti mengenali pola pada gambar dan suara.

Pada tahun 1950-an, sebuah mesin jaringan saraf pertama kali dikembangkan oleh Frank Rosenblatt, yang dikenal sebagai “Perceptron”. Mesin ini dapat mengenali pola pada gambar dan mampu membedakan antara huruf “X” dan “O”. Namun, pada saat itu, mesin jaringan saraf masih sangat terbatas dan hanya mampu menangani masalah-masalah sederhana. Selain itu, kemampuan komputasi pada waktu itu juga masih terbatas dan membatasi perkembangan jaringan saraf. Meskipun begitu, konsep jaringan saraf tetap terus berkembang dan menjadi salah satu bidang yang paling menjanjikan dalam pengembangan kecerdasan buatan saat ini. Video berikut cuplikan kuliah tentang pentingnya AI dan NNs di awal ditemukan dengan praktik via Jupyter Notebook.

Asesor BKD Ibarat ‘Keran’ Air

Beberapa penasihat keuangan membahas keunggulan dari pengusaha yang memberikan pekerjaan ke banyak orang. Bukan hanya si pegawai, melainkan juga keluarga di rumah. Namun sejatinya yang pengusaha gaji tentu saja karena memberikan keuntungan pada perusahaan tempat mereka bekerja. Hal unik terjadi kepada asesor, terutama asesor BKD. Mengapa membandingkan dengan pengusaha?

Setelah mengecek, terkadang membaca berkas yang diunggah, setelah meng-‘klik’ tidak lama kemudian tunjangan serdos cair. Jika pengusaha walaupun ‘memberi’ tapi ‘menerima’ terlebih dahulu (kalau perusahaannya tidak merugi), asesor tidak ‘menerima’. Nah, di sini ada sisi unik seorang asesor (termasuk reviewer juga), tidak ‘memberi’ dan tidak ‘menerima’. Tidak rugi dong? Betul, kalau waktu dan tenaga tidak dihitung.

Terkadang ada ucapan terima kasih dalam berbagai bentuk, tapi kebanyakan hanya doa saja. Jadi ibarat kran air, hanya meneruskan rejeki ke tangan rekan-rekan lainnya. Sama halnya dengan reviewer, sudah biasa hanya berupa sertifikat ‘recognition’. Beberapa memberikan akses gratis SCOPUS, sebuah indexer ternama di dunia. Bahkan dari kampus saya S3 karena masih anggota reviewer, dapat mengakses SCOPUS dengan cuma-cuma. Yang terpenting dari reviewer jurnal adalah memperoleh update ilmu terkini (sudah tahu walau belum dipublish).

Diperlukan jenjang doktor atau lektor kepala untuk menjadi seorang Asesor BKD, dengan terlebih dahulu mengikuti ujian. Kebetulan karena COVID-19 waktu itu ujian secara ONLINE. Jadi, tertarik jadi asesor?

Masih Rekrutmen Tanpa Ijazah?

Beberapa waktu yang lalu banyak beredar di medsos informasi bahwa perusahaan raksasa seperti Apple, Google, dll merekrut karyawan tanpa perlu menunjukan ijazah. Berita tersebut sangat menohok dan terkesan mengerdilkan institusi pendidikan. Memang ini salah kampus juga yang tidak bisa mengikuti kemauan pasar, yaitu organisasi pemakai lulusan. Namun informasinya institusi sekelas Google membutuhkan bukti tertentu kepada calon karyawan yang mendaftar tanpa ijasah.

Terkadang memang, programmer tertentu tidak memiliki pendidikan formal. Karena bakat, ketekunan, dan keingintahuannya bisa belajar dengan cepat, baik otodidak maupun kursus kilat yang banyak tersedia. Youtube, milist, Github, atau sekedar Googling dengan cepat mampu memahami bahasa pemrograman tertentu. Apalagi saat ini aplikasi berbasis AI seperti ChatGPT mampu ‘mengajari’ lewat chatting apa saja, khususnya pemrograman. Silahkan lihat video berikut bagaimana menjalankan Web-based Python lewat ‘chatting’.

Artificial Intelligence (AI) merupakan salah satu bidang standar minimal kompetensi S1 (sarjana). Diharapkan peserta didik mampu menerapkannya. Untuk S2 dan S3 mampu mengembangkan bidang tersebut. Nah, jika organisasi ingin mendapatkan keunggulan kompetitif pada sistemnya, tidak ada jalan lain untuk memanfaatkan AI yang mulai menyusup ke segala lini.

Pendiri Google kabarnya ‘turun gunung’ mengingat ancaman AI mulai terasa. Bahkan dengan jumlah 1 juta pengguna yang oleh Netflix butuh 3.5 tahun ternyata ChatGPT hanya butuh 5 hari (link).

Jika masih diam saja, servis-servis lain Google seperti mail, Youtube bisa saja dikalahkan pemain baru dengan kemampuan AI yang terintegrasi Chat dan sejenisnya. Dengan chat yang teks saja sudah begitu heboh apalagi dalam bentuk gambar dan video. Untuk itu diperlukan periset-periset tangguh yang tentu saja tidak bisa lagi merekrut ‘tanpa ijasah’, mutlak diperlukan peneliti-peneliti yang tidak hanya jago praktis, melainkan juga teoritis dan analitis. Yuk, mulai oprek-oprek AI.