Showing posts with label aplikasi. Show all posts
Showing posts with label aplikasi. Show all posts
Thursday, November 10, 2016
5 aplikasi sulap membuat game
5 aplikasi sulap membuat game
Membuat games memang bukan hal yang mudah. Kamu membutuhkan pengetahuan yang baik tentang bahasa pemrograman untuk membuat suatu game, lalu desain gambar yang akan kamu gunakan, ditambah lagi musik/sound effect sebagai pelengkap game kamu. Wah, pusing ya?
Untungnya sekarang ini segala sesuatunya jauh dipermudah, ada beragam aplikasi yang bisa kamu gunakan untuk membuat games di iDevices (iPhone, iPad, iPod) kamu tanpa membutuhkan skill coding. Saya sendiri mencatat setidaknya ada 5 aplikasi pembuat game sederhana yang bisa kamu coba. Langsung saja, kita simak ke-5 aplikasi berikut.
1 GamePress - Create, Share, Play by UntitledD
GamePress adalah aplikasi pembuat game 2D di iPad yang cukup lengkap bagi saya. Kamu memang tidak membutuhkan skill coding di sini. Sebagai gantinya kamu harus paham dan mengerti tentang logic. Setiap objek di sini belum memiliki behaviour/ fungsi. Artinya kamu harus menambahkan fungsi untuk setiap objek yang ada. Misalnya: membuat koin pick up menghilang setelah di ambil atau membuat karakter kita kehilangan satu nyawa saat terserang musuh.
Untungnya untuk melakukan setiap hal tersebut tidaklah terlalu sulit dengan menggunakan aplikasi ini. Interaktif tutorial yang diberikan cukup jelas, belum lagi terdapat banyak video tutorial yang bisa kamu tonton untuk membuat kamu mahir dalam menggunakan aplikasi ini. O ya, aplikasi ini juga tersedia secara gratis. Kamu bisa menggunakannya sebagai langkah awal untuk belajar membuat suatu game 2D sederhana.
2 Createrria craft your games by Incuvo
Createrria merupakan aplikasi pembuat game platformer tanpa koding yang sudah pernah saya bahas beberapa bulan lalu. Creatteria terdiri dari 2 fitur utama, di mana kamu bisa Play (bermain) maupun Create (mendesain game sendiri). Tenang, kamu tidak perlu cemas dengan yang namanya logic di sini, karena setiap objek yang ada sudah memiliki behaviournya masing-masing. Createrria adalah aplikasi yang tepat bagi kamu yang ingin mencoba mengasah kreativitas dalam merancang suatu level (level designing).
3 Sketch Nation Studio by Engineous Games Inc
Sketch Nation Studio adalah aplikasi yang menggunakan sketch/coretan karya kamu sendiri sebagai object utama pembuat game. Mulai dari karakter pemainnya hingga background. Kamu bebas berkreasi di sini, kamu bisa menggambar objek-objek secara langsung melalui iDevice kamu atau menggambarnya lebih dulu di kertas lalu memfotonya. Membuat game seperti doodle jump, jetpack joyride, dan endless game lainnya bukanlah perkara yang sulit lagi. Kreativitas dan coretan kamulah yang paling berperan di sini.
4 Pixel Press (Coming Soon December 2013)
Di antara yang lainnya, Pixel Press mungkin adalah aplikasi pembuat game paling ajaib di mata saya. Mengapa? Saya sendiri memang belum pernah mencobanya secara langsung. Namun berdasarkan preview yang dibuat oleh Hendri beberapa bulan yang lalu, kamu bisa melihat bahwa untuk membuat suatu game, aplikasi ini hanya memerlukan 4 langkah saja.
Pertama, gambar sketsa di kertas kit yang sudah dirancang khusus. Kedua, ambil foto dari kertas gambar kamu itu. Langkah ketiga, desain game kamu sedemikian rupa agar terlihat menarik dan terakhir mainkan dan bagikan ke teman-teman kamu. Rencananya aplikasi ini akan rilis di App Store pada bulan Desember 2013 seharga $10. Cukup mahal memang, namun saya rasa itu akan sebanding dengan pengalaman bermain yang diberikan. Jika kamu tertarik membelinya, kamu bisa mulai menabung dari sekarang
5 Game Tracer by Rock Pocket AS
Game Tracer adalah aplikasi pembuat game platformer bergrafis 3D. Sayangnya kustomisasi dan fitur-fitur yang disajikan di dalamnya kurang begitu banyak. Pilihan-pilihan di dalamnya tergolong biasa dan standar. Terdapat 1 slot gratis yang bisa kamu gunakan untuk membuat game. Jika kamu ingin membuat game lebih banyak lagi, kamu bisa upgrade ke fitur premium untuk membuka NPC dan 3 tema lainnya seharga Rp 39.000.
Go to link download
Tuesday, September 13, 2016
contoh aplikasi sederhana php dengan mysql
contoh aplikasi sederhana php dengan mysql
Alur 1 - Membuat Daftar Buku
Semua skrip yang digunakan untuk menampilkan data buku disimpan pada file list.php. Dua langkah dalam menampilkan daftar buku, pertama mengambil data yang tersimpan di dalam database, selanjutnya menampilkan dalam bentuk HTML.
Berikut pengkodean untuk mengambil data daftar buku yang tersimpan dalam database:
mysql_connect(localhost, root, );
mysql_select_db(bookstore);
$result = mysql_query("SELECT * FROM books");
Pada baris pertama, fungsi mysql_connect() melakukan koneksi ke MySQL dan dilanjutkan dengan baris berikutnya memilih database bookstore dengan menggunakan fungsi mysql_select_db(). Ketika koneksi ke MySQL dan memilih database berhasil, dengan menggunakan perintah "SELECT" untuk mengambil data dari tabel "books" dan hasil dari query yang dilakukan fungsi mysql_query() dimasukkan ke dalam variabel $result.
Selanjutnya, data yang diambil dari kode di atas kemudian ditampilkan dalam bentuk HTML. Berikut kode untuk menampilkan data daftar buku:
echo "<h1>Books List</h1>";
echo "<ul>";
while($data = mysql_fetch_array($result)) {
echo "<li>$data[book_name] : Rp. $data[book_price]</li>";
}
echo "</ul>";
Fungsi echo digunakan untuk menampilkan keluaran dalam bentuk HTML. Struktur kendali perulangan while digunakan untuk melakukan perulangan dari data-data yang berhasil diperoleh dari query sebelumnya. Fungsi mysql_fetch_array() digunakan untuk mengambil data dari variabel $result yang dikembalikan dalam bentuk array.
Secara utuh, skrip file list.php adalah sebagai berikut:
- list.php
<html>
<head>
<title>Book Store</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
// koneksi ke database
mysql_connect(localhost, root, );
// pilih database
mysql_select_db(bookstore);
// melakukan query
$result = mysql_query("SELECT * FROM books");
// menampilkan ke browser
echo "<h1>Books List</h1>";
echo "<ul>";
// mengambil data
while($data = mysql_fetch_array($result)) {
echo "<li>$data[book_name] : Rp. $data[book_price]</li>";
}
echo "</ul>";
?>
<a href="order.php">[order]</a>
</body>
<html>
Alur 2 - Membuat Form Order
Pada bagian ini sebenarnya hanya menampilkan bentuk form order yang terdiri dari sintak HTML. Hanya saja, option di dalam tag select membutuhkan data-data dari tabel books, dan memerlukan perintah PHP untuk melakukan pengambilan tersebut. Form order disimpan dengan nama file order.php
Berikut kode form order:
<form method="post" action="order_process.php">
<p>
Nama: <br />
<input type="text" name="nama">
</p>
<p>
Alamat: <br />
<textarea name="alamat"></textarea>
</p>
<p>
Buku: <br />
<select name="buku">
<?php
// mengambil data dari tabel books
?>
</select>
</p>
<p>
Jumlah: <br />
<input type="text" name="jumlah" size="5">
</p>
<p>
<input type="submit" value="Beli" class="button">
</p>
</form>
Pada bagian pemilihan buku, sintak pengambilan datanya ditambahkan menjadi sebagai berikut:
<p>
Buku: <br />
<select name="buku">
<?php
mysql_connect(localhost, root, );
mysql_select_db(bookstore);
$result = mysql_query("SELECT * FROM books");
while($data = mysql_fetch_array($result)) {
echo "<option value=$data[book_id]>$data[book_name] : Rp. $data[book_price]</option>";
}
?>
</select>
</p>
Secara lengkap kode form order sebagai berikut:
- order.php
<html>
<head>
<title>Book Store</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<h1>Order</h1>
<form method="post" action="order_process.php">
<p>
Nama: <br />
<input type="text" name="nama">
</p>
<p>
Alamat: <br />
<textarea name="alamat"></textarea>
</p>
<p>
Buku: <br />
<select name="buku">
<?php
// koneksi ke database
mysql_connect(localhost, root, );
// pilih database
mysql_select_db(bookstore);
// melakukan query
$result = mysql_query("SELECT * FROM books");
while($data = mysql_fetch_array($result)) {
echo "<option value=$data[book_id]>$data[book_name] : Rp. $data[book_price]</option>";
}
?>
</select>
</p>
<p>
Jumlah: <br />
<input type="text" name="jumlah" size="5">
</p>
<p>
<input type="submit" value="Beli" class="button">
</p>
</form>
</body>
<html>
Alur 3 - Membuat Proses Order
Seperti yang telah didefinisikan melalui attribut "action" yang ada di tag "form" untuk order di atas, file php yang digunakan adalah order_process.php. Begitu pula dengan metode pengiriman yang didefinisikan dari attribut "method" pada tag "form", metode post digunakan sebagai pengirimannya, dan PHP mengambil data dengan menggunakan variabel global $_POST untuk mengambil data tersebut.
Berikut kode pengambilan data dengan $_POST:
$nama = $_POST[nama];
$alamat = $_POST[alamat];
$buku = $_POST[buku];
$jumlah = $_POST[jumlah];
Setiap order yang dilakukan oleh pengunjung disimpan ke dalam tabel "orders", berikut adalah sintak untuk memasukkan data ke dalam tabel orders:
mysql_connect(localhost, root, );
mysql_select_db(bookstore);
mysql_query("INSERT INTO orders (order_name, order_address, book_id, order_amount)
VALUES ($nama, $alamat, $buku, $jumlah)");
Cara memasukkan data hampir sama dengan pengambilan data pada kode-kode sebelumnya, yaitu melakukan koneksi ke MySQL dan memilih database, hanya saja perintah SQL yang digunakan adalah "INSERT" pada fungsi mysql_query().
Langkah terakhir adalah menampilkan konfirmasi order dengan menggunakan fungsi echo. Tetapi, sebelum menampilkan konfirmasi order, perlu diperhatikan bahwa variabel $buku yang dikirim berisikan ID Buku, maka untuk memperoleh informasi nama buku dan harganya dibutuhkan pengambilan data dari tabel books sebelum diolah menjadi tampilan konfirmasi order. Berikut sintaknya:
// mengambil data dari tabel books
$result = mysql_query("SELECT * FROM books WHERE book_id = $buku");
$data = mysql_fetch_array($result);
$total = $jumlah * $data[book_price];
// menampilkan konfirmasi order
echo "<h2>Terima kasih !!</h2>";
echo "<p>Anda telah berhasil melakukan pembelian, berikut data pembelian Anda:</p>";
echo "<p>Nama : $nama</p>";
echo "<p>Alamat : $alamat</p>";
echo "<p>Buku : $data[book_name]</p>";
echo "<p>Harga : $jumlah x $data[book_price] = $total</p>";
Kode lengkap memproses order sebagai berikut:
- order_process.php
<html>
<head>
<title>Book Store</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php
// mengambil data yang telah di submit
$nama = $_POST[nama];
$alamat = $_POST[alamat];
$buku = $_POST[buku];
$jumlah = $_POST[jumlah];
// koneksi ke database
mysql_connect(localhost, root, );
// pilih database
mysql_select_db(bookstore);
// memasukkan data ke dalam tabel orders
mysql_query("INSERT INTO orders (order_name, order_address, book_id, order_amount)
VALUES ($nama, $alamat, $buku, $jumlah)");
// mengambil data dari tabel books
$result = mysql_query("SELECT * FROM books WHERE book_id = $buku");
$data = mysql_fetch_array($result);
$total = $jumlah * $data[book_price];
// menampilkan konfirmasi order
echo "<h2>Terima kasih !!</h2>";
echo "<p>Anda telah berhasil melakukan pembelian, berikut data pembelian Anda:</p>";
echo "<p>Nama : $nama</p>";
echo "<p>Alamat : $alamat</p>";
echo "<p>Buku : $data[book_name]</p>";
echo "<p>Harga : $jumlah x $data[book_price] = $total</p>";
?>
</body>
<html>
Merapihkan Halaman Web
Langkah terakhir adalah merapihkan tampilan web dengan CSS. File yang berisikan kode-kode CSS disimpan dengan nama file style.css. Berikut adalah isi dari kode CSS:
- style.css
body {
font-family: Arial, Helvetica, sans-serif;
font-size: 9pt;
}
h1 {
font-size: 11pt;
padding-left: 20px;
background: url(images/cart.png) no-repeat;
}
h2 {
font-size: 11pt;
padding-leftGo to link download
Monday, September 5, 2016
aplikasi membuat game dengan mudah
aplikasi membuat game dengan mudah
1. PuzzleScript
PuzzleScript is a free, open-source game engine designed to help you make tile-based puzzle games. It was developed in HTML5, so you can run the tool right in your browser and play the games right in your browser. While its IDE-like interface may seem imposing to non-programmers, its actually quite straightforward and simple to learn.
Increpare, an influential game designer and the creator of PuzzleScript, has put together a handy beginners tutorial here, as well as a more advanced document here. Not feeling inspired? Check out some of the awesome games that have been made with this tool so far!
2. GameMaker
You have a couple options with GameMaker. You can download GameMaker 8.1 and use either the free version or pay $39.99 for the Pro version on Windows, or $19.99 for the Pro version on Mac. Or you can download the free version of GameMaker: Studio or dish out ridiculous amounts of money for the Standard, Professional and Master versions. This list is about free tools, though, so lets talk about the free versions.
First of all, most people know about GameMaker already. Its a prominent game creation tool by YoYoGames, with drag-and-drop options and other easy-to-use features for non-programmers, as well as a built-in scripting language for people with a little more experience. The original, freeware version of Spelunky, as well as Hotline Miami, were developed in GameMaker, so despite seeming like a simple tool, its possibilities are vast.
The issue with the Lite and Pro versions of GameMaker 8.1 is YoYoGames will no longer be updating them as theyve shifted their focus to Studio. However, the limitations on Lite vs. the limitations on the free version of Studio are very different. Lite limits your use of certain advanced functions, like 3D, blending, data structures, etc. There will also be a watermark on your game. The free version of Studio, however, limits your use of resources, like objects, rooms, sprites, sound files, etc. Which one you use depends entirely on your priorities.
3. Construct 2
Construct 2 is similar to GameMaker, but arguably even easier to use if youre a non-programmer. A lot of basic coding lingo used in GameMakers drag-and-drop features is replaced in favor of more straightforward terminology, plus it comes with a lot of simplified visual effects! There are two paid versions, with the free version coming with some limits and restrictions, which you can read more about here. Besides that, its a handy tool and a great alternative to GameMaker.
4. Stencyl
Stencyl is cool because it allows you to design games easily, while learning some basic programming logic in the process. By utilizing drag-and-drop within a snappable, block-based environment, Stencyl enables you to code events without actually writing any code, while still allowing you to visualize your games logic. Learn more here!
5. Twine
Unlike the previous tools Ive talked about here, Twines focus is on creating hypertext-based interactive fiction games. Twine games are saved as HTML files and use hyperlinks to connect various scenes and other segments of the game together, rather than relying on a text parser system, as in traditional, text-based adventure games. This, coupled with the intuitive graphical interface that allows you to map out scenes in a web-like environment, makes Twine really easy to learn and use. Anna Anthropy has a great beginners tutorial located here.
The kinds of games produced by Twine have often been compared to Choose Your Own Adventure books, but because of the tools ability to track variables, player-inputted text, use a variety of unique components, plug-ins and more, the possibilities are really quite vast.
Some of my favorites include Conversations With My Mother by Merritt Kopas, Even Cowgirls Bleed by Christine Love and Panic! by Astrid Bin.
6. Inform 7
Inform is a programming language designed to create player-inputted, command-based interactive fiction. The latest version, Inform 7, comes with its own IDE, library and compiler, all of which you can download here. Inform is unique because it bases its logic off the vocabulary and syntax of natural language, making it relatively easy to comprehend for beginning programmers.
For instance, you could type, Forest is a room, which will create Forest as a location in your game world. Then you could type, Cabin is north of forest, creating a new location in relation to another. This will connect Cabin to Forest with the user-input command north or go north. Of course, things get a little more complicated from there, but overall, the language is far more accessible than most when it comes to writing interactive fiction.
A list of resources and tutorials can be found here. I would recommend the Creating Interactive Fiction with Inform 7 textbook by Aaron Reed.
7. RenPy
RenPy is a free and open source visual novel engine that allows users to combine images, text and sound to create interactive simulation games. A lot of dating sims are made using the visual novel format, but it doesnt have to be limited to just that.
This software is good for beginners because of its super simple scripting language, but it also allows more experienced coders to write games in Python.
Katawa Shoujo is an example of a popular game built in RenPy.
8. Adventure Game Studio
Adventure Game Studio is aimed at more intermediate developers, allowing users to create their own point-and-click or keyboard-controlled adventure games. A lot of popular indie games have been created using this software, including the Blackwell series and Gemini Rue.
9. FlashPunk & Flixel
Why pay for Adobes expensive Flash suite when you can just use these free, open-source ActionScript 3 libraries? FlashPunk and Flixel arent game-making tools like the rest of the applications on this list, but they are great if youre looking to create 2D Flash games and have some experience in object-oriented programming. FlashPunk in particular is based on the GML library, making it a smooth transition point for people looking to break away from GameMaker.
Of course, to make use of these libraries, youll need to download a separate IDE to work in.FlashDevelop is a free and open-source code editor recommended by the developers of both FlashPunk and Flixel. The two have compiled a great list of resources, tutorials and other information here to help you get started.
10. Unity
Like GameMaker, including Unity on this list was an obvious choice. Unity is a game engine that supports development across an impressive range of platforms, making it one of the most popular game development tools right now. It comes with a built-in IDE, is useful for making both 3D and 2D games and has a huge asset store available.
One downside to Unity is that its free as long as youre not using it for a hefty commercial gain. If your annual gross income exceeds $100,000, youre required to buy a Unity Pro license for $1,500. The Pro version does come with some additional features, though!
11. RPG Maker XP
Whoa! You said there were only ten things on this list!
Well, technically, I said there were ten free things on this list
even though I did go over that by including FlashPunk and Flixel, but I dont care. Who complains about getting more than they expected?
RPG Maker isnt free, even though [SECRET]most people I know who use it didnt exactly pay for it.[/SECRET]
Im not encouraging piracy here, but I just couldnt let this list be completed without RPG Maker XP. RPG Maker 98 and XP were my first game-making tools growing up, and I love, love love them. Theres a free trial for RPG Maker XP you can install here, or you can dish out the $30 to buy it here.
I havent heard the best things about RPG Maker VX, but it is their newest product, so theres that too
Go to link download
Wednesday, August 24, 2016
Aplikasi Pembelian Tiket dengan java
Aplikasi Pembelian Tiket dengan java
Dalam tutorial kali ini akan membahas masalah pembuatan aplikasi dengan studi kasus Aplikasi Pembelian Tiket Bola Stadion Sebelah Ngarep.
Desain Program
Aplikasi pembelian tiket bola stadion sebelah ngarep dengan interface sebagai berikut:
Tampilan Awal

Terdiri dari komponen 1 buah jMenuBar dengan 7 buah jMenuItem, 7 buah jLabel, 5 buah jTextField, 1 buah jComboBox, 4 buah jButton, 1 buah jScrollPane dan 1 buah jTable.
Tampilan About
.png)
Pada desain tampilan about ini menggunakan 8 buah jLabel, 1 buah jSeparator dan 1 buah jButton. Untuk gambar diatas menggunakan komponen jLabel dengan pengaturan properties iconnya.
Tampilan Database
Pada gambar dibawah ini adalah desain atau interface dari database Microsoft Access:
.png)
Terdiri dari 6 buah field yaitu no_id (text), nama (text), jenistiket (text), harga (currency), banyak (number), totalbayar(currency) dengan primary key no_id.
Analisa Script
Berikut ini script pada jFrame utama:
package tiketbola; import javax.swing.*; import java.sql.*; import java.text.DecimalFormat; import javax.swing.table.*;
Analisa: Pada baris 18-21 merupakan script pengimportan yaitu swing untuk komponen jOptionPane, sql untuk database accdb, text.decimalFormat untuk format desimal dan swing.table untuk jTable.public class transaksitiket extends javax.swing.JFrame { String no_id,nama,jenistiket,harga,banyak,totalbayar,totbayar1; int totbayar, harga1, bayar1; DefaultTableModel tabMode; Connection con;
Analisa: Pada kode program ini merupakan pendeklarasian variabel yang terdiri dari string, integer, defaultTableModel dan connection.
public transaksitiket() { initComponents(); setTitle("PEMBELIAN TIKET BOLA STADION SEBELAH NGAREP"); Object[] row= {"No.Id","Nama", "Tiket","Harga","Banyak","Total Bayar"}; tabMode=new DefaultTableModel(null,row); jTable1.setModel(tabMode); jScrollPane1.getViewport().add(jTable1,null); }
Analisa: Pada kode program ini adalah sebuah method bernama transaksitiket yang berisi penamaan title program pada baris ke-30, penamaan field pada table pada baris ke 31-34 dan pada baris ke-35 pemasukkan jTable ke dalam jScrollPane yang berfungsi apabila banyak data yang ada maka jScrollPane akan membantu supaya table tidak kepanjangan dengan cara scroll.
public void konekdatabase(){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:aksestiketbola;uid=admin;pw=admin"); } catch (Exception e) { System.err.println("Exception: "+e.getMessage()); } }
Analisa: Pada method konekdatabase ini berfungsi untuk menghubungkan database microsoft access yang telah dibuat pada java netbeans. Dengan nama koneksi aksestiketbola, username:admin dan password:admin.
public void hapustabel(){ int row=tabMode.getRowCount(); for(int i=0;i<row;i++){ tabMode.removeRow(0); } }
Analisa: Pada method hapustabel ini merupakan pendeklarasian atau validasi pada jTable yang baris kolom memiliki nilai awal 0 dan ditambah terus i++.
public void tampildataketabel(){ hapustabel(); try{ String sql="Select * from datatiketbola ORDER BY no_id DESC"; Statement stat=con.createStatement(); ResultSet set=stat.executeQuery(sql); while (set.next()){ no_id=set.getString("no_id"); nama=set.getString("nama"); jenistiket=set.getString("jenistiket"); harga=set.getString("harga"); banyak=set.getString("banyak"); totalbayar=set.getString("totalbayar"); String[] data={no_id,nama,jenistiket,harga,banyak,totalbayar}; tabMode.addRow(data); } } catch(Exception e){ } }
Analisa: Pada method tampildatatabel ini memanggil method hapustabel untuk memberi nilai awal, kemudian terdapat struktur kontrol try...catch. Variabel sql bernilai string yang berisi perintah query membaca isi database tabel datatiketbola yang berformat Descending pada no_id yang berarti data yang paling besar/akhir akan berada diatas.
Untuk catch(exception e) merupakan pencetakan kesalahan saja.
public void simpandata(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); try{ konekdatabase(); Statement statement=con.createStatement(); String sql="insert into datatiketbola values ("+no_id+","+nama+ "," + ""+jenistiket+","+harga+","+banyak+","+totalbayar+");"; statement.executeUpdate(sql); statement.close(); } catch (Exception e){ } }
Analisa: Pada method simpandata ini berisi pembacaan jTextField dari baris 78-83 yang akan dimasukkan kedalam database pada baris ke-87 dengan perintah query insert into datatiketbola values.
public void data(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); }
Analisa: Pada method data ini merupakan pendeklarasian nilai saja. Contoh: variable no_id berisi nilai yang ada pada txnoid yang merupakan komponen jTextField.
public void hargatiket(){ //create method gajipokok int pilihan=cbtiket.getSelectedIndex(); switch(pilihan){ case 0: txharga.setText(""); break; case 1: txharga.setText("75000"); break; case 2: txharga.setText("50000"); break; case 3: txharga.setText("25000"); break; } }
Analisa: Pada method hargatiket ini merupakan pengesetan nilai item pada jComboBox (cbtiket). Pendeklarasian variabel pilihan yang bernilai integer. Kemudian pada baris 108-120 menggunakan struktur kontrol switch yang digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika option yang sama dengan nilai variabel, maka statement-statement di bawah option tersebutlah yang akan dijalankan.
public void total(){ harga1=Integer.parseInt(txharga.getText()); bayar1=Integer.parseInt(txbanyak.getText()); totbayar=harga1*bayar1; DecimalFormat f=new DecimalFormat("#.#"); totbayar1=String.valueOf(f.format(totbayar)); txbayar.setText(totbayar1); }
Analisa: Pada method total ini berisi perhitungan aritmatika yang berfungsi menampilkan nilai jumlah dari txharga*txbanyak kemudian hasil nilainya akan ditampilkan pada txbayar dengan format desimal 1 angka di belakang koma.
public void bersih(){ txnoid.setText(""); txnama.setText(""); txharga.setText(""); txbanyak.setText(""); txbayar.setText(""); }
Analisa: Pada method bersih ini berfungsi untuk mengeset nilai kosong pada semua jTextField.
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: konekdatabase(); tampildataketabel(); }
Analisa: Pada kode program di atas yang ditanamkan didalam jButton2 dengan event clicked memanggil method konekdatabase dan tampildataketabel. Pemanggilan method konekdatabase agar file database dapat terbaca dengan koneksi yang sudah ada. Kemudian method tampildataketable berfungsi untuk memanggil isi tabel dengan perintah query select *from datatiketbola.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")||nama.equals("")||jenistiket.equals("Pilih Tiket")|| harga.equals("")||banyak.equals("")||totalbayar.equals("")) { JOptionPane.showMessageDialog(null, "ada data yg belum dimasukkan, periksa kembali!"); } else{ simpandata(); bersih(); tampildataketabel(); JOptionPane.showMessageDialog(null, "Data sudah masuk. Terima kasih!"); } }
Analisa: Pada event clicked yang berada di jButton1 ini memanggil method konekdatabase untuk menghubungkan database ke program dan method data untuk memanggil nilai variabel. Pada baris ke 442-453 berisi struktur kontrol if...else yang bermaksut jika nilai no_id, nama, jenistiket, harga, banyak dan total bayar berisi nol atau pilih paket maka akan tampil jOptionpane yang berisi ada data yang belum dimasukkan, periksa kembali. Sedangkan apabila semua jTextField sudah terisi maka akan menjalankan method simpan data untuk memasukkan data ke dalam database, method bersih untuk mengeset nilai kosong pada semua jTextField, method tampildataketabel untuk menampilkan data dari database ke program dan menampilkan jOptionPane yang berisi Data sudah masuk. Terima kasih.
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")) { JOptionPane.showMessageDialog(null, "Inputkan No.Identitas anda!"); } else{ try { Statement statement=con.createStatement(); String sql="update datatiketbola set nama="+nama+ ",jenistiket="+jenistiket+",harga="+harga+",banyak=" +banyak+",totalbayar="+totalbayar+" where no_id="+no_id+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terubah!"); } catch (Exception e) { System.out.println("Error :"+e); } simpandata(); bersih(); tampildataketabel(); } }
Analisa: Pada jButton3 yang berisi event clicked ini memanggil konekdatabase dan data dengan maksut seperti yang sudah kami jelaskan diatas, kemudian terdapat struktur kontrol if...else pada baris 462-486 yang bermaksut, apabila nilai pada no_id atau txnoid bernilai kosong maka akan tampil jOptionPane yang berisi inputkan no.identitas anda!. Sedangkan apabila pada no_id sudah berisi nilai maka akan menjalankan program baris 470-485 yang bermaksut mengupdate atau memperbarui nilai pada database dengan kata kunci no_id yang dalam database sudah diset sebagai primary key sehingga tidak ada nilai yang sama pada field no_id. Apabila data tidak ada maka akan mengeksekusi kode program 479-482 yang akan mencetak kesalahan. Kemudian memanggil method simapndata, bersih dan tampildataketabel dengan maksut yang sudah kami jelaskan diatas.
private void jButton4MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="delete from datatiketbola where no_id="+cari+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terhapus!"); } catch (Exception e) { System.out.println("Error :"+e); } bersih(); tampildataketabel(); }
Analisa: Kode program yang berada didalam jButton4 dengan event clicked ini bermaksut menghapus nilai perintah query delete from datatiketbola dengan kata kunci yang berada pada variabel cari yang berisi jOptionPane input.
private void cbtiketItemStateChanged(java.awt.event.ItemEvent evt) { hargatiket(); txharga.setEnabled(false); }
Analisa: Script dengan event itemstatechanged yang berada pada cbtiket ini berisi method hargatiket untuk mengeset nilai txharga sesuai item pada cbtiket kemudian txharga di disable supaya tidak diubah nilainya oleh user.
private void formWindowOpened(java.awt.event.WindowEvent evt) { txharga.setEnabled(true); txbanyak.setText(""); txharga.setText("0"); txbayar.setEnabled(false); JOptionPane.showMessageDialog(null, "SELAMAT DATANG DI APLIKASI PEMBELIAN TIKET BOLA"); }
Analisa: Pada jFrame ini diberi event windowopened yang berisi txharga diaktifkan, txbayar diset nilainya kosong, txharga diset nilai nol, txbayar didisable dan menampilkan jOptionPane yang berisi selamat datang di aplikasi pembelian tiket bola.
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(null, "Terima Kasih atas kunjungan anda!"); System.exit(0); }
Analisa: Kode program diatas berisi event actionperformed pada jMenuItem1 yang menampilkan jOptionPane dan menutup program dengan System.exit(0).
.png)
Pada jMenu Edit sudah kami tanamkan kode program sama dengan 4 buah jbutton yang sudah kami bahas diatas. Untuk kode program cari data akan kami bahas sebagai berikut:
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) { konekdatabase(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="select * from datatiketbola where no_id like "+cari+""; ResultSet rs=statement.executeQuery(sql); if(rs.next()) { txnoid.setText(rs.getString(1)); txnama.setText(rs.getString(2)); cbtiket.setSelectedItem(rs.getString(3)); txharga.setText(rs.getString(4)); txbanyak.setText(rs.getString(5)); txbayar.setText(rs.getString(6)); } else{ JOptionPane.showMessageDialog(null, "DATA TIDAK ADA DALAM DATABASE"); } statement.close(); con.close(); } catch (Exception ex) { System.out.println("Error: "+ex); } }
Analisa: Pada kode program diatas ditanamkan pada jMenuItem6 (menu cari data) yang bermaksut mencari data dengan kata kunci no_id yang inputanya dari jOptionPane kemudian di eksekusi oleh perintah query like untuk mencari data. Setelah data ditemukan maka data akan diset pada semua jTextField dan jComboBox.
private void txbanyakKeyReleased(java.awt.event.KeyEvent evt) { txharga.setEnabled(false); total(); }
Analisa: Pada kode program yang berada di txbanyak ini memiliki event keyreleased, apabila kita mengetikkan nilai pada txbanyak maka akan tampil perintah didalamnya. Txharga di disable dan memanggil method total yang berisi perhitungan aritmatika dari txharga*txbanyak kemudian hasilnya ditampilkan pada txbayar.
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) { tentang frm=new tentang(); frm.show(); }
Analisa: Pada jMenuItem7 (About) berisi event actionperformed yang akan menampilkan form tentang.
Pada jFrame tentang
public tentang() { initComponents(); setTitle("Tentang Kami"); }
Analisa: Untuk pengesetan judul program yaitu Tentang Kami.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { dispose(); }
Analisa: Kode program dispose() yang sama fungsinya dengan close ini di tanamkan pada jButton1 (keluar).
Desain Program
Aplikasi pembelian tiket bola stadion sebelah ngarep dengan interface sebagai berikut:
Tampilan Awal

