Selamat Datang Di Blog Kami

إِنَّ اللهَ لاَ يَنْظُرُ إِلَى صُوَرِكُمْ وَ أَعْمَالِكُمْ وَ إِنَّمَا يَنْظُرُ إِلَى قُلُوْبِكُمْ وَ نِيَّاتِكُمْ

“Sesungguhnya Allah tidak melihat kepada rupa dan amal-amal kalian, tetapi Dia melihat kepada hati dan niat kalian.” (shahih Muslim dan lainnya)

Selasa, 19 Januari 2010

Komunikasi data serial

Contoh coding berikut adalah potongan program sederhana untuk keperluan komunikasi data serial menggunakan C++ Builder. Pada contoh ini hanya digunakan komponen - komponen standar dari C++ Builder yaitu komponen Memo dan object Thread.
1. Jalankan C++ Builder dan mulailah dengan Start New Project
2. Tambahkan komponen Memo pada Form1 yang tersedia. Setting properties dari Memo1 sesuai dengan keinginan anda.
3. Pada menu File->New, tambahkan object Thread. Gunakan nama class TRead.
4. Jika langkah yang anda lakukan benar dapat anda lihat 2 buah file unit, yaitu: Unit1.cpp untuk Form1 dan Unit2.cpp untuk Thread.
5. Pada event handlers lakukan setting: Form1->OnCreate; Form1->OnClose; Memo1->OnKeyPress

Pada Main Form, edit listing program menjadi seperti berikut :
//---------------------------------------------------------------------------

'#include 

'#pragma hdrstop

'#include "Unit1.h"

'#include "Unit2.h"

HANDLE hComm = NULL;

TRead ReadThread;

COMMTIMEOUTS ctmoNew = {0}, ctmoOld;

//---------------------------------------------------------------------------

'#pragma resource ".dfm"

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

DCB dcbCommPort;

hComm = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

if(hComm == INVALID_HANDLE_VALUE)

Application->Terminate();

GetCommTimeouts(hComm,&ctmoOld);

ctmoNew.ReadTotalTimeoutConstant = 100;

ctmoNew.ReadTotalTimeoutMultiplier = 0;

ctmoNew.WriteTotalTimeoutMultiplier = 0;

ctmoNew.WriteTotalTimeoutConstant = 0;

SetCommTimeouts(hComm, &ctmoNew);

dcbCommPort.DCBlength = sizeof(DCB);

GetCommState(hComm, &dcbCommPort);

BuildCommDCB("9600,N,8,1", &dcbCommPort);

SetCommState(hComm, &dcbCommPort);

ReadThread = new TRead(false);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

{

ReadThread->Terminate();

Sleep(250);

PurgeComm(hComm, PURGE_RXABORT);

SetCommTimeouts(hComm, &ctmoOld);

CloseHandle(hComm);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)

{

TransmitCommChar(hComm, Key);

if(Key != 13 && (Key < ' ' || Key > 'z')) Key = 0;

}

//---------------------------------------------------------------------------

Pada Thread, edit listing program menjadi seperti berikut:
//---------------------------------------------------------------------------

'#include 

'#pragma hdrstop

'#include "Unit1.h"

'#include "Unit2.h"

extern HANDLE hComm;

char InBuff[100];

//---------------------------------------------------------------------------

__fastcall TRead::TRead(bool CreateSuspended) :TThread(CreateSuspended)

{

}

//---------------------------------------------------------------------------

void __fastcall TRead::DisplayIt()

{

Form1->Memo1->SetSelTextBuf(InBuff);

}

//---------------------------------------------------------------------------

void __fastcall TRead::Execute()

{

DWORD dwBytesRead;

FreeOnTerminate = true;

while(1)

{

ReadFile(hComm, InBuff, 50, &dwBytesRead, NULL);

if(dwBytesRead)

{

InBuff[dwBytesRead] = 0;

Synchronize(DisplayIt);

}

}

}

//---------------------------------------------------------------------------

Yang berikutnya adalah melakukan sinkronisasi fungsi DisplayIt() pada Thread. Buka file unit2.h dan tambahkan baris DisplayIt() seperti berikut
//---------------------------------------------------------------------------

class TRead : public TThread

{

private:

protected:

void __fastcall DisplayIt(void);

void __fastcall Execute();

public:

__fastcall TRead(bool CreateSuspended);

};

//---------------------------------------------------------------------------
Selesai.

from : ARIEF SHAFF

I2C

I2C merupakan teknologi yang digunakan untuk berkomunikasi antar IC menggunakan format komunikasi data serial. Dengan demikian mikrokontroler dapat berkomunikasi dengan perangkat lain secara efektif dan efisien. Berikut adalah rutin program yang biasa diterapkan dalam berkomunikasi dengan memori serial. Di dalam sub rutin tersebut terdiri dari rutin - rutin :
1. SMDelay, memberi waktu jeda
2. SMStart, memulai komunikasi serial
3. SMStop, mengakhiri komunikasi serial
4. SMPutBit, mengirim data bit
5. SMGetBit, mengambil data bit
6. SMWriteByte, menulis data byte
7. SMReadByte, membaca data byte
8. SMWrite, menulis data serial
9. SMRead, membaca data serial
10. SMIncAddress, mengakses alamat berikutnya
11. SMSetAddress, menset alamat memori
Dalam pemrograman mcs-51 yang perlu diinisialisasikan adalah SMBuf (memori sementara sesaat sebelum/setelah dikirimkan), SCL (bit serial clock), SDA (bit serial data). Juga penggunaan memori 16 bit (DPTR) untuk keperluan pengalamatan memori serial (SMAddHigh dan SMAddrLow).
SMDelay:
nop
nop
nop
nop
ret

SMStart:
clr SCL
setb SDA
setb SCL
call SMDelay
clr SDA
call SMDelay
clr SCL
call SMDelay
ret

SMStop:
clr SCL
clr SDA
setb SCL
call SMDelay
setb SDA
call SMDelay
ret

SMPutBit:
mov SDA,c
setb SCL
call SMDelay
clr SCL
call SMDelay
ret

SMGetBit:
setb SDA
setb SCL
call SMDelay
mov c,SDA
clr SCL
call SMDelay
ret

SMWriteByte:
push 0
mov 0,#8
SMWriteByteLoop:
rlc a
call SMPutBit
djnz 0,SMWriteByteLoop
pop 0
ret

SMReadByte:
push 0
mov 0,#8
SMReadByteLoop:
call SMGetBit
rlc a
djnz 0,SMReadByteLoop
pop 0
ret

SMWrite:
push acc
push psw
call SMStart
mov a,SMAddHigh
rlc a
orl a,#10100000b
call SMWriteByte
call SMGetBit
mov a,SMAddLow
call SMWriteByte
call SMGetBit
mov a,SMBuf
call SMWriteByte
call SMGetBit
call SMStop
BusyLoop:
mov a,#10100000b
call SMStart
call SMWriteByte
call SMGetBit
jc BusyLoop
pop psw
pop acc
ret

SMRead:
push acc
push psw
call SMStart
mov a,SMAddHigh
rlc a
orl a,#10100000b
call SMWriteByte
call SMGetBit
mov a,SMAddLow
call SMWriteByte
call SMGetBit
call SMStart
mov a,SMAddHigh
rlc a
orl a,#10100001b
call SMWriteByte
call SMGetBit
call SMReadByte
mov SMBuf,a
call SMGetBit
call SMStop
pop psw
pop acc
ret

