Ingin Begini, Ingin Begitu

Yang suka nonton film doraemon pasti mengenal judul di atas, yang sering muncul saat awal film. Dari bayi yang baru lahir, anak-anak, hingga orang dewasa pasti ingin sesuatu. Bukan hanya itu, organisasi pun ada yang diinginkan. Istilahnya objektif yang akan dicapai. Kalau istilah perusahaan, berbeda-beda, misalnya visi misi, atau istilah lain misalnya north-star metric ala GOJEK.

Google, sebagai perusahaan ternama yang menguasai dunia IT memanfaatkan istilah Objectives and Key Results (OKRs). Istilah ini diperkenalkan oleh seorang kapitalis ternama: John Doerr, dengan formula ternamanya [link]:

I will … as measured by …

Ketika formula tersebut diimplementasikan pada OKRs maka menjadi I will (Objective) as measured by (Key Result). Sangat sederhana, begitu juga waktu pengukurannya biasanya tiap bulan dan bukan tiap tahun. Jika anda ‘ingin’ tapi tidak tahu cara mengukurnya maka itu dikatakan bukan ‘goal/tujuan’. Jadi apapun keinginan Anda harus tahu ukuran ketercapaiannya.

Misal Anda seorang mahasiswa, ketika ingin lulus maka alat ukurnya adalah tentu saja harus bisa diukur tiap bulan jika menerapkan OKRs. Kalau ukurannya nilai mata kuliah, maka itu terlalu lama, so .. nilai tugas, latihan, absen dan lain-lain yang bisa diukur perbulan harus ada. Untuk dosen biasanya diukur tiap semester dalam bentuk beragam, yang jelas untuk yang sudah tersertifikasi bisa menggunakan BKD, untuk per bulan? silahkan cari sendiri.

Untuk yang sedang S3? Nah ini sedikit unik mengingat S3 adalah riset. Banyak rekan saya yang sanggup menjalankan OKR saat di fasa course, tapi kewalahan saat fasa riset. Biasanya mengukur lewat latihan-latihan soal, tugas, dan lain-lain terkait kuliah, kini saat riset harus mengukur progress tiap bulan. Alhasil, karena terlalu lamanya ukuran dari kampus (seminar progress) karena terlena akhirnya tidak sanggup mengejar deadline. Ada satu hal yang diwajibkan saat penelitian, yakni log book. Walaupun ini sekedar mencatat, bisa dimanfaatkan untuk melihat sejauh mana progres yang telah tercapai, sehingga bisa digunakan untuk mencapai objective-objektive kecil yang menjawab objective utama.

Ok, selamat menyelesaikan objektif-objektif Anda, semoga lancar. Jangan terpengaruh objektif-objektif orang lain yang bukan objektif kita ya, e.g., menjadi presiden, DPR, dan lainnya, … nanti dikhawatirkan objektif utama kita malah terlupakan, selain tentu saja membuat tekanan darah kita tidak normal.

Pendapat Anda

Manusia ketika lahir tidak memiliki skill seperti hewan, misalnya kerbau, sapi, kambing, dan lain-lain yang ketika lahir langsung bisa jalan. Manusia harus belajar, entah dari orang tua, lingkungan maupun bangku sekolah. Berbeda dengan seorang pawang/pelatih hewan melatih binatang peliharaan, melatih manusia jauh berbeda karena manusia memiliki kesadaran.

Di tahun 80an, di jaman guru sangat mendominasi, galak, penuh dengan hukuman, sebagian besar siswa cenderung takut mengeluarkan ide, pendapat, dan aspirasi lainnya. Jangankan protes bertanya pun takut, apalagi mengeluarkan pendapat. Berbeda dengan saat ini, guru harus berhati-hati, jangan sampai kebablasan dalam menghukum, bisa-bisa dilaporkan ke pihak yang berwajib. Hal ini ditunjang oleh banyak tools/alat bantu belajar seperti Google dan yang terkini adalah ChatGPT, serta alat bantu berbasis AI lainnya. Kehebatan guru tidak terlau dominan lagi.

