Perkara-perkara yang Besar dalam Bidang Teknologi dan Pengaturcaraan Komputer pada Tahun 2020 dan Masa Depan

Selepas bulan Mac, rasanya ramai yang terkesan akibat daripada Covid-19. Ramai yang mungkin kehilangan kerja, gaji dipotong dan lain-lain masalah. Tapi, alhamdulillah sekarang ekonomi sedang dirancakkan balik oleh kerajaan. Sedikit demi sedikit, kita mula pulih. Saya doakan semua orang yang terkena tempias covid-19, kembali pulih ekonomi, mental dan fizikalnya.

Gaji terakhir saya pun Mac 2020. Namun, saya tak nak mengaku sebagai mangsa Covid-19, sebab saya rasa masalahnya lebih kepada ekonomi syarikat. Syarikat-syarikat teknologi, selalu ada masalah ekonomi, dan ini bukan kali pertama bagi saya. Covid-19 cuma satu agen mempercepatkan proses buang kerja berlaku.


Iklan jap: Saya sedang cari projek dan team JavaScript (NodeJs, React) untuk join sebagai freelancer

Hubungi saya:
Telegram : telegram.me/fajarhac
Twitter : twitter.com/fajarhac


Semasa PKP, dalam keadaan tidak bekerja dan tidak boleh keluar rumah, saya terfikir-fikir ke arah mana saya nak tuju dalam bidang IT ni. Teknologi berkembang dengan sangat cepat dan kita kalau nak maju, kena kejar. Tapi, kalau betul-betul nak berada di depan, kita tak boleh kejar je, kita kena berani ambil risiko cuba benda baru yang mungkin pada masa depan, benda yang kita cuba tu jadi suatu benda yang besar.

Contoh, masa saya di universiti, tahun 2010-2012, desktop 3D printer adalah antara benda yang viral masa tu. Sekarang tahun 2020, desktop 3D printer mungkin tak popular sangat kepada individu, tapi pada peringkat industri dan SME, orang mula mencari 3D printer yang boleh buat objek lagi besar, lagi cepat, dan menggunakan pelbagai jenis printing material.

Atau nak paling nampak, tengok syarikat Tesla, macam mana Elon Musk berani masuk dalam industri kereta elektrik dan solar. Sekarang ni, Tesla sangat terkedepan dalam teknologi hijau seperti solar dan kereta elektrik. Terutamanya teknologi bateri yang menjadi cara baru untuk stesen jana kuasa. Cara lama jana kuasa ialah dengan menjana kuasa lebih dari keperluan dan dihantar keseluruh tempat. Namun, dengan bateri tenaga boleh disimpan dihantar bila perlu. Kelemahan teknologi solar yang tidak menjana elektrik bila hari hujan dan kelemahan kincir angin yang tidak optimum bila angin perlahan boleh diatasi dengan bateri ini.

Orang yang mengambil risiko mencari dan melabur untuk teknologi masa depan sahaja yang akan berada di depan. Oleh sebab itu, saya tercari-cari apa benda yang saya perlu laburkan masa untuk masa depan yang lebih cerah. 2 tahun lepas, saya telah buat keputusan fokus kepada JavaScript sepenuhnya. Dan saya tak silap, sebab gaji JavaScript (ReactJS) programmer lebih tinggi berbanding programmer yang tak fokus.

Dalam artikel ini, saya senaraikan antara teknologi-teknologi yang saya yakin kita perlu mulakan dengan sekarang. Semoga boleh membantu programmer-programmer baru dan lama yang ingin maju ke depan.

Benda-benda yang besar dalam bidang Pengaturcaraan Komputer pada tahun 2020 dan masa depan terdekat

  1. Penggunaan container (Containerization)
  2. Functional programming (FP) semakin dipopularkan
  3. Satu kod untuk pelbagai platform (Cross-platform app development)
  4. Buat web, portal dan aplikasi telefon pintar tanpa belajar pengaturcaraan komputer (low-code or no-code software development)
  5. Microservice dan nyah-pelayan (serverless)
  6. Testing dalam pengaturcaraan secara segera dan selalu
  7. Menggabungkan servis pihak ketiga dalam sistem sendiri (3rd party integration)
  8. AI sebagai perkara utama dalam perisian (AI first software)
  9. Pembelajaran mesin (machine learning)
  10. Teknologi blockchain

Benda-benda besar dalam bidang Teknologi secara keseluruhan pada tahun 2020 dan masa depan terdekat

  1. Dron dan kenderaan terbang tanpa pemandu (UAV)
  2. Robot dan Cobotic (colaborative robot)
  3. Suara bot
  4. Chatbot
  5. Realiti Maya (Virtual Reality, VR)
  6. Realiti Terimbuh (Augmented Reality, AR)
  7. Kenderaan pandu sendiri (Autonomous or self-driving vehicle)
  8. Peranti pintar seperti smart home, smart bulb, smart tv dan smart fridge
  9. 5G
  10. Perkomputeran pinggir (Edge computing)
  11. Internet Benda (Internet of Things, IOT)
  12. 3D printing
  13. Roket boleh guna semula (Reusable rocket)
  14. Tenaga boleh baharu (Renewable energy)
  15. Pengubahan gen (gene editing) - CRISPR

The next big thing 2020 dalam bidang pengaturcaraan komputer

coding MasukWaktu with Thinkpad

Programmer? Terlibat dalam bidang IT dan komputer? Berikut adalah pendapat saya berkenaan benda yang BESAR dalam bidang IT dalam masa terdekat.

Saya sendiri sedang berusaha belajar benda-benda ini. Masa depan cerah jika kita melabur sekarang. Pembaca sekalian pun, seharusnya melabur masa dalam perkara-perkara di bawah.

1. Penggunaan container (containerization)

Mesti pernah dengar tentang container ataupun docker kan? Docker adalah antara container yang paling popular pada masa kini, jadi kebiasaannya kita akan dengan docker.

Pada awal-awal berkenalan dengan programming, saya menggunakan FTP untuk muatnaik fail-fail coding ke server. Kita taip code dekat komputer sendiri, kemudian muatnaik ke server. Proses ini agak lambat, dan kadang-kadang ada masalah jadi kat komputer sendiri tapi tak jadi kat server.

Zainal : Salam, aku tak leh nak run sistem ni

Kamal: Eh, kat PC aku OK je ...

Masalah, "kat komputer aku OK je" sangat menyusahkan orang-orang yang berkerja secara berkumpulan. Dengan container, kita nyatakan tetapan container (eg: Dockerfile) untuk sistem kita, kemudian, dekat mana pun sistem tu dijalankan, kita yakin ia berfungsi seperti yang diharapkan.

Sebelum container, sebahagian orang menggunakan virtual machine (VM), saya tak pernah guna VM secara serius, jadi tak tahu secara praktikalnya. Tetapi, berdasarkan teori, VM sangat makan resources. Dengan VM kita perlu tetapkan berapa banyak memori, jumlah storage (HDD, SDD) awal-awal, kemudian semua resources ini (RAM, HDD, SDD) hanya boleh digunakan oleh sistem tersebut. Kita perlu tetapkan resources optimum supaya sistem kita tak ada masalah apabila penggunaan sampai tahap tertinggi (peak), tapi pada masa biasa resourcesnya tak lah digunakan sangat. Jadi ini sesuatu pembaziran.

Saya dah lama menggunakan docker dan akan terus mendalami bab containerization ni. Sekarang, saya menggunakan docker & docker-compose untuk semua server dan web saya. Termasuk blog yang anda sedang baca sekarang ini.

Saya telah belajar guna kubernetes sebelum ini, tapi masih belum guna secara harian. Sebabnya kos permulaan dan bulanan yang agak tinggi untuk personal projek, kira-kira paling murah USD 30 per bulan, sedangkan sekarang kos bulanan lebih kurang USD 5 ~ 12.

InsyaAllah jika projek MasukWaktu dapat penaja dan Kubus dapat jana duit secukupnya, pasti saya akan guna kubernetes sepenuhnya. Kalau sudi, minta tolong promotekan 2 projek ini. 😜

Nasihat: belajar guna docker untuk production sekarang dan anda akan berbahagia bermula bulan depan dan selamanya

2. Functional programming, FP semakin dipopularkan

FP = Functional Programming atau Fakhrullah Padzil akhir-akhir ini sangat popular terutamanya dalam dunia JavaScript. 😅 Eh tak ... tak, FP = Fakhrullah Padzil tak popular pun, yang popular Functional Programming je.

Kenapa FP semakin popular? Antara sebabnya ialah unit testing. Unit testing penting untuk memberi keyakinan sistem yang dibina kurang pepijat (bug), dan FP memudahkan unit testing.

Secara ringkasnya, FP ialah penulisan kod yang berasaskan pure function, iaitu function yang tidak bergantung pada data luar kecuali diberi.

Contoh bukan FP:

function listSellingProduct () {
  console.log('Selling : ');
  for (let i = 0; i <= products.length ; i++) {
    console.log(`${i}. ${products[i]}`)
  }
}

const products = ['kambing perap','sos pencicah', 'sos marinated bbq'];

listSellingProduct();

