NOTION as an alternative to ChatGPT

Hebohnya ChatGPT pasti akan memunculkan AI-AI lainnya, salah satunya adalah Notion. Fasilitasnya ada yang mirip ChatGPT, tapi agak sedikit ribet. Postingan ini hanya mencoba fasilitas yang seperti ChatGPT, alias sarana untuk menjawab problem-problem kita. Silahkan buka situsnya:

(The buzz around ChatGPT will surely give rise to other AIs, one of which is Notion. Some of its features are similar to ChatGPT, but it’s a bit more complicated. This post only explores its ChatGPT-like feature, which is a means to answer our problems. Please visit the site:)

Siapkan login dengan email Anda, misalnya Gmail. Berikutnya Anda akan masuk ke menu utama Notion AI. Perhatikan bagian ‘Press ‘ space for AI ‘/’ for commands …’ coba ketik ‘/‘ untuk membuat command/perintah. Atau bahasa ilmiahnya prompts.

(Prepare to log in with your email, such as Gmail. Next, you will enter the Notion AI main menu. Pay attention to the ‘Press ‘ space for AI ‘/ for commands …’ section and try typing ‘/’ to create a command. Or scientifically called prompts.)

Pilih Ask AI to Write lalu ketika pertanyaan Anda. Misalnya perbedaan Antara LSTM dengan RNN pada Deep Learning.

(Choose Ask AI to Write and then ask your question. For example, the difference between LSTM and RNN in Deep Learning.)

Tampak, Notion AI akan langsung memberi jawaban dalam satu paragraf. Coba iseng tekan Make longer di jendela yang muncul.

(As you can see, Notion AI will immediately give an answer in one paragraph. Try clicking Make longer in the window that appears.)

Silahkan explore fasilitas-fasilitas lainnya yang dapat kita manfaatkan. Cocok untuk negara kita, negara berkembang yang harus ‘berlari’ mengejar ketertinggalan tanpa perlu mengeluarkan ongkos yang besar agar bisa sejajar dengan negara maju dari sisi pengetahuan.

(Please explore other features that we can use. It is suitable for our country, a developing country that needs to ‘run’ to catch up with advanced countries in terms of knowledge without having to spend a lot of money.)

Ketika diminta mencari jawaban dalam bentuk gambar ternyata belum tersedia. Atau mungkin suatu saat nanti tersedia. Sekian, semoga bermanfaat.

(When asked to find answers in the form of images, they are not yet available. Or maybe someday they will be. That’s all, I hope it’s useful.)

Pulling Grade Data from Google Classroom

Walau perkuliahan sebagian besar sudah tatap muka saat ini, terkadang alat bantu, seperti Google Classroom (GC) masih menjadi andalan mempercepat proses penilaian. Untuk mahasiswa yang banyak siswanya termasuk juga nilai harian yang banyak, ada kalanya perlu waktu untuk memberi nilai. Nah, GC memiliki fasilitas untuk secara otomatis mengunduh seluruh nilai (grade) dalam bentuk CSV untuk diolah lebih lanjut.

(Although most of the classes have been conducted face-to-face, sometimes tools such as Google Classroom (GC) are still relied upon to speed up the assessment process. For students who have a large number of classmates and also have many daily grades, there are times when it takes time to give grades. Well, GC has a feature to automatically download all grades in CSV format for further processing.)

Menu yang ada adalah setting yang memiliki simbol ‘gear’, tapi letaknya bukan di menu grades melainkan di menu Stream perkuliahan (bukan di Classwork). Klik saja salah satu week, lalu tekan simbol ‘gear’ di bagian kanan atas. Tinggal pilih seluruh grade atau these grade (minggu yang dipilih saja). Untuk jelasnya lihat video short berikut.

(The menu in question is the “Settings” menu, which has a “gear” symbol, but it is not located in the “Grades” menu, but rather in the “Stream” menu of the class (not in “Classwork”). Simply click on one of the weeks, then press the “gear” symbol in the upper right corner. Just select all grades or those grades (only the selected week). For more details, please see the following short video.)

Running Python within PHP

