Friday, 23 September 2016

Penerapan Jamban Sehat Fiberglass Rumah Panggung Septic-Tank Buis Beton Pada Pemukiman Rawan Banjir

Kegiatan  Ipteks bagi Masyarakat (IbM) Ini dilaksanakan tanggal 24 September 2016 pada kelompok masyarakat nelayan penghuni rumah panggung rawan banjir di Kecamatan Marioriawa Kabupaten Soppeng.

Kecamatan Marioriawa Kabupaten Soppeng masuk wilayah Danau Tempe yaitu tepatnya Kelurahan Kaca dan mempnyai  jumlah penduduk 3,500.000 jiwa dengan sekitar 95 % kepala keluarga yang bermukim didaerah pinggiran Danau Tempe rumahnya model panggung. Wilayah pemukiman tersebut  mempunyai kondisi topografi yang relatif rendah dan selalu tergenang air banjir luapan Danau Tempe yaitu tergenang kolong rumahnya dengan air banjir. Masyarakat pada umumnya tergolong miskin, dan pekerjaan utama penduduk pada umumnya adalah nelayan.

Secara umum dapat disimpulkan bahwa perilaku masyarakat membuat jamban sehat closet fiberglass seperti dijelaskan terdahulu, disebabkan oleh kurangnya pengetahuan mereka tentang teknologi pembuatan jamban sehat closet fiberglass  untuk rumah panggung pada pemukiman nelayan rawan banjir akibat tingkat pendidikan masyarakat nelayan yang relatif sangat rendah.

Dengan melihat kondisi tersebut maka dosen pengabdi atas nama Bakhrani A. Rauf dari LPM UNM menerapkan jamban sehat rumah panggung pada masyarakat rawan banjir. Respon masyarakat penghuni rumah panggung yang selalu tergenang banjir merasa terbantu dengan inovasi yang diterapkan tersebut. 

Dengan selesainya seluruh rangkaian kegiatan penerapan Ipteks bagi Masyarakat (IbM) ini, maka kami mengucapkan terima kasih kepada: Rektor Universitas Negeri Makassar, Ketua Lembaga Pengabdian Kepada Masyarakat Universitas Negeri Makassar, Gubernur Sulawesi Selatan, Kelompok  masyarakat pemukiman nelayan tinggal pada rumah panggung rawan banjir (mitra), dan kepada semua pihak yang telah membantu kami sehingga semua rangkaian kegiatan dapat diselesaikan dengan baik.

Thursday, 21 April 2016

System Requirements Functional and Non-Functional

System Requirements (Kebutuhan Sistem)


         Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan  dibangun. Atau requirement adalah pernyataan/gambaran pelayanan yang disediakan oleh  sistem, batasan-batasan dari sistem dan bisa juga berupa definisi matematis fungsi-fungsi  sistem. Tujuan dari fase analisis adalah memahami dengan sebenar-benarnya kebutuhan dari sistem baru dan mengembangkan sebuah sistem yang mewadahi requirement tersebut-atau memutuskan bahwa sebenarnya pengembangan sistem baru tidak dibutuhkan. Penentuan kebutuhan sistem merupakan langkah yang paling crucial dalam tahapan SDLC. Kebutuhan Sistem bisa diartikan sebagai berikut: 


a. Pernyataan tentang apa yang harus dikerjakan oleh sistem 
b. Pernyataan tentang karakteristik yang harus dimiliki sistem

    Tipe-tipe Kebutuhan Sistem untuk mempermudah system analis menentukan keseluruhan requirement secara lengkap, maka analis membagi kebutuhan sistem ke dalam 2 jenis, yaitu :

1. Kebutuhan Fungsional (Functional requirement). 
Kebutuhan fungsional adalah jenis kebutuhan yang berisi proses-proses apa saja yang nantinya dilakukan oleh system. Kebutuhan fungsional juga berisi informasi-informasi apa saja yang harus ada dan dihasilkan oleh sistem. 

