Kilas Balik Framework CakePHP

Hallo Kreatif Readers, dalam artikel kali ini, saya akan mengulas kilas balik menarik tentang sebuah framework yang telah mengukir sejarah dalam dunia pengembangan aplikasi web. Mari kita menjelajahi jejak perjalanan CakePHP, sebuah framework yang telah eksis sejak lama, dan mengungkapkan keunggulannya yang terus memikat para pengembang.

PHP, sebagai bahasa pemrograman, memberikan kemampuan kepada pengembang untuk menciptakan aplikasi web yang kuat dan mampu mengelola database berskala besar. Seringkali, para programmer dihadapkan pada tuntutan untuk mengembangkan dasar aplikasi yang lebih besar dengan melibatkan banyak anggota tim. Dalam konteks pengembangan aplikasi web berskala besar, peran anggota tim dan kompleksitas proyek mendorong munculnya konsep kerangka kerja (framework). Kerangka kerja ini memudahkan kolaborasi tim dengan menyediakan pandangan yang seragam dan menyederhanakan pembagian tugas.

Mengenal Framework CakePHP

CakePHP adalah sebuah kerangka kerja open source yang mempermudah pengembangan aplikasi web dengan fokus pada operasi CRUD (Create, Read, Update, Delete). Dengan pilihan karakter pengembangan RAD (Rapid Application Development), Framework ini terdiri dari berbagai file pustaka, kelas-kelas, dan infrastruktur run-time yang dapat digunakan dan diintegrasikan dalam proyek aplikasi yang sedang dikembangkan.

 Penggunaan PHP secara konvensional, dengan file-file PHP yang mencampurkan kode dan tag HTML, mungkin memadai untuk aplikasi sederhana, namun menjadi kurang efektif ketika aplikasi membutuhkan banyak fitur dan pengembangan di masa depan.Framework CakePHP menjadi pilihan untuk mengatasi berbagai permasalahan yang muncul dalam pengembangan aplikasi web, karena beberapa kelebihannya, antara lain :

Kelebihan Framework CakePHP

  1. Open Source: CakePHP tersedia secara gratis dan dapat dikembangkan tanpa biaya.
  2. Riset Terorganisir: Pengembangan yang terorganisir dari CakePHP menghasilkan framework yang berkualitas, karena Proses pengembangan  (update version) yang terus-menerus memastikan keberlanjutan dan peningkatan.
  3. Dokumentasi Lengkap: CakePHP menyediakan dokumentasi lengkap, membantu para pengembang memahami dan menggunakan framework ini secara efisien.
  4. Kompatibilitas dengan PHP 4 dan PHP 5: CakePHP dapat dijalankan dengan mulus baik pada server yang menggunakan PHP 4 maupun PHP 5.
  5. Konsep CRUD Terintegrasi: CakePHP menerapkan konsep CRUD terintegrasi, menyederhanakan interaksi dengan database dan menyediakan query yang efisien.
  6. Arsitektur OOP dan MVC: Arsitektur berorientasi objek (OOP) dan pola desain Model, View, Controller (MVC) memudahkan penambahan, pengurangan, dan modifikasi kelas dan fungsi yang digunakan.
  7. Fitur Scaffolding: Fitur Scaffolding memungkinkan pengembang untuk menghasilkan prototipe aplikasi sebelum menyusun source code-nya secara lengkap, memberikan kemudahan dalam pengembangan cepat.
  8. Manajemen Akses Pengguna (ACL): CakePHP memfasilitasi pengaturan user dan hak aksesnya melalui fitur Access Control List (ACL), memberikan kemudahan dalam manajemen akses dalam aplikasi.
  9. Validasi dan Sanitasi Data: Kelas-kelas dasar dalam CakePHP mendukung validasi dan sanitasi data, memastikan keamanan dan integritas data aplikasi.
  10. Komponen Terintegrasi: CakePHP menyediakan komponen-komponen terintegrasi seperti Security, Session, dan Request Handling, yang memudahkan penanganan masalah terkait keamanan dan sesi.
  11. Metode Templating yang Simpel: CakePHP mendukung metode templating yang sederhana, membantu programmer dalam menciptakan tampilan aplikasi yang indah dan mudah dimodifikasi.
  12. Cocok untuk Berbagai Struktur Direktori: Konfigurasi yang fleksibel memungkinkan CakePHP cocok dengan berbagai struktur direktori, memberikan pilihan bagi pengembang sesuai dengan kebutuhan proyek.

Struktur Kerja Framework CakePHP

struktur-kerja-cakephp

Dari gambar yang telah dijelaskan di atas, kita dapat memahami cara kerja CakePHP secara menyeluruh. Awalnya, user melakukan permintaan (request), yang kemudian ditangani oleh controller. Controller ini memiliki berbagai method (fungsi) yang akan memproses permintaan tersebut. Selanjutnya, controller akan berinteraksi dengan model untuk mengambil data dari database. Model ini memberikan data yang diperlukan kepada controller.

Setelah mendapatkan data, controller akan memprosesnya dan mengirimkannya ke tampilan (view) yang sesuai. Tampilan ini kemudian akan ditampilkan kepada pengguna melalui browsernya. Dengan demikian, siklus kerja CakePHP melibatkan penggunaan controller untuk mengelola permintaan, berinteraksi dengan model untuk mengakses dan memproses data, dan menampilkan hasilnya melalui tampilan kepada pengguna. Proses ini menciptakan pengalaman pengguna yang akhirnya terlihat pada browser.

Referensi : 1. CakePHP Framework! Strategi Cepat Pengembangan Aplikasi Web, Sunu Wibirama 2. Teknik Cepat Membangun Aplikasi Web Dengan Framework CakePHP, Agus Saputra, Andi Offset, 2012.

PHP Framework Slim

Hallo Kreatif Reader, aku mau sharing nih mengenai framewok PHP Slim. Selamat membaca….

Apa itu Slim Framework?

Slim framework adalah salah satu micro framework PHP untuk membuat aplikasi web. Slim biasanya digunakan untuk membuat aplikasi – aplikasi kecil dan lebih banyak banyak dipakai untuk membuat RESTful API atau webservice. 

Integrasi data antara aplikasi mobile Facebook dan versi webnya dapat terjadi melalui penggunaan RESTful API atau Webservice. Fungsinya adalah menyediakan data dalam format umum seperti JSON, yang dapat diambil dan dikonsumsi oleh aplikasi klien, baik itu aplikasi mobile atau aplikasi web. Dengan menggunakan RESTful API atau Webservice, Facebook dapat memastikan konsistensi data, sehingga apa yang terlihat melalui aplikasi mobile akan sama dengan yang terlihat melalui versi webnya. Ini memungkinkan pengguna untuk mengakses dan berinteraksi dengan data mereka secara seragam, tidak peduli dari platform apa data tersebut diakses

white-red-and-orange-modern-elegant-project-proposal-cover-6

Disebut sebagai micro framework, Slim memiliki fokus yang terpusat pada kebutuhan dasar suatu aplikasi web, seperti menerima HTTP request, mengarahkan request tersebut ke kode yang sesuai, dan menghasilkan HTTP response. Sifatnya yang ‘micro‘ menandakan bahwa framework ini dirancang untuk proyek-proyek skala kecil dengan tujuan khusus dan tingkat kompleksitas yang rendah. Dengan demikian, Slim menjadi solusi yang ringan dan efisien untuk membangun aplikasi web sederhana dan spesifik.

Fitur – fitur pada Slim Framework  adalah sebagai berikut:

1. HTTP Router

Slim menyediakan sistem router yang sederhana dan fleksibel, memungkinkan pengguna untuk mendefinisikan router dengan mudah.

2. Middleware

Memproses permintaan HTTP sebelum atau setetalh aktivitas dijalankan. Dapat dicontohkan pada proses otentikasi

3. Dependency Injection

Slim mendukung Dependency Injection yang memungkinkan pengguna untuk mengelola dependensi dengan mudah.

4. PSR Standars

Mengikutistandar PHP-FIG PSR, memungkinkan interoperabilitas dengan framework dan pustaka lainnya yang mengikuti standar yang sama.

Framework Slim  memiliki beberapa kelebihan yang menjadi solusi untuk membangun aplikasi web. Berikut adalah kelebihan dari Framework Slim

1. Ringan dan sederhana

Slim dirancang ringan dan sederhana sehingga mudah untuk dipelajari dan cepat untuk dikembangkan.

2. Performa Tinggi

Karena ringan, slim dapat memberikan kinerja yang baik, terutama untuk aplikasi kecil hingga menengah.

3. Dokumentasi yang baik

Slim memiliki dokumentasi yang baik dan jelas, membantu pengembang untuk memahami dan menggunakan framework dengan efisien.

4. Sesuai untuk RESTful APIs

Slim merupakan pilihan yang baik untuk membangun RESTfulAPIs karena desain ringan dan dukungan yang baik untuk routing dan middleware.

Kelebihan-kelebihan tersebut membuat Slim Framework menjadi solusi yang tepat untuk membangun aplikasi web, terutama ketika Anda fokus pada pengembangan aplikasi kecil hingga menengah. Dengan desain yang ringan dan dukungan yang baik untuk routing dan middleware, Slim juga menjadi pilihan unggul untuk membangun RESTful APIs. Dokumentasi yang baik semakin mempermudah pengembang dalam memahami dan menggunakan framework ini secara efisien, sehingga mempercepat proses pengembangan aplikasi web Anda. Dengan kata lain, Slim Framework memberikan keseimbangan yang baik antara sederhana, performa tinggi, dan fleksibilitas untuk memenuhi kebutuhan proyek-proyek pengembangan web

Hamdani, Ahmad Faqih,'Analisa Performa Web Service menggunakan Slim Framework'Undergraduate thenis, Politeknik Negeri Jember,2020

PHP Framework Codeigniter

blog-ars

Halo kreatif readers.. kali ini saya akan membahas tentang salah satu framework PHP yaitu Codeigniter.

Codeigniter (CI) adalah framework PHP yang digunakan untuk membangun aplikasi berbasis web yang dinamis.  Codeigniter merupakan platform open-source yang cukup populer dikalangan tim pengembang yang menggunakan bahasa pemrograman PHP. Keunggulan dari Codeigniter ini yaitu ringan dan menerapkan konsep MVC (Model, View, Controller) sehingga membuat pekerjaan lebih efektif dan cepat.

