RSS

Artikel Modern

PERKEMBANGAN KOMPUTASI MODERN

1. Definisi Komputasi

Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer. Komputasi yang menggunakan komputer inilah yang disebut dengan komputasi modern. Komputasi modern menghitung dan mencari solusi dari masalah yang ada. Yang menjadi perhitungan dari komputasi modern adalah sebagai berikut :

1. Akurasi (bit, floating point)

2. Kecepatan (dalam satuan Hz)

3. Problem volume besar (down sizing atau pararel)

4. Modeling (NN dan GA)

5. Kompleksitas (menggunakan teori Big O)

Jadi dapat disimpulkan bahwa “Komputasi Modern ialah suatu aktifitas untuk menemukan pemecahan permasalahan dengan suatu algoritma dengan menggunakan hardware dan software yang terbaru”

2. John Von Neumann, Sang Penggagas Komputasi Modern

Komputasi bisa diartikan sebagai cara untuk menyelesaikan sebuah masalah dari
inputan data dengan menggunakan algoritma.Teknologi komputasi adalah aktivitas penggunaan dan pengembangan teknologi komputer, perangkat keras, dan perangkat lunak komputer. Ia merupakan bagian spesifik komputer dari teknologi informasi. Konsep dasar arsitektur komputer modern adalah konsep sebuah sistem yang menerima intruksi-intruksi dan menyimpannya dalam sebuah memory. Konsep ini pertama kali digagasi oleh John Von Neumann. Beliau di lahirkan di Budapest, ibukota Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Karya – karya yang dihasilkan adalah karya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos pada Perang Dunia II lalu. Kepiawaian John Von Neumann teletak pada bidang teori game yang melahirkan konsep automata, teknologi bom atom dan komputasi modern yang kemudian melahirkan komputer.Pengertian Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Komputasi merupakan suatu sub-bidang dari ilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer. Komputasi yang menggunakan komputer inilah yang disebut dengan Komputasi Modern. Komputasi modern menghitung dan mencari solusi dari masalah yang ada, yang menjadi perhitungan dari komputasi modern adalah : 1. Akurasi (bit, Floating poin) 2. Kecepatan (Dalam satuan Hz) 3. Problem volume besar (Down sizing atau paralel) 4. Modeling (NN dan GA) 5. Kompleksitas (Menggunakan teori Big O).

John von Neumann (1903-1957) adalah ilmuan yang meletakkan dasar-dasar komputer modern. Dalam hidupnya yang singkat, Von Neumann telah menjadi ilmuwan besar abad 21. Von Neumann meningkatkan karya-karyanya dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer. Beliau juga merupakan salah seorang ilmuwan yang sangat berpengaruh dalam pembuatan bom atom di Los Alamos

pada Perang Dunia II lalu.Von Neumann dilahirkan di Budapest, Hungaria pada 28 Desember 1903 dengan nama Neumann Janos. Dia adalah anak pertama dari pasangan Neumann Miksa dan Kann Margit. Di sana, nama keluarga diletakkan di depan nama asli. Sehingga dalam bahasa Inggris, nama orang tuanya menjadi Max Neumann. Pada saat Max Neumann memperoleh gelar, maka namanya berubah menjadi Von Neumann. Setelah bergelar doktor dalam ilmu hukum, dia menjadi pengacara untuk sebuah bank. Pada tahun 1903, Budapest terkenal sebagai tempat lahirnya para manusia genius dari bidang sains, penulis,seniman dan musisi.
Von Neumann juga belajar di Berlin dan Zurich dan mendapatkan diploma pada bidang teknik kimia pada tahun 1926. Pada tahun yang sama dia mendapatkan gelar doktor pada bidang matematika dari Universitas Budapest. Keahlian Von Neumann terletak pada bidang teori game yang melahirkan konsep seluler automata, teknologi bom atom, dan komputasi modern yang kemudian melahirkan komputer. Kegeniusannya dalam matematika telah terlihat semenjak kecil dengan mampu melakukan pembagian bilangan delapan digit (angka) di dalam kepalanya.Setelah mengajar di Berlin dan Hamburg, Von Neumann pindah ke Amerika pada tahun 1930 dan bekerja di Universitas Princeton serta menjadi salah satu pendiri Institute for AdvancedStudies.Dipicu ketertarikannya pada hidrodinamika dan kesulitan penyelesaian persamaan diferensial parsial nonlinier yang digunakan, Von Neumann kemudian beralih dalam bidang komputasi. Sebagai konsultan pada pengembangan ENIAC, dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

3. Sejarah Komputasi

Penggunaan pertama dari kata “komputer” dicatat pada 1613, mengacu pada seseorang yang melakukan perhitungan, atau perhitungan, dan kata terus digunakan dalam pengertian itu sampai pertengahan abad ke-20. Dari akhir abad ke-19 dan seterusnya. Namun, kata mulai mengambil makna yang lebih akrab, menggambarkan sebuah mesin yang melakukan perhitungan.

Sejarah komputer modern dimulai dengan dua teknologi yang terpisah –perhitungan otomatis dan permrograman– tapi tidak ada satu perangkat yang dapat diidentifikasi sebagai komputer yang paling awal, sebagian karena penerapan yang tidak konsisten istilah tersebut. Contoh awal perangkat penghitung mekanis termasuk sempoa, slide aturan dan agrueable astrolabe dan mekanisme antikythera (yang berasal dari sekitar 150-100 SM). Pahlawan Iskandariyah (sekitar 10-70 AD) membangun sebuah teater mekanis yang digelar sebuah drama yang berlangsung 10 menit dan dioperasikan oleh sebuah sistem yang kompleks tali dan drum yang mungkin dianggap sebagai sarana untuk memutuskan bagian mana dari mekanisme yang dilakukan tindakan dan kapan. ini adalah inti dari kemampuan pemrograman.

“Jam benteng (castle clock)”, sebuah jam astronomi yang ditemukan oleh Al-Jazari pada 1206, dianggap paling awal komputer analog yang dapat diprogram. menampilkan zodiak, matahari dan bulan mengorbit, yang berbentuk bulan sabit pointer untuk melakukan perjalanan di sebuah gateway menyebabkan pintu otomatis untuk membuka setiap jam, dan lima robot musisi yang memainkan musik ketika diserang oleh tuas yang dioperasikan oleh Camshaft menempel pada roda air. Sepanjang siang dan malam bisa kembali diprogram untuk mengimbangi perubahan
panjang siang dan malam sepanjang tahun.

Renaissance melihat invigoration ulang dari matematika dan teknik orang Eropa. 1623 perangkat Wilhelm Schickard’s merupakan yang pertama dari sejumlah kalkulator mekanik european dibangun oleh insinyur, tetapi tidak ada yang sesuai dengan definisi modern dari sebuah komputer, karena mereka tidak bisa diprogram. pada tahun 1801, Joseph Marie Jacquard membuat perbaikan untuk tekstil alat tenun dengan memperkenalkan serangkaian menekan kartu kertas sebagai template yang membiarkan alat tenun menenun secara otomatis pola-pola rumit. Alat tenun Jacquard yang dihasilkan merupakan langkah penting dalam pengembangan komputer karena penggunaan kartu menekan untuk menentukan pola-pola anyaman dapat dilihat sebagai suatu awal, meskipun terbatas bentuk kemampuan pemrogramannya.

Komputasi modern terdiri dari dua kata yaitu komputasi dan modern untuk Komputasi dapat diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Dan disebut modern karena menggunakan alat canggih saat menyelesaian masalah. Maka dapat di simpulkan Komputasi modern adalah perhitungan yang menggunakan computer canggih dimana pada computer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien. Komputasi modern digunakan untuk memecahkan masalah antara lain untuk menghitung:

  1. Akurasi(big,Floatingpoint)
    Akurasi tentu merupakan masalah yang paling penting dalam memecahkan masalah. Karena itu pada komputasi modern dilakukan perhitungan bagaimana bisa menghasilkan suatu jawaban yang akurat dari sebuah masalah. Tentu kita pernah mendengar tipe data floating point yang biasa digunakan untuk menyimpan data numerik dalam bentuk pecahan. Tipe data tersebut memiliki range penyimpanan numerik yang besar, sehingga dapat digunakan oleh komputer untuk melakukan komputasi yang akurat.
  2. Kecepatan(dalamsatuanHz)
    Manusia pasti menginginkan masalah dapat diselesaikan dengan cepta. Karena itu perhitungan masalah kecepeatan adalah suatu hal yang penting. Komputasi harus dapat dilakukan dalam waktu yang cepat ketika mengolah suatu data. Sehingga perlu metode kecepatan untuk mengolah perhitungan dalam waktu singkat.
  3. ProblemVolumeBesar(DownSizzingatauparalel)
    Data yang besar tentu membutuhkan suatu cara penyelesaian yang khusus. Karena data yang besar dapat menjadi masalah jika ada yang terlewatkan. Oleh karena itu digunakan metode Down Sizzing atau paralel pada komputasi modern untuk menangani masalah volume yang besar. Dengan metode ini data yang besar diparalelkan dalam pengolahannya sehigga dapat diorganisir dengan baik.
  4. Modeling(NN&GA)
    Modeling merupakan suatu hal yang penting dalam melakukan suatu perhitungan yang rumit. Bayangkan saja jika kita dihadapi dalam suatu masalah perhitungan yang banyak dan kompleks, tetapi tidak ada model matematika yang kita miliki. Perhitungan akan berjalan berantakan dan tidak akan mendapatkan hasil yang akurat. Maka dari itu komputasi modern membutuhkan modeling sebelum melakukan perhitungan.
  5. Kompleksitas (Menggunakan Teori big O)
    Komputasi modern dirancang untuk menangani masalah yang kompleks, sehingga diterapkan pada komputer. Dengan menggunakan teori Big O, maka komputasi modern dapat melakukan perhitungan untuk memecahkan masalah kompleksitas yang kerap dihadapi.

Awal perkembangan komputasi modern digagas oleh John von Neumann (1903-1957), Beliau adalah ilmuan yang meletakkan dasar-dasar komputer modern. Von Neumann menjadi salah ilmuwan terbesar pada zaman nya. Von Neumann memberikan berbagai sumbangsih dalam bidang matematika, teori kuantum, game theory, fisika nuklir, dan ilmu komputer yang di salurkan melalui karya-karyanya. Berkat teori-teori nya itulah pada saat itu computer mengalami perkembangan dan kemajuan pesat terlihat saat dia menjadi seorang konsultan pada pengembangan komputer ENIAC. karena jasa-jasa nya John von Neumann di sebut bapak komputasi modern. Dia juga dia merancang konsep arsitektur komputer yang masih dipakai sampai sekarang. Arsitektur Von Nuemann adalah seperangkat komputer dengan program yang tersimpan (program dan data disimpan pada memori) dengan pengendali pusat, I/O, dan memori.

 

Advertisements
 
Leave a comment

Posted by on April 30, 2013 in Uncategorized

 

Algoritma Genetika

PENERAPAN ALGORITMA GENETIKA UNTUK

MASALAH PENJADWALAN JOB SHOP PADA

LINGKUNGAN INDUSTRI PAKAIAN

 

 

Abstrak—Pada industri pakaian khususnya yang proses produksinya bersifat berbaur dan multi produk sering mengalami kesulitan pada penjadwalan job shop. Oleh karena itu, perlu diadakan penelitian untuk penjadwalan job shop yang efektif terutama yang proses produksinya berbaur dan multi produk. Pada jurnal ini akan diajukan metode untuk penjadwalan job shop yang berbaur dan multi produk dengan tujuan meminimalkan total pinalti E/T (Earliness/Tardiness) dengan menentukan start pada masing-masing job shop dan bagaimana cara menugaskan operasi–operasi ke operator job shop tersebut. Sebuah algoritma genetika digunakan untuk menyelesaikan masalah penjadwalan job shop yang berbaur dan multi produk dimana pada akhirnya diperoleh penjadwalan job shop yang efektif.

 

Kata kunciAlgoritma Genetika, Penjadwalan Job Shop, Industri Pakaian

I. LATAR BELAKANG

Pada era globalisasi seperti sekarang, perusahaan diberbagai industri dihadapkan pada kompetisi pasar global

yang terus meningkat dan fluktuasi permintaan yang tidak dapat diramalkan. Industri pakaian adalah salah satu yang terkena dampak dari tekanan untuk dapat menghasilkan berbagai macam produk yang sesuai dengan selera konsumen, dengan waktu yang singkat dan biaya yang rendah. Industri pakaian pada umumnya beroperasi dengan sistem job shop. Penjadwalan job shop untuk industri pakaian adalah suatu penjadwalan yang menggunakan banyak mesin yang fleksibel disertai banyak operasi yang menyertainya. Berbagai macam penelitian telah dilakukan terhadap masalah penjadwalan job shop pada industri pakaian. Dari penggunaan metoda pemrograman integer yang menggunakan relasi Langrangian sampai algoritma genetika untuk memecahkan permasalahan dalam menjaga keseimbangan lini perakitan pada industri pakaian. Model matematika umum untuk masalah penjadwalan job shop terutama yang produknya berbaur dan multi produk masih jarang diselidiki. Guo et al. (2006) mengembangkan model matematika untuk Job Shop Scheduling Problem (JSSP) yang produknya bersifat berbaur dan multi produk. Dengan menerapkan metode Genetic Algorithm (GA), solusi masalah penjadwalan job shop yang berbaur dan multi produk menjadi lebih efektif yaitu dengan meminimalkan total pinalti E/T (Earliness/Tardiness) pada job shop dengan menentukan masing–masing pesanan sesuai waktu awal produksi dan tugas operasi pada job shop.

II. TINJAUAN PUSTAKA

A. Penjadwalan Job Shop

Penjadwalan merupakan proses yang menentukan bagaimana sumberdaya dialokasikan ke dalam berbagai operasi yang mungkin. Penjadwalan dapat juga diartikan adalah suatu proses pengaturan sumber daya untuk menyelesaikan tugas-tugas dengan melibatkan pekerjaan, sumber daya, dan waktu. Pekerjaan diproses pada setiap sumber daya dengan urutan tertentu selama waktu tertentu. Tujuan dari masalah penjadwalan antara lain: meminimumkan waktu penyelesaian semua tugas (makespan), meminimumkan keterlambatan pengerjaan, meminimumkan waktu tunggu pada mesin, meminimumkan biaya, dan lain-lain. Masalah penjadwalan job shop merupakan salah satu masalah penjadwalan yang memiliki kendala urutan pemrosesan operasi. Masalah penjadwalan job shop adalah penjadwalan yang melibatkan suatu tugas pada seperangkat kerja pada stasiun-kerja (mesin) secara sekuensial, saat mengoptimalkan satu atau lebih sasaran tanpa melanggar batasan yang diterapkan pada job shop (Guo et al, 2006). Didalam suatu penjadwalan produk berbaur, dua atau lebih pesanan produksi diproduksi dimanapun urutan berbaur seperti pada gambar 2.1. Sedangkan dua atau lebih produk diproses secara terpisah didalam batch pada penjadwalan masalah multi produk seperti pada gambar 2.2.

Gambar 2.1 Sistem perakitan produk berbaur

Gambar 2.2 Sistem perakitan multi produk

B. Algoritma Genetika

Algoritma genetika adalah algoritma heuristik adaptif yang memiliki dasar pemikiran atau gagasan evolusioner untuk proses seleksi alami dan genetika. Konsep dasar dari algoritma genetika dirancang untuk menirukan proses di dalam sistem alami yang penting bagi evolusi makhluk hidup untuk dapat terus bertahan hidup, yang secara rinci teori ini dicetuskan oleh Charles Darwin yaitu “Survival of the Fittest”. Dengan menirukan teori dari Charles Darwin, algoritma genetika dapat digunakan untuk mencari solusi dari segala macam 2 permasalahan dalam ilmu pengetahuan seperti dalam mencari solusi penjadwalan job shop. Pelopor pertama penggunaan metode algoritma genetika adalah John Holland pada tahun 60-an. Algoritma genetika menggunakan analogi seleksi alam yang bekerja dari suatu populasi yang terdiri dari berbagai individu (gen), yang masing-masing individu mempresentasikan suatu solusi yang  mungkin muncul dari persoalan yang dihadapi. Dalam hal ini, individu yang terpilih dilambangkan dengan sebuah nilai fitness yang digunakan untuk mencari solusi terbaik dari persoalan yang ada. Kemampuan individu yang tinggi memiliki kesempatan untuk dapat melakukan reproduksi melalui kawin silang (crossover) dengan individu yang lain pada populasi yang sama. Individu baru yang terbentuk atau dihasilkan membawa sifat-sifat dari induknya. Sedangkan individu didalam populasi

yang telah melalui proses seleksi namun tidak terpilih akan mati dengan sendirinya. Beberapa generasi baru yang terbentuk dan memiliki ketahanan hidup yang kuat akan bermunculan didalam populasi tersebut, yang kemudian dari proses seleksi, kawin silang, dan mutasi yang berkelanjutan menghasilkan generasi dengan kemampuan bertahan hidup yang bagus.

Pada umumnya suatu penerapan algoritma genetika secara generasional sederhana terdiri dari 3 bagian, yaitu:

1) Memilih populasi awal (inisial populasi)

2) Evaluasi nilai fitness dari setiap individu didalam populasi

3) Ulangi sampai proses berhenti (nilai fitness terbaik terpenuhi)

a) Pilih individu terbaik berdasar ranking untuk reproduksi

b) Bentuk generasi baru melalui pindah silang dan mutasi untuk menghasilkan keturunan baru (child)

c) Evaluasi nilai fitness keturunan yang dihasilkan

d) Setelah diatur terlebih dahulu, gantikan individu dengan nilai fitness terburuk dengan keturunan yang

dihasilkan Jika diilustrasikan, maka proses algoritma genetika yang dilakukan dapat terlihat seperti gambar 2.3.

Generasi

Populasi Awal Evaluasi

Konvergensi?

(mencari fitness

terbaik)

Pindah

Mutasi Silang Seleksi

Terbentuk

Individu Terbaik Yes

No

Gambar 2.3 Siklus Algoritma Genetika

III. RANCANGAN GA PADA JSSP

A. Asumsi-asumsi yang Digunakan

Pada jurnal ini, model matematika penjadwalan job shop yang diusulkan akan menggunakan asumsi-asumsi sebagai berikut:

1) Ketika sekali suatu operasi mulai dijalankan, maka tidak dapat disela.

2) Tidak ada kasus kekurangan material, gangguan mesin dan ketidakhadiran operator mesin job shop dalam kerjanya.

3) Job shop digunakan untuk memodelkan adalah dalam keadaan inisialisasi awal job shop kosong, dengan kata lain tidak ada kerja yang menumpuk sebelumnya (Work in Process / WIP) pada setiap stasiun-kerja.

B. Batasan-batasan dalam Pemodelan

Pada produksi pakaian yang nyata mempunyai beberapa karakteristik khusus dan harus sesuai dengan beberapa batasan yang ditetapkan sebelumnya. Pada bagian ini akan diuraikan karakteristik secara matematika dan batasan-batasan yang digunakan sebagai berikut:

  1. Batasan waktu kedatangan, menyatakan bahwa pemenuhan order Pi tidak dapat dimulai SPi sampai order/pesanan tiba Ai , yaitu Ai SPi (3.1)

 

  1. Batasan alokasi. Operasi Oil hanya bisa dijalankan pada mesin yang mampu menanganinya, yaitu

Σ∉ = kj Mkj SMil

Xilk , 0 (3.2)

Setiap mesin Mkj harus memproses setidaknya satu operasi Oil , yaitu

Σ ≥ il

X ilkj 1 (3.3)

Setiap operasi Oil harus diproses, yaitu

Σ ≥ kj

Xilkj 1 (3.4)

 

  1. Batasan operasi yang harus didahulukan, menyatakan bahwa suatu operasi tidak dapat dimulai sebelum operasi yang terdahulu telah diselesaikan Cil dan diangkut sesuai dengan mesin kerjanya ETil , yaitu Cil + ETil +1 ≤ Sil‘ (3.5)

 

4. Kebutuhan waktu proses. Operasi Oil harus dijalankan dengan waktu mulai Sil , waktu setup STPil dan waktu prosesTil , yaitu Cil = Sil + STPil + Til −1 (3.6)

C. Fungsi Obyektif

Berdasarkan permintaan produksi yang berbeda-beda, sasaran yang berbeda dapat dibangun atas dasar uraian pada subbab sebelumnya. Pada industri pakaian, memenuhi permintaan tanggal pengiriman, atau tanggal jatuh tempo, adalah sasaran yang paling diinginkan oleh pihak manajemen. Pada pembelajaran ini, fungsi obyektif dapat diilustrasikan secara matematika sebagai berikut:

 

Σ= = + − p i

SP X i i i i i i

Z dengan Z TD EL

i ilkj 1

{ },{ }

min , (α . .λ β . .(1 λ )) (3.8)

Pada masing-masing order Pi , tanggal jatuh tempo Di ditentukan oleh pihak konsumen. Jika order Pi diselesaikan setelah tanggal jatuh tempo i D , diperlukan pinalti i α untuk setiap kali unit yang mengalami penundaan. Jika order diselesaikan sebelum tanggal jatuh tempo, tidak akan diterima 3 oleh konsumen sampai batas waktu itu. Dalam hal ini, gudang pabrik akan dipaksa untuk menyimpan order tersebut sampai tanggal jatuh tempo dan dikeluarkan pinalti iβ untuk setiap unit yang disimpan. Sasaran dari model ini diterapkan dengan pemilihan produksi sesuai waktu awal SPi untuk setiap order dan membangkitkan penugasan operasi optimal, dimana setara dengan meminimumkan makespan jika waktu yang tersedia untuk pemrosesan order cukup singkat (misal: interval waktu antara tanggal sekarang dan tanggal jatuh tempo tidak cukup lama).

 

D. Inisialisasi Populasi

Pada proses inisialisasi populasi dapat dideskripsikan sebagai berikut:

Langkah 1. Inisialisasi parameter: indeks i = 1 , ukuran populasi u , populasi PPN = {φ} dan kwantitas QTY operasi yang mana setiap mesin dapat memproses.

Langkah 2. Secara acak membangkitkan suatu kromosom string integer CHRi , PPN = PPN CHRi . (3.9)

Langkah 3. Set i = i +1 . Jika i > u , STOP, kemudian kembali ke langkah 2. Penjelasan secara detail pada proses membangkitkan kromosom secara acak adalah sebagai berikut:

Langkah 1. Set indeks j = 1 . Untuk setiap mesin, biarkan PTY = 1 , dimana PTY menggambarkan probabilitas suatu mesin dipilih untuk memproses operasi yang relevan.

Langkah 2. Membangkitkan acak integer k antara 1 – jumlah mesin yang memproses operasi j . Set nilai probabilitas k = 1jika melebihi dari nilai yang lain.

Langkah 3. Secara acak pilih k -mesin yang dapat memproses operasi ini. Mesin dengan PTY lebih besar akan memiliki probabilitas terbesar untuk terpilih. Jika PTY = 0 , mesin tidak dapat dipilih.

Langkah 4. Menugaskan operasi kepada mesin yang dipilih dari j ke k . Pada waktu bersamaan, untuk setiap mesin yang dipilih, set QTY PTY = PTY − 1 . (3.10)

Langkah 5. Set j = j +1. Jika j > n , lanjut ke langkah 6. Jika tidak kembali ke langkah 2.

Langkah 6. Jika semua mesin sudah ditugaskan, STOP, jika tidak kembali ke langkah 1.

 

E. Fitness dan Seleksi

Fungsi fitness dideskripsikan sebagai tingkat kebugaran dari tiap kromosom untuk menentukan yang akan direproduksi dan bertahan ke dalam generasi berikutnya. Nilai fitness pada fungsi fitness digambarkan sebagai fungsi obyektif fungsi

Proses seleksi turnamen (Goldberg, Korb, & Deb, 1989)pada algoritma genetika, berdasar pada aturan survival of the fittest, yaitu proses dimana kromosom dipilih untuk generasi berikutnya dalam kaitan dengan fitness. Skema dan prosedur yang digunakan adalah sebagai berikut:

Langkah 1. Set ukuran turnamen k ≥ 2 .

Langkah 2. Membangkitkan suatu permutasi acak didalam populasi sekarang.

Langkah 3. Bandingkan nilai fitness pada kromosom k pertama pada daftar permutasi, dan salin yang terbaik ke dalam generasi berikutnya. Buang string pembandingnya.

Langkah 4. jika permutasi habis terpakai, bangkitkan permutasi lain.

Langkah 5. Ulangi langkah 3 dan 4 sampai tidak diperlukan seleksi lagi untuk generasi berikutnya. Skema tersebut dapat mengendalikan keanekaragaman populasi dan tekanan seleksi dengan menyesuaikan ukuran turnamen k . Semakin besar nilai k akan meningkatkan tekanan seleksi saat mengurangi keanekaragaman populasi tersebut.

 

F. Pindah Silang (Crossover)

Proses pindah silang digunakan untuk keturunan sepasang kromosom anak dari sepasang kromosom orang tua dengan metode pindah silang. Operasi modifikasi pindah silang serupa dengan pindah silang uniform-order (Davis, 1991) yang diuraikan sebagai berikut:

Langkah 1. Acak beberapa string yang panjangnya sama dengan kromosom.

Langkah 2. Isi beberapa posisi pada anak 1 dengan mencopi gen dari orang tua 1 dimana saja bit string yang memuat “1”.

Langkah 3. Buat daftar gen dari orang tua 1 dihubungkan dengan bit string “0”.

Langkah 4. Mengubah urutan daftar gen sehingga urutannya sama dengan urutan gen yang tampak pada orang tua 2. Untuk gen yang mempunyai dua atau lebih operasi, operasi pertama ke orang tua 1 digunakan untuk mengubah posisi dari gen anak 1 mengikuti urutan dari gen orang tua 2. Jika jumlah gen pada daftar lebih dari korespondensi gen dengan operasi sama pada orang tua 2, maka secara sekuensial gen pada orang tua 2 akan diduplikasi dan ditambahkan ke akhir daftar.

Langkah 5. Salin urutan daftar gen ke dalam posisi kosong pada anak 1 sesuai hasil order pada langkah 4.

Langkah 6. Anak 2 diproduksi menggunakan proses serupa dengan proses diatas. Proses pindah silang adalah proses acak dengan nilai probabilitas dari pindah silang. Pada operator pindah silang nilai probabilitasnya antara 0,6 – 1,0. Pada masalah penjadwalan job shop, setiap operasi harus diproses pada mesin bertipe tertentu. Gambar 3.1 menunjukkan proses

pindah silang dilakukan.

Gambar 3.1 Operator modifikasi crossover Uniform-order

 

4 G. Mutasi (Mutation)

Operasi mutasi bersifat kritis terhadap kesuksesan algoritma genetika karena keanekaragaman arah pencarian dan menghindari konvergensi ke optimal lokal. Gambar 3.2 menunjukkan proses mutasi dilakukan.

Banyak operator mutasi telah dipublikasikan. Pada pembelajaran ini, suatu modifikasi operasi mutasi untuk

operator inversi mutasi telah dikembangkan (Holland, 1975) yang diuraikan sebagai berikut:

Langkah 1. Ambil satu kromosom dari populasi sebagai kromosom asli.

Langkah 2. Inversi kromosom dengan cara pada tipe mesin yang sama, jika panjang kromosom n, maka tukar posisi gen ke-2 dengan genke-n, gen ke-3 dengan gen ke (n-1), dan seterusnya.

Langkah 3. Mutasi kromosom dengan cara pada tipe mesin yang sama, tukar secara acak posisi gen yang bersebelahan antara gen ke-2 dan gen terakhir. Pada operasi ini, pertama menginversi gen antar 2 gen terpilih secara acak pada suatu kromosom dengan terlebih dahulu menentukan nilai probabilitas mutasi.

 

IV.UJI COBA DAN ANALISIS

A. lingkungan Uji Coba

Uji coba dilakukan pada perangkat keras komputer denganspesifikasi prosesor: AMD Turion(tm) 64 X2, memori 1 GB dan perangkat lunak: program penjadwalan job shop berbasis pemrograman Matlab dengan sistem operasi Windows XP SP2.

 

B. Data Uji Coba

Data uji coba yang digunakan adalah data produksi dan data efisiensi operasi, dimana data yang digunakan untuk masalah penjadwalan job shop yang sifat produknya berbaur dan multi produk serta merupakan produk massal. Permasalahan penjadwalan job shop terbagi menjadi 2 bagian eksperimen. Pembagian data ini bertujuan untuk melihat kinerja program algoritma genetika dalam menyelesaikan berbagai jenis permasalahan penjadwalan job shop. Hasil yang didapatkan dalam program algoritma genetika yang dijalankan berupa lini

produksi operasi dari setiap order. Tabel I mempresentasikan data order berupa bobot tardiness dan bobot earliness saat uji coba dilakukan. Tabel II mempresentasikan data order berupa jumlah order dan tenggat waktu pada setiap kasus yang dijalankan. Tabel III mempresentasikan data efisiensi operasi di stasiun-kerja pada eksperimen 1 sedangkan tabel IV mempresentasikan data efisiensi operasi di stasiun-kerja pada eksperimen 2.

 

TABEL I

DATA ORDER: BOBOT TARDINESS DAN BOBOT EARLINESS

