E-Reader: Kindle vs Android-Reader

Membaca merupakan aktivitas yang paling dibutuhkan kita semua, terutama pelajar dan mahasiswa. Saat ini sebagian besar bacaan kita dalam bentuk elektronik seperti medsos, email, WA, dan notifikasi lain di smartphone. Walaupun membaca, tentu saja jika membaca di smartphone atau laptop terkadang bisa juga dibilang bukan membaca, dalam artian membaca mendalam seperti membaca buku teks, novel, dan sejenisnya yang ratusan bahkan ribuan halaman, baik di perpustakaan maupun beli buku di toko buku.

Saat ini sudah marak beredar Portable Document Format (PDF) yang merekam buku dalam format elektronik. Selain itu tersedia pula e-reader untuk membacanya, baik berbasis e-ink maupun Liquid Crystal Display (LCD).

Dari laptop, smartphone, hingga table memberikan sensasi yang baik untuk membaca. Namun ada satu permasalahan penting yaitu karakteristik LCD yang memancarkan sinar ke arah mata, walaupun sudah tipe terkini, misalnya AMOLED. Anda seperti memandang sebuah lampu, tentu saja akan melelahkan walaupun saat ini ada fasilitas untuk menghilangkan sinar biru yang berbahaya.

Terus terang, hampir jarang saya membaca satu full buku lewat laptop maupun tablet. Kalau untuk satu atau dua paper jurnal mungkin bisa, dengan diselingi dengan break untuk beberapa menit. Ternyata mata memiliki screen time. Silahkan baca gangguan-gangguannya di [link].

E-Reader

Sekarang kita masuk ke E-Reader yang menggunakan teknologi e-ink. Teknologi ini bermaksud meniru cetakan kertas dengan tinta elektronik berupa elektron yang menempel di dinding screen. Ketika menempel, setelah daya dihilangkan, elektron tetap menempel seperti tinta pada kertas. Jadi, tanpa daya dan sinar dari alat kita dapat membaca print elektronik tersebut. Tentu saja seperti buku kita perlu sinar juga dari lampu, matahari, dan sejenisnya yang tidak mengarah langsung ke mata (hanya memantulkan). Ada juga fasilitas lampu ketika baca di kegelapan, tetapi lampu yang ada pada e-reader hanya menerangi cetakan elektronik saja. Berikut review saya di awal-awal penggunaan e-reader [link].

Kindle

Merk kindle terkenal karena bekerja sama dengan induknya yaitu Amazon yang menyediakan beragam buku elektronik. Aplikasi ini memiliki format sendiri yaitu MOBI, AZW, AZW3. Selain itu dapat juga membaca format lain seperti PDF dan EPUB (disediakan fasilitas untuk konversi).

Versinya cukup banyak, dari yang murah (biasanya tanpa pena) hingga yang mahal (disertai pena). Saya sendiri menggunakan versi menengah tanpa pena tetapi anti air dan sinar layar otomatis. Berikut ini ringkasan kesan selama beberapa bulan menggunakannya.

Plus: ringan, cepat, baterai tahan hampir satu bulan, handal (jarang crash). Minus: tidak ada text reflow untuk baca pdf, tidak ada suara, tidak bisa baca e-perpusnas, e-gramedia, novel (fizzo, dll).

Android-Based E-Reader

Jenis lain adalah versi e-reader dengan sistem operasi android. Tentu saja tidak semua aplikasi seperti game berat nyaman digunakan di alat ini. Namun untuk yang tidak perlu grafis tinggi dapat dijalankan seperti browser, email, dan sejenisnya. Sepertinya alat ini perlahan namun pasti menyalip pendahulunya, kindle. Saya sendiri memiliki alat ini merk meebook yang merupakan versi yang lebih murah dari merk terkenal onyx. Namun dengan harga yang hampir setengahnya memiliki fasilitas seperti pena stylus, sd card tambahan, casing, anti gores dan lain-lain. Berikut ringkasan setelah beberapa bulan penggunaan.

Plus: bisa beragam aplikasi, bisa email, wa, dan aplikasi lain di playstore, , ada suara (stel musik), dan ada piliha speed prosesornya. Minus: baterai yang cepat habis, agak berat, layar perlu diset kecerahannya. Harga lebih mahal dari kindle utk kemampuan yg sama.

Kesimpulan

Nah, untuk Anda yang ingin membeli e-reader, berikut rekomendasi saya. Jika Anda mengatakan e-reader itu ga berguna, ga kayak HP, tablet, dan sejenisnya. Atau tidak bisa main PubG, Mobile Legend, dan sejenisnya, tentu saja tidak sesuai dengan pembahasan kita semula.

Tadinya saya agak kecewa dengan kindle yang hanya bisa membaca buku dengan teks saja seperti novel dan buku lain yang dibeli di Amazon. Kalaupun baca PDF agak sulit karena harus di zoom mengingat device yang kecil. Tetapi setelah lihat di forum, ada aplikasi seperti k2pdfopt yang dipakai untuk merubah PDF standar menjadi format yang disesuaikan dengan ukuran e-reader disertai dengan aplikasi lain yang membuat table of content atau bookmark ternyata ok juga dipakai. Oiya, tentu saja bukan pdf hasil scanner. Dan yang saya surprise adalah saya hampir lupa kapan terakhir ‘ngecas’. Tiap lihat berapa % baterainya hampir selalu di atas 70%. Kindle saya yang walaupun disertai charger tanpa kabel nyaris tidak dipakai fasilitas itu, alias pake charger usb-c biasa saja. Saran saya jika Anda hanya ingin punya satu device saja, belilah kindle dengan pena stylus untuk kepraktisan pengganti buku catatan di rapat, kuliah, dan lain-lain. Jika hanya baca novel, kindle pilihan utama. Bahkan kindle saya yang 6.8 inch ternyata kegedean, harusnya beli yang 6 inch saja, bisa dimasukan ke celana (untuk cowok).

Untuk Anda yang tidak hanya baca buku teks, disarankan menggunakan e-reader berbasis Android. Karena di sini disertai dengan text reflow yang secara langsung mengkonversi pdf asli menjadi bentuk ukuran font yang sesuai dengan e-reader, tanpa mengkonversi dahulu lewat k2pdfopt. Walaupun kindle memiliki tools untuk konversi pdf ke MOBI sesuai ukuran e-reader ternyata untuk persamaan matematis, tabel, dan sejenisnya masih berantakan. Lihat teknik konversi EPUB ke MOBI [link]. Apalagi jika Anda ingin membaca novel online atau buku-buku dari perpustakaan (e-pusnas), google book, dan lain-lain. Tentu saja disarankan membeli dengan pena stylus. Agar praktis mencatat meeting atau kuliah. Ukuran pun sebaiknya di atas 7 inch agar mudah menulisnya. Anda jangan jengkel kalau seperti HP, e-reader ini perlu dicas. Tapi sebaiknya matikan saja wifi, bluetooth, dan atur sinar agar hemat baterai.

Tapi kalau Anda ingin punya keduanya, lebih baik lagi, seperti saya, Android untuk meeting dan Kindle untuk bacaan saat bepergian (mobile). Sekian, semoga bermanfaat.

Waktu Bagaikan Pedang

