Pages

Sunday, May 23, 2010

Sabar dan Ikhlas untuk segala masalah yang menghampiri

Akhir-akhir ini lagi banyak masalah...Alhamdulillah skrg sudah sdkt baikan..ya hikmahnya bisa melatih sabar dan ikhlas.hmm, iseng2 tulis ulang berbagai status facebook yang dibuat dalam satu pekan ini.hehe nih coba saksikan,:

sudah cukup. ini terlalu menyakitkan
-11 Mei 2010-

prcayalah..kalau Allah tdk akn mmbebani seseorg mlainkan sesuai dg ksnggupannya.ykinlah qt psti bs hdpi ini smw..be strong girl!
-13 Mei 2010-

telan saja hatiku,biar skalian mati rasa.skit hati,marah,sdih pun tiada guna.serasa tdk brrti apa-apa,,
-13 mei 2010-

terimakasih,ya ibu ( : lega bgt rasanya..hbs mncurahkan smua isi hati ini
-13 mei 2010-

org lain blh menilai,tp kitalah aktornya.kita yg plg tau yg trbaik dr peranan yg kita jalani,,
-18 mei 2010-

8 hari berturut-turut sedih banget rasanya.nangis terus waktu itu.ya,tapi sekarang udah kuat insya Allah. Dari masalah ini bisa banyak banget dipetik hikmahnya,,pertama arti persahabatan, dimana sahabat-sahabat kita membela kita disaat kita dijatuhkan oleh orang lain,,lalu, arti sabar dan ikhlas yang ternyata berat banget bila dijalani secara benar-benar, arti sebuah kontribusi,tanggung jawab, loyalitas, dan kepercayaan..semua itu harus dijalankan dan juga dipertahankan..jagan pernah ada kata malas untuk belajar..jangan pernah talk more do less, mlainkan harus talk less do more, BUKTIKAN BUKTIKAN!.. itu kuncinya.Dari masalah ini juga, beberapa kalimat-kalimat manis dapat gw ambil.mudah2n bisa bermanfaat ya hehe..

"Ketika kita merasa kalah, atau di kucilkan.satu yang dapat mengobati kesedihan ini, yaitu: BUKTIKANLAH dengan sebuah prestasi"

"Semangat yang selalu diucapkan hanyalah sebatas kata2.semangat tak perlu di ucapkan, tak perlu diteriakkan, karena semangat hanya perlu ditunjuKkaan.BUKTIKAN!"

"SABAR^IKHLAS,,tak semudah pengucapannya..sulit tapi sebenarnya bisa kita lakukan dg sebenar-benarnya..satu yang pasti..orang sabar,adalah seseorang yang tidak akan pernah tergesa-gesa,marah, sedih, dan berputus asa didalam hidupnya..dia akan selalu bersyukur dan mengambil semua hikmah dari masalah yang ada..dan selalu menjalankan hidupnya dengan tujuan untuk lebih baik lagi "

dan yang terakhir..
"Ibu adalah cahaya hatiku,,dia akan selalu ada dalam senang dan sedihku..maaf aku sering mengecewakanmu Bu,tapi kau selalu ada dan mendoakan yang terbaik untukku..seribu kata terima kasih ku ucapkan..walaupun ku tahu,ini tak kan pernah cukup..terima kasih Ibu ku nan cantik,kesabarannmu bagaikan Sang Pelangi.."

UAS oh UAS *semester 4*

berbagi cerita..he

minggu ini udah minggu uas ajah.ga kerasa banget semester 4 ini udah mau selesai. Dan besok bakal ada UAS 4 matkul jugaa.. ada algoritma, Matek, Sinsis, dan Etika Engineering. Kemarin udah ujian Elmag dan RE..Bismillah semoga hasilnya bagus. Sekarang mari fokus buat 4 ujian ke depan..jangan mikirin yang macam2..ingat,waktu ga boleh disia-siakan..kata Ibu kan belajarnya harus sungguh2.So, jgn kecewakan beliau.hehe mhon doanya ya..smg Ujian2 kita smua dapat dlalui dg lancaar,dpermudahkan,dan mndptkn hsil yg terbaik :)AMIN.
tadi sedikit baca-baca tentang Stack *tumpukan..mata kuliah Algoritma dan Pemrogrammman.he,,ini ad sedikit postingan tentang itu :


