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