Skip to content

setyacarinaa/Jobsheet-Praktikum-Algoritma-Pemrograman

Repository files navigation

Praktikum Algoritma Pemrograman

Laporan praktikum ini berisi penjelasan materi dari jobsheet yang diberikan dosen pengampu lengkap beserta latihan dan tugas (codingan dan screenshot hasil run program).

  • Nama: Setya Carina Rianti
  • NIM: 23343054
  • Prodi: Informatika(NK)
  • Kode Kelas: INF1.62.1008
  • Seksi: 202313430012
  • Dosen Pengampu: Randi Proska Sandra, M.Sc

Uraian Materi📜

1. Algoritma, Pemrograman, dan IDE

  • Algoritma adalah urutan langkah-langkah yang disusun secara sistematis dan logis untuk menyelesaikan suatu masalah atau mencapai suatu tujuan tertentu. Sebuah algoritma mempunyai awal dan akhir. Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang di acu dalam terminologi algoritma. Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang di acu dalam terminologi algoritma.
  • Pemrograman adalah proses penulisan kode menjadi sebuah program. Pemrograman adalah suatu seni dalam menggunakan satu atau lebih algoritme yang saling berhubungan dengan menggunakan suatu bahasa pemrograman tertentu sehingga menjadi suatu program komputer. Untuk melakukan pemrograman dibutuhkan algoritma dan bahasa pemrograman. Sementara orang yang melakukan pemrograman disebut dengan programmer, sedangkan program adalah produk dari proses pemrograman yang dilakukan.
  • IDE atau Integrated Development Environment adalah software atau perangkat lunak yang digunakan oleh programmer untuk membuat sebuah program komputer atau sebagai tempat pengembangan aplikasi. Berbeda dengan text editor seperti notepad, IDE merupakan text editor yang memiliki compiler dan debugger sekaligus sehingga memungkinkan sebuah program dapat ditulis, diuji, dan dijalankan dalam satu aplikasi. IDE memiliki banyak fitur yang mendukung proses pemrograman. Contohnya adalah DevC++, Microsoft Visual Studio, CodeBlocks, NetBeans, dll.

2. Pemrograman Dasar C

  • Header file adalah file yang berisi definisi fungsi yang sudah dibuat. Tujuannya agar bisa digunakan pada program C yang lainnya. File ini berekstensi .h, contoh: stdio.h. Pada contoh di atas, kita mengimpor file stdio.h. File ini berisi deklarasi fungsi-fungsi dasar yang kita butuhkan untuk membuat program C, seperti printf().

  • Satu-satunya perintah yang harus ada di setiap kode program bahasa C adalah main(). Struktur main() sendiri pada dasarnya merupakan sebuah fungsi (function). Isi dari function ini diawali dan diakhiri dengan tanda kurung kurawal { dan } . Di dalam tanda kurung inilah “statement” dari kode program penyusun fungsi main() ditulis. Fungsi main() adalah fungsi utama dalam program. Fungsi ini akan dieksekusi pertamakali saat program dijalankan. Karena itu, kita harus menuliskan logika program di dalam fungsi ini.

  • Maksud dari int di depan main adalah tipe data yang akan dikembalikan. Maka di dalam fungsi main(), wajib kita sertakan return 0. Artinya, fungsi main akan mengembalikan nilai 0 setelah selesai dieksekusi.

3. Variable, Konstanta, dan Tipe Data

  • Variabel adalah sebuah tempat menyimpan sebuah nilai. Sementara tipe data adalah jenis nilai yang akan tersimpan dalam variabel. Pada pelajaran matematika, kita sering menemukan x dan y. x dan y ini disebut variabel, karena tugasnya menyimpan nilai.

  • Konstanta adalah sebuah nilai tetapan. Bisa juga dibilang sebagai variabel yang tidak bisa diubah nilainya. Ada dua cara pembuatan konstanta pada C:

  1. Menggunakan #define

  2. Menggunakan const

  • Menurut Wikipedia Tipe data atau kadang disingkat dengan ‘tipe’ saja adalah sebuah pengelompokan data untuk memberitahu compiler atau interpreter bagaimana programmer ingin mengolah data tersebut. Ada delapan jenis tipe data pada C:
    Char Integer Float Array
    Structure Pointer Enum Void

4. Operator

  • Operator adalah sebuah simbol. Simbol yang digunakan untuk melakukan operasi tertentu. Misalnya: Kita ingin menjumlahkan nilai dari variabel x dan y, maka kita bisa menggunakan operator penjumlahan (+).

  • Berdasarkan jumlah operand-nya, operator dibagi menjadi 3 jenis:

    1. Operator Unary, mempunyai 1 operand
    2. Operator Binary, mempunyai 2 operand
    3. Operator Ternary, mempunyai 3 operand


  • Operand adalah nilai asal yang dipakai dalam sebuah proses operasi. Sedangkan Operator adalah instruksi yang diberikan untuk mendapatkan hasil dari proses tersebut.

5. Flow Control: Decision Making

  • C menyediakan sejumlah pernyataan aliran kontrol (juga disebut pernyataan Flow Control), yang merupakan pernyataan yang memungkinkan pemrogram untuk mengubah jalur eksekusi normal melalui program. Istilah lainnya adalah percabangan, struktur kondisi, struktur if, dsb.
  • Untuk keperluan pengambilan keputusan, C menyediakan beberapa jenis pernyataan, berupa:
    1. Pernyataan if
      Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat kondisi bernilai benar.
    2. Pernyataan if else
      Percabangan if/else merupakan percabangan yang memiliki dua blok pilihan. Blok pilihan pertama untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else).

    3. Pernyataan if else if
      Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan.

    4. Pernyataan Switch Case
      Percabangan switch case adalah bentuk lain dari percabangan if/else/if.

    5. Percabangan Operator Ternary
      Percabangan menggunakan opreator ternary merupakan bentuk lain dari percabangan if/else. Bisa dibilang: Bentuk singkatnya dari if/else. Operator ternary juga dikenal dengan sebutan operator kondisi (conditional operator).
    6. Percabangan Bersarang
      Semua bentuk blok percabangan di atas dapat kita buat di dalam percabangan yang lainnya. Ini disebut dengan percabangan bersarang atau nested if.

6. Flow Control: Loop (Perulangan)

  • Loop adalah konstruksi aliran kontrol yang memungkinkan sepotong kode untuk dieksekusi secara berulang kali hingga beberapa kondisi terpenuhi. Loop ini memberikan kemudahan dalam pemrograman Anda, karena memungkinkan Anda melakukan banyak hal secara berulang tapi dengan program yang ringkas.
    1. Perulangan For pada C
      Perulangan for merupakan perulangan yang termasuk dalam couted loop, karena sudah jelas berapa kali ia akan mengulang.

      Yang perlu diperhatikan adalah kondisi yang ada di dalam kurung setelah kata for. Kondisi ini akan menentukan:
      • Hitungan akan dimulai dari 0 (i = 0);
      • Hitungannya sampai berapa? Sampai i < 10;
      • Lalu di setiap perulangan i akan bertambah +1 (i++).
      Variabel i pada perulangan for berfungsi untuk menyimpan nilai hitungan.
    2. Perulangan While pada C
      Perulangan while merupakan perulangan yang termasuk dalam perulangan uncounted loop. Perulangan while juga dapat menjadi perulangan yang counted loop dengan memberikan counter di dalamnya.
    3. Perulangan Do While pada C
      Perulangan do while sama seperti perulangan while. Perbedaanya: Perulangan do while akan melakukan perulangan sebanyak 1 kali terlebih dahulu, lalu mengecek kondisi yang ada di dalam kurung while.
    4. Perulangan Bersarang (Nested Loop)
      Di dalam blok perulangan, kita juga dapat membuat perulangan. Ini disebut dengan nested loop atau perulangan bersarang atau perulangan di dalam perualangan.

7. Struktur Data: Array

  • Array merupakan struktur data yang digunakan untuk menyimpan sekumpulan data dalam satu tempat, array ini juga disebut dengan istilah larik. Setiap data dalam Array memiliki indeks, sehingga kita akan mudah memprosesnya seperti mengakses atau mengganti datanya.
  • Array akan menyimpan sekumpulan data dan memberinya nomer indeks agar mudah diakses. Indeks array selalu dimulai dari nol 0.
  • Array Multidimensi
    Array yang kita buat pada contoh-contoh program di atas adalah array satu dimensi. Array bisa dibuat dua dimensi bahkan lebih. Array multidimensi biasanya digunakan untuk membuat matriks.
  • String
    String.h merupakan library yang menyimpan fungsi-fungsi yang digunakan untuk menangani string ataupun substring.
    1. strcpy() = Fungsi ini digunakan untuk mengkopi string pada variabel 2 ke variabel 1.
    2. strcat() = Fungsi strcat() digunakan untuk menambahkan string dari belakang.
    3. strlen() = Fungsi strlen() digunakan untuk menghitung panjang string.
    4. strcmp() = Fungsi strcmp() digunakan untuk membandingkan string dengan string yang lainnya.

