Selasa, 22 Mei 2012

ASPEK BISNIS DALAM BIDANG TEKNOLOGI INFORMASI


                      ASPEK BISNIS DALAM BIDANG TEKNOLOGI INFORMASI
Teknologi Informasi tidak hanya terbatas pada teknologi komputer, tetapi merupakan semua perangkat atau peralatan yang dapat membantu seseorang bekerja dan segala hal yang berhubungan dengan suatu proses, dan juga bagai mana suatu informasi itu dapat sampai ke pihak yang membutuhkan, baik berupa data, suara ataupun video. Di bidang Ekonomi dan bisnis, Perkembangan Teknologi telah dan sangat berpengaruh terhadap aspek ekonomi dan bisnis di dunia dan secara khusus di Indonesia. PT Telekomunikasi Indonesia Tbk. (PT Telkom Indonesia Tbk.) merupakan salah satu contoh perusahaan bisnis yang bergerak di bidang TI.
Dua aspek penting dalam pengembangan bisnis yang berhubungan dengan Teknologi Informasi adalah infrastruktur dan sumber daya manusia (SDM). Selain kedua aspek tersebut, tentunya masih banyak aspek lain seperti finansial. Namun, lemahnya infrastruktur dan kelangkaan SDM merupakan penyebab utama lambannya bisnis IT. Langkanya SDM IT yang handal merupakan masalah utama di seluruh dunia. Kelangkaan ini disebabkan meledaknya bisnis yang berbasis IT (dan khususnya bisnis yang berbasis Internet).
Dalam mendirikan suatu badan usaha atau bisnis khusunya di bidang IT, apa sebenarnya yang harus kita ketahui dan lakukan? Kita harus mengetahui bagaimana proses atau tahap untuk melakukan atau membangun sebuah bisnis khususnya di bidang TI.

KEJAHATAN DALAM BIDANG TEKNOLOGI INFORMASI


                           KEJAHATAN DALAM BIDANG TEKNOLOGI INFORMASI
Dalam dunia teknologi informasi dikenal beberapa Jenis CyberCrime, diantaranya yaitu :
1. Komputer sebagai objek kejahatan.
2. Komputer sebagai subjek kejahatan.
3. Komputer bisa digunakan sebagai alat kejahatan atau untuk merencanakan kejahatan.
4. Komputer bisa digunakan untuk melakukan tindakan ancaman ataupun penipuan.

Cara Kerja Pelaku Kejahatan Cyber
Kejahatan yang berhubungan erat dengan penggunaan teknologi yang berbasis komputer dan jaringan telekomunikasi ini juga dikelompokkan dalam beberapa modus operandi yang ada, antara lain:
-. Kejahatan yang dilakukan dengan memasuki/menyusup ke dalam suatu sistem jaringan komputer secara tidak sah, tanpa izin atau tanpa sepengetahuan dari pemilik sistem jaringan komputer yang dimasukinya. Misalkan  pelaku kejahatan (hacker) melakukannya dengan maksud sabotase ataupun pencurian informasi penting dan rahasia.
-. Kejahatan dengan memasukkan data atau informasi ke Internet tentang sesuatu hal yang tidak benar, tidak etis, dan dapat dianggap melanggar hukum atau mengganggu ketertiban umum. Misalkan pemuatan suatu berita bohong atau fitnah yang akan menghancurkan martabat atau harga diri pihak lain, hal-hal yang berhubungan dengan pornografi atau pemuatan suatu informasi yang merupakan rahasia negara, agitasi dan propaganda untuk melawan pemerintahan yang sah dan sebagainya.
-. Kejahatan dengan memalsukan data pada dokumen-dokumen penting yang tersimpan sebagai scripless document melalui Internet.
-.  Kejahatan yang memanfaatkan jaringan Internet untuk melakukan kegiatan mata-mata terhadap pihak lain, dengan memasuki sistem jaringan komputer (computer network system) pihak sasaran.
-.  Kejahatan yang memanfaatkan jaringan Internet untuk melakukan kegiatan mata-mata terhadap pihak lain, dengan memasuki sistem jaringan komputer (computer network system) pihak sasaran.
-.  Kejahatan yang ditujukan terhadap hak atas kekayaan intelektual yang dimiliki pihak lain di Internet. Misalkan peniruan tampilan pada web page suatu situs milik orang lain secara ilegal, penyiaran suatu informasi di Internet yang ternyata merupakan rahasia dagang orang lain, dan sebagainya.
-. Kejahatan yang ditujukan terhadap keterangan pribadi seseorang yang tersimpan pada formulir data pribadi yang tersimpan secara computerized, yang apabila diketahui oleh orang lain maka dapat merugikan korban secara materil maupun immateril, contohnya seperti nomor kartu kredit, nomor PIN ATM, cacat atau penyakit tersembunyi dan sebagainya.

Contoh Kasus di Indonesia :
Pencurian Dan Penggunaan Account Internet Milik Orang Lain Salah satu kesulitan dari sebuah ISP (Internet Service Provider) adalah adanya account pelanggan mereka yang “dicuri” dan digunakan secara tidak sah. Berbeda dengan pencurian yang dilakukan secara fisik, “pencurian” account cukup menangkap “userid” dan “password” saja. Hanya informasi yang dicuri. Sementara itu orang yang kecurian tidak merasakan hilangnya “benda” yang dicuri. Pencurian baru terasa efeknya jika informasi ini digunakan oleh yang tidak berhak. Akibat dari pencurian ini, penggunan dibebani biaya penggunaan acocunt tersebut. Kasus ini banyak terjadi di ISP. Namun yang pernah diangkat adalah penggunaan account curian oleh dua Warnet di Bandung.
Membajak situs web. Salah satu kegiatan yang sering dilakukan oleh cracker adalah mengubah halaman web, yang dikenal dengan istilah deface. Pembajakan dapat dilakukan dengan mengeksploitasi lubang keamanan. Sekitar 4 bulan yang lalu, statistik di Indonesia menunjukkan satu (1) situs web dibajak setiap harinya. Hukum apa yang dapat digunakan untuk menjerat cracker ini?
Probing dan port scanning. Salah satu langkah yang dilakukan cracker sebelum masuk ke server yang ditargetkan adalah melakukan pengintaian. Cara yang dilakukan adalah dengan melakukan “port scanning” atau “probing” untuk melihat servis-servis apa saja yang tersedia di server target. Sebagai contoh, hasil scanning dapat menunjukkan bahwa server target menjalankan program web server Apache, mail server Sendmail, dan seterusnya. Analogi hal ini dengan dunia nyata adalah dengan melihat-lihat apakah pintu rumah anda terkunci, merek kunci yang digunakan, jendela mana yang terbuka, apakah pagar terkunci (menggunakan firewall atau tidak) dan seterusnya. Yang bersangkutan memang belum melakukan kegiatan pencurian atau penyerangan, akan tetapi kegiatan yang dilakukan sudah mencurigakan. Apakah hal ini dapat ditolerir (dikatakan sebagai tidak bersahabat atau unfriendly saja) ataukah sudah dalam batas yang tidak dapat dibenarkan sehingga dapat dianggap sebagai kejahatan?
Berbagai program yang digunakan untuk melakukan probing atau portscanning ini dapat diperoleh secara gratis di Internet. Salah satu program yang paling populer adalah “nmap” (untuk sistem yang berbasis UNIX, Linux) dan “Superscan” (untuk sistem yang berbasis Microsoft Windows). Selain mengidentifikasi port, nmap juga bahkan dapat mengidentifikasi jenis operating system yang digunakan.
Virus. Seperti halnya di tempat lain, virus komputer pun menyebar di Indonesia. Penyebaran umumnya dilakukan dengan menggunakan email. Seringkali orang yang sistem emailnya terkena virus tidak sadar akan hal ini. Virus ini kemudian dikirimkan ke tempat lain melalui emailnya. Kasus virus ini sudah cukup banyak seperti virus Mellisa, I love you, dan SirCam. Untuk orang yang terkena virus, kemungkinan tidak banyak yang dapat kita lakukan. Akan tetapi, bagaimana jika ada orang Indonesia yang membuat virus (seperti kasus di Filipina)? Apakah diperbolehkan membuat virus komputer?
Denial of Service (DoS) dan Distributed DoS (DDos) attack. DoS attack merupakan serangan yang bertujuan untuk melumpuhkan target (hang, crash) sehingga dia tidak dapat memberikan layanan. Serangan ini tidak melakukan pencurian, penyadapan, ataupun pemalsuan data. Akan tetapi dengan hilangnya layanan maka target tidak dapat memberikan servis sehingga ada kerugian finansial. Bagaimana status dari DoS attack ini? Bayangkan bila seseorang dapat membuat ATM bank menjadi tidak berfungsi. Akibatnya nasabah bank tidak dapat melakukan transaksi dan bank (serta nasabah) dapat mengalami kerugian finansial.  DoS attack dapat ditujukan kepada server (komputer) dan juga dapat ditargetkan kepada jaringan (menghabiskan bandwidth). Tools untuk melakukan hal ini banyak tersebar di Internet. DDoS attack meningkatkan serangan ini dengan melakukannya dari berberapa (puluhan, ratusan, dan bahkan ribuan) komputer secara serentak. Efek yang dihasilkan lebih dahsyat dari DoS attack saja.
Kejahatan yang berhubungan dengan nama domain. Nama domain (domain name) digunakan untuk mengidentifikasi perusahaan dan merek dagang. Namun banyak orang yang mencoba menarik keuntungan dengan mendaftarkan domain nama perusahaan orang lain dan kemudian berusaha menjualnya dengan harga yang lebih mahal. Pekerjaan ini mirip dengan calo karcis. Istilah yang sering digunakan adalah cybersquatting. Masalah lain adalah menggunakan nama domain saingan perusahaan untuk merugikan perusahaan lain. (Kasus: mustika-ratu.com) Kejahatan lain yang berhubungan dengan nama domain adalah membuat “domain plesetan”,  yaitu domain yang mirip dengan nama domain orang lain. (Seperti kasus klikbca.com) Istilah yang digunakan saat ini adalah typosquatting.
IDCERT (Indonesia Computer Emergency Response Team)
Salah satu cara untuk mempermudah penanganan masalah keamanan adalah dengan membuat sebuah unit untuk melaporkan kasus keamanan. Masalah keamanan ini di luar negeri mulai  dikenali dengan munculnya “sendmail worm” (sekitar tahun 1988) yang menghentikan sistem email Internet kala itu. Kemudian dibentuk sebuah Computer Emergency Response Team (CERT). Semenjak itu di negara lain mulai juga dibentuk CERT untuk menjadi point of contact bagi orang untuk melaporkan masalah kemanan. IDCERT merupakan CERT Indonesia.
Sertifikasi perangkat security. Perangkat yang digunakan untuk menanggulangi keamanan semestinya memiliki peringkat kualitas. Perangkat yang digunakan untuk keperluan pribadi tentunya berbeda dengan perangkat yang digunakan untuk keperluan militer. Namun sampai saat ini belum ada institusi yang menangani masalah evaluasi perangkat keamanan di Indonesia. Di Korea hal ini ditangani oleh Korea Information Security Agency.
Sumber :
http://www.google.co.id/contoh-kasus-cyber/

Kamis, 15 Maret 2012

IT FORENSIK

IT Forensik

Pengertian IT Forensik

Beberapa pengertian sederhana mengenai IT Forensik :

Definisi sederhana, yaitu penggunaan sekumpulan prosedur untuk melakukan pengujian secara menyeluruh suatu sistem komputer dengan mempergunakan software dan tool untuk memelihara barang bukti tindakan kriminal.

1. Menurut Noblett, yaitu berperan untuk mengambil, menjaga, mengembalikan, dan menyajikan data yang telah diproses secara elektronik dan disimpan di media komputer.

2. Menurut Judd Robin, yaitu penerapan secara sederhana dari penyidikan komputer dan teknik analisisnya untuk menentukan bukti-bukti hukum yang mungkin.

Tujuan IT Forensik

Adalah untuk mengamankan dan menganalisa bukti digital. Dari data yang diperoleh melalui survey oleh FBI dan The Computer Security Institute, pada tahun 1999 mengatakan bahwa 51% responden mengakui bahwa mereka telah menderita kerugian terutama dalam bidang finansial akibat kejahatan komputer. Kejahatan Komputer dibagi menjadi dua, yaitu :

1. Komputer fraud yaitu kejahatan atau pelanggaran dari segi sistem organisasi komputer.

2. Komputer crime yaitu merupakan kegiatan berbahaya dimana menggunakan media komputer dalam melakukan pelanggaran hukum.

Tools IT Forensik

Safe Back. Dipasarkan sejak tahun 1990 untuk penegakan Hukum dan Kepolisian. Digunakan oleh FBI dan Divisi Investigasi Kriminal IRS. Berguna untuk pemakaian partisi tunggal secara virtual dalam segala ukuran. File Image dapat ditransformasikan dalam format SCSI atau media storage magnetik lainnya.

EnCase. Seperti SafeBack yang merupakan program berbasis karakter, EnCase adalah program dengan fitur yang relatif mirip, denganInterface GUI yang mudah dipakai oleh tekhnisi secara umum. Dapat dipakai dengan Multiple Platform seperti Windows NT atau Palm OS. Memiliki fasilitas dengan Preview Bukti, Pengkopian target,Searching

dan Analyzing.

Pro Discover. Aplikasi berbasis Windows yang didesain oleh tim Technology Pathways forensics. Memiliki kemampuan untuk merecover file yang telah terhapus dari space storage yang longgar, mengalanalisis Windows 2000/NT data stream untuk data yang

terhidden,menganalisis data image yang diformat oleh kemampuandd UNIX dan menghasilkan laporan kerja.

JADI KESIMPULANNYA IT FORENSIK ITU SUATU PENGUJIAN MENGGUNAKAN TEKNOLOGI IT/KOMPUTER UNTUK MEMELIHARA BARANG BUKTI KRIMINAL.DENGAN SEBUAH SOFTWARE APLIKASI YANG MEMBUTUHKAN KAPASITAS YANG CUKUP BESAR.

Rabu, 14 Maret 2012

Etika dan moral dalam islam

ETIKA
A. Pengertian Etika
Dalam tradisi filsafat istilah etika lazim difahami sebagai suatu teori ilmu pengetahuan yang mendiskusikan mengenai apa yang baik dan apa yang buruk berkenaan dengan perilaku manusia. Dengan kata lain, etika merupakan usaha dengan akal budinya untuk menyusun teori mengenai penyelenggaraan hidup yang baik. Persolan etika muncul ketika moralitas seseorang atau suatu masyarakat mulai ditinjau kembali secara kritis. Moralitas berkenaan dengan tingkah laku yang konkrit, sedangkan etika bekerja dalam level teori. Nilai-nilai etis yang difahami, diyakini, dan berusaha diwujudkan dalam kehidupan nyata kadangkala disebut ethos.

B. Pemikiran etika di dalam filsafat
Sebagai cabang pemikiran filsafat, etika bisa dibedakan manjadi dua: obyektivisme dan subyektivisme. Yang pertama berpandangan bahwa nilai kebaikan suatu tindakan bersifat obyektif, terletak pada substansi tindakan itu sendiri. Faham ini melahirkan apa yang disebut faham rasionalisme dalam etika. Suatu tindakan disebut baik, kata faham ini, bukan karena kita senang melakukannya, atau karena sejalan dengan kehendak masyarakat, melainkan semata keputusan rasionalisme universal yang mendesak kita untuk berbuat begitu.

Aliran kedua ialah subyektifisme, berpandangan bahwa suatu tindakan disebut baik manakala sejalan dengan kehendak atau pertimbangan subyek tertentu. Subyek disini bisa saja berupa subyektifisme kolektif, yaitu masyarakat, atau bisa saja subyek Tuhan.

C. karakteristik Etika Islam
Berbeda dengan etika filsafat, etika islam mempunyai karakteristik sebagai berikut:
a. etika islam mengajarkan dan menuntut manusia pada tingkah laku yang baik dan menjauhkan dar tingkah laku yang buruk.
b. Etika islam menetapkan bahwa yang menjadi sumber moral, ukuran baik buruknya perbuatun, didasarkan pada ajaran Allah SWT.
c. Etika islam beersikap universal dan komprehensif, dapat diterima dan dijadikan pedoman oleh seluruh umat manusia.
d. Etika islam mengatur dan mengarahkan fitrahmanusia ke jenjang akhlak yangluhur dan meluruskan perbuatanmanusia.
MORAL
A. pengertian Moral
Moral secara etimologis berasal dari bahasa latin mores, kata jamak dari mos yang berarti adat kebiasaan, susila. Dalam hal ini yang dimaksud adat kebiasaan adalah tindakan manusia yang sesuai dengan ide-ide umum yang diterima masyarakat, mana yang baik dan wajar. Oleh karena itu dapat diartikan moral adalah perilaku yang sesuai dengan ukuran-ukuran tindakan yang oleh umum diterima meliputi kesatuan sosial atau lingkungan tertentu.
B. Pembentukan Moral Melalui Pendidikan Agama

