FITRIANA ZAHARA 2015 – 11 – 204
Teori Tambahan Modul I SEJARAH SINGKAT Bahasa Pemrograman C diciptakan dan dikembangkan oleh Brian Kernighan dan Denis Ritchie di Bell Research Labs. Bahasa Pemrograman C secara khusus diciptakan dengan tujuan agar para programmer (orang yang membuat program komputer) dapat mengakses seluruh internal register. I/O slots dan absolute address dari sebuah komputer. Pada awal tahun 1960-an, sistem operasi komputer mulai menjadi jauh lebih kompleks daris ebelumnya karena adanya pengenalan multi terminal dan kemampuan multi prosessor. Pada saat itu, sistem operasi diciptakan dengan menggunkan bahasa assembly (bahasa pemrograman tingkat rendah). Di mana banyak pengembang yang menyadari bahwa suatu sistem operasi dapat dikembangkan lebih lagi, tidak cukup hanya dengan menggunakan bahasa assembly. Inilah asal mula Bahasa C yang dimplementasikan pada Digital Equipment Corporation PDP-7. Pada perkembangan selanjutnya Bahasa Pemrograman C digunakan untuk mengimplementasikan Sistem Operasi Unix. Keluarga Besar Bahasa Pemrograman C Bahasa Pemrograman C telah mengalami banyak evolusi sejak awal diciptakanya hingga saat ini. Saat ini, banyak Bahasa Pemrograman yang merupakan turunan/varian/keluarga dari Bahasa C seperti: C ++, Java Script, PHP, Java, perl dan lain sebagainya. C dan C++ Banyak orang yang bingung tentang perbedaan antar Bahasa Pemrograman C dan Bahasa Pemrograman C ++ . Sebenarnya ada sedikit perbedaan antara C dan C++ yang merupakan keturunan Bahasa C. Pertama, perbedaan nama (C dan C++). Kedua, perbedaan sintaks; sintaks bahasa pemrograman c++ dan c agak sedikit berbeda di beberapa bagian. Kegunaan Belajar Bahasa C pada Saat ini Anda mungkin berpikir bahwa saat ini sudah tidak ada gunanya lagi belajar Bahasa C karena sudah tidak terpakai lagi. Sebenarnya anda salah, karena pada saat ini, sistem operasi linux mulai dipakai secara luas, di mana bahasa C(GCC) dapat digunakan untuk pemrograman sistem linux dan pemrograman jaringan linux. Bahkan jika anda ingin menjadi hacker yang baik anda harus menguasai GCC (socket programming, system programming, database programming dan shellcoding). Pengenalan Bahasa C C merupakan bahasa universal dalam bidang pegembangan software dan banyak digunakan pada mesin-mesin dan komputer, banyak sekali software sistem yang dibuat Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 dengan C karena bahasa C memiliki kemampuan untuk mengakses sistem dari komputer, mulai dari RAM yang sederhana, disk bahkan sampai yang sangat detail dan dalam seperti register dan port-port pada komputer, baik itu PC maupun mini computer dan Mainframe. Menulis Bahasa Pemrograman C tidaklah sesulit yang anda bayangkan. Saya asumsikan anda menggunakan sistem operasi linux/unix atau mungkin cygwin di windows, di mana sudah terinstall compiler yang tersedia untuk Bahasa Pemrograman C. Ada begitu banyak kompiler untuk bahasa c ini di berbagai platform seperti GCC, CC di linux/unix; Miracle C, Turbo C, Microsoft Visual C++ di linux/unix.Kompiler yang akan kita pergunakan kali ini adalah GCC. Selanjutnya anda juga perlu mempersiapkan text editor apa saja. Bisa notepad jika anda menggunakan windoze atau vi, pico, vim, kwort, nano, gedit, emacs dan lain sebagainya. DASAR-DASAR C Sebelum kita mulai mempelajari pemrograman bahasa C++, ada baiknya kita tahu pengertian dari C++ itu sendiri. Bahasa C++ merupakan pengembangan dari bahasa pemrograman C. Bahasa C++ dikembangkan oleh Dennis Ritchie, dan pertama kali diimplementasikan di komputer DEC PDP-11 pada tahun 1972 C++ menggunakan konsep yang penting dari bahasa BCPL dan B. Pertama kali bahasa C dikenal dengan luas oleh karena bahasa pengembangan dari UNIX operating system, Pada saat ini kebanyakan dari sistem operasi menggunakan bahasa C & C++, Selama hampir dua dekade, bahasa C dapat dioperasikan di semua komputer. C++ ( ekstensi dari C ), dikembangkan oleh B jarne Stourstrup di awal tahun 1980, banyak kemampuan-kemampuan baru yang ada di C++, tapi lebih penting lagi C++ mempunyai kemampuan object-oriented. Bahasa C++ ini juga merupakan pemrograman terstruktur dimana untuk menyelesaikan sebuah masalah harus bertahap sesuai dengan algortima pemrograman, dimana secara garis besar program yang akan dieksekusi dari awal secara berurut sampai akhir. Bahasa C++ sendiri merupakan bahasa pemrograman yang lumayan banyak digemerai oleh programmer dan merupakan dasar untuk mempelajari bahasa pemrograman yang lebih grafis (GUI) seperti Visual C++, Visual C, dan lain-lain. Bahasa C ++ mengembangkan kemampuan dari bahasa C yaitu dengan: a) Memberikan dukungan untuk menciptakan dan memanfaatkan abstraksi data. b) Dapat digunakan untuk pemrograman berorientasi objek. c) Dan yang terakhir telah menutupi beberapa kekurangan dalam bahasa C. Mengenal C Sebuah berkas program C terdiri dari beberapa unsur, yaitu dokumentasi program , pengarah prapengolahan, bagian deklarasi global, sebuah fungsi main ( ), dan fungsi-fungsi buatan pemrogram. Masing-masing fungsi ini terdiri dari badan fungsi yang memuat deklarasi local dank ode program yang dapat dieksekusi. Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 Berikut sebuah program sederhana : /* Nama file : Program sederhana Conto program sederhana pada program C*/ #include int main ( ) { return 0; } Dokumentasi Program Memberikan dokumentasi pada program sangat berguna untuk membantu memperjelas alur logika penyusunan program. Karena tujuannya hanya sebagai dokumentasi, komentarkomentar yang dituliskan pada program tidak diproses oleh compiler. Komentar dapat dimulai dengan simbol dua karakter yang terdiri dari garis miring dan asterisk (/*) dan diakhiri dengan asterisk dan garis miring. Karakter komentar /* dapat diletakkan dimana saja didalam program dan dapat mencakup lebih dari satu komentar, dengan syarat setiap /* harus ditutup dengan */. Pada awal program, komentar yang diberikan biasanya bertujuan untuk menjelaskan apa yang dilakukan oleh program, sedangkan pada bagian probram yang lain tujuannya adalah untuk memperjelas logika program. Dalam membeikan komentar untuk dokumentasi program, ada beberapa hal yang perlu diperhatikan, diantaranya:
1. Komentar hendaklah diberikan pada tempat-tempat yang bias menimbulkan kekaburan pengertian. 2. Beri komentar ditempat yang perlu saja, misalnya pada awal program untuk menjelaskan secara ringkas tujuan program, pada awal blok pernyataan untuk menjelaskan kumpulan tugas yang dilakukan , pada pernyataan keputusan untuk menjelaskan kondisi yang harus dipenuhi dalam pengambilan keputusan. 3. Komentar tidak bisa dibuat bertingkat , yaitu adanya komentar dalam komentar, misalnya;
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Teori Tambahan Modul II
Untuk dapat memahami bagaimana suatu program ditulis maka struktur dari suatu program harus dimengerti terlebih dahulu.Jika struktur program tidak diketahui maka akan sulit bagi pemula untuk memulai menulis program.Tiap bahasa pemrograman memiliki struktur program yang berbeda. Program dapat dilihat sebagai koleksi satu atau lebih fungsi. Fungsi yang harus ada pada C sudah ditentukan yaitu main(). Fungsi terdiri dari sebuah header dan sebuah badan. Header berisi preprocessor statement seperti #include dan nama fungs.i Badan diawali dengan kurung kurawal buka ({) dan diakhri oleh kurung kurawal tutup (}), diantara kurung kurawal tersebut berisi seri dari 1 statemen atau lebih statemen,masing-masing statemen diakhiri tanda titik koma (;). Adapun bentuk umum dari stuktur program bahasa C adalah: # include file # define var konstan deklarasi/prototype fungsi deklarasi variabel global main() { deklarasi variabel lokal :
: } nama fungsi (arg1, arg2,...) { deklarasi variabel lokal : < pernyataan - pernyataan> Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 : } #include <stdio.h> - Menyertakan sebuah file lain yaitu file stdio.h - Berisi informasi tentang Input & Output , bagian dari paket C Compiler - # merupakan instruksi PREPROCESSOR, diproses oleh C-PREPROCESSOR.
main() sebuah nama fungsi , tanda kurung mencakup informasi yang merupakan argumen. Harus ada dalam program , karena dari fungsi ini program akan mulai dieksekusi, tanpa fungsi ini program tidak akan dapat dilaksanakan /* program sederhana*/ Sebuah komentar untuk memudahkan orang lain dalam mengerti program kita Simbol /* dan */ dipakai untuk menandai komentar segala sesuatu di dalam tanda /* dan */ diabaikan oleh C compiler { Menandai awal dari badan fungsi } Mengakhiri definisi fungsi ; (titik koma) - Untuk mengakhiri stiap pernyataan/perintah - Antara pernyataan/perintah yang satu dengan yang lain hanya dapat dipisahkan dengan tanda titik koma (;) bukan dengan baris yang berbeda atau spasi atau karakter yang lain int num; sebuah deklarasi statement yaitu mendefinisikan variabel bernama num sebagai tipe integer. deklarasi statement sangat penting, karena mendeklarasikan 2 hal : 1. dalam fungsi tersebut akan ada variabel yang bernama num 2. variabel num mempunyai tipe integer. Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 dalam C, semua variabel harus dideklarasikan num = 2; - sebuah assignment statement yi pemberian harga 2 pd variabel num - assignment statement adalah operasi paling dasar . printf ("I am a student"); - sebuah print statement yaitu mencetak kalimat dalam tanda petik printf ("in STMIK DARMAJAYA.\n"); - \n merepresentasikan 1 karakter tunggal yang adalah menginstruksikan komputer untuk mengawali baris baru. - \n adalah salah satu dari escape sequence. printf (" I am in the %d nd year.\n",num); - Mencetak kalimat dalam tanda petik dengan meletakkan harga variabel num (yaitu 4) diposisi %d. - Harga dari num mensubstitusi simbol %d yaitu 1. menempatkannya pada posisi %d. 2. menampilkannya sebagai digit. Kalimat dalam tanda kurung adalah informasi yang diteruskan oleh fungsi main(),ke fungsi printf(); informasi tersebut disebut Argumen.Jadi pada baris pertama "I am a student" adalah argumen. Fungsi printf() mengambil isi dari tanda petik dan menampilkannya di layar.
4. Komentar Komentar merupakan baris program yang tidak dieksekusi oleh compiler. Komentar ini tujuannya adalah memudahkan kita untuk memberikan catatan pada setiap baris program yang kita buat. Format penulisa komentar ada dua buah Penulisan komentar yang terdiri dari satu baris Untuk penulisan komentan yang terdiri dari satu baris kita dapat menuliskan karakter "//" kemudian diikuti dengan isi komentarnya. Contohnya seperti berikut // Ini adalah komentarku Penulisan komentar yang lebih dari satu baris Untuk penulisan komentar yang lebih dari satu baris kita dapat menuliskan isi komentar pada blok "/*" dan "*/". Untuk lebih jelasnya perhatikan contoh berikut /* Ini adalah komentar yang berisi lebih dari satu baris */ Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Teori Tambahan Modul III 1. Percabangan Percabangan adalah suatu keadaan dimana pernyataan dapat dieksekusi apabila suatu kondisi memenuhi syarat untuk mengerjakan pernyataan tersebut Percabangan pada Java ada 2 yaitu :
if
Percabangan if merupakan percabangan yang melibatkan lebih dari satu kondisi dam penggabungan beberapa if dan bisa juga digabungkan menjadi if-else
Switch
percabangan switch memberikan suatu cara untuk mengatasi banyak kemungkinan bermunculan dengan cara memberikan nilai variabel atau pernyataan tunggal. 2.Perulangan Perulangan atau looping adalah suatu proses di dalam pemrograman yang dapat meng eksesusi beberapa statement yang sama dengan berulang ulang sampai berhenti pada kondisi tertentu. Perulangan pada dasarnya memiliki fungsi "EFISIEN". ada 3 jenis perulangan yaitu:
For
For merupakan perulangan yang memiliki variable untuk melakukan pengkondisian. Element pada for yaitu nilai awal, syarat, dan penambahan atau pengurangan nilai. misalnya
Struktur Penulisan Perulangan For
Contoh Penulisan Perulangan For pada Code Program
While Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 While merupakan perulangan yang berguna untuk terus melakukan proses perulangan selama kondisinya benar (true) dan berhenti apabila salah (false). misalnya:
Struktur Penulisan Perulangan While
Contoh Penulisan Perulangan While pada Code Program
do.....while
Do while merupakan perulangan yang hampir sama dengan while, namun while disini bersifat memproses atau mengecek instruksi terlebih dahulu kemudian membandingkan (kondisi). sedangkan pada while bersifat mengecek kondisi baru melakukan instruksi. Misal
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Struktur Penulisan Perulangan Do... While
Contoh Penulisan Perulangan Do.. While pada Code Program
3. Method Method dalam java serupa dengan function pada bahasa pemrograman yang lain,yang berfungsi memodularisasi, mem break atau memecah program yang komplek sehingga nantinya dapat digunakan/dipanggil kembali Yang perlu anda ketahui, Di dalam java terdapat empat akses yaitu default,private,protected,dan public tentunya tingkat akses tersebut mempunyai fungsi dan kegunaan masing-masing.untuk keterangan dari tingkat akses akan saya jelaskan di bawah ini :
Akses Default (Package Accessibility)
Tipe ini mensyaratkan bahwa hanya class dalam package yang sama yang memiliki hak akses terhadap variabel dan methods dalam class.
Akses Public Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Tipe ini mengijinkan seluruh class member untuk diakses baik dari dalam dan luar class. Object apapun yang memiliki interaksi pada class memiliki akses penuh terhadap member dari tipe ini.
Akses Protected
Tipe ini hanya mengijinkan class member untuk diakses oleh method dalam class tersebut dan elemen – elemen subclass.
Akses Private
Tipe ini mengijinkan pengaksesan class hanya dapat diakses oleh class dimana tipe ini dibuat.
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Teori Tambahan Modul IV Pokok Pembahasan Dalam beberapa literature, array sering disebut (diterjemahkan) sebagai array. Array merupakan kumpulan dari nilai-nilai data yan bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama Array memiliki beberapa macam dimensi, ada array berdimensi satu, array berdimensi dua, array berdimensi tiga atau array berdimensi lebih dari tiga. Array berdimensi satu ( one dimensional array ) mewakili bentuk suatu vector. Array berdimensi dua ( two-dimensional array) mewakili bentuk dari uatu matriks atau tabel. Array bedimensi tiga ( three-dimensional array) mewakili bentuk dari suatu ruang. Dasar Teori Array merupakan kumpulan dari nilai-nilai data yang bertipe sama dalam urutan tertentu yang menggunakan nama yang sama. Letak atau posisi dari elemen array ditunjukkan oleh suatu indeks. Dilihat dari dimensinya array dapat dibagi menjadi Array Dimensi Satu, Array Dimensi Dua, dan Array Multi-Dimensi. Array Dimensi Satu Array dimensi satu merupakan tipe data yang sering digunakan pada pendeklarasian variable yang sama tapi memiliki indeks yang berbeda, serta pengisian elemen array dilakukan melalui indeks. Indeks array secara default dimulai dari 0. Bentuk umum penulisan : Type_data variabel1[jumlah_elemen]; Contoh : int data1[7]; int data2[5] = {20,30,10,50,20]; artinya :
Data 1 = Elemen kosong
20 30 10 50 20 Data 2 = Elemen tidak kosong
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 Array Dimensi Dua Array dimensi dua merupakan tipe data yang sering digunakan pada pendeklarasian variabel yang sama tapi memiliki dua indeks yang berbeda, serta pengisian elemen array dilakukan melalui indeks. Indeks array secara default dimulai dari 0,0. Jumlah elemennya adalah indeks1 x indeks 2. Bentuk umum penulisan : Type_data variabel1[jumlah_elemen1][jumlah_elemen2]; Contoh : int y[2][2]; artinya di dalam memori computer terdapat alokasi sebagai berikut :
Data 1 = Elemen kosong terdapat 2 baris dan 2 kolom Array Multi Dimensi Array Multi Dimesi adalah array yang banyak memiliki dimensi tidak terbatas pada satu atau dua dimensi. Array tersesebut memiliki dimensi sesuai dengan kebutuhan, walaupun sebenarnya jarang melebihi dimensi tiga. Bentuk umum penulisan : Type_data variabel1[jumlah_elemen1][jumlah_elemen2]…[jumlah_elemenn] Contoh : int x[2][2][2]; int y[4][5][8][2]; Reprentasi Array Misalkan kita memiliki sekumpulan data ujian seorang siswa, ujian pertama bernilai 90, kemudian 95,78,85. Sekarang kita ingin menyusunnya sebagai suatu data kumpulan ujian seorang siswa. Dalam array kita menyusunnya sebagai berikut : ujian[0] = 90; ujian[1] = 95; ujian[2] = 78; ujian[3] = 85; Empat pernyataan diatas memberikan nilai kepada array ujian. Tetapi sebelum kita memberikan nilai kepada array, kita harus mendeklarasikannya terlebih dahulu, yaitu : int ujian[4]; Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 Perhatikan bahwa nilai 4 yang berada didalam tanda kurung menujukkan jumlah elemen array, bukan menunjukkan elemen array yang ke-4. Jadi elemen array ujian dimulai dari angka 0 sampai 3. Menghitung Jumlah Elemen Array Karena fungsi sizeof() mengembalikan jumlah byte yang sesuai dengan argumennya, maka operator tersebut dapat digunakan untuk menemukan jumlah elemen array, misalnya int array[ ] = {26,7,82,166}; cout< akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki array. 9.3.7. Melewatkan Array Sebagai Argumen Fungsi Array dapat dikirim dan dikembalikan oleh fungsi. Pada saat array dikirim ke dalam fungsi, nilai aktualnya dapat dimanipulasi Perbedaan array dengan tipe data lain : Array dapat mempunyai sejumlah nilai, sedangkan tipe data lain hanya dihubungkan dengan sebuah nilai saja. Array dapat digunakan untuk menyimpan beberapa nilai tipe data lain data (char, int, float, double, long, dll) yang sama dengan satu nama saja. Selain itu, array dapat berupa satu dimensi atau lebih, sedangkan tipe data lain hanya berupa satu dimensi. Struktur Data Struct adalah tipe data yang dapat melakukan penyimpanan beberapa data yang saling terkait (seperti Nama, NRP, Alamat), sebagai suatu kesatuan, sehingga data-data tersebut seakan-akan menjadi suatu data tunggal. Pembuatan tipe data baru dalam C dilakukan dengan menggunakan kata kunci struct, yang merupakan kependekan dari structure (struktur).
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Teori Tambahan Modul V Untuk keperluan memanipulasi data dalam bentuk bit, Turbo C menyediakan operatoroperator berikut : Operator << >> & | ^ ~
Operasi Geser bit ke kiri Geser bit ke kanan Dan (AND) Atau (OR) XOR NOT (Komplemen)
Seluruh operator manipulasi bit hanya dikenakan pada operand / variabel / angka yang bertipe bilangan bulat (int, char, long). Prioritas eksekusinya adalah TertinggiTerendah ~<< >> & ^ | Tabel Kebenaran dari tiap operator manipulasi bit adalah : A B ~A A&B A|B A^B 0 0 1 0 0 0 0 1 1 0 1 1 1 0 0 0 1 1 1 1 0 1 1 0 Operator-operator pergeseran bit, berguna untuk menggeserkan bit yang ada dalam suatu variabel. Aturan-Aturan Perhitungan Perhatikan perintah berikut : float a;a= 9/5; Jika anda mengharapkan bahwa nilai yang didapat adalah 1.8, maka anda akan kecewa, karena angka yang didapat adalah 1. Kenapa ini terjadi?.
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204 Ada aturan-aturan pengkonversian data yang berlaku dalam suatu operasi perhitungan, diantaranya : 1. Jika suatu bilangan bulat dioperasikan dengan bilangan bulat, maka nilai yang didapat adalah bilangan bulat pula. 2. Operasi perhitungan dilakukan berdasarkan tipe bilangan yang terbesarnya. Jadi jika ada suatu perhitungan antara int dengan long, maka komputer akan memperlakukan int sebagai long. Untuk mengkonversi suatu variabel menjadi suatu variabel yang berbeda tipe, maka bisa dilakukan dengan type cast. Caranya adalah dengan menulis tipe data yang diinginkan diapit dengan tanda kurung. Contoh : float a,b;a=(float)9/5; b=(float)(9/5); Pada perintah a=(float) 9/5, maka angka 9 akan dikonversikan menjadi float sehingga perintah tersebut akan menghasilkan nilai 1.8, tetapi jika perintah b=(float)(9/5) dikerjakan maka akan menghasilkan nilai 1.0 karena yang dikerjakan duluan adalah 9/5 yang menghasilkan nilai 1 yang kemudian dikonversikan ke dalam bentuk float. Konversi tipe data juga terjadi dalam operasi penugasan / pengisian data terhadap variabel. Jika dieksekusi, akan menghasilkan : F : 65.900002I : 65 C :A Keterangan : –
f=65.9; pengisian nilai 65.9 ke variabel f
– i=f; pengisian nilai f ke variabel i. Dalam baris ini terjadi konversi dari float ke int. Pengkonversian float ke int selalu menghilangan angka pecahannya, dan tidak terjadi pembulatan. –
c=i; pengisian nilai i ke variabel c. Dalam baris ini terjadi konversi dari int ke char.
Mendefinisikan Konstanta Simbolis Untuk mendefinisikan suatu konstanta, perintah yang bisa dipakai adalah perintah $define diikuti dengan nama konstanta dan isinya.
Laboratorium Algoritma dan Pemrograman STT-PLN
FITRIANA ZAHARA 2015 – 11 – 204
Tugas 03
Laboratorium Algoritma dan Pemrograman STT-PLN