Pages

Subscribe:

Ads 468x60px

♪ ♥ Get Paid Daily - The Best Sites PTC ♥ ♪
DonkeyMails.com: No Minimum Payout
AyuWage Services - Get Paid to Visits Sites and Complete Surveys

Senin, 16 Juli 2012

Queue (Antrian)

Queue (antrian) adalah struktur data dimana data yang pertama kali dimasukkan adalah data yang pertama kali bisa dihapus. Atau bisa juga disebut dengan struktur data yang menggunakan mekanisme FIFO (First In First Out).
queue
Queue dalam kehidupan sehari-hari seperti antrian pada penjualan tiket kereta api, dimana orang yang pertama datang adalah orang yang pertama kali dilayani untuk membeli tiket. Jika ada orang baru yang datang akan membali tiket, maka posisinya berada pada urutan paling belakang dalam antrian tersebut. Orang yang berada pada posisi terakhir dalam antrian adalah yang terakhir kali dapat dilayani dan memperoleh tiket kereta api (kalau kurang beruntung, maka akan kehabisan tiket). Contoh lain adalah nasabah yang antri di teller bank, paket data yang menunggu untuk ditransmisikan lewat internet, antrian printer dimana terdapat antrian print job yang menunggu giliran untuk menggunakan printer, dsb.
Istilah-istilah yang digunakan dalam queue (antrian)
Memasukkan data (insert) disebut juga dengan put, add, atau enqueue. Menghapus data (remove) biasa disebut dengan istilah delete, get, atau dequeue. Bagian belakang queue, dimana data bisa dimasukkan disebut dengan back, tail (ekor), atau end (akhir). Sedangkan bagian depan (front) queue dimana data bisa dihapus juga biasa disebut dengan istilah kepala (head).
Circular Queue
Di dunia nyata apabila seseorang sedang mengantri (misalnya antri tiket kereta api), apabila telah dilayani dan memperoleh tiket, maka ia akan keluar dari antrian dan orang-orang yang berada di belakangnya akan bergerak maju ke dapan. Kita bisa saja menggerakkan setiap item data ke depan apabila kita menghapus data yang terdepan, tetapi hal ini kurang efektif. Sebaliknya kita tetap menjaga setiap item data di posisinya, yang kita lakukan hanyalah merubah posisi front dan rear saja.
Yang menjadi permasalahan adalah apabila posisi rear berada pada bagian akhir dari array (atau pada nomor indeks yang terbesar). Meskipun ada bagian yang kosong di awal-awal array – karena mungkin data telah dihapus, data baru tidak bisa dimasukkan lagi karena rear-nya sudah tidak bisa bergerak lagi. Atau mungkinkah posisi rear nya bisa berpindah? Situasi seperti itu bisa dilihat seperti gambar berikut:
circular queueUntuk menghindari permasalahan seperti itu (tidak bisa memasukkan data baru) – meskipun queue-nya belum penuh, maka front dan rear-nya berputar (kembali) ke bagian awal array. Kejadian seperti ini dinamakan dengan circular queue (atau kadang-kadang disebut juga dengan istilah ring buffer). Kejadian seperti ini seperti terlihat pada gambar berikut:
circular queue
Perhatikan bahwa setelah rear berputar (kembali) ke bagian awal array, posisinya sekarang di bawah front, kebalikan dari posisi aslinya (front berada di bawah rear). Coba hapus beberapa data sehingga pada suatu saat front juga akan berputar (balik) ke bagian awal array, sehingga front dan rear akan ke susunan aslinya (front di bawah rear).
Queue.java
class Queue
{
private int maxSize;
private long[] queArray;
private int front;
private int rear;
private int nItems;
//————————————————————–
public Queue(int s)          // konstruktor
{
maxSize = s;
queArray = new long[maxSize];
front = 0;
rear = -1;
nItems = 0;
}
//————————————————————–
public void insert(long j)   // letakkan item (data) di posisi belakang dari queue
{
if(rear == maxSize-1)         //
rear = -1;
queArray[++rear] = j;         //naikkan rear dan masukkan item (data) pada posisi rear yang baru
nItems++;                     //tambah satu item lagi
}
//————————————————————–
public long remove()         // hapus item (data) yang berada pada posisi front
{
long temp = queArray[front++]; //dapatkan nilainya dan naikkan front
if(front == maxSize)           //
front = 0;
nItems–;                      // item (data) berkurang satu
return temp;
}
//————————————————————–
public long peekFront()      //
{
return queArray[front];
}
//————————————————————–
public boolean isEmpty()    //benar jika queue-nya kosong
{
return (nItems==0);
}
//————————————————————–
public boolean isFull()     // benar jika queue-nya penuh
{
return (nItems==maxSize);
}
//————————————————————–
public int size()           // jumlah ietm (data) dalam queue
{
return nItems;
}
//————————————————————–
}  // end class Queue
QueueApp.java
class QueueApp
{
public static void main(String[] args)
{
Queue theQueue = new Queue(5);  // queue menampung 5 item (data)
theQueue.insert(10);            // masukkan 4 item (data)
theQueue.insert(20);
theQueue.insert(30);
theQueue.insert(40);
theQueue.remove();              // hapus 3 item (data)
theQueue.remove();              //    (10, 20, 30)
theQueue.remove();
theQueue.insert(50);            // masukkan 4 item (data) lagi
theQueue.insert(60);            //    (wraps around)
theQueue.insert(70);
theQueue.insert(80);
while( !theQueue.isEmpty() )    // hapus dan tampilkan
{                            //    all items
long n = theQueue.remove();  // (
System.out.print(n);
System.out.print(“ “);
}
System.out.println(“”);
}  // end main()
}  // end class QueueApp
method insert()
Method insert() mengasumsikan bahwa queue tidak penuh (full). Kita tidak melihatnya dalam main(), tetapi kita bisa memanggil insert() hanya setelah memanggil isFull() dan memperoleh nilai kembalian yang salah. Pengisian data dengan cara menaikkan rear dan mengisikan data baru tersebut pada rear yang baru sekarang. Tetapi, jika rear berada di puncak array, pada maxSize-1, maka harus kembali ke posisi terbawah array sebelum penyisipan dilakukan. Caranya dengan memberi nilai rear=-1, sehingga jika terjadi kenaikan pada pada rear, maka rear akan menjadi 0, dasar dari array. Dan akhirnya, nItem bertambah.
Method remove()
method remove mengasumsikan queue-nya tidak kosong. Untuk meyakinkan bahwa queue-nya tidak kosong, anda harus memanggil method isEmpty(). Penghapusan selalu dimulai dengan memperoleh nilai pada front dan kemudian mengurangi front. Jika front-nya terletak pada akhir array, maka harus kembali ke 0. Kemudian nItems dikurangi.
Method peek()
untuk mendapatkan nilai pada front.
Method isEmpty(), isFull(), and size()
untuk mengecek nItems, apakah kosong atau penuh.

Linked List

Linked List

Ada beberapa algoritma linked list, diantaranya: linked list biasa, doubkle ended linked list dan doubly linked list. Berikut adalah contoh program menggunakan algoritma linked list. Untuk double ended linked list dan doubly linked list akan dibahas di kesempatan lain.
Linked List
Operasi:
  • Penyisipan sebuah item di awal list.
  • Penghapusan sebuah item di awal list.
  • Menampilkan isi list
class Link
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author informatika
*/
class Link
{
public int iData;
public double dData;
public Link next;
// ————————————————————-
public Link(int id, double dd)
{
iData = id;
dData = dd;
}
// ————————————————————-
public void tampilkanLink()
{
System.out.print(“{” + iData + “, ” + dData + “} “);
}
}
class LinkList
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author informatika
*/
class LinkList
{
private Link pertama;
// ————————————————————-
public LinkList()
{
pertama = null;
}
// ————————————————————-
public boolean kosong()
{
return (pertama==null);
}
// ————————————————————-
//======================================
//method sisipPertama()
//======================================
public void sisipPertama(int id, double dd)
{
Link linkBaru = new Link(id, dd);
linkBaru.next = pertama;
pertama = linkBaru;
}
// ———-akhir method sisipPertama() ——————–
//===========================================
//method hapusPertama()
//===========================================
public Link hapusPertama()
{
Link temp = pertama;
pertama = pertama.next;
return temp;
}
// ———akhir method hapusPertama() ———-
// =====================================
//Method tampilkanList()
//======================================
public void tampilkanList()
{
System.out.print(“List (pertama–>terakhir): “);
Link sekarang = pertama;
while(sekarang != null)
{
sekarang.tampilkanLink();
sekarang = sekarang.next;
}
System.out.println(“”);
}
// ———akhir method tampilkanList()————–
}
LinkListApp
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author informatika
*/
class LinkListApp
{
public static void main(String[] args)
{
LinkList listQ = new LinkList();
listQ.sisipPertama(22, 2.99);
listQ.sisipPertama(44, 4.99);
listQ.sisipPertama(66, 6.99);
listQ.sisipPertama(88, 8.99);
listQ.tampilkanList();
while( !listQ.kosong() )
{
Link linkQ = listQ.hapusPertama();
linkQ.tampilkanLink();
System.out.print(” terhapus”);
System.out.println(“”);
}
listQ.tampilkanList();
}
}
output program:
List (pertama–>terakhir): {88, 8.99} {66, 6.99} {44, 4.99} {22, 2.99}
{88, 8.99}  terhapus
{66, 6.99}  terhapus
{44, 4.99}  terhapus
{22, 2.99}  terhapus
List (pertama–>terakhir):
Kenapa list -nya kosong? karena telah kita hapus dengan method hapusPertama() menggunakan perulangan while selama list ada. cara pengecekannya adalah dengan memanggil method kosong(). jadi maksudnya selama list-nya belum kosong (masih ada) maka akan dilakukan proses penghapusan list menggunakan method hapusPertama()

