http://emailcashpro.com http://emailcashpro.com

Meng-kopi file pada Java

        Meng-kopi file pada Java



       Mengkopi suatu file adalah operasi biasa, dan sistem operasi manapun memiliki perintah atau cara untuk melakukannya. Akan tetapi kita juga bisa membuat program Java untuk melakukannya.
      Karena program harus bisa mengkopi file jenis apapun, kita tidak bisa menganggap data di dalam file adalah data yang bisa dibaca manusia. File lagu atau video misalnya berisi deretan byte yang merupakan representasi digital dari lagu atau video tersebut.
       Oleh karena itu kita harus menggunakan InputStream dan OutputStream untuk melakukan operasi baca tulis yang bisa menangani data biner, bukan Reader dan Writer yang hanya bisa menangani data yang bisa dibaca manusia.
      Program yang kita buat akan mengkopi beberapa byte sekaligus dari InputStream ke OutputStream, akan tetapi kita membutuhkan tempat sementara di mana data tersebut akan ditempatkan sebelum data tersebut ditulis kembali pada OutputStream. Tempat sementara tersebut disebut buffer yang merupakan array berukuran tertentu, misalnya 4096 byte (atau 4 kilo byte).
     Jika sumber adalah variabel bertipe InputStream, maka byteTerbaca = sumber.read(buffer) akan mengisi penuh buffer. Metode ini mengembalikan int yang merupakan berapa byte yang efektif diambil oleh sumber, kemudian diletakkan dalam variabel byteTerbaca. Jika hasilnya -1, berarti tidak ada lagi data yang bisa diambil dari dalam sumber.
     Begitu juga jika kopi adalah keluaran yang bertipe OutputStream maka kopi.write(buffer, 0, byteTerbaca) menulis deretan byte dari buffer dari posisi 0 hingga byteTerbaca ke aliran keluaran kopi.
Sehingga secara umum perintah-perintah di atas dapat dirangkum menjadi :
byte[] buffer = new byte[4096];
int byteTerbaca;

while((byteTerbaca = sumber.read(buffer)) != -1)
    kopi.write(buffer, 0, byteTerbaca);
Perintah kopi-file pada sistem operasi baik DOS/Windows atau LINUX/UNIX menggunakan perintah pada konsol yang menambahkan file sumber dan file tujuannya. Misalnya, pada konsol Windows, kita bisa menggunakan "copy awal.dat akhir.dat" untuk mengkopi file awal.dat ke file bernama akhir.dat.
Tambahan parameter pada konsol ini disebut argumen baris perintah. Argumen baris perintah ini bisa juga digunakan dalam program Java. Dalam Java argumen baris perintah ini diisi dalam array String[] bernama args, yang kemudian dimasukkan sebagai parameter dalam subrutin main(). Ingat bagaimana "biasanya" subrutin main() dideklarasikan sebagai public static void main(String[] args).
Pada program Java yang sudah dikompilasi, kita bisa memanggilnya dengan "java KopiFile awal.dat akhir.dat" jika KopiFile adalah nama kelas yang akan kita buat untuk mengkopi file. args[0] akan berisi awal.dat sedangkan args[1] akan berisi akhir.dat.
Program yang akan kita buat menerima input dari baris perintah. Kemudian program akan mengecek apakah kedua parameter tersebut berisi nama file dengan benar. Jika salah satu parameternya kosong, maka program akan menampilkan pesan kesalahan. Program juga akan mengecek apakah akhir.dat merupakan file yang sudah ada sebelumnya, kemudian memberi pertanyaan kepada user apakah isi file ini ingin ditindih dengan isi file awal.dat. Jika ya, maka operasi akan diteruskan, jika tidak maka program akan dihentikan.
Berikut ini adalah listing lengkap program KopiFile, yang bisa diunduh di sini dan diimport ke dalam Eclipse.
import java.io.*;

public class KopiFile {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // Mengecek apakah argumen program cukup untuk meneruskan program
        // Dibutuhkan dua argumen, yaitu sumberFile dan tujuanFile
        if (args.length < 2) {
            System.out.println("Cara menjalankan program : " +
                       "java KopiFile sumberFile tujuanFile");
            return;
        }

