KMeans Clustering dengan Python

Pada postingan yang lalu telah dibahas klasterisasi dengan KMeans menggunakan bahasa Matlab. Kali ini kita coba menggunakan bahasa Python dengan GUI Jupyter notebook pada Google (Google Colab).

Sebelumnya kita siapkan terlebih dahulu file data sebagai berikut. Kemudian buka Google Colab untuk mengklasterisasi file tersebut. Sebagai referensi, silahkan kunjungi situs ini. Saat ini kita dengan mudah memperoleh contoh kode program dengan metode tertentu lewat google dengan kata kunci: colab <metode>.

Mengimpor Library

Library utama adalah Sklearn dengan alat bantu Pandas untuk pengelolaan ekspor dan impor file serta matplotlib untuk pembuatan grafik.

  • from sklearn.cluster import KMeans
  • import pandas as pd
  • from sklearn.preprocessing import MinMaxScaler
  • from matplotlib import pyplot as plt

Perhatikan di sini KMeans harus ditulis dengan K dan M berhuruf besar, begitu pula kelas-kelas yang lain seperti MinMaxScaler

Menarik Data

Perhatikan data harus diletakan di bagian file agar bisa ditarik lewat instruksi di bawah ini. Jika tidak maka akan muncul pesan error dimana data ‘beasiswa.csv’ tidak ada.

Selain itu tambahkan instruksi untuk mengeplot data. Tentu saja ini khusus data yang kurang dari 3 dimensi. Jika lebih maka cukup instruksi di atas saj.

  • plt.scatter(df[‘IPK’],df[‘Tingkat Kemiskinan (TM)’])
  • plt.xlabel(‘IPK’)
  • plt.ylabel(‘Tingkat Miskin’)

Prediksi

Ini merupakan langkah utama yang memanfaatkan pustaka ‘KMeans’ dari Sklearn.

  • km=KMeans(n_clusters=2)
  • y_predicted=km.fit_predict(df[[‘IPK’,‘Tingkat Kemiskinan (TM)’]])
  • y_predicted

Nah, hal terpenting adalah tidak hanya menghitung y_predicted saja melainkan melabel kembali datanya. Percuma saja jika kita tidak mampu memetakan kembali siapa saja yang masuk kategori klaster ‘0’ dan ‘1’.

  • df[‘klaster’]=y_predicted
  • print(df)

Finishing

Di sini langkah terpenting lainnya adalah kembali memvisualisasikan dalam bentuk grafik dan menyimpan hasilnya dalam format CSV.

  • df1=df[df.klaster==0]
  • df2=df[df.klaster==1]
  • plt.scatter(df1[‘IPK’],df1[‘Tingkat Kemiskinan (TM)’],color=‘red’)
  • plt.scatter(df2[‘IPK’],df2[‘Tingkat Kemiskinan (TM)’],color=‘black’)
  • plt.scatter(km.cluster_centers_[:,0],km.cluster_centers_[:,1],color=‘purple’,marker=‘*’,label=‘center’)
  • plt.xlabel=‘IPK’
  • plt.ylabel=‘Tingkat Miskin’
  • plt.legend()

Hasilnya adalah grafik dengan pola warna yang berbeda tiap klaster-nya.

Salah satu kelebihan Pandas adalah dalam ekspor dan impor data. Dalam hal ini kita akan menyimpan hasil klasterisasi dengan nama ‘klasterisasi.csv’. Lihat panduan lengkapnya di sini.

  • df.to_csv(‘klasterisasi.csv’)

Silahkan file hasil sempan diunduh karena Google Colab hanya menyimpan file tersebut sementara, kecuali kalau Anda menggunakan Google Drive (lihat caranya). Untuk mengujinya kita buat satu sel baru dan coba panggil kembali file ‘klasterisasi.csv’ yang baru terbentuk itu. df=pd.read_csv(‘klasterisasi.csv’)

  • df.head()

 

Note: ada field yang belum dinamai (Unnamed), bantu ya di kolom komentar caranya. Oiya, MinMaxScaler digunakan untuk jika data ‘jomplang’ misalnya satu dimensi, IPK dari 0 sampai 4 sementara misalnya penghasilan jutaan, tentu saja KMeans ‘pusing’. Oleh karena itu perlu dilakukan proses preprocessing. Sekian, semoga bermanfaat.

Aplikasi Berbasis Layanan

Era Industri 4.0 ditandai dengan perkembangan IT, salah satunya adalah Big Data. Dengan konsep serba “V” seperti “velocity”, “volume”, dan “v” lainnya membuat siapa yang bisa memanfaatkannya akan menang dalam persaingan. Bentuk Big Data yang “Variety” membuat rumitnya pengaksesan dan pengolahan, khususnya data yang tidak terstruktur dimana tidak berlaku standar QUERY lagi.

Beragamnya jenis data mengakibatkan para perancang aplikasi saat ini tidak lagi berpatongan dengan “single database” yang dikenal dengan istilah monolitik. Tentu saja akan sulit menyimpan beragam tipe data dalam satu sistem basis data, misalnya sistem yang terdiri data Geospasial harus bekerja sama dengan Non-Spasial.

Microservices

Untuk mengatasi beragamnya jenis basis data, saat ini banyak yang menerapkan metode microservices yang membagi aplikasi menjadi service-service kecil. Selain bermanfaat ketika dihadapkan dengan jenis tipe data yang beragam, microsoervices juga dapat mengatasi “bottleneck” ketika satu transaksi akan diakses oleh banyak pengguna, misalnya ketika deadline atau hari terakhir submit.

Aplikasi-aplikasi E-Commerce seperti Gojek, Grab, Traveloka, dan lain-lain sudah pasti menggunakan prinsip tersebut. Perpaduan antara data spasial yang dibutuhkan mitra, gudang data yang menggunakan NoSQL, misalnya mongodb, akan menyulitkan jika server hanya satu. Traveloka pun menggunakan prinsip mengakses service dari situs lain, seperti Lion, AirAsia, Garuda, dan maskapai lainnya, selain tentu saja hotel dan akomodasi pendukungnya. Servis ini dikenal dengan istilah Application Programming Interface (API). API ini ibarat tombol yang dapat diakses oleh siapapun tanpa harus menggunakan bahasa pemrograman atau platform yang digunakan oleh penyedia. Ibarat tombol listrik, tidak peduli arus searah atau bolak-balik, yang penting pengguna dapat menekan tombol on-off.

