Dasar JavaScript

Mata Kuliah: Pemrograman Berbasis Web


๐Ÿงญ 1. Pengertian JavaScript

https://images.openai.com/static-rsc-4/D8PWVxTHyaP07MjL5yE27jd8oXz6nHfUpZZEVeA1thBBOzMPMebzUlyVwTvxUbWQq9QjQn97MwpwYMY4EaCeC8wB1kmSStLsIzMLZlBArOoF0-kOoJ6oyF8_7xE2Nah1vEsSH06PCq1MFprvXFPx8rOiTJz03C5vJLolxLLYHUifPhjuPfFR4BAkfRs6wvSL?purpose=fullsize
https://images.openai.com/static-rsc-4/K_Aadia3Vj85Bh-ATxZCncJg7-ij2HXt9iD9yh1mSGjuwF33MVmq1KDbqtjzJ9H1MkEAY-DyME4aUnCyqGtR_fKVRwIPa_eweQLp3bp6WdzEH8CzTcAYkxKITS7PrNv8S0HyIK-n0y1RmBdOId-kqJqh2wrcqhitOapmJ0mwJEHZ6FkzFgd4AJhD0coQHjLX?purpose=fullsize
https://images.openai.com/static-rsc-4/L7nICb9tV_qxTU6njlhi6M7n9VaL7XmtmpfFoUsRi9j7pmY9RoGQvGG0ROX-e9PQSVNBxPN5RbbgPW3Rg3PwF1yHs70wJ3gMbLAs8Bu09JT_POLGn_99ucRmZKuuiUe9keXA8lpbvCw32yDe5Bxxhig5H20dVztmBRmNA4pDJi1RxH1SNSKxb1bN7fLTT_RX?purpose=fullsize

7

๐Ÿ“– Deskripsi

JavaScript adalah bahasa pemrograman yang digunakan untuk membuat halaman web menjadi interaktif dan dinamis.

๐Ÿง  Narasi

Jika HTML adalah struktur dan CSS adalah tampilan, maka JavaScript adalah otak yang mengatur perilaku halaman. Dengan JavaScript, halaman web bisa merespons klik, input pengguna, animasi, hingga komunikasi dengan server.


๐Ÿงฉ 2. Cara Menyisipkan JavaScript

https://images.openai.com/static-rsc-4/RiVsSujAoURAe7E49XhVAzPeinjnMWroLByKNixDEN1EXUcgofwrAx_eMQM3yaBTkUK2deuTV2_CiTbogSkjKdSkGeMW8oPXw0dtGnwNiIItSw8GQjUr8fbQzsceBJVCVGOaTWRXPD95aiM0qOrPX8R6VcxuBTNHo8mnNwK768u0nvpiXXEukN0ZqK4e_LAD?purpose=fullsize
https://images.openai.com/static-rsc-4/08THfbSNm_3EluJZ2NVx7uBeP43Hfs9GM2bWOtnCE_kV2Vui3hbSQHXbZSL3HGCrvz6khEM_VTIGKAmHgOjxoWpQuUYyH5WAHIqR1cojEUNRXUT-mR7k02CUJmdSBHdLYQKKG65arydmQD3BKHa2b3cfXgDT5IEEmgDA_H0WrX5gHv41qMVq-YRggpSsyifX?purpose=fullsize
https://images.openai.com/static-rsc-4/BzilU4l77sweys6CxNpN_ger37PZjD-Wu-D2Td-gDdYhjNSSlrkX_xBKJvu06zDzrM5XbHxojo0bLIP0LnM4KknQ8g8uifBB6Lm6N4vkes3tAveD6HUvlMBm1D1IeWvpdZSpScYVALDOQ3V94EhK04y9xS4AeeU9Ceuep6tBnKso-ZZtrsUl5OHUvtVRDE9i?purpose=fullsize

6

๐Ÿ“– Deskripsi

JavaScript dapat digunakan dalam 3 cara:

๐Ÿงฑ Tabel Metode

MetodePenjelasan
InlineDalam atribut HTML
InternalDalam tag <script>
ExternalFile .js terpisah

๐Ÿ’ป Contoh

<script>
alert("Halo Dunia");
</script>

๐Ÿง  Narasi

Penggunaan external JavaScript direkomendasikan untuk proyek besar karena lebih rapi dan mudah dikelola.


๐Ÿ”ค 3. Variabel dan Tipe Data

