Stream IO

Diposting oleh via kus-kus On 23.47 0 komentar
 
Pengantar Stream 
Stream berhubungan dengan proses untuk membaca data dari suatu sumber atau mengirimkan data ke suatu tujuan. Sebagai contoh, anda telah terbiasa dengan stream untuk menampilkan informasi ke layar, yaitu menggunakan System.out.printlm () , ataupun mengirimkan pesan kesalahan ke layar melalui System.err.println().
Pada Java terdapat banyak kelas yang berhubungan denagn stream. Namun secara prinsip terdapat dua buah kelas yang menjadi dasar bagi kelas-kelas lain yang berhubungan dengan stream, yaitu :
  1. Kelas InputStream , dan
  2. Kelas OutputStream.

Stream, Reader, dan Writer 

Tanpa bisa berinteraksi dengan dunia lain, suatu program tidak ada gunanya. Interaksi suatu program dengan dunia lain sering disebut input/output atau I/O. Sejak dulu, salah satu tantangan terbesar untuk mendesain bahasa pemrograman baru adalah mempersiapkan fasilitas untuk melakukan input dan output. Komputer bisa terhubung dengan beragam jenis input dan output dari berbagai perangkat. Jika bahasa pemrograman harus dibuat secara khusus untuk setiap jenis perangkat, maka kompleksitasnya akan tak lagi bisa ditangani.
Salah satu kemajuan terbesar dalam sejarah pemrograman adalah adanya konsep (atau abstraksi) untuk memodelkan perangkat I/O. Dalam Java, abstraksi ini disebut dengan aliran (stream). Bagian ini akan memperkenalkan tentang aliran, akan tetapi tidak menjelaskan dengan komplit. Untuk lebih lengkapnya, silakan lihat dokumen resmi Java.
Ketika berhubungan dengan input/output, kita harus ingat bahwa ada dua kategori data secara umum : data yang dibuat oleh mesin, dan data yang bisa dibaca manusia. Data yang dibuat mesin ditulis dengan model yang sama dengan bagaimana data tersebut disimpan di dalam komputer, yaitu rangkaian nol dan satu. Data yang bisa dibaca manusia adalah data dalam bentuk rangkaian huruf. Ketika kita membaca suatu bilangan 3.13159, kita membacanya sebagai rangkaian huruf yang kita terjemahkan sebagai angka. Angka ini akan ditulis dalam komputer sebagai rangkaian bit yang kita tidak mengerti.
Untuk menghadapi kedua jenis data ini, Java memiliki dua kategori besar untuk aliran : aliran byte untuk data mesin (byte stream), dan aliran karakter (character stream) untuk data yang bisa dibaca manusia. Ada banyak kelas yang diturunkan dari kedua kategori ini.
Setiap objek yang mengeluarkan data ke aliran byte masuk sebagai kelas turunan dari kelas abstrak OutputStream. Objek yang membaca data dari aliran byte diturunkan dari kelas abstrak InputStream. Jika kita menulis angka ke suatu OutputStream, kita tidak akan bisa membaca data tersebut karena ditulis dalam bahasa mesin. Akan tetapi data tersebut bisa dibaca kembali oleh InputStream. Proses baca tulis data akan menjadi sangat efisien, karena tidak ada penerjemahan yang harus dilakukan : bit yang digunakan untuk menyimpan data di dalam memori komputer hanya dikopi dari dan ke aliran tersebut.
Untuk membaca dan menulis data karakter yang bisa dimengerti manusia, kelas utamanya adalah Reader dan Writer. Semua kelas aliran karakter merupakan kelas turunan dari salah satu dari kelas abstrak ini. Jika suatu angka akan ditulis dalam aliran Writer, komputer harus bisa menerjemahkannya ke dalam rangkaian karakter yang bisa dibaca maunsia.
Membaca angka dari aliran Reader menjadi variabel numerik juga harus diterjemahkan, dari deretan karakter menjadi rangkaian bit yang dimengerti komputer. (Meskipun untuk data yang terdiri dari karakter, seperti dari editor teks, masih akan ada beberapa terjemahan yang dilakukan. Karakter disimpan dalam komputer dalam nilai Unicode 16-bit. Bagi orang yang menggunakan alfabet biasa, data karakter biasanya disimpan dalam file dalam kode ASCII, yang hanya menggunakan 8-bit. Kelas Reader dan Writer akan menangani perubahan dari 16-bit ke 8-bit dan sebaliknya, dan juga menangani alfabet lain yang digunakan negara lain.)
Adalah hal yang mudah untuk menentukan apakah kita harus menggunakan aliran byte atau aliran karakter. Jika kita ingin data yang kita baca/tulis untuk bisa dibaca manusia, maka kita gunakan aliran karakter. Jika tidak, gunakan aliran byte. System.in dan System.out sebenarnya adalah aliran byte dan bukan aliran karakter, karenanya bisa menangani input selain alfabet, misalnya tombol enter, tanda panah, escape, dsb.
Kelas aliran standar yang akan dibahas berikutnya didefinisikan dalam paket java.io beserta beberapa kelas bantu lainnya. Kita harus mengimpor kelas-kelas tersebut dari paket ini jika kita ingin menggunakannya dalam program kita. Artinya dengan menggunakan "import java.io.*" di awal kode sumber kita.
Aliran tidak digunakan dalam GUI, karena GUI memiliki aliran I/O tersendiri. Akan tetapi kelas-kelas ini digunakan juga untuk file atau komunikasi dalam jaringan. Atau bisa juga digunakan untuk komunikasi antar thread yang sedang bekerja secara bersamaan. Dan juga ada kelas aliran yang digunakan untuk membaca dan menulis data dari dan ke memori komputer.