Kod di atas diubah ke FP:

function listSellingProduct (title = 'Selling : ', products) {
  console.log(title);
  for (let i = 0; i <= products.length ; i++) {
    console.log(`${i}. ${products[i]}`)
  }
}

const productToSell = ['kambing perap','sos pencicah', 'sos marinated bbq'];

listSellingProduct(productToSell);

Pure function antara perkara asas dalam FP. Perhatikan kod di atas, bezanya, fungsi listSellingProduct dalam FP, boleh diulang guna di pelbagai tempat dengan mengubah argumen yang diberikan.

Saya suka dan cuba amalkan pure function tetapi belum lagi menggunakan Functional Programming sepenuhnya. Saya juga ada cuba belajar Haskell programming language di Happy Learn Haskell Tutorial secara perlahan-lahan, setelah setahun lebih baru di bab 18 😰.

Tapi, sekarang saya juga sedang aktif buat app guna Flutter. Pengaturcaraan semuanya berdasarakan fungsi yang semacam FP. Tapi saya tak pasti sama ada Flutter ini sepenuhnya atau tidak. Flutter juga agak menyeronokkan, apatah lagi dengan Flutter kita boleh buat app untuk iOS dan Android dengan satu kod asas. Dalam bahasa Inggerisnya: Cross-platform app development.

3. Satu kod untuk pelbagai platform (cross-platform app development)

Nak buat aplikasi untuk telefon pintar android (Samsung, Huawei dan lain-lain)? Belajar Java atau Kotlin dan guna Android Studio. Aplikasi anda berjaya? Ramai orang suka? Alhamdulillah. Tapi, ada pelanggan cakap, mereka guna iPhone. Macam mana nak buat app tu kat iPhone?

Nak buat aplikasi untuk iOS (iPhone dan iPad)? Beli Macbook dan guna XCode, belajar Swift atau Objective-C. Yup! Mesti ada komputer Apple untuk buat iOS app.

Itu cara lama dan cara yang terbaik menghasilkan app yang optimum untuk kedua-duanya, android dan iOS. Cara baru ialah dengan menulis satu kod asas dan boleh buat app untuk mana-mana platform. Cross-platform app development sebenarnya dah dicuba oleh pelbagai pihak dari dulu lagi. Tapi tak berjaya menghasilkan app yang berkualiti tinggi.

Cross Platform Software development is future

Beberapa tahun lepas, Xamarin agak yang popular untuk membuat app cross-platform. Pada tahun 2016, Xamarin telah dibeli oleh Microsoft dan sehingga kini Xamarin dimiliki oleh Microsoft. Mungkin sebab penggunaan C# (.NET) language, jadi saya tak pernah mencuba Xamarin.

Satu kod dan boleh dijalankan pada semua OS adalah idea lama. Yang paling popular membawa idea ini ialah Java. Tapi, setelah sekian lama kita dapat lihat perisian yang dibina dengan Java, walaupun boleh dijalankan dekat mana-mana OS, kualiti dan prestasinya agak mengecewakan.

Sekarang, Flutter milik Google merupakan framework yang paling popular untuk membina cross-platform. Saya berjinak-jinak sikit semasa Flutter masih dalam peringkat Beta. Tapi, saya sudah mula serius dengan Flutter, menjadikan Dart no. 2 selepas JavaScript.

Saya dalam usaha membina KubusApp, sebuah app menggabungkan aplikasi-aplikasi kuiz saya di Google Play Store. Projek Kubus ni bukan sekadar app je, suatu hari nanti saya cerita.

Nasihat: Kalau nak buat app, guna Flutter berbanding dengan Android Studio + Java

4. Buat web, portal dan aplikasi telefon pintar tanpa belajar pengaturcaraan komputer (low-code or no-code software development)

Sebelum dunia telefon pintar, laptop dan komputer menjadi kebiaasan kebanyakan orang. Pada masa tu, semua orang nak buat website. Adobe Dreamweaver adalah perisian yang membolehkan sesiapa saja buat website dengan cara tarik dan lepas (drag & drop).

Kemudian, wordpress dan blogspot (blogger) menjadi pilihan ramai untuk membina web log atau ringkasannya blog. Dengan ini, semua orang boleh buat laman web dalam bentuk blog.

Sekarang, Wix dan Squarespace antara servis untuk sesiapa saja boleh buat web dengan cantik tanpa tahu coding. Untuk buat web perniagaan (e-commerce) boleh buat guna Woocommerce (wordpress), PrestaShop, Magento dan OpenCart.

Untuk buat aplikasi pula, anda google je "build app without coding", akan keluar banyak perisian komputer dan perisian online yang percuma dan berbayar. Ramai juga yang mesej saya minta tolong apabila tersekat dengan perisian-perisian, tapi sayangnya, saya tak pernah guna jadi saya pun tak tahu.

Saya sangat suka menulis kod pengaturcaraan, jadi saya tak pernah sentuh perisian buat app dengan cara tarik & lepas ini. Permainan digital Impianku, saya buat guna LibGDX framework, iaitu buat secara tulis kod. Padahal, cara yang terbaik buat game ialah dengan menggunakan mana-mana game engine seperti Unity supaya kita tak perlu lagi koding logik dalam game seperti graviti dan pengesan sentuhan (collision detection).

Keluar topik kejap, saya berpendapat kebanyakan permainan, isinya lebih penting, seperti jalan cerita, grafik dan bunyi. Jadi, penggunaan game engine lebih baik untuk menghasilkan sebuah permainan berbanding dengan tulis kod sendiri.

Adakah ini masa depan dunia pengaturcaraan? Saya tak pasti nak cakap apa. Perisian-perisian ni dah banyak dan dah lama wujud, tapi perniagaan masih memerlukan programmer. John Sonmez, SimpleProgrammer dalam satu videonya, berpendapat dengan hadirnya perisian begini, kita sebagai progammer (web developer) perlu berubah dan menjadikan perisian ini sebagai alat bantu untuk membina web lebih cepat.

Idea yang bijak dan kemas, tapi untuk peniaga. Saya memilih dunia pengaturcaraan sebab seronok menghasilkan sesuatu produk dan lihat orang menggunakannya. Kalau tak ada orang guna pun, kita rasa puas hati sebab boleh buat. Saya percaya inilah jiwa pencipta (inventor) dan artis.

Walaubagaimanapun, tak bermakna saya menolak semua perisian yang memudahkan programmer, bahkan saya sekarang menggunakan Docker, beribu npm pakej, Ubuntu, VS Code dan banyak lagi alat bantu untuk memudahkan kerja.

Interactive App builder screenshot

Saya menolak penggunaan perisian tarik dan lepas sebab tak seronok. Selain itu, perisian tarik dan lepas boleh menjatuhkan nilai programmer. Perisian sebegini boleh menghasilkan web dan aplikasi, tetapi selalu ada had, kurang fleksibliti, rendah kualiti, susah untuk selenggara dan tidak optimum.

Tetapi, orang luar bidang komputer tidak tahu tentang ini. Mereka ingat semua orang boleh buat web. Betul, semua orang boleh buat web dan app dengan alat baru ini, tapi kualitinya rendah walaupun sekali pandang boleh tahan cantik.

Saya beri contoh ekstrim, semua orang boleh guna jarum, orang yang belajar youtube, penagih dadah, doktor haiwan dan doktor manusia. Katakan, anda perlukan ubat yang kena masuk dengan cara cucuk, agak-agak yang mana tuan-tuan pilih untuk buatkan?

Contoh lain, semua orang boleh buat rumah. Rumah setinggan guna kotak dan papan flatwood boleh je buat, murah. Tapi, bandingkan dengan rumah yang kontraktor buat.

Masalahnya orang awam tak faham, sebab mereka tak nampak apa di sebalik tabir sebuah web dan app. Kita terpaksa terangkan. Masalah bertambah bila orang-orang yang baru belajar buat web dan app dengan youtube, mula tawarkan pembangunan sistem dengan harga murah.

Saya orang yang tak pandai bisnes, jadi, pada peringkat awal saya tak berani nak jual servis pembangunan web. Tapi sekarang, saya tak jual servis dengan harga murah. Saya tahu nilai servis yang saya beri dan saya harap programmer baru dan orang luar sedar, apa yang dia dapat sesuai dengan nilai bayaran.

Jadi, jangan melenting,

"Aku bayar 5-6 ribu untuk buat app tu! Tapi, macam ni je?"

Boleh jadi, app yang awak nak buat tu sebenarnya boleh dibuat dengan baik pada harga RM 20-30k. Saya pun pernah terambil projek dengan harga yang murah dan rasa tak berbaloi nak buat. Ada sesetengah orang dia berhenti dan beri balik duit, ada orang berhenti dan ambil duit.

Ini bukan masalah individu, projek-projek besar dalam kerajaan dan swasta pun ada masalah yang sama. Kesimpulannya jangan seronok sangat, bila ada orang tawarkan lebih rendah harganya.

Saya pernah terbaca, satu komen di Google Play Store di bawah sebuah permainan Upin Ipin, katanya:

game untuk kana-kanak pun kena bayar, ... (kata-kata kesat)