2. Jenis kedua adalah Kebutuhan Non fungsional (Nonfunctional Requirements).
Requirement jenis ini adalah tipe requirement yang berisi properti perilaku yang dimiliki oleh sistem, meliputi Operasional Pada bagian ini harus dijelaskan teknis bagaimana system baru akan beroperasi. Platform sistem yang dipakai didefinisikan, apakah menggunakan windows atau Linux misalnya. Software untuk mengembangkan sistem juga ditentukan. Hardware spesifik yang diperlukan juga ditentukan. Terakhir arsitektur sistem juga dijelaskan apakah 2-tier, 3 –tier atau yang lainnya. Performance Pada bagian ini dijelaskan seberapa bagus kinerja dari software yang dikembangkan dalam mengolah data, menampilkan informasi dan secara keseluruhan menyelesaikan proses bisnis yang ditanganinya. Efisiensi dari perangkat lunak juga dicantumkan. Keamanan Kebutuhan keamanan berisi pernyataan tentang mekanisme pengamanan aplikasi, data maupun transaksi yang akan diimplementasikan pada sistem. Sistem password yang digunakan akan seperti apa dan hardware spesifik untuk pengamanan sistem juga dideskripsikan. Politik dan budaya Requirement yang isinya menyangkut atau berhubungan dengan isu politik dan budaya ditentukan disini. Isi yang secara politik dan budaya harus dijamin tidak menimbulkan persepsi negatif terhadap sistem. Berikut adalah skema Non-Fuctional Requirements



Bagan Non-Functional Requirements


       Non-functional Requirement Secara umum berisi batasan-batasan pada pelayanan atau fungsi yang disediakan oleh sistem. Termasuk di dalamnya adalah batasan waktu, batasan proses pembangunan, standar-standar tertentu. Karena berkaitan dengan kebutuhan sistem secara keseluruhan, maka kegagalan memenuhi kebutuhan jenis ini berakibat pada sistem secara keseluruhan. Contoh kebutuhan jenis ini adalah kecepatan akses, keamanan data, besarnya kapasitas penyimpanan yang diperlukan, privasi masing-masing profil/account, bahasa pemrograman yang digunakan, system operasi yang digunakan. Non functional requirement dibagi menjadi 3 tipe yaitu: Product req. berkaitan dengan kehandalan, kecepatan, kemudahan digunakan, kapasitas memori yang dibutuhkan dan efisiensi system Organisational req. berkaitan dengan standar, bahasa pemrograman dan metode rancangan yang digunakan. External req. berkaitan dengan masalah etika penggunaan, interoperabilitas dengan sistem lain, legalitas, dan privasi. 

       Domain requirement berasal dari domain aplikasi sistem. Misalnya karena masalah hak cipta maka beberapa dokumen dalam perpustakaan tidak boleh diakses oleh orang lain yang tidak berhak. User Requirement Menggambarkan functional dan non-functional req yang dapat dipahami oleh pengguna (user) yang tidak memiliki latar belakang teknis yang cukup. User requirement menjelaskan perilaku luar dari sistem, tidak secara teknis, karena itu perlu menggunakan bahasa alami, atau bahasa yang sederhana. System Requirement. Merupakan deskripsi sistem yang lebih detil dari user requirement (jadi masih berisi functional dan non functional req). Req ini bisa berlaku sebagai kontrak pembangunan sistem dan bisa terdiri dari macam model system seperti model object atau model data-flow. System req. menyatakan apa yang harus dikerjakan sistem, dan bukan bagaimana sistem diimplementasikan. Untuk itu bahasa yang lebih spesifik dan bersifat teknis dapat digunakan, seperti misalnya PDL (Program Description Language). PDL digunakan untuk menggambarkan kebutuhan secara operasional dan sifatnya sangat dekat dengan implementasi program. 

   Dokumen kebutuhan (requirement document) Dokumen kebutuhan merupakan pernyataan resmi dari apa yang dibutuhkan dari pembangun sistem, berisi definisi dan spesifikasi requirement dan bukan dokumen desain. Sebisa mungkin berupa kumpulan dari APA yang harus dikerjakan sistem, BUKAN BAGAIMANA sistem mengerjakannya. Pengguna dari dokumen kebutuhan adalah pihak-pihak yang menjelaskan pihak pengguna dokumen dan kepentingannya dengan dokumen tersebut. Dokumen kebutuhan sebaiknya memenuhi 6 hal berikut : 
 menjelaskan perilaku eksternal system 
 menjelaskan batasan pada implementasi 
 mudah diubah 
 sebagai alat referensi untuk pemelihara system 
 mencatat peringatan awal tentang siklus dari system 
 menjelaskan bagaimana sistem merespon hal-hal yang tidak biasa/normal 

       Untuk melakukan requirement engineering, dapat dilakukan dengan langkah-langkah requirement engineerings sebagai berikut : 