Operasi pada Stream
Kelas dasar I/O Reader , Writer , InputStream dan OutputStream hanya menyediakan operasi I/O sangat dasar. Misalnya, kelas InputStream memiliki metode instansi

 Public int read() throws IOException

Kelas InputStream juga memiliki metode untuk membaca beberapa byte datadalam satu langkah ke dalam array byte. Akan tetapi InputStream tidak memiliki metode untuk membaca jenis data lain, seperti int atau doubledar ialiran. Ini bukan masalah karena dalam prakteknya kita tidak akanmenggunakan objek bertipe InputStream secara langsung. Yang akan kitagunakan adalah kelas turunan dari InputStream yang memiliki beberapametode input yang lebih beragam daripada InputStream itu sendiri.Begitu juga dengan kelas OutputStream memiliki metode output primitif untuk menulis satu byte data ke aliran output, yaitu metode

InputStream
Beberapa kelas turunan dari InputStream dapat dirangkum dalam tabel di bawah ini :
Kelas 
Kegunaan 
Argumen yang dibutuhkan untuk membuat objek
ByteArrayInputStream
Menggunakan buffer pada memori sebagai aliran input
Buffer yang akan digunakan sebagai aliran input
StringBufferInputStream
Mengubah string menjadi InputStream
Suatu String (di dalamnya sebenarnya menggunakan StringBuffer)
FileInputStream
Untuk membaca informasi dari dalam file
String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor
PipedInputStream
Menghasilkan data yang ditulis oleh PipedOutputStream. Mengimplementasi konsep "piping". Bisa digunakan untuk multi-threading
Objek PipedOutputStream
SequenceInputStream
Menggabungkan dua atau lebih InputStream menjadi satu InputStream
Dua atau lebih objek bertipe InputStream atau kontainer bertipe Enumeration yang berisi InputStream yang akan digabungkan
FilterInputStream
Kelas abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan InputStream lain

 
FilterInputStream adalah lapisan di atas InputStream yang berguna untuk memberi landasan pada kelas-kelas dekorator di atas. Kenapa dekorator? Karena kelas-kelas ini hanya memberikan fungsionalitas tambahan, akan tetapi tidak mengubah bagaimana I/O itu sendiri bekerja. Seperti disebutkan sebelumnya, bahwa kelas dasar InputStream dan OutputStream hanya memiliki metode-metode paling sederhana. Kelas-kelas ini memperbanyak metode baca/tulis untuk kemudahan pemrograman.
Kelas FilterInputStream sendiri terdiri dari beberapa jenis, yang bisa dirangkum dalam tabel berikut ini :
Kelas
Kegunaan
Argumen yang dibutuhkan untuk membuat objek
DataInputStream
Digunakan bersama-sama dengan DataOutputStream sehingga kita bisa menulis tipe data primitif, kemudian membacanya kembali tanpa harus diformat sendiri
InputStream
BufferedInputStream
Digunakan untuk menghindari pembacaan langsung dari media secara fisik setiap kali perintah read() diberikan. Atau dengan kata lain "gunakan buffer" untuk baca tulis
InputStream dengan kemungkinan menentukan besar buffer sendiri
LineNumberInputStream
Mencatat nomor baris dalam InputStream. Kita bisa menggunakan perintah getLineNumber() dan setLineNumber(int)
InputStream
PushBackInputStream
Memiliki satu byte buffer sehingga kita bisa meletakkan kembali karakter yang sudah diambil (dibaca)
InputStream

