BKPM ProgDas New

Embed Size (px)

Citation preview

BKPM Pemrograman Dasar

Praktikum ke Judul Praktikum Alokasi Waktu

:1 : Pengantar Logika dan Algoritma : 1 X 50 menit

1. Tujuan Instruksional Khusus o Mahasiswa memahami pengertian logika dan algoritma. o Mahasiswa memahami konsep berpikir algoritmik. o Mahasiswa mampu memberikan solusi algoritmik untuk kehidupan sehari-hari. 2. Teori Sumber : Wikipedia. Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai. Jenis-jenis Algoritma Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang berbeda. Divide and Conquer, paradigma untuk membagi suatu permasalahan besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian memecahkan permasalahan-permasalahan kecil yang terbentuk. Dynamic programming, paradigma pemrograman dinamik akan sesuai jika digunakan pada suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter permasalahan yang dihadapi.

Jurusan Teknologi Informasi

1

BKPM Pemrograman Dasar

Metode serakah. Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap; dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.

Penulisan Algoritma ada tiga cara, yaitu : Dalam bahasa natural (Bahasa Indonesia, Bahasa Inggris, dan bahasa manusia lainnya) Tapi sering membingungkan (ambiguous) Menggunakan flow chart (diagram alir) Bagus secara visual akan tetapi repot kalau algoritmanya panjang Menggunakan pseudo-code Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman

3. Alat dan Bahan a. BKPM b. Kertas c. Komputer d. LCD e. Alat Tulis Kantor (ATK) 2. Pelaksanaan Praktikum a. Tiap mahasiswa akan diberikan permasalahan dalam kehidupan seharihari. b. Mahasiswa diminta memberikan solusi algoritmik terhadap permasalahan tersebut sesuai dengan perintah yang ada atau informasi dari Dosen. 5. Tugas dan latihan Buatlah dengan bahasa natural ! 1. Suatu ketika teman anda datang dari luar kota, ingin mengunjungi anda di rumah, sayangnya teman anda tidak tau jalan menuju rumah anda. Cobalah anda ceritakan kepada teman anda bagaimana cara untuk sampai ke rumah anda dengan urutan langkah yang algoritmik. 2. Luas lingkaran dapat diselesaikan dengan rumus L = pi.R2 , buatlah urutan langkah bagaimana diminta untuk mengajari seseorang tentang penggunaan rumusan tersebut. 3. Setiap orang tentu memiliki resep masakan istimewa, tugas anda adalah coba andapilih salah satu, dan ceritakan formulasi resep masakan tersebut serta ceritakakn pula urut-urutan cara memasaknya.

Jurusan Teknologi Informasi

2

BKPM Pemrograman Dasar

Praktikum ke Judul Praktikum Alokasi Waktu

:2 : Pengenalan Bahasa C : 2 X 50 menit

1. Tujuan Instruksional Khusus o Mahasiswa diharapkan dapat memahami sintaks Bahasa C o Mahasiswa diharap mampu membuat program sederhana menggunakan Bahasa C 2. Teori Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan di computer Digital Equipment Corporation PDP-11 yang menggunakan system operasi UNIX. Hingga saat ini penggunaan bahasa C telah merata di seluruh dunia. Hampir semua perguruan tinggi di dunia menjadikan bahasa C sebagai salah satu mata kuliah wajib. Selain itu, banyak bahasa pemrograman populer seperti PHP dan Java menggunakan sintaks dasar yang mirip bahasa C. Oleh karena itu, kita juga sangat perlu mempelajarinya. Program C pada hakekatnya tersusun atas sejumlah blok fungsi. Sebuah program minimal mengandung sebuah fungsi. Fungsi pertama yang harus ada dalam program C dan sudah ditentukan namanya adalah main(). Setiap fungsi terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan dimaksudkan untuk melaksanakan tugas khusus. Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan tanda kurung kurawal buka ({ ) dan diakhiri dengan tanda kurung kurawal tutup ( }). Diantara kurung kurawal itu dapat ditulis statemenstatemen program C. Berikut ini adalah struktur program C

main() { Statement-statement; } Fungsi_fungsi_lain() { fungsi lain yang Statement-statement; pemrogram }

fungsi utama

fungsiditulis oleh

Jurusan Teknologi Informasi

3

BKPM Pemrograman Dasar

