Ngobrolin Fungsional JS
Ringkasan Episode
Bantu KoreksiEpisode Ngobrolin WEB ini membahas konsep-konsep pemrograman fungsional dalam JavaScript secara mendalam. Diskusi dimulai dengan sejarah singkat JavaScript yang awalnya dirancang oleh Brendan Eich untuk mengimplementasikan Scheme (bahasa fungsional) di browser, namun kemudian dikompromikan dengan tren Java yang sedang naik daun pada masa itu, menjadikan JavaScript sebagai bahasa hibrida yang mendukung baik paradigma fungsional maupun OOP. Pembahasan lanjut ke konsep-konsep fundamental pemrograman fungsional seperti pure function yang harus menghasilkan output yang sama untuk input yang sama tanpa side effect, pentingnya return value, serta konsep immutability di mana data tidak boleh diubah setelah dibuat. Episode ini juga menyinggung perbedaan antara pendekatan deklaratif (fungsional) dan imperatif, serta memperkenalkan utility library seperti Ramda.js yang membantu implementasi fungsional programming di JavaScript dengan fitur seperti pipe operator dan tree-shaking untuk optimasi bundle size. Diskusi ditutup dengan pembicaraan tentang bahasa-bahasa fungsional murni seperti Haskell, Elixir, dan Reason, serta bagaimana konsep fungsional dapat diterapkan dalam pengembangan web modern tanpa harus mengadopsi sepenuhnya bahasa fungsional.
Poin-poin Utama
- •JavaScript memiliki akar sejarah dari pemrograman fungsional melalui visi awal Brendan Eich yang ingin mengimplementasikan Scheme di browser, namun dikompromikan dengan tren Java yang sedang populer pada tahun 1995
- •Pure function adalah fungsi yang selalu mengembalikan hasil yang sama untuk input yang sama dan tidak memiliki side effect, dengan karakteristik utama: semua data yang dibutuhkan harus diteruskan melalui parameter dan fungsi harus memiliki return value
- •Side effect dalam konteks web mencakup manipulasi DOM, console.log, request ke server, save ke database, atau mengubah variabel di luar scope fungsi, yang sebaiknya diisolasi pada fungsi-fungsi tertentu saja
- •Immutability adalah konsep penting dalam pemrograman fungsional di mana data tidak boleh diubah setelah dibuat, berbeda dengan mutability yang memungkinkan perubahan data langsung pada variabel yang sama
- •Pendekatan deklaratif (fungsional) berfokus pada "apa yang ingin dicapai" menggunakan fungsi seperti map, filter, dan reduce, sedangkan pendekatan imperatif berfokus pada "bagaimana mencapainya" dengan for loop dan conditional
- •Higher order function adalah fungsi yang dapat menerima fungsi lain sebagai parameter atau mengembalikan fungsi, yang sangat umum digunakan dalam React components dan utility functions
- •Ramda.js adalah utility library yang populer untuk pemrograman fungsional di JavaScript dengan fitur seperti pipe operator, auto-currying, dan mendukung tree-shaking untuk optimasi bundle size
- •Belajar paradigma pemrograman fungsional tidak harus menggantikan OOP sepenuhnya, namun dapat memperkaya toolkit developer dan membantu memahami kode yang ditulis dengan paradigma berbeda
Hai selamat malam selamat malam Gimana kabarnya semua semoga sehat-sehat Ya baikbaik semua he Ya seperti biasa ya
Ee malam ini adalah ee waktu yang tepat buat kita untuk menguji kekompakan kita sebagai panelis karena malam ini adalah selasa
malam biasanya selasa malam itu waktunya ngapain ya waktunya waktunya ngobrol oke ya Maaf telat cari pencetnya dulu
tadi bentuknya kayak gimana sih Soundboard kayak kotak Soundboard hah gak pernah gu kayak drumad enggak iniak ini software software
Oh iya selama ini bayanginnya kayak Berarti Pak iniong Tuh softwnya jadi mau eror mau apa
[Tertawa] itu Oke cukup cukup ya behind the sc-nya ya ya Jadi ketemu lagi kita masih bareng eh
Eka Ivan dan Heeh kita bertiga masih Trio webweb ya Dan mungkin buat refreshing buat teman-teman yang mungkin
baru baru join gitu ya mungkin kita bisa Refresh dulu ini acaranya tentang apa sih ngobrolin web ini tentang apa kalau
judulnya ngobrolin web iya iya biasa Biasanya kita teknologi kongkkongk Heeh teknologi web kan itu ee cakupannya luas
sekali ya kalau kita belajar semuanya sendiri kayaknya enggak bakal enggak bakal 0an sampai yang paling baru enggak
habis-habis Kalau dipelajarin iya mungkin makanya ada acara mingguan ini biar kita juga update ya kadang teman-teman di chat lebih
update dari kita betul betul Iya e dan tujuannya adalah supaya kita enggak kehabisan ide kalau disuruh ee mengisi
acara di baik deves Google iu ataupun meap-mitap di sekitar ya karena kita sudah mulai kehabisan materi jadi kita
mau menggali ee apa teknologi-teknologi baru atau teknologi lama ya yang mungkin belum pernah atau jarang di cover jarang
di ee bicarakan ya kita bisa bicarakan di sini oke ada jadi pilihannya ant kehabisan topik atau kebanyakan topik giliran betul
betul betul betul kebanyakan topik ya giliran ada yang seru banyak banget bingung milihnya giliran gada ide pusing
juga ya susah jadi manusia enakan jadi sendal hari ini hari ini eh dia itu ya udah tahu konsep promis ya jadi eh
langsung Apa ya Eh ini Ya Jalanin duluend jalanin dulu n hasilnya callback Ya kalau event base sendalnya lempar
balik iya iya iya i Oke siap nah Malam ini kita mau bahas ee mungkin topik yang cukup fundamental
ya tentang konsep Iya konsep pemograman funional di javascript karena kan mungkin ee sebagian dari kita tahu bahwa eh
javascript itu op loh iya ada benarnya E tapi javascript juga kayaknya nya funsional loh konsep funionalnya banyak
loh yang diterapkan apalagi kalau ah main-main react ya Eh konsep komponen pure function apalagi tuh immutability kalau pakai redux kan harus eh immutable
kan e tipe datanya dan lain-lain loh ini functional semua gitu kan Tapi ada kelasnya juga gitu jadi ya memang
eh apa namanya si javascript ini ya memang dia bisa banyak ee ini ya bunglon ya bisa menyamar sesuai ar sesuai
kebutuhan Nah mungkin kita akan mulai dari ee sedikit sejarahnya dulu sejarah si javascripnya Kenapa si javascript ini
bisa bunglon ya Ada tuh jadi beberapa minggu yang lalu saya ketemu sebuah paper judulnya javascript The First 20
years ini yang bikin yang nulis adalah yang bikin javascript juga Pak Brendan Iya bikinnya 7 hari doang
Ya bikin papernya mungkin lebih lama daripada bikin javascriptnya ya Oh iya bikin javascriptnya 7 hari bikin javascript-nya Kejar Tayang bikin
papernya lama ini mungkin banyak biasanya gitu ya i i ya E ini saya share juga apa namanya kalau teman-teman mau
baca kita enggak bakal baca sampai habis ya Kita cuman menunjukkan beberapa bagian-bagian penting yang berhubungan dengan e obrolan kita malam hari ini
Lihat transkrip lengkap (548 segmen lagi)
jadi teman-teman bisa download di sini acm.org nah ini kita scollr aja saya sudah Tandain ini adalah tentang cerita
pembuatan desain dan evolusi javascript dari 99 95 sampai 2015 terus seperti yang kita tahu Eh javascript itu dimulai dari apa ini
ya enggak ada ya oh bukan yang ini ini ee kok mana ya Kok kehilang saya kehilangan highlight ya Nah ini aja nih
is1 Itu di 97 is298 is399 habis itu mulai ee Kehilangan Arah sampai is lima baru mulai drama Iya 10 tahunan
itu kayak ee terombang Ambing ya sengketa sampai akhirnya ee kemb Ini zamannya zaman kelamnya javascript kan ya sampai sempat ada yang namanya yang
ada bikin tandingan Apa itu uplet silverl iya Iya flash flash flash action script Nah itu juga jawript kan
sebenarnya kan turunannyaya Iya dan Ya banyaklah dramanya banyak ya Nah seperti yang kita tahu ya di tahun 89 sampai 91
eh www world web itu muncul diperkasai oleh tim bernerser lalu kemudian nah ini menariknya di 95 si Pak Brandon ini
direkrut oleh netscape dengan iming-iming Ayo join ke netscape bisa bikin E skim di browser skim itu adalah
bahasa pemograman funal eh yang satu satu family satu keluarga dengan lispi yang banyak kurung itu ya jadi e
dia diiming-imingi suruh bikin bahasa pemrograman mirip skim untuk browser Join lah dia Wah dia tertarik sekali karena memang dia mungkin ngefans
ya sama skim ini atau berarti dari awal dia emang mindsetnya funional ya funional betul kandidat untuk bahasanya
ada banyak waktu itu ada pe ada Python ada TCL ada e Visual Basic juga karena si netscape juga ada Ada apa ya menjalin
kerja sama dengan Microsoft juga pada saat itu ya Tapi semua berubah ketika 95 Sun microsstem bikin E kampanye gila
Gaan yang mau ngpublish atau e merilis Java walaupun belum dirilis ya baru apa ya baru teaser gitu sampai akhirnya e beberapa orang di
netcap memutuskan untuk Yuk kita ikutin Java aja supaya kita bisa ikut hyp gitu karena lagi nget Iya jadi e apa
namanya eh diharapkan si javascript ini yang namanya belum javascript ya E namanya masih yang lain ya Moka pada
saat itu eh pokoknya bahasanya mirip Java seperti Java tapi object base bukan class base ya ini beda ya object base itu ya
kayak javascript dulu ya pakai Prototype itu kan objek ya E lua juga sama itu op tapi dia object base gak ada kelas
javascript ada kelas itu juga synaktic sugar kan sebenarnya kan ya sekarang ya di baliknya itu di belakangnya
sebenarnya di dalamnya function juga object dan function ya Iya object dan function Nah akhirnya eh dia Bikinlah
Prototype eh Moka itu yang 7 hari itu ya demonya lumayan eh berhasil dan membuat Apa teman-teman di netscape itu sangat
apa ya bergairah gitu semangat gitu ya dan EE akhirnya Walaupun dia tidak berhasil apa E mewujudkan impiannya tapi dia cuma
dikasih waktu bikin bite code di compiler in his 10 days sprint kita bisa bikin apa ya 10 hari ya
dia bisa bikin bahasa ya lah ment di i jadi bisa inilah buat start create re app terus kemudian bisa
jadi Hello itu bisa Oh I 10 hari oke nah Jadi intinya sebenarnya yang mau digaris bawahi dengan apa dari sejarah
yang singkat ini adalah javascript itu sebenarnya awalnya ditujukan untuk e untuk dibuat untuk eh funsional dan Berhubung ada apa ya E pertemuan antara
pragmatisme dan idealisme di tengah-tengahnya jadi duadanya malah ya jadinya sekarang ya ya sekaligus buat itu mengambil hati
developer yang ada developer yang suka oh karena mungkin awalnya belajar dari apalah bahasa yang ada yang Emang I dari awal
fun udah senang udah puas Ada yang min min objek pengin objek oriented nah kayaknya berusaha memuaskan semua orang
itu semua pihak gitu ya he gampang-gampang susah ya Iya susah-susah gampang susah-susah lebih banyak susahnya jadi ketika ee mungkin ya Tim
apa orang yang pertama kali men-ghire si pak branden ini bilang Oh I Yuk kita idealisme mewujudkan eh lispy style
programming untuk scripting di browser terus begitu apa begitu ketemu sama iya yang di industri kebetulan yang lagi
naik down yang mulai naik down itu Java akhirnya Ya ada apa namanya eh ya ber inilah ya eh apa eh berkompromiah supaya
adaptasi kompromi Iya beradaptasi kompromi supaya ya bahasanya bisa dipakai daripada dia bikin dia mewujudkan idealisme terus enggak
dipakai kan akhirnya jadi mati juga kan itu jadinya karya seni bukan bukan produk bikin buat ekspresi diri
aja makanya javascript dibilang functional Iya object oriented juga iya gitu kan eh semua bisa masuk sem mau ke
mana Iya begitu juga dengan react Kalau enggak salah dulu sempat ada Saya dengar di salah satu podcast gitu ya react dulu
awal-awal kan ada class base ya jadi bikin komponen pakai kasu pertama banget belajar react tuh kayak gitu pas masih
class base terus semua pakai Dis itu apa komponen moun komponen berubah berah jadi terus karena maksudnya belajarnya
dadakan engak apa belum mempelajarin fundamental asli bingung tiba-tiba kopas-kopas kode cuma mindahin dari satu tempat ke tempat lain ya jelas kalau
pakai Dis ya ggak l gak jalan fun pernah pernah bikin Dis sama dengan De gak sih samaama dipindahin ke variabel
lain itu gaya-gaya jaquery sekali ya nah eh iya itu kelebihannya javascript dan juga sekaligus kekurangannya orang jadi
bingung kan e jadi ada plus minusnya Scope hoisting kan itu ya masalahnya iya iya Scope hoisting pernah kita bahas
pernah kita bahas dulu kita pernah kita belum pernah bahas Pernah Pernah pernahamental Ya di beberapa yang dulu iya Padahal di apa ada kayaknya ada
beberapa yang kontribusi ke react itu sempat bilang saya pernah dengar di satu podcast katanya Salah satu tujuan kita
membuat CL base seperti itu adalah untuk eh menjebak orang-orang Java yang tadinya codingnya Java Oop supaya mau
icip-icip R Habis itu habis itu terjebak dia Oh harus ikutin funional nih harus pakai redux terus konsep funsional
dikenalin sedikit-sedikit lama-lama yang kelasnya hilang ya terus mereka pindah terus mereka pindah ke angular Oh enggak ya Iya jadi ya salah satu mungkin salah
satu visi misinya re juga untuk itu ya untuk apa mengembangkan funal e di sisi javascrip begitulah seperti Damar yang
gak suka sempat sebut nyebut kata jaquery jaquery baru rilis loh bulan ini jaquer empya jaquer 4 dan backbon juga rilis
Ada angin apa ini Iya ada angin ada angin angin kedua masa lalu bertiup bertiup kembali I tren itu kan muter kan
tahu kan kayak fashion tiba-tiba fashion 90-an ngetren lagi Tapi enggak juga sih ya kalau saya lihat ya 30 tahun sekali
Mungkin mereka baca Almanak kali ya mereka baca web Almanak mulai dari masih Domin 2021 2022 2023 Terus mungkin sudah
dapat bocoran 2024 kayak gimana kayaknya trend jqu enggak turun-turun ya udah rilis aja sesuatu yang baru memodernisasi karena masih banyak banget
yang pakai it makes sense kalau dirilis yang baru betul apalagi sekarang kan ada apa Ya mulai ada pergerakan Mungkin beberapa
untuk beberapa kalangan udah kayak apa ya Framework fatigu ya Istilahnya ya lelah ya mengikuti Framework akhirnya banyak yang lari ke vanila kan lebih
tepatnya semua Framework sudah semua Framework yang Major ya H baik itu reax Fa view apalagi angular angular segala macam ujung-ujungnya
sudah k memiliki fitur yang mirip-mirip oh I benar sudah ada sudahak keluar compilernya contohnya sudah mau keluariner yang punya compiler Jadi
sebenarnya nanti ujung-ujungnya punya punya pakai signyal semuanya pakai signyal gitu ya Iya fitur yang sama semua jadi ya Ah sudahlah jquery gua
keluarin aja nih drop semua bikin lebih baik bikin performer lebih baik semuanya Win Betul kan ada apa ada ya ada
beberapa Framework juga atau library yang seperti Alpine htmx yang e butuh apa ya landing page cuman butuh
interaksinya Enggak banyak gitu Ngapain kita introduce satu Framework gitu kan Ya betulah hal-hal seperti jquery dan teman-temannya
ya hidupery cquery never [Tertawa] Day Nah jadi sekarang malam ini kita akan coba ee apa ya menggali lebih dalam
ini serbabih fional ya funional ini bisa diterapkan di di ee javascript atau enggak pasti bisa karena sudah banyak yang mengalami juga
sudah banyak yang menggunakan juga cuman ee Apakah teman-teman tahu semua ee tahu ee apa ya fundamental dari funional itu
apa aja sih gitu nah ini yang akan kita tahu cara kerjanya kitaak istilahnya Iya kita enggak tahu
istilahnya Jadi pas lihat Oh maksudnya itu bilang biasanya gitu kan yang setara dengan kalau misalnya kayak kalau kita
bandingin sama PHP sebenarnya PHP bisa fsional juga juga kan bisa funsional bisa Oop juga ba semua kayaknya hampir
semua bahasa bisa ruby juga Walaupun dia Oop tapi bisa funsional e Python juga bisa Java B c++ juga bisa c+ asal bisa
nyimpan function di variabel technically bisa function kan tapi tapi kan ada apa ya Ada beberapa beberapa ee fitur yang EE kalau fitur
itu pun ee dipunyai oleh B sebuah bahasa baru bisa disebut sebagai bahasa funional mungkin ee apa ya kayak apa ya
functional flavor kayak jenis musik lah ya kayak musik gitu ini jazzy tapi bukan Jazz kan Cum bernuansa Jaz ada bernuansa jazz
gitu belum tentu dia jazz gitu He musik pop tapi kayak ada apanya yang mirip-mirip e Jaz musik rock dipadukan
dengan dangdut jadi Rock Dut gitu kan Oh udah beda lagi nih berarti bisa kita bahas nanti next selainja vask apalagi
bahasa-bahasa yang fungsional bisa fungsional Oke berarti kita harus tahu dulu apa itu functional Iya fun Emang kita kita bisa ada yang bisa bahasa lain
enggak kok enggak bisa masalahnya ada saya bisa bahasa b HP Oh bahasa Indonesia bahasa Indonesia bisa bahasa
Batak bisa Jawa Bahasa Jawa bukan ja dulu kan ada ya bahasa pemrograman namanya Batak Oh gak tahu masa sih oh
coba cari Ada iya gimana sih itu Inside J orang Indonesia ya kayaknya kalau orang orang luar Indonesia bingung I
jangan bilang cuma bisa jalan di blangkon loh ini jadi cross ini ya ulos os-nya namanya ulos ulos
ulos ya Oh iya benar jugaya keren tuh ulos ya Ul ulos menarik menarik menarik ya Nah functional programming adalah paradigma
ya paradigma eh Oop paradigma apalagi paradigma pemrograman itu apa apa aja ya op functional event driven masuk engak
ya Eh prosedural proseduralosedal prosedural yang mungkin teman-teman e yang pertama ngalamin yang terutama yang kuliah ya prosedural ya E
Pascal C ya Eh vibi itu kayak imperatif atau apa sih imperaera hanya fungsi-fungsi aja walaupun dia bisa berjalan di fungsi
tapi ya belum bisa disebut funsional Kenapa karena ada beberapa hal yang e enggak disupport gu ya Eh yang pertama
adalah Eh ini pure function I pure pure function pure function itu artinya Apa artinya adalah eh mana dia Kok gak ada tulisannya nah
ini akan selalu mengembalikan nilai yang sama kalau argumen sama kalau inputnya sama jadi inputnya selalu itu outputnya
selalu pasti sama enggak pernah berubah hmm ini F kalau misal tahu rumus matematika fx = x +
1 Jadi kalau x-nya 1 sudah pasti hasilnya harus dua harus pasti dua dan enggak mempengaruhi hal lain di luar itu
Side Effect itu kedua apa ini enggak terpengaruh oleh apapun dari luar dan ee enggak mempengaruhi apapun keluar tchat banyak bahasa baru Yai lagi
banyak bahasa baru ya ide-idenya menarik ya Magelang Eh ada Beneran itu katanya belalang kut hilang hilang hilanguh luar
biasa hebat-hebat emang dan ya satu itu ya Ee ketika kita masukkan parameter atau argumennya dengan nilai yang sama dia akan secara
konsisten menghasilkan nilai ee keluaran yang sama juga 1 + 1 harus selalu dua gitu ya terlihat terlalu simpel ya tapi
kadang-kadang ada ee satu fungsi yang parameternya dua tapi ternyata di dalamnya dia menggunakan Global variabel yang menyebabkan atau variabel dari apa scop
di atasnya atau Apun yang menyebabkan sat+ah satu tidak lagi menjadi dua itu sudah tidak pure lagi bukan enggak boleh
tapi bukan pure function jadinya atau kalau misalnya konteksnya web nih Eh apa entah fetching data dari luar kita
manggil data dari api itu udah jelas enggak pure karena ya karena kan datanya pasti berubah ee belum tentu servernya
nyala belum tentu responnya oke terus atau kita berinteraksi sama dom nah nah ee atau sama apapunlah UI yang di layar
atau sama service worker atau web worker atau apapunlah pokoknya itu jelas enggak pure karena pasti kan bisa berubah-ubah
ya Iya nah salah satu kekurangannya javascript kan Scope scoping itu ya Jadi kalau misalnya misalnya variabel itu
didefinisikan sebelum function itu secara variabel bisa diakses dari dalam function tanpa perlu menjadi parameter He nah itu Iya itu bahaya ya yang
menyebabkan lag saya enggak tahu itu kelebihan apa kekurangan saya enggak tahu kelebihan dan kekurangan itu karakter gimana kita
menafsirkannya apa sih bagaimana kita memanfaatkan kekurangan itu menjadi kelebihan asik enggak itu ngebantu itu ngebantu praktikal jadi bijak ya karena
S minum teh ini minum teh tuh jadi dewasa Nah apa tadi itu ya kan kita perlu nih kita perlu eh apa manipulasi
atau pakai atau bikin kalkulasi pakai variabel dari scop e atasnya luarnya entah itu Global atau apa kan terbantu
banget nah sekalinya itu funnya itu dipindahin digeser naik ke atas ke bawah keluar ke dalam Ya udah bubar semua jadi
ada Rikonya tapi gara-gara javap si PHP jadi ikut-ikutan l untuk yang global variabel Ini masa iya jadi si PHP itu
kan kita bisa pakai variabel dari luar Scope si function dengan pakai keyword use jadi function a b c d terus ada
parameter terus use variabel dari luar Nanti variabel yang di dalam use itu keyword use itu bisa ngakses dari luar
function ka si javascript ini Oke tapi berarti berguna dong Maksudnya kalau sampai Apa maksudnya javascript [Musik] pakai loh I
Eka ng-freeze tuh Iya dia pakai Global variable soalnya untung Iya untung posya lagi bagus ya oke sambil menunggu Eka eh
di sini eh tadi kita sudah meng-highlight same result ya tapi ada satu kata kunci lagi yang Jangan sampai
kita lupakan yaitu adalah return full function itu harus ada return kan Ya enggak bisa void ya enggak bisa void kan
dan enggak bisa javascript secara bahasa Sebenarnya dia e sudah pasti ada return kalau gak percaya coba function
print dalamnya cons pasti dia akan return dua kali kan consnya sendiri ada returnnya return kos Nul atau undefine
atau apa gitu nah jadi kalau teman-teman mau bikin pure function ya function itu biasakanlah ada returnnya kalau mau
ngprint ya di luar function-nya jadi jangan Boleh aja sih kalau buat dibugging sih enggak masalah ya gitu return undefine betul Maulana betul
dia selalu return undefine kalau kita tidak ada return value-nya kita tidak m-deefine return istilahnya apa implicit return ya implicit return ada eksplisit
ada implisit undefine itu tipe datanya apa ya Hah undefine e undefine Iya undefine sama kayak Nul Nul juga tipe
datanya Nul bedanya N0 sama Nan n oh n beda lagi ya not number Iya beda lagi Iya satu tadi harus ada return-nya
kemudian nilainya tetap sama yang kedua adalah eh Side Effect Nah ada bisa menjelaskan Side Effect nah Eka tadi mau
jelasin tentang apa tadi udah kelew PP udah udah Kok PP Oh udah oke Side Effect Side Effect ini apa ya
menjelaskannya gimana ya itu tadi hal hal apapun yang di luar si function itu terjemahan Masud Apun yang di luar
function itu sendiri Iya Iya Kayak misalnya kalau contoh eh konteks di web nih apa javascript di browser Dom
manipulation Heeh kita memanipulasi domome atau misalnya ee mengubah apa ya I ngubah ngubah eint kol save ke
database banyak Iya kita ngirim pesan ke service worker bikin request ya kan itu mempengaruhi hal-hal di luar function
itu sendiri Nah apa makud terus kenapa nah kenapanya jadi misalnya kita bikin kita mengupdate data rownya tadinya t
jumlahnya jadi 4 row kan kalau habis itu kita ngjalanin function yang sama itu lagi hasilnya otomatis beda kan karena
tadi sekarang jadi EMP e Terus kalau dijalan lagi jadi l Nah itu tuh udah masuk Side Effect semua kalau konteksnya
web i tapi kalau kita konteksnya web lagi kalau misalkan kita bikin aplikasi yang e harus e manipulasi Dom atau
Simpan ke database itu udah pasti ada fungsi-fungsi yang ada side effectnya enggak mungkin enggakak salahak salah bukan bukan bukan
dihindarin sama sekali Cuma maksudnya apa kalau kita punya kan kita kadang E mecah-mecah jadi beberapa function nih
Nah terus kalau misalnya itu function semua itu Ya lumayan ribet ya Kenapa karena urutan 1 2 3 kalau ditukar ini
bisa bisa berubah hasilnya kan kalau impure function semua jadi Biasanya sih yang paling luar misalnya impure function tapi kayak helper atau utility
function-nya itu biasanya pure function semua karena itu larinya ke testing juga [Musik] kan betul yang penting kita sadar bahwa
ini pure samaure kayak apav dong MV mvc eh model view controller Iya gimana tuh ya contohnya controller ya yang
memanggil khusus yang untuk model dan view-nya terus modelnya hanya khusus datanya view-nya khusus uinya Heeh maybe kalau mau dibikin pure function
semua eh modelnya yang harus itu kan tetap tetap eh set effect kan Iya sih tetap set effect mungkin yang yang paling make
sense untuk e pure functional adalah view-nya seperti react komponen ada yang ee oh D komponen sama Smart komponen
komponen bego komponen bego komponen pintar masih masih itu enggak sih konsepnya sekarang masih relevan enggak sih masih masih masih Iya karena lebih
enak pakai Dam komponen Jadi benar aja ya Iya sesuai props nah ini beberapa contoh yang tidak pure ya reading fast random number
Generation Enggak mungkin kan kita tes kan random number gimana ngetesnya kan bingung eh terus kalau counter itu Global
variable salah satunya eh dan kita mengubah Global variable ya salah satunya contoh dari juga mempengaruhi hal lain di luar function itu sendiri
Iya benefitnya udah jelas ya Apa kode kita jadi lebih bisa kita prediksi Heeh unit testingnya Ya udah langsung kita
expect expect kita bikin assertion kalau 1 d 1 ya hasilnya harus 2 enggak bisa 3 enggak bisa 0 nah 5 kur 7 hasilnya -2
enggak boleh lainnya tapi kalau misalnya udah implementasi ini penerapan kita ke ATM saldo kita tinggal 10.000 kita tarik
satuannya r50.000 ya gak bisa kan ggak keluar saldo kita tetap 10.000 i ya gak bisa r.000 kurang r50.000 kan harusnya
Min minus r.000 ya cuma kalau udah e di penerapan ya itu contoh yang impure function kan karena duitnya enggak bisa
keluar ya udah tetap segitu Tapi kalau pure function ya enggak ada itu kalkulasi aja i ya kemudian imutability nah
imutability ini [Musik] juga Apa itu jelasin dulu apa beda imutability dan mutability imutability kalau pakai
sederhananya tidak bisa berubah setelah dibuat imut e kalau imutable itu biasanya dia imut-imut gakakak ya kita sudah asign variabel eh
variabelnya akan tetap seperti itu secara konstan nah gimana ee sebuah bahasa pemrograman funional bisa hidup dengan imutability adalah dengan
memanfaatkan yang tadi Eh return value tadi misalkan kalau kita pakai javascript nih eh apa ya Eh array push 1
3.push 4 itu Dia akan mengubahai awal yang 1 2 3 menjadi 1 3 4 I kan kalau kita pakai aray.
conet dia tidak akan mengubah 123nya tapi dia akan melahirkan seb sebuah Aray baru yang 1 3 4 itu
perbedaan antara mable sama untuk struktur data jadi lebih namanya tujuannya supaya variabel itu value dari variabel itu tidak berubah sepanjang eksekusi
jadi lebih terprediksi hasilnya Iya kembali lagi funional itu eh secara visi adalah itu prediksi bisa diprediksi dengan kita asumsi bahwa ini begini ya
udah sampai ke bawah ya begitu gitu Jadi udah bisa lebih kita prediksi secara ininya ya Ee karena
kembali lagi contohnya contohnya beini eh salah [Musik] satu kembali lagi keuntungan dan kerugian menggunakan javascript contohnya di
Window object kita bisa menaruh variabel di Window object kalau browser ya di browser Windows isinya abcd sama bar Nah iya
sama batus Kita e apa namanya ini nya bar itu contohnya isinya bar tetapi dan kita mengharapkan itu selalu bar namun ada terpy ada
function lain ya Oh I bisa juga lebihah lagi party party itu ternyata menggunakan variab name yang sama di Window object buat urusannya
sendiri untuk urusannya dia terus jadi bug loh kok variabel gua ada yang ngerubah siapa ini mau sampai susah
banget itu Dib Siapa yang ngubah gitu susah banget Susah banget itu mau dicari ke mana karena yang party itu bisa jadi kodenya
di minifight i i tiba-tiba sudah berubah aja Nah makanya butuh namanya imutability itulah pentingnya ya Nah ini ada pertanyaan dari Maulana
ini menarik nih imutability itu ada hubungannya sama by reference gak ref sama pass by value ya ada dua kan
ada dua beda si ya imability artinya variabelnya Gak bisa dirubah jadi konstan kalau di PHP itu namanya konstan
definition Def Jadi kalau sudah kalau di php kan ada define tuh kalau sudah didefine konstannya sampai sepanjang eksekusi
variabel itu gak akan bisa dirubah itu namanya Nah kalau di javascript di functional programming ya menggunakan yang namanya Flor Im
semuanya harus Diak semuanya sih ya tetapi pola pikirnya semuanya IB I ada beberapa kali kejadian yang ini
sih apa namanya E menyebabkan B salah satunya ya misalkan tadi ya saya sebkan ya misalkan kita punya Apa ya Eh array
ya cons Oh cons misalkan arr = 1 2 3 gitu kan Terus tadi Eh array.push at gitu kan empat Nah
ehberapa orang bisa menuliskan seperti ini hasilnya berapa enggak bisa ya karena enggak bisa enggak Nah itu pengamanan kan jadi biar enggak
aneh-aneh gitu Iya salah ya Oh enggak bisa juga harusfresh I let let something else aja LED R2 LED
R2 Ya ampun Ini susahnya funional ya R2 push Oh iya R2 r 2 ini kan ya push 4 hasilnya berapa hasilnya
adalah EMP EMP R2 karena dot push ini bukan merreturn hasilnya tapi mereturn jumlah leng darisung langsung nimpa ya Iya dia Ray
duanya udah 1 2 3 4 i2nya Jadi kalau misalkan kita tambahin lagi pus 5 dia akan jadi Oh enggak bisa
lagi ya Kok enggak bisa karena R2 itu sudah kan udah bukan R jadi intejer Oh iya udah jadi kan enggak strily type ya
javrip ini Ang derita Ti akhir tapi enak dipakainya berarti ini ya tadi ya ini ya R2 terus kita push lagi Ya Nah dia akan
jadi lma atau biar lebih gamblang lagi kita tambahin 15 Oh enggak bisa lagi kita ulang lagi 4 terus kita tambahin 15
dia Isinya l karena length-nya dia menghitung lengthnya jadi push akan mengembalikan jumlah itemnya adalahnya Aray baru bukan Aray
baru dia melakukan dua hal ya sebennya Dia ngerjain dua hal waktu kita jalanin metod Push metod Push itu ngpush
nambahin value itu ke dalam variabel Aray itu tapi yang Dir return adalah length dari array itu nah mampus nah
kalau mau kita seperti ini kita bisa melakukan dengan kket kket itu akan Mer eay yang baru Iya hasil array yang hasil
gabungannya ya value baru Iya 1 2 3 4 15 Aray duanya masih aman tidak terjadi apa-apa kalau kita mau balik itu kayak
occupy itu baru kan kayak nulis di sektor baru kalau gini kan bisa aja kan e jadi array Dunya kita override menjadi
array yang baru I itu boleh kan aman boleh tetapi bikin data baru kalau kalau di immutable itu misalnya ini kan bukan
immutable ini mutable kalau ini gak n coba tadi yang balik lagi ke ko kalau imutable itu kan caranya kan kita harus
ngeclone hilang Iya hilang jadi contohnya cons Heeh pakai cons R1 R aja 1 2 3 ini ya
Iya nah kalau mau apa namanya biasanya k R2 he itu pakai ee kk do concet atau spread operator
Biasanya sih spread operator kalau yang barunya yang kerennya sekarang Iya R koma 15 I Oh kam bisa kan tadi UD Karen sudah
di definis di atas R3 deh R3 R3 R3 Oh tadi error itu juga tetap ini ya padahal
ini sintaks error ya tetap dieksekusi ya Iya itu kan Ben oke jadi eh di ini imutable rtignya selalu
kepikiran di kita melihat kodenya pasti isinya eh tidak ada nyampur-nyampur Jadi kita tetap punya variabel r dan variabel
R du atau ar3 Iya dan bisa diisi di mana aja ya di depan di belakang ya Oh iya benar ya spread operator ya
lupa ya dengan spread operator referensial transparany function S nah ini eh apa namanya prinsip yang kedua yang tadi kan pure
function yang pertama kedua immutability yang ketiga berarti yang ketiga adalah first class entities function eh setara dengan variabel kalau di bahasa
fungsional dan juga javascript jadi setara dengan primitif lainnya apa setaran nilai primitif atau objek atau apalah Jadi kalau misalnya string bisa
di ke variabel cons R sama Heeh cons R sama cons name ama Eka cons R sama tadi
apa 1 2 3 eh cons my function sama dengan nah isinya function bisa diassign ke variabel bisa dimasukkan ke dalam
function lain sebagai argumen bisa apa ya Ya semua bisal bisa Di bisa sebagai return value jadi bisa dimasukin ke
function lain bisa dikeluarin Dar dari bisa dirreturn oleh fungsi lain B sebut makanya sebutannya higher order function
iya ini ini istilah kerennya ya higher order function jadi e fungsi itu bisa jadi kayak fungsi anonimus yang kita
assign ke value eh sor ke variabel kemudian bisa jadi parameter atau argumen di satu fungsi dan bisa ee dan
sebuah fungsi bisa meritan fungsi yang lain kalau yang anonimus itu pasti semua orang yang pernah ngoding web pasti
pernah pakai Enggak mungkin enggak pernah pakai Soalnya di apa event event itu kan Ee isinya kan eh function kan
oncilick misalnya onclick argumennya kan itu function atau on on Scroll atau on apalah pokoknya event eh elemen web
Apapun kan itu dalamnya argumennya function tuh Iya itu udah sering kita pakai tapi kita enggak tahu istilahnya
biasanya saya dulu begitu ya Nah tuh kalau interview kerja tiba-tiba ditanyain Apa maksudnya javascript adalah first first class Apa tadi
namanya pesawat aja first class Citizen first class first class fun first class C first class entities first class apa
entity kok Citizen ctizen Iya ada istilahnya first Citizen juga kalau untuk bahasa fungsional ya yang cukup sering juga ini kan Set time out kan
atau set interval Set time out itu kan ada dua dua parameter ya handler ini adalah fungsi Heeh dan kemudian e time
outnya Berapa lama ya kan fungsi di sini kan bukan misalkan kita punya fungsi apa ya E Oh pakai itu ya k apa nih e print sama
dengan ini ya kol log Oh printnya pakai ini dong t asik Mas gitu Heeh dan kemudian kita Set time
out ya Set time out print print Iya kan koma misalkan du eh 1 detik 1000 MS harus salnya per lah
argumennya masukin argumennya aja dong Oh iya enggak bisa kan harus enggak e Halo gini kan enggak di argumen ketiga
argumen ketiga oh bisa ketig bisa i oh sebagai OB lah lah itu di Pop upnya ada tulisannya Iya sih sebagai obek iya Gini
objek atau apa ini titik titik titik apa spread spread operator SPR operator array coba dulu ya ya cobaan Coba aja ho
halo kan enggak strictly type tetap kalau bisa di-lock dia bakal nge-lock i bukan t t aja I langsung t aja Iya
setelah 1 detik dia akan nge-print itu 850 itu adalah ID id-nya Iya dia Mer id-nya jadi Biasanya kita bisa Set di
sini ya ID gitu kan iya kan iya nah sebenarnya yang mau Saya tunjukkan adalah di sini di sini ini print Ini adalah sebuah
seolah-olah sebuah variabel kan kalau misalkan kita tap Is betul Eh ini kan fungsi time out ini adalah kita akan mengeksekusi
fungsi yang dikirimkan di sini setelah 1 detik kemudian ya kan apa yang terjadi kalau di sini saya
langsung Halo ada yang bisa tebak ya langsung print enggak bis Langsung jalan Langsung print halo langsung jalan Kenapa ini kan
dieksekusi sementara ini enggak dieksekusi ini disimpan dulu sampai sat detik kemudian baru di kayak gimana Yang mengeksekusi adalah
dia kayak si apa engine-nya ya si event loop-nya itu betul betul gitulah kira-kira jadi ee apa namanya ini sebenarnya fungsi tapi tidak
langsung dieksekusi dan higher order function ini atau first class Eh entities ini tidak semua bahasa punya makanya itu yang membedakan antara
bahasa fungsional dan tidak fungsional Oh makanya javascript itu fungsional beneran Kayak misalnya tadi Kalau e musik lagu kalau si Pascal rasanya Iya
si Pascal rasanya enggak ada kayak gini Heeh enggak bisa dia PHP PHP coba cari wait wait wa callback I istilahnya
adalah callback betul sekali callback function callback he dan gara-gara nonton ini kenapa Eh lanjut lanjut lanjut gara-gara
nonton ini jadi sering pakai immediate immediate info function iya funpr Itu juga salah satu salah satu identitas
dari functional programming juga Karena tidak semua bahas kalau enggak funional enggak bisa jalan enggak bisa apa namanya hal ini juga yang bisa membikin
Eh pakai high order ini bisa membuat menjadi imperatif ya benar enggak sih imperatif iya k imperatif apa
deklaratif deklaratif ya Coba deklar deklaratif tuh yang step by step Bu Kan sih yes imperatif i bisa jadi imperative approach jadi
kayak Oh masing-masing perintah itu kan ada functionnya nah itu dip dimasukin satu persatu enggak Kalau imperatif justru
bukan funional kan deklaratif yang fsional coba baca dulu di bawah yang step by step tuh yang mana sih yang
makudnya apa E step by step itu step by step itu deklaratif kan lakukan ini setelah itu lakukan ini
he Red dan lain-lain Oke kita mungkin cari bahasan yang lain dulu ya Nah bentar si higher order Ini itu
sebenarnya kita pasti pernah lihat kalau pakai react react komponen kan sebenarnya sekarang react itu functionalonen kan export cons function
bla bla bla eh sat function pokoknya komponen itu kan sebenarnya itu function kan function yang bisa merender UI nah
kita kan bisa tuh apa E masukin suatu komponen sebagai prop sebagai argumen ke di komponen atau di bagian kode lainnya
Nah jadi kita tuh kalau pernahing di pasti pernahihat implementasi dari high order function sedikit Kalau yang untuk
yangembuat menggunakan functional programming ini itu declarative approach Jadi kalau misalnya kita mau sorting array contohnya kan array filter array
Redu segala macam kita tinggal memanggil function-function itu kita tinggal mapping bahkan bisa di chaining kan bisa di chaining langsung Kalau sedangkan
kalau kita pakai imperatif kan dia pakai for loop-nya kita sendiri kita kita bikin perintah-intahnya Gimana caranya membandingkan e apa misalnya
sorting lebih besar atau lebih kecil di return gitu ya bisa jadi gini contoh ada ya kita mau bikin
E e apa namanya hilang l Lan l e contoh kasusnya gini ada ada array of number dan kita mau
menjumlahkan angka yang genap saja Oke jadi misalnya kita punyaay 1 3 4 sampai 10 dan kita mau menjumlahkan
angka yang genap saja kalau imperatif kita bikin for Iya for loop-nya satu kali apa dua kali satu kali tapi ada
kondisional di dalamnya ada if Iya ada if iya i kan sedangkan kalau pakai deklarative approach kita bisa pakai
eh function yang namanya radius tetapi di dalam radius kita Panggil filter event out atau event number only jadi
event event number ini Iya even number ini akan mengcallback isi array yang genap saja dan saat direduce
atau itu akan mereduce array menjadi integer genap sa penjumlahannya saja jadi lebih indah kalau pakai deklaratif karena hanya manggil dua
fungsi gitu itu contohnya Tapi ifnyanya juga juga kalau di imperatif if-nya bisa ditaruh di fungsi juga kan bis
bis bisa tapi jadi funsional kan kita Coba aja kita coba gimana coba kita bikin yang imperatif dulu apa
deklaratif dulu eh bikin imperatif dulu imperatif ya I eh belum di-share Oh iya belum di-share Sorry ee eh mana dia
eh Ini oke Ya coba isi 1 sampai 10 ada enggak Oh udah ada Aray refresh aja malas oke Aray 1 sampai 10 du t ada cara
cepat enggak EMP e belum ada range ada engak sih ada 10 oke Ada punya snip nya cuma enggak
ingat clearnya pakai ini ya dahah E Aray oke terus kalau imperatif for i =0 i = 0 I lebih kecil dari R 10 r
r l leng leng I ama I plus plus sat gitu kan i++ ya samalah ya Ini pakai shift atau enggak Oh pakai
shift harus pakai shift ya terus di sini If Ya if if r r i di
[Musik] modama0 apa tuh e mungkin bikin variabel sat dulu di atasnya l apa gitu l di dalam eh LED l hasil Heeh hasil sama
dengan I gini no no langsung aja hasilnya no oh diam mau diam ya Iya mau langsung diam eh ada
petik nah ini I 0 plus a 0 plus sama Oh I sama plus sama plus sama Oh
Boh sama aja biar singkat biar singkat i i i gitu ya Iya betul hasilnya error token
tokenang apa nih kurang koma koma koma koma ah iyaahah 30 I ini apa imperatif atau ini ini imperatif sebentar kalau saya saya
if-nya mau saya jadikan fungsi misalkan function apa nih e genap ya cek if genap tuh evenent atau evenent Iya eh number
even Iya number Heeh eh berarti ini kan return Oh iya return Oh langsung return aja ya return 6 modulus
2 Return en return 6 Modul 2 = 0 true or false kan iya He sudahah gini Iya gini
ya dan sekarang for loop-nya if gimana tuh if pakai if juga if if Iyalah pakai Iyalah Oh iyain if-nya mau dipindah ke
sini enggak bisa if event if event EV dalam kur Heeh Ee isinya r r i heeh he I
Sudah sama ya Iya salah lagi Ayo loh ini susahnya enggak pakai editor Ya kurang satu kurang kurang Heeh
kurang tutup kurung yang habis event R nah kok 60 karenanyaahin i i 60 R sama0 dulu kalau
if ini saya mau hilangin pindahin ke function enggak bisa ya enggak bisa ini imperatif enggak bisa soalnya itu kan ada S effect bisa
bisa kalau mau dibikin itu jadi bikin satu lagi satu lagi function lagi check if even no no no su Oh Sam eh function I
kalau S mas44-nya masuk ke buat yang ini kan buat yang ini Sam kan Bukan buat buat yang if kan Iya gak bisa oke oke
oke anyway Coba kita yang cara e deklaratif I ini kita udah punya fun event I Sekarang kita mau p yang fun
functionnya Iya e [Musik] benar ya benar benar benar benar Arnya Belum
difine kan bukan Aray kan number bukannya Iya ini sound Aray Boh Aray aja array tulis aja Iya terus
di Loop Loop for tadi iya i lebih kecil dari array.leng i i plus+ iya oke
eh di dalamnya nanti di dalam function itu ada led led hasil atau LED apal LED R LED Res juga boleh nol gini sama aja
kayak tadi ya iya sama kayak tadi plus sama e Oke ini tutup ini tutupah punyaang tadi yang tadi
e yang event itu salah itu kan cuma is event yang benar itu adalah event Yangnya array jadi function sekarang bikin
function is event yang ini adalah buat LED
result sama dengan array k0 array kos Iya Terus eh for kembali lagi for-nya sama let I =
0 berulang lagi ya Iya Aray l Oh iya lupa tuh return functionnya nanti betul e tutup e Oh iya belum
dibalikinnya if if eh I Oh i i modus
eh terus epush push are e are e tutup loh tutupnya Oh kurang tutup tutup
ya Tutup itu sama tutup for return result return result G Heeh
Oke ber nah perbaiki dulu perbaiki dulu yang S nah Eng ada return-nya ya Bisa enggak return paling bawah bisa kok return R
bisa kan function function boleh ditim Nah jadi ini tinggal su manggilnya su he he buka terus gak r eh su sorry if itu
apa tadi nama functionnya is event su is event some some is event is event event kan R
Heeh udah selesai Oh iya R ini 1 10 Heeh benar-benar EV gini ya that's it Iya tapi for
loop-nya ada dua ya jadinya ya Yes Ya karena dua hal yang dikerjain kan menjumlahkan sama ngecek apa eh
ngecek yang event yang ini hasil dari su dan hasil dari dari is event itu pure function H Heeh
Apun dimasukin pasti hasil e event enggak ada Side Effect kalau yang Dar t bisa Di bisa diit kalau tadi kanengarin
result yang paling atas kan Makanya t pas ah 22 kali 60 Iya mas Riza bisa 60 itu Side Effect jadi kita sudah
membahasrnya Nah ini ada nih dari Yoga imperatif Bagaimana caranya kalau deklaroratif apa yang ingin dicapai saya peng Nah itu Dar tadi kita bisa ngomong
yang bagus gini nih Iya imperatif itu How deklaratif itu what what to do Iya yes Tapi kalau pakai apa
reduce sama berarti kalau mau diubah langsung arr.filter terus J langsung filter langsung R Iya entah itu filter ridus
itu kan sebenarnya helper deklaratif kan I function en langsung a ya y item mod 2 eh item item return return item mod 2
harus return ya harus ada itemama item item dulu Oh iya hitam Oh iya hitem modulus 2 hitem modulus 2 ama
0 gitu I koma ya tutup tutup tutup tutup kurung dot udah mau diapain lagi dot redus ya
he redus enggak bisa komplit red eh function terus ehameter pertama itu yangor pertama itu yang ininya kan Yang inisiatornya ya
inisial eh akumulatornya ininya 0 hitam hitem koma ACC benar enggak sebentar Ayo loh enggak
lulus tes interview kan enggak hafal JavaScript kan ada copilot Oh iya ya akumulatornya di awal akumulator di awal makanya makanya Mas
bikin aku si bingung kan akumulator di awal itu sudah benar Iya tapi ACC i ya udah benar
hem item nol Ya enggak enggak itu oh inial value ya inial value betulbetul I terus udah plus return
he ACC plus e salah salah gini a bukan bukan salah ee nolnya itu di belakang function di luar ya di luar abis fun Iya
di luar Iya itu function-nya itu menerima akumulator sama item koma nol Yes dan itu optionional bahkan tadi
waktu nolnya belum neketif sudahud betul 30 30 heeh nah bahkan itu bisa di bisa disingkat lagi enggak sih R the filter eh terus
dalamnya is is event kan bisa enggak usah fun benar yes yes R filter Heeh Ayo r is
event I is EV is event enggak usah nah udah langsung nah terus redus-nya sih sama eh redus-nya kopas aja dari yang
atas Sam ada Sam kan enggak bisa beda beda kan butuh dua argumen kok Pasnya di atas aja udah oke siap nah 55 oh karena
array-nya arraynya Side Effect ya Arnya Side Effect iya i eh Kok beda sih eh oh iya ya Kok beda cob bentar coba rrnya
Apa isinya sekarang S sampai 10 masih kok salah nih kok bed salah is event-nya salah Heeh mana is
eventnya pakai lagi di dalamnya coba pakai ini pakai are oh bukan isi event event doang event doang
enggak itu 30 oh iya oh iya betul EV event ini kan yang ini kan tuh yang langsung return ini kalau ini dia pakai
for Loop iya iya i tu pakai for Loop he harus yang trutti yang bulean ya iya ya
cuma gitulah pokoknya bentuknya gitu ya kira-kira berarti pusing kan n eh cuma kalau udah kayak gini pasti jadi ingat kalau
besok-besok ditanya pasti kalau misalnya kita ngfalin definisi i kecuali yang kecuali ngfalinnya emang baru semalam pas lagi mau interview eh ya pasti
Berapa hari pasti hilanglah tapi kalau pernah ngetik G kemungkinan nempel lebih kuat ya ya ya ya oke terus kita bahas
apa lagi nih Sudah bahas ada ada itu Yuk kita sebentar ramda JS lucu Oh iya sebelum sebelum ke
ramda ee oh I ramda JS dulu deh ramda JS dulu ada yang pakai ramdas di sini Iya ini functional
library lucu ada lagi kan yang lain kan ada beberapa ya Ada ada unders oh bukan bukan ada ini tuh kayak undersore bukan
bukan ada ee satu lagi namanya apa ya yang sering dipakai di react juga kalau enggak salah imut imutable JS Ah iya Eh imutable JS
Itu bukan Iya benar imutable JS benar benar benar ini Ngasih nama ranc nama kayak konsep itu nyebulin deh
Oh iya betul Iya tuh iya kan Oh belum pernah nyobain pakai belum ya ini sama ya konsepnya ya cuman ramda
Kayaknya lebih lebih baru ya lebih modern Enggak coba documentationnya dia jauh lebih banyak functionnya Iya lebih komprehensif dia oh banyak helpernya ya
iya iya kayak und jadinya Oh yang ada pip juga ya P itu pip Yang bakal keluar Hah left pad left pad left pad itu loh
yang dulu apa NPM dependeny juta umat ini enggak ada P Itu yang kemarin kita bahas yang bakal ada di javascript jadi
habis dari sini eh return-nya akan masuk ke sini Oh yang bacanya dari kanan kiri itu Iya ini kan kita mau bikin e 3^ 4 +
1 mengerjakan tig hal jadi kurangin I 3^ 4 Yes gitulah pipe itu pipe Terus apa lagi ya
Eh kuri kuri kuri King karing fungsi Ken namanyaekekusi lagi dieksekusi lagi ini e IV tapi e Next
Level Ya next level ada itu enggak Ar Mer Mer ada engak merge ada ya all Mer Mer kayaknya segala yang
mering karena javascript mering itu kalauudah n properties pusing juga ya I ih keren juga ini ya Mas gua baru pernah
dengar doang tapi belum pernah Pak Ini Pak ini gak ya Ada tulisannyaak sih kalau hajarlah Project selanjutnya harus pakai
ini ramda shaking Iya loh gambarnya pohon beneran lbel profit froming
in tuh bundle like weack anding drop undae and bundle size iya bisa itu di hasil kedua hasil kedua k
iya j i Oh I ada penjelasannya coba cari tre shcking tre shcking ini apa sih buat ngilangin yang enggak dipakai ya iya iya
kan Itu banyak banget tuh metodennya jadi maksudnya jangan khawatir e kalau kita cuma pakai satu yang dicompile e
maksudnya yang masuk yang masuk yang di shipping production code-nya ya cuma satu yang kita pakai itu itu kan
halangan Biasanya kalau kalau pakai utility library kayak gini kan halangannya takutnya tiba-tiba besar banget bengkak hasil apa buildnya
gara-gara masuk semua Nah kalau adaaking Ya udah gak usah gak usah khawatir ya ya oke menarik menarik
Wah bisa jadi alternatif saya ini untuk asik nih kita kita mal mal Iya benar Ya lagianudnya udah
ada yang bikin ngapain kita bikin lagi apa Do not repeat yourself Iya dry nah ini juga sama kan apa eh
typesript typesript juga bisa eh menggunakan konsep-konsep funional tapi dia bukan bahasa fungsional kan maksudnya gimana tuh Hah
compiler Ya tapi kan dia ada ada objeknya juga ada kelasnya juga ya kan he he esript kan
javascript Iya sih bahasa apa lagi ya yang dikompile ke javascript rescript resript itu funional Ras Ras bukan
elikir funsional nah ngomongin elikir asik Saya punya nih beberapa tahun yang lalu 2015 Saya pernah bikin eh blog
tentang eh fiturnya sama ya first class function higher order function closure udah enggak ada gitu sampai bukanya dari
apa Kenapa kok hilang Iya markdownnya masih ada tapi kan jelek ya yang diliat maksudnya El eldos.com-nya enggak diperpanjang udahak
udah enggak dilanjut udah enggak dilanjut sama siapa sama gue udah enggak dilanjut Oh udah gua matiin lu mau bayar
2015 udah enggak enggak ada bandwid lagi buat bikin-bikin Ask nah ini ini first class function yang tadi ya function
bisa dimasukin ke fungsi yang lain minimalisnya bahasanya gak ada apa makudnya dipisahin line Break doang kagak ada bracket gak ada apa minim
tutup kur Opal Opal I higher order function beda lagi ternyata jadi prinsipnya Sama tapi ya maksudnya itu
kan jadi bisa ngejalanin fungsi di dalam fungsi ya cuma bentuknya doang Map ya tadiya filter reduce juga itu adalah
higher order contoh higher order function closure itu yang tadi di javascript juga ada konsep closure kan heeh bisa mengakses variabel dari Scope
Child Scope ya value dari Child Scope dari atasnya betul dari luarnya sor yang jelas maksud program itu juga goleng kan
ya goleng tidak goleng op tapi op-nya juga beda strck base dia [Musik] ohutable tadi kita ah bahas ya antara
dotpush sama do concet ya dia menghasilkan objek baru ini juga sama apagi ya e udah selesai I inikel
okel okel juga ada objeknya makanya ada Oya depannya objek berarti cel cel doang Cel funal objektif camel I OB Cel Eh iya pe
pel Pearl enggak tahu Kayaknya Pearl itu masih prosedural kayaknya enggak tahu enggak tahu enggak tahu iya iya
iya tapi ini ada cerita lucu nih dari blog ini ya ini kan ada ada dua orang ya
masih aktif Enggak Orangnya nah ini Jadi ee saya waktu itu bikin blog ini tujuannya Adah untuk belajar karena
tertarik kan di 2012an itu tertarik sama functional sama sama elixirnya cuman mem maksa belajar Gimana caranya ya udah e
ngblok aja tiap minggu e jalan apa minggu kedua sekarang ya Iya minggu kedua minggu ketiga tiba-tiba ada yang
email namanya Pak Augi ini dia bilang gini kurang lebih ya e bahasaingkatnya he bro Gua suka blog lu artikel lu tapi
bahasanya ngacau bahasa Inggrisnya karena gua pakai bahasa Inggris dia kan orang Amerika orang was belum ada belum
ada chat GPT tapi ya buat Kalau sekarang kan udah tinggal ee bagusin kata-katanya iya ee gua mau deh jadi editor lu gua
bagusin sebelum lu publish gitu Akhirnya akhirnya dia selama dari 2 sampai 2015 ya kita kerja bareng gitu
wiih ceritanya menarik juga jadi ya apa ee karena memang elir di Indonesia waktu itu bahkan sampai sekarang juga sepi kan
tapi banyakan yang akses dari luar jadi ya seru sih seru ya begitulah terus enggak dipasang Adsense sih Heeh enggak
dipasang iya jadinya orang tujuannya apa loh kan Bayar buat bayar buat bayar domain dan bayar server Iya sih bukan
buat hal yang lain iya i Harus bisa self sustain He Oh iya bahasa yang lain ada lagi
ee kalau PHP bisa ketiga itu enggak atau keempat eh apa eh syarat atau syarat ya princiiple princisipel dari pure function pasti
bisa kan pure function bisa higher order function bisa enggak udah ngecek belum fangen eh PHP manggil bisa sih
taruh di variabel taruh di as asal bisaave di variab berartiisi php bisa bisa Nah wupun bisa setah di ke fun bisa dijalan
darinyaak Kalau enggak ya berarti gak bisaak bisa order fction namanya
ini tapi harus ada call a ini ya Oh indikatornya colable apa variabelnya namanya func F Iya itu high order
function udah iya ini callback kan callback gua tanya jemenai programming language yang mendukung mendukung functional program skal pasti
Iya closure eliksir FS F ya rusl Iya Rus kotlin bisa itu yang mendukung kan Oh Rus while
not purely functional language Tapi dia bisa kotlin Swift skim
okelm Idris dan pure script apaagi pure script ini Idris pure script itu eh sintaksnya seperti haskel tapi
dikompilasi ke javascript kalian bisa bahasa
permograman apa aja jadi jadi CSS lagiakage ini yang lebih lebih parah lagi nih eskalasi Apakah html bahasar
berarti scss F program engak yang menjadklara deklaratif kan berarti apa yang ingin dituju hasilnya [Musik]
gimana bahasa yang deklaratif lagi adalah SQL itu deklar ye select drop table GR by order by Yes
Oke jadi eh di sini e Apa tujuannya bukan memaksa teman-teman untuk berpindah ke bahasa fungsional tapi e
enggak ada salahnya belajar paradigma atau paradigma baru bukan hanya funsional mungkin ada paradigma yang lain yang kita enggak tahu ya Selain op
dan funional itu bisa memperkaya pengalaman kita jadi ketika kita ee misalkan kita belajar funional nih kalau kita ketemu kita ngenalin kita recognize
Oh ini begini terus kita bisa masuk ke mindsetnya Oh berarti ini urut-urutannya kita bacanya gampang Kalau tuh kita baca
kode orang lain atau baca library eksternal itu kita bisa ngerti karena kita bisa tahu mindset eh functional
programming waupun kita mal kita engak sukaok besok langsung Project di kantor kalian diaktor aja jadi functional tiba-tiba Enggak gitu juga
kali masih pakai disk mbak As pakai Fa programming disnya Iya memang kalau pakai functional programming tapi ada disk ketinggalan
Global kan yang masuk Iya iya jadi ee kalaupun eh di pekerjaan kita sehari-hari menggunakan op kita bisa implementasi beberapa fungsi-fungsi
yang ada di functional programming salah satunya perion dan lain-lain SP1 SP1 gara-gara ngubah semua jadi funal programing tapi disnya
ditinggal I itulah kekurangan dari bahasa yang tidak pure funional ya Jadi bisa nyampur-nyampur cuman ya pasti ada apa
ya begitu juga sebaliknya mungkin kita sehari-hari mungkin bekerja sebagai em yang menggunakan funional paradigma funional gitu ya pakai bahasa funsional
tapi kita belajar Oop enggak ada salahnya dan ber kapan-kapan kita kita pernah enggak sih punya episode Oop tapi
yang kayak gini nih yang kayak beneran diudah satu persatu Nah berarti bisa jadi belum nextnya bisa yang paling saya
yang paling saya kalau kalian mau memilih Ya janganlah dicampur-campur yang paling saya anti itu kalau konsepnya sudah dibuat funional tapi
nanti pakai Oop di sebagian tempat nanti di main terus udah ada Oop tapi pakai nanti konsep fungsional ini kenapa
dicampur-campur gitu kalau mau stay stay aja satu tempat jangan camp kalau pakai Oop jangan pakai filter jangan pakai redus
jangan pakai map gitu maksudnya Bukan maksudnya konsepnya yang kalau memang opop ya Ee ya rapi pemanggilannya kayak pakai
abstruction terus kemudian pakai objek eh inherit iya jadi yang maksud saya jangan dicampur-campur adalah ee sudah pakai fun programming tetapi untuk
memanggil function callback-nya itu adalah eh objek eh S kelas pakai kelas Static function k Static function dari kelas
lagi ya kan iya i i nah cuma jadi si Ken pernah mempromote kayak dia kurang Entah kenapa
kurang suka kelas dia mempromote factory tapi kalau itu udah masuk P funional sih jadinya banyak banyak juga kepikin
obtor bak juga apa polyorphism Jadi dia misalnya pakai facttory ya satu satu e interface jadi factory terus kemudian
implementen dari interface itu tinggal pakai factory mau jadi apa aja itu Nam kan polymorfism kalau di iya he cuma
jadi enggak instanate kayak new apa user sama dengan New user gitu ggak pakai kayak gitu yang yang instanate si
factorynya Iya sudah dibungkus user sama dengan create user eh apa tanda kurung I tapi harus hati-hati juga serh karena Iya
karena kalau apa e ada yang bilang wah ribet ya harus ada apa harus belajar inheritance polorism bla bla bla gitu kan funal
simpel gitu kan tapi engak juga belum ketemu monat aja Belum ketemu apa tadi factory method eh factory atau ada funors ada
macam-macam konsepnya maksudnya istilahnya itu banyak juga sebenarnya Dan satu hal yang eh mungkin akan membuat kita sedikit jengkel dengan
functional programming adalah nanti argumen dari parameter dari dari fungsinya itu banyak karena harus diikutin semua kan harus ada di
parameter itu untuk mengubah sebuah data kan Makanya argumennya pakai objek jadi cuma satu n tu seobjek Heeh masukin
seobjek obeknya kalau itu gimana kita ngedesainnya aja sih ya Iya memang cuman di dalam objeknya kan ada banyak
juga nah itu tergantung apa yang mau diubah itu Side Effect juga enggak sih Kalau ngubah satu properti dari data
user properti lainnya banyak yang berubah Juga misalnya kalau user misalnya poinnya skornya di atas 3.000 itu jadi ada properti lain yang berubah
Nah itu saya sebenarnya bisa di dianggap Side Effect kan H benar benar Nah itu jadi ujung-ujungnya ribet juga cuma ribetnya
bentuknya gimana dan Kapan ketemunya Oh op enggak ribet nih malas belajar aja Oh iya iya deh jujur menurut saya sih ribet ya tapi
enggak tahu ini masmas orang ya masing-masing orang nah ini kalau pakai package Seperti ramda apakah penggunaan memori bisa lebih
kecil Iya tergantung kalau kita nulis kode sendiri kode yang sama kode kita apa bpotan panjang banget Terus kalau
kita ganti pakai ramda ternyata lebih rapi lebih pendek ya lebih kecil dong Maksudnya technically formally entah lebih kecilnya berapa byit beda berapa
ba doang pasti lebih kecil kan Tapi kalau kita bisa bikin kode yang lebih ringkes lebih lebih efisien harusnya
lebih ya kode kita sendiri enggak usah pakai ramda lebih kecil tapi kan secara realistis perlu waktu juga nulis kodenya
jadi di luar m ada kalau memilih penggunaan library itu adalah untuk menghemat waktu untuk ng-develop-nya karena fungsi-fungsi yang
dasar yang kita enggak sudah dibuat orang sudah sudah dibuatin orang jadi kita hanya fokus S tesnya juga yang
ngetes kan dia I dia sudah Dia sudah ngetes dan kita hanya tes yang perlu kita buat aja Jadi sebenarnya lebih
mempercepat waktu untuk ngdevelop dan betul yang kita maintain adalah fungsi-fungsi atau eh kode yang hanya berhubungan sama
bisnis prosesnya kita saja oh oke ya ya I Ya baiklah ada pertanyaan yang belum terjawab banyak pertanyaan Oh iya yang di fanboy
JavaScript gara-gara Wah mantap Mas jangan jangan fanboy ya jangan fanboy ya jangan sampai fanboy eh ya kalau lagi
suka Jav ya suka aja nanti kalau misalkan tiba-tiba ketemu bahasa lain ya UD Jang to jangan toksik ah ini
pertanyaan menarik nih dari kacang rebus Wah namanya bikin Lapas ada engak sih bahasanya bisa ganti javascript secara
full secara full belum ada ya belum ada ras pun ras itu bisa jalan di browser enggak sih harus dicompile ya Belum
belumin kan enggak bisa bikin UI kan enggak bisa e enggak bisa jalan diiteak bisaong manipulasi Dom I belum bisa
manipulas manipulasi Dom bisa dulu sempat ada ada apa ada wacana untuk mengkodeta javascript di browser salah satunya ya
tadi silverlight apagi e flash action script UPL tapi masing-masing browser punya itu sendiri ya jadi kayak sama
satu lagi yang hampir ya yang hampir berhasil mengkodeta adalah dart sebenarnya iya tapi G itu mau dimasukin ke Chrome
tadinya cuman Entah kenapa enggak jadi akhirnya jadilah flut enggak tahu bukan angular ya dia lahir dari angularrip Oh jadi flutter
Rip jadi flut jadi dipakai di flatter maksudnya bukan jadi flut ya he CL di komponen di react menurut saya
lebih clean Jadi gak perlu use memo use callb dan lain-lain Iya kalau sudah bentar lagi sudah ada re compiler memo sudah gak
perlu sudah gak per tapi juga gara-gara kebanyakan pakai konsep programming itu jadi overuse ya Benar gak sih pakai ini gitu kan
jadi itu kannya juga kan itu utility function kan Hook sebetulnya Iya betul untuk memudahkan sebenarnya kalau menjadi
sulit ya jangan digunakan gitu aja ya tujuannya kan asal jangan dicampur-campur udah itu asal jangancampurcampur ya Apakah eh di masa
depan nojs bisa run typ script out of the box bisa jadi iya Deno udah bisa e Bun Kayaknya
udah bisa juga cuma berarti kayaknya not unlike deh maksudnya note kan mengutamakan stabilitas ya Ee dari apa
filosofinya stand heeh heeh jadi paling Eh kalau pada mau coba-coba di runtime pengin bikin runtime yang mak saya yang
lebih lebih out of the box eh typesript itu paling diband sama Deno berharapnya enggak eh konsep-konsep beberapa konsep
typ script sendiri juga ada kemungkinan masuk ke javascript secara umum kan javascript jadi kayak misalkan Ada kemarin beberapa tahun yang lalu eh typ
mau di mau diintroduce di javascript gitu Jadi bisa aja bisa aja kalau masuk lewat ript terutama ya kalau udah standariz
lah He nah ada satu lagi yang banyak pertanyaan yang menyangkut dengan functional programming kan kita pakai imutable variabutable data typesutable e
data structure Apakah itu akan memakan memori lebih banyak daripada kita mutable karena kan harus punya variabel yang banyak gitu lebih banyak ya okup
memori pasti kan pasti Ya pasti pasti Iya lebih banyak cuman enggak signifikan benar enggak sih Heeh tergantung kita sebanyak apa kalau
ya itu harus harus testing beneran sih kalau udah berapa ratus berapa ribu ya pasti Makan memori signifikan karena ada pengalaman itu
enggak ada Jav sudahya ada collector Ya jadi Ya iya tapi kan kalau masih dipakai ada function yang jalan yang pakai itu semua
ya belum bisa Justru karena dia imutable dan dia hanya live dalam satu function jadinya yang misalnya fun itu
sudahudah selesai dipanggil dan yang Tad di dalam sudah begitu begitu functionnya udah selesai kan dia ada cycelnya untuk
garbor untuk he ngumpulin sampah Jadi sebenarnya ya Not much enggak enggak terlalu signifikan ya lebih penting kita
enggak bakal ngerasa kecuali kita ada function yang ekstrem banget Maknya kerjaan yang lama berat banget yang ekstrem Iya salah satu benefitnya
mungkin dari functional programming adalah kode kita lebih mudah dipahami dan lebih mudah diprediksi hasilnya ya Meskipun secara performa
mungkin agak sedikit lebih tingi 0,00 detik lebihambat belum tahu bisa harus dicoba dan tergantung kasus ya karena kalau sudah bermain matriks kayak
kayak matriks jarang yang gede-gede mungkin Heeh efek kali ya sama apa kayak big notation-nya maksudnya kalau kalau
datanya dua kali lipat Gimana kalau datanya 10 kali lipat eh itunya kayak gimana harus ditonya kayakangun datanya kita kayak membuat
aplikasi spreadsheet contohnya ya mungkin he e mungkin akan terasa kalau misalnya ada formula segala macam kayak gitu kalau dan dataanyatiap sel ada
formulanya Rib Oke Oh I ada satu lagii kalauak iya ada ada satu lagi keunggulan functional programming eh dibandingkan
eh nonfunctional programming eh conuren itu karena kan datanya imutable kan jadi ee setiap fungsi yang dijalankan di misalkan berbarengan
paralel itu dia tidak akan mempengaruhi karena enggak ada Global variable kan H enggak ada R condition kan enggak ada
yang ketimpa Hah Heeh yes gitu Bisa jadi bisa stand alone ya hm Jadi dia berdiri sendiri punya state
masing-masing tidak mengganggu state yang lain begitu Ee apa prosesnya sudah selesai dia kirimin ke fungsi yang lain
untuk diproses gitu Itu juga salah satunya yang membuat bahasa fungsional itu menjadi lebih menarik eh terakhir saya mau nunjukin salah satu
tadi ini kita sempat Bahas eh apa yang variabel variabel yang imutable ya Eh itu mempengaruhi performance atau enggak
eh sepertinya berpengaruh terutama tergantung ini ya Tergantung scale-nya ya jangan di di generalisir ya ini ada Har eh yang e dari discord mereka punya
masalah eh mereka pakai elixir secara bahasaramannya 11 juta I mereka akhirnya terpaksa pakai ras karena eh data struktur
di Iya jadi mereka coba E untuk e ngpush berapa nih ya mereka tujuannya ini nih mana dia e memberly
rp00.000 mau Oh bukan mana ya Ada ada ininya angka-angkanya Itu kayaknya deh benchmark benchmark tes benchm ya ini baah 500 MS ya enggak ada kayak
mereka mau melakukan apa gitu ada satu fungsi yang membuat mereka harus ee optimasi mana ya itu tadi Kak misalnya
kalau ada server yang anggotanya 100.000 ada satu orang baru join harus bikin baru lagi we would have to build a new
list benar benar membernya 100.001 Iya jadi itu yang dan eh apa mereka bikin itu eh worst cas-nya
eh best case-nya 500 MS mili apa mikro nih mikro mikrosc ya mikr sama 170.000 mikr kalau kalau kita 500 mikros eh 170
Kayaknya masih oke lah ya enggak tahu ya ini tergantung aplikasinya juga kan real itu kan satu dikalikan 11 juta ya bed
Lah iya kas dan dan akhirnya mereka menggunakan Eh ini Si ras untuk manggil jadi dari elikir manggil fungsi keras Habis itu
dia proses dibalikin lagi ke elikirnya berarti tambal sulam ya gak engak semua sekaligus bisa langsung dirfaktor jadi
rest kan Iya enggak enggak mereka enggak melakukan refaor jadi e elixir itu bagus untuk Real Time kan untuk di front
endnya back endnya proses-proses berat itu bisa diarahkan ke e bahasa yang low level seperti si Rus e Go dan
lain-lain nah kebetulan elikir bisa ini e native implement function jadi function-nya itu ditulis dengan si at ras bisa di langsung dipanggil gu kayak
di info gitu ya jadi info kayak info komen komen laine ya berarti ya betul nah itu jadi ee kalau ditanya yang tadi
pertanyaan tadi Apakah berpengaruh Iya tapi kalau udah faktor pengalinnya sangat besar seperti discord itu baru itu berasa gitu baru worth it dibikin
kayak gitu Ya bikin satu serv Iya nih ada yang pengalaman pakai ras enggak kita belum ada yang pakai sudah pakai
hanya sekedar nulis-nulis baru kayak ikut lesson coursesnya Oh more than hello world lah more than hell World tapi belum
Iya more than hello world gampang susah eh bisa ngikutin eh tergantung gampang gampang susah karena harus
mengerti mengerti pola pikirnya Si ras karena completely different sama javasp ataupun PHP paradigmanya harus dipelajari ya paradigma sebuah bahasa
juga harus dipelajariw tuh bawel banget oh compilernya bawel ya itu terkenal ya Jadi kalau belajar bahasa itu ya Enggak
cuman belajar sintaksnya tapi belajar e ininya filosofinya kalau go katanya kan oriented tapi eh apa namanya pakai eh
base-nya itu bukan bukan class base dia enggak ada kelas tapi ada metod I bas e struck base ya jadi itu yang harus
interface STR itu Kak interface Ya kurang lebih Oh enggak bed bukan interface itu functionnya enggak ada jadi cuma interface itu funnya cuma
definisi aja kalau strck itu e kayak kelas dan dia ada satu satu satu function kelas dan method tetapi anggap
itu nama kelas itu adalah STR jadi di kelas yang besarnya itu adalah STR itu implement STR ini STR ini jadi kelas itu
punya banyakam Oh isinya bisa ada Properti apa kayak adaodnya di dalam STR itu di php juga sudah bisa STR kalau
kalau mau main oke ada PHP sudah adap itu modern loh Swift juga struck base Kalau enggak salah kalau enggak salah ya op-nya strck
base jadi ya ya itunya yang juga harus dipelajari Enggak cuman sintaksnya doang eh bentar ngomong bahasa programan
macam-macam jadi ingat komik ini deh Udah pada lihat belum Coba deh buka di chat Oh pernah pernah pernah
Oke tuh lihat ini enggak ngerti Cuma karena engak nguasain bahasa lain Jadi kurang lucu sih jadi bingung Oh jadi
engak relate ya Ya maksudnya kalau enggak pakai bahasa itu kan gak tahu lucunya di mana selain javascript coba
zoom in zoom in javascript kan hipster udah Bik P Pak library gitu ya Pak Framework Set upnya lama bikin
Framework e apa jadi misinya adalah siria harus menyelamatkan Princess kan Princess ditawan di benteng Nah kalau pakai javascript apa
bentengnya udah keburu ditinggal si princessnya udah pindah udah hilang Oke kemudian kalau kalau bahasa lain gua gak ngerti
sih gak ngerti lucunya di mana The Princess entireard Oh ini e kayaknya terlalu lengkap ya terlalu lengkap cuma gak bisa berhenti sulit
diop eh si si bukan op kan kalau op itu yang ada memesnya juga nanti coba kita lihat
ya the en kayaknya in jennya Inside jokennya orang i nah pakai Java udah
buru-buru ada dua dua k tapi gak ada princess-nya kalau Lis Ya udah ini doang ya kurung Kurau apa kayaknya itu bahasa
yang penuh apa bracket apa tanda kurung terus kebolak-balik ya kayaknya jadi apa kudanya naik orang kudanya naik prin
naik orang kebalik-balik ya i we don't support freeing capturing Princess We already have this free Princess in standard library standard
library Is this the princess From The Java panel from Java kan tadi Java panel ktilnya dua princessnya princessnya di
situ you declare your princess and Castel and rescue plan then you go for a drink forget about the implementation Oh
cuman diclare doang gak di jalan kasihanang Im image-nya kayaknya PHP Mas buruk sekali ya bisa ternyata bisa tadi kan Ya
mungkin persepsi populer ya orang yang gak pakai PHP enggak tahu fitur-fitur itu ada berarti Emang kurang Ambassador
aja betul kurang Def aja Masti nanti jadi [Tertawa] PHP Janganlah PHP tetap berkembang iya
banyak kok apa E bahasa-bahasa yang lain juga banyak tetap berkembang kadang-kadang juga del del 84 loh Iya dari tahun berapa tuh PHP dibilang
bakal mati bakal mati tapi enggak mati kanak ada juga bahasa yang yang awalnya Mungkin sedikit populer terus kemudian
enggak didengar terus tiba-tiba muncul gitu kan banyak kan eh tiba-tiba mati Muncul lagi gu juga B banyak
kan 83 yang sudah rilis 84 tuh masih tahun ini tetapi 83 November lalu I mungkin eh salah satu eh apa
namanya kesulitan belajar Rus tergantung dari eh background kita kalau background kita mungkin udah menggunakan bahasa yang type language seperti Java atau
typesript mungkin itu mungkin kayaknya cenderung lebih mudah ya cuman konsep-konsepnya itu banyak yang berbeda contohnya boro cheker boroeker juga beda ya itu nah ya
Saya juga gak tahu itu apa jadi banyak e banyak apa ya sama kayak Oop banyak yang dipelajari e apa istilahnya e
konsep-konsepnya mungkin itu by the way kita sudah hampir 2 jam ternyata ternyata bisa ngomin gini doang bisa
lama he seru lagi seru ya mungkin next timeennya kita akan bahas op di Java skriip kali ya Biar adil Kalau bahas
biar adil Kalau bahas PHP Nanti bahas Pak amayumudim apa tuh Oh kalau enggak tahu ya berarti harus cari apa itu
oke e Nantilah itu itu scop operator masalah masalah di scop operator oh nah seru ini Iya sebenarnya kan kita mau
bahas PHP kan tapi mau ngundang siapa gitu kan mau belum ketemu narasumbernya mungkin teman DII punya kenalan yang
bisa diajak ngobrol di sini boleh ya kita e undangang nanti apa Nah ini Bu entar buat episode PHP lah oke untuk
malam ini mungkin kita udahan dulu e jangan lupa kita bisa diskusi lebih lanjut ya di githubnya kitaapcom/obrolin atau
ke/obrol Jadi sebenarnya bisa ee apa suggest topic atau bisa mau diskusi misalkan Saya pengin tahu dong eh cara
penggunaan Apa ya Eh use memo itu kayak gimana gitu ya kalau kalau sempat nanti kita akan jawab mungkin kita akan bikin
episode khusus untuk menjawab pertanyaan-pertanyaan yang ada di sana itu menarik juga kan Ya woh udah muncul nih nama-namanya pak Sandika
gali e Mas Petra Oh iya benar kalau Pak Sandika gali lebih gampang Kalau lebih gampang ya Heeh tapi dia enggak mau
diajak bahas PHP itu enggak mau coba mungkin set Mungkin setelah nonton ini mau ah ya mudah-mudahan dengan PHP bisa beli lambo Wah lambo JS
BRB belajar PHP lambo JS ya lambo JS yang beli kan yang bikin Framework kan ya bukan yang menggunakan
frameweloper yang ini bahasanyaan mimpi sebelum kalian bikin Framework Oke Jadi silakan berlomba-lomba bikin Framework ya ya itu
tadi nama nama bahasanya sudah ada ide kan di atas ada ada apa kutilang ditilang ditilang Iya Jadi mungkin untuk malam
ini kita udahan dulu sebelum semakin ngaco ya terima kasih buat semuanya yang sudah meramaikan Ee mudah-mudahan kita
dapat sesuatulah ya dari sesi malam ini Enggak cuman ee saling mengejek ya jangan ya Enggak boleh ya Loh kan Enggak
ngejek kita mengapresiasi mengapresiasi betul betul oke kita ketemu lagi minggu depan minggu depan tanggal tanggal 5 berarti minggu depan
ada bintang tamu spesial siapa kita tunggu saja seru banget Iya topiknya juga lagi Hype ya jadi ditunggu
aja Ee Kita tanggal 5 ya tanggal 5 ya tanggal 5 Oke dan untuk malam ini sekian terima kasih banyak Sampai jumpa minggu
depan Bye bye bye bye
Deskripsi asli dari YouTube
Yuk mari kita diskusi dan ngobrol ngalor-ngidul tentang dunia web. Agar tetap up-to-date dengan teknologi web terkini. Topik, tautan dan pertanyaan menarik bisa dilayangkan ke https://ksana.in/ngobrolinweb Kunjungi https://ngobrol.in untuk catatan, tautan dan informasi topik lainnya.
Episode Terkait
3 Jul 2024
Ngobrolin Elixir
Episode ini membahas tentang Elixir, bahasa pemrograman fungsional yang berjalan di BEAM (Erlang Virtual Machine), bersa...
18 Jun 2025
Ngobrolin Database
Episode ini membahas Database Scaling, khususnya perbedaan antara horizontal scaling dan vertical scaling. Topik ini dia...
4 Jun 2025
Ngobrolin Astro
Episode ini membahas secara mendalam tentang fitur server-side Astro yang menjadikannya framework yang sangat versatile....
Suka episode ini?
Episode baru setiap Selasa malam. Dengarkan lewat YouTube, Spotify, atau feed podcast favoritmu.
Memuat komentar dari GitHub Discussions...
Jika komentar tidak muncul karena ekstensi privasi / adblocker, kamu bisa berdiskusi langsung di GitHub Discussions .