https://images.openai.com/static-rsc-4/zLQ2_h0eu29CoUrvPAQI55n2djsMPLlx-wGOZiwHGTQha8cN4MGcMLGaTHoOEaryMROvKED_kOqMq3BxjWIZjkP4ziWIJodc2bUBA9y5DG21XHd2M2HuX-GPwJuiKruKGsuHKdQ4hGCxfg3onpn7WNTU2axqbNHQZh2oNwa7kKEVv_quNwqqe-pcRN4BjO4w?purpose=fullsize
https://images.openai.com/static-rsc-4/GRcLViNCwYCm4oLUYBPkI9fjYAVRzmw5R-kIwxROwypkcVPLBCQ82RSSfPek4lH5YxccAdf1IHbxGJ6RPyWFzfMt3m59MWoIaz_2h7XSjIysUn3NTxKCwzDxAya7KtTdUxt0YfMp95TWSXxqH72mN10MSRmRuQ7kHtnGQCT54Y0iIdjv7FzR9L5a0EWpk0UI?purpose=fullsize
https://images.openai.com/static-rsc-4/WQvE6EbHnE65B4ySVBiZZEV4ZRZ6jEn2hm0YKeFk8T1ckAi8kjOLyWomhFmk1d3pwcmO4hV1rj5ZwNNGf4U-bFfqvNoIzZjzheSWCNt5jgTABYOJemQo8GoGdLwYFHrGcOGQxePHvK3iXhM9ynZi508MnXokPrkqdgbWh8GXHhPOt5FpNRNCJ5vLlC2rhvGz?purpose=fullsize

6

๐Ÿ“– Deskripsi

Variabel digunakan untuk menyimpan data.

๐Ÿงฑ Jenis Deklarasi

KeywordKeterangan
varLama
letModern
constKonstan

๐Ÿงฑ Tipe Data

TipeContoh
Number10
String“Halo”
Booleantrue/false
Array[1,2,3]
Object{nama:”Budi”}

๐Ÿ’ป Contoh

let nama = "Budi";
const umur = 20;

๐Ÿง  Narasi

Gunakan let dan const dalam pengembangan modern karena lebih aman dan terstruktur.


โž• 4. Operator

https://images.openai.com/static-rsc-4/PvwrmutAzZAy2jqCljY7TRgL1osn2Rru38gqKYf5GFOEZHY0bmt-sJ4D6uWSojvoohoqB-heReCqAHn2-AWxpNK_qG5C6U_S2DSwRz4Dm7TXF2tnx5T8CcoscyfAlUUCezP4dAjAH3xLKyeZsMZPp6PXbP3BXFP5jh0RR4hRLe2hNV2UbRaMyb3LkhJIJims?purpose=fullsize
https://images.openai.com/static-rsc-4/BNd-0jCNYd2fNTWm3N9pwzNa8n29XcDjdD1M4mPXJbfrJKC9fzlQ6gJ6X9OlS9URAUKaHGyR9lu_hrz0ZHvuPhxgvkR-6SUmPLJq7sqSeJQoWO9SUH8CCsJiVsgNVsUOAqRHhINfH_p0-dePIswjGw_kb6kafhm2ykzWhc4R2N9kAjz0v_i1M86JLyhhOZa9?purpose=fullsize
https://images.openai.com/static-rsc-4/MA2oaiYhyEUo76yECOEDIOPGVG0L9hqHcYHPEudIHJ2_3Yvkapgv89vz2-Gt71lpR_CqqqhPDmIwJ-dbO2FLVjJCxYiPLgw9DUWvzWX9KRh0Zw6VAhLds0U8RxjHJrFfNN9KoTV6jYbAV_YMAwcfz6U3I1LZfuJIXXKh2N2mc4uEmhlPyOyAyitprv_MDyJo?purpose=fullsize

7

๐Ÿ“– Deskripsi

Operator digunakan untuk melakukan operasi pada data.

๐Ÿงฑ Tabel Operator

JenisContoh
Aritmatika+, -, *, /
Perbandingan==, ===, >
Logika&&, ||

๐Ÿ’ป Contoh

let hasil = 10 + 5;

๐Ÿง  Narasi

Operator sangat penting dalam pengolahan data dan pengambilan keputusan.


๐Ÿ”€ 5. Struktur Kontrol (Control Flow)

