Algoritma harus berakhir setelah melakukan sejumlah langkah proses, merupakan ciri-ciri

Algoritma harus berakhir setelah melakukan sejumlah langkah proses, merupakan ciri-ciri

Definisi
• Algoritma adalah sekumpulan langkah-langkah terbatas untuk mencari solusi suatu masalah.
• Berasal dari kata algoris dan ritmis. Diperkenalkan oleh Abu Ja’far Muhammad MusaAl-Khowarizmi(780-850) dalam bukunya yang berjudul KitabAl Jabr Waal Muqobala(Rules of Restoration and Reduction).
• Pada pemrograman, algoritma didefinisikan sebagai metode yang terdiri dari langkah-langkah terstuktur untuk mencari solusi suatu masalah dengan bantuan komputer.

Syarat Algoritma
Menurut Donald E.Knuth sebuah algoritma harus memenuhi persyaratan :
• Finiteness.
Algoritma harus berakhir (terminate) setelah melakukan sejumlah langkah proses.
• Definiteness.
Setiap langkah algoritma harus didefinisikan dengan tepat dan tidak menimbulkan makna ganda(ambiguous).
• Input.
Setiap algoritma memerlukan data sebagai masukan untuk diolah.
• Output.
Setiap algoritma memberikan satu atau lebih hasil keluaran.
•Effectiveness.
Langka-langkah algoritma dikerjakan dalam batas waktu yang wajar.

Jenis Proses Algoritma
Langkah-langkah yang membentuk suatu algoritma dapat dibagi menjadi tiga kelompok proses :
•Sequence process.
Sederetan instruksi dijalankan secara berurutan dari awal hingga akhir.
•Selection process.
Instruksi atau sederetan instruksi dijalankan jika kondisi tertentu terpenuhi.Contohnya adalah siswa dinyatakan lulus mata kuliah jika nilainya minimal 60.
•Iteration process.
Instruksi atau sederetan instruksi dijalankan secra berulang jika kondisi tertentu terpenuhi. Contohnya adalah siswa harus mengambil mata kuliah selama nilainya di bawah 60.

Tahap Pengembangan Algoritma

Penulisan (penyajian) Algoritma
• Tulisan, seperti :Structure English,Pseudocode.
Contoh Algoritma “Penggunaan Kalkulator”
Mulai
…..Nyalakan kalkulator
…..Kosongkan Kalkulator
…..Ulangi
……….Input harga
……….Tekan tombol Plus (+)
……….Sampai semua harga diinput
…..Tampilkan total harga
…..Matikan kalkulator
Selesai

  • Gambar, seperti :Flow Chart.
    Contoh Algoritma “Penggunaan Kalkulator”

Referensi :
Paul J. Deitel. (2016). C how to program : with an introduction to C++. 08. Pearson Education. Hoboken. ISBN: 9780133976892

Ngoen. Th. S. (2004). Pengantar Algoritma dengan Bahasa C. Penerbit Salemba Teknika.

Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth, algoritma mempunyai lima ciri penting yang meliputi:

  1. Finiteness (keterbatasan), algoritma harus berakhir setelah mengerjakan sejumlah langkah proses.
  2. Definiteness (kepastian), setiap langkah harus didefinisikan secara tepat dan tidak berarti ganda.
  3. Input (masukan), algoritma memiliki nol atau lebih data masukan (input).
  4.  Output (keluaran), algoritma mempunyai nol atau lebih hasil keluaran (output).
  5. Effectiveness (efektivitas), algoritma harus sangkil (efektif), langkah-langkah algoritma dikerjakan dalam waktu yang wajar.