tujuan pendidikan adalah membentuk manusia berkualitas secara lahiriyah dan bathiniyah. Secara lahiriyah pendidikan menjadikan manusia bermanfaat bagi dirinya dan orang lain, serta dapat menentukan arah hidupnya ke depan. Sedangkan secara bathiniyah pendidikan diharapkan dapat membentuk jiwa-jiwa berbudi, tahu tata krama, sopan santun dan etika dalam setiap gerak hidupnya baik personal maupun kolektif. Hal ini mengandung arti bahwa pendidikan akan membawa perubahan pada setiap orang sesuai dengan tata aturan.
Selain itu agama juga mempunyai peran penting dalam dunia pendidikan, banyak ayat-ayat kauniyah yang menganjurkan umatnya untuk selalu belajar kapanpun dan dimanapun, atau dengan istilah long life education sebagai motivasi agama untuk dunia pendidikan. Misalnya wahyu pertama yang diterima Nabi Muhammad SAW adalah tentang pendidikan, yaitu bagaimana kita membaca perkembangan diri sendiri, orang lain bahkan dunia dengan pengetahuan yang berorientasi agama (ketuhanan). Oleh sebab itu pendidikan agama (Islam) akan memberi “imunisasi” pada jiwa seseorang untuk selalu berada dalam jalan yang benar sesuai dengan ajaran agama itu sendiri, yang selalu mengajarkan kebenaran hakiki pada setiap aktifitas pemeluknya.
Pendidikan agama pada dunia pendidikan merupakan modal dasar bagi anak untuk mendapatkan nilai-nilai ketuhanan, karena dalam pendidikan agama (Islam) diberikan ajaran tentang muamalah, ibadah dan syari’ah yang merupakan dasar ajaran agama. Hal inilah yang menjadikan pendidikan agama sebagai titik awal perkembangan nilai-nilai agama pada anak.
Sebagai contoh, Allah SWT menganjurkan umatnya untuk bershadaqah, dengan shadaqah anak didik diharapkan peduli dengan masyarakat sekitar yang membutuhkan uluran tangah/bantuan. Shadaqah ini mengajarkan nilai-nilai sosial (muamalah) dalam berinteraksi di masyarakat. Dengan shadaqah seorang anak didik akan merasakan bahwa “saling membutuhkan” pada setiap orang adalah ciri dari kehidupan. Ini merupakan contoh kecil dalam kehidupan beragama dan bermasyarakat.
Dari contoh di atas mengajarkan “simbiosis mutualisme” dalam kehidupan yang menjadikan suatu bukti bahwa betapa pentingnya nilai-nilai agama diajarkan kepada anak, dimana dalam dunia pendidikan dicakup dalam satu bidang garapan yaitu pendidikan agama. Pendidikan agama dalam kehidupan tidaklah sepenuhnya menjadi tanggung jawab guru di sekolah, melainkan juga orang tua sebagai contoh nyata dalam kehidupan anak. Bagaimana mungkin anak akan menjadi baik, jika orang tuanya hidup dalam ketidakbaikan. Oleh karena itu pendidikan agama harus ditanamkan kepada anak dimanapun ia berada, baik formal maupun non formal.

http://tafany.wordpress.com/2009/04/01/etika-moral-akhlak/

Selasa, 04 Januari 2011

BAHASA INDONESIA 1

Judul PI algoritma CyDc Sebagai solusi untuk melakukan kompresi data

BAB III KARAKTERISTIK ALGORITMA HALFBYTE,HUFFMAN DAN CYDC

3.1 ALGORITMA HALFBYTE

Algoritma Halfbyte memanfaatkan empat bit sebelah kiri yang sering sama secara berurutan terutama pada File-File text. misalnya pada suatu file text yang berisi tulisan "mengambil" dalam heksadesimal dan biner tulisan. Jika di perhatikan karakter tersebut memiliki 4 Bit sebelah kiri yang sama yaitu 0110. Gejala seperti inilah yang di manfaatkan oleh algoritma halfbyte untuk melakukan proses kompresi dari suatu data.

3.2 Algoritma Huffman

David Huffman dianggap berjasa dalam membuat Algoritma yang bergantung pada FREKUENSI ( Frekuensi data code ) dan sudah menjadi hal yang umum untuk menyebut kode yang telah di kembangkan sebagai kode Huffman oleh karena itu hingga saat ini sebagian dari kode-kode yang bergantung pada FREKUENSI disebut kode Huffman. dasar pemikiran algoritma ini adalah bahwa setiap karakter ASCII biasanya di wakili oleh 8 Bit. jadi misalnya suatu File berisi deretan karakter "ABACAD"maka ukuran file tersebut adalah 6 x 8 bit = 48 bit atau 6 byte.

3.3 Algoritma CyDc

Inti dari algoritma CyDc adalah dengan memanfaatkan adanya ruang yang tidak terpakai, dimana kapasitas dari ruang yang tidak terpakai tersebut lebih besar dari ruang yang terpakai. Jika seandainya kode ASCII yang dikenali hanya terdapat 4 (0,1,2,3),maka representasi dari rangkaian binernya ; 0 = 00, 1 = 01, 2 = 10, 3 = 11, dimana kode ASCII nol merupakan suatu fiksi yang tidak perlu di lanjutkan. hal ini berarti, dalam sebuah rangkaian data tidak mungkin ditemukan adanya suatu rangkaian untuk nilai-nilai yang mungkin di hasilkan dan nilai-nilai yang tidak mungkin di hasilkan.

KOMPRESI DATA Menggunakan

ALGORITMA HALFBYTE,HUFFMAN,CyDc : kompresi data menggunakan NOTEPAD dengan Bahasa Pemrograman VISUAL BASIC

KESIMPULAN : Sejumlah Besar algoritma yang memiliki kemampuan kompresi data telah banyak dikemukakan, masing-masing memiliki skenario terbaik dan terburuknya.

Rabu, 24 November 2010

5 Jurus Bermain Gitar

