Selamat Datang Di Blog Sederhana Saya ini Mohon Dukungan Dan Patisipasinya yoo dengan Subscribe And Like Channel Youtube dan Fanspages Saya..supaya saya bisa berbagi informasi menarik dan ilmu Yang Bermanfaat Untuk Kita Semua Sekian Terimakasih broo...

Tuesday, November 7, 2017

Dasar Dasar Pemrograman C

Sebelum kita belajar untuk lebih jauh mengenai program, kita harus tau dasar nya terlebih dahulu, Saya akan memperjelas langkah demi langkah untuk memahami dasar pemrograman itu.

Dasar Pemrograman 1

Pertama kita harus tau ↷
Definisi Program :

Sekumpulan instruksi yang digunakan untuk mengatur perangkat keras komputer agar melaksanakan tindakan tertentu.

Bahasa Pemrograman :

Bahasa pemrograman terdiri dari sekumpulan instruksi-instruksi yang ditujukan agar orang bisa memberikan perintah yang nantinya akan dijalankan komputer.

Belajar Memprogram

1. Belajar memprogram ≠ belajar bahasa pemrograman.
2. Belajar memprogram : belajar tentang strategi pemecahan masalah, metodologi dan,
3. sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama.
4. Belajar memprogram : bersifat pemahaman persoalan, analisis dan sintesis.
5. Belajar memprogram, titik berat : designer program.


Belajar Bahasa Pemrograman

1. Belajar bahasa pemrograman : belajar memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa.
2. Belajar bahasa pemrograman , titik berat : coder (pengkodean).

Evolusi Bahasa Pemrograman :


Bahasa Tingkat Rendah (Low Level Language).

Bahasa mesin adalah bahasa yang berisi kode kode mesin yang hanya dapat diinterpretasikan langsung oleh mesin komputer. 

Komputer, pada dasarnya, merupakan mesin digital yang hanya mengenal kondisi ada arus dan tidak ada arus listrik (biasa disimbolkan angka 1) dan tidak ada arus listrik (biasa disimbolkan angka 0). Dari kondisi tersebutlah maka dikenal bahasa mesin, yaitu bahasa yang dikenal oleh komputer dengan menggunakan sandi 1 (satu) dan 0 (nol). Pemrograman dengan bahasa mesin biasa digolongkan dalam bahasa tingkat rendah (low level languages).

Sekumpulan instruksi dalam bahasa mesin dapat membentuk microcode (semacam prosedur dalam bahasa mesin).

Keuntungan: Eksekusi cepat
    Kerugian: Sangat sulit dipelajari manusia

  Bahasa Tingkat Menengah (Intermediate Level Language).

Bahasa assembly adalah bahasa simbol dari bahasa mesin.

Karena bahasa mesin sangat susah, maka  muncul ide untuk melambangkan untaian sandi 1 dan 0 dengan singkatan kata yang lebih mudah dipahami manusia. Bahasa assembly menggunakan perangkat lunak untuk menerjemahkan/ mengkonversi perintah- perintah assembly ke dalam bahasa mesin yang disebut assembler.

Setiap kode bahasa mesin memiliki simbol sendiri dalam bahasa assembly. Misalnya ADD untuk penjumlahan, MUL untuk perkalian, SUB untuk pengurangan, dan lain-lain.

Sekumpulan kode-kode bahasa assembly dapat membentuk makroinstruksi.

Bahasa assembly juga memiliki program untuk men-debugnya tidak seperti bahasa mesin. Misalnya: Turbo Assembler dan debug pada DOS.
   
Assembler akan mencocokkan token dari awal dengan akhir dan dikodekan menjadi bahasa mesin.

Contoh :
Bahasa mesin, dalam prosesor Intel  → 0011 1010 0000 1011.
Bahasa assembly  → CMP AL, 0D (CoMPare AL with 0D).

Perintah dalam bahasa mesin →  0011 1010 0000 1011 ini sama artinya dengan perintah assembly CMP AL, 0D, yang artinya bandingkan nilai register AL dengan 0D.

CMP di sini sebenarnya adalah singkatan dari CoMPare.

Untuk membantu manusia dalam mengkonversi bahasa mesin diperlukan perangkat lunak yang disebut assembler.

Dapat dilihat bahwa singkatan CMP AL, 0D jauh lebh mudah dipahami dibandingkan dengan 0011 1010 0000 1011.

Kelebihan : Eksekusi cepat, masih bisa dipelajari daripada bahasa mesin, file kecil.
         Kekurangan : Tetap sulit dipelajari, program sangat panjang.

 
  Bahasa Tingkat Tinggi (High Level Language).
Bahasa tingkat tinggi adalah bahasa pemrograman yang lebih tinggi dari pada bahasa assembly. Bahasa ini lebih dekat dengan bahasa manusia. Bahasa generasi ini disebut juga bahasa generasi ke-3 (3rd Generation Programming Language).

Bahasa ini juga memberikan banyak sekali fasilitas kemudahan pembuatan program, misalnya: variabel, tipe data, konstanta, struktur kontrol, loop, fungsi, prosedur dan lain-lain.

    Contoh: Pascal, Basic, C++, dan Java.

