Jumat, 28 Juli 2023

Wireless Network for dummies

  

Pengantar

Dalam semua sejarah jaringan, tidak pernah semudah ini untuk menembus jaringan. Teknologi LAN nirkabel IEEE 802.11 memberi peretas dan profesional keamanan jaringan alat yang murah — berkali-kali gratis — untuk digunakan.
Baik Anda pengguna setia Linux atau Windows, alatnya ada di mana-mana.
Karena komunitas warez yang bertahan lama dan ada di mana-mana, peretas bahkan dapat memperoleh alat analisis dan penetrasi yang mahal — seperti protokol 802.11
penganalisa — tanpa investasi.
Buku ini akan menunjukkan kepada Anda beberapa alat terbaru, tetapi teks lengkap yang mencakup semua alat peretasan nirkabel yang tersedia saat ini akan membutuhkan forklift untuk bergerak, dan mengharuskan Anda untuk menghapus semua buku lain dari rak buku Anda untuk memberi ruang. Dengan banyaknya alat yang tersedia ini, faktor penting menjadi belajar bagaimana menggunakannya secara efektif dan efisien.
Pemula telah menyia-nyiakan banyak akhir pekan dengan berkendara di lingkungan atau kawasan bisnis.

Jenis penyelidikan untuk buah yang menggantung rendah menghasilkan sedikit, dan membuang-buang waktu belajar yang berharga. Jauh lebih bermanfaat bagi individu untuk mempelajari bermacam-macam alat penetrasi LAN nirkabel dan bekerja menuju tujuan memperoleh informasi yang berguna. Mempelajari alat dan teknik membutuhkan waktu dan kerja keras dalam lingkungan tertutup, tetapi menghasilkan banyak hal di arena teknologi informasi.
Permintaan saat ini untuk profesional keamanan nirkabel sangat mengejutkan. Orang-orang yang telah meluangkan waktu untuk mengasah keterampilan mereka dalam menggunakan alat yang tersedia dan teknik penetrasi terbaru akan mendapatkan imbalan finansial dengan karier yang hebat. Saya mendorong Anda untuk mempertimbangkan berlatih dan belajar daripada berkeliling dari lingkungan ke lingkungan berharap untuk mengirim email melalui modem kabel seseorang.
Salah satu masalah terbesar dengan jaringan nirkabel saat ini adalah kurangnya deteksi intrusi. Bank, firma investasi, rumah sakit, kantor hukum, dan organisasi lain yang menampung informasi sensitif mungkin memiliki kebijakan perusahaan yang menyatakan bahwa LAN nirkabel tidak diperbolehkan. Mereka mungkin berpikir bahwa kebijakan "tidak digunakan" ini membuat jaringan mereka aman dan terjamin, tetapi mereka salah besar.
Titik akses nakal dapat ditempatkan di jaringan mereka oleh penyusup atau karyawan, dan tanpa sistem deteksi intrusi nirkabel, tidak akan ada cara untuk mengetahui bahwa semua mekanisme keamanan mereka telah dilewati — memberikan akses penuh kepada siapa pun dalam jarak 300 kaki dari fasilitas. Profesional keamanan nirkabel harus dapat menggunakan alat yang tersedia untuk menemukan LAN nirkabel, menonaktifkan titik akses yang tidak sah, dan menguji berbagai kerentanan nirkabel.

Salah satu tugas tersulit bagi seorang konsultan saat ini adalah mengajari pelanggan tentang teknologi LAN nirkabel. Seringkali, organisasi tidak memahami keduanya
teknologi maupun risiko yang terkait dengannya. Jaringan 802.11 memiliki ROI yang signifikan untuk beberapa organisasi, tetapi secara inheren menciptakan lubang keamanan yang sangat besar sehingga Anda dapat mengendarai truk melewatinya. 

Organisasi harus hati-hati mempertimbangkan apakah jaringan 802.11 layak dan dapat dibenarkan biayanya. Banyak hal yang masuk ke pengamanan jaringan 802.11, mulai dari instalasi yang aman hingga pelatihan pengguna akhir dan staf TI.
Lupa menutupi satu basis dalam keamanan LAN nirkabel dapat menyebabkan intrusi dan bencana keuangan. Risiko seringkali jauh lebih besar daripada keuntungan menggunakan teknologi 802.11, sehingga organisasi memutuskan untuk memiliki kebijakan tanpa penggunaan. Namun, organisasi tersebut harus mempertimbangkan cara melindungi dari intrusi nirkabel. Salah satu trik untuk membuat pelanggan "menggigit" — berkomitmen pada gagasan melindungi LAN nirkabel mereka — adalah dengan memberi mereka demonstrasi cepat tentang alat peretasan.
Jika mereka memiliki (misalnya) jaringan 802.11g yang sarat muatan yang diamankan dengan WEP, meretas kunci WEP mereka akan membuka mata mereka dengan sangat cepat.
Perlu diingat bahwa demonstrasi ini SELALU harus dilakukan dengan izin dari orang yang berwenang di organisasi klien — dan dalam lingkungan tertutup. Melakukan sebaliknya dapat menyebabkan tuntutan pidana, pencemaran nama baik organisasi Anda, dan sejumlah besar hasil yang tidak diinginkan lainnya.
Waktu bukanlah teman profesional TI. Tetap mengikuti alat dan teknik terbaru membutuhkan banyak kerja keras dan waktu. Membaca buku seperti ini adalah upaya yang layak untuk menjadi profesional keamanan nirkabel yang berpengalaman.
Saya sangat percaya dalam memilih bidang studi dan menjadi yang terbaik yang Anda bisa di bidang itu. Teknologi LAN nirkabel sangat dalam dan luas sehingga dapat dengan mudah menghabiskan seluruh waktu Anda, jadi fokus menjadi profesional keamanan LAN nirkabel adalah pilihan yang masuk akal dan dapat dicapai. Permintaan pasar, gaji, dan karier itu sendiri semuanya bagus. Salam hangat untuk semua yang memilih jalur karier ini — atau berusaha untuk meningkatkan pengetahuan jaringan mereka dengan membaca
buku bagus seperti ini.
Devin K. Akin
Chief Technology Officer, Profesional Jaringan Nirkabel Bersertifikat
(CWNP) Program http://www.cwnp.com 

Perkenalan
Selamat datang di trik dan teknik peretas jaringan nirkabel berbahasa Inggris sederhana yang dapat Anda lakukan Meretas Jaringan Nirkabel Untuk Pemula.
Buku ini menguraikan penggunaan untuk secara etis meretas jaringan nirkabel berbasis 802.11 (milik Anda atau orang lain jika Anda telah diberi izin) dan menemukan kerentanan keamanan.
Dengan membalikkan keadaan dan menggunakan teknik peretasan yang etis, Anda kemudian memiliki kaki untuk melawan peretas jahat — Anda akan menyadari setiap kerentanan yang ada dan dapat menutup lubang sebelum orang jahat memiliki kesempatan untuk mengeksploitasinya.
Saat kami mengacu pada peretasan etis, yang kami maksud adalah jenis pengujian keamanan profesional, terbuka, dan legal yang dapat Anda — sebagai profesional TI — lakukan sebagai bagian dari pekerjaan Anda. Penjahat tidak perlu mendaftar.
Jaringan nirkabel bermunculan di mana-mana. Mereka memberikan banyak kebebasan tetapi bukan tanpa biaya: Terlalu banyak jaringan nirkabel dibiarkan terbuka lebar untuk diserang. Seperti halnya komputer atau jaringan lain, Anda harus mengetahui konsep keamanan terbaru untuk mengamankan jaringan nirkabel berbasis 802.11 dengan benar.
Tetapi menguncinya melibatkan lebih dari sekadar pengujian pemindaian port dan menambal kerentanan. Anda juga harus memiliki alat keamanan yang tepat, menggunakan teknik pengujian yang tepat, dan memiliki pengawasan yang cermat. Dan kenali musuhmu:
Sangat penting untuk berpikir seperti seorang peretas untuk mengetahui seberapa aman informasi Anda sebenarnya.
Peretasan etis adalah cara menggunakan teknik orang jahat (topi hitam) untuk tujuan orang baik (topi putih). Ini menguji sistem informasi Anda dengan tujuan membuatnya lebih aman — dan menjaganya tetap seperti itu. Jenis pengujian keamanan ini terkadang disebut pengujian penetrasi, peretasan topi putih, atau pengujian kerentanan, tetapi lebih jauh dari itu seperti yang akan Anda lihat saat kami menguraikan metodologi dalam buku ini.
Jika Anda menggunakan sumber daya yang disediakan dalam buku ini, mempertahankan pola pikir yang berfokus pada keamanan, dan mendedikasikan waktu untuk pengujian, kami yakin Anda akan berada di jalur yang tepat untuk menemukan kelemahan dalam sistem nirkabel Anda dan menerapkan tindakan pencegahan untuk menjaga orang jahat. dari gelombang udara Anda dan keluar dari bisnis Anda.
Tes peretasan etis dan tip pengerasan sistem yang diuraikan dalam buku ini dapat membantu Anda menguji dan melindungi jaringan nirkabel Anda di tempat-tempat seperti gudang, kedai kopi, gedung kantor, lokasi pelanggan, dan bahkan di rumah Anda.

Siapa yang seharusnya membaca buku ini?

