Komputer Grafik

Posted by Catatan-ati Wednesday 9 November 2016 0 komentar
Pengerian Komputer Grafik

Komputer Grafik adalah bagian dari ilmu komputer yang berkaitan dengan pembuatan dan manipulasi gambar (visual) secara digital dapat diartikan sebagai seperangkat alat yang terdiri dari hardware dan software untuk membuat/mengolah gambar, grafik atau citra realistik untuk seni, game komputer, foto dan animasi komputer.Bentuk sederhana dari grafika komputer adalah grafika komputer 2D yang kemudian berkembang menjadi grafika komputer 3D, pemrosesan citra (image processing), dan pengenalan pola (pattern recognition). Grafika komputer sering dikenal juga dengan istilah visualisasi data.


2. Sejarah Grafika Komputer
Sejarah grafika dimulai sejak jaman dahulu ketika bangsa mesir, roma dan yunani berkomunikasi secara grafik. Beberapa lukisan yang terdapat pada batu nisan orang mesir dapat dikatakan sebagai lukisan teknik. Leonardo da Vinci sudah menghasilkan lukisan dengan objek 3D dengan pandangan isometrik.

Perkembangan grafika komputer dapat dibagi menjadi 4 fase, yaitu:

1. Fase Pertama, tahun 50an
Merupakan era grafika komputer interaktif. Pada mulanya perkembangan grafika komputer interaktif tidak terlalu cepat karena teknologi dan harga komputer yang mahal.Pada tahun 50an MIT mengembangkan komputer whirlwind dengan tabung sinar katode. Komputer ini mampu memaparkan grafik pasif yang digunakan untuk keperluan pertahanan. Akhir tahun 50an banyak orang menggunakan pena cahaya sebagai alat input,selain itu pada periode yang sama alat pemrograman otomatis telah berhasil dibuat. Komputer grafik interaktif mulai diteliti oleh general motor pada tahun 1959.

- MIT berhasil mengembangkan komputer whirlwind dengan tabung sinar katode (Cathode Ray Tube-CRT).
- Sudah menggunakan pena cahaya (light pen) yaitu sebuah alat input bentuknya seperti pensil yang digunakan untuk memilih posisi, menunjuk sesuatu dan menggambar pada layar dengan pendeteksian cahaya yang datang dari titik-titik pada layar CRT.
- Telah ada alat pemrograman otomatis (Automatic Programming Tool)


2. Fase Kedua, dekade 60an
Merupakan zaman penelitian /riset grafika komputer interaktif. Saat ini grafika interaktifmoderen berhasil ditemukan oleh Ivan Sutherland dengan sistem penggambaran SKETCHPAD. Beliau juga menggambarkan teknik interaktif dengan sarana keyboard dan pena cahaya. Awal tahun 60-an dimulainya model animasi dengan menampilkan simulasi efek fisik.

- Mengembangkan teknik interaktif dengan sarana keyboard dan pena cahaya.
- Sejumlah projek penelitian dan produk Computer Aided Design/Manufacturing (CAD/CAM) telah muncul.
- Alat untuk menampilkan Calligraphic (vector)
- Mouse oleh Douglas Englebert
ditemukan Evans & Sutherland.
- Journal SIGGRAPH pertama kali diterbitkan

3. Fase Ketiga pada dekade 70an
Saat ini sektor industri, pemerintahan dan ilmuan mulai sadar akan pentingnya grafika komputer interaktif untuk memperbaiki kualitas desain produk secara cepat dan mudah.

- Grafika komputer interaktif telah digunakan oleh sektor industri, pemerintah dan ilmuwan untuk memperbaiki kualitas desain produk secara cepat dan mudah.
- Pierre B´eezier mengembangkan kurva B´eezier.
ditemukan Gouraud Shading,
- ditayangkannya filmWestworld, sebagai film pertama yang menggunakan animasi
komputer.
- Ed Catmull mengembangkan z-buffer (Utah). Komputer animasi pendek,Hunger:Keyframe animation and morphing
- Jim Blinn mengembangkan texture dan bump mapping.
- Film terkenal Star Wars menggunakan grafik komputer
- Turner Whitted mengembangkan algoritma ray tracing,untuk pesawat Death Star.
- Pertengahan tahun 70-an hingga 80-an: Pengembangan Quest for realism radiosity sebagai main-stream aplikasi realtime.

