Galih Laras Prakoso - Galih Laras Prakoso

GALIH L. PRAKOSO

I AM

About me

Hello

I'mGalih Laras Prakoso

Developer and Startup entrepreneur

I am a web and mobile application developer. I love computers since childhood, starting from the joy of playing games, over time I began to learn many things about computers. Until finally, I decided to continue my high school in vocational high school and took multimedia major. That's where I started learning a lot about computers in the school, I also began to learn about design and program. When I was in the middle of my study, I had the opportunity to take part in a web design competition from the provincial level to the national level.


My love for computers continue until I finally went to university in Jogja called UKRIM (Immanuel Christian University) I majored in Informatics Engineering. I graduated 4 years, graduated in 2018 with the thesis title "Building Artificial Intelligence in Fighting Games Using Backpropagation Artificial Neural Network Algorithm". In my final year of college while working on my thesis I began to fall in love in the world of mobile application development. I work on many little projects that I initiate myself.


After graduating from college, I met with Binar, a social business initiated by Alamanda Shantika. I joined the Career Hub so that I could finally work at a startup called Sayur Box (sayurbox.com). This is where my career started as a mobile application developer. To be continued...

experience

President of Student Excecutive Board

2015-2016

Immanuel Christian University Yogyakarta

Mobile Application Developer

2018- Now

Sayur Box (www.sayurbox.com)

WHAT CAN I DO

Web Development

HTML, CSS, PHP, Node.js, Express Framework, Vue, Angular, React, Laravel Framework.

Mobile App Development

Native Android, Kotlin, Firebase, Dagger 2, RxJava, React Native, Flutter.

Graphic Design

Corel Draw, Adobe Photoshop, Adobe Illustrator, Sketch.

Programming Language

Java, PHP, Python, C#, Kotlin, JavaScript.

Multimedia

Sony Vegas Pro, Premiere, After Effect, Adobe Flash (Animation), FLStudio, Reaper.

Music

Violin, Guitar, Bass, Drum, Guitar, Javanese Traditional Instruments.

22

Awards and Certificates

4

Mobile Applications

9

Web Applications

20

Projects

SOME OF WORK

Privacy Policy - YTube View Booster

ytube-view-booster

Privacy Policy

Galih Laras Prakoso built the YTube View Booster app as a free and ad-supported app with in app purchase. This SERVICE is provided by Galih Laras Prakoso and is intended for use as is.
This page is used to inform app users regarding my policies with the collection, use, and disclosure of Personal Information if anyone decided to use my Service.
If you choose to use my Service, then you agree to the collection and use of information in relation with this policy. The Personal Information that i collect are used for providing and improving the Service. I will not use or share your information with anyone except as described in this Privacy Policy.
The terms used in this Privacy Policy have the same meanings as in my Terms and Conditions, which is accessible at YTube View Booster, unless otherwise defined in this Privacy Policy.

Information Collection and Use
For a better experience while using my Service, i may require you to provide us with certain personally identifiable information, including but not limited to email, user's point, user's video count, user's first impression feedback, users's premium status and also user's app click events. The information that i request  will be retained by us and used as described in this privacy policy.
The app does use third party services that may collect information used to identify you. We send the collected data to Crashlytics via Firebase.

Log Data
I want to inform you that whenever you use my Service, in case of an error in the app I collect data and information (through third party products) on your phone called Log Data. This Log Data may include information such as your devices’s Internet Protocol (“IP”) address, device name, operating system version, configuration of the app when utilising my Service, the time and date of your use of the Service, and other statistics.

Service Providers
I may employ third-party companies and individuals due to the following reasons:
  • To facilitate our Service;
  • To provide the Service on our behalf;
  • To perform Service-related services; or
  • To assist us in analyzing how our Service is used.
I want to inform users of this Service that these third parties have access to your Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.

Security
I value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and I cannot guarantee its absolute security.

Links to Other Sites
This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by me. Therefore, I strongly advise you to review the Privacy Policy of these websites. I have no control over, and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.

Children’s Privacy
This Services do not address anyone under the age of 13. I do not knowingly collect personal identifiable information from children under 13. In the case I discover that a child under 13 has provided me with personal information, I immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact me so that I will be able to do necessary actions.

Changes to This Privacy Policy
I may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. I will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.

Contact Us
If you have any questions or suggestions about my Privacy Policy, do not hesitate to contact me.

This Privacy Policy page was created at privacypolicytemplate.net.

#1 - Tutorial logika dasar pemrograman menggunakan Scratch

