Selasa, 17 Maret 2020



NAMA  : RAKHA ADITYAPERMANA
KELAS   : 1ID07

1. “Pengantar Pemrogaman”
A. PENGERTIAN BAHASA C
Bahasa Pemrograman C adalah sebuah bahasa pemrograman komputer yang bisa digunakan untuk membuat berbagai aplikasi (general-purpose programming language), mulai dari sistem operasi (seperti Windows atau Linux), antivirus, software pengolah gambar (image processing), hingga compiler untuk bahasa pemrograman, dimana C banyak digunakan untuk membuat bahasa pemrograman lain yang salah satunya adalah PHP.
Meskipun termasuk general-purpose programming language, yakni bahasa pemrograman yang bisa membuat berbagai aplikasi, bahasa pemrograman C paling cocok merancang aplikasi yang berhubungan langsung dengan Sistem Operasi dan hardware. Ini tidak terlepas dari tujuan awal bahasa C dikembangkan.
Bahasa pemrograman C dibuat pertama kali oleh Dennis M. Ritchie pada tahun 1972. Saat itu Ritchie bekerja di Bell Labs, sebuah pusat penelitian yang berlokasi di Murray Hill, New Jersey, Amerika Serikat.
Ritchie membuat bahasa pemrograman C untuk mengembangkan sistem operasi UNIX. Sebelumnya, sistem operasi UNIX dibuat menggunakan bahasa assembly (assembly language). Akan tetapi bahasa assembly sendiri sangat rumit dan susah untuk dikembangkan.
Dengan tujuan mengganti bahasa assembly, peneliti di Bell Labs membuat bahasa pemrograman B. Namun bahasa pemrograman B juga memiliki beberapa kekurangan, yang akhirnya di lengkapi oleh bahasa pemrograman C.
Dengan bahasa C inilah sistem operasi UNIX ditulis ulang. Pada gilirannya, UNIX menjadi dasar dari banyak sistem operasi modern saat ini, termasuk Linux, Mac OS (iOS), hingga sistem operasi Android.
B. STRUKTUR BAHASA C
Kode program yang telah jalankan sebelumnya sangat sederhana, tapi sudah mewakili struktur dasar dari sebuah bahasa pemrograman C. Berikut kode program tersebut:
1
2
3
4
5
6
#include <stdio.h>
int main(void)
{
  printf("Hello, World!\n");
  return 0;
}
Description: Struktur dasar penulisan kode program bahasa C


#include <stdio.h>
Di baris paling awal, terdapat kode #include. Perintah #include digunakan untuk memasukkan sebuah file khusus yang memungkinkan kita mengakses berbagai fitur tambahan dalam bahasa C.
Dalam contoh diatas, file stdio.h berisi kode program agar nantinya kita bisa mengakses perintah printf. File stdio.h sendiri merupakan singkatan dari Standard Input/Output.
Dengan kata lain, agar di dalam kode program nanti kita bisa menggunakan perintah printf, dibagian paling atas kode program C harus terdapat baris #include <stdio.h>. File include ini juga sering disebut sebagai header file, dan karena itu pula menggunakan akhiran .h.
Bahasa C menerapkan konsep modular, dimana fitur-fitur yang ada di pecah ke berbagai file. Jika ingin menggunakan perintah tertentu, panggil header file yang sesuai.
Hasilnya, ukuran file program yang ditulis menggunakan bahasa C menjadi efisien. Kita hanya perlu menggunakan header file yang dibutuhkan saja. Namun kebalikannya, setiap ingin menggunakan perintah tertentu, harus men-include-kan file header yang dibutuhkan.


int main(void) { }
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 “isi” dari kode program penyusun fungsi main() ditulis.
Kode int sebelum main() menandakan nilai kembalian atau hasil akhir dari function main(). Kode int merupakan singkatan dari integer, yakni tipe data angka bulat.
Dengan demikian, kode program main() yang saya tulis diatas harus menghasilkan sebuah angka bulat (menggunakan perintah return yang akan kita bahas sesaat lagi).
Sedangkan tambahan void ke dalam main(void) menandakan bawah fungsi main() tidak membutuhkan nilai input (bahasa inggris void = kosong).
* Jika anda agak bingung dengan penjelasan ini, bisa dianggap bahwa int main(void) { } adalah perintah yang mengawali setiap kode program bahasa C.


printf(“Hello, World!\n”);
Perintah printf digunakan untuk menampilkan sesuatu ke layar. Perintah ini merupakan bagian dari stdio.h, sehingga jika kita ingin menggunakannya, harus terdapat baris perintah #include <stdio.h> di bagian paling awal kode program bahasa C.
Teks yang ingin ditampilkan ditulis dalam tanda kurung dan di dalam tanda kutip dua, seperti: printf(“Hello, World!\n”); Hasil dari perintah ini, akan tampil teks Hello, World! di layar. Tapi apa fungsi tambahan karakter \n?
Jika ditulis di dalam teks, karakter ” \ ” dikenal sebagai escape character. Fungsinya untuk menampilkan karakter yang tidak bisa ditulis. Sebagai contoh, \n merupakan perintah untuk menulis newline character, yakni karakter penanda baris baru.
Artinya, perintah printf(“Hello, World!\n”) akan menampilkan teks “Hello, World!”, kemudian pindah ke baris baru. Bahasa C mendukung berbagai escape character yang nantinya juga akan kita pelajari.
Setelah tanda kurung penutup perintah printf, harus ditutup dengan tanda titik koma (semi-colon), yakni tanda “ ; ”. Setiap perintah bahasa C, harus diakhiri dengan tanda ini, kecuali beberapa perintah khusus. Lupa menambahkan tanda titik koma di akhir sebuah perintah merupakan error yang sangat sering terjadi.


return 0;
Perintah return 0; berhubungan dengan kode int main(void) sebelumnya. Disinilah kita menutup function main() yang sekaligus mengakhiri kode program bahasa C.
Return 0 artinya kembalikan nilai 0 (nol) ke sistem operasi yang menjalankan kode program ini. Nilai 0 menandakan kode program berjalan normal dan tidak ada masalah (EXIT_SUCCESS).
Kita juga bisa menulis return 1, return 99, return -1, dll. Nilai-nilai ini nantinya bisa digunakan oleh sistem operasi atau program lain. Nilai return selain 0 dianggap terjadi error atau sesuatu yang salah (EXIT_FAILURE).
Apakah perintah Return 0 ini harus ditulis? Harus ditulis! jika kita berpatokan ke struktur bahasa C yang ideal. Namun beberapa compiler (termasuk Code:Blocks yang saya gunakan), akan “memaafkan” jika perintah ini tidak ditulis dan menambahkan perintah return 0 secara otomatis (tidak disarankan).
C. CONTOH BAHASA C
Cara Membuat Fungsi pada Bahasa C
Fungsi pada bahasa pemrograman C dapat kita buat dengan cara seperti ini:
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.
Contoh:
void nama_fungsi(){
    printf("Ini adalah sebuah fungsi\n");
}
Lalu untuk parameter bersifat opsional, nanti akan kita bahas lebih dalam.
Sekarang mari kita coba membaut program C dengan fungsi.
Silahkan buat file baru bernama contoh_fungsi.c kemudian isi dengan kode berikut:
#include <stdio.h>

// membuat fungsi say_hello()
void say_hello(){
    printf("Hello Selamat Datang!\n");
}

void main(){
    // memanggil fungsi say_hello()
    say_hello();
}
Hasilnya:
Fungsi say_hello() dapat kita panggil berulang kali pada fungsi main().
Contoh:
#include <stdio.h>

// membuat fungsi say_hello()
void say_hello(){
    printf("Hello Selamat Datang!\n");
}

void main(){
    // memanggil fungsi say_hello()
    say_hello();
    say_hello();
    say_hello();
}
Maka hasilnya:
Jadi, cukup buat fungsi satu kali. Kita bisa panggil berkali-kali.
Fungsi dengan Parameter
Parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi.
Parameter akan menyimpan nilai yang akan diinputkan ke dalam fungsi.
Contoh:
void say_hello(char name[]){
    printf("Hello %s!\n", name);
}
Pada contoh di atas, name adalah sebuah parameter berupa array dengan tipe char. Parameter ini hanya akan dikenali di dalam fungsi.
Lalu, bagaimana cara memanggil fungsi yang memiliki parameter?
Berikut caranya:
say_hello("Petani Kode");
Perhatikan! "Petani Kode" adalah nilai yang akan kita berikan ke parameter.
Biar lebih paham… mari kita coba dalam program.
Silahkan buat program baru dengan nama parameter.c, kemudian isi dengan kode berikut:
#include <stdio.h>

void say_hello(char name[]){
    printf("Hello %s!\n", name);
}

void main(){
    say_hello("Dian");
    say_hello("Petani");
    say_hello("Kode");
}
Hasilnya:
Hasil outputnya akan menyesuaikan dengan nilai parameter yang kita berikan ke dalam fungsi.
Lalu bagaimana kalau ada lebih dari satu parameter?
Gampang…
Tinggal ditambahkan dan dipisah dengan tanda koma seperti ini:
void add(int a, int b){
    printf("%d + %d = %d\n", a, b, a+b);
}
Mari kita coba…
Buatlah program baru barnama dua_param.c, kemudian isi dengan kode berikut:
#include <stdio.h>

void add(int a, int b){
    printf("%d + %d = %d\n", a, b, a+b);
}

