Tutorial Membuat Mobile App Menggunakan React Native (Part 1 – Environment Setup)

Perangkat mobile atau smartphone pada saat sekarang ini sudah menjadi benda wajib yang selalu ada di saku atau tas masing-masing. Jumlah orang yang memiliki smartphone tentunya jauh lebih besar dibandingkan orang yang memiliki laptop atau desktop. Hal inilah yang menyebabkan aplikasi mobile laris dan terpasang pada perangkat masing-masing bagaikan pisang goreng di saat hujan di sore hari. Sebagai hukum sebab akibat yang sudah dirumuskan pepatah zaman dulu yaitu ‘ada gula ada semut’, yang bila diartikan menjadi ada ‘konsumen pisang goreng berarti ada yang jualan pisang goreng’, atau agar lebih pas bila disesuaikan dengan bahasan kita berarti ‘ada mobile user tentunya ada mobile developer’. Kondisi inilah yang menyebabkan semua kalangan mulai dari perusahaan, software house, media, dan bahkan anak magang beramai-ramai menciptakan dan mengembangkan mobile app.

Kekhawatiran muncul dari penjual es krim yang sekali lagi jika disesuaikan dengan bahasan kita berarti ‘web developer’ yang rata-rata secara natural hanya menguasai bahasa markup yaitu HTML & CSS, bahasa pemrograman seperti Javascript & PHP, dan bahasa query yaitu SQL. Padahal, pengembangan mobile apps saat ini dikuasai oleh dua bahasa pemrograman yaitu Java (untuk Android) dan Swift (untuk iOS). Masalah ini ditambah dengan keinginan agar apps dapat hadir dan berjalan di dua platform tersebut. Tentu saja ini semakin membuat kompleksitas pengembangan mobile app semakin meningkat.

Solusi untuk permasalahan ini sebenarnya sudah ada pada tahun 2011 sejak hadirnya Cordova (berganti nama menjadi PhoneGap setelah diakuisisi oleh Adobe) sebagai framework pengembangan hybrid app di mana dengan menggunakan HTML, CSS, dan Javascript kita dapat meng-compile mobile app di dua platform Android dan iOS. Sampai sekarang Cordova/PhoneGap masih dijadikan solusi tercepat untuk membangun aplikasi mobile bagi para developer web.

Tapi jangan senang dulu, Alejandro! Aplikasi hybrid yang dibuat dengan Cordova/PhoneGap ini memiliki performa yang jauh lebih rendah bila dibandingkan mobile app yang dikembangkan secara native. Hal ini membuat para developer menjadi malas-malasan untuk menggunakan Cordova/Phonegap karena resikonya besar yaitu mereka harus mengorbankan user experience. Walaupun begitu dengan berkembangnya teknologi, hadir React Native sebagai solusi dalam pengembangan aplikasi mobile.

Mirip dengan dengan Cordova/PhoneGap, React Native membuat developer dapat mengembangkan aplikasi mobile dengan menggunakan Javascript yang tentu saja telah dikuasai oleh mayoritas web developer dan bila dibandingkan secara performa, React Native jauh mengungguli Cordova/Phonegap walaupun masih berada sedikit di bawah aplikasi native dari masing-masing platform.

Kita cukupkan saja cerita panjang tentang latar belakang native mobile app, hybrid app, dan pisang goreng ini. Pada kesempatan kali ini, kami akan membagikan langkah-langkah dalam membuat native mobile app dengan menggunakan React Native. Tutorial ini akan di bagi menjadi beberapa part. Pada part 1 ini kita akan mempersiapkan environment-nya terlebih dahulu.

 

Tools of Trade

Dalam tutorial kali ini beberapa tools yang akan kita gunakan adalah:

  1. NodeJs (download di sini)
  2. Android Studio
  3. SDK Manager
  4. JDK
  5. Python2

Setting Up Tools

Setelah semua tools kita dapatkan, langkah selanjutnya adalah men-setup semua peralatan tadi ke dalam perangkat yang kita gunakan. Dalam tutorial ini kita akan menggunakan Windows 10 sebagai sistem operasi dalam environment pengembangan kita.

 

1. Extract nodejs yang telah didownload,
semisal di D:\node-v10.15.0-win-x64 Anda harus mengingat lokasi tersebut, karena nanti akan kita tambahkan lokasi tersebut ke dalam path variable.

2. Install Android Studio beserta SDK Manager-nya.
Step ini membutuhkan koneksi internet dan membutuhkan waktu yang cukup panjang. Jangan lupa catat dimana lokasi Android Studio dan SDK Managernya. Kita akan menggunakanya di step selanjutnya karena Android Studio ketika diinstal otomatis akan menginstal versi SDK terakhir maka proses instalasi SDK otomatis telah dilakukan. Yang perlu dilakukan adalah mencatat lokasi SDK manager.

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 1

