Struktur Data Review Algoritma, Pemrograman Presented by Rijal Fadilah, S.Si
Algoritma Informal : seperangkat langkah yg mendefinisikan bagaimana suatu pekerjaan dilaksanakan Algoritma : suatu kumpulan perintah yg jelas, tentang langkah-langkah yg dilaksanakan untuk menjelaskan suatu aktivitas yg terbatas.
Program Sebelum sebuah mesin dapat melakukan suatu pekerjaan, algoritma untuk melaksanakan pekerjaan tersebut harus disusun dan disajikan dalam bentuk yang kompatibel dengan mesin tersebut. Representasi yang kompatibel dengan mesin dari suatu algoritma disebut Program
Bahasa Pemrograman Teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer. Layaknya bahasa manusia, setiap bahasa memiliki tata tulis dan aturan tertentu. Bahasa pemrograman memfasilitasi seorang programmer untuk secara spesifik apa yang akan dilakukan oleh komputer selanjutnya, bagaimana data tersebut disimpan dan dikirim, dan apa yang akan dilakukan apabila terjadi kondisi yang variatif.
Bahasa Pemrograman Tingkat Rendah Bahasa pemrograman generasi pertama. Sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin. Disebut juga dengan bahasa assembly merupakan bahasa dengan pemetaan satu persatu terhadap instruksi komputer. Setiap intruksi assembly diterjemahkan dengan menggunakan assembler
Bahasa Pemrograman Tingkat Menengah Penggunaan instruksi telah mendekati bahasa sehari-hari, walaupun masih cukup sulit untuk dimengerti karena menggunakan singkatansingkatan seperti STO yang berarti simpan (STORE) dan MOV yang artinya pindah (MOVE). Yang tergolong dalam bahasa ini adalah Fortran
Bahasa Pemrograman Tingkat Tinggi Mempunyai ciri-ciri mudah dimengerti karena kedekatannya terhadap bahasa sehari-hari. Sebuah pernyataan program diterjemahkan kepada sebuah atau beberapa mesin dengan menggunakan compiler. Sebagai contoh adalah : JAVA, C++,.NET
Fase Pemecahan Masalah G. Polya (1945) Fase 1. Pahami permasalahan yg dihadapi. Fase 2. Susun rencana utk memecahkan masalah. Fase 3. Laksanakan rencana Fase 4. Evaluasi solusi yg didapatkan utk memastikan keakuratannya & utk menjajaki potensinya sbg alat utk memecahkan masalahmasalah lainnya.
Dalam Konteks Program Fase 1. Pahami permasalahan yg dihadapi Fase 2. Pahami bgmn sebuah prosedur algoritmik mungkin dpt memecahkan masalah ini Fase 3. Rumuskan algoritma tsb & representasikan algoritma tsb sbg program Fase 4. Evaluasi program tsb utk memastikan keakuratannya & utk menjajaki potensinya sbg alat utk memecahkan masalah lain.
Flowchart Serangkaian bagan-bagan yang menggambarkan alir program. Flowchart atau diagram alir memiliki baganbagan yang melambangkan fungsi tertentu.
Bagan, Nama & Fungsi Bagan Nama Fungsi TERMINATOR Awal atau akhir program FLOW Arah aliran program PREPARATION PROCESS INPUT / OUTPUT DATA Inisialisasi / pemberian nilai awal Proses / pengolahan data Input / output data SUBPROGRAM Sub program
Bagan, Nama & Fungsi Bagan Nama Fungsi DECISION Seleksi atau kondisi ON PAGE CONNECTOR OFF PAGE CONNECTOR Penghubung baganbagan flowchart dalam halaman yang sama Penghubung baganbagan flowchart pada halaman yang beda
Flowchart Flowchart selalu diawali dan diakhiri oleh bagan terminator. Aliran selalu dari atas ke bawah, satu demi satu langkah. Tidak ada proses yang dikerjakan bersamaan, semua dikerjakan satu persatu
Flowchart Proses yang dilakukan komputer sebenarnya hanya ada 3 proses: input, proses data dan output. Dengan demikian, ketika ada suatu masalah yang akan diselesaikan dengan suatu software, maka hal yang perlu diidentifikasi adalah input, proses data dan output.
Flowchart Misal Masalah 1: bagaimana menentukan bahwa suatu bilangan itu adalah bilangan genap atau ganjil? Input : bilangan, bilangan bulat. Proses : menentukan bilangan ganjil atau genap dengan melakukan pembagian bilangan dengan bilangan 2. Jika sisa pembagian NOL maka bilangan tersebut genap, sebaliknya ganjil. Output : Bilangan Ganjil atau Bilangan Genap
Flowchart MULAI Masukkan Bilangan Bulat Bilangan dibagi 2 dgn operasi sisa bagi Sisa bagi = 0? GANJIL tidak ya GENAP SELESAI
Prinsip yg harus diperhatikan Tidak ada bagan yang menggantung Percabangan hanya ada 2 dengan indikasi Ya dan Tidak. Ya untuk menyatakan bahwa kondisi dipenuhi, Tidak untuk menyatakan sebaliknya Selalu diawali dengan Mulai dan Selesai atau Start dan Stop dengan bagan terminator Memanfaatkan konektor yang sesuai jika flowchart akan dibagi menjadi beberapa bagian Gunakan bahasa sederhana pada bagan yang digunakan
Program dan Bahasa Pemrograman Program sederhana yang pernah dibuat Tujuan dari program dibuat? Untuk menyelesaikan masalah apa? Bagaimana flowchart dari program tersebut? Bahasa pemrograman apa yang digunakan? Tipe data yang digunakan dalam program tersebut? Syntax / listing dari program yang dijalankan Apakah program tersebut menjawab permasalahan awal?
Pertemuan Berikutnya Rekursif, Iterasi, Backtracking