Selasa, 29 September 2009

Program Stopwatch dengan VB

Program Stopwatch
dengan VB


Membuat program stopwatch dengan VB langkah-langkahnya adalah sebagai berikut:


1.Buka program VB lw
2.Pilih standart EXE
3.Buat Form(area kerja lw) kaya dibawah ini

1 Label, 2 commandButton, 1 Timer



Keterangan properties:

Form : caption = Membuat Perhitungan Waktu (Stopwatch)
Label1 : tdk dirubah
Command1 : caption = Star
Command2 : caption = Stop
Timer : interval = 10

4. Klik view code, dan tulis coding berikut:

Dim TotalTenthDetik, TotalDetik, TenthDetik, Detik, _
Menit, Jam As Integer
Dim Jam1 As String

5. Balik ke area objek
6. Klik 2x pada Command1 dan tulis coding berikut:

Private Sub Command1_Click()
TotalTenthDetik = -1
Timer1.enabled = True
End Sub

7.Klik 2x pada Command2 dan tulis coding berikut:

Private Sub Command2_Click()
Timer1.enabled = Not Timer1.Enabled
End Sub

8.Klik 2x pada gambar Timer1 dan tulis coding berikut:

Private Sub Timer1_Timer()
TotalTenthDetik = TotalTenthDetik + 1
TenthDetik = TotalTenthDetik Mod 10
TotalDetik = Int(TotalTenthDetik / 10)
Detik = TotalDetik Mod 60
If Len(Detik)=1 then
Detik = "0" & Detik
End If
Menit = Int(TotalDetik / 60) Mod 60
If Len(Menit) = 1 Then
Menit = "0" & Menit
End If
Jam =Int(TotalDetik/ 3600)
If Jam < jam1 = "0" label1=" Jam1">
End Sub

8.Tekan F5(klik icon run) Hasil akan seperti ini :













Program di atas masih sederhana banget n kalo da yg bisa ngembangin, tolong share ilmu y....!!!

Minggu, 27 September 2009

Game Tetris

GAME TETRIS


Membuat game tetris dengan foxpro itu susah susah gampang. Tapi saya saranin coba aj dlu...
Langkah-langkah memuat game tetris ini sbb:

  1. buka foxpro nya
  2. buat project baru n kasi nama to project
  3. liat project manager n klik tab code
  4. copy kode yg d bwh ini k itu tmpat....
PUBLIC ff
ff = CreateObject('frm')
ff.visible = .T.
RETURN


#DEFINE tetris 4
#DEFINE c0 128 && color constant
#DEFINE c1 196 && color constant
#DEFINE sqee_width 20
#DEFINE sqee_height 20
#DEFINE bucketWidth 12
#DEFINE bucketHeight 24
#DEFINE dropInterval 200 && millisecond
#DEFINE keyLeft 19
#DEFINE keyRight 4
#DEFINE keyDrop 32
#DEFINE keyRotate 5

DEFINE CLASS sqee As Shape
Owner = 0 && (0)empty, (1)debris, all others - Figure.Mode
Width = sqee_width
Height = sqee_height
BorderColor = RGB (240,240,255)
BackColor = RGB(255,255,255)
ENDDEFINE

DEFINE CLASS figure As Custom
DIMEN arrX [tetris]
DIMEN arrY [tetris]
dY = 1
dX = 1
mode = 0
main = .F.
BackColor = 0
turned_counter = 0
turned_counter_dy = 0
turned_counter_dx = 0
turned_clockwise = 0
turned_clockwise_dy = 0
turned_clockwise_dx = 0

PROCEDURE init
THIS.BackColor = THIS.get_color()
THIS.after_init
ENDPROC

PROCEDURE assign_neighbours (tl, tly, tlx, tr, try, trx)
THIS.turned_counter = tl
THIS.turned_counter_dy = tly
THIS.turned_counter_dx = tlx
THIS.turned_clockwise = tr
THIS.turned_clockwise_dy = try
THIS.turned_clockwise_dx = trx
ENDPROC

PROCEDURE init_arr (y1,x1, y2,x2, y3,x3, y4,x4)
THIS.arrX [1] = x1
THIS.arrX [2] = x2
THIS.arrX [3] = x3
THIS.arrX [4] = x4
THIS.arrY [1] = y1
THIS.arrY [2] = y2
THIS.arrY [3] = y3
THIS.arrY [4] = y4
ENDPROC

PROCEDURE reset_figure
STORE 1 TO THIS.dY, THIS.dX
ENDPROC

FUNCTION get_color ()
DO CASE
CASE INLIST (THIS.mode, 1,11)
RETURN RGB (c1,c0,c0)
CASE THIS.mode = 2
RETURN RGB (c1,c1,c0)
CASE INLIST (THIS.mode, 3,31,32,33)
RETURN RGB (c1,c0,c1)
CASE INLIST (THIS.mode, 4,41)
RETURN RGB (c0,c1,c1)
CASE INLIST (THIS.mode, 5,51)
RETURN RGB (c0,c1,c0)
CASE INLIST (THIS.mode, 6,61,62,63)
RETURN RGB (c0,c0,c1)
CASE INLIST (THIS.mode, 7,71,72,73)
RETURN RGB (c0,c0,c0)
OTHER
RETURN RGB (c1,c1,c1)
ENDCASE
ENDFUNC

PROCEDURE set_state (numColor, numOwner)
LOCAL ii
FOR ii=1 TO tetris
WITH ThisForm.d.arr [ THIS.dY+THIS.arrY[ii], THIS.dX+THIS.arrX[ii] ]
.BackColor = numColor
.Owner = numOwner
ENDWITH
ENDFOR
ENDPROC

PROCEDURE set_visible
THIS.set_state (THIS.BackColor, THIS.mode)
ENDPROC

PROCEDURE set_free
THIS.set_state (THIS.Parent.BackColor, 0)
ENDPROC

PROCEDURE set_debris
THIS.set_state (THIS.BackColor, -1)
ENDPROC

PROCEDURE set_owner (numOwner)
LOCAL ii
FOR ii=1 TO tetris
WITH ThisForm.d.arr [ THIS.dY+THIS.arrY[ii], THIS.dX+THIS.arrX[ii] ]
.Owner = numOwner
ENDWITH
ENDFOR
ENDPROC

PROCEDURE conflict (dY,dX, allowedMode)
LOCAL ii
FOR ii=1 TO tetris
IF Not (BETW(dY+THIS.dY+THIS.arrY[ii], 1, bucketHeight);
And BETW(dX+THIS.dX+THIS.arrX[ii], 1, bucketWidth))
RETURN .T.
ENDIF

WITH ThisForm.d.arr [ dY+THIS.dY+THIS.arrY[ii], dX+THIS.dX+THIS.arrX[ii] ]
IF Not (.Owner=0 Or .Owner=THIS.mode Or .Owner=allowedMode)
RETURN .T.
ENDIF
ENDWITH
ENDFOR
RETURN .F.
ENDPROC

FUNCTION move_ (dY,dX)
IF THIS.Conflict (dY,dX,0)
RETURN .F.
ELSE
THIS.set_free
THIS.dY = THIS.dY + dY
THIS.dX = THIS.dX + dX
THIS.set_visible
RETURN .T.
ENDIF
ENDPROC

PROCEDURE move_down
RETURN THIS.move_ (1,0)
ENDPROC

PROCEDURE move_left
RETURN THIS.move_ (0,-1)
ENDPROC

PROCEDURE move_right
RETURN THIS.move_ (0,1)
ENDPROC
ENDDEFINE

DEFINE CLASS f1 As figure && vertical stick
mode = 1
main = .T.
PROCEDURE after_init
THIS.init_arr (0,0, 1,0, 2,0, 3,0)
THIS.assign_neighbours (11,2,-1, 11,2,-2)
ENDPROC
ENDDEFINE

DEFINE CLASS f11 As figure && horizontal stick
mode = 11
main = .F.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 0,2, 0,3)
THIS.assign_neighbours (1,-2,1, 1,-2,2)
ENDPROC
ENDDEFINE

