390 likes | 955 Views
Algoritma dan Struktur Data. Pengenalan Algoritma. Daftar Isi. Algoritma Langkah Algoritma , Contoh Flowchart Aturan , Simbol Pseudocode Konvensi Program Contoh , Algoritma vs Program Pascal Struktur Dasar , Tipe Data , Variabel , Konstanta , Operator
E N D
Algoritma dan Struktur Data Pengenalan Algoritma
Daftar Isi • Algoritma Langkah Algoritma, Contoh • Flowchart Aturan, Simbol • Pseudocode Konvensi • Program Contoh, Algoritma vs Program • PascalStruktur Dasar, Tipe Data, Variabel, Konstanta, Operator • Struktur dasar Algoritma, Flowchart dan Pemrograman
Algoritma • Suatu metode khusus yang terdiri dari serangkaian langkah terstruktur dan ditulis secara sistematis di dalam menyelesaikan suatu masalah • Prosedur komputasi yang terdefinisi yang mengambil nilai atau sekumpulan nilai sebagai input, dan menghasilkan nilai atau sekumpulan nilai sebagai output.
Algoritma • Lima ciri penting algoritma • Selesai dalam jumlah langkah terbatas • Tidak memiliki arti ganda • Memiliki nol atau lebih input • Memiliki nol atau lebih output • Efektif • Implementasi Algoritma • Langkah-langkah proses atau prosedur → Kalimat • Skema proses atau prosedur → Pseudocode
Langkah Penyelesaian Masalah • Pendefinisianmasalah • Analisis Algoritma • menentukan variabel-variabel yang digunakan • menentukan teknik penyelesaiannya misalnya : dengan rumus • Penulisan algoritma dan/atau flowchart • Ubah algoritma/ flowchart ke bahasa pemrograman • Pengujiankebenaran (test & debugging) • Dokumentasi
Contoh Algoritma Contoh : - Algorithma ketika seseorang menelpon : 1. Mengangkat gagang telepon, dan mendengarkan nada panggil 2. Memutar nomor telepon yang dituju 3. Apakah ada jawaban ? a. Jika ada jawaban, tanyakan apakah yang dituju ada ? a1. Jika ada, lakukan pembicaraan a2. Jika tidak ada, titip pesan dan tutup pembicaraan b. Jika tidak ada jawaban, kerjakan langkah 4 4. Letakkan gagang telepon
Tahapan Pemecahan Masalah Algoritma Translasi Program dalam Bahasa Tingkat Tinggi Kompilasi Program dalam Bahasa Mesin Interpretasi oleh CPU Operasi (Baca, tulis, hitung, perbandingan, dll)
Flowchart • Diagram alir yang menunjukkan aliran proses suatu algoritma • Contoh program yg biasanya digunakan oleh analis/developer: • Power Designer • Contoh program yg biasanya digunakan oleh end user: • Visio
Aturan di dalam membuat Flowchart • Jalannya proses dibuat sesingkat-singkatnya. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit-belit (dihilangkan) • Rangkaian proses yang sama digambarkan sekali saja • Jalannya proses digambarkan dari atas ke bawah, dan dari kiri ke kanan, dan diberi arah panah • Sebuah flowchart diawali dengan “Mulai” (Start) dan diakhiri dengan “Selesai” (Stop)
Simbol dalam Flowchart(1) Proses - Menunjukkan suatu proses/pengolahan - Digunakan untuk melambangkan : - perhitungan - perubahan nilai variabel Operasi I/O - Menunjukkan operasi input/ouput - Digunakan untuk melambangkan : - menunggu input/masukan - mengeluarkan output/keluaran
Simbol dalam Flowchart(2) Persiapan (Preparation) - Menunjukkan suatu persiapan - Digunakan untuk melambangkan : - memberikan nilai awal pada var - permulaan dari suatu perulangan Keputusan (Decision) - Menunjukkan proses pembuatan kepu- tusan - Digunakan untuk melambangkan : - suatu pilihan/percabangan (ya/tidak)
Simbol dalam Flowchart(3) Terminal (Terminator) - Digunakan untuk menunjukkan awal dan akhir suatu program/flowchart Penghubung (Connector) - Digunakan sebagai penghubung antar simbol yang terpisah (dalam 1 hal) Penghubung Antar Halaman (Offpage Connector) - Digunakan sebagai penghubung antar simbol yang terpisah (antar hal)
Simbol dalam Flowchart(4) Modul (Module) - Menunjukkan suatu proses yang telah ditentukan - Dapat berupa suatu : - Prosedur (Procedure) - fungsi (Function) Panah (Arrow) - Menunjukkan arah dari suatu proses
Pseudocode • Kode semu yang digunakan untuk menuliskan algoritma agar lebih jelas (mudah dipahami) • Berbeda dengan kode real (program) tapi hampir menyerupai bahasa program
Konvensi Pseudocode • Indentasi digunakan untuk menandai struktur blok. • Komentar ditulis untuk memperjelas baris pseudocode • Pseudocode dinomori untuk setiap instruksinya • Mengabaikan detail teknis penulisan sintaks kode.
Konvensi Pseudocode • Kepala algoritma • Terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut • Deklarasi • Mendefinisikan semua nama (konstanta, peubah, tipe, prosedur atau fungsi) yang dipakai dalam algoritma • Deskripsi • Berisi uraian langkah-langkah penyelesaian • Komentar ditulis diantara tanda kurung “{“ dan “}” atauy “//”
Program • Instruksi/perintah yang dimasukkan ke komputer dan diterjemahkan oleh compiler agar bisa dieksekusi oleh komputer. • Instruksi/perintah mempunyai syntax tertentu tergantung dr bhs pemrograman (walau hampir sama)
Algoritma vs Program • Algoritma menekankan pada logika penyelesaian masalah dan mengabaikan aturan (sintaks) baku penulisan kode program. • Program merupakan instruksi dengan aturan (sintaks) penulisan yang baku agar dapat dieksekusi oleh komputer.
Bahasa Pemrograman • Bahasa pemrograman dibagi atas 2 (dua) golongan yaitu: • Bahasa tingkat rendah ( low level languages ) • sedikit/tanpa abstraksi, “dekat dgn hardware” • tanpa interpreter atau compiler • contoh: bahasa mesin (machine code), Assembly • Bahasa tingkat tinggi ( high level languages ) • bahasa yang berorientasi pada bahasa manusia (natural language) • abstraksi kuat, lebih mudah digunakan, bisa portable lintas OS & hardware • perlu interpreter atau compiler • contoh: Pascal, C++,dsb
Contoh Bahasa Pemrograman • Banyak macam bahasa pemrograman/scripting: • Contoh Pemrograman Desktop: • C++,Pascal/Delphi,C#,Java,VB • Contoh Pemrograman Web: • Server: ASP, ASP.NET (VB.NET/C#), PHP, Java Servlet, • Client: Javascript • Contoh Scripting: • Perl, Python, RoR (Ruby on Rail), Shell Scripting
Pascal • Bahasa pemrograman Pascal diciptakan oleh Niklaus Wirth. Bahasa Pascal adalah salah satu dari bahasa tingkat tinggi. • Komputer hanya mengenal kode 0 dan 1 (kode binary), sehingga diperlukan sebuah alat untuk melakukan penerjemahan. • Penerjemah sebuah bahasa pemrograman ke dalam bentuk kode binary disebut dengan istilah interpreter atau kompiler. • Kompiler yang biasanya digunakan untuk bahasa Pascal yaitu Turbo Pascal, Borland Pascal, Free Pascal.
Struktur Dasar Pascal • Statement program • Menyatakan nama program, misal program exec; • Statement uses • menyertakan file tertentu (crt.pas, math.pas) yang mengandung fungsi-fungsi dasar Pascal, misal uses crt, math; • Deklarasi global • Terdiri dari deklarasi konstanta (const), variabel (var), prosedur (procedure), fungsi (function). Bersifat global shg bisa diakses oleh semua bagian program • Bagian utama program • bagian pokok dari struktur program/kendali utama program
Tipe Data • Tipe data dasar/primitif: • Integer (bilangan bulat) • Integer, Byte, ShortInt, LongInt, Word • Float (bilangan desimal) • Real, Single, Double, Extended • Char (karakter) • Boolean • True,False • String (rangkaian karakter)
Variabel • Variabel (Variable) adalah penampung data di memori, nilai yg bisa ditampung tergantung dari Tipe Data. • Di Pascal, deklarasi variabel: • [nama variabel]: [tipe data] • Contoh: • var • isValid: boolean; • Sentence: string; • Number: int;
Konstanta • Variabel yang mempunyai nilai yang selalu tetap / tidak dapat diubah setelah dideklarasikan selama pengeksekusian program • Di Pascal, deklarasi konstanta: • const [nama_konstanta] = [nilai_konstanta]; • Contoh • const pi = 3.14; • Const kata = 'ini konstanta';
Operator • Simbol yg menentukan operasi (misal pada variabel) yg dilakukan dlm suatu expression (perintah) • Contoh operator: • Aritmatika :+ - * div • Logika (boolean): true false or and not • Relasi : == <> < > <= >= • Assignment : := • Akses member : . • dsb
Struktur dasar Algoritma, Flowchart dan Pemrograman • Runtunan (Sequence) • Pemilihan atau Keputusan (Selection or Decision) • Pengulangan atau Iterasi (Looping or Iteration) • Pencacah (Counter)