Tujuan Pada akhir pelajaran, siswa diharapkan dapat: JAVA Education Network Indonesia
Pengenalan Pemrograman Komputer Pengenalan Pemrograman 1
• 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
jeni.jardiknas.org
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
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)
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.
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
1
Komponen Dasar pada Komputer : Hardware • Memory sekunder – Digunakan untuk mengendalikan program dan data untuk penggunaan jangka panjang. – Contoh dari memory sekunder adalah hard disks dan cd-rom. – Diperlukan sebagai non-volatile storage
Komponen Dasar pada Komputer : Hardware • Piranti masukan dan keluaran – Mengijinkan sistem komputer berinteraksi dengan dunia luar dengan cara memindahkan data ke dalam dan keluar sistem – Contoh: • Piranti masukan: keyboard, mouse dan mikrofon • Piranti keluaran: monitor, printer dan speaker
Komponen Dasar pada Komputer : Software • Beberapa Tipe Program Komputer – Program Sistem – Program Aplikasi – Compiler
Komponen Dasar pada Komputer : Hardware • Perbandingan antara memory utama dan memory sekunder
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.
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
2
Komponen Dasar pada Komputer : Software • Program Aplikasi – Program yang digunakan user untuk menyelesaikan tugas mereka – Contoh : Word Processor, Game programs, Spreadsheets
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 ditranslasi ke dalam bahasa mesin yang dapat dimengerti oleh komputer.
Kategori Bahasa Pemrograman • Bahasa Assembly Tingkat Rendah – Bahasa assembly serupa dengan bahasa mesin, tetapi bahasa assembly jauh lebih mudah untuk diprogram karena mengijinkan programmer mengganti nama menjadi angka – Bahasa assembly tersedia untuk masing-masing keluarga CPU, dan setiap instruksi assembly ditranslasi ke dalam satu perintah mesin oleh sebuah program assembler
Komponen Dasar pada Komputer : Software • Compiler – Mentranslasi program komputer ke dalam bahasa mesin – Bahasa mesin • Bahasa yang dimengerti oleh komputer.
Kategori Bahasa Pemrograman • Bahasa Pemrograman Tingkat Tinggi – Suatu bahasa pemrograman yang lebih mudah dioperasikan, untuk beberapa extent platformindependent, dan abstrak dari operasi prosesor komputer tingkat rendah seperti mengakses memory – Suatu statement pemrograman mungkin ditranslasi ke dalam satu atau beberapa perintah-perintah mesin oleh sebuah compiler. – Contoh: Java, C, C++, Basic, Fortran
Kategori Bahasa Pemrograman • CATATAN: – Istilah “tingkat tinggi" dan “tingkat rendah" merupakan relasi turunan. – Bahasa assembly digolongkan dalam tingkat rendah dan COBOL, C, dll. digolongkan dalam tingkat tinggi. – Banyak programmer saat ini lebih mengacu pada bahasa yang belakangan disebut sebagai tingkat rendah
3
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
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 • Masukan dalam program: – Daftar dari nama-nama (kita sebut nameList) – Nama yang dicari (kita sebut keyName) • Keluaran dari program: – Jumlah seringnya suatu nama tampil pada suatu daftar
3. Desain Algoritma dan Penyajian dalam Bahasa Manusia • Menyatakan solusi melalui bahasa manusia:
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.”
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
3. Desain Algoritma dan Penyajian - Flowchart • Nyatakan solusi melalui sebuah flowchart:
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
4
Simbol Flowchart
Simbol Flowchart
Simbol Flowchart
3. Desain Algoritma dan Penyajian- Pseudocode • Menyatakan solusi menggunakan pseudocode:
• 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.
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
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
Tipe-Tipe Error • Compile-time error atau syntax errors – Terjadi jika terdapat error syntax 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.
5
Sistem Bilangan • Bilangan dapat direpresentasikan dalam berbagai macam cara. • Representasi didasarkan pada apa yang disebut dengan BASIS. • Anda menulis bilangan ini sebagai mana berikut: Bilangan basis
Sistem Bilangan • Berikut ini representasi paling umum. (lanjutan)
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
Sistem Bilangan • Contoh:
– 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
Konversi: Desimal ke Biner
Contoh: 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.
6
Konversi: Biner ke Desimal
Contoh: 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.
Konversi: Desimal ke Oktal/Heksadesimal
Contoh: 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)
Konversi: Oktal/Heksadesimal ke Desimal
Contoh: 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.
7
Konversi: Biner ke Oktal
Contoh: 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.
Konversi: Oktal ke Biner
Contoh: 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.
Konversi: Biner ke Heksadesimal
Contoh: 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
8
Konversi: Heksadesimal ke Biner
Contoh: 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.
Ringkasan • 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
Ringkasan • Tipe-tipe Error – Compile time error/syntax error – Runtime error
• Sistem Bilangan – Desimal, Heksadesimal, Biner, Oktal – Konversi
9