3. Menginstall JDK 
Jangan lupa catat lokasi JDK terinstall biasanya default lokasi JDK bisa ditemukan di C:\Program Files\Java\jdk1.8.0_162\

 

4. Menginstall Python
Setelah menginstal jangan lupa catat lokasi nya karena nanti kita harus menambahkanya ke dalam system path variable.

 

5. Menambahkan JAVA_HOME Environment Variable
Java home adalah lokasi di mana JDK diinstall. Secara default JDK terinstal di C:\Program Files\Java\jdk1.8.0_162\

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 2

6. Menambahkan ANDROID_HOME Environment Variable

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 3

7. Menambahkan beberapa lokasi di bawah ini kedalam System Path variable
Yang perlu ditambahkan adalah lokasi folder berikut:

    1. Nodejs
    2. Java/bin
    3. Gradle/bin
    4. SDK/platform-tools
    5. SDK/tools
    6. Python
Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 4

 

React Native Installation

Setelah ke enam langkah di atas dilakukan dengan benar maka seharusnya saat ini anda telah siap untuk memasang React Native ke komputer Anda. Langkah-langkah untuk memasang React Native dapat dilakukan melalui step-step dibawah ini :

1. Buka command prompt
(bisa dilakukan dengan menekan kombinasi keyboard windows + ‘r’ dan ketikkan cmd lalu klik ‘OK’)

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 5

2. Ketikkan perintah pada command line:

npm install -g react-native-cli

Tunggu sampai selesai! Proses ini membutuhkan koneksi internet

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 6

3. Membuat project baru
Sebelum membuat project baru ada baiknya kita membuat folder khusus untuk project kita. Saya sarankan untuk membuat folder dengan nama yang singkat dan tidak terdapat spasi untuk menghindari error. Di bawah ini urutan perintah untuk memulai project baru:

D:
mkdir labReactNative
react-native init AwesomeProject

Tunggu hingga proses selesai!

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 7

 

4. Membuat android virtual device (AVD)

 

5. Jalankan project yang telah kita buat
Untuk menjankan project yang telah kita buat dapat menggunakan perintah dibawah ini:

cd AwesomeProject
react-native run-android

Tutorial Membuat Mobile App Menggunakan React Native (Part 1 - Environment Setup) 8

 


 

Itu tadi langkah-langkah dalam menginstal dan men-setup environment dalam membuat mobile app dengan menggunakan React Native. Ikuti terus update terbaru dari Inixindo Jogja agar tidak ketinggalan Tutorial React Native part selanjutnya!

 

 

 

Step by step tutorial from:

Arindra Saktiawan
Instructor of Inixindo Jogja

Teknologi Web Yang Akan Menjadi Tren di Tahun 2019

 

Beberapa waktu yang lalu, kami sempat mempos di media sosial tentang tingkat popularitas bahasa pemrograman di tahun 2018 lalu. Dalam pos tersebut, kita dapat melihat bahwa Javascript (yang seharusnya secara resmi disebut ECMAScript) sebagai bahasa pemrograman web mengalami peningkatan, sementara bahasa pemrograman Java yang digunakan dalam pengembangan aplikasi Android justru menurun. Padahal, saat ini hampir semua orang memiliki smartphone di mana Android menguasai sistem operasi perangkat mobile jika dilihat jumlah penggunanya.

Jika kita menilik kembali 5 tahun belakangan ini, perkembangan teknologi web semakin cepat bila dibandingkan dengan tahun-tahun sebelumnya. Framework-framewok pengembangan aplikasi web pun tumbuh cepat apalagi sejak hadirnya node.js di mana Javascript dapat digunakan sebagai bahasa pemrograman back-end. Belum lagi Google perusahaan teknologi yang memang dulunya lahir sebagai aplikasi web menambahkan banyak fitur dalam Chrome agar para pengembang web dapat mendobrak batasan-batasan dalam aplikasi web.

Beberapa tahun yang lalu kita juga mengenal istilah responsive design yang sering dibawa-bawa oleh pengembang web dalam menawarkan jasanya. Responsive design waktu itu memang suatu yang sebaiknya dimiliki oleh website. Sekarang? Website bisa dikatakan ketinggalan jaman, jadul, atau bahkan bisa disangka artefak jika desainnya tidak responsif. Di tahun 2019 tren teknologi web sudah beralih ke teknologi yang lebih canggih dari sekedar desain yang responsif. Berikut ini adalah tren teknologi web yang bisa Anda bangga-banggakan dalam portfolio Anda sebagai pengembang web.

 

Progressive Web App

Progressive Web App mungkin adalah teknologi yang paling berpengaruh dalam pengembangan aplikasi web. Secara singkat, Progressive Web App (PWA) adalah aplikasi web yang memiliki experience layaknya aplikasi native baik mobile atau desktop. Experience ini dapat berupa push notification, dapat dibuka secara offline, serta akses terhadap hardware yang ada di device seperti GPS, kamera, dan sensor-sensor yang lain.