3. Alat dan Bahan o BKPM o Komputer o LCD o Alat Tulis Kantor (ATK) 4. Pelaksanaan Praktikum a. Jalankan Turbo C pada komputer masing-masing, tuliskan program berikut ini dan simpan dengan nama file hello.c

b.

Jalankan Turbo C pada komputer masing-masing, tuliskan program

berikut ini dan simpan dengan nama file hello1.c

5. Tugas dan Latihan ! a. Apakah keluaran dari program dibawah ini : #include main() { printf(Belajar Pemrograman C !!!) } b. Buatlah program untuk menampilkan kalimat Politeknik Negeri Jember c. Buatlah program untuk menerima input bilangan dari keyboard dan menampilkannya kembali.

Jurusan Teknologi Informasi

4

BKPM Pemrograman Dasar

Praktikum ke Judul Praktikum Alokasi Waktu

:3&4 : Struktur Dasar Bahasa C : 4 X 50 menit

1. Tujuan Instruksional Khusus a. Mahasiswa mampu menjelaskan tentang beberapa tipe dasar b. Mahasiswa mampu menjelaskan tentang variabel dan konstanta c. Mahasiswa mampu menerapkan beberapa jenis operator d. Mahasiswa mampu menerapkan beberapa instruksi I/O 2.Teori Tipe Data Dasar Data merupakan suatu nilai yang bisa dinyatakan dalam bentuk konstanta atau variabel. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat diubah-ubah selama eksekusi berlangsung. Data berdasarkan jenisnya dapat dibagi menjadi lima kelompok yang dinamakan sebagai tipe data dasar yaitu : Bilangan Bulat (integer) Bilangan real presisi-tunggal Bilangan real presisi-ganda Karakter Tak bertipe (void) Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan suatu operasi atau manipulasi, seperti menjumlahkan dua buah nilai, memberikan nilai kesuatu variabel, membandingkan kesamaan dua buah nilai. Menampilkan data ke layar monitor menggunakan fungsi printf(), puts(), dan putchar(). Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan karakter) Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhiri dengan perpindahan baris. Fungsi putchar() digunakan untuk menampilkan sebuah karakter. Dalam bahasa C, terdapat penentu format yang dipakai untuk memberitahu kompiler mengenai jenis data yang akan ditampilkan. Kode penentu format tersebut antara lain : %c : menampilkan sebuah karakter %s : menampilkan sebuah string

Jurusan Teknologi Informasi

5

BKPM Pemrograman Dasar

%i, %d : menampilkan sebuah bilangan bulat (integer) %f, %e : menampilkan sebuah bilangan pecahan (real) %o : menampilkan sebuah bilangan octal %x : menampilkan sebuah bilangan heksadesimal %u : menampilkan sebuah bilangan tak bertanda Memasukkan/Menerima Data scanf() Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara terformat. gets() Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik. getchar() Fungsi getchar() digunakan untuk membaca data yang bertipe karakter Harus diakhiri dengan penekanan tombol enter Karakter yang dimasukkan terlihat pada layar Pergantian baris secara otomatis getch() dan getche() Fungsi getch() dan getche() digunakan untuk membaca data karakter. Karakter yang dimasukkan tidak perlu diakhiri dengan penekanan tombol enter. Tidak memberikan efek pergantian baris secara otomatis Jika menggunakan fungsi getch() karakter yang dimasukkan tidak akan ditampilkan pada layer sehingga sering digunakan untuk meminta inputan berupa password. Sedangkan pada getche() karakter yang dimasukkan akan ditampilkan pada layar. 3. Alat dan Bahan o BKPM o Komputer o LCD o Alat Tulis Kantor (ATK) 4. Pelaksanaan Praktikum Ketik program berikut ini dan jalankan menggunakan Turbo C

Jurusan Teknologi Informasi

6

BKPM Pemrograman Dasar

a. Program 1#include #include void main() { int x; float y; char z; double w; clrscr(); // untuk membersihkan layar x = 10; //variable x diisi dengan 10 y = 9.45; // variable y diisi dengan 9.45 z = C; // variable z diisi dengan karakter C w = 3.45E+20; // variable w diisi dengan 3.45E+20 printf(Nilai dari x adalah : %i\n, x); // Menampilkan isi variable x printf(Nilai dari y adalah : %f\n, y); // Menampilkan isi variable y printf(Nilai dari z adalah : %c\n, z); //Menampilkan isi variable z printf(Nilai dari w adalah : %lf\n, w); // Menampilkan isi variable w

b. Program 2/* Perbedaan operator peningkatan ++ yang diletakkan di depan dan dibelakang operand */ #include #include void main() { int x, nilai; clrscr(); x = 5; nilai = ++x; /* berarti x = x + 1; nilai = x; */ printf("nilai = %d, x = %d\n", nilai, x); nilai = x++; /* berarti nilai = x; nilai = x + 1; */ printf("nilai = %d, x = %d\n", nilai, x); getch(); }

Jurusan Teknologi Informasi

7

BKPM Pemrograman Dasar

c. Program 3/* Program untuk menampilkan data berupa bilangan integer dan string */ #include stdio.h #include conio.h void main() { int umur; char nama[20]; clrscr(); puts(Masukkan nama Anda : ); gets(nama); puts(Masukkan umur Anda : ); scanf(%d, &umur); printf(Nama Anda : %s \n, nama); //tipe data string printf(Umur Anda : %d \n, umur); //tipe data integer getch(); }

d. Program 4/* Program memasukan inputan dengan beberapa tipe data */ #include #include void main() { int jumlah; char huruf, nim[10]; float nilai; clrscr(); printf("Masukkan sebuah bilangan bulat : "); scanf("%d", &jumlah ); // membaca sebuah bilangan bulat printf("Masukkan sebuah karakter : "); scanf("%c", &huruf ); //membaca sebuah karakter printf("Masukkan nim Anda : "); scanf("%s", &nim ); // membaca sebuah string printf("Masukkan sebuah bilangan pecahan : "); scanf("%f", &nilai ); //membaca sebuah bilangan float printf("\nNilai variable yang Anda masukkan adalah :\n"); printf("jumlah = %d\n", jumlah ); printf("huruf = %c\n", huruf ); printf("nim = %s\n", nim ); printf("nilai = %f\n", nilai ); getch(); }

Jurusan Teknologi Informasi

8

BKPM Pemrograman Dasar

e. Program 5/* Program inputan tipe data karakter/string */ #include stdio.h #include conio.h void main() { char nama[20]; clrscr(); printf(Masukkan nama Anda : ); gets(nama); printf(Hello, Nama Anda adalah %s, nama); getch(); }

f. Program 6#include #include void main() { char huruf1, huruf2; printf(Masukkan sebuah karakter : ); huruf1 = getche(); // karakter yang dimasukkan akan terlihat di layar printf(\nKarakter yang Anda masukkan adalah %c\n, huruf1); printf(\nMasukkan sebuah karakter lagi : ); huruf2 = getch(); // karakter yang dimasukkan tidak terlihat di layar printf(\nKarakter yang Anda masukkan adalah : %c, huruf2); getch(); }

5. Latihan ! Buatlah program dalam Bahasa C untuk : a. Mencetak deret bilangan 1 3 5 7 9 11 13 15 17 b. Menghitung jumlah dan rata-rata 5 buah bilangan bulat positif

Jurusan Teknologi Informasi

9

BKPM Pemrograman Dasar

Praktikum ke Judul Praktikum Alokasi Waktu

:5&6 : Pengambilan Keputusan /Penyeleksian Kondisi : 4 X 50 menit

1. Tujuan Instruksional Khusus Mahasiswa mampu menggunakan operator kondisi (operator relasi dan logika) Mahasiswa mampu menjelaskan penggunaan pernyataan if Mahasiswa mampu menjelaskan penggunaan pernyataan if-else Mahasiswa mampu menjelaskan penggunaan pernyataan switch 2. Teori Operator relasi biasa dipakai untuk membandingkan dua buah nilai. Hasil pembandingan berupa keadaan benar atau salah. Keseluruhan operator relasi pada C ditunjukkan pada tabel berikut : Operator Makna > Lebih dari >= Lebih dari atau sama dengan < Kurang dari 65) printf(\n ANDA LULUS !!!!\n); getch();

b. Contoh Program If-else#include stdio.h #include conio.h void main() { float nilai; clrscr(); printf(Masukan nilai yang didapat : ); scanf(%f, &nilai); /* Masukan akan disimpan dalam variable nilai */ if (nilai > 65) printf(\n LULUS !!!\n); else printf(\n TIDAK LULUS !!!\n); getch(); }

Jurusan Teknologi Informasi

12

BKPM Pemrograman Dasar

c. Contoh Program Switch Case/* Program menentukan nama hari berdasarkan inputan */ #include stdio.h #include conio.h void main() { clrscr(); int hari; puts(Menentukan nama hari\n); puts(1 = Senin 2 = Selasa 3 = Rabu 4 = Kamis); puts(5 = Jumat 6 = Sabtu 7 = Minggu); printf(\nMasukan kode hari( 1-7) : ); scanf(%d, &hari); switch(hari) { case 1 : puts(Hari Senin); /* kemungkinan pertama */ break; case 2 : puts(Hari Selasa); /* kemungkinan kedua */ break; case 3 : puts(Hari Rabu); /* kemungkinan ketiga */ break; case 4 : puts(Hari Kamis); /* kemungkinan keempat */ break; case 5 : puts(Hari Jumat); /* kemungkinan kelima */ break; case 6 : puts(Hari Sabtu); /* kemungkinan keenam */ break; case 7 : puts(Hari Minggu); /* kemungkinan ketujuh */ break; default : puts(Kode hari yang Anda masukan SALAH); } getch(); }

5.Tugas dan Latihan ! a. Buatlah program untuk membandingkan sebuah nilai yang diinputkan dari keyboard dengan variabel integer sum bernilai 65. Jika lebih kecil, maka tampilkan pesan : Maaf, Anda harus mencoba lagi !! b. Buatlah program untuk mencetak bilangan terbesar dari 5 buah bilangan yang dimasukkan oleh user, dengan cara membandingkan bilangan sebelumnya dg

Jurusan Teknologi Informasi

13

BKPM Pemrograman Dasar

bilangan berikutnya. Misalnya bilangan tersebut A, B, C, D dan E, maka A dan B dibandingkan, jika A lebih besar dari B, maka A dibandingkan dengan C, dan seterusnya sampai didapat nilai yang terbesar. c. Buatlah program untuk memeriksa isi variabel BIL. Bila variabel tersebut berisi nilai 1 atau 3 atau 5 maka beri keterangan YA. Selain dari nilai tersebut beri keterangan TIDAK. Proses berakhir jika isi variabel BIL=0.

Jurusan Teknologi Informasi

14

BKPM Pemrograman Dasar

Praktikum ke Judul Praktikum Alokasi Waktu

: 7, 8 & 9 : Pengulangan Proses : 6 X 50 menit

1. Tujuan Instruksional Khusus Mahasiswa mampu menggunakan for Mahasiswa mampu menggunakan while Mahasiswa mampu menggunakan do-while

menjelaskan menjelaskan menjelaskan

proses proses proses

pengulangan pengulangan pengulangan

2. Teori Struktur Perulangan For Struktur perulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah perulangannya. Dari segi penulisannya, struktur perulangan for tampaknya lebih efisien karena susunannya lebih simpel dan sederhana. Bentuk umum perulangan for adalah sebagai berikut : for(inisialisasi; syarat; penambahan) pernyataan; Keterangan : ??? Inisialisasi : pernyataan untuk menyatakan keadaan awal dari variabel kontrol. ??? syarat : ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan. ??? penambahan : pengatur perubahan nilai variabel kontrol. Struktur Perulangan While Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulangan ini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akan berhenti bila kondisinya bernilai salah. Struktur Perulangan Do..While Pada dasarnya struktur perulangan do....while sama saja dengan struktur while, hanya saja pada proses perulangan dengan while, seleksi berada di while yang letaknya di atas sementara pada perulangan do....while, seleksi while berada di bawah batas perulangan. Jadi dengan menggunakan struktur dowhile sekurangkurangnya akan terjadi satu kali perulangan. 3. Alat dan Bahan o BKPM o Komputer o LCD o Alat Tulis Kantor (ATK)

Jurusan Teknologi Informasi

15

BKPM Pemrograman Dasar

4. Pelaksanaan Praktikum Ketik program berikut ini dan jalankan (run) dengan Turbo C a. Program For/* Program perulangan menggunakan for */ #include stdio.h #include conio.h void main() { int x; for(x = 1; x