Nah, untuk Anda yang mengalami luka lama seperti saya yang mengalami pendidikan di sisa-sisa jaman penjajahan dahulu, ada sedikit trik yang bisa digunakan, khususnya jika akan lanjut kuliah lagi (S3 khususnya). Jenjang S3 memang menuntut adanya Tesis yang berupa pendapat terhadap kasus tertentu yang akan diuji saat sidang, baik progress, tertutup, maupun terbuka.

Pendapat merupakan satu alat ukur mengenai hal-hal yang ada di kepala kita. Misalnya kita membaca sebuah buku, tanpa adanya ‘ujian’ berupa entah pertanyaan terkait buku atau resensi/kritik, kita tidak bisa mengatakan telah membaca buku itu. Pendapat juga merupakan satu alat bantu untuk mencari kebenaran. Berbeda dengan ilmu pasti, khususnya ilmu sosial sebagian besar tidak 100% benar atau 100% salah.

Kemarin, tanggal 14 Februari 2024, sebagian besar penduduk mengeluarkan pendapat lewat pemilu. Di sini rakyat yang beragam tingkat pendidikan, kepercayaan, kekayaan, dan lain-lain menyalurkan pendapat mengenai siapa pemimpin negara 5 tahun ke depan. Kedewasaan kita dalam menerima pendapat yang berbeda diuji, apakah kita marah dengan orang yang beda pendapat dengan kita, ataukah menerima karena tiap orang punya pandangan yang berbeda.

Itulah menariknya manusia, karena memiliki pendapat yang beragam. Suatu malam saat saya tinggal di kos-kosan di Yogya, rekan saya yang suka begadang, asyik mengobrol dengan temannya. Suaranya terdengar hingga kamar tidur saya. Tidak terlalu berisik sih, cuma omongannya membuat kepala saya aktif kembali dan jadi sulit tidur. “Eh, menurut kamu, bintang itu isinya apa ya?”, tanya rekanku di ruang tamu kos yang memang tidak ada atapnya sehingga langit terlihat jelas. “Apa ya?”, jawab teman satunya lagi, sepertinya berfikir keras. “Menurut pendapat saya, itu seperti batu, cuma nyala aja”, jawab si penanya. Upss .. praktis saya jadi ikut mikir di tempat tidur sendirian. Anda yang membaca tulisan ini kalo jadi ikutan tidak bisa tidur .. Sorry ye.

Problem Solving

Jika Anda membaca literatur kuno India, khususnya agama Budha, sesuatu itu muncul akibat ketidaktahuan. Terlepas percaya atau tidak, hal-hal yang dulu tidak ada dan sekarang ada akibat hal tersebut. Kita mungkin sudah lupa atau tidak sadar bagaimana ketika bayi kita tidak tahu bagaimana caranya mensuplai makanan ke tubuh kita. Jadi, ketidaktahuan akan sesuatu memantik problem yang harus diselesaikan. Ketidaktahuan memancing keingintahuan, dan memunculkan ilmu-ilmu baru. Ok, filsafat mungkin memusingkan, postingan ini kita membumi saja.

Problem Jangka Pendek

Dari kecil kita sudah mampu menyelesaikan problem-problem yang tidak perlu membutuhkan pemikiran mendalam. Dengan bertanya, searching di internet, dan kegiatan sederhana lainny bisa menyelesaikan problem sederhana. Repotnya kebanyakan soal-soal di bangku sekolah masuk kategori ini, sehingga ketika anak itu kuliah, ada kebingungan, khususnya ketika muncul problem yang perlu pemikiran mendalam.

Problem Jangka Panjang

