Langsung ke konten utama

(PEMROGRAMAN DASAR) MATERI PEMROGRAMAN DASAR KELAS XI

1. Operasi Aritmatika dan Logika


Operasi aritmatika adalah operasi  yang melibatkan beberapa operator aritmatika seperti misalnya penjumlahan, pengurangan, perkalian dan pembagian untuk memproses 2 buah nilai atau lebih.

operasi aritmatika dan logika dalam algoritma dan pemrograman dasar


Operasi logika proses yang melibatkan beberapa operator logika seperti AND, OR, NOR, XOR dan operator logika lainnya yang menghasilkan nilai true dan false atau menghasilkan nilai benar dan salah. operasi logika ini sangat sering sekali digunakan di algoritma dan bahasa pemrograman dasar.

Sedangkan Operator matematika adalah operator yang digunakan untuk memproses operasi aritmatika, operater matematika yang sudah kita kenal misalnya penjumlahan, pengurangan, perkalian dan pembagian.

Mengenal Pelbagai Jenis Operator Aritmatika dan Logika dalam algoritma dan bahasa pemrograman

Berikut adalah beberapa kategori operator aritmatika dan operator logika yang sering digunakan di dalam bahasa pemrograman dan algoritma:

1. Operator Aritmatika

  • + (jumlah) adalah operator untuk menjumlahkan dua buah angka atau lebih
  • -(kurang) adalah jenis operator untuk memproses operasi pengurangan antara dua angka atau lebih
  • * (kali) adalah operator yang digunakan untuk proses perkalian
  • / (bagi) adalah operator uang digunakan untuk mendapatkan hasil bagi dari 2 buah angka
  • MOD  atau % (modular) adalah operator yang sering digunakan di dunia algoritma yang digunakan untuk mendapatkan sisa hasil bagi.

Operator baru yang tidak umum adalah MOD atau bisa disimbolkan dengan %, operator ini akan menghasilkan sisa hasil pembagian, misal 4%2=0. 5%3=2.
Operator aritmatika biasanya digunakan untuk memproses perhitungan matematika yang dilibatkan di dalam program.

2. Operator Pembanding

Operator pembanding adalah operator yang merupakan bagian dari operator logika yang digunakan untuk membandingkan 2 buah nilai atau operan, sehingga dapat menghasilkan nilai true dan false, beberapa operator pembanding yang sering digunakan adalah:
  • > lebih besar
  • < lebih kecil
  • >= lebih besar sama dengan
  • <= lebih kecil sama dengan
  • <> tidak sama dengan
  • != tidak sama dengan 
  • == apakah sama dengan
  • := sama dengan
Di dalam bahasa pemrograman Operator pembanding biasanya digunakan dalam flow control IF then ELSE untuk mendapatkan hasil sesuai dengan kondisi yang diinginkan.

3. Operator Logika

Operator Logika adalah operator yang digunakan untuk melakukan operasi logika yaitu operator yang menghasilkan nilai TRUE (benar) atau FALSE (salah). Bebarapa macam operator logika antara lain:
  • and : menghasilkan nilai TRUE jika kedua operand bernilai TRUE
  • or : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE
  • xor : menghasilkan nilai TRUE jika salah satu operand bernilai TRUE tetapi bukan keduaduanya bernilai TRUE
  • ! (simbol tidak): mengasilkan nilai tidak TRUE
  • && (simbol AND): menghasilkan nilai TRUE jika kedua operand bernilai TRUE
  • || (simbol OR): menghasilkan nilai TRUE jika salah satu operand bernailai TRUE

Operator logika sering digunakan di dalam flow control berkolaborasi dengan operator pembanding untuk mendapatkah hasil yang paling sesuai dengan kondisi tertentu.

4. Assignment Operator / Operator Penugasan

Assignment Operator (operator penugasan) adalah operator yang menggunakan tanda sama   dengan (=) untuk mengisi sebuah nilai dalam suatu variabel.
Beberapa contoh assignmen operaor adalah sebagai berikut:

  • += contoh: x+=10; atau x=x+10 (artinya: jumlahkan nilai yang terdapat di dalam variable x dengan 10)
  • = contoh: x=y
  • *=  contoh: x*=10 atau x=x*10 (artinya: kalikan nilai yang terdapat di dalam variable x dengan 10)
  • /=
  • %=

Contoh Jenis operasi aritmatika dan logika dalam algoritma (bahasa pemrograman dasar)

1. Operasi artimatika

Beberapa contoh proses operasi aritatika adalah sebagai berikut
  • x+y, menjumlahkan antara nilai yang terdapat di x dan y
  • x*y, mengalikan antara nilai yang terdapat di x dan y
  • x-y,  mengurangi antara nilai yang terdapat di x dan y
  • x/10, membagi antara nilai yang terdapat di x dan y misal 10/2 maka hasilnya 5.
  • x%y, mendapatkan hasil bagi antara x dan y misal 10/5 maka hasilnya adalah 0, karena 10/5 adalah 2 dan tidak terdapat sisa setelah pembagian. 10/7 sisa hasil pembagiannya adalah 3, artinya ketika 10 dibagi 7 maka akan mendapatkan 1 dan sisanya adalah 3.

2. Operasi Logika 

  • A and B atau A && B, untuk operator AND, jika salah satu kondisi bernilai salah maka akan menghasilkan FALSE, sedangkan jika kedunya benar  maka akan bernilai true, agar kondisi bernilai benar maka A dan B harus benar.
  • A or B atau A || B, untuk operator OR, jika salah satu kondisi bernilai benar baik untuk kondisi A maupun B maka akan menghasilkan TRUE (benar), jika kedua kondisi baik A maupun B bernilai salah maka hasilnya FALSE (salah), untuk menghasilkan kondisi benar maka setidaknya harus ada kondisi yang benar baik itu untuk konsisi  A maupun B

Perlu anda ketahuai bahwa setiap instruksi bahasa pemrograman sangat dipengaruhi oleh instuksi standar program yang digunakan walaupun logika cara berfikirnya sama.


Cara Kerja Operasi aritmatika dan operasi logika di dalam program

Operasi aritmatika cara kerjanya tidak jauh berbeda dengan proses aritmatika yang terdapat dalam pelajaran matematika. Untuk memahami cara kerja operasi aritmatika dan operasi logika dalam program maka harus dibuatkan studi kasus yang harus dipecahkan dengan algoritma. sebagai berikut:

Contoh Kasus:
2 buah bilangan bulat diinput oleh pengguna, bilangan tersebut kemudian dikalikan, jika hasil kali ke dua bilangan tersebut MOD 2=0 maka output yang harus di cetak ke layar adalah "Bilangan genap", sedangkan jika hasil kali ke dua bilangan MOD 2 =1 maka itu adalah bilangan ganjil.

Untuk menyelesaikan kasus di atas di dalam algoritma langkahnya adalah sebagai berikut:

program ganjil_bulat
deklarasi
var x: integer
y: integer
hasil:integer

Algoritma:
read(x,y) 
hasil <- x*y 
if(hasil MOD 2==0) then
write('bilangan bulat')
else 
write('bilangan ganjil')

Algoritma diatas akan menghasilkan output berupa tulisan yaitu bilangan bulat / bilangan ganjil, jika hasil perkalian ganjil maka outputnya adalah "bilangan ganjil" sedangkan jika hasil perkalian adalah bilangan bulat maka akan menghasilkan outuput "bilangan bulat".

Sesuai dengan uraian di atas dapat disimpulkan bahwa operasi logika dan operasi aritmatika melalui operator dan fungsi-fungsi aritmatika, tidak jauh berbeda seperti halnya di matematika yang sudah sangat kita kenal.

2. ARRAY

Array satu dimensi

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui1 indeks atau subskrip.
Bentuk umum pendeklarasian:
nama_array[jumlah_eleman];

Array dua dimensi

Merupakan sebuah variabel yang menyimpansekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui 2 indeks atau subskrip yaitu indeks baris dan
indeks kolom.

Bentuk umum pendeklarasian:
nama_array[jumlah_eleman_baris]
[jumah_eleme_kolom];

