Home > Serba-serbi > Source Code, Kok Error?

Source Code, Kok Error?


Tulisan kali ini mengajak kita bermain…menguji kejelian…ketelitian kita dalam melihat kode program atau source code. Semoga ada manfaatnya…kok bisa? Nggak percaya ya? Banyak lho…seleksi penerimaan staff IT apakah programmer, network administrator atau analis sistem…peserta diperlihatkan kode program yang salah …dan kemudian diminta membetulkan program tersebut…setidaknya…harus mengetahui dimana salahnya.🙂

1. Mengapa script PHP di bawah ini menampilkan teks “Film dewasa” saat dipanggil melalui web browser:

<?php

$usia = 8;
$anak = 12;

function pilihFilm(){
if ($usia < $anak){
echo "Film anak-anak";
}
else {
echo "Film dewasa";
}
}

pilihFilm();

?>

Solusi: Masukkan baris:

global $usia,$anak;

ke dalam fungsi pilihFilm() pada bagian deklarasinya.

2. Sangat berniat menjadi seorang web programmer? Temukan kesalahan atau kekurangan dari pernyataan (script) HTML, CSS dan PHP berikut:

<html>
<head>

<style>
body {
font: "Times New Roman";
}
</style>
</head>
<body>

<?
$roles&#91;andi&#93;   = "Developer";
$roles&#91;detlef&#93; = "Boss";
?>

<img src="logo.gif" align=left>

<H1>Hello <?= $roles&#91;$_GET&#91;'user'&#93;&#93;?>!</H1>

<?
$list = new Array();
$list&#91;&#93; = "Apple";
$list&#91;&#93; = "Peach":
$list&#91;&#93; = "Orange";

for(i=0; i<count($list); i++){
echo "<li><b><i>".$list[$i]."</b></i>";
}
?>

</body>
</html>

3. Berikut ini adalah contoh program tebak angka yang sudah begitu populer:

<?php
$num_to_guess = 42;
$message = "";

if (!isset($_post&#91;guess&#93;)) {
$message = "Welcome to the guessing machine!";
} elseif ($_POST&#91;guess&#93; > $num_to_guess) {
$message = "$_POST[guess] is too big! Try a smaller number";
} elseif ($_POST[guess] < $num_to_guess) {
$	message = "$_POST&#91;guess&#93; is too small! Try a larger number";
} else { // pasti tebakan benar
$message = "Well done!";
}
?>

<html>
<head>
<title>A PHP number guessing script</title>
</head>
<body>
<h1>
<?php print $message ?>
</h1>
<form action="<?php print $_SERVER&#91;PHP_SELF&#93; ?>" method="post">
Type your guess here:
<input type="text" name="guess">
<input type="hidden" name="num_tries" value="<?php print $num_tries?>">
</form>
</body>
</html>

Saat dimasukkan angka lebih kecil dari 42 tidak muncul pesan “…is too small! Try a larger number”, begitu pula yang terjadi saat angka lebih besar dari 42 dimasukkan, tidak ada pesan “…is too big! Try a smaller number”, mengapa?

4. Kasus tambahan.

Suatu script PHP berisi perintah-perintah untuk membangun koneksi ke database. Jika saat dieksekusi, dipanggil oleh web browser, database server dalam kondisi down, apa yang akan terjadi? Script seperti di bawah ini akan lebih informatif bila terjadi kegagalan dalam membangun koneksi?

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

5. Kasus tambahan.

Kita memiliki suatu server MySQL yang dapat dikelola lewat web melalui software PHPMyAdmin. Adalah sangat fatal jika konfigurasi standard PHPMyAdmin tidak dikonfigurasi lebih lanjut, terutama pada username = “root” dan password = “”. Artinya, siapapun dapat mengakses URL dimana PHPMyAdmin berada dan langsung dapat mengubaha data yang terdapat dalam database, karena user tertinggi, root, tidak dipassword.

  1. cantabile2
    26 October 2008 at 2:00 pm

    ini mungkn berguna untuk cara mengepost source code di blog
    http://faq.wordpress.com/2007/09/03/how-do-i-post-source-code/

  2. 27 October 2008 at 9:15 am

    Ok, thanks banget nirma. Semoga bermanfaat bagi para blogger di wordpress.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: