prak.kompiler bubble susi sirait

15
LAPORAN PRAKTIKUM KONSTRUKSI KOMPILER DI SUSUN OLEH : NAMA : SUSI ELPRIDA W SIRAIT NIM : 201012083 Waktu percobaan : November 2013 SJK406 Laboratorium Teknik Elektro dan Informatika Sekolah Tinggi Teknologi Bontang 2013

Upload: turahyo

Post on 17-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

praktik

TRANSCRIPT

Page 1: Prak.kompiler Bubble Susi Sirait

LAPORAN PRAKTIKUM

KONSTRUKSI KOMPILER

DI SUSUN OLEH :

NAMA : SUSI ELPRIDA W SIRAIT

NIM : 201012083

Waktu percobaan : November 2013

SJK406

Laboratorium Teknik Elektro dan Informatika

Sekolah Tinggi Teknologi Bontang

2013

Page 2: Prak.kompiler Bubble Susi Sirait

KATA PENGANTAR

Puji dan syukur saya panjatkan kehadirat Tuhan Yang Maha Esa. Karena atas berkat

rahmat-Nya saya dapat menyelesaikan praktikum serta laporan Sistem Jaringan Komputr.

Adapun isi dari laporan ini adalah kumpulan selama praktikum berlangsung. Laporan ini

merupakan syarat untuk mengontrak mata kuliah Sistem Jaringan Komputer.

Saya juga tidak lupa untuk mengucapkan banyak terima kasih kepada Dosen serta

staf pengajar Mata kuliah Sistem Jaringan Komputer yang selalu membimbing dan

mengajari saya dalam melaksanakan praktikum dan dalam menyusun laporan ini. Serta

semua pihak yang membantu saya dalam hal penyusunan laporan ini. Laporan ini masih

sangat jauh dari kesempurnaan, oleh karena itu kritik serta saran yang membangun masih

saya harapkan untuk penyempurnaan laporan akhir ini. Sebagai manusia biasa saya merasa

memiliki banyak kesalahan, oleh karena itu saya mohon maaf sebesar besarnya untuk

kelancaran penyelesaian laporan ini.

Atas perhatian dari semua pihak yang membantu penulisan ini saya ucapkan

terimakasih. Semoga laporan ini dapat dipergunakan seperlunya.

Bontang, 25 November 2013

SUSI ELPRIDA W SIRAIT

i

Page 3: Prak.kompiler Bubble Susi Sirait

DAFTAR ISI

KATA PENGANTAR ................................................................................ i

DAFTAR ISI ................................................................................ ii

DAFTAR GAMBAR ................................................................................ iii

BAB I PENDAHULUAN

1.1 Latar Belakang ................................................................................ 1

1.2 Tujuan ................................................................................ 2

BAB II DASAR TEORI

2.1 Definisi Bubble Sort ……….…................................................................ 3

2.2 Penegertian / Konsep Bubble Sort ........….…................................................................ 3

2.3 Kelebihan dan Kekurangan Metode Bubble Sort .............................................................. 3

BAB III METODOLOGI

3.1 Alat Dan Bahan ................................................................................ 5

BAB IV ANALISIS DAN HASIL

4.1 Hasil Praktikum ................................................................................. 6

4.2 Analisis Program ................................................................................. 10

BAB V KESIMPULAN ................................................................................ 11

DAFTAR PUSTAKA ................................................................................ 12

ii

Page 4: Prak.kompiler Bubble Susi Sirait

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Teknik Kompilasi merupakan teknik untuk melakukan pembacaan suatu source

program yang ditulis dalam bahasa sumber, misalnya Pascal, kemudian diterjemahkan ke

dalam suatu bahasa lain yang disebut bahasa sasaran atau bentuk yang dapat dieksekusi

secara langsung dari sistem operasi yang tersedia dalam suatu komputer. Teknik tersebut

diimplementasikan dalam suatu perangkat lunak (software) yang disebut Compiler. Istilah