Berbeda dengan problem jangka pendek yang sederhana, problem jangka panjang memerlukan pemikiran yang mendalam, terkadang berupa tahapan-tahapan yang harus dilalui oleh seorang anak/pelajar. Terkadang berbeda dengan problem sebelumnya yang bisa dilakukan lewat kursus, pelatihan, dan sejenisnya, problem jangka panjang membutuhkan effort untuk menyelesaikannya. Usaha tersebut terkadang meminta ‘tumbal’. Banyak rekan-rekan saya yang tidak kuat, sakit, bahkan meninggal dunia. Seorang anak yang cerdas dan terlatih menyelesaikan problem-problem singkat berupa soal-soal ujian terkadang kewalahan ketika problem harus diselesaikan tidak dalam waktu beberapa menit saja, bisa satu hari, satu bulan bahkan satu tahun, yang jika tidak sabar akan mengganggu pikirannya.

Repotnya banyak problem-problem jangka panjang yang butuh pemikiran mendalam harus diselesaikan oleh seorang anak yang harus memutuskan masa depannya, misalnya melanjutkan jurusan/bidang apa, karir apa yang akan diambil, bekerja di mana dan sebagainya yang tidak bisa dilakukan dengan cepat karena harus memikirkan secara mendalam. Bagi yang pernah mengambil doktor, sudah pasti mengenal tipe problem ini.

Salah satu buku ternama ‘furute skills‘ membahas bahwa problem solving merupakan skill utama di atas critical thinking dan creativity ya karena memang problem-solving merupakan induk dari keberlangsungan hidup umat manusia. Jadi cara paling mudah dalam belajar adalah dengan ingin mencari tahu hal-hal yang tidak/belum diketahui. Ketika membaca, kuliah, atau aktivitas lain jika Anda berhasil memancing keingintahuan, dipastikan ada yang ‘berbekas’ dari aktivitas itu … minimal tidak tertidur.

Rata Kanan-Kiri (Justify) Pada WordPress.com

Selama ini untuk kepraktisan saya menggunakan wordpress template untuk membuat postingan di wordpress. Ketika mencoba membuat langsung dari wordpress.com ternyata agak ribet juga untuk yang rata kanan kiri. Hal ini karena tidak ada pilihan justify di wordpress, yang ada hanya rata kiri, center dan rata kanan.

Memang lebih mudah dengan template jika dengan word 365 [link], atau langsung share di microsoft word 2007 [link] atau 2016. Ternyata tombol untuk rata kanan tersembunyi di sebelah kanan hyperlink, yakni tombol menu yang diklik terlebih dahulu.

Tinggal klik ‘Rata kanan kiri’ untuk meratakan sisi kiri dan kanan pragraf kita. Hasilnya tampak seperti postingan ini. Sekian, semoga bermanfaat.

Istilah Machine Learning dalam Bahasa Indonesia yang Bermasalah

Kita pernah mendengar istilah-istilah konversi dari bahasa Inggris ke bahasa Indonesia. Di sini banyak yang bermasalah mengingat keterbatasan bahasa kita. Salah satunya adalah dalam bidang Machine Learning (termasuk juga Deep Learning). Postingan ini sedikit mengupas problem yang muncul, khususnya pada skripsi/tugas akhir mahasiswa.

Prediksi

Istilah ini muncul ketika fuzzy. inference system (FIS) muncul. Istilah inference ketika diterjemahkan artinya prediksi. Nah, munculah istilah ini pada mesin-mesin yang dengan masukan variabel-variabel tertentu dihasilkan prediksinya. Nah, saat ini jika istilah ini digunakan akibatnya jadi rancu karena istilah ini sangat umum. Kita bisa saja memprediksi kurs dolar beberapa hari ke depan, bisa saja mengatakan memprediksi nilai tertentu masuk dalam kelas apa, atau memprediksi nilai kontinyu tertentu dari fitur-fitur input. Tentu saja istilah itu seharusnya diganti berturut-turut menjadi proyeksi (forcasting), klasifikasi, dan regresi.

Klasifikasi