tutorial-menggunakan-aplikasi-scratch-0
Selamat datang di bagian pertama dari rangkaian cara menjadi programmer pemula hingga profesional. Saya akan berasumsi bahwa kalian semua yang mengikuti tutorial ini adalah orang yang memang baru pertama kali masuk ke dalam dunia pemrograman. Karena kita akan benar-benar memulai semuanya dari nol.

Pada bagian pertama dari rangkaian tutorial ini, saya akan mengajak kalian untuk memahami logika dasar yang nantinya akan banyak membantu kita untuk berfikir kreatif layaknya programmer. Bagaimana kita dapat membuat rangkaian algoritma sederhana untuk menciptakan sesuatu yang kita inginkan.

Scratch - Imagine, Program and Share.

Scratch adalah sebuah aplikasi yang dikembangkan oleh Lifelong Kindergarten Group dari the MIT Media Lab. Dengan aplikasi ini kita bisa menciptakan sebuah cerita interaktif, animasi dan bahkan game. Lalu aplikasi ini juga merupakan platform yang memungkinkan kita untuk saling berbagi karya dengan para pengguna lain.

Scratch memang terlihat seperti aplikasi yang di desain untuk anak-anak. Tapi sebenarnya, aplikasi ini juga bisa kita digunakan untuk orang dewasa yang ingin belajar tentang pemrograman. Aplikasi ini sangatlah sederhana dan sangat mudah untuk dipelajari. Scratch mengajarkan kita untuk dapat berfikir kreatif dan sistematis dan melatih kita untuk dapat bekerja sama dengan orang lain.

Mulai Menggunakan Aplikasi Scratch

Sebelumnya, saya sarankan anda untuk menggunakan komputer untuk menggunakan Scratch. Karena akan lebih mudah karena tampilannya antarmukanya akan lebih luas.
  1. 1. Langsung saja kunjungi aplikasi web nya di alamat ini : https://scratch.mit.edu/ .
  2. 2. Klik 'Join Scratch' untuk mendaftar. Jika sudah pernah mendaftar silahkan klik 'Sign in'.
  3. 3. Lalu kita bisa melihat tampilan utama dari aplikasi Scratch yang akan terlihat seperti ini :
    logika-dasar-aplikasi-scratch-1
    Pada tampilan halaman utama scratch, kita bisa melihat proyek-proyek yang dibuat oleh pengguna-pengguna lain. Kalian bisa melihat-lihat terlebih dahulu.
  4. 4. Untuk mulai membuat proyek Scratch, kalian bisa melakukannya dengan mengklik tombol 'Create' yang pada menu di atas.
  5. 5. Setelah itu, anda akan dibawa ke menu editor yang akan terlihat seperti ini :
    logika-dasar-aplikasi-scratch-2

    Pada gambar di atas kita bisa melihat tampilan yang begitu sederhana dari aplikasi Scratch. Di sebelah kiri adalah 'Tools' apa saja yang bisa kita gunakan, di bagian tengah adalah tempat utama kita untuk menyusun logika yang akan menggerakkan proyek kita, di sebelah kanan adalah preview sekaligus sprite editor yang dapat kita gunakan untuk menambah sprite atau backdrop.

Proyek Pertama Anda Menggunakan Scratch

