Monday, 14 January 2013
Program Java: Circular Queue Memakai Linked List
- file class
- file main
Untuk bisa menjalankan:
1. Ubah ekstensi file download-an dari .java.doc menjadi .java saja.
2. Letakkan kedua file tersebut ke dalam project yang sama (lebih baik jika project baru).
3. Klik kanan pada file menu, kemudian pilih "Running".
nb: thanks to prasanti "asti" asrining puri
Monday, 1 October 2012
Panduan dan Daftar Judul Pemenang Program Kreativitas Mahasiswa (PKM)
- Panduan PKM 2012 (pendanaan 2013)
- Daftar Judul Pemenang PKM 2013
- Daftar Judul Pemenang PKM 2012
- Daftar Judul Pemenang PKM 2011
- Contoh Judul Pemenang PKM 2010
Semoga bermanfaat :)
Artikel terkait: Pimnas 2013 dan Panduan PKM 2013-2014.
Wednesday, 20 June 2012
Library (Pustaka) Queue dalam Bahasa Pemrograman Java
Sama halnya dengan library Linked List maupun Stack, bahasa pemrograman Java juga telah menyediakan pustaka khusus untuk implementasi struktur data queue (antrian). Dengan adanya pustaka ini, programmer tidak perlu lagi menuliskan class dan method primitif untuk queue. Sebaliknya, programmer cukup mendeklarasikan obyeknya dan langsung memanggil/ menjalankan fungsi-fungsi (method) yang diinginkan.
Dalam penjelasan resmi di situs oracle.com, ada 5 method utama dalam pustaka queue. Yaitu element(), offer(object), peek(), poll(), dan remove(). Berikut ini contoh program sederhananya:
import java.util.LinkedList;
import java.util.Queue;
/**
*
* @author javadb.com
*/
public class Main {
/**
* Example method for using a Queue
*/
public void queueExample() {
Queue queue = new LinkedList();
//Using the add method to add items.
//Should anything go wrong an exception will be thrown.
queue.add(“item1″);
queue.add(“item2″);
//Using the offer method to add items.
//Should anything go wrong it will just return false
queue.offer(“Item3″);
queue.offer(“Item4″);
//Removing the first item from the queue.
//If the queue is empty a java.util.NoSuchElementException will be thrown.
System.out.println(“remove: ” + queue.remove());
//Checking what item is first in line without removing it
//If the queue is empty a java.util.NoSuchElementException will be thrown.
System.out.println(“element: ” + queue.element());
//Removing the first item from the queue.
//If the queue is empty the method just returns false.
System.out.println(“poll: ” + queue.poll());
//Checking what item is first in line without removing it
//If the queue is empty a null value will be returned.
System.out.println(“peek: ” + queue.peek());
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Main().queueExample();
}
}
Sumber:
- http://www.javadb.com/using-a-queue-or-linkedlist
- http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Queue.html
Friday, 23 September 2011
Tools Belajar Programming
Kondisi ini menjadi pemicu bagi para peneliti untuk mengembangkan berbagai macam tools untuk mempermudah penguasaan dasar-dasar programming yaitu tentang flowchart dan algoritma. Membuat program yang baik dan benar tidak bisa dilepaskan dari pemahaman kedua hal tersebut. Flowchart dan algoritma mengasah kemampuan analisa dan berpikir kita secara logis dan terstruktur.
Alhamdulillah sepengetahuan saya ada dua aplikasi yang bisa membantu kita dalam belajar logika terstruktur, yaitu aplikasi Scratch dan Raptor. Kedua aplikasi tersebut dikembangkan oleh para akademisi untuk dapat digunakan secara bebas tanpa harus membeli lisensinya. Scratch dan Raptor cukup mudah untuk ditemukan menggunakan search engine. Hanya butuh bandwith yang agak banyak untuk men-download-nya. Selamat belajar :)
Link Installer klik di menu [Donwload]
Tuesday, 21 June 2011
Contoh Program Java: Queue dengan Linked List
Download Source code queue linked list.
Tuesday, 31 May 2011
Contoh Program Java: Double Linked List
download
note: ubah ekstensi .doc menjadi .java.
Monday, 30 May 2011
Manfaat Komputer dalam Pendidikan
1. Belajar mengajar.
Penggunaan teknologi multimedia untuk penyampaian materi belajar yang interaktif dan komunikatif (LCP projector, animasi, presentasi). E-learning sebagai virtual class yang bisa diakses oleh pendidik maupun peserta didik kapanpun, dimanapun. Teknologi teleconference sebagai ganti tatap muka di kelas, dsb.
2. Administrasi.
Meliputi administrasi sebelum mengikuti pendidikan, selama hingga setelah pendidikan ditempuh. Sebagian besar berupa software/ aplikasi. Misalnya: sistem penerimaan siswa baru, sistem pembayaran biaya pendidikan, sistem rencana pendidikan, sistem pemantauan kegiatan belajar mengajar, sistem evaluasi pendidikan (baik pendidik maupun peserta didik), dan sistem penelusuran alumni, dst.
3. Penelusuran pustaka.
Aspek ini semakin kuat pengaruhnya seiring dengan tumbuh berkembangnya internet. Pendidik maupun peserta didik dapat memanfaatkan internet untuk menelusuri bahan pustaka yang dibutuhkan dalam penyampaian materi ajar. Banyak hal yang bisa dimanfaatkan dari internet. Mulai dari search engine, mailing list, file resource sharing, specific community membership, dll.
Dan masih banyak lagi yang belum disebutkan. Apa lagi menurut Anda?
Tuesday, 10 May 2011
Contoh Program Java: Perulangan While
1. while
2. do-while
3. for
Perintah while memiliki struktur sbb:
[inisialisasi variabel]
while (kondisi variabel)
{
statemen_yang_akan_dikerjakan;
update_nilai_variabel;
} // kembali ke pengecekan kondisi variabel.
Contoh source code nya adalah sbb:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int jumlah;
Scanner sc = new Scanner(System.in);
System.out.print("Masukkan jumlah data : ");
jumlah = sc.nextInt();
int i=1;
while (i<=jumlah)
{ System.out.print(i+" ");
i++;
}
System.out.println("");
}
}
Friday, 6 May 2011
Contoh Program Implementasi Stack Menggunakan Linked List dalam Bahasa Java
{
public int data; // data item
public item next; // next node link in list
public item prev; // previous node link in list
public item(int id) // constructor
{
data = id; // initialize data
} // set to null)
public void displayLink() // display ourself
{
System.out.print("{" + data + "} ");
}
} // end class Link
class StackLinkList
{
private item top; // ref to first link on list
private item bottom; // ref to last link on list
public StackLinkList() // constructor
{
top = bottom = null; // no items on list yet
}
public boolean isEmpty() // true if list is empty
{
return (top==null);
}
public void push(int id) //node baru selalu di top
{ // make new link
item newitem = new item(id);
if (top == null) // the first node created
{
top = bottom = newitem; // first --> newLink
}
else // the second node and the next node
{
top.next = newitem; //next dr top (awal) diarahkan ke node baru
newitem.prev = top; //prev dr node baru diarahkan ke tail (awal)
top = newitem; //top (baru) diarahkan ke node baru
}
}
public item pop() // delete first item
{ item temp = null;
if (top == null) // stack is empty
System.out.println("Stack is empty");
else if (top == bottom) // stack is only one data
{
temp = top;
top = bottom = null;
}
else // stack has more than one data
{
temp = top; // save reference to link
top = top.prev; // delete it: first-->old next
top.next = null;
}
return temp;
}
public void display()
{
item current = bottom; // start from the first data
while(current != null) // until end of list,
{
current.displayLink(); // print data
current = current.next; // move to next link
}
System.out.println("");
}
} // end class LinkList
class StackLinkListApp
{
public static void main(String[] args)
{
StackLinkList theStack = new StackLinkList(); // make new list
System.out.println("Initializing Stack...");
theStack.push(22); // insert four items
theStack.push(44);
theStack.push(66);
theStack.push(88);
System.out.println("Display Forward :");
theStack.display(); // display list
System.out.println("Delete Stack from Top...");
while( !theStack.isEmpty() ) // until it's empty,
{
item aLink = theStack.pop(); // delete link
System.out.print("Deleted "); // display it
aLink.displayLink();
System.out.println("");
}
theStack.display(); // display list
} // end main()
}
Tuesday, 3 May 2011
Mengenal Fungsi dalam C++
Hampir sama dengan konsep fungsi dalam bahasa pemrograman lain, fungsi dalam bahasa C++ juga terdiri dari komponen yang disebut dengan HEADER fungsi dan BADAN fungsi. Header fungsi berisi informasi tentang TIPE NILAI KELUARAN (return value), NAMA FUNGSI, dan PARAMETER/ ARGUMEN FUNGSI. Return value akan berisi informasi tentang tipe data hasil keluaran dari fungsi (misal: void, int, char, float, dsb). Nama fungsi merupakan identifier untuk digunakan sebagai pemanggil fungsi (misal: hitung, proses, dsb). Sedangkan parameter, umumnya digunakan sebagai variabel untuk "jalan" masuknya input ke dalam fungsi (misal: int alas, float jari_jari, dsb). Untuk badan (BODY) fungsi akan berisikan baris-baris kode program yang akan dikerjakan jika fungsi tersebut dijalankan/ dipanggil. Sebagai tambahan, void main() yang biasa kita tulis pada saat membuat program itu juga termasuk dalam keluarga besar fungsi. Yang khusus, fungsi main() adalah fungsi utama, artinya fungsi tersebut HARUS ada setiap kali kita membuat program dalam bahasa C++. Fungsi main() hanya boleh diketikkan satu kali saja di sepanjang source code program yang kita buat.
Kombinasi nilai di bagian RETURN VALUE (RV) dan PARAMETER (P) fungsi, sedikitnya akan menghasilkan 4 bentuk kombinasi, yaitu: 1. RV void, P juga void. 2. RV void, tapi P ada isinya. 3. RV bukan void, tapi P void. 4. RV dan P keduanya bukan void. Apa itu void? Keyword void pada dasarnya akan memberitahukan kepada compiler bahwa pada bagian yang bersangkutan tidak mempunyai nilai/ value yang perlu ditangani secara khusus. Berikut penjelasan detailnya satu persatu.
1. RV dan P void.
Fungsi jenis ini biasanya disebut dengan istilah prosedur dalam bahasa Pascal/ Delphi atau juga dengan istilah subrutin dalam bahasa basic/ VB. Fungsi ini sama sekali mandiri, tidak membutuhkan input dan juga tidak menghasilkan output dari bagian lain program. Murni hanya berisi urut-urutan langkah saja. Ciri fungsi ini adalah jika ia melakukan proses pengolahan data maka komponen perintah input dan menampilkan output pasti akan dituliskan di dalam badan fungsi yang bersangkutan.
2. RV void, P berisi.
Fungsi ini berarti tidak akan menghasilkan keluaran bagi bagian lain program. Namun ia membutuhkan data sebagai input ke dalam fungsi. Dengan demikian fungsi jenis ini mensyaratkan terlebih dulu harus ada bagian lain program yang melakukan input data yang akan dikirimkan ke dalam fungsi sebelum menjalankan/ memanggil fungsi.
3. RV berisi, P void.
Tidak ada data input yang akan dibutuhkan oleh fungsi jenis ini. Tetapi, fungsi justru menghasilkan output. Kok bisa? Berarti bagian input data untuk fungsi ini akan ditulis langsung berada di dalam badan fungsi yang bersangkutan.
4. RV dan P berisi.
Fungsi jenis ini adalah fungsi yang murni. Ia hanya bertugas melakukan pengolahan data. Input diperoleh dari bagian lain program di atasnya. Sedangkan output hasil pengolahannya akan dikirimkan juga ke bagian lain program untuk kemudian ditampilkan secara terpisah. Fungsi ini ibarat fungsi matematis yang biasa kita kenal, seperti f(x,y) = 3x + 4y. Dimana (x,y) adalah parameternya, 3x + 4y adalah badan fungsinya. Sedangkan tanda '=' menunjukkan pengiriman hasil perhitungan dari sebelah kanan ke sebelah kirinya.
Berikut contoh programnya. Selamat mencoba :)
#include "stdio.h"
//bagian deklarasi fungsi
void luas(void);
void kell(int jari);
float vol(void);
int jarak(int V, int t);
void main()
{
int pilihan;
printf("\n1. Luas");
printf("\n2. Keliling");
printf("\n3. Volume");
printf("\n4. Jarak");
printf("\nPilih ? ");
scanf("%d", &pilihan);
switch(pilihan) {
case 1: luas(); break;
case 2:
//1. deklarasi variabel2
int jari;
//2. masukkan variabel input
printf("masukkan jari :");
scanf("%d",&jari);
kell(jari); break;
case 3:
float volume;
volume = vol();
//4. tampilkan hasilnya
printf("volume = %f\n",volume);break;
case 4:
int s, v, t;
printf("masukkan kecepatan : ");
scanf("%d",&v);
printf("masukkan waktu : ");
scanf("%d",&t);
s = jarak(v,t);
printf("jarak = %d\n", s); break;
default: printf("salah!");
}
}
//bagian definisi fungsi
void luas()
{
//deklarasi variabel2
int alas, tinggi;
float luas;
//input alas dan tinggi
printf("Masukkan Alas : ");
scanf("%i", &alas);
printf("Masukkan Tinggi : ");
scanf("%i", &tinggi);
//hitung luas
luas = 0.5 * alas * tinggi;
//output hasil
printf("Luas = %f\n", luas);
}
void kell(int jari)
{ float keliling;
//3. hitung variabel outputnya/ keliling
keliling=3.14*jari*jari;
//4. tampilkan hasilnya
printf("keliling = %f\n",keliling);
}
float vol()
{
//1. deklarasi variabel2
int panjang,lebar,tinggi;
//2. masukkan variabel input
printf("masukkan panjang = ");
scanf("%i",&panjang);
printf("masukkan lebar = ");
scanf("%i",&lebar);
printf("masukkan tinggi = ");
scanf("%i",&tinggi);
//3. hitung variabel outputnya/ volume
return(panjang*lebar*tinggi);
}
int jarak(int v, int t)
{
return(v*t);
}
[caption id="attachment_1837" align="aligncenter" width="400"]

Mohon Doa & Dukungannya supaya Kami Menjadi Lebih Baik Lagi.
www.pkspiyungan.org
www.pks.or.id[/caption]