Pages

Kamis, 13 Desember 2012

Input dan Output

A. Cin
Dalam C++, perintah cin digunakan untuk menginput suatu nilai dari suatu
piranti masukan (keyboard) untuk selanjutnya diproses oleh program.
Sintaknya adalah:
cin >> variabel;
contohnya:
cout << “Masukkan suatu bilangan : ”;
cin >> bil;
cout << “Anda memasukkan bilangan “ << bil “\n”;
B. getch()
Perintah getch() berfungsi sama seperti cin (perintah input), akan tetapi getch()
khusus untuk input berupa karakter. Disamping itu getch() dapat membaca input
berupa spasi atau tab, sedangkan cin tidak bisa.
Sintaksnya:
Variabel = getch();
Fungsi ini juga dapat digunakan apabila tidak diinginkan penekanan ENTER ketika
input data karakter.
C. getche()
Perintah getche() kegunaannya sama dengan getch(), bedanya adalah:
- getch() tidak menampilkan karakter yang diiinput
- getche() menampilkan karakter yang diinput
fungsi getch() dan getche() sama-sama membutuhkan file header conio.h
Berikut ini contoh penggunaan getch() dan getche()
char karakter;
cout << “masukkan sebuah karakter : “;
karakter = getch();
cout << “Anda mengetik karakter : ” << karakter;
cout << “masukkan sebuah karakter : “;
karakter = getche();
cout << “Anda mengetik karakter : ” << karakter;
NB:
Untuk input berupa string, akan dibahas di bab yang lain.
                                                                           14
MS Word to PDF Converter using OpenOffice.org 1.1.4
D. cout
Dalam c++, perintah cout digunakan untuk menampilkan suatu informasi ke
piranti output (layar). Contoh-contoh penggunaannya telah banyak diberikan di
bab-bab sebelumnya. Berikut ini perintah-perintah tambahan untuk mengatur
tampilan output.
    endl
-
    Perintah ini berfungsi sama dengan \n (ganti baris)
    Contoh:
    cout << “Hallo” << endl;
    setw()
-
    Perintah ini digunakan untuk mengatur lebar tampilan data (rata kanan).
    Contoh:
    A = 123;
    B = 98;
    C = 1;
    cout << “Nilai A = “ << setw(6) << A << endl;
    cout << “Nilai B = “ << setw(6) << B << endl;
    cout << “Nilai C = “ << setw(6) << C << endl;
    Bandingkan bila tanpa menggunakan setw().
    setfill()
-
    Perintah setfill digunakan untuk menambahkan suatu karakter tertentu pada
    field yang kosong pada suatu data. Perhatikan contoh berikut ini
    A = 123;
    B = 98;
    cout<< “Nilai A = “<< setw(6) << setfill(‘*’) << A << endl;
    cout<< “Nilai B = “<< setw(6) << setfill(‘.’) << B << endl;
    Perintah setfill() biasanya digunakan setelah penggunaan setw().
    setprecision()
-
    Telah dijelaskan di bab sebelumnya.
NB:
Perintah-perintah tambahan pada cout di atas memerlukan file header iomanip.h
supaya dapat digunakan.
                                                                          15
MS Word to PDF Converter using OpenOffice.org 1.1.4
Lab Session
1. Buatlah program menggunakan C++ untuk menentukan harga barang setelah
   di diskon dengan tampilan sbb:
   Masukkan harga barang            : Rp. 150000
   Masukkan discount (%)            : 12.5
   ----------------------------------------------
   Harga barang       : Rp.        150000
   Besar diskon       : Rp.         18750
                        ------------------ -
   Harga bersih       : Rp.        131250
2. Buatlah program C++ untuk menghitung jarak peluru yang ditembakkan dari
   suatu lokasi dengan sudut penembakan xo, dan kecepatan awal peluru Vo.
   Diketahui besar Pi = 3.141593 dan besar percepatan gravitasi (g) adalah 9.8
   m/s2.
   Input : x (dalam derajad), Vo (dalam m/s).
   Output        : jarak peluru (dalam meter)
   Hint: Gunakan rumus S = 2 Vo sin(x) cos(x)/g

