Modul 1: Pengenalan Pemrograman dan Instalasi - fzl-22/modul-alpro-informatika GitHub Wiki
Algoritma adalah sebuah prosedur yang berisi baris-baris langkah untuk
melakukan komputasi atau menyelesaikan suatu masalah. (Kenneth H. Rosen)
Dalam hal ini, maka sebuah algoritma harus memenuhi persyaratan-persyaratan berikut:
- Langkahnya terhingga (finiteness)
- Instruksi jelas (definiteness)
- Memiliki masukan dan keluaran (input and output)
- Efektif (effectiveness)
- Bersifat umum dan menghasilkan keluaran yang benar (generality and correctness)
Mari kita analisis contoh algoritma sederhana berikut ini: https://twitter.com/tokopedia/status/1286596493726511105.
Pemrograman adalah pemberian instruksi kepada komputer untuk melakukan suatu tugas tertentu.
Instruksi-instruksi tersebut dituliskan dalam bentuk barisan kode dengan menggunakan bahasa pemrograman. Bahasa pemrograman memungkinkan manusia untuk menuliskan suatu perintah yang dapat dipahami oleh komputer. Menurut Online Historical Encyclopaedia of Programming Languages, ada 8945 bahasa pemrograman yang pernah dibuat oleh manusia. Beberapa di antaranya sangat populer, seperti Python, Javascript, PHP, dan tentunya bahasa yang akan kita gunakan nanti, yaitu bahasa C.
Kenapa kita menggunakan bahasa C? karena C merupakan bahasa yang paling mendekati dengan bahasa mesin (machine language). Setiap instruksi di C berupa case sensitive. Selain itu, C adalah bahasa pemrograman yang paling cepat dan efisien.
IDE singkatan dari Integrated Development Environment merupakan program komputer sebagai lingkungan pengembangan aplikasi atau program komputer yang memiliki beberapa fasilitas yang diperlukan dalam pembangunan perangkat lunak. Tujuan dari IDE adalah untuk menyediakan semua utilitas yang diperlukan dalam membangun perangkat lunak.
Berikut merupakan IDE bahasa C/C++ yang dapat digunakan :
- Download visual studio code sesuai dengan OS yang dipakai pada link berikut Visual Studio Code
- Download compiler C yaitu minGW pada link berikut MinGW Download
- Setelah MinGW berhasil didownload, lakukan instalasi MinGW sesuai dengan gambar di bawah ini.
- klik
install
- klik
continue
- tunggu proses instalasi selesai
- klik
continue
- klik
mark for installation
pada semua package - klik
apply changes
- Setelah instalasi selesai, akses folder instalasi MinGW dan cari folder dengan nama bin
- Kemudian copy letak folder bin seperti gambar berikut (sesuaikan dengan alamat folder kalian menginstall MinGW)
- Buka windows dan cari
environment
- Klik pada tab
environment variabel
- Kemudian pada bagan
system variabel
pilih tabpath
dan klikedit
- Setelah tab edit environment variabel terbuka, klik tab
edit
- Kemudian pastekan alamat folder bin MinGW yang telah dicopy sebelumnya
- Untuk instalisasi VSCode dapat melihat video pada link berikut ini Instalasi VSCode
- Tambahan untuk bahasa C/C++ pada VSCode dilakukan pemasangan ekstension seperti pada gambar berikut dengan klik install
- Pasang ekstensi Code Runner
- Yang Terakhir ubah konfigurasi untuk running programnya ke terminal dengan cara klik file > preferences > settings > Extension > Run code configuration > check list bagian yang bertulisan Run in Terminal
Dalam pemograman, kita dapat memasukkan(input) data ke dalam program dan dapat mengeluarkan (output) data. Operasi input dan output dilakukan dengan menggunakan fungsi-fungsi yang ada pada library <stdio.h>
. Sebelum itu, mari kita mengenal struktur utama program C.
#include <stdio.h> // header file
int main() // fungsi utama (main)
{ // pembuka fungsi
printf("Hello World\n"); // statement
return 0; // statement
} // penutup fungsi
Struktur | Keterangan |
---|---|
Header File | File dengan ekstensi .h dan memiliki preprocessor directive (#include ). Dalam kasus ini, #include <stdio.h> berarti program menyertakan header file' <stdio.h> yang memungkinkan program untuk melakukan operasi input dan output standar. |
Fungsi Utama | Fungsi main() adalah fungsi utama, yaitu fungsi yang akan dieksekusi terlebih dahulu oleh compiler. |
Pembuka dan Penutup Fungsi | Simbol { dan } secara berturut-turut merupakan awal dan akhir sebuah fungsi. Di antara kedua simbol tersebut, terdapat tubuh fungsi (function body) yang berisikan statement dari fungsi tersebut. |
Statement | Sebaris program yang berisi perintah tertentu dan diakhiri oleh simbol semicolon (; ). Dalam kasus ini, printf("Hello World\n"); memerintahkan komputer untuk mencetak string bertuliskan "Hello World" dan baris baru (\n). Sedangkan, return 0 pada menandakan bahwa fungsi main tidak mengembalikan value apapun. |
Fungsi printf()
merupakan fungsi untu menampilkan output ke layar komputer. Fungsi ini terdapat pada library stdio.h
, untuk itu kita diharuskan untuk menulis #include <stdio.h>
dibagian atas program agar fungsi ini dapat digunakan.
#include <stdio.h>
int main()
{
printf("ini adalah sebuah string");
return 0;
}
Output
ini adalah sebuah string
Namun, contoh diatas tidak bisa menambahkan baris baru
#include <stdio.h>
int main()
{
printf("ini adalah sebuah string");
printf("aku adalah baris baru");
return 0;
}
Output
ini adalah sebuah stringaku adalah baris baru
Untuk membuat baris baru, harus menambahkan \n
setelah baris pertama. \n
dapat disebut escape sequence
#include <stdio.h>
int main()
{
printf("ini adalah sebuah string\n");
printf("aku belajar bahasa C");
return 0;
}
Output
ini adalah sebuah string
aku belajar bahasa C
kita juga bisa menampilkan beberapa baris dengan satu fungsi printf()
#include <stdio.h>
int main()
{
printf("ini adalah sebuah string\naku belajar bahasa C\nIni sangat menyenangkan");
return 0;
}
Output
ini adalah sebuah string
aku belajar bahasa C
Ini sangat menyenangkan
default dari fungsi printf()
selalu berupa string. untuk menampilkan nilai pada suatu tipe data dapat menggunakan Format Specifier. Setiap tipe data memiliki Format Specifier masing masing.
printf("%<format specifier>", var);
Sebagai contoh, kita mempunyai variabel int a = 3
. untuk mencetak variabel tersebut, maka di dalam fungsi printf()
dapat ditulis seperti ini :
#include <stdio.h>
int main()
{
int a = 3;
printf("output a = %i",a);
return 0;
}
output
output a = 3
format | keterangan |
---|---|
%i & %d
|
digunakan untuk tipe data int
|
%f |
digunakan untuk tipe data float
|
%c |
digunakan untuk tipe data char
|
%s |
digunakan untuk tipe data string
|
Input merupakan interaksi antara user dengan program, sehingga program dapat menerima data yang diberikan oleh user dan disimpan di suatu variabel. Pada bahasa C, fungsi yang digunakan untuk menerima inputan dari user yakni scanf()
. Pada fungsi ini, kita menggunakan Format Specifier.
Perhatikan Format dibawah ini :
scanf("%<format specifier>", &var);
- fungsi
scanf()
merupakan fungsi untuk mengambil input dari keyboard -
"format specifier"
yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil. -
&
merupakan simbol untuk mengambil alamat memori dari variabel. -
var
merupakan variabel yang digunakan untuk menyimpan inputan user.
coba perhatikan contoh dibawah ini :
#include <stdio.h>
int main()
{
int a;
printf("Masukkan nilai variabel a: ");
scanf("%d", &a);
printf("variabel a memiliki nilai = %d", a);
return 0;
}
Input
3
Output
a memiliki nilai = 3
Namun saat menginputkan teks yang mengadung spasi, maka akan terjadi error atau terpecah seperti contoh dibawah ini :
#include <stdio.h>
int main () {
char name[20], web[30];
printf("Nama: ");
scanf("%s", &name);
printf("web: ");
scanf("%s", &web);
printf("Nama yang diinputkan: %s\n", name);
printf("Web yang diinputkan: %s\n", web);
return 0;
}
Input
nama: git hub // git hub merupakan imputan
web: // tidak menerima inputan karena ketika menekan enter untuk input, enter tersebut dianggap input variabel string setelahnya
Output
Nama yang diinputkan: git
Web yang diinputkan: hub
untuk mengatasi masalah tersebut, kita ubah format pada scanf()
menjadi sebagai berikut :
printf("Nama: ");
scanf("%[^\n]s", &name);
dan setelah menambahkan format sesuai contoh diatas, maka dibawahnya ditambahkan fungsi fflush(stdin);
karena akan terjadi error apabila terdapat inputan selain contoh diatas.
#include <stdio.h>
int main () {
char name[20], web[30];
printf("Nama: ");
scanf("%s", &name);
fflush(stdin);
printf("web: ");
scanf("%s", &web);
printf("Nama yang diinputkan: %s\n", name);
printf("Web yang diinputkan: %s\n", web);
return 0;
}
Input
nama: git hub // git hub merupakan imputan
web: www.github.com // www.github.com merupakan inputan
Output
Nama yang diinputkan: git hub
Web yang diinputkan: www.github.com
Selain IDE, kita juga membutuhkan platform untuk mengasah kemampuan pemrograman kita. HackerRank merupakan satu dari sekian banyak platform tersebut. Kita akan menggunakan HackerRank untuk menunjang kegiatan praktikum Algoritma dan Pemrograman di Informatika. Berikut adalah tutorial mengakses HackerRank:
- Masuk ke HackerRank.
- Pilih Sign Up and Code, kemudian pilih Log In jika sudah memiliki akun. Jika belum, pilih Sign Up dan isikan data diri yang diminta.
- Sesudah sampai di Dashboard, scroll ke bawah hingga ke Prepare by Topics.
- Pilih bahasa C.
Setelah itu, klik Solve Challenge pada soal pertama kita yang berjudul "Hello World!" in C!