Teknologi ini diinisiasi oleh Google. Seperti yang kita ketahui bahwa selain Android, Google juga memiliki operating system yang dipakai di laptop dengan harga terjangkau yaitu Chrome OS. Pada dasarnya Chrome OS ini adalah sebuah browser yang dijadikan operating system dengan kernel Linux di dalamnya. Jadi agar environment Chrome OS ini tidak miskin aplikasi Google berusaha mendorong para web developer untuk menjadikan PWA sebagai standar aplikasi web. Selain itu, kabarnya Google juga sedang mengembangkan Fuchsia OS (sebuah operating system mirip Chrome OS tapi untuk perangkat mobile) yang disiapkan untuk menggantikan Android.

 

Teknologi Web Yang Akan Menjadi Tren di Tahun 2019 9

 

Contoh beberapa aplikasi terkenal yang sudah menggunakan teknologi PWA antara lain:

  • Alibaba
  • Twitter
  • The Washington Post

Anda bisa mengikuti Pelatihan Progressive Web App (PWA) dari Inixindo Jogja jika Anda ingin bisa mengembangkan web dengan teknologi ini.

Accelerated Mobile Pages

Siapa yang tak kenal Google News? Aplikasi milik Google yang tersedia di Android dan iOS ini memiliki fungsi membagikan berita ke pengguna sesuai dengan minat dari penggunanya. Konten yang dibagikan oleh Google News tersebut merupakan konten yang telah mendukung format Accelerated Mobile Pages (AMP). Accelerated Mobile Pages (AMP) adalah sebuah framework pengembangan web minimalis. Hanya HTML dan CSS saja dalam halaman web AMP tidak ada Javascript.

Misi dari AMP ini adalah me-load halaman web dalam waktu kurang dari dua detik. Oleh karena itu, penggunaan AMP cocok untuk halaman berita dan blog di mana konten artikel atau foto menjadi elemen utama. Selain itu, keuntungan sebuah halaman web yang mendukung format AMP adalah SERP. Ya! AMP ini sangat berpengaruh terhadap ranking halaman web di Google Search. Bukan rahasia lagi jika algoritma web crawler yang dimiliki Google sekarang lebih mengutamakan performa web sebuah eksternal link.

Anda bisa melihat dokumentasi dari AMP Project di sini.

 

Voice Search Optimization

Voice search memang fitur yang masih jarang dimanfaatkan oleh orang Indonesia. Home speaker pintar dari Amazon, Apple, atau Google bukan barang yang dicari. Memang fitur Google Assistant atau SIRI terpasang secara default di perangkat Android atau iPhone tapi karena terkendala oleh masalah bahasa masih jarang juga orang Indonesia yang memakai fitur ini. Walaupun begitu, seiring dengan berjalannya waktu, AI dari masing-masing voice assistant tentunya akan semakin pintar karena terus akan mempelajari bahasa selain Bahasa Inggris.

Voice search optimization merupakan metode optimasi halaman web agar pengguna dapat melakukan interaksi dengan halaman web tersebut melalui suara. Sebenarnya Voice Search Optimization memiliki tujuan yang mulia yaitu agar sebuah web dapat menjangkau siapa saja termasuk tuna netra. Dalam voice search API terdapat dua komponen yaitu speech recognition dan speech synthesis. Untuk melihat dokumentasinya Anda bisa klik di sini.

 

API First Development

Konektivitas antar aplikasi tentunya sudah menjadi suatu hal yang semestinya di jaman di mana hampir semua orang menggunakan aplikasi dalam aktivitas sehari-hari. Integrasi antar dua aplikasi atau lebih ini biasanya sering dimanfaatkan oleh website e-commerce dengan melakukan integrasi pembayaran, pengiriman, lokasi, ataupun kurs mata uang. Semuanya memanfaatkan teknologi yang disebut application programming interfaces (API).

API memang bukan teknologi baru yang baru di sini adalah development yang berbasis API. Apa bedanya? Biasanya pengembangan aplikasi atau web tidak terfokus pada API. Pengembangan API sering kali dianggap sebagai proyek sampingan yang tidak memiliki proses desain, pengembangan, dan testing yang baik.

Pada development tradisional proses yang biasanya terjadi adalah sebagai berikut:

  1. Tim R&D menciptakan desain aplikasi
  2. Tim back-end developers mengerjakan prototype sementara tim yang lain seperti QA dan front end menunggu.
  3. Setelah prototype jadi tim QA dan front-end mendapatkan akses dan langsung bekerja
  4. Jika terdapat bugs, penambahan fitur, atau pun improvement, siklus di atas akan berulang.

Teknologi Web Yang Akan Menjadi Tren di Tahun 2019 10

Sedangkan pada API first development, suatu tim tidak harus menunggu tim yang lain menyelesaikan sebuah pekerjaannya. API first development menggunakan API mocking (baca di sini untuk mengetahui apa itu API mocking) sehingga QA, back-end, dan front-end bisa bekerja secara simultan.

Teknologi Web Yang Akan Menjadi Tren di Tahun 2019 11

***

Itulah tadi teknologi web yang akan menjadi tren di 2019. Bagi kalian yang ingin membuat project web app tidak ada salahnya untuk belajar lebih dalam mengenai teknologi yang sudah disebutkan tadi.

Daftar Istilah A-Z Yang Sering Dipakai Dalam Machine Learning

Daftar Istilah A-Z Yang Sering Dipakai Dalam Machine Learning

Beberapa waktu yang lalu kami telah banyak menulis artikel tentang machine learning (konsep dasar, tutorial, sampai hubungan antara teori chaos dan machine learning). Karena banyak dari pembaca yang protes karena artikel tersebut penuh dengan istilah teknis dan agar para pembaca tidak perlu membuat machine learning yang dapat mengartikan istilah asing dalam artikel dan tutorial machine learning, maka kami akan membuatkan semacam glosarium untuk istilah-istilah yang sering dipakai dalam machine learning.

Kami akan memakai istilah asli yang ditulis dalam Bahasa Inggris untuk menghindari kesalahan pemilihan kata terjemahan. Istilah-istilah tersebut akan diurutkan secara alfabetik sehingga mempermudah Anda untuk melakukan pencarian.

*****

A/B Testing

Metode statistik dasar yang digunakan untuk membandingkan 2 cara atau lebih. A/B testing digunakan untuk mengukur cara/teknik mana yang memiliki performa lebih tinggi. Selain itu A/B testing juga digunakan untuk mengetahui seberapa signifikan perbedaan antar teknik/cara tersebut.

Artificial Intelligence

Sebenarnya istilah ini sudah dibahas pada artikel sebelumnya tapi demi kepentingan kelengkapan glosarium, kami tetap akan membahasnya.  Artificial intelligence jika diterjemahkan secara harfiah adalah kecerdasan buatan. Istilah ini sebenarnya sudah lama dipakai bahkan awal perkembangan teknologi komputer. Konsep artificial Intelligence yang sering disingkat sebagai AI ini adalah bagaimana membuat mesin dalam hal ini komputer dapat berpikir layaknya manusia mulai dari analisis sampai pengambilan keputusan. Nah, machine learning termasuk salah satu metode dalam artificial intelligence di mana komputer dapat belajar dengan sendirinya untuk menjadi ‘cerdas’.

Classification Model

Salah satu tipe machine learning yang dapat membedakan dua data atau lebih menurut kelas. Contohnya dalam model natural pengklasifikasian bahasa yang dapat membedakan apakah suatu kalimat ditulis dalam Bahasa Inggris, Perancis atau Bahasa Indonesia. Contoh lain untuk model machine learning adalah regression model.

Clustering

Metode dalam mengidentifikasi data dengan cara membuat grup data secara vektoral berdasarkan kemiripan data. Metode ini digunakan dalam unsupervised learning. Ada beberapa metode clustering seperti K-mean dan K-median.

Data Augmentation

Data augmentation merupakan metode untuk meningkatkan jumlah examples dengan cara mentransformasi example yang sudah ada. Sebagai contoh, jika Anda ingin membuat machine learning yang bisa mengidentifikasi bunga akan tetapi Anda hanya punya satu gambar bunga sebagai example. Karena machine learning merasa butuh lebih dari satu example, maka dia menciptakan gambar baru dengan cara memutar, men-distort, ataupun membalik gambar tadi sehingga tercipta beberapa example baru.

Data Set

Kumpulan dari beberapa example.

Deep Model

Deep model ini biasa disebut dengan istilah deep learning. Deep model menggunakan metode berlapis (neural networks) yang disebut layer di mana setiap lapisan layer terdiri dari neuron. Di tengah lapisan itu terdapat lapisan yang disebut dengan hidden layers. Model ini terinspirasi dari bagaimana cara otak manusia bekerja.

Example

Satu barisan dalam satu data set yang memiliki feature dan label.

Feature

Sebuah input variabel dalam membuat prediksi.

Hierarchical Cluster

Metode clustering yang dilakukan dengan membuat cabang-cabang bertingkat. Metode ini terinspirasi dari bagaimana manusia mengidentifikasi jenis hewan atau tanaman melalui spesies, jenis, ordo, dsb.

K-Means

Sebuah metode clustering yang paling populer dalam unsupervised learning. K-means membuat cluster berdasarkan jarak antara titik tengah yang disebut centroids dengan example.

K-Median