Array multidimensi

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses melalui banyak indeks atau subskrip. Array seperti ini biasa digunakan untuk matik, array 2 dimensi juga termasuk kedalam array multidimensi

3. Operasi String dan Konversi Data


Pengertian String 

String pada dasarnya adalah kumpulan dari karakter-karakter (karakter bertipe data char). Penulisan string harus diawali den diakhiri dengan tanda petik dua (“), sedangkan karakter harus diawali dan diakhiri dengan tanda petik satu (‘). Misalnya :
Penulisan string :
string A = “gaji”;
Penulisan karakter :
char A = ‘g’;
char B = ‘a’;
char C = ‘j’;
char D = ‘i’;
char E = ‘\0’;
Kita dapat membangun sebuah string dengan menggunakan array dari beberapa karakter. Dalam bahasa C++, string yang digunakan adalah bertipe null terminated string, yaitu jenis string yang diakhiri dengan oleh karakter null (‘\0’), bukan nol. Oleh karena itu, jika kita ingin mendeklarasikan string dalam bentuk array dari char, maka kita harus menambahkan 1 tempat untuk posisi karakter null. sebagai contoh misalnya kita ingin melakukan deklarasi variabel yang bertipe string dan mengisinya dengan teks “Baik”, maka bentuk deklarasinya adalah sebagai berikut :
//Mendelklarasikan variabel tipe string dengan lebar 5
char sifat[5];
//Mengisi nilai ke dalam variabel sifat
sifat = {‘B’,’a’,’i’,’k’,’\0′};
Jika kita cermati, sebenarnya kita hanya mengisi 4 karakter kedalam variable sifat, sedangkan sisa ruangnya akan digunakan untuk menempatkan karakter null. Untuk lebih jelasnya perhatikan gambar berikut.

Jika kita ingin mengisi nilai kedalam variabel string dalam bentuk array char, maka kita perlu menambahkan karakter null di bagian elemen akhir array. Berikut contoh kode program dengan bentuk array char.
#include <iostream> // header
#include <conio.h>
using namespace std;
int main()
{
// Mendeklarasikan sifat ke dalam variabel char dengan lebar 5 karakter
char sifat[5];
// Mengisi nilai kedalam variabel sifat
sifat = {‘B’,’a’,’i’,’k’,’\0′};
// Menampilkannya nilai yang terdapat pada elemen-elemen array
cout<<“String yang muncul :”<<sifat<<endl;
getch();
} (hwsmartsolution, 2016)
 
  2. Operasi Pada String
1. Operasi fungsi strcpy
Fungsi ini digunakan untuk menyalin string asal ke variabel string tujuan. 
Bentuk penulisan : strcpy(tujuan,asal).

2. Operator fungsi strlen
Fungsi ini digunakan untuk menghitung banyaknya karakter string termasuk spasi. Nilai yang dikembalikan berupa nilai integer.
Bentuk penulisan : strlen(str).
3. Operator fungsi strcat
Fungsi ini digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan.
Bentuk penulisan : strcat(tujuan,sumber).
4. Operator fungsi strrev
Fungsi ini digunakan untuk membalik letak urutan pada string. String urutan paling akhir dipindahkan ke urutan paling depan dan seterusnya.
Bentuk penulisan : strrev(str).
5. Operator fungsi strlwr
Fungsi ini digunakan untuk merubah setiap huruf kecil dalam string menjadi huruf besar.
Bentuk penulisan :  strlwr(str).
6. Operator fungsi strupr
Fungsi ini digunakan untuk merubah setiap huruf kecil dalam string menjadi huruf besar.
Bentuk penulisan :  strupr(str).

Dengan menggunakan operator string kita dapat   menyalin string asal ke variabel string tujuan, menghitung banyaknya karakter,  menambahkan string sumber ke bagian akhir, membalik letak urutan, merubah setiap huruf kecil ke besar dan sebaliknya pada string. (Pemrograman, 2015)

 KB 3. Pemanfaatan String dalam Aplikasi