Struktur Data - Binary Tree Di Java

Binary Tree di Java

Terminologi
binary tree
binary tree

maaf saya menggunakan istilah asing untuk terminologinya. soalnya saya sudah terbiasa pakai istilah ini, kalaupun diterjemahkan kuq hasilnya malah jadi aneh… :)

Path

Bayangkan seperti orang yang berjalan dari node ke node lain melalui garis yang menghubungkannya. Garis-garis penghubung yang delewati itulah yang dinamakan dengan path.

Root

Node pada posisi paling atas disebut root. Dalam sebuah tree hanya terdapat satu root saja.
Parent
Setiap node (kecuali root) mempunyai cabang yang menguhubungkan tepat satu node lain di atasnya. Node di atasnya inilah yang disebut parent.
Child
Setiap node bisa mempunyai satu atau lebih cabang yang menghubungkan ke node lainnya. Node di bawahnya inilah yang disebut dengan child.
Leaf
Node yang tidak mempunyai child disebut dengan leaf. Dalam sebuah tree hanya ada satu root saja tetapi bisa mempunyai banyak leaf.
Subtree
Setiap node bisa dipertimbangkan menjadi root nya subtree, yang terdiri dari beberapa children, dan children nya children.
Visiting
Sebuah node dikatakan dikunjungi ketika kendali program sampai pada sebuah node, biasanya untuk tujuan menyelesaikan beberapa operasi pada node, seperti mengecek nilai datanya kemudian menampilkannya.
Traversing
Traverse maksudnya mengunjungi semua node dalam tree untuk tujuan tertentu, misalnya: untuk mengurutkan datanya.
Level
Level node adalah banyaknya generasi node yang dihitung mulai dari root. Jika kita mengasumsikan bahwa root adalah level 0, maka children adalah level 1, grandchildren adalah level 2, dan seterusnya.
Key
Medan data dalam sebuah objek biasanya didesain dengan menggunakan sebuah key. Nilai dari key ini digunakan untuk melakukan pencarian data atau operasi lainnya.
Tree menggunakan Java
Beberapa class untuk mendemonstrasikan binary tree di java
Class Node –> untuk membuat node
class Node
{
int iData;                  // data yang digunakan sebagai kunci
double fData;         // data lain
node childKiri;     // node child kiri
node childKanan;         // node child kanan
public void tampilNode()
{
// (bagian dari tubuh method)
}
}
Class Tree –> membuat susunan Tree nya dimana di dalamnya juga terdapat beberapa method untuk:
pencarian node
penyisipan node
penghapusan node

class Tree
{
private Node root;     // satu-satunya data dalam tree
public void cari(int key)
{
tempat penulisan statemen cari
}
public void sisip(int id, double dd)
{
tempat penulisan statemen sisip
}
public void hapus(int id)
{
tempat penulisan statemen hapus
}
// klo ada method laen tulis di sini
}    // akhir dari kelas tree
Sampai di sini dulu pembahasannya. bersambung… ya… uda magghrib nie… Untuk menjalankan programnya, kita masi perlu membuat satu class lagi dimana fungsi dari class ini untuk memanggil clas-clas yang sudah dibuat sebelumnya. o’ia method-method yang dibuat di class sebelumnya juga blom ada statement-nya

The Power of Opensource Software

Ini contoh objek lain yang didesain menggunakan software GIMP. GIMP alternatif software desain grafis yang bisa diperoleh secara gratis, sehingga kita bisa menggunakannya tanpa khawatir melanggar UU HAKI karena membajak.
IT Button
IT Button
Source: http://mygimptutorial.com/


Abstract Image
Abstract Image
Source: http://gimp-tutorials.net/abstract-gimp-effect

Menggunakan Aplikasi Pengingat Waktu Sholat di Linux Sabily

Di Linux Sabily terdapat aplikasi pengingat waktu sholat yaitu Minbar Prayer Times. Dengan aplikasi tersebut kalau kita sedang beraktifitas di depan komputer, dan telah tiba waktu sholat maka akan terdengar Adzan yang menunjukkan waktu sholat tertentu. Berikut adalah tampilan dari aplikasi tersebut:
Tampilan Aplikasi Minbar Prayer Time
Tampilan Aplikasi Minbar Prayer Time

Aplikasi Minbar Prayer Times terdiri tiga bagian, yaitu: time, location, timetable, dan prefereneces. Time menunjukkan waktu sholat, location menunjukkan arah kiblat dari lokasi/tempat dimana kita berada, timetable digunakan untuk mengetahui kalender waktu sholat dalam satu bulan, dan preference untuk melakukan pengaturan aplikasi.
Tampilan Waktu Sholat Perbulan (Prayer Calendar)
Tampilan Waktu Sholat Perbulan (Prayer Calendar)
Agar Minbar Prayer Times dapat mengingatkan waktu sholat (dengan suara adzan) tepat pada waktunya, maka harus di-setting terlebih dahulu. Berikut adalah cara men-setting kedua aplikasi tersebut.
Setting Minbar Prayer Times
  1. Pertama kali kita jalankan terlebih dulu aplikasi Minbar Prayer Time dengan mengklik Applications → Islamic Software → Minbar Prayer Times sehingga aplikasi tersebut akan terbuka, seperti pada tampilan berikut:
    Aplikasi Minbar Prayer Times
    Aplikasi Minbar Prayer Times
  2. Pada bagian Preferences klik tombol preferences, sehingga di layar monitor akan terdapat tampilan jendela Edit City Detail, seperti pada gambar berikut:
    Pengaturan Lokasi (Latitude dan Longitude) Kota
    Pengaturan Lokasi (Latitude dan Longitude) Kota
  3. Untuk menentukan Latitude dan Longitude kota dimana Anda berada klik tombol Find City, maka akan akan muncul jendela yang digunakan untuk pencarian kota seperti pada gambar berikut:
    Pencarian Kota
    Pencarian Kota

    Kalau kota yang Anda maksud tidak ada dalam daftar, maka dapat dicari di alamat website www.islamicfinder.com. Buka web browser dengan klik Applications → Internet → Firefox Web Browser, kemudian ketik alamat di atas di address bar.

    Mengetik Alamat Website di Address Bar Web Browser
    Mengetik Alamat Website di Address Bar Web Browser
  4. Pada halaman website yang tampil, pilih Indonesia pada combo box Country, seperti pada gambar berikut:
    Menentukan Negara Pada Prayer Finder
    Menentukan Negara Pada Prayer Finder
  5. Setelah menentukan negara, maka pada web browser akan tampil halaman tabel waktu sholat kota-kota di Indonesia. Apabila kota yang Anda maksud tidak ditampilkan, gunakan fasilitas pencarian yang disediakan.
    Menentukan Kota pada Indonesia Prayer Times
    Menentukan Kota pada Indonesia Prayer Times

    Pilihlah nama kota sesuai dengan tempat dimana Anda berada. Untuk contoh dipilih kota Malang, sehingga pada tabel klik kota Malang.
  6. Selanjutnya di halaman web browser akan tampil nama-nama kota sesuai dengan pilihan Anda disertai dengan posisi latitude dan longitude. Pilih nama kota sesuai dengan propinsi, kemudian catat latitude dan longitude. Untuk contoh, Malang (Propinsi: Jawa Timur) berada pada posisi latitude (7.98 S) dan longitude (112.63 E).
    Daftar Kota Menurut Propinsi disertai  Posisi Latitude dan Longitude
    Daftar Kota Menurut Propinsi disertai Posisi Latitude dan Longitude
  7. Masukkan nilai latitude dan longitude yang telah Anda catat ke dalam form City Details, seperti pada gambar berikut:
    input latitude dan longitude
    input latitude dan longitude
    Untuk nama kota (city name) isi sesuai dengan nama kota dimana Anda berada dan zona waktu (time zone) isi dengan 7.0.
  8. Setelah itu masih dalam jendela Edit City Details klin tab Advanced. Di dalam tab Adavanced bisa dilakukan pengaturan fitur notification dan start minimize to tray. Notification digunakan untuk memberi peringatan (berapa menit) sebelum memasuki waktu sholat. Start minimize to tray digunakan untuk menjalankan program dalam mode minimize setiap komputer dijalankan (ditunjukkan dengan adanya indikator icon program Minbar Prayer Times di tray). Beri tanda checkbox (cawang) untuk mengaktifkan kedua fitur tersebut.
  9. Mengaktifkan Fitur Start dan Notification
    Mengaktifkan Fitur Start dan Notification
    Minbar Prayer Times Berjalan dalam Mode Minimize
    Minbar Prayer Times Berjalan dalam Mode Minimize
  10. Kemudian masih di jendela Edit City Details klik tab Athan untuk menentukan suara Adzan.
    Tampilan Menu Tab Athan
    Tampilan Menu Tab Athan
  11. Klik pada tulisan None di sebelah kanan label Normal Athan untuk menentukan lokasi (folder/direktori) file suara adzan dalam hardisk. Program Minbar Prayer Times mendukung file multimedia MP3.
    Klik None untuk Menentukan Letak  File Suara Adzan
    Klik None untuk Menentukan Letak File Suara Adzan

    Memilih File Suara Adzan di Folder Tertentu
    Memilih File Suara Adzan di Folder Tertentu
    Untuk mencoba/mendengarkan file adzan klik tombol Play dan untuk menghentikan klik Stop.
    Mencoba File Adzan
    Mencoba File Adzan
  12. Lakukan dengan cara yang sama untuk menentukan adzan subuh. Klik pada tulisan None di sebelah kanan label Sub Athan kemudian tentukan file suara adzan subuh dengan cara seperti pada langkah sebelumnya (langkah ke-12).
  13. Terakhir, klik OK untuk menutup jendela Preferences kemudian klik Close untuk menutup jendela Minbar Prayer Times (jangan meng-klik Quit, karena akan menyebabkan keluar/menghentikan program).

Menggunakan Aplikasi Pengingat Waktu Sholat di Linux Sabily

Di Linux Sabily terdapat aplikasi pengingat waktu sholat yaitu Minbar Prayer Times. Dengan aplikasi tersebut kalau kita sedang beraktifitas di depan komputer, dan telah tiba waktu sholat maka akan terdengar Adzan yang menunjukkan waktu sholat tertentu. Berikut adalah tampilan dari aplikasi tersebut:
Tampilan Aplikasi Minbar Prayer Time
Tampilan Aplikasi Minbar Prayer Time

Aplikasi Minbar Prayer Times terdiri tiga bagian, yaitu: time, location, timetable, dan prefereneces. Time menunjukkan waktu sholat, location menunjukkan arah kiblat dari lokasi/tempat dimana kita berada, timetable digunakan untuk mengetahui kalender waktu sholat dalam satu bulan, dan preference untuk melakukan pengaturan aplikasi.
Tampilan Waktu Sholat Perbulan (Prayer Calendar)
Tampilan Waktu Sholat Perbulan (Prayer Calendar)
Agar Minbar Prayer Times dapat mengingatkan waktu sholat (dengan suara adzan) tepat pada waktunya, maka harus di-setting terlebih dahulu. Berikut adalah cara men-setting kedua aplikasi tersebut.
Setting Minbar Prayer Times
  1. Pertama kali kita jalankan terlebih dulu aplikasi Minbar Prayer Time dengan mengklik Applications → Islamic Software → Minbar Prayer Times sehingga aplikasi tersebut akan terbuka, seperti pada tampilan berikut:
    Aplikasi Minbar Prayer Times
    Aplikasi Minbar Prayer Times
  2. Pada bagian Preferences klik tombol preferences, sehingga di layar monitor akan terdapat tampilan jendela Edit City Detail, seperti pada gambar berikut:
    Pengaturan Lokasi (Latitude dan Longitude) Kota
    Pengaturan Lokasi (Latitude dan Longitude) Kota
  3. Untuk menentukan Latitude dan Longitude kota dimana Anda berada klik tombol Find City, maka akan akan muncul jendela yang digunakan untuk pencarian kota seperti pada gambar berikut:
    Pencarian Kota
    Pencarian Kota

    Kalau kota yang Anda maksud tidak ada dalam daftar, maka dapat dicari di alamat website www.islamicfinder.com. Buka web browser dengan klik Applications → Internet → Firefox Web Browser, kemudian ketik alamat di atas di address bar.

    Mengetik Alamat Website di Address Bar Web Browser
    Mengetik Alamat Website di Address Bar Web Browser
  4. Pada halaman website yang tampil, pilih Indonesia pada combo box Country, seperti pada gambar berikut:
    Menentukan Negara Pada Prayer Finder
    Menentukan Negara Pada Prayer Finder
  5. Setelah menentukan negara, maka pada web browser akan tampil halaman tabel waktu sholat kota-kota di Indonesia. Apabila kota yang Anda maksud tidak ditampilkan, gunakan fasilitas pencarian yang disediakan.
    Menentukan Kota pada Indonesia Prayer Times
    Menentukan Kota pada Indonesia Prayer Times

    Pilihlah nama kota sesuai dengan tempat dimana Anda berada. Untuk contoh dipilih kota Malang, sehingga pada tabel klik kota Malang.
  6. Selanjutnya di halaman web browser akan tampil nama-nama kota sesuai dengan pilihan Anda disertai dengan posisi latitude dan longitude. Pilih nama kota sesuai dengan propinsi, kemudian catat latitude dan longitude. Untuk contoh, Malang (Propinsi: Jawa Timur) berada pada posisi latitude (7.98 S) dan longitude (112.63 E).
    Daftar Kota Menurut Propinsi disertai  Posisi Latitude dan Longitude
    Daftar Kota Menurut Propinsi disertai Posisi Latitude dan Longitude
  7. Masukkan nilai latitude dan longitude yang telah Anda catat ke dalam form City Details, seperti pada gambar berikut:
    input latitude dan longitude
    input latitude dan longitude
    Untuk nama kota (city name) isi sesuai dengan nama kota dimana Anda berada dan zona waktu (time zone) isi dengan 7.0.
  8. Setelah itu masih dalam jendela Edit City Details klin tab Advanced. Di dalam tab Adavanced bisa dilakukan pengaturan fitur notification dan start minimize to tray. Notification digunakan untuk memberi peringatan (berapa menit) sebelum memasuki waktu sholat. Start minimize to tray digunakan untuk menjalankan program dalam mode minimize setiap komputer dijalankan (ditunjukkan dengan adanya indikator icon program Minbar Prayer Times di tray). Beri tanda checkbox (cawang) untuk mengaktifkan kedua fitur tersebut.
  9. Mengaktifkan Fitur Start dan Notification
    Mengaktifkan Fitur Start dan Notification
    Minbar Prayer Times Berjalan dalam Mode Minimize
    Minbar Prayer Times Berjalan dalam Mode Minimize
  10. Kemudian masih di jendela Edit City Details klik tab Athan untuk menentukan suara Adzan.
    Tampilan Menu Tab Athan
    Tampilan Menu Tab Athan
  11. Klik pada tulisan None di sebelah kanan label Normal Athan untuk menentukan lokasi (folder/direktori) file suara adzan dalam hardisk. Program Minbar Prayer Times mendukung file multimedia MP3.
    Klik None untuk Menentukan Letak  File Suara Adzan
    Klik None untuk Menentukan Letak File Suara Adzan

    Memilih File Suara Adzan di Folder Tertentu
    Memilih File Suara Adzan di Folder Tertentu
    Untuk mencoba/mendengarkan file adzan klik tombol Play dan untuk menghentikan klik Stop.
    Mencoba File Adzan
    Mencoba File Adzan
  12. Lakukan dengan cara yang sama untuk menentukan adzan subuh. Klik pada tulisan None di sebelah kanan label Sub Athan kemudian tentukan file suara adzan subuh dengan cara seperti pada langkah sebelumnya (langkah ke-12).
  13. Terakhir, klik OK untuk menutup jendela Preferences kemudian klik Close untuk menutup jendela Minbar Prayer Times (jangan meng-klik Quit, karena akan menyebabkan keluar/menghentikan program).