Beberapa framework menyediakan fasilitas server untuk bahasa Python misalnya Flask, Django, Pyramid, Bottle, dan CherryPy. Namun karena kebanyakan website telah menggunakan server berbasis PHP, misalnya Apache, Nginx, Microsoft IIS, Lighttpd, dan Caddy, beberapa pengembang memanfaatkan fasilitas PHP untuk menjalankan Python di server. Pada prinsipnya ada dua metode mengakses Python dalam PHP.

(Several frameworks provide server facilities for the Python language, such as Flask, Django, Pyramid, Bottle, and CherryPy. However, since most websites have been using PHP-based servers such as Apache, Nginx, Microsoft IIS, Lighttpd, and Caddy, some developers leverage PHP facilities to run Python on servers. In principle, there are two methods to access Python in PHP).

1. Kode Python dijalankan di web server (Python code is executed on the web server)

Kalau pada flask, style Python dijalankan dengan format HTML dengan %% (format jinja-2) PHP membutuhkan setting terlebih dahulu agar server mampu membaca format *.py agar dijalankan server. Agak sedikit rumit untuk Ubuntu seperti video berikut.

(In Flask, Python code is run using HTML format (with jinja-2), while in PHP, the server needs to be configured first to read the *.py format and execute it on the server. The configuration process may be a bit complicated for Ubuntu, as shown in the following video).

Di sini program *.py diintegrasikan denan html lewat mekanisme print seolah-olah mencetak string style HTML. Tentu saja header perlu ditambahkan.

(Here, the *.py program is integrated with HTML through the print mechanism, as if printing an HTML-style string. Of course, the header needs to be added).

Untuk yang versi Windows sedikit lebih mudah, dengan format header yang berbeda pula. Misalnya video singkat ini untuk XAMPP.

(For the Windows version, it is slightly easier with a different header format. For example, this short video for XAMPP).

Kelemahan metode ini adalah karena load ke web server maka membebankan web server.

(The drawback of this method is that it can burden the web server due to the load it creates).

2. Kode Python dijalankan oleh file PHP (Python code is executed by a PHP file)

Metode ini merupakan metode yang lazim dipakai karena file Python dijalankan di terminal server tanpa melibatkan secara realtime web server, dan jauh lebih cepat. Apalagi jika disertakan tambahan multitasiking dengan pooling processor.

(This method is commonly used because the Python file is run on the terminal server without involving the web server in real-time, making it much faster. Moreover, if multitasking with processor pooling is added, it can be even faster).

Dengan fungsi exec file Python dipanggil dengan input dengan library sys untuk mempermudah. Di sini seolah-olah file php dimanfaatkan untuk menjalankan file Python via terminal biasa, seperti menjalankan file Python dengan mengetik python <file *.py>. Kedua pernah saya gunakan. Jika ada metode lain silahkan beri masukan di komentar. Sekian, semoga bermanfaat.

(The Python file is called with the input using the sys library to make it easier using the exec function. Here, it is as if the PHP file is used to run the Python file via the regular terminal, like running a Python file by typing python <file *.py>. I have used both methods before. If there are other methods, please provide feedback in the comments. That’s all, hope it’s useful).

Generating a Dataset with ChatGPT

Whether it is Data Mining, Machine Learning, or Deep Learning, they all depend on datasets in any implementation domain. Sometimes, obtaining datasets can be very challenging due to their large size, rarity, strict permission requirements, and so on. This post will provide information on how to use ChatGPT to create datasets.

Alright, let’s try for a Natural Language Processing (NLP) case where a dataset is needed for text classification (sometimes referred to as text categorization). For example, with COVID, there are four variants: alpha, beta, gamma, and delta. Now, the system is asked to detect news that discusses which variants. Therefore, five classes are needed: alpha, beta, gamma, delta, and others.

Just ask ChatGPT: Can you give me a news paragraph about the “Alpha” COVID-19 variant?. Then, a paragraph of information will appear. Now, we just need to type again: Can you add 9 similar paragraphs? (if you want to get 10 articles for the “Alpha” class)..

Next, you can transfer the information to a CSV file that will be used for the training process. Of course, you can add as much data per class as possible. That’s all, I hope it’s useful.

Membuat Objek dengan PHP