PENDAHULUAN
Salah satu kegunaan stack adalah untuk mengubah notasi infix menjadi prefix ataupun postfix (bagi yang lupa apa itu stack, silahkan dibuka lagi catatannya. Bagi yang tidak ada catatan, silahkan tanya temannya. Bagi yang tidak punya teman, silahkan cari kenalan dulu). Sebelum kita lihat yang dimaksud dengan infix, prefix dan postfix (kita tidak akan membahas ix-ix yang lain, seperti asterix ataupun Obelix ), ada baiknya mengenal istilah operand dan operator dahulu.

Apa itu Operand dan Operator ?

Lalu apa sih Infix, Prefix, Postfix tersebut ?
Infix, Prefix ataupun Postfix adalah bentuk penulisan operasi matematika, bedanya :
Infix  Operator diletakkan di antara Operand
Prefix  Operator diletakkan di depan Operand
Postfix / Sufix  Operator diletakkan di belakang Operand

Contoh :
Infix Prefix Postfix
A + B x C  x + A B C  A B C x +
D / E – F  - / D E F  D E / F -
Bingung kenapa Prefix atau Postfix-nya bisa seperti itu? Sabar dulu ya, nanti hal itu akan dijelaskan di bagian konversi.

Mengapa sih mesti ada notasi Prefix atau Postfix? Kenapa nggak gunakan infix aja, seperti yang sudah kita pelajari sejak zaman TK?

Karena infix memiliki beberapa kekurangan, yaitu :
1. Urutan pengerjaan tidak berdasarkan letak kiri atau kananya, tetapi berdasarkan precedence-nya
Contoh : 3 + 4 x 2
3 + 4 x 2 , maka urutan pengerjaan adalah 4 x 2 dahulu.
3 + 8 , baru hasilnya ditambah 3
11
Urutan precedence (dari prioritas tertinggi) adalah sebagai berikut :
1. Pemangkatan
2. Perkalian dan Pembagian
3. Penjumlahan dan Pengurangan.
Kecuali kalau ada tanda kurung.

2. Menggunakan tanda kurung. Betul, infix bisa menggunakan tanda kurung. Repotnya, si tanda kurung ini bisa ngacak-ngacak urutan precedence.
Contoh : Tanpa penggunaan tanda kurung :
9 – 5 – 3
9 – 5 – 3 , maka urutan pengerjaan adalah 9 - 5 dahulu.
4 – 3
1

Bandingkan dengan penggunaan tanda kurung berikut :
9 – ( 5 – 3 )
9 – ( 5 – 3 ) , maka urutan pengerjaan adalah 5 – 3 dahulu.
9 – 2
7

3. Jika suatu program akan mengevaluasi (mencari hasil) suatu infix, maka komputer perlu men-scan berulang-ulang mencari urutan pengerjaannya dahulu.
Contoh : 7 + 4 x 2 – 6 / 3

Jika kita diminta untuk menghitung soal seperti itu, maka kita tahu bahwa yang pertama kali harus kita kerjakan adalah 4 x 2. Lalu 6 / 3 dsb, seperti langkah-langkah berikut :

7 + 4 x 2 – 6 / 3
7 + 8 – 6 / 3
7 + 8 – 2
15 – 2
13 (Bingung pada tahapan ini? Tanyakan segera ke teman anda)

Jangan lupa bahwa pengerjaan suatu soal tergantung pada urutan precedence-nya.
Masalahnya, si komputer tidak bisa membaca keseluruhan soal sekaligus. Komputer hanya bisa men-scan soal satu per satu operand atau operator. Sehingga untuk mengetahui mana yang harus dikerjakan duluan, komputer harus men-scan keseluruhan soalnya dulu. Jadi langkah-langkah si komputer dalam mengerjakan soal infix seperti berikut:
1. Cari precedence tertinggi dengan men-scan kiri ke kanan keseluruhan soal.
2. Hitung nilai operator dengan precedence tertinggi tersebut.
3. Ulangi lagi dari langkah 1, sampai semua operator selesai dikerjakan.

