laporan tugas besar 1 algo edit (1).doc

56
BAB I PENDAHULUAN 1.1 Latar Belakang Belajar merupakan suatu hal yang menjadi pokok bagi setiap orang, dalam belajar setiap orang memiliki metode dan sarananya masing-masing, bisa dari pengalaman, buku, maupun dari seorang guru. Apapun itu cara dan sarana belajar tetaplah suatu proses yang memiliki tujuan yang sama yakni mengatahui sesuatu yang belum diketahui sehingga memiliki manfaat yang nyata untuk dirinya sendiri dan orang lain. Dengan majunya teknologi saat ini maka setiap orang berlomba-lomba untuk memanfaatkan teknologi dalam disetiap kehidupannya, dan salah satunya adalah dalam proses belajar mengajar. Sesuai dengan pengalaman dari penulis sendiri yang sering kali memanfaatkan panduan belajar online yang tersedia di internet dan penulis sendiri mendapatkan manfaat dari hal tersebut. sehingga dalam proses belajar- mengajar akan terasa lebih menyenangkan dan lebih mudah serta dapat dilakukan dimana saja dan kapan saja. Karena hal tersebut penulis berkeinginan untuk membuat suatu program yang dapat digunakan dalam belajar untuk siswa-siswi SMA. Salah satu cara untuk menyelesaikan permasalahan tersebut adalah dengan cara memanipulasi data atau 1

Transcript of laporan tugas besar 1 algo edit (1).doc

BAB IPENDAHULUAN

1.1 Latar Belakang

Belajar merupakan suatu hal yang menjadi pokok bagi setiap orang, dalam belajar setiap orang memiliki metode dan sarananya masing-masing, bisa dari pengalaman, buku, maupun dari seorang guru. Apapun itu cara dan sarana belajar tetaplah suatu proses yang memiliki tujuan yang sama yakni mengatahui sesuatu yang belum diketahui sehingga memiliki manfaat yang nyata untuk dirinya sendiri dan orang lain.

Dengan majunya teknologi saat ini maka setiap orang berlomba-lomba untuk memanfaatkan teknologi dalam disetiap kehidupannya, dan salah satunya adalah dalam proses belajar mengajar. Sesuai dengan pengalaman dari penulis sendiri yang sering kali memanfaatkan panduan belajar online yang tersedia di internet dan penulis sendiri mendapatkan manfaat dari hal tersebut. sehingga dalam proses belajar-mengajar akan terasa lebih menyenangkan dan lebih mudah serta dapat dilakukan dimana saja dan kapan saja. Karena hal tersebut penulis berkeinginan untuk membuat suatu program yang dapat digunakan dalam belajar untuk siswa-siswi SMA.

Salah satu cara untuk menyelesaikan permasalahan tersebut adalah dengan cara memanipulasi data atau memprogram dalam sebuah komputer dengan menggunakan bahasa pemrograman C. Permasalahan inilah yang melatarblakangi pembuatan program ini. Selain itu program ini juga merupakan syarat untuk menyelesaikan mata kuliah pemrograman komputer di jurusan ilmu komputer Fakultas MIPA Universitas Udayana. Untuk mengetahui lebih lanjut mengenai permasalahan di atas, akan kita selesaikan dalam laporan ini.

1.2 Tujuan

Adapun beberapa tujuan hal yang menjadi tujuan dari pada pembuatan laporan ini antara lain :

1. Kita dapat memahami, mengerti konsep dasar dan membuat sebuah media belajar dalam suatu program komputer dengan menggunakan bahasa pemrograman C.

BAB II

LANDASAN TEORIBahasa C adalah bahasa pemrograman yang dapat dikatakan berada di antara bahasa beraras rendah dan beraras tinggi. Bahasa beraras rendah artinya bahasa yang berorientasi pada mesin dan beraras tinggi berorientasi pada manusia. Bahasa beraras rendah, misalnya bahasa assembler, bahasa ini ditulis dengan sandi yang dimengerti oleh mesin saja, oleh karena itu hanya digunakan bagi yang memprogram mikroprosesor. Bahasa beraras rendah merupakan bahasa yang membutuhkan kecermatan yang teliti bagi pemrogram karena perintahnya harus rinci, ditambah lagi masing-masing pabrik mempunyai sandi perintah sendiri. Bahasa tinggi relatif mudah digunakan, karena ditulis dengan bahasa manusia sehingga mudah dimengerti dan tidak tergantung mesinnya. Bahasa beraras tinggi biasanya digunakan pada komputer. Pencipta bahasa C adalah Brian W. Kernighan dan Denis M. Ritchi, sekitar tahun 1972. Penulisan program dalam bahasa C dilakukan dengan membagi dalam blok-blok, sehingga bahasa C disebut dengan bahasa terstruktur. Bahasa C dapat digunakan di berbagai mesin dengan mudah, mulai dari PC sampai dengan mainframe, dengan berbagai sistem operasi misalnya DOS, UNIX, VMS dan lain-lain.