Yap, setelah anda mengikuti langkah-langkah bagaimana untuk mulai menggunakan aplikasi Scratch. Selanjutnya kita akan membuat sesuatu yang sangat sederhana menggunakan Scratch yang nantinya pengetahuan dasar ini dapat anda gunakan untuk melanjutkan pembelajaran mandiri dengan membuat proyek - proyek yang lebih kompleks menggunakan aplikasi Scratch. (Langkah - langkah ini akan lebih mudah diikuti jika anda melihat langsung video yang ada pada tutorial ini).
  1. 1. Pertama, fokus pada editor pada bagian kiri yang saya sebut dengan 'Tools'. Terdapat tiga bagian yang dipisah menggunakan tab pada menu ini yaitu Code, Costumes dan Sounds.
    - Code. adalah menu yang digunakan untuk memodifikasi logika pada proyek yang kita buat. Dengan tools inilah kita dapat menggerakkan 'sprite' / karakter pada proyek kita, menambahkan 'events' jika pengguna aplikasi yang kita buat menekan tombol atau menekan keyboard, atau memodifikasi tampilan dari karakter yang ada pada proyek kita jika ada suatu kondisi yang terpenuhi.
    - Costumes. Pada menu ini kita dapat mengubah tampilan dari karakter yang ada pada proyek kita.
    - Sounds. Pada menu ini kita dapat mengedit suara yang ada pada proyek kita.
  2. 2. Pada tutorial ini saya hanya akan fokus pada tools yang ada pada tab 'Code'. Karena disinilah terletak logika-logika yang akan membantu kita untuk semakin bisa berfikir seperti seorang programmer.
  3. 3. Langsung saja klik menu Events yang ada pada tab 'Code'.
  4. 4. Masukkan event 'When [Logo bendera hijau] clicked' ke proyek kita dengan cara melakukan drag & drop ke lembar kerja utama kita. Jika berhasil, maka tampilan lembar kerja utama akan terlihat seperti ini :
    logika-dasar-aplikasi-scratch-3
  5. 5. Setelah menambahkan event yang akan men-trigger aksi sesuai kondisi yang kita inginkan, anda bisa menambahkan aksi apa yang akan terjadi jika kondisi tersebut terpenuhi. Mari kita mulai dengan menambahkan 'Looks'. Klik menu 'Looks' dan pilih 'Say hello for 2 seconds' (Drag & drop). Jika berhasil maka tampilannya akan terlihat seperti ini :
    logika-dasar-aplikasi-scratch-4
  6. 6. Setelah berhasil melakukan langkah di atas, anda bisa langsung mencoba menjalankan Proyek anda dengan mengklik logo bendera yang ada pada bagian kanan 'Editor'. Jika berhasil, maka gambar kucing yang ada pada menu editor akan mengucapkan kata 'Hello!' yang terlihat seperti gambar di bawah ini :
    logika-dasar-aplikasi-scratch-5
Yap, dari tutorial di atas, anda bisa mulai menjelajahi 'Tools' lain yang memungkinkan anda untuk membuat sesuatu yang lebih kreatif. Anda bisa membuat game sederhana dengan menambahkan fungsi kontrol. Untuk mempelajari lebih dalam tentang aplikasi Scratch. Silahkan melihat video yang ada pada tutorial ini.

#1 - Mengenal React.js Lebih Dalam - Introduksi

reactjs logo
Sejalan dengan perjalananku untuk mengenal React.js lebih dalam. Aku akan menulis rangkaian hasil pembelajaranku di blog ini. Selain untuk catatan pribadiku, aku harap ini juga bisa bermanfaat bagi kalian yang membacanya. React.js tentu sangat kompleks secara keseluruhan namun jika kita memahami setiap bagian kecilnya, tentunya suatu saat kita juga dapat memahaminya secara keseluruhan. 😁

Oh iya, sebelum kita lanjut, aku perjelas ya. Pada rangkaian artikelku ini aku ga akan bahas tentang bagaimana cara menggunakan React.js ya. Aku akan lebih berfokus untuk lebih memahami cara kerja dari React.js secara teknis dan mendalam.

Apa itu React.js?

Pengertiannya cukup sederhana, React.js adalah library yang digunakan untuk membuat UI (User Interface). React.js memecah - mecah setiap bagian kecil dari UI dan menyebutnya dengan nama Component.

Mungkin bagi kita yang sudah lama menggunakan React, kita sudah sangat familiar dengan konsep React yang cukup jelas secara high-level. Konsep mengenai component dan lifecycle-nya, method render() tempat dimana kita biasa mendefiniskan struktur UI pada komponen dengan JSX (Javascript XML) dan juga sebenarnya yang sangat menarik adalah adanya algoritma untuk mendeteksi perubahan state atau props-nya.

Algoritma pada bagian akhir paragraf di atas tentu sangatlah penting, karena algoritma itulah yang menentukan kapan komponen akan melakukan update pada UI / Screen.

Secara teknis, proses yang dibicarakan pada paragraf di atas disebut dengan reconciliation atau rekonsiliasi. Kalau kalian sudah familiar dengan React.js, kalian tentu tahu salah satu method pada komponen React yang bernama setState(). Pada saat method tersebut dipanggil, React.js akan melakukan apa yang disebut dengan reconciliation untuk mengecek apakah terjadi perubahan pada state atau props pada setiap komponent. Jika terjadi perubahan, maka React.js akan memutuskan untuk me-render ulang komponen tersebut untuk meng-update tampilannya di UI.

Mungkin kalian pernah mendengar kalau tree yang dikembalikan oleh method render() sering disebut sebagai Virtual DOM. 😦Bagi beberapa orang mungkin istilah tersebut dapat mempermudah pemahaman terhadap React tapi mungkin juga beberapa orang yang lain jadi tambah bingung. 😂 FYI, istilah tersebut juga sudah tidak digunakan pada dokumentasi resmi React. Mmm, yaudah gini aja, kita sepakat untuk menyebutnya dengan "tree of elements" lebih simple.

