T0616 ALGORITMA DAN PEMROGRAMAN (11-12)

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrograman Berorientasi Objek (Project)
Fungsi (2) Dr. Anto Satriyo Nugroho, M.Eng Web:
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Function: Lanjutan Pertemuan ke 9..
Situasi Saat Program Berjalan (Run-time Environment)
Memori dan Scope Variabel
Review-Dasar Pemrograman Komputer
STRUKTUR DATA (5) Pointer dan Function
Alokasi Memori Yuliana Setiowati.
PROSEDUR.
Procedure , Function dan Parameter
STRUKTUR DATA Pointer dan Function
Fungsi Fungsi.
PEMROGRAMAN TERSTRUKTUR
PEMROGRAMAN TERSTRUKTUR
Algoritma dan Pemrograman 2C
POINTER.
FUNGSI.
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
PRAKTIKUM PEMROGRAMAN WEB Pertemuan 5
Fungsi dan Prosedur.
METHODS Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
PROCEDURE DAN FUNCTION
Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi.
Rismayuni.  integer adalah bilangan bulat tanpa bagian fraksional dan titik decimal integer disimpan sebagai bilangan biner  Contoh :  earn = 1024;
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
1 Pertemuan Pengantar Bahasa C Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
1 Pertemuan Fungsi Matakuliah: T0616 / Algoritma dan Pemrograman Tahun: 2007 Versi: 1/0.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
FUNGSI.
Pengertian FUNGSI.
Algoritma dan Struktur Data 1 pertemuan 9
Inheritance dan Kata Kunci static
Struktur Program TEE 2103 Algoritma dan Pemrograman
Algoritma dan Struktur Data 1 pertemuan 4
PEMROGRAMAN SISTEM FUNGSI
PERTEMUAN 3 KONSEP TIPE DATA, OPERATOR DAN IDENTIFIER
Algoritme dan Pemrograman
Pengenalan C++ Oleh : Dewi Sartika.
Fungsi.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
06.3 Hari-6.
Tipe Data, Variabel, & Konstanta
Castaka agus sugiato, M.Kom., M.CS
Elemen-elemen Dasar Pada Bahasa C++
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
Algoritme dan Pemrograman
Melda Dahoklory,S.Kom,MT
TEL 2112 Dasar Komputer & Pemrograman
TEL 2112 Dasar Komputer & Pemrograman
10.5 Nested loop 6.3 & 7.3 NESTED LOOP 255.
QUIS Algoritma Pemrograman I
FUNGSI.
Algoritma dan Pemrograman
Variabel dan memori.
IT234 ALGORITMA DAN STRUKTUR DATA
Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman
FUNGSI II.
Materi 9 Pembahasan CLASS Dalam C++
Pemrograman Terstruktur
Algoritma dan Pemrograman FUNGSI (FUNCTION)
Keywords ,Tipe Data, dan contoh Penggunaanya
Variable Static & Linked List
Pemrograman Terstruktur
T0616 ALGORITMA DAN PEMROGRAMAN (2)
Memori dan Scope Variabel
Transcript presentasi:

T0616 ALGORITMA DAN PEMROGRAMAN (11-12) SUBANDIJO UNIVERSITAS BINA NUSANTARA FAKULTAS ILMU KOMPUTER JAKARTA, 2005 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman LINGKUP IDENTIFIER (1) IDENTIFIER GLOBAL: IDENTIFIER YANG DIDEKLARASIKAN DILUAR FUNGSI DAN DILETAKKAN DI ATAS SEMUA FUNGSI YANG ADA DALAM SUATU PROGRAM. LINGKUP MELIPUTI SELURUH PROGRAM IDENTIFIER YANG DIDEKLARASIKAN SECARA GLOBAL DAPAT DIDEKLARASIKAN KEMBALI (REDECLARED) DI DALAM FUNGSI. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman LINGKUP IDENTIFIER (2) IDENTIFIER LOKAL: IDENTIFIER YANG DIDEKLARASIKAN DI DALAM SUATU FUNGSI, TERMASUK DAFTAR PARAMETER. LINGKUP TERBATAS PADA FUNGSI. JUGA DIKENAL DENGAN NAMA AUTOMATIC DAN STACK 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman LINGKUP IDENTIFIER (3) KEUNTUNGAN MENGGUNAKAN IDENTIFIER GLOBAL ADALAH TRANSFER DATA ANTAR-FUNGSI LEBIH SEDERHANA. KERUGIAN MENGGUNAKAN IDENTIFIER GLOBAL DATA TIDAK TERJAGA DENGAN BAIK. SETIAP FUNGSI DAPAT MENGUBAH NILAI VARIABEL TANPA SEPENGETAHUAN FUNGSI LAIN SEHINGGA PROGRAM TIDAK MODULAR. JIKA PROGRAM MAKIN BESAR MAKA PELUANG TERJADINYA EROR MAKIN BESAR PULA SEHINGGA SULIT UNTUK MELACAK KESALAHAN. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman LINGKUP IDENTIFIER (4) KEUNTUNGAN MENGGUNAKAN IDENTIFIER LOKAL: CONVENIENT. EFFICIENT. LOCAL COPIES. KERUGIAN MENGGUNAKAN IDENTIFIER LOKAL: SHORT LIFETIME . RESTRICTED COMMUNICATION. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman LINGKUP IDENTIFIER (4) int x; fungsi1() { … } int y; fungsi2() { int z; … scope vari. z scope variable x main() { scope variable y int y; z, y : hanya dikenal main … z di main <> z di fungsi2() 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH 1 PROGRAM BERIKUT MENUNJUKKAN PERUBAHAN NILAI VARIA-BEL X, GLOBAL SEKALIGUS LOKAL YANG SALING MEMPENGA-RUHI. #include<stdio.h> int x = 10; F(int n){ return x+=n; } main() { int x=5; x += F(x); printf(“\n x = %d”, x); x = 10 + 5 = 15 x = 5 + F(5) = 5 + 15 = 20 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH 2 APA KOMENTAR ANDA TENTANG PROGRAM BERIKUT? MANA PERNYATAAN YANG BENAR DAN MANA YANG SALAH? main() { x = 11; int x; { x = 22; y = 33; int y; x = 44; y = 55; } x = 66; y = 77; 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman KLAS PENYIMPANAN LINGKUP (LOKAL | GLOBAL) DAN PERMANENCE ATAU UMUR VARIABEL: AUTO, EXTERN, STATIC, DAN REGISTER. KECUALI EXTERN YANG GLOBAL, VARIABEL YANG LAIN SEMUANYA LOKAL. KECUALI REGISTER YANG DISIMPAN DI MIKROPROSESOR, SEMUA VARAIBEL LAIN DISIMPAN DI RAM. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman AUTO DIDEKLARASIKAN DI DALAM FUNGSI. LINGKUP LOKAL TERHADAP FUNGSI. SEMBARANG VARIABEL YANG DIDEKLARASIKAN DI DALAM FUNGSI DIARTIKAN SEBAGAI VARIA-BEL OTOMATIS. KATA KUNCI AUTO BERSIFAT OPSIONAL KARE-NA DEFAULT ADALAH OTOMATIS. DIBENTUK SAAT FUNGSI DIPANGGIL, DIHAPUS SAAT FUNGSI SELESAI DIEKSEKUSI. NAMA LAIN ADALAH LOCAL DAN STACK. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH long Fak(auto int n) { auto int i; auto long prod = 1; if(n>1) for( i =2; i <=n; i++) prod *= i; return (prod); } 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman EXTERN DIDEKLARASIKAN DI LUAR FUNGSI. LINGKUPNYA GLOBAL. DIGUNAKAN ANTARA LAIN UNTUK PASSING PARAMETER DAN KOMPILASI TERPISAH. KATA KUNCI EXTERN SEBAIKNYA DITULIS DI DALAM FUNGSI YANG AKAN MENGGUNAKAN VARIABEL EKSTERNAL. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH 1 #Iinclude<stdio.h> int x = 1947; void main() { extern int x; void cetak(void); printf(“\nmain(): x = %d”,x); cetak(); } void cetak(void) { extern int x; printf(“\ncetak(): x=%d”, x); } OUTPUT: main(): x = 1947 cetak(): x = 1947; 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH 2 MAIN.C DAN FUNGSI.C DI-KOMPILASI TERPISAH. int gX; main(){ int aZ; gx = 1947; aZ = fungsi(gX); printf(“\n%d\t%d”, aZ,gX); } extern int gX; fungsi(int argY){ int iZ; gX = 7491; iZ = argY; return(iZ); } 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman STATIC (1) DIDEKLARASIKAN DI DALAM FUNGSI DAN DIAWALI DENGAN KATA KUNCI STATIC. LINGKUPNYA LOKAL TERHADAP FUNGSI. NILAI VARIABEL STATIC TETAP ADA MESKIPUN BLOK DI MANA IA DIDEFINISIKAN BERAKHIR. TIDAK HILANG SAAT SAAT FUNGSI SELESAI DIEKSEKUSI. NILAI TETAP ADA DI MEMORI HISTORY SENSITIVE. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman STATIC (2) NILAI VARIABEL STATIC DALAM FUNGSI TETAP DIPERTAHANKAN DI ANTARA PEMANGGILAN FUNGSI YANG SAMA. DAPAT DIBERI NILAI AWAL DENGAN DEFAULT = 0. INISIALISASI HANYA DILAKUKAN SATU KALI YAITU SAAT ALOKASI MEMORI YANG DILAKU-KAN OLEH KOMPILATOR. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH void main() { int i; void tes(); for( i=1; i<4. i++) { printf(“\nIterasi ke- %d”,i); tes(); } void tes() { int lupa = 0; static int ingat = 1; printf(“\nLupa =%d, Ingat = %d”, lupa++, ingat++); } 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman EXTERNAL STATIC KLAS PENYIMPANAN STATIC JUGA DAPAT DIAPLIKASIKAN PADA VARIABEL EXTERNAL IA HANYA DAPAT DIAKSES OLEH KODE YANG ADA PADA FILE DI MANA IA DIDEKLA-RASIKAN. /* FILE: XXX.C */ static int count; static char name[8]; main() { … /* program body */ } 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman REGISTER (1) DEKLARASI DI DALAM FUNGSI DAN DIAWALI DENGAN KATA KUNCI REGISTER. LINGKUP LOKAL. DISIMPAN DI REGISTER MIKROPROSESOR, BUKAN DI MEMORI. DIGUNAKAN UNTUK MEMPERCEPAT EKSEKUSI. TIDAK SEMUA TIPE VARIABEL DAPAT BERUPA VARIABEL REGISTER, BIASANYA HANYA UNTUK INTEGER, CHAR, DAN POINTER. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman REGISTER (2) BANYAK VARIABEL REGISTER SANGAT TERBA-TAS, BIASANYA DUA ATAU TIGA. MENDEKLARASIKAN SUATU VARIABEL SEBAGAI VARIABEL REGISTER BELUM TENTU DITERIMA. JIKA TIDAK DITERIMA IA AKAN DIPERLAKUKAN SEBAGAI VARAIBEL OTOMATIS. DEKLARASI HANYA BERLAKU JIKA ADA REGISTER YANG KOSONG. 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH (1) #include<stdio.h> #include<time.h> main() { time_t awal, akhir; register int f, f1, f2; int i, j, n=23; time(&awal); for(j=1; j<=30000;j++) { f1=1; f2=1; for(i=1; i<=n; i++) { f=(i<3? 1: f1+f2; f2=f1; f1=f; } time(&akhir); printf(“\ni=%d Fib=%d”,i,f); printf(“\Elapsed time =%.01f dtk”,difftime(akhir,awal); 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman CONTOH (2) main() { register unsigned int cepat; unsigned int lambat; long awalLoop, akhirLoop; long timer(); cepat=1; awalLoop=timer(); while(cepat<65535) { cepat+=1; } akhirLoop = timer(); waktu=akhirLoop- awalLoop; printf(“\nWaktu eksekusi 1= %d clock”, waktu); lambat=1; awalLoop=timer(); while(lambat<65535) { lambat+=1; } akhirLoop = timer(); waktu=akhirLoop- awalLoop; printf(“\nWaktu eksekusi 2= %d clock”, waktu); 2/24/2019 T0616 - Algoritma dan Pemrograman

T0616 - Algoritma dan Pemrograman THE END “...ALL YOU NEED IS LOVE…” 2/24/2019 T0616 - Algoritma dan Pemrograman