Sedang sifat algoritma adalah:
  1. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu.
  2. Tidak tergantung pada suatu bahasa pemrograman tertentu.
  3. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun.
  4. Algoritma dapat digunakan untuk merepresentasikan suatu urutan kejadian secara logis dan dapat diterapkan di semua kejadian sehari-hari.

  Seperti telah dijelaskan di sub bab sebelumnya bahwa penyusun atau struktur dasar algoritma adalah langkah-langkah. Suatu Algoritma dapat terdiri dari tiga struktur dasar, yaitu runtunan, pemilihan dan pengulangan. Ketiga jenis langkah tersebut membentuk konstruksi suatu algoritma. Berikut adalah penjelasan dari tiga struktur tersebut :

   Sebuah runtunan terdiri dari satu atau lebih instruksi. Tiap instruksi dikerjakan secara berurutan sesuai dengan urutan penulisannya, yakni sebuah instruksi dilaksanakan setelah instruksi sebelumnya selesai dikerjakan. Urutan dari instruksi menentukan hasil akhir dari suatu algoritma. Bila urutan penulisan berubah maka mungkin juga hasil akhirnya berubah. Sebagai contoh perhatikan operasi aritmatika berikut ini, (4+3)*7=49, tetapi bila urutan aksinya diubah maka hasil keluaran akan berbeda menjadi 4+(3*7) =25.

Contoh lain dari runtunan aksi adalah algoritma penukaran dua bilangan bulat,yaitu:

  1. Deklarasikan A, B, dan C sebagai bilangan bulat
  2.  Masukkan nilai A dan B
  3. Masukkan nilai A ke dalam C
  4. Masukkan nilai B ke dalam A
  5. Masukkan nilai C ke dalam B

      2. Pemilihan (selection)

   Kadangkala terdapat suatu kejadian yang baru akan dikerjakan jika suatu kondisi tertentu telah terpenuhi. Pemilihan yaitu instruksi yang dikerjakan dengan kondisi tertentu. Kondisi adalah persyaratan yang dapat bernilai benar atau salah. Satu atau beberapa instruksi hanya dilaksanakan apabila kondisi bernilai benar, sebaliknya apabila salah maka instruksi tidak akan dilaksanakan. 

Contoh kasus pemilihan adalah dalam penentuan bilangan genap atau ganjil berikut ini:

  1. Masukkan bilangan sebagai sebuah bilangan bulat
  2. Bagi bilangan dengan angka 2, simpan nilai sisa pembagian dalam variabel sisa
  3. Jika nilai sisa sama dengan 0 maka kerjakan langkah 4:
  4. Tampilkan ”GENAP” ke layar
  5. Jika nilai sisa tidak sama dengan 0 maka kerjakan langkah 6
  6. Tampilkan ”GANJIL” ke layar
  7. Selesai.

3. Pengulangan (repetition)

   Salah satu kelebihan komputer adalah kemampuannya untuk mengerjakan pekerjaan yang sama berulang kali tanpa mengenal lelah.Kita tidak perlu menulis instruksi yang sama berulang kali, tetapi cukup melakukan pengulangan dengan instruksi yang tersedia. Pengulangan merupakan kegiatan mengerjakan sebuah atau sejumlah aksi yang sama sebanyak jumlah yang ditentukan atau sesuai dengan kondisi yang diinginkan. Beberapa statemen pengulangan di bahasa pemrograman yaitu for…, while()..., do...while(), repeat....until, for...downto...do, for...to...do dan lain-lain. Sebagai contoh adalah menampilkan huruf tertentu sebanyak n kali ke layar sebagai berikut:

  • Deklarasikan variabel huruf untuk menyimpan karakter yang akan ditampilkan.
  • Deklarasikan variabel n untuk menyimpan banyaknya perulangan
  • Deklarasikan variabel counter yang digunakan sebagai counter perulangan yang sudah dilakukan.
  • Masukkan sebuah karakter dan simpan dalam variabel huruf
  • Masukkan banyaknya perulangan yang diinginkan dan simpan dalam variabel n
  • Set nilai counter dengan 0
  • Tampilkan huruf ke layar
  • Lakukan penambahan counter dengan 1
  • Jika nilai counter
  • Jika nilai counter = n selesai


Page 2

Algoritma harus berakhir setelah mengerjakan sejumlah langkah proses adalah pengertian dari ciri algoritma?

  1. Keterbatasan
  2. Kepastian
  3. Input
  4. Output
  5. Efektivitas

Jawaban yang benar adalah: A. Keterbatasan.

Dilansir dari Ensiklopedia, algoritma harus berakhir setelah mengerjakan sejumlah langkah proses adalah pengertian dari ciri algoritma Keterbatasan.

Pembahasan dan Penjelasan

Menurut saya jawaban A. Keterbatasan adalah jawaban yang paling benar, bisa dibuktikan dari buku bacaan dan informasi yang ada di google.

Menurut saya jawaban B. Kepastian adalah jawaban yang kurang tepat, karena sudah terlihat jelas antara pertanyaan dan jawaban tidak nyambung sama sekali.

Menurut saya jawaban C. Input adalah jawaban salah, karena jawaban tersebut lebih tepat kalau dipakai untuk pertanyaan lain.

Menurut saya jawaban D. Output adalah jawaban salah, karena jawaban tersebut sudah melenceng dari apa yang ditanyakan.

Menurut saya jawaban E. Efektivitas adalah jawaban salah, karena setelah saya coba cari di google, jawaban ini lebih cocok untuk pertanyaan lain.

Kesimpulan

Dari penjelasan dan pembahasan serta pilihan diatas, saya bisa menyimpulkan bahwa jawaban yang paling benar adalah A. Keterbatasan.

Jika anda masih punya pertanyaan lain atau ingin menanyakan sesuatu bisa tulis di kolom kometar dibawah.

Halo, teman-teman apa kabar? Semoga teman-teman dalam keadaan baik-baik saja ya.

Sudah tahukah kamu ciri-ciri algoritma pemrograman? Sudah tahu, namun belum tahu secara komplit? Baik, pada artikel ini kita akan membahas 6 ciri algoritma pemrograman secara detail dan tuntas. Yuk simak!

Sebelumnya mari kita flashback apa yang dimaksud dengan algoritma baik itu pengertian dan juga contohnya.

Belajar pemrograman di Dicoding Academy dan mulai perjalanan Anda sebagai developer profesional.

Daftar Sekarang

Algoritma merupakan urutan aksi untuk menyelesaikan masalah yang disusun secara sistematis dan logis. Algoritma juga dapat diartikan urutan langkah logis yang digunakan untuk menyelesaikan suatu masalah. Singkatnya, sebuah masalah dapat diselesaikan dengan beberapa langkah yang logis.

Kenapa perlu algoritma? Komputer itu kan pintar? Perlu kamu tahu bahwa komputer hanya akan menerima perintah dari kita. Jadi kita bisa menginstruksikan komputer dengan bahasa komputer.

“Komputer itu tidak berguna. Mereka hanya bisa memberikan jawaban.” 

[Pablo Picasso]

Contohnya ketika kamu mau makan. Kamu memerlukan beberapa tindakan untuk makan. Dari mulai mencuci tangan; menyiapkan piring, nasi, dan lauk pauk; hingga makan. Itulah beberapa contoh proses atau urutan langkah algoritma dalam kehidupan sehari-hari.

Setiap orang mempunyai urutan langkah yang berbeda karena setiap orang mempunyai algoritmanya masing-masing. Itulah yang menjadi ciri khas algoritma di kehidupan sehari-hari.

Adapun manfaat dari algoritma yaitu untuk membantu seseorang dalam menyelesaikan masalah berdasarkan pada pola pikirnya masing-masing. Selain itu, algoritma juga memiliki fungsi di antaranya:

  • Memecahkan program yang rumit sehingga memungkinan adanya perhitungan tingkat tinggi.
  • Membuat sebuah program yang rumit menjadi sederhana.
  • Menggunakannya secara berulang atau lebih dari satu kali penggunaan.
  • Memudahkan dalam membuat suatu program.
  • Mengatasi permasalah yang ada secara terurut.
  • Memudahkanmu dalam mencari kesalahan. Sebab algoritma bisa mendapatkan alur dengan jelas [definiteness].
  • Memudahkanmu dalam memodifikasi program tanpa harus merubah dan mengganggu modul lainnya.

Algoritma pemrograman mempunyai ciri tersendiri yang dapat membedakannya dengan teknik pemrograman lain dalam menyelesaikan suatu masalah, berikut di antaranya sebagai:

1. Finiteness [Keterbatasan]

Finiteness atau keterbatasan berarti algoritma harus berakhir setelah mengerjakan sejumlah langkah proses. Algoritma yang sedang mengerjakan sebuah proses atau langkah mempunyai sifat terbatas, maka ia harus menghentikan apa yang sedang ia kerjakan. Program yang tidak pernah berhenti atau tidak ada batasnya merupakan program dengan berisi algoritma yang salah. Itulah mengapa algoritma harus mempunyai ciri finiteness.

Algoritma pemrograman harus memiliki output yang sesuai dengan harapan pengguna. Oleh karena itu, finiteness membantu pengguna agar algoritma sesuai dengan yang diharapkannya.

2. Input [Masukan]

Algoritma dapat memiliki  nol atau lebih masukan [input]. Masukan adalah besaran nilai yang diberikan kepada algoritma sebelum ia mulai bekerja. Misal Algoritma Z mempunyai dua buah masukan “A” dan “B, algoritma Y memiliki masukan dari algoritma “C“, atau algoritma X yang tidak memiliki input sama sekali.

3. Output [Keluaran]

Perlu kamu tahu juga bahwa algoritma juga dapat mempunyai nol atau lebih keluaran [output]. Keluaran adalah besaran nilai yang memiliki hubungan dengan masukan [input]. Keluaran tersebut tentunya harus berupa solusi atau penyelesaian dari suatu masalah. Contohnya sebuah algoritma berfungsi untuk menghitung sebuah luas persegi. Saat ia diberi input 4 maka harusnya outputnya adalah 16.

4. Definiteness [Kepastian]

Kepastian [definiteness] adalah urutan langkah yang dibuat harus jelas dan sesuai dengan tujuan. Setiap urutan harus didefinisikan secara tepat dan tidak berarti ganda [ambiguous]. Dengan kata lain, pembaca harus mengerti apa tujuan yang dimaksud. Contohnya ketika kamu membuat algoritma penghitung segitiga, pembaca harus tahu kalau yang diinputkan adalah angka bukan teks.

Contoh lain pada algoritma menghitung orang di dalam suatu ruangan berikut:

“Buatlah variabel nilai bernama value”
“Untuk menghitung total orang dalam ruangan tersebut lakukan dengan cara value + 1″

Dengan begitu, pengguna algoritma dapat dengan mudah mengerjakan dan menyelesaikannya secara pasti.

5. Effectiveness [Keefektivitasan]

Algoritma tentu harus sangkil [efektif], jadi urutan algoritma dikerjakan dalam waktu yang wajar. Dalam kata lain, algoritma efektif dan efisien. Setiap urutan atau langkah harus sesederhana mungkin, sehingga dapat dikerjakan dalam sejumlah waktu yang relatif efisien dan masuk akal. Suatu algoritma dapat dikatakan efisien jika waktu proses dari algoritma relatif lebih singkat dan penggunaan memorinya lebih sedikit.

Algoritma juga harus tepat guna lo. Walaupun terbilang sederhana, algoritma yang kamu buat harus sesuai dengan masalah yang dihadapi. Selain itu, suatu algoritma dikatakan efektif apabila ia mempunyai solusi dari permasalahan yang diselesaikan.

Jadi, jangan ada instruksi yang tidak mungkin dikerjakan oleh algoritma ya.

6. Structured [Terstruktur]

Algoritma harus terstruktur. Urutan baris langkah yang digunakan harus disusun secara sistematis. Disusun sedemikian rupa agar proses penyelesaiannya tidak kemana-mana atau berbelit-belit, sehingga memungkinkan prosesnya jadi relatif lebih singkat.

Hal ini memperlihatkan bahwa bagian dari proses tersebut dapat dibedakan dengan jelas, seperti input, proses, dan output. Dengan demikian, memudahkan kita dalam melakukan pemeriksaan ulang. 

Suatu algoritma harus menghasilkan keluaran yang tepat guna [efektif]. Ia juga harus diproses dalam waktu yang relatif singkat dengan penggunaan memori yang relatif rendah [efisien]. Berikut ini adalah sifat-sifat dari sebuah algoritma:

  1. Tidak menggunakan simbol berupa sintaks dari suatu bahasa pemrograman tertentu.
  2. Tidak mesti selalu bergantung pada bahasa pemrograman tertentu.
  3. Notasinya bersifat umum dan dapat digunakan untuk seluruh bahasa pemrograman manapun.
  4. Algoritma dapat digunakan untuk mempresentasikan kehidupan sehari-hari, seperti tindakan yang sering kamu lakukan berupa suatu pekerjaan.
  5. Tidak cukup menyelesaikan masalah dengan satu cara saja, namun harus ada pengkondisian yang masuk akal. 

Kesimpulannya, algoritma adalah metode efektif yang diekspresikan sebagai rangkaian yang terbatas. Algoritma juga merupakan kumpulan instruksi untuk menyelesaikan suatu masalah. Instruksi–instruksi ini dapat diterjemahkan secara bertahap dari awal hingga akhir.

“Program harus ditulis agar orang dapat membaca, dan hanya sesekali dijalankan oleh mesin.”

[Harold Abelson]

Setelah membaca artikel ini kamu jadi tahu “Apa saja ciri-ciri algoritma pemrograman? Beserta penjelasannya.” Terutama kamu yang ingin jago pemrograman harus memnguasai algoritma terlebih dahulu ya. Apabila ada komentar dan saran silahkan isi di kolom komentar. Terima kasih.

Simak juga yuk artikel lainnya di blog Dicoding. Inilah beberapa artikel yang berkaitan tentang algoritma, di antaranya:

6 Ciri Algoritma Pemrograman – karya Rendi Juliarto, Intern Junior Content Writer di Dicoding

Logika merupakan pengetahuan tentang kaidah berpikir berdasarkan rangkaian prinsip dan aturan. Logika pemrograman kemudian dapat diartikan sebagai serangkaian prinsip dan aturan yang dipakai manusia untuk menginstruksikan komputer melakukan tugas-tugas tertentu. Memahami logika dan cara penerapannya dalam sebuah komputer adalah kemampuan dasar yang harus dimiliki oleh seorang programmer dalam menjalankan tugasnya. Apa saja sih jenis-jenis logika pemrograman dasar yang bisa kamu pelajari mulai dari sekarang? Yuk simak dibawah ini!

Logika Kondisional

Ketika kamu mulai menulis kode, kamu pasti akan menjalankan berbagai jenis perintah dalam berbagai kondisi tertentu. Di saat seperti ini, logika kondisional adalah cara sederhana yang bisa digunakkan untuk mengecek kondisi spesifik dan menjalankan perintah berdasarkan kondisi tersebut.

Mari kita ambil contoh pernyataan kondisional dalam konteks kehidupan sehari-hari: “Jika alarm berbunyi, maka kita akan bangun dari tidur”

Saat kamu memulai koding, kamu harus memberitahu komputer nilai manakah yang benar [TRUE] dan nilai manakah yang salah [FALSE]. Dalam konteks ini, kita telah menentukan bahwa “alam berbunyi” adalah nilai benar dan “alam tidak berbunyi” adalah nilai salah. Setelah komputer yang terprogram mengidentifikasikan bahwa nilai tersebut benar, maka komputer akan melakukan tindakan yang telah diinstruksikan, yaitu “bangun dari tidur”. Tetapi ketika diketahui bahwa nilai tersebut salah atau “alam tidak berbunyi”, maka komputer akan melakukan tindakan yang berbeda atau tidak melakukan tindakan apapun.

[Penggunaan logika kondisional]

Logika Looping

Logika Looping digunakan untuk menjalankan kode atau instruksi yang sama berulang-ulang hingga kondisi terpenuhi atau jika kondisi stop/berhenti tercapai.Logika looping dapat dibagi menjadi dua kategori: Entry Controlled loops Loops yang kondisi pengujiannya diuji sebelum memasuki badan loop. Loop yang masuk kategori ini adalah Loop For dan Loop While. Loop For digunakkan ketika jumlah iterasi diketahui sebelumnya, sedangkan Loop While digunakkan ketika jumlah iterasi yang tepat tidak diketahui tetapi kondisi penghentian loop diketahui. Exit Controlled Loops Loops yang kondisi pengujiannya diuji atau dievaluasi pada akhir badan loop. Loop Do/While adalah contoh Loop yang masuk kategori ini dan digunakan ketika ada kode yang perlu dieksekusi sedikitnya sekali.

[Manual looping]

[Automatic looping]

Logika Fungsi

Bayangkan jika kamu diminta untuk menuliskan kode untuk menghitung luas persegi panjang. Jika ada tiga buah segitiga yang harus dihitung, mengulang kode tersebut sebanyak tiga kali mungkin tidak menjadi masalah. Tetapi kenyataannya, koding digunakan untuk memecahkan masalah yang kompleks. Kamu tidak akan dihadapkan pada masalah perhitungan tiga persegi panjang melainkan 100 persegi panjang di saat yang bersamaan. Disinilah pemahaman logika fungsi dapat kamu digunakan.

Fungsi adalah sebuah blok kode dalam sebuah grup untuk menyelesaikan 1 task/1 fitur. Ketika kita membutuhkan fitur tersebut nantinya, kita bisa dengan mudah kembali menggunakan kode fungsi yang sudah kita buat. Jika kita mengembangkan aplikasi dengan skala besar, fungsi sangat dibutuhkan demi kemudahan pengaturan kode dan pelacakan kode jika ada permasalahan [error].

[Tanpa logika fungsi]

[Dengan logika fungsi]

Logika Operasional

Logika operasional adalah logika yang menggunakkan operator, atau simbol/ kata untuk menghubungkan dua atau lebih ekspresi untuk menghasilkan sebuah ekspresi majemuk yang mengontrol aliran program. Operator aritmatika, perbandingan dan boolean adalah tiga operator yang paling sering digunakan dalam penulisan kode pemrograman.

Operator Aritmatika

Operator yang digunakan dalam perhitungan matematis.

  • Pertambahan [+]

  • Perkurangan [-]

  • Perkalian [*]

  • Pembagian [/]

  • Modulus [%].

[Penggunaan Operator Aritmatika]

Operator Perbandingan

Operator yang digunakan untuk membandingkan nilai dengan nilai lainnya yang hasilnya adalah TRUE atau FALSE. Operator [<] atau kurang dari akan menghasilkan TRUE jika nilai di sebelah kiri lebih kecil dari nilai di sebelah kanan. Jika tidak demikian, maka akan menghasilkan FALSE. Berikut contoh operator perbandingan lainnya.

  • [>] atau Lebih besar dari

  • [>=] atau lebih besar dari atau sama dengan

  • [<=] atau kurang dari atau sama dengan

  • [===] atau sama dengan

  • [!==] atau tidak sama dengan, dan masih banyak lagi

[Penggunaan Operator Perbandingan]

Operator Boolean

Tiga operator Boolean yang sering digunakan adalah AND, OR, dan NOT. AND dan OR digunakan untuk menggabungkan dua ekspresi, sedangkan NOT digunakan sebagai operator negasi yang mengeliminasi ekspresi tertentu.

[Penggunaan operator Boolean AND [&&] dalam sebuah pernyataan conditional]

Video yang berhubungan

Video liên quan