<!doctype linuxdoc system>
<article>
<title>  COFFEE-HOWTO
<author>  Georgatos Photis, &lt;gef@ceid.upatras.gr&gt; Diterjemahkan oleh Wima S.Y. &lt;wima%its.ac.id@iptek.net.id&gt;
<date>  v0.5, 15-01-1998 Terj. 1 Januari 1999

<abstract>
  Salah satu penilaian yang sangat mengganggu pada suatu software, yang
  pernah penulis dengar adalah bisa tidaknya sebuah software membuat kopi.
  Linux terbukti mampu membuat kopi. Dan rasanya cukup enak !

  Selama beberapa waktu yang lalu, manusia dikejutkan dengan bagaimana
  sebuah komputer mampu untuk membuat kopi. Manusia membutuhkan kopi untuk
  tetap terjaga dan tidak tertidur didepan komputer dalam waktu lama. Semua
  orang mengetahui bahwa menulis program lebih baik dilakukan pada saat malam
  hari.

  Permasalahan utama adalah bagaimana mengendalikan mesin pembuat kopi
  sehingga dapat dikendalikan oleh software. Secara umum berarti tombol ON/OFF
  di implementasikan sebagai rangkaian elektronik yang mengontrol catu daya
  mesin pembuat kopi.

  Catatan penterjemah : Ini adalah salah satu mini HOWTO favorit saya, 
  sebab dengan mini HOWTO ini saya berhasil menyusun hipotesa tentang
  mengapa Linux akan menjadi sistem operasi masa depan. Hal ini juga yang
  mengilhami para programmer di SUN untuk membuat JAVA. Sebab kopi yang paling
  enak didunia berasal dari pulau Jawa, meskipun belum ada orang yang
  mencoba membuat kopi dengan menggunakan JAVA.

  Apabila terdapat kesalahan dan koreksi penterjemahan harap hubungi 
  penterjemah di &lt;wima%its.ac.id@iptek.net.id&gt;

  Saran dan pendapat dapat langsung dialamatkan ke penulis atau penterjemah.
</abstract>
<toc>

<sect> Menu
<p>
<sect1> Kopi Perancis
<p>
  Merupakan kopi yang cukup populer dikalangan programer, dikarenakan tidak
  dibutuhkan cara-cara pembuatan / pemakaian khusus, seperti halnya software
  komersial. Rasanya yang enak telah menginspirasi ribuan programmer untuk
  menulis software-software bagus, yang ditulis pada jam pertama dari
  hari-hari kita. Windows misalnya, ditulis pada jam 05:00 pagi, dengan
  menggunakan kopi ini.

<sect1> Nescaffe
<p>
  Nescaffe adalah kopi yang cukup kuat, dibuat dengan menuangkan air panas
  pada campuran kopi dan gula. Biasanya cukup satu sendok kopi dan satu sendok
  gula dengan sedikit air untuk mencampurnya. Sementara itu anda memerlukan
  air mendidih. Setelah air mendidih maka campur dan aduk dan apabila anda
  suka tambahkan susu sedikit.

<sect1>frappe
<p>
  Variasi lain dari Nescaffe. Frappe ini tidak membutuhkan mesin pembuat
  kopi tapi sebuah lemari es untuk air dingin dan es batu kecil.

<sect1> freddo
<p>
  Kopi ini cukup sulit untuk membuatnya, lihatlah Coffe FAQ (lihat
  referensi)

<sect1> cappuccino (akan ditambahkan)
<p>
<sect1> espresso (akan ditambahkan)
<p> 
  <em/Tambahan dari penterjemah. Berikut ini adalah kopi favorit penterjemah./
  
<sect1> Kopi Gresikan
<p>
  Anda dapat membuat kopi ini dari berbagai jenis kopi. Masukan lima
  sendok-teh kopi dan tiga sendok-teh gula pada sebuah cangkir kopi lalu
  tuangkan air yang benar-benar mendidih. Anda akan mendapatkan kopi yang
  kental. Diamkan sesaat sebelum diminum, tunggu hingga biji-bijian yang
  mengapung tenggelam dengan cara meniupnya. Kopi siap diminum.
  