Jika Anda ingin mengetahui cara membobol jaringan nirkabel dengan niat jahat, buku ini bukan untuk Anda. Faktanya, kami sangat merasakan hal ini, kami memberikan penafian berikut.
Jika Anda memilih untuk menggunakan informasi dalam buku ini untuk meretas atau membobol sistem nirkabel dengan cara yang tidak sah — Anda sendirian. Baik Kevin maupun Peter sebagai penulis bersama atau siapa pun yang terkait dengan buku ini tidak akan bertanggung jawab atau bertanggung jawab atas pilihan tidak etis atau kriminal yang mungkin Anda buat dengan menggunakan metodologi dan alat yang kami jelaskan. Buku ini dan isinya ditujukan semata-mata untuk profesional TI yang ingin menguji keamanan jaringan nirkabel secara resmi.
Jadi, bagaimanapun, buku ini untuk Anda jika Anda seorang administrator jaringan, manajer keamanan informasi, konsultan keamanan, penginstal jaringan nirkabel, atau siapa saja.
tertarik untuk mengetahui lebih lanjut tentang pengujian jaringan nirkabel berbasis 802.11 untuk membuatnya lebih aman — apakah itu jaringan nirkabel Anda sendiri atau jaringan klien yang telah diberi izin untuk diuji.

Tentang Buku Ini

Hacking Wireless Networks For Dummies terinspirasi oleh buku Hacking For Dummies asli yang ditulis Kevin dan Peter melakukan pengeditan teknis. Hacking For Dummies mencakup berbagai topik pengujian keamanan, tetapi buku ini secara khusus berfokus pada jaringan nirkabel berbasis 802.11.
Teknik yang kami uraikan berdasarkan praktik terbaik keamanan informasi, serta berbagai aturan keterlibatan tidak tertulis. Buku ini mencakup seluruh proses peretas etis, mulai dari memasang rencana Anda hingga melakukan pengujian hingga ancaman dan menerapkan tindakan pencegahan untuk memastikan sistem nirkabel Anda aman.
Ada ratusan, bahkan ribuan, cara untuk meretas sistem jaringan nirkabel seperti (untuk pembuka) laptop dan titik akses (AP). Daripada menutupi setiap kemungkinan kerentanan yang mungkin muncul di jaringan nirkabel Anda, kami hanya akan membahas yang paling mengkhawatirkan Anda. Alat dan teknik yang kami jelaskan dalam buku ini dapat membantu Anda mengamankan jaringan nirkabel di rumah, di usaha kecil hingga menengah (UKM) termasuk kedai kopi, dan bahkan di seluruh jaringan perusahaan besar.

Cara Menggunakan Buku Ini

Buku ini mendasarkan pendekatannya pada tiga bahan standar kebijaksanaan peretasan etis:

1.Deskripsi berbagai serangan peretasan non-teknis dan teknis — dan metodologi mendetailnya.
2.Akses informasi untuk membantu Anda mendapatkan freeware umum, sumber terbuka, dan alat pengujian keamanan komersial.
3.Penanggulangan untuk melindungi jaringan nirkabel dari serangan.


Setiap bab adalah sebagai referensi individu pada subjek peretasan etis tertentu.
Anda dapat merujuk ke masing-masing bab yang berkaitan dengan jenis pengujian yang Anda ingin tampilkan, atau Anda dapat membaca buku secara langsung.
Sebelum Anda mulai menguji sistem nirkabel Anda, penting untuk membiasakan diri dengan informasi di Bagian I sehingga Anda siap untuk tugas yang ada. Anda pasti pernah mendengar pepatah, "Jika Anda gagal merencanakan, Anda berencana untuk gagal." Yah, itu berlaku terutama untuk apa yang kita bahas di sini.

Asumsi Bodoh

Langsung saja, kami membuat beberapa asumsi tentang Anda, profesional TI:

1.Anda sudah familiar dengan konsep dan istilah dasar terkait komputer, jaringan, nirkabel, dan keamanan informasi.
2.Anda memiliki jaringan nirkabel untuk diuji yang mencakup minimal dua klien nirkabel, tetapi kemungkinan akan menyertakan AP, router nirkabel, dan banyak lagi.
3.Anda memiliki pemahaman dasar tentang apa yang dilakukan peretas.
Anda memiliki akses ke komputer dan jaringan nirkabel untuk melakukan pengujian.
4.Anda memiliki akses ke Internet untuk mendapatkan berbagai alat yang digunakan dalam proses peretasan etis.
Terakhir, mungkin asumsi yang paling penting adalah Anda telah memperoleh izin untuk melakukan teknik peretasan yang terdapat dalam buku ini. Jika belum, pastikan Anda melakukannya — sebelum Anda melakukan apa pun yang kami jelaskan di sini.

Bagaimana Buku Ini Disusun

Buku ini disusun menjadi lima bagian — tiga bagian bab standar, Bagian Puluhan, dan bagian dengan lampiran. Bagian-bagian ini bersifat modular, sehingga Anda dapat melompat-lompat dari satu bagian ke bagian lain sesuka hati.

Bagian I: Membangun Landasan untuk Menguji Jaringan Nirkabel

Di Bab 1, kita berbicara tentang mengapa Anda perlu memperhatikan keamanan nirkabel — dan menguraikan berbagai bahaya yang dihadapi jaringan nirkabel.
Kami juga berbicara tentang berbagai alat pengujian nirkabel, serta peretasan yang dapat Anda lakukan.

Bab 2 berbicara tentang merencanakan perjalanan peretasan etis Anda, 

dan Bab 3
berbicara tentang metode spesifik yang dapat Anda gunakan untuk melakukan pengujian. 

Bab 4
menyelesaikan semuanya dengan menguraikan berbagai alat pengujian yang Anda perlukan untuk meretas sistem nirkabel Anda.
 

Bagian II: Memulai
Peretasan Wi-Fi Umum

Bagian ini dimulai dengan Bab 5, di mana kita berbicara tentang berbagai serangan non-teknis yang terkait dengan manusia, seperti kurangnya kesadaran keamanan, menginstal sistem dengan pengaturan default, dan rekayasa sosial.

Bab 6 berbicara tentang berbagai penyakit keamanan fisik yang dapat membuat jaringan Anda terbuka untuk diserang.

Bab 7 mencakup kerentanan umum yang ditemukan dalam sistem klien nirkabel yang terkait dengan Kartu PC nirkabel, kelemahan sistem operasi, dan firewall pribadi — yang mana pun dapat membuat atau menghancurkan keamanan jaringan nirkabel Anda.

Di Bab 8, kita menggali lebih dalam tentang “masalah orang” yang dibahas di Bab 5 — khususnya, apa yang bisa terjadi jika orang tidak mengubah pengaturan default (arrgh). Kami berbicara tentang SSID, kata sandi, alamat IP, dan banyak lagi, jadi pastikan untuk memeriksa informasi penting ini tentang kelemahan nirkabel yang sering diabaikan. Di Bab 9, kami membahas dasar-dasar mengemudi perang termasuk cara menggunakan perangkat lunak yang tersandung dan sistem GPS untuk memetakan jaringan nirkabel Anda. Kami tidak hanya akan membahas alat dan teknik, tetapi juga apa yang dapat Anda lakukan — dan itu termasuk melakukannya secara etis sebelum seseorang jahat melakukannya.

Bagian III: Peretasan Wi-Fi Tingkat Lanjut

Di Bab 10, kami melanjutkan liputan kami tentang perang mengemudi dan memperkenalkan Anda pada beberapa alat, teknik, dan penanggulangan peretasan yang lebih canggih.

Di Bab 11, kami membahas lebih dalam tentang perangkat nirkabel yang tidak disetujui — kami menjelaskan mengapa perangkat tersebut menjadi masalah, dan membicarakan berbagai masalah teknis yang terkait dengan sistem nirkabel nakal di jaringan Anda. Kami menunjukkan kepada Anda tes yang dapat Anda jalankan dan memberi Anda tip tentang bagaimana Anda dapat mencegah sistem acak membahayakan gelombang udara Anda.

Di Bab 12, kita melihat berbagai cara komunikasi dan protokol jaringan Anda dapat menyebabkan masalah — apakah itu dengan spoofing alamat MAC, kelemahan Simple Network Management Protocol (SNMP), kerentanan man-in-the-middle,dan keracunan Address Resolution Protocol (ARP).
 
Dalam Bab 13, kami membahas denial-of-service
termasuk serangan jamming, disasociation, dan deauthentication yang dapat dilakukan terhadap jaringan nirkabel dan cara mempertahankannya.
 
Di Bab 14, Anda akan mengetahui cara memecahkan enkripsi WEP; 
 
Bab 15
menguraikan berbagai serangan terhadap sistem otentikasi jaringan nirkabel. Dalam bab ini, kami tidak hanya menunjukkan kepada Anda cara menguji sistem nirkabel Anda untuk kerentanan ini, tetapi juga memberikan saran untuk membantu Anda mengamankan sistem Anda dari serangan ini.
 
Bagian IV: Bagian dari Puluhan

Bagian ini berisi tip untuk membantu memastikan keberhasilan program peretasan etis Anda. Anda menemukan daftar sepuluh alat peretasan nirkabel kami.
Selain itu, kami menyertakan sepuluh kesalahan pengujian keamanan nirkabel teratas, bersama dengan sepuluh tip untuk menindaklanjuti setelah Anda selesai melakukan pengujian. Tujuan kami adalah untuk membantu memastikan keamanan berkelanjutan dari sistem nirkabel Anda dan kesuksesan berkelanjutan dari program peretasan etis Anda.

Bagian V: Lampiran

Bagian ini mencakup lampiran yang mencakup sumber daya peretasan jaringan nirkabel etis dan glosarium akronim. 

Ikon yang Digunakan dalam Buku Ini
 
 
Ikon ini menunjukkan informasi teknis yang (walaupun menarik) tidak terlalu penting untuk pemahaman Anda tentang topik yang sedang dibahas. Belum.
Ikon ini menunjukkan informasi yang layak diingat.
 