Untuk membuat program yang dapat memeriksa sebuah kata apakah termasuk palindrom atau bukan kita dapat memanfaatkan salah satu operasi string yaitu panjang string. langkah awalnya kita inputkan sebuah kata, kemudian kata tersebut kita cari panjangnya memanfaatkan operasi length. Setelah itu kita copy kata tersebut dengan urutan terbalik. Jika pada saat dibalik kata tersebut memiliki kesamaan rangkaian elemen pada saat kita inputkan, maka kata tersebut bisa disebut palindrom. Dan jika pada saat dibalik kata tersebut tidak memiliki kesamaan rangkaian elemen pada saat kita inputkan, maka kata tersebut tidak bisa disebut palindrom.
Pada percobaan program perhitungan gaji. Untuk membuatnya, langkah awal yang kita akan kita lakukan adalah menginputkan nama kemudian jabatannya. Acuan penghitungan gaji adalah beradasar jabatan. Oleh karena itu, dengan memanfaatkan rumus if then kita buat aturan untuk merumuskan gaji berdasarkan jabatannya. Kita juga menggunakan fungsi LowerCase dikarenakan untuk mencegah eksekusi yang tidak berjalan dikarenakan dalam string bersifat case insensitive atau terdapat perbedaan karakter antara huruf kapital dan huruf kecil yang dapat memungkinkan user menginputkan beberapa kemungkinan penulisan. Langkah terakhirdari program ini yaitu menampilkan rincian gajinya berdasarkan rumus yang telah kita tentukan. (Pambudi, Pemrograman Dasar, 2014)

  4. Konversi Data
