Selasa, 04 Oktober 2011

Diary Depresi

Sesaat Q ingin hidup dan bertahan dengan rasa benci, dan ambisi. Tapi Q tau itu salah.

Jumat, 30 September 2011

tugas

Pengertian Active Server Pages (ASP)
Active Server Pages (ASP) adalah fasilitas server Web Microsoft yang diperkenalkan oleh Microsoft pada tahun 1996. ASP merupakan model pemrograman berbasis server (server based) atau sering disebut pemrograman sisi server (server-side) yang memungkinkan developer membuat dokumen-dokumen web dinamis dan interaktif secara cepat dan mudah.
ASP merupakan teknologi server-side scripting, yang berarti segala proses programnya dilakukan di server sebelum dikirim ke client. Server-side scripting ini merupakan kebalikan dari client-side scripting, yang seluruh proses programnya dilakukan di client. Karena seluruh prosesnya berada di server, maka client akan menerima hasilnya saja.  Jelas server-side scripting ini lebih aman. Yang biasanya dikatakan sebagai halaman ASP, sebenarnya terdiri atas 3 bagian.
a.       ASP obyek., atau lebih tepat disebut Component Object Model (COM). ASP hanya terdiri atas 5 obyek yang sangat sederhana, tetapi karena digabungkan dengan struktur teknologi Microsoft lainnya, obyek ini menjadi sangat berguna. Kelima obyek tersebut adalah Request, Response, Server, Application, dan Session.
·        Obyek Request berisi informasi yang diterima dari  pengunjung web.
·        Obyek Response menerima output dari hasil pemrosesan halaman ASP dan mengirimkannya ke pengunjung web.
·        Obyek Server berfungsi menyediakan akses ke server.
·        Obyek Application menyediakan tempat penyimpanan bersama bagi semua halaman ASP.
·        Obyek Session menyediakan penyimpanan tetap bagi serangkaian interaksi dengan pengunjung web yang sama. Ia dapat juga berisi informasi yang dijalankan saat interaksi berjalan atau berhenti.
b.      Bahasa Scripting. Dalam bahasa scripting inilah object-object ASP dimanipulasi sesuai dengan yang kita kehendaki. Bahasa scripting yang diberikan oleh Microsoft adalah VBScript dan Jscript. Standarnya adalah VBScript, dan bahasa ini paling banyak dipakai oleh developer ASP di seluruh dunia.
c.       ActiveX Server Component. Object ASP hanyalah perekat antara halaman HTML dengan program yang berada di server. Bahasa scripting hanya digunakan untuk membuat alur logika yang diperlukan. Untuk masalah akses ke database, akses ke program lain, dan sebagainya, maka diperlukan ActiveX Server Component.
Dengan adanya ketiga bagian diatas, sebuah halaman ASP bisa menjalankan program-program yang cukup rumit di server. Kombinasi ini menghasilkan aplikasi web yang baik.
 
Dasar-dasar ASP
Active Server Pages (ASP) berisi sekumpulan script yang terlebih dahulu akan diproses di server sebelum dikirimkan ke client. Client hanya akan menerima dalam bentuk hypertext markup language (HTML). Script yang bisa ditangani oleh ASP adalah VBScript dan Java Script.
Terdapat dua elemen yang sangat penting di dalam ASP, yaitu:
·       Elemen pertama adalah script yang digunakan untuk menulis program
·       Elemen kedua adalah HTML .
Menulis script ASP dapat dimulai dengan menuliskan tag <script>. Kita juga dapat menuliskannya secara singkat dengan pasangan tag <% dan %>. Sintaksis penulisan ASP dapat dilihat pada contoh script di bawah ini:
<html>
<head>
<title>contoh1.asp</title>
</head>
<body>
<%
‘tulis skrip anda disini
%>
</body>
</html>
Contoh 2.2.Contoh penulisan script pada asp
Contoh 2.2 adalah contoh sederhana penulisan script pada ASP. Untuk melihat hasilnya, simpanlah script diatas dengan nama file coba.asp pada direktori virtual web kita, yaitu folder c:\inetpub\wwwroot bila kita menginstall IIS atau PWS secara default. Bila kita menyimpan di folder lain, ingatlah bahwa ASP tidak akan menerjemahkannya.
Setelah kita menyimpannya, kita dapat melihat hasil script ASP yang kita buat dengan cara membuka browser dan pada bagian address ketikkan http://localhost/coba.asp.
Tomcat Hosting

 
Apache Tomcat is the servlet container that is used in the official Reference Implementation for the Java Servlet and Java Server Pages technologies. Apache Tomcat adalah servlet kontainer yang digunakan dalam Pelaksanaan Referensi resmi untuk Java Servlet dan Java Server Pages teknologi. The Java Servlet and Java Server Pages specifications are developed by Sun under the Java Community Process . Java Servlet dan Server Pages Jawa spesifikasi yang dikembangkan oleh Sun bawah Java Community Process . Tomcat is widely used for a diverse variety of interactive web applications, including many of the most popular web sites on the Internet. Tomcat adalah banyak digunakan untuk berbagai macam aplikasi web interaktif, termasuk banyak dari situs web yang paling populer di Internet. Tomcat is popular in the Java hosting environment because it is powerful, reliable, and free. Tomcat adalah populer di lingkungan hosting Jawa karena kuat, dapat diandalkan, dan bebas.

Tomcat Hosting Tomcat Hosting

eApps has offered Tomcat hosting since 1999 and is an expert in JSP hosting (Java Server Pages) and Java servlet hosting using Apache Tomcat, the most effective and widely used Java server solution for Java applications. eApps telah menawarkan Tomcat hosting sejak 1999 dan merupakan ahli dalam JSP hosting (Jawa Server Pages) dan Java servlet hosting menggunakan Apache Tomcat, yang paling efektif dan banyak digunakan Java untuk solusi server aplikasi Java. Our Xen Virtual Machine (VM) in the Cloud based Tomcat hosting service meets your demands for high performance, reliability, control, technical support and the most up to date versions you can find from any provider. Kami Xen Virtual Machine (VM) dalam Cloud berbasis Tomcat layanan hosting Anda untuk memenuhi tuntutan kinerja tinggi, kehandalan, kontrol, dukungan teknis dan paling up to date versi Anda dapat menemukan dari setiap selular. Our Java hosting service is easy to use via a complete control panel yet provides root access for users that need to customize the environment or load their own programs. Jawa kami layanan hosting ini mudah digunakan melalui panel kontrol yang lengkap namun menyediakan akses root untuk pengguna yang perlu untuk menyesuaikan lingkungan atau beban program mereka sendiri. We are the preferred Tomcat hosting provider for thousands of Tomcat users because of our superior Virtual Machine hosting container and deep technical expertise on what it takes to support and host Java applications. Kami adalah penyedia Tomcat pilihan hosting untuk ribuan pengguna Tomcat karena unggul Mesin Virtual hosting kami kontainer dan keahlian teknis yang mendalam pada apa yang diperlukan untuk mendukung dan host aplikasi Java. With eApps Hosting, you can count on the following: Dengan eApps Hosting, Anda dapat mengandalkan berikut:
  • Great help, when YOU need it - Responsive, effective 24/7 phone/chat/email support from real, live human experts. Besar membantu, ketika ANDA membutuhkannya - Responsif, efektif 24 / 7 telepon / chat / email dukungan dari nyata, ahli manusia hidup. Review our testimonials to see what our customers have to say Review kami testimonial untuk melihat apa yang pelanggan kami katakan
  • Up to date versions - Latest versions of Tomcat, Java and the key applications you need to power your site. Sampai dengan versi tanggal - versi terbaru dari Tomcat, Java dan aplikasi kunci yang Anda butuhkan untuk daya situs Anda. See our Hosted Applications Index page for a complete list. Lihat kami Hosted Aplikasi Indeks halaman untuk daftar lengkap.
  • Reliable, high performance hosting - Unparalleled uptime, reliable service, and high performance in a reasonably priced VPS Handal, hosting kinerja tinggi - uptime tak tertandingi, layanan handal, dan kinerja tinggi dalam VPS harga terjangkau
Read on to find out more about why eApps Hosting is the recognized leader in providing advanced Tomcat hosting solutions. Baca terus untuk mengetahui lebih lanjut tentang mengapa eApps Hosting adalah pemimpin yang diakui dalam menyediakan solusi hosting canggih Tomcat.
Virtual Tomcat Hosting using Xen VM technology Virtual Hosting Tomcat menggunakan Xen VM teknologi
Our Java hosting platform uses Virtual Machine technology running on the most advanced Cloud platforms available. Kami hosting platform Java Virtual Machine menggunakan teknologi yang berjalan pada platform Awan paling canggih tersedia. You will receive the highest level of control and privacy in a solution that can scale from our low level plan to our highest level plan with the click of a mouse. Anda akan menerima tingkat tertinggi kontrol dan privasi dalam solusi yang dapat skala dari rencana tingkat rendah kita untuk merencanakan tingkat tertinggi kami dengan klik mouse. We use extremely high performance servers with top of the line CPUs, fast RAID drives and the fastest DDR memory available. Kami menggunakan server dengan kinerja yang sangat tinggi atas garis CPU, drive RAID cepat dan memori DDR tercepat yang tersedia. Our OnApp powered cloud platform ensures that your application performs and scales in a self-healing environment. Kami platform OnApp awan bertenaga memastikan bahwa aplikasi Anda melakukan dan skala dalam lingkungan penyembuhan diri. Our service for JSP hosting and servlet hosting runs on the latest version of the CentOS 5 version of Linux operating system, with an up to date version of Apache. Layanan kami untuk JSP hosting dan servlet hosting yang berjalan pada versi terbaru dari versi 5 CentOS sistem operasi Linux, dengan sampai versi tanggal Apache.

A list of some of the features follows: Sebuah daftar dari beberapa fitur berikut:
  • Your own virtual machine with root access and a private instance of all services Mesin Anda sendiri virtual dengan akses root dan contoh pribadi dari semua layanan
  • Comprehensive, easy to use control panel to administer all aspects of your Java web hosting service Komprehensif, mudah digunakan panel kontrol untuk mengelola semua aspek dari layanan hosting web Java
  • JSP - Servlet support using your own private instance of Apache Tomcat JSP - Servlet dukungan menggunakan contoh pribadi Anda dari Apache Tomcat
  • Your own Java Virtual Machine (JVM) Anda sendiri Java Virtual Machine (JVM)
  • Java Server Wrapper automatic JVM restart for maximum uptime Java Server Wrapper otomatis JVM restart untuk uptime maksimum
  • Mod_jk and mod_proxy_ajp support Mod_jk dan dukungan mod_proxy_ajp
  • J2EE - EJB / EJB3 option using JBoss or GlassFish J2EE - EJB / EJB3 opsi menggunakan JBoss atau GlassFish
  • Your own MySQL, PostgreSQL, or SQLite database instance Anda sendiri MySQL, PostgreSQL, atau contoh database SQLite
  • Many free add on applications such as LDAP, X Windows, VNC, Subversion, CVS, ImageMagick, and more Banyak gratis aplikasi-aplikasi tambahan seperti LDAP, X Windows, VNC, Subversion, CVS, ImageMagick, dan banyak lagi
  • Ability to install your own components, such as Struts, Hibernate, MyFaces, Cocoon, etc. Kemampuan untuk memasang komponen Anda sendiri, seperti Struts, Hibernate, MyFaces, Cocoon, dll
  • SSL (commercial or self-signed certificate) SSL (sertifikat komersial atau ditandatangani sendiri)
  • Robust programming environment and tools, supporting enhanced PHP , Perl, Python, C/C++ and Ruby on Rails Lingkungan pemrograman kuat dan alat, mendukung ditingkatkan PHP , Perl, Python, C / C + + dan Ruby on Rails
  • Private SPAM/Virus filtered Email server with optional Enterprise Email services Swasta SPAM / Virus disaring Server Email dengan opsional layanan Email Perusahaan
  • Ample CPU, memory, disk and traffic allowances CPU yang cukup, memori, disk dan lalu lintas tunjangan
  • 24/7 phone, world-wide toll free phone, Skype VoIP, chat and email technical support!!! 24 / 7 telepon, di seluruh dunia telepon bebas pulsa, VoIP Skype, chatting dan email dukungan teknis!
  • High availability load balanced configurations for mission critical applications Tinggi konfigurasi ketersediaan beban seimbang untuk aplikasi misi kritis

Dedicated Tomcat Hosting and High Availability Solutions Tomcat Dedicated Hosting dan Solusi High Availability