void main(){
    add(1, 4);
    add(8, 2);
    add(3, 2);
}
Hasilnya:
Fungsi yang Mengembalikan Nilai
Pada contoh di atas, kita memberikan nilai masukan ke dalam fungsi berupa integer…
…lalu di dalamnya dilakukan operasi penjumlahan.
void add(int a, int b){
    printf("%d + %d = %d\n", a, b, a+b);
}
Fungsi ini tidak akan mengembalikan apa-apa, karena tipe data yang diberikan pada nilai kembalian adalah void.
Fungsi kadang harus mengembalikan sebuah nilai agar dapat diproses di tahap berikutnya.
Kita bisa menggunakan kata kunci return untuk mengembalikan nilai dari fungsi.
Contoh:
int add(int a, int b){
    return a+b;
}
Maka fungsi add() akan mengembalikan nilai berupa integer dari hasil penjumlahan nilai a dan b.
Mari kita coba contoh yang lain…
Silahkan buat program baru bernama fungsi_bagi.c, kemudian isi dengan kode berikut:
#include <stdio.h>

float bagi(int a, int b){
    float hasil = (float)a / (float)b;
    return hasil;
}

void main(){
    printf("Hasil 5/2: %.2f\n", bagi(5, 2));
}
Hasilnya:
Fungsi Rekursif pada C
Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.
Maksudnya?
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.
Biar lebih jelas!
Coba perhatikan contoh berikut:
#include <stdio.h>
int sum(int n);

void main(){
    int number, result;

    printf("Enter a positive integer: ");
    scanf("%d", &number);

    result = sum(number);

    printf("sum = %d", result);
}

int sum(int num){
    if (num!=0)
        return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri
    else
        return num;
}
Hasilnya:
Mengapa hasilnya bisa 21?
Karena kita menginputkan nilai 6, maka akan sama dengan:
1 + 2 + 3 + 4 + 5 + 6 = 21
Variabel Lokal dan Variabel Global
Variabel lokal dan variabel global akan sering kita temukan dalam pembuatan fungsi.
Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi itu sendiri.
Contoh:
#include <stdio.h>

// membuat variabel global
int nilai = 9;

void main(){
    // membuat variabel lokal
    int nilai = 7;

    // mencetak variabel
    printf("Nilai: %d\n", nilai);
}
Pada contoh di atas, kita membuat variabel global bernama nilai.
Lalu di dalam fungsi main(), kita membuat variabel lagi bernama nilai dengan nilai yang berbeda.
Variabel yang ada di dalam fungsi main() adalah variabel lokal.
Lalu, berapakah hasil outputnya?
Jawabannya: 7
Mengapa bisa 7?
Karena variabel nilai kita buat ulang di dalam fungsi main.
Sekarang coba hapus variabel lokal yang ada di dalam main, sehingga akan menjadi seperti ini:
#include <stdio.h>

// membuat variabel global
int nilai = 9;

void main(){
    // mencetak variabel
    printf("Nilai: %d\n", nilai);
}
Maka hasil outputnya akan 9. Karena variabel yang dipakai adalah variabel global.
Pass by Value dan Pass by Reference
Pass by value dan pass by reference adalah cara untuk memberikan nilai pada paramaeter.
Biasanya kita langsung memberikan nilai kepada parameter dengan cara seperti ini:
kali_dua(4);
Ini disebut pass by value, karena di sana kita memberikan nilai 4.
Nah kalau seperti ini:
kali_dua(&nama_variabel);
Ini disebut pass by reference, karena kita memberikan alamat memori.
Contoh:
#include <stdio.h>

void kali_dua(int *num){
    *num = *num * 2;
}