Ikon ini menunjukkan informasi yang dapat berdampak negatif pada upaya peretasan etis Anda — jadi perhatikan baik-baik.
 
 
Ikon ini mengacu pada saran yang dapat membantu menyoroti atau mengklarifikasi poin penting.
 
Ke mana Pergi dari Sini

Semakin banyak Anda tahu tentang cara kerja orang jahat, bagaimana jaringan nirkabel Anda diekspos ke dunia, dan cara menguji kerentanan sistem nirkabel Anda, informasi Anda akan semakin aman. Buku ini memberikan dasar yang kuat untuk mengembangkan dan memelihara program peretasan etis profesional untuk menjaga agar sistem nirkabel Anda tetap terkendali.
Ingatlah bahwa tidak ada cara terbaik untuk menguji sistem Anda karena jaringan setiap orang berbeda. Jika Anda berlatih secara teratur, Anda akan menemukan rutinitas yang paling cocok untuk Anda. Jangan lupa untuk mengikuti trik peretas terbaru dan kerentanan jaringan nirkabel. Itu cara terbaik untuk mengasah keterampilan Anda dan tetap di atas permainan Anda. Bersikap etis, metodis, dan aman —
selamat meretas!

Bagian I
Membangun Dasar untuk Menguji Jaringan Nirkabel

Di bagian ini. . .
Selamat datang di perbatasan nirkabel. Banyak musuh dan lubang yang mengintai di sepanjang perjalanan merancang, menginstal, dan mengamankan jaringan berbasis IEEE 802.11 — tetapi hasilnya sangat bagus. Mempelajari konsep keamanan nirkabel adalah pengalaman yang membuka mata. Setelah Anda mendapatkan dasar ke bawah, Anda akan menjadi wizard keamanan di organisasi Anda, dan Anda akan tahu bahwa semua informasi yang mengambang melalui udara tipis dilindungi.
Jika Anda baru mengenal peretasan etis, ini adalah tempat untuk memulai.
Bab-bab di bagian ini membantu Anda memulai dengan informasi tentang apa yang harus dilakukan, bagaimana melakukannya, dan alat apa yang digunakan saat Anda meretas sistem nirkabel Anda sendiri. Kami tidak hanya berbicara tentang apa yang harus dilakukan, tetapi juga tentang sesuatu yang sama pentingnya: apa yang tidak boleh dilakukan. Informasi ini akan memandu, menghibur, dan mengarahkan Anda ke arah yang benar, yakin pengalaman peretasan etis Anda positif dan efektif.

Kami menemukan dari mana asal pelanggaran keamanan di WLAN. itu masuk melalui robot-vac jahat lainnya.
ini yang ketiga bulan ini pasti menjauh dari pemiliknya, seperti yang lainnya.

Bab 1
Pengantar Peretasan Nirkabel

 
Dalam Bab Ini
1.Memahami kebutuhan untuk menguji sistem nirkabel Anda.
2.Kerentanan nirkabel.
3.Berpikir seperti seorang hacker.
Mempersiapkan peretasan etis Anda.
4.Tes keamanan penting untuk dilakukan.
5.Apa yang harus dilakukan setelah Anda selesai menguji.

Senin, 24 Juli 2023

Harvard CS-50 Computer Science | Intro

 

Selamat datang di Program Belajar Jarak Jauh CS50 Harvard University, 

https://cs50.harvard.edu/x/2023/

Ini adalah CS50, pengantar Universitas Harvard untuk perusahaan intelektual ilmu komputer dan seni pemrograman, untuk konsentrator dan non-konsentrator, dengan atau tanpa pengalaman pemrograman sebelumnya. (Dua pertiga siswa CS50 belum pernah mengambil CS sebelumnya.)

Kursus ini mengajarkan Anda cara menyelesaikan masalah, baik dengan maupun tanpa kode, dengan penekanan pada kebenaran (correctness), desain (design), dan gaya (style). Topik meliputi pemikiran komputasi, abstraksi, algoritma, struktur data, dan ilmu komputer secara lebih umum.

(Problem Sets):Langkah-langkah penyelesaian masalah terinspirasi oleh seni, humaniora, ilmu sosial, dan sains. Lebih dari sekadar mengajari Anda cara memprogram dalam satu bahasa, kursus ini mengajari Anda cara memprogram secara fundamental dan cara belajar sendiri bahasa baru pada akhirnya. 

Kursus ini dimulai dengan bahasa tradisional tetapi ada di mana-mana yang disebut C yang mendasari bahasa baru saat ini, di mana Anda akan belajar tidak hanya tentang fungsi, variabel, kondisional, loop, dan banyak lagi, tetapi juga tentang bagaimana komputer itu sendiri bekerja di balik layar memori dan semuanya.

Kursus kemudian beralih ke Python, bahasa tingkat yang lebih tinggi yang akan Anda pahami lebih banyak karena C. 

Menjelang akhir semester, kursus memperkenalkan SQL, di mana Anda dapat menyimpan data dalam database, bersama dengan HTML, CSS, dan JavaScript, melalui mana Anda dapat membuat aplikasi web dan seluler. 

Kursus memuncak dalam proyek akhir.

Pengantar

 

Bagaimana memanfaatkan kursus ini?

 

Cara Mengikuti Kursus ini

Bahkan jika Anda bukan mahasiswa di Harvard, Anda dipersilakan untuk "mengambil" kursus ini secara gratis melalui OpenCourseWare ini dengan mempelajari materi kursus selama sebelas minggu.

 


Jika Anda ingin mengirimkan kumpulan masalah kursus dan tugas akhir untuk umpan balik, masuk ke proyek Akhir.

Proyek Akhir
Puncak dari mata kuliah ini adalah tugas akhirnya. Proyek terakhir adalah kesempatan Anda untuk mengambil keahlian baru Anda dengan pemrograman untuk beralih dan mengembangkan perangkat lunak Anda sendiri.
Selama proyek Anda mengacu pada pelajaran kursus ini, sifat proyek Anda sepenuhnya terserah Anda. Anda dapat mengimplementasikan proyek Anda dalam bahasa apa pun. Anda dipersilakan untuk menggunakan infrastruktur selain CS50 Codespace. 
Yang kami minta hanyalah Anda membangun sesuatu yang menarik bagi Anda, menyelesaikan masalah aktual, memengaruhi komunitas, atau mengubah dunia. Berusaha keras untuk menciptakan sesuatu yang bertahan lebih lama dari kursus ini.
Karena pengembangan perangkat lunak jarang dilakukan oleh satu orang, Anda diberi kesempatan untuk berkolaborasi dengan satu atau dua teman sekelas untuk tugas akhir ini.
Tak perlu dikatakan lagi, diharapkan setiap siswa dalam kelompok tersebut memberikan kontribusi yang sama untuk desain dan pelaksanaan proyek kelompok itu. Selain itu, diharapkan ruang lingkup proyek kelompok dua atau tiga orang, masing-masing, dua atau tiga kali lipat dari proyek satu orang pada umumnya.
Proyek satu orang, ingatlah, harus memerlukan lebih banyak waktu dan usaha daripada yang dibutuhkan oleh masing-masing rangkaian masalah kursus.

Pastikan untuk membuat akun edX, jika Anda belum melakukannya. Ajukan pertanyaan sepanjang jalan melalui salah satu komunitas kursus!

Komunitas Kursus


Agar siswa dapat terhubung dengan teman sekelas melalui platform yang telah menghabiskan (terlalu banyak!) waktu mereka, CS50 memiliki komunitas resmi di Discord, Ed, Facebook, Gitter, Instagram, LinkedIn, Quora, Reddit, Slack, Snapchat, SoundCloud, Stack Exchange, TikTok, Twitter, dan YouTube.
Jika belum menjadi pengguna salah satu dari itu, izinkan kami menyarankan agar Anda memulai dengan Ed!

Discord
Lebih suka berinteraksi dengan teman sekelas melalui Discord? 

Kunjungi :

discord.gg/cs50

dan bergabunglah dengan server Discord CS50! Direkomendasikan untuk Tanya Jawab.
Anda bisa menyapa David di @malan.
Jika Anda telah menyelesaikan salah satu kursus CS50, beri tahu kami nama pengguna Discord Anda di 

cs50.edx.org/alum

Kami dapat memberi Anda “peran alumni” sehingga saat Anda menjawab pertanyaan, siswa tahu bahwa Anda mungkin dapat membantu!

Buat Akun Github

https://github.com/join/

Kemudian kunjungi link dibawah ini , masuk dengan akun github.

cs50.edx.org/ed

Facebook

Facebook
Lebih suka berinteraksi dengan teman sekelas melalui Facebook? Kunjungi :

facebook.com/groups/cs50 

dan bergabunglah dengan grup Facebook CS50! Direkomendasikan untuk Tanya Jawab.
Anda dapat mengikuti CS50 sendiri di :

facebook.com/cs50 

atau David di 

facebook.com/dmalan.
 

Giter
Lebih suka berinteraksi dengan teman sekelas melalui Gitter? 

Kunjungi 

gitter.im/cs50/x 

dan bergabunglah dengan saluran Gitter CS50! Direkomendasikan untuk Tanya Jawab.
 

Instagram
Lebih suka berinteraksi dengan teman sekelas melalui Instagram?
Anda dapat mengikuti CS50 sendiri di 

instagram.com/cs50 

dan David di 

instagram.com/davidjmalan !



LinkedIn
Lebih suka berinteraksi dengan teman sekelas melalui LinkedIn?

Kunjungi :

