Sabtu, 30 Maret 2013

Sekian lama kosong, setidaknya saya ingin membuat sebuah postingan dalam bulan maret ini. Kali ini berhubungan dengan php, dan materi kali ini masih sangat dasar. Maksud dari judul saya diatas adalah menampilkan kembali sebuah tulisan yang sebelumnya telah kita masukkan, terus ketika mensubmit tulisan tersebut, maka tulisan yang kita submit tadi langsung tampil di monitor. dan ingat, ini berbeda dengan menampilkan isi tabel hasil inputan dengan PHP yang Insya Allah akan segera saya bikin postingannya. 
http://go-program.blogspot.com/2013/03/cara-menampilkan-hasil-inputan-dengan-php.html

Jadi karena hanya menampilkan kembali hasil inputan, kita belum membutuhkan database, kita hanya menggunakan perpaduan antara HTML dengan PHP. Agan-agan sekalian dapat mencobanya pada localhost masing-masing ya. Agar lebih mengerti manfaatnya kita ambil contoh untuk menampilkan kembali hasil pengisian form saja dulu ya. Langsung saja saya tampilkan tutorialnya:

  1. Langkah pertama kita buat sebuah form dari html agar kita dapat menginputkan tulisan dan mensubmit tulisan tersebut. Copy paste/tulis kembali form HTML dibawah ini lalu simpan dengan nama index.html. Agan bisa memodifikasi struktur html dibawah sesuka hati agan.
    <!DOCTYPE html>

    <head>
    <title>Belajar membuat form</title>
    </head>

    <body style='background:url(http://cs.unsyiah.ac.id/~alamri/gambar/001.png);'>
    <div style="background:#D4D4D4;width:600px; margin:50px auto 0px auto;padding:10px;border-radius:4px;">
    <h2 style='background:#212121;color:#f2f2f2;padding:10px;margin:-10px -10px 0px -10px;text-align:center'>Form Pengisian biodata</h2>
    <fieldset>
    <legend style="font-family:arial;">Identitas diri</legend>
    <form action="tampil.php">
    <table>
    <tr><td>NIM</td><td>:</td><td><input type="text" name="nim"/></td></tr>
    <tr><td>Nama</td><td>:</td><td><input type="text" name="nama"/></td></tr>
    <tr><td>Jenis Kelamin</td><td>:</td><td><input type="radio" name="kelamin" value="laki-laki">Pria</td><td><input type="radio" name="kelamin" value="Perempuan">Wanita</td>
    <tr><td>Jurusan</td><td>:</td><td><input type="text" name="jurusan"/></td></tr>
    <tr><td>IPK</td><td>:</td><td><input type="text" name="ipk"/></td></tr>
    <tr><td><input type="submit" value="kirim"/></td><td><input type="reset" value="batalkan"/></tr>
    </table>
    </form>
    </fieldset>
    </div>
    </body>

    </html>
  2. Langkah kedua yaitu membuat sebuah file berformat php untuk menampilkan apa yang baru saja agan input. Agan Copy paste/tulis kembali form php dibawah ini lalu simpan dengan nama tampil.php. 
    <?php 
    $nim=$_GET['nim'];
    $nama=$_GET['nama'];
    $jurusan=$_GET['jurusan'];
    $ipk=$_GET['ipk'];
    $kelamin=$_GET['kelamin'];

    echo "<h1 align='center' style='text-align:center'>Data Diri Anda</h1></br></br>
    <body style='background:#939393 url(http://cs.unsyiah.ac.id/~alamri/gambar/001.png)'>
    <div style='background:#f2f2f2;width:600px; margin:0 auto'>
    <fieldset>
    <legend style='font-family:arial;'>Identitas diri</legend>
    <table>
    <tr><td>NIM</td><td>:</td><td>$nim</td></tr>
    <tr><td>Nama</td><td>:</td><td>$nama</td></tr>
    <tr><td>Kelamin</td><td>:</td><td>$kelamin</td></tr>
    <tr><td>Jurusan</td><td>:</td><td>$jurusan</td></tr>
    <tr><td>IPK</td><td>:</td><td>$ipk</td></tr>
    </table>
    </fieldset>
    </div>
    </body>";

    ?>
Nah, disini hanya memerlukan 2 file saja. Untuk melihat contoh hasil jadinya, anda dapat melihatnya langsung disini: http://cs.unsyiah.ac.id/~alamri/pbw/tugas1/ .

