Anda di halaman 1dari 16

Cetak Tembus Berbasis Web Dengan PHP dan Java

Yumarsono Muhyi STMIK Supra

Abstrak

Web-based computer applications are used a lot, either for small offices or medium-to-big companies. The flexibility and the efficiency it offers, make web- based application being favourable to them. But there is still one problem: copy printing. Copy printing with dot matrix rinter is widely known and used for stand- alone applications, not for web-based ones. To enable those web-based applications for copy printing, need some approaches and techniques, which will be explored in this article.

Kata Kunci: Printer, dot matrix, copy printing, web based.

1.

Pendahuluan

1.1. Latar Belakang

Printer atau mesin pencetak berjenis dot matrix banyak menjadi pilihan bagi kantor yang membutuhkan tembusan atau salinan dokumen dalam proses bisnisnya. Misalnya untuk purchase order, delivery order, dan sebagainya. Dengan sekali pencetakan, banyak salinan dokumen yang bisa dibuat sesuai kebutuhan, dengan bantuan pencetak dot matrix.

Karena kelebihan inilah, maka pencetak dot matrix tidak bisa digantikan dengan pencetak-pencetak modern yang berbahan pencetak berupa tinta cair atau serbuk tinta. Memang pencetak dot matrix tidak akan pernah bisa menghasilkan keluaran setajam dan seindah pencetak tinta atau laser, namun

kemampuan pencetak dot matrix yang dapat membuat tembusan atau salinan, juga tidak bisa digantikan oleh pencetak tinta atau laser.

Sehingga tidaklah aneh, jika kebutuhan akan pencetak tembus ini sangat besar di masyarakat. Mesin-mesin pencetak dot matrix yang edisi terdahulu, hingga kini masih tetap dicari dan digunakan. Bahkan mesin pencetak yang bekas pun masih berharga cukup tinggi di pasaran.

Di dunia aplikasi komputer, pendekatan dengan menggunakan basis web merupakan pilihan utama, dibandingkan dengan aplikasi versi sebelumnya yang stand alone. Keunggulan utama yang diharapkan dari aplikasi berbasis web adalah:

Instalasi tunggal, tidak perlu diinstalasi di setiap komputer.

Multiuser, dapat digunakan oleh secara bersamaan atau simultan oleh beberapa pengguna sekaligus.

Efisiensi biaya, karena tidak membutuhkan banyak komputer untuk membuat aplikasi ini berjalan.

Mudah perawatan dan pengembangan, sebab hanya terinstal di satu komputer, sehingga mudah dalam pemantauan dan pengoperasian.

Bebas disparitas geografis, dengan menggunakan jaringan dan Internet, aplikasi komputer berbasis web dapat diakses dari manapun dan kapanpun.

1.2. Perumusan Masalah

Kemudian muncul masalah antara aplikasi berbasis web dengan mesin-mesin periferal (peripheral), karena tidak terkoneksi langsung secara fisik. Mesin periferal adalah mesin-mesin yang berada di luar sistem komputer, seperti modem, printer, scanner, dan sebagainya. Syarat sebuah aplikasi komputer dapat mengakses sebuah mesin periferal adalah koneksitas secara fisik,

melalui media-media koneksi yang ada, baik itu serial port maupun parallel port.

Aplikasi berbasis web pada umumnya terpisah dengan mesin yang akan digunakannya (seperti pencetak, scanner, dan sejenisnya), baik itu terpisah secara fisik atau terpisah secara OSI layer. Dengan demikian, akan sulit bagi aplikasi berbasis web untuk menggunakan mesin periferal tersebut. Keberadaan jaringan sebagai media penghubung antara suatu komputer dengan periferal yang terpisah secara fisik, juga tidak serta-merta bisa menyelesaikan masalah, karena untuk mengoperasikan mesin membutuhkan instruksi-instruksi fisik yang sudah tertentu.

1.3. Tujuan

