Langsung ke konten utama

Postingan

Javascript: 5 Website Untuk Mengasah Analisis dan Problem Solving

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan sharing website-website yang kalian harus tahu untuk mengasah problem solving dan analisis yang dibutuhkan dalam sebuah coding. Berikut daftar websitenya A great way to improve your skills when learning to code is by solving coding challenges. Solving different types of challenges and puzzles can help you become a better problem solver, learn the intricacies of a programming language, prepare for job interviews, learn new algorithms, and more.    1. TopCoder   TopCoder adalah sebuah platform untuk mengasah skill competitive programming online. Menyediakan sebuah masalah-masalah dan tantangan algoritma yang harus kalian pecahkan dengan online teks editor. Memiliki fitur scoring dimana para peserta dapat berlomba-lomba untuk mendapatkan score yang tinggi. 2. LeetCode   Leetcode juga tidak kalah dengan website lainnya. Memiliki banyak masalah-masalah algoritma dari mulai yang ...

Javascript: 4 Fakta Menarik Tentang Javascript

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan membagi fakta-fakta menarik tentang javascript. Seperti yang kalian tau blog ini membahas seputar javascript dan kita akan men-highlight fakta - fakta menarik tentang javascript ini, 1. Immediately-Invoked Function Expression Seperti yang kalian tahu, javascript memiliki sebuah keunikan yang dimana function dapat dipanggil secara langsung menggunakan () setelah function tersebut di deklarasi. Tapi tahukah kalian jika kalian menyimpan 2 function seperti ini: See the Pen iminfunex by haikal ( @haikul ) on CodePen . Function kedua akan error dan mengalami kesalahan sintaks. 2. Semicolon Javascript dapat berjalan dengan dan tanpa semicolon. Kalau bahasa pemrograman pada umumnya ia mengharuskan mengakhiri baris kode dengan sebuah semicolon. Tapi tahukah kalian bahwa semicolon dapat di tempatkan di awal baris sebuah kode seperti ini: See the Pen pre-semicolon by haikal ( @haikul ) on Code...

Javascript React: State

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan sharing materi tentang state pada react js. Langsung saja kita bahas. State src:https://miro.medium.com/max/1200/1*hYSKyofnqThnPIsYRfnUUQ.png   React component memiliki built-in state yang dimana ketika kalian mengirimkan values yang dimiliki sebuah component. Ketika state berubah, maka component akan di re-render. Kita coba buat terlebih dahulu state objectnya: Greet.component.js constructor(props){ super(props); this.state = {day: "Senin"}; }   Kalian dapat menambahkan property pada state sesuka kalian atau sebanyak apapun. Sekarang kita gunakan pada component itu juga untuk mencetaknya: Sekarang hari:{ this.state.day } { this.props.message }  Hasilnya: Untuk mengubah value dari state tersebut, kita tidak dapat langsung mengubahnya dengan this.state. property tapi sebagai gantinya kita dapat menggunakan setState. Misalkan kita punya functio...

Javascript React: Props

 Assalamualaikum wr wb. Halo guys kembali lagi denga saya Haikal. Kali ini saya akan sharing materi tentang props pada react js. Langsung saja kita bahas. Props src: https://cdn-media-1.freecodecamp.org/images/zdcDnVK0Okw3GBfFb8vzE3Ofi0uKUpD5KRRN   Props adalah argumen yang di kirimkan lewat react component dengan HTML attribute untuk mengirimkan sebuah data pada component. React props mirip seperti function argument di javascript dan attribute di HTML. Untuk mengirimkan props ke component kalian harus menggunakan syntax yang sama seperti HTML. Kita gunakan react project yang kemarin dipakai. Jika kalian belum mengikuti seri sebelumnya tentang react, saya sarankan untuk dibaca terlebih dahulu dimulai dari proses instalasinya hingga materi component. Contoh: App.js   Contohnya kita memberikan sebuah props bernama message dengan data yang berbeda-beda ke setiap komponennya. Komponen pertama mengirimkan "selamat pagi" komponen kedua mengirimkan ...