Di Google Play Store, kita tak boleh balas komen. Kalau boleh, ini jawapan saya:

Pergi kedai, ambil gula-gula untuk kanak-kanak, jangan bayar, pastu kutuk tuan kedai, gula-gula untuk kanak-kanak pun kena bayar !?

Saya rasa sangat marah bila orang ramai anggap web dan app perlu diberi percuma atau dengan harga murah. Sekalipun menggunakan segala peralatan yang memudahkan proses membina web dan app, kemahiran, masa untuk dapat kemahiran dan masa untuk buat adalah berharga. Walaupun tidak dapat ditunjukkan dalam bentuk sijil, ijazah, master dan lain-lain.

Namun, suatu hari nanti, pembangunan web dan app, akan membuang manusia dalam prosesnya, sebagaimana kilang-kilang menggantikan manusia dengan robot. Kita programmer perlu bersedia. Guna teknologi untuk membantu, timbang tara mana yang boleh membantu kita tanpa hilangkan kualiti dan rendahkan nilai sebagai jurutera.

Nasihat: walaupun kita tak suka, teknologi sentiasa akan membuang manusia dari cara lama, kita kena sentiasa ikut perkembangan dan bersedia menerima dunia baru. Menjadi tugas kita juga untuk faham dan pandai memahamkan orang lain, susah payah sebenar programmer dan kita tak murah.

5. Microservice dan nyah-pelayan (serverless)

Laravel, Django, Meteor dan lain-lain framework yang popular kesemuanya adalah monolitic sistem. Dengan kod pada satu tempat, semua ciri ada di situ. Kalau nak cari kerja, framework ini biasanya ditulis dalam senarai kemahiran perlu ada.

Akhir-akhir ini, kebanyakan syarikat yang besar mula berpindah ke seni bina servis mikro (microservice architecture). Sebabnya ialah untuk menghasilkan suatu sistem yang prestasi bertahap tinggi dan satu kod asas yang minimal untuk satu-satu tujuan.

Dengan monolitik, semua ada dalam satu tempat, pengurusan pengguna, pengurusan data A, pengurusan data B dan emel sistem. Ini menjadikan satu kod itu sangat besar dan mengambil masa yang lama untuk mengajar orang baru memahami keseluruhan sistem.

Tapi, dengan servis mikro, programmer baru lebih cepat untuk memahami kod yang kecil dan terfokus untuk satu benda sahaja. Kolaborasi antara programmer juga lebih mudah.

microservice vs monolith

Saya pernah berkerja dengan kumpulan yang menggunakan reka bentuk servis mikro ni sekali sahaja. Pada masa itu, kami gagal. Saya rasa masalahnya ialah pada kurangnya pengalaman. Kerana ini adalah kali pertama ketua kumpulan ini, menggunakan seni bina servis mikro dan kurangnya kemahiran ahli kumpulan. Selain daripada masalah pengurusan syarikat dengan pelanggan dan kewangan syarikat. Paling teruk ialah masalah kewangan syarikat, menyebabkan pekerja tidak dapat gaji berbulan-bulan, lalu saya membuat keputusan berhenti.

Saya suka reka bentuk servis mikro, tapi seni bina ini memerlukan pekerja yang berkemahiran dan mencukupi, paling kurang 5-6 orang mungkin.

Berbeza dengan nyah-pelayan (serverless). Bayangkan reka bentuk servis mikro tetapi, kita tak perlu jaga pelayan, tak perlu fikir reka bentuknya. Kita cuma tulis kod yang terima data dan hantar keputusannya.

Juga diberi nama Fungsi Sebagai Servis (Function As A Service, FAAS). Ada orang membezakan FAAS dengan nyah-pelayan, bezanya dengan FAAS kita masih perlu jaga pelayan sendiri.

Saya suka kedua-duanya, servis mikro dan nyah-pelayan. Tetapi, saya tak punya kumpulan yang besar untuk seni bina servis mikro, jadi saya mungkin akan lebih fokus kepada nyah-pelayan. Masalah nyah-pelayan ialah kebergantungan kepada provider. Saya sedang skodeng OpenFaas tapi macam yang saya cakap sebelum ini, kos bulanan untuk kubernetes agak mahal berbanding dengan apa yang saya gunakan sekarang.

Sekiranya pembaca sekalian suka penulisan dan produk saya, bolehlah tolong saya dapatkan penaja untuk produk-produk saya, supaya saya boleh menggunakan teknologi terkini. Justera, memperbaiki produk yang sedia dan membina lebih banyak produk baru. Duit adalah kekangan yang saya perlu atasi sekarang ini.

Nasihat: Belajar dan cuba bermain dengan serverless seperti AWS Lambda dan Google Cloud Functions. Jika berada dalam syarikat yang menggunakan servis mikro, cuba fahami seni binanya sampai boleh cerita kat orang, bukan setakat buat kerja makan gaji pastu balik tidur sahaja.

6. Testing dalam pengaturcaraan secara segera dan selalu

Setelah container mula digunakan secara meluas, testing segera dan selalu dimasukkan ke dalam proses pembangunan sistem. Semua testing adalah segera dan dijalankan secara automatik. Apabila kod baru siap, kod akan dihantar ke kod repositori (spt: github, gitlab) dan di situ sistem akan dijalankan di dalam container di server. Semuanya berlaku secara automatik selepas kod dihantar ke kod repo.

Testing segera dan selalu memberi keyakinan kepada pemilik, fungsi baru yang ditambah tidak merosakkan fungsi-fungsi lama sistem mereka. Perkara ini juga memberi keyakinan kepada programmer untuk menulis kod baru yang tidak merosakkan bahagian-bahagian terdahulu.

Saya suka proses ini, dan saya rasa ia perlu dimasukkan dalam proses pembangunan sistem. Walabagaimanapun, hal ini menambah lagi kerja dalam penghasilan sesebuah web dan app. Oleh itu, saya yang belum pernah berkerja dengan kumpulan besar bersama dengan tester yang coder, tak ada pengalaman sangat untuk cakap banyak. Tester untuk syarikat sebelum ini dilakukan secara manual.

Apa-apa kerja sekalipun, hasil yang boleh nampak lebih penting daripada apa yang dibelakangnya. Tapi, kena ingat apa yang kita abaikan pada permulaan akan datang balik menyusahkan kita suatu hari nanti. Hal ini, disebut sebagai hutang teknikal (technical debt). Hutang akan sentiasa membebankan dan akan tiba masa, nak taknak kita kena bayar. Boleh jadi dapat panggilan pukul 2 pagi atau terpaksa kerja hari Ahad. Lebih teruk, pelanggan lari.

Nasihat: tengok-tengok sikit pasal testing. Tahu apa itu piramid testing. Saya sendiri pernah guna testing library Mocha dan Pupeteer.

7. Menggabungkan servis pihak ketiga dalam sistem sendiri (3d Party integration)

Dunia sekarang semua nak cepat. Kita kena cepat. Jadi, daripada buat sendiri, kita guna apa orang lain dah buat. Tak mungkin programmer sekarang buat sendiri semua benda. Kebanyakan kita pasti mengguna kod sumber terbuka dan perisian sumber terbuka.

Tapi, masa hadapan, kita akan lebih banyak perlu guna servis orang lain pula. Semasa buat MasukWaktu, saya mencari-cari cara nak dapatkan waktu solat. Alhamdulillah saya jumpa Solat Jakim API (Unoficial), jadi saya tak perlu scrap data dari JAKIM dan buat API sendiri.

MasukWaktu menggunakan waktu solat API dari luar

Penggunaan Google API seperti Google Map juga paling cepat jika aplikasi memerlukan peta. Seorang individu tak mungkin dapat menghasilkan sistem peta setanding dengan Google Map. Sebuah syarikat yang ramai programmer pun tak perlu bazirkan duit menghasilkan sistem peta yang baru jika itu cuma sebahagian kecil daripada keseluruhan web dan app mereka.

Nasihat: Belajar guna API luar, sebab kemahiran menggunakan API luar membezakan programmer junior dan senior. Guna API luar boleh menjimatkan duit syarikat.

8. AI sebagai perkara utama dalam perisian (AI first software)

Saya serahkan kepada Dagogo Altraide dari Coldfusion untuk terangkan bagaimana TikTok boleh berjaya kerana membina AI sebagai perkara pertama pada perisiannya.

Jika anda selalu menggunakan Lazada macam saya, anda akan sentiasa mendapat notifikasi yang bertepatan dengan kehendak. Saya rasa Lazada cuba meniru Amazon dengan sentiasa menjadikan AI untuk menilik kesukaan penggunanya, lalu menjerat pelanggan untuk membeli dengan cara turun harga dan lain-lain.

Saya setuju dengan hal ini, dan berniat menjadikan KubusApp sebagai AI first software. Tapi, tengoklah nanti macam mana, sebab semakin banyak benda yang nak dibuat, semakin tinggi kosnya. Sama ada kos masa atau duit. Kadang kala, duit boleh membeli masa.

Saya sukakan AI dan saya juga menterjemah 2 artikel menerangkan tentang AI dengan mudah.