5 Jurus Bermain Gitar
Minimnya skill bermain gitar membuat suasana fellowship di berbagai persekutuan kantor kadang jadi kaku dan kurang bergairah. Skill semacam ini memanng tidak hanya didapat dalam waktu singkat. Tapi 5 jurus singkat gL! di hawah ini mungkin dapat membantu jika Anda melatihnya secara konsisten selama minimal 3 hulan, dan setiap harinya selamma 1 hingga 2 jam.
Jurus 1: jangan Lupa Kunci
Kunci adalah nyawa dari permainan gitar. Tanpa kunci, meski kita tahu semua jurus ritem, dijamin kita tidak akan pernah tahu bunyinya seperti apa. Pelajarilah semua kunci dasar seperti C, D, E, F, (3, A, B) beserta semua bentuk minor dan #nya (kecuali untuk kunci B memakai bentuk Bb). Biasanya buku tentang kunci-kunci ini dijual bebas di pasaran. Satu tips yang patut diingat, sebenarnya bentuknya begitu-begitu saja. Jangan dibuat pusing dengan nama-nama yang berbeda. Contoh: bila kunci C digeser sejauh 2 fret akan menghasilkan kunci D, padahal bentuknya sama, hanya letaknya yang berbeda.
Jurus 2: Dua Teknik Dasar
PETIKAN: Ketika memetik gitar, tidak perlu membayangkan harus seperti lagu "KKEB"-nya Andre Hehanusa atau "Tears In Heaven"-nya Eric Clapton. Sebaliknya, petiklah dengan sederhana seperti 3 contoh berikut ini:
Perhatikan posisi jari: jari jempol untuk 3 senar bas, sedangkan 3 senar lainnya dipetik oleh 3 jari pada gamhar.
Penyederhanaan: jari jempol=1, jari telunjuk=2, jari tenguh=3 dan jari minis=4.
1. 1-2-3.4.3-2 dengan l berpindah-pindah bas
2. 1-2-3-4-2 dengan 34 dipetik bersamaan
3. 1.234 dengan 234 dipetik hersamaan sebanyak 3x.
Setelah Anda nmencoba ketiganya, GABUNGKAN SEMUA TEKNIK! Memainkan lagu KKEB bukan impian lagi.
RITEM: Ini hal yang sebetulnya sederhana. Kalau pengamen jalanan saja tekniknya bagus, mengapa kita tidak? Alasan utama ketidak-mampuan ini adalah kurangnya latihan. Jika Anda sungguh serius, sisihkan waktu untuk melatihnya minimal 1 jam sehari. Latihan: Untuk ritem sederhananya dibagi menjadi ritem ke bawah dan ke atas. Untuk ke bawah= l dan ke atas=2.
1. 1-1-2-2-1
2. 1-2-2-1-2-2-1
Jurus 3. Jangan Lupa Bawa Buku Nyanyian
Sekarang buku lagu-lagu Praise & Worship yang lazim digunakan dan sudah banyak dijual bebas di pasaran. Biasanya apa yang tertera di buku-buku semacam ini sudah disederhanakan sehingga menyanyikannya pun mudah saja.
Jurus 4: Berlatih Running Chord Untuk Bermazmur
Sebelum kita bisa membawa orang lain agar mengalami saat yang indah dalam memuji & bermazmur bagi-Nya, kita harus mengalaminya terlebih dulu. Cobalah untuk berdiam diri dengan bermazmur bagi-Nya dengan menggunakan running chord 4/4 seperti misalnya (jika bermain di kunci C): C-F, C-AmDm-G, F-Em-Dm-G. Semakin sering dilantunkan, feeling Anda akan semakin terasah dan Anda akan terheran-heran melihat perkembangan skill Anda.
Jurus 5: Percaya Diri
Percaya diri! That's the best thing. Walau Anda banyak melakukan kesalahan (terutama biasanya salah kunci), lanjutkan saja dengan tertawa bersama teman-teman Anda. Dijamin, mereka semua pasti ikut tersenyum. Toh pada akhirnya, bukan permainan gitar/nyanyian kita yang diterima oleh-Nya, tapi kesungguhan hati kita.**

Selasa, 23 November 2010

Bressenham (Penggambaran titik)

ALGORITMA UNTUK PENGGAMBARAN TITIK

Algoritma Bresenham adalah algoritma yang menentukan titik-titik dalam raster n-dimensi yang harus diplot untuk membentuk pendekatan dekat dengan garis lurus antara dua titik yang diberikan. dalam Algoritma Bresenham menggunakan aritmatika integer yang tidak memerlukan perkalian dan pembagian dalam proses perhitungannya didalam seluruh implementasi,yang mana aritmatika integer ini memiliki kecepatan perhitungan yang lebih tinggi
daripada aritmatika floating point. Algoritma Bresenham memberikan persamaan
umum untuk lingkaran sebagai
berikut:



(X – a)2 + (Y – b)2 = R2
Dengan (Xa,Ya) sebagai koordinat awal
dan (Zt,Yt) sebagai koordinator akhir. Penggambaran grafik garis lurus dan kurva memerlukan waktu komputasi yang tinggi, untuk mereduksi waktu komputasi yang tinggi tersebut dapat dilakukan dengan peningkatan kemampuan komputasi prosesor dan peningkatan efisiensi algoritma. Algoritma Midpoint merupakan Algoritma dengan dasar operasi bilangan integer, sehingga memerlukan waktu operasi yanglebih sedikit dibandingkan dengan algoritma yang menggunakan operasi bilangan riel.



Implementasi ke dalam bahasa pemrograman C dari kedua macam algoritma diatas, menunjukkan bahwa waktu komputasi algoritma midpoint lebih cepat sebesar 8 kali pada pembuatan garis lurus, dan lebih cepat sebesar 15 kali pada penggambaran lingkaran, dibandingkan dengan waktu komputasi algoritma yang menggunakan dasar operasi bilangan riel. Dan waktu komputasi algoritma midpoint lebih cepat sebesar 6 kali pada pembuatan garis lurus, dibandingkan dengan waktu komputasi lgoritma yang Breserham telah menggunakan dasar operasi bilangan integer juga.
Kata kunci: Penggambaran garis, penggambaran kurva,
Algoritma Bresenham, Algoritma midpoint, Algoritma DDA.



