Berkas tumpak

**Berkas tumpak** () atau **berkas tumpuk** adalah sebuah berkas teks yang berisi beberapa rangkaian perintah untuk dijalankan oleh *command interpreter* (penafsir perintah). Berkas tumpak dapat didefinisikan sebagai kumpulan *command line* (baris perintah) yang dapat dijalankan pada Microsoft Windows. Berkas tumpak biasanya berekstensi "bat" atau "cmd". Pemrograman berkas tumpak sangat sederhana, yakni mengetik *source code program* pada Notepad atau penyunting teks lainnya, lalu menyimpannya dengan ekstensi "bat".

## Pendahuluan

Pada era MS-DOS, penggunaan berkas tumpak sangat umum di lingkungan pengguna. Dengan berkas tumpak tersebut, pengguna dapat mengulang suatu perintah yang terdapat dalam berkas tumpak untuk dieksekusi di lain waktu ketika dibutuhkan. Pemrograman berkas tumpak bisa dibilang sederhana, dan tidak membutuhkan keahlian khusus karena berkas tumpak hanya berisi baris perintah yang dijalankan secara urut dari atas ke bawah, walau tidak menutup kemungkinan penggunaan perintah *goto* untuk melompat ke perintah tertentu. Lalu kemudian muncul sistem operasi berbasis GUI, dan menggunakan *mouse* membuat banyak dari pengguna meninggalkan penggunaan berkas tumpak ini, tetapi sebagian pengguna masih setia menggunakan berkas tumpak ini. Menggunakan sistem berbasis GUI memang mudah untuk orang awam, tetapi penggunaan berkas tumpak mempunyai nilai lebih, yakni pengguna diajak berpikir untuk menyusun perintah-perintah yang akan dimasukkan ke dalam berkas tumpak sehingga otak akan semakin terlatih kemampuan berpikirnya.

Pemrograman *batch file* tidak lain adalah Unix Shell Programming versi Windows. Di dalam DOS, berkas tumpak merupakan *file* teks berisi rentetan perintah yang akan dieksekusi oleh *command interpreter* untuk kemudian dieksekusi satu persatu secara urut seperti saat kita mengetikkan *command* di MS-DOS. Hanya saja dengan berkas tumpak, perintah-perintah tersebut dimasukkan ke dalam suatu *file* untuk otomatisasi penggunaannya.

*Batch file* ini sendiri dapat dicontohkan seperti *shortcut* ikon yang ada di Windows atau Mac, yakni seperti jalan pintas untuk menjalankan satu atau lebih perintah ke dalam satu langkah mudah. Contoh lainnya adalah AUTOEXEC.BAT yang merupakan berkas *boot* sederhana yang dimuat pada MS-DOS. Berkas tumpak tersebut berisi semua perintah yang digunakan untuk menjalankan MS-DOS setiap kali komputer melakukan *booting*.

## Deskripsi
Berkas tumpak adalah berkas teks yang berisi serangkaian perintah yang paling umum digunakan untuk memulai menggunakan program dan menjalankan utilitas. Berkas tumpak melakukannya dengan salah satu perintah yang biasa diperlukan, bukan perintah ganda. Mereka dapat disamakan dengan ikon cara pintas seperti yang terlihat dalam butir-&-klik sistem operasi, tetapi berkas tumpak jauh lebih kuat.

Menggunakan berkas tumpak untuk memulai sebuah program, pernyataan *path*  mungkin dibuat lebih pendek. Ini berarti lebih sedikit direktori di mana DOS harus mencari selama operasinya. Memiliki jalan yang lebih singkat juga akan memberikan ruang bagi program-program lain yang mungkin memerlukan pencantuman jalan agar berfungsi dengan benar.

Selanjutnya, berkas tumpak yang canggih dapat memperbaiki program yang dimulai oleh semua atau bagian dari program ke atas yang membutuhkan lebih banyak ruang pada memori sehingga membebaskan lebih banyak ruang pada memori konvensional. Banyaknya ruang kosong pada memori konvensional berarti program memiliki ruang bernapas dan akan ada ruang untuk menjalankan utilitas. Kemampuan yang sama ini mungkin telah ada di baris perintah, tetapi perintah ini kemungkinan besar akan rumit dan sulit untuk diingat.

Dengan satu perintah, berkas tumpak dapat menjalankan program konfigurasi yang diinginkan dan dapat meminta *file* terkait, seperti pengolah kata dokumen atau *[[spreadsheet]]* akan diambil setelah program utama berjalan. Ini menghemat pengguna mencari dokumen dan menerbitkan perintah-perintah yang diperlukan untuk memuatnya. Salah satu perintah sederhana dari *[[username]]* melakukan itu semua tanpa dokumen pada konfigurasi yang dipilih pengguna dan dengan pilihan pengguna.