Kepintaran buatan (artifial inteligence) atau AI digunakan secara meluas untuk semua benda. Secara ringkas, AI membawa maksud mesin (komputer) yang boleh membuat kerja-kerja kita manusia dengan bijak.

Contoh, bila kita beri araham bungkus hadiah kahwin untuk kawan aku ni, dia secara automatik bergerak ambil pembalut, bungkus, kemudian tulis kad selamat pengantin baru, siap dengan pantun ada nama kedua-dua pengantin.

Manakala, pembelajaran mesin (machine learning) pula adalah salah satu cara untuk menghasilkan mesin yang bijak (AI).

9. Pembelajaran mesin (machine learning, ML)

Suapkan data yang banyak dan mesin (komputer) akan cari corak yang terbaik. Berdasarkan corak tersebut, mesin akan menjawab soalan anda. AlphaGo adalah ML yang dibina untuk main Go dan akhirnya berjaya kalahkan manusia.

Nak lebih faham, baca artikel penerangan AI yang nyatakan di atas.

Dalam pengaturcaraan biasa, kita yang buat arahan, jika begini maka begitu. Berbeza dengan ML, yang mengambil data yang banyak menganalis dan kemudiannya membina peraturan tanpa kita faham macam mana peraturannya, tetapi boleh menghasilkan keputusan yang agak cemerlang.

Sebab itu, Elon Musk dan Stephen Hawking beri amaran pasal AI. Akhir-akhir kini, kita mula nampak bagaimana ML menghasilkan keputusan yang sentiasa bias. Bias ini berlaku kerana data yang dimasukkan.

Contoh yang betul-betul terjadi ialah ML yang merendahkan peluang orang kulit hitam di Amerika untuk dapat kerja.

Mungkin benar secara puratanya, orang kulit hitam menimbulkan banyak masalah di Amerika. Faktor seperti ini sepatutnya dibuang sebagai faktor-faktor memilih pekerja. Jelas sekali ini faktor yang sangat bias. ML menganalisa data dan menghasilkan peraturan yang kita tak tahu, jadi jelaslah ML sekarang belum cukup AI.

Di atas saya dah beritahu, ML cuma salah satu cara untuk mencapai AI. ML pula masih besar. Dalam ML ada Vision Learning, Natural Language Processiong (NLP) dan lain-lain.

Semestinya pembelajaran mesin, ML adalah sangat penting di masa hadapan. Cuma saya tak berapa suka dalam keadaan sekarang Python merupakan bahasa utama untuk belajar ML kerana ekosistemnya yang besar. JavaScript bukan bahasa yang sesuai untuk pengiraan matematik kerana budaya dinamik type yang menyebabkan ia tak boleh menggunakan CPU semaksima yang mungkin.

Saya suka untuk menggunakan Rust dan Golang untuk ML, tetapi sayangnya tiada yang dapat menandingi Python dalam ML ekosistem buat masa sekarang dan mungkin sehingga 5 tahun mendatang.

Paling kurang pun saya berharap, Javascript (nodejs) wrapper digunakan untuk pakej ML. Maknanya, dalam JavaScript pakej, ada binary daripada C, C++ atau Rust yang tinggi prestasi, tetapi API nya boleh diakses dengan Javascript, boleh digunakan di pelayan (server) dan di pelayar (browser).

Nak taknak, nampak gayanya, kita masih kena belajar Python untuk ML. Jangan lupa point nombor 7, iaitu menggunakan API pihak ketiga. Google ada banyak servis untuk ML, Amazon pun tak ketinggalan dengan AWS Machine Learning Services dan Microsoft dengan Azure Machine Learning.

Saya pernah cuba ketiga-tiga cloud ini, saya mendapati, Azure UI agak kompleks, AWS agak serabut dan harga yang merisaukan. Sebab itu, Google Cloud menjadi pilihan saya.

Saya tak berminat untuk mendalami Python, walaupun saya dulu bermula dengan C++ dan Python. Jadi, selagi JavaScript atau Golang tak mencapai prestasi terbaik untuk ML, saya cuma akan gunakan servis daripada 3 syarikat besar ini.

Nasihat: AI dan ML adalah masa depan dunia pengaturcaraan.

10. Teknologi blockchain

matawang cripto

Kita selalu dengar bitcoin. Saya percaya bitcoin akan jadi besar pada masa akan datang, tapi, yang lebih penting ialah teknologi di belakangnya.

Iaitu blockchain. Blockchain menjanjikan satu sistem yang selamat daripada dihack, telus kerana data yang dapat dilihat oleh orang ramai dan menjaga privasi.

Saya sendiri pun sebenarnya masih keliru dengan teknologi blockchain. Saya cuba terangkan tentang bitcoin, supaya kita boleh nampak aplikasi teknologi blockchain.

Kenapa bitcoin popular di dark web, dark net dan penjenayah? Sebabnya segala segala proses pertukaran duit, tidak dapat dijejak siapa pemiliknya dan dekat mana transaksi berlaku. Privasi.

Teknologi blockchain selamat daripada dihack sebab setiap transaksi baru dirantaikan dengan data yang sebelumnya. Jadi, apabila rantai tu dah panjang melampau, nak hack blockchain agak mustahil.

Telus sebab semua transaksi data bitcoin, sesiapa pun boleh nampak dan data yang teragih (distributed) oleh ramai orang menyebabkan tak de orang yang boleh kawal dan ubah ikut suka mereka.

Kalau data semua orang boleh nampak tak privasi lah? Transaksi bitcoin dapat dilihat, tapi siapa orang dibelakangnya kita tak dapat tahu. Kita cuma tahu bitcoin bertukar tangan sahaja.

Selain daripada pihak bank, teknologi blockchain ini juga sedang dikaji untuk kegunaan data kesihatan (hospital), undang-undang dan untuk kegunaan kerajaan kerana ketelusannya.

Saya tak suka bitcoin tapi saya suka janji teknologi blockchain dalam bab ketelusan. Dalam sistem sekarang, untuk menjaga ketelusan data, terutamanya bank, semua data baru tidak diubah tetapi ditambah rekod perubahannya.

Contoh, biasanya bila kita ubah nama profil kita di website tertentu, data bahagian nama itu akan berubah. Maknanya data dekat database dah berubah. Kalau kita nak tukar balik ke nama lama, tak dapat. Jarang sangat web yang ada fungsi undo.

Tapi, dekat bank, tak boleh buat macam tu. Semua proses beri duit, tak boleh setakat tukar jumlah data tu je. Kena tambah rekod transaksi daripada berapa RM jadi berapa RM. Katakan lepas 2-3 hari, sekiranya transaksi gagal, nilai duit berubah balik macam asal. Macam fungsi undo.

Dengan blockchain, sistem memang paksa cara macam bank ni. Tak boleh ubah data yang lepas. Ketelusan data.

Namun, saya tak rasa nak labur masa dalam blockchain lagi. Saya suka tapi tak berminat sangat. Saya lebih nak ke AI.

Nasihat saya, sesetengah mungkin berminat dalam teknologi blockchain dan matawang cripto, boleh lah mendalaminya. Sebab masa depan orang yang pandai blockchain sangat cerah.

The next big thing 2020 dalam bidang teknologi

Di atas saya cerita benda yang besar dalam dunia pengaturcaraan. Sekarang, saya akan bincangkan beberapa benda yang akan menjadi gah dalam teknologi keseluruhan.

Perkara-perkara di bawah secara langsung atau tak langsung akan berkait dengan programming juga. Jadi, sebagai programmer, tak elok ketinggalan zaman.

1. Dron dan kenderaan terbang tanpa pemandu (UAV)

Pada awal-awal populariti dron, ramai orang mencuba dron terutamanya untuk tujuan pergambaran. Gambar yang diambil dari langit memang sangat lawa. Jika dulu, untuk dapatkan gambar sebegitu perlu gunakan helikopter, sebab kos dron sangat murah berbanding helikopter, dron mula popular.

Disebabkan populariti dron, kerajaan diseluruh dunia terpaksa membuat undang-undang untuk menghalang penggunaan ruangan udara sewenang-wenangnya. Di Malaysia, penggunaan dron di Putrajaya adalah dilarang sama sekali.

Syarikat jualan atas talian, Amazon mula mengkaji dan mencuba penghantaran barang menggunakan dron. Teknologi dron mula dipertingkatkan untuk bergerak lebih laju dan membawa barang yang lebih besar.

Saya pernah cuba permainan helikopter kawalan jauh, agak susah nak kawalnya. Saya rasa dron lagi susah kot.

Sebab tu, dron tanpa pemandu iaitu guna AI sedang cuba dikaji oleh pelbagai pihak. Dron bergerak di ruang udara jadi pertembungan dengan benda lain diudara sangat kurang berbanding kereta, jadi lebih mudah untuk dipandu AI.

Perasan tak? AI! Selain daripada kemahiran elektronik untuk buat dron yang lebih gagah dan laju, kemahiran pengaturcaraan untuk membina AI sangat diperlukan.

Saya suka dron, walaupun tak pernah main lagi. AI untuk UAV mungkin memerlukan Vision ML, memproses gambar yang dilihat oleh dron. Saya pernah sentuh arduino dan programming arduino. Saya pernah tolong sepupu saya koding, untuk buat troli dengan arduino. Rasa seronok untuk programming produk elektronik.