2.1 Penulisan Program Bahasa C

Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu, jadi bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan untuk keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak dibaca. Berikut contoh penulisan Program Bahasa C:

Program dalam bahasa C selalu berbentuk fungsi seperti ditunjukkan dalam main (). Program yang dijalankan berada di dalam tubuh program yang dimulai dengan tanda kurung buka { dan diakhiri dengan tanda kurung tutup }. Semua yang tertulis di dalam tubuh program ini disebut dengan blok. Tanda () digunakan untuk mengapit argumen suatu fungsi. Argumen adalah suatu nilai yang akan digunakan dalam fungsi tersebut. Dalam fungsi main diatas tidak ada argumen, sehingga tak ada data dalam (). Dalam tubuh fungsi antara tanda { dan tanda } ada sejumlah pernyataan yang merupakan perintah yang harus dikerjakan oleh prosesor. Setiap pernyataan diakhiri dengan tanda titik koma ;

Baris pertama #include bukanlah pernyataan, sehingga tak diakhiri dengan tanda titik koma (;). Baris tersebut meminta kompiler untuk menyertakan file yang namanya ada di antara tanda dalam proses kompilasi. File-file ini (ber-ekstensi .h) berisi deklarasi fungsi ataupun variable. File ini disebut header. File ini digunakan semacam perpustakaan bagi pernyataan yang ada di tubuh program.

2.2 Tipe Data

Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh computer. Misalnya saja 5 dibagi 2 bisa saja menghasilkan hasil yang berbeda tergantung tipe datanya. Jika 5 dan 2 bertipe integer maka akan menghasilkan nilai 2, namun jika keduanya bertipe float maka akan menghasilkan nilai 2.5000000. Pemilihan tipe data yang tepat akan membuat proses operasi data menjadi lebih efisien dan efektif.

Tabel 1 Bentuk Tipe data:

2.3 Variabel

Variabel adalah suatu pengenal (identifier) yang digunakan untuk mewakili suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang nilainya selalu tetap, nilai dari suatu variable bisa diubah-ubah sesuai kebutuhan. Nama dari suatu variable dapat ditentukan sendiri oleh pemrogram dengan aturan sebagai berikut :

Terdiri dari gabungan huruf dan angka dengan karakter pertama harus berupa huruf. Bahasa C bersifat case-sensitive artinya huruf besar dan kecil dianggap berbeda.

Tidak boleh mengandung spasi.

Tidak boleh mengandung symbol-simbol khusus, kecuali garis bawah (underscore). Yang termasuk symbol khusus yang tidak diperbolehkan antara lain : $, ?, %, #, !, &, *, (, ), -, +, = dsb

Panjangnya bebas, tetapi hanya 32 karakter pertama yang terpakai.

2.4 Deklarasi

Deklarasi diperlukan bila kita akan menggunakan pengenal (identifier) dalam program. Identifier dapat berupa variable, konstanta dan fungsi.

1. Deklarasi variabel

Bentuk umum pendeklarasian suatu variable adalah :

Nama_tipe nama_variabel;

Contoh :

int x; // Deklarasi x bertipe integer

char y, huruf, nim[10]; // Deklarasi variable bertipe char

float nilai; // Deklarasi variable bertipe float

double beta; // Deklarasi variable bertipe double

int array[5][4]; // Deklarasi array bertipe integer

char *p; // Deklarasi pointer p bertipe char2. Deklarasi fungsi

Fungsi merupakan bagian yang terpisah dari program dan dapat diaktifkan atau dipanggil di manapun di dalam program. Fungsi dalam bahasa C ada yang sudah disediakan sebagai fungsi pustaka seperti printf(), scanf(), getch() dan untuk menggunakannya tidak perlu dideklarasikan. Fungsi yang perlu dideklarasikan terlebih dahulu adalah fungsi yang dibuat oleh programmer. Bentuk umum deklarasi sebuah fungsi adalah :

Tipe_fungsi nama_fungsi(parameter_fungsi);

Contohnya :

float luas_lingkaran(int jari);

void tampil();

int tambah(int x, int y);

2.5 Operator

Operator yang digunkan sebagai berikut :

1. Operator Penugasan

Operator Penugasan (Assignment operator) dalam bahasa C berupa tanda sama dengan (=).

2. Operator Aritmatika

Bahasa C menyediakan lima operator aritmatika, yaitu :

* : untuk perkalian

/ : untuk pembagian

+ : untuk penjumlahan

- : untuk pengurangan

3. Operator Hubungan (Perbandingan)

Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand (sebuah nilai atau variable). Operator hubungan dalam bahasa C :

4. Operator Logika

Jika operator hubungan membandingkan hubungan antara dua buah operand, maka operator logika digunakan untuk membandingkan logika hasil dari operator operator hubungan. Operator logika ada tiga macam, yaitu :

&& : Logika AND (DAN)

2.6 Input dan Ouput

1. Masukan Data

Dalam bahasa C proses memasukkan suatu data bisa menggunakan beberapa fungsi pustaka yang telah tersedia. Beberapa fungsi pustaka yang bisa digunakan adalah :

scanf()

Fungsi pustaka scanf() digunakan untuk menginput data berupa data numerik, karakter dan string secara terformat.

Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :

Fungsi scanf() memakai penentu format

Fungsi scanf() memberi pergantian baris secara otomatis

Fungsi scanf() tidak memerlukan penentu lebar field

Variabelnya harus menggunakan operator alamat &

Kode penentu format :

%c : Membaca sebuah karakter

%s : Membaca sebuah string

%i, %d : Membaca sebuah bilangan bulat (integer)

%f, %e : Membaca sebuah bilangan pecahan (real)

%o : membaca sebuah bilangan octal

%x : Membaca sebuah bilangan heksadesimal

%u : Membaca sebuah bilangan tak bertanda2.7 Menampilkan Data

Untuk menampilkan data ke layer monitor penulis menggunakan fungsi

printf()

Mengatur tampilan bilangan pecahan (float).

Bentuk umum :

printf(%m.nf, argument);

m : menyatakan panjang range

n : menyatakan jumlah digit di belakang koma.

argument : nilai atau variable yang akan ditampilkan.2.8 Penyeleksian Kondisi

Penulis menggunakan penyeleksian fungsi sebagai berikut :

Penyeleksian kondisi digunakan untuk mengarahkan perjalanan suatu proses. Penyeleksian kondisi dapat diibaratkan sebagai katup atau kran yang mengatur jalannya air. Bila katup terbuka maka air akan mengalir dan sebaliknya bila katup tertutup air tidak akan mengalir atau akan mengalir melalui tempat lain. Fungsi penyeleksian kondisi penting artinya dalam penyusunan bahasa C, terutama untuk program yang kompleks.

1. STRUKTUR KONDISI IF.

Struktur if dibentuk dari pernyataan if dan sering digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok if akan diproses dan dikerjakan. Bentuk umum struktur kondisi if adalah :

if(kondisi)

pernyataan;2. STRUKTUR KONDISI IF......ELSE.

Dalam struktur kondisi if.....else minimal terdapat dua pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan yang kedua yang dilaksanakan. Bentuk umumnya adalah sebagai berikut :

if(kondisi)

pernyataan-1

else

pernyataan-23. STRUKTUR KONDISI SWITCH...CASE... DEFAULT

Struktur kondisi switch....case....default digunakan untuk penyeleksian kondisi dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa pernyataan case tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan hingga ditemukan pernyataan break. Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah default. Bentuk umum dari struktur kondisi ini adalah:

switch(kondisi)

{

case 1 : pernyataan-1;

break;

case 2 : pernyataan-2;

break;

.....

.....

case n : pernyataan-n;

break;

default : pernyataan-m

}2.9 Perulangan

Adapun perulangan yang penulis gunakan adalah

