Rabu, 31 Maret 2010

don't give up

*Hari 1.*

Seorang cadel ingin membeli nasi goreng yang sering mangkal didekat rumahnya.
cadel: "bang, beli nasi goleng satu"
abang: "apa...?" (.....ngeledek. )
cadel: "Nasi Goleng!
abang: "Apaan...?" (......Ngeledek lagi.)
cadel: "Nasi Goleng!!!"
abang: "ohh nasi goleng..."

Sambil ditertawakan oleh pembeli yang lain dan pulanglah si cadel dengan sangat kesal, sesampainya di rumah dia bertekad untuk berlatih mengucapkan "nasi goreng" dengan benar. Hingga akhirnya dia mampu mengucapkan dengan baik dan benar.

* Hari 2.*

Dengan perasaan bangga, si cadel ingin menunjukkan bahwa dia bisa mengucapkan pesanan dengan tidak cadel lagi.
cadel: "bang...,saya mau beli NASI GORENG, bungkus!!!"
abang: "ohh...pake apa?"
cadel: "...pake telol..." (Sambil sedih...)
Akhirnya kembali dia berlatih mengucapkan kata "telor" sampai benar.

* Hari 3.*

Untuk menunjukkan bahwa dia mampu, dia rela 3 hari berturut-turut makan nasi goreng
cadel: "bang..., beli NASI GORENG, Pake TELOR!!! Bungkus!"
abang: "ceplok atau dadar ?"
cadel: "dadal..."
Dengan spontan. Kembali dia berlatih dengan keras.

* Hari 4.*

Dengan modal 4 hari berlatih lidah hari ini dia yakin mampu memesan dengan tanpa ditertawakan.
cadel: "bang...beli NASI GORENG, Pake TELOR, di DADAR!"
abang: "hebat kamu 'del, udah nggak cadel lagi nich, harganya Rp.2500, del."

si cadel menyerahkan uang Rp.3000 kepada si abang, namun si abang tidak memberikan kembaliannya, hingga si cadel bertanya:
cadel: "bang.., kembaliannya? "
abang: "oh iya, uang kamu Rp.3000, harganya Rp.2500, kembalinya berapa del?", sambil senyum ngeledek.
Si cadel gugup juga untuk menjawabnya, dia membayangkan besok bakal makan nasi goreng lagi. Tapi akhirnya dia menjawab:".. .GOPEK... .!!!" Sambil tersenyum penuh kemenangan.

* Moral Cerita *:
INTI DALI CELITA INI ADALAH HIDUPLAH TELUS DENGAN PENUH PELJUANGAN !!
JANGAN MENYELAH YACH !!

Selasa, 30 Maret 2010

menu perancis

Bahwa orang beranggapan kalau makanan yang kita santap diberi nama Perancis kelihatannya akan terasa lebih enak.

Hal tsb disebabkan antara lain karena anggapan bahwa semua yang berbau Perancis bermutu halus.
Perancisinasi juga membuat orang yang akan bersantap mempunyai citra yang kabur tentang apa sebenarnya yang ia mau santap.

Misalnya:
"filet mignon" (secara harafiah artinya: irisan yang lembut)
"pate de fois gras" (liver paste)
"chevalen" (daging kuda)
"Monsieur de Veau" (daging lembu muda, veal)
"Escargot d'France" (bekicot, keong)
dsb.

Si Inem yang warungnya sering dikunjungi turis (backpackers) Perancis, tidak mau kalah;
dia pasang menu sebagai berikut:

CHEF'S SPECIAL:
Oucing Pete de Chine (Oseng Pete Cina)
Chateau de Batavie (Soto Betawi)
Saiyour de Lourdes (Sayur Lodeh)
Roujaxe d'Oleque (Rujak Ulek)
Café a la Tobruq (Kopi Tubruk)
Cappuccino de Preangers (Bajigur)
Naxis Geaux rain (Nasi Goreng)
Manioc de Mer (singkong Rebus)
Vouz vour que tans Noir (Bubur Ketan Item)
and
Special Today:
Loun Tounqe Saiyour [Lontong Sayur]

Hab Max Janoux Lufaz Bayaour = Habis Makan Jangan Lupa Bayar !!

Senin, 29 Maret 2010