Kesimpulannya, dron seronok, apatah lagi kalau kita bayangkan suatu hari nanti, dunia akan menggunakan dron untuk pelbagai aktiviti. Masa depan agak cerah jika mendalami bab dron dan UAV ni. Sesiapa yang berminat dengan dron, boleh teruskan belajar dan kenali dron.

Baru-baru ini, tengah saya cari kerja saya terjumpa syarikat OFO Tech, jadi sesiapa yang berminat dengan dron, bolehlah intai syarikat ni.

Dron untuk pertanian

Saya berharap teknologi dron dan UAV boleh digunakan untuk membantu petani memantau pertanian mereka, justeru meningkatkan pendapatan petani. Beberapa buah dron terbang 2-3 kali sehari memantau tanah padi, dan dengan kelengkapan kamera pengesan terma, pokok padi yang kurang sihat dapat diketahui lebih cepat. Petani mendapat notifikasi, dan boleh bergegas ke pokok tersebut untuk di lakukan penjagaan atau dibuang haiwan perosak yang ada.

Semasa zaman Pak Lah, beliau cuba hidupkan pertanian kerana pertanian merupakan aktiviti ekonomi orang Melayu berbanding dengan industri seperti kereta. Saya sangat suka pada masa itu, dan berharap ianya berjaya. Tapi, politik... Sekarang dengan dron, harap-harap kita boleh majukan ekonomi Melayu dengan teknologi baru.

2. Robot dan Cobotic (colaborative robot)

Kita nampak robot telah pun digunakan di kilang-kilang besar. Teknologi robot sekarang semakin baik. Dengan AI, robot semakin pandai.

Jika dulu, robot angkat barang, cuma boleh angkat barang dari tempat X ke Y sahaja, dan kalau barang tak masuk kotak X, robot terus tak boleh buat kerja. Sekarang, robot dah ada mata, dah pandai, pandai nak ambil dengan betul, siap pusing-pusing lagi.

Boston Dynamics antara syarikat yang popular dalam buat robot yang boleh lari, lompat, angkat barang dan elak daripada terlanggar halangan. Tengok video robot-robot Boston Dynamic di Youtube, baru terasa kita sedang hidup di masa hadapan.

Cobot (colaborative robot) ialah robot yang membantu manusia. Robot adalah robot, dengan AI macam mana pun, robot akan buat silap pada mata manusia. Dari segi otak robot, dia tak buat silap, tapi dari sisi pandangan manusia, robot ada buat silap. Macam mana Will Smith benci robot dalam filem I, Robot - 2004.

Pernah tengok cerita, doktor sedang buat pembedahan, dia akan hulur tangan lepas tu, jururawat akan beri forsep, gunting dan lain-lain. Bayangkan kita sedang berkerja dalam bengkel tengah baiki kereta, dan hulurkan tangan ada lengan robot yang macam tangan je (bayangkan macam paip PVC bersambung-sambung tapi boleh pusing 360 darjah), yang akan beri anda spanar, tukul, pemutar skru dan apa-apa sahaja yang kita nak. Bayangkan kita boleh minta cobot potongkan wayar sepanjang 1.2 meter sebelum robot beri kepada kita. Macam berkerja dengan pembantu, tetapi, bukan manusia dan tak payah bayar gaji, beri makan elektrik je.

Walaupun, ada orang cuba buat robot-robot bentuk manusia, saya lebih suka cobot-cobot. Tema Fajarhac, programming ialah sebahagian daripada teknologi, dan teknologi ialah untuk memudahkan kerja manusia.

Jadi, saya berpendapat, kita kena laburkan masa membina cobot. Dulu orang basuh baju dekat sungai. Masa diambil dari rumah ke sungai dan masa diambil untuk membasuh baju, mungkin 5-6 jam. Tapi, dengan mesin basuh, sementara mesin basuh membasuh baju kita, kita ada masa untuk baca buku atau luangkan masa bersama keluarga. Ya, mesin basuh adalah robot.

Dengan AI, robot semakin pandai dan boleh buat kerja lagi banyak. Nak buat robot, perlukan kemahiran elektrik, elektronik dan mekanikal. Nak buat otak robot, perlukan programmer. Sebagai programmer, buat pembacaan terhadap ilmu elektrik, elektronik dan mekanikal juga, ia memudahkan kita berkomunikasi dengan orang lain dalam bidang robot.

3. Bot bersuara (Voice bot)

Apple perkenalkan SIRI pada tahun 2011, pembantu maya pada iPhone dan menjadi tular. Kemudian, Amazon perkenalkan Alexa, pembantu maya pada sebuah peranti macam pembesar suara. Suatu yang agak baru, sebab pembantu maya ni, bukan yang jenis ikut kemana sahaja kita berada macam SIRI pada iPhone.

Yang hebatnya, ia popular dan berjaya menarik perhatian orang ramai. Microsoft dan Google tak nak ketinggalan, masing-masing memperkenalkan Cortana dan Google Assistant.

Tapi, dalam kebanyakan pembantu maya yang paling hebat sekali ialah JARVIS, iaitu pembantu maya kepada Tony Stark. Sayangnya cuma sekadar fiksyen dalam cerita Iron Man.

Sama macam situasi cobot di atas, kita manusia ni memang perlukan bantuan. Tapi, kos pembantu manusia agak mahal, jadi dengan pembantu maya dalam bentuk bot bersuara boleh menyenangkan banyak kerja.

Kenapa perlu suara, chatbot pun boleh. Sebab, bercakap lagi cepat daripada menaip. Kajian daripada Stanford University mendapati bercakap 3 kali ganda lagi laju berbanding dengan menaip di telefon.

Tapi tapi tapi, membaca lagi laju daripada mendengar.

candace flyn from phineas and pherbs said but but but memes

Buat masa sekarang, orang masih malu-malu menggunakan bot bersuara di tempat awam, tetapi kehadiran fon telinga tanpa wayar (TWS earbuds) mungkin mengubah situasi ini. Sebab dengan pemakaian fon telinga sepanjang masa, kita tak perlu lagi angkat dan bercakap dengan telefon lagi. Dengan fon telinga tanpa wayar, perbualan dengan bot nampak lebih natural.

Kemajuan teknologi juga sangat bekait rapat dengan AI. Sebab AI yang semakin maju, sistem semakin faham perkataan yang dituturkan oleh manusia. Walaupun saya rasa masih banyak masalah lagi kepada pengguna bahasa Inggeris bukan bahasa utama.

Selalu guna pembantu maya untuk kehidupan harian? Boleh tak kongsikan pengalaman dekat komen dibawah, atau Twitter, sebab saya tak biasa sangat guna benda ni. Menjadikah pembantu maya ni? Atau sekadar untuk suka-suka sahaja boleh lah. Saya teringin nak tahu.

Saya ada cita-cita nak buat pembantu maya bahasa Melayu, namanya Aliya. Tapi saya tahu benda ni sangat besar, dan sampai sekarang, usaha saya cuma membaca dan berfikir. InshaAllah sikit-sikit saya akan buat produk yang akan membawa kepada penghasilan Aliya.

Semasa acara JomLaunch 7.0, ucapan daripada Mesolitica Sdn Bhd (sorry, saya tak ingat nama penyampainya), memperkenalkan projek sumber terbuka Malaya, NLP untuk bahasa Melayu (Malaysia). Saya kadang-kadang menjenguk projek, sumber kod dan data, tapi tak tahu lah bila nak mula. Bukan sebab Python je, tapi nak fokus buat duit cukup makan dulu, sebelum buat hobi.

Nasihat: AI lagi kan

4. Chatbot

Bot untuk aplikasi mesej seperti Facebook Messenger, Telegram dan lain-lain. Yang paling popular saya rasa Facebook Mesenger, sebab ramai orang guna Facebook. Saya sentiasa konsisten dengan pendirian saya benci Facebook, jadi saya tak berapa menggunakannya.

Bagi saya penggunaan Chatbot dekat Telegram lagi banyak. Saya juga pernah buat bot di Telegram. Ini cerita 1-2 tahun lepas, sebab saya tak berapa guna sangat bot sekarang. Tak nampak sangat penggunaannya.

Tapi, untuk syarikat-syarikat, penggunaan bot, sangat penting untuk mengurangkan beban pekerja, terutamanya dalam bidang sokongan pengguna (customer support). AirAsia misalnya baru-baru ini memperkenal AVA chatbot.

Dalam dunia programming, kita sebenarnya dah lama buat bot, tapi kurang pintar. Bot yang programmer selalu buat ialah skrip yang mempercepatkan kerja. Dalam kebanyakan sumber kod projek saya, akan ada satu direktori script. Di dalam direktori ini saya simpan semua skrip supaya saya tak perlu hafal langkah demi langkah untuk buat sesuatu kerja.

Masa awal-awal chatbot menjadi trending, ada 2 jenis bot yang cuba diketengahkan. Satu, chatbot yang dah tetap arahannya dan satu lagi chatbot yang semacam pembantu maya yang cuba faham ayat pengguna. Masa itu, orang cuba buat chatbot dengan AI, tapi sayangnya ekosistem AI pada masa tu, tak cukup kuat. Maka terhasillah bot-bot yang cuba jadi pandai, tapi langsung tak mencapai kehendak pengguna.

