plpengenalan al italgoritma & bahasa pemrograman file– suatu bahasa pemrograman yang lebih...

52
P l Al it & Pengenalan Algoritma & Bahasa Pemrograman Bahasa Pemrograman

Upload: buitram

Post on 15-Mar-2019

239 views

Category:

Documents


0 download

TRANSCRIPT

P l Al it &Pengenalan Algoritma & Bahasa PemrogramanBahasa Pemrograman

TujuanTujuan

Pada akhir pembahasan, peserta diharapkan dapat:

M id tifik i b d k k d• Mengidentifikasi perbedaan komponen-komponen pada komputer

• Mengetahui tentang bahasa pemrograman dan kategorinya• Mengerti alur kerja pembuatan program (algoritma) dan

menerapkannya pada pemecahan masalah• Mempelajari perbedaan sistem bilangan dan konversinyaMempelajari perbedaan sistem bilangan dan konversinya

PengenalanPengenalan

• KomputerKomputer– Sebuah mesin yang melaksanakan berbagai macam tugas

berdasarkan perintah khusus

• Dua komponen utama:– Hardware

• Bagian komputer yang dapat diukur• Bagian komputer yang dapat diukur• Terdiri atas bagian elektronik dan mekanik

– Software• Bagian komputer yang tidak dapat diukur• Terdiri dari data dan program komputer

Komponen Dasar pada o po e asa padaKomputer : Hardware

CPUCPU– Central Processing Unit– Processor merupakan “otak” pada komputer– Yang melakukan komputasi dasar dalam

sistem– Contoh: Pentium Athlon and SPARC– Contoh: Pentium, Athlon and SPARC.

Komponen Dasar pada p pKomputer : Hardware

MemoriMemori– Tempat dimana dapat ditemukannya data dan

perintah yang dibutuhkan oleh CPU untuk p y gmelakukan tugas-tugas yang ditetapkan

– 2 Tipe:• Memori utama (Main Memory)• Memori Sekunder (Secondary Memory)

Komponen Dasar pada Komputer : HardwareKomputer : Hardware

Memori Utama

– Digunakan untuk mengendalikan program dan data, dimana prosesor secara aktif bekerja

– Tidak digunakan untuk penyimpanan jangka panjang

– Biasanya disebut dengan RAM (Random Access Memory)Biasanya disebut dengan RAM (Random Access Memory)

– Diperlukan sebagai volatile storage – yang artinya ketika komputer dimatikan, semua informasi yang berada pada memory p , y g p yutama akan terhapus

Komponen Dasar pada K t H dKomputer : Hardware

Memory sekunder

– Digunakan untuk mengendalikan program dan data untuk penggunaan jangka panjang. gg j g j g

– Contoh dari memory sekunder adalah hard disk d ddan cd-rom.

Diperlukan sebagai non-volatile storage– Diperlukan sebagai non-volatile storage

Komponen Dasar pada K t H dKomputer : Hardware

Perbandingan antara memory utama dan memory sekunder :

Komponen Dasar pada Komputer : H dHardware

I/O Device– Digunakan supaya sistem komputer dapat

b i k i d d i l dberinteraksi dengan dunia luar dengan cara memindahkan data ke dalam dan keluar sistem

– Contoh:• Input device: keyboard, mouse dan mikrofon• Output device: monitor, printer dan speaker

Komponen Dasar pada Komputer : o po e asa pada o puteSoftware

• Software– Suatu program yang digunakan oleh komputer untuk

l k k f imelakukan suatu fungsi– Disimpan pada beberapa piranti keras (hardware)

seperti hard disk, tetapi software sendiri bersifat p , ptidak dapat diukur (intangible)

– data yang komputer gunakan dapat berupa apapun yang program perlukanyang program perlukan

• Program– Tindakan seperti instruksi untuk processor. p p

Komponen Dasar pada Komputer : Software

Beberapa Tipe Program Komputer– Program Sistemg– Program Aplikasi– Compiler

Komponen Dasar pada Komputer : SoftwareSoftware

Program Sistem

– Program yang diperlukan untuk menyimpan semua sistem hardware dan software yang berjalan secara bersamaan

Contoh : Sistem Operasi seperti Linux Windows– Contoh : Sistem Operasi seperti Linux, Windows, Unix, Solaris, MacOS

Komponen Dasar pada Komputer : S ftSoftware

Program Aplikasi

– Program yang digunakan user untuk menyelesaikan tugas mereka

