Prog komp - history&algorithm

49

Transcript of Prog komp - history&algorithm

Page 1: Prog komp - history&algorithm
Page 2: Prog komp - history&algorithm

•• Tujuan perkuliahanTujuan perkuliahan: : MahasiswaMahasiswa memahamimemahami prinsipprinsip dasardasar bekerjanyabekerjanya

komputer,komputer, dandan mengetahuimengetahui komponenkomponen dasardasardalamdalam sistemsistem komputerkomputer..

MahasiswaMahasiswa mampumampu membuatmembuat algoritmaalgoritma dalamdalambentukbentuk diagramdiagram aliralir (flow(flow chart)chart) dandan dapatdapatmengonversikannyamengonversikannya dalamdalam salahsalah satusatu bahasabahasapemrogramanpemrograman dasardasar komputerkomputer..

•• MK memiliki beban 2 SKSMK memiliki beban 2 SKS, akan disampaikan dalam , akan disampaikan dalam perkuliahan di kelas dan praktek pemrograman perkuliahan di kelas dan praktek pemrograman menggunakan Turbo Pascalmenggunakan Turbo Pascal & MATLAB& MATLAB. .

2

Page 3: Prog komp - history&algorithm

3

Page 4: Prog komp - history&algorithm

4

Page 5: Prog komp - history&algorithm

•• Komputer: Komputer: alat hitungalat hitung, “tukang” hitung, “tukang” hitung•• Alat penghitung misalnya: mistar hitungAlat penghitung misalnya: mistar hitung•• Cara perhitungan manual, menimbulkan Cara perhitungan manual, menimbulkan

“error” “error” bagaimana meminimalisasibagaimana meminimalisasi•• Proses/langkah perhitungan (computerized):Proses/langkah perhitungan (computerized):AdaAda deskripsideskripsi masalahmasalahAlgoritmaAlgoritma (alur(alur berfikir)berfikir)MenentukanMenentukan parameterparameter yangyang ada/dicariada/dicariPerhitunganPerhitunganHasilHasil

5

Page 6: Prog komp - history&algorithm

LangkahLangkah--langkahlangkah yangyang samasama untukuntuk problemproblemserupa/samaserupa/sama

DataData dandan algoritmaalgoritma dimasukkandimasukkan keke dalamdalam komputerkomputer PerhitunganPerhitungan dilakukandilakukan dengandengan cepatcepat dandan tepat/presisitepat/presisi

PeralatanPeralatan elektronikaelektronika Dapat menerima input data, mengolah data dan Dapat menerima input data, mengolah data dan

memberikan informasi;memberikan informasi; Menggunakan program yang tersimpan dalam memori;Menggunakan program yang tersimpan dalam memori; Dapat menyimpan program dan hasil pengolahannyaDapat menyimpan program dan hasil pengolahannya Bekerja secara otomatisBekerja secara otomatis

6

Page 7: Prog komp - history&algorithm

7

Page 8: Prog komp - history&algorithm

8

Page 9: Prog komp - history&algorithm

::

9

Page 10: Prog komp - history&algorithm

10

Alat bantu perhitungan matematis kuno (abacus, sempoa)Alat bantu perhitungan matematis kuno (abacus, sempoa); 300 BC; 300 BC

Napier’s bones Napier’s bones teknologiteknologi u melakukan perkalian melalui proses u melakukan perkalian melalui proses penambahan (logarithms); John Napier, 1617.penambahan (logarithms); John Napier, 1617.

[[------dalam penjelasan ini banyakdalam penjelasan ini banyak bagian sejarah komputer yang terlewatkanbagian sejarah komputer yang terlewatkan------]]

Page 11: Prog komp - history&algorithm

11

Slide rule (England, 1632); masih digunakan oleh engineerSlide rule (England, 1632); masih digunakan oleh engineer NASA sampai NASA sampai tahun 1960tahun 1960--anan

Mesin penghitung dengan penggerak roda gigi Mesin penghitung dengan penggerak roda gigi calculating clock; calculating clock; Wilhelm Schickard, 1623;Wilhelm Schickard, 1623; sudah pernah dikonsep oleh Leonardo da Vinci sudah pernah dikonsep oleh Leonardo da Vinci (1452(1452--1519).1519).

[[------dalam penjelasan ini banyakdalam penjelasan ini banyak bagian sejarah komputer yang terlewatkanbagian sejarah komputer yang terlewatkan------]]

Page 12: Prog komp - history&algorithm

12Computer punch card (1801~Computer punch card (1801~))

[[------dalam penjelasan ini banyakdalam penjelasan ini banyak bagian sejarah komputer yang terlewatkanbagian sejarah komputer yang terlewatkan------]]

Page 13: Prog komp - history&algorithm

13

The Harvard Mark I (electro mechanical computer); Harvard & IBM, 1944; 5 The Harvard Mark I (electro mechanical computer); Harvard & IBM, 1944; 5 tons, 500 mile kabel, tinggi 8 kaki, panjang 51 kaki, digerakkan oleh electric tons, 500 mile kabel, tinggi 8 kaki, panjang 51 kaki, digerakkan oleh electric motor 5 hp.motor 5 hp.

[[------dalam penjelasan ini banyakdalam penjelasan ini banyak bagian sejarah komputer yang terlewatkanbagian sejarah komputer yang terlewatkan------]]

Page 14: Prog komp - history&algorithm

14

Apple I, 1976, $600.Apple I, 1976, $600.

[[------dalam penjelasan ini banyakdalam penjelasan ini banyak bagian sejarah komputer yang terlewatkanbagian sejarah komputer yang terlewatkan------]]

Page 15: Prog komp - history&algorithm

15

Wiring dalam komputer Wiring dalam komputer silicon chip silicon chip microchipmicrochipDst, dst …Dst, dst …

Komputer generasi masa kini; yangKomputer generasi masa kini; yang kita gunakan saat ini!kita gunakan saat ini!

[[------dalam penjelasan ini banyakdalam penjelasan ini banyak bagian sejarah komputer yang terlewatkanbagian sejarah komputer yang terlewatkan------]]

Page 16: Prog komp - history&algorithm

Operating System (OS)Operating System (OS)

16

Page 17: Prog komp - history&algorithm

17

OS, sometimes called the OS, sometimes called the executiveexecutive. In computer . In computer science, the software responsible for science, the software responsible for controlling the controlling the allocation and usage of hardware resources allocation and usage of hardware resources such as such as memory; central processing unit (CPU) time, disk memory; central processing unit (CPU) time, disk space, and peripheral devices. The OS is the space, and peripheral devices. The OS is the foundation on which applications, such as wordfoundation on which applications, such as word--processing and spreadsheet programs, are built.processing and spreadsheet programs, are built.

Popular OS Popular OS Windows, Mac OS, Linux, Windows, Mac OS, Linux, UbuntuUbuntu,,Unix, DOSUnix, DOS

MobileMobile OSOS iOSiOS,, Android,Android, WindowsWindows Phone,Phone, BB,BB,FirefoxFirefox OS,OS, TizenTizen,, SymbianSymbian

Page 18: Prog komp - history&algorithm

18

Page 19: Prog komp - history&algorithm

19

Page 20: Prog komp - history&algorithm

PENGERTIAN DASARLOGIKA dan ALGORITMA

Page 21: Prog komp - history&algorithm
Page 22: Prog komp - history&algorithm

22

Kuliah saja

+ Organisasi+ Skill (komputer, program, otomotif, dsb)+ Bahasa asing+ Communication skill

4 tahun

5 tahun

Page 23: Prog komp - history&algorithm

Definisi Algoritma

Page 24: Prog komp - history&algorithm
Page 25: Prog komp - history&algorithm

Tahap Tahap Penyelesaian Penyelesaian

MasalahMasalah

Masalah

Model

Algoritma

Program

Eksekusi

Hasil

Data

Analisis

Analisis

Analisis

Page 26: Prog komp - history&algorithm

1. Ada Output

2. Efektifitas dan Efisiensi

3. Jumlah Langkahnya Berhingga

4. Berakhir

5. Terstruktur

Page 27: Prog komp - history&algorithm

Suatu Algoritma yg terbaik (The Best):“Suatu algoritma harus menghasilkan

output yg tepat guna (efektif) dlm waktu yg relatif singkat & penggunaan memori yg relatif sedikit (efesien) dgn langkah yg berhingga & prosedurnya berakhir baik

dlm keadaan diperoleh suatu solusi ataupun tdk ada solusinya.“

Page 28: Prog komp - history&algorithm

SebuahSebuah prosedurprosedur ketikaketika akanakan mengirimkanmengirimkan suratsuratkepadakepada temanteman::

1.1. TulisTulis suratsurat padapada secariksecarik kertaskertas suratsurat2.2. AmbilAmbil sampulsampul suratsurat atauatau amplopamplop3.3. MasukkanMasukkan suratsurat keke dalamdalam amplopamplop4.4. TutupTutup amplopamplop suratsurat dengandengan lemlem perekatperekat5.5. TulisTulis alamatalamat suratsurat ygyg dituju,dituju, jikajika tdktdk ingat,ingat, lebihlebih

dahuludahulu ambilambil bukubuku alamatalamat && caricari alamatalamat ygyg dituju,dituju, lalulalutulistulis alamatalamat tsbtsb pdpd amplopamplop suratsurat..

6.6. TempelkanTempelkan perangkoperangko padapada amplopamplop suratsurat7.7. BawaBawa suratsurat keke kantorkantor pospos utkutk diserahkandiserahkan pdpd pegawaipegawai

pospos atauatau menujumenuju keke bisbis suratsurat untukuntuk memasukkanmemasukkansuratsurat keke dlmdlm kotak/biskotak/bis suratsurat..

Page 29: Prog komp - history&algorithm

• Menggunakan bahasa natural (Bahasa manusia: Indonesia, Inggris)

Kelemahannya masih sering membingungkan (ambigu) / sulit dipahami.

• Menggunakan FlowchartBaik karena alur algoritma dapat dilihat secara visual, tetapi repot

pembuatannya jika algoritma panjang

• Menggunakan PseudocodeSudah dekat dengan bahasa pemrograman, tetapi sulit dimengerti oleh orang yang belum tahu pemrograman

Page 30: Prog komp - history&algorithm

Tahap Analisa Algoritma

1. Bagaimana merencanakan algoritma

2. Bagaimana menyatakan suatu algoritma (menulis algoritma)

3. Bagaimana validitas suatu algoritma.

4. Bagaimana Menganalisa suatu Algoritma.

5. Bagaimana Menguji Program dari suatu Algoritma

Page 31: Prog komp - history&algorithm

Ad.1. Bagaimana merencanakan algoritma

Dengan Mendefinisikan masalah.

Contoh : Permasalahan menghitung luas lingkaran, dengan data yang diketahui adalah diameter lingkaran.

Rumus : ∏ . r2 dengan Phi = 3.14 atau 22/7

Page 32: Prog komp - history&algorithm

Ad.2. Bagaimana menyatakan suatu algoritma (menulis algoritma)

– Dengan psudocodeSuatu cara penulisan algoritma agar ide dan logika dari algoritma dapat disampaikan/ diekspresikan menggunakan gaya bahasa pemrograman tertentu.

Phi 3.14

Input (diameter)

Radius diameter / 2

Luas phi * radius * radius

Output (Luas)

End

Page 33: Prog komp - history&algorithm

Start

Phi = 3.14

Input(diameter)

Radius = diameter/2Luas = phi * radius * radius

OutputLuas

Stop

Page 34: Prog komp - history&algorithm

34

Page 35: Prog komp - history&algorithm

35

Page 36: Prog komp - history&algorithm

36

Page 37: Prog komp - history&algorithm

37

Page 38: Prog komp - history&algorithm

38

Page 39: Prog komp - history&algorithm

39

Page 40: Prog komp - history&algorithm

40

LatihanLatihan

Bila bilangan A negatif, tambahkan 3 pada A. Jika tidak, kurangi 3 dari A.

Page 41: Prog komp - history&algorithm

41

Tugas Tugas 22Buatlah algoritma dalam bentuk flow chart Buatlah algoritma dalam bentuk flow chart yang mengandung yang mengandung instruksi bersyaratinstruksi bersyarat::1.1. Berkaitan masalah keseharian anda (misalnya memilih mata Berkaitan masalah keseharian anda (misalnya memilih mata

kuliah, motor/mobil mogok, ban kempes, menentukan kuliah, motor/mobil mogok, ban kempes, menentukan aktivitas liburan, masalah keuangan, dsb.) aktivitas liburan, masalah keuangan, dsb.)

2.2. Untuk memecahkan persamaan Fisika (gerak jatuh bebas, Untuk memecahkan persamaan Fisika (gerak jatuh bebas, gerak peluru, konversi satuan, dsb.) atau persamaan gerak peluru, konversi satuan, dsb.) atau persamaan Matematika yang sudah anda pelajari.Matematika yang sudah anda pelajari.

Catatan:Catatan:-- Dikumpulkan paling lambat Dikumpulkan paling lambat 26 26 Maret Maret 20120144 boleh diketik atau boleh diketik atau

tulis tangan.tulis tangan.-- Pilihlah kasus anda sendiriPilihlah kasus anda sendiri--sendiri. Jika ada jawaban yang sendiri. Jika ada jawaban yang

sama, nilai akan dibagi sesuai banyaknya jawaban yang sama.sama, nilai akan dibagi sesuai banyaknya jawaban yang sama.-- Bisa dikirim via email: [email protected]; dengan subject Bisa dikirim via email: [email protected]; dengan subject

email: Tugas Progkom.email: Tugas Progkom.