Sekarang coba lihat pada file index.html, ada bagian <form action="tampil.php">, nah disitu maksudnya adalah melakukan sebuah aksi untuk menuju atau mengirimkan apapun ke halaman tampil.php ketika kita mengklik (mensubmit nya). Jadi pada halaman index.html pada setiap elemen yang akan diisi kita buat name="" masing-masing. Itulah tanda yang akan dikirim ke tampil.php, Pada file tampil.php dibuat beberapa variabel sesuai dengan name="" yang dikirim dari index.html. Kira-kira begitulah penjelasan ringkasnya. Jika ada yang kurang dipahami silahkan kirim email atau beri komentar saja ya.. :)

Minggu, 17 Februari 2013

Berikut ini saya sajikan cara sederhana yang paling mudah untuk menyambungkan database mysql dengan php. contoh berikut saya mencobanya di localhost sendiri. Berikut beberapa hal penting yang perlu agan miliki:

  • host : localhost <-- default localhost
  • username : root <-- default localhost
  • password : (kosong)
  • nama database : pbw <-- database buat sendiri
Contoh diatas merupakan contoh dari saya yang mencobanya di localhost sendiri. lalu untuk menghubungkannya bisa gunakan source code yang paling sederhana ini.

<?php
$host = "localhost";
$user = "root";
$pass = "";
$db_name = "pbw";

$koneksi = mysql_connect($host,$user,$pass);
$pilih_data = mysql_select_db($db_name,$koneksi);
if(! $pilih_data)
{
echo "Konoksi Gagal.....!!!";
}
else
{
echo "tersambung dengan database";
}
?>

program.blogspot.com/2013/02/contoh-menyambungkan-database-dengan-php.html
Jika berhasil terhubung dengan database yang agan buat akan keluar tulisan "tersambung dengan database". Ingat sebelunya jangan lupa mengaktifkan MySql di xampp kontrol panel ya

Kamis, 31 Januari 2013

berikut ini salah satu tugas yang lumayan sangat gamapang dari tugas-tugas pemrograman lainnya. permasalahan disini yaitu mencari sebuah angka yang diinput user dari sejumlah data yang telah dirandom kemudian diurutkan menggunakan quicksort. Jadi bisa dikatakan ini gabungan dari quick sort dengan binary search. Kira kira berikut ini penampakan hasil yang diinginkan.

http://go-program.blogspot.com/2013/01/implementasi-quick-sort-dengan-binary-di-c.html


Tugas ini saya katakan sangat mudah karena source code yang diperlukan sudah ada semuanya, namun sebenarnya akan susah jika dipahami source code baris-perbarisnya. apalagi adanya fungsi rekusif dalam quicksort dan binary search Lumayan memusingkan. Berikut ini source code implementasi dari quick sort dengan binary search seperti gambar diatas.

/*--------------------------------------------------------------------*/
/*-------------Nama : Ahmad Ariful Amri ----------------------------*/
/*-------------Program: Quick sort dan implementasi Binary Search-----*/
/*--------------------------------------------------------------------*/

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

/*Prototype dari metode sorting quick sort*/
void quickSort( int[], int, int);
int partition( int[], int, int);

int main()
{
int data[100000], i, n, menu, item, mid, top, bottom;
time_t start, stop;//sebagai penghitung waktu
printf("Masukkan Jumlah Bilangan (n): ");
scanf("%d", &n);

for (i = 0; i < n; i++)
{
data[i]=rand() % n + 1;
}
printf("Random data dalam array selesain");

time(&start);//Mulai menghitung waktu
quickSort( data, 0, n);
//Untuk menampilkan data yang telah diurutkan (Jika diperlukan)
//printf("Data setelah diurutkan dengan QUICK SORT :n");
//for(i = 0; i < n; ++i)
//{
// printf("%dt", data[i]);
//}
time(&stop);//Berhenti menghitung waktu
printf("Data sudah diurutkan menggunakan metode QUICK SORT :n");
printf("nnWaktu yang dibutuhkan untuk mengurutkan: %.0f detik. nnn", difftime(stop, start));/*Menampilkan total waktu yang dibutuhkan*/

do
{
printf("|==============================================================|n");
printf("|---Mencari data yang telah diurutkan menggunakan Quick Sort---|n");
printf("|==============================================================|n");
printf("|Pilihan: |n");
printf("|1) Mencari data dengan BINARY SEARCH dan menampilkan hasilnya |n");
printf("|2) Random ulang data dalam array |n");
printf("|3) Selesai (EXIT) |n");
printf("|--------------------------------------------------------------|n");
printf("|Pilihan anda: ");
scanf("%d", &menu);
printf("nn");
switch(menu)
{
/***************************INSERTION SORT*************************/
case 1:
printf("Masukkan data yang ingin dicari :");
scanf("%d",&item);
bottom = 1;
top = n;

do
{
mid = (bottom + top) / 2;
if (item < data[mid])
{
top = mid - 1;
}
else if (item > data[mid])
{
bottom = mid + 1;
}
}
while (item != data[mid] && bottom <= top);

if (item == data[mid])
{
printf("nNilai %d Ditemukan pada indeks ke: %dnnn", item, mid + 1);
}
else
{
printf("nPencarian gagal, %d Tidak ditemukannn", item);
}
break;
/********************************Akhir dari Binary Search ***********************/
case 2:
printf("Masukkan jumlah bilangan (n) :");
scanf("%d", &n);
/*Memasukkan jumlah data(bilangan) kemudian akan dirandom*/
for(i=0; i<n; i++)
{
data[i]=rand() % n + 1; //merandom data dari 1 - n dan disimpan ke array
}
printf("Random data dalam array selesainn");

time(&start);//Mulai menghitung waktu
quickSort( data, 0, n);
//Untuk menampilkan data yang telah diurutkan (Jika diperlukan)
//printf("Data setelah diurutkan dengan QUICK SORT :n");
//for(i = 0; i < n; ++i)
//{
// printf("%dt", data[i]);
//}
time(&stop);//Berhenti menghitung waktu
printf("Data sudah diurutkan menggunakan metode QUICK SORT :n");
printf("nnWaktu yang dibutuhkan untuk mengurutkan: %.0f detik. nnn", difftime(stop, start));/*Menampilkan total waktu yang dibutuhkan*/

break;
case 3:break;
}
/*Jika memasukkan menu yang tidak sesuai dengan pilihan*/
if(menu!=1 && menu!=2 && menu!=3)
{
printf("Maaf..Anda Salah Memasukkan Pilihan!!!nPilihan anda nomor %d TIDAK ada pada menu", menu);
printf("nSilahkan pilih menu dibawah dari 1 - 3, Terima Kasih :)nn");
}
}while(menu != 3);

return EXIT_SUCCESS;
}

void quickSort( int data[], int l, int r)
{
int j;
if( l < r )
{
// divide and conquer
j = partition( data, l, r);
quickSort( data, l, j-1);
quickSort( data, j+1, r);
}
}

/*Pembagian partisi*/
int partition( int data[], int l, int r)
{
int pivot, i, j, t;
pivot = data[l];
i = l; j = r+1;

while( 1)
{
do ++i; while( data[i] <= pivot && i <= r );
do --j; while( data[j] > pivot );
if( i >= j ) break;
t = data[i]; data[i] = data[j]; data[j] = t;
}
t = data[l]; data[l] = data[j]; data[j] = t;
return j;
}

Agar lebih mudah untuk di trace. silahkan copas source code diatas ke notepad++ atau pengolah kata kesayangan anda lainnya.

Sabtu, 26 Januari 2013

Pengendalian program yang akan dibahas kali ini sangatlah sederhana, pengendalian program dengan if else. Untuk pengetahuan dasarnya silahkan baca postingan "Penggunaan if, else dan else if" Dibalik kesederhanaannya, pengendalian dengan if else ini oke banget dan sangat berguna dalam keseharian coding. Berikut contoh sederhana dalam penggunaan if else.