1. PENDAHULUAN
Perkembangan kemampuan komputasi prosesor yang pesat telah membuatkomputer desktop mempunyai kemampuan komputasi yang besar. Hal inimendorong perkembangan program aplikasi yang memerlukan komputasi yangbesar seperti program aplikasi yang menggunakan grafik 3 dimensi.Peningkatan kemampuan komputasi prosesor untuk aplikasi grafik yangsarat komputasi, perlu dibarengi peningkatan efisiensi algoritma,sehingga pembuatan grafik garis dan kurva yang merupakan dasar pembuatangrafik dapat memberikan hasil yang optimal.
Algoritma midpoint merupakan algoritma pembuatan garis dan kurva dengan dasar operasi bilangan integer yang menonjolkan ciri kecepatan. Sehingga algoritma ini dapat dipakai sebagai algoritma pembuatan grafik yang menuntut kecepatan sebagai hal yang diutamakan. Pembahasan algoritma Midpoint dilakukan dengan mengasumsikan garis lurus dari kiri ke kanan,dan gadient antara 0 dan 1, sedangkan untuk lingkaran dengan mengasumsikan hanya sebagian lingkaran dengan sudut sebesar 45° , hal ini dilakukan untuk mempermudah penjelasan, sedangkan untuk kondisi yanglain dapat diderivasi dengan cara yang serupa. Untuk mendapatkan kinerja algoritma midpoint, dilakukan uji kecepatan komputasi dengan cara mengimplementasikan kedalam bahasa pemrograman C, dan melakukan perbandingan waktu komputasi dengan algoritma yang menggunakan dasar komputasi bilangan riel, maupun algoritma lain yang telah banyak dikenal seperti algoritma dda dan algoritma bressenham.



2. GARIS LURUS
Garis lurus dinyatakan dinyatakan dalam persamaan :
y = mx + c (1)
dimana : m : gradient dan
c : konstanta.
Untuk menggambarkan piksel-piksel dalam garis lurus, parameter yang digunakan tergantung dari gradient, jika besarnya gradient diantara 0 dan 1, maka digunakan sumbu x sebagai parameter dan sumbu y sebagai hasil dari fungsi, sebaliknya, bila gradient melebihi 1, maka sumbu y digunakan sebagai parameter dan sumbu x sebagai hasil dari fungsi, hal ini bertujuan untuk menghindari terjadinya gaps karena adanya piksel yang terlewatkan. Hasil dari fungsi biasanya merupakan bilangan riel, sedangkan koordinat pixel dinyatakan dalam bilangan integer (x,y), maka diperlukan operasi pembulatan kedalam bentuk integer terdekat. Penggambaran garis lurus dengan metode diatas dimulai dengan operasibilangan riel untuk menghitung gradient m dan konstanta c.
m = (y2 - y1 ) / (x2-x1) (2)
c = y1 ? m* x1* (3)
Operasi bilangan riel berikutnya adalah menghitung nilai y dengan persamaan (1) Untuk mendapatkan koordinat piksel (x,y), untuk setiapnilai x, dari =x1 sampai x=x2, operasi inilah yang perlu dihindari,karena operasi ini memerlukan waktu operasi yang besar.



2.1 Algoritma Bresenham
Bresenham pada tahun 1965, melakukan perbaikan dari algoritma perhitungan koordinat piksel yang menggunakan persamaan (1), dengan cara menggantikan operasi bilangan riel perkalian dengan operasi penjumlahan, yang kemudian dikenal dengan Algoritma Bresenham. Pada algoritma bresenham, nilai y kedua dan seterusnya, dihitung dari nilai y sebelumnya, sehingga hanya titik y pertama yang perlu dilakukan operasi secara lengkap. Perbaikan algoritma ini ternyata tidak menghasilkan perbaikan yang cukup siginifikan. Perbaikan berikutnya dilakukan dengan cara menghilangkan operasi bilangan riel dengan operasi bilangan integer. Operasi bilangan integer jauh lebih cepat dibandingkan dengan operasi bilangan riel, terutama pada penambahan dan pengurangan.



2.2 Algoritma Midpoint untuk Penggambaran Garis
Algoritma midpoint dikembangkan oleh Pitteway pada tahun 1967. Pada gambar 1, titik abu-abu menyatakan posisi piksel, titik hitam menyatakan posisi piksel yang telah digambar. Berdasarkan piksel ke n yang telah digambar, diperlukan metode untuk menentukan piksel berikut yang akan digambar, karena penggambaran dilakukan dari kiri ke kanan, maka piksel berikutnya harus pada kolom n+1 Karena gradien diantara 0 dan 1, maka piksel berikutnya adalah pada posisi titik p atau titik q.Persamaan garis lurus yang telah dinyatakan dalam persamaan (1) dapat dinyatakan dalam fungsi x,y berikut.
*f(x, y) = ax + by + c = 0 *(4)
Fungsi f(x,y) dalam persamaan (4), akan memberikan nilai 0 pada setiap titik yang terletak pada garis, dan bernilai positip pada setiap titik yang terletak dibawah garis, dan bernilai negatif pada setiap titik yang terletak diatas garis. Maka untuk menentukan apakah titik P atau Q sebagai koordinat piksel berikutnya, maka dilakukan dengan cara menghitung nilai fungsi f(x,y) dalam persamaan (4) pada titik P dan titik Q . Jika fungsi f(x,y) tersebut memberikan nilai positif, maka piksel berikutnya adalah Q, sebaliknya piksel berikutnya adalah P.
*g(x, y) = f(xn + 1, yn + 1/2) *(5)
Fungsi g(x,y) persamaan (5) merupakan variabel penentu, dengan mengevaluasi g (x, y) dapat ditentukan piksel berikutnya yang mana berdasarkan tanda plus atau minus dari hasil fungsi g(x,y). Untuk mempercepat komputasi fungsi g(x,y), dilakukan dengan cara incremental berdasarkan nilai sebelumnya. Untuk setiap piksel, increment sederhana (DeltaG) dipakai sebagai variabel penentu. Karena hanya ada 2 pilihan piksel pada setiap tahap, maka hanya ada 2 increment yang dapat digunakan. Hal ini dilakukan dengan cara pengurangan nilai g(x,y) yang berurutan dengan menggunakan persamaan 4 dan persamaan 5.
*DeltaG = a * DeltaX + b * DeltaY *(6)
Dimana DeltaX dan DeltaY adalah increment yang dipakai pada x dan y, yang bernilai 0 atau 1. Bila bergeser 1 piksel ke kanan :
*DeltaG1 = a* (7)
Bila bergeser 1 piksel ke kanan dan 1 piksel ke atas.
*DeltaG2 = a + b *(8)
Jadi nilai dari variable penentu dapat dihitung dari nilai sebelumnya dengan cara menambah dengan (a) atau (a+b). Algoritma untuk menggambar garis lurus dari (x1, y1) sampai (x2, y2) dilakukan dengan langkah-langkah sebagai-berikut:
1. Gambar piksel pertama (x1,y1). Hitung variabel penentu dengan persamaan (3).
2. Tentukan tanda variabel penentu. Jika variabel penentu bernilai positif, increment x dan y dan tambahkan (a+b) pada vaiabel penentu, sebaliknya increment x dan y dan tambahkan (a) pada variabel penentu.
3. Plot piksel pada posisi (x, y).
4. Ulangi langkah mulai langkah kedua, sampai piksel terakhir (x2,y2).



