My Little Daemon™

Middle, C ProgrammingJanuary 9, 2008 10:01 pm

Berikut akan dibahas pengendalian command-line dengan menyertakan argumen atau biasa pula disebut dengan switch. Contoh command-line adalah perintah ls yaitu perintah kepada sistem operasi (Unix) untuk menampilkan daftar isi dari suatu direktori aktif. Jika kita tambahkan opsi -l (ls -l) maka ini berarti kita melakukan perintah ls dengan long-listing dimana isi dari direktori yang aktif akan ditampilkan beserta atribut-atribut yang melekat padanya. Penggunaan opsi -l ini yang dalam pembahasan kita ini, kita sebut sebagai argumen command-line atau  switch. Dengan switch kita bisa memodifikasi perilaku dari suatu program, pada contoh di atas : -l merubah perilaku (format penampilan daftar) dari perintah/program ls

Secara konsep, switch berperilaku seperi argumen dari suatu fungsi dalam C. Switch dilewatkan antar program sistem operasi, persis sama dengan pelewatan argumen antar fungsi. Switch dilewatkan sebagai argumen dari fungsi main(). Penulisan argumen adalah sebagai berikut :

main(int argc, char** argv)

Ada dua argumen yang dilewatkan, yang pertama argv adalah sebuah array string karakter. Dan yang kedua adalah sebuah integer, argc, yang menentukan jumlah string dalam array argv. Sintaks deklarasi char** argv menandakan bahwa argv merupakan pointer to pointer to character atau pointer sebuah array karakter atau disebut pula sebagai sebuah array string karakter. Karena berupa array, sehingga kita boleh pula menuliskan deklarasinya seperti berikut :

main(int argc, char** argv[])

Ketika kita menjalankan suatu program, maka array argv memuat semua informasi perihal command-line dan argumen/switch yang disertakan. Pemisah antara command-line dan argumen-argumen yang menyertainya adalah karakter spasi atau spasi kosong (whitespace). Integer argc diberi nilai sebanyak string yang akan dimuatkan. Misalnya kita ingin menjalankan perintah ls -ls, maka kita membutuhkan argc sama dengan 2, dengan perincian sebagai berikut :

argc = 2
argv[0] = “ls”
argv[1] = “-la”

Ok, kita akan menerapkan pengetahuan kita di atas untuk memodifikasi program cpstandar yang telah kita buat pada waktu terdahulu menjadi bisa menggunakan argumen. Argumen yang akan kita gunakan adalah nama file yang akan disalin dan file hasil penyalinnya. Sehingga program penyalin file kita ini menjadi lebih interaktif. Inilah file modifikasi dari cpstandar.c :

File standar2.c

#include <stdio.h>

main(int argc, char** argv)
{
   int c;
   FILE *in, *out;

   in = fopen(argv[1], “r”);
   out = fopen(argv[2], “w”);

   while ((c = fgetc(in)) != EOF)
          fputc(c, out);
}

Runtut proses eksekusinya :

$ ls -l test*
-rw-r–r–  1 handaru  handaru  24 Sep  6 08:37 test
$ ./cpstandar2 test test2
$ ls -l test*
-rw-r–r–  1 handaru  handaru  24 Sep  6 08:37 test
-rw-r–r–  1 handaru  handaru  24 Sep  6 08:38 test2
$

pada contoh ini berlaku :

argc = 3
argv[0] = ./cpstandar2
argv[1] = test
argv[2] = test2

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, FreeBSD, PHP 1:06 pm

Berikut adalah inisialisasi dari langkah panjang kita ke depan untuk mengkolaborasikan bahasa pemrograman C, C++, Perl sebagai engine aplikasi [terutama untuk Administrasi Server FreeBSD] dengan PHP sebagai interface ke usernya. Kali kita hanya membuat script PHP sederhana untuk memerintahkan sistem menampilkan semua proses yang sedang berjalan dengan perintah ps ax :

File my_fisrt_shell.php 

<?php
$output = shell_exec(’ps -ax’);
echo "<pre>$output</pre>";
?>

Hasilnya :

 

FreeBSD…apalagi yang kurang ?

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa

Simple, FreeBSD, Selingan 12:19 am

Langsung aja :

  1. Set IP FreeBSD Anda dengan IP DHCP atau jika mau menggunakan IP lokal statik gunakan range IP 192.168.1.2-192.168.1.254 Netmask 255.255.255.0 Default Gateway 192.168.1.1 begitu pula DNS juga arahkan ke 192.168.1.1 [untuk Speedy personal], namun jika menggunakan Speedy Unlimited [Office ataupun Warnet] set DNS ke DNS telkom.net.id yaitu ke IP 202.134.1.10 dan 202.134.0.15 atau ke IP yang lain karena sebenarnya DNS Telkom ada banyak. Caranya ada DI SINI.
  2. Dengan Firefox/Opera masuk ke URL : 192.168.1.1 lalu login dengan user : admin dan password : adslroot
  3. Klik menu Quick Configuration pada tab Home
  4. Lakukan setting seperti ini :
    ATM Interface : 1
    Encapsulation : PPPoE LLC
    VCI : 35
    Default Route : Enabled

    Username : isikan username dari telkom
    Password : isikan password dari telkom
    Use DNS : Enabled
    Untuk isian lainnya biarkan default kemudian klik Submit
  5. Tunggu hingga indikator DSL dan ACT menyala
  6. Agar ketika modem reboot konfigurasi ini tersimpan, klik tab Admin lalu klik menu Commit & Reboot, selanjutnya klik menu Commit lalu Reboot
  7. Selamat berselancar di dunia maya

Dedicated for Light Intermutimedia
Perusahaan Software Pulsa