K-Median hampir mirip dengan metode K-Means. Bedanya adalah formula dalam menentukan cluster.

Label

Label merupakan hasil dari pengelompokan example melalui clustering. Sebagai contoh, machine learning yang berfungsi menyaring email spam, melabeli setiap example dengan ‘spam’ atau ‘not spam’.

Model

Model sebenarnya merupakan sebuah fungsi yang berfungsi mengatur bagaimana machine learning mengambil input dan mengeluarkan output yang berupa prediksi.

Neural Network

Neural network merupakan kumpulan layer yang setiap layer-nya terdiri dari sebuah neuron. Neuron berfungsi layaknya transistor dalam komponen elektronik. Bedanya, jika transistor memiliki 3 kaki, neuron memiliki jumlah kaki yang tergantung dari posisi layer dan jumlah neuron di dalam layer.

Regression

Regression (mengacu pada regression model) adalah sebuah model menghasilkan nilai output berupa bilangan pecahan (floating point). Berbeda dengan classification model yang memiliki bilangan bulat pada outputnya.

Supervised Learning

Merupakan model pembelajaran pada machine learning di mana kita menentukan label pada beberapa example dengan harapan machine learning dapat menentukan label terhadap input baru yang masuk.

Unsupervised Learning

Kebalikan dari supervised learning, dalam model pembelajaran unsupervised learning ini kita tidak menentukan label dalam dataset. Metode ini menggunakan clustering di mana machine learning melakukan pengelompokan sendiri di dalam data set.

<div id="glossary" style="position: fixed; padding: 20px 10px 20px 10px; background:#eeeeee;"><!-- [et_pb_line_break_holder] --><a href="#ab-testing">A</a><!-- [et_pb_line_break_holder] --><a href="#classific-model">C</a><!-- [et_pb_line_break_holder] --><a href="#data-aug">D</a><!-- [et_pb_line_break_holder] --><a href="#examp">E</a><!-- [et_pb_line_break_holder] --><a href="#feat">F</a><!-- [et_pb_line_break_holder] --><a href="#hierarchi">H</a><!-- [et_pb_line_break_holder] --><a href="#k-means">K</a><!-- [et_pb_line_break_holder] --><a href="#labell">L</a><!-- [et_pb_line_break_holder] --><a href="#Modell">M</a><!-- [et_pb_line_break_holder] --><a href="#Neural">N</a><!-- [et_pb_line_break_holder] --><a href="#Regression">R</a><!-- [et_pb_line_break_holder] --><a href="#supervise">S</a><!-- [et_pb_line_break_holder] --><a href="#unsupervise">U</a><!-- [et_pb_line_break_holder] --></div>

***

Jika Anda tertarik untuk bisa membuat machine learning yang dapat membantu perusahaan/organisasi Anda dalam mengambil keputusan, Anda bisa mengikuti Kelas Pelatihan Machine Learning dari Inixindo Jogja. Klik di sini untuk info lebih lanjut dan permintaan penawaran.

Machine Learning Yang Mencoba Mengubah Teori Chaos

 

Pernahkah kita melihat langit di malam hari apapun alasannya, baik itu gara-gara kurang kerjaan, sedang melakukan penelitian di bidang astronomi, atau pun sedang berbasa-basi pada kencan pertama karena grogi. Jika kita perhatikan susunan bintang di angkasa tampak seperti titik-titik terang acak yang tersebar di angkasa. Tapi terkadang ada satu pertanyaan konyol tiba-tiba saja muncul dalam pikiran ‘kenapa letak Alpha Centauri di sini dan Proxima Centauri di situ?’

 

Kita Hidup di Dunia yang Tak Beraturan

Pertanyaan macam itu sebenarnya tak hanya muncul, saat kita melihat bintang saja. Pada masa di mana manusia masih belum bisa memprediksi cuaca, turunnya hujan pun dianggap sesuatu yang acak. Memang dari dulu kita sudah bisa menentukan kapan pergantian musim akan terjadi tapi jam berapa dan berapa lama akan turun hujan kita sama sekali tidak memiliki gambaran. Berbeda dengan sekarang, di mana kita bisa mengetahui jam berapa dan seberapa deras hujan yang akan turun.

Tak hanya masalah cuaca, di dunia indah yang kita tinggali ini banyak pola-pola acak yang membuat manusia kehabisan akal untuk bisa memprediksinya termasuk perilaku manusia itu sendiri. Itulah mengapa dunia pemasaran yang sangat dipengaruhi oleh perilaku manusia dianggap sebagai kawin silang antara ilmu ekonomi dan seni.

 

Teori Chaos