1. Inception 
 mendefinisikan ruang lingkup dan batasan masalah 
 diperlukan pemahaman dasar tentang masalah, orang yang membutuhkan suatu solusi, pemecahan masalah yang di kehendaki, dan adanya komunikasi yang efektif serta kerjasama antara pelanggan (customer) dan pengembang (developer) 

2. Elicitation membantu customer mendefinisikan apa yang dibutuhkan dalam pengembangan suatu aplikasi. Beberapa hal yang sering menghambat dalam memahami pendefinisian masalah antara lain: 
 Cakupan masalah, batasan masalah yang tidak di definisikan dengan baik. 
 Pemahaman masalah, pengguna tidak benar-benar yakin terhadap apa yang dibutuhkan dan memiliki pemahaman yang kurang terhadap kemampuan dan batasan dari lingkungan komputasi mereka. 
 Volatilitas dari permasalahan, kebutuhan yang sering berubah-ubah sepanjang waktu. pendukung proses kolaborasi, maka panduannya antara lain: 
  • Adanya pertemuan dan dihadiri dari software engineering dan customer. 
  • Peraturan untuk persiapan dan persiapan telah ada. 
  • Adanya agenda yang dibuat secara formal. 
  • Seorang fasilitator akan mengawasi meeting. 
  • Adanya definisi masalah. 
  • Tujuan akhir adalah untuk mengidentifikasi masalah, tujuan dari setiap elemen solusi. 


3. Elaboration 
  Elaboration merupakan suatu model analisis yang terdiri dari beberpa model dan perbaikan tugas. Hasil akhir dari elaboration ini adalah suatu model analisa yang mendefinisikan suatu informasi yang fungsional dan memiliki wilayah perilaku suatu permasalahan. 

4. Negotitation merupakan aktifitas pada setiap permulaan iterasi proses piranti lunak. 

5. Specification merupakan hasil akhir dari kegiatan requirements engineering.

6. Validation perlu adanya validasi kembali untuk memastikan bahwa developer mengerti permasalahannya dan customer memahami masalah dengan tepat. 

7. Management membantu tim proyek untuk mengindentifikasi, pengawasan, dan melacak perubahan kebutuhan setiap saat pada tahapan proyek. Kebutuhan manajemen di mulai dengan identifikasi. Setiap kebutuhan memiliki nomor yang unik. Sekali kebutuhan tersebut di identifikasi, maka tabel pelacakan segera dibuatkan

Tuesday, 1 March 2016

Perintah Dasar Linux yang berhubungan dengan Directory, Network, Pemrosesan String, Information System, User, Shutdown dan Reboot, serta History

      Assalamualaikum..
      Apa saja sih perintah-perintah dasar pada LINUX ? dari pada bingung cari jawabannya mending agan baca ajah nih artikel di bwah ini :
    
      A.    PERINTAH YANG BERHUBUNGAN DENGAN DIRECTORY

#Is
format : ls folder1

Menampilkan isi dari suatu direktori.

#dir

format : dir folder1

menampilkan isi dari suatu direktori.

# pwd (print working direktory)

format : pwd

Digunakan untuk menampilkan nama direktori dimana anda saat itu sedang berada.

# mkdir

format : mkdir folder_baru

perintah untuk membuat sebuah direktori.

# cd

format : cd /folder1/folder2/

perintah untuk berpindah dari direktori yang aktif / masuk ke direktori yang
lain.

# rmdir

format : rmdir folder1

perintah untuk menghapus direktori yang kosong.



      B.     PERINTAH DASAR COMMAND PROMPT DALAM JARINGAN
ping

Perintah “ping” mengirim ICMP echo request packets ke tujuan. Contohnya, anda bisa ping google.com atau ping 172.195.33.174 untuk ping domain atau IP address. Paket tersebut akan “bertanya” ke tujuan agar membalas. Jika tujuan dikonfigurasi untuk bisa membalas, tujuan akan merespon packet tersebut. Anda akan dapat melihat berapa lama waktu round-trip/perjalanan antara komputer Anda dan tujuan (dibaca: Latency). Anda akan melihat “request timed out” jika packet loss terjadi/tidak terhubung dengan tujuan, dan Anda akan melihat pesan kesalahan jika komputer Anda tidak dapat berkomunikasi dengan host tujuan.


traceroute / tracert / tracepath

Salah satu perintah dasar command prompt pada jaringan adalah traceroute persis dengan perintah ping, tapi perintah ini dapat memberikan informasi jalur paket tujuan melewati mana saja. traceroute mengirimkan paket ke tujuan, dan sepanjang jalan meminta setiap router Internet  untuk membalas ketika dilewati. Ini akan menunjukan jalur koneksi antara komputer Anda dan tujuan.


Tool ini dapat membantu untuk troubleshoot masalah koneksi. Contohnya, jika Anda tidak dapat terhubung dengan server, menjalankan traceroute akan menunjukan jalur/hop yang bermasalah antara komputer Anda dan tujuan.
 

ipconfig / ifconfig

Perintah ipconfig bisa digunakan di Windows, sementara perintah ifconfig bisa digunakan di Linux, Mac OS x dan Unix. Perintah ini memungkinkan Anda untuk mengkonfigurasi interface jaringan dan melihat informasi interface/LAN Card di komputer Anda. Sebagai contoh, anda bisa gunakan perintah ipconfig /all di Windows untuk melihat konfigurasi interface jaringan di komputer Anda, IP Address Anda, DNS server dan informasi lainnya. Atau, Anda bisa gunakan perintah ipconfig /flushdns untuk Reset, Clear, Refresh, Flush DNS Cache di Windows. Memaksa windows untuk mendapatkan alamat baru dari DNS server setiap anda mengakses situs baru. Perintah lainnya bisa memaksa komputer anda untuk memperbaruhi IP address dan mendapatkan ip address baru dari DHCP server. Tools ini dapat dengan cepat menampilkan alamat IP komputer atau membantu Anda memecahkan masalah koneksi.


nslookup

Perintah dasar command prompt pada jaringan lainnya adalah perintah nslookup akan mencari alamat IP yang terkait dengan nama domain. Contohnya, anda bisa menjalankan perintahnslookup untuk melihat IP address blog ini 
www.modalsemangat.com.

Komputer Anda akan terus query server DNS untuk menerjemahkan nama domain ke alamat IP. Perintah ini hanya memungkinkan Anda untuk melakukannya secara manual. nslookup juga memungkinkan Anda untuk melakukan reverse lookup untuk menemukan nama domain yang terkait dengan alamat IP. Misalnya, nslookup 108.162.195.147 akan menunjukkan bahwa alamat IP ini dikaitkan dengan 
adamonline.web.id.


netstat

netstat singkatan dari statistik jaringan. Perintah ini menampilkan koneksi jaringan yang masuk dan keluar serta informasi jaringan lain. Ini tersedia di Windows, Mac, dan Linux – setiap versi memiliki opsi baris perintah sendiri Anda dapat men-tweak untuk melihat berbagai jenis informasi.

Utilitas netstat dapat menunjukkan koneksi yang open di komputer Anda, program mana yang membuat koneksi, berapa banyak data sedang dikirim, dan informasi lainnya.


      C.    PERINTAH DASAR YANG BERHUBUNGAN DENGAN PEMROSESAN STRING
String adalah serangkaian karakter. Linux menyediakan beberapa perintah yang dapat digunakan berkaitan dengan proses string, seperti mencari karakter, pengurutan dan lainnya.

# head

Format : head option file_yang_ingin_dilihat
Perintah ini digunakan untuk menampilkan beberapa baris awal dari isi file.
# tail
Format : tail option file_yang_ingin_dilihat
Menampilkan isi akhir file. Untuk menampilkan beberapa baris terakhir dari isi file gunakan perintah tail.tambahkan option -nx, dimana x adalah jumlah barisnya.
# grep
Format : grep option karakter/kata
Anda dapat mencari karakter atau kata yang diinginkan dari sebuah file yang terdiri dari banyak kalimat.
# wc
Format : wc option nama_file
Perintah untuk menampilkan jumlah baris, jumlah kata dan ukuran dari sebuah file.
# sort
Format : sort option nama_file
Apabila anda ingin menampilkan isi file teks secara urut. Gunakan perintah ini.





      D.    PERINTAH DASAR LINUX YANG BERHUBUNGAN DENGAN INFORMASI SYSTEM