4. Fase keempat, dekade 80an
Pada masa ini grafika komputer berkembang pesat. Banyak orang berlomba untuk menemukan teori dan algoritma baru, penelitian dekade ini bertumpu pada penggabungan dan pengotomatisasian sebagai unsur desain dan pemodelan pejal (solid modeling) hal ini berguna untuk industri masa depan.

- Teknologi hibrid mulai diperkenalkan. Teknologi ini berguna untuk penggabungan objek pejal dengan permukaan.
- Pengembangan teknologi grafik komputer untuk menampilkan partikel.
- Grafik Komputer digunakan untuk menggantikan model fisik pada film The Last Star
Fighter.
- Pertama kalinya Film hasil produksi grafik komputer dijadikan sebagai nominasi
dalam Academy Award: Luxo Jr. (Pixar).
- Film Tin Toy (Pixar) memenangkan Academy Award.
- Diproduksi fillm Toy Story (Pixar dan Disney) sebagai film3D animasi panjang pertama
- Akhir tahun 90-an, ditemukannya teknologi visualisasi interaktif untuk ilmu pengetahuan dan kedokteran, artistic rendering, image based rendering, path tracing, photon maps, dll.
- Tahun 2000 ditemukannya teknologi perangkat keras untuk real-time photorealistic rendering.


Sejarah Perkembangan Komputer Grafik di era 1960 – 2000
· Awal tahun 60-an dimulainya model animasi dengan menampilkan simulasi efek fisik.
· 1961: Edward Zajac menyajikan suatu model simulasi satelit dengan menggunakan teknologi Grafik Komputer.
· 1963 : ditermukan Sutherland (MIT), Sketchpad (manipulasi langsung, CAD), Alat untuk menampilkan Calligraphic (vector),Mouse oleh Douglas Englebert
· 1968 : ditemukan Evans & Sutherland.
· 1969 : Journal SIGGRAPH pertama kali diterbitkan
· 1970: Pierre B´eezier mengembangkan kurva B´eezier.
· 1971: ditemukan Gouraud Shading
· 1972: ditayangkannya filmWestworld, sebagai film pertama yang, menggunakan animasi komputer.
· 1974: Ed Catmull mengembangkan z-buffer (Utah). Komputer animasi pendek, Hunger:Keyframe animation and morphing
· 1976: Jim Blinn mengembangkan texture dan bump mapping.
· 1977: Film terkenal Star Wars menggunakan grafik komputer
· 1979: Turner Whitted mengembangkan algoritma ray tracing,untuk pesawat Death Star.
· Pertengahan tahun 70-an hingga 80-an: Pengembangan Quest for realism radiosity sebagai main-stream aplikasi realtime.
· 1982: Pengembangan teknologi grafik komputer untuk menampilkan partikel.
· 1984: Grafik Komputer digunakan untuk menggantikan model fisik pada film The Last Star Fighter.
· 1986: Pertama kalinya Film hasil produksi grafik komputer dijadikan sebagai nominasi dalam Academy Award: Luxo Jr. (Pixar).
· 1989: Film Tin Toy (Pixar) memenangkan Academy Award.
· 1995: Diproduksi fillm Toy Story (Pixar dan Disney) sebagai film 3D animasi panjang pertama
· Akhir tahun 90-an, ditemukannya teknologi visualisasi interaktif untuk ilmu pengetahuan dan kedokteran, artistic rendering, image based rendering, path tracing, photon maps, dll.
· Tahun 2000 ditemukannya teknologi perangkat keras untuk real-time photorealistic rendering.



Beberapa Pionir Perkembangan Grafika Komputer

Seperti bidang ilmu lain, sejarah grafika komputer sangat bervariatif tergantung darimana
kita melihat sudut pandangnya. Namun beberapa nama menjadi pionir dalam pengembangan
grafika komputer yaitu:



William Fetter. Mempopulerkan istilah computer graphics pada tahun
1960. Istilah ini digunakan untuk menjelaskan metode perancangan
pesawat baru yang dikembangkan di tempat ia bekerja yaitu Boeing.
Citra, yang direproduksi menggunakan plotter, menggambarkan
rancangan kokpit menggunakan model 3D tubuh manusia.


Ivan Sutherland. Seorang mahasiswaMIT pada tahun 1961 menciptakan
program komputer yang disebut Sketchpad. Dengan bantuan light pen
seseorang dapat menggambar bangun sederhana pada layar komputer.

