MATERI DAN SOAL 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
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:
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:
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')
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];
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];
[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)
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).
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.
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.

Komentar
Posting Komentar