“Kamu tahu beasiswa yang di atas 40 tahun?”, kata rekan saat santai ngobrol sambil menikmati kopi. Karena lama tidak baca berita tentang beasiswa, tentu saja saya kaget, ternyata Lembaga Pengelola Dana Pendidikan (LPDP) mensyaratkan max 40 tahun. Dulu, di tahun 2013 ketika masih ditangani oleh Beasiswa Pendidikan Pascasarjana Luar Negeri (BPPLN) maksimal berusia 47 tahun, yang beberapa bulan sebelumnya 50 tahun. Sementara yang dalam negeri (BPPDN) maksimal 50 tahun. Dari undang-undang MENPAN sih 42 tahun. Tapi yang jelas di atas 40 tahun masih boleh.

Beberapa rekan saya yang dari awal memang ‘super’ karena lulusan perguruan tinggi ternama di Indonesia (masuk 10 besar), bahkan ada yang dari luar negeri, entah mengapa sepertinya terlena untuk melaksanakan studi lanjut ke S3. Keasyikan menjabat merupakan faktor utama, disamping keasyikan lainnya. Padahal waktu itu mereka belum menikah, alias belum ada hambatan untuk belajar lagi.

Dihapusnya BPPLN memang merupakan bencana terbesar bagi mereka yang menunda studi lanjut, karena penggantinya, LPDP mengharuskan penerima beasiswa anak-anak muda. Memang kalau dilihat di kondisi real, kebijakan tersebut ada benarnya. Ketika saya berangkat, beberapa rekan ‘penghalang’ sebagian besar dosen-dosen senior yang lebih tua usianya. Namun ketika sampai di kampus tujuan dan mulai kuliah, saya seperti Pak RT .. alias paling tua. Untungnya perawakan Indonesia terlihat lebih muda dari usia sesungguhnya, dibanding rekan-rekan asia timur yang wajahnya ‘boros’ .. alias lebih muda dari wajah yang terlihat.

Apa boleh buat, sebagian lanjut dengan mengandalkan biaya sendiri yang kian tahun biayanya bertambah. Dalam waktu 5 tahun saja, biaya S3 di kampus swasta ternama di Jakarta, biayanya hampir naik dua kali lipat. Memang ada stok untuk beasiswa tapi ya itu tadi, maks 40 tahun. Termasuk rekan-rekan saya saya mulai kesulitan karena kampus hanya memberi beasiswa per fakultas satu/dua orang saja. Ditambah ketidakpercayaan akibat 1 orang DO dan satunya lagi meninggal karena COVID. Tentu saja pelajaran berharga bagi kita agar tidak menghalangi rekan kita yang diberi kesempatan untuk maju.

Studi lanjut dengan tanpa mempertimbangkan secara matang pun bisa berbahaya, salah satunya adalah linearitas. Ada satu prinsip dasar yang dijelaskan oleh rekan yang juga kakak kelas saya yang profesor. Beliau menggunakan prinsip susu kopi. Misalnya jika S2 komputer dan risetnya komputer, kita anggap komputer sebagai kopi. Maka untuk menjadi guru besar dia harus menjadikan kopi sebagai bahan utama, misalnya kopi panas, kopi lathe, atau kopi susu. Jika dia lanjut di bidang non-komputer, misalnya pendidikan, maka dengan S2 komputer dan S3 pendidikan, maka tidak bisa dikatakan kopi sebagai bahan utama, karena yang dilihat S3 maka masuk kategori susu kopi. Jika ingin jadi profesor, maka seluruh riset harus berbasis susu, bukan kopi. Padahal riset-riset sebelumnya adalah kopi (komputer). Yang jelas di akreditasi, jika prodi yang akan diakreditasi adalah jurusan kopi, maka yang dapat nilai hanya kopi murni atau kopi susu, sementara susu kopi tidak ada nilai di akreditasi. Tapi jika Anda hobi belajar dan tujuannya menuntut ilmu, itu tidak bisa disalahkan.

Sekali lagi, untuk dosen-dosen muda, mengingat ketertinggalan kita dengan negara lain yang jumlah doktoralnya lebih banyak, sebaiknya segera berangkat. Di sini kata berangkat berarti studi lanjut di luar negeri, karena ada hal-hal tertentu di luar pendidikan/ilmu yang dapat dibawa pulang untuk kemajuan bangsa. Atau kalau mau di dalam negeri pun ok. Sekian, semoga menginspirasi.

Bersama Pa John, pewawancara DIKTI, saat acara reuni penerima beasiswa DIKTI (sekarang DIKBUD)

Pendidikan Tinggi Kita

Bulan Juli-Agustus merupakan bulan sibuk bagi orang tua yang anaknya akan melanjutkan ke bangku kuliah. Dimulai dari UTBK hingga ujian mandiri ditempuh calon mahasiswa agar mendapatkan pendidikan yang baik sebelum terjun ke masyarakat. Menteri pendidikan dan kebudayaan pun terus mengupayakan bagaimana cara meningkatkan kualitas pendidikan di tanah air. Deddy Corbuzier pun turut mengkritiknya.

Jikalau fokus pendidikan hanya menyediakan tenaga kerja, ada benarnya video tersebut. Tapi jika mengikuti saran tokoh pendidikan Indonesia, Ki Hajar Dewantara, ada banyak aspek pendidikan selain mensuplai tenaga kerja. Ada banyak prinsipnya, misalnya kemandirian, kebangsaan, inklusivitas, dan lain-lain yang bisa Anda googling sendiri.

Inklusivitas

Ketika mengajar AI, ada bab tentang etika AI, salah satunya adalah AI untuk semua. Konsepnya mengadopsi bidang lain karena AI merupakan bidang baru. Di sini baik AI maupun pendidikan tidak jauh berbeda dari sisi inklusivitas. Memang semua terkait, tidak hanya dilihat dari satu sisi. Misalnya sebuah perusahaan ketika merekrut pekerja hanya mengandalkan kepandaian, kecerdasan, keterampilan dan sejenisnya dapat dipastikan akan menerima pegawai dari kampus-kampus tertentu yang terkadang dari orang-orang yang mampu secara finansial. Misalnya Google atau industri IT membuka kampus yang kemungkinan tidak semua masyarakat bisa memasukinya berarti hanya mengambil orang-orang tertentu yang mampu saja.

Jadi kalau dari ujung (pengguna lulusan) sudah seperti itu, yang mungkin karena mereka butuh bersaing, sudah dipastikan ke bawah ujung-ujungnya anak-anak yang mampu saja dengan akses pendidikan yang baik. Lain cerita ketika perusahaan mencari pegawai untuk bersama-sama makmur, dengan keyakinan setiap orang punya hak yang sama memperoleh kehidupan layak, perlu diusahakan mendidik secara ‘gratis’ pegawainya di organisasinya.

Repotnya, saat ini dengan kampus negeri yang kian dituntut sebagai badan hukum, usaha mendapatkan dana perlu ditempuh. Kembali lagi keluarga yang mampu sudah pasti memiliki akses yang lebih baik, kecuali memang anak orang tak mampu yang sangat super, yang kadang terjadi ketika diterima tidak mampu bayar uang registrasi. Kapasitas kursi pun kian menyusut, berbeda dengan jaman saya dulu (era 90-an) yang murah meriah.

Indonesia Emas 2045

Salah satu visi jangka panjang adalah di tahun 2045 pendidikan kita unggul. Jika dihitung dari saat tulisan ini dibuat berarti butuh 22 tahun. Jika pemimpin di masa itu yang ideal adalah usian 45-50 tahun, maka generasi yang berusia 20 sampai 30 akan memimpin besok. Jadi, bukan SD, SMP, dan SMA, yang mendesak adalah mahasiswa. Tentu saja tidak mengecilkan arti pendidikan dasar dan menengah, tapi yang urgen adalah memang usia mahasiswa, karena jumlahnya di tahun itu adalah yang terbanyak (dibanding manula dan balita/remaja). Tanpa adanya usaha, mereka yang harusnya jadi tenaga pendorong, bisa jadi beban.