Steve Russell. Di tahun yang sama menciptakan video game pertama
yang disebut Spacewar. Program ini dijalankan pada mesin DEC-PDP-1,
dan sekaligus menjadi program uji bagi setiap komputer DEC yang
dipasarkan.


E. E. Zajac. Seorang ilmuwan dari Bell Telephone Laboratory, tahun
1963, menciptakan sebuah film yang mensimulasikan gerakan-gerakan
satelit pada saat mengorbit bumi. Animasinya dilakukan menggunakan
komputer mainframe IBM 7090. Pada waktu yang sama beberapa ilmuwan
lain menciptakan film untuk mensimulasikan hukum Newton, Gerakan
fluida/cairan dan getaran.






Peralatan-peralatan Grafika Komputer Masa Lalu



Referensi :

http://mirmayf.staff.gunadarma.ac.id/Downloads/files/17572/2+Grafik+Komp-Pendahuluan.pdf
ebook Irfan Maliki, S.T – Grafika Komputer ilmu Komputer
http://www.jakapramana.com/2016/02/download-modul-diktat-grafika-komputer.html
Dr. Setiawan Hadi - Modul Diktat Grafika Komputer

Baca Selengkapnya ....

Slide Show angularjs and bootstrap (Carousel)

Posted by Catatan-ati Wednesday 9 September 2015 0 komentar
Kali ini saya akan membuat contoh slide show yang sering  terlihat di blog saya ini yang memamerkan image di bagian atas seperti gambar di samping ini :

Untuk pembutan slide show ini saya menggunakan bootstrap and angularjs
untuk lebih detail nya silahkan lihat situs resmi angularjs and bootstrap disini


Pertama tama kita membuat  file index.html  dimana file index.html diisi dengan ini


<!doctype html>
<html ng-app="ui.bootstrap.demo">
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.js"></script>
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-animate.js"></script>
    <script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.13.4.js"></script>
    <script src="example.js"></script>
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
  </head>
  <body>

<div ng-controller="CarouselDemoCtrl">
  <div style="height: 305px">
    <carousel interval="myInterval" no-wrap="noWrapSlides">
      <slide ng-repeat="slide in slides" active="slide.active">
        <img ng-src="{{slide.image}}" style="margin:auto;">
        <div class="carousel-caption">
          <h4&gt;Slide {{$index}}</h4>
          <p>{{slide.text}}</p>
        </div>
      </slide>
    </carousel>
  </div>
  <div class="row">
    <div class="col-md-6">
      <button type="button" class="btn btn-info" ng-click="addSlide()">Add Slide</button>
      <div class="checkbox">
        <label>
          <input type="checkbox" ng-model="noWrapSlides">
          Disable Slide Looping
        </label>
      </div>
    </div>
    <div class="col-md-6">
      Interval, in milliseconds: <input type="number" class="form-control" ng-model="myInterval">
      <br />Enter a negative number or 0 to stop the interval.
    </div>
  </div>
</div>
  </body>
</html>

keterangan Index.html
*) Script dengan warna merah di file index.html adalah script untuk memanggil module module angularjs,memanggil bootstraps dan memanggil controler untuk menjalankan slide show.
*) Untuk  warna nya di hijaukan saya hanya menujukan cara memanggil fungsi fungsi yg nanti kita buat di example.js  seperti ng-nglick itu seperti onClick kalau di javascript sedangkan ng-repeat itu loopingan buat ngeluarkan data dalam object seperti while di php. Ada lagi {{}} buka kurawal double dan tutup kurawal double itu untuk ngprint data hasil ng-repeat seperti echo di php terakhir ng-model  itu untuk mengambil value misalkan di text atau checkbox dll.
*) untuk tulisan berwarna kuning itu menggambil link gambar  seperti SRC = patch kalau di HTML.


Setela itu kita membuat file js dengan example.js. Js ini digunakan sebagai controller dan module angularjs untuk meload module module angularjs biasa di namain dengan nama app.js kalau membuat web berbasis angularjs dan bootstrap