Data Semistructure

Dalam pertukaran data, aplikasi berbasis web tidak menerapkan format data terstruktur dengan baris dan kolom. Jenis data yang digunakan adalah tipe yang ramah dengan HTML, yakni XML dan Jason. Nah, ketika transaksi berjalan, dengan pertukaran message/pesan lewat metode REST ataupun SOAP, aplikasi lain dengan aman mengakses data dari service lain yang diijinkan.

Untuk mempraktikannya, misalnya kita buat sebuah database dengan aplikasi berbasis PHP-MySQL berisi data siswa. Ketika dibuat sebuah service, misalnya “data.php”, maka dapat digunakan untuk mengirim data lewat fungsi GET yang akan dimanfaatkan oleh fungsi lain. Banyak server-server testing yang gratis yang dapat dimanfaatkan. Tentu saja, yang berbayar lebih baik seperti Amazon Web Service (AWS) dan sejenisnya.

Aplikasi di atas menunjukan bagaimana service diakses langsung dari PHP server. Ketika mengakses data di atas, sistem tidak secara langsung mengakses basis data lewat SQL melainkan lewat format GET yang disiapkan oleh satu file bernama “data.php” lewat “form_get.php” untuk mempersiapkan data berformat Jason.

Sebagai bukti servis dapat dimanfaatkan oleh aplikasi lain, lewat browser kita dapat langsung mengakses “data.php” yang berisi data siswa. Tentu saja perlu menambahkan API key agar menjaga akses dari pihak-pihak yang tidak diijinkan, terutama untuk service POST dan PUT yang menginput dan mengedit data. Untuk jelasnya silahkan lihat video berikut, semoga bermanfaat.

Tulisan Terbaik Yang Sekaligus Terburuk

Menilai lebih mudah dari membuat. Coba baca satu artikel pada jurnal bereputasi, misalnya satu paragraf saja. Tampak mudah dibaca dan mengalir lancar. Terlihat sederhana dan mudah dipahami, namun ketika kita mencoba membuat seperti itu, menit berlalu, bahkan sudah berjam-jam, belum juga bisa membuat tulisan seperti itu.

Teringat ketika membuat skripsi waktu S1. Selesai menulis dan sidang akhir, saya merasa banyak salah tulis, baik dari tata bahasa maupun kesalahan-kesalahan lainnya. Anehnya waktu itu lulus tanpa revisi, yang menjadi misteri bagi saya bertahun-tahun.

Ketika mulai bekerja sebagai pengajar di salah satu kampus di Jakarta dan membimbing tugas akhir. Banyak siswa yang ternyata memiliki masalah yang sama dengan saya ketika menjadi mahasiswa dahulu, yaitu menulis. Mengingat kejadian waktu saya kuliah dahulu, jarang sekali saya memberikan revisi yang banyak ke siswa, dan menolerir kesalahan-kesalahan yang tidak penting.

Waktu kuliah S2 saya mengalami kejadian mirip S1, yaitu tanpa revisi. Tetapi hal ini terjadi karena saya sidang ulang akibat ada masalah administratif dengan sidang pertama. Alhasil sidang ulang hanya seperti diskusi saja. Nah, yang agak unik ketika disertasi.

Jenjang S3 membutuhkan waktu yang lebih lama dibanding level lainnya, baik dari sisi eksperimen maupun penulisan laporannya. Ditambah lagi syarat publikasi di jurnal internasional bereputasi membuat mahasiswa harus mampu menulis. Namun jangan khawatir, karena tulisan hanya melaporkan saja apa yang telah dilakukan, akhirnya pasti akan selesai juga.

Tiap kampus berbeda-beda dalam tata cara sidang. Kebetulan di kampus saya sebelum disidangkan, naskah harus dicek oleh dosen luar kampus. Revisi dari luar pun hanya istilah-istilah tertentu yang harus diganti, mengikuti standar yang ‘lebih umum’, dan menghindari bentuk-bentuk jargon tertentu. Tidak ada revisi besar.

Nah, uniknya walau saat sidang terjadi kontroversi mengenai kesimpulan, akhirnya salah satu penguji menyetujui format kesimpulan yang ada di tiap bab pembahasan, mengingat bidang saya multidisiplin maka ketika pembahasan pada bidang ilmu komputer di akhir bab dimasukan pula kesimpulan bidang ilmu komputer. Bab yang membahas perencanaan tata ruang, di bagian akhir bab diisi pula kesimpulan bidang tersebut, dan seterusnya hingga ada kesimpulan umum di akhir tulisan.

Saat itu saya berencana merevisi sesuai argumen salah satu penguji karena menurut saya benar. Ketika menghadap dosen pembimbing dan mengutarakan maksud saya ternyata di luar dugaan dia tidak setuju. Kalau pun mau merivisi sedikit saja, sambil menjentikan jari ke saya memberi kode berarti ‘sedikit sekali’. “Disertasi adalah tulisan terburukmu”, lalu malah menanyakan tulisan paper-paper berikutnya yang perlu di-publish. Dengan kata lain berarti tulisan saya berikutnya harus lebih baik dari disertasi saya tersebut. Ternyata itu jawaban tidak pernah revisi selama ini. Artinya tulisan terakhir kita, walaupun kita anggap tulisan terbaik, sekaligus menjadi tulisan terburuk, karena tulisan kita berikutnya harus lebih baik lagi.

Kalau pun revisi, itu pun dianggap edisi tersendiri dalam sebuah terbitan seperti gambar di bawah. Sekian semoga bisa menginspirasi.

Mudah Membuat Aplikasi Web dengan Bootstrap

Saat ini membuat aplikasi web jadi lebih mudah dengan banyaknya alat bantu disain, salah satunya adalah bootstrap. Aplikasi ini memanfaatkan teknologi HTML, CSS dan JavaScript. Bootstrap sejatinya adalah template untuk mempercepat pembuatan program. Rekan-rekan dosen pasti kenal template, misalnya template jurnal tertentu ketika akan submit. Template harus diikuti dan penulis mengisi template dengan naskah jurnalnya. Begitu juga template dalam perancangan web yang digunakan untuk mengisi konten. File template ketika akan digunakan perlu dilakukan kustomisasi sesuai dengan proses bisnis baik frontend maupun backend. Kata bootstrap pertama kali saya dengar ketika kuliah web technology dimana seorang siswa asal Perancis mempresentasikan tugasnya dengan teknik praktis ini.

Salah satu situs penyedia template bootstrap terkenal adalah: https://startbootstrap.com/. Silahkan kunjungi situs tersebut dan masuk ke menu templateadmin & dashbord untuk melihat template yangt ersedia.

Silahkan pilih, misalnya SB Admin dengan status “Free” dan diunduh jutaan kali. Selanjutnya klik template yang dituju untuk masuk ke menu download. Lanjutkan dengan menekan Free Download.

Setelah mengunduh, coba cek jalankan dengan terlebih dahulu mengekstrak file rar hasil unduhan. Jalankan file index.html untuk melihat template tersebut. Berikutnya silahkan mengkustomisasi file index.html tersebut, misal menghapus bagian-bagian tertentu, atau bisa mengganti nama misalnya index.php jika menggunakan bahasa PHP.

Oiya, untuk testing, misalnya dengan Github, karena jumlah file yang sedikit, memudahkan Anda upload ke Github online (non-desktop) karena per folder kurang dari 100 file.Sekian info singkat ini, semoga bermanfaat.

Diagram Voronoi

Banyak ilmu yang dikembangkan oleh orang Eropa yang di awal ditemukannya bukan berasal dari problem melainkan hanya sekedar ide saja, sebagai contoh adalah voronoi diagram. Terkadang satu metode berasal dari turunan matematika yang agak sulit jika ditanya gunanya untuk apa, terutama ketika belum terlihat manfaatnya. Mirip teorema De Morgan dan Boyle yang ketika komputer belum dibuat bagi orang biasa dianggap hanya ide gila saja.

Namun seiring perjalanan waktu barulah disadari manfaatnya, baik positif maupun negatif (misalnya ditemukannya mesiu oleh Nobel). Voronoi diagram merupakan bentuk lain dari delaunay tessellation. Yaitu region yang menggambarkan wilayah yang terdekat dengan titik tertentu. Metode ini terasa manfaatnya ketika ada wabah di Inggris yang misterius. Ketika voronoi digunakan, akhirnya diketahui lokasi pusat penyakit yang ternyata pompa air yang tercemari bakteri.

Beberapa software GIS memiliki kemampuan untuk secara otomatis membentuk diagram Voronoi. Misalnya kita memiliki region hasil dari segmentasi dan ingin membuat voronoi diagram berdasarkan segmen-segmen tersebut.

Voronoi dibentuk berdasarkan titik, oleh karena itu perlu dibuat titik pusat tiap region dengan fungsi feature to point yang dapat di-searching lewat fasilitas search. Hasilnya akan tampak seperti gambar di bawah ini.

Berdasarkan titik-titik centroid itulah dibentuk diagram voronoi atau delaunay tessellation dengan fungsi Thiessen Polygons yang ada di ArcGis.

Pilih saja polygon yang akan dibuat voronoi diagram-nya. Perhatikan gambar berikut dimana tiap region memiliki satu titik terdekat. Pemilihan BTS di handphone memiliki prinsip yang sama dengan Voronoi. Selain itu, diagram ini dapat digunakan untuk perencana wilayah dan tata ruang dalam menentukan lokasi fasilitas tertentu yang tepat terhadap pemukiman. Sekian, siapa tahu bermanfaat.

To New Students .. Teach Your Self

Tahun ajaran baru akan memunculkan wajah-wajah baru di tiap jenjang pendidikan. Untuk sekolah sepertinya tidak ada masalah berarti, kecuali kondisi yang masih setengah online. Namun untuk kampus atau sekolah tinggi, masalah klasik adalah berbedanya metode pembelajaran dibanding ketika sekolah dahulu.

Dari pengalaman, kerap terjadi seorang siswa yang hebat di sekolah, ketika masuk dunia kampus kesulitan dalam mengikuti perkuliahan. Tidak jarang yang drop out atau pindah ke jurusan lain. Mungkin alasan utamanya tidak cocok atau salah jurusan. Mungkin benar, tetapi ketika pindah tetap saja ‘bermasalah’, berarti ada faktor lain. Postingan ini sedikit mengurai masalah tersebut, semoga mahasiswa baru dapat mengatasi hambatan tersebut sebelum terlambat.

Saya termasuk mahasiswa yang kesulitan mengikuti perkuliahan di awal-awal semester. Walaupun sadar bahwa ada perbedaan pendidikan di sekolah dengan perkuliahan di kampus, ternyata ada faktor-faktor lain yang berpengaruh.

2021

Zona

Berbeda dengan sekolah yang mempelajari ilmu secara garis besar, pendidikan tinggi lebih spesifik, baik dari sisi kurikulum maupun target lulusannya. Ketika sekolah, saya ikut dengan kakak yang ambil jurusan informatika. Terkadang ikut masuk ke lab sebagai ‘penunggang gelap’ karena memang kampus tidak terlalu ketat (tanpa seragam, tanpa id card, dan sejenisnya, yang penting ada kenalan).

Terbiasa dengan situasi tersebut akhirnya terbawa hingga kuliah di jurusan yang bukan IT. Sesuai dengan judul di atas ada perbedaan zona antara mahasiswa IT dengan mahasiswa lain, dimana seorang mahasiswa IT yang saat ini diwajibkan coding/programming harus tahan duduk berjam-jam di depan komputer terpaksa harus ke lab atau ke lapangan pindah sana pindah sini.