        String sumberNamaFile = args[0];
        String tujuanNamaFile = args[1];

        File sumberFile = new File(sumberNamaFile);
        File kopiFile = new File(tujuanNamaFile);

        // Jika kopi file sudah ada, kita akan tanyakan apakah file tujuan
        // akan ditimpa
        if (kopiFile.exists()) {
            // buat objek baru untuk mengambil input
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String timpaFile = null;

            System.out.print("Apakah Anda ingin menimpa " + tujuanNamaFile + " ? (y/t) ");
            try {
                timpaFile = br.readLine();
            } catch(IOException ioe) {
                System.out.println("Kesalahan IO terjadi");
                System.exit(1);
            }

            // jika jawabannya tidak, hentikan program
            if (timpaFile.equalsIgnoreCase("t"))
                return;
        }

        // Di sini kita siap untuk mengkopi file
        // Buat aliran input dan output
        FileInputStream sumber = null;
        try {
            sumber = new FileInputStream(sumberFile);
        } catch (FileNotFoundException e) {
            System.out.println("File sumber tidak ada, berupa direktori " +
                       "atau tidak bisa dibuka, program dihentikan!");
            return;
        }

        FileOutputStream kopi = null;
        try {
            kopi = new FileOutputStream(tujuanNamaFile);
        } catch (FileNotFoundException e) {
            System.out.println("File tujuan tidak valid atau tidak bisa ditulis, " +
                       "program dihentikan!");
            return;
        }

        byte[] buffer = new byte[4096];
        int byteTerbaca;

        try {
            while((byteTerbaca = sumber.read(buffer)) != -1)
                kopi.write(buffer, 0, byteTerbaca);
        } catch (IOException e) {
            System.out.println("Ada masalah di tengah pengkopian program");
            return;
        }

        System.out.println("Kopi file selesai dijalankan!");
    }

}
Perlu diingat bahwa program ini tidak bisa dijalankan lewat Eclipse. Jika Anda mencoba menjalankan lewat Eclipse, maka tampilan kesalahan akan muncul, karena tidak ada parameter yang diberikan.
http://java.lyracc.com/sites/java.lyracc.com/files/KopiFile-gbr2.gif
Untuk menjalankan program, Anda harus membuka konsol pada Windows dengan Start -> Run -> kemudian ketik cmd dan enter. Setelah itu pergi ke direktori tempat proyek Anda berada pada Eclipse. Misalnya pada komputer saya, saya meletakkan semua proyek Eclipse pada c:\belajarjava.lyracc.com\KopiFile. Di dalamnya seharusnya Anda akan menemui 2 direktori, yaitu src dan bin. src adalah tempat di mana kode sumber berada, sedangkan bin adalah tempat dimana hasil kompilasi berada. Eclipse akan melakukan kompilasi secara otomatis.
Berikut screenshot hasil jalannya program. Di sini saya mengkopi file dari c:\belajarjava.lyracc.com\KopiFile\src\KopiFile.java ke c:\belajarjava.lyracc.com\Kopi123.java.
http://java.lyracc.com/sites/java.lyracc.com/files/KopiFile-gbr1.gif



Sisipan

DEGREE OF COMPARISON



MAKALAH MATERI BAHASA INGGRIS
DEGREE OF COMPARISON




Disusun oleh :
KIKI INDRAWAN
NRP : 9909201044
( TEKNIK INFORMATIKA/RPL)



PROGRAM STUDI TEKNIK INFORMATIKA
POLITEKNIK BANYUWANGI
BANYUWANGI
2012

BAB I
PENDAHULUAN

