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 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
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_bulatdeklarasivar x: integery: integerhasil:integerAlgoritma:read(x,y)hasil <- x*yif(hasil MOD 2==0) thenwrite('bilangan bulat')elsewrite('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;
#include <conio.h>
using namespace std;
int main()
{
// Mendeklarasikan sifat ke dalam variabel char dengan lebar 5 karakter
char sifat[5];
{
// Mendeklarasikan sifat ke dalam variabel char dengan lebar 5 karakter
char sifat[5];
// Mengisi nilai kedalam variabel sifat
sifat = {‘B’,’a’,’i’,’k’,’\0′};
sifat = {‘B’,’a’,’i’,’k’,’\0′};
// Menampilkannya nilai yang terdapat pada elemen-elemen array
cout<<“String yang muncul :”<<sifat<<endl;
cout<<“String yang muncul :”<<sifat<<endl;
getch();
} (hwsmartsolution, 2016)
} (hwsmartsolution, 2016)
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).
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)
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)
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
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
2 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
2 22 10 15 3 8
2 22 10 15 3 8
2 22 10 3 15 8
2 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.htmlsource :
Komentar
Posting Komentar