React sebenarnya juga memiliki "tree of internal instances" berbeda dengan tree  yang disebut pada paragraf sebelumnya, instances yang dimaksud disini adalah components, DOM node, dsb. React mulai mengimplementasikan hal ini mulai dari versi React yang ke 16. Selain itu React juga mengimplementasikan sebuah algoritma yang digunakan untuk mengelola "tree of internal instances" tersebut. Algoritma itu bernama Fiber.

Pada artikel selanjutnya. Kita akan benar-benar memulai perjalanan kita untuk mengenal React lebih dalam lagi dengan mempelajari Fiber.

Tutorial membuat RESTful API menggunakan framework Flask [ Python ] #1 Persiapan

python-flask-restful-api
Kali ini, aku akan berbagi ilmu dari dunia backend. Ya berhubung sekarang juga sedang menggunakan hal yang sama dengan apa yang akan aku bagikan untuk mendukung pekerjaanku. Sangat tepat waktunya jika aku juga membagikannya sekarang agar kita bisa saling belajar dan berbagi sehingga makin banyak hal yang bisa kita pelajari bersama. 😁

Sebelumnya aku sudah menulis artikel tentang RESTful API yang menjelaskan apa itu RESTful API. Kalian bisa membacanya di SINI. Sebelum lebih dalam lagi untuk belajar bagaimana membuat RESTful API alangkah baiknya kalian memahaminya terlebih dahulu.

Pada tutorial ini, kita akan bersama-sama membuat RESTful API dengan menggunakan bahasa pemrograman Python. Untuk framework-nya kita akan menggunakan Flask. Sebelum mulai mengikuti tutorial ini. Seperti biasa, ada beberapa hal yang harus dipenuhi terlebih dahulu :
  • 1. Pastikan kalian paham dulu tentang Apa itu RESTful API.
  • 2. Pastikan kalian sudah menginstal Python di komputer kalian. (Download)
  • 3. Pastikan kalian sudah menginstal Git. (Download)
1. Menyiapkan Project
Pertama, silahkan buka terminal / cmd yang ada pada komputermu lalu buat folder 'latihan' dengan menggunakan perintah ini :
mkdir latihan
Setelah itu, masuk ke folder yang sudah dibuat tersebut dengan perintah ini :
cd latihan
 Setelah berada di folder latihan melalui terminal, kita akan mulai menginstal beberapa python module yang kita butuhkan untuk membuat project ini. Yang pertama kita akan menginstal Virtual Environtment (virtualenv). Eksekusi perintah ini di terminal :
pip install virtualenv
Setelah itu kita butuh satu module lagi untuk mempermudah kita membuat RESTful API dengan Flask yaitu Cookiecutter. Cookiecutter adalah tool yang akan membantu kita mempersiapkan project RESTful API beserta beberapa module lain yang diperlukan serta struktur folder yang sudah tertata dilengkapi dengan beberapa hal lain yang sangat mempermudah pekerjaan kita dalam membuat RESTful API. Langsung saja instal Cookiecutter dengan mengeksekusi perintah ini di terminal :
pip install --user cookiecutter
Sekarang, kita bisa mengambil Flask RESTful boilerplate dengan menggunakan cookiecutter. Masukan perintah ini di terminal :
cookiecutter https://github.com/karec/cookiecutter-flask-restful.git
 Setelah mengeksekusi perintah di atas, kita akan diminta untuk memasukkan nama project (project_name). Disini kita sepakat untuk memberi nama project kita menjadi 'belajar_api'. Inputkan nama project tersebut dan tekan enter.

Setelah itu, kita akan diminta untuk menginputkan nama aplikasi. Disini kita juga sepakat memasukan nama aplikasi menjadi 'belajarapi'. Tekan enter, dan setelah itu akan muncul pertanyaan apakah kita mau menggunakan celery?. Pilih nomor 2 (Yes). Lalu tekan enter.

Untuk mengamankan Python dari hal yang tidak diinginkan, pastikan untuk menggunakan Virtual Environment. Eksekusi perintah di bawah ini untuk membuat virtual environment :
virtualenv venv
 Setelah itu aktifkan virtual environment di terminal dengan mengeksekusi perintah ini :