DEFINE CLASS f2 As figure && square
mode = 2
main = .T.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 1,0, 1,1)
THIS.assign_neighbours (2,0,0, 2,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f3 As figure && t-bone
mode = 3
main = .T.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 0,2, 1,1)
THIS.assign_neighbours (32,0,0, 31,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f31 As figure && t-bone rotated
mode = 31
main = .F.
PROCEDURE after_init
THIS.init_arr (0,0, 1,0, 2,0, 1,1)
THIS.assign_neighbours (3,0,0, 33,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f32 As figure && t-bone rotated
mode = 32
main = .F.
PROCEDURE after_init
THIS.init_arr (0,1, 1,1, 2,1, 1,0)
THIS.assign_neighbours (33,0,0, 3,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f33 As figure && t-bone rotated
mode = 33
main = .F.
PROCEDURE after_init
THIS.init_arr (1,0, 1,1, 1,2, 0,1)
THIS.assign_neighbours (31,0,0, 32,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f4 As figure && zed1
mode = 4
main = .T.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 1,1, 1,2)
THIS.assign_neighbours (41,0,0, 41,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f41 As figure && zed1 rotated
mode = 41
main = .F.
PROCEDURE after_init
THIS.init_arr (2,0, 1,0, 1,1, 0,1)
THIS.assign_neighbours (4,0,0, 4,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f5 As figure && zed2
mode = 5
main = .T.
PROCEDURE after_init
THIS.init_arr (1,0, 1,1, 0,1, 0,2)
THIS.assign_neighbours (51,0,0, 51,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f51 As figure && zed2 rotated
mode = 51
main = .F.
PROCEDURE after_init
THIS.init_arr (0,0, 1,0, 1,1, 2,1)
THIS.assign_neighbours (5,0,0, 5,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f6 As figure && scrap1
mode = 6
main = .T.
PROCEDURE after_init
THIS.init_arr (0,0, 1,0, 2,0, 0,1)
THIS.assign_neighbours (62,0,0, 61,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f61 As figure && scrap1 rotated
mode = 61
main = .F.
PROCEDURE after_init
THIS.init_arr (1,0, 1,1, 1,2, 0,0)
THIS.assign_neighbours (6,0,0, 63,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f62 As figure && scrap1 rotated
mode = 62
main = .F.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 0,2, 1,2)
THIS.assign_neighbours (63,0,0, 6,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f63 As figure && scrap1 rotated
mode = 63
main = .F.
PROCEDURE after_init
THIS.init_arr (0,1, 1,1, 2,1, 2,0)
THIS.assign_neighbours (61,0,0, 62,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f7 As figure && scrap2
mode = 7
main = .T.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 1,1, 2,1)
THIS.assign_neighbours (72,0,0, 71,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f71 As figure && scrap2 rotated
mode = 71
main = .F.
PROCEDURE after_init
THIS.init_arr (0,0, 0,1, 0,2, 1,0)
THIS.assign_neighbours (7,0,0, 73,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f72 As figure && scrap2 rotated
mode = 72
main = .F.
PROCEDURE after_init
THIS.init_arr (1,0, 1,1, 1,2, 0,2)
THIS.assign_neighbours (73,0,0, 7,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS f73 As figure && scrap2 rotated
mode = 73
main = .F.
PROCEDURE after_init
THIS.init_arr (0,0, 1,0, 2,0, 2,1)
THIS.assign_neighbours (71,0,0, 72,0,0)
ENDPROC
ENDDEFINE

DEFINE CLASS bucket As Container
max_mode = 7
current_mode = 0
BackColor = RGB(255,255,255)

DIMEN ff [100]
ADD OBJECT ff[ 1] As f1
ADD OBJECT ff[11] As f11
ADD OBJECT ff[ 2] As f2
ADD OBJECT ff[ 3] As f3
ADD OBJECT ff[31] As f31
ADD OBJECT ff[32] As f32
ADD OBJECT ff[33] As f33
ADD OBJECT ff[ 4] As f4
ADD OBJECT ff[41] As f41
ADD OBJECT ff[ 5] As f5
ADD OBJECT ff[51] As f51
ADD OBJECT ff[ 6] As f6
ADD OBJECT ff[61] As f61
ADD OBJECT ff[62] As f62
ADD OBJECT ff[63] As f63
ADD OBJECT ff[ 7] As f7
ADD OBJECT ff[71] As f71
ADD OBJECT ff[72] As f72
ADD OBJECT ff[73] As f73

arr_size = bucketWidth * bucketHeight
DIMEN arr [bucketHeight, bucketWidth]

PROCEDURE Init
THIS.AddSquees
THIS.Width = sqee_width * bucketWidth
THIS.Height = sqee_height * bucketHeight
ENDPROC

PROCEDURE AddSquees
LOCAL lnY, lnX, lcName
FOR lnY=1 TO bucketHeight
FOR lnX=1 TO bucketWidth
lcName = STRTRAN('arr'+STR(lnY,2) + '_' + STR(lnX,2), ' ','0')
THIS.AddObject (lcName, 'sqee')
THIS.arr [lnY,lnX] = EVAL('THIS.'+lcName)
WITH THIS.arr [lnY,lnX]
.left = (lnX-1) * sqee_width
.top = (lnY-1) * sqee_height
.Owner = 0
.visible = .T.
ENDWITH
ENDFOR
ENDFOR
ENDPROC

PROCEDURE RemoveSquees
LOCAL lnY, lnX, lcName
FOR lnY=1 TO bucketHeight
FOR lnX=1 TO bucketWidth
lcName = STRTRAN('arr'+STR(lnY,2) + '_' + STR(lnX,2), ' ','0')
THIS.RemoveObject (lcName)
ENDFOR
ENDFOR
ENDPROC

FUNCTION init_figure
THIS.current_mode = INT (RAND() * THIS.max_mode) + 1
IF NOT BETW(THIS.current_mode, 1,THIS.max_mode)
THIS.current_mode = 1
ENDIF
WITH THIS.ff [THIS.current_mode]
.reset_figure
IF .conflict (0,0,0)
RETURN .F.
ENDIF
.set_visible
ENDWITH
RETURN .T.
ENDFUNC

FUNCTION debris_line (num) && if there is at least one line of debris
LOCAL ii
FOR ii=1 TO bucketWidth
IF THIS.arr [num, ii].Owner <> -1
RETURN .F.
ENDIF
ENDFOR
RETURN .T.
ENDFUNC

FUNCTION find_debris_line
LOCAL jj
FOR jj=bucketHeight TO 1 STEP -1
IF THIS.debris_line (jj)
RETURN jj
ENDIF
ENDFOR
RETURN 0
ENDFUNC

PROCEDURE shake_debris
LOCAL num, jj, ii, savedColor
num = THIS.find_debris_line()
IF num = 0
RETURN
ENDIF

* release line
FOR ii=1 TO bucketWidth
THIS.arr[num, ii].Owner = 0
THIS.arr[num, ii].BackColor = THIS.BackColor
ENDFOR

* drop all other lines
FOR jj=num-1 TO 1 STEP -1
FOR ii=1 TO bucketWidth
IF THIS.arr[jj,ii].Owner = -1
savedColor = THIS.arr [jj, ii].BackColor
THIS.arr [jj, ii].BackColor = THIS.BackColor
THIS.arr [jj, ii].Owner = 0
THIS.arr [jj+1, ii].BackColor = savedColor
THIS.arr [jj+1, ii].Owner = -1
ENDIF
ENDFOR
ENDFOR
ENDPROC

PROCEDURE rotate_figure (newMode, dY,dX)
LOCAL obj
WITH THIS.ff [THIS.current_mode]
obj = THIS.ff [.turned_clockwise]
obj.dY = .dY + .turned_clockwise_dY
obj.dX = .dX + .turned_clockwise_dX
ENDWITH

IF Not obj.Conflict (0,0,THIS.current_mode)
THIS.ff [THIS.current_mode].set_free
THIS.current_mode = obj.mode
THIS.ff [THIS.current_mode].set_visible
RETURN .T.
ELSE
RETURN .F.
ENDIF
ENDPROC

PROCEDURE rotate
WITH THIS.ff [THIS.current_mode]
DO WHILE .T.
IF THIS.rotate_figure (.turned_clockwise, .turned_clockwise_dY, .turned_clockwise_dX)
EXIT
ELSE
IF Not .move_right()
EXIT
ENDIF
ENDIF
ENDDO
ENDWITH
ENDPROC

PROCEDURE rotate_counter_clockwise
WITH THIS.ff [THIS.current_mode]
THIS.rotate (.turned_counter, .turned_counter_dY, .turned_counter_dX)
ENDWITH
ENDPROC
ENDDEFINE

DEFINE CLASS frm As Form
Caption = 'Tetris'
MaxButton = .F.
BorderStyle = 2
KeyPreview = .T.
ADD OBJECT d As bucket
ADD OBJECT t As Timer

PROCEDURE Init
WITH THIS.d
STORE 0 TO .top, .left
THIS.Width = .Width
THIS.Height = .Height
ENDWITH
THIS.d.init_figure
THIS.t.Interval = dropInterval && setting speed
ENDPROC

PROCEDURE Destroy
THIS.d.RemoveSquees
ENDPROC

PROCEDURE KeyPress
LPARAMETERS nKeyCode, nShiftAltCtrl
DO CASE
CASE nKeyCode=27
THIS.release
CASE nKeyCode=keyLeft
THIS.d.ff [THIS.d.current_mode].move_left
CASE nKeyCode=keyRight
THIS.d.ff [THIS.d.current_mode].move_right
CASE nKeyCode=keyDrop
DO WHILE THIS.d.ff [THIS.d.current_mode].move_down()
ENDDO
CASE nKeyCode=keyRotate
THIS.d.rotate
ENDCASE
ENDPROC

PROCEDURE t.Timer
LOCAL obj
WITH ThisForm.d
obj = .ff [.current_mode]
IF Not obj.move_down()
obj.set_debris
IF .init_figure()
obj = .ff [.current_mode]
ELSE
ThisForm.release && here you lost
ENDIF
ENDIF
.shake_debris
ENDWITH
ENDPROC
ENDDEFINE



5. terakhir klik run


Sorri blm sempurna to game,....
buat yg bs sempurnain kasih gw y.....

referensi:
http://d3mi-unsyiah.forumi.biz/foxpro-f45/membuat-game-tetris-dengan-vfp-t13.htm

Supermassive Black Hole Lyric-Muse


biar g bosen niy blog tentang plajarn, gw postingin lagu dari band favorit gw:

Supermassive Black Hole lyrics
Songwriters: Bellamy, Matthew;

Ooh, baby don't you know I suffer?
Oh, baby can you hear me moan?
You caught me under false pretenses
How long before you let me go?

Ooh, you set my soul alight
Ooh, you set my soul alight

Glaciers melting in the dead of night
And the superstars sucked into the supermassive
(Ooh, you set my soul alight)
Glaciers melting in the dead of night
And the superstars sucked into the supermassive
(Ooh, you set my soul)

I thought I was a fool for no one
But ooh, baby I'm a fool for you
You're the queen of the superficial
And how long before you tell the truth?

Ooh, you set my soul alight
Ooh, you set my soul alight

Glaciers melting in the dead of night
And the superstars sucked into the supermassive
(Ooh, you set my soul alight)
Glaciers melting in the dead of night
And the superstars sucked into the supermassive
(Ooh, you set my soul)

Supermassive black hole
Supermassive black hole
Supermassive black hole
Supermassive black hole

Glaciers melting in the dead of night
And the superstars sucked into the supermassive
Glaciers melting in the dead of night
And the superstars sucked into the supermassive

Glaciers melting in the dead of night
And the superstars sucked into the supermassive
(Ooh, you set my soul alight)
Glaciers melting in the dead of night
And the superstars sucked into the supermassive
(Ooh, you set my soul)

Supermassive black hole
Supermassive black hole
Supermassive black hole
Supermassive black hole







Kamis, 24 September 2009

Slackware Linux (part: 2)

Menginstall Slackware Linux

Boot CD-ROM Installasi

Metode termudah untuk boot sistem installasi dengan menggunakan CD-ROM installasi. CD-ROM installasi Slackware Linux adalah CD yang bersifat bootable, yang berarti BIOS dapat boot dari CD, seperti ia dapat melakukan boot dengan sendirinya, sebagai contoh dari disket. Sebagian besar sistem modern memiliki BIOS yang mendukung boot dari CD-ROM.

Jika CD tidak di-boot ketika Anda sudah memasukkan CD pada drive CD-ROM selama boot sistem, maka urutan boot mungkin tidak benar pada BIOS. Masuk pada BIOS (biasanya dengan menekan tombol Del atau Esc ketika layar BIOS muncul) dan pastikan CD-ROM berada di daftar yang paling atas dari urutan boot. Jika Anda menggunakan CD-ROM SCSI, Anda mungkin harus menentukan urutan boot pada BIOS SCSI dan bukan pada BIOS sistem. Lihat manual kartu SCSI untuk informasi lebih lanjut.

Ketika CD-ROM di-boot, sebuah layar pre-boot akan muncul. Biasanya, Anda cukup menekan ENTER untuk melanjutkan dengan memuat kernel Linux default (hugesmp.s). Kernel ini membutuhkan paling tidak CPU Pentium Pro. Anda bisa boot kernel alternatif dengan memasukkan nama kernel pada prompt, dan menekan ENTER. Tabel berikut menampilkan kernel yang tersedia dari CD atau DVD Slackware Linux.


Setelah melakukan boot sistem installasi, Anda akan ditanya apakah Anda menggunakan layout keyboard khusus atau tidak. Jika Anda menggunakan keyboard US/Internasional umum, yang merupakan paling umum, Anda bisa menekan Enter pada pertanyaan umum. Login sebagai “root”, tidak ada kata sandi yang akan ditanyakan. Setelah login, shell akan dijalankan dan Anda bisa memulai proses installasi Slackware Linux. Prosedur installasi akan dijelaskan pada bab ini.

5.2. Mempartisi hard disk

Menginstall Slackware Linux membutuhkan paling tidak satu partisi Linux, membuat partisi swap juga disarankan. Untuk bisa membuat partisi, harus terdapat ruang kosong pada disk. Terdapat beberapa program yang dapat melakukan perubahan ukuran partisi. Sebagai contoh, FIPS bisa merubah ukuran partisi FAT. Program komersial seperti Partition Magic juga bisa mengubah ukuran jenis partisi lain.

Setelah boot CD-ROM Slackware Linux dan melakukan login, terdapat dua program partisi yang bisa Anda gunakan: fdisk dan cfdisk. cfdisk adalah yang termudah, karena dikendalikan oleh antarmuka berbasis menu. Bagian ini menjelaskan program cfdisk.

Untuk mempartisi hard disk pertama, Anda cukup menjalankan cfdisk. Jika Anda hendak mempartisi disk lain atau disk SCSI, Anda harus menentukan disk mana yang hendak Anda partisi (cfdisk /dev/device). Disk ATA memiliki penamaan seperti berikut: /dev/hdn, dengan “n” diganti oleh sebuah karakter. Contoh “primary master” diberi nama /dev/hda, “secondary slave” diberi nama /dev/hdd. Disk SCSI diberi nama dengan cara berikut : /dev/sdn, dengan “n” diganti oleh karakter perangkat (disk SCSI pertama = a, disk SCSI keempat = d).

Setelah memulai cfdisk, partisi yang ada akan ditampilkan, dan juga jumlah ruang kosong. Daftar partisi bisa dinavigasi dengan tombol panah “panah atas” dan “bawah”. Di akhir layar beberapa perintah akan ditampilkan, yang dapat dipilih dengan tombol panah “kiri” dan “kanan”. Sebuah perintah bisa dieksekusi dengan kunci Enter.

Anda bisa memulai mempartisi Linux dengan memilih “Free Space” dan mengeksekusi perintah “New”. cfdisk akan bertanya apakah Anda akan membuat partisi primer atau logical. Jumlah partisi primer dibatasi hingga empat. Linux bisa diinstall pada kedua jenis partisi. Jika Anda hendak menginstall sistem operasi lain selain Slackware Linux yang membutuhkan partisi primer, disarankan untuk menginstall Slackware pada partisi logical. Jenis dari partisi baru akan ditetapkan sebagai “Linux Native”, sehingga tidak perlu menentukan jenisnya.

Pembuatan partisi swap melibatkan urutan yang sama dengan partisi Linux normal, tetapi jenis partisi harus diganti menjadi “Linux Swap” setelah partisi dibuat. Ukuran yang disarankan untuk partisi swap bergantung dari jumlah memori utama (RAM) Anda. Jika Anda memiliki hard disk dengan ukuran yang cukup besar, disarankan untuk membuat partisi swap berukuran 256MB atau 512MB, yang cukup untuk kebutuhan normal. Setelah membuat partisi, jenis partisi bisa diganti menjadi “Linux Swap” dengan memilih perintah “Type”. Program cfdisk akan bertanya tentang nomor jenis. Partisi “Linux Swap” memiliki nomor 82. Biasanya nomor 82 sudah akan terpilih, sehingga Anda bisa melanjutkan dengan menekan tombol Enter.

Jika Anda puas dengan partisi, Anda bisa menyimpan perubahan dengan mengeksekusi perintah “Write”. Operasi ini harus dikonfirmasikan dengan memasukkan yes. Setelah menyimpan perubahan, Anda bisa keluar dari cfdisk dengan perintah Quit. Disarankan untuk melakukan reboot komputer sebelum memulai installasi, untuk memastikan perubahan partisi sudah berhasil. Tekan ctrl + alt + del untuk mematikan Linux dan menjalankan ulang komputer.

Menginstall Slackware Linux

Program installer Slackware Linux dijalankan dengan mengeksekusi setup pada shell installasi. setup akan menampilkan sebuah menu dengan beberapa pilihan. Anda bisa melihat tampilan gambar dari installer pada gambar "aplikasi setup". Setiap opsi diperlukan untuk installasi Slackware Linux yang lengkap, tetapi setelah Anda mulai, program setup akan membimbing Anda pada setiap opsi.


Bagian pertama dari installasi disebut “ADDSWAP”. Aplikasi setup akan melihat partisi dengan jenis “Linux Swap”, dan bertanya kepada Anda apakah Anda memformat dan mengaktifkan partisi swap . Biasanya Anda cukup menjawab “Ya”.

Setelah melakukan setting ukuran swap, menu “TARGET” dijalankan, yang dapat Anda lihat pada menu memilih partisi untuk inisialisasi . Menu ini digunakan untuk menginisialisasi partisi Slackware Linux. Setup akan menampilkan semua partisi dengan jenis “Linux Native”.


Setelah memilih satu partisi, aplikasi setup akan bertanya apakah Anda hendak memformat partisi atau tidak, dan jika Anda hendak memformatnya, apakah Anda hendak memeriksa disk untuk sektor yang rusak atau tidak yang disebut dengan memformat partisi. Menguji disk bisa memakan waktu yang cukup lama.


Setelah memilih untuk memformat sebuah partisi, Anda bisa menentukan sistem berkas yang akan digunakan. Biasanya Anda bisa memilih sistem berkas ext2, ext3, dan reiserfs. Ext2 adalah sistem berkas Linux standar untuk beberapa tahun, tetapi tidak mendukung journaling. Sebuah jurnal adalah berkas khusus atau area pada partisi dimana semua operasi sistem operasi dicatat. Ketika sistem mengalami crash, sistem berkas bisa diperbaiki dengan cepat, karena kernel bisa menggunakan log untuk melihat operasi disk yang dilakukan. Ext3 merupakan sistem berkas yang sama dengan Ext2, tetapi menambahkan kemampuan journaling. Reiserfs adalah sistem berkas yang juga menyediakan journaling. Reiserfs menggunakan balanced tree, yang membuat operasi sistem berkas lebih cepat dibandingkan Ext2 atau Ext3, terutama jika bekerja dengan berkas yang kecil. Kerugiannya adalah Reiserfs lebih baru, dan mungkin lebih tidak stabil.


Partisi pertama yang diinisialisasi secara otomatis di-mount sebagai partisi root (/). Untuk partisi lain, titik mount bisa dipilih setelah inisialisasi. Anda bisa, misalnya membuat partisi terpisah untuk /, /var, /tmp, /home dan /usr. Hal ini menyediakan proteksi tambahan ketika crash. Karena / jarang berubah setelah installasi jika Anda membuat partisi ini, kemungkinan ia akan berada pada saat operasi penulisan ketika crash menjadi lebih kecil. Selain itu, lebih aman untuk membuat sistem berkas terpisah untuk /home. Jika sebuah program memiliki kecacatan keamanan, seorang pengguna bisa menciptakan hard link pada biner dari sebuah program, jika direktori /home berada pada sistem berkas yang sama dengan /{s}bin, /usr/{s}bin, atau /usr/local/{s}bin. Pengguna ini akan tetap mampu mengakses biner lama setelah program di-upgrade.


Langkah berikutnya adalah memilih media sumber. Dialog ini menawarkan beberapa pilihan, seperti menginstall Slackware Linux dari CD-ROM atau menginstall Slackware Linux via NFS. Slackware Linux biasanya terinstall dari CD-ROM, sehingga ini yang akan kita lihat lebih dalam. Setelah memilih “CD-ROM” Anda akan ditanya apakah Anda mengijinkan setup mencari CD-ROM dengan sendirinya (“Auto”) atau Anda hendak memilih perangkat CD-ROM Anda sendiri (“Manual”). Jika Anda memilih “Manual” aplikasi setup akan menampilkan daftar perangkat. Pilih perangkat yang berisi CD-ROM Slackware Linux.


Setelah memilih sumber installasi, aplikasi setup akan bertanya seri set disk mana yang hendak Anda install. Sebuah deskripsi singkat dari masing-masing set disk akan ditampilkan.

Sekarang hampir saatnya untuk memulai installasi yang sebenarnya. Layar berikutnya akan menanyakan bagaimana cara Anda hendak melakukan installasi. Pilihan yang paling jelas adalah “full”, “menu” atau “expert”. Memilih “full” akan menginstall semua paket pada set disk yang dipilih. Ini adalah cara termudah dalam menginstall Slackware Linux. Kerugian dari pilihan ini adalah bisa memakan ruang yang cukup besar. Pilihan “menu” akan bertanya untuk setiap setnya, paket apa yang hendak Anda install. Opsi “expert” hampir sama dengan opsi “menu”, tetapi mengijinkan Anda untuk tidak memilih beberapa paket yang sangat penting dari set disk “a”.

Setelah selesai tahap installasi, aplikasi setup akan mengijinkan And auntuk mengkonfigurasi beberapa bagian dari sistem. Dialog yang muncul pertama kali akan menanyakan dari mana Anda hendak menginstall kernel. Biasanya installasi kernel dilakukan dari CD-ROM Slackware Linux, pilihan ini akan memilih kernel yang Anda pilih untuk Slackware Linux. Anda bisa mengkonfirmasi ini, atau memilih kernel lain.

Pada tahap ini Anda bisa memilih untuk membuat disk boot. Disarankan untuk membuat disk boot, Anda bisa menggunakannya untuk melakukan boot Slackware Linux jika konfigurasi LILO salah.

Dialog berikut dapat digunakan untuk membuat sebuah hubungan (link), /dev/modem, yang menunjuk pada perangkan modem Anda. Jika Anda tidak memiliki sebuah modem, Anda bisa memilih no modem.

Langkah berikutnya adalah memilh apakah Anda hendak menggunakan hotplug. Hotplug digunakan untuk mengkonfigurasi secara otomatis perangkat-perangkat USB, PCMCIA, dan PCI yang bersifat pluggable. Secara umum, disarankan untuk mengaktifkan hotplugging, tetapi beberapa sistem mungkin mengalami masalah dengan proses probing dari script hotplug.


Langkah berikut sangatlah penting, dialog berikutnya akan membantu Anda dalam menginstall LILO, Linux bootloader. Kecuali Anda sudah berpengalaman dalam mengkonfigurasi LILO, disarankan untuk memilih opsi simple untuk konfigurasi LILO, yang mencoba mengkonfigurasi LILO secara otomatis.

Setelah memilih opsi simple utilitas konfigurasi LILO akan menanyakan apakah Anda hendak menggunakan framebuffer atau tidak (memilih resolusi framebuffer). Menggunakan framebuffer mengijinkan Anda untuk menggunakan konsol pada beberapa resolusi, dengan dimensi lain selain 80x25 karakter. Beberapa orang yang menggunakan konsol secara ekstensif memilih untuk menggunakan framebuffer, yang mengijinkan mereka untuk mempertahankan lebih banyak teks pada layar. Jika Anda tidak menginginkan konsol dengan framebuffer, atau jika Anda tidak yakin, Anda bisa memilih standard pada pilihan ini.


Modifikasi Installasi

Seringkali Anda hendak melakukan modifikasi terhadap installasi Slackware Linux, misalnya untuk memahami bagaimana sistem GNU/Linux bekerja, atau mempersiapkan script installasi otomatis. Bab ini membahas langkah-langkah yang diperlukan untuk menginstall Slackware Linux secara manual. Sebuah contoh script installasi juga disediakan pada bagian script instalasi otomatis

6.1. Mempartisi hard disk

Jika Anda sudah melakukan installasi manual, Anda tidak akan mengalami masalah dalam mempartisi hard disk. Anda bisa menggunakan perintah fdisk dan cfdisk untuk mempartisi disk. Jika Anda membuat script installasi Slackware Linux, maka akan berguna untuk diketahui bahwa Anda bisa menggunakan pipe untuk perintah fdisk ke fdisk. Sebagai contoh:

# fdisk /dev/hda <<>

n

p

1

+10000M

n

p

2

+512M

t

2

82

w

EOF

Perintah-perintah ini menghasilkan partisi Linux utama sebesar 10000MB, dan partisi swap Linux utama sebesar 512MB. Anda bisa menyimpan perintah fdisk pada profil disk yang berbeda dan menggunakan salah satu profil sesuai kondisi tertentu (misalnya ukuran disk). Sebagai contoh:

# cat /usr/share/fdisk-profiles/smalldisk | fdisk

6.2. Menginisialisasi dan me-mount sistem berkas

Setelah membuat minimal partisi swap dan Linux, Anda bisa menginisialisasi sistem berkas dan ruang swap dan menggunakan ruang penyimpanan ini. Pada sistem dengan jumlah memory yang terbatas, Anda harus menginisialisasi dan menggunakan swap terlebih dahulu. Kita akan menggunakan layout partisi yang digunakan pada contoh diatas pada contoh berikutnya. Untuk melakukan setting dan menggunakan swap, jalankan:

# mkswap /dev/hda2

# swapon /dev/hda2

Arti dari perintah diatas cukup jelas. mkswap menginisialisasi ruang space, dan swapon menggunakannya. Anda hanya perlu menjalankan mkswap satu kali, tetapi swapon harus dijalankan setiap kali sistem dijalankan. Hal ini bisa dilakukan secara otomatis dengan menambahkan sebuah entri untuk partisi swap pada /etc/fstab, yang akan kita lakukan nanti.

Untuk saat ini, sangatlah penting untuk menginisialisasi partisi target. Hal ini bisa dilakukan dengan perintah mkfs. Anda bisa menentukan sistem berkas yang akan digunakan dengan menambahkan parameter -t. mkfs akan memanggil perintah mkfs.filesystem secara otomatis sesuai dengan sistem berkas yang Anda pilih. Hati-hati bahwa sistem berkas yang dapat digunakan tergantung dari kernel installasi yang Anda gunakan. Jika Anda menggunakan kernel bare.i, Anda bisa menggunakan sistem berkas ext2, ext3 dan reiserfs.

Untuk menginisialisasi sistem berkas ext3, dan melakukan proses mount, Anda harus menjalankan perintah berikut:

# mkfs -t ext3 /dev/hda1

# mount /dev/hda1 /mnt

Jika Anda sudah menyediakan partisi yang terpisah untuk beberapa direktori tertentu pada sistem berkas root, misalnya /home, Anda bisa melakukan inisialisasi dan melakukan proses mount saat ini. Sebagai contoh:

# mkfs -t ext3 /dev/hda2

# mkdir /mnt/home

# mount /dev/hda2 /mnt/home

Akhirnya, Anda harus melakukan mount terhadap media sumber Anda. Jika Anda menggunakan CD-ROM, hal ini sangatlah mudah. Misalkan /dev/hdc adalah berkas untuk CD-ROM, Anda bisa melakukan mount CD-ROM dengan:

# mount /dev/hdc /var/log/mount

Menggunakan NFS sebagai media installasi membutuhkan beberapa langkah tambahan. Pertama, Anda harus memuat disk jaringan. Anda bisa melakukannya dengan menjalankan perintah networknetwork /var/log/mount/network.dsk. Setelah memuat disk jaringan, Anda harus mengkonfigurasi antarmuka jaringan. Jika server dan memasukkan disk jaringan. Anda bisa memuat disk ini dari media lain, misalnya dari memori USB. Misalnya Anda telah melakukan mount dari memori USB pada /var/log/mount, Anda bisa memuat disk jaringan dengan: NFS berada pada jaringan yang sama, Anda hanya perlu memberikan alamat IP pada antarmuka jaringan. Misalnya, untuk menggunakan alamat 192.168.2.201, Anda bisa menjalankan perintah berikut:

# ifconfig eth0 192.168.2.201

Anda bisa memuat portmapper, yang diperlukan agar klien NFS bisa bekerja dengan benar:

# /sbin/rpc.portmap

Jika portmapper berjalan dengan baik, Anda bisa melakukan mount terhadap isi NFS. Tetapi, pastikan Anda sudah melakukan unmount semua sistem berkas yang Anda mount pada /var/log/mount. Jika tidak ada sistem berkas lain yang di-mount pada /var/log/mount, Anda bisa melanjutkan dengan me-mount isi NFS. Misalnya Anda hendak me-mount 192.168.2.1:/home/pub/slackware-current, Anda harus menjalankan perintah berikut:

# mount -r -t nfs -o nolock 192.168.2.1:/home/pub/slackware-current /var/log/mount

Jika tidak ada kesalahan yang dicetak ketika isi di-mount, maka isi akan dapat diakses melalui /var/log/mount

6.3. Menginstall paket-paket

Semua sudah siap untuk memulai menginstall paket-paket dari media installasi. Karena installpkg tersedia dari sistem installasi, Anda bisa menggunakannya untuk menginstall paket-paket Slackware Linux. Untuk menginstall paket-paket pada partisi target yang di-mount pada /mnt, tambahkan opsi -root. Perintah berikut akan menginstall semua paket dari media sumber:

# installpkg -root /mnt /var/log/mount/slackware/*/*.tgz

Jika Anda telah membuat berkas tag untuk mendefinisikan paket-paket mana yang harus diinstall, maka Anda bisa menggunakannya sekarang (berkas tag dijelaskan pada tagfile). Misalkan Anda telah menyimpan berkas tag untuk setiap set disk pada /usr/share/tagfiles/small-desktop, Anda bisa menginstall paket-paket berdasarkan berkas tag dengan cara berikut:

# for p in a ap d e f k kde kdei l n t tcl x xap y; do

installpkg -infobox -root /mnt \

-tagfile /usr/share/tagfiles/small-desktop/$p/tagfile \

/var/log/mount/slackware/$p/*.tgz

done


referensi :

http://slackware.linux.or.id/slackbasic/html/chap-instal.html

http://slackware.linux.or.id/slackbasic/html/custom-installation.html


dan pengalaman pribadi nginstal linux