TUGAS LANJUTAN

1. Apa yang disebut dengan algoritma?
2. Bagaimanakah cici-ciri algoritma yang baik?
3. Jelas cara menuliskan algoritma dengan:
- Deskripsi
-Flowchart(bagan alir)
-Pseudocode
4. Tuliskan algoritma untuk membuat Segelas Kopi, semangko Mie Rebus
5. Jelaskan Symbol-symbol algortima dalam bentuk flowchat berikut
6.Tuliskan algoritma untuk mengitung luas persegi panjang (Luas=panjang * lebar) dalam bentuk
- Deskripsi
-Flowchart(bagan alir)
-Pseudocode
7.Apa perbedaan dalam mempelajari PEMROGRAMAN dan BAhasa PEMROGRAMAN
8. Sebutkan ciri-ciri program yang baik?(sebutkan dan jelaskan)
JAWABAN
1. Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah, terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan. Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.
Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan masalahnya mempunyai kompleksitas yang tinggi.
2. Ciri algoritma yang baik menurut Donald E.Knuth:
• Input: ada minimal 0 input atau lebih
• Ouput: ada minimal 1 output atau lebih
• Definite: ada kejelasan apa yang dilakukan
• Efective: langkah yang dikerjakan harus efektif
• Terminate: langkah harus dapat berhenti (stop) secara jelas
3. 1. NOTASI ALAMI
Penulisan algoritma dengan notasi alami adalah dengan cara menuliskan instruksi-instuksi yang harus dilaksanakan untuk memecahkan masalah dalam bentuk untaian kalimat deskriptif.
Dengan notasi bergaya kalimat ini, deskripsi setiap langkah dijelaskan dengan bahasa yang gamblang. Proses diawali dengan kata kerja seperti ‘baca’, ‘hitung’, ‘bagi’, ‘ganti’, dan sebagainya, sedangkan pernyataan kondisional dinyatakan dengan ‘jika…maka…’. Notasi ini bagus untuk algoritma yang pendek, namun untuk masalah yang algoritmanya besar, notasi ini jelas tidak efisien. Selain itu, pengkonversian notasi algoritma ke notasi bahasa pemrograman cenderung relative sukar.
2. FLOWCHART / DIAGRAM ALUR
Ada 2 jenis Flowchart :
1. flowchart sistem, adalah suatu gambar yang menjelaskan :
- file-file yang diproses oleh program
- jenis piranti yang digunakan oleh file
- operasi terhadap file (masukan ataupun keluaran).
2. flowchart program (biasa disebut flowchart saja), adalah suatu gambar yang menjelaskan urutan :
- Pembacaan data
- Pemrosesan data
- Pengambilan keputusan terhadap data
- Penyajian hasil pemrosesan data
Nah….yang kita bahas disini adalah flowchart program atau biasa disebut flowchart saja.
Flowchart/Diagram Alur popular pada awal-awal era pemrograman dengan komputer (terutama dengan bahasa Basic, Fortran, dan Cobol). Diagram alur lebih menggambarkan aliran instruksi di dalam program secara visual dibanding memperlihatkan struktur program. Notasi diagram alur lebih cocok digunakan untuk masalah yang kecil, untuk masalah yang besar tidak cocok digunakan karena membutuhkan berlembar halaman kertas. Selain itu, pengkonversian notasi algoritma ke bahasa pemrograman cenderung relatif sukar.
Simbol-simbol pada flowchart
Untuk mulai/akhir:
Simbol ini dinamakan terminator, digunakan untuk menyatakan MULAI (START) dan SELESAI (END) suatu algoritma.
Untuk input:
Manual input merupakan KOTAK MASUKAN yang digunakan untuk membaca data yang diberikan oleh usernya. Jadi user mengimput suatu harga/variable/nilai.
Data merupakan KOTAK DATA yang digunakan untuk membaca dan menampilkan data. Contoh aplikasinya yaitu jika kita ingin kita ingin mengetahui saldo tabungan kita pada mesin ATM, ATM hanya tinggal membaca data yang ada.
Untuk proses:
Proses merupakan KOTAK PENUGASAN untuk melakukan perhitungan matematika yang hasilnya diberikan sebagai suatu variable.
Decision merupakan KOTAK KEPUTUSAN untuk memutuskan arah atau percabangan yang diambil sesuai dengan kondisi yang saat itu terjadi. Hanya ada 2 keputusan yaitu BENAR atau SALAH.
Untuk output:
Kotak ini selain untuk input, digunakan juga untuk output. Digunakan untuk menampilkan data.
Dokumen merupakan KOTAK KELUARAN untuk menampilkan / mencetak / menyimpan hasil(keluaran).
Simbol-simbol lain yang digunakan antara lain:
Simbol Aliran Panah.
Connector merupakan SIMBOL PENGHUBUNG, untuk penghubung bila diagram alur terputus tapi masih dalam halaman yang sama.
Off-page connector merupakan SIMBOL PENGHUBUNG, untuk penghubung bila diagram alur terputus disebabkan misalnya oleh pergantian halaman (tak cukup digambar 1 halaman).
3. PSEUDO-CODE
Pseudo-code adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi, khususnya Pascal dan C. Bahasa pemrograman umumnya mempunyai notasi yang hampir mirip untuk beberapa instruksi seperti notasi if-then-else, while-do, repeat-until, read, write, dan sebagainya. Namun tidak seperti bahasa pemrograman yang direpotkan dengan tanda titik koma, indeks, format keluaran, kata-kata khusus, dan sebagainya, sembarang versi Pseudo-code dapat diterima asalakan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi Pseudo-code adalah kemudahan mentranslasi ke notasi bahasa pemrograman, karena terdapat korespodensi antara setiap Pseudo-code dengan notasi bahasa pemrograman. Sehingga Pseudo-code cocok untuk algoritma yang rumit.
CONTOH KASUS
Buatlah algoritma untuk menghitung luas persegi panjang dengan ketiga notasi algoritma diatas?
Jawab.
1. Notasi Alami
- Dapatkan nilai panjang
- Dapatkan nilai lebar
- Kalikan nilai panjang dengan nilai lebar dan berikan nilainya kehasil
- Tampilkan nilai hasil
2. Flowchart
4.
5.
6. Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. Kode ini ditulis dalam berbagai bahasa pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat melakukan suatu perhitungan atau ‘pekerjaan’ sesuai dengan keinginan si pemrogram. Untuk dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi standar untuk memerintah komputer. Bahasa pemrograman ini merupakan suatu set 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 secara persis yang akan diambil dalam berbagai situasi.Bahasa pemrogramanKomputer adalah mesin yang dapat melaksanakan seperangkat perintah dasar (instruction set). Komputer hanya dapat diberi perintah yang terdiri dari perintah-perintah dasar tersebut. Perintah-perintah yang lebih rumit (misalnya mengurutkan suatu daftar sesuai abjad) harus diterjemahkan menjadi serangkaian perintah-perintah dasar yang dapat dimengerti komputer (perintah-perintah yang termasuk dalam instruction set komputer tersebut) yang pada akhirnya dapat mennyelesaikan tugas yang diinginkan, meskipun dijalankan dengan beberapa operasi dasar, bukan satu operasi rumit.Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses komputasi umumnya didefinisikan secara formal menggunakan konsep matematika dari Mesin Turing. Pada dasarnya bahasa Pemrograman dirancang untuk memfasilitasi komunikasi antara manusia dengan komputerSebuah bahasa pemrograman disebut Turing Complete jika dapat dipergunakan untuk mendeskripsikan semua komputasi yang dapat dilakukan Mesin Turing, yaitu memiliki variable integer dan operator aritmatik, pernyataan penugasan, pernyataan sekuensial, pernyataan seleksi, dan pernyataan iterasi
8. Algoritma sebagai kumpulan langkah-langkah dikatakan sebagai algoritma yang baik jika memiliki kriteria sebagai berikut:
1. setiap langkah yang ada pada algritma harus definite (jelas dan pasti). Sebagai contoh jika n mod 2 = 1 maka n adalah bilangan ganjil. Ini adalah sebuah pernyataan yang jelas dan pasti. Berbeda dengan pernyataan ganjil ?. Pernyataan yang kedua adalah pernyataan yang tidak jelas karena tidak didefinisikan apakah yang ganjil.
2. algoritma atau program minimal memiliki sebuah output. Program atau algoritma yang tidak memiliki output tidak akan dapat diketahui hasil dari penyelesaian masalah.
3. Harus ada stoping criteria yaitu kondisi yang membuat program tersebut berhenti. Jika program tidak memiliki stoping criteria maka program tidak dapat berhenti yang dapat mengakibatkan komputer hang.

Komentar

Postingan populer dari blog ini

BAHASA INDONESIA 1 (Kalimat Efektif)

Mesin Turing

Algoritma Dijkstra