Menyisipkan MP3 Player Di Halaman Website

Ingin menyisipkan mp3 player di website anda seperti gambar berikut?

Easy Musicplayer For Flash
Easy Musicplayer For Flash
mudah aja… ikuti langkah-langkah berikut:
1. download dulu aplikasi Easy Musicplayer For Flash (EMFF) di website http://emff.sourceforge.net/
2. buatlah sebuah folder (misalnya: mp3player) di folder apache server anda (biasanya di folder htdocs atau www).
3. extract file yang telah anda download sebelumnya. dari hasil extract tersebut dihasilkan folder emff_0.5.8. letakkan folder emff_0.5.8 tersebut dalam folder mp3player (www/mp3player atau sesuaikan dengan folder yang sudah anda buat dalam langkah ke-2).
4. Ketik script html berikut dan simpan dengan nama index.html dalam folder mp3player (www/mp3player atau sesuaikan dengan folder yang sudah anda buat dalam langkah ke-2):
<object type=”application/x-shockwave-flash” data=”emff_lila.swf” width=”200″ height=”55″>
<param value=”emff_lila.swf”>
<param value=”playlist=playlist.xml&amp;autostart=yes&amp;repeat=yes&amp;shuffle=yes”>
</object>
5. ketik script berikut dan simpan dengan nama playlist.xml dalam folder mp3player (www/mp3player atau sesuaikan dengan folder yang sudah anda buat dalam langkah ke-2):
<?xml version=”1.0″ encoding=”UTF-8″?>
<playlist version=”1″ xmlns=”http://xspf.org/ns/0/”>
<trackList>
<track>
<location>lagu_pertama.mp3</location>
</track>
</trackList>
</playlist>
catatan:
- di antara tag <location></location> sesuaikan dengan nama file mp3 yang ingin anda mainkan. dalam contoh tersebut misalnya “lagu_pertama.mp3″.
6. cari file emff_lila.swf di folder emff_0.5.8\skins (hasil extract dari file yang di-download pada langkah ke-1) kemudian copy-kan di folder mp3player (www/mp3player atau sesuaikan dengan folder yang sudah anda buat dalam langkah ke-2).
7. cari file mp3 yang akan anda mainkan sesuai dengan nama file yang telah anda ketik dalam script playlist.xml (langkah ke-5). kemudian copy-kan file mp3 tersebut dalam folder mp3player (www/mp3player atau sesuaikan dengan folder yang sudah anda buat dalam langkah ke-2).
8. saatnya mencoba… :) buka web browser anda, kemudian dalam address bar ketik alamat http://localhost/mp3player.
maka dalam web browser akan muncul mp3 player dan memainkan musiknya.
Tampilan EMFF di web browser
Tampilan EMFF di web browser
catatan:
untuk menjalankan program tersebut, web browser anda harus mendukung flash player.

Linus… Linux…

Linux… Sistem operasi operasi open source yang bebas digunakan dan dimodifikasi sesuai dengan kebutuhan. Sistem operasi yang bisa dimodifikasi? Yup…! Kita bisa memperoleh kode sumbernya (source code) dan kalau kita paham bahasa pemrograman kita bisa mengubahnya sesuai dengan keperluan kita. Mungkin kita jadi bertanya-tanya, siapa sih sebenarnya pembuat Linux yang dengan sukarela menyebarkan source code-nya…? Linus Benedict Torvalds. Dialah yang pertama kali membuat kernel (inti sistem operasi) Linux. Ia adalah mahasiswa pendiam dari  Universitas Helsinski yang menekuni bidang rekayasa perangkat lunak membuat sistem operasi Linux terinspirasi oleh Minix buatan Andrew S. Tanebaum. Linux pada awalnya sebuah kernel yang ukurannya tidak lebih dari kapasitas simpan disket. Kemudian kernel buatannya tersebut di-upload ke internet. Ternyata kernel linux tersebut mendapat sambutan yang luar biasa dari hacker seluruh dunia. Hacker-hacker dan computer freak seluruh dunia seolah-olah saling berlomba memperbaiki dan meningkatkan kemampuan kernel tersebut hingga menjadi sistem operasi yang lebih handal.
Jangan membayangkan pada waktu itu Linux menggunakan GUI (Graphical User Interface) seperti sekarang. Dahulu di awal-awal perkembangannya untuk menggunakan Linux bisa dibilang sulit. Karena semua perintah diberikan dengan cara mengetikkannya lewat console (command line). Belum ada istilah copy-paste atau drang and drop. Semuanya serba text mode dan menggunakan command line. Hal ini tentu sangat menyulitkan bagi orang awam yang ingin menggunakan Linux.
Seiring berjalannya waktu, sistem operasi Linux semakin baik, semakin handal dan mudah digunakan. Yang dulu masih menggunakan console dengan command line-nya, sekarang lebih mudah digunakan dan user friendly. Sekarang tampilan Linux jauh lebih indah dengan adanya tampilan desktop berbasis GUI (Graphical User Interface). Untuk memberi perintah juga lebih mudah, tinggal klik kiri atau klik kanan dan drag and drop saja. Hal ini dimungkinkan karena adanya desktop Linux yang berjalan di atas xwindow. Ada bermacam-macam desktop di Linux, tetapi yang paling sering digunakan adalah GNome, KDE, dan XFCE. Kita bisa menggunakan desktop sesuai dengan keinginan dan kemampuan komputer kita.
Sekarang sistem operasi Linux tidak hanya dipakai di komputer server, pc, atau laptop saja. Banyak gadget atau perangkat elektronik lain yang menggunakan Linux sebagai sistem operasi-nya. Smartphone, PDA, PC tablet, GPS, console game adalah contoh beberapa contoh gadget yang menggunakan sistem operasi Linux. Jadi meskipun linux adalah sistem operasi opensource tetapi kehandalan dan kemampuannya setara dengan sistem operasi yang berbayar. Dari segi keamanan sistem operasi yang berlogo penguin ini juga tidak kalah dengan sistem operasi lainnya, malah bisa dibilang lebih secure.

Identifier

Identifier
Dalam pemrograman Java identifier adalah suatu nama yang digunakan untuk menyatakan variabel, konstanta, class, method. Untuk membuat nama identifier perlu memperhatikan hal-hal berikut:
  1. Membedakan huruf besar dan huruf kecil (case sensitive).
  2. Nama identifier bisa terdiri dari satu atau beberapa karakter yang terdiri dari angka (0 – 9), huruf (A – Z, a – z), dollar ($), garis-bawah/underscore(_).
  3. Penamaan identifier harus dimulai dengan huruf, underscore(_), atau karakter dollar ($). Tidak boleh dimulai dengan angka.
  4. Simbol-simbol operator seperti (*), (+), (/), (-) tidak boleh digunakan.
  5. Dalam penamaan identifier tidak boleh menggunakan spasi.
  6. Tidak diperbolehkan menggunakan Kata-kata keyword dalam java (misalnya: public, class, static, dsb).
  7. Panjang nama identifier tidak dibatasi.
Beberapa contoh penamaan identifier yang benar:
Nama
$Nama
NamaSiswa
NomorInduk
namaSiswa
nomorInduk
nama_siswa
nomor_induk
beberapa contoh penamaan identifier yang salah:
1Nama
/NomorInduk
Nama Siswa
Keyword (kunci) adalah kata-kata khusus dalam Java yang digunakan untuk pemrograman. Berikut adalah keyword yang digunakan dalam bahasa pemrograman Java:
abstract    boolean        break        byte
case        catch        char        class
const        continue    default        do
double        else        extends        final
finally        float        for        future
goto        if        implements    import
instanceof    int        interface    long
native        new        package        private
protected    public        return        short
static        super        switch        synchronized
this        throw        throws        transient
try        void        volatile    while
Variabel dan Konstanta
Variabel digunakan untuk menyimpan suatu nilai yang digunakan dalam program. Nilai tersebut dapat berubah selama proses eksekusi program. Hampir semua program yang dibuat memerlukan lokasi memori yang digunakan untuk menyimpan nilai yang sedang diproses. Kita tidak pernah tahu di mana nilai tersebut disimpan dalam memori komputer. Misalnya, kalau kita ingin mengambil data dan untuk memperoleh data tersebut harus mengetahui dimana lokasi data tersebut disimpan dalam memori komputer, maka ini akan menimbulkan kesulitan tersendiri. Maka dari itu muncullah konsep variabel. Dengan variabel kita tidak perlu mengetahui di lokasi memori mana data tersimpan. Karena Variabel akan merujuk pada alamat dimana data tersebut tersimpan. Sehingga proses penyimpanan dan pengambilan data dapat dilakukan dengan lebih mudah.
Konstanta adalah nilai yang tidak berubah selama berlangsungnya eksekusi program. Misalnya konstanta pi dalam program untuk mencari luas lingkaran.
Tipe Data
Dalam java ada dua macam tipe data, yaitu tipe data primitif dan dan komposit
Tipe data primitif
Tipe data primitif adalah tipe data sederhana yang tidak diturunkan dari tipe data lain. Berikut adalah tipe data primitif dalam Java:
  1. Numerik yang terdiri dari bilangan integer dan floating point.
  2. Karakter yang terdiri dari karakter-karakter dalam ASCII.
  3. Boolean yang digunakan untuk menentukan nilai benar atau salah (true or false).