Artikel ini bertujuan untuk memberikan solusi dalam menggunakan pencetak dot matrix dengan menggunakan aplikasi berbasis web. Artikel ini sekaligus memberikan analogi pendekatan serupa, untuk mesin-mesin periferal lain yang akan dikendalikan menggunakan aplikasi komputer, yang terpisah cukup jauh secara fisik dan geografis antara komputer dengan mesin periferal tersebut, tapi memungkinkan untuk dihubungkan secara jaringan komputer.

2. Kerangka Pemikiran

Sesuai dengan tujuan awalnya yang berkenaan dengan cetak tembus, maka artikel ini akan membatasi solusi ke pencetak dot matrix saja, dan tidak akan membahas pencetak berjenis lain, seperti tinta, laser, plotter, dan sebagainya, dan tidak juga akan membahas mesin-mesin periferal lainnya. Meskipun demikian, pencetak jenis lain dan mesin periferal lain dengan berbagai fiturnya dapat digunakan dengan analogi dan pendekatan aplikasi yang sama.

Untuk mesin pencetaknya, penulis akan membatasi diri ke pencetak dot matrix bermerek Epson, yang telah menjadi standar untuk pencetak dot matrix yang baik kualitas dan kehandalannya. Selain itu, memang mesin pencetak bermerek inilah yang paling banyak beredar di pasaran Indonesia untuk tipe dot matrix, sehingga solusi pada artikel ini realistis, kontekstual, dan dapat diimplementasikan.

Materi inti yang dipergunakan dalam penulisan artikel ini sepenuhnya berasal dari literatur tentang mesin pencetak dari berbagai merek dan versi. Topik-topik yang menjadi bahasan dalam studi literatur artikel ini adalah standar-standar instruksi pencetak, terutama untuk pencetakan mode teks. Tema ini akan diulas pada bagian bahasan selanjutnya.

Artikel ini merupakan penulisan ulang atas proses pembuatan aplikasi yang dibuat oleh penulis, untuk sebuah aplikasi manajemen kampus di institusi tempat penulis mengabdi. Proses yang dilakukan dalam melakukan pembuatan aplikasi ini ada beberapa tahapan. Tahapan-tahapan tersebut adalah:

1. Studi literatur

2. Praktik pengoperasian alat

3. Pemodelan sistem

4. Pengkodean

5. Uji coba dan implementasi.

2.1. Printer Dot Matrix

Printer atau pencetak merupakan terobosan besar dalam dunia perkomputeran dan percetakan. Dimana dulu urusan cetak-mencetak adalah proses yang sangat panjang, mahal, dan melelahkan. Namun dengan dibuatnya mesin pencetak yang terkendali oleh komputer, membuat era baru dalam dunia percetakan, yang jaman dulu sekali (pada era Cina dan Islam) dilakukan pada serat kayu. Kini urusan percetakan dapat dilakukan dalam skala yang sangat kecil dan sangat hemat.

Pencetak dot matrix adalah generasi paling awal dalam industri percetakan berbasis komputer. Alat utamanya adalah kepala cetak (print head), berisi sejumlah jarum tersusun yang bergerak maju dan mundur menumbuk kertas/pita berkarbon ke atas kertas. Tumbukan ini akan memberikan citra, karena karbon yang menempel pada kertas.

Cara kerja kepala cetak ini persis dengan mesin tik. Hanya saja, jika mesin tik bentuk hurufnya sudah ditentukan, maka pada kepala cetak, huruf (atau karakter) dibentuk berdasarkan jarum-jarum yang tertentu yang digunakan untuk menumbuk kertas karbon. Jarum-jarum ini tersusun dalam sebuah matriks tertentu, maka disebut sebagai “dot matrix” atau “matriks titik”. Contoh hasil cetak dengan pencetak dot matrix dapat dilihat pada Gambar 1 berikut ini.