angular.module('ui.bootstrap.demo', ['ngAnimate', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('CarouselDemoCtrl', function($scope) {
  $scope.myInterval = 5000;
  $scope.noWrapSlides = false;
  var slides = $scope.slides = [];
  $scope.addSlide = function() {
    var newWidth = 600 + slides.length + 1;
    slides.push({
      image: '//placekitten.com/' + newWidth + '/300',
      text: ['More', 'Extra', 'Lots of', 'Surplus'][slides.length % 4] + ' ' + ['Cats', 'Kittys', 'Felines', 'Cutes'][slides.length % 4]
    });
  };
  for (var i = 0; i < 4; i++) {
    $scope.addSlide();
  }}); 


keterangan Example.js
*) Untuk tulisan yang berwarna orange itu beberapa contoh cara memanggil module module yang di sediakan anggular js dan memanggi bootstrap
*) untuk yang berwarna hijau itu nama controller nya yang nanti di panggil di index.htm dengan cara ng-controller="CarouselDemoCtrl"
*) untuk yang $scope.addSlide  itu adalah nama fungsi utama untuk memanggil gambar yang setelah di sediakan oleh anggularjs atau bila anda custom sendiri dengan merubah filed yang ini dan patch image nya  image: '//placekitten.com/' + newWidth + '/300'
yang nanti 
$scope.addSlide  akan di looping buat menampilkan image image yang ada 

untuk lebih jelas nya anda bole melihat DEMO yang telah di sediakan oleh situs resmi  UI Bootstrap disini


Baca Selengkapnya ....

Pengertian Sistem Informasi Manajemen (SIM atau MIS)

Posted by Catatan-ati Thursday 3 September 2015 0 komentar
•Sistem informasi yang digunakan untuk menyajikan informasi yang digunakan untuk mendukung operasi, manajemen, dan pengambilan keputusan dalam sebuah organisasi.
•SIM menghasilkan informasi untuk memantau kinerja, memelihara koordinasi, dan menyediakan informasi untuk operasi organisasi.

•Umumnya SIM mengambil data dari sistem pemrosesan transaksi.

Istilah Lain SIM
Sistem Peringatan Manajemen (Management Alerting System). à menurut Haag (2000).
Sistem Pelaporan Manajemen (Management Reporting System) à Zwass (1998).



Macam Laporan SIM


Laporan periodis à laporan yang dihasilkan dalam selang waktu tertentu seperti harian, mingguan, bulanan, kwartalan, dan sebagainya.
Laporan ikhtisar à laporan yang memberikan ringkasan terhadap sejumlah data/informasi.
Laporan perkecualian àlaporan yang hanya muncul kalau terjadi keadaan yang tidak normal. Cth : manajer pembelian memerlukan laporan pengiriman barang dari pemasok yang sudah terlambat satu minggu. Laporan ini hanya muncul kalau keadaan yang diminta terpenuhi.
Laporan perbandingan à laporan yang menunjukkan dua atau lebih himpunan informasi yang serupa dengan maksud untuk dibandingkan


Video Pengertian Sim dan Keunggulannya 




Baca Selengkapnya ....

Sistem Pemrosesan Transaksi (SPT)

Posted by Catatan-ati Monday 31 August 2015 0 komentar

  •  Sistem informasi yang pertama kali diimplementasikan.
  •  Fokus utama pada data transaksi.
  • Sistem informasi ini digunakan untuk menghimpun, menyimpan, dan memproses data transaksi serta kadangkala mengendalikan keputusan yang merupakan bagian dari transaksi. 
  • Contoh yang mengendalikan keputusan :
    sistem pemrosesan transaksi yang sekaligus dapat memvalidasi keabsahan kartu kredit atau mencarikan rute pesawat terbang yang terbaik sesuai dengan kebutuhan pelanggan.



Karakteristik  (Turban, McLean, dan Wetherbe, 1999)   

  • Jumlah data yang diproses sangat besar
  • Sumber data umumnya internal dan keluaran terutama dimaksudkan untuk pihak internal (meskipun bisa juga diperuntukkan bagi mitra kerja)
  • Pemrosesan informasi dilakukan secara teratur: harian, mingguan, dan sebagainya
  • Kapasitas penyimpan (basis data) besar
  • Kecepatan pemrosesan yang diperlukan tinggi karena volume yang besar
  • Umumnya memantau dan mengumpulkan data masa lalu

  • Masukan dan keluaran terstruktur. Mengingat data yang diproses cukup stabil, data diformat dalam suatu standar
  • Level kerincian yang tinggi mudah terlihat terutama pada masukan tetapi seringkali juga pada keluaran
  • Komputasi tidak rumit (menggunakan matematika sederhana atau operasi statistik)
  • Memerlukan kehandalan yang tinggi
  • Pemrosesan terhadap permintaan merupakan suatu keharusan. Pemakai dapat melakukan permintaan terhadap basis data
