Struktur Data Review Algoritma, Pemrograman Presented by Rijal Fadilah, S.Si
Algoritma •
Informal : mendefinisikan dilaksanakan
seperangkat langkah yg bagaimana suatu pekerjaan
•
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 menggambarkan alir program.
yang
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
Inisialisasi / pemberian nilai awal
PROCESS
Proses / pengolahan data
INPUT / OUTPUT DATA
Input / output data
SUBPROGRAM
Sub program
Bagan, Nama & Fungsi Bagan
Nama
Fungsi
DECISION
Seleksi atau kondisi
ON PAGE CONNECTOR
Penghubung baganbagan flowchart dalam halaman yang sama
OFF PAGE CONNECTOR
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 ya Sisa bagi = 0 ? tidak GANJIL
SELESAI
GENAP
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