dot matrix dapat dilihat pada Gambar 1 berikut ini. Gambar 1. Hasil Cetak Pencetak Dot Matrix

Gambar 1. Hasil Cetak Pencetak Dot Matrix

Pencetak dot matrix ini kemudian terus berkembang hingga banyak versi. Kualitas pencetakannya juga terus meningkat, hingga ada yang kualitasnya disebut dengan Near Letter Quality (NLQ), dan pseudo-color yang merupakan pencetak dot matrix dengan pita karbon yang berwarna, tidak lagi berwarna hitam saja. Dan masih banyak lagi fitur-fitur kualitas yang tersedia. Gambar 2 berikut ini adalah pencetak dot matrix merek Epson tipe MX-80, salah satu generasi awal pencetak merek Epson yang cukup terkenal.

Gambar 2. Epson MX-80 Tahap lebih lanjut lagi, pencetak ini sekarang tidak lagi menggunakan pita

Gambar 2. Epson MX-80

Tahap lebih lanjut lagi, pencetak ini sekarang tidak lagi menggunakan pita karbon, melainkan tinta cair dan padat seperti pada pencetak laser atau mesin fotokopi. Kualitas dan ketajaman hasil cetak juga meningkat dengan jauh sekali, dibandingkan dengan kualitas cetak dot matrix yang terbaik sekalipun.

2.2. Set Instruksi

Sebagaimana mesin-mesin berbasis komputer atau mikroprosesor (microprocessor) lainnya, maka pencetak atau printer ini memiliki set instruksi yang tertentu. Masing-masing pabrik dan komponen memiliki standar set instruksi sendiri, adayang propietary (dimiliki dan digunakan oleh vendor atau pabrik tertentu) dan ada yang standar. Tidaklah salah jika dikatakan bahwa Epson sebagai peletak fondasi awal untuk set instruksi pencetak yang standar.

Set instruksi Epson tergantung pada jenis pencetaknya. Pencetak dapat bekerja pada dua mode, yaitu mode teks dan mode halaman (atau mode grafis). Versi awal hanya mengembangkan yang mode teks, dengan set instruksi bernama ESC/P (Epson, 1997). Untuk mesin-mesin pencetak keluaran terbaru, set instruksi yang digunakan adalah ESC/P2 dan ESC/POS, yang memiliki berbagai fitur baru dalam set instruksi dan operasinya (Epson, 2002).

Kata ESC pada tiap namanya menggambarkan bahwa setiap instruksi yang dikirim ke pencetak, haruslah dimulai dengan karakter ESC (escape). Maka, setiap data yang dikirim dari komputer ke pencetak tanpa diawali karanter ESC, akan diartikan sebagai karakter (atau sesuatu) yang harus dicetak.

Instruksi-instruksi dalam ESC/P dapat dikelompokkan menjadi beberapa jenis instruksi (Epson, 1997), yaitu:

1. Mengatur area pencetakan, seperti ukuran panjang kertas, lebar kertas, dan sebagainya.

2. Pemilihan jenis karakter yang akan digunakan, seperti jenis huruf, ukuran huruf, kualitas pencetakan, dan selainnya.

3. Memindahkan posisi kepala cetak (print head) ke posisi tertentu.

4. Mencetak secara grafis.

5. Mencetak kodebatang (barcode).

Pada generasi berikutnya, dikenal set instruksi bernama ESC/P2, seiring dengan dipasarkannya pencetak mode grafis yang lebih canggih. Saat ini juga ada set instruksi bernama ESC/POS (Point of Sale), yaitu set instruksi yang khusus dipergunakan bagi pencetak yang kecil dan portabel, seperti yang terdapat di pasar-pasar swalayan.

Apapun jenis pencetak yang akan digunakan, maka setiap pencetak bermerek Epson akan selalu mendukung set instruksi awalnya (backward compatibility), yaitu set instruksi ESC/P. Sehingga dapat diketahui, bahwa pencetak Epson apapun, dapat dipergunakan untuk mencetak dengan mode teks, meskipun bukan berjenis dot matrix.