Perintah include dan require dalam php

penggunaan include dan require
Perintah require() dan include() dalam php digunakan untuk menyisipkan isi file tertentu menjadi bagian file yang memanggilnya. Keduanya sangat identik dalam banyak hal, kecuali cara penanganan kegagalan. include() menghasilkan suatu peringatan, sedangkan require() menghasilkan pesan kesalahan Fatal Error. Meskipun demikian, jangan takut menggunakan require() apabila anda menginginkan suatu file yang tidak ditemukan menghentikan proses terhadap halaman tersebut. include() tidak menghentikan proses tetapi melanjutkannya, jadi pastikan anda membuat include_path/alamat file yang akan disertakan benar.
Berikut kita lihat cara penggunaan serta cara kerja keduanya :

Perintah require

Statement require() merupakan konstruksi bagi parser PHP yang digunakan untuk membuka file yang diberi dan membaca nilai variabel serta fungsi yang terdapat di dalamnya untuk kemudian mengeksekusinya. File akan diperlakukan sebagai suatu script mengeksekusinya. File akan diperlakukan sebagai suatu script PHP normal. Apabila file tersebut berisi tag-tag PHP, maka akan dievaluasi terlebih dahulu sebelum mengirimnya ke browser. Namun bila file hanya berisi teks biasa, maka file akan langsung ke browser. Statement require() tidak dapat dimasukkan dalam struktur perulangan karena hanya boleh dipanggil satu kali.
Cara penulisan :
<?php
  require(nama file);
?>

Perintah include

sama seperti statement require(), Statement include() jugamerupakan konstruksi bagi parser PHP yang digunakan untuk membuka dan membaca nilai variabel dari file yang dinyatakan serta fungsi yang terdapat didalamnya untuk kemudian mengeksekusinya. File akan diperlakukan sebagai suatu script mengeksekusinya. File akan diperlakukan sebagai suatu script PHP normal. Apabila file tersebut berisi tag-tag PHP, maka akan dievaluasi terlebih dahulu sebelum mengirimnya ke browser. Namun bila file hanya berisi teks biasa, maka file akan langsung ke browser. Tetapi Statement include() dapat dimasukkan dalam struktur perulangan.

Membuat tabel warna-warni dengan PHP