In the event that your resource needs exceed our Advanced plans, we have higher options for you. Dalam hal sumber daya kebutuhan Anda melebihi rencana Lanjutan kita, kita memiliki pilihan lebih tinggi untuk Anda. Our dedicated Tomcat hosting service uses the same platform as our Virtual Machine in the Cloud plans, making it easy to migrate to a dedicated server solution without going through a redeployment. Tomcat kami yang berdedikasi layanan hosting menggunakan platform yang sama sebagai Mesin Virtual kami dalam rencana Cloud, sehingga mudah untuk bermigrasi ke solusi dedicated server tanpa melalui suatu pemindahan. In fact, if you need to start out with a Dedicated server we can have your account provisioned on a temporary server within minutes! Bahkan, jika Anda perlu untuk memulai dengan server Dedicated kita dapat memiliki account Anda ditetapkan pada server sementara dalam hitungan menit! We can later migrate your environment to your dedicated server as soon as it is ready, with no down time! Kita kemudian dapat bermigrasi lingkungan Anda ke server Anda didedikasikan segera setelah siap, dengan tidak ada waktu turun! For more information on the configurations and services offered, contact us as explained below. Untuk informasi lebih lanjut tentang konfigurasi dan layanan yang ditawarkan, hubungi kami sebagaimana dijelaskan di bawah.
Click on the Create-A-Cloud&trade icon at the upper right to easily create your custom plan for Tomcat hosting. Klik pada Awan Buat-A-& ikon perdagangan di kanan atas untuk dengan mudah membuat rencana kustom Anda untuk Tomcat hosting. Have some specific technical questions? Memiliki beberapa pertanyaan teknis tertentu? Click the CHAT ONLINE icon for on-line assistance or contact us for more information. Klik ikon ONLINE CHAT untuk on-line bantuan atau hubungi kami untuk informasi lebih lanjut.
SSL (Secure Socket Layer)
Berikut ini akan kita bahas mengenai SSL :
Secure Socket Layer (SSL) adalah protokol yang digunakan untuk browsing web secara aman. SSL bertindak sebagai protokol yang mengamankan komunikasi antara client dan server. Protokol ini memfasilitasi penggunaan enkripsi  untuk data yang rahasia dan membantu menjamin integritas informasi yang dipertukarkan antara website dan web browser.
Sejarah
Secure Socket Layer (SSL) adalah protokol yang digunakan untuk browsing web secara aman. SSL bertindak sebagai protokol yang mengamankan komunikasi antara client dan server. Protokol ini memfasilitasi penggunaan enkripsi untuk data yang rahasia dan membantu menjamin integritas informasi yang dipertukarkan antara website dan web browser. SSL dikembangkan oleh Netscape Communations pada tahun 1994. Ada beberapa versi SSL, versi 2 dan versi 3, tetapi versi 3 paling banyak digunakan saat ini.
Peran SSL
SSL mempunyai dua buah peran yang berbeda untuk di gunakan dalam komunikasi. Satu sistem selalu menjadi client, sementara system yang lain akan terus menjadi server. Perbedaan dari dua peran ini sangat penting, karena kelakuan dari setiap peran tersebut juga sangat berbeda. Client merupakan sistem yang menginisiasikan komunikasi yang aman, sementara server hanya merespon request dari client tersebut.
Untuk SSL sendiri, perbedaan yang paling penting dari client dan server adalah aksi yang mereka lakukan ketika negosiasi mengenai parameter keamanan. Ketika inisiasi komunikasi dilakukan oleh client, client mempunyai tanggung jawab untuk mengajukan sekumpulan pilihan SSL yang akan digunakan dalam pertukaran. Server hanya memilih dari pilihan yang disediakan oleh client, lalu memilih apa yang akan digunakan dalam kedua sistem ini.
ServerKeyExchange
Pesan ini mengandung ChiperSuite field pada ServerHello. Ketika ChiperSuite field mengindikasikan algoritma kriptografi dan ukuran kunci, pesan ini mengandung informasi kunci publiknya. ServerKeyExchange dikirim tanpa ada enkripsi, sehingga hanya informasi kunci publik yang dapat secara aman dikirimkan didalamnya.
ServerHelloDone
Pesan ini menyampaikan kepada Client bahwa server sudah menyelesaikan pesan inisial negosiasi. Pesan ini sendiri tidak mengandung informasi yang lain, tapi merupakan pesan yang penting bagi Client karena, jika Client telah menerima pesan ini maka Client dapat meneruskan ke fase berikutnya dalam membentuk komunikasi yang aman
ClientKeyExchange
Ketika server sudah menyelesaikan bagin inisiasi dari negosiasi SSL, Client akan merespon dengan pesan ClientKeyExchange. Seperti fungsi ServerKeyExchange pada server yang membawa informasi key untuk server, pesan ClientKeyExchange memberitahukan server kunci informasi yang dimiliki oleh Client. Dalam kasus ini, kunci informasi adalah untuk algoritma enkripsi simetris yang akan digunakan oleh kedua belash pihak dalam session.
Enkripsi melindungi kunci inforamasi ketika berada dalam jaringan, server tidak akan mungkin bisa untuk mendekripsikan pesan tersebut. Operasi ini merupakan perlindungan penting jika ada penyerang yang menahan pesan dari server yang sah dan berpura=pura menjadi server tersebut dengan meneruskan pesan ke Client yang tidak menyadari apapun.
ChangeCipherSpec
Setelah Client mengirimkan kunci inforamsi pada pesan ClientKeyExchange, persiapan negosiasi SSL sudah terpenuhi. Pada titik ini, kedua belah pihak sudah siap untuk mengguanakn pelayanan keamanan yang sudah dinegosiasikan tersebut. Protokol SSL mendefinisikan sebuah pesan ChangeCipherSpec yang mengindikasikan bahwa pelayanan keamanan sudah dapat dilaksanakan. Pesan ChangeCipherSpec disediakan sebagai penanda pada sebuah sistem untuk mulai menggunakan keamanan informasinya. 
Finished
Segera setelah mengakhiri pesan ChangeCipherSpec, setiap sistem juga mengirimkan pesan Finished. Pesan Finished membolehkan kedua belah pihak untuk memverifiaksi bahwa negosiasi telah berhasil dan keamanan belum dikompromikan. Ada dua aspek keamanan yang dikontribusikan dari pesan Finished ini, yaitu:
1. Pesan Finished merupakan sebuah subjek yang diperlukan pada saat negosiasi cipher.
Yang artinya enkripsi dan otentikasi bergantung padanya. Jika pihak penerima tidak berhasil mendekrip dan memverifikasi pesan, sudah tentu ada kejanggalan pada negosiasi keamanan.
2. Content dari pesan Finished juga mengandung kemampuan untuk melindungi keamanan pada saat negosiasi SSL. Setiap pesan Finished mengandung kriptografi hash dari informasi penting mengenai negosiasi yang baru saja selesai dilakukan. Ini melindungi dari penyerang yang menyerang dengan memasukkan pesan fiktif atau memindahkan pesan yang sah dari komuniakasi. Jikaseorang penyrang melakukannya, maka perhitungan kriptografi hash pada Client dan server akan berbeda maka akan mudah terdeteksi.
SSL Security Check List
Spesialis dari bidang keamanan telah banyak mempelajari hubungan antara SSL dengan aspek lain dari sistem yang mengimplementasikan SSL. Pada kenyataannya, walaupun tidak ada kecacatan dari segi keamanan yang diketahui pada protocol SSL, kelemahan lain dalam sistem yang menggunakan SSL, banyak ditemukan.
Isu Otentikasi
Otentikasi sepertinya berada pada bagian terbelakang dari enkripsi dalam diskusi keamanan, terutama dalam pemberitaan, dimana laporan dari pemecahan (cracking) algoritma kriptografi menerima ulasan utama. Otentikasi lebih penting daripada keamanan. Tidak ada sejumlah enkripsi yang dapat mencegah pihak yang tidak seharusnya mengirim kepada penyerang yang tidak terotentikasi sebuah kunci session. Meskipun menarik untuk melihatnya kembali, menentukan alamat isu otentikasi adalah penting dalam keamanan komunikasi.
Ada beberapa isu dari otentikasi SSL diselesaikan dengan sertifikat x.509. Walaubagaimanapun, beberapa isu otentikasi dikhusukan dengan SSL yang terpisah dari sertifikat kunci publik. Diantaranya adalah:

4.1.1 Otentikasi sertifikat
Otentikasi sertifikat atau yang dikenal dengan CA (Certificate Authority) ditandai dengan sertifikat x.509, dan semua penerapan SSL harus menetapkan apakah akan mempercayai CA sebagai peer dari komunikasi. Secara umum, penerapan membandingkan peer yang dimiliki oleh CA dengan internal list dari wewenang yang diketahui oleh penerapan sebagai yang ’dapat dipercaya’. Dengan pendekatan ini, sangat penting bagi penerapannya menggunakan kunci publik dari simpanan internal untuk memverifikasi sertifikat, daripada menggunakan kunci umum yang disediakan oleh sertifikat CA pada peer. Penyerang dapat membuat sertikat CA yang palsu yang sangat serupa dengan sertifikat CA yang sebenarnya dalam segala hal kecuali kunci umum, dengan menukarkan kunci umum disesuaikan dengan kunci pribadi yang dimiliki oleh penyerang. Hanya dengan mengembalikan kunci umum CA dari penyimapanan internal dapat diterapkan untuk mencegah serangan seperti ini. Jika penerapannya menetapkan untuk menyimpan list internal dari CA yang dipercaya, maka harus sangat hat-hati memikirkan caranya, jika tidak, penerapan tersebut akan memperbolehkan pengguna untuk mengupdate list tersebut.
 