Dalam bahasa C tersedia suatu fasilitas yang digunakan untuk melakukan proses yang berulangulang sebanyak keinginan kita. Misalnya saja, bila kita ingin menginput dan mencetak bilangan dari 1 sampai 100 bahkan 1000, tentunya kita akan merasa kesulitan. Namun dengan struktur perulangan proses, kita tidak perlu menuliskan perintah sampai 100 atau 1000 kali, cukup dengan beberapa perintah saja. Struktur perulangan dalam bahasa C mempunyai bentuk yang bermacam-macam.

1. STRUKTUR PERULANGAN WHILE

Perulangan WHILE banyak digunakan pada program yang terstruktur. Perulanganini banyak digunakan bila jumlah perulangannya belum diketahui. Proses perulangan akan terus berlanjut selama kondisinya bernilai benar (true) dan akanberhenti bila kondisinya bernilai salah. Bentuk umum dari struktur kondisi ini adalah:

While (ekspresi)

{

Pernyataan_1

Pernyataan_2

}

2. 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.2.10 Statemen Peloncatan

Statemen peloncatan pada umumnya digunakan dalam sebuah proses pengulangan yang menentukan apakah pengulangan akan diteruskan, dihentikan atau dipindahkan ke statemen lain di dalam program. Dalam bahasa C, terdapat tiga buah kata kunci yang digunakan untuk melakukan proses peloncatan tersebut, yaitu break, continue dan go to. Namun terdapat juga sebuah fungsi yang digunakan untuk melakukan proses peloncatan, yaitu fungsi exit() yang disimpan dalam file header .

1. Menggunakan Kata Kunci break

Statemen break digunakan untuk menghentikan sebuah pengulangan dan program akan langsung meloncat ke statemen yang berada di bawah blok pengulangan. Ini biasanya dilakukan karena alasan efesiensi program, yaitu untuk menghindari proses pengulangan yang sebenarnya sudah tidak diperlukan lagi.

2. Menggunakan Kata Kunci kontinu

Berbeda dengan statemen break di atas yang berguna untuk menghentikan suatu proses pengulangan, statemen continu justru digunakan untuk melanjutkan proses pengulangan. Sebagai contoh apabila kita akan membuat program untuk melakukan pembagian dua buah bilangan, maka kita harus menjaga agar bilangan pembagi (penyebut) harus tidak sama dengan nol. Untuk kasus ini, kita akan membuat sebuah pengulangan untuk melakukan input sampai bilangan pembagi yang dimasukkan tidak sama dengan nol

3. Menggunakan Kata Kunci go to

Selain cara-cara yang telah dijelaskan di atas, bahasa C juga menyediakan kata kunci go to yang digunakan agar program dapat meloncat ke baris tertentu yang kita pilih. Adpun untuk menentukan baris tersebut kita harus membuat sebuah label, yaitu dengan menempatkan tanda colom atau ( : ) di belakangnya, misalnya LBL:, LABEL:, mylabel: atau nama-nama lain yang anda kehendaki. Berbeda dengan statemen break dan continu yang umumnya digunakan untuk proses pengulangan, statemen go to dapat detempatkan di mana saja sesuai dengan kebutuhan program. Penggunaan statemen go to akan menyebabkan eksekusi program akan langsung berpindah atau meloncat ke label yang telah didefinisikan. Dalam hal ini, karena label disefinisikan di luar blok pengulangan maka proses peloncatan tersebut secara otomatis akan menyebabkan terhentinya proses pengulangan yang sedang berlangsung.

4. Menggunakan Fungsi exit()

Berbeda dengan statemen break yang berguna untuk menghentikan atau keluar dari proses pengulangan, fungsi exit () berguna untuk keluar dari program. Dalam bahasa C, terdapat dua buah nilai yang dikembalikan ke dalam sistem operasi yang menunjukkan bahwa program berjalan dengan baik (tanpa kesalahan) atau tidak. Nilai-nilai tersebut adalah 0 (EXIT_SUCCESS) dan 1 (EXIT_FAILURE). Hal yang perlu diperhatikan sebelum kita menggunakan fungsi exit() adalah kita harus mendaftarkan file header dimana fungsi tersebut dideklarasikan.

BAB IIIPERMASALAHANMembuat sebuah program dimana user akan menginput pilihannya berdasarkan menu pelajaran yang telah disediakan dari program yang telah dibuat.

Contoh jalannya program:Selamat Datang di Program BelajarTekan enter untuk melanjutkanMasukan nama anda

: BayuMasukan alamat sekolah anda : SMA N 5Masukan password(harus 4 huruf) : ****Program Belajar

