Minggu, 31 Juli 2022

FingerPrint

 A. Latar Belakang 

Identitas diri merupakan suatu keharusan yang dimiliki oleh setiap orang. Tanpa identitas individu tidak akan dapat dikenali dengan benar. Berbagai cara memberi ataupun mengidentifikasi identitas diri seseorang. Baik secara fisik maupun secara biologis. Pemalsuan identitas sering terjadi dalam kasus penipuan maupun manipulasi data dalam banyak transaksi. Oleh itu peran teknologi informasi sangatlah penting untuk dikembangkan. Dari sinilah penulis mengambil topik tentang Fingerprint . 

B. Rumusan masalah 

Dalam prakteknya, secara fisik atau lebih dikenal identitas kartu masih rawan terhadap pemalsuan. Untuk mengatasi hal tersebut, teknologi informasi berperan penting untuk meminimalisasi masalah yang terjadi. Fingerprint merupakan salah satu penerapan teknologi informasi saat ini. Dengan teknologi ini identitas seseorang dapat diketahui bahkan jika ia melakukan operasi plastik sekalipun. Karena pola yang ada pada jari seseorang tidak akan berubah selama hidupnya. 

C. Tujuan Penulisan 

Tujuannya adalah untuk mengetahui bagaimana cara kerja serta penerapan teknologi identifikasi identitas dengan teknologi Fingerprint dan menginformasikannya kepada pembaca di manapun anda berada.

D. Manfaat Penulisan

 Adapun manfaat yang diharapkan tim Penulis dari makalah ini adalah : 

1. Dapat menambah wawasan dan pengetahuan untuk diri sendiri dan juga orang lain. 

2. Dapat dijadikan bahan rujukan untuk penulisan selanjutnya dengan tema yang terkait. 

3. Dapat memberikan gambaran penerapan teknologi dalam kehidupan sehari-hari dan manfaatnya dalam masyarakat banyak.

A. Pengenalan Fingerprint 

Sifat-sifat atau karakteristik yang dimiliki oleh sidik jari adalah parennial nature yaitu guratan-guratan pada sidik jari yang melekat pada manusia seumur hidup, immutability yang berarti bahwa sidik jari seseorang tak akan pernah berubah kecuali sebuah kondisi yaitu terjadi kecelakaan yang serius sehingga mengubah pola sidik jari yang ada dan individual yang berarti keunikan sidik jari merupakan originalitas pemiliknya yang tak mungkin sama dengan siapapun di muka bumi ini sekali pun pada seorang yang kembar identik. Adapun dalam kepolisisan terdapat 2 alat untuk teknologi sidik jari, yaitu:

 1) Fingerprint Scanner 

Sebuah sistem fingerprint scanner memiliki dua pekerjaan, yakni mengambil gambar sidik jari Anda, dan memutuskan apakah pola alur sidik jari dari gambar yang diambil sama dengan pola alur sidik jari yang ada di database. Ada beberapa cara untuk mengambil gambar sidik jari seseorang, namun salah satu metode yang paling banyak digunakan saat ini adalah optical scanning. Inti dari scanner optical adalah charge coupled device (CCD), sistem sensor cahaya yang sama digunakan pada kamera digital dan camcorder. CCD merupakan sebuah larik sederhana dari diode peka cahaya yang disebut photosite, yang menghasilkan sinyal elektrik yang merespon foton cahaya. Setiap photosite merekam sebuah pixel, titik kecil yang merepresentasikan cahaya 4 dan membenturnya. Pixel-pixel ini membentuk pola terang dan gelap dari sebuah gambar hasil scan sidik jari seseorang. Proses scan mulai berlangsung saat Anda meletakkan jari pada lempengan kaca dan sebuah kamera CCD mengambil gambarnya. 

2) Fingerprint Reader 

Fingerprint reader atau pembaca sidik jari merupakan alat yang digunakan untuk membaca sidik jari seseorang. Hasil dari pembacaan sidik jari tersebut berupa gambar dari bentuk sidik jari seseorang yang pastinya berbeda satu sama lain. Fingerprint reader bisa dikatakan juga sebagai Computer vision dikarenakan mempunyai fungsi yaitu:

  • Pengenalan Pola Sidik Jari 

        Alat ini telah banyak digunakan di badan intelejen di luar negeri untuk kepentingan mencari                    tersangka kejahatan yang meninggalkan barang bukti berupa sidik jari. 

  •  Pengenalan tulisan 

        Alat ini bisa mengidentifikasi suatu bentuk tulisan fisik ke dalam tulisan digital. Sudah terdapat            pada beberapa scanner terbaru. Reader tidak menyimpan data tapi hanya men-scan sidik jari lalu di         convert ke bentuk data kode/string yang kemudian dikirim ke webserver, kemudian webserver                membaca data kode/string tersebut sebagai sebuah id. Alat ini (Fingerprint ) dilengkapi dengan            kabel USB yang bisa di gunakan untuk menyambungkan ke PC dan bisa digunakan untuk                        mengambil data. Alat dapat menampung lebih dari 1000 templete/1jari dan lebih dari 100000                record. Penggunaan alat ini mudah dipakai oleh orang awam, dengan menempelkan jari pada alat            ini maka data dari pengguna/pembuat sim secara otomatis akan masuk ke database computer.


Selasa, 24 Mei 2022

Software Requirements Specification

Aplikasi untuk sistem informasi akademik mahasiswa


Oleh

Ronaldo Sinaga (20312070)


SOFTWARE REQUIREMENTS SPECIFICATION 

1. Pendahuluan 

Dokumen ini berisi tentang penjelasan pemakaian dan penulisan Spesifikasi Kebutuhan Perangkat Lunak (SKPL) atau Software Requirement Specification (SRS). Dokumen ini selanjutnya akan menggunakan istilah SRS. Software Requirement Specification (SRS) menjelaskan berbagai macam kebutuhan pembuatan produk, yaitu kebutuhan spesifik yang terdiri dari kebutuhan fungsionalitas, termasuk di dalamnya input, proses, dan output dari produk dan kebutuhan non-fungsionalitas. Kebutuhan antar muka juga digambarkan dengan jelas di dalam dokumen ini, terdiri dari kebutuhan antar pengguna, antar hardware yang menjelaskan kebutuhan yang harus ada untuk menjalankan atau mengoperasikan aplikasi sistem, kebutuhan antar software yang menjelaskan bagaimana cara pengguna berinteraksi dengan sistem, dan kebutuhan antar komunikasi. Dokumen ini dibuat untuk membantu membuat spesifikasi perangkat lunak yang akan dikembangkan dengan rancangan berorientasi proses. Pada prinsipnya, hasil analisis sistem perangkat lunak dengan rancangan ini diuraikan sebagai sekumpulan proses yang terorganisasi secara hirarkis, memberikan solusi, dan memberikan batasan masalah agar proyek tidak menyimpang terlalu jauh dari tujuan awal, serta manfaat dari sistem informasi yang akan dibuat. Software Requirement Spesification ini menjadi acuan agar proyek dapat berjalan dengan lancar selama pengerjaannya, serta sebagai bahan evaluasi mulai awal hingga akhir pengerjaannya.

1.1 Tujuan 

    Tujuan pembuatan perangkat lunak tentang Sistem Informasi Akademik ini adalah agar dapat dioptimalkan oleh penggunanya. Spesifikasi tujuannya adalah sebagai berikut: 

a. Memberikan suatu informasi kepada mahasiswa agar mahasiswa dapat menggunakan informasi yang tersedia. 

b. Memberikan kemudahan akses dan efisiensi waktu dalam hal kontrak mata kuliah. 

c. Memberikan feedback kepada mahasiswa dan dosen, baik laporan rekapitulasi maupun KHS per semester. 

d. Dapat melakukan layanan akademik seperti KRS, KHS, maupun transkrip secara online. 

e. Mengelola data mahasiswa, dosen, mata kuliah, dan layanan informasi yang berhubungan dengan akademik.

1.2 Ruang Lingkup 

    Semua hal yang tercantum dalam dokumen ini merupakan bagian dari ruang lingkup kebutuhan pembangunan perangkat lunak berupa aplikasi yang digunakan untuk pengelolaan Sistem Informasi Akademik berbasis web yang memiliki beberapa fasilitas, yaitu: 

a. Sistem mampu menampilkan data mahasiswa secara keseluruhan, baik tingkat universitas, fakultas, jurusan dan program studi, tahun angkatan, dll 

b. Sistem melayani pengisian KRS secara online 

c. Sistem mampu melayani pencetakan dan pengecekan KHS secara online 

d. Sistem mampu melayani akses secara bersamaan dan dalam waktu bersamaan e. Sistem mampu menampilkan jadwal mata kuliah baik secara keseluruhan ataupun yang ditawarkan 

f. Sistem mampu melayani pengecekan dan pencetakan transkrip sementara 

g. Sistem mampu mencatat dan menampilkan laporan akademik secara periodik 

h. Sistem mampu menampilkan mahasiswa beserta dosen pembimbingnya (PA ataupun TA) 

i. Sistem mampu menampilkan daftar dosen dan mata kuliah yang diampunya.


1.3 Definisi, Singkatan, dan Istilah 

a. SRS: Software Requirements Specifications (Spesifikasi Persyaratan Perangkat Lunak) 

b. Software Requirement Specification (SRS) adalah dokumen yang menggambarkan secara detail spesifikasi kebutuhan software dalam pembangunan perangkat lunak 

c. Software: Perangkat Lunak 

d. Hardware: Perangkat Keras


2. Deskripsi Umum 

Keberadaan pengolahan data menjadi informasi secara terkomputerisasi menjadi sangat penting. Hal itu dikarenakan pengolahan data secara terkomputerisasi dapat memberikan kontribusi yang besar untuk kinerja suatu organisasi. Tanpa adanya sistem yang terkomputerisasi, organisasi akan menghadapi kendala untuk mendapatkan informasi yang aktual dan akurat. Hal itu dapat disebabkan oleh proses pengumpulan dan pengolahan data masih dilakukan secara manual. Dengan bantuan sistem yang terkomputerisasi, informasi dapat dikelola dengan baik, sehingga dapat menciptakan efisiensi waktu dan biaya. Universitas sebagai suatu organisasi tentunya membutuhkan sistem informasi dalam mengelola mahasiswa, sarana dan prasarana, dosen dan karyawan, keuangan, serta kegiatan lainnya yang berhubungan dengan penyelenggaraan kegiatan universitas. Universitas Teknokrat Indonesia sebagai salah satu penyelenggara pendidikan memiliki sistem informasi untuk akademik. Proses akademik yang dapat ditangani oleh UTI saat ini hanya sebatas pengelolaan nilai yang dilakukan oleh fakultas tetapi mahasiswa belum bisa mendapatkan feedback secara langsung. Mahasiswa menunggu hingga awal semester baru dan datang sendiri ke fakultas untuk melihat atau meminta transkrip nilai. Diharapkan sistem ini dapat mendayagunakan sistem yang sudah ada saat ini, sehingga end user dapat dengan mudah mengakses informasi yang dibutuhkan sewaktu waktu.


2.1 Perspektif Produk 

Dokumen ini mendeskripsikan factor-faktor yang mempengaruhi perangkat lunak secara umum dan kebutuhannya. Perangkat lunak yang akan dibangun diharapkan dapat memberikan efisiensi dan efektivitas dalam proses layanan akademik. Kemudian produk ini akan dijalankan oleh admin pemilik sistem dan user yang memiliki koneksi ke internet. Pengguna sistem terbagi dalam 5 kategori yaitu Root/Super Administrator, Administrator, Sub. Bagian Akademik, Dosen dan Mahasiswa. Produk ini dapat berjalan pada platform atau sistem operasi apa saja yang mendukung aplikasi berbasis web. Implementasi perangkat lunak juga diharapkan dapat mengurangi permasalahan dalam layanan akademik seperti KRS, KHS, dll.


2.2 Fungsi Produk 

Adapun fungsi dari sistem ini antara lain: 

a. Fungsi bagi masyarakat akademis Sebagai sebuah sarana untuk melakukan kegiatan belajar dan mengajar (proses akademik) pada dunia maya yang menghemat waktu. Sesuai dengan layanan-layanan yang ditawarkan, para civitas akademika pada lingkungan UTI akan merasakan hal yang sama layaknya kegiatan yang biasa dilakukan secara konvensional/manual. 

b. Fungsi bagi instansi terkait Sebagai sarana mempermudah instansi untuk memberikan informasi-informasi terkait akademik kepada anggota-anggota akademiknya. Secara umum fungsi pada proses Sistem Informasi Akademik UTI ini dimulai dari login username dan password, dalam hal ini tiaptiap user (bergantung dari masing-masing karakteristik user) telah mempunyai hak akses khusus untuk mengakses tiap-tiap form.


2.3 Karakteristik User 

Dalam rancang bangun Sistem Informasi Akademik memiliki karakteristik masingmasing user sebagai berikut: 