Konversi Data adalah mengadaptasi data pada sebuah program agar dapat di operasikan karna tidak semua format data sesuai dengan sebuah program tertentu. Adapun dalam konversi data pertama-tama dalam suatu perhitungan DATA TRANSFER, perhitungan bits atau byte adalah sebagai berikut :
* 1 MB = 1,000,000 bits
* 1 kb = 1,000 bits
* dsb
Sedangkan dalam perhitungan DATA STORAGE maka perhitungannya adalah sebagai berikut :
* 1 byte = 8 bits
* 1 kilobyte (K / Kb) = 2^10 bytes = 1,024 bytes
* 1 megabyte (M / MB) = 2^20 bytes = 1,048,576 bytes
* 1 gigabyte (G / GB) = 2^30 bytes = 1,073,741,824 bytes
* 1 terabyte (T / TB) = 2^40 bytes = 1,099,511,627,776 bytes
* 1 petabyte (P / PB) = 2^50 bytes = 1,125,899,906,842,624 bytes
* 1 exabyte (E / EB) = 2^60 bytes = 1,152,921,504,606,846,976 bytes
Konversi Data Transmission :
Didalam komunikasi data, satu kilobit adalah sama dengan seribu bit, atau 1000 bit. Ini adalah sudah secara umum untuk mengukur keseluruhan dari data yg di transfer dalam 1 detik antara dua telecommunication point. Beberapa sumber mengartikan bahwa satu kilobit adalah sama dengan 1024 bit. Nah, disini perbedaannya, meskipun bit adalah bagian dari binari number system, bit didalam komunikasi data mempunyai ciri khas tersendiri. Oleh karena itu bit dalam hal ini mempergunakan satuan DESIMAL dan bukan BINER.
Sebagai contoh, 64 kilobit per detik adalah SAMA DENGAN 64000 bit perdetik dan BUKAN berarti 64 * 1024 = 65536 bps. MRTG, dalam hal ini perhitungannya adalah memakai angka BINER, oleh karena itu jika dihitung dalam DESIMAL maka akan terjadi selisih. Sebagai contoh, jika 64000 bps dihitung dalam BINER maka hasilnya adalah sama dengan :
64000 bits = 8000 bytes = 62.5 kilobits
karena 64000/1024 = 62.5
contoh yang lain :
32000 bits = 4000 bytes = 31.25 kilobits
96000 bits = 12000 bytes = 93.75 kilobits
128000 bits = 16000 bytes = 125 kilobits
320000 bits = 40000 bytes = 312.5 kilobits
dsb .. dsb
Dalam jaringan komputer, biasanya Byte dan bit dipakai utk menggambarkan kecepatan transfer/download data. Satuan KBps (KiloByte/second) dipakai jika data di sini secara umum memakai Byte untuk satuannya (contohnya seperti protokol-protokol yang ada pada level aplikasi seperti http,ftp,smtp,dsb). Sedangkan kbps (kilobit/second) dipakai jika data yang ditransfer memakai bit untuk satuannya (contohnya adalah protokol-protokol layer 2 ke bawah seperti ethernet yang mentransfer data dalam frame-frame). Sedangkan saat kita mendownload sebuah file, maka browser akan memperlihatkan (misal) 3 KB/s (karena browser terkoneksi dengan protokol http/ftp).
Manusia menggunakan komputer untuk membuat, memanipulasi ataupun menyimpan berbagai macam informasi seperti angka, huruf, kalimat, gambar, suara dan juga video. Informasi ini disimpan dalam komputer dalam sebuah format digital (lebih sering kita sebut dengan ‘data digital’).
Data yang tersimpan dalam komputer tersebut sebenarnya merupakan kumpulan dari angka 0 dan 1. Kumpulan angka 1 dan 0 inilah yang sering diterjemahkan sebagai ‘bit’ dari data biner. Jika didalam kehidupan sehari-hari kita dapat menentukan kecepatan sebuah kendaraan entah itu motor ataupun mobil, begitu pula dengan ketika terjadinya transfer data dalam jaringan komputer. Beberapa satuan standar transfer data yang sering dipergunakan dalam jaringan komputer adalah :
Bit:
Bit adalah ukuran terkecil data dalam sebuah komputer. Bit biasanya hanyalah merupakan pilihan antara 0 dan 1. Dimana 0 biasanya berarti ‘Off’ dan 1 berarti ‘On’. Pada akhirnya komputer akan mengkombinasikan kedua pilihan tersebut menjadi format digital yang lebih kompleks untuk merepresentasikan data.
bps:
bit per second. Jumlah bit yang ditransfer dalam satu detik.
kbps:
kilo bits per second. Jumlah kilobits yang ditransfer dalam satu detik.
1 kbps = 1 x 10^3 bit/second = 1000 bit/second.
Byte:
Byte adalah merupakan kumpulan beberapa bit (1 Byte = 8 bit). Byte biasanya merepresentasikan sebuah karakter (Misalkan seperti A, ?, -, dll). Karakter ini bisa berupa huruf, angka ataupun simbol tertentu.
Bps:
Byte per second. Jumlah byte yang ditransfer dalam satu detik.
KBps:
Kilo Byte per second. Jumlah KiloByte yang ditransfer dalam satu detik.
1 KBps = 1 x 2^10 byte/second = 1,024 byte/second
bit mempergunakan satuan desimal oleh sebab itu :
1 kilobit = 1 x 10^3 bit = 1000 bit
sedangkan byte mempergunakan satuan biner, oleh sebab itu :
1 KiloByte = 1 x 2^10 = 1024 Byte.
Contoh perhitungan Byte dan Bit.
Misalkan anda memiliki sebuah file yang terdiri dari 100.000 kata dan anda ingin tahu berapa lama kita bisa mendownload file tersebut melalui internet yang memiliki koneksi 64000 bps atau 64kbps.
* Asumsikan dalam setiap kata terdiri dari 5 huruf/karakter.
Berarti jika ada 100.000 kata, maka anda memiliki 500.000
huruf/karakter
* Setiap karakter terdiri dari 1 Byte, berarti anda memiliki
500.000 Byte
* Setiap Byte terdiri dari 8 bit, berarti 500.000 Byte yang anda
miliki bernilai 500.000 x 8 = 4.000.000 bit
* Selanjutnya 4.000.000 bit yang anda miliki dibagi dengan 64000 = 62.5 detik
* Artinya waktu anda untuk mendownload file yang memiliki 100.000
kata kurang lebih 62.5 detik dengan kecepatan akses 64000 bps. (Mella, 2010)


  5. Pemanfaatan Konversi Data dalam Aplikasi
Dalam membuat pemrograman untuk memprediksi biaya yang dikeluarkan pemerintah saat
membuat Jembatan Suramadu, langkah pertama adlah menginputkan panjang dari Jembatan Suramadu dalam nilai string kemudian kita konversi menjadi integer agar dapat kita hitung biayanya. Langkah yang terakhir adalah menghitung biayanya dengan rumus yang telah kita tentukan.
Dalam membuat program menentukan biaya pembangunan djalan tol yang menghubungkan
jarak antara dua titik untuk menerapkan konversi data di dalamnya kita perlu menginputkan
semua titik-titiknya dalam variabel nilai string kemudian kita konversi menjadi tipe data real
karena titik-titik dalam koordinat dapat berupa bilangan real oleh karena itu kita memerlukan
operasi konversi data string to float. Selanjutnya kita hitung jaraknya menggunakan rumus jarak antara dua titik. Langkah terakhir dengan menghitung biayanya berdasarkan rumus yang kita
tentukan.
Pada percobaan program perhitungan gaji. Untuk membuatnya, langkahnya seperti pada kegiatan belajar sebelumnya. Langkah awal yang kita akan kita lakukan adalah menginputkan nama kemudian jabatannya dan membuat semua inputannya ke dalam string. Pada ini acuan yang kita gunakan adalah besarnya gaji berdasarkan jabatannya. Oleh itu, dengan memanfaatkan rumus if then kita buat aturan untuk merumuskan gaji berdasarkan jabatannya.Selanjutnya variabel gaji dengan nilai string akan kita konversi menjadi bentuk integer. Langkah terakhir dari program ini yaitu menampilkan rincian gajinya berdasarkan rumus yang telah kita tentukan. (Pambudi, Pemanfaatan Konversi Data dalam Aplikasi, 2014)


Daftar Pustaka

hwsmartsolution. (2016, 02 27). Pengertian String dan contoh program menampilkan String pada C++. Retrieved from Pengertian String dan contoh program menampilkan String: http://hwsmartsolution.com/blog/2016/02/27/pengertian-string-dan-contoh-program-menampilkan-string-pada-c/
Mella, A. (2010, 11 23). PuLaWKurM@. Retrieved from Pengertian Konversi Data: https://pulawkurma.wordpress.com/2010/11/23/pengertian-konversi-data/
Pambudi, D. (2014). Pemanfaatan Konversi Data dalam Aplikasi. Jakarta: Menteri Pendidikan.
Pambudi, D. (2014). Pemrograman Dasar. Jakarta: Menteri Pendidikan.
Pemrograman, B. (2015, 06 15). BAHASAPEMROGRAMAN.COM. Retrieved from 6 macam operasi fungsi string pada bahasa pemrograman C: http://www.bahasapemrograman.com/2015/11/6-macamoperator--fungsi-string-pada-bahasa-pemrograman-C.html

4. Pencarian dan Pengurutan Data


Logika Pencarian data dengan algoritma pencarian linear

Algoritma pencarian yang paling sederhana, yaitu metode pencarian linier (pencarian lurus).
Nama lain algoritma linier adalah algoritma pencarian beruntun (sequential search). Pada
dasarnya, algoritma pencarian linier adalah proses membandingkan setiap elemen array satu
persatu secara beruntun, mulai dari elemen pertama sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa.
Misalkan, pada sebuah kasus anda ingin menelepon teman, tapi kebetulan lupa dengan
nomor teleponnya. Maka anda pasti membuka buku telepon untuk mencari nomor telepon yang anda inginkan tersebut. Di sis lain, buku telepon anda tidak urut sama sekali, baik dari segi nama yang sesuai urutan huruf abjad, maupun dari nomor telepon. Berarti anda harus mencari satu persatu, halaman demi halaman nomor telepon tersebut sampai akhirnya ditemukan nomor telepon tersebut. Begitulah kira-kita algoritma pencarian linier.
Algoritma pencarian yang paling sederhana adalah metode pencarian linier. Seperti yang
dibahas pada kegiatan sebelumnya, kita akan melakukan pencarian pada sebuah array yang
sudah terdefinisi elemen-elemennya, dan x adalah elemen yang bertipe sama dengan elemen
array A carilah x di dalam array A.
(Rosihan Ariyuana, 2014)

