DAFTAR PUSTAKA. Coppin, Ben Artificial Intelligence Illuminated.United States of America: Jones and Bartlett.

Ukuran: px
Mulai penontonan dengan halaman:

Download "DAFTAR PUSTAKA. Coppin, Ben Artificial Intelligence Illuminated.United States of America: Jones and Bartlett."

Transkripsi

1 DAFTAR PUSTAKA Ayuningtyas, Nadhira Algoritma minimax dalam permainan checkers. Dalam Strategi Algoritmik Bandung, Indonesia: Institut Teknologi Bandung. Coppin, Ben Artificial Intelligence Illuminated.United States of America: Jones and Bartlett. Fowler, M UML Distilled. Edisi ke-3. Terjemahan Tim Penerjemah Penerbit Andi. Yogyakarta: Andi. Kustanto, Chintya, Ratna Mutia S, dan Pocut Viqarunnisa Penerapan algoritma breadth-first search dan depth-first search pada FTP search engine for ITB network. Bandung, Indonesia: Institut Teknologi Bandung. Kusumadewi, Sri Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Graha Ilmu. Lemay, Laura and Charles L. Perkins Teach Yourself JAVA in 21 Days. First Edition. United States of America: Sams.Net. Munawar Pemodelan Visual dengan UML. Edisi Pertama. Yogyakarta: Graha Ilmu. Skiena, Steven S. and Miguel A. Revilla Programming Challenges. United States of America: Springer. Stuart, Russel and Peter Norvig Artificial Inteligence A Modern Approach. Second Edition. United States of America: Prentice Hall. Suhendar dan Hariman Gunadi Visual Modelling Menggunakan UML dan Rational Rose.Bandung:Informatika Bandung.

2 LAMPIRAN A: LISTING PROGRAM package reversicoba; import java.awt.*; import java.util.*; public class Main extends java.applet.applet //INISIALISASI VARIABEL UNTUK APPLET Label labelstatus = new Label("Silahkan Melangkah"); Papan p = new Papan(); TampilPapan tampilp = new TampilPapan(p,this); Button mulaibaru = new Button("Mulai"), undo = new Button("Undo"), bantuan = new Button("Bantuan"); // METHOD UNTUK MENAMPILKAN 3 TOMBOL, PAPAN REVERSI DAN LABELSTATUS public void init() setbackground(color.white); Panel paneltombol=new Panel(); paneltombol.setlayout(new GridLayout(3,1)); paneltombol.add(mulaibaru); paneltombol.add(undo); paneltombol.add(bantuan); Panel paneltampung=new Panel(); paneltampung.setlayout(new GridLayout(3,1)); paneltampung.add(labelstatus); paneltampung.add(paneltombol); setlayout(new BorderLayout()); add("east",tampilp); add("west",paneltampung); //AKSI YANG AKAN DILAKUKAN JIKA TOMBOL DIKLIK public boolean action(event ev, Object O) if(tampilp.tunggu)return true; if(ev.target==mulaibaru) new FormMulaiBaru(this); else if(ev.target==undo) undo(); else if (ev.target==bantuan) mintabantuan(); return true; public void mulaibaru() p.clear(); tampilp.repaint(); public void undo() if(p.jumlahlangkah!=0) tampilp.undolangkah();

3 public void mintabantuan() tampilp.mintabantuan(); public void pesan(string s) labelstatus.settext(s); public static void main(string[] args) Frame f=new Frame("Reversi"); Main m=new Main(); f.resize(550,500); f.add("center",m); m.init(); m.start(); f.show(); //KELAS UNTUK FORM MULAI BARU class FormMulaiBaru extends Frame //INISIALISASI VARIABEL Main r; Choice[] cm=new Choice(),new Choice(); Button mulai=new Button("Mulai"); Button batal=new Button("Batal"); //KONSTRUKTOR UNTUK MENAMPILKAN JENDELA BARU public FormMulaiBaru(Main m) super("mulai baru"); r=m; r.tampilp.tunggu=true; setlayout(new GridLayout(2,3)); cm[0].add("manusia"); cm[0].add("agen"); cm[1].add("agen"); cm[1].add("manusia"); add(cm[0]); add(new Label(" lawan ")); add(cm[1]); add(mulai); add(batal); resize(250,100); setlocation(100,100); show(); //AKSI YANG AKAN DILAKUKAN JIKA TOMBOL DIKLIK public boolean action(event ev, Object o) if(ev.target==mulai) r.mulaibaru(); r.tampilp.setpemain( cm[0].getselectedindex()==1, cm[1].getselectedindex()==0); r.tampilp.tunggu=false; dispose();

4 else if(ev.target==batal) r.tampilp.tunggu=false; dispose(); return true; //KELAS UNTUK MENAMPILKAN PAPAN REVERSI class TampilPapan extends Canvas //INISILISASI VARIABEL Papan p; int ukurankotak=50; int SX,SY; Main m; boolean tunggu=false; Pemain[] ppemain=null,null; boolean[] agen=false,true; String statusbartext=""; Color latar[]=new Color(0,145,0),new Color(0,180,0); Color c1=new Color(0,0,0); Color c2=new Color(255,255,255); Graphics g; Frame superframe; public TampilPapan(Papan ppapan,main mmain) m=mmain; p=ppapan; ubahukuran(p.x,p.y); ppemain[0]=new Pemain(p,0,this); ppemain[1]=new Pemain(p,1,this); statusbartext=p.pesanstatus(); public boolean mousedown(event evt,int x,int y) if(x>=sx y>=sy tunggu) return true; posklik(p.co(x/ukurankotak,y/ukurankotak)); return true; public void lakukanlangkah(int langkah) p.lakukanlangkah(langkah); statusbartext=p.pesanstatus(); repaint(); public void undolangkah() p.undolangkah(); statusbartext=p.pesanstatus();

5 repaint(); public void mintabantuan() if(!p.selesai()) int langkahbantuan = ppemain[p.getpemain()].mintabantuan(); String temps = Integer.toString(langkahBantuan); statusbartext="ambil Langkah pada baris " + temps.charat(0) + " kolom " + temps.charat(1); repaint(); public void posklik(int pos) //jika manusia yang akan melangkah if(!agen[p.getpemain()]) if(p.jumlahlangkahbisa==0) lakukanlangkah(-1); else if(p.bisalangkah(pos)) lakukanlangkah(pos); //jika agen yang akan melangkah if(agen[p.getpemain()]) langkahagen(); public void langkahagen() pesan("agen sedang berpikir.."); tunggu=true; ppemain[p.getpemain()].mintajawaban(); //pemain adalah agen jika agen[] bernilai true public void setpemain(boolean a,boolean b) agen[0]=a; agen[1]=b; //MENYESUAIKAN KOTAK DARI KELAS PAPAN DENGAN TAMPILAN PAPAN public void ubahukuran(int x,int y) SX=x*ukuranKotak; SY=y*ukuranKotak; resize(sx,sy+20); boolean painting=false; public void paint(graphics ggraphics) synchronized(this) if(painting) return;

6 painting=true; g=ggraphics; for(int j=0;j<p.y;j++) for(int i=0;i<p.x;i++) lukisarea(i,j); lukisstatusbar(); painting=false; public void lukisstatusbar() g.setcolor(color.black); g.drawstring(statusbartext,10,sy+20); public void lukisarea(int i,int j) lukislatar(i,j); lukispapan(i,j); public void lukislatar(int i,int j) int si=i*ukurankotak, sj=j*ukurankotak; g.setcolor(latar[(i+j)%2]); g.fillrect(si,sj,ukurankotak,ukurankotak); public void lukiskoin(int i,int j,color c) int si=i*ukurankotak,sj=j*ukurankotak; g.setcolor(c); g.fillrect(si+2,sj+2,ukurankotak-4,ukurankotak-4); public void lukispapan(int i,int j) int v; boolean bisalangkah; int flips; synchronized(this) v=p.get(i,j); bisalangkah=p.bisalangkah(p.co(i,j)); flips=p.getflips(p.co(i,j)); if(v==p.p1) lukiskoin(i,j,c1); else if(v==p.p2) lukiskoin(i,j,c2); else if(bisalangkah) int si=i*ukurankotak,sj=j*ukurankotak; g.setcolor(color.black); g.drawstring("["+flips+"]",si+ukurankotak/2,sj+ukurankotak/2);

7 public void pesan(string s) m.pesan(s); public void berijawaban(int langkah) lakukanlangkah(langkah); tunggu=false; pesan("silahkan Melangkah"); class Papan public int[] A; static int[] semua; static int X=8,Y=8; static int N=X*Y; static int basis=x+2; public static int OUT=88,P1=0,P2=1,BEBAS=3; int[] langkah=new int[128]; int[] undoflips=new int[128]; int[][] undoflip=new int[128][24]; int jumlahlangkah; int[] totalkoin; int jumlahlangkahbisa;//jumlah langkah yang bisa dilakukan int thisp;//pemain yang baru melangkah int[] langkahbisa=new int[n];//langkah yang bisa dilakukan int[] skor=0,0;//skor untuk masing-masing pemain int bebas;//jumlah kotak yang BEBAS int status; final static int SIBUK=1,SELESAI=2; static int[] macam; static int beda; static semua=new int[n]; int cur=0; for(int j=0;j<y;j++) for(int i=0;i<x;i++) semua[cur++]=co(i,j); macam=new int[(x+2)*(y+2)]; int k=0; for(int i=0;i<x/2;i++) for(int j=0;j<=i;j++) macam[co(i,j)]=k; macam[co(x-1-i,j)]=k; macam[co(i,y-1-j)]=k; macam[co(x-1-i,y-1-j)]=k; macam[co(j,i)]=k; macam[co(j,x-1-i)]=k; macam[co(x-1-j,i)]=k; macam[co(x-1-j,y-1-i)]=k; k++; beda=k;

8 static int co(int i,int j) return (i+1)+((j+1)*basis); static int lawan(int p) return 1-p; public Papan copy() Papan r=new Papan(); r.jumlahlangkah=jumlahlangkah; r.jumlahlangkahbisa=jumlahlangkahbisa; r.thisp=thisp; r.a=tiru(a); r.skor=tiru(skor); r.langkah=tiru(langkah); r.langkahbisa=tiru(langkahbisa); r.totalkoin=tiru(totalkoin); return r; public int[] tiru(int[] a) return (int[])a.clone(); public Papan() A = new int[(x+2)*(y+2)]; totalkoin = new int[(x+2)*(y+2)]; for(int i=0;i<a.length;i++) A[i]=OUT; clear(); /*info functions*/ public int getpemain() return jumlahlangkah%2; public void set(int i,int value) A[i]=value; public int get(int i) return A[i]; public int get(int i,int j) return A[co(i,j)];

9 public void clear() jumlahlangkah=0; for(int i=0;i<n;i++) A[semua[i]]=BEBAS; set(co(3,3),p2); set(co(3,4),p1); set(co(4,3),p1); set(co(4,4),p2); settotalkoin(); status=sibuk; public void settotalkoin() skor[p1]=skor[p2]=jumlahlangkahbisa=0; bebas=0; thisp=getpemain(); for(int i=0;i<n;i++) if(a[semua[i]]==p1) skor[p1]++;totalkoin[semua[i]]=0; else if(a[semua[i]]==p2) skor[p2]++;totalkoin[semua[i]]=0; else bebas++; totalkoin[semua[i]]=flips(semua[i]); if(totalkoin[semua[i]]>0) langkahbisa[jumlahlangkahbisa++]=semua[i]; if(selesai()) status=selesai; else status=sibuk; public void lakukanlangkah(int c) undoflips[jumlahlangkah]=0; if(status==selesai) return; if(c!=-1) int otherp=lawan(thisp); int i,dir,d; A[c]=thisp; for(i=0;i<8;i++) dir=arah[i]; if(hitung(otherp,c,dir)>0) for(d = dir+c ; A[d] == otherp ; d += dir) A[d] = thisp;

