teknik pemrograman

217
Pertemuan ke- Pokok Bahasan Keterangan 1 Pengenalan Dasar Pemrograman 2 Konsep Dasar Pemrograman 3 Tahapan Pembuatan Program 4 Elemen-Elemen Bahasa Pemrograman 5 Analisa Struktur Program 6 Analisa Struktur Program Lanjutan 7 Review/Quis SILABUS 8 Ujian Tengah Semester (UTS) 9 Tipe Tabel Database 10 Organisasi dan Akses File 11 Aplikasi Pemrograman Bisnis 12 SDLC 13 Object Oriented Program 14 Implementasi OOP Pada Perangkat Lunak Pemrograman 15 Review/Quis 16 Ujian Akhir Semester (UAS)

Upload: ahmad-cahyana

Post on 16-Aug-2015

250 views

Category:

Documents


2 download

DESCRIPTION

Mata Kuliah Teknik Pemrograman

TRANSCRIPT

Pertemuan ke- Pokok Bahasan Keterangan1 Pengenalan Dasar Pemrograman2 Konsep Dasar Pemrograman3 Tahapan Pembuatan Program4 Elemen-Elemen Bahasa Pemrograman5 Analisa Struktur Program6 Analisa Struktur Program Lanjutan7 Review/QuisSILABUS 8 Ujian Tengah Semester (UTS)9 Tipe Tabel Database10 Organisasi dan Akses File11 Aplikasi Pemrograman Bisnis12 SDLC13 Object Oriented Program14 Implementasi OOP Pada Perangkat Lunak Pemrograman15 Review/Quis16 Ujian Akhir Semester (UAS)Sumber Referensi:1. Binarto, Iwan. 2005. Konsep Bahasa Pemrograman. Yogyakarta: ANDI 2. Handayani, Dewi. 2001. Sistem Berkas. Yogyakarta: J&J Learning3. Indra, Yatini. 2001. Pemrograman Terstruktur. Yogyakarta: J&J Learning4. Jogiyanto HM. 2005. Sistem Teknologi Informasi. Edisi II, Yogyakarta: ANDI 5. Kadir, Abdul. 2002. Pemrograman C++. Yogyakarta: ANDI6. Kurniadi, Adi. 2002. Pemrograman Visual Basic 6. Jakarta: Elex6. Kurniadi, Adi. 2002. Pemrograman Visual Basic 6. Jakarta: Elex Media Komputindo7. Nugroho, Adi. 2004. Pemrograman Berorientasi Objek. Bandung: Informatika8. Raharjo, Budi. 2009. Pemrograman C++. Bandung: Informatika9. Sutedjo, Budi. 2004. Algoritma & Teknik Pemrograman. Yogyakarta: ANDI 10. Sutopo, Ariesto Hadi. 2002. Analisis dan Desain Berorientasi Objek. Yogyakarta: J&J LearningKONTRAK PERKULIAHAN Teknik Pemrogramanmerupakanmatakuliahteori yangdilakukandi kelas dengantatapmukaolehdosenyangbersangkutan Pertemuan 1-14 dilakukan sepertibiasanya dimana dosenmenyampaikan materi kepada mahasiswa Untuk Pertemuan 7 dan 15 diadakan QUIZ / review materi Pertemuan 8 diadakan UTSdimana materi diambil dari Pertemuan 8 diadakan UTSdimana materi diambil daripertemuan1-6, danPertemuan16diadakanUASdimanamateri diambil dari pertemuan 9-15. SetelahUTSkhususnyapadaPertemuan11mahasiswadiwajibkan membuat suatu tugas (proyek) yang dikerjakansecara berkelompok. Tugas tersebut berbentuk Laporanatau makalah dan CD. Format makalahtugassesuai denganaturanpadaoutlineTA terbaru.Mampu menganalisa sistem yang akan diaplikasikan ke dalam bentuk program bisnis maupun science, dengan membuat Laporan dari hasil analisa tersebut secara berkelompok (tidak diwajibkan: riset dan membuat program).Isi dari Laporan tersebut antara lain:A. Program Aplikasi Bisnis (untuk Jurusan MI dan KA) Judul sistem harus jelas Normalisasi (optional)Capaian Pembelajaran adalah: Normalisasi (optional) Spesifikasi File dan Tabel yang digunakan Spesifikasi Program dan HIPO FlowchartB. Program Berbasis Science (untuk Jurusan TK) Judul program harus jelas Spesifikasi File dan Tabel yang digunakan Spesifikasi Program dan HIPO FlowchartPertemuan 1PENGENALAN DASARPENGENALAN DASAR PEMROGRAMAN ProgramPernyataan yang disusun menjadi satu kesatuanprosedur yang berupa urutan langkah yang disusunsecara logis dan sistematis untuk menyelesaikan masalah. PemrogramanProses mengimplementasikan urutan langkah untukI. PengertianProses mengimplementasikan urutan langkah untukmenyelesaikan suatu masalah dengan menggunakanbahasa pemrograman. Bahasa PemrogramanProsedur penulisan program. ProgrammerOrang yang membuat sebuah program.Terdapat 3 faktor penting dalam bahasa pemrograman:1. Sintaks : aturan penulisan bahasa tersebut (tatabahasanya).2. Semantik : arti/maksud yang terkandung di dalamstatementersebut. statementersebut.3. Kebenaranlogika: berhubungandenganbenar tidaknyaurutanstatemen.Dalam membuat sebuah program harus memakai teknikpemrograman, diantaranya:1. Pemrograman ProseduralAlgoritma berisi urutan langkah-langkah penyelesaianmasalah. Ini berarti algoritma adalah proses yangprosedural.Contoh: Cobol, Basic, Pascal, Fortran dan C. Contoh: Cobol, Basic, Pascal, Fortran dan C.2. Pemrograman FunctionalMerupakan salah satu pemrograman yangmemperlakukan proses komputasi sebagai evaluasifungsi-fungsi matematika (kodenya berupa fungsi-fungsi).Contoh : Lisp, Scheme, ML, Haskell.3. Pemrograman Berbasis ModulProgramdipecah-pecahkedalammodul-modul, dimanasetiap modul menunjukkan fungsi dan tugas tunggal.Pemrogramanini diterapkandenganmenggunakansub-routine, yaitusebuahkumpulanperintahyangmelakukantugas pemrosesan yang terbatas. Pemrograman ini banyakdimanfaatkan oleh Bahasa Pemrograman Berbasis Obyek.4. Pemrograman TerstrukturPemrograman yang mendukung pembuatan programsebagai kumpulan prosedur yang dapat saling memanggildandipanggil dari manapundalamprogramdandapatmengunakanparameter yangberbeda-bedauntuksetiappemanggilan.Contoh: Pascal, Cobol, RPG, ADA, C.5. Pemrograman Berorientasi ObjekBahasa pemrograman yang mampu memanfaatkan objek-objekyangtersediaataumembuat suatuobjektertentudengan menggunakan bahasa pemrograman.Contoh: C++, SmallTalk, Java.6. Pemrograman GenericDalam pemrograman generik penulisan kode bisa Dalam pemrograman generik penulisan kode bisadigunakan oleh berbagai macam tipe data.Program generik ditulis sekali dan dapat dipakai berkali-kaliuntuk data beragamtanpa harus mengubah inti darialgoritma sehingga dapat memberikan keleluasaan denganhanyamenuliskodeumumhanyasekali danselanjutnyakode tersebut dapat dipakai ulang untuk tipe data berbedanamun memiliki karakteristik yang sama.Contoh: Java, C++7. Pemrograman DeklaratifSebuahparadigmapemrogramanyangmengungkapkanlogika dari sebuah komputasi tanpa menggambarkan alirankontrol.Pemrogramandeklaratif merupakansuatuseni membuatprogram dengan tidak menggunakan algoritma untukpemecahan masalahnya. Untuk membuat pemrograman pemecahan masalahnya. Untuk membuat pemrogramandeklaratif dibutuhkan suatu bahasa deklaratif.Contoh: PrologBeberapa kriteria pemilihan sebuah bahasa pemrograman:1. Clarity, simplicity dan unityKemudahan, kesederhanaan dan kesatuan merupakansuatu kombinasi yang membantu programermengembangkan suatu algoritma.II. Kriteria Bahasa Pemrogramanmengembangkan suatu algoritma.2. OrthogonalityMerupakan suatu atribut yang dapat dikombinasikandenganberagamfiturbahasapemrogramansehinggasetiap kombinasinya mempunyai arti dan dapatdigunakan.3. Kewajaran untuk aplikasiBahasa pemrograman harus mempunyai struktur data,operasi-operasi, struktur kontrol dan sintaks yang tepatuntuk memecahkan suatu masalah.4. Mendukung abstraksiAbstraksi merupakansuatuhal yangsubstansial bagi Abstraksi merupakansuatuhal yangsubstansial bagiprogramer untukmembuat suatusolusi dari masalahyang dihadapi.5. Kemudahan untuk verifikasi programDengan verifikasi data yang mudah, maka suatuprogram akan dengan mudah dibangun dandikembangkan6. Lingkungan PemrogramanLingkungan pemrograman dapat berarti editor yangdigunakan, dokumentasi yang baik, fasilitas debugging,user interface yang baik ataupun tools lain yang dapatdigunakan untuk memudahkan pekerjaan programer.7. Portabilitas programKemudahanprogramuntukdipakai di berbagai jenis Kemudahanprogramuntukdipakai di berbagai jeniskomputer.8. Biaya Penggunaana. Biaya eksekusi programb. Biaya kompilasi programc. Biaya penciptaan, testing dan penggunaan programd. Biaya pemeliharaan programDalampengolahan data dan pembuatan sebuah programdiperlukan beberapa aspek-aspek dasar yaitu:A. BrainwareTenaga pelaksana yang menjalankan serta mengawasipengoperasian sistemunit komputer di dalamprosesIII. Aspek Pemrogramanpengoperasian sistemunit komputer di dalamprosespengolahan data untuk menghasilkan suatu informasi yangtepat waktu, tepat guna dan akurat.Contoh : Sistem Analis, Programmer, Technical Support,Operator, Data Entry, dll.B. HardwareSerangkaian unsur-unsur yang terdiri dari beberapaperangkat keras komputer yang digunakan untukmembantu proses kerja manusia (Brainware).Contoh : CPU, Monitor, Keyboard, Harddisk, Disk drive,Printer, dll.C. SoftwareSerangkaian unsur-unsur yang terdiri dari beberapaperangkat lunak programkomputer yang digunakanuntuk membantu proses kerja manusia (Brainware).Contoh : Sistem Software, Application Software, PackageSoftware, Utility Software, dll.IV. Bahasa Pemrograman BerdasarkanPerkembanganA. Bahasa Mesin (Machine Language)Bahasa Pemrograman yang hanya dapat dimengerti olehmesin (komputer) yang didalamnya terdapat CPU yanghanya mengenal 2 (dua) keadaan yang berlawanan, hanya mengenal 2 (dua) keadaan yang berlawanan,yaitu:- Bila tejadi kontak(ada arus) bernilai 1- Bila kontak terputus (tidak ada arus) bernilai 0B. Bahasa Tingkat Rendah (Low Level Language)Karenasusahnyabahasamesin, makadibuatlahsimbolyangmudahdiingat yangdisebut denganMnemonics(pembantu untuk mengingat).Contohnya :A : Untuk kata Add (menambahkan) A : Untuk kata Add (menambahkan)B : Untuk kata Substract (mengurangi)Mov : Untuk kata Move (memindahkan)Bahasa Pemrograman yang menterjemahkan Mnemonics adalahAssembler.C. Bahasa Tingkat Menengah (Middle Level Language)Bahasapemrogramanyangmenggunakanaturan-aturangramatikal dalampenulisan pernyataan, mudah untukdipahami dan memiliki instruksi-instruksi tertentu yangdapat langsung diakses oleh komputer.Contohnya adalah bahasaC.D. Bahasa Tingkat Tinggi (High Level Language)Bahasa Pemrograman yang dalam penulisanpernyataannya mudah dipahami secara langsung.Bahasa pemrograman ini terbagi menjadi 2 yaitu :1. Procedure Oriented Languagea. ScientificDigunakan untuk memecahkan persoalanmatematis/perhitungan matematis/perhitunganMisal : Algol, Fortran, Pascal, Basicb. BussinesDigunakanuntuk memecahkanpersoalandalambidang bisnis.Misal : Cobol, PL/1.2. Problem Oriented LanguageMisal : RPG (Report Program Generator).E.Bahasa Berorientasi Objek (Object Oriented Language) Bahasapemrogramanyangberorientasi padaobjek.Bahasapemrogramanini mengandungfungsi-fungsiuntuk menyelesaikan suatu permasalahan danprogramtidakharusdituliskansecaradetail semuapernyataannya, tetapi cukup memasukkan kriteria- pernyataannya, tetapi cukup memasukkan kriteria-kriteria yang dikehendaki sajaContohnya: Java, C++, VB .net, Visual C, PHP, dll.V. Kerangka Dasar PemrogramanPertemuan 10ORGANISASI dan AKSES FILEA.ORGANISASIFILEOrganisasi Filemerupakanteknikyangdigunakanuntukmenggambarkan dan menyimpan record pada file.Organisasi file harus mempertimbangkan beberapa hal Organisasi file harus mempertimbangkan beberapa halpenting, yaitu:1. Kemudahan peremajaan (update/insert/delete)2. Kecepatan akses dalam pemgambilan data3. Kemudahan reorganisasi data4. Efisiensi penggunaan media penyimpanan (storage)2. Model Operasi File, ada 4 cara:Cara memilih organisasi file tidak terlepas dari 2 aspek utama, yaitu:1.Model penggunaannyaa.Batch b.Interactive2. Model Operasi File, ada 4 cara:a. Creation b.Updatec.Retrievald.Maintenance RestructuringReorganizationSecara umum dapat disimpulkan: Untuk master file (tabel master) dapat melakukancreated, update, retrieval from dan maintenance. Untuk work file (Tabel kerja) dapat melakukan created,updatedanretrieval fromtapi tidakdapat dilakukanmaintenance. Untuk report file (tabel output) umumnya tidak di Untuk report file (tabel output) umumnya tidak diupdate, retrieve from atau maintenanced. Untuk transaction file (tabel input) umumnya hanyadapat di created dan digunakan untuk sekali proses.A.1.SEQUENTIAL FILE Merupakansuatu cara/metode penyimpanan dan pembacaandata yang dilakukan secara berurutan.Metode ini mempunyai ciri-ciri sebagai berikut:a. Data akan disimpan sesuai dengan urutan masuknyab. Pembacaandatadilakukansecaraberurutan, dimulai daridatapalingawal dandilanjutkandengandataberikutnyasehingga data yang dimaksud bisa diketemukanc. Metode ini baik untuk digunakan apabila pengolahanterhadap basis data bersifat periodik dan menyeluruh, danseringkali digunakan pada tipe pengolahan data yangberorientasi batchGambar Sequential FileKeuntungan Sequential File:a. Merupakan organisasi file yang sederhana.b. Jarak setiap aplikasi yang tersimpan sangat jelas.c. Sangat efisien pada saat sebagian besar record harusdiproses. Contoh: Payroll.d. Metode penyimpanan di dalam memory sangatsederhana, sehingga efisien untukmenyimpan recordyang besar.e. Dapat disimpan pada perangkat yang murah.Contoh: magnetic tape.Kerugian Sequential File:a. Data yang tersimpan harus sudah urut (sorted).b. Seandainyadiperlukanperubahandata, makaseluruhrecord yang tersimpan di dalammaster file, harussemuanya diproses.c. Posisi data yang tersimpan sangat sulit untuk di-update,sebab master file hanya bisa berubah saat proses sebab master file hanya bisa berubah saat prosesselesai dilakukan.d. Tidak bisa dilkukan pembacaan secara langsung.A.2.RANDOM (DIRECT)FILE Merupakan suatu cara/metode penyimpanan danpembacaan data yang dilakukan secara acak atau langsungtanpa mengakses seluruh record yang ada.Metode ini mempunyai ciri-ciri sebagai berikut:Data disimpan dengan menggunakan alamatDalamhal ini, tempat penyimpanandatasudahdiatursedemikian rupa, sehingga setiap data akan tersimpan didalam tempat-tempat yang telah ditentukan sesuaidengan nomor data yang dimilikinya.Penyimpanan data menggunakan media penyimpananlangsung, seperti magnetic diskPemrosesanmemerlukanfilerecord, yangditampilkanmenjadi 2 bagian yaitu field kunci dan record data.Akses data dilakukan dengan menggunakan nomorrecord (field kunci).Dalammetodeini kunci rekamanditransformasikankealamat penyimpanan dalammedia fisik secara acak(random). Metode ini akan menimbulkan beberapamasalah, yaitu adanya alamat yang muncul lebih dari satu masalah, yaitu adanya alamat yang muncul lebih dari satukali, danadaalamat yangtidakpernahmuncul samasekali.Pemecahan masalah di atas dengan teknik overflowlocation, yaitu dengan menggunakan alamat yang ada disampingnya.GambarRandomFileKeuntungan File Random:a. Pengaksesan data dilakukan secara langsung, tidakharus urut.b. Kecepatan pemrosesan record sangat cepat dalam halpemanggilan data.c. Sangat sesuai untukkebutuhanFileTransaksi, sebabtransaksi harus diproses saat kejadian berlangsung transaksi harus diproses saat kejadian berlangsung(memperbarui secara online).d. Beberapa data yang tersimpan di dalamfile dapatdiproses dalam waktu bersamaan (pemrosesankonkuren).Kerugian File Random:a. Memerlukan hardware dan software yang lebihkompleks apabila dibandingkan dengan sequential file.b. Kapasitas media penyimpanan memory menjadi besar.c. Datayangtersimpanmempunyai potensi lebihcepatrusak.d. Memerlukanadanyacadangan(back-up)data. Sebab d. Memerlukanadanyacadangan(back-up)data. Sebabtransaksi yang diperbaiki setiap saat bisamenghilangkan jejak data asal (masalah keamanandata).Organisasi Index Sequential adalah berkas/file yangdisusunsedemikianrupasehinggadapat diaksessecarasequential maupun secara direct (langsung) ataukombinasi keduanya, direct dan sequential.Pada saat perekaman data pertama kali file dibentuk(create file) dengan cara sequential.A.3.INDEX SEQUENTIAL FILE (create file) dengan cara sequential.Untuk pembacaandatadanpenulisandatasetelahfiledibentuk, dapat dilakukan secara sequential maupunrandom.Metode ini mempunyai ciri-ciri sebagai berikut :a. Gabungan antara metode sequential dan random.b. Record disimpan secara berurutan denganmenggunakan kunci (indeks urutan).c. Penyimpanandatarecordmenggunakanindeksyangisinya berupa bagian dari data yang sudah tersortir.d. Perlupenyimpanantambahan, yaituuntukfileindeksyang lebih menekankan pada karakteristik fisik dari yang lebih menekankan pada karakteristik fisik daripenyimpanan.e. Indexini diakhiri denganadanyasuatupointer yangbisa menunjukkan secara jelas posisi data yangselengkapnya.g. Index yang ada juga merupakan record-key (kuncirecord), sehinggajikarecordkeyini dipanggil, makaseluruh data juga akan ikut terpanggil.LEOSilinder 1:Tr 0 : ADI, tr1, ALI, tr 2, ANI, tr 3Tr 1 : ADI AFI AJITr 2 : ALI AMI AMRYTr 3 : ANI ANDI ANGGISilinder 2:Tr 0 : BOY, tr1, DONI, tr 2, ENI, tr 3ANGGIFERIPRIME DATA FILEINDEXLEOUUT Tr 0 : BOY, tr1, DONI, tr 2, ENI, tr 3Tr 1 : BOY CICI CERI...Silinder 6:Tr 0 : TATA, tr1, TEDI, tr 2, UMI, tr 3..Tr 3 : UMI USI UUTFERILEO MAYPARTOUUTKeuntungan FileIndex Sequential:a. Pemanggilan data lebih cepat dibandingkan denganSequential File.b. Sangat cocok digunakan untuk menyimpan data secarabatch ataupun individual data.Kerugian File Index Sequential: Kerugian File Index Sequential:a. Akses data tidak dapat dilakukan secara langsung.b. Memerlukan ruangan tambahan di dalam memoryuntuk menyimpan index data.c. Memerlukan hardware dan software yang lebihkompleks.Organisasi File yang telah dibahas berbeda dalam carapengaksesannya, yaitu:1. SequentialAccessB.AKSESFILESuatu pengaksesan record yang didahului pengaksesanrecord-record di depannya atau sebelumnya.Contoh peralatan yangtermasuk jenis ini adalahmagnetic tape yang juga dikenal sebagai Sequential Access Storage Device (SASD).Ciri-ciri SASD:a. Proses pembacaan rekaman (access) harus berurutan.b. Tidak ada pengalamatan untuk data yang disimpan.c. Data disimpan dalam blok-blok secara sequential(berurutan).d. Proses tulis (write) hanya bisa dilakukan sekali saja.e. Kecepatan akses datanya, sangat tergantung pada:Kerapatan pitaKecepatan pita Kecepatan pitaLebar celah/gap antar blok (Inter Record Gap)2. Direct AccessSuatu pengaksesan record secara langsung, tanpamengakses seluruh record yang ada.Contoh peralatan yang termasuk jenis ini adalah adalahcakrammagnetic(magneticdisk), dan dikenalsebagai cakrammagnetic(magneticdisk), dan dikenalsebagaiDirect Access Storage Device (DASD).Ciri-ciri DASD:a. Pembacaan rekaman tidak harus urut.b. Mempunyai alamat untuk penyimpanan data.c. Data dapat disimpan dalam karakter atau blok.d. Proses tulis (write) dapat dilakukan beberapa kali.Aplikasi Pemrograman Pertemuan 11Aplikasi Pemrograman BisnisBerikut ini akan dijelaskan beberapa teknik perancangan program di dalam sebuah pemrograman yang terstruktur untuk mendukung proses pembangunan/pengembangan sistem.I. TEKNIK PERANCANGAN PROGRAMBERORIENTASI BISNISsistem. Teknik perancangan file/database dalam bentukspesifikasi file Teknik perancangan program dalam bentuk spesifikasiprogramAdapun mengenai langkah-langkah di dalam perancanganfile tersebut adalah sebagai berikut:1. Menentukan banyaknya jumlah kebutuhan file yangnanti akan digunakan di dalam program2. Menentukan Parameter dari file yang akan dibuat1. Teknik Perancangan File atau DatabaseContoh:Program Penggajian adalah sebuah aplikasi yangmelakukan proses penghitungan gaji pegawai, dengandasar input absen dan proses yang dilakukan secarabatch atau tunda (satu kali dalam sebulan).Sekilas Analisa Program PenggajianInput: Data absen harianProses: Penghitungan GajiParameter perhitungan Tunjangan pegawai (dari status pegawai) Gaji Pokok (dari golongan pegawai) Lembur (dari kehadiran pegawai) Potongan (jika pegawai mempunyai potongan yang dibebankan pada gaji)Output: Laporan Gaji Bulanan dan Slip Gaji untuk pegawaiNo Elemen Data Akronim Tipe Panjang Ket1 No Induk Pegawai NIP Text 6 PK2 Nama Pegawai NaPeg Text 25Contoh Tabel Pegawai2 Nama Pegawai NaPeg Text 253 Alamat Pegawai AlmPeg Text 504 dst. .. . ..Jika dijumlahkan panjang record pegawai180misalParameter File meliputi hal-hal sebagai berikut:a. NAMA FILENama yang dibuat untuk menunjukkan nama file yangdigunakan. Dituliskan di dalam source program.Contoh: File_Pegawai, File_Lembur, dll.b. AKRONIM FILENama yang dibuat untuk menunjukkan file disimpan Nama yang dibuat untuk menunjukkan file disimpandalam tabel/database, dituliskan dengan extension-nya.Contoh: Pegawai.mdb, Lembur.dbf, Absensi.mydc. KODE FILENama yang dibuat pada saat file digambarkan dalambentuk diagram (Normalisasi)Contoh: Tabel Pegawai, Tabel Lembur, Tabel Absend. TYPE FILETipe dari tabel yang digunakan dalam program.Contoh: File Master, File Transaksie. Panjang Record (RECORD-SIZE)Jumlah karakter yang digunakan dalam satu record.Contoh: 180 Charactersf. ORGANISASI FILEOrganisasi yang digunakan pada saat menyimpan datake dalam tabel.Contoh: Index Sequentialg. ACCESS FILECara mengakses data yang disimpan pada tabel.Contoh: Randomh. MEDIA FILE Media yang digunakan untukmenyimpan file (tabel)Contoh : Harddiski.FIELD KEYKunci field yang dipakai dalam program pada saat program mengakses database mengakses databaseContoh : Nomor Induk Pegawai (NIP)j.SOFTWARE yang digunakan untuk membuat tabel.Contoh : Microsoft Access 2007Adapun mengenai langkah-langkah di dalam perancangan program adalah sebagai berikut:1. Menentukan banyaknya jumlah kebutuhan program yang nanti akan dibuat.2. Menentukan Parameter dari Program yang akan dibuat.2. Teknik Perancangan ProgramParameter Program meliputi hal-hal sebagai berikut:a. NAMA PROGRAM Nama yang dibuat untuk menunjukkan identitas program Contoh: Program HitungGajib. AKRONIM PROGRAMNama yang dibuat untuk menyimpan source programContoh: HitGaji.vbpc. KODE PROGRAMNama yang dibuat pada saat file digambarkan dalam bentuk diagram (HIPO)Contoh: Gj01d. FUNGSI PROGRAMMenjelaskan fungsi atau kegunaan dari program yangMenjelaskan fungsi atau kegunaan dari program yang dibuatContoh: Untuk program Gaji, maka fungsi program dituliskan: Program untuk perhitungan gajikaryawan.e. BAHASA PEMROGRAMANMenentukan bahasa pemrograman yang digunakan pada saat pembuatan souce program, biasanya berhubungan dengan point (b) untuk menyatakan extension file.Contoh: Visual Basic 6.0f.PROGRAM FLOWCHART f.PROGRAM FLOWCHARTMenggambarkan logika atau proses program dalam bentuk flowchart.g. PROSES PROGRAMMenjelaskan secara rinci mengenai isi dan proses program, termasuk penjelasan dari command button apabila dijalankan.Contoh Program Bisnis pada Sistem PerpustakaanDosen menjelaskan tentang pembahasan program bisnis, dan untuk selanjutnya mengembangkan sendiri dari contoh yang diberikan.Tabel pada Sistem Perpustakaan terbentuk, yaitu:1. Tabel Anggota2. Tabel Buku3. Tabel User 4. Status5. Tabel Peminjaman 6. Tabel Pengembalian dan 7. Tabel Detail Peminjaman7. Tabel Detail Peminjaman Catatan: dalam pembahasan ini hanya 2 tabel yang akan dibahas.a.Spesifikasi File/database1. Spesifikasi Tabel AnggotaNama File :Tabel AnggotaAkronim File :tbl_anggota.mydFungsi File :untuk menyimpan data anggota perpustakaanTipe File :File MasterOrganisasi File :Index SequentialAkses File :RandomMedia File :HarddiskPanjang Record :160 karakterKunci Field :noangSoftware :MySQLNo Elemen Data Akronim Tipe Panjang Ket1 Nomor Anggota noang Text 10 PK2 Nama Anggota nama Text 203 Jenis Kelamin jk Text 14 Alamat alamat Text 50Tabel II.1 Tabel Anggota4 Alamat alamat Text 505 Pekerjaan pekerjaan Text 156 Telepon telp Text 157 Alamat Email email Text 258 Tanggal Daftar tgldaftar Date 89 Tanggal Berlaku tglberlaku Date 810 Status status Text 92. Spesifikasi Tabel BukuNama File :Tabel BukuAkronim File :tbl_buku.mydFungsi File :untuk menyimpan data buku perpustakaanTipe File :File MasterOrganisasi File :Index Sequential Organisasi File :Index SequentialAkses File :RandomMedia File :HarddiskPanjang Record :161 karakterKunci Field :kdbukuSoftware :MySQLNo Elemen Data Akronim Tipe Panjang Ket1 Kode Buku kdbuku Text 7 PK2 Judul Buku judul Text 803 Pengarang pengarang Text 204 Penerbit penerbit Text 25Tabel II.2Tabel Buku4 Penerbit penerbit Text 255 Tahun Terbit thnterbit Date 46 Kota Terbit kota Text 157 Stok stok Num 28 Tanggal Entri tgl_entri Date 8b.PengkodeanX 9 9 9 9 9 9 9 9 9Kode yang dibuat dalam pengkodean adalah field-field yang dijadikan sebagai kunci primer (Primary Key/PK):1. Nomor AnggotaX 9 9 9 9 9 9 9 9 9Kode StatusTanggal daftar (YYMMDD) Nomor Urut AnggotaX X X X 9 9 9Nomor Urut Buku2. Kode BukuKode PengarangJenis bukuNomor Urut BukuHuruf awal Judulc.Spesifikasi Program (Diagram HIPO)Catatan: Login tidak perlu digambarkan di dalam HIPOd. Spesifikasi Program dalam perancangan programBerdasarkan HIPO, spesifikasi program diantaranya:1. Spesifikasi Program Menu Utama2. Spesifikasi Program Data Anggota3. Spesifikasi Program Data Buku4. Spesifikasi Program Data User5. Spesifikasi Program Transaksi Peminjaman6. Spesifikasi Program Transaksi Pengembalian 6. Spesifikasi Program Transaksi Pengembalian7. Spesifikasi Program Laporan Data Anggota8. Spesifikasi Program Laporan Data Buku9. Spesifikasi Program Laporan Peminjaman10. Spesifikasi Program Laporan Pengembalian11. Spesifikasi Program Pencetakan Kartu Anggota12. Spesifikasi Program Pencetakan LaporanCatatan: hanya no.5 yang dijelaskan dalam pertemuan ini5. Spesifikasi Program Transaksi PeminjamanNama program :PeminjamanAkronim :Peminjaman.vbpFungsi :Untuk melakukan peminjaman bukuBahasa program :Visual Basic 6.0Bentuk tampilan :Lihat Lampiran C.6Proses Program :a. Klik Tambah untuk meminjam buku dan nomor peminjamanmuncul otomatis. Isikan data anggota dan data buku yang dipinjam, jika peminjaman melebihi batas jumlah peminjaman maka muncul pesan peminjaman lebih dari 2 buku.b. Klik Simpan untuk menyimpan data peminjamanc. Klik Batal untuk pembatalan peminjamand. Klik Cetak untuk mencetak bukti transaksi peminjamane. Klik Tutup untuk keluar dari menu transaksi peminjaman e. Program FlowchartFlowchart yang dibuat diantaranya:1. Flowchart Login2. Flowchart Menu Utama3. Flowchart Anggota4. Flowchart Buku5. Flowchart User6. Flowchart Peminjaman7. Flowchart Pengembalian8. Flowchart Laporan Peminjaman9. Flowchart Laporan PengembalianCatatan: hanya no.2 yang dijelaskan dalam pertemuan ini, selebihnya Dosen mengembangkan sendiri bentuk flowchart di atas2. Flowchart Menu UtamaPertemuan 12SDLC SDLC(System Development Life Cycle)I. Konsep SDLC SDLCadalahserangkaianaktivitasyangdilaksanakanolehprofesional danpemakai sisteminformasi untukmengembangkan dan mengimplementasikan sisteminformasi. Setelahbeberapawaktu, jenis danmacaminformasi Setelahbeberapawaktu, jenis danmacaminformasiyang dibutuhkan oleh users berubah. Apabila kebutuhaninformasi berubah, sisteminformasi harus memenuhikebutuhan baru. Pengembang sistem akan memodifikasisisteminformasi yangterkini, ataumembangunsisteminformasi yang keseluruhannya baru Beberapakegiatandalamsikluspengembangansistemmungkin dilakukan secara bersamaan/bertahap,tergantung dari jenis dan kompleksitas sisteminformasinya, panjang dari setiap kegiatan yang berbedaantara satu sistem dengan sistem lainnya. Pengembangan SDLC digunakan oleh analis sistemuntuk mengembangkan sistem informasi, dengan syarat,validasi, pelatihan, danpenggunakepemilikan. Setiap validasi, pelatihan, danpenggunakepemilikan. SetiapSDLC harus menghasilkan sistem berkualitas tinggi yangmemenuhi atau melampaui harapan pelanggan,penyelesaian yang tepat waktu dan perkiraan biaya yangtepat, bekerja secara efektif dan efisien dalaminfrastruktur teknologisaat ini dan biaya perawatan danpengembangan yang murah.Kelebihan SDLC:a. Menyediakan tahapan yang dapat digunakan sebagaipedoman mengembangan sistemb. Akanmemberikanhasil sistemyanglebihbaikkarenasistem dianalisis dan dirancang secara keseluruhansebelum diimplementasikanKekurangan SDLC:II. Kelebihan dan Kekurangan SDLCKekurangan SDLC:a. Hanyamenyediakantahapan-tahapansaja, tetapi tidakmenyediakan metodologib. Hasil dari SDLCsangat tergantungdari hasil di tahapanalisisc. Dibutuhkan waktu yang lama untuk mengembangkannyad. Dibutuhkan biaya yang relatif besare. Hasil dari sistem sukar dimodifikasi karena perlu analisiskembaliIII. Tahapan dalam SDLCSecara sederhana SDLC dapat digambarkan:Tahapan SDLC:1. Perencanaan (Planning) Perencanaan awal untuk mendefinisikan lingkup,tujuan yang akan dicapai, jadwaldan anggaran awalyang diperlukan untuk memecahkan masalah. Dibentuk suatu struktur kerja strategis yang luas danpandanganSI baru yang jelasyang akan memenuhi pandanganSI baru yang jelasyang akan memenuhikebutuhan-kebutuhan pemakai informasi. Sistem dievaluasi dan dipisahkan berdasarkanprioritasnya, prioritas tertinggi akan dipilih untukpengembangan. Sumber daya baru direncanakan, dan danadisediakan untuk mendukung pengembangan sistem2. Analisis Sistem (Analysis)Kegiatan yang dilakukan:a. Studi Pendahuluanb. Studi Kelayakanc. Mengidentifikasikan permasalahan dan kebutuhanpemakaid. Memahami sistem yang adae. Menganalisis hasil penelitianDilakukan proses penilaian, identifikasi dan evaluasikomponen dan hubungan timbal-balik yang terkaitdalam pengembangan sistem, definisi masalah, tujuan,kebutuhan, prioritas dan kendala-kendala sistem,ditambahidentifikasi biaya, keuntungandanestimasijadwal untuk solusi yang berpotensi.3. Perancangan Sistem (Design) Tujuannya untuk memberikan gambaran secara umumtentangkebutuhaninformasi kepadapemakai sistemsecara logika Tujuan lainnya untuk memberikan gambaran yangjelas dan rancang bangun yang lengkap kepadapemrogram komputer dan ahli-ahli teknik yang lainnya Perancangan sistem untuk menerangkan secara luasbagaimana setiap komponen perancangan sistemtentangoutput, input, proses, kendali, databasedanbagaimana setiap komponen perancangan sistemtentangoutput, input, proses, kendali, databasedanteknologi akan dirancang, data yang akandimasukkan, dihitungatau disimpan, struktur file danmedia penyimpanan. Menjelaskan fitur yangdiinginkan user dan operasional secara detail,termasuk tata letak layar, aturan bisnis, diagramproses, pseudocode dan dokumentasi Prosedur-prosedur yang ditulis menjelaskanbagaimana data diproses untuk menghasilkan output.4. Implementasi (Implementation) Tahap meletakkan sistem supaya siap dioperasikan Kegiatan yang dilakukan pada tahap ini: Mempersiapkan rencana implementasi Melakukan kegiatan implementasi, yaitu memilih danmelatih personal, memilih dan mempersiapkanlokasi, mengetes sistem, konversi sistem lokasi, mengetes sistem, konversi sistem Menindaklanjuti implementasi Biasanya pada tahap inikegiatan yang dilaksanakanpembuatan kode program(coding) dan basisdata,melakukaninstalldan mengujisistem. Pada tahapanini akan diperoleh program aplikasi dan dokumentasi.5. Pemeliharaan (Maintenance) Pemeliharaan bertujuan untuk memastikan bahwasistemyangdigunakanolehpihakpenggunabenar-benar telah stabil dan terbebas dari error dan bug Pemeliharaan dilakukan karena beberapa hal: Sistem mengandung kesalahan Sistemmengalami perubahankarenapermintaanbaru atau karena perubahan lingkungan luar baru atau karena perubahan lingkungan luar Sistem perlu ditingkatkan Pada tahapan ini dilakukan perawatan sepertiperubahan, koreksi, penambahan, pindah ke platformkomputasi yang berbeda dan lain-lain. Ini langkahpaling penting dari semua tahapan yang menentukankeberhasilan implementasi sistemIV. Model SDLCSystem Development Lyfe Cycle (SDLC) adalahkeseluruhan proses dalam membangun sistem melaluibeberapa langkah.Ada beberapa model SDLC:a. Model Waterfallb. Model Prototypingc. Model RAD c. Model RADd. Model Incrementale. Model SpiralIII.1. Model Waterfall Model ini seringdisebut denganLinear SequentialModel atau classic life cycle. Model ini melakukanpendekatansecarasistematisdan urut mulai dari level kebutuhan sistem lalu menujuke tahap analysis, desain, coding, testing/verification,dan maintenance. Disebut denganwaterfall karenatahapdemi tahap Disebut denganwaterfall karenatahapdemi tahapyang dilalui harus menunggu selesainya tahapsebelumnyadanberjalanberurutan. Sebagai contohtahap desain harus menunggu selesainya tahapsebelumnya yaitu tahap requirement. Model ini biasanya untuk membangun sistem dimanarequirement sudah jelas sepenuhnya dan kurangadaptif terhadap perubahan requirementGambar Model WaterfallIII.2. Model Prototype Metode dalam pengembangan sistem yangmenggunakan program/sistemcontoh untuk segeradapat dievaluasi olehpemakai dansecarabertahapdapat disesuaikan dengan kebutuhan sistem Membuat proses pengembangan SI menjadi lebihcepat dan lebih mudah, terutama pada keadaankebutuhan pemakai sulit untuk diidentifikasi Melibatkan pemakai secara intensif, sehinggapendefinisiankebutuhanpemakai menjadi lebihbaik,meningkatkan kepuasan pemakai, dan mengurangirisiko tidak terpakainya sistem Memperkecil kesalahandisebabkanpadasetiapversiprototipe, kesalahan segera terdeteksi oleh pemakaiGambar Model Prototype Merupakan model pengembangan sistem yangmelakukan beberapa penyesuaian terhadap SDLC padabeberapa bagian sehingga lebih cepat untuk sampai ketangan pengguna sistem RADmerupakansebuahmodel prosesperkembangansoftware sekuensial linier yang menekankan siklusIII.3. Model Rapid Aplication Development (RAD)software sekuensial linier yang menekankan siklusperkembangan yang sangat pendek Melakukan tes berulang-ulang oleh user terhadapdesain yang diawali dengan prototipe Menggunakan kembali komponen perangkat lunak yangada Komunikasi yang tidak terlalu formal antar anggota tim Waktu pengembangan singkatGambar Model RADIII.4. Model Incremental Merupakan model pengembangan sistem yangdipecahsehinggamodel pengembangannyasecaraincrement/bertahap. Kebutuhan pengguna diprioritaskan dan prioritastertinggi dimasukkan dalam awal increment Model ini adalah inti dari siklus pengembangan Model ini adalah inti dari siklus pengembangansistemyangmeresponterhadapkelemahanmodelWaterfall Memberikan implementasi sebagai inisial proseskepada user untuk mendapatkan umpan balik Pengembangan dengan terus melakukan eksplorasi Untuk sistem dengan interaksi skala kecil danmedium, dan masa penggunaan pendekGambar Model IncrementalIII.5. Model Spiral Model spiral adalahprosespengembanganperangkatlunak yangmenggabungkankeduaunsur desaindanprototyping dalamsetiap tahap, dalamupaya untukmenggabungkankelebihandari konseptop-downdanbottom-up Model yang mendefinisikan kebutuhan dengan detail Model spiral ini tidak merepresentasikan rangkaian Model spiral ini tidak merepresentasikan rangkaiantahapan dengan penelusuran balik (back-tracking), tidakada fase-fase tahapan yang tetap seperti spesifikasi atauperancangan. Setiap untaian pada pada spiralmenunjukkan fase software process Sistemdibuat berdasarkan prototipe yang dilakukanberulang-ulang dan memuaskan customer Ditujukan untuk proyek-proyek besar, mahal dan rumitGambar Model SpiralOOPOOP (Object Oriented Programming)I. PengertianOOP(Object OrientedProgramming) atauPemrogramanBerorientasi Objek(PBO) adalahsuatucarabarudalamberfikir serta berlogika dalam menghadapi masalah-masalah yang akan dicoba-atasi dengan bantuankomputer.Tujuan utama dari pengembangan perangkat lunak atauprogram berorientasi objek, dapat dijelaskan sebagaiberikut:a. Mempersingkat waktu dan menurunkan biaya pengem-bangan rekayasa perangkat lunak.b. Menurunkan biaya perawatan perangkat lunak.c. Pemrograman berorientasi objek memberikan landasanyang sangat berguna untuk pembuatan prototype sistemsecara cepat.Kelebihan OOP : Menyediakan struktur modular yang jelas untuk programsehingga bagus digunakan untuk mendefinisikan tipedata abstrak di mana detil implementasinya tersembunyi. Mempermudah dalam memelihara dan memodifikasikodeyangsudahada. Objek yangbarudapat dibuattanpa mengubah kode yang sudah ada. Menyediakan framework untuk library kode di manakomponen software yang tersedia dapat dengan mudah komponen software yang tersedia dapat dengan mudahdiadaptasi dan dimodifikasi oleh programmer. Hal inisangat berguna untuk mengembangkan GUI. Resikokesalahanrelativekecil (lebihsedikit mengetik),sintaks juga tidak perlu dihafalkan, karena semuanyasudah disediakan. Waktu debugging lebih singkat, karena setiap objek tidakperlu di-debug setiap kali digunakanPemrograman Terstruktur PBOa. Penekanan pada urutan yang harus dikerjakan (algoritma pemecahan masalah)a. Pendekatan lebih pada data bukanya pada fungsi/prosedurb. Program berukuran besarb. Program besar dibagi ke Perbandingan antara Pemrograman Berorientasi Objek dengan Pemrograman Terstrukturb. Program berukuran besar dipecah-pecah menjadi program-program yang lebih kecil (Modular)b. Program besar dibagi ke dalam Objek-objek.Struktur data dirancang dan menjadi karakteristik dari objek-objekc. Kebanyakan fungsi/prosedur berbagi data globalc. Fungsi-fungsi yang mengoperasikan data tergabung dalam suatu objek yang samaPemrograman Terstruktur PBOd. Data bergerak secara bebas dalam sistem, dari satu fungsi ke fungsi yang lain saling terkaitd. Data tersembunyi dan terlindung dari fungsi/prosedur yang ada di luare. Fungsi-fungsi mentransformasi data dari satu e. Objek-objek dapat saling berkomunikasi dengan salingmentransformasi data dari satu bentuk ke bentuk yang lainberkomunikasi dengan saling mengirim message satu sama lainf. Pendekatan adalah pendekatan top down (dari atas ke bawah)f. Pendekatanya adalah bottom up (dari bawah ke atas)1. Object Objek didefinisikan sebagai konsep, abstraksi ataubenda dengan batasan dan arti untuk suatu masalah. Dapat digambarkansebagai benda secarafisikataukonseptual (orang, hardware, software, pintu, kudadll)yang mempunyai atribut dan metode. Semua objek mempunyai identitas yang berbeda denganII. Istilah-Istilah dalam OOP Semua objek mempunyai identitas yang berbeda denganlainnya.2. Class Kumpulan dari objek-objek yang sejenis.3. Diagram Objek Untukmelengkapi notasi grafikpadapemodelanobjek,kelas dan relasinya dengan yang lain. Bermanfaat untuk pemodelan abstrak dan membuatperancangan program. Digunakan dalam pengembangan sistem mulai dari faseanalisa sampai implementasi.Contoh Diagram Objek:Nama objekatributmetodeContoh Diagram Objek:4. Atribut Menggambarkan data yang dapat memberikaninformasi mengenai kelasatauobjekdi manaatributtersebut berada.5. Metode Suatu prosedur/fungsi yang disatukan dalamsuatuobjek dan dapat mengakses field-field data yangmenjadi bagian dari objek tersebut Merupakan apa yang dapat dilakukan oleh Objek Merupakan apa yang dapat dilakukan oleh Objek Di dalam objek, metode sebagai suatu headerfungsi/prosedur yang bertindak sebagai metode Di luar objek, metode didefinisikan secara penuh,yaitu statemen-statemen apa saja yang akandikerjakan oleh metode tersebut Namametodeharusdiletakkansetelahnamaobjekyang memiliki metode tersebutContoh sederhana atribut dan metode:MhsNIMNamaJurusan JurusanInputEditDelete6. Message Carauntuk berhubunganantarasatuobjek denganobjek lain. Objek pengirim mengirimkan pesan kepada objekpenerima melaksanakan supaya objek penerimamelaksanakan salah satu metode yang dimiliki.Contoh:messageIII. Karakteristik dari ObjekAda3(tiga) karakteristikutamabahasapemrogramanberorientasi objek yaitu:a.Enkapsulasi (pengkapsulan) Prosespenggabunganantaradata-datadanfungsi-fungsi yang berkaitan ke dalam sebuah objek. Hakikat dari enkapsulasi ini adalah memadukanlangkah program dengan data yang ada di dalamnya. Data dan prosedur atau fungsi dikemas bersama-sama dalamsuatu objek, sehingga prosedur ataufungsi lain dari luar tidak dapat mengaksesnya.Hanya dengan interface objek maka kita dapatmengakses datanya.b.Inheritance (penurunan sifat) Teknikyangmenyatakanbahwaanakdari objekakan mewarisi data/atribut dan metode dariinduknya langsung. Karakteristikdari suatuobjekditurunkankeobjekyang lain sehingga objek yang baru akan memilikikarakteristik yang sama dengan induknya. karakteristik yang sama dengan induknya. Penurunan ini diawali dengan mendefinisikan objekinduk, sehingga dengan menggunakan objek induktersebut, dapat membuat objek yang bertumpupada objek induknya. Sehingga akan terbentukobjekketurunan. Dimanasetiapobjekturunannyadapat mengaksessemuadatadanprogramyangdimiliki oleh objek induknya Dengan polimorphism kita dapat membuatsebuah objek baru yang menunjukkan fungsi-fungsi yang sama dengan objek induknya, namunfungsi fungsi yang sama tersebut memilikioperasi yang berbeda-beda.c. Polimorphism(keanekaragaman) Objekyangmasihdi dalamsuatuhirarki dapatmenyusun objek yang lainnya, sesuai dengankebutuhan dari objek tersebut, yang artinyapemrograman berorientasi objek ini mencakupkeanekaragaman objek yang menjaminterhimpunnyaperpaduankeanekaragamandatadengan prosedur atau fungsi.Analogi Polimorphism :Sebuah kendaraan secara umumbaik mobil maupunsepedamotor memberi kemungkinankepadakitauntukmelakukan operasi maju, mundur, belok kanan/kiriatau berhenti. Namun keduanya tidak melakukan operasi-operasi tersebut dengan cara yang sama.Belok kananBelok kiriMajuImplementasi OOP PadaImplementasi OOP Pada Perangkat Lunak PemrogramanI. Implementasi OOP menggunakan Bahasa Pemrograman Penulisan kode program merupakan kelanjutan dari proses perancangan Spesifikasi perangkat lunak:a.Struktur datab.Aliran dinamis dari kendali b.Aliran dinamis dari kendalic. Transformasi fungsional Beberapa bahasa pemrograman berorientasi objek:a.Smalltalkb.C++c.Javaa. SmalltalkSmalltalk adalah bahasa pemrograman berorientasi objek yang pertama kali populer.Smalltalk dikembangkan di Xerox PARC-Amerika Serikat.Ide dasar Smalltalk meliputi: Ide dasar Smalltalk meliputi:1. Semua adalah objek 2. Objek bisa saling berkomunikasi melalui messages atau berita3. Semua tersedia untuk dimodifikasi C++ adalah salah satu bahasa pemrograman komputer.Dibuat pada tahun 1980an oleh Bell Labs sebagaipengembangan dari Bahasa Pemrograman C(yangdibuat oleh Brian W. Kernighan dan Denies M. Ricthiepadatahun1972). Salahsatuperbedaanyangpalingmendasar denganbahasaCadalahC++medukungkonsep pemrograman berorientasi objek (ObjectOriented Language).b. C++Tahun 1980 seorang ahli yang bernama BjarneStroustrup mengembangkan beberapa hal dari bahasaCyang dinamakan Cwith Classes yang bergantinama pada tahun 1983 menjadi C++.C++ merupakan bahasa pemrograman yang casesensitive.Javaadalahbahasapemrogramanberorientasi objekyang dikembangkan oleh Sun Microsystems sejaktahun 1991.Bahasa Pemrograman Java pertama lahir dari TheGreenProject, yangberjalanselama18 bulan, dariawal tahun1991hinggamusimpanas1992. Proyektersebut belummenggunakanversi yang dinamakanOak. Proyekini dimotori olehPatrickNaughton, Mikec. JavaOak. Proyekini dimotori olehPatrickNaughton, MikeSheridan, James Gosling dan Bill Joy, beserta sembilanpemrogram lainnya dari Sun Microsystems. Salah satuhasilproyek iniadalah maskot Duke yang dibuat olehJoe Palrang.Java adalah bahasa pemrograman yang mirip denganC/C++KeunggulanyaadalahJavadapat berjalandi banyakplatform perangkat keras (Multy-Platform).Beberapa hal yang harus diperhatikan dalam menentukanObjek dalam suatu program1. Correctness and SufficiencyDalammendesainprogramsebaiknyamemperhatikanbahwa object-object yang didisain dapat menjaminkebenaran informasi dan juga kecukupan informasi kebenaran informasi dan juga kecukupan informasiyang dibutuhkan2. Robustness (Ketahanan) Ketahanan adalah kemampuan sistem komputeruntuk mengatasi kesalahanselamaeksekusi ataukemampuan algoritma untuk terus beroperasimeskipun ada kelainan pada input, perhitungan,jenis pengujian yang melibatkan input tidak validatau tidak terduga. Object-object yang didisain sebaiknya dapatmembuat suatu program menjadi tangguh, dalam halini diharapkanprogramyangdibuat memiliki erroryang sedikit dan dapat bertahan dalam situasi yangsulit sekalipun.3. FlexibilityObject-object yang didisain sebaiknya mudah untukdiexpand atau dikembangkan (bersifat flexibel). Halinidibutuhkankarenadalampembuatanprogramseringkali harus merubah disain yang telah dibuatsebelumnya karena adanya perubahan disain yangdiinginkan oleh user/pengguna.4. Reusability 4. ReusabilityKode-kode program yang telah dibuat, dapat digunakankembali. Hal ini haruslahterpenuhi dalammendisainprogram yang baik. Karena ketika menggunakan pointini maka akan lebih mudah untuk me-manage programyang dibuat, apalagi disaat harus mengganti suatuinformasi dalam program yang dibuat.5. EfficiencyDesain yang dibuat sebaiknya efisien karena akanberkaitan dengan penggunaan resource hardware yangdigunakan. Baik itudalamfaktor kecepatanmaupundalam faktor penyimpanan data/program.Beberapa hal di atas sangat penting untuk diterapkan agarprogram atau aplikasi yang dibangun lebih tangguh, sebabmenuliskan kode program tidak hanya sekadarmengetikkan perintah-perintah yang menginstruksikanaplikasi untuk mengerjakan sesuatu, tetapi dapat jugamerupakan seni membangun struktur kode programdengan kaidah tertentu.II. Implementasi OOP dengan C++A. Implementasi Konsep Pengkapsulan (Encapsulation)dengan C++ Salah satu keistimewaan C++ adalahpengkapsulan Pengkapsulan adalah mengkombinasikan suatustruktur dengan fungsi yang memanipulasinya struktur dengan fungsi yang memanipulasinyauntuk membentuk tipe data baru yaitu kelas (class) Kelas pada C++ ada 3, yaitu:1. Private2. Public3. Protected1. PrivateTingkat akses yang memberikan hak akses data hanyakepada kelas yang bersangkutan saja.2. PublicTingkat akses yang memberikan hak akses secaraumum kepada kelas-kelas turunannya maupun terhadaplingkungan luar di dalam program.Sifat class:lingkungan luar di dalam program.3. ProtectedTingkat akses yang memberikan hak akses terhadapdatadalamsuatukelassehinggadatatersebut dapatdiakses oleh kelas turunannya, namun lingkungan luar didalam program masih tetap tidak diberi hak untukmengaksesnya.Contoh program: Class#include Using namespace std;class MOTOR {char* merk;long tahun;char* nopol;char* warna; char* warna;public:void SetMotor(){merk = Honda;tahun = 2010;nopol = B 1234 ABCwarna = merah putih}Contoh program: Class (lanjutan)void ShowInfoMotor() {cout