NPM

Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Pada kali ini saya akan sharing pengetahun umum tentang NPM. Jadi, simak materi yang saya sampaikan ya. NPM NPM atau singkatan dari Node Package Manager merupakan sebuah manajemen dependensi yang diunakan developer untuk mempermudah proses produksi. Dimana package tersebut berupa sebuah repository/modul yang di share untuk kepentingan bersama secara gratis.  Jadi, kalian hanya perlu menginstallnya saja dan tinggal digunakan.  NPM juga merupakan sebuah command line/perintah untuk mengatur package yang telah atau ingin di install. seperti contoh npm install module Bagaimana NPM bekerja? Modul-modul yang telah dishare dapat digunakan oleh developer untuk kepentingan pengebangannya. Contoh salah satu modul yang sering digunakan adalah moment . Moment digunakan untuk memanipulasi atau membentuk format waktu yang diinginkan. Fitur yang disediakan juga lebih mudah dibaca dan tentu saja lengkap. Daripada kita membuat se...

Javascript React: Component

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan sharing materi tentang component. Component merupakan bagian yang penting dari react yang dimana ia merupakan sebuah pieces of code yang dapat digunakan berulang-ulang. Kita bahas secara detail... Component src: https://www.edureka.co/blog/wp-content/uploads/2017/08/UI-Tree.png   Komponen merupakan bagian kode yang independen yang juga reusable. Memiliki tujuan yang sama seperti javascript function tapi ini bekerja secara terisolasi dan mengembalikan HTML via render function. Component juga dibagi menjadi dua yaitu: Class Component Function Component   Class Component & Function Component Pertama, kalian buka terlebih dahulu kita buka folder yang sudah terinstall react didalamnya dengan create-react-app. Jika kalian belum mengikuti materi sebelumnya tentang instalasi react, silahkan ikuti terlebih dahulu. Berikut struktur folder react app: Kedua, kita buat sebuah component Greet yang...

Javascript React: JSX

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan sharing materi tenetang JSX. Apa sih itu JSX dan lain-lain. Check it out. JSX   Javascript XML atau disingkat JSX merupakan salah satu fitur react yang memungkinkan kita menuliskan HTML didalam javascript (wow). Dengan begitu, ini memudahkan kita untuk menulis dan menambahkan elemen HTML di react. Dengan JSX kita dapat mudah membuat elemen HTML tanpat createElement() dan appendChild(). JSX mengkonversikan HTML Tags ke react element. Berikut kode dengan JSX: const myelement = I Love JSX! ; ReactDOM.render(myelement, document.getElementById('root')); Tanpa JSX: const myelement = React.createElement('h1', {}, 'I do not use JSX!'); ReactDOM.render(myelement, document.getElementById('root')); Bisa kalian lihat, kode yang menggunakan JSX lebih simpel dan rapi. Expression di JSX Kalian juga dapat menggunakan experssion didalam JSX dengan menggunakan curly brackets {}. ...

Javascript React: Render HTML

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini kita akan membahas materi tentang Render HTML. Tujuan utama dari react adalah membuat banyak cara untuk me-render sebuah HTML dan React me-render HTML kedalam halaman web dengan memanggil ReactDOM.render(). Render Function ReactDOM.render() membutuhkan dua argumen. Kode HTML dan HTML Elemen. Tujuannya yaitu untuk memunculkan atau menampilkan HTML kode pada HTML elemen yang dituju. Contoh kode: ReactDOM.render( Hello , document.getElementById('root'));     Yang dimana <p>Hello</p> tersebut akan ditampilkan didalam elemen yang ber-id root. Ini mirip dengan appendchild atau sejenisnya dalam javascript DOM. HTML Code Kita menggunakan JSX (Javascript and XML) yang membuat kita dapat menuliskan sebuah HTML tag dalam javascript. const users = ( Name Haikal Admin ); ReactDOM.render(users, document.getElementById('root')); ...