Walaupun disebut sebagai sesuatu yang tak beraturan, sebenarnya pola-pola acak memiliki teorinya sendiri yang terkenal dengan sebutan chaos theory. Teori ini pertama kali dikemukakan oleh Edward Lorenz seorang matematikawan dan meteorologis dari Amerika Serikat. Saat dia hendak memasukkan angka variabel dalam program komputernya, Lorenz terburu-buru mengambil kopi sehingga angka yang dia masukan tak lengkap selisih 3 angka di belakang koma dari yang seharusnya 0,506127 menjadi 0,506 . Selisih angka yang tak seberapa ini ternyata merubah seluruh pola perkiraan cuaca.

Kejadian ini kemudian dimetaforakan oleh Lorenz bahwa satu kepakan kupu-kupu di Amazon dapat menyebabkan badai di New York yang kemudian disebut dengan ‘butterfly effect’.  Butterfly Effect merupakan lahirnya teori chaos. Pada tahun 2007 Lorenz mengatakan bahwa teori chaos membuktikan bahwa cuaca tak bisa diprediksi jauh-jauh hari sebelumnya. Teknologi paling canggih yang digunakan sekarang hanya bisa memprediksi cuaca paling lama 2 minggu ke depan.

Jika kita berpikir secara mendalam lagi, chaos atau ketidakteraturan dialami oleh hal yang paling mendasar di alam semesta kita yaitu pergerakan atom yang masih menjadi misteri. Bahkan umat manusia tercatat telah membangun terowongan sepanjang 27 KM (Large Hadron Collider)  hanya untuk meneliti pergerakan partikel penyusun atom ini.

 

Bagaimana Machine Learning Memprediksi ‘Ketidakteraturan’.

Machine learning merupakan teknologi baru yang mencoba untuk menyelesaikan permasalahan teori chaos ini. Machine learning menggunakan teknik statistik dalam sebuah sistem komputer yang menganalisis data di mana data tersebut masih terus berkembang. Untuk memahami machine learning secara fundamental, Anda dapat mengunjungi artikel Mengenal Machine Learning dari kami sebelumnya.

Machine learning sebenarnya dituntut untuk menciptakan model dari sebuah sistem chaos yang masih sama sekali belum diketahui rumus persamaannya seperti menentukan gerakan api dari kayu yang terbakar. Memang tugas yang diberikan oleh machine learning terdengar tidak mungkin untuk diselesaikan. Akan tetapi dengan data yang cukup, machine learning dapat menentukan cluster data yang digunakan untuk mengklasifikasikan data. Metode ini adalah metode yang digunakan dalam mekanika kuantum di mana pergerakan elektron memiliki suatu pola yang sebenarnya tidak terlalu acak jika kita memiliki mengamati pergerakannya sebanyak satu juta kali misalnya.

Metode data clustering ini termasuk dalam kategori unsupervised learning di mana kita sama sekali tidak memprogram “mesin yang sedang belajar” ini untuk memberi label terhadap input data. Si mesin hanya membuat grup data berdasarkan kemiripan antara satu data dengan data yang lain. Jika Anda pernah beriklan di FB Ads atau Google Ads, Anda tentunya familiar dengan istilah ‘look alike’ atau ‘similar user’. Istilah tersebut digunakan dalam menentukan target audience dari iklan yang akan kita tayangkan di media sosial atau pun di search engine. Look a Like (digunakan oleh Facebook) atau Similar User (digunakan oleh Google) merupakan kelompok audience memiliki kesamaan atribut data dengan pengguna apps atau pengunjung website yang kita miliki. Tentunya metode ini hanya bisa digunakan jika kita telah melakukan pengumpulan data (data mining) bisa dengan Google Analytics maupun Facebook Pixel. Lalu apa saja kesamaan data yang dimiliki target audience tersebut dengan pengguna apps atau pengunjung website kita? Kita tak akan pernah tahu dan mungkin si pembuat machine learning milik Google atau Facebook juga tak seberapa tahu.

 

Dengan Adanya Machine Learning Apakah Masih Ada Yang Disebut Dengan Ketidakteraturan?

Sebenarnya masih banyak persoalan yang masih belum terpecahkan walaupun kita menggunakan machine learning. Akan tetapi jika kita memberi kesempatan kepada machine learning untuk terus belajar siapa tahu machine learning akan mengalahkan manusia di segala bidang. Bahkan belakangan perusahaan search engine terbesar di dunia sedang mengembangkan machine learning dalam Artificial Intelligence yang bisa membuat Artificial Intelligence sendiri.

Perkembangan machine learning yang semakin cepat ini kemudian memunculkan pertanyaan di atas, apakah masih ada yang disebut dengan ketidakteraturan? Apakah semua hal di semesta ini cuma sebuah algoritma hukum sebab-akibat?

 

****

 

Jika Anda tertarik untuk mempelajari machine learning lebih dalam lagi, Anda dapat mengikuti Kelas Machine Learning yang diselenggarakan oleh Inixindo Jogja.

Infografis Tentang Informasi & Data Mengenai Infografis

Infografis Tentang Informasi & Data Mengenai Infografis

 