# uname
Format : uname option
Perintah ini akan menampilkan informasi system komputer anda
Option yang bisa ditambahkan adalah sebagai berikut :
-a, -all                          : menampilkan semua informasi
-m, -machine               : menampilkan tipe mesin/perangkat keras
-n, -nodename                         : menampilkan hostname
-r, -release                    : menampilkan rilis dari kernel sistem operasi
-s, -o                            : menampilkan nama sistem operasi
-p, --processor             : menampilkan tipe prosesor
-v                                 : menampilkan versi sistem operasi

# date
Perintah untuk menampilkan tanggal dan waktu system
# cal
Untuk menampilkan kalender.
# df
Perintah untuk menampilkan penggunaan space filesystem dari
hardisk anda.
# du
Perintah untuk menampilkan ukuran direktori atau file.
# uptime
Untuk mengetahui informasi tentang lama sistem berjalan setelah terakhir reboot atau mati.
# hostname
Perintah untuk menampilkan nama dari komputer (hostname)
# free
Perintah untuk menampilkan penggunaan memori
# ps /process status
memberikan informasi status proses pada sistem kita. Menampilkan berbagai informasi mengenai proses apa saja yang sedang aktif.
# pstree
Perintah ini fungsinya sama dengan perintah ps, tetapi ditampilkan dalam bentuk pohon.

      E.     PERINTAH DASAR LINUX YANG BERHUBUNGAN DENGAN USER
# who
Perintah ini digunakan untuk menampilkan user yang sedang login
saat ini.
# id
Gunakan perintah id untuk menampilkan identitas user.
# tty
Jika untuk menampilkan informasi tentang user yang sedang aktif
# su atau su -
Anda dapat berpindah dari user yang sedang aktif menjadi user lain
tanpa harus melakukan logout.
# adduser atau useradd
Untuk membuat user baru digunakan perintah adduser atau useradd.
# passwd
membuat password user atau mengganti password user yang sudah ada.
Format : passwd option nama_user
# userdel -r
Gunakan perintah userdel untuk menghapus user. -r adalah menghapus home direktori user nya.
Format : userdel option nama_user_yang_akan_dihapus
# groupadd
Perintah ini digunakan untuk membuat group.
Format : groupadd option nama_grup_baru
# groupdel
Group yang ada juga dapat dihapus. Gunakan perintah groupdel
Format : groupdel nama_group_yang_akan_dihapus
#whoami
Fungsi : Untuk mengetahui user yang sedang login
Command : whoami


      F.     PERINTAH DASAR LINUX YANG BERHUBUNGAN DENGAN SHUTDOWN DAN RESTART

·         Shutdown
1.      Ketikkan perintah
halt
2.      Ketikkan perintah
shutdown -h now
3.      Ketikkan perintah
init 0
4.      Ketikkan perintah
Power off

·         Reboot Komputer

1. Ketikan perintah
reboot

2. Ketikan perintah
shutdown -r now

3. Ketikan perintah
init 6

      G.    PERINTAH DASAR LINUX YANG BERHUBUNGAN DENGAN HISTORY

#date
Fungsi : Melihat tanggal
Command : date
#cal
Fungsi : melihat tanggal dalam bentuk kalender
Command : cal
#who
Fungsi : Untuk mengetahui user yang sedang aktif
Command : who
#clear
Fungsi : Untuk membersihkan layar
Command : clear
#history
Fungsi : Untuk menampilkan perintah-perintah yang digunakan sebelumnya
Command : history



NB : Jika anda ingin lebih tahu apa-apa  saja option dari setiap perintah yang ada di atas,lakukan perintah di bawah ini sebagai contoh nya adalah : #tar

maka ketik perintah seperti : # tar --help

Monday, 29 February 2016

Algoritma Pembentuk Garis pada Graphic Computer

