- Fitur pemrograman berorientasi acara
- Ketergantungan acara
- Berorientasi layanan
- Acara
- Kontroler
- Fungsi pemicu
- Waktu dikendalikan
- Contoh pemrograman berbasis peristiwa
- Izin kerja
- Inisiasi tindakan
- Keuntungan
- Pemrosesan lebih cepat
- Interaktivitas
- Kurangi pengkodean keputusan
- Fleksibilitas
- Tiket yang valid
- Perawatan mudah
- Kekurangan
- Aliran kontrol yang kompleks
- Itu tidak menggantikan pemrograman terstruktur
- Fleksibilitas
- Aplikasi
- Antarmuka pengguna grafis
- Referensi
The event - pemrograman didorong mengacu pada model pemrograman komputer, di mana peristiwa yang terjadi untuk menentukan aliran kontrol dari sebuah program yang digunakan.
Ini bukan jenis teknologi atau bahasa pemrograman, melainkan sebuah pendekatan yang diterapkan selama tahap pengembangan produk. Pada dasarnya, ini memisahkan logika pemrosesan peristiwa dari kode lainnya dalam program.
Jenis pemrograman ini dirancang untuk menemukan peristiwa saat terjadi, menggunakan prosedur penanganan peristiwa yang sesuai untuk menanganinya, biasanya dengan memanggil fungsi atau metode.
Secara teoritis, gaya pemrograman ini kompatibel dengan semua bahasa pemrograman, meskipun cara implementasinya mungkin berbeda.
Secara umum, dalam aplikasi yang digerakkan oleh peristiwa, ada loop utama yang "mendengarkan" untuk peristiwa baru yang masuk, memicu panggilan fungsi saat terdeteksi. Oleh karena itu, operasinya berfokus pada peristiwa, memutuskan apa yang akan dijalankan dan dalam urutan apa.
Fitur pemrograman berorientasi acara
Sumber: pixabay.com
Ketergantungan acara
Alur program diberikan oleh peristiwa yang dapat berupa tindakan pengguna, pesan dari program lain, dll., Memisahkan logika peristiwa pemrosesan dari sisa kode program, sehingga kontras dengan pemrosesan batch.
Peristiwa itu sendiri dapat berkisar dari menerima atau menolak permintaan pinjaman, yang disebut peristiwa tingkat tinggi, hingga pengguna menekan tombol, yang merupakan peristiwa tingkat rendah.
Berorientasi layanan
Ini digunakan untuk menulis program yang dirancang untuk layanan tanpa memperlambat komputer, karena orientasi layanan hanya menghabiskan sedikit daya pemrosesan. Selain itu, layanan umumnya berjalan di latar belakang sistem operasi.
Acara
Ini adalah kondisi yang muncul selama eksekusi program dan membutuhkan beberapa tindakan dari bagian sistem. Setiap peristiwa memiliki sifat yang berbeda, beberapa memerlukan program untuk mengambil dan menampilkan informasi tertentu, dan yang lainnya memerlukan beberapa perhitungan dan perubahan status untuk dimulai.
Peristiwa termasuk mouse, keyboard, antarmuka pengguna, dan tindakan yang harus dipicu dalam program saat terjadi. Artinya, pengguna harus berinteraksi dengan objek dalam program, seperti mengklik tombol mouse, menggunakan keyboard untuk memilih tombol, dll.
Kontroler
Ini adalah unit program tertentu yang diaktifkan untuk bereaksi terhadap suatu peristiwa. Artinya, ini adalah jenis fungsi atau metode yang menjalankan tindakan tertentu ketika peristiwa tertentu dipicu.
Misalnya, ini bisa menjadi tombol yang ketika pengguna mengkliknya akan menampilkan pesan dan ketika mereka mengklik tombol itu lagi menutup pesan.
Fungsi pemicu
Mereka adalah fungsi yang memutuskan kode apa yang akan dijalankan ketika peristiwa tertentu terjadi. Mereka digunakan untuk memilih event handler mana yang akan digunakan ketika sebuah event terjadi.
Waktu dikendalikan
Ini adalah kode khusus yang berjalan pada waktu tertentu. Ini berarti bahwa ini adalah tugas yang harus dilakukan.
Pembaruan Windows adalah contoh waktu terkontrol, di mana pengguna dapat mengatur kapan harus memperbarui atau kapan harus memeriksa dan mengunduh pembaruan.
Contoh pemrograman berbasis peristiwa
Program berorientasi acara telah menjadi sangat umum. Di antara contoh yang paling menonjol adalah pengolah kata, alat menggambar, spreadsheet, dll.
Sebagian besar sistem perpesanan modern juga mengikuti pola yang digerakkan oleh peristiwa, sementara situs web skala besar menggunakan arsitektur yang dapat diskalakan dan digerakkan oleh peristiwa dengan sifat terdistribusi. Contoh lainnya adalah:
- Tombol ditekan (editor teks).
- Kalender tugas baru siap didistribusikan ke semua staf (sistem manajemen).
- Pesan HTML (server web) telah diterima.
- Pola perdagangan ilegal telah terdeteksi (deteksi penipuan).
- Sebuah mobil dalam permainan komputer bertabrakan dengan mobil lain (permainan balap).
- Robot telah mencapai tujuannya (manajemen gudang secara real time).
Izin kerja
Contoh praktis dari acara yang digunakan dalam pemrograman berbasis acara dapat menjadi karyawan yang mengajukan izin kerja pada suatu sistem. Ketika karyawan ini mengeluarkan permintaannya, dia akan mengaktifkan pemberitahuan yang akan dikirim ke manajer untuk persetujuan.
Manajer dapat melihat detail permintaan, menyetujui atau menolaknya, memperbaruinya di sistem tanpa perlu memulai sesi tambahan.
Inisiasi tindakan
Tindakan program yang mengikuti dasar-dasar pemrograman berorientasi peristiwa diprakarsai oleh peristiwa:
- Perangkat kerasnya.
- Terjadwal.
- Waktu eksekusi.
- Dari sistem operasi.
- Diaktifkan oleh instruksi pengguna yang diberikan melalui interaksi dengan GUI program.
Dalam mode yang paling sederhana, pemrogram harus menjawab pertanyaan: "Apa yang harus terjadi jika peristiwa tertentu terjadi?"
Rutin pseudo-code berikut menunjukkan bagaimana penjadwal yang sangat sederhana dapat bekerja. Ini terdiri dari loop utama yang berjalan terus menerus sampai beberapa kondisi penghentian terjadi.
Ketika suatu peristiwa terjadi, penjadwal harus menentukan jenis peristiwa dan memilih pengendali peristiwa yang sesuai, atau menangani peristiwa jika pengendali peristiwa yang sesuai tidak ada.
Keuntungan
Pemrosesan lebih cepat
Karena penyebaran data antara beberapa prosesor dan penangan acara.
Interaktivitas
Ini adalah keuntungan terpenting dari pemrograman berorientasi acara, meningkatkan pengalaman pengguna. Pengguna saat ini ingin berpartisipasi secara aktif dan tidak tetap menjadi konsumen pasif.
Oleh karena itu, program berbasis acara membantu pengguna menavigasi pengalaman mereka sendiri dan menjelajahi berbagai opsi, tanpa batasan yang telah ditetapkan sebelumnya.
Kurangi pengkodean keputusan
Pendekatan pemrograman ini memiliki banyak manfaat bagi semua pemangku kepentingan, karena lebih sedikit keputusan yang diperlukan untuk membuat kode daripada aplikasi tradisional.
Banyak peristiwa ditentukan oleh tindakan pengguna, daripada memiliki pengkodean lanjutan untuk semua skenario yang memungkinkan. Saat aplikasi tradisional bekerja, aplikasi yang digerakkan oleh peristiwa bereaksi.
Fleksibilitas
Ini sangat cocok dengan tren terkini dalam rekayasa perangkat lunak seperti komputasi awan, layanan mikro, dan kebutuhan akan skalabilitas yang lebih baik dengan sistem yang fleksibel dan terdistribusi.
Tiket yang valid
Menghilangkan kemungkinan entri dengan nilai yang tidak valid. Aplikasi tradisional mengajukan pertanyaan dan memungkinkan pengguna mengetik jawaban. Aplikasi yang digerakkan oleh peristiwa biasanya menawarkan serangkaian opsi, baik sebagai tombol atau sebagai menu tarik-turun.
Perawatan mudah
Keharusan untuk memperbaiki dan menyesuaikan kode yang ada saat menambah atau menghapus modul dihilangkan. Sistem terus beroperasi dengan lancar terlepas dari penyesuaian tersebut.
Oleh karena itu, pemrograman ini cocok untuk aplikasi dengan aliran kontrol yang didasarkan pada serangkaian peristiwa internal dan eksternal, bukan berdasarkan struktur.
Kekurangan
Aliran kontrol yang kompleks
Pendekatan pemrograman ini bukanlah pilihan terbaik untuk aplikasi kecil dan sederhana, karena upaya yang harus dilakukan ternyata tidak masuk akal.
Mengembangkan aplikasi yang digerakkan oleh peristiwa meningkatkan kompleksitas desain dan pengiriman sistem. Ini karena arsitektur perangkat lunak tradisional didasarkan pada interaksi berbasis permintaan, bukan interaksi berbasis peristiwa.
Selain itu, banyak persiapan juga diperlukan karena kebutuhan akan loop peristiwa dinamis yang tiada henti.
Itu tidak menggantikan pemrograman terstruktur
Perlu dicatat bahwa pemrograman berorientasi peristiwa tidak menggantikan pemrograman terstruktur tradisional, tetapi hanya melengkapinya.
Metodologi pemrograman tradisional tetap penting untuk menulis program secara keseluruhan, sementara elemen pengkodean yang digerakkan oleh peristiwa hanya berfungsi untuk membantu merancang GUI.
Fleksibilitas
Fleksibilitas penjadwalan berorientasi acara, yang merupakan keuntungan tak terbantahkan, juga berubah menjadi penipuan dalam skenario tertentu. Salah satu manifestasi tersebut adalah ketidakpastian program berorientasi peristiwa jika ada perubahan dan kontrol yang lebih lemah atas keseluruhan sistem.
Meskipun pembuat kode suka menggunakan pemrograman berbasis peristiwa untuk membuat penyesuaian tanpa hambatan, seperti melepas atau menambahkan beberapa modul fungsional, penyesuaian ini dapat menyebabkan gangguan tak terduga dalam fungsionalitas.
Dalam pemrograman konvensional, sistem dengan sangat cepat menemukan anomali operasional ini, memberikan laporan kepada programmer tentang penyebabnya. Dalam lingkungan pemrograman yang digerakkan oleh peristiwa, deteksi malfungsi seperti itu kurang cepat dan mudah.
Aplikasi
Karena pemrograman berbasis peristiwa ternyata lebih merupakan pendekatan daripada jenis bahasa, aplikasi berbasis peristiwa dapat dibuat dalam bahasa pemrograman apa pun.
Pemrograman berbasis peristiwa mengubah dunia layanan pengembangan perangkat lunak dan menjadi bagian integral dari perkembangan saat ini. Difusinya dirangsang oleh Windows dan difusi lingkungan visual.
Kasus situasi yang digerakkan oleh peristiwa akan menyerupai pengatur waktu bangun yang diatur untuk melakukan tugas tertentu pada waktu tertentu, seperti menelepon dan mengomunikasikan sesuatu yang mengatakan, "Bangun!"
Antarmuka pengguna grafis
Pendekatan penjadwalan ini berpusat pada peristiwa. Area aplikasi yang paling umum termasuk membuat antarmuka pengguna grafis (GUI), aplikasi server, dan mengembangkan game multipemain.
Sementara program konvensional menetapkan aliran peristiwa dan memiliki kendali atas opsi pengguna, pemrograman yang lebih inovatif ini berfungsi untuk membuat GUI.
GUI mengubah interaksi manusia-komputer dengan menawarkan beberapa opsi kepada pengguna dalam bentuk menu drop-down, jendela, tombol, dan kotak centang.
Oleh karena itu, daripada mengikuti urutan tindakan yang telah ditentukan yang ditetapkan oleh komputer, pengguna dapat memilih salah satu dari banyak perintah yang tersedia sendiri.
Selain pemrograman ini diterapkan secara luas dalam antarmuka pengguna grafis, pemrograman ini juga diterapkan secara luas dalam aplikasi yang melakukan tindakan tertentu sebagai respons terhadap masukan pengguna, seperti aplikasi web JavaScript.
Referensi
- Raspal Chima (2018). Aplikasi Yang Didorong Peristiwa Dalam Pengembangan Perangkat Lunak. Konsultan Blueberry. Diambil dari: bbconsult.co.uk.
- Kuorum (2020). Membangun Aplikasi - Pelajaran 1: Pengantar Pemrograman Berbasis Peristiwa. Diambil dari: quorumlanguage.com.
- Margaret Rouse (2012). Aplikasi berbasis peristiwa. Techtarget. Diambil dari: searchitoperations.techtarget.com.
- UK Essays (2018). Fitur Pemrograman Berbasis Peristiwa. Diambil dari: ukessays.com.
- Souvik Banerjee (2019). Pemrograman Berbasis Peristiwa: Mengapa Sekarang Menjadi Trending? RS Websols. Diambil dari: rswebsols.com.
- Techopedia (2018). Program Berbasis Peristiwa. Diambil dari: ceilingpedia.com.
- Technology UK (2020). Pemrograman Berbasis Peristiwa. Diambil dari: technologyuk.net.