https://images.openai.com/static-rsc-4/F0RfVKjXHe3HNCltKSFGMR3_hi_JLEpTjIzQi4v9pUvNANeq4aDAmytfgkctsT8aAYICtcIfr56VVhKfHMtyaXfu94Gt4KwYcMr7rSe7u2yquzMOuzOvzv2fwN5I5s0aOxnf3_HWtYGLRff_hsmnAo_eP9812pMgWHWkzLulS2LpJE3jahxsDLOcHuO22LPM?purpose=fullsize
https://images.openai.com/static-rsc-4/U5LrTH-1rofQv5Hbs4ELv9r1nH-P3b1jgVH4HGd04Md90W_36pKCQb8qbPzOGbksSmZOAjJ-q3AObkQwbQT6O1Q6sWAkrn-hgDVfeGaNmXC893r8pd2mqyBGxwC_OiGn6ipBvnuspEaKqCKwxE7b_4vtocL7H32jAzXOJFP5t4mQ6IqYz0_U9hspw-aeaYJW?purpose=fullsize
https://images.openai.com/static-rsc-4/fdhRs5Xd9YnyvJRsvWB6KnqDazPSkEeLvb5t2s6Uqsj3uoZMp8fQt_332w0uVGqwzpSnK7B-tazod5ZKJxG-uzTT_KCp9JDGMNFS3nuoR64qIQ1RbgKuFpvDod-VqLNn8P31cGnYUGCy6ytQckuofp2vV9rVm0nKA1zT1GY8Z1xd-H06gAlb97FBkqGHxpJe?purpose=fullsize

6

๐Ÿ“– Deskripsi

Digunakan untuk mengatur alur program.

๐Ÿงฑ Jenis

StrukturFungsi
if-elsePercabangan
switchPilihan
forPerulangan
whilePerulangan

๐Ÿ’ป Contoh

if (umur > 18) {
console.log("Dewasa");
}

๐Ÿง  Narasi

Control flow memungkinkan program mengambil keputusan berdasarkan kondisi tertentu.


๐Ÿ” 6. Perulangan (Looping)

https://images.openai.com/static-rsc-4/RPL8DW_FPKbbtKOCT09eRecEok-bgt6R31K3IVMBuBfIddSkbop1d_UwPxf4nxbtK-mxiDHilYtOouSehIRK74KTZfl89ICC5HhIZ8MIb_i3SKzFuMLnyNc5tDLe2v4JmGzugBrcr6L4FbjlYru0I_g7AoqSPgFTySQuPdlDPQ4DTox7dnltAzMSRJiCWEVq?purpose=fullsize
https://images.openai.com/static-rsc-4/7fX7uy2lcZHzQ1xQ3zcZwTUd1m1sQ8jS9qJT1IJt9WGDoAIhrdNejvJa7LBHByHy_EXotOZeudUmp-zrxmb9NRS2UEq7pvftcHgMGOr5FFlU3__Jcb67CJwpCINadWogvq3DwQKn7xC5sVJSfustIglR-9Eti5CCL1Yxkz3_JS-hj3r0Z7yi40x2uhGbUo1b?purpose=fullsize
https://images.openai.com/static-rsc-4/bK6K70fw0DLirVUuytY9-IcTLB2bXfI37-rJziWKFflUB_7307pXer_XPGkMBNbqmaIWSQNvPNvjIFTSkN2Gx641ouO2J-TnId2MoQwMZcQMDpJldX599EpahX9WDO17DU0ButIHoLiZPnu6YBIYeJ41irVhIdEQl_lwyPaVFUyKsi4DC9ev8iq9dCN0__QM?purpose=fullsize

6

๐Ÿ“– Deskripsi

Loop digunakan untuk mengulang kode.

๐Ÿ’ป Contoh

for (let i = 0; i < 5; i++) {
console.log(i);
}

๐Ÿง  Narasi

Loop membantu menghemat kode dan meningkatkan efisiensi.


๐Ÿง  7. Fungsi (Function)

https://images.openai.com/static-rsc-4/20Wo40xYVVwl38AwPDS8OeAcMHCoHJmys90SNZsqLrDIDRoMANLMLhZTqF12OVUp-IzFmC93wxtDcjSxZ2Kh4MI8FAMHRQlzh_-rdKuDYtjv3iD77Urhj-D2aS93OQXPoVVHkILp3WKjXXJWtCRR3miJ7SHn19sP7N9I1xzgKh9ikzBF7rq8biVoPDD697fl?purpose=fullsize
https://images.openai.com/static-rsc-4/GbXOdV8YRV7qvxX-cwWqXbuq-RcY0D6Hm7qDFazMptzBZ5qONhPkeotaq3tsobTxlr6cVxmwjWKqi3Fbwm3Ox_4Yz2_CoXjQR_IvwZYxLd5I2tYDZ3qLJHzr7XTl3EWZ4c2X17WpMfStGfymHqj-aSVshwyGzFEZyAZZ9JpXri4naCRLUk_D6RD8aif4t64_?purpose=fullsize
https://images.openai.com/static-rsc-4/_tm--qX9rs1Pzcx488iLqWiU2Dgs30skpHW2_F_KV8Pjyh49uok_MkNcfwW7wHVBzLgRO5cs8kOVd4ATpNVF-_pjuhaDu9GjZByx0bZahIKizx7I8f9zgZMUccPk3Qn33Q_ZTWFdDCeust5Jk9GKVNhcZ-Ru9HCm1J6UrXM2NFdiEOt04Gk7O6KzRqjVJ2m-?purpose=fullsize

