BAB 3 ANALISA SISTEM

dokumen-dokumen yang mirip
ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Algoritma Sorting (Selection Insertion)

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 07

ANALISIS PERBANDINGAN ALGORITMA MERGE SORT DAN SELECTION SORT DALAM PENGURUTAN DATA ANGGOTA POLRI

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

BAB VI SORTIR ATAU PENGURUTAN

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Kompleksitas Algoritma

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST

Analisis Kecepatan Sorting Dengan Notasi Big O

Decrease and Conquer

Kompleksitas Algoritma

Algoritma Divide and Conquer (Bagian 2)

Kompleksitas Algoritma (1)

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Algoritma Divide and Conquer. (Bagian 2)

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

STRATEGI DIVIDE AND CONQUER

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB I PENDAHULUAN Latar Belakang

Algoritma Divide and Conquer (Bagian 1)

Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Kompleksitas Algoritma Sorting yang Populer Dipakai

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

Solusi UTS Stima. Alternatif 1 strategi:

Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

1.1 Latar Belakang Masalah

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

UNIVERSITAS GUNADARMA

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Gambar 13.1 Ilustrasi proses algoritma sorting

BAB II TINJAUAN PUSTAKA

Powered by icomit.wordpress.com

BAB 4 IMPLEMENTASI DAN EVALUASI. Berikut ini merupakan spesifikasi perangkat keras dan perangkat lunak yang

BAB IV HASIL DAN UJI COBA

JARINGAN UNTUK MERGING

BAB III METODE PENELITIAN. Tahapan yang dilakukan dalam penelitian ini disajikan pada Gambar 3. Pengujian

BAB IV IMPLEMENTASI DAN PENGUJIAN

Analisis Kompleksitas Algoritma dalam Operasi BigMod

BAB IV IMPLEMENTASI DAN EVALUASI. dan perangkat keras yang akan mendukung jalannya aplikasi. Perangkat lunak dan

ALGORITMA DIVIDE AND CONQUER

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

Penggunaan Metode Binary Search Pada Translator Bahasa Indonesia Bahasa Jawa

BAB III METODE PENELITIAN

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

MAKALAH ALGORITMA DIVIDE AND CONQUER

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

BAB 3 PERANCANGAN PROGRAM

U K D W BAB I PENDAHULUAN

RESUME ALGORITMA MERGE SORT DAN REKURENS

Modul Praktikum 6 Pemograman Berorientasi Objek

BAB 3 METODOLOGI PENELITIAN

Outline STRUKTUR DATA. VII. Sorting

BAB IV HASIL DAN UJI COBA

METODE DEVIDE AND CONQUER (DANDC)

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB I PENDAHULUAN. dibidang penjualan alat elektronik seperti Computer, Notebook, Tablet, Camera, Projector, Printer dan Accesories Computer.

Pengantar Analisa Algoritma

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

BAB IV IMPLEMENTASI DAN EVALUASI. sehingga didapatkan hasil implementasi sistem

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

BAB 1 PENDAHULUAN. bidang informasi berbasis teknologi internet. Website diharapkan dapat dijadikan

Penerapan Pohon Dalam Heap Sort

BAB IV IMPLEMENTASI DAN EVALUASI. rangka memenuhi kebutuhan pengguna agar permasalahan yang ada dapat

BAB IV IMPLEMENTASI DAN PENGUJIAN

Sorting. Selection Sort. Straight insertion Sort. Merge Sort Paradigma Divide-and-Conquer. Quicksort

BAB V IMPLEMENTASI DAN PENGUJIAN. Application Development Tools yang ada, oleh sebab itu aplikasi ini. Professional Development Tools : jcreator, java

Algoritma Bubble Sort dan Quick Sort

Analisa Kompleksitas Algoritma. Sunu Wibirama

BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM

METODE DEVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER

BAB III METODOLOGI PENELITIAN

BAB III PERANCANGAN SISTEM

BAB IV HASIL DAN PEMBAHASAN

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

BAB III METODOLOGI PENELITIAN. Berikut tahapan penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.

Berikut langkah-langkah penelitian yang dilakukan: 1. Menentukan kebutuhan data yang akan digunakan.

Kompleksitas Algoritma

Sorting Algorithms. Divide and Conquer

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

BAB V IMPLEMENTASI PERANGKAT LUNAK. Aplikasi setelah dianalisa dan dirancang, maka aplikasi tersebut siap

1 BAB III METODOLOGI PENELITIAN. collaborative filtering ini digambarkan pada gambar 3.1

