Rabu, 24 November 2010

your guardian angel

When I see your smile

Tears roll down my face

I can't replace

And now that I'm strong I have figured out

How this world turns cold and it breaks through my soul,

And I know I'll find deep inside me, I can be the one

I will never let you fall

I'll stand up with you forever

I'll be there for you through it all,

Even if saving you sends me to heaven

It's ok (3x)

Seasons are changing and waves are crashing

And stars are falling all for us

Days grow longer and nights grow shorter

I can show you I'll be the one

I will never let you fall

I'll stand up with you forever

I'll be there for you through it all,

Even if saving you sends me to heaven

Cause you're my

You're my, my

My true love

My whole heart

Please don't throw that away

Cause I'm here, for you

Please don't walk away and

Please tell me you'll stay, stay

Use me as you will

Pull my strings just for a thrill

And I know I'll be okay

Though my skies are turning gray

I will never let you fall

I'll stand up with you forever

I'll be there for you through it all

Even if saving you sends me to heaven

Sistem Database Oracle

Sistem Database Oracle adalah basis data relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen basis data RDBMS. Perusahaan perangkat lunak Oracle memasarkan jenis basis data ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform).

Basis data Oracle ini pertama kali dikembangkan oleh Larry Ollison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.

Basis data Oracle juga bersaing dengan basis data sumber-terbuka (open-source relational databases), seperti :

  • IBM: DB2, Informix, UDB
  • Microsoft SQL server
  • PostgreSQL
  • Firebird
  • Teradata (data warehousing dan business intelligence)
  • Software AG: Adabas
  • Sybase.

Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, namun banyak orang memiliki kesan yang negatif terhadap Oracle. Keluhan-keluhan yang mereka lontarkan mengenai Oracle antara lain adalah terlalu sulit untuk digunakan, terlalu lambat, terlalu mahal, dan bahkan Oracle dijuluki dengan istilah “ora kelar-kelar” yang berarti “tidak selesai-selesai” dalam bahasa Jawa. Jika dibandingkan dengan MySQL yang bersifat gratis, maka Oracle lebih terlihat tidak kompetitif karena berjalan lebih lambat daripada MySQL meskipun harganya sangat mahal.

Namun yang mereka tidak perhitungkan adalah bahwa Oracle merupakan DBMS yang dirancang khusus untuk perusahaan yang berukuran besar, bukan untuk ukuran kecil dan menengah. Kebutuhan perusahaan berukuran besar tidaklah sama dengan perusahaan yang kecil atau menengah yang tidak akan berkembang menjadi besar. Perusahaan seperti perhotelan yang berukuran besar membutuhkan fleksibilitas dan skalabilitas agar dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus menerus bertambah besar. Kapasitas penyimpanan data dalam Oracle mencapai TeraByte.

Fleksibilitas adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, perusahaan yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Perusahaan tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari perusahaan besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di perusahaan/organisasi yang berukuran besar.

Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Perusahaan yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat.

Kelebihan lain dari Oracle yaitu hanya akan memanfaatkan resource yang default atau diberikan saja. Sehingga ketika sudah running di server, kadang perlu ditunning agar kecepatan dan kerjanya bisa maksimal. Tunning dapat dilakukan kapan saja dan berkali-kali. Ini sangat menguntungkan karena pemakaian resource dapat dikontrol dengan mudah. Tetapi efek buruknya adalah jika salah dalam melakukan tunning atau tidak ditunning sama sekali, oracle akan bekerja sangat lambat.

Sedangkan, Microsoft SQL Server memakai banyak resouce. Pada awalnya memang akan terasa cepat sekali tetapi kalau resource sudah maksimal maka akan jadi masalah besar. Tunning hanya bisa dilakukan satu atau dua kali saja. Jika pengaturan dari awal sudah salah, maka efeknya dikemudian hari bisa fatal. Misalnya ketika data sudah banyak dan ram terbatas, space hardisk juga terbatas/ sudah maximal bisa menjadi masalah yang besar bagi kelangsungan aplikasi.

APLIKASI PROGRAM DINAMIS UNTUK PEMILIHAN JALUR TRANSPORTASI JARAK JAUH

Kata Kunci: Program Dinamis, Optimalisasi, Angkutan umum, Transportasi jarak jauh, Biaya perjalanan, Waktu Perjalanan Contoh-contoh yang diambil dalam makalah ini juga mungkin bukan kondisi aktual, beberapa hanya perkiraan penulis, tetapi cukup menggambarkan kondisi yang sebenarnya (misal: jarak Jl. Ganesha-Jl. Tamansari tentu saja lebih dekat daripada jarak Jl. Ganesha-Jl. Dipati Ukur).

Dalam makalah ini penulis ingin mencari bagaimana cara seseorang menemukan jalan yang optimal dari suatu tempat ke tempat lain, baik dari segi waktu, biaya, tingkat kenyamanan, ataupun kombinasi dari ketiga aspek itu.

2. ALGORITMA PROGRAM DINAMIS

Program dinamis merupakan suatu cara penyelesaian masalah dengan menguraikan solusi menjadi sekumpulan langkah atau tahapan sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Pada penyelesaian metode ini kita menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.

Program dinamis mempunyai karakteristik sebagai berikut:

1. Persoalan dapat dibagi menjadi beberapa tahap, yang pada setiap tahap hanya diambil satu keputusan.

2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut. Jumlah status bisa berhingga atau tidak berhingga.

3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.

4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah

tahapan.

5. Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada

tahap tersebut.

6. Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada

tahap sebelumnya.

7. Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k+1.

Secara umum, ada empat langkah yang dilakukan dalam mengembangkan algoritma program dinamis:

1. Karakteristikkan struktur solusi optimal.

2. Definisikan secara rekursif nilai solusi optimal.

3. Hitung nilai solusi optimal.

4. Konstruksi solusi optimal.

Dalam menyelesaikan persoalan dengan program dinamis, orang dapat menggunakan duan pendekatan

berbeda, yaitu maju (forward atau up-down) dan mundur (backward atau bottom-up). Misalkan x1, x2, x3, …, xn menyatakan peubah keputusan yang harus dibuat masing-masing untuk tahap 1, 2, 3, …, n, maka,

a. Program dinamis maju. Program dinamis bergerak mulai dari tahap 1, terus maju ke tahap 2, 3, dan

seterusnya sampai tahap n. Runtunan peubah keputusan adalah x1, x2, x3, …, xn.

b. Program dinamis mundur. Program dinamis bergerak mulai dari tahap n, terus mundur ke tahap n-1, n-2, sampai ke tahap 1. Runtunan peubah keputusan adalah xn, xn-1, xn-2, …, x1.

3. METODE PENYELESAIAN MASALAH

Seperti yang telah dipaparkan sebelumnya, masalah pencarian jalur transportasi jarak jauh terbaik ini akan diselesaikan menggunakan algoritma program dinamis yang sudah dijelaskan pada bab sebelumnya.

Untuk mempermudah pemecahan masalah, pendekatan yang dipakai adalah program dinamik mundur, dengan dua pemecahan masalah yang berbeda: optimalisasi waktu dan optimalisasi biaya. Sebagai permulaan, kita menentukan titik awal dan titik akhir perjalanan yang akan ditempuh. Kita anggap awal perjalanan (x0) adalah kampus ITB, yaitu Jalan Ganesha 10, sedangkan akhir perjalanan (xn) adalah Bandara Soekarno-Hatta Jakarta. Dari titik awal dan titik akhir, kita membuat daftar angkutan yang berada di antara x0 dan xn, dengan spesifikasi seperti yang tertera pada tabel 1. Pada tabel di atas, d1 dihitung dari x0 dan d2 dihitung dari xn. Jumlah angkutan umum dibatasi, karena akan sangat banyak jika ditulis semua. Aspek kenyamanan diabaikan terlebih dahulu. Setelah semua kemungkinan transport dibuat, asumsikan manusia hanya sanggup berjalan sampai 500 m untuk setiap pemberhentian, sehingga setiap transport yang mempunyai d1 lebih dari 500 m dieliminasi, saat menentukan solusi lokal.

Tahap yang digunakan dalam fungsi ini mungkin saja sangat banyak sampai tak berhingga, sehingga tahap untuk fungsi ini harus dibatasi, karena akan mempermudah kerja memori yang harus membangkitkan data-data transportasi setiap kali rekursif.

3.1 Optimalisasi Waktu Perjalanan

Menentukan solusi untuk optimalisasi waktu perjalanan merupakan sebuah operasi rekursif dengan notasi sebagai berikut:

fn (s) = txn (basis)

fk (s) = min {txn + fk+kx (xk)} (rekurens)

Sedangkan untuk setiap tahap yang dilakukan dilakukan pembangkitan daftar angkutan yang tersedia (sama seperti tabel 2)

Jika operasi rekursif didefinisikan sebagai optimizeTime(k) dan operasi pembangkitan data didefinisikan sebagai generate(k) maka fungsi optimizeTime(k) adalah sebagai berikut:

Generate(k)

if (k <= 500) then {basis}

return (t(x)+walk(k))

else {rekurens}

return (min(t(x)+walk(k-k(x))

+optimizeTime(k-k(x))))

Pada notasi di atas, k adalah jarak dari x (tempat tersebut) sampai tempat akhir (xn). Fungsi tersebut akan mencapai basisnya saat k kurang dari atau sama dengan 500 m, yaitu anggapan manusia tidak butuh alat transportasi, namun waktu berjalannya juga ditambahkan pada waktu total.

3.2 Optimalisasi Biaya Perjalanan

Optimalisasi biaya perjalanan pada prinsipnya hampir sama dengan optimalisasi waktu perjalanan, namun semua operasi yang berhubungan dengan waktu diganti dengan biaya.

Menentukan solusi untuk optimalisasi biaya perjalanan merupakan sebuah operasi rekursif dengan notasi sebagai berikut:

fn (s) = cxn (basis)

fk (s) = min {cxn + fk+kx (xk)} (rekurens)

Sedangkan untuk setiap tahap yang dilakukan dilakukan pembangkitan daftar angkutan yang tersedia (sama seperti tabel 2) Jika operasi rekursif didefinisikan sebagai optimizeCost(k) dan operasi pembangkitan data didefinisikan sebagai generate(k) maka fungsi optimizeCost(k) adalah sebagai berikut:

Generate(k)

if (k <= 500) then {basis}

return (c(x))

else {rekurens}

return (min(c(x)+optimizeCost(k-k(x))))

Pada notasi di atas, k adalah jarak dari x (tempat tersebut) sampai tempat akhir (xn). Fungsi tersebut akan mencapai basisnya saat k kurang dari atau sama dengan 500 m, yaitu anggapan manusia tidak butuh alat transportasi. Pada bagian ini, waktu untuk berjalan sama sekali tidak diperhitungkan, karena murni menghitung biaya perjalanan saja.

4. KESIMPULAN

Algoritma program dinamis sudah lumrah dipakai untuk suatu persoalan optimalisasi. Dalam kasus ini, algoritma program dinamis sudah cukup dapat menyelesaikan persoalan pemilihan jalur transportasi jarak jauh, namun yang perlu diperhatikan adalah banyaknya jumlah dan jenis angkutan yang sangat banyak dari suatu tempat ke tempat lain di dunia. Untuk optimalisasi biaya atau waktu saja, hanya satu aspek yang dilihat (biaya atau waktu), namun jika melihat kedua aspek tersebut bersamaan, ditambah aspek kenyamanan, algoritma yang dibuat akan lebih kompleks lagi.


Selasa, 23 November 2010

contoh logika preposisi

Beberapa pernyataan dapat dibuat ke bentuk logika predikat dengan menggunakan operator-operator seperti : Λ , V , → , ~ , dll

Tanda Λ menyatakan konjungsi atau “dan” yang digunakan untuk menghubungkan dua pernyataan tunggal yang menghasilkan pernyataan majemuk sebagai contoh “A dan B” , Jika A benar dan B benar maka A Λ B benar.

Tanda V menyatakan disjungsi atau “atau” yang digunakan untuk menghubungkan dua pernyataan tunggal yang menghasilkan pernyataan majemuk sebagai contoh “A atau B” , Jika salah satu bernilai benar atau keduanya bernilai benar maka A V B benar.

Tanda → menyatakan pernyataan bersyarat atau “jika .. maka ..” , Implikasi A→B benar kecuali untuk A benar dan B salah.

Tanda ~ menyatakan ingkaran yaitu suatu penyataan benar dapat bernilai salah atau sebaliknya.

Tanda ó menyatakan implikasi dua arah atau “jika dan hanya jika” . Biimplkasi A ó B benar untuk A dan B bernilai sama.

Selanjutnya , kita akan menyelesaikan masalah mengenai logika matematika, Sebagai contoh,

A Λ B → A V B ó ~A V ~B

A

B

~A

~B

C= A Λ B

D=A V B

E = C→D

F= ~A V ~B

G= E ó F

1

1

0

0

1

1

1

0

0

1

0

0

1

0

1

1

1

1

0

1

1

0

0

1

1

1

1

0

0

1

1

0

0

1

1

1