Tandatangan Sertifikat
Hal ini sangat jelas, tapi hal ini sangat mudah ditinjau; sebuah penerapan SSL harus memvalidasi semua sertifikat yang diterimanya dengan memverifikasi tandatangan CA dengan yang dimiliki olehnya.
 
Waktu Valid Sertifikat
Semua penerapan SSL harus juga memerikas waktu valid dari semua sertifikat. Perioda validitas melibatkan waktu ”not before” dan ”not after”, keduanya harus di verifikasi.
 
Penarikan Kembali Status Sertifikat
Penerapan SSL yang beroperasi pada lingkungan yang mendukung penarikan sertifikat harus memeriksa status penarikan dari setiap sertifikat sebelum menerimanya. Sayangnya, tidak semua lingkungan mendukung penarikan kembali status dari sertifikat secara efektif. Dalam hal seperti ini, penerapan SSL mungkin akan menyediakan alternatif lain bagi pengguna, mungkin dengan membolehkan pengiriman list dari sertifikat yang sudah di tarik kembali secara manual.
 
Subjek Sertifikat
Implementasi tidak hanya memastikan bahwa sertifikat valid, namun juga memastikan bahwa sertifikat tersebut mensertifikasi pihak yang tepat. Penyerang dapat memperoleh sertifikat dari pihak pengeluar sertifikat yang berwenang, sehingga pemeriksaan apakah sertifikat yang dimiliki oleh user adalah sertifikat yang benar, sangat diperlukan.
Cara implementasi memverifikasi sertifikat untuk subjek yang tepat bergantung pada kebijakan dari pihak yang mengeluarkan sertifikat. Contoh: VeriSign Class 3 menempatkan nama host dari website yang tersertifikasi pada field commonName dari subjek sertifikat. Browser seperti Netscape Navigator atau Internet Explorer akan memeriksa field ini terhadap nama host yang dimasukkan user melalui URL.
 
Diffie-Hellman Trapdoors
Ketika implementasi SSL menggunakan metode pertukaran key Diffie-Hellman, server akan menspesifikasikan sekumpulan parameter Diffie-Hellman. Client yang mensupport metode ini harus memeriksa parameter yang diterima dari server. Client harus memastikan bahwa server telah memilih nilai yang akan mendukung keamanan yang memadai. 
Algoritma Rollback
Sebuah pesan ServerKeyExchange memungkinkan server SSL untuk mengirimkan informasi kunci publik kepada Client. Client perlu melakukan enkripsi terhadap rahasia premaster untuk server. Informasi kunci publik tersebut ditandatangani oleh server menggunakan kunci private yang berkorespondensi dengan kunci publik yang ada pada pesan sertifikat server. Algoritma kunci publik yang digunakan oleh Client tidak terspesifikasi secara eksplisit pada pesan ServerKeyExchange. Oleh karena itu informasi tesebut tidak ditandatangani oleh server. Hal ini dapat membuat protokol SSL rentan terhadap algoritma rollback attack.
Dalam algoritma rollback attack, penyerang memaksakan kedua belah pihak untuk memiliki pendapat yang berbeda dalam menentukan algoritma kunci publik yang digunakan untuk menandatangani rahasia premaster. Contohnya, Client mengira menggunakan algoritma RSA, sementara server mengira Diffie-Hellman. David Wagner dan Bruce Schneier menunjukkan bagaimana skenario ini dapat menghancurkan proteksi kriptografi. Jika penyerangan ini terjadi maka penyerang dapat membaca semua informasi yang mungkin atau membuat data palsu dengan mengatasnamakan salah satu pihak.
Agar terlindung dari algoritma rollback attack, implementasi Client SSL harus memverifikasi panjang dan jumlah parameter dari pesan ServerKeyExchange. Contohnya, RSA memiliki dua parameter sementara Diffie-Hellman menggunakan tiga parameter. Jika ada pesan yang diterima maka jumlah parameter harus diperiksa. Jika jumlah parameter tidak sama maka Client harus menolak session dan membangkitkan peringatan.
Dropped ChangeCipherSpec Messages
Protokol SSl tdak mengikutsertakan pesan ChangeChiperSpec pada kode autentikasi handshake yang dibawah oleh pesan finished. Pesan ChangeChiperSpec dihilangkan karena SSL tidak menganggap bahwa pesan ChangeChiperSpec adalah pesan protokol handshake. Penghilangan ini membuat implementasi SSL rentan terhadap serangan tertentu ketika implementasi menggunakan session authentication-only (tanpa enkripsi).
Untuk mengambil keuntungan terhadap kerentanan ini, penyerang akan menghapus pesan ChangeChiperSpec dari stream komunikasi. Kedua belah pihak (server dan Client) akan menerima pesan finished yang valid dan mulai melakukan pertukaran data tanpa pernah mengaktifkan chiper suite yang pernah dinegosiasikan (serangan ini tidak dapat dilakukan jika session menggunakan enkripsi. Pada kasus tersebut, pihak yang mengirim pesan finished akan mengenkripsi pesan tersebut, dan pihak yang menerima pesan finished, dengan melihat bahwa pesan ChangeChiperSpec tidak hilang, berharap bahwa pesan tersebut tidak terenkripsi).
Untungnya, penolakan terhadap serangan ini cukup mudah. Implementasi SSL seharusnya tidak akan menerima pesan finished yang tidak disertai dengan pesan ChangeChiperSpec.
 
Isu Enkripsi
SSL sangat efektif dalam menjaga kerahasiaan dari informasi. Hanya beberapa hal kecil saja yang dapat dipertimbangkan pada isu enkripsi ini, diantaranya adalah:
 
Ukuran key dari enkripsi
Kekuatan dari enkripsi yang ditawarkan oleh SSL merupakan isu yang penting. Kekuatan itu bergantung secara langsung dari ukuran kunci yang digunakan dari algoritma kriptografi simetrik, seperti RC4 dan DES. Secara teori, pengembang dapat menciptakan penerapan dari SSL dengan menggunakan panjang kunci yang cukup besar, dan implementasi yang seperti itu sudah pasti akan sulit dipecahkan.
 
