Anda di halaman 1dari 8

APLIKASI ALGORITMA DALAM ILMU KOMPUTER DI JURUSAN MATEMATIKA

Diajukan Untuk Memenuhi Salah Satu Tugas Mata Kuliah PTIK

Disusun oleh : Nama : Auliyaul Hasanah NRP : 1212100050

Dosen : Ratih Nur Esti

JURUSAN MATEMATIKA FAKULTAS MIPA UNIVERSITAS INSTITUT TEKNOLOGI SEPULUH NOPEMBER

2012/2013

DAFTAR ISI
BAB 1 PENDAHULUAN .................................................................................................................................. 1 1.1 Latar Belakang ..................................................................................................................................... 1 1.2 Rumusan Masalah ............................................................................................................................... 1 BAB 2 PEMBAHASAN .................................................................................................................................... 2 2.1 Definisi Algoritma ................................................................................................................................ 2 2.2 Fungsi Algoritma ................................................................................................................................. 2 2.3 Klasifikasi Algoritma. ........................................................................................................................... 3 2.4 Kriteria Program Algoritma dalam Bidang Komputer ......................................................................... 5 BAB 3 KESIMPULAN ...................................................................................................................................... 6 REFERENSI ..................................................................................................................................................... 6

ii

BAB 1 PENDAHULUAN
1.1 Latar Belakang Dalam era ini, teknologi sangatlah penting dalam menunjang kemajuan zaman. Teknologi yang sangatlah berpengaruh yaitu teknologi komputer. Sebagian besar atau bahkan hampir semua bidang pada zaman sekarang sudah menggunakan teknologi komputer. Ilmu komputer berkesinambungan dengan ilmu informasi. Dan di bawah ini akan dijelaskan tentang pengertian ilmu komputer dan ilmu informasi. Ilmu Komputer adalah ilmu pengetahuan yang berisi tentang teori, metodologi, desain dan implementasi, berhubungan dengan komputasi, komputer, dan algoritmanya dalam perspektif perangkat lunak (software) maupun perangkat keras (hardware).Sedangkan Ilmu informasi adalah ilmu yang mempelajari data dan informasi, dan mencakup cara bagaimana menginterpretasi, menganalisa, menyimpan, dan mengambil kembali data dan informasi tersebut. Ilmu informasi merupakan dasar dari analisa komunikasi dan basis data. Konstribusi dan peranan ilmu matematika ke depan akan terus berkembang. Matematika akan semakin banyak digunakan dalam bidang kehidupan, misalnya bidang industri, asuransi, keuangan, pertanian, bidang sosial maupun teknik. Ilmu komputer dan teknologi informasi merupakan ilmu matematika murni. Tapi banyak yang beranggapan bahwa mempelajari ilmu matematika murni tidak ada kegunaannya. Dasar ilmu komputer adalah matematika dan engineering (teknik). Matematika menyumbangkan metode analis, dan engineering menyumbangkan metode desain pada bidang ini. Sebagai contoh dalam bidang matematika yaitu penggunaan logika matematika sebagai dasar bahasa pemrograman, struktur data, kecerdasan buatan, sistem digital, basis data, teori komputasi, rekayasa perangkat lunak, jaringan saraf tiruan dan lainnya. Cabang-cabang matematika yang digunakan dalam ilmu komputer seperti dasar matematika: teori graf, teori informasi, logika simbolik, peluang dan statistik, aljabar boelan, matematika distrik ; Teori Informasi Algoritmik: Kompilator ; Gerbang Logika. Ada juga istilah Algoritma yang merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, maka dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai. Jadi, berbicara algoritma dalam komputer juga sangatlah penting. 1.2 Rumusan Masalah 1. 2. 3. 4. Apakah yang disebut dengan algoritma? Apakah fungsi algoritma? Apa saja klasifikasi algoritma sesuai dengan cara penyelesaian masalah? Bagaimana kriteria algoritma dalam bidang komputer?

BAB 2 PEMBAHASAN
2.1 Definisi Algoritma Ditinjau dari asal usul kata, kata algoritma sendiri mempunyai sejarah yang cukup aneh. Kata ini tidak muncul di dalam kamus Webster sampai akhir tahun 1957. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Dan anda dikatakan algorist jika anda menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata algorism ini, namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal mula kata tersebut. Kata algorism berasal dari nama penulis buku arab yang terkenal, yaitu Abu Jaafar 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 ini kita juga memperoleh akar kata aljabar (algebra). Perubahan dari kata algorism menjadi algoritm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran sm berubah menjadi thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa/lumrah, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma. Definisi algoritma menurut beberapa ahli : Abu Jafar Mohammad Ibn Musa al-Khuwarizmi Algoritma adalah suatu metode khusus untuk menyelesaikan suatu persoalan. Donald E. Knuth Algoritma adalah sekumpulan aturan-aturan berhingga yang memberikan sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus. Goodman Hedet Niemi Algoritma adalah urut-urutan terbatas dari operasi-operasi terdefinisi dengan baik, yang masing-masing membutuhkan memory dan waktu yang terbatas untuk menyelesaikan suatu masalah. KBBI Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Secara umum Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrogaman tertentu seperti bahasa Pascal, Visual Basic, Java, dan masih banyak lagi bahasa yang lain. 2.2 Fungsi Algoritma Dengan algoritma, kita dapat mengatasi masalah dari yang sederhana sampai yang kompleks sekalipun. Namun, seorang user harus mampu membuat suatu program dengan menggunakan bahasa yang difahami oleh komputer. Sebelum disajikan dalam bentuk bahasa pemrogaman, sebaiknya kita membuat diagram alir (Flow Chart) dan Pseudocode. Hal ini dimaksudkan agar dapat mempermudah kerja atau mempermudah dalam membuat program. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika dengan cara berurutan, tetapi kadang-kadang algoritma tidak selalu berurutan, hal ini dikenal dengan proses percabangan.
2

