Konsep Algoritma dan jenisnya


3.1    Konsep Algoritma

3.1.1   Definisi Algoritma

Menurut Munir (2011) Algoritma adalah urutan langkah-langkah untuk memecahkan suatu masalah.

Kata algoritma sendiri diadaptasi dari nama ilmuwan muslim, yaitu Abu Ja’far Muhammad ibn Musa Al-Khawarizmi (780-847 M) yang banyak menghasilkan karya dalam bidang matematika, disamping karya-karyanya dalam bidang lainnya seperti geografi dan musik.

Terdapat beberapa definisi lain dari algoritma, tetapi pada prinsipnya senada dengan difinisi yang diungkapkan di atas, antara lain:

1.        Algoritma adalah deretan langkah-langkah komputasi yang men-transformasikan data masukan menjadi keluaran.

2.        Algoritma adalah deretan intruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumah waktu terbaras.

3.        Algoritma adalah prosedur komputasi yang terdefinisi dengan baik yang menggunakan beberapa nilai sebagai masukan dan menghasilkan beberapa nilai yang disebut keluaran. Jadi, algoritma adalah deretan langkah komputasi yang mentransformasikan masukan menjadi keluaran.

3.1.2   Ciri-ciri dan sifat Algoritma

Donald E. Knuth (1997), menyatakan bahwa ada beberapa ciri-ciri algoritma, yaitu:

a.         Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma harus memiliki langkah yang terbatas.

b.        Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda.

c.         Memiliki masukan atau kondisi awal.

d.        Memiliki keluaran atau kondisi akhir.

e.         Algoritma harus efektif, bila diikuti dengan benar-benar akan menyelesaikan persoalan.

Berdasarkan ciri algoritma dapat disimpulkan sifat utama suatu algoritma, yaitu:

a.         Input : suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai pengubah yang diambil dari himpunan khusus.

b.        Output : suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.

c.         Definiteness : langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

d.        Finiteness : suatu algoritma harus memberi kondisi akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan.

e.         Effectiveness : setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya memberi solusi sesuai yang diharapkan.

f.          Generality : langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu.

3.2    Pencocokan String (String Matching)

3.2.1   Definisi String Matching

Menurut  Syaroni dan Munir (2011) string adalah susunan dari karakter-karakter (angka, alphabet, atau karakter yang lain) dan biasanya dipresentasikan sebagai stuktur data array. String dapat berupa kata, frase, atau kalimat. Sedangkan String matching menurut Syaroni dan Munir (2004:1), diartikan sebagai sebuah permasalahan untuk menemukan pola susunan karakter string di dalam string lain atau bagian dari isi teks. String matching dalam bahasa Indonesia dikenal dengan istilah pencocokan string (Munir, 2007:1).

 

3.2.2   Kerangka Kerja String Matching

Persoalan pencarian string menurut Munir (2011) dirumuskan sebagai berikut.

1.        Sebuah teks (text), yaitu sebuah (long) string yang panjang n karakter.

2.        Pattern, yaitu sebuah string dengan panjang m.

Dengan sebuah nilai karakter (m < n) yang akan dicari dalam teks. Dalam algoritma pencocokan string, teks diasumsikan berada di dalam memori, sehingga bila kita mencari string di dalam sebuah arsip, maka semua arsip perlu dibaca terlebih dahulu kemudian disimpan di dalam memori. Jika pattern muncul lebih dari sekali di dalam teks, maka pencarian hanya akan memberikan keluaran berupa lokasi pattern ditemukan pertama kali.

 

3.2.3   Kerangka Pikir String Matching

Menurut Charras (1997:12) algoritma string matching dapat diklasifikasi-kan menjadi 3 bagian menurut arah pencariannya, yaitu :

1.        From left right

Dari arah yang paling alami, dari kiri ke kanan, yang merupakan arah untuk membaca.

2.        From right to left

Dari arah kanan ke kiri, arah yang biasanya menghasilkan hasil terbaik secara partikal.

 

3.        In a specific order

Dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis.