Analisis Lalu Lintas
Penyerang dapat mempelajari banyak hal mengenai target yang akan diserang hanya dengan melakukan observasi mengenai lalu lintas dari dan menuju target tersebut, meskipun penyerang tidak dapat melakukan dekripsi informasinya. Analisis lalu lintas merupakan sebuah bentuk serangan yang sulit untuk dicegah apalagi di lingkungan yang terbuka seperti Internet.
Walau bagaimanapun, dalam setiap lingkungan, protokol SSL sendiri memperkenalkan analisis lalu lintas tambahan yang mudah diserang. Ketika SSL menggunakan stream cipher untuk melakukan enkripsi, ukuran dari hasil pesan yang di enkripsi tersebut dapat menunjukkan ukuran dari pesan yang belum di enkripsikan; penyerang hanya perlu mengurangi dengan ukuran kode pesan otentikasi. Namun demikian, kelemahan ini tidak muncul ketika enkripsi dilakukan dengan menggunakan block cipher, karena padding yang diterapkan pada block cipher telah secara efektif dapat menyembunyikan ukuran plaintext yang sebenarrnya. Implementasi SSL hanya memilih untuk mendukung enkripsi block cipher agar dapar mencegah serangan analisis lalu lintas.
Serangan Bleinchenbacher
Pada tahun 1998, Daniel Bleichenbacher, seorang peneliti dari Laboratorium Lucent Bell, melaporkan mengenai sebuah serangan terhadap protokol keamanan yang menggunakan enkripsi RSA, termasuk protol SSL. Serangan tersebut mengambil keuntungan dari cara algoritma enkripsi RSA menyandikan data sebelum melakukan enkripsi terhadapnya. Data sandi selalu dimulai dengan dua byte 00 dan 02.
Ada beberapa langkah yang dapat dilakukan dalam implementasi SSL untuk mengurangi dampak dari serangan ini. Diantaranya adalah dengan memeriksa dengan sangat teliti plaintext hasil dari dekripsi sebelum menerimanya sebagai hasil dekripsi yang valid.
Isu Umum
Masih banyak isu-isu lain yang tidak dapat dikategorikan sebagai isu otentikasi atau isu enkripsi. Isu-isu tersebut dapat dianggap sebagai isu umum,diantaranya adalah:

 
Ukuran Kunci RSA
Sebagian besar dari penerapan SSL adalah dengan menggunakan algoritma enkripsi RSA untuk digital signature dan enkripsi kunci public. Kekuatan dari algoritma RSA ini bergantung dengan ukuran kunci public dari RSA. Semakin panjang kunci, semakin aman implementasinya.
 
Versi Serangan Rollback
SSL versi 3.0 memperkanalkan banyak peningkatan daripada versi 2.0, termasuk peningkatan dalam hal keamanan protokol. Spesifikasi SSL menetapkan pendekatan yang sangat spesifik untuk melindungi dari serangan yang memaksa versi rollback. Meskipun demikian, ada satu area yang tidak ditetapkan dalam spesifikasi, yaitu pembukaan kembali session yang sebelumnya. Secara sepintas, penerapan SSL membolehkan sebuah session yang sebelumnya di bentuk dengan menggunakan versi 3.0 untuk dilanjutkan dengan menggunakan versi 2.0. Hati-hati dengan penerapannya, jangan membolehkan perilaku ini. Jika sebuah session terbentuk dengan menggunakan versi 3.0, maka penerapannya harus memastikan bahwa semua usaha untuk melanjutkan session harus tetap menggunakan versi 3.0.
 
Pengkahiran yang Belum Pada Waktunya
Ancaman dari serangan pemotongan berdasarkan pada pengakhiran yang belum pada waktunya dari sebuah session SSL merupakan salah satu isu keamanan umum. Jika seorang penyerang dapat menghapus pesan pada protokol ketika sedang terkirim, penyerang itu dapat membuat skenario dimana satu atau dua pihak yang saling berkomunikasi hanya menerima sebagian informasi. Jika informasi yang hilang sangat penting dalam komunikasi, penyerang dapat membahayakan keamanan secara keseluruhan dari pertukaran. Protokol SSL menyediakan pesan ClosureAlert untuk melindungi dari serang yang bertipe seperti ini. Sayangnya, tidak semua lingkungan dapat bergantung pada ClosureAlert. Pengguna web browsing contohnya, hanya dengan mematikan komputer mereka setelah menyelesaikan transaksi, sebelum komputer tersebut sempat mengirimkan pesan ClosureAlert. Perlindungan yang lebih baik jika aplikasi yang menggunakan keamanan SSL lebih teliti dalam menangani kemungkinan terjadinya pengakhiran yang belum pada waktunya.
Nilai ID dari Session
Spesifikasi SSL memberikan server fleksibilitas secara lengkap dalam memilih nilai ID dari session. Dalam membuat pemilihan, server harus dengan hati-hati menerapkan dengan tidak mengikutsertakan informasi yang penting. Nilai ID dari session ditransfer dalam pesan ClientHello dan ServerHello sebelum enkripsi di aktifkan. Nilainya akan sangat terbuka untuk dilihat oleh penyerang.
Generasi Nomer Acak
Nomer acak merupakan operasi yang cukup penting dalam SSL. Nomer acak dipertukarkan pada pesan ClientHello dan ServerHello sangat menunjukkan kunci dari enkripsi pada session. Nomer acak, bagaimanapun juga, memberikan tantangan menarik bagi sistem komputer, perangkat lunak tidak dapat melakukan apapun secara acak. Penerapan dari perangkat lunak hanya bergantung ke algoritma yang dikenal sebagai pseudorandom number generators. Algoritma ini mensimulasikan pengacakan secara sebenarnya dengan perhitungan matematik.
Ada dua buah masalah yang ada pada pseudorandom number generators yang harus dipikirkan SSL dan penerapan dari keamanan yang lain. Masalah yang pertama adalah keefektifan dari algoritmanya sendiri. Kebanyakan dari library perangkat lunak membangkitkan pesudorandum number dengan menggunakan algoritma linear congruential generator. Meskipun algoritma seperti diatas dapat menjadi pseudorandom number generators yang efektif, algoritma tersebut juga bisa menjadi kurang efektif. Ditambah lagi, banyak pengembang yang mencari pembuktian pada algoritma dasar dengan cara yang diperoleh, pada kenyataanya, malah menbawa malapetaka.
Masalah yang lebih serius dengan linear congruential generators adalah mereka sequential , dan dapat diprediksikan secara lengkap. Jika parameter dari algoritma diketahui dan satu dari nilai yang spesifik, sangat mudah untuk memprediksikan semua nilai dimasa yang akan datang yang akan dibangkitkan oleh algoritma. Nomer acak yang dapat diprediksi merupakan masalah yang serius bagi sebuah protokol keamanan., seperti mereka mengizinkan penyerang untuk merencanakan dan menyiapkan diri meraka dengan baik untuk menyerang, menunggu mungkin sebuah nilai yang membahayakan untuk mucul. Penerapan SSL bagaimanapun harus sangat berhati-hati. Apalagi dengan penggunaan library pseudorandom number generators. Standard algoritma kriptografi termasuk enkripsi dan algoritma hash dapat dimodifikasi untuk menyediakan nomer acak yang efektif. 
Benih Nomer Acak
Tanpa menghiraukan penerapan algoritma yang digunakan untuk pembangkitan nomer acak, penerapan pada umumnya harus menyediakan algoritma tersebut dengan inisiasi titik mulai atau benih. Dalam aplikasi selain daripada keamanan, kebutuhan utama dari titik mulai ini adalah ia akan berbeda setiap kali pembangkitan dilakukan. Dalam aplikasi keamanan, titik mulai yang dimaksud tidak saja harus acak, tapi juga tidak dapat diprediksi. 
Hacking yang Aman Melalui SSL
Dalam hal pendeteksi gangguan pada IDS (Intrusion Detection Sytem), yang merupakan system pendeteksi gangguan, SSL merupakan halangan terbesar. Kebanyakan IDS berpedoman pada paket sniffing jaringan untuk mengumpulkan aktivitas data. Jika itu sendiri terenkripsi, maka tidak bisa dianalisis untuk bisa menentukan apakah aktivitas itu mencurigakan atau tidak.. Semua IDS yang berdasar pada paket sniffing pasti akan mengabaikan serangan yang lewat pada SSL. Gambar 11 menggambarkan bagaimana IDS tidak efektif melawan serangan melalui jalur SSL.
Dekripsi SSL
Dalam hubungannya dengan pendeteksian gangguan pada lalu lintas Web, SSL menjadi rintangan yang terbesar. Jika menggunakan IDS, yang diharapkan menjadi penengah yang menangkap lalu lintas jaringan sebelum mencapai titik akhir dan menganalisis apakah ada signature yang berisi serangan, dan SSL yang didesain dengan tujuan untuk menemukan apakah ada penangkapan lalu lintas data yang tidak efektif, maka mendesain IDS yang bisa mengolah SSL merupakan latihan yang bsia mengalahkan tujuan utama dari SSL itu sendiri.
Tetapi, seperti yang telah disebutkan sebelumnya, menerapkan IDS dengan setifikat dan kunci privat SSL dari sisi server untuk menjalankan dekripsi SSL atau untuk menerapkan reverse HTTP proxy yang bisa mendekripsikan lalu lintas SSL kemudian melewatkannya ke Web server backend. Pada situasi selanjutnya, IDS bisa diposisikan diantara reverse HPPT proxy dan web server beckend.
Daftar Pustaka
[01] Stuart McClure, Web Hacking Serangan dan Pertahanannya, Penerbit ANDI Yogyakarta
[02] Munir Rinaldi, Diktat Kuliah IF5054 Kriptografi, Program Studi Teknik Informatika
[03] Stephen Thomas, SSL and TSL Essential Securing the Web, Wiley Computing Publishing
[04] Bruce Schneier. Applied Cryptography Second Edition. John Wiley and Sons, Inc., 1996
Beda antar Shared hosting, VPS, Dedicated Server, dan Co-Location
 