Terdiri dari komponen 1 buah jMenuBar dengan 7 buah jMenuItem, 7 buah jLabel, 5 buah jTextField, 1 buah jComboBox, 4 buah jButton, 1 buah jScrollPane dan 1 buah jTable.
Tampilan About
.png)
Pada desain tampilan about ini menggunakan 8 buah jLabel, 1 buah jSeparator dan 1 buah jButton. Untuk gambar diatas menggunakan komponen jLabel dengan pengaturan properties iconnya.
Tampilan Database
Pada gambar dibawah ini adalah desain atau interface dari database Microsoft Access:
.png)
Terdiri dari 6 buah field yaitu no_id (text), nama (text), jenistiket (text), harga (currency), banyak (number), totalbayar(currency) dengan primary key no_id.
Analisa Script
Berikut ini script pada jFrame utama:
package tiketbola; import javax.swing.*; import java.sql.*; import java.text.DecimalFormat; import javax.swing.table.*;
Analisa: Pada baris 18-21 merupakan script pengimportan yaitu swing untuk komponen jOptionPane, sql untuk database accdb, text.decimalFormat untuk format desimal dan swing.table untuk jTable.public class transaksitiket extends javax.swing.JFrame { String no_id,nama,jenistiket,harga,banyak,totalbayar,totbayar1; int totbayar, harga1, bayar1; DefaultTableModel tabMode; Connection con;
Analisa: Pada kode program ini merupakan pendeklarasian variabel yang terdiri dari string, integer, defaultTableModel dan connection.
public transaksitiket() { initComponents(); setTitle("PEMBELIAN TIKET BOLA STADION SEBELAH NGAREP"); Object[] row= {"No.Id","Nama", "Tiket","Harga","Banyak","Total Bayar"}; tabMode=new DefaultTableModel(null,row); jTable1.setModel(tabMode); jScrollPane1.getViewport().add(jTable1,null); }
Analisa: Pada kode program ini adalah sebuah method bernama transaksitiket yang berisi penamaan title program pada baris ke-30, penamaan field pada table pada baris ke 31-34 dan pada baris ke-35 pemasukkan jTable ke dalam jScrollPane yang berfungsi apabila banyak data yang ada maka jScrollPane akan membantu supaya table tidak kepanjangan dengan cara scroll.
public void konekdatabase(){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); con=DriverManager.getConnection("jdbc:odbc:aksestiketbola;uid=admin;pw=admin"); } catch (Exception e) { System.err.println("Exception: "+e.getMessage()); } }
Analisa: Pada method konekdatabase ini berfungsi untuk menghubungkan database microsoft access yang telah dibuat pada java netbeans. Dengan nama koneksi aksestiketbola, username:admin dan password:admin.
public void hapustabel(){ int row=tabMode.getRowCount(); for(int i=0;i<row;i++){ tabMode.removeRow(0); } }
Analisa: Pada method hapustabel ini merupakan pendeklarasian atau validasi pada jTable yang baris kolom memiliki nilai awal 0 dan ditambah terus i++.
public void tampildataketabel(){ hapustabel(); try{ String sql="Select * from datatiketbola ORDER BY no_id DESC"; Statement stat=con.createStatement(); ResultSet set=stat.executeQuery(sql); while (set.next()){ no_id=set.getString("no_id"); nama=set.getString("nama"); jenistiket=set.getString("jenistiket"); harga=set.getString("harga"); banyak=set.getString("banyak"); totalbayar=set.getString("totalbayar"); String[] data={no_id,nama,jenistiket,harga,banyak,totalbayar}; tabMode.addRow(data); } } catch(Exception e){ } }
Analisa: Pada method tampildatatabel ini memanggil method hapustabel untuk memberi nilai awal, kemudian terdapat struktur kontrol try...catch. Variabel sql bernilai string yang berisi perintah query membaca isi database tabel datatiketbola yang berformat Descending pada no_id yang berarti data yang paling besar/akhir akan berada diatas.
Untuk catch(exception e) merupakan pencetakan kesalahan saja.
public void simpandata(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); try{ konekdatabase(); Statement statement=con.createStatement(); String sql="insert into datatiketbola values ("+no_id+","+nama+ "," + ""+jenistiket+","+harga+","+banyak+","+totalbayar+");"; statement.executeUpdate(sql); statement.close(); } catch (Exception e){ } }
Analisa: Pada method simpandata ini berisi pembacaan jTextField dari baris 78-83 yang akan dimasukkan kedalam database pada baris ke-87 dengan perintah query insert into datatiketbola values.
public void data(){ no_id=txnoid.getText(); nama=txnama.getText(); jenistiket=(String)cbtiket.getSelectedItem(); harga=txharga.getText(); banyak=txbanyak.getText(); totalbayar=txbayar.getText(); }
Analisa: Pada method data ini merupakan pendeklarasian nilai saja. Contoh: variable no_id berisi nilai yang ada pada txnoid yang merupakan komponen jTextField.
public void hargatiket(){ //create method gajipokok int pilihan=cbtiket.getSelectedIndex(); switch(pilihan){ case 0: txharga.setText(""); break; case 1: txharga.setText("75000"); break; case 2: txharga.setText("50000"); break; case 3: txharga.setText("25000"); break; } }
Analisa: Pada method hargatiket ini merupakan pengesetan nilai item pada jComboBox (cbtiket). Pendeklarasian variabel pilihan yang bernilai integer. Kemudian pada baris 108-120 menggunakan struktur kontrol switch yang digunakan untuk mengevaluasi suatu ekspresi dengan kemungkinan banyak nilai dan banyak perintah yang harus dieksekusi berdasarkan ekspresi dan nilainya. Pada kode program di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian case). Jika option yang sama dengan nilai variabel, maka statement-statement di bawah option tersebutlah yang akan dijalankan.
public void total(){ harga1=Integer.parseInt(txharga.getText()); bayar1=Integer.parseInt(txbanyak.getText()); totbayar=harga1*bayar1; DecimalFormat f=new DecimalFormat("#.#"); totbayar1=String.valueOf(f.format(totbayar)); txbayar.setText(totbayar1); }
Analisa: Pada method total ini berisi perhitungan aritmatika yang berfungsi menampilkan nilai jumlah dari txharga*txbanyak kemudian hasil nilainya akan ditampilkan pada txbayar dengan format desimal 1 angka di belakang koma.
public void bersih(){ txnoid.setText(""); txnama.setText(""); txharga.setText(""); txbanyak.setText(""); txbayar.setText(""); }
Analisa: Pada method bersih ini berfungsi untuk mengeset nilai kosong pada semua jTextField.
private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: konekdatabase(); tampildataketabel(); }
Analisa: Pada kode program di atas yang ditanamkan didalam jButton2 dengan event clicked memanggil method konekdatabase dan tampildataketabel. Pemanggilan method konekdatabase agar file database dapat terbaca dengan koneksi yang sudah ada. Kemudian method tampildataketable berfungsi untuk memanggil isi tabel dengan perintah query select *from datatiketbola.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")||nama.equals("")||jenistiket.equals("Pilih Tiket")|| harga.equals("")||banyak.equals("")||totalbayar.equals("")) { JOptionPane.showMessageDialog(null, "ada data yg belum dimasukkan, periksa kembali!"); } else{ simpandata(); bersih(); tampildataketabel(); JOptionPane.showMessageDialog(null, "Data sudah masuk. Terima kasih!"); } }
Analisa: Pada event clicked yang berada di jButton1 ini memanggil method konekdatabase untuk menghubungkan database ke program dan method data untuk memanggil nilai variabel. Pada baris ke 442-453 berisi struktur kontrol if...else yang bermaksut jika nilai no_id, nama, jenistiket, harga, banyak dan total bayar berisi nol atau pilih paket maka akan tampil jOptionpane yang berisi ada data yang belum dimasukkan, periksa kembali. Sedangkan apabila semua jTextField sudah terisi maka akan menjalankan method simpan data untuk memasukkan data ke dalam database, method bersih untuk mengeset nilai kosong pada semua jTextField, method tampildataketabel untuk menampilkan data dari database ke program dan menampilkan jOptionPane yang berisi Data sudah masuk. Terima kasih.
private void jButton3MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); if(no_id.equals("")) { JOptionPane.showMessageDialog(null, "Inputkan No.Identitas anda!"); } else{ try { Statement statement=con.createStatement(); String sql="update datatiketbola set nama="+nama+ ",jenistiket="+jenistiket+",harga="+harga+",banyak=" +banyak+",totalbayar="+totalbayar+" where no_id="+no_id+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terubah!"); } catch (Exception e) { System.out.println("Error :"+e); } simpandata(); bersih(); tampildataketabel(); } }
Analisa: Pada jButton3 yang berisi event clicked ini memanggil konekdatabase dan data dengan maksut seperti yang sudah kami jelaskan diatas, kemudian terdapat struktur kontrol if...else pada baris 462-486 yang bermaksut, apabila nilai pada no_id atau txnoid bernilai kosong maka akan tampil jOptionPane yang berisi inputkan no.identitas anda!. Sedangkan apabila pada no_id sudah berisi nilai maka akan menjalankan program baris 470-485 yang bermaksut mengupdate atau memperbarui nilai pada database dengan kata kunci no_id yang dalam database sudah diset sebagai primary key sehingga tidak ada nilai yang sama pada field no_id. Apabila data tidak ada maka akan mengeksekusi kode program 479-482 yang akan mencetak kesalahan. Kemudian memanggil method simapndata, bersih dan tampildataketabel dengan maksut yang sudah kami jelaskan diatas.
private void jButton4MouseClicked(java.awt.event.MouseEvent evt) { konekdatabase(); data(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="delete from datatiketbola where no_id="+cari+""; statement.executeUpdate(sql); statement.close(); con.close(); JOptionPane.showMessageDialog(null, "Data telah terhapus!"); } catch (Exception e) { System.out.println("Error :"+e); } bersih(); tampildataketabel(); }
Analisa: Kode program yang berada didalam jButton4 dengan event clicked ini bermaksut menghapus nilai perintah query delete from datatiketbola dengan kata kunci yang berada pada variabel cari yang berisi jOptionPane input.
private void cbtiketItemStateChanged(java.awt.event.ItemEvent evt) { hargatiket(); txharga.setEnabled(false); }
Analisa: Script dengan event itemstatechanged yang berada pada cbtiket ini berisi method hargatiket untuk mengeset nilai txharga sesuai item pada cbtiket kemudian txharga di disable supaya tidak diubah nilainya oleh user.
private void formWindowOpened(java.awt.event.WindowEvent evt) { txharga.setEnabled(true); txbanyak.setText(""); txharga.setText("0"); txbayar.setEnabled(false); JOptionPane.showMessageDialog(null, "SELAMAT DATANG DI APLIKASI PEMBELIAN TIKET BOLA"); }
Analisa: Pada jFrame ini diberi event windowopened yang berisi txharga diaktifkan, txbayar diset nilainya kosong, txharga diset nilai nol, txbayar didisable dan menampilkan jOptionPane yang berisi selamat datang di aplikasi pembelian tiket bola.
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { JOptionPane.showMessageDialog(null, "Terima Kasih atas kunjungan anda!"); System.exit(0); }
Analisa: Kode program diatas berisi event actionperformed pada jMenuItem1 yang menampilkan jOptionPane dan menutup program dengan System.exit(0).
.png)
Pada jMenu Edit sudah kami tanamkan kode program sama dengan 4 buah jbutton yang sudah kami bahas diatas. Untuk kode program cari data akan kami bahas sebagai berikut:
private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) { konekdatabase(); try { String cari=JOptionPane.showInputDialog("Masukkan No Identitas anda"); Statement statement=con.createStatement(); String sql="select * from datatiketbola where no_id like "+cari+""; ResultSet rs=statement.executeQuery(sql); if(rs.next()) { txnoid.setText(rs.getString(1)); txnama.setText(rs.getString(2)); cbtiket.setSelectedItem(rs.getString(3)); txharga.setText(rs.getString(4)); txbanyak.setText(rs.getString(5)); txbayar.setText(rs.getString(6)); } else{ JOptionPane.showMessageDialog(null, "DATA TIDAK ADA DALAM DATABASE"); } statement.close(); con.close(); } catch (Exception ex) { System.out.println("Error: "+ex); } }
Analisa: Pada kode program diatas ditanamkan pada jMenuItem6 (menu cari data) yang bermaksut mencari data dengan kata kunci no_id yang inputanya dari jOptionPane kemudian di eksekusi oleh perintah query like untuk mencari data. Setelah data ditemukan maka data akan diset pada semua jTextField dan jComboBox.
private void txbanyakKeyReleased(java.awt.event.KeyEvent evt) { txharga.setEnabled(false); total(); }
Analisa: Pada kode program yang berada di txbanyak ini memiliki event keyreleased, apabila kita mengetikkan nilai pada txbanyak maka akan tampil perintah didalamnya. Txharga di disable dan memanggil method total yang berisi perhitungan aritmatika dari txharga*txbanyak kemudian hasilnya ditampilkan pada txbayar.
private void jMenuItem7ActionPerformed(java.awt.event.ActionEvent evt) { tentang frm=new tentang(); frm.show(); }
Analisa: Pada jMenuItem7 (About) berisi event actionperformed yang akan menampilkan form tentang.
Pada jFrame tentang
public tentang() { initComponents(); setTitle("Tentang Kami"); }
Analisa: Untuk pengesetan judul program yaitu Tentang Kami.
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) { dispose(); }
Analisa: Kode program dispose() yang sama fungsinya dengan close ini di tanamkan pada jButton1 (keluar).
Go to link download
Thursday, August 18, 2016
aplikasi perhitungan pembayaran paket java
aplikasi perhitungan pembayaran paket java
Pada tutorial kali ini akan membahas cara pembuatan aplikasi perhitungan pembayaran paket dengan komponen jCheckBox menggunakan operator perbandingan dan belajar mengeluarkan kotak dialog sederhana menggunakan jOptionPane. Berikut langkah pembuatan aplikasi :
Buka Netbeans 7.0
Mucul kotak dialog New Project, pada Categories : Java | Projects : Application Klik Next
Tentukan project name: Prak4_Latihan1, project location, project folder yang anda inginkan. Kemudian centang Create Main Class Klik Finish
Klik kanan pada project anda pilih new klik jFrame Form (NewJFrameLatihan1) hingga tampil seperti gambar berikut ini :

Tambahkan tiga buah jLabel, jTextField dan tiga jCheckBox ke dalam jFrame. Kemudian atur posisinya seperti gambar berikut :

Ubah properties Text komponen tersebut :
jLabel 1 > PEMBAYARAN PAKET
jLabel 2 > PAKET
jLabel 3 > TOTAL
jTextField1 > Kosong
jCheckbox1 > PAKET1
jCheckbox2 > PAKRT2

Klik kanan pada komponen JCheckBox1, kemudian pilih Events > Change > StateChanged. Sisipkan perintah :


Lakukan langkah yang sama untuk jCheckBox2 seperti langkah g.

Tekan F11 untuk mengcompile dan jalankan aplikasi dengan menekan tombol F6 pada Keyboard.
Pembahasan Hasil Program
Pada kedua komponen jCheckBox1 dan jCheckBox2 ini diberi event Change State yang apabila kita meletakkan kursor/pointer di atas jCheckBox maka akan menjalankan script yang ada dalam komponen tersebut.
Analisa : Pada kedua buah script diatas yang terletak pada jCheckBox1 dan jCheckBox2 memakai struktur else if. Nilai suatu ekspresi bisa jadi bukan dua nilai benar atau salah, tetapi bisa banyak nilai. Struktur if...elseif menyederhanakan model struktur kontrol if...else. Sintaknya:
If (syarat1){
Statement11;
Statement12;
}
Elseif (syarat2){
Statement21;
Statement22;
}
Else {
Statement1;
Statement2;
}
Jika syarat1 bernilai TRUE, maka statement11, statement12 dst akan dijalankan. Sedangkan jika syarat1 FALSE maka selanjutnya akan dicek untuk syarat2. Jika syarat2 TRUE maka statement21, statement22, dst akan dijalankan, sedangkan jika syarat2
FALSE akan dicek syarat berikutnya (jika masih ada). Statement1, statement2, dst baru akan dijalankan apabila semua syarat sebelumnya bernilai FALSE.
Contoh:
Jika kedua jCheckBox bernilai TRUE dengan operator perbandingan && maka akan memberi inputan pada jTextField1 dengan nilai Rp 20.000,-. Jika else if jCheckBox1 atau jCheckBox2 bernilai TRUE maka akan memberi inputan pada jTextField1 dengan nilai Rp 15000,-. Sedangkan jika tidak keduanya maka akan menampilkan hasil pada jTextField1 dengan nilai Rp 0,-. Pada syarat1 untuk menghasilkan nilai TRUE pada kedua jCheckBox menggunakan operator perbandingan dan (&&), sedangkan untuk syarat2 menggunakan operator perbandingan atau (||) berarti hanya tampil salah satu saja berbeda dengan dan yang menampilkan keduanya. Apabila syarat1 dan syarat2 tidak terpenuhi maka akan menjalankan opsi terakhir, contoh diatas adalah sebuah inputanRp 0,-.
Analisa : Gambar berikut ini merupakan tampilan default dari program karena belum mengeksekusi script yang telah kita sisipkan diatas.

