JavaScript
```wiki
- JavaScript untuk Pemula di MediaWiki
JavaScript adalah bahasa pemrograman tingkat tinggi yang digunakan untuk membuat halaman web lebih interaktif dan dinamis. Meskipun awalnya dikembangkan untuk dijalankan di peramban web, JavaScript kini juga digunakan di sisi server (Node.js), aplikasi seluler, dan bahkan aplikasi desktop. Artikel ini akan membahas dasar-dasar JavaScript, khususnya bagaimana JavaScript dapat digunakan dalam konteks MediaWiki untuk meningkatkan fungsionalitas wiki Anda.
Apa itu JavaScript?
JavaScript (sering disingkat JS) adalah bahasa scripting yang memungkinkan Anda menambahkan perilaku dinamis ke halaman web. Ini berarti Anda dapat mengubah konten halaman tanpa harus memuat ulang seluruh halaman, merespons tindakan pengguna (seperti klik tombol atau pengisian formulir), dan banyak lagi. Berbeda dengan HTML yang mengatur struktur konten dan CSS yang mengatur tampilan, JavaScript mengatur *perilaku*.
- **Bahasa Scripting:** JavaScript adalah bahasa scripting, yang berarti kode dieksekusi baris demi baris tanpa perlu kompilasi terlebih dahulu.
- **Interpretatif:** Kode JavaScript diinterpretasikan oleh peramban web, bukan oleh server.
- **Object-Oriented:** JavaScript mendukung pemrograman berorientasi objek, meskipun implementasinya sedikit berbeda dari bahasa OOP tradisional seperti Java atau C++.
- **Multi-Paradigma:** JavaScript mendukung berbagai paradigma pemrograman, termasuk imperatif, deklaratif, dan fungsional.
JavaScript di MediaWiki
MediaWiki, platform yang digunakan untuk menjalankan Wikipedia dan banyak wiki lainnya, menyediakan beberapa cara untuk menggunakan JavaScript. Anda dapat menggunakan JavaScript untuk:
- **Menyesuaikan Tampilan:** Mengubah tampilan halaman wiki, seperti menambahkan kelas CSS khusus atau memodifikasi elemen yang ada.
- **Menambah Fungsionalitas:** Menambahkan fitur baru ke wiki, seperti formulir interaktif, kalkulator, atau peta.
- **Membuat Gadget:** Membuat gadget yang dapat diaktifkan atau dinonaktifkan oleh pengguna. Gadget berguna untuk menambahkan fitur khusus yang mungkin tidak diinginkan oleh semua pengguna.
- **Memodifikasi Perilaku:** Mengubah bagaimana wiki berperilaku, seperti menambahkan validasi formulir atau mengubah cara tautan ditangani.
Dasar-Dasar JavaScript
Sebelum kita mulai menggunakan JavaScript di MediaWiki, mari kita lihat beberapa dasar-dasar bahasa ini.
Variabel
Variabel digunakan untuk menyimpan data. Di JavaScript, Anda dapat mendeklarasikan variabel menggunakan kata kunci `var`, `let`, atau `const`.
- `var`: Digunakan untuk mendeklarasikan variabel dengan cakupan fungsi atau global. (Hindari penggunaan `var` jika memungkinkan, karena dapat menyebabkan masalah cakupan).
- `let`: Digunakan untuk mendeklarasikan variabel dengan cakupan blok. Ini berarti variabel hanya dapat diakses di dalam blok kode tempat ia dideklarasikan.
- `const`: Digunakan untuk mendeklarasikan konstanta. Konstanta adalah variabel yang nilainya tidak dapat diubah setelah diinisialisasi.
Contoh:
```javascript let nama = "John Doe"; const pi = 3.14159; var usia = 30; // Hindari penggunaan var jika memungkinkan ```
Tipe Data
JavaScript memiliki beberapa tipe data bawaan:
- **Number:** Untuk angka (misalnya, 10, 3.14).
- **String:** Untuk teks (misalnya, "Hello, world!").
- **Boolean:** Untuk nilai benar atau salah (misalnya, `true`, `false`).
- **Null:** Untuk mewakili tidak adanya nilai.
- **Undefined:** Untuk mewakili variabel yang belum diberi nilai.
- **Object:** Untuk menyimpan kumpulan properti.
- **Array:** Untuk menyimpan daftar nilai.
Operator
Operator digunakan untuk melakukan operasi pada data. JavaScript memiliki berbagai operator, termasuk:
- **Operator Aritmatika:** `+`, `-`, `*`, `/`, `%` (modulus).
- **Operator Perbandingan:** `==` (sama dengan), `!=` (tidak sama dengan), `===` (sama dengan dan tipe data sama), `!==` (tidak sama dengan atau tipe data berbeda), `>`, `<`, `>=`, `<=`.
- **Operator Logika:** `&&` (dan), `||` (atau), `!` (tidak).
- **Operator Penugasan:** `=`, `+=`, `-=`, `*=`, `/=`.
Pernyataan Kontrol
Pernyataan kontrol digunakan untuk mengontrol alur eksekusi kode. JavaScript memiliki beberapa pernyataan kontrol, termasuk:
- **`if...else`:** Mengeksekusi kode yang berbeda berdasarkan kondisi.
- **`switch`:** Mengeksekusi kode yang berbeda berdasarkan nilai variabel.
- **`for`:** Mengulang kode sejumlah kali tertentu.
- **`while`:** Mengulang kode selama kondisi tertentu benar.
- **`do...while`:** Mengulang kode setidaknya sekali, lalu terus mengulang selama kondisi tertentu benar.
Fungsi
Fungsi adalah blok kode yang dapat digunakan kembali. Anda dapat mendefinisikan fungsi menggunakan kata kunci `function`.
Contoh:
```javascript function sapa(nama) {
console.log("Halo, " + nama + "!");
}
sapa("John"); // Output: Halo, John! ```
Objek
Objek adalah kumpulan properti. Setiap properti memiliki nama dan nilai. Anda dapat membuat objek menggunakan literal objek.
Contoh:
```javascript let orang = {
nama: "Jane Doe", usia: 25, pekerjaan: "Pengembang Web"
};
console.log(orang.nama); // Output: Jane Doe ```
Array
Array adalah daftar nilai. Anda dapat membuat array menggunakan literal array.
Contoh:
```javascript let angka = [1, 2, 3, 4, 5];
console.log(angka[0]); // Output: 1 ```
Menggunakan JavaScript di MediaWiki – Implementasi Praktis
Berikut adalah beberapa contoh bagaimana Anda dapat menggunakan JavaScript di MediaWiki:
1. **Menambahkan Gadget Sederhana:**
* Buat halaman JavaScript khusus (misalnya, `User:NamaPengguna/gadget-sapa.js`). * Tambahkan kode JavaScript berikut ke halaman tersebut:
```javascript function sapaPengguna() { let namaPengguna = mw.user.name; if (namaPengguna) { alert("Halo, " + namaPengguna + "!"); } else { alert("Halo, Pengguna Anonim!"); } }
$(document).ready(function() { sapaPengguna(); }); ```
* Tambahkan baris berikut ke halaman `User:NamaPengguna/common.js`:
```javascript importScript('User:NamaPengguna/gadget-sapa.js'); ```
* Sekarang, setiap kali Anda memuat halaman wiki, Anda akan melihat kotak dialog yang menyapa Anda.
2. **Memodifikasi Elemen Halaman:**
* Misalnya, untuk mengubah warna latar belakang semua paragraf di halaman:
```javascript $(document).ready(function() { $("p").css("background-color", "yellow"); }); ```
3. **Menangani Klik Tombol:**
* Anda dapat menambahkan tombol ke halaman wiki dan menggunakan JavaScript untuk menangani klik tombol tersebut. Ini memerlukan pemahaman tentang HTML dan CSS selain JavaScript.
Alat Pengembangan dan Debugging
- **Konsol Peramban:** Sebagian besar peramban web memiliki konsol pengembang yang memungkinkan Anda melihat pesan kesalahan JavaScript dan men-debug kode Anda. (Biasanya diakses dengan menekan F12).
- **JSHint/ESLint:** Alat untuk menganalisis kode JavaScript Anda dan menemukan potensi kesalahan atau masalah gaya.
- **Debugger:** Alat yang memungkinkan Anda menjalankan kode JavaScript Anda baris demi baris dan memeriksa nilai variabel.
Tips dan Praktik Terbaik
- **Gunakan jQuery:** MediaWiki secara otomatis menyertakan pustaka jQuery, yang menyederhanakan manipulasi DOM dan penanganan peristiwa. Manfaatkan jQuery untuk membuat kode Anda lebih ringkas dan mudah dibaca.
- **Hindari Konflik:** Pastikan kode JavaScript Anda tidak bertentangan dengan kode JavaScript lain yang mungkin ada di wiki. Gunakan namespace atau teknik enkapsulasi lainnya untuk mencegah konflik.
- **Optimalkan Kinerja:** Kode JavaScript yang tidak efisien dapat memperlambat wiki Anda. Optimalkan kode Anda dengan menghindari operasi DOM yang tidak perlu dan menggunakan algoritma yang efisien.
- **Dokumentasi:** Dokumentasikan kode JavaScript Anda dengan baik agar mudah dipahami dan dipelihara.
- **Uji Secara Menyeluruh:** Uji kode JavaScript Anda secara menyeluruh di berbagai peramban dan perangkat sebelum menyebarkannya ke wiki Anda.
Sumber Daya Tambahan
- **Dokumentasi JavaScript Mozilla Developer Network (MDN):** [1](https://developer.mozilla.org/en-US/docs/Web/JavaScript)
- **W3Schools JavaScript Tutorial:** [2](https://www.w3schools.com/js/)
- **jQuery Documentation:** [3](https://api.jquery.com/)
- **MediaWiki JavaScript API:** [4](https://www.mediawiki.org/wiki/Developer_API)
- **JavaScript.info:** [5](https://javascript.info/)
Strategi Trading & Analisis Pasar (Disclaimer: Ini bukan nasihat keuangan.)
Berikut adalah beberapa tautan ke sumber daya terkait strategi trading dan analisis pasar. Ingatlah, trading melibatkan risiko, dan Anda harus selalu melakukan riset sendiri sebelum membuat keputusan investasi.
- **Moving Averages:** [6](https://www.investopedia.com/terms/m/movingaverage.asp)
- **Relative Strength Index (RSI):** [7](https://www.investopedia.com/terms/r/rsi.asp)
- **MACD:** [8](https://www.investopedia.com/terms/m/macd.asp)
- **Bollinger Bands:** [9](https://www.investopedia.com/terms/b/bollingerbands.asp)
- **Fibonacci Retracements:** [10](https://www.investopedia.com/terms/f/fibonacciretracement.asp)
- **Candlestick Patterns:** [11](https://www.investopedia.com/terms/c/candlestick.asp)
- **Support and Resistance:** [12](https://www.investopedia.com/terms/s/supportandresistance.asp)
- **Trend Lines:** [13](https://www.investopedia.com/terms/t/trendline.asp)
- **Ichimoku Cloud:** [14](https://www.investopedia.com/terms/i/ichimokucloud.asp)
- **Elliott Wave Theory:** [15](https://www.investopedia.com/terms/e/elliottwavetheory.asp)
- **TradingView:** [16](https://www.tradingview.com/) (Platform charting)
- **Babypips:** [17](https://www.babypips.com/) (Education)
- **DailyFX:** [18](https://www.dailyfx.com/) (News & Analysis)
- **Forex Factory:** [19](https://www.forexfactory.com/) (Forum & Calendar)
- **Investopedia:** [20](https://www.investopedia.com/) (Financial Dictionary)
- **Bloomberg:** [21](https://www.bloomberg.com/) (Financial News)
- **Reuters:** [22](https://www.reuters.com/) (Financial News)
- **CNBC:** [23](https://www.cnbc.com/) (Financial News)
- **MarketWatch:** [24](https://www.marketwatch.com/) (Financial News)
- **Trading Economics:** [25](https://tradingeconomics.com/) (Economic Indicators)
- **Federal Reserve Economic Data (FRED):** [26](https://fred.stlouisfed.org/) (Economic Data)
- **Yahoo Finance:** [27](https://finance.yahoo.com/) (Financial Data)
- **Google Finance:** [28](https://www.google.com/finance/) (Financial Data)
- **Kitco:** [29](https://www.kitco.com/) (Precious Metals)
- **Oilprice.com:** [30](https://oilprice.com/) (Oil News)
- **FXStreet:** [31](https://www.fxstreet.com/) (Forex News & Analysis)
Mulai Trading Sekarang
Daftar di IQ Option (Deposit minimum $10) Buka akun di Pocket Option (Deposit minimum $5)
Bergabung dengan Komunitas Kami
Berlangganan saluran Telegram kami @strategybin untuk mendapatkan: ✓ Sinyal trading harian ✓ Analisis strategi eksklusif ✓ Peringatan tren pasar ✓ Materi edukasi untuk pemula
Kategori:JavaScript Kategori:MediaWiki Kategori:Pemrograman Web Kategori:Tutorial Kategori:Pengembangan Wiki Kategori:HTML Kategori:CSS Kategori:jQuery Kategori:Trading Kategori:Analisis Teknis ```