Pada akhir semester, mahasiswa mahasiswa mampu untuk memahami konsep dan menerapkan aplikasi teknik kompilasi dari mulai analisis leksikal sampai dengan code generation dalam perkembangan ilmu pengetahuan dan teknologi. Mengenal kompiler, analisis leksikal, analisis sintaktik, syntax directed translation, intermediate code generation, code optimization, code generation.
Pada akhir semester, mahasiswa mahasiswa mampu untuk memahami konsep dan menerapkan aplikasi teknik kompilasi dari mulai analisis leksikal sampai dengan code generation dalam perkembangan ilmu pengetahuan dan teknologi. Mengenal kompiler, analisis leksikal, analisis sintaktik, syntax directed translation, intermediate code generation, code optimization, code generation.
Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran / output yang diharapkan.
Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk memecahkan masalah.
Program : sederetan instruksi atau perintah (dalam bahasa yang di mengerti oleh komputer) untuk melaksanakan tugas-tugas tertentu, sehingga menghasilkan suatu keluaran / output yang diharapkan.
Algoritma : urutan langkah-langkah atau instruksi-instruksi yang harus dilaksanakan untuk memecahkan masalah.
Konflik menurut Robbins, adalah suatu proses yang dimulai apabila satu pihak merasakan bahwa pihak lain telah mempengaruhi secara negatif atau akan segera mempengaruhi secara negatif pihak lain
Sebagai salah satu pertanggungjawab pembangunan manusia di Jawa Timur, dalam bentuk layanan pendidikan yang bermutu dan berkeadilan, Dinas Pendidikan Provinsi Jawa Timur terus berupaya untuk meningkatkan kualitas pendidikan masyarakat. Untuk mempercepat pencapaian sasaran pembangunan pendidikan, Dinas Pendidikan Provinsi Jawa Timur telah melakukan banyak terobosan yang dilaksanakan secara menyeluruh dan berkesinambungan. Salah satunya adalah Penerimaan Peserta Didik Baru (PPDB) jenjang Sekolah Menengah Atas, Sekolah Menengah Kejuruan, dan Sekolah Luar Biasa Provinsi Jawa Timur tahun ajaran 2024/2025 yang dilaksanakan secara objektif, transparan, akuntabel, dan tanpa diskriminasi.
Pelaksanaan PPDB Jawa Timur tahun 2024 berpedoman pada Peraturan Menteri Pendidikan dan Kebudayaan RI Nomor 1 Tahun 2021 tentang Penerimaan Peserta Didik Baru, Keputusan Sekretaris Jenderal Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi nomor 47/M/2023 tentang Pedoman Pelaksanaan Peraturan Menteri Pendidikan dan Kebudayaan Nomor 1 Tahun 2021 tentang Penerimaan Peserta Didik Baru pada Taman Kanak-Kanak, Sekolah Dasar, Sekolah Menengah Pertama, Sekolah Menengah Atas, dan Sekolah Menengah Kejuruan, dan Peraturan Gubernur Jawa Timur Nomor 15 Tahun 2022 tentang Pedoman Pelaksanaan Penerimaan Peserta Didik Baru pada Sekolah Menengah Atas, Sekolah Menengah Kejuruan dan Sekolah Luar Biasa. Secara umum PPDB dilaksanakan secara online dan beberapa satuan pendidikan secara offline. Hal ini bertujuan untuk mempermudah peserta didik, orang tua, masyarakat untuk mendaftar dan memantau hasil PPDB.
Sebuah buku foto yang berjudul Lensa Kampung Ondel-Ondelferrydmn1999
Indonesia, negara kepulauan yang kaya akan keragaman budaya, suku, dan tradisi, memiliki Jakarta sebagai pusat kebudayaan yang dinamis dan unik. Salah satu kesenian tradisional yang ikonik dan identik dengan Jakarta adalah ondel-ondel, boneka raksasa yang biasanya tampil berpasangan, terdiri dari laki-laki dan perempuan. Ondel-ondel awalnya dianggap sebagai simbol budaya sakral dan memainkan peran penting dalam ritual budaya masyarakat Betawi untuk menolak bala atau nasib buruk. Namun, seiring dengan bergulirnya waktu dan perubahan zaman, makna sakral ondel-ondel perlahan memudar dan berubah menjadi sesuatu yang kurang bernilai. Kini, ondel-ondel lebih sering digunakan sebagai hiasan atau sebagai sarana untuk mencari penghasilan. Buku foto Lensa Kampung Ondel-Ondel berfokus pada Keluarga Mulyadi, yang menghadapi tantangan untuk menjaga tradisi pembuatan ondel-ondel warisan leluhur di tengah keterbatasan ekonomi yang ada. Melalui foto cerita, foto feature dan foto jurnalistik buku ini menggambarkan usaha Keluarga Mulyadi untuk menjaga tradisi pembuatan ondel-ondel sambil menghadapi dilema dalam mempertahankan makna budaya di tengah perubahan makna dan keterbatasan ekonomi keluarganya. Buku foto ini dapat menggambarkan tentang bagaimana keluarga tersebut berjuang untuk menjaga warisan budaya mereka di tengah arus modernisasi.
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