algoritma 1

53
Algoritma dan Pemrograman I NOPI RAMSARI, S.Si, M.T POLITEKNIK PIKSI GANESHA BANDUNG 2012

Upload: pedrosadhiend

Post on 25-Apr-2015

69 views

Category:

Documents


14 download

DESCRIPTION

Algoritma Semester1

TRANSCRIPT

Page 1: algoritma 1

Algoritma dan Pemrograman I

NOPI RAMSARI SSi MT

POLITEKNIK PIKSI GANESHA BANDUNG

2012

Pengertian ndash Pengertian (AP1-1)

2

Tujuan Instuksional Umumldquo Mahasiswa mampu mendefinisikan Algoritma dan

Pemrograman serta mengenal berbagai jenis bahasa pemrogramanldquo

Tujuan Instruksional khusus Mengenal asal pengertian algoritma dan pemrograman Mengenal jenis penulisan logika pemrograman Mengenal berbagai tata cara penulisan logika Mampu menyebutkan dan mengelompokan bahasa

pemrograman kedalam tingkatan bahasa pemrograman Mampu menyebutkan bahasa pemrograman dan

kegunaannya

Pengertian Algoritma dan Pemrograman

3

Ilustrasi

Bagaimana caranya agar mobil dan pengemudi sampai di tujuan

Pengertian Algoritma dan Pemrograman

4

Dari gambar ilustrasi Berapa kemungkinan penyelesaian jalan yang

dilalui (buat tanda panah sebagai petunjuk arah) Anggap satu kemungkinan yang dipilih tuliskan

tahapan yang harus dilalui Dari tahapan yang dibuat apakah menyelesaikan

masalah

Pengertian Algoritma dan Pemrograman

5

bull Dari pertanyaan yang diajukan ada suatu hipotesa ndash Untuk menyelesaikan suatu permasalahan pasti

harus memiliki alur yang jelas dan tepatndash Dari alur yang dibuat pasti susunan tahapan

tersusun secara sistematis dan hirarkisndash Susunan sistematis dan hirarkis pasti dapat

menyelesaikan masalah tertentu

bull Keyakinan yang didapat ndash Setiap menyelesaikan masalah harus

menggunakan cara-cara sistematis terstruktur dan hirarkis

ndash Cara-cara tersebut harus bisa dituliskan secara benar dan masuk akal (Metode Ilmiah)

Pengertian Algoritma dan Pemrograman

6

Bagaimana karateristik komputer

Komputer terdiri dari rangkaian elektronik IC Kawat Tembaga mainboard dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (ANDOR NAND NOR dll)

Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE FLASE

Aliran data berupa dijit biner 1 dan 0 yang tersusun sesuai instruksi

Instruksi dibuat secara sistematis dan hirarkis dan masuk akal (sesuai logika)

Question Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 2: algoritma 1

Pengertian ndash Pengertian (AP1-1)

2

Tujuan Instuksional Umumldquo Mahasiswa mampu mendefinisikan Algoritma dan

Pemrograman serta mengenal berbagai jenis bahasa pemrogramanldquo

Tujuan Instruksional khusus Mengenal asal pengertian algoritma dan pemrograman Mengenal jenis penulisan logika pemrograman Mengenal berbagai tata cara penulisan logika Mampu menyebutkan dan mengelompokan bahasa

pemrograman kedalam tingkatan bahasa pemrograman Mampu menyebutkan bahasa pemrograman dan

kegunaannya

Pengertian Algoritma dan Pemrograman

3

Ilustrasi

Bagaimana caranya agar mobil dan pengemudi sampai di tujuan

Pengertian Algoritma dan Pemrograman

4

Dari gambar ilustrasi Berapa kemungkinan penyelesaian jalan yang

dilalui (buat tanda panah sebagai petunjuk arah) Anggap satu kemungkinan yang dipilih tuliskan

tahapan yang harus dilalui Dari tahapan yang dibuat apakah menyelesaikan

masalah

Pengertian Algoritma dan Pemrograman

5

bull Dari pertanyaan yang diajukan ada suatu hipotesa ndash Untuk menyelesaikan suatu permasalahan pasti

harus memiliki alur yang jelas dan tepatndash Dari alur yang dibuat pasti susunan tahapan

tersusun secara sistematis dan hirarkisndash Susunan sistematis dan hirarkis pasti dapat

menyelesaikan masalah tertentu

bull Keyakinan yang didapat ndash Setiap menyelesaikan masalah harus

menggunakan cara-cara sistematis terstruktur dan hirarkis

ndash Cara-cara tersebut harus bisa dituliskan secara benar dan masuk akal (Metode Ilmiah)

Pengertian Algoritma dan Pemrograman

6

Bagaimana karateristik komputer

Komputer terdiri dari rangkaian elektronik IC Kawat Tembaga mainboard dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (ANDOR NAND NOR dll)

Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE FLASE

Aliran data berupa dijit biner 1 dan 0 yang tersusun sesuai instruksi

Instruksi dibuat secara sistematis dan hirarkis dan masuk akal (sesuai logika)

Question Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 3: algoritma 1

Pengertian Algoritma dan Pemrograman

3

Ilustrasi

Bagaimana caranya agar mobil dan pengemudi sampai di tujuan

Pengertian Algoritma dan Pemrograman

4

Dari gambar ilustrasi Berapa kemungkinan penyelesaian jalan yang

dilalui (buat tanda panah sebagai petunjuk arah) Anggap satu kemungkinan yang dipilih tuliskan

tahapan yang harus dilalui Dari tahapan yang dibuat apakah menyelesaikan

masalah

Pengertian Algoritma dan Pemrograman

5

bull Dari pertanyaan yang diajukan ada suatu hipotesa ndash Untuk menyelesaikan suatu permasalahan pasti

harus memiliki alur yang jelas dan tepatndash Dari alur yang dibuat pasti susunan tahapan

tersusun secara sistematis dan hirarkisndash Susunan sistematis dan hirarkis pasti dapat

menyelesaikan masalah tertentu

bull Keyakinan yang didapat ndash Setiap menyelesaikan masalah harus

menggunakan cara-cara sistematis terstruktur dan hirarkis

ndash Cara-cara tersebut harus bisa dituliskan secara benar dan masuk akal (Metode Ilmiah)

Pengertian Algoritma dan Pemrograman

6

Bagaimana karateristik komputer

Komputer terdiri dari rangkaian elektronik IC Kawat Tembaga mainboard dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (ANDOR NAND NOR dll)

Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE FLASE

Aliran data berupa dijit biner 1 dan 0 yang tersusun sesuai instruksi

Instruksi dibuat secara sistematis dan hirarkis dan masuk akal (sesuai logika)

Question Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 4: algoritma 1

Pengertian Algoritma dan Pemrograman

4

Dari gambar ilustrasi Berapa kemungkinan penyelesaian jalan yang

dilalui (buat tanda panah sebagai petunjuk arah) Anggap satu kemungkinan yang dipilih tuliskan

tahapan yang harus dilalui Dari tahapan yang dibuat apakah menyelesaikan

masalah

Pengertian Algoritma dan Pemrograman

5

bull Dari pertanyaan yang diajukan ada suatu hipotesa ndash Untuk menyelesaikan suatu permasalahan pasti

harus memiliki alur yang jelas dan tepatndash Dari alur yang dibuat pasti susunan tahapan

tersusun secara sistematis dan hirarkisndash Susunan sistematis dan hirarkis pasti dapat

menyelesaikan masalah tertentu

bull Keyakinan yang didapat ndash Setiap menyelesaikan masalah harus

menggunakan cara-cara sistematis terstruktur dan hirarkis

ndash Cara-cara tersebut harus bisa dituliskan secara benar dan masuk akal (Metode Ilmiah)

Pengertian Algoritma dan Pemrograman

6

Bagaimana karateristik komputer

Komputer terdiri dari rangkaian elektronik IC Kawat Tembaga mainboard dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (ANDOR NAND NOR dll)

Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE FLASE

Aliran data berupa dijit biner 1 dan 0 yang tersusun sesuai instruksi

Instruksi dibuat secara sistematis dan hirarkis dan masuk akal (sesuai logika)

Question Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 5: algoritma 1

Pengertian Algoritma dan Pemrograman

5

bull Dari pertanyaan yang diajukan ada suatu hipotesa ndash Untuk menyelesaikan suatu permasalahan pasti

harus memiliki alur yang jelas dan tepatndash Dari alur yang dibuat pasti susunan tahapan

tersusun secara sistematis dan hirarkisndash Susunan sistematis dan hirarkis pasti dapat

menyelesaikan masalah tertentu

bull Keyakinan yang didapat ndash Setiap menyelesaikan masalah harus

menggunakan cara-cara sistematis terstruktur dan hirarkis

ndash Cara-cara tersebut harus bisa dituliskan secara benar dan masuk akal (Metode Ilmiah)

Pengertian Algoritma dan Pemrograman

6

Bagaimana karateristik komputer

Komputer terdiri dari rangkaian elektronik IC Kawat Tembaga mainboard dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (ANDOR NAND NOR dll)

Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE FLASE

Aliran data berupa dijit biner 1 dan 0 yang tersusun sesuai instruksi

Instruksi dibuat secara sistematis dan hirarkis dan masuk akal (sesuai logika)

Question Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 6: algoritma 1

Pengertian Algoritma dan Pemrograman

6

Bagaimana karateristik komputer

Komputer terdiri dari rangkaian elektronik IC Kawat Tembaga mainboard dll

Terdiri dari ribuan transistor (tergabung dalam IC) yang berisikan gerbang-gerbang logika (ANDOR NAND NOR dll)

Eksekusi dipicu dari adanya masukan (input) listrik berkisar 5 volt dan berupa TRUE FLASE

Aliran data berupa dijit biner 1 dan 0 yang tersusun sesuai instruksi

Instruksi dibuat secara sistematis dan hirarkis dan masuk akal (sesuai logika)

Question Bagaimana agar instruksi dapat dimengerti dan bisa menghasilkan keluaran (output) sesuai keinginan

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 7: algoritma 1

Pengertian Algoritma dan Pemrograman

7

Answer Harus ada instruksi yang dimengerti oleh komputer Komputer hanya terdiri dari rangkaian elektronik karena itu

hanya mengerti nilai 1 dan 0 Nilai 1 dan 0 dapat berupa rangkaian instruksi jika disusun

dengan susunan yang sistematis dan masuk akal untuk menyelesaikan masalah tertentu

Susunan masuk akal dikenal dengan istilah urutan instruksi bahasa yang dikenal oleh komputer

Karena itu pasti komputer punya bahasa dan kita harus membuat bahasa yang dimengerti oleh komputer

Bahasa tersebut dikenal dengan istilah bahasa pemrograman

Program komputer harus dibuat dengan urutan logika yang benar dan sesuai dengan masalah yang ingin diselesaikan

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 8: algoritma 1

Pengertian Algoritma dan Pemrograman

8

Urutan logika untuk menyelesaikan masalah

tertentu

Algoritma

Instruksi yang dikenal oleh komputer

Istilah

Diterjemahkan oleh bahasa pemrogramanContoh PASCAL C DELPHI dllHasil

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 9: algoritma 1

Pengertian Algoritma dan Pemrograman

9

Simpulan Algoritma urutan-urutan logis dari suatu pernyataan

untuk menyelesaikan kasus masalah tertentu Pemrograman proses penterjemahan algoritma kedalam

bahasa yang dimengerti oleh komputer Asal kata algoritma

Al-Khwārizmī Persian astronomer and mathematician

Algoritmi

algorism

Algorithm

the technique of performing basic arithmetic by writing numbers in place value form and applying a set of memorized rules and facts to the digits

calculation method

a sequence of finite instructions often used for calculation and data processing

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 10: algoritma 1

Beda Algoritma dan Program

10

112 Beda Algoritma dan Program Program adalah kumpulan pernyataan komputer sedangkan

metode dan tahapan sistematis dalam program adalah algoritma

Program ditulis dengan menggunakan bahasa pemrograman Jadi bisa disebut

bahwa program adalah suatu implementasi dari bahasa pemrograman Beberapa pakar memberi formula bahwa Program = Algoritma + Bahasa (Struktur Data) Bagaimanapun juga struktur data dan algoritma

berhubungan sangat erat pada sebuah program Algoritma yang baik tanpa pemilihan

struktur data yang tepat akan membuat program menjadi kurang baik

demikian juga sebaliknya

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 11: algoritma 1

Keuntungan Algoritma

11

Pembuatan algoritma mempunyai banyak keuntungan di antaranya

1 Pembuatan atau penulisan algoritma tidak tergantung pada bahasa

pemrograman manapun artinya penulisan algoritma independen dari

bahasa pemrograman dan komputer yang melaksanakannya

2 Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa

pemrograman 3 Apapun bahasa pemrogramannya output yang

akan dikeluarkan sama karena algoritmanya sama

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 12: algoritma 1

hal yang perlu diperhatikan dalam membuat algoritma

12

1 Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami

2 Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik

3 Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri Hal ini dikarenakan teks algoritma tidak sama dengan teks program Namun supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 13: algoritma 1

hal yang perlu diperhatikan dalam membuat algoritmaconrsquot

13

4 Notasi algoritmik bukan notasi bahasa pemrograman karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer Agar dapat dijalankan oleh komputer pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih Perlu diingat bahwa orang

yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya

5 Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 14: algoritma 1

hal yang perlu diperhatikan dalam membuat algoritmacont

14

6 Algoritma merupakan hasil pemikiran konseptual supaya dapat dilaksanakan oleh komputer algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman Ada beberapa hal yang harus diperhatikan pada translasi tersebut yaitu

a Pendeklarasian variabel Untuk mengetahui dibutuhkannya pendeklarasian

variabel dalam penggunaan bahasa pemrograman apabila tidak semua bahasa pemrograman membutuhkannya

b Pemilihan tipe data Apabila bahasa pemrograman yang akan digunakan

membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data

c Pemakaian instruksi-instruksi Beberapa instruksi mempunyai kegunaan yang sama

tetapi masingmasing memiliki kelebihan dan kekurangan yang berbeda

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 15: algoritma 1

hal yang perlu diperhatikan dalam membuat algoritmacont

15

d Aturan sintaksis Pada saat menuliskan program kita terikat

dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan

e Tampilan hasil Pada saat membuat algoritma kita tidak

memikirkan tampilan hasil yang akan disajikan Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program

f Cara pengoperasian compiler atau interpreter Bahasa pemrograman yang digunakan termasuk

dalam kelompok compiler atau interpreter

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 16: algoritma 1

Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari

16

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 17: algoritma 1

Definisi Komputer

17

Kata komputer berasal dari bahasa Latin yaitu Computare yang artinya menghitung

Dalam bahasa Inggris disebut to compute Secara definisi komputer diterjemahkan sebagai sekumpulan alat elektronik yang saling bekerja sama dapat menerima data (input) mengolah data (proses) dan memberikan informasi (output) serta terkoordinasi dibawah kontrol program yang tersimpan di memorinya Jadi cara kerja komputer dapat kita gambarkan sebagai berikut

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 18: algoritma 1

18

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 19: algoritma 1

19

1 Input Device adalah perangkat-perangkat keras komputer yang berfungsi untuk memasukkan data ke dalam memori komputer seperti keyboard mouse joystick dan lain-lain

2 Prosesor adalah perangkat utama komputer yang mengelola seluruh aktifitas komputer itu sendiri Prosesor terdiri dari dua bagian utama yaitu

bull Control Unit (CU) merupakan komponen utama prosesor yang mengontrol semua perangkat yang terpasang pada komputer mulai dari input device sampai output device

bull Arithmetic Logic Unit (ALU) merupakan bagian dari prosesor yang khusus mengolah data aritmatika (menambah mengurang dll) serta data logika (perbandingan)

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 20: algoritma 1

20

3 Memori adalah media penyimpan data pada komputer Memori ini terbagi atas dua macam yaitu bull Read Only Memory (ROM) yaitu memori yang hanya bisa dibaca saja tidak dapat

dirubah dan dihapus dan sudah diisi oleh pabrik pembuat komputer Isi ROM diperlukan pada saat komputer dihidupkan Perintah yang ada pada ROM sebagian akan dipindahkan ke RAM Perintah yang ada di ROM antara lain adalah perintah untuk membaca sistem operasi dari disk perintah untuk mencek semua peralatan yang ada di unit sistem dan perintah untuk menampilkan pesan di layar Isi ROM tidak akan hilang meskipun tidak ada aliran listrik Tapi pada saat sekarang ini ROM telah mengalami perkembangan dan banyak macamnya

a PROM (Programable ROM) yaitu ROM yang bisa kita program kembali dengan catatan hanya boleh satu kali perubahan setelah itu tidak dapat lagi diprogram

b RPROM (Re-Programable ROM) merupakan perkembangan dari versi PROM dimana kita dapat melakukan perubahan berulangkali sesuai dengan yang diinginkan

c EPROM (Erasable Program ROM) merupakan ROM yang dapat kita hapus dan program kembali tapi cara penghapusannya dengan menggunakan sinar ultraviolet

d EEPROM (Electrically Erasable Program ROM) perkembangan mutakhir dari ROM dimana kita dapat mengubah dan menghapus program ROM dengan

menggunakan teknik elektrik EEPROM ini merupakan jenis yang paling banyak digunakan saat ini

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 21: algoritma 1

21

Random Access Memori (RAM) dari namanya kita dapat artikan bahwa RAM

adalah memori yang dapat diakses secara random RAM berfungsi untuk menyimpan program yang kita olah untuk sementara waktu (power on) jika

komputer kita matikan maka seluruh data yang tersimpan dalam RAM akan hilang Tujuan dari RAM ini adalah mempercepat pemroses data pada komputer

Agar data yang kita buat tidak dapat hilang pada saat komputer dimatikan maka

diperlukan media penyimpanan eksternal seperti Disket Harddisk PCMCIA card

dan lain-lain 4 Output Device adalah perangkat komputer yang berguna untuk

menghasilkan keluaran apakah itu ke kertas (hardcopy) ke layar monitor (softcopy) atau

keluaran berupa suara Contohnya printer speaker plotter monitor dan banyak

yang lainnya

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 22: algoritma 1

Komponen-Komponen Komputer

22

1 Hardware (perangkat keras) merupakan peralatan fisik dari komputer yang dapat kita

lihat dan rasakan Hardware ini terdiri dari