void main(){
    int angka = 9;

    // memanggil fungsi
    kali_dua(&angka);

    // mencetak isi variabel
    // setelah fungsi dipanggil
    printf("isi variabel angka = %d\n", angka);
}
Hasilnya:
Fungsi kali_dua() memiliki parameter berupa pointer, artinya kita harus memberikan alamat memori untuk pointer ini.
Pada saat pemanggilan, fungsi kali_dua() kita isi parameternya dengan alamat memori dari variabel angka.
Maka hasilnya nilai variabel angka akan dikalikan dengan 2 berdasarkan rumus pada fungsi yang kita berikan.
2 -4 .“KOMPONEN BAHASA C”
A. CHARACTER SET , Character set adalah sekumpulan karakter yang biasanya berupa angka, huruf dan berbagai karakter lain yang terstandarisasi, yang masing-masing memiliki ID unik yang disebut code point. Karakter yang ditampung pada suatu character set tergantung pada jenis character set itu sendiri.
B. IDENTIFIER , Identifier adalah suatu pengenal atau pengidentifikasi yang kita deklarasikan agar kompiler dapat mengenalinya. Identifier sendiri dapat berupa nama variabel, konstanta fungsi, kelas, template maupun namespace. Biasanya identifier ini terdiri dari 3 bentuk,yaitu privat public dan proected…
C. KEYWORD , Keyword adalah kata atau rangkaian kata yang dituliskan user di mesin pencari untuk menemukan halaman web yang sesuai, berisi informasi yang mereka cari. Kata atau rangkaian kata yang Anda tuliskan di atas adalah keyword. Contoh : Anda ingin membeli baju muslim secara online
D. TIPE DATA , Tipe data yang dimaksud di dalam ilmu komputer dan bahasa pemrograman adalah Kumpulan benda atau objek yang dapat kita temui pada suatu data. Salah satu contoh dari tipe data yang kita temui sehari hari adalah tentang bilangan bulat. PHP sendiri termasuk bahasa pemrograman yang longgar untuk masalah tipe data, ketika menggunakan PHP, kita tidak perlu dipusingkan dengan tipe data, karena ketika melakukan operasi, PHP akan otomatis mengubah nilai sesuai dengan tipe data yang diperlukan.
E. KONSTANTA , Dalam matematika, konstanta atau tetapan adalah suatu nilai tetap; berlawanan dengan variabel yang berubah-ubah. Konstanta digunakan dalam berbagai disiplin ilmu sains. Beberapa konstanta diberi nama menurut nama penemunya.
F. VARIABEL DAN ARRAY , Array merupakan sebuah variabel yang menyimpan lebih dari 1 buah data yang memiliki tipe data yang sama. Jadi dapat dikatakan bahwa array merupakan kumpulan dari data-data tunggal yang dijadikan dalam 1 variabel array. Sedangkan Variabel adalah suatu tempat untuk menampung data yang nilainya selalu berubah.
G. DECLARASI , Pengertian, Bentuk Umum, dan Deklarasi Array. Pengertian Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. ... Variabel array dideklarasikan dengan mencantumkan tipe dan nama variable yang diikuti dengan banyaknya lokasi memori yang ingin dibuat.
H. EXPRESSION , xpression adalah ekspresi yang sering dikeluarkan atau perkataan yang diucapkan oleh orang dalam kehidupan sehari-hari. Berikut ini adalah kumpulan kata-kata dari daily expression yang diucapkan dalam bahasa Inggris dan diterjemahkan ke dalam bahasa Indonesia: 1.
I. STATEMENT , Statement. ... Berikut ini adalah penjelasan dari arti kata statement berdasarkan survei serta penjelasan dari pengguna internet: Arti kata statement menurut Kamus Bahasa Inggris – Indonesia adalah: kb. 1 pernyataan (to the press). to make a s. memberikan pengumuman, membuat pernyataan.
J. SYMBOLIC CONSTANT , Konstanta matematika adalah sebuah bilangan khusus, biasanya sebuah bilangan riil, yang "sangat menarik dalam beberapa cara".[1] Konstanta muncul dalam berbagai bidang matematika, di mana konstanta seperti e dan π terdapat dalam konteks yang beragam seperti geometri, teori bilangan, dan kalkulus.
Maksud sebuah konstanta muncul "secara alami", dan apa yang membuat sebuah konstana "menarik", pada akhirnya adalah masalah perasaan, dan beberapa konstanta matematika lebih penting untuk alasan historis daripada untuk kepentingan matematika intrinsik mereka. Konstanta yang lebih populer telah dipelajari sepanjang masa dan dihitung dalam banyak angka desimal.
K. OPERATOR , Operator Lapangan /ope·ra·tor/ n orang yang bertugas menjaga, melayani, dan menjalankan suatu peralatan, mesin, telepon, radio, dan sebagainya. Operator adalah jenis pekerjaan fungsional di dalam suatu industri. Tugas utama dari operator lapangan adalah menjalankan suatu operasi.
5. INPUT DAN OUTPUT DASAR
A. FUNGSI KARAKTER , Karakter merupakan sifat batin yang berpengaruh terhadap pikiran, tingkah laku, perilaku, budi pekerti, dan tabiat yang manusia miliki sejak lahir sampai menjadi dewasa, Selain itu, Karakter merupakan nilai-nilai yang khas, baik akhlak, watak, serta kepribadian yang terbentuk dari hasil internalisasi dari berbagai
B. FUNGSI PRINTIF DAN  SCANTIF , Fungsi scanf() adalah fungsi untuk mengambil input dari keyboard. Fungsi ini memiliki format seperti fungsi printf() . Format yang diberikan tergantung dari jenis tipe data apa yang ingin kita ambil. Misalnya mau mengambil angka, maka kita bisa pakai %d atau %i .
C. FUNGSI STRING , Fungsi string adalah fungsi yang digunakan untuk melakukan manipulasi (mengambil, mengubah) data karakter/string. String sendiri merupakan kumpulan karakter, angka, kombinasi huruf & angka.