Jika Anda percaya 100% video di atas, maka Anda menyerahkan pimpinan ke generasi yang belajar otodidak, lewat apapun, tanpa perlu kuliah. Kalau pun itu berhasil, ibarat judi/gambling, karena tanpa adanya usaha/treatment resiko sangat besar. Manusia yang beragam seolah dikerucutkan jadi sejenis, misalnya extrovert saja, yang jago ngomong, buat podcast, stand up comedy, dan hiburan lainnya. Ada sepertiga hingga setengah dari total manusia adalah introvert (menurut buku Quite karya Susan) yang lebih tekun, detil, dan tidak menyukai keramaian.

Jangankan level dunia, di Asia Tenggara saja, misalnya dosen IT di Indonesia yang doktor IT hanya 4%, jauh dibandingkan Malaysia yang 90-an%. Kampus swasta, apalagi level menengah, saat ini kebanyakan mengalami kesulitan. Memang ‘menutup’ jurusan/prodi lebih mudah dari ‘membuka’-nya dengan ijin yang ketat. Jika memang dianggap salah kampus itu sendiri, jangan salahkan juga jika dosen-dosen yang berkualitas mengajar/bekerja di luar negeri. Semoga tulisan menjelang peringatan hari kemerdekaan ini bisa menginspirasi.

Membuat ChatGPT Sendiri

Tidak dapat dipungkiri bahwa ChatGPT membuat warna baru dalam persaingan Artificial Intelligence App di dunia. Dalam hitungan hari penggunanya sudah menyaingi beberapa situs-situs ternama. Hal ini karena fleksibilitasnya yang cukup memanjakan pengguna dibanding hanya sekedar search engine saja seperti Google, Bing, dan kawan-kawan.

Namun salah satu keterbatasannya adalah informasi terkait kondisi terkini atau kondisi spesifik tertentu, misalnya menanyakan informasi khusus seperti nama Anda sendiri. Biasanya jawabannya seperti ini:


Ok, jangan tersinggung, memang aplikasi ini tidak ditujukan sebagai search engine. Generative Pre-trained Transformer (GPT) sendiri merupakan model transformer yang cukup ampuh dalam mengelola Natural Language Processing (NLP). Ternyata Google mencoba mengembangkan Bidirectional Encoder Representations from Transformers (BERT) yang tidak kalah hebat.

Beberapa situs di internet banyak yang mengajarkan bagaimana membuat ChatBOT ala ChatGPT. Salah satunya adalah Github ini. Untuk mempraktikannya cukup dengan Google Colab. Misalnya saya menggunakan data Nilai Mata Kuliah Artificial Intelligence berupa tabel CSV.

Dengan memanfaatkan pretrained model dari HuggingFace yang lumayan juga ukurannya, hampir setengah Gigabyte.

Di sini kita akan membuat sistem Chat yang dapat menginfokan data.csv yang telah digunakan untuk transfer learning. Oiya, transfer learning adalah melatih model dengan data baru dari model yang sudah terlatih sebelumnya. Beberapa bobot dibekukan (freeze) agar info yang dahulu dapat dipakai lagi, sementara data baru menggunakan bobot yang biasanya diujung untuk belajar hal baru.

Tampak paramater yang dapat dilatih contoh di atas adalah 500an Mb sementara yang dibekukan 60-an juta parameter. Bagaimana penggunaannya? Sederhana saja, mirip ChatGPT. Jika kita ingin mencari informasi nilai dari tabel tersebut kita tinggal bertanya saja.

Yang tadinya model tidak bisa menjawab informasi tersebut (silahkan tanya ChatGPT, pasti jawabannya seperti gambar sebelumnya), sekarang bisa menjawab. Hal terpenting adalah model transformers dapat mengetahui susunan kata yang berbeda. Tinggal model tersebut diimplementasikan pada Web maupun mobile app.

Jadi jika kita akan membuat sistem ChatBOT yang menjawab masalah jadwal perkuliahan, prosedur pendaftaran dan lain-lain, alangkah baiknya menggunakan aplikasi ini. Saya pernah ditegur oleh bagian pusat layanan informasi/pusat informasi karena dianggap tidak men-share informasi dari rektorat ke jurusan yang saya pimpin (padahal sih udah), akibat mahasiswa yang kerap chat ke layanan informasi dan mengganggu waktu istirahatnya, karena sebagai manusia biasa butuh istirahat. Waktu pandemi COVID-19 memang mahasiswa butuh informasi tertentu terkait kuliahnya. Alangkah baiknya hal-hal yang kadang pertanyaannya ‘itu-itu saja’ bisa diganti dengan AI. Sekian, semoga bisa menginspirasi.

ArcGIS problem: suddenly disappears when clicked to open

Windows is an operating system that is constantly updated. Various features are continuously being renewed. However, sometimes this causes existing applications/software to no longer work, including the well-known GIS software: ArcMap.

It’s very frustrating when it was working just fine yesterday, but now it doesn’t work anymore, especially when there’s an ongoing project. The trouble is, even after reinstalling, the problem still persists.

ESRI’s website provides a solution by adjusting the Firewall settings. This is likely because when Windows updates, security is enhanced, especially on the Firewall side. As a result, server-based applications, such as the License Manager, may no longer function due to being blocked.

Simply open Firewall on Windows by typing ‘Firewall’ in the search bar. Choose the icon with a wall symbol. Next, just select ‘advanced’ setting.

Simply open Firewalls on Windows by typing ‘Firewall’ in the search bar. Choose the icon with a wall symbol. Next, just select ‘advanced’ settings.

Just click ‘Next’ to continue the setup, select the programs that require permission to access, for ArcGIS/ArcMap, it would be ArcMap.exe, lmgrd.exe, and LSadmin.exe. Name the firewall rule the same as the program names. Once done, your problem should be resolved.

If you look at the inbound rules, make sure that all three required applications for ArcGIS have their status set to ‘Enable’ and ‘Allow’. That’s it, I hope this helps to resolve this frustrating issue.

Membuat File EPub

Selama ini kita mengenal Pdf, Docx, dan file yang digunakan untuk mengelola dokumen atau dikenal dengan nama word processing, berbeda dengan Excel yang spreedsheet. Jika Anda penggemar Ebook, baik yang beli dari Kindle Amazon atau download dari internet, terkadang menemukan file ebook ber-ekstensi Epub, singkatan dari Elecronic Publication.

Ada banyak software free untuk membuat atau mengelola file EPub, antara lain Calibre, Kindle Create, dan lain-lain. Mungkin Anda masih suka membaca file Pdf, tidak ada salahnya mencoba membaca lewat e-reader dengan format EPub yang dengan Kindle secara otomatis dikonversi menjadi MOBI atau AZW.

1. Calibre

Aplikasi ini merupakan konverter dari docx atau pdf menjadi file EPub atau MOBI. Selain itu aplikasi ini bisa menyimpan langsung ke piranti kindle dengan cara menghubungkan via kabel USB to USB C laptop/komputer.

Dengan Calibre, aplikasi yang kita tambahkan Cover akan muncul secara cantik di pustaka Kindle cover tersebut (bukan hanya nama pustaka). Hanya saja aplikasi ini hanya converter, jadi jika ada format tertentu yang sedikit ‘mleset’ kita tidak dapat merubahnya.

Setelah disave, file EPub bisa juga kita upload lewat aplikasi send to kindle. Secara otomatis, akan dikonversi menjadi file Kindle (MOBI/EZW).

