Understanding Data Migration Proccess

Halo, Kreatif Readers! Artikel ini akan membahas mengenai serba-serbi Data Migration, mulai dari pengertian, tahapan, serta hal-hal apa saja yang harus diperhatikan dalam melakukan migrasi data.

Dalam pengembangan sebuah aplikasi, migrasi data memungkinkan terjadi karena beberapa hal, salah satunya adalah adanya upgrade teknologi sehingga diperlukan pemindahaan data dari versi lama ke versi baru.

Migrasi data sendiri dapat diartikan sebuah proses pemindahan data dari suatu sistem, platform, atau environment ke lokasi baru untuk meng-upgrade software atau hardware, atau sebagai bagian dari perubahan arsitektur aplikasi.

Salah satu contoh migrasi data adalah pemindahan data file excel ke database, agar data yang dihimpun dapat diakses melalui sebuah sistem (dapat berupa website atau aplikasi) dengan alur dan proses bisnis yang lebih terstruktur dan efisien.

Tahapan Migrasi Data

screenshot_12

Untuk melakukan migrasi data, terdapat beberapa tahapan, meliputi:

1. Data Assessment

Tahap ini melibatkan analisis data yang akan dimigrasikan, termasuk menentukan struktur, kualitas, dan volume data.

phase-1

2. Data Cleansing

Pada tahap ini, data dibersihkan dari duplikat, kesalahan, atau data yang tidak relevan. Proses pembersihan ini penting untuk memastikan bahwa data yang dipindahkan adalah data yang akurat dan konsisten.

phase-2

3. Test Extract and Load

Tahap ini dilakukan untuk menguji sample data yang akan dimigrasi untuk memastikan apakah migration plan yang dibuat dapat berjalan lancar, efektif, dan efisien.

phase-3

4. Final Extract and Load

Final extract dan load data dilakukan setelah hasil pengujian sukses. Seluruh data akan dipindahkan ke lokasi baru.

phase-4

5.  Migration Validation

Setelah data dipindahkan ke lokasi baru, tahap ini melibatkan verifikasi dan validasi data untuk memastikan bahwa data telah dipindahkan dengan benar dan tidak ada kehilangan atau kerusakan data.

Proses validasi dapat berupa penghitungan jumlah record, pengecekan tabel dan kolom pada data target, serta pengecekan setiap record untuk memastikan tidak ada format yang berubah ataupun duplikasi data.

phase-5

6. Post Migration Activity

Di akhir proses migrasi, dilakukan pendokumentasian dan pelaporan hasil migrasi. Dokumen ini dapat berisi detail perencanaan migrasi, infrastruktur yang digunakan, metode handling data, validasi data, serta report mengenai akurasi, durasi waktu yang dibutuhkan dan hasil dari migrasi yang telah dilakukan, apakah lebih baik atau sebaliknya.

phase-6

Data Migration Risk

Dalam proses migrasi data, tentunya terapat beberapa risiko yang harus diidentifikasi, diantisipasi, dan dilakukan penanganan dengan efektif, diantaranya:

1. Kualitas Data

Data yang tidak akurat, tidak lengkap, dan tidak konsisten dapat menyebabkan mis-informasi ketika diakses di lokasi baru (target migrasi). Sehingga perlu dipastikan data yang akan dimigrasi telah bersih dan konsisten.

2. Kompleksitas Extract and Load Data

Proses extract and load data yang kompleks dapat meningkatkan risiko kesalahan ataupun kegagalan migrasi, terutama jika data memiliki format atau struktur khusus yang rumit. Hal ini dapat dicegah dengan melakukan pengjian extract and load menggunakan data sampling.

3. Performa Sistem

Ketika data yang dimigrasi memiliki volume yang besar, maka hal ini dapat mempengaruhi beban kinerja target sistem. Perlu dilakukan perencanaan yang tepat terkait pemilihan waktu migrasi, penyesuaian infrastruktur, serta monitoring kinerja sistem setelah migrasi.

4. Koordinasi Proyek

Dalam proses migrasi diperlukan koordinasi yang baik untuk mencegah keterlambatan dan kesalahan. Perlu dipastikan proses migrasi telah direncanakan dengan baik, berkaitan dengan timeline, jumlah personil, hingga dari segi biaya.

Kesimpulan

