programmer dekil

Rabu, 02 Mei 2012

Flowchart

Flowchart adalah gambaran secara grafis dari sebuah algoritma yang terdiri dari serangkaian simbol-simbol dimana masing-masing simbol merepresentasikan langkah atau kegiatan tertentu. Flowchart membantu untuk menganalisa dan memecahkan suatu permasalahan serta mencari alternatif lain dalam pengoperasiannya.
Flowchart diawali dengan penerimaan input dan diakhiri dengan penampilan output. Flowchart adalah penggambaran secara berurutan tentang :
  1. Pembacaan data
  2. Pemrosesan data
  3. Pengambilan keputusan terhadap data
  4. Penyajian hasil pemrosesan data
Untuk membuat flowchart, ada beberapa pedoman yang harus diperhatikan, antara lain :
  1. Flowchart digambarkan dari atas ke bawah dan dari kiri ke kanan
  2. Aktivitas yang digambarkan harus didefinisikan secara berurutan dan dimengerti oleh pembaca
  3. Awal dan akhir suatu aktivitas harus ditentukan dengan jelas
  4. Setiap aktivitas yang diuraikan harus menggunakan deskripsi kata kerja, misalnya menghitung.
  5. Setiap aktivitas harus berada pada urutan yang benar
  6. Ruang lingkup aktivitas harus ditelusuri secara hati-hati
  7. Simbol konektor harus digunakan untuk menggambarkan alur aktivitas yang dibuat
  8. Menggunaka simbol-simbol flowchart yang standar
Simbol Flowchart


Untuk membuat flowchart mudah dipahami, harus memperhatikan beberapa hal :
  1. Hindari perulangan yang tidak perlu dan logika berbelit-belit
  2. Jalannya proses dari atas ke bawah dan diberikan konektor untuk memperjelas
  3. Harus diawali dengan titik mulai dan diakhiri dengan titik selesai
Contoh dari algoritma pada pembahasan sebelumnya

Algoritma dalam Pemrograman

Algoritma merupakan penghubung antara manusia dengan komputer. Untuk membuat bahasa algoritma dibutuhkan tahapan-tahapan sebagai berikut :
  1. Deklarasi : Mempersiapkan tempat untuk menyimpan sesuatu
  2. Inisialisasi : Mempersiapkan proses yang akan dikerjakan untk menyelesaikan masalah
  3. Proses : Tahapan penyelesaian masalah untuk mencapai tujuan sebuah algoritma
  4. Finalisasi : Tahap akhir untuk membersihkan alokasi tempat yang tidak diperlukan lagi
Pada contoh dibawah akan dijelaskan tentang algoritma bagaimana mencetak kalimat "programmer dekil" sebanyak 5 kali.
  1. Deklarasikan variabel bil
  2. Tentukan nilai awal bil = 1
  3. Cetak "programmer dekil"
  4. Nilai perhitungan bil bertambah satu (bil = bil + 1)
  5. Lakukan proses pengulangan selama bil <= 5
  6. Ulangi langkah 3 sampai bertemu bil = 5

Pengenalan Algoritma

Apa sih yang dimaksud dengan algoritma itu? Secara sederhana algoritma berarti solusi. Dalam hal pemrograman, adalah solusi yang digunakan untuk memecahkan masalah dengan menggunakan komputer. Algoritma dibuat dengan secara berurutan dengan tujuan agar komputer dapat mengerti dan mengeksekusi dengan baik. Untuk mempelajari algoritma dibutuhkan suatu kesabaran dan ketajaman dalam menyelesaikan kasus-kasus dalam algoritma mulai yang sederhana sampai yang rumit sekalipun.

Algoritma bersifat logis. Artinya algoritma disusun dengan menggunakan logika manusia dan kemudian diimplementasikan dengan bahasa pemrograman untuk dieksekusi oleh komputer. Penyusunan algoritma harus dibuat dengan pemikiran yang detail dari proses logika manusia.

Misalkan kita membayangkan secara logika sebuah kamar yang kosong. Kemudian kita isi kamar itu dengan lemari. Dan lemari itu kita isi dengan pakaian. Maka kita harus menyusun sebuah solusi dengan secara berurutan seperti :
  1. Membuka pintu kamar
  2. Memasukkan lemari ke dalam kamar
  3. Memasukkan pakaian yang akan dimasukkan lemari ke dalam kamar
  4. Membuka pintu lemari
  5. Memasukkan pakaian ke dalam lemari
  6. Menutup pintu lemari