Meme di atas mungkin adalah gambar ilustrasi yang memiliki tingkat relevansi paling tinggi terhadap judul dari puluhan artikel yang ada di Inixindo Jogja. Agak berbeda dari artikel-artikel sebelumnya, artikel tentang infografis kali ini akan disampaikan dalam bentuk infografis. Kami berpendapat bahwa jika disampaikan dalam bentuk tulisan akan menjadi hal yang kontra produktif. Itulah alasan kami menyampaikan informasi tentang infografis dengan infografis. Agar keren Anda juga boleh menyebutnya sebagai infographiception.

 

“Infografis menjadi populer sejak beberapa dekade lalu, bahkan sebelum adanya internet booming”

Infografis Tentang Informasi & Data Mengenai Infografis 12
Infografis Tentang Informasi & Data Mengenai Infografis 13
Infografis Tentang Informasi & Data Mengenai Infografis 14

“Secara alami, sinyal visual lebih cepat dan mudah ditangkap oleh manusia”

Infografis Tentang Informasi & Data Mengenai Infografis 15
Infografis Tentang Informasi & Data Mengenai Infografis 16
Infografis Tentang Informasi & Data Mengenai Infografis 17

“Terlebih lagi sekarang manusia terpapar dengan jumlah informasi yang lebih banyak dibanding sebelumnya”

Infografis Tentang Informasi & Data Mengenai Infografis 18

“Infografis lebih menarik perhatian audiens bila dibandingkan dengan informasi berupa teks biasa”

Infografis Tentang Informasi & Data Mengenai Infografis 19

“Tulisan yang disertai gambar lebih mudah dipahami”

Infografis Tentang Informasi & Data Mengenai Infografis 20

“Informasi visual dapat membantu untuk mempersuasi”

Infografis Tentang Informasi & Data Mengenai Infografis 21

“Jika Anda ingin mempelajari lebih dalam tentang Infografis,

Anda dapat mengikuti kelas ‘Boost Your Data Visualization with Infographic’

di Inixindo Jogja”

Untuk informasi dan pendaftaran kunjungi tautan berikut!

Infografis Tentang Informasi & Data Mengenai Infografis 22

Kiat-Kiat Menjadi Programmer Freelance

Beberapa bulan lalu kita telah sempat membahas tentang tips belajar coding secara otodidak. Siapa tahu setelah beberapa bulan membaca artikel itu kalian sudah menjadi seorang programmer yang siap tempur di dunia nyata. Inilah saatnya kalian memutuskan apakah ingin bekerja di perusahaan atau menjadi programmer freelance. Tentu keduanya ada plus minusnya. Bagi programmer ‘kantoran’ yang sudah ngebet ingin jadi programmer freelance gara-gara iri melihat teman seperjuangan yang berstatus pekerja lepas bisa kerja sambil jalan-jalan, tahan dulu hasrat kalian yang sudah memucuk itu karena kita akan membahas kelebihan dan kekurangan dari masing-masing model kerja antara freelance dan employee terlebih dahulu.

 

Programmer Kantoran

Programmer kantoran biasanya dibagi lagi menurut perusahaan yang merekrutnya, jika berada di perusahaan yang sudah bertransformasi ke arah digital apalagi tech start up, kalian akan lebih diarahkan untuk menjadi seorang spesialis. Akan tetapi, jika kalian bekerja di perusahaan kecil apalagi yang belum melek digital siap-siap saja disuruh untuk menjadi programmer setengah dewa, single fighter, atau apapun istilahnya karena semua yang berhubungan dengan software diserahkan oleh programmer. Bahkan tak jarang programmer yang memiliki sambilan sebagai IT support.

Secara umum programmer kantoran tidak jauh berbeda dengan pekerja kantoran yang lainnya, jam kerja yang rutin, fasilitas-fasilitas yang sudah disediakan seperti tempat kerja, perlengkapan dan alat-alat kerja, bahkan mungkin asuransi yang ditanggung oleh perusahaan. Tak perlu mengeluarkan modal kecuali badan dan otak.

 

Programmer Freelance

Programmer freelance memiliki keuntungan di jam kerja yang suka-suka, tempat kerja yang suka-suka, dan workflow yang tentunya juga suka-suka. Maka tak heran jika banyak freelancer yang bisa berpelesir ke luar negeri dan masih bisa meneruskan project yang sedang ditanganinya. Selain itu, freelancer juga bisa memilih project seperti apa yang akan dia terima. Hal ini jarang bisa dilakukan oleh programmer kantoran karena mau tak mau dia harus mengikuti alur kerja yang sudah ditetapkan oleh perusahaan.