– Contoh : Word Processor, Game programs, SpreadsheetsSpreadsheets

Komponen Dasar pada Komputer : p p pSoftware

Compiler

– Menerjemahkan program komputer ke dalam bahasa mesin

– Bahasa mesinB h di ti l h k t• Bahasa yang dimengerti oleh komputer.

Bahasa pemrogramanBahasa pemrograman

Bahasa Pemrograman– Suatu teknik komunikasi yang distandarisasi untuk menyatakan

instruksi pada komputer

S ti b h i i i b h iliki i t k– Seperti bahasa manusia, masing-masing bahasa memiliki sintaks dan tata-bahasa sendiri

Terdapat perbedaan tipe dari bahasa pemrograman yang dapat– Terdapat perbedaan tipe dari bahasa pemrograman yang dapat digunakan untuk membuat suatu program, tetapi hal itu tergantung pada bahasa yang Anda gunakan, instruksi-instruksi ini diterjemahkan ke dalam bahasa mesin yang dapat dimengerti oleh komputeroleh komputer.

K t i b hKategori bahasa pemrograman

Bahasa Pemrograman Tingkat Tinggi– Suatu bahasa pemrograman yang lebih mudah dioperasikan,

untuk beberapa extent platform-independent, dan abstrak dari operasi prosesor komputer tingkat rendah seperti mengakses memoryy

– Suatu statement pemrograman dapat diterjemahkan ke dalam satu atau beberapa perintah-perintah mesin oleh sebuah compiler.

– Contoh: Java, C, C++, Basic, Fortran

K t i b hKategori bahasa pemrograman

• Bahasa Assembly Tingkat Rendah

– Bahasa assembly serupa dengan bahasa mesin, tetapi bahasa assembly jauh lebih mudah untuk di k d t tidiprogram karena programmer dapat mengganti nama menjadi angka

B h bl t di t k i i– Bahasa assembly tersedia untuk masing-masing keluarga CPU, dan setiap instruksi assembly diterjemahkan ke dalam satu perintah mesin oleh sebuah program assemblerp g

Kategori bahasa pemrogramanKategori bahasa pemrograman

catatan:

– Istilah “tingkat tinggi" dan “tingkat rendah" merupakan relasi turunan.

– Bahasa assembly digolongkan dalam tingkat rendah, sedangkan COBOL, C, dll. digolongkan dalam tingkat tinggi.

– Banyak programmer saat ini lebih mengacu pada bahasa yang belakangan disebut sebagai tingkat rendah

Alur Kerja Pembuatan ProgramAlur Kerja Pembuatan Program

Langkah-langkah dasar menyelesaikan masalahLangkah langkah dasar menyelesaikan masalah pada komputer:

1 Mendefinisikan masalah1. Mendefinisikan masalah 2. Menganalisa masalah 3. Mendesain algoritma dan representasi atau penyajian (Pseudocode atau flowchart)penyajian (Pseudocode atau flowchart) 4. Coding dan debugging

1. Mendefinisikan Masalah

• Suatu masalah yang dideklarasikan secara jelas sudah merupakan y g jsetengah solusi.

• Pemrograman komputer memerlukan pendefinisian masalah terlebih dahulu sebelum kita mencoba untuk membuat sebuah solusidahulu sebelum kita mencoba untuk membuat sebuah solusi.

• Saatnya kita mendefinisikan contoh permasalahan kita: “Buatlah sebuah program yang akan menampilkan berapa kali

suatu nama tampil pada sebuah daftar ”suatu nama tampil pada sebuah daftar.”

2 Menganalisa Masalah2. Menganalisa Masalah

• Setelah masalah telah cukup didefinisikan, pendekatan paling sederhana, paling efisien dan paling efektif untuk menyelesaikan masalah harus dirumuskan.

• Biasanya, langkah ini melibatkan pemecahan masalah ke dalam sub permasalahan yang lebih sederhana dan lebih kecil.

• Contoh Permasalahan: Hit b k li t t il d b h d ft– Hitung berapa kali suatu nama tampil pada sebuah daftar

• Input program: – Daftar dari nama-nama (kita sebut nameList)– Nama yang dicari (kita sebut keyName)

• Output program: – Jumlah seringnya suatu nama tampil pada suatu daftar g y

3. Desain Algoritma & penyajian3. Desain Algoritma & penyajian

AlgoritmaAlgoritma – Langkah-langkah yang jelas dan dengan spesifikasi yang

tidak ambigu sangat dibutuhkan dalam memecahkan suatu permasalahan

– Mungkin juga dinyatakan dalam :• Bahasa manusia (Bahasa Inggris, Bahasa Tagalog)• Representasi grafik seperti flowchart atau diagram alur• Representasi grafik seperti flowchart atau diagram alur• Pseudocode – yang menjembatani antara bahasa manusia

dengan bahasa pemrograman

3. Desain Algoritma dan gPenyajian dalam Bahasa Manusia

Menyatakan solusi melalui bahasa manusia:

1. Ambil daftar dari nama-nama, kita sebut dengan nameList

2. Ambil nama yang akan dicari, kita sebut dengan keyname

3. Bandingkan keyname pada masing-masing nama dalam nameList

4. Jika keyname sama dengan nama pada daftar, tambahkan 1 pada count (penghitungan)(penghitungan)

5. Jika semua nama telah dibandingkan, keluarkan hasil tersebut

3. Desain Algoritma dan Penyajian - Flowchart

Nyatakan solusi melalui sebuah flowchart:Nyatakan solusi melalui sebuah flowchart:

Simbol FlowchartSimbol Flowchart

Simbol FlowchartSimbol Flowchart

Simbol FlowchartSimbol Flowchart

catatan: I i h b i t j k t k i b l i b l di k iIni hanya sebagai petunjuk untuk simbol-simbol yang umum dipakai dalam pembuatan flowcharts. Anda dapat menggunakan simbol apapun dalam pembuatan flowcharts Anda, selama Anda konsisten dalam penggunaan simbol-simbol tersebut.p gg

3. Desain Algoritma dan 3 esa go t a daPenyajian- Pseudocode

Menyatakan solusi menggunakan pseudocode:Menyatakan solusi menggunakan pseudocode:

Let nameList = List of Names Let keyName = the name to be sought Let Count = 0 For each name in NameList do the following

if name == keyName Count = Count + 1

Display Count

4 C di d D b i4. Coding dan Debugging

• Setelah membuat algoritma-nya, sekarang memungkinkanSetelah membuat algoritma nya, sekarang memungkinkan untuk membuat source code-nya. Menggunakan algoritma sebagai dasar, source code sekarang dapat ditulis menggunakan bahasa pemrograman yang telah dipilih.

• Debugging– Proses perbaikan beberapa error (bug) pada program Anda

Tipe-Tipe Errorp p

C il ti t t• Compile-time error atau syntax error– Terjadi jika terdapat syntax error pada code. – Compiler akan mendeteksi error dan program tidak akan

l k k k il i D l h l i i tid k d tmelakukan kompilasi. Dalam hal ini, programmer tidak dapat menghasilkan program eksekusi yang user dapat jalankan hingga error diperbaiki.

• Runtime Error– Compiler tidaklah sempurna sehingga tidak dapat menangkap

semua error pada waktu proses kompilasi. Hal ini sepenuhnya p p p p ybenar untuk error yang logis seperti pengulangan tanpa batas. Tipe error ini disebut dengan runtime error.

Sistem bilanganSistem bilangan

• Bilangan dapat direpresentasikan dalam berbagaiBilangan dapat direpresentasikan dalam berbagai macam cara.

• Representasi didasarkan pada apa yang disebut• Representasi didasarkan pada apa yang disebut dengan BASIS.

A d li bil i i b i b ik t• Anda menulis bilangan ini sebagai mana berikut:Bilangan basis

Sistem bilanganBerikut ini representasi paling umum. p p g

– Desimal (basis 10)• Umum digunakan

Di it lid d i 0 hi 9• Digit valid dari 0 hingga 9• Contoh: 12610 (biasanya hanya ditulis 126)

– Biner (basis 2)( )• Digit valid adalah 0 dan 1• Contoh: 11111102

Sistem bilanganBerikut ini representasi paling umum. (lanjutan)Berikut ini representasi paling umum. (lanjutan)

– Oktal (basis 8)• Digit valid dari 0 hingga 7Digit valid dari 0 hingga 7• Contoh: 1768

– Heksadesimal (basis 16)• Digit valid dari 0 hingga 9 dan A hingga F (atau

dari a hingga f)• Contoh: 7E16

Sistem bilangan

Konversi: Desimal ke BinerMetode:

– Secara berkesinambungan membagi bilangan dengan 2 – Mendapatkan sisa (yang mana bisa berupa 0 atau 1)– Ambil nomor sisa tersebut menjadi bentuk biner– Ambil hasil tersebut dan bagi dengan bilangan 2– Ulangi proses seperti tadi hingga hasil mencapai 0 atau 1– Kita akhirnya mendapat semua sisa dari sisa yang sebelumnya,

d h il khi d l h d l b t k bidan hasil akhirnya adalah dalam bentuk biner– CATATAN: Untuk digit terakhir yang hasilnya telah kurang dari

pembagi (yaitu 2) copy nilai tersebut ke sisa.

contoh: Desimal ke Biner

Konversi: Biner ke DesimalMetode:Metode:

Kita mengalikan digit biner ke "2 dinaikkan ke– Kita mengalikan digit biner ke 2 dinaikkan ke posisi bilangan biner"

– Kita kemudian menambahkan semua produk untuk mendapatkan hasil bilangan desimal.

contoh: Biner ke Desimal

Konversi: Desimal keKonversi: Desimal ke Oktal/HeksadesimalMetode:Metode:

– Konversi bilangan desimal ke Oktal atau heksadesimal pada dasarnya sama seperti p y pkonversi dari desimal ke biner.

– Bagaimanapun, sebagai ganti 2 sebagai pembagi Anda menggantin a dengan 8pembagi, Anda menggantinya dengan 8 (untuk oktal) atau 16 (untuk heksadesimal)

contoh: Desimal ke Oktal/Heksadesimalcontoh: Desimal ke Oktal/Heksadesimal

Konversi: Oktal/Heksadesimal ke Desimal

Metode:Metode:– Konversi bilangan oktal atau heksadesimal

juga sama caranya seperti pada konversi j g y p pbilangan biner ke desimal.

– Untuk melakukannya, kita hanya akan mengganti bilangan basis 2 dengan 8 nt kmengganti bilangan basis 2 dengan 8 untuk Oktal dan 16 untuk heksadesimal.

contoh: Oktal/Heksadesimal ke Desimal

Konversi: Biner ke OktalKonversi: Biner ke Oktal

• Metode:– membagi bilangan biner ke

dalam kumpulan 3 digit (dari kanan ke kiri)kanan ke kiri)

– Ganti dengan nol jika digit bilangan tidak dapat dibagi dengan 3

– Mengkonversi masing-masing pembagi ke dalam digit oktal nya yang sesuaiBerikut ini tabel yang– Berikut ini tabel yang menunjukkan representasi biner dari masing-masing digit oktal.

Contoh: Biner ke Oktal

Konversi: Oktal ke BinerMetode:Metode:

– Mengkonversi bilangan oktal ke biner hanya kebalikan dari apa yang telah diberikan sebelumnya.

– Mengkonversi masing-masing digit oktal ke dalam representasi biner nya (diberikan pada tabel) dan menggabungkannya.

– Hasilnya merupakan representasi biner.

Contoh: Oktal ke BinerContoh: Oktal ke Biner

Konversi: Biner ke HeksadesimalKonversi: Biner ke Heksadesimal

• Metode:– Membagi bilangan biner ke

dalam kumpulan 4 digit (dari k k ki i)kanan ke kiri)

– Ganti dengan nol jika digit bilangan tidak dapat dibagi dengan 4dengan 4

– Mengkonversi setiap pembagi ke dalam digit heksadesimalnya yang sesuaiy g

– Berikut ini tabel yang menunjukkan representasi biner dari setiap digit heksadesimal

Contoh: Biner ke Heksadesimal

Konversi: Heksadesimal ke Biner• Metode:• Metode:

– Mengkonversi bilangan heksadesimal ke biner hanya kebalikan dari apa yang telah diberikan sebelumnya. M k i ti di it h k d i l k d l– Mengkonversi setiap digit heksadesimal ke dalam representasi biner nya (diberikan pada tabel) dan menggabungnya. H il k t i bi– Hasil merupakan representasi biner.

Contoh: Heksadesimal ke Biner

Kesimpulan

• Komponen dasar dari komputer– Hardware– Software

• Ikhtisar Bahasa Pemrograman Komputer– Apakah bahasa pemrograman itu?– Kategori bahasa pemrograman

• Alur Kerja Pembuatan Program– 1. Definisi Permasalahan– 2. Analisa Permasalahan– 3. Desain Algoritma dan representasi (bhs. manusia, Flowchart,

Pseudocode)– 4. Coding dan Debugging

kesimpulankesimpulan

• Tipe-tipe Error– Compile time error/syntax error– Runtime error

• Sistem BilanganO– Desimal, Heksadesimal, Biner, Oktal

– Konversi