Tipe data komposit
Berikut adalah tipe data komposit dalam Java:
  1. string
  2. array
Tipe data integer
Tipe data integer dibagi lagi menjadi beberapa macam tipe data:
  1. byte (byte)
  2. short integer (short)
  3. Integer (int)
  4. Log integer (long)
Tipe data floating point
Tipe data integer dibagi lagi menjadi beberapa macam tipe data:
  1. float (float)
  2. double (double)
  3. Integer (int)
  4. Log integer (long)
Tipe data character
Tipe data karakter terdiri dari huruf-huruf alfabet dan simbol numerik dalam ASCII.
Tipe data boolean
Tipe data boolean digunakan untuk variabel yang mempunyai nilai logika. Nilai logika dalam tipe data ini adalah benar (true) dan salah (false).
Berikut adalah detail dari tipe-tipe data dalam Java
Tipe data dalam Java

Contoh Program Sederhana

Contoh-contoh program sederhana:

Program ke-1
Ululalbab.java

public class Ululalbab {
  public static void main(String[] args) {
    System.out.println("Ululalbab");
  }
}
Program ke-2
Ululalbab2.java

import javax.swing.JOptionPane;
public class Ululalbab2 {
  public static void main(String[] args) {
    JOptionPane.showMessageDialog(null,"Ululalbab");
  }
}
Program ke-3
PersegiPanjang.java

public class PersegiPanjang {
int luas = 0;
  public int panjangLebar(int panjang, int lebar) {
    luas = panjang * lebar;
    return luas;
  }
}
PersegiPanjangApp.java
public class PersegiPanjangApp {
  public static void main(String[] args) {
    PersegiPanjang myPersegiPanjang = new PersegiPanjang();
    int L = myPersegiPanjang.panjangLebar(5,6);
    System.out.println("luas persegi panjang= " + L);
  }
}

Operator

Operator

Operator adalah simbol yang digunakan dalam program untuk merubah suatu nilai. Dalam program, operator digunakan untuk:
  • mengalikan nilai dua variabel
  • menginisialisasi  nilai pada variabel
  • membandingkan nilai dalam dua variabel
  • dan sebagainya.
contoh:
int bilangan1 = 6;
int bilangan2 = 3;
int bilangan3 = bilangan1 * bilangan2;
Dalam Java, ada beberapa macam operator menurut fungsinya. Operator yang sering digunakan sebagai berikut:
  • operator aritmatika
  • operator relasional
  • operator logika
Selain itu masih terdapat beberapa operator sebagai berikut:
  • operator assignment
  • operator increment dan decrement
  • operator concantenation
  • operator bitwise
Menurut operand operator dibagi menjadi tiga yaitu:
  • unary: operator yang hanya menggunakan satu operand saja, misalnya: -8, +9, dsb.
  • binary: operator yang menggunakan dua operand, misalnya: 9+7, 7-4, dsb.
  • ternary:operator yang menggunakan tiga operand, misalnya: 3*(5+2), dsb
Operator Aritmatika
Berikut adalah operator aritmatika yang digunakan dalam Java:
operator aritmatikaoperator aritmatika
Operator Modulus
Operator modulus digunakan untuk memperoleh sisa hasil pembagian. Contoh:
  • 7 % 5 = 2
  • 8 % 3 = 2
  • 9 % 4 = 1
Prioritas Operator Aritmatika
Di Java perator aritmatika yang mempunyai prioritas lebih tinggi akan dikerjakan lebih dahulu  daripada operator yang prioritasnya lebih rendah.
Prioritas operator aritmatika dari tertinggi ke terendah adalah sebagai berikut:
  1. ++ — (increment/decrement)
  2. - (simbol minus)
  3. *, /,  % (perkalian pembagian modulus)
  4. +, -    (penjumlahan, pengurangan)
Jika operator memiliki prioritas yang sama maka operator yang letaknya ada di sebelah kiri akan dikerjakan terlebih dahulu.
Contoh:
a = 10 – 4 / 2
b = 9 / 3 * 2
c = 15 / (6 – 3)
Pernyataan yang pertama menghasilkan a = 8. Operator / mempunyai prioritas lebih tinggi sehingga dikerjakan terlebih dahulu.
Pernyataan yang kedua menghasilkan b = 6. operator / mempunyai prioritas yang sama dengan  prioritas * sehingga operator yang letaknya di sebelah kiri akan dikerjakan terlebih dahulu.
Pernyataan yang terakhir menghasilkan 5 . Tanda kurung pada kurung pada pernyataan di atas mengubah urutan pekerjaan. Yang berada dalam kurung dikerjakan terlebih dahulu, kemudian hasilnya untuk membagi angka di depannya.
Operator Increment dan Decrement
Operator increment (++) untuk menaikkan nilai variabel sebesar 1, sedangkan operator dicrement (–) untuk menurunkan nilai variabel sebesar 1. Baik operator increment maupun dicrement dapat diletakkan sebelum variabel maupun setalah variabel.
++a atau a++ pernyataan ini untuk menaikkan nilai variabel a dengan 1 atau sama artinya dengan a = a + 1.
–a atau a– pernyataan ini untuk menurunkan nilai variabel a dengan 1 atau sama artinya dengan a = a – 1.
Operator Concantenation
Java mempunyai operator yang digunakan untuk menyambung string. Operator tersebut disebut dengan operator concantenation (penghubung) menggunakan simbol + contoh:
misalnya dalam statement Java:
System.out.println(“Luas persegipanjang = ” + Luas + ” cm”);
Operator Relasional
Untuk menentukan nilai kebenaran dari hubungan suatu operand (benar atau salah), maka digunakanlah operator relasional. Berikut adalah operator relasional dalam Java:
operator relasionaloperator relasional
Operator Logika
Operator logika digunakan untuk menghubungkan dua buah penryataan relasi. Hasil dari operator logika ini adalah benar (true) atau salah (false) sesuai dengan tabel kebenaran. Berikut adalah operator logika yang digunakan dalam Java:
operator logikaoperator logika
Contoh-contoh program
//--------------------------------------------------------------
// Nama program: LuasLingkaran.java
// Program untuk menghitung luas lingkaran menggunakan
// operator aritmatika
//--------------------------------------------------------------
public class LuasLingkaran {
  public static void main(String[] args) {
    double pi=3.14;
    int r = 8;
    double luas = 0;
    luas = pi*r*r;
    System.out.println("Luas lingkaran = " + luas);
  }
}

//-----------------------------------------------------------------------------------------------------
// Nama program: KonversiCelciusKeReamur.java
// Program untuk mengubah satuan suhu dari derajat celcius ke
// derajat reamur dimana nilai data suhu celcius diperoleh dari
// keyboard menggunakan class JOptionPane
//-----------------------------------------------------------------------------------------------------
import javax.swing.JOptionPane;
public class KonversiCelciusKeReamur {
  public static void main(String[] args){
    double suhuC, suhuR;
    String angka = JOptionPane.showInputDialog("Input suhu derajat celcius:");
    suhuC = Double.parseDouble(angka);
    suhuR = suhuC * 4/5;
    JOptionPane.showMessageDialog(null, "Input angka = " + angka + "\nTemperatur Celcius = " + angka +
    "\nTemperatur Reamur = " + suhuR);
  }
}

//----------------------------------------------------------------
// Nama file: CobaModulus.java
// Program untuk mencari modulus (sisa hasil bagi) dari
// operasi pembagian
//----------------------------------------------------------------
import javax.swing.JOptionPane;
public class CobaModulus {
  public static void main(String[] args) {
    int x, y, z;
    x = 7 % 5;
    y = 8 % 3;
    z = 9 % 4;
    JOptionPane.showMessageDialog(null, "7 modulus 5 = " + x +
    "\n8 modulus 3 = " + y +
    "\n9 modulus 4 = " + z);
  }
}

//-----------------------------------------------------------
* Nama program: Prioritas.java
* Program untuk menunjukkan prioritas pada operator Java
//-----------------------------------------------------------
import javax.swing.JOptionPane;
public class Prioritas {
  public static void main(String[] args) {
    int a, b, c;
    a = 10 - 4 / 2;
    b = 9 / 3 * 2;
    c = 15 / (6 - 3);
    JOptionPane.showMessageDialog(null, "10 - 4 / 2 = " + a +
    "\n9 / 3 * 2 = " + b +
    "\n15 / (6 - 3) = " + c);
  }
}

Percabangan

Percabangan adalah suatu keadaan dimana pernyataan dapat dieksekusi apabila suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut. Dalam Java terdapat tiga (3) percabangan yaitu:
  • if
  • if else
  • switch
1. if
Pada pernyataan if, pernyataan dapat dieksekusi apabila kondisinya memenuhi ketentuan. Bentuk umum dari pernyataan if adalah sebagai berikut
if (kondisi)
pernyataan;
keterangan:
kondisi untuk menentukan pengambilan keputusuan
pernyataan yang dikerjakan apabila memenuhi kondisi tertentu. bisa terdiri dari satu atau beberapa pernyataan.
contoh:
if yang digunakan untuk menentukan kelulusan siswa dalam mengikuti ujian. Siswa bisa dikatakan lulusan apabila nilai hasil ujiannya minimal 60.
berikut adalah programnya:
import javax.swing.JOptionPane;
public class StatementIf {
  public static void main(String[] statementIf) {
  int nilai;
  String n;
  n = JOptionPane.showInputDialog("input nilai:");
  nilai = Integer.parseInt(n);
  if (nilai >= 60)
  JOptionPane.showMessageDialog(null, "nilai = " + nilai + " dinyatakan lulus ujian");
  }
}
Apabila terdapat lebih dari satu (1) pernyataan maka pernyataan diletakkan diantara tanda kurung kurawal buka dan kurung kurawal tutup. hal seperti ini biasa disebut dengan blok pernyataan. Contoh program:
import javax.swing.JOptionPane;
public class StatementIf2 {
  public static void main(String[] statementIf2) {
    int nilai;
    String n;
    n = JOptionPane.showInputDialog("input nilai ujian:");
    nilai = Integer.parseInt(n);
    if (nilai >= 60 )
    {
      JOptionPane.showMessageDialog(null, "nilai ujian = " + nilai + " lulus ujian");
      JOptionPane.showMessageDialog(null, "selamat...!");
    }
  }
}
2. if bersarang
if bersarang adalah apabila dalam suatu kondisi terdapat kondisi lain. Bentuk umum dari if barsarang adalah sebagai berikut:
if (kondisi1)
  {
    if (kondisi2)
    pernyataan;
  }
Contoh:
Seseorang bisa diterima sebagai karyawan perusahaan apabila lulusan sarjana dengan IPK minimal 3.00 dan umur maksimal 25. Maka calon karyawan harus dicek dulu apakah lulusan sarjana. apabila kondisinya benar (lulusan == sarjana), dicek pada kondisi yang berikutnya, IPK-nya berapa. Apabila kondisinya terpenuhi lagi (IPK >= 3.00), maka dicek pada kondisi yang terakhir yaitu apakah umurnya kurang dari sama dengan 25. Jika kondisi yang terakhir juga benar (umur <= 25), maka pernyataannya yang dijalankan adalah memenuhi persyaratan.
program:
public class Percabangan4 {
  public static void main(String[] percabangan4) {
  double ipk = 3.15;
  int umur = 24;
  String pendidikan = "diploma";
  System.out.println("Pendidikan = " + pendidikan + "\nIPK = " + ipk + "\nUmur = " + umur);
  if (pendidikan.equals("diploma"))
  {
    if (ipk >= 3.00)
    {
      if (umur <= 25)
      System.out.println("Memenuhi persayaratan");
    }
  }
  }
}
3. if … else …
Pada pernyataan if akan menjalankan sebuah atau blog pernyataan jika kondisi persyaratannya bernilai benar, jika sebaliknya (kondisi salah) maka tidak akan menjalankan apa-apa. Pernyataan if-else digunakan apabila ada pernyataa lain yang dijalankan jika kondisi persyaratannya tidak terpenuhi (bernilai salah). Jika kondisi tidak terpenuhi (salah) maka yang dijalankan adalah sebuah atau beberapa pernyataan yang ada dalam blok else.
Bentuk umum:

if (kondisi)
  pernyataan1;
else
  pernyataan2;
contoh program:
import javax.swing.JOptionPane;
public class PercabanganIfElse {
  public static void main(String[] ifelse) {
  int nilai = 0;
  String n;
  n = JOptionPane.showInputDialog("input nilai:");
  nilai = Integer.parseInt(n);
  if (nilai <= 60)
    JOptionPane.showMessageDialog(null, "tidak lulus");
  else
    JOptionPane.showMessageDialog(null, "lulus");
  }
}
4. switch
Pernyataan switch digunakan untuk memilih salah satu pernyataan dari beberapa pernyataan berdasarkan pemeriksaan nilai ekspresi. Ekspresi yang diperiksa harus bertpe int atau char.
Bentuk umum:
switch (ekspresi) {
  case nilai1:
    pernyataan;
    break;
  case nilai2:
    pernyataan;
    break;
  case nilai3:
    pernyataan;
    break;
  ...
  ...
  default:
}
contoh program:
public class SwitcCase {
  public static void main(String[] switchcase) {
  int pilihan;
  pilihan = 3;
  switch(pilihan)
  {
   case 1:
   System.out.println("Anda pilih naik peswat terbang");
   break;
   case 2:
   System.out.println("Anda pilih naik kereta api");
   break;
   case 3:
   System.out.println("Anda pilih naik bus");
   break;
   default:
   System.out.println("Anda pilih yang lain");
   break;
   }
  }
}

Perulangan (artikel ke-1 dari 2 artikel)

Dalam pemrograman ada dua jenis perulangan, yaitu perulangan yang sudah diketahui dengan pasti jumlah perulangannya dan yang tidak diketahui jumlah perulangannya.Yang dimaksud dengan perulangan yang sudah diketahui jumlah perulangannya adalah pembuat program sudah mengetahui dengan pasti berapa kali statement dalam blok perulangan yang harus dikerjakan. Sedangkan perulangan yang tidak pasti, statement yang dikerjakan dalam blok perulangan tidak diketahui dengan pasti jumlah perulangan yang dikerjakan, misalnya suatu statement akan diulang apabila user meng-input-kan data lebih besar dari 5. Dalam Java perulangan yang sudah diketahui dengan pasti jumlah perulangannya bisa diimplementasikan menggunakan for… sedangkan untuk perulangan yang tidak diketahui dengan pasti bisa menggunakan jenis perulangan while atau do – while.
Perulangan for…
Ada tiga komponen utama yang harus diperhatikan dalam penggunaan perulangan for…. Tiga komponen tersebut sebagai berikut:
Variabel pencacah
Variabel ini digunakan untuk mengontrol jumlah perulangan yang dikerjakan. Setiap kali perulangan dikerjakan maka nilai variabel ini akan selalu berubah. Nilai dalam variabel dapat berubah semakin besar (increment) atau semakin kecil (decrement).
Persyaratan
Persyaratan yang digunakan agar perulangan dikerjakan. Syarat ini bisa berdasarkan nilai dalam variabel penghitung atau variabel lain (yang telah dideklarasikan sebelumnya) menggunakan operator relasional.
Peubah variabel pencacah
Statement peubah variabel pencacah bertugas merubah nilai dalam variabel pencacah selama perulangan terjadi. Perubahan nilai dapat semakin besar (increment) atau semakin kecil (decrement).
Bentuk umum perulangan for sebagai berikut:
for (variabelPencacah; persyaratan; peubahVariabelPencacah) {
  statement
  ...
  ...
}
Contoh program:
//Nama program: Perulangan1.java
public class Perulangan1 {
  public static void main(String[] args) {

    int counter;
    int batasPerulangan = 10;

    for (counter=1; counter<=batasPerulangan; counter++) {
    System.out.println("Perulangan ke-"+counter);
    }

  }

}
Output program:
Perulangan ke-1
Perulangan ke-2
Perulangan ke-3
Perulangan ke-4
Perulangan ke-5
Perulangan ke-6
Perulangan ke-7
Perulangan ke-8
Perulangan ke-9
Perulangan ke-10
Penjelasan:
Program diawali dengan pendeklarasian variabel, dimana nama variabel tersebut adalah counter dan batasPerluangan dengan tipe data integer. Variabel batasPerulangan diinisialisasi dengan nilai 10. Pada baris perulangan for…, variabel counter diinisialisasi dengan nilai 1. Persyaratannya adalah statement dalam blok perulangan akan dikerjakan apabila nilai variabel counter kurang dari sama dengan nilai dalam variabel batasPerulangan. Dan setiap kali statement blok perulangan selesai dikerjakan nilai dalam variabel counter ditambah 1 (increment).
//Nama program: Perulangan2
public class Perulangan2 {

  public static void main(String[] args) {
    int bilangan1=6;
    int bilangan2=4;
    int hasil=0;
    String angka = "";

    for (int counter=1; counter<=bilangan2; counter++) {
      hasil += bilangan1;
      angka = Integer.toString(bilangan1);
      System.out.println(angka);
    }

    System.out.println("------ +");
    System.out.println(hasil);

  }
}
Output program:
6
6
6
6
------ +
24
Penjelasan program:
Program diawali dengan pendeklarasian variabel. Variabel tersebut adalah bilangan1, bilangan2, hasil bertipe data integer dan berturut-turut diinisialisasi dengan nilai 6, 4 , dan 0. Dalam program tersebut juga terdapat variabel angka diinisialisasi dengan string kosong (“”). Pada baris perulangan for… dideklarasikan variabel counter dan diinisialisasi dengan nilai 1. Variabel counter dideklarasikan dalam statement perulangan for…, maka hanya bisa digunakan dalam perulangan itu saja. Persyaratan dalam perulangan ini adalah statement dalam blok perulangan dikerjakan apabila nilai variabel counter kurang dari sama dengan nilai dalam variabel bilangan2. Dan setiap kali statement dalam blok perulangan selesai dikerjakan, nilai dalam variabel counter ditambah 1 (increment).
Syarat terjadinya pengulangan for… bisa terdiri lebih dari satu statement relasional yang digabung dengan operator logika AND atau OR. Berikut adalah contoh program perulangan for dengan dua syarat statement relasional yang digabungkan menggunakan operator AND.
public class Perulangan4 {

 public static void main(String[] args) {

   int bilangan1 = 1;
   int bilangan2 = 10;
   int counter;

   for (counter=1; (counter<10) && (bilangan1<bilangan2); counter+=2) {
     System.out.println("\t"+ bilangan1 + "\t" + bilangan2 + "\t" + counter);
     bilangan1++;
     bilangan2--;
   }
 }

}
Output program:
1        10        1
2        9        3
3        8        5
4        7        7
5        6        9
for… Bersarang (Nested for…)
Yang dimaksud dengan nested for adalah apabila di dalam blok statement perulangan terdapat perulangan lagi. Program berikut adalah contoh dari nested for…
//Nama program: Perulangan3.java
public class Perulangan3 {

  public static void main(String[] args) {
    int bilangan1;
    int bilangan2;
    for (bilangan1=1; bilangan1<=3; bilangan1++) {
      for (bilangan2=1; bilangan2<=2; bilangan2++) {
        System.out.println("[" + bilangan1 + "]" + "[" + bilangan2 + "]");
      }
    }
  }
}
Output program:

[1][1]
[1][2]
[2][1]
[2][2]
[3][1]
[3][2]
Penjelasan:
Perulangan for… yang berada di posisi dalam akan dikerjakan terlebih dahulu sampai selesai, kemudian variabel pencacah for… di luarnya akan ditambah satu (bilangan1++). Instruksi for… di dalam akan diulang sebanyak batas counter for… yang berada di luar (bilangan1<=5).
Contoh lain:
public class Faktorial {
  public static void main(String[] args) {

    int batas = 10;
    int counter = 0;
    int faktorial = 1;

    for(counter=0; counter<=batas; counter++) {
      faktorial = 1;
        for(int faktor=2; faktor<=counter; faktor++) {
        faktorial *= faktor;
      }
      System.out.println(counter + "!" + " = " + faktorial);
    }

  }

}
Output program:

0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
break; dan continue; dalam Perulangan for…
Berikut adalah contoh program perulangan for… yang menggunakan statement break; dan continue;
//Nama program: Perulangan5.java
public class Perulangan5 {

  public static void main(String[] args) {

    int counter;
    int batasPerulangan = 10;

    for (counter=1; counter<=batasPerulangan; counter++) {
      System.out.println("Perulangan ke-"+counter);
      if (counter<=5)
      break;
    }

  }

}
Output program:
Perulangan ke-1
Penjelasan:
Mengapa perulangan baru dijalankan sekali sudah berhenti? Karena dalam blok perulangan terdapat percabangan if dengan statement (counter<=5) dan statement break. Maksudnya apabila kondisi (counter<=5) terpenuhi/true maka perulangan akan dihentikan. Dalam program tersebut, perulangan dimulai dengan menginisialisasi variabel counter dengan nilai 1 (counter=1). Karena syarat (counter<=batasPerulangan) terpenuhi (dimana nilai variabel counter=1), maka statement System.out.println(“Perulangan ke-”+counter) dikerjakan. Selanjutnya bertemu dengan percabangan dengan statement (counter<=5) dan nilai kondisinya true maka statement break dalam program akan dijalankan, dan menghentikan perulangan.
public class Perulangan6 {

  public static void main(String[] args) {

    int bilangan=15;
    int counter=0;
    String hasil = "";

    for(counter=1; counter<=bilangan; counter++) {
      if (counter % 2 != 0)
      continue;
      hasil += counter + " ";
    }

  System.out.println("bilangan genap = " + hasil);

  }

}
Output program:
bilangan genap = 2 4 6 8 10 12 14
Penjelasan:
Dalam blok statement perulangan tersebut terdapat percabangan dengan statement (counter % 2 != 0). Jika kondisi pernyataannya bernilai benar maka akan terjadi pengulangan dimulai dengan menambah nilai variabel counter dengan 1 (increment). Sebaliknya jika kondisinya salah maka nilai yang ada dalam variabel counter digabungkan dengan string dan disimpan dalam variabel hasil untuk ditampilkan di layar.

Perulangan (artikel ke-2 dari 2 artikel)


Perulangan while
Perulangan while pengecekan kondisi (syarat) perulangan dilakukan sebelum eksekusi statement yang diulang. Dalam keyword perulangan while tidak terdapat instruksi langsung untuk pengubahan nilai variabel pencacah. Untuk mengubah nilai variabel pencacah maka pada blok statemen yang diulang  disisipkan instruksi yang digunakan untuk merubah nilai variabel pencacah tersebut (increment/decrement). Bentuk umum dari perulangan while adalah sebagai berikut:
while (kondisi) {
  statement
  ...
  ...
}
Contoh program:
public class While1 {

  public static void main(String[] args) {

    int batas = 5;
    int counter = 1;

    while (counter <= batas) {
      System.out.println("Perulangan ke-" + counter);
      counter++;
    }

  }

}
Output program:
Perulangan ke-1
Perulangan ke-2
Perulangan ke-3
Perulangan ke-4
Perulangan ke-5
Untuk mengubah nilai dalam variabel pencacah (counter) maka dalam blok statement yang diulang disisipkan instruksi penambahan variabel counter (counter++).
Untuk contoh program di atas juga bisa ditulis sebagai berikut:
public class While1 {

  public static void main(String[] args) {

    int batas = 5;
    int counter = 1;

    while (counter <= batas) {
      System.out.println("Perulangan ke-" + counter++);
    }

  }

}
Output program:
Perulangan ke-1
Perulangan ke-2
Perulangan ke-3
Perulangan ke-4
Perulangan ke-5
Penjelasan:
Yang perlu diperhatikan adalah operator increment (++) harus diletakkan di belakang nama variabel (post-increment). Maksudnya nilai variabel pencacah akan  ditampilkan di layar dulu baru ditambah (di-increment). Sedangkan operator increment (++) yang diletakkan di depan nama variabel (pre-increment) maka nilai pada variabel pencacah akan ditambah (di-increment) dulu kemudian ditampilkan di layar.
counter++   (post-increment)
++counter   (pre-increment)
Perulangan do-while
Berbeda dengan perulangan while, pada perulangan do-while pengecekan kondisi (syarat) perulangan dilakukan setelah eksekusi statement yang diulang. Sehingga statement dalam blok do-while paling sedikit dieksekusi satu kali. Bentuk umum perulangan do-while:
do {
  statement
  ...
  ...
}
while (kondisi)
Contoh program:
public class DoWhile {

