Thursday, July 26, 2012
Thursday, April 12, 2012
Jenis-Jenis Monitor dan resolusinya
1 komentar
10:23 AM
Diposkan oleh
Dg.Paniki
Label:materi-materi,berita. free download Materi - materi
Label:materi-materi,berita. free download Materi - materi
Jenis-Jenis Monitor
1. Monitor Catoda
Ray Tube (CRT)
Monitor ini merupakan monitor yang mempunyai
tabung yang memproduksi elektron untuk menembak layar, sehingga tercipta gambar
di layar seperti cara kerja televisi. Monitor ini memakai port 15 pin dengan 3
baris.
2. Monitor Liquid
Crystal Display (LCD)
Cara kerja monitor ini adalah dengan
memberikan stimulasi arus listrik dari luar kepada luquid crystal (materi
bipheny). Sehingga akan mengubah properti dari cahaya yang dilewatkan crystal.
3. Monitor TFT
LCD
Berupa Liquid Crystal yang diisikan diantara
dua pelat gelas, yaitu colour filter glass dan TFT glass. Colour filter glass
mempunyai filter warna yang bertugas memancarkan warna, sedangkan TFT glass
mempunyai thin film transistor sebanyak pixel yang ditampilkan. Liquid crystal
bergerak sesuai dengan perbedaan voltase antara colour filter glass dengan TFT
glass. Jumlah cahaya yang dipasok oleh back light ditentukan oleh jumlah
pergerakan liquid crystal yang pada gilirannya akan membentuk warna.
Jenis Monitor Berdasarkan Signal pengiriman
data.Read more -->
Wednesday, April 11, 2012
Men of War Condemned Heroes PC SKIDROW
Men of War: Heroes Dihukum adalah angsuran terbaru dalam Pria terlaris dari seriPerang yang menceritakan kisah
Monday, April 9, 2012
Tipe Data di Visual Basic
0
komentar
8:06 PM
Diposkan oleh
Dg.Paniki
Label:materi-materi,berita. free download Materi - materi
Label:materi-materi,berita. free download Materi - materi
Di Visual Basic menyediakan beberapa tipe data untuk membuat program aplikasi. Ketepatan memilih tipe data akan sangat menentukan pemakaian resource (sumber daya) oleh aplikasi yang kita buat sehingga akan dihasilkan program aplikasi yang efisien dan memiliki permormance tinggi.
Tipe-tipe data yang disediakan oleh Visual Basic antara lain adalah :
- Byte, dengan ukuran Byte = 1 byte, memiliki jangkauan = 0 s.d 255
- Boolean, dengan ukuran Byte = 2 byte, memiliki jangkauan = True (benar) atau False (salah)
- Integer, dengan ukuran Byte = 2 byte, memiliki jangkauan = -32.768 s.d 32.767
- Long (Long Integer), dengan ukuran Byte = 4 byte, memiliki jangkauan = -2.147.483.648 s.d 2.147.483.648
- Single, dengan ukuran Byte = 4 byte, memiliki jangkauan = -3.402823 E38 s.s -1.401298 E -45 (-); 1.401298 E -45 s.d 3.402823 E38 (+)
- Double, dengan ukuran Byte = 8 byte, memiliki jangkauan = -1.79769313486232 E308 s.d -4.94065645841247 E-324 (-); 4.94065645841247 E-324 s.d 1.79769313486232 E308 (+)
- Currency (nilai uang), dengan ukuran Byte = 8 byte
- Decimal, dengan ukuran Byte = 14 byte
- Date (tanggal), dengan ukuran Byte = 8 byte
- Object, dengan ukuran Byte = 4 byte, memiliki jangkauan = mengacu pada objek yang digunakan
- String (panjang bervariasi), dengan ukuran Byte = 10 byte + panjang string, memiliki jangkauan = 0 hingga kurang lebih 1 milyar
- String (panjang tetap), dengan ukuran Byte = panjang string, memiliki jangkauan = 1 hingga kurang lebih 65.400
- Variant (dengan angka), dengan ukuran Byte = 16 byte, memiliki jangkauan = sembarang angka hingga jangkauan jenis double
- Variant (dengan karakter), dengan ukuran Byte = 22 byte + panjang string, memiliki jangkauan = sama dengan jangkauan variable string
- User-defined (ditetapkan oleh pemakai), dengan ukuran Byte = sesuai dengan tipe data yang digunakan, memiliki jangkauan = jangkauan tiap elemen sama dengan jangkauan tipe data yang digunakan dalam elemen tersebut
Demikianlah tipe data yang terdapat di Visual Basic. Semoga dapat bermanfaat. Salam.
Wednesday, April 4, 2012
5 makanan yang tak boleh masuk kulkas
Kita pasti berpikir bahwa cara yang tepat untuk menyimpan sayur adalah dengan dimasukkan ke kulkas supaya tetap segar. Namun ternyata tidak semua bahan makanan dapat disimpan di dalam kulkas. Berikut adalah lima jenis contohnya.
Tomat
Ok, secara teknis tomat adalah buah, namun lebih dekat disebut sebagai sayur. Jika kamu pernah menanam tomat, maka kamu akan tahu bahwa tomat suka panas dan benci dingin. Ternyata walaupun setelah dipetik, tomat masih tidak tahan dingin. Kulkas bukanlah tempat yang cocok untuk menyimpan tomat. Tomat yang disimpan dalam kulkas menjadi layu dan meskipun masih bisa dipakai untuk dimasak namun tidak untuk dimakan segar. Simpanlah di meja dapur (namun tidak terkena sinar matahari langsung) dan nikmati saat sudah ranum.
Kemangi
Sama seperti tomat, kemangi juga suka panas, jadi jika disimpan di tempat dingin akan menyebabkan kemangi layu secara dini. Kemangi akan berada dalam kondisi maksimal jika disimpan di atas meja dapur dan dirawat seperti bunga segar. Setangkup kemangi dapat disimpan dalam sebuah cangkir berisi air (ganti airnya setiap sehari atau dua hari sekali) dan jauhkan dari sinar matahari. Bungkus longgar dengan kantong plastik untuk menjaganya tetap lembap (namun pastikan plastik mempunyai lubang untuk jalan masuk udara segar).
Kentang
Kentang baik disimpan pada suhu yang dingin namun bukan suhu dingin yang dapat membuatnya beku. Kentang baik disimpan dalam suhu sekitar 7,2 derajat Celcius, sekitar 10 derajat lebih hangat daripada kulkas pada umumnya. Sebagian besar dari kita tidak memiliki ruang penyimpanan bawah tanah (tempat yang gelap dan bersuhu dingin untuk menyimpan sayuran umbi akar seperti kentang), jadi menyimpan kentang di dalam kantong kertas di tempat dingin (seperti dalam lemari makanan) adalah yang terbaik.
Kenapa kertas? Karena kertas lebih memiliki pori-pori untuk benapas, tidak seperti plastik. Jadi kentang tidak akan membusuk dengan mudah. Dan kenapa bukan kulkas? Menyimpan kentang di dalam kulkas dapat mengubah zat tepungnya menjadi gula dengan mudah, yang dapat memengaruhi rasa, tekstur, dan proses kematangannya.
Bawang
Bawang keluar dari tanah dengan kulit pelindung yang tipis. Untuk membuat dan menjaga lapisan kulit yang tipis, bawang butuh "disembuhkan" dan disimpan di tempat yang kering seperti lemari penyimpan makanan, yang tidak selembap kulkas. Selain itu, kekurangan sirkulasi udara dapat membuat bawang menjadi busuk. Oleh karena itu bawah sebaiknya tidak disimpan di dekat kentang, yang mengeluarkan gas dan kelembapan dan dapat menyebabkan bawang lebih cepat busuk.
Simpanlah bawang di ruangan yang dingin, kering, gelap, dan memiliki ventilasi yang baik. (Cahaya dapat menyebabkan rasa bawang menjadi pahit). Namun tak semua bawang harus diperlakukan sama. Daun bawang dan kucai memiliki kadar air yang tinggi dan lebih mudah rusak, jadi harus disimpan di dalam kulkas.
Avokad
Saat kita membeli avokad yang sekeras batu, jangan simpan avokad itu di dalam kulkas, karena akan memperlambat proses pematangannya. Namun jika kita memiliki avokad yang telah matang dan tidak akan langsung dikonsumsi, simpanlah di dalam kulkas untuk mencegahnya cepat busuk.
Jadi inti dalam penyimpanan avokad adalah, simpan avokad yang belum matang dalam lemari, dan simpan avokad yang telah matang dalam kulkas apabila buah tersebut tak akan dimakan saat itu juga.
Tomat
Ok, secara teknis tomat adalah buah, namun lebih dekat disebut sebagai sayur. Jika kamu pernah menanam tomat, maka kamu akan tahu bahwa tomat suka panas dan benci dingin. Ternyata walaupun setelah dipetik, tomat masih tidak tahan dingin. Kulkas bukanlah tempat yang cocok untuk menyimpan tomat. Tomat yang disimpan dalam kulkas menjadi layu dan meskipun masih bisa dipakai untuk dimasak namun tidak untuk dimakan segar. Simpanlah di meja dapur (namun tidak terkena sinar matahari langsung) dan nikmati saat sudah ranum.
Kemangi
Sama seperti tomat, kemangi juga suka panas, jadi jika disimpan di tempat dingin akan menyebabkan kemangi layu secara dini. Kemangi akan berada dalam kondisi maksimal jika disimpan di atas meja dapur dan dirawat seperti bunga segar. Setangkup kemangi dapat disimpan dalam sebuah cangkir berisi air (ganti airnya setiap sehari atau dua hari sekali) dan jauhkan dari sinar matahari. Bungkus longgar dengan kantong plastik untuk menjaganya tetap lembap (namun pastikan plastik mempunyai lubang untuk jalan masuk udara segar).
Kentang
Kentang baik disimpan pada suhu yang dingin namun bukan suhu dingin yang dapat membuatnya beku. Kentang baik disimpan dalam suhu sekitar 7,2 derajat Celcius, sekitar 10 derajat lebih hangat daripada kulkas pada umumnya. Sebagian besar dari kita tidak memiliki ruang penyimpanan bawah tanah (tempat yang gelap dan bersuhu dingin untuk menyimpan sayuran umbi akar seperti kentang), jadi menyimpan kentang di dalam kantong kertas di tempat dingin (seperti dalam lemari makanan) adalah yang terbaik.
Kenapa kertas? Karena kertas lebih memiliki pori-pori untuk benapas, tidak seperti plastik. Jadi kentang tidak akan membusuk dengan mudah. Dan kenapa bukan kulkas? Menyimpan kentang di dalam kulkas dapat mengubah zat tepungnya menjadi gula dengan mudah, yang dapat memengaruhi rasa, tekstur, dan proses kematangannya.
Bawang
Bawang keluar dari tanah dengan kulit pelindung yang tipis. Untuk membuat dan menjaga lapisan kulit yang tipis, bawang butuh "disembuhkan" dan disimpan di tempat yang kering seperti lemari penyimpan makanan, yang tidak selembap kulkas. Selain itu, kekurangan sirkulasi udara dapat membuat bawang menjadi busuk. Oleh karena itu bawah sebaiknya tidak disimpan di dekat kentang, yang mengeluarkan gas dan kelembapan dan dapat menyebabkan bawang lebih cepat busuk.
Simpanlah bawang di ruangan yang dingin, kering, gelap, dan memiliki ventilasi yang baik. (Cahaya dapat menyebabkan rasa bawang menjadi pahit). Namun tak semua bawang harus diperlakukan sama. Daun bawang dan kucai memiliki kadar air yang tinggi dan lebih mudah rusak, jadi harus disimpan di dalam kulkas.
Avokad
Saat kita membeli avokad yang sekeras batu, jangan simpan avokad itu di dalam kulkas, karena akan memperlambat proses pematangannya. Namun jika kita memiliki avokad yang telah matang dan tidak akan langsung dikonsumsi, simpanlah di dalam kulkas untuk mencegahnya cepat busuk.
Jadi inti dalam penyimpanan avokad adalah, simpan avokad yang belum matang dalam lemari, dan simpan avokad yang telah matang dalam kulkas apabila buah tersebut tak akan dimakan saat itu juga.
Friday, March 30, 2012
2.1. Menyeleksi Gambar
Menyeleksi berarti memilih bagian tertentu dari gambar. Dengan seleksi kita dapat mengcopy, mengubah, menggeser, atau menambahkan efek kepada bagian yang terseleksi tanpa mempengaruhi bagian lain.
Ada tiga cara menyeleksi yaitu:
- Marquee Tool, yaitu menyeleksi dalam bentuk kotak, elips, row, dan kolom
- Lasso Tool, untuk menyeleksi dalam bentuk bebas, poligonal atau kekontrasan gambar (Magnetic Lasso Tool).
- Magic Wand Tool, untuk menyeleksi berdasarkan persamaan warna.
Tipe seleksi ada dua (dapat dipilih pada Option Bar), yaitu:
- Normal, memiliki pinggiran yang tajam.
- Feather, memiliki pinggiran yang halus atau kabur.
2.2. Tool-tool yang lain
2.3. Praktek Bab II
2.3.1. Rectangular Marquee Tool
Gunakan rectangular marquee tool untuk memotong gambar dalam bentuk kotak. Gunakan menu Select -> Transform Selection untuk mengubah seleksi dan menu Select -> Feather untuk mengatur ketajaman pinggiran potongan.
2.3.2. Elliptical Marquee Tool
Digunakan untuk membuat seleksi elips atau lingkaran. Anda dapat menggunakan Select -> Transform Selection (atau klik kanan) untuk mengubah bidang yang mau diseleksi. Gunakan menu Select -> Feather untuk mengatur ketajaman tepi gambar. Gunakan Select -> Inverse untuk membalik seleksi.
2.3.3. Lasso Tool
Seleksi ini digunakan untuk menyeleksi bentuk bebas dengan mouse.
2.3.4. Polygonal Lasso Tool
Polygonal Lasso Tool digunakan untuk menyeleksi gambar yang memiliki tepi garis lurus, misalnya piramida pada gambar 2.5. Jika tombol Alt ditekan maka Polygonal Lasso Tool akan berfungsi seperti Lasso Tool biasa. Contoh gambar hasil seleksi piramida diperkecil dan diletakkan pada sudut kanan bawah.
2.3.5. Magnetic Lasso Tool
Magnetic Lasso Tool penggunaanya cukup mudah, karena dengan tool ini seleksi gambar akan secara otomatis membuat garis seleksi pada gambar yang berwarna kontras.
2.3.6. Magic Wand Tool
Magic wand tool akan menyeleksi gambar yang memiliki warna sama.
2.3.3. Crop Tool
Crop tool digunakan untuk menghilangkan bagian yang tidak diseleksi. Contoh penggunaanya di sini digunakan untuk memperbaiki hasil scan yang miring.
2.3.3. Healing Brush Tool
Healing Brush Tool digunakan untuk memperbaiki gambar pada bagian tertentu. Aktifkan tool ini, kemudian tekan Alt + Klik pada objek pada bagian yang tidak berkeriput, kemudian klik pada bagian yang keriputnya ingin dihilangkan.
2.3.4. Spot Healing Brush Tool
Spot Healing Brush Tool digunakan untuk memperbaiki kerusakan gambar. Di sini Anda tidak perlu menentukan area yang akan digunakan sebagai patokan, karena akan secara otomatis terpilih dari area di sekitarnya. Misalnya digunakan untuk menghilangkan keretakan pada patung seperti pada gambar 2.10.
Tool ini merupakan tool baru pada Adobe Photoshop CS2 yang tidak ada pada versi sebelumnya.
2.3.5. Patch Tool
Patch Tool digunakan untuk memperbaiki gambar. Tool ini dibuat dengan cara membuat selection dengan mouse atau dengan menahan tombol ALT untuk menghasilkan bentuk poligonal. Selanjutnya drag ke daerah yang akan dijadikan patokan perbaikan.
2.3.6. Red Eye Tool
Red Eye Tool digunakan untuk memperbaiki warna merah pada mata.
2.3.7. Clone Stamp Tool
Clone Stamp Tool digunakan untuk membuat duplikat area pada gambar, atau yang disebut cloning. Tekan ALT pada objek yang akan dikloning, kemudian gunakan mouse pada area tempat objek baru mau diletakkan.
2.3.8. Background Eraser Tool
Tool ini digunakan untuk menghapus background yang memiliki kemiripan warna. Misalnya digunakan untuk menghapus background langit pada gambar kupu-kupu.
2.3.9. Magic Eraser Tool
Seperti Background Eraser Tool, tool ini akan menghapus area dengan warna sama, namun efeknya adalah ke seluruh gambar, bukan hanya area yang diklik.
2.3.10. Color Replacement Tool
Color Replacement Tool akan mengubah warna gambar tanpa mengubah bentuk dari gambar tersebut. Tool ini akan secara otomatis hanya mengubah area dengan warna sama menjadi warna lain yang dikehendaki.
2.3.11. Blur, Sharpen, dan Smugde Tool
Blur Tool digunakan untuk mengaburkan area. Misalnya digunakan untuk menghilangkan bintik-bintik pada wajah. Sharpen Tool merupakan kebalikan dari Blur Tool. Dengan Sharpen Tool, gambar akan menjadi lebih tajam. Smugde Tool digunakan untuk mengubah bentuk gambar dengan cara drag mouse.
2.3.12. Dogde, Burn, dan Sponge Tool
Dogde Tool digunakan untuk membuat area menjadi lebih terang. Burn Tool digunakan untuk mempergelap area. Spong Tool digunakan untuk mencerahkan (saturate) atau mengurangi warna (desaturate).
Tuesday, March 27, 2012
1 komentar
11:38 AM
Diposkan oleh
Dg.Paniki
Label:materi-materi,berita. free download Materi - materi
Label:materi-materi,berita. free download Materi - materi
PENGANTAR
TEKNIK OPTIMASI
BAB
I
PENDAHULUAN
1.1 Latar Belakang
Kalimat optimasi sifatnya termasuk global,
karena banyak digunakan sebagai kata kunci paling populer, oleh karena itu saya
akan menjelaskan apa itu optimasi yang sepertinya masih banyak yang bingung.
Optimasi secara umum adalah untuk memaksimalkan atau mengoptimalkan sesuatu hal
yang bertujuan untuk mengelola sesuatu yang dikerjakan, sehingga optimasi bisa
dikatakan kata benda yang berasal dari kata kerja, dan optimasi bisa dianggap
baik sebagai ilmu pengetahuan dan seni menurut tujuan yang ingin dimaksimalkan.
Ilmu pengetahuan adalah teknik optimasi, seni adalah
menentukan di mana dan kapan optimasi harus diterapkan. Menurut definisi,
optimasi adalah "proses produksi lebih efisien (lebih kecil dan / atau
lebih cepat) program melalui seleksi dan desain struktur data, algoritma, dan
urutan instruksi dan lain-lainnya. Banyak Fakor yang berkaitan dengan optimasi,
seperti optimasi computer, optimasi Web dan lain-lainnya, sehingga optimasi
memnag diperlukan untuk hal apapun dan optimasi itu artinya membuat sesuatu
sebagus mungkin.atatu paling maksimal. Persoalan optimasi adalah persoalan yang
sangat penting untuk diterapkan untuk segala sistem maupun organisasi. Dengan
optimasi pada sebuah sistem kita akan bisa berhemat dalam segala hal antara
lain energi, keuangan, sumber daya alam, kerja dan lain-lain, tanpa mengurangi
fungsi sistem tersebut. Peranan kalimat optimasi juga banyak diterapkan pada
situs-situs yang berkecipung dalam bidang SEO maupun teknologi lainnya.
1.2.Rumusan
Masalah
Adapun
rumusan permasalahan ini adalah untuk mengetahui ;
1.1.1.1.
Jelaskan pengertian tentang teknik optimasi ?
1.1.1.2.
Jelaskan table informasi pada teknik optimasi ?
1.3.Tujuan
Penulisan
Tujuan
dari penulisan makalah ini adalah :
1.3.1.1.
Untuk mengetahui tentang teknik optimasi
1.3.1.2.
Untuk mengetahui tentang table informasi pada teknik optimasi
1.4.Manfaat Penulisan
Dapat
dimanfaatkan sebagai bahan acuhan dalam penulisan makalah selanjutnya.
KAJIAN
TEORI DAN PEMBAHASAN
1.1 Pengertian
Teknik Optimasi
Pentingnya sebuah kejelasan dalam sebuah karya ilmiah agar tidak
terjadi salah tafsir/persepsi atau pun bermakna ambigu yang berimplikasi
terhadap perubahan makna dan maksud penulis. Ada beberapa hal yang akan penulis
bahas berkenaan dengan isitilah-istilah pengertian kalimat optimasi.
Optimasi
Optimal = paling bagus/tinggi;tertinggi;terbagus;paling
menguntungkan.
Optimal a (ter) baik: tertinggi; paling menguntungkan: dengan kondisi fisik yang-- kami yakin akan menang dalam pertandingan sore nanti; kita telah bekerja secara --;
Optimal a (ter) baik: tertinggi; paling menguntungkan: dengan kondisi fisik yang-- kami yakin akan menang dalam pertandingan sore nanti; kita telah bekerja secara --;
Mengoptimalkan v menjadikan paling baik; menjadikan paling
tinggi;
Pengoptimalan proses cara, perbuatan mengoptimalkan (menjadikan paling baik, paling tinggi, dsb)
Pengoptimalan proses cara, perbuatan mengoptimalkan (menjadikan paling baik, paling tinggi, dsb)
Optimasi berasal dari bahasa inggris optimization (n), kata
benda yang berasal dari kata kerja (v) optimize. Kata kerja optimize berasal
dari kata sifat (adj) optimal. Bentukan kata optimal dengan imbuhan ize akan
membuat al pada optimal dipenggal sehingga hasilnya adalah optimize.
1.1.1
Dependensi Optimasi
Dependensi optimasi
Tahapan optimasi kode bertujuan untuk
menghasilkan kode program yang berukuran lebih kecil dan lebih cepat
eksekusinya. Berdasarkan ketergantungannya pada mesin, optimasi dibagi menjadi
:
1.1.1.1
Machine
Dependent Optimizer. Kode dioptimasi sehingga lebih efisien pad mesin tertentu.
Optimasi ini memerlukan informasi mengenai feature yang ada pada mesin tujuan
dan mengambil keuntungan darinya untuk menghasilkan kode yang lebih pendek atau
dieksekusi lebih cepat.
1.1.1.2 Machine Independent Optimizer.
Strategi optimasi yang bisa diaplikasikan tanpa tergantung pada mesin tujuan
tempat kode yang dihasilkan akan dieksekusi nantinya. Mesin ini meliputi
optimasi lokal dan optimasi global.
1.1.2
Optimasi Lokal
Optimasi
Lokal adalah optimasi yang dilakukan hanya pada suatu blok dari source code,
cara-caranya sebagai berikut:
1.1.2.1
Folding.
Mengganti konstansta atau ekspresi yang bisa dievaluasi pada saat compile time
dengan nilai komputasinya. Misalkan Instruksi ;
A:=2+3+B
bisa diganti menjadi
A:=5+B
1.1.2.2
Redundant-Subexpression
Elimination. Sebuah ekspresi yang sudah pernah dikomputasi, digunakan lagi
hasilnya, ketimbang melakukan komputasi ulang. Misalkan terdapat urutan
instruksi :
A:=B+C
X:=Y+B+C
kemunculan kedua dari B+C yang redundan bisa diatasi dengan
memanfaatkan hasil komputasinya yang sudah ada pada instruksi sebelumnya.
Perhatikan, hal ini bisa dilakukan dengan catatan belum ada perubahan pada variabel
yang berkaitan.
1.1.2.3
Optimisasi
dalam sebuah iterasi.
1.1.2.3.1
Loop
Unrolling: Menggantikan suatu loop dengan menulis statement dalam loop beberapa
kali. Hal ini didasari pemikiran, sebuah iterasi pada implementasi level rendah
akan memerlukan operasi sebagai berikut.
1.1.2.3.2
Inisialisasi/pemberian
nilai awal pada variabel loop. Dilakukan sekali pada saat permulaan eksekusi
loop.
1.1.2.3.3 Pengujian, apakah variabel loop telah
mencapai kondisi terminasi.
1.1.2.3.4 Adjustment yaitu penambahan atau
pengurangan nilai pada variabel loop dengan jumlah tertentu.
1.1.2.3.5 Operasi yang terjadi pada tubuh
perulangan (loop body).
Dalam setiap perulangan akan terjadi
pengujian dan adjusment yang menambah waktu eksekusi. Contoh pada instruksi :
FOR I:=1 to 2 DO
A[I]:=0;
Terdapat instruksi untuk inisialisasi I menjadi 1. serta
operasi penambahan nilai/increment 1 dan pengecekan variabel I pada setiap
perulangan. Sehingga untuk perulangan saja memerlukan lima instruksi, ditambah
dengan instruksi assignment pada tubuh perulangan menjadi tujuh instruksi.
Dapat dioptimasikan menjadi :
A[1]:=0;
A[2]:=0;
yang hanya memerlukan dua instruksi assignment saja. Untuk
menentukan optimasi ini perlu dilihat perbandingan kasusnya dengan tanpa
melakukan optimasi.
1.1.2.3.6
Frequency
Reduction
Frequency reduction: Pemindahan statement ke tempat yang
lebih jarang dieksekusi. Contoh:
FOR I:=1 TO 10 DO
BEGIN
X:=5;
A:=A+I;
END;
kita ,melihat bawa tidak terjadi perubahan /manipulasi pada
variabel X didalam iterasi, karena itu kita bisa mengeluarkan instruksi
tersebut keluar iterasi, menjadi:
X:=5;
FOR I:=1 TO 10 DO
BEGIN
A:=A+I
END;
1.1.2.4
Strength
Reduction. Penggantian suatu operasi dengan jenis operasi lain yang lebih cepat
dieksekusi. Misalkan pada beberapa komputer operasi perkalian memerlukan waktu
lebih banyak untuk dieksekusi dari pada operasi penjumlahan, maka penghematan
waktu bisa dilakukan dengan mengganti operasi perkalian tertentu dengan
penjumlahan. Contoh lain, instruksi :
A:=A+1;
dapat digantikan dengan: INC(A);
1.1.3
Optimasi Global
Optimisasi global biasanya dilakukan
dengan analisis flow, yaitu suatu graf berarah yang menunjukkan jalur yang
mungkin selama dieksekusi program. Kegunaannya adalah sebagai berikut:
1.1.3.1
Bagi
pemrogram menginformasikan :
1.1.3.1.1
Unreachable/dead
code: kode yang tidak akan pernah dieksekusi. Misalnya terdapat urutan
instruksi:
X:=5;
IF X:=0 THEN
A:=A+1
Instruksi A:=A+1 tidak akan pernah dieksekusi
1.1.3.1.2
Unused
parameter pada prosedur: parameter yang tidak akan pernah digunakan didalam
prosedur. Contohnya :
Procedure Jumlah (a,b,c:integer);
var x: integer
begin
x:=a+b
end;
kita lihat parameter c tidak pernah digunakan didalam
prosedur, sehingga seharusnya tidak perlu diikutrestakan.
1.1.3.1.2
Unused
Variable: Variabel yang tidak pernah dipakai dalam program. Contohnya :
Program Pendek;
var a,b:integer;
begin
a:=5;
end;
variabel b tidak pernah digunakan dalam program sehingga bisa
dihilangkan.
1.1.3.1.3
Variabel
yang dipakai tanpa nilai awal. Contohnya:
Program awal;
var a,b: integer;
begin
a:=5;
a:=a+b;
end;
kita lihat variabel b digunakan tanpa memiliki nilai
awal/belum di-assign.
1.1.3.2
Bagi
kompilator:
1.1.3.2.1
Meningkatkan
efisiensi eksekusi program.
1.1.3.2.2
Menghilangkan
useless code/kode yang tidak terpakai.
1.2 Tabel
Optimasi
Fungsi
Tabel Informasi atau Tabel Simbol
·
Membantu pemeriksaan kebenaran semantik
dari program sumber.
·
Membantu dan mempermudah pembuatan intermediate
code dan proses pembangkitan kode.
Untuk mencapai fungsi
tersebut dilakukan dengan menambah dan mengambil atribut variabel yang
dipergunakan pada program dari tabel. Atribut, misalnya nama, tipe, ukuran
variabel.
Tabel Simbol berisi daftar
dan informasi identifier pokok yang terdapat dalam program sumber,
disebut Tabel Pokok / Utama.
Tabel Pokok belum
mengcover semua informasi, untuk itu disediakan tabel lagi sebagai pelengkap
Tabel Pokok.
Untuk mengacu pada tabel
simbol yang bersesuaian dengan suatu indentifier tertentu, maka pada
Tabel Pokok harus disediakan field yang bisa menjembatani identifier dari
Tabel Pokok ke tabel-tabel lain yang bersesuaian. Untuk itu, pemilihan elemen
tabel pada Tabel Pokok maupun tabel lainnya, merupakan sesuatu yang sangat
penting.
1.2.1
Elemen Tabel Informasi
Elemen pada Tabel Simbol bermacam-macam,
tergantung pada jenis bahasanya. Misalnya :
1.2.1
No urut identifier : Menentukan nomor
urut identifier dalam tabel simbol.
1.2.2
Nama identifier : Berisi nama-nama identifier
(nama variabel, nama tipe, nama konstanta, nama procedure, nama fungsi,
dll) yang terdapat pada program sumber. Nama-nama ini akan dijadikan referensi
pada waktu analisa semantik, pembuatan intermediate code, serta pembangkitan
kode.
1.2.3
Tipe identifier : Berisi
keterangan/informasi tipe dari record dan string, maupun procedure dan
function.
1.2.4
Object
time address : address yang mengacu ke alamat tertentu.
1.2.5
Dimensi
dari identifier yang bersangkutan.
1.2.6
Nomor
baris variabel dideklarasikan.
1.2.7
Nomor
baris variabel direferensikan.
1.2.8
Field link.
1.2.2 Implementasi Tabel Informasi
Beberapa jenis :
1.2.2.1 Tabel Identifier :
Berfungsi menampung semua identifier yang terdapat dalam program.
1.2.2.2 Tabel Array :
Berfungsi menampung informasi tambahan untuk sebuah array.
1.2.2.3 Tabel Blok : Mencatat
variabel-variabel yang ada pada blok yang sama.
1.2.2.4 Tabel Real : menyimpan elemen
tabel bernilai real.
1.2.2.5 Tabel String : Menyimpan
informasi string.
1.2.2.6 Tabel Display :
Mencatat blok yang aktif.
1.2.3 Tabel Identifier
Memiliki field :
ü No urut identifier dalam tabel
ü Nama identifier
ü Jenis/obyektif dari identifier : Prosedur,
fungsi, tipe, variabel, konstanta
ü Tipe dari identifier yang
bersangkutan : integer, char, boolean, array, record, file, no-type
ü Level :
Kedalaman identifier tertentu, hal ini menyangkut letak identifier dalam
program. Konsepnya sama dengan pembentukan tree, misal main program =
level 0. Field ini digunakan pada run time untuk mengetahui current
activation record dan variabel yang bisa diakses.
Untuk identifier yang butuh
penyimpanan dicatat pula :
• Alamat relatif/address dari identifier
untuk implementasi
•
Informasi referensi (acuan) tertentu ke alamat tabel lain yang digunakan untuk
mencatat informasi-informasi yang diperlukan yang menerangkannya.
• Link
: Menghubungkan identifier ke identifier lainnya, atau yang
dideklarasikan pada level yang sama.
• Normal : Diperlukan pada pemanggilan parameter, untuk membedakan
parameter by value dan reference (berupa suatu variabel boolean)
Contoh :
Terdapat listing program sebagai berikut :
Program A;
var B : integer;
Procedure X(Z:char);
var C : integer
Begin
…….
Tabel Identifier akan mencatat semua identifier :
0 A
1 B
2 X
3 Z
4 C
Contoh implementasi table identifier :
TabId: array [0..tabmax] of
record
name : string;
link : integer;
obj : objek;
tipe : types;
ref : integer;
normal : boolean;
level : 0..maxlevel;
address : integer;
end;
Dimana :
objek = (konstant, variabel, prosedur, fungsi)
types = (notipe, int, reals, booleans, chars, arrays, record)
1.2.4 Tabel Array
Memiliki field :
No urut suatu array dalam
tabel
Tipe dari indeks array
yang bersangkutan
Tipe elemen array
Referensi dari elemen array
Indeks batas bawah array
Indeks batas atas array
Jumlah elemen array
Ukuran total array (
total size = (atas-bawah+1) x elemen size)
Elemen size (ukuran tiap elemen)
Tabel Array diacu dengan field referensi pada Tabel Identifier.
Contoh implementasi table array :
TabArray : array [1...tabmax] of
record
indextype, elementype : types;
elemenref, low, high, elemensize, tabsize : integer
end;
1.2.5 Tabel Blok
Memiliki field :
No urut blok
Batas awal blok
Batas akhir blok
Ukuran parameter / parameter size
Ukuran variabel / variabel size
Last variable
Last parameter
Contoh implementasi table blok :
TabBlok: array [1..tabmax] of
record
lastvar, lastpar, parsize, varsize: integer;
end;
Dari contoh listing program berikut :
Program a;
var B: integer;
Procedure X(Z:char);
var C : integer
Begin
…….
Akan diperoleh, untuk blok Program A :
last variable = 2
variable size = 2 (dianggap integer
butuh dua byte)
last parameter = 0 (tanpa parameter)
parameter size = 0
Untuk blok Procedure X :
last variable = 4
variable size = 2
last parameter = 3
parameter size = 1 (dianggap char
butuh satu byte)
1.2.6 Tabel Real
Elemen tabel real :
No urut elemen
Nilai real suatu variabel real yang mengacu
ke indeks tabel ini
Contoh implementasi tabel real :
TabReal : array [1..tabmax] of real
(pemikiran : setiap tipe yang dimiliki oleh
suatu bahasa akan memiliki tabelnya sendiri)
1.2.7 Tabel String
Elemennya :
No urut elemen
Karakter-karakter yang merupakan konstanta
Contoh implementasi tabel string :
TabString: array[1..tabmax] of string
1.2.8 Tabel Display
Elemennya :
No urut tabel
Blok yang aktif
Pengisian tabel display dilakukan dengan
konsep stack.
Urutan pengaksesan : Tabel Display – Tabel
Blok – Tabel Simbol.
Contoh implementasi Tabel Display :
TabDisplay: array [1..tabmax]of integer
1.3 Interaksi Antar
Tabel
Pertama kali tabel display akan
menunjuk blok mana yang sedang aktif. Dari blok yang aktif ini, akan diketahui
identifier-identifier yang termasuk dalam blok tersebut. Untuk pertama kalinya,
yang akan diacu adalah identifier yang paling akhir, kemudian identifier
sebelumnya, dan seterusnya. Informasi suatu identifier ini mungkin belum
lengkap. Untuk itu dari tabel identifier ini mungkin akan dicari kelengkapan
informasi dari suatu identifier ke tabel yang sesuai (tabel real, tabel string,
atau tabel array).
BAB III
PENUTUP
1.1. KESIMPULAN
Optimasi berasal dari bahasa inggris
optimization (n), kata benda yang berasal dari kata kerja (v) optimize. Kata
kerja optimize berasal dari kata sifat (adj) optimal. Bentukan kata optimal
dengan imbuhan ize akan membuat al pada optimal dipenggal sehingga hasilnya
adalah optimize.
Dependensi
optimasi Tahapan
optimasi kode bertujuan untuk menghasilkan kode program yang berukuran lebih
kecil dan lebih cepat eksekusinya. Optimasi Lokal adalah optimasi yang
dilakukan hanya pada suatu blok dari source code.
Optimisasi
global biasanya dilakukan dengan analisis flow, yaitu suatu graf berarah yang
menunjukkan jalur yang mungkin selama dieksekusi program.
Untuk mencapai fungsi
tersebut dilakukan dengan menambah dan mengambil atribut variabel yang
dipergunakan pada program dari tabel. Atribut, misalnya nama, tipe, ukuran
variabel. Tabel Simbol berisi daftar dan informasi identifier pokok yang
terdapat dalam program sumber, disebut Tabel Pokok / Utama. Tabel Pokok belum
mengcover semua informasi, untuk itu disediakan tabel lagi sebagai pelengkap
Tabel Pokok.
1.2. SARAN
Pembicaraan tentang teknik optimasi tidak
bisa dilepaskan dari kehidupan kita sebagai makhluk sosial yang butuh
berkomunikasi dengan orang lain. Oleh karena itu, perlu prinsip-prinsip yang
harus disepakati agar terjalinnya komunikasi yang efektif dan efisien. Lewat
teori-teorinya yang berkaitan dengan teknik optimasi, berusaha memberikan
prinsip-prinsip sistem teknik optimasi.
Dengan memahami dan mengaplikasikan teori-teori
tersebut, diharapkan kita lebih mampu menjalankannya dengan baik di segala
situasi dan kondisi agar tercapai tujuan yang kita inginkan.
1.2.2
Subscribe to:
Posts (Atom)