Menu :

1. Integral

2. Matrik

3. Kalkulator

Pilihan anda adalah : 1

Selamat Datang di Program Belajar Integral Tak Tentu

Menu :

1. Contoh Soal Integral

2. Soal Latihan

Pilihan anda adalah : 2

Soal Latihan

1.tentukan a. b. c. d. e. Jawaban anda adalah : a

Apakah anda ingin melanjutkan(y/t) : t

Pio

Asal Sekolah : SMA N 1 UBUDJumlah benar : 1

Jumlah salah : 4

Rata-rata : 2,00Apa anda ingin kemenu awal :Seperti itulah jalan program yang diinginkan :Jika user input y maka program akan kembali berulang dan bisa memilih menu-menu lain yang jalannya mirib dengan contoh diatas, apabila tidak maka program akan otomatis keluar dan memunculkan terima kasih dan nama pembuat program ini.

BAB IVHASIL DAN PEMBAHASAN4.1 Analisis Permasalahan

Dalam pembuatan program belajar ini tentu memerlukan beberapa standar library, operator, pengujian, perulangan, fungsi input dan ouput , dan pelompatan baris program.a. Standar LibraryBerikut standar library yang digunakan :

#include

#include

#include : Untuk menghandel fungsi matematika seperti pow, dan lain sebagainya bila ada.#include: untuk memberi library pada delay

#include untuk standar library yang menyediakan fungsi gotoxy

Void

void menghasilkan kembalian data tanpa tipe. Sehingga untuk kembali ke awal pemanggil, tidak perlu mengembalikan nilai.Fungsi bertipe int dapat juga diakhir tanpa mengembalikan nilai, namun tetap menghasilkan nilai random - tergantung instruksi mesin yg sdg berjalan - setelah fungsi kembali ke awal pemanggil.

b. Input dan OutputInput dan output yang digunakan :

Scanf() : Untuk menginput data dari user.

Printf () : Untuk mencetak statement ke program.

getch() : menunggu input satu karakter dari user (user harus menekan salah satu karakter pada keyboard). Jika user menekan satu karakter maka program akan langsung dilanjutkan. Karakter yang diinput, tidak ditampilkan. getche() :sama seperti fungsi getch() namun karakter yang diinput, ditampilkan. getchar()menunggu input satu karakter dari user (user harus menekan salah satu karakter pada keyboard). Jika user telah menekan satu karakter pada keyboard kemudian user harus menekan tombol Enter untuk melanjutkan program. Karakter yang diinput, ditampilkan. Jika user menginput karakter lebih dari satu maka hanya karakter awal yang akan diambil / digunakan. Gets()Untuk inputan user berupa string yang akan dibaca sampai enter ditekan.c. PengujianPengujian yang kami gunakan adalah :If

{

Statement 1:

..

}

Else

{

.}

Dan kami juga menggunakan switch untuk menghandel menu programSwitch()

{

Case 1:

{

Statement 1

..

}

Break;

Case 2:

{

Statement

..

}

Break;

}

Default :

{

Statement 3

}d. PerulanganDiprogram ini penulis juga menggunakan perulangan for dan while untuk menghandel apakah user ingin mengulangi program ini atau tidak serta dalam menghandel pembuatan matrik.

For(inisialisasi;syarat;kontrol)

{

Pernyataan;}

Dengan while

Inisialisasi

While(syarat)

{

Pernyataan;}

e. Peloncatan

Penulis juga menggunakan statement peloncatan goto untuk menghandel saat user ingin mengulangi program di saat program seperti integral baru berjalan di soal pertama maka diperlukan peloncatan program ke baris akhir dan while dapat langsung berjalan kembali.Dan menggunakan gotoxy untuk menempatkan tampilan berupa tulisan dengan tepat disuatu kordinat (x,y).Dilay() digunakan untuk memberi jeda beberapa saat munculnya suatu syntax ke layar.Dan penulis juga menggunakan system(cls) untuk membersihkan layar apabila program sebelumnya sudah tidak diperlukan lagi dan system(color ..) untuk memberi warna pada font dan background dari program.f. Operator LogikaOperator yang penulis gunakan adalah operator standar seperti +, - ,*, /, = , >, =, clock());

}

void loadingscreen()

{

system("cls");

printf("LOADING...\n");

for(i=0;i