How men change

How men change


The Love Word:After 6 weeks: I looo-ve you, I love you, I love you!
After 6 months: Of course, I love you.
After 6 years: GOD, if I didn't love you, then why did I marry you?

Back from Work:
After 6 weeks: Honey, I'm home!
After 6 months: I'm BACK!!
After 6 years: Have you cooked yet?

Phone Ringing:After 6 weeks: Baby, somebody wants you on the phone.
After 6 months: Here, it's for you.
After 6 years: ANSWER THE PHONE DAM*T!!

Cooking:After 6 weeks: I never knew food could taste so good!
After 6 months: What are we having for dinner tonight?
After 6 years: DUMPLING AGAIN??

New Dress:
After 6 weeks: Wow, you look like an angel in that dress.
After 6 months: You bought a new dress again?
After 6 years: How much did THAT cost me?

TV:After 6 weeks: Baby, what would you like us to watch tonight?
After 6 months: I like this movie.
After 6 years: I'm going to watch PIRATES play, if you're not in the mood, go to bed, I can stay up by myself!

Making Love:After 6 weeks: Baby, I want you tonight?
After 6 months: Lets make another baby, my mother just called!!!
After 6 years: Please MOVE over to your side, I'm suffocating here!!!!

Abstract Data Types dan contohnya dalam kehidupan sehari-hari

Abstract Data Types dan contohnya dalam kehidupan sehari-hari

Abstract Data Types adalah konsep matematis yang mendefinisikan suatu tipe data, terdiri dari sejumlah nilai dan operasi. ADT terdiri dari struktur data abstrak dan operasi, dimana struktur data abstrak hanya dapat diakses dengan mendefinisikan operasi. Sekumpulan data dan operasi terhadap data tersebut yang definisi-nya tidak bergantung pada implementasi tertentu. Kumpulan dari berbagai macam operasi tersebut disebut interface (Antar Muka). Dan operasi tersebut dapat dilihat dari luar karena memiliki Interface.
Secara garis besar, ADT ada beberapa bagian yaitu:
• List
• Stack
• Queue

Dan dalam kehidupan sehari-hari ADT dapat dicontohkan sebagai berikut:

LIST
List merupakan sebuah kumpulan benda di mana setiap benda memiliki posisi.
Misalnya:
• Urutan angka pada keyboard komputer
• Urutan lagu pada playlist Mp3 player
• Dll

STACK
Stack adalah merupakan sebuah kumpulan benda dimana hanya benda yang baru dimasukkan yang dapat diakses atau dilihat. Stack juga merupakan perintah pengumpulan data secara linier yang disebut “last in, first out” (LIFO).
Misalnya:
• Setumpuk koran, dimana koran yang paling terakhir ditambahkan dan ditaruh di atas tumpukan yang dapat dilihat.
• Tumpukan kotak rokok, koin, buku, dll

QUEUE atau ANTRIAN
Queue atau antrian adalah sebuah kumpulan benda di mana hanya benda yang terakhir dimasukkan yang dapat diakses. Queue atau Antrian merupakan perintah pengumpulan data yang disebut “first-in, first-out”. Aplikasi ini meliputi jadwal pekerjaan dalam sebuah operasi
Misalnya:
a. Antrian printer job pada sebuah jaringan
b. Antrian nasabah pada sebuah bank
c. Antrian loket bioskop, dll

from: herison surbakti

Contoh Implementasi PCQ


Contoh Implementasi PCQ

Contoh Implementasi PCQ


PCQ (Per Connection Queue) adalah jenis queue yang dapat digunakan untuk membagi atau membatasi traffic untuk multi-users secara dinamis, dengan sedikit administrasi.

Pembagian Bandwidth Sama Rata Untuk Multi Users

Gunakan queue jenis PCQ bila kita ingin membagi bandwidth secara rata (dan mengatur max-limit) untuk beberapa user. Kita akan memberikan contoh untuk pembagian limit bandwidth download sebesar 64 kbps dan upload sebesar 32 kbps.
Ada dua cara untuk melakukan ini : Menggunakan mangle dan queue tree atau Menggunakan Simple Queue

Dengan Mangle dan Queue Tree

1. Mark paket dengan mark-packet all :
Code:
/ip firewall mangle add chain=prerouting action=mark-packet new-packet-mark=all passthrough=no
2. Tambahkan 2 PCQ Type, satu untuk download dan satunya lagi untuk upload. Dst-Address adalah pengklasifikasian untuk traffic Download, sedang Src-Address adalah pengklasifikasian untuk traffic Upload :
Code:
/queue type add name="PCQ_download" kind=pcq pcq-rate=64000 pcq-classifier=dst-address
/queue type add name="PCQ_upload" kind=pcq pcq-rate=32000 pcq-classifier=src-address
3. Akhirnya, 2 buah rule queue ditambahkan, untuk download dan upload :
Code:
/queue tree add parent=global-in queue=PCQ_download packet-mark=all
/queue tree add parent=global-out queue=PCQ_upload packet-mark=all

Dengan Simple Queue

Jika anda tidak suka menggunakan mangle dan queue tree, anda dapat menggunakan satu rule queue seperti dibawah ini :
Code:
/queue simple add queue=PCQ_upload/PCQ_download target-addresses=192.168.0.0/24


QUEUE

 QUEUE

Queue (antrian) adalah barisan elemen yang apabila elemen ditambah maka penambahannya berada di posisi belakang (rear) dan jika dilakukan pengambilan elemen dilakukan di elemen paling depan (front). Oleh karena itu, queue bersifat FIFO (first in first out).


Operasi-operasi dasar dari sebuah queue adalah :
1. Enqueue : proses penambahan elemen di posisi belakang
2. Dequeue : proses pengambilan elemen di posisi depan

Selain operasi dasar di atas, ada pula operasi-operasi lain yang dapat dilakukan terhadap sebuah queue yaitu :
1. Operasi pemeriksaan queue kosong (fungsi kosong)
2. Operasi pemeriksaan queue penuh (fungsi penuh).
3. Operasi inisialisasi queue (fungsi inisialisasi)

Operasi untuk memanipulasi elemen dalam Queue adalah:
 add() : menambah elemen dan node pada bagian akhir list.
remove() : membaca data paling depan dari list serta mengeluarkannya dari list.

Kegunaan Queue:
Algoritma Queue telah digunakan dalam sistem operasi untuk mengontrol urutan
proses operasi sistem. Selain itu, algoritma Queue juga dipakai dalam printer manager
untuk mengatur proses cetak (printing)

Minggu, 28 Maret 2010

guyonan

Orang Budeg Membeli Cendol

Ginting, seorang profesional asal Medan yang agak tuli baru pertama kali datang ke Jogja. Pada suatu hari ia ingin sekali minum minuman khas daerah Jogja, yaitu dawet (cendol).

Ginting : "Mbak, beli dawetnya."
Mbak : "Sampun telas mas."

Ginting : "Iya, memang harus pake gelas..."
Mbak : "Mboten wonten mas."

Ginting : "Betul, memang saya suka pake santen..."
Mbak : (Dengan nada kesal) "Dasar sinting !!!"

Ginting : "Lho, kok tau nama saya Ginting...?"
Mbak : (Tambah kesal) "Dasar wong edan."

Ginting : "Wah mbak betul lagi... saya memang dari Medan !"
Mbak : (Sambil menggerutu) "Dasar wong ora duwe otak..!!"

Ginting : "Benar, benar saya orang Batak !"
Mbak : "Dasar budeg...!"

Ginting : "Selain cendol saya memang suka gudeg."
Mbak : "Sampeyan kok kurang kerjaan to ?"

Ginting : "Benar sekali mbak, teman-teman saya memang semua kurang kerjaan, cerita kayak gini ini juga dibaca sampai habis !"

Kamis, 04 Maret 2010

