Algoritma adalah serangkaian instruksi sistematis untuk menyelesaikan masalah dengan bantuan komputer. C merupakan salah satu bahasa pemrograman yang populer karena fleksibel, portabel, dan banyak digunakan untuk membuat sistem operasi dan aplikasi. Program C terdiri dari fungsi-fungsi dan dieksekusi berawal dari fungsi utama main.
1. Definisi :Definisi :
• Algoritma: sekumpulan langkah-langkah atau instruksi -
instruksi yang terbatas untuk menyelesaikan suatu
masalah.
• Algoritma berasal dari kata Algoris dan Ritmis, yang
pertama kali diungkapkan oleh Abu Ja’far Mohammed
Ibn Musa Al Khowarizmi dalam buku Al-jabr w’al
muqabala.
• Dalam bidang pemrograman, algoritma didefinisikan
sebagai suatu metode yang terdiri dari serangkaian
langkah-langkah yang terstruktur dan dituliskan secara
sistematis yang akan dikerjakan untuk menyelesaikan
masalah dengan bantuan komputer.
PendahuluanPendahuluan
2. Tahap-tahap Algoritma dan Pemgrograman
Mulai
Batasan Masalah
Pengembangan Model
Rancangan Algoritma
Koreksi Algoritma
Pemrograman
Pengujian & Analisis
Dokumentasi
Selesai
MasalahMasalah AlgoritmaAlgoritma SolusiSolusi
Salah
Benar
Benar
Salah
3. • Memiliki logika perhitungan / metode yang tepat dalam
memecahkan masalah.
• Menghasilkan output yang tepat dan benar dalam waktu
yang singkat.
• Ditulis dengan bahasa yang standard secara sistematis,
sehingga tidak menimbulkan arti ganda.
• Ditulis dengan format yang mudah dipahami sehingga
mudah diimplementasikan ke dalam bahasa
pemrograman
• Semua operasi yang dibutuhkan terdefinisi dengan jelas
dan selalu berakhir setelah sejumlah langkah dilakukan
Algoritma pemrograman yang baik:Algoritma pemrograman yang baik:
4. • Teknik tulisan seperti: Structure english dan
Pseudocode.
• Teknik gambar seperti: Flow chart.
Contoh Algoritma:
Algoritma untuk mencari jumlah N bilangan bulat lebih
dari nol, yaitu 1 + 2 + 3 + … + N, adalah:
1. Set sum = 0 and the counter k = 1.
2. Repeat the following steps until k > N
a. Calculate the sum = sum + k
b. Increase the value of k by 1
3. The result required is the number in sum
Penyajian Algoritma:Penyajian Algoritma:
5. • Seperti suatu bahasa manusia, sebuah bahasa
pemrogaman menyediakan suatu cara untuk
mengungkapkan suatu konsep.
• Pengembangan program mencakup pembuatan model-
model keadaan sebenarnya dalam dunia nyata dan
membuat program komputer berdasarkan model ini.
• Program komputer menjelaskan metode untuk
mengimplementasikan suatu model.
• Bahasa pemrograman juga mempunyai sintaks (syntax)
dan grammar seperti bahasa manusia.
• Pengetahuan tentang grammar suatu bahasa
pemrograman tidaklah cukup untuk membuat program
yang baik.
Apakah Pemrograman?Apakah Pemrograman?
6. • Seperti suatu bahasa manusia, sebuah bahasa
pemrogaman menyediakan suatu cara untuk
mengungkapkan suatu konsep.
• Pengetahuan tentang Teknik perancangan program lebih
penting dari pada pengertian tentang detail dari bahasa
pemrograman.
• Dalam belajar bahasa C tidak hanya belajar sintaks baru
yang akan digunakan, tetapi belajar cara yang lebih baik
dalam mengembangkan sistem.
Abstraction
Modelling
Computer
Solution spaceSolution space
Implementation
Real world
ProblemProblem
SpaceSpace
Programming
Language
Programmer
Apakah Pemrograman?Apakah Pemrograman?
7. • Sebuah program harus dapat mengerjakan tugasnya
dengan benar.
• Dapat melakukan tugasnya secara cepat.
• Tidak menggunakan banyak sumber daya (processor
time, memory, disk capasity, network capacity).
• Program mudah dibaca dan dimengerti.
• Proses pembuatan program selesai tepat waktu.
• Adanya kesalahan tidak mempengaruhi bagian program
(error locality).
• Mudah pemeliharaannya.
• Sebuah program harus independent dan tidak
bergantung pada program lain.
• Mempunyai dokumentasi yang baik.
Ukuran Kualitas ProgramUkuran Kualitas Program
8. Text Editor
Mis: Notepad,
Edit, dsb
Program text
(*.c)
Compiler
Object File
(*.obj)
Program
(*.exe)
Linker
+
Library
Penanganan text program dalam komputerPenanganan text program dalam komputer
9. • FlexibilityFlexibility : mendekati low level language namun
mudah dimengerti.
• PortabilityPortability : dipakai mulai dari komputer mikro
sampai superkomputer.
• Bahasa yang banyak digunakan dalam ilmu
komputer untuk membuat O/S (Operating System)
dan program aplikasi, dll.
• Didukung oleh banyak pustaka (libraries).
Pengantar Bahasa CPengantar Bahasa C
Mengapa C ?Mengapa C ?
10. • Akar dari bahasa C adalah dari bahasa BCPL yang
dikembangkan oleh Martin Richards pada tahun 1967.
• Kemudian Ken Thompson mengembangkan bahasa ini
menjadi bahasa B pada tahun 1970.
• Selanjutnya Dennis Ritchi mengembangkan dari bahasa B
menjadi bahasa C di Bell Laboratories Inc. (AT&T Bell
Laboratories) sekitar tahun 1970-an.
• Bahasa C pertama kali digunakan di komputer Digital
Equipment Corporation PDP-11 yang menggunakan
sistem operasi UNIX.
• Kepopuleran bahasa C membuat versi-versi dari bahasa
ini banyak dibuat untuk komputer mikro (PC).
• Pada tahun 1983, ANSI (American National Standards
Institute) membentuk suatu komite (ANSI Committee
X3J11) yang menetapkan standar ANSI untuk bahasa C.
Sejarah Bahasa CSejarah Bahasa C
11. • C adalah salah satu bahasa pemrograman yang terstruktur.
• Bahasa C terdiri dari fungsi-fungsi.
• Tidak ada perbedaan antara prosedur dengan fungsi.
• Setiap program C mempunyai satu fungsi dengan nama
“mainmain” (program utama).
• Program akan dieksekusi dimulai dari statement pertama
pada fungsi “main” tersebut.
• Huruf besar dengan huruf kecil diartikan berbeda (case-
sensitive).
• Setiap perintah (statement) diakhiri dengan semi-colon (titik
koma (;)).
Struktur Bahasa CStruktur Bahasa C
12. #include <header_file>
deklarasi global_variabel;
return_type function_name(parameter)
{
deklarasi lokal_variabel;
statements;
return (value);
}
• Format penulisan fungsi secara umum:
Struktur Bahasa CStruktur Bahasa C
• Fungsi bisa diletakkan di atas atau di bawah fungsi “main”.
• Fungsi yang tidak mengembalikan nilai tipe-nya (return-
type) adalah “voidvoid”.
13. voidvoid function_name (parameter_list)
{
deklarasi lokal_variabel;
statements;
}
• Format penulisan fungsi yang tidak mengembalikan nilai:
Struktur Bahasa CStruktur Bahasa C
• Contoh Program C:
1 /* Prog_1.C–Menampilkan “Hello World !” di monitor */
2 #include <stdio.h>
3 void main()
4 {
5 printf ( “Hello World !”);
6 }
14. Hello World !
• Apabila program tersebut di atas dikompilasi dan
dijalankan akan menghasilkan tampilan di monitor sbb:
Struktur Bahasa CStruktur Bahasa C
Keterangan program:
• Penomoran di depan setiap baris program C sebenarnya
tidak ada, ini hanya membantu keterangan.
• Baris 1: /* Prog_1.C–Menampilkan “Hello World !” di
monitor */ - merupakan komentar, yang digunakan agar
program lebih mudah dibaca dan dimengerti. Komentar
tidak ikut dikompilasi. Setiap komentar diapit oleh tanda /*
dan */
15. Struktur Bahasa CStruktur Bahasa C
Keterangan program:
• Baris 2: #include <stdio.h> – memasukkan header file
yang mempunyai nama stdio.hstdio.h, dimana dalam header
file tersebut terdapat perintah printf(), yang digunakan
untuk menampilkan semua konstanta string yang diapit
oleh tanda “ dan “. Dalam program ini menampilkan
kalimat: Hello World !.
• Baris 3: void main() – mendeklarasikan fungsi utama
tanpa mengembalikan nilai karena tipe fungsinya void.
• Baris 4: { - menyatakan awal kumpulan perintah dari
fungsi utama.
• Baris 5: printf ( “Hello World !”); - perintah yang
digunakan menampilkan kalimat: Hello World ! di monitor.
• Baris 6: } - mennyatakan akhir kumpulan perintah dari
fungsi utama.