Logika pengurutan data dengan algoritma bubble sort

Sorting bisa didefinisikan sebagai suatu pengurutan data yang sebelumnya disusun secara acak, sehingga menjadi tersusun secara teratur menurut aturan tertentu. sorting yang kita terapkan menggunakan tipe data array agar pemahaman serta pengimplementasiannya lebih mudah                                                                                 
Pada umumnya metode yang digunakan untuk sorting adalah :
1. Buble\Exchange sort
2. Selection sort
3. Shell Sort
4. Quick sort

Bubble/Exchange sort

Diberi nama "Bubble" karena proses pengurutan secara berangsur-angsur bergera/berpindah ke posisi yang tepat , seperti gelembung yang keluar dari sebuah gelas bersoda. Bubble sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. jika elemen sekarang  lebih besar dari elemen berikutnya maka elemen tersebut ditukar (untuk pengurutan ascending) jika elemen sekarang lebih kecil daripada elemen berikutnya, maka kedua elemen  tersebut ditukar (untuk pengurutan descending). algoritma ini seolanh olah menggeser satu per satu elemen dari kenan ke kiri atau kiri ke kanan. tergantung jenis pengurutannya. Ketika suatu proses telah selesai, maka bubble sort akan mengalami proses, demikian seterusnya. Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan,serta tercapai pengurutan yang telah diinginkan

Contoh pengurutan data yang dilakukan dengan metode bubble sort sebagai berikut :

Proses 1 :
22 10 15 3 8 2
22 10 15 3 2 8
22 10 15 2 3 8
22 10 2 15 3 8
22 10 2 15 3 8
22 2 10 15 3 8
2 22 10 15 3 8

Pengecekan dimulai dari data yang paling akhir, kemudian dibandingkan dengan data di depannya,jika data didepannya lebih besar maka akan di tukar.

Proses 2:
2 22 10 15 3 8
2 22 10 15 3 8
2 22 10 3 15 8
22 3 10 15 8
2 3 22 10 15 8

pengecekan dilakukan sampai dengan data ke-2 karena data pertama pasti sudah paling kecil.

Proses 3 :
2 3 22 10 15 8
2 3 22 10 8 15
2 3 22 8 10 15
2 3 8 22 10 15

Proses 4 :
2 3 8 22 10 15
2 3 8 22 15 10
2 3 8 15 22 10

Proses 5 :
2 3 8 15 22 10
2 3 8 15 10 22

(Blog, 2013)

----

Logika pengurutan data dengan algoritma selection sort

Sorting merupakan proses mengurutkan atau menyusun kembali elemen-elemen dengan urutan tertentu dan proses pengurutan tersebut diimplementasikan ke beberapa macam aplikasi.
biasanya sorting atau algoritma pengurutan pada java sering kita temui pada berbagai aktifitas, seperti pada project atau tugas yang difungsikan untuk mengurutkan Nim, Nama Mahasiswa, Kota dan lainya.
Dalam pemrograman Java terdapat tiga algoritma sorting yang biasa digunakan yakni antara lain:
- Insertion Sort
- Selection sort
- Buble Sort

 (Top, 2015)

Artinya jika ada deretan data, maka data yang pertama akan membandingkan dengan data yang kedua. Jika data yang pertama lebih besar dari pada data yang kedua maka data yang pertama akan bertukar posisi dengan data yang kedua, begitu seterusnya sampai benar-benar data terurut dari yang terbesar hingga yang terkecil.
Metode sorting sangat banyak dan berkembang ada Bubble sort, Selection Sort, Insertion sort, Merge sort, Quick sort. Metode-metode ini menggunakan caranya sendiri untuk membandingkan, memeriksa dan menukar posisi data. Namun tidak semua metode sorting ini efektif. Karena metode sorting yang paling efektif adalah ketika metode tersebut dapat melakukan pengurutan data dengan cepat dan tidak memerlukan banyak memori.

(logikamihlw9, 2013)

DAFTAR PUSTAKA
  