8

๐Ÿ“– Deskripsi

Fungsi adalah blok kode yang dapat digunakan kembali.

๐Ÿ’ป Contoh

function sapa(nama) {
return "Halo " + nama;
}

๐Ÿง  Narasi

Fungsi membantu membuat kode lebih modular dan mudah dipelihara.


๐Ÿงฑ 8. Array dan Object

https://images.openai.com/static-rsc-4/rs5Ji-alwVgsvOvik8Edpy4OH9njNqMWVx3gulPigqvAAmeJ73Pf-6bPM_pwKaNcQBdvv3KxoIj0jydasoxKE1me78CxZ_WrLoyUflINpTd5Bf9J0zWvLelp9FW56Ev4ls1pLYcSlNNXYRs3UQ75R97IhoIK-DxEi_8lpPjeOFVqFMJirYT2UMSwoZHzmG8J?purpose=fullsize
https://images.openai.com/static-rsc-4/TVWzoYf2rX4FA-57vIHqJywqGwcPE_W4C759Tovqlu5lmaDrAPMdjEkKmz8vxkEDvpfbwv6mj4jrXF7VPFVpkkASi9EDV8GjFmK6U8r3oO7mNNv10GgVAYP7ycW7xarffVdLFQqiYu65IJBFfJ3e0Fw2KWe3rcgGC8PZpV4BsdhbSgi-sMZ4z23OAhTE_TvC?purpose=fullsize
https://images.openai.com/static-rsc-4/NOiZ_oVEQG8Q2_iQYjV8SKUcPLUJQadg4180fVf5dE3c4x1NkCKMUqjWIAHb7O3QawqSRWBmiH_BKDLqBFqSM-8o_-jWDAlC_VUhIc4JAJzlgLAbybrW8zrwQUTnn7dfOcyB3c8z7P6qtJm5XIan5fdpV-lvfeA3faCM42JpVi1Piej5YiCZ_mQZoj-TpWab?purpose=fullsize

6

๐Ÿ“– Deskripsi

Struktur data untuk menyimpan banyak nilai.

๐Ÿ’ป Contoh

let buah = ["Apel", "Jeruk"];let orang = {
nama: "Budi",
umur: 20
};

๐Ÿง  Narasi

Array untuk data berurutan, object untuk data berpasangan (key-value).


๐ŸŒ 9. DOM (Document Object Model)

https://images.openai.com/static-rsc-4/LLceP34uiCoUrY7xNywpodUQLY93l8dKR221ci59b5zg9r-8PVC5k3ewvdzIi2z739NsQk9VllZaKORoCX9OnLuiJJzlelGZ4-cjKlGQJIHTBYDV451G_SV7ZVB5CUwNYVUIbuTWs6Q0Ci1x90ZwnmYwU-dtNotIMd8kETO2JgHopkj6HHU869pU-9kH5vKh?purpose=fullsize
https://images.openai.com/static-rsc-4/_WsYyYTBqROYwEqfOTyMEJEjzhuQ17RydN4vd4O1Q673vz8M5ds4oXgs-XgsddLRKN9tyb8SDSexmIdNmSysk_XkaZOC23iDzJug_hZtLxpiEvEpO2Gm8GvqPoC9h_2JwQNiEDyWdw2eWWPFAtvaMLaZZDLtadhN14ouYOaDUSfzG-NiFpmg-CCBfRYNSjQH?purpose=fullsize
https://images.openai.com/static-rsc-4/3RvmkgPyOXM1UQfLtYQPXfpV6dV_BrQpM2wbG9b1qmg1zBTkRwUF7eTYG09dQhQ7tKrmStOWddchZHlz2eEbFShTvkF0wrv3esJcmRE6GeHLmMGOUmGtw_NlCjWW1T-a40dloG85OSyptRWxgn3CVnYulMb3bw4gKEtwQsYIbKdJd1v8Y99rsj3qu9S1Ocp9?purpose=fullsize

6

๐Ÿ“– Deskripsi

DOM adalah representasi struktur HTML dalam bentuk objek.

