ANALISA RUNNING TIME
|
|
- Teguh Susman
- 6 tahun lalu
- Tontonan:
Transkripsi
1 ANALISA RUNNING TIME Maximum Contiguous Subsequence Sum I KETUT RESIKA ARTHANA NPM : MAGISTER ILMU KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS INDONESIA 1
2 Deskripsi Singkat Permasalahan Maximum Contiguous Subsequence Sum (MCSS) Algorithm adalah algoritma yang digunakan untuk mencari hasil pejumlahan maksimum dari deret bilangan. Nilai maksimum dari hasil penjumlahan suatu deret akan menjadi 0 jika semua nilai dalam deret bernilai negatif. Contoh : diberikan deret bilangan : MCSS dari deret di atas adalah 9 Contoh lain MCSS dari deret di atas adalah 10 Deskripsi Singkat Algoritma dan Kompleksitas Ada beberapa pendekatan algoritma yang digunakan untuk menyelesaikan permasalahan Maximum Contiguous Subsequence Sum. 1. Algoritma 1 (menggunakan metode brute force) Algoritma yang pertama menggunakan metode brute force, yaitu mencoba semua jumlah sub sequence Maka akan dicari hasil jumlah dari masing-masing subsqence: jum(x,y)= dijumlahkan dari larik ke x sampai larik ke y. jum(0,0), jum(0,1), jum(0,2), jum(0,3), jum(0,4) jum(1,1), jum(1,2), jum(1,3), jum(1,4) jum(2,2), jum(2,3), jum(2,4), jum(3,3), jum(3,4) jum(4,4), setelah diperoleh masing-masing jumlah, maka akan dicari yang mana terbesar. Berikut adalah algoritmanya dalam bahasa pemrograman Java public int maxsubsum1( int [] A ) int maxsum = 0; for(int ii = 0; ii < A.length; ii++) for( int jj = ii; jj < A.length; jj++) int thissum= 0; for(int kk = ii; kk <= jj; kk++) thissum += A[kk]; if( thissum > maxsum ) maxsum = thissum; return maxsum ; 2
3 Terdapat iterasi KK sebanyak N kali yang berada dalam iterasi JJ sebanyak N kali dan berada dalam iterasi II sebanyak n kali, maka dapat dinotasikan sebagai O(N 3 ) atau algoritma kubik. 2. Algoritma 2 (Menghilangkan 1 iterasi) Untuk mengefektifkan runtime algoritma brute force di atas, pada kasus ini dimungkinkan untuk menghilangkan 1 iterasi yang dianggap tidak efisien, sebagai gantinya nilai thissum untuk jj bisa diisi dengan nilai thissum sebelumnya. Berikut adalah algoritma kedua yang menghilangkan 1 iterasi. public int maxsubsum2( int [ ] A ) int maxsum = 0; for( int ii = 0; ii < A.length; ii++ ) int thissum = 0; for( int jj = ii; jj < A.length; jj++ ) thissum += A[jj]; if( thissum > maxsum ) maxsum = thissum; return maxsum ; Dari algoritma di atas, dapat dilihat bahwa terdapat iterasi JJ sebanyak N kali dimana iterasi JJ tersebut berada dalam iterasi II sebanyak N kali juga. jadi bisa disimpulkan bahwa algoritma kedua termasuk notasi O(N 2 ) atau algoritma kuadrat. 3. Algoritma 3 (Rekursif) Algoritma ketiga diimplementasikan dengan rekursif yang sesuai dengan pendekatan divide and conquer. Divide and Conquer adalah metode yang membagi permasalahan menjadi bagian yang lebih kecil dan kemudian menyelesaikannya. Berikut adalah algoritma dengan rekursif private int maxsumrec (int[] a, int left, int right) int center = (left + right) / 2; if(left == right) // Base case return a[left] > 0? a[left] : 0; int maxleftsum = maxsumrec (a, left, center); int maxrightsum = maxsumrec (a, center+1, right); int leftbordersum=0; int rightbordersum=0; int maxleftbordersum = 0; int maxrightbordersum=0; for(int ii = center; ii >= left; ii--) leftbordersum += a[ii]; if(leftbordersum > maxleftbordersum) maxleftbordersum = leftbordersum; for(int jj = center + 1; jj <= right; jj++) 3
4 rightbordersum += a[jj]; if(rightbordersum > maxrightbordersum) maxrightbordersum = rightbordersum; if (maxleftsum>maxrightsum && maxleftsum>(maxleftbordersum + maxrightbordersum)) return maxleftsum; else if(maxrightsum>(maxleftbordersum + maxrightbordersum)) return maxrightsum; else return (maxleftbordersum + maxrightbordersum); public int maxsubsum3 (int [] a) return maxsumrec (a, 0, a.length-1); Algoritma rekursif yang menyelesaikankan permasalahan dengan membagi dua permasalahan kemudian melakukan proses linear (menggabung atau memecah) notasi algoritma ini adalah O(N log N) 4. Algoritma 4 (Linier) Algoritma keempat menggunakan pendekatan linier. public int maxsubsum4 (int a[]) int maxsum = 0; int thissum = 0; for (int jj = 0; jj < a.length; jj++) thissum += a[jj]; if (thissum > maxsum) maxsum = thissum; else if (thissum < 0) thissum = 0; return maxsum; Pada algoritma di atas, dilakukan iterasi sebanyak N kali. Pada setiap iterasi akan dicari jumlah sampa ke j. jika iterasi berikutnya memiliki jumlah lebih besar dari hasil penjumlahan sebelumnya maka hasil penjumlahan maksimum sementara akan dianggap sama dengan hasil penjumlahan pada iterasi tersebut. Namun jika hasil penjumlahan pada saat itu bernilai negatif (<0) maka hasil penjumlahan saat itu dianggap 0. Pada algoritma ini hanya menggunakan satu iterasi sebanyak N kali. Algoritma ini bisa dinyatakan dengan notasi O(N) Metode Uji Coba Metode yang digunakan untuk uji coba analisa running time dengan mengimplementasikan algoritma ini ke dalam bahasa Java dengan editor Netbeans. Selanjutnya akan diberikan input yang sama untuk membandingkan waktu yang diperlukan masing-masing algoritma untuk mencari jumlah deret terbesar. 4
5 Keseluruhan algoritma ini (1-4) diimplementasikan menjadi 1 class yang diberi nama MaxSubSum.java. Disamping algoritma di atas class ini juga diisi dengan beberapa method yang menunjang proses analisa runtime. Method tersebut adalah : generateinput Method generateinput() berfungsi untuk membangkitkan array sebanyak N dengan isi masing-masing elemen dari -20 sampai 20. public int[] generateinput(int jum) int[] arr= new int[jum]; Random ran=new Random(); for (int i=0; i<jum;i++) arr[i]=ran.nextint(20)-ran.nextint(20); System.out.println(); return arr; arr[i]=ran.nextint(20)-ran.nextint(20); berfungsi untuk menggenerate bilangan random dari - 20 sampai 20. Fungsi ran.nextint(20) hanya menggenerate dari 0 sampai 20, jadi dibuat selisih keduanya untuk memungkinkan mendapat nilai rentang -20 sampai 20. Contoh hasil generate input (sebanyak 100) : printarray PrintArray berfungsi untuk menampilkan isi array public void printarray(int arr[]) System.out.print(" "); for (int i=0;i<arr.length;i++) System.out.print(""+arr[i]+" "); System.out.println(); Method main public static void main(string[] args) MaxSubSum mss=new MaxSubSum(); int juminput=1000; //jumlah input int[] inputarr=mss.generateinput(juminput); mss.printarray(inputarr); //print array System.out.println("MSS 1="+mss.maxSubSum1(inputArr)); System.out.println("MSS 2="+mss.maxSubSum2(inputArr)); System.out.println("MSS 3="+mss.maxSubSum3(inputArr)); System.out.println("MSS 4="+mss.maxSubSum4(inputArr)); 5
6 Jumlah input ditentukan pada main program. Pada jumlah input yang besar, beberapa algoritma terpaksa dinonaktifkan karena memiliki waktu runtime yang lama (diberi simbol NA) Netbeans dilengkapi dengan fasilitas profiling yang bisa digunakan untuk menganalisa performance dari program yang diekskusi. Fasilitas profiling ini yang digunakan penulis untuk menganalisa running time masing-masing algoritma. Cara kerja profiling program pada netbeans adalah dengan cara mencatat waktu awal dan waktu akhir sebuah method saat dijalankan. Setelah selesai method tersebut dijalankan maka akan dicari selisih waktu akhir-waktu awal untuk mendapatkan runtime masing-masing method. Langkah-langkah profiling method pada netbeans. Klik tombol profile Pilih CPU dan tentukan part method yang ingin dicatat runtimenya Klik Run 6
7 7
8 Analisa Running Time (dalam satuan ms) Source code terlampir (sumber dari slide kuliah dengan beberapa modifikasi) Jumlah Input Algoritma 1 (ms) O(N 3 ) Algoritma 2 (ms) O(N 2 ) Algoritma 3 (ms) O(N log N) NA NA NA NA Jumlah Data 100 Algoritma 4 (ms) O(N) Jumlah Data 1000 Jumlah Data 5000 Jumlah Data Jumlah Data , maxsubsum1(na) Jumlah Data , maxsubsum1(na) Berdasarkan hasil analisa di atas, dapat disimpulkan bahwa runtime Algoritma MaxSubSum1 dengan notasi O(N 3 ) > Algoritma MaxSubSum2 dengan notasi O(N 2 ) > Algoritma MaxSubSum3 dengan notasi 8
9 O(N log N) > Algoritma MaxSubSum4 dengan notasi O(N) pada jumlah data yang besar (kira-kira di atas ). Sedangkan pada jumlah data < dari , runtime Algoritma MaxSubSum2 dengan notasi O(N 2 ) < Algoritma MaxSubSum3 dengan notasi O(N log N) Referensi : Algoritma diperoleh dari Slide kuliah Struktur Data & Algoritma dengan beberapa penambahan untuk diimplementasikan pada bahasa pemrograman Java 9
Struktur Data & Algoritma
Struktur Data & Algoritma Pengenalan Analisa Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI 1 Algoritma al go rithm n. 1 Math. a) any systematic method of solving
Lebih terperinciRecursion Properties. Factorial: MaxSubseqSum Recursive version. MaxSubseqSum Recursive version
Recursion Properties base case, problem paling sederhana yang memproses input tanpa perlu recursive lagi. recursive case: 1. membagi problem menjadi bagian yang lebih kecil. 2. memanggil fungsi secara
Lebih terperinciStruktur Data dan Algoritma
Struktur Data dan Algoritma Rekursif Suryana Setiawan, Ruli Manurung & Ade Azurat ( Denny (acknowledgments: Fasilkom UI Outline Dasar-dasar Rekursif Apa itu recusion/rekursif? Aturan Rekursif Induksi Matematik
Lebih terperinciStruktur Data & Algoritme (Data Structures & Algorithms)
Struktur Data & Algoritme (Data Structures & Algorithms) Analisa Algoritme Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap
Lebih terperinciAlgoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Expected Outcome. Analisa Algoritme: motivasi. Analisa Algoritme: what?
Struktur Data & Algoritme (Data Structures & Algorithms) Analisa Algoritme Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap
Lebih terperinciSetelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:
Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai: Menentukan kompleksitas waktu (Big-Oh) dari beberapa algoritma (logaritmik, linier, kuadratik,
Lebih terperinciStruktur Data & Algoritme (Data Structures & Algorithms)
Struktur Data & Algoritme (Data Structures & Algorithms) Analisa Algoritma Denny denny@cs.ui.ac.id Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2000/2001 Version 1.0 - Internal Use Only
Lebih terperinciLAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD
LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD Disusun oleh : Nama : Ach Fauzan NIM : 135150201111002 Asisten 1 : Fadel Trivandi Dipantara Asisten 2 : Karid Nurvenus Asisten 3 : Apiladosi
Lebih terperinciSORTING DENGAN ALGORITMA DIVIDE AND CONQUER
SORTING DENGAN ALGORITMA DIVIDE AND CONQUER Ibnu Alam (13506024) Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 if16024@students.if.itb.ac.id ABSTRAK Kemangkusan program adalah salah satu
Lebih terperinciAplikasi Algoritma Brute Force Pada Knight s Tour Problem
Aplikasi Algoritma Brute Force Pada Knight s Tour Problem Sahat Nicholas Simangunsong - 13509095 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
Lebih terperinciPertemuan 2 (2) : Membuat Class dan mengakses Anggota Class
Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Pendahuluan Pada bagian ini, kita akan membuat program berbasis obyek menggunakan
Lebih terperinciAlgoritma dan Pemrograman
Algoritma dan Pemrograman Oleh: Eddy Prasetyo N 27/02/2014 1 Konten Pengantar Analisa Kasus Logika IF Then Logika Depend On Notasi Algoritmanya Latihan Analisa Kasus 27/02/2014 2 Pokok Bahasan Analisa
Lebih terperinciMODUL III ARRAYLIST TUGAS PENDAHULUAN
MODUL III ARRAYLIST TUGAS PENDAHULUAN 1. Jelaskan pengertian ArrayList? 2. Jelaskan perbedaan Array dan ArrayList? 3. Tuliskan contoh sintak ArrayList! 1. TUJUAN Mahasiswa dapat memahami konsep ArrayList
Lebih terperinciMata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4
PERCABANGAN Program dengan Pernyataan IF Program di bawah ini adalah program untuk menentukan suatu kelulusan mahasiswa terhadap suatu Mata kuliah. Program tersebut menggunakan pernyataan if untuk penentuan
Lebih terperinciOutline STRUKTUR DATA. VII. Sorting
STRUKTUR DATA VII. Sorting 1 Outline Beberapa algoritma untuk melakukan sorting: Bubble sort Selection sort Insertion sort Shell sort Merge sort Quick sort Untuk masing-masing algoritma: Ide dasar Contoh
Lebih terperinciPercabangan & Perulangan
Struktur Dasar Java Percabangan & Perulangan Object-oriented Programming (OOP) with JAVA 2011/2012 Macam-macam Percabangan if (...) if ( ) else ( ) if ( ) else if ( ) else ( ) switch ( ) Percabangan :
Lebih terperinciBelajar Rekursif di Java
Belajar Rekursif di Java Oleh: Yudi Setiawan Saya yakin pasti pembaca - pembaca di sini pasti sudah pada mahir semua di bidang pemrograman. Ada yang mahir buat website super cantik tampilannya, ada juga
Lebih terperinciPERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obektif: Praktikan mengetahui arra, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum
Lebih terperinciInsertion Sort Dengan Algoritma Divide And Conquer
Insertion Sort Dengan Algoritma Divide And Conquer Oleh: Yudi Setiawan Pada tutorial sebelumnya, saya pernah ada membahas tentang Insertion Sort. Nah, perbedaan antara Insertion Sort yang biasa dengan
Lebih terperinciBAB 8 Argumen dari Command-line
BAB 8 Argumen dari Command-line 8.1 Tujuan Pada bab ini, kita akan mempelajari bagaimana untuk memproses sebuah input dari command-line dengan menggunakan argumen yang diberikan kepada program Java. Pada
Lebih terperinciPerulangan / Looping
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Perulangan / Looping Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya 7 Aspek Dasar
Lebih terperinciBAHASA PEMROGRAMAN JAVA
MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran
Lebih terperinciA. TEORI ARRAY 1 DIMENSI
MODUL 6 ARRAY Dalam pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta nama variabel atau identifier yang unik. Apabila kita ingin menggunakan variabel tersebut, kita akan memanggil
Lebih terperinciSorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI
Struktur Data dan Algoritma Sorting Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil Minggu 5 Outline Beberapa
Lebih terperinciMODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1
2017 MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1 Modul praktikum ini berisikan materi praktikum struktur data yang telah dipelajari dalam perkuliahan teori, harapannya mahasiswa dapat memahami dan menerapkan
Lebih terperinciBAB 8 Argumen dari Command-line
BAB 8 Argumen dari Command-line 8.1 Tujuan Pada bagian ini, kita akan mempelajari bagaimana untuk memproses sebuah input dari command-line dengan menggunakan argumen yang diberikan kepada program Java.
Lebih terperinciModul Praktikum 6 Pemograman Berorientasi Objek
Modul Praktikum 6 Pemograman Berorientasi Objek 1. Judul : Algoritma Sorting 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Memahami dan menjelaskan algoritma dari insertion sort,
Lebih terperinciMetode Binnary Searching di Java Console
Metode Binnary Searching di Java Console Oleh: Yudi Setiawan Dalam pemrograman, pencarian data merupakan suatu hal yang sangat gampang dilakukan. Anda sebagai programmer bisa menggunakan beberapa teknik
Lebih terperinciMODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Deskripsi Singkat Praktikum pemrograman berorientasi objek adalah praktikum yang menggunakan bahasa Java sebagai bantuan dalam memahami konsep pemrograman
Lebih terperinciint i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }
I. Bahan Kajian 1. Perulangan (Iterasi) Perulangan(iterasi), menyatakan bahwa suatu instruksi tertentu akan diulang sampai tercapai kondisi tertentu, tanpa kita harus menulis perintah tersebut secara berulang.
Lebih terperinciPemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING)
Pemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING) Looping (Perulangan) Looping/perulangan adalah pernyataan dalam pemrograman dimana program akan mengulang sebuah atau sekelompok pernyataan selama
Lebih terperinciLAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)
LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) Di susun oleh: Wahyono ( 06/193218/PA/10892 ) Praktikan Algoritma dan Pemrograman Kelas A 7 Mei 2007 LABORATORIUM KOMPUTASI
Lebih terperinci2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else
I. Bahan Kajian Sebagai bahasa pemrograman, java memiliki cara untuk mengontrol alur eksekusi program bergantung pada kondisi yang telah ditetapkan Secara garis besar alur eksekusi ini dapat dikelompokan
Lebih terperinciMODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU
Deskripsi Singkat MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU Praktikum struktur data dan algoritma adalah praktikum yang mendukung mata kuliah struktur data dan algoritma.
Lebih terperinciPenggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem
Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Ali Akbar - 13514080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Lebih terperinciModul 3: Kendali program dan teknik. penyimpanan data
Modul 3: Kendali program dan teknik Setelah mengikuti mata kuliah ini mahasiswa dapat mebuat program java dengan konsep kondisional, loop dan mengelola data dengan array. 1 Pengantar : Dalam modul ini
Lebih terperinciBAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.
BAB VI ARRAY Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk
Lebih terperinciPertemuan 2 Struktur Kontrol Percabangan
Pertemuan 2 Struktur Kontrol Percabangan Objektif : 1. Mahasiswa dapat memahami konsep struktur kontrol percabangan dalam pemrograman. 2. Mahasiswa dapat menggunakan struktur kontrol pemilihan (if, else,
Lebih terperinciPoliteknik Elektronika Negeri Surabaya
PRAKTIKUM 13 ALGORITMA PENGURUTAN (QUICK SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan quick sort. 2. Mampu mengimplementasikan algoritma pengurutan quick sort dengan berbagai
Lebih terperinciArray Sebagai Parameter Method
Array Sebagai Parameter Method Penggunaan Elemen Array Sebagai Aktual Parameter 1. public class MP2 { 2. public static void main(string[] args) { 3. int nilai=10; 4. int[] listnilai={7,1,5,3}; 5. System.out.println("Sebelum
Lebih terperinciPertemuan 4 Array pada Java
Pertemuan 4 Array pada Java Objektif : 1. Mahasiswa dapat memahami pengertian Array pada Java 2. Mahasiswa dapat mengetahui bentuk umum dari Array 3. Mahasiswa dapat mengetahui jenis-jenis Array pada Java
Lebih terperinciPROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id
PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu
Lebih terperinciANALISIS ALGORITMA BINARY SEARCH
ANALISIS ALGORITMA BINARY SEARCH Metode Binary search Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana
Lebih terperinciBahasa Pemrograman 2.
Bahasa Pemrograman 2 Pengenalan JAVA 1 anton@ukdw.ac.id Instalasi JDK Download JDK for free Instalasi biasa Set PATH dan JAVA_HOME set PATH=%PATH%; set JAVA_HOME=
Lebih terperinciDecrease and Conquer
Decrease and Conquer Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB 1 Decrease and conquer: metode desain algoritma
Lebih terperinciGambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)
PRAKTIKUM 9-10 ALGORITMA PENGURUTAN (INSERTION DAN SELECTION) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan insertion sort dan selection sort. 2. Mampu mengimplementasikan algoritma
Lebih terperinci1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?
1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai
Lebih terperinciA. TEORI ARRAY 1 DIMENSI
MODUL 7 ARRAY Dalam pendeklarasian variabel, seringkali menggunakan sebuah tipe data beserta nama variabel atau identifier yang unik. Apabila kita ingin menggunakan variabel tersebut, kita akan memanggil
Lebih terperinciPembuatan Peta Permainan dengan BSP
Pembuatan Peta Permainan dengan BSP Muhammad Hilman Beyri - 13509047 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Lebih terperinciArrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!
Array Alfan Arrays Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer int angka1 = 0; int angka2 = 1; Dst Tidak efisien! Kita dapat menyimpannya dalam sebuah variabel dengan
Lebih terperinciMethod. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle
Method Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle Definisi Metode: Sekumpulan baris kode program yang mempunyai fungsi tertentu dan dapat dipanggil dari fungsi utama, Dapat dipanggil berulang
Lebih terperinciIKG2I4 / Software Project I
IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 2 1 3/11/2015 WEEK 2 Class Driver Constructor Public vs private Get dan set
Lebih terperinciStruktur Kontrol Pemrograman Java : PERCABANGAN
MK. Pemrograman Berorientasi Objek Struktur Kontrol Pemrograman Java : PERCABANGAN Karmilasari Struktur Kontrol Percabangan If, If-Else, If bersarang Switch - Case Pengulangan 2 Percabangan : IF Pada percabangan
Lebih terperinciObyektif : KONTROL ALUR PROGRAM
KONTROL ALUR PROGRAM Obyektif : 1. Mengetahui dan memahami tentang percabangan (seleksi) 2. Mengetahui dan memahami tentang perulangan (iterasi) 3. Dapat membuat program tentang control alur program PERCABANGAN
Lebih terperinciMetode Sequential Searching di Java Console
Metode Sequential Searching di Java Console Oleh: Yudi Setiawan Dalam ilmu pemrograman, melakukan pencarian Data merupakan hal yang paling sering dilakukan dalam perusahaan. Pencarian memiliki beberapa
Lebih terperinciPoliteknik Elektronika Negeri Surabaya
PRAKTIKUM 13-14 ALGORITMA PENGURUTAN (QUICK DAN MERGE) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan quick sort dan merge sort. 2. Mampu mengimplementasikan algoritma pengurutan quick
Lebih terperinciMetode Insertion Sort di Java Console
Metode Insertion Sort di Java Console Oleh: Yudi Setiawan Pada tutorial sebelumnya, saya pernah jelaskan metode Bubble Sort dan Selection Sort. Nah, untuk tutorial kali ini saya akan membahas tentang Insertion
Lebih terperinciArray Multidimensi. Pemrograman Dasar. Java
Array Multidimensi Pemrograman Dasar Java Array 0 1 2 3 4 banyaknya elemen: 5 index elemen dari 0 s.d array.length-1 Deklarasi dan Pembuatan Array Menggunakan operator new new Type [panjangarray ] Ukuran
Lebih terperinciFungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2014/2015 Fungsi Rekursif Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Fungsi yang memanggil
Lebih terperinciBAB 1 PENDAHULUAN. Universitas Sumatera Utara
1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Pencarian sebuah dokumen akan lebih cepat apabila informasi mengenai dokumen yang dicari tersebut telah diurutkan terlebih dahulu daripada saat kita akan mencari
Lebih terperinciPERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN
PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN Obyektif: Praktikan mengetahui array, percabangan, dan perulangan pada Java. Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan dalam
Lebih terperinciQuick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati
Quick Sort dan Merge Sort Arna Fariza Yuliana Setiowati Ide Quicksort Tentukan pivot. Bagi Data menjadi 2 Bagian yaitu Data kurang dari dan Data lebih besar dari pivot. Urutkan tiap bagian tersebut secara
Lebih terperinciModul Praktikum 3 Pemograman Berorientasi Objek
Modul Praktikum 3 Pemograman Berorientasi Objek 1. Judul : Kontrol Keputusan dan Pengulangan 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Menggunakan struktur kontrol keputusan
Lebih terperinciPemrograman. Pertemuan-3 Fery Updi,M.Kom
Pemrograman Pertemuan-3 Fery Updi,M.Kom 1 Pokok Bahasan Mengenal Tipe Data, Variabel Mengenal Operator 2 public class Main { Komentar /** Bentuk Dasar Kode Java * @param args */ public static void main(string[]
Lebih terperinciStruktur Data & Algoritma
Struktur Data & Algoritma ADT Tree Suryana Setiawan, Ruli Manurung & Ade Azurat ( Denny (acknowledgments: Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/IKI80110P 2009/2010 Ganjil Pekan 08 1 Tujuan Memahami
Lebih terperinciPertemuan 3 Struktur Perulangan pada Java
Pertemuan 3 Struktur Perulangan pada Java Objektif : 1. Mahasiswa dapat memahami konsep struktur kontrol perulangan dalam pemrograman. 2. Mahasiswa dapat menggunakan struktur kontrol perulangan (while,
Lebih terperinciPemrograman JAVA INPUT-OUTPUT
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Pemrograman JAVA INPUT-OUTPUT Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya JAVA
Lebih terperinciPoliteknik Elektronika Negeri Surabaya
PRAKTIKUM 9 ALGORITMA PENGURUTAN (INSERTION SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan insertion sort. 2. Mampu mengimplementasikan algoritma pengurutan insertion sort dengan
Lebih terperinciPenyeleksi Kondisi / Percabangan
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2013/2014 Penyeleksi Kondisi / Percabangan Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya
Lebih terperinciPenyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks
Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Luqman Arifin Siswanto - 13513024 Program Sarjana Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciAplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree. Oleh: Rinaldi Munir Informatika STEI-ITB
Aplikasi Divide and Conquer pada: 1. Grafika Komputer 2. Evaluasi expression tree Oleh: Rinaldi Munir Informatika STEI-ITB Bezier Curve Bezier Curve adalah kurva yang sering digunakan dalam grafika komputer
Lebih terperinciModul Praktikum 4 Pemograman Berorientasi Objek
Modul Praktikum 4 Pemograman Berorientasi Objek 1. Judul : Array 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Mendeklarasikan dan membuat array Mengakses elemen-elemen didalam
Lebih terperinciDesign and Analysis of Algorithm
Design and Analysis of Algorithm Week 5: Kompleksitas waktu algoritma rekursif part 2 Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Lebih terperinciModul 3 Flow Control dan Input
Modul 3 Flow Control dan Input Flow control terbagi menjadi dua, yaitu control seleksi dan control perulangan. 1. KONTROL SELEKSI Kontrol seleksi digunakan untuk membuat pemilihan terhadap aksi yang akan
Lebih terperinciPoliteknik Elektronika Negeri Surabaya
Politeknik Elektronika Negeri Surabaya PRAKTIKUM 28 BINARY SEARCH TREE 2 A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami konsep menghapus node pada Binary Search Tree. Node yang dihapus adalah node
Lebih terperinciDesign and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik
Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Dr. Putu Harry Gunawan (PHN Review 1. Tentukan kompleksitas waktu Big-Oh untuk relasi
Lebih terperinciPada akhir pembahasan, peserta diharapkan mampu untuk:
Struktur kontrol Pengenalan Pemrograman 1 Versi 2.0 tujuan Pada akhir pembahasan, peserta diharapkan mampu untuk: Menggunakan struktur kontrol keputusan (if, else, switch), untuk memilih bagian dari program
Lebih terperinciLatihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017
Latihan Ujian Pemrograman Berorientasi Objek Semester Genap 2016/2017 Level 1 Petunjuk Pada level 1 Anda hanya diminta mengikuti instruksi yang diberikan. Instruksi 1. Buat project baru. Contoh menggunakan
Lebih terperinciPemrograman Berorientasi Object
Pemrograman Berorientasi Object Apa itu Exception? Singkatan dari Exceptional Events. Kesalahan (errors) yang terjadi saat runtime, menyebabkan gangguan pada alur eksekusi program. Contoh Error pembagian
Lebih terperinciBelajar ArrayList di Java
Belajar ArrayList di Java Oleh: Yudi Setiawan Apa itu ArrayList? Sebenarnya, ArrayList itu merupakan salah satu fitur yang paling saya senangi dalam melakukan penyimpanan Data yang jumlahnya tidak dikit.
Lebih terperinciSorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms
1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms Sorting algorithms Metode Insertion, selection dan bubble sort memiliki worst-case performance yang bernilai quadratik
Lebih terperinciTELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST
TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST Andhika Hendra Estrada S. Sekolah Teknik Elektro dan Informatika INSTITUT
Lebih terperinciIKG2I4 / Software Project I
IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 4 1 3/11/2015 WEEK 4 Relasi Antar Class (Agregasi): Relasi class Titik dan
Lebih terperinciI. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.
I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II. Bahan Kajian Setelah kita berproses dalam belajar Algoritma dan pemrograman
Lebih terperinciBAB III ANALISIS KOMPLEKSITAS ALGORITMA
BAB III ANALISIS KOMPLEKSITAS ALGORITMA 3.1 Kompleksitas Algoritma Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien.
Lebih terperinciPengenalan Algoritma
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2015/2016 Pengenalan Algoritma Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya metode yang
Lebih terperinciARRAY. 7 th week Estu Sinduningrum ST,MT
ARRAY 7 th week Estu Sinduningrum ST,MT Aplikasi 2x Java Piramida Bilangan Piramida bilangan adalah deretan bilangan yang tersusun sedemikian rupa, sehingga membentuk suatu piramida bilangan. Puncak piramida
Lebih terperinciPenerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan
Penerapan Algoritma Brute Force dalam mencari Faktor Prima pada suatu Bilangan Widhaprasa Ekamatra Waliprana - 13508080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut
Lebih terperinciMODUL 3 ARRAY. Pemograman Berorientasi Objek
MODUL 3 ARRAY A. PENGENALAN ARRAY Array adalah suatu wadah bentukan yang menyediakan penyimpanan sejumlah item yang bertipe sama. Array digunakan untuk mengelompokkan informasi yang berhubungan. Dalam
Lebih terperinciJobsheet 09. Overloading and Overriding Method
Jobsheet 09 Overloading and Overriding Method 1. Kompetensi Setelah menempuh pokok bahasan ini, mahasiswa mampu : 1) Memahami konsep overloading dan overriding, 2) Memahami perbedaan overloading dan overriding,
Lebih terperinciMethod / Fungsi / Sub Program
PEMROGRAMAN DASAR Sistem Informasi PTIIK UB Semester Ganjil 2014/2015 Method / Fungsi / Sub Program Dr. Eng. Herman Tolle, ST., MT Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Programming
Lebih terperinciMODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 4 CONTROL FLOW STATEMENT
PERTEMUAN 4 CONTROL FLOW STATEMENT A. Seleksi kondisi if Sintaks dari pernyataan seleksi kondisi if: if (condition/boolean exp) statement; atau if (condition/boolean exp) { Tanda kurung () yang mengapit
Lebih terperinciKENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.
KENDALI PROSES Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan. PERINTAH KONDISIONAL Pemrograman Java memiliki 2 Decision-making
Lebih terperinciBAB 1 KONSEP DASAR JAVA
BAB 1 KONSEP DASAR JAVA TUGAS PENDAHULUAN Buatlah algoritma dari program yang ada dalam kegiatan praktikum ini! 1. TUJUAN a. Mahasiswa mengetahui dasar dan elemen-elemen pembentuk bahasa Java b. Mahasiswa
Lebih terperinciAlgoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N
Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N Topik Bahasan Definisi Array Deklarasi & Inisialisasi Array Pengaksesan & Pengisian Array Penelusuran Array Mencari Nilai Ekstrim Array /
Lebih terperinciOBJECT ORIENTED PROGRAMMING (OOP)
IF34348 - PEMROGRAMAN LANJUT OBJECT ORIENTED PROGRAMMING (OOP) 06 Oleh : Andri Heryandi, M.T. LATIHAN MEMBUAT CLASS Oleh : Andri Heryandi, M.T. 2 CLASS KARAKTER Class ini digunakan untuk objek-objek yang
Lebih terperinciBab Tujuan. 6.2 Insertion Sort
Bab 6 Algoritma Sorting 6.1 Tujuan Sorting adalah proses menyusun elemen elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan.
Lebih terperinciDefinisi Eksepsi (exception)
Penanganan Eksepsi Definisi Eksepsi (exception) Exception adalah kondisi yang menyebabkan program menjadi hang atau quit dari alur normal yang telah ditentukan pada saat program dijalankan. Exception ini
Lebih terperinciIF PEMROGRAMAN LANJUT ARRAY. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT ARRAY 08 Oleh : Andri Heryandi, M.T. MATERI HARI INI Definisi Array Deklarasi Array Membuat Array Mengakses Array Memanipulasi Array Class Arrays Perulangan For untuk Array
Lebih terperinciIF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.
IF34348 - PEMROGRAMAN LANJUT PERULANGAN 05 Oleh : Andri Heryandi, M.T. JENIS-JENIS PERULANGAN Perulangan FOR Perulangan DO WHILE Perulangan WHILE Oleh : Andri Heryandi, M.T. 2 PERULANGAN FOR Perulangan
Lebih terperinci