Jika si komputer yang tidak men-scan keseluruhan soalnya dulu, maka bisa salah hasilnya.



KONVERSI
Konversi Infix  Postfix Manual
Langkah-langkahnya :
1. Cari operator yang memiliki precedence tertinggi.
2. Letakkan operator tsb di belakang operand-operandnya.
3. Ulangi terus sampai bosan, eh salah, sampai selesai.

Contoh:
A + B – C x D ^ E / F , ”D ^ E” maksudnya tuh D pangkat E.

A + B – C x D ^ E / F , pangkat memiliki precedence tertinggi
A + B – C x D E ^ / F , taruh ^ di belakang D dan E
A + B – C x D E ^ / F , x (kali) dan / (bagi) memiliki precedence sama tapi x di kiri
A + B – C D E ^ x / F , taruh x di belakang
A + B – C D E ^ x / F , dsb..., pelajari saja dulu.
A + B – C D E ^ x F /
A + B – C D E ^ x F /
A B + – C D E ^ x F /
A B + – C D E ^ x F /
A B + C D E ^ x F / – , inilah bentuk Postfix-nya.

Konversi Infix  Postfix Menggunakan Stack

Bahan-bahan yang dibutuhkan :
1 bh stack, misal bernama “Stack”.
1 bh rangkaian soal, misal bernama “Infix”.
1 bh variabel untuk penampung, misal bernama “Postfix”.
Pikiran yang jernih secukupnya.
Kemauan mencoba sesuai selera.

Cara pembuatan :
1. Scan Infix dari kiri ke kanan.
2. Jika berupa operand, maka tulis di Postfix.
3. Jika berupa operator, maka bandingkan operator NEW tsb dgn TOP pada Stack :
a. WHILE precedence TOP >= NEW, maka POP Stack pindahkan ke Postfix.
b. Lalu Push NEW ke dalam Stack.
4. Jika berupa “(“, maka Push “(“ ke Stack.
5. Jika berupa “)”, maka Pop Stack pindahkan ke Postfix sampai ketemu “(“.
6. Ulangi terus dari langkah 1 sampai seluruh Infix sudah di-scan.
7. POP semua isi Stack, pindahkan ke Postfix.
Perlu diingat !! tanda kurung “(“ ataupun “)” tidak dimasukkan ke Postfix.

Contoh : A + B x C




Contoh Lagi : A ^ B / ( C – D )
Infix Postfix Stack
1. A ^ B / ( C – D ) A
2. A ^ B / ( C – D ) A ^
3. A ^ B / ( C – D ) A B ^
4. A ^ B / ( C – D ) A B ^ /
5. A ^ B / ( C – D ) A B ^ / (
6. A ^ B / ( C – D ) A B ^ C / (
7. A ^ B / ( C – D ) A B ^ C / ( –
8. A ^ B / ( C – D ) A B ^ C D / ( –
9. A ^ B / ( C – D ) A B ^ C D – /
10. A ^ B / ( C – D ) A B ^ C D – /

Keterangan :
o Tanda kurung “(“ dan “)”, dapat dianggap tidak memiliki precedence, sehingga pada langkah ke-7, operator “–“ tidak perlu dibandingkan lagi dengan “(“ dan langsung di Push ke Stack.
o Pada langkah ke-8, tanda “)” dibaca dari Infix, maka Stack di Pop terus sampai ketemu tanda “(“. Sehingga pada contoh di atas operator “–“ di Pop dan dipindahkan ke Postfix.
sumber: Chandra Liestiawan's Blog.
wow..memang ckup susah materinyaaaa...tapi berguna banget blog dari mas chandra ini, saya jd lbh mangerti ttg stack, yg termasuk dalam contoh penggunaan linked list ini :))
 

Template by BloggerCandy.com