www.wikidata.id-id.nina.az
Halaman ini berisi artikel tentang pemetaan data Untuk perangkat lunak komputer lihat kompresi data Dalam ilmu komputer zip adalah fungsi yang memetakan rangkap dari barisan menjadi barisan dari rangkap Nama zip berasal dari bahasa Inggris zipping atau zipper ritsleting yang secara selang seling menggabungkan dua barisan yang terpisah Inversi fungsi ini disebut unzip Daftar isi 1 Contoh 2 Definisi 3 Dalam bahasa pemrograman 4 Perbandingan bahasa 5 Lihat pula 6 ReferensiContoh suntingMisalkan ada tiga kata ia tuk dan palu 2 3 dan 4 karakter Misalkan pula ℓ displaystyle ell nbsp menandakan jumlah karakter terbanyak dari ketiganya yaitu ℓ 4 displaystyle ell 4 nbsp kata palu Hasil operasi zip terhadap ia tuk dan palu adalah barisan berisi 4 rangkap berikut i t p a u a k l u displaystyle i t p a u a k l u nbsp dengan adalah simbol di luar alfabet yang awalnya dipakai Pada bahasa pemrograman tertentu seperti Haskell fungsi ini hanya mengembalikan sebanyak jumlah karakter terpendek yaitu ℓ 2 displaystyle ell 2 nbsp kata ia zip3 ia tuk palu i t p a u a Definisi suntingMisalkan S adalah alfabet dan adalah simbol di luar S Misalkan x1x2 x x y1y2 y y z1z2 z z adalah n kata barisan berhingga yang tersusun dari anggota S Misalkan pula ℓ displaystyle ell nbsp adalah panjang maksimum kata yaitu maksimum dari x y z Hasil operasi zip dari kata kata tersebut adalah barisan berhingga dari rangkap n yang disusun dari anggota S dengan kata lain anggota dari S n x 1 y 1 z 1 x 2 y 2 z 2 x ℓ y ℓ z ℓ displaystyle x 1 y 1 z 1 ldots x 2 y 2 z 2 ldots ldots x ell y ell z ell ldots ldots nbsp dengan wi adalah untuk i gt w dan w adalah tiap kata Operasi zip terhadap x y z disimbolkan sebagai zip x y z atau x y z Inversi operasi zip disimbolkan sebagai unzip Variasi operasi zip yang hanya mengembalikan dengan panjang minimum kata bisa didefinisikan sebagai berikut x 1 y 1 z 1 x 2 y 2 z 2 x ℓ y ℓ z ℓ displaystyle x 1 y 1 z 1 ldots x 2 y 2 z 2 ldots ldots x underline ell y underline ell z underline ell ldots nbsp dengan ℓ displaystyle underline ell nbsp adalah panjang minimum dari kata kata yang diberikan Variasi ini menghindari anggota tambahan tetapi menghapus informasi tentang barisan masukan setelah ke ℓ displaystyle underline ell nbsp Dalam bahasa pemrograman suntingFungsi zip tersedia dalam beberapa bahasa pemrograman dan biasa disebut zip Dalam dialek Lisp operasi zip bisa dilakukan dengan fungsi map yang diterapkan terhadap daftar yang diinginkan Fungsi map dalam Lisp bersifat variadik sehingga bisa menerima banyak argumen Berikut contoh dalam bahasa Clojure 1 bilangan berisi daftar bilangan sampai tak hingga 0 1 2 3 def bilangan range def puluhan 10 20 30 def namadepan Milea Untuk zip 0 1 2 3 dan 10 20 30 ke dalam vector panggil map vector terhadapnya begitu pula untuk list map vector bilangan puluhan 0 10 1 20 2 30 map list bilangan puluhan 0 10 1 20 2 30 map str bilangan puluhan 010 120 230 map memotong sampai barisan terpendek perhatikan e dan a dari Milea map vector bilangan puluhan namadepan 0 10 M 1 20 i 2 30 l map str bilangan puluhan namadepan 010M 120i 230l Untuk unzip terapkan map vector atau map list apply map list map vector bilangan puluhan namadepan 0 1 2 10 20 30 M i l Bahasa bahasa seperti Python memberikan fungsi zip Python versi lawas 2 x membolehkan pemetaan dengan None untuk menghasilkan efek yang sama 2 Fungsi zip dengan melakukan operasi unzip 3 Contoh berikut berlaku untuk Python 2 x Terdapat perbedaan antara versi 2 dan 3 terhadap hasil dari fungsi zip yaitu sebagai daftar versi 2 dan objek malas versi 3 gt gt gt bilangan 1 2 3 gt gt gt puluhan 10 20 30 gt gt gt namadepan Milea gt gt gt zipped zip bilangan puluhan gt gt gt zipped 1 10 2 20 3 30 gt gt gt zip zipped unzip 1 2 3 10 20 30 gt gt gt zipped2 zip bilangan puluhan list namadepan gt gt gt zipped2 zip memangkas sampai yang paling pendek 1 10 M 2 20 i 3 30 l gt gt gt zip zipped2 unzip 1 2 3 10 20 30 M i l gt gt gt pemetaan dengan None tidak memangkasnya dianggap usang dalam Python 3 gt gt gt map None bilangan puluhan list namadepan 1 10 M 2 20 i 3 30 l None None e None None a Haskell memiliki metode untuk operasi zip tetapi wajib menggunakan fungsi khusus untuk tiap ariti misal zip untuk dua daftar zip3 untuk tiga daftar dst selain itu fungsi unzip dan unzip3 juga tersedia untuk operasi unzip 4 nums berisi daftar bilangan sampai tak hingga 1 2 3 bilangan 1 puluhan 10 20 30 namadepan Milea zip bilangan puluhan 1 10 2 20 3 30 zip memangkas daftar tak hingga unzip zip bilangan puluhan 1 2 3 10 20 30 unzip zip3 bilangan puluhan namadepan 1 10 M 2 20 i 3 30 l zip memangkas unzip3 zip3 bilangan puluhan namadepan 1 2 3 10 20 30 Mil unzipPerbandingan bahasa suntingBerikut daftar bahasa yang mendukung operasi zip Zip dalam beragam bahasa Bahasa Zip Zip 3 daftar Zip n daftar Catatan Chapel span class k zip span span class w span span class p span span class nx iter1 span span class w span span class nx iter2 span span class p span span class k zip span span class w span span class p span span class nx iter1 span span class w span span class nx iter2 span span class w span span class nx iter3 span span class p span span class k zip span span class w span span class p span span class nx iter1 span span class w span span class o span span class p span span class w span span class nx itern span span class p span Ukuran tiap iterator wajib sama persis 5 Clojure span class p span span class nb map list span span class nv daftar1 span span class w span span class nv daftar2 span span class p span span class p span span class nb map vector span span class nv daftar1 span span class w span span class nv daftar2 span span class p span span class p span span class nb map list span span class nv daftar1 span span class w span span class nv daftar2 span span class w span span class nv list3 span span class p span span class p span span class nb map vector span span class nv daftar1 span span class w span span class nv daftar2 span span class w span span class nv daftar3 span span class p span span class p span span class nb map list span span class nv daftar1 span span class w span span class err span span class w span span class nv daftarn span span class p span span class p span span class nb map vector span span class nv daftar1 span span class w span span class err span span class w span span class nv daftarn span span class p span Berhenti setelah mencapai panjang daftar terpendek Common Lisp span class p span span class nb mapcar span span class w span span class nf span span class nb list span span class w span span class nv daftar1 span span class w span span class nv daftar2 span span class p span span class p span span class nb mapcar span span class w span span class nf span span class nb list span span class w span span class nv daftar1 span span class w span span class nv daftar2 span span class w span span class nv daftar3 span span class p span span class p span span class nb mapcar span span class w span span class nf span span class nb list span span class w span span class nv daftar1 span span class w span span class o span span class w span span class nv daftarn span span class p span Berhenti setelah mencapai panjang daftar terpendek D span class n zip span span class p span span class n rentang1 span span class p span span class w span span class n rentang2 span span class p span span class n rentang1 span span class p span span class n zip span span class p span span class n rentang2 span span class p span span class n zip span span class p span span class n rentang1 span span class p span span class w span span class n rentang2 span span class p span span class n range3 span span class p span span class n rentang1 span span class p span span class n zip span span class p span span class n rentang2 span span class p span span class w span span class n rentang3 span span class p span span class n zip span span class p span span class n rentang1 span span class p span span class w span span class err span span class p span span class w span span class n rentangN span span class p span span class n rentang1 span span class p span span class n zip span span class p span span class err span span class p span span class w span span class n rentangN span span class p span Kebijakan berhenti bawaannya adalah yang terpendek tetapi bisa disetel menjadi terpendek terpanjang atau wajib sama ukurannya 6 Bentuk kedua adalah contoh dari UFCS F span class nn List span span class p span span class n zip span span class w span span class n daftar1 span span class w span span class n daftar2 span span class nn Seq span span class p span span class n zip span span class w span span class n sumber1 span span class w span span class n sumber2 span span class nn Array span span class p span span class n zip span span class w span span class n larik1 span span class w span span class n larik2 span span class nn List span span class p span span class n zip3 span span class w span span class n daftar1 span span class w span span class n daftar2 span span class w span span class n daftar3 span span class nn Seq span span class p span span class n zip3 span span class w span span class n sumber1 span span class w span span class n sumber2 span span class w span span class n sumber3 span span class nn Array span span class p span span class n zip3 span span class w span span class n larik1 span span class w span span class n larik2 span span class w span span class n larik3 span Haskell span class nf zip span span class w span span class n daftar1 span span class w span span class n daftar2 span span class nf zip3 span span class w span span class n daftar1 span span class w span span class n daftar2 span span class w span span class n daftar3 span span class nf zipn span span class w span span class n daftar1 span span class w span span class err span span class w span span class n daftarn span span class nf zipn span untuk n gt 3 tersedia dalam modul span class kt Data span span class o span span class kt List span Berhenti setelah mencapai panjang daftar terpendek Python span class nb zip span span class p span span class n daftar1 span span class p span span class n daftar2 span span class p span span class nb zip span span class p span span class n daftar1 span span class p span span class n daftar2 span span class p span span class n daftar3 span span class p span span class nb zip span span class p span span class n daftar1 span span class p span span class err span span class p span span class n daftarn span span class p span span class nb zip span span class p span dan span class nb map span span class p span 3 x berhenti setelah mencapai panjang daftar terpendek sedangkan span class nb map span span class p span 2 x dan span class n itertools span span class o span span class n zip longest span span class p span 3 x memanjangkan daftar yang lebih pendek dengan isian span class kc None span Ruby span class n daftar1 span span class o span span class n zip span span class p span span class n daftar2 span span class p span span class n daftar1 span span class o span span class n zip span span class p span span class n daftar2 span span class p span span class w span span class n daftar3 span span class p span span class n daftar1 span span class o span span class n zip span span class p span span class n daftar1 span span class p span span class w span span class o span span class p span span class w span span class n daftarn span span class p span Hasilnya sepanjang daftar1 yang dikenai fungsi zip Nilai span class kp nil span akan dipakai untuk mengisi nilai yang kosong 7 Scala span class n daftar1 span span class p span span class n zip span span class p span span class n daftar2 span span class p span Berhenti setelah mencapai panjang daftar terpendek 8 Unzip dalam beragam bahasa Bahasa Unzip Unzip 3 rangkap Unzip n rangkap Catatan Clojure span class p span span class nb apply map vector span span class nv hasilzip span span class p span span class p span span class nb apply map vector span span class nv hasilzip span span class p span span class p span span class nb apply map vector span span class nv hasilzip span span class p span Common Lisp span class p span span class nb apply span span class w span span class nf span span class nb mapcar span span class w span span class nf span span class nb list span span class w span span class nv hasilzip span span class p span span class p span span class nb apply span span class w span span class nf span span class nb mapcar span span class w span span class nf span span class nb list span span class w span span class nv hasilzip span span class p span span class p span span class nb apply span span class w span span class nf span span class nb mapcar span span class w span span class nf span span class nb list span span class w span span class nv hasilzip span span class p span F span class nn List span span class p span span class n unzip span span class w span span class n daftar1 span span class w span span class n daftar2 span span class nn Seq span span class p span span class n unzip span span class w span span class n sumber1 span span class w span span class n sumber2 span span class nn Array span span class p span span class n unzip span span class w span span class n larik1 span span class w span span class n larik2 span span class nn List span span class p span span class n unzip3 span span class w span span class n daftar1 span span class w span span class n daftar2 span span class w span span class n daftar3 span span class nn Seq span span class p span span class n unzip3 span span class w span span class n sumber1 span span class w span span class n sumber2 span span class w span span class n sumber3 span span class nn Array span span class p span span class n unzip3 span span class w span span class n larik1 span span class w span span class n larik2 span span class w span span class n larik3 span Haskell span class nf unzip span span class w span span class n hasilzip span span class nf unzip3 span span class w span span class n hasilzip span span class nf unzipn span span class w span span class n hasilzip span span class nf unzipn span untuk n gt 3 tersedia dalam modul span class kt Data span span class o span span class kt List span Python span class nb zip span span class p span span class o span span class n hasilzip span span class p span span class nb zip span span class p span span class o span span class n hasilzip span span class p span span class nb zip span span class p span span class o span span class n hasilzip span span class p span Lihat pula suntingMap fungsi tingkat tinggi Referensi sunting map ClojureDocs dalam bahasa Inggris Diakses tanggal 17 Mei 2023 2 Built in Functions Python 2 7 18 documentation dalam bahasa Inggris Diakses tanggal 17 Mei 2023 Built in Functions Python 3 11 3 documentation dalam bahasa Inggris Diakses tanggal 17 Mei 2023 Prelude zip a gt b gt a b Haskell Hackage dalam bahasa Inggris Diakses tanggal 17 Mei 2023 Zippered Iteration Statements Chapel Documentation 1 30 dalam bahasa Inggris Diakses tanggal 17 Mei 2023 std range D Programming Language dalam bahasa Inggris Diakses tanggal 17 Mei 2023 Class Array Ruby 3 1 0 dalam bahasa Inggris Diakses tanggal 17 Mei 2023 scala collection IterableOps Scala Standard Library 2 13 10 dalam bahasa Inggris Diakses tanggal 17 Mei 2023 Diperoleh dari https id wikipedia org w index php title Zip ilmu komputer amp oldid 23495670