PENGURUTAN BILANGAN METODE STRAIGHT SELECTION

BAB V IMPLEMENTASI DAN PENGUJIAN PROGRAM

BAB 1 PENDAHULUAN. 1 Universitas Kristen Maranatha

BAB I PENDAHULUAN. pengguna tersebut, bahkan hampir setiap rumah tangga di Indonesia memiliki

Transkripsi:

BAB 3 ANALISA SISTEM Untuk merancang sebuah sistem dengan baik maka dibutuhkan analisa yang tepat agar proses desain sistem lebih terarah dan memudahkan untuk mengimplementasikan sistem. 3.1 Analisa Analisis perbandingan algoritma ini memiliki flowchart seperti berikut: A B Gambar 8 flowchart perbandingan algoritma (A) merge sort dan (B) selection sort 21

Terkait pada Gambar 8, bahwa analisis adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan mengenai pengurutan data menggunakan algoritma merge sort dan algoritma selection sort. Analisis ini sendiri membahas perbandingan merge sort dan selection sort dalam bahasa PHP dari aspek execution time untuk mengetahui seberapa efektifnya suatu proses pada kecepatan waktu untuk mengurutkan suatu database sebanyak kurang dari 100 data. Data yang digunakan adalah data nama - nama anggota POLRI yang berdasarkan NRP (Nomor Registrasi Pokok). 3.2 Analisa Merge Sort Merge sort selalu membagi setiap array menjadi dua sub-array hingga mencapai basis, sehingga kompleksitas dari algoritma merge sort, berlaku untuk semua kasus (Worst Case = Best Case = Average Case). Anggap jumlah elemen array (n) adalah kelipatan 2, jadi setiap dilakukan divide (pemecahan menjadi dua sub-array), kedua sub-array akan berukuran n/2. Basis untuk n = 1, maka array tersebut sudah terurut dengan sendirinya. Rekurens untuk n > 1, maka akan dilakukan langkah-langkah merge sort, yaitu: Divide: Hitung nilai q yang merupakan rata-rata dari p + r, yang bernilai Θ(1) Conquer: Secara rekursif menyelesaikan 2 sub-array, setiap sub-array berukuran n/2, maka bernilai 2T(n/2) Combine: Menggabungkan elemen dari sub-array ke dalam array dengan prosedur MERGE, bernilai Θ(n). Jumlahkan semua fungsi yang dihasilkan, sehingga dihasilkan rekurens: θ(1) if n = 1 T(n) = ( 2T ( n ) if n > 1) 2 22

3.3 Analisa Selection Sort Gambar 9 Contoh pengurutan data selection sort (Sumber: Fredian Simanjuntak, 2013) Algoritma ini mempunyai dua buah array, satu kalang di dalam kalang yang lainnya. Banyaknya perbandingan yang harus dilakukan untuk siklus pertama adalah n, perbandingan yang harus dilakukan untuk siklus yang kedua n-1, dan seterusnya, sehingga jumlah keseluruhan perbandingan adalah n(n+1)/2-1 perbandingan. Hindari penggunaan algoritma pengurutan seleksi dengan pengurutan nilai dengan data pada tabel lebih besar dari 1000 buah, dan hindari mengurutkan tabel lebih dari beberapa ratus kali. Waktu eksekusi diukur dengan satuan second (s). Proses pengurutan menggunakan metode algoritma selection sort secara terurut NRP adalah sebagai berikut: 1. Mencari data terkecil dari data pertama sampai dengan data yang terakhir. Kemudian ditukar posisinya dengan data pertama. 2. Begitu seterusnya sampai semua data terurut naik. Apabila terdapat 100 buah data yang akan diurutkan, maka membutuhkan (n-1) langkah pengurutan, dengan data terakhir, yaitu data ke 100 tidak perlu diurutkan karena hanya tinggal data satu-satunya 23