ORGANISASI LOGIK DAN FISIK DARI STRUKTUR DATA

               ORGANISASI LOGIK DAN FISIK DARI STRUKTUR DATA

           Memori komputer dapat kita bayangkan terdiri atas barisan atau untai sel-sel (masingmasing sel berisi satu binary digit atau bit) dengan alamatnya sekaligus. Setiap untai dirangkai dari sejumlah bit yang ditentukan jumlahnya dalam satu untai oleh model komputer tertentu.

           Struktur data terdiri dari satuan data sederhana yang cocok untuk program yang memakainya. Hubungan antara satuan data tersebut membentuk salah satu ciri dari struktur yang bersangkutan. Jika sebuah struktur data langsung tersedia dalam bahasa pemrograman (misalnya array terdapat di dalam FORTRAN), maka struktur data tersebut langsung dapat dipakai. Jika struktur tersebut tidak tersedia, maka pemrogram harus membuatnya terlebih dahulu dari tipe data yang tersedia. Berhubung struktur data tersebut harus dimasukkan ke dalam memori berupa untai bit, maka setiap struktur diberi ciri oleh organisasi logikal (perlu ada hubungan antar komponen sewaktu diaplikasikan), dan oleh organisasi fisikal (penempatan dalam memori).

            Jika satuan data sederhana dapat membentuk sebuah struktur yang lebih hemat dalam memori, maka struktur data tersebut disatukan: beberapa satuan data ditempatkan sebagai satu untai. Struktur tersebut tidak dapat langsung ditujukan kepada sebuah alamat (yang bisa hanyalah sebuah untai atau byte); untuk itu haruslah diusahakan melalui proses pemrograman.

           Jika menggunakan penyajian secara sekuensial, maka komponen struktur data ditempatkan ke dalam lokasi memori secara berurutan. Hubungan antara komponen komponen tersebut tidak nampak dari proses mereka.

Contoh 1.3

         Sebuah himpunan data logikal (masing-masing sepanjang 1 bit) dapat dijadikan untai 16 bit memakai 16 elemen himpunan ke dalam satu untai. Dua cara utama untuk menempatkan memori terdapat di dalam struktur tingkat tinggi seperti daftar.

        Cara lain adalah penyajian secara berkait, atau linked. Di sini setiap komponen dari struktur data dilengkapi dengan satu atau beberapa satuan data tambahan, yang dipergunakan untuk melakukan hubungannya dengan komponen yang ada di sekelilingnya. Satuan data tambahan seperti itu disebut pointer atau link atau penuding yang berisikan alamat memori dari satuan data lain di dalam struktur data. Dengan adanya pointer tersebut, akan terjalin relasi antar komponen dalam struktur data tersebut

        Penyajian data secara sekuensial bersifat sangat kaku. Hal ini disebabkan karena untuk menghapus komponen dari struktur dan menyisipkan komponen ke dalamnya, hanya dapat dilakukan melalui reorganisasi fisik dari struktur di dalam memori. Oleh karena itu, ia baru dapat diaplikasikan dengan baik apabila komposisi dari struktur tersebut tidak banyak berubah selama pelaksanaan program yang bersangkutan.

         Penyajian dengan cara berkait (linked) bersifat lebih fleksibel, karena untuk mengadakan perubahan struktural, kita cukup melakukan perubahan beberapa pointer saja. Oleh sebab itu, penyajian berkait ini cocok bagi struktur data yang dinamis. Tingkat  keluwesan tersebut terdapat dalam ruang memori dan waktu yang dibutuhkan, guna mengarahkan pointer yang bersangkutan, yang juga merupakan elemen struktural.

         Jika kita memakai sistem penyajian berkait, maka jumlah memori yang tersedia bagi struktur data, dibagi menjadi dua bagian. Satu bagian menampung struktur yang ada tersebut, sedangkan bagian yang lain (disebut ruang yang tersedia), merupakan tempat cadangan, untuk menampung komponen yang masih ''kosong.'' Jika diperlukan sebuah ruang untuk menempatkan komponen baru, maka akan diambilkan dari ruang cadangan tersebut.

           Jika suatu komponen tidak dibutuhkan lagi, maka ruang dikembalikan kepada tempat cadangan yang bersangkutan. Ada kalanya juga terjadi bahwa komponen yang tidak dibutuhkan lagi dikumpulkan secara periodik untuk dikembalikan ke tempat cadangan.

PEMETAAN (MAPPING) KE STORAGE

                              PEMETAAN (MAPPING) KE STORAGE : INTEGER

         Struktur data secara logik dapat mempunyai beberapa storage mapping atau representasi