<sect1> Kopi Bonek
<p> 
  Didihkan air secukupnya. Buatlah dalam gelas (tanpa air) lima sendok-teh
  kopi dan empat sendok-teh gula. Ketika air sudah mendidih, masukan campuran
  kopi-gula kedalam air panas dan tunggu hingga mendidih. Sajikan dalam gelas
  dalam keadaan panas.
  
<sect1>Kopi Regional
<p>  
  Kopi-kopi berikut ini adalah kopi yang terkenal enak bahkan hingga sampai
  keluar negeri.
<itemize>
	<item> Kopi Lampung : Keras dan beraroma kuat
 	<item> Kopi Bali    : Beraroma khas.	
	<item> Kopi Lombok  : Sangat keras.
	<item> Kopi Singa   : Sangat enak dan berasa khas
 	<item> Kopi KapalApi: Tersedia berbagai rasa.
</itemize>
  Anda dapat membuat kopi-kopi diatas dengan cara 1.7 dan 1.8. dengan hasil
  yang tidak mengecewakan.


<sect>  Rangkaian Elektronik
<p>
  Blok diagram secara umum adalah sebagai berikut:

<verb>
  --------- 0-5V  ----------- ~220V  ------------
  |  PC   |===>===|Rangkaian|========|Mesin Kopi|
  ---------       -----------        ------------
</verb>

  Konsepnya adalah bagaimana kita mengatur tegangan dari komputer yang akan
  mengendalikan rangkaian isolasi dengan <em/Relay/ atau <em/Triac/.

  Anda harus menggunakan Relay apabila anda menggunakan mesin kopi yang
  berdaya lebih besar dari 200W, apabila tidak anda dapat menggunakan TRIAC.

  Semua rangkaian dibawah ini sudah diuji, namun anda tetap <bf/BERTANGGUNG
  JAWAB/ terhadap apapun hasilnya. Apabila anda tidak mempunyai pengalaman
  dengan elektronik maka jangan mencoba hal ini atau anda mungkin mendapatkan
  sesuatu yang buruk..

  Anda harus berhati-hati berkesperimen dengan 220V, dapat pula digunakan
  <em/fuse/ (sekring) untuk pengaman

<sect1> Mengendalikan tegangan 0-5V dari port parallel
<p>
  Berikut ini adalah contoh sederhana untuk mendapatkan tegangan 0-5V dari
  port parallel (printer).

<verb>
             Tampak belakang    -----    Pin 10 - ACK
             Male DB-25         |   |    Pin  9 - D7
             Connector          |   |                           Pin 2 - D0
                                v   v                           v   Pin 1 -
       ~Strobe
              ____________________________________________________________
             /                                                            \
             \     13  12  11  10   9   8   7   6   5   4   3   2   1     /
              \                                                          /
               \     25  24  23  22  21  20  19  18  17  16  15  14     /
                \______________________________________________________/

</verb>
 <tt/Pin 1/ adalah <tt/Strobe/ (<em/inverse logic/)

  <tt/Pins 2-9/ adalah signal <tt/DATA BUS/, sesuatu yang ditulis pada parallel port
  akan ditahan (<em/latch/). Digunakan perintah <tt/OUTB/.

  <tt/Pin 10/ adalah signal acknowledge (<tt/ACK/), dikendalikan oleh anda, sehingga
anda dapat menghasilkan interupsi ke CPU

  <tt/Pin 18-25/ adalah ground (<tt/GND/)

  Lengkapnya:

<verb>
  <= in   DB25    Cent    Nama            Reg
  => out  pin     pin     Signal          Bit     Fungsi
  ------  ----    ----    --------        ---     -----------------------------
  =>       1       1      -Strobe         C0-     Pulsa rendah selama >0.5 us 
  =>       2       2      Data 0          D0      Data Least Significant Bit
  =>       3       3      Data 1          D1      ...
  =>       4       4      Data 2          D2      ...
  =>       5       5      Data 3          D3      ...
  =>       6       6      Data 4          D4      ...
  =>       7       7      Data 5          D5      ...
  =>       8       8      Data 6          D6      ...
  =>       9       9      Data 7          D7      Data Most Significant Bit
  <=      10      10      -Ack            S6+ IRQ Pulsa rendah ~ 5 uS,
					           setelah diterima
  <=      11      11      +Busy           S7-     Tinggi untuk Busy/Offline
  <=      12      12      +PaperEnd       S5+     Tinggi untuk out of paper
  <=      13      13      +SelectIn       S4+     Tinggi untuk printer selected
  =>      14      14      -AutoFd         C1-     Rendah untuk af 1 baris
  <=      15      32      -Error          S3+     Rendah untuk PaperEnd
  =>      16      31      -Init           C2+     Pulsa rendah > 50uS, u/ init
  =>      17      36      -Select         C3-     Rendah untuk set printer
  ==      18-25   19-30,  Ground
</verb>

<sect1> Mengendalikan dengan relay
<p>
  Rangkaian paling sederhana adalah :

<verb>
                                    Vcc
                                     |
                                     +------+
                                     |    __|__
                                   Relay   /^\  Diode 1N4002
                                    Coil  /---\
                                     |      |
                                     +------+
                                     |
                                  | /
                        4.7K    B |/  C
       parallel port >-\/\/\/\/---|        NPN Transistor: BC547A or 2N2222A
       data pin                   |\  E
                                  | V
                                    |
       parallel port >--------------+
       ground pin                   |
                                 Ground
</verb>

  Hubungkan Vcc dengan tegangan yang sama dengan tegangan kerja relay,
  biasanya 5V atau 12V. Relay harus dipilih sesuai dengan spesifikasi mesin
  kopi anda.

  Beberapa orang meletakan relay setelah transistor, pada emitor (E)
  daripada kolektor (C). Hal ini akan membuat transistor terbias dengan buruk
  dan akan menghasilkan kopi yang tidak enak. Diode digunakan untuk
  memproteksi transistor dari arus balik relay. Apabila anda tidak
  menggunakannya maka transistor anda akan berasap dan rusak.


<sect1> Mengendalikan dengan TRIAC #1
<p>
  Anda dapat menggunakan driver TRIAC dari Motorola MOC301012 atau
  ekivalennya (di Indonesia banyak dijumpai ditoko-toko komponen elektronik),
  dan menghubungkannya dengan TRIAC apapun dalam hal ini SC141D. Keuntungan
  dari metode ini adlah bahwa anda tidak memerlukan catu daya ekstra.

  Ini adalah rangkaian untuk beban non-induktif

<verb>
               270     1 +-------+ 6    180
         +5v -\/\/\/-----+       +----\/\/\/-----+-------------- 120V
                       2 |  MOC  |               |
         TTL in ---------+ 3012  +nc            VA  SC141D
                         |       | 4           / |
                       nc+       +------------/  |
                         +-------+               +----\/\/\/---- Neutral
                                                       LOAD
</verb>

  Apabila anda bekerja dengan 220V, maka gunakan 3021. Beban induktif
  digunakan dengan meletakan kapasitor bypass, lihat Motorola Application Note
  AN-780. Mesin kopi biasanya adalah beban resistif bukan induktif (seperti
  motor), tetapi siapa tahu model punya anda ?

<sect1>Mengendalikan dengan TRIAC #2
<p>
<verb>
       +5VDC
       |    180                      180      2.2k
       +---/\/\/\----+-----+   +----/\/\/-+--/\/\/\---+-------> 120V
                     |    1|   |6         |           |         Hot
                     |    +=====+         |           | MT1
                     |    | MC  | TRIAC   |          +-+
                     |    | 3032| Driver  |        G | | TRIAC
                     |    +=====+         |         /| |
                     \    2|   |4         |        / +-+
              2N3904  |----+   |          |        |  | MT2
                     /     |   +--------- | -------+  |
                    V      \              |        |  |
                    |      /              |        \  |
                    |      \ 43    .01u  ---   10k /  |
                    |      /       500V  ---       \  |
                    |      |              |        /  |
                    +------+              |        |  |            Neutral
                    |                     +--------+--+---o    o--> 120V
                    /                                      load
        >-/\/\--|  2N3904
                    \
                     V
                     |
                    ---
                   ///

</verb>
        Ubahlan resistor untuk 220V

  <bf/Penjelasan rangkaian/:

  MC3032 adalah pengendali TRIAC dengan optoisolator. Resistor 180 ohm
  digunakan untuk membatasi arus untuk LED pada optoisolator. Ubahlah resistor
  ini untuk mendapatkan arus yang sesuai, biasanya adalah 15mA.

  Perhatian : Anda tidak dapat menguji rangkaian tanpa beban. TRIAC tidak
  akan terhubung kalau tidak dihubungkan dengan sumber tegangan AC, sehingga
  anda tidak dapat mengujinya tanpa adanya sumber AC dan beban.

<sect> Software
<p>
<sect1> Software
<p>
  Anda akan membuat file executable yang akan melakukan hal-hal ini:
<itemize>
  <item>  Mendapatkan ijin dari kernel untuk menggunakan alamat I/O dengan 
     menggunakan perintah <tt/ioperm/: <tt/ioperm(BASE,range,1);/
  
  <item>  Menggunakan instruksi out, untuk menghasilkan tegangan 0 s.d. 5V pada port 
     parallel: <tt/outb(1,BASE);/

  <item>  Menunggu dalam beberapa waktu hingga kopi siap. Akan sangat baik
     apabila waktu dapat dibaca melalui <em/command-line/.

  <item>  Mematikan mesin kopi dengan: <tt/outb(0,BASE)/;
  
  <item>  Sebelum mengakhiri maka ijin dikembalikan dengan <tt/ioperm(BASE,range,0);/

</itemize>

     Rubahlah <tt/BASE = 0x3bc/ untuk <tt>/dev/lp0</>, <tt/0x378/ untuk <tt>/dev/lp1</>, dan <tt/0x278/ 
     untuk <tt>/dev/lp2</>, <tt/range=8/.

  Akan lebih baik apabila program yang anda buat adalah program <em/setuid/,
  sehingga semua user anda dapat membuat/meminum kopi.

<sect1>Device driver
<p>
  Bacalah <em/kernel hackers guide/, dan buatlah sebuah device driver. Kompile
  menjadi modul sehingga anda tidak mengkompile kernel pada setiap update.
  kemudian cukup menulis 

<verb>
  echo cappuccino >/dev/coffee
</verb>

  Maka anda akan mendapatkan secangkir kopi hangat. Berikan hak penggunaan
  yang benar pada <tt>/dev/coffee</>, sehingga anda dapat mengatur siapa saja yang
  dapat membuat kopi. User A, B atau hanya root saja yang berhak membuat kopi.

  Keuntungan dari metode ini adalah anda dapat menggunakan feedback dari
  mesin kopi anda dengan menggunakan signal ACK, sehingga mesin kopi anda
  menjadi cerdas, dan akan memberikan tanda bahwa kopi telah siap.

  Kerjakanlah sebagai pengembangan mesin kopi anda.

<sect1> Menghubungkan dengan internet
<p>
  Apabila anda menggunakan bahasa C, maka anda tinggal menulis skrip CGI
  sederhana untuk melakukan ON/OFF mesin kopi anda. Buatlah webpage yang bagus
  dan jelaskan bagaimana membuat kopi, kemudian masukan pada Apache web server
  anda.

<sect> Gejala overdosis
<p>
<itemize>
  <item>  kegembiraan berlebihan  
  
  <item>  nervous

  <item>  insomnia

  <item>  tachycardia atau cardiac arhythmia

  <item>  gastrointestinal disturbance

  <item>  tidak dapat beristirahat dengan baik

  <item>  bila sakit berlanjut atau ingin mengetahui istilah diatas hubungi dokter
</itemize>

<sect> Pengembangan
<p>
<itemize>
  <item>  Semua hardware dan software disini dapat dikembangkan untuk berbagai
     macam keperluan seperti pemanggan, oven, pembuat pai apel, dsb

  <item>  Mesin kopi Cluster dengan 8 mesin kopi. Anda dapat membuat kopi
     walaupun ada mesin kopi yang rusak. Anda dapat pula membuat menu untuk 
     mesin kopi yang berbeda dengan rasa yang berbeda pula.

  <item>  Mesin kopi dengan pengendali vektor parallel akan tersedia pada masa
     mendatang

  <item>  Apabila anda menginginkan otomasi maksimum anda harus menambahkan
     rangkaian sensor, sehingga anda dapat mengatur aliran air, suhu, 
     kuantitas kopi, dsb

  <item>  Dalam masa mendatang akan diimplementasikan SNMP.

  <item>  Mesin kopi serial pada 115Kbps
</itemize>

<sect>Referensi
<p>
<itemize>
  <item><url url="http://daisy.uwaterloo.ca/~alopez-o/caffaq.html"> Internet Coffee-FAQ

  <item>  <url url="http://lonestar.texas.net/~andrew/f_pc_.htm"> 
     Rangkaian dalam gambar ASCII. Beberapa untuk port parallel.

  <item>  <url url="http://shell.rmi.net/~hisys/parport.html"> 
     Anada dapat mempelajari tentang parallel port disini

  <item>  <url url="http://sunsite.unc.edu/LDP/HOWTO/mini/IO-Port-Programming">
     Pemrograman I/O port dibawah Linux.

  <item>  <url url="http://www.redhat.com:8080/HyperNews/get/khg.html"> 
     Bagaimana menulis device driver anda sendiri.

  <item>  <url url="http://www.hut.fi/Misc/Electronics/circuits/parallel_output.html">
     Tomi Engdahl web page harus dilihat oleh semua orang yang menyukai
     elektronik 

  <item>  <url url="http://www.yahoo.com/Computers_and_Internet/Internet/
     Entertainment/Interesting_Devices_Connected_to_the_Net/Coffee_Machines/">
     Mesin Kopi online.

  <item>  <url url="http://www.cs.su.oz.au/~bob/coffee.html"> 
     Hanya menawarkan cappucino.

  <item>  <url url="http://einstein.et.tudelft.nl/~janssen/"> 
     Kopi panas dari Belanda

  <item>  <url url="http://circe.chinalake.navy.mil/cgi-bin/spion/snapit.cgi">

  <item>  <url url="http://www.cl.cam.ac.uk/coffee/coffee.html">

  <item>  <url url="http://www.menet.umn.edu/coffeecam/">
</itemize>

<sect>Lain-lain
<p>
<sect1>Pendahuluan
 <p>
  Dokumen ini pertama kali ditulis dalam bahasa hellenic (Yunani), berasal
  dari debat kecil pada mailing list <tt/linux-greek-user/, apakah Linux dapat
  membuat kopi atau tidak. Hal ini sudah di masukan dalam bentuk artikel
  kedalam majalah Linux kami, dinamakan &quot;magaz&quot;: <url url="http://www.linux.gr/magaz">.
  Ingatlah bahwa magaz adalah yunani.

<sect1> Authorship dan maintenance
<p>
  Nama penulis adalah Geogatos Photis, mahasiswa Computer Engineering &
  Informatics pada University of Patras. Penulis biasanya sangat sibuk dengan
  dokumentasi Yunani dan webpage, tapi masih menerima kiriman mengenai HOWTO
  ini.

<sect1> Hak Cipta
<p>
  Hak cipta yang biasa berlaku sama seperti Linux. Bacalah. Atau anda tidak
  dapat menyalinnya.

<sect> Kredit
<p>
<itemize>
  <item>  Christofer Colombus. nama aslinya adalah Cristobal Colon.  
     Dia adalah orang pertama yang membawa kopi dari Amerika, yang
     ditemukannya pada 1492.

  <item>  Kostas Lialiambis adalah orang yang berani mengatakan bahwa ia dapat
     membuat kopi dengan mesin Linux nya

  <item>  Panagiotis Vrionis, Yannakopoulos Haralambos, untuk rasa humornya
</itemize>  
  Dari penterjemah:
<itemize>  
  <item>  Inu Wikantyoso &lt;inu@sby.centrin.net.id&gt; untuk CD R.H.5.1nya.
     Penterjemah hanya mempunyai R.H.5.0 yang belum ada HOWTO ini.
</itemize>  
Selesai.
</article>