propety readyState, status, response
                - readyState
                    readyState == 0 // 0(UNSENT) xhr telah dibuat, tetapi method "open()" belum dipanggil
                    readyState == 1 // 1(opened) method "open" telah dipanggil
                    readyState == 2 // 2(HEADERS_RECEIVED) method "send()" telah dipanggil dan respons header telah diterima
                    readyState == 3 // 3(LOADING) data respons sedang diunduh
                    readyState == 4 // 4(DONE) operasi selesai, Data telah sepenuhnya diunduh

                - status
                    status == 200 // 200:OK
                    status == 404 // 404:Not Found
                    status == 500 // 500:Internet Server Error

                    statusText adalah value yang berisi text yang telah di ambil oleh status
                
                - response
                    respons // berisi respons dari server dalam bentuk yang sesuai jenis konten : teks, JSON, XML, dll

                    responseText // berisi respons dari server dalam bentuk teks
                    responseXML // berisi respons dari server dalam bentuk XML
                    responseType // menentukan tipe data yang diharapkan untuk respons

                - timeout
                    timeout // mengatur waktu maximum yang diijimkan untuk permintaan
                    event ontimeout akan dipicu

                - withCredentials // untuk memgidintifikasi apakah permintaan harus menyertakan kredensial (seperti cookie/ header otentikasi HTTP) saat melakukam permintaan lintas domain (CORS)

                - upload // sub object yang merujuk ke bagian upload dari permintaan dapat dapat menggunakan sub object ini untuk mengakses prepoerty terkait upload, seperti "onprogress" untuk memantau kemajuan upload

            
JSON.parse = mengubah string menjadi object
                var data = JSON.parse(this.responseText);
                    fungsi JSON.parse()
                    fungsi this.responsText adalah sebagai string JSON yang di terima dari API GiTHUB 
                    dan menggunakan JSON.parse untuk mengubah string menjadi object JavaScript yang di simpan di dalman variable data
                
                // mengubah data string menjadi object
                var data = JSON.parse(this.responseText);

                console.log(data); //berisi object data
                    {
                        nameL : "ariafatah"
                        avatar_url: "https://avatars.githubusercontent.com/u/125982341?v=4"
                        bio: "Just learn Coding"
                        blog: "https://s.id/ariafatah"
                    }

                // mengambil data img,  name, bio
                    var img = document.createElement("img"); // data.avatar_url
                    img.src = data.avatar_url;
                    var name = document.createElement(("h3")); // data.name
                    name.innerHTML = data.name;
                    var bio = document.createElement("h4"); // data.bio
                    bio.innerHTML = data.bio;

                // mengappend img,name,bio ke dalam elemen id hasil, dan mengubah value button menjadi done
                    document.getElementById("hasil").append(img, name, bio);
                    document.getElementById("button").innerHTML = "Done";

            
mengambil data title dan gambar dari api github
                function loadContent() {
                    var xhr = new XMLHttpRequest();
                    var url = "https://api.github.com/users/ariafatah0711";
        
                    xhr.onloadstart = function() {
                        document.getElementById("button").innerHTML = "Loading...";
                    };
        
                    xhr.onerror = function() {
                        alert("gagal mengambil data");
                    };
        
                    xhr.onloadend = function() {
                        // if data responsText tidak kosong/null/""
                        if(this.responText !== "") {
                            // mengubah data string menjadi object
                            var data = JSON.parse(this.responseText);
                            console.log(data); //berisi object data
                            
                            // mengambil data img,  name, bio
                            var img = document.createElement("img"); // data.avatar_url
                            img.src = data.avatar_url;
                            var name = document.createElement(("h4")); // data.name
                            name.innerHTML = data.name;
                            var bio = document.createElement("h5"); // data.bio
                            bio.innerHTML = data.bio;
        
                            // mengappend img,name,bio ke dalam elemen id hasil, dan mengubah value button menjadi done
                            document.getElementById("hasil").append(img, name, bio);
                            document.getElementById("button").innerHTML = "Done";
        
                            setTimeout(function () {
                                document.getElementById("button").innerHTML = "Load Lagi";
                            }, 3000)
                        };
                    };
                
                    xhr.open("GET", url, true);
                    xhr.send();            
                };
                function clearResult() {
                    document.getElementById("hasil").innerHTML = "";
                }
            

mengambil data