2. Kindle Create

Berbeda dengan Calibre yang hanya mengkonversi Pdf atau Docx ke EPub, Kindle Create bisa menjadi alat seperti MSWord, yakni mengetik buku elektronik selain hanya alat untuk konverter. Software ini pun free untuk didownload.

Mungkin salah satu kelemahannya adalah file yang akan dikonversi harus doc atau docx. Tentu saja hal ini karena fungsinya adalah untuk mengetik tulisan baru. Silahkan explore sendiri fasilitas-fasilitas yang ada, termasuk melihat tampilannya di Kindle.

Oiya, kenapa perlu e-reader? Silahkan lihat post yang lalu, cocok untuk yang gila membaca dan sayang dengan mata Anda.

Agustus .. Bulan Kemerdekaan

Satu hal yang pasti ada di bulan Agustus adalah umbul-umbul yang didominasi warna warni dan bendera merah putih, pertanda mulai dimeriahkannya tujuh belasan. Acara yang menjadi ritual di Indonesia, dari perlombaan, makan-makan, konser rakyat, hingga pembagian hadiah, khususnya panjat pinang.

Terlepas dari itu semua, ada baiknya kita membaca buku tentang perjuangan kemerdekaan bangsa kita, khususnya dari tokoh-tokoh pendiri bangsa. Karena orde baru yang sangat anti orde lama yang kebetulan bung Karno saat itu pemimpinnya, mau tidak mau peran bung Karno agak diredam. Buku-buku nya sangat jarang beredar. Membacanya pun sedikit hati-hati dan diam-diam.

Namun di Era Gus Dur dan Megawati, mulailah bacaan-bacaan karya bung Karno bebas beredar. Ternyata tulisan-tulisannya membuat kita bisa merasakan suasana era ketika beliau menulis itu. Biasanya berupa tulisan singkat, famplet yang diedarkan, berita di surat kabar, surat ke rekan sesama pejuang, hingga memang tulisan khusus tertentu yang akan dibuat menjadi buku. Selain di era sebelum merdeka yang kebanyakan di jilid 1 buku dibawah bendera revolusi (waktu itu memang dibawah ditulis ‘di’ menyambung dengan ‘bawah’), jilid 2 didominasi ketika Sukarno menjadi presiden dan dalam perang kemerdekaan. Saya memiliki buku asli jilid 1 warisan dari bapak saya yang ‘marhaen’, dan sudah saya baca hingga tuntas. Jilid 2 baru saya baca dan lebih ‘mengerikan’ lagi sikap Belanda. Maklum, negara pimpinan ratu Wilhelmina itu sedang ‘lapar-laparnya’ akibat penderitaan perang dunia 2, ditambah statusnya yang sebagai pemenang perang, membuat sedikit arogan.

Jika pada jilid 1 sebagian besar berisi pujian kepada pejuang-pejuang yang sama-sama bahu membahu seperti bung Hatta, Rasuna Said (yang ternyata seorang perempuan), dan lain-lain, pada jilid 2, bung Karno harus melawan serangan dari bangsa sendiri selain Belanda yang mencoba menjajah kembali, yang beliau sebut pemakan bangkai saudara, penjual bangsa, dan sebagainya. Maklum, kondisi sedikit berbeda dengan era sebelum perang dunia 2, penjajahan Jepang sangat membuat rakyat tidak berkutik, apalagi embargo Belanda yang bahkan sempat mem-bom kapal bantuan ke Indonesia, yang disebutnya ‘tidak sengaja’. Bahkan saking marahnya beliau mewanti-wanti jangan jadi bangsa kambing yang hanya mengembik saja.

Beberapa perjanjian yang pernah kita pelajari di buku sejarah ternyata hanya kulitnya saja, misalnya bagaimana perjanjian Linggar Jati ternyata ketika ditanda-tangani oleh kita, ternyata hanya ‘diparaf’ oleh wakil Belanda sehingga perlu tanda tangan resmi lagi di negeri kincir angin tersebut, setelah rapat di dewan sana. Uniknya, Indonesia sempat mengirim bantuan pangan ke India yang di tahun ’46 mengalami kelaparan.

Dulu saya pernah berfikir, bangsa kita adalah bangsa yang pemaaf. Dijajah portugis, spanyol, inggris dan belanda tapi tetap bersahabat baik saat ini seolah-olah tidak pernah ada pertikaian sebelumnya. Tapi sepertinya karena kita mungkin melupakan pesan bung Karno: “jangan sekali-kali melupakan sejarah”. Ya, sejarah yang ditutup-tutupi plus mungkin budaya membaca dan critical thinking kita yang perlu diasah menjadi penyebab hal itu. Oke, jika kita memaafkan mereka, tetapi dengan membaca sejarah, kita jadi lebih menghargai generasi lampau yang dengan susah payah, luka dan bisa, hingga nyawa taruhannya, kepada pahlawan bangsa. Semoga di tujuh belas agustus ini, ditambah menjelang tahun politik, kian merapatkan persaudaraan dan persatuan Bangsa kita.

e-book Reader

Ketika berangkat kuliah saya pernah beli tablet Android yang lumayan keren, disertai pena stylus. Saat kuliah pun praktis tidak perlu membawa buku catatan yang berat. Selain mencatat bisa juga memotret tulisan di papan tulis. Salah satu yang tidak nyaman adalah dari sisi kesehatan mata, yang tidak bisa berlama-lama karena radiasi, terutama sinar biru, sehingga mata butuh limit untuk recovery, alias screen time. Bayangkan bagaimana perihnya mata ketika membaca ratusan halaman. Kalau cuma satu atau beberapa paper/artikel ilmiah sih tidak masalah tapi untuk yang buku, terasa juga di mata. Buku kertas saja sudah bikin mata ‘pegal’ apalagi buku elektronik/ebook.

Seperti biasa selepas ujian akhir saya pulang ke Indonesia. Di pesawat saya lihat bule cowok dengan kaos oblong antri masuk pesawat langganan, Air Asia. Sambil menunggu masuk terlihat dia membaca di alat mirip tablet yang berukuran lebih kecil dari tablet tetapi lebih besar dari handphone. Sepertinya beratnya tidak lebih berat dari smartphone. Yang uniknya, ketika dilihat ternyata seperti kertas buku. Waktu itu saya fikir mungkin itu hanya teknologi display yang menyerupak kertas dan tetap saja radiasinya berbahaya bagi mata.

E-Ink

Setelah lulus baru sadar ada teknologi yang saat ini sudah bebas Paten, yaitu E-Ink. Disebut bebas paten karena setelah paten sekitar tahun 95an berarti sekarang perusahaan bebas memakai paten yang sudah free tersebut. Berbagai vendor sudah berusaha memproduksi dengan teknik-teknik dan fasilitas baru yang memanjakan konsumen. Salah satunya adalah e-reader Android. Dahulu e-reader memang alat bantu Amazon untuk membaca e-book dengan produknya bernama Kindle. Namun, kelemahannya adalah tidak bisa membaca selain Amazon, seperti Gramedia Digital, i-pusnas, dan lain-lain.

Tadinya saya fikir ini merupakan versi sehat dari tablet dengan sinar yang ramah dengan mata. Tapi ternyata istilah e-ink adalah tinta yang berupa elektron statis di layar. Silahkan lihat video youtube ini jika ingin tahu prinsip kerjanya. Dalam kondisi tanpa daya pun tetap terlihat karena memang seperti tinta.

Selain bebas dari gangguan seperti notifikasi WA, email, dan godaan main game, membaca dengan e-reader mirip dengan membaca buku kertas. Bahkan seperti membawa perpustakaan di tangan. Karena prinsipnya seperti printing, tentu saja ada delay ketika refresh. Jangan harap bisa dipakai untuk main game, nonton film, dan sejenisnya.

Battery Life

Alat ini dibuat semirip mungkin dengan buku kertas, yaitu tidak terlalu membutuhkan daya/charge. Kindle yang saya miliki bisa seminggu baru dicharge jika dibaca terus. Kalau dibaca hanya untuk waktu luang tertentu saja bisa sampai sebulan. Kalau tablet karena ada OS yang memang bukan hanya untuk baca saja perlu membawa charger. Sangat merepotkan untuk orang yang suka bepergian. Saat ini untuk versi yang berwarna masih lumayan mahal, kira-kira dua kali lipat lebih mahal.

Untuk plus minus antara Kindle dan e-Reader Android (seperti gambar di atas) perlu pembahasan lebih lanjut. Tapi yang jelas, jika Anda tidak terlalu sering membaca maka membeli e-reader tentu saja mubazir, seperti banyak youtuber yang mengecam alat ini, yang membandingkan dengan tablet karena tidak bisa untuk ‘macem-macem’. Tapi untuk yang gila baca, silahkan dicoba ..

Krisis Doktor

Terkejut juga ketika mendengar rekan seperjuangan saya S3 di Thailand dikabarkan meninggal dunia. Masih muda, ketua program studi, usia tiga tahun di bawah saya. Yang sedang S3 pun tidak kalah beritanya, banyak juga yang telah pergi mendahului. Berita yang kian membuat para dosen-dosen baik junior maupun senior berfikir beberapa kali untuk lanjut kuliah ke jenjang tertinggi. Sebagai informasi, dari situs resmi pemerintah menunjukan dosen berpendidikan S3 masih seperempat dari dosen berpendidikan tertinggi S2.

Untuk berbicara di level dunia memang sangat sulit, bahkan di asia tenggara pun kita kalah dengan tetangga dekat (Lihat). Dibanding AS yang memiliki 9.850 per 1 juta orang, kita hanya 143 orang doktor/1 juta orang. Ok, lupakan semua itu, yang penting adalah bagaimana membuat semangat dosen-dosen muda kita kan.

1. Anggap saja Doktoral Main-Main

Sambil mendengarkan suara burung perkutut, sore itu seperti biasa saya nongkrong di warung kopi langganan para mahasiswa di tempat saya kuliah. Waktu ujian memang kurang menyenangkan karena wajah-wajah para mahasiswa tidak seperti biasanya. Wajah yang tegang, cemas, pasrah, dan sebagainya membuat kita ikut juga tertular. Termasuk rekan-rekan mahasiswa dari Indonesia. Namun beberapa ada juga yang santai, tidak terpengaruh hal tersebut.

Acara minum kopi merupakan sarana kumpul dan berbincang dengan teman seperjuangan. Terkadang solusi ditemukan saat itu, bukan saat duduk serius di meja belajar kamar. Bahkan solusi yang ‘strategis’ dan ‘illogical’ bisa muncul, yang bisa men-cut atau mem-bypass jalan menuju lulus. Nah, rekan saya merupakan mahasiswa jurusan mekatronika yang menurut saya cukup sulit, mengingat eksperimen membutuhkan alat-alat yang harus dibeli. Tidak seperti saya, eksperimen hanya menggunakan laptop subsidi kampus. Iseng saya bertanya, ‘sebenarnya yang dicari mahasiswa doktoral apa ya?’. Di luar dugaan, dia hanya menjawab riset S3 itu hanya main-main. Di sini main-main maksudnya adalah tidak serius. Jadi, jangan berfikir luaran S3 adalah paten, atau bahkan nobel prize. Walaupun kalau bisa ya hebat banget. Mirip pesan DIKTI ketika melepas para mahasiswa bahwa dana bagi negara kita sangat penting, jadi fokus saja lulus secepat mungkin. Bahkan beberapa referensi mengatakan bahwa disertasi kita seharusnya merupakan ‘tulisan terburuk’ kita. So, tulisan kita setelah lulus harus lebih baik lagi. Dan alasan berikut ini juga mendukung ‘main-main’ itu.

2. Paper Tidak bisa untuk naik Pangkat

Ini sedikit di luar nalar. Salah satu syarat lektor kepala ternyata paper yang bukan bagian dari disertasi. Banyak lulusan S3 yang sudah ‘kelelahan’ mengerjakan laporan dengan hasil paper ilmiah, ketika mau naik pangkat ditolak syarat khususnya karena bagian dari disertasi. Repot juga. Jadi info ini sangat mendukung point 1 di atas, alias ngapain serius banget kalau ujung-ujungnya harus riset yang 75% berbeda dari disertasi atau riset saat kuliah S3 dulu. Tapi, untungnya paper yang jadi syarat naik pangkat (syarat khusus) boleh jurnal nasional Sinta 2, tidak harus terindeks Scopus atau bereputasi, tentu saja khusus dosen yang sudah doktoral.

Kita sudah berbeda jaman dengan pendahulu-pendahulu kita, seperti di film Oppenheimer di jamannya mahasiswa doktoral adalah ‘ultimate’ ilmuwan yang bisa mendobrak jaman. Lanjut ke generasi berikutnya, jika Anda mengenal bahasa Rubi and Rails, itu merupakan karya disertasi mahasiswa S3, termasuk juga database no-sql ‘mongo-db’.

3. Santai

Berbeda dengan jaman dulu, justru saat ini mahasiswa tidak bisa santai padahal hiburan makin banyak, baik para ekstrovert, maupun introvert seperti saya tersedia juga hiburan. Orang jaman dulu mungkin hanya mengandalkan merokok sambil ngopi. Bahkan kabarnya mahasiswa di era 90-an yang kuliah di Thailand nonton McGyver di TV sambil mendengarkan radio karena di TV di dubbing bahasa Thailand, sementara bahasa Inggrisnya dari radio .. hehe. Ya, memang resikonya saya sudah beberapa teman kuliah dari negara lain mengatakan saya malas, tapi ya tetap santai, toh saya lulus duluan ujung-ujungnya.

Menghitung Jumlah Parameter Pada Model Deep Learning

Ilmu terus berkembang dengan cepat, khususnya bidang computer science, bidang yang dulunya di bawah elektronika dan MIPA matematika. Beberapa organisasi, misalnya IEEE yang merupakan organisasi electrical and electronic engineering masih memasukan ilmu komputer dalam wilayah kerjanya. Istilah-istilah baru yang tidak ada pada bidang induknya membuat computer science terpaksa memisahkan diri dari teknik elektronika maupun MIPA. Pada postingan ini kita akan membahas satu istilah penting dalam Deep Neural Network atau dengan nama lain Deep Learning, yaitu istilah parameter.

Sebenarnya ada istilah lain yaitu fitur (feature) yang kalau dalam matematika bisa disebut variabel. Atau kalau bidang basis data dikenal dengan nama field yang merupakan kolom dalam database terstruktur. Mengapa parameter dalam ilmu komputer unik? Hal ini terjadi karena parameter yang kalau dalam matematika biasanya sudah konstan/fixed, pada ilmu komputer malah justru hal tersebut yang akan dimanipulasi/dikomputasi.