Apabila kita meletakkan pointer disalah satu jCheckBox diatas maka akan tampil nilai Rp 0,- karena kita belum mencentang salah satu jCheckBox tersebut, seperti gambar berikut ini:

Sedangkan apabila kita mengeklik/ mencentang salah satu jCheckBox tersebut maka akan tampil nilai pada total yaitu Rp 15000,- dengan operator perbandingan || yang telah kita tanampakan diatas. Berikut gambarnya:
Apabila kita mencentang kedua jCheckBox tersebut maka akan menjalankan syarat1 pada script didalamnya yaitu akan menampilkan nilai Rp 20000,- pada Total, seperti gambar berikut:

Buka Netbeans 7.0
Mucul kotak dialog New Project, pada Categories : Java | Projects : Application Klik Next
Tentukan project name: Prak4_Latihan1, project location, project folder yang anda inginkan. Kemudian centang Create Main Class Klik Finish
Klik kanan pada project anda pilih new klik jFrame Form (NewJFrameLatihan1) hingga tampil seperti gambar berikut ini :
Tambahkan tiga buah jLabel, jTextField dan tiga jCheckBox ke dalam jFrame. Kemudian atur posisinya seperti gambar berikut :
Ubah properties Text komponen tersebut :
jLabel 1 > PEMBAYARAN PAKET
jLabel 2 > PAKET
jLabel 3 > TOTAL
jTextField1 > Kosong
jCheckbox1 > PAKET1
jCheckbox2 > PAKRT2
Klik kanan pada komponen JCheckBox1, kemudian pilih Events > Change > StateChanged. Sisipkan perintah :
Lakukan langkah yang sama untuk jCheckBox2 seperti langkah g.
Tekan F11 untuk mengcompile dan jalankan aplikasi dengan menekan tombol F6 pada Keyboard.
Pembahasan Hasil Program
Pada kedua komponen jCheckBox1 dan jCheckBox2 ini diberi event Change State yang apabila kita meletakkan kursor/pointer di atas jCheckBox maka akan menjalankan script yang ada dalam komponen tersebut.
Analisa : Pada kedua buah script diatas yang terletak pada jCheckBox1 dan jCheckBox2 memakai struktur else if. Nilai suatu ekspresi bisa jadi bukan dua nilai benar atau salah, tetapi bisa banyak nilai. Struktur if...elseif menyederhanakan model struktur kontrol if...else. Sintaknya:
If (syarat1){
Statement11;
Statement12;
}
Elseif (syarat2){
Statement21;
Statement22;
}
Else {
Statement1;
Statement2;
}
Jika syarat1 bernilai TRUE, maka statement11, statement12 dst akan dijalankan. Sedangkan jika syarat1 FALSE maka selanjutnya akan dicek untuk syarat2. Jika syarat2 TRUE maka statement21, statement22, dst akan dijalankan, sedangkan jika syarat2
FALSE akan dicek syarat berikutnya (jika masih ada). Statement1, statement2, dst baru akan dijalankan apabila semua syarat sebelumnya bernilai FALSE.
Contoh:
Jika kedua jCheckBox bernilai TRUE dengan operator perbandingan && maka akan memberi inputan pada jTextField1 dengan nilai Rp 20.000,-. Jika else if jCheckBox1 atau jCheckBox2 bernilai TRUE maka akan memberi inputan pada jTextField1 dengan nilai Rp 15000,-. Sedangkan jika tidak keduanya maka akan menampilkan hasil pada jTextField1 dengan nilai Rp 0,-. Pada syarat1 untuk menghasilkan nilai TRUE pada kedua jCheckBox menggunakan operator perbandingan dan (&&), sedangkan untuk syarat2 menggunakan operator perbandingan atau (||) berarti hanya tampil salah satu saja berbeda dengan dan yang menampilkan keduanya. Apabila syarat1 dan syarat2 tidak terpenuhi maka akan menjalankan opsi terakhir, contoh diatas adalah sebuah inputanRp 0,-.
Analisa : Gambar berikut ini merupakan tampilan default dari program karena belum mengeksekusi script yang telah kita sisipkan diatas.
Apabila kita meletakkan pointer disalah satu jCheckBox diatas maka akan tampil nilai Rp 0,- karena kita belum mencentang salah satu jCheckBox tersebut, seperti gambar berikut ini:
Sedangkan apabila kita mengeklik/ mencentang salah satu jCheckBox tersebut maka akan tampil nilai pada total yaitu Rp 15000,- dengan operator perbandingan || yang telah kita tanampakan diatas. Berikut gambarnya:
Apabila kita mencentang kedua jCheckBox tersebut maka akan menjalankan syarat1 pada script didalamnya yaitu akan menampilkan nilai Rp 20000,- pada Total, seperti gambar berikut:
Go to link download
Labels:
aplikasi,
java,
paket,
pembayaran,
perhitungan
Subscribe to:
Posts (Atom)