01.1 Algoritma dan Bahasa Pemrograman.

Slides:



Advertisements
Presentasi serupa
ALGORITMA 3 April Pseudocode Flowchart #3 STIKOM.
Advertisements

Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1.
KONSEP BAHASA PEMROGRAMAN
DASAR-DASAR PEMROGRAMAN C
1 Algoritma Bahasa Pemrograman dan Bab 1.1. Pengertian Algoritma.
Algoritma Dasar Dalam membuat suatu program komputer, menyusun algoritma adalah langkah pertama yang harus dilakukan Dalam membuat algoritma dapat digunakan.
INSTRUKSI MASUKAN DAN KELUARAN
Pemrograman Berorientasi Objek Bab 1 – Pemrograman Terstruktur.
Fungsi Lecture 7. Motivation Complexity of programming problem  more difficult to consider the solution as a whole  clue: dividing the problem into.
Dasar Pemrograman Komputer [TKL-4002] 2010
Statement Input – Output
Pertemuan Operasi Seleksi
1 Diselesaikan Oleh KOMPUTER Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. ALGORITMA.
IT234 - Algoritma dan Struktur Data Ramos Somya. Asal kata Algoritma berasal dari nama seorang ilmuan Persian yang bernama Abu Ja’far Mohammed lbn Musa.
1 Pertemuan Pengantar Bahasa C Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
1 Pertemuan 1 Pengenalan Pemrograman Terstruktur C Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: xxx/2.
Dosen: TIM PENGAJAR PTIK
PENGERTIAN DASAR ALGORITMA & FLOWCHART
Mahasiswa diharapkan dapat:
Algoritme dan Pemrograman
Analisis dan desain Algoritma (PG157)
Elemen Dasar C++ Norma Amalia, ST.,M.Eng.
PERTEMUAN 1 Algoritma & Pemrograman
ANALISA DAN DESAIN ALGORITMA
Bahasa Pemrograman dasar
Pertemuan 2.
Flowchart (Diagram Alur)
Pengantar C++.
Elemen Dasar C Identifier :
Pertemuan 1 Pengenalan Bahasa C++.
Algoritma dan Struktur Data 1 pertemuan 4
INPUT DAN OUTPUT OLEH: SRI SUPATMI,S.KOM.
Konsep Dasar Pemrograman Komputer
KONSEP DASAR PEMROGRAMAN KOMPUTER DAN Algoritma
Algoritma.
Bab & 7.3 NESTED LOOP Array 1 Dimensi 273.
Struktur Program Minimal
Pertemuan 4 PROGRAMMING LANGUAGE.
Pertemuan 2 (Perkenalan Bahasa C) .:: Erna Sri Hartatik ::.
Pertemuan 1 (Perkenalan Bahasa C) .:: Nurul Fuad, S.Kom., M.Kom.::.
penyusunan algoritma (flowchart)
Algoritme dan Pemrograman
STRUKTUR DASAR PROGRAM
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.
Pseudocode – Tipe Data, Variabel, dan Operator
PEMROGRAMAN PASCAL ELEMEN PEMROGRAMAN PASCAL.
Review Algoritma Pemrograman dan Pengantar Pemrograman Bahasa C
TEL 2112 Dasar Komputer & Pemrograman
Bagian 3 Unsur-unsur kode program Borlan C++
TEL 2112 Dasar Komputer & Pemrograman
02.1 Hari-2.
Algoritme dan Struktur Data
Teori Pendukung Introduction to Algorithm 01.
01.3 Hari-1 Sesi-3 Desain Algoritma.
Pertemuan 2 Rismayuni.
JENIS DAN SIMBOL FLOWCHART PRODI MIK | FAKULTAS ILMU-ILMU KESEHATAN
Mata Kuliah : ALGORITMA dan STRUKTUR DATA 1.
01.1 Algoritma dan Bahasa Pemrograman.
Bahasa Pemrograman Poltek Balikpapan 2010.
Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman
DIAGRAM ALUR (FLOWCHART)
LOGIKA DAN ALGORITMA Erizal, S.Si, M.Kom Sistem Informasi STTI Respati
Pertemuan 2 Pengantar Pemrograman
MATERI 1 Review dan Pengantar C (Struktur Bahasa C, Variabel, Konstanta, Tipe Data, Operator)
Nested if 164.
Pengantar Pemrograman Bahasa C
IT234 ALGORITMA DAN STRUKTUR DATA
Operator, Variabel, Konstanta, Tipe Data
Algoritma dan struktur data
Transcript presentasi:

01.1 Algoritma dan Bahasa Pemrograman

Mata Kuliah : ALGORITMA dan Struktur Data-1

01.1 Algoritma, Program, Bahasa Pemrograman dan KOMPUTER

apakah Algoritma itu ?

sulitkah Algoritma itu ?

memerlukan pengetahuan dasar apakah mempelajari Algoritma memerlukan pengetahuan dasar matematika ?

PEMIKIRAN SECARA LOGIS Algoritma hanya memerlukan PEMIKIRAN SECARA LOGIS

BERPIKIR SECARA LOGIS adalah milik semua orang

Algorithms + Data Structures = PROGRAMS Niklaus Wirth Eidgenossische Technische Hochschule Zurich, Switzerland

Dalam pelajaran Algoritma, Tugas / Pekerjan Tersebut adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas / pekerjaan Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan BENAR dan Efisien. Dalam pelajaran Algoritma, Tugas / Pekerjan Tersebut akan diselesaikan Oleh KOMPUTER

Algoritma merupakan gabungan antara SENI dan TEKNIK Seni, karena Algoritma penuh dengan kreativitas dan imajinasi yang jenius TEKNIK, karena membuat Algoritma adalah suatu pekerjaan yang bersifat mendesain suatu rancang bangun yang efektif dan efisien.

KONSEP ALGORITMA Ciri – Ciri Algoritma Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas Setiap langkah harus di definisikan dengan tepat sehingga tidak memiliki arti ganda Memiliki masukan (input) atau kondisi awal Memiliki keluaran (output) atau kondisi akhir Algoritma harus efektif, bila diikuti harus benar-benar menyelesaikan masalah.

bagaimana membuat Algoritma itu ?

Penulisan Algoritma Dalam bahasa natural (Bahasa Indonesia, bahasa inggris, dll) Pseudocode Pseudocode mirip dengan SE. Karena kemiripan ini kadang-kadang SE dan Pseudocode dianggap sama. Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya

Contoh Dalam bahasa Natural Algoritma luas persegi panjang : Dapatkan nilai panjang Dapatkan nilai lebar Kalikan nilai panjang dan nilai lebar Simpan hasilnya dalam Luas Umumkan luasnya berapa Dalam pseudocode Algoritma luas persegi panjang : input panjang; input lebar; luas = panjang x lebar; print luas

Penulisan Algoritma Menggunakan flow chart (diagram alir) (menggambarkan urutan langkah-langkah kegiatan /program mulai dari awal sampai akhir dengan menggunakan simbol atau gambar tertentu.) Kegunaan : mendesain dan mempresentasikan program

Lambang Flowchart Terminator (mulai/selesai) Input/output Proses Decision (percabangan) Data Flow (Aliran data) Preparation (pemberian nilai awal suatu variabel) Call (memanggil prosedur/fungsi) Connector (di halaman yg sama Connector ( di halaman lain)

Mulai Print luas Selesai Input panjang Input lebar Luas = panjang * lebar Print luas Selesai

KONSEP ALGORITMA Sifat Algoritma Banyaknya Langkah Instruksi Harus Berhingga, Langkah atau Instruksi harus Jelas, Proses harus Jelas dan mempunyai batasan, Input dan Output harus mempunyai Batasan, Efektifitas, Adanya Batasan Ruang Lingkup,

Salah satu buku literatur, memberikan definisi dan kriteria sebuah algoritma sebagai berikut : An algorithm is a finite set of instructions which, if followed, accomplish a particular task. In addition every algorithm must satisfy the following criteria : 1). Input : there are zero or more quantities which are externally supplied; 2). Output : at least one quantity is produced; 3). Definiteness : each instruction must be clear and unambiguous; 4). Finiteness : if we trace out the instructions of an algorithm, then for all cases the algorithm will terminate after a finite number of steps; 5). Effectiveness : every instruction must be sufficiently basic that it can in principle be carried out by a person using only pencil and paper. It is not enough that each operation be definite as in 3), but it must also be feasible. Horowitz,Eliis and Sahni, Sartaj; FUNDAMENTAL OF DATA STRUCTUTES; Computer Science Press, Inc.; Rocville, Maryland; 1983 Baca sendiri

Secara bebas definisi diatas dapat diterjemahkan sebagai berkut : Algoritma adalah sekumpulan instruksi, yang apabila dijalankan, akan menyelesaikan suatu tugas tertentu. Sebagai tammbahan, setiap algoritma harus memenuhi kriteria sebagai berikut 1). Tidak harus ada data masukan yang dimasukkan dari luar. 2). Paling tidak ada satu buah keluaran 3) Setiap instruksi jelas maksudnya dan tidak meragukan 4). Algoritma baik secara keseluruhan maupun sub algoritma bila ditelusuri harus ada titik berhentinya. 5). Setiap instruksi selain jelas juga harus dapat dilaksanakan, dan juga efektif dalam arti harus menghasilkan sesuatu. Sebagai contoh A = A + 0 atau A = A*1, adalah termasuk instruksi yang tidak efektif. Baca sendiri

Baca sendiri for i ¬ 1 to n-1 do examine A(i) to A(n) and suppose the PSEUDO-CODE for i ¬ 1 to n-1 do examine A(i) to A(n) and suppose the smallest integer is at A(j); then interchange A(i) and A(j). end ALGORITMA for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t Horowitz,Eliis and Sahni, Sartaj; FUNDAMENTAL OF DATA STRUCTUTES; Computer Science Press, Inc.; Rocville, Maryland; 1983 Baca sendiri

Baca sendiri Procedure BINSRCH(A,n,x,j) initialize lower and upper 2). Mencari suatu nilai dalam array dengan cara Binary Search. PSEUDO-CODE Procedure BINSRCH(A,n,x,j) initialize lower and upper while there are more elements to check do let A(mid) be the middle element case : x > A(mid) : set lower to mid + 1 : X < A(mid) : set upper to mid - 1 : else : found end not found end BINSRCH Baca sendiri

