PROGRAMMING LANGUAGE USING C C Tentang saya Nur



































- Slides: 35
PROGRAMMING LANGUAGE USING C/ C++
Tentang saya § § Nur Cahyo Wibowo, S. Kom S 1 Teknik Informatika ITS 1998 – 2003 HP 081330266109 Email: bluejundi@upnjatim. ac. id atau bluejundi@yahoo. com § MK : BP, BPL, Sistem Digital, DAA, Pemeliharaan PL, Arsitektur PL § Sedang menempuh S 2 di ITS 2006
BAHASA PEMROGRAMAN § MATA KULIAH DASAR INFORMATIKA § PRASYARAT PEMILIHAN PROGRAM STUDI [ SI MAUPUN TF ] § PENILAIAN: § UTS § UAS § QUIZ § TUGAS 30 % 40 % 15 %
PROLOG: THE COMPUTER SYSTEM SOFTWARE HARDWARE PROGRAMMING O/ S GAMES APPLICATIONS BRAINWARE
PROGRAMMING FRAMEWORK FILE APLIKASI COMPILING RUNNING SOURCE CODE MEMORI/ RAM OPERATING CODING USER PROGRAMMER
PROGRAMMING HISTORY
LANGUAGE GENERATION § 1 ST GENERATION ASSEMBLER § 2 ND GENERATION FORTRAN, C, PASCAL, BASIC § 3 RD GENERATION DELPHI, JAVA, VISUAL BASIC § 4 TH GENERATION SQL (STRUCTURED QUERY LANGUAGE)
ALGORITHM § Adalah urutan langkah-langkah logika yang menyatakan suatu tugas dalam menyelesaikan suatu masalah atau problem. § Contoh: Buat algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. Algoritmanya : 1. Bagi bilangan dengan bilangan 2. 2. Hitung sisa hasil bagi pada langkah 1. 3. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.
FLOWCHART § BIASA DISEBUT DENGAN DIAGRAM ALIR. § SALAH SATU METODE UNTUK MEREPRESENTASIKAN ALGORITMA SELAIN PSEUDOCODE DAN URUT-URUTAN LANGKAH. § MENGGUNAKAN SIMBOL-SIMBOL BANGUN DATAR BESERTA ANAK PANAH SEBAGAI PENUNJUK ARAH PROSES.
SIMBOL NAMA FUNGSI TERMINATOR Permulaan/ akhir program GARIS ALIR (FLOW LINE) Arah aliran program Proses inisialisasi/ PREPARATION pemberian harga awal PROSES Proses perhitungan/ proses pengolahan data
INPUT/ OUTPUT DATA Proses input/ output data, parameter, informasi PREDEFINED PROCESS (SUB PROGRAM) Permulaan sub program/ proses menjalankan sub program DECISION Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya ON PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada satu halaman OFF PAGE CONNECTOR Penghubung bagian-bagian flowchart yang berada pada halaman berbeda
Contoh: Flowchart untuk menentukan bilangan genap atau ganjil Start Input Bilangan Hitung sisa bagi antara bilangan dengan angka 2 A Apakah Sisa = 0 T Y Cetak Genap A End Cetak Ganjil
AKAR PERS. KUADRAT 1. 2. 3. 4. Mulai Masukkan nilai variabel A, B, C Hitung D = B 2 – 4*A*C Jika D = 0 maka X 1 = X 2 = – B/(2*A) Tapi jika D < 0 maka X 1, X 2 Imaginer selain itu maka X 1, 2 = (– B ± √D)/(2*A) 5. Tampilkan X 1, X 2 6. Selesai
DIKET: Y = AX 2 + BX + C Start Input Nilai A, B, C FLOWCHART AKAR PERSAMAAN KUADRAT D = B 2 – 4*A*C Y D=0 ? T X 1 = X 2 = – B/(2*A) Y D<0 ? X = (– B ± √D)/(2*A) T X 1, X 2 Imaginer Cetak X 1, X 2 End
Bilangan Faktorial 1. Mulai 2. Masukkan N (N adalah bilangan yang akan dihitung nilai faktorialnya) 3. Set variabel Faktorial 1 4. Set variabel Angka 1 5. Hitung Faktorial * Angka 6. Angka + 1 7. Apakah Angka > N ? Jika TIDAK kembali ke langkah (4). Jika YA tampilkan nilai Faktorial. 8. Selesai
FLOWCHART FAKTORIAL EX. 4! = 4 x 3 x 2 x 1 = 24 Start Input N Faktorial 1 Angka 1 A Faktorial = Faktorial * Angka = Angka + 1 Angka > N ? T Y A Cetak Faktorial End
LATIHAN SOAL 1. 2. 3. 4. 5. 6. Buatlah algoritma + flowchart untuk memasak mi instan! Buatlah algoritma + flowchart untuk naik angkot/ lyn! Buat algoritma untuk menghitung jumlah N suku dari deret aritmatika dengan pola berikut : Sn = 3 + 7 + 11 + …… + (4 n-1) Buat flowchart untuk mencetak pasangan nilai X dan Y dimana hubungan antara X dan Y memenuhi persamaan Y = X 3 – 2 X +1 dan nilai x berubah dari – 10 sampai 10 ! Buat algoritma + flowchart untuk menentukan apakah suatu bilangan merupakan bilangan prima atau bukan! Buat algoritma + flowchart untuk mencetak N buah bilangan prima yang pertama!
LEARNING SUBJECTS § § § Introduction to Programming Algorithm and Flow Chart Data Type and Variable Input and Output Sequential Programming Top Down Branching Selecting What is The Next Step? Looping Doing Some Task for Many Times Function/ Subrutin Part of Program Array Collection of Same Type of Data Struct Collection of Different Types of Data Pointer Memory Accessability
PROGRAMMING STEPS § ANALISA MASALAHNYA § § § INPUT-NYA APA SAJA? ALGORITMA PROSESNYA BAGAIMANA? OUTPUT-NYA APA? § KETIK SOURCE CODE-NYA § HEADER FILES #include < library > § GLOBAL SECTIONS VARIABEL GLOBAL, FUNGSI BANTU § MAIN SECTIONS VARIABEL LOKAL, INPUT, PROSES, OUTPUT § § § JALANKAN PROGRAMNYA ADA ERROR ? TES HASILNYA SUDAH BENAR ? BUAT ARSIP/ DOKUMENTASINYA
VARIABEL & TIPE DATA § Variabel = penyimpan nilai/ data. § Setiap masalah harus dianalisa terlebih dahulu variabel apa saja yang terlibat/ dibutuhkan. § Setiap variabel ditentukan tipe datanya yang sesuai. § Variabel § Utama menyimpan data input/ output § Bantu dipakai selama proses § Tipe data § Angka int, float, double, long, single § Karakter char § Turunan array, struct, union, pointer
INPUT & OUTPUT § FORMAT § Angka %i, %d, %f § Huruf/ karakter %c § String/ array of char %s § Alamat memori %p § INPUT § scanf(format, variabel) scanf ( “%d”, &angka ); § getch(), getche(), getchar() § gets(variabel) gets ( nama ); § OUTPUT § printf(kalimat, variabel) printf ( “IPK = %f“, ipk ); § putch(), putchar() § puts(variabel) puts ( alamat );
CONTROL STRUCTURES § SEQUENTIAL/ URUTAN Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial. § BRANCHING/ PERCABANGAN Penyeleksian kondisi (TRUE/ FALSE) untuk menentukan proses selanjutnya § LOOPING/ PERULANGAN Mengulangi proses selama syarat/ kondisi tertentu terpenuhi
SEQUENTIAL/ URUTAN Entry Action 1 Action 2 Action 3 Exit
BRANCHING/ PERCABANGAN Entry Condition 1 TRUE FALSE Action 1 Condition 2 FALSE TRUE Action 2 Action 3 Exit
LOOPING/ PERULANGAN Entry Action 1 Action 2 Looping 1 Y Y T if 1 if 2 Looping 2 T Action 3 Exit
IF - ELSE § § Biasa digunakan untuk seleksi nilai/ data Kondisi jamak ((kondisi_1) &&/ || (kondisi_2)) if (kondisi=TRUE) jalankan_statement_ini if (kondisi=TRUE) statement_1 else statement_2 // if kondisi=FALSE § if (kondisi=TRUE) statement_1 else if (kondisi=TRUE) statement_2 else statement_3 // if kondisi=FALSE § if (kondisi=TRUE) nested_statement
SWITCH - CASE § Biasa digunakan untuk membuat menu dalam program switch (variabel_pilihan) { case nilai_1 : statemen_1; break; case nilai_2 : statemen_2; break; case nilai_3 : statemen_3; break; … default: statemen_default; } § Bisa berbentuk nested/ bersarang
LOOP FOR § Syntax source code lebih ringkas § Biasa dipakai untuk perulangan yang sudah jelas jumlah perulangannya for(nilai_awal; syarat_ulang; inc/dec) { statemen_yang_akan_diulang 2; }
LOOP WHILE & DO-WHILE § Biasa dipakai untuk perulangan dengan kondisi bersyarat/ logika § while (kondisi=TRUE) { jalankan_statemen_ini; } § do { jalankan_statemen_ini; } while (kondisi=TRUE)
NESTED LOOP § Perulangan bersarang (terjadi di dalam perulangan) § Yang biasa dipakai adalah loop FOR karena lebih mudah & ringkas § Contoh kasus yang sering dipakai adalah pengolahan tampilan, angka dan matrik for(int i=1; i<=5; i++) { for(int j=1; j<=i; j++) printf(“%d “, j); printf(“n”); } // milik loop for dalam // milik loop for luar
FUNGSI § Adalah subrutin/ subprogram/ potongan program § Mempunyai tugas tertentu § Mempunyai bagian RETURN VALUE dan PARAMETER/ ARGUMEN § Ada istilah deklarasi & prototype fungsi tipe_return_value nama_fungsi (parameter) { statemen 2; // badan fungsi return (return_value/ variabel); }
ARRAY 1 DIMENSI § ARRAY adalah TIPE DATA TURUNAN § 1 variabel bisa untuk menyimpan banyak data yang bertipe sama § Memiliki indeks untuk tiap elemen § Umumnya menggunakan LOOPING untuk INPUT, PROSES & OUTPUT datanya
ARRAY MULTIDIMENSI (2) § Mempunyai elemen BARIS & KOLOM § Dapat dipakai untuk representasi sebuah MATRIK § Struktur data untuk rekapitulasi informasi berdasar baris dan kolom TABEL, misal: penjualan barang § Memakai NESTED LOOPING dalam operasinya
STRUCT § STRUCT adalah TIPE DATA TURUNAN § 1 variabel bisa untuk menyimpan beberapa data yang bisa berbeda tipenya § Menggunakan operator titik (. ) untuk mengakses tiap elemen datanya. § Seringkali dikombinasikan dengan ARRAY of STRUCT
POINTER § Adalah TIPE DATA TURUNAN § Variabel bertipe pointer digunakan untuk menyimpan ALAMAT sebuah data, BUKAN NILAI datanya. § Operator yang sering dipakai: § & mendapatkan alamat memori § * mengakses nilai dari sebuah pointer