Diantara beberapa istilah diatas  tentunya ada diantara beberapa dari kita yang masih asing. berikut ini adalah pembahasannya :
A. Shared Hosting
     Shared hosting adalah layanan hosting di mana sebuah account hosting ditaruh bersama-sama beberapa account hosting lain dalam satu server yang sama, dan memakai services bersama-sama. Keuntungan shared hosting adalah harganya yang murah, namun kerugiannya adalah tingkat privasi dan performa yang tidak sebaik hosting dedicated.
B. VPS
     Virtual Private Server atau VPS adalah sebuah metode untik mempartisi atau membagi sumber daya / resource sebuah server menjadi beberapa server virtual. Server virtual tersebut memiliki kemampuan menjalankan operating system sendiri seperti layaknya sebuah server. Bahkan Anda dapat me-reboot sebuah server virtual secara terpisah (tidak harus mem-reboot server utama).
Dalam sebuah VPS, resource server yang alokasikan adalah meliputi CPU Core, CPU Usage, RAM, dan Storage atau ruang penyimpananan.
    Teknologi yang digunakan dalam layanan VPS tersebut adalah teknologi virtualisasi. Rumahweb memilih untuk menggunakan platform teknologi virtualisasi XEN Hypervisor karena XEN Hypervisor dipandang unggul dibandingkan teknologi virtualisasi yang lain di antaranya karena :
  • XEN memiliki Swap Space seperti halnya server linux biasa
  • Kontrol yang lebih besar terhadap VPS, diantaranya Anda dapat mengkonfigurasi firewall / iptables secara fleksibel
  • Loadable Kernel Modules
  • Akses ke console untuk troubleshooting
Dalam teknologi hosting, fitur - fitur VPS yang seperti layaknya sebuah dedicated server menjadikannya teknologi perantara yang paling fleksibel antara shared hosting dan dedicated server.
C. Dedicated Server
     Dedicated Server adalah solusi web hosting terbaik bagi situs-situs web yang membutuhkan power besar serta privacy tinggi dimana data-data situs web dan email Anda akan ditempatkan di server khusus.
    Melalui dedicated server ini, situs web Anda tidak akan berbagi resources dengan situs-situs web lain dan memiliki kebebasan dalam hal pengaturan user, process, dan file system sehingga kinerja situs web Anda menjadi sangat optimal dan cepat untuk diakses.
    Beberapa contoh situs web yang membutuhkan paket ini diantaranya situs web forum online, situs web perusahaan yang menyimpan data-data yang bersifat rahasia, situs portal dan situs-situs web yang pengunjungnya mencapai ribuan orang perharinya.
    Adapun fitur-fitur utama dari Paket Dedicated Server kami adalah:
  • Anda bebas memilih server di dua data center, Indonesia atau USA.
  • Menggunakan hardware terpilih sehingga menjamin kinerja server yang optimal
  • Pergantian gratis jika ada hardware yang rusak.
  • Penggunaan WHM/Cpanel sebagai control panel manajemen server dan klien
  • Minimum 3 Public IP Address
  • Konektifitas ke berbagai backbone Internet: IIX, AboveNet, dll
  • Dukungan Teknis Melalui helpdesk, telepon, email dan Yahoo! Messanger.
   Khusus untuk data center di Jakarta (IIX) kami menyediakan pula Paket Colocation dimana Anda menyediakan hardware server sendiri sesuai dengan kebutuhan sendiri.
Silahkan hubungi kami untuk informasi selengkapnya.
D. Co-Location



       yaitu penempatan beberapa perangkat yang dimipki oleh sebuah perusahaan atau group pada suatu tempat penyedia jasa atau sering disebut dengan Internet Service Provider (ISP) sehingga pelanggan dapat mengatur dan menginstall software-software yang diperlukan untuk kegiatan usahanya. Colocation adalah cara yang papng mendekati keadaan seolah-olah memipki staff atau bagian yang mengelola servernya sendiri dalam rangka untuk mempermudahkan akses secara luas di dunia maya, sehingga dengan kata lain colocation adalah layanan penyewaan tempat untuk meletakkan server .
 
 

Tugas 2

Ini adalah beberapa negara yang mempunyai layanan penyedia hosting :
a. Jerman (urutan keeneam di dunia) dengan nama sedoparking.com
b. Italia (urutan keduapuluh delapan di dunia) dengan nama Aruba.it
c. Kanada (urutan keduapuluh empat) dengan nama mdnsservice.com

Kapan ya indonesia masuk dalam urutan top 10 penyedia domain? ;-)

Selasa, 20 September 2011

Linear Programing