source venv/bin/activate
Selanjutnya, buka file 'requirements.txt' yang ada di dalam folder project kita. Dan tambahkan 'SQLAlchemy-Utils' pada file tersebut. Setelah itu masukkan perintah ini untuk menginstal semua module yang dibutuhkan yang berada pada file requirements.txt :
pip install -r requirements.txt
2. Menjalankan Project di Local Environment
Yap, semua keperluan sudah disiapkan sekarang kita sudah bisa menjalankan project RESTful API kita. pertama, eksekusi perintah di bawah ini :
pip install -e .
Jangan lupakan titik kecil di akhir perintah. Setelah itu, jalankan project dengan perintah ini :
belajarapi run
Jika, kalian mengikuti langkah-langkahnya dari awal dengan benar. Pasti sekarang projectmu sudah bisa berjalan dengan baik 😏. Yak, selamat kamu sudah berhasil menyiapkan project dan menjalankannya dengan baik. Kamu siap untuk lanjut ke tutorial selanjutnya.

Apa itu RESTful API? - Pengertian dan Penjelasan Sederhana REST API

apa-itu-rest-ful-api-pengertian-penjelasan
Mungkin sebelum kalian menemukan tutorial ini, kalian sudah mendengar sedikit tentang apa itu RESTful API. Entah kalian mencari tahu tentang RESTful API untuk keperluan studi atau kalian diminta oleh tempat kalian bekerja untuk membuat RESTful API. Yang jelas, seperti biasa tutorial yang saya buat, akan saya kemas se-sederhana mungkin agar mudah dipahami oleh semua kalangan.

Apa itu RESTful API?

API. (Application Programming Interface) adalah kumpulan aturan yang memungkinkan dua atau lebih program untuk berkomunikasi satu sama lain. API dibuat di server untuk kemudian dapat memungkinkan client untuk dapat berkomunikasi dengannya.

REST. (Representational State Transfer) adalah jenis dari API atau yang menggambarkan bentuk dari API itu seperti apa. REST adalah kumpulan aturan yang diikuti oleh developer untuk membuat API. Mmm, masih bingung?

Bayangkan kamu memiliki sebuah server dengan sebuah database yang berisi data-data penting yang ingin kamu bagi ke beberapa program lain yang mungkin juga dibuat oleh orang lain. Kamu tidak mungkin kan memberikan akses ke database-mu secara penuh kepada program yang mungkin dibuat oleh orang lain? mereka bisa saja merusak data yang ada di database yang ada pada servermu atau mengakses data-data private yang tidak ingin kamu bagikan.

Nah, untuk itu RESTful API dapat menjadi jembatan antara database dengan client (program yang akan mengkonsumsi data). Sehingga, client dapat berkomunikasi dengan server, mengambil dan memanipulasi data yang ada di database sesuai dengan aturan - aturan yang sudah diberikan tanpa memungkinkan mereka untuk dapat merusak / merubah sesuatu di luar aturan yang berlaku.

Ada dua hal yang sangat penting untuk kamu ketahui sebelum mengenal lebih dalam tentang apa itu RESTful API. Yaitu, Request dan Response.

Setiap URL yang ada pada RESTful API disebut dengan Request. Sedangkan Response adalah data yang dikembalikan setelah client melakukan Request.

Sebuah request, dibangun dengan empat hal yang sangat penting yaitu :
  1.  - Endpoint
  2.  - Method
  3.  - Headers
  4.  - Data (body)
1. Endpoint
Endpoint atau route adalah URL / alamat request. Biasanya akan tampak seperti ini :
https://blockchain.info/tobtc?currency=USD&value=500
URL di atas adalah contoh REST API yang dapat kita gunakan untuk mendapatkan harga bitcoin saat ini. Kita dapat memodifikasi 2 parameter yaitu currency dan value untuk mendapatkan data yang sesuai dengan kebutuhan kita.

Cara sederhana untuk mengkonsumsi API adalah dengan menggunakan cURL. Coba kalian buka terminal (CMD) dan ketikan kode di bawah ini untuk memanggil salah satu tools yang sangat luar biasa ini :
curl --version
Jika perintah tersebut berhasil menampilkan versi curl yang terinstal pada komputermu maka kamu bisa menggunakan tool tersebut untuk mengkonsumsi API. Jika berhasil, langsung saja kamu masukkan perintah ini ke terminal :
curl "https://blockchain.info/tobtc?currency=USD&value=500"
Jika koneksi internet kalian aman, maka kalian akan mendapatkan response dari server dimana API tersebut dibuat. Response tersebut berupa harga bitcoin saat ini sesuai dengan parameter yang dimasukkan yaitu mata uang USD dengan jumlah 500.