Bahasa generasi ketiga menggunakan kata- kata dalam bahasa Inggris karena bahasa tersebut adalah bahasa internasional, misal :

Pascal:
writeln (‘Algoritma’);

Atau perintah dalam bahasa C:
printf (“Algoritma\n\r”):

Atau perintah dalambahasa C++:
cout << “Algoritma” << endl;

Ketiga pernyataan di atas bertujuan sama yaitu menuliskan teks ‘algoritma’ ke keluaran standar (Standard Output), ke layar monitor. Ketiga perintah sederhana di atas sebenarnya terdiri dari puluhan atau bahkan ratusan pernyataan assembly. Perangkat lunak yang menerjemahkan program dalam bahasa manusiawi ke dalam bahasa assembly atau mesin ada dua macam, yaitu interpreter dan kompiler.

Keuntungan:
- Mudah dipelajari.
- Mendekati permasalahan yang akan dipecahkan.
- Kode program pendek.

Kerugian:
- Eksekusi lambat.

⤿Bahasa generasi ke-4 (4th Generation Programmming Language) termasuk kategori bahasa pemrograman tingkat tinggi.

Bahasa generasi ke-4 berorientasi pada masalah spesifik (specific problem oriented).

Bahasa ini adalah bahasa yang digunakan langsung untuk memecahkan suatu masalah tertentu. Misalnya SQL untuk database, Oracle, Access.

Keuntungan :
- Lebih cocok dan cepat digunakan untuk pemecahan kondisi atau masalah tertentu.
- Relative lebih mudah dipelajari.

Kekurangan :
- Eksekusi lebih lambat dibandingkan essembly.

⤿ Bahasa generasi ke 5 (5th Generation Programming Language) Merupakan kelompok bahasa-bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (Artificial intelligence).

Kecedarsan buatan : disiplin ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia.

Contoh aplikasi :
〉Pemrosesan bahasa alami (natural language processing).
〉Pengendalian robotika dengan sensor mata.
〉System pakar (expert system).

Contoh program : 
〉Prolog dan LISP untuk kecerdasan buatan.

Perkembangan bahasa pemrograman tidak berhenti sampai pada generasi ketiga saja. Ada generasi lanjutan, yaitu bahasa generasi keempat atau disingkat 4GL (fourth generation languages) dan bahasa generasi kelima atau disingkat 5GL (fifth generation languages).

Jenis-jenis data di dalam setiap bahasa pemrograman belum tentu sama, namun biasanya terbagi menjadi beberapa bagian besar, yaitu :

〉 Data Numerik, yaitu jenis data yang digunakan dalam proses aritmatika atau proses matematis lainnya.

〉 Data String, yaitu jenis data yang dapat terdiri dari berbagai macam karakter. Digunakan untuk proses yang non matematis.

 〉Data Logika, yaitu data yang hanya terdiri dari dua satuan, yaitu benar (true) dan salah (false). Digunakan dalam suatu proses logika yang terdiri dari persamaan boolean.

KONVERSI BAHASA PEMROGRAMAN

Bahasa pemrograman menggunakan perangkat lunak untuk mengkonversikan program dalam bahasa manusiawi ke dalam bahasa assembly atau bahasa mesin, yang terdiri dari dua jenis yaitu interpreter dan compiler.







 〉Interpreter menerjemahkan program baris per baris, artinya apabila suatu baris akan dieksekusi, maka baris tersebut diterjemahkan dulu dalam bahasa mesin, baru selanjutnya baris berikutnya yang akan dieksekusi. Contoh bahasa pemrograman yang menggunakan interpreter adalah Basic.

 〉Compiler menerjemahkan semua perintah dalam bahasa mesin baru kemudian menjalankan hasil penerjemahan. Hasil penerjemahan tersebut disimpan dalam file atau memori. Contoh bahasa yang menggunakan compiler adalah Pascal, C, dan C++.

Dasar Pemrograman 2

Langkah-langkah untuk membuat program yang baik dan terstruktur adalah:

1. Mendefinisikan Masalah.
  
Merupakan langkah penting dan vital yang paling sering dilompati oleh banyak  pemrogram. Karena sangat pentingnya pendefinisian masalah ini maka sangat dianjurkan untuk terlebih dahulu mendefinisikan masalah yang akan dipecahkan, apa saja masukkan yang harus diberikan dan bagaimana keluarannya.

2. Menentukan Solusi.
   
Setelah masalah didefinisikan dengan jelas, masukan yang diberikan sudah jelas, keluaran yang diinginkan sudah jelas, maka langkah selanjutnya adalah mencari jalan penyelesaian masalah. Jika permasalahan terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar lebih mudah diselesaikan.

3. Memilih Algoritma.
   
Langkah ini merupakan salah satu langkah yang penting dalam pemrograman komputer karena pemilihan algoritma yang salah akan menyebabkan program memiliki unjuk kerja yang kurang baik.

4. Menulis Program.
   