Bobot Tardiness Bobot Earliness

                         Order1 Order2 Order1 Order2

Eksperimen 1  5000      3000       100       100

Eksperimen 2  6000      4000       100       100

 

TABLE II

DATA ORDER: JUMLAH ORDER DAN TENGGAT WAKTU

Kasus Jumlah Order Tenggat Waktu

             Order 1 Order 2 Order 1 Order 2

Eks.1 1 1200         1200         15        12

           2 1000         1500         15        12

           3 1200        1200         18         13

Eks.2 1 1000        1000          15        12

           2 1200       1200          13        10

           3 2000       800            20         15

TABLE III

DATA ORDER: JUMLAH ORDER DAN TENGGATWAKTU

Tipe Mesin No. Stasiunkerja

No. Operasi pada Order 1 No. Operasi pada Order 2

1 2 3 4 5 6 7 8 9 10 11 12

Mesin Jahit

Lockstitch

1 0 100% 95% 90% 0 0 0 0 0 0 95% 95%

2 0 70% 70% 70% 0 0 0 0 0 0 70% 70%

3 0 80% 80% 80% 0 0 0 0 0 0 80% 80%

4 0 70% 65% 65% 0 0 0 0 0 0 70% 65%

5 0 85% 85% 80% 0 0 0 0 0 0 85% 85%

6 0 90% 95% 90% 0 0 0 0 0 0 100% 95%

7 0 95% 100% 100% 0 0 0 0 0 0 90% 100%

 

Mesin

Jahit

Overlock

8 90% 0 0 0 95% 95% 100% 90% 95% 100% 0 0

9 80% 0 0 0 90% 90% 90% 85% 90% 85% 0 0

10 70% 0 0 0 80% 80% 75% 80% 80% 75% 0 0

11 75% 0 0 0 70% 80% 85% 80% 85% 80% 0 0

12 100% 0 0 0 100% 90% 100% 95% 90% 95% 0 0

5

13 95% 0 0 0 100% 90% 95% 100% 85% 90% 0 0

14 90% 0 0 0 85% 100% 90% 95% 100% 85% 0 0

Waktu Standar

(detik/potong)

320 342 480 288 310 330 138 158 140 130 288 150

TABLE IV

DATA ORDER: JUMLAH ORDER DAN TENGGATWAKTU

Tipe Mesin No. Stasiunkerja No. Operasi pada Order 1 No. Operasi pada Order 2

1 2 3 4 5 6 7 8 9 10 11 12 13

Mesin Jahit

Lockstitch

1 100% 95% 90% 0 100% 100% 0 95% 95% 90% 100% 90% 0

2 75% 70% 70% 0 75% 80% 0 70% 80% 70% 75% 70% 0

3 80% 80% 85% 0 80% 60% 0 85% 80% 85% 80% 85% 0

4 70% 65% 60% 0 70% 75% 0 65% 70% 65% 70% 65% 0

5 85% 75% 80% 0 85% 95% 0 80% 85% 80% 90% 85% 0

6 90% 85% 90% 0 90% 90% 0 95% 90% 85% 80% 90% 0

7 95% 100% 100% 0 95% 85% 0 100% 100% 95% 90% 85% 0

8 85% 90% 95% 0 85% 90% 0 90% 90% 95% 95% 90% 0

9 90% 95% 85% 0 90% 95% 0 90% 90% 100% 85% 100% 0

Mesin Jahit

Overlock

10 0 0 0 95% 0 0 95% 0 0 0 0 0

11 0 0 0 100% 0 0 95% 0 0 0 0 0

Waktu Standar (detik/potong)

245 200 236 162 240 286 120 298 156 180 208 105 210

 

C. Metode Uji Coba

Pada setiap eksperimen memiliki data yang berbeda dalam hal bobot earliness dan bobot tardiness yang dikenakan. Pada setiap eksperimen juga memiliki beberapa kasus yang berbeda-beda dalam hal jumlah order yang dikenakan dan tenggat waktu penyelesaian order tersebut. Hasil yang didapatkan dalam program algoritma genetika yang dijalankan berupa lini produksi operasi dari setiap order, dimana dalam menghitung waktu proses setiap operasi adalah

Σ = kj ilkj ilkj ilkj iil X EM STT γ

Dimana waktu rata-rata proses operasi Til, didapatkan dari waktu standar operasi STil tersebut dibagi jumlah efisiensi operasi EMilkj. Xilkj = 1 jika operasi tersebut dikerjakan pada mesin yang mampu memprosesnya dan

Xilkj = 0 jika sebaliknya. Jika mesin Mkj hanya memproses operasi Oil , γ ilkj = 1 dan jika mesin Mkj sama sekali tidak memproses operasi Oil , γ ilkj = 0 . Jika mesin Mkj memproses operasi Oil dan operasi lainnya secara simultan serta operasi Oil juga dijalankan pada mesin lainnya, 0 < γ ilkj < 1. Pada uji coba eksperimen yang dilakukan, waktu transportasi (ET) dan waktu pengaturan mesin (STP) dianggap masuk dalam waktu proses (T). Parameter yang digunakan tetap, yaitu jumlah populasi = 200, probabilitas pindah silang = 0.6, probabilitas mutasi = 0.01, dan jumlah generasi = 60.

 

D. Hasil Uji Coba dan Analisis

Pada setiap eksperimen memiliki masalah penjadwalan sendiri dan pada setiap bagian eksperimen terdapat metode yang berbeda yaitu mode 1 dan mode 2. Pada mode 1 pengolahan order 1 dijalankan dahulu kemudian selama waktu tertentu ditunda untuk menjalankan pengolahan order hingga selesai. Setelah itu pengolahan order 1 dijalankan kembali hingga selesai. Sifat produk yang dihasilkan multi produk. Sedangkan pada mode 2 pengolahan order 1 dijalankan dahulu kemudian saat waktu tertentu pengolahan order 1 dan order 2 dijalankan secara simultan sampai order 2 terpenuhi. Setelah itu pengolahan order 1 dijalankan kembali hingga selesai. Sifat produk yang dihasilkan berbaur dan multi produk. Pada eksperimen 1, dua pengolahan order dijalankan pada 14 mesin dengan dua tipe mesin, yaitu mesin lockstitch dan mesin overlock. Terdapat tujuh mesin setiap tipe mesin. Mesin lockstitch antara mesin no. 1-7 dan mesin overlock antara mesin no. 8-12. Proses perakitan pakaian pada order 1 adalah dari operasi 1-6 dan pada order 2 dari operasi 7-12. Pada eksperimen ini, setiap mesin hanya dapat menampung satu operasi. Pada eksperimen 2, dua pengolahan order dijalankan pada 13 mesin dengan dua tipe mesin, yaitu mesin lockstitch dan mesin overlock. Terdapat sembilan mesin tipe lockstitch dan dua mesin tipe overlock. Mesin lockstitch antara mesin no. 1-9 dan mesin overlock antara mesin no. 10-11. Proses perakitan pakaian pada order 1 adalah dari operasi 1-8 dan pada order 2 dari operasi 9-13. Pada eksperimen ini, diasumsikan setiap mesin dapat menampung maksimal dua operasi. Pada tabel V merupakan hasil pada eksperimen 1 berupa lini operasi produksi dari mesin 1-14 dan terbagi dalam setiap pengolahan order yang dijalankan. Pada tabel VI merupakan hasil pada eksperimen 2 berupa lini operasi produksi dari mesin 1-11 dan setiap mesin mampu menampung maksimal 2 operasi serta terbagi dalam setiap pengolahan order yang dijalankan. 6

 

