BAB I PENGANTAR Pendahuluan Penyajian 1.1 Latar Belakang 1.2 Algoritma dan Struktur Data

dokumen-dokumen yang mirip
Materi Pelajaran : Algoritma Pemrograman. Siswa memahami tentang dasar dasar Algoritma Pemrograman

Pengenalan Algoritma & Pemrograman

Algoritma dan Struktur Data

1. Algoritma & Pemrograman

BAHASA PEMROGRAMAN. Merupakan prosedur/tata cara penulisan program.

A. Pemahaman Awal. Oleh : Fiftin Noviyanto

Pemrograman Komputer Oleh : Agus Priyan : Agus Priy t an o t, o M.Kom M.K

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

POKOK BAHASAN - 1 ALGORITMA & PEMROGRAMAN

Pendahuluan. Kuliah online : Tekkom [2013/VI]

Algoritma Pemrograman I

BAHASA TINGKAT TINGGI

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR. Pertemuan Ke-1

A. Pemahaman Awal. Hardware dan Software(1) Ada beberapa perangkat utama di komputer 20/01/2012

Tahap pengembangan program

Bahasa Pemograman Modul XI

Algoritma Pemrograman 2C

Pemrograman dan Bahasa Pemrograman

PENDAHULUAN PEMROGRAMAN KOMPUTER. Mengapa Belajar Pemrograman Komputer?

Fungsi Bahasa pemrograman adalah sebagai media untuk menyusun dan memahami serta sebagai alat komunikasi antara pemrogram dengan computer.

Pendahuluan. program

Kualitas bahasa pemrograman: Ekspresivitas : secara jelas menggambarkan algoritma yang dibuat oleh programmer

Algoritma dan Struktur Data

ALGORITMA DAN PEMROGRAMAN #2

Dasar Pemrograman. Nisa ul Hafidhoh

ALGORITMA DALAM KAITANNYA DENGAN KOMPUTER

Tujuan. Pengenalan. Pengenalan Pemrograman Komputer. Komponen Dasar pada Komputer : Hardware. Komponen Dasar pada Komputer : Hardware

Pengenalan Pemrograman

PEMROGRAMAN KOMPUTER DASAR. Kuliah ke-1

Implementasi OOP Pada Perangkat Lunak Pemrograman

Algoritma dan Pemrograman #1. Arif Dwi Laksito, M.Kom

Pengantar Teknologi Sistem Informasi C

Pemrograman Komputer Oleh : Agus Priyan : Agus Priy t an o t, o M.Kom M.K

BAB I Pendahuluan. 1.1 Konsep Algoritma

Mengapa Belajar Pemrograman Komputer?

MAKALAH ALGORITMA, PSEUDOCODE DAN FLOWCHART TENTANG YUFI EKO FIRMANSYAH 1 D3 IT B OLEH

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

Compiler & Interpreter

Program. Instruksi-instruksi yang diberikan kepada komputer agar dapat melaksanakan tugas-tugas tertentu

Pendahuluan. Algoritma

TEKNIK KOMPILASI. Alamat untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013

Bahasa Pemrograman. Secara umum terdapat 4 kelompok Bahasa Pemrograman yaitu:

1. PENGANTAR KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE)

Gambar 1. Blok Utama Komputer

Bab 1 : Pengenalan dan Pengantar Algoritma

PENGANTAR ALGORITMA. Brigida Arie Minartiningtyas, M.Kom

Web Site :

ALGORITMA PEMROGRAMAN 1C PENDAHULUAN KONSEP BAHASA PEMROGRAMAN

Pengenalan Algoritma

Pengantar Teknologi Informasi. Software Komputer

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

MATERI KULIAH ALGORITMA DAN PEMROGRAMAN I (2 SKS)

IT234 ALGORITMA DAN STRUKTUR DATA

Dasar Pemrograman. Nisa ul Hafidhoh

PENGANTAR ALGORITMA PEMROGRAMAN

Pengantar Teknologi Informasi

Pendahuluan. Tujuan Pembelajaran :

Bahasa Pemrograman- TIS SKS

Introduction To Programming & Software Engineering. Inggriani Liem Revisi oleh: Tim Penyusun Materi KU1071/Pengantar Teknologi Informasi A

Zaenal Abidin, S.Si., M.Cs. Riza Arifudin, S.Pd., M.Cs.

PENGENALAN ALGORITMA & PEMROGRAMAN P E N G A N T A R T E K N O L O G I I N F O R M A S I ( T I F )

PEMROGRAMAN TERSTRUKTUR

BAB I. PENDAHULUAN A. LATAR BELAKANG