MVC (Model, View, Controller) adalah konsep atau paradigma pemrograman yang memisahkan komponen utama menjadi 3 bagian berikut:
1. Model
Model adalah bagian penanganan yang berhubungan atau manipulasi data dengan database, seperti pengambilan data dari database dan instruksi untuk proses CRUD.
2. View
View merupakan bagian penanganan interface atau antarmuka web yang muncul kepada user.
3. Controller
Controller yaitu bagian instruksi aksi yang merupakan jembatan yang menghubungkan model dan view.

Berikut ini merupakan gambaran alur kerja MVC:

mvc

Dari gambar diatas dapat dilihat alur kerja MCV, dari bagian view yang bertugas meminta informasi ke controller untuk ditampilkan ke device pengguna, permintaan itu diteruskan oleh controller ke bagian model agar dieksekusi. Lalu model mengolah dan mencari informasi ke database, setelah selesai hasil diberikan ke controller kemudian diproses untuk ditampilkan ke view.

Beberapa manfaat dari penggunaan Codeigniter adalah:
1. Lebih cepat dan efisien, hal ini karena beberapa modul yang dibutuhkan untuk melakukan pengembangan sudah disediakan oleh Codeigniter, sehingga dapat menghemat waktu dan dapat bekerja dengan efisien.
2. Mendukung kolaborasi, karena pengerjaan proyek dapat dengan mudah dikembangkan bersama tim dengan adanya standar penulisan kode yang sama.
3. Salah satu keunggulan Codeigniter dibandingkan kerangka kerjanya lainnya adalah ukurannya yang kecil (kurang dari 5 MB), sehingga lebih hemat ruang di server.
4. Keamanan lebih baik karena sudah tersedia beberapa fitur untuk meningkatkan keamanan pada framework-nya.
5. Kerangka dan penulisan kode akan lebih terskturkur karena sudah menerapkan model MVC.

Saat ini Codeigniter telah tersedia dengan versi terbaru yaitu Codeigniter 4 yang dirilis pada tahun 2020. Perbedaan utama dari CI 4 dibandingkan dengan versi sebelumnya terletak pada struktur direktori, sistem penulisan kode, konfigurasi, dan adanya fitur-fitur baru.

Beberapa keunggulan baru  yang diberikan dari CI4 ini yaitu sebagai berikut:
1. Dapat melakukan instalasi langsung menggunakan Composer
2. Memiliki Local Development Server
3. Menggunakan PHP versi 7.2 ke atas
4. Struktur direktori berbeda, dimana semua file diletakkan dalam folder app
5. Menggunakan NameSpace
6. Memiliki AutoLoading yang efektif
7. Memiliki File.env
8. Memiliki CLI (Command Line Interface)
9. Adanya fitur REST
10. Dokumentasi lebih praktis

Dari keunggulan yang diberikan Codeigniter 4 diatas, penggunaan Codeigniter 4 memungkinkan pengembang untuk membangun aplikasi web yang lebih modern dan responsif. Namun untuk pemilihan penggunaan framework ini tetap perlu memperhatikan kembali dari segi struktur dan kebutuhan aplikasi web yang akan dibangun/dikembangkan.

PHP Framework Laravel

laravel

Hallo kreatif reader, aku mau sedikit sharing nih dari buku yang udah aku baca..

Apa itu PHP framework?
PHP framework dapat membantu mempromosikan metode Rapid Application Development (RAD) atau bersifat incremental terutama untuk waktu pengerjaan yang pendek, menghemat waktu, membantu membuat aplikasi lebih stabil dan mengurangi jumlah pengkodean berulang bagi pengembang aplikasi.

Apa sih Laravel itu?
Laravel adalah PHP framework yang mengikuti pola arsitektur Model-View-Controller (MVC). Sejak diluncurkan tahun 2011, laravel banyak digunakan oleh programmer karena mudah dipahami dan dokumentasinya yang lengkap. Framework ini menyediakan beberapa jenis library dan fungsi lain yang bisa memudahkan dalam penulisan baris kode dengan tujuan memperindah website.

12-fitur-laravel-framework-php-untuk-membangun-website-2Fitur-fitur yang ada pada framework laravel adalah sebagai berikut:
1. Blade Template Engine
Laravel menggunakan blade template engine yang memungkinkan programer untuk mendesain layout yang unik, konsisten dan terstruktur selama proses pengembangan. Kelebihannya dapat menggunakan kode PHP biasa di dalam tampilan, kemudian desain tampilan akan tetap di cache sampai adanya modifikasi.
2. Routing
Laravel memiliki sistem routing yang memungkinkan programer mendefinisikan rute URL dengan mudah, menentukan rute untuk mengarahkan permintaan HTTP ke tindakan (controller) yang sesuai. Routing membantu untuk memperluas dan meningkatkan performa aplikasi web.
3. Eloquent ORM
Eloquent adalah sistem ORM (Object-Relational Mapping) yang terintegrasi dengan Laravel. Ini memungkinkan pengembang berinteraksi dengan database menggunakan model PHP, mengurangi kompleksitas dalam bekerja dengan database.
4. Middleware
Middleware dalam laravel memungkinkan pengembang untuk memodifikasi permintaan HTTP sebelum atau setelah mencapai tujuan akhir, memberikan fleksibilitas dalam memanipulasi permintaan.
5. Authentication and Authorization
Laravel menyediakan sistem autentikasi yang terintegrasi dengan kemudahan konfigurasi dan ekstensibilitas, serta fitur otorisasi yang memungkinkan pengembang mengontrol akses ke bagian-bagian tertentu dari aplikasi.
6. Artisan Command-Line Tool
Laravel dilengkapi dengan Artisan, sebuah perintah baris yang memudahkan pengembang dalam menjalankan tugas-tugas rutin seperti migrasi database, pembuatan controller, dan pengelolaan modul.
7. Migrations
Migrations dalam Laravel memungkinkan programmer mengelola struktur basis data menggunakan kode ataupun membuat dan mengubah tabel serta kolom menggunakan file migrasi. Hal ini memungkinkan tim bekerjasama dengan mudah dan menjaga konsistensi skema basis data dalam pengembangan aplikasi.
8. Testing Support
Laravel mendukung pengujian aplikasi menggunakan framework pengujian PHPUnit. Programmer dapat membuat dan menjalankan pengujian dengan mudah menggunakan alat bawaan Laravel.

