PROGRAMMING LANGUAGE USING C C Tentang saya Nur

  • Slides: 35
Download presentation
PROGRAMMING LANGUAGE USING C/ C++

PROGRAMMING LANGUAGE USING C/ C++

Tentang saya § § Nur Cahyo Wibowo, S. Kom S 1 Teknik Informatika ITS

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

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

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 FRAMEWORK FILE APLIKASI COMPILING RUNNING SOURCE CODE MEMORI/ RAM OPERATING CODING USER PROGRAMMER

PROGRAMMING HISTORY

PROGRAMMING HISTORY

LANGUAGE GENERATION § 1 ST GENERATION ASSEMBLER § 2 ND GENERATION FORTRAN, C, PASCAL,

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

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

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

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

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

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

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,

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

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

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

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

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?

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

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

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

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

SEQUENTIAL/ URUTAN Entry Action 1 Action 2 Action 3 Exit

BRANCHING/ PERCABANGAN Entry Condition 1 TRUE FALSE Action 1 Condition 2 FALSE TRUE Action

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

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)

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) {

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

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 §

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

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

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

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

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

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

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