Cara Pemrosesan Pada SPT

       Pemrosesan  Batch  (Batch Processing)
             - Transaksi ditumpuk dulu dan kemudian diproses belakangan pada waktu tertentu misalnya pada waktu sore hari atau malam hari. 
                - Kelemahan pemrosesan batch à membuat basis data tidak pernah dalam keadaan terkini, karena seringkali  terdapat data transaksi yang terlambat untuk dimasukkan ke dalam basis data.
       Pemrosesan online (Real-Time)
                - Tidak ada penundaan pemrosesan.
                - Setiap transaksi terjadi segera dibukukan sehingga data selalu dalam
 keadaan mutakhir

Perbedaan Pemrosesan Batch dan Online

Baca Selengkapnya ....

Pengertian Quick Sort dan implementasi

Posted by Catatan-ati Saturday 29 August 2015 4 komentar
Algoritma quick sort diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1960, dan dimuat sebagai artikel di “Computer Journal 5” pada April 1962. Quick sort adalah algoritma sorting yang berdasarkan pembandingan dengan metoda divide-and-conqueror. Disebut Quick Sort, karena Algoritma quick sort mengurutkan dengan sangat cepat.

Algoritma quick sort mengurutkan dengan sangat cepat, namun algoritma ini sangat komplex dan diproses secara rekursif. Sangat memungkinkan untuk menulis algoritma yang lebih cepat untuk beberapa kasus khusus, namun untuk kasus umum, sampai saat ini tidak ada yang lebih cepat dibandingkan algoritma quick sort.

Quick Sort merupakan suatu algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, sehingga metode ini disebut juga dengan nama partition exchange sort. Untuk memulai irterasi pengurutan, pertama-tama sebuah elemen dipilih dari data,  kemudian elemen-elemen data akan diurutkan diatur sedemikian rupa


Strategi divide-and-conqueror digunakan di dalam quicksort.
Di bawah iniakan dijelaskan langkah-langkahnya :

  • Pilih nilai pivot Kita ambil nilai di tengah-tengah elemen sebagai sebagai nilaidari pivot  tetapi bisa nilai mana saja.
  • Partisi  Atur ulang semua elemen sedemikian rupa, lalu semua elemen yang lebihrendah daripada pivot dipindahkan ke sebelah kiri dari array/list dan semuaelemen yang lebih besar dari  pivot dipindahkan ke sebelah kanan dari array/list. Nilai yang sama dengan pivot  dapat diletakkan di mana saja dari array. Ingat,mungkin array/list akan dibagi dalam bagian yang tidak sama.
  • Urutkan semua bagian (kiri/kanan)  Aplikasikan algoritma quicksort secararekursif pada bagian sebelah kiri dan kanan.

Algoritma Partisi secara detail

Ada dua indeks i dan j dan pada awal algoritma partisi i menunjuk ke elemen  pertama dalam array dan poin j yang terakhir. Kemudian algoritma menggerakkan i ke depan, sampai elemen dengan nilai yang lebih besar atau sama dengan pivot ditemukan. Indeks j bergerak mundur, sampai elemen dengan nilai yang lebih rendah atau sama dengan pivot
ditemukan. Jika i ≤ j maka mereka bertukar dan saya
langkah ke posisi berikutnya (i + 1), langkah-langkah j dengan yang sebelumnya (j - 1). Algoritma berhenti, ketika saya menjadi lebih besar dari j. Setelah partisi, semua nilai sebelum elemen ke-i kurang atau sama dengan pivot dan semua nilai setelah elemen ke-j lebih besar atau sama dengan pivot.


Kelebihan
Algoritma Quicksort memiliki kompleksitas O(n log n) dimana pada  prakteknya lebih cepat dari algoritma pengurutan lainnya.
Kekurangan
Pada kemungkinan terburuknya, algoritma Quicksort ini dapat memiliki kompleksitas O(n2). Meskipun ini sangat langka terjadi

Image Exampel Quick Sort





Video Exampel Quick Sort




Baca Selengkapnya ....

