Saturday, December 21, 2013

Tutorial Membuat Aplikasi Hello World di Windows Phone

Assalamualikum
Aplikasi mobile di 2 tahun terakhir ini mulai banyak, entah itu yang berbasis android, windows phone dll.Di karena sudah berahlikannya ke aplikasi mobile, yang bisa dibilang mobile itu sangat praktis, simple, fleksibel dan aplikasi desktop pun mulai ditinggalkan. Tetapi setiap bahasa pemrograman apapun itu yang pertama kita pelajari adalah menampilkan tulisan Hello World. Nah, kali ini saya akan memberi tau bagaimana cara membuatnya di bahasa pemrograman Windows Phone.

1. Pertama – tama, adalah download Windows Phone SDK atau bisa disini
2. Jika sudah terinstall, buka Microsoft Visual Studio Express 2012 for Windows Phone
3. Kemudian Pilih File > New Project atau tekan Ctrl+Shift+N


4. Lalu Pilih versi target OS Windows Phone > OK


5. Jika sudah, Pilih bahasa pemrograman yang akan digunakan : apakah menggunakan Visual C#, Visual Basic atau Visual C++.
Disini saya menggunakan bahasa pemrograman Visual C#,
lalu Pilih Windows Phone App > Kemudian isi nama project, lokasi penyimpanan project, dan nama solutionnya terserah anda > OK


6. Nah kemudian muncul seperti tampilan di bawah , Jika ingin menambah tulisan Hello World atau yang biasa disebut TextView di android.
Di WP (Windows Phone) disebut dengan Textblock. Penulisan tag – tag code di xaml hampir sama dengan android. Jadi contohnya jika hanya satu objek penulisannya :
<Textblock Text=”Bisa”/>
Text disini adalah atribut yang ada dari Textblock. Jadi tagnya langsungnya langsung ditutup dengan tanda / (slash).
Namun jika ada objek di dalam objek jadi seperti :
<StackPanel>
                <Textblock Text=”Bisa”/>
</Stackpanel>

Nah, jika ingin menambahkan tulisan Hello World :
<Textblock Text=”Hello World”/>

Nanti akan muncul preview di samping kiri coding.


7. Dan langkah terakhir, adalah mari kita debug / running app. Pilih Debug > Start Debugging atau tekan F5.
Hasilnya :


Nah jika ada devicenya tinggal Pilih device. Seperti gambar di bawah



Terima Kasih
Wassalam
Enjoy Explorer

Sunday, April 21, 2013

Cara Membuat Scroll List Menu di Canvas J2ME

Assalamualaikum Wr.Wb.
    Udah lama saya engga posting, iya kali ini mungkin tutorialnya loncat ke J2ME yaitu mengenai bagaimana membuat list menu yang bias di scroll atas bawah (vertical) di canvas J2ME.
Seperti gambar di bawah :


Source Code :
MidletCanvasScrollList.java
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

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


/**
 * @author Muhamad Alief
 */
public class MidletCanvasScrollList extends MIDlet {
    public Display display;
    ListMenu listMenu; 
    
    public MidletCanvasScrollList(){
        listMenu = new ListMenu(this);
        display = Display.getDisplay(this);
    }
    
    public void startApp() {
        if(display == null){
            display = Display.getDisplay(this);
        }
        display.setCurrent(listMenu);
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
    }
    
    public void keluar(){
        destroyApp(true);
        notifyDestroyed();
    }
}


ListMenu.java
import java.io.IOException;
import javax.microedition.lcdui.*;
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Muhamad Alief
 */
public class ListMenu extends Canvas{
    MidletCanvasScrollList midletScrollList;
    Image img;
    private MessageMenuLogic mml = new MessageMenuLogic();
    private int anchor = Graphics.TOP | Graphics.LEFT;
    private String[] mString = {"Indonesia Raya", "Garuda Pancasila", "Satu Nusa Satu Bangsa", "Bangun Pemudi Pemuda", 
                                "Halo - Halo Bandung", "Hari Merdeka", "Berkibarlah Benderaku", 
                                "Bagimu Negri", "Indonesia Pusaka","Pantang Mundur","Syukur",};
    private int y;
    private final int SCRL_BAR_X = 228;
    