Tugas Tugas 22Buatlah algoritma dalam bentuk flow chart Buatlah algoritma dalam bentuk flow chart yang mengandung yang mengandung instruksi bersyaratinstruksi bersyarat::1.1. Berkaitan masalah keseharian anda (misalnya memilih mata Berkaitan masalah keseharian anda (misalnya memilih mata

kuliah, motor/mobil mogok, ban kempes, menentukan kuliah, motor/mobil mogok, ban kempes, menentukan aktivitas liburan, masalah keuangan, dsb.) aktivitas liburan, masalah keuangan, dsb.)

2.2. Untuk memecahkan persamaan Fisika (gerak jatuh bebas, Untuk memecahkan persamaan Fisika (gerak jatuh bebas, gerak peluru, konversi satuan, dsb.) atau persamaan gerak peluru, konversi satuan, dsb.) atau persamaan Matematika yang sudah anda pelajari.Matematika yang sudah anda pelajari.

Catatan:Catatan:-- Dikumpulkan paling lambat Dikumpulkan paling lambat 26 26 Maret Maret 20120144 boleh diketik atau boleh diketik atau

tulis tangan.tulis tangan.-- Pilihlah kasus anda sendiriPilihlah kasus anda sendiri--sendiri. Jika ada jawaban yang sendiri. Jika ada jawaban yang

sama, nilai akan dibagi sesuai banyaknya jawaban yang sama.sama, nilai akan dibagi sesuai banyaknya jawaban yang sama.-- Bisa dikirim via email: [email protected]; dengan subject Bisa dikirim via email: [email protected]; dengan subject

email: Tugas Progkom.email: Tugas Progkom.

Page 42: Prog komp - history&algorithm

42

Catatan:o Dalam kurikulum Teknik Mesin UNUD, ada 2

mata kuliah yang berhubungan denganpemrograman komputer, yaitu: Pemrograman Komputer Computational Fluid Dynamics (CFD) =

Komputasi Dinamika Fluida.o Pemrograman Komputer bersifat

pengenalan dan masih level basic/dasar.o CFD MK Pilihan untuk konsentrasi Konversi

Energi, hanya sampai kasus 2D.

Page 43: Prog komp - history&algorithm

ContohContoh--contoh hasil dari program CFDcontoh hasil dari program CFD

43

Page 44: Prog komp - history&algorithm

44

Gambar di atas menunjukkan aliran fluida di belakang benda berbentuk silinder bulat misalnya: tiang jembatan, menara, gedung berbentuk bulat, cerobong, dsb.

Bisakah kita menghitung tekanan, kecepatan, dan sirkulasi yang terjadi di belakang silinder?

Bisakah kita membuat program menggunakan salah satu bahasa pemrograman untuk menghitung hal tersebut?

Page 45: Prog komp - history&algorithm

45

Distribusi tekanan aliran melintasi silinder bulat. Besarnya tekanan dinyatakan dengan warna yang berbeda.

Distribusi kecepatan aliran melintasi silinder bulat. Besarnya kecepatan dinyatakan dengan warna yang berbeda.

Silinder bulat

Silinder bulat

Gambar di atas merupakan visualisasi aliran melintasi silinder bulat. Warna-warna menyatakan besarnya kecepatan dan tekanan, yang merupakan hasil penyelesaian persamaan aliran fluida (perhitungan numerik) yang rumit dan kompleks.

Untuk kasus 2 dimensi (2D), kasus tersebut bisa menggunakan bahasa pemrograman komputer, misalnya FORTRAN, namun membutuhkan pemrograman yang rumit dan sulit.

Page 46: Prog komp - history&algorithm

46

Gambar di atas menunjukkan hasil visualisasi dan penyelesaian perhitungan numerik aliran melintasi silinder bulat 3 dimensi (3D).

Penyelesaian secara langsung menggunakan pemrograman komputer menjadi terlalu panjang dan rumit.

Pada level ini, penyelesaiannya dilakukan menggunakan suatu bahasa pemrograman yang sudah dalam bentuk paket program siap pakai dengan menu-menu yang lebih user-friendly.

Page 47: Prog komp - history&algorithm

47

Gambar di atas menunjukkan penyelesaian perhitungan numerik aliran melintasi belokan pipa 3D.

Page 48: Prog komp - history&algorithm

48

Bisakah pemrograman komputer sederhana bisa membuat simulasi pengujian aerodinamika mobil balap di atas?

Simulasi dalam gambar di atas dilakukan menggunakan paket program yang merupakan sebuah konstruksi sangar besar pemrograman yang secara khusus didesain untuk tujuan yang tertentu (dalam kasus di atas untuk simulasi aliran fluida).

Contoh program untuk aliran fluida (disebut computational fluid dynamics, CFD): ANSYS, STAR CCD+, Comsol, dll.

Page 49: Prog komp - history&algorithm

49