2. tujuan
Pada akhir pembahasan, peserta diharapkan dapat:
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
konversinya
3. pengenalan
Komputer
◦ Sebuah mesin yang melaksanakan berbagai macam tugas
berdasarkan perintah khusus
Dua komponen utama:
◦ Hardware
Bagian komputer yang dapat diukur
Terdiri atas bagian elektronik dan mekanik
◦ Software
Bagian komputer yang tidak dapat diukur
Terdiri dari data dan program komputer
4. Komponen Dasar pada
Komputer : Hardware
CPU
◦ Central Processing Unit
◦ Processor merupakan “otak” pada komputer
◦ Yang melakukan komputasi dasar dalam
sistem
◦ Contoh: Pentium, Athlon and SPARC.
5. Komponen Dasar pada
Komputer : Hardware
Memori
◦ Tempat dimana dapat ditemukannya data dan
perintah yang dibutuhkan oleh CPU untuk
melakukan tugas-tugas yang ditetapkan
◦ 2 Tipe:
Memori utama (Main Memory)
Memori Sekunder (Secondary Memory)
6. Komponen Dasar pada
Komputer : 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)
◦ Diperlukan sebagai volatile storage – yang artinya ketika
komputer dimatikan, semua informasi yang berada pada
memory utama akan terhapus
7. Komponen Dasar pada
Komputer : Hardware
Memory sekunder
◦ Digunakan untuk mengendalikan program dan
data untuk penggunaan jangka panjang.
◦ Contoh dari memory sekunder adalah hard
disk dan cd-rom.
◦ Diperlukan sebagai non-volatile storage
9. Komponen Dasar pada
Komputer : Hardware
I/O Device
◦ Digunakan supaya sistem komputer dapat
berinteraksi 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
10. Komponen Dasar pada
Komputer : Software
Software
◦ Suatu program yang digunakan oleh komputer
untuk melakukan suatu fungsi
◦ Disimpan pada beberapa piranti keras (hardware)
seperti hard disk, tetapi software sendiri bersifat
tidak dapat diukur (intangible)
◦ data yang komputer gunakan dapat berupa
apapun yang program perlukan
Program
◦ Tindakan seperti instruksi untuk processor.
11. Komponen Dasar pada
Komputer : Software
Beberapa Tipe Program Komputer
◦ Program Sistem
◦ Program Aplikasi
◦ Compiler
12. Komponen Dasar pada
Komputer : Software
Program Sistem
◦ Program yang diperlukan untuk menyimpan
semua sistem hardware dan software yang
berjalan secara bersamaan
◦ Contoh : Sistem Operasi seperti Linux,
Windows, Unix, Solaris, MacOS
13. Komponen Dasar pada
Komputer : Software
Program Aplikasi
◦ Program yang digunakan user untuk
menyelesaikan tugas mereka
◦ Contoh : Word Processor, Game programs,
Spreadsheets
14. Komponen Dasar pada
Komputer : Software
Compiler
◦ Menerjemahkan program komputer ke dalam
bahasa mesin
◦ Bahasa mesin
Bahasa yang dimengerti oleh komputer.
15. Bahasa pemrograman
Bahasa Pemrograman
◦ Suatu teknik komunikasi yang distandarisasi untuk
menyatakan instruksi pada komputer
◦ Seperti bahasa manusia, masing-masing bahasa memiliki
sintaks dan tata-bahasa sendiri
◦ 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 komputer.
16. Kategori 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
memory
◦ Suatu statement pemrograman dapat diterjemahkan ke dalam
satu atau beberapa perintah-perintah mesin oleh sebuah
compiler.
◦ Contoh: Java, C, C++, Basic, Fortran
17. Kategori bahasa pemrograman
Bahasa Assembly Tingkat Rendah
◦ Bahasa assembly serupa dengan bahasa mesin,
tetapi bahasa assembly jauh lebih mudah untuk
diprogram karena programmer dapat mengganti
nama menjadi angka
◦ Bahasa assembly tersedia untuk masing-masing
keluarga CPU, dan setiap instruksi assembly
diterjemahkan ke dalam satu perintah mesin oleh
sebuah program assembler
18. Kategori 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
19. Alur Kerja Pembuatan Program
Langkah-langkah dasar menyelesaikan masalah
pada komputer:
1. Mendefinisikan masalah
2. Menganalisa masalah
3. Mendesain algoritma dan representasi atau
penyajian (Pseudocode atau flowchart)
4. Coding dan debugging
20. 1. Mendefinisikan Masalah
Suatu masalah yang dideklarasikan secara jelas sudah
merupakan setengah solusi.
Pemrograman komputer memerlukan pendefinisian masalah
terlebih dahulu 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.”
21. 2. 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:
◦ 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
22. 3. Desain Algoritma & penyajian
Algoritma
◦ 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
Pseudocode – yang menjembatani antara bahasa manusia
dengan bahasa pemrograman
23. 3. Desain Algoritma dan
Penyajian 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)
5. Jika semua nama telah dibandingkan, keluarkan hasil tersebut
24. 3. Desain Algoritma dan
Penyajian - Flowchart
Nyatakan solusi melalui sebuah flowchart:
27. Simbol Flowchart
catatan:
Ini 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.
28. 3. Desain Algoritma dan
Penyajian- 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
29. 4. Coding dan Debugging
Setelah 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
30. Tipe-Tipe Error
Compile-time error atau syntax error
◦ Terjadi jika terdapat syntax error pada code.
◦ Compiler akan mendeteksi error dan program tidak akan
melakukan 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
benar untuk error yang logis seperti pengulangan tanpa batas.
Tipe error ini disebut dengan runtime error.
31. Sistem bilangan
Bilangan dapat direpresentasikan dalam
berbagai macam cara.
Representasi didasarkan pada apa yang disebut
dengan BASIS.
Anda menulis bilangan ini sebagai mana berikut:
Bilanganbasis
32. Sistem bilangan
Berikut ini representasi paling umum.
◦ Desimal (basis 10)
Umum digunakan
Digit valid dari 0 hingga 9
Contoh: 12610
(biasanya hanya ditulis 126)
◦ Biner (basis 2)
Digit valid adalah 0 dan 1
Contoh: 11111102
33. Sistem bilangan
Berikut ini representasi paling umum. (lanjutan)
◦ Oktal (basis 8)
Digit 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
35. Konversi: Desimal ke Biner
Metode:
◦ 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, dan hasil akhirnya adalah dalam bentuk biner
◦ CATATAN: Untuk digit terakhir yang hasilnya telah kurang dari
pembagi (yaitu 2) copy nilai tersebut ke sisa.
37. Konversi: Biner ke Desimal
Metode:
◦ Kita mengalikan digit biner ke "2 dinaikkan ke
posisi bilangan biner"
◦ Kita kemudian menambahkan semua produk
untuk mendapatkan hasil bilangan desimal.
39. Konversi: Desimal ke
Oktal/Heksadesimal
Metode:
◦ Konversi bilangan desimal ke Oktal atau
heksadesimal pada dasarnya sama seperti
konversi dari desimal ke biner.
◦ Bagaimanapun, sebagai ganti 2 sebagai
pembagi, Anda menggantinya dengan 8 (untuk
oktal) atau 16 (untuk heksadesimal)
41. Konversi: Oktal/Heksadesimal ke
Desimal
Metode:
◦ Konversi bilangan oktal atau heksadesimal
juga sama caranya seperti pada konversi
bilangan biner ke desimal.
◦ Untuk melakukannya, kita hanya akan
mengganti bilangan basis 2 dengan 8 untuk
Oktal dan 16 untuk heksadesimal.
43. Konversi: Biner ke Oktal
Metode:
◦ membagi bilangan biner ke
dalam kumpulan 3 digit (dari
kanan ke kiri)
◦ Ganti dengan nol jika digit
bilangan tidak dapat dibagi
dengan 3
◦ Mengkonversi masing-
masing pembagi ke dalam
digit oktal nya yang sesuai
◦ Berikut ini tabel yang
menunjukkan representasi
biner dari masing-masing
digit oktal.
45. Konversi: Oktal ke Biner
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.
47. Konversi: Biner ke Heksadesimal
Metode:
◦ Membagi bilangan biner ke
dalam kumpulan 4 digit (dari
kanan ke kiri)
◦ Ganti dengan nol jika digit
bilangan tidak dapat dibagi
dengan 4
◦ Mengkonversi setiap pembagi
ke dalam digit heksadesimalnya
yang sesuai
◦ Berikut ini tabel yang
menunjukkan representasi biner
dari setiap digit heksadesimal
49. Konversi: Heksadesimal ke Biner
Metode:
◦ Mengkonversi bilangan heksadesimal ke biner hanya
kebalikan dari apa yang telah diberikan sebelumnya.
◦ Mengkonversi setiap digit heksadesimal ke dalam
representasi biner nya (diberikan pada tabel) dan
menggabungnya.
◦ Hasil merupakan representasi biner.
51. 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