    public ListMenu(MidletCanvasScrollList midlet){
        midletScrollList = midlet;
        this.setFullScreenMode(true);
    }
    protected void paint(Graphics g) {
        try {
            img = Image.createImage("/3Tampilan Playlist Lagu.png");
            g.drawImage(img, getWidth()/2, getHeight()/2, Graphics.HCENTER|Graphics.VCENTER);
            Font f = Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, Font.SIZE_LARGE);
            g.setFont(f);
            g.setColor(0xffffff);
            String drwStr = "Playlist";
            int strW = f.stringWidth(drwStr);
            int strH = f.getHeight();
            g.drawString(drwStr,(getWidth()-strW)/2, 22-strH, anchor);
            g.drawString("Keluar",getWidth()-4,getHeight()-2,Graphics.BOTTOM|Graphics.RIGHT);
            g.drawString("Mainkan",4,getHeight()-2,Graphics.BOTTOM|Graphics.LEFT);
            //Garis Underline
            g.setStrokeStyle(Graphics.SOLID);
            g.drawLine(0, 29, getWidth(), 29);
            g.drawLine(0, 30, getWidth(), 30);
            //Scroll bar 
            g.fillRect(SCRL_BAR_X, 50, 8, 220);
            g.setColor(0xb50202);
            g.fillRect(SCRL_BAR_X, mml.getScrlBar(), 8, 120);
            
            g.setColor(0xffffff);
            y = 50;
            for (int i = mml.getStartArr(); i < mml.getEndArr(); i++) {
                if (mml.getCurrentSel() == i) {
                    //Cursor yang berpindah pindah
                    g.setColor(0x504e4e);
                    g.fillRoundRect(3, (y - 2), 220, 30, 10, 10);
                }
                g.setColor(0xffffff);
                g.drawString(mString[i], 10, y+5, anchor);
                y += 32;
            }
            } catch (IOException ex) {
                ex.printStackTrace();
        }
        
    }
    
    protected void keyPressed(int keyCode) {
        String str = getKeyName(keyCode);
        if(keyCode == -7){
            midletScrollList.keluar();
        }
        if(str.equals("Up") || str.equals("UP")) {
            mml.boundaryParam(-1);
            repaint();
        }
        if(str.equals("Down") || str.equals("DOWN")) {
            mml.boundaryParam(1);
            repaint();
        }
    }
    
}


MessageMenuLogic.java
/**
 *
 * @author Muhamad Alief
 */
public class MessageMenuLogic {
    
    private int startArr = 0;
    private int endArr = 7;
    private int currentSel = 0;
    private int scrlBar = 50;           //Merubah ukuran scroll berwarna merah
    
    public void setStartArr(int i)
    {
        startArr = i;
    }
    public int getStartArr()
    {
        return startArr;
    }
    
    public void setEndArr(int i)
    {
        endArr = i;
    }
    public int getEndArr()
    {
        return endArr;
    }
    
    public void setCurrentSel(int i)
    {
        currentSel = i;
    }
    public int getCurrentSel()
    {
        return currentSel;
    }
    private void setScrlBar(int i)
    {
        scrlBar = i;
    }
    public int getScrlBar()
    {
        return scrlBar;
    }
    
    public void boundaryParam(int i)
    {
        switch(i)
        {
            case 1:
                pindahBawah();
                break;
            case -1:
                pindahAtas();
                break;
            default:
                break;
        }
    }
    