Biasanya materi pemrograman berorientasi objek (PBO) menggunakan Java. Namun saat ini sebagian besar bahasa pemrograman memiliki kemampuan membuat program berorientasi objek, salah satunya adalah PHP. Walaupun tren bahasa ini menurun di dunia, kalah dengan Python, tetapi di Indonesia masih banyak digunakan.

Untuk basis data, penggunaan basis data khusus Objek masih sedikit yang berminat mengingat basis data relasional sudah digunakan sejak lama. Namun dapat diatasi dengan penggunaan konsep Object Relational Data Base Management System (ORDBMS). Kalau basis data objek menyimpan objek mobil misalnya, ORDBMS menyimpan mobil dalam bentuk roda, mesin, sasis dan elemen lainnya.

Class

Salah satu syarat wajib PBO adalah adanya class. Fungsinya membuat sebuah objek sejenis sebagai templatenya, berisi atribut dan method atau operation. Berikut ini contoh diagram kelas untuk kelas barang.

Tiap class juga memiliki sebuah method yang bernama constructor yang fungsinya membangkitkan sebuah objek. Berikut ini class Barang dalam bahasa PHP. Note: karena bahasa PHP, jangan lupa mengawali dengan tag: <?php

Potongan kode di atas menunjukan fungsi constructor yang menginisiasi database relational. Di bagian bawahnya ada method insert yang berfungsi memasukan data barang, di bawahnya update dan seterusnya, sering disebut dengan istilah Create, Read, Update, dan Delete (CRUD). Sebelumnya siapkan saja database MySql.

Objek

Jika kelas yang diibaratkan template sudah ada, sebuah objek dapat dibentuk. Jadi prinsipnya ketika ingin mengakses CRUD, aplikasi tidak langsung terhubung ke database, melainkan membentuk objek terlebih dahulu.

Pertama-tama impor kelas yang dibutuhkan dengan include ‘Barang.php’; yang sesuaikan dengan letak/path-nya. Sebaiknya dibuatkan dalam satu folder khusus, misalnya classes. Perhatikan bagaimana membuat sebuah objek barang. Standar-nya nama objek diawali huruf kecil, sementara nama kelas huruf besar. Di sini $ merupakan standar bahasa PHP sebagai variabel.

$barang = new Barang();

Ketika sudah terbentuk objek dari kelasnya (class Barang) maka kita dapat mengakses method yang dimiliki misalnya read, di sini contohnya membaca id_barang=1, yang jika dijalankan aplikasinya tampak seperti gambar di bawah. Sekian, mudah-mudahan tertarik dengan sistem berorientasi objek.

Systematic Literature Review (SLR) for Dummy

Rekan yang sedang study lanjut sudah pasti mengenal Systematic Literature Review (SLR) karena memang diwajibkan. Sementara rekan dosen lainnya yang biasanya fokus ke ngajar sebagian besar tidak cukup waktu untuk menjalankan aktivitas ini saat dituntut riset demi cairnya tunjangan BKD/LKD. Nah, manfaat kata ‘systematic’ adalah untuk mempermudah melakukan studi pustaka. Postingan ini sedikit sharing tentang trik menggunakan scopus untuk SLR.

Hal yang utama untuk mencari paper yang relevan adalah kata kunci yang tepat untuk mensortir naskah artikel yang beredar. Misalnya saya butuh artikel tentang spectral feature analysis dan NDVI. Walaupun ada pilihan advanced search, untuk gampangnya langsung searching seperti Google, nanti baru dilanjutkan dengan secara bertahap mensortir.

Kalau langsung digunakan jumlahnya cukup banyak, yaitu 594 dokumen. Karena syarat jurnal kebanyakan riset 5 tahun terakhir, ditambah proses publikasi misalnya 1 atau 2 tahun (tergantung nasib), kita ambil rentang 2020 sampai sekarang saja. Makin baru, paper makin sulit dicari karena scihub biasanya paper beberapa tahun yang lalu saja. Jika sudah cukup, langsung saja mensortir. Bisa dari yang terkini, atau berdasarkan sitasi tertinggi.

Klik saja Sort on pilih Cited by (highest) agar urut berdasarkan sitasi tertinggi pada rentang tahun tersebut. Dari judul biasanya terlihat apakah topik sesuai dengan riset yang dijalankan, jika ragu-ragu bisa klik View abstract untuk melihat isinya. Tampak yang disorot kuning merupakan kata kunci yang digunakan di searching tadi.