Baca sendiri Procedure BINSCRH(A,n,x,j) lower ¬ 1; upper ¬ n Bila ditulis dalam bentuk algoritma: ALGORITMA Procedure BINSCRH(A,n,x,j) lower ¬ 1; upper ¬ n while lower <= upper do mid ¬ [ (lower + upper) / 2 ] case : x > A(mid) : lower ¬ mid +1 : x < A(mid) : upper ¬ 1 : else : j ¬ mid; return end j ¬ 0 Baca sendiri

Baca sendiri Pseudo Code Algoritma Untuk menunjukkan kaitan antara Pseudo Code dan Algoritma, berikut ini diperlihatkan beberapa contoh penulisan Algoritma untuk Pseudo Code yang diberikan Pseudo Code Algoritma Nilai A ditambah dengan 5 Cetak nilai A, bila nilai tersebut lebih besar dari 5 Dari dua buah nilai A dan B cetak salah satu yang terbesar A = A + 5 IF(A > 5) THEN WRITE(A) IF (A>B) THEN WRITE(A) ELSE WRITE B) Baca sendiri

Buatlah algoritma untuk menghitung keliling dan luas lingkaran Latihan Buatlah algoritma untuk menghitung keliling dan luas lingkaran Buatlah algoritma untuk menghitung luas dan volume suatu balok Buatlah algoritma untuk menghitung luas segitiga

Algoritma dan Bahasa Pemrograman

Baca sendiri ALGORITMA a. Bahasa BASIC FOR I=1 TO N-1 J = 1 for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t a. Bahasa BASIC FOR I=1 TO N-1 J = 1 FOR K=J+1 TO N IF A(K)< A(J)THEN J = K END IF NEXT K T=A(I): A(I)=A(J): A(J)=T NEXT I Baca sendiri

Baca sendiri ALGORITMA FOR I := 1 TO N-1 Begin J := 1; for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t b. Bahasa PASCAL FOR I := 1 TO N-1 Begin J := 1; FOR K := J+1 TO N IF A[K] < A[J] J := K; End; T:=A[I]; A[I]:=A[J]; A[J]:=T; Baca sendiri