Penjelasan Section Sort dan implementasi

Posted by Catatan-ati Friday 28 August 2015 0 komentar


  • -Section Sort merupakan kombinasi dari searching dan sorting
  • -section sort juga merupakan pengurutan yang sangat sederhana
  • -Selection sort juga merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan.
  • -Selection sort jugamerupakan metode pengurutan dengan mencari nilai data terkecil dan nilai data terbesar dimulai dari data diposisi 0 hingga diposisi N-

Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut.Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar yang disimpan indeksnya kemudian ditukar.


Kelebihan

  • 1.       Algoritma ini sangat rapat dan mudah untuk diimplementasikan.
  • 2.       Operasi pertukarannya hanya dilakukan sekali saja.
  • 3.       Waktu pengurutan dapat lebih ditekan.
  • 4.       Mudah menggabungkannya kembali.
  • 5.       Kompleksitas selection sort relatif lebih kecil.

Kekurangan

  • 1.       Membutuhkan method tambahan.
  • 2.       Sulit untuk membagi masalah.




s

Algoritma pengurutan selection sort ini termasuk algoritma sulit dibagi/ mudah digabung (hard split/easy join).  Dari proses pengurutannya, Selection sort ini memiliki dua buah varian yaitu :
1. Maximum Sort
memilih data yang maksimum dari suatu kumpulan data larik, lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data maksimum/minimum yang diperoleh, “diisolasi” dan tidak diikutsertakan pada proses pencarian data maksimum berikutnya.
2. Minimum Sort
memilih data yang minimum dari suatu kumpulan data larik , lalu menempatkan data tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan. Data minimum yang diperoleh, “diisolasi” dan tidak diikutsertakan pada proses pencarian data minimum berikutnya.

Dalam pemecahan masalah algoritma selection sort , kita dapat memilih dua metode alternatif algoritma antara lain pemecahan dengan metode Brute Force dan pemecahan dengan metode devide and conquer.
Metode Pemecahan Brute Force

Kekuatan algoritma brute force terletak pada kemampuannya untuk menemukan semua pemecahan masalah yang mungkin, akan tetapi langkah yang dibutuhkan sangat banyak sehingga tidak baik jika digunakan untuk memecahkan masalah yang memiliki masukan yang cukup besar. Mengurutkan secara ascending dengan metode brute force



Contoh Section Short silahkan di klik





Video Section Sort




Baca Selengkapnya ....

Pengertian Buble Short dan Implementasi (Metode pengurutan gelembung)

Posted by Catatan-ati Thursday 27 August 2015 0 komentar
Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.
Bubble sort adalah salah satu metode sorting atau mengurutkan dari data terkecil ke data terbesar ataupun dengan cara membandingkan elemen kesatu dengan elemen  yang selanjutnya
Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

Kelebihan Bubble Sort

  • Metode Buble Sort merupakan metode yang paling simpel
  • Metode Buble Sort mudah dipahami algoritmanya

Kelemahan Bubble Sort
Meskipun simpel metode Bubble sort  merupakan metode pengurutanyang paling tidak efisien

Cara Kerja Bubble Sort
1.    Membandingkan data ke-i dengan data ke-(i+1) (tepat bersebelahan). Jika tidak sesuai maka tukar (data ke-i = data ke-(i+1) dan data ke-(i+1) = data ke-i). Apa maksudnya tidak sesuai? Jika kita menginginkan algoritme menghasilkan data dengan urutan ascending (A-Z) kondisi tidak sesuai adalah data ke-i > data ke-i+1, dan sebaliknya untuk urutan descending (A-Z).

2.    Membandingkan data ke-(i+1) dengan data ke-(i+2). Kita melakukan pembandingan ini sampai data terakhir. Contoh: 1 dgn 2; 2 dgn 3; 3 dgn 4; 4 dgn 5 … ; n-1 dgn n.

3.    Selesai satu iterasi, adalah jika kita sudah selesai membandingkan antara (n-1) dgn n. Setelah selesai satu iterasi kita lanjutkan lagi iterasi berikutnya sesuai dengan aturan ke-1. mulai dari data ke-1 dgn data ke-2, dst.

4.    Proses akan berhenti jika tidak ada pertukaran dalam satu iterasi.



Video : Contoh Cara Kerja Bubble Sort


    Baca Selengkapnya ....




    Copyright of Catatan-ati.