Nah, tunjukan kemampuan/skill reading Anda. Tapi jika pusing, kelamaan buka kamus, tinggal pakai bantuan saja yang saat ini sedang tren: ChatGPT. Ketik ‘apa metode dan hasil artikel ini:’ dilanjutkan dengan paste dari abstrak. Bisa juga dengan kata lain, misalnya ‘artikel ini membahas apa:’ dan seterusnya.

Langkah terakhir adalah mencari naskah lengkapnya. Walaupun bisa juga bertanya kelemahan artikel, tapi masih prediksi saja. Perlu membaca hasil dan kesimpulan untuk mengisi tabel, misalnya seperti ini (sesuaikan dengan kebutuhan atau permintaan promotor).

No

Author

Metode

Hasil

Kelemahan

         

Jika ada rekan yang tidak punya scopus, bisa diprint pdf. Sebaiknya disertai abstrak agar cepat menentukan apakah relevan atau tidak. Nah, pada tabel di atas, mengisi author sebaiknya menggunakan Mendeley dengan terlebih dahulu mengunduh sitasinya seperti berikut.

Nah, file bib yang diunduh tinggal di drag ke mendeley.

Oiya, buat satu folder khusus agar tidak berantakan di Mendeley kita. Sekian, semoga bisa sedikit mencerahkan.

Aplikasi Quillbot Untuk Parafrase Gratis

Saat ini mahasiswa yang membuat tugas akhir/skripsi sudah diwajibkan untuk cek plagiarisme, misalnya dengan Turnitin atau sejenisnya. Terkadang terjadi kemiripan, biasanya antara laporan akhir dengan artikel ilmiah yang akan dipublikasi di jurnal. Nah, untuk mengatasi hal tersebut, mahasiswa diharuskan melakukan parafrase tulisan yang mirip tersebut. Namun, jika terkendala dengan waktu dan tenaga yang sudah habis bolak-balik revisi saat bimbingan, ada aplikasi yang membantu, yaitu quillbot (https://quillbot.com/). Ok, postingan ini akan kita uji coba dengan bahasa Indonesia, mengingat kebanyakan mhs menggunakan bahasa Indonesia untuk tugas akhir/skripsinya. Kalau sudah berbahasa Inggris, tinggal langsung pakai saja.

Kita ambil contoh tulisan saya di pos yang lalu tentang interpolasi, curve fitting, proyeksi dan prediksi.

Kita coba cek plagiarisme lewat situs gratisan ini (Smallseotools). Copas dan klik cek plagiarisme, dan hasilnya tentu saja 100% nyontek.

Selanjutnya kita masuk ke aplikasi Quillbot. Copas lagi dan klik Rephrase dan lihat, di sebelah kanan sudah dibuatkan prafrase-nya, hanya saja dalam bahasa Inggris. Tinggal translate saja dengann Google Translate atau ChatGPT.

Kita coba lagi dengan Smallseotools. Setelah saya translate dengan ChatGPT tampak hasilnya seperti di bawah ini. Wow .. 0% plagiarisme. Bermanfaat bukan untuk mahasiswa yang sudah pontang-panting membantu orang tua untuk menyelesaikan studi-nya. Sekian, semoga sedikit membantu.

Untuk jelasnya lihat video berikut:

Eling lan Waspada

Saat tulisan ini dibuat, terjadi beberapa hal yang menghebohkan, misalnya kasus Sambo, Teddy, dan Rafael yang memiliki efek lanjutan. Pencucian uang konon menyebar ke beberapa orang, bahkan terindikasi ke artis ternama. Begitu juga kejadian Indonesia yang tidak jadi tuan rumah piala dunia U-20 karena masalah dengan penolakan Israel. Tulisan sederhana kali ini hanya sekedar mengingatkan agar berhati-hati di beberapa waktu ke depan.

Ketika jalan-jalan di Thailand waktu kuliah dulu, tampak beberapa rumah di depannya ada kolam ikan. Sempat bertanya dalam hati, kenapa tidak ada yang ambil ya? Mungkin kalau di Indonesia sudah ‘bablas angine ikannya”. Ternyata mereka percaya dengan karma, karena mayorias penduduknya Budha. Walau sudah minta ampun, tobat, dan sejenisnya, pasti akan menerima balasan. Bagi mereka tidak ada ritual yang membuat pengampunan instan, seperti terhapus dosanya selama setahun misalnya.

Jika ada kejadian yg dahulu baik-baik saja, tertutup rapat, dan sekarang sepertinya terbuka, berarti ada kekuatan tertentu yang bekerja, yang entah apa itu. Bayangkan saja ada statemen-statemen dari tokoh yang jika tidak ada korupsi di departemen x maka tiap kepala rakyat mendapat 20 juta. Bayangkan untuk seluruh departemen (lihat link ini). Jika perbuatan jahat langsung terbalas atau terbuka, pasti perbuatan baik pun demikian. Tentu saja terlepas dari itu, hidup bukan seperti dagang, berbuat x dapat 2x dan seterusnya. Berbuat baik ya berbuat baik, terlepas dapat balasan tertentu yang jelas jika di hati terasa nyaman, lanjutkanlah.

Berbagi informasi, menghibur orang, entah itu lewat blog, youtube, dan sejenisnya, jika terasa nyaman di hati, jalankan saja. Kalau fokus ke uang, endorse, adsens, takutnya malah bikin konten, tulisan, dan lain-lain yang heboh tapi meresahkan atau tidak mendidik. Walaupun memang ada yang menjadikan profesi (lihat link youtuber ternama ini) ya tidak apa-apa tapi tetap waspada karena ‘balasan’ pasti tiba. Tetap berkarya dan membuat orang dan semua makhluk berbahagia.

Mendeteksi Naskah Apakah Dibuat dengan ChatGPT

Banyak kekhawatiran dari para pengajar karena siswa menggunakan ChatGPT untuk membuat karya tulis. Bagaimana tidak, akurasi penulisan ChatGPT sangat baik dan konsisten. Bahkan beberapa alat cek plagiarisme tidak menemukan adanya plagiarisme. Banyak tools yang membantu mengecek apakah seseorang menggunakan ChatGPT ketika menulis, namun di sini akan kita bahas bagaimana menggunakan ChatGPT untuk mengetahui apakah suatu tulisan meminta bantuan ChatGPT.

Misal saya bertanya ke ChatGPT untuk membuatkan dua paragraf tentang data mining. Hasilnya akan tampak dan cukup baik.

Bagaimana cara mengeceknya? Mudah saja, kopi saja tulisan itu dan tanya ke ChatGPT: “apakah ini tulisan Anda: <paste>. Dan ternyata ChatGPT menjawan “Ya, itu benar” dan mengaku telah menulisnya. Siap-siap Anda dipanggil kepala sekolah.

Sebagai contoh kita uji dengan tulisan buatan sendiri, atau paragraf pertama di pos ini saja, lalu tanya apakah tulisan tersebut milik ChatGPT? Dan beliau (eh .. bukan manusia ya) menjawab: “No, that is not my writing”. Alhamdulillah, kalau kita membuat tulisan sendiri, aman dari plagiarisme berbasis AI.

Apakah ketika ditanya lagi ChatGPT konsisten? Repot juga kalo tulisan kita direkam dia dan diaku jadi tulisannya. Coba tanya lagi tulisan hasil ketikan sendiri tadi (kopi saja pertanyaan sebelumnya).

Ternyata jawabannya konsisten: “Tidak, tulisan tersebut bukanlah tulisan saya” (kata maaf, salah menjawab mungkin karena sebelumnya menggunakan bahasa Inggris). Lihat, kita bisa mengetahui apakah suatu tulisan minta bantuan ChatGPT atau tidak. Selain cara tersebut, info dari ChatGPT sendiri ketika ditanya: “bagaimana cara mendeteksi apakah suatu tulisan dibuat dengan bantuan ChatGPT?”. Ada 3 cara mendeteksinya:

  • Akurasi tinggi yang konsisten (mirip Chess.com mendeteksi pemain pakai engine atau tidak)
  • Gaya bahasa yang berbeda dengan gayanya (tiap orang memiliki gaya bahasa sendiri).
  • Plagiarism Checker

Sekian, semoga kita terhindar dari godaan minta dibikinin ChatGPT.

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.

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.