Dalam tata bahasa Inggris degree of comparison kata sifat (adjective) atau kata keterangan (adverb) yang menjelaskan nilai relasional dari salah satu hal dengan sesuatu di lain klausa kalimat. Kata sifat mungkin hanya menggambarkan kualitas, (the positive), tetapi dapat membandingkan kualitas dengan yang lain dari jenisnya (comparative degree), dan dapat membandingkan kualitas dengan banyak orang atau semua (superlative degree). 
Dalam bahasa lain mungkin menggambarkan sebuah tingkat yang sangat besar dari kualitas tertentu (in Semitic linguistics, called an elative).
Tingkat perbandingan dapat dinyatakan
morphologically, atau syntactically. Dalam bahasa Inggris, misalnya, sebagian besar monosyllabic dan beberapa kata sifat disyllabic memiliki morfologi degrees of comparison: green (positive), greener (comparative), greenest (superlative); pretty, prettier, prettiest, sedangkan adjectives yang paling bersuku menggunakan sintaks: complex, more complex, most complex.
1. positive degree adalah bentuk paling dasar dari adjective, karena positive tidak  berhubungan dengan setiap kualitas superior atau inferior dari hal-hal lain dalam speechnya.
2. comparative degree menunjukkan sejumlah besar kualitas relatif terhadap sesuatu yang lain. Ungkapan "Anna is taller than her father" berarti bahwa tingkat Anna lebih besar dari gelar ayahnya.
3. superlative degree menunjukkan yang paling, terbesar, dll, dengan yang berbeda dari hal-hal lainnya.





BAB II
PEMBAHASAN

A.   Cara Membentuk THE DEGREES OF COMPARISON

Sebagian besar Descriptive Adjective dan Quantitative Adjective memiliki tingkat-tingkat perbandingan untuk menerangkan kata benda. Dalam bahasa Inggris tingkat-tingkat perbandingan pada kata sifat disebut The Degrees of Comparison (Tingkat Perbandingan), yang dibagi menjadi 3 golongan:
1. Positive Degree (Tingkat Biasa)
2. Comparative Degree (Tingkat Lebih)
3. Superlative Degree (Tingkat Paling)

        Bentuk comparative dibuat dari bentuk positive yang ditambah dengan akhiran -er atau -r dan awalan more. Sedangkan bentuk superlative dibentuk dari bentuk positive yang ditambah dengan akhiran -est atau -st dan awalan most.

Cara membentuk the degree of comparison adalah sebagai berikut:
a. Kata sifat yang terdiri atas satu suku kata, hanya ditambah dengan akhiran -er dan –est.
Positif
Comparative
Superlative
Arti (lebih) (paling)
Cheap
Cheaper
Cheapest
Murah
Great
Greater
Greatest
Besar
Tall
Taller
Tallest
Tinggi
High
Higher
Highest
Tinggi
Near
Nearer
Nearest
Dekat
Light
Lighter
Lightest
Terang
Small
Smaller
Smallest
Kecil
Short
Shorter
Shortest
Pendek
Long
Longer
Longest
Panjang
Fast
Faster
Fastest
Cepat
Loud
Louder
Loudest
Nyaring
Low
Lower
Lowest
Rendah
Old
Older
Oldest
Tua
Strong
Stronger
Strongest
Kuat
Young
Younger
Youngest
Muda


b. Kata sifat yang terdiri dari satu suku kata dan berakhiran dengan satu huruf mati (konsonan) yang diawali dengan huruf hidup (vokal), ditambah dengan akhiran -er dan -est.
Satu huruf mati terakhir digandakan.
Positif
Comparative
Superlative
Arti (lebih) (paling)
Big
Bigger
Biggest
Besar
Wet
Wetter
Wettest
Basah
Hot
Hotter
Hottest
Panas
Fat
Fatter
Fattest
Gemuk
Thin
Thinner
Thinnest
Kurus
Cruel
Crueler
Cruelest
Kejam


c. Kata sifat yang berakhiran dnegan huruf -y dan diawali satu atau dua huruf mati, maka -y diganti dengan -i dan kemudian ditambahkan -er atau –est.

Positive
Comparative
Superlative
Arti (lebih) (paling)
Happy
Happier
Happiest
Bahagia
Lucky
Luckier
Luckiest
Beruntung
Pretty
Prettier
Prettiest
Cantik
Lazy
Lazier
Laziest
Malas
Busy
Busier
Busiest
Sibuk
Friendly
Friendlier
friendliest
bersahabat


d. Kata sifat yang berakhiran dengan huruf -y dan diawali dengan huruf hidup (vokal), maka huruf -y tidak mengalami perubahan dan langsung ditambah -er atau –est.

