Selamat datang, para mahasiswa yang bersemangat! Sebagai dosen mata kuliah Pemrograman Dasar, saya ingin memberikan gambaran umum tentang apa yang akan kita pelajari bersama selama semester ini. Mata kuliah ini dirancang untuk memperkenalkan Anda kepada konsep-konsep dasar pemrograman dan mengembangkan kemampuan Anda dalam menyelesaikan masalah dengan bantuan teknologi. Saya berharap, melalui materi yang kita pelajari, Anda tidak hanya memahami sintaks dan struktur kode, tetapi juga bagaimana menerapkannya untuk menciptakan solusi yang inovatif.
Tujuan Pembelajaran (Capaian Pembelajaran):
Sikap (S):
- S01: Bertakwa kepada Tuhan Yang Maha Esa dan mampu menunjukkan sikap religius.
- S02: Menjunjung tinggi nilai kemanusiaan dalam menjalankan tugas berdasarkan agama, moral, dan etika.
- S05: Menghargai keanekaragaman budaya, pandangan, agama, dan kepercayaan, serta pendapat/temuan orisinal orang lain.
- S08: Menginternalisasi nilai, norma, dan etika akademik.
Keterampilan Umum (KU):
- KU1: Mampu menerapkan pemikiran logis, kritis, sistematis, dan inovatif.
- KU5: Mampu mengambil keputusan secara tepat berdasarkan analisis informasi dan data.
- KU6: Mampu memelihara dan mengembangkan jaringan kerja.
- KU8: Mampu melakukan proses evaluasi diri dan mengelola pembelajaran secara mandiri.
Keterampilan Khusus (KK):
- KK1: Mampu mengaplikasikan bidang keahliannya dalam penyelesaian masalah.
- KK2: Menguasai konsep teoritis bidang pengetahuan tertentu.
Pengetahuan (P):
- P01: Menguasai konsep teoritis bidang pengetahuan Sistem Informasi dan mampu memformulasikan penyelesaian masalah prosedural.
Materi Pembelajaran:
Dalam perjalanan kita di mata kuliah ini, kita akan mengeksplorasi berbagai topik yang berkaitan dengan pemrograman:
Pengenalan Pemrograman:
- Definisi Pemrograman: Memahami apa itu pemrograman dan mengapa penting.
- Prinsip dasar bahasa pemrograman: Memahami struktur dan sintaks dasar.
- Jenis-jenis bahasa pemrograman: Mengenali bahasa pemrograman seperti Python, Java, C++, dan lainnya.
- Platform pemrograman: Pengenalan kepada IDE seperti PyCharm, Eclipse, dan Visual Studio.
Dasar-dasar Pemrograman:
- Variabel dan Tipe Data:
- Pengenalan variabel dan konstanta.
- Tipe data dasar: string, integer, float.
- Operasi Aritmatika:
- Penjumlahan, pengurangan, perkalian, pembagian.
- Modulus, eksponen, dan operasi lainnya.
- Tipe data lanjutan:
- List: pengenalan, manipulasi, dan metode-metode list.
- Tuple: karakteristik dan kapan harus digunakan.
- Set: definisi, kegunaan, operasi dasar.
- Dictionary: struktur kunci-nilai, metode dasar.
- Variabel dan Tipe Data:
Struktur Kontrol:
- Kondisional:
- Penggunaan if, elif, dan else.
- Konsep nested conditional.
- Looping:
- For loop: iterasi berbasis koleksi.
- While loop: iterasi berbasis kondisi.
- Kontrol loop: break, continue.
- Kondisional:
Fungsi dan Modularitas:
- Pendefinisian Fungsi:
- Parameter dan argumen.
- Return value.
- Scope Variabel: Lokal vs global.
- Rekursi: Pengenalan dan contoh penggunaannya.
- Pendefinisian Fungsi:
Pemrograman Berorientasi Objek (OOP):
- Konsep Dasar OOP: Kelas, objek, atribut, metode.
- Enkapsulasi: Private vs public.
- Pewarisan: Konsep inheritance dan polimorfisme.
- Abstraksi dan Polimorfisme: Mendefinisikan dan mengimplementasikannya.
Operasi Input-Output (IO):
- Input dari Keyboard: Fungsi input() dan konversi tipe data.
- Output ke Layar: Fungsi print() dengan berbagai opsi format.
- Manipulasi Berkas: Membaca dan menulis berkas teks dan biner.
- Direktori dan Path: Navigasi dan operasi folder.
Penggunaan Modul dan Pustaka:
- Pengenalan Modul: Import modul dan penggunaannya.
- Pustaka Standar Python: datetime, math, os, dan lainnya.
- Instalasi dan Penggunaan Pustaka Eksternal: pip, requests, numpy, dll.
Penerapan dalam Kasus Nyata:
- Studi Kasus Sederhana: Membangun aplikasi sederhana dengan konsep yang telah dipelajari.
- Debugging dan Penanganan Kesalahan: Mengidentifikasi dan mengatasi bug.
- Optimalisasi Kode: Praktik coding efisien dan efektif.
Mata kuliah "Algoritma dan Struktur Data" di Universitas Muhammadiyah Kotabumi memiliki sejumlah capaian pembelajaran yang ditujukan untuk membekali mahasiswa dengan pengetahuan dan keterampilan yang diperlukan dalam bidang ini. Capaian pembelajaran ini mencakup aspek keagamaan, moral, etika, kemampuan kerja mandiri, analisis, dan pengembangan perangkat lunak. Salah satu capaian pembelajaran utama adalah kemampuan mahasiswa untuk menjunjung tinggi nilai kemanusiaan dalam menjalankan tugas berdasarkan agama, moral, dan etika (S02). Dalam dunia teknologi informasi yang serba canggih, etika dan nilai-nilai moral sangat penting untuk memastikan bahwa teknologi yang dikembangkan dan digunakan oleh masyarakat membawa manfaat yang positif.
Mahasiswa juga diharapkan dapat berusaha secara maksimal untuk mencapai hasil yang sempurna (S11). Semangat untuk mencapai kesempurnaan dalam setiap proyek atau tugas adalah kunci untuk kesuksesan di bidang teknologi informasi. Hal ini juga berkaitan dengan kemampuan mahasiswa untuk menganalisis informasi dan data guna mengambil keputusan yang tepat (KU5). Selain itu, mahasiswa diajak untuk bekerja sama dan memanfaatkan potensi yang dimiliki bersama tim atau kelompok studi (S12). Kolaborasi adalah salah satu kunci sukses di dunia teknologi informasi, di mana banyak proyek dikerjakan secara tim.
Dalam konteks keterampilan teknis, mata kuliah ini menekankan pentingnya pemahaman tentang algoritma dan struktur data. Mahasiswa akan mempelajari sejarah dan konsep dasar algoritma dan struktur data, serta cara mengimplementasikannya dalam perangkat lunak. Mereka juga akan belajar tentang bahasa pemrograman Python, yang digunakan untuk menerapkan algoritma dan struktur data (Sub-CPMK 3). Selain pemrograman, mahasiswa akan memahami konsep tipe data, operator, variabel, dan nilai dalam bahasa pemrograman Python (Sub-CPMK 4). Ini merupakan dasar yang diperlukan dalam pengembangan perangkat lunak. Konsep algoritma runtutan, percabangan, dan perulangan juga akan dipelajari (Sub-CPMK 5). Mahasiswa akan mampu merancang algoritma untuk menyelesaikan masalah dengan notasi algoritma seperti kalimat deskriptif, flowchart, dan pseudo code (Sub-CPMK 2). Dalam hal struktur data, mahasiswa akan memahami konsep array, tuple, dan linked list, serta bagaimana mengelola data menggunakan struktur-struktur tersebut dalam bahasa pemrograman Python (Sub-CPMK 6).
Mereka juga akan mempelajari konsep stack dan queue sebagai struktur data yang penting (Sub-CPMK 7). Kemampuan ini sangat diperlukan dalam pemrograman dan pengembangan perangkat lunak. Pada akhirnya, mahasiswa akan belajar tentang algoritma pencarian dan pengurutan (Sub-CPMK 8 dan Sub-CPMK 9). Mereka akan memahami berbagai jenis algoritma pencarian dan pengurutan serta bagaimana mengimplementasikannya dalam bahasa pemrograman Python. Dengan demikian, mata kuliah "Algoritma dan Struktur Data" membekali mahasiswa dengan pengetahuan dan keterampilan yang sangat penting dalam dunia teknologi informasi. Dengan pemahaman tentang algoritma, struktur data, dan bahasa pemrograman Python, mahasiswa siap untuk menghadapi tantangan di bidang ini. Selain itu, penekanan pada nilai kemanusiaan, moral, dan etika juga memastikan bahwa mereka menjadi profesional yang bertanggung jawab dan peduli terhadap dampak teknologi terhadap masyarakat.
Materi Secara Umum
- Sejarah Algoritma
- Konsep Algoritma
- Struktur Data
- Hubungan Algoritma dan Struktur Data
- Implementasi Algoritma pada Perangkat Lunak
- Implementasi Struktur Data pada Perangkat Lunak
- Notasi Algoritma
- Kalimat Deskriptif dalam Algoritma
- Flowchart dalam Algoritma
- Pseudo Code dalam Algoritma
- Jenis-jenis Bahasa Pemrograman
- Perbedaan Bahasa Pemrograman
- Instalasi Python
- Menulis Kode Python
- Menjalankan Kode Python
- Tipe Data dalam Python
- Operator Python
- Variabel dalam Python
- Nilai dalam Python
- Konsep Algoritma Runtutan
- Algoritma Percabangan
- Algoritma Perulangan
- Konsep Struktur Data Array
- Konsep Struktur Data Tuple
- Konsep Struktur Data Linked List
- Pengolahan Data Array dalam Python
- Pengolahan Data Tuple dalam Python
- Pengolahan Data Linked List dalam Python
- Konsep Struktur Data Stack
- Konsep Struktur Data Queue
- Konsep Algoritma Big-O
- Algoritma Greedy
- Algoritma Backtracking
- Algoritma Dynamic Programming
- Algoritma Divide and Conquer
- Algoritma A*
- Knapsack Problem
Mata kuliah ini akan memperkenalkan pemrograman dasar pada mahasiswa
Terchnopreneur adalah bidang
ilmu yang mengarahkan mahasiswa agar dapat mengembangkan kreativitas
dan inovasi untuk menciptakan/mengembangkan produk dan usaha baru.
Menejemen Resiko sistem dan Teknologi Informasi
Menejemen Resiko Sistem dan Teknologi Informasi