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.

Understanding Requirement Engineering

cover-1

Fase Requirement Engineering merupakan proses memahami kebutuhan sistem, baik dari segi bisnis, kebutuhan fungsional, ataupun dari segi interaksi pengguna dengan sistem nantinya.

Tujuan dilakukannya fase Requirement Engineering adalah untuk menyamakan presepsi setiap pemangku kepentingan yang terlibat, agar dapat menghasilkan solusi yang efektif dan efisien.

Fase ini terdiri dari beberapa tahapan:

  1. Identifikasi permasalahan
  2. Analisa kebutuhan pengguna
  3. Klasifikasi kebutuhan pengguna
  4. Pemodelan sistem
  5. Negosiasi dan spesifikasi kebutuhan
  6. Validasi kebutuhan
Identifikasi Permasalahan

Tahapan ini merupakan awal dari proses Requirement Engineering. Identifikasi permasalahan biasanya dilakukan menggunakan teknik kolaborasi meeting yang akan dihadiri oleh pihak user atau pengguna, serta vendor atau tim yang akan melakukan pengembangan sistem. Tahapan ini dapat juga disebut Requirement Gathering.

Tujuan utama dari Requirement Gathering adalah memahami permasalahan yang dihadapi oleh user yang kemudian dilanjutkan dengan penawaran solusi secara garis besar.

Analisa Kebutuhan Pengguna

Tahapan ini merupakan tindak lanjut atas informasi yang telah diperoleh pada tahap sebelumnya. Pemasalahan akan dipetakan menjadi poin-poin kebutuhan yang nantinya akan direalisasikan dalam bentuk fitur-fitur pada sistem yang dikembangkan.

Klasifikasi Kebutuhan Pengguna

Setelah diperoleh daftar kebutuhan pengguna, maka selanjutnya akan dilakukan klasifikasi kebutuhan berdasarkan level kepentingannya, yaitu:

  1. Normal Requirement (Kebutuhan objektif sesuai dengan permintaan user)
  2. Expected Requirement (Kebutuhan dasar sebuah sistem)
  3. Exciting Requirement (Kebutuhan tambahan yang berada di luar ekspektasi user)

Klasifikasi kebutuhan dilakukan untuk memudahkan tim pengembang dalam menentukan prioritas ketika proses pengerjaan nantinya.

Pemodelan Sistem

Tahapan ini bertujuan untuk menggambarkan sistem dalam bentuk dokumen teknis untuk memperjelas elemen apa saja yang dibutuhkan, bagaimana hubungan antar entitas, serta bagaimana behavior atau perilaku sistem atas berbagai kondisi yang diminta oleh setiap aktor.

Pemodelan dapat dilakukan menggunakan Use Case Skenario ataupun Use Case Diagram, UML, Class Diagram, ataupun Prototype sistem.

Negosiasi dan Spesifikasi Kebutuhan

Setelah dilakukan pemodelan, gambaran alur serta fungsional sistem akan semakin jelas. Tahapan berikutnya adalah melakukan diskusi dan negosiasi antara vendor dan user untuk menentukan prioritas pada proses pengembangan, biaya yang dibutuhkan, risiko yang akan ditimbulkan, serta kemungkinan untuk menggabungkan, memodifikasi atau bahkan mengeliminasi kebutuhan-kebutuhan yang telah dituliskan di awal agar mencapai kesepakatan bersama.

Hasil terbaik negosiasi adalah terbentuknya Project Plan dimana pihak user dapat memperoleh sistem yang diinginkan sesuai spesifikasi yang telah diminta, dan pihak vendor dapat bekerja dengan realistis, mendapatkan upah yang sesuai, serta deadline yang wajar.

Validasi Kebutuhan

Setelah proses negosiasi menghasilkan kesepakatan bersama, maka tahapan berikutnya adalah proses validasi dari kedua belah pihak yaitu user dan vendor. Hal ini dilakukan untuk mencegah kesalahan interpretasi, kurangnya informasi, inkonsistensi, serta kemungkinan tidak terpenuhinya kebutuhan yang telah disepakati di awal.

Jika seluruh informasi telah dinyatakan valid, maka dilanjutkan dengan proses pengembangan sistem sesuai dengan kebutuhan yang telah dituliskan dalam dokumen Requirement Engineering.

Dalam beberapa kasus, proses Requirement Engineering dapat berlangsung secara paralel atau beriringan dengan proses pengembangan sistem, tergantung pada kebutuhan setiap projectnya. Semakin banyak pemangku kepentingan yang terlibat, maka akan bertambah pula kebutuhan yang harus diidentifikasi. Maka dibutuhkan kemampuan manajemen informasi dan pendokumentasian yang baik, agar memudahkan pelacakan perubahan sepanjang proses pengembangan.