3.4 Analisa Perbandingan Algoritma dari Segi Kompleksitas Waktu 3.4.1 Kompleksitas Merge Sort Meskipun kompleksitas waktu keseluruhan tetap sama (O (n log n)), jumlah perbandingan antara elemen array dalam beberapa kasus tertentu telah berkurang. Pemeriksaan eksperimental menunjukkan bahwa ketika kita mengurutkan daftar bilangan secara acak, cara kerja algoritma yang lebih baik seefisien algoritma sekarang. Namun, dalam kasus terbaik, jumlah perbandingan telah berkurang secara drastis (hampir 86%). Menggabungkan pengurutan, yang kita modifikasi salinan isi array input ke dalam array sementara, dan kemudian menyalin array sementara kembali ke array input. Jadi secara rekursif mengurutkan array input, menempatkan dua bagian yang diurutkan ke dalam array sementara. Kemudian menggabungkan, menempatkan urutan diurutkan ke dalam array input saat berjalan. Perbaikannya adalah bahwa penggandaan ganda ini boros bisa dilakukan tanpanya (Subham et al., 2013). Kompleksitas dalam merger sort merupakan jumlah perbandingan yang dibutuhkan untuk mengurutkan array elemen n dengan algoritma merge sort. Dengan memisahkan sebuah array dalam dua bagian kita mengurangi masalah untuk meburutkan dua bagian namun ukurannya lebih kecil, yaitu n / 2. Setiap bagian bisa diurutkan dalam T (n / 2). Akhirnya, pada langkah terakhir kita melakukan perbandingan n-1 untuk menggabungkan kedua bagian ini menjadi satu. Semua bersama-sama, kita memiliki persamaan berikut: T(n) = 2 T n + (n 1) 2 3.4.2 Kompleksitas Selection Sort Algoritma di dalam selection sort terdiri dari kalang bersarang. Dimana array tingkat pertama (disebut pass) berlangsung N-1 kali. Di dalam array kedua, dicari elemen dengan nilai terkecil. Berdasarkan operasi perbandingan elemennya: 24

T(n) = (n 1) + (n 2) + + 2 + 1 = n 1 = n(n 1) 2 = 0(n 2 ) Jika didapat, indeks yang didapat ditimpakan ke variabel min. Lalu dilakukan proses penukaran. Begitu seterusnya untuk setiap pass. Pass n 1 f=1 sendiri makin berkurang hingga nilainya menjadi semakin kecil. Tabel 4 Kompleksitas waktu algoritma selection sort Best case Worst case Average case O(n 2 ) O(n 2 ) O(n 2 ) Kasus terburuk (worst case) terjadi bila tidak ada pengulangan dalam daftar, namun dapat menjamin waktu menjalankan kasus terbaik O (n), jika semua nilai dalam daftar sama atau jumlah nilai yang berbeda relatif kecil (Hayfron-Acquah et al., 2015). 3.5 Analisa Kebutuhan Software Pengurutan data dengan menggunakan algoritma merge sort dan selection sort dengan bahasa pemograman PHP yang telah terintegrasi dalam sebuah Integrated Development Environment (IDE) yaitu Notepad++ yang berfungsi sebagai editor dalam proses pembuatan aplikasi. Notepad++ yang di gunakan dalam pembuatan aplikasi ini menggunakan versi 7.3.3 (32 Bit). Pembuatan aplikasi mengunakan Notepad++ tidak perlu memerlukan spesifikasi hardware yang tinggi karena Notepad++ cukup ringan tidak memerlukan memory besar. Sementara itu, XAMPP untuk pembuatan MySQL database menggunakan versi versi 3.2.2 (32 Bit). 3.6 Analisa Kebutuhan Hardware Dalam Pembangunan aplikasi ini, penulis menggunakan software Notepad++ dan XAMPP seperti yang di jelaskann pada bagian analisa kebutuhan software diatas. Untuk menjalankan aplikasi Notepad++ dan XAMPP ada minimum hardware yang harus di penuhi untuk menggunakan aplikasi tersebut. Berikut adalah minimum hardware dan system requirements yang di butuhkan untuk menjalankan Notepad++ dan XAMPP: 25

Tabel 5 System requirements Notepad++ Windows Minimum 512MB RAM, recommended 180MB hard drive space required 800X600 minimum monitor resolution Internet connection (for installation) Macintosh Minimum 512MB RAM, recommended 210 MB hard drive space required 800X600 minimum monitor resolution Internet connection (for installation) Tabel 6 System requirements XAMPP Windows Minimum 64 MB RAM, recommended 350 MB hard drive space required 800X600 minimum monitor resolution 3.7 Analisa Kebutuhan Data Analisa kebutuhan data merupakan tahapan dimana dilakukannya analisis terhadap data-data apa saja yang diolah dalam sistem atau prosedur sebuah rancangan, dalam hal ini data yang akan di urutkan pada algoritma merge sort dan selection sort adalah data anggota POLRI yang mengurutkan data dari NRP (Nomer Registrasi Pokok). 26