Beberapa konsep string matching antara lain:

a)         Approximate string matching, yaitu sebuah pencarian terhadap pola-pola string (mengandung beberapa proses yaitu menghitung jumlah karakter yang berbeda, penyisipan dan penghapusan karakter) sehingga mendekati pola atau pattern dari string yang dicari. Dari wikepedia didefinisikan sebagai sebuah teknik untuk mencari sebuah pola yang mendekati string dari sebuah teks.

b)        Algoritma pencarian string adalah sebuah proses pencarian tempat dari suatu atau beberapa string yang ditemukan dalam sebuah kumpulan string atau teks. Jalan paling sederhana adalah dengan cara membaca karakter satu persatu dan melakukan perhitungan kesalahan posisi yang ada dari string yang dicari.

 

3.3    Definisi Data

Menurut Agus (2011), data merupakan kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Data juga merupakan suatu file ataupun field yang berupa karakter atau tulisan dan gambar yang terdiri dari fakta-fakta dan dapat diolah menjadi suatu informasi.

3.4    Definisi Pelanggan

Definisi pelanggan menurut Dwi (2003:31) adalah seseorang yang menjadi terbiasa untuk membeli. Kebiasaan itu terbentuk melalui pembelian dan interaksi yang sering selama periode waktu tertentu.

Pelanggan juga merupakan orang yang menjadi pembeli produk yang telah dibuat dan dipasarkan oleh sebuah perusahaan, dimana orang ini bukan hanya sekali membeli produk tersebut tetapi berulang-ulang.

 

3.5    Basis Data

Menurut Nugroho (2005) basis data adalah sebuah cara mendokumentasikan berbagai macam data yang kemudian dimanajemen dengan sebuah sistem untuk kemudian disimpan dalam sebuah media penyimpanan. Dengan demikian data-data tersebut dapat di akses dengan mudah dan cepat.

Basis data atau database juga merupakan kumpulan informasi yang disimpan di dalam komputer secara sistematik dan terstruktur sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.

 

3.6    Unifield Modelling Language (UML)

3.6.1   Pemodelan

Menurut Wiranto (2010), pemodelan adalah suatu bentuk abstraksi. Model diperlukan jika akan membangun sesuatu. Abstraksi adalah proses memfokuskan pada fitur tertentu yang sangat esensial untuk menyelesaikan tugas dan menghindarkan beberapa fitur yang tidak diperlukan.

Pemodelan juga merupakan gambaran dari realita yang simpel yang dituangkan dalam bentuk pemetaan dengan aturan tertentu. Sama halnya dengan pemodelan  sebuah gedung dengan menggunakan maket, pemodelan pada pembangunan perangkat lunak dilakukan untuk memvisualisasikan perangkat lunak yang akan dibuat. Pemodelan perangkat lunak digunakan untuk mempermudah langkah berikutnya dari pengembangan sebuah sistem informasi sehingga lebih terencana. Perangkat pemodelan merupakan suatu model yang digunakan untuk menguraikan sistem menjadi bagian-bagian yang dapat diatur dan mengomunikasikan ciri konseptual dan fungsional kepada pengamat. Peran perangkat permodelan ini adalah sebagai komunikasi, ekspresimentasi dan prediksi. Salah satu perangkat permodelan perangkat untuk perangkat lunak adalah Unified Modeling Language (UML).

 

3.6.2   Pengenalan Unifield Language (UML)

Menurut Munawar (2005), Unifield Language (UML) adalah adalah salah satu alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk membuat cetak biru atau visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain.

3.6.3   Diagram UML

Adapun UML yang digunakan oleh penulis dalam Laporan Kerja Praktik ini adalah sebagai berikut.

a.         Class Diagram

Rosa dan M. Shalahudin (2014), diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan method atau operasi. Berikut penjelasan atribut dan method :

1.         Atribut merupakan variable-variabel yang dimiliki oleh suatu kelas.

2.         Operasi atau method adalah fungsi-fungsi yang dimiliki oleh suatu kelas.

Post a Comment (0)
Previous Post Next Post