a. Root/Super Administrator 

  1. Melakukan input, update, edit, dan hapus database mahasiswa yang terintegrasi bersama data kepegawaian dan aset (sarana prasarana) 
  2. Mengatur hak akses (privilege) setiap user 
  3. Mengendalikan/mengontrol aktifitas yang terjadi dalam sistem 
  4. Menjamin keamanan dan kelancaran data pada sistem 

b. Administrator Program Studi 

  1. Memasukkan daftar mata kuliah 
  2. Membuat dan menawarkan jadwal kelas mata kuliah, jadwal ujian, jadwal sidang serta menyusun paket kelas mata kuliah untuk mahasiswa (bila dibutuhkan) 
  3. Melakukan penentuan Dosen Pembimbing Akademik untuk tiap mahasiswa
c. Staff Bagian Akademik 
  1. Membuat kalender akademik untuk program studi 6 
  2. Menyusun dan mengubah kurikulum untuk program studi 
  3. Melakukan verifikasi dari pengajuan mata kuliah spesial seperti skripsi, tesis, disertasi, dan sebagainya yang dilakukan oleh mahasiswa 
  4. Mengubah status mahasiswa ke status tertentu yang diperbolehkan seperti cuti, sesuai ketentuan yang berlaku
d. Dosen 
User ini dapat digolongkan menjadi 3 bagian, yaitu: 
  • Dosen Pembimbing Akademik 
  1. Melihat kalender akademik 
  2. Melihat jadwal kelas mata kuliah, jadwal ujian, serta jadwal sidang di program studi yang bersangkutan 
  3. Melihat nilai mahasiswa yang dibimbing 
  • Dosen Pengampu Mata Kuliah 
  1. Melihat kalender akademik 
  2. Melihat jadwal kelas mata kuliah, jadwal ujian, serta jadwal sidang di program studi yang bersangkutan 
  3. Melihat daftar peserta kelas mata kuliah yang diampu 
  4. Mengisi satuan acara pengajaran (SAP) untuk kelas mata kuliah yang diampu
  5. Mengisi komponen penilaian dan nilai akhir untuk kelas mata kuliah yang diajarkan 
  • Dosen Pembimbing Skripsi/Tesis/Disertasi/Kerja Praktek 
  1. Melihat kalender akademik 
  2. Melihat jadwal kelas mata kuliah, jadwal ujian, serta jadwal sidang di program studi yang bersangkutan 
  3. Mengisi catatan bimbingan untuk mahasiswa yang sedang mengambil mata kuliah spesial seperti skripsi/tesis/disertasi/kerja praktek bimbingannya
e. Mahasiswa 
  1. Melihat kalender akademik 
  2. Melihat ringkasan data akademik (KHS) 
  3. Melihat riwayat akademik yang telah dijalani mahasiswa (transkrip nilai) 
  4. Melihat jadwal kelas mata kuliah, jadwal ujian, serta jadwal sidang di program studi yang bersangkutan 
  5. Mengisi Kartu Rencana Studi (KRS) pada masa registrasi akademik 
  6. Melihat rencana perkuliahan dari kelas mata kuliah yang sedang diambil

2.4 Batasan-batasan 

Batasan proyek Sistem Informasi Akademik ini adalah sebagai berikut: 
a. Sistem informasi ini akan dibangun dengan menggunakan Bahasa Pemogramaman PHP. 
b. Sistem informasi yang akan dibangun dilengkapi dengan pemberian hak akses masing-masing user, antara lain Root/Super Administrator, Administrator, Staff Bagian Akademik, Dosen dan Mahasiswa. 
c. Sistem informasi yang dibangun adalah pengembangan dari Sistem Informasi Akademik tentang Kontrak Mata Kuliah/Isian KRS. 
d. User yang menggunakan sistem ini harus login dengan username dan password yang telah ditentukan sebelumnya. 
e. Input atau masukan dari sistem ini, untuk mahasiswa menggunakan Nomor Induk Mahasiswa (NIM) sebagai username dan password yang sebelumnya telah ditentukan, sedangkan untuk dosen menggunakan NIDN sebagai username dan NIP sebagai password. 
f. Output dari sistem ini adalah informasi mengenai akademik, pada user mahasiswa antara lain kartu rencana studi (KRS), kartu hasil studi (KHS), transkrip sementara, rekapitulasi hasil studi mahasiswa selama mengikuti perkuliahan, jadwal kuliah mahasiswa, jadwal ujian mahasiswa, dan laporan presensi mahasiswa. 

3. Kebutuhan-kebutuhan Antarmuka Eksternal 

3.1 Antarmuka User 

Aplikasi Sistem Informasi Akademik UGM ini menggunakan antarmuka berbasis web. Pengguna mengoperasikannya menggunakan keyboard dan mouse dengan sistem operasi apa saja.

3.2 Antarmuka Perangkat Keras 

Perangkat keras yang dibutuhkan untuk membantu kelengkapan pembangunan sistem yang sedang dirancang meliputi: 
a. UPS, merupakan generator mini yang digunakan untuk membantu server agar selalu dapat dalam kondisi menyala. Dan juga diharapkan dengan penggunaan alat bantu UPS tidak terjadi kerusakan dalam media penyimpanan dalam computer server. 
b. Keyboard, merupakan salah satu alat untuk proses menginputkan informasi yang dibutuhkan oleh system. Baik berupa karakter, angka maupun symbol-symbol yang dibutuhkan oleh system. 
c. Mouse, membantu system untuk dapat mengenali inputan dari pengguna dengan melakukan click, drag, dll. 
d. Monitor, membantu pengguna untuk mengetahui dan menampilkan apa yang menjadi output dari system. Serta menjadi perantara komunikasi antara system dengan pengguna. e. Komputer PC, dengan spesifikasi processor 2.1 GHz, Memory (RAM) 2 GB, Hardisik 360 GB, VGA 1 GB.

3.3 Antarmuka Perangkat Lunak 

Spesifikasi minimal perangkat lunak yang dibutuhkan untuk pengoperasian sistem, antara lain: 
a. Sistem operasi Microsoft Windows 7 
b. Sistem ini dibangun menggunakan Bahasa pemograman PHP dan DBMS MySQL untuk sistem databasenya. Serta menggunakan Microsoft Visio Project untuk manajemen desain dan proyek 
c. Web-browser seperti Opera, Mozilla, Google Chrome, ataupun yang lain

3.4 Antarmuka Komunikasi 

Desain antarmuka untuk komunikasi dalam sistem yang dibangun menggunakan jaringan kabel LAN (Local Area network) sebagai penghubung antara komputer server dengan komputer client yang dihubungkan dengan media perantara kabel dengan konektor RC 45 sehingga dapat dikenali antara satu komputer dengan yang lain.