Assalamualaikum..
Salam sejahtera..  baik kali ini saya akan sharing materi tentang Algoritma Pembentuk Garis. Namun sebelum itu kita harus tahu dulu apa itu garis ? Nah, menurut Wikipedia Bahasa Indonesia:
Garis (bahasa Inggrisline), dalam geometri Euklides, adalah sebuah lengkungan lurus. Ketika geometri digunakan untuk memodel dunia nyata, garis digunakan untuk menggambarkan objek lurus dengan lebar dan tinggi yang berbeda. Garis adalah idealisasi dari objek semacam itu dan tidak punya lebar atau tinggi dan panjangnya dianggap tak hingga
Dalam geometri, sebuah garis biasanya merupakan satu anggapan primitif dari sistem aksioma. Garis terdiri darihimpunan titik dan merupakan subhimpunan dari bidang. Dalam geometri diferensial, konsep garis digeneralisasikan menjadi geodesi. Dalam geometri sintetis, sebuah garis adalah satu anggapan lama dalam sistem EuklidesKarl von Staudt, dan David Hilbert. Sebuah garis adalah sebutan terdefinisikan dalam sistemGiuseppe PeanoMario Pieri dan Alessandro Padoa.
Sebuah ruas garis adalah bagian dari garis yang dikelilingi oleh dua ujung berbeda dan terdiri dari setiap titik di garis antara kedua ujungnya. Tergantung cara ruas garis ini dideginisikan, satu dari dua ujung tersebut bisa jadi atau bukan bagian dari ruas garis. Dua ruas garis atau lebih bisa memiliki hubungan yang sama seperti garis, seperti paralel, perpotongan, atau kemiringan.                            

Sudah tahu kan pengertian garis ? klo gitu kita langsung saja nih bahas Algoritma Pembentuk Garisnya .


ALGORITMA PEMBENTUK GARIS

Ada beberapa metode pembentuk garis yang umum digunakan yaitu Algoritma DDA (Digital Defferential Analyzer) dan Algoritma Bressenham.

11.      DDA (Digital Defferential Analyzer)
Garis merupakan kumpulan dari titik-titik, untuk membentuk garis lurus adalah dengan mengetahui titik awal dan titik akhir. Dengan mengetahui titik awal dan titik akhir maka kita dapat membentuk garis. Untuk menggambarkan proses pembuatan garis dari titik awal ke titik akhir ada berbagai algoritma. Algoritam yang umum adalah DDA dan Bresenham.
Berikur ini adalah algoritma DDA
1. Tentukan 2 buah titik.
2. Tentukan yang menjadi titik awal (X0,Y0) dan titik akhir (X1,Y1).
3. Hitung Dx dan DyDx = X1-X0 dan Dy = Y1 – Y0
4. Bandingkan Abs(Dx) dan Abs(Dy)Jika Abs(Dx) > Abs(Dy) makaSteps = Abs(Dx) bila tidak Steps = Abs(Dy)
5. Hitung penambahan koordinat pixel, yaitu:X_increment = dx/steps, danY_increment = dy/steps.
6. Koordint selanjutnya, yaituX+X_incrementY+Y_increment
7. Posisi pixel ditentukan dengan pembulatan nilai koordinat tersebut.
8. Ulangi langkah 6 dan 7 untuk posisi selanjutnya sampai X = X1, Y = Y1

DDA (bahasa pascal)Procedure DDA;
Begin
Write(‘Masukkan Nilai X0 : ‘);
Readln(X0); Write(‘Masukkan Nilai Y0 : ‘);
Readln(Y0); Write(‘Masukkan Nilai X1 : ‘);
Readln(X1); Write(‘Masukkan Nilai Y1 : ‘);
Readln(Y1);
Dx:= X1-X0;
Dy:= Y1-Y0;
If Abs(Dx) > Abs(Dy) Then
Steps:= Abs(Dx)
Else
Steps:= Abs(Dy);
Endif
PutPixel(x,y,Hitam);
For x = 1 to Steps Do
X := X + Xincrement;
Y := Y + Yincrement;
PutPixel(x,y,Hitam);
End;
End;

Contoh
Diketahui 2 buah titik A(10,10) dan titik B(17,16), bila titik A sebagai titik awal dan titik B sebagai titik akhir maka buatlah garis yang menghubungkan titik tersebut dengan menggunakan algoritma DDA.

Jawab
Titik Awal = A(10,10)
Titik Akhir = B(17,16)
Dx = (X1-X0) (17-10) = 7
Dy = (Y1-Y0) (16-10) = 6
Abs(Dx) = Abs(7) = 7
Abs(Dy) = Abs(6) = 6
Abs(Dx) > Abs(Dy) maka
Step = Abs(Dx) = 7
Xincrement = Dx / Steps. 7 / 7 = 1
Yincrement = Dy / Steps. 6 / 7 = 0,86