Migrasi Data merupakan proses yang cukup memakan waktu dalam pengembangan sebuah sistem. Perlu adanya pemahaman, ketelitian, dan pengambilan keputusan yang tepat agar proses migrasi data dapat berjalan dengan baik. Faktor keamanan, kelengkapan, serta kebenaran sebuah data juga menjadi hal penting yang perlu diperhatikan.

Reference:
[1] Data-Migration.pdf (researchgate.net)
[2] jis_2021011814491338.pdf (scirp.org)

Pengujian Aplikasi Menggunakan Metode Load Testing

Haloo kreatif reader.. kali ini aku mau bahas pengujian aplikasi menggunakan metode load testing

Pengujian adalah suatu proses pelaksanaan suatu program dengan tujuan menemukan suatu kesalahan. Suatu kasus test yang baik adalah apabila test tersebut mempunyai kemungkinan menemukan sebuah kesalahan yang tidak terungkap. Suatu test yang sukses adalah apabila test tersebut menemukan suatu kesalahan yang awalnya tidak ditemukan. Tujuan utama dari pengujian adalah untuk mendesain test yang secara sistematik menemukan jenis kesalahan dengan usaha dan waktu yang minumum.

Load testing adalah teknik performance testing yang mana respon sistem diukur dalam berbagai load condition. Pengujian menggunakan metode black box testing sebagai test case sampling. Balck box testing adalah pengujian fungsional software tanpa mengetahui struktur internal program.

whatsapp-image-2024-03-25-at-08-37-35

 

Load testing diperlukan untuk membuat simulasi akses aplikasi web / service secara simultan. Cara ini lebih baik di bandingkan dengan harus mengundang sekian belas atau puluh orang sekaligus untuk mengakses sebuah website.

Langkah – langkah pengujian softwre ada 4 yaitu:

1. Unit testing – testing per unit yaitu mencoba alur spesifik pada struktur modul kontrol untuk memastikan pelengkapan secara penuhu dan pendeteksian erroe secara maksimum.

2. Integration testing – testing per penggabungan unit yaitu pengalaman dari isu – isu yang diasosiasikan dengan masalah pada ganda pada verifikasi dan kontruksi progam

3. High-order-test yaitu terjadi ketika software telah selesai diintegrasikan atau dibangun menjadi satu  tidak terpisah – pisah

4. Validation test yaitu menyediakan jaminan akhir bahwa software memenuhi semua kebutuhan fungsional kepribadian dan perfoma.

Langkah – langkah pengujian dengan Load Testing

1. Perencanaan Load Testing

Tahap perencanaan adalah tahapan penting dalam melakukan load testing. Pada tahap ini, perlu menentukan tujuan pengujian dan skenario beban serta perlu menyiapkan infrastruktur dan alat yang dibutuhkan untuk melakukan testing.

2. Persiapan Load Test

Setelah tahap perencanaan, tahap selanjutnya adalah persiapan untuk load test. Pada tahap ini, perlu menyiapkan data dan skrip uji beban serta mengatur pengaturan seoerti cache browser dan cookie.

3. Pelaksanaan Load Test

Pada tahap pelaksanaan, dapat menjalankan skrip uji beban dan mengumpulkan data kinerja aplikasi. Perlu memonitor dan menganalisis hasil uji beban serta mencatatat semua masalah yang ditemukan selama pengujian.

4. Analisis dan Optimasi

Setelah uji beban selesai, perlu menganalisis data yang dihasilkan. Analisis ini akan memberikan pemahaman yang lebih baik tentang performa aplikasi dan bagaimana masalah dapat diperbaiki.

Referensi: Desi Intan Permatasasi, (2020). Jurnal Sistem dan Teknologi Informasi

Laravel Telescope Alat Debugging dan Monitoring yang Efisien

Halo Kreatif Readers, tahu kah kamu dalam pengembangan aplikasi web, pemantauan dan debugging merupakan bagian penting untuk memastikan kinerja aplikasi yang optimal. Laravel Telescope adalah alat yang dirancang khusus untuk membantu pengembang Laravel dalam proses ini. Dengan antarmuka pengguna yang cukup elegan dan fitur-fitur yang menarik, Laravel Telescope menjadi pilihan yang sangat berguna untuk mengamati dan menganalisis apa yang terjadi di dalam aplikasi Laravel. Pada kesempatan kali ini kita akan mengenal Laravel Telescope berdasarkan referensi jurnal yang diterbitkan oleh Technomedia, studi report yang dilakukan Universitas Concordia di Kanada, dan buku yang berjudul Building Real-Time Marvels with Laravel.

Apa itu Laravel Telescope?

Laravel Telescope adalah alat debugging dan monitoring yang kuat yang dikembangkan oleh Laravel. Ini menyediakan panel kontrol yang memungkinkan pengembang untuk melihat aktivitas aplikasi secara real-time. Dengan Telescope, pengguna dapat melihat log pesan, query database, jobs, notifikasi, dan banyak lagi, semuanya bersumber dari antarmuka yang sama.

laravel-telescope

Fitur Utama Laravel Telescope

  1. Panel Antarmuka Pengguna yang User FriendlyLaravel Telescope menyediakan antarmuka pengguna yang bersih dan mudah digunakan. Pengguna dapat dengan cepat menjelajahi informasi yang dibutuhkan tanpa harus menyibukkan diri dengan menulis perintah atau mengonfigurasi pengaturan
  2. Log Pesan : Pengembang dapat dengan mudah melihat log pesan yang dihasilkan oleh aplikasi. Ini sangat membantu dalam melacak masalah atau kesalahan yang mungkin terjadi di dalam kode.
  3. Query DatabaseLaravel Telescope memungkinkan pengguna untuk melihat query database yang dilakukan oleh aplikasi secara langsung. Hal ini memungkinkan pengembang untuk mengoptimalkan kueri dan memperbaiki masalah performa.
  4. Pekerjaan (Jobs) : Laravel Telescope juga memantau pekerjaan dan antrian (Queque) yang diproses oleh Laravel. Pengguna dapat melihat status pekerjaan, waktu eksekusi, dan detail lainnya untuk memahami bagaimana pekerjaan diatur dan beroperasi di dalam aplikasi.
  5. Notifikasi : Alat ini membantu dalam melacak notifikasi yang dikirim oleh aplikasi. Dengan Laravel Telescope, pengembang dapat memastikan bahwa notifikasi terkirim dengan benar dan menangani kasus-kasus di mana notifikasi tidak bekerja seperti yang diharapkan.
  6. Lihat Informasi tentang Permintaan (Request Information) : Pengguna dapat dengan mudah melihat informasi tentang permintaan HTTP yang masuk ke aplikasi, termasuk informasi tentang header, parameter, dan banyak lagi.
  7. Catatan Stack TraceLaravel Telescope menyediakan stack trace yang rinci untuk membantu dalam debugging masalah yang kompleks.

Kesimpulan

Berdasarkan referensi yang telah dibaca, Laravel Telescope telah terbukti menjadi alat yang sangat berguna bagi pengembang Laravel, sebagai alat pengecek kueri yang berjalan serta berfungsi untuk merekam dan melihat segala proses yang berjalan di dalam aplikasi yang berbasis. Dengan fitur-fitur yang kuat dan antarmuka yang intuitif, Laravel Telescope membuat proses debugging dan monitoring menjadi lebih mudah dan lebih efisien.

Referensi:

  1. Selvaraj, S. (2024). Performance Monitoring and Debugging. In: Building Real-Time Marvels with Laravel. Apress, Berkeley, CA. https://doi.org/10.1007/978-1-4842-9789-6_12
  2. Nur  Ramadhan,  I.,  &  Saraswati,  G.  (2023).  Implementation  of  the  Redis  Database  as Optimization of User Data Query Processing for the Laravel-Based SIRESMA Application: Penerapan Database Redis Sebagai Optimalisasi Pemrosesan Kueri Data Pengguna Aplikasi SIRESMA Berbasis Laravel.Technomedia Journal,8(3 Februari), 394–407. https://doi.org/10.33050/tmj.v8i3.2152
  3. SOEN7481 Fall 2018: Replicating the paper “How not to structure your database-backend web application : a study of performance bugs in the wild” by Junwen Yang et al.
  4. Repository GitHub Laravel Telescope: https://github.com/laravel/telescope

 

Pengembangan Aplikasi Menggunakan Web Service & Framework Laravel

Hallo kreatif readers..
Di era pengembangan aplikasi sekarang, web services menjadi sangat populer karena kemampuannya dalam mengintegrasikan aplikasi-aplikasi yang berbeda platform menggunakan internet. Sehingga harus dipastikan informasi yang dialirkan dalam keadaan aman.