Baca sendiri ALGORITMA for(I=1; I <= N-1; I++) { J = 1; for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t c. Bahasa C atau C++ for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; Baca sendiri

Baca sendiri ALGORITMA for(I=1; I <= N-1; I++) { J = 1; for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t d. Bahasa Java for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; Baca sendiri

Baca sendiri ALGORITMA for(I=1; I <= N-1; I++) { J = 1; for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t c. Bahasa C atau C++ d. Bahasa Java for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; for(I=1; I <= N-1; I++) { J = 1; for(K = J+1; K <= N; K++) if(A[K] < A[J] ) J = K; } T=A[I]; A[I]=A[J]; A[J]=T; Baca sendiri

Baca sendiri 1.3. Program Flowchart. START JUM ¬ 0 READ I ¬ 1 I ¬ I + 1 JUM ¬ JUM + 1 NIL >= 60 NIL I <= 100 WRITE JUM END yes no while if Menginput sampel 100 nilai ujian mahasiswa dan mencetak ada berapa orang mahasiswa yang lulus dari 100 sampel tersebut. Dinyatakan lulus apabila nilai ujian lebih besar atau sama dengan 60. JUM ¬ 0 I ¬ 1 WHILE I <= 100 DO READ(NIL) IF NIL >= 60 THEN JUM ¬ JUM + 1 ENDIF I ¬ I + 1 ENDDO WRITE(JUM) Baca sendiri

Baca sendiri for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do T ¬ A(I) I ¬ 1 K ¬ K + 1 A(K) < A(J) I <= N - 1 yes no For J ¬ I K ¬ J + 1 K <= N J ¬ K A(I) ¬ A(J) A(J) ¬ T if I ¬ I + 1 for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t Baca sendiri

Baca sendiri for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do T ¬ A(I) I ¬ 1 K ¬ K + 1 A(K) < A(J) I <= n - 1 no For J ¬ I K ¬ J + 1 K <= N J ¬ K A(I) ¬ A(J) A(J) ¬ T yes if I ¬ I + 1 for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t Baca sendiri

Baca sendiri Terminal, untuk menyatakan START dan END hanya sebagai tanda, tidak melakukan suatu pekerjaan khusus. Process, untuk menyatakan assignment statement I/O, Input/Output operation. untuk menyatakan proses baca (READ) dan proses tulis (WRITE) Decision, untuk menyatakan pengambilan keputusan sesuai dengan suatu kondisi. Digunakan untuk menggambarkan control statement. Garis, untuk menyatakan urutan pelaksanaan, atau alur proses. Baca sendiri

Baca sendiri Preparation, Pemberian nilai awal suatu variabel. Biasa dipakai pada bahasa COBOL, juga bahasa C. Call , Memanggil suatu subprogram (procedure, atau function) Titik connector yang berada pada halaman yang sama Titik connector yang berada pada halaman lain. Baca sendiri

Baca sendiri 1.4. Struktur Alur Algoritma. dari cara kerjanya, ada tiga macam atau tiga kategori pokok komponen instruksi dalam algoritma, yaitu : Statement adalah suatu pernyataan yang menyebabkan suatu tindakan akan dilakukan oleh komputer. Tindakan tersebut misalnya adalah tindakan untuk menghitung, menampilkan hasil, menerima input data, mengendalikan proses program dan lain sebagainya 1. Assignment Statement, 2. Input / Output Statement, dan 3. Control Statement. yang masih dapat ditambah satu macam lagi yaitu Call Statement & Return Statement (boleh ditambah/tidak) Baca sendiri

Baca sendiri 1.4. Struktur Alur Algoritma. Assignment Statement  statement yang digunakan untuk memberikan nilai ke suatu variable Menggunakan (=) sebagai assignment operator Assignment statements adalah: Variabel = expression Contoh: luas = 3.14 * radius * radius; Assignment statements Expression Variabel Assignment operator Baca sendiri

2. Statement Input – Output Adalah statement / fungsi yg digunakan untuk membaca data dari keyboard. Fungsi-fungsi yang bisa digunakan pada bahasa C++ antara lain sbb: getchar(); getche(); getch(); gets(); scanf(); scanf: Format : int scanf( const char *format [,argument]... ); Spesifikai format adalah : ”% type”

Digunakan untuk membaca Type Digunakan untuk membaca d Data integer u Data unsigned integer x Data heksadesimal e, f, g Data floating point c Single character s Karakter string yg diakhiri dengan whitespace O Data unsigned octal [ … ] Karakter string yg diakhiri dengan karakter yg tidak ada didalam [..] [^..] Karakter string yg diakhiri dengan karakter yg ada didalam [..] Semua tipe argument pada scanf adalah pointer.

Contoh : /* Program Luas_Segi_Empat */ #include <stdio.h> int Panjang,Lebar,Luas; id main() { scanf(”%d”,&Panjang); scanf(”%d”,&Lebar); Luas = Panjang * Lebar; return 0; }

Perintah scanf dapat memakai lebih dari satu argument;   Contoh : /* Program Luas Segi Empat */ #include <stdio.h> void main() { int Panjang,Lebar,Luas; scanf(“%d %d”,&Panjang,&Lebar); Luas = Panjang * Lebar; …… }

Statement Output : /** Program Luas Segi Empat **/ Statemen ini digunakan untuk menuliskan data ke layar monitor. Beberapa fungsi yang yang ada pada bahasa C antara lain: puts() putchar() printf() Contoh : /** Program Luas Segi Empat **/ #include <stdio.h> void main() { int Panjang,Lebar,Luas; /* local variable */ printf(”Panjang = ”); scanf(“%d”,&Panjang); printf(”Lebar = ‘); scanf(“%d”,&Lebar); Luas = Panjang * Lebar; printf(”Luas = %d\n”, Luas); }

printf: Mencetak / mengirim sejumlah argument menurut format ke standard output. Sintak : printf(const char *format[,argument, …]); Header file : <stdio.h> Spesifikai format sbb: %[flags][width][.precision] type type dapat diganti dengan : d atau i : signed decimal o : unsigned octal u : unsigned decimal

x : unsigned hexadecimal f : floating point e : floating point (exponent) c : single character s : string % : % character p : pointer flags dapat diganti sbb: none : right justify (rata kanan) - : left justify (rata kiri) + : untuk bilangan dimulai dgn tanda – atau + width : menentukan jumlah kolom yang disediakan precision : menentukan jumlah angka dibelakang koma (untuk bilangan pecahan)

Contoh 1 : Statement Ditampilkan di monitor printf(“%6d”,34); ….34 printf(“%-6d”,34); 34.... Contoh 2 : Statement Ditampilkan di monitor printf(“%10s”,”Muda”); ……Muda printf(“%-10s”,”Muda”); Muda.….. printf(“%6.2f”,3.14276); ..3.14 Penempatan Kursor Layar dibagi dalam kolom dan baris, umumnya digunakan ukuran kolom = 80 dan baris = 25. Layar dapat dihapus dengan menggunakan fungsi: clrscr();

#include <stdio.h> #include <conio.h> Contoh : #include <stdio.h> #include <conio.h> float P, L, Ls, Kll; /* global variable */ main() { clrscr(); /*membersihkan layar */ gotoxy(30,10); printf(”Panjang : ”); scanf(“%f”,&P); gotoxy(30,11); printf(“Lebar :” ); scanf(“%f”,&L); Kll = 2 * P * L; Ls = P * L; gotoxy(30,13); printf(“Keliling = %8.2f ”, Kll); gotoxy(30,14); printf(“Luas = %8.2f‘, Ls ); return 0; }

Baca sendiri 1.4. Struktur Alur Algoritma. Control Statement. statement yang berfungsi untuk mengendalikan proses dari program, proses ini dapat berupa proses penyeleksian kondisi atau perulangan. Statement ini dibentuk dengan diawali kata-kata kunci if, switch, for, while, do-while, goto, break, dan continue. Call Statement & Return Statement Digunakan untuk pengiriman nilai atau pemnaggilan nilai dari satu fungsi ke fungsi lainnya, pernyataan return() diikuti oleh argument yang berupa nilai yang dikirim Baca sendiri

Dilihat dari struktur alur atau urutan pelaksanaan instruksi, ada tiga macam struktur flow yaitu : Sequential flow  aliran yang dikerjakan urut sesuai dengan urutan penulisan 2. Branch flow,  aliran yang melakukan percabangan - Uncoditional Branch flow  perintah – perintah eksekusi percabangan tanpa syarat tertentu A. Simple Conditional Branch (menggunakan IF Statement) - Conditional Branch flow, (menggunakan IF-THEN Statement) atau Conditional Selection flow. (menggunakan IF-THEN-ELSE Statement) B. Multiway Conditional Branch (menggunakan CASE Statement Baca sendiri

3. Repetition flow atau Iteration flow atau Loop flow, Dilihat dari struktur alur atau urutan pelaksanaan instruksi, ada tiga macam struktur flow yaitu : 3. Repetition flow atau Iteration flow atau Loop flow, Loop adalah sekelompok instruksi yang dikerjakan secara berulang-ulang. Instruksi Loop adalah instruksi yang menyebabkan terbentuknya suatu loop. Struktur Loop adalah struktur penulisan instruksi dimana terdapat instruksi loop, yang menyebabkan sekelompok instruksi yang dikerjakan secara berulang-ulang. - Unconditional Repetition flow, Akan mengerjakan loop tanpa dipengaruhi oleh suatu kondisi tertentu. - Conditional Repetition flow. Akan mengerjakan loop berdasarkan kondisi tertentu. Berapa kali loop dikerjakan tidak dapat dipastikan, karena semata-mata tergantung kondisi tertentu

1.4.1. Struktur sequential 6) READ(A) READ(B) T ¬ A + B WRITE(T) Contoh : 1) 2) 3) 4) 5) 6) 7) for i ¬ 1 to n-1 do j ¬ i for k ¬ j+1 to n do if A(k) < A(j) then j ¬ k end t ¬ A(i); A(i) ¬ A(j); A(j) ¬ t Contoh lain: READ(A) READ(B) T ¬ A + B WRITE(T) Statement no 6) terdiri dari tiga instruksi yang dilaksanakan secara berurutan (sequential ) Ketiga instruksi ini dapat disusun sebagai berikut: Keempat instruksi ini dilaksanakan secara berurutan atau sekuen sehingga membentuk struktur sequential flow t ¬ A(i) A(i) ¬ A(j) A(j) ¬ t 6) Statement no 1) dan pasangannya no. 7), serta statement no 3) dan pasangannya no 5) adalah dua statement yang membentuk pengulangan (repitition atau loop). Sedangkan statement no 4) adalah statement pencabangan (branch).