    private void pindahAtas()
    {
        if(getCurrentSel()-1 == getStartArr() && getStartArr() > 0)
        {
            setStartArr(getStartArr()-1);
            setEndArr(getStartArr()+7);  //Pertama kali tampil 7 list
            setCurrentSel(getCurrentSel()-1);
            setScrlBar(getScrlBar()-25);           //Ketika scroll merah berada di list paling atas waktu di tekan tombol atas
        }
        else if(getCurrentSel() == getStartArr() && getStartArr() == 0)
        {
            setStartArr(4);         //Sisa list jadi 4,Sebab total = 11 - 7 = 4 
            setEndArr(getStartArr()+7);
            setCurrentSel(getEndArr()-1);
            setScrlBar(150);                        //Ketika scroll merah berada di list paling bawah waktu di tekan tombol atas
        }
        else
        {
            setCurrentSel(getCurrentSel()-1);
        }
    }
    private void pindahBawah()
    {
        if(getCurrentSel()+2 == getEndArr() && getEndArr() < 11)  //Untuk menambahkan/mengurangi list
        {
            setStartArr(getStartArr()+1);
            setEndArr(getStartArr()+7);
            setCurrentSel(getCurrentSel()+1);
            setScrlBar(getScrlBar()+25);        //Ketika scroll merah berada di list paling atas waktu di tekan tombol bawah
        }
        else if(getCurrentSel()+1 == getEndArr() && getEndArr()== 11)
        {
            setStartArr(0);
            setEndArr(getStartArr()+7);
            setCurrentSel(getStartArr());
            setScrlBar(50);                     //Ketika scroll merah berada di list paling bawah waktu di tekan tombol bawah
        }
        else
        {
            setCurrentSel(getCurrentSel()+1);
        }
    }
}

Atau bisa di Download
CanvasScrollList.rar

Terima Kasih
Semoga Bermanfaat
Wa'alaikumsalam Wr.Wb.

Sunday, February 3, 2013

Menggambar menggunakan AWT JAVA

Sebelumnya,kita membahas dulu apa itu AWT ?

Tentang AWT:
Abstract Windowing Toolkit (AWT)
AWT termasuk dari salah satu bagian dari API. Komponen AWT menggunakan native code. AWT menjamin tampilan look and feel pada aplikasi yang dijalankan pada dua mesin yang berbeda menjadi terlihat sama. Swing API dibangun dari beberapa API yang mengimplementasikan beberapa jenis bagian dari AWT. Kesimpulannya, komponen AWT dapat digunakan bersama komponen Swing. AWT termasuk low level artinya punya kendali penuh atas layar dan biasanya AWT digunakan untuk tampilan game .
A. Komponen GUI AWT
     1.    Window Classes Fundamental
Dalam mengembangkan aplikasi GUI, komponen GUI seperti tombol atau textfield diletakkan di dalam kontainer. Berikut ini adalah daftar dari beberapa class penting pada kontainer yang telah disediakan oleh AWT.

a. Komponen
b. Kontainer
c. Panel
d. Window
e. Frame

     2.    Grafik


Source code:

import java.awt.*;

/**
 *
 * @author DELL
 */
public class Menggambar extends Canvas{

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Frame f1 = new Frame();
        f1.setSize(500, 400);
        Menggambar gmbr = new Menggambar();
        f1.add(gmbr);
        f1.setVisible(true);
        f1.setTitle("Pemandangan");
        gmbr.setBackground(Color.gray);
       
    }
   

    public void paint(Graphics g){
       
        //Rumah
        g.setColor(Color.red);
        int c[]={390,470,470,370};
        int d[]={220,220,260,260};
        g.fillPolygon(c, d, 4);
        g.setColor(Color.red);
        g.fillRect(370, 260, 100, 70);
        g.setColor(Color.yellow);
        g.fillOval(400, 290, 5, 5);
        g.fillRect(425, 270, 30, 30);
        g.setColor(Color.white);
        int e[]={390,470,470,370};
        int f[]={220,220,260,260};
        g.drawPolygon(e, f, 4);
        g.drawRect(370, 260, 100, 70);
        g.drawRect(425, 270, 30, 30);
        g.drawLine(440, 270, 440, 300);
        g.drawLine(425, 285, 455, 285);
        g.drawLine(390, 220, 410, 260);
        g.drawLine(410, 260, 410, 330);
       
       
        //Jalan
        g.setColor(Color.black);
        g.drawLine(0, 175, 150, 400);
        g.drawLine(5, 175, 300, 400);
        g.drawLine(25, 200, 35, 210);
        g.drawLine(45, 220, 65, 240);
        g.drawLine(75, 250, 105, 280);
        g.drawLine(115, 290, 155, 330);
        g.drawLine(165, 340, 215, 390);
       
        //Langit
        g.setColor(Color.BLUE);
        g.fillRect(0, 0, 1500, 175);
       
        //Awan
        g.setColor(Color.white);
        g.fillOval(220, 20, 30, 30);
        g.fillOval(230, 10, 30, 30);
        g.fillOval(230, 35, 30, 30);
        g.fillOval(250, 30, 30, 30);
        g.fillOval(240, 15, 30, 30);
        g.fillOval(250, 10, 30, 30);
        g.fillOval(260, 10, 30, 30);
        g.fillOval(270, 25, 30, 30);
       
        //Matahari
        g.setColor(Color.YELLOW);
        g.fillOval(410, 20, 50, 50);
       
        //Gunung
        g.setColor(Color.GREEN);
        int a[]={0,125,250,400,500};
        int b[]={175,100,170,75,175};      
        g.fillPolygon(a, b, 5);
       
        //Android
        //KEPALA
        g.fillOval(290, 265, 35, 35);
        g.setColor(Color.gray);
        g.fillRect(290, 280, 35, 20);
       
        //BADAN
        g.setColor(Color.green);
        g.fillRect(290, 285, 35, 25);
       
        //TANGAN KANAN
        g.fillOval(275, 285, 10, 10);
        g.fillRect(275, 290, 10, 15);
        g.fillOval(275, 300, 10, 10);
       
        //TANGAN KIRI
        g.fillOval(330, 285, 10, 10);
        g.fillRect(330, 290, 10, 15);
        g.fillOval(330, 300, 10, 10);
       
        g.fillOval(295, 300, 10, 10);
        g.fillRect(295, 305, 10, 15);
        g.fillOval(295, 315, 10, 10);
       
        g.fillOval(310, 300, 10, 10);
        g.fillRect(310, 305, 10, 15);
        g.fillOval(310, 315, 10, 10);
       
        //MATA
        g.setColor(Color.white);
        g.fillOval(300, 273, 5, 5);
        g.fillOval(310, 273, 5, 5);
    }
}


Yah,kita langsung aja lihat hasilnya :

Modul JENI

Assalamualaikum Wr.Wb
Alhamdulillah, Kita berjumpa kembali setelah lama tidak memposting.
Kali ini saya akan berbagi Modul JENI J2SE ( Java Desktop ) terutama bagi yang ingin belajar pemrograman JAVA.

PENGENALAN PEMROGRAMAN 1
COVER-Pengenalan Pemrograman 1
JENI-Intro1-Bab01-Pengenalan Pemrograman Komputer
JENI-Intro1-Bab02-Pengenalan Bahasa Java
JENI-Intro1-Bab03-Mengenali Lingkup Pemrograman Anda
JENI-Intro1-Bab04-Dasar-Dasar Pemrograman
JENI-Intro1-Bab05-Mendapatkan Input dari Keyboard
JENI-Intro1-Bab06-Struktur Kontrol
JENI-Intro1-Bab07-Java Array
JENI-Intro1-Bab08-Argumen dari Command-Linei
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library
JENI-Intro1-Bab10-Membuat class sendiri
JENI-Intro1-Bab11-Pewarisan, Polimorfisme, dan Interface
JENI-Intro1-Bab12-Dasar Exception Handling