Membuat tabel warna-warni
Tentunya anda pernah melihat sebuah laporan yang disajikan secara unik dan menarik php. Misal, tabel tersebut dibuat dengan warna selang seling/warna-warni. Tujuan dibuat warna-warni seperti itu bukan hanya agar tampilan lebih menarik tapi juga bertujuan agar baris-baris data bisa terlihat dengan jelas. Bagaimana membuatnya dalam php?
Untuk membuat tabel warna-warni seperti pada gambar diatas, caranya sangat mudah. Secara logika kita hanya perlu melakukan perubahan warna pada setiap baris tabelnya. Misal tabel baris 1 warna biru, kedua warna kuning, kemudian kembali lagi warna biru dst. Dan dapat di asumsikan bahwa baris yang ganjil diberi warna biru, baris genap diberi warna kuning.
Berikut saya contohkan dengan menyusun tabel menggunakan perulangan for dalam php.
<?php
$baris= 1;
echo "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">";
echo "<tr bgcolor=\"#00CC00\">";
echo "<th>No.</th>";
echo "<th>Nama</th>";
echo "<th>Alamat</th>";
echo "</tr>";
for($i=1; $i<=10;$i++) {
    $warna= ($baris% 2 == 1) ? "#cccccc" : "#99FF99";
    echo "<tr bgcolor=\"".$warna."\">";
    echo "<td>$i</td>";
    echo "<td>Nama $i</td>";
    echo "<td>Alamat $i</td>";
    echo "</tr>";
    $baris++;
}
echo "</table>";
?>
Contoh kode php diatas dimulai dengan membuat sebuah variabel dengan nama $baris, kemudian memberi nilai awal dengan 1. Kemudian menuliskan perintah pembuka tabel lengkap dengan atributnya, lalu membuat tabel header dengan perintah th. Lalu mulai membuat baris datanya dalam perulangan for.
Pada saat $baris dibagi dua menghasilkan nilai sisa bagi 1 (ganjil) maka baris tersebut diberi dengan warna #cccccc, selain itu maka diberi warna #99FF99.
Hal tersebut akan diulang sebanyak 10 baris sesuai dengan nilai max perulangan dan pada setiap perubahan nilai $i maka nilai $baris juga ditambah 1.
Bagaimana jika diterapkan dalam bentuk laporan database mysql? Hanya sedikit perlu melakukan perubahan dari script awal, yaitu menghubungan dengan data yang tersimpan dalam database mysql.
Lihat perubahannya berikut :
<?php
    include("koneksi.php");
    $baris= 1;
    echo "<table width=\"400\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\" bgcolor=\"#ffffff\">";
    echo "<tr bgcolor=\"#00CC00\">";
    echo "<th>NIM</th>";
    echo "<th>Nama</th>";
    echo "<th>Alamat</th>";
    echo "</tr>";
    $myquery="select nim,nama,alamat from tb_mahasiswa";
    $daftarsiswa=mysql_query($myquery) or die (mysql_error());
    while($dataku=mysql_fetch_object($daftarsiswa))
    {   
        $warna= ($baris% 2 == 1) ? "#cccccc" : "#99FF99";
        echo "<tr bgcolor=\"".$warna."\">";
        echo "<td>".$dataku->nim."</td>";
        echo "<td>".$dataku->nama."</td>";
        echo "<td>".$dataku->alamat."</td>";
        echo "</tr>";
        $baris++;
    }
    echo "</table>";
?>
Kode diatas akan menghasilkan laporan seperti berikut :
tabel warna selang seling
Script laporan diatas saya ambilkan dari contoh laporan yang pernah saya bahas pada Laporan Aplikasi Data Mahasiswa
Jika ada masukan atau pertanyaan jangan sungakn mengisi komentar dibawah. Semoga bermanfaat.

Fungsi break dan continue dalam PHP


fungsi break dan continue dalam php
Fungsi break dalam php digunakan untuk menghentikan proses yang dilakukan oleh perintah php  : for, foreach, while, do-while atau switch. Sedangkan continue digunakan untuk melanjutkan proses pada perintah perulangan for dengan php. Kedua fungsi ini (break dan continue) memang tidak selalu digunakan, karena setiap kasus mungkin saja berbeda keperluan. Pada kasus seperti apa anda memerlukan fungsi break dan continue?
Fungsi break ini biasanya digunakan untuk mengendalikan alur kerja dari sebuah proses yang dilakukan dengan perintah seperti diatas. Fungsi break ini diletakkan dalam struktur if dengan menambahkan kriteria tertentu.

Contoh penggunaan fungsi break

<?php
switch ($nilai) {
  case '1':
    echo "$nilai=1";
    break;
  case '2':
    echo "$nilai=2";
    break;
  case '3':
    echo "$nilai=3";
    break;
  case '4':
    echo "$nilai=4";
    break;
  default:
    echo "$nilai";
}
?>
Pada contoh switch diatas bisa kita lihat bahwa setiap akhiran case diletakkan break. Ini fungsinya agar, pada saat variabel nilai sesuai dengan salah satu nilai case maka proses switch akan diakhiri setelah perintah break. Hal ini dikarenakan jika tidak diletakkan break maka php akan melanjutkan sampai case terakhir.

Contoh penggunaan fungsi continue

<?php
for ($i = 0; $i < 5; ++$i) {
    if ($i == 2)
        continue
    echo "$i\n";
}
?>
Jika kode php diatas dijalankan maka hasilnya adalah menuliskan angka 0 1 3 4, pada bagian program kita lihat ada if($i == 2) continue yang artinya pada saat perulangan dengan nilai i sama dengan 2 maka perulangan mengabaikan perintah menuliskan angka 2 dan melanjutkan ke perulangan nilai berikutnya.

Membagi halaman laporan pada php

membagi halaman laporan dalam php
Jumlah data dari mysql yang tampil dalam laporan yang dibuat dengan php tentunya akan sangat mempengaruhi kinerja aplikasi web yang kita buat. Semakin banyak data, pasti prosesnya akan semakin lama dan tentunya agak sedikit menyulitkan orang yang membacanya. Bisa anda bayangkan kalau ada 1000 baris data yang ditampilkan dalam sebuah tabel laporan? Oleh karena itu biasanya halaman laporan dilengkapi dengan sistem navigasi halaman yang sering disebut dengan sistem paging.
Sistem paging ini memungkinkan untuk menampilkan data dari database secara bertahap, halaman per halaman sesuai keperluan. Berikut ini contoh membuat sistem paging dengan php.
Langkah pertama, silahkan download file contoh data dalam file sql berikut : Download
Kemudian anda buat database baru dengan nama "db_mhs", lalu import file yang sudah anda download tadi.
Pastikan import berhasil, dan cek/browse datanya. Saya sudah sisipkan sekitar 200 lebih contoh data didalamnya.
Kemudian copy sourcecode berikut dan simpan dengan nama paging.php
<html>
<head>
<title>Membagi halaman laporan dengan php</title>
<style type="text/css">
#navpage a { padding:3px 5px;background-color:#EDFFEA;border:1px solid #ccc;
text-decoration:none;color:#5B5B5B; }
#navpage a:hover { background-color:#CEFFC6; }
</style>
</head>
<body>
<div align="center">
<?php
//koneksi database bisa disesuaikan
mysql_connect("localhost","root","") or die("Gagal Konek ke server");
mysql_select_db("db_mhs") or die("Gagal Konek ke database");
//nama tabel
$tablename="tb_mhs";
//nama file, ini otomatis
$baselink=$_SERVER['PHP_SELF'];
// jumlah data perhalaman
$rowsPerPage = 12;
//nilai halaman awal
$pageNum = 1;
if(!empty($_GET['page']))
{
    $pageNum = $_GET['page'];
}
$offset = ($pageNum - 1) * $rowsPerPage;
// query database sesuai dengan field atau nama tabel
$query  = "SELECT * FROM $tablename ORDER by nim asc LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed. ' . mysql_error());
?>
  <h2 class="tengah">DATA MAHASISWA</h2>
  <table width="450" border="0" cellpadding="3" cellspacing="1" bgcolor="#999999">
    <tr bgcolor="#E8FDEC">
      <th width="149">NIS</th>
      <th width="348">NAMA</th>
    </tr>
<?php
while($row = mysql_fetch_array($result))
{
?>
    <tr bgcolor="#fff">
      <td><?php echo $row['nim']?></td>
      <td><?php echo $row['nama']?></td>
    </tr>
<?php
} //end of while
?>
  </table>
<?php
    //menghitung jumlah data, silahkan disesuaikan nama field dalam COUNT
    $query   = "SELECT COUNT(nim) AS numrows FROM $tablename";
    $result  = mysql_query($query) or die('Error, query failed. ' . mysql_error());
    $row     = mysql_fetch_array($result, MYSQL_ASSOC);
    $numrows = $row['numrows'];
    $maxPage  = ceil($numrows/$rowsPerPage);
    $nextLink = '&nbsp;';
    if($maxPage >1)
    {
        $nextLink = array();
        for($page = 1; $page <= $maxPage; $page++)
        {
            $nextLink[] =  "<a href=\"".$baselink."?page=$page\">$page</a>";
        }
        $nextLink = "<p>Halaman : </p>" . implode(' ', $nextLink);
    }
    echo '<div id="navpage">'.$nextLink.'</div>';
    mysql_free_result($result);
?>
</div>
</body>
</html>
Jika anda lihat pada script diatas, saya sudah tambahkan beberapa informasi yang bisa anda sesuaikan dengan laporan yang anda perlukan. Anda juga bisa susun tabel sejumlah data yang ingin ditampilkan.
Kemudian silahkan coba jalankan dengan memanggil nama file paging.php. Tampilan hasilnya terlihat seperti gambar diatas.

KeyEvent di Java

Berikut ini contoh program Java untuk mendemonstrasikan bagaimana penanganan event terkait tombol. Program akan mendeteksi penekanan setiap tombol keyboard. Class Listener yang digunakan adalah KeyListener yang memiliki 3 (tiga) buah method abstract keyTyped(), keyPressed() dan keyReleased().
Berikut ini tampilannya:
contoh-program-key-event-java

Dan berikut ini program lengkapnya
01import java.awt.*;
02import java.awt.event.*;
03import javax.swing.*;
04 
05public class KeyEventTest extends JFrame implements KeyListener {
06    private String baris1="", baris2="", baris3="";
07    private JTextArea textArea;
08     
09    public KeyEventTest() {
10        super ("Mencoba Key Event");
11         
12        textArea = new JTextArea (10,15);
13        textArea.setText("Tekan sembarang tombol di keyboard...");
14        textArea.setEnabled(false);
15        textArea.setDisabledTextColor(Color.BLACK);
16        getContentPane().add(textArea);
17         
18        addKeyListener (this);
19         
20        setSize (300,150);
21        setLocationRelativeTo(null);
22        setVisible(true);
23    }
24     
25    public void keyPressed (KeyEvent e) {
26        baris1 = "Tombol yang ditekan : " + e.getKeyText(e.getKeyCode());
27        setLines2and3 (e);
28    }
29     
30    public void keyReleased (KeyEvent e) {
31        baris1 = "Tombol yang dilepas : " + e.getKeyText(e.getKeyCode());
32        setLines2and3 (e);
33    }
34     
35    public void keyTyped (KeyEvent e) {
36        baris1 = "Tombol yang ditulis : " + e.getKeyChar();
37        setLines2and3 (e);
38    }
39     
40    private void setLines2and3 (KeyEvent e) {
41        baris2 = "This key is "+ (e.isActionKey() ? "" : "not ") + "an action key";
42        String temp = e.getKeyModifiersText(e.getModifiers());
43        baris3 = "Modifier key pressed : " + (temp.equals("") ? "none" : temp);
44        textArea.setText(baris1 + "\n" + baris2 + "\n" + baris3 + "\n");
45    }
46     
47    public static void main (String args[]) {
48            KeyEventTest test = new KeyEventTest();
49            test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
50        }
51}

Menggambar dengan Mouse di Java

Class Painter dapat digunakan untuk membuat program kecil yang membentuk garis dengan mouse (saat mouse di-drag).
Berikut ini tampilannya:
contoh-program-painter-java

Berikut ini program lengkapnya:
01import java.awt.*;
02import java.awt.event.*;
03import javax.swing.*;
04 
05public class Painter extends JFrame {
06    private int pointCount = 0;
07    private Point points[] = new Point[1000];
08 
09    public Painter () {
10        super ("Program menggambar sederhana");
11 
12        getContentPane().add(new JLabel("Drag mouse to draw"), BorderLayout.SOUTH);
13 
14        addMouseMotionListener (
15            new MouseMotionAdapter() {
16                public void mouseDragged (MouseEvent e) {
17                    if (pointCount < points.length) {
18                        points[pointCount] = e.getPoint();
19                        ++pointCount;
20                        repaint();
21                    }
22                }
23            } //end of anonymous class
24        ); //end method addMotionListener
25 
26        setSize (300,150);
27        setLocationRelativeTo(null);
28        setVisible(true);
29    }
30 
31    public void paint (Graphics g) {
32        super.paint(g);
33        for (int i = 0; i < points.length && points[i] != null; i++) {
34            g.setColor(Color.red);
35            g.fillOval (points[i].x, points[i].y, 4,4);
36        }
37    }
38     
39    public static void main (String args[]) {
40        Painter test = new Painter();
41        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
42    }
43}