Baca sendiri 1.4.2. Struktur Conditional Branch/Selection. Contoh : IF-THEN-ELSE Statement 1) 2) 3) 4) 5) 6) READ(A) READ(B) IF A > B THEN WRITE(A) ELSE WRIE(B) ENDIF Statement no 3, 4, 5, dan 6) membentuk struktur pencabangan tergantung kondisi apakah A>B (A lebih besar dari B). Bila A>B maka (then) yang dicetak adalah A, selainnya (else), yaitu bila A tidak lebih besar dari B yang dicetak adalah B. Disini terjadi suatu pilihan atau seleksi. Atau disini ada dua alternatif, mencetak A atau mencetak B. Sehingga struktur ini sering juga disebut struktur : Baca sendiri SELEKSI (selection), atau ALTERNASI (alternation).

1) READ(N) 2) IF N >= 60 3) THEN WRITE(“LULUS”) 4) ENDIF Contoh : IF-THEN Statement 1) 2) 3) 4) READ(N) IF N >= 60 THEN WRITE(“LULUS”) ENDIF Statement no 2, 3, dan 4) membentuk struktur pencabangan tergantung kondisi apakah N >= 60 (Nilai lebih besar atau sama dengan 60). Bila N lebih besar atau sama dengan 60, maka (then) mencetak perkataan “LULUS”, dan control dilanjutkan ke instruksi dibawah EndIf. Tapi bila N lebih kecil dari 60, maka control langsung ke instruksi dibawah EndIf, tidak mengerjakan suatu instruksi. Terlihat disini, mengerjakan sesuatu hanya bila kondisi terpenuhi. Sehingga struktur ini sering juga disebut struktur KONDISI (Condition)

Baca sendiri Contoh : CASE Statement READ(Nilai) CASE : Nilai = “A” : WRITE(“Bagus Sekali”) : Nilai = “B” : WRITE(“Bagus”) : Nilai = “C” : WRITE(“Cukup”) : Nilai = “D” : WRITE(“Kurang”) : else : WRITE(“Kurang Sekali”) EndCase atau READ(Nilai) CASE Nilai OF “A” : WRITE(“Bagus Sekali”) “B” : WRITE(“Bagus”) “C” : WRITE(“Cukup”) “D” : WRITE(“Kurang”) else : WRITE(“Kurang Sekali”) EndCase Baca sendiri

Baca sendiri 1.4.3. Struktur Loop Contoh : Unconditional LOOP Algoritma ini melaksanakan instruksi no 4 dan 5) sebanyak 100 kali, sehingga algoritma ini menginput 100 buah nilai, menghitung serta mencetak totalnya. Loop ini dikatakan unconditional, karena pengulangannya dipastikan sebanyak 100 kali, (sengaja dibuat 100 kali) tidak tergantung suatu kondisi tertentu (unconditional) 1) 2) 3) 4) 5) 6) 7) T ¬ 0 FOR I ¬ 1 TO 100 DO READ(A) T ¬ T + A ENDDO WRITE(T) Baca sendiri

Baca sendiri Contoh : Conditional LOOP 1) 2) 3) 4) 5) 6) 7) 8) 9) WHILE I <= 100 DO READ(A) T ¬ T + A I ¬ I + 1 ENDDO WRITE(T) Dalam contoh diperlihatkan bahwa loop akan dikerjakan selama nilai T lebih kecil atau sama dengan 100. Loop akan selesai bila T lebih besar dari 100. Baca sendiri

Kembali ke Pengertian ALGORITMA

Dalam pelajaran Algoritma, Tugas / Pekerjaan tersebut adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas / pekerjaan Langkah-langkah harus tersusun secara LOGIS dan Efisien agar dapat menyelesaikan tugas dengan benar dan efisien. Dalam pelajaran Algoritma, Tugas / Pekerjaan tersebut akan diselesaikan dengan menggunakan tugas ? komputer kita

tugas kita memberikan perintah komputer kepada untuk menyelesaikan adalah : memberikan perintah komputer kepada untuk menyelesaikan pekerjaan tersebut

memang dirancang untuk dapat melaksanakan yang diberikan oleh manusia komputer memang dirancang untuk dapat melaksanakan perintah yang diberikan oleh manusia Susunan perintah-perintah inilah yang disebut algoritma

KOMPUTER computare COMPUTER to compute

adalah alat pengolah data, dengan konstruksi elektronik, Mempunyai Processor contoh Intel Pentium KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya. RAM Contoh WINDOWS

Konfigurasi Komputer

MEMORY (internal Storage) Input device (external storage) RAM PROCESSOR misal : Intel Pentium SCREEN MEMORY (internal Storage) KEYBOARD Output device Input device HARDDISK (external storage) RAM misal kapasitas 64 MB Misal kapasitas 10 GB Input & Output device

laporan Input device RAM kapasitas 64 MB (external storage) PROCESSOR misal : Intel Pentium Data Program MEMORY (internal Storage) data data data laporan PROGRAM -------- KEYBOARD OPERATING SYSTEM SCREEN Input device Output device RAM misal kapasitas 64 MB Operating System HARDDISK (external storage) Misal kapasitas 10 GB Input & Output device

( Random Access Memory ) internal storage biasa disebut RAM ( Random Access Memory )

internal storage mempunyai Suatu tempat didalam komputer adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya. mempunyai internal storage Suatu tempat didalam komputer mempunyai kapasitas daya tampung

RAM (Random Access Memory) Kapasitas 64 MB (Mega Byte) Internal Storage, RAM (Random Access Memory) misal dengan Kapasitas 64 MB (Mega Byte) Daya Tampung Satuan memory

B singkatan untuk Byte 1 KB (Kilo Byte ) = 1024 Byte

B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB

B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB

B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB 1 TB (Tera Byte ) = 1024 GB

cari sendiri B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB 1 TB (Tera Byte ) = 1024 GB . . . . . . . . . . . . . . = 1024 TB

cari sendiri B Byte 1 KB (Kilo Byte ) = 1024 Byte 1 MB (Mega Byte ) = 1024 KB 1 GB (Giga Byte ) = 1024 MB 1 TB (Tera Byte ) = 1024 GB . . . . . . . . . . . . . . = 1024 TB . . . . . . . . . . . . . . = 1024 ……

Mengapa 1KB = 1024 B mengapa bukan 1000 1 kg = 1000 g 1 km = 1000 m ?

Karena komputer menggunakan bilangan biner ( binary number )

Bilangan biner x x x x x . x x x x adalah bilangan yang berbasis 2 1 , Hanya mengenal 2 macam notasi atau simbol yaitu : 0 dan 1 Setiap digit 1 , nilainya 16 8 4 2 1 0.5 0.25 0.125 0.0625 x x x x x . x x x x angka biner titik decimal (binary digit)

Setiap digit 1 , nilainya 16 8 4 2 1 0.5 0.25 0.125 0.0625 1 0 0 1 1 . 1 0 1 0 Bilangan binary ini nilainya secara decimal = 19.625 0.5 + 0.125 = 0.625 16 + 2 +1 = 19

20 21 22 23 24 25 26 27 28 29 210 2048 . 1 2 4 8 16 32 64 128 256 512 1024 2048 . mengapa ? 1024 1024 = nilai yang paling mendekati 1000 ini yang dipakai untuk kilo

Setiap satu satuan , nilainya yang biasa kita gunakan sehari-hari Bilangan decimal yaitu bilangan yang berbasis 10 mengenal 10 macam notasi atau simbol yaitu : 0, 1, 2, ……..9 Setiap satu satuan , nilainya 1000 100 10 1 0.1 0.01 0.001 x x x x . x x x titik decimal

Byte

BYTE adalah satuan memory (storage) terkecil yang masih bisa diberi alamat Satuan lain : WORD ( 4 Byte) HALF WORD ( 2 Byte) DOUBLE WORD ( 8 Byte) SECTOR (512 Byte) no: 0 1 2 3 Bila memory dianggap sebagai sebidang tanah, maka 1 BYTE dapat dianggap sebagai 1 meter persegi memory No : 64 * 1024 * 1024 - 1 (Untuk memory 64 MB) 1 BYTE = 8 bit (binary digit) X X X X X X X X 1 2 3 4 5 6 7 8

MEMORY dan satuan BYTE Memory, bila dibayangkan sebagai sebidang tanah, maka satu BYTE adalah area sebesar satu meter persegi, yang dapat menyimpan satu buah huruf Bila dibayangkan sebagai sebuah ruangan, maka satu BYTE adalah sebuah ubin yang dapat menampung sebuah huruf

RANDOM ACCESS (Akses secara Acak) 0 1 2 3 4 5 . . . . . . Komputer dapat mengakses (menuju, mencapai, mendapatkan) sebuah Byte dalam memory, secara langsung, tanpa harus menelusuri satu per satu mulai Byte 0,1,2,3, dan seterusnya. Bagi komputer, untuk mengakses Byte no 1000, sama mudahnya dengan mengakses Byte nomor 1, atau nomor lainnya

1 BYTE = 8 bit (binary digit atau angka biner) Sebuah Byte terdiri dari 8 komponen yang disebut bit. Sulit menerangkan benda yang disebut bit tersebut secara fisik. Hanya dapat diilustrasikan sebagai sebuah bohlam lampu atau bola lampu yang hanya memiliki salah satu dari 2 kondisi yaitu : menyala atau padam. Bila menyala disebut ON, dan padam disebut OFF Menurut standard ASCII Contoh sebuah huruf A bila disimpan dalam satu BYTE memory ON OFF ilustrasi sebuah BYTE yang terdiri dari 8 buah bohlam lampu.

Catatan : ON OFF disini sengaja dibuat jarak, hanya agar mudah melihat jumlah bitnya ada 8 buah.

Bit = Binary digit (angka biner) Untuk keperluan komputasi secara digital, maka : bit yang ON dinyatakan dengan angka 1, dan bit yang OFF dinyatakan dengan angka 0 Sehingga huruf A yang dinyatakan dengan ON dan OFF nya bit-bit sebagai berikut : ON OFF selanjutnya dinyatakan dengan : 0 1 0 0 0 0 0 1

Binary digit (angka biner) Bilangan Binary, Basis (Radix) = 2, karena hanya mengenal 2 notasi atau simbol yaitu: 0 dan 1 x x x x x x 32 16 8 4 2 1 Bilangan Decimal Basis (Radix) = 10, karena mengenal 10 notasi atau simbol yaitu : 0, 1, 2, 3, . . . 9 x x x x 1000 100 10 1

Binary digit (angka biner) Nilai decimal 1 1 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 1 = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9

Nilai yang terkandung dalam sebuah BYTE Setiap bit yang ON mempunyai nilai sesuai dengan posisinya dalam sebuah BYTE yang dapat digambarkan sebagai berikut : 128 64 32 16 8 4 2 1 Contoh : Bila bit-bit dalam satu Byte dinyatakan sebagai berikut : 0 0 1 1 0 1 0 1 32 16 4 1 maka nilai numerik yang tersimpan = 53 ( = 32 + 16 + 4 + 1 )

Nilai karakter A Ilustrasi huruf A yang disimpan dalam suatu BYTE 128 64 32 16 8 4 2 1 Yang dinyatakan dengan angka biner (binary digit) menjadi : 128 64 32 16 8 4 2 1 0 1 0 0 0 0 0 1 Sehingga karakter A, atau huruf A yang disimpan dalam satu BYTE memory akan bernilai = 65 karena bit yang ON bernilai 64 dan 1.

A B C D E HURUF atau KARAKTER : = 65 = 66 = 67 = 68 = 69 128 64 32 16 8 4 2 1 A B C D E = 65 = 66 = 67 = 68 = 69

Operating System (Sistem Operasi)

Operating System (Sistem Operasi) KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya. Operating System (Sistem Operasi)

Operating System adalah software yang dibuat untuk mengendalikan bekerjanya komputer. Semua pekerjaan didalam komputer dikendalikan (di-control) oleh Operating System Beberapa Contoh Operating System : DOS WINDOWS WINDOWS NT UNIX LINUX XENIX MACINTOSH SUN SOLARIS

PROGRAM

PROGRAM KOMPUTER adalah alat pengolah data, dengan konstruksi elektronik, yang mempunyai, internal storage bekerja dengan bantuan Operating System menurut program yang diberikan kepadanya. PROGRAM

yang diberikan kepada komputer untuk menyelesaikan suatu tugas PROGRAM adalah kumpulan instruksi-instruksi yang diberikan kepada komputer untuk menyelesaikan suatu tugas Instruksi-instruksi harus tersusun secara logis = Langkah-langkah dalam Alagoritma Memerlukan LOGIKA yang benar

PROGRAM ditulis dalam suatu bahasa yang disebut Bahasa Pemrograman (Programming Language) Contoh Bahasa Pemrograman : COBOL FORTRAN Pascal BASIC C Java dan sebagainya Bahaca C ini yang kita gunakan untuk menerapkan Algoritma di komputer

memperkenalkan Algoritma melalui soal-soal praktis Learning Algorithms by practical ways

persoalan-1

Mencari Total dua buah bilangan (Misal dua buah bilangan tersebut masing masing bernilai 5 dan 4). diselesaikan dengan menggunakan KALKULATOR diselesaikan dengan menggunakan SIPOA, SWIPOA, SEMPOA diselesaikan dengan menggunakan KOMPUTER

Bila diselesaikan dengan komputer menggunakan EXCEL Menggunakan program yang dibuat sendiri Suatu program yang sudah jadi, dibuat oleh orang lain, yang siap untuk kita gunakan

Kita akan membuat program sendiri

1a Mencari Total dua buah bilangan (Misal dua buah bilangan tersebut masing masing bernilai 5 dan 4). Persoalan ini, bila akan diselesaikan dengan program komputer, maka bunyi kalimatnya dapat diganti menjadi : Soal 1a Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun program yang ditulis dalam Bahasa C / C++, untuk mencetak total kedua buah bilangan tersebut.

tercetak : 9 tercetak : 9 Soal-1a B ¬ 4 T ¬ A + B WRITE(T) Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma yang ditulis dalam dalam Bahasa C/C++, untuk mencetak total kedua buah bilangan tersebut. Algoritma secara Umum Algoritma dalam Bahasa C Algoritma dalam Bahasa C++ A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } tercetak : 9 tercetak : 9

B ¬ 4 B = 4 T ¬ A + B T = A + B WRITE(T) WRITE(T) Algoritma secara Umum Dapat diganti misal : A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) A diisi 5 A = 5 B = 4 T = A + B WRITE(T) Dapat ditulis secara bebas asal dapat dimengerti oleh orang lain Dapat diganti, misalnya dengan : WRITE T PRINT ( T ) PRINT T CETAK T TULIS T Print T Write T dan sebagainya asal dipahami Seperti yang dicontohkan dalam buku literatur

ALGORITMA adalah langkah-langkah yang diambil dalam KEMBALI KE : ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) ADA 4 LANGKAH

ALGORITMA adalah langkah-langkah yang diambil dalam menyelesaikan suatu tugas atau pekerjaan Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah : KOMPUTER A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) ADA 4 LANGKAH Satu langkah identik dengan satu instruksi komputer

ALGORITMA adalah INSTRUKSI-INSTRUKSI SEHINGGA DAPAT DIKATAKAN : ALGORITMA adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan Komputer memang dirancang untuk dapat menerima dan melaksanakan instruksi yang diberikan kepadanya

Tidak disiapkan alat untuk menerjemahkan ALGORITMA tersebut menjadi Komputer hanya mengerti bahasanya sendiri yang disebut BAHASA MESIN ALGORITMA adalah INSTRUKSI-INSTRUKSI yang diberikan kepada KOMPUTER untuk menyelesaikan suatu pekerjaan Direncanakan yang menyelesaikan tugas atau pekerjaan tersebut adalah : KOMPUTER A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) ALGORITMA YANG DITULIS SEPERTI INI , TIDAK DIPAHAMI OLEH KOMPUTER karena Tidak disiapkan alat untuk menerjemahkan ALGORITMA tersebut menjadi BAHASA MESIN

#include<stdio.h> void main() { int A,B,T; A = 5; B = 4; Algoritma secara Umum Algoritma dalam Bahasa C Algoritma dalam Bahasa C++ A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } TIDAK DIMENGERTI OLEH KOMPUTER DIMENGERTI OLEH KOMPUTER karena Sudah disiapkan atau disediakan ALAT PENERJEMAH nya menjadi BAHASA MESIN

Algoritma dalam Bahasa C Algoritma dalam Bahasa C++ #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T); } #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } Agar dapat diterjemahkan menjadi BAHASA MESIN, maka ALGORITMA harus ditulis dalam suatu Bahasa Pemrograman (Programming Language) Contoh : Bahaca C

B ¬ 4 T ¬ A + B WRITE(T) Algoritma Algoritma dalam secara Umum Soal-1a Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma yang ditulis dalam dalam Bahasa C untuk mencetak total kedua buah bilangan tersebut. Algoritma secara Umum Algoritma dalam Bahasa C #include<stdio.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; printf(“%i”, T ); } A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) Variabel perlu didefine/ dideklarasi/ lebih dulu Variabel tidak didefine/ dideklarasi/ dinyatakan/ dipesan lebih dulu VARIABLE -------------- VARIABEL - Tipe (Type) - Nama - Isi Mewakili ALAMAT (address)

B ¬ 4 T ¬ A + B WRITE(T) Algoritma Algoritma dalam secara Umum Soal-1a Diketahui dua buah bilangan masing- masing bernilai 5 dan 4. Susun algoritma yang ditulis dalam dalam Bahasa C++, untuk mencetak total kedua buah bilangan tersebut. Algoritma secara Umum Algoritma dalam Bahasa C++ #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } A ¬ 5 B ¬ 4 T ¬ A + B WRITE(T) Variabel perlu didefine/ dideklarasi/ lebih dulu Variabel tidak didefine/ dideklarasi/ dinyatakan/ dipesan lebih dulu VARIABLE -------------- VARIABEL - Tipe (Type) - Nama - Isi Mewakili ALAMAT (address)

Mengetik, dan menjalankan Program di Komputer

9 5 + 4 = 9 C PU MEMORY 5 4 9 windows 2 A B T 4 2 3 C compiler 1 C #include<iostream.h> void main() { int A,B,T; A=5; B=4; T=A+B: cout << T; } 5 + 4 = 9 C PU MEMORY xxxxxx #include<iostream.h> void main() { int A,B,T; A = 5; B = 4; T = A + B; cout << T; } 2 5 4 9 9 A B T 4 SCREEN KEYBOARD 2 3 C compiler windows 1 C compiler Windows HARDDISK

01.2 program dalam Bahasa C / C++ Bersambung ke : 01.2 program dalam Bahasa C / C++