Laporan P4 Sebagian
Laporan P4 Sebagian
5.1 Tujuan Percobaan 1. Praktikan dapat mengerti tentang bahasa C 2. Praktikan mengerti struktur bahasa C 3. Praktikan dapat menerapkan konsep algoritma, flowchart kedalam bahasa C 4. Praktikan dapat menjelaskan library dalam bahasa C 5. Praktikan dapat menjelaskan tipe data, format data dari bahasa C 6. Praktikan dapat menjelaskan dasar input output 7. Praktikan dapat mengerti dan mengimplementasikan konsep penyeleksian kondisi, perulangan dalam bahasa C 5.2 Alat dan Bahan - PC - MinGW Developer Studio
5.3.2
If
5.3.3
If Else
Gambar 5.7 Screenshoot running program If Else (T) 5.3.4 If Else Bersarang
Gambar 5.9 Screenshoot running program If Else Bersarang 5.3.5 Switch Case
Gambar 5.19 Screenshoot running program For Bersarang 5.3.10 Aplikasi Prima
Algoritma a) Mulai Aplikasi b) Masukan Nama anda c) Masukan Nama dosen anda d) Tampilkan nama anda dan dosen anda e) Akhiri Aplikasi Pada bahasa C untuk memasukkan data ( input ) atau mengeluarkan data (output) memakai sebuah perintah, beberapa diantaranya yaitu printf(), scanf(), puts(), gets(), putc(),dan getch(). Bentuk umumnya adalah : a) printf(kata yang akan dicetak dan/atau karakter dan/atau tipe data variabel, nama_variabel); b) c) scanf(tipe data, &nama_variabel); putch(karakter); getch(nama_variabel);
scanf("%s",&dosen); //Input Nama Dosen printf("Jadi :\n"); printf("Nama Anda adalah %s, ",&nama); //Output Nama Mahasiswa printf("Nama Dosen Anda adalah %s",&dosen); //Output Nama Dosen getch(); }
Flowchart Aplikasi
Start
Gambar 5.22 Flowchart Aplikasi Input dan Output 5.4.2 If Algoritma a) b) Mulai Aplikasi Masukkan tinggi badan (tinggi)
Msukkan N Mahasis
c) d) e)
memenuhi, anda tidak diperbolehkan masuk permainan ini Jika tinggi>150, lanjutkan ke langkah berikutnya Mengakhiri aplikasi
Kondisional if disusun oleh kata if dan digunakah untuk kondisi tunggal. Bila kondisi terpenuhi maka proses di dalam if akan di jalankan. Bentuk umumnya : if(kondisi) pernyataan/proses; Flowchart Aplikasi
Start
Masukk
{ int berat; //Deklarasi Variabel Berat Badan dalam Integer printf("Berat Badan Anda: "); //Input Angka Berat Badan scanf("%i",&berat); if(berat>= 70) //Persyaratan Berat Badan Dengan If printf("\n Maaf Anda Terlalu Berat, Dilarang Naik!"); //Pernyataan Bila Memenuhi Persyaratan getch(); }
5.4.3
If Else
Algoritma a) Mulai Aplikasi b) Masukan Umur c) Jika Umur < 20, Tampilkan Maaf Anda tidak cocok hidup di darat! d) Jika Umur > 20, Tampilkan Anda telah lama hidup di darat! e) Akhiri Aplikasi Kondisional if disusun oleh kata if dan digunakah untuk kondisi tunggal. Bila kondisi terpenuhi maka proses di dalam if akan di jalankan. Bentuk umumnya : if(kondisi) pernyataan/proses;
Flowchart Aplikasi
Start
//Deklarasi Variabel Berat Badan dalam Integer scanf("%i",&berat); if(berat>=70)//Persyaratan Berat Badan printf("\n Maaf Anda Terlalu Berat, Dilarang Naik!");//Pernyataan Bila Sesuai Persyaratan else//Kondisi Selain Persyaratan
printf("\n Anda Cukup Ringan, Boleh Naik.");//Prnyataan Bila Tidak Sesuai Pernyataan getch(); }
Berat>= 70
5.4.4
If Else Bersarang Algoritma a) Mulai Aplikasi b) c) d) e) f) g) h) i) j) Masukkan nilai yang ingin diproses (nilai) Jika nilai < =0, tampilkan Nilai yang Anda Masukkan Salah Jika nilai <=20, tampilkan Nilai Anda E Jika nilai <=40, tampilkan Nilai Anda D Jika nilai <=60, tampilkan Nilai Anda C Jika nilai <=80, tampilkan Nilai Anda B Jika nilai <=100, tampilkan Nilai Anda A Jika nilai >=100, tampilkan Nilai yang Anda Masukkan Salah Akhiri Aplikasi
Kondisional if ...else... bersarang disusun oleh kata if dan else serta digunakan untuk banyak kondisi. Bila kondisi terpenuhi maka proses di dalam if akan di jalankan, bila tidak maka proses di dalam else yang dijalankan dan masuk ke kondisi kedua, begitu seterusnya. Bentuk umumnya : if(kondisi1){ if(kondisi2){ ................... if(kondisi ke-n){ else pernyataan/proses ke-n; } ........................... else pernyataan/proses2; } else pernyataan/proses1;
} Flowchart Aplikasi
Start
Gambar 5.25 Flowchart Aplikasi If Else Bersarang Penjelasan source code aplikasi
#include "stdio.h" #include "conio.h" int main() { float nilai;
printf("Masukan Nilai Anda: \n"); scanf("%f",&nilai);//Pengambilan Data Nilai dalam Variabel Nilai if (nilai <= 100)//Syarat Kondisi 1, lebih dari 80, kurang dari / sama dengan 100 {if (nilai <= 80)//Syarat Kondisi 2, lebih dari 60, kurang dari / sama dengan 80 {if (nilai <= 60)//Syarat Kondisi 3, lebih dari 40, kurang dari / sama dengan 60 {if (nilai <= 40)//Syarat Kondisi 4, lebih dari 20, kurang dari / sama dengan 40
Nilai < 0
Tidak
{if (nilai <= 20)//Syarat Kondisi 5, lebih dari 0, kurang dari / sama dengan 20 {if (nilai < 0)// Syarat bukan angka {printf("\n angka yang anda masukkan salah\n");}//Bila tidak memenuhi Syarat else printf("\n Nilai Anda E\n");}//Bila Memenuhi Syarat 5 else printf("\n Nilai Anda D\n");}//Bila Memenuhi Syarat 4 else printf("\n Nilai Anda C\n");}//Bila Memenuhi Syarat 3 else printf("\n Nilai Anda B\n");}//Bila Memenuhi Syarat 2 else printf("\n Nilai Anda A\n");}//Bila Memenuhi Syarat 1 else printf("\n angka yang anda masukkan salah\n");//Bila tidak memenuhi Syarat getch(); } Kondisi 6, kurang dari 0 atau
5.4.5
Switch Case Algoritma a) Mulai Aplikasi b) c) d) e) f) g) h) i) j) Tampilkan pilihan yang ada Masukkan pilihan Jika pilihan <=0, lanjut ke langkah (j) Jika pilihan = 1, tampilkan Terkenal dengan Kincir Anginnya Jika pilihan = 2, tampilkan Terkenal dengan Adolf Hitlernya Jika pilihan = 3, tampilkan Terkenal dengan Pizzanya Jika pilihan = 4, tampilkan Terkenal dengan Matadornya Jika pilihan = 5, tampilkan Terkenal dengan Menara Eiffel Jika pilihan > 5, lanjut ke langkah (j)
k)
Akhiri Aplikasi
Struktur kondisi switch.......case digunakan untuk penyeleksian kondisi dengan kondisi yang sangat banyak. Struktur ini akan melakukan proses atau pernyataan pada saat pilihan (case) yang tepat, selanjutnya keluar dengan perintah break;. Bentuk umumnya : switch(kondisi) { case 1 : pernyataan1; break; . case n : pernyataan n; break; } Flowchart Aplikasi
Start
Masukkan
5.4.6
While
b) i=1 c) Masukkan Nama (Nama(15)) d) Masukkan jumlah Perulangan (ulang) e) Jika i<=ulang, Tampilkan Nama (15) f) i+1, kembali ke kondisi (e) g) Jika i>ulang, lanjut ke langkah (h) h) Akhiri Aplikasi Perulangan while melakukan perulangan saat kondisi yang diminta terpenuhi dan dengan jumlah perulangan yang belum diketahui. Perulangan ini akan berhenti jika tidak lagi sesuai kondisi. Bentuk umumnya : while(kondisi){ proses/pernyatan;} Flowchart Aplikasi
printf("\n\nJumlah Perulangan Yang Diinginkan: \n");//Display Masukan Perulangan scanf("%i", &ulang);//Input Variabel Perulangan while(i<=ulang){//Persyaratan Pengulangan printf("\n %s",&nama[15]); i++;//Display Pengulangan Fungsi Dengan Tambahan } getch(); } Isi Variabel i dengan 1
5.4.7
Do While
Algoritma a) Mulai Aplikasi b) i=1 c) Masukan Asal(Asal(15) d) Masukkan jumlah Perulangan (ulang) e) Jika i<=ulang, Tampilkan Asal (15) f) i+1, kembali ke langkah (e) g) Jika i>ulang, lanjut ke langkah (h) h) Akhiri aplikasi Struktur dan fungsi perulangan do...while sebenarnya sama dengan perulangan while hanya saja while nya di bawah. Bentuk umumnya : do{ proses/pernyataan; } while(kondisi); Flowchart Aplikasi
printf("\n\nJumlah Perulangan Yang Diinginkan: \n");//Display Masukan Perulangan scanf("%i", &ulang);//Input Variabel Perulangan do{//Melakukan Perintah perulangan printf("\n %s",&nama[15]);//Display Input Dengan Pengulangan Sejumlah i = 1 i++; } while(i<=ulang);//Batas Pengulangan getch(); }
5.4.8
For
Algoritma a) Mulai Aplikasi b) Masukan Nama(Nama(15) c) Masukkan jumlah Perulangan (ulang) d) i=1 e) Jika i<=ulang, Tampilkan Asal (15) f) i+1, kembali ke kondisi (e) g) Jika i>ulang, lanjut ke langkah (h) h) Akhiri Aplikasi Struktur perulangan for digunakan untuk perulangan yang telah diketahui atau ditentukan jumlah perulangannya. Dari segi penulisannya, perulangan for ini lebih efisien. Bentuk umumnya : for(kondisi_awal; syarat; perubahan_kondisi) pernyataan/proses; Flowchart Aplikasi
printf("\n\nJumlah Perulangan yang Diinginkan: \n"); //Display perintah masukkan jumlah perulangan scanf("%i", &ulang); //Input jumlah perulangan for(int i=1;i<=ulang;i++) //Fungsi perulangan { printf("\n %s",&nama[15]);} //Display nama sesuai jumlah perulangan getch(); }
5.4.9
For Bersarang
Algoritma a) Mulai Aplikasi b) Masukkan jumlah data (jml) c) i=1 d) Jika i<=jml, masukkan data ke n, kemudian nilai i+1 e) Kembali ke langkah (d) f) Jika i>jml, nilai i=1 g) Jika i<=jml, nilai j=1 h) Jika j<=jml, kemudian jika data [i] < data [j], nilai variable temp = nilai variable data [i], jika data [i] >= data [j] lanjut ke langkah (k) i) Nilai variable data [i] = Nilai variable data [j] j) Nilai variable data [j] = Nilai variable temp k) Nilai j + 1, kembali ke langkah (h) l) Jika j > jml, Nilai i + 1, kembali ke langkah (g)
m) Jika i > jml, Tampilkan pesan setelah pengurutan n) Nilai i = 1 o) Jika i < = jml, Tampilkan data yang telah diurutkan p) Nilai i+1, kembali ke langkah (0) q) Jika i > jml, lanjut ke langkah (r) r) Akhiri Aplikasi
For bersarang merupakn perulanga dengan menggunakan for, yang mana di dalam perulangan ada perulangan lagi dan seterusnya. Bentuk umumnya : for(kondisi_awal1; syarat1; perubahan_kondisi1) { ................................. for(kondisi_awal-n; syarat-n; perubahan_kondisi-n){ pernyataan/proses; ............................... }}
Flowchart Aplikasi
Sta
a) Mulai Aplikasi b) Masukkan Jumlah Bilangan (max) c) Jum=1, i=1 d) Jika jum<max, i+1, prima = false e) Jika i=2, prima = true, lanjut ke langkah (i), jika tidak maka j=2 f) Jika j<i, lanjut ke proses berikutnya, jika tidak lanjut ke langkah (i) g) Jika i%j=0, prima=false kemudian keluar dari looping, lanjut ke langkah (i) h) Jika i%j tidak sama dengan 0, prima = true, j+1, Kembali ke langkah f i) Jika prima=true, tampilkan bilangan (i), lanjut ke langkah (k) j) Jika prima != true, lanjut ke langkah (k) k) Jum + 1, Kembali ke langkah c l) Jika jum >=max, lanjut ke langkah (m) m) Akhiri Aplikasi
Flowchart Aplikasi
Jum
Gambar 5.31 Flowchart Aplikasi Prima Penjelasan source code aplikasi
#include<stdio.h> #include<conio.h> int main(){ int i,j,max,jum;//Deklarasi Variabel i,j,max,jum sebagai integer bool prima;//Variabel prima sebagai bolean printf("Masukkan perintah scanf("%i",&max);//Input jumlah data prima jum=1;//Deklarasi nilai variabel jum=1 for (i=1;jum<=max;i++){//Fungsi perulangan, jika input lebih besar dari jum maka salah prima=false; if (i==2)//Jika i=2 maka benar prima=true; else{ for (j=2;j<i;j++){//Jika i habis dibagi j if (i % j==0){ prima=false;//Maka bukan prima break; // keluar dari looping } else prima=true;//Selain itu maka prima } } if (prima==true){//Fungsi bila bilangan adalah prima printf("%i\t",i);//Display bilangan prima sesuai jumlah jum jum++;} } getch(); } jumlah deret bilangan prima: ");//Display
5.5 Kesimpulan 1. C menyediakan berbagai tipe data, seperti string,integer,float,char, double, dan kosong (dideklarasikan dengan void). 2. Penentu format adalah karakter-karakter yang merepresentasikan tipe data pada suatu variabel, sebagai contoh integer penentu formatnya %d, char penentu formatnya %c. 3. Operator-operator standart yang bisa digunakan dalam bahasa C adalah +,-,*,/,&(and), | (or). 4. C mempunyai beberapa macam operator seperti aritmatika, hubungan, penaikan dan penurunan, ukuran, koma dan presidensi operator. 5. Operator aritmatika digunakan untuk menunjukan hubungan dua buah operand. 6. Operator relasi digunakan untuk menunjukkan hubungan dua buah operand. 7. Operator ukuran digunakan untuk mengetahui ukuran memori dari operand dalam satuan byte. 8. Operator penaikan (++) akan menambah nilai numeric 1 ke pengenal yang menggunakannya dan operator penurunan (--) akan mengurangi dengan nilai numeric 1 untuk pengenal yang menggunakannya. 9. Sebelum proses eksekusi dalam bahasa C sama dengan pascal yaitu dengan menggunakan compile kemudian di eksekusi. 10. Penggunaan bahasa C berbeda dengan bahasa Pascal, harus digunakan dengan hati-hati karena menggunakan pointer maka dapat mempengaruhi sistem operasi. 11. Dalam C penyeleksian kondisi dapat dilakukan oleh Statement if, ifelse, dan switch.
12. Statemen if-else, mempunyai pengertian jika kondisi bernilai benar, maka statemen1 akan dikerjakan, jika tidak memenuhi syarat, maka akan mengerjakan statemen2. 13. Statemen switch-case, setiap cabang(case) akan dijalankan jika syarat nilai konstanta terpenuhi dan default akan dijalankan jika semua cabang(case) tidak terpenuhi. 14. Printf merupakan statemen output ke monitor. 15. Puts merupakan statemen output ke monitor. Namun berbeda dengan printf, puts digunakan khusus untuk variabel string dan puts otomatis pindah baris tidak perlu menggunakan \n. 16. Looping yang digunakan pada bahasa C adalah for, while dan do while. 17. Statement for digunakan untuk mengulang eksekusi suatu statement 18. Penggunaan statement while sama dengan for, tetapi while memerlukan sebuah argument berupa kondisi pertidaksamaan yang menentukan dikerjakannya pengulangan atau tidak. 19. Pada looping for, jumlah perulangan sudah ditetapkan pemrogram dari awal, sebagai contoh for (a=1;a<=10;a++) {statemen} maka statemen akan diulangi hingga 10 kali dengan nilai a mengalami increment terus menerus di setiap perulangan. 20. Pada looping while (kondisi) {statemen}, penyeleksian kondisi dilakukan di awal loop. 21. Pada looping do {statemen} while (kondisi), penyeleksian kondisi dilakukan di akhir loop.