Endpoint di atas hanya mengembalikan response sederhana berupa harga dari bitcoin saat ini. Nah, biasanya untuk data yang lebih kompleks, endpoint akan mengembalikan response dengan format JSON. Ini contoh nya :
https://api.coindesk.com/v1/bpi/currentprice.json
Apa itu JSON? JSON adalah singkatan dari (Javascript Object Notation), JSON adalah format yang umum digunakan untuk mengirim dan menerima data melalui RESTful API. Response yang dikembalikan oleh endpoint di atas adalah contoh data yang berformat JSON.

2. Method
Ada beberapa jenis method atau metode yang dapat kita gunakan untuk melakukan request yang akan kita kirimkan ke server, yaitu :

  • - GET
  • - POST
  • - PUT
  • - PATCH
  • - DELETE
Beberapa method diatas menunjukkan tipe dari request yang biasanya digunakan untuk melakukan beberapa aksi yaitu CREATE, READ, UPDATE, DELETE (CRUD). Membuat, Membaca, Mengubah dan Menghapus.

GET. adalah method yang biasa digunakan untuk mendapatkan data dari server. Ketika kita melakukan request dengan method GET maka server akan mencarikan data yang sesuai dengan kebutuhan kita dan kemudian mengembalikan data tersebut melalui response. Inilah yang biasa disebut dengan aksi READ ( Membaca ).

POST. adalah method yang biasa digunakan untuk membuat data baru pada database yang ada di server. kita dapat mengirimkan data yang akan dibuat melalui body dari request yang kita kirim. Inilah yang biasa disebut dengan aksi CREATE ( Membuat ).

PUT / PATCH. adalah method yang biasa digunakan untuk mengupdate data yang sudah ada pada database yang ada di server. Mirip seperti POST namun method ini biasanya digunakan untuk mengubah data bukan membuat. Inilah yang biasa disebut dengan aksi UPDATE (Memperbarui).

DELETE. adalah method yang biasa digunakan untuk menghapus data yang sudah ada pada databse yang ada di server. Inilah yang biasa disebut dengan aksi DELETE (Menghapus).

3. Headers
Headers berguna untuk memberikan informasi baik dari client ke server maupun server ke client.  Headers dapat digunakan untuk berbagai macam keperluan seperti autentikasi dan penjelasan mengenai konten yang ada pada body dari request yang dikirimkan.

4. Data / Body
Data / Body adalah bagian dari request yang menyimpan informasi yang dikirimkan. Body hanya digunakan pada method POST, PUT / PATCH atau DELETE.

5. Autentikasi
Terkadang endpoint yang ada pada RESTful API di proteksi oleh server untuk keperluan keamanan. Untuk dapat mengakses endpoint yang di proteksi biasanya kita diminta untuk menginputkan username dan password atau yang biasa disebut dengan basic auth atau menggunakan token rahasia pada request yang kita kirim untuk menjadi pengenal bahwa kita berhak untuk mendapatkan data yang kita minta.

6. HTPP Status Codes
Status code adalah kode berupa angka dari 100+ hingga 500+ yang dapat menjelaskan status dari response yang dikirimkan oleh server.
  • - 200+ berarti request yang kita kirim berhasil / sukses.
  • - 300+ berarti request yang kita kirim dialihkan ke URL lain.
  • - 400+ berarti terjadi error yang berasal dari client berkaitan dengan request yang dikirim.
  • - 500+ berarti terjadi error yang berasal dari server.
Yap, jadi sekarang kamu telah mengenal dan belajar tentang apa itu RESTful API. Semoga dapat membantu kalian dalam mengerjakan apapun yang berkaitan dengan RESTful API.

[ ReactJS ] - reactjs-tags-input - Highly Customizable Tags Input for ReactJS

reactjs-tags-input
Installation
This library is published to npm so you can easily install it with this command :

npm i reactjs-tags-input --save
Quick Start
To start using this component you just need to import 'TagsInput" component from 'reactjs-tags-input' and pass the required 'tags' prop. In that 'tags' prop you just need to pass and array declared on the parent component to contain the tags inputed. See this example code :