SMIncAddress:
push acc
push psw
mov a,SMAddLow
add a,#1
mov SMAddLow,a
mov a,SMAddHigh
addc a,#0
mov SMAddHigh,a
pop psw
pop acc
ret

SMSetAddress:
mov SMAddLow,dpl
mov SMAddHigh,dph
ret
Tags: MCS51

from. arief shaff

Menjadikan flashdisk sebagai dongle aplikasi

Banyak cara untuk membuat aplikasi menjadi lebih aman baik pada pendistribusian maupun penggunaannya. Berikut adalah cara sederhana membuat dongle aplikasi dengan memanfaatkan flash disk. Hal ini dilakukan dengan membaca serial number dari flash disk yang akan di setting menjadi dongle, mengingat serial number yang tertera pada flash disk merupakan kumpulan angka spesifik yang selalu berbeda setiap flash disk tersebut di format.
Pada listing program berikut, setiap aplikasi dijalankan akan selalu membaca drive flash disk. Apabila terdapat drive flash disk dengan serial number yang sudah disetting maka aplikasi yang sebenarnya akan ditampilkan.

//---------------------------------------------------------------------------
'#include 
'#pragma hdrstop
'#include "uflash.h"
'#include "stdlib.h"
//---------------------------------------------------------------------------
'#pragma package(smart_init)
'#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
        String drive;
        String VOLUME;
        DWORD SerialNumber;
        VOLUME.SetLength(255);
        drive = "D:\";
        String DRIVE = drive;
        GetVolumeInformation(DRIVE.c_str(), VOLUME.c_str(), VOLUME.Length(), &SerialNumber,
                NULL, NULL, NULL, NULL);
        Label5->Caption = DRIVE;
        Label6->Caption = VOLUME;
        char TEKS[30];
        itoa (SerialNumber, TEKS, 15);
        Label7->Caption = SerialNumber;
        Edit2->Text = SerialNumber;
        if (SerialNumber == 761563863) //ganti SerialNumber sesuai dengan flashdisk yang anda gunakan
        {
            Label8->Caption = "Flash disk cocok";
                        //Disini ditulis perintah untuk meload aplikasi yang sesungguhnya
        }
        else
        {
            Label8->Caption = "Flash disk tidak terpasang / tidak cocok";
        }
        Timer1->Enabled = false;
        HANDLE serialnumber;
        char buffer[10];
        DWORD byte_yang_ditulis;
        serialnumber = CreateFile(Edit1->Text.c_str(), GENERIC_WRITE, 0,
                NULL, OPEN_ALWAYS, FILE_FLAG_RANDOM_ACCESS, 0);
        strcpy(buffer, Edit2->Text.c_str());
        WriteFile(serialnumber, buffer, sizeof(buffer), &byte_yang_ditulis, NULL);
        CloseHandle(serialnumber);

        Close();

Pada contoh listing diatas, flashdisk sudah diset sebagai drive D, sehingga aplikasi akan menemukan kesalahan jika:
  • Partisi hardisk komputer berubah.
  • Partisi flashdisk berubah / flashdisk di format ulang.
  • Flashdisk dikenali bukan sebagai drive D (jika terdapat USB storage lain sebelum flashdisk dongle dipasang).
from. shaffan.net

Rabu, 30 Desember 2009

Program J2ME Sistem Control Instument dgn DTMF

