Universitas Kristen Maranatha vi
ABSTRAK
Untuk meningkatkan fleksibilitas dan mobilitas administrator sistem, berbagai
terobosan dilakukan untuk pengendalian mesin server dari jarak jauh, yaitu
diciptakannya SSH (Secure Shell), TELNET (Teletype Network), dan sebagainya
dengan maksud mempermudah pekerjaan seorang administrator, namun faktor
situasi dan kondisi lingkungan yang tidak selamanya terdapat jaringan internet
menjadi sebuah kendala bagi administrator dalam mengendalikan mesin server yang
dikelolanya.
Dibuatnya aplikasi modifikasi dari kannel WAP dan SMS gateway ini
dikarenakan banyaknya aplikasi untuk mengendalikan server secara mobile, namun
umumnya aplikasi - aplikasi tersebut dikhususkan untuk smartphone atau PDA
(Personal Digital Assistant). Dengan dibuatnya aplikasi ini diharapkan seorang
administrator tidak harus selalu memiliki sebuah perangkat PDA atau smartphone
untuk mengendalikan servernya, namun cukup dengan sebuah perangkat telepon
seluler yang dapat melakukan pengiriman SMS (Short Message Service). Selain itu
dibuatnya aplikasi ini adalah untuk mengatasi mobilitas seorang administrator yang
tidak selalu berada di depan komputer server atau tidak selalu berada di dalam
suatu jaringan internet, namun dengan adanya aplikasi ini administrator masih dapat
mengakses server yang dikelolanya selama masih ada jaringan GSM (Global
System for Mobile Communication) atau jaringan CDMA(Code Division Multiple
Access).
Universitas Kristen Maranatha vii
DAFTAR ISI
Lembar Pengesahan... i
Lembar Persetujuan Publikasi Karya Ilmiah... ii
Pernyataan Orisinalitas Laporan... iii
Kata Pengantar... iv
Abstrak... vi
Daftar isi... vii
Daftar gambar... xi
Daftar tabel... xii
Daftar Lampiran... xiii
BAB I Pendahuluan... 1
1.1 Latar belakang... 1
1.2 Rumusan Masalah... 2
1.3 Tujuan... 2
1.4 Batasan Masalah... 3
1.5 Metode Penelitian... 3
1.6 Sistematika penulisan laporan... 4
BAB II Landasan Teori... 5
2.1 Linux... 5
Universitas Kristen Maranatha viii
2.3 PHP (PHP Hypertext Preprocessor) ... 7
2.3.1 Sejarah PHP…... 7
2.3.2 Pengertian PHP... 8
2.3.3 Kelebihan PHP... 9
2.4 DNS (Domain Name System) ... 9
2.4.1 Konsep dan hirarki DNS... 9
2.4.2 Cara kerja DNS... 10
2.5 Shell... 11
2.5.1 Profile... 12
2.5.2 History... 13
2.5.3 Bash-script... 14
2.6 Kannel (Opensource WAP and SMS gateway) ... 14
2.7 Perl-Libwww... 15
2.8 Crontab... 15
2.9 MySQL... 16
2.9.1 Keunggulan MySQL... 17
2.10 phpMyAdmin... 17
2.11 PECL(PHP Extension Community Library)... 18
Universitas Kristen Maranatha ix
3.1 Topologi... 19
3.2 Deskripsi Fungsional... 21
3.2.1 Context diagram... 21
3.2.2 Data Flow Diagram level 1... 22
3.2.3 Data Flow Diagram Level 2... 22
3.3 Flowchart proses kendali server Linux... 23
BAB IV Analisis dan Perancangan... 25
4.1 Instalasi dan konfigurasi BIND (Berkeley Internet Name Domain) .... 25
4.2 Instalasi dan konfigurasi web server Apache... 34
4.3 Instalasi basis data MySQL dan phpMyAdmin pada komp.pengendali. 42 4.3.1 Pembuatan basis data untuk manajemen pengguna... 44
4.4 Instalasi pecl_http(PHP Extension Community Library)... 46
4.5 Pembuatan berkas PHP kendali pada komputer pengendali... 47
4.6 Pembuatan berkas PHP pengontrol pada server... 55
4.7 Instalasi dan konfigurasi Kannel SMS gateway... 60
4.8 Instalasi Libwww-Perl... 70
4.9 Skrip bash untuk mengecek koneksi server... 71
4.10 Pengujian port menggunakan nmap... 75
4.11 Kompresi log dari berkas koneksi.sh... 78
Universitas Kristen Maranatha x
BAB V Pengujian... 81
5.1 Whitebox testing... 81
5.2 Blackbox testing... 86
BAB VI Kesimpulan dan Saran... 88
6.1 Kesimpulan... 88
6.2 Saran... 88
Daftar Pustaka... ix
Universitas Kristen Maranatha xi
DAFTAR GAMBAR
Gambar 1 Keterkaitan Linux dengan UNIX... 5
Gambar 2 Topologi yang digunakan dalam membangun sistem... 19
Gambar 3 Context diagram sistem pengendali server Linux... 21
Gambar 4 Data Flow Diagram(DFD) level 1 sistem pengendali server Linux.. 22
Gambar 5 Data Flow Diagram(DFD) level 2 sistem pengendali server Linux.. 23
Gambar 6 Flowchart prosedur registrasi... 24
Gambar 7 Flowchart prosedur eksekusi... 24
Gambar 8 Apache berhasil terinstall pada sistem... 35
Gambar 9 Pemindahan berkas direktori ke /home/valentino/web/ ... 40
Gambar 10 PHP berhasil terinstall dan dikenali oleh sistem... 41
Gambar 11 PhpMyAdmin berhasil terinstall pada sistem... 44
Gambar 12 Penghapusan paksa oleh administrator... 81
Gambar 13 Nomor ponsel berhasil terdaftar... 82
Gambar 14 Ponsel melakukan un-registrasi... 83
Gambar 15 Ponsel telah terdaftar pada sistem... 83
Gambar 16 Pesan kesalahan jika mengirimkan perintah kosong... 84
Gambar 17 Balasan ketika melakukan eksekusi terhadap server... 84
Gambar 18 Nomor ponsel tidak terdaftar... 85
Gambar 19a Ketika server kembali terkoneksi dengan jaringan... 86
Universitas Kristen Maranatha xii
DAFTAR TABEL
Tabel 1 Berkas PHP untuk administrator kata pendek... 80
Universitas Kristen Maranatha xiii
DAFTAR LAMPIRAN
Universitas Kristen Maranatha ix
DAFTAR PUSTAKA
[Wil06] Bambang. T. H, Wilfridus; Modul mata kuliah administrasi Linux;
Universitas Kristen Maranatha, 2006.
[Kan06] Kannel:Open Source WAP and SMS gateway. 2006.
Available from : http://kannel.org [cited May - Jun 2007]
[Auth06] Authentication, Authorization and Access. 2006
Available from : http://httpd.apache.org/docs/2.0/howto/auth.html
[cited 15 Jun 2007]
[Int07] Intermediate Technique: PHP + mySQL Guestbook Dalam Satu File.
2007. Available from :
http://72.14.235.104/search?q=cache:NT64m1gQRLoJ:202.51.235.12
0/taryan/master/windows/Webserver/bukutamu.rtf+apakah+_GET&hl
=id&ct=clnk&cd=8&gl=id [cited 10 Jun 2007]
[Pen07] Penjadwalan Cron. Available from :
http://pinguin.stttelkom.ac.id/modules/mediawiki/index.php/Penjadwal
an_Cron [cited 5 Jun 2007]
[Bas07] Bash Reference Manual. Available from :
http://www.gnu.org/software/bash/manual/bashref.html [cited 25 May
2007]
[Lib07] Libwww-Perl. Available from : http://www.linpro.no/lwp/ [cited 28 May
2007]
[Apa07] Apache HTTP Server Project. Available from : http://httpd.apache.org/
Universitas Kristen Maranatha x
[php07] PHP. Available from : http://php.net/ [cited 3 Mar 2007]
[Wik07] PHP definitions. Available from : http://id.wikipedia.org/wiki/PHP [cited
20 May 2007]
[Per07] The Perfect Setup - Debian Sarge (3.1). Available from :
http://www.falkotimme.com/howtos/perfect_setup_debian_sarge/
[cited 10 Mar 2007]
[Deb07] [Debian Sarge] Installing A Bind9 Master/Slave DNS System.
Available from :
http://www.howtoforge.com/debian_bind9_master_slave_system
[cited 29 Mar 2007]
[Pecl07] pecl_http PHP module. Available from:
http://pecl.php.net/package/pecl_http [cited 25 Juli 2007]
[Myadmin07] phpmyadmin official web site. Available from:
http://www.phpmyadmin.net/ [cited 28 July 2007]
[Mysql07] Mysql database. Available from: http://www.mysql.com [cited 30 July
Universitas Kristen Maranatha xi
LAMPIRAN A
Berkas PHP untuk menambahkan kata pendek
Berkas admin.php
<?
session_start();
$sessid = session_id();
$berkas = "/home/valentino/web/perintah/session.txt"; $open = fopen($berkas,'r');
$data = fread($open,32);
if($data == $sessid){
echo "<html>";
echo "<head><title>Tambah Kata Pendek</title></head>"; echo "<body>";
echo "<center>";
echo "<h1>Tambah Kata Pendek</h1>"; echo "<br>";
echo "<table>";
echo "<form action = \"simpan.php\" method = \"POST\">"; echo "<tr>";
echo "<td>Kata Pendek</td>"; echo "<td>:</td>";
echo "<td><input type=\"text\" name=\"ktpendek\" size=\"15\" maxlength=\"50\"></td>"; echo "</tr>";
echo "<tr>";
Universitas Kristen Maranatha xii
echo "<td><input type=\"text\" name=\"perintah\" size=\"15\" maxlength=\"160\"></td>"; echo "</tr>";
echo "<tr>";
echo "<td></td><td></td><td><input type=\"submit\" value=\"Simpan\"><a href=\"logout.php\"><input type=\"submit\" value=\"Logout\"></a></td>"; echo "</tr>";
echo "</form>"; echo "</table>";
echo "<h3>Hapus Kata Pendek</h3>"; echo "<table>";
echo "<form action = \"hapusdb.php\" method = \"POST\">"; echo "<tr>";
echo "<td>Kata Pendek</td><td><input type=\"text\" name=\"delpendek\" size=\"15\" maxlength=\"50\"></td>";
echo "</tr>"; echo "<tr>";
echo "<td><input type=\"submit\" value=\"Hapus Data\">"; echo "</tr>";
Print "<br><br><b>Tabel Kata Pendek</b><br>";
mysql_connect("localhost", "root", "ukm12345*") or die(mysql_error()); mysql_select_db("kannel") or die(mysql_error());
Universitas Kristen Maranatha xiii
Print "<table border cellpadding=3>"; Print "<tr>\n<td>";
Print "<b><center>Kata Pendek</center></b></td>\n"; Print "<td><b><center>Perintah</center><b></td>\n"; Print "</tr>";
while($info = mysql_fetch_array( $data )) {
Print "<tr>";
Print "<td>".$info['ktpendek'] . "</td> "; Print "<td>".$info['perintah'] . "</td></tr>"; }
Print "</table>";
}else{
header("location: administrator.php"); }
<form action="cekpwd.php" method="POST"> <tr>
Universitas Kristen Maranatha xiv
<td><input type="text" name="username" size="15" maxlength="20"></td> </tr>
<tr>
<td>Kata Kunci</td> <td>:</td>
<td><input type="password" name="password" size="15" maxlength="20"></td> </tr>
<tr>
<td></td><td></td><td><input type="Submit" value="Login"></td> </tr>
Berkas cekpwd.php
<?
session_start();
$sessid = session_id();
$user = $_POST["username"]; $pwd = $_POST["password"]; $pengguna = md5($user); $katakunci = md5($pwd);
function cekPasswd(){
Universitas Kristen Maranatha xv
$file = "/home/valentino/web/perintah/usr.txt"; $open = fopen($file,'r');
$data = fread($open,32); fclose($open);
return $data; }
$cekPw = cekPasswd(); $cekUsr = cekUser();
if(($pengguna == $cekUsr)&&($katakunci==$cekPw)){ $file = "/home/valentino/web/perintah/session.txt"; $fw = fopen($file,'w')or die("Tidak dapat membuka file!"); fwrite($fw,$sessid);
fclose($fw);
header("location: admin.php");
}else if(($pengguna != $cekUsr)&&($katakunci!=$cekPw)){ echo "Login Gagal!";
}else{
header("location: administrator.php"); }
Universitas Kristen Maranatha xvi
Berkas hapusdb.php
<?
session_start();
$sessid = session_id(); $delet=$_POST["delpendek"];
$berkas = "/home/valentino/web/perintah/session.txt"; $open = fopen($berkas,'r');
$data = fread($open,32);
if($data == $sessid){
mysql_connect("localhost", "root", "ukm12345*") or die(mysql_error()); mysql_select_db("kannel") or die(mysql_error());
$data = mysql_query("DELETE FROM shortcut WHERE ktpendek='$delet'")or die(mysql_error());
echo "Hapus data berhasil dilakukan!";
echo "<a href=\"admin.php\"><input type=\"submit\" value=\"Kembali\"></a>"; }else{
header("location: administrator.php"); }
?>
Berkas logout.php
<?
session_start();
Universitas Kristen Maranatha xvii
$file = "/home/valentino/web/perintah/session.txt";
$fw = fopen($file,'w')or die("Tidak dapat membuka file!"); fwrite($fw,"");
fclose($fw);
echo "Anda Telah Melakukan Logout";
Print "<form action=\"administrator.php\">";
Print "<input type=\"Submit\" value=\"Kembali Ke halaman Login\""; Print "</form>";
?>
Berkas simpan.php
<?
session_start();
$sessid = session_id();
$berkas = "/home/valentino/web/perintah/session.txt"; $open = fopen($berkas,'r');
$data = fread($open,32);
$ktpendek=$_POST["ktpendek"]; $perintah=$_POST["perintah"];
mysql_connect("localhost", "root", "ukm12345*") or die(mysql_error()); mysql_select_db("kannel") or die(mysql_error());
if($data == $sessid){
Universitas Kristen Maranatha xviii
echo "Simpan Data Berhasil Dilakukan<br>";
Print "<a href=\"admin.php\"><input type=\"button\" value=\"Kembali\"></a>";
}else{
header("location: administrator.php"); }
Universitas Kristen Maranatha 1
BAB I
PENDAHULUAN
Bab ini menjelaskan latar belakang masalah, rumusan masalah, tujuan,
pembatasan masalah, batasan masalah, metode penelitian yang dilakukan, dan
sistematika penulisan tugas akhir ini.
1.1 Latar Belakang
Server adalah sebuah sistem komputer yang menyediakan jenis layanan
tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor dan
RAM (Random Access Memory) yang besar, juga dilengkapi dengan sistem operasi
khusus. Mesin server umumnya dikelola oleh seorang administrator sistem
komputer, karena sebuah server memerlukan pemeliharaan khusus untuk
operasinya.
Seorang administrator sistem harus mampu untuk menangani setiap
permasalahan yang terjadi pada server dalam waktu 7 x 24 jam, karena umumnya
server (dalam perusahaan besar) bersifat waktu nyata (realtime), khususnya
perusahaan yang bergerak dalam bidang-bidang perbankan sehingga diperlukan
penanganan khusus dan secepatnya untuk menghadapi setiap permasalahan yang
terjadi. Server juga memerlukan pemeliharaan ekstra yaitu adanya waktu berkala
untuk memperbaharui sistem server dengan paket-paket terbaru sebagai alasan
sekuriti.
Terkadang mobilitas seorang administrator menjadi sebuah kendala ketika
server yang dikelolanya mengalami suatu masalah. Umumnya ketika sebuah server
tidak bisa memberikan pelayanan semestinya (down) dan administrator tidak
Universitas Kristen Maranatha 2 sms. Jika permasalahan tersebut memerlukan penanganan dini dan lokasi seorang
administrator tidak terdapat jaringan internet untuk melakukan pengendalian server
akan menjadi sebuah masalah yang cukup serius. Masalah lainnya yaitu banyaknya
aplikasi yang terdapat di pasaran hanya mengkhususkan aplikasinya untuk
smartphone dan PDA (Personal Digital Assistant), sedangkan tidak semua
administrator memiliki perangkat tersebut dikarenakan harganya yang mahal.
1.2 Rumusan Masalah
Berdasarkan latar belakang permasalahan di atas, maka dalam tugas akhir ini
masalah yang dirumuskan adalah :
1. Membuat suatu aplikasi atau sistem yang dapat menjadi sebuah solusi
untuk masalah tersebut, sehingga meminimalisasi kemungkinan seorang
administrator tidak bisa melakukan apa-apa ketika server yang dikelolanya
mengalami permasalahan.
2. Membuat suatu sistem untuk dapat melakukan pengendalian server
walaupun tidak terdapat jaringan internet, dengan memanfaatkan jaringan
GSM (Global System for Mobile Communication) atau CDMA (Code
Division Multiple Access).
3. Seorang administrator dapat mengetahui setiap saat ketika server yang
dikelolanya down.
1.3 Tujuan
Mempermudah kinerja seorang administrator sehingga dapat bekerja dimana
saja sebagai tuntutan mobilitas, khususnya dapat mengatasi permasalahan server
dengan sesegera mungkin, serta dapat melakukan pemeliharaan secara berkala
Universitas Kristen Maranatha 3 1.4 Batasan Masalah
Dikarenakan aplikasi ini untuk mengendalikan server melalui SMS (Short
Message Service), maka batasan permasalahan yang dibuat mencakup:
1. Sistem operasi yang digunakan utuk mesin server dan komputer
pengontrol adalah Linux Debian Etch 4.0 dengan kernel 2.6.18.
2. Perintah yang digunakan untuk melakukan pengendalian server dilakukan
berdasarkan kebijakan administrator, mengingat bahwa SMS memiliki
batasan 160 karakter per SMS.
3. Server dapat dikendalikan selama terdapat jaringan telepon seluler GSM
dan kondisi jaringan antara server dan komputer pengontrol tidak terdapat
masalah yang krusial.
4. Berkas konfigurasi backup yang disimpan pada direktori lainnya selain
berkas sistem tidak terhapus atau tidak mengalami perubahan konfigurasi,
dengan asumsi bahwa berkas backup tersebut merupakan konfigurasi
yang standar dimana konfigurasi tersebut pasti akan dapat berjalan dengan
baik.
1.5 Metode Penelitian
Penelitian dimulai dengan melakukan observasi terhadap permasalahan umum
yang terjadi pada server, khususnya ketika mati listrik ataupun tegangan listrik yang
naik-turun yang menyebabkan konfigurasi server menjadi bermasalah.
Kemudian penelitian dilanjutkan dengan mempelajari kira-kira perintah apa
saja yang mungkin akan sangat dibutuhkan pada saat yang mendesak ataupun saat
tidak mendesak untuk melakukan perubahan konfigurasi. Disini diasumsikan telah
terdapat sebuah direktori backup data-data konfigurasi dan data-data konfigurasi
Universitas Kristen Maranatha 4 1.6 Sistematika Penulisan Laporan
Untuk memberikan gambaran secara menyeluruh masalah yang akan dibahas
dalam laporan tugas akhir ini, maka sistematika penulisan laporan ini dibagi dalam
beberapa bab.
BAB I menjelaskan mengenai latar belakang, rumusan masalah, tujuan,
batasan masalah, dan sistematika penulisan laporan.
BAB II akan dijelaskan mengenai landasan teori yang mendukung
pembangunan aplikasi ini, yaitu Linux, Apache, PHP(PHP Hypertext Preprocessor),
BIND(Berkeley Internet Name Domain), Bash(Bourne Again Shell), Kannel(WAP
and SMS Gateway), MySql.
BAB III menjelaskan tentang analisa dan pemodelan yang digunakan dalam
pembangunan sistem.
BAB IV akan dijelaskan tahap-tahap perancangan sistem, berikut konfigurasi
sistem.
BAB V menjelaskan tentang pengujian terhadap sistem yang dibuat, serta
laporan dari kuesioner berupa whitebox dan blackbox testing.
Universitas Kristen Maranatha 89
BAB VI
KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan yang diperoleh penulis selama
mengembangkan sistem serta saran yang diharapkan dapat dikembangkan pada
masa yang akan datang.
6.1 Kesimpulan
Kesimpulan yang dapat ditarik selama proses pengembangan dan pembuatan
sistem yaitu sistem ini dapat menghasilkan nilai guna yang cukup tinggi khususnya
bagi administrator sistem, dimana sistem ini dapat mengatasi terbatasnya jaringan
internet dan memanfaatkan teknologi SMS sebagai media alternatif untuk
melakukan kendali server.
Selain itu sistem ini dapat dimodifikasi dengan menambahkan suatu notifikasi
jika server yang dituju koneksinya terputus yang dapat memudahkan administrator
untuk mengetahui kapan server yang dikelolanya terputus dari jaringan.
Fitur lainnya yaitu sistem ini dapat melakukan pengujian port-port yang
terbuka, dimana ketika susunan port yang terdapat pada server berubah, sistem
akan mengirimkan suatu notifikasi terhadap ponsel administrator melalui SMS
bahwa port telah berubah sehingga administrator dapat langsung mengambil
tindakan selanjutnya ketika notifikasi diterima.
6.2 Saran
Saran yang dimungkinkan untuk dikembangkan dengan berawal dari sistem ini
ialah:
Merubah sistem dari pengendalian menggunakan SMS menjadi GPRS untuk
Universitas Kristen Maranatha 90
Membuat agar sistem yang terdapat pada komputer pengendali maupun
komputer server dapat dibuat untuk melakukan pengendalian beberapa buah
Universitas Kristen Maranatha ix
DAFTAR PUSTAKA
[Wil06] Bambang. T. H, Wilfridus; Modul mata kuliah administrasi Linux;
Universitas Kristen Maranatha, 2006.
[Kan06] Kannel:Open Source WAP and SMS gateway. 2006.
Available from : http://kannel.org [cited May - Jun 2007]
[Auth06] Authentication, Authorization and Access. 2006
Available from : http://httpd.apache.org/docs/2.0/howto/auth.html
[cited 15 Jun 2007]
[Int07] Intermediate Technique: PHP + mySQL Guestbook Dalam Satu File.
2007. Available from :
http://72.14.235.104/search?q=cache:NT64m1gQRLoJ:202.51.235.12
0/taryan/master/windows/Webserver/bukutamu.rtf+apakah+_GET&hl
=id&ct=clnk&cd=8&gl=id [cited 10 Jun 2007]
[Pen07] Penjadwalan Cron. Available from :
http://pinguin.stttelkom.ac.id/modules/mediawiki/index.php/Penjadwal
an_Cron [cited 5 Jun 2007]
[Bas07] Bash Reference Manual. Available from :
http://www.gnu.org/software/bash/manual/bashref.html [cited 25 May
2007]
[Lib07] Libwww-Perl. Available from : http://www.linpro.no/lwp/ [cited 28 May
2007]
[Apa07] Apache HTTP Server Project. Available from : http://httpd.apache.org/
Universitas Kristen Maranatha x
[php07] PHP. Available from : http://php.net/ [cited 3 Mar 2007]
[Wik07] PHP definitions. Available from : http://id.wikipedia.org/wiki/PHP [cited
20 May 2007]
[Per07] The Perfect Setup - Debian Sarge (3.1). Available from :
http://www.falkotimme.com/howtos/perfect_setup_debian_sarge/
[cited 10 Mar 2007]
[Deb07] [Debian Sarge] Installing A Bind9 Master/Slave DNS System.
Available from :
http://www.howtoforge.com/debian_bind9_master_slave_system
[cited 29 Mar 2007]
[Pecl07] pecl_http PHP module. Available from:
http://pecl.php.net/package/pecl_http [cited 25 Juli 2007]
[Myadmin07] phpmyadmin official web site. Available from:
http://www.phpmyadmin.net/ [cited 28 July 2007]
[Mysql07] Mysql database. Available from: http://www.mysql.com [cited 30 July