Bayangkan saja sebuah garis pemisah y = m*x + c misalnya, di sini m merupakan gradien dan c merupakan konstanta. Tugas classifier adalah membuat garis pemisah y yang tepat memisahkan sekelompok data, dengan cara mencari nilai m dan c yang optimal agar garis tersebut berada di antara dua kelas, misalnya kelas + dan -. Di sini m dan c merupakan parameter yang harus dicari agar persamaan tersebut optimal memisahkan. Dalam neural network, m dan c adalah bobot dan bias. Nah, bagaimana dengan fitur X? Nah, untuk ilmu komputer, ternyata fitur itu tidak sekedar variabel yang fix. Misalnya sebuah citra 32 x 32 akan memiliki fitur sebanyak 32 x 32 = 1024, yang kemudian diolah oleh neural network dengan beberapa layernya. Namun dengan konvolusi, misalnya pada jaringan Convolutional Neural Network (CNN) dengan filter berukuran 3×3 sebanyak tiga buah akan menghasilkan 3 buah citra baru dengan besar yang tidak jauh berbeda dari sebelumnya tetapi memiliki jumlah fitur yang makin banyak, unik juga bukan.

Seberapa besarkan jumlah fitur yang ada pada jaringan terkini, misalnya U-Net, network deep learning yang biasa digunakan sebagai semantic segmentation model. Oke, di sini kita coba dengan Matlab, model U-Net tersebut kita panggil.

Kemudian dengan memasukan script sederhana berikut ini akan diperoleh jumlah parameternya:

  • lgraph = layerGraph(net);
  • output = lgraph.Layers(end).Name;
  • prob = lgraph.Layers(end-1).Name;
  • lgraph = removeLayers(lgraph,output);
  • lgraph = removeLayers(lgraph,prob);
  • dlnet = dlnetwork(lgraph);
  • numparams = 0;
  • for i = 1:size(dlnet.Learnables,1)
  • numparams = numparams + numel(dlnet.Learnables.Value{i});
  • end
  • numparams

Sungguh di luar dugaan, ternyata parameter yang harus disetel saat proses yang dikenal dengan nama training sebesar 31-an juta parameter.

Dulu mungkin mustahil, sekarang dengan hardware yang kian canggih, khususnya dari sisi Graphic Processing Unit (GPU), sebuah laptop sederhana pun, misal i5 processor, mampu menjalankan dengan cepat proses segmentasi/klasifikasinya. Ok, semoga informasi singkat ini bisa menginspirasi.

Mengatasi Google Drive yang Penuh

Google merupakan raksasa IT yang hampir menguasai internet. Beberapa situs melaporkan Google sebagai situs nomor 1, misalnya situs similarweb.

Walaupun situs pencarinya mulai terancam dengan searching berbasis AI, misalnya ChatGPT, fasilitas lainnya tentu saja sulit ditinggalkan oleh konsumen, salah satunya adalah cloud storage, yaitu penyimpanan bernama Google Drive yang secara cuma-cuma diberikan sekitar 15 Gb.

Penyimpanan ini sangat fleksibel karena dapat mengakomodir sesorang yang sangat mobile. Hanya dengan koneksi internet, kita dapat menyimpan dan mengunduh data dari Google Drive. Tingkat keamanannya pun cukup baik mengingat Google menggunakan skema two-factors authentication (2FA). Selain itu fasilitas sharing juga sangat bermanfaat. Oiya, Anda yang menggunakan Google Colab juga sangat terbantu dengan Google Drive ini mengingat Google Colab dapat terhubung dengan Google Drive sehingga pemrosesan Big Data dapat dilakukan.

Salah satu kendala dari Google Drive adalah kapasitasnya yang terbatas, yakni 15 Gb. Sebenarnya kapasitas ini cukup besar, hanya saja karena dipergunakan setiap hari terkadang kapasitasnya mulai menipis. Beberapa siswa memiliki problem tidak bisa upload soal tugas di Google Classroom karena kapasitas Google Drive nya penuh sehingga harus ‘dibersihkan’ atau berlangganan untuk mendapatkan kapasitas di atas 15 Gb.

1. Transfer Ownership

Untuk mengatasi hal tersebut ada dua fungsi Google Colab yang dapat dimanfaatkan untuk mengatasi storage yang penuh, yaitu transfer ownership. Mengapa hal ini perlu dilakukan? Alasannya hanya satu, untuk menyelamatkan data di cloud, mengunduh sebesar puluhan giga membutuhkan kuota yang besar, disamping itu perlu menyiapkan ruang harddisk. Jadi, ada baiknya ‘menitipkan’ file ke Google Drive lain. Tentu saja dengan mendaftarkan akun baru yang sebesar 15 Gb juga.

Untuk melakukan Transfer Ownership, sebelumnya file dishare ke akun target. Misalnya Google Drive saya yang mulai menipis, padahal akun tersebut merupakan akun utama yang sudah lama dipakai. Sayang kalau tidak dipakai lagi mengingat jurnal dan korespondensi lain masih menggunakan akun tersebut.

Jika kita tekan ‘Storage (87% full)” maka akan muncul jendela yang memberitahukan file apa saja yang ukurannya besar yang memenuhi Google Drive. Misalnya kita akan mem-backup file terbesar saya.

2. Sharing File

Langkah pertama adalah men-share file tersebut ke akun backup kita. Nah, di sini untuk transfer ownership mengharuskan Gmail yang sejenis. Seperti Anda ketahui akun Gmail ada dua jenis, Gmail institusi dan Gmail.com. Jika email institusi maka Anda hanya bisa mentransfer ownership pada institusi yang sama.

Cara sharing seperti biasa, ada baiknya tidak full share, melainkan hanya mengundang email tertentu saja, lebih aman. Selanjutnya ketika sudah share, lakukan share lagi pada file tersebut tapi di sini kita melanjutkan proses transfer ownership.

Perhatikan, storage sekarang menjadi 83% full, alias bertambah 4%, lumayan. Tentu saja akun backup saya akan bertambah juga, dan lama kelamaan pun penuh. Memang ada baiknya menyimpan di harddisk backup yang saat ini harganya kian murah. Tapi resiko rusak, hilang, corrupt dan terkena virus harus siap dihadapi.

Untuk jelasnya silahkan lihat video berikut ini, terima kasih.

Mencoba Sendiri Teknologi AI Terkini

Beberapa waktu yang lalu saya menonton film berjudul mission impossible. Film ini mengisahkan suatu AI yang memiliki kecerdasan sendiri sehingga bisa berfikir sendiri. Salah satu yang bisa mengalahkannya hanya akses ke kode sumber yang terkunci oleh dua kunci yang digabungkan, yang dalam istilah bank ‘dual custody’, dipegang dua individu berbeda. Di sini kita dikenalkan dengan bahasa dan dampak AI jika tidak terawasi dengan baik.

Nah, postingan kali ini saya memberikan informasi bagaimana dengan cepat mengerjakan proyek sederhana AI, khususnya machine learning dengan proses pembelajaran dari data yang diinputkan. Dengan demikian model dapat mengetahui dan melakukan inferensi/prediksi terhadap keluaran yang harus dilakukan. Tidak perlu menginstall aplikasi apapun, karena di sini kita menggunakan dua aplikasi berbasis online yaitu: 1) teachable machine, dan 2) google colab. Yuk, kita mulai.

1. Teachable Machine

Sebelum masuk ke situs buatan Google tersebut, ada baiknya kita memahami transfer learning. Istilah ini adalah istilah belajar hal baru tanpa melupakan pengetahuan yang lama. Misalnya kita belajar integral, kita tentu saja tidak menghapus pengetahuan yang lama, misalnya diferensial atau aljabar. Jadi ilmu yang lama tetap ada.