linkedin.com/groups/7437240 

dan bergabunglah dengan grup LinkedIn CS50!
Anda dapat mengikuti CS50 sendiri di 

linkedin.com/school/CS50 

dan 

David di linkedin.com/in/malan .


Quora
Lebih suka berinteraksi dengan teman sekelas melalui Quora?

Kunjungi 

quora.com/topic/CS50 

dan ikuti topik CS50!
Anda dapat mengikuti David di 

quora.com/profile/David-J-Malan .

 

Reddit
Lebih suka berdiskusi CS50 dengan teman sekelas melalui reddit? Kunjungi subreddit CS50 (alias r/cs50) di 

reddit.com/r/cs50.

Direkomendasikan untuk Tanya Jawab.
Anda mungkin ingin menginstal Reddit Enhancement Suite di browser Anda, yang menambahkan banyak fitur bagus ke Reddit.
Jika Anda telah menyelesaikan salah satu kursus CS50, beri tahu kami nama pengguna reddit Anda di 

cs50.edx.org/alum 

sehingga kami dapat memberi Anda beberapa "kecanggihan" sehingga "alum" muncul di samping nama Anda saat Anda menjawab pertanyaan, sehingga siswa tahu Anda mungkin bisa membantu!


Slack
Lebih suka mengobrol dengan teman sekelas melalui Slack di cs50x.slack.com? Pertama, bergabunglah di 

cs50.edx.org/slack

Unduh aplikasi asli untuk Android, iOS, Mac OS, dan Windows di slack.com/downloads

Direkomendasikan untuk Tanya Jawab.
Anda bisa menyapa David di @malan.

Snapchat
Anda dapat mengikuti CS50 di snapchat.com/add/cs50!
SoundCloud
Suka mendengarkan musik asli CS50?
Anda dapat mengikuti CS50 di 

soundcloud.com/cs50!

Stack Exchange
Lebih suka mengajukan pertanyaan kepada teman sekelas melalui Stack Exchange? Kunjungi 

cs50.stackexchange.com

Direkomendasikan untuk Tanya Jawab.

 

TIK tok
Anda dapat mengikuti CS50 sendiri di :

tiktok.com/@cs50 

atau David di :

tiktok.com/@davidjmalan!
 

Twitter

Lebih suka mengajukan pertanyaan kepada teman sekelas melalui Twitter? Tweet dengan #cs50!

Anda dapat mengikuti CS50 sendiri di :

twitter.com/cs50 atau David di :

twitter.com/davidjmalan.


Youtube

Anda dapat berlangganan saluran CS50 di :

youtube.com/cs50!

 

Bluesky
Lebih suka berinteraksi dengan teman sekelas melalui Bluesky?

Ikuti :

cs50.bsky.social!
Anda dapat mengikuti David di :

davidjmalan.bsky.social.
 

Clubhouse

Lebih suka berinteraksi dengan teman sekelas melalui Clubhouse? 

Kunjungi :

clubhouse.com/club/cs50 dan bergabunglah dengan klub CS50!

Anda dapat mengikuti David di :

clubhouse.com/@davidjmalan.

Buat Akun melalui Link berikut ini :

https://home.edx.org/

Jika tertarik dengan sertifikat terverifikasi dari edX, daftarkan di: cs50.edx.org .
Jika tertarik dengan sertifikat profesional dari edX
dalam pengembangan web, 

(WEB Development) daftarkan di :

cs50.edx.org/programs/web .
 

Kecerdasan buatan, (Artificial Intelegence) daftarkan di :

cs50.edx.org/programs/ai .


Pemrograman Python, daftarkan di :

cs50.edx.org/programs/python .


Pengembangan game, daftarkan di :

cs50.edx.org/programs/games .


Jika tertarik untuk mentransfer kredit dan akreditasi dari Harvard Extension School, daftarkan di :

web.dce.harvard.edu/extension/csci/e/50 .
Jika tertarik untuk mentransfer kredit dan akreditasi dari Harvard Summer School, daftarkan di :

web.dce.harvard.edu/summer/csci/s/50 .
 

Bagaimana Mengajar Kursus ini
Jika Anda seorang guru, Anda dipersilakan untuk mengadopsi atau mengadaptasi materi ini untuk kursus Anda sendiri, sesuai lisensi.


Lisensi
Kursus ini dilisensikan di bawah lisensi Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Ini adalah ringkasan yang dapat dibaca manusia (dan bukan pengganti) lisensi. Terjemahan resmi dari lisensi ini tersedia dalam bahasa lain.
Anda bebas untuk:
     Bagikan — menyalin dan mendistribusikan ulang materi dalam media atau format apa pun
     Beradaptasi — remix, ubah, dan kembangkan berdasarkan materi

Di bawah ketentuan berikut:

     Atribusi —
Anda harus memberikan kredit yang sesuai, memberikan tautan ke lisensi, dan menunjukkan jika ada perubahan. Anda dapat melakukannya dengan cara apa pun yang wajar, tetapi tidak dengan cara apa pun yang menunjukkan bahwa pemberi lisensi mendukung Anda atau penggunaan Anda.
    NonKomersial — Anda tidak boleh menggunakan materi untuk tujuan komersial.

     BerbagiSerupa —
Jika Anda mencampur, mengubah, atau membuat berdasarkan materi, Anda harus mendistribusikan kontribusi Anda di bawah lisensi yang sama seperti aslinya.
     Tidak ada batasan tambahan —
Anda tidak boleh menerapkan ketentuan hukum atau tindakan teknologi yang secara hukum membatasi orang lain untuk melakukan apa pun yang diizinkan oleh lisensi.

 

Javascript Algorithms and Data Structures | Freecodecamp.org

 


Sementara fungsi dari HTML dan CSS adalah mengontrol konten dan gaya halaman, adapun JavaScript digunakan untuk membuatnya interaktif. Dalam Algoritma JavaScript dan Sertifikasi Struktur Data, Anda akan mempelajari dasar-dasar JavaScript termasuk variabel, array, objek, loop, dan fungsi.
Setelah Anda menguasai dasar-dasarnya, Anda akan menerapkan pengetahuan itu dengan membuat algoritme untuk memanipulasi string, memfaktorkan angka, dan bahkan menghitung orbit Stasiun Luar Angkasa Internasional.
Sepanjang jalan, Anda juga akan mempelajari dua gaya atau paradigma pemrograman penting: Pemrograman Berorientasi Objek (OOP) dan Pemrograman Fungsional (FP).

Catatan: Beberapa ekstensi browser, seperti pemblokir iklan dan pemblokir skrip dapat mengganggu pengujian. Jika Anda menghadapi masalah, sebaiknya nonaktifkan ekstensi yang mengubah atau memblokir konten halaman saat mengikuti kursus.
 
JavaScript dasar

JavaScript adalah bahasa skrip yang dapat Anda gunakan untuk membuat halaman web menjadi interaktif. Ini adalah salah satu teknologi inti web, bersama dengan HTML dan CSS, dan didukung oleh semua browser modern.
Dalam kursus ini, Anda akan mempelajari konsep dasar pemrograman dalam JavaScript. Anda akan mulai dengan struktur data dasar seperti angka dan string. Kemudian Anda akan belajar bekerja dengan array, objek, fungsi, loop, pernyataan if/else, dan banyak lagi.

Mulai dari belajar membuat komentar di Java Script ( step 1)

Komentar adalah baris kode yang sengaja diabaikan oleh JavaScript. Komentar adalah cara yang bagus untuk meninggalkan catatan untuk diri sendiri dan orang lain yang nantinya perlu mencari tahu apa fungsi kode itu.
Ada dua cara untuk menulis komentar dalam JavaScript:
Menggunakan // akan memberi tahu JavaScript untuk mengabaikan sisa teks pada baris saat ini. Ini adalah komentar dalam baris:

//  ini adalah contoh komentar baris. 

Anda dapat membuat komentar multi-baris yang dimulai dengan /* dan diakhiri dengan */. Ini adalah komentar multi-baris: 

/* ini adalah komentar Multi-baris */ 


CATATAN: Saat Anda menulis kode, Anda harus menambahkan komentar secara teratur untuk memperjelas fungsi bagian-bagian kode Anda. Komentar yang baik dapat membantu mengomunikasikan maksud kode Anda—baik untuk orang lain maupun untuk diri Anda di masa depan.

Coba buat satu dari setiap jenis komentar.


Deklarasikan Variabel JavaScript(2)

Dalam ilmu komputer, data adalah segala sesuatu yang berarti bagi komputer. JavaScript menyediakan delapan tipe data berbeda yaitu undefined, null, boolean, string, symbol, bigint, number, dan object.
Misalnya, komputer membedakan angka, seperti angka 12, dan string, seperti "12", "anjing", atau "123 kucing", yang merupakan kumpulan karakter. Komputer dapat melakukan operasi matematika pada angka, tetapi tidak pada string.
Variabel memungkinkan komputer untuk menyimpan dan memanipulasi data secara dinamis. Mereka melakukannya dengan menggunakan "label" untuk menunjuk ke data daripada menggunakan data itu sendiri. Salah satu dari delapan tipe data dapat disimpan dalam variabel.
Variabel mirip dengan variabel x dan y yang Anda gunakan dalam matematika, yang berarti mereka adalah nama sederhana untuk mewakili data yang ingin kita rujuk. Variabel komputer berbeda dari variabel matematika karena mereka dapat menyimpan nilai yang berbeda pada waktu yang berbeda.