Properties
You can easily customize TagsInput component with these props. Change the color, text size and much more. This is the props table :
Property Type required/optional Description
tags Array [required] You should pass and empty array from the parent component's state to contain all the tags.
placeholder String [optional] Pass a text if you want to have a placeholder in your input.
placeholder String [optional] Pass a text if you want to have a placeholder in your input.
customContainerStyle Object [optional] Pass a reactjs style object if you want to customize the content container.
customInputContainerStyle Object [optional] Pass a reactjs style object if you want to customize the input container.
tagBackgroundColor String [optional] Pass a css color property to change the background color of the tag.
tagTextColor String [optional] Pass a css color property to change the text color of the tag.
tagTextSize Number [optional] Pass a css color property to change the text size of the tag.
tagTextFamily String [optional] Pass a css color property to change the text family of the tag.
inputBackgroundColor String [optional] Pass a css color property to change the background color of the input.
inputTextColor String [optional] Pass a css color property to change the text color of the input.
inputTextSize Number [optional] Pass a css color property to change the text size of the input.
inputTextFamily String [optional] Pass a css color property to change the text family of the input.

If you have any issue or something to share or ask. Feel free to leave a comment below!

Jadi Programmer, Pegawai Bank atau PNS?

Selamat datang di blogku teman-teman, pada tulisanku kali ini aku ingin sedikit berbagi pengalamanku setelah lulus kuliah dan hingga saat tulisan ini tertulis aku sudah bekerja 5 bulan sebagai Programmer. Kalian jangan salah paham dulu gara-gara membaca judul dari postingan ini, karena menurutku semua jenis pekerjaan itu pasti memiliki kekurangan dan kelebihan, bagus atau tidaknya sebuah pekerjaan tergantung dari orang yang menjalaninya. Apakah dengan pekerjaan tersebut dia dapat semakin berkembang, semakin bisa mengasah skill-nya, dan apakah dia bisa menikmati pekerjaan tersebut atau tidak.

Semakin dewasa tentunya aku semakin realistis bahwa sebenarnya tidak ada pekerjaan yang benar-benar "enak" semua pekerjaan memiliki harga yang harus dibayar. Motivator biasanya dengan mudah berkata "Pilihlah pekerjaan yang sesuai dengan passionmu!", namun terkadang realita justru membawa kita kepada sesuatu yang justru membuat kita merasa bosan atau kehilangan gairah. Dan terjebak oleh rutinitas yang secara tidak langsung menumpulkan kreatifitas kita dan mematikan secara perlahan keberanian kita untuk mencoba sesuatu yang baru.

Sebenarnya tulisanku kali ini tertuju kepada kalian yang kuliah dengan mengambil jurusan Teknik Informatika. Bukan ingin memotivasi kalian untuk menjadi programmer, bukan juga untuk mengatakan bahwa programmer adalah pekerjaan yang enak dan menghasilkan banyak uang. Namun dengan tulisan ini aku ingin sedikit mengajak kalian untuk berpikir realistis.

Kenapa aku memilih untuk bekerja sebagai Programmer?
Aku punya jawaban singkat untuk pertanyaan diatas, "Karena aku suka ngoding". Menulis baris kode yang membuat komputer dapat memahami dan mengerjakan apa yang aku inginkan adalah kesenangan tersendiri bagiku hingga saat ini.

Ya, aku memilih pekerjaan yang aku suka, dan karena aku yakin juga bahwa peluang pekerjaan di bidang Teknologi Informasi akan terus berkembang pesat. Aku sebenarnya juga ga pengen jadi programmer seumur hidup. Kalau aku merasa pengalaman sudah agak lumayan, aku akan cari tantangan baru untuk memulai sesuatu sendiri. Tapi karena aku suka ngoding, ya aku akan tetap ngoding. Buat proyek yang seru-seru dan berfaedah. 😁

Sulit ga sih jadi Programmer?
Ya, seperti yang sudah aku bilang di paragraf sebelumnya bahwa tidak ada pekerjaan yang benar benar "enak". Poinnya bukan disitu.


Dulu ketika aku masih kuliah, aku merasakan bahwa banyak dari teman-temanku yang tidak memiliki tujuan yang jelas ketika kuliah dan mengambil jurusan TI. Itu terbukti bahwa kebanyakan hanya mengikuti alur perkuliahan tanpa ada kesadaran untuk sedikit mengintip dunia nyata. Kebanyakan hanya berpikir untuk lulus kuliah dengan tepat waktu untuk wisuda.

Dengan begitu, sangatlah wajar jika kebanyakan dari mereka berkata bahwa menjadi Programmer itu sulit. Yak, sama halnya jika kita tidak pernah menyentuh sepeda, tidak pernah belajar cara naik sepeda, lalu suatu hari kita dipaksa untuk naik sepeda dan menempuh perjalanan jauh dengan sepeda. Ya pasti saja kita akan bilang itu adalah hal yang sulit. Menurutku bakat adalah omong kosong. Semua butuh kerja keras. Semua butuh waktu untuk belajar.

