Produk Kompiler

Produk Terbaru SuperMicro
S
alah satu produsen server yang menghuni
peringkat ketiga dari TOP500
Supercomputer, SuperMicro, mengumumkan
produk terbarunya di Mandarin Oriental Hotal,
Jakarta. Produk yang diperkenalkan kali ini
berbasis Itanium 2. Anda diberi pilihan ukuran
server, mulai dari 1U, 2U, 4U, dan 6U.
Pilihan-pilihan yang diberikan SuperMicro
tersebut tentu memudahkan Anda dalam
mengatur semua peralatan (komputer) di
kantor Anda. Tidak terkecuali cost yang Anda
keluarkan.
Hadir sebagai pembicara tunggal Account
Manager SuperMicro Asia Pasific, Kenny
B
ertempat di kantor IBM, di bilangan
Sudirman, IBM mengumumkan software
Tivoli baru yang mengaitkan informasi
identitas ke dalam proses-proses bisnis inti.
Berbagai solusi dari IBM seperti IBM Tivoli
Access Manager, IBM Tivoli Identity Manager,
IBM Tivoli Privacy Manager, IBM Tivoli
Directory Integrator dan IBM Tivoli Directory
Server, memiliki kapabilitas integrasi dan
otomatisasi yang menciptakan lingkungan
komputasi di antara para mitra, pemasok,
pelanggan dan karyawan secara aman dan
dinamis.
Hadir sebagai pembicara, Achirul Djamal,
Heriy
adi
Heriy
adi
Heriy
adi
IBM Tivoli Identity Manager
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
Chang. Pada acara tersebut juga hadir Account
Manager PT Mega Komputindo Lestari sebagai
distributor SuperMicro di Indonesia. He
Country Manager Software Group IBM
Indonesia dan Julia A. Widjaja, Sales Special-
ist Software IBM Indone

Bahasa Pemograman Baru

Buku Pengantar Bhs Pemrograman LUA (Hasil PI)
September 28th, 2007 — amutiara

Buku berikut hasil kompilasi penulisan Ilmiah Fitrah, Dian, Pamela, eviyanti, Satyani, mahasiswa Teknik Informatika, Universitas Gunadarma. Meskipun hanya berupa terjemahan user manual LUA, namun saya yakin bermanfaat untuk kita. Buku bisa di download disini (pdf file)

Pendahuluan

Saat ini, banyak bahasa pemrograman yang terfokus pada bagaimana caranya membantu anda menulis program-program dengan ratusan ribu baris. Untuk itu, mereka menawarkan anda paket-paket, namespaces, sistem tipe kompleks, ribuan konstruksi, dan halaman-halaman dokumentasi untuk dipelajari.

Namun tidak pada Lua. Justru, Lua mencoba membantu anda untuk memecahkan masalah dalam ratusan baris, bahkan lebih sedikit. Untuk mencapai tujuan ini, Lua mengandalkan sifat extensibility, seperti banyak bahasa lainnya. Tidak seperti hampir semua bahasa lainnya, bagaimanapun, Lua mudah dikembangkan tidak hanya dengan software khusus yang ditulis dengan Lua, tetapi juga dengan software yang ditulis dengan bahasa lain, seperti C dan C++.

Lua dirancang, sejak awal, untuk terintegrasi dengan perangkat lunak yang ditulis dengan C dan bahasa-bahasa konvensional lain. Dualitas bahasa ini membawa banyak manfaat. Lua merupakan bahasa yang sederhana dan mudah, sebagian karena Lua tidak mencoba untuk melakukan apa yang telah dapat dilakukan bahas C, seperti kinerja yang tipis, operasi low-level, atau penghubung dengan perangkat lunak pihak ketiga. Lua mengandalkan C untuk melakukan tugas tersebut. Apa Yang Lua tawarkan adalah apa yang tidak dapat dilakukan dengan baik pada C : suatu jarak yang baik dari perangkat keras, struktur-struktur dinamis, tanpa redudansi, pengecekan yang mudah dan debugging. Untuk itu, Lua mempunyai lingkungan yang aman, manajemen memori otomatis, dan fasilitas terbaik untuk menangani string dan data jenis lain dengan ukuran yang dinamis.

