#include <WiFi.h> // Mengimpor library WiFi untuk menghubungkan ESP32 ke jaringan WiFi
#include <HTTPClient.h> // Mengimpor library HTTPClient untuk mengirim permintaan HTTP
// Nama dan password jaringan WiFi
const char* ssid = "Wokwi-GUEST"; // SSID atau nama jaringan WiFi
const char* password = ""; // Kata sandi WiFi
void setup() {
Serial.begin(115200); // Memulai komunikasi serial dengan baud rate 115200, untuk melihat output di Serial Monitor
// Menghubungkan ESP32 ke WiFi
WiFi.begin(ssid, password); // Memulai koneksi WiFi dengan SSID dan password yang diberikan
Serial.print("Menghubungkan ke WiFi"); // Mencetak pesan awal ke Serial Monitor
// Loop untuk menunggu koneksi sampai terhubung ke WiFi
while (WiFi.status() != WL_CONNECTED) { // Mengecek apakah ESP32 sudah terhubung ke WiFi
delay(500); // Menunggu 500 milidetik sebelum mengecek lagi
Serial.print("."); // Mencetak titik untuk menunjukkan proses koneksi
}
Serial.println(" Terhubung!"); // Mencetak pesan jika sudah terhubung ke WiFi
// Mengecek apakah ESP32 terhubung ke WiFi
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http; // Membuat instance HTTPClient untuk mengirim permintaan HTTP
// Mengatur URL tujuan untuk mengambil data
http.begin("http://pokeapi.co/api/v2/pokemon"); // URL PokeAPI yang menyediakan data Pokémon
int httpCode = http.GET(); // Mengirim permintaan GET ke server API
// Mengecek apakah permintaan berhasil dengan kode status lebih besar dari 0
if (httpCode > 0) {
String payload = http.getString(); // Mengambil data dari server dalam format string
Serial.println("Data Pokémon:"); // Mencetak judul ke Serial Monitor
Serial.println(payload); // Mencetak data Pokémon yang diterima dari API
} else {
// Jika permintaan gagal, mencetak pesan kesalahan
Serial.print("Gagal mengambil data, kode kesalahan: ");
Serial.println(httpCode); // Mencetak kode kesalahan jika permintaan tidak berhasil
}
http.end(); // Mengakhiri koneksi HTTP untuk menghemat sumber daya
} else {
Serial.println("Tidak terhubung ke WiFi."); // Mencetak pesan jika WiFi tidak terhubung
}
}
void loop() {
// Fungsi loop dibiarkan kosong karena kita hanya ingin mengambil data sekali pada setup
}