Contoh laravel untuk e-commerce
working-of-mvc-1024x686-removebg-preview
Pengembang aplikasi dapat mengunakan konsep Model-View-Controller (MVC) untuk mengorganisir logika aplikasi yang diuraikan seperti berikut:
1. Model, dalam framework laravel akan mewakili entitas. Contohnya: produk dan keranjang belanja, kemudian berinteraksi dengan database untuk menyimpan dan mengambil data.
2. Controller, dalam framework laravel akan mengatur aliran informasi antara model dan view, kemudian mengambil data dari model lalu memperbarui tampilan yang relevan ke view.
3. View, dalam framework laravel akan menangani tampilan. Contohnya: halaman daftar produk, halaman detail produk dan halaman keranjang belanja.

Kesimpulan
Dengan kombinasi fitur-fitur yang sudah dijelaskan dan konsep Model-View-Controller (MVC) yang jelas, Laravel menjadi pilihan untuk pengembangan aplikasi web modern. Penggunaan laravel dapat meningkatkan efisiensi, kualitas, keamanan pengembangan aplikasi web, dan juga dokumentasi yang lengkap. Terimakasih..

PHP: Web Programming Language for Beginner

cover

Halo, Kreatif Readers! Pada artikel ini, akan membahas mengenai bahasa pemrograman PHP beserta cara kerjanya.

PHP (Hypertext Prepocessor) merupakan salah satu bahasa pemrograman yang sering digunakan dalam pembangunan sebuah website. Beberapa situs besar yang masih menggunakan PHP antara lain Facebook, Wikipedia, dan WordPress. Seiring berjalannya waktu, PHP telah merilis berbagai versi, dengan versi terbaru saat ini adalah PHP 8.3

PHP bekerja pada sisi server, atau biasa disebut dengan server-side rendering. Hal ini memungkinkan PHP dapat mengelola konten website dengan dinamis, didukung dengan penggunaan database. Di bawah ini merupakan ilustrasi pemrosesan data menggunakan PHP.

php

Pada proses ini, PHP berperan dalam mengambil dan mengelola data pada server, seperti yang digambarkan pada step nomor 2 di bawah ini.

server-side-rendering-php

Selain itu, bahasa pemrograman ini juga bersifat scripting language, yaitu kumpulan bahasa pemrograman yang telah ditafsirkan. Sehingga, untuk menjalankan sebuah kode PHP tidak diperlukan compiler khusus. Hal ini cukup membantu para pemula dalam mempelajari bahasa pemrograman tanpa harus melewati langkah-langkah yang “rumit”. Beberapa kelebihan lain dari PHP yaitu:

  • Gratis dan open-source
  • Mendukung integrasi dengan berbagai teknologi
  • Dukungan komunitas yang telah tersebar di seluruh dunia

Selain beberapa keuntungan di atas, PHP juga memudahkan penggunanya dengan menyediakan beberapa framework yang berisikan basic structure untuk mengakomodir pengembangan sebuah website. Penggunaan framework dapat membantu penyusunan kode menjadi lebih terstruktur, mempersingkat proses pembuatan, serta memudahkan proses maintanance atau perawatan pada sebuah website.

Contoh framework PHP yang cukup familiar digunakan dalam pembangunan sebuah website adalah Laravel, CodeIgniter, Phalcon, serta masih banyak lainnya. Pembahasan dari masing-masing framework akan dijelaskan pada artikel-artikel berikutnya. Stay tune!

Referensi:
Pemrograman Web dengan PHP & MySQL
Achmad Solichin
Bab 1 - Pengantar Pemrograman Web

PHP: Hypertext Preprocessor

 

Software Testing

Presentation are communication tools that can be used to as demo

Halo sahabat Akhdani, tulisan kali ini membahas tentang Software Testing dari buku Software Engineering – Ian Sommerville.

Software testing adalah proses pengujian pada perangkat lunak yang bertujuan untuk memastikan aplikasi yang dibangun sesuai dengan kebutuhan klien dan untuk menemukan cacat fitur sebelum aplikasi digunakan.

Proses pengujian dilakukan dengan dua pendekatan. Yang pertama adalah pengujian validasi yaitu melakukan pengujian menggunakan serangkaian test case untuk memastikan sistem bekerja dengan baik dan sesuai dengan kebutuhan yang tercantum dalam dokumen requirement. Yang kedua adalah melakukan pengujian untuk menemukan cacat (bug) menggunakan serangkaian test case dan data dummy yang sengaja dibuat untuk menghasilkan sistem agar berjalan dengan tidak semestinya. Selanjutnya hasil pengujian ditunjukkan kepada tim pengembang dan klien.

Pengujian juga merupakan bagian dari proses verifikasi dan validasi perangkat lunak. Proses ini bertujuan untuk membangun keyakinan bahwa sistem perangkat lunak “sesuai dengan tujuannya.” Artinya, sistem tersebut harus cukup baik untuk tujuan penggunaannya, dan sudah memenuhi spesifikasi dan memberikan fungsionalitas sesuai yang diharapkan.

A. Development Testing
Development testing merupakan keseluruhan aktivitas pengujian yang dilakukan oleh tim yang sedang membangun sistem. Pengujian biasanya dilakukan oleh programmer yang membuat software, namun bisa juga programmer memiliki pasangan penguji yang membantu dan mengembangkan proses pengujian. Untuk sistem yang critical dan proses yang lebih formal, dapat dibuat kelompok pengujian (tim tester) terpisah dalam tim pengembangan. Kelompok ini bertanggung jawab untuk mengembangkan pengujian dan memelihara catatan ricin hasil pengujian.
Pengujian dalam pengembangan aplikasi terdiri dari beberapa tahap pengujian berikut:
1. Unit testing adalah proses pengujian komponen aplikasi yang paling sederhana, seperti function, method atau object class yang ada di dalamnya. Pertama-tama penguji harus merancang test case pengujian dan mengelompokkan test case menjadi  positive test case dan negative test case untuk setiap method. Pemilihan atau pengelompokan unit test cases ini dilakukan untuk mengefektifkan proses pengujian.
2. Component testing merupakan pengujian dari beberapa objek yang saling berinteraksi. Component testing ini difokuskan pada komponen antarmuka.
3. System testing adalah pengujian yang memeriksa seluruh komponen sistem yang sudah terintegrasi, pada pengujian ini dipastikan apakah interaksi pada sistem sudah berjalan dengan baik.

B. Test Driven Development
Test Driven Development (TDD) merupakan suatu pendekatan pengembangan aplikasi yang mengacu pada pengujian sebelum melakukan proses coding. Pengembangan berbasis pengujian ini merupakan pendekatan yang banyak digunakan karena dianggap lebih produktif untuk mengembangkan perangkat lunak. Berikut ini gambaran langkah-langkah proses TDD:

Proses TDD
Gambar: Proses TDD

Keuntungan dari penggunaan TDD yaitu:
– Mengurangi biaya produksi pembangunan perangkat lunak.
– Rangkaian regression test terus dikembangkan secara bertahap seiring dengan pengembangan kode program.
– Menyederhanakan proses debug, ketika pengujian gagal maka letak masalah akan terlihat jelas.
– Tes yang dibuat merupakan dokumentasi sistem yang dideskripsikan dalam bentuk kode, sehingga memudahkan proses pembuatan dokumentasi.

C. Release Testing
Pengujian ini dilakukan untuk memastikan bahwa sistem sudah cukup baik untuk digunakan dari segi fungsionalitas, kinerja, dan keandalan sistem. Pada pengujian ini dilakukan requirement-based testing yaitu memeriksa setiap persyaratan untuk mengembangkan pengujian sertam pembuatan test case dan test scenario.
Setelah sistem terintegrasi sepenuhnya, di tahap ini dilakukan performace test dengan menjalankan serangkai pengujian peningkatan bebanpada aplikasi untuk melihat kegagalan yang terjadi pada aplikasi. Contohnya yaitu pengujian pada suatu aplikasi yang bisa memproses 300 transaksi per detik, lalu dilakukan pengujian lebih dari 300 transaki per detik hingga melampaui beban desain maksimum sistem dan sistem gagal. Jika sistem berjalan dengan baik sampai batas transaksi sesuai dengan kebutuhan sistem, maka aplikasi dinyatakan lulus pengujian.

D. User Testing
User testing merupakan tahapan proses pengujian dimana pengguna atau klien memberikan masukan dan saran terhadap pengujian sistem. User testing terdiri dari beberapa jenis, sebagai berikut:
1. Alpha testing, pengujian yang dilakukan oleh tim pengembang di lingkup internal.
2. Beta testing, pengujian yang dilakukan oleh tim pengembang bersaam dengan end user sebelum aplikasi resmi dirilis.
3. Acceptance testing, klien menguji aplikasi unutk memutuskan apakah aplikasi sudah sesuai dan siap diterima atau tidak diterapkan di lingkungan klien.
Berikut ini gambaran proses acceptance testing:

acrobat_twxnwq1its
Gambar: Acceptance testing process

Software Engineering #Chapter 22 : Project Management – Risk Management

risk_management-removebg-preview

 

Hallo teman-teman Akhdani, aku mau sedikit sharing nih dari buku yang udah aku baca

Apa itu Project Management?
Project Management adalah metode penyelesaian proyek dengan melakukan proses initiating, planning, executing, control and monitoring, hingga closing untuk mencapai output/tujuan yang sudah ditentukan.

Dalam pengelolaan proyek dapat mengikuti panduan dari PMBOK Guide 4th Edition yang salah satu isinya ada Risk Management.

Apa itu Risk Management?

Risk Management adalah salah satu pekerjaan terpenting seorang Project Manager yang memikirkan kemungkinan terjadinya risiko dan konsekuensinya terhadap proyek. Risk Management dapat mengantisipasi risiko yang mungkin mempengaruhi jadwal proyek atau kualitas software yang sedang dikembangkan, kemudian mengambil tindakan untuk menghindari risiko tersebut.

Beberapa tahapan yang dapat dilakukan:

screenshot-2023-10-30-105801

  1. Risk Identification
    Pada tahapan ini tim berkumpul untuk bertukar pikiran mengenai kemungkinan risiko yang terjadi sehingga project manager dapat mengidentifikasi risiko berdasarkan pengalaman pada proyek sebelumnya.
    Sebagai titik awal untuk identifikasi risiko, ada 6 (enam) jenis risiko yang dapat dimasukkan dalam daftar risiko:
    a. Estimation
    b. Organizational
    c. People
    d. Requirements
    e. Technology
    f. Tools
  2. Risk Analysis
    Pada tahapan ini project manager harus mempertimbangkan setiap risiko yang teridentifikasi dan mengambil tindakan penilaian tentang kemungkinan dan keseriusan risiko tersebut. Project manager tidak mungkin membuat penilaian numerik yang tepat mengenai probabilitas dan keseriusan setiap risiko, sehingga dapat dilakukan penilaian dengan cara berikut ini:
    a. Kemungkinan risiko dapat dinilai sebagai tidak signifikan (rendah, sedang, tinggi, atau sangat tinggi).
    b. Dampak risiko dapat dinilai sebagai bencana besar (mengancam kelangsungan hidup proyek), serius (akan menyebabkan penundaan besar), dapat ditoleransi (keterlambatan akan terjadi kontingensi yang diperbolehkan), atau tidak signifikan.
  3. Risk Planning
    Pada tahapan ini project manager mengembangkan strategi untuk mengelola risiko-risiko utama yang mengancam proyek. Untuk setiap risiko, project manager harus memikirkan tindakan yang memungkinkan dalam meminimalisir gangguan terhadap proyek jika masalah yang diidentifikasi dalam risiko tersebut terjadi.
  4. Risk Monitoring
    Pada tahapan ini project manager harus memantau risiko secara teratur di semua tahapan proyek, mempertimbangkan dan mendiskusikan setiap risiko utama secara terpisah, memutuskan apakah risiko tersebut lebih besar atau lebih kecil kemungkinannya untuk timbul dan apakah konsekuensi risiko telah berubah.

Sehingga dapat disimpulkan untuk pengajuan proposal manajemen proyek bagian Risk Management tertulis seperti berikut ini: 

421315

Mengenal Business Intelligence

Cover BI

Halo Sobat Akhdani! Di era teknologi saat ini, para pelaku usaha mulai menggunakan Businesss Intelligence sebagai tools untuk memonitoring performa bisnisnya. Secara umum, Businesss Intelligence dapat membantu mengumpulkan informasi dari berbagai sumber, yang kemudian disimpan, diolah dan diproses menjadi data visual. Untuk mengenal lebih dalam apa itu BI dan bagaimana cara kerjanya, mari simak artikel berikut ini!

Apa itu Business Intelligence?

Business Intelligence merupakan bentuk pengolahan data menggunakan model matematis dan analitis yang kemudian akan menghasilkan informasi untuk memudahkan perusahaan dalam pengambilan keputusan pada proses bisnis yang dijalankan.

Dalam artian lain, BI dapat membantu perusahaan melihat secara rinci dan real-time kondisi bisnis yang sedang berjalan saat ini, apakah sedang mengalami penurunan, peningkatan, atau bahkan stagnan. BI juga dapat membantu menyajikan informasi secara lebih ringkas, sehingga perusahaan dapat mengambil langkah lebih cepat dan tepat untuk perencanaan bisnis kedepannya.

BI

Komponen Business Intelligence

Business Intelligence terdiri atas beberapa komponen pembentuk, antara lain:

  • OLAP (On-line Analytical Processing)

OLAP melakukan query data dari berbagai sumber untuk menghasilkan berbagai sudut pandang. Dengan kata lain, BI menggunakan OLAP untuk menggabungkan dan mengelompokkan data ke dalam beberapa kategori untuk memberikan informasi yang lebih ringkas dalam bentuk pelaporan, analisis, pemodelan, dan perencanaan. Beberapa operasi OLAP yang digunakan adalah roll up, drill down, slice and dice, dan pivot.

  • Analisis lanjutan

BI menerapkan teknik machine learning, otomasi proses bisnis, teknik statistik tren, mengenali pola, karakteristik, serta menganalisa anomali dari berbagai sumber data.

  • Manajemen Kinerja Perusahaan

Peran utama BI adalah integrasi dari beberapa data untuk menghasilkan informasi kinerja bisnis. Dalam komponen ini, BI berperan untuk meningkatkan kinerja perusahaan dengan melacak fluktuasi pasar, menganalisis tren jangka pendek dan jangka panjang, serta menciptakan peluang investasi