Dalam membuat algoritma, segala sesuatu harus dipersiapkan dengan teliti. Dengan memepersiapkan ruang-ruang yang akan digunakan untuk memulai sebuah proses.

Selasa, 01 Mei 2012

J2ME : Gauge

Gauge adalah sejenis progress bar. Jarak rentang dari Gauge mulai dari 0 hingga nilai yang didefinisikan. Jenis Gauge dua yaitu interaktif dan non-interaktif. Gauge interaktif memungkinkan user dapat berinterkasi dengan Gauge menggunakan ItemStateListener. Sedangakan Gauge non-interaktif berfungsi sebagai progress bar biasa.

Gauge (String label, boolean interactive, int maxValue, int initialValue)

Pada Gauge non-interaktif nilai maksimum dapat diatur pada nilai tak terhingga dengan menggunakan konstanta INDEFINITE.


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author programmer dekil
 */

public class Midlet extends MIDlet implements CommandListener{
    private Display display;
    private ChoiceGroup cg1, cg2, cg3;
    private Command cmdKeluar;
    private Command cmdProses;
    private Form form;
    private Alert pesan;
    private Gauge proses;
   
    public Midlet() {
        form = new Form("Lowongan");
        cmdKeluar = new Command("Keluar", Command.EXIT, 0);
        cmdProses = new Command("Proses", Command.OK, 1);
        cg1 = new ChoiceGroup("Posisi", Choice.MULTIPLE);
        cg2 = new ChoiceGroup("Pendidikan", Choice.EXCLUSIVE);
        cg3 = new ChoiceGroup("Tanggal Lahir", Choice.POPUP);
        proses = new Gauge(null, false, Gauge.INDEFINITE,
        Gauge.CONTINUOUS_RUNNING);
    }
   
    public void addPosisi() {
        cg1.append("Programmer", null);
        cg1.append("System Analist", null);
        cg1.append("GUI Desaingner", null);
        cg1.append("Technical Support", null);
        form.append(cg1);
    }
   
    public void addPend() {
        cg2.append("D3 Informatika", null);
        cg2.append("S1 Informatika", null);
        cg2.append("S2 Teknik", null);
        form.append(cg2);
    }
   
    public void addTgl() {
        cg3.append("1", null);
        cg3.append("2", null);
        cg3.append("3", null);
        cg3.append("4", null);
        cg3.append("5", null);
        cg3.append("6", null);
        cg3.append("7", null);
        cg3.append("8", null);
        cg3.append("9", null);
        cg3.append("10", null);
        cg3.append("11", null);
        cg3.append("12", null);
        form.append(cg3);
    }
   
    public void alertShow() {
        pesan = new Alert("Informasi", "Data Anda Sedang di
        Proses", null, AlertType.INFO);
        pesan.setIndicator(proses);
        pesan.setTimeout(5000);
        display.setCurrent(pesan, form);
    }

    public void startApp() {
        display = Display.getDisplay(this);
        addPosisi();
        addPend();
        addTgl();
        form.addCommand(cmdKeluar);
        form.addCommand(cmdProses);
        form.setCommandListener(this);
        display.setCurrent(form);
       
    }
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void commandAction(Command c, Displayable d) {
        if (d == form){
            if (c == cmdKeluar){
                destroyApp(true);
            } else if (c == cmdProses) {
                alertShow();
            }
       }
    }
}

J2ME : Alert

Alert digunakan untuk menampilkan informasi yang perlu diberitahukan kepada pengguna. Alert bisa berisi String, Image, atau Command. Alert memiliki atribut timeout, sehingga bisa ditentukan berapa lama Alert akan ditampilkan. Alert juga memiliki beberapa type, antara lain : ALARM, CONFIRMATION, ERROR, INFO, dan WARNING.



import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author programmer dekil
 */

public class Midlet extends MIDlet implements CommandListener{
    private Display display;
    private ChoiceGroup cg1, cg2, cg3;
    private Command cmdKeluar;
    private Command cmdProses;
    private Form form;
    private Alert pesan;
   
    public Midlet() {
        form = new Form("Lowongan");
        cmdKeluar = new Command("Keluar", Command.EXIT, 0);
        cmdProses = new Command("Proses", Command.OK, 1);
        cg1 = new ChoiceGroup("Posisi", Choice.MULTIPLE);
        cg2 = new ChoiceGroup("Pendidikan", Choice.EXCLUSIVE);
        cg3 = new ChoiceGroup("Tanggal Lahir", Choice.POPUP);
    }
   