Kami memberi tahu JavaScript untuk membuat atau mendeklarasikan variabel dengan meletakkan kata kunci var di depannya, seperti:
var nama kami;
membuat variabel yang disebut nama kita. Dalam JavaScript kami mengakhiri pernyataan dengan titik koma. Nama variabel dapat terdiri dari angka, huruf, dan $ atau _, tetapi tidak boleh mengandung spasi atau dimulai dengan angka.
Gunakan kata kunci var untuk membuat variabel bernama myName.

Petunjuk
Lihatlah contoh ourName di atas jika Anda mengalami kebuntuan.


 

Menyimpan Nilai dengan Operator Penugasan (3)

Dalam JavaScript, Anda dapat menyimpan nilai dalam variabel dengan operator penugasan (=).

myVariable = 5;

Ini memberikan nilai Number 5 ke myVariable.

Jika ada perhitungan di sebelah kanan operator =, itu dilakukan sebelum nilai diberikan ke variabel di sebelah kiri operator.

var myVar;
myVar = 5;

Pertama, kode ini membuat variabel bernama myVar. Kemudian, kode menetapkan 5 ke myVar. Sekarang, jika myVar muncul lagi di kode, program akan memperlakukannya seolah-olah 5.

Tetapkan nilai 7 ke variabel a.

 


Anda tidak boleh mengubah kode di atas komentar yang ditentukan.
Menunggu: a harus memiliki nilai 7.

 
Menetapkan Nilai Satu Variabel ke Variabel Lain(4)

Setelah nilai ditetapkan ke variabel menggunakan operator penugasan, Anda dapat menetapkan nilai variabel tersebut ke variabel lain menggunakan operator penugasan.

var myVar;
myVar = 5;
var myNum;
myNum = myVar;

Di atas mendeklarasikan variabel myVar tanpa nilai, lalu memberinya nilai 5. Selanjutnya, variabel bernama myNum dideklarasikan tanpa nilai. Kemudian, isi myVar (yaitu 5) ditugaskan ke variabel myNum. Sekarang, myNum juga memiliki nilai 5.

Tetapkan konten a ke variabel b.


Anda tidak boleh mengubah kode di atas komentar yang ditentukan.
Menunggu: b harus memiliki nilai 7.
Menunggu: a harus ditugaskan ke b dengan =.

 
Inisialisasi Variabel dengan Assignment Operator (5)

Ini umum untuk menginisialisasi variabel ke nilai awal di baris yang sama seperti yang dideklarasikan.

var myVar = 0;

Membuat variabel baru bernama myVar dan memberinya nilai awal 0.
Tentukan variabel a dengan var dan inisialisasi ke nilai 9.


Anda harus menginisialisasi a ke nilai 9.


 
Mendeklarasikan Variabel String (6)

Sebelumnya Anda menggunakan kode berikut untuk mendeklarasikan variabel:

var myName;

Tapi Anda juga bisa mendeklarasikan variabel string seperti ini:

var myName = "your name";

"nama Anda" disebut string literal. String literal, atau string, adalah rangkaian nol atau lebih karakter yang diapit dengan tanda kutip tunggal atau ganda.

Buat dua variabel string baru: myFirstName dan myLastName dan beri mereka nilai nama depan dan belakang Anda masing-masing.


myFirstName harus berupa string dengan setidaknya satu karakter di dalamnya.
myLastName harus berupa string dengan setidaknya satu karakter di dalamnya

 
Memahami Variabel yang Tidak Diinisialisasi (7)

Ketika variabel JavaScript dideklarasikan, mereka memiliki nilai awal yang tidak terdefinisi. Jika Anda melakukan operasi matematika pada variabel yang tidak terdefinisi, hasilnya adalah NaN yang berarti "Bukan Angka". Jika Anda menggabungkan string dengan variabel yang tidak terdefinisi, Anda akan mendapatkan string yang tidak terdefinisi.


Inisialisasi ketiga variabel a, b, dan c dengan masing-masing 5, 10, dan "I am a" agar tidak terdefinisi.

a harus didefinisikan dan memiliki nilai akhir 6.
b harus ditentukan dan memiliki nilai akhir 15.
c tidak boleh mengandung undefined dan harus memiliki nilai akhir dari string I am a String!
Anda tidak boleh mengubah kode di bawah komentar yang ditentukan.


 
Memahami Sensitivitas Kasus dalam Variabel (8)

Dalam JavaScript semua variabel dan nama fungsi peka huruf besar-kecil. Ini berarti bahwa kapitalisasi itu penting.

MYVAR tidak sama dengan MyVar atau myvar. Dimungkinkan untuk memiliki beberapa variabel berbeda dengan nama yang sama tetapi casing berbeda. Sangat disarankan agar demi kejelasan, Anda tidak menggunakan fitur bahasa ini.

Praktek terbaik

Tulis nama variabel dalam JavaScript di camelCase. Di camelCase, nama variabel multi-kata memiliki kata pertama dalam huruf kecil dan huruf pertama dari setiap kata berikutnya dikapitalisasi.

Contoh:


Ubah deklarasi dan penetapan yang ada sehingga namanya menggunakan camelCase.
Jangan membuat variabel baru.


studlyCapVar harus didefinisikan dan memiliki nilai 10.
properCamelCase harus didefinisikan dan memiliki nilai string A String.
titleCaseOver harus ditentukan dan memiliki nilai 9000.
studlyCapVar harus menggunakan camelCase di bagian deklarasi dan penugasan.
properCamelCase harus menggunakan camelCase di bagian deklarasi dan penugasan.
titleCaseOver harus menggunakan camelCase di bagian deklarasi dan penugasan.



Jelajahi Perbedaan Antara var dan  Kata Kunci let (9)

Salah satu masalah terbesar dalam mendeklarasikan variabel dengan kata kunci var adalah Anda dapat dengan mudah menimpa deklarasi variabel:

var camper = "James";
var 
camper = "David";
console.log(
camper);

Pada kode di atas, variabel 
camper awalnya dideklarasikan sebagai James, dan kemudian diganti menjadi David. Konsol kemudian menampilkan string David.

Dalam aplikasi kecil, Anda mungkin tidak mengalami masalah seperti ini. Namun saat basis kode Anda menjadi lebih besar, Anda mungkin secara tidak sengaja menimpa variabel yang tidak Anda inginkan. Karena perilaku ini tidak menimbulkan kesalahan, pencarian dan perbaikan bug menjadi lebih sulit.

Kata kunci bernama let diperkenalkan di ES6, pembaruan besar untuk JavaScript, untuk mengatasi potensi masalah ini dengan kata kunci var. Anda akan belajar tentang fitur ES6 lainnya di tantangan selanjutnya.

Jika Anda mengganti var dengan kode di atas, itu menghasilkan kesalahan:

let camper = "James";
let camper = "David";

Kesalahan dapat dilihat di konsol browser Anda.

Jadi tidak seperti var, saat Anda menggunakan let, variabel dengan nama yang sama hanya dapat dideklarasikan satu kali.
 

Perbarui kode sehingga hanya menggunakan kata kunci Let.

  var seharusnya tidak ada dalam kode.
  catName harus menjadi string Oliver.
  catSound harus menjadi string Meong!

 
Deklarasikan Variabel Hanya Baca dengan Kata Kunci const(10)

Kata kunci let bukan satu-satunya cara baru untuk mendeklarasikan variabel. Di ES6, Anda juga bisa mendeklarasikan variabel menggunakan kata kunci cons.

const memiliki semua fitur luar biasa yang dimiliki, dengan bonus tambahan bahwa variabel yang dideklarasikan menggunakan const bersifat hanya-baca. Mereka adalah nilai konstanta, yang berarti bahwa sekali variabel ditugaskan dengan const, itu tidak dapat dipindahkan:

const FAV_PET = "Kucing";
FAV_PET = "Anjing";

Konsol akan menampilkan kesalahan karena menugaskan ulang nilai FAV_PET.

Anda harus selalu memberi nama variabel yang tidak ingin Anda tetapkan ulang menggunakan kata kunci const. Ini membantu ketika Anda secara tidak sengaja mencoba menetapkan kembali variabel yang dimaksudkan untuk tetap konstan.

Catatan: Pengembang biasanya menggunakan pengidentifikasi variabel huruf besar untuk nilai yang tidak dapat diubah dan huruf kecil atau huruf unta untuk nilai yang dapat diubah (objek dan larik). Anda akan mempelajari lebih lanjut tentang objek, arrays, dan nilai yang tidak dapat diubah dan dapat diubah dalam tantangan selanjutnya. Juga di tantangan selanjutnya, Anda akan melihat contoh pengidentifikasi variabel huruf besar, kecil, atau camel.

Ubah kode agar semua variabel dideklarasikan menggunakan let atau const. Gunakan let saat Anda ingin variabel berubah, dan const saat Anda ingin variabel tetap konstan. Juga, ganti nama variabel yang dideklarasikan dengan const agar sesuai dengan praktik umum. Jangan ubah string yang ditetapkan ke variabel.


var seharusnya tidak ada dalam kode Anda.
Anda harus mengubah fCC menjadi huruf besar semua.
FCC harus berupa variabel konstanta yang dideklarasikan dengan const.
String yang ditetapkan ke FCC tidak boleh diubah.
fakta harus dideklarasikan dengan let.
console.log harus diubah untuk mencetak FCC dan variabel fakta.


Tambahkan Dua Angka dengan JavaScript(11)

Angka adalah tipe data dalam JavaScript yang mewakili data numerik.
Sekarang mari kita coba menambahkan dua angka menggunakan JavaScript.
JavaScript menggunakan simbol + sebagai operator penjumlahan saat ditempatkan di antara dua angka.

Contoh:

const myVar = 5 + 10;
myVar sekarang memiliki nilai 15.
Ubah 0 sehingga jumlahnya sama dengan 20.

jumlahnya harus sama dengan 20.
Anda harus menggunakan + operator.

 

Kurangi Satu Angka dari Angka Lain dengan JavaScript(12)

Kami juga dapat mengurangi satu nomor dari yang lain.
JavaScript menggunakan simbol - untuk pengurangan.

Contoh:

const myVar = 12 - 6;

myVar akan memiliki nilai 6.
Ubah 0 jadi selisihnya 12.


Perbedaan variabel harus sama dengan 12.
Anda hanya boleh mengurangi satu angka dari 45.

 
Kalikan Dua Angka dengan JavaScript(13)

Kita juga bisa mengalikan satu angka dengan angka lainnya.
JavaScript menggunakan simbol * untuk perkalian dua angka.

Contoh:
const myVar = 13 * 13;

myVar akan memiliki nilai 169.
Ubah 0 sehingga hasilnya sama dengan 80.


Produk variabel harus sama dengan 80.
Anda harus menggunakan operator *.

 
Membagi Satu Angka dengan Angka Lain dengan JavaScript(14)

Kita juga bisa membagi satu angka dengan angka lainnya.
JavaScript menggunakan simbol / untuk pembagian.

Contoh:
const myVar = 16/2;

myVar sekarang memiliki nilai 8.
Ubah 0 sehingga hasil bagi sama dengan 2
.

Hasil bagi variabel harus sama dengan 2.
Anda harus menggunakan / operator.

 

Menaikkan Angka dengan JavaScript(15)

Anda dapat dengan mudah menambah atau menambahkan satu ke variabel dengan operator ++.
i++;

adalah setara dengan i = i + 1;

Catatan: Seluruh baris menjadi i++;, menghilangkan kebutuhan akan tanda sama dengan.

Ubah kode untuk menggunakan operator ++ di myVar.

myVar harus sama dengan 88.
Anda sebaiknya tidak menggunakan operator penugasan.
Anda harus menggunakan operator ++.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan
.
 
Kurangi Angka dengan JavaScript(16)

Anda dapat dengan mudah pengurangan atau mengurangi variabel satu per satu dengan operator --.

i--;

adalah setara dengan

i = i - 1;

Catatan: Seluruh baris menjadi i--;, menghilangkan kebutuhan akan tanda sama dengan.
Ubah kode untuk menggunakan -- operator di myVar
.

myVar harus sama dengan 10.
myVar = myVar - 1; harus diubah.
Anda seharusnya tidak menetapkan myVar dengan 10.
Anda harus menggunakan -- operator di myVar.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan.

 
Buat Bilangan Desimal dengan JavaScript(17)

Kita juga dapat menyimpan angka desimal dalam variabel. Bilangan desimal terkadang disebut sebagai bilangan floating point atau float.


Catatan: saat Anda menghitung angka, angka tersebut dihitung dengan presisi terbatas. Operasi menggunakan floating point dapat menyebabkan hasil yang berbeda dari hasil yang diinginkan. Jika Anda mendapatkan salah satu dari hasil ini, buka topik di forum freeCodeCamp.


Buat variabel myDecimal dan berikan nilai desimal dengan bagian pecahan (mis. 5.7).

myDecimal harus berupa angka.
myDecimal harus memiliki titik desimal.

 
Kalikan Dua Desimal dengan JavaScript(18)

Dalam JavaScript, Anda juga dapat melakukan perhitungan dengan angka desimal, seperti halnya bilangan bulat.
Mari kalikan dua desimal untuk mendapatkan produknya.
Ubah 0.0 sehingga produk akan sama dengan 5.0.

Produk variabel harus sama dengan 5.0.
Anda harus menggunakan operator *

 
Bagilah Satu Desimal dengan Yang Lain dengan JavaScript(19)

Sekarang mari kita membagi satu desimal dengan desimal lainnya.
Ubah 0.0 sehingga hasil bagi sama dengan 2.2.


Hasil bagi variabel harus sama dengan 2.2
Anda harus menggunakan operator / untuk membagi 4.4 dengan 2
Variabel hasil bagi hanya boleh diberikan satu kali.


Menemukan Sisa dalam JavaScript (20)

Sisa operator % memberikan sisa pembagian dua angka.

Contoh:
5% 2 = 1
5/2 = 2 sisa 1
2 * 2 = 4
5 - 4 = 1

Penggunaan
Dalam matematika, suatu bilangan dapat diperiksa genap atau ganjilnya dengan memeriksa sisa pembagian bilangan tersebut dengan 2. Bilangan genap bersisa 0, sedangkan bilangan ganjil bersisa 1.

17% 2 = 1
48% 2 = 0

Catatan: 

Operator sisa terkadang salah disebut sebagai operator modulus. 

Ini sangat mirip dengan modulus, tetapi tidak berfungsi dengan baik dengan bilangan negatif.

Tetapkan sisa sama dengan sisa 11 dibagi 3 menggunakan operator sisa (%).


Sisa variabel harus diinisialisasi.
Nilai sisa harus 2.
Anda harus menggunakan operator %.

 
Assignment Majemuk Dengan Penjumlahan ditambahkan (21)

Dalam pemrograman, biasanya menggunakan tugas untuk mengubah isi variabel. Ingatlah bahwa segala sesuatu di sebelah kanan tanda sama dengan dievaluasi terlebih dahulu, sehingga kita dapat mengatakan:

myVar = myVar + 5;

untuk menambahkan 5 ke myVar. Karena ini adalah pola umum, ada operator yang melakukan operasi matematika dan penugasan dalam satu langkah.

Salah satu operator tersebut adalah operator +=.

biarkan myVar = 1;
myVar += 5;
console.log(myVar);

6 akan ditampilkan di konsol.


Konversikan tugas untuk a, b, dan c untuk menggunakan operator +=.


a harus sama dengan 15.
b harus sama dengan 26.
c harus sama dengan 19.
Anda harus menggunakan operator += untuk setiap variabel.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan.


 
Tugas Majemuk Dengan Augmented Subtraction(22)

Seperti operator +=, -= mengurangi angka dari variabel.

myVar = myVar - 5;

akan mengurangi 5 dari myVar.

 

Ini dapat ditulis ulang sebagai:

myVar -= 5;

Konversi tugas untuk a, b, dan c untuk menggunakan operator -=.


a harus sama dengan 5.
b harus sama dengan -6.
c harus sama dengan 2.
Anda harus menggunakan operator -= untuk setiap variabel.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan.

 
Tugas Majemuk Dengan Perkalian Augmented(23)

Operator *= mengalikan variabel dengan angka.

myVar = myVar * 5;

akan mengalikan myVar dengan 5. Ini dapat ditulis ulang sebagai:

myVar *= 5;

Konversikan tugas untuk a, b, dan c untuk menggunakan operator *=.


a harus sama dengan 25.
b harus sama dengan 36.
c harus sama dengan 46.
Anda harus menggunakan operator *= untuk setiap variabel.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan.

 


Tugas Majemuk Dengan Augmented Division (24)

Operator /= membagi variabel dengan angka lain.

myVar = myVar / 5;

Akan membagi myVar dengan 5. Ini dapat ditulis ulang sebagai:

myVar /= 5;

Konversi tugas untuk a, b, dan c untuk menggunakan operator /=.


a harus sama dengan 4.
b harus sama dengan 27.
c harus sama dengan 3.
Anda harus menggunakan operator /= untuk setiap variabel.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan.


 


Membebaskann Diri dari Kutipan Literal dalam String (25)

Saat Anda mendefinisikan string, Anda harus memulai dan mengakhiri dengan tanda kutip tunggal atau ganda. Apa yang terjadi jika Anda membutuhkan kutipan literal: " atau ' di dalam string Anda?

Dalam JavaScript, Anda dapat menghindari kutipan agar tidak menganggapnya sebagai kutipan string akhir dengan menempatkan garis miring terbalik (\) di depan kutipan.

const sampleStr = "Kata Alan, \"Peter sedang belajar JavaScript\".";

Ini memberi sinyal ke JavaScript bahwa kutipan berikut bukanlah akhir dari string, tetapi seharusnya muncul di dalam string. Jadi jika Anda mencetak ini ke konsol, Anda akan mendapatkan:

Alan berkata, "Peter sedang mempelajari JavaScript".

Gunakan garis miring terbalik untuk menetapkan string ke variabel myStr sehingga jika Anda mencetaknya ke konsol, Anda akan melihat:

Saya adalah string "kutipan ganda" di dalam "tanda kutip ganda". 

 



Mengutip String dengan Kutipan Tunggal (26)

Nilai string dalam JavaScript dapat ditulis dengan tanda kutip tunggal atau ganda, selama Anda memulai dan mengakhiri dengan jenis tanda kutip yang sama. Tidak seperti beberapa bahasa pemrograman lainnya, tanda kutip tunggal dan ganda berfungsi sama dalam JavaScript.

const doubleQuoteStr = "Ini adalah string";
const singleQuoteStr = 'Ini juga sebuah string';

Alasan mengapa Anda mungkin ingin menggunakan satu jenis kutipan di atas yang lain adalah jika Anda ingin menggunakan keduanya dalam sebuah string. Ini mungkin terjadi jika Anda ingin menyimpan percakapan dalam sebuah string dan membuat percakapan dalam tanda kutip. Kegunaan lain untuk itu adalah menyimpan tag <a> dengan berbagai atribut dalam tanda kutip, semuanya dalam sebuah string.

const conversation = 'Finn berseru kepada Jake, "Aljabar!"';