Cara kerja Business Intelligence

Untuk menghasilkan sebuah data visual berbentuk laporan, BI perlu melewati beberapa proses seperti pengumpulan data, pemrosesan dan penyimpanan data, serta analisis dan penyajian.

konsep BI

Sumber: Pengantar BI dalam Bisnis

  • Pengumpulan data

Pada tahapan ini, BI akan melakukan ekstraksi pada data-data “mentah” yang telah tercatat pada database, seperti data penjualan, laporan laba rugi, penggajian, dan lain-lain sebelum disimpan dan diintegrasikan antar satu dengan yang lain.

  • Penyimpanan pada Data Warehouse

Data mentah yang telah dikumpulkan berikutnya akan disimpan dalam bentuk Data Warehouse untuk dilakukan proses integrasi dari beragam database yang ada.

  • Akses dan Analisis Data

Setelah proses integrasi data, peran BI berikutnya adalah mengakses informasi dari Data Warehouse untuk kemudian dianalisa dan diinterpretasikan dalam bentuk tren, pola, dan menyajikannya dengan bentuk yang lebih ringkas.

  • Pembuatan Laporan

Dari hasil analisa dan interpretasi data tersebut, dilakukan proses pembuatan laporan yang nantinya akan menampilkan data visual beserta informasi pendukung agar pengguna dapat lebih mudah memahami data yang telah diolah.

Aplikasi Business Intelligence

Nah, berikut ini terdapat beberapa rekomendasi aplikasi yang dapat mendukung penerapan Business Intelligence, antara lain:

  1. Microsoft Power BI
  2. Tableau
  3. Oracle BI

 


Referensi:
Business Intelegent (Pengantar Business Intelligence dalam Bisnis)
PT. Sonpedia Publishing Indonesia
Bagian 1 - Pengenalan dan Konsep Dasar Business Intellegence

Keterkaitan Sistem Failover dengan Downtime Disaster Recovery Planing

hallo – hallo Sahabat Akhdani, aku mau sedikit sharing nih dari jurnal yang udah aku baca

Apa itu Disaster Recovery Planning??

Disaster Recovery Planning  itu adalah perencanaan untuk pengelolaan secara rasional dan cost-effective bencana terhadap sistem informasi yang akan dan telah terjadi. 

Apa itu Failover??

Failover itu adalah sebuah metode operasional backup yang dijalankan secara otomatis. Kondisi sistem yang digunakan untuk failover harus dalam posisi standby baik itu database, server ataupun jaringan. Dalam proses kerjanya failover system akan bekerja secara smooth berdasarkan permintaan yang muncul setelah diterima indikasi – indikasi sistem utama mengalami downtime.

Jadi, apa hubungannya data dengan Disaster Recovery Planning  dan Failover??

Data tidak hanya digunakan sebagai media untuk pertukaran informasi melainkan juga sebagai alat komunikasi antar perangkat yang sudah diintegrasikan. Data menjadi kebutuhan yang penting, tidak terbayangkan bagaimana data hilang atau tidak dapat diakses lagi. Beberapa sebab data tidak dapat diakses seperti data corrupt atau bisa juga data mengalami gangguan saat akan diakses, akses gangguan bisa berasal dari koneksi jaringan bisa juga berasal dari server dari data tersebut. Bahaya yang paling besar adalah bencana. Jika bencana tersebut terjadi menyebabkan banyak data hilang, maka dari itulah Disaster Recovery Planning diperlukan. Waktu downtime menjadi penentu apakah suatu DRP efektif atau tidak. Sehingga waktu downtime permasalahan ketersediaan data server erat kaitannya dengan high availability  dengan protokol heartbeat

Protokol heartbeat digunakan untuk sistem failover dari server web server. Selain failover web server, proses backup dan restore database server melibatkan backup dari database server utama, untuk restore akan menggunakan differential backup. Sinkronisasi server dilakukan dengan rsync. Perintah rsync dikombinasikan dengan crontab untuk proses penjadwalan sedangkan proses restore pada server backup bergantung pada waktu pemindahan data dari server utama dan proses backup pada server utama itu sendiri. Hasil pengujian menunjukkan bahwa sinergi dari sistem failover dan replikasi server mereduksi waktu downtime untuk link server efektif diterapkan pada suatu DRP dengan mereduksi waktu downtime jika dibandingkan dengan DRP yang dilakukan secara manual.

Downtime artinya erat kaitannya dengan ketersedian website yang selalu dapat diakses kapanpun dan dimanapun, sangat beresiko jika website tersebut mengalami error atau tidak dapat diakses ini lah fungsi dari high availability yang perlu ada pada system dari website tersebut. Proses backup ataupun restore pada suatu database sudah wajar dilakukan, baik untuk keperluan pemindahan database, untuk update aplikasi, untuk migrasi server, ataupun pengambilan data agar tidak mengganggu proses yang ada di suatu perusahaan.