Compiler muncul karena dulu ada program yang menggunakan subrutin-subrutin atau

pustaka-pustaka untuk keperluan yang sangat khusus yang dikumpulkan menjadi satu

sehingga diistilahkan compiled.

Sejarah perkembangan suatu Compiler sudah dimulai sejak lama, yaitu pada saat mulai

ditemukannya komputer pada awal tahun 1950. Sejak saat itu teknik dan cara pembentukan

suatu Compiler telah berkembang dengan sangat pesat dan pembentukkan suatu Compiler

dapat dilakukan makin mudah. Demikian pula program bantu (tools) untuk membuat suatu

Compiler sudah dapat diperoleh sehingga pembentukan suatu Compiler dapat dilakukan

dengan cepat.

Biasanya, server berjalan pada komputer tertentu dan memiliki sebuah socket yang

terikat pada nomor port tertentu. Server hanya menunggu, mendengarkan socket untuk

seorang klien untuk membuat permintaan sambungan. Di sisi klien: klien mengetahui nama

host dari mesin server yang sedang berjalan dan nomor port di mana server mendengarkan.

Untuk membuat permintaan sambungan, klien mencoba untuk bertemu dengan server pada

mesin server dan port. Klien juga perlu mengidentifikasi dirinya ke server sehingga

mengikat ke nomor port lokal yang akan digunakan selama hubungan ini. Hal ini biasanya

diberikan oleh sistem.

Jika semuanya berjalan dengan baik, server menerima koneksi. Setelah diterima, server

mendapatkan soket baru terikat port lokal yang sama dan juga memiliki titik akhir yang di

atur ke alamat dan port dari klien.

1

Page 5: Prak.kompiler Bubble Susi Sirait

Diperlukan soket baru sehingga dapat terus mendengarkan permintaan sambungan

socket sementara mengurus kebutuhan klien yang terhubung.

Di sisi client, jika koneksi diterima, socket berhasil dibuat dan klien dapat

menggunakan soket untuk berkomunikasi dengan server. Klien dan server dapat

berkomunikasi dengan menulis atau membaca dari soket. Pada tugas kali ini yang

membahas Bubble Sort, antara lain :

a. Bubble dalam bentuk algoritma adalah proses mengurutkan, menyusun /

memindahkan posisi elemen – elemen / data dengan tata urut tertentu pada array.

b. Jenis tampilan berupa Ascending / pross menaik dan Discending / pross menurun.

Ascending

Ex : A-Z, 0-9

Discending

Ex : Z-A, 9-0

c. Bubble Sort dalam bentuk flowchart

d. Bubble Sort dalam bentuk program JAVA.

1.2 Tujuan

Tujuan dalam praktikum ini adalah untuk mengetahui fungsi-fungsi struktur

compiler pada teknik kompilasi :

2. Mahasiswa memahami konsep aplikasi client server di jaringan.

3. M ah as i s wa m em ah am i ko ns ep p em p ro gr am an s o ck e t .

4. Mahasiswa memahami jenis – jenis socket programming.

5. Mahasiswa mampu membangun program chatting sederhan.

2

Page 6: Prak.kompiler Bubble Susi Sirait

BAB II

DASAR TEORI

2.1 Definisi Bubble Sort

Teknik sort yang berkerja menggunakan prinsip gelmbung (bubble) udara yang akan

bergerak naik keatas secara satu per-satu.

Prinsip kerja dari Bubbl Sort adalah :

1. Pengecekan mulai dari data kesatu sampai data ke-n.

2. Bandingkan data ke – n dengan data sebelumnya (n-1)

3. Jika lebih kecil maka pindahkan bilangan trsebut dngan bilangan yang ada

didepannya (sebelumnya) satu per-satu ( n-1, n-2, n-3,…dts)

4. Jika lebih besar maka tidak terjadi pemindahan.

5. Ulang langkah 2 dan 3 s/d sort optimal.

2.2 Pengertian atau Konsep Bubble Sort

Metode pengurangan gelembung (Bubbl Sort) diinspirasikan oleh gelmbung sabun yang

berada dipermukaan air, maka gembung sabun selalu terapung keatas permukaan. Prinsip

di atas dipakai pada pengurutan gelembung.

Bubble Sort (metode gelembung) adalah metode atau algoritma pngurutan dengan cara

melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bias

dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan

berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci

akan dngan lambat menggelembung keposisinya yang tepat.

Contoh :

Data dipilih secara acak : 14 8 10 12 2 6 4

Ascending (urut naik) : 2 4 6 8 10 12 14

Descending (urut turun) : 14 12 10 8 6 4 2

2.3 Kelebihan dan Kelemahan Metode Bubbl Sort

Kelebihan :

a. Metode Bubble Sort merupakan yang paling simple

b. Metod Bubble Sort muda dipahami algoritmanya

3

Page 7: Prak.kompiler Bubble Susi Sirait

Kelemahan

Meskipun simpl metodeBubble sort merupakan metod pengurutan yang paling

tidak efisien. Kelemahan Bubbl Sort adalah pada sat mengurutkan data yang

sangat besar akan mengalami kelambatan yang luar biasa, atau dengan kata lain

kinerja memburuk cukup signifikan ketika data yang diolah jika data cukup

banyak. Kelemahan ini adalah jumlah pengulangan akan tetap sama jumlahnya

walaupun data yang sesungguhnya sudah cukup terurut. Hal ini disebabkan

setiap data dibandingkan dengan setiap data yang lain untuk mnntukan

posisinya.

4

Page 8: Prak.kompiler Bubble Susi Sirait

BAB III

METEDOLOGI

3.1 Alat dan Bahan

Peralatan Yang Dibutuhkan :

1. Beberapa komputer yang berfungsi sebagai server.

2. Beberapa komputer yang berfungsi sebagai client

5

Page 9: Prak.kompiler Bubble Susi Sirait

BAB VI

HASIL DAN ANALISIS

4.1 Analisi

Analisis Bubble Sort

Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya

mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau

Descending).

Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara

melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa

dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan

berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci

akan dengan lambat menggelembung ke posisinya yang tepat.

Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun

yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada

berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas

dipakai pada pengurutan gelembung.

Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik

dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang

proses pembandingan antara tiap-tiap elemen

array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan

terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma

ini termasuk dalam golongan algoritma comparison sort, karena menggunakan

perbandingan dalam operasi antar elemennya. Berikut ini adalah gambaran dari algoritma

bubble sort. Misalkan kita mempunyai sebuah array dengan. Elemen-elemen “4 2 5 3 9”.

Proses yang akan terjadi apabila digunakan algoritma bubblesort adalah sebagai berikut.

6

Page 10: Prak.kompiler Bubble Susi Sirait

Pass pertama

(4 2 5 3 9) menjadi (2 4 5 3 9)

(2 4 5 3 9) menjadi (2 4 5 3 9)

(2 4 5 3 9) menjadi (2 4 3 5 9)

(2 4 3 5 9) menjadi (2 4 3 5 9)

Pass kedua

(2 4 3 5 9) menjadi (2 4 3 5 9)

(2 4 3 5 9) menjadi (2 3 4 5 9)

(2 3 4 5 9) menjadi (2 3 4 5 9)

(2 3 4 5 9) menjadi (2 3 4 5 9)

Pass ketiga

(2 3 4 5 9) menjadi (2 3 4 5 9)

(2 3 4 5 9) menjadi (2 3 4 5 9)

(2 3 4 5 9) menjadi (2 3 4 5 9)

(2 3 4 5 9) menjadi (2 3 4 5 9)

Dapat dilihat pada proses di atas, sebenarnya pada pass kedua, langkah kedua, array

telah terurut. Namun algoritma tetap dilanjutkan hingga pass kedua berakhir. Pass ketiga

dilakukan karena definisi terurut dalam algoritma bubblesort adalah tidak ada satupun

penukaran pada suatu pass, sehingga pass ketiga dibutuhkan untuk memverifikasi keurutan

array tersebut.

A. Source Code Bubble Sort

package bubble_sort;

import java.util.Random;

public class Main {

public Main(){

}

private int [] data;//membuat data array

7

Page 11: Prak.kompiler Bubble Susi Sirait

//membuat generator untuk mengisi array secara acak

private static Random generator = new Random();

public Main(int size){

data = new int [size];//ukuran array

for(int i = 0; i < size; i++)

data[i]=10 + generator.nextInt(90); }

//Tahap sorting / pengurutan

public void sort()

{for(int i=0; i<data.length-1; i++)

{for(int index=0; index<data.length-1-i; index++){

if(data[index] > data[index+1]) //pengecekan nilai data

{ change (index, index+1);//penukaran position di bubble sort

printPass(index, index+1, data.length);//menampilkan data setelah

penukaran posisi

}}

}}

public void change(int first, int second)

{int temporary = data[first];

data[first] = data[second];

data[second] = temporary; }

public void printPass(int pass, int index, int length)

{ for (int i=0; i<pass; i++)//loop data array

System.out.print(data[i]+" ");//menampilkan array

if (pass==index-1)

{ System.out.print(data[pass]+"* ");//menandai array yg dipindahkan

System.out.print(data[index]+"* "); }//menandai array yg dipindahkan

for ( int j = index+1;j<data.length; j++ )//looping data yg belum di sorting

{System.out.print( data[ j ] + " " );}//menampilkan array yang belum

disorting

System.out.println("\n");}// Membuat baris baru

public String toString()

{

StringBuffer temporary=new StringBuffer();

for (int element:data)

temporary.append(element + " ");

temporary.append("\n");

return temporary.toString();

}

public static void main(String[] args) {

8

Page 12: Prak.kompiler Bubble Susi Sirait

Main sortArray=new Main(7);//menginisialisasikan jumlah data dalam array

System.out.println("DATA ARRAY SEBELUM DISORTING:");

System.out.println(sortArray);//menampilkan data sebelum sorting

sortArray.sort();//menampilkan tahap pengurutan(sorting)

System.out.println("DATA ARRAY SETELAH DISORTING:");

System.out.println(sortArray);//menampilkan hasil sorting

}

}

B. Source Kode Matriks

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

package aplikasichat;

/**

*

* @author ACER

*/

public class Main {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

}

}

9

Page 13: Prak.kompiler Bubble Susi Sirait

4.2 Hasil Program

RUN PROGRAM BUBBLE SORT

RUN PROGRAM MATRIKS

10

Page 14: Prak.kompiler Bubble Susi Sirait

BAB V

KESIMPULAN

Algoritma Bubbl Sort adalah algoritma yang simpel dan mudah diplajari, selain itu

memiliki devinisi terurut yang jelas dalam algoritmanya. Algoritma ini juga mmiliki cirri

khas, yaitu “kura-kura dan kelinci”. Akan tetapi, algoritma Bubbl Sort memiliki kelemahan,

yaitu kompleksitas algoritma pada saat mengurutkan data yang sangat bsar akan

mengalami kelambatan luar biasa, sehingga menjadikan algoritma ini tidak efektif dalam

pengurutan.

11

Page 15: Prak.kompiler Bubble Susi Sirait

DAFTAR PUSTAKA

1. http://rezademon.blogspot.com/2012/11/tugas-pemrograman-jaringan.html

(16/11/2013 09:30 WITA)

2. http://www.sdmlink.com/page/artikel/?act/detil/aid/42

(16/11/2013 10:00 WITA)

3. http://cheatlinknote.blogspot.com/2011/02/sharemetode-bubble-sort-dan-merge-

sort.html (16/11/2013 10.30 WITA )

12