TABLEV

PENUGASAN MESIN PADA EKSPERIMEN 1

Penempatan operasi No. mesin

1 2 3 4 5 6 7 8 9 10 11 12 13 14

Kasus 1 Mode 1 Order1 3 2 2 4 4 3 3 6 1 1 5 6 6 5

Order2 12 11 11 12 11 11 12 10 7 7 9 8 8 9

Mode 2 Order1 2 4 2 3 4 3 3 1 1 1 5 5 6 6

duaorder 11 3 2 12 4 4 11 8 1 7 5 6 9 10

Kasus 2 Mode 1 Order1 2 4 2 3 4 3 3 6 5 1 5 6 1 1

Order2 11 12 12 11 11 11 12 10 9 10 7 7 8 9

Mode 2 Order1 4 3 4 2 4 2 3 6 1 1 5 6 6 5

duaorder 12 3 2 4 11 12 11 6 7 1 10 8 9 5

Kasus 3 Mode 1 Order1 4 2 2 3 4 3 4 5 1 1 5 6 6 5

Order2 12 11 11 11 12 12 12 10 8 7 8 9 9 7

Mode 2 Order1 3 2 4 2 4 3 3 6 1 1 5 6 6 5

duaorder 12 3 4 2 4 11 12 9 6 1 5 10 8 7

 

TABLE VI

PENUGASAN MESIN PADA EKSPERIMEN 2

Penempatan operasi No. mesin

1 2 3 4 5 6 7 8 9 10 11

Kasus 1 Mode 1 Order1 1,3 8 2,6 3 8 1 2,5 5 6 4,7 4,7

Order2 11 11,12 12 9,10 9,11 12 10,11 10,11 10,12 13 13

Mode 2 Order1 2 8 6 5,8 2 1 6 5 3 4 7

duaorder 1,12 10 2,11 9 5 11 3,6 1 8 4,7 13

Kasus 2 Mode 1 Order1 6 1,3 3 2 1 2,8 8 5 5,6 4 7

Order2 10 11,12 9 12 10 11 10 9 11 13 13

Mode 2 Order1 6 3 6,8 3 8 5 2 1,5 1 4 7

duaorder 9 6 5 3 8 10 1,2 11 1,12 4,13 7,13

Kasus 3 Mode 1 Order1 6 1 6 1,3 8 2,5 2,8 5 3 4 7

Order2 11 10,12 9 10 10,11 12 12 9 9 13 13

Mode 2 Order1 8 2 5 2,3 3 6 1 5,6 1,8 4 7

duaorder 6 8 6,9 5,8 3 11 9,10 1,10 2,12 4,7 13 7

 

TABLE VII

HASIL PENJADWALAN OPTIMASI GENETIKA

Eksperimen 1 Waktu penyelesaian order (hari) Tenggat waktu (hari) Total pinalti ($)

Order 1 Order 2 Order 1 Order 2

Kasus 1 Mode 1 14,96 12 15 12 4

Mode 2 14,98 11,99 15 12 3

Kasus 2 Mode 1 15 12 15 12 0

Mode 2 14,97 12 15 12 3

Kasus 3 Mode 1 18 13 18 13 0

Mode 2 17,97 13 18 13 3

Eksperimen 2

Kasus 1 Mode 1 14,99 12 15 12 1

Mode 2 14,97 12 15 12 3

Kasus 2 Mode 1 12,97 9,99 13 10 4

Mode 2 12,97 10 13 10 3

Kasus 3 Mode 1 19,97 14,99 20 15 4

Mode 2 19,95 15 20 15 5

Secara keseluruhan hasil menunjukkan bahwa program algoritma genetika yang diujikan dapat menyelesaikan permasalahan penjadwalan job shop yang produknya bersifat berbaur dan multi produk secara efektif. Pada tabel VII terlihat bahwa program algoritma genetika untuk masalah penjadwalan job shop mampu meminimalkan total pinalti E/T (Earliness/Tardiness).

 

V. CONCLUSIONS

Program algoritma genetika yang dijalankan dapat berjalan dengan efektif di dua eksperimen yang berbeda. Dimana eksperimen 1: setiap mesin hanya dapat menampung satu operasi sedangkan eksperimen 2: setiap mesin dapat menampung maksimal dua operasi. Program algoritma genetika dapat digunakan pada persoalan penjadwalan job shop yang produknya multi produk (mode 1) maupun persoalan penjadwalan job shop yang produknya berbaur dan multi produk (mode2). Program algoritma genetika dapat dijalankan pada berbagaidata order dan data efisiensi operasi yang berbeda dengan ketentuan data-data tersebut memenuhi batasan-batasan dalam pemodelan yang sesuai dengan masalah penjadwalan job shop. Pengembangan yang dapat dilakukan terhadap program algoritma genetika pada permasalahan penjadwalan job shop terutama produknya yang dihasilkan bersifat berbaur dan multi produk dengan mempertimbangkan efek ketidakpastian yang terjadi pada proses penjadwalan. Diantaranya adalah ketidakpastian permintaan konsumen, gangguan mesin, kekurangan bahan baku, ketidakhadiran operator mesin, dan lainnya. Hal-hal tersebut sangat berpengaruh dan menyebabkan perubahan yang cukup signifikan terhadap proses penjadwalan job shop. Begitu juga dengan pembatalan order yang telah terjadwal akan berakibat pada perubahan susunan operasi yang dikerjakan pada mesin produksi.

 

 

Sumber :

digilib.mercubuana.ac.id/jurnal_teknikinformatika

stei.ac.ia/jurnal/index.php

 
Leave a comment

Posted by on April 30, 2013 in Uncategorized

 

Tools Forensik IT 1

IT Forensik merupakan ilmu yang berhubungan dengan pengumpulan fakta dan bukti pelanggaran keamanan sistem informasi serta validasinya menurut metode yang digunakan (misalnya metode sebab-akibat). IT Forensik bertujuan untuk mendapatkan fakta-fakta objektif dari sistem informasi. Fakta-fakta tersebut setelah diverifikasi akan menjadi bukti-bukti yang akan digunakan dalam proses hukum, selain itu juga memerlukan keahlian dibidang IT (termasuk diantaranya hacking) dan alat bantu (tools) baik hardware maupun software.

Contoh barang bukti dalam bentuk elektronik atau data seperti :

  • Komputer
  • Hardisk
  • MMC
  • CD
  • Flashdisk
  • Camera Digital
  • Simcard/hp

Data atau barang bukti diatas diolah dan dianalisis menggunakan software dan alat khusus.  Hasil dari IT Forensik adalah sebuah Chart data Analisis komunikasi data target. Dalam melakukan proses forensik pada sistem komputer, dapat digunakan sejumlah tools yang akan membantu investigator dalam melakukan pekerjaan forensiknya, tools yang biasa digunakan untuk kepentingan komputer forensic secara garis besar dibedakan secara hardware dan software. Hardware tools forensik memiliki kemampuan yang beragam mulai dari yang sederhana dengan komponen singlepurpose seperti write blocker sampai sistem komputer lengkap dengan kemampuan server seperti F.R.E.D (Forensic Recovery of Evidence Device). Sementara software tools forensik dapat dikelompokkan kedalam dua kelompok yaitu aplikasi berbasis command line dan aplikasi berbasis GUI.