3. LINGKARAN
Kurva lingkaran dinyatakan dinyatakan dalam persamaan :
*(x-xc) ^2 + (y-yc) ^2 = r ^2 *(9)
dimana : (xc,yc) : koordinat titik pusat lingkaran
r : jari-jari lingkaran
Untuk menggambarkan piksel-piksel dalam kurva lingkaran, dapat digunakan sumbu x dari x = (xc-r) sampai x = (xc+r) sebagai parameter dan sumbu y sebagai hasil dari persamaan (10)
*y = yc +- sqrt(r ^2 - (x-xc) ^2 *(10)
Algoritma ini memerlukan waktu operasi yang besar, karena mengandung operasi bilangan riel perkalian maupun eksponential, dan menghasilkan posisi koordinat piksel yang tidak merata, karena terjadinya gaps yang disebabkan adanya perubahan gradient.
Untuk menghindari posisi koordinat piksel yang tidak merata, koordinat piksel (x,y) dinyatakan dengan menggunakan koordinat polar dalam persamaan (11)
*x = xc + r cos q *(11a)
*y = yc + r sin q *(11b)
Persamaan (11) diatas mengandung operasi bilangan riel perkalian untuk mendapatkan koordinat piksel (x,y), untuk setiap nilai x, dari x = (xc-r) sampai x = (xc+r), operasi inilah yang perlu dihindari, karena operasi ini memerlukan waktu operasi yang besar.



3.1 Algoritma Midpoint
Komputasi untuk membuat kurva lingkaran dimulai dengan mengidentifikasi bagian-bagian dari lingkaran yang dapat ditentukan dengan menggunakan sifat simetri, hal ini dilakukan dengan cara membagai lingkaran dengan masing-masing mempunyai sudut sebesar 45° , sehingga dalam sebuah lingkaran dibagi menjadi 8 bagian. Sebagai contoh, digambarkan bagian dari lingkaran dari sudut 90° sampai 45° . Seperti pada algoritma midpoint untuk garis lurus, maka pada setiap tahapan, terdapat 2 koordinat piksel yang harus dipilih yaitu (x+1, y) atau (x+1, y-1).
Langkah berikutnya, adalah menyatakan persamaan lingkaran dan fungsi untuk menentukan variabel penentu. Persamaan lingkaran dengan pusat (0,0) dinyatakan dalam persamaan (12).
*f(x, y) = x*x + y+y - r*r = 0 *(12)
Fungsi f(x, y) persamaan (12) akan bernilai positif jika titik (x,y) diluar lingkaran, dan bernilai negatif jika titik (x,y) didalam lingkaran. Fungsi untuk variabel penentu dan increment dinyyatakan dalam persamaan (13), (14), dan (15).
g(x, y) = (x + 1) (x + 1) + (y - 1/2) (y - 1/2) - r*r (13)
*DeltaG1 = 2x + 3 (14)
*DeltaG2 = 2x - 2y + 5 (15)
Berbeda dengan nilai dari increment pada algoritma garis lurus yang bernilai konstan, pada kurva lingkaran, increment tidak konstan. Terlihat bahwa komputasi increment memerlukan operasi perkalian, tetapi operasi perkalian dapat diubah dengan cara komputasi nilai increment secara increment pula, sehingga diperlukan 2 komputasi increment dalam setiap piksel yang diproses. Secara umum, kurva polinomial orde n memerlukan n level increment. Pada titik awal (x1,y1), komputasi variabel penentu mempunyai bagian bilangan riel, sehingga operasi bilangan integer tidak dapat digunakan secara langsung.
Dalam praktek hal ini diselesaikan dengan cara menambahkan nilai 1/4 pada variable penentu. Hal ini tidak mempengaruhi perubahan tanda bilangan, karena operasi yang dilakukan adalah operasi bilangan integer, sehingga menghasilkan operasi yang lebih cepat.



KESIMPULAN
Panjang garis atau banyak piksel dalam garis lurus sangat berpengaruh terhadap perbandingan performance antara sebuah algoritma dengan algoritma yang lain, hal ini disebabkan adanya perbedaan waktu operasi yang berada didalam perulangan sepanjang pembuatan piksel, dan waktu operasi yang berada pada sebelumnya. Panjang jari-jari dalam lingkaran tidak berpengaruh terhadap perbandingan performance antara sebuah algoritma dengan algoritma yang lain, hal ini menunjukkan perbandingan waktu operasi yang berada didalam perulangan sepanjang pembuatan piksel, dan waktu operasi yang berada pada sebelumnya berimbang.
Algoritma dengan dasar operasi bilangan integer memberikan waktu operasi yang lebih cepat dibandingkan dengan algoritma dengan dasar operasi bilangan riel, hal ini ditunjukkan dengan waktu komputasi algoritma DDA, algoritma Bresenham dan algoritma Midpoint yang lebih cepat, baik pada pembuatan garis lurus maupun lingkaran dibandingan waktu komputasi dengan algoritma yang menggunakan dasar operasi bilangan riel. Algoritma midpoint memberikan waktu operasi tercepat diantara algoritma penggambaran garis lurus yang telah menggunakan dasar operasi bilangan integer, seperti algoritma DDA, algoritma Bresenham. Jadi algoritma Midpoint merupakan algoritma yang cocok untuk penggambaran grafik yang menuntut kecepatan sebagai hal yang diutamakan.




untuk menentukan jumlah pixel yang membuat suatu garis menggunakan algoritma bresenhem adalah sebagai berikut :


1. Masukan 2 endpoints, simpan endpoints kiri sebagai (x0, y0) dan kanan (x1,y1)


2. Hitung konstanta Δx, Δy, 2Δy, 2Dx,2Δy–2Δx dan nilai awal parameter keputusanp0= 2Δy –Δx


3. Pada setiap xk di garis, dimulai dari k=0, ujilah :Jika pk 0 maka plot (xk+1, yk+1) dan pk= pk+ 2Δy -2Δx


4.Ulangi tahap 4 sampai mencapai x,y yang di tuju.Contoh :Hitunglah posisi piksel hingga membentuk sebuah garis yang menghubungkan titik (4,1) dan (14,8) !1. Menentukan endpoints (x0,y0)= (4,1) dan (x1,y1)=(14,8)2. Hitung kostanta :Dx = x1-x0 Dx= 14-4=10Dy= y1-y0 Dy= 8-1=72Dx= 2.10=202Dy= 2.7=142Dy-2Dx= 14-20= -6pk=p0= 2Dy-Dx pk=p0= 14-10=43. jadi nilai keputusan awal= 4, karena pk=4 maka kita gunakan pk>0 makaplot (xk+1,yk+1) = (4+1,1+1) = (5,2) adalah plot yang terbentuk pada K=0.dan kita hitung nilai keputusan untuk plot selanjutnya. Dengan rumuspk= pk+ 2Δy -2Δx pk=4+(-6)=-2 adalah nilai keputusan yang ke 2. karenapk=-2 kita gunakan rumus pk<0 k="1.">



Contoh Source Code Program Bresenham pada C++ :




#include


#include


#include


#include


using namespace std;


void sumbu(){


glPushMatrix();


glBegin(GL_LINES);


glVertex3f(0, 0, 0.0);


glVertex3f(0, 1, 0.0);


glVertex3f(0, 0, 0.0);


glVertex3f(1, 0, 0.0);


glClear(GL_COLOR_BUFFER_BIT);


glColor3f(1.0, 1.0, 1.0);


glPopMatrix();


glEnd();


glFlush();


}




void Diagonal() {


float a,b,c,d;


cout<<"Masukan X0 : "; cin>>a;cout<<"Masukan Y0 : "; cin>>b;cout<<"Masukan X1 : "; cin>>c;cout<<"Masukan Y1 : "; cin>>d;


glPushMatrix();


glBegin(GL_LINES);


glVertex3f(a+0.5, b+0.5, 0.0);


glVertex3f(c+0.5, d+0.5, 0.0);


glClear(GL_COLOR_BUFFER_BIT);


glColor3f(1.0, 1.0, 1.0);


glPopMatrix();


glEnd();glFlush();


}




void Horizontal() {


float c,d,y;cout<<"Masukan XAwal :"; cin>>c;cout<<"Masukan XAkhir :"; cin>>d;cout<<"Masukan Ytetap :"; cin>>y;


glClear(GL_COLOR_BUFFER_BIT);


glColor3f(1.0, 1.0, 1.0);


glBegin(GL_LINES);


glVertex3f(c+0.1, y+0.1, 0.0);


glVertex3f(d+0.1, y+0.1, 0.0);


glEnd();


glFlush();


}




void Vertikal() {float a,b,x;


cout<<"Masukan Yawal : "; cin>>a;cout<<"Masukan Yakhir : "; cin>>b;cout<<"Masukan Xtetap : "; cin>>x;


glClear(GL_COLOR_BUFFER_BIT);


glColor3f(1.0, 1.0, 1.0);


glBegin(GL_LINES);


glVertex3f(x+0.5,a+0.5,0.0);


glVertex3f(x+0.5,b+0.5,0.0);


glEnd();


glFlush();


}




void Initialize() {glClearColor(0.0, 0.0, 0.0, 0.0);


glMatrixMode(GL_PROJECTION);


glLoadIdentity();


glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0);}


int main(int iArgc, char** cppArgv) {menu:int a;


cout<<"------MENU------\n"; cout<<"1.Garis Vertikal\n"; cout<<"2.Garis Horizontal\n"; cout<<"3.Garis Diagonal\n"; cout<<"4.Exit\n"; cout<<"----------------\n"; cout<<"Masukan pilihan anda:"; cin>>a;


cout<<"\n";


glutInit(&iArgc, cppArgv);


glutInitDisplayMode(GLUT_SINGLE GLUT_RGB);


glutInitWindowSize(500, 500);


glutInitWindowPosition(600, 200);


glutCreateWindow("OPenGL with C++");
Initialize();
while (a<=4){switch(a){case 1:glutDisplayFunc(Vertikal);
glutMainLoop();
return 0;
case 2:glutDisplayFunc(Horizontal);
glutMainLoop();
return 0;
case 3:glutDisplayFunc(Diagonal);glutMainLoop();
return 0;
default:cout<<"anda salah memasukan";
goto menu;
}
}
}