fisik. Hal ini merupakan salah satu cirinya. Salah satu storage mapping yang dapat dilakukan terhadap integer adalah apa yang disebut bentuk sign-and-magnitude. Integer positif didefinisikan dengan tanda plus serta sebarisan digit yang menyatakan magnitude/ besamya; sedangkan integer negatif didefinisikan dengan tanda minus serta sebarisan digit. Tanda plus kerap kali diabaikan penulisannya dalam penggunaan sehari-hari. Namun, tanda plus tersebut harus dinyatakan ketika melakukan pemrosesan bilangan dengan komputer. 
 
        Juga, kalau sehari-hari bilangan dinyatakan dalam basis 10 (sistem desimal), maka dalam memori komputer kita menyatakan bilangan dalam basis 2 (sistem binary). Manusia dengan mudah bekerja terhadap bilangan dalam bentuk sign-and-magni-tude tersebut. Namun, apabila kita akan melakukan penjumlahan dengan komputer, dengan kedua operand berbeda tanda, penjumlahan akan beralih menjadi pengurangan yang kadang kadang menimbulkan kesukaran. Untuk itu, kita gunakan apa yang disebut complement, yang dapat diterangkan sebagai berikut :

         Diberikan 3 integer non negatif X, X’ dan R. Kita definisikan X’ adalah complement dari X terhadap R (atau R's complement dari X) bila X + X' = R. Dalam penyajian complement, X disebut bentuk ''true” dan X’ disebut bentuk complement. Dalam komputer binary, R dipilih merupakan pangkat dari 2.

                                                        R = 2n

         Pemilihan N menentukan daerah rentangan dari integer yang dapat disajikan. Mapping dengan R = 2n dikenal sebagai sistem two's complement.Bentuk complement X’ = R–X menyatakan integer negatif X dan bentuk ''true'' menyatakan integer positif X Algoritma untuk melakukan perhitungan aritmatika terhadap integer yang dinyatakan dalam bentuk complement adalah lebih mudah bagi komputer dibandingkan dalam bentuk sign-and-magnitude. Jadi, apabila banyak komputasi dilakukan terhadap integer, dianjurkan untuk
menyatakan integer dalam bentuk complement

                PEMETAAN KE STORAGE : KARAKTER DAN STRING

          Banyak aturan yang dapat kita gunakan untuk menyatakan tipe data karakter dalam storage. Dua di antaranya sangat terkenal, yakni Extended Binary Coded Decimal Interchange Code (EBCDIC) dan American Standard Code for Information Interchange(ASCII). EBCDIC, yang dikembangkan oleh IBM, adalah kode 8 bit. Di sini dibutuhkan 8 binary digit (bit) untuk menyatakan satu karakter dalam alfabet: Dalam 8 bit terdapat 28 (=256) kemungkinan. Nyata bahwa pada EBCDIC, cukup banyak macam karakter yang
dapat digunakan. Di sini meliputi huruf besar serta kecil, digit numerik dan banyak karakter khusus.

           ASCII adalah cara pengkodean 7 bit. Terdapat 27 (=128) kemungkinan, separuh dari yang dimiliki EBCDIC. Penggunaan ASCII ini disebabkan karena lebih sedikitnya storage yang dipakai, serta lalu lintas data karakter tersebut dapat lebih cepat. Selain kedua cara pengkodean tersebut di atas, masih terdapat banyak cara lagi, di antaranya adalah cara BCD (Binary Coded Decimal) yang menggunakan 4 bit setiap
karakternya.

           Selain itu, di antara sekian banyak cara mapping ke storage terhadap karakter tersebut, ada suatu cara yang sengaja diciptakan untuk aplikasi khusus, seperti kode Huffman. Di sini, Karakter disajikan oleh bit yang banyaknya variabel, tergantung pada frekuensi relatif kemunculan karakter tersebut dalam vocabulary dari aplikasi. Karakter yang sering muncul dinyatakan dalam pola bit yang lebih pendek, sedangkan karakter yang jarang muncul, dinyatakan dalam pola bit yang lebih panjang.

Sebagai contoh dalam aplikasi khusus, karakter 0, dinyatakan dalam single bit 0, karakter A dinyatakan dalam 5 bit 10101, sedangkan karakter % (sangat jarang muncul dinyatakan dalam 16 bit 1011111111111001. Apabila dihitung, rata-rata penggunaan bit adalah 2.91 bit/ karakter.