PENGENALAN PEMROGRAMAN 2
COVER-Pengenalan Pemrograman 2
JENI-Intro2-Bab01-Review Konsep Dasar dalam Java
JENI-Intro2-Bab02-Exception dan Assertion
JENI-Intro2-Bab03-Teknik Pemrograman Lanjut
JENI-Intro2-Bab04-Tour dari Package java.lang
JENI-Intro2-Bab05-Aplikasi berbasis teks
JENI-Intro2-Bab06-Algoritma Sorting
JENI-Intro2-Bab07-Abstract Windowing Toolkit dan Swing
JENI-Intro2-Bab08-GUI Event Handling
JENI-Intro2-Bab09-Threads
JENI-Intro2-Bab10-Jaringan
JENI-Intro2-Bab11-Applet
JENI-Intro2-Bab12-Stream IO Lanjut
JENI-Intro2-Bab13-Pengenalan Generics


TERIMA KASIH
Wa’alaikum salam Wr.Wb

Sunday, October 28, 2012

SQL Join Tabel

Query JOIN pada bahasa SQL berfungsi untuk menggabungkan data dari 2 atau lebih tabel dalam sebuah database. Syntax SQL mempunyai 4 tipe JOIN, yaitu: INNER, OUTER, LEFT, dan RIGHT.

1.Inner Join:
SELECT FROM TabelA INNER JOIN TabelB ON TabelA.Key = TabelB.Key
INNER JOIN hanya akan menampilkan data yang cocok satu sama lain (berpasangan) pada kedua tabel. Diagram Venn-nya adalah sebagai berikut.


2.Outer Join:
Pada dasarnya OUTER JOIN dibagi menjadi 3, FULL OUTER JOIN, LEFT OUTER JOIN, dan RIGHT OUTER JOIN.
a.1.FULL OUTER JOIN
SELECT FROM TabelA FULL OUTER JOIN TabelB ON TabelA.Key = TabelB.Key
FULL OUTER JOIN menghasilkan semua data yang ditemukan dan cocok satu sama lain pada kedua tabel, jika ada yang tidak cocok, bagian yang tidak ada tersebut akan berisi null. Jadi bisa dikatakan FULL OUTER JOIN ini akan menampilkan semua data yang ada di kedua tabel termasuk yang tidak cocok satu sama lain. Diagram Venn-nya adalah sebagai berikut.
a.2.FULL OUTER JOIN dengan klausa WHERE
SELECT FROM TabelA FULL OUTER JOIN TabelB ON TabelA.Key = TabelB.Key WHERE TabelA.Key IS null OR TabelB.Key IS null
Query FULL OUTER JOIN di atas menghasilkan data yang unik (tidak ada yang berpasangan) dari TabelA dan TabelB. Diagram Venn-nya adalah sebagai berikut.
b.1. LEFT OUTER JOIN
SELECT FROM TabelA LEFT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key
LEFT OUTER JOIN menghasilkan semua data yang ada pada TabelA (tabel sebelah kiri), dengan pasangannya (jika ada) pada TabelB (tabel sebelah kanan). Jika pasangannya tidak ditemukan, tabel sebelah kanan akan berisi null. Diagram Venn-nya adalah sebagai berikut.
b.2. LEFT OUTER JOIN dengan klausa WHERE
SELECT FROM TabelA LEFT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key WHERE TabelB.Key IS null
Query LEFT OUTER JOIN di atas menghasilkan data yang hanya ada pada TabelA (tabel sebelah kiri). Diagram Venn-nya adalah sebagai berikut.
c.1. RIGHT OUTER JOIN
SELECT FROM TabelA RIGHT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key
RIGHT OUTER JOIN menghasilkan semua data yang ada pada TabelB (tabel sebelah kanan), dengan pasangannya (jika ada) pada TabelA (tabel sebelah kiri). Jika pasangannya tidak ditemukan, tabel sebelah kanan akan berisi null. Diagram Venn-nya adalah sebagai berikut
c.2. RIGHT OUTER JOIN dengan klausa WHERE
SELECT FROM TabelA RIGHT OUTER JOIN TabelB ON TabelA.Key = TabelB.Key WHERE TabelA.Key IS null
Query RIGHT OUTER JOIN di atas menghasilkan data yang hanya ada pada TabelB (tabel sebelah kanan). Diagram Venn-nya adalah sebagai berikut.