Buku Ajar & Panduan Praktikum STRUKTUR DATA

Ukuran: px
Mulai penontonan dengan halaman:

Download "Buku Ajar & Panduan Praktikum STRUKTUR DATA"

Transkripsi

1

2 Contents Modul 1: Flowchart & PseudoCode... 3 Modul 2: Pengantar Bahasa JAVA Modul 3: Java Matrik Modul 4: Sorting Modul 5: Binary Sorting dan Searching... 30

3 Buku Ajar & Panduan Praktikum STRUKTUR DATA Tujuan, 1. Mahasiswa dapat memahami alur algoritma pemrograman menggunakan flowchart dan pseudocode 2. Mahasiswa dapat mengimplementasikan Mahasiswa dapat mengimplementasikan pemrograman Java dan Tools pendukungnya untuk menyelesaikan program komputasi. Modul Praktikum, 1. Flowchart dan Pseudocode 2. Pengantar Bahasa Java 3. Array dan matriks 4. Sorting 5. Binary Searching dan Sorting 6. Threading Kebutuhan Software, 1. Java IDE :Netbeans Minimum V.6.0 atau Java Creator 2. Microsoft office atau Visio 3. Java Minimum SDK V.1.6 (direkomendasikan JDK keluaran SUN Oracle)

4 Modul 1: Flowchart & PseudoCode Tujuan Instruksi Khusus: Mahasiswa dapat memahami penggunaan standar diagram flowchart Mahasiswa dapat memahami penggunaan diagram flowchart untuk alur algoritma Teori 1.1 Diagram Logika Flowchart Untuk menggambarkan alur logika dalam komputasi digunakan standar dasar pemodelan yaitu menggunakan flowchart. Flowchart menunjukkan aliran proses dari awal sampai penyelesaian komputasi. Dalam standar yang lebih kompleks flowchart juga dapat dimodelkan dalam Unified Modelling Language (UML) yaitu menggunakan diagram activity. Dimana diagram activy adalah flowchart yang melibatkan berbagai interaksi pengguna ataupun domain sistem. Standar model flowchart, Simbol Proses lojik Process Menunjukkan tahapan berjalannya proses komputasi Predefined Process Preparation Menunjukkan subproses atau subrutin dari berjalannya proses, atau proses didalam proses Menunjukkan langkah perulangan dari aliran suatu proses Decision Menunjukkan alternatif pemilihan keputusan proses

5 Alternate Menunjukkan proses alternatif yang bisa digunakan diluar proses normal Delay Menunjukan penundaan proses Manual Operation Menunjukkan proses manual yang dilakukan oleh pengguna Simbol Koneksi Flow Menunjukkan arah dan hubungan antar proses Terminator Menunjukkan akhir selesainya keseluruhan proses Connector Menunjukkan hubungan antar bagian proses yang terputus Or Menunjukkan proses yang berbeda Sum Menunjukkan campuran proses yang bisa berjalan bersamaan Merge Menunjukan penggabungan proses Extract Menunjukkan pemisahan

6 Simbol Input-Output Data Memberikan parameter input dan menghasilkan output (I/O) Manual Input Input manual Display Menunjukkan tampilan di Layar Document Menunjukkan output dokumen manual 1.2 Flowchart Algoritma Untuk menunjukkan proses algoritma pemrograman sehingga mudah untuk dimengerti dapat menggunakan standar flowchart. Percabangan, a Percabangan Kondisi Terpenuhi? Y Aksi 1 T Aksi lain b

7 Contoh logika, Jika suhu panas pakailah T-Shirt berwarna cerah, Jika suhu dingin pakailah jaket berwarna gelap. Perulangan b Selama Kondisi Aksi Kondisi Terpenuhi Y T c Contoh logika, Selama 10 jam belajarlah didepan laptop untuk menguasai pemrograman. Sejauh 10 langkah kedepan cobalah lihat kanan-kiri untuk mencari kunci motormu yang hilang.

8 Contoh implementasi, Dari masukan bilangan bulat tentukan keluaran bilangan ganjil, dan genap. Mulai Masukan bilangan bulat input Selama Kondisi input 1 10 input modulus 2 == 0? T Y Masukkan daftar bilangan genap Masukkan daftar bilangan ganjil Tampilkan bilangan genap Tampilkan bilangan ganjil Input <= 10? Selesai

9 1.3 PseudoCode Pseudocode adalah metode penulisan bahasa inggris sederhana yang merepresentasikan lojik algoritma pemrograman. Pseudo berarti tiruan, sedangkan Code adalah kode program sehingga pseudocode bisa disebut sebagai kode tiruan dari program sebenarnya yang dituliskan dalam standar bahasa inggris untuk mendekatkan dengan perintah-perintah yang terdapat pada bahasa pemrograman. Pada dasarnya struktur pseudocode hanya dibagi atas 6 perintah yaitu : 1. Sequence, memiliki cakupan perintah yang luas untuk perintah eksekusi proses,contoh diantara kata kunci yang sering digunakan Input: READ, OBTAIN, GET Contoh: READ height; READ Weights; OBTAIN range; GET radius Output: PRINT, DISPLAY, SHOW Perhitungan: COMPUTE, CALCULATE, DETERMINE Inisialisasi: SET, INIT Counter: INCREMENT, DECREMENT, DELAY 2. While, digunakan untuk menyatakan perulangan dengan pengujian kondisi diawal (*lebih sesuai untuk perulangan tanpa batas yang tetap) Contoh: WHILE condition Sequence ENDWHILE 3. If-Then-Else, digunakan untuk menyatakan persyaratan lojik kebenaran atau disebut BOOLEAN. Contoh: IF condition THEN sequence 1 ELSE sequence 2 ENDIF

10 4. Repeat-Until, digunakan untuk menyatakan perulangan dengan pengujian kondisi akhir. Contoh: REPEAT Sequence UNTIL condition 5. For, digunakan untuk menyatakan perulangan dengan batasan range sejumlah angka tertentu. Contoh: FOR count=0 TO 10 DO sequence ENDFOR 6. Case, digunakan untuk pilihan kondisi tertentu, Contoh: CASE grade OF A : points = 4 B : points = 3 C : points = 2 D : points = 1 F : points = 0 ENDCASE *Aturan dasar Penulisan pseudocode: Lebih mudah gunakan huruf kapital untuk menyatakan fungsi atau prosedur Gunakan huruh kecil untuk penulisan variable Contoh pseudocode untuk memasak Indomie Goreng: BEGIN SET flavour IN plate OBTAIN pan WITH 1l OF water SET pan IN stove BURN-UP stove

11 DELAY 30 Seconds SET indomie IN pan FOR 1..5 MINUTE DO STIR-UP indomie ENDFOR FILTER indomie AND water SET indomie IN plate REPEAT MIX indomie AND flavour UNTIL average END Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, gunakan pemodelan sederhana dengan menggunakan M. Word untuk membuat flowchart Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut terkait algoritma: Apa yang dimaksud persyaratan kondisi...?, apa perbedaan pada penggunaan IF-THEN-ELSE dengan CASE. Ilustrasikan kondisi yang sesuai untuk penggunaan kedua pseudocode tersebut. Apa yang dimaksud dengan perulangan, jelaskan perbedaan pada perulangan dengan menggunakan WHILE, REPEAT-UNTIL dan FOR. Ilustrasikan kondisi yang sesuai untuk penggunaannya. Tugas Praktikum, 1. Buatlah Flowchart dan PseudoCode untuk algoritma deret faktorial sebagai berikut, faktorial(5) = 1*2*3*4*5 2. Buatlah Flowchart dan PseudoCode untuk algoritma membuat Omlet Telur. 3. Buatlah Flowchart dan Pseudocode untuk proses disekeliling anda yang anda ketahui.

12 Modul 2: Pengantar Bahasa JAVA Tujuan Instruksi Khusus: Mahasiswa dapat memahami penggunaan dasar bahasa pemrograman JAVA Mahasiswa dapat mentranslasikan flowcart dan pseudocode kedalam bahasa pemrograman JAVA Bahasa pemrograman yang dijadikan implementasi eksekusi algoritma dalam praktikum ini adalah bahasa JAVA. Bahasa JAVA pada dasarnya adalah bahasa pemrograman berbasis obyek, namun dalam praktikum ini penggunaan obyek diminimalisir. Konsep dasar JAVA yang perlu dikuasai pada modul ini adalah: 1. Pengenalan Tipe Data 2. Lojik persyaratan dan perulangan Teori 1.1 Pengenalan Tipe Data Tipe data merupakan jenis ukuran dan tipe dari register memori yang digunakan oleh variabel untuk menyimpan nilai operan tertentu didalam program. Bentuk dasar tipe data dibagi atas dua jenis yaitu: 1. Tipe data Primitif, Tipe data Primitif mulai dikenal pada bahasa pemrograman prosedural seperti: Pascal, C, atau Basic. Dimana tipe data ini memiliki ukuran memori yang tetap dan pasti, diantaranya: m Integer : byte (8 byte), short (16 b), int (32 b), long (64 b) Floating point: float (32 byte), double(64 b), decimal(128 b), bigdecimal(256 b) Booleans: boolean(1 bit) Characters: char(1 byte)