Tabel 3.1. Nilai perhitungan
K
X
Y
Xinc
Yinc
10
10
0
11
10,86
11
11
1
12
11,71
12
12
2
13
12,57
13
13
3
14
13,43
14
14
4
15
14,28
15
15
5
16
15,14
16
16
6
17
16
17
16

2.      ALGORITMA BRESSENHAM
Tujuan dari algoritma Bressenham ini adalah untuk menghindari pembulatan nilai seperti pada algoritma DDA.
1. Tentukan dua titik yang akan dihubungkan dalam pembentukan garis.
2. Tentukan salah satu titik di sebelah kiri sebagai titi awal, yaitu (x0,y0) dan titik lainnya sebgai titik akhir (x1,y1).
3. Hitung dx,dy,2dx dan 2dy-2dx.
4. Hitung parameter P0 = 2dy-dx
5. Untuk setiap Xk sepanjang jalur garis, dimulai dengan k=0,bila pk <0,>k+1, yk), dan Pk+1 = Pk+2dybila tidak, maka titik selanjutnya adalah (xk+1,yk+1), dan Pk+1 = Pk+2dy-2dx
6. Ulangi langkah no 5 untuk menentukan posisi pixel selanjutnya, sampai x = x1 dan y = y1.
Sub Rutim Berssenham dalam CVoid line (int xa, ya, xb, yb, xEnd; flot x,y)
{
Int dx = abs(xb-xa), dy=abs(yb-ya);
Int p = 2*dy-dx;
Int twoDy = 2*dy,
twodyDx = 2*(dy-dx);
If (xa>xb)
{
X = xb;
Y = yb;
Xend = xa;
}
Else
{
X = xa;
Y = ya;
xEnd = xb;
}
SetPixel(x,y);
While (x
{
X++;
If (p<0)
P+ = twody;
Else
{
Y++;
P+ = twoDyDx;
}
SetPixel(x,y);
}
};




Contoh
Berdasarkan contoh pada algoritma DDA buatlah dengan metode bresenham.

Jawab:
dx = abs(xb – xa)= abs(17 – 10 ) = 7
dy = abs(yb – ya)= abs(16 – 10) = 6
p = 2 * dy – dx = 2 * 6 – 7 = 5
twody = 2 * dy = 2 * 6 = 12
twodydx= 2 * (dy – dx ) = 2 * ( 6 – 7 ) = -2
Periksa xa dan xb
xa = 10 < xb =” 17Maka”>
x = xa = 10
y = ya = 10
Xend = xa = 17
Ulangi selama x <>
K0: x = x + 1 = 10 + 1 = 11
Periksa nilai p , dimana p = 5
y = y + 1 = 10 + 1 = 11
p = p + twodydx = 5 + (-2) = 3
K1: x = x + 1 = 11 + 1 = 12
Periksa nilai p, dimana p = 3
y = y +1 = 11 + 1 = 12
p = p + twodydx = 3 + (-2) = 1
K2: x = x + 1 = 12 + 1 = 13
Periksa nilai p, dimana p = 1
y = y +1 = 12 + 1 = 13
p = p + twodydx = 1 + (-2) = -1
K3: x = x + 1 = 13 + 1 = 14
Periksa nilai p, dimana p = -1 Nilai y tetap yaitu y=13
p = p + twody = (-1) + 12 = 11
K4: x = x + 1 = 14 + 1 = 15
Periksa nilai p, dimana p = 11
y = y +1 = 13 + 1 = 14
p = p + twodydx = 11 + (-2) = 9
K5: x = x + 1 = 15 + 1 = 16
Periksa nilai p, dimana p = 9
y = y +1 = 14 + 1 = 15
p = p + twodydx = 9 + (-2) = 7
K6: x = x + 1 = 16 + 1 = 17
Periksa nilai p, dimana p = 7 y = y +1 = 15 + 1 = 16
p = p + twodydx = 7 + (-2) = 5
Proses berhenti karena x = x1 dan y = y1
Masukkan nilai kedalam tabel, seperti pada tabel 3.2. Tabel 3.2.
Hasil penelusuran dengan bressenham.

K
Pk
(Xk+1 , Yk+1)
10,10
0
3
11,11
1
1
12,12
2
-1
13,13
3
11
14,13
4
9
15,14
5
7
16,15
6
5
17,16

Makasih sudah berkunjung. Semoga bermanfaat ! :)