2.3 Klasifikasi Algoritma. Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi. Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan serakah apa yang dilihat terbaik pada saat itu. Beberapa pembagian algoritma berdasarkan fungsi dan cara penyelesaian masalah, contohnya sebagai berikut : Algoritma Greedy

Algoritma greedy adalah algoritma yang memecahkan masalah langkah per langkah yang dalam setiap langkahnya mengambil pilihan terbaik yang terdapat pada saat itu tanpa memedulikan konsekuensi ke depannya. Hal ini disebut sebagai optimum lokal. Harapan dari algoritma ini dapat membentuk suatu penyelesaian atau optimum global suatu masalah dari optimum lokalnya. Algoritma Kriptografi

Algoritma kriptografi selalu terdiri dari dua bagian, yaitu enkripsi dan dekripsi. Enkripsi (encryption) merupakan proses yang dilakukan untuk mengubah pesan yang tidak disanikan (plaintext atau cleartext) ke dalam bentuk yang tidak dapat dibaca (ciphertext). Sedangkan dekripsi (decryption) adalah proses kebalikannya. Proses enkripsi dan dekripsi diatur oleh satu atau beberapa kunci kriptografi. Dalam suatu sistem dimana terdapat algoritma kriptografi, ditambah seluruh kemungkinan plaintext, ciphertext dan kunci-kuncinya disebut kriptosistem (cryptosystem atau cryptographic system).

Algoritma Simetri

Algoritma kriptografi simetri, kunci enkripsi yang digunakan sama dengan kunci dekripsinya, sehingga sering one- key, private-key atau single-key. Algoritma simetri masih terbagi dalam 2 kategori, yakni algoritma block cipher dan algoritma stream cipher. Algoritma block cipher adalah algoritma yang masukkan dan keluarannya berupa satu dan setiap bloknya terdiri dari banyak bit. Sedangkan algoritma stream cipher, ciphernya berasal dari hasil XOR antara setiap bit plaintext dengan kuncinya, atau mengenkripsi satu bit pada suatu waktu. Algoritma Asimetris

Algoritma kriptografi asimetris adalah algoritma yang menggunakan kunci yang berbeda untuk proses enkripsi dan deskripsinya. Algoritma ini disebut algoritma kunci umum (public key algorithm) karena kunci untuk enkripsi dapat dibuat umum (public key) atau dapat diketahui setiap orang, tetapi kunci untuk deskripsi hanya diketahui oleh orang yang berwenang mengetahui data yang disandikan atau sering disebut kunci pribadi (private key) Algoritma One Time Pad (OTP)

Algoritma OTP adalah algoritma yang Prinsip enkripsi pada algoritma dengan mengkombinasikan masing-masing karakter pada plaintext dengan satu karakter pada kunci. Oleh karena itu, panjang kunci setidaknya harus sama dengan panjang plaintext. Secara teori, adalah hal yang tak mungkin untuk mendeskripsi chipertext tanpa mengetahui kuncinya. Sebab jika kunci yang digunakan salah, akan diperoleh hasil yang salah juga, atau bukan plintext yang seharusnya. Kemudian setiap kuncinya hanya boleh digunakan untuk sekali pesan. Pengambilan kunci harus dilakukan secara acak supaya tidak dapat diterka lawan dan jumlah karakter kunci harus sebanyak jumlah karakter pesan. Algoritma Genetika.

Algoritma genetika merupakan teknik pencarian nilai optimum secara stochastic berdasarkan mekanisme seleksi alam teori genetika. Algoritma genetika berbeda dengan teknik konvergensi konvensional yang lebih bersifat deterministik. Metoda pencarian nilai optimum klasik pada umumnya memanfaatkan kemiringan kurva asimptotis yang konvergen pada solusi yang diinginkan. Proses konvergensi dilakukan dengan mengevaluasi satu titik pada kurva asimptotis di setiap proses iterasinya. Pada proses iterasi selanjutnya, titik evaluasi tersebut digeser ke arah lembah/bukit yang diperkirakan akan menuju ke titik konvergen yang ada. Analisis titik per titik seperti ini dapat menghasilkan nilai yang benar hanya jika permasalahan yang sedang dianalisis memiliki titik ekstrim yang menjamin bahwa nilai optimum lokal juga merupakan nilai optimum global. Masih banyak lagi macam-macam dan pembagian algoritma dengan disesuaikan cara penyelesaian/ pemecahan masalah dan fungsi algoritma itu sendiri.

