Selamat datang para mahasiswa yang luar biasa dalam mata kuliah Algoritma dan Pemrograman! Senang sekali berada di sini untuk membimbing kalian dalam perjalanan mempelajari algoritma dan pemrograman. Selama semester ini, kita akan menyelami berbagai konsep penting, mulai dari dasar-dasar algoritma hingga penerapan praktis dalam pemrograman.
Kami ingin mengingatkan kalian untuk membaca dengan seksama Rencana Pembelajaran Semester (RPS) yang telah disediakan di link di bawah ini. Dengan memahami RPS ini, kalian akan memiliki panduan yang jelas mengenai :
Deskripsi MK
CPMK & Sub-CPMK
Waktu Belajar 3 SKS
Sumber Referensi dan
Rubrik Penilaian
untuk dapat mengejar keberhasilan dalam memahami konsep-konsep penting. Jangan ragu untuk bertanya jika ada yang perlu dijelaskan. Selamat membaca dan semangat belajar!
Untuk membantu Glorian mempelajari mata kuliah ini, terdapat berbagai sumber yang dapat diakses untuk dipelajari selama perkuliahan. Dokumen tersebut diantaranya: RPS, Diktat Perkuliahan, dan referensi luar lainnya.
Jika ada pertanyaan selama perkuliahan mata kuliah ini (berkaitan dengan materi, kesulitan belajar, atau saat pembelajaran tatap muka), Glorian dapat menuliskannya di dalam forum diskusi. Saya berharap semester ini akan menjadi perjalanan yang penuh menyenangkan dalam pemahaman konsep-konsep yang kita pelajari. Selamat belajar, dan jangan ragu untuk mengajukan pertanyaan saat diperlukan. Semangat!
Pada pertemuan sebelumnya, Glorian sudah mempelajari tipe data non-primitif, yaitu Array. Dengan adanya Array, Glorian bisa mengelola kumpulan data dengan tipe data yang sama. Lalu bagaimana jika kita ingin mengelola data berjenis teks? Untuk mengelola data berjenis Teks, kita akan membutuhkan tipe data String. Namun, Bahasa C tidak memiliki tipe data String seperti bahasa pemrograman lainnya. Untuk mengatasinya, kita dapat gunakan tipe Array dengan jenis data char.
Untuk memulai, silakan Glorian membaca materinya terlebih dahulu untuk mengenal secara teori String di Bahasa C!
Dalam bahasa C, fungsi-fungsi yang terkait dengan manipulasi string termasuk dalam library <string.h>. Berikut adalah beberapa fungsi yang umum digunakan:
strlen() - String Length: Mengembalikan panjang dari string (jumlah karakter sebelum karakter null).
strcpy() - String Copy: Menyalin isi dari satu string ke string lainnya
strcat() - String Concatenate: Menggabungkan dua string dengan menambahkan string kedua di akhir string pertama.
strcmp() - String Compare: Membandingkan dua string. Mengembalikan nilai negatif jika string pertama kurang dari string kedua, nilai positif jika lebih besar, dan 0 jika sama
strtok() - String Tokenization: Memotong string menjadi token dengan menggunakan karakter pemisah tertentu
strchr() - String String: Mencari sebuah karakter di dalam string
strstr() - String String: Mencari sebuah teks (string) di dalam string
Ini hanya beberapa contoh fungsi yang umum digunakan. Terdapat fungsi lainnya dalam library <string.h> yang dapat membantu dalam manipulasi dan pengelolaan string di bahasa C.
Mengenal Struct & Typedef
Glorian sudah mempelajari tipe data non-primitif, yaitu Array dan String. Dengan adanya konsep Array, Glorian bisa mengelola data teks (kumpulan karakter). Lalu bagaimana jika kita ingin mengelola kumpulan data dengan tipe yang berbeda dan membuat tipe data baru yang kita bentuk sesuai dengan kebutuhan?
Untuk mengatasinya, sekarang kita akan memasuki materi yang menarik lainnya yaitu Struktur dan Typedef dalam bahasa pemrograman C. Kita akan memahami cara mengorganisir data dengan lebih efisien dan membuat tipe data alias sendiri sesuai dengan kebutuhan kita. !
Struct
Struct dalam C digunakan untuk membentuk tipe data dengan anggota bertipe heterogen (berbeda). Struct juga dikenal dengan records dalam bahasa pemrograman lain seperti Pascal. Untuk membentuk tipe data dengan Struktur, berikut adalah struktur kodenya:
Membentuk Tipe Data dengan Struct
Misalnya Glorian ingin membentuk tipe data yang berisi kumpulan variabel dengan tipe data yang berbeda seperti: nrp (String), nama (String) dan ipk (float) yang dibungkus dengan nama Mahasiswa. Untuk membentuk struktur Mahasiswa, pertama kita tuliskan struktur di atas fungsi main.
Deklarasi Variabel bertipe Data Struct "Mahasiswa"
Untuk menggunakan tipe bentukan yang sudah Glorian buat, yaitu tipe Mahasiswa, pertama Glorian harus mendeklarasikan variabel dengan tipe data tersebut di dalam program utama (main). Deklarasi variabel dengan tipe bentukan struktur, harus menggunakan kata kunci struct nama_struktur nama_variabel;. Berikut adalah contoh deklarasi varaibel bertipe struktur dalam sebuah program C:
int main() {
// Mendeklarasikan variabel bertipe struct Mahasiswa
struct Mahasiswa mhs;
return 0;
}
Mengisi dan mencetak Variabel bertipe Data Struct "Mahasiswa"
Pada contoh di atas, kita mendeklarasikan variabel mhs bertipe struct Mahasiswa dan mengisi data ke dalamnya. Selanjutnya, kita mengisi data variabel nama, nrp dan ipk kemudian menampilkan informasi siswa menggunakan printf().
int main() {
// Mendeklarasikan variabel bertipe struct Mahasiswa
struct Mahasiswa mhs;
// Mengisi data ke dalam variabel struktur
strcpy(mhs.nrp, "162024001");
strcpy(mhs.nama, "Andika Pratama");
mhs.ipk = 3.5;
// Menampilkan informasi Mahasiswa
printf("NRP: %s\n", mhs.nama);
printf("Nama: %s\n", mhs.nama);
printf("IPK: %d\n", mhs.umur);
return 0;
}
Untuk mengisi dana nama secara langsung, kita dapat gunakan fungsi strcmp(). Untuk menampilkan data nama, pertama panggil terlebih dulu nama variabel mhs, diikuti dengan elemen struktur nama dihubungkan dihubungkan dengan titik: mhs.nama. Struktur memungkinkan kita untuk mengelompokkan data terkait dalam satu kesatuan yang logis.
Typedef Struct
Untuk memulai, silakan Glorian membaca materinya terlebih dahulu untuk mengenal secara teori apa Struktur dan Typedef. Enjoy!
Glorian sudah memahami teori dan konsep dasar dari String dan Struct. Sekarang, silakan kerjakan latihan pada modul berikut untuk berlatih membuat program untuk kelola String dan Struct sebelum kelas tatap muka. Jawab pertanyaan yang diminta pada setiap Latihan!
Mahasiswa wajib mengerjakan latihan di atas sebelum jam perkuliahan sebagai Tugas Mandiri. Catat bagian materi yang sulit dimengerti setelah mengerjakan latihan di atas untuk dibahas pada pertemuan tatap muka.
Feedback Belajar Mandiri
Setelah menonton materi pada minggu ini dan mencoba latihan pada video 1,2, dan 3, berikutnya silakan Glorian untuk berpartisipasi aktif memberikan feedback/respon terhadap apa yang dipahami dan sulit dipahami dari video materi di atas. Isi feedback di forum diskusi berikut ini.
Glorian sudah memahami teori, konsep, dan bagaimana penulisan kode program untuk mengelola String menggunakan fungsi-fungsi yang tersedia pada library <string.h>. Sekarang, silakan kerjakan Warming Up yang telah disediakan melalui website Autograder https://www.hackerrank.com bersama kelompoknya masing-masing.
Terdapat 5 challenges yang berisi kasus dengan tingkat kesulitan mudah dan medium (lihat pada skornya). Kerjakan kasus yang paling mudah (easy) terlebih dahulu. Pastikan gunakan nama akun yang dapat dikenali untuk penilaian. Good luck!