Lebih dari sekedar menjadi bahasa yang dapat diperluas, Lua juga merupakan bahasa perekat (glue language). Lua mendukung pendekatan berbasis komponen pada perkermbangan software, di mana kita membuat satu aplikasi dengan merekatkan komponen-komponen prioritas tinggi yang ada. Biasanya, komponen-komponen ini ditulis dalam susunan hipunan (compiled), bahasa yang statis, seperti C atau C++; Lua merupakan perekat yang kita gunakan untuk menyusun dan menghubungkan komponen-komponen itu.

Biasanya, komponen-komponen (object) ditunjukkan lebih kongkrit, konsep low-level (seperti widgets dan struktur data) yang bukan subjek pada banyak perubahan selama perkembangan program dan yang mengambil sebagian terbesar waktu CPU dari program akhir. Lua memberi bentuk akhir dari aplikasi, yang mungkin akan mengubah selama daur hidup produk. Bagaimanapun, tidak seperti teknologi glue lainnya. Oleh karena itu kita dapat menggunakan Lua tidak hanya untuk melekatkan komponen, tetapi juga untuk mengadaptasikan dan mengatur bentuk komponen itu, atau bahkan menciptakan seluruh komponen itu.

Tentu saja, Lua bukan satu-satunya bahasa penulisan (scripting language). Terdapat bahasa-bahasa lain yang dapat digunakan dengan tujuan yang hampir sama, seperti Perl, Tcl, Ruby, Forth, and Python. Keunggulan fasilitas-fasilitas berikut menjadikan Lua jauh berbeda dari bahasa-bahasa ini; meski bahasa-bahasa lain berbagi sebagian fasilitas berikut dengan Lua, tidak ada bahasa lain yang menawarkan profile serupa:

· Extensibility: Extensibility Lua sangat menarik perhatian sehingga banyak orang menganggap Lua bukan sebagai suatu bahasa, tetapi sebagai suatu perangkat untuk membangun bahasa-bahasa domain spesifik. Lua telah dirancang untuk diperluas/diaplikasikan, pada kode Lua dan kode eksternal C. Sebagai suatu bukti dari konsep, Lua menerapkan banyak kemampuan dasarnya melalui fungsi-fungsi eksternal. Hal ini sangat mudah untuk menghubungkan Lua dengan C/C++ dan bahasa-bahasa lain, seperti Fortran, Java, Smalltalk, Ada, bahkan dengan bahasa-bahasa penulisan yang lain.

· Simplicity / Sederhana : Lua adalah bahasa yang mudah dan sederhana. Lua mempunyai sedikit konsep (namun tangguh). Kesederhanaan ini membuat Lua mudah dipelajari dan memperbesar suatu implementasi yang sederhana. Distribusinya yang lengkap (source program, manual, biner-biner lebih untuk beberapa platform) sesuai dengan floopy disk.

· Efisiensi: Lua mempunyai implementasi yang efisien. Benchmark-benchmark yang mandiri menunjukkan Lua sebagai bahasa tercepat dalam dunia bahasa penulisan (interpreted).

· Portabilitas: Ketika kita berbicara tentang portabilitas, kita tidak berbicara tentang menjalankan Lua di platform Windows dan Unix. Kita berbicara tentang menjalankan Lua di semua platform yang sudah pernah kita dengar, seperti: NextStep, OS/2, PlayStation II (Sony), Mac OS-9 dan OS X, BeOS, MS-DOS, IBM, EPOC, PalmOS, MCF5206ELITE Evaluation Board, RISC OS, dan tentu saja semua jenis Unix dan Windows. Source program untuk masing-masing platform hampir sama. Lua tidak menggunakan kumpulan kondisi untuk menyesuaikan kodenya kepada mesin-mesin yang berbeda; sebagai gantinya, Lua mengikuti standar ANSI ( ISO) C. Dengan cara itu, biasanya anda tidak perlu menyesuaikan pada suatu lingkungan baru: Jika anda mempunyai satu compiler ANSI C, anda hanya harus meng-kompile Lua, out of box.

Bagian kehandalan Lua terletak pada pustakanya (library). Salah satu dari kekuatan utama Lua yaitu sifat ekstensibilitas pada tipe barunya dan fungsi-fungsinya. Banyak fitur yang berperan dalam kehandalan ini. Pengetikan dinamis mengizinkan tingkat polimorfisme. Manajemen memori otomatis menyederhanakan penghubungan, karena tidak perlu memutuskan siapa yang bertanggung jawab atas alokasi dan dealokasi memori, atau bagaimana caranya menangani overflows. Fungsi-fungsi penugasan yang tinggi (Higher-order) dan fungsi-fungsi tanpa nama mengizinkan suatu prioritas tinggi parametrisasi, pembuatan fungsi-fungsi lebih serbaguna. Lua hadir dengan suatu set kecil pustaka standar. Saat menginstall Lua pada lingkungan dengan kapasitas terbatas, seperti processor, mungkin harus lebih hati-hati untuk memilih pustaka yang dibutuhkan. Lebih dari itu, jika keterbatasan sangan besar, dengan mudah dapat masuk pada pustaka source program dan memilih satu-persatu fungsi-fungsi mana saja yang harus tetap disimpan. Ingat, bagaimanapun, Lua lebih sederhana (bahkan dengan semua standar pustaka) dan dalam kebanyakan sistim anda dapat menggunakan keseluruhan paket tanpa kawatir.

Struktur Program COM

Struktur PEStruktur PE

#####################################
Dokumentasi asli ada di http://www.sroer.org/index.php?type=download&filename=chapter_1.zip&types=tugas
“Chapter 1 : Struktur Program COM”
#####################################

Mengapa menggunakan bahasa Assembly?

1. Cepat, Lebih cepat dari compiler lainnya.
2. Lebih dekat dengan bahasa mesin, disebabkan bahasa Assembly dialamatkan
1:1 dengan bahasa mesin.
3. Kode yang dihasilkan lebih kecil dari compiler lainnya.
4. Dapat mengakses hardware lebih luas.

Compiler Assembly sudah banyak tersedia di internet, contohnya TASM (Turbo
Assembler), MASM (Microsoft Assembler), NASM (Netwide Assembler), dan lainlain.
Salah satu bentuk program yang dapat dihasilkan oleh compiler Assembly
adalah file COM. File COM adalah struktur program paling sederhana. Ada
beberapa syarat dalam pembuatan atau penggunaan file COM :

1. Kode dan data program harus tidak lebih besar dari 64 KB.
2. Tidak dapat memesan alamat memori melalui sistem operasi.

Contoh bentuk kode program COM, ketiklah di teks editor yang dapat
menghasilkan file ASCII murni seperti Notepad, vi, atau lainnya. Simpan
dengan nama COBAASM.ASM.
Versi TASM :
———————————-
ideal
p386n
model tiny
codeseg
org 100h
jmp start
;tempat data dan subrutin
start:
mov ax, 4c00h
int 21h
end
———————————-
Versi MASM :
———————————-
.386
.model tiny
.code
org 100h
entry:
jmp start
;tempat data dan subrutin
start:
mov ax, 4c00h
int 21h
end entry
———————————-

Compilelah dengan perintah TASM.EXE COBAASM.ASM lalu dikuti dengan perintah
TLINK.EXE /T COBAASM.OBJ jika menggunakan compiler TASM. Untuk compiler MASM
gunakan perintah ML COBAASM.ASM. Jika tak ada error maka akan terlihat
output seperti ini :

E:\PUSHM0~1\TASM3>tasm.exe cobaasm.asm
Turbo Assembler Version 3.0 Copyright (c) 1988, 1991 Borland
International
Assembling file: cobaasm.asm
Error messages: None
Warning messages: None
Passes: 1
Remaining memory: 460k

File yang dihasilkan dari proses kompilasi adalah file OBJ. Untuk merubah
file OBJ ini menjadi sebuah file EXE atau COM kita perlu melakukan “linking”
dengan program linker. Disini kita menggunakan TLINK.exe.

