ALGORITMA DAN STRUKTUR DATA

1.1. Algoritma

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal- Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

1.1.1. Definisi Algoritma

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik. Bab I: Pengantar Algoritma dan Program 2 Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya. Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

1.2 STRUKTUR DATA

Pengertian Struktur Data
Struktur data adalah cara menyimpan atau merepresentasikan data di dalam komputer agar bisa dipakai secara efisien
Sedangkan data adalah representasi dari fakta dunia nyata
Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol
Secara garis besar tipe data dapat dikategorikan menjadi :
1. Tipe Data Sederhana
Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel
Ada 5 macam : int, float, double, char, boolen

Tipe data terstruktur

1.MATRIKS

Matriks adalah susunan bilangan dalam suatu persegi panjang yang diatur berdasarkan baris dan kolom

Operasi Matriks

2.SET

Set adalah tipe data terstruktur yang terdiri dari elemen yang disebut anggota set. Anggota set memiliki urutan dan tidak boleh ada dua anggota set yang sama

Macam-Macam SET
 
*Gabungan (union)                                 
   notasi : È
Gabungan dari dua himpunan A dan B adalah himpunan yang terdiri dari semua elemen yang menjadi anggota A atau menjadi anggota B.A È B = { x | x Î A atau x Î B } 
contoh:A = {1,2,3}
B = {0,2,4}
Maka A È B = {0,1,2,3,4}
 
 
*Irisan (intersection)
   notasi : Ç
Irisan dari dua himpunan A dan B adalah himpunan yang terdiri dari semua elemen persekutuan dari himpunan A dan B.A Ç B = { x | x Î A dan x Î B }
contoh:           A={1,2,3,4}
          B={3,4,5}
          maka A Ç B = {3,4}
 
*Selisih                                                     
    notasi : -
        Selisih antara dua himpunan A dan B adalah himpunan yang terdiri dari semua anggota A yang bukan anggota B.
 
A – B = { x | x Î A dan x Ï B } 
contoh:A = {1,2,3,4,5}
B = {2,4,6,7,10}

Maka A – B = {1,3,5}

3.SORT

 Sort adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Biasanya pengurutan terbagi menjadi 2 yaitu : Ascending (pengurutan dari karakter/angka kecil ke karakter/angka besar) dan Descending (pengurutan dari karakter/angka besar ke karakter/ angka kecil.
 
Macam-Macam SORT
*Bubble Sort
Adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. apabila elemen yang sekarang > elemen berikutnya. maka posisinya ditukar, kalau tidak, tidak perlu ditukar.
Misalkan ada data :
  5, 34, 32, 25, 75, 42, 22, 2
  (ingin dilakukan pengurutan dari yang terkecil sampai yang terbesar dari ke 8 data tersebut)
 
Langkah Pertama :
5<34 span=””>tetap)
34>32=32,34(berubah)
34>25=25,34(berubah)
34<75 span=””>tetap)
75>42=42,75(berubah)
75>22=22,75(berubah)
75>2=2,75(berubah)
Hasilnya adalah : 5, 32, 25, 34, 42, 22, 2, 75
 
Langkah kedua :
5<32 span=””>tetap)
32>25=25,32(berubah)
32<34 span=””>tetap)
34<42 span=””>tetap)
42>22=22,42(berubah)
42>2=2,42(berubah)
42<75 span=””>tetap)
Hasilnya adalah : 5, 25, 32, 34, 22, 2, 42, 75
 
Hasilnya dari langkah 2 adalah : 5, 25, 32, 34, 22, 2, 42, 75, 42, 75
 
 
Langkah ketiga :
5<25 span=””>tetap)
25<32 span=””>tetap)
32<34 span=””>tetap)
34>22=22,34(berubah)
34>2=2,34(berubah)
34<42 span=””>tetap)
42,75=42,75(tetap)
Hasilnya adalah : 5, 25, 32, 22, 2, 34, 42, 75
Hasilnya dari langkah ketiga adalah : 5, 25, 32, 22, 2, 34, 42, 75
 
Langkah keempat :
5<25 span=””>tetap)
25<32 span=””>tetap)
32>22=22,32(berubah)
32>2=2,32(berubah)
32<34 span=””>tetap)
34<42 span=””>tetap)
42<75 span=””>tetap)
Hasilnya adalah : 5,25,22, 2, 32, 34, 42, 75
Hasilnya dari langkah kempat adalah : 5,25,22, 2, 32, 34, 42, 75
 