Blog, M. (2013, February 3). Bubble Sort, Selection Sort, dan Shell Sort . Retrieved January 22, 2017, from kael9001.blogspot.co.id: http://kael9001.blogspot.co.id/2013/02/bubble-sort.html
logikamihlw9. (2013, Desember 11). Sorting Algoritma (Pengurutan). Retrieved January 22, 2017, from logikamihlw9.wordpress.com: https://logikamihlw9.wordpress.com/2013/12/11/sorting-algoritma-pengurutan/
Rosihan Ariyuana, S. M. (2014). Pemrogaman Dasar. Jakarta: Menteri Pendidikan dan Kebudayaan.
Top, S. M. (2015, Maret 14). Algoritma Sorting. Retrieved January 22, 2017, from syafrudinmtop.blogspot.co.id: https://syafrudinmtop.blogspot.co.id/2015/03/source-code-algoritma-sorting-insertion.html

source :  

Komentar

Postingan populer dari blog ini

(PEMODELAN PERANGKAT LUNAK) MATERI PPL KELAS XI

1.  Konsep Dasar Pemodelan Perangkat Lunak      1. Apa itu perangkat lunak? Perangkat lunak merupakan program komputer yang berfungsi menghubungkan antara pengguna dan komputer yang digunakan.  dapat dibilang perangkat lunak merupakan sebagai media penerjemah perintah yang diberikan oleh pengguna kepada komputer untuk selanjutnya diproses melalui perangkat keras komputer tersebut.Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras yang biasa disebut sebagai device driver, melakukan proses penghitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya, seperti sistem operasi dan bahasa pemrograman. Secara umum ada tiga jenis perangkat lunak yang diketahui hingga saat ini yaitu sistem operasi yang merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Kedua yaitu perangkat lunak bahasa pemrograman seperti java. Dan yang ketiga yaitu perangkat lunak aplikasi yang merupakan penrangkat yang digunakan untuk memban

TATA LETAK KOMPONEN KOMPUTER

TATA LETAK KOMPONEN KOMPUTER 1.     MOTHERBOARD Motherboard juga dikenal dengan nama system board adalah sebuah papan yang berisi komponen-komponen yang terintegrasi dan membentuk sistem penghubung antar bagian pada komputer. Motherboard merupakan bagian komputer yang paling utama. Didalam motherboard terdapat berbagai banyak  soket dan slot konektor. Semua bagian komputer selalu terhubung ke motherboard. Motherboard sering disebut juga dengan Mainboar d dan disingkat(Mobo). FUNGSI  MOTHERBOARD Tugas  motherboard  pada PC adalah sebagai komponen circuit board utama yang menghubungkan banyak komponen lain. Lalu lintas data semuanya diatur oleh motherboard, Mulai dari CPU/processor, RAM, video card, peranti peyimpanan (harddisk, CD-ROM), peranti masukan data (keyboard, mouse, scanner), atau printer untuk mencetak dan seterusnya JENIS JENIS MOTHERBOARD Jenis motherboard ditentukan oleh tipe processor yang digunakan pada motherboard tesebut. Terdapat dua model Motherboa

INTERKONEKSI ANTAR KOMPUTER

Interkoneksi antarkomponen adalah struktur dan mekanisme untuk menghubungkan tiga komponen (pemrosesan, memori utama dan perangkat masukan/keluaran). Disini saya akan sedikit membahas tentang tiga komponen yang saling terhubung tersebut.   1. Pemrosesan         Pemrosesan data (Inggris: data  processing ) adalah jenis pemrosesan yang dapat mengubah data menjadi informasi atau pengetahuan. Pemrosesan data ini sering menggunakan komputer sehingga bisa berjalan secara otomatis. Setelah diolah, data ini biasanya mempunyai nilai yang informatif jika dinyatakan dan dikemas secara terorganisir dan rapi, maka istilah pemrosesan data sering dikatakan sebagai sistem informasi. Kedua istilah ini mempunyai arti yang hampir sama, pemrosesan data mengolah dan memanipulasi data mentah menjadi informasi (hasil pengolahan), sedangkan sistem informasi memakai data sebagai bahan masukan dan menghasilkan informasi sebagai produk keluaran. 2. Memori Utama         Memori utama