(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 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_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;
#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.
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.
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.html

Comments
Post a Comment