2.3. PHP

Karena sudah banyak materi yang berbicara mengenai aplikasi berbasis web dan PHP, maka penulis tidak akan banyak mengulas materi yang sudah

umum ini. Penulis mempersilakan bagi para pembaca yang ingin mengetahui PHP dengan mendetail, untuk melihat ulasan tentang PHP di berbagai buku dan situs web yang ada.

PHP adalah bahasa pemrograman skrip (scripting) yang banyak digunakan sebagai alat untuk pengembangan situs web, karena kemudahan dan kesederhanaannya. PHP dulu bernama FI (Form Interpreted), yang berfungsi sebagai pengolah data-data yang terdapat di dalam sebuah form dari situs web.

Kemudian pada tahun 1997, sebuah perusahaan bernama Zend menuliskan kembali PHP ini ke beberapa versi lanjutannya hingga sekarang, dengan bentuk yang lebih rapih, lebih bersih, dan lebih cepat dalam pengolahannya.

2.4. Java

Java secara adalah sebuah bahasa pemrograman berbasis objek (object- oriented programming/OOP) yang dapat berjalan di berbagai mesin komputer dan berbagai sistem operasi. Yang sifat ini disebut sebagai muti platform, dan hal inilah yang menjadi kekuatan dan keunggulan Java hingga sekarang, dan terus berkembang.

Yang membuat Java dapat berjalan lintas platform adalah berkat adanya Java Virtual Machine (JVM). JVM menjadi pondasi bagi bahasa Java agar dapat bekerja di manapun. JVM berfungsi sebagai penjembatan antara mesin/komputer dengan bahasa Java. Atau dengan kata lain, JVM adalah mesin di atas mesin, dimana seolah-olah bahasa Java itu berjalan di atas mesin sendiri yang khusus, bukan mesin yang secara fisik ada di bawahnya.

Java bekerja sangat baik dan sangat stabil, sehingga banyak dipergunakan oleh banyak sistem-sistem produksi yang mengharapkan kepada kinerja yang

tinggi. Bidang-bidang yang sudah menggantungkan sistem produksinya kepada Java adalah perbankan, telekomukasi, informasi, dan sebagainya.

Java handal dalam melakukan pengendalian ke periferal dan komunikasi melalui jaringan. Sehingga kini banyak aplikasi-aplikasi atau alat-alat bantu yang bekerja di bidang periferal atau jaringan, yang menggunakan Java sebagai bahasa pemrogramannya.

Selain untuk aplikasi yang stand alone atau berdiri sendiri, Java juga memiliki teknologi yang handal untuk digunakan untuk aplikasi yang berbasis jaringan komputer. Teknologi Java yang sudah mendukung untuk jaringan komputer adalah J2EE (Enterprise Edition), sementara teknologi Java yang stand alone adalah J2SE (Standard Edition). Angka 2 merupakan kode bagi penggunanya, bahwa J2EE dan J2SE telah menggunakan terobosan teknologi, dibandingkan dengan versi-versi sebelumnya. Sekarang kode ini telah berkembang menjadi angka 5, dan disebut Java 5.

2.5. Pemodelan dan Pengkodean Sistem

Sistem yang penulis rancang dan buat dapat digambarkan seperti pada Gambar 3 berikut ini. Ada tiga modul utama yang berperan penting dalam proses pencetakan ini, yaitu:

1. Service Modul (Modul Servis).

2. Driver Module (Modul Pengendali).

3. Comm. Module atau Communication Module (Modul Komunikasi).

Selain tiga modul utama tersebut, terdapat 3 (tiga) modul lain sebagai pendukung, yang merupakan aplikasi-aplikasi dasar dari sistem ini, yaitu:

1. PHP dan Apache, dua modul ini sebagai sebagai aplikasi pondasi untuk Modul Servis.