/*-----------------------------------------------------*/
/*-----Nama : Ahmad Ariful Amri ---------------------*/
/*-----Program: Contoh penggunaan Kontrol if else------*/
/*------------http://go-program.blogspot.com-----------*/
/*-----------------------------------------------------*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
int nilai;

printf("Masukkan nilai : ");
scanf("%d", &nilai);

if(nilai >=85)
{
printf("Nilai An");
}
else if(nilai >=75)
{
printf("Nilai B+\n");
}
else if(nilai >=65)
{
printf("Nilai B\n");
}
else if(nilai >=55)
{
printf("Nilai C+\n");
}
else if(nilai >=45)
{
printf("Nilai C\n");
}
else if(nilai >=25)
{
printf("Nilai D\n");
}
else
{
printf("Nilai En");
}

return EXIT_SUCCESS;
}

Penjelasan
Seperti namanya "if" (bahasa inggris) yang dalam bahasa indonesianya "Jika". Jika sesuatu memenuhi syarat yang ada didalam if(Syarat), maka ia akan masuk kedalamnya dan mengerjakan pernyataan didalamnya. Seperti contoh, kita ambil sampel nilai yang diimputkan oleh user yaitu 50. Compiler memproses coding dari kiri atas ke kanan bawah (Kecuali ada hal lain sperti fungsi). Pertama si akan dicek pada "if" pertama yaitu nilai yang >=85. di cek apakah 50 >= 85? Tidak. Karena tidak memenuhi, lanjut lagi ke if else yang kedua >=75, belum memenuhi juga, selanjutnya apakah 50 >=65? tidak juga. Selnjutnya apakah 50 >= 55? tidak juga. Selanjutnya apakah 50 >= 45? IYA. barulah ia masuk dan melaksanakan pernyataan didalam nya. yaitu mengeprint "Nilai C".

Begitulah contoh sederhana penggunaan pengendalian program dengan "if". Semoga dapat berguna :)

Jumat, 25 Januari 2013

program.blogspot.com/2013/01/program-sederhana-c-konversi-detik-ke.html
berhubung sedang kurang bergairah dalam dunia pemrograma, jadi malam ini sharing-sharing hal yang sederhana aja yaw. Kali ini akan saya posting contoh program sederhana untuk mengkonversi detik dari masukan user ke dalam satuan jam dan menit. Kalau dibayangin sepertinya mudah. inilah source code nya :)

/*----------------------------------------------------------------*/
/*-------------Nama : Ahmad Ariful Amri ------------------------*/
/*-------------Program: Konversi detik ke menit dan jam-----------*/
/*-----------------visit: go-program.blogspot.com-----------------*/
/*----------------------------------------------------------------*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
int jam, menit, detik, sisa;
printf("Jumlah detik yang diinginkan : ");
scanf("%d", &detik);
jam = detik/3600;
sisa = detik%3600;
menit = sisa / 60;
detik = sisa % 60;

printf("setara dengan %d jam %d menit %d detikn",jam,menit,detik);

return EXIT_SUCCESS;
}

Gampang sekali kan? semoga bisabermanfaat ya...

Rabu, 09 Januari 2013

Tepat Pada Postingan Sebelumnya saya membahas tentang Algoritma metode pengurutan menggunakan Metode Insertion Sort. Nah disini akan diberikan contoh program untuk mengurutkan sekumpulan data yang telah dirandom menggunakan fungsi Rand() (KLIK), contoh yang saya berikan disini menggunakan bahasa C
insertion sort http://go-program.blogspot.com/2013/01/pengurutan-data-random-dengan-insertion-sort-di-c.html

/*------------------------------------------------------------------*/
/*-----------Nama : Ahmad Ariful Amri ----------------------------*/
/*-----------Program: Pengurutan data random dengan insertion sort--*/
/*---------------------------www.go-program.blogspot.com------------*/
/*------------------------------------------------------------------*/

#include <stdio.h>
#include <stdlib.h>

int main()
{
int n, data[1000], i, j, t;

printf("Masukkan Jumlah data : ");
scanf("%d", &n);

for (i = 0; i < n; i++)
{
data[i]=rand() % 100000 + 1;
}

for (i = 1 ; i <= n - 1; i++) {
j = i;

while ( j > 0 && data[j] < data[j-1]) {
t = data[j];
data[j] = data[j-1];
data[j-1] = t;

j--;
}
}

printf("Data setelah diurutkan:n");

for (i = 0; i <= n - 1; i++) {
printf("%dt", data[i]);
}

return 0;
}

Konsep dari program diatas, pengguna akan diminta memasukkan jumlah data yang ingin dirandom sebanyak n buah bilangan. Kebetulan ceritanya diatas saya memasukan nilai 27, yang berarti akan dirandom data sebanyak 27 angka dari angka 1 - dengan n. setelah dirandom, data/angka tersebut disimpan dalam sebuah array. pada contoh diatas, bilangan yang sudah dirandom disimpan pada array data[i]. Selanjutnya angka.bilangan yang terdapat dalam itulah yang di urutkan menggunakan meode insertion sort.

Selasa, 08 Januari 2013

Proses yang terjadi pada pengurutan dengan menggunakan metode Insertion Sort adalah dimulai dari data ke-2 kemudian disisipkan pada tempat yang sesuai. Data pada posisi pertama diandaikan memang sudah pada tempatnya. Ilustrasinya mirip seperti saat menyisipkan kartu di permainan kartu. Agar lebih mudah dalam memahaminya silahkan perhatikan ilustrasi gambar berikut ini:

Insertion sort by : go-program.blogspot.com

Insertion sort by : go-program.blogspot.com
Gambar diatas dipahami aja satu satu proses jalannya, sekarang lita lihat source code untuk insertion sort menggunakan C.

for (i = 1 ; i <= n - 1; i++) 
{
j = i;
while ( j > 0 && data[j] < data[j-1])
{
temp = data[j];
data[j] = data[j-1];
data[j-1] = temp;
j--;
}
}

Diatas masih sebuah source code dasar metode sorting insertion sort yang diimplementasikan dari algoritma diatas. Untuk contoh programnya dapat dilihat di : Pengurutan data random menggunakan Inserion Sort di C

Selesai ~ Ahmad Ariful Amri