E:\PUSHM0~1\TASM3>tlink.exe /t cobaasm.obj
Turbo Link Version 3.0 Copyright (c) 1987, 1990 Borland International

Argumen /t pada tlink.exe berarti kita ingin membuat file COM dari file .obj
yang dihasilkan oleh compiler. Sedangkan untuk membuat file EXE tidak perlu
mengikutkan argumen /t.
Jalankan program COM tersebut :

E:\PUSHM0~1\TASM3>cobaasm.com

Apa yang terjadi? Tentunya tidak terjadi apa-apa karena kita belum
menuliskan perintah untuk program tersebut. Jadi program cobaasm.com
tersebut hanya diload ke memory lalu terminate dengan sendirinya.
Apa sih arti dari kode-kode diatas? lalu apa perbedaan antara kode yang
ditulis untuk compiler TASM dengan MASM?
berikut adalah penjelasan lengkapnya…

1. Perintah “ideal” berarti kita menggunakan syntax ideal dalam compiler
TASM.
2. Perintah “p386n” atau “.386” berarti kita menggunakan intruksi prosesor
80386.
3. Perintah “model tiny” atau “.tiny” berarti kita ingin menggunakan
format file COM.
4. Perintah “codeseg” atau “.code” adalah awal dari kode program kita.
5. Perintah “org 100h” berarti program kita akan dimulai dari offset 100h.
6. Dalam compiler MASM kita perlu mendeklarasikan entry point untuk
program, disini kita gunakan label “entry:”.
Perlu diketahui kalau deklarasi sebuah label : “nama_label:”.
7. Program COM selalu diawali dengan “peloncatan” atau “jump” ke awal kode
program. Perintah yang digunakan adalah “jmp” diikuti dengan nama
label, misalnya “start”. Bila diperhatikan, diantara perintah “jmp
start” dan label “start” adalah tempat dimana kita bisa deklarasikan
variabel-variabel ataupun data-data yang digunakan dalam program kita.
8. Untuk mengakhiri jalannya program, kita perlu membuat suatu perintah.
Perintah “end” atau “end entry” disini hanya menunjukkan akhir dari
kode program, bukan untuk MENGAKHIRI proses. 2 perintah yang digunakan
adalah :

MOV AX, 4c00h
int 21h

Perintah MOV adalah perintah untuk menyalin isi data atau register ke
suatu register lain. Bentuk umum perintah MOV :

MOV tujuan_salin, asal_salin

Pada perintah diatas kita akan menyalin atau lebih tepatnya “mengisi”
register AX (lebih dikenal dengan register akumulator 16 bit) dengan
bilangan heksa 4c00.
Sedangkan perintah INT 21h berarti kita menjalankan interrupt sistem
dengan fungsi 21h.

PROGRAM KOMPUTER SIMULATION

Delapan teknik yang dapat digunakan untuk men-debug program komputer dari model simulasi: 

Teknik 1:

Dalam mengembangkan model simulasi, tulis dan debug program komputer dalam bentuk modul atau subprogram. 

Teknik 2:

Disarankan agar lebih dari satu orang membaca program komputer jika model simulasi yang dikembangkan besar. Penulis program itu sendiri mungkin tidak dapat memberikan kritik yang baik. 

Teknik 3:

Jalankan simulasi dengan beberapa setting parameter input dan lihat apakah outputnya masuk akal. 

Teknik 4:

Lakukan “trace”, di mana status sistem yang disimulasi, yaitu: daftar event, variabel status, cacahan statistik, dsb., dicetak setelah masing-masing event terjadi dan dibandingkan dengan perhitungan manual untuk melihat apakah program bekerja sebagaimana mestinya. 

Teknik 5:

Jika mungkin, model harus dijalankan dengan asumsi-asumsi yang disederhanakan di mana karakteristik yang sebenarnya diketahui atau dapat dihitung dengan mudah. 
 

Teknik 6:

Pada beberapa model simulasi, akan sangat menolong jika ada animasi output simulasi yang dapat diteliti. 

Teknik 7:

Tuliskan mean dan varians sampel untuk setiap distribusi probabilitas input simulasi dan bandingkan dengan mean dan varians yang diinginkan (mis., historikal).

Langkah ini menentukan apakah nilai-nilai input dibangkitkan dengan benar dari distribusi-distribusi tsb. 

Teknik 8:

Gunakan paket simulasi untuk memperkecil jumlah baris kode yang dibutuhkan. 
 

Pandangan Umum Mengenai Validasi 

    1. Ekperimen dengan model simulasi merupakan pengganti dari eksperimen dengan sistem yang ada atau yang diusulkan. Dengan demikian, tujuan ideal dari validasi adalah menjamin bahwa model simulasi cukup baik sehingga dapat digunakan untuk mengambil keputusan bagi sistem.

    2. Kemudahan atau kesulitan proses validasi bergantung pada kompleksitas sistem yang dimodelkan dan apakah versi sistem tersebut sudah ada.

    3. Model simulasi dari sistem yang kompleks hanya dapat merupakan pendekatan sistem yang sebenarnya.

    4. Model simulasi harus selalu dikembangkan untuk sekumpulan tujuan tertentu. Model yang valid untuk satu tujuan belum tentu valid untuk tujuan lainnya.

    5. Catatan asumsi-asumsi model simulasi harus di-update secara teratur, dan akhirnya menjadi laporan akhir.

    6. Model simulasi harus divalidasi relatif terhadap ukuran-ukuran kinerja yang nanatinya dipakai untuk pengambilan keputusan.

    7. Validasi bukan sesuatu yang harus diusahakan setelah model simulasi selesai dikembangkan, melainkan, pengembangan model dan validasi harus dilakukan bersama-sama sepanjang studi simulasi.

    8. Umumnya tidak mungkin melakukan validasi statistik antara data output model dan data output sistem ybs (jika ada), bergantung pada sifat data tsb. 
     

Pendekatan Tiga Langkah untuk Mengembangkan Model Simulasi yang Valid dan Credible 

    1. Mengembangkan model dengan High Face Validity, yaitu, model yang dipermukaannya tampak masuk akal bagi orang-orang yang memiliki pengetahuan tentang sistem yang dipelajari.

    Pemodel simulasi harus menggunakan semua informasi dari:

    – Wawancara dengan “pakar’ sistem.

    – Observasi sistem.

    – Teori yang ada.

  •  

      – Hasil yang relevan dari model simulasi yang mirip.

  •  

      – Pengalaman/Intuisi

  •  

      2. Menguji Asumsi-asumsi model secara empiris.

    Tujuannya adalah secara kuantitatif menguji asumsi-asumsi yang dibuat pada tahap awal pengembangan model. Salah satu alat bantu yang paling berguna adalah analisis sensitifitas. Cara ini dapat digunakan untuk mennetukan apakah output simulasi berubah secara signifikan ketika nilai parameter input diubah. Cara: dengan menggunakan metode bilangan acak umum. 

    3. Menentukan seberapa representatif data output simulasi.

    Jika data output model simulasi memperlihatkan hasil yang “bagus” ketika dibandingkan dengan data output sistem yang sebenarnya atau yang diharapkan, maka model sistem tersebut “valid”. 

Prosedur Statistik untuk Membandingkan Observasi Dunia Nyata dengan Data Output Simulasi 

1. Pendekatan Inspeksi

    Pendekatan inspeksi dasar: model diberi input dengan data acak, dan hasilnya dibandingkan dengan observasi dunia nyata.

    Pendekatan inspeksi korelasi:  

    Data input sistem historis   Data input sistem historis 
     

    Sistem yang sebenarnya   Model simulasi 

                         bandingkan

    Data output sistem    Data output model 

    2. Pendekatan Interval Konfidensi Berdasarkan Data Independen 

    3. Pendekatan Time-Series 
     

    EKSPERIMEN DISAIN 

Untuk setiap disain sistem yang akan disimulasikan, harus dibuat keputusan untuk isu-isu seperti:

– Kondisi awal untuk menjalankan simulasi.

– Lama periode warmup (jika ada).

– Lama jalannya simulasi.

    – Banyaknya simulasi-simulasi independen (replikasi) untuk setiap alternatif. 

    Tipe-tipe simulasi berdasarkan analisis output:

    1. Terminating simulation

    2. Nonterminating simulation:

    a. Steady-state parameters

    b. Steady-state cycle parameters

    c. Other parameters. 

ARTI COMPILER

Kali ini bakalan membahas soal compiler….emmm….tapi sederhana aja sih….soalnya kita

juga buildernya pakek visual basic….so…kayaknya gak kayak visual c++ yang emang bisa

jadi compiler karena OOP-nya ituh….gitu deh…tapi senoga bisa berguna buat pengetahuan

membuat virus dan program buat kalian….okeh….just check it out!!!!!!

COMPILER

Apa sih compiler ituh?????apa yah….kalo secara ilmiah saya gak bisa jelasin tapi biasanya

dipakai untuk menggenerate program yang akan dibuat. Misalnya sebuah source code di vsual

basic akan dijadikan sebuah software aplikasi atau program….maka source code tersebut

harus di-compile sedemikian rupa agar jadi sebuah aplikasi ato software dengan sebuah

compiler…

CIRI – CIRI PROGRAM COMPILER

Ciri-cirinya :

1) Dapat memodifikasi Caption program sehingga menjadi nama lain. Misalnya sebuah program

dicopy biasa dari komputer satu ke komputer lain maka captionnya akan sama…catatan bukan

nama apliaksi or .exe nya yang diubah…tapi judul program yang ada di atas apliaksi

tersebut.

2) Dapat mengganti gambar dari aplikasi tersebut. Misalnya gambar A.jpg diletakkan dalam

sebuah program. Kalau dicopy secara biasa, otomatis gambar A.jpg akan ter-copy juga ke

program tersebut. Tetapi bila dicompile…maka gambar dapat berubah.

FUNGSI PROGRAM COMPILER

Fungsi dari program compiler ini adalah :

1) Mengubah caption, sehingga jika suatu program dikunci oleh virus seperti regedit,

msconfig, ms Dos shell dan lain – lain dapat tetap dijalankan, karena fungsi dari compiler

tersebut merubah caption program. Biasanya virus mendeteksi dari caption program tersebut

untuk menendang atau mematikan program dalamkode pertahanan virus.

2) Buat seneng- seneng and nambah program ajah….hahahahahhahaha

CARA KERJA COMPILER SEDERHANA

cara kerjanya sangat mudah, seperti yang disebutkan bahwa compiler disini adalah sangat

sederhana sekalai. Sehingga masih menggunakan fasilitas dari VB berupa modul COPYFILE. Jadi

bukan dicompiler secara murni, jadi Algoritma nya :

1) Program Dijalankan
2) Program akan mengecek apakah file yang diperlukan untuk compiler ada…disini saya

memakai aplikasi rdfce.ext
3) Setelah menemukan file rdfce.ext maka program akan menjalankan modul COPYFILE untuk

menyalin isi dari text dan gambar
4) Kemudian program akan mencompile aplikasi dan mengeluarkan file output sesuai dengan

nama file…kalau disini defaultnya test.exe

Mudah kan…..

PENERAPAN

Hal jahat :

Bisa diterapkan di aplikasi virus, misalkan untuk memberi penanda pada virus yang akan

digandakan. Misalnya virus a diberi penanda karakter A, otomatis untuk menyebarkan virus

tersebut agar tidak terdeteksi antivirus, maka kita harus memberi penanda lain. Dengan

menjalankan modul compiler tersebut kita dapat memberi penanda virus A dengan karakter B.

Tul gak.

Hal Baik:

Bisa diterapkan di aplikasi pembunuh virus seperti show kill process. Anda bisa donlot

showkillprocess di http://www.virologi.info./ Tapi biasanya sebuah virus sudah menandai, jika

showkillprocess.exe berjalan, maka program tersebut akan dimatikan (Seperti brontok yang

menendang apliaksi regedit). Nah dengan menjalankan modul compiler ini kita dapat mengubah

isi caption dari program showkillprocess.exe sehingga caption-nya berbeda dan aplikasi

tersebut tidak ditendang oleh virus tersebut.