LINEAR PROGRAMMING
Formulasi Model LP
Masalah keputusan yang biasa dihadapi para analis adalah alokasi optimum sumber daya yang langka. Sumber daya dapat berupa modal, tenaga kerja, bahan mentah, kapasitas mesin, waktu, ruangan atau teknologi. Rugas analis adalah mencapai hasil terbaik yang mungkin dengan keterbatasan sumber daya ini. Hasil yang diinginkan mungkin ditunjukkan sebagai maksimasi dari beberapa ukuran seperti profit, penjualan dan kesejahteraan, atau minimasi seperti biaya, waktu dan jarak.
Setelah masalah diidentifikasikan, tujuan diterapkan, langkah selanjutnya adalah formulasi model matematik yang meliputi tiga tahap :
1. Menentukan variabel yang tak diketahui (variabel keputusan) dan menyatakan dalam simbol matematik
2. Membentuk fungsi tujuan yang ditunjukkan sebagai suatu hubungan linier (bukan perkalian) dari variabel keputusan
3. Menentukan semua kendala masalah tersebut dan mengekspresikan dalam persamaan dan pertidaksamaan yang juga merupakan hubungan linier dari variabel keputusan yang mencerminkan keterbatasan sumberdaya masalah itu
Pembentukan model bukanlah suatu ilmu pengetahuan tetapi lebih bersifat seni dan akan menjadi dimengerti terutama karena praktek.
Contoh 1 : Masalah Kombinasi Produk
Sebuah perusahaan ingin menentukan berapa banyak masing-masing dari tiga produk yang berbeda yang akan dihasilkan dengan tersedianya sumber daya yang terbatas agar diperoleh keuntungan maksimum. Kebutuhan buruh dan bahan mentah dan sumbangan keuntungan masing-masing produk adalah sebagai berikut :
Kebutuhan Sumber Daya
Produk
Buruh (jam/unit)
Bahan (kg/unit)
Keuntungan
(Rp/unit)
A
5
4
3
B
2
6
5
C
4
3
2
Tersedia 240 jam kerja dan bahan mentah sebanyak 400 Kg. Masalahnya adalah menentukan jumlah masing-masing produk agar keuntungan maksimum. Rumusan model LP-nya adalah :
A. Variabel Keputusan
Tiga variabel dalam masalah ini adalah produk A, B dan C yang harus dihasilkan. Jumlah ini dapat dilambangkan sebagai :
X1 = jumlah produk A
X2 = jumlah produk B
X3 = jumlah produk C
B. Fungsi tujuan
Tujuan masalah kombinasi produk adalah memaksimumkan keuntungan total. Jelas bahwa keuntungan adalah jumlah keuntungan yang diperoleh dari masing-masing produk. Keuntungan dari produk A adalah perkalian antara jumlah produk A dengan keuntungan per unit (Rp 3,-). Keuntungan produk B dan C ditentukan dengan cara serupa. Sehingga keuntungan total Z, dapat ditulis :
Z = 3 X1 + 5 X2 + 2 X3
C. Sistem kendala
Dalam masalah ini kendalanya adalah jumlah buruh dan bahan mentah yang terbatas. Masing-masing produk membutuhkan baik buruh maupun bahan mentah. Produk A, buruh yang dibutuhkan untuk menghasilkan tiap unit adalah 5 jam, sehingga buruh yang dibutuhkan untuk produk A adalah 5 X1 jam. Dengan cara yang serupa produk B membutuhkan 2 X2 jam buruh, dan produk C butuh 4 X3 jam, sementara jumlah jam buruh yang tersedia adalah 240 jam. Sehingga dapat ditulis :
5 X1 + 2 X2 + 4 X3 ≤ 240
Kendala bahan mentah dirumuskan dengan cara yang sama, yaitu untuk produk A butuh bahan mentah sebanyak 4 kg per unit, produk B membutuhkan 6 kg per unit dan produk C butuh 3 kg per unit. Karena yang tersedia adalah sebanyak 400 kg bahan mentah, maka dapat ditulis :
4 X1 + 6 X2 + 3 X3 ≤ 400
Kita juga membatsi masing-masing variabel hanya pada nilai positif, karena tidak mungkin untuk menghasilkan jumlah produk negatif. Kendala-kendala ini dikenal dengan non negativity constraints dan secara matematis dapat ditulis :
X1 ≥ 0, X2 ≥ 0, X3 ≥ 0 atau X1, X2, X3 ≥ 0
Pertanyaan yang timbul adalah mengapa kendala dituliskan dengan tanda pertidak-samaan ( ≤ ), bukannya persamaan ( = ). Persamaan secara tidak langsung mengatakan bahwa seluruh kapasitas sumber daya digunakan, sementara dalam pertidaksamaan memperbolehkan penggunaan kapasitas secara penuh maupun penggunaan sebagian kapasitas. Dalam beberapa kasus suatu solusi dengan mengizinkan adanya kapasitas sumberdaya yang tak terpakai akan memberikan solusi yang lebih baik, yang berarti keuntungan lebih besar, dari pada penggunaan seluruh sumber daya. Jadi, pertidaksamaan menunjukkan keluwesan.
Dari masalah diatas, formulasi LP secara lengkap dapat ditulis :
Maksimumkan Z = 3 X1 + 5 X2 + 2 X3
Dengan syarat 5 X1 + 2 X2 + 4 X3 ≤ 240
4 X1 + 6 X2 + 3 X3 ≤ 400
X1, X2, X3 ≥
0
Contoh 2 : Masalah Diet
Untuk menjaga kesehatan, seseorang harus memenuhi kebutuhan minimum perhari akan beberapa zat makanan. Misalkan hanya ada tiga jenis zat makanan yang dibutuhkan yaitu kalsium, protein, dan vitamin A. Sementara makanan yang tersedia ada tiga jenis juga yaitu, makanan A, B dan C yang harganya, zat-zat yang tekandung didalamnya, dan kebutuhan minimum perhari akan zat-zat makanan tersebut dapat dilihat pada tabel berikut :
Makanan
Kandungan
I
II
III
Kebutuhan
minimum
Kalsium
5
1
0
8
Protein
2
2
1
12
Vitamin A
1
5
4
22
Harga/unit
0,5
0,8
0,6
Masalahnya adalah bagaimana kombinasi ketiga jenis makanan itu akan memenuhi kebutuhan minimum perhari dan memberikan biaya terendah.
A. Variabel keputusan
Masalah ini terdiri dari tiga variabel yang menunjukkan jumlah masing-masing jenis makanan yang ditempatkan dalam menu, yaitu :
X1 = jumlah makanan A
X2 = jumlah makanan B
X3 = jumlah makanan C
B. Fungsi tujuan
Tujuan masalah ini adalah meminimumkan biaya total menu perhari. Biaya total dalam konteks ini adalah jumlah biaya dari masing-masing jenis makanan yang disajikan dalam menu. Sehingga biaya total, Z, ditulis :
Z = 0,5 X1 + 0,8 X2 + 0,6 X3
C. Sistem kendala
Dalam masalah ini, kendalanya adalah kebutuhan minimum akan zat-zat makanan perhari yang telah ditetapkan. Kendala untuk kalsium ditulis :
5 X1 + X2 ≥ 8
5 X1 adalah sumbangan kalsium dari makanan A
X2 adalah sumbangan kalsium dari makanan B
Pada contoh ini digunakan pertidaksamaan “≥” yang menunjukkan jumlah minimum kalsium yang dibutuhkan. Dengan kata lain, sekurang-kurangnya 8 unit kalsium harus dipenuhi.
Kendala untuk protein dan vitamin A dibuat dengan cara yang sama, yaitu :
2 X1 + 2 X2 + X3 ≥ 10 Protein
X1 + 5 X2 + 4 X3 ≥ 22 Vitamin A
Masalah LP secara lengkap dapat ditulis :
Minimumkan Z = 0,5 X1 + 0,8 X2 + 0,6 X3
Dengan syarat 5 X1 + X2 ≥ 8
2 X1 + 2 X2 + X3 ≥ 10
X1 + 5 X2 + 4 X3 ≥ 22
X1 , X2 , X3 ≥ 0
BENTUK UMUM MODEL LP
Dari contoh yang sudah ditulis diatas secara mendalam terlihat adanya suatu pola yang khas untuk merumuskan secara umum suatu masalah LP. Pada setiap masalah, ditentukan variabel keputusan, fungsi tujuan, dan sistem kendala, yang bersama-sama membentuk suatu model matematik dari dunia nyata. Bentuk umum model LP itu adalah :
Σ=
nijMaksimumkan (minimumkan) Z = c
j xj
Dengan syarat : aij xj (≤ , = , ≥) bi , untuk semua i (i = 1, 2, …m) semua xj ≥ 0
Keterangan :
xj : banyaknya kegiatan j, dimana j = 1, 2, …n, yang berarti terdapat n variabel keputusan
Z : nilai fungsi tujuan
cj : sumbangan per unit kegiatan j, untuk masalah maksimasi cj menunjukkan atau penerimaan per unit, sementara dalam kasus minimasi ia menunjukkan biaya per unit.
bi : jumlah sumberdaya ke i (i = 1, 2, …m), berarti terdapat m jenis sumberdaya.
xij : banyaknya sumberdaya i yang dikonsumsi sumberdaya j.
Yang perlu diingat adalah tanda pertidaksamaan tidak harus sama untuk setiap kendala !
ASUMSI MODEL LP
Model LP mengandung asumsi-asumsi implisit tertentu yang harus dipenuhi agar definisinya sebagai suatu masalah LP menjadi absah. Asumsi itu menuntut bahwa hubungan fungsional dalam masalah itu adalah linier dan additif, dapat dibagi dan deterministik.
Linearity dan Additivity
Bahwa fungsi tujuan dan semua kendala harus linier. Dengan kata lain, jika suatu kendala melibatkan dua variabel keputusan, dalam diagram dimensi dua ia akan
berupa garis lurus. Begitu juga, suatu kendala yang melibatkan tiga variabel akan menghasilkan suatu bidang datar dan kendala yang melibatkan n variabel akan menghasilkan hyperplane (bentuk geometris yang rata) dalam ruang berdimensi n.
Kata linier secara tidak langsung mengatakan bahwa hubungannya proporsional yang berarti bahwa tingkat perubahan atau kemiringan hubungan fungsional itu adalah konstan dan karena itu perubahan nilai variabel akan mengakibatkan perubahan relatif nilai fungsi tujuan dalam jumlah yang sama.
LP juga mensyaratkan bahwa umlah variabel kriteria dan jumlah penggunaan sumber daya harus bersifat additif. Contohnya, keuntungan total Z yang merupakan variabel kriteria, sama dengan jumlah keuntungan yang diperoleh dari masing-masing kegiatan, cj xj. Juga, seluruh sumber daya yang digunakan untuk seluruh kegiatan, harus sama dengan jumlah sumber daya yang digunakan untuk masing-masing kegiatan.
Additif dapat diartikan sebagai tak adanya penyesuaian pada perhitungan variabel kriteria karena terjadinya interaksi. Contohnya, dalam masalah kombinasi produk disebutkan bahwa keuntungan per unit produk A Rp 3,- ,produk B Rp 5,- , dan produk C Rp 2,-. Jika masing-masing produk dijual secara terpisah. Tetapi bisa jadi, kalau dijual secara serentak pada daerah yang sama dapat menyebabkan penurunan keuntungan, sehingga perlu memasukkan penyesuaian interaksi ke dalam variabel kriteria, misalnya saja menjadi :
Z = 3 X1 + 5 X2 + 2 X3 - X1 X2 X3
Model terakhir ini adalah tidak linier, dan metode LP tak dapat menangani masalah demikian !.
Divisibility
Asumsi ini berarti bahwa nilai solusi yang diperoleh Xj , tidak harus bilangan bulat. Ini berarti nilai Xj dapat berupa nilai pecah. Karena itu variabel keputusan merupakan variabel kontinyu, sebagai lawan dari variabel diskrit atau bilangan bulat.
Deterministic
Semua parameter model (cj, aij dan bi) diasumsikan diketahui konstan. LP secara tak langsung mengasumsikan suatu masalah keputusan dalam suatu kerangka statis dimana semua parameter diketahui dengan kepastian. Dalam kenyataannya, parameter model jarang bersifat deterministik, karena mereka mencerminkan kondisi masa depan maupun sekarang, dan keadaan masa depan jarang diketahui secara pasti.
Ada beberapa cara untuk mengatasi ketidakpastian parameter dalam model LP. Analisa sensitivitas adalah suatu teknik yang dikembangkan untuk menguji nilai solusi, bagaimana kepekaannya terhadap perubahan-perubahan parameter.
PENYELESAIAN GRAFIK MODEL LP
Masalah LP dapat diilustrasikan dan dipecahkan secara grafik jika ia hanya memiliki dua variabel keputusan. Meski masalah-masalah dengan dua variabel jarang terjadi dalam dunia nyata, penafsiran geametris dari metode grafik ini sangat bermanfaat. Dari
sini, kita dapat menarik kesimpulan yang akan menjadi dasar untuk pembentukan metode pemecahan (solusi) yang umum melalui algoritma simpleks.
Contoh 3 : Kombinasi produksi
Sumber daya
Prod.1
Prod.2
Sumber daya
Yang tersedia
Bahan mentah
1
2
10
Buruh
6
6
36
Keuntungan/unit
4
5
Disamping itu, menurut bagian penjualan diramalkan, bahwa permintaan produk 1 tidak akan melebihi 4 unit.
Masalah contoh 3 dapat dirumuskan :
Maksimumkan Z = 4 X1 + 5 X2
Dengan syarat X1 + 2 X2 ≤ 10
6 X1 + 6 X2 ≤ 36
X1 ≤ 4
X1 , X2 ≥ 0
Suatu cara sederhana untuk menggambarkan masing-masing persamaan garis adalah dengan menetapkan salah satu variabel dalam suatu persamaan sama dengan nol dan kemudian mencari nilai variabel yang lain. Misalnya pada kendala pertama jika X1 = 0, maka 5 X2 = 10 atau X2 = 5. Dengan cara yang sama X2 = 0, maka X1 = 10. Kedua titik ini {(0,5) dan (10,0)} kemudian dihubungkan dengan suatu garis lurus.
X2
X1
2
8
10
6
0
2
6
8
10
6X1 + 6X2 ≤ 36
X1 + 2X2 ≤ 10
B
A
Z = 28
C
D
E
X1 ≤ 4
Suatu daerah yang secara bersamaan memenuhi ketiga kendala ditunjukkan oleh area yang diarsir yaitu area ABCDE pada gambar grafik. Wilayah ini dinamakan solusi layak atau ruang solusi. Sementara itu, pasangan nilai-nilai (X1 , X2) di luar daerah ini bukan merupakan solusi layak, karena menyimpang dari satu atau lebih kendala.
Sementara hasil optimal Z dapat ditunjukkan pada titik terluar pada daerah solusi layak. Ada dua hal yang perlu diperhatikan, kaitannya dengan fungsi tujuan yaitu :
1. Semua garis Z adalah sejajar, atau memiliki kemiringan yang sama sebesar - 4/5 yang diperoleh melalui perhitungan berikut : X2 = Z/5 – (4/5) X1
2. Garis Z adalah garis-garis sejajar dalam jumlah tak terbatas.