Listing Program J2ME
// Inisialisasi package yang digunakan
package remoteHp;
import javax.microedition.lcdui.*;
import java.io.*;
import java.lang.*;
class FirstCover extends TextBox implements CommandListener{
// Deklarasikan variabel dan obyek image
private final FirstMIDlet midlet;
private final Command exitCommand;
private final Command continueCommand;
private String kata;
// Konstruktor GambarCover
FirstCover(FirstMIDlet midlet, String kata){
super("Nama : ", kata,256,TextField.ANY);
this.midlet = midlet;
continueCommand = new Command("Next", Command.SCREEN,2);
addCommand(continueCommand);
exitCommand = new Command("Exit", Command.EXIT, 1);
addCommand(exitCommand);
setCommandListener(this);
}
protected void hideNotify(){
}
public void commandAction(Command c, Displayable d){
if(c == continueCommand){
midlet.FirstCoverDone(getString());
}else if(c == exitCommand){
midlet.exitRequested();
}
}
}
// Deklarasi untuk mendefinisikan package-package yang diperlukan oleh midlet
package remoteHp;
import com.sun.midp.lcdui.DisplayEvents;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class FirstMIDlet extends MIDlet{
// Definisikan obyek cover
private FirstCover cover;
private NextCover next;
private String kata;
boolean pause;
// Konstruktor GambarMIDlet
public FirstMIDlet(){
kata="remoteHp";
// Ciptakan obyek cover
cover = new FirstCover(this, kata);
}
// Tampilkan apllikasi
public void startApp(){
// Jalankan Display yang aktif
Displayable current = Display.getDisplay(this).getCurrent();
if(current == null){
Display.getDisplay(this).setCurrent(cover);
}else{
Display.getDisplay(this).setCurrent(cover);
pause = true; }
}
// Ketika aplikasi dihentikan sementara
public void pauseApp(){
}
protected void hideNotify(){
}
public boolean cektampil(){
Displayable current = Display.getDisplay(this).getCurrent();
if(current.isShown()){
return true;
}else{
return false; }
}
// Dekonstruktor
public void destroyApp(boolean b){}
// Jika keluar dari aplikasi
void exitRequested(){
destroyApp(false);
notifyDestroyed();
}
void FirstCoverDone(String nama){
if(nama == null){
nama = "tidak ada";
}
next = new NextCover(this, nama);
Display.getDisplay(this).setCurrent(next);
}
}
// Inisialisasi package yang digunakan
package remoteHp;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;
import javax.microedition.rms.*;
import java.util.*;
import java.io.*;
import java.lang.*;
public class NextCover extends Canvas implements CommandListener{
// Deklarasikan variabel dan obyek image
private final FirstMIDlet midlet;
private static Image coverImages = null;
private final Command exitCommand;
private static Image gambar = null;
private static int frameHeight, frameWidth;
private Player p;
private String kata;
private String katalain;
private static boolean lampuflag = false;
private static boolean staterflag = false;
private static boolean senkananflag = false;
private static boolean senkiriflag = false;
private static boolean klaksonflag = false;
boolean tampil;
Delay delay;
private InputStream is;
// Konstruktor GambarCover
NextCover(FirstMIDlet midlet, String kata){
this.midlet = midlet;
this.kata = kata;
exitCommand = new Command("Exit", Command.EXIT, 1);
addCommand(exitCommand);
setCommandListener(this);
}
public void commandAction(Command c, Displayable d){
if(c == exitCommand){
midlet.exitRequested();
}
}
protected void keyPressed(int keyCode){
switch(keyCode){
case KEY_NUM2:
kata = "lampu";
if (lampuflag == false){
lampuflag = true;
} else{
lampuflag = false;
}
mainNada(kata);
break;
case KEY_NUM4:
kata = "senkiri";
if (senkiriflag == false){
senkiriflag = true;
} else{
senkiriflag = false;
}
mainNada(kata);
break;
case KEY_NUM5:
kata = "stater";
if (staterflag == false){
staterflag = true;
} else{
staterflag = false;
}
mainNada(kata);
break;
case KEY_NUM6:
kata = "senkanan";
if (senkananflag == false){
senkananflag = true;
} else{
senkananflag = false;
}
mainNada(kata);
break;
case KEY_NUM8:
kata = "klakson";
if (klaksonflag == false){
klaksonflag = true;
} else{
klaksonflag = false;
}
mainNada(kata);
break;
default:
break;
}
tampil = false;
katalain = kata;
repaint();
}
protected void keyReleased(int keyCode){
delay =new Delay(1);
cekBalikan(tampil);
}
protected void cekBalikan(boolean balik){
//balik = true;
if (balik != true){
if (katalain == "lampu"){
if (lampuflag == true){
lampuflag = true;
} else{
lampuflag = false;
}
}else if (katalain == "senkanan"){
if (senkananflag == true){
senkananflag = true;
} else{
senkananflag = false;
}
}else if (katalain == "senkiri"){
if (senkiriflag == true){
senkiriflag = true;
} else{
senkiriflag = false;
}
}else if (katalain == "stater"){
if (staterflag == true){
staterflag = true;
} else{
staterflag = false;
}
}else if (katalain == "klakson"){
if (klaksonflag == true){
klaksonflag = true;
} else{
klaksonflag = false;
}
}
katalain = kata;
kata = "sukses";
} else {
if (katalain == "lampu"){
if (lampuflag == true){
lampuflag = false;
} else{
lampuflag = true;
}
}else if (katalain == "senkanan"){
if (senkananflag == true){
senkananflag = false;
} else{
senkananflag = true;
}
}else if (katalain == "senkiri"){
if (senkiriflag == true){
senkiriflag = false;
} else{
senkiriflag = true;
}
}else if (katalain == "stater"){
if (staterflag == true){
staterflag = false;
} else{
staterflag = true;
}
}else if (katalain == "klakson"){
if (klaksonflag == true){
klaksonflag = false;
} else{
klaksonflag = true;
}
}
katalain = kata;
kata = "gagal";
}
repaint();
}
public void mainNada(String nada) {
try{
if (p != null){
p.stop();
p.close();
is.close();}
} catch (MediaException ex)
{
// ignore
} catch (IOException ex)
{
// ignore
}
is = getClass().getResourceAsStream(nada + ".wav");
try
{
p = Manager.createPlayer(is, "audio/X-wav");
p.realize();
p.start();
}
catch (IOException ex)
{
// ignore
}
catch (MediaException ex)
{
// ignore
}
}
// Tampilkan gambar
public void paint(Graphics g) {
gambar = null;
//kata = Integer.toString(volume);
g.setColor(0xFFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0x000000);
Font f = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE);
int strHeight = f.getHeight();
int strWidth = f.stringWidth(kata);
g.drawString(kata,(getWidth() - strWidth)/2,0,Graphics.TOP + Graphics.LEFT);
g.setColor(0xff0000);
if (lampuflag == false){
g.fillRoundRect(100,50,50,40,5,5);
} else {
g.fillArc(100,50,50,40,0,360);
}
g.setColor(0x0000ff);
if (senkiriflag == false){
g.fillRoundRect(30,110,50,40,5,5);
} else {
g.fillArc(30,110,50,40,0,360);
}
g.setColor(0x0f0f0f);
if (staterflag == false){
g.fillRoundRect(100,110,50,40,5,5);
} else {
g.fillArc(100,110,50,40,0,360);
}
g.setColor(0x0000ff);
if (senkananflag == false){
g.fillRoundRect(170,110,50,40,5,5);
} else {
g.fillArc(170,110,50,40,0,360);
}
g.setColor(0x00ff00);
if (klaksonflag == false){
g.fillRoundRect(100,170,50,40,5,5);
} else {
g.fillArc(100,170,50,40,0,360);
}
}
protected void hideNotify(){
tampil = true;
cekBalikan(tampil);
}
class Delay {
Timer timer;
boolean flag = false;
public Delay(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
while(flag == false){};
}
class RemindTask extends TimerTask {
public void run() {
timer.cancel();
flag = true;
} } }
}

Selasa, 29 Desember 2009

PENGENALAN LINUX