10 undoflip[jumlahlangkah][undoflips[jumlahlangkah]++] = d; langkah[jumlahlangkah++]=c; settotalkoin(); 1; int[] arah=1,-1,basis,-basis,basis+1,basis-1,-basis+1,-basis- int flips(int c) if(a[c]!=bebas) return 0; int ret=0; int otherp=lawan(thisp); for(int i=0;i<8;i++) ret+=hitung(otherp,c,arah[i]); return ret; int hitung(int otherp,int c,int dir) int ret=0; if(a[dir+c]!=otherp) return 0; for(c=dir+c;a[c]==otherp;c+=dir) ret++; if(a[c]==thisp) return ret; return 0; public boolean bisalangkah(int c) return totalkoin[c]>0; public boolean selesai() return bebas==0 (jumlahlangkahbisa==0&&langkah[jumlahlangkah-1]==-1); public boolean P1menang() return skor[0]>skor[1]; public boolean P2menang() return skor[0]<skor[1]; public int getflips(int c) return totalkoin[c];

11 public void undolangkah() jumlahlangkah--; int opp=lawan(getpemain()); if(langkah[jumlahlangkah]!=-1) A[langkah[jumlahLangkah]]=BEBAS; for(undoflips[jumlahlangkah]-- ;undoflips[jumlahlangkah]>=0;undoflips[jumlahlangkah]--) A[undoflip[jumlahLangkah][undoflips[jumlahLangkah]]]=opp; settotalkoin(); public String pesanstatus() if(selesai()) for (int i = 0 ; i < jumlahlangkah ; ++i) System.out.println(langkah[i]); if(p1menang()) return "Hitam menang dengan skor "+skor[p1]+" dan "+skor[p2]; if(p2menang()) return "Putih menang dengan skor "+skor[p2]+" dan "+skor[p1]; return "Permainan seri"; if(thisp==p1) return "Giliran hitam untuk melangkah: (hitam: "+skor[p1]+")"+" (putih: "+skor[p2]+")"; return "Giliran putih untuk melangkah: (putih: "+skor[p2]+")"+" (hitam: "+skor[p1]+")"; class Pemain implements Runnable Papan realb,p; int side; TampilPapan tampilp; AgenCerdas instagencerdas = new AgenCerdas(); public Pemain(Papan ib,int i,tampilpapan ttampilp) realb=ib; side=i; tampilp=ttampilp; public void mintajawaban() new Thread(this).start(); public int mintabantuan() int langkah; langkah = instagencerdas.konsepminimax(realb); return langkah;

12 public void run() int langkah; if(realb.jumlahlangkahbisa!= 0) langkah = instagencerdas.konsepminimax(realb); trythread.sleep(500);catch(exception e) else langkah = -1; tampilp.berijawaban(langkah); class Data int jalur[] = new int[10]; int nilai, tingkat; public void isi(int t, int j, int n) tingkat = t; jalur[tingkat] = j; nilai = n; class AgenCerdas Data maks = new Data(); int langkahterbaik; static int value[] = new int[10]; //data penilaian pada papan /* [0]99 [1]-8 [3]8 [6]6 [2]-24 [4]-4 [7]-3 [5]7 [8]4 [9]0 */ static value[0] = 99; value[1] = -8; value[2] = -24; value[3] = 8; value[4] = -4; value[5] = 7; value[6] = 6; value[7] = -3; value[8] = 4; value[9] = 0; public Data tiru(data dat) Data hasil = new Data(); hasil.jalur = dat.jalur.clone();

13 hasil.nilai = dat.nilai; hasil.tingkat = dat.tingkat; return hasil; public void acak(papan p) Random r = new Random(); langkahterbaik = p.langkahbisa[r.nextint(p.jumlahlangkahbisa)]; public Papan sesuaikantingkat(papan papanawal, Data temp) Papan hasil = papanawal.copy(); for (int i = 0; i < temp.tingkat; ++i) if(temp.jalur[i+1] < 0) hasil.lakukanlangkah(-1); else hasil.lakukanlangkah(temp.jalur[i+1]); return hasil; public void prunningqueue(int hit, LinkedList q) for (int i = 0; i < hit; ++i) q.polllast(); public void setmaks(data dat) maks = tiru(dat); public int kurangnilai(int nilai, int kurang) nilai -= kurang; return nilai; public int tambahnilai(int nilai, int tambah) nilai += tambah; return nilai; public int getlangkahterbaik(int langkah) return langkah; public boolean setada(boolean b) return b; public LinkedList<Data> bfs(papan realb)

14 Papan papantemp = new Papan(); papantemp = realb.copy(); int batasantingkat = 4, agen = papantemp.getpemain(); Data d = new Data(),temp = new Data(); LinkedList <Data> queue = new LinkedList(); int tidakvalid=-2; d.isi(0, -1, 0); //inisialisasi awal queue queue.add(d); while(queue.size() > 0 && queue.get(0).tingkat!= batasantingkat) int hit = 0; temp = queue.poll(); papantemp = realb.copy(); papantemp = sesuaikantingkat(papantemp, temp); if (papantemp.jumlahlangkahbisa == 0) temp.isi(temp.tingkat+1, tidakvalid--, temp.nilai); queue.add(temp); else for (int i = 0; i < papantemp.jumlahlangkahbisa; ++i) int langkah = papantemp.langkahbisa[i]; papantemp.lakukanlangkah(langkah); d = tiru(temp); if (papantemp.getpemain() == agen) //PRUNNING if (papantemp.skor[agen] == 0) prunningqueue(hit, queue); break; d.nilai = kurangnilai(d.nilai, value[papantemp.macam[langkah]]); else d.nilai = tambahnilai(d.nilai, value[papantemp.macam[langkah]]); d.isi(d.tingkat+1, langkah, d.nilai); queue.add(d); papantemp.undolangkah(); hit++; for (int j = 0 ; j < d.jalur.length ; ++j) System.out.print(d.jalur[j] + " "); System.out.println( d.nilai );*/

15 return queue; public int konsepminimax (Papan realb) LinkedList<Data> queue = new LinkedList<Data>(); queue = bfs(realb); System.out.println(queue.size()); langkahterbaik = -1; Data temp = new Data(); while(queue.size() > 0) temp = new Data(); temp = queue.poll(); if (temp.tingkat == 0) langkahterbaik = getlangkahterbaik(temp.jalur[1]); break; setmaks(temp); boolean ada; ada = setada(true); do if (queue.size() > 0) Data temp1 = new Data(); temp1 = queue.get(0); if (temp.tingkat > 0 && temp.tingkat == temp1.tingkat && temp.jalur[temp.tingkat-1] == temp1.jalur[temp.tingkat-1] && temp.jalur[temp.tingkat] > 0 && temp1.jalur[temp1.tingkat] > 0) temp1 = queue.poll(); if (temp.tingkat % 2 == 0) if (maks.nilai > temp1.nilai) setmaks(temp1); else if (maks.nilai < temp1.nilai) setmaks(temp1); else ada = setada(false); else ada = setada(false); while(ada); maks.tingkat--; queue.add(maks); if (langkahterbaik == -1)acak(realb) return langkahterbaik;

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS Dahwila Syapnika 1, Edward Robinson Siagian 2 1 Mahasiswa Teknik Informatika STMIK Budi Darma 2 Dosen Tetap STMIK Budi Darma 1, 2 Jl. Sisimangaraja Np.

Lebih terperinci

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax Romi Fadillah Rahmat, Muhammad Anggia Muchtar, Dedy Arisandi Fakultas MIPA Program Studi Teknologi Informasi Universitas

Lebih terperinci

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

1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 1 of 14 2/21/2008 2:34 PM Waktu Sisa : 0:43:58 1. Mana diantara pilihan-pilihan berikut ini yang merupakan penulisan loop yang benar? 2 of 14 2/21/2008 2:34 PM 2. Pernyataan manakah yang benar mengenai

Lebih terperinci

Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek

Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek Aswin Juari Institut Teknologi Bandung Jl. Ganesha 10 Bandung Jawa Barat Indonesia E-mail: if15076@students.if.itb.ac.id ABSTRAK

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

Aplikasi Algoritma Brute Force Pada Knight s Tour Problem

Aplikasi Algoritma Brute Force Pada Knight s Tour Problem Aplikasi Algoritma Brute Force Pada Knight s Tour Problem Sahat Nicholas Simangunsong - 13509095 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Permainan papan (board game) adalah sebuah permainan di mana bidak-bidak diletakkan, dipindahkan ataupun dimakan oleh bidak lawan yang dimainkan di atas papan yang

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN PRAKTIKUM 29 GUI: KALKULATOR MINI A. TUJUAN PEMBELAJARAN 1. Memahami konsep Graphical User Interface (GUI). 2. Mampu membuat program yang menerapkan konsep GUI. 3. Mampu membuat program berbasis GUI yang

Lebih terperinci

Perbandingan Penerapan Algoritma Minimax Dengan Algoritma Alpha-Beta Pruning Pada Permainan Othello

Perbandingan Penerapan Algoritma Minimax Dengan Algoritma Alpha-Beta Pruning Pada Permainan Othello Perbandingan Penerapan Algoritma Minimax Dengan Algoritma Alpha-Beta Pruning Pada Permainan Othello T. Arie Setiawan P. Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga 50711 arie_setiawan_p@yahoo.com

Lebih terperinci

GUI (Grapichal User Interface)

GUI (Grapichal User Interface) 1 GUI (Grapichal User Interface) Pengantar GUI GUI (Graphical User Interface), memungkinkan user untuk berinteraksi dengan komputer secara lebih baik. Pengguna berinteraksi dengan berbagai elemen grafis,diantaranya:

Lebih terperinci

SEKUEN, PERCABANGAN & PENGULANGAN

SEKUEN, PERCABANGAN & PENGULANGAN Materi kuliah SEKUEN, PERCABANGAN & PENGULANGAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengertian

Lebih terperinci

UKDW BAB 1 PENDAHULUAN Latar Belakang

UKDW BAB 1 PENDAHULUAN Latar Belakang BAB 1 PENDAHULUAN 1.1. Latar Belakang Perkembangan komputer dewasa ini telah banyak mengarah pada Kecerdasan Buatan atau Artificial Intelligence (AI). AI merupakan suatu cabang ilmu yang mempelajari tentang

Lebih terperinci

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

IF PEMROGRAMAN LANJUT PERULANGAN. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT PERULANGAN 05 Oleh : Andri Heryandi, M.T. JENIS-JENIS PERULANGAN Perulangan FOR Perulangan DO WHILE Perulangan WHILE Oleh : Andri Heryandi, M.T. 2 PERULANGAN FOR Perulangan

Lebih terperinci

Praktikum JTable. Gambar 1

Praktikum JTable. Gambar 1 Praktikum JTable Praktikum 1 : Buatlah aplikasi seperti gambar 1. Pada aplikasi tersebut user dapat menambahkan, mengedit dan menghapus data. Data yang dimasukkan berupa nama, alamat, no telp dan email.

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

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

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

int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; } I. Bahan Kajian 1. Perulangan (Iterasi) Perulangan(iterasi), menyatakan bahwa suatu instruksi tertentu akan diulang sampai tercapai kondisi tertentu, tanpa kita harus menulis perintah tersebut secara berulang.

Lebih terperinci

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

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello { Sekarang, kita akan mencoba untuk menganalisa program Java pertama : /** * My first j ava program */ public static void main(string[] args) //menampilkan string Hello world pada layar System. out. println("hello

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

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

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Pendahuluan Pada bagian ini, kita akan membuat program berbasis obyek menggunakan

Lebih terperinci

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search JURNAL DUNIA TEKNOLOGI INFORMASI Vol. 1, No. 1, (2012) 28-34 28 Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search 1 Mauza Saputri Handayani, 1 Dedy Arisandi, 1 Opim

Lebih terperinci

PENERAPAN KONSEP ALGORITMA MINIMAX DENGAN MENGGUNAKAN BREADTH-FIRST SEARCH (BFS) PADA PERMAINAN REVERSI SKRIPSI SURYA WIJAYA

PENERAPAN KONSEP ALGORITMA MINIMAX DENGAN MENGGUNAKAN BREADTH-FIRST SEARCH (BFS) PADA PERMAINAN REVERSI SKRIPSI SURYA WIJAYA PENERAPAN KONSEP ALGORITMA MINIMAX DENGAN MENGGUNAKAN BREADTH-FIRST SEARCH (BFS) PADA PERMAINAN REVERSI SKRIPSI SURYA WIJAYA 061401052 PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA

Lebih terperinci

BAB I PENDAHULUAN. Dalam beberapa tahun terakhir Artificial Intelligence (AI) atau kecerdasan

BAB I PENDAHULUAN. Dalam beberapa tahun terakhir Artificial Intelligence (AI) atau kecerdasan BAB I PENDAHULUAN 1.1. Latar Belakang Penelitian Dalam beberapa tahun terakhir Artificial Intelligence (AI) atau kecerdasan buatan telah menjadi sesuatu yang berpengaruh dalam industri game application.

Lebih terperinci

2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else

2.1 if Jenis-jenis Percabangan if adalah if, if else, If else if else if - else I. Bahan Kajian Sebagai bahasa pemrograman, java memiliki cara untuk mengontrol alur eksekusi program bergantung pada kondisi yang telah ditetapkan Secara garis besar alur eksekusi ini dapat dikelompokan

Lebih terperinci

PENGENALAN BAHASA PEMROGRAMAN JAVA

PENGENALAN BAHASA PEMROGRAMAN JAVA Pertemuan 1 Halaman 1/1 PENGENALAN BAHASA PEMROGRAMAN JAVA Buku referensi : 1. Core Java, Gary Cornell dan Cay S. Horstmann. 2. Teach Yourself Java 1.1 in 21 Days, Laura Lemay dan Charles L. Perkins. 3.

Lebih terperinci

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah GUI & Event Handling Viska Mutiawani, M.Sc 1 Viska Mutiawani - Informatika FMIPA GUI pada Java GUI (Graphical User Interface) pada Java umumnya menggunakan kelas dari package javax.swing dan java.awt.

Lebih terperinci

LAMPIRAN A. Universitas Sumatera Utara

LAMPIRAN A. Universitas Sumatera Utara 69 LAMPIRAN A 70 LAMPIRAN. LISTING PROGRAM 1. Listing program untuk membuat papan dan random huruf package robert.simanjuntak; import java.util.arraylist; import java.util.random; import android.graphics.color;

Lebih terperinci

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo. Waktu Sisa : 2:14:53 1. Dari pilihan berikut ini, item manakah yang memiliki atribut dan behaviour? object class attribute data type method behavior 2. Pilih instruksi yang dapat digunakan dalam method

Lebih terperinci

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

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1) PRAKTIKUM 9-10 ALGORITMA PENGURUTAN (INSERTION DAN SELECTION) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan insertion sort dan selection sort. 2. Mampu mengimplementasikan algoritma

Lebih 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

Obyektif : KONTROL ALUR PROGRAM

Obyektif : KONTROL ALUR PROGRAM KONTROL ALUR PROGRAM Obyektif : 1. Mengetahui dan memahami tentang percabangan (seleksi) 2. Mengetahui dan memahami tentang perulangan (iterasi) 3. Dapat membuat program tentang control alur program PERCABANGAN

Lebih 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

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search) [AIMA] Russel, Stuart J., Peter Norvig, "Artificial Intelligence, A Modern Approach" rd Ed., Prentice Hall, New Jersey, KI9 Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

Lebih terperinci

PAKET (PACKAGE) 20 Januari 2012

PAKET (PACKAGE) 20 Januari 2012 PACKAGE PAKET (PACKAGE) Suatu package adalah bendel atau pengelompokan kelaskelas berdasarkan kesamaan atau kemiripan fungsi Java mempunyai fitur paket agar kelas diorganisasikan secara logikal dalam suatu

Lebih terperinci

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA BAB : PENGENALAN OBJECT ORIENTED PROGRAMMING NAMA : ABDUL LATIF NIM : 0000 TANGGAL : 0/09/06 ASISTEN : - AFIFUR

Lebih terperinci

BAB I PENDAHULUAN. sangat diandalkan selama kurang lebih 70 tahun lamanya (Mahfudz, 2013:18).

BAB I PENDAHULUAN. sangat diandalkan selama kurang lebih 70 tahun lamanya (Mahfudz, 2013:18). BAB I PENDAHULUAN 1.1 Latar Belakang Ilmu pengetahuan melahirkan sebuah mesin yang dapat mengerjakan beberapa kegiatan abstrak manusia seperti menghitung dan mengolah informasi berupa teknologi alat hitung,

Lebih terperinci

Membuat dan Menggunakan Class

Membuat dan Menggunakan Class Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute

Lebih terperinci

subclass class manapun private default protected public package yang sama

subclass class manapun private default protected public package yang sama PRAKTIKUM 11 INHERITANCE 2 A. TUJUAN PEMBELAJARAN 1. Melakukan pengontrolan akses pada pengkodean 2. Menggunakan kata kunci super 3. Menghindari kesalahan pada pewarisan konstruktor B. DASAR TEORI Suatu

Lebih terperinci

Modul 3 Flow Control dan Input

Modul 3 Flow Control dan Input Modul 3 Flow Control dan Input Flow control terbagi menjadi dua, yaitu control seleksi dan control perulangan. 1. KONTROL SELEKSI Kontrol seleksi digunakan untuk membuat pemilihan terhadap aksi yang akan

Lebih 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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING A. TUJUAN 1. Memahami mengenai Konstruktor. 2. Dapat melakukan Overloading terhadap konstruktor. 3. Dapat melakukan Overloading pada metode. B. DASAR TEORI Deklarasi

Lebih terperinci

MODUL PRAKTIKUM KE 3 A.

MODUL PRAKTIKUM KE 3 A. MODUL PRAKTIKUM KE 3 A. Target Praktikum - Mahasiswa mengetahui berbagai macam operator java dan penggunaannya - Mahasiswa mampu menyelesaikan permasalahan terkait penggunaan operator - Mengetahui build

Lebih terperinci

AWT (ABSTRACT WINDOWS TOOLKITS)

AWT (ABSTRACT WINDOWS TOOLKITS) AWT (ABSTRACT WINDOWS TOOLKITS) Pendahuluan Pada pertemuan kali ini, kita akan membahas paket AWT sebuah paket yang telah ada dalam Java yang dapat digunakan untuk merancang GUI (Graphical User Interface).

Lebih terperinci

Aplikasi Grafik Menggunakan Netbeans

Aplikasi Grafik Menggunakan Netbeans Aplikasi Grafik Menggunakan Netbeans Dibawah ini beberapa aplikasi grafik menggunakan Netbeans. Aplikasi 1 : Aplikasi ditunjukkan pada gambar 1. Ambil Jpanel (nama panel : jpanel1) dari pallete. Pada properties

Lebih terperinci

2. Manakah diantara pilihan berikut ini yang merupakan bagian dari event delegation model? Sebuah komponen yang menampilkan message

2. Manakah diantara pilihan berikut ini yang merupakan bagian dari event delegation model? Sebuah komponen yang menampilkan message Waktu Sisa : 1:14:5 1. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo. 2. Manakah diantara pilihan berikut ini yang merupakan bagian

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

IMPLEMENTASI ALGORITMA BREADTH FIRST SEARCH DAN STRING MATCHING PADA SISTEM PAKAR

IMPLEMENTASI ALGORITMA BREADTH FIRST SEARCH DAN STRING MATCHING PADA SISTEM PAKAR IMPLEMENTASI ALGORITMA BREADTH FIRST SEARCH DAN STRING MATCHING PADA SISTEM PAKAR Abstrak Fajar J. Ekaputra 1, Windarto Harimurti 2, Aqsa Adhiperwira 3 Sekolah Teknik Elektro dan Informatika, Institut

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

Fajar Yusran Zebua DASAR ANIMASI

Fajar Yusran Zebua DASAR ANIMASI Dasar Pembuatan Animasi Sederhana Dengan Java Fajar Yusran Zebua fajarzebua@yahoo.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk

Lebih terperinci

P 5 Bab 4 : GUI (Graphical User Interface) 4.1 Tujuan. 4.2 Materi. 4.3 Review OOP. : Suzuki, Ferari, Toyota, Honda, Jaguar

P 5 Bab 4 : GUI (Graphical User Interface) 4.1 Tujuan. 4.2 Materi. 4.3 Review OOP. : Suzuki, Ferari, Toyota, Honda, Jaguar P Bab : GUI (Graphical User Interface). Tujuan Mahasiswa mampu : Mengetahui pemrograman GUI dengan Java Mengetahui dan memahami berbagai GUI dalam pemrograman java. Mengetahui dan memahami pemrograman

Lebih terperinci

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi Gilang Julian Suherik - 13512045 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Algoritma dan Pemrograman

Algoritma dan Pemrograman Algoritma dan Pemrograman Oleh: Eddy Prasetyo N 27/02/2014 1 Konten Pengantar Analisa Kasus Logika IF Then Logika Depend On Notasi Algoritmanya Latihan Analisa Kasus 27/02/2014 2 Pokok Bahasan Analisa

Lebih terperinci

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

Tipe if : If tanpa else (if) If dengan else (if-else) Nested if Struktur kontrol keputusan pernyata-an dari Java yang mengijinkan user untuk memilih dan mengeksekusi blok kode spesifik dan mengabaikan blok kode yang lain. Tipe : If switch Tipe if : If tanpa else (if)

Lebih terperinci

Materi : GUI AWT & SWING.

Materi : GUI AWT & SWING. Materi : GUI AWT & SWING http://luemut4n.0fees.net Selain untuk pemrograman yang berbasis konsol, java juga mendukung pemrograman berbasiskan GUI (Graphical User Interface), Salah satunya menggunakan AWT

Lebih terperinci

Penerapan Algoritma Greedy dalam Permainan Othello

Penerapan Algoritma Greedy dalam Permainan Othello Penerapan Algoritma Greedy dalam Permainan Othello Fabrian Oktavino H - 13510053 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

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

TPI4202 e-tp.ub.ac.id. Lecture 5 Mas ud Effendi TPI4202 e-tp.ub.ac.id Lecture 5 Mas ud Effendi Struktur percabangan memungkinkan kita melakukan aksi jika suatu syarat dipenuhi. Suatu aksi akan dikerjakan atau dieksekusi oleh program apabila kondisi

Lebih terperinci

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang BAB 1 PENDAHULUAN 1.1 Latar Belakang Kecerdasan buatan merupakan salah satu bidang ilmu komputer yang didefinisikan sebagai kecerdasan yang dibuat untuk suatu sistem dengan menggunakan algoritmaalgoritma

Lebih terperinci

MODUL 3 ARRAY. Pemograman Berorientasi Objek

MODUL 3 ARRAY. Pemograman Berorientasi Objek MODUL 3 ARRAY A. PENGENALAN ARRAY Array adalah suatu wadah bentukan yang menyediakan penyimpanan sejumlah item yang bertipe sama. Array digunakan untuk mengelompokkan informasi yang berhubungan. Dalam

Lebih terperinci

Operator, Statement kondisional, dan Iterasi pada Java

Operator, Statement kondisional, dan Iterasi pada Java Operator, Statement kondisional, dan Iterasi pada Java Operator Operator Aritmatika Operator ini digunakan pada operasi-operasi aritmatika seperti penjumlahan, pengurangan, pembagian dll. Jenis Operator

Lebih terperinci

Percabangan & Perulangan

Percabangan & Perulangan BRACHIG & LOOPIG Percabangan & Perulangan Pemrograman Berbasis Obyek Pertemuan 3 IT-EEPIS Percabangan -else else- switch (ekspresi boolean) { pernyataan1; pernyataan2; ekspresi = true pernyataan1 pernyataan2

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

1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak,

1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak, 1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak, untuk itu dibutuhkan suatu manajemen yang menangani hal

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

PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT

PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II. 5 th week Estu Sinduningrum ST,MT PENYELEKSIAN /PERCABANGAN & PERULANGAN Part II 5 th week Estu Sinduningrum ST,MT Review last week Percabangan Pada java terdapat beberapa percabangan, yaitu : 1. if 2. if-else 3. switch 4. case Penyeleksian

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

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING Oleh : Andri Heryandi, M.T. MATERI HARI INI Swing Definisi swing Komponen Swing Layout Manager Oleh : Andri Heryandi, M.T. 2

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN PRAKTIKUM 27 ANTAR MUKA GRAFIS A. TUJUAN PEMBELAJARAN 1. Memahami konsep Graphical User Interface (GUI). 2. Mampu membuat program yang menerapkan konsep GUI. 3. Mampu membuat program berbasis GUI yang

Lebih terperinci

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

IF PEMROGRAMAN LANJUT ARRAY. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT ARRAY 08 Oleh : Andri Heryandi, M.T. MATERI HARI INI Definisi Array Deklarasi Array Membuat Array Mengakses Array Memanipulasi Array Class Arrays Perulangan For untuk Array

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1 Kecerdasan Buatan Kecerdasan buatan merupakan salah satu bidang ilmu komputer yang didefinisikan sebagai kecerdasan yang dibuat untuk suatu sistem dengan menggunakan algoritmaalgoritma

Lebih terperinci

Mendeteksi Blob dengan Menggunakan Algoritma BFS

Mendeteksi Blob dengan Menggunakan Algoritma BFS Mendeteksi Blob dengan Menggunakan Algoritma BFS Ahmad Fajar Prasetiyo (13514053) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

BAB I PENDAHULUAN. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*;

BAB I PENDAHULUAN. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*; BAB I PENDAHULUAN 1.1. Bahasa Pemrograman Java Java memiliki dua fasilitas untuk pemrograman GUI: AWT dan Swing. Versi awal Java memberikan dukungan grafik yang terbatas. Hanya fitur-fitur grafik minimal

Lebih terperinci

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

{ System.out.println(PERANCANGAN PROGRAM APLIKASI ESTIMASI KEUNTUNGAN PRODUKSI PADA PT POPPY DHARSONO DENGAN. System.out. L1 LAMPIRAN 1 import java.util.scanner; public class Main { private static final int INFINITY = 999; private static int VK = 3; private static int M = 6; private static int N = 3; public static void entryawal()

Lebih terperinci

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello Annisa Muzdalifa - 13515090 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

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

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

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 12 ALGORITMA PENGURUTAN (SHELL SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan shell sort. 2. Mampu mengimplementasikan algoritma pengurutan shell sort dengan berbagai

Lebih terperinci

OBJECT ORIENTED PROGRAMMING (OOP)

OBJECT ORIENTED PROGRAMMING (OOP) IF34348 - PEMROGRAMAN LANJUT OBJECT ORIENTED PROGRAMMING (OOP) 06 Oleh : Andri Heryandi, M.T. LATIHAN MEMBUAT CLASS Oleh : Andri Heryandi, M.T. 2 CLASS KARAKTER Class ini digunakan untuk objek-objek yang

Lebih terperinci

Metode Binnary Searching di Java Console

Metode Binnary Searching di Java Console Metode Binnary Searching di Java Console Oleh: Yudi Setiawan Dalam pemrograman, pencarian data merupakan suatu hal yang sangat gampang dilakukan. Anda sebagai programmer bisa menggunakan beberapa teknik

Lebih terperinci

Pertemuan 2 Struktur Kontrol Percabangan

Pertemuan 2 Struktur Kontrol Percabangan Pertemuan 2 Struktur Kontrol Percabangan Objektif : 1. Mahasiswa dapat memahami konsep struktur kontrol percabangan dalam pemrograman. 2. Mahasiswa dapat menggunakan struktur kontrol pemilihan (if, else,

Lebih 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

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

Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Penggunaan Algoritma Backtrack dan Aturan Warnsdorff Untuk Menyelesaikan Knight s Tour Problem Ali Akbar - 13514080 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi

Lebih terperinci

Bab 2 Relasi 9 BAB II RELASI TUJUAN PRAKTIKUM TEORI PENUNJANG

Bab 2 Relasi 9 BAB II RELASI TUJUAN PRAKTIKUM TEORI PENUNJANG Bab 2 Relasi 9 BAB II RELASI TUJUAN PRAKTIKUM 1. Memahami tentang Relasi dan pengertiannya 2. Memahami tentang produk kartesius 3. Memahami sifat sifat relasi TEORI PENUNJANG Relasi Relasi dari himpunan

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

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

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs Pengenalan Heap Heap adalah struktur data dengan konsep Binary Tree. Heap dibagi menjadi

Lebih terperinci

PEMROGRAMAN JAVA : PENYELEKSIAN KONDISI DAN PERULANGAN

PEMROGRAMAN JAVA : PENYELEKSIAN KONDISI DAN PERULANGAN PEMROGRAMAN JAVA : PENYELEKSIAN KONDISI DAN PERULANGAN Asep Herman Suyanto info@bambutechno.com http://www.bambutechno.com Untuk menghasilkan suatu program, sangat penting untuk mengatur agar program dapat

Lebih terperinci

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

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 4 CONTROL FLOW STATEMENT PERTEMUAN 4 CONTROL FLOW STATEMENT A. Seleksi kondisi if Sintaks dari pernyataan seleksi kondisi if: if (condition/boolean exp) statement; atau if (condition/boolean exp) { Tanda kurung () yang mengapit

Lebih terperinci

BAB I PROJECT NETBEANS DAN GUI SEDERHANA

BAB I PROJECT NETBEANS DAN GUI SEDERHANA BAB I PROJECT NETBEANS DAN GUI SEDERHANA 1.1 Tujuan Instruksional Bab ini akan membahas pengenalan struktur project NetBeans, cara membuat Form, memberi Title, memasang komponen GUI Label, Button dan TextField

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 6 Array Pengenalan Array Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian berbagai macam

Lebih terperinci

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

IF PEMROGRAMAN LANJUT EVENT. Oleh : Andri Heryandi, M.T. IF34348 - PEMROGRAMAN LANJUT EVENT 13 Oleh : Andri Heryandi, M.T. EVENT Event adalah suatu kejadian dimana kondisi dari suatu objek berubah. Event dibuat sebagai hasil interaksi user dengan komponen GUI.

Lebih terperinci

IMPLEMENTASI ALGORITMA STOCHASTIC HILL CLIMBING PADA PERMAINAN MASTERMIND

IMPLEMENTASI ALGORITMA STOCHASTIC HILL CLIMBING PADA PERMAINAN MASTERMIND IMPLEMENTASI ALGORITMA STOCHASTIC HILL CLIMBING PADA PERMAINAN MASTERMIND Ruby Vidian Hartanto, Joko Purwadi, Gunawan Santosa Program Studi Teknik Informatika Fakultas Teknik Universitas Kristen Duta Wacana

Lebih terperinci

Modul Praktikum 9 BAB IX LAYOUTING. Departemen Teknologi Informasi Telkom Applied Science School H a l

Modul Praktikum 9 BAB IX LAYOUTING. Departemen Teknologi Informasi Telkom Applied Science School H a l 9 BAB IX LAYOUTING 9.1 IDENTITAS Kajian Komponen Swing Java non-visual Editor; Database & Swing Topik 1. Layout Grid, GridBag dan Border Referensi 1. http://docs.oracle.com/javase/tutorial/uiswing/layout/index

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

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA Media Informatika Vol. 15 No.3 (2016) IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA Rachmat Selamet Sekolah Tinggi Manajemen Informatika dan Komputer LIKMI Jl. Ir. H. Juanda 96 Bandung 40132

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1 Permainan Reversi Permainan Reversi adalah permainan yang dimainkan oleh dua orang pemain. Permainan ini dimainkan di atas papan Reversi persegi yang terdiri dari 8 baris dan 8

Lebih terperinci

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA R. Raka Angling Dipura (13505056) Jurusan Teknik Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung

Lebih terperinci

Francisco Silvano

Francisco Silvano Permainaan TicTacToe Menggunakan Java Applet Francisco Silvano franslpster@gmail.com http://franzeast.com Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan

Lebih terperinci

BAB III METODE PENELITIAN

BAB III METODE PENELITIAN BAB III METODE PENELITIAN 3.1 Desain Penelitian Desain dan tahapan yang dilakukan dalam penelitian ini dapat dilihat pada gambar berikut: Rumusan Masalah Pengembangan Perangkat Lunak Analisis Data Model

Lebih terperinci

INSTRUKSI PENCABANGAN

INSTRUKSI PENCABANGAN INSTRUKSI PENCABANGAN Sebagai pengembang (programmer) sudah pasti mengetahui jenis operasi instruksi. Salah satu yang perlu dipelajari atau dimengerti adalah operasi instruksi pencabangan. 3.1 Pencabangan

Lebih terperinci

BINA NUSANTARA UNIVERSITY NATA LASE

BINA NUSANTARA UNIVERSITY NATA LASE Sesuai dengan hasil rapat persiapan UTS Mata kuliah Programming I : Pilihan ganda 20 soal 40% Essay 3 soal 30% Kasus 1 soal 30% Essay: Layout manager Even driven programming Review Fundamental Java Kasus:

Lebih terperinci

a b c d e f g h Gambar 1. Konfigurasi akhir.

a b c d e f g h Gambar 1. Konfigurasi akhir. Pemrograman Permainan Puzzle-8 Taufik Fuadi Abidin taufik.abidin@ndsu.nodak.edu http://www.cs.ndsu.nodak.edu/~abidin Lisensi Dokumen: Copyright 2004 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com

Lebih terperinci