Pada langkah ini dimulai penulisan program komputer untuk memecahkan masalah yang diberikan. Untuk menulis program dapat digunakan salah satu bahasa generasi ketiga. Ada beberapa hal yang harus diperhitungkan sebelum memilih bahasa pemrograman, antara lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb.

5. Menguji Program.
   
Setelah program selesai ditulis dilakukan pengujian. Pengujian pertama adalah; Apakah    program berhasil dikompilasi dengan baik? Pengujian berikutnya; Apakah program dapat menampilkan keluaran yang diinginkan? Lebih jauh lagi program harus diuji dengan banyak kasus. Sering terjadi, suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak diinginkan untuk kasus X,Y, dan Z. Langkah ini bisa dilakukan berulang-ulang sampai program diyakini benar-benar berjalan sesuai dengan yang diharapkan.

6. Menulis Dokumentasi.
   
Merupakan hal sepele yang sering dilupakan, karen tidak ada fungsinya pada saat pembuatan program, namun pada masa mendatang akan sangat diperlukan, apalagi bagi orang lain yang mempelajari program kita. Dokumentasi ada dua, yaitu di atas kertas dan menjadi satu dalam program (komentar pendek yang menerangkan fungsi perintah-perintah yang ada dalam program tersebut.

7. Merawat program
   
Setelah program selesai dan digunakan oleh user,maka sering kali muncul bug / kesalahan yang sebelumnya tidak terdeteksi, atau juga user ingin menambahkan fasilitas baru, sehingga program harusdirevisi.

⇲ ALGORITMA DAN PEMROGRAMAN ⇱

Algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun secara sistematis logis, tersetruktur & efisien.

Algoritma berisi langkah-langkah penyelesaian masalah.

Langkah-langkah tersebut dapat ditulis dalam notasi apapun, asalkan mudah dibaca dan dimengerti, karena memang tidak ada notasi baku dalam penulisan algoritma.

Tiap orang dapat membuat aturan penulisandan notasi algoritma sendiri.

Agar notasi algoritma mudah ditranslasi ke dalam notasi bahasa pemrograman, maka sebaiknya notasi algoritma tersebut berkorespnden dengan notasi bahasa pemrograman secara umum.

⇲ ALGORITMA

Aksi :
–   
kejadian yang terjadi pada selang waktu terbatas (dimulai saat T0 dan
      berakhir pada saat T1).

–    Menghasilkan efek netto yang terdefinisi dengan baik dan direncanakan.


〉CONTOH :

Ibu Rani memasak nasi untuk mempersiapkan makan malam..  (luas ruang lingkupnya).

Karena ruang lingkup luas, maka harus didefinisikan keadaan awal dan efek netto yang direncanakan ( Initial State dan Final State).

Initial State (keadaan awal) : T0 → Beras sudah ada di karung beras, dan ditaruh dibawah meja dapur dan diatas meja sudah ada Ricecoker.
 
Final State (keadaan akhir) : T1 → Beras sudah ada didalam  Ricecoker  dengan keadaan  siap untuk dimasak.

- Kejadian : urut-urutan dari beberapa aksi yang terjadi secara berurutan.

- Efek kumulatif dari semua aksi yang terjadi menjadi efek netto dari kejadian.

Penggolongan suatu kejadian menjadi aksi adalah relatif tergantung dari sudut pandang.
Contoh ibu Rani memasak nasi untuk makan malam. Urut-urutannya :

    -Ambil karung dibawah meja
    -Ambil wadah ricecooker
    -Masukkan beras kedalam wadah ricecooker
    -Cuci beras dengan air
    -Rendam beras dengan air secukupnya
    -Masukkan kembali wadah yang berisi beras kedalam Ricecooker.

〉CONTOH LAIN :

Jika tidak dipandang perlu untuk menjelaskan mengambil karung yang ada dibawah meja, maka urut-urutannya menjadi :

    - Ambil wadah ricecooker
    - Masukkan beras kedalam wadah ricecooker
    - Cuci beras dengan air
    - Rendam beras dengan air secukupnya
    - Masukkan kembali wadah yang berisi beras kedalam ricecooker.

Jika esok hari ibu Rani memasak nasi lagi untuk makan malam apakah kita juga akan mengamati hal yang sama?
Jawabannya : bisa tidak dan bisa sama.

Tidak karena ibu Rani tidak mungkin memasak beras yang sama dengan kemarin.
Sama karena kemiripan pola yang dilakukan.

⇲ Kesimpulannya :
- Notasi Algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
- Analoginya sama dengan resep membuat kue. Sebuah resep dapat ditulis dalam bahasa apapun. Bahasa Jepang, Inggris, Perancis, Indonesia, dan lain sebagainya.
- Apapun bahasanya, kue yang dihasilkan tetap sama asalkan semua aturan pada resep diikuti.
- Mengapa demikian ? Karena setiap juru masak (sebagai pemroses) dapat melakukan operasi dasar yang sama, seperti mengocok telur, menimbang berat gula, dan lain sebagainya.

 


No comments: