The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

berisikan materi tentang Dasar Keahlian Pengembangan Perangkat Lunak dan Gim

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by smknegeri1popayato, 2023-08-13 10:27:46

Modul Dasar Keahlian PPLG

berisikan materi tentang Dasar Keahlian Pengembangan Perangkat Lunak dan Gim

Keywords: PPLG

Dasar-Dasar Perangkat Lunak dan GIM 241 Perhatikanlah contoh di atas! Kita membuat objek baru dengan kata kunci new, lalu diberikan nilai parameter firstName dan lastName. var person1 = new Person("Muhar", "Dian"); c. Method pada Object Object juga dapat memiliki method. Method adalah tindakan yang dapat dilakukan pada object. Method disimpan dalam properti sebagai definisi fungsi. Property Property Value firstName John lastName Doe Age 50 eyeColor Blue


Cita Puspitasari, S.Pd dan Renita, S.Kom. 242 fullName function() {return this.firstName + ” ” + this.lastName;} Method adalah fungsi yang disimpan sebagai properti. var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName;}}; Keyword “this“ Dalam definisi fungsi this mengacu pada “pemilik” fungsi. Dalam contoh di atas, this adalah object person yang “memiliki” fungsi fullName. Dengan kata lain, this.firstName berarti properti firstName dari object this. Mengakses Method Object Kita dapat mengakses method object dengan sintaks berikut: objectName.methodName() Contoh: <!DOCTYPE html> <html> <body> <h2>Object JavaScript</h2> <p>Method pada object adalah definisi fungsi, disimpan sebagai nilai properti.</p> <p id="demo"></p> <script> var person = { firstName: "John", lastName : "Doe", id : 5566,


Dasar-Dasar Perangkat Lunak dan GIM 243 fullName : function() { return this.firstName + " " + this.lastName; }}; document.getElementById("demo").innerHTML = person.fullName(); </script> </body> </html> Jika Anda mengakses method tanpa tanda kurung (), maka hal ini akan mengembalikan definisi fungsi. <html> <body> <h2>Object JavaScript</h2> <p>Jika Anda mengakses method tanpa tanda kurung (), maka hal ini akan mengembalikan definisi fungsi.</p> <p id="demo"></p> <script> var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName;}}; document.getElementById("demo").innerHTML = person.fullName; </script> </body> </html> Jangan Deklarasikan String, Angka, dan Boolean sebagai Object! Ketika variabel JavaScript dideklarasikan dengan kata kunci “new“, variabel tersebut dibuat sebagai object


Cita Puspitasari, S.Pd dan Renita, S.Kom. 244 Materi Pertemuan 28 Enkapsulasi, Interface, Pewarisan, Dan Polymorphism a. Enkapsulasi Enkapsulasi atau pengkapsulan adalah konsep tentang pengikatan data atau metode yang berbeda yang disatukan atau “dikapsulkan” menjadi satu unit data. Encapsulation dapat mempermudah dalam pembacaan code karena informasi yang disajikan tidak perlu dibaca secara rinci dan sudah merupakan satu kesatuan. Enkapsulasi juga sering digunakan karena terdapat fitur information-hiding mechanism. Mekanisme ini menghilangkan akses publik ke atribut-atribut yang terdapat di dalam “kapsul” tersebut. Metode ini dapat memudahkan anda dalam mendefinisikan atribut apa saja yang dapat dibaca dan diperbarui. b. Interface Biasanya interface juga bisa dikatakan sebagai bentuk lain dari abstract class. Walaupun secara konsep teori dan tujuan penggunaannya berbeda dari interface pada umumnya. Sama halnya seperti abstract dalam class, interface juga hanya berisi signature dari method, yaitu hanya nama method dan parameternya saja itu pun jika parameternya ada. Isi dari method akan dikerjakan dan diolah ulang di dalam class yang menggunakan interface. c. Inheritance/pewarisan Inheritance adalah konsep OOP di mana kita dapat membentuk class baru yang “mewarisi” atau memiliki bagianbagian dari class yang sudah ada sebelumnya. Konsep ini menggunakan sistem hirarki atau bertingkat. Seperti sebuah Drop-Down Menu yang ada di kebanyakan website, di mana semakin spesifik submenunya, semakin spesifik pula kontennya. Demikian juga dengan Inheritance OOP di mana semakin spesifik subclassnya, semakin sedikit pula komponen yang dapat diwarisi class tersebut.