1048601 InputOutput Device (IO Device)

Terdiri dari perangkat masukan dan keluaran seperti keyboard dan printer

1048601 Storage Device (perangkat penyimpanan)

Merupakan media untuk menyimpan data seperti disket harddisk CD-Idll

1048601 Monitor Screen

Monitor merupakan sarana untuk menampilkan apa yang kita ketikkan pada papan keyboard setelah diolah oleh prosesor Monitor disebut juga dengan Visual Display Unit (VDU)

1048601 Casing Unit

Casing unit adalah tempat dari semua peralatan komputer baik itu motherboard card peripheral lain dan Central Procesing Unit (CPU) Casing unit ini disebut juga dengan System Unit

1048601 Central Procesing Unit (CPU)

Central Procesing Unit adalah salah satu bagian komputer yang paling penting karena jenis prosesor menentukan pula jenis komputer Baik tidaknya suatu komputer jenis komputer harga komputer ditentukan terutama oleh jenis prosesornya Semakin canggih prosesor komputer maka kemampuannya akan semakin baik dan biasanya harganya akan semakin mahal

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 23: algoritma 1

Komponen-Komponen Komputercont

23

2 Software (perangkat lunak) merupakan program-program komputer yang berguna untuk menjalankan suatu pekerjaan sesuai dengan yang dikehendaki Program tersebut ditulis dengan bahasa khusus yang dimengerti oleh komputer Software terdiri dari beberapa jenis yaitu

1048601 Sistem Operasi seperti DOS Unix Novell OS2 Windows dll Adalah software yang berfungsi untuk mengaktifkan seluruh perangkat yang

terpasang pada komputer sehingga masing-masingnya dapat saling berkomunikasi Tanpa ada sistem operasi maka komputer tak dapat difungsikan sama sekali

1048601 Program Utility seperti Norton Utility Scandisk PC Tools dll Program utility berfungsi untuk membantu atau mengisi

kekurangankelemahan dari system operasi misalnya PC Tools dapat melakukan perintah format sebagaimana DOS tapi PC Tools mampu memberikan keterang dan animasi yang bagus dalam proses pemformatan File yang telah dihapus oleh DOS tidak dapat dikembalikan lagi tapi dengan program bantu hal ini dapat dilakukan

1048601 Program Aplikasi seperti GL MYOB Payroll dll Merupakan program yang khusus melakukan suatu pekerjaan tertentu

seperti program gaji pada suatu perusahaan Maka program ini hanya digunakan oleh bagian keuangan saja tidak dapat digunakan oleh departemen yang lain Biasanya program aplikasi ini dibuat oleh seorang programmer komputer sesuai dengan permintaankebutuhan seseoranglembagaperusahaan guna keperluan interennya

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 24: algoritma 1

Komponen-Komponen Komputercont

24

Program Paket seperti MS-Word MS-Excel Lotus 125 dll Adalah program yang disusun sedemikian rupa sehingga dapat digunakan oleh banyak orang dengan berbagai kepentingan Seperti MS-Word dapat digunakan oleh departemen keuangan untuk membuat nota atau bagian administrasi

untuk membuat surat penawaran dan lain sebagainya 1048601 Bahasa Pemrograman Pascal Fortran Clipper dBase dll Merupakan software yang khusus digunakan untuk membuat program

komputer apakah itu sistem operasi program paket dll Bahasa pemrograman ini biasanya dibagi atas 3 tingkatan yaitu 1 Low Level Language bahasa pemrograman generasi pertama bahasa

pemrograman jenis ini sangat sulit dimengerti karena instruksinya menggunakan bahasa mesin Biasanya yang mengerti hanyalah pembuatnya saja

2 Midle Level Language merupakan bahasa pemrograman tingkat menengah dimana penggunaan instruksi sudah mendekati bahasa sehari-hari walaupun begitu masih sulit untuk di mengerti karena banyak menggunakan singkatansingakatan seperti STO artinya simpan (singkatan dari STORE) dan MOV artinya pindah (singkatan dari MOVE)Yang tergolong kedalam bahasa ini adalah Assembler ForTran (Formula Translator)

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 25: algoritma 1

Komponen-Komponen Komputercont

25

3 High Level Language merupakan bahasa tingkat tinggi yang mempunyai ciri mudah dimengerti karena menggunakan bahasa sehari-hari seperti BASIC COBOL dBase dll

4 Brainware (User) adalah personil-personil yang terlibat langsung dalam pemakaian

komputer seperti Sistem analis programmer operator user dll Pada organisasi yang

cukup besar masalah komputerisasi biasanya ditangani oleh bagian khusus yang

dikenal dengan bagian EDP (Electronic Data Processing) atau sering disebut dengan

EDP Departemen yang dikepalai oleh seorang Manager EDP

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 26: algoritma 1

Jenis Penulisan Logika Pemrograman

26

1 Bahasa Natural digunakan untuk membuat algoritma yang komplek atau algoritma teknik Contoh

Buat kotak dengan sama sisi

Tentukan sisi dengan ukuran yang sama panjang

2 Pseudocode susunan yang padat dan merupakan algoritma informal untuk deskripsi high-level dengan menggunakan struktur konvensi bahasa pemrograman tetapi dalam penulisan tidak memperhatikan pemakaian subrutin (prosedur) deklarasi varabel dan kode sistem khusus Contoh

if NIM Valid then Eksekusi transkrip nilai

else tampilkan pesan kesalahan

end if

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 27: algoritma 1

Jenis Penulisan Logika Pemrograman

27

3 Flowcharts (representasi grafik) representasi algoritma dengan skema atau langkah proses yang ditunjukan dengan berbagai macam bentuk dan dikaitkan dengan arah panah

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 28: algoritma 1

Flowchart

28

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya Gambaran ini dinyatakan dengan simbol Dengan demikian setiap simbol menggambarkan proses tertentu Sedangkan antara proses digambarkan dengan garis penghubung Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 29: algoritma 1

29

Ada dua macam flowchart yang menggambarkan proses dengan komputer yaitu

1 Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain dalam suatu sistem pengolahan data

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 30: algoritma 1

30

Beberapa contoh Flowchart sistem

2 Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 31: algoritma 1

Kaidah-Kaidah Umum Pembuatan Flowchart Program

31

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama yaitu

1048601 Input 1048601 Proses pengolahan dan 1048601 Output

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 32: algoritma 1

32

Untuk pengolahan data dengan komputer urutan dasar pemecahan suatu masalah

1048601 START berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan

1048601 READ berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input

1048601 PROSES berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca

1048601 WRITE berisi pernyataan untuk merekam hasil kegiatan ke peralatan output

1048601 END mengakhiri kegiatan pengolahan

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 33: algoritma 1

33

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart namun ada beberapa anjuran

1048601 Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat

1048601 Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas

1048601 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 34: algoritma 1

34

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 35: algoritma 1

Jenis Penulisan Logika Pemrograman

35

Bahasa Pemrograman bahasa buatan yang digunakan untuk menuliskan suatu program yang mengontrol kelakuan dari mesin seperti komputer

Contoh bahasa pemrograman PASCAL

1 var2 ij integer3 4 begin5 for i=1 to row do6 begin7 for j=1 to col do8 begin9 if (i=j) then M[ij] = 110 else11 M[ij] = 012 end13 end14 end

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 36: algoritma 1

Tahapan dalam Pemrograman

36

1 Definisikan Masalah 2 Buat Algoritma dan Struktur Cara Penyelesaian 3 Menulis Program Program yang baik memiliki standar penilaian a Standar teknik pemecahan masalah - Teknik Top-Down Teknik pemecahan masalah yang paling umum

digunakan Prinsipnya adalah suatu masalah yang kompleks

dibagi-bagi ke dalam beberapa kelompok masalah yang lebih kecil

Dari masalah yang kecil tersebut dilakukan analisis Jika dimungkinkan maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian dan setelah itu mulai disusun langkah-langkah penyelesaian yang lebih detail

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 37: algoritma 1

Tahapan dalam Pemrogramancont

37

- Teknik Bottom-Up Prinsip teknik bottom up adalah pemecahan masalah yang kompleks dilakukan dengan menggabungkan prosedur-

prosedur yang ada menjadi satu kesatuan program sebagai

penyelesaian masalah tersebut b Standar penyusunan program - Kebenaran logika dan penulisan - Waktu minimum untuk penulisan program - Kecepatan maksimum eksekusi program - Ekspresi penggunaan memori - Kemudahan merawat dan mengembangkan program - User Friendly - Portability - Pemrograman modular

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 38: algoritma 1

Tahapan dalam Pemrogramancont

38

4 Mencari Kesalahan a Kesalahan sintaks (penulisan program) b Kesalahan pelaksanaan semantik logika

dan ketelitian 5 Uji dan Verifikasi Program 6 Dokumentasi Program 7 Pemeliharaan Program a Memperbaiki kekurangan yang ditemukan

kemudian b Memodifikasi karena perubahan spesifikasi

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 39: algoritma 1

Jenis Penulisan Logika Pemrograman

39

Klasifikasi Algoritma

1 Ditinjau dari Implementasi Recursion or iteration A recursive algorithm merupakan

algoritma yang dapat memanggil dirinya sendiri sampai kondisi yang ditentukan dipenuhi dikenal dengan functional programming

