Prog komp - history&algorithm

Post on 10-Jul-2015

221 views 1 download

Transcript of 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

3

4

•• 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

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

7

8

::

9

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------]]

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------]]

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

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

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------]]

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------]]

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------]]

Operating System (OS)Operating System (OS)

16

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

18

19

PENGERTIAN DASARLOGIKA dan ALGORITMA

22

Kuliah saja

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

4 tahun

5 tahun

Definisi Algoritma

Tahap Tahap Penyelesaian Penyelesaian

MasalahMasalah

Masalah

Model

Algoritma

Program

Eksekusi

Hasil

Data

Analisis

Analisis

Analisis

1. Ada Output

2. Efektifitas dan Efisiensi

3. Jumlah Langkahnya Berhingga

4. Berakhir

5. Terstruktur

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.“

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..

• 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

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

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

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

Start

Phi = 3.14

Input(diameter)

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

OutputLuas

Stop

34

35

36

37

38

39

40

LatihanLatihan

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

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: a.ghurri@gmail.com; dengan subject Bisa dikirim via email: a.ghurri@gmail.com; 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: a.ghurri@gmail.com; dengan subject Bisa dikirim via email: a.ghurri@gmail.com; dengan subject

email: Tugas Progkom.email: Tugas Progkom.

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.

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

43

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?

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.

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.

47

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

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.

49