Nah, kali ini akan dibahas mengenai pengembangan aplikasi menggunakan web service & framework laravel..
Kenapa sih menggunakan web service? 
Karena web services memiliki web protokol (HTTP) yang mampu mengintegrasikan aplikasi yang berbeda platform dengan lebih sederhana. Web services juga memiliki interface berupa web API (Application Programming Interface) untuk mengakses aplikasi yang mengimplementasikan layanan web services.
Kenapa menggunakan framework laravel?
Laravel merupakan developments tool framework yang cocok karena Laravel memiliki waktu eksekusi yang sedikit sehingga website memiliki proses loading yang cepat.

Berikut ini adalah beberapa jenis web service yang umum digunakan, terutama yang dapat mendukung integrasi dan komunikasi antar aplikasi.
web-service

  1. SOAP (Simple Object Access Protocol)
    SOAP adalah protokol komunikasi yang menggunakan XML untuk pertukaran informasi antara sistem yang berbeda. Biasanya digunakan dalam lingkungan perusahaan dan aplikasi yang membutuhkan keamanan dan keandalan tinggi. SOAP juga mendukung metode panggilan jarak jauh (remote procedure call) dengan menggunakan WSDL (Web Services Description Language) untuk mendefinisikan struktur pesan.
    Contohnya:
    a. Aplikasi Enterprise Resource Planning (ERP)
    b. Sistem Manajemen Pelanggan (CRM)
  2. REST (Representational State Transfer)
    REST merupakan gaya arsitektur untuk sistem terdistribusi yang menggunakan HTTP seperti (GET, POST, PUT, DELETE) untuk mengakses, memanipulasi data, serta komunikasi antara klien dan server. REST biasanya digunakan dalam aplikasi web modern dan layanan yang dapat diskalakan karena lebih ringan dan sederhana dibandingkan SOAP.
    Contohnya:
    a. Aplikasi E-Commerce (melacak pesanan, transaksi, dll)
    b. Aplikasi M-Banking (transfer, cek saldo, dll)
    c. Aplikasi Pemesanan Tiket (Booking.com atau Expedia)
  3. JSON-RPC
    JSON-RPC adalah format pertukaran data/informasi yang ringan, mudah dibaca dan ditulis, serta mudah diterjemahkan dan dibuat (generate). JSON (JavaScript Object Notation) menggunakan format yang merupakan bagian dari Bahasa Pemrograman JavaScript untuk pertukaran informasi antara klien dan server. JSON-RPC serupa dengan SOAP, tetapi lebih mudah diimplementasikan dan lebih efisien dalam penggunaan sumber daya karena menggunakan format JSON yang lebih ringan.
    Contohnya:
    a. Aplikasi Keuangan (platform perdagangan mata uang kripto)
    b. Aplikasi Permainan (untuk menangani aksi pemain secara dinamis)
  4. WebSocket
    WebSocket merupakan protokol komunikasi dua arah yang memungkinkan komunikasi real-time antara klien dan server. Biasanya digunakan untuk aplikasi yang memerlukan komunikasi real-time seperti permainan online, obrolan, atau pembaruan data real-time.
    Contohnya:
    a. Aplikasi Sosial Media (Twitter, Facebook)
    b. Aplikasi Chat Real-Time (Slack, Discord)

Kesimpulan
Web service dapat mempermudah dalam proses integrasi data/informasi yang dapat dilakukan secara terpusat. Selain itu, penggunaan framework Laravel juga bermanfaat karena membuat sistem memiliki peforma yang cepat dalam memproses data serta ringan untuk dijalankan.

Referensi:
[1] Manes, Anne T. (2003). Web Services: A Manager Guide. Pearson Education, Inc: Boston USA.
[2] Ramos Somya, Tan Michelle Esmeralda Nathanael. (2019). Pengembangan Sistem Informasi Pelatihan Berbasis Web Menggunakan Teknologi Web Service dan Framework Laravel. Jurnal TECHNO Nusa Mandiri Vol. 16.
[3] Das, R., dan Saikia, L. P. (2016). NComparison of Procedural PHP with Codeigniter and Laravel Frameworko Title. International Journal of Current Trends in Engineering & Research (IJCTER), 2(6), 42–48.