Akhir-akhir ini, banyak servis yang dilancarkan untuk memudahkan pembinaan AI untuk buat chatbot. Microsoft, Amazon dan Google juga menyediakan pelbagai servis AI yang boleh memudahkan pembuat bot membina bot yang pintar.

Saya tak tahu, nak simpulkan macam mana, sebab saya tak berapa guna bot. Saya rasa bot hanyalah API yang dikhususkan kepada pengguna bukan programmer, boleh guna dengan mudah. Dengan populariti chatbot meningkat, istilah convesational UI mula diwar-warkan.

Jika disebut UI, pasti kita terbayangkan reka bentuk sebuah app, butang dan warna. Tapi, conversational UI pula ialah tentang aliran sebuah komunikasi antara orang dan bot.

Pembantu pelanggan menggunakan banyak tenaga manusia, sekiranya ia boleh digantikan dengan chatbot, bagi syarikat ianya sesuatu sangat-sangat menguntungkan. Buat masa ini, saya tak nampak kegunaan chatbot untuk individu, tetapi untuk syarikat, ianya sesuatu yang besar.

Nasihat: Yup!! Dua huruf: AI

5. Realiti Maya (Virtual Reality, VR)

Sila tonton filem "Ready Player One", tu lah dia VR. Pasang helmet yang menutup mata, dan nampak dunia yang berbeza. Boleh jadi dunia rekaan macam permainan video dan boleh jadi dunia nyata yang dirakam dengan kamera 360 darjah yang jauh dari tempat sebenar kita berada.

Chris Milk dalam Ted Talk menyampaikan idea, macam mana VR boleh membuatkan kita, rasa lebih dekat untuk memahami perasaan orang-orang yang susah. VR menghasilkan rasa simpati yang lebih kuat berbanding dengan tengok video, kerana apabila menggunakan VR, kita seolah-olah berada di sisi orang susah.

Siapa ada peranti VR? Pinjam 2-3 jam boleh. Nak rasa. Tapi, saya jenis mabuk kereta, saya rasa kalau guna VR boleh jadi saya akan pening-pening dan muntah jugak kot.

Sebagai programmer, saya rasa VR tak perlukan sangat kita. Industri VR lebih kepada penyediaan isi. Sama macam permainan video, jalan cerita, kualiti gambar, musik adalah lebih penting daripada pengaturcaraan.

Ini pendapat saya yang menyebabkan saya tak berapa nak terlibat dengan VR, tapi jika pembaca pernah sentuh programming VR dan ada pendapat berbeza, sila kongsi di Twitter dan mention saya atau komen di bawah. Saya pun nak tambah pengetahuan.

6. Realiti terimbuh (Augmented Reality, AR)

Selalu kita tengok orang akan nyatakan VR dan AR, seolah-olah benda yang sangat rapat dan lebih kurang sama. Tapi, saya pisahkannya, sebab ini dua benda yang berbeza.

Pokemon Go adalah permainan AR yang sangat popular diseluruh dunia pada awal pengenalannya. Tak perlulah kita bahas, populariti Pokemon Go adalah sebab jenama Pokemon tu sendiri atau sebab teknologi AR. Yang pasti, gabungan jenama dan teknologi AR lah yang menjadikannya fenomena di seluruh dunia.

Yang lagi penting, kita nak cerita macam mana AR boleh membuatkan kita tengok dunia nyata tapi boleh nampak lebih banyak objek-objek digital lain melalui medium seperti telefon pintar atau cermin mata eletronik. Jika mata kasar kita tak nampak Charizard, tapi bila kita halakan telefon dan tengok melalui skrin telefon, Charizard ada dekat situ.

Pokemon Go dan realiti terimbuh

Tak jumpa gambar Charizard, ada Squirtle je. Ingatkan Bulbasaur

Dengan cara yang sama, halakan telefon anda ke bangunan KLCC, kemudian kita dapat nampak King Kong atas puncak KLCC, dan bila kita sentuh King Kong tu, dia pun berceritalah pasal bangunan berkembar KLCC adalah bangunan tertinggi di dunia pada tahun 1998 hingga 2004. Bisnes idea untuk industri pelancongan yang terkorban dek Covid-19.

KLCC ni merujuk bangunan berkembar tu ke tak? Nama sebenar bangunan berkembar tu Petronas Twin Tower kan? Tapi, bila sebut KLCC rasanya, semua akan merujuk kepada bangunan ni kot.

Berbeza dengan VR, saya lebih suka AR, sebab aplikasi AR boleh membantu manusia. Microsoft HoloLens adalah projek daripada Microsoft untuk membina peranti dalam dunia AR. Teknologi AR boleh dipakai meluas dalam pelbagai bidang.

Apabila seorang doktor pakar bedah gunting buka badan orang, kemudian cermin mata AR-nya, menandakan organ-organ dalaman. Dalam masa yang masa boleh berhubung secara panggilan video dengan pakar di luar dunia. Malahan, pakar-pakar luar boleh melihat dari perspektif pandangan doktor tu sendiri.

Seperti mesin-mesin dan peralatan medik yang membantu memudahkan kerja doktor, AR boleh membantu memberi lebih banyak maklumat. Justeru, memberi lebih keyakinan untuk doktor membuat keputusan.

Saya suka kereta, saya suka tengok Top Gear, sekarang saya suka tengok The Grand Tour, bukan Top Gear lagi dah. Tapi, saya tak pandai bab-bab kereta. Kalaulah saya tiada kekangan, saya teringin nak buat sebuah aplikasi AR, yang bila kita halakan ke enjin kereta, semua komponen enjin diterangkan nama-namanya. Apabila disentuh komponen tu, lebih maklumat diberitahu.

Bayangkan apabila kita dalam perjalanan ke Terengganu, di sepanjang 400 km perjalanan kita ternampak sebuah kereta Mercedes berhenti tepi jalan, rosak. Kita yang pakai Myvi tak tahu sangat pasal Mercedes ni, tapi masih baik hati berhenti untuk tolong. Kita berhenti depan kereta rosak tu, tanya masalahnya.

"Saya ini bukan pandai sangat pasal kereta, tapi bolehlah tengok sikit-sikit"

Kita buka bonet depan. Kita pun ambil telefon buka aplikasi AR tadi. Aplikasi ini tunjuk segala maklumat komponen-komponen enjin secara terimbuh. Dan kita minta, cuba start kereta. Aplikasi ini, berdasarkan gegaran komponen dan maklumat-maklumat kerosakan biasa daripada databes, memberi cadangan demi cadangan untuk kita membaiki kereta tersebut.

Alhamdulillah, dengan bantuan aplikasi tersebut, kereta dapat dibaiki. Enjin kereta hidup balik. Dan aplikasi tersebut juga beri maklumat bengkel yang terdekat, supaya boleh dibaiki dengan lebih baik untuk pastikan enjin tak rosak lagi.

Kebetulan dalam kereta ada gadis melayu cantik. Alhamdulillah dapatlah bermentuakan pemilik kereta Mercedes, CEO syarikat besar 😎

Sebab AR perlukan analisis data dunia nyata, saya rasa kemahiran programmer lebih penting di sini berbanding dengan VR. Saya sangat-sangat suka apabila teknologi digunakan untuk menyokong kemampuan manusia, bukan menggantikan manusia keseluruhan.

Macam biasa, teknologi ini, pasti memerlukan AI terutamanya Vision AI. Apa sahaja pilihan anda untuk masa depan, pastikan belajar pasal AI.

7. Kenderaan pandu sendiri (Autonomous or self-driving vehicle)

Di bandar-bandar besar seperti Kuala Lumpur, orang tak perlu memiliki kenderaan lagi. Penggunaan Grab, MyCar atau perkhidmatan e-panggilan mula mengubah gaya hidup masyarakat. Tak perlu beli kereta lagi. Di negara maju, benda ni lagi besar.

Sekarang, bayangkan jika semua kereta tak dipandu oleh manusia tapi dipandu oleh robot atau hantu, sebab kerusi pemandu dah kosong. Kajian mendapati dengan kereta pandu sendiri, kesesakan dan kemalangan jalan raya akan berkurang.

Kenderaan pandu sendiri sangat-sangat baik untuk individu dan masyarakat keseluruhan, cuma bolehkah kita bina teknologi yang cukup sempurna untuk kereta pandu sendiri ini?

Trolley problem. Ditelan mati emak, diluah mati bapa. Dalam kehidupan, akan tiba suatu keadaan, di mana keputusan mesti dibuat dan kita terpaksa tanggung akibatnya. Bagi kereta pandu sendiri, keputusan dibuat oleh komputer dan kita manusia terpaksa menanggungnya. Relakah kita?

Katakan, kereta pandu sendiri bergerak laju, tiba-tiba ada orang melintas jalan. Ada 2 pilihan sahaja, kereta berhenti mengejut, pemandu mati manakala pejalan kaki hidup ATAU kereta terus bergerak, pejalan kaki mati manakala pemandu hidup.

Jika anda pemandu, mungkin anda berharap diri sendiri diselamatkan. Tetapi, bagaimana pula sekiranya kita pemandu dan pejalan kaki ialah mak, ayah, isteri atau anak kita.

Jika berlaku kemalangan jiwa, siapa yang bersalah dan perlu dihukum? Pemandu, pejalan kaki, syarikat kereta atau programmer yang terlibat dalam buat sistem?

Dengan kereta pandu sendiri, pilihan ini diserahkan kepada mesin. Tengok filem I, Robot. Walaupun dari segi matematik dan sains yang tepat, dari segi hati dan perasaan, mesin tak dapat buat keputusan yang tepat. Buat masa sekaranglah.

Secara ideologi, saya tak berapa suka Grab dan Uber. Sekarang, mereka memang memberi peluang pekerjaan kepada ramai orang dan pemandu boleh bekerja bebas mengikut masa mereka. Tetapi, pada saya syarikat-syarikat ini, tidak berniat untuk bantu pemandu-pemandu, mereka lebih mengutamakan keuntungan mereka. Sebab itu, mereka antara syarikat-syarikat utama mengkaji teknologi kereta pandu sendiri.

Tapi, nak taknak, teknologi akan terus berkembang dan kita perlu mengadaptasi diri. Kereta pandu sendiri adalah masa depan, sesiapa yang berminat boleh mendalami AI. Teknologi ini akan menghapuskan kerja pemandu, tetapi dalam pada masa yang sama, kita berharap ia akan membuka peluang pekerjaan yang lain.

Saya suka kereta dan saya suka drive. Jadi, sekalipun kereta pandu sendiri menjadi kebiasaan, saya masih rasa nak drive. Mungkin, 20 tahun akan datang ada satu jalan khas untuk orang-orang nak drive, macam laluan khas untuk berbasikal hari ini.

8. Peranti pintar seperti smart home, smart bulb, smart tv dan smart fridge

smart home

Semua peranti pintar berhubung antara satu sama lain dan meringankan kerja kita seharian. Contoh, peti ais yang mampu merekod dan mengesan makanan yang menghampiri tarikh luput, menghantar SMS peringatan kepada kita, supaya masak daripada membazir.

Sesungguhnya orang-orang yang membazir itu adalah saudara Syaitan, syaitan itu pula adalah makhluk yang sangat kufur kepada Tuhannya.

Surah Al-Isra : ayat 27

Apabila suhu rumah agak panas, penyaman udara bermula secara automatik dan apabila suhu cukup dingin, penyaman udara mati dengan sendiri.

Sekarang pun, orang dah mula menggunakan peranti pintar, tapi belum ada satu lagi standard yang membolehkan kesemua peranti pintar ini berkomunikasi antara satu sama lain secara efisyen. Tanpa standard yang disetujui ramai, syarikat elektronik, masing-masing cuba menjadi juara membina dengan gaya tersendiri. Akibatnya, lampu pintar Samsung tidak boleh berkomunikasi dengan penyaman udara Sharp.

Apabila kita sebut pintar, maksudnya nak kena AI lah ni.

9. 5G

5G ialah internet yang lagi laju. Apabila internet laju, segala proses boleh dipindahkan ke server dan tidak perlu lagi komputer atau telefon yang berkuasa tinggi.

Google Stadia adalah idea untuk bermain permainan video tanpa komputer berkuasa tinggi, kerana segala pemprosesan berlaku diserver. Komputer / telefon pengguna sekadar menerima dan menghantar data.

Jurang teknologi antara bandar dan luar bandar masih jauh dan akan semakin membesar. Sebagai programmer kita seharusnya membina produk yang juga boleh diakses oleh orang luar bandar.

10. Perkomputeran pinggir (Edge computing)

Tak semua tempat internet laju dan stabil. Jika semua proses dilakukan di server dan hasilnya dihantar ke peranti, kadang-kadang berlaku kelambanan reaksi.

Contoh, apabila menggunakan SIRI, kita akan dapat rasakan SIRI lambat jawab. Macam mana pula, kalau kereta pandu sendiri yang lambat respon?

Jadi, perkomputeran pinggir ialah membawa proses analitik dan buat keputusan dekat peranti tu sendiri berbanding dengan server yang jauh di seberang laut.

Programmer sekarang banyak menggunakan server untuk pemprosesan kerana kehadiran perisian servis (SAAS) yang sangat mudah dan cepat untuk digunakan. Tambahan lagi internet dah semakin laju.

Saya berpendapat perkomputeran pinggir hanya akan digunakan oleh syarikat-syarikat yang mempunyai sumber duit yang besar. Sebab buat masa sekarang, dengan ledakan syarikat pemula (startup), orang cuma nak buat sesuatu dengan cepat dan murah. Pasaran sekarang tidak melihat kepada kepentingan prestasi sesuatu produk. Tugas kita orang teknologi menyampaikan kepentingan perkomputeran pinggir kepada masyarakat.

Dalam bidang ini, saya rasa Rust (rustlang) adalah bahasa yang paling sesuai dan akan digunakan secara meluas untuk perkomputeran pinggir. Saya dah mencuba Rust berkali-kali, saya merasakan ia agak kompleks. Teknologi berkembang, saya yakin tak lama lagi, Rust akan lebih mudah dipelajari dan akan digunakan secara meluas, sebagaimana kelahiran Ruby on Rail mempopularkan bahasa Ruby.

Buat masa ini, saya cuma intai-intai je, tak pasti nak mendalami bidang ini atau tidak. Jika saudara berminat dengan peranti pintar, IOT dan elektronik, teknologi ini masa depan tuan.

11. Internet Benda (Internet of Things, IOT)

Sekarang ini, Internet Benda antara yang benda yang popular, suatu hari nanti, ia akan menjadi kebiasaan. Jam tangan pintar (smart watch) boleh mencatat data nadi, jantung dan aktiviti senaman kita, sepanjang masa. Data ini, boleh digunakan untuk menganalisis dan mencegah sebelum penyakit menjadi lebih parah.

Pada bab dron di atas 👆, saya dah cerita cara dron boleh memajukan bidang pertanian. Gabungan internet benda dengan dron boleh memudahkan banyak kerja-kerja pertanian. Apabila pertanian menjadi semakin mudah, lagi ramai anak-anak muda Malaysia yang akan menceburi bidang pertanian, warisan keluarga dengan cara baru.

Bayangkan satu peranti IOT yang ditusuk kedalam tanah, dan setiap masa mengesan dan menyampaikan maklumat keadaan kelembapan tanah. Kemudian, secara automatik, dron terbang datang untuk menyiram kawasan tersebut. Optimisasi ini boleh menjimatkan air dan memastikan pokok-pokok mendapat keperluan air mencukupi.

Rumah dengan lantai yang boleh mengesan jika ada orang tua yang jatuh terbaring, segera menelefon saudara mara terdekat atau lebih baik, terus menghantar maklumat ke hospital, dan ambulan pun datang.

Data-data yang berlambak daripada peranti IOT ini, sekiranya dianalisa boleh memberikan maklumat untuk kita mengoptimumkan proses lalu mengurangkan kos. Malahan, boleh juga memberikan penemuaan baru.

Data yang banyak boleh lagi dianalisa oleh manusia, tapi apabila data yang melampau banyak, di sini lah hadirnya keperluan menggunakan AI.

Saya berminat dengan IOT, tetapi, masalah keselamatan IOT perlulah diatasi sebelumi digunakan secara meluas.

12. 3D printing

Print The Legend Documentary

Percetakan 3 dimensi (3D Printing) telah lama wujud dan disebut Additive Manufacturing, tetapi setelah paten Fused Deposition Modeling (FDM), salah satu teknologi 3D Printing tamat pada tahun 2009, terma 3D Printing dipopularkan. Dari situ, orang mula membina mesin 3D Printing sendiri dan popularitinya makin meningkat.

Pada sekitar tahun 2010 ~ 2012, masa itu saya masih di Universiti, 3D Printing sangat popular. Sesetengah pengkaji teknologi meramalkan suatu hari nanti, semua orang akan memiliki 3D Printer atas dekat rumah masing-masing, sebagaimana orang memiliki komputer hari itu.

Tahun 2020, kita tahu, tak tercapai. Teknologi 3D Printing digunakan secara meluas oleh SME, individual secara hobi dan individual dengan tujuan bisnes. Cuma, tak semua orang memilikinya kerana penggunaannya tak semudah mesin pencetak kertas yang kita miliki sekarang.

Jika diberikan peluang untuk 3D print apa sahaja yang kita nak, saya yakin sekejap sahaja semua orang boleh bayangkan apa yang dia nak. Oleh sebab itu, my3DPM dicipta, hasil idea Dr. Izhar, pengasas syarikat 3D Gens Sdn Bhd yang telah menjalankan perniagaan berkaitan 3D Printing sejak 2016. Saya pula menyertai syarikat Digital Data Sdn dan mengetuai kumpulan teknikal untuk menjayakan projek my3DPM. Saya suka idea my3DPM, namun dengan sumber yang terhad, kami tak mampu membawa teknologi tu ke peringkat yang diimpikan. Sebab itu, saya tak masukkan projek ini dalam senarai projek yang saya pernah buat. Sehinggalah sebuah projek itu, saya boleh bangga dari segi teknologinya, baru saya masukkan di halaman projek.