OutputStream
Beberapa kelas turunan dari OutputStream dapat dirangkum dalam tabel di bawah ini :
Kelas 
Kegunaan 
Argumen yang dibutuhkan untuk membuat objek
ByteArrayOutputStream
Membuat buffer dalam memori. Semua data yang kita kirim akan disimpan di memori ini.
Opsional untuk memberikan besar buffer yang akan disiapkan
FileOutputStream
Untuk menulis informasi ke dalam file
String yang berupa nama suatu file, atau objek bertipe File atau FileDescriptor
PipedOutputStream
Informasi yang kita kirim di aliran output ini akan berakhir pada objek bertipe PipedInputStream. Mengimplementasi konsep "piping". Bisa digunakan untuk multi-threading
Objek PipedInputStream
FilterOutputStream
Kelas abstrak yang merupakan interface dari beberapa kelas bantu untuk menggunakan OutputStream lain.

Kelas FilterOutputStream sendiri terdiri dari beberapa jenis, yang bisa dirangkum dalam tabel berikut ini :
Kelas
Kegunaan
Argumen yang dibutuhkan untuk membuat objek
DataOutputStream
Digunakan bersama-sama dengan DataInputStream sehingga kita bisa menulis tipe data primitif, kemudian membacanya kembali tanpa harus diformat sendiri
OutputStream
PrintStream
Untuk mengeluarkan output yang sudah diformat. DataOutputStream hanya menangani bagaimana data disimpan sehingga bisa diambil kembali. PrintStream lebih berkonsentrasi pada "tampilan", sehingga data yang ditulis bisa dibaca dengan baik.
OutputStream dengan tambahan opsi boolean untuk memerintahkan buffer akan dikosongkan (flush) setiap kali baris baru ditulis.
BufferedOutputStream
Digunakan untuk menghindari penulisan langsung dari media secara fisik setiap kali perintah write() diberikan. Atau dengan kata lain "gunakan buffer" untuk baca tulis. Kita bisa menggunakan perintah flush() untuk mengosongkan buffer dan mengirimkan hasilnya ke media fisik.
OutputStream dengan kemungkinan menentukan besar buffer sendiri


»

White Day

Diposting oleh via kus-kus On 17.34 0 komentar

APA ITU WHITE DAY ??


White Day (ホワイトデー Howaito dē?) (bahasa Indonesia: Hari Putih) adalah hari memberi hadiah untuk wanita yang jatuh tanggal 14 Maret. Perayaan ini berasal dari Jepang dan bukan tradisi Eropa atau Amerika. Hadiah berupa marshmallow atau permen diberikan sebagai balasan atas hadiah cokelat yang diterima pria sebulan sebelumnya di Hari Valentine. Di zaman sekarang, hadiah yang diberikan untuk wanita yang disenangi dapat berupa bunga, saputangan, perhiasan, atau barang-barang lain yang disukai wanita.

Pertama kali dirayakan tahun 1980 di Jepang, perayaan ini sekarang juga dirayakan di negara Korea Selatan, Taiwan, Hong Kong, dan Indonesia. Perayaan Hari Putih berawal dari strategi koperasi produsen permen Jepang yang ingin meningkatkan penjualan permen. Bahan baku permen adalah gula yang berwarna putih sehingga disebut Hari Putih. Ide perayaan diambil dari "Hari Marshmallow" yang merupakan acara promosi kue marshmallow Tsuru no ko yang diadakan toko kue di kota Fukuoka.


Asal-usul
Di Hari Valentine, wanita dari berbagai kelompok umur di Jepang memiliki tradisi memberi hadiah cokelat kepada pria yang disenangi, teman sekolah, rekan kerja, pacar, ayah, atau suami. Pria yang menerima cokelat berkeinginan membalasnya, dan niat ini disambut pedagang permen di sekitar pertengahan tahun 1970-an dengan mencetuskan ide "hadiah balasan" berupa kue kering, marshmallow, atau permen.
Strategi penjualan permen sebagai "hadiah balasan" ternyata berhasil meningkatkan angka penjualan, sehingga koperasi produsen permen nasional wilayah Kanto menetapkan 14 Maret sebagai Hari Putih. Pada tahun 1978, koperasi produsen permen menciptakan slogan untuk Hari Putih sebagai "hari untuk mengirim permen". Setelah dipersiapkan selama 2 tahun, perayaan Hari Putih yang pertama dilangsungkan secara nasional di Jepang pada tahun 1980.


»

Mading 3D SKS ( Sistem Kebut Semalam)

Diposting oleh via kus-kus On 01.35 0 komentar

MEDSAN

 
MEDSAN lagi-lagi mengikuti lomba mading 3D yang diadakan oleh kota Malang. Persiapan yang kali ini lebih sedikit dari pada lomab maiding yang sebelumnya. H- 1 minggu konsep masih bingung. Dan akhirnya disepakati kosepnya adalah TUGU dan kita mengangkat judul 'GEMERLAP DUNIA MALANG'. Dan kali ini juga lombanya lebih susah dari sebelumnya , karena bahan yang digunakan benar-benar yang ramah lingkungan dan menggunakan barang bekas. Konsep awal TUGU terbuat dari koran dan di tempel pada kerangka dengan lem kanji yang dibuat sendiri. Pada bagian relief TUGU terdapat foto-foto dan untuk memudahkan orang melihat relief kita buat bisa diputar. H- 5 hari kita belum membuat layoutnya namun artikel sudah siap. H- 3 hari mulai membuat TUGU. Ternyata TUGU yang kita buat tidak sesuai dengan perkiraan. Lem yang harusnya kering tapi sampai tidak bisa kering dan keras. TUGU pertama gagal. Kita putar otak untuk membuat TUGU. H-2 hari sudah menemukan ide untuk membuat TUGU. Puncaknya pada H-1 hari, di hari jumat semua bekerja keras untuk membuat TUGU, dll. Mulai tukang menukang untuk membangun TUGU dan perangkatnya sekitar jam 19.00 , yang pasti toko bangunan sudah tutup. Namun MEDSAN mendapat pertolongan dari luar anggota MEDSAN. Ada yang menyumbang kayu (hasil kepet di kost senior hahahahahaha) , ada juga yang menyumbang papan dasar mading ( thx buat anak SAC). Tidak cuma bahan yang mendapat sumbangan. Tapi kita juga mendapat sumbangan tenaga :D

TUGU akhirnya sudah berdiri dipapan, relief juga sudah bisa diputar semua itu jadi sekitar pukul 02.00. Bener-bener SKS. Malem-malem harus nukang dikosku. Perjuangan belum selesai. Sabtu tanggal 25 Feb 2012 TIM harus sudah ada ditempat pukul 08.00 , sedangkan mading belum jadi. Lagi-lagi kita melakukan Sistem Kebut. Pukul 07.00 tim dan dua sukarelawan dan aku meluncur ke kosku dan mengerjakan dasar TUGU , pagar , dan air disekitar TUGU. Pukul 09.00 , anggota TIM meluncur ke tempat dan disana mereka mengerjakan 30% mading. Ini foto-fotonya :D

Mading udah jadi :D

Relief yang isinya foto ini bisa diputer lho :D

Novan perwakilan TIM mempersentasikan Mading MEDSAN :D


Heru perwakilan dari TIM Medsan buat games :D
Mading terpajang di Car Free Day :D

TIM dan Mading


Itu cerita perjuangan MEDSAN dalam lomba mading yang diadakan oleh kota Malang. Medsan juga mengucapkan terima kasih pada teman-teman luar TIM yang telah ikut membantu MEDSAN. Medsan tidak akan menyerah sampai lomba ini. MEDSAN Semangat !! :D 



"Salam Burung Hantu Hitam Putih"

»

Sammy Simorangkir - Sedang Apa Dan Dimana

Diposting oleh via kus-kus On 16.31 0 komentar
Sedang Apa Dan Dimana

dulu selalu ada waktu untuk kita
kini ku sendiri
dulu kata cinta tak habis tercipta
kini tiada lagi (lagi)

sedang apa dan dimana dirimu yang dulu ku cinta
ku tak tahu tak lagi tahu seperti waktu dulu
apakah mungkin bila kini ku ingin kembali
menjalani janji hati kita

sedang apa dan dimana wooo

sedang apa dan dimana dirimu yang dulu ku cinta
ku tak tahu tak lagi tahu seperti waktu dulu
apakah mungkin bila kini ku ingin kembali
menjalani menjalani menjalani janji hati kita
»

Jay Sean ft Sean Paul- Do You Remember

Diposting oleh via kus-kus On 17.17 0 komentar
Do You Remember


Hey, Jay Sean, Sean Paul
Yeah, Lil Jon
This one right here is for all the ladies
Ladies, who want to take it back
Holler at them Jay

I've been thinking about you
And how we used to
Be then back when we didn't have to live
We could start again

There's nothing left to say
Don't waste another day
Just you and me tonight
Everything will be okay

If it's alright with you
Then it's alright with me
Baby, let's take this time
Let's make new memories

Do you remember, do you remember
Do you remember all of the times we had?
Do you remember, do you remember
Do you remember all of the times we had?

Let's bring it back
(Bring it back)
Let's bring it back
(Bring it back)
Let's bring it back
(Bring it back)
Let's bring it back
(Bring it back)
Let's bring it back

Yo Jay, sing to these ladies

So long since you've been missing
It's good to see you again
How you, how you doing?
And how about we don't let this happen again

There's nothing left to say
Don't waste another day
Just you and me tonight
Everything will be okay

If it's alright with you
Then it's alright with me
Baby, let's take this time
Let's make new memories

Do you remember, do you remember
Do you remember all of the times we had?
Do you remember, do you remember
Do you remember all of the times we had?

Let's bring it back
(Bring it back)
Let's bring it back
(Bring it back)
Let's bring it back
(Bring it back)
Let's bring it back
(Bring it back)

Yo, hey girl, yo

Bring it back to the time when you and me had just begun
When I was still your number one
Well, it might seem far-fetched, baby girl
But it can be done

I've got this feeling, fire blazing
And it's hot just like the sun
Know you feel it too, my girl
Just free it up, may the good vibes run

Girl, take a sip of the Champagne
Take a lil trip down my lane, my girl
While you know every night you'll feel alright
Look I tell you this girl out of my world

Don't change, I'mma rearrange, my girl
I'mma tell you straight, this out of my world
How many years do you want come kiss?
This I know you miss this, that's what I heard

That's what I heard, that's what I heard, word, girl

There's nothing left to say
Don't waste another day
Just you and me tonight
Everything will be okay

If it's alright with you
Then it's alright with me
Baby, let's take this time
Let's make new memories

Do you remember, do you remember
Do you remember all of the times we had?
Do you remember, do you remember
Do you remember all of the times we had?