Akan tetapi, menjadi seorang programmer freelance memiliki sebuah resiko yang besar yaitu tidak mendapatkan klien sama sekali. Bahkan ada beberapa programmer kantoran yang memutuskan untuk jadi freelance tapi akhirnya memutuskan untuk kembali bekerja sebagai programmer kantoran. Sama seperti seorang pengusaha, jika kalian ingin menjadi programmer freelance kalian tidak hanya harus memikirkan tentang kode yang kalian tulis, tapi kalian juga diwajibkan untuk memikirkan bagaimana memasarkan dan mengelola diri kalian sendiri.

Jika sudah memikirkan masak-masak dan yakin bahwa menjadi programmer freelance adalah jalan hidup kalian, kita akan bahas bagaimana kiat-kiat agar menjadi programmer freelance yang sukses.

 

Menjadi Seorang Spesialis

Seperti yang sudah dibahas sebelumnya bahwa jika bekerja di perusahan besar yang melek digital atau tech startup kita diharapkan untuk menjadi seorang spesialis. Seorang spesialis ini adalah seorang yang benar-benar menguasai suatu bahasa pemrograman atau framework tertentu. Kebanyakan dari para perekrut freelancer membutuhkan programmer freelance untuk membantunya menyelesaikan project. Oleh karena itu, para perekrut tersebut sengaja mencari freelancer dengan keahlian yang tidak dimiliki oleh tim yang sudah ada.

Permasalahan yang timbul adalah seperti di bidang fashion, teknologi pun mempunyai tren yang bisa berubah sewaktu-waktu. PHP contohnya, dua tahun lalu bahasa pemrograman PHP dan framework-framework-nya masih merajai pemrograman back-end. Pada tahun ini Javascript pelan-pelan mulai mengambil alih pemrograman backend dengan Node.Js. Itulah mengapa jika kita ingin menjadi programmer freelance kita harus memiliki spesialisasi yang bisa menyesuaikan perkembangan teknologi. Intinya adalah jangan pernah lelah untuk belajar.

 

Perbanyak Portfolio

Sangat jarang atau bahkan mungkin tidak ada perekrut yang melakukan proses seleksi dengan melakukan tes terhadap programmer freelance yang hendak dia rekrut. Selain karena menghabiskan waktu, para freelancer juga biasanya enggan untuk melakukan tes mungkin karena posisi geografis yang berjauhan. Para perekrut tersebut melakukan seleksi dengan cara melihat portfolio para freelancer terlebih dahulu.

Di awal karir, kalian bisa membangun portfolio dengan mengerjakan project pribadi atau bergabung dengan project “kerja bakti” yang biasanya juga diinisiasi oleh sesama programmer freelance. Ingat, portfolio bagi programmer freelance adalah senjata utama. Kekuatannya lebih ampuh daripada ijazah S2 Teknik Informatika sekalipun.

 

Tentukan Tarif Kerja

Project pribadi dan project “kerja bakti” telah selesai. Kini saatnya menilai dan menghargai (makna sebenarnya yaitu menetapkan harga, Red) diri kita sendiri. Kita bisa membandingkan dengan harga pasaran yang ada di situs-situs crowdsourcing seperti Upwork atau Freelancer. Kunjungi profil dari freelancer yang lain. Buka portfolionya. Cari tahu keahliannya lalu bandingkan semuanya dengan apa yang kita punya. Di sinilah objektivitas dan kepercayaan diri kalian akan diuji melalui pertanyaan ‘apakah pantas saya memiliki rate sama dengan orang itu atau bahkan lebih tinggi’ dan jangan lupa sesuaikan juga dengan standar di tempat domisili kalian.

Dalam dunia freelance para programmer memiliki rate per jam kerja tapi juga ada yang menerapkan tarif per project. Sebaiknya kalian menentukan tarif di keduanya supaya bisa memberikan klien opsi lebih.

 

Jual Keahlianmu

Kata ‘menjual diri’ mungkin dianggap negatif bagi sebagian orang. Tapi jika kalian memutuskan untuk menjadi seorang programmer freelance, kalian mau tak mau melakukan proses pemasaran keahlian kalian sendiri. Programmer freelance haruslah paham mengenai konsep personal branding. Bayangkanlah nama kalian menjadi sebuah brand mirip seperti praktisi advokat hukum atau praktisi periklanan di mana nama merekalah yang menjadi merk dagang.

Selain mem-branding diri, kalian juga harus memperbanyak network dengan bergabung di berbagai macam komunitas. Seperti yang disebut di atas, banyak klien datang dari kalangan programmer sendiri karena mereka memang kekurangan tenaga. Bukan tidak mungkin antara sesama programmer freelance kemudian membentuk kongsi software house sendiri.

 

***

Bagaimana? Setelah tahu bahwa menjadi programmer freelance tidak semudah copy paste fungsi di Stack Overflow masihkah niat kalian menggebu-gebu? Tapi jangan khawatir, tantangan yang lebih besar akan membuat diri kita terus berkembang.