Kenapa banyak jurusan TI yang ketika lulus banyak yang bekerja di bidang lain?, Karena mungkin kebanyakan dari lulusan TI tersebut tidak benar-benar memahami dan jatuh cinta pada dunia TI. Hanya sekedar memperpanjang nama dan mencari selembar kertas yang sampe sekarang mungkin hanya digunakan untuk melamar kerja. Kalau dianalogikan secara sederhana mungkin terdengar sedikit aneh, pabrik sepatu harusnya lebih banyak menghasilkan sepatu, kalau lebih banyak menghasilkan sendal ya namanya pabrik sendal. 😆

Nah, kembali ke topik, kalau menurutku pribadi berkaitan dengan pertanyaan di atas. Menjadi programmer itu ya sulit, ya gampang, ya seru, ya menantang, ya menyenangkan. Tapi kadang juga bikin stres dan frustasi. 😂


Berapa sih gaji Programmer?
Wow, 😱pertanyaan yang sangat, sangat, sangat sensitif. Tapi ya, kerja pasti ngarepin gaji lah jangan munafik. 😪Yap, kalau hal ini mah tergantung Programmer itu kerja di mana. Jadi, aku berbagi menurut pengalamanku aja ya.

Pengalamanku kerja di salah satu startup di Indonesia yang berpusat di Jakarta namanya www.sayurbox.com . Sampai saat ini aku sudah 5 bulan bekerja di SayurBox. Kalau berbicara soal gaji ya mungkin sedikit diatas UMR lah semoga aja terus naik sedikit demi sedikit 😆. UMR Jakarta. Tapi aku kerjanya di Jogja jadi LDR gitu ama kantor pusat. Meeting tiap hari aja jarak jauh. 😂

Yang aku nikmati kerja disini adalah aku ga harus ngantor, pake seragam, harus ini itu tapi aku bisa kerja di mana aja dan kapan aja. Yang paling aku seneng adalah dapet pinjeman laptop Mac dari kantor. Seumur-umur baru kali ini bisa keturutan pegang Mac. Norak ya, emang. Ya setidaknya aku jujurlah ga munafik. 😅

Dengan waktu kerja yang bisa aku atur sendiri (kecuali emang ada waktu yang ditetapkan untuk meeting dsb.). Aku bisa punya waktu buat belajar hal baru, ngluangin waktu buat keluarga, dan lebih bisa bekerja dengan optimal. Bahkan aku juga bisa kerja jadi freelance remote worker untuk nambah ilmu dan juga sedikit nambah penghasilan.

Pendapatku...
Ya kalau menurutku, jaman sekarang udah ga jaman sih kerja cuma ngejar-ngejar gaji doang. Itu jamannya orang tua kita dulu yang memang pada saat itu yang dikejar adalah titik aman, menurutku anak-anak muda sekarang harus bisa bareng-bareng bergandeng tangan menyelesaikan masalah yang ada di sekitar kita. Anak jaman sekarang ya kalau mau passive income ya belajar nabung di saham, investasi dan banyak hal-hal keren lain yang bisa kita pelajari jangan sampe kita ketinggalan sama hal-hal yang sebenarnya udah lama ada di luar sana.

Ya mungkin ada beberapa dari kalian yang dipaksa orang tua atau dipaksa sama keadaan dsb. Ya, sama seperti aku bilang tadi, pekerjaan punya kelebihan dan kekurangan. Dan yang pasti, apapun pekerjaan yang kita ambil, kalau kita seriusin, pasti bakal jadi bermanfaat buat orang banyak. Jadi Gamer pun kalau benar-benar serius ya bisa aja banggain orang tua.

Kesimpulan
Memilih pekerjaan harusnya bukan dititik beratkan di "Gaji". Bukan berarti kita tidak mementingkan gaji. Jika kita memilih untuk jadi Pegawai, gunakanlah kesempatan itu untuk kita belajar bagaimana Bos kita bekerja dan jangan mau selamanya jadi Pegawai. Jika kita memilih untuk menjadi PNS, kita harus menjadi PNS yang jujur, dan memiliki nilai-nilai positif yang bisa berdampak positif juga buat orang banyak. Percayalah, kalau kita benar-benar mengerahkan energi kita untuk belajar dan bekerja secara jujur. Gaji / Uang akan mengejar kita di belakang. 😁

testimonial

Galih is our passionate student, who has desire to explore new knowledge, and have excellent skill in programming.

Antonius Bima Murti Wijaya, M.T

Lecturer of UKRIM

GALIH LARAS PRAKOSO
-
Yogyakarta, Indonesia

SEND ME A MESSAGE