2.

Java Virtual Machine (JVM), sebagai aplikasi pondasi untuk Modul Komunikasi dan Modul Pengendali.

Proses pencetakan dimulai dari pengguna (user) yang dengan aplikasinya yang berbasis web, melakukan permintaan pencetakan. Permintaan dilakukan melalui HTTP Request, ke server atau komputer di mana terdapat aplikasi pencetakan berbasis web. Aliran data permintaan tersebut dalam Gambar 3, diberikan warna merah berupa tanda panah. Data permintaan selanjutnya diolah oleh modul-modul yang ada secara berurutan, sebelum dilakukan pencetakan ke pencetak dot matrix.

sebelum dilakukan pencetakan ke pencetak dot matrix . Gambar 3. Diagram Arsitektur Sistem Modul Pengendali (
sebelum dilakukan pencetakan ke pencetak dot matrix . Gambar 3. Diagram Arsitektur Sistem Modul Pengendali (

Gambar 3. Diagram Arsitektur Sistem

Modul Pengendali (Driver Module) dibuat dari bahasa Java, dibuat dengan bantuan Eclipse sebagai IDE (Integrated Development Environment) atau aplikasi alat bantu untuk menyunting, mengeksekusi, dan mengkompilasi kode programnya. Modul Pengendali ini berfungsi sebagai penerus instruksi yang masuk ke modul tersebut. Modul Pengendali tidak melakukan pengolahan

apa-apa, hanya menerima masukan dan meneruskanya ke port paralel yang diinginkan, dimana pada umumnya port yang digunakan adalah port LPT1.

Modul Pengendali juga bertugas menjaga keutuhan format data dari karakter yang dikirim, agar jangan sampai ada yang mengalami translasi karakter karena adanya perbedaan tabel karakter yang digunakan antara pencetak dengan sistem sebelum modul Driver tersebut. Dalam sistem-sistem operasi tertentu, ketika mengirimkan suatu data keluar dari komputer, biasanya data yang keluar itu akan langsung diformat dengan kode bahasa dan kode karakter tertentu. Hal ini memang jamak dilakukan oleh beberapa sistem operasi, dalam rangka kemudahan pengolahan data di tingkat aplikasi.

Untuk mengirimkan data dan instruksi ke mesin-mesin periferal, perubahan format data ini tidak boleh terjadi, karena akan mengganggu operasi dari mesin periferal. Efek yang sering terjadi untuk mesin pencetak adalah, bahwa format karakter atau format ukuran halaman kertas cetakan menjadi tidak sesuai dengan instruksi yang telah dikirimkam. Misalkan dikirimkan instruksi untuk membuat format huruf tercetak menjadi miring (italics), dengan adanya pengubahan format data oleh sistem operasi, maka instruksi ini tidak akan dijalani oleh mesin pencetak.

Yang dikerjakan Modul Pengendali secara terurut dalam setiap eksekusi ke

pencetak, sesuai dengan rekomendasi tata operasi dari mesin pencetak Epson (Epson, 1997), beserta kode program Java-nya adalah sebagai berikut:

1. Inisialisasi pencetak, dengan mengirimkan karakter ESC (“escape”) dan karaktar “at” (@)

outputStream.write(27);

outputStream.write(64);

2. Mengirimkan karakter-karakter yang harus dicetak ke pencetak, yang awalnya karakter-karakter ini disimpan di buffer pencetak sebelum dicetak

outputStream.write(messageString.getBytes());

3. Mengirimkan karakter “new line” atau baris baru, sebagai penanda bahwa seluruh data sudah selesai dikirimkan dan bisa langsung dicetak dari buffer

outputStream.write("\n".getBytes());

4. Inisialisasi ulang pencetak, untuk mempersiapkan pencetakan yang baru berikutnya

outputStream.write(27);

outputStream.write(64);

5. Mengirimkan

data

dikirimkan dari JVM ke pencetak, karena JVM memiliki sistem

buffering sendiri

sinyal

flush”,

untuk

menjamin

bahwa

semua

outputStream.flush();

Modul Komunikasi (Communication Module atau Comm. Module) bertugas melakukan rutin-rutin standar untuk mengirim data ke port pencetak. Modul ini menggunakan komponen siap pakai yang standar dari Java, yaitu javax.comm. Fungsi-fungsi dari Modul Komunikasi langsung digunakan oleh Modul Pengendali tanpa ada pengubahan kode.

Modul Servis (Service Module) dibuat dengan menggunakan PHP standar, tanpa ada komponen lainnya. Modul Servis berfungsi sebagai antarmuka (interface) untuk menerima panggilan (request) HTTP dari luar sistem, lalu memanggil Modul Pengendali agar memprosesnya.

Teknik khusus perlu dilakukan saat Modul Servis memanggil Modul Pengendali, karena keduanya dibuat dengan bahasa yang berbeda dan lingkungan atau tingkat lapisan aplikasi yang berbeda. PHP pada aplikasi ini merupakan aplikasi berbasis web, sementara Java pada aplikasi ini merupakan aplikasi stand alone.

Agar Modul Servis yang terbuat dari PHP dapat memanggil Modul Pengendali yang terbuat Java, dilakukan pemanggilan aplikasi Java melalui eksekusi langsung dari sistem operasi. Data yang akan dicetak yang diterima dari Modul Service, dikirimkan ke Modul Pengendali melalui parameter saat memanggil Modul Pengendali dari command prompt.

Bagian kode program PHP untuk memanggilan Modul Pengendali adalah sebagai berikut:

exec("javaw -jar d:\WriteToPort.jar $port $message"); Cara pemanggilan seperti ini standar untuk sistem operasi apapun, apakah itu Linux, Windows, dan sebagainya. Sehingga dapat dijamin bahwa Mode Pengendali bisa berjalan di berbagai sistem operasi.

Agar berfungsi sebagai aplikasi stand alone, Modul Pengendali ini harus telah terkompilasi ke dalam sebuah arsip (file) JAR (Java Archive) bernama WriteToPort.jar, dengan nama port dan pesan yang dikirimkan melalui parameter dari eksekusi arsip JAR tersebut. Modul Pengendali ini selanjutnya secara internal menyusun parameter-parameter masukan yang berisi pesan tersebut, menjadi sebuah urutan yang sesuai, dan disimpan dalam sebuah variabel yang siap untuk dikirimkan ke pencetak dot matrix. Berikut ini adalah kode untuk penyusunan ulang parameter-parameter tersebut:

messageString

= "";

for (int i = 1; i < args.length; i++){

if (i == 1) messageString = args[i]; else messageString = messageString + " " +
if (i == 1)
messageString
= args[i];
else
messageString
= messageString
+ " " + args[i];

}

2.6. Implementasi Sistem

Sistem ini telah diujicobakan dan diimplementasikan dalam pembuatan sebuah aplikasi sistem informasi kampus berbasis web, di institusi tempat penulis

bekerja. Pencetakan telah bekerja dengan baik, dimana kebutuhan pencetakan beberapa jenis kuitansi pembayaran di bagian keuangan telah terlayani dengan baik.

Aplikasi sistem informasi kampus tersebut dibuat menggunakan RavenNuke, sebuah varian dari aplikasi CMS (content management system) terkenal, yaitu PhpNuke. Pencetakan yang dibutuhkan adalah pencetakan mode teks dengan kualitas draft, agar proses pencetakan kuitansi bisa dilakukan dengan cepat.

Aplikasi sistem informasi kampus tersebut diinstal di sebuah server, agar bisa diakses oleh banyak pihak melalui browser masing-masing secara simultan. Aplikasi sistem pencetak diinstalasi di sebuah komputer lain, dimana sebuah pencetak dot matrix siap digunakan di komputer tersebut.

3.

Kesimpulan

Pencetakan ke pencetak dot matrix (dan juga pencetak tipe lainnya) dari aplikasi berbasis web membutuhkan pendekatan dan teknik khusus. Berbagai teknik dan metode telah dilakukan untuk dapat melakukan hal ini, sebagaimana yang penulis telah amati dan teliti, yang pada umumnya spesifik untuk sistem operasi tertentu, seperti Linux dan Windows. Hal ini membuat metode-metode itu tidak dapat diimplementasikan untuk lintas operasi, dan dibutuhkan pengkodean ulang (recoding) agar dapat dijalankan di sistem operasi lain yang menjadi tujuan. Pengkodean ulang ini bukan persoalan yang mudah, karena tiap sistem operasi mempunya pola operasi yang berbeda, sehingga pengkodean ulang perlu memperhatikan banyak hal yang spesifik untuk sistem operasi tertentu dan mesin perifal yang tertentu.

Artikel ini memberikan pendekatan lain yang umum dan lintas sistem operasi, dalam memberikan kemampuan bagi aplikasi berbasis web untuk melakukan pencetakan, dan juga interkoneksi ke mesin periferal lainnya. Dengan

menggunakan Java sebagai basis aplikasi untuk hubungan ke pencetak, dan PHP sebagai modul komunikasi berbasis web, artikel ini telah memberikan gambaran sempurna untuk hal itu.

Meskipun demikian, artikel ini baru langkah awal dalam memberikan kemampuan bagi aplikasi berbasis web untuk melakukan pencetakan. Sistem yang dibuat dalam artikel ini juga masih sangat sederhana, dimana pencetakan dilakukan untuk mode teks dan kualitas draft yang memiliki resolusi rendah.

Masih perlu banyak pengembangan yang dilakukan, agar dapat memberikan aplikasi berbasis web kemampuan penuh untuk melakukan pencetakan. Misalnya untuk kualitas non draft, pencetakan mode grafis, maupun pencetakan untuk pencetak portabel yang berukuran kecil seperti pencetak POS (Point of Sale).

Daftar Pustaka

Allen J. and C. Hornberger. 2003. Mastering PHP 4.1. Sybex, California.

Axelson, J. Parallel Port Complete: Programming, Interfacing, & Using the PC's Parallel Printer Port. Lakeview Research LLC, Madison.

Bakken S. S.; A. Aulbach; E. Schmid; J. Winstead; L. T. Wilson; R. Lerdorf; A. Zmievski; and J. Ahto. 2003. PHP Manual. PHP Documentation Group. http://www.php.net/docs.php, diakses pada 31 Agustus 2003.

Epson, 1997. Epson ESC/P Reference Manual. Seiko Epson Corporation, Nagano.

Epson, 2002. FAQ for ESC/POS. Seiko Epson Corporation, Nagano.

Hartinah,

di

sampaikan pada Pendidikan dan Pelatihan Alih Ajar se-Propinsi Jawa

Tengah.

S.

2005.

Penulisan

Karya

Ilmiah

Bagi

Pustakawan.

Artikel

Heller, P. 2003. Ground-Up Java. Sybex, California.

Lemay L. and C. L. Perkins. 1996. Teach Yourself Java in 21 Days. Sams.net Publishing, Indianapolis.

McAffer J. and J. Lemieux. 2005. Eclipse Rich Client Platform: Designing, Coding, and Packaging Java™ Applications. Addison Wesley Professional, Indiana.

Ratschiller, T.; T. Gerken; 2000. Web Application Development with New Riders.

PHP 4.0.

Sklar, D. 2004. Learning PHP 5. O’Reilly, California.

Soedrajad, R. 2002. Teknik Penyajian Ilmiah. Universitas Jember, Jember.

Sun, 1998. Java TM Communications API. Sun Microsystem Inc., California