Teachable machine menggunakan beberapa model terkenal, biasanya berbasis tensorflow, yang sudah diajarai data sebelumnya, misalnya mengenali 1000 kelas objek dari puluhan juta gambar yang memang dimiliki dengan baik oleh Google. Setelah itu kita hanya mengajari model yang sudah diajari tersebut untuk mengenali hal baru, misalnya memakai masker atau tidak.

Jika model sudah mengenali masker kita tinggal memakai engine hasil training tersebut untuk kebutuhan kita. Di sini kita untuk eksperimen menggunakan Google Colab.

2. Google Colab

Aplikasi online ini adalah aplikasi berbasis python, khususnya jupyter notebook, yang dapat diakses gratis. Selain menyediakan environment dan software programming python, situs ini juga menyediakan server disertai GPU (dulu gratis sekarang bayar). Untuk data jangan khawatir karena dengan mudah terhubung dengan Google Drive yang sudah sebagian besar orang mengenal lokasi penyimpanan cloud ini. Jadi dengan hanya terhubung ke internet, lewat browser, kita dapa membuat aplikasi AI. Tentu saja Google Colab hanya untuk testing model yang kita buat, jika sudah ok tinggal kita implementasikan di desktop, web, maupun perangkat mobile.

Untuk mempelajari Google Colab, syaratnya Anda harus menguasai dasar-dasar Python, syukur-syukur sudah menguasai Jupyter Notebook dengan instruksi-instruksi PIP yang menginstall Library. Walaupun terkadang Google Colab sudah menginstall library-library yang ada saat ini terkadang ada saja library yang tidak terpasang, bahkan dalam video berikut ini ada yang perlu diupgradi pip-nya.

Desktop-Based Artificial Intelligence

Saat ini aplikasi dengan memanfaatkan AI sudah banyak beredar. Aplikasi-aplikasi tersebut bisa berupa desktop yang dijalankan secara lokal di komputer, web dengan server web yang menjalankan AI maupun Android. Masing-masing memiliki keunggulan. Walaupun saat ini aplikasi berbasis desktop banyak ditinggalkan tetapi karena AI terkadang memerlukan sumber daya yang besar, yang saat ini sudah berupa big data, aplikasi desktop unggul dalam hal itu. Disamping itu, aplikasi berupa desktop, dengan executable application, lebih aman baik dari sisi serangan virus dari jaringan, maupun pencurian kode sumber. Postingan kali ini mengilustrasikan bagaimana proses AI dari training, hingga deployment dalam bentuk desktop application.

Currently, there are many AI applications available that can be deployed in various forms, such as desktop applications running locally on a computer, web applications with AI-powered web servers, or Android applications. Each of these forms has its advantages. Although desktop-based applications are being less favored nowadays, they excel in handling AI tasks that require significant resources, especially when dealing with big data. Furthermore, desktop applications, with their executable files, offer better security against network-based virus attacks and source code theft. This post illustrates the process of AI, starting from training to deployment in the form of a desktop application.

A. Training

Sebagai ilustrasi, di sini kita membuat AI yang memprediksi spesies bunga berdasarkan IRIS datasets yang dapat diunduh dari sini. Gunakan Visual Studio code atau editor lainnya untuk melatih model, misalnya Support Vector Machine (SVM) yang ada pada library Scikit Learn.

As an illustration, here we create an AI that predicts flower species based on the IRIS dataset, which can be downloaded from here. Use Visual Studio Code or any other editor to train the model, for example, using the Support Vector Machine (SVM) algorithm from the Scikit-Learn library.

Ketika dijalankan kode di atas akan melatih model SVC dari Iris Dataset (‘iris.csv’). Di sini penyimpanan dengan library Joblib (bisa juga dengan pickle). Tampak akurasi 100% berdasarkan data uji (20% dari datasets).

When running the above code, it will train an SVC model using the Iris Dataset (‘iris.csv’). In this case, the model is saved using the Joblib library (you can also use pickle). It appears that the accuracy is 100% based on the test data (20% of the dataset).

B. Prediction

Berikutnya adalah prediksi menggunakan GUI dari TKinter. Bisa juga dengan kivy, tapi ternyata ada masalah ketika di-compile menjadi exe. Silahkan tanya ChatGPT untuk menjalankan model hasil training (di sini diberi nama save_model.pkl).

Next is the prediction using a GUI made with Tkinter. It can also be done with Kivy, but there seems to be an issue when compiling it into an executable. Please ask ChatGPT to run the trained model (named save_model.pkl) for you.

Sebelum dikompilasi menjedi exe, terlebih dahulu cek dengan menjalankan kode tersebut, bisa dengan run – run without debugging (Ctrl F5) atau dengan terminal: python svm.py jika kode di atas disimpan dengan nama svm.py.

Before compiling it into an executable (exe) file, it is recommended to first check the code by running it. You can do this by either using “Run – Run Without Debugging” (Ctrl+F5) in your editor or by running the code in the terminal using the command “python svm.py” if the code is saved with the name “svm.py”.

Jika sudah benar (bandingkan dengan file exe iris.csv) apakah sudah sesuai jawabannya. Jika sudah kita mulai mengkompilasinya.

If the results are correct (compare them with the results from the exe file using iris.csv), then it seems to be working fine. If everything is correct, you can proceed with the compilation process.

C. Compile to Exe

Salah satu library terkenal untuk kompilasi adalah pyinstaller. Jalankan dengan mengetik:

One of the famous libraries for compilation is PyInstaller. Run the following command:

pyinstaller –onefile -w svm.py

Proses kompilasi membutuhkan waktu yang lama, sekitar 20 menit jika membutuhkan library-library tertentu, misal tensorflow, sklearn, dan lain-lain. Jika berhasil akan muncul file exe di folder dist yang terlebih dahulu dipindah di lokasi yang sama dengan model yang sudah dilatih (save_model.pkl) agar bisa dijlankan. Selamat, Anda telah berhasil membuat aplikasi desktop yang dapat dijalankan tanpa membutuhkan Python. Bandingkan, file py yang tadinya berukuran 3 Kb menjadi file exe yang berukuran 500-an Mb.

The compilation process can take a long time, around 20 minutes, especially if it requires specific libraries like TensorFlow, scikit-learn, and others. If successful, an executable file will appear in the `dist` folder. Move this file to the same location as the trained model file (`save_model.pkl`) so that it can be executed. Congratulations! You have successfully created a desktop application that can be run without requiring Python. Compare the file sizes, where the original `.py` file was around 3 KB, and the compiled `.exe` file is in the range of a few hundred MBs.

Silahkan lihat video Youtube berikut untuk lebih jelasnya. Please refer to the following YouTube video for a more detailed explanation:

Desktop-Based Python Application

Aplikasi komputer dapat berjalan lewat desktop, web, maupun mobile. Masing-masing memiliki kelemahan dan kelebihan. Postingan kali ini membahas bagaimana membuat aplikasi desktop pada Python.

Computer applications can run on desktop, web, or mobile platforms. Each platform has its own strengths and weaknesses. In this post, we will discuss how to create a desktop application using Python.

Pada dasarnya Python seperti Java, PHP, dan lain-lain merupakan interpreter, dimana untuk menjalankan suatu aplikasi dengan terlebih dahulu menginstal sejenis runtime. Untuk Python tentu saja menginstal Python terlebih dahulu, baik versi 2 maupun 3. Dan ketika menjalankan lewat instruksi di terminal:

Basically, Python, like Java, PHP, and others, is an interpreter where running an application requires installing a runtime of a similar kind. For Python, you need to install Python itself first, either version 2 or 3. When running it through instructions in the terminal:

python <nama_aplikasi>.py