Let's bring it back
(Let's bring it back)
Let's bring it back
(Bring it back)
Let's bring it back
(Let's bring it back)
Let's bring it back
(Oh)
Let's bring it back


»

Valentine Day

Diposting oleh via kus-kus On 21.19 0 komentar
 Hari Valentine (bahasa Inggris: Valentine's Day) atau disebut juga Hari Kasih Sayang, pada tanggal 14 Februari adalah sebuah hari di mana para kekasih dan mereka yang sedang jatuh cinta menyatakan cintanya di Dunia Barat. Asal-muasalnya yang gelap sebagai sebuah hari raya Katolik Roma didiskusikan di artikel Santo Valentinus. Beberapa pembaca mungkin ingin membaca entri Valentinius pula. Hari raya ini tidak mungkin diasosiasikan dengan cinta yang romantis sebelum akhir Abad Pertengahan ketika konsep-konsep macam ini diciptakan.

Hari raya ini sekarang terutama diasosiasikan dengan para pencinta yang saling bertukaran notisi-notisi dalam bentuk "valentines". Simbol modern Valentine antara lain termasuk sebuah kartu berbentuk hati dan gambar sebuah Cupido (Inggris: cupid) bersayap. Mulai abad ke-19, tradisi penulisan notisi pernyataan cinta mengawali produksi kartu ucapan secara massal. The Greeting Card Association (Asosiasi Kartu Ucapan AS) memperkirakan bahwa di seluruh dunia sekitar satu miliar kartu valentine dikirimkan per tahun. Hal ini membuat hari raya ini merupakan hari raya terbesar kedua setelah Natal di mana kartu-kartu ucapan dikirimkan. Asosiasi yang sama ini juga memperkirakan bahwa para wanitalah yang membeli kurang lebih 85% dari semua kartu valentine.
 Di Amerika Serikat mulai pada paruh kedua abad ke-20, tradisi bertukaran kartu diperluas dan termasuk pula pemberian segala macam hadiah, biasanya oleh pria kepada wanita. Hadiah-hadiahnya biasa berupa bunga mawar dan cokelat. Mulai tahun 1980-an, industri berlian mulai mempromosikan hari Valentine sebagai sebuah kesempatan untuk memberikan perhiasan.
Sebuah kencan pada hari Valentine seringkali dianggap bahwa pasangan yang sedang kencan terlibat dalam sebuah relasi serius. Sebenarnya Valentine itu merupakan hari Percintaan, bukan hanya kepada pacar ataupun kekasih, Valentine merupakan hari terbesar dalam soal Percintaan dan bukan berarti selain valentine tidak merasakan cinta.
Di Amerika Serikat hari raya ini lalu diasosiasikan dengan ucapan umum cinta platonik "Happy Valentine's", yang bisa diucapkan oleh pria kepada teman wanita mereka, ataupun, teman pria kepada teman prianya dan teman wanita kepada teman wanitanya.


Nah bagaimana setiap negara merayakan tradisi Valentine ?


Inggris

Selama beberapa tahun di Inggris, banyak anak kecil didandani layaknya orang dewasa pada hari Valentine. Mereka berkeliling dari rumah ke rumah sambil bernyanyi.
Para cewek Inggris yang masih jomblo bangun lebih pagi pada Hari Valentine. Mitosnya, cowok pertama yang mereka lihat hari itu yang akan menjadi pendamping hidupnya.
Kebiasaan unik lainnya, mereka meletakkan semanggi berdaun empat yang dipercaya sebagai simbol keberuntungan di sudut-sudut bantal dan makan telur dengan garam di malam Valentine. Sedangkan untuk menyambut Valentine, Majalah majalah dan surat kabar akan menayangkan soneta dan puisi untuk memperingatinya.

Wales

Di Wales, para pemuda akan menghadiahkan sendok kayu pada kekasihnya pada hari kasih sayang. Bentuk hati dan kunci adalah hiasan paling favorit untuk diukir di atas sendok kayu tersebut.

Jepang

Di Jepang, Hari Valentine sudah muncul berkat promo besar-besaran, sebagai hari dimana kaum wanita memberi kaum pria sesuatu yang mereka sukai, seperti cokelat. Pemberian ini tidaklah dilakukan secara sukarela, melainkan menjadi sebuah kewajiban, terutama bagi mereka yang bekerja di kantor-kantor. Mereka memberi cokelat kepada teman kerja pria mereka, kadangkala dengan biaya besar.

Indonesia

Di Indonesia, budaya bertukaran surat ucapan antar kekasih juga mulai muncul. Budaya ini menjadi budaya populer di kalangan anak muda. Bentuk perayaannya bermacam-macam, mulai dari saling berbagi kasih dengan pasangan, orang tua, orang-orang yang kurang beruntung secara materi, dan mengunjungi panti asuhan di mana mereka sangat membutuhkan kasih sayang dari sesama manusia.
»

Subscribe

Categories

About Me

Foto saya
Surabaya, Jawa Timur, Indonesia

Chat

Counter