Tetapi, sekarang saya mula bekerja sendiri dan pemilik my3DPM adalah antara klien saya

Pandemik Covid-19 mengubah dunia dengan agak drastik. Selain daripada kesan buruk seperti ramai orang kehilangan pekerjaan, kesan baiknya ialah, ia mula menyedarkan manusia untuk berubah. Bekerja dari rumah, penggunaan mesyuarat video dan kepentingan 3D Printing.

Kenaikan pesakit yang mendadak, menyebabkan hospital tidak mempunyai peralatan mencukupi. Pesakit covid-19 pada tahap kritikal menjadikan mereka sesak nafas dan hospital tidak mempunyai injap alat bantu pernafasan yang mencukupi. Dengan teknologi 3D Printing, alat ini boleh dibina dalam masa yang singkat dan kos yang rendah.

Yang lebih membanggakan, ada orang yang meniru reka bentuk injap alat bantu pernafasan dan melepaskan fail reka bentuk tersebut secara percuma. Covid-19 menyerlahkan manusia abad ini, masih ramai yang baik.

Jika dulu, masa zaman sekolah, kita membayangkan wawasan 2020 sebagai satu tahun yang hebat, tapi hari ini, kita rasai 2020 adalah tahun menghadapi ujian.

Masih banyak lagi ruang yang perlu dibaiki oleh teknologi 3D Printing, seperti:

  • menghasilkan objek yang lagi besar (rumah, kapal terbang)
  • proses buat yang lebih cepat
  • menggunakan bahan (material) yang pelbagai seperti getah, carbon fiber, sel tisu untuk menghasilkan organ (biologi)
  • menghasilkan produk yang lebih berkualiti tanpa perlu post-procesing
  • my3DPM sendiri masih perlu dikaji, macammana nak bawa teknologi ini kepada semua orang

Teknologi 3D Printing masih ada banyak ruang untuk diteroka. Saya amat berharap, rakyat Malaysia yang pandai modified motosikal menjadi lebih laju, bunyi lebih kuat dan boleh redah banjir untuk bersama-sama mengkaji dan menghasilkan mesin 3D Printer yang lebih baik.

13. Roket boleh guna semula (Reusable rocket)

Roket yang menghantar satelit asalnya sekali pakai sahaja, lepas tu jadi sampah. Jadi, SpaceX (Elon Musk, Tesla) dan Blue Origin (Jeff Bezos, Amazon) nak teroka bidang ini, dengan idea roket yang boleh naik ke angkasa pulang balik ke bumi dan ulang guna berkali-kali.

Dunia roket ini, saya rasa untuk negara-negara besar je kot. Saya tak yakin Malaysia nak masuk industri ini. Kecuali tiba-tiba muncul seorang pemimpin yang sangat berani, yang memulakan kereta nasional, bangunan berkembar petronas (tertinggi di dunia) dan angkasawan pertama Malaysia.

Tun Mahathir adalah perdana menteri Malaysia yang paling hebat dan tak nampak lagi penggantinya. Saya puji Tun Mahathir di sini, sebab akhir-akhir ini, banyak isu yang Tun bangkitkan yang saya tak setuju dan diluahkan dekat Twitter.

Kebelakangan ini, saya sama macam anda, banyak tak setuju dengan Tun Mahathir, tapi kita tak boleh padam segala jasa-jasanya. Saya berharap, kepada pengguna media sosial yang membaca artikel ini, berlembut dan bersopanlah bila bercakap pasal Tun, tak dapat dibalas segala jasa-jasanya yang lepas.

Nasihat: Tolong jangan komen pasal politik dekat bawah. Komen negatif akan dibuang.

14. Tenaga boleh baharu (Renewable energy)

Bumi ini adalah sebuah kapal angkasa. Dalam kapal angkasa, angkasawan mempunyai sumber yang terhad. Air, makanan tempat tinggal semua tu terhad. Jadi, angkasawan kena berjimat cermat.

Begitulah bumi, semuanya terhad. Sumber minyak kita terhad, cuma buat masa ini, jumlah minyak ada masih cukup dan ada lebihan lagi sehingga tahun 2050. Apabila melihat ramalan sebegini, kita manusia mula mencari penyelesaian.

Antara penyelesaiannya ialah tenaga boleh baharu. Benda ni dah lama, empangan hidro-elektrik, kincir angin dan tenaga solar dah lama diperkenalkan. Tapi, baru akhir-akhir nampak potensinya. Sebab harga teknologi ini semakin murah. Tambah lagi teknologi bateri (cth: Tesla bateri) yang mengatasi masalah tenaga solar yang hanya boleh dijana apabila matahari muncul sahaja.

Saya lebih suka teknologi nuklear yang selamat seperti Thorium. Negara China sedang cuba mengkaji teknologi dan agak ke depan berbanding negara-negara barat. Saya berpendapat, kita kena berani teroka teknologi baru lebih awal, kalau kita nak di depan.

Walaubagaimanapun, saya rasa buat masa ini, tenaga solar adalah tenaga boleh baharu terbaik untuk Malaysia selain janakuasa hidro-eletrik.

15. Pengubahan gen (gene editing) - CRISPR

crispr peluang dan cabaran

Bab ini, ahli biologi yang kena terangkan. Saya masukkan juga dalam senarai ini, sebab satu teknologi yang sangat penting pada masa depan. Sebelum elektrik dan elektronik popular seperti zaman sekarang, teknologi mekanikal mendahului semua bidang. Mesin dan kereta semua itu adalah mekanikal.

Komputer dulu sangat besar sebab banyak bahan mekanikal. Dengan kemajuan teknologi elektrik, 1 dan 0 cuma bergantung kepada denyutan elektrik tinggi dan rendah.

Namun, kita kena pergi lagi kecil daripada sekarang. Lebih kecil daripada nano. Masa itu, kemahiran biologi memain peranan penting. Teknologi biotek (bio teknologi), walaupun telah lama diperkenalkan, tapi dunia, masih perlahan dalam bidang ini.

CRISPR menggegarkan dunia. Kalau kita boleh edit gen (DNA), benda yang paling asas yang membezakan suatu makhluk dengan makhluk yang lain, bayangkan apa yang kita boleh buat dengannya.

Kesimpulan

Penatnya. Lebih 9,000 perkataan.

Artikel sepanjang ini, mengambil masa lebih seminggu untuk tulis. Ditulis 1-3 jam sehari. Tulis sahaja dah seminggu lebih, membaca, cari sumber dan sunting artikel dengan gambar, keseluruhannya, berbulan-bulan juga kot. Macam manalah ada programmer yang boleh tulis buku. Tak bosankah?

Ada banyak isi dan pelbagai teknologi disenaraikan, jadi mungkin ada bahagian yang saya kurang pembacaan.

Buah cempedak di luar pagar,
Ambil galah tolong jolokkan,
Saya budak baru belajar,
Kalau salah tolong tunjukkan

Saya pernah dengar, pada awal-awal kamera diperkenalkan, orang Islam sangat risau sekiranya teknologi tersebut bertentangan dengan agama. Ketika Galileo Galilei mengeluarkan teori bumi tidak rata, orang agama Kristian heboh. Orang tak beragama pun menggeletar, takut teknologi AI akan menghapuskan manusia dan kemanusiaan.

Pendapat saya, kuasa Allah tak terjangkau oleh fikiran manusia. Teknologi apa pun manusia jumpa, takkan mungkin mencapai tahap tuhan apatah lagi mengatasinya. Jadi, kita manusia boleh meneroka dan mengkaji apa-apa teknologi, sedalam-dalam mana sekalipun, yang penting kita pandai menguruskan ilmu untuk kebaikan diri kita sendiri dan manusia sejagat. Kita tak perlu sekat diri kita dalam mendalami ilmu.

Dan sekiranya segala pohon yang ada di bumi menjadi pena, dan segala lautan (menjadi dakwat), dengan dibantu kepadanya tujuh lautan lagi sesudah itu, nescaya tidak akan habis Kalimah-kalimah Allah itu ditulis. Sesungguhnya Allah Maha Kuasa, lagi Maha Bijaksana.

Surah Luqman : Ayat 29

Tiang besi Delhi masyhur kerana tidak berkarat walaupun dibina pada tahun ke-4 Masihi. Tahukah kita, teknologinya sama dengan teknologi pembinaan keris? Tahukah kita tentang tamadun awal Melayu ditemui di Sungai Batu yang berusia 535 Sebelum Masihi telah mempunyai tapak peleburan besi? sungai-batu

Teknologi akan terus ke depan, kita Melayu pernah mendahului dunia, kita Islam pernah menguasai dunia. Mula sekarang supaya kita berada di depan.

Penutup

Segala kritikan, cadangan dan perbincangan boleh tulis di bawah atau Tweet saya.

Sumber:

Gambar-gambar


  1. Kitab Tamadun Melayu oleh Panel Penulis The Patriots, halaman 188