Namun, ini menjadi masalah jika Anda perlu menggunakan tanda kutip terluar di dalamnya. Ingat, sebuah string memiliki jenis kutipan yang sama di awal dan akhir. Tetapi jika Anda memiliki kutipan yang sama di suatu tempat di tengah, string akan berhenti lebih awal dan menimbulkan kesalahan.

const goodStr = 'Jake bertanya pada Finn, "Hei, ayo kita berpetualang?"';
const badStr = 'Finn menjawab, "Ayo berangkat!"';

Di sini badStr akan membuat kesalahan.

Di goodStr di atas, Anda dapat menggunakan kedua tanda kutip dengan aman menggunakan garis miring terbalik \ sebagai karakter pelarian.

Catatan: Garis miring terbalik \ tidak sama dengan garis miring /. Mereka tidak melakukan hal yang sama.

Ubah string yang disediakan menjadi string dengan tanda kutip tunggal di awal dan akhir dan tanpa karakter escape.

Saat ini, tag <a> dalam string menggunakan tanda kutip ganda di mana-mana. Anda perlu mengubah tanda kutip luar menjadi tanda kutip tunggal sehingga Anda dapat menghapus karakter escape. 


Anda harus menghapus semua garis miring terbalik (\).
Anda harus memiliki dua tanda kutip tunggal ' dan empat tanda kutip ganda ".

 
Urutan Escape dalam String (27)

Kutipan bukan satu-satunya karakter yang dapat di-escape di dalam string. Urutan melarikan diri memungkinkan Anda menggunakan karakter yang mungkin tidak dapat Anda gunakan dalam string.


 
Perhatikan bahwa garis miring terbalik itu sendiri harus di-escape untuk ditampilkan sebagai garis miring terbalik.

Tetapkan tiga baris teks berikut ke dalam variabel tunggal myStr menggunakan escape sequence.

Baris pertama
     \Baris kedua
Baris Ketiga

Anda harus menggunakan escape sequence untuk memasukkan karakter khusus dengan benar. Anda juga harus mengikuti spasi seperti yang terlihat di atas, tanpa spasi di antara escape sequence atau kata-kata.

Catatan: Lekukan(identasi) untuk SecondLine dicapai dengan karakter tab escape, bukan spasi.

myStr tidak boleh mengandung spasi
myStr harus berisi string FirstLine, SecondLine, dan ThirdLine (ingat sensitivitas huruf besar-kecil)
FirstLine harus diikuti oleh karakter baris baru \n
myStr harus berisi karakter tab \t yang mengikuti karakter baris baru
SecondLine harus diawali dengan karakter backslash \
Harus ada karakter baris baru antara SecondLine dan ThirdLine
myStr hanya boleh berisi karakter yang ditunjukkan dalam instruksi.

 

Menggabungkan String dengan Operator Plus(28)

Dalam JavaScript, ketika + operator digunakan dengan nilai String, itu disebut operator gabungan. Anda dapat membuat string baru dari string lain dengan menggabungkannya.

Contoh

'Nama saya Alan,' + 'Saya gabung.'

Catatan: Hati-hati dengan spasi. Penggabungan tidak menambahkan spasi di antara string yang digabungkan, jadi Anda harus menambahkannya sendiri.

 

Contoh:
const ourStr = "Saya datang pertama." + "Saya datang kedua.";

String saya datang pertama. Saya datang kedua. akan ditampilkan di konsol.
Bangun myStr dari string Ini adalah awalnya. dan Inilah akhirnya. menggunakan operator +. Pastikan untuk menyertakan spasi di antara kedua string.

myStr harus memiliki satu karakter spasi di antara dua string.
myStr harus memiliki nilai string Ini adalah awalnya. Inilah akhirnya.
Anda harus menggunakan + operator untuk membangun myStr.
myStr harus dibuat menggunakan kata kunci const.
Anda harus menetapkan hasilnya ke variabel myStr.


Menggabungkan String dengan Operator Plus Equals (29)

Kita juga dapat menggunakan operator += untuk menggabungkan string ke akhir variabel string yang ada. Ini bisa sangat membantu untuk memutuskan string panjang di beberapa baris.

Catatan: Hati-hati dengan spasi. Penggabungan tidak menambahkan spasi di antara string yang digabungkan, jadi Anda harus menambahkannya sendiri.

Contoh:
let ourStr = "Saya duluan.";
ourStr += "Saya datang kedua.";
ourStr sekarang memiliki nilai string I come first. aku datang kedua..

Bangun myStr di atas beberapa baris dengan menggabungkan kedua string ini: Ini adalah kalimat pertama. dan Ini adalah kalimat kedua. menggunakan operator +=. Gunakan operator += mirip dengan yang ditampilkan dalam contoh dan pastikan untuk menyertakan spasi di antara kedua string. Mulailah dengan menetapkan string pertama ke myStr, lalu tambahkan string kedua. 


myStr harus memiliki satu karakter spasi di antara dua string.
myStr harus memiliki nilai string Ini adalah kalimat pertama. Ini adalah kalimat kedua.
Anda harus menggunakan += operator untuk membangun myStr.

Membangun String dengan Variabel (30)

Terkadang Anda perlu membuat string. Dengan menggunakan operator gabungan (+), Anda dapat menyisipkan satu atau lebih variabel ke dalam string yang Anda buat.
Contoh:
const ourName = "freeCodeCamp";
const ourStr = "Halo, nama kami adalah " + ourName + ", apa kabar?";

ourStr akan memiliki nilai string Halo, nama kami adalah freeCodeCamp, apa kabar?.

Tetapkan myName ke string yang sama dengan nama Anda dan bangun myStr dengan myName di antara string Nama saya dan dan saya baik-baik saja!

 
myName harus diatur ke string minimal 3 karakter.
Anda harus menggunakan dua + operator untuk membangun myStr dengan myName di dalamnya.


Menambahkan Variabel ke String (31)

Sama seperti kita dapat membangun sebuah string melalui beberapa baris dari literal string, kita juga dapat menambahkan variabel ke sebuah string menggunakan operator plus equals (+=).
 
Contoh:
 
const anAdjective = "luar biasa!";
let ourStr = "freeCodeCamp adalah ";
OurStr += anAdjective;

ourStr akan memiliki nilai freeCodeCamp is awesome!.
Tetapkan someAdjective ke string minimal 3 karakter dan tambahkan ke myStr menggunakan operator +=.
someAdjective harus diatur ke string setidaknya sepanjang 3 karakter.
Anda harus menambahkan someAdjective ke myStr menggunakan operator +=.
 

Cari Panjang string (32)

Anda dapat menemukan panjang nilai String dengan menulis .length setelah variabel string atau literal string.

console.log("Alan Peter".panjang);

Nilai 10 akan ditampilkan di konsol. Perhatikan bahwa karakter spasi antara "Alan" dan "Peter" juga dihitung.
Sebagai contoh, jika kita membuat variabel const firstName = "Ada", kita bisa mengetahui berapa panjang string Ada dengan menggunakan properti firstName.length.
Gunakan properti .length untuk menyetel lastNameLength ke jumlah karakter di lastName.


Anda tidak boleh mengubah deklarasi variabel di bagian // Setup.
lastNameLength harus sama dengan delapan.
Anda harus mendapatkan panjang lastName dengan menggunakan .length seperti ini: lastName.length.

 
Gunakan Notasi Braket untuk Menemukan Karakter Pertama dalam String (33)

Notasi tanda kurung adalah cara untuk mendapatkan karakter pada indeks tertentu dalam sebuah string.
Sebagian besar bahasa pemrograman modern, seperti JavaScript, tidak mulai menghitung pada 1 seperti yang dilakukan manusia. Mereka mulai dari 0. Ini disebut sebagai pengindeksan berbasis nol.
Misalnya, karakter pada indeks 0 pada kata Charles adalah C. Jadi jika const firstName = "Charles", Anda bisa mendapatkan nilai huruf pertama string dengan menggunakan firstName[0].

Contoh:
const namapertama = "Charles";
constHurufpertama = Namapertama[0];
firstLetter akan memiliki nilai string C.

Gunakan notasi tanda kurung untuk menemukan karakter pertama dalam variabel lastName dan tetapkan ke firstLetterOfLastName.

Petunjuk: Coba lihat contoh di atas jika Anda buntu.

Variabel firstLetterOfLastName harus memiliki nilai L.
Anda harus menggunakan notasi braket.

 

Pahami Kekekalan String (34)

Dalam JavaScript, nilai String tidak dapat diubah, yang berarti tidak dapat diubah setelah dibuat.
Misalnya, kode berikut ini akan menghasilkan error karena huruf B pada string Bob tidak dapat diubah menjadi huruf J:

let myStr = "Bob";
myStr[0] = "J";

Perhatikan bahwa ini tidak berarti bahwa myStr tidak dapat ditetapkan ulang. Satu-satunya cara untuk mengubah myStr adalah dengan menetapkannya dengan nilai baru, seperti ini:
let myStr = "Bob";
myStr = "Job";


Perbaiki penugasan ke myStr sehingga berisi nilai string Hello World menggunakan pendekatan yang ditunjukkan pada contoh di atas.

myStr harus memiliki nilai string Hello World.
Anda tidak boleh mengubah kode di atas komentar yang ditentukan.

 

Gunakan Notasi Braket untuk Menemukan Karakter ke-N dalam sebuah String(35)

Anda juga dapat menggunakan notasi braket untuk mendapatkan karakter di posisi lain dalam sebuah string.
Ingatlah bahwa komputer mulai menghitung dari 0, jadi karakter pertama sebenarnya adalah karakter nol.
Contoh:

const NamaPertama = "Ada";
const hurufKeduaNamaDepan = NamaPertama[1];

secondLetterOfFirstName akan memiliki nilai string d.

Mari kita coba menyetel thirdLetterOfLastName agar sama dengan huruf ketiga dari variabel lastName menggunakan notasi braket.

Petunjuk: Coba lihat contoh di atas jika Anda buntu.


 Variabel thirdLetterOfLastName harus memiliki nilai v.
Anda harus menggunakan notasi braket.


 

Gunakan Notasi Braket untuk Menemukan Karakter Terakhir dalam sebuah String(36)

Untuk mendapatkan huruf terakhir dari sebuah string, Anda dapat mengurangi satu dari panjang string.
Misalnya, jika const firstName = "Ada", Anda bisa mendapatkan nilai huruf terakhir string dengan menggunakan firstName[firstName.length - 1].
Contoh:
const NamaPertama = "Ada";
const hurufakhir = namapertama[namapertama.panjang - 1];

lastLetter akan memiliki nilai string a.
Gunakan notasi braket untuk menemukan karakter terakhir dalam variabel lastName.

Petunjuk: Coba lihat contoh di atas jika Anda buntu.


lastLetterOfLastName harus berupa huruf e.
Anda harus menggunakan .length untuk mendapatkan huruf terakhir.

 

Gunakan Notasi Tanda Kurung untuk Menemukan Karakter Nth-to-Last dalam sebuah String (37)

Anda dapat menggunakan prinsip yang sama yang baru saja kita gunakan untuk mengambil karakter terakhir dalam sebuah string untuk mengambil karakter Nth-to-last.
Misalnya, Anda bisa mendapatkan nilai huruf ketiga hingga terakhir dari string const firstName = "Augusta" dengan menggunakan firstName[firstName.length - 3]
Contoh:
const namapertama = "Augusta";
const thirdToLastLetter = firstName[firstName.panjang - 3];
thirdToLastLetter akan memiliki nilai string s.

secondToLastLetterOfLastName harus berupa huruf c.
Anda harus menggunakan .length untuk mendapatkan huruf kedua terakhir.

Kata Kosong(38)

Anda diberi kalimat dengan beberapa kata yang hilang, seperti kata benda, kata kerja, kata sifat, dan kata keterangan. Anda kemudian mengisi bagian yang hilang dengan kata-kata pilihan Anda sedemikian rupa sehingga kalimat lengkapnya masuk akal.

Pertimbangkan kalimat ini:

Itu benar-benar ____, dan kami ____ sendiri ____.

Kalimat ini memiliki tiga bagian yang hilang - kata sifat, kata kerja, dan kata keterangan, dan kita dapat menambahkan kata-kata pilihan kita untuk melengkapinya. Kami kemudian dapat menetapkan kalimat lengkap ke variabel sebagai berikut:

 const sentence = "It was really " + "hot" +" , and we " + "laughed" +
" ourselves " + "silly" + "."

Dalam tantangan ini, kami memberi Anda kata benda, kata kerja, kata sifat, dan kata keterangan. Anda perlu membentuk kalimat lengkap menggunakan kata-kata pilihan Anda, bersama dengan kata-kata yang kami sediakan.

Anda perlu menggunakan operator penggabungan string + untuk membuat string baru, dengan menggunakan variabel yang disediakan: myNoun, myAdjective, myVerb, dan myAdverb. Anda kemudian akan menetapkan string yang terbentuk ke variabel WordBlanks. Anda tidak boleh mengubah kata-kata yang diberikan ke variabel.

Anda juga perlu memperhitungkan spasi dalam string Anda, sehingga kalimat terakhir memiliki spasi di antara semua kata. Hasilnya harus berupa kalimat lengkap.
wordBlanks harus berupa string.
Anda tidak boleh mengubah nilai yang diberikan ke kata bendaku, kata kerjaku, kata sifatku, atau katakataku.
Anda sebaiknya tidak langsung menggunakan nilai anjing, lari, besar, atau cepat untuk membuat WordBlanks.
wordBlanks harus berisi semua kata yang ditetapkan ke variabel myNoun, myVerb, myAdjective, dan myAdverb yang dipisahkan oleh karakter non-kata (dan kata tambahan pilihan Anda).

 


Simpan Banyak Nilai dalam satu Variabel menggunakan Array JavaScript(39)

Dengan variabel array JavaScript, kita dapat menyimpan beberapa data di satu tempat.
Anda memulai deklarasi array dengan kurung siku buka, mengakhirinya dengan kurung siku tutup, dan meletakkan koma di antara setiap entri, seperti ini:

sandwich const = ["selai kacang", "jeli", "roti"];

Ubah array baru myArray sehingga berisi string dan angka (dalam urutan itu).

myArray harus berupa array.
Item pertama di myArray harus berupa string.
Item kedua di myArray harus berupa angka.
 

Sarang satu Array di dalam Array Lain(40)

Anda juga dapat menyarangkan array di dalam array lain, seperti di bawah ini:
tim const = [["Bulls", 23], ["White Sox", 45]];

Ini juga disebut array multi-dimensi.
Buat array bersarang bernama myArray.

 

myArray harus memiliki setidaknya satu array bersarang di dalam array lain.


Akses Data Array dengan Indeks (41)

Kita dapat mengakses data di dalam array menggunakan indeks.
Indeks array ditulis dalam notasi braket yang sama dengan yang digunakan string, kecuali bahwa alih-alih menentukan karakter, mereka menentukan entri dalam array. Seperti string, array menggunakan pengindeksan berbasis nol, sehingga elemen pertama dalam array memiliki indeks 0.
Contoh:
array const = [50, 60, 70];
console.log(array[0]);
data const = array[1];
console.log(array[0]) mencetak 50, dan data memiliki nilai 60.
Buat variabel bernama myData dan atur agar sama dengan nilai pertama myArray menggunakan notasi braket.

Variabel myData harus sama dengan nilai pertama myArray.
Data dalam variabel myArray harus diakses menggunakan notasi braket.
 

Ubah Data Array Dengan Indeks (42)

Tidak seperti string, entri array dapat diubah dan dapat diubah secara bebas, bahkan jika array dideklarasikan dengan const.

Contoh:

const Array kita = [50, 40, 30];
OurArray[0] = 15;

ourArray sekarang memiliki nilai [15, 40, 30].

Catatan: Tidak boleh ada spasi di antara nama array dan tanda kurung siku, seperti array [0]. Meskipun JavaScript dapat memprosesnya dengan benar, hal ini dapat membingungkan pemrogram lain yang membaca kode Anda.

Ubah data yang disimpan pada indeks 0 dari myArray ke nilai 45.
myArray sekarang seharusnya menjadi [45, 64, 99].
Anda harus menggunakan indeks yang benar untuk mengubah nilai di myArray.
 


Akses Array Multi-Dimensi Dengan Indeks (43)

Salah satu cara untuk memikirkan array multi-dimensi, adalah sebagai array dari array. Saat Anda menggunakan tanda kurung untuk mengakses array Anda, kumpulan tanda kurung pertama mengacu pada entri di array terluar (tingkat pertama), dan setiap pasangan tanda kurung tambahan merujuk pada entri tingkat berikutnya di dalamnya.
contoh:

 
Dalam contoh ini, subarray memiliki nilai [[10, 11, 12], 13, 14], subarray bersarang memiliki nilai [10, 11, 12], dan elemen memiliki nilai 11 .
Catatan: Tidak boleh ada spasi di antara nama array dan tanda kurung siku, seperti array [0][0] dan bahkan 
array ini [0] [0] tidak diperbolehkan. Meskipun JavaScript dapat memprosesnya dengan benar, hal ini dapat membingungkan pemrogram lain yang membaca kode Anda.
Menggunakan notasi braket pilih elemen dari myArray sehingga myData sama dengan 8.

myData harus sama dengan 8.
Anda harus menggunakan notasi braket untuk membaca nilai yang benar dari myArray.

Memanipulasi Array Dengan Metode push(44)

Cara mudah untuk menambahkan data ke akhir array adalah melalui fungsi push().
.push() mengambil satu atau lebih parameter dan "mendorongnya" ke akhir array.
Contoh:
const arr1 = [1, 2, 3];
arr1.push(4);

const arr2 = ["Stimpson", "J", "Cat"];
arr2.push(["happy", "joy"]);

arr1 sekarang memiliki nilai [1, 2, 3, 4] dan arr2 memiliki nilai ["Stimpson", "J", "cat", ["happy", "joy"]].

Push ["dog", 3] ke ujung variabel myArray.

 

myArray sekarang harus sama dengan [["John", 23], ["cat", 2], ["dog", 3]].




Memanipulasi Array Dengan Metode pop(45)

Cara lain untuk mengubah data dalam array adalah dengan fungsi .pop().

.pop() digunakan untuk mengeluarkan nilai dari akhir array. Kita dapat menyimpan nilai yang muncul ini dengan menugaskannya ke variabel. Dengan kata lain, .pop() menghapus elemen terakhir dari array dan mengembalikan elemen tersebut.

Jenis entri apa pun dapat dikeluarkan dari array - angka, string, bahkan array bersarang.

const threeArr = [1, 4, 6];
const oneDown = threeArr.pop();
console.log(oneDown);
console.log(threeArr);

Console.log pertama akan menampilkan nilai 6, dan yang kedua akan menampilkan nilai [1, 4].

Gunakan fungsi .pop() untuk menghapus item terakhir dari myArray dan menetapkan nilai yang muncul ke variabel baru, removeFromMyArray.

myArray seharusnya hanya berisi [["John", 23]].
Anda harus menggunakan pop() pada myArray.
dihapusFromMyArray hanya boleh berisi ["kucing", 2].