    public void addPosisi() {
        cg1.append("Programmer", null);
        cg1.append("System Analist", null);
        cg1.append("GUI Desaingner", null);
        cg1.append("Technical Support", null);
        form.append(cg1);
    }
   
    public void addPend() {
        cg2.append("D3 Informatika", null);
        cg2.append("S1 Informatika", null);
        cg2.append("S2 Teknik", null);
        form.append(cg2);
    }
   
    public void addTgl() {
        cg3.append("1", null);
        cg3.append("2", null);
        cg3.append("3", null);
        cg3.append("4", null);
        cg3.append("5", null);
        cg3.append("6", null);
        cg3.append("7", null);
        cg3.append("8", null);
        cg3.append("9", null);
        cg3.append("10", null);
        cg3.append("11", null);
        cg3.append("12", null);
        form.append(cg3);
    }
   
    public void alertShow() {
        pesan = new Alert("Informasi", "Data Anda Sedang di Proses", null, AlertType.INFO);
        pesan.setTimeout(5000);
        display.setCurrent(pesan, form);
    }

    public void startApp() {
        display = Display.getDisplay(this);
        addPosisi();
        addPend();
        addTgl();
        form.addCommand(cmdKeluar);
        form.addCommand(cmdProses);
        form.setCommandListener(this);
        display.setCurrent(form);
       
    }
   
    public void pauseApp() {
    }
   
    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void commandAction(Command c, Displayable d) {
        if (d == form){
            if (c == cmdKeluar){
                destroyApp(true);
            } else if (c == cmdProses) {
                alertShow();
            }
       }
    }
}

J2ME : Choice Group

ChoiceGroup menampilkan daftar elemen seperti List. ChoiceGroup memungkinkan memilih lebih dari satu elemen. Tiap elemen dapat diasosiasikan dengan gambar tertentu. Bentuk ChoiceGroup biasanya adalah RadioButton atau Checkbox. Untuk memasukkan elemen ke dalam ChoiceGroup menggunakan metode :

int append(String stringPart, Image imagePart)

Jika hanya ingin menampilkan satu elemen saja pada layar bisa menggunakan mode POPUP. Elemen lain akan diperlihatkan apabila user ingin memilih elemen lain.



import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

/**
 * @author programmer dekil
 */

public class Midlet extends MIDlet implements CommandListener{
    private Display display;
    private ChoiceGroup cg1, cg2, cg3;
    private Command cmdKeluar;
    private Command cmdProses;
    private Form form;
  
    public Midlet() {
        form = new Form("Lowongan");
        cmdKeluar = new Command("Keluar", Command.EXIT, 0);
        cmdProses = new Command("Proses", Command.OK, 1);
        cg1 = new ChoiceGroup("Posisi", Choice.MULTIPLE);
        cg2 = new ChoiceGroup("Pendidikan", Choice.EXCLUSIVE);
        cg3 = new ChoiceGroup("Tanggal Lahir", Choice.POPUP);
    }
  
    public void addPosisi() {
        cg1.append("Programmer", null);
        cg1.append("System Analist", null);
        cg1.append("GUI Desaingner", null);
        cg1.append("Technical Support", null);
        form.append(cg1);
    }
  
    public void addPend() {
        cg2.append("D3 Informatika", null);
        cg2.append("S1 Informatika", null);
        cg2.append("S2 Teknik", null);
        form.append(cg2);
    }
  
    public void addTgl() {
        cg3.append("1", null);
        cg3.append("2", null);
        cg3.append("3", null);
        cg3.append("4", null);
        cg3.append("5", null);
        cg3.append("6", null);
        cg3.append("7", null);
        cg3.append("8", null);
        cg3.append("9", null);
        cg3.append("10", null);
        cg3.append("11", null);
        cg3.append("12", null);
        form.append(cg3);
    }

    public void startApp() {
        display = Display.getDisplay(this);
        addPosisi();
        addPend();
        addTgl();
        form.addCommand(cmdKeluar);
        form.addCommand(cmdProses);
        display.setCurrent(form);
    }
  
    public void pauseApp() {
    }
  
    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void commandAction(Command c, Displayable d) {
       if (c == cmdKeluar){
           destroyApp(true);
       }
    }
}



 

Blogroll

Cobalah WAZZUB. Gratis dan Menguntungkan. Gak Ada Salahnya kan buat nyoba?! Klik Link di Bawah Untuk Daftar
Daftar WAZZUB Gratis Selamanya
Diberdayakan oleh Blogger.