LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

dokumen-dokumen yang mirip
Percabangan & Perulangan

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

Pertemuan 3 Struktur Perulangan pada Java

Modul Praktikum 3 Pemograman Berorientasi Objek

SUMBER BELAJAR PENUNJANG PLPG

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

Array Sebagai Parameter Method

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi Objek (PBO) PERTEMUAN X (LOOPING)

Struktur Kontrol Pemrograman Java : PERCABANGAN

Perulangan / Looping

OPERATOR-OPERATOR DALAM JAVA

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Algoritma dan Pemrograman FUNGSI

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if

Modul Praktikum 4 Pemograman Berorientasi Objek

Dasar Pemrograman Java

MINGGU II : DASAR C# Tujuan Pembelajaran. Materi

PERTEMUAN 3 OBJEK DAN CLASS

LAPORAN PRAKTIKUM PEMROGRAMAN DASAR TIPE-TIPE FUNGSI ATAU METHOD

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

Method / Fungsi / Sub Program

Algoritma Perulangan. Kuliah algoritma dan pemrograman

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

MODUL III ARRAYLIST TUGAS PENDAHULUAN

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN JAVA. Operator. Yoannita

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Modul Praktikum Bahasa Pemrograman 1

Operator, Statement kondisional, dan Iterasi pada Java

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

PEMROGRAMAN JAVA. Operator. Yoannita. Special thanks : Some slides are from Josephine Petrina K & Gasim Alkaff

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

PRAKTIKUM 12 POINTER 2

PROCEDURE DAN FUNCTION

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar?

MODUL 1 PENGENALAN OOP

Mukhlidi Muskhir Modul 2

Bahasa Pemrograman 2.

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

Modul 4 Exception, I/O, dan Operasi File

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

Modul Praktikum Bahasa Pemrograman 1

TPI4202 e-tp.ub.ac.id. Lecture 4 Mas ud Effendi

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

IT210 Pemrograman Visual. Ramos Somya

Pada akhir pembahasan, peserta diharapkan mampu untuk:

Struktur Kontrol. Gambar 1: Flowchart Statement If

PEMROGRAMAN JAVA. Petunjuk Penulisan Program Token Aturan Penamaan Identifier Lingkungan /Scope dari variabel Tipe Data (i) Yoannita

Konsep Dasar Pemrograman Dan Pengenalan C++

KONSEP OBJEK ORIENTASI PROGRAM

Pemrograman Berorientasi Object

Array. Pengantar. int a, b, c, d, e;

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

Metode Binnary Searching di Java Console

Merupakan tipe data bilangan pecahan seperti 1.5, 2.1, dsb Tipe data ini memiliki ukuran 32 bit dengan panjang range 3.4 x 1038.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 4 CONTROL FLOW STATEMENT

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

Belajar Rekursif di Java

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Modul II Object Oriented Programming

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

BAB 6. Struktur Kontrol

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK. Maimunah, S.Si,M.Kom

Modul Praktikum Pemrograman

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Pengenalan Program Java

MODUL 2 STRUKTUR KONTROL

BAB 6. Struktur Kontrol

TPI4202 e-tp.ub.ac.id

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

Dasar-Dasar Pemrograman Java

24/09/2017 PERULANGAN

BAB III OPERATOR compiler operasi operand A. Operator Aritmatika Operator Penggunaan Deskripsi Latihan 4. Aritmatika.java

STRUKTUR PEMROGRAMAN PYTHON

IKG2I4 / Software Project I

Bahasa Pemrograman :: Dasar Pemrograman Java

2 TIPE DATA DAN VARIABEL

BAB 3 STRUKTURE PROGRAM JAVA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

PHP (HYPERTEXT PREPROCESSOR)

BAB 5 Mendapatkan Input dari Keyboard

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Algoritma Pemrograman 2B (Pemrograman C++)

BAB 5 Mendapatkan Input dari Keyboard

Pemrograman Dasar I N T R O D U C T I O N T O J A V A

PERTEMUAN 7 REVIEW (QUIZ)

Pengenalan Java, Tipe Data, Variabel dan Operator. Putu Putra Astawa

BAB V. STATEMEN KONTROL

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

