Tes Asisten Praktikum Alpro Lanjut

dokumen-dokumen yang mirip
Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

Politeknik Elektronika Negeri Surabaya

Percabangan dan Perulangan

Metode Insertion Sort di Java Console

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

BAB 3 SEARCHING A. TUJUAN

ARRAY, SORTING & SEARCHING

ARRAY. 7 th week Estu Sinduningrum ST,MT

Arrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

A. TUJUAN PEMBELAJARAN

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Bubble Sort dan Selection Sort di Java Console

Percabangan & Perulangan

Modul Praktikum Algoritma dan Struktur Data

Pencarian (Searching)

A. TUJUAN PEMBELAJARAN

Perulangan / Looping

Modul Praktikum 4 Pemograman Berorientasi Objek

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

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

Insertion Sort Dengan Algoritma Divide And Conquer

PENGURUTAN (SORTING) 1. Overview

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Penyeleksi Kondisi / Percabangan

Politeknik Elektronika Negeri Surabaya

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

Politeknik Elektronika Negeri Surabaya

Algoritma dan Struktur Data

Politeknik Elektronika Negeri Surabaya

Gambar 13.1 Ilustrasi proses algoritma sorting

PENCARIAN (SEARCHING)

MODUL 5 PERULANGAN A. WHILE

TIPE DATA Pertemuan (K-03/L-03)

Metode Binnary Searching di Java Console

A. TEORI ARRAY 1 DIMENSI

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Array Sebagai Parameter Method

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

Belajar Rekursif di Java

Sorting. Pertemuan ke 14.

Method / Fungsi / Sub Program

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM DENGAN KONDISI

Pemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

DASAR PEMROGRAMAN JAVA. Astrid Lestari Tungadi, S.Kom., M.TI.

Belajar ArrayList di Java

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

A. TEORI ARRAY 1 DIMENSI

Tiga Metode Sangat Penting dalam Pemrograman Java Bagi Pemula

PEMROGRAMAN JAVA : ARRAY

Decision and Looping

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

BAB VIII Pencarian(Searching)

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

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

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem

Modul 8 SORTING (PENGURUTAN)

Modul Praktikum 6 Pemograman Berorientasi Objek

Metode Sequential Searching di Java Console

Sequential Search (Linear Search)

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

PEMBAHASAN UJIAN TENGAH SEMESTER PEMROGRAMAN BERBASIS OBYEK Dosen : Tim Dosen PBO

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA GENERIC DAN IMPLEMENTASI COMPARETO()

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep rekursif 2. Mampu memecahkan permasalahan dengan konsep rekursif

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III

Algoritma dan Pemrograman Array/Tabel[1] Oleh: Eddy Prasetyo N

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR PROGRAM PENYEDERHANAAN PECAHAN

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

PEMROGRAMAN JAVA. Yoannita, S.Kom. Input Kondisi (IF-ELSE, SWITCH)

Topik. 1. Statement if 2. Statement if..else.. 3. Statement if..else.. If (bertingkat ) 4. Penggunaan Input Keyboard

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-7 Pencarian (Searching) 2

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Pert 3: Algoritma Pemrograman 1 (Alpro1) 4 sks. By. Rita Wiryasaputra, ST., M. Cs.

Setelah menyelesaikan praktikum ini, mahasiswa diharapkan mampu:

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

Gambar 1. Single Linked List

ALGORITMA, FLOWCHART dan PSEUDO-CODE

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T.

Fungsi Rekursif PEMROGRAMAN DASAR. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi PTIIK UB Semester Ganjil 2014/2015

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

{ System.out.println("PERANCANGAN PROGRAM APLIKASI ESTIMASI KEUNTUNGAN PRODUKSI PADA PT POPPY DHARSONO DENGAN. System.out.

ANALISA RUNNING TIME

Algoritma dan Pemrograman

Modul 1: Flowchart & PseudoCode

Enkripsi Karakter - Soal Lomba Pemrograman

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

Algoritme dan Pemrograman

Array 1 Dimensi pada Java

MODUL PRAKTIKUM KONSEP PEMROGRAMAN KOMPUTER

12/26/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Sorting. Data untuk sorting. Contoh. Algoritme #1: BUBBLE SORT.

SEKUEN, PERCABANGAN & PENGULANGAN

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

Transkripsi:

Tes Asisten Praktikum Alpro Lanjut Tingkat kesulitan: Mudah Estimasi waktu pengerjaan: 90 menit Buatlah sebuah program yang akan meminta input n (1-300), dan menampilkan hasil penjumlahan dari setiap pembagi n. Nilai pembagi merupakan bilangan kecil dari n yang dapat membagi nilai n dengan hasil bagi berupa bilangan bulat. Contoh jalannya program: Masukkan nilai n: 20 Pembagi: 1, 2, 4, 5, 10 Hasil bagi: 22 Masukkan nilai n: 15 Pembagi: 1, 2, 3, 5 Hasil bagi: 11 Tingkat kesulitan: Mudah Estimasi waktu pengerjaan: 120 menit Buatlah sebuah program yang akan mentranslasikan bilangan basis n menjadi bilangan basis 10 (desimal). Program akan meminta dua input, yaitu bilangan basis 2 dan bilangan yang akan ditranslasikan. Pastikan melakukan validasi input sesuai basis yang diberikan. Contoh jalannya program: Masukkan basis bilangan: 2 Bilangan: 1001 Nilai: 9 Masukkan basis bilangan: 4 Bilangan: 32 Nilai: 14 Masukkan basis bilangan: 2 Bilangan: 10031 Nilai bilangan tidak sesuai dengan basis

Tingkat kesulitan: Sedang Estimasi waktu pengerjaan: 120 menit Diketahui sebuah program sebagai berikut: public class NewClass { public static void main(string[] args) { int arrx = {23, 5, 17, 18, 3; for (int i = 0; i < arrx.length(); i++) { System.out.println("Array ke-"+i+": "+arrx[j])); Carilah kesalahan dari program tersebut. Tuliskan semua kesalahan yang ada pada program di atas. Jangan tuliskan program yang sudah diperbaiki.

Tingkat kesulitan: Sedang Estimasi waktu pengerjaan: 120 menit Diketahui sebuah program sebagai berikut: public class NewClass { public static void main(string[] args) { Scanner s = new Scanner(System.in); System.out.print("Masukkan nama: "); String nama = s.nextline(); System.out.print("Masukkan prodi: "); String prodi = s.nextline(); System.out.print("Masukkan angkatan: "); int angkatan = s.nextint(); System.out.print("Masukkan peminatan: "); String minat = s.nextline(); System.out.println("\n\nNama: "+nama); System.out.println("Prodi: "+prodi); System.out.println("Angkatan: "+angkatan); System.out.println("Peminatan: "+minat); Hasil dari program di atas adalah sebagai berikut: Terlihat masukan peminatan akan dilewatkan saat program dijalankan. Program tidak akan menunggu user untuk memasukkan peminatan setelah memasukkan nilai angkatan. Bagaimana caranya agar user tetap dapat memasukkan nilai dari peminatan, sehingga semua data dapat lengkap ditampilkan? Modifikasilah program di atas, sehingga setiap nama, prodi, angkatan, dan peminatan dapat dimasukkan nilainya oleh user.

Tingkat kesulitan: Sulit Estimasi waktu pengerjaan: 180 menit Algoritma pencarian merupakan algoritma yang dimaksudkan untuk mencari data pada sebuah list data. Masukan dari algoritma biasanya adalah sebuah array, dan keluarannya berupa indeks tempat bilangan itu berada pada array. Setelah itu, dilakukan pencarian data dengan membagi dua keseluruhan data. Contoh implementasi program yang menyatakan algoritma ini tertulis sebagai berikut (diambil dari http://java2novice.com/java-search-algorithms/linear-search/): public class MyLinearSearch { public static int linersearch(int[] arr, int key) { int size = arr.length; for (int i = 0; i < size; i++) { if (arr[i] == key) { return i; return -1; public static void main(string a[]) { int[] arr1 = {23, 45, 21, 55, 234, 1, 34, 90; int searchkey = 34; System.out.println("Key " + searchkey + " found at index: " + linersearch(arr1, searchkey)); int[] arr2 = {123, 445, 421, 595, 2134, 41, 304, 190; searchkey = 421; System.out.println("Key " + searchkey + " found at index: " + linersearch(arr2, searchkey)); Dengan kata-kata sendiri, jelaskanlah cara kerja dari program di atas, dan hubungkan dengan penjelasan dari algoritma pencarian sekuensial.

Tingkat kesulitan: Sulit Estimasi waktu pengerjaan: 240 menit Algoritma pencarian merupakan algoritma yang dimaksudkan untuk mencari data pada sebuah list data. Masukan dari algoritma biasanya adalah sebuah array, dan keluarannya berupa indeks tempat bilangan itu berada pada array. Salah satu algoritma pencarian adalah algoritma pencarian biner (binary search). Syarat dari pencarian sekuensial adalah keterurutan data yang akan dicari pada array masukan. Setelah itu, dilakukan pencarian data dengan membagi dua keseluruhan data. Contoh implementasi program yang menyatakan algoritma ini tertulis sebagai berikut (diambil dari http://java2novice.com/java-search-algorithms/binary-search/): public class MyBinarySearch { public int binarysearch(int[] inputarr, int key) { int start = 0; int end = inputarr.length - 1; while (start <= end) { int mid = (start + end) / 2; if (key == inputarr[mid]) { return mid; if (key < inputarr[mid]) { end = mid - 1; else { start = mid + 1; return -1; public static void main(string[] args) { MyBinarySearch mbs = new MyBinarySearch(); int[] arr = {2, 4, 6, 8, 10, 12, 14, 16; System.out.println("Key 14's position: " + mbs.binarysearch(arr, 14)); int[] arr1 = {6, 34, 78, 123, 432, 900; System.out.println("Key 432's position: " + mbs.binarysearch(arr1, 432)); Dengan kata-kata sendiri, jelaskanlah cara kerja dari program di atas, dan hubungkan dengan penjelasan dari algoritma pencarian biner.

Tingkat kesulitan: Sulit Estimasi waktu pengerjaan: 180 menit Algoritma pengurutan merupakan algoritma yang bertujuan untuk mengurutkan data dari sebuah list yang tidak terurut. Biasanya, masukan dari algoritma ini adalah sebuah array tidak terurut, dan akan mengembalikan nilai array yang sudah terurut. Cara kerja dari algoritma pengurutan biasanya menggunakan perulangan/looping. Salah satu contoh algoritma pengurutan adalah Selection Sort. Cara kerja dari Selection Sort adalah melakukan pemilihan bilangan terkecil dari array yang diketahui. Bilangan terkecil itu akan dipertukarkan letaknya dengan bilangan pada indeks pertama array. Daftar bilangan yang akan diproses akan berkurang seiring dengan perulangan yang dilakukan. Dengan kata lain, indeks pertama dari array akan berubah seiring bertambahnya jumlah perulangan yang dilakukan. Variasi dari Selection Sort, juga bisa diimplementasikan dengan menggunakan pemilihan bilangan terbesar. Contoh implementasi dari Selection Sort diperluhatkan listing code berikut (diambil dari http://www.java2novice.com/java-sorting-algorithms/selection-sort/): public class MySelectionSort { public static int[] doselectionsort(int[] arr) { for (int i = 0; i < arr.length - 1; i++) { int index = i; for (int j = i + 1; j < arr.length; j++) { if (arr[j] < arr[index]) { index = j; int smallernumber = arr[index]; arr[index] = arr[i]; arr[i] = smallernumber; return arr; public static void main(string a[]) { int[] arr1 = {10, 34, 2, 56, 7, 67, 88, 42; int[] arr2 = doselectionsort(arr1); for (int i : arr2) { System.out.print(i); System.out.print(", "); Dengan kata-kata sendiri, jelaskanlah cara kerja dari program di atas, dan hubungkan dengan penjelasan dari algoritma Selection Sort.