Langkah kelima :
5<25 span=””>tetap)
25>22=22,25(berubah)
25>2=2,25(berubah)
25<32 span=””>tetap)
32<34 span=””>tetap)
34<42 span=””>tetap)
42<75 span=””>tetap)
Hasilnya adalah : 5, 22, 2, 25, 32, 34, 42, 75
Hasil dari langkah kelima adalah : 5, 22, 2, 25, 32, 34, 42, 75
 
Langkah ke enam :
5<22 span=””>tetap)
22>2=2,22(berubah)
22<25 span=””>tetap)
25<32 span=””>tetap)
32<34 span=””>tetap)
34<42 span=””>tetap)
42<75 span=””>tetap)
 
Hasilnya adalah : 5, 2, 22, 25, 32, 34, 42, 75
Hasil dari langkah ke enam adalah : 5, 2, 22, 25, 32, 34, 42, 75
 
Langkah ke tujuh :
5>2=2,5(berubah)
5<22 span=””>tetap)
22<25 span=””>tetap)
25<32 span=””>tetap)
32<34 span=””>tetap)
34<42 span=””>tetap)
42<75 span=””>tetap)
 Hasil akhir adalah : 2, 5, 22, 25, 32, 34, 42, 75
 
*Selection sort
Adalah suatu metode pengurutan data yang membandingkan elemen yang sekarang dengan elemen berikutnya sampai ke elemen yang terakhir. jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan langsung ditukar.
Misalkan ada data-data sebagai berikut :
  5, 34, 32, 25, 75, 42, 22, 2
Langkah pertama :
Posisi   : 1  2  3  4  5  6  7  8
Data  : 5  34  32  25  75  42  22  2
Pembanding  Posisi
5<34 di=”” ke=”” nbsp=”” posisi=”” satu=”” span=”” urutan=””>
5<32 nbsp=”” span=””>
5<25 nbsp=”” span=””>
5<75 nbsp=”” span=””>
5<42 nbsp=”” span=””>
5<22 nbsp=”” span=””>
5>2  8
Tukar data pada posisi 1 dengan data pada posisi 8
Hasil sementara : 2, 34, 32, 25, 75, 42, 22, 5 
Hasil sementara langkah 1 : 2, 34, 32, 25, 75, 42, 22, 5 
 
Langkah kedua :
Posisi  : 1  2  3  4  5  6  7  8
Data  : 2  34  32  25  75  42  22  5
Pembanding  Posisi
34>32      3 (posisi di urutan ke tiga)
32>25      4
25<75 nbsp=”” span=””>
25<42 nbsp=”” span=””>
25>22      7
22>5        8
Tukar data pada posisi 2 dengan data posisi 8
Hasil sementara : 2, 5, 32, 25, 75, 42, 22, 34
Hasil sementara pada langkah kedua : 2, 5, 32, 25, 75, 42, 22, 34
 
Langkah ketiga :
Posisi  : 1  2  3  4  5  6  7  8
Data  : 2  5  32  25  75  42  22  34
Pembanding  Posisi
32>25      4 (posisi di urutan ke empat)
25<75 nbsp=”” span=””>
25<42 nbsp=”” span=””>
25>22      7
22<34 nbsp=”” span=””>
Tukar data pada posisi 3 dengan data posisi 7
Hasil sementara : 2, 5, 22, 25, 75, 42, 32, 34
Hasil sementara langkah ketiga : 2, 5, 22, 25, 75, 42, 32, 34
 
Langkah keempat :
Posisi :  1  2  3  4  5  6  7  8
Data  : 2  5  22  25  75  42  32  34
Pembanding  Posisi
75>42      6 (posisi di urutan ke enam)
42>32      7
32<34 nbsp=”” span=””>
 
Tukar data pada posisi 5 dengan data posisi 7
Hasil sementara : 2, 5, 22, 25, 32, 42, 75, 34 
Hasil sementara pada langkah kelima : 2, 5, 22, 25, 32, 34, 75, 42
 
Langkah ke enam :
Posisi   : 1  2  3  4  5  6  7  8
Data  : 2  5  22  25  32  34  75  42
Pembanding  Posisi
75<42 delapan=”” di=”” ke=”” nbsp=”” posisi=”” span=”” urutan=””>
 
Tukar data pada posisi 7 dengan data posisi 8
 
Hasil akhir :  2, 5, 22, 25, 32, 34, 42, 75 

 

sumber: pencarian di google dan bahasan dari tugas

 
About these ads
This entry was posted in UIB_1231048. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s