Database memiliki beberapa jenis, seperti MySQL, MSSQL, Postgree, Oracle Database, sedangkan layanan cloud juga saat ini telah banyak tersedia contohnya Microsoft Azure dan Amazon Web Service (AWS). Selain backup otomatis juga tidak lupa ada fitur backup manual yang bisa dilakukan dengan mengakses menu task selanjutnya pilih backup atau restore. Pada backup database SQL server ini bisa dilakukan back up full artinya backup dilakukan dengan membackup seluruh data yang ada mulai dari database di inisialisasi sedangkan terdapat differential/incremental backup dimana backup ini hanya meliputi tambahan data dari database tersebut. Kedua metode backup database ini sudah meliputi transaksi dan juga log pada database yang akan di backup. Berikut adalah gambar detail backup database server.

diagram-tanpa-judul-drawio-1

 

 

Referensi :A.P. Wahyu Ari Yuliono, " Sinergi Replikasi Server dan Ssitem Failover pada Datavase untuk Mereduksi Downtime Disaster REcovery Plning ( DRO)," Journal of Informatics and Computer Science, vol.03,2021

Meningkatkan User Interface dan User Experience (UI/UX) melalui Pendekatan Berbasis Pengguna

user-1

Pengembangan aplikasi yang sukses tidak hanya bergantung pada teknologi canggih, tetapi juga pada kemampuan untuk memahami, menghormati, dan memenuhi kebutuhan pengguna. Salah satu pendekatan yang fading efektif dalam mencapai tujuan ini adalah Metode User Centered Design( UCD). UCD adalah kerangka kerja yang difokuskan pada pengguna dalam pengembangan tampilan antarmuka aplikasi. Pada kesempatan kali ini ARS Mania akan membahas tentang metode UCD dan mengapa ini sangat penting dalam menciptakan aplikasi yang sukses.

Berdasarkan penelitian yang dilakukan oleh (Kaligis & Fatri, 2020), berikut adalah penjelasan mengenai User Centered Design (UCD).

Apa Itu User Centered Design?

Menurut ISO 9241- 210 yang mengatur tentang Prinsip- prinsip Ergonomi Antarmuka Manusia Sistem Interaktif, metode UCD merupakan pendekatan dalam pengembangan sistem secara interaktif dengan tujuan untuk mengembangkan sistem yang berguna bagi penggunanya. UCD menempatkan pengguna sebagai pusat dari proses desain, dan berfokus pada pemahaman mendalam tentang kebutuhan, dan pengalaman pengguna. Pada metode pengembangan aplikasi, UCD diterapkan pada tahap perencanaan, perancangan, dan pengujian.

Tahapan Metode User Centered Design

the-user-centred-design-process-according-to-iso-9241-21020101. Understand and Specify the Context of Use (Memahami dan Menentukan Konteks Penggunaan)

Pada tahapan ini kita melakukan identifikasi yang berfokus pada kondisi siapa yang akan menggunakan sistem, di mana mereka akan menggunakannya dan apa yang menjadi alasan pengguna menggunakan sistem. Kita mencoba memahami apa yang mereka butuhkan dari sistem tersebut

2. Specify the User Requirements (Menentukan Kebutuhan Pengguna)

Setelah kita tahu siapa pengguna, di mana sistem akan digunakan, dan mengapa pengguna menggunakan sistem, kita menuliskan dengan jelas apa yang pengguna butuhkan dari sistem ini. Kita menentukan apa tugas yang harus mereka lakukan dan apa keinginan mereka.

3. Produce Design Solutions to Meet User Requirements (Menghasilkan Solusi Desain yang Memenuhi Kebutuhan Pengguna)

Dalam tahap ini, kita mulai membuat desain sistem. Desain ini harus mencakup antarmuka yang memudahkan pengguna untuk mengoperasikan sistem dan mencapai tujuan mereka. Pada tahapan ini juga kita berfokus pada untuk meningkatkan user experinece.

4. Evaluate the Design Against Requirements (Evaluasi Desain Berdasarkan Kebutuhan)

Setelah desain dibuat, kita menguji desain ini dengan pengguna. Pengguna mencoba sistem dan memberikan masukan atau feedback. Dari masukan tersebut akan dilakukan perbaikan secara berulang hingga memenuhi ekspektasi pengguna, karena pada metode ini berjalan secara iteratif.

Kesimpulan

Metode User-Centered Design (UCD) adalah pendekatan yang kritis dalam pengembangan aplikasi yang bertujuan untuk meningkatkan pengalaman pengguna. Dengan memahami dan memenuhi kebutuhan pengguna, aplikasi dapat menjadi lebih efisien, efektif, dan memuaskan. UCD membantu mengurangi risiko kesalahan desain dan meningkatkan peluang kesuksesan aplikasi. Oleh karena itu, pengguna seharusnya selalu menjadi fokus utama dalam pengembangan aplikasi yang sukses.

Referensi : 
¹Kaligis, D.L. & Fatri R.R. (2020). Pengembangan Tampilan Antar Muka Aplikasi Survei Berbasis Web Dengan Metode User Centered Design. Jurnal Sistem Informasi, Teknologi Informatika dan Komputer, Vol 10. No 2, Hal 106-114.
²Saputri, I.S.Y. Fadhli, M. & Surya, I. (2017). Penerapan Metode UCD (User Centered Design) pada E-Commerce Putri Intan Shop Berbasis Web. Jurnal Nasional Teknologi dan Sistem Informasi. Vol 03. No 02. 269-278.