Begitu pula jika Anda mahasiswa psikologi, komunikasi, dan sejenisnya, silahkan sesuaikan dengan karakteristiknya, jangan sampai salah. Nah, repotnya terkadang tiap jenjang berbeda, misalnya D3, D4, S1, S2 dan S3 sangat berbeda. Saya sempat diajar oleh dosen yang baru “sembuh” karena sebagai mahasiswa terbaik di angkatannya, ketika ambil S3 di Jerman gagal (drop out).

Teach your self ..

Namun dari semua itu, ada obat yang ampuh, yaitu belajar mandiri. Berbeda dengan siswa di sekolah yang di-cekoki dan benar-benar dibimbing harus belajar sendiri ketika kuliah. Hal ini terjadi karena perkembangan ilmu yang sudah ‘established’ di sekolah berbeda dengan kampus yang terus berkembang.

Sebagai contoh, perkembangan hardware, software, dan metode saat ini sangat cepat. Mungkin jurusan lain juga sama, misalnya otomotif yang sudah terkomputerisasi atau mesin yang akan digantikan dengan motor listrik. Sementara mungkin dosen masih dengan ilmu yang lama. Jadi, mahasiswa harus PD kalau ilmunya tidak jauh berbeda dengan dosen. Tentu saja jika cepat belajar sendiri lewat media yang saat ini berkembang pesat, yaitu internet.

Awas Jebakan Batman

Saat ini berbeda dengan dahulu dimana tingkat pendidikan tidak berkolerasi dengan pendapatan. Banyak yang bilang orang sukses malah ketika kuliah drop out, atau tidak menonjol. Atau bahkan kalah oleh Youtuber.

Google pun heboh dengan membuat lowongan kerja tanpa membutuhkan gelar/pendidikan akademis. Ditambah lagi iklan lowongan sebagai ‘janitor’ alias OB yang puluhan ribu dolar. Tidak serta merta Anda langsung tidak kuliah atau menganggap enteng kuliah.

Orang IT memang berbeda dengan dokter atau pengacara. Dokter/lawyer berusia 50 tahun tentu lebih berpengalaman dibanding dokter/lawyer 40 atau 30 tahun. Sementara untuk bidang tertentu, misalnya software engineer, yang berusia 50 tahun belum tentu lebih hebat dari yang 40 tahun. Silahkan lihat atau baca pengalaman pekerja-pekerja di perusahaan seperti Google, FB, dan sejenisnya. Sederhananya jika Anda memiliki 2 asisten rumah tangga, sama-sama berkualitas, tetapi yang satu memiliki sertifikat menjahit level expert misalnya. Anda tentu akan cemas dengan yang kedua kan?

Mungkin Anda bisa beralih menjadi konsultan, dosen, kontraktor, dan sejenisnya, kombinasi pengalaman dan gelar dan sertifikat-sertifikat lain, jika sudah bosan bekerja di industri. Banyak mahasiswa yang berhenti kuliah dan lebih fokus menjadi Youtuber. Memang itu pilihan, seperti pilihan Duta Sella on 7 yang berhenti kuliah di UGM karena ingin fokus menyanyi. Namun ada baiknya anda lihat nasehat Youtuber ini.

Di kampus Anda belajar matematika, aljabar, algoritma, struktur data, teknik kompilasi, network dan sejenisnya. Terkadang tidak dibutuhkan secara langsung di lapangan. Tetapi usaha sedikit, sebenarnya, lewat baca buku, bertanya, nonton video tutorial, dan lain-lain bisa juga Anda lalui, walau dengan susah payah. Salah satu hasil yang jelas Anda memiliki level di atas rekan-rekan yg tidak kuliah atau yang dropout.

Dalam dunia yang uncertaint tidak ada salahnya tetap memastikan dan memantaskan diri. Jika Akhirnya semua terserah Anda, jika yakin dengan algoritma Youtube, no problem. Tetap jaga-jaga tidak ada salahnya. Oiya, kabarnya ketika tulisan ini dibuat, akun Youtube Onno W. Purbo ditutup Youtube, karena kerja algoritmanya, padahal sangat bermanfaat konten2nya. Semoga postingan ini bermanfaat.

Website dengan Github

Github merupakan situs terkenal untuk mengelola kode program. Dengan Github satu proyek dapat dikerjakan secara berkelompok tanpa adanya konflik. Hal ini terjadi karena adanya “version”, sehingga ketika proses editing mengakibatkan “crash”, maka program dapat dikembalikan ke versi sebelumnya. Selain itu ada istilah jalur utama dengan cabang sehingga programer tertentu dapat bekerja independen. Namun, satu fasilitas unik dari Github adalah dapat digunakan untuk web server layaknya WordPress atau Blogspot. Postingan kali ini akan membahas bagaimana membuat situs dengan Github.

Sign Up

Tentu saja syarat utama untuk memanfaatkan aplikasi Github adalah mendaftar/registrasi terlebih dahulu. Seperti aplikasi-aplikasi pada umumnya diperlukan email sebagai syarat pendaftaran karena akan ada proses verifikasi kode. Prosesnya pun cepat, hanya meminta nama “github” anda, misalnya saya menggunakan nama “rahmadyath”, karena “rahmadya” sudah dimiliki orang.

Membuat Repository

Berikutnya adalah log in ke Github untuk menyiapkan repository. Ada dua pilihan: public dan private. Tentu saja pilih public jika ingin situs dapat diakses oleh khalayak ramai. Jika sudah, Anda tinggal mengisi konten. Banyak template-template website tersedia, biasanya dalam bentuk bootstrap dengan CSS yang indah dan menarik. Hanya saja jika akan diupload ke Github lewat website Github ada batas maksimal satu folder yang berisi 100 file, kecuala Anda menginstall Github desktop terlebih dahulu.

Menseting Website

Setelah repository berisi web yang sudah didisain, berikutnya adalah mengeset website. Caranya adalah masuk ke menu setting untuk memilih repository main dilanjutkan dengan save. Sebelumnya Anda diminta mengisi nama judul website, misalnya: rahmadyath.github.io/documentation. Jika sudah, maka ketika alamat tersebut diketik akan muncul website yang baru saja dipublikasi.

Teknik ini cukup baik dan dapat dijadikan testing prototipe untuk dicek oleh pemesan aplikasi sebelum lanjut ke tahap berikutnya. Untuk lebih jelasnya silahkan lihat video Youtube berikut ini.

Permasalahan Pada Google Colab

Salah satu tools untuk pemrograman dengan Python yang terkenal saat ini adalah Google Colab. Tools ini sangat praktis karena cukup dengan sebuah browser dengan disertai akun Google sudah bisa menjalankan kode dalam bahasa Python yang berat. Bahkan Google colab juga menyediakan hardwarenya yang berupa Graphic Processing Unit (GPU) dan Tensor Processing Unit (TPU).

Dalam praktiknya ternyata banyak kendala-kendala yang kerap dialami peneliti dalam memanfaatkan fasilitas canggih milik Google tersebut. Beberapa masalah akan dibahas dalam postingan ini, tentu saja berdasarkan pengalaman yang terjadi. Mungkin banyak hal lain yang tidak dibahas dalam postingan ini yang butuh share juga dari pembaca lewat kolom komentar. Selain membahas masalah-masalah yang muncul, dibahas pula cara-cara penyelesaiannya.

Kompatibilitas

Banyak kode-kode yang dishare di internet dalam bentuk Google Colab ketika dijalankan tidak bisa/error. Hal ini kerap terjadi karena Google Colab sudah mengupdate ke versi terbaru dan tidak bisa lagi menjalankan versi-versi yang lama. Langkah terbaik untuk penyelesaiannya adalah mengembalikan Google Colab ke versi sebelumnya.

Ternsor Flow

Beberapa aplikasi terkadang masih menggunakan tensorflow versi 1.x yang lama, sedangkan Google Colab saat ini sudah menggunakan yang versi 2. Oleh karena itu perlu sebuah instruksi untuk mengembalikan ke versi tersorflow yang lam.

Simbol “%” biasanya digunakan untuk setting library pada Google Colab. Memang ada baiknya mengkonversi program Python kita dengan versi yang terbaru, namun ada kalanya karena keterbatasan waktu, cara tersebut layak untuk dipertimbangkan.

TIdak Semua Library Tersedia

Beberapa library seperti NumPy, Pandas, dan sejenisnya sudah disiapkan oleh Google Colab. Namun library tertentu yang jarang dipakai perlu dipasang pada Google Colab. Caranya tentu saja tidak bisa dengan cara konvensional pada command prompt dengan “PIP”, melainkan dengan running pada Cell Google Colab lewat tanda “!” di awal.

Sebagai contoh di atas adalah library “rasterio” yang sering digunakan untuk menampilkan network Deep Learning berupa gambar yang jelas. Namun yang menjengkelkan adalah ketika Google Colab dishutdown dan dihidupkan kembali, kita harus menginstal ulang, berbeda jika menggunakan Jupyter Notebook yang cukup sekali menginstall Library.

Perlu Mencabut Instalasi Library

Ternyata bukan masalah belum terinstal saja yang muncul, sudah diinstal pun terkadang perlu dicabut karena tidak sesuai dengan kondisi sebelumnya. Misalnya ketika dahulu kita men-training dengan library tertentu pada Deeplearning, ketika hasil training tersebut akan digunakan ternyata tidak kompatibel dengan library terkini, alhasil perlu dilakukan proses training ulang yang terkadang memakan waktu.

Cara paling gampang adalah mencabut library Google Colab terkini dilanjutkan dengan instal versi sebelumnya yang tepat ketika proses training berlangsung.

Sebelumnya akan ada proses konfirmasi apakah akan dicabut library terkininya? Ketik saja y dan proses uninstall akan berjalan. Lanjutkan dengan menginstall versi yang kompatibel dengan yang lampau agar hasil pelatihan dapat berjalan.

Kode di atas terjadi ketika Deeplearning dilatih, versi h5py menggunakan versi yang lama. Alhasil dengan versiyang baru tidak dapat dipanggil dan dikompilasi dengan networknya. Setelah uninstall dan diinstal dengan versi yang cocok, barulah dapat dimanfaatkan hasil pelatihan/training Deeplearning yang telah dilakukan dahulu.

File Terhapus Ketika Shutdown

Problem yang sering terjadi adalah ketika suatu file diupload di Google Colab maka file tersebut sejatinya adalah sementara. Artinya ketika Google Colab ditutup maka file tersebut otomatis hilang. Untungnya Google Colab menyediakan fasilitas terkoneksi ke Google Drive, sehingga fila akan tersimpan permanen di Google Drive. Hanya saja perlu setting tambahan seperti berikut ini.

Google Colab akan meminta kode tertentu (cukup dengan copas) dari Google Drive. Pastikan folder di Google Drive dapat diakses pada Google Colab. Kalau hanya berukuran beberapa kilobyte sih tidak masalah, repotnya jika filenya berukuran besar mendekati 1 Gb, tentu saja menjengkelkan. Jadi melakukan akses ke Google Drive wajib dilakukan.

Waktu Akses Terbatas

Jika proses memerlukan waktu yang lama, maka Google akan memutus proses itu, dalam waktu 1×24 jam (mirip pesan pak RT untuk para tamu). Selain itu terkadang jika Google melihat tidak ada aktivitas pada sesi Google Colab terkadang akan direset prosesnya.

Butuh Koneksi Internet

Tentu saja karena Google Colab menggunakan browser. Ada baiknya Anda menggunakan Jupyter Notebook karena lebih fleksibel. Ketika kode bisa dirunning, akan terus bisa dirunning, kecuali Versi Library Anda rubah.

Hal-hal di atas merupakan permasalahan yang harus dipahami oleh pengguna Google Colab. Mungkin banyak hal-hal lain yang belum disebutkan di atas. Oiya, untuk pemrograman hal-hal rahasia, sensitif, dan sejenisnya ada baiknya tidak menggunakan fasilitas cloud seperti Google Colab.

Mitra

Saat ini terjadi pergeseran dalam bisnis, khususnya sejak menjamurnya aplikasi-aplikasi online. Aplikasi ini bercirikan sharing sumber daya, misalnya pemilik kendaraan, pemilik vila/penginapan, kepada vendor aplikasi. Penyedia aplikasi, misalnya aplikasi ojek/taksi online, tidak perlu memiliki kendaraan/armada, cukup bermintra dengan pemilik kendaraan. Nah, di sini kata mitra memiliki makna khusus dimana ketika dahulu ada istilah pegawai dan pemilik, kini semuanya mitra, saling membutuhkan.

Misalnya dalam aplikasi pesan makanan online, maka mitra yang terlibat antara lain pembeli, pedagang makanan/minuman, dan driver/kurir. Posisi setara menyebabkan mereka berperan sebagai mitra, tidak ada satu posisi yang melibihi posisi lain. Tentu saja, masing-masing memiliki alat ukur untuk kinerja dan sesuai dengan visi misi pembuat aplikasi, biasanya ada aspek lain yang perlu diperhatikan misalnya kepuasan konsumen terhadap layanan yang dipesan (makanan, transportasi, dan jasa lain).

Masih belum jelas apakah kondisi tersebut masuk ke bidang lain, seperti pendidikan, kesehatan, dan lain-lain. Jika masuk maka profesional akan memiliki ikatan berupa mitra dengan pemilik organisasi, misalnya dosen dengan yayasan.

Sebenarnya gejala-gejala mulai nampak, yang dipercepat dengan pandemi covid yang mengharuskan bekerja secara online. Beberapa mahasiswa mulai menjalankan kebijakan mendikbud MBKM. Terjadi sharing sumber daya antar kampus. Mulai terjadi seorang mahasiswa satu kampus mengikuti kuliah di kampus-kampus lainnya, bahkan hingga kampus luar negeri (program IISMA).

Kerap terjadi konfilik di suatu institusi pendidikan ketika pemilik/owner masih memiliki paradigma yang lama: bos dan pegawai. Untungnya pemerintah sanggup menengahi kasus-kasus yang terjadi ketika ada konflik antara pemilik dengan pekerja. Jika dahulu depnaker fokus ke buruh, saat ini mulai masuk ke bidang lain, salah satunya pendidikan. Terutama semenjak BPJS baik kesehatan dan ketenagakerjaan wajib diterapkan di tiap-tiap organsisasi/perusahaan.

Bagaimana antara dosen/guru dengan mahasiswa/siswa? Ada kemungkinan terjadi perubahaan paradigma menjadi mitra. Tetapi ada aspek lain yang tidak dapat berubah yakni psikologis maupun adat istiadat. Hormat siswa terhadap guru tentu saja tidak bisa sama dengan terhadap mitra, walaupun dari sisi bisnis berlaku prinsip tersebut. Untuk kursus atau pelatihan mungkin bisa diterapkan, namun untuk guru dan murid atau dengan ustad di lembaga pendidikan agama, ada aspek lain yang tidak mungkin hilang.

Bagaimana kalau dipaksakan? Memang sesuatu yang dipaksakan dapat saja berjalan. Namun, ada prinsip dalam pendidikan yang tidak dapat dilupakan yaitu kesediaan ‘mengajari’ atau ‘berbagi ilmu’ dengan orang lain.

Membayar untuk membeli makanan, misalnya, mungkin selesai setelah makanan habis dimakan atau kendaraan yang dibeli telah dipakai sehari-hari. Tetapi membayar untuk memperoleh ilmu di suatu institusi akan berbeda karena mahasiswa akan memiliki ikatan dengan institusi tersebut walaupun sudah lulus. Dari pengalaman sebagai ketua program studi, banyak orang tua yang datang untuk menitipkan anaknya dididik dengan alasan si orang tua tersebut (ayah atau engkongnya) pernah kuliah di kampus yang sama. Termasuk ketika memohon agar anaknya tidak di drop out (karena masa studi yang habis), yang untungnya berhasil lulus dengan susah payah. Saya hampir menitikan air mata ketika mem-paraf ijazah dan transkrip nilainya krn ingat kedua orang tuanya yang datang menghadap. Agak sulit dibayangkan kondisi ini jika menganggap pendidikan selayaknya jual beli biasa.

Digital Image Processing

Digital image processing is an important step before next processing, e.g. computer vision, prediction, and other image manipulations. Image processing is an input for another computational task. In the first time, image processing is learned by computer scientists with some mathematical processing, e.g. edge detection, noise filter, etc. but to day some discipline, e.g. remote sensing, GIS, use this subject as the main and important material.

I have a lot of friends from computer science that try to focus on this subject. He/she asked about the current trend of this interesting subject. Image processing now has been established, with some images to be processed should have a lot of band frequencies captured by satellite, e.g. Landsat, Sentinel, IKONOS, etc, called multispectral and hyperspectral (more than 13 band frequencies) data. So, if we only have one band frequency, it is difficult to manipulate this single band image (called panchromatic). But for computer scientist, it is interesting to focus on computer vision, whether video or object detection. But some areas, e.g. remote sensing, medical imaging, to say only a few, still need deep learning-based image processing. I’m surprise when see the curriculum in my previous campus that the digital image processing is held by remote sensing & geographic information systems (RS-GIS) department.

If you want to see how image processing for land use/cover classification, my Youtube video might be useful, especially for environmentalists.

Import Citra Sentinel pada IDRISI

Ada banyak sensor citra satelit seperti Landsat, IKONOS, Sentinel, dan lain-lain. Yang terkenal dan sudah lama dipakai oleh para peneliti adalah Landsat. Postingan-postingan saya terdahulu juga telah membahas sensor satelit ini dan penggunaannya dengan software IDRISI. Kali ini kita akan mencoba satelit Sentinel.

Versi IDRISI

Banyak versi idrisi, misalnya IDRISI Taiga dan Selva yang masing-masing memiliki karakteristik yang khas. Ketika saya coba mengimpor satelit Sentinel ke IDRISI Selva (IDRISI versi 17), ternyata tidak ada menu pilihannya.

Informasi dari Google ternyata untuk citra Sentinel mau tidak mau harus menggunakan minimal IDRISI versi 18.3, yang namanya kembali menjadi TerrSet, sesuai dengan nama perusahaannya.

File SAVE

Ada satu hal unik ketika mengunduh citra Sentinel dari United States Geological Survey (USGS) yaitu file zip yang ketika diekstrak ternyata berisi file-file tertentu, bukan hanya citra tiap pita frekuensi seperti pada Landsat. Nah, di salah satu folder ada kumpulan file *.jp2 (JPEG2000) untuk tiap pita frekuensi (band). Namun untuk mengaksesnya di IDRISI cukup dengan memanggil file SAFE.

Otomatis nanti “Band to process” akan berisi pita-pita frekuensinya (ada 13 belas pita frekuensi). Centang semua jika ingin mengimpor seluruhnya ke IDRISI. Sertakan folder lokasi untuk menyimpan file *.rst hasil konversi *.jp2 Sentinel. Untuk lebih jelasnya silahkan lihat video Youtube saya berikut. Sekian, semoga bisa bermanfaat.

Tidak ada yang abadi

Terus terang saya salut dengan seorang profesor yang selalu menyapa dan berinteraksi dengan siapapun, entah itu mahasiswa atau pun rekan sejawat di level apapun. Tidak ada pilih kasih dan tidak memandang gelar, jabatan, dan kekayaan dalam berhubungan. Usut punya usut ternyata prinsipnya adalah tidak ada yang abadi. Ya, sangat sederhana. Ketika melihat seorang siswa yang biasa saja, kita tidak bisa yakin bahwa nanti dia jadi orang biasa saja. Bisa saja dia menjadi pemimpin, pemilik perusahaan, bahkan seorang presiden. Bawahann kita, serendah apapun, mungkin itu saat ini, bisa saja nanti menjadi orang sukses. Terdengar, ada satu kampus yang dalam setahun berantakan, padahal kampus papan atas. Atau seorang pemimpin, orang kaya, terpandang, bisa saja dalam sekejap menjadi orang yang biasa-biasa saja.

Ada satu prinsip yang dapat menenangkan jiwa, yaitu tidak ada yang abadi, apapun itu, kecuali yang maha abadi. Diibaratkan sebagai rintik air hujan yang mengenai air, bergelombang redup dan lenyap, datang lagi rintik air hujan mengenai air, bergelombang kemudian hilang. Kita pasti pernah merasa disakiti oleh seseorang, jika kita menggap orang yang menyakiti tersebut ‘abadi’, dalam artian pasti selalu menyakiti kita maka kebencian tidak akan hilang dalam diri kita. Sebaliknya jika kita menganggap tidak ada yang abadi, ketika dulu disakiti belum tentu sekarang dia menyakiti.

Kondisi pandemi dimana siswa belajar online terkadang membuat orang tua panik dan terkadang emosi karena kaget selama ini hanya menitipkan anak ke sekolah dan sekarang harus berperan sebagai guru. Terkadang ada frustasi akan masa depan anak, nanti jadi apa kalau kelakuannya seperti ini. Kembali ke cerita di atas, jangankan terhadap orang lain, terhadap anak sendiri pun tentu saja harus sama, bisa saja anak yang saat ini ‘alay’, malas, main game melulu, nonton kpop terus, dan lain-lain, suatu saat nanti bisa menjadi pengusaha, dokter, profesor, dan lain-lain. Termasuk kondisi pandemi pun kalau kita menganggap ‘abadi’ repot juga, bisa stres. Tapi kalo suatu saat pasti berhenti atau setidaknya bisa diatasi, pasti akan berlalu dengan baik-baik saja.

Banyak hal-hal terjadi dengan cepat saat ini. Rekan-rekan yang kemarin masih bersama, banyak yang sudah tiada. Kadang di atas, kadang di bawah itu adalah keniscayaan. Imam Ali r.a. memiliki prinsip jalani saja perannya, entah jadi pemimpin atau bawahan, miskin atau kaya, tidak mempengaruhi kondisi batin. Yup, ketika merasakan ketidakabadian, apapun dilalui dengan santai. Banyak yang bilang Butan merupakan negara yang rakyatnya bahagia, hal ini karena rakyatnya setiap hari selalu mengingat kematian dan menjaga kelestarian alam. jadi selalu ‘easy going’.

Orang akan selalu senang dengan orang yang tidak sombong dan selalu berterima kasih. Naik turun jabatan itu biasa, namun jika memaksakan diri dengan intrik-intrik yang ada kedzaliman di dalamnya, siap-siap akan menuai balasan yang terkadang Tuhan tunjukan ke orang yang dizalimi itu. Respect to all of you.

Artificial Intelligence pada Bidang Geospasial

Artificial Intelligence (AI) hampir diterapkan di segala bidang dari ilmu komputer itu sendiri, kedokteran, elektronika, hingga bidang sosial humaniora seperti psikologi. Prinsip dasar AI adalah menciptakan sebuah alat bantu yang bisa berfikir dan merespon seperti layaknya manusia. Saat ini AI menjadi lokomotif era Industri 4.0. Postingan ini sedikit memprovokasi para pemerhati AI siapa tahu tertarik meneliti teknik-teknik AI yang diterapkan ke bidang Geospasial.

Kita mungkin telah mengenal mata kuliah Geografi sejak SMP, namun istilah Spasial (spatial) mungkin baru, atau pernah dengar tapi kurang mengerti maksudnya. Spasial artinya hal-hal yang berkaitan dengan koordinat yaitu letak baik dua maupun tiga dimensi. Sementara Geo di depannya berarti bumi, jadi Geospasial artinya hal-hal yang berkaitan dengan letak koordinat di bumi, termasuk standar proyeksi, misalnya Universal Transverse Mercator (UTM).