Transkripsi:

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 DASAR PROGRAM STUDI ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2007 1

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java) 7 Mei 2007 A. DASAR TEORI public class Helloword{ public static void main(string [] args ){ System.out.println( Hello word ); Aturan pembuatan kelas 1. nama kelas public harus sama dengan nama file Case-sensitive nama kelas tidak boleh memuat karakter spasi dalam sebuah file dapat memuat beberapa kelas static ---> melekat ke kelas. Public class coba { static int x; x=100; System.out.println( X= +x); int y=999; System.out.println( Y = +y); Tipe array Pada java Karena Java merupakan object orientasi programming, maka semua yang ada di Java dianggap sebagai object begitu juga dengan Array yang implementasinya sama seperti pointer pada Pascal. Berikut cara mendeklarasikan array di Java. Tipep[] nama_variabel = new tipe[jumlah_array]; Contoh : Int[] data=new int[10] Artinya data memiliki 10 isi. 2

perulangan for () { while () { do { while (); For for ( inisialisasi; chek kondisi; penambahan/pengurangan) { public class faktorial { int x=5; int hasil=1; for ( int i=1; i<=x; i++) { hasil=hasil*i; System.out.println(x+! = +hasil); while While (kondisi ) { //perintah yang diulang ketika kondisi = true //perintah yang dieksekusi setelah perulangan selesai. public class faktorial { int x=5; int hasil=1; int i=1; while ( i<=x ) { hasil= hasil* i; i++; System.out.println(x+! = +hasil); Do while do { //perintah yang diulang while ( kondisi); public class faktorial { int x=5; 3

int hasil=1; int i=1; do{ hasil= hasil* i; i++; while (i<x); System.outprintln(x+! = +hasil); Method Sama halnya seperti pada pascal dan C, di Java pun dikenal sebuah function, tapi sebutannya saja yang berbeda karena baik fungus maupun procedure disebut dengan method. Method sendiri dapat terletak didalam kelsa dimana ada method utama atau dikelsa lainnya. Untuk method ada dua jenis yaitu : 1. Method tanpa kembalian 2. Method dengan kembalian Method tanpa kembalian format nya adalah Public class nama_kelas { Public static void nama_methode ( parameter1,parameter2, parametern) { //Statement yang dieksekusi oleh method Method dengan kembalian formatnya adalah Public class nama_kelas { Public static tipe_kembalian nama_methode(parameter1, parameter2, parametern) { //statement yang dieksekusi oleh method contoh : public class coba_method { public static void main ( String [] args ) { int hasil; method1(); hasil= method2(2,4); System.out.println(hasil); 4

//contoh method tanpa pengembalian public static void method1() { System.out.println( ini method tanpa pengembalian ); //contoh method dengan kembalian public static int method2(int x, int y) { retutn (x*y); B. PERMASALAHAN Buatlah program dimana diberikan sebuah input n integer, maka ouputnya adalah permutasi dari n angka yang ada. Misal ketika n=3 maka output yang terjadi adalah : 123 132 213 231 312 321 Gunakan teknik rekursif dan kerjakan pada Java. C. PEMBAHASAN Untuk membuat program pada Java yang harus kita lakukan pertama kali adalah membuat class. Dalam kasus ini kita membuat class Permutasi dengan begitu file yang kita simpan pun Permutasi.java. dalam class ini kita akan membuat dua buah method yaitu method main dan method Permut yang merupakan method untuk melakukan rekursif. Berikut adalah listing method main : Seperti terlihat pada source code, tidak ada method untuk menginput nilai n, sebagai gantinya kita hanya merubah-rubah nilai n saja jika ingin mencoba permutasi untuk contoh ini saya menggunakan n=3. 5

Sedangkan untuk method permut berikut Source code nya : Untuk method Permut kita menggunakan tiga parameter yaitu angka sebagai array, awal bertipe integer dan terakhir n bertipe integer. Adapun cara kerja method ini adalah, ketika awal bernilai sama dengan n maka method tidak akan merekursif dirinya lagi tapi langsung menuliskan hasil dari salah satu permutasi. Sedangkan jika tidak maka method akan merekursif dengan nilai awal menjadi awal+1, bagian statement perulangan ketika awal tidak sama dengan n adalah untuk membuat permutasi angka, yang ditukar-tukar satu sama lain yang kemudian merekursif. Sedangkan statement yang digunakan untuk rekursif adalah Permutasi.Permut(angka,awal+1,n). Dan berikut adalah hasil output ketika program dijalankan : 6

Penjelasan Rekursif Untuk N=3, proses program adalah sebagai berikut : Pertama kali method Permut(angka,1,n) dipanggil. Pada saat method ini dipanggil dilakukan pengulangan i=1 sampai 3. Pada masing-masing pengulangan dilakukan pertukaran elemen ke-awal dengan ke-i. Dengan demikinan tiap-tiap pengulangan akan berbentuk permutasi 123, 213, 312. Untuk 123 method akan merekursi dirinya sehingga nilai awal menjadi awal +1 dengan kata lain nilai awal menjadi sama dengan dua dan terjadi perulangan dari i=2 sampai 3. Sehingga perulangan ini akan membentuk permutasi 123 dan 132 yang selanjutnya akan merekursi kembali dengan nilai awal menjadi 3. Karena nilai awal=n maka program langsung menuliskan hasil 123 dan 132 ke layar. Untuk 213 method akan merekursi dirinya sehingga nilai awal menjadi awal +1 dengan kata lain nilai awal menjadi sama dengan dua dan terjadi perulangan dari i=2 sampai 3. Sehingga perulangan ini akan membentuk permutasi 213 dan 231 yang selanjutnya akan merekursi kembali dengan nilai awal menjadi 3. Karena nilai awal=n maka program langsung menuliskan hasil 213 dan 231 ke layar. Terakhir untuk 312 method akan merekursi dirinya sehingga nilai awal menjadi awal +1 dengan kata lain nilai awal menjadi sama dengan dua dan terjadi perulangan dari i=2 sampai 3. Sehingga perulangan ini akan membentuk permutasi 312 dan 321 yang selanjutnya akan merekursi kembali dengan nilai awal menjadi 3. Karena nilai awal=n maka program langsung menuliskan hasil 312 dan 321 ke layar. D. KESIMPULAN Dalam mengerjakan kasus permutasi seperti ini, algoritma yang tepat dan mudah diimplementasikan hanyalah metode rekursif, sebab metode-metode yang lain sangat sulit dalam menganalisisnya terutama dalam pengimplementasiannya. 7