Walaupun itu merupakan jenis desktop, tetapi masih memerlukan instalasi Python di dalamnya. Nah, bagaimana membuat aplikasi desktop yang berjalan tanpa requirements yang harus dipasang terlebih dahulu? Caranya adalah jika dengan platform Windows lewat executable program yang berekstensi .exe atau .com. Bagaimana caranya? Seperti postingan yang lalu, dengan library pyinstaller pada Python. Jika pada postingan tersebut kita hanya mengkonversi menjadi exe saja, kali ini kita coba membuat aplikasi berbasis GUI.

Even though it’s a desktop application, it still requires installing Python within it. Now, how can we create a desktop application that runs without any pre-installation requirements? The approach is to use an executable program with the .exe or .com extension, specifically for the Windows platform. How can we do that? Just like the previous post, we can use the PyInstaller library in Python. While in the previous post, we only converted it into an exe file, this time we’ll try to create a GUI-based application.

A. Kivy

Salah satu library pada Python untuk membuat GUI yang baik adalah Kivy. Library ini walaupun dapat dikonversi menjadi mobile lewat library buldozer ternyata bermasalah ketika menjadikannya executable (.exe). Hal ini karena kompleksitasnya, ditambah lagi sejatinya memang untuk linux.

One of the libraries in Python for creating good GUIs is Kivy. Although this library can be converted for mobile use through the Buldozer library, it turns out to have issues when making it executable (.exe). This is due to its complexity, compounded by the fact that it is primarily designed for Linux.

B. TKinter

Nah, library lain yang dapat digunakan adalah TKinter. Library ini dapat membuat GUI untuk interface aplikasi Python. Walaupun kurang lengkap dibanding Kivy yang saat ini kian terkenal, TKinter memiliki kemampuan untuk dikonversi menjadi executable program.

Well, another library that can be used is Tkinter. This library allows you to create GUIs for Python applications. Although it may be less feature-rich compared to the increasingly popular Kivy, Tkinter has the ability to be converted into an executable program.

C. Pyinstaller

Ini merupakan library yang cukup baik untuk mengkonversi .py menjadi .exe. Saingan yang lain saya coba banyak gagalnya, misalnya py2exe, dan kawan-kawannya. Untuk menggunakannya instal terlebih dahulu:

This is a quite good library for converting .py files to .exe. Other competitors that I’ve tried had many failures, such as py2exe and its counterparts. To use it, you need to install it first:

pip install pyinstaller

Jika sudah siapkan aplikasi dengan TKinter, misalnya menjumlahkan secara sederhana dua angka. Untuk gampangnya silahkan tanya saja ChatGPT untuk samplenya.

If you have already prepared the application with Tkinter, for example, a simple addition of two numbers. To make it easier, feel free to ask ChatGPT for a sample.

Berikutnya kita tinggal mengetikan pada terminal di folder yang sama dengan kode python. Misal kode Python di atas diberi nama tesgui.py.

Next, you just need to type the following command in the terminal, assuming that the Python code is saved with the name “tesgui.py” in the same folder:

pyinstaller –onefile -w gui2.py

Tergantung besar atau kecilnya file py, pyinstaller akan mengkonversi menjadi exe. Hasilnya adalah sebuah file tesgui.exe yang terletak di folder dist.

The conversion of the .py file to an .exe file by PyInstaller depends on the size of the Python file. The result will be a tesgui.exe file located in the “dist” folder.

Jalankan saja file hasil kompilasi tersebut, tinggal dobel klik saja. Hasilnya akan muncul seperti berikut ini. Sederhana bukan? Silahkan coba model yang lebih kompleks, untuk tensorflow sepertinya perlu perlakuan khusus, karena sempat saya coba tidak muncul hasil eksekusi-nya, hanya GUI saja.

Just run the compiled file by double-clicking on it. The result will appear as follows. Simple, isn’t it? Feel free to try more complex models. For TensorFlow, it may require special treatment because when I tried it, the execution results didn’t appear, only the GUI.

Editing with ChatGPT

Salah satu kelemahan yang dimiliki kebanyakan peneliti berbasis pembuatan sistem, aplikasi, dan sejenisnya adalah membuat laporan yang lengkap. Hal ini dapat dimaklumi karena mereka sudah menghabiskan banyak waktu dalam merakit/mendevelop sistem. Biasanya ada asisten yang mensuport dalam pembuatan laporan, tapi jika tidak ada, salah satu andalan adalah ChatGPT. Alat berbasis AI ini tentu saja tidak boleh langsung digunakan untuk menulis otomatis, karena beberapa plagiarism check sudah bisa mendeteksinya. Postingan ini sedikit memberi informasi manfaat apa saja.

One of the common challenges faced by researchers involved in system development, application creation, and similar fields is the task of producing comprehensive reports. This can be understood considering the significant amount of time they have invested in building and developing the systems. While there are usually assistants available to support in report writing, if they are not accessible, one reliable option is to rely on ChatGPT. However, it is important to note that this AI-based tool should not be directly used for automatic writing, as plagiarism checks are capable of detecting such attempts. This post provides some information on the benefits it offers instead.

A. Translate

Saya sudah lama mengenal translate Google, bahkan di awal-awal, sudah pernah mencoba dan sempat heran ketika mentranslate “my name is jack” menjadi “nama saya dongkrak”. Namun saat ini sudah cukup baik, hanya saja terkadang istilah yang digunakan kurang tepat. Untuk ChatGPT tinggal menambahkan “translate ke inggris:<paste kalimat>” saja. Untuk translate berikutnyat terkadang tidak perlu menulis translate sudah langsung mentranslate.

I have known Google Translate for a long time, even in the early days, I have tried it and was surprised when it translated “my name is jack” to “nama saya dongkrak”. However, it has improved now, although sometimes the terms used are not quite accurate. For ChatGPT, you just need to add “translate to English: <paste sentence>”. Sometimes, for subsequent translations, you don’t need to write “translate” as it automatically translates the text.

Selain translate, bisa juga dengan menulis “revise: <paragraf>” untuk mengecek salah ketik, tenses, dan sejenisnya.

In addition to translation, you can also use “revise: <paragraph>” to check for typos, tenses, and similar errors.

B. Inserting Text

Selain malas menulis, terkadang software developer hanya menyajikan tabel, gambar, dan sejenisnya tanpa menambahkan informasi yang terkadang perlu diketahui oleh pembaca. Misalnya rentetan tabel atau gambar seperti berikut. Biasanya jurnal tidak menyukai style ini.

Apart from being lazy to write, sometimes software developers only present tables, images, and the like without adding information that readers may need to know. For example, a series of tables or images like the following. Usually, journals do not prefer this style.

Blok saja satu tabel di atas, lalu tulisakan “Buat satu kalimat tentang ini: <paste>” pada ChatGPT. Hasilnya adalah sedikit informasi tentang tabel yang dimaksud.

Block only one table above, then write “Create a sentence about this: <paste>” on ChatGPT. The result is a brief information about the mentioned table.

Jika terlalu ‘norak’, bisa dengan mengganti “Table 4, referred to as …” menjadi nama tabel saja. Sehingga dihasilkan bentuk seperti ini.

If it’s too ‘tacky’, you can change “Table 4, referred to as …” to just table name. So it will result in a format like this.

Masih banyak fasilitas-fasilitas lain yang diberikan ChatGPT. Tentu saja, namanya tool, sebaiknya hanya sebagai alat bantu saja. Terima kasih.

There are still many other features provided by ChatGPT. Of course, as its name suggests, it’s best to use it only as a tool. Thank you.