Menggunakan berkas tumpak untuk menjalankan utilitas berarti memiliki akses langsung. Jika ada perintah yang sering digunakan oleh opsi tertentu, maka pengguna dapat memasukkannya ke dalam berkas tumpak. Dengan demikian, berkas tumpak dapat menyelamatkan pengguna dari keharusan pengetikan perintah setiap kali pengguna menggunakan utilitas. Alangkah lebih baiknya, menggunakan berkas tumpak berarti tidak ada kemungkinan salah pengetikan pada parameter ini.

Berkas tumpak pada DOS juga dapat membuat keputusan untuk melakukan operasi hanya jika kondisi tertentu ada atau tidak ada. Bahkan, berkas tumpak paling canggih yang dapat menandingi perintah biasanya tidak disertakan dengan sistem operasi DOS.

Hal ini mirip dengan fitur pada *Windows File Association*, tetapi dengan banyak keuntungan karena sejumlah berkas tumpak bisa ditulis untuk memuat masing-masing *file* yang sama, tetapi berbeda atribut atau opsi *start-up*. Bahkan, salah satunya yang memiliki *file* yang sama dapat dimuat ke program yang berbeda secara spesifik, tetapi berbeda pilihan. Pengguna tidak pernah mengubah konfigurasi tersebut secara manual.

## Ekstensi Berkas Tumpak pada MS-DOS
Ekstensi ".bat" merupakan ekstensi pertama yang digunakan oleh Microsoft untuk berkas tumpak. Ekstensi ini berjalan pada MS-DOS dan semua versi dari Microsoft Windows. MS-DOS menggunakan command.com untuk mengeksekusi berkas tumpak, sedangkan Windows menggunakan cmd.exe untuk menjalankannya.

## Cara Kerja Berkas Tumpak
Ketika sebuah berkas tumpak dijalankan, *program shell* yang berupa command.com akan membaca berkas tersebut dan kemudian mengeksekusi perintahnya secara baris demi baris. Berkas tumpak berguna untuk menjalankan rangkaian dari beberapa perintah yang *executable* (tereksekusikan) secara otomatis dan sering digunakan oleh sistem administrator untuk mengotomatisasi banyak proses secara bersamaan. Perintah berkas tumpak bersifat *case insensitive* (tak peka kapital). Jadi, tidak ada perbedaan maksud antara huruf besar dengan huruf kecil, tetapi parameter perintah dan peubah bersifat peka kapital ().

Dalam perintah tumpak DOS, perintah-perintah seperti *Copy, Dir, Delete* disebut dengan perintah internal. Sedangkan perintah semisal Format, *Undelete, Backup* merupakan bagian dari perintah eksternal. Setiap menjalankan perintah pada berkas tumpak DOS, baik internal ataupun eksternal, command.com akan langsung menjalankan peritah internal atau memanggil program eksternal yang terpisah dan menjalankan perintah tersebut untuk kemudian mengembalikan hasilnya dalam bentuk perintah eksternal.

## Fungsi Berkas Tumpak

Katakanlah untuk menjalankan seperangkat perintah berulang kali seperti melakukan tugas rutin seperti *Back up Important File*, menghapus berkas-berkas sementara (``, ``, ...), maka sangat repot jika kita harus mengetik perintah-perintah yang sama setiap kali kita akan melakukan tugas yang sama. Maka diperlukanlah berkas tumpak untuk mengatasi hal tersebut, sehingga setiap kali kita butuh untuk melakukan sebuah tugas tertentu dalam DOS kita tinggal jalankan saja berkas tumpak yang sudah kita buat sebelumnya. Hal ini tentu akan sangat efektif daripada harus mengetikkan perintah-perintah yang sama, sehingga dapat menghemat waktu.

Dalam keseharian, berkas tumpak dapat memiliki dua fungsi, yakni fungsi positif dan fungsi negatif. Dikatakan berfungsi positif jika berkas tumpak digunakan untuk *tune up*, program administrator, *backup*, dan lainnya. Berkas tumpak berfungsi negatif jika ia digunakan untuk membuat virus, *[[Cracker Jack|cracker]]*, dan sebagainya.

## Dasar membuat Berkas Tumpak

Untuk membuat berkas tumpak, berikut contoh sederhananya:

* Buka jendela perintah ("CMD.EXE"), ketik: "edit test.bat" dan tekan "enter"
* Jika mengetiknya benar, maka layar akan menjadi biru. Dalam layar ketik:


```
pause
dir c:\windows
pause
dir c:\windows\system
pause
```


# Setelah itu, Klik “file” kemudian “exit”. Ketika diminta untuk menyimpan, pilih “yes”. Pengguna yang tidak memiliki kursor mouse dapat melakukan hal tersebut dengan menekan Alt+F untuk mengakses menu “File”, lalu tekan “x” untuk exit dan “enter” untuk menyimpan perubahan.
# Setelah anda kembali ke MS-DOS Prompt, ketik: tes dan tekan “enter”. Hal ini akan mengeksekusi file test.bat dan menjalankan file. Karena baris pertama adalah pause, maka Anda akan diminta untuk menekan tombol. Setelah itu, berkas tumpak akan berjalan baris demi baris.

Jika ingin menambahkan baris perintah pada berkas tumpak, cukup dengan mengetikkan edit test.bat untuk mengeditnya, tetapi beberapa versi MS-DOS tidak memiliki perintah Edit. Jika hal ini terjadi, maka perlu mendapatkan file edit.com untuk mengakses file ini atau dengan copy con command.

## Contoh Program Tumpak
Pemrograman *batch* sangat sederhana, cukup ketik *source code program* pada Notepad atau penyunting teks lainnya, lalu simpan dengan ekstensi .bat. Untuk awalnya, buka Notepad terlebih dahulu yang dapat dilakukan dengan dua cara, yaitu:

* Klik Start >> All Programs >> accessories >> Notepad.
* Klik kanan di tengah desktop >> New >> Text Document >> Lalu klik ikon text document-nya.

Setelah jendela Notepad terbuka, barulah Anda mengetikkan command-command batch-nya di Notepad tersebut. Untuk hal pertama, cobalah terlebih dahulu dengan command yang sederhana sebagai berikut.

    @echo off
::Tidak menampilkan tulisan "echo"
    echo Selamat Pagi!
::Menulis pesan "Selamat Pagi!" ke layar
    pause
::Pause menunggu user untuk menghentikan program

Setelah itu, klik File >> Save As >> nama.bat atau coba.bat

Perlu diingat di sini, ekstensi file tersebut haruslah *.bat (ekstensi adalah kata setelah titik) yang menandakan file tersebut adalah file *.bat. Tidak hanya itu saja perintah yang dapat dibuat, masih banyak lagi perintah dengan variasi yang sangat sulit untuk dipelajari. Masih banyak lagi berkas tumpak yang dapat dibuat, tetapi sebelumnya mari kita pelajari mengenai beberapa *syntax* pada berkas tumpak.

### Beberapa Perintah Tumpak
* › Copy = membuat duplikat suatu file ke direktori lainnya.
* › Del = Menghapus sebuah file dari suatu direktori.
* › Echo = menulis pesan ke layar, sedangkan untuk *syntax* echo off, digunakan untuk meniadakan tampilan echo.
* › Goto = melompat dari suatu syntax ke label.
* › Help = melihat command batch lainnya.
* › Start = menjalankan suatu program.
* › Pause = Merupakan perintah untuk meminta satu ketikan sembarang tombol, di mana pesan yang ditampilkan adalah Press any key to continue... Untuk menghilangkan pesan ini dapat diketikkan PAUSE > NUL.
* › If = Digunakan untuk memeriksa kondisi tertentu jika kondisi tersebut tersedia.
* › Rem = Kependekan dari REMARK, merupakan suatu perintah yang mengakibatkan suatu baris perintah menjadi tidak berfungsi, akan diabaikan dan tidak diproses.
* › Cls = Sama seperti perintah DOS, yaitu digunakan untuk menghapus layar.
* › Exit = keluar dari jendela DOS jika berkas tumpak berjalan dari Windows.

### Beberapa Operator
* **@ **= berguna untuk membuat *syntax* menjadi tidak terlihat di layar atau untuk tidak menampilkan baris perintah di sebelah kanan layar.
* **: **= tanda label.
* **> **= menuliskan sesuatu dengan meniban isi *file* yang sudah ada.
* **>> **= menuliskan sesuatu pada baris yang baru.
* **:: **= komentar, tidak dieksekusi.

## Lihat pula
* AUTOEXEC.BAT

## Referensi

* Microsoft Windows XP Batch file reference
* How Windows batch files work
* Windows batch file command overview
* Batfiles: The DOS batch programming handbook
* FreeDOS' FreeCOM: complete feature list
* MS-DOS+Win../95/98/ME batch programming links 
* scripting related information (also command line)
* Semua Tentang Batch File pada Windows (bukan DOS)