13 public class Primitif { public static void main(string[] args) { String s = "Hello Java, I Love You..."; char c = 'a'; int i = 1; double f = 0.5; double d = i/f; System.out.println("Hasil Bagi "+i+" : "+f+" = "+d); 2. Tipe data komplek, Yang digunakan pada praktikum ini hanya koleksi array, matriks dan List. Array dan matriks adalah tipe data koleksi atau deret kelompok yang bersifat statis sedangkan List bersifat dinamis. Array, public class array { public static void main(string[] arg){ int index = 10; int [] ary= new int[index]; ary[0] = 1; ary[1] = 2; ary[3] = 100; System.out.println("Array indeks keempat menyimpan nilai "+ary[3]);

14 Matriks, public class Matriks { public static void main(string[] arg){ int bar = 10; int kol = 10; double [][] matrik = new double[bar][kol]; matrik[0][0] = 1; matrik[0][1] = 0; matrik[1][0] = 0; matrik[1][1] = 1; List, public class Listi { public static void main(string[] args) { List<Integer> l = new ArrayList(); l.add(1); l.add(2); l.add(1000); for (Integer i : l) { System.out.print(i);

15 1.2 Lojik Percabangan dan Perulangan Percabangan Lojik percabangan digunakan untuk menentukan pilihan aliran program yang akan dieksekusi sesusi dengan kondisi yang ditentukan. Terdapat dua kombinasi percabangan yaitu IF-THEN- ELSE dan Switch-Case, contoh: IF-THEN-ELSE import java.util.arraylist; import java.util.list; public class percabangan { public static void main(string[] args) { List<Integer> genap = new ArrayList<>(); List<Integer> ganjil = new ArrayList<>(); for(int i=0; i<=100; i++){ if(i%2==0){ System.out.println("genap"); genap.add(i); else{ System.out.println("ganjil"); ganjil.add(i); System.out.println("Daftar bilangan genap: "); for(integer i:genap){ System.out.println(i+","); System.out.println("Daftar bilangan ganjil: "); for(integer i:ganjil){ System.out.println(i+",");

16 Switch-Case public class switchcase { public static void main(string[] args) { int month = 6; String monthstring; switch (month) { case 1: monthstring = "January"; break; case 2: monthstring = "February"; break; case 3: monthstring = "March"; break; case 4: monthstring = "April"; break; case 5: monthstring = "May"; break; case 6: monthstring = "June"; break; case 7: monthstring = "July"; break; // etc etc default: monthstring = "Invalid month"; break; System.out.println(monthString);

17 Perulangan Terdapat tiga perulangan yang dapat digunakan di JAVA yaitu: While, do..while, dan For. While public class whileloop { public static void main(string args[]) { int x = 10; while( x < 20 ) { System.out.print("value of x : " + x ); x++; System.out.print("\n"); Do-While public class dowhile { public static void main(string args[]){ int x = 10; do{ System.out.print("value of x : " + x ); x++; System.out.print("\n"); while( x < 20 );

18 For public class forloop { public static void main(string args[]) { for(int x = 10; x < 20; x = x+1) { System.out.print("value of x : " + x ); System.out.print("\n"); Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, jalankan program contoh di Java IDE Netbeans Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut terkait penulisan bahasa java: Sintaks apa sebagai pembatas BEGIN-END di Java Apa perbedaan operator = dan == di JAVA Apa perbedaan FOR statis dan FOR dinamis 2. Buatlah translasi dari flowchart preparation&decision kedalam penulisan program bahasa java 3. Apa yang dimaksud dengan koleksi, sebutkan dan jelaskan tipe data koleksi tersebut...! Tugas Praktikum, 1. Buatlah program JAVA untuk algoritma deret faktorial sebagai berikut, faktorial(5) = 1*2*3*4*5 faktorial(4) = 1*2*3*4 faktorial(3) = 1*2*3 2. Buatlah program interaksi dengan input dan output untuk algoritma membuat Omlet Telur. 3. Buatlah program sebagaimana kasus pada modul 1 yang anda tentukan sendiri.

19

20 Modul 3: Java Matrik Tujuan Instruksi Khusus: Mahasiswa dapat memahami penggunaan algoritma pengolahan data matriks Bahasa pemrograman yang dijadikan implementasi eksekusi algoritma dalam praktikum ini adalah bahasa JAVA. Bahasa JAVA pada dasarnya adalah bahasa pemrograman berbasis obyek, namun dalam praktikum ini penggunaan obyek diminimalisir. Konsep dasar JAVA yang perlu dikuasai pada modul ini adalah: 1. Konsep array 2. Lojik perulangan 3. Pengenalan fungsi Teori 3.1 Pengertian Matriks Matriks adalah himpunan scalar dengan susunan segi empat siku-siku. Bilangan-bilangan dalam susunan tersebut dinamakan entri dalam matriks. Jika A adalah sebuah matriks, maka akan menggunakan a ij untuk menyatakan entri yang terdapat di dalam baris i dan kolom j dari matriks A. Secara umum matriks dituliskan sebagai berikut: 3.2 Operasional Matriks Penjumlahan Matriks Operasional Penjumlahan matriks hanya bisa dilakukan untuk atriks dengan ukuran dimensi yang sama. Jika A dan B adalah sembarang dua matriks yang ukurannya sama, maka jumlah adalah matriks yang diperoleh dengan menambahkan bersama-sama entri yang bersesuaian dalam kedua matriks tersebut.

21 Contoh: Perkalian Matriks Perkalian matriks hanya dapat dilakukan untuk matriks sembarang dengan dimensi kolom matriks pertama sama dengan baris matriks berikutnya. Sedangkan hasil perhalian adalah penjumlahan antar perkalian entri baris matriks pertama dengan kolom matriks berikutnya. Contoh: Perkalian entri antara baris dengan kolom: Baris ke-1 x kolom ke-1, X 11 = (1.2) + (3.3) + (4.1) = 15 Baris ke-1 x kolom ke-2, X 12 = (1.4) + (3.6) + (4.3) = 34 Baris ke-2 x kolom ke-1, X 21 = (3.2) + (2.3) + (5.1) = 17 Baris ke-2 x kolom ke-2, X 22 = (3.4) + (2.6) + (5.3) = 39

22 3.3 Matriks Java Matriks dijava direpresentasikan dalam array dua dimensi, tipe_data [ ][ ] variable = new tipe_data[ukuran baris][ukuran kolom] contoh: public class Matriks { public static void main(string[] arg){ int bar = 10; int kol = 10; double [][] matrik = new double[bar][kol]; matrik[0][0] = 1; matrik[0][1] = 0; matrik[1][0] = 0; matrik[1][1] = 1; 3.4 Fungsi dan Prosedur Fungsi dalam bahasa pemrograman adalah bagian struktur sub-program atau sub-rutin atau dalam standar flowchart adalah predefined process yang memiliki kegunaan secara spesifik. Pembuatan fungsi dan prosedur digunakan untuk meningkan reusabilitas fungsi program, sehingga penulisan program dapat lebih efisien ketika digunakan kembali. Secara garis besar pembeda fungsi dan prosedur hanya ada dan tidak adanya nilai kembalian, dimana fungsi memiliki nilai kembalian sedangkan prosedur tidak. Fungsi Contoh: public double[][] entri_matriks(){ int m = this.bar; int n = this.kol; double [][] r = new double[bar][kol]; for(int i=0; i<m; i++){ for(int j=0; j<n; j++){ System.out.print("Masukan Baris ke-"+i+" Kolom ke-"+j+" ="); Scanner s = new Scanner(System.in); double x = s.nextint(); r[i][j] = x; return r;

23 Prosedur public void show_matriks(double[][] matrik){ for(int i=0; i<this.bar; i++){ System.out.print(" "); for(int j=0; j<this.kol; j++){ System.out.print(" "+matrik[i][j]); System.out.println(" "); Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, jalankan program contoh di Java IDE Netbeans Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut terkait penulisan bahasa java: Apa itu fungsi? kapankah fungsi secara tepat digunakan Apa itu prosedur? kapankah prosedur secara tepat digunakan Apa persamaan dan perbedaan antara larik dan matrik Tugas Praktikum, 1. Buatlah flowchart dan pseudocode Penjumlahan matrik 2. Buatlah program dengan komponen fungsi dan prosedur untuk penjumlahan matrik 3. Buatlah program dengan komponen fungsi dan prosedur untuk perkalian matrik

24 Modul 4: Sorting Tujuan Instruksi Khusus: Mahasiswa dapat memahami penggunaan sorting pada data array Pemilihan pengunaan algoritma sangat menentukan efisiensi baik pada penggunaan ruang meori maupun kecepatan komputasi. Pada modul ini mahasiswa mempelajari beragam algoritma sorting yang menentukan kecepatan komputasi yang diperlukan saat eksekusi program. Konsep dasar JAVA yang perlu dikuasai pada modul ini adalah: 1. Array 2. Preparation & decision 3. Void Teori Pengertian Sorting Sorting merupakan salah satu algoritma terpenting dalam pengolahan data. ditujukan untuk mengurutkan data sesuai dengan nilai yang terdapat pada tiap-tiap indeks. Sorting dibagi menjadi dua pola yaitu ascending yang terurut dari nilai terkecil sampai nilai terbesar dan descending yang terurut terbalik dari besar ke kecil. Sedangkan metode sorting yang dipelajari adalah sorting dasar pada data primitif array yang terdiri atas bubble sorting, selection sorting, insertion sorting. Dari ke-3 algoritma sorting ini dilakukan analisa untuk mengukur kinerja kecepatan dari masing-masing algoritma. Bubble Sorting, Merupakan algoritma sorting yang paling sederhana dengan melakukan pertukaran data antar indeks pada keseluruan indeks secara terus-menerus sampai tidak terjadi pertukaran yang menandakan semua data yang tersimpan telah terurut.

25 Procedure BubbleSort(array OF number) BEGIN WHILE (flag IS TRUE) SET flag IS FALSE FOR j = 0 TO Length of array DO IF number [j] < number [j+1] THEN temp = number [j] number [j] = number [j+1] number [j+1] = temp flag = true ENDIF ENDFOR ENDWHILE END Contoh operasional bubble sort descending

26 Insertion Sorting, Merupakan algoritma sorting dengan melokalisir deret yang disorting, sehingga pada deret array akan dibagi menjadi dua yaitu: area tersorting dan area tidak tersorting. Procedure InsertionSort(array OF number) BEGIN SET i,j,key as number FOR j = 1 TO Length of array DO key = number [ j ] FOR i = j-1 DOWN TO 0 AND number [ i ] < key DO number [i + 1] = number [ i ] ENDFOR number [i + 1] = key ENDFOR END Contoh operasional insertion sort descending key

27 Selection Sorting, Merupakan algoritma sorting yang mengkombinasikan pencarian dan pengurutan. Pada pengurutan descending pertukaran dilakukan dengan melakukan pencarian indeks nilai terkecil, setelah didapatkan nilai terkecil ditempatkan pada posisi indeks yang terakhir dan berlaku sebaliknya untuk ascending. Procedure SelectionSort(array OF number) BEGIN SET i, j, first, temp is number FOR i = length OF array DOWN TO 1 DO first = 0 FOR j = 1 TO i DO IF (number [ j ] < number [ first] ) first = j ENDIF temp = number[ first ] number[ first ] = number[ i ]; number[ i ] = temp; ENDFOR ENDFOR END

28 Contoh operasional insertion sort descending first first first first first first Untuk mendapatkan lama waktu berjalanya program dapat digunakan program pendeteksi awal dan start program dalam skala timemillis contoh dengan kecepatan nano-time. long now = System.nanoTime(); {algorithm long after = System.nanoTime(); long delta_time = after-now;

29 Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, jalankan program contoh di Java IDE Netbeans Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut : Apakah efisiensi kecepatan kompilasi dan menjalankan program dipengaruhi oleh algoritma? Apakah ruang memori yang dialokasikan untuk menjalankan program juga dipengaruhi oleh algoritma? 2. Bagaimana cara bisa mengukur kecepatan suatu algoritma program dan bisa membandingkannya dengan algoritma program lainnya? Tugas Praktikum, 1. Buatlah program java yang mempraktikan algoritma sorting Bubble, Insertion dan Selection! 2. Buatlah program untuk menguji kecepatan algoritma tersebut untuk mensorting 10,100,1000,10000, dan data integer acak. Buatlah table perbandingan kecepatan masing-masing sorting Bubble, Insertion dan Selection. 3. Manakah yang terbaik untuk ketiga algoritma sorting tersebut?

30 Modul 5: Binary Sorting dan Searching Tujuan Instruksi Khusus: Mahasiswa dapat memahami penggunaan sorting dan searching pada data array secara binary serta penerapan metode rekursif Konsep dasar JAVA yang perlu dikuasai pada modul ini adalah: 1. Metode 2. Rekursif Teori Binary Sorting Sorting sebelumnya menerapkan algoritma sekuensial dalam melakukan pengurutan dimana analisa time complexity bigo dari algoritma tersebut cenderung N 2 dari jumlah data N, maka untuk berikutnya digunakan pendekatan sorting secara binary untuk mengurangi bigo menjadi Nlog 2 N. Untuk algoritma yang kompleks pada operasional binary, metode rekursif sangat efektif untuk mengganti operasi perulangannya. Metode rekursif menggantikan perulangan dengan melakukan pemanggilan method secara berulang sampai ditemukan solusi terkecil yang merupakan akhir dari sebuah permasalahan perulangan. Algoritma Iteratif dan Rekursif Untuk menyelesaikan permasalahan perulangan didalam algoritma pemrograman dapat menggunakan dua metode yaitu iteratif dan rekursif. Iteratif merupakan penyelesaian umum untuk penyelesaian perulangan baik untuk perulangan dengan batasan pasti menggunakan statemen For ataupun tanpa batasan pasti menggunakan While. Berbeda dengan iteratif, rekursif tidak memiliki statemen penggunaan perulangan tetapi perulangan dilakukan dengan pemanggilan methode secara berulang sampai ditemukan solusi dasar dari sebuah permasalahan.

31 Contoh untuk menyelesaikan permasalahan faktorial sederhana berikut dapat dibedakan solusi untuk iteratif dan rekursif. Persamaan n! = faktorial(n) : Untuk solusi faktorial menggunakan iteratif dapat ditentukan sebagaimana algoritma berikut pada Gambar 1. public int iteration(int n){ int result=1; if(n==0){ return result; else{ for(int i=n; i>0; --i){ result *= i; return result; Gambar 1, Listing program solusi faktorial secara iteratif Sedangkan solusi faktorial menggunakan rekursif dapat ditentukan sebagaimana algoritma berikut pada Gambar 2.

32 public int recursion(int n){ if(n==0){ return 1; else return n * recursion(n-1); Gambar 2, Listing program solusi faktorial secara rekursif Secara umum setiap permasalahan perulangan dapat dilakukan secara iteratif maupun rekursif, namun dari efektivitas program memiliki kecenderungan bahwasanya untuk solusi permasalahan yang sederhana, proses yang kecil serta penyelesaian dengan batasan pasti direkomendasikan untuk menggunakan iteratif. Sedangkan untuk solusi permasalahan yang komplek dan tanpa batasan pasti menggunakan rekursif. Binary Sorting (Quick Sort) Algoritma pengurutan yang menerapkan metode binary adalah Quick Sort. Pengurutan menggunakan Quick sort dilakukan dengan membagi deret menjadi dua bagian kiri dan kanan oleh pivot. Untuk operasional ascending, dimana bagian kiri dianggap kumpulan nilai yang lebih kecil dari pivot dan kanan lebih besar dari pivot. Apabila terdapat nilai yang lebih besar pada bagian kiri maka perlu ditukar dengan bagian kanan dari pivot atau sebaliknya. Proses dilakukan secara rekursif sampai pergeseran nilai indeks kiri lebih besar dari indeks kanan yang menandakan semua telah terurut. i pivot j i pivot j i pivot j i,pivot j

33 i,pivot j i,pivot j i, pivot, j Listing program Java Quick Sort public class QuickSorting { public void asc(int[] data, int left, int right) { int pivot = data[left + (right - left) / 2]; int i = left; int j = right; while (i <= j) { while (data[i] < pivot) { i++; while (data[j] > pivot) { j--; if (i <= j) { int temp=data[i]; data[i]=data[j]; data[j]=temp; i++; j--; if(left < j) asc(data,left,j); if(i < right) asc(data,i,right);

34 Binary Searching Algoritma binary searching pada array hanya bisa diimplementasikan pada data yang sudah terurut. Dimana pencarian dilakukan dengan membagi data berdasarkan pivot indeks tengah sampai ditemukan atau pencarian berhenti karena indeks kiri > dari indeks kanan yang menandakan tidak ditemukannya data. Cari nilai 5 didalam data, i pivot j i pivot j i, pivot j i pivot j pivot ditemukan data yang dicari Instruksi Praktikum, 1. Pelajari teori terkait pembahasan, jalankan program contoh di Java IDE Netbeans Tugas Pendahuluan, 1. Jawablah Pertanyaan berikut : Apa yang dimaksud dengan perulangan secara Rekursif? Kapan rekursif sesuai untuk digunakan daripada menggunakan iterative? Apa perbedaan kecepatan kompleksitas waktu bigo antara operasional sekuensial dengan binary? Tugas Praktikum, 1. Buatlah program java yang mempraktikan algoritma sorting Quck Sort dan Mergesort. 2. Buatlah program binary searching secara iteratif dan rekursif.

35 Referensi 1. Mark A l l e n Weiss. Data Structures and Algorithm Analysis in Java, Florida International University, Pearson Michael T. Goodrich, Roberto Tamassia. Data Structures and Algorithms in Java Fifth Edition International Student Version, Department of Computer Science University of California, Irvine, John Willey & Son Mathbits.com, Diakses 11/11/2013.

Modul 1: Flowchart & PseudoCode

Modul 1: Flowchart & PseudoCode Modul 1: Flowchart & PseudoCode Tujuan Instruksi Khusus: Mahasiswa dapat memahami penggunaan standar diagram flowchart Mahasiswa dapat memahami penggunaan diagram flowchart untuk alur algoritma Teori 1.1

Lebih terperinci

Lab. Common Computing Universitas Trunojoyo Madura. Praktikum Pengantar Algoritma Pemrograman (ALPRO) [MODUL]

Lab. Common Computing Universitas Trunojoyo Madura. Praktikum Pengantar Algoritma Pemrograman (ALPRO) [MODUL] Lab. Common Computing Universitas Trunojoyo Madura Praktikum Pengantar Algoritma Pemrograman (ALPRO) [MODUL] Ganjil 2013/2014 Modul 1: Flowchart & PseudoCode Tujuan Instruksi Khusus: Mahasiswa dapat memahami

Lebih terperinci

SUMBER BELAJAR PENUNJANG PLPG

SUMBER BELAJAR PENUNJANG PLPG SUMBER BELAJAR PENUNJANG PLPG 2017 [TIK] BAB VIII PEMROGRAMAN BERORIENTASI OBJEK [Alfa Faridh Suni] KEMENTERIAN PENDIDIKAN DAN KEBUDAYAAN DIREKTORAT JENDERAL GURU DAN TENAGA KEPENDIDIKAN 2017 BAB VIII

Lebih terperinci

Buku Ajar & Panduan Praktikum

Buku Ajar & Panduan Praktikum Buku Ajar & Panduan Praktikum STRUKTUR DATA Tujuan, 1. Mahasiswa dapat memahami implementasi struktur data & algoritma pemrograman 2. Mahasiswa dapat mengimplementasikan struktur data secara efisien untuk

Lebih terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

Percabangan & Perulangan

Percabangan & 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 terperinci

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL 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 terperinci

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek. LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menit No. : LST/EKA/EKA 305/03 Revisi : Tgl. : Hal. 1 dari 3 hal. 1. Kompetensi Mengenal dan memahami algoritma percabangan

Lebih terperinci

Percabangan dan Perulangan

Percabangan dan Perulangan Percabangan dan Perulangan uliana Setiowati Politeknik Elektronika egeri Surabaya 2011 1 Topik Percabangan switch Perulangan Special Loop Control 2 Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan

Lebih terperinci

Gambar 13.1 Ilustrasi proses algoritma sorting

Gambar 13.1 Ilustrasi proses algoritma sorting MODUL 13 SORTING 13.1 Kompetensi 1. Mahasiswa mampu menjelaskan mengenai algoritma sorting. 2. Mahasiswa mampu membuat dan mendeklarasikan struktur algoritma sorting. 3. Mahasiswa mampu menerapkan dan

Lebih terperinci

Modul 4: Iteratif & Rekursif, Binary Tree

Modul 4: Iteratif & Rekursif, Binary Tree Modul 4: Iteratif & Rekursif, Binary Tree Tujuan Instruksi Khusus: Mahasiswa dapat memahami algoritma Iteratif dan Rekursif Mahasiswa dapat memahami struktur Binary Tree Teori Efektifitas pemilihan algoritma

Lebih terperinci

ALGORITMA, FLOWCHART dan PSEUDO-CODE

ALGORITMA, FLOWCHART dan PSEUDO-CODE BAB III ALGORITMA, FLOWCHART dan PSEUDO-CODE A. Langkah langkah dalam Pemrograman Komputer Dalam membuat suatu pemrograman komputer langkah langkah yang harus dilakukan adalah sebagai berikut : 1. Mendefinisikan

Lebih terperinci

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai)

Java Basic. Variabel dan Tipe Data. Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Variabel dan Tipe Data Lokasi di dalam memori komputer yang digunakan untuk menyimpan suatu informasi (nilai) Nilai variabel dapat diubah di pernyataan manapun di dalam program Java Basic By Didit Setya

Lebih terperinci

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Pemrograman. 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 terperinci

Apa Itu Algoritma? Algoritma berasal dari: ahli

Apa Itu Algoritma? Algoritma berasal dari: ahli Dasar-dasar Algoritma Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN Apa Itu Algoritma? Algoritma berasal dari: Nama Abu Ja far Muhammad Ibnu Musa Al-Khwarizmi ahli matematika Persia yang

Lebih terperinci

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting) Algoritma dan Struktur Data Algoritma Pengurutan (Sorting) Tujuan Instruksional Memahami algoritma pengurutan Mengerti algoritma bubble, selection, insertion, merge sort Topik Algoritma pengurutan Bubble

Lebih terperinci

Modul 3: Kendali program dan teknik. penyimpanan data

Modul 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 terperinci

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR BAB 3 TYPE DATA, VARIABLE DAN OPERATOR Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Perulangan, Percabangan, dan Studi Kasus

Perulangan, Percabangan, dan Studi Kasus Perulangan, Percabangan, dan Studi Kasus Perulangan dan percabangan merupakan hal yang sangat penting dalam menyusun suatu program Pada pertemuan kali ini akan dibahas secara detail tentang perulangan

Lebih terperinci

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort M Iqbal Tawakal - 0706271954 Abstract Paper ini akan menjelaskan mengenai cara menghitung inversion

Lebih terperinci

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

Pengenalan Algoritma

Pengenalan 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 terperinci

2 TIPE DATA DAN VARIABEL

2 TIPE DATA DAN VARIABEL BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:

Lebih terperinci

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN PERTEMUAN 2 ALGORITMA & PEMROGRAMAN POKOK BAHASAN 1. Pendahuluan 2. Tahapan Pembangunan Program 3. Pengenalan Algoritma 4. Cara Menyajikan Algoritma 5. Data Program 6. Elemen-Elemen Program PENDAHULUAN

Lebih terperinci

BAB I PENGANTAR ALGORITMA

BAB I PENGANTAR ALGORITMA BAB I PENGANTAR ALGORITMA Kebayanakan komputer digunakan untuk memperoses dan menyimpan data serta informasi. Pemerosesan perlu dilakukan komputasi-komputasi yang cepat dan akurat. Untuk melakukan tugas-tugas

Lebih terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 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 terperinci

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA 1 BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA IDENTIFIER Identifier adalah suatu tanda yang mewakili nama-nama variabel, method, class, dsb. Ingat : Bahasa

Lebih terperinci

Penyeleksi Kondisi / Percabangan

Penyeleksi 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 terperinci

PERTEMUAN 7 REVIEW (QUIZ)

PERTEMUAN 7 REVIEW (QUIZ) PERTEMUAN 7 REVIEW (QUIZ) 1. Langkah pertama yang harus dilakukan dalam menyusun suatu program a. Membuat Hipotesa b. Membuat Masalah c. Membuat Algoritma d. Membuat Program e. Menyalakan Komputer 2. Sebuah

Lebih terperinci

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04) TIPE DATA PADA JAVA Pertemuan (K-04/L-04) Alangkah baiknya kita mempelajari terlebih dahulu tentang apa itu tipe data dan mengenal ada berapa tipe data yang digunakan dalam Bahasa Pemrograman Java. Sudah

Lebih terperinci

Algoritma Pemrograman Fery Updi,M.Kom

Algoritma Pemrograman Fery Updi,M.Kom Algoritma Pemrograman Fery Updi,M.Kom 1 Kompetensi Detail Mampu menjelaskan Prinsip-prinsip Algoritma Mampu menjelaskan Konsep Bahasa Pemrograman Mampu membuat Flowchart dan Pseudocode Mampu menjelaskan

Lebih terperinci

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO Ramos Somya Identifier Merupakan nama yang digunakan untuk menamai class, variabel, method dan interface. Aturan: - Tidak ada batasan

Lebih terperinci

MATERI PRAKTIKUM STRUKTUR DATA

MATERI PRAKTIKUM STRUKTUR DATA MATERI PRAKTIKUM STRUKTUR DATA Materi pembelajaran struktur data selama satu semester meliputi: No Materi Umum Tujuan yang diharapkan 1 Pengertian Struktur Data, Tipe Data Mahasiswa dapat Memahami dan

Lebih terperinci

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch.

Tujuan : A. Percabangan Percabangan di dalam Java terdapat 2 macam, yaitu dengan memakai if dan switch. Modul 2 Percabangan dan Loop Tujuan : 1. Praktikan mengetahui macam macam percabangan pada Java 2. Praktikan mengetahui macam macam loop pada Java 3. Praktikan mampu memahami logika percabangan dan loop

Lebih terperinci

Pengurutan (Sorting) Algoritma Pemrograman

Pengurutan (Sorting) Algoritma Pemrograman Pengurutan (Sorting) Algoritma Pemrograman mas.anto72@gmail.com 1 Definisi Sorting /pengurutan proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Bentuk susunan/urutan : Ascending menaik/membesar

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; }

if (ekspresi_boolean) { Pernyataan1; } else { Pernyataan2; } PRAKTIKUM 4 PERCABANGAN DAN PERULANGAN A. TUJUAN PEMBELAJARAN 1. Memahami logika percabangan 2. Memahami logika perulangan 3. Memakai percabangan dan perulangan yang tepat 4. Memahami pemberian kondisi

Lebih terperinci

MODUL III ARRAYLIST TUGAS PENDAHULUAN

MODUL 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 terperinci

Modul Praktikum Bahasa Pemrograman 1

Modul Praktikum Bahasa Pemrograman 1 Modul Praktikum Tahun Ajaran 2009/2010 Revisi : Eko Andriyanto Wicaksono, S.Kom Materi 4 Struktur Kontrol Tujuan Pada bab sebelumnya, kita sudah mendapatkan contoh dari program terstruktur, dimana setiap

Lebih terperinci

Perulangan / Looping

Perulangan / 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 terperinci

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF ARRAY STATIS (lanjutan) OPERASI ARRAY STATIS (lanjutan) 3. Pencarian (searching) array Proses menemukan suatu data yang terdapat dalam suatu array. Proses

Lebih terperinci

ALGORITMA PENGURUTAN & PENCARIAN

ALGORITMA PENGURUTAN & PENCARIAN Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan

Lebih terperinci

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

LAPORAN 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 terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci

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

SORTING. Hartanto Tantriawan, S.Kom., M.Kom SORTING DASAR PEMROGRAMAN Hartanto Tantriawan, S.Kom., M.Kom TUJUAN PERKULIAHAN Mahasiswa mengetahui konsep mengurutkan sekumpulan elemen Mahasiswa dapat menggunakan teknik sorting dalam kasus yang diberikan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

BAB II VARIABEL DAN TIPE DATA

BAB II VARIABEL DAN TIPE DATA BAB II VARIABEL DAN TIPE DATA Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai atau data. Sedangkan Java sendiri dikenal sebagai bahasa pemrograman dengan

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1 Disusun oleh : Tim Asisten JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2011 0 A. Pengantar

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik 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 terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

if (ekspresi_boolean) {

if (ekspresi_boolean) { PRAKTIKUM 4 PERCABANGAN DAN PERULANGAN A. TUJUAN PEMBELAJARAN 1. Memahami logika percabangan 2. Memahami logika perulangan 3. Memakai percabangan dan perulangan yang tepat 4. Memahami pemberian kondisi

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa 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 terperinci

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

PERTEMUAN 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 terperinci

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI

Bahasa Pemrograman Java. Yudi Adha. ST. MMSI Bahasa Pemrograman Java Yudi Adha. ST. MMSI Tujuan Pada bagian ini, kita akan mendiskusikan mengenai bagian dasar pemrograman Java. Kita akan memulai dengan mencoba menjelaskan bagian dasar dari program

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

Modul Praktikum Algoritma dan Struktur Data

Modul Praktikum Algoritma dan Struktur Data BAB 2 SORTING (PENGURUTAN) 1. Tujuan Setelah mempelajari modul ini, mahasiswa diharapkan: a. Mampu menjelaskan mengenai algoritma Sorting b. Mampu membat dan mendeklarasikan struktural algoritma Sorting

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA 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 terperinci

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

Algoritma & Pemrograman #1

Algoritma & Pemrograman #1 Algoritma & Pemrograman #1 Antonius Rachmat C, S.Kom, M.Cs Algoritma Asal kata Algoritma (algorism - algorithm) berasal dari nama Abu Ja far Muhammad ibn Musa Al-Khuwarizmi Ilmuan Persia yang menulis kitab

Lebih terperinci

A. TEORI ARRAY 1 DIMENSI

A. 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 terperinci

Tipe Data dan Operator

Tipe Data dan Operator Tipe Data dan Operator Dasar Algoritma dan Pemrogrman Eka Maulana, ST, MT, MEng. Klasifikasi Tipe Data 1 Tipe Data Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam

Lebih terperinci

BAB VI Pengurutan (Sorting)

BAB VI Pengurutan (Sorting) BAB VI Pengurutan (Sorting) Tujuan 1. Menunjukkan beberapa algoritma dalam Pengurutan 2. Menunjukkan bahwa pengurutan merupakan suatu persoalan yang bisa diselesaikan dengan sejumlah algoritma yang berbeda

Lebih terperinci

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar STRUKTUR DATA Nama : Sulfikar Npm : 2013020076 STMIK Handayani Makassar Pengertian Quick Sort Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962. Dasar strateginya adalah memecah dan

Lebih terperinci

A. TEORI ARRAY 1 DIMENSI

A. 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 terperinci

BAB 1 KONSEP DASAR JAVA

BAB 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 terperinci

JAVA BASIC PROGRAMMING Joobshet

JAVA BASIC PROGRAMMING Joobshet JAVA BASIC PROGRAMMING Joobshet 1. KOMPETENSI Mahasiswa dapat memahami jenis jenis tipe data Mahasiswa dapat memahami jenis jenis variable Mahasiswa dapat memahami jenis jenis seleksi kondisi Mahasiswa

Lebih terperinci

PERTEMUAN II ARRAY, PERCABANGAN, DAN PERULANGAN TUJUAN PRAKTIKUM

PERTEMUAN II ARRAY, PERCABANGAN, DAN PERULANGAN TUJUAN PRAKTIKUM PERTEMUAN II ARRAY, PERCABANGAN, DAN PERULANGAN TUJUAN PRAKTIKUM 1. Praktikan mengetahui array, percabangan, dan perulangan pada Java. 2. Praktikan mengetahui bentuk umum dari array, percabangan, dan perulangan

Lebih terperinci

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom

Algoritma & Pemrograman #1. Antonius Rachmat C, S.Kom Algoritma & Pemrograman #1 Antonius Rachmat C, S.Kom Jenis Proses Algoritma Sequence Process: instruksi dikerjakan secara sekuensial, berurutan. Selection Process: instruksi dikerjakan jika memenuhi kriteria

Lebih terperinci

Modul Praktikum 3 Pemograman Berorientasi Objek

Modul 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 terperinci

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array} ARRAY STATIS Array (larik) merupakan tipe data terstruktur yang terdiri dari sejumlah elemen yang mempunyai tipe data yang sama dan diakses/diacu lewat indeksnya. Array memiliki jumlah komponen yang jumlahnya

Lebih terperinci

Modul 8 SORTING (PENGURUTAN)

Modul 8 SORTING (PENGURUTAN) Modul 8 SORTING (PENGURUTAN) 1. Tujuan Instruksional Umum a. Mahasiswa mampu melakukan perancangan aplikasi menggunakan Struktur Sorting ( pengurutan ) b. Mahasiswa mampu melakukan analisis pada algoritma

Lebih terperinci

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: Praktikum 7 Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: Konsep pengurutan dengan insertion sort dan selection sort Struktur data proses pengurutan Implementasi algoritma pengurutan

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK Deskripsi Singkat merupakan bentuk struktur data seperti tumpukan yang memiliki konsep Last In First Out (LIFO). Bermakna data yang terakhir masuk merupakan

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT ALGORITMA PENGURUTAN Oleh : S. Thya Safitri, MT Definisi Sorting merupakan suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk

Lebih terperinci

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java

A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java PRAKTIKUM 3 OPERATOR A. TUJUAN PEMBELAJARAN 1. Mengenal berbagai macam bentuk operator 2. Memahami penggunaan berbagai macam jenis operator yang ada di Java B. DASAR TEORI Operator dapat diklasifikasikan

Lebih terperinci

Elemen Dasar Dalam Bahasa Java

Elemen Dasar Dalam Bahasa Java Elemen Dasar Dalam Bahasa Java 1. Kata Kunci Kata kunci adalah kata-kata yang didefenisikan oleh compiler dan memiliki arti dan tujuan spesifik. Java tidak mengizinkan kata-kata tersebut dipakai sebagai

Lebih terperinci

Tujuan Instruksional. Mahasiswa mampu :

Tujuan Instruksional. Mahasiswa mampu : Tujuan Instruksional Mahasiswa mampu : Mengulang dan mengingatkan kembali tentang Dasar Pemrograman Mengigatkan kembali pemahaman tentang Flow Control, Looping, dll Penting!! Kehadiran kurang dari 80%

Lebih terperinci

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Ronny - 13506092 Jurusan Teknik Informatika Institut Teknologi Bandung Email : if16092@students.if.itb.ac.id 1. Abstract

Lebih terperinci

ARRAY. 7 th week Estu Sinduningrum ST,MT

ARRAY. 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 terperinci

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010

6 Modul Praktikum Pemrograman Berorientasi Objek Common Laboratory 2009/2010 Ayo, kita coba buat program Sederhana menggunakan Java! Setelah kita menginstal JDK dan konfigurasi pathnya, mari kita buat program sederhana menggunakan Java. Tetapi sebelumnya, apakah perbedaan dari

Lebih terperinci

ALGORITMA DIVIDE AND CONQUER

ALGORITMA DIVIDE AND CONQUER ALGORITMA DIVIDE AND CONQUER By Gapra. Email : ga_pra_27@yahoo.co.id 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan

Lebih terperinci

PEMAHAMAN DASAR DASAR JAVA

PEMAHAMAN DASAR DASAR JAVA MODUL 1 PEMAHAMAN DASAR DASAR JAVA A. PENGANTAR JAVA Java Standard Development Kit (JDK/SDK) merupakan alat-alat utama bagi programmer untuk membuat dan menjalankan java. Development Kit dapat didownload

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : ALGORITMA DAN PEMROGRAMAN A Kode Mata Kuliah : DK - 24301 Jurusan / Jenjang : S1 SISTEM KOMPUTER Tujuan

Lebih terperinci

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Quick 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 terperinci

Seri : Algoritma dan Pemrograman dengan Pascal

Seri : Algoritma dan Pemrograman dengan Pascal Seri : Algoritma dan Pemrograman dengan Pascal Penulis : Fakhri Copyright 2013 pelatihan-osn.com Cetakan I : Oktober 2012 Diterbitkan oleh : Pelatihan-osn.com Kompleks Sawangan Permai Blok A5 No.12 A Sawangan,

Lebih terperinci

BAB 6. Struktur Kontrol

BAB 6. Struktur Kontrol BAB 6 Struktur Kontrol 6.1 Tujuan Pada bab sebelumnya, kita sudah mendapatkan contoh dari program terstruktur, dimana setiap pernyataan dieksekusi setelah pernyataan sebelumnya sesuai dengan urutannya.

Lebih terperinci

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b.

c. Membeli komputer d. Proses 2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a. Membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori. Array Linear Array (biasa disebut Array) adalah salah satu bentuk struktur data yang bersifat Linear (continue). Nilai data Array harus homogen (bertipe data sama). Array merupakan koleksi data dimana

Lebih terperinci

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Bahasa pemrograman pada umumnya, mengenal adanya variabel yang digunakan untuk menyimpan nilai

Lebih terperinci

KENDALI 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. 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 terperinci

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

LAPORAN 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 terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik 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 terperinci

IKG2I4 / Software Project I

IKG2I4 / 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 terperinci

MODUL 2 STRUKTUR KONTROL

MODUL 2 STRUKTUR KONTROL MODUL 2 STRUKTUR KONTROL 2.1 Tujuan Menggunakan struktur kontrol keputusan (if, else, switch) yang digunakan untuk memilih blok kode yang akan dieksekusi Menggunakan struktur kontrol pengulangan (while,

Lebih terperinci

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

SORTING 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 terperinci

Modul Praktikum 6 Pemograman Berorientasi Objek

Modul 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 terperinci