๐Ÿ’ป Contoh

document.getElementById("judul").innerHTML = "Hello JS";

๐Ÿง  Narasi

Dengan DOM, JavaScript bisa mengubah isi halaman secara langsung.


๐Ÿ–ฑ๏ธ 10. Event Handling

https://images.openai.com/static-rsc-4/yW_aNEWtlpwsyqHp9wGEdlQ9XdeXaya2R1ICqBoSds_ybJLH3eb4TU0hwLzMOgNGhEC1Yzeo31epJIR9b1nyfmRAPEhNcVt0svOzJR5EY4e3mrVME3kAeyNycABCzR5HjZYrg1l4VmEKOEUu9fgNj_ql-Y_V8diXyyomQ4282O6Dd7M2SR8uQWfNnFi2vDxq?purpose=fullsize
https://images.openai.com/static-rsc-4/MjeWPSk66h58B1xNJhIW7wU_gRkml5StHm2cayH9za4SpU9BdmwyZYhq6GEEBZv8YtNXjhUxHLxNEDR1peW9HcI18c9W2_CRzG7QFURbD4T7Jj7BtZc5feVnCND1eNsIRarPuvN-8UgiMgvoyjuwMInNA_UG3WK_A8lh5ck2gGT1fO8G1JtKaPM93Qylvho-?purpose=fullsize
https://images.openai.com/static-rsc-4/1Idj0e-VWeA09k49VSTcfBgaWIyEidkZJ-0ocpiLBbGvsoAicJQPIPhDps4wqiFWEeL6_aQqVj7vLv-IeWqKf50E8RgNtVVCikHRq9ePN4qtEqxgbrQyAMmrBeEmPRn-2tGBEvrjPAJcYG_CBa_PVr8rTmIcH2_X805jJ2WhXQ4Eg-4cvSUJqfgN6HTs79hC?purpose=fullsize

8

๐Ÿ“– Deskripsi

Event adalah aksi pengguna.

๐Ÿ’ป Contoh

<button onclick="alert('Klik!')">Klik</button>

๐Ÿง  Narasi

Event membuat web menjadi interaktif dan responsif.


โš ๏ธ 11. Error dan Debugging

https://images.openai.com/static-rsc-4/v34aqrRnvXis5SWb0prWZxszZKzHfWk8qeIgtH_BYmav_gwTGJqxxsftyTveKNqonAfecdCtLxTCRdjHVUB1oacJQRjYNjr1ZTED5tQeMZS5kOQVbS8chzZi-0htblNMz2j7hfngUu3af57vFmjl6ITbQBqXypxEtB-2suN9tXeY5YTt6-dvjNRJpdELjCwz?purpose=fullsize
https://images.openai.com/static-rsc-4/9PmITwHmjYXo1dRdmtyPh6FYgqttqBtujNAGknHJ1u-Kq4DZIo2kQWyT27UEDCPNnRT8QYQZJx5dTk5hoggmQ2rXhaDYeA5mt5IqWaMmlyShmssz-NxUiDfAX691E2-n24H3Pp0SxrHc3i-N1ASFdiLBbUm14VctH4z0TsATdhvMRKM4ZsQS8bdv51CAtWRU?purpose=fullsize
https://images.openai.com/static-rsc-4/vtOPka9GP67hSFpLdoVBcNxM-oA64ZxWiuWNw3aM2NtJnXh-q8VBJKUC4N6yL1ydYQgj1E8bvJPlm6xsFTdOPAwXx_he6bVsgLm6TJ5hgPMVVh6960EVZQc5GSUzNtBwljqIZAtvkkEakx4AdyBdi7Oe5gnb7xoGhbuxeowDs56CuG5kVUGaKPN0d3ID4eV2?purpose=fullsize

6

๐Ÿ“– Deskripsi

Debugging adalah proses mencari kesalahan.

๐Ÿง  Narasi

Gunakan:

  • Console (console.log)
  • Developer tools browser

๐Ÿงช 12. Studi Kasus Praktikum

๐ŸŽฏ Tugas

Buat program:

  • Input nama
  • Tampilkan salam
  • Gunakan fungsi
  • Gunakan event klik

๐ŸŽฏ 13. Kesimpulan

  • JavaScript membuat web interaktif
  • Variabel, fungsi, dan DOM sangat penting
  • Event adalah inti interaksi
  • Debugging wajib dikuasai

๐ŸŽ“ Penutup

Materi ini menjadi dasar untuk:
โžก๏ธ JavaScript DOM lanjutan
โžก๏ธ AJAX & Fetch API
โžก๏ธ Framework seperti React