Pengenalan Linux
Kata "Linux" untuk saat ini sudah tidak asing lagi bagi para pengguna internet dan komunitas mahasiswa yang memiliki
hobby untuk mencoba software-software baru. Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem
operasi yang bersifat multi user dan multi tasking, yang dapat berjalan di berbagai platform termasuk prosesor Intel
386 maupun yang lebih tinggi. Sistem operasi ini mengimplementasikan standar POSIX. Linux dapat berinteroperasi
secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell.
Nama Linux sendiri diturunkan dari pencipta awalnya, Linus Torvalds, yang sebetulnya mengacu pada suatu
kumpulan software lengkap yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap.
Lingkungan sistem operasi ini mencakup ratusan program, termasuk kompiler, interpreter, editor dan utilitas.
Perangkat bantu yang mendukung konektifitas, ethernet, SLIP dan PPP dan interoperabilitas. Produk perangkat lunak
yang handal (reliable), termasuk versi pengembangan terakhir. Kelompok pengembang yang tersebar di seluruh dunia
yang telah bekerja dan menjadikan Linux portabel ke suatu platform baru, begitu juga mendukung komunitas pengguna
yang memiliki beragam kebutuhan dan juga pengguna dapat turut serta bertindak sebagai tim pengembang sendiri.
1.1 Perbedaan mendasar Linux
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah harga. Linux ini lebih murah dan dapat
diperbanyak serta didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang. Tetapi ada hal
lain yang lebih utama selain pertimbangan harga yaitu mengenai source code. Source code Linux tersedia bagi semua
orang sehingga setiap orang dapat terlibat langsung dalam pengembangannya.
Kebebasan ini telah memungkinkan para vendor perangkat keras membuat driver untuk device tertentu tanpa
harus mendapatkan lisensi source code yang mahal atau menandatangani Non Disclosure Agreement (NDA). Dan itu
juga telah menyediakan kemungkinan bagi setiap orang untuk melihat ke dalam suatu sistem operasi yang nyata dan
berkualitas komersial.
Karena Linux itu tersedia secara bebas di internet, berbagai vendor telah membuat suatu paket distrbusi yang
dapat dianggap sebagai versi kemasan Linux. Paket ini termasuk lingkungan Linux lengkap, penagkat lunak untuk
instalasi dan mungkin termasuk perangkat lunak khusus dan dukungan khusus.
1.2 Perbandingan Linux terhadap sistem operasi lainnya
Linux disusun berdasarkan standar sistem operasi POSIX yang sebenarnya diturunkan berdasarkan fungsi kerja UNIX.
UNIX kompatibel dengan Linux pada level system call, ini berarti sebagian besar program yang ditulis untuk UNIX
atau Linux dapat direkompilasi dan dijalankan pada sistem lain dengan perubahan yang minimal. Secara umum dapat
dikatakan Linux berjalan lebih cepat dibanding UNIX lain pada hardware yang sama. Dan lagi UNIX memiliki
kelemahan yaitu tidak bersifat free.
MS-DOS memiliki kemiripan dengan Linux yaitu file sistem yang bersifat hirarkis. Tetapi MS-DOS hanya dapat
dijalankan pada prosesor x86 dan tidak mendukung multi user dan multi tasking, serta tidak bersifat free. Juga MSDOS
tidak memiliki dukungan yang baik agar dapat berinteroperasi dengan sistem operasi lainnya, termasuk tidak
tersedianya perangkat lunak network, program pengembang dan program utilitas yang ada dalam Linux.
MSWindows menawarkan kemampuan grafis yang ada pada Linux termasuk kemampuan networking tetapi tetap
memiliki kekurangan yang ada pada MS-DOS.
Windows NT yang juga tersedia untuk Digital Alpha selain prosesor x86. Namun Windows NT ini masih juga
memiliki beberapa kekurangan yang telah ada pada MS-DOS.Waktu untuk menemukan suatu bug dalam suatu sistem
operasi ini tak sebanding dengan harga yang harus dibayar.
Sistem operasi Apple untuk Macintosh hanya dapat berjalan di sistem Mac. Juga memiliki kekurangan dari sisi
ketersediaan perangkat bantu pengembang (development tool) dan juga kurang dapat secara mudah untuk berintoperasi
dengan sistem operasi lainnya. Apple juga telah memungkinkan Linux dapat dijalankan pada PowerMac.
1.3 Sejarah Linux
Linux pada awalnya dibuat oleh seorang mahasiswa Finlandia yang bernama Linus Torvalds. Dulunya Linux merupakan
proyek hobi yang diinspirasikan dari Minix, yaitu sistem UNIX kecil yang dikembangkan oleh Andrew Tanenbaum.
Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991. Kemudian pada tanggal 5 Oktober 1991, Linus
mengumumkan versi resmi Linux, yaitu versi 0.02 yang hanya dapat menjalankan shell bash (GNU Bourne Again
Shell) dan gcc (GNU C Compiler).
Saat ini Linux adalah sistem UNIX yang sangat lengkap, bisa digunakan untuk jaringan, pengembangan software
dan bahkan untuk pekerjaan sehari-hari. Linux sekarang merupakan alternatif sistem operasi yang jauh lebih
murah jika dibandingkan dengan sistem operasi komersial (misalnya Windows 9.x/NT/2000/ME). Linux mempunyai
perkembangan yang sangat cepat. Hal ini dapat dimungkinkan karena Linux dikembangkan oleh beragam kelompok
orang. Keragaman ini termasuk tingkat pengetahuan, pengalaman serta geografis. Agar kelompok ini dapat berkomunikasi
dengan cepat dan efisien, internet menjadi pilihan yang sangat tepat.
Karena kernel Linux dikembangkan dengan usaha yang independent, banyak aplikasi yang tersedia, sebagai contoh,
C Compiler menggunakan gcc dari Free Software Foundation GNU’s Project. Compiler ini banyak digunakan
pada lingkungan Hewlett-Packard dan Sun.
Sekarang ini, banyak aplikasi Linux yang dapat digunakan untuk keperluan kantor seperti untuk spreadsheet,
word processor, database dan program editor grafis yang memiliki fungsi dan tampilan seperti Microsoft Office, yaitu
Star Office. Selain itu, juga sudah tersedia versi Corel untuk Linux dan aplikasi seperti Matlab yang pada Linux
dikenal sebagai Scilab.
Linux bisa didapatkan dalam berbagai distribusi (sering disebut Distro). Distro adalah bundel dari kernel Linux,
beserta sistem dasar linux, program instalasi, tools basic, dan program-program lain yang bermanfaat sesuai dengan
tujuan pembuatan distro. Ada banyak sekali distro Linux, diantaranya :
􀀀 RedHat, distribusi yang paling populer, minimal di Indonesia. RedHat merupakan distribusi pertama yang
instalasi dan pengoperasiannya mudah.
􀀀 Debian, distribusi yang mengutamakan kestabilan dan kehandalan, meskipun mengorbankan aspek kemudahan
dan kemutakhiran program. Debian menggunakan .deb dalam paket instalasi programnya.
􀀀 Slackware, merupakan distribusi yang pernah merajai di dunia Linux. Hampir semua dokumentasi Linux
disusun berdasarkan Slackware. Dua hal penting dari Slackware adalah bahwa semua isinya (kernel, library
ataupun aplikasinya) adalah yang sudah teruji. Sehingga mungkin agak tua tapi yang pasti stabil. Yang kedua
karena dia menganjurkan untuk menginstall dari source sehingga setiap program yang kita install teroptimasi
dengan sistem kita. Ini alasannya dia tidak mau untuk menggunakan binary RPM dan sampai Slackware 4.0, ia
tetap menggunakan libc5 bukan glibc2 seperti yang lain.
􀀀 SuSE, distribusi yang sangat terkenal dengan YaST (Yet another Setup Tools) untuk mengkonfigurasi sistem.
SuSE merupakan distribusi pertama dimana instalasinya dapat menggunakan bahasa Indonesia.
􀀀 Mandrake, merupakan varian distro RedHat yang dioptimasi untuk pentium. Kalau komputer kita menggunakan
pentium ke atas, umumnya Linux bisa jalan lebih cepat dengan Mandrake.
􀀀 WinLinux, distro yang dirancang untuk diinstall di atas partisi DOS (WIndows). Jadi untuk menjalankannya
bisa di-klik dari Windows. WinLinux dibuat seakan-akan merupakan suatu program aplikasi under Windows.
Dan masih banyak distro-distro lainnya yang telah tersedia maupun yang akan muncul.
1.4 Kelebihan Linux
Di sini akan dijelaskan beberapa kelebihan dari sistem operasi Linux/UNIX dibandingkan dengan dengan sistem operasi
yang lain. Dan berikut ini adalah beberapa fakta dari hal-hal yang menguntungkan dengan menggunakan program
dan file-file Linux/UNIX :
􀀀 Pada dasarnya semua data tersimpan di dalam harddisk walau ada beberapa kondisi dimana data tersimpan di
disket. Linux/UNIX memberikan beberapa proses spesial dimana terminal, printer dan device hardware lainnya
dapat diakses seperti kita mengakses file yang tersimpan dalam harddisk atau disket.
􀀀 Ketika program dijalankan, program tersebut dijalankan dari harddisk ke dalam RAM dan setelah dijalankan
akan dinamakan sebagai proses.
􀀀 Linux/UNIX menyediakan servis untuk membuat, memodifikasi program, proses dan file.
􀀀 Linux/UNIX mendukung struktur file yang bersifat hirarki.
􀀀 Linux/UNIX adalah salah satu sistem operasi yang termasuk ke dalam kelas sistem operasi yang dapat melakukan
multitasking. Multitasking sendiri adalah keadaan dimana suatu sistem operasi dapat melakukan banyak kerjaan
pada saat yang bersamaan.
􀀀 Selain multitasking, Linux/UNIX juga dapat mendukung multiuser. Yaitu sistem operasi yang pada saat bersamaan
dapat digunakan oleh lebih dari satu user yang masuk ke dalam sistem. Bahkan untuk Linux juga mendukung
untuk multiconsole dimana pada saat bersamaan di depan komputer langsung tanpa harus melalui jaringan dan
memungkinkan lebih dari satu user masuk ke dakam sistem.
1.5 Bagian sistem operasi
Sistem Operasi Linux/UNIX terdiri dari kernel, program sistem dan beberapa program aplikasi. Kernel merupakan
inti dari sistem operasi yang mengatur penggunaan memori, piranti masukan keluaran, proses-proses, pemakaian file
pada file system dan lain-lain. Kernel juga menyediakan sekumpulan layanan yang digunakan untuk mengakses kernel
yang disebut system call. System call ini digunakan untuk mengimplementasikan berbagai layanan yang dibutuhkan
oleh sistem operasi.
Program sistem dan semua program-program lainnya yang berjalan di atas kernel disebut user mode. Perbedaan
mendasar antara program sistem dan program aplikasi adalah program sistem dibutuhkan agar suatu sistem operasi
dapat berjalan sedangkan program aplikasi adalah program yang dibutuhkan untuk menjalankan suatu aplikasi tertentu.
Contoh : daemon merupakan program sistem dan pengolah kata (word processor) merupakan program aplikasi.
1.6 Bagian penting kernel Linux
Kernel Linux terdiri dari beberapa bagian penting, seperti : manajemen proses, manajemen memori, hardware device
drivers, filesystem drivers, manajemen jaringan dan lain-lain. Namun bagian yang terpenting ialah manajemen proses
dan manajemen memori. Manajemen memori menangani daerah pemakaian memori, daerah swap, bagian-bagian
kernel dan untuk buffer cache. Manajemen proses menangani pembuatan proses-proses dan penjadwalan proses. Pada
bagian dasar kernel berisi hardware device drivers untuk setiap jenis hardware yang didukung.
I/O dan perintah Dasar Linux
4.1 Pengenalan redirection dan pipe
Redirection dan pipe merupakan standar dari fasilitas shell di unix.
4.1.1 Redirection
Fasilitas redirection memungkinkan kita untuk dapat menyimpan output dari sebuah proses untuk disimpan ke file lain
(Output Redirection) atau sebaliknya menggunakan isi dari file sebagai input dalam suatu proses (Input redirection).
Komponen-komponen dari redirection adalah <, >, < <, > >
Untuk lebih jelas nya akan di berikan contoh untuk masing-masing redirection :
1.1.1. Output Redirection
Kita akan menggunakan perintah cat yang telah tersedia secara default di shell linux.
Syntax-nya sbb :
$ cat >
Contoh :
Membuat File dengan nama test
antoro@drutz:~$ cat > test
ini hanya sebuah test dari output redirection
hehehehehe........
^D
Melihat isi file test
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
antoro@drutz:~$
Penambahan untuk file test
antoro@drutz:~$ cat > > test
baris ini tambahan dari yang lama...
^D
Melihat kembali isi file test setelah ditambahkan beberapa kata
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Disini kita melihat bahwa output dari perintah cat akan di belokkan (redirect) ke sebuah file dengan nama test.
1.1.2. Input Redirection
Isi dari suatu file akan kita gunakan sebagai input dari suatu proses yang akan kita jalankan. Sebagai contoh kita akan
mencoba mengirimkan mail ke diri sendiridengan isi mail berasal dari file test tadi
antoro@drutz:~$ mail antoro < test
Sekarang kita lihat mail yang telah dikirim tadi dengan perintah sbb :
antoro@drutz:~$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/antoro": 1 message 1 new
N 1 antoro@drutz.adhyaks Thu Nov 9 14:51 14/525
& 1
Message 1:
From antoro@drutz.adhyaksa.net Thu Nov 9 14:51:12 2000
Delivered-To: antoro@drutz.adhyaksa.net
To: antoro@drutz.adhyaksa.net
Date: Thu, 9 Nov 2000 14:51:12 +0700 (JAVT)
From: antoro@drutz.adhyaksa.net (/me)
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
& q
antoro@drutz:~$
Isi dari file test di jadikan sebagai input dari proses yang kita lakukan yaitu proses pengiriman mail.
4.1.2 Pipeline
Pipeline ( | ) adalah fasilitas di shell UNIX yang berfungsi untuk memberikan input dari suatu proses dari output proses
yang lain. Misalkan sebagai contoh :
Sebelum kita gunakan pipeline
antoro@drutz:~$ find *
dead.letter
mbox
test
Setelah kita gunakan pipeline
antoro@drutz:~$ find * | grep test
test
antoro@drutz:~$
Pada contoh pipeline di atas, mempunyai arti bahwa output dari perintah find menjadi input dari perintah grep yang
kemudian hanya mengambil kata "test" dari output find.
4.2 Shell (bash command)
Shell adalah sebuah program yang membaca input standar yaitu keyboard. Ketika kita mengetikkan sesuatu di keyboard
maka shell akan menafsirkan apa yang kita ketikkan. Sebagai contoh apabila kita ketikkan ls pada shell dan
ls ternyata merupakan program yang dapat di eksekusi maka shell akan menjalankan program tersebut.
Misal :
antoro@drutz:~$ ls
test
antoro@drutz:~$ hello
bash: hello: command not found
antoro@drutz:~$
Kita dapat melihat bahwa ketika ls kita ketikkan maka program ls dijalankan, sedangkan apabila kita jalankan
hello dan karena memang tidak ada program hello maka shell tidak dapat mengeksekusinya.
4.2.1 Jenis-jenis shell
Jenis shell yang digunakan di unix maupun linux banyak macamnya, tetapi dilihat dari segi kuantitas pemakainya shell
yang banyak dipakai adalah sebagai berikut :
􀀀 Bourne shell (sh)
􀀀 C shell (csh)
􀀀 Korn shell (ksh)
􀀀 Bourne Again shell (bash)
Yang paling banyak di gunakan adalah bash, dimana bash ini merupakan pengembangan dari sh dan ksh. Mayoritas
distribusi linux saat ini menggunakan bash sebagai default shell-nya.
4.2.2 Perintah-perintah dasar dalam Linux
cat
Perintah cat ini menampilkan isi dari suatu file ke standart output (stdout)
Syntax :
$ cat
Contoh :
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
cat dapat juga digunakan untuk memasukkan sebuah isi dari suatu file ke dalam file yang lain.
Syntax :
$ cat file1 file2 file3 > file4
clear
Perintah clear ini mirip dengan cls pada DOS yang gunanya membersihkan layar
Syntax :
$ clear
cp
Mirip dengan copy pada DOS, perintah cp ini berfungsi mengkopi file.
Syntax :
$ cp [option] file /dir/path/
Untuk lebih jelas silahkan dibaca pilihan-pilihannya dengan menjalankan :
$ cp --help
cut
Perintah cut mendefinisikan suatu file yang berisi data berdasarkan kolom
Syntax :
$ cut [option] file
Contoh : kita akan cut file test dari kolom 1-7
antoro@drutz:~$ cut -c 1-7 test
ini han
heheheh
baris i
antoro@drutz:~$ cat test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Dari contoh dapat terlihat bahwa cut hanya menampilkan isi dari file test dari kolom 1 - 7
find
Dari namanya sudah dapat diterka bahwa perintah ini berfungsi untuk mencari file ataupun directori.
Syntax :
$ find /path [option]
Contoh :
antoro@drutz:~$ find . -name te*
./test
antoro@drutz:~$
grep
Perintah ini berguna untuk pencarian data di dalam file, penggunaan grep akan lebih mengefisienkan waktu ketimbang
harus membaca satu persatu
Syntax :
$ grep [option] "data" file
Contoh :
antoro@drutz:~$ grep "ini" test
ini hanya sebuah test dari output redirection
baris ini tambahan dari yang lama...
antoro@drutz:~$
ln
Kegunaan perintah ini adalah untuk membuat link dari satu file/directori ke file/directori lain
Syntax :
$ ln -s /path/to/source target
Contoh :
antoro@drutz:~$ ln -s test uji
antoro@drutz:~$ ls -l
total 2
-rw-r--r-- 1 antoro antoro 102 Nov 9 14:11 test
lrwxrwxrwx 1 antoro antoro 4 Nov 10 03:21 uji -> test
antoro@drutz:~$
Dari contoh dapat dilihat bahwa file uji adalah merupakan link dari file test
locate
Perintah ini digunakan untuk mengetahui dimana letaknya sebuah file atau directori. Fungsinya kurang lebih sama
dengan find, bedanya locate menggunakan sebuah database (biasanya terletak di /var/lib/locatedb ) yang
dapat di update menggunakan perintah updatedb.
Syntax :
$ locate
Contoh :
antoro@drutz:~$ locate uji
/home/antoro/uji
antoro@drutz:~$
ls
Perintah ini sama seperti dir pada DOS yanitu berfungsi untuk menampilkan isi dari suatu directory beserta atributatribut
filenya.
Syntax :
$ ls [option] /directory
Contoh :
antoro@drutz:~$ ls /home/antoro
test uji
antoro@drutz:~$
mkdir
Perintah mkdir ekivalen dengan md (make directory) pada DOS yang berguna untuk membuat sebuah directory.
Syntax :
$ mkdir
mv
Perintah ini mirip dengan perintah move pada DOS yang berguna untuk memindahkan file dari satu directory ke
directory lainnya, atau juga dapat digunakan sebagai pengganti nama file (ren/rename pada DOS)
Syntax :
$ mv file1 file2
rm dan rmdir
Perintah rm adalah perintah untuk menghapus file. Untuk directory dapat digunakan rmdir
Syntax :
$ rm
$ rmdir
tail
Perintah ini berlawanan dengan perintah cut, tail mendefinisikan sebuah data pada file menurut barisnya. Sedikit
perbedaan adalah pada tail secara default ditampilkan 10 baris terakhir dari isi file
Syntax :
$ tail [option]
Contoh :
antoro@drutz:~$ tail test
ini hanya sebuah test dari output redirection
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
Bila kita ingin menampilkan hanya 2 baris terakhir gunakan option [-[nilai]. Misal :
antoro@drutz:~$ tail -2 test
hehehehehe........
baris ini tambahan dari yang lama...
antoro@drutz:~$
mount
Setiap device dalam linux agar dapat diakses harus terlebih dahulu di-mount atau dikaitkan.
Syntax :
$ mount [option] /dev/ /path/to/mountdir
Contoh :
$ mount /dev/hda1 /mnt/disk
ps
Perintah ini digunakan untuk melihat setiap proses yang dijalankan di dalam mesin beserta nomor prosesnya.
Syntax :
$ ps [option]
kill
Perintah kill (mematikan) sesuai namanya adalah berfungsi untuk mengirimkan signal ke suatu proses. Sehingga
bisa memerintahkan apakah suatu proses ditunda , dihentikan atau dilanjutkan. Tetapi paling sering digunakan untuk
mematikan proses yang sedang berjalan.
Syntax :
$ kill
adduser, passwd dan userdel
Perintah adduser dan userdel adalah file-file untuk administrasi user. adduser digunakan untuk menambahkan
user pada suatu mesin. Kemudian setelah ditambahkan ditentukan password user yang baru tersebut dengan perintah
passwd. Sedangkan userdel digunakan untuk menghapus user di mesin. Untuk menjalankan perintah-perintah ini
diperlukan root priviledge.
Syntax :
# adduser
# passwd
# userdel [-r]
Sistem X Window
X Window System adalah lingkungan grafik yang kompleks untuk sistem UNIX . X Window System pada mulanya
dikembangkan di MIT. Diluncurkan pertama kali pada tahun 1984. Sekarang, hampir seluruh workstation UNIX di
dunia menggunakan varian X Window System untuk sistem GUI (Graphical User Interface). Versi gratis X Window
System di MIT adalah X versi 11, rilis 6 (X11R6) untuk 80386/80486/Pentium dikembangkan oleh tim programmer
yang awalnya diketuai oleh Dave Waxelblat (dwex@XFree86.org). Rilis ini kemudian dikenal dengan nama XFree86,
mendukung System V/386, 386BSD dan sistem x86 lainnya, termasuk Linux. Paket XFree86 didistribusikan lengkap
termasuk seluruh file binary, support, library dan tools. Informasi lebih rinci tentang XFree86 dapat diperoleh di situs
web http://www.XFree86.org.
Ada beberapa prinsip dan istilah yang harus anda ketahui artinya agar dalam menggunakan X tidak menemui
batu sandungan. Istilah-istilah ini akan muncul berkali-kali dalam manual dan file-file Help. Istilah-istilah tersebut
antara lain :
􀀀 Screen adalah seluruh desktop, secara teknis dapat dijelaskan artinya tampilan layar utama yang X lihat. Anda
dapat mempunyai lebih dari 1 screen, bahkan sebenarnya anda dapat mempunyai lebih dari 1 komputer menjalankan
1 buah X server, tetapi pembahasan akan itu merupakan pembahasan yang amat kompleks, tetapi anda
harus mengetahui akan kemungkinan ini.
􀀀 Root window adalah latar belakang dari screen anda. Tidak mempunyai karakteristik seperti window lainnya,
tetapi lebih ke sebuah tempat dimana anda menjalankan aplikasi atau menyimpan gambar atau hanya memberi
warna padanya.
􀀀 Window manager adalah interface utama antara X Window System dengan user. Tanpa window manager,
sistem akan lebih sulit digunakan dan tidak akan terlalu produktif. Window manager menyediakan fungsi-fungsi
pengontrolan dan kustomisasi border, menu, icon, virtual desktop, button, toll bar dari X Windows.
􀀀 Pointer adalah panah atau indikator penunjuk yang merepresentasikan lokasi mouse atau pointing device lainnya,
yang berhubungan erat dengan screen.
􀀀 Window adalah frame dimana semua aplikasi berjalan. Frame ini mempunyai properti yang dikontrol oleh
window manager. Active window adalah window yang sedang digunakan, window ini disebut mempunyai
focus, dapat menerima input dari console atau pointing device.
􀀀 Menu dan icon berlaku sama seperti pada window system lainnya. Window yang terdiri hanya text saja disebut
terminal emulator.
6.1 Desktop
KDE Desktop Environment adalah hasil sebuah proyek untuk menciptakan desktop environment yang solid dan
terintegrasi, bukan hanya sebuah window manager. Utiliti KDE sangat lengkap hingga seorang newbie dapat saja
mengatakan bahwa KDE adalah sebuah Operating System. Semua tool untuk bekerja dalam sistem yang windowbased
tersedia, dan banyak lagi utiliti pihak ke-3 yang sedang diusahakan untuk dialihkan ke KDE. Desktop environtment
yang satu ini memang canggih, namun banyak pihak yang masih ragu untuk menggunakannya karena lisensi Qt
toolkit. Qt adalah library dan tools yang digunakan untuk membangun KDE. Pada awalnya tidak gratis dan Open
Source, namun dari waktu ke waktu Qt diusahakan agar mempunyai lisensi khusus, hingga akhirnya Qt mempunyai
status Open Source bersyarat, suatu bentuk lisensi Open Source yang tidak sama dengan GNU License.
GNOMEadalah proyek lainnya yang sama dengan KDE namun berbeda dalam system dan kemampuan. GNOME
tidak saja merupakan sebuah window manager, tetapi system desktop yang interoperable antar komputer dan platform.
Kemampuan ini diperoleh karena GNOME menggunakan Common Object Resource Broker Architecture (CORBA).
GNOME lebih diterima di dunia Open Source karena GNOME dibuat dengan Gtk+ toolkit yang gratis dan Open
Source berdasarkan GNU License.
6.2 Instalasi X
Sebelum menginstal X pada system Linux anda, ada baiknya anda mengetahui kebutuhan minimal komputer agar
mampu menjalankan X dengan baik, yaitu :
􀀀 Processor minimal sekelas Pentium 233 MMX
􀀀 RAM minimal sebesar 32 MB
􀀀 Harddisk minimal mempunyai ruang kosong sebesar 100 MB
􀀀 Graphic card SVGA dengan memory minimal 1 MB yang didukung XFree86-3.3.6
􀀀 Mouse dan keyboard yang didukung oleh XFree86-3.3.6
Pada CD distribusi Linux RedHat 6.2 terdapat file-file dengan awalan X (terutama XFree86) dan x. File-file tersebut
akan membangun X Window System pada Linux anda. Desktop environtment dan aplikasi pendukungnya ditandai
dengan file-file rpm dengan huruf awalan K atau k untuk KDE dan G atau untuk GNOME.
Versi XFree86 yang tersedia adalah versi 3.3.6, mendukung lebih banyak chipset graphic card (termasuk S3Trio3D/2X
yang sangat sulit dikonfigurasi) daripada XFree86 terbaru yaitu versi 4.x.x. Namun demikian apabila anda mempunyai
graphic card yang terdeteksi pada XFree86 versi 4.x.x, sebaiknya anda menggunakan versi ini, karena mempunyai
beberapa perbaikan terhadap bug dan telah dioptimasi sehingga dapat meningkatkan performasi aplikasi X.
Menginstal XWindow System melalui console Linux dengan menginstal paket-paket yang dibutuhkannya secara
langsung (menggunakan perintah rpm -ivh XFree86-3.3.6-20.i386.rpm) tidak disarankan mengingat dependency
yang rumit. Cara lain yang dapat anda lakukan adalah dengan meng-upgrade Linux anda dan instal-lah X
melalui dialog pemilihan paket.
6.3 Konfigurasi X
Setelah sukses menginstal X, maka anda perlu mengkonfigurasinya terlebih dahulu agar dapat berjalan lancar. Beberapa
chipset memang tidak perlu dikonfigurasi karena mereka sangat kompatibel dengan driver XFree86 ini. Tools
untuk mengkonfigurasi X antara lain :
􀀀 SuperProbe
􀀀 Xconfigurator
􀀀 XF86Setup
􀀀 Xf86config
􀀀 Sax dan sax2 pada distro SuSE
Pembahasan lebih detil tentang tool diatas sebagai berikut :
6.3.1 SuperProbe
Software dijalankan di console dengan cara mengetikkan perintah SuperProbe. Hasil dari perintah ini adalah keterangan
berupa :
􀀀 Nama chipset graphic card
􀀀 Kapasitas memory yang dimilikinya
􀀀 Chipset RAMDAC
Tampilan SuperProbe :
root@super anton]# SuperProbe
SuperProbe Version 2.21 (12 October 1999)
(c) Copyright 1993,1994 by David Wexelblat
(c) Copyright 1994-1998 by The XFree86 Project, Inc
.
.
WARNING - THIS SOFTWARE COULD HANG YOUR MACHINE.
READ THE SuperProbe.1 MANUAL PAGE BEFORE
RUNNING THIS PROGRAM.
INTERRUPT WITHIN FIVE SECONDS TO ABORT!
First video: Super-VGA
Chipset: S3 Trio3D/2X (PCI Probed)
Memory: 4096 Kbytes
RAMDAC: Generic 8-bit pseudo-color DAC
(with 6-bit wide lookup tables (or in 6-bit mode))
Melihat data-data dari SuperProbe diatas, disimpulkan bahwa graphic card yang dimiliki oleh komputer anda adalah :
􀀀 Graphic card SVGA
􀀀 Chipset S3 Trio3D/2X (BUS PCI)
􀀀 Kapasitas memory 4 MB
􀀀 RAMDAC tidak perlu dicatat karena menggunakan modul generic
6.3.2 Xconfigurator
Konfigurator X mode teks yang dapat dijalankan dengan mengetik perintah :
# Xconfigurator.
Alur konfigurasi antara lain :
􀀀 Pada layar Welcome klik OK
􀀀 Setelah ini Xconfigurator akan melakukan probing terhadap graphic card anda, sama caranya dengan Super-
Probe namun berbeda pada penampilan
􀀀 Kemudian memasuki menu Monitor Setup dimana kita diminta untuk memilih monitor yang kita gunakan.
Pilih custom bila monitor anda tidak terdapat pada daftar monitor tersebut. Pemilihan monitor dengan benar
diperlukan karena berpengaruh pada frekwensi refresh rate dan sync.
􀀀 Bila anda memilih custom, maka anda diminta untuk memilih jenis monitor anda yang generic, tentukan :
Super VGA, 1024x768 @ 87 Hz interlaced, 800x600 @ 56 Hz
􀀀 Kemudian anda akan diminta mengisi vertical sync range, pilihlah 50-90
􀀀 Setelah itu anda akan diminta memutuskan apakah Xconfigurator diizinkan untuk probe resolusi default dan
kedalaman warna. Tentukan Probe lebih dahulu, bila gagal kembali lagi dan pilih Don’t Probe.
􀀀 Anda akan diminta memasukkan besar memory, clockchip dan RAMDAC bila anda memilih Don’t Probe.
Pada kebanyakan kasus, anda tidak perlu memilih apapun pada saat diminta mengisikan nama clockchip dan
RAMDAC.
􀀀 Setelah proses probing atau pengisian data, anda akan diminta memilih kedalaman warna, tentukan saja 16
bit (65000 warna) 800x600.
􀀀 Selesai mengisi data, anda akan diminta memutuskan apakah akan mengetes hasil konfigurasi atau SKIP saja
dan langsung jalankan X. Keduanya silahkan dicoba.
􀀀 Bila gagal, gunakan XF86Setup atau xf86config untuk mengkonfigurasi X. Tingkat keberhasilan konfigurasi X
dengan tool terakhir ini cukup tinggi.
Perlu diperhatikan bahwa bila terjadi kedipan saat konfigurasi, hal itu adalah normal. Saat itu konfigurator sedang
mengetes graphic card melalui parser resolusi dan color-depth.
6.3.3 XF86Setup
Konfigurator X terbaik yang dimiliki Linux saat ini, sederhana, cepat dan mempunyai reputasi keberhasilan konfigurasi
cukup tinggi. XF86Setup mempunyai tampilan GUI basis VGA16 (16 warna) yang mudah dipahami. Jalankan
XF86Setup setelah Xconfigurator mengalami kegagalan, dengan cara mengetik perintah : XF86Setup pada
console Linux. Berbeda dengan Xconfigurator, XF86Setup sekali jalan mengkonfigurasi banyak device antara
lain : mouse, keyboard dan graphic card. Bila anda sebelumnya telah mengkonfigurasi maka bagian mouse dan
keyboard dapat dilewati.
6.3.4 xf86config
Utiliti ini adalah XF86Setup mode teks dengan layout pertanyaan-pertanyaan satu per satu. Jalankan perintah :
$ xf86config .
Setelah ini anda akan ditanyakan dengan banyak pertanyaan seputar mouse, keyboard dan graphic card berurut.
6.3.5 sax dan sax2
Sax adalah tool yang digunakan oleh distro SuSE untuk mengkonfigurasi X. Menggunakan GUI basis VGA16, sangat
mudah untuk digunakan karena menggunakan model dialog wizard dengan Next dan Back.
6.4 Menjalankan X
Mudah sekali, ketikkan perintah :
$ startx
Pada console Linux, maka anda akan dibawa memasuki GUI based desktop environtment GNOME sebagai default.
Mengganti X Window System dengan KDE tidak sulit, lakukan langkah-langkah berikut :
􀀀 Klik icon xterm (monitor) pada task bar GNOME
􀀀 Ketikkan perintah :
$ switchdesk
􀀀 Pilih KDE
􀀀 Logout X
􀀀 Kembali ketikkan :
$ startx