Berikut ini materi webinar saya di AMIK Master Lampung. Pesertanya banyak juga, sampai 500 orang. Salah satu keunggulan online adalah bisa menghandle jumlah orang yang banyak dan tidak perlu secara geografis ke lokasi webinar.

Jadi inget ketika kuliah dulu. Terkadang ada selentingan bercanda orang Geografi, Remote Sensing – GIS dengan mahasiswa juruasan lain. yang mengatakan: “Semua yang ada di muka bumi punya Geografi”, hehe. Kemudian dari mhs ilmu komputer membalas: “Orang Remote Sensing – GIS kalau ditanya 1 + 1 berapa, dia mengeluarkan Iphone terbaru, membuka aplikasi kalkulator dan menjawab 2”.

Teka-Teki Based Education

Kita mengenal teka-teki silang (TTS), entah yang benar atau versi Cak Lontong yang menjengkelkan, tetap menarik. Berbeda dengan menonton film atau mendengarkan musik, bermain teka-teki melibatkan otak yang aktif. Hampir mustahil ketika menjawab teka-teki kita tertidur, bandingkan dengan kegiatan pasif lainnya. Bahkan ketika sedang di kelas tidak jarang mahasiswa/siswa yang tertidur.

Pertanyaan

Prinsip utama belajar adalah menjawab pertanyaan. Bapaknya para nabi pun, Ibrahim, mempertanyakan Tuhan. Sempat menganggap matahari dan bulan sebagai tuhan. Walau akhirnya ditunjukan, tetap saja prinsip berfikirlah yang dijadikan makna peristiwa tersebut.

Tidak hanya konsep, pertanyaan pun dalam segala bidang termasuk skill/keterampilan. Bagaimana menulis yang baik, memrogram komputer dengan cepat, dan lain-lain adalah pertanyaan yang harus dijawab oleh peserta didik.

Kita memang biasa diberi pertanyaan, namun terkadang tidak jarang kita dihadapi situasi harus bertanya. Ketika pertama kali belajar di negeri rantau, salah satu skill penting adalah bertanya. Anehnya, waktu itu saya sulit sekali meramu pertanyaan yang efisien, di mana letak grocery, library, dan lain-lain.

Luaran

Sebagai informasi, istilah ini adalah istilah hasil dari suatu riset yang didanai, misalnya oleh pemerintah. Uang yang dibelanjakan harus menghasilkan satu karya yang disebut luaran, bisa berupa prototipe, paten, atau artikel ilmiah. Berbeda dengan proyek yang pelaporan dananya sesuai dengan belanja, tentu saja riset berbeda. Bayangkan saja misalnya Einstein yang menemukan rumus E=MC2 jika misal didanai, agak sulit mempertanggungjawabkan lewat struk belanja. Paling-paling habis untuk beli kertas, tinta, atau obat encok. Jadi jika dulu peneliti kita menghabiskan waktu risetnya untuk berfikir bukti belanja, saat ini paradigmanya dirubah menjadi luaran yang dihasilkan.

Misalnya R. Oppenheimer, selain mengajar dia juga meneliti reaksi nuklir. Luarannya? Selain artikel ilmiah lurannya juga fenomenal: bom atom Hiroshima dan Nagasaki. Serem juga ya. (hmm .. Jangan sembarangan nanya luaran ke dosen teknik ya).

Jadi salah satu cara agar tidak tertidur ketika belajar, membaca, webinar, dan aktivitas pembelajaran lainnya ya carilah pertanyaan yang harus kita jawab, minimal dari acara yang sedang diikuti. Kalau tidak, dijamin webinar selesai, semua left, tinggal Anda sendiri karena ketiduran, upsss. Hahaha .. pengalaman pribadi.

Teknik Membagi Waktu: POMODORO

Ada sebuah alat yang mendeteksi gelombang EEG otak untuk mengukur tingkat konsentrasi seorang anak ketika belajar. Alat tersebut dikembangkan di Massachusetts (lihat ref ini). Alat yang sudah diterapkan di Malaysia ini juga dapat mengetahui karakteristik siswa, kapan waktu optimal seorang siswa dalam belajar. Ternyata tiap orang memiliki karakteristik bekerja yang berbeda, apakah pada pagi, siang, sore, atau malam.

Bekerja Optimal

Mungkin kita pernah duduk bekerja atau belajar berjam-jam tetapi ternyata hasil yang diperoleh tidak signifikan. Alat deteksi biasanya mengetahui adanya penurunan fokus dan segera alat tersebut memberikan musik untuk menyegarkan otak dan bisa fokus kembali. Ternyata otak butuh istirahat untuk kembali fokus. Masalahnya adalah, kapan waktu yang tepat untuk istirahat?

Pomodoro Technique

Dalam manajemen dikenal Pomodoro teknik, yaitu teknik membagi waktu kerja menjadi 25 menit dengan diselingi 5 sampai 10 menit istirahat (break). Ketika sampai empat kali, ada istirahat panjang sekitar 30 menit. Saat mencoba sepertinya ada rasa tanggung ketika 25 menit harus break, tapi ternyata manfaat istirahat 5 menit sangat efektif karena ketika kembali bekerja otak seperti fresh lagi.

Teknik ini sangat bermanfaat juga untuk yang bekerja di depan layar komputer karena mata juga butuh istirahat, bukan hanya otak saja. Disebutkan tiap empat kali “pomodoro” harus istirahat panjang, nah terkadang agak ribet juga untuk mengetahui saat ini sudah yang kedua, ketiga, atau keempat. Oleh karena itu kita butuh alat bantu, selain timer.

Alat Bantu

Alat bantu dapat diperolah baik dari website maupun aplikasi yang tersedia: play store, apple store maupun microsoft store. Jika malas menginstal bisa menggunakan situs ini sebagai timer. Selain memberi alarm tiap 25 menit dan break 5 menit, aplikasi ini dapat juga mengetahui kapan long break 30 menit harus dilakukan. Selamat mencoba.