1: Pengertian Dasar Logika dan Algoritma STRUKTUR DASAR. Oleh: Imana Malia kondou, S.T.

LANGUAGES AND TRANSLATOR

BAB I PENDAHULUAN. 1.1 Latar Belakang

Perkembangan Perangkat Lunak. Oleh: Tim Pengajar PTIK

KECERDASAN BUATAN (ARTIFICIAL INTELLIGENCE) By :Suthami A.

MODUL II SISTEM WINDOWS XP DAN SISTEM KEAMANAN KOMPUTER

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Pengantar Teknologi SIA 1

Komputer memiliki dua komponen utama. Yang pertama adalah hardware (perangkat keras) yang tersusun atas komponen elektronik dan mekanik.

PERANGKAT LUNAK (SOFTWARE) PTI

TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI

Algoritma Dan Pemrograman [algoritma, program, flowchart] Presented by Rijal Fadilah, S.Si

PERANGKAT LUNAK KECERDASAN BUATAN STMIK PARNARAYA MANADO

PERTEMUAN 1 APLIKASI KOMPUTER KONTRAK PERKULIAHAN PENGENALAN KOMPUTER RANGGA RINALDI, S.KOM, MM. Modul ke: Fakultas Desain dan Seni Kreatif

Algoritma Pemrograman Fery Updi,M.Kom

Pemrograman. Fery Updi,M.Kom

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma

Kusnawi, S.Kom, M.Eng

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

KOMPUTASI PEMROGRAMAN

BAB I Pengantar Algoritma dan Pemrograman

ALGORITMA, PEMROGRAMAN DAN BAGAN ALIR

Konsep Bahasa Pemrograman Pertemuan 2

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

PENGENALAN DASAR PEMROGRAMAN

Sekilas Tentang C. Dasar Pemrograman & Algoritma

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PENGENALAN KOMPUTER. Sistem Komputer. Dian Palupi Rini, M.Kom

Review C/C++ & Intro to Java. Pemrograman Berorientasi Obyek IT209

BAB I SEKILAS TENTANG COBOL

ORGANISASI KOMPUTER. Pertemuan II KONSEP DASAR KOMPUTER - SOFTWARE -

KOM204 : BAHASA PEMROGRAMAN

Tugas Rekayasa Perangkat Lunak

BAB I KONSEP DASAR PEMROGRAMAN

ALGORITMA & PEMROGRAMAN

Transkripsi:

BAB I PENGANTAR Pendahuluan Program komputer dibuat berdasarkan langkah-langkah logis untuk menyelesaikan masalah. Lagkah-langkah tersebut ditulis dalam suatu instruksi yang bisa dipahami oleh komputer, kemudian komputer akan menerjemahkan ke dalam bahasa mesin dan mengerjakan langkah-langkah tersebut. Penyajian 1.1 Latar Belakang Pada saat ini kebutuhan data semakin kompleks. Bayangkan: indeks dari 8 milyar halaman! (Google). Semua program komputer berkaitan dengan data : Sistem Informasi menyimpan data laporan, user, informasi, dsb Game menyimpan data pemain, posisi, skor, dsb Search engine menyimpan data URL, hyperlink, bobot, dsb dsb Pemilihan algoritma juga mempengaruhi waktu eksekusi oleh komputer, sebagai contoh : Contoh kasus sederhana : Dimisalkan ada 3.000 file teks dengan rata-rata 20 baris tiap file teks-nya. Dimana tiap baris mengandung 10 kata. Jadi akan ada 600.000 kata. Tentukan jumlah kata bandung. Jika dimisalkan dibutuhkan waktu 1 detik untuk mencek sebuah kata sama dengan bandung. Solusi 1: menggunakan sequential matching, membutuhkan waktu 1 detik x 600.000 kata = 166 jam Solusi 2 : Binary searching : log 2 600000 = 19 detik vs 166 jam! 1.2 Algoritma dan Struktur Data Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah. Algoritma memiliki lima ciri penting : 1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. 2. Setiap langkah harus didefinisikan dengan tepat dan tidak berarti dua (ambigu). 3. Algoritma memiliki nol atau lebih masukan. 4. Algoritma memiliki satu atau lebih keluaran.

5. Algoritma harus efektif. Struktur data: cara merepresentasikan data agar efisien dalam penyimpanan dan pengolahannya. Struktur data seharusnya diterapkan pada algoritma yang didesain secara efisien Jadi mata kuliah Algoritma & Struktur Data adalah suatu disiplin ilmu yang mempelajari bagaimana merepresentasikan data secara efisien dan desain pengolahannya secara efisien. Roadmap belajar algoritma dan pemrograman seperti pada Gambar 1.1 berikut. 1.3 Komponen Komputer Gambar 1.1 Roadmap belajar pemrograman Unit pemroses pusat Unit kontrol Peralatan masukan Internal storage atau Memory Peralatan keluaran Arithmetic Logical Unit (ALU) Aliran data atau program Fungsi kontrol Gambar 1.2 Komponen dasar komputer

1.4 Program dan Bahasa Pemrograman Proses pembuatan program komputer sampai diperolehnya hasil yang dikehendaki disebut dengan pemrograman komputer, dan dilaksanakan oleh pemrogram (programmer). Bahasa yang digunakan sebagai komunikasi diantara orang dengan komputer (untuk penulisan program) disebut bahasa pemrograman. Bahasa pemrograman mencakup notasi, simbol, pernyataan, tata bahasa, dan lain-lain aspek bahasa. Penulisan program harus memenuhi aturan sintak (syntatic rule) dari bahasa pemrograman. Perbedaan mendasar diantara bahasa pemrograman dengan bahasa sehari-hari yang digunakan manusia ialah bahwa bahasa pemrograman digunakan sangat tepat da n tidak ada pengecualian atau arti ganda (ambiguities). Masalahnya ialah karena komputer tidaklah dapat berfikir dan menimbang-nimbang sebagaimana dapat dilakukan oleh manusia. Komputer hanya akan mengikuti perintah persis sebagaimana yang diberikan. Dilihat kedekatannya kepada bahasa manusia, maka bahasa pemrograman dikelompokkan menjadi dua, yaitu: 1. Bahasa pemrograman tingkat rendah Bahasa pemrograman tingkat rendah merupakan bahasa ibu dari komputer, yaitu bahasa yang tidak memerlukan penterjemah untuk dapat dipahami dan dimengerti oleh komputer. Atau dengan kata lain untuk berkomunikasi secara langsung dengan komputer orang perlu menggunakan bahasa tingkat rendah. Contoh dari bahasa pemrograman tingkat rendah ialah bahasa mesin (machine language). Setiap perintah dalam bahasa mesin berupa kode numerik (menggunakan angka 0 dan 1). Demikian juga data disajikan dengan menggunakan kode numerik. Bentuk pengkodean numerik tersebut berbeda antara satu kmputer dengan komputer yang lain. Hal ini menyebabkan penggunaan bahasa mesin kurang praktis dan susah untuk digunakan atau diingat karena tidak sesuai dengan bahasa sehari-hari. 2. Bahasa pemrograman tingkat tinggi Dengan kekurangan dari bahasa tingkat rendah sebagaimana telah dijelaskan, kemudian dikembangkan bahasa pemrograman yang lain dan diantaranya ialah bahasa pemrograman tingkat tinggi. Bahasa pemrograman tingkat tinggi mempunyai ciri-ciri sebagai berikut: a. Penulisannya mirip dengan bahasa sehari-hari (bahasa Inggris) b. Tergantugn pada mesin komputer yang digunakan c. Bahasa pemrograman tingkat tinggi disebut juga dengan bahasa generasi ketiga.

Program yang ditulis dengan bahasa pemrograman tingkat tinggi tidak dapat langsung dimengerti oleh komputer, dan harus diterjemahkan dahulu oleh sebuah penerjemah ke dalam bahasa mesin untuk dapat dilaksanakan atau dieksekusi oleh Unit Pemroses Pusat. Terdapat banyak sekali bahasa pemrograman tingkat tinggi yang telah dikembangkan. Diantaranya bahasa pemrograman tersebut yang banyak digunakan antara lain: 1. BASIC (Beginer All-purpose Symbolic Instruction Code) Mudah dipelajari, khususnya untuk pemula Cukup popular pada awal pemakaian komputer personal 2. Cobol (Common Business Oriented Language) Untuk aplikasi bisnis / administrasi Banyak digunakan di bidang pebankan Dapat digunakan untuk aplikasi ilmiah tapi dengan kemampuan terbatas 3. FORTRAN (Formula Translator) Untuk komputasi ilmiah Populer dan banyak digunakan 4. Pascal Merupakan pemrograman terstruktur / sistematik Digunakan untuk aplikasi ilmiah maupun bisnis / administrasi 5. C Merupakan bahasa modular, sehingga efisien Kode dari bahasa ini padat, sehingga mengurangi waktu kompilasi Dilihat dari terapannya, Cobol dan Fortran merupakan bahasa pemrograman bertujuan khusus. Cobol untuk terapan di bidang bisnis dan administrasi sedangkan Fortran untuk terapan ilmiah. Pascal dan C merupakan bahasa pemrograman bertujuan umum, karena dapat digunakan untuk berbagai apliaksi. Dalam kenyataannya pengelompokkan tersebut tidak terlalu ketat digunakan. Bahasa pemrograman terus digunakan, mengikuti perkembangan perangkat keras dan kebutuhan aplikasi. Sebagai contoh untuk bahasa generasi kelima digunakan untuk super komputer, dan digunakan antara lain untuk bidang kecerdasan buatan dan sistem pakar. Bahasa pemrograman yang termasuk generasi kelima menghasilkan program-program yang bersifat bahasa alamiah (natural language) dan menggunakan pengetahuan (knowledge) sebagai basis pengolahan. 1.5 Penerjemah Bahasa Pemrograman

Sebagaimana telah dijelaskan sebelumnya, instruksi atau program yang telah ditulis dengan bahasa pemrograman tingkat tinggi perlu diterjemahkan dahulu ke dalam bahasa mesin untuk dapat dieksekusi oleh komputer. Kompiler (compiler), merupakan program yang menerjemahkan program yang ditulis di dalam bahasa pemrograman tingkat tinggi me suatu himpunan instruksi mesin spesifik yang disimpan dalam bentuk file. Selain kompiler terdapat program penterjemah yang lain ialah interpreter. Interpreter digunakan untuk menerjemahkan program yang ditulis dalam bahasa tingkat tinggi ke dalam bahasa mesin, dan menjalankannya baris demi baris. Perbedaan antara kompiler dan interpreter antara lain adalah seperti pada Tabel 1.1 berikut : Tabel 1.1 Perbedaan kompiler dan interpreter. Kompiler Interpreter - Menerjemahkan program sebelum - Menerjemahkan program pada saat dijalankan dijalankan - Penerjemahan bersifat tetap - Penerjemahan bersifat sementara - Kesalahan penulisan diketahui setelah - Kesalahan penulisan langsung proses kompilasi diberitahukan - Perbaikan program dilakukan dengan kembali ke pengedit teks program - Perbaikan program dapat langsung dilaksanakan Sehubungan dengan perbedaan di atas, maka pelaksanaan program dengan menggunakan interpreter maupun dengan kompiler dapat digambarkan pada Gambar 1.3 berikut: Program sumber Baca satu pernyataa Terjemahkan ke bahasa Laksanakan pernyataan Program sumber Terjemahka n a) Dengan interpreter Program dalam bahasa mesin b) Dengan kompiler Laksanakan program Gambar 1.2 Tahapan pelaksanaan program.

1.6 Pemrograman Terstruktur Prinsip utama dari pemrograman terstruktur ialah bahwa jika suatu proses telah sampai pada suatu titik tertentu, maka proses selanjutnya tidak boleh melompat ke baris sebelumnya, kecuali untuk proses berulang. Pemrograman terstruktur dimaksud untuk mendapatkan program yang didefinikan dengan baik, jelas, mudah dipahami, mudah ditelusuri, dan mudah dimodifikasi. 1.7 Tahapan Penyelesaian Masalah dengan Pemrograman Komputer Langkah-langkah penyelesaian masalah dengan algoritma dan pemrograman adalah sebagai berikut : 1. Identifikasi masalah Contoh : Apa tugas-tugas yang harus dilaksanakan?, misalnya : o Hitung nilai rata-rata mahasiswa yang ditentukan. o Terjemahkan naskah pidato dari bahasa inggris menjadi bahasa indonesia Apa persyaratan performansinya (ketepatan waktu/ruang/ kecepatan )? 2. Desain algoritma, meliputi : Deskripsi (cara penulisan): o natural language o pseudo-code o diagram (seperti flowchart) Kriteria algoritma: o Input: nol atau lebih o Output: satu atau lebih o Definisi/terjemahan/interprestasi: jelas, tepat untuk tiap instruksi o Batasan: sebuah algoritma harus berhenti setelah sejumlah langkah, walaupun jumlah langkah boleh banyak tapi harus terbatas Efektifitas: tiap instruksi harus berupa perintah dasar bukan merupakan bentukan dari beberapa perintah 3. Analisis Algoritma Space complexity o Berapa banyak space yang dibutuhkan Time complexity o Berapa lama waktu running algoritma 4. Implementasi

Pemutusan bahasa pemrograman yang akan digunakan o C, C++, Lisp, Java, Perl, Prolog, assembly, dll. Penulisan koding harus terdokumentasi dengan baik dan jelas. 5. Ujicoba Mengintegrasikan feedback dari user, perbaiki bug, penjaminan kompatibelitas pada berbagai platform 6. Pemeliharaan