ALGORITMA
sandi
ALGORITMA DAN PEMROGRAMAN
Nama: Muhammad Sandi
Kelas: X IPA 1
Mapel: TIK
A. pengertian algoritma
Algoritma (algorithm) merupakan sekumpulan instruksi yang terstruktur dan terbatas yang diimplementasikan kedalam bentuk program komputer untuk menyelesaikan suatu masalah komputasi tertentu.Dalam matematika dan ilmu komputer, algoritme adalah prosedur langkah-demi-langkah untuk penghitungan. Algoritme digunakan untuk penghitungan, pemrosesan data, dan
Algoritme adalah metode efektif diekspresikan sebagai rangkaian terbatas dari instruksi-instruksi yang telah didefinisikan dengan baik untuk menghitung sebuah fungsi. Dimulai dari sebuah kondisi awal dan input awal (mungkin kosong),instruksi-instruksi tersebut menjelaskan sebuah komputasi yang, bila dieksekusi, diproses lewat sejumlah urutan kondisi terbatas yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "keluaran" dan berhenti di kondisi akhir. Transisi dari satu kondisi ke kondisi selanjutnya tidak harus deterministik; beberapa algoritme, dikenal dengan algoritme pengacakan, menggunakan masukan acak.
Walaupun algorism-nya al-Khawarizmi dirujuk sebagai aturan-aturan melakukan aritmetika menggunakan bilangan Hindu-Arab dan solusi sistematis dan persamaan kuadrat, sebagian formalisasi yang nantinya menjadi algoritme modern dimulai dengan usaha untuk memecahkan permasalahan keputusan (Entscheidungsproblem) yang diajukan oleh David Hilbert pada tahun 1928.
B. notasi algoritma fungsi dan macam-macam nya
Fungsi algoritma itu sendiri terbagi menjadi dua hal yaitu prosedur dan fungsi dari algoritma. Fungsi dari algoritme itu sendiri tidak berbeda secara signifikan dengan cara kerja algoritme. Hanya saja yang membedakan adalah apakah fungsi algoritma memiliki keluaran yang lebih banyak dengan jenis variabel yang berbeda. Algoritma merupakan bagian penting dari komputer yang membutuhkan algoritma untuk mengolah data di komputer tersebut. Secara sederhana, dapat dikatakan bahwa fungsi algoritma meningkatkan perangkat lunak atau perangkat dan bekerja lebih optimal.
berdasarkan fungsinya terdapat enam tipe dasar algoritma, yaitu:
1.Algoritma Rekursi
Algoritme rekursif adalah algoritme yang memanggil dirinya sendiri berulang kali hingga masalah terpecahkan.
Misalnya, berikut adalah kode yang menggunakan algoritme rekursi untuk menemukan fakultas:
Fact(y)
If y is 0
return 1
return (y * fact (y-1)) / * rekursi terjadi di sini * /
2.Algoritma Divide and Conquer
Algoritma Divide and Conquer adalah algoritma yang membagi masalah besar menjadi masalah yang lebih kecil. Algoritma ini terdiri dari dua bagian yaitu:
Pecahkan masalah menjadi beberapa sub-masalah independen yang lebih kecil dari jenis yang sama.
Temukan solusi akhir untuk masalah asli setelah menyelesaikan masalah kecil ini secara terpisah.
Menggabungkan pengurutan dan pengurutan cepat dapat dilakukan dengan menggunakan algoritma Divide and Conquer. Berikut adalah contoh pseudocode dari algoritma ini:
MergeSorting(ar[], l, r)
If r > l
Find the mid-point to divide the given array into two halves: tengah m = (l + r) / 2
Call mergeSorting for the first half: Panggil mergeSorting (ar, l, m).
Call mergeSorting for the second half: Panggil mergeSorting (ar, m + 1, r)
Merge the halves sorted in step 2 and 3: Gabungkan panggilan (ar, l, m, r)
3.Algoritma Dynamic Programming
Algoritme ini mengingat hasil dari proses sebelumnya dan menggunakannya untuk menemukan hasil baru. Dengan kata lain, algoritma pemrograman dinamis memecahkan masalah yang kompleks dengan memecahnya menjadi beberapa sub-masalah sederhana dan kemudian menyelesaikannya satu kali dan kemudian menyimpannya untuk digunakan di masa mendatang.
Urutan Fibonacci adalah contoh algoritma pemrograman dinamis. Berikut adalah contoh pseudocode:
Fibonacci (N) = 0 (untuk n = 0)
= 0 (untuk n = 1)
= Fibonacci (N-1) + Finacchi (N-2)
4.Algoritma Greedy
Algoritma ini digunakan untuk menyelesaikan masalah optimasi. Dalam algoritme ini kami menemukan solusi optimal secara lokal (terlepas dari konsekuensi masa depan) dan berharap menemukan solusi optimal di tingkat global.
Algoritma ini terdiri dari 5 komponen:
Kumpulan kandidat yang kami cari solusinya.
Fungsi pemilihan untuk memilih kandidat terbaik.
Kelayakan untuk berpartisipasi, yang dapat digunakan untuk menentukan apakah seorang kandidat dapat digunakan untuk mencari solusi.
Fungsi obyektif yang memberikan nilai pada solusi yang mungkin atau solusi parsial.
Fungsi solusi yang memberi tahu Anda saat kami telah menemukan solusi untuk masalah tersebut.
1.Algoritma Brute Force
Ini adalah salah satu algoritma konseptual yang paling sederhana. Algoritme brute force menelusuri semua kemungkinan solusi untuk menemukan satu atau lebih solusi yang dapat memecahkan masalah.
Berikut adalah contoh pencarian berurutan yang dilakukan dengan brute force:
Algoritma S_Search (A [0..n], X)
A [n] ← X.
i ← 0
Sedangkan A [i] ≠ X melakukan
i ← i + 1
ketika saya kembali <n i
jika tidak, kembalikan -1
2.Algoritma Backtracking
Algoritma backtracking adalah teknik memecahkan masalah secara rekursif dan mencoba menemukan solusi untuk suatu masalah dengan menyelesaikan sebagian masalah pada saat yang bersamaan. Ketika solusi gagal, kami menghapusnya dan mundur untuk mencari solusi lain.
Dengan kata lain, algoritma lacak balik menyelesaikan sub-masalah. Jika masalah tidak dapat diselesaikan, algoritme ini membatalkan langkah terakhir dan memulai lagi untuk menemukan solusi untuk masalah tersebut.
Struktur Algoritma
Struktur algoritmik adalah urutan instruksi algoritmik diproses dan bagaimana instruksi algoritme disusun.
Struktur dasar algoritma ini dibagi menjadi tiga bagian sebagai berikut:
1.Runtunan (Sequence)
Urutan dalam struktur algoritme adalah bahwa instruksi untuk urutan algoritme diambil selangkah demi selangkah dari langkah pertama hingga terakhir.
Manual ini juga berlaku untuk bahasa pemrograman. Ingatlah ini saat komputer Anda memproses instruksi untuk bahasa pemrograman yang telah Anda tulis.
Komputer memproses dan menerjemahkan bahasa pemrograman secara berurutan dari awal hingga akhir dari baris instruksi pertama hingga akhir baris.
2.Pemilihan (Selection)
Instruksi algoritmik umumnya berisi setidaknya satu pilihan. Jika ada kasus dengan dua atau lebih alternatif adaptasi, instruksi algoritma ini ditampilkan.
Misalnya dalam hidup sesekali saat Anda menyalakan komputer Anda. Langkah-langkah untuk memulai komputer Anda sangat mudah, tetapi dua alternatif dapat digunakan.
3.Pengulangan (Repitition)
Struktur dasar ketiga dari algoritme adalah iterasi, yang berarti kasus pemecahan masalah dari algoritme atau bahasa pemrograman tidak benar-benar dibedakan dari yang perlu diulang.
Algoritme itu sendiri memiliki pedomannya sendiri untuk menyelesaikan kasus pemutaran ulang data. Instruksi ini mempermudah menulis secara singkat dan praktis daripada menulis secara individual.
C.mengenal bahasa pemrograman
1.pengertian bahasa pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa yang akan diambil dalam berbagai situasi secara persis.
Dari sekian bahasa yang digunakan oleh programmer, terdapat beberapa bahasa yang memiliki trending terbaik menurut StackOverflow, mereka menyebutnya “Most Popular Technology”.
2.fungsi dan manfaat bahasa pemrograman
Fungsi utama dari bahasa pemrograman komputer adalah memberikan instruksi pada komputer. Bahasa programmer merupakan media komunikasi antara manusia dengan komputer.
Sehingga manusia dapat memerintahkan mesin secara spesifik apa yang harus dilakukan lewat bahasa programan.
Selain berungsi sebagai media komunikasi, bahasa pemrograman komputer juga bersungsi media pengembangan sistem.
Dengan adanya bahasa pemrograman, berbagai aplikasi yang membantu kehidupan manusia bisa dikembangkan. Misalnya website pencarian, aplikasi toko online, hingga aplikasi angkutan transportasi online.
3.macam macam bahasa pemrograman
5 dari beberapa bahasa pemrograman terpopuler tersebut yang bisa menjadi pilihan kamu untuk memulai belajar bahasa pemrograman.
1. JavaScript
Tidak mengherankan, selama delapan tahun berturut-turut, JavaScript telah mempertahankan bentengnya sebagai bahasa pemrograman yang paling umum digunakan. JavaScript dapat dipelajari dengan cepat dan mudah serta digunakan untuk berbagai tujuan, mulai dari meningkatkan fungsionalitas website, menyempurnakan tampilan dan sistem halaman website, hingga mengaktifkan permainan dan software berbasis website. Sebagai bahasa yang digunakan untuk web developer, Javascript sering dijadikan sebagai salah satu syarat keahlian untuk profesi Front End Developer.
2. SQL
Structured Query Language atau SQL adalah sebagai sebuah bahasa khusus yang digunakan ketika membuat maupun mengolah database dalam sebuah sistem. Profesi yang menangani bahasa ini biasanya adalah Back-End Developer dan Full Stack Developer.
3. Python
Python adalah bahasa pemrograman interpretatif multiguna. Tidak seperti bahasa lain yang susah untuk dibaca dan dipahami, python lebih menekankan pada keterbacaan kode agar lebih mudah untuk memahami sintaks. Hal ini membuat Python sangat mudah dipelajari baik untuk pemula maupun untuk yang sudah menguasai bahasa pemrograman lain. Bahasa ini biasa digunakan untuk komputasi ilmiah dan matematika, bahkan proyek Artificial Intelligence juga menggunakan bahasa Python.
4. Java
Java adalah sekumpulan perangkat lunak komputer dan spesifikasi yang menyediakan sistem untuk mengembangkan perangkat lunak aplikasi dan menerapkannya dalam lingkungan komputasi lintas platform. Java bisa digunakan untuk membuat aplikasi berbasis desktop, website, mobile, hingga aplikasi embedded device seperti perangkat pintar atau microprosesor. Banyak aplikasi android yang dibuat menggunakan bahasa pemrograman Java.
5. PHP
PHP atau Hypertext Preprocessor adalah sebuah bahasa pemrograman server side scripting yang bersifat open source. Secara umum, fungsi PHP adalah digunakan untuk pengembangan website. Di seluruh dunia sangat banyak website yang dibangun menggunakan PHP. Karena fleksibilitasnya yang tinggi, PHP juga bisa digunakan untuk membuat aplikasi komputer. PHP merupakan bahasa pemrograman yang bersifat open source. Pengguna bebas memodifikasi dan mengembangkan sesuai dengan kebutuhan.