Beberapa kendala yang memungkinkan terjadi pada proses Requirement Engineering adalah:

  1. User kesulitan dalam mengkomunikasikan kebutuhannya.
  2. Terlalu banyak pemangku kepentingan yang terlibat, sehingga menyulitkan dalam proses pengambilan keputusan.
  3. Ketidaksesuaian antara permintaan, deadline, serta budget yang ditawarkan.

It’s your worst nightmare. A customer walks into your office, sits down, looks you straight in the eye, and says, “I know you think you understand what I said, but what you don’t understand is what I said is not what I meant.” Invariably, this happens late -Ralph Young

Reference: Software Engineering A Practitioner’s Approach / Roger S. Pressman / Seventh Edition

Mengenal Bahasa Pemrograman Python dan Django

Python telah lama menjadi salah satu bahasa pemrograman yang paling populer, dan salah satu alasan utama kepopulerannya adalah kemampuan untuk mengembangkan aplikasi web dengan cepat dan efisien. Python memiliki beragam framework yang sering digunakan dalam pengembangan berbagai jenis aplikasi, diantaranya seperti framework Flask, Pyramid, Tornado dan Falcon. Namun yang paling populer dan banyak digunakan adalahan Framework Django, sebuah alat yang mempermudah pengembangan aplikasi web yang kuat dan skalabel. Artikel ini akan membahas bagaimana Python, bersama dengan Django, memungkinkan pengembangan aplikasi web yang efisien dan kuat.

Python: Bahasa Pemrograman yang Populer

Faktanya menurut IEE Spectrum mengatakan bahwa python adalah bahasa pemrograman paling populer. Sebelum kita membahas Django, mari tinjau mengapa Python menjadi pilihan utama dalam pengembangan web

  1. Sintaksis yang Mudah Dipahami: Python dikenal dengan sintaksisnya yang sederhana dan mudah dipahami. Ini membuatnya menjadi bahasa yang ideal untuk pemula dan pengembang yang ingin fokus pada logika aplikasi daripada menangani kompleksitas sintaksis.
  2. Ekosistem yang Kaya: Python memiliki ekosistem yang kaya dengan berbagai pustaka dan framework yang mendukung pengembangan web, analisis data, kecerdasan buatan, dan banyak lagi. Ini berarti Anda dapat dengan mudah mengakses alat-alat yang diperlukan untuk tugas-tugas khusus dalam pengembangan web.
  3. Komunitas yang Besar: Python memiliki komunitas yang besar dan beragam. Komunitas ini menyediakan dukungan, tutorial, dan sumber daya yang berlimpah, membuatnya mudah untuk menyelesaikan masalah dan memperdalam pengetahuan Anda.
  4. Kemampuan Cross-Platform: Python dapat berjalan di berbagai platform, termasuk Windows, macOS, dan Linux. Ini membuatnya cocok untuk pengembangan aplikasi web yang bersifat lintas platform.

Django: The Web Framework for Perfectionists with Deadlines

Menurut penelitian yang dilakukan dengan judul “Pemanfaatan Python dan Framework Django Sebagai Dashboard Sistem Informasi Pengelolaan Skripsi Pada STIMIK Pontianak” (Gat,2023) mengatakan bahwa Bahasa pemrograman Python dan framework Django hadir dengan kesederhaan, memiliki sintaks yang mudah dipahami untuk dibaca dan juga menyedikan banyak library yang siap dipergunakan. Dari segi keamanan, python menawarkan keamanan yang lebih kuat dari framework kebanyakan bahasa pemrograman lainnya. Hasil dari penelitian tersebut membuktikan bahwa, bahasa pemrograman Python dengan framework Django yang dilengkapi dengan banyak fitur dan library yang lengkap, mampu menghasilkan sistem informasi pengelolaan skripsi dengan mudah dan cepat.

Hal yang paling menarik dari Django adalah arsitektur sistem MTV (Model, Template, View) yang dimilikinya, berbeda dengan kebanyakan framework yang menggunakan sistem MVC (Model, View, Control) hal ini merupakan setara namun istilahnya saja yang berbeda.

assitektur-sistem-mtv

 

  • Model mewakili struktur data aplikasi Anda dan berfungsi untuk berinteraksi dengan basis data.
  • View bertanggung jawab untuk mengatur logika presentasi dan mengatur bagaimana data dari model ditampilkan kepada pengguna.
  • Template adalah komponen yang mengontrol tampilan akhir yang diberikan kepada pengguna, seringkali dalam bentuk halaman web HTML.

Berikut adalah 10  keunggulan framework Django dibandingkan beberpa framework python lainnya:

  1. Kekuatan Batteries-Included: Django sering dijuluki sebagai “framework yang memiliki baterai terisi penuh” karena menyertakan banyak komponen bawaan (seperti ORM, sistem admin, sistem otentikasi, dll.) yang membuat pengembangan web lebih cepat dan mudah. Ini mengurangi kebutuhan untuk mencari pustaka pihak ketiga atau menggabungkan berbagai komponen sendiri.
  2. ORM Kuat: Django dilengkapi dengan Django ORM (Object-Relational Mapping) yang kuat, yang memungkinkan Anda berinteraksi dengan basis data relasional tanpa harus menulis SQL secara eksplisit. Ini mempermudah pemodelan dan pengaksesan data.
  3. Sistem Admin yang Kuat: Django menyertakan sistem admin bawaan yang memungkinkan Anda membuat antarmuka administrasi web untuk aplikasi Anda dengan sedikit atau tanpa penulisan kode tambahan. Ini sangat berguna untuk mengelola data aplikasi Anda.
  4. Dokumentasi yang Luar Biasa: Django memiliki dokumentasi yang sangat baik dan komprehensif, yang membuatnya mudah bagi pengembang baru untuk memahami dan memulai dengan framework ini. Dokumentasi yang baik juga membantu dalam pemeliharaan dan pengembangan aplikasi.
  5. Keamanan Terintegrasi: Django menerapkan banyak praktik keamanan terbaik secara bawaan, termasuk proteksi terhadap serangan umum seperti SQL injection, Cross-Site Scripting (XSS), dan Cross-Site Request Forgery (CSRF). Ini membantu menjaga aplikasi Anda aman secara default.
  6. Skalabilitas: Meskipun Django cocok untuk proyek-proyek kecil, itu juga dapat digunakan untuk proyek-proyek besar dan rumit. Dengan desain yang kuat dan kemampuan untuk membagi aplikasi menjadi komponen yang terpisah, Anda dapat mengembangkan aplikasi yang sangat skalabel.
  7. Dukungan Komunitas dan Ekosistem: Django memiliki komunitas yang besar dan aktif, sehingga Anda dapat dengan mudah menemukan dukungan, tutorial, dan pustaka pihak ketiga yang memperluas fungsionalitas Django.
  8. Ketersediaan Hosting dan Deployment yang Luas: Ada banyak penyedia hosting web dan layanan PaaS yang mendukung Django, membuatnya mudah untuk mendeploy aplikasi Anda secara online.
  9. Berfokus pada Prinsip “Don’t Repeat Yourself” (DRY): Django mendorong praktik pengembangan yang menghindari pengulangan kode (DRY) dengan menyediakan alat-alat seperti template dan middleware yang memungkinkan Anda mengorganisir kode Anda dengan baik.
  10. Desain URL yang Elegan: Django memiliki sistem routing URL yang sangat baik yang memungkinkan Anda mendefinisikan pola URL dengan mudah, membuat aplikasi Anda lebih terstruktur dan mudah dipahami.

Namun, penting untuk diingat bahwa setiap framework memiliki kelebihan dan kelemahan masing-masing. Pilihan framework web Python terbaik tergantung pada kebutuhan proyek Anda dan preferensi pribadi Anda sebagai pengembang.

Kesimpulan:

Python dengan Django adalah kombinasi yang sangat kuat untuk pengembangan aplikasi web. Python memberikan sintaksis yang mudah dipahami, ekosistem yang kaya, dan dukungan komunitas yang besar, sementara Django menawarkan produktivitas tinggi, keamanan terintegrasi, dan kemampuan skalabilitas. Kombinasi ini membuat Python dan Django menjadi pilihan yang luar biasa untuk pengembangan aplikasi web yang efisien dan andal. Jika Anda ingin membangun aplikasi web, pertimbangkan untuk memulai dengan Python dan Django untuk mendapatkan hasil terbaik dalam waktu singkat.

Software Process Model

Judul Buku: Software Engineering
Edisi : Tenth Edition
Pengarang : Ian Sommerville
Penerbit : Pearson Education Limited
Bagian yang dibaca
Bab 2 : Software Processes
Halaman : 43 s.d 65


Software Process adalah serangkaian aktivitas pada pembuatan perangkat lunak.

Ada 4 aktivitas dasar dalam rekaya perangkat lunak yaitu:

  1. Specification, menentukan spesifikasi dari fungsionalitas perangkat lunak dan batasan pengoperasiannya.
  2. Design and implementation, pengembangan perangkat lunak yang sesuai dengan spesifikasi diatas.
  3. Validation, validasi perangkat lunak Perangkat untuk memastikan bahwa perangkat lunak tersebut berfungsi diinginkan pelanggan.
  4. Evolution, evolusi perangkat lunak untuk memenuhi perubahan kebutuhan pelanggan

Software process model atau yang biasa disebut Software Development Life Cyctle (SDLC) adalah suatu representasi sederhana dari rangkaian proses pengembangan software. Dari proses model kita hanya melihat kerangka proses, tetapi tidak melihat detail dari aktivitas masing-masing proses tersebut.
Pada buku ini dijelaskan sejumlah model proses yang sangat umum (paradigma proses) dan biasa digunakan dalam membuat rekayasa perangkat lunak yang lebih spesifik. Berikut ini akan dijelaskan beberapa model proses yang umum digunakan:

1. The Waterfall Model
Tahapan pada model ini dari satu fase ke fase lainnya bersifat cascade, hal ini lah yang menjadikan proses model ini dikenal sebagai model waterfall.Berikut ini adalah tahapan pengembangan software pada model waterfall:

1. Requirements analysis and definition
Pada tahap ini dilakukan analisis requirement dan batasan-batasan pembuatan aplikasi. Hasil dari analisis akan didefinisikan sebagai spesifikasi dari sistem yang dibuat.
2. System and software design
Pada tahap ini dilakukan desain sistem dan aplikasi seperti membuat desain arsitektur sistem secara keseluruhan untuk hardware dan software yang digunakannya.
3. Implementation and unit testing
Tahap ini adalah pembangunan perangkat lunak, selama pembangunan perangkat lunak berlangsung dilakukan juga unit tes terhadap aplikasi untuk memastikan perangkat lunak yang dibuat memenuhi spesifikasi yang telah dibuat.
4. Integration and system testing
Pada tahap ini dilakukan integrasi dari modul-modul yang sudah dibuat sebelumnya dan diuji sebagai sebuah sistem yang lengkap. Pengujian dilakukan untuk memastikan perangkat lunak telah memenuhi semua requirement-nya. Setelah pengujian selesai, perangkat lunak diserahkan ke pelanggan.
5. Operation and maintenance
Pada tahap terakhir ini sistem diinstal di environment production untuk dijalankan. Selama sistem berjalan dilakukan pemeliharaan berupa perbaikan bug.

Model waterfall ini cocok untuk pengembangan software yang memerlukan banyak biaya produksi. Setiap proses yang dilakukan tidak saling tumpah tindih karena untuk melanjutkan fase berikutnya harus menunggu fase sebelumnya benar-benar selesai. Hal ini menjadikan model ini kurang cocok untuk diimplementasi dalam pembangunan software dengan kompleksitas yang tinggi.

2. Incremental Development
Pembangunan inkremental adalah pengembangan software yang dibuat berdasarakan rancangan awal yang dipecah menjadi beberapa fungsi atau bagian sehingga pengembangan software dilakukan secara bertahap. Untuk increment pertama dilakukan pengembangan fitur-fitur utama sesuai dengan spesifikasi kebutuhan aplikasi yang telah didefinisikan diawal pekerjaan. Beberapa modul atau fitur yang telah dibangun dapat langsung dievaluasi lebih awal oleh klien untuk dilihat apakah sistem sudah sesuai kebutuhan. Untuk modifikasi fitur yang lebih canggih dapat dikerjakan pada inkremen selanjutnya dengan tetap memperhatikan timeline penyelesaian proyek.
Dengan mengembangkan software secara bertahap ini akan lebih murah dari segi biaya dan mempermudah dalam melakukan perubahan pada software yang sedang dikembangkan. Tetapi model ini tidak cocok diimplementasi dalam pembangunan sistem yang besar, kompleks, dan berjangka watu yang panjang. Karena sistem yang besar memerlukan kerangka kerja dan arsitektur yang stabil.

3. Integration and Configuration
Proses ini melakukan pendekatan yang berorientasi penggunaan kembali software dengan mengintegrasikannya. Tahapan porses model ini yaitu:
Requirement Specification, tahap ini melakukan deskripsi singkat mengenai pesyaratan penting dan fitur sistem yang akan dibangun.

  1. Software discovery and evaluation, berdasarkan requirement yang sudah dibuat dilakukan pencarian komponen dan sistem yang menyediakan fungsionalitas yang diperlukan lalu dievaluasi untuk melihat apakah komponen tersebut benar-benar penting dan secara umum cocok diimplementasi pada sistem yang akan dibangun.
  2. Requirements refinement
  3. Application system configuration, jika sistem aplikasi siap pakai dan memenuhi persayaratan yang telah ada, maka sistem dapat dikonfigurasi dan digunakan dalam pembuatan sistem baru.
  4. Component adaption and integration, jika tidak ada sistem yang siap pakai, maka masing-masing komponen yang dapat digunakan kembali akan dimodifikasi dan komponen baru akan dikembangkan. Nantinya komponen-komponen ini akan dintegrasikan untuk membuat suatu sistem.
    Dengan menggunakan model ini maka dapat mengurangi biaya pengembangan dan delivery software cenderung lebih cepat.

Pada proses pengembangan software juga terdapat beberapa aktivitas untuk mengatasi perubahan. Hal ini dapat dilakukan dengan pembuatan Prototipe yang bisa membantu mengeksplorasi solusi software dan dalam pembuatan antarmuka. Atau bisa dengan melakukan proses penyampaian yang bertahap sehingga perubahan dapat dilakukan tanpa mengganggu sistem secara keseluruhan. Lalu lakukanlan proses improvement dari pengembangan software yang telah dilakukan sehingga dapat meningkatkan kualitas software yang dibuat.


Kesimpulan:
Pada buku ini dijelaskan proses model dan aktivitasnya yang umum digunakan dalam software development. Setiap tahapan pada masing-masing proses model dijelaskan dengan rinci sampai dengan keuntungan dan kekurangannya. Selain membahas proses model, pada buku ini dijelaskan aktivitas untuk mengatasi perubahan dalam pengambangan software, dan bagaimana kita melakukan proses improvement-nya. Sehingga buku ini dapat dijadikan referensi untuk mempelajari software processes model. Dengan mengetahui tentang beberapa proses model ini dapat memudahkan tim pengembang dalam memilih model proses yang sesuai dengan pekerjannya dan dapar menerapkan sehingga dapat membantu tim pengembang memahami keseluruhan proses bisnis dan proses pengembangan software dapat berjalan dengan efektif.

 

Software Engineering #Chapter 3 – Agile Software Development

blog-removebg-preview

Ringkasan Agile Software Development
Metode agile adalah metode pengembangan berulang yang berfokus pada pengurangan biaya overhead dan proses dokumentasi serta pengiriman perangkat lunak tambahan. Metode ini cocok untuk pengembangan aplikasi dimana persyaratan sistem biasanya berubah dengan cepat, kemudian mengusulkan persyaratan baru dan perubahan untuk disertakan dalam iterasi sistem selanjutnya selama proses pengembangan.

Scrum merupakan metode agile yang telah muncul sebagai metode yang paling banyak digunakan. Proses scrum atau siklus sprint menghasilkan peningkatan produk dari setiap iterasi proses, kemudian dapat dikirimkan ke pelanggan. Titik awal siklus sprint scrum adalah product backlog. Product backlog merupakan daftar dari item seperti fitur produk, dokumen requirement, daftar cerita pengguna, atau deskripsi lain dari software yang akan dikembangkan oleh tim Scrum. Kemudian seluruh tim dilibatkan dalam memilih item mana yang memiliki prioritas tertinggi dan memperkirakan waktu yang dibutuhkan untuk menyelesaikan setiap sprint.

Dalam berbagai kisah sukses Scrum (Schatz and Abdelshafi 2005; Mulder and van Vliet 2008; Bellouiti 2009), hal-hal yang disukai pengguna tentang metode Scrum adalah:

  1. Produk dipecah menjadi serangkaian bagian yang dapat dikelola bersamaan dan dipahami oleh para pemangku kepentingan.
  2. Perubahan requirement saat pengembangan software tidak menghambat kemajuan progress.
  3. Seluruh tim dapat melihat progress pengerjaan produk, sehingga komunikasi dan semangat tim meningkat.
  4. Pelanggan melihat kemajuan progress, deliverable tepat waktu, dan mendapatkan feedback tentang produk dengan jangka waktu yang cukup pendek.
  5. Kepercayaan antara pelanggan dan pengembang terjalin, dimana setiap pelanggan mengharapkan produk berhasil dan sesuai dengan yang diharapkan.

Diketahui sebagian besar software engineering melakukan pemeliharaan dan pengembangan dari sistem yang ada. Berikut adalah keunggulan pada metode agile software development:

  1. Up to date, karena lebih fleksibel dan menerima perubahan berkelanjutan.
  2. Resource yang dibutuhkan tidak terlalu banyak.
  3. Alur kerja lebih singkat dan efisien,  sehingga kinerja tim menjadi lebih stabil.
  4. Interaksi antara client dan developer menjadi lebih intens dan responsif terhadap kebutuhan pengembangan software.

Tetapi bagaimana jika business requirement saat pemeliharaan perangkat lunak melibatkan sistem kustom yang harus diubah, tidak ada konsensus yang jelas mengenai kesesuaiannya?
Tiga jenis masalah dapat terjadi:

  1. Kurangnya dokumentasi produk dari pembangunan perangkat lunak sebelumnya
  2. Menjaga keterlibatan pelanggan dalam proses pengembangan
  3. Tim pengembangan harus dapat memahami perangkat lunak sebelumnya

Kesimpulan
Menurut saya buku ini sangat menarik untuk pembaca yang ingin mengetahui teknik agile development seperti user stories, refactoring, pair programming and test-first development. Pada buku ini pembaca juga dapat memahami perbedaan antara metode agile software development dengan plan-driven development, dan isu-isu pada scaling agile methods.

Sistem Fuzzy #Bab 5 – Aplikasi Praktis Fuzzy Dunia Nyata

SISTEM FUZZY

Bab 5 ” Aplikasi Praktis Fuzzy Dunia Nyata”

Hallo – hallo sahabat Auls, aku mau sedikit sharing nih dari buku yang udah aku baca

Pada masa kini, sistem fuzzy berkembang dengan pesat. Banyak sistem fuzzy yang dikembangkan menyelesaikan permasalahan – permasalahan yang terjadi di dunia nyata. Permasalah – permasalahan ini mencakup berbagai bidang antara lain bidang kendali, bidang manajemen, bidang rantai pasok, bidang telekomunikasi, dan lain – lain. Pada bab ” Aplikasi Praktis Fuzzy Dunia Nyata” akan membahas aplikasi praktis sitem fuzzy yang digunakan untuk menyelesaikan aplikasi permasalahan di dunia nyata.

1. Permasalahan Bidang Kendali ( Aplikasi Microcontroller)

Perkembangan teknologi kendali mengalami banyak kemajuan dan kendali  konvensional ke kendali otomatik sampai ke kendali cerdas. Logika Fuzzy digunkaan sebagai sistem kendali, karena proses kendali ini relatif mudah, fleksibel, dan dirancang dengan tidak melibatkan model matematis yan rumit dari sistem yang akan dikendalikan.Permasalahan di bidang kendali biasanya adalah mengendalikan sesuatu ( actuar, motor dc, dan lain – lain) berdasarkan input dari sensor yang digunakan ( misalkan suhu, intesitas cahaya, dan lain – lain). Beberapa pengendalian menggunakan microcontroller sebagai unit processing-nya. Sedangkan untuk output biasanya menggunakan metode PWM untuk melakukan kendalinya. Pada sistem pengendalian fuzzy menggunakan microcontroller ini biasanya menggunakan metode Mamdani atau Sugeno.

2. Permasalahan Bidang Telekomunikasi ( Routing pada WSN)

  Wireless Sensor Network (WSN) sebagai salah satu teknologi telekomunikasi bertujuan untuk mngurangi biaya infrastruktur dengan menggunakan komunikasi node to node baiik untuk aplikasi kota maupun aplikasi hutan. Masalah muncul secara alami, karena node dalam jaringan sensor nirkabel tersebar dan bekerja secara independen untuk setiap node.Masalah lain juga terjadi ketika data observasi telah dikumpulkan oleh semua node, data observasi tersebut harus dapat disampaikan kepada node teratas dengan error data minimum. Untuk dapat meminimalkan kesalahan pengirimkan data ketika data hasil pengamatan sensor dikirim ke node teratas, diperlukan adanya suatu algoritma yang mengatur routing (jalur pemilihan transmisi data) pada jaringan sensor nirkabel.

Algoritma routing adalah perilaku dari node jaringan yang mengatur tentang bagaimana node berkomunikasi antara satu sama lain dan memberikan data hasil pengamatan sensor dengan menggunakan komunikasi dan node ke node lainnya, dari node terjauh menuju node terdekat dengan node teratas (stasiun pengumpulan data). Dapat dengan mudah diketahui bahwa cara sederhana untuk mengirimkan dat ahsil pengamatan sensor adalah menggunakan routing jalur terpendek. Algoritma routing rute terpendek adalah algoritma unttuk menemukan jalur terpendek dari node terjauh ke node terminal lebih dekat dengan base stasiun.

3. Permasalah di Bidang Big Data ( Aplikasi Forecasting/Peramalan)

Salah satu permasalahan big data adalah forecasting atau perkiraan adalah cara untuk memberikan infromasi tambahan kepada para pembuat keputusan dengan mengolah data menjadi sebuah data yang menunjukkan tren pergerakan data tersebut dari waktu ke waktu, baik tren naik, tren turun, maupun trend datar.Pada contoh kasus ini, akan menggunakan data mentah berupa data – data penggunaan mesin ATM dari tahun 2017 sampai dengan tahun 2019. Dengan data – data mentah ini, akan memcoba untuk membuat perkiraan tentang kerusakan ATM yang terjadi karena penggunaan sehari – hari.

1. Pengumpulan Data Semesta

2. Mengelompokkan Data – Data

3. Menentukan Interval Setiap Kelompok ( Klasifikasi Data)

4. Fuzifikasi Nilai Linguistik

5. Menentukan FLR dan FLRG (Fuzzy Rule/Inference)

6. Defuzifikasi

7. Pengujian Akurasi Forecasting

Semoga bermanfaat untuk semua

TERIMA KASIH

 

Akhdani Tech Talk 2021 Series #8 – Database Transaction

Database Transaction

Oleh: Aldia Rahman Mahmudi, Arvin Rasheda, Hesti Pratiwi

Apa itu Database Transaction?

Database transaction adalah salah satu subset yang disediakan SQL. Gunanya untuk mengatur alur data transaksi dalam suatu database. Dengan menggunakan Database Transaction maka kita akan memasukan beberapa query kedalam satu blok dan DBMS akan menganggap query tadi menjadi suatu kesatuan, sehingga jika terjadi error pada salah satu query maka sistem akan membatalkan (rollback) query yang sudah di eksekusi sebelumnya. Konsep ini adalah pengertian dari Atomic yaitu do all or nothing (lakukan semua atau tidak sama sekali).

Konsep Dasar

Dalam implementasinya, kita akan bertemu dengan 3 istilah berikut:Dalam implementasinya, kita akan bertemu dengan 3 istilah berikut:

  • BEGIN/START TRANSACTION

Ini adalah perintah untuk memulai sesi database transaction.

  • COMMIT

Commit adalah perintah untuk menyimpan semua perubahan pada database secara permanen, commit ini dijalankan setelah semua query dieksekusi dan tidak ada error sama sekali.

  • ROLLBACK

Rollback adalah perintah untuk membatalkan semua perubahan data, rollback ini akan dijalankan ketika ada salah satu query yang error. Jika kita menggunakan try..catch, maka perintah rollback ini biasa disimpan di blok catch.

Properti ACID

ACID merupakan singkatan dari Atomicity, Consistency, Isolation, and Durability. ACID adalah karakteristik dari Database Transaksional yang menjamin transaksi database diproses secara reliable.

1

  1. Atomicity: transaksi merupakan suatu kesatuan yang tidak dapat dipisah. Suatu proses selesai secara menyeluruh atau tidak sama sekali.
  2. Consistency: semua proses yang terjadi di database harus memiliki state yang jelas. Sehingga ketika proses gagal, maka data akan dikembalikan seperti keadaan sebelum proses transaksi dimulai.
  3. Isolation: data yang belum selesai diproses harus terisolasi dari transaksi lainnya. Berarti bahwa satu transaksi tidak dapat membaca data dari transaksi lain yang belum selesai.
  4. Durability: kemampuan DBMS untuk menyimpan data transaksi yang terjadi. Sehingga jika terjadi kegagalan, DBMS menjamin bahwa data transaksi yang telah tersimpan tidak akan hilang.

State Transaksi

2

Beberapa state dalam sebuah transaksi, diantaranya:

  1. Active: inisiasi state, transaksi tetap berada pada state ini pada saat proses transaksi
  2. Partially committed: setelah statement final telah dieksekusi
  3. Failed: setelah ditelusuri bahwa eksekusi tidak dapat diproses kembali
  4. Aborted: setelah transaksi di-rolled back dan database di-restore ke kondisi awal sebelum transaksi dimulai.
  5. Committed: setelah transaksi sukses dipenuhi

Implementasi

Misalkan kita memiliki sebuah desain database berisi 2 buah tabel (“header” dan “detail”) yaitu “akun” dan “transaksi” untuk menyimpan saldo dan transaksi yang dilakukan user. Di dalam tabel akun terdapat attribute id, nama dan jumlah saldo user tersebut, dimana saldo memiliki check constraint yaitu saldo harus lebih besar atau sama dengan 0. Dalam satu akun dapat memiliki beberapa detail transaksi yang jenisnya dapat berupa debit dan kredit yang dapat di tuliskan dalam bentuk +/- dalam attribute jenis, besaran transaksi pada attribute jumlah, tanggal dilakukannya transaksi dan akunid yang merupakan foreign key dari tabel akun. Struktur data tersebut dalam database dapat digambarkan dalam sebuah skema sederhana sebagai berikut :

3

Contoh Kasus :

User A dan B memiliki sebuah akun, dimana dalam akun tersebut user A memiliki saldo awal sebesar Rp 100.000,00 dan user B memiliki saldo awal sebesar Rp 750.000,00.

4

Misal user B ingin melakukan transfer saldo sebesar Rp. 800.000,00 ke user A, dimana transaksi ini harusnya gagal karena user B hanya memiliki saldo sebesar Rp. 750.000,00. Disini kita akan mensimulasikan transaksi tersebut dalam bentuk query untuk memperbarui data transaksi dan saldo kedua akun tersebut tanpa menggunakan database transaction.

5

Terdapat error ketika melakukan update pada saldo user B karena saldo akhir menjadi -50.000 dan terdapat check constraint dimana minimal saldo harus lebih besar atau sama dengan 0. Ketika kita melihat kembali data pada tabel akun dan transaksi maka akan terdapat kesalahan data karena ketiga query sebelumnya berhasil dilakukan sedangkan saldo user B tidak berhasil di update.

67

Berikut ini perbandingan apabila kita menggunakan database transaction.

8

Ketika terjadi error kita tinggal melakukan perintah ROLLBACK untuk membatalkan semua perubahan data / mengembalikannya lagi ke state awal, atau lakukan COMMIT jika semua query sukses dijalankan dan data akan tersimpan. Disini kita akan melakukan ROLLBACK pada transaction tersebut.

9

Jika kita melihat kembali data yang ada pada tabel akun dan transaksi, maka tidak akan terdapat perubahan dimana saldo masih sesuai data awal dan transaksi masih kosong.

10 11

Kesimpulan

Database transaction dapat disebut sebagai salah satu fundamental dari pemrograman menggunakan database relasional karena dapat membantu mencegah inkosistensi data atau kesalahan yang terjadi akibat aksi yang dilakukan pada database. Secara umum implementasi database transaction dapat membantu meningkatkan keandalan, integritas dan kinerja aplikasi yang dibangun diatas database tersebut.

Akhdani Tech Talk 2021 Series #7 – Penerapan Algoritma Naive Bayes pada Klasifikasi Data Penerimaan Pegawai

PENERAPAN ALGORITMA NAIVE BAYES PADA KLASIFIKASI DATA PENERIMAAN PEGAWAI

oleh: Maulana, Hardi, Akbar

Apa itu Klasifikasi Naive Bayes ?

Naïve Bayes Classifier merupakan Metode pengklasifikasian dg menggunakan metode probabilitas dan statistik yg dikemukakan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai Teorema Bayes. Klasifikasi Naive Bayes diasumsikan bahwa ada atau tidak ciri tertentu dari sebuah kelas tidak adahubungannya dengan ciri dari kelas lainnya.

Alasan Memilih Algoritma Klasifikasi Naive Bayes ?

  • Naive Bayes Classifier bekerja sangat baik dibanding dengan model classifier lainnya. Hal ini dibuktikan oleh Xhemali , Hinde Stone dalam jurnalnya “Naïve Bayes vs. Decision Trees vs. Neural Networks in the Classification of Training Web Pages” mengatakan bahwa “Naïve Bayes Classifier memiliki tingkat akurasi yg lebih baik dibandingmodel classifier lainnya”.
  • Penggolong statistik: Melakukan prediksi probabilitas, misalnya: Memprediksi probabilitas keanggotaan kelas
  • Standar: Sekalipun metode Bayesian tidak dapat dilakukan secara komputasional, mereka dpaat memberikan standar pengambilna keputusan yang optimal yang ddapat diukur dengan metode lain.

Kelebihan dan Kekurangan Algoritma Naive Bayes

1. Kelebihan

  • Bisa dipakai untuk data kuantitatif maupun kualitatif
  • Tidak memerlukan jumlah data yang banyak
  • Tidak perlu melakukan data training yang banyak
  • Jika ada nilai yang hilang, maka bisa diabaikan dalam perhitungan.
  • Perhitungannya cepat dan efisien
  • Mudah dipahami
  • Mudah dibuat
  • Pengklasifikasian dokumen bisa dipersonalisasi, disesuaikan dengan kebutuhan setiap orang
  • Jika digunakan dalaam bahasa pemrograman, code-nya sederhana
  • Bisa digunakan untuk klasifikasi masalah biner ataupunmulticlass

2. Kekurangan

  • Apabila probabilitas kondisionalnya bernilai nol, maka probabilitas prediksi juga akan bernilai nol
  • Asumsi bahwa masing-masing variabel independen membuat berkurangnya akurasi, karena biasanya ada korelasi antara variabel yang satu dengan variabel yang lain
  • Keakuratannya tidak bisa diukur menggunakan satu probabilitas saja. Butuh bukti-bukti lain untuk membuktikannya.
  • Untuk membuat keputusan, diperlukan pengetahuan awal atau pengetahuan mengenai masa sebelumnya. Keberhasilannya sangat bergantung pada pengetahuan awal tersebut Banyak celah yang bisa mengurangi efektivitasnya
  • Dirancang untuk mendeteksi kata-kata saja, tidak bisa berupa gambar

skema-naive-bayesGambar 1.1. Skema Naive Bayes

Perancangan Sistem

flowchart-sistemGambar 2.1. Flowchart Sistem

diagram-classGambar 2.2. Diagram Kelas

Implementasi Klasifikasi Naive Bayes dan Rancangan Sistem 

Klasifikasi Naive bayes dibuat menggunakan bahasa pemrograman python yang terintegrasi dengan halaman web yang dibuat berdasarkan rancangan sistem diatas.

data-trainingGambar 3.1. Tabel Data Training

Tabel data training seperti gambar 3.1, data tersebut yang akan diklasifikasi menggunakan algoritma Naive Bayes dan digunakan sebagai pengambil keputusan untuk menentukan lulus atau tidaknya data baru calon pegawai.

halamanGambar 3.2. Halaman Form Input Sistem

dalam halaman web yang dibuat seperti Gambar 3.1. user akan menginput data calon pegawai seperti nama, nilai administrasi, nilai tes 1, nilai tes 2 dan nilai interviewnya. setelah user menginput data calon pegawai, sistem akan menentukan lulus atau tidaknya data calon pegawai berdasarkan hasil klasifikasi data training seperti pada gambar 3.3 dan gambar 3.4.lulus

Gambar 3.3. Tampilan Data Calon Pegawai Lulus

tidak-lulus

Gambar 3.4. Tampilan Data Calon Pegawai Tidak Lulus

Kesimpulan

1. Dengan adanya sistem ini, akan mempermudah pihak panitia penerimaan pegawai dalam memperkirakan calon pegawai yang akan bergabung sehingga panitia bisa mengambil keputusan untuk menerima atau tidak calon pegawai tersebut.

2. Pada algoritma Naive Bayes, semua attribut akan memberikan kontribusinya dalam pengambilan keputusan, dengan bobot atribut yang sama penting dan setiap atribut saling bebas satu sama lain.