Dasar-Dasar Perangkat Lunak dan GIM 245 d. Polymorphism Polymorphism adalah konsep di mana suatu objek yang berbeda-beda dapat diakses melalui interface yang sama. Sebuah objek yang polymorphic dapat beradaptasi dengan metode apapun yang diimplementasikan pada objek tersebut, dan setiap class memiliki interpretasinya tersendiri terhadap interfacenya. Dalam Java, terdapat 2 jenis polymorphism yaitu Static Polymorphism dan Dynamic Polymorphism. Static Polymorphism yang umum digunakan adalah Method Overloading. Method Overloading mengizinkan kalian untuk menerapkan beberapa implementasi metode yang berbeda dalam kelas yang sama namun dengan parameter yang berbeda-beda. Dalam Dynamic Polymorphism sebuah subclass dapat menimpa metode dari superclassnya. Jika kalian menerapkan subclass tersebut, Java Virtual Machine akan selalu menggunakan metode yang sudah ditimpa. Materi Pertemuan 29 Menerapkan Enkapsulasi a) Enkapsulasi pada javascript Enkapsulasi menjelaskan gagasan menggabungkan data dan metode yang bekerja pada data tersebut dalam satu unit, misalnya, kelas dalam JavaScript. Untuk membuatnya terdengar sederhana, ini digunakan untuk menyembunyikan representasi internal, atau keadaan suatu objek dari luar. Katakanlah kita membuat objek Film lain, dan ingin konsol log deskripsi. Nama dan sutradara tidak dapat diakses di luar ruang lingkup. Data disembunyikan, dikemas di dalam Film. const Movie = function(n, d){ let name = n let director = d return{ description: function(){


Cita Puspitasari, S.Pd dan Renita, S.Kom. 246 console.log(`${director} directed ${name} `) }}} const titanic = new Movie('Titanic', 'James Cameron') titanic.description() // James Cameron directed Titanic Materi Pertemuan 30 Interface atau bisa juga disebut dengan Abstraksi adalah cara untuk menyembunyikan detail implementasi dan hanya menampilkan fungsionalitas kepada pengguna. Dengan kata lain, ini mengabaikan detail yang tidak relevan dan hanya menampilkan yang diperlukan. Dalam contoh berikut, kami menetapkan nama dan direktur sebagai variabel pribadi dan deskripsi sebagai metode pribadi. Metode kelas bisa memanggil metode privat di dalam ruang lingkup kelas, tetapi implementasi detailnya tidak ditampilkan saat kita memanggil instance "titanic". const Movie = function(n, d) { // private variables let name = n; let director = d; // class method this.giveName = function() { return name; } // private method const description = function() { return `${director} directed ${name}.` } // class method that invoke private method this.giveDescription = function() { return description()}} const titanic = new Movie('Titanic', 'James Cameron'); titanic.giveName() //Titanic


Dasar-Dasar Perangkat Lunak dan GIM 247 titanic.description() //TypeError: titanic.description is not a function titanic.giveDescription(); //James Cameron directed Titanic. Materi Pertemuan 31-32 Membuat Program yang Menerapkan Pewarisan dan Polymorphism a. Pewarisan Dalam pewarisan klasik, metode dari kelas dasar (kelas induk) dapat disalin ke dalam kelas turunan (kelas anak). Di JS, pewarisan didukung dengan menggunakan objek prototipe. Ini memungkinkan pengembang untuk menggunakan kembali logika umum sambil tetap mempertahankan hierarki unik. Dengan "extends", kelas Karyawan mewarisi konstruktor dan metode toString dari kelas Person. constructor(name){ this.name = name; } //class method to return the string toString(){ return (`Name of person: ${this.name}`); } } class Employee extends Person{ constructor(name,id){ //super keyword for calling above class constructor super(name); this.id = id; } toString(){ return (`${super.toString()},Employee ID: ${this.id}`); } } let john = new Employee('John',32); console.log(john.toString()); //'Name of person: John,Employee ID: 32'


Cita Puspitasari, S.Pd dan Renita, S.Kom. 248 b. Polimorfisme Seperti yang ditunjukkan pada nama: "poly" = "many" dan "morphism" = "form", polimorfisme menyediakan cara untuk melakukan satu tindakan dalam berbagai bentuk. Program akan menentukan arti atau penggunaan mana yang diperlukan untuk setiap eksekusi objek itu, mengurangi kebutuhan untuk menggandakan kode. Pada contoh berikut, semua film memiliki fungsi yang sama dengan bentuk yang berbeda. let movie1 = function () {} movie1.prototype.description = function() { return "description of movie1" } let movie2 = function() {} movie2.prototype = Object.create(movie1.prototype); movie2.prototype.description = function() { return "description of movie2" } let movie3 = function() {} movie3.prototype = Object.create(movie1.prototype); movie3.prototype.description = function() { return "description of movie3" } let movies = [new movie1(), new movie2(), new movie3()]; movies.forEach(function(movie){ console.log(movie.description()); }); 4. Glosarium a. Fungsi atau yang bisa kita sebut prosedur adalah suatu blog program yang mempunyai tugas tertentu berdasarkan tujuan dari fungsi/prosedur itu sendiri. b. Class adalah prototype, atau blueprint, atau rancangan yang mendefinisikan variabel dan metode-metode pada seluruh objek tertentu. c. Objek adalah segala sesuatu yang ada di dunia ini. Entah itu benda mati ataupun makhluk hidup.


Dasar-Dasar Perangkat Lunak dan GIM 249 d. Method adalah kumpulan program yang mempunyai nama. e. Enkapsulasi atau pengkapsulan adalah konsep tentang pengikatan data atau metode yang berbeda yang disatukan atau “dikapsulkan” menjadi satu unit data. f. Inheritance adalah konsep OOP di mana kita dapat membentuk class baru yang “mewarisi” atau memiliki bagianbagian dari class yang sudah ada sebelumnya. g. Polymorphism adalah konsep di mana suatu objek yang berbeda-beda dapat diakses melalui interface yang sama. 5. Daftar Pustaka Setiawan Dimas. https://kelasprogrammer.com/membuat-fungsijavascript/ diakses tanggal 16 Oktober 2021. Afrizal dan Baharsyah. https://www.jagoanhosting.com/blog/mengenal-oopencapsulation-inheritance-polyorphism-dan-abstrak-class/ diakses tanggal 16 Oktober 2021. Ahmad Muhardian. https://www.petanikode.com/javascript-objek/ diakses tanggal 18 Oktober 2021. Dumet School. https://www.kursuswebsite.org/caramenambahkan-class-menggunakan-javascript/ diakses tanggal 18 Oktober 2021.


Cita Puspitasari, S.Pd dan Renita, S.Kom. 250 TENTANG PENULIS Cita Puspitasari, lahir di Banyumas, 25 Mei 1993. Anak pertama dari dua bersaudara. Sejak kecil, tinggal di Desa Kalisari Kecamatan Cilongok, Kabupaten Banyumas, Jawa Tengah. Jenjang akademisnya dari pendidikan dasar hingga menengah atas diselesaikan di kota kelahirannya. Memulai pendidikan dasar pada tahun 1999 di SD Negeri 1 Kalisari. Kemudian melanjutkan ke sekolah menengah pertama di tahun 2005, yaitu di SMP Negeri 1 Ajibarang. Setelah itu, pada tahun 2008 meneruskan pendidikan menengah atas di SMK Telkom Sandhy Putra Purwokerto jurusan Teknik Komputer dan Jaringan. Pendidikan tingginya dimulai pada tahun 2011 di Universitas Negeri Semarang Fakultas Teknik, Jurusan Pendidikan Teknik Informatika dan Komputer. Berhasil menyelesaikan pendidikan S-1 dengan baik di universitas tersebut pada tahun 2015. Selepas lulus dari almamaternya, penulis mengabdi sebagai guru Produktif Rekayasa Perangkat Lunak dan Teknik Komputer dan Jaringan di SMK Ma’arif NU 1 Ajibarang tahun 2016 sampai sekarang. Renita, lahir di Banyumas, 4 Agustus 1993. Penulis ini sejak kecil, tinggal di Desa Darmakradenan Kecamatan Ajibarang, Kabupaten Banyumas, Jawa Tengah. Jenjang akademisnya dari pendidikan dasar hingga menengah atas diselesaikan di kota kelahirannya. Memulai pendidikan dasar pada tahun 1999 di SD Negeri 1


Dasar-Dasar Perangkat Lunak dan GIM 251 Darmakradenan, kemudian melanjutkan ke sekolah menengah pertama di tahun 2005 yaitu di SMP Negeri 2 Ajibarang, dan meneruskan pendidikan menengah atas pada tahun 2008 di SMK Negeri 1 Purwokerto. Pada tahun 2012 penulis melanjutkan pendidikan tingginya di STMIK AMIKOM Purwokerto yang sekarang sudah berubah nama menjadi Universitas AMIKOM Purwokerto Jurusan Sistem Informasi. Berhasil menyelesaikan pendidikan S-1 di universitas tersebut dengan baik pada tahun 2016. Selepas lulus dari almamaternya, penulis mengabdi sebagai guru Produktif TKJ dan RPL di SMK Ma’arif NU 1 Ajibarang tahun 2017 sampai sekarang.


Click to View FlipBook Version