Peraturan Hacking & Phreaking

Mengapa harus Hacking & Mengapa harus Phreaking ?
Benar juga...kenapa harus hacking atau phreaking ?
Suatu pertanyaan yang bagus untuk ditanyakan oleh anda yang sebenarnya belum berminat di dunia
Hacking ini dan belum tahu tujuan untuk apa hacking itu.
Suatu pertentangan negatif lagi, saat bicara soal hacking dan juga banyak pihak yang masih salah kaprah
dan juga masih banyak para pakar-pakar komputer yang masih melarang-larang agar kita tidak usah menjadi hacker. Emang sih, kata hacking/hacker cukup disegani, ini dikarenakan contoh-contoh kasus
perbuatan dari para hacker sendiri yang cukup banyak yang bercorak negatif dan juga jarangnya
informasi yang dimana informasi itu menceritakan suatu perbuatan baik dari para hacker.
Hacking ibarat pisau, bisa digunakan untuk yang baik untuk memotong sayur dan bisa juga yang salah
yaitu menusuk orang. Disini kembali lagi pada faktor manusianya, dimana dia sebagai seorang hacker
menggunakan kemampuannya itu untuk hal yang baik atau hal yang buruk.
Untuk apa Hacking, apakah berguna ?
Mengenai permasalahan berguna atau tidak, kembali ke siapa pihak itu. Kata hacking tentu saja akan
lebih berguna bagi mereka yang berkecimpung di dunia komputer. Hacking tentu saja tidak berguna jika
kita berbicara hacking pada seorang supir taxi, atau mungkin berbicara hacking pada orang yang bekerja
sebagai satpam supermarket.
Hacking adalah pengetahuan, memperoleh pengetahuan dan berbagi pengetahuan ialah kunci kebebasan
ilmu pengetahuan dan juga belajar untuk mengenal lebih jauh agar tidak terbelenggu dengan kemajuan
teknologi yang semakin hari semakin cepat berkembangnya. Hacking sendiri sebenarnya juga
merupakan suatu bentuk peningkatan usaha belajar, dan dimana sifat pembelajaran itu mulai naik dan
naik lagi sampai ke taraf level internasional dan berkompetensi untuk meningkatkan standar
pengetahuan dalam dirinya. Dimana level kompetensi internasional itu dapat dilakukan di suatu dunia
yang bernama Internet.
Hacking.
Hacking adalah suatu tindakan memasuki suatu sistem orang lain secara tidak sah untuk dapat
mengetahui bahkan mempelajari segala jenis kegiatan dan cara kerja dari sistem yang dia masuki itu.
Itu pengertian singkatnya. Ada yang mau nambah ?
Aturan-aturan Hacking :
1. Jangan pernah menghancurkan atau merusak suatu sistem orang lain. Ini cuma akan membuatmu
dalam masalah dan tidak berguna merusak sesuatu milik orang lain. Dosa tau !!!
2. Jangan merubah setting file atau system file manapun, kecuali kamu melakukannya untuk hal
supaya kamu tidak bisa terdeteksi. Dan hal itu dapat menjamin kamu supaya bisa masuk ke sistem
itu lagi di suatu hari nanti.
3. Jangan berbagi informasi tentang suatu proyek hacking yang sedang kamu lakukan atau yang
sedang kamu rencanakan kepada orang lain. Hal ini bisa saja membahayakan kamu dan dia, bila
ingin bekerja sama pilihlah partner sesuai hati nuranimu dan itu resikomu.
4. Bila ingin berbagi suatu proyek hasil hacking’mu kepada publik, itu sah-sah saja tapi
implementasinya tidak 100%. Kamu harus hati-hati mempresentasikan proyekmu yang berhasil itu
dengan sedikit samar-samar agar tidak terkena hukum, karena proyekmu itu pasti sudah dalam
pengawasan hukum.
5. Jangan pernah menggunakan nama asli ataupun nomor telepon yang asli saat kamu ingin berbagi
proyek hackingmu itu kepada media umum/publik, walaupun kamu bermaksud baik.
6. Jangan pernah meninggalkan suatu sistem yang pernah kamu hack itu. Kecuali untuk tantangan
yang lebih baru dan lebih asyik.
7. Jangan pernah meng’hack sistem komputer milik pemerintah.
8. Jangan sekali-kali berbicara hacking saat kau menggunakan telepon rumahmu.
9. Jadilah seorang yang penakut untuk berjaga-jaga. Simpan atau amankan semua benda-benda atau
peralatan hackingmu ditempat yang aman.
10. Untuk jadi hacker yang sebenarnya, kau perlu menghack (praktek lapangan). Berkelana di dunia
Internet Kamu tidak bisa hanya duduk dan membaca puluhan buku hacking atau puluhan
dokumen file hacking yang kamu dapatkan dari Internet. Itu semua bukanlah yang dinamakan
hacking yang sebenarnya.
11. Jika ingin disebut Hacker yang bermoral baik, anda bisa mencoba meng’hack puluhan bahkan
ratusan situs-situs porno yang ada di Internet. Dimana situs-situs porno tersebut adalah bersifat
negatif dan merusak mental serta moral anak negeri.

Template by : kendhin x-template.blogspot.com