8. Fungsi & Prosedur

  • Fungsi adalah sub-program yang bisa digunakan kembali baik di dalam program itu sendiri, maupun di program yang lain. Contoh fungsi yang sering kita buat adalah fungsi main(). Fungsi ini memang wajib ada di setiap program C karena akan dieksekusi pertama kali.
  • Fungsi biasanya akan mengembalikan sebuah nilai dari hasil prosesnya. Karena itu, kita harus menentukan tipe data untuk nilai yang akan dikembalikan. Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan tipe void untuk menyatakan kalau fungsi tersebut tidak akan mengembalikan nilai apa-apa.

  • Parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi. Parameter akan menyimpan nilai yang akan diinputkan ke dalam fungsi. Contoh, "Petani Kode" adalah nilai yang akan kita berikan ke parameter.

  • Fungsi Rekursif pada C
    Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Biasanya kita memanggil fungsi pada fungsi main atau fungsi yang lainnya. Namun, pada fungsi rekursif, fungsi itu akan memanggil dirinya sendiri di dalam tubuh fungsi.
  • Variabel Lokal & Variabel Global
    Variabel global adalah variabel yang bisa diakses dari semua fungsi. Variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi itu sendiri.

9. Pointer

  • Pointer adalah sebuah variabel yang berisi alamat memori dari variabel yang lain. Pointer nantinya akan bisa mengakses data yang ada di suatu alamat memori.
  • Pointer dibuat dengan menambahkan simbol * (asterik) di depan namanya, kemudian diisi dengan alamat memori yang akan digunakan sebagai referensi.

  • Alamat memori pointer adalah alamat memori yang digunakan untuk menyimpan pointer. Sedangkan alamat referensi adalah alamat yang akan menjadi referensi dari pointer.
  • Zaman dulu, memori komputer itu sangat terbatas. Saat mengelola struktur data kompleks seperti data pada array, linked list, tree, dan sebagainya. sering kali memakan banyak memori. Oleh sebab itu, diciptakanlah pointer agar mudah membuat struktur data tersebut, dan tentunya lebih hemat memori.
  • Kita tidak harus selalu menggunakan pointer dalam program. Namun, ada beberapa kasus tertentu yang menyarankan menggunakan pointer daripada cara biasa. Karena terbukti, dengan pointer performa program akan lebih optimal.

10. Enumerasi & Structure

  • Enum atau Enumeration
    Merupakan tipe data yang berisi sekumpulan konstanta. Enum termasuk dalam tipe data bentukan, karena tipe data ini dibuat sendiri oleh kita. Variabel enum hanya akan mengambil satu nilai dari konstanta yang ada.

  • Structure atau struct
    Adalah kumpulan dari beberapa variabel dengan beragam tipe data yang dibungkus dalam satu varabel. Struct juga dikenal dengan records dalam bahasa pemrograman lain seperti Pascal.

  • Menggunakan typedef pada Struct
    Kata kunci typedef adalah kata kunci untuk mendefinisikan tipe data baru. Kita bisa menggunakan kata kunci ini di depan struct untuk menyatakannya sebagai tipe data baru.

  • Struct Bersarang
    Struct dapat dibuat bersarang (nested). Bersarang artinya ada struct di dalam struct.

11. File Handling in C

  • File di komputer itu ada dua jenis, yakni file teks dan binary.
    File teks biasanya dibuat dengan teks editor, contohnya seperti: file txt, file csv, file html, dll. File teks mudah dibaca dan ditulis.
    Sedangkan file binary adalah file yang tersimpan dalam bentuk biner (0 & 1). Contohnya seperti: File exe dan file bin. File binary sulit dibaca, namun dapat menyimpan data lebih banyak dan aman.
  1. Fungsi fopen() akan membuka file sesuai dengan mode yang kita berikan. Mode r artinya read atau baca saja. Selain mode r ada juga mode yang lain.
    • Fungsi fopen() akan menghasilkan sebuah pointer yang menunjuk ke alamat memori dari file yang akan dibuka, karena itulah kita membutuhkan pointer untuk mengaksesnya.

  2. Fungsi fgets() akan membaca isi file yang ditunjuk oleh pointer fptr, kemudian hasilnya akan disimpan ke dalam variabel buff.

  3. Fungsi fputs() akan menulis teks ke dalam file yang sedang dibuka.