Logical suatu algoritma yang dapat dilihat sebagai deduksi lojik terkontrol

Serial atau parallel atau distributed algoritma yang biasanya dieksekusi dengan asumsi satu instruksi pada suatu waktu

Deterministic or non-deterministic algoritma deterministik menyelesaikan masalah dengan keputusan yang tepat pada setiap tahapannya sedangkan algoritma non-deterministic menyelesaikan masalah dengan perkiraan

Exact atau approximate mencari suatu perkiraan yang bisa menghampiri solusi yang benar Biasa digunakan pada deterministik atau strategi random

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 40: algoritma 1

Jenis Penulisan Logika Pemrograman

40

2 Ditinjau dari Paradigma perancanganbull Divide and conquerbull Dynamic programmingbull The greedy methodbull Linear programmingbull Reductionbull Search and enumerationbull The probabilistic and heuristic paradigm (Probabilistic algorithms Genetic

algorithms Heuristic algorithms)

3 Ditinjau dari Kajian Studi bull search algorithms bull sorting algorithms bull merge algorithms bull numerical algorithms bull graph algorithms bull string algorithms bull computational geometric algorithms bull combinatorial algorithms bull machine learning bull cryptography data compression algorithms bull parsing techniques

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 41: algoritma 1

Jenis Penulisan Logika Pemrograman

41

4 Ditinjau dari Kompleksitasbull Algoritma efesien

5 Ditinjau dari Computing Power bull polynomial time bull primitive recursive functions

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 42: algoritma 1

Tata Cara Penulisan Logika

42

bull Yang harus diingat dalam menuliskan logika adalah Domain (masalah utama) yang ingin diselesaikan Keteraturan susunan pernyataan logika yang mengarah pada

penyelesaian masalah Penggunaan notasi lambang simbol yang digunakan dalam

menterjemahkan suatu logikabull Contoh Membuat Mie Rebus

Masalah utama Mie Rebus (hasil yang akan diperoleh) Susunan

1 Ambil Mie

2 Nyalakan kompor

3 Ambil wadah dan isi air

4 Panaskan air hingga mendidih

5 Masukkan Mie kedalam wadah yang berisi air mendidih

6 Aduk hingga matang

7 Angkat dan sajikan Lambang bilangan 1 ndash 7 merupakan penggunaan lambang untuk

langkah yang dikerjakan

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 43: algoritma 1

Bahasa Pemrograman dan Tingkatan

43

1 High-Level languages menunjukan level abtraksi tertinggi dari bahasa mesin bekerja dengan teknik usability threads locks objects variables arrays dan aritmetik komplek atau ekspresi boolean

2 Low-Level Languages menunjukkan bahasa yang dekat dengan hardware dikenal dengan bahasa asembly

Contoh

fib mov edx [esp+8+1]

cmp edx 0

ja f

mov eax 0

ret

cmp edx 2

ja f

mov eax 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 44: algoritma 1

Bahasa Pemrograman dan Tingkatan

44

bull Pengertian level bukan menunjukan lebih tinggi tetapi menunjukkan kedalaman informasi tentang bagaimana komputer bekerja produktif dengan bahasa yang diberikan

bull Contoh Bahasa ndash High Level PASCAL C DELPHI JAVA dllndash Low Level Assembler TASM MASM dll

bull Model Eksekusi ndash Interpreted Interpreted languages melakukan eksekusi dan

pembacaan secar alangsung dan tidak ada tahapan kompilasi ndash Compiled menterjemahkan kedalam bentuk executable

program sebelum di run Terbagi atas 1 Intermediate representations ketika eksekusi dibuat

terlebih dulu representasi program dalam bentuk bytecode sehingga ketika kompilasi tidak membaca program sumber kembali

2 Machine code generation mengkompilasi langusung menjadi bahasa mesin

ndash Translated bahasa diterjemahkan kedalam low level programming sehingga eksekusi mengikuti aturan eksekusi bahasa mesin

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 45: algoritma 1

Bahasa Pemrograman dan Tingkatan

45

1 Array languages 2 Aspect-oriented

languages 3 Assembly languages 4 Authoring languages 5 Command line interface

languages 6 Compiled languages 7 Concurrent languages 8 Curly-bracket languages 9 Dataflow languages 10 Data-oriented languages 11 Data-structured languages 12 Declarative languages 13 Esoteric languages 14 Extension languages 15 Fourth-generation languages 16 Functional languages 17 Interactive mode languages 18 Interpreted languages 19 Iterative languages 20 List-based languages ndash LISPs

22 Logic-based languages 23 Machine languages 24 Macro languages 25 Metaprogramming languages 26 Multiparadigm languages 27 Numerical analysis 28 Non-English-based languages 29 Object-oriented class-based languages

291 Multiple dispatch 292 Single dispatch

30 Object-oriented prototype-based languages 31 Off-side rule languages 32 Procedural languages 33 Reflective languages 34 Rule-based languages 35 Scripting languages

36 Stack-based languages 37 Synchronous languages 38 Syntax handling languages 39 Visual languages 40 Wirth languages 41 XML-based languages

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 46: algoritma 1

Tipe Data dan Notasi Aritmetika (Kode AP1-2)

46

bull Tujuan Instuksional Umumldquo Mahasiswa mampu menyebutkan tipe data dan

kegunaan notasi aritmatika ldquo

bull Tujuan Instruksional khusus ndash Mengenal Tipe data ordinal dan tipe bentukanndash Mampu menyebutkan ranah tiap-tiap tipe ordinal dan

tipe bentukanndash Mampu menggunakan tipe data untuk berbagai kasusndash Mengenal kegunaan notasi aritmetika dan cara

menggunakannya

bull Durasi 60 Menit Tatap Mukabull Metode Tutorial dan Diskusi

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 47: algoritma 1

Tipe data ordinal dan tipe bentukan

47

Data ordinal tipe data yang memiliki ranah yang dapat dihitung Contoh

Integer -32768 hellip 32767 Real 29 x e -39 hellip 17 x 10 e 38

Char char(0) hellip char (255) Bolean [ TRUEFALSE] String lsquoabcrsquorsquo456rsquorsquo10rsquo

Tipe bentukan LIST Record (rekaman) STACK FILE TREE dll

Tipe Array Tipe Set (himpunan) memiliki batas bawah 0 dan batas atas 255

elemen

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 48: algoritma 1

Operator

48

Operator Biner Aritmetik

Operator Operation Operand types Result type + Addition integer type integer type real type real type - Subtraction integer type integer type real type real type Multiplication integer type integer type real type real type Division integer type real type real type real typediv Integer division integer type integer typemod Remainder integer type integer type

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 49: algoritma 1

Operator

49

String Operator

Set Operator

Operator Operation Operand types Result type

+concatenation

string type Char type string typeor packed string type

Operator Operation Operand types+ Union compatible set types- Difference compatible set types Intersection compatible set types

Hasil dari operasi set tergantung dari aturan logika set - An ordinal value C is in A + B only if C is in A or B

-An ordinal value C is in A - B only if C is in A and not in B

- An ordinal value C is in A B only if C is in both A and B

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 50: algoritma 1

Operator

50

Boolean Operator

Logical Operator

Operator Operation Operand types Result typenot negation Boolean Booleanand logical and Boolean Booleanor logical or Boolean Booleanxor logical xor Boolean Boolean

Operator Operation Operand types Result typenot Bitwise negation integer type integer typeand Bitwise and integer type integer typeor Bitwise or integer type integer typexor Bitwise xor integer type integer typeshl Shift left integer type integer typeshr Shift right integer type integer type

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 51: algoritma 1

Operator

51

Relational Operator

Operator Operation Result type Operand types

= Equal Booleancompatible simple pointer set string or packed string types

ltgt Not equal Booleancompatible simple pointer set string or packed string types

lt Less than Booleancompatible simple string packed string types or PChar

gtGreater than Boolean

compatible simple string packed string types or PChar

lt=Less or equal Boolean

compatible simple string packed string types or PChar

gt=Greater or equal Boolean

compatible simple string or packed string types or PChar

lt= Subset of Boolean compatible set typesgt= Superset of Boolean compatible set typesin Member of Boolean left operand any ordinal type T

right operand set whose base is compatible with T

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 52: algoritma 1

Tipe Data Untuk Berbagai Kasus

52

bull Kasus 1 ndash Definisikan suatu tipe data untuk nilai-nilai berikut

1 09899

2 lsquoSaya Pergi ke ST-INTENrsquo

3 120000

4 12 x 10 7

5 (Januarihellip Desember)

6 X bernilai False dan Y bernilai TRUE

7 Y = 10 bull Kasus 2

ndash Gunakan operator yang sudah ada berapakah hasilnya

1 3 + 3 =

2 lsquosayarsquo + lsquo diarsquo =

3 TRUE and False =

4 7 div 3 =

5 8 mod 3 =

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]

Page 53: algoritma 1

Tipe Data Untuk Berbagai Kasus

53

bull Kasus 3ndash Berapa hasilnya

X = (123456)

Y = (3568)

1 X + Y =

2 X ndash Y =

3 X Y =

ndash Berapa hasilnya (TRUE FALSE)

1 A = A

2 Aku = Aku

3 5 ltgt 7

4 4 gt= 3

5 4 in [1234]