4.3 Catatan Akses (Log) 

Aplikasi Sistem Informasi Akademik dilengkapi dengan catatan akses (Log) untuk setiap pengguna login. Dengan kemampuan ini diharapkan seluruh aktivitas pengguna login dapat terpantau, sehingga memudahkan untuk pemeriksaan di masa yang akan datang

4.4 Fungsi Informasi 

Fungsi informasi dalam Sistem Informasi Akademik yang dimaksud adalah informasiinformasi yang tersedia dalam sistem yang berkaitan dengan proses akademik yang berlangsung baik dalam kontek program studi, jurusan maupun universitas. Fungsi informasi ini diimplementasikan dalam bentuk menu-menu yang dikelompokkan berdasarkan kategorinya. 
Adapun menu-menu yang tersedia, diantaranya adalah: 
  1. Menu Home menampilkan halaman selamat datang, yang berisi berita ataupun pengumuman bagi pengguna. 
  2. Menu Sistem menampilakan daftar nilai akhir dan nilai komponen mahasiswa dalam suatu kelas mata kuliah. 
  3. Menu Kalendar menampilkan daftar kegiatan dalam 1 periode tahun ajaran dan dapat menambah daftar kegiatan. 
  4. Menu Pembimbing menampilkan daftar Pembimbing akademik beserta daftar mahasiswa bimbingan. 
  5. Menu Matakuliah menampilkan daftar mata kuliah dengan terlebih dahulu memilih kurikulum tertentu. 
  6. Menu Kurikulum menampilkan daftar kurikulum di suatu program studi yang juga dapat diubah serta dapat meng-assign mahasiswa untuk mengadaptasi kurikulum tertentu. 
  7. Menu Perkuliahan dapat melakukan fungsi-fungsi yang berkaitan dengan perkuliahan, seperti absensi, penilaian dan lain-lain. 
  8. Menu Mahasiswa dapat melakukan fungsi-fungsi yang berkaitan dengan mahasiswa, seperti melihat daftar mahasiswa, update status mahasiswa dan perubahan nilai mahasiswa. 
  9. Menu Jadwal menampilkan, menambah ataupun mengubah jadwal perkuliahan dan jadwal ujian 
  10. 1Menu Laporan menampilkan beberapa Laporan yang dapat dicetak. Laporan-laporan secara garis besar dikelompokkan menjadi 3, yaitu: 
  • Laporan Awal semester 
  • Laporan Akhir semester 
  • Laporan Isidental 
    11. Menu Support menampilkan dokumen manual, FAQ, PDF reader untuk membuka dokumentasi.



Kamis, 06 Januari 2022

IMPLEMENTASI ALGORITMA BRANCH & BOUND

  Sebagaimana pada algortima runut-balik, algoritma Branch & Bound juga merupakan metode pencarian di dalam ruang solusi secara sistematis. Ruang Solusi diorganisasikan ke dalam pohon ruang status. Pembentukan pohon ruang status. Pembentukan pohon ruang status pada algoritma B&B berbeda dengan pembentukan pohon pada algoritma runutbalik. Bila pada algoritma runut-balik ruang solusi dibangun secara Depth-First Search(DFS), maka pada algoritma B&B ruang solusi dibangun dengan skema Breadth-First Search (BFS).

            Pada algoritma B&B, pencarian ke simpul solusi dapat dipercepat dengan memilih simpul hidup berdasarkan nilai ongkos (cost). Setiap simpul hidup diasosiasikan dengan sebuah ongkos yang menyatakan nilai batas (bound). Pada prakteknya, nilai batas untuk setiap simpul umumnya berupa taksiran atau perkiraan. Fungsi heuristik untuk menghitung taksiran nilai tersebut dinyatakan secara umum sebagai :

(i) = (i) + (i)

yang dalam hal ini :

(i) = ongkos untuk simpul i

(i) = ongkos mencapai simpul i dari akar

(i) = ongkos mencapai simpul tujuan dari simpul akar i (perkiraan)

        Nilai digunakan untuk mengurutkan pencarian. Simpul berikutnya yang dipilih untuk diekspansi adalah simpul yang memiliki  minimum (Simpul-E). Strategi memilih simpul-E seperti ini dinamakan strategi pencarian berdasarkan biaya terkecil (least cost search).

Prinsip dari algoritma branch and bound ini adalah :

1. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar adalah simpul solusi (goal node), maka solusi telah ditemukan. Stop.

2. Jika kosong, tidak ada solusi . Stop.

3. Jika tidak kosong, pilih dari antrian simpul yang mempunyai (i) paling kecil. Jika terdapatbeberapa simpul yang memenuhi, pilih satusecara sembarang.

4. Jika simpul adalah simpul solusi, berarti solusi sudah ditemukan, stop. Jika simpul bukan simpul solusi, maka bangkitkan semua anak-anaknya. Jika tidak mempunyai anak, kembali ke langkah 2.

5. Untuk setiap anak dari simpul i, hitung  (j), dan masukkan semua anak-anak tersebut ke dalam antrian Q.

6. Kembali ke langkah 2.

Knapsack Problem Solve

        Untuk lebih memahami tahap-tahap penyelesaian permasalahan knapsack ini, kita ambil contoh persoalan seperti yang dituliskan pada bagian Abstrak yaitu dimana seorang pedagang keperluan rumah tangga keliling harus memilih barang-barang yang akan dijual setiap harinya dengan batas daya angkut gerobak yang dimilikinya. Untuk mempermudah, kita misalkan pedagang keliling tersebut hanya memiliki 4 jenis barang untuk dijual dengan berat dan keuntungan penjualan yang berbeda-beda untuk tiap jenisnya. 

    Gerobak yang akan dipakai untuk mengangkut barang-barang tersebut hanya mampu menampuk beban seberat 16 kg. Berikut merupakan tebel penggambaran beratdan keeuntungan yang akan diperoleh untuk tiap penjualan barang tersebut.


    dari tiap tiap simpul anak untuk dapat menentukan simpul mana yang kelak akan dibangkitkan yaitu simpul dengan cost tertinggi dalam penelusuran pohon unutk mencapai solusi dari permasalahan ini. Dalam permasalahan ini, kita akan mencari simpul-simpul yang akan membawa kita pada keuntungan terbesar oleh karena itu urutan pembangkitan simpul akan ditentukan oleh simpul mana yang memiliki cost tertinggi. Cost dari tiap simpul akan ditentukan dengan:

(i) = (i) + (i)

yang dalam hal ini,

(i) = cost untuk simpul i

(i) = cost untuk sampai ke simpul I, dalam hal ini merupakan keuntungan dari simpul akar ke simpul i

(i) = cost dari simpul i untuk sampai ke simpul tujuan, dalam hal ini dapat diperoleh dengan menggunakan rumus : (P/W)max * daya angkut yang tersisa

        pada tahap awal kita akan melakukan perhitungan dengan menggunakan rumus diatas untuk memperoleh batas awal atau akar dari pohon yang juga merupakan simpul pertama. Pada keadaan ini, batas dihitung dengan pemikiran bahwa belum ada satupun barang yang dimasukan kedalam alat pengangkut maka kita dapat memilih 6 sebagai (P/W) terbesar karena belum ada satu barangpun yang dimasukan kedalam alat pengangkut dan kapasitas daya angkutpun masih utuh yaitu seberat 16 kg.

(i) = (i) + (i)

(1) = keuntungan yang diperoleh sampai disimpul

awal + (P/W)max * daya angkut yang tersisa

= 0 + 6 *

= 96

 Maka kita memperoleh 96 batas awal atau cost dari simpul awal.

        Bangkitkan simpul-simpul anak dari akar pohon yaitu dengan membangkitkan simpul 1, simpul 2, simpul 3 dan simpul 4 sebagai gambaran dari 4 pilihan barang yang akan dimasukan pertama kali pada alat pengangkut dengan x1 merupakan keuntungan yang akan diperoleh pada penjualan tiap barang tersebut. Kemudian kita akan menghitung cost dari tiap simpul anak yang hidup dan juga kelayakannya untuk tetap hidup atau harus dibunuh. Dalam hal ini, simpul yang jumlah dari lintasannya tidak bisa lagi dibangkitkan (jika ditambah barang lagi kedalam alat pengangkut maka beratnya akan melebihi daya angkut) akan dibunuh.

(2) = 12 + 5*(16-2) = 82

(3) = 15 + 6*(16-5) = 81

(3) = 50 + 6*(16-10)=86

(4) = 10 + 6*(16-5)=76

        Dari simpul-simpul yang telah dibangkitkan dan dihitung cost nya, maka diperoleh bahwa simpul lah yang memiliki cost tertinggi oleh karena itu maka simpul 4 akan di perluas lagi. Simpul 6 ,7,8 akan dibangkitkan sebagai perluasan dari simpul 4 dengan barang yang mungkin dimasukan kedalam alat pengangkut adalah barang ke 1,2 dan 4. kemudian kita akan mengkitung cost dari simpul 6,7dan 8.

(6) = (50+12) + 3*(16-10-2) = 74

(7) = (50+15) + 6*(16-10-5) = 71

(8) = (50+10) + 6*(16-10-5) = 66

Sabtu, 18 Desember 2021

Implementasi Algoritma Divide and Conquer pada Sorting dan Searching

 1.   Implementasi Algoritma Divide and Conquer Merge sort

Beberapa algoritma mengimplementasikan konsep rekursi untuk menyelesaikan permasalahan. Permasalahan utama kemudian dipecah menjadi sub-masalah, kemudian solusi dari sub-masalah akan membimbing menuju solusi permasalahan utama.

Pada setiap tingkatan rekursi, pola tersebut terdiri atas 3 langkah.

1. Divide

    Memilah masalah menjadi sub masalah

2. Conquer

    Selesaikan sub masalah tersebut secara rekursif. Jika sub-masalah tersebut cukup ringkas dan sederhana, pendekatan penyelesaian secara langsung akan lebih efektif

3. Kombinasi

    Mengkombinasikan solusi dari sub-masalah, yang akan membimbing menuju penyelesaian atas permasalahan utama

Seperti yang telah dijelaskan sebelumnya, Merge sort menggunakan pola divide and conquer. Dengan hal ini deskripsi dari algoritma dirumuskan dalam 3 langkahberpola divide-and-conquer. Berikut menjelaskan langkah kerja dari Merge sort.

1. Divide

    Memilah elemen – elemen dari rangkaian data menjadi dua bagian.

2. Conquer

    Conquer setiap bagian dengan memanggil prosedur merge sort secara rekursif

3. Kombinasi

    Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan

Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakan bahwa bagian tersebut telah terurut sesuai rangkaian.


2.  Implementasi Algoritma Divide and Conquer Quick Sort

Quicksort ditemukan oleh C.A.R Hoare. Seperti pada merge sort, algoritma ini juga berdasar pada pola divide-and-conquer. Berbeda dengan merge sort, algoritma ini hanya mengikuti langkah – langkah sebagai berikut :

1. Divide

Memilah rangkaian data menjadi dua sub-rangkaian A[p…q-1] dan A[q+1…r] dimana setiap elemen A[p…q-1] adalah kurang dari atau sama dengan A[q] dan setiap elemen pada A[q+1…r] adalah lebih besar atau sama dengan elemen pada A[q]. A[q] disebut sebagai elemen pivot. Perhitungan pada elemen q merupakan salah satu bagian dari prosedur pemisahan.

2. Conquer

Mengurutkan elemen pada sub-rangkaian secara rekursif

Pada algoritma quicksort, langkah “kombinasi” tidak di lakukan karena telah terjadi pengurutan elemen – elemen pada sub-array

Quick sort melakukan proses langsung di dalam array masalah sehingga tidak memerlukan memory tambahan untuk menyimpan submasalah. Merge sort melakukan sebaliknya.

Tehnik quick sort sebagai berikut

· Mempartisi table sehingga diasumsikan pengurutan dari kiri ke kanan

· Elemen T[i] berada di tempat yang benar

· Tidak ada elemen yang lebih besar nilainya di kiri i

· Tidak ada elemen yang nilainya lebih kecil di kanan i

· Partisi tabel (secara implisit juga melakukan pengurutan tabel). Jika belum urut, partisi kembali partisi dari table (rekursif)

· Gabungkan semua partisi.


3. Implementasi Algoritma Divide and Conquer Sequential Sort

Algoritma pencarian secara linear adalah algoritma untuk mencari sebuah nilai pada table sambarang dengan cara melakukan pass atau transversal. Transversal dari awal sampai akhir table. Ada dua macam cara pencarian pada table. Algoritma mempunyai dua jenis metode yaitu dengan Boolean dan tanpa Boolean.

Sequential search Dikenal sebagai linear search Mencari key(info yang dicari) pada suatu data tak terurut hingga data di temukan atau data sudah mencapai akhir larik

Syarat menggunakan sekuential search adalah :

• Data tersimpan dalam keadaan terurut

• Pencarian secara ascending atau descending

• Alamat terakhir(P1) dari larik (P) adalah =  0<= P1 <= P-1


4. Implementasi Algoritma Divide and Conquer Counting sort

Adalah sebuah algoritma sorting linear yang digunakan untuk mengurutkan ‘item’ ketika urutannya telah ditentukan dan memiliki panjang yang terbatas. Bilangan interval yang telah tetap, katakana k1 ke k2 adalah contoh dari ‘item’ tersebut. Counting sort sebenarnya merupakan metode pengurutan yang memanfaatkan index variabel array. Hanya effektif pada data yang nilainya kecil.

Algoritma ini diproses dengan mendefinisikan sebuah hubungan urutan antara ‘item’ yang akan disorting. Katakana ‘item’ yang akan disorting adalah variable A. Maka, terdapat sebuah array tambahan dengan ukuran yang serupa dengan array A. katakana array tersebut adalah array B. untuk setiap element di A, sebut e, algoritma ini menyimpan jumlah ‘item’ di A lebih kecil dari atau sama dengan e di B(e). jika hasil sorting yang terakhir disimpan di array C, maka untuk masing-masing e di A, dibuat dalam arah yang sebaliknya, yaitu C[B(e)]=e. setelah step di atas, niali dari B(e) berkurang dengan 1.

Algoritma ini membuat 2 passover A dan passover B. Jika ukuran dari range k lebih kecil dari ukuran input n, maka time complexity = O(n). perhatikan juga bahwa algoritma ini stabil yang berarti bahwa sambungan diselesaikan dengan langsung mengabarkan element-element yang muncul pertama kali.

Adapun syarat algoritma ini berjalan dengan baik ialah:

Data harus bilangan bulat yang bernilai lebih besar atau sama dengan nol

Range data diketahui

Ada 3 macam array yang terlibat:

Array untuk mengisi bilangan yang belum diurutkan.

Array untuk mengisi frekuensi bilangan itu, sekaligus sebagai penghitung kejadian.

Array untuk mengisi bilangan yang sudah diurutkan.


5.   Implementasi Algoritma Divide and Conquer Selection Sort

Jika anda diminta untuk membuat algoritma sorting tersendiri, anda mungkin akan menemukan sebuah algoritma yang mirip dengan selection sort. Layaknya insertion sort, algoritma ini sangat rapat dan mudah untuk diimplementasikan. Mari kita kembali menelusuri bagaimana algoritma ini berfungsi terhadap satu paket kartu. Asumsikan bahwa kartu tersebut akan diurutkan secara ascending. Pada awalnya, kartu tersebut akan disusun secara linier pada sebuah meja dari kiri ke kanan, dan dari atas ke bawah. Pilih nilai kartu yang paling rendah, kemudian tukarkan posisi kartu ini dengan kartu yang terletak pada pojok kiri atas meja. Lalu cari kartu dengan nilai paling rendah diantara sisa kartu yang tersedia. Tukarkan kartu yang baru saja terpilih dengan kartu pada posisi kedua. Ulangi langkah – langkah tersebut hingga posisi kedua sebelum posisi terakhir dibandingkan dan dapat digeser dengan kartu yang bernilai lebih rendah.

Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari i dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.


6.   Implementasi Algoritma Divide and Conquer Insertion Sort

Salah satu algoritma sorting yang paling sederhana adalah insertion sort. Ide dari algoritma ini dapat dianalogikan seperti mengurutkan kartu. Penjelasan berikut ini menerangkan bagaimana algoritma insertion sort bekerja dalam pengurutan kartu. Anggaplah anda ingin mengurutkan satu set kartu dari kartu yang bernilai paling kecil hingga yang paling besar. Seluruh kartu diletakkan pada meja, sebutlah meja ini sebagai meja pertama, disusun dari kiri ke kanan dan atas ke bawah. Kemudian kita mempunyai meja yang lain, meja kedua, dimana kartu yang diurutkan akan diletakkan. Ambil kartu pertama yang terletak pada pojok kiri atas meja pertama dan letakkan pada meja kedua. Ambil kartu kedua dari meja pertama, bandingkan dengan kartu yang berada pada meja kedua, kemudian letakkan pada urutan yang sesuai setelah perbandingan. Proses tersebut akan berlangsung hingga seluruh kartu pada meja pertama telah diletakkan berurutan pada meja kedua. Algoritma insertion sort pada dasarnya memilah data yang akan diurutkan menjadi dua bagian, yang belum diurutkan (meja pertama) dan yang sudah diurutkan (meja kedua). Elemen pertama diambil dari bagian array yang belum diurutkan dan kemudian diletakkan sesuai posisinya pada bagian lain dari array yang telah diurutkan. Langkah ini dilakukan secara berulang hingga tidak ada lagi elemen yang tersisa pada bagian array yang belum diurutkan.


7.    Implementasi Algoritma Divide and Conquer Linier Searhing

Algoritma pencarian secara linear adalah algoritma untuk mencari sebuah nilai pada table sambarang dengan cara melakukan pass atau transversal. Transversal dari awal sampai akhir table. Ada dua macam cara pencarian pada table. Algoritma mempunyai dua jenis metode yaitu dengan Boolean dan tanpa Boolean.


8.   Implementasi Algoritma Divide and Conquer Binary Searching

Algoritma pencairan secara linear melakukan pengulangan sebanyak 1 kali untuk kasus terbaik (value sama dengan elemen pertama dalam tabel) dan Nmax kali untuk kasus terburuk. Sehingga algoritma ini mempunyai kompleksitas algoritma O(n).

Algoritma pencarian biner adalah algoritma untuk mencari sebuah nilai pada tabel teurut dengan cara menghilangkan setengah data pada setiap langkah. Algoritma ini mencari nilai yang dicari dengan tiga langkah yaitu :

• Mencari nilai tengah dari tabel (median).

• Melakukan perbandingan nilai tengah dengan nilai yang dicari untuk menentukan apakah nilai yang dicari ada pada sebelum atau setelah nilai tengah.

• Mencari setengah sisanya dengan cara yang sama.

Kamis, 09 Desember 2021

Sejarah, Definisi dan Cara Kerja Algoritma Divide and Conquer.

 Sejarah, Definisi dan Cara Kerja Algoritma Divide and Conquer.

Halo teman-teman semua, selamat datang kembali pada Web Blog kami, yaitu Awonapa. Pada kesempatan ini saya akan membahas mengenai Sejarah, Definisi dan Cara Kerja Algoritma Divide and Conquer.

Sejarah, Definisi dan Cara Kerja Algoritma Divide and Conquer.

Sejarah Algoritma Devide dan Conquer

Awal dari algoritma ini utamanya adalah pengurangan dan penaklukan - masalah asli secara berturut-turut dipecah menjadi sub-masalah tunggal, dan memang dapat diselesaikan secara berulang.

Pencarian biner, algoritma penurunan-dan-taklukkan di mana sub-masalah berukuran kira-kira setengah dari ukuran aslinya, memiliki sejarah yang panjang. Sementara deskripsi yang jelas tentang algoritma pada komputer muncul pada tahun 1946 dalam sebuah artikel oleh John Mauchly, gagasan untuk menggunakan daftar item yang diurutkan untuk memfasilitasi pencarian tanggal kembali setidaknya sejauh Babylonia pada 200 SM.
Algoritma penurunan-dan-taklukkan kuno lainnya adalah algoritma Euclidean untuk menghitung pembagi persekutuan terbesar dari dua bilangan dengan mengurangi bilangan tersebut menjadi subproblem ekuivalen yang lebih kecil dan lebih kecil, yang berasal dari beberapa abad SM.

Contoh awal dari algoritma bagi-dan-taklukkan dengan beberapa subproblem adalah deskripsi Gauss tahun 1805 tentang apa yang sekarang disebut algoritma Cooley – Tukey fast Fourier transform (FFT), meskipun dia tidak menganalisis jumlah operasinya secara kuantitatif, dan FFT tidak tersebar luas sampai mereka ditemukan kembali lebih dari satu abad kemudian.

Algoritma D&C dua sub problem awal yang secara khusus dikembangkan untuk komputer dan dianalisis dengan benar adalah algoritma pengurutan gabungan, yang ditemukan oleh John von Neumann pada tahun 1945.

Contoh penting lainnya adalah algoritma yang ditemukan oleh Anatolii A. Karatsuba pada tahun 1960 [8] yang dapat mengalikan dua angka n-digit di O (n log 2 ⁡ 3) {\ displaystyle O (n ^ {\ log _ {2} 3} )} O (n ^ {\ log _ {2} 3}) operasi (dalam notasi Big O). algoritma ini menyangkal dugaan Andrey Kolmogorov tahun 1956 bahwa operasi Ω (n 2) {\ displaystyle \ Omega (n ^ {2})} \ Omega (n ^ {2}) diperlukan untuk tugas tersebut.
Sebagai contoh lain dari algoritma bagi-dan-taklukkan yang awalnya tidak melibatkan komputer, Donald Knuth memberikan metode yang biasanya digunakan kantor pos untuk merutekan surat: surat diurutkan ke dalam kantong terpisah untuk wilayah geografis yang berbeda, masing-masing kantong ini diurutkan sendiri ke dalam batch untuk sub-wilayah yang lebih kecil, dan seterusnya sampai dikirimkan. Ini terkait dengan jenis radix, yang dijelaskan untuk mesin sortir kartu berlubang sejak tahun 1929.

Definisi Algoritma Devide dan Conquer

Dalam ilmu komputer, Algoritma divide and conquer adalah paradigma desain algoritma yang didasarkan pada rekursi multi-cabang. Algoritme bagi-dan-taklukkan bekerja dengan memecah masalah secara rekursif menjadi dua atau lebih sub-masalah dari jenis yang sama atau terkait, hingga masalah ini menjadi cukup sederhana untuk diselesaikan secara langsung.

Cara Kerja Algoritma Devide dan Conquer

Contoh sederhana : Misalkan, untuk menghitung total jumlah dari bilangan-bilangan yang ada di dalam sebuah list, kita dapat menggunakan perulangan sederhana

nums = [1, 2, 3, 5, 6, 7, 19, 28, 58, 18, 28, 67, 13]
total = 0

for i in range(0, len(nums)):
    total = total + nums[i]

print(total) # 255

Algoritma perulangan yang digunakan pada kode di atas memang sederhana dan memberikan hasil yang benar, tetapi terdapat beberapa masalah pada kode tersebut, yaitu perhitungan dilakukan secara linear, yang menghasilkan kompleksitas O(n). Hal ini tentunya cukup ideal untuk ukuran list kecil, tetapi jika ukuran list menjadi besar (beberapa Milyar elemen) maka perhitungan akan menjadi sangat lambat. Kenapa perhitungannya menjadi lambat? Karena nilai dari total tergantung kepada kalkulasi nilai total sebelumnya. Kita tidak dapat melakukan perhitungan total dari depan dan belakang list sekaligus, sehingga kita dapat mempercepat perhitungan dua kali lipat. Dengan kode di atas, kita tidak dapat membagi-bagikan pekerjaan ke banyak pekerja / CPU!

Lalu apa yang dapat kita lakukan? Langkah pertama yang dapat kita lakukan adalah menerapkan teknik rekursif untuk membagi-bagikan masalah menjadi masalah yang lebih kecil. Jika awalnya kita harus menghitung total keseluruhan list satu per satu, sekarang kita dapat melakukan perhitungan dengan memecah-mecah list terlebih dahulu:

 def sums(lst):
    if len(lst) >= 1:
         return lst[0]

    mid = len(lst) // 2
    left = sums(lst[:mid])
    right = sums(lst[mid:])

    return left + right

print(sums(nums)) # 255 

Apa yang kita lakukan pada kode di atas?

  1. Baris if len(lst) >= 1 memberikan syarat pemberhentian fungsi rekursif, yang akan mengembalikan isi dari list ketika list berukuran 1 (hanya memiliki satu elemen).
  2. Baris mid = len(lst) // 2 mengambil median dari list, sebagai referensi ketika kita membagi list menjadi dua bagian.
  3. Baris left = sum(lst[:mid]) dan selanjutnya membagikan list menjadi dua bagian, dengan nilai mid sebagai tengah dari list.

Singkatnya, setelah membagikan list menjadi dua bagian terus menerus sampai bagian terkecilnya, kita menjumlahkan kedua nilai list tersebut, seperti pada gambar berikut:

Cara Kerja Algoritma Devide n Conquer

Sabtu, 02 Oktober 2021

Permasalahan dalam Algoritma

Permasalah pada Sorting

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil ke data lebih besar) atau menurun (descending = dari data besar ke data lebih kecil).

Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data.
Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna.

Tujuan dari penggunaan sorting adalah memudahkan seseorang dalam pencarian, menyusun data yang awalnya acak – acakkan menjadi keurut, dan menyeselaikan masalah yang kompleks seperti schedulling, pengolahan basis data dan lain – lain

Penyusunan sorting ada 2 yaitu secara ascending dan descending. Ascending adalah pengurutan dari kecil ke yang lebih besar sedangkan descending adalah pengurutan dari besar ke yang lebih kecil. Contohnya diberikan angka acak yaitu : 10 , 34 , 67,  2 , 8 , 54 , 114, 88 lalu di sorting secara ascending jadi hasilnya menjadi 2, 8, 10, 34, 54, 67, 88, 114 

Bubble Sort

Adalah pengurutan yang dilakukan dengan membandingkan apakah data sebelum dengan sesudahnya mana yang lebih besar atau kecil lalu ditukarkan secara terus menerus sampai data tersebut kesusun menurut perintah yang dilakukan apakah secara ascending atau descending.

Kelebihan

  • Mudah dipahami karena algoritma pengurutannya yang simpel

Kekurangan

  • Lambat dalam pengurutan dengan data dengan jumlah yang lebih besar
  • Memakan waktu yang lama karena harus membandingkan data satu persatu meskipun ada yang sudah terurut

Solusi pengurutan menggunakan Bubble Sort

  • Pertama membandingkan data ke – i dengan data  ke (i+1).Jika tidak sesuai dengan kententuan urutan apakah ascending atau descending maka tukar.
  • Terus bandingkan data sampai ke data yang terakhir .
  • Proses akan terhenti bila membandingkan data sampai data yang terakhir.

Rabu, 04 Agustus 2021

Geometric Distribution & Poison Distribution

 Geometric Distribution


Geometric Distribution merupakan suatu discrete probability distribution yang memenuhi kriteria berikut:
  • percobaan (trial) akan dilakukan berulang kali sampai mendapatkan outcome succes.
  • Setiap percobaan (trial) adalah indepedent terhadap trials lainnya.
  • Memiliki nilai trial probability secces (p) yang sama untuk tiap trial.
  • Random variabel x mempresentasikan banyaknya trials yang dilakukan sampai mendapatkan kondisi sicces.

Poison Distribution


Poison Distribution merupakan suatu discrete probability distribution yang memenuhi kriteria berikut:
  • Random variabel x mempresentasikan banyaknya kemunculan suatu event dalam interval waktu tertentu.
  • Nilai probability untuk kemunculan event adalah sama untuk setiap interval
  • Jumlah kemunculan event pada suatu interval adalah independent terhadap jumlah kemunculan event pada interval lainnya.

Distribusi Binomial

 Binomial Experiment

Binomial Experiment merupakan suatu probability experiment yang memenuhi kriteria berikut:
  • Memiliki jumlah percobaan yang tetap dan setiap trial indenpendent terhadap trials lainnya
  • Setiap trial hanya dua kemungkinan outcomes bisa dikategorikan sebagai succes (s) atau failure (f)\
  • Memiliki nilai probability succes yang sama untuk trial, 
  • Random variabel x mempresentasikan jumlah kemunculan succes dalam suatu experiment
























Distribusi Probabilitas

 Random Variables

Random variables x mempresentasikan nilai numerik yang berasosiasi dengan setiap outcome datri suatu Probability Experiment.
Kata "Random" Mengindifikasikan bahwa nilai x ditentukan secara kebetulan.

Dua Jenis Random Variables

  1. Discreate Semua keuntungan outcomedapat dihitung (countable) atau memiliki batasan (finite).
  2. Continuous, semua kemungkinan outcome tidak dapat dihitung (untcountable) umunnya dipresentasikan dengan nilai interval.

Expated Value

Nilai mean dari suatu random variabel dipresentasikan apa yang bisa kita harapkan untuk diperoleh dari ribuan kali percobaan (trial). Ini juga dikenal dengan expected value.

Selasa, 27 Juli 2021

Permutasi dan Kombinasi

 Permutasi


Permutasi adalah pengaturan urutan penyusunan sekumpulan objek unik (tidak mengandung duplikasi) 
permutasi dari sekumpulan n objek dapat diformulasikan sebagai faktorial dari n.























Kombinasi











Addition Rule Aturan Penjumlahaan

 Mutualy Exclusive Events

Dua buah event A dan B adalah Mutually Exclusive Event bila A dan B tidak dapat muncul pada waktu bersamaan.













The Addition Rule | Aturan Penjumlahan

Probabilitas untuk kemunculan event A dan B dapat diformulasikan sebagai berikut:











Conditional Probability & Multiplication Rule

 Apa itu Conditional Probability?

Conditional Probability adalah probabilitas kemunculan event, dengan mengetahui bahwa evnt lain sudah muncul atau terjadi.

Independent Event

Dua event adalah independent bila kemunculan dari event yang satu tidak mempengaruhi probability kemunculan event kedua.

Dependent Event

Event yang tidak independent dikenal sebagai dependent event.

The Multiplication Rule

Untuk mencari probaility dari dua event yang muncul secara berurutan, kita bisa memanfaatkan multiplication rule.

Konsep Dasar Probability & Counting

 Apa itu Probability?

Probability adalah pengukuran terhadap suatu kemungkinan atau peluang.
Pemahaman terhadap Probability merupakan dasar melangkah ke Statistika Inferensi.

Terminologi

  • Hasil dari suatu pencobaan (trial) dikenal sebagai outcome.
  • Himpunan dari seluruh kemungkinan outcome pada suatu probability experiment dikenal sebagai sample space
  • Bagian dari sample space dikenal dari event.
  • Event bisa terdiri dari satu atau lebih outcomes.

Probability Experiment

Probability experiment adalah aksi atau pencobaan (trial) yang menghasilkan suatu penghitungan, pengukuran, atau respon.

Tree Diagram

Tree diagaram digunakan untuk memberikan gambaran visual terkait setiap outcome dari suatu probability experiment.

Event

  • Event umumnya mempresentasikan dengan huruf kapital seperti A, B, dan C.
  • Suatu event yang terdiri dari sebuah outcome dikenal sebagai event sample.

Fundamental Counting Priciple

  • Pemanfaatan tree diagram untuk menghitung banyaknya outcome dari sejumlah event tidaklah praktis.
  • Sebagai alternatif, kita bisa memanfaatkan fundamental counting priciple untuk mengetahui jumlah kemungkinan outcomes dari dua atau lebih event yang muncul secara berurutan.

Types of Probability

  • Probability dapat dituliskan dengan format pecahan, sesimal, atau presentase.
  • Probability untuk kemunculan event E dapat dituliskan sebagai P(E).
Terdapat tiga tipe Probability:
  1. Classical (Theoritical) Probability
  2. Empirical (Statictica) Probability
  3. Subjective Probability

Classical (Theoritical) Probability

Classical Probability digunakan ketika setiap outcome pada sample space memiliki peluang yang sama untuk muncul.

Empirical (Statictica) Probability

Empirical Probability didasarkan pada observasi dari probability experiment.

Subjective Probability

didasarkan pada intuisi, eduacated guesses, dan estimasi.