Skripsi ini meneliti kemampuan kognitif anak TK melalui media kartu angka. Penelitian dilakukan pada anak kelompok A di TK Dharma Wanita Bululawang, Blitar. Hasilnya menunjukkan peningkatan kemampuan kognitif anak setelah menggunakan media kartu angka.
Interface adalah sekumpulan method abstract yang mendefinisikan perilaku tanpa implementasi. Interface dapat diimplementasikan oleh kelas untuk mendefinisikan perilakunya, tetapi interface sendiri bukan kelas. Interface hanya mendefinisikan kontrak antara kelas dengan interface, di mana kelas harus mengimplementasikan semua method yang ada pada interface.
1. Dokumen tersebut membahas tentang line balancing dalam produksi massal untuk menyeimbangkan aliran produksi antar departemen dan meminimalkan waktu menunggu.
2. Dibahas pula langkah-langkah line balancing meliputi identifikasi tugas, penetapan waktu tugas, hubungan antartugas, penetapan output dan waktu produksi, perhitungan cycle time, penugasan tugas ke stasiun kerja.
3. Rumus yang digunakan antara lain efisiens
Skripsi ini meneliti kemampuan kognitif anak TK melalui media kartu angka. Penelitian dilakukan pada anak kelompok A di TK Dharma Wanita Bululawang, Blitar. Hasilnya menunjukkan peningkatan kemampuan kognitif anak setelah menggunakan media kartu angka.
Interface adalah sekumpulan method abstract yang mendefinisikan perilaku tanpa implementasi. Interface dapat diimplementasikan oleh kelas untuk mendefinisikan perilakunya, tetapi interface sendiri bukan kelas. Interface hanya mendefinisikan kontrak antara kelas dengan interface, di mana kelas harus mengimplementasikan semua method yang ada pada interface.
1. Dokumen tersebut membahas tentang line balancing dalam produksi massal untuk menyeimbangkan aliran produksi antar departemen dan meminimalkan waktu menunggu.
2. Dibahas pula langkah-langkah line balancing meliputi identifikasi tugas, penetapan waktu tugas, hubungan antartugas, penetapan output dan waktu produksi, perhitungan cycle time, penugasan tugas ke stasiun kerja.
3. Rumus yang digunakan antara lain efisiens
BIOLOGI SMA_MA KLS.11_KM-MA (Modul Ajar)-Modul Ajar Biologi SMA Kelas 11 (8)....dwiapriyani04
Modul ini membahas sistem pertahanan tubuh melalui 4 pertemuan pembelajaran. Materi yang diajarkan mencakup mekanisme pertahanan tubuh secara nonspesifik dan spesifik, program dan jenis imunisasi, serta faktor yang mempengaruhi dan gangguan pada sistem pertahanan tubuh. Pembelajaran dilakukan secara kolaboratif dengan metode discovery learning dan problem based learning.
Inheritance, polymorphism, dan interface memungkinkan pembuatan hierarki kelas yang fleksibel dan reusabilitas kode. Interface dan kelas abstrak memungkinkan definisi perilaku standar tanpa menentukan implementasi. Polymorphism memungkinkan objek-objek dari subclass yang berbeda diperlakukan sebagai objek dari superclass.
UML (Unified Modeling Language) - Rekayasa Perangkat Lunakraissazivana
UML (Unified Modeling Language) adalah bahasa visual standar untuk merancang dan membuat sistem berorientasi objek. UML memiliki 9 diagram utama untuk memodelkan sistem dari berbagai sudut pandang, seperti use case diagram, class diagram, sequence diagram, dan activity diagram. Tujuan UML adalah untuk memfasilitasi komunikasi, integrasi, dan desain ulang sistem kompleks.
Dasar Teori
Pegas atau per adalah benda elastis yang digunakan untuk menyimpan
energi mekanis. Pegas biasanya terbuat dari baja. Ada beberapa rancangan pegas.
dalam pemakaian sehari-hari, istilah ini mengacu pada coil springs.
Pegas merupakan salah satu komponen yang digunakan dalam industri
seperti pada otomotif, transportasi dan industri lainnya. Pegas digunakan untuk
sistem suspensi, peralatan, perabot dan sebagainya. Sekarang ini dunia otomotif
berkembang pesat. Berdasarkan Studi Ipsos Busines Consulting yang dirilis tahun
2016 lalu, menunjukan pasar otomotif nasional masih tergolong aktraktif. Masyarkat
Indonesia mempunyai karakteristik menjadikan kendaraan dengan segmen mobil
penumpang dan low cost green car (LCGC) sebagai kendaraan favorit. Pertumbuhan
pasar otomotif nasional hingga 2020 mendatang diprediksi mencapai angka 6,8%.
Merujuk pada data gabungan industri kendaraan bermotor Indonesia (Gaikindo),
kuartal pertama 2017 pejualan mobil di Indonesia akan meningkat sebesar 6 %.
Kondisi ini menunjukan bahwa pasar domestis masih mempunyai potensi pasar yang
baik. Industri otomotif sangat berkembang pesat saat ini, sehingga mempunyai
kebutuhan pegas yang banyak. Hal ini berimbas pada peningkatan jumlah produksi
Elastis adalah kemampuan benda untuk kembali ke bentuk semula setelah gaya
yang bekerja padanya dihilangkan. Ketika pegas ditarik yang berarti ada gaya luar
yang bekerja maka ia akan molor atau memannjang. Ketika gaya luar itu dihilangkan
ia akan kembali ke bentuk semula (Hatimah, 2013).
Hukum Hooke menyatakan bahwa besar gaya berbanding lurus dengan
pertambahanpanjang. Semakin besar gaya yang bekerja pada pegas, semakin besar
pertambahan panjang pegas. Perbandingan antara besar gaya terhadap
pertambahan panjang pegas bernilai koonstan. Hukum Hooke berlaku ketika gaya
tidak melampaui batas elastisitas. Pada saat pegas ditarik atau ditekan (pada pegs
bekerja gaya F) pegas bertambah panjang atau mungkin bertambah pendek. Pegas
tersebut juga memeberikan gaya perlawanan terhadap gaya yang bekerja pada pegas
yang dinamakan gaya lenting pulih (Fp). Besarnya gaya lenting pulih sama dengan
gaya.
penyebab benda bergetar adalah karena adanya gaya pemulih yang bekerja
pada benda tersebut. Ketika gaya pemulih berbanding lurus dengan perpindahan dari
titik kesetimbangan, getaran yang terjadi disebut gerak harmonik sederhana. Tidak
semua getaran periodik merupakan gerak harmonik sederhana. Secara umum, gaya
pemulih bergantung pada perpindahan dalam cara yang lebih rumit. Akan tetapi,
dalam kebanyakan sistem, gaya pemulih kira-kira sebanding dengan perpindahan jika
perpindahannya cukup kecil. Artinya, jika amplitudonya cukup kecil, getaran sistem
yang demikian akan mendekati gerak harmonic sederhana
9
Suatu sistem yang menunjukkan gejala gerak harmonik sederhana adalah sebuah
benda yang terikat ke sebuah pegas, di mana gaya pulihnya dinyatakan oleh Hukum
Hook
Dokumen tersebut membahas interaksi antara manusia dan komputer dalam pengembangan antarmuka. Ia menjelaskan pentingnya mempertimbangkan faktor manusia dalam desain sistem komputer agar mudah digunakan dan efektif. Dokumen tersebut juga membahas model pengolahan informasi manusia, memori manusia, dampak positif dan negatif dari interaksi manusia-komputer.
1. Siklus Krebs adalah seri reaksi yang terjadi di mitokondria untuk mengoxidasi sisa asetil dan melepaskan energi dalam bentuk ATP.
2. Siklus ini menghasilkan karbon dioksida, koenzim tereduksi untuk produksi ATP, dan zat untuk sintesis asam lemak dan protein.
3. Piruvat merupakan sumber utama asetil KoA yang masuk ke siklus Krebs, menghasilkan energi dari karbohidrat.
Kerangka karangan memberikan garis besar rencana penulisan suatu karangan secara sistematis dan terstruktur. Ia bermanfaat untuk menyusun ide secara teratur dan memastikan maksud disampaikan dengan baik. Langkah pembuatannya meliputi rumusan tema, topik bawahan, evaluasi topik, dan penentuan pola susunan. Pola umum adalah alamiah dan logis. Kerangka dapat berupa sementara maupun permanen, dan dibangun dari kalimat
Proses perbaikan tablet di vendor membutuhkan waktu rata-rata 50 hari, menghambat produktivitas engineer dan proyek. Proposal ini menyarankan proses alternatif agar device rusak siap digunakan dalam waktu singkat, dengan vendor menerima deposit untuk mempercepat perbaikan tanpa menunggu pembayaran penuh, sehingga mengurangi kerugian potensial perusahaan hingga Rp600 juta per bulan.
Tugas komputer ini membahas tentang plagiarisme, yang didefinisikan sebagai penjiplakan karya orang lain tanpa mengakui sumbernya. Dokumen ini menjelaskan berbagai jenis plagiarisme, sebab-sebab terjadinya, cara menghindarinya, serta sanksi yang diberikan kepada pelaku plagiarisme.
Thread merupakan bagian program yang dapat dijalankan secara independen. Dokumen ini membahas konsep dasar thread programming pada Java, termasuk pengertian thread, keuntungan dan kerugian multithreading, model-model multithreading, pustaka thread, pembatalan thread, penggunaan thread pool, penjadwalan thread, contoh pembuatan thread utama dan multi-thread.
Dokumen tersebut membahas tentang GUI (Graphical User Interface) dalam bahasa pemrograman Java. Terdapat tiga API GUI utama yaitu AWT, Swing, dan JavaFX. Swing merupakan toolkit GUI ringan yang menyertakan widget dan memungkinkan pembuatan antarmuka pengguna yang independen platform. Library Swing dibangun di atas AWT namun lebih modern. Dokumen selanjutnya membahas komponen-komponen dasar Swing beserta fungsinya dan penggunaan layout manager unt
Paragraf menjelaskan tentang pentingnya pendidikan anti korupsi bagi anak-anak untuk mencegah terjadinya korupsi di masa depan. Pendidikan anti korupsi akan membantu anak-anak memahami dampak buruk dari korupsi sehingga enggan melakukannya saat dewasa nanti. Oleh karena itu, pendidikan anti korupsi untuk anak-anak sangatlah penting.
BIOLOGI SMA_MA KLS.11_KM-MA (Modul Ajar)-Modul Ajar Biologi SMA Kelas 11 (8)....dwiapriyani04
Modul ini membahas sistem pertahanan tubuh melalui 4 pertemuan pembelajaran. Materi yang diajarkan mencakup mekanisme pertahanan tubuh secara nonspesifik dan spesifik, program dan jenis imunisasi, serta faktor yang mempengaruhi dan gangguan pada sistem pertahanan tubuh. Pembelajaran dilakukan secara kolaboratif dengan metode discovery learning dan problem based learning.
Inheritance, polymorphism, dan interface memungkinkan pembuatan hierarki kelas yang fleksibel dan reusabilitas kode. Interface dan kelas abstrak memungkinkan definisi perilaku standar tanpa menentukan implementasi. Polymorphism memungkinkan objek-objek dari subclass yang berbeda diperlakukan sebagai objek dari superclass.
UML (Unified Modeling Language) - Rekayasa Perangkat Lunakraissazivana
UML (Unified Modeling Language) adalah bahasa visual standar untuk merancang dan membuat sistem berorientasi objek. UML memiliki 9 diagram utama untuk memodelkan sistem dari berbagai sudut pandang, seperti use case diagram, class diagram, sequence diagram, dan activity diagram. Tujuan UML adalah untuk memfasilitasi komunikasi, integrasi, dan desain ulang sistem kompleks.
Dasar Teori
Pegas atau per adalah benda elastis yang digunakan untuk menyimpan
energi mekanis. Pegas biasanya terbuat dari baja. Ada beberapa rancangan pegas.
dalam pemakaian sehari-hari, istilah ini mengacu pada coil springs.
Pegas merupakan salah satu komponen yang digunakan dalam industri
seperti pada otomotif, transportasi dan industri lainnya. Pegas digunakan untuk
sistem suspensi, peralatan, perabot dan sebagainya. Sekarang ini dunia otomotif
berkembang pesat. Berdasarkan Studi Ipsos Busines Consulting yang dirilis tahun
2016 lalu, menunjukan pasar otomotif nasional masih tergolong aktraktif. Masyarkat
Indonesia mempunyai karakteristik menjadikan kendaraan dengan segmen mobil
penumpang dan low cost green car (LCGC) sebagai kendaraan favorit. Pertumbuhan
pasar otomotif nasional hingga 2020 mendatang diprediksi mencapai angka 6,8%.
Merujuk pada data gabungan industri kendaraan bermotor Indonesia (Gaikindo),
kuartal pertama 2017 pejualan mobil di Indonesia akan meningkat sebesar 6 %.
Kondisi ini menunjukan bahwa pasar domestis masih mempunyai potensi pasar yang
baik. Industri otomotif sangat berkembang pesat saat ini, sehingga mempunyai
kebutuhan pegas yang banyak. Hal ini berimbas pada peningkatan jumlah produksi
Elastis adalah kemampuan benda untuk kembali ke bentuk semula setelah gaya
yang bekerja padanya dihilangkan. Ketika pegas ditarik yang berarti ada gaya luar
yang bekerja maka ia akan molor atau memannjang. Ketika gaya luar itu dihilangkan
ia akan kembali ke bentuk semula (Hatimah, 2013).
Hukum Hooke menyatakan bahwa besar gaya berbanding lurus dengan
pertambahanpanjang. Semakin besar gaya yang bekerja pada pegas, semakin besar
pertambahan panjang pegas. Perbandingan antara besar gaya terhadap
pertambahan panjang pegas bernilai koonstan. Hukum Hooke berlaku ketika gaya
tidak melampaui batas elastisitas. Pada saat pegas ditarik atau ditekan (pada pegs
bekerja gaya F) pegas bertambah panjang atau mungkin bertambah pendek. Pegas
tersebut juga memeberikan gaya perlawanan terhadap gaya yang bekerja pada pegas
yang dinamakan gaya lenting pulih (Fp). Besarnya gaya lenting pulih sama dengan
gaya.
penyebab benda bergetar adalah karena adanya gaya pemulih yang bekerja
pada benda tersebut. Ketika gaya pemulih berbanding lurus dengan perpindahan dari
titik kesetimbangan, getaran yang terjadi disebut gerak harmonik sederhana. Tidak
semua getaran periodik merupakan gerak harmonik sederhana. Secara umum, gaya
pemulih bergantung pada perpindahan dalam cara yang lebih rumit. Akan tetapi,
dalam kebanyakan sistem, gaya pemulih kira-kira sebanding dengan perpindahan jika
perpindahannya cukup kecil. Artinya, jika amplitudonya cukup kecil, getaran sistem
yang demikian akan mendekati gerak harmonic sederhana
9
Suatu sistem yang menunjukkan gejala gerak harmonik sederhana adalah sebuah
benda yang terikat ke sebuah pegas, di mana gaya pulihnya dinyatakan oleh Hukum
Hook
Dokumen tersebut membahas interaksi antara manusia dan komputer dalam pengembangan antarmuka. Ia menjelaskan pentingnya mempertimbangkan faktor manusia dalam desain sistem komputer agar mudah digunakan dan efektif. Dokumen tersebut juga membahas model pengolahan informasi manusia, memori manusia, dampak positif dan negatif dari interaksi manusia-komputer.
1. Siklus Krebs adalah seri reaksi yang terjadi di mitokondria untuk mengoxidasi sisa asetil dan melepaskan energi dalam bentuk ATP.
2. Siklus ini menghasilkan karbon dioksida, koenzim tereduksi untuk produksi ATP, dan zat untuk sintesis asam lemak dan protein.
3. Piruvat merupakan sumber utama asetil KoA yang masuk ke siklus Krebs, menghasilkan energi dari karbohidrat.
Kerangka karangan memberikan garis besar rencana penulisan suatu karangan secara sistematis dan terstruktur. Ia bermanfaat untuk menyusun ide secara teratur dan memastikan maksud disampaikan dengan baik. Langkah pembuatannya meliputi rumusan tema, topik bawahan, evaluasi topik, dan penentuan pola susunan. Pola umum adalah alamiah dan logis. Kerangka dapat berupa sementara maupun permanen, dan dibangun dari kalimat
Proses perbaikan tablet di vendor membutuhkan waktu rata-rata 50 hari, menghambat produktivitas engineer dan proyek. Proposal ini menyarankan proses alternatif agar device rusak siap digunakan dalam waktu singkat, dengan vendor menerima deposit untuk mempercepat perbaikan tanpa menunggu pembayaran penuh, sehingga mengurangi kerugian potensial perusahaan hingga Rp600 juta per bulan.
Tugas komputer ini membahas tentang plagiarisme, yang didefinisikan sebagai penjiplakan karya orang lain tanpa mengakui sumbernya. Dokumen ini menjelaskan berbagai jenis plagiarisme, sebab-sebab terjadinya, cara menghindarinya, serta sanksi yang diberikan kepada pelaku plagiarisme.
Thread merupakan bagian program yang dapat dijalankan secara independen. Dokumen ini membahas konsep dasar thread programming pada Java, termasuk pengertian thread, keuntungan dan kerugian multithreading, model-model multithreading, pustaka thread, pembatalan thread, penggunaan thread pool, penjadwalan thread, contoh pembuatan thread utama dan multi-thread.
Dokumen tersebut membahas tentang GUI (Graphical User Interface) dalam bahasa pemrograman Java. Terdapat tiga API GUI utama yaitu AWT, Swing, dan JavaFX. Swing merupakan toolkit GUI ringan yang menyertakan widget dan memungkinkan pembuatan antarmuka pengguna yang independen platform. Library Swing dibangun di atas AWT namun lebih modern. Dokumen selanjutnya membahas komponen-komponen dasar Swing beserta fungsinya dan penggunaan layout manager unt
Paragraf menjelaskan tentang pentingnya pendidikan anti korupsi bagi anak-anak untuk mencegah terjadinya korupsi di masa depan. Pendidikan anti korupsi akan membantu anak-anak memahami dampak buruk dari korupsi sehingga enggan melakukannya saat dewasa nanti. Oleh karena itu, pendidikan anti korupsi untuk anak-anak sangatlah penting.
Dokumen tersebut membahas tentang graf dan beberapa konsep dasar yang terkait dengan graf seperti simpul, sisi, derajat simpul, graf terhubung, upagraf, komponen graf, dan representasi graf seperti matriks ketetanggaan dan matriks bersisian.
Dokumen tersebut membahas konsep dasar graph dan representasinya dalam memodelkan masalah lintasan terpendek. Definisi berbagai komponen graph seperti titik, sisi, loop, sisi paralel, degree, walk dan lintasan. Juga dibahas graph berlabel dan aplikasinya untuk mewakili biaya antar kota. Algoritma pemrograman linier digunakan untuk menentukan lintasan terpendek.
Graph adalah kumpulan simpul dan busur yang dapat direpresentasikan sebagai G=(V,E) dimana V adalah kumpulan simpul dan E adalah kumpulan busur. Graph dapat berupa tak berarah dimana urutan simpul tidak penting, atau berarah dimana urutan simpul mempunyai arti. Graph juga dapat berbobot dimana setiap busur mempunyai nilai bobot. Graph dapat direpresentasikan dalam bentuk matriks atau linked list.
Bab ini membahas teori graf, termasuk definisi graf, contoh masalah jembatan Königsberg, dan jenis-jenis graf seperti graf sederhana, graf berarah, dan graf lengkap. Terminologi graf seperti simpul, sisi, derajat, dan lintasan juga dijelaskan.
Teori graf membahas tentang diagram yang digunakan untuk menggambarkan berbagai struktur. Graf terdiri dari titik dan garis yang menghubungkan titik. Ada berbagai jenis graf seperti graf tak berarah, graf berarah, pohon, dan graf berlabel. Algoritma seperti Kruskal dan Djikstra digunakan untuk menemukan pohon rentang minimum dan lintasan terpendek dalam graf berlabel.
Teori graf membahas tentang diagram yang digunakan untuk menggambarkan berbagai struktur. Dokumen ini menjelaskan konsep dasar graf seperti titik, garis, derajat, path, sirkuit, algoritma Kruskal dan Djikstra untuk mencari pohon rentang minimum dan lintasan terpendek."
Pada Presentasi kali ini,akan dijelaskan tentang Graft, Metode, Definisi, serta banyak hal lainnya.
Presentasi ini berguna untuk pembelajaran bagi mahasiswa/siswa yang mempelajari mata kuliah/pelajaran struktur data
Dokumen tersebut membahas tentang graf dalam matematika. Secara singkat, graf adalah representasi matematis dari struktur yang terdiri dari objek-objek (titik) dan hubungan antar objek (garis). Dokumen tersebut menjelaskan pengertian graf, dasar-dasar teori graf seperti derajat titik, dan cara efektif untuk menyelesaikan graf sederhana.
Cara Membuat Kursus Online Wordpress-tutorstarterFajar Baskoro
The document discusses setting up and customizing a WordPress website using the TutorLMS plugin to create an online learning platform. It covers topics like general settings, themes, customizing elements, adding courses, monetization through WooCommerce, and course settings. The goal is to guide users through configuring WordPress and TutorLMS to sell online courses.
Pemrograman Mobile - JetPack Compose1.pptxFajar Baskoro
JetPack Compose is a new Android UI toolkit that uses composable functions to declaratively build user interfaces. It allows user interfaces to recompose when data changes by detecting differences between previous and new UI descriptions. This recomposition improves performance over traditional frameworks by only updating parts of the UI that actually need changing.
Aksi Nyata Buku Non Teks Bermutu Dan Manfaatnya .pdfDenysErlanders
Buku non teks yang bermutu dapat memperkaya pengalaman
belajar siswa. Buku-buku ini menawarkan konten yang inspiratif,
inovatif, dan mendorong pengembangan karakter siswa.
Pemanfaatan buku non teks bermutu membutuhkan peran aktif
guru untuk memilih dan
mengintegrasikannya ke dalam pembelajaran
Modul Ajar Bahasa Inggris Kelas 11 Fase F Kurikulum MerdekaFathan Emran
Modul Ajar Bahasa Inggris Kelas 11 SMA/MA Fase F Kurikulum Merdeka - abdiera.com, Modul Ajar Bahasa Inggris Kelas 11 SMA/MA Fase F Kurikulum Merdeka, Modul Ajar Bahasa Inggris Kelas 11 SMA/MA Fase F Kurikulum Merdeka, Modul Ajar Bahasa Inggris Kelas 11 SMA/MA Fase F Kurikulum Merdeka, Modul Ajar Bahasa Inggris Kelas 11 SMA/MA Fase F Kurikulum Merdeka, Modul Ajar Bahasa Inggris Kelas 11 SMA/MA Fase F Kurikulum Merdeka
Modul Ajar Bahasa Indonesia Kelas 10 Fase E Kurikulum MerdekaFathan Emran
Modul Ajar Bahasa Indonesia Kelas 10 SMA/MA Fase E Kurikulum Merdeka - abdiera.com, Modul Ajar Bahasa Indonesia Kelas 10 SMA/MA Fase E Kurikulum Merdeka, Modul Ajar Bahasa Indonesia Kelas 10 SMA/MA Fase E Kurikulum Merdeka, Modul Ajar Bahasa Indonesia Kelas 10 SMA/MA Fase E Kurikulum Merdeka, Modul Ajar Bahasa Indonesia Kelas 10 SMA/MA Fase E Kurikulum Merdeka, Modul Ajar Bahasa Indonesia Kelas 10 SMA/MA Fase E Kurikulum Merdeka
1. Politeknik Elektronika Negeri Surabaya
210
P
PR
RA
AK
KT
TI
IK
KU
UM
M 2
29
9
G
GR
RA
AP
PH
H 1
1
A. TUJUAN PEMBELAJARAN
1. Memahami mengenai Konsep Graph dan istilah-istilah yang terdapat pada Graph
2. Memahami implementasi Graph ke dalam bahasa pemrograman java
B. DASAR TEORI
B.1 KONSEP GRAPH
Sebuah graph G=<V,E> terdiri dari sekumpulan titik (vertices) V dan sekumpulan
garis (edges) E. Sebuah garis e = (u,v) menghubungkan dua titik u dan v. Self – loop adalah
garis yang menghubungkan ke titik itu sendiri.
Vertices = {v1, v2, v3, …, vm}
Edges = {e1, e2, e3, …, en}
Dua titik u, v dikatakan adjacent to u, jika u dan v dihubungkan dengan garis. Path antara dua
titik v dan w adalah sekumpulan garis yang menghubungkan titik v ke titik w. Panjang path
adalah jumlah garis dalam path. Graph dikatakan connected/terhubung jika ada sebuah path
yang menghubungkan sembarang dua titik berbeda. Complete graph adalah graph yang
terhubung (connected graph) dan setiap pasang titik dihubungkan dengan garis. Digraph
disebut strongly connected jika ada sebuah path dari sembarang titik ke semua titik. Digraph
disebut weakly conneted jika titik u dan v jika terdapat path (u,v) atau path(v,u).
Gambar 29.1 (a) Graph Connected (b) Disconnected (c) Complete
2. Politeknik Elektronika Negeri Surabaya
211
Gambar 29.2 (a) Graph Weakly Connected (b) Strongly Connected (c) Weakly Connected
Pada graph berarah (directed graph/digraph), setiap garis mempunyai arah dari u ke v dan
dituliskan sebagai pasangan <u,v> atau u->v. Pada graph tak berarah (undirected graph),
garis tidak mempunyai arah dan dituliskan sebagai pasangan {u,v} atau u<->v. Graph tak
berarah merupakan graph berarah jika setiap garis tak berarah {u,v} merupakan dua garis
berarah <u,v> dan <v,u>.
Gambar 29.3 Contoh Graph Digraph
Jumlah edge yang keluar dari titik/vertex v tersebut adalah out-degree dari vertex v. Jumlah
edge yan masuk di vertex v adalah in-degree vertex v.
Baik graph berarah maupun tak berarah dapat diberikan pembobot (weight). Pembobot
diberikan untuk setiap garis. Hal ini biasanya digunakan untuk menggambarkan jarak antara
dua kota, waktu penerbangan, harga tiket, kapasitas elektrik suatu kabel atau ukuran lain yang
berhubungan dengan garis.
3. Politeknik Elektronika Negeri Surabaya
212
Gambar 29.4 Contoh penggunaan Graph
Graph banyak digunakan untuk menggambarkan jaringan dan peta jalan, jalan kereta api,
lintasan pesawat, system perpipaan, saluran telepon, koneksi elektrik, ketergantungan
diantara task pada sistem manufaktur dan lain-lain. Terdapat banyak hasil dan struktur
penting yang didapatkan dari perhitungan dengan graph.
GRAPH DENGAN MATRIK ADJACENCY
Sebuah graph G= dapat direpresentasikan dengan matrik adjacency A sebagai |V|*|V|.
Jika G berarah, Aij = 1 jika dan hanya jika <vi, vj> berada pada E. Terdapat paling banyak
|V|2
garis pada E.
Gambar 29.5 Graph berarah
Matriks adjacency dari Graph berarah adalah sebagai berikut :
1 2 3 4 5 6
1 1
2 1
3 1
4 1 1 1
5 1 1 1
6 1
Jika G adalah graph tak berarah, Aij=Aji=1 jika {vi,vj} berada pada E dan
Aij=Aji=false apabila G adalah graph berarah.
4. Politeknik Elektronika Negeri Surabaya
213
Gambar 29.6 Graph tak berarah
Matriks adjacency dari Graph berarah adalah sebagai berikut :
1 2 3 4 5 6
1 1 1 1
2 1 1 1 1
3 1 1
4 1 1 1 1
5 1 1 1
6 1 1
Pada graph tak berarah, matriks adjacency dapat berupa matriks segitiga atas sebagai berikut
:
1 2 3 4 5 6
1 1 1 1
2 1 1 1
3 1
4 1
5 1
6
Baik graph berarah maupun tak berarah dapat diberikan pembobot (weight).
Pembobot diberikan untuk setiap garis. Hal ini biasanya digunakan untuk menggambarkan
jarak antara dua kota, waktu penerbangan, harga tiket, kapasitas elektrik suatu kabel atau
ukuran lain yang berhubungan dengan garis. Pembobot biasanya disebut panjang garis,
khususnya jika graph menggambarkan peta. Pembobot atau panjang dari suatu jalur atau
siklus merupakan penjumlahan pembobot atau panjang dari komponen garis.
5. Politeknik Elektronika Negeri Surabaya
214
Gambar 29.7 Graph berarah dengan pembobot
Matriks adjacency dari graph dengan pembobot dapat digunakan untuk menyimpan
pembobot dari setiap garis. Jika garis kehilangan nilai, kemungkinan nilai negative, nol atau
bilangan besar menunjukkan nilai yang tak terbatas (infinity).
Matriks adjacency pada graph berarah dengan pembobot adalah sebagai berikut :
1 2 3 4 5 6
1 4
2 4
3 3
4 3 2 3
5 4 5 1
6 5
Gambar 29.8 Graph tak berarah dengan pembobot
Matriks adjacency pada graph tak berarah dengan pembobot adalah sebagai berikut :
1 2 3 4 5 6
1 4 3 5
2 4 3 4 4
3 3 2
4 3 4 2 3
5 4 3 1
6 5 1
6. Politeknik Elektronika Negeri Surabaya
215
Atau berupa matriks segitiga atas sebagai berikut :
1 2 3 4 5 6
1 4 3 5
2 3 4 4
3 2
4 3
5 1
6
B.2 IMPLEMENTASI GRAPH
INTERFACE GRAPH
Interface Graph berisi method-method dasar dari graph.
Tabel 29.1 Interface Graph
Interface Graph
boolean addEdge(T v1, T v2,
int w)
Jika edge (v1,v2) belum terdapat pada graph, tambahkan
edge dengan bobot w dan mengembalikan nilai true. Jika
edge(v1,v2) sudah ada maka mengembalikan nilai false. Jika
v1 dan v2 bukan merupakan vertex di graph maka throws
IIlegalArgumentException.
boolean addVertex(T v) Jika vertex v tidak terdapat pada graph maka tambahkan
pada graph dan mengembalikan nilai true. Jika vertex v
sudah ada maka mengembalikan nilai false.
void clear() Menghapus semua vertex dan edge pada graph
boolean containsEdge(T v1, T
v2)
Mengembalikan nilai true jika terdapat sebuah edge dari v1
dan v2 di graph dan mengembalikan nilai false jika
sebaliknya. Jika v1 atau v2 bukan merupakan vertex pada
graph maka throws IIlegalArgumentException.
boolean
containsVertex(Object v)
Mengembalikan nilai true jika v adalah vertex pada Graph
dan mengembalikan nilai false jika v bukan merupakan
vertex pada Graph
Set<T> getNeighbors(T v) Mengembalikan vertex-vertex yang terhubung dengan vertex
v, dan vertex-vertex tersebut disimpan dalam object S. Jika v
bukan merupakan vertex pada graph maka throws
IIlegalArgumentException.
int getWeight(T v1, T v2) Mengembalikan bobot dari edge yang menghubungkan
7. Politeknik Elektronika Negeri Surabaya
216
vertex v1 dan v2, jika edge (v1,v2) tidak ada maka
mengembalikan nilai -1. Jika v1 atau v2 bukan merupakan
vertex pada graph maka throws IIlegalArgumentException.
boolean isEmpty() Mengembalikan nilai true jika graph sama sekali tidak
mempunyai vertex dan mengembalikan nilai false jika
memiliki minimal 1 buah vertex.
int numberOfEdges() Mengembalikan jumlah edge pada graph.
int numberOfVertices() Mengembalikan jumlah vertex pada graph.
boolean removeEdge() Jika (v1,v2) merupakan edge, menghapus edge tersebut dan
mengembalikan nilai true dan mengembalikan nilai false jika
sebaliknya. Jika v1 atau v2 bukan merupakan vertex pada
graph maka throws IIlegalArgumentException.
boolean removeVertex(Object
v)
Jika v adalah vertex pada graph, menghapus vertex v dari
graph dan mengembalikan nilai true, dan mengembalikan
nilai false jika sebaliknya.
int setWeight(T v1, T v2,
int w)
Jika edge (v1, v2) terdapat pada graph, ubah bobot edge dan
mengembalikan bobot sebelumnya jika tidak
mengembalikan nilai false. Jika v1 atau v2 bukan vertex di
graph, maka throws IIlegalArgumentException.
Set<T> vertexSet() Mengembalikan vertex-vertex yang terdapat pada Graph
disimpan dalam object Set.
CLASS DIGRAPH
Class DiGraph merupakan implementasi dari interface Graph dan ada beberapa method
tambahan yang berguna dalam aplikasi ini :
Constructor : membuat graph kosong
inDegree() : untuk menghitung jumlah inDegree dari vertex v.
outDegree() : untuk menghitung jumlah outDegree dari vertex v.
static readGraph() : untuk membangun graph dari inputan file.
8. Politeknik Elektronika Negeri Surabaya
217
Gambar 29.9 Contoh Graph DiGraph
File samplegraph.dat
5 // data for the vertices
A B C D E
6 // data for the edges
A B 3
A C 2
B C 6
C B 4
C D 1
E B 5
// input vertices, edges, and weights from samplegraph.dat
DiGraph g = DiGraph.readGraph("samplegraph.dat");
// display the graph
System.out.println(g)
Output:
A: in-degree 0 out-degree 2
Edges: B(3) C(2)
B: in-degree 3 out-degree 1
Edges: C(6)
C: in-degree 2 out-degree 2
Edges: B(4) D(1)
D: in-degree 1 out-degree 0
Edges:
E: in-degree 0 out-degree 1
Edges: B(5)
REPRESENTASI ADJACENCY
Sebuah graph G= dapat direpresentasikan dengan matrik adjacency. Berikut adalah graph
beserta matrik adjancency.
Gambar 29.10 Graph dan Matrik Adjacency
9. Politeknik Elektronika Negeri Surabaya
218
Bentuk lain dari matrik adjacency adalah sebagai berikut :
Sebagai contoh vertex A memiliki keterhubungan dengan vertex B dengan bobot 1 dan vertex
C dengan bobot 1.
Gambar 29.11 Graph 1 dan List Adjacency
Sebagai contoh vertex A memiliki keterhubungan dengan vertex B dengan bobot 4, vertex C
dengan bobot 7 dan vertex D dengan bobot 6.
Gambar 29.12 Graph 2 dan List Adjacency
REPRESENTASI EDGE
Class Edge merupakan representasi edge yang menghubungkan vertex u dan vertex v pada
Graph.
class Edge
{
// index of the destination vertex in the ArrayList
// vInfo of vertex properties
public int dest;
// weight of this edge
public int weight;
public Edge(int dest, int weight)
{
this.dest = dest;
this.weight = weight;
}
public boolean equals(Object obj)
{
10. Politeknik Elektronika Negeri Surabaya
219
return ((Edge)obj).dest == this.dest;
}
}
REPRESENTASI INFORMASI VERTEX
Class VertexInfo merepresentasikan sebuah vertex v beserta informasinya yaitu
• vertex : Nama vertex
• edgeList : Vertex-vertex yang terhubung dengan vertex v
• inDegree : Jumlah inDegree
• outDegree : Jumlah outDegree
Gambar 29.13 Cara penyimpanan vertex dalam object VertexInfo
import java.util.LinkedList;
public class VertexInfo<T> {
public T vertex ;
public LinkedList<Edge> edgeList ;
public int inDegree ;
public int outDegree;
public VertexInfo(T v) {
vertex = v ;
edgeList = new LinkedList<Edge>() ;
inDegree = 0 ;
outDegree = 0;
}
public boolean equals(Object obj) {
VertexInfo<T> vertex2 = (VertexInfo<T>) obj ;
return this.vertex.equals(vertex2.vertex);
}
}
VERTEX MAP vtxMap DAN ARRAYLIST VertexInfo
VERTEX vtxMap terdiri dari data yang berpasangan(key-value) sebagai key adalah Vertex
dan sebagai value adalah index pada ArrayList VertexInfo
11. Politeknik Elektronika Negeri Surabaya
220
Gambar 29.14 Keterkaitan HashMap vtxMap dan ArrayList vInfo
Di bawah ini terdapat Graph, beserta data yang tersimpan di vtxMap dan ArrayList
VertexInfo.
Gambar 29.15 Graph, beserta data yang tersimpan di vtxMap dan ArrayList vInfo.
C. TUGAS PENDAHULUAN
Jelaskan mengenai Graph di bawah ini :
• Kegunaan Graph
• Vertex
• Edge
• Path
• Connected dan Disconnected
• Complete Graph
• Undirected Graph dan DiGraph
• StronglyConnected dan Weakly Connected
12. Politeknik Elektronika Negeri Surabaya
221
D. PERCOBAAN
Untuk mengimplementasikan Graph, maka perlu dibuat :
• Interface GRAPH
• Class VertexInfo : merepresentasikan sebuah vertex pada Graph
• Class Edge : merepresentasikan sebuah edge/link pada Graph
• Class DiGraph : merepresentasikan Directed Graph/ DiGraph
• Class TestGraph : menguji method-method yang terdapat pada class DiGraph
Gambar 29.15 Diagram UML Implementasi Graph
Percobaan 1 : Interface Graph. Sebelum membuat Graph, terlebih dahulu membuat
Interface Graph, karena class DiGraph mengimplementasikan interface Graph.
public interface GRAPH<T> {
boolean addEdge(T vi, T v2, int w);
boolean addVertex(T v);
void clear();
boolean containsEdge(T vi, T v2);
boolean containsVertex(Object v);
Set<T> getNeighbors(T v);
int getWeight(T vi, T v2);
boolean isEmtpty();
int numberOfEdges();
int numberOfVertices();
boolean removeEdge(T vi, T v2);
void setWeight(T vi, T v2, int w);
Set<T> vertexSet();
}
13. Politeknik Elektronika Negeri Surabaya
222
Percobaan 2 : Class VertexInfo merepresentasikan object vertex beserta informasinya.
import java.util.LinkedList;
public class VertexInfo<T> {
public T vertex ;
public LinkedList<Edge> edgeList ;
public int inDegree ;
public int outDegree;
public VertexInfo(T v) {
vertex = v ;
edgeList = new LinkedList<Edge>() ;
inDegree = 0 ;
outDegree = 0;
}
public boolean equals(Object obj) {
VertexInfo<T> vertex2 = (VertexInfo<T>) obj ;
return this.vertex.equals(vertex2.vertex);
}
}
Percobaan 3 : Class Edge representasi dari sebuah edge pada Graph
class Edge
{
// index of the destination vertex in the ArrayList
// vInfo of vertex properties
public int dest;
// weight of this edge
public int weight;
public Edge(int dest, int weight)
{
this.dest = dest;
this.weight = weight;
}
public boolean equals(Object obj)
{
return ((Edge)obj).dest == this.dest;
}
}
Buatlah Class DiGraph, seperti gambar UML diatas. Praktikum 4 – 10 merupakan
method-method yang terdapat pada Class DiGraph
Percobaan 4 : Konstruktor class DiGraph.
public DiGraph() {
vtxMap = new HashMap<T, Integer>();
vInfo = new ArrayList<VertexInfo<T>>();
}
14. Politeknik Elektronika Negeri Surabaya
223
Percobaan 5 : Method numberOfEdges() untuk mengetahui jumlah edge.
public int numberOfEdges() {
int n = 0;
ListIterator it = vInfo.listIterator();
while (it.hasNext()) {
VertexInfo<T> v = (VertexInfo<T>) it.next();
n = n + v.edgeList.size();
}
return n;
}
Percobaan 6 : Method containsVertex() untuk mengetahui ada/tidak sebuah object
vertex dalam ArrayList vInfo.
public boolean containsVertex(Object v) {
return vInfo.contains(v);
}
Percobaan 7 : Method numberOfVertices() untuk mengetahui jumlah vertex pada
Graph.
public int numberOfVertices() {
return vInfo.size();
}
Percobaan 8 : Method isEmpty() untuk mengetahui apakah sebuah Graph kosong atau
tidak.
public boolean isEmtpty() {
return vInfo.size() == 0;
}
Percobaan 9 : method private getVInfoIndex() untuk mencari vertex di map dan
mengembalikan indeks posisi dari vertex yang terdapat di vInfo.
private int getVInfoIndex(Object v)
{
// get the Integer value field of the vtxMap entry
Integer indexObj = vtxMap.get(v);
// if value is null, there is not entry in
// the map; return -1; otherwise, convert
// object to an int
if (indexObj == null)
15. Politeknik Elektronika Negeri Surabaya
224
return -1;
else
return indexObj;
}
Percobaan 10 : Method addEdge() untuk menambahkan edge(v1, v2) dengan bobot w.
public boolean addEdge(T v1, T v2, int w) {
int pos1 = getVInfoIndex(v1);
int pos2 = getVInfoIndex(v2);
// get VertexInfo objects for vertices v1 and v2
VertexInfo<T> vtxInfo1 = vInfo.get(pos1), vtxInfo2 =
vInfo.get(pos2);
Edge e = new Edge(pos2, w);
boolean returnValue = true;
// try to add an Edge reference v1-v2.
// if it already exists, just return
if (!vtxInfo1.edgeList.contains(e)) {
vtxInfo1.edgeList.add(e);
// increment inDegree for vertex v2 and number of edges
vtxInfo2.inDegree++;
vtxInfo1.outDegree++;
//numEdges++;
} else {
returnValue = false;
}
return returnValue;
}
E. LATIHAN
Latihan 1 : Buatlah method readGraph() untuk membaca Graph pada gambar 15 yang
tersimpan di file *.txt dengan contoh nama file samplegraph.txt
static DiGraph<String> readGraph(String namaFile) throws IOException {}
Gambar 29.16 Contoh Graph
Nama File samplegraph.txt
5 // data for the vertices
A B C D E
6 // data for the edges
16. Politeknik Elektronika Negeri Surabaya
225
A B 3
A C 2
B C 6
C B 4
C D 1
E B 5
Dengan format file inputan adalah sebagai berikut:
Jumlah vertex N
Vertex1 Vertex2 Vertex3 … VertexN
Jumlah Edge M
Source1 Destination1 Weight1
Source2 Destination2 Weight2
. . .
SourceM DestinationM WeightM
Cara penggunaan method readGraph() adalah sebagai berikut :
DiGraph g = DiGraph.readGraph("samplegraph.dat");
// display the graph
System.out.println(g)
Output dari pembacaan Graph adalah sebagai berikut :
Output:
A: in-degree 0 out-degree 2
Edges: B(3) C(2)
B: in-degree 3 out-degree 1
Edges: C(6)
C: in-degree 2 out-degree 2
Edges: B(4) D(1)
D: in-degree 1 out-degree 0
Edges:
E: in-degree 0 out-degree 1
Edges: B(5)
Latihan 2 : Lengkapi method-method pada class DiGraph seperti UML di bawah ini.
Tabel 29.2 Method pada class DiGraph
Method Kegunaan
- public String toString() Representasi Graph dalam bentuk String
- public boolean addVertex(T v) Menambahkan vertex pada Graph
- public boolean containsEdge(T
v1, T v2)
Untuk mengecek apakah pada Graph memiliki edge dari Vertex
v1 ke Vertex v2. Mengembalikan nilai true jika terdapat edge dari
vertex v1 ke vertex v2 dan sebaliknya.
- public int numberOfVertices() Untuk mengetahui jumlah dari Vertex
- public Set<T> vertexSet() Himpunan dari Vertex
- public int inDegree(T v) Untuk mendapat jumlah edge yang masuk ke Vertex tertentu
- public int outDegree(T v) Untuk mendapat jumlah edge yang keluar dari Vertex tertentu
17. Politeknik Elektronika Negeri Surabaya
226
Selanjutnya ujilah method-method yang sudah diimplementasikan dengan program berikut:
public class TestGraph1 {
public static void main(String[] args)
throws FileNotFoundException, IOException {
// construct graph with vertices of type
// String by reading from the file "graphIO.dat"
DiGraph<String> g = DiGraph.readGraph("graphIO.txt");
System.out.println(g.toString());
Set<String> vtxSet;
// output number of vertices and edges
System.out.println("Number of vertices: " + g.numberOfVertices());
System.out.println("Number of edges: "+ g.numberOfEdges());
// properties relative to vertex A
System.out.println("ninDegree for A: " + g.inDegree("A"));
System.out.println("outDegree for A: "+ g.outDegree("A"));
System.out.println("ninDegree for B: "+ g.inDegree("B"));
System.out.println("outDegree for B: "+ g.outDegree("B"));
System.out.println("ninDegree for C: "+ g.inDegree("C"));
System.out.println("outDegree for C: "+ g.outDegree("C"));
System.out.println("ninDegree for D: "+ g.inDegree("D"));
System.out.println("outDegree for D: "+ g.outDegree("D"));
System.out.println("ninDegree for E: "+ g.inDegree("E"));
System.out.println("outDegree for E: "+ g.outDegree("E"));
// add vertex F
g.addVertex("F");
// add edge (F,D) with weight 3
g.addEdge("F", "D", 3);
System.out.println("Weight e(F,D): "+ g.getWeight("F", "D"));
System.out.println(g.toString());
// after all updates, output the graph
// and its properties
System.out.println("After all the graph updates");
System.out.println(g);
}
}
Latihan 3 : Studi kasus graph 1.
- Tentukan output pembacaan graph
- Tambahkan node E, dari node D ke node E dengan bobot 2, selanjutnya tampilkan
output graph.
18. Politeknik Elektronika Negeri Surabaya
227
Latihan 4 : Studi kasus graph 2
- Tentukan output pembacaan graph
- Tambahkan sebuah vertex H dengan link DH dengan bobot 3, tampilkan output graph
F. LAPORAN RESMI
Kerjakan hasil percobaan(D) dan latihan(E) di atas dan tambahkan analisa.