Contoh Software tools forensik, yaitu :

  1. Viewers (QVP http://www.avantstar.com dan http://www.thumbsplus.de)
  2. Erase/Unerase tools: Diskscrub/Norton utilities)
  3. Hash utility (MD5, SHA1)
  4. Text search utilities (search di http://www.dtsearch.com/)
  5. Drive imaging utilities (Ghost, Snapback, Safeback,…)
  6. Forensic toolkits. Unix/Linux: TCT The Coroners Toolkit/ForensiX dan Windows: Forensic Toolkit
  7. Disk editors (Winhex,…)
  8. Forensic acquisition tools (DriveSpy, EnCase, Safeback, SnapCopy,…)
  9. Write-blocking tools (FastBloc http://www.guidancesoftware.com) untuk memproteksi bukti-bukti.

Artikel lanjutan dari posting ini dapat dilihat disini :
Tools Forensik IT 2 (Minanti Cyndiko)
Tools Forensik IT 3 (Fika Pratiwi)
Tools Forensik IT 4 (Lili Oktavia)
Tools Forensik IT 5 (Sylvia Handayani)

 
Leave a comment

Posted by on January 9, 2013 in Uncategorized

 

Bisnis Online Hewan Kurban dan Aqiqah (Power Point)

Disini terdapat Power Point mengenai Bisnis Online Hewan Kurban dan Aqiqah link

 
Leave a comment

Posted by on December 25, 2012 in Uncategorized

 

Perbedaan Client Side Scripting dengan Server Side Scripting

Perbedaan Antara Client Side Scripting dan Server Side Scripting

 

1. Client Side Scripting

Client Side Scripting adalah bahasa pemrograman yang proses pengolahannya dilakukan di komputer pengunjung (Client). Ketika seseorang ingin melihat suatu website, maka website yang bertipe ini akan sepenuhnya di download dan diproses di komputer masing-masing sehingga siapapun yang melihat website kita bisa mengambil seluruh Script yang ditulis oleh pembuatnya, Hal tersebut merupakan suatu kelemahan tersendiri, yaitu orang yang berniat jahat bisa dengan mudah mengotak-atik website kita dengan lebih mudah. Web yang menggunakan program ini biasanya website statis, yaitu yang tampilannya hampir tidak berubah, kecuali  website tersebut dirombak pada halamannya (Misal : web bertipe *.html).

Contoh Client Side Scripting adalah :

  • HTML (Hypertext Markup Language)
  • CSS (Cascading Style Sheet)
  • JavaScript
  • XML (Extensible Markup Language)

Perbedaan utama server-side programming dan client server programming adalah tempat mengeksekusi skripnya. Pada client server programming, skrip dieksekusi di browser sedangkan server side programming dieksekusi di client (web browser).

 

Karakteristik client –side scripting :

1.       Kode program didownload bersama dengan halaman web

2.       Bersifat interpreter dan diterjemahkan oleh browser

3.       Model eksekusinya simple dan skrip dapat dijadikan satu dengan HTML

 

 

2. Server Side Scripting

Server Side Scripting adalah kebalikan dari Client Side Scripting yaitu bahasa pemrograman web yang pengolahannya dilakukan di komputer server dan hasil pengolahannya kirimkan ke komputer client/pengunjung dalam bentuk bahasa html, sehingga pengunjung tidak mengetahui Script yang telah ditulis oleh pembuatnya, sehingga website tipe ini lebih aman dari serangan hacker, walaupun masih beresiko juga terkena hack. Web tipe ini bersifat Dinamis yaitu bisa dirubah kontennya dengan mudah tanpa mengotak-ngatik scriptnya. Bisa digunakan untuk berbagai kebutuhan web seperti, Toko Online, forum, web sekolah, blogging dan berbagai kebutuhan lainnya.

 

 

 

contoh Server Side Scripting adalah :

  • PHP
  • ASP
  • ASP dot Net
  • Java Server Page
  • dan lain-lain.

Untuk mempelajari bahasa pemrograman berbasis Client Side Scripting, kita hanya membutuhkan Web editor (contoh: Notepad, Adobe Dreamweaver, Ms. FrontPage, dsb) dan Browser (contoh : Mozilla Firefox, Google Chrome, Internet Explorer, dsb). Untuk mempelajari bahasa pemrograman berbasis Server Side Scripting selain Web editor dan Browser, kita juga memerlukan sebuah komputer server. Jangan Pusing dulu, kita bisa menggunakan komputer kita sebagai server juga sebagai client yaitu dengan cara menginstallkan aplikasi yang dibundel untuk server yang bisa didapatkan dengan GRATIS. Aplikasi tersebut salahsatunya adalah :

XAMPP

LAMPP

WAMPP

AppServ

Karakteristik server side programming :

1.       Ada client yang meminta request

2.       Eksekusi program dilakukan di server

3.       Mengirimkan hasil ke client

 

Keuntungan server side programming :

Cross platform : tidak tergantung dengan browser tertentu

1.       Optimasi danpemeliharaan dilakukan di browser

2.       Dapat mengakses database dan tidak tergantung dengan keamanan

3.       Menambah kekuatan server

4.       Kode program aman

 

Aplikasi yang sering digunakan oleh server side programming

1.       Search engines

2.       Database access

3.       Chat & bulletin board service

 

 

 

 
Leave a comment

Posted by on October 7, 2012 in Uncategorized

 

Hardware Abstraction

Permainan yang berjalan pada platform yang mendukung berbagai kontroler masukan menawarkan pengalaman gaming terkaya.Ini adalah kasus tidak hanya dengan PC (yang menggunakan keyboard, mouse, dan joystick), tetapi juga dengan sebagian konsol permainan melalui peripheral eksotis. Dalam beberapa tahun terakhir, kami telah menggunakan standar controller, pesawat-gaya joystick, Snowboards, tari bantalan dari segala macam, dan bahkan pancing!

Ada dua jalur pengembang mungkin mengikuti ketika coding untuk seperti platform. Beberapa game akan memilih untuk menggunakan satu (dan hanya satu) dari controller yang ada. Ini adalah kasus dalam permainan strategi yang paling, yang untuk alasan gameplay biasanya dikodekan dengan mouse PC dalam pikiran. Di sisi lain, beberapa permainan lainnya akan membiarkan pengguna memilih metode input yang dia inginkan untuk mempekerjakan. Aksi game untuk PC sering bisa dimainkan dengan joystick, keyboard, gamepad, dan kadang-kadang bahkan mouse. Meskipun baik untuk pemain, itu datang pada biaya rumit kode penanganan masukan secara signifikan, dan ini adalah perangkat keras persis di mana abstraksi menjadi masalah.

Dengan abstraksi hardware, maksud saya coding permainan Anda dengan controller “virtual” dalam pikiran, sehingga kontroler apapun yang sesuai dengan profil yang abstrak dapat dipasang ke dalam kode dengan nol dampak pada mesin permainan. yang Anda perlu Anda lakukan adalah menulis handler kontroler generik (biasanya, kelas abstrak murni) dari yang khusus pengendali berasal melalui warisan. Kemudian, pada saat runtime, hanya jenis kontroler dipilih oleh pemain adalah dibuat, memberikan cara halus dan elegan mengintegrasikan kontroler yang berbeda. Gambar 5.3 menunjukkan bagaimana struktur kelas akan berhasil.

Gambar 5.3. Struktur memungkinkan kelas untuk mengimplementasikan abstraksi perangkat.

Perhatikan bagaimana, demi kejelasan, saya telah membuat controller global yang sangat menyerupai permainan menghibur. Ini memiliki dua pengendali arah dan empat tombol. Masukan ini kemudian dapat dipetakan ke keyboard (menggunakan tombol untuk opsi-opsi yang berbeda), sebuah analog joystick, atau joystick digital. Item hanya kita perlu diperhatikan adalah sensitivitas yang berbeda ditemukan pada tombol dan tongkat. Sebuah kunci dapat ditekan atau dilepas, sehingga membutuhkan hanya nilai biner, sedangkan joystick mungkin akan memetakan ke satu set terus menerus. Dengan demikian, beberapa kode diskritisasi akan diminta untuk menawarkan output standar.

Sebuah alternatif lebih baik lagi jika Anda menggunakan DirectInput adalah untuk mengambil keuntungan dari tindakan pemetaan, yang memungkinkan perangkat untuk kembali nilai-nilai negara tidak spesifik tetapi permainan yang berorientasi nilai. Kami dapat menetapkan peristiwa perangkat untuk peristiwa permainan, sehingga controller input akan menerima nilai-nilai yang entah bagaimana perangkat independen. untuk
contoh, kita dapat memiliki joystick dan menetapkan sebuah gerakan pada sumbu X ke “muka kiri” tindakan. kita bisa kemudian menetapkan tombol khusus untuk acara yang sama, sehingga kode kontrol input menjadi independen dari perangkat. Kita dapat mengubah perangkat, dan sebagai kontrol adalah menerima pesan abstrak, semuanya akan tetap bekerja.

Pemetaan tindakan tidak sulit untuk mendapatkan kerja di bawah DirectInput, meskipun kode yang terlalu panjang menjadi rinci di sini. Langkah pertama adalah mendefinisikan tindakan dalam permainan kami:

enum GAME_ACTIONS {
WALK,
WALK_LEFT,
WALK_RIGHT,
JUMP
QUIT
};

Kemudian, kita harus menyediakan sebuah peta tindakan yang berhubungan sumbu dan tombol atau kunci untuk tindakan yang berbeda:

DIACTION g_adiaActionMap[] =
{
// Joystick input mappings
{ WALK, DIAXIS_FIGHTINGH_LATERAL, 0, ACTION_NAMES[WALK], },
{ JUMP, DIBUTTON_FIGHTINGH_JUMP, 0, ACTION_NAMES[JUMP], },
// Keyboard input mappings
{ WALK_LEFT, DIKEYBOARD_LEFT, 0, ACTION_NAMES[WALK_LEFT], },
{ WALK_RIGHT, DIKEYBOARD_RIGHT, 0, ACTION_NAMES[WALK_RIGHT], },
{ JUMP, DIKEYBOARD_J, 0, ACTION_NAMES[JUMP], },
{ QUIT, DIKEYBOARD_Q, DIA_APPFIXED, ACTION_NAMES[QUIT], },
// Mouse input mappings
{ WALK, DIMOUSE_XAXIS, 0, ACTION_NAMES[WALK], },
{ JUMP, DIMOUSE_BUTTON0, 0, ACTION_NAMES[JUMP], },
};

Inisialisasi sistem input akan sangat mirip dengan contoh sebelumnya. Semua kita perlu
lakukan adalah menghitung perangkat input semua didukung oleh peta tindakan. Hal ini akan dicapai dengan panggilan untuk EnumerateDevicesBySemantics, yang akan menerima peta dan memerlukan tindakan callback di mana semua perangkat mungkin akan dikembalikan. Callback kemudian harus membangun peta aksi yang spesifik perangkat. Setelah itu dibersihkan, panggilan berikutnya akan kembali membaca perangkat data spesifik, seperti dalam berikut
contoh:

hr = pdidDevice->Poll();
hr = pdidDevice->GetDeviceData( sizeof(DIDEVICEOBJECTDATA),
rgdod, &dwItems, 0 );
for( DWORD j=0; j<dwItems; j++ )
{
UINT_PTR dwAction = rgdod[j].uAppData;
switch( dwAction )
{
case WALK:
(…)
}
}

Perhatikan bahwa GetDeviceData mengembalikan daftar tindakan, sehingga kami dapat memproses beberapa tombol atau kunci dalam yang sama loop.

 

 

 
Leave a comment

Posted by on June 27, 2012 in Uncategorized

 

Pengenalan SQL

Pada praktikum ini kita menggunakan aplikasi database oracle.  Disini kita membuat database dengan 10 data. Pertama yang kita lakukan adalah mengcreate table. Beberapa perintah yang kita pakai di sini antara lain, update, commit, save ponit, dan rollback.

Update disini maksudnya kita mengupdate data yang ada di table yang sebelumnya telah kita bikin. Contoh : update mhs set nama=’Yuli’ where npm=50408007;

Commit adalah perintah yang berfungsi untuk mengembalikan pengeksekusian yang menyetujui rangkaian perintah yang berhubungan erat dengan perintah yang sebelumnya telah berhasil dilakukan.
statment : commit;

Savepoint merupakan penanda dari transaksi yang sedang berlangsung.

Pada praktikum ini kita melakukan savepoint sebanyak 2x.

savepoint yang pertama Artinya jika admin melakukan perintah rollback to satu, maka transaksi yang akan di tampilkan adalah transaksi dimana data sudah di ‘update’. Sedangkan jika admin melakukan perintah rollback (rollback secara kasar), maka transaksi yang terakhir ditampilkan adalah dimulai transaksi ‘insert’ (sebelum ada perintah update).

Savepoint yang kedua Artinya jika admin melakukan perintah rollback to dua, maka transaksi yang akan di tampilkan adalah transaksi dimana data sudah di ‘delete’. Sedangkan jika admin melakukan perintah rollback (rollback secara kasar), maka transaksi yang terakhir ditampilkan adalah dimulai transaksi ‘insert’ (sebelum ada perintah update dan delete).

Rollback adalah operasi yang menyatakan bahwa suatu transaksi dibatalkan (unsuccesfull end-of-transaction). Rollback pada praktikum kali ini juga melakukan perintah rollback sebanyak 2x.

 

Membuat table “mhs”

create table mhs(npm varchar(8) not null, nama varchar(20));

Mengisi data ke dalam table “mhs”

insert into mhs values(‘50408394’, ‘Gigih Aryo’, ‘Ps. Minggu’);

insert into mhs values(‘50408330’, ‘Faisal Reza’, ‘Depok’);

insert into mhs values(‘50408303’, ‘Budi’, ‘Ps. Rebo’);

insert into mhs values(‘50408302’, ‘Eka Yulianti’, ‘Tebet’);

insert into mhs values(‘50408001’, ‘A Landal Haq’, ‘Manggarai’);

insert into mhs values(‘50408302’, ‘Fajar’, ‘Pandeglang’);

insert into mhs values(‘50408827’, ‘Tezhar’, ‘Depok’);

insert into mhs values(‘504083002’, ‘Andrew’, ‘Bekasi’);

insert into mhs values(‘50408003’, ‘Marisa’, ‘Ciputat’);

insert into mhs values(‘50408007’, ‘Ade’, ‘Ci Binong’);

 

Melakukan perintah update

update mhs set nama=’Yuli’ where npm=50408007;

Melakukan perintah rollback

Rollback;

Melihat data hasil perintah “update”

select * from mhs;

 

Melakukan perintah “savepoint” a

Savepoint a;

Melakukan perintah “savepoint” b

Savepoint b;

Melakukan perintah rollback to “savepoint” a

Rollback to a;

 

Melakukan perintah “commit”

Commit;

 

 

 

 
Leave a comment

Posted by on June 10, 2012 in Uncategorized