2.4 Kriteria Program Algoritma dalam Bidang Komputer Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya bisa mengenal kondisi ada arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan dengan 0). Dengan kata lain, kita harus menggunakan sandi 0 dan 1 untuk melakukan pemrogaman komputer. Bahasa pemrogaman yang menggunakan sandi 0 dan 1 ini disebut bahasa mesin. Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0 dan 1 dengan singkatan kata yang lebih mudah difahami manusia biasa disebut dengan mnemonic code. Bahasa pemprograman yang menggunakan singkatan kata ini disebut bahasa assembly. Program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat. Adapun contoh algoritma seperti dalam menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus lingkaran adalah L=?*R*R. Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran: 1.MasukkanR 2.Pi?3,14 3.L?Pi*R*R 4. Tulis L Perhatikan tanda ? pada baris kedua dan ketiga. Tanda ini berarti nilai di sebelah kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai 3,14 diberikan pada variabel Pi. Berikutnya, nilai Pi*R*R diberikan pada variable L. Baris terakhir menuliskan luas lingkaran tersebut. Seperti yang dikemukakan di atas, bahwa algoritma ada yang tidak berurutan dan biasa di sebut dengan pengulangan. Adapun contohnya yaitu dalam penghitungan rata-rata dari sekumpulan data yang dimasukkan pengguna. Berikut ini adalah algoritma untuk menghitung rata-rata data yang dimasukkan pengguna: 1.MasukkanN 2.i?1 3.j?0 4. Selama (i<=N) kerjakan baris 4 sampai dengan 7 5. Masukkan dt 6. i?i+1 7. j?j+dt 8. Rata?j/N 9. Tulis rata Baris pertama meminta pengguna memasukkan N, yaitu jumlah data. Pada baris kedua, variabel I, yang berguna sebagai pencacah banyaknya data yang telah dimasukkan pegguna, bernilai 1. Pada baris ketiga, variabel j, yang digunakan untuk menyimpan hasil penjumlahan data, diberi nilai 0.

Baris keempat memberikan perintah untuk mengulangi baris keempat sampai dengan baris ketujuh selama I kurang dari sama dengan N. Dengan kata lain, setelahi lebih besar dari N, baris kedelapan yang dijalankan. Baris kelima meminta masukkan data yang ke-i. Baris keenam menambah variabel I dengan 1. Perhatikan arti dari perintah i?i+1 adalah nilai i ditambah dengan 1 kemudian hasilnya disimpan pada variabel i kembali. Baris ketujuh menambah variabel j dengan data yang dimasukkan pengguna. Sebagaimana dijelaskan di atas, variabel j digunakan untuk menyimpan hasil penjumlahan semua data, jadi untuk setiap masukan data, nilai variabel j harus ditambah dengan dt. Baris kedelapan menghitung rata-rata dengan cara membagi hasil penjumlahan dengan banyaknya data. Baris terakhir menuliskan rata-rata tersebut. Tetapi banyak pemrogram yang sudah berpengalaman tidak pernah menuliskan algoritma di atas kertas lagi.. Artinya dia menuliskan algoritma itu di dalam kepalanya.

BAB 3 KESIMPULAN
Algoritma adalah suatu prosedur yang tepat untuk memecahkan masalah dengan menggunakan bantuan komputer serta menggunakan suatu bahasa pemrograman. Fungsi algoritma adalah untuk mempermudah kerja atau memudahkan kita dalam membuat program atau biasa di sebut sebagai Problem Solving. Selain itu, algoritma dapat mengatasi masalah logika dan masalah matematika. Kriteria program algoritma harus komplit, nyata, dan jelas. Meskipun tugas algoritma tidak menghasilkan solusi, tetapi proses harus berakhir hal ini disebut dengan semi algorithm (prosedur akan berjalan terus atau biasa disebut dengan perulangan). Intinya kita tidak boleh menambah masalah, akan tetapi kita harus mampu menyelesaikan masalah untuk mendapat hasil yang tepat.

REFERENSI
http://culezngeblog.wordpress.com/2012/10/02/definisi-algoritma-menurut-para-ahli/ http://bluealviandikha.blogspot.com/2012/09/pengertian-algoritma-dari-beberapa-ahli.html http://blog.student.uny.ac.id/trisylia/2012/09/12/presentasi/ http://acieee.wordpress.com/2010/03/11/fungsi-algoritma/ wikipedia

Anda mungkin juga menyukai