Klasifikasi adalah proses memasukan suatu set dalam kelas-kelas tertentu, misalnya pada model deteksi kanker, suatu set data dimasukan dalam kelas positif kanker atau negatif kanker, jika dua kelas. Jika lebih dari dua kelas, bisa saja kanker, kanker jinak, bukan kanker, pengapuran, dan lain-lain. Istilahnya dulu disebut multiclass untuk membedakan yang dua kelas. Nah, saat ini model ML hampir lebih dari dua kelas, jadi istilah multiklas sudah jarang disebut, baik dalam konten apalagi dalam judul artikel ilmiah. Untuk akurasi biasanya menggunakan matrix confusion. Sekali lagi jika diindonesiakan jadi matriks kebingungan .. bingung kan??

Regresi

Regresi mirip dengan klasifikasi, hanya saja outputnya bukan kelas tapi nilai tertentu yang biasanya bilangan real pecahan. Nah, untuk mengecek akurasinya tentu saja tidak bisa dengan matriks konfusi (saya lebih suka istilah ini daripada matriks kebingungan) karena sangat sulit nebak benar angka kontinyu yang tak hingga. Biasanya menggunakan Mean square Error (MSE).

Proyeksi

Nah ini merupakan prediksi jenis lain. Atau sebaiknya kata prediksi tidak dipakai ya karena terlalu umum. Langsung saja peramalan (projection). Salah satu syarat proyeksi adalah adanya data time-series. Misalnya prediksi harga saham maka variabel yang mempengaruhi adalah harga saham itu sendiri tapi berbeda waktunya (sequantial). Walaupun saat ini proyeksi dikombinasikan dengan regresi dengan eksternal input (dalam contoh ini selain harga saham, misalnya inflasi) yang bisa saja memengaruhi nilai proyeksi.

Object Detection, Segmentasi Semantik, Instance Segmentation

Nah istilah-istilah spesifik lainnya silahkan searching di internet baik definisi maupun paper-paper yang membahasnya. Jika object detection bermaksud mendeteksi (dengan pointer tertentu, misal kotak berwarna) kelas tertentu dalam satu gambar, segmentasi dan instan segmentasi bermaksud mengklasifikasi piksel gambar/citra/video menjadi warna tertentu yang merepresentasikan kelasnya. Misalnya segmen di video jalan raya, segmentasi semantik akan memberi warna objek tertentu, misal orang, mobil/kendaraan lain, pedesterian, rambu lalulintas dan lain-lain. Bagaimana instance segmentation? Ini merupakan tingkat yg lebih advance dari segmentasi semantik yang membedakan warna pada kelas yang berbeda, instance segmentation membedakan kelas yang sama, misalnya ada tiga ayam maka ada tiga warna untuk tiap-tiap ayam.

Klasterisasi (Clustering)

Ini sangat berbeda dengan klasifikasi dkk karena di sini data yang digunakan sebagai data training tidak memiliki label/kelas tertentu. Oiya, data training merupakan bahan baku model machine learning saat proses training untuk membuat model. Jadi jangan menggabungkan Naive bayes atau KNN dengan K-Means karena merupakan domain problem yang berbeda (yang satu klasifikasi, yang lain clustering). Tentu saja ada kombinasi problem, misalnya antara SVM yang klasifikasi dengan SVR yang regressi.

Jadi ketika menggunakan istilah-istilah itu sebaiknya dipahami dahulu agar tidak membingungkan orang lain. Contoh di atas hanya sebagian saja, silahkan selidiki problem lain misalnya optimization.

Publish Gratis Web-Based AI dengan Streamlit Share

Beberapa situs penyedia server gratis banyak tersedia, misalnya webhost [Link]. Sayangnya tidak bisa digunakan untuk AI berbasis python, hanya php dan sejenisnya (javascript). Beberapa bisa memiliki akses ke konsol untuk menginstal library python, namun ada kalanya diminta memasukan kartu kredit, walau gratis, ini cukup memberatkan.

Untungnya saat ini ada situs yang menyediakan deployment gratis berbasis python. Di sini kita bisa menjalankan AI yang berbasis Python dan diakses via website, namanya Streamlit Sharing [Link]. Urutan langkahnya adalah sebagai berikut:

1. Konversi aplikasi menjadi python (bukan ipynb).

2. Buat menjadi format Streamlit (dengan library streamlit). Tentu saja kita harus memasangnya dengan PIP biasa.

3. Mengupload aplikasi py dengan streamlit tersebut ke Github. Di sini fungsinya agar Streamlit menerima aplikasi python yang telah dibuat.

Untuk jelasnya dapat dilihat pada video youtube berikut ini. Sekian selamat mencoba dan mendeploy sendiri aplikasi python berbasis web dengan Streamlit.

Tools Programming Yang Mulai Bergeser Saat Ini

Di tahun 90-an salah satu bahasa pemrograman adalah bahasa visual basic. Karakteristik bahasa satu paket visual studio dimana compiler, tampilan dan sejenisnya tersedia full. Namun saat ini ketika pemrograman web berkembang pesat dimana satu aplikasi memanggil fungsi-fungsi lain yang tidak ada di komputer programmer membuat programmer era 90-an harus terbiasa dengan hal ini.

Jika dicari di Youtube, saat ini sedang ada pergeseran programmer dari menggunakan akses full lengkap dari bahasa pemrograman menjadi menggunakan aplikasi teks editor sederhana lalu mengujinya menggunakan komputer lain di server yang sering disebut server development. Pernah saya menjadi project manager, salah satu programmer menggunakan Mac Book dengan processor M1 yang bertipe mobile untuk membuat kode Node-JS. Bagaimana dengan Python? Tentu saja jika untuk testing, bisa menggunakan google cloud yang menginstall Jupyter notebook di server tersebut, selain tentu saja dengan Google Colab. Video ini sedikit membahas hal tersebut.

Jadi laptop tidak terbebani dengan beban seperti server testing. Itu kalau satu bahasa pemrograman, jika ada banyak repot juga.

Untuk pemrograman basis data, banyak juga yang menyediakan server gratisan, seperti berikut [Link]. Selain menyediakan domain, juga menyediakan web server untuk file-file php, html, css, dll, dan database management system dengan MySQL. Lihat video singkat ini:

Namun untuk PHP yang ada Python di dalamnya, tentu saja membutuhkan vendor lain, misalnya heroku. Jadi sepertinya laptop sedikit demi sedikit mulai bergeser karena banyaknya penyedia cloud. Menarik untuk terus memantau perkembangan ini.

Confirmatory Factor Analysis (CFA)

Model merupakan konsep yang menggambarkan kondisi real. Awalnya disebut model matematis, tetapi untuk mempersingkat biasanya disebut model saja. Ada model fisika, teknik, dan ada juga model ilmu sosial, misalnya pada faktor-faktor yang berpengaruh satu sama lain. Model yang ada biasanya merujuk pada penelitian sebelumnya, jadi kita tidak diperbolehkan asal membuat model tanpa ada rujukan. Misalnya pada postingan ini model yang mengecek apakah faktor-faktor pelayanan, kepuasan dan loyalitas saling berpengaruh.

Banyak tools yang dapat digunakan, misalnya LISREL dan AMOS. LISREL merupakan model yang telah lama dikenal, sementara AMOS merupakan tool baru yang kini menjadi bagian dari IBM yang sudah terlebih dahulu terkenal dengan SPSS. Postingan yang lalu telah dibahas model analisis Jalur [Link], nah kali ini kita coba untuk Confirmatory Factor Analysis. Silahkan lihat tayangan berikut yang mengilusrasikan secara singkat CFA dengan AMOS graphic.

Mengetahui Ringkasan Video Youtube dengan Cepat

Saat ini nonton youtube terkadang lebih mudah dibanding membaca. Tapi bagi pembaca yang terbiasa membaca terkadang menonton bisa menghabiskan waktu beberapa menit hingga beberapa jam. Tentu saja ini sangat membosankan jika diminta mencari ringkasannya. Namun, saat ini perkembangan Artificial Intelligence (AI) sudah dapat mempermudah pekerjaan kita. Postingan ini bermaksud memperkenalkan Anda bagaimana cara cepat mengetahui isi video tanpa perlu menonton full link video youtube, misalnya:

Langkah pertama adalah membuka video tersebut, dilanjutkan dengan menekan view transcript di bagian bawah video tersebut. Setelah tombol ditekan maka transkript akan muncul di bawah. Berikutnya tinggal Anda kopi dan paste saja di sembarang text editor.

Anda bisa membacanya atau dengan menanyakan ChatGPT apa ringkasan atau isi dari transkrip tersebut dengan prompt> rangkum, tulisan ini tentang apa: < paste naskahnya>. Anda akan menerima jawaban yang lengkap. Selamat mencoba.

Sinergi Teknik Informatika dan Sistem Informasi

Teknik Informatika/Ilmu Komputer dengan Sistem Informasi saling bersinergi. Ketika pertama kali merancang device layar sentuh, Apple pada mulanya divisi Teknik Informatika, dengan programmer-programmernya, membuat tablet terlebih dahulu. Ketika sudah selesai, bekerjalah orang Sistem Informasi. Hasil survey ternyata mengejutkan, user banyak yang menginginkan device yang segenggam tangan ukurannya dan mudah dibawa-bawa. Melihat hasil tersebut, segera Apple bekerja cepat membuat device yang lebih kecil dikenal dengan nama Iphone. Hasilnya, sesuai dengan riset, ternyata laku keras.

Sulit dikatakan mana yang lebih penting TI atau SI. Ketika saya di Bank, lulusan SI kebanyakan mengutak-atik schedulling, project analisis, termasuk kebutuhan personel, dan sebagainya. Tentu saja jika dilihat dari salary, melebihi lulusan TI. Namun, tentu saja kebutuhannya pun tidak sebanyak orang TI, waktu itu sekitar 1: 10an.

Beberapa tools sangat diperlukan untuk analisis survey, sebagai contoh video singkat ini yang menggunakan AMOS untuk analisis jalur (path analysis)

Konversi Web App ke Mobile App Kilat – MIT App Inventor

Aplikasi Web masih menjadi sentral aplikasi-aplikasi yang ada karena kelebihan-kelebihannya. Jika aplikasi desktop terkendala dengan aksi-aksi pembajakan, mirip game-game era 90-an, maka game-game saat ini mulai dari mobile legend, free fire, pubg, dan lain-lain yang mengharuskan koneksi internet, pembajakan sulit dilakukan. Source code akan aman karena berada di server, berbeda dengan game offline yang bisa digunakan tanpa diketahui sudah berapa kali diinstall.

Android studio masih menjadi andalan utama para pengembang aplikasi mobile. Beberapa mahasiswa mengeluh berat-nya aplikasi pembuat mobile app tersebut, maklum budget mahasiswa terbatas. Sementara lab terkadang karena banyaknya aplikasi-aplikasi yang terinstall untuk praktikum, lambat ketika dijalankan.

Saat ini, beberapa tools sudah dapat digunakan tanpa perlu menginstall misalnya dengan library Buildozer di Python [link] maupun tools online, misalnya MIT App Inventor [link]. Video singkat ini menggambarkan hanya kurang dari 2 menit, konversi ke Apk berhasil dibuat.

Diagram UML Terintegrasi dengan Enterprise Architect

Akhir tahun merupakan tanggal dimana laporan proyek harus diserahkan. Jika laporan proyek tidak selesai, pinalti siap menanti. Sepertinya sudah biasa, programer yang jago coding, tetap saja ketika diminta menyelesaikan laporan mengenai sistem yang dibuatnya, kalang kabut juga. Mungkin efek dari kebiasaan saat kuliah dulu. Fokus ke coding atau buat alat, tapi kurang fokus ke laporan. Padahal laporan sangat penting, terkait dengan dokumen spesifikasi program. Perlu diketahui, apapun model pengembangan sistem, tetap harus ada pengembangan dari versi pertama lanjut kedua dan seterusnya.

Untungnya saat ini banyak tools untuk mempermudah membuat laporan, khususnya terkait diagram, baik objek (UML) maupun proses (DFD), hingga database (ERD). Tools tersebut ada yang sekedar gambar, seperti Visio, tapi ada juga yang bisa dilanjutkan ke kode, misalnya Rational Rose dari IBM. Nah, kali ini kita coba Enterprise Architect (EA) yang fokus ke pembangunan diagram yang terintegrasi. Salah satu yang powerful dari aplikasi ini adalah sangat ringan dibuka dari komputer standar (i5 ke atas prosesornya).

Bagi pembuat laporan tentu saja kemudahan dalam copas dari model ke laporan word. Nah, EA tidak perlu mengekspor, cukup dengan blok dan copas ke ms word, sangat praktis. Hasilnya pun lengkap, dan yang terpenting, satu file project dapat dibuat menjadi modul-modul yang terintegrasi seperti membuka file pada explorer. Berikut video singkat bagaimana membuat salah satu diagram terkenal UML, activity diagram. Diagram ini versi lebih praktis dari flowchart yang agak ribet dalam percabangan/decision.

Membuat Aplikasi Android untuk Mengakses Web

Aplikasi web dibuat guna mengatasi keterbatasan aplikasi desktop yang harus terlebih dahulu menginstal program. Dulu waktu kerja di bank, ketika satu komputer teller rusak, saya diminta menggantikan dengan komputer yang baru, setelah instal sistem operasi dilanjutkan dengan instal aplikasi Branch Teller (BT) [link]. Prosedurnya cukup rumit, mendaftarkan IP computer ke local server terlebih dahulu, dan lain-lain. Tidak lama kemudian, muncul aplikasi baru berbasis Web, tinggal menyediakan komputer yang berisi sistem operasi, daftarkan sertifikat ke local server, komputer siap pakai, tanpa menginstal terlebih dahulu.

Waktu itu handphone masih motorola, nokia, dan sejenisnya, bahkan blackberry pun waktu itu masih dipakai oleh Obama saja. Kemunculan Smartphone, yang dipelopori oleh Samsung dan Iphone menuntut akses aplikasi via mobile. Ketika sebelumnya harus membuka komputer, menjalankan browser dan mengakses url tujuan, dirasa sangat lambat dan kurang praktis. Muncullan aplikasi berbasis android (APK) yang memudahkan pengguna menjalankan aplikasi.

Ada aplikasi yang murni berjalan di smartphone ketika diinstal, ada yang harus login atau terhubung ke server. Nah, kebanyakan saat ini aplikasi terhubung ke server, dimana proses berjalan di server bukan di client. Kelemahan ketika berjalan di client adalah aplikasi dapat dibajak, padahal beberapa aplikasi, membutuhkan iklan. Jika diinstal di client, mirip aplikasi windows jaman dulu (*.exe atau *.com) tentu saja iklan tidak berjalan karena aplikasi bisa dijalankan offline.

Untuk membuat aplikasi mobile, banyak software yang mendukung pemrograman mobile. Kebanyakan harus menginstal terlebih dahulu, misalnya Android Studio. Nah, saat ini aplikasi yang bisa membuat apk tanpa harus menginstall softwarenya karena online, yakni MIT App Inventor [link]. Jika Anda hanya mengkoneksikan Web, cara tercepat adalah dengan me-mobile-kan browser. Berikut video tutorialnya.

Hosting Website Gratis

Jika dilihat dari tren framework web dari Google [link] maka dapat dilihat, untuk Indonesia, bahasa PHP masih banyak peminatnya, sementara untuk dunia, Python yang mendominasi.

PHP masih banyak digunakan sebagai bahasa pemrograman web. Banyak vendor hosting server cloud menggunakan bahasa ini, salah satunya adalah webhost [link]. Karena gratis, maka sangat cocok untuk mahasiswa mempublish website rancangannya.

Untuk program studi yang tidak memiliki fasilitas server bisa menggunakan webhost. Kode dapat diakses dari manapun, tidak mengandalkan server lokal yang biasanya menggunakan XAMPP dan sejenisnya.

Untuk ilustrasi, silahkan lihat video berikut yang menghasilkan aplikasi berbasis web.

Membuat HTML yang Mengakses Google Sheet via API

Untuk database yang tidak memerlukan banyak relasi biasanya penggunaan Google Sheet sudah cukup memadai. Dengan men-sharing Sheet yang dibuat, data bisa diakses oleh pengguna lain sehingga mudah dalam pengelolaannya. Jika selama ini sharing memerlukan akses membuka Google Sheet, banyak masalah muncul akibat penggunaannya yang tidak ‘user friendly’, misalnya ada kolom atau cell tertentu yang terhapus, dan masalah lainnya. Oleh karena itu postingan kali ini kita menggunakan aplikasi web (HTML + Javascript) untuk mengakses data Google Sheet.

1. Membuat Tabel

Misal kita akan membuat tabel harga satuan barang untuk keperluan bangunan seperti semen, pasir, dan lain-lain. Buka Google Sheet [link]. Buat tabel baru dengan nama misalnya barang. Buat dua kolom dengan dengan nama kolom: Nama dan Harga.

Selanjutnya adalah membagi (share) dengan setingan full access (anyone with link + sebagai editor). Agar bisa melakukan proses input ke tabel tersebut.

Salin link tersebut agar bisa diakses oleh orang lain. Di sini kita perlu membuat Application Programming Interface (API) sebagai penghubung data dengan program lain.

2. Membuat API

Dengan API maka program yang dibuat tidak perlu mensinkronkan program dengan platform database yang digunakan, misal MySQL, Oracle, SQL Server, dan lain-lain. Asalkan API tersedia maka program tidak perlu menggunakan driver untuk terkoneksi dengan basis data tersebut. Untuk mudahnya, gunakan saja Sheet.Best [link].

Setelah menekan START FREE login dengan Google Anda, lalu buat koneksi baru. Isi link Google Sheet yang sebelumnya sudah dishare full access. Isi field-field yang dibutuhkan, seperti Identification dan Connection URL.

Tunggu beberapa saat hingga proses koneksi selesai. Untuk melihat link API yang baru saja dibuat, tekan DETAILS di bagian bawah CONNECTION.

Selamat, kita telah berhasil membuat API dari Google Sheet. Link teredia tinggal menekan Copy di samping link API. Untuk mengujinya, paste saja di browser, dan pastikan JSON muncul.

3. Mengakses API via HTML

Pada dasarnya ada 2 jenis akses web, yaitu Server Side dimana kode ada di server seperti PHP, Dotnet, Flask, Django, dan client side, misalnya Javascript. Tentu saja kalau data penting, perlu login dan akses diletakan di server (server side) ketika beroperasi. Di sini karena hanya fokus mempermudah penginputan kita menggunakan Client-Side dengan Javascript. Jadi tidak diperlukan server, asalkan tim/pengguna memiliki file HTML, aplikasi dapat dijalankan.

Silahkan gunakan bantuan dari situs-situs yang memberikan edukasi pembuatan HTML [link], atau bisa menggunakan ChatGPT [link]. Untuk chatGPT gunakan saja prompt awal: ‘buatkan kode html menampilkan tabel dengan judul kolom Nama dan Harga’. Jika sudah muncul jawaban, gunakan prompt kedua ‘isikan tabel dari data API: <isi url API>’.

Lanjutkan dengan prompt ketiga: ‘tambahkan di bagian atas tabel isian/form input Nama dan Harga barang yang datanya isiannya dikirim ke API: <link API>.

Jika ingin hasil yang lebih cantik juga tabel terupdate otomatis ketika tombol tambah produk ditekan, tambahkan prompt keempat: ‘buat tabel otomatis terupdate ketika tombol tambah produk ditekan dan percantik dengan CSS’. Hingga dihasilkan sebagai berikut.