  public static void main(String[] args) {

    int batas = 5;
    int counter = 1;

    do {
      System.out.println("perulangan ke-"+counter);
      counter++;
    }
    while (counter <= batas);

  }
}
Output program:
perulangan ke-1
perulangan ke-2
perulangan ke-3
perulangan ke-4
perulangan ke-5
Contoh lain:
public class DoWhile {

  public static void main(String[] args) {

    int batas = 5;
    int counter = 6;

    do {
      System.out.println("perulangan ke-"+counter);
      counter++;
    }
    while (counter <= batas);

  }

}
Output program:
perulangan ke-6

Array (Artikel 1 dari 2)

Array adalah sekumpulan data yang mempunyai nama variabel dan tipe data yang sama. karena mempunyai nama variabel yang sama, maka untuk membedakan data yang satu dengan yang lainnya maka digunkanlah nomor index. Bayangkan jika dalam program kita membutuhkan variabel yang banyak, misalnya 100 variabel. Maka, kalau kita harus mendeklarasikan satu-persatu hal ini akan kurang effisien. Maka di Java ada konsep yang dinamakan dengan array. Untuk memberikan keterangan yang jelas mengenai array maka dapat digambarkan sebagai berikut:
array
Deklarasi Array
Untuk mendeklarasikan array bisa digunakan beberapa cara sebagai berikut:
Tidak menyebutkan berapa jumlah elemen array. Untuk menyatakan berapa elemen dalam array, bisa diberikan setelah pendeklarasian. Format umumnya sebagai berikut:
typeData[] namaArray;
atau bisa juga
typeData namaArray[];
Kurung siku bisa ditulis setelah tipeData atau namaArray-nya.
Contoh:
int[] bilangan;
atau
int bilangan[];
Untuk menyatakan berapa elemen dalam array gunakan format umum sebagai berikut:
namaArray = new tipeData[jumlahElemen];
contoh:
bilangan = new int[10];
Dengan menyebutkan berapa jumlah elemen array yang dibuat. Untuk mendeklarasikan array dengan menyebutkan jumlah elemen yang bisa dimuat dalam array, menggunakan format umum sebagai berikut:
tipeData[] namaVariabel = new tipeData[jumlahElemen];
contoh:
int[] bilangan = new int[10];
Tidak menyebutkan berapa jumlah array tetapi langsung mengisinya dengan elemen-elemen array-nya. Format umumnya adalah sebagai berikut:
tipeData[] namaVariabel = {elemenKe-1, elemenKe-2, elemenKe-3, ..., elemenKe-n}
contoh
int[] bilangan = {9,7,6,3,5}
Perlu diketahui bahwa index array di Java di mulai dari 0, bukan dari 1. Sehingga apabila suatu array mempunyai kapasitas 10 elemen, maka nomor index-nya dimulai dari 0 sampai 9. Kalau array bisa kapasitasnya n elemen, maka nomor index-nya dimulai dari 0 sampai n-1.
Memberikan nilai pada array
Untuk memberikan nilai pada array, dengan cara menyebutkan nomor index-nya. Ingat, bahwa array bisa menampung data lebih dari satu dan setiap elemennya mempunyai nomor index untuk membedakan dengan elemen yang lain. Format umum untuk memberi nilai array pada nomor index tertentu adalah sebagai berikut:
namaArray[nomorIndex] = nilai;
contoh
bilangan[0] = 5;
Maksud dari pernyataan di atas adalah, array dengan nama bilangan pada index ke-0 diisi dengan nilai 5.
contoh lain:
bilangan[1] = 7;
bilangan[2] = 4;
bilangan[3] = 6;
Mengetahui elemen array
Untuk mengetahui elemen array pada index tertentu, maka bisa digunakan format umum sebagai berikut:
namaArray[noIndex];
contoh:
bilangan[3];
misalnya kalau digunakan dalam statement berikut:
System.out.println(bilangan[3])
maka di layar akan ditampi elemen array bilangan pada index ke-3.
Mengetahui kapasita (elemen) array
Untuk mengetahui kapasitas (jumlah) elemen yang bisa ditampung array digunakan method length, bentuk umumnya adalah sebagai berikut:
namaArray.length;
contoh:
bilangan.length;
Contoh program:
//Nama Program: Contoh1.java
public static void main(String[] args) {
  public class Contoh1 {
    bilangan = new int[10];
    int[] bilangan;
    bilangan[0] = 5;
    bilangan[1] = 6;
    bilangan[2] = 9;
    bilangan[3] = 8;
    bilangan[4] = 7;
    bilangan[5] = 2;
    bilangan[6] = 3;
    bilangan[7] = 4;
    bilangan[8] = 1;
    for(int x=0; x < bilangan.length; x++) {
      System.out.println("array index" + "["+ x + "]" + " = " + bilangan[x]);
    }
    System.out.println("kapasitas array = " + bilangan.length);
  }
}
output program:
array index[0] = 5
array index[1] = 6
array index[2] = 9
array index[3] = 8
array index[4] = 7
array index[5] = 2
array index[6] = 3
array index[7] = 4
array index[8] = 1
array index[9] = 0
kapasitas array = 10
Pada program Contoh1.java data array diisi langsung dalam program dengan mengakses masing-masing nomor indeks-nya. Untuk menampilkan datanya menggunakan perulangan for… Array dengan tipe data integer yang pada nomor indeks tertentu  tidak diisi data, akan diisi dengan nilai default 0.
contoh lain:
//Nama Program: Contoh2.java
import javax.swing.JOptionPane;
public class Contoh2 {

  public static void main(String[] args){
    int[] data = new int[5];
    int index;

    for(index=0; index<=data.length-1; index++) {
    data[index] = Integer.parseInt(JOptionPane.showInputDialog("data ke-" + (index+1)));
    }
    for(index=0; index<=data.length-1; index++) {
    System.out.println("data" + "[" + index + "]" + " = " + data[index]);
    }

  }

}
output program:
pengisian data pada nomor indeks ke-0
pengisian data pada nomor indeks ke-0
pengisian data pada nomor indeks ke-2
pengisian data pada nomor indeks ke-3
pengisian data pada nomor indeks ke-4
data[0] = 8
data[1] = 5
data[2] = 9
data[3] = 6
data[4] = 1
Penjelasan:
Pada program Contoh2.java, untuk pengisian elemen data pada indeks tertentu digunakan looping for… dan untuk pengisiannya dilakukan oleh user pada saat menjalankan program. Untuk menampilkan GUI input data digunakan class JOptionPane.showInputDialog(). Setelah semua data di-inputkan maka ditampilkan dalam mode console menggunakan looping for… juga.
//Nama Program: Contoh3.java
import javax.swing.JOptionPane;
public class Contoh3 {

  public static void main(String[] args) {

    int index = 0;
    boolean ada = false;
    int[] data = new int[5];

    data[0] = 1;
    data[1] = 2;
    data[2] = 3;
    data[3] = 4;
    data[4] = 5;

   int cari = Integer.parseInt(JOptionPane.showInputDialog("Cari data = "));
   for(index=0; index<=data.length-1; index++) {
     if(data[index]==cari) {
     ada = true;
     break;
     }
   }

   if (ada == true)
     JOptionPane.showMessageDialog(null,"ada di index data " + "[" + index + "]");
   else
    JOptionPane.showMessageDialog(null,"tidak ada");
  }

}
output program:
input data yang dicari
data ditemukan dalam array di inedeks ke-4
input data yang dicari
dalam array tidak ditemukan data yang dicari (7)
Penjelasan:
Pada program Contoh3.java, Pengisian data array dilakukan langsung dalam program dengan mengakses nomor indeks-nya. Untuk pencarian data digunakan teknik skuensial, yaitu menelurusi satu-persatu data dalam array yang dicocokan dengan data yang dicari, mulai dari indeks ke-0 sampai indeks yang terakhir menggunakan looping for… Data yang dicari di-input-kan oleh user pada saat menjalankan program menggunakan GUI class JOptionPane.showInputDialog(). Jika data yang dicari ditemukan dalam array pada indeks tertentu maka akan ditampilkan pesan “ada di index data[4]“, yang maksudnya adalah data yang dicari ditemukan dalam array dengan nama data pada indeks ke-4. Sebaliknya jika data tidak ditemukan, maka ditampilkan pesan “tidak ada”, maksudnya data tidak ditamukan dalam array tersebut. Untuk menampilkan pesan digunakan class JOptionPane.showMessageDialog.
Unique 1:1 Traffic Exchange

♪ ♥ Ma liste de blogs ♥ ♪

♪ ♥ Please Votes! Thanks. ♪ ♥
×