Ketika EA berhenti merespons, tugas pertama adalah memastikan apa yang masih berjalan dan apa yang benar-benar telah diterima broker. Memasang ulang MT4 atau meluncurkan VPS cadangan sebelum menjawab pertanyaan tersebut dapat mengubah satu kegagalan teknis menjadi trading ganda atau posisi yang tidak dikelola.
Ini adalah Panduan 3 dalam seri VPS & Stabilitas MT4. Gunakan panduan kesinambungan untuk hosting dan panduan konfigurasi untuk penyesuaian sumber daya. Artikel ini berfokus pada insiden, cadangan yang dapat dipulihkan, dan pemulihan terkendali. Untuk pengawasan rutin di antara insiden, lanjutkan dengan Panduan 4: pemantauan EA, kuotasi, dan peringatan.
Pulihkan lingkungan trading, bukan keadaan akun lama
Prosedur utama ditujukan untuk VPS Windows biasa yang menjalankan MT4. Hosting virtual MetaTrader terintegrasi memiliki kontrol berbeda; bagian tersendiri di bawah menjelaskan perbedaannya. Pisahkan akun broker, konfigurasi terminal lokal, dan status runtime EA dalam rencana Anda.
Folder yang dipulihkan tidak dapat membatalkan transaksi yang sudah diproses broker. Chart tersimpan juga tidak membuktikan bahwa EA-nya dapat melanjutkan kelompok posisi secara aman setelah restart. Tujuannya adalah status operasional yang diverifikasi dengan kepemilikan order yang diketahui, bukan desktop yang tampak identik. Pemulihan mengurangi gangguan operasional; pemulihan tidak dapat menghapus risiko pasar atau menjamin eksekusi.
Respons pertama: hindari memperbesar insiden
- Catat insiden. Catat waktu deteksi dan zona waktu, akun/server serta terminal terdampak, perilaku normal terakhir yang dikonfirmasi, dan perubahan terbaru. Peringatan hilang atau sesi RDP terputus merupakan gejala, bukan diagnosis.
- Periksa eksposur akun. Gunakan tampilan akun broker yang diotorisasi atau terminal pengamatan terpisah tanpa EA atau dengan EA yang tidak dapat bertransaksi. Konfirmasikan posisi saat ini, pending order, dan level perlindungan yang diterima; libatkan broker jika status akun tidak jelas.
- Identifikasi setiap salinan trading. Sertakan VPS utama, komputer rumah, terminal siaga, hosting terintegrasi, dan layanan penyalinan transaksi. Jangan memulai salinan otomatis lain hanya karena salinan utama tidak dapat dijangkau.
- Pilih intervensi dengan batas yang jelas. Simpan bukti, identifikasi lapisan yang gagal, dan ikuti rencana insiden yang didokumentasikan. Tentukan tanggung jawab atas posisi yang bergantung pada pengelolaan EA lokal sebelum restart atau shutdown.
Pada MT4 biasa, menonaktifkan AutoTrading memblokir operasi trading EA pada terminal tersebut; tindakan ini tidak menutup posisi, menghapus order broker, atau menghentikan host lain. Tindakan ini juga dapat mengganggu exit yang dikelola EA. Karena itu, restart merupakan keputusan operasional yang berdampak pada akun, bukan tombol diagnosis tanpa konsekuensi.
Temukan kegagalan sebelum memasang ulang apa pun
| Gejala | Periksa dahulu | Yang tidak dibuktikan |
|---|---|---|
| Remote Desktop tidak tersedia | Status dan konsol penyedia, status daya/sesi VM, serta jalur akses jarak jauh. | Bahwa VPS atau EA telah berhenti; trading mungkin berlanjut tanpa koneksi RDP Anda. |
| VPS aktif, MT4 tidak ada atau membeku | Pengguna dan proses Windows yang dimaksud, tekanan sumber daya, riwayat restart, serta log terminal. | Bahwa peluncuran baru akan memulihkan akun, profil, dan status EA yang benar. |
| MT4 melaporkan tidak ada koneksi | Akun/server yang tepat, hasil login, jalur broker, dan status layanan broker. | Bahwa mengganti penyedia VPS akan memperbaiki gangguan di sisi broker. |
| Kuotasi masuk tetapi EA tidak ada | Chart/profil yang benar, file/versi EA, inisialisasi, dan pesan dependensi dalam Experts. | Bahwa memulihkan tampilan chart saja memulihkan executable EA atau lisensinya. |
| EA terpasang tetapi tidak dapat bertransaksi | Izin terminal dan EA, akses trading akun, lisensi, serta pembatasan yang dilaporkan. | Bahwa mengaktifkan semua izin merupakan perbaikan yang tepat. |
| EA berjalan tanpa transaksi baru | Kondisi sinyal/sesi, data yang diperlukan, filter yang didokumentasikan, dan pesan kesalahan. | Bahwa ada gangguan; menunggu sinyal valid dapat merupakan kondisi normal. |
| Order ada setelah respons hilang | Posisi broker saat ini, pending order, dan riwayat akun terkait. | Bahwa permintaan yang timeout gagal atau harus dikirim ulang. |
Untuk pengaturan tertentu dan kesalahan order, gunakan panduan kesalahan EA. Tabel keputusan ini mengidentifikasi lapisan terdampak; bukan janji bahwa gejala tertentu hanya memiliki satu penyebab.
EA yang terpasang masih dapat tidak mampu mengelola order
Konfirmasikan simbol dan timeframe yang dimaksud, versi EA, Inputs yang disetujui, serta inisialisasi berhasil. Periksa persyaratan akun dan lisensi tanpa menggantinya dengan nilai tebakan. Perubahan profil, indikator kustom yang hilang, atau dependensi DLL/WebRequest dapat mengubah perilaku meskipun kuotasi terus masuk.
- Pisahkan kesalahan izin terminal atau EA dari pembatasan broker/akun. Kode
133berarti trading dinonaktifkan; kode ini tidak menunjukkan tombol lokal mana yang harus ditekan. - Kode
6menunjukkan tidak ada koneksi server trading; kode146menunjukkan konteks trading sibuk. Selidiki pesan aktual dan peristiwa sekitarnya, alih-alih berulang kali merestart atau mengirim permintaan. - Dengan kode
128, atau respons transaksi yang hilang/tidak pasti, rekonsiliasikan hasil server sebelum mencoba ulang. Tidak adanya konfirmasi lokal bukan bukti bahwa broker menolak permintaan.
Jangan menghapus filter spread, sesi, posisi, atau risiko untuk memaksakan transaksi diagnostik. Jika EA tidak memiliki sinyal valid, pemulihan yang berhasil mungkin tidak menghasilkan posisi baru. Pengelolaan order yang sudah ada dan data baru merupakan bukti penerimaan yang lebih berguna daripada memaksakan entry.
Rekonsiliasikan order broker sebelum melanjutkan otomatisasi
Dalam lingkungan pengamatan yang terhubung, periksa Trade untuk posisi terbuka dan pending order. Periksa Account History untuk operasi selama insiden; pilih rentang tanggal yang benar-benar mencakupnya. Jika catatan tidak cocok atau akses tidak lengkap, minta klarifikasi broker sebelum menganggap rekonstruksi selesai.
- Cocokkan tiket, simbol yang tepat, arah, volume, waktu entry, dan Stop Loss/Take Profit yang diterima dengan catatan insiden. Terminal yang berhenti tidak menghapus order yang disimpan broker; pending order dapat terpicu selama gangguan.
- Identifikasi pihak pengelola berdasarkan aturan simbol dan Magic Number yang didokumentasikan EA. Jangan mengubah pengenal agar order lama menghilang dari jangkauan EA.
- Periksa apakah order ditutup atau berubah ketika terminal tidak tersedia. Jangan membuat ulang posisi lama hanya karena posisi itu muncul dalam cadangan atau log.
- Konfirmasikan cara EA ini merekonstruksi kelompok posisi, logika trailing, exit virtual, atau status lainnya. Jika rekonstruksi tidak didukung atau tidak pasti, gunakan prosedur pemulihan vendor sebelum mengaktifkannya.
Level Stop Loss/Take Profit yang diterima broker tetap berada di sisi server. Penyesuaian Trailing Stop MT4 dan exit virtual EA memerlukan terminal/EA pengelolanya beroperasi; stop server terakhir yang diterima berbeda dari penyesuaian lokal yang terus berjalan. Level perlindungan tidak menjamin harga eksekusi, terutama ketika terjadi gap atau gangguan broker.
Simpan bukti yang diperlukan untuk menjelaskan kegagalan
Simpan entri yang relevan dari Experts dan Journal sebelum membersihkan tampilan, memulihkan snapshot, atau memasang ulang. Ketika terminal merespons, gunakan perintah pada setiap tab berupa Open untuk menemukan dan menulis log ke disk. Log EA biasanya berada di MQL4/Logs, log terminal di logs, dalam folder data aktual.
Catat identitas terminal, teks/kode kesalahan, tiket order terdampak, inisialisasi berhasil terakhir, perubahan koneksi, serta perubahan Windows atau EA terbaru. Catat jam/zona waktu setiap sumber; selaraskan waktu Windows, terminal, dan broker sebelum menyimpulkan urutan peristiwa. Lihat panduan Experts dan Journal.
Kirim kepada dukungan hanya kutipan relevan dan konfigurasi yang diperlukan untuk penyelidikan, setelah menghapus kredensial serta informasi akun yang tidak terkait. Penyedia mungkin memerlukan peristiwa VM, broker memerlukan detail order/server, dan pengembang EA memerlukan kesalahan inisialisasi atau status. Peluncuran ulang berulang sebagai langkah pertama dapat menghapus perbedaan antara kegagalan awal dan efek samping pemulihan.
Bangun paket pemulihan yang mencakup dependensi
Untuk setiap terminal yang dimaksud, catat lokasi pemasangan dan pengguna Windows, lalu gunakan File → Open Data Folder untuk menemukan data sebenarnya. Simpan inventaris bersama cadangan; pintasan atau nama folder bermerek broker bukan peta yang andal.
| Komponen | Simpan dan identifikasi | Batas pemulihan |
|---|---|---|
| EA dan indikator | Executable yang tepat dan disetujui, versi, serta file wajib dalam MQL4/Experts dan MQL4/Indicators. | Template tidak memuat berkas biner program. |
| Pengaturan | File .set yang disetujui, catatan Inputs, akun/server, simbol, timeframe, dan aturan Magic Number. | Preset menyimpan input, bukan seluruh status yang sedang berjalan. |
| Chart dan ruang kerja | Template dan profil terkait dengan nama sesuai peran yang dimaksud. | Chart yang dipulihkan dapat memasang EA; tata letak tersimpan bukan persetujuan untuk pemulihan. |
| Dependensi dan status | Pustaka yang didokumentasikan, MQL4/Files, file umum/bersama jika ada, dan prosedur status persisten vendor. | Salinan folder terminal dapat melewatkan lokasi bersama, layanan eksternal, atau status yang hanya berada dalam memori. |
| Lingkungan terminal | Catatan pengaturan, riwayat wajib, URL tepercaya, pengguna Windows, dan pengaturan startup. | Jangan memulihkan kredensial atau konfigurasi yang otomatis bertransaksi tanpa pemeriksaan. |
| Lisensi dan akses | Akses pemulihan aman, aturan lisensi, dan aktivasi atau pengikatan akun yang diperlukan. | Mesin baru atau VM yang dipulihkan mungkin memerlukan aktivasi yang disetujui vendor. |
| Bukti dan prosedur | Log relevan, waktu/versi cadangan, jalur kontak, dan instruksi pemulihan yang telah diuji. | Arsip yang belum pernah dibuka dan dipulihkan belum terverifikasi. |
Catatan order broker aktual direkonsiliasikan setelah terhubung kembali; catatan tersebut tidak dipulihkan dari paket ini. Simpan konfigurasi dan bukti secara aman, dengan kredensial pemulihan di luar daftar publik atau unggahan dukungan.
Gunakan preset, template, dan profil sesuai perannya
Pada tab EA Inputs, Save menyimpan parameter eksternal yang didukung dan Load menerapkan preset tersimpan. Catat versi EA terkait: input yang berganti nama atau nilai bawaan berbeda pada versi pengganti dapat mengubah hasil. Verifikasi nilai yang dimuat, alih-alih menerima nama file yang tampak familier.
.tpl template menyimpan pengaturan chart dan dapat mencakup EA terpasang dengan parameternya; profil menggambarkan kelompok chart. Keduanya bukan pengganti executable, dependensi, atau status khusus vendor yang terkait. Perubahan profil disimpan saat ruang kerja berubah, sehingga perubahan tidak sengaja juga dapat menjadi profil saat ini.
- Beri preset, template, dan catatan profil yang telah dipastikan baik nama bertanggal/berversi.
- Simpan catatan terpisah tentang simbol yang tepat, timeframe, dan aturan pengelolaan order yang dimaksud.
- Terapkan chart yang dipulihkan hanya dalam lingkungan terkendali yang tidak dapat memulai trading otomatis sebelum verifikasi. Pengaturan yang dipulihkan dapat membawa izin yang tidak ingin Anda aktifkan.
Tanyakan apa yang bertahan setelah restart dan apa yang harus dibangun ulang
EA dapat mengambil status dari order broker, menulis file lokal atau bersama, menggunakan variabel global terminal, atau menyimpan informasi hanya dalam memori. Tanyakan kepada pengembang status mana yang penting, cara penyimpanannya, dan cara pemulihan menangani order yang dibuka setelah pencadangan. Jangan pernah menganggap semua EA berperilaku sama.
Variabel global terminal berbeda dari variabel dalam kode EA. Variabel global terminal persisten dapat bertahan setelah restart, tetapi kedaluwarsa setelah 4 minggu tanpa akses; variabel global sementara hanya ada selama sesi terminal saat ini. Karena itu, daftar variabel global atau preset yang disalin bukan cadangan EA universal. Simpan hanya melalui prosedur yang didokumentasikan dan verifikasi kemutakhirannya terhadap order saat ini.
Status lokal lama dapat bertentangan dengan catatan broker baru. Jangan memindahkan file status kelompok posisi akun live ke akun demo, menghapus status untuk “mereset” transaksi yang sudah ada, atau mengubah Magic Number tanpa pemetaan yang didokumentasikan vendor. Jika EA tidak dapat merekonstruksi pengelolaan secara aman, biarkan otomatisasi nonaktif dan selesaikan ketidakcocokan tersebut.
Simpan versi yang dapat dipulihkan di luar VPS yang gagal
Simpan versi bertanggal dari konfigurasi yang disetujui dan salinan terlindungi di luar VPS utama. ZIP pada VM yang sama dapat hilang bersama VM tersebut. Snapshot penyedia adalah alat pemulihan lain, tetapi retensi, cakupan, konsistensi, dan ketersediaannya harus dikonfirmasi; snapshot bukan cadangan akun broker independen.
- Cadangkan setelah perubahan konfigurasi, versi, atau dependensi yang disetujui, dan jadwalkan pencadangan status sesuai banyaknya perubahan yang tidak dapat dipulihkan yang masih dapat ditoleransi EA.
- Gunakan metode pengambilan yang konsisten dan telah diuji. Menyalin file saat EA menulisnya dapat menghasilkan versi yang tidak cocok. Koordinasikan jeda atau shutdown tertib yang diperlukan dengan pengelolaan posisi; jangan mengganggu pengelola live hanya untuk memudahkan penyalinan.
- Periksa apakah arsip dapat dibuka, file wajib tersedia, dan latihan pemulihan berhasil. Lindungi akses dan simpan versi lama yang masih dapat digunakan agar kerusakan atau perubahan tidak sengaja tidak menimpa semua salinan.
Checksum dapat mendeteksi perubahan byte tak terduga terhadap referensi tepercaya; checksum tidak membuktikan status EA terkini atau konsisten secara logis. Keberhasilan pencadangan berarti dapat dipulihkan, bukan sekadar tugas terjadwal melaporkan selesai.
Tetapkan tujuan terpisah untuk waktu gangguan dan status yang hilang
Recovery time objective (RTO) adalah waktu gangguan yang ingin Anda toleransi sebelum memulihkan layanan yang dimaksud. Recovery point objective (RPO) adalah banyaknya perubahan status historis yang ingin Anda toleransi jika hilang. Pilih sesuai kebutuhan pengelolaan EA sebenarnya, lalu uji apakah prosedur dan frekuensi pencadangan mendukungnya.
| Peristiwa ilustratif | Waktu | Makna |
|---|---|---|
| Cadangan status terbaru yang dapat digunakan | 09:00 | Status lokal yang dapat dipulihkan dicatat di sini. |
| Gangguan dimulai | 09:20 | Ada celah status lokal selama 20 menit yang perlu diselidiki. |
| Pemulihan diverifikasi | 09:32 | Contoh ini memiliki waktu gangguan 12 menit. |
Waktu ini hipotetis, bukan hasil pemulihan yang diukur atau RTO yang dijanjikan. Durasi 20 menit berkaitan dengan perubahan status lokal yang mungkin hilang; order yang diterima broker tetap diperiksa dari catatan terkini. Durasi 12 menit berkaitan dengan waktu gangguan. Kebijakan pencadangan yang memenuhi interval waktu tetap dapat gagal jika EA tidak dapat merekonsiliasikan status itu dengan akun.
Pulihkan ke lingkungan terkendali
- Konfirmasikan salinan sumber tidak dapat bertransaksi. Hentikan atau isolasi melalui kontrol yang diverifikasi dan cegah pengaktifan ulang otomatis. Jika hanya tidak dapat dijangkau, selesaikan ketidakpastian itu sebelum memulai otomatisasi pengganti.
- Siapkan terminal pengamatan/persiapan yang bersih. Gunakan MT4 yang dimaksud oleh broker dan pengguna Windows yang benar. Pastikan trading otomatis nonaktif sebelum memasukkan profil atau pengaturan EA yang dipulihkan. Selama verifikasi awal, jangan masukkan kredensial live atau gunakan login pengamatan hanya baca yang didukung; konfirmasikan pembatasan akses aktualnya.
- Temukan folder data baru. Gunakan
File → Open Data Folder. Pertahankan cadangan asli dan pulihkan file terpilih yang didokumentasikan, alih-alih menimpa seluruh konfigurasi baru tanpa pemeriksaan. - Pulihkan program dan input yang disetujui. Verifikasi versi, simbol/timeframe yang tepat, dependensi, dan lisensi. Tetap nonaktifkan otomatisasi; file pengaturan lama tidak boleh diam-diam menggantikan kontrol izin yang telah diverifikasi.
- Validasi status dan order. Gunakan prosedur yang didokumentasikan untuk membandingkan status persisten dengan posisi broker saat ini, pending order, dan riwayat selama insiden. Selesaikan perbedaan sebelum melanjutkan pengelolaan.
- Selesaikan pemeriksaan penerimaan. Verifikasi data yang diperlukan, inisialisasi, izin, kepemilikan, log, peringatan, dan konteks startup. Validasi prosedur pada demo terlebih dahulu; jangan menyalin status akun live ke akun latihan.
- Otorisasikan satu salinan trading yang dimaksud. Ikuti pengalihan yang didokumentasikan dan konfirmasikan salinan lama tetap tidak dapat bertransaksi. Siapkan login trading yang diotorisasi, periksa kembali perlindungan perubahan akun dan izin akhir, lalu aktifkan hanya pengganti yang diverifikasi. Amati pengelolaan order yang sudah ada serta catat waktu dan hasilnya.
Jika status penting, kepemilikan order, akses broker, atau penghentian sumber tidak dapat dikonfirmasi, prosedur belum lengkap. Biarkan otomatisasi pengganti nonaktif dan eskalasikan masalah spesifik yang belum terselesaikan; proses yang berjalan berupa terminal.exe atau chart yang dipulihkan dengan tampilan menarik tidak cukup.
Siapkan cadangan siaga tanpa membuat pengelola aktif kedua
VPS siaga dapat mengurangi pekerjaan persiapan ketika konfigurasi, dependensi, dan aksesnya telah diuji. Pastikan VPS tersebut tidak dapat bertransaksi sebelum syarat pengalihan terpenuhi. VPS kedua pada akun broker yang sama bukan pengunci untuk mencegah order ganda.
- Catat host utama, siaga, dan host lain, beserta cara setiap host dihentikan dan dicegah dari restart otomatis.
- Konfirmasikan host utama berhenti atau terisolasi efektif dari trading. Kontrol daya yang dikonfirmasi penyedia atau penghentian terverifikasi merupakan bukti lebih kuat daripada kegagalan RDP atau heartbeat hilang saja.
- Rekonsiliasikan order broker dan status EA, lalu selesaikan pemeriksaan pengganti sebelum mengaktifkannya. Ketika host utama kembali, pertahankan satu pemilik aktif; jangan membiarkan kedua prosedur startup mengaktifkan trading kembali.
Mengganti VPS tidak dapat memperbaiki server broker yang tidak tersedia atau menjamin akses selama gangguan yang lebih luas. Jika status trading host utama masih tidak diketahui, jangan menganggap failover yang belum diverifikasi aman. Ikuti rencana penanganan insiden akun sambil memastikan status tersebut.
Gunakan kontrol yang benar untuk hosting virtual MetaTrader
Hosting MetaTrader terintegrasi bukan desktop VPS Windows. Gunakan status jarak jauh dan jurnal terminal/Experts yang diminta untuk penyelidikan. Stop Server menghentikan terminal virtual; konfirmasikan status berhenti yang dilaporkan sebelum mengaktifkan pengganti di tempat lain. Tombol lokal AutoTrading tidak menghentikan EA terhosting.
Migrasi bergerak dari lingkungan lokal ke terminal virtual, bukan kembali sebagai ekspor pemulihan. Trading otomatis terhosting diizinkan meskipun izin trading lokal dinonaktifkan. Karena itu, jangan memigrasikan salinan pemulihan live yang telah disiapkan tetapi nonaktif dengan harapan tetap nonaktif dari jarak jauh. Validasi lingkungan dan konteks akun yang dimaksud sebelum sinkronisasi; pemanggilan DLL tidak didukung di sana.
Latih prosedur dan catat penerimaan
Gunakan penyiapan demo terpisah yang diotorisasi untuk melatih penutupan terminal, restart OS, dependensi hilang, pemulihan dari paket tersimpan, dan pengalihan terkendali dari utama ke siaga. Pisahkan akun demo dan live, lisensi, serta file status. Catat apa yang benar-benar diuji, keterbatasan, dan hasilnya; latihan desktop tidak membuktikan eksekusi live masa depan.
Setelah insiden, dokumentasikan penyebab, tindakan pemulihan, perbedaan yang direkonsiliasikan, dan perbaikan untuk latihan berikutnya. Gunakan Panduan 2 untuk memperbaiki kelemahan sumber daya atau startup tanpa mengubah aturan risiko strategi demi menyembunyikan masalah teknis.
Pertanyaan umum pencadangan dan pemulihan
Apakah memulihkan snapshot VPS memulihkan akun trading saya?
Tidak. Tindakan itu memulihkan lingkungan lokal snapshot sesuai cakupan yang didokumentasikan penyedia. Transaksi broker tetap dipastikan dari catatan broker terkini. Status EA lokal lama harus direkonsiliasikan dengan catatan tersebut.
Apakah file .set cukup untuk mencadangkan EA?
Tidak. File tersebut menyimpan input eksternal yang didukung. Simpan juga versi program terkait, indikator/file wajib, informasi lisensi, dan prosedur pemulihan status yang didokumentasikan EA.
Bolehkah saya memulai VPS cadangan ketika Remote Desktop gagal?
Anda dapat menyelidiki dan menyiapkannya dengan otomatisasi yang tidak dapat bertransaksi. Jangan aktifkan pengganti sebelum kemampuan trading host utama dan kepemilikan order yang sudah ada dipastikan. Hilangnya akses jarak jauh tidak membuktikan host utama berhenti.
Haruskah saya mengirim ulang permintaan transaksi setelah timeout?
Jangan sebelum memeriksa hasil server. Rekonsiliasikan order terbuka dan pending order, riwayat serta log terkait, dan libatkan broker jika hasil masih tidak jelas. Pengulangan tanpa pemeriksaan dapat menggandakan permintaan yang sudah diterima.
Referensi resmi dan cakupan praktis
Perilaku platform telah diperiksa terhadap dokumentasi resmi MetaQuotes. Alur insiden, kebijakan pencadangan, kontrol siaga, dan pemeriksaan penerimaan merupakan rekomendasi praktis, bukan alat pemulihan MT4 universal yang teruji. Nama antarmuka dapat berbeda menurut bahasa atau edisi terminal; konfirmasikan label aktual dan instruksi vendor EA.
- MetaTrader 4: folder data, template dan profil, dan input dan izin EA.
- MetaTrader 4: order yang disimpan broker dan Trailing Stop terminal.
- Referensi MQL4: kode hasil transaksi dan variabel global terminal.
- MetaTrader 4: kontrol hosting jarak jauh dan aturan migrasi.