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