Positive
Comparative
Superlative
Arti (lebih) (paling)
grey
Greyer
Greyest
abu-abu
Lay
Layer
Layest
Tidak profesional


e. Kata sifat yang terdiri atas dua suku kata dan berakhiran dengan -er atau -ow langsung ditambah -er atau –est.

Positive
Comparative
Superlative
Arti (lebih) (paling)
Clever
Cleverer
Cleverest
Pandai
Shallow
Shallower
Shallowest
Dangkal
Slow
Slower
Slowest
Lambat

f. Kata sifat yang terdiri atas dua suku kata yang berakhiran dengan huruf -e, maka hanya ditambah dengan -e atau -st saja.

Positive
Comparative
Superlative
Arti (lebih) (paling)
Wise
Wiser
Wisest
Bijaksana
Polite
Politer
Politest
Sopan
Brave
Braver
Bravest
Berani
Large
Larger
Largest
Besar
Nice
Nicer
Nicest
Baik
Wide
Wider
Widest
Lebar
Complete
Completer
Completest
Lengkap
Simple
Simpler
Simplest
Sederhana
Possible
Possible
Possiblest
Mungkin


g. Kata sifat yang terdiri dari dua suku kata, akan tetapi tekanan pengucapannya jatuh pada suku kata pertama, tidak ditambahkan -er dan-est tetapi ditambahkan dengan more dan most.

Positive
Comparative
Superlative
Arti (lebih) (paling)
Famous
More famous
Most famous
Terkenal
Nervous
More nervous
Most nervous
Gugup
Charming
More charming
Most charming
Menarik


h. Kata sifat yang terdiri atas tiga suku kata atau lebih, ditambah dengan more atau most.

Positive
Comparative
Superlative
Arti (lebih) (paling)
Careful
More careful
Most careful
Berhati-hati
Careless
More careless
Most careless
Ceroboh
Useful
More useful
Most useful
Berguna
Useless
More useless
Most useless
Tak berguna
Readable
More readable
Most readable
Dapat dibaca
Terrible
More terrible
Most terrible
Mengerikan
Difficult
More difficult
Most difficult
Sulit
Diligent
More diligent
Most diligent
Rajin
Different
More different
Most different
Berbeda






          Ada beberapa kata sifat yang bentuk comparative maupun superlative-nya tidak mengikuti aturan seperti yang telah ditetapkan di atas.

Positive
Comparative
Superlative
Arti (lebih) (paling)
Bad
Worse
Worst
Buruk
Ill
Worse
Worst
Sakit
Evil
Worse
Worst
Jahat
Good
Better
Best
Baik
Many
More
Most
Banyak
Much
More
Most
Banyak
A little
Less
Least
Sedikit
Late
Later
Last
Akhir
Far
Farther
Farthest
Jauh
A few
Less
Lest
Sedikit
Few
Fewer
Fewest
Sedikit
Hind
Hinder
Hindmost
Belakang
Nigh
Nigher
Nighest
Dekat


Catatan:
    1. Older dan oldest digunakan untuk orang dan benda, sedangkan elder dan eldest hanya
        digunakan untuk orang saja.
    Contoh:
                He is my elder brother = Dia adalah saudara tertuaku.
                My car is older than yours = Mobilku lebih tua dari milikmu.
    2. Farther dan farthest digunakan untuk menunjukkan jarak saja, sedangkan further and
        furthest untuk menunjukkan jarak dan waktu.
    Contoh:
                Surabaya is farther than Semarang = Surabaya lebih jauh daripada Semarang.
                We shall get further information = Kita harus mendapatkan informasi lebih lanjut.




B.   Penggunaan THE DEGREES OF COMPARISON dalam kalimat

Penggunaan the degrees of comparison dalam kalimat bahasa Inggris harus memperhatikan beberapa hal berikut ini, yaitu:
1. Positive Degree (Tingkat Biasa)
    Pada umumnya bentuk ini digunakan untuk:
    a. Menyatakan suatu keadaan yang apa adanya
        Contoh: She is an attractive girl = Dia adalah seorang gadis yang menarik

    b. Membandingkan dua benda atau orang yang sama, baik sifat, bentuk atau bagian lainnya.
        Rumus penggunaannya adalah:
                                                     as + positive + as
        Contoh: She is as beautiful as her sister = Dia secantik saudara perempuannya
        atau dapat digunakan rumus sebagai berikut:
                                               no less + positive + than
        Contoh: She is no less beautiful than her sister = Dia secantik saudara perempuannya

    c. Menyatakan dua benda atau orang yang tidak memiliki kesamaan.
        Rumus penggunaannya adalah:
                                                not + so + positive + as
        Contoh: His ruler is not so long as mine = Penggarisnya tidak sepanjang milikku atau dapat
        digunakan rumus sebagai berikut:
                                                 less + positive + than
        Contoh: His ruler less long than mine = Penggarisnya tidak sepanjang milikku

2. Comparative Degree (Tingkat Lebih)
    Pada umumnya bentuk ini digunakan untuk membandingkan dua benda atau orang yang berbeda. Atau dengan kata lain digunakan untuk menyatakan bahwa sesuatu benda atau orang itu mempunyai sifat lebih dibandingkan yang lain.
    Rumus penggunaannya adalah:
                                                 comparative + than
    Contoh: My car is faster than his car = Mobilku lebih cepat daripada mobilnya
    Disamping itu comparative degree dapat juga digunakan untuk menyatakan:
    a. Keadaan yang semakin ..., dengan menambahkan article the sebelum bentuk comparative
        degree.
        Contoh: The harder you study English, the cleverer you will be = Semakin giat kamu
        belajar, semakin pandai kamu jadinya

    b. Sifat atau keadaan suatu benda yang semakin lama semakin... atau lebih ... lagi, dengan
        mengulang bentuk comparative degree yang diubungkan dengan kata and (dan)
        Contoh: The son of my uncle is clever and clever = Anak laki-laki pamanku semakin lama
        semakin pandai

    c. Arti jauh lebih ... daripada ..., jika comparative degree diawali dengan kata much
        Contoh: It is much farther than before = Jaraknya lebih jauh daripada sebelumnya

3. Superlative Degree (Tingkat Paling)
    Bentuk ini digunakan untuk menyatakan bahwa sesuatu itu mempunyai sifat paling... dibandingkan dengan yang lainnya. Pada umumnya digunakan untuk membandingkan tiga benda atau lebih.
    Rumus penggunaan superlative degree adalah:
                                             the + superlative + nouns + in

                                                  the + superlative + of

    Contoh: He is the cleverest student in this class = Dia murid paling pandai di kelas ini
    She is the most beautiful of all the girls = Dia paling cantik diantara semua gadis-gadis itu
    atau dapat digunakan rumus sebagai berikut:
                                                the + superlative noun
    Contoh: This is the most expensive car = Ini adalah mobil paling mahal





BAB III
KESIMPULAN

*      Retoris penggunaan comparatives tidak seimbang (Rhetorical use of unbalanced comparatives)
Dalam beberapa konteks, seperti iklan atau pidato politik, comparatives absolute dan relative sengaja dipekerjakan dengan cara yang mengundang perbandingan, namun dasar perbandingan tidak didirikan. Ini adalah perangkat rhetorical yang umum digunakan untuk membuat implikasi signifikan di mana seseorang tidak dapat benar-benar hadir. Meskipun penggunaan seperti biasa, kadang-kadang dianggap gramatikal.
Sebagai contoh:

- Always!
- Why pay more?
- We work harder.
- We sell for less!

*      Penggunaan Bahasa Inggris (English usage)
Tradisional tata bahasa Inggris menggunakan bentuk komparatif ketika membandingkan tepatnya dua hal, dan superlatif ketika membandingkan tiga atau lebih, tetapi dalam penggunaan formal ini mungkin tidak tahan.
Degrees of Comparison digunakan ketika kita membandingkan satu orang atau satu hal dengan yang lain.






DAFTAR PUSTAKA




1.      Dewanti, Nikmah.”Degree of Comparison.” http://www.scribd.com/doc/79672101/Degree-of-Comparison (diakses tanggal 30 Januari 2012).

2.      Hariyono, Rudi.”English Day Lessons.” http://englishdaylessons.blogspot.com/ (diakses tanggal 30 Januari 2012)