Javascript React: ES6 (ECMAScript 6)

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya. Kali ini saya akan sharing materi tentang ECMAScript 6. Kenapa ini diperlukan untuk react dan lain-lain. ECMAScript 6   Merupakan sebuah standarisasi untuk javascirpt yang artinya ini merupakan versi ke 6 untuk javascript. Diperkenalkan pada tahun 2015 dan dikenal juga sebagai ECMAScript 2015.   Kenapa ES6? Bruh, React menggunakan ES6 seperti classes, arrow function, variable (let, const, var).   Classes   Biasanya class di react digunakan untuk membuat sebuah component. Karena pada dasarnya framework ini memecah belah 1 halaman HTML menjadi beberapa component yang saling berkaitan satu sama lain. Seperti bahasa pemrograman lain, untuk membuat class tinggal menggunakan keyword class. Berikut sintaks/penulisannya: class Cart { constructor(amount) { this.amount = amount; } }  Class merupakan blueprint yang digunakan untuk membuat sebuah objek. Cara menginstansiasinya seperti berikut: cla...

Javascript: Basic Git (Version Control System) & Source Code

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya gak bahas materi javascript. Kita akan mempelajari dasar-dasar git dan apa sih itu git?. Oke. Langsung saja ke materinya Apa Itu Git?   Git merupakan sebuah version control system yang berguna untuk programmer yang diciptakan oleh Linus Torvalds (Pencipta linux kernel). Git ini mencatat setiap perubahan yang terjadi pada kode yang telah diubah oleh individu atau tim. Git juga dikenal dengan Distributed Control System yang artinya penyimpanan database git tidak hanya pada satu komputer saja. Disini kita akan belajar dasarnya untuk meng-clone source code materi yang telah kita buat.    Manfaat Git Ketika programmer ingin berkolaborasi dan bekerja bersama, tentunya ia membutuhkan sinkronikasi source code. Dan git disini datang untuk membantu para programmer untuk bergabung dengan source-source yang public. Berikut manfaat-manfaat dari git: (tentu saja) Dapat menyimpan source code Dapat ikut...

Javascript: Instalasi React JS

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan menginstal react js. Ini dia bahan-bahan yang diperlukan untuk menginstalnya: NPM React    Kita disini akan menginstalnya dengan menggunakan NPM command agar lebih mudah.   Instalasi React JS   Pertama-tama hal yang kalian lakukan adalah pastikan kalian sudah menginstal Node JS. Dengan menginstal Node JS kalian juga otomatis menginstal NPM didalamnya. Apa itu NPM?. NPM singkatan dari Node Package Manager adalah sebuah tools yang digunakan developer untuk menginstal package ataupun sharing package yang telah dibuat. Ada banyak sekali package-package yang berguna untuk kelangsungan aplikasi kita. Setelah menginstal NPM kalian simple saja tinggal menggunakan command seperti berikut di terminal/cmd kalian: npm install -g create-react-app    Pastikan kalian memiliki internet dan resource yang cukup untuk menginstallnya. Jika sudah, kalian dapat mengecek ia telah terinstal ...

Javascript: Framework

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Kali ini saya akan sharing pengetahuan tentang apa itu framework javascript, kelebihan, kekurangan dan jenis-jenisnya.   Framework Pertama-tama apa sih itu framework? Framework atau jika diterjemahkan kedalam bahasa Indonesia yang artinya kerangka kerja merupakan sebuah kerangka program atau aturan yang dibuat untuk membantu developer mengembagkan aplikasinya secara cepat dan efektif. Dengan framework developer dapat mengurangi terjadinya bug pada program dan membuat kode menjadi rapi. Lalu sekarang apa itu framework javascript?. Sekarang bayangkan saja website itu adalah sebuah manusia dan framework merupakan tulang-tulangnya yang merupakan bagian penting dalam struktur tubuh. Sekarang, tulang-tulangnya telah ada kita sebagai developer tinggal menyelsaikan bagian lainya seperti daging, otot, otak dan organ-organ lainnya hingga menjadi sebuah tubuh yang sempurna (program). Kelebihan Framewo...

Javascript: Async Function

Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di website masteringjs. Kali ini saya akan sharing materi tentang async function. Langsung saja.... src: https://miro.medium.com/max/1200/1*KeSreLBdn5kB1rQtLnV6tg.jpeg Apa itu async function? async function adalah function yang dideklarasikan dengan async keyword di depan function tersebut. Async function juga merupakan sebuah instances atau blueprint dari AsyncFunction constructor dan jika telah menggunakan async function maka keyword await dapat digunakan. Dengan menggunakan async function ini perilaku promise-based dapat  digunakan dengan gaya yang lebih bersih dan mudah untuk di debug. Contoh kodingan: Kita membuat sebuah function yang mengembalikan sebuah promise yang akan terpenuhi atau resolve ketika setelah 2 detik. Lalu kita membuat sebuah async function untuk memanggilnya dan menggunakan keyword await. Lalu dimasukkan kedalam variabel dan di tampilkan bahwa ia telah resolve.    Await Keyword Await ...

Javascript: Promise

   Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di blog belajar bersama javascript. Kali ini saya akan menjelaskan dan sharing materi javascript promise. Berikut poin-poin yang akan kita bahas: Pengertian Promise Membuat dan menggunakan Promise Implementasi AJAX dengan fetch  Rantai Promise / Promise Chaining   Pengertian Promise   Promise adalah sebuah fitur baru di javascript ES6. Seperti dengan namanya, Promise memiliki arti janji yang artinya pada sebuah janji tersebut apakah ia terpenuhi atau janji tersebuh diingkari / batal.  Dalam implementasinya juga sama, ketika request AJAX maka akan ada 3 state:  Pending  Resolve  Reject  Lalu, kita coba bandingkan dengan callback. Callback or Promise Pada artikel sebelumnya mengenai callback, saya telah memberi tahu bahwasanya Promise itu merupakan alternatif dari callback. Karena dengan callback jika kita gunakan secara berulang akan menciptakan sebuah callback hell yang ...

Javascript: Callback

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Kali ini kita akan membahas tentang callback dan berikut poin-poin yang akan kita bahas: Konsep callback Synchronous callback Asynchronous callback Callback hell   Konsep Callback src: https://i.morioh.com/   Callback sebetulnya sama dengan function pada umumnya, hanya bedanya bagaimana ia dieksekusi. Pada umumnya function di eksekusi dari atas ke bawah maka callback dipanggil hanya pada poin tertentu saja karena itu ia dipanggil callback,  Callback juga disebut sebagai high-order function dan callback ini di eksekusi di dalam function lain yang dimasukkan melalui parameter. Berikut contohnya: See the Pen LYZoErJ by haikal ( @haikul ) on CodePen . Disini kita membuat 2 function yang dimana salah satu functionnya akan menjadi sebuah function callback. kita buat insertNum untuk menerima nomor dan callback function sebagai argument. Yang nantinya akan di eksekusi didalam fun...

Javascript: Arrow Function

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Kali ini saya akan sharing materi tentang arrow function. Sebelumnya, arrow function ini pernah digunakan di materi sebelumnya tentang asynchronous javascript. Tapi mungkin masih ada yang kurang paham dan apa bedanya dengan function biasa. Arrow Function Arrow function muncul pada javascript ES6 dan menyediakan penulisan (sintaks) dengan lebih ringkas. Sebelum: See the Pen usual-func by haikal ( @haikul ) on CodePen . Sesudah: See the Pen arrow-function by haikal ( @haikul ) on CodePen . Lihat? lebih ringkas kan? Lalu bagaimana jika memiliki parameter?  Jika parameter function tersebut hanya satu kita dapat menghapus kurungnya: See the Pen arrow-function-params-1 by haikal ( @haikul ) on CodePen . Sekarang pertanyaanya apa bedanya?  Selain lebih ringkas kita juga perlu mengetahui kapan kita menggunakannya untuk handle this . Secara singkat arrow function tidak d...

Javascript: Asynchronous

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Kali ini saya akan sharing materi tentang javascript asynchronous. Langsung saja kita bahas.   Asynchronous Javascript itu single-threaded yang artinya ia hanya bisa menjalankan satu task yang dijalankan pada waktu tersebut. Karenanya, javascript hanya bisa menjalankan satu proses pada waktu tertentu dengan single-threaded.   Sekarang bayangkan, jika kalian mengambil data dari API. Tergantung situasi, server akan merespon request yang diminta pada endpoint tertentu dan ini akan memakan waktu. Selagi ia meminta response dari API tersebut main-thread akan terblok dan ini akan membuat webpage kita menjadi tidak responsive. Kita simplify lagi dengan analogi berikut.   Misalkan, kalian datang ke restoran (yang hanya memiliki satu waitress) dan kamu memesan makanannya, lalu jika ia telah mencatat pesanannya ia akan menuju ke dapur untuk memberi tahu chef apa saja makanan yang dipesan o...

Javascript: Hoisting

Assalamualaikum wr wb. Halo teman-teman kembali lagi dengan saya Haikal di website belajar bersama javascript. Kali ini saya akan sharing materi tentang hoisting pada javascript. Sebenarnya apa itu hoisting?. Kita akan bahas selengkapnya.. Hoisting   Hoisting is JavaScript's default behavior of moving declarations to the top. - w3schools.com Katanya, hoisting merupakan sebuah perilaku pemindahan deklarasi ke atas kode. Jadi, javascript deklaration itu semuanya di hoisted yang artinya variabel digunakan sebelum di deklarasi.  Contoh: See the Pen hoisting by haikal ( @haikul ) on CodePen .   Untuk memahaminya lebih lanjut dengan visualisasi dapat mengunjungi website https://ui.dev/ Keyword let dan const Merupakan cara lain untuk membuat variabel. Perbedaannya jika let pada scope dan const merupakan nilai konstan. let dan const di hoisted tapi tidak di inisialisasi. Jika kalian coba ganti pendeklarasian diatas dari var menjadi let atau const maka akan muncul error s...

Javascript: Interpreted? Compiled?

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Sebelum kita melanjutkan materi menuju framework frontend, kita perkuat dulu dasar atau fondasinya.  Pada kali ini kita akan membahas tentang interpreter , compiler pada javascript.  Javascript is scripting language Javascript merupakan scripting language yang artinya ia menggunakan interpreter.  Berbeda dengan bahasa pemrograman lain misalkan Java ia menggunakan compiler yang menerjemahkan menjadi bahasa yang bisa dimengerti oleh mesin. Interpreter vs Compiler Interpreter: Mentranslasi pernyataan program satu persatu Memakan sedikit waktu untuk menganalisis kode. Namun, secara keseluruhan komparatif ia lebih lambat dibanding compiler bahasa yang menggunakan: javascript, ruby, python. Compiler Scan seluruh program dan mentranslasikan semuanya kedalam machine code Memakan lebih waktu untuk menganalisis kode. Namun, secara keseluruhan komparatif ia lebih cepat dibanding interpreter...

Javascript: NodeList

 Assalamualaikum wr wb. Halo guys kembali lagi denga saya Haikal di materi javascript. Kali ini saya ingin sharing materi tentang NodeList. Ini akan menjadi materi penutup untuk javascript DOM. Selanjutnya, sebelum menuju ke frontend framework javascript yaitu react js kita juga akan membahas materi javascript lanjutan seperti konsep hoisting, synchronous vs asynchronous, closure, promise dll. Sekarang kita bahas apa sih itu Node List ? NodeList Kalian pasti udah bisa nebak kalau kalian mengikuti sebelumnya tentang DOM Navigation, Kita sebelumnya juga sempat membahas Node lalu apa itu NodeList? Sederhananya ya kumpulan / daftar node . NodeList ini hampir mirip dengan HTMLCollection. Ia merupakan sebuah collection atau kumpulan. Kalau NodeList berupa document nodes dan HTMLCollection berupa collection HTML element